@atlaskit/emoji 67.0.7 → 67.1.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 (140) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/api/EmojiResource.js +12 -1
  3. package/dist/cjs/components/common/EmojiActions.js +2 -2
  4. package/dist/cjs/components/hooks.js +8 -5
  5. package/dist/cjs/components/picker/EmojiPickerComponent.js +23 -40
  6. package/dist/cjs/components/picker/EmojiPickerList.js +20 -43
  7. package/dist/cjs/components/picker/EmojiPickerListSearch.js +53 -117
  8. package/dist/cjs/components/picker/VirtualList.js +100 -180
  9. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +0 -10
  10. package/dist/cjs/i18n/cs.js +35 -34
  11. package/dist/cjs/i18n/da.js +35 -34
  12. package/dist/cjs/i18n/de.js +35 -34
  13. package/dist/cjs/i18n/en.js +35 -34
  14. package/dist/cjs/i18n/en_GB.js +35 -34
  15. package/dist/cjs/i18n/es.js +35 -34
  16. package/dist/cjs/i18n/fi.js +35 -34
  17. package/dist/cjs/i18n/fr.js +35 -34
  18. package/dist/cjs/i18n/hu.js +35 -34
  19. package/dist/cjs/i18n/it.js +35 -34
  20. package/dist/cjs/i18n/ja.js +35 -34
  21. package/dist/cjs/i18n/ko.js +35 -34
  22. package/dist/cjs/i18n/nb.js +35 -34
  23. package/dist/cjs/i18n/nl.js +35 -34
  24. package/dist/cjs/i18n/pl.js +35 -34
  25. package/dist/cjs/i18n/pt_BR.js +35 -34
  26. package/dist/cjs/i18n/ru.js +35 -34
  27. package/dist/cjs/i18n/sv.js +35 -34
  28. package/dist/cjs/i18n/th.js +35 -34
  29. package/dist/cjs/i18n/tr.js +35 -34
  30. package/dist/cjs/i18n/uk.js +35 -34
  31. package/dist/cjs/i18n/vi.js +35 -34
  32. package/dist/cjs/i18n/zh.js +35 -34
  33. package/dist/cjs/i18n/zh_TW.js +35 -34
  34. package/dist/cjs/types.js +7 -1
  35. package/dist/cjs/util/constants.js +4 -2
  36. package/dist/cjs/version.json +1 -1
  37. package/dist/es2019/api/EmojiResource.js +13 -2
  38. package/dist/es2019/components/common/EmojiActions.js +1 -1
  39. package/dist/es2019/components/hooks.js +7 -4
  40. package/dist/es2019/components/picker/EmojiPickerComponent.js +24 -41
  41. package/dist/es2019/components/picker/EmojiPickerList.js +17 -40
  42. package/dist/es2019/components/picker/EmojiPickerListSearch.js +51 -98
  43. package/dist/es2019/components/picker/VirtualList.js +71 -113
  44. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +0 -10
  45. package/dist/es2019/i18n/cs.js +35 -34
  46. package/dist/es2019/i18n/da.js +35 -34
  47. package/dist/es2019/i18n/de.js +35 -34
  48. package/dist/es2019/i18n/en.js +35 -34
  49. package/dist/es2019/i18n/en_GB.js +35 -34
  50. package/dist/es2019/i18n/es.js +35 -34
  51. package/dist/es2019/i18n/fi.js +35 -34
  52. package/dist/es2019/i18n/fr.js +35 -34
  53. package/dist/es2019/i18n/hu.js +35 -34
  54. package/dist/es2019/i18n/it.js +35 -34
  55. package/dist/es2019/i18n/ja.js +35 -34
  56. package/dist/es2019/i18n/ko.js +35 -34
  57. package/dist/es2019/i18n/nb.js +35 -34
  58. package/dist/es2019/i18n/nl.js +35 -34
  59. package/dist/es2019/i18n/pl.js +35 -34
  60. package/dist/es2019/i18n/pt_BR.js +35 -34
  61. package/dist/es2019/i18n/ru.js +35 -34
  62. package/dist/es2019/i18n/sv.js +35 -34
  63. package/dist/es2019/i18n/th.js +35 -34
  64. package/dist/es2019/i18n/tr.js +35 -34
  65. package/dist/es2019/i18n/uk.js +35 -34
  66. package/dist/es2019/i18n/vi.js +35 -34
  67. package/dist/es2019/i18n/zh.js +35 -34
  68. package/dist/es2019/i18n/zh_TW.js +35 -34
  69. package/dist/es2019/types.js +5 -0
  70. package/dist/es2019/util/constants.js +1 -0
  71. package/dist/es2019/version.json +1 -1
  72. package/dist/esm/api/EmojiResource.js +13 -2
  73. package/dist/esm/components/common/EmojiActions.js +1 -1
  74. package/dist/esm/components/hooks.js +7 -4
  75. package/dist/esm/components/picker/EmojiPickerComponent.js +24 -41
  76. package/dist/esm/components/picker/EmojiPickerList.js +21 -40
  77. package/dist/esm/components/picker/EmojiPickerListSearch.js +51 -117
  78. package/dist/esm/components/picker/VirtualList.js +99 -180
  79. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +0 -10
  80. package/dist/esm/i18n/cs.js +35 -34
  81. package/dist/esm/i18n/da.js +35 -34
  82. package/dist/esm/i18n/de.js +35 -34
  83. package/dist/esm/i18n/en.js +35 -34
  84. package/dist/esm/i18n/en_GB.js +35 -34
  85. package/dist/esm/i18n/es.js +35 -34
  86. package/dist/esm/i18n/fi.js +35 -34
  87. package/dist/esm/i18n/fr.js +35 -34
  88. package/dist/esm/i18n/hu.js +35 -34
  89. package/dist/esm/i18n/it.js +35 -34
  90. package/dist/esm/i18n/ja.js +35 -34
  91. package/dist/esm/i18n/ko.js +35 -34
  92. package/dist/esm/i18n/nb.js +35 -34
  93. package/dist/esm/i18n/nl.js +35 -34
  94. package/dist/esm/i18n/pl.js +35 -34
  95. package/dist/esm/i18n/pt_BR.js +35 -34
  96. package/dist/esm/i18n/ru.js +35 -34
  97. package/dist/esm/i18n/sv.js +35 -34
  98. package/dist/esm/i18n/th.js +35 -34
  99. package/dist/esm/i18n/tr.js +35 -34
  100. package/dist/esm/i18n/uk.js +35 -34
  101. package/dist/esm/i18n/vi.js +35 -34
  102. package/dist/esm/i18n/zh.js +35 -34
  103. package/dist/esm/i18n/zh_TW.js +35 -34
  104. package/dist/esm/types.js +5 -0
  105. package/dist/esm/util/constants.js +1 -0
  106. package/dist/esm/version.json +1 -1
  107. package/dist/types/components/common/EmojiActions.d.ts +1 -1
  108. package/dist/types/components/hooks.d.ts +1 -1
  109. package/dist/types/components/picker/CategoryTracker.d.ts +2 -2
  110. package/dist/types/components/picker/EmojiPickerList.d.ts +4 -2
  111. package/dist/types/components/picker/EmojiPickerListSearch.d.ts +3 -8
  112. package/dist/types/components/picker/VirtualList.d.ts +5 -24
  113. package/dist/types/i18n/cs.d.ts +34 -34
  114. package/dist/types/i18n/da.d.ts +34 -34
  115. package/dist/types/i18n/de.d.ts +34 -34
  116. package/dist/types/i18n/en.d.ts +34 -34
  117. package/dist/types/i18n/en_GB.d.ts +34 -34
  118. package/dist/types/i18n/es.d.ts +34 -34
  119. package/dist/types/i18n/fi.d.ts +34 -34
  120. package/dist/types/i18n/fr.d.ts +34 -34
  121. package/dist/types/i18n/hu.d.ts +34 -34
  122. package/dist/types/i18n/it.d.ts +34 -34
  123. package/dist/types/i18n/ja.d.ts +34 -34
  124. package/dist/types/i18n/ko.d.ts +34 -34
  125. package/dist/types/i18n/nb.d.ts +34 -34
  126. package/dist/types/i18n/nl.d.ts +34 -34
  127. package/dist/types/i18n/pl.d.ts +34 -34
  128. package/dist/types/i18n/pt_BR.d.ts +34 -34
  129. package/dist/types/i18n/ru.d.ts +34 -34
  130. package/dist/types/i18n/sv.d.ts +34 -34
  131. package/dist/types/i18n/th.d.ts +34 -34
  132. package/dist/types/i18n/tr.d.ts +34 -34
  133. package/dist/types/i18n/uk.d.ts +34 -34
  134. package/dist/types/i18n/vi.d.ts +34 -34
  135. package/dist/types/i18n/zh.d.ts +34 -34
  136. package/dist/types/i18n/zh_TW.d.ts +34 -34
  137. package/dist/types/types.d.ts +5 -0
  138. package/dist/types/util/constants.d.ts +1 -0
  139. package/package.json +5 -4
  140. package/report.api.md +10 -0
