rn-erxes-sdk 0.1.22 → 0.1.24

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 (233) hide show
  1. package/README.md +40 -2
  2. package/lib/commonjs/App.js +41 -21
  3. package/lib/commonjs/App.js.map +1 -1
  4. package/lib/commonjs/Widget.js +158 -31
  5. package/lib/commonjs/Widget.js.map +1 -1
  6. package/lib/commonjs/components/Avatar.js +24 -27
  7. package/lib/commonjs/components/Avatar.js.map +1 -1
  8. package/lib/commonjs/components/AvatarWithStatus.js +56 -0
  9. package/lib/commonjs/components/AvatarWithStatus.js.map +1 -0
  10. package/lib/commonjs/components/ConversationItem.js +161 -0
  11. package/lib/commonjs/components/ConversationItem.js.map +1 -0
  12. package/lib/commonjs/components/Icons.js +558 -0
  13. package/lib/commonjs/components/Icons.js.map +1 -0
  14. package/lib/commonjs/components/InputTools.js +329 -38
  15. package/lib/commonjs/components/InputTools.js.map +1 -1
  16. package/lib/commonjs/components/MessengerShell.js +64 -0
  17. package/lib/commonjs/components/MessengerShell.js.map +1 -0
  18. package/lib/commonjs/components/conversation/DateSeparator.js +47 -0
  19. package/lib/commonjs/components/conversation/DateSeparator.js.map +1 -0
  20. package/lib/commonjs/components/conversation/EmojiPicker.js +62 -0
  21. package/lib/commonjs/components/conversation/EmojiPicker.js.map +1 -0
  22. package/lib/commonjs/components/conversation/PersistentMenu.js +64 -0
  23. package/lib/commonjs/components/conversation/PersistentMenu.js.map +1 -0
  24. package/lib/commonjs/components/conversation/TypingStatus.js +122 -0
  25. package/lib/commonjs/components/conversation/TypingStatus.js.map +1 -0
  26. package/lib/commonjs/components/conversation/WelcomeMessage.js +85 -0
  27. package/lib/commonjs/components/conversation/WelcomeMessage.js.map +1 -0
  28. package/lib/commonjs/components/nav/Navigation.js +130 -0
  29. package/lib/commonjs/components/nav/Navigation.js.map +1 -0
  30. package/lib/commonjs/components/nav/constants.js +23 -0
  31. package/lib/commonjs/components/nav/constants.js.map +1 -0
  32. package/lib/commonjs/graphql/ApolloContainer.js +1 -2
  33. package/lib/commonjs/graphql/ApolloContainer.js.map +1 -1
  34. package/lib/commonjs/graphql/mutation.js +58 -23
  35. package/lib/commonjs/graphql/mutation.js.map +1 -1
  36. package/lib/commonjs/graphql/query.js +85 -55
  37. package/lib/commonjs/graphql/query.js.map +1 -1
  38. package/lib/commonjs/graphql/subscription.js +32 -28
  39. package/lib/commonjs/graphql/subscription.js.map +1 -1
  40. package/lib/commonjs/screen/conversation/Attachment.js +77 -12
  41. package/lib/commonjs/screen/conversation/Attachment.js.map +1 -1
  42. package/lib/commonjs/screen/conversation/ConversationDetail.js +307 -136
  43. package/lib/commonjs/screen/conversation/ConversationDetail.js.map +1 -1
  44. package/lib/commonjs/screen/conversation/Message.js +145 -82
  45. package/lib/commonjs/screen/conversation/Message.js.map +1 -1
  46. package/lib/commonjs/screen/faq/Faq.js +373 -0
  47. package/lib/commonjs/screen/faq/Faq.js.map +1 -0
  48. package/lib/commonjs/screen/greetings/Social.js +19 -9
  49. package/lib/commonjs/screen/greetings/Social.js.map +1 -1
  50. package/lib/commonjs/screen/greetings/Supporters.js +49 -46
  51. package/lib/commonjs/screen/greetings/Supporters.js.map +1 -1
  52. package/lib/commonjs/screen/home/Home.js +246 -0
  53. package/lib/commonjs/screen/home/Home.js.map +1 -0
  54. package/lib/commonjs/screen/messages/Messages.js +312 -0
  55. package/lib/commonjs/screen/messages/Messages.js.map +1 -0
  56. package/lib/commonjs/theme.js +132 -0
  57. package/lib/commonjs/theme.js.map +1 -0
  58. package/lib/commonjs/utils/messages.js +93 -0
  59. package/lib/commonjs/utils/messages.js.map +1 -0
  60. package/lib/commonjs/utils/onlineHours.js +127 -0
  61. package/lib/commonjs/utils/onlineHours.js.map +1 -0
  62. package/lib/commonjs/utils/upload.js +245 -0
  63. package/lib/commonjs/utils/upload.js.map +1 -0
  64. package/lib/module/App.js +41 -21
  65. package/lib/module/App.js.map +1 -1
  66. package/lib/module/Widget.js +161 -34
  67. package/lib/module/Widget.js.map +1 -1
  68. package/lib/module/components/Avatar.js +25 -28
  69. package/lib/module/components/Avatar.js.map +1 -1
  70. package/lib/module/components/AvatarWithStatus.js +47 -0
  71. package/lib/module/components/AvatarWithStatus.js.map +1 -0
  72. package/lib/module/components/ConversationItem.js +153 -0
  73. package/lib/module/components/ConversationItem.js.map +1 -0
  74. package/lib/module/components/Icons.js +537 -0
  75. package/lib/module/components/Icons.js.map +1 -0
  76. package/lib/module/components/InputTools.js +331 -39
  77. package/lib/module/components/InputTools.js.map +1 -1
  78. package/lib/module/components/MessengerShell.js +55 -0
  79. package/lib/module/components/MessengerShell.js.map +1 -0
  80. package/lib/module/components/conversation/DateSeparator.js +40 -0
  81. package/lib/module/components/conversation/DateSeparator.js.map +1 -0
  82. package/lib/module/components/conversation/EmojiPicker.js +55 -0
  83. package/lib/module/components/conversation/EmojiPicker.js.map +1 -0
  84. package/lib/module/components/conversation/PersistentMenu.js +57 -0
  85. package/lib/module/components/conversation/PersistentMenu.js.map +1 -0
  86. package/lib/module/components/conversation/TypingStatus.js +113 -0
  87. package/lib/module/components/conversation/TypingStatus.js.map +1 -0
  88. package/lib/module/components/conversation/WelcomeMessage.js +76 -0
  89. package/lib/module/components/conversation/WelcomeMessage.js.map +1 -0
  90. package/lib/module/components/nav/Navigation.js +121 -0
  91. package/lib/module/components/nav/Navigation.js.map +1 -0
  92. package/lib/module/components/nav/constants.js +16 -0
  93. package/lib/module/components/nav/constants.js.map +1 -0
  94. package/lib/module/graphql/ApolloContainer.js +1 -2
  95. package/lib/module/graphql/ApolloContainer.js.map +1 -1
  96. package/lib/module/graphql/mutation.js +57 -23
  97. package/lib/module/graphql/mutation.js.map +1 -1
  98. package/lib/module/graphql/query.js +83 -52
  99. package/lib/module/graphql/query.js.map +1 -1
  100. package/lib/module/graphql/subscription.js +31 -28
  101. package/lib/module/graphql/subscription.js.map +1 -1
  102. package/lib/module/screen/conversation/Attachment.js +79 -14
  103. package/lib/module/screen/conversation/Attachment.js.map +1 -1
  104. package/lib/module/screen/conversation/ConversationDetail.js +311 -139
  105. package/lib/module/screen/conversation/ConversationDetail.js.map +1 -1
  106. package/lib/module/screen/conversation/Message.js +145 -82
  107. package/lib/module/screen/conversation/Message.js.map +1 -1
  108. package/lib/module/screen/faq/Faq.js +363 -0
  109. package/lib/module/screen/faq/Faq.js.map +1 -0
  110. package/lib/module/screen/greetings/Social.js +19 -9
  111. package/lib/module/screen/greetings/Social.js.map +1 -1
  112. package/lib/module/screen/greetings/Supporters.js +50 -46
  113. package/lib/module/screen/greetings/Supporters.js.map +1 -1
  114. package/lib/module/screen/home/Home.js +236 -0
  115. package/lib/module/screen/home/Home.js.map +1 -0
  116. package/lib/module/screen/messages/Messages.js +303 -0
  117. package/lib/module/screen/messages/Messages.js.map +1 -0
  118. package/lib/module/theme.js +122 -0
  119. package/lib/module/theme.js.map +1 -0
  120. package/lib/module/utils/messages.js +81 -0
  121. package/lib/module/utils/messages.js.map +1 -0
  122. package/lib/module/utils/onlineHours.js +118 -0
  123. package/lib/module/utils/onlineHours.js.map +1 -0
  124. package/lib/module/utils/upload.js +233 -0
  125. package/lib/module/utils/upload.js.map +1 -0
  126. package/lib/typescript/App.d.ts +2 -1
  127. package/lib/typescript/App.d.ts.map +1 -1
  128. package/lib/typescript/Widget.d.ts.map +1 -1
  129. package/lib/typescript/components/Avatar.d.ts +7 -1
  130. package/lib/typescript/components/Avatar.d.ts.map +1 -1
  131. package/lib/typescript/components/AvatarWithStatus.d.ts +11 -0
  132. package/lib/typescript/components/AvatarWithStatus.d.ts.map +1 -0
  133. package/lib/typescript/components/ConversationItem.d.ts +9 -0
  134. package/lib/typescript/components/ConversationItem.d.ts.map +1 -0
  135. package/lib/typescript/components/Icons.d.ts +33 -0
  136. package/lib/typescript/components/Icons.d.ts.map +1 -0
  137. package/lib/typescript/components/InputTools.d.ts.map +1 -1
  138. package/lib/typescript/components/MessengerShell.d.ts +4 -0
  139. package/lib/typescript/components/MessengerShell.d.ts.map +1 -0
  140. package/lib/typescript/components/conversation/DateSeparator.d.ts +6 -0
  141. package/lib/typescript/components/conversation/DateSeparator.d.ts.map +1 -0
  142. package/lib/typescript/components/conversation/EmojiPicker.d.ts +7 -0
  143. package/lib/typescript/components/conversation/EmojiPicker.d.ts.map +1 -0
  144. package/lib/typescript/components/conversation/PersistentMenu.d.ts +13 -0
  145. package/lib/typescript/components/conversation/PersistentMenu.d.ts.map +1 -0
  146. package/lib/typescript/components/conversation/TypingStatus.d.ts +4 -0
  147. package/lib/typescript/components/conversation/TypingStatus.d.ts.map +1 -0
  148. package/lib/typescript/components/conversation/WelcomeMessage.d.ts +6 -0
  149. package/lib/typescript/components/conversation/WelcomeMessage.d.ts.map +1 -0
  150. package/lib/typescript/components/nav/Navigation.d.ts +12 -0
  151. package/lib/typescript/components/nav/Navigation.d.ts.map +1 -0
  152. package/lib/typescript/components/nav/constants.d.ts +7 -0
  153. package/lib/typescript/components/nav/constants.d.ts.map +1 -0
  154. package/lib/typescript/graphql/ApolloContainer.d.ts.map +1 -1
  155. package/lib/typescript/graphql/mutation.d.ts +2 -1
  156. package/lib/typescript/graphql/mutation.d.ts.map +1 -1
  157. package/lib/typescript/graphql/query.d.ts +2 -3
  158. package/lib/typescript/graphql/query.d.ts.map +1 -1
  159. package/lib/typescript/graphql/subscription.d.ts +2 -1
  160. package/lib/typescript/graphql/subscription.d.ts.map +1 -1
  161. package/lib/typescript/screen/conversation/Attachment.d.ts.map +1 -1
  162. package/lib/typescript/screen/conversation/ConversationDetail.d.ts.map +1 -1
  163. package/lib/typescript/screen/conversation/Message.d.ts.map +1 -1
  164. package/lib/typescript/screen/faq/Faq.d.ts +4 -0
  165. package/lib/typescript/screen/faq/Faq.d.ts.map +1 -0
  166. package/lib/typescript/screen/greetings/Social.d.ts +1 -1
  167. package/lib/typescript/screen/greetings/Social.d.ts.map +1 -1
  168. package/lib/typescript/screen/greetings/Supporters.d.ts.map +1 -1
  169. package/lib/typescript/screen/home/Home.d.ts +4 -0
  170. package/lib/typescript/screen/home/Home.d.ts.map +1 -0
  171. package/lib/typescript/screen/messages/Messages.d.ts +4 -0
  172. package/lib/typescript/screen/messages/Messages.d.ts.map +1 -0
  173. package/lib/typescript/theme.d.ts +93 -0
  174. package/lib/typescript/theme.d.ts.map +1 -0
  175. package/lib/typescript/utils/messages.d.ts +27 -0
  176. package/lib/typescript/utils/messages.d.ts.map +1 -0
  177. package/lib/typescript/utils/onlineHours.d.ts +19 -0
  178. package/lib/typescript/utils/onlineHours.d.ts.map +1 -0
  179. package/lib/typescript/utils/upload.d.ts +32 -0
  180. package/lib/typescript/utils/upload.d.ts.map +1 -0
  181. package/package.json +25 -21
  182. package/src/App.tsx +48 -24
  183. package/src/Widget.tsx +214 -40
  184. package/src/components/Avatar.tsx +30 -30
  185. package/src/components/AvatarWithStatus.tsx +63 -0
  186. package/src/components/ConversationItem.tsx +199 -0
  187. package/src/components/Icons.tsx +532 -0
  188. package/src/components/InputTools.tsx +387 -48
  189. package/src/components/MessengerShell.tsx +58 -0
  190. package/src/components/conversation/DateSeparator.tsx +36 -0
  191. package/src/components/conversation/EmojiPicker.tsx +111 -0
  192. package/src/components/conversation/PersistentMenu.tsx +74 -0
  193. package/src/components/conversation/TypingStatus.tsx +112 -0
  194. package/src/components/conversation/WelcomeMessage.tsx +70 -0
  195. package/src/components/nav/Navigation.tsx +137 -0
  196. package/src/components/nav/constants.ts +16 -0
  197. package/src/graphql/ApolloContainer.tsx +0 -1
  198. package/src/graphql/mutation.ts +58 -22
  199. package/src/graphql/query.ts +83 -55
  200. package/src/graphql/subscription.ts +31 -27
  201. package/src/screen/conversation/Attachment.tsx +123 -33
  202. package/src/screen/conversation/ConversationDetail.tsx +367 -134
  203. package/src/screen/conversation/Message.tsx +160 -98
  204. package/src/screen/faq/Faq.tsx +425 -0
  205. package/src/screen/greetings/Social.tsx +18 -4
  206. package/src/screen/greetings/Supporters.tsx +56 -41
  207. package/src/screen/home/Home.tsx +276 -0
  208. package/src/screen/messages/Messages.tsx +331 -0
  209. package/src/theme.ts +104 -0
  210. package/src/utils/messages.ts +105 -0
  211. package/src/utils/onlineHours.ts +167 -0
  212. package/src/utils/upload.ts +326 -0
  213. package/lib/commonjs/components/FAB.js +0 -51
  214. package/lib/commonjs/components/FAB.js.map +0 -1
  215. package/lib/commonjs/screen/conversation/Conversations.js +0 -158
  216. package/lib/commonjs/screen/conversation/Conversations.js.map +0 -1
  217. package/lib/commonjs/screen/greetings/Greetings.js +0 -96
  218. package/lib/commonjs/screen/greetings/Greetings.js.map +0 -1
  219. package/lib/module/components/FAB.js +0 -42
  220. package/lib/module/components/FAB.js.map +0 -1
  221. package/lib/module/screen/conversation/Conversations.js +0 -147
  222. package/lib/module/screen/conversation/Conversations.js.map +0 -1
  223. package/lib/module/screen/greetings/Greetings.js +0 -85
  224. package/lib/module/screen/greetings/Greetings.js.map +0 -1
  225. package/lib/typescript/components/FAB.d.ts +0 -16
  226. package/lib/typescript/components/FAB.d.ts.map +0 -1
  227. package/lib/typescript/screen/conversation/Conversations.d.ts +0 -4
  228. package/lib/typescript/screen/conversation/Conversations.d.ts.map +0 -1
  229. package/lib/typescript/screen/greetings/Greetings.d.ts +0 -4
  230. package/lib/typescript/screen/greetings/Greetings.d.ts.map +0 -1
  231. package/src/components/FAB.tsx +0 -69
  232. package/src/screen/conversation/Conversations.tsx +0 -148
  233. package/src/screen/greetings/Greetings.tsx +0 -98
