@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
@@ -1,16 +1,19 @@
1
1
  import { supportsUploadFeature } from '../../api/EmojiResource';
2
2
  import { uploadFailedEvent, uploadSucceededEvent } from '../../util/analytics';
3
3
  import { messages } from '../i18n';
4
+ import { ufoExperiences } from '../../util/analytics/ufoExperiences';
4
5
  export var uploadEmoji = function uploadEmoji(upload, emojiProvider, errorSetter, onSuccess, fireAnalytics) {
5
6
  var startTime = Date.now();
6
7
  errorSetter(undefined);
7
8
 
8
9
  if (supportsUploadFeature(emojiProvider)) {
10
+ ufoExperiences['emoji-uploaded'].start();
9
11
  emojiProvider.uploadCustomEmoji(upload).then(function (emojiDescription) {
10
12
  fireAnalytics(uploadSucceededEvent({
11
13
  duration: Date.now() - startTime
12
14
  }));
13
15
  onSuccess(emojiDescription);
16
+ ufoExperiences['emoji-uploaded'].success();
14
17
  }).catch(function (err) {
15
18
  errorSetter(messages.emojiUploadFailed); // eslint-disable-next-line no-console
16
19
 
@@ -19,6 +22,7 @@ export var uploadEmoji = function uploadEmoji(upload, emojiProvider, errorSetter
19
22
  duration: Date.now() - startTime,
20
23
  reason: messages.emojiUploadFailed.defaultMessage
21
24
  }));
25
+ ufoExperiences['emoji-uploaded'].failure();
22
26
  });
23
27
  }
24
28
  };
@@ -1,19 +1,21 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- var _$nest, _$nest2, _$nest3, _$nest4, _$nest6, _$nest7, _$nest8, _$nest9, _$nest10, _$nest11;
3
+ var _css, _css2, _span, _css3, _css6, _input, _css7;
4
4
 
5
+ import { css } from '@emotion/core';
5
6
  import { borderRadius } from '@atlaskit/theme/constants';
6
- import * as colors from '@atlaskit/theme/colors';
7
7
  import { token } from '@atlaskit/tokens';
8
8
  import { defaultEmojiHeight } from '../../util/constants';
9
9
  import { akEmojiSelectedBackgroundColor } from '../../util/shared-styles';
10
- import { style } from 'typestyle';
11
- export var selected = 'emoji-common-selected';
12
- export var selectOnHover = 'emoji-common-select-on-hover';
10
+ import { N20, N200, N300, N900, R300, R400 } from '@atlaskit/theme/colors';
11
+ export var commonSelectedStyles = 'emoji-common-selected';
12
+ export var selectOnHoverStyles = 'emoji-common-select-on-hover';
13
13
  export var emojiSprite = 'emoji-common-emoji-sprite';
14
- export var emojiNode = 'emoji-common-node';
14
+ export var emojiNodeStyles = 'emoji-common-node';
15
15
  export var emojiImage = 'emoji-common-emoji-image';
