@droppii-org/chat-mobile 0.2.23 → 0.2.25

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 (194) hide show
  1. package/lib/module/assets/images/btn_resend.png +0 -0
  2. package/lib/module/assets/images/index.js +2 -1
  3. package/lib/module/assets/images/index.js.map +1 -1
  4. package/lib/module/components/AttachmentPreview/FilePreview.js +1 -1
  5. package/lib/module/components/AttachmentPreview/FilePreview.js.map +1 -1
  6. package/lib/module/components/messages/MessageStatusIndicator.js +70 -0
  7. package/lib/module/components/messages/MessageStatusIndicator.js.map +1 -0
  8. package/lib/module/components/messages/fileMessage/index.js.map +1 -1
  9. package/lib/module/components/messages/imageMessage/index.js +59 -50
  10. package/lib/module/components/messages/imageMessage/index.js.map +1 -1
  11. package/lib/module/components/messages/linkMessage/index.js +14 -6
  12. package/lib/module/components/messages/linkMessage/index.js.map +1 -1
  13. package/lib/module/components/messages/mergedMessage/index.js.map +1 -1
  14. package/lib/module/components/messages/textMessage/index.js +14 -6
  15. package/lib/module/components/messages/textMessage/index.js.map +1 -1
  16. package/lib/module/components/messages/videoMessage/index.js.map +1 -1
  17. package/lib/module/config/uploadLimits.js +13 -0
  18. package/lib/module/config/uploadLimits.js.map +1 -0
  19. package/lib/module/core/useChatListener.js +35 -4
  20. package/lib/module/core/useChatListener.js.map +1 -1
  21. package/lib/module/core/useUserListener.js +17 -7
  22. package/lib/module/core/useUserListener.js.map +1 -1
  23. package/lib/module/hooks/message/useSendMessage.js +62 -15
  24. package/lib/module/hooks/message/useSendMessage.js.map +1 -1
  25. package/lib/module/hooks/useChatCompose.js +153 -0
  26. package/lib/module/hooks/useChatCompose.js.map +1 -0
  27. package/lib/module/hooks/useChatMessages.js +39 -8
  28. package/lib/module/hooks/useChatMessages.js.map +1 -1
  29. package/lib/module/hooks/useFileAttachment.js +1 -1
  30. package/lib/module/hooks/useFileAttachment.js.map +1 -1
  31. package/lib/module/hooks/useFileDownload.js +1 -1
  32. package/lib/module/hooks/useFileDownload.js.map +1 -1
  33. package/lib/module/hooks/useImageAttachment.js +81 -152
  34. package/lib/module/hooks/useImageAttachment.js.map +1 -1
  35. package/lib/module/hooks/useSendAttachment.js +2 -2
  36. package/lib/module/hooks/useSendAttachment.js.map +1 -1
  37. package/lib/module/index.js +1 -1
  38. package/lib/module/index.js.map +1 -1
  39. package/lib/module/screens/chat-detail/ChatComposer.js +50 -185
  40. package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
  41. package/lib/module/screens/chat-detail/ChatDetail.js +29 -137
  42. package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
  43. package/lib/module/screens/chat-detail/ChatListLegend.js +20 -15
  44. package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
  45. package/lib/module/screens/chat-detail/index.js +0 -1
  46. package/lib/module/screens/chat-detail/index.js.map +1 -1
  47. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +18 -13
  48. package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
  49. package/lib/module/services/attachmentHandlers/fileAttachmentHandler.js +2 -2
  50. package/lib/module/services/attachmentHandlers/fileAttachmentHandler.js.map +1 -1
  51. package/lib/module/services/attachmentHandlers/imageAttachmentHandler.js +3 -3
  52. package/lib/module/services/attachmentHandlers/imageAttachmentHandler.js.map +1 -1
  53. package/lib/module/services/attachmentHandlers/videoAttachmentHandler.js +2 -1
  54. package/lib/module/services/attachmentHandlers/videoAttachmentHandler.js.map +1 -1
  55. package/lib/module/services/attachmentOrchestrator.js +40 -17
  56. package/lib/module/services/attachmentOrchestrator.js.map +1 -1
  57. package/lib/module/services/message.js +13 -5
  58. package/lib/module/services/message.js.map +1 -1
  59. package/lib/module/translation/resources/i18n.js +4 -3
  60. package/lib/module/translation/resources/i18n.js.map +1 -1
  61. package/lib/module/types/chat.js.map +1 -1
  62. package/lib/module/types/global.d.js +2 -0
  63. package/lib/module/types/global.d.js.map +1 -0
  64. package/lib/module/types/index.d.js +3 -0
  65. package/lib/module/types/index.d.js.map +1 -0
  66. package/lib/module/utils/UIUtils.js +37 -0
  67. package/lib/module/utils/UIUtils.js.map +1 -0
  68. package/lib/module/utils/imageUtils.js +3 -3
  69. package/lib/module/utils/imageUtils.js.map +1 -1
  70. package/lib/module/utils/pLimit.js +19 -0
  71. package/lib/module/utils/pLimit.js.map +1 -0
  72. package/lib/module/utils/videoThumbnail.js +8 -3
  73. package/lib/module/utils/videoThumbnail.js.map +1 -1
  74. package/lib/module/utils/videoThumbnailUpload.js +76 -0
  75. package/lib/module/utils/videoThumbnailUpload.js.map +1 -0
  76. package/lib/typescript/src/assets/images/index.d.ts +1 -0
  77. package/lib/typescript/src/assets/images/index.d.ts.map +1 -1
  78. package/lib/typescript/src/components/messages/MessageStatusIndicator.d.ts +9 -0
  79. package/lib/typescript/src/components/messages/MessageStatusIndicator.d.ts.map +1 -0
  80. package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
  81. package/lib/typescript/src/components/messages/imageMessage/index.d.ts.map +1 -1
  82. package/lib/typescript/src/components/messages/linkMessage/index.d.ts +3 -8
  83. package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
  84. package/lib/typescript/src/components/messages/mergedMessage/index.d.ts.map +1 -1
  85. package/lib/typescript/src/components/messages/textMessage/index.d.ts +2 -8
  86. package/lib/typescript/src/components/messages/textMessage/index.d.ts.map +1 -1
  87. package/lib/typescript/src/components/messages/videoMessage/index.d.ts.map +1 -1
  88. package/lib/typescript/src/config/uploadLimits.d.ts +7 -0
  89. package/lib/typescript/src/config/uploadLimits.d.ts.map +1 -0
  90. package/lib/typescript/src/core/useChatListener.d.ts.map +1 -1
  91. package/lib/typescript/src/core/useUserListener.d.ts.map +1 -1
  92. package/lib/typescript/src/hooks/message/useSendMessage.d.ts +2 -0
  93. package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
  94. package/lib/typescript/src/hooks/useChatCompose.d.ts +27 -0
  95. package/lib/typescript/src/hooks/useChatCompose.d.ts.map +1 -0
  96. package/lib/typescript/src/hooks/useChatMessages.d.ts.map +1 -1
  97. package/lib/typescript/src/hooks/useImageAttachment.d.ts +2 -2
  98. package/lib/typescript/src/hooks/useImageAttachment.d.ts.map +1 -1
  99. package/lib/typescript/src/hooks/useSendAttachment.d.ts +1 -1
  100. package/lib/typescript/src/hooks/useSendAttachment.d.ts.map +1 -1
  101. package/lib/typescript/src/index.d.ts +1 -2
  102. package/lib/typescript/src/index.d.ts.map +1 -1
  103. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts +5 -2
  104. package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
  105. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts +1 -1
  106. package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
  107. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts +1 -1
  108. package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
  109. package/lib/typescript/src/screens/chat-detail/index.d.ts +0 -2
  110. package/lib/typescript/src/screens/chat-detail/index.d.ts.map +1 -1
  111. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +3 -5
  112. package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
  113. package/lib/typescript/src/screens/chat-detail/types.d.ts +1 -35
  114. package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
  115. package/lib/typescript/src/services/attachmentHandlers/fileAttachmentHandler.d.ts.map +1 -1
  116. package/lib/typescript/src/services/attachmentHandlers/imageAttachmentHandler.d.ts.map +1 -1
  117. package/lib/typescript/src/services/attachmentHandlers/videoAttachmentHandler.d.ts.map +1 -1
  118. package/lib/typescript/src/services/attachmentOrchestrator.d.ts +1 -1
  119. package/lib/typescript/src/services/attachmentOrchestrator.d.ts.map +1 -1
  120. package/lib/typescript/src/services/message.d.ts +7 -0
  121. package/lib/typescript/src/services/message.d.ts.map +1 -1
  122. package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
  123. package/lib/typescript/src/types/chat.d.ts +11 -0
  124. package/lib/typescript/src/types/chat.d.ts.map +1 -1
  125. package/lib/typescript/src/utils/UIUtils.d.ts +4 -0
  126. package/lib/typescript/src/utils/UIUtils.d.ts.map +1 -0
  127. package/lib/typescript/src/utils/imageUtils.d.ts.map +1 -1
  128. package/lib/typescript/src/utils/pLimit.d.ts +6 -0
  129. package/lib/typescript/src/utils/pLimit.d.ts.map +1 -0
  130. package/lib/typescript/src/utils/videoThumbnail.d.ts.map +1 -1
  131. package/lib/typescript/src/utils/videoThumbnailUpload.d.ts +11 -0
  132. package/lib/typescript/src/utils/videoThumbnailUpload.d.ts.map +1 -0
  133. package/package.json +2 -2
  134. package/src/assets/images/btn_resend.png +0 -0
  135. package/src/assets/images/index.ts +1 -0
  136. package/src/components/AttachmentPreview/FilePreview.tsx +1 -1
  137. package/src/components/messages/MessageStatusIndicator.tsx +82 -0
  138. package/src/components/messages/fileMessage/index.tsx +0 -1
  139. package/src/components/messages/imageMessage/index.tsx +71 -57
  140. package/src/components/messages/linkMessage/index.tsx +13 -19
  141. package/src/components/messages/mergedMessage/index.tsx +0 -1
  142. package/src/components/messages/textMessage/index.tsx +13 -18
  143. package/src/components/messages/videoMessage/index.tsx +0 -1
  144. package/src/config/uploadLimits.ts +11 -0
  145. package/src/core/useChatListener.ts +38 -4
  146. package/src/core/useUserListener.ts +17 -7
  147. package/src/hooks/message/useSendMessage.ts +103 -24
  148. package/src/hooks/useChatCompose.ts +195 -0
  149. package/src/hooks/useChatMessages.ts +54 -10
  150. package/src/hooks/useFileAttachment.ts +1 -1
  151. package/src/hooks/useFileDownload.ts +1 -1
  152. package/src/hooks/useImageAttachment.ts +120 -199
  153. package/src/hooks/useSendAttachment.ts +3 -6
  154. package/src/index.tsx +3 -5
  155. package/src/screens/chat-detail/ChatComposer.tsx +88 -240
  156. package/src/screens/chat-detail/ChatDetail.tsx +36 -195
  157. package/src/screens/chat-detail/ChatListLegend.tsx +16 -13
  158. package/src/screens/chat-detail/index.ts +1 -5
  159. package/src/screens/chat-detail/legend/LegendChatMessage.tsx +19 -12
  160. package/src/screens/chat-detail/types.ts +1 -38
  161. package/src/services/attachmentHandlers/fileAttachmentHandler.ts +3 -2
  162. package/src/services/attachmentHandlers/imageAttachmentHandler.ts +6 -3
  163. package/src/services/attachmentHandlers/videoAttachmentHandler.ts +2 -1
  164. package/src/services/attachmentOrchestrator.ts +49 -27
  165. package/src/services/message.ts +21 -4
  166. package/src/translation/resources/i18n.ts +6 -3
  167. package/src/types/chat.ts +6 -0
  168. package/src/types/global.d.ts +299 -0
  169. package/src/types/index.d.ts +1 -0
  170. package/src/utils/UIUtils.ts +31 -0
  171. package/src/utils/imageUtils.ts +3 -4
  172. package/src/utils/pLimit.ts +20 -0
  173. package/src/utils/videoThumbnail.ts +10 -3
  174. package/src/utils/videoThumbnailUpload.ts +103 -0
  175. package/lib/module/hooks/useVideoAttachment.js +0 -251
  176. package/lib/module/hooks/useVideoAttachment.js.map +0 -1
  177. package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js +0 -288
  178. package/lib/module/screens/chat-detail/hooks/useAttachmentSendHandler.js.map +0 -1
  179. package/lib/module/utils/giftedChatMessage.js +0 -90
  180. package/lib/module/utils/giftedChatMessage.js.map +0 -1
  181. package/lib/module/utils/ui.js +0 -17
  182. package/lib/module/utils/ui.js.map +0 -1
  183. package/lib/typescript/src/hooks/useVideoAttachment.d.ts +0 -29
  184. package/lib/typescript/src/hooks/useVideoAttachment.d.ts.map +0 -1
  185. package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentSendHandler.d.ts +0 -26
  186. package/lib/typescript/src/screens/chat-detail/hooks/useAttachmentSendHandler.d.ts.map +0 -1
  187. package/lib/typescript/src/utils/giftedChatMessage.d.ts +0 -10
  188. package/lib/typescript/src/utils/giftedChatMessage.d.ts.map +0 -1
  189. package/lib/typescript/src/utils/ui.d.ts +0 -13
  190. package/lib/typescript/src/utils/ui.d.ts.map +0 -1
  191. package/src/hooks/useVideoAttachment.ts +0 -334
  192. package/src/screens/chat-detail/hooks/useAttachmentSendHandler.ts +0 -386
  193. package/src/utils/giftedChatMessage.ts +0 -137
  194. package/src/utils/ui.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"names":["OpenIMSDK","ViewType","useConversationStore","getReceiverId","DEFAULT_PAGE_SIZE","ChatMessageAPI","_ChatMessageAPI","fetchHistoryMessages","conversationID","options","getAdvancedHistoryMessageList","count","startClientMsgID","viewType","History","sendTextMessage","params","currentConversation","getState","getCurrentConversation","message","createTextMessage","text","sentMessage","sendMessage","markConversationAsRead","markConversationMessageAsRead","getCurrentUserId","getLoginUserID"],"sourceRoot":"../../../src","sources":["services/message.ts"],"mappings":";;AAAA,OAAOA,SAAS,IACdC,QAAQ,QAGH,+BAA+B;AAEtC,SAASC,oBAAoB,QAAQ,mBAAU;AAC/C,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,MAAMC,iBAAiB,GAAG,EAAE;AAAC,WAMZC,cAAc;AAAA,WAAAC,eAAA;EACtB,eAAeC,oBAAoBA,CACxCC,cAAsB,EACtBC,OAIC,EAC8B;IAC/B,OAAOT,SAAS,CAACU,6BAA6B,CAAC;MAC7CF,cAAc;MACdG,KAAK,EAAEF,OAAO,EAAEE,KAAK,IAAIP,iBAAiB;MAC1CQ,gBAAgB,EAAEH,OAAO,EAAEG,gBAAgB,IAAI,EAAE;MACjDC,QAAQ,EAAEZ,QAAQ,CAACa;MACnB;MACA;MACA;IACF,CAAC,CAAC;EACJ;EAACR,eAAA,CAAAC,oBAAA,GAAAA,oBAAA;EAEM,eAAeQ,eAAeA,CAACC,MAErC,EAAyB;IACxB,MAAMC,mBAAmB,GAAGf,oBAAoB,CAC7CgB,QAAQ,CAAC,CAAC,CACVC,sBAAsB,CAAC,CAAC;IAE3B,MAAMC,OAAO,GAAG,MAAMpB,SAAS,CAACqB,iBAAiB,CAACL,MAAM,CAACM,IAAI,CAAC;IAE9D,MAAMC,WAAW,GAAG,MAAMvB,SAAS,CAACwB,WAAW,CAAC;MAC9C,GAAGrB,aAAa,CAACc,mBAAmB,CAAC;MACrCG;IACF,CAAC,CAAC;IAEF,OAAOG,WAAW;EACpB;EAACjB,eAAA,CAAAS,eAAA,GAAAA,eAAA;EAEM,eAAeU,sBAAsBA,CAACjB,cAAsB,EAAE;IACnE,OAAOR,SAAS,CAAC0B,6BAA6B,CAAClB,cAAc,CAAC;EAChE;EAACF,eAAA,CAAAmB,sBAAA,GAAAA,sBAAA;EAEM,eAAeE,gBAAgBA,CAAA,EAAG;IACvC,OAAO3B,SAAS,CAAC4B,cAAc,CAAC,CAAC;EACnC;EAACtB,eAAA,CAAAqB,gBAAA,GAAAA,gBAAA;AAAA,GA3CctB,cAAc,KAAdA,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["OpenIMSDK","ViewType","useConversationStore","getReceiverId","DEFAULT_PAGE_SIZE","ChatMessageAPI","_ChatMessageAPI","fetchHistoryMessages","conversationID","options","getAdvancedHistoryMessageListApp","count","startClientMsgID","viewType","History","applicationType","sendTextMessage","params","currentConversation","getState","getCurrentConversation","message","createTextMessage","text","sentMessage","sendMessage","searchLocalMessages","keywordList","messageTypeList","pageIndex","markConversationAsRead","markConversationMessageAsRead","getCurrentUserId","getLoginUserID"],"sourceRoot":"../../../src","sources":["services/message.ts"],"mappings":";;AAAA,OAAOA,SAAS,IACdC,QAAQ,QAGH,+BAA+B;AAEtC,SAASC,oBAAoB,QAAQ,mBAAU;AAC/C,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,MAAMC,iBAAiB,GAAG,EAAE;AAAC,WAMZC,cAAc;AAAA,WAAAC,eAAA;EACtB,eAAeC,oBAAoBA,CACxCC,cAAsB,EACtBC,OAKC,EAC8B;IAC/B,OAAOT,SAAS,CAACU,gCAAgC,CAAC;MAChDF,cAAc;MACdG,KAAK,EAAEF,OAAO,EAAEE,KAAK,IAAIP,iBAAiB;MAC1CQ,gBAAgB,EAAEH,OAAO,EAAEG,gBAAgB,IAAI,EAAE;MACjDC,QAAQ,EAAEZ,QAAQ,CAACa,OAAO;MAC1BC,eAAe,EAAEN,OAAO,EAAEM,eAAe,IAAI;IAC/C,CAAC,CAAC;EACJ;EAACT,eAAA,CAAAC,oBAAA,GAAAA,oBAAA;EAEM,eAAeS,eAAeA,CAACC,MAErC,EAAyB;IACxB,MAAMC,mBAAmB,GAAGhB,oBAAoB,CAC7CiB,QAAQ,CAAC,CAAC,CACVC,sBAAsB,CAAC,CAAC;IAE3B,MAAMC,OAAO,GAAG,MAAMrB,SAAS,CAACsB,iBAAiB,CAACL,MAAM,CAACM,IAAI,CAAC;IAE9D,MAAMC,WAAW,GAAG,MAAMxB,SAAS,CAACyB,WAAW,CAAC;MAC9C,GAAGtB,aAAa,CAACe,mBAAmB,CAAC;MACrCG;IACF,CAAC,CAAC;IAEF,OAAOG,WAAW;EACpB;EAAClB,eAAA,CAAAU,eAAA,GAAAA,eAAA;EAEM,eAAeU,mBAAmBA,CACvClB,cAAsB,EACtBC,OAKC,EACD;IACA,OAAOT,SAAS,CAAC0B,mBAAmB,CAAC;MACnClB,cAAc;MACdmB,WAAW,EAAElB,OAAO,EAAEkB,WAAW,IAAI,CAAC,GAAG,CAAC;MAC1CC,eAAe,EAAEnB,OAAO,EAAEmB,eAAe;MACzCC,SAAS,EAAEpB,OAAO,EAAEoB,SAAS,IAAI,CAAC;MAClClB,KAAK,EAAEF,OAAO,EAAEE,KAAK,IAAI;IAC3B,CAAC,CAAC;EACJ;EAACL,eAAA,CAAAoB,mBAAA,GAAAA,mBAAA;EAEM,eAAeI,sBAAsBA,CAACtB,cAAsB,EAAE;IACnE,OAAOR,SAAS,CAAC+B,6BAA6B,CAACvB,cAAc,CAAC;EAChE;EAACF,eAAA,CAAAwB,sBAAA,GAAAA,sBAAA;EAEM,eAAeE,gBAAgBA,CAAA,EAAG;IACvC,OAAOhC,SAAS,CAACiC,cAAc,CAAC,CAAC;EACnC;EAAC3B,eAAA,CAAA0B,gBAAA,GAAAA,gBAAA;AAAA,GA5Dc3B,cAAc,KAAdA,cAAc","ignoreList":[]}