@@ -6,65 +6,356 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
+ var _theme = require("../theme");
10
+ var _Icons = require("./Icons");
11
+ var _EmojiPicker = _interopRequireDefault(require("./conversation/EmojiPicker"));
12
+ var _PersistentMenu = _interopRequireDefault(require("./conversation/PersistentMenu"));
13
+ var _upload = require("../utils/upload");
14
+ var _utils = require("../utils/utils");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
- /* eslint-disable react-native/no-inline-styles */
12
-
18
+ // Chat composer — mirrors the web messenger ChatInput layout:
19
+ // [paperclip] [input] [smiley] [send●] [menu], inside a rounded-2xl pill, with
20
+ // an attachment strip above. Attachments/emoji/persistent-menu/file-upload all
21
+ // match the web behaviour against the same backend.
13
22
  const InputTools = props => {
14
23
  const {
15
24
  onSend,
16
25
  bgColor,
17
- sendIcon
26
+ sendIcon,
27
+ subDomain,
28
+ persistentMenus,
29
+ sending = false
18
30
  } = props;
19
31
  const [input, onInput] = (0, _react.useState)('');
20
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
21
- style: {
22
- paddingVertical: 5,
23
- alignItems: 'flex-end',
24
- flexDirection: 'row',
25
- marginBottom: 20,
26
- marginHorizontal: 20
32
+ const [attachments, setAttachments] = (0, _react.useState)([]);
33
+ const [uploading, setUploading] = (0, _react.useState)(false);
34
+ const [uploadError, setUploadError] = (0, _react.useState)('');
35
+ const [showEmoji, setShowEmoji] = (0, _react.useState)(false);
36
+ const [showMenu, setShowMenu] = (0, _react.useState)(false);
37
+ const uploadErrorTimer = (0, _react.useRef)(null);
38
+ const canAttach = (0, _react.useMemo)(() => (0, _upload.isImagePickerAvailable)(), []);
39
+ const hasMenu = persistentMenus && persistentMenus.length > 0;
40
+ const trimmed = input.trim();
41
+ const canSend = (trimmed.length > 0 || attachments.length > 0) && !uploading && !sending;
42
+ (0, _react.useEffect)(() => {
43
+ return () => {
44
+ if (uploadErrorTimer.current) {
45
+ clearTimeout(uploadErrorTimer.current);
46
+ }
47
+ };
48
+ }, []);
49
+ const showUploadError = message => {
50
+ if (uploadErrorTimer.current) {
51
+ clearTimeout(uploadErrorTimer.current);
52
+ }
53
+ setUploadError(message);
54
+ uploadErrorTimer.current = setTimeout(() => {
55
+ setUploadError('');
56
+ }, 3500);
57
+ };
58
+ const handleSend = () => {
59
+ if (!canSend) {
60
+ return;
61
+ }
62
+ onSend && onSend(trimmed, attachments);
63
+ onInput('');
64
+ setAttachments([]);
65
+ setShowEmoji(false);
66
+ setShowMenu(false);
67
+ };
68
+ const handleAttach = async () => {
69
+ setUploadError('');
70
+ setShowEmoji(false);
71
+ setShowMenu(false);
72
+ try {
73
+ const file = await (0, _upload.pickImage)();
74
+ if (!file) {
75
+ return;
76
+ }
77
+ if (!(0, _upload.isAllowedImageFile)(file)) {
78
+ showUploadError(_upload.unsupportedImageUploadMessage);
79
+ return;
80
+ }
81
+ setUploading(true);
82
+ const uploaded = await (0, _upload.uploadFile)(file, subDomain);
83
+ setAttachments(prev => [...prev, uploaded]);
84
+ } catch (err) {
85
+ console.log('attachment upload failed', err);
86
+ const message = err instanceof Error ? err.message : '';
87
+ showUploadError(message.includes('Invalid configured file type') ? _upload.unsupportedImageUploadMessage : message || 'Image upload failed. Please try again.');
88
+ } finally {
89
+ setUploading(false);
27
90
  }
28
- }, /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
29
- placeholder: 'Write a reply',
30
- selectionColor: '#686868',
91
+ };
92
+ const removeAttachment = index => {
93
+ setAttachments(prev => prev.filter((_, i) => i !== index));
94
+ };
95
+ const handleMenuSendText = text => {
96
+ onSend && onSend(text, []);
97
+ setShowMenu(false);
98
+ };
99
+ const total = attachments.length + (uploading ? 1 : 0);
100
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
101
+ style: styles.wrapper
102
+ }, showEmoji ? /*#__PURE__*/_react.default.createElement(_EmojiPicker.default, {
103
+ onSelect: emoji => onInput(prev => prev + emoji)
104
+ }) : null, showMenu && hasMenu ? /*#__PURE__*/_react.default.createElement(_PersistentMenu.default, {
105
+ items: persistentMenus,
106
+ onSendText: handleMenuSendText
107
+ }) : null, uploadError ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
108
+ style: styles.toast
109
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
110
+ style: styles.toastText
111
+ }, uploadError)) : null, total > 0 ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
112
+ style: styles.strip
113
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
114
+ style: styles.stripLabel
115
+ }, uploading ? `${attachments.length} of ${total} uploaded` : `${attachments.length} attached`), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
116
+ horizontal: true,
117
+ showsHorizontalScrollIndicator: false,
118
+ contentContainerStyle: styles.stripRow,
119
+ keyboardShouldPersistTaps: "handled"
120
+ }, attachments.map((att, index) => {
121
+ var _att$type;
122
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
123
+ key: `${att.url}-${index}`,
124
+ style: styles.tile
125
+ }, (_att$type = att.type) !== null && _att$type !== void 0 && _att$type.startsWith('image/') ? /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
126
+ source: {
127
+ uri: (0, _utils.getAttachmentUrl)(att.url, subDomain)
128
+ },
129
+ style: styles.tileImage
130
+ }) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
131
+ style: styles.tileFile
132
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
133
+ style: styles.tileFileText,
134
+ numberOfLines: 2
135
+ }, att.name)), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
136
+ style: styles.tileRemove,
137
+ onPress: () => removeAttachment(index),
138
+ hitSlop: {
139
+ top: 6,
140
+ bottom: 6,
141
+ left: 6,
142
+ right: 6
143
+ }
144
+ }, /*#__PURE__*/_react.default.createElement(_Icons.CloseIcon, {
145
+ color: "#fff",
146
+ size: 9
147
+ })));
148
+ }), uploading ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
149
+ style: [styles.tile, styles.tileLoading]
150
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
151
+ color: bgColor,
152
+ size: "small"
153
+ })) : null)) : null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
154
+ style: styles.pill
155
+ }, canAttach ? /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
156
+ style: styles.iconButton,
157
+ hitSlop: {
158
+ top: 8,
159
+ bottom: 8,
160
+ left: 4,
161
+ right: 4
162
+ },
163
+ onPress: handleAttach
164
+ }, /*#__PURE__*/_react.default.createElement(_Icons.AttachmentIcon, {
165
+ color: _theme.messengerTheme.colors.mutedText,
166
+ size: 18
167
+ })) : null, /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
168
+ placeholder: 'Reply...',
169
+ selectionColor: bgColor,
31
170
  underlineColorAndroid: 'transparent',
