@bigbinary/neeto-molecules 3.3.11 → 3.3.12

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 (319) hide show
  1. package/dist/Breadcrumbs.js +28 -24
  2. package/dist/Breadcrumbs.js.map +1 -1
  3. package/dist/BrowserSupport.js +95 -69
  4. package/dist/BrowserSupport.js.map +1 -1
  5. package/dist/Builder.js +337 -285
  6. package/dist/Builder.js.map +1 -1
  7. package/dist/CalendarView.js +121 -110
  8. package/dist/CalendarView.js.map +1 -1
  9. package/dist/{Chevron-dee43d2f.js → Chevron-6564bcdc.js} +81 -67
  10. package/dist/Chevron-6564bcdc.js.map +1 -0
  11. package/dist/Codeblock.js +30 -25
  12. package/dist/Codeblock.js.map +1 -1
  13. package/dist/Columns.js +3 -3
  14. package/dist/ConfigurePageSidebar.js +39 -37
  15. package/dist/ConfigurePageSidebar.js.map +1 -1
  16. package/dist/ConfirmationModal.js +54 -42
  17. package/dist/ConfirmationModal.js.map +1 -1
  18. package/dist/Container.js +6 -4
  19. package/dist/Container.js.map +1 -1
  20. package/dist/CopyToClipboardButton.js +5 -3
  21. package/dist/CopyToClipboardButton.js.map +1 -1
  22. package/dist/Currency.js +9 -4
  23. package/dist/Currency.js.map +1 -1
  24. package/dist/CustomDomain.js +56 -53
  25. package/dist/CustomDomain.js.map +1 -1
  26. package/dist/CustomDomainDashboard.js +131 -113
  27. package/dist/CustomDomainDashboard.js.map +1 -1
  28. package/dist/DateFormat.js +13 -7
  29. package/dist/DateFormat.js.map +1 -1
  30. package/dist/DateRangeFilter.js +43 -38
  31. package/dist/DateRangeFilter.js.map +1 -1
  32. package/dist/DeleteArchiveModal.js +47 -38
  33. package/dist/DeleteArchiveModal.js.map +1 -1
  34. package/dist/DocumentEditor.js +43 -39
  35. package/dist/DocumentEditor.js.map +1 -1
  36. package/dist/DownloadMobileAppCallout.js +15 -14
  37. package/dist/DownloadMobileAppCallout.js.map +1 -1
  38. package/dist/DynamicVariables.js +33 -26
  39. package/dist/DynamicVariables.js.map +1 -1
  40. package/dist/EmailForm.js +144 -131
  41. package/dist/EmailForm.js.map +1 -1
  42. package/dist/EmailPreview.js +83 -68
  43. package/dist/EmailPreview.js.map +1 -1
  44. package/dist/EmojiPicker.js +11 -6
  45. package/dist/EmojiPicker.js.map +1 -1
  46. package/dist/EmojiReactions.js +48 -37
  47. package/dist/EmojiReactions.js.map +1 -1
  48. package/dist/ErrorPage.js +51 -38
  49. package/dist/ErrorPage.js.map +1 -1
  50. package/dist/FileUpload.js +180 -149
  51. package/dist/FileUpload.js.map +1 -1
  52. package/dist/FloatingActionMenu.js +288 -230
  53. package/dist/FloatingActionMenu.js.map +1 -1
  54. package/dist/Header.js +42 -35
  55. package/dist/Header.js.map +1 -1
  56. package/dist/HelpPopover.js +50 -42
  57. package/dist/HelpPopover.js.map +1 -1
  58. package/dist/IconPicker.js +121 -100
  59. package/dist/IconPicker.js.map +1 -1
  60. package/dist/ImageWithFallback.js +9 -5
  61. package/dist/ImageWithFallback.js.map +1 -1
  62. package/dist/InlineInput.js +59 -52
  63. package/dist/InlineInput.js.map +1 -1
  64. package/dist/Insights.js +185 -153
  65. package/dist/Insights.js.map +1 -1
  66. package/dist/IntegrationCard.js +109 -91
  67. package/dist/IntegrationCard.js.map +1 -1
  68. package/dist/IntegrationDisconnectAlert.js +5 -3
  69. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  70. package/dist/IntegrationWalkthroughModal.js +30 -20
  71. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  72. package/dist/IpRestriction.js +209 -177
  73. package/dist/IpRestriction.js.map +1 -1
  74. package/dist/KeyboardShortcuts.js +83 -73
  75. package/dist/KeyboardShortcuts.js.map +1 -1
  76. package/dist/LoginPage.js +70 -63
  77. package/dist/LoginPage.js.map +1 -1
  78. package/dist/MadeWith.js +14 -9
  79. package/dist/MadeWith.js.map +1 -1
  80. package/dist/MenuBar.js +107 -77
  81. package/dist/MenuBar.js.map +1 -1
  82. package/dist/Metadata.js +124 -100
  83. package/dist/Metadata.js.map +1 -1
  84. package/dist/MoreDropdown.js +55 -43
  85. package/dist/MoreDropdown.js.map +1 -1
  86. package/dist/NavigationHeader.js +104 -81
  87. package/dist/NavigationHeader.js.map +1 -1
  88. package/dist/NeetoWidget.js +383 -330
  89. package/dist/NeetoWidget.js.map +1 -1
  90. package/dist/Onboarding.js +125 -107
  91. package/dist/Onboarding.js.map +1 -1
  92. package/dist/OptionFields.js +261 -227
  93. package/dist/OptionFields.js.map +1 -1
  94. package/dist/PageLoader.js +23 -19
  95. package/dist/PageLoader.js.map +1 -1
  96. package/dist/PhoneNumber.js +85 -69
  97. package/dist/PhoneNumber.js.map +1 -1
  98. package/dist/ProductEmbed.js +384 -341
  99. package/dist/ProductEmbed.js.map +1 -1
  100. package/dist/PublishBlock.js +185 -154
  101. package/dist/PublishBlock.js.map +1 -1
  102. package/dist/PublishYourItem.js +35 -30
  103. package/dist/PublishYourItem.js.map +1 -1
  104. package/dist/Rename.js +102 -83
  105. package/dist/Rename.js.map +1 -1
  106. package/dist/ResponsiveDevicePicker.js +25 -21
  107. package/dist/ResponsiveDevicePicker.js.map +1 -1
  108. package/dist/Schedule.js +340 -301
  109. package/dist/Schedule.js.map +1 -1
  110. package/dist/Scrollable.js +7 -4
  111. package/dist/Scrollable.js.map +1 -1
  112. package/dist/Search.js +6 -4
  113. package/dist/Search.js.map +1 -1
  114. package/dist/SendToFields.js +154 -125
  115. package/dist/SendToFields.js.map +1 -1
  116. package/dist/Settings.js +94 -78
  117. package/dist/Settings.js.map +1 -1
  118. package/dist/ShareRecordingPane.js +60 -49
  119. package/dist/ShareRecordingPane.js.map +1 -1
  120. package/dist/ShareViaEmail.js +167 -146
  121. package/dist/ShareViaEmail.js.map +1 -1
  122. package/dist/ShareViaLink.js +289 -255
  123. package/dist/ShareViaLink.js.map +1 -1
  124. package/dist/Sidebar.js +122 -111
  125. package/dist/Sidebar.js.map +1 -1
  126. package/dist/StickyRibbonsContainer.js +20 -18
  127. package/dist/StickyRibbonsContainer.js.map +1 -1
  128. package/dist/SubHeader.js +111 -100
  129. package/dist/SubHeader.js.map +1 -1
  130. package/dist/SuffixedInput.js +52 -47
  131. package/dist/SuffixedInput.js.map +1 -1
  132. package/dist/TableWrapper.js +9 -7
  133. package/dist/TableWrapper.js.map +1 -1
  134. package/dist/Taxonomy.js +179 -151
  135. package/dist/Taxonomy.js.map +1 -1
  136. package/dist/TimeFormat.js +2 -2
  137. package/dist/TimezoneMismatchModal.js +55 -43
  138. package/dist/TimezoneMismatchModal.js.map +1 -1
  139. package/dist/ToggleFeatureCard.js +74 -65
  140. package/dist/ToggleFeatureCard.js.map +1 -1
  141. package/dist/cjs/Breadcrumbs.js +28 -25
  142. package/dist/cjs/Breadcrumbs.js.map +1 -1
  143. package/dist/cjs/BrowserSupport.js +96 -71
  144. package/dist/cjs/BrowserSupport.js.map +1 -1
  145. package/dist/cjs/Builder.js +336 -286
  146. package/dist/cjs/Builder.js.map +1 -1
  147. package/dist/cjs/CalendarView.js +120 -111
  148. package/dist/cjs/CalendarView.js.map +1 -1
  149. package/dist/cjs/{Chevron-c10b4e16.js → Chevron-6368e586.js} +81 -69
  150. package/dist/cjs/Chevron-6368e586.js.map +1 -0
  151. package/dist/cjs/Codeblock.js +31 -27
  152. package/dist/cjs/Codeblock.js.map +1 -1
  153. package/dist/cjs/Columns.js +3 -3
  154. package/dist/cjs/ConfigurePageSidebar.js +38 -37
  155. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  156. package/dist/cjs/ConfirmationModal.js +53 -42
  157. package/dist/cjs/ConfirmationModal.js.map +1 -1
  158. package/dist/cjs/Container.js +5 -4
  159. package/dist/cjs/Container.js.map +1 -1
  160. package/dist/cjs/CopyToClipboardButton.js +4 -4
  161. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  162. package/dist/cjs/Currency.js +9 -5
  163. package/dist/cjs/Currency.js.map +1 -1
  164. package/dist/cjs/CustomDomain.js +55 -53
  165. package/dist/cjs/CustomDomain.js.map +1 -1
  166. package/dist/cjs/CustomDomainDashboard.js +131 -114
  167. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  168. package/dist/cjs/DateFormat.js +14 -9
  169. package/dist/cjs/DateFormat.js.map +1 -1
  170. package/dist/cjs/DateRangeFilter.js +44 -40
  171. package/dist/cjs/DateRangeFilter.js.map +1 -1
  172. package/dist/cjs/DeleteArchiveModal.js +46 -38
  173. package/dist/cjs/DeleteArchiveModal.js.map +1 -1
  174. package/dist/cjs/DocumentEditor.js +42 -40
  175. package/dist/cjs/DocumentEditor.js.map +1 -1
  176. package/dist/cjs/DownloadMobileAppCallout.js +15 -15
  177. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -1
  178. package/dist/cjs/DynamicVariables.js +32 -27
  179. package/dist/cjs/DynamicVariables.js.map +1 -1
  180. package/dist/cjs/EmailForm.js +143 -131
  181. package/dist/cjs/EmailForm.js.map +1 -1
  182. package/dist/cjs/EmailPreview.js +82 -68
  183. package/dist/cjs/EmailPreview.js.map +1 -1
  184. package/dist/cjs/EmojiPicker.js +11 -7
  185. package/dist/cjs/EmojiPicker.js.map +1 -1
  186. package/dist/cjs/EmojiReactions.js +47 -37
  187. package/dist/cjs/EmojiReactions.js.map +1 -1
  188. package/dist/cjs/ErrorPage.js +51 -39
  189. package/dist/cjs/ErrorPage.js.map +1 -1
  190. package/dist/cjs/FileUpload.js +181 -152
  191. package/dist/cjs/FileUpload.js.map +1 -1
  192. package/dist/cjs/FloatingActionMenu.js +288 -232
  193. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  194. package/dist/cjs/Header.js +41 -36
  195. package/dist/cjs/Header.js.map +1 -1
  196. package/dist/cjs/HelpPopover.js +50 -43
  197. package/dist/cjs/HelpPopover.js.map +1 -1
  198. package/dist/cjs/IconPicker.js +121 -101
  199. package/dist/cjs/IconPicker.js.map +1 -1
  200. package/dist/cjs/ImageWithFallback.js +8 -6
  201. package/dist/cjs/ImageWithFallback.js.map +1 -1
  202. package/dist/cjs/InlineInput.js +59 -54
  203. package/dist/cjs/InlineInput.js.map +1 -1
  204. package/dist/cjs/Insights.js +185 -154
  205. package/dist/cjs/Insights.js.map +1 -1
  206. package/dist/cjs/IntegrationCard.js +110 -93
  207. package/dist/cjs/IntegrationCard.js.map +1 -1
  208. package/dist/cjs/IntegrationDisconnectAlert.js +6 -5
  209. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
  210. package/dist/cjs/IntegrationWalkthroughModal.js +30 -21
  211. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -1
  212. package/dist/cjs/IpRestriction.js +208 -177
  213. package/dist/cjs/IpRestriction.js.map +1 -1
  214. package/dist/cjs/KeyboardShortcuts.js +83 -74
  215. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  216. package/dist/cjs/LoginPage.js +69 -63
  217. package/dist/cjs/LoginPage.js.map +1 -1
  218. package/dist/cjs/MadeWith.js +14 -10
  219. package/dist/cjs/MadeWith.js.map +1 -1
  220. package/dist/cjs/MenuBar.js +108 -79
  221. package/dist/cjs/MenuBar.js.map +1 -1
  222. package/dist/cjs/Metadata.js +123 -100
  223. package/dist/cjs/Metadata.js.map +1 -1
  224. package/dist/cjs/MoreDropdown.js +55 -45
  225. package/dist/cjs/MoreDropdown.js.map +1 -1
  226. package/dist/cjs/NavigationHeader.js +105 -83
  227. package/dist/cjs/NavigationHeader.js.map +1 -1
  228. package/dist/cjs/NeetoWidget.js +383 -332
  229. package/dist/cjs/NeetoWidget.js.map +1 -1
  230. package/dist/cjs/Onboarding.js +125 -109
  231. package/dist/cjs/Onboarding.js.map +1 -1
  232. package/dist/cjs/OptionFields.js +261 -229
  233. package/dist/cjs/OptionFields.js.map +1 -1
  234. package/dist/cjs/PageLoader.js +23 -20
  235. package/dist/cjs/PageLoader.js.map +1 -1
  236. package/dist/cjs/PhoneNumber.js +86 -72
  237. package/dist/cjs/PhoneNumber.js.map +1 -1
  238. package/dist/cjs/ProductEmbed.js +383 -341
  239. package/dist/cjs/ProductEmbed.js.map +1 -1
  240. package/dist/cjs/PublishBlock.js +185 -156
  241. package/dist/cjs/PublishBlock.js.map +1 -1
  242. package/dist/cjs/PublishYourItem.js +35 -31
  243. package/dist/cjs/PublishYourItem.js.map +1 -1
  244. package/dist/cjs/Rename.js +102 -85
  245. package/dist/cjs/Rename.js.map +1 -1
  246. package/dist/cjs/ResponsiveDevicePicker.js +26 -24
  247. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  248. package/dist/cjs/Schedule.js +339 -301
  249. package/dist/cjs/Schedule.js.map +1 -1
  250. package/dist/cjs/Scrollable.js +7 -6
  251. package/dist/cjs/Scrollable.js.map +1 -1
  252. package/dist/cjs/Search.js +5 -5
  253. package/dist/cjs/Search.js.map +1 -1
  254. package/dist/cjs/SendToFields.js +154 -126
  255. package/dist/cjs/SendToFields.js.map +1 -1
  256. package/dist/cjs/Settings.js +94 -80
  257. package/dist/cjs/Settings.js.map +1 -1
  258. package/dist/cjs/ShareRecordingPane.js +60 -51
  259. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  260. package/dist/cjs/ShareViaEmail.js +167 -148
  261. package/dist/cjs/ShareViaEmail.js.map +1 -1
  262. package/dist/cjs/ShareViaLink.js +290 -256
  263. package/dist/cjs/ShareViaLink.js.map +1 -1
  264. package/dist/cjs/Sidebar.js +120 -111
  265. package/dist/cjs/Sidebar.js.map +1 -1
  266. package/dist/cjs/StickyRibbonsContainer.js +20 -19
  267. package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
  268. package/dist/cjs/SubHeader.js +110 -101
  269. package/dist/cjs/SubHeader.js.map +1 -1
  270. package/dist/cjs/SuffixedInput.js +51 -48
  271. package/dist/cjs/SuffixedInput.js.map +1 -1
  272. package/dist/cjs/TableWrapper.js +9 -8
  273. package/dist/cjs/TableWrapper.js.map +1 -1
  274. package/dist/cjs/Taxonomy.js +178 -151
  275. package/dist/cjs/Taxonomy.js.map +1 -1
  276. package/dist/cjs/TimeFormat.js +2 -2
  277. package/dist/cjs/TimezoneMismatchModal.js +54 -43
  278. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  279. package/dist/cjs/ToggleFeatureCard.js +73 -66
  280. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  281. package/dist/cjs/{index-4ee3f585.js → index-c925b4b1.js} +296 -239
  282. package/dist/cjs/index-c925b4b1.js.map +1 -0
  283. package/dist/cjs/{useColumns-5ce3cf1e.js → useColumns-8894f767.js} +52 -42
  284. package/dist/cjs/useColumns-8894f767.js.map +1 -0
  285. package/dist/{index-0063079e.js → index-e123ffe8.js} +296 -238
  286. package/dist/index-e123ffe8.js.map +1 -0
  287. package/dist/{useColumns-e0b5dfb7.js → useColumns-13263cd8.js} +52 -40
  288. package/dist/useColumns-13263cd8.js.map +1 -0
  289. package/package.json +5 -3
  290. package/types/Breadcrumbs.d.ts +0 -1
  291. package/types/Builder.d.ts +0 -1
  292. package/types/Codeblock.d.ts +0 -1
  293. package/types/Columns.d.ts +10 -4
  294. package/types/ConfirmationModal.d.ts +0 -1
  295. package/types/DeleteArchiveModal.d.ts +9 -6
  296. package/types/DocumentEditor.d.ts +0 -1
  297. package/types/EmailForm.d.ts +0 -1
  298. package/types/EmailFormProvider.d.ts +0 -1
  299. package/types/EmailPreview.d.ts +0 -1
  300. package/types/FileUpload.d.ts +8 -4
  301. package/types/IntegrationWalkthroughModal.d.ts +1 -1
  302. package/types/Metadata.d.ts +0 -1
  303. package/types/MoreDropdown.d.ts +0 -1
  304. package/types/NavigationHeader.d.ts +0 -4
  305. package/types/PhoneNumber.d.ts +1 -1
  306. package/types/ProductEmbed.d.ts +0 -1
  307. package/types/Schedule.d.ts +1 -1
  308. package/types/Search.d.ts +0 -1
  309. package/types/SendToFields.d.ts +0 -1
  310. package/types/Settings.d.ts +1 -1
  311. package/types/ShareRecordingPane.d.ts +1 -1
  312. package/types/ShareViaEmail.d.ts +1 -2
  313. package/types/Taxonomy.d.ts +0 -1
  314. package/dist/Chevron-dee43d2f.js.map +0 -1
  315. package/dist/cjs/Chevron-c10b4e16.js.map +0 -1
  316. package/dist/cjs/index-4ee3f585.js.map +0 -1
  317. package/dist/cjs/useColumns-5ce3cf1e.js.map +0 -1
  318. package/dist/index-0063079e.js.map +0 -1
  319. package/dist/useColumns-e0b5dfb7.js.map +0 -1