16
- export var deleteButton = style({
16
+ export var emojiDeleteButton = 'emoji-common-deleteButton';
17
+ export var emojiMainStyle = 'emoji-common-main-styles';
18
+ export var deleteButton = css({
17
19
  // hide by default
18
20
  visibility: 'hidden',
19
21
  display: 'flex',
@@ -26,7 +28,13 @@ export var deleteButton = style({
26
28
  paddingTop: '4px',
27
29
  marginBottom: '-4px'
28
30
  });
29
- export var emoji = style({
31
+ export var emojiToneSelectorContainer = css({
32
+ flex: 1,
33
+ display: 'flex',
34
+ justifyContent: 'flex-end',
35
+ padding: '8px 10px 8px 0'
36
+ });
37
+ export var emojiStyles = css((_css = {
30
38
  borderRadius: '5px',
31
39
  backgroundColor: 'transparent',
32
40
  display: 'inline-block',
@@ -34,173 +42,132 @@ export var emoji = style({
34
42
  // Ensure along with vertical align middle, we don't increase the line height for p and some
35
43
  // headings. Smaller headings get a slight increase in height, cannot add more negative margin
36
44
  // as a "selected" emoji (e.g. in the editor) will not look good.
37
- margin: '-1px 0',
38
- $nest: (_$nest = {}, _defineProperty(_$nest, "&.".concat(selected, ",&.").concat(selectOnHover, ":hover"), {
39
- backgroundColor: akEmojiSelectedBackgroundColor
40
- }), _defineProperty(_$nest, "&.".concat(selected, ",&.").concat(selectOnHover, ":hover .").concat(deleteButton), {
41
- // show delete button on hover
42
- visibility: 'visible'
43
- }), _defineProperty(_$nest, "img", {
44
- display: 'block'
45
- }), _$nest)
46
- });
47
- export var emojiContainer = style({
45
+ margin: '-1px 0'
46
+ }, _defineProperty(_css, "&.".concat(commonSelectedStyles, ",&.").concat(selectOnHoverStyles, ":hover"), {
47
+ backgroundColor: akEmojiSelectedBackgroundColor
48
+ }), _defineProperty(_css, "&.".concat(commonSelectedStyles, ",&.").concat(selectOnHoverStyles, ":hover .").concat(emojiDeleteButton), {
49
+ // show delete button on hover
50
+ visibility: 'visible'
51
+ }), _defineProperty(_css, "img", {
52
+ display: 'block'
53
+ }), _css));
54
+ export var emojiContainer = css((_css2 = {
48
55
  display: 'inline-block',
49
56
  // Ensure along with vertical align middle, we don't increase the line height for h1..h6, and p
50
- margin: '-1px 0',
51
- $nest: (_$nest2 = {}, _defineProperty(_$nest2, "&.".concat(selected, ",&.").concat(selectOnHover, ":hover"), {
52
- backgroundColor: akEmojiSelectedBackgroundColor
53
- }), _defineProperty(_$nest2, ".".concat(emojiSprite), {
54
- background: 'transparent no-repeat',
55
- display: 'inline-block',
56
- verticalAlign: 'middle',
57
- height: "".concat(defaultEmojiHeight, "px"),
58
- width: "".concat(defaultEmojiHeight, "px")
59
- }), _$nest2)
60
- });
57
+ margin: '-1px 0'
58
+ }, _defineProperty(_css2, "&.".concat(commonSelectedStyles, ",&.").concat(selectOnHoverStyles, ":hover"), {
59
+ backgroundColor: akEmojiSelectedBackgroundColor
60
+ }), _defineProperty(_css2, ".".concat(emojiSprite), {
61
+ background: 'transparent no-repeat',
62
+ display: 'inline-block',
63
+ verticalAlign: 'middle',
64
+ minHeight: "".concat(defaultEmojiHeight, "px"),
65
+ minWidth: "".concat(defaultEmojiHeight, "px")
66
+ }), _css2));
61
67
  export var placeholder = 'emoji-common-placeholder';
62
- export var placeholderContainer = style({
68
+ export var placeholderContainer = css({
63
69
  // Ensure no vertical reflow
64
70
  margin: '-1px 0',
65
71
  display: 'inline-block',
66
- background: '#f7f7f7',
72
+ background: token('color.border', '#f7f7f7'),
67
73
  borderRadius: '20%',
68
74
  verticalAlign: 'middle',
69
75
  whiteSpace: 'nowrap'
70
76
  });
71
- export var placeholderEmoji = style({
72
- display: 'inline-block',
73
- verticalAlign: 'middle',
74
- whiteSpace: 'nowrap'
75
- });
76
- export var emojiButton = style({
77
+ export var emojiButton = css((_css3 = {
77
78
  backgroundColor: 'transparent',
78
79
  border: '0',
79
80
  cursor: 'pointer',
80
- padding: 0,
81
- $nest: (_$nest4 = {}, _defineProperty(_$nest4, '&::-moz-focus-inner', {
82
- border: '0 none',
83
- padding: 0
84
- }), _defineProperty(_$nest4, '&>span', {
85
- borderRadius: '5px',
86
- padding: '8px',
87
- $nest: (_$nest3 = {}, _defineProperty(_$nest3, "&>.".concat(emojiSprite), {
88
- height: '24px',
89
- width: '24px'
90
- }), _defineProperty(_$nest3, "&>img", {
91
- height: '24px',
92
- width: '24px'
93
- }), _$nest3)
94
- }), _$nest4)
95
- });
96
- export var hiddenToneButton = style({
81
+ padding: 0
82
+ }, _defineProperty(_css3, '&::-moz-focus-inner', {
83
+ border: '0 none',
84
+ padding: 0
85
+ }), _defineProperty(_css3, '&>span', (_span = {
86
+ borderRadius: '5px',
87
+ padding: '8px'
88
+ }, _defineProperty(_span, "&>.".concat(emojiSprite), {
89
+ height: '24px',
90
+ width: '24px'
91
+ }), _defineProperty(_span, "&>img", {
92
+ height: '24px',
93
+ width: '24px'
94
+ }), _span)), _css3));
95
+ export var hiddenToneButton = css({
97
96
  // Hide currently selected tone that rendered in the ToneSelector to avoid duplication
98
- // Set $ unique: true to be able to apply the ccs property to an element as described here https://github.com/typestyle/typestyle/issues/253
99
- display: 'none',
100
- $unique: true
97
+ display: 'none'
101
98
  }); // Emoji Preview
102
99
 
103
100
  export var buttons = 'emoji-common-buttons';
104
- export var preview = 'emoji-common-preview';
105
- export var previewImg = 'emoji-common-preview-image';
106
- export var previewText = 'emoji-common-preview-text';
107
- export var name = 'emoji-common-name';
108
- export var shortName = 'emoji-common-shortname';
109
- export var previewSingleLine = 'emoji-common-preview-single-line';
110
101
  export var toneSelectorContainer = 'emoji-common-tone-selector-container';
111
- export var emojiPreviewSection = 'emoji-preview-section';
112
- export var emojiPreview = style({
102
+ export var emojiPickerAddEmoji = 'emoji-picker-add-emoji';
103
+ export var previewText = css({
113
104
  display: 'flex',
114
- height: '50px',
115
- boxSizing: 'border-box',
116
- $nest: (_$nest9 = {}, _defineProperty(_$nest9, ".".concat(preview), {
117
- display: 'flex',
118
- flexDirection: 'row',
119
- flexWrap: 'nowrap',
120
- padding: '10px',
121
- $nest: (_$nest8 = {}, _defineProperty(_$nest8, ".".concat(emojiSprite), {
122
- height: '32px',
123
- margin: '0',
124
- width: '32px'
125
- }), _defineProperty(_$nest8, ".".concat(previewImg), {
126
- display: 'inline-block',
127
- flex: 'initial',
128
- width: '32px',
129
- $nest: {
130
- '&>span': {
131
- width: '32px',
132
- height: '32px',
133
- padding: 0,
134
- maxHeight: 'inherit',
135
- $nest: {
136
- '&>img': {
137
- position: 'relative',
138
- left: '50%',
139
- top: '50%',
140
- transform: 'translateX(-50%) translateY(-50%)',
141
- maxHeight: '32px',
142
- maxWidth: '32px',
143
- padding: 0,
144
- display: 'block'
145
- }
146
- }
147
- }
148
- }
149
- }), _defineProperty(_$nest8, ".".concat(previewText), {
150
- display: 'flex',
151
- flexDirection: 'column',
152
- marginLeft: '10px',
153
- marginTop: '-2px',
154
- maxWidth: '285px',
155
- width: '285px'
156
- /* IE */
157
- ,
158
- flexGrow: 1,
159
- flexShrink: 1,
160
- $nest: (_$nest6 = {}, _defineProperty(_$nest6, ".".concat(name), {
161
- display: 'block',
162
- color: token('color.text', colors.N900),
163
- overflow: 'hidden',
164
- textOverflow: 'ellipsis',
165
- whiteSpace: 'nowrap',
166
- $nest: _defineProperty({}, '&:first-letter', {
167
- textTransform: 'uppercase'
168
- })
169
- }), _defineProperty(_$nest6, ".".concat(shortName), {
170
- display: 'block',
171
- color: token('color.text.subtle', colors.N200),
172
- fontSize: '12px',
173
- lineHeight: 1,
174
- marginBottom: '-2px',
175
- overflow: 'hidden',
176
- paddingBottom: '2px',
177
- textOverflow: 'ellipsis',
178
- whiteSpace: 'nowrap'
179
- }), _$nest6)
180
- }), _defineProperty(_$nest8, ".".concat(previewSingleLine), {
181
- paddingTop: '10px',
182
- $nest: (_$nest7 = {}, _defineProperty(_$nest7, ".".concat(name), {
183
- display: 'none'
184
- }), _defineProperty(_$nest7, ".".concat(shortName), {
185
- color: token('color.text', colors.N900),
186
- fontSize: '14px'
187
- }), _$nest7)
188
- }), _$nest8)
189
- }), _defineProperty(_$nest9, ".".concat(previewText), {
190
- maxWidth: '235px',
191
- width: '235px'
192
- /* IE */
193
-
194
- }), _$nest9)
105
+ flexDirection: 'column',
106
+ alignSelf: 'center',
107
+ marginTop: '-2px',
108
+ marginLeft: '10px',
109
+ maxWidth: '285px',
110
+ width: '285px'
111
+ /* IE */
112
+ ,
113
+ flexGrow: 1,
114
+ flexShrink: 1
195
115
  });
196
- export var emojiToneSelectorContainer = style({
197
- flex: 1,
116
+ export var emojiName = css(_defineProperty({
117
+ display: 'block',
118
+ color: token('color.text', N900),
119
+ overflow: 'hidden',
120
+ textOverflow: 'ellipsis',
121
+ whiteSpace: 'nowrap'
122
+ }, '&:first-letter', {
123
+ textTransform: 'uppercase'
124
+ }));
125
+ export var emojiShortName = css(_defineProperty({
126
+ display: 'block',
127
+ color: token('color.text.subtle', N200),
128
+ fontSize: '12px',
129
+ lineHeight: 1,
130
+ marginBottom: '-2px',
131
+ overflow: 'hidden',
132
+ paddingBottom: '2px',
133
+ textOverflow: 'ellipsis',
134
+ whiteSpace: 'nowrap'
135
+ }, '&:first-of-type', {
136
+ color: token('color.text', N900),
137
+ fontSize: '14px'
138
+ }));
139
+ export var preview = css({
198
140
  display: 'flex',
199
- justifyContent: 'flex-end',
200
- padding: '8px 10px 8px 0'
141
+ flexDirection: 'row',
142
+ flexWrap: 'nowrap',
143
+ padding: '10px'
144
+ });
145
+ export var previewImg = css((_css6 = {
146
+ display: 'inline-block',
147
+ flex: 'initial',
148
+ width: '32px'
149
+ }, _defineProperty(_css6, "& .".concat(emojiSprite, ", > span"), {
150
+ width: '32px',
151
+ height: '32px',
152
+ padding: 0,
153
+ maxHeight: 'inherit'
154
+ }), _defineProperty(_css6, "& > span > img", {
155
+ position: 'relative',
156
+ left: '50%',
157
+ top: '50%',
158
+ transform: 'translateX(-50%) translateY(-50%)',
159
+ maxHeight: '32px',
160
+ maxWidth: '32px',
161
+ padding: 0,
162
+ display: 'block'
163
+ }), _css6));
164
+ export var emojiPreview = css({
165
+ display: 'flex',
166
+ height: '50px',
167
+ boxSizing: 'border-box'
201
168
  }); // Scrollable
202
169
 
203
- export var emojiScrollable = style({
170
+ export var emojiScrollable = css({
204
171
  border: "1px solid ".concat(token('color.border', '#fff')),
205
172
  borderRadius: "".concat(borderRadius(), "px"),
206
173
  display: 'block',
@@ -210,186 +177,169 @@ export var emojiScrollable = style({
210
177
  padding: '0'
211
178
  }); // EmojiUpload
212
179
 
213
- export var emojiUpload = style({
180
+ export var emojiUpload = css({
214
181
  height: '78px',
215
182
  padding: '10px',
216
183
  display: 'flex',
217
184
  flexDirection: 'column',
218
185
  justifyContent: 'space-around'
219
186
  });
220
- export var uploadChooseFileMessage = style({
221
- color: token('color.text.subtle', colors.N300),
187
+ export var uploadChooseFileMessage = css({
188
+ color: token('color.text.subtle', N300),
222
189
  fontSize: '12px',
223
190
  paddingBottom: '7px'
224
191
  });
225
- export var emojiUploadBottom = style({
192
+ export var emojiUploadBottom = css({
226
193
  fontSize: '11px'
227
194
  });
228
- export var uploadChooseFileRow = style({
195
+ export var uploadChooseFileRow = css({
229
196
  display: 'flex',
230
197
  justifyContent: 'space-between'
231
198
  });
232
- export var uploadChooseFileEmojiName = style({
199
+ export var uploadChooseFileEmojiName = css({
233
200
  flex: '1 1 auto',
234
201
  marginRight: '5px',
235
- $nest: {
236
- input: {
237
- background: 'transparent',
238
- border: 0,
239
- outline: 'none',
240
- $nest: (_$nest10 = {}, _defineProperty(_$nest10, '&:invalid', {
241
- boxShadow: 'none'
242
- }), _defineProperty(_$nest10, '&::-ms-clear', {
243
- display: 'none'
244
- }), _$nest10)
245
- }
246
- }
202
+ input: (_input = {
203
+ background: 'transparent',
204
+ border: 0,
205
+ outline: 'none'
206
+ }, _defineProperty(_input, '&:invalid', {
207
+ boxShadow: 'none'
208
+ }), _defineProperty(_input, '&::-ms-clear', {
209
+ display: 'none'
210
+ }), _input)
247
211
  });
248
- export var uploadChooseFileBrowse = style({
212
+ export var uploadChooseFileBrowse = css({
249
213
  flex: '0 0 auto'
250
214
  });
251
- export var uploadPreviewFooter = style({
215
+ export var uploadPreviewFooter = css({
252
216
  display: 'flex',
253
217
  flexDirection: 'column',
254
218
  height: '100px',
255
219
  padding: '10px'
256
220
  });
257
- export var uploadPreview = style({
221
+ export var uploadPreview = css({
258
222
  display: 'flex',
259
223
  justifyContent: 'space-between',
260
224
  alignItems: 'center',
261
- background: token('color.background.neutral', colors.N20),
225
+ background: token('color.background.neutral', N20),
262
226
  borderRadius: "".concat(borderRadius(), "px"),
263
227
  padding: '10px'
264
228
  });
265
- export var uploadPreviewText = style({
266
- $nest: {
267
- h5: {
268
- color: token('color.text.subtle', colors.N300),
269
- paddingBottom: '4px',
270
- fontSize: '12px'
271
- },
272
- img: {
273
- maxHeight: '20px',
274
- maxWidth: '50px'
275
- }
229
+ export var uploadPreviewText = css({
230
+ h5: {
231
+ color: token('color.text.subtle', N300),
232
+ paddingBottom: '4px',
233
+ fontSize: '12px'
234
+ },
235
+ img: {
236
+ maxHeight: '20px',
237
+ maxWidth: '50px'
276
238
  }
277
239
  });
278
- export var bigEmojiPreview = style({
240
+ export var bigEmojiPreview = css({
279
241
  paddingLeft: '4px',
280
- $nest: {
281
- img: {
282
- maxHeight: '40px',
283
- maxWidth: '100px'
284
- }
242
+ img: {
243
+ maxHeight: '40px',
244
+ maxWidth: '100px'
285
245
  }
286
246
  });
287
- export var uploadAddRow = style({
247
+ export var uploadAddRow = css({
288
248
  display: 'flex',
289
249
  justifyContent: 'flex-end',
290
250
  alignItems: 'center',
291
251
  paddingTop: '10px'
292
252
  });
293
- export var AddCustomEmoji = style({
253
+ export var addCustomEmoji = css({
294
254
  alignSelf: 'center',
295
255
  marginLeft: '10px',
296
256
  marginBottom: '10px'
297
257
  }); // Emoji Delete preview
298
258
 
299
259
  export var submitDelete = 'emoji-submit-delete';
300
- export var previewButtonGroup = 'emoji-preview-button-group';
301
- export var deletePreview = style({
260
+ export var deletePreview = css({
302
261
  height: '100px',
303
262
  padding: '10px',
304
263
  display: 'flex',
305
264
  flexDirection: 'column',
306
265
  justifyContent: 'flex-end'
307
266
  });
308
- export var deleteText = style({
267
+ export var deleteText = css({
309
268
  height: '64px',
310
269
  fontSize: '12px',
311
- $nest: {
312
- ':first-child': {
313
- color: token('color.text.subtle', colors.N300),
314
- lineHeight: '16px'
315
- }
270
+ '&:first-of-type': {
271
+ color: token('color.text.subtle', N300),
272
+ lineHeight: '16px'
316
273
  }
317
274
  });
318
- export var deleteFooter = style({
275
+ export var previewButtonGroup = css({
276
+ display: 'flex'
277
+ });
278
+ export var deleteFooter = css((_css7 = {
319
279
  display: 'flex',
320
280
  height: '40px',
321
281
  alignItems: 'center',
322
282
  justifyContent: 'space-between',
323
- $nest: (_$nest11 = {
324
- img: {
325
- maxHeight: '32px',
326
- maxWidth: '72px'
327
- }
328
- }, _defineProperty(_$nest11, ".".concat(previewButtonGroup), {
283
+ img: {
284
+ maxHeight: '32px',
285
+ maxWidth: '72px'
286
+ }
287
+ }, _defineProperty(_css7, ".".concat(submitDelete), {
288
+ width: '84px',
289
+ fontWeight: 'bold',
290
+ marginRight: '4px'
291
+ }), _defineProperty(_css7, "button", {
292
+ display: 'flex',
293
+ justifyContent: 'center',
294
+ fontSize: '14px',
295
+ div: {
329
296
  display: 'flex'
330
- }), _defineProperty(_$nest11, ".".concat(submitDelete), {
331
- width: '84px',
332
- fontWeight: 'bold',
333
- marginRight: '4px'
334
- }), _defineProperty(_$nest11, "button", {
335
- display: 'flex',
336
- justifyContent: 'center',
337
- fontSize: '14px',
338
- $nest: {
339
- div: {
340
- display: 'flex'
341
- }
342
- }
343
- }), _$nest11)
344
- });
345
- export var emojiDeleteErrorMessage = style({
297
+ }
298
+ }), _css7));
299
+ export var emojiDeleteErrorMessage = css({
346
300
  display: 'flex',
347
- color: token('color.text.danger', colors.R400),
301
+ color: token('color.text.danger', R400),
348
302
  alignItems: 'center',
349
303
  justifyContent: 'flex-end',
350
304
  paddingRight: '4px'
351
305
  });
352
- export var emojiChooseFileErrorMessage = style({
306
+ export var emojiChooseFileErrorMessage = css({
353
307
  display: 'flex',
354
- color: token('color.text.danger', colors.R300),
308
+ color: token('color.text.danger', R300),
355
309
  paddingRight: '10px',
356
310
  justifyContent: 'flex-start'
357
311
  });
358
- export var emojiPreviewErrorMessage = style({
312
+ export var emojiPreviewErrorMessage = css({
359
313
  display: 'inline-flex',
360
- color: token('color.text.danger', colors.R400),
314
+ color: token('color.text.danger', R400),
361
315
  paddingRight: '10px',
362
316
  justifyContent: 'flex-end',
363
317
  alignItems: 'center'
364
318
  });
365
- export var addCustomEmojiButton = style({
319
+ export var addCustomEmojiButton = css({
366
320
  maxWidth: '285px'
367
321
  });
368
- export var uploadRetryButton = style({
322
+ export var uploadRetryButton = css({
369
323
  maxWidth: '172px',
370
324
  justifyContent: 'center',
371
325
  fontWeight: 'bold',
372
326
  marginRight: '4px',
373
- $nest: {
374
- div: {
375
- display: 'flex'
376
- }
327
+ div: {
328
+ display: 'flex'
377
329
  }
378
330
  });
379
- export var uploadEmojiButton = style({
331
+ export var uploadEmojiButton = css({
380
332
  maxWidth: '187px',
381
333
  justifyContent: 'center',
382
334
  marginRight: '4px',
383
- $nest: {
384
- div: {
385
- display: 'flex'
386
- }
335
+ div: {
336
+ display: 'flex'
387
337
  }
388
338
  });
389
- export var cancelButton = style({
339
+ export var cancelButton = css({
390
340
  maxWidth: '100px'
391
341
  });
392
- export var buttonSpinner = style({
342
+ export var buttonSpinner = css({
393
343
  marginRight: '10px',
394
344
  marginLeft: '10px'
395
345
  });
@@ -10,14 +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 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 { injectIntl } from 'react-intl-next';
17
18
  import { defaultCategories } from '../../util/constants';
18
19
  import { messages } from '../i18n';
19
20
  import { CategoryDescriptionMap } from './categories';
20
- import * as styles from './styles';
21
+ import { active, categorySelector, disable, categoryStyles } from './styles';
21
22
  export var sortCategories = function sortCategories(c1, c2) {
22
23
  return CategoryDescriptionMap[c1].order - CategoryDescriptionMap[c2].order;
23
24
  };
@@ -96,37 +97,38 @@ var CategorySelector = /*#__PURE__*/function (_PureComponent) {
96
97
 
97
98
  if (categories) {
98
99
  var formatMessage = intl.formatMessage;
99
- categoriesSection = /*#__PURE__*/React.createElement("ul", null, categories.map(function (categoryId) {
100
+ categoriesSection = jsx("ul", null, categories.map(function (categoryId) {
100
101
  var category = CategoryDescriptionMap[categoryId];
101
- var categoryClasses = [styles.category];
102
+ var categoryClasses = [categoryStyles];
102
103
 
103
104
  if (categoryId === _this2.props.activeCategoryId) {
104
- categoryClasses.push(styles.active);
105
+ categoryClasses.push(active);
105
106
  }
106
107
 
107
108
  if (disableCategories) {
108
- categoryClasses.push(styles.disable);
109
+ categoryClasses.push(disable);
109
110
  }
110
111
 
111
112
  var Icon = category.icon;
112
113
  var categoryName = formatMessage(messages[category.name]);
113
- return /*#__PURE__*/React.createElement("li", {
114
+ return jsx("li", {
114
115
  key: category.id
115
- }, /*#__PURE__*/React.createElement("button", {
116
+ }, jsx("button", {
116
117
  "aria-label": categoryName,
117
118
  "data-category-id": category.id,
118
- className: classNames(categoryClasses),
119
+ disabled: disableCategories,
120
+ css: categoryClasses,
119
121
  onClick: _this2.onClick,
120
122
  title: categoryName,
121
123
  type: "button"
122
- }, /*#__PURE__*/React.createElement(Icon, {
124
+ }, jsx(Icon, {
123
125
  label: categoryName
124
126
  })));
125
127
  }));
126
128
  }
127
129
 
128
- return /*#__PURE__*/React.createElement("div", {
129
- className: classNames([styles.categorySelector])
130
+ return jsx("div", {
131
+ css: categorySelector
130
132
  }, categoriesSection);
131
133
  }
132
134
  }]);