32
- style: [styles.textInputStyle],
33
- placeholderTextColor: '#686868',
171
+ style: styles.textInput,
172
+ placeholderTextColor: _theme.messengerTheme.colors.mutedText,
34
173
  value: input,
35
- onChangeText: text => {
36
- onInput(text);
174
+ onChangeText: onInput,
175
+ onFocus: () => {
176
+ setShowEmoji(false);
177
+ setShowMenu(false);
37
178
  },
38
- multiline: true,
39
- numberOfLines: 5
40
- // returnKeyType="send"
179
+ autoCorrect: false,
180
+ multiline: true
41
181
  }), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
42
- style: [styles.sendStyle, {
182
+ style: styles.iconButton,
183
+ hitSlop: {
184
+ top: 8,
185
+ bottom: 8,
186
+ left: 4,
187
+ right: 4
188
+ },
189
+ onPress: () => {
190
+ setShowEmoji(v => !v);
191
+ setShowMenu(false);
192
+ }
193
+ }, /*#__PURE__*/_react.default.createElement(_Icons.SmileyIcon, {
194
+ color: _theme.messengerTheme.colors.mutedText,
195
+ size: 20
196
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
197
+ activeOpacity: 0.85,
198
+ disabled: !canSend,
199
+ style: [styles.sendButton, {
43
200
  backgroundColor: bgColor
44
- }],
201
+ }, !canSend && styles.sendButtonDisabled],
202
+ hitSlop: {
203
+ top: 6,
204
+ bottom: 6,
205
+ left: 6,
206
+ right: 6
207
+ },
208
+ onPress: handleSend
209
+ }, sendIcon || /*#__PURE__*/_react.default.createElement(_Icons.SendIcon, {
210
+ color: _theme.messengerTheme.colors.primaryForeground,
211
+ size: 16
212
+ })), hasMenu ? /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
213
+ style: styles.menuButton,
214
+ hitSlop: {
215
+ top: 8,
216
+ bottom: 8,
217
+ left: 4,
218
+ right: 4
219
+ },
45
220
  onPress: () => {
46
- onSend && onSend(input);
47
- onInput('');
221
+ setShowMenu(v => !v);
222
+ setShowEmoji(false);
48
223
  }