@@ -8,17 +8,17 @@ var EditorContent = require('@bigbinary/neeto-editor/EditorContent');
8
8
  var Typography = require('@bigbinary/neetoui/Typography');
9
9
  var Button = require('@bigbinary/neetoui/Button');
10
10
  var index = require('./index-248c4f4c.js');
11
+ var jsxRuntime = require('react/jsx-runtime');
11
12
 
12
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
14
 
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
15
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
16
16
  var withT__default = /*#__PURE__*/_interopDefaultLegacy(withT);
17
17
  var EditorContent__default = /*#__PURE__*/_interopDefaultLegacy(EditorContent);
18
18
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
19
19
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
20
20
 
21
- var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(EditorContent__default["default"]);
21
+ var MemoizedEditorContent = /*#__PURE__*/React.memo(EditorContent__default["default"]);
22
22
  var EmailPreview = withT__default["default"](function (_ref) {
23
23
  var t = _ref.t,
24
24
  _ref$to = _ref.to,
@@ -31,74 +31,88 @@ var EmailPreview = withT__default["default"](function (_ref) {
31
31
  _ref$className = _ref.className,
32
32
  className = _ref$className === void 0 ? "" : _ref$className,
33
33
  customContent = _ref.customContent;
34
- return /*#__PURE__*/React__default["default"].createElement("div", {
34
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
35
35
  "data-cy": "email-preview-card",
36
36
  "data-testid": "email-preview",
37
- className: classnames__default["default"]("neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border", className)
38
- }, /*#__PURE__*/React__default["default"].createElement("div", {
39
- className: "neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6"
40
- }, /*#__PURE__*/React__default["default"].createElement("div", {
41
- className: "flex gap-2",
42
- "data-cy": "email-send-to-preview",
43
- "data-testid": "email-to-block"
44
- }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
45
- className: "neeto-ui-text-gray-500",
46
- lineHeight: "normal",
47
- style: "body2"
48
- }, t("neetoMolecules.emailPreview.to"), ":"), neetoCist.isPresent(to) ? /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
49
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
50
- lineHeight: "normal",
51
- style: "body2"
52
- }, to.join(", ")) : /*#__PURE__*/React__default["default"].createElement("div", {
53
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40"
54
- })), from && /*#__PURE__*/React__default["default"].createElement("div", {
55
- className: "flex items-center gap-2 pt-3"
56
- }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
57
- className: "neeto-ui-text-gray-500",
58
- lineHeight: "normal",
59
- style: "body2"
60
- }, t("neetoMolecules.emailPreview.from"), ":"), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
61
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
62
- "data-cy": "email-send-from-preview",
63
- lineHeight: "normal",
64
- style: "body2"
65
- }, from)), /*#__PURE__*/React__default["default"].createElement("div", {
66
- className: "flex items-center gap-2 pt-3"
67
- }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
68
- className: "neeto-ui-text-gray-500",
69
- lineHeight: "normal",
70
- style: "body2"
71
- }, t("neetoMolecules.emailPreview.subject"), ":"), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
72
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
73
- "data-cy": "email-subject-preview",
74
- lineHeight: "normal",
75
- style: "body2"
76
- }, subject || /*#__PURE__*/React__default["default"].createElement("span", {
77
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40"
78
- })))), /*#__PURE__*/React__default["default"].createElement("div", {
79
- className: "neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed",
80
- "data-cy": "email-body-preview-container"
81
- }, body ? /*#__PURE__*/React__default["default"].createElement(MemoizedEditorContent, {
82
- content: body
83
- }) : /*#__PURE__*/React__default["default"].createElement("div", {
84
- className: "space-y-4"
85
- }, /*#__PURE__*/React__default["default"].createElement("div", {
86
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
87
- }), /*#__PURE__*/React__default["default"].createElement("div", {
88
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72"
89
- }), /*#__PURE__*/React__default["default"].createElement("div", {
90
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
91
- })), customContent && customContent, actionButtonText && /*#__PURE__*/React__default["default"].createElement("div", {
92
- className: "mt-6 flex w-full items-center justify-center"
93
- }, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
94
- className: "pointer-events-none",
95
- label: actionButtonText
96
- })), logo && /*#__PURE__*/React__default["default"].createElement("img", {
97
- alt: t("neetoMolecules.emailPreview.logoAltText"),
98
- className: "h-20 w-36 object-cover",
99
- "data-cy": "company-logo-preview",
100
- src: logo
101
- })));
37
+ className: classnames__default["default"]("neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border", className),
38
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
39
+ className: "neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6",
40
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
41
+ className: "flex gap-2",
42
+ "data-cy": "email-send-to-preview",
43
+ "data-testid": "email-to-block",
44
+ children: [/*#__PURE__*/jsxRuntime.jsxs(Typography__default["default"], {
45
+ className: "neeto-ui-text-gray-500",
46
+ lineHeight: "normal",
47
+ style: "body2",
48
+ children: [t("neetoMolecules.emailPreview.to"), ":"]
49
+ }), neetoCist.isPresent(to) ? /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
50
+ className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
51
+ lineHeight: "normal",
52
+ style: "body2",
53
+ children: to.join(", ")
54
+ }) : /*#__PURE__*/jsxRuntime.jsx("div", {
55
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40"
56
+ })]
57
+ }), from && /*#__PURE__*/jsxRuntime.jsxs("div", {
58
+ className: "flex items-center gap-2 pt-3",
59
+ children: [/*#__PURE__*/jsxRuntime.jsxs(Typography__default["default"], {
60
+ className: "neeto-ui-text-gray-500",
61
+ lineHeight: "normal",
62
+ style: "body2",
63
+ children: [t("neetoMolecules.emailPreview.from"), ":"]
64
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
65
+ className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
66
+ "data-cy": "email-send-from-preview",
67
+ lineHeight: "normal",
68
+ style: "body2",
69
+ children: from
70
+ })]
71
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
72
+ className: "flex items-center gap-2 pt-3",
73
+ children: [/*#__PURE__*/jsxRuntime.jsxs(Typography__default["default"], {
74
+ className: "neeto-ui-text-gray-500",
75
+ lineHeight: "normal",
76
+ style: "body2",
77
+ children: [t("neetoMolecules.emailPreview.subject"), ":"]
78
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
79
+ className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
80
+ "data-cy": "email-subject-preview",
81
+ lineHeight: "normal",
82
+ style: "body2",
83
+ children: subject || /*#__PURE__*/jsxRuntime.jsx("span", {
84
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40"
85
+ })
86
+ })]
87
+ })]
88
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
89
+ className: "neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed",
90
+ "data-cy": "email-body-preview-container",
91
+ children: [body ? /*#__PURE__*/jsxRuntime.jsx(MemoizedEditorContent, {
92
+ content: body
93
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
94
+ className: "space-y-4",
95
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
96
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
97
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
98
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72"
99
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
100
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
101
+ })]
102
+ }), customContent && customContent, actionButtonText && /*#__PURE__*/jsxRuntime.jsx("div", {
103
+ className: "mt-6 flex w-full items-center justify-center",
104
+ children: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
105
+ className: "pointer-events-none",
106
+ label: actionButtonText
107
+ })
108
+ }), logo && /*#__PURE__*/jsxRuntime.jsx("img", {
109
+ alt: t("neetoMolecules.emailPreview.logoAltText"),
110
+ className: "h-20 w-36 object-cover",
111
+ "data-cy": "company-logo-preview",
112
+ src: logo
113
+ })]
114
+ })]
115
+ });
102
116
  });
