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