@chayns-components/emoji-input 5.0.0-beta.112 → 5.0.0-beta.1122

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 (224) hide show
  1. package/README.md +4 -15
  2. package/lib/{api → cjs/api}/item-storage/get.js +4 -5
  3. package/lib/cjs/api/item-storage/get.js.map +1 -0
  4. package/lib/{api → cjs/api}/item-storage/put.js +5 -6
  5. package/lib/cjs/api/item-storage/put.js.map +1 -0
  6. package/lib/cjs/components/emoji-input/EmojiInput.js +536 -0
  7. package/lib/cjs/components/emoji-input/EmojiInput.js.map +1 -0
  8. package/lib/cjs/components/emoji-input/EmojiInput.styles.js +131 -0
  9. package/lib/cjs/components/emoji-input/EmojiInput.styles.js.map +1 -0
  10. package/lib/cjs/components/emoji-input/prefix-element/PrefixElement.js +44 -0
  11. package/lib/cjs/components/emoji-input/prefix-element/PrefixElement.js.map +1 -0
  12. package/lib/cjs/components/emoji-input/prefix-element/PrefixElement.styles.js +64 -0
  13. package/lib/cjs/components/emoji-input/prefix-element/PrefixElement.styles.js.map +1 -0
  14. package/lib/{components → cjs/components}/emoji-picker/EmojiPicker.js +8 -11
  15. package/lib/cjs/components/emoji-picker/EmojiPicker.js.map +1 -0
  16. package/lib/{components → cjs/components}/emoji-picker/EmojiPicker.styles.js +3 -5
  17. package/lib/cjs/components/emoji-picker/EmojiPicker.styles.js.map +1 -0
  18. package/lib/cjs/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.js +101 -0
  19. package/lib/cjs/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.js.map +1 -0
  20. package/lib/{components → cjs/components}/emoji-picker/emoji-picker-categories/EmojiPickerCategories.styles.js +4 -6
  21. package/lib/cjs/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.styles.js.map +1 -0
  22. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.js +239 -0
  23. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.js.map +1 -0
  24. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.js +66 -0
  25. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.js.map +1 -0
  26. package/lib/{components → cjs/components}/emoji-picker/emoji-picker-emojis/emoji/Emoji.js +60 -33
  27. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.js.map +1 -0
  28. package/lib/{components → cjs/components}/emoji-picker/emoji-picker-emojis/emoji/Emoji.styles.js +6 -3
  29. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.styles.js.map +1 -0
  30. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.js +129 -0
  31. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.js.map +1 -0
  32. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.js +98 -0
  33. package/lib/cjs/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.js.map +1 -0
  34. package/lib/cjs/components/emoji-picker-popup/EmojiPickerPopup.js +51 -0
  35. package/lib/cjs/components/emoji-picker-popup/EmojiPickerPopup.js.map +1 -0
  36. package/lib/cjs/components/emoji-picker-popup/EmojiPickerPopup.styles.js +15 -0
  37. package/lib/cjs/components/emoji-picker-popup/EmojiPickerPopup.styles.js.map +1 -0
  38. package/lib/{constants → cjs/constants}/alignment.js +2 -4
  39. package/lib/cjs/constants/alignment.js.map +1 -0
  40. package/lib/{constants → cjs/constants}/categories.js +1 -2
  41. package/lib/cjs/constants/categories.js.map +1 -0
  42. package/lib/{constants → cjs/constants}/emoji.js +4 -8
  43. package/lib/cjs/constants/emoji.js.map +1 -0
  44. package/lib/cjs/constants/externalServerUrl.js +8 -0
  45. package/lib/cjs/constants/externalServerUrl.js.map +1 -0
  46. package/lib/cjs/constants/regex.js +15 -0
  47. package/lib/cjs/constants/regex.js.map +1 -0
  48. package/lib/{hooks → cjs/hooks}/emojiHistory.js +13 -15
  49. package/lib/cjs/hooks/emojiHistory.js.map +1 -0
  50. package/lib/{index.js → cjs/index.js} +1 -1
  51. package/lib/cjs/index.js.map +1 -0
  52. package/lib/cjs/types/api.js.map +1 -0
  53. package/lib/cjs/types/category.js.map +1 -0
  54. package/lib/{utils → cjs/utils}/emoji.js +14 -6
  55. package/lib/cjs/utils/emoji.js.map +1 -0
  56. package/lib/cjs/utils/environment.js.map +1 -0
  57. package/lib/cjs/utils/font.js.map +1 -0
  58. package/lib/cjs/utils/insert.js +110 -0
  59. package/lib/cjs/utils/insert.js.map +1 -0
  60. package/lib/cjs/utils/number.js +17 -0
  61. package/lib/cjs/utils/number.js.map +1 -0
  62. package/lib/cjs/utils/selection.js +281 -0
  63. package/lib/cjs/utils/selection.js.map +1 -0
  64. package/lib/cjs/utils/text.js +57 -0
  65. package/lib/cjs/utils/text.js.map +1 -0
  66. package/lib/esm/api/item-storage/get.js +30 -0
  67. package/lib/esm/api/item-storage/get.js.map +1 -0
  68. package/lib/esm/api/item-storage/put.js +35 -0
  69. package/lib/esm/api/item-storage/put.js.map +1 -0
  70. package/lib/esm/components/emoji-input/EmojiInput.js +518 -0
  71. package/lib/esm/components/emoji-input/EmojiInput.js.map +1 -0
  72. package/lib/esm/components/emoji-input/EmojiInput.styles.js +151 -0
  73. package/lib/esm/components/emoji-input/EmojiInput.styles.js.map +1 -0
  74. package/lib/esm/components/emoji-input/prefix-element/PrefixElement.js +38 -0
  75. package/lib/esm/components/emoji-input/prefix-element/PrefixElement.js.map +1 -0
  76. package/lib/esm/components/emoji-input/prefix-element/PrefixElement.styles.js +69 -0
  77. package/lib/esm/components/emoji-input/prefix-element/PrefixElement.styles.js.map +1 -0
  78. package/lib/esm/components/emoji-picker/EmojiPicker.js +40 -0
  79. package/lib/esm/components/emoji-picker/EmojiPicker.js.map +1 -0
  80. package/lib/esm/components/emoji-picker/EmojiPicker.styles.js +16 -0
  81. package/lib/esm/components/emoji-picker/EmojiPicker.styles.js.map +1 -0
  82. package/lib/esm/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.js +96 -0
  83. package/lib/esm/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.js.map +1 -0
  84. package/lib/esm/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.styles.js +18 -0
  85. package/lib/esm/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.styles.js.map +1 -0
  86. package/lib/esm/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.js +240 -0
  87. package/lib/esm/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.js.map +1 -0
  88. package/lib/esm/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.js +74 -0
  89. package/lib/esm/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.js.map +1 -0
  90. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.js +136 -0
  91. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.js.map +1 -0
  92. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.styles.js +20 -0
  93. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.styles.js.map +1 -0
  94. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.js +121 -0
  95. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.js.map +1 -0
  96. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.js +98 -0
  97. package/lib/esm/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.js.map +1 -0
  98. package/lib/esm/components/emoji-picker-popup/EmojiPickerPopup.js +43 -0
  99. package/lib/esm/components/emoji-picker-popup/EmojiPickerPopup.js.map +1 -0
  100. package/lib/esm/components/emoji-picker-popup/EmojiPickerPopup.styles.js +8 -0
  101. package/lib/esm/components/emoji-picker-popup/EmojiPickerPopup.styles.js.map +1 -0
  102. package/lib/esm/constants/alignment.js +13 -0
  103. package/lib/esm/constants/alignment.js.map +1 -0
  104. package/lib/esm/constants/categories.js +13 -0
  105. package/lib/esm/constants/categories.js.map +1 -0
  106. package/lib/esm/constants/emoji-de-DE.json +3827 -0
  107. package/lib/esm/constants/emoji.js +3798 -0
  108. package/lib/esm/constants/emoji.js.map +1 -0
  109. package/lib/esm/constants/externalServerUrl.js +2 -0
  110. package/lib/esm/constants/externalServerUrl.js.map +1 -0
  111. package/lib/esm/constants/regex.js +9 -0
  112. package/lib/esm/constants/regex.js.map +1 -0
  113. package/lib/esm/hooks/emojiHistory.js +83 -0
  114. package/lib/esm/hooks/emojiHistory.js.map +1 -0
  115. package/lib/{index.d.ts → esm/index.js} +1 -0
  116. package/lib/esm/index.js.map +1 -0
  117. package/lib/esm/types/api.js +2 -0
  118. package/lib/esm/types/api.js.map +1 -0
  119. package/lib/esm/types/category.js +2 -0
  120. package/lib/esm/types/category.js.map +1 -0
  121. package/lib/esm/utils/emoji.js +92 -0
  122. package/lib/esm/utils/emoji.js.map +1 -0
  123. package/lib/esm/utils/environment.js +24 -0
  124. package/lib/esm/utils/environment.js.map +1 -0
  125. package/lib/esm/utils/font.js +10 -0
  126. package/lib/esm/utils/font.js.map +1 -0
  127. package/lib/esm/utils/insert.js +104 -0
  128. package/lib/esm/utils/insert.js.map +1 -0
  129. package/lib/esm/utils/number.js +10 -0
  130. package/lib/esm/utils/number.js.map +1 -0
  131. package/lib/esm/utils/selection.js +263 -0
  132. package/lib/esm/utils/selection.js.map +1 -0
  133. package/lib/esm/utils/text.js +48 -0
  134. package/lib/esm/utils/text.js.map +1 -0
  135. package/lib/types/components/emoji-input/EmojiInput.d.ts +96 -0
  136. package/lib/types/components/emoji-input/EmojiInput.styles.d.ts +26 -0
  137. package/lib/types/components/emoji-input/prefix-element/PrefixElement.d.ts +8 -0
  138. package/lib/types/components/emoji-input/prefix-element/PrefixElement.styles.d.ts +12 -0
  139. package/lib/types/components/emoji-picker/EmojiPicker.styles.d.ts +5 -0
  140. package/lib/types/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.styles.d.ts +6 -0
  141. package/lib/types/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.d.ts +9 -0
  142. package/lib/{components → types/components}/emoji-picker/emoji-picker-emojis/emoji/Emoji.d.ts +5 -0
  143. package/lib/types/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.styles.d.ts +6 -0
  144. package/lib/types/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.d.ts +22 -0
  145. package/lib/{components → types/components}/emoji-picker-popup/EmojiPickerPopup.d.ts +0 -13
  146. package/lib/types/components/emoji-picker-popup/EmojiPickerPopup.styles.d.ts +1 -0
  147. package/lib/types/constants/regex.d.ts +8 -0
  148. package/lib/types/index.d.ts +6 -0
  149. package/lib/{utils → types/utils}/emoji.d.ts +2 -0
  150. package/lib/{utils → types/utils}/insert.d.ts +8 -1
  151. package/lib/types/utils/number.d.ts +1 -0
  152. package/lib/types/utils/selection.d.ts +23 -0
  153. package/lib/types/utils/text.d.ts +3 -0
  154. package/package.json +49 -31
  155. package/lib/api/item-storage/get.js.map +0 -1
  156. package/lib/api/item-storage/put.js.map +0 -1
  157. package/lib/components/emoji-input/EmojiInput.d.ts +0 -53
  158. package/lib/components/emoji-input/EmojiInput.js +0 -159
  159. package/lib/components/emoji-input/EmojiInput.js.map +0 -1
  160. package/lib/components/emoji-input/EmojiInput.styles.d.ts +0 -13
  161. package/lib/components/emoji-input/EmojiInput.styles.js +0 -145
  162. package/lib/components/emoji-input/EmojiInput.styles.js.map +0 -1
  163. package/lib/components/emoji-picker/EmojiPicker.js.map +0 -1
  164. package/lib/components/emoji-picker/EmojiPicker.styles.d.ts +0 -5
  165. package/lib/components/emoji-picker/EmojiPicker.styles.js.map +0 -1
  166. package/lib/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.js +0 -51
  167. package/lib/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.js.map +0 -1
  168. package/lib/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.styles.d.ts +0 -2
  169. package/lib/components/emoji-picker/emoji-picker-categories/EmojiPickerCategories.styles.js.map +0 -1
  170. package/lib/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.js +0 -131
  171. package/lib/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.js.map +0 -1
  172. package/lib/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.d.ts +0 -7
  173. package/lib/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.js +0 -99
  174. package/lib/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.js.map +0 -1
  175. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.js.map +0 -1
  176. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.styles.d.ts +0 -1
  177. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.styles.js.map +0 -1
  178. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.js +0 -74
  179. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.js.map +0 -1
  180. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.d.ts +0 -11
  181. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.js +0 -104
  182. package/lib/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.js.map +0 -1
  183. package/lib/components/emoji-picker-popup/EmojiPickerPopup.js +0 -150
  184. package/lib/components/emoji-picker-popup/EmojiPickerPopup.js.map +0 -1
  185. package/lib/components/emoji-picker-popup/EmojiPickerPopup.styles.d.ts +0 -7
  186. package/lib/components/emoji-picker-popup/EmojiPickerPopup.styles.js +0 -97
  187. package/lib/components/emoji-picker-popup/EmojiPickerPopup.styles.js.map +0 -1
  188. package/lib/constants/alignment.js.map +0 -1
  189. package/lib/constants/categories.js.map +0 -1
  190. package/lib/constants/emoji.js.map +0 -1
  191. package/lib/constants/externalServerUrl.js +0 -9
  192. package/lib/constants/externalServerUrl.js.map +0 -1
  193. package/lib/hooks/emojiHistory.js.map +0 -1
  194. package/lib/index.js.map +0 -1
  195. package/lib/types/api.js.map +0 -1
  196. package/lib/types/category.js.map +0 -1
  197. package/lib/utils/emoji.js.map +0 -1
  198. package/lib/utils/environment.js.map +0 -1
  199. package/lib/utils/font.js.map +0 -1
  200. package/lib/utils/insert.js +0 -50
  201. package/lib/utils/insert.js.map +0 -1
  202. package/lib/utils/selection.d.ts +0 -2
  203. package/lib/utils/selection.js +0 -43
  204. package/lib/utils/selection.js.map +0 -1
  205. /package/lib/{constants → cjs/constants}/emoji-de-DE.json +0 -0
  206. /package/lib/{types → cjs/types}/api.js +0 -0
  207. /package/lib/{types → cjs/types}/category.js +0 -0
  208. /package/lib/{utils → cjs/utils}/environment.js +0 -0
  209. /package/lib/{utils → cjs/utils}/font.js +0 -0
  210. /package/lib/{api → types/api}/item-storage/get.d.ts +0 -0
  211. /package/lib/{api → types/api}/item-storage/put.d.ts +0 -0
  212. /package/lib/{components → types/components}/emoji-picker/EmojiPicker.d.ts +0 -0
  213. /package/lib/{components → types/components}/emoji-picker/emoji-picker-categories/EmojiPickerCategories.d.ts +0 -0
  214. /package/lib/{components → types/components}/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.d.ts +0 -0
  215. /package/lib/{components → types/components}/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.d.ts +0 -0
  216. /package/lib/{constants → types/constants}/alignment.d.ts +0 -0
  217. /package/lib/{constants → types/constants}/categories.d.ts +0 -0
  218. /package/lib/{constants → types/constants}/emoji.d.ts +0 -0
  219. /package/lib/{constants → types/constants}/externalServerUrl.d.ts +0 -0
  220. /package/lib/{hooks → types/hooks}/emojiHistory.d.ts +0 -0
  221. /package/lib/types/{api.d.ts → types/api.d.ts} +0 -0
  222. /package/lib/types/{category.d.ts → types/category.d.ts} +0 -0
  223. /package/lib/{utils → types/utils}/environment.d.ts +0 -0
  224. /package/lib/{utils → types/utils}/font.d.ts +0 -0
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _dataEmojiComponents = _interopRequireDefault(require("unicode-emoji-json/data-emoji-components.json"));
9
+ var _emoji = require("../../../../../utils/emoji");
10
+ var _SkinTonePopup = require("./SkinTonePopup.styles");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ const SkinTonePopup = ({
14
+ anchorAlignment,
15
+ anchorOffset,
16
+ emoji,
17
+ onHidePopup,
18
+ onSelect,
19
+ overlayPosition,
20
+ position
21
+ }) => {
22
+ const [focusedIndex, setFocusedIndex] = (0, _react.useState)(0);
23
+ const skinToneRef = (0, _react.useRef)(null);
24
+ const handleOverlayClick = (0, _react.useCallback)(event => {
25
+ event.preventDefault();
26
+ event.stopPropagation();
27
+ onHidePopup();
28
+ }, [onHidePopup]);
29
+ (0, _react.useEffect)(() => {
30
+ const handleKeyDown = event => {
31
+ if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
32
+ var _skinToneRef$current;
33
+ event.preventDefault();
34
+ const children = (_skinToneRef$current = skinToneRef.current) === null || _skinToneRef$current === void 0 ? void 0 : _skinToneRef$current.children;
35
+ if (children && children.length > 0) {
36
+ let newIndex = focusedIndex !== null ? focusedIndex : 0;
37
+ if (event.key === 'ArrowLeft') {
38
+ newIndex = (newIndex - 1) % children.length;
39
+ } else if (event.key === 'ArrowRight') {
40
+ newIndex = (newIndex + 1) % children.length;
41
+ }
42
+
43
+ // remove focus from the old element
44
+ if (focusedIndex !== null) {
45
+ const prevElement = children[focusedIndex];
46
+ prevElement.tabIndex = -1;
47
+ }
48
+ if (newIndex < 0) {
49
+ newIndex = children.length - 1;
50
+ } else if (newIndex > children.length - 1) {
51
+ newIndex = 0;
52
+ }
53
+ setFocusedIndex(newIndex);
54
+
55
+ // Set focus to the element
56
+ const newElement = children[newIndex];
57
+ newElement.tabIndex = 0;
58
+ newElement.focus();
59
+ }
60
+ } else if (event.key === 'Enter' && focusedIndex !== null) {
61
+ var _skinToneRef$current2;
62
+ const {
63
+ dataset
64
+ } = (_skinToneRef$current2 = skinToneRef.current) === null || _skinToneRef$current2 === void 0 ? void 0 : _skinToneRef$current2.children[focusedIndex];
65
+ const {
66
+ skinTone
67
+ } = dataset;
68
+ if (!skinTone) {
69
+ return;
70
+ }
71
+ onSelect(skinTone);
72
+ onHidePopup();
73
+ } else if (event.key === 'Escape' && event.shiftKey) {
74
+ event.preventDefault();
75
+ onHidePopup();
76
+ }
77
+ };
78
+ document.addEventListener('keydown', handleKeyDown);
79
+ return () => {
80
+ document.removeEventListener('keydown', handleKeyDown);
81
+ };
82
+ }, [focusedIndex, onHidePopup, onSelect]);
83
+ const emojis = (0, _react.useMemo)(() => {
84
+ const result = [];
85
+ Object.entries(_dataEmojiComponents.default).forEach(([key, value], index) => {
86
+ if (key.includes('skin_tone')) {
87
+ const emojiWithSkinTone = (0, _emoji.addSkinToneToEmoji)(emoji, value);
88
+ const handleClick = event => {
89
+ event.preventDefault();
90
+ event.stopPropagation();
91
+ onSelect(emojiWithSkinTone);
92
+ onHidePopup();
93
+ };
94
+ result.push(/*#__PURE__*/_react.default.createElement(_SkinTonePopup.StyledSkinTonePopupContentEmoji, {
95
+ key: key,
96
+ "data-skin-tone": emojiWithSkinTone,
97
+ $isSelected: index === focusedIndex,
98
+ onClick: handleClick
99
+ }, emojiWithSkinTone));
100
+ }
101
+ });
102
+ return result;
103
+ }, [emoji, focusedIndex, onHidePopup, onSelect]);
104
+ return /*#__PURE__*/_react.default.createElement(_SkinTonePopup.StyledMotionSkinTonePopup, {
105
+ animate: {
106
+ opacity: 1
107
+ },
108
+ exit: {
109
+ opacity: 0
110
+ },
111
+ initial: {
112
+ opacity: 0
113
+ },
114
+ transition: {
115
+ duration: 0.1
116
+ }
117
+ }, /*#__PURE__*/_react.default.createElement(_SkinTonePopup.StyledSkinTonePopupContent, {
118
+ ref: skinToneRef,
119
+ $anchorAlignment: anchorAlignment,
120
+ $anchorOffset: anchorOffset,
121
+ style: position
122
+ }, emojis), /*#__PURE__*/_react.default.createElement(_SkinTonePopup.StyledSkinTonePopupOverlay, {
123
+ onClick: handleOverlayClick,
124
+ style: overlayPosition
125
+ }));
126
+ };
127
+ SkinTonePopup.displayName = 'SkinTonePopup';
128
+ var _default = exports.default = SkinTonePopup;
129
+ //# sourceMappingURL=SkinTonePopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkinTonePopup.js","names":["_react","_interopRequireWildcard","require","_dataEmojiComponents","_interopRequireDefault","_emoji","_SkinTonePopup","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SkinTonePopup","anchorAlignment","anchorOffset","emoji","onHidePopup","onSelect","overlayPosition","position","focusedIndex","setFocusedIndex","useState","skinToneRef","useRef","handleOverlayClick","useCallback","event","preventDefault","stopPropagation","useEffect","handleKeyDown","key","_skinToneRef$current","children","current","length","newIndex","prevElement","tabIndex","newElement","focus","_skinToneRef$current2","dataset","skinTone","shiftKey","document","addEventListener","removeEventListener","emojis","useMemo","result","entries","emojiComponents","forEach","value","index","includes","emojiWithSkinTone","addSkinToneToEmoji","handleClick","push","createElement","StyledSkinTonePopupContentEmoji","$isSelected","onClick","StyledMotionSkinTonePopup","animate","opacity","exit","initial","transition","duration","StyledSkinTonePopupContent","ref","$anchorAlignment","$anchorOffset","style","StyledSkinTonePopupOverlay","displayName","_default","exports"],"sources":["../../../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.tsx"],"sourcesContent":["import React, { FC, MouseEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport emojiComponents from 'unicode-emoji-json/data-emoji-components.json';\nimport type { AnchorAlignment } from '../../../../../constants/alignment';\nimport { addSkinToneToEmoji } from '../../../../../utils/emoji';\nimport {\n StyledMotionSkinTonePopup,\n StyledSkinTonePopupContent,\n StyledSkinTonePopupContentEmoji,\n StyledSkinTonePopupOverlay,\n} from './SkinTonePopup.styles';\n\nexport type SkinTonePopupProps = {\n anchorAlignment: AnchorAlignment;\n anchorOffset: number;\n emoji: string;\n onHidePopup: VoidFunction;\n onSelect: (emojiWithSkinTone: string) => void;\n overlayPosition: { top: number };\n position: { left: number; top: number };\n};\n\nconst SkinTonePopup: FC<SkinTonePopupProps> = ({\n anchorAlignment,\n anchorOffset,\n emoji,\n onHidePopup,\n onSelect,\n overlayPosition,\n position,\n}) => {\n const [focusedIndex, setFocusedIndex] = useState<number>(0);\n\n const skinToneRef = useRef<HTMLDivElement>(null);\n\n const handleOverlayClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n onHidePopup();\n },\n [onHidePopup],\n );\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n event.preventDefault();\n const children = skinToneRef.current?.children;\n if (children && children.length > 0) {\n let newIndex = focusedIndex !== null ? focusedIndex : 0;\n\n if (event.key === 'ArrowLeft') {\n newIndex = (newIndex - 1) % children.length;\n } else if (event.key === 'ArrowRight') {\n newIndex = (newIndex + 1) % children.length;\n }\n\n // remove focus from the old element\n if (focusedIndex !== null) {\n const prevElement = children[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n if (newIndex < 0) {\n newIndex = children.length - 1;\n } else if (newIndex > children.length - 1) {\n newIndex = 0;\n }\n\n setFocusedIndex(newIndex);\n\n // Set focus to the element\n const newElement = children[newIndex] as HTMLDivElement;\n newElement.tabIndex = 0;\n newElement.focus();\n }\n } else if (event.key === 'Enter' && focusedIndex !== null) {\n const { dataset } = skinToneRef.current?.children[focusedIndex] as HTMLDivElement;\n\n const { skinTone } = dataset;\n\n if (!skinTone) {\n return;\n }\n\n onSelect(skinTone);\n\n onHidePopup();\n } else if (event.key === 'Escape' && event.shiftKey) {\n event.preventDefault();\n\n onHidePopup();\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [focusedIndex, onHidePopup, onSelect]);\n\n const emojis = useMemo(() => {\n const result: JSX.Element[] = [];\n\n Object.entries(emojiComponents).forEach(([key, value], index) => {\n if (key.includes('skin_tone')) {\n const emojiWithSkinTone = addSkinToneToEmoji(emoji, value);\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n onSelect(emojiWithSkinTone);\n\n onHidePopup();\n };\n\n result.push(\n <StyledSkinTonePopupContentEmoji\n key={key}\n data-skin-tone={emojiWithSkinTone}\n $isSelected={index === focusedIndex}\n onClick={handleClick}\n >\n {emojiWithSkinTone}\n </StyledSkinTonePopupContentEmoji>,\n );\n }\n });\n\n return result;\n }, [emoji, focusedIndex, onHidePopup, onSelect]);\n\n return (\n <StyledMotionSkinTonePopup\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n initial={{ opacity: 0 }}\n transition={{ duration: 0.1 }}\n >\n <StyledSkinTonePopupContent\n ref={skinToneRef}\n $anchorAlignment={anchorAlignment}\n $anchorOffset={anchorOffset}\n style={position}\n >\n {emojis}\n </StyledSkinTonePopupContent>\n <StyledSkinTonePopupOverlay onClick={handleOverlayClick} style={overlayPosition} />\n </StyledMotionSkinTonePopup>\n );\n};\n\nSkinTonePopup.displayName = 'SkinTonePopup';\n\nexport default SkinTonePopup;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.skinTonePopupContentSize = exports.StyledSkinTonePopupOverlay = exports.StyledSkinTonePopupContentEmoji = exports.StyledSkinTonePopupContent = exports.StyledMotionSkinTonePopup = void 0;
7
+ var _react = require("motion/react");
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+ var _alignment = require("../../../../../constants/alignment");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ const StyledMotionSkinTonePopup = exports.StyledMotionSkinTonePopup = (0, _styledComponents.default)(_react.motion.div)`
12
+ z-index: 1;
13
+ `;
14
+ const skinTonePopupContentSize = exports.skinTonePopupContentSize = {
15
+ height: 48,
16
+ width: 200
17
+ };
18
+ const StyledSkinTonePopupContent = exports.StyledSkinTonePopupContent = _styledComponents.default.div`
19
+ align-items: stretch;
20
+ background-color: ${({
21
+ theme
22
+ }) => theme['001']};
23
+ border: 1px solid rgba(0, 0, 0, 0.1);
24
+ border-radius: 3px;
25
+ box-shadow: 1px 3px 8px rgb(0 0 0 / 30%);
26
+ display: flex;
27
+ height: ${skinTonePopupContentSize.height}px;
28
+ justify-content: stretch;
29
+ position: absolute;
30
+ width: ${skinTonePopupContentSize.width}px;
31
+ z-index: 2;
32
+
33
+ &::after {
34
+ background-color: inherit;
35
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
36
+ border-bottom-right-radius: 3px;
37
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
38
+ box-shadow: 2px 2px 8px rgb(4 3 4 / 10%);
39
+ content: '';
40
+ height: 14px;
41
+ position: absolute;
42
+ width: 14px;
43
+ z-index: -2;
44
+
45
+ ${({
46
+ $anchorAlignment,
47
+ $anchorOffset
48
+ }) => {
49
+ switch ($anchorAlignment) {
50
+ case _alignment.AnchorAlignment.Bottom:
51
+ return (0, _styledComponents.css)`
52
+ bottom: -7px;
53
+ left: calc(50% - 7px + ${$anchorOffset}px);
54
+ transform: rotate(45deg);
55
+ `;
56
+ case _alignment.AnchorAlignment.Top:
57
+ return (0, _styledComponents.css)`
58
+ top: -7px;
59
+ left: calc(50% - 7px + ${$anchorOffset}px);
60
+ transform: rotate(225deg);
61
+ `;
62
+ default:
63
+ return undefined;
64
+ }
65
+ }}
66
+ }
67
+
68
+ &::before {
69
+ background-color: inherit;
70
+ bottom: 0;
71
+ content: '';
72
+ left: 0;
73
+ position: absolute;
74
+ right: 0;
75
+ top: 0;
76
+ z-index: -1;
77
+ }
78
+ `;
79
+ const StyledSkinTonePopupContentEmoji = exports.StyledSkinTonePopupContentEmoji = _styledComponents.default.div`
80
+ align-items: center;
81
+ display: flex;
82
+ flex: 1 1 auto;
83
+ font-size: 24px;
84
+ justify-content: center;
85
+ background-color: ${({
86
+ theme,
87
+ $isSelected
88
+ }) => $isSelected ? theme['secondary-102'] : 'none'};
89
+ `;
90
+ const StyledSkinTonePopupOverlay = exports.StyledSkinTonePopupOverlay = _styledComponents.default.div`
91
+ cursor: default;
92
+ height: 100%;
93
+ left: 0;
94
+ position: absolute;
95
+ width: 100%;
96
+ z-index: 1;
97
+ `;
98
+ //# sourceMappingURL=SkinTonePopup.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkinTonePopup.styles.js","names":["_react","require","_styledComponents","_interopRequireWildcard","_alignment","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledMotionSkinTonePopup","exports","styled","motion","div","skinTonePopupContentSize","height","width","StyledSkinTonePopupContent","theme","$anchorAlignment","$anchorOffset","AnchorAlignment","Bottom","css","Top","undefined","StyledSkinTonePopupContentEmoji","$isSelected","StyledSkinTonePopupOverlay"],"sources":["../../../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.ts"],"sourcesContent":["import type { FramerMotionBugFix, WithTheme } from '@chayns-components/core';\nimport { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport { AnchorAlignment } from '../../../../../constants/alignment';\n\nexport const StyledMotionSkinTonePopup = styled(motion.div)<FramerMotionBugFix>`\n z-index: 1;\n`;\n\nexport const skinTonePopupContentSize = {\n height: 48,\n width: 200,\n};\n\ntype StyledSkinTonePopupContentProps = WithTheme<{\n $anchorAlignment: AnchorAlignment;\n $anchorOffset: number;\n}>;\n\nexport const StyledSkinTonePopupContent = styled.div<StyledSkinTonePopupContentProps>`\n align-items: stretch;\n background-color: ${({ theme }: StyledSkinTonePopupContentProps) => theme['001']};\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 3px;\n box-shadow: 1px 3px 8px rgb(0 0 0 / 30%);\n display: flex;\n height: ${skinTonePopupContentSize.height}px;\n justify-content: stretch;\n position: absolute;\n width: ${skinTonePopupContentSize.width}px;\n z-index: 2;\n\n &::after {\n background-color: inherit;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n border-bottom-right-radius: 3px;\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 2px 2px 8px rgb(4 3 4 / 10%);\n content: '';\n height: 14px;\n position: absolute;\n width: 14px;\n z-index: -2;\n\n ${({ $anchorAlignment, $anchorOffset }) => {\n switch ($anchorAlignment) {\n case AnchorAlignment.Bottom:\n return css`\n bottom: -7px;\n left: calc(50% - 7px + ${$anchorOffset}px);\n transform: rotate(45deg);\n `;\n case AnchorAlignment.Top:\n return css`\n top: -7px;\n left: calc(50% - 7px + ${$anchorOffset}px);\n transform: rotate(225deg);\n `;\n default:\n return undefined;\n }\n }}\n }\n\n &::before {\n background-color: inherit;\n bottom: 0;\n content: '';\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: -1;\n }\n`;\n\ntype StyledSkinTonePopupContentEmojiProps = WithTheme<{\n $isSelected: boolean;\n}>;\n\nexport const StyledSkinTonePopupContentEmoji = styled.div<StyledSkinTonePopupContentEmojiProps>`\n align-items: center;\n display: flex;\n flex: 1 1 auto;\n font-size: 24px;\n justify-content: center;\n background-color: ${({ theme, $isSelected }: StyledSkinTonePopupContentEmojiProps) =>\n $isSelected ? theme['secondary-102'] : 'none'};\n`;\n\nexport const StyledSkinTonePopupOverlay = styled.div`\n cursor: default;\n height: 100%;\n left: 0;\n position: absolute;\n width: 100%;\n z-index: 1;\n`;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _core = require("@chayns-components/core");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _EmojiPicker = _interopRequireDefault(require("../emoji-picker/EmojiPicker"));
10
+ var _EmojiPickerPopup = require("./EmojiPickerPopup.styles");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ const EmojiPickerPopup = ({
14
+ accessToken,
15
+ onPopupVisibilityChange,
16
+ onSelect,
17
+ personId
18
+ }) => {
19
+ const popupRef = (0, _react.useRef)(null);
20
+ const handleKeyPress = (0, _react.useCallback)(event => {
21
+ if (event.key === 'Escape' && !event.shiftKey) {
22
+ var _popupRef$current;
23
+ (_popupRef$current = popupRef.current) === null || _popupRef$current === void 0 || _popupRef$current.hide();
24
+ }
25
+ }, []);
26
+ (0, _react.useEffect)(() => {
27
+ document.addEventListener('keydown', handleKeyPress);
28
+ return () => {
29
+ document.addEventListener('keydown', handleKeyPress);
30
+ };
31
+ }, [handleKeyPress]);
32
+ return /*#__PURE__*/_react.default.createElement(_EmojiPickerPopup.StyledEmojiPickerPopup, null, /*#__PURE__*/_react.default.createElement(_core.Popup, {
33
+ ref: popupRef,
34
+ onHide: () => typeof onPopupVisibilityChange === 'function' ? onPopupVisibilityChange(false) : undefined,
35
+ onShow: () => typeof onPopupVisibilityChange === 'function' ? onPopupVisibilityChange(true) : undefined,
36
+ content: /*#__PURE__*/_react.default.createElement(_core.AreaProvider, {
37
+ shouldChangeColor: false
38
+ }, /*#__PURE__*/_react.default.createElement(_EmojiPicker.default, {
39
+ accessToken: accessToken,
40
+ onSelect: onSelect,
41
+ personId: personId
42
+ }))
43
+ }, /*#__PURE__*/_react.default.createElement(_core.Icon, {
44
+ className: "prevent-lose-focus",
45
+ icons: ['far fa-smile'],
46
+ size: 18
47
+ })));
48
+ };
49
+ EmojiPickerPopup.displayName = 'EmojiPickerPopup';
50
+ var _default = exports.default = EmojiPickerPopup;
51
+ //# sourceMappingURL=EmojiPickerPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiPickerPopup.js","names":["_core","require","_react","_interopRequireWildcard","_EmojiPicker","_interopRequireDefault","_EmojiPickerPopup","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EmojiPickerPopup","accessToken","onPopupVisibilityChange","onSelect","personId","popupRef","useRef","handleKeyPress","useCallback","event","key","shiftKey","_popupRef$current","current","hide","useEffect","document","addEventListener","createElement","StyledEmojiPickerPopup","Popup","ref","onHide","undefined","onShow","content","AreaProvider","shouldChangeColor","Icon","className","icons","size","displayName","_default","exports"],"sources":["../../../../src/components/emoji-picker-popup/EmojiPickerPopup.tsx"],"sourcesContent":["import { AreaProvider, Icon, Popup, type PopupRef } from '@chayns-components/core';\nimport React, { FC, useCallback, useEffect, useRef } from 'react';\nimport EmojiPicker from '../emoji-picker/EmojiPicker';\nimport { StyledEmojiPickerPopup } from './EmojiPickerPopup.styles';\n\nexport type EmojiPickerPopupProps = {\n /**\n * Access token of the logged-in user. Is needed to load and save the history of the emojis.\n */\n accessToken?: string;\n /**\n * Function that is executed when the visibility of the popup changes.\n * @param {boolean} isVisible - Whether the popup is visible or not\n */\n onPopupVisibilityChange?: (isVisible: boolean) => void;\n /**\n * Person id of the logged-in user. Is needed to load and save the history of the emojis.\n */\n personId?: string;\n /**\n * Function executed when an emoji is selected in the popup\n * @param {string} emoji - Emoji that was selected\n */\n onSelect: (emoji: string) => void;\n};\n\nconst EmojiPickerPopup: FC<EmojiPickerPopupProps> = ({\n accessToken,\n onPopupVisibilityChange,\n onSelect,\n personId,\n}) => {\n const popupRef = useRef<PopupRef>(null);\n\n const handleKeyPress = useCallback((event: KeyboardEvent) => {\n if (event.key === 'Escape' && !event.shiftKey) {\n popupRef.current?.hide();\n }\n }, []);\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyPress);\n\n return () => {\n document.addEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n return (\n <StyledEmojiPickerPopup>\n <Popup\n ref={popupRef}\n onHide={() =>\n typeof onPopupVisibilityChange === 'function'\n ? onPopupVisibilityChange(false)\n : undefined\n }\n onShow={() =>\n typeof onPopupVisibilityChange === 'function'\n ? onPopupVisibilityChange(true)\n : undefined\n }\n content={\n <AreaProvider shouldChangeColor={false}>\n <EmojiPicker\n accessToken={accessToken}\n onSelect={onSelect}\n personId={personId}\n />\n </AreaProvider>\n }\n >\n <Icon className=\"prevent-lose-focus\" icons={['far fa-smile']} size={18} />\n </Popup>\n </StyledEmojiPickerPopup>\n );\n};\n\nEmojiPickerPopup.displayName = 'EmojiPickerPopup';\n\nexport default EmojiPickerPopup;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledEmojiPickerPopup = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const StyledEmojiPickerPopup = exports.StyledEmojiPickerPopup = _styledComponents.default.div`
10
+ align-items: center;
11
+ display: flex;
12
+ height: ${() => getComputedStyle(document.body).getPropertyValue('line-height')};
13
+ position: relative;
14
+ `;
15
+ //# sourceMappingURL=EmojiPickerPopup.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiPickerPopup.styles.js","names":["_styledComponents","_interopRequireDefault","require","e","__esModule","default","StyledEmojiPickerPopup","exports","styled","div","getComputedStyle","document","body","getPropertyValue"],"sources":["../../../../src/components/emoji-picker-popup/EmojiPickerPopup.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledEmojiPickerPopup = styled.div`\n align-items: center;\n display: flex;\n height: ${() => getComputedStyle(document.body).getPropertyValue('line-height')};\n position: relative;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAGE,yBAAM,CAACC,GAAG;AAChD;AACA;AACA,cAAc,MAAMC,gBAAgB,CAACC,QAAQ,CAACC,IAAI,CAAC,CAACC,gBAAgB,CAAC,aAAa,CAAC;AACnF;AACA,CAAC","ignoreList":[]}
@@ -4,18 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.PopupAlignment = exports.AnchorAlignment = void 0;
7
- let AnchorAlignment = /*#__PURE__*/function (AnchorAlignment) {
7
+ let AnchorAlignment = exports.AnchorAlignment = /*#__PURE__*/function (AnchorAlignment) {
8
8
  AnchorAlignment[AnchorAlignment["Bottom"] = 0] = "Bottom";
9
9
  AnchorAlignment[AnchorAlignment["Top"] = 1] = "Top";
10
10
  return AnchorAlignment;
11
11
  }({});
12
- exports.AnchorAlignment = AnchorAlignment;
13
- let PopupAlignment = /*#__PURE__*/function (PopupAlignment) {
12
+ let PopupAlignment = exports.PopupAlignment = /*#__PURE__*/function (PopupAlignment) {
14
13
  PopupAlignment[PopupAlignment["TopLeft"] = 0] = "TopLeft";
15
14
  PopupAlignment[PopupAlignment["BottomLeft"] = 1] = "BottomLeft";
16
15
  PopupAlignment[PopupAlignment["TopRight"] = 2] = "TopRight";
17
16
  PopupAlignment[PopupAlignment["BottomRight"] = 3] = "BottomRight";
18
17
  return PopupAlignment;
19
18
  }({});
20
- exports.PopupAlignment = PopupAlignment;
21
19
  //# sourceMappingURL=alignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignment.js","names":["AnchorAlignment","exports","PopupAlignment"],"sources":["../../../src/constants/alignment.ts"],"sourcesContent":["export enum AnchorAlignment {\n Bottom,\n Top,\n}\n\nexport enum PopupAlignment {\n TopLeft,\n BottomLeft,\n TopRight,\n BottomRight,\n}\n"],"mappings":";;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAKfE,cAAc,GAAAD,OAAA,CAAAC,cAAA,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CATEGORY_EMOJIS = void 0;
7
- const CATEGORY_EMOJIS = {
7
+ const CATEGORY_EMOJIS = exports.CATEGORY_EMOJIS = {
8
8
  history: '🕘',
9
9
  smileys_emotion: '😀',
10
10
  people_body: '👦',
@@ -16,5 +16,4 @@ const CATEGORY_EMOJIS = {
16
16
  symbols: '🔣',
17
17
  flags: '🏴'
18
18
  };
19
- exports.CATEGORY_EMOJIS = CATEGORY_EMOJIS;
20
19
  //# sourceMappingURL=categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.js","names":["CATEGORY_EMOJIS","exports","history","smileys_emotion","people_body","animals_nature","food_drink","travel_places","activities","objects","symbols","flags"],"sources":["../../../src/constants/categories.ts"],"sourcesContent":["export const CATEGORY_EMOJIS = {\n history: '🕘',\n smileys_emotion: '😀',\n people_body: '👦',\n animals_nature: '🐶',\n food_drink: '🍔',\n travel_places: '🏠',\n activities: '⚽',\n objects: '💡',\n symbols: '🔣',\n flags: '🏴',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC3BE,OAAO,EAAE,IAAI;EACbC,eAAe,EAAE,IAAI;EACrBC,WAAW,EAAE,IAAI;EACjBC,cAAc,EAAE,IAAI;EACpBC,UAAU,EAAE,IAAI;EAChBC,aAAa,EAAE,IAAI;EACnBC,UAAU,EAAE,GAAG;EACfC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,KAAK,EAAE;AACX,CAAC","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.shortNameList = exports.regShortnames = exports.regAscii = exports.asciiList = void 0;
7
- const asciiList = {
7
+ const asciiList = exports.asciiList = {
8
8
  '*\\0/*': '1f646',
9
9
  '*\\O/*': '1f646',
10
10
  '-___-': '1f611',
@@ -121,11 +121,9 @@ const asciiList = {
121
121
  ':]': '1f642',
122
122
  ':D': '1f604'
123
123
  };
124
- exports.asciiList = asciiList;
125
124
  const asciiRegexp = "(\\*\\\\0\\/\\*|\\*\\\\O\\/\\*|\\-___\\-|\\:'\\-\\)|'\\:\\-\\)|'\\:\\-D|\\>\\:\\-\\)|>\\:\\-\\)|'\\:\\-\\(|\\>\\:\\-\\(|>\\:\\-\\(|\\:'\\-\\(|O\\:\\-\\)|0\\:\\-3|0\\:\\-\\)|0;\\^\\)|O;\\-\\)|0;\\-\\)|O\\:\\-3|\\-__\\-|\\:\\-Þ|\\:\\-Þ|\\<\\/3|<\\/3|\\:'\\)|\\:\\-D|'\\:\\)|'\\=\\)|'\\:D|'\\=D|\\>\\:\\)|>\\:\\)|\\>;\\)|>;\\)|\\>\\=\\)|>\\=\\)|;\\-\\)|\\*\\-\\)|;\\-\\]|;\\^\\)|'\\:\\(|'\\=\\(|\\:\\-\\*|\\:\\^\\*|\\>\\:P|>\\:P|X\\-P|\\>\\:\\[|>\\:\\[|\\:\\-\\(|\\:\\-\\[|\\>\\:\\(|>\\:\\(|\\:'\\(|;\\-\\(|\\>\\.\\<|>\\.<|#\\-\\)|%\\-\\)|X\\-\\)|\\\\0\\/|\\\\O\\/|0\\:3|0\\:\\)|O\\:\\)|O\\=\\)|O\\:3|B\\-\\)|8\\-\\)|B\\-D|8\\-D|\\-_\\-|\\>\\:\\\\|>\\:\\\\|\\>\\:\\/|>\\:\\/|\\:\\-\\/|\\:\\-\\.|\\:\\-P|\\:Þ|\\:Þ|\\:\\-b|\\:\\-O|O_O|\\>\\:O|>\\:O|\\:\\-X|\\:\\-#|\\:\\-\\)|\\(y\\)|\\<3|<3|\\=D|;\\)|\\*\\)|;\\]|;D|\\:\\*|\\=\\*|\\:\\(|\\:\\[|\\=\\(|\\:@|;\\(|D\\:|\\:\\$|\\=\\$|#\\)|%\\)|X\\)|B\\)|8\\)|\\:\\/|\\:\\\\|\\=\\/|\\=\\\\|\\:L|\\=L|\\:P|\\=P|\\:b|\\:O|\\:X|\\:#|\\=X|\\=#|\\:\\)|\\=\\]|\\=\\)|\\:\\]|\\:D)";
126
- const regAscii = new RegExp(`<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|((\\s|^)${asciiRegexp}(?=\\s|$|[!,.?]))`, 'gi');
127
- exports.regAscii = regAscii;
128
- const shortNameList = {
125
+ const regAscii = exports.regAscii = new RegExp(`<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|((\\s|^)${asciiRegexp}(?=\\s|$|[!,.?]))`, 'gi');
126
+ const shortNameList = exports.shortNameList = {
129
127
  ':england:': '1f3f4-e0067-e0062-e0065-e006e-e0067-e007f',
130
128
  ':scotland:': '1f3f4-e0067-e0062-e0073-e0063-e0074-e007f',
131
129
  ':wales:': '1f3f4-e0067-e0062-e0077-e006c-e0073-e007f',
@@ -3798,11 +3796,9 @@ const shortNameList = {
3798
3796
  ':yin_yang:': '262f-fe0f',
3799
3797
  ':zap:': '26a1'
3800
3798
  };
3801
- exports.shortNameList = shortNameList;
3802
3799
  let shortnameRegexp = '';
3803
3800
  Object.keys(shortNameList).forEach((shortname, index) => {
3804
3801
  shortnameRegexp += `${index !== 0 ? '|' : ''}${shortname}`;
3805
3802
  });
3806
- const regShortnames = new RegExp(`<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|(${shortnameRegexp})`, 'gi');
3807
- exports.regShortnames = regShortnames;
3803
+ const regShortnames = exports.regShortnames = new RegExp(`<object[^>]*>.*?</object>|<span[^>]*>.*?</span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|(${shortnameRegexp})`, 'gi');
3808
3804
  //# sourceMappingURL=emoji.js.map