103
117
  EmailPreview.propTypes = {
104
118
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"EmailPreview.js","sources":["../../src/components/EmailPreview.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst EmailPreview = withT(\n ({\n t,\n to = [],\n from,\n subject,\n body,\n actionButtonText,\n logo,\n className = \"\",\n customContent,\n }) => (\n <div\n data-cy=\"email-preview-card\"\n data-testid=\"email-preview\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border\",\n className\n )}\n >\n <div className=\"neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isPresent(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent content={body} />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n </div>\n )}\n {customContent && customContent}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n </div>\n )\n);\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n /**\n * To pass custom content that will be rendered above the action button.\n */\n customContent: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","React","memo","EditorContent","EmailPreview","withT","_ref","t","_ref$to","to","from","subject","body","actionButtonText","logo","_ref$className","className","customContent","createElement","classnames","Typography","lineHeight","style","isPresent","join","content","Button","label","alt","src","propTypes","PropTypes","arrayOf","string"],"mappings":"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"}
1
+ {"version":3,"file":"EmailPreview.js","sources":["../../src/components/EmailPreview.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst EmailPreview = withT(\n ({\n t,\n to = [],\n from,\n subject,\n body,\n actionButtonText,\n logo,\n className = \"\",\n customContent,\n }) => (\n <div\n data-cy=\"email-preview-card\"\n data-testid=\"email-preview\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border\",\n className\n )}\n >\n <div className=\"neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isPresent(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent content={body} />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n </div>\n )}\n {customContent && customContent}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n </div>\n )\n);\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n /**\n * To pass custom content that will be rendered above the action button.\n */\n customContent: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","memo","EditorContent","EmailPreview","withT","_ref","t","_ref$to","to","from","subject","body","actionButtonText","logo","_ref$className","className","customContent","_jsxs","classnames","children","Typography","lineHeight","style","isPresent","_jsx","join","content","Button","label","alt","src","propTypes","PropTypes","arrayOf","string"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _extends = require('@babel/runtime/helpers/extends');
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var React = require('react');
6
6
  var SmileFaceGrey = require('@bigbinary/neeto-icons/SmileFaceGrey');
@@ -9,12 +9,12 @@ var reactI18next = require('react-i18next');
9
9
  var emojiMart = require('emoji-mart');
10
10
  var reactQuery = require('@tanstack/react-query');
11
11
  var axios = require('axios');
12
+ var jsxRuntime = require('react/jsx-runtime');
12
13
 
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
15
 
15
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
16
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
17
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
17
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
18
  var SmileFaceGrey__default = /*#__PURE__*/_interopDefaultLegacy(SmileFaceGrey);
19
19
  var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
20
20
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
@@ -58,7 +58,7 @@ var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
58
58
  theme: "light"
59
59
  });