@@ -13,10 +13,11 @@ const i18nKey = {
13
13
  'chat:file_download_failed': 'Tải tệp thất bại',
14
14
  'chat:file_open_failed': 'Không thể mở tệp này',
15
15
  'chat:image_preview': 'Xem trước ảnh',
16
- 'chat:image_too_large': 'Ảnh quá lớn. Tối đa 5MB',
17
- 'chat:video_too_large': 'Video quá lớn. Tối đa 200MB',
16
+ 'chat:image_too_large': 'Hình ảnh tải lên không hợp lệ. Kích thước hình ảnh không được vượt quá {{maxSize}}MB',
17
+ 'chat:video_too_large': 'Video tải lên không hợp lệ. Kích thước video không được vượt quá {{maxSize}}MB',
18
18
  'chat:image_sent': 'Đã gửi ảnh',
19
- 'chat:image_upload_failed': 'Lỗi tải ảnh',
19
+ 'chat:image_upload_failed': ' lỗi xảy ra vui lòng thử lại',
20
+ 'chat:generic_error': 'Có lỗi xảy ra vui lòng thử lại',
20
21
  'chat:failed_to_send_message': 'Không thể gửi tin nhắn. Thử lại?',
21
22
  'chat:filename': 'Tên tệp',
22
23
  'chat:file_size': 'Kích thước',
@@ -1 +1 @@
1
- {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EAAE,0BAA0B;EACjD,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EAAE,yBAAyB;EACjD,sBAAsB,EAAE,6BAA6B;EACrD,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,aAAa;EACzC,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE;AACb,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["i18nKey","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtC,0BAA0B,EAAE,gBAAgB;EAC5C,2BAA2B,EAAE,YAAY;EACzC,qBAAqB,EAAE,0BAA0B;EACjD,qBAAqB,EAAE,kCAAkC;EACzD,uBAAuB,EAAE,oBAAoB;EAC7C,yBAAyB,EAAE,iBAAiB;EAC5C,+BAA+B,EAAE,6BAA6B;EAC9D,uBAAuB,EAAE,oCAAoC;EAC7D,8BAA8B,EAAE,gCAAgC;EAChE,2BAA2B,EAAE,kBAAkB;EAC/C,uBAAuB,EAAE,sBAAsB;EAC/C,oBAAoB,EAAE,eAAe;EACrC,sBAAsB,EACpB,sFAAsF;EACxF,sBAAsB,EACpB,gFAAgF;EAClF,iBAAiB,EAAE,YAAY;EAC/B,0BAA0B,EAAE,gCAAgC;EAC5D,oBAAoB,EAAE,gCAAgC;EACtD,6BAA6B,EAAE,kCAAkC;EACjE,eAAe,EAAE,SAAS;EAC1B,gBAAgB,EAAE,YAAY;EAC9B,iBAAiB,EAAE,SAAS;EAC5B,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,SAAS;EACvB,2BAA2B,EAAE,6BAA6B;EAC1D,mBAAmB,EAAE,kBAAkB;EACvC,yBAAyB,EAAE,kBAAkB;EAC7C,qBAAqB,EAAE,0BAA0B;EACjD,gBAAgB,EAAE,YAAY;EAC9B,gBAAgB,EAAE,kBAAkB;EACpC,gBAAgB,EAAE,SAAS;EAC3B,eAAe,EAAE,iBAAiB;EAClC,eAAe,EAAE,YAAY;EAC7B,iBAAiB,EAAE,qBAAqB;EACxC,OAAO,EAAE,SAAS;EAClB,SAAS,EAAE;AACb,CAAC;AAED,eAAe;EACbC,EAAE,EAAED;AACN,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAUA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AAmBV,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAUA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AAyBV,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=global.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/global.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ /// <reference path="./global.d.ts" />
2
+ "use strict";
3
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.d.ts"],"mappings":"AAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { Alert } from 'react-native';
4
+ const openWithAlert = params => {
5
+ const {
6
+ title = 'Message',
7
+ message = ''
8
+ } = params || {};
9
+ Alert.alert(title, message);
10
+ };
11
+ const defaultAdapter = {
12
+ toast: {
13
+ open: openWithAlert
14
+ },
15
+ alert: {
16
+ open: openWithAlert
17
+ },
18
+ popup: {
19
+ open: openWithAlert
20
+ }
21
+ };
22
+ let _adapter = {};
23
+ export const registerUIUtils = adapter => {
24
+ _adapter = adapter;
25
+ };
26
+ export const UIUtils = {
27
+ toast: {
28
+ open: params => (_adapter.toast ?? defaultAdapter.toast).open(params)
29
+ },
30
+ alert: {
31
+ open: params => (_adapter.alert ?? defaultAdapter.alert).open(params)
32
+ },
33
+ popup: {
34
+ open: params => (_adapter.popup ?? defaultAdapter.popup).open(params)
35
+ }
36
+ };
37
+ //# sourceMappingURL=UIUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Alert","openWithAlert","params","title","message","alert","defaultAdapter","toast","open","popup","_adapter","registerUIUtils","adapter","UIUtils"],"sourceRoot":"../../../src","sources":["utils/UIUtils.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AAGpC,MAAMC,aAAa,GAAIC,MAA4C,IAAK;EACtE,MAAM;IAAEC,KAAK,GAAG,SAAS;IAAEC,OAAO,GAAG;EAAG,CAAC,GAAGF,MAAM,IAAI,CAAC,CAAC;EACxDF,KAAK,CAACK,KAAK,CAACF,KAAK,EAAEC,OAAO,CAAC;AAC7B,CAAC;AAED,MAAME,cAAuC,GAAG;EAC9CC,KAAK,EAAE;IAAEC,IAAI,EAAEP;EAAc,CAAC;EAC9BI,KAAK,EAAE;IAAEG,IAAI,EAAEP;EAAc,CAAC;EAC9BQ,KAAK,EAAE;IAAED,IAAI,EAAEP;EAAc;AAC/B,CAAC;AAED,IAAIS,QAAuB,GAAG,CAAC,CAAC;AAEhC,OAAO,MAAMC,eAAe,GAAIC,OAAsB,IAAW;EAC/DF,QAAQ,GAAGE,OAAO;AACpB,CAAC;AAED,OAAO,MAAMC,OAAgC,GAAG;EAC9CN,KAAK,EAAE;IACLC,IAAI,EAAGN,MAAM,IAAK,CAACQ,QAAQ,CAACH,KAAK,IAAID,cAAc,CAACC,KAAK,EAAEC,IAAI,CAACN,MAAM;EACxE,CAAC;EACDG,KAAK,EAAE;IACLG,IAAI,EAAGN,MAAM,IAAK,CAACQ,QAAQ,CAACL,KAAK,IAAIC,cAAc,CAACD,KAAK,EAAEG,IAAI,CAACN,MAAM;EACxE,CAAC;EACDO,KAAK,EAAE;IACLD,IAAI,EAAGN,MAAM,IAAK,CAACQ,QAAQ,CAACD,KAAK,IAAIH,cAAc,CAACG,KAAK,EAAED,IAAI,CAACN,MAAM;EACxE;AACF,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import Images from "../assets/images/index.js";
4
+ import { UPLOAD_LIMITS } from "../config/uploadLimits.js";
4
5
  export const generateUUID = () => {
5
6
  return `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
6
7
  };
@@ -71,9 +72,8 @@ export const formatFileSize = bytes => {
71
72
  return Math.round(bytes / Math.pow(k, i) * 100) / 100 + ' ' + sizes[i];
72
73
  };
73
74
  export const validateImageFile = file => {
74
- const MAX_SIZE = 5 * 1024 * 1024;
75
- if (file.size > MAX_SIZE) {
76
- return `Image too large. Max ${formatFileSize(MAX_SIZE)}`;
75
+ if (file.size > UPLOAD_LIMITS.image) {
76
+ return `Image too large. Max ${formatFileSize(UPLOAD_LIMITS.image)}`;
77
77
  }
78
78
  const validMimes = ['image/jpeg', 'image/png', 'image/webp', 'image/heic', 'image/heif'];
79
79
  if (!validMimes.includes(file.mime)) {
@@ -1 +1 @@
1
- {"version":3,"names":["Images","generateUUID","Date","now","Math","random","toString","slice","isVideoFile","filename","mimeType","getMimeType","startsWith","isVideoFromPicker","pickedItem","mime","mimeMap","jpg","jpeg","png","webp","heic","heif","mp4","mov","avi","mkv","webm","m4v","flv","wmv","mp3","wav","m4a","aac","flac","ogg","pdf","doc","docx","xls","xlsx","zip","fileName","ext","split","pop","toLowerCase","getFileIcon","ICON_IMG","ICON_PDF","ICON_WORD","ICON_EXCEL","ICON_TXT","formatFileSize","bytes","k","sizes","i","floor","log","round","pow","validateImageFile","file","MAX_SIZE","size","validMimes","includes","getImageUploadEndpoint","baseUrl"],"sourceRoot":"../../../src","sources":["utils/imageUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Images","UPLOAD_LIMITS","generateUUID","Date","now","Math","random","toString","slice","isVideoFile","filename","mimeType","getMimeType","startsWith","isVideoFromPicker","pickedItem","mime","mimeMap","jpg","jpeg","png","webp","heic","heif","mp4","mov","avi","mkv","webm","m4v","flv","wmv","mp3","wav","m4a","aac","flac","ogg","pdf","doc","docx","xls","xlsx","zip","fileName","ext","split","pop","toLowerCase","getFileIcon","ICON_IMG","ICON_PDF","ICON_WORD","ICON_EXCEL","ICON_TXT","formatFileSize","bytes","k","sizes","i","floor","log","round","pow","validateImageFile","file","size","image","validMimes","includes","getImageUploadEndpoint","baseUrl"],"sourceRoot":"../../../src","sources":["utils/imageUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Run `items` through `fn` with at most `concurrency` items in-flight at once.
5
+ * Errors per-item are swallowed — wrap `fn` if you need to capture them.
6
+ */
7
+ export async function pLimit(items, fn, concurrency) {
8
+ let idx = 0;
9
+ const worker = async () => {
10
+ while (idx < items.length) {
11
+ const i = idx++;
12
+ await fn(items[i], i);
13
+ }
14
+ };
15
+ await Promise.all(Array.from({
16
+ length: Math.min(concurrency, items.length)
17
+ }, worker));
18
+ }
19
+ //# sourceMappingURL=pLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pLimit","items","fn","concurrency","idx","worker","length","i","Promise","all","Array","from","Math","min"],"sourceRoot":"../../../src","sources":["utils/pLimit.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAO,eAAeA,MAAMA,CAC1BC,KAAU,EACVC,EAA6C,EAC7CC,WAAmB,EACJ;EACf,IAAIC,GAAG,GAAG,CAAC;EACX,MAAMC,MAAM,GAAG,MAAAA,CAAA,KAAY;IACzB,OAAOD,GAAG,GAAGH,KAAK,CAACK,MAAM,EAAE;MACzB,MAAMC,CAAC,GAAGH,GAAG,EAAE;MACf,MAAMF,EAAE,CAACD,KAAK,CAACM,CAAC,CAAC,EAAGA,CAAC,CAAC;IACxB;EACF,CAAC;EACD,MAAMC,OAAO,CAACC,GAAG,CACfC,KAAK,CAACC,IAAI,CAAC;IAAEL,MAAM,EAAEM,IAAI,CAACC,GAAG,CAACV,WAAW,EAAEF,KAAK,CAACK,MAAM;EAAE,CAAC,EAAED,MAAM,CACpE,CAAC;AACH","ignoreList":[]}
@@ -17,16 +17,21 @@ import { createThumbnail } from 'react-native-create-thumbnail';
17
17
  * The app strips "file://" before calling, so local videos fall into the broken
18
18
  * branch. The fix is to KEEP the file:// scheme so the working overload is used.
19
19
  *
20
+ * iOS is the opposite: AVAsset / react-native-create-thumbnail requires a bare
21
+ * path without any scheme prefix. Strip "file://" on iOS.
22
+ *
20
23
  * For Android photo-picker synthetic paths we additionally copy the file into the
21
24
  * app cache first (a clean, app-private file the retriever can always open) and
22
25
  * still hand it back with a file:// prefix. Returns the path to pass to
23
26
  * createThumbnail plus a raw cleanup path for any temp copy.
24
27
  */
25
28
  const ensureRetrievableVideoPath = async videoPath => {
26
- // iOS (and any non-Android platform) is left completely untouched.
29
+ // iOS AVAsset / react-native-create-thumbnail requires a bare file path
30
+ // without the file:// scheme. Strip it if present.
27
31
  if (Platform.OS !== 'android') {
32
+ const barePath = videoPath.startsWith('file://') ? videoPath.slice('file://'.length) : videoPath;
28
33
  return {
29
- path: videoPath,
34
+ path: barePath,
30
35
  cleanupPath: null
31
36
  };
32
37
  }
@@ -96,7 +101,6 @@ export const VideoThumbnailUtil = {
96
101
  dirSize: 100,
97
102
  cacheName
98
103
  });
99
- console.log('✅ [VideoThumbnail] THUMBNAIL PATH:', result.path);
100
104
  console.log('[VideoThumbnail] Thumbnail generated', {
101
105
  path: result.path,
102
106
  width: result.width || 0,
@@ -126,6 +130,7 @@ export const VideoThumbnailUtil = {
126
130
  console.warn('[VideoThumbnail] Cleanup failed:', err);
127
131
  }
128
132
  },
133
+ // Serial by design — reduces memory pressure when processing multiple videos.
129
134
  batchGenerateThumbnails: async (videoPaths, options = {}) => {
130
135
  const results = [];
131
136
  for (const videoPath of videoPaths) {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","RNFS","createThumbnail","ensureRetrievableVideoPath","videoPath","OS","path","cleanupPath","startsWith","rawPath","replace","isSynthetic","includes","ext","split","pop","dest","CachesDirectoryPath","Date","now","Math","floor","random","console","log","from","to","copyFile","VideoThumbnailUtil","generateThumbnail","options","time","quality","cacheId","tempSourcePath","retrievablePath","fileName","String","cacheName","abs","charCodeAt","length","timeMs","result","url","timeStamp","format","dirSize","width","height","error","unlink","catch","err","warn","cleanupThumbnail","thumbnailPath","batchGenerateThumbnails","videoPaths","results","thumbnail","push"],"sourceRoot":"../../../src","sources":["utils/videoThumbnail.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","RNFS","createThumbnail","ensureRetrievableVideoPath","videoPath","OS","barePath","startsWith","slice","length","path","cleanupPath","rawPath","replace","isSynthetic","includes","ext","split","pop","dest","CachesDirectoryPath","Date","now","Math","floor","random","console","log","from","to","copyFile","VideoThumbnailUtil","generateThumbnail","options","time","quality","cacheId","tempSourcePath","retrievablePath","fileName","String","cacheName","abs","charCodeAt","timeMs","result","url","timeStamp","format","dirSize","width","height","error","unlink","catch","err","warn","cleanupThumbnail","thumbnailPath","batchGenerateThumbnails","videoPaths","results","thumbnail","push"],"sourceRoot":"../../../src","sources":["utils/videoThumbnail.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ import RNFS from 'react-native-fs';
4
+ import VideoThumbnailUtil from "./videoThumbnail.js";
5
+ import { ImageUploadAPI } from "../services/imageUpload.js";
6
+ import { UIUtils } from "./UIUtils.js";
7
+ export async function generateAndUploadVideoThumbnails(videos) {
8
+ const thumbnails = {};
9
+ const failed = [];
10
+ for (let idx = 0; idx < videos.length; idx++) {
11
+ const vidItem = videos[idx];
12
+ // Key by uploadedUrl so callers can look up by the same value.
13
+ const videoId = vidItem.uploadedUrl || `video-${idx}`;
14
+ let cachedVideoPath = null;
15
+ try {
16
+ let videoDuration = vidItem.image.duration ?? 0;
17
+ if (videoDuration <= 0 || videoDuration > 3600000) {
18
+ videoDuration = 5000;
19
+ }
20
+
21
+ // Clamp upper bound to avoid negative timeMs on clips shorter than 1s.
22
+ const timeMs = Math.min(Math.max(1000, Math.floor(videoDuration * 0.35)), Math.max(0, videoDuration - 1000));
23
+
24
+ // Copy the picker-returned path to CachesDirectory before generating a
25
+ // thumbnail. On iOS the picker can return Photos-library paths that
26
+ // react-native-create-thumbnail cannot open directly; a copy to a
27
+ // stable app-owned location is required.
28
+ const filename = vidItem.image.filename || 'video.mp4';
29
+ const ext = filename.split('.').pop() || 'mp4';
30
+ const cachedFileName = `thumb-src-${idx}-${Date.now()}.${ext}`;
31
+ cachedVideoPath = `${RNFS.CachesDirectoryPath}/${cachedFileName}`;
32
+ await RNFS.copyFile(vidItem.image.path, cachedVideoPath);
33
+ const thumbnail = await VideoThumbnailUtil.generateThumbnail(cachedVideoPath, {
34
+ time: timeMs,
35
+ quality: 80,
36
+ cacheId: `thumb-${idx}-${Date.now()}`
37
+ });
38
+ if (!thumbnail) throw new Error('Failed to generate thumbnail');
39
+ const baseName = filename.split('.')[0] || `video-${idx}`;
40
+ const uploaded = await ImageUploadAPI.uploadImageFile({
41
+ path: thumbnail.path,
42
+ filename: `thumb-${baseName}.jpg`,
43
+ size: 0,
44
+ width: thumbnail.width || 320,
45
+ height: thumbnail.height || 180,
46
+ mime: 'image/jpeg'
47
+ }, () => {});
48
+ if (!uploaded?.url) throw new Error('No thumbnail URL returned');
49
+ thumbnails[videoId] = {
50
+ url: uploaded.url,
51
+ size: uploaded.size || 0
52
+ };
53
+
54
+ // Clean up the local thumbnail file after a successful upload.
55
+ VideoThumbnailUtil.cleanupThumbnail(thumbnail.path).catch(err => console.warn('[videoThumbnailUpload] Thumbnail cleanup failed:', err));
56
+ } catch (error) {
57
+ const msg = error instanceof Error ? error.message : String(error);
58
+ console.error('[videoThumbnailUpload] Failed for video:', idx, msg);
59
+ failed.push(vidItem.image.filename || `video-${idx}`);
60
+ // Do NOT insert a poison entry — callers treat a missing key as "no thumbnail".
61
+ } finally {
62
+ if (cachedVideoPath) {
63
+ RNFS.unlink(cachedVideoPath).catch(err => console.warn('[videoThumbnailUpload] Temp copy cleanup failed:', err));
64
+ }
65
+ }
66
+ }
67
+ if (failed.length > 0) {
68
+ UIUtils.toast.open({
69
+ title: 'Thumbnail Generation Failed',
70
+ message: `Failed for: ${failed.join(', ')}. Videos will be sent without thumbnails.`,
71
+ theme: 'warning'
72
+ });
73
+ }
74
+ return thumbnails;
75
+ }
76
+ //# sourceMappingURL=videoThumbnailUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNFS","VideoThumbnailUtil","ImageUploadAPI","UIUtils","generateAndUploadVideoThumbnails","videos","thumbnails","failed","idx","length","vidItem","videoId","uploadedUrl","cachedVideoPath","videoDuration","image","duration","timeMs","Math","min","max","floor","filename","ext","split","pop","cachedFileName","Date","now","CachesDirectoryPath","copyFile","path","thumbnail","generateThumbnail","time","quality","cacheId","Error","baseName","uploaded","uploadImageFile","size","width","height","mime","url","cleanupThumbnail","catch","err","console","warn","error","msg","message","String","push","unlink","toast","open","title","join","theme"],"sourceRoot":"../../../src","sources":["utils/videoThumbnailUpload.ts"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ declare const Images: {
8
8
  TAG_BOT: any;
9
9
  TAG_MALL: any;
10
10
  ICON_DROPPII: any;
11
+ BTN_RESEND: any;
11
12
  };
12
13
  export default Images;
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;;;;;;CAUX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/assets/images/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;;;;;;;;;;;CAWX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { MessageItem } from '@droppii/openim-rn-client-sdk';
2
+ interface MessageStatusIndicatorProps {
3
+ message: MessageItem;
4
+ isOutgoing: boolean;
5
+ onRetry?: (message: MessageItem) => void;
6
+ }
7
+ export declare const MessageStatusIndicator: import("react").MemoExoticComponent<({ message, isOutgoing, onRetry }: MessageStatusIndicatorProps) => import("react").JSX.Element>;
8
+ export {};
9
+ //# sourceMappingURL=MessageStatusIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageStatusIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/messages/MessageStatusIndicator.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,UAAU,2BAA2B;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C;AAED,eAAO,MAAM,sBAAsB,yEACE,2BAA2B,iCA4C/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/fileMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AASvD,eAAO,MAAM,WAAW,gEACI,sBAAsB,iCAmIjD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/fileMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAQvD,eAAO,MAAM,WAAW,gEACI,sBAAsB,iCAmIjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/imageMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,YAAY,kEACK,sBAAsB,iCAwGnD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/imageMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAgCvD,eAAO,MAAM,YAAY,kEACK,sBAAsB,iCAyFnD,CAAC"}
@@ -1,10 +1,5 @@
1
- import type { DMessageItem } from '../../../types/chat';
2
- interface BaseLegendMessageProps {
3
- message: DMessageItem;
4
- isOutgoing: boolean;
5
- createdAtTime: number;
1
+ import type { BaseLegendMessageProps } from '../types';
2
+ export declare const LinkMessage: import("react").MemoExoticComponent<({ message, isOutgoing, createdAtTime, onPressUrl, }: BaseLegendMessageProps & {
6
3
  onPressUrl?: (url: string) => void;
7
- }
8
- export declare const LinkMessage: import("react").MemoExoticComponent<({ message, isOutgoing, createdAtTime, onPressUrl, }: BaseLegendMessageProps) => import("react").JSX.Element>;
9
- export {};
4
+ }) => import("react").JSX.Element>;
10
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/linkMessage/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAyDD,eAAO,MAAM,WAAW,4FAMnB,sBAAsB,iCA+E1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/linkMessage/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAyDvD,eAAO,MAAM,WAAW,4FAMnB,sBAAsB,GAAG;IAAE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,iCAiFnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/mergedMessage/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,aAAa,8EACgB,sBAAsB,iCAiC/D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/mergedMessage/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,eAAO,MAAM,aAAa,8EACgB,sBAAsB,iCAiC/D,CAAC"}
@@ -1,9 +1,3 @@
1
- import type { DMessageItem } from '../../../types/chat';
2
- interface TextMessageProps {
3
- message: DMessageItem;
4
- isOutgoing: boolean;
5
- createdAtTime: number;
6
- }
7
- export declare const TextMessage: import("react").MemoExoticComponent<({ message, isOutgoing, createdAtTime }: TextMessageProps) => import("react").JSX.Element>;
8
- export {};
1
+ import type { BaseLegendMessageProps } from '../types';
2
+ export declare const TextMessage: import("react").MemoExoticComponent<({ message, isOutgoing, createdAtTime }: BaseLegendMessageProps) => import("react").JSX.Element>;
9
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/textMessage/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,UAAU,gBAAgB;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,+EACmB,gBAAgB,iCAmC1D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/textMessage/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,eAAO,MAAM,WAAW,+EACmB,sBAAsB,iCAqChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/videoMessage/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AASvD,eAAO,MAAM,YAAY,kEACK,sBAAsB,iCAsEnD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/videoMessage/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAQvD,eAAO,MAAM,YAAY,kEACK,sBAAsB,iCAsEnD,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const UPLOAD_LIMITS: {
2
+ readonly image: number;
3
+ readonly video: number;
4
+ readonly file: number;
5
+ };
6
+ export declare const UPLOAD_CONCURRENCY = 2;
7
+ //# sourceMappingURL=uploadLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadLimits.d.ts","sourceRoot":"","sources":["../../../../src/config/uploadLimits.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAIX,eAAO,MAAM,kBAAkB,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,YA0C3B,CAAC"}
1
+ {"version":3,"file":"useChatListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useChatListener.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,YA0E3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUserListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useUserListener.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,YAwE3B,CAAC"}
1
+ {"version":3,"file":"useUserListener.d.ts","sourceRoot":"","sources":["../../../../src/core/useUserListener.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe,YAiF3B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { UploadFileItem } from 'react-native-fs';
2
+ import type { MessageItem } from '@droppii/openim-rn-client-sdk';
2
3
  import type { IUrlMetadata } from '../../types/common';
3
4
  import type { IRunConversationFlowPayload } from '../../types/flows';
4
5
  export declare const useSendMessage: () => {
@@ -8,6 +9,7 @@ export declare const useSendMessage: () => {
8
9
  urlMetadata?: IUrlMetadata;
9
10
  flow?: IRunConversationFlowPayload;
10
11
  }) => Promise<void>;
12
+ retryMessage: (message: MessageItem) => Promise<void>;
11
13
  };
12
14
  export declare const createTextMessage: (text: string) => Promise<any>;
13
15
  export declare const createUrlTextMessage: (text: string, urls: string[]) => Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/message/useSendMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAatD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAErE,eAAO,MAAM,cAAc;4DAUpB;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,YAAY,CAAC;QAC3B,IAAI,CAAC,EAAE,2BAA2B,CAAC;KACpC;CA4DJ,CAAC;AAyBF,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,iBAanD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,iBActE,CAAC"}
1
+ {"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/message/useSendMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,+BAA+B,CAAC;AAS9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAerE,eAAO,MAAM,cAAc;4DAwCpB;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,YAAY,CAAC;QAC3B,IAAI,CAAC,EAAE,2BAA2B,CAAC;KACpC;4BAiDe,WAAW;CAiD9B,CAAC;AAyBF,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,iBAanD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,iBActE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type ImageWithUploadStatus } from './useImageAttachment';
2
+ export declare function useChatCompose(): {
3
+ text: string;
4
+ setText: import("react").Dispatch<import("react").SetStateAction<string>>;
5
+ selectedImages: ImageWithUploadStatus[];
6
+ selectedFiles: import("./useFileAttachment").FileWithUploadStatus[];
7
+ isImagePreviewVisible: boolean;
8
+ isFilePreviewVisible: boolean;
9
+ addImages: (multipleMode?: boolean) => Promise<void>;
10
+ addFiles: () => Promise<void>;
11
+ removeImage: (index: number) => void;
12
+ removeFile: (id: string) => void;
13
+ showLinkPreview: boolean;
14
+ urlMetadata: {
15
+ url: string;
16
+ title?: string;
17
+ description?: string;
18
+ image?: string;
19
+ };
20
+ isMetadataLoading: boolean;
21
+ dismissPreview: () => void;
22
+ isUploading: boolean;
23
+ canSend: boolean;
24
+ send: () => Promise<void>;
25
+ clearAll: () => void;
26
+ };
27
+ //# sourceMappingURL=useChatCompose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatCompose.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useChatCompose.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAW9B,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAkL7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useChatMessages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,OAAc,EACd,QAAa,GACd,EAAE,sBAAsB;;;;;;;;;;;;EA8KxB"}
1
+ {"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useChatMessages.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAUlD,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,OAAc,EACd,QAAa,GACd,EAAE,sBAAsB;;;;;;;;;;;;EAwNxB"}
@@ -1,4 +1,4 @@
1
- import type { Image as PickedImage } from 'react-native-image-crop-picker';
1
+ import type { ImageOrVideo as PickedImage } from 'react-native-image-crop-picker';
2
2
  export interface ImageWithUploadStatus {
3
3
  image: PickedImage;
4
4
  uploadProgress: number;
@@ -11,7 +11,7 @@ export interface ImageWithUploadStatus {
11
11
  export interface UseImageAttachmentReturn {
12
12
  selectedImages: ImageWithUploadStatus[];
13
13
  isImagePreviewVisible: boolean;
14
- handleImageAttach: () => Promise<void>;
14
+ handleImageAttach: (multipleMode?: boolean) => Promise<void>;
15
15
  handleImageRemove: (index: number) => void;
16
16
  clearAllImages: () => void;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useImageAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useImageAttachment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAQ3E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,kBAAkB,QAAO,wBAiTrC,CAAC"}
1
+ {"version":3,"file":"useImageAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useImageAttachment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,IAAI,WAAW,EAE5B,MAAM,gCAAgC,CAAC;AAUxC,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,kBAAkB,QAAO,wBA6NrC,CAAC"}
@@ -46,7 +46,7 @@ export type AttachmentItem = ImageItem | VideoItem | FileItem;
46
46
  export interface UseSendAttachmentReturn {
47
47
  isLoading: boolean;
48
48
  error: string | null;
49
- send(items: AttachmentItem[], options?: Partial<AttachmentSendOptions>, onMessageSent?: (message: any) => void): Promise<boolean>;
49
+ send(items: AttachmentItem[], options?: Partial<AttachmentSendOptions>): Promise<boolean>;
50
50
  clearError(): void;
51
51
  }
52
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useSendAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSendAttachment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CACF,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACxC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GACrC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,UAAU,IAAI,IAAI,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,uBAAuB,CAgO3D"}
1
+ {"version":3,"file":"useSendAttachment.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSendAttachment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CACF,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,UAAU,IAAI,IAAI,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,uBAAuB,CA8N3D"}
@@ -23,7 +23,6 @@ export { Inbox } from './screens/inbox';
23
23
  export { default as MediaViewerScreen } from './screens/MediaView';
24
24
  export { ChatDetail, ChatDetailHeader, ChatComposer, ChatQuickActions, ChatAttachmentPanel, DEFAULT_Chat_QUICK_ACTIONS, DEFAULT_ATTACHMENT_ACTIONS, } from './screens/chat-detail';
25
25
  export type { DChatActionItem, DChatActionIconProvider, DChatQuickAction, DChatAttachmentAction, ChatDetailProps, ChatDetailHeaderProps, ChatListProps, ChatComposerProps, ChatQuickActionsProps, ChatQuickActionsRenderParams, ChatAttachmentPanelProps, } from './screens/chat-detail';
26
- export type { DGiftedChatMessage } from './utils/giftedChatMessage';
27
- export { mapOpenIMMessageToGiftedChat, mapOpenIMMessagesToGiftedChat, } from './utils/giftedChatMessage';
28
26
  export type { PeerType } from '@droppii/openim-rn-client-sdk';
27
+ export { registerUIUtils, UIUtils } from './utils/UIUtils';
29
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,3 +1,6 @@
1
- import type { ChatComposerProps } from './types';
2
- export declare const ChatComposer: import("react").MemoExoticComponent<({ value, placeholder, onChangeText, onSend, onMessageSent, onPressEmoji: _onPressEmoji, showQuickActions, quickActions, attachmentActions, onQuickActionPress, onAttachmentAction, renderQuickAction, renderQuickActions, renderAttachmentAction, attachmentColumns, isEmptyMessage, }: ChatComposerProps) => import("react").JSX.Element>;
1
+ interface ChatComposerInternalProps {
2
+ isEmptyMessage?: boolean;
3
+ }
4
+ export declare const ChatComposer: import("react").MemoExoticComponent<({ isEmptyMessage }: ChatComposerInternalProps) => import("react").JSX.Element>;
5
+ export {};
3
6
  //# sourceMappingURL=ChatComposer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatComposer.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAejD,eAAO,MAAM,YAAY,+TAkBpB,iBAAiB,iCA6XrB,CAAC"}
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatComposer.tsx"],"names":[],"mappings":"AAmCA,UAAU,yBAAyB;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,YAAY,2DACM,yBAAyB,iCAkPvD,CAAC"}