@@ -1,203 +1,123 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.virtualListScrollContainerTestId = exports.VirtualList = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
8
  var _react = require("@emotion/react");
17
- var _reactVirtual = require("@tanstack/react-virtual");
18
9
  var _react2 = _interopRequireWildcard(require("react"));
19
10
  var _styles = require("./styles");
11
+ var _reactVirtual = require("@tanstack/react-virtual");
20
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
23
- 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; } }
14
+ /** @jsx jsx */
15
+
24
16
  var virtualListScrollContainerTestId = 'virtual-list-scroll-container';
25
17
  exports.virtualListScrollContainerTestId = virtualListScrollContainerTestId;
26
- var VirtualList = /*#__PURE__*/function (_PureComponent) {
27
- (0, _inherits2.default)(VirtualList, _PureComponent);
28
- var _super = _createSuper(VirtualList);
29
- /**
30
- * Determine if the component is mounted to the DOM or not
31
- */
32
-
33
- function VirtualList(props) {
34
- var _this;
35
- (0, _classCallCheck2.default)(this, VirtualList);
36
- _this = _super.call(this, props);
37
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_isMounted", false);
38
- _this.parentRef = /*#__PURE__*/(0, _react2.createRef)();
39
- _this.rowVirtualizer = new _reactVirtual.Virtualizer(_this.getVirtualizerOptions(props));
40
- return _this;
41
- }
42
- (0, _createClass2.default)(VirtualList, [{
43
- key: "getVirtualizerOptions",
44
- value: function getVirtualizerOptions(props) {
45
- var _this2 = this;
46
- var rowCount = props.rowCount,
47
- rowHeight = props.rowHeight,
48
- overscanRowCount = props.overscanRowCount;
49
- return {
50
- observeElementRect: _reactVirtual.observeElementRect,
51
- observeElementOffset: _reactVirtual.observeElementOffset,
52
- scrollToFn: _reactVirtual.elementScroll,
53
- count: rowCount,
54
- getScrollElement: function getScrollElement() {
55
- return _this2.parentRef.current;
56
- },
57
- estimateSize: rowHeight,
58
- overscan: overscanRowCount,
59
- onChange: function onChange() {
60
- _this2.forceUpdateGrid();
61
- }
62
- };
63
- }
64
- }, {
65
- key: "isElementVisible",
66
- value: function isElementVisible(element) {
67
- var parent = this.parentRef.current;
68
- var elementRect = element.getBoundingClientRect();
69
- var parentRect = parent.getBoundingClientRect();
70
- var elemTop = elementRect.top;
71
- var elemBottom = elementRect.bottom;
72
- var parentTop = parentRect.top;
73
- var parentBottom = parentRect.bottom;
74
-
75
- // Only completely visible elements return true:
76
- var isVisible = elemTop >= parentTop && elemBottom <= parentBottom;
77
- return isVisible;
78
- }
79
- }, {
80
- key: "getFirstVisibleListElementIndex",
81
- value: function getFirstVisibleListElementIndex() {
82
- var _this$parentRef$curre,
83
- _this$parentRef$curre2,
84
- _this3 = this;
85
- var virtualList = this.rowVirtualizer.getVirtualItems();
86
- var renderedElements = (_this$parentRef$curre = this.parentRef.current) === null || _this$parentRef$curre === void 0 ? void 0 : (_this$parentRef$curre2 = _this$parentRef$curre.firstChild) === null || _this$parentRef$curre2 === void 0 ? void 0 : _this$parentRef$curre2.childNodes;
87
- if (virtualList.length === 0 || !renderedElements || renderedElements.length === 0) {
88
- return 0;
18
+ var VirtualList = /*#__PURE__*/_react2.default.forwardRef(function (props, ref) {
19
+ var parentRef = _react2.default.useRef(null);
20
+ var currentIndex = _react2.default.useRef(0);
21
+ var rowRenderer = props.rowRenderer,
22
+ onRowsRendered = props.onRowsRendered,
23
+ scrollToAlignment = props.scrollToAlignment,
24
+ width = props.width,
25
+ height = props.height;
26
+ var getVirtualizerOptions = function getVirtualizerOptions() {
27
+ var rowCount = props.rowCount,
28
+ rowHeight = props.rowHeight,
29
+ overscanRowCount = props.overscanRowCount;
30
+ return {
31
+ count: rowCount,
32
+ getScrollElement: function getScrollElement() {
33
+ return parentRef.current;
34
+ },
35
+ estimateSize: rowHeight,
36
+ overscan: overscanRowCount,
37
+ onChange: function onChange() {
38
+ var startIndex = getFirstVisibleListElementIndex();
39
+ onRowsRendered({
40
+ startIndex: startIndex
41
+ });
89
42
  }
43
+ };
44
+ };
45
+ var rowVirtualizer = (0, _reactVirtual.useVirtualizer)(getVirtualizerOptions());
46
+ var isElementVisible = function isElementVisible(element) {
47
+ var parent = parentRef.current;
48
+ var elementRect = element.getBoundingClientRect();
49
+ var parentRect = parent.getBoundingClientRect();
50
+ var elemTop = elementRect.top;
51
+ var elemBottom = elementRect.bottom;
52
+ var parentTop = parentRect.top;
53
+ var parentBottom = parentRect.bottom;
90
54
 
91
- // Convert NodeListOf<ChildNodes> to ChildNodes[]
92
- var renderedElementsToArray = Array.from(renderedElements);
93
- var firstVisibleIndex = renderedElementsToArray.findIndex(function (elem) {
94
- return _this3.isElementVisible(elem);
95
- });
96
- if (firstVisibleIndex !== -1) {
97
- var _virtualList$firstVis;
98
- return ((_virtualList$firstVis = virtualList[firstVisibleIndex]) === null || _virtualList$firstVis === void 0 ? void 0 : _virtualList$firstVis.index) || 0;
99
- }
55
+ // Only completely visible elements return true:
56
+ var isVisible = elemTop >= parentTop && elemBottom <= parentBottom;
57
+ return isVisible;
58
+ };
59
+ var getFirstVisibleListElementIndex = (0, _react2.useCallback)(function () {
60
+ var _parentRef$current, _parentRef$current$fi;
61
+ var virtualList = rowVirtualizer.getVirtualItems();
62
+ var renderedElements = (_parentRef$current = parentRef.current) === null || _parentRef$current === void 0 ? void 0 : (_parentRef$current$fi = _parentRef$current.firstChild) === null || _parentRef$current$fi === void 0 ? void 0 : _parentRef$current$fi.childNodes;
63
+ if (virtualList.length === 0 || !renderedElements || renderedElements.length === 0) {
100
64
  return 0;
101
65
  }
102
- }, {
103
- key: "onRendered",
104
- value: function onRendered() {
105
- var onRowsRendered = this.props.onRowsRendered;
106
- this.rowVirtualizer.setOptions(this.getVirtualizerOptions(this.props));
107
- var startIndex = this.getFirstVisibleListElementIndex();
108
- onRowsRendered({
109
- startIndex: startIndex
110
- });
111
- }
112
- }, {
113
- key: "componentDidUpdate",
114
- value: function componentDidUpdate() {
115
- this.onRendered();
66
+ // Convert NodeListOf<ChildNodes> to ChildNodes[]
67
+ var renderedElementsToArray = Array.from(renderedElements);
68
+ var firstVisibleIndex = renderedElementsToArray.findIndex(function (elem) {
69
+ return isElementVisible(elem);
70
+ });
71
+ if (firstVisibleIndex !== -1) {
72
+ var _virtualList$firstVis;
73
+ return ((_virtualList$firstVis = virtualList[firstVisibleIndex]) === null || _virtualList$firstVis === void 0 ? void 0 : _virtualList$firstVis.index) || 0;
116
74
  }
117
- }, {
118
- key: "componentDidMount",
119
- value: function componentDidMount() {
120
- if (this.rowVirtualizer) {
121
- this.rowVirtualizer._didMount();
122
- this.rowVirtualizer._willUpdate();
123
- this._isMounted = true;
124
- }
125
- }
126
- }, {
127
- key: "componentWillUnmount",
128
- value: function componentWillUnmount() {
129
- this._isMounted = false;
130
- }
131
- }, {
132
- key: "scrollToRow",
133
- value: function scrollToRow(index) {
134
- var scrollToAlignment = this.props.scrollToAlignment;
135
- if (index !== undefined) {
136
- var _this$rowVirtualizer;
137
- (_this$rowVirtualizer = this.rowVirtualizer) === null || _this$rowVirtualizer === void 0 ? void 0 : _this$rowVirtualizer.scrollToIndex(index, {
138
- align: scrollToAlignment,
139
- smoothScroll: false
140
- });
141
- this.forceUpdateGrid();
75
+ return 0;
76
+ }, [rowVirtualizer]);
77
+
78
+ // Exposing a custom ref handle to the parent component EmojiPickerList to trigger scrollToRow via the listRef
79
+ // https://beta.reactjs.org/reference/react/useImperativeHandle
80
+ (0, _react2.useImperativeHandle)(ref, function () {
81
+ return {
82
+ scrollToRow: function scrollToRow(index) {
83
+ // only scroll if row index is defined and has changed
84
+ if (index !== undefined && currentIndex.current !== index) {
85
+ currentIndex.current = index;
86
+ rowVirtualizer.scrollToIndex(index, {
87
+ align: scrollToAlignment,
88
+ smoothScroll: false
89
+ });
90
+ }
142
91
  }
92
+ };
93
+ }, [scrollToAlignment, rowVirtualizer]);
94
+ return (0, _react.jsx)("div", {
95
+ ref: parentRef,
96
+ role: "grid",
97
+ style: {
98
+ height: "".concat(height, "px"),
99
+ width: "".concat(width, "px")
100
+ },
101
+ css: _styles.virtualList,
102
+ "data-testid": virtualListScrollContainerTestId
103
+ }, (0, _react.jsx)("div", {
104
+ style: {
105
+ height: "".concat(rowVirtualizer.getTotalSize(), "px"),
106
+ width: '100%',
107
+ position: 'relative'
143
108
  }
144
- }, {
145
- key: "forceUpdateGrid",
146
- value: function forceUpdateGrid() {
147
- if (this._isMounted) {
148
- this.forceUpdate();
109
+ }, rowVirtualizer.getVirtualItems().map(function (virtualRow) {
110
+ return (0, _react.jsx)("div", {
111
+ key: virtualRow.key,
112
+ style: {
113
+ position: 'absolute',
114
+ top: 0,
115
+ left: 0,
116
+ width: '100%',
117
+ height: "".concat(virtualRow.size, "px"),
118
+ transform: "translateY(".concat(virtualRow.start, "px)")
149
119
  }
150
- }
151
- }, {
152
- key: "recomputeRowHeights",
153
- value: function recomputeRowHeights() {
154
- var _this$rowVirtualizer2;
155
- (_this$rowVirtualizer2 = this.rowVirtualizer) === null || _this$rowVirtualizer2 === void 0 ? void 0 : _this$rowVirtualizer2.measure();
156
- }
157
- }, {
158
- key: "handleScroll",
159
- value: function handleScroll(e) {
160
- e.preventDefault();
161
- }
162
- }, {
163
- key: "render",
164
- value: function render() {
165
- var _this$rowVirtualizer3, _this$rowVirtualizer4;
166
- var _this$props = this.props,
167
- rowRenderer = _this$props.rowRenderer,
168
- width = _this$props.width,
169
- height = _this$props.height;
170
- return (0, _react.jsx)("div", {
171
- ref: this.parentRef,
172
- role: "grid",
173
- style: {
174
- height: "".concat(height, "px"),
175
- width: "".concat(width, "px")
176
- },
177
- css: _styles.virtualList,
178
- "data-testid": virtualListScrollContainerTestId,
179
- onScroll: this.handleScroll
180
- }, (0, _react.jsx)("div", {
181
- style: {
182
- height: "".concat((_this$rowVirtualizer3 = this.rowVirtualizer) === null || _this$rowVirtualizer3 === void 0 ? void 0 : _this$rowVirtualizer3.getTotalSize(), "px"),
183
- width: '100%',
184
- position: 'relative'
185
- }
186
- }, (_this$rowVirtualizer4 = this.rowVirtualizer) === null || _this$rowVirtualizer4 === void 0 ? void 0 : _this$rowVirtualizer4.getVirtualItems().map(function (virtualRow) {
187
- return (0, _react.jsx)("div", {
188
- key: virtualRow.key,
189
- style: {
190
- position: 'absolute',
191
- top: 0,
192
- left: 0,
193
- width: '100%',
194
- height: "".concat(virtualRow.size, "px"),
195
- transform: "translateY(".concat(virtualRow.start, "px)")
196
- }
197
- }, rowRenderer(virtualRow));
198
- })));
199
- }
200
- }]);
201
- return VirtualList;
202
- }(_react2.PureComponent);
120
+ }, rowRenderer(virtualRow));
121
+ })));
122
+ });
203
123
  exports.VirtualList = VirtualList;
@@ -99,11 +99,6 @@ var EmojiTypeAheadComponent = /*#__PURE__*/function (_PureComponent) {
99
99
  var wasVisible = _this.state.visible;
100
100
  var visible = emojis.length > 0;
101
101
  _this.fireAnalyticsEvent((0, _analytics.typeaheadRenderedEvent)(Date.now() - _this.renderStartTime, query, emojis));
102
- _analytics.ufoExperiences['emoji-searched'].success({
103
- metadata: {
104
- emojisLength: emojis.length
105
- }
106
- });
107
102
  (0, _logger.default)('emoji-typeahead.applyPropChanges', emojis.length, wasVisible, visible);
108
103
  _this.setState({
109
104
  emojis: emojis,
@@ -227,11 +222,6 @@ var EmojiTypeAheadComponent = /*#__PURE__*/function (_PureComponent) {
227
222
  // if empty query (i.e. typeahead triggered only) then only sort by usage
228
223
  options.sort = _types.SearchSort.UsageFrequency;
229
224
  }
230
- _analytics.ufoExperiences['emoji-searched'].start();
231
- _analytics.ufoExperiences['emoji-searched'].addMetadata({
232
- queryLength: (query === null || query === void 0 ? void 0 : query.length) || 0,
233
- source: 'EmojiTypeAheadComponent'
234
- });
235
225
  this.renderStartTime = Date.now();
236
226
  emojiProvider.filter(query, options);
237
227
  }
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ /* prettier-ignore */
7
8
  /**
8
9
  * NOTE:
9
10
  *
@@ -12,39 +13,39 @@ exports.default = void 0;
12
13
  */
13
14
  //Czech
14
15
  var _default = {
15
- 'fabric.emoji.add.custom.emoji.label': 'Přidat své vlastní emoji',
16
- 'fabric.emoji.add.label': 'Přidat emoji',
17
- 'fabric.emoji.cancel.label': 'Zrušit',
18
- 'fabric.emoji.categories.search.results': 'Výsledky vyhledávání',
19
- 'fabric.emoji.category.activity': 'Činnosti',
20
- 'fabric.emoji.category.all.uploads': 'Všechny nahrané položky',
21
- 'fabric.emoji.category.flags': 'Vlajky',
22
- 'fabric.emoji.category.foods': 'Jídlo a pití',
23
- 'fabric.emoji.category.frequent': 'Časté',
24
- 'fabric.emoji.category.nature': 'Příroda',
25
- 'fabric.emoji.category.objects': 'Objekty',
26
- 'fabric.emoji.category.people': 'Lidé',
27
- 'fabric.emoji.category.places': 'Cestování a místa',
28
- 'fabric.emoji.category.productivity': 'Produktivita',
29
- 'fabric.emoji.category.symbols': 'Symboly',
30
- 'fabric.emoji.category.user.uploads': 'Vaše nahrané položky',
31
- 'fabric.emoji.choose.file.screenReaderDescription': 'Vyberte soubor smajlíku. JPG, PNG nebo GIF. Maximální velikost je 1 MB.',
32
- 'fabric.emoji.choose.file.title': 'Vybrat soubor',
33
- 'fabric.emoji.delete.description': 'Veškeré existující výskyty tohoto emoji budou nahrazeny {emojiShortName}',
34
- 'fabric.emoji.delete.label': 'Odstranit',
35
- 'fabric.emoji.delete.title': 'Odstranit emoji',
36
- 'fabric.emoji.error.delete.failed': 'Odstranění se nezdařilo.',
37
- 'fabric.emoji.error.image.too.big': 'Vybraný obrázek je větší než 1 MB.',
38
- 'fabric.emoji.error.invalid.image': 'Vybraný obrázek je neplatný.',
39
- 'fabric.emoji.error.upload.failed': 'Nahrávání se nezdařilo',
40
- 'fabric.emoji.image.requirements': 'JPG, PNG nebo GIF. Max. velikost je 1 MB.',
41
- 'fabric.emoji.name.ariaLabel': 'Zadejte název nového emotikonu',
42
- 'fabric.emoji.placeholder': 'Název emoji',
43
- 'fabric.emoji.preview': 'Vaše nové emoji {emoji} vypadá skvěle!',
44
- 'fabric.emoji.preview.title': 'Náhled',
45
- 'fabric.emoji.retry.label': 'Zkusit znovu',
46
- 'fabric.emoji.search.label': 'Vyhledat smajlík',
47
- 'fabric.emoji.search.placeholder': 'Vyhledat',
48
- 'fabric.emoji.select.skin.tone.ariaLabel': 'Výběr odstínu pleti – {selectedTone}'
16
+ "fabric.emoji.add.custom.emoji.label": "Přidat své vlastní emoji",
17
+ "fabric.emoji.add.label": "Přidat emoji",
18
+ "fabric.emoji.cancel.label": "Zrušit",
19
+ "fabric.emoji.categories.search.results": "Výsledky vyhledávání",
20
+ "fabric.emoji.category.activity": "Činnosti",
21
+ "fabric.emoji.category.all.uploads": "Všechny nahrané položky",
22
+ "fabric.emoji.category.flags": "Vlajky",
23
+ "fabric.emoji.category.foods": "Jídlo a pití",
24
+ "fabric.emoji.category.frequent": "Časté",
25
+ "fabric.emoji.category.nature": "Příroda",
26
+ "fabric.emoji.category.objects": "Objekty",
27
+ "fabric.emoji.category.people": "Lidé",
28
+ "fabric.emoji.category.places": "Cestování a místa",
29
+ "fabric.emoji.category.productivity": "Produktivita",
30
+ "fabric.emoji.category.symbols": "Symboly",
31
+ "fabric.emoji.category.user.uploads": "Vaše nahrané položky",
32
+ "fabric.emoji.choose.file.screenReaderDescription": "Vyberte soubor smajlíku. JPG, PNG nebo GIF. Maximální velikost je 1 MB.",
33
+ "fabric.emoji.choose.file.title": "Vybrat soubor",
34
+ "fabric.emoji.delete.description": "Veškeré existující výskyty tohoto emoji budou nahrazeny {emojiShortName}",
35
+ "fabric.emoji.delete.label": "Odstranit",
36
+ "fabric.emoji.delete.title": "Odstranit emoji",
37
+ "fabric.emoji.error.delete.failed": "Odstranění se nezdařilo.",
38
+ "fabric.emoji.error.image.too.big": "Vybraný obrázek je větší než 1 MB.",
39
+ "fabric.emoji.error.invalid.image": "Vybraný obrázek je neplatný.",
40
+ "fabric.emoji.error.upload.failed": "Nahrávání se nezdařilo",
41
+ "fabric.emoji.image.requirements": "JPG, PNG nebo GIF. Max. velikost je 1 MB.",
42
+ "fabric.emoji.name.ariaLabel": "Zadejte název nového emotikonu",
43
+ "fabric.emoji.placeholder": "Název emoji",
44
+ "fabric.emoji.preview": "Vaše nové emoji {emoji} vypadá skvěle!",
45
+ "fabric.emoji.preview.title": "Náhled",
46
+ "fabric.emoji.retry.label": "Zkusit znovu",
47
+ "fabric.emoji.search.label": "Vyhledat smajlík",
48
+ "fabric.emoji.search.placeholder": "Vyhledat",
49
+ "fabric.emoji.select.skin.tone.ariaLabel": "Výběr odstínu pleti – {selectedTone}"
49
50
  };
50
51
  exports.default = _default;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ /* prettier-ignore */
7
8
  /**
8
9
  * NOTE:
9
10
  *
@@ -12,39 +13,39 @@ exports.default = void 0;
12
13
  */
13
14
  //Danish (Denmark)
14
15
  var _default = {
15
- 'fabric.emoji.add.custom.emoji.label': 'Tilføj din egen emoji',
16
- 'fabric.emoji.add.label': 'Tilføj emoji',
17
- 'fabric.emoji.cancel.label': 'Annullér',
18
- 'fabric.emoji.categories.search.results': 'Søgeresultater',
19
- 'fabric.emoji.category.activity': 'Aktivitet',
20
- 'fabric.emoji.category.all.uploads': 'Alle uploads',
21
- 'fabric.emoji.category.flags': 'Flag',
22
- 'fabric.emoji.category.foods': 'Mad og drikke',
23
- 'fabric.emoji.category.frequent': 'Ofte benyttede',
24
- 'fabric.emoji.category.nature': 'Natur',
25
- 'fabric.emoji.category.objects': 'Objekter',
26
- 'fabric.emoji.category.people': 'Personer',
27
- 'fabric.emoji.category.places': 'Rejser og steder',
28
- 'fabric.emoji.category.productivity': 'Produktivitet',
29
- 'fabric.emoji.category.symbols': 'Symboler',
30
- 'fabric.emoji.category.user.uploads': 'Dine uploads',
31
- 'fabric.emoji.choose.file.screenReaderDescription': 'Vælg en fil til emojien. JPG, PNG eller GIF. Maks. størrelse 1 MB.',
32
- 'fabric.emoji.choose.file.title': 'Vælg fil',
33
- 'fabric.emoji.delete.description': 'Alle eksisterende forekomster af denne emoji erstattes med {emojiShortName}',
34
- 'fabric.emoji.delete.label': 'Fjern',
35
- 'fabric.emoji.delete.title': 'Fjern emoji',
36
- 'fabric.emoji.error.delete.failed': 'Fjern mislykkede',
37
- 'fabric.emoji.error.image.too.big': 'Det valgte billede er større end 1 MB',
38
- 'fabric.emoji.error.invalid.image': 'Det valgte billede er ugyldigt',
39
- 'fabric.emoji.error.upload.failed': 'Upload mislykkedes',
40
- 'fabric.emoji.image.requirements': 'JPG, PNG eller GIF. Maks. størrelse 1 MB.',
41
- 'fabric.emoji.name.ariaLabel': 'Angiv et navn til den nye emoji',
42
- 'fabric.emoji.placeholder': 'Emojinavn',
43
- 'fabric.emoji.preview': 'Din nye emoji {emoji} ser flot ud',
44
- 'fabric.emoji.preview.title': 'Vis',
45
- 'fabric.emoji.retry.label': 'Prøv igen',
46
- 'fabric.emoji.search.label': 'Søg efter emoji',
47
- 'fabric.emoji.search.placeholder': 'Søg',
48
- 'fabric.emoji.select.skin.tone.ariaLabel': 'Vælg hudfarve, {selectedTone}'
16
+ "fabric.emoji.add.custom.emoji.label": "Tilføj din egen emoji",
17
+ "fabric.emoji.add.label": "Tilføj emoji",
18
+ "fabric.emoji.cancel.label": "Annullér",
19
+ "fabric.emoji.categories.search.results": "Søgeresultater",
20
+ "fabric.emoji.category.activity": "Aktivitet",
21
+ "fabric.emoji.category.all.uploads": "Alle uploads",
22
+ "fabric.emoji.category.flags": "Flag",
23
+ "fabric.emoji.category.foods": "Mad og drikke",
24
+ "fabric.emoji.category.frequent": "Ofte benyttede",
25
+ "fabric.emoji.category.nature": "Natur",
26
+ "fabric.emoji.category.objects": "Objekter",
27
+ "fabric.emoji.category.people": "Personer",
28
+ "fabric.emoji.category.places": "Rejser og steder",
29
+ "fabric.emoji.category.productivity": "Produktivitet",
30
+ "fabric.emoji.category.symbols": "Symboler",
31
+ "fabric.emoji.category.user.uploads": "Dine uploads",
32
+ "fabric.emoji.choose.file.screenReaderDescription": "Vælg en fil til emojien. JPG, PNG eller GIF. Maks. størrelse 1 MB.",
33
+ "fabric.emoji.choose.file.title": "Vælg fil",
34
+ "fabric.emoji.delete.description": "Alle eksisterende forekomster af denne emoji erstattes med {emojiShortName}",
35
+ "fabric.emoji.delete.label": "Fjern",
36
+ "fabric.emoji.delete.title": "Fjern emoji",
37
+ "fabric.emoji.error.delete.failed": "Fjern mislykkede",
38
+ "fabric.emoji.error.image.too.big": "Det valgte billede er større end 1 MB",
39
+ "fabric.emoji.error.invalid.image": "Det valgte billede er ugyldigt",
40
+ "fabric.emoji.error.upload.failed": "Upload mislykkedes",
41
+ "fabric.emoji.image.requirements": "JPG, PNG eller GIF. Maks. størrelse 1 MB.",
42
+ "fabric.emoji.name.ariaLabel": "Angiv et navn til den nye emoji",
43
+ "fabric.emoji.placeholder": "Emojinavn",
44
+ "fabric.emoji.preview": "Din nye emoji {emoji} ser flot ud",
45
+ "fabric.emoji.preview.title": "Vis",
46
+ "fabric.emoji.retry.label": "Prøv igen",
47
+ "fabric.emoji.search.label": "Søg efter emoji",
48
+ "fabric.emoji.search.placeholder": "Søg",
49
+ "fabric.emoji.select.skin.tone.ariaLabel": "Vælg hudfarve, {selectedTone}"
49
50
  };
50
51
  exports.default = _default;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ /* prettier-ignore */
7
8
  /**
8
9
  * NOTE:
9
10
  *
@@ -12,39 +13,39 @@ exports.default = void 0;
12
13
  */
13
14
  //German (Germany)
14
15
  var _default = {
15
- 'fabric.emoji.add.custom.emoji.label': 'Fügen Sie Ihr eigenes Emoji hinzu',
16
- 'fabric.emoji.add.label': 'Emoji hinzufügen',
17
- 'fabric.emoji.cancel.label': 'Abbrechen',
18
- 'fabric.emoji.categories.search.results': 'Suchergebnisse',
19
- 'fabric.emoji.category.activity': 'Aktivität',
20
- 'fabric.emoji.category.all.uploads': 'Alle Uploads',
21
- 'fabric.emoji.category.flags': 'Flaggen',
22
- 'fabric.emoji.category.foods': 'Essen und Trinken',
23
- 'fabric.emoji.category.frequent': 'Häufig',
24
- 'fabric.emoji.category.nature': 'Natur',
25
- 'fabric.emoji.category.objects': 'Objekte',
26
- 'fabric.emoji.category.people': 'Personen',
27
- 'fabric.emoji.category.places': 'Reisen und Orte',
28
- 'fabric.emoji.category.productivity': 'Produktivität',
29
- 'fabric.emoji.category.symbols': 'Symbole',
30
- 'fabric.emoji.category.user.uploads': 'Ihre Uploads',
31
- 'fabric.emoji.choose.file.screenReaderDescription': 'Wählen Sie eine Datei für das Emoji. JPG, PNG oder GIF. Max. Größe: 1 MB.',
32
- 'fabric.emoji.choose.file.title': 'Datei auswählen',
33
- 'fabric.emoji.delete.description': 'Alle existierenden Instanzen dieses Emojis werden durch {emojiShortName} ersetzt',
34
- 'fabric.emoji.delete.label': 'Entfernen',
35
- 'fabric.emoji.delete.title': 'Emoji entfernen',
36
- 'fabric.emoji.error.delete.failed': 'Entfernen fehlgeschlagen',
37
- 'fabric.emoji.error.image.too.big': 'Das ausgewählte Bild hat mehr als 1 MB',
38
- 'fabric.emoji.error.invalid.image': 'Das ausgewählte Bild ist ungültig.',
39
- 'fabric.emoji.error.upload.failed': 'Upload fehlgeschlagen',
40
- 'fabric.emoji.image.requirements': 'JPG, PNG oder GIF. Max. Größe 1 MB.',
41
- 'fabric.emoji.name.ariaLabel': 'Geben Sie einen Namen für das neue Emoji ein.',
42
- 'fabric.emoji.placeholder': 'Name des Emojis',
43
- 'fabric.emoji.preview': 'Ihr neues Emoji {emoji} sieht toll aus',
44
- 'fabric.emoji.preview.title': 'Vorschau',
45
- 'fabric.emoji.retry.label': 'Wiederholen',
46
- 'fabric.emoji.search.label': 'Emoji suchen',
47
- 'fabric.emoji.search.placeholder': 'Suchen',
48
- 'fabric.emoji.select.skin.tone.ariaLabel': 'Hautfarbe auswählen: {selectedTone}'
16
+ "fabric.emoji.add.custom.emoji.label": "Fügen Sie Ihr eigenes Emoji hinzu",
17
+ "fabric.emoji.add.label": "Emoji hinzufügen",
18
+ "fabric.emoji.cancel.label": "Abbrechen",
19
+ "fabric.emoji.categories.search.results": "Suchergebnisse",
20
+ "fabric.emoji.category.activity": "Aktivität",
21
+ "fabric.emoji.category.all.uploads": "Alle Uploads",
22
+ "fabric.emoji.category.flags": "Flaggen",
23
+ "fabric.emoji.category.foods": "Essen und Trinken",
24
+ "fabric.emoji.category.frequent": "Häufig",
25
+ "fabric.emoji.category.nature": "Natur",
26
+ "fabric.emoji.category.objects": "Objekte",
27
+ "fabric.emoji.category.people": "Personen",
28
+ "fabric.emoji.category.places": "Reisen und Orte",
29
+ "fabric.emoji.category.productivity": "Produktivität",
30
+ "fabric.emoji.category.symbols": "Symbole",
31
+ "fabric.emoji.category.user.uploads": "Ihre Uploads",
32
+ "fabric.emoji.choose.file.screenReaderDescription": "Wählen Sie eine Datei für das Emoji. JPG, PNG oder GIF. Max. Größe: 1 MB.",
33
+ "fabric.emoji.choose.file.title": "Datei auswählen",
34
+ "fabric.emoji.delete.description": "Alle existierenden Instanzen dieses Emojis werden durch {emojiShortName} ersetzt",
35
+ "fabric.emoji.delete.label": "Entfernen",
36
+ "fabric.emoji.delete.title": "Emoji entfernen",
37
+ "fabric.emoji.error.delete.failed": "Entfernen fehlgeschlagen",
38
+ "fabric.emoji.error.image.too.big": "Das ausgewählte Bild hat mehr als 1 MB",
39
+ "fabric.emoji.error.invalid.image": "Das ausgewählte Bild ist ungültig.",
40
+ "fabric.emoji.error.upload.failed": "Upload fehlgeschlagen",
41
+ "fabric.emoji.image.requirements": "JPG, PNG oder GIF. Max. Größe 1 MB.",
42
+ "fabric.emoji.name.ariaLabel": "Geben Sie einen Namen für das neue Emoji ein.",
43
+ "fabric.emoji.placeholder": "Name des Emojis",
44
+ "fabric.emoji.preview": "Ihr neues Emoji {emoji} sieht toll aus",
45
+ "fabric.emoji.preview.title": "Vorschau",
46
+ "fabric.emoji.retry.label": "Wiederholen",
47
+ "fabric.emoji.search.label": "Emoji suchen",
48
+ "fabric.emoji.search.placeholder": "Suchen",
49
+ "fabric.emoji.select.skin.tone.ariaLabel": "Hautfarbe auswählen: {selectedTone}"
49
50
  };
50
51
  exports.default = _default;