60
60
  };
61
- return /*#__PURE__*/React__default["default"].createElement("div", {
61
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
62
62
  ref: createPicker,
63
63
  style: {
64
64
  minWidth: "350px"
@@ -66,6 +66,8 @@ var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
66
66
  });
67
67
  };
68
68
 
69
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
70
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
69
71
  var EmojiPicker = function EmojiPicker(_ref) {
70
72
  var onSelect = _ref.onSelect,
71
73
  dropdownProps = _ref.dropdownProps,
@@ -81,7 +83,7 @@ var EmojiPicker = function EmojiPicker(_ref) {
81
83
  setIsOpen(false);
82
84
  onSelect(emoji);
83
85
  };
84
- return /*#__PURE__*/React__default["default"].createElement(Dropdown__default["default"], _extends__default["default"]({
86
+ return /*#__PURE__*/jsxRuntime.jsx(Dropdown__default["default"], _objectSpread(_objectSpread({
85
87
  isOpen: isOpen,
86
88
  closeOnEsc: true,
87
89
  closeOnSelect: false,
@@ -108,8 +110,10 @@ var EmojiPicker = function EmojiPicker(_ref) {
108
110
  onClose: function onClose() {
109
111
  return setIsOpen(false);
110
112
  }
111
- }, dropdownProps), /*#__PURE__*/React__default["default"].createElement(EmojiPickerMenu, {
112
- onEmojiSelect: onEmojiClick
113
+ }, dropdownProps), {}, {
114
+ children: /*#__PURE__*/jsxRuntime.jsx(EmojiPickerMenu, {
115
+ onEmojiSelect: onEmojiClick
116
+ })
113
117
  }));
114
118
  };
115
119
 
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPicker.js","sources":["../../src/components/EmojiPicker/api.js","../../src/components/EmojiPicker/constants.js","../../src/components/EmojiPicker/hooks/useEmojiData.js","../../src/components/EmojiPicker/EmojiPickerMenu.jsx","../../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import React from \"react\";\n\nimport { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return <div ref={createPicker} style={{ minWidth: \"350px\" }} />;\n};\n\nEmojiPickerMenu.propTypes = { onEmojiSelect: PropTypes.func };\n\nexport default EmojiPickerMenu;\n","import React, { useState } from \"react\";\n\nimport { SmileFaceGrey } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPicker = ({ onSelect, dropdownProps, open = false }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(open);\n\n const onEmojiClick = emoji => {\n setIsOpen(false);\n onSelect(emoji);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnEsc\n closeOnSelect={false}\n dropdownProps={{ className: \"neeto-ui-shadow-s z-10\" }}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n \"data-cy\": \"emoji-picker-dropdown-icon\",\n icon: SmileFaceGrey,\n tooltipProps: {\n content: t(\"neetoMolecules.common.emojiPicker\"),\n position: \"top\",\n },\n onClick: () => setIsOpen(true),\n style: \"text\",\n }}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n {...dropdownProps}\n >\n <EmojiPickerMenu onEmojiSelect={onEmojiClick} />\n </Dropdown>\n );\n};\n\nEmojiPicker.propTypes = {\n /**\n * Function to be called when an emoji is selected\n */\n onSelect: PropTypes.func,\n /**\n * Props to be passed to the dropdown component.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values([\"absolute\", \"fixed\"])),\n }),\n /**\n * Whether to open the emoji picker by default or not.\n */\n open: PropTypes.bool,\n};\n\nexport default EmojiPicker;\n"],"names":["fetch","axios","get","emojiPickerApi","QUERY_KEYS","EMOJI_DATA","useEmojiData","useQuery","queryKey","queryFn","EmojiPickerMenu","_ref","onEmojiSelect","_useEmojiData","data","createPicker","ref","Picker","autoFocus","previewPosition","current","skinTonePosition","style","maxWidth","theme","React","createElement","minWidth","EmojiPicker","onSelect","dropdownProps","_ref$open","open","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","onEmojiClick","emoji","Dropdown","_extends","closeOnEsc","closeOnSelect","className","position","strategy","buttonProps","icon","SmileFaceGrey","tooltipProps","content","onClick","onClickOutside","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPicker.js","sources":["../../src/components/EmojiPicker/api.js","../../src/components/EmojiPicker/constants.js","../../src/components/EmojiPicker/hooks/useEmojiData.js","../../src/components/EmojiPicker/EmojiPickerMenu.jsx","../../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return <div ref={createPicker} style={{ minWidth: \"350px\" }} />;\n};\n\nEmojiPickerMenu.propTypes = { onEmojiSelect: PropTypes.func };\n\nexport default EmojiPickerMenu;\n","import { useState } from \"react\";\n\nimport { SmileFaceGrey } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPicker = ({ onSelect, dropdownProps, open = false }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(open);\n\n const onEmojiClick = emoji => {\n setIsOpen(false);\n onSelect(emoji);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnEsc\n closeOnSelect={false}\n dropdownProps={{ className: \"neeto-ui-shadow-s z-10\" }}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n \"data-cy\": \"emoji-picker-dropdown-icon\",\n icon: SmileFaceGrey,\n tooltipProps: {\n content: t(\"neetoMolecules.common.emojiPicker\"),\n position: \"top\",\n },\n onClick: () => setIsOpen(true),\n style: \"text\",\n }}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n {...dropdownProps}\n >\n <EmojiPickerMenu onEmojiSelect={onEmojiClick} />\n </Dropdown>\n );\n};\n\nEmojiPicker.propTypes = {\n /**\n * Function to be called when an emoji is selected\n */\n onSelect: PropTypes.func,\n /**\n * Props to be passed to the dropdown component.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values([\"absolute\", \"fixed\"])),\n }),\n /**\n * Whether to open the emoji picker by default or not.\n */\n open: PropTypes.bool,\n};\n\nexport default EmojiPicker;\n"],"names":["fetch","axios","get","emojiPickerApi","QUERY_KEYS","EMOJI_DATA","useEmojiData","useQuery","queryKey","queryFn","EmojiPickerMenu","_ref","onEmojiSelect","_useEmojiData","data","createPicker","ref","Picker","autoFocus","previewPosition","current","skinTonePosition","style","maxWidth","theme","_jsx","minWidth","EmojiPicker","onSelect","dropdownProps","_ref$open","open","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","onEmojiClick","emoji","Dropdown","_objectSpread","closeOnEsc","closeOnSelect","className","position","strategy","buttonProps","icon","SmileFaceGrey","tooltipProps","content","onClick","onClickOutside","onClose","children"],"mappings":"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"}
@@ -8,11 +8,11 @@ var Tooltip = require('@bigbinary/neetoui/Tooltip');
8
8
  var Typography = require('@bigbinary/neetoui/Typography');
9
9
  var ramda = require('ramda');
10
10
  var reactI18next = require('react-i18next');
11
+ var jsxRuntime = require('react/jsx-runtime');
11
12
 
12
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
14
 
14
15
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
16
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
17
17
  var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
18
18
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
@@ -38,42 +38,52 @@ var EmojiReactions = function EmojiReactions(_ref) {
38
38
  var groupedReactions = React.useMemo(function () {
39
39
  return groupBy(reactions || [], "unified");
40
40
  }, [reactions]);
41
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, Object.entries(groupedReactions).map(function (_ref2) {
42
- var _ref3 = _slicedToArray__default["default"](_ref2, 2),
43
- unified = _ref3[0],
44
- grouped = _ref3[1];
45
- var groupedNames = ramda.pluck("userName", reactions).join(", ");
46
- var reaction = grouped[0];
47
- return /*#__PURE__*/React__default["default"].createElement(Tooltip__default["default"], {
48
- key: unified,
49
- position: "top",
50
- content: /*#__PURE__*/React__default["default"].createElement("div", {
51
- className: "flex flex-col items-center justify-center"
52
- }, /*#__PURE__*/React__default["default"].createElement("div", {
53
- className: "neeto-ui-bg-white neeto-ui-rounded mb-1 flex h-10 w-10 items-center justify-center"
54
- }, reaction["native"]), /*#__PURE__*/React__default["default"].createElement("p", {
55
- className: "text-center text-xs"
56
- }, t("neetoMolecules.reactions.content", {
57
- groupedNames: groupedNames
58
- })))
59
- }, /*#__PURE__*/React__default["default"].createElement("div", {
60
- "data-cy": "emoji-reactions-".concat(reaction.unified),
61
- className: classnames__default["default"](["neeto-ui-rounded-full hover:neeto-ui-bg-gray-100 neeto-ui-bg-gray-100 flex cursor-pointer items-center justify-center px-2 py-1", emojiBoxStyle], {
62
- "opacity-80": isUpdating
63
- }),
64
- onClick: function onClick() {
65
- return !isUpdating && onReactionClick({
66
- "native": reaction["native"],
67
- unified: reaction.unified
68
- }, grouped);
69
- }
70
- }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
71
- className: "space-x-2 text-sm",
72
- style: "body2"
73
- }, /*#__PURE__*/React__default["default"].createElement("span", {
74
- className: emojiSize
75
- }, reaction["native"]), /*#__PURE__*/React__default["default"].createElement("span", null, grouped.length))));
76
- }));
41
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
42
+ children: Object.entries(groupedReactions).map(function (_ref2) {
43
+ var _ref3 = _slicedToArray__default["default"](_ref2, 2),
44
+ unified = _ref3[0],
45
+ grouped = _ref3[1];
46
+ var groupedNames = ramda.pluck("userName", reactions).join(", ");
47
+ var reaction = grouped[0];
48
+ return /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
49
+ position: "top",
50
+ content: /*#__PURE__*/jsxRuntime.jsxs("div", {
51
+ className: "flex flex-col items-center justify-center",
52
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
53
+ className: "neeto-ui-bg-white neeto-ui-rounded mb-1 flex h-10 w-10 items-center justify-center",
54
+ children: reaction["native"]
55
+ }), /*#__PURE__*/jsxRuntime.jsx("p", {
56
+ className: "text-center text-xs",
57
+ children: t("neetoMolecules.reactions.content", {
58
+ groupedNames: groupedNames
59
+ })
60
+ })]
61
+ }),
62
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
63
+ "data-cy": "emoji-reactions-".concat(reaction.unified),
64
+ className: classnames__default["default"](["neeto-ui-rounded-full hover:neeto-ui-bg-gray-100 neeto-ui-bg-gray-100 flex cursor-pointer items-center justify-center px-2 py-1", emojiBoxStyle], {
65
+ "opacity-80": isUpdating
66
+ }),
67
+ onClick: function onClick() {
68
+ return !isUpdating && onReactionClick({
69
+ "native": reaction["native"],
70
+ unified: reaction.unified
71
+ }, grouped);
72
+ },
73
+ children: /*#__PURE__*/jsxRuntime.jsxs(Typography__default["default"], {
74
+ className: "space-x-2 text-sm",
75
+ style: "body2",
76
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
77
+ className: emojiSize,
78
+ children: reaction["native"]
79
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
80
+ children: grouped.length
81
+ })]
82
+ })
83
+ })
84
+ }, unified);
85
+ })
86
+ });
77
87
  };