49
- }, sendIcon));
224
+ }, /*#__PURE__*/_react.default.createElement(_Icons.MenuIcon, {
225
+ color: _theme.messengerTheme.colors.mutedText,
226
+ size: 18
227
+ })) : null));
50
228
  };
51
229
  const styles = _reactNative.StyleSheet.create({
52
- sendStyle: {
53
- width: 40,
54
- height: 40,
55
- marginLeft: 10,
56
- borderRadius: 90,
230
+ wrapper: {
231
+ paddingHorizontal: _theme.messengerTheme.spacing.sm,
232
+ paddingTop: _theme.messengerTheme.spacing.sm,
233
+ paddingBottom: _reactNative.Platform.OS === 'ios' ? _theme.messengerTheme.spacing.xl : _theme.messengerTheme.spacing.sm
234
+ },
235
+ // rounded-2xl shadow-xs p-1.5 ps-2.5 bg-background, items aligned to the end
236
+ // so the controls stay pinned as the input grows.
237
+ pill: {
238
+ flexDirection: 'row',
239
+ alignItems: 'flex-end',
240
+ backgroundColor: _theme.messengerTheme.colors.inputBackground,
241
+ borderRadius: _theme.messengerTheme.radius.lg,
242
+ paddingLeft: 10,
243
+ paddingRight: 6,
244
+ paddingVertical: 6,
245
+ ..._theme.messengerTheme.shadow.card
246
+ },
247
+ iconButton: {
248
+ width: 28,
249
+ height: 34,
250
+ alignItems: 'center',
251
+ justifyContent: 'center'
252
+ },
253
+ menuButton: {
254
+ width: 32,
255
+ height: 32,
256
+ marginLeft: 2,
257
+ borderRadius: 16,
258
+ alignItems: 'center',
259
+ justifyContent: 'center'
260
+ },
261
+ textInput: {
262
+ flex: 1,
263
+ fontSize: 14,
264
+ color: _theme.messengerTheme.colors.text,
265
+ paddingHorizontal: 4,
266
+ paddingTop: 7,
267
+ paddingBottom: 7,
268
+ maxHeight: 120,
269
+ minHeight: 34
270
+ },
271
+ // size-8 rounded-full bg-primary
272
+ sendButton: {
273
+ width: 32,
274
+ height: 32,
275
+ marginLeft: 2,
276
+ borderRadius: 16,
57
277
  justifyContent: 'center',
58
278
  alignItems: 'center'
59
279
  },
60
- textInputStyle: {
61
- flex: 1,
62
- paddingHorizontal: 15,
63
- backgroundColor: 'white',
64
- borderRadius: 20,
65
- maxHeight: 100,
66
- minHeight: 40,
67
- paddingTop: 12
280
+ sendButtonDisabled: {
281
+ opacity: 0.4
282
+ },
283
+ // Attachment strip above the composer.
284
+ strip: {
285
+ paddingHorizontal: 6,
286
+ paddingBottom: _theme.messengerTheme.spacing.sm,
287
+ gap: 6
288
+ },
289
+ stripLabel: {
290
+ fontSize: 11,
291
+ color: _theme.messengerTheme.colors.mutedText
292
+ },
293
+ toast: {
294
+ marginHorizontal: 6,
295
+ marginBottom: _theme.messengerTheme.spacing.sm,
296
+ paddingHorizontal: 10,
297
+ paddingVertical: 8,
298
+ borderRadius: _theme.messengerTheme.radius.md,
299
+ backgroundColor: '#fee2e2',
300
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
301
+ borderColor: '#fecaca'
302
+ },
303
+ toastText: {
304
+ color: _theme.messengerTheme.colors.danger,
305
+ fontSize: 12,
306
+ lineHeight: 16
307
+ },
308
+ stripRow: {
309
+ flexDirection: 'row',
310
+ gap: _theme.messengerTheme.spacing.sm,
311
+ paddingTop: 2,
312
+ paddingRight: 8
313
+ },
314
+ tile: {
315
+ width: 56,
316
+ height: 56,
317
+ borderRadius: _theme.messengerTheme.radius.md,
318
+ backgroundColor: _theme.messengerTheme.colors.surface
319
+ },
320
+ tileImage: {
321
+ width: 56,
322
+ height: 56,
323
+ borderRadius: _theme.messengerTheme.radius.md
324
+ },
325
+ tileFile: {
326
+ width: 56,
327
+ height: 56,
328
+ borderRadius: _theme.messengerTheme.radius.md,
329
+ backgroundColor: _theme.messengerTheme.colors.background,
330
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
331
+ borderColor: _theme.messengerTheme.colors.border,
332
+ alignItems: 'center',
333
+ justifyContent: 'center',
334
+ padding: 4
335
+ },
336
+ tileFileText: {
337
+ fontSize: 9,
338
+ lineHeight: 11,
339
+ color: _theme.messengerTheme.colors.mutedText,
340
+ textAlign: 'center'
341
+ },
342
+ tileLoading: {
343
+ alignItems: 'center',
344
+ justifyContent: 'center',
345
+ ..._theme.messengerTheme.shadow.card
346
+ },
347
+ tileRemove: {
348
+ position: 'absolute',
349
+ top: -6,
350
+ right: -6,
351
+ width: 18,
352
+ height: 18,
353
+ borderRadius: 9,
354
+ backgroundColor: _theme.messengerTheme.colors.danger,
355
+ alignItems: 'center',
356
+ justifyContent: 'center',
357
+ borderWidth: 1.5,
358
+ borderColor: '#fff'
68
359
  }
69
360
  });
70
361
  var _default = InputTools;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","InputTools","props","onSend","bgColor","sendIcon","input","onInput","useState","createElement","View","style","paddingVertical","alignItems","flexDirection","marginBottom","marginHorizontal","TextInput","placeholder","selectionColor","underlineColorAndroid","styles","textInputStyle","placeholderTextColor","value","onChangeText","text","multiline","numberOfLines","TouchableOpacity","sendStyle","backgroundColor","onPress","StyleSheet","create","width","height","marginLeft","borderRadius","justifyContent","flex","paddingHorizontal","maxHeight","minHeight","paddingTop","_default","exports"],"sourceRoot":"../../../src","sources":["components/InputTools.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_theme","_Icons","_EmojiPicker","_interopRequireDefault","_PersistentMenu","_upload","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","InputTools","props","onSend","bgColor","sendIcon","subDomain","persistentMenus","sending","input","onInput","useState","attachments","setAttachments","uploading","setUploading","uploadError","setUploadError","showEmoji","setShowEmoji","showMenu","setShowMenu","uploadErrorTimer","useRef","canAttach","useMemo","isImagePickerAvailable","hasMenu","length","trimmed","trim","canSend","useEffect","current","clearTimeout","showUploadError","message","setTimeout","handleSend","handleAttach","file","pickImage","isAllowedImageFile","unsupportedImageUploadMessage","uploaded","uploadFile","prev","err","console","log","Error","includes","removeAttachment","index","filter","_","i","handleMenuSendText","text","total","createElement","View","style","styles","wrapper","onSelect","emoji","items","onSendText","toast","Text","toastText","strip","stripLabel","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","stripRow","keyboardShouldPersistTaps","map","att","_att$type","url","tile","type","startsWith","Image","source","uri","getAttachmentUrl","tileImage","tileFile","tileFileText","numberOfLines","name","TouchableOpacity","tileRemove","onPress","hitSlop","top","bottom","left","right","CloseIcon","color","size","tileLoading","ActivityIndicator","pill","iconButton","AttachmentIcon","messengerTheme","colors","mutedText","TextInput","placeholder","selectionColor","underlineColorAndroid","textInput","placeholderTextColor","value","onChangeText","onFocus","autoCorrect","multiline","v","SmileyIcon","activeOpacity","disabled","sendButton","backgroundColor","sendButtonDisabled","SendIcon","primaryForeground","menuButton","MenuIcon","StyleSheet","create","paddingHorizontal","spacing","sm","paddingTop","paddingBottom","Platform","OS","xl","flexDirection","alignItems","inputBackground","borderRadius","radius","lg","paddingLeft","paddingRight","paddingVertical","shadow","card","width","height","justifyContent","marginLeft","flex","fontSize","maxHeight","minHeight","opacity","gap","marginHorizontal","marginBottom","md","borderWidth","hairlineWidth","borderColor","danger","lineHeight","surface","background","border","padding","textAlign","position","_default","exports"],"sourceRoot":"../../../src","sources":["components/InputTools.tsx"],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Context = _interopRequireDefault(require("../context/Context"));
10
+ var _Home = _interopRequireDefault(require("../screen/home/Home"));
11
+ var _Messages = _interopRequireDefault(require("../screen/messages/Messages"));
12
+ var _Faq = _interopRequireDefault(require("../screen/faq/Faq"));
13
+ var _Navigation = _interopRequireDefault(require("./nav/Navigation"));
14
+ var _theme = require("../theme");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ // RN port of the web messenger app shell (frontline-widgets app/app.tsx):
19
+ // a tab content area (Home / Messages) above a bottom navigation bar. The chat
20
+ // (conversation detail) is rendered separately by Widget when a conversation
21
+ // is open, matching the web behavior where the nav is hidden during chat.
22
+ const MessengerShell = () => {
23
+ const value = (0, _react.useContext)(_Context.default);
24
+ const {
25
+ bgColor,
26
+ totalUnreadCount,
27
+ greetings
28
+ } = value;
29
+ const hasKnowledgeBase = Boolean(greetings === null || greetings === void 0 ? void 0 : greetings.knowledgeBaseTopicId);
30
+ const hiddenTabs = hasKnowledgeBase ? [] : ['faq'];
31
+ const [activeTab, setActiveTab] = (0, _react.useState)('home');
32
+ const renderTab = () => {
33
+ if (activeTab === 'messages') {
34
+ return /*#__PURE__*/_react.default.createElement(_Messages.default, null);
35
+ }
36
+ if (activeTab === 'faq') {
37
+ return /*#__PURE__*/_react.default.createElement(_Faq.default, null);
38
+ }
39
+ return /*#__PURE__*/_react.default.createElement(_Home.default, null);
40
+ };
41
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
42
+ style: styles.root
43
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
44
+ style: styles.content
45
+ }, renderTab()), /*#__PURE__*/_react.default.createElement(_Navigation.default, {
46
+ activeTab: activeTab,
47
+ onChange: setActiveTab,
48
+ bgColor: bgColor,
49
+ unreadCount: totalUnreadCount,
50
+ hiddenTabs: hiddenTabs
51
+ }));
52
+ };
53
+ var _default = MessengerShell;
54
+ exports.default = _default;
55
+ const styles = _reactNative.StyleSheet.create({
56
+ root: {
57
+ flex: 1,
58
+ backgroundColor: _theme.messengerTheme.colors.background
59
+ },
60
+ content: {
61
+ flex: 1
62
+ }
63
+ });
64
+ //# sourceMappingURL=MessengerShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_Context","_interopRequireDefault","_Home","_Messages","_Faq","_Navigation","_theme","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessengerShell","value","useContext","AppContext","bgColor","totalUnreadCount","greetings","hasKnowledgeBase","Boolean","knowledgeBaseTopicId","hiddenTabs","activeTab","setActiveTab","useState","renderTab","createElement","View","style","styles","root","content","onChange","unreadCount","_default","exports","StyleSheet","create","flex","backgroundColor","messengerTheme","colors","background"],"sourceRoot":"../../../src","sources":["components/MessengerShell.tsx"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _theme = require("../../theme");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // RN port of the web messenger date-separator.tsx — a centered pill label with
12
+ // a hairline rule behind it.
13
+ const DateSeparator = _ref => {
14
+ let {
15
+ label
16
+ } = _ref;
17
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
18
+ style: styles.row
19
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
20
+ style: styles.line
21
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
22
+ style: styles.label
23
+ }, label), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
24
+ style: styles.line
25
+ }));
26
+ };
27
+ var _default = DateSeparator;
28
+ exports.default = _default;
29
+ const styles = _reactNative.StyleSheet.create({
30
+ row: {
31
+ flexDirection: 'row',
32
+ alignItems: 'center',
33
+ marginVertical: _theme.messengerTheme.spacing.md
34
+ },
35
+ line: {
36
+ flex: 1,
37
+ height: 1,
38
+ backgroundColor: 'rgba(0,0,0,0.06)'
39
+ },
40
+ label: {
41
+ marginHorizontal: _theme.messengerTheme.spacing.md,
42
+ fontSize: 12,
43
+ fontWeight: '500',
44
+ color: _theme.messengerTheme.colors.mutedText
45
+ }
46
+ });
47
+ //# sourceMappingURL=DateSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","_theme","obj","__esModule","default","DateSeparator","_ref","label","createElement","View","style","styles","row","line","Text","_default","exports","StyleSheet","create","flexDirection","alignItems","marginVertical","messengerTheme","spacing","md","flex","height","backgroundColor","marginHorizontal","fontSize","fontWeight","color","colors","mutedText"],"sourceRoot":"../../../../src","sources":["components/conversation/DateSeparator.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7C;AACA;AACA,MAAMG,aAAa,GAAGC,IAAA,IAAkC;EAAA,IAAjC;IAAEC;EAAyB,CAAC,GAAAD,IAAA;EACjD,oBACEP,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACX,YAAA,CAAAY,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAI,gBACtBb,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACX,YAAA,CAAAY,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACE;EAAK,CAAE,CAAC,eAC5Bd,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACX,YAAA,CAAAiB,IAAI;IAACJ,KAAK,EAAEC,MAAM,CAACJ;EAAM,GAAEA,KAAY,CAAC,eACzCR,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACX,YAAA,CAAAY,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACE;EAAK,CAAE,CACvB,CAAC;AAEX,CAAC;AAAC,IAAAE,QAAA,GAEaV,aAAa;AAAAW,OAAA,CAAAZ,OAAA,GAAAW,QAAA;AAE5B,MAAMJ,MAAM,GAAGM,uBAAU,CAACC,MAAM,CAAC;EAC/BN,GAAG,EAAE;IACHO,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAEC,qBAAc,CAACC,OAAO,CAACC;EACzC,CAAC;EACDX,IAAI,EAAE;IACJY,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,CAAC;IACTC,eAAe,EAAE;EACnB,CAAC;EACDpB,KAAK,EAAE;IACLqB,gBAAgB,EAAEN,qBAAc,CAACC,OAAO,CAACC,EAAE;IAC3CK,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAET,qBAAc,CAACU,MAAM,CAACC;EAC/B;AACF,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _theme = require("../../theme");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // Lightweight emoji panel — the RN counterpart of the web messenger's emoji
12
+ // popover. No external dependency: a scrollable grid of frequently-used emojis
13
+ // that append to the composer text on tap.
14
+ const EMOJIS = ['😀', '😁', '😂', '🤣', '😊', '😇', '🙂', '😉', '😍', '😘', '😋', '😎', '🤩', '🥳', '🤗', '🤔', '😅', '😴', '😢', '😭', '😡', '👍', '👎', '👏', '🙏', '💪', '🔥', '✨', '🎉', '❤️', '💯', '✅', '👋', '🙌', '👌', '😬', '😱', '😏', '😜', '🤝'];
15
+ const EmojiPicker = _ref => {
16
+ let {
17
+ onSelect
18
+ } = _ref;
19
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
20
+ style: styles.panel
21
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
22
+ style: styles.scroll,
23
+ contentContainerStyle: styles.grid,
24
+ keyboardShouldPersistTaps: "handled",
25
+ showsVerticalScrollIndicator: false
26
+ }, EMOJIS.map(emoji => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
27
+ key: emoji,
28
+ style: styles.cell,
29
+ onPress: () => onSelect(emoji)
30
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
31
+ style: styles.emoji
32
+ }, emoji)))));
33
+ };
34
+ var _default = EmojiPicker;
35
+ exports.default = _default;
36
+ const styles = _reactNative.StyleSheet.create({
37
+ panel: {
38
+ backgroundColor: _theme.messengerTheme.colors.surface,
39
+ borderRadius: _theme.messengerTheme.radius.lg,
40
+ marginBottom: _theme.messengerTheme.spacing.sm,
41
+ paddingVertical: _theme.messengerTheme.spacing.sm,
42
+ ..._theme.messengerTheme.shadow.card
43
+ },
44
+ scroll: {
45
+ maxHeight: 168
46
+ },
47
+ grid: {
48
+ flexDirection: 'row',
49
+ flexWrap: 'wrap',
50
+ paddingHorizontal: _theme.messengerTheme.spacing.sm
51
+ },
52
+ cell: {
53
+ width: '12.5%',
54
+ aspectRatio: 1,
55
+ alignItems: 'center',
56
+ justifyContent: 'center'
57
+ },
58
+ emoji: {
59
+ fontSize: 22
60
+ }
61
+ });
62
+ //# sourceMappingURL=EmojiPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","_theme","obj","__esModule","default","EMOJIS","EmojiPicker","_ref","onSelect","createElement","View","style","styles","panel","ScrollView","scroll","contentContainerStyle","grid","keyboardShouldPersistTaps","showsVerticalScrollIndicator","map","emoji","TouchableOpacity","key","cell","onPress","Text","_default","exports","StyleSheet","create","backgroundColor","messengerTheme","colors","surface","borderRadius","radius","lg","marginBottom","spacing","sm","paddingVertical","shadow","card","maxHeight","flexDirection","flexWrap","paddingHorizontal","width","aspectRatio","alignItems","justifyContent","fontSize"],"sourceRoot":"../../../../src","sources":["components/conversation/EmojiPicker.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7C;AACA;AACA;AACA,MAAMG,MAAM,GAAG,CACb,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;AAMD,MAAMC,WAAW,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC;EAAgB,CAAC,GAAAD,IAAA;EACtC,oBACER,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACZ,YAAA,CAAAa,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAM,gBACxBd,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACZ,YAAA,CAAAiB,UAAU;IACTH,KAAK,EAAEC,MAAM,CAACG,MAAO;IACrBC,qBAAqB,EAAEJ,MAAM,CAACK,IAAK;IACnCC,yBAAyB,EAAC,SAAS;IACnCC,4BAA4B,EAAE;EAAM,GAEnCd,MAAM,CAACe,GAAG,CAAEC,KAAK,iBAChBtB,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACZ,YAAA,CAAAyB,gBAAgB;IACfC,GAAG,EAAEF,KAAM;IACXV,KAAK,EAAEC,MAAM,CAACY,IAAK;IACnBC,OAAO,EAAEA,CAAA,KAAMjB,QAAQ,CAACa,KAAK;EAAE,gBAE/BtB,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACZ,YAAA,CAAA6B,IAAI;IAACf,KAAK,EAAEC,MAAM,CAACS;EAAM,GAAEA,KAAY,CACxB,CACnB,CACS,CACR,CAAC;AAEX,CAAC;AAAC,IAAAM,QAAA,GAEarB,WAAW;AAAAsB,OAAA,CAAAxB,OAAA,GAAAuB,QAAA;AAE1B,MAAMf,MAAM,GAAGiB,uBAAU,CAACC,MAAM,CAAC;EAC/BjB,KAAK,EAAE;IACLkB,eAAe,EAAEC,qBAAc,CAACC,MAAM,CAACC,OAAO;IAC9CC,YAAY,EAAEH,qBAAc,CAACI,MAAM,CAACC,EAAE;IACtCC,YAAY,EAAEN,qBAAc,CAACO,OAAO,CAACC,EAAE;IACvCC,eAAe,EAAET,qBAAc,CAACO,OAAO,CAACC,EAAE;IAC1C,GAAGR,qBAAc,CAACU,MAAM,CAACC;EAC3B,CAAC;EACD5B,MAAM,EAAE;IACN6B,SAAS,EAAE;EACb,CAAC;EACD3B,IAAI,EAAE;IACJ4B,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBC,iBAAiB,EAAEf,qBAAc,CAACO,OAAO,CAACC;EAC5C,CAAC;EACDhB,IAAI,EAAE;IACJwB,KAAK,EAAE,OAAO;IACdC,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACD9B,KAAK,EAAE;IACL+B,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}