78
88
 
79
89
  module.exports = EmojiReactions;
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiReactions.js","sources":["../../src/components/EmojiReactions/utils.js","../../src/components/EmojiReactions/index.jsx"],"sourcesContent":["export const groupBy = (objectArray, groupKey) =>\n objectArray.reduce((data, obj) => {\n (data[obj[groupKey]] = data[obj[groupKey]] || []).push(obj);\n\n return data;\n }, {});\n","import React, { useMemo } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { groupBy } from \"./utils\";\n\nconst EmojiReactions = ({\n isUpdating,\n reactions,\n onReactionClick = noop,\n emojiSize = \"text-sm\",\n emojiBoxStyle = \"neeto-ui-bg-white py-1 px-2\",\n}) => {\n const { t } = useTranslation();\n const groupedReactions = useMemo(\n () => groupBy(reactions || [], \"unified\"),\n [reactions]\n );\n\n return (\n <>\n {Object.entries(groupedReactions).map(([unified, grouped]) => {\n const groupedNames = pluck(\"userName\", reactions).join(\", \");\n const reaction = grouped[0];\n\n return (\n <Tooltip\n key={unified}\n position=\"top\"\n content={\n <div className=\"flex flex-col items-center justify-center\">\n <div className=\"neeto-ui-bg-white neeto-ui-rounded mb-1 flex h-10 w-10 items-center justify-center\">\n {reaction.native}\n </div>\n <p className=\"text-center text-xs\">\n {t(\"neetoMolecules.reactions.content\", { groupedNames })}\n </p>\n </div>\n }\n >\n <div\n data-cy={`emoji-reactions-${reaction.unified}`}\n className={classNames(\n [\n \"neeto-ui-rounded-full hover:neeto-ui-bg-gray-100 neeto-ui-bg-gray-100 flex cursor-pointer items-center justify-center px-2 py-1\",\n emojiBoxStyle,\n ],\n { \"opacity-80\": isUpdating }\n )}\n onClick={() =>\n !isUpdating &&\n onReactionClick(\n {\n native: reaction.native,\n unified: reaction.unified,\n },\n grouped\n )\n }\n >\n <Typography className=\"space-x-2 text-sm\" style=\"body2\">\n <span className={emojiSize}>{reaction.native}</span>\n <span>{grouped.length}</span>\n </Typography>\n </div>\n </Tooltip>\n );\n })}\n </>\n );\n};\n\nEmojiReactions.propTypes = {\n /**\n * Array of reactions to be displayed\n */\n reactions: PropTypes.arrayOf(\n PropTypes.shape({\n native: PropTypes.string,\n unified: PropTypes.string,\n userName: PropTypes.string,\n })\n ),\n /**\n * Callback function to be called when user click on an existing reaction\n */\n onReactionClick: PropTypes.func,\n /**\n * Size of the emoji\n */\n emojiSize: PropTypes.string,\n /**\n * Emoji picker box style\n */\n emojiBoxStyle: PropTypes.string,\n /**\n * Use this flag to block click action while backend is updating.\n */\n isUpdating: PropTypes.bool,\n};\n\nexport default EmojiReactions;\n"],"names":["groupBy","objectArray","groupKey","reduce","data","obj","push","EmojiReactions","_ref","isUpdating","reactions","_ref$onReactionClick","onReactionClick","noop","_ref$emojiSize","emojiSize","_ref$emojiBoxStyle","emojiBoxStyle","_useTranslation","useTranslation","t","groupedReactions","useMemo","React","createElement","Fragment","Object","entries","map","_ref2","_ref3","_slicedToArray","unified","grouped","groupedNames","pluck","join","reaction","Tooltip","key","position","content","className","concat","classNames","onClick","Typography","style","length"],"mappings":";;;;;;;;;;;;;;;;;;;AAAO,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAIC,WAAW,EAAEC,QAAQ,EAAA;EAAA,OAC3CD,WAAW,CAACE,MAAM,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAK;IAChC,CAACD,IAAI,CAACC,GAAG,CAACH,QAAQ,CAAC,CAAC,GAAGE,IAAI,CAACC,GAAG,CAACH,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAEI,IAAI,CAACD,GAAG,CAAC,CAAA;AAE3D,IAAA,OAAOD,IAAI,CAAA;GACZ,EAAE,EAAE,CAAC,CAAA;AAAA,CAAA;;ACMR,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAMd;AAAA,EAAA,IALJC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IACVC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAAC,oBAAA,GAAAH,IAAA,CACTI,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,oBAAA;IAAAG,cAAA,GAAAN,IAAA,CACtBO,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,cAAA;IAAAE,kBAAA,GAAAR,IAAA,CACrBS,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,6BAA6B,GAAAA,kBAAA,CAAA;AAE7C,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;EACT,IAAMC,gBAAgB,GAAGC,aAAO,CAC9B,YAAA;AAAA,IAAA,OAAMtB,OAAO,CAACU,SAAS,IAAI,EAAE,EAAE,SAAS,CAAC,CAAA;GACzC,EAAA,CAACA,SAAS,CACZ,CAAC,CAAA;AAED,EAAA,oBACEa,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EACGC,IAAAA,EAAAA,MAAM,CAACC,OAAO,CAACN,gBAAgB,CAAC,CAACO,GAAG,CAAC,UAAAC,KAAA,EAAwB;AAAA,IAAA,IAAAC,KAAA,GAAAC,kCAAA,CAAAF,KAAA,EAAA,CAAA,CAAA;AAAtBG,MAAAA,OAAO,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,OAAO,GAAAH,KAAA,CAAA,CAAA,CAAA,CAAA;AACtD,IAAA,IAAMI,YAAY,GAAGC,WAAK,CAAC,UAAU,EAAEzB,SAAS,CAAC,CAAC0B,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,IAAA,IAAMC,QAAQ,GAAGJ,OAAO,CAAC,CAAC,CAAC,CAAA;AAE3B,IAAA,oBACEV,yBAAA,CAAAC,aAAA,CAACc,2BAAO,EAAA;AACNC,MAAAA,GAAG,EAAEP,OAAQ;AACbQ,MAAAA,QAAQ,EAAC,KAAK;MACdC,OAAO,eACLlB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKkB,QAAAA,SAAS,EAAC,2CAAA;OACbnB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKkB,QAAAA,SAAS,EAAC,oFAAA;AAAoF,OAAA,EAChGL,QAAQ,CACN,QAAA,CAAA,CAAC,eACNd,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGkB,QAAAA,SAAS,EAAC,qBAAA;OACVtB,EAAAA,CAAC,CAAC,kCAAkC,EAAE;AAAEc,QAAAA,YAAY,EAAZA,YAAAA;AAAa,OAAC,CACtD,CACA,CAAA;KAGPX,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,SAAA,EAAA,kBAAA,CAAAmB,MAAA,CAA4BN,QAAQ,CAACL,OAAO,CAAG;MAC/CU,SAAS,EAAEE,8BAAU,CACnB,CACE,iIAAiI,EACjI3B,aAAa,CACd,EACD;AAAE,QAAA,YAAY,EAAER,UAAAA;AAAW,OAC7B,CAAE;MACFoC,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,QAAA,OACP,CAACpC,UAAU,IACXG,eAAe,CACb;AACE,UAAA,QAAA,EAAQyB,QAAQ,CAAO,QAAA,CAAA;UACvBL,OAAO,EAAEK,QAAQ,CAACL,OAAAA;SACnB,EACDC,OACF,CAAC,CAAA;AAAA,OAAA;AACF,KAAA,eAEDV,yBAAA,CAAAC,aAAA,CAACsB,8BAAU,EAAA;AAACJ,MAAAA,SAAS,EAAC,mBAAmB;AAACK,MAAAA,KAAK,EAAC,OAAA;KAC9CxB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMkB,MAAAA,SAAS,EAAE3B,SAAAA;AAAU,KAAA,EAAEsB,QAAQ,CAAA,QAAA,CAAc,CAAC,eACpDd,yBAAA,CAAAC,aAAA,CAAOS,MAAAA,EAAAA,IAAAA,EAAAA,OAAO,CAACe,MAAa,CAClB,CACT,CACE,CAAC,CAAA;AAEd,GAAC,CACD,CAAC,CAAA;AAEP;;;;"}
1
+ {"version":3,"file":"EmojiReactions.js","sources":["../../src/components/EmojiReactions/utils.js","../../src/components/EmojiReactions/index.jsx"],"sourcesContent":["export const groupBy = (objectArray, groupKey) =>\n objectArray.reduce((data, obj) => {\n (data[obj[groupKey]] = data[obj[groupKey]] || []).push(obj);\n\n return data;\n }, {});\n","import { useMemo } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { groupBy } from \"./utils\";\n\nconst EmojiReactions = ({\n isUpdating,\n reactions,\n onReactionClick = noop,\n emojiSize = \"text-sm\",\n emojiBoxStyle = \"neeto-ui-bg-white py-1 px-2\",\n}) => {\n const { t } = useTranslation();\n const groupedReactions = useMemo(\n () => groupBy(reactions || [], \"unified\"),\n [reactions]\n );\n\n return (\n <>\n {Object.entries(groupedReactions).map(([unified, grouped]) => {\n const groupedNames = pluck(\"userName\", reactions).join(\", \");\n const reaction = grouped[0];\n\n return (\n <Tooltip\n key={unified}\n position=\"top\"\n content={\n <div className=\"flex flex-col items-center justify-center\">\n <div className=\"neeto-ui-bg-white neeto-ui-rounded mb-1 flex h-10 w-10 items-center justify-center\">\n {reaction.native}\n </div>\n <p className=\"text-center text-xs\">\n {t(\"neetoMolecules.reactions.content\", { groupedNames })}\n </p>\n </div>\n }\n >\n <div\n data-cy={`emoji-reactions-${reaction.unified}`}\n className={classNames(\n [\n \"neeto-ui-rounded-full hover:neeto-ui-bg-gray-100 neeto-ui-bg-gray-100 flex cursor-pointer items-center justify-center px-2 py-1\",\n emojiBoxStyle,\n ],\n { \"opacity-80\": isUpdating }\n )}\n onClick={() =>\n !isUpdating &&\n onReactionClick(\n {\n native: reaction.native,\n unified: reaction.unified,\n },\n grouped\n )\n }\n >\n <Typography className=\"space-x-2 text-sm\" style=\"body2\">\n <span className={emojiSize}>{reaction.native}</span>\n <span>{grouped.length}</span>\n </Typography>\n </div>\n </Tooltip>\n );\n })}\n </>\n );\n};\n\nEmojiReactions.propTypes = {\n /**\n * Array of reactions to be displayed\n */\n reactions: PropTypes.arrayOf(\n PropTypes.shape({\n native: PropTypes.string,\n unified: PropTypes.string,\n userName: PropTypes.string,\n })\n ),\n /**\n * Callback function to be called when user click on an existing reaction\n */\n onReactionClick: PropTypes.func,\n /**\n * Size of the emoji\n */\n emojiSize: PropTypes.string,\n /**\n * Emoji picker box style\n */\n emojiBoxStyle: PropTypes.string,\n /**\n * Use this flag to block click action while backend is updating.\n */\n isUpdating: PropTypes.bool,\n};\n\nexport default EmojiReactions;\n"],"names":["groupBy","objectArray","groupKey","reduce","data","obj","push","EmojiReactions","_ref","isUpdating","reactions","_ref$onReactionClick","onReactionClick","noop","_ref$emojiSize","emojiSize","_ref$emojiBoxStyle","emojiBoxStyle","_useTranslation","useTranslation","t","groupedReactions","useMemo","_jsx","_Fragment","children","Object","entries","map","_ref2","_ref3","_slicedToArray","unified","grouped","groupedNames","pluck","join","reaction","Tooltip","position","content","_jsxs","className","concat","classNames","onClick","Typography","style","length"],"mappings":"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"}