@sendbird/uikit-react 3.1.1 → 3.1.2

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 (522) hide show
  1. package/App.js +35 -35
  2. package/CHANGELOG.md +29 -0
  3. package/Channel/components/ChannelHeader.js +19 -19
  4. package/Channel/components/ChannelUI.js +26 -26
  5. package/Channel/components/ChannelUI.js.map +1 -1
  6. package/Channel/components/FileViewer.js +18 -18
  7. package/Channel/components/FrozenNotification.js +5 -5
  8. package/Channel/components/Message.js +23 -23
  9. package/Channel/components/MessageInput.js +20 -20
  10. package/Channel/components/MessageList.js +25 -25
  11. package/Channel/components/RemoveMessageModal.js +22 -23
  12. package/Channel/components/RemoveMessageModal.js.map +1 -1
  13. package/Channel/components/SuggestedMentionList.js +19 -19
  14. package/Channel/components/TypingIndicator.js +18 -18
  15. package/Channel/components/UnreadCount.js +5 -5
  16. package/Channel/context.js +17 -17
  17. package/Channel.js +26 -26
  18. package/ChannelList/components/AddChannel.js +14 -14
  19. package/ChannelList/components/ChannelListHeader.js +7 -7
  20. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  21. package/ChannelList/components/ChannelListUI.js +30 -30
  22. package/ChannelList/components/ChannelListUI.js.map +1 -1
  23. package/ChannelList/components/ChannelPreview.js +23 -23
  24. package/ChannelList/components/ChannelPreview.js.map +1 -1
  25. package/ChannelList/components/ChannelPreviewAction.js +18 -18
  26. package/ChannelList/context.js +12 -12
  27. package/ChannelList.js +30 -30
  28. package/{ChannelListProvider-bdac2e90.js → ChannelListProvider-9c82d370.js} +9 -9
  29. package/ChannelListProvider-9c82d370.js.map +1 -0
  30. package/{ChannelProvider-0174d0f3.js → ChannelProvider-d891cf5f.js} +31 -30
  31. package/ChannelProvider-d891cf5f.js.map +1 -0
  32. package/ChannelSettings/components/ChannelProfile.js +13 -14
  33. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  34. package/ChannelSettings/components/ChannelSettingsUI.js +22 -22
  35. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  36. package/ChannelSettings/components/EditDetailsModal.js +14 -15
  37. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  38. package/ChannelSettings/components/LeaveChannel.js +12 -11
  39. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  40. package/ChannelSettings/components/ModerationPanel.js +19 -19
  41. package/ChannelSettings/components/UserListItem.js +12 -12
  42. package/ChannelSettings/components/UserPanel.js +14 -14
  43. package/ChannelSettings/context.js +3 -3
  44. package/ChannelSettings/context.js.map +1 -1
  45. package/ChannelSettings.js +23 -23
  46. package/CreateChannel/components/CreateChannelUI.js +16 -16
  47. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  48. package/CreateChannel/components/InviteUsers.js +16 -16
  49. package/CreateChannel/components/SelectChannelType.js +11 -10
  50. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  51. package/CreateChannel/context.js +4 -4
  52. package/CreateChannel.js +16 -16
  53. package/{CreateChannelProvider-1cf4ef27.js → CreateChannelProvider-0af2a424.js} +1 -1
  54. package/CreateChannelProvider-0af2a424.js.map +1 -0
  55. package/EditUserProfile/components/EditUserProfileUI.js +14 -14
  56. package/EditUserProfile/context.js.map +1 -1
  57. package/EditUserProfile.js +15 -15
  58. package/{LocalizationContext-61a4a931.js → LocalizationContext-2a073ef0.js} +3 -3
  59. package/LocalizationContext-2a073ef0.js.map +1 -0
  60. package/{MemberList-24ad6b63.js → MemberList-0acc36c3.js} +6 -6
  61. package/{MemberList-24ad6b63.js.map → MemberList-0acc36c3.js.map} +1 -1
  62. package/MessageSearch/components/MessageSearchUI.js +12 -12
  63. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  64. package/MessageSearch/context.js +10 -3
  65. package/MessageSearch/context.js.map +1 -1
  66. package/MessageSearch.js +12 -12
  67. package/OpenChannel/components/FrozenChannelNotification.js +5 -5
  68. package/OpenChannel/components/OpenChannelHeader.js +17 -17
  69. package/OpenChannel/components/OpenChannelInput.js +21 -21
  70. package/OpenChannel/components/OpenChannelMessage.js +29 -29
  71. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  72. package/OpenChannel/components/OpenChannelMessageList.js +28 -28
  73. package/OpenChannel/components/OpenChannelUI.js +28 -28
  74. package/OpenChannel/context.js +14 -14
  75. package/OpenChannel.js +28 -28
  76. package/{OpenChannelProvider-9b3a6eb1.js → OpenChannelProvider-2e3fa2dd.js} +15 -14
  77. package/{OpenChannelProvider-9b3a6eb1.js.map → OpenChannelProvider-2e3fa2dd.js.map} +1 -1
  78. package/OpenChannelSettings/components/EditDetailsModal.js +18 -19
  79. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  80. package/OpenChannelSettings/components/OpenChannelProfile.js +16 -17
  81. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  82. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
  83. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  84. package/OpenChannelSettings/components/OperatorUI.js +20 -20
  85. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  86. package/OpenChannelSettings/components/ParticipantUI.js +20 -20
  87. package/OpenChannelSettings/context.js +6 -6
  88. package/OpenChannelSettings/context.js.map +1 -1
  89. package/OpenChannelSettings.js +21 -21
  90. package/SendbirdProvider.js +15 -15
  91. package/{UserProfileContext-3524e64c.js → UserProfileContext-143a6a42.js} +1 -1
  92. package/{UserProfileContext-3524e64c.js.map → UserProfileContext-143a6a42.js.map} +1 -1
  93. package/{__bundle-6316ce22-b659cee1.js → __bundle-6316ce22-cd546820.js} +1 -1
  94. package/{__bundle-6316ce22-b659cee1.js.map → __bundle-6316ce22-cd546820.js.map} +1 -1
  95. package/{__bundle-7dfccc8c-37d3f8ab.js → __bundle-7dfccc8c-6c6e7ab4.js} +2 -2
  96. package/{__bundle-7dfccc8c-37d3f8ab.js.map → __bundle-7dfccc8c-6c6e7ab4.js.map} +1 -1
  97. package/{__bundle-fbda47dd-ef31252f.js → __bundle-fbda47dd-9dbeee1d.js} +2 -2
  98. package/{__bundle-fbda47dd-ef31252f.js.map → __bundle-fbda47dd-9dbeee1d.js.map} +1 -1
  99. package/{_rollupPluginBabelHelpers-30d122aa.js → _rollupPluginBabelHelpers-3043541a.js} +2 -105
  100. package/_rollupPluginBabelHelpers-3043541a.js.map +1 -0
  101. package/{actionTypes-d5d5ac7b.js → actionTypes-2873dec9.js} +1 -1
  102. package/{actionTypes-d5d5ac7b.js.map → actionTypes-2873dec9.js.map} +1 -1
  103. package/cjs/App.js +35 -35
  104. package/cjs/Channel/components/ChannelHeader.js +19 -19
  105. package/cjs/Channel/components/ChannelUI.js +26 -26
  106. package/cjs/Channel/components/ChannelUI.js.map +1 -1
  107. package/cjs/Channel/components/FileViewer.js +18 -18
  108. package/cjs/Channel/components/FrozenNotification.js +5 -5
  109. package/cjs/Channel/components/Message.js +23 -23
  110. package/cjs/Channel/components/MessageInput.js +20 -20
  111. package/cjs/Channel/components/MessageList.js +25 -25
  112. package/cjs/Channel/components/RemoveMessageModal.js +22 -23
  113. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  114. package/cjs/Channel/components/SuggestedMentionList.js +19 -19
  115. package/cjs/Channel/components/TypingIndicator.js +18 -18
  116. package/cjs/Channel/components/UnreadCount.js +5 -5
  117. package/cjs/Channel/context.js +17 -17
  118. package/cjs/Channel.js +26 -26
  119. package/cjs/ChannelList/components/AddChannel.js +14 -14
  120. package/cjs/ChannelList/components/ChannelListHeader.js +7 -7
  121. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  122. package/cjs/ChannelList/components/ChannelListUI.js +30 -30
  123. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  124. package/cjs/ChannelList/components/ChannelPreview.js +23 -23
  125. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  126. package/cjs/ChannelList/components/ChannelPreviewAction.js +18 -18
  127. package/cjs/ChannelList/context.js +12 -12
  128. package/cjs/ChannelList.js +30 -30
  129. package/cjs/{ChannelListProvider-e7756677.js → ChannelListProvider-b60fe6ed.js} +9 -9
  130. package/cjs/ChannelListProvider-b60fe6ed.js.map +1 -0
  131. package/cjs/{ChannelProvider-c179835a.js → ChannelProvider-b21b3c2a.js} +31 -30
  132. package/cjs/ChannelProvider-b21b3c2a.js.map +1 -0
  133. package/cjs/ChannelSettings/components/ChannelProfile.js +13 -14
  134. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  135. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +22 -22
  136. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  137. package/cjs/ChannelSettings/components/EditDetailsModal.js +14 -15
  138. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  139. package/cjs/ChannelSettings/components/LeaveChannel.js +12 -11
  140. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  141. package/cjs/ChannelSettings/components/ModerationPanel.js +19 -19
  142. package/cjs/ChannelSettings/components/UserListItem.js +12 -12
  143. package/cjs/ChannelSettings/components/UserPanel.js +14 -14
  144. package/cjs/ChannelSettings/context.js +3 -3
  145. package/cjs/ChannelSettings/context.js.map +1 -1
  146. package/cjs/ChannelSettings.js +23 -23
  147. package/cjs/CreateChannel/components/CreateChannelUI.js +16 -16
  148. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  149. package/cjs/CreateChannel/components/InviteUsers.js +16 -16
  150. package/cjs/CreateChannel/components/SelectChannelType.js +11 -10
  151. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  152. package/cjs/CreateChannel/context.js +4 -4
  153. package/cjs/CreateChannel.js +16 -16
  154. package/cjs/{CreateChannelProvider-a7ca5511.js → CreateChannelProvider-71e1e6d6.js} +1 -1
  155. package/cjs/CreateChannelProvider-71e1e6d6.js.map +1 -0
  156. package/cjs/EditUserProfile/components/EditUserProfileUI.js +14 -14
  157. package/cjs/EditUserProfile/context.js.map +1 -1
  158. package/cjs/EditUserProfile.js +15 -15
  159. package/cjs/{LocalizationContext-f05328b8.js → LocalizationContext-da62a103.js} +3 -3
  160. package/cjs/LocalizationContext-da62a103.js.map +1 -0
  161. package/cjs/{MemberList-bfaafb40.js → MemberList-442ade8c.js} +6 -6
  162. package/cjs/{MemberList-bfaafb40.js.map → MemberList-442ade8c.js.map} +1 -1
  163. package/cjs/MessageSearch/components/MessageSearchUI.js +12 -12
  164. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  165. package/cjs/MessageSearch/context.js +10 -3
  166. package/cjs/MessageSearch/context.js.map +1 -1
  167. package/cjs/MessageSearch.js +12 -12
  168. package/cjs/OpenChannel/components/FrozenChannelNotification.js +5 -5
  169. package/cjs/OpenChannel/components/OpenChannelHeader.js +17 -17
  170. package/cjs/OpenChannel/components/OpenChannelInput.js +21 -21
  171. package/cjs/OpenChannel/components/OpenChannelMessage.js +29 -29
  172. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  173. package/cjs/OpenChannel/components/OpenChannelMessageList.js +28 -28
  174. package/cjs/OpenChannel/components/OpenChannelUI.js +28 -28
  175. package/cjs/OpenChannel/context.js +14 -14
  176. package/cjs/OpenChannel.js +28 -28
  177. package/cjs/{OpenChannelProvider-12e0412f.js → OpenChannelProvider-bc8d7f0d.js} +15 -14
  178. package/cjs/{OpenChannelProvider-12e0412f.js.map → OpenChannelProvider-bc8d7f0d.js.map} +1 -1
  179. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +18 -19
  180. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  181. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +16 -17
  182. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  183. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +21 -21
  184. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  185. package/cjs/OpenChannelSettings/components/OperatorUI.js +20 -20
  186. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  187. package/cjs/OpenChannelSettings/components/ParticipantUI.js +20 -20
  188. package/cjs/OpenChannelSettings/context.js +6 -6
  189. package/cjs/OpenChannelSettings/context.js.map +1 -1
  190. package/cjs/OpenChannelSettings.js +21 -21
  191. package/cjs/SendbirdProvider.js +15 -15
  192. package/cjs/{UserProfileContext-87ebb4a4.js → UserProfileContext-891590a7.js} +1 -1
  193. package/cjs/{UserProfileContext-87ebb4a4.js.map → UserProfileContext-891590a7.js.map} +1 -1
  194. package/cjs/{__bundle-6316ce22-c57c6fe0.js → __bundle-6316ce22-c06e03fc.js} +1 -1
  195. package/cjs/{__bundle-6316ce22-c57c6fe0.js.map → __bundle-6316ce22-c06e03fc.js.map} +1 -1
  196. package/cjs/{__bundle-7dfccc8c-205c0e66.js → __bundle-7dfccc8c-dcc1c854.js} +2 -2
  197. package/cjs/{__bundle-7dfccc8c-205c0e66.js.map → __bundle-7dfccc8c-dcc1c854.js.map} +1 -1
  198. package/cjs/{__bundle-fbda47dd-f6e08be2.js → __bundle-fbda47dd-1a2c2d97.js} +2 -2
  199. package/cjs/{__bundle-fbda47dd-f6e08be2.js.map → __bundle-fbda47dd-1a2c2d97.js.map} +1 -1
  200. package/cjs/{_rollupPluginBabelHelpers-92e5e012.js → _rollupPluginBabelHelpers-4265e501.js} +1 -110
  201. package/cjs/_rollupPluginBabelHelpers-4265e501.js.map +1 -0
  202. package/cjs/{actionTypes-331e63c2.js → actionTypes-7c5a0f8b.js} +1 -1
  203. package/cjs/{actionTypes-331e63c2.js.map → actionTypes-7c5a0f8b.js.map} +1 -1
  204. package/cjs/color-42e34a43.js +45 -0
  205. package/cjs/color-42e34a43.js.map +1 -0
  206. package/cjs/{compareIds-2df40a8f.js → compareIds-26079db4.js} +1 -1
  207. package/cjs/{compareIds-2df40a8f.js.map → compareIds-26079db4.js.map} +1 -1
  208. package/cjs/{const-77f608c8.js → const-8a9ec74c.js} +1 -1
  209. package/cjs/{const-77f608c8.js.map → const-8a9ec74c.js.map} +1 -1
  210. package/cjs/{const-e0dbad82.js → const-c1a4604d.js} +1 -1
  211. package/cjs/{const-e0dbad82.js.map → const-c1a4604d.js.map} +1 -1
  212. package/cjs/{context-5e7ba41f.js → context-82ac7edc.js} +2 -2
  213. package/cjs/{context-5e7ba41f.js.map → context-82ac7edc.js.map} +1 -1
  214. package/cjs/dist/index.css +50 -72
  215. package/cjs/dist/index.css.map +1 -1
  216. package/cjs/{groupChannel-ddd470ad.js → groupChannel-11ed3837.js} +4 -4
  217. package/cjs/{groupChannel-ddd470ad.js.map → groupChannel-11ed3837.js.map} +1 -1
  218. package/cjs/handlers/ConnectionHandler.js +3 -3
  219. package/cjs/handlers/GroupChannelHandler.js +4 -4
  220. package/cjs/handlers/OpenChannelHandler.js +3 -3
  221. package/cjs/handlers/UserEventHandler.js +3 -3
  222. package/cjs/index-05692021.js +90 -0
  223. package/cjs/index-05692021.js.map +1 -0
  224. package/cjs/{index-10b68ab4.js → index-06c3dca9.js} +2 -2
  225. package/cjs/{index-10b68ab4.js.map → index-06c3dca9.js.map} +1 -1
  226. package/cjs/{index-cce2b8c0.js → index-089e0fba.js} +3 -3
  227. package/cjs/{index-cce2b8c0.js.map → index-089e0fba.js.map} +1 -1
  228. package/cjs/{index-2dacade8.js → index-25336220.js} +1 -1
  229. package/cjs/{index-2dacade8.js.map → index-25336220.js.map} +1 -1
  230. package/cjs/{index-4bebe375.js → index-32562627.js} +1 -1
  231. package/cjs/{index-4bebe375.js.map → index-32562627.js.map} +1 -1
  232. package/cjs/{index-52631939.js → index-81e2234a.js} +11 -10
  233. package/cjs/{index-52631939.js.map → index-81e2234a.js.map} +1 -1
  234. package/cjs/{index-edd379fd.js → index-82646d4d.js} +7 -7
  235. package/cjs/index-82646d4d.js.map +1 -0
  236. package/cjs/{index-1c009ee9.js → index-b440f8c6.js} +15 -27
  237. package/cjs/{index-1c009ee9.js.map → index-b440f8c6.js.map} +1 -1
  238. package/cjs/{index-b1ed74bd.js → index-c79f62fd.js} +4 -4
  239. package/cjs/{index-b1ed74bd.js.map → index-c79f62fd.js.map} +1 -1
  240. package/cjs/{index-39372722.js → index-f5cb5c7f.js} +2 -2
  241. package/cjs/{index-39372722.js.map → index-f5cb5c7f.js.map} +1 -1
  242. package/cjs/{index-4911c708.js → index-fb127b1f.js} +2 -2
  243. package/cjs/{index-4911c708.js.map → index-fb127b1f.js.map} +1 -1
  244. package/cjs/index.js +39 -39
  245. package/cjs/{openChannel-865f6910.js → openChannel-76345cfa.js} +3 -3
  246. package/cjs/{openChannel-865f6910.js.map → openChannel-76345cfa.js.map} +1 -1
  247. package/cjs/{openChannelUtils-341c5ad7.js → openChannelUtils-56d57483.js} +1 -1
  248. package/cjs/{openChannelUtils-341c5ad7.js.map → openChannelUtils-56d57483.js.map} +1 -1
  249. package/cjs/{sendbird-313241e2.js → sendbird-dfd051c8.js} +3 -3
  250. package/cjs/{sendbird-313241e2.js.map → sendbird-dfd051c8.js.map} +1 -1
  251. package/cjs/sendbirdSelectors.js +2 -2
  252. package/cjs/{stringSet-afc1ff3b.js → stringSet-857a128c.js} +3 -2
  253. package/cjs/stringSet-857a128c.js.map +1 -0
  254. package/cjs/{topics-57ad0394.js → topics-a755c9c6.js} +1 -1
  255. package/cjs/{topics-57ad0394.js.map → topics-a755c9c6.js.map} +1 -1
  256. package/cjs/{tslib.es6-12c25052.js → tslib.es6-ba69891c.js} +1 -1
  257. package/cjs/{tslib.es6-12c25052.js.map → tslib.es6-ba69891c.js.map} +1 -1
  258. package/cjs/ui/Accordion.js +4 -4
  259. package/cjs/ui/AccordionGroup.js +2 -2
  260. package/cjs/ui/AdminMessage.js +14 -24
  261. package/cjs/ui/AdminMessage.js.map +1 -1
  262. package/cjs/ui/Avatar.js +3 -3
  263. package/cjs/ui/Avatar.js.map +1 -1
  264. package/cjs/ui/Badge.js +15 -25
  265. package/cjs/ui/Badge.js.map +1 -1
  266. package/cjs/ui/Button.js +5 -4
  267. package/cjs/ui/Button.js.map +1 -1
  268. package/cjs/ui/ChannelAvatar.js +4 -4
  269. package/cjs/ui/ChannelPreview.js +16 -12
  270. package/cjs/ui/ChannelPreview.js.map +1 -1
  271. package/cjs/ui/ChatHeader.js +42 -74
  272. package/cjs/ui/ChatHeader.js.map +1 -1
  273. package/cjs/ui/ConnectionStatus.js +6 -8
  274. package/cjs/ui/ConnectionStatus.js.map +1 -1
  275. package/cjs/ui/ContextMenu.js +186 -290
  276. package/cjs/ui/ContextMenu.js.map +1 -1
  277. package/cjs/ui/DateSeparator.js +18 -25
  278. package/cjs/ui/DateSeparator.js.map +1 -1
  279. package/cjs/ui/EmojiReactions.js +8 -7
  280. package/cjs/ui/EmojiReactions.js.map +1 -1
  281. package/cjs/ui/FileMessageItemBody.js +7 -7
  282. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  283. package/cjs/ui/FileViewer.js +46 -83
  284. package/cjs/ui/FileViewer.js.map +1 -1
  285. package/cjs/ui/Icon.js +1 -1
  286. package/cjs/ui/IconButton.js +45 -68
  287. package/cjs/ui/IconButton.js.map +1 -1
  288. package/cjs/ui/ImageRenderer.js +43 -78
  289. package/cjs/ui/ImageRenderer.js.map +1 -1
  290. package/cjs/ui/Input.js +11 -30
  291. package/cjs/ui/Input.js.map +1 -1
  292. package/cjs/ui/Label.js +3 -3
  293. package/cjs/ui/LinkLabel.js +3 -3
  294. package/cjs/ui/Loader.js +15 -24
  295. package/cjs/ui/Loader.js.map +1 -1
  296. package/cjs/ui/MentionLabel.js +12 -12
  297. package/cjs/ui/MessageContent.js +15 -15
  298. package/cjs/ui/MessageInput.js +10 -10
  299. package/cjs/ui/MessageItemMenu.js +9 -8
  300. package/cjs/ui/MessageItemMenu.js.map +1 -1
  301. package/cjs/ui/MessageItemReactionMenu.js +7 -6
  302. package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
  303. package/cjs/ui/MessageSearchFileItem.js +10 -10
  304. package/cjs/ui/MessageSearchItem.js +11 -11
  305. package/cjs/ui/MessageStatus.js +8 -8
  306. package/cjs/ui/Modal.js +36 -68
  307. package/cjs/ui/Modal.js.map +1 -1
  308. package/cjs/ui/MutedAvatarOverlay.js +1 -1
  309. package/cjs/ui/OGMessageItemBody.js +11 -11
  310. package/cjs/ui/OpenChannelAdminMessage.js +4 -4
  311. package/cjs/ui/OpenChannelAvatar.js +8 -8
  312. package/cjs/ui/OpenchannelConversationHeader.js +7 -7
  313. package/cjs/ui/OpenchannelFileMessage.js +15 -15
  314. package/cjs/ui/OpenchannelOGMessage.js +15 -15
  315. package/cjs/ui/OpenchannelThumbnailMessage.js +14 -14
  316. package/cjs/ui/OpenchannelUserMessage.js +15 -15
  317. package/cjs/ui/PlaceHolder.js +8 -7
  318. package/cjs/ui/PlaceHolder.js.map +1 -1
  319. package/cjs/ui/QuoteMessage.js +7 -7
  320. package/cjs/ui/QuoteMessageInput.js +7 -7
  321. package/cjs/ui/ReactionBadge.js +16 -26
  322. package/cjs/ui/ReactionBadge.js.map +1 -1
  323. package/cjs/ui/ReactionButton.js +4 -21
  324. package/cjs/ui/ReactionButton.js.map +1 -1
  325. package/cjs/ui/SortByRow.js +16 -26
  326. package/cjs/ui/SortByRow.js.map +1 -1
  327. package/cjs/ui/TextButton.js +22 -29
  328. package/cjs/ui/TextButton.js.map +1 -1
  329. package/cjs/ui/TextMessageItemBody.js +11 -11
  330. package/cjs/ui/ThumbnailMessageItemBody.js +3 -3
  331. package/cjs/ui/Tooltip.js +11 -17
  332. package/cjs/ui/Tooltip.js.map +1 -1
  333. package/cjs/ui/TooltipWrapper.js +10 -20
  334. package/cjs/ui/TooltipWrapper.js.map +1 -1
  335. package/cjs/ui/UnknownMessageItemBody.js +7 -7
  336. package/cjs/ui/UserListItem.js +12 -12
  337. package/cjs/ui/UserProfile.js +11 -11
  338. package/cjs/ui/Word.js +11 -11
  339. package/cjs/useSendbirdStateContext.js +1 -1
  340. package/cjs/{utils-6f828dbd.js → utils-bf57a41a.js} +1 -1
  341. package/cjs/{utils-6f828dbd.js.map → utils-bf57a41a.js.map} +1 -1
  342. package/cjs/{utils-71bd80e8.js → utils-bfbac88e.js} +1 -1
  343. package/cjs/{utils-71bd80e8.js.map → utils-bfbac88e.js.map} +1 -1
  344. package/cjs/{utils-1a8a0b72.js → utils-c39eb349.js} +1 -1
  345. package/cjs/{utils-1a8a0b72.js.map → utils-c39eb349.js.map} +1 -1
  346. package/cjs/{uuid-920ae00d.js → uuid-49679ac2.js} +1 -1
  347. package/cjs/{uuid-920ae00d.js.map → uuid-49679ac2.js.map} +1 -1
  348. package/cjs/withSendbird.js +1 -1
  349. package/{color-f6548425.js → color-798488ed.js} +16 -12
  350. package/color-798488ed.js.map +1 -0
  351. package/{compareIds-8402fa74.js → compareIds-2e073780.js} +1 -1
  352. package/{compareIds-8402fa74.js.map → compareIds-2e073780.js.map} +1 -1
  353. package/{const-c81e2d08.js → const-51fc1a68.js} +1 -1
  354. package/{const-c81e2d08.js.map → const-51fc1a68.js.map} +1 -1
  355. package/{const-9039e539.js → const-b88f8299.js} +1 -1
  356. package/{const-9039e539.js.map → const-b88f8299.js.map} +1 -1
  357. package/{context-3629064f.js → context-406bf9f1.js} +2 -2
  358. package/{context-3629064f.js.map → context-406bf9f1.js.map} +1 -1
  359. package/dist/index.css +50 -72
  360. package/dist/index.css.map +1 -1
  361. package/{groupChannel-fc842dca.js → groupChannel-17ffbb7f.js} +4 -4
  362. package/{groupChannel-fc842dca.js.map → groupChannel-17ffbb7f.js.map} +1 -1
  363. package/handlers/ConnectionHandler.js +4 -4
  364. package/handlers/GroupChannelHandler.js +5 -5
  365. package/handlers/OpenChannelHandler.js +4 -4
  366. package/handlers/UserEventHandler.js +4 -4
  367. package/{index-65007eeb.js → index-03ccaf35.js} +2 -2
  368. package/{index-65007eeb.js.map → index-03ccaf35.js.map} +1 -1
  369. package/{index-b1f9e3f9.js → index-4e56f382.js} +4 -4
  370. package/{index-b1f9e3f9.js.map → index-4e56f382.js.map} +1 -1
  371. package/{index-191d1d43.js → index-5ec69689.js} +1 -1
  372. package/{index-191d1d43.js.map → index-5ec69689.js.map} +1 -1
  373. package/index-6a47d16f.js +82 -0
  374. package/index-6a47d16f.js.map +1 -0
  375. package/{index-fc480728.js → index-702d2072.js} +11 -10
  376. package/{index-fc480728.js.map → index-702d2072.js.map} +1 -1
  377. package/{index-aa2d32cc.js → index-7f2be3d7.js} +2 -2
  378. package/{index-aa2d32cc.js.map → index-7f2be3d7.js.map} +1 -1
  379. package/{index-5428ab4f.js → index-b4944539.js} +2 -2
  380. package/{index-5428ab4f.js.map → index-b4944539.js.map} +1 -1
  381. package/{index-42b2527f.js → index-c9cda9f6.js} +1 -1
  382. package/{index-42b2527f.js.map → index-c9cda9f6.js.map} +1 -1
  383. package/{index-2034978f.js → index-ced613ea.js} +15 -26
  384. package/index-ced613ea.js.map +1 -0
  385. package/{index-07cd4778.js → index-ed39099a.js} +3 -3
  386. package/{index-07cd4778.js.map → index-ed39099a.js.map} +1 -1
  387. package/{index-17024830.js → index-fa8ac00a.js} +7 -7
  388. package/index-fa8ac00a.js.map +1 -0
  389. package/index.d.ts +116 -109
  390. package/index.js +39 -39
  391. package/{openChannel-2b51e3d3.js → openChannel-1548376e.js} +3 -3
  392. package/{openChannel-2b51e3d3.js.map → openChannel-1548376e.js.map} +1 -1
  393. package/{openChannelUtils-6a414996.js → openChannelUtils-09e4bac8.js} +1 -1
  394. package/{openChannelUtils-6a414996.js.map → openChannelUtils-09e4bac8.js.map} +1 -1
  395. package/package-lock.json +2 -2
  396. package/package.json +1 -1
  397. package/{sendbird-d625a809.js → sendbird-597583ed.js} +3 -3
  398. package/{sendbird-d625a809.js.map → sendbird-597583ed.js.map} +1 -1
  399. package/sendbirdSelectors.js +2 -2
  400. package/{stringSet-92f53c6e.js → stringSet-647493ce.js} +3 -2
  401. package/stringSet-647493ce.js.map +1 -0
  402. package/{topics-71b67878.js → topics-18836011.js} +1 -1
  403. package/{topics-71b67878.js.map → topics-18836011.js.map} +1 -1
  404. package/{tslib.es6-c793443a.js → tslib.es6-710c6267.js} +1 -1
  405. package/{tslib.es6-c793443a.js.map → tslib.es6-710c6267.js.map} +1 -1
  406. package/ui/Accordion.js +4 -4
  407. package/ui/AccordionGroup.js +2 -2
  408. package/ui/AdminMessage.js +14 -23
  409. package/ui/AdminMessage.js.map +1 -1
  410. package/ui/Avatar.js +3 -3
  411. package/ui/Avatar.js.map +1 -1
  412. package/ui/Badge.js +15 -24
  413. package/ui/Badge.js.map +1 -1
  414. package/ui/Button.js +5 -4
  415. package/ui/Button.js.map +1 -1
  416. package/ui/ChannelAvatar.js +4 -4
  417. package/ui/ChannelPreview.js +17 -13
  418. package/ui/ChannelPreview.js.map +1 -1
  419. package/ui/ChatHeader.js +43 -74
  420. package/ui/ChatHeader.js.map +1 -1
  421. package/ui/ConnectionStatus.js +6 -8
  422. package/ui/ConnectionStatus.js.map +1 -1
  423. package/ui/ContextMenu.js +188 -291
  424. package/ui/ContextMenu.js.map +1 -1
  425. package/ui/DateSeparator.js +18 -24
  426. package/ui/DateSeparator.js.map +1 -1
  427. package/ui/EmojiReactions.js +8 -7
  428. package/ui/EmojiReactions.js.map +1 -1
  429. package/ui/FileMessageItemBody.js +7 -7
  430. package/ui/FileMessageItemBody.js.map +1 -1
  431. package/ui/FileViewer.js +47 -83
  432. package/ui/FileViewer.js.map +1 -1
  433. package/ui/Icon.js +1 -1
  434. package/ui/IconButton.js +43 -65
  435. package/ui/IconButton.js.map +1 -1
  436. package/ui/ImageRenderer.js +43 -77
  437. package/ui/ImageRenderer.js.map +1 -1
  438. package/ui/Input.js +11 -29
  439. package/ui/Input.js.map +1 -1
  440. package/ui/Label.js +3 -3
  441. package/ui/LinkLabel.js +3 -3
  442. package/ui/Loader.js +15 -23
  443. package/ui/Loader.js.map +1 -1
  444. package/ui/MentionLabel.js +12 -12
  445. package/ui/MessageContent.js +15 -15
  446. package/ui/MessageInput.js +10 -10
  447. package/ui/MessageItemMenu.js +9 -8
  448. package/ui/MessageItemMenu.js.map +1 -1
  449. package/ui/MessageItemReactionMenu.js +7 -6
  450. package/ui/MessageItemReactionMenu.js.map +1 -1
  451. package/ui/MessageSearchFileItem.js +10 -10
  452. package/ui/MessageSearchItem.js +11 -11
  453. package/ui/MessageStatus.js +8 -8
  454. package/ui/Modal.js +36 -67
  455. package/ui/Modal.js.map +1 -1
  456. package/ui/MutedAvatarOverlay.js +1 -1
  457. package/ui/OGMessageItemBody.js +11 -11
  458. package/ui/OpenChannelAdminMessage.js +4 -4
  459. package/ui/OpenChannelAvatar.js +8 -8
  460. package/ui/OpenchannelConversationHeader.js +7 -7
  461. package/ui/OpenchannelFileMessage.js +15 -15
  462. package/ui/OpenchannelOGMessage.js +15 -15
  463. package/ui/OpenchannelThumbnailMessage.js +14 -14
  464. package/ui/OpenchannelUserMessage.js +15 -15
  465. package/ui/PlaceHolder.js +8 -7
  466. package/ui/PlaceHolder.js.map +1 -1
  467. package/ui/QuoteMessage.js +7 -7
  468. package/ui/QuoteMessageInput.js +7 -7
  469. package/ui/ReactionBadge.js +16 -25
  470. package/ui/ReactionBadge.js.map +1 -1
  471. package/ui/ReactionButton.js +4 -20
  472. package/ui/ReactionButton.js.map +1 -1
  473. package/ui/SortByRow.js +15 -24
  474. package/ui/SortByRow.js.map +1 -1
  475. package/ui/TextButton.js +22 -28
  476. package/ui/TextButton.js.map +1 -1
  477. package/ui/TextMessageItemBody.js +11 -11
  478. package/ui/ThumbnailMessageItemBody.js +3 -3
  479. package/ui/Tooltip.js +11 -16
  480. package/ui/Tooltip.js.map +1 -1
  481. package/ui/TooltipWrapper.js +10 -19
  482. package/ui/TooltipWrapper.js.map +1 -1
  483. package/ui/UnknownMessageItemBody.js +7 -7
  484. package/ui/UserListItem.js +12 -12
  485. package/ui/UserProfile.js +11 -11
  486. package/ui/Word.js +11 -11
  487. package/useSendbirdStateContext.js +1 -1
  488. package/{utils-972c4edb.js → utils-19e84a08.js} +1 -1
  489. package/{utils-972c4edb.js.map → utils-19e84a08.js.map} +1 -1
  490. package/{utils-b37c6db3.js → utils-2666bdfb.js} +1 -1
  491. package/{utils-b37c6db3.js.map → utils-2666bdfb.js.map} +1 -1
  492. package/{utils-b69f7583.js → utils-301322ba.js} +1 -1
  493. package/{utils-b69f7583.js.map → utils-301322ba.js.map} +1 -1
  494. package/{uuid-7c3f59a3.js → uuid-60ae25c1.js} +1 -1
  495. package/{uuid-7c3f59a3.js.map → uuid-60ae25c1.js.map} +1 -1
  496. package/withSendbird.js +1 -1
  497. package/ChannelListProvider-bdac2e90.js.map +0 -1
  498. package/ChannelProvider-0174d0f3.js.map +0 -1
  499. package/CreateChannelProvider-1cf4ef27.js.map +0 -1
  500. package/LocalizationContext-61a4a931.js.map +0 -1
  501. package/_rollupPluginBabelHelpers-30d122aa.js.map +0 -1
  502. package/cjs/ChannelListProvider-e7756677.js.map +0 -1
  503. package/cjs/ChannelProvider-c179835a.js.map +0 -1
  504. package/cjs/CreateChannelProvider-a7ca5511.js.map +0 -1
  505. package/cjs/LocalizationContext-f05328b8.js.map +0 -1
  506. package/cjs/_rollupPluginBabelHelpers-92e5e012.js.map +0 -1
  507. package/cjs/color-2f811855.js +0 -42
  508. package/cjs/color-2f811855.js.map +0 -1
  509. package/cjs/index-188e8e7f.js +0 -97
  510. package/cjs/index-188e8e7f.js.map +0 -1
  511. package/cjs/index-edd379fd.js.map +0 -1
  512. package/cjs/stringSet-afc1ff3b.js.map +0 -1
  513. package/cjs/ui/Dropdown.js +0 -107
  514. package/cjs/ui/Dropdown.js.map +0 -1
  515. package/color-f6548425.js.map +0 -1
  516. package/index-17024830.js.map +0 -1
  517. package/index-2034978f.js.map +0 -1
  518. package/index-d3358aa9.js +0 -87
  519. package/index-d3358aa9.js.map +0 -1
  520. package/stringSet-92f53c6e.js.map +0 -1
  521. package/ui/Dropdown.js +0 -97
  522. package/ui/Dropdown.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { P as Pe } from '../sendbird-d625a809.js';
2
- export { P as default } from '../sendbird-d625a809.js';
3
- import '../__bundle-6316ce22-b659cee1.js';
4
- import '../__bundle-fbda47dd-ef31252f.js';
1
+ import { P as Pe } from '../sendbird-597583ed.js';
2
+ export { P as default } from '../sendbird-597583ed.js';
3
+ import '../__bundle-6316ce22-cd546820.js';
4
+ import '../__bundle-fbda47dd-9dbeee1d.js';
5
5
  //# sourceMappingURL=ConnectionHandler.js.map
@@ -1,6 +1,6 @@
1
- import { Y as Yr } from '../groupChannel-fc842dca.js';
2
- export { Y as default } from '../groupChannel-fc842dca.js';
3
- import '../__bundle-6316ce22-b659cee1.js';
4
- import '../__bundle-fbda47dd-ef31252f.js';
5
- import '../__bundle-7dfccc8c-37d3f8ab.js';
1
+ import { Y as Yr } from '../groupChannel-17ffbb7f.js';
2
+ export { Y as default } from '../groupChannel-17ffbb7f.js';
3
+ import '../__bundle-6316ce22-cd546820.js';
4
+ import '../__bundle-fbda47dd-9dbeee1d.js';
5
+ import '../__bundle-7dfccc8c-6c6e7ab4.js';
6
6
  //# sourceMappingURL=GroupChannelHandler.js.map
@@ -1,7 +1,7 @@
1
- import { U as Un } from '../openChannel-2b51e3d3.js';
2
- export { U as default } from '../openChannel-2b51e3d3.js';
3
- import '../__bundle-6316ce22-b659cee1.js';
4
- import '../__bundle-7dfccc8c-37d3f8ab.js';
1
+ import { U as Un } from '../openChannel-1548376e.js';
2
+ export { U as default } from '../openChannel-1548376e.js';
3
+ import '../__bundle-6316ce22-cd546820.js';
4
+ import '../__bundle-7dfccc8c-6c6e7ab4.js';
5
5
 
6
6
  /**
7
7
  * Returns the instance of OpenChannelHandler
@@ -1,5 +1,5 @@
1
- import { A as Ae } from '../sendbird-d625a809.js';
2
- export { A as default } from '../sendbird-d625a809.js';
3
- import '../__bundle-6316ce22-b659cee1.js';
4
- import '../__bundle-fbda47dd-ef31252f.js';
1
+ import { A as Ae } from '../sendbird-597583ed.js';
2
+ export { A as default } from '../sendbird-597583ed.js';
3
+ import '../__bundle-6316ce22-cd546820.js';
4
+ import '../__bundle-fbda47dd-9dbeee1d.js';
5
5
  //# sourceMappingURL=UserEventHandler.js.map
@@ -1,4 +1,4 @@
1
- import { _ as __assign, a as __spreadArray } from './tslib.es6-c793443a.js';
1
+ import { _ as __assign, a as __spreadArray } from './tslib.es6-710c6267.js';
2
2
 
3
3
  var SUPPORTED_MIMES = {
4
4
  IMAGE: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp' // not supported in IE
@@ -685,4 +685,4 @@ var arrayEqual = function arrayEqual(array1, array2) {
685
685
  };
686
686
 
687
687
  export { isSupportedFileView as A, isVideo as B, isImage as C, isSentMessage as D, isFailedMessage as E, isPendingMessage as F, copyToClipboard as G, getEmojiListAll as H, getEmojiMapAll as I, isReactedBy as J, getEmojiTooltipString as K, getUIKitFileType as L, getUIKitFileTypes as M, isGif as N, StringObjType as S, getOutgoingMessageStates as a, getSendingMessageStatus as b, isReadMessage as c, filterMessageListParams as d, isEditedMessage as e, filterChannelListParams as f, getChannelsWithUpsertedChannel as g, getOutgoingMessageState as h, isTextuallyNull as i, isSentStatus as j, getClassName as k, convertWordToStringObj as l, arrayEqual as m, isFileMessage as n, isImageMessage as o, isThumbnailMessage as p, isAudioMessage as q, isGifMessage as r, isVideoMessage as s, truncateString as t, isUserMessage as u, getUIKitMessageTypes as v, getSenderName as w, isTextMessage as x, isOGMessage as y, getUIKitMessageType as z };
688
- //# sourceMappingURL=index-65007eeb.js.map
688
+ //# sourceMappingURL=index-03ccaf35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-65007eeb.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nconst UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\n};\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message.sender && getUserName(message.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users : Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","isGroupChannel","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isReadMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","concat","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","__spreadArray","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
1
+ {"version":3,"file":"index-03ccaf35.js","sources":["../src/utils/index.ts"],"sourcesContent":["import SendbirdChat, { Emoji, EmojiCategory, EmojiContainer, User } from '@sendbird/chat';\nimport type { GroupChannel, Member, SendbirdGroupChat, GroupChannelListQuery } from '@sendbird/chat/groupChannel';\nimport type { AdminMessage, FileMessage, MessageListParams, Reaction, UserMessage } from '@sendbird/chat/message';\nimport type { OpenChannel, SendbirdOpenChat } from '@sendbird/chat/openChannel';\nimport { EveryMessage } from '../types';\n\n// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n AUDIO: [\n 'audio/aac',\n 'audio/midi',\n 'audio/x-midi',\n 'audio/mpeg',\n 'audio/ogg',\n 'audio/opus',\n 'audio/wav',\n 'audio/webm',\n 'audio/3gpp',\n 'audio/3gpp2',\n 'audio/mp3',\n ],\n};\n\nexport interface UIKitMessageTypes {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n}\nconst UIKitMessageTypes: UIKitMessageTypes = {\n ADMIN: \"ADMIN\",\n TEXT: \"TEXT\",\n FILE: \"FILE\",\n THUMBNAIL: \"THUMBNAIL\",\n OG: \"OG\",\n UNKNOWN: \"UNKNOWN\",\n};\nexport interface UIKitFileTypes {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n}\nexport const UIKitFileTypes: UIKitFileTypes = {\n IMAGE: \"IMAGE\",\n AUDIO: \"AUDIO\",\n VIDEO: \"VIDEO\",\n GIF: \"GIF\",\n OTHERS: \"OTHERS\",\n};\n\nexport interface SendingMessageStatus {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n}\nconst SendingMessageStatus: SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport interface OutgoingMessageStates {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n // delivered and read are only in group channel\n}\nexport const OutgoingMessageStates: OutgoingMessageStates = {\n NONE: 'NONE',\n PENDING: 'PENDING',\n SENT: 'SENT',\n FAILED: 'FAILED',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n};\n\nexport type CoreMessageType = EveryMessage;\n\nexport const isTextuallyNull = (text: string): boolean => {\n if (text === '' || text === null) {\n return true;\n }\n return false;\n};\n\nexport const isImage = (type: string): boolean => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type: string): boolean => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type: string): boolean => type === 'image/gif';\nexport const isSupportedFileView = (type: string): boolean => isImage(type) || isVideo(type);\nexport const isAudio = (type: string): boolean => SUPPORTED_MIMES.AUDIO.indexOf(type) >= 0;\n\nexport const getUIKitFileTypes = (): UIKitFileTypes => ({ ...UIKitFileTypes });\nexport const getUIKitFileType = (type: string): string => {\n if (isGif(type)) return UIKitFileTypes.GIF;\n if (isImage(type)) return UIKitFileTypes.IMAGE;\n if (isVideo(type)) return UIKitFileTypes.VIDEO;\n if (isAudio(type)) return UIKitFileTypes.AUDIO;\n return UIKitFileTypes.OTHERS;\n};\nexport const getOutgoingMessageStates = (): OutgoingMessageStates => ({ ...OutgoingMessageStates });\nexport const getOutgoingMessageState = (channel: GroupChannel | OpenChannel, message: UserMessage | FileMessage): string => {\n if (message.sendingStatus === 'pending') return OutgoingMessageStates.PENDING;\n if (message.sendingStatus === 'failed') return OutgoingMessageStates.FAILED;\n if (channel?.isGroupChannel?.()) {\n /* GroupChannel only */\n if ((channel as GroupChannel).getUnreadMemberCount(message) === 0) {\n return OutgoingMessageStates.READ;\n } else if ((channel as GroupChannel).getUndeliveredMemberCount(message) === 0) {\n return OutgoingMessageStates.DELIVERED;\n }\n }\n if (message.sendingStatus === 'succeeded') return OutgoingMessageStates.SENT;\n return OutgoingMessageStates.NONE;\n};\nexport const isSentMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'succeeded');\nexport const isDeliveredMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.DELIVERED\n || getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\nexport const isReadMessage = (channel: GroupChannel, message: UserMessage | FileMessage): boolean => (\n getOutgoingMessageState(channel, message) === OutgoingMessageStates.READ\n);\n// TODO: Remove channel from the params, it seems unnecessary\nexport const isFailedMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'failed');\nexport const isPendingMessage = (message: UserMessage | FileMessage): boolean => (message.sendingStatus === 'pending');\nexport const isSentStatus = (state: string): boolean => (\n state === OutgoingMessageStates.SENT\n || state === OutgoingMessageStates.DELIVERED\n || state === OutgoingMessageStates.READ\n);\n\nexport const isAdminMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isAdminMessage?.() || (message['messageType'] && message.messageType === 'admin'))\n);\nexport const isUserMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isUserMessage?.() || (message['messageType'] && message.messageType === 'user'))\n);\nexport const isFileMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => (\n message && (message.isFileMessage?.() || (message['messageType'] && message.messageType === 'file'))\n);\n\nexport const isOGMessage = (message: UserMessage): boolean => !!(\n message && isUserMessage(message) && message?.ogMetaData && message?.ogMetaData?.url\n);\nexport const isTextMessage = (message: UserMessage): boolean => isUserMessage(message) && !isOGMessage(message);\nexport const isThumbnailMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isSupportedFileView(message.type);\nexport const isImageMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isImage(message.type);\nexport const isVideoMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isVideo(message.type);\nexport const isGifMessage = (message: FileMessage): boolean => message && isThumbnailMessage(message) && isGif(message.type);\nexport const isAudioMessage = (message: FileMessage): boolean => message && isFileMessage(message) && isAudio(message.type);\n\nexport const isEditedMessage = (message: AdminMessage | UserMessage | FileMessage): boolean => isUserMessage(message) && (message?.updatedAt > 0);\nexport const isEnabledOGMessage = (message: UserMessage): boolean => (\n (!message || !message.ogMetaData || !message.ogMetaData.url) ? false : true\n);\n\nexport const getUIKitMessageTypes = (): UIKitMessageTypes => ({ ...UIKitMessageTypes });\nexport const getUIKitMessageType = (message: UserMessage | FileMessage | AdminMessage): string => {\n if (isAdminMessage(message as AdminMessage)) return UIKitMessageTypes.ADMIN;\n if (isUserMessage(message as UserMessage)) {\n return isOGMessage(message as UserMessage) ? UIKitMessageTypes.OG : UIKitMessageTypes.TEXT;\n }\n if (isFileMessage(message as FileMessage)) {\n return isThumbnailMessage(message as FileMessage) ? UIKitMessageTypes.THUMBNAIL : UIKitMessageTypes.FILE;\n }\n return UIKitMessageTypes.UNKNOWN;\n};\nexport const getSendingMessageStatus = (): SendingMessageStatus => ({ ...SendingMessageStatus });\n\nconst reducer = (accumulator: Array<string>, currentValue: string | Array<string>): Array<any> => {\n if (Array.isArray(currentValue)) {\n return [...accumulator, ...currentValue];\n } else {\n accumulator.push(currentValue);\n return accumulator;\n }\n};\nexport const getClassName = (classNames: string | Array<string | Array<string>>): string => (\n Array.isArray(classNames)\n ? classNames.reduce(reducer, []).join(' ')\n : classNames\n);\nexport const isReactedBy = (userId: string, reaction: Reaction): boolean => (\n reaction.userIds.some((reactorUserId: string): boolean => reactorUserId === userId)\n);\ninterface StringSet {\n TOOLTIP__YOU: string;\n TOOLTIP__AND_YOU: string;\n TOOLTIP__UNKNOWN_USER: string;\n}\nexport const getEmojiTooltipString = (reaction: Reaction, userId: string, memberNicknamesMap: Map<string, string>, stringSet: StringSet): string => {\n let you = '';\n if (isReactedBy(userId, reaction)) {\n you = reaction.userIds.length === 1 ? stringSet.TOOLTIP__YOU : stringSet.TOOLTIP__AND_YOU;\n }\n return (`${reaction.userIds\n .filter((reactorUserId: string) => reactorUserId !== userId)\n .map((reactorUserId: string) => (memberNicknamesMap.get(reactorUserId) || stringSet.TOOLTIP__UNKNOWN_USER))\n .join(', ')}${you}`);\n};\n\n// TODO: Use the interface after language tranlsatation of Sendbird.js\ninterface UIKitStore {\n stores: {\n sdkStore: {\n sdk: SendbirdChat | SendbirdOpenChat | SendbirdGroupChat,\n },\n userStore: {\n user: User,\n },\n },\n config: {\n isReactionEnabled: boolean,\n }\n}\nexport const getCurrentUserId = (store: UIKitStore): string => (store?.stores?.userStore?.user?.userId);\nexport const getUseReaction = (store: UIKitStore, channel: GroupChannel | OpenChannel): boolean => {\n if (!store?.config?.isReactionEnabled)\n return false;\n if (!store?.stores?.sdkStore?.sdk?.appInfo?.useReaction)\n return false;\n if (channel?.isGroupChannel())\n return !((channel as GroupChannel).isBroadcast || (channel as GroupChannel).isSuper);\n return store?.config?.isReactionEnabled;\n};\n\nexport const isMessageSentByMe = (userId: string, message: UserMessage | FileMessage): boolean => (\n (userId && message?.sender?.userId) && userId === message.sender.userId\n);\n\nconst URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const isUrl = (text: string): boolean => URL_REG.test(text);\nconst MENTION_TAG_REG = /\\@\\{.*?\\}/i;\nexport const isMentionedText = (text: string): boolean => MENTION_TAG_REG.test(text);\n\nexport const truncateString = (fullStr: string, strLen?: number): string => {\n if (!strLen) strLen = 40;\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n\nexport const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport const getEmojiListAll = (emojiContainer: EmojiContainer): Array<Emoji> => (\n emojiContainer?.emojiCategories?.map((emojiCategory: EmojiCategory) => emojiCategory.emojis)\n .reduce((prevArr: Array<Emoji>, currArr: Array<Emoji>) => prevArr.concat(currArr), [])\n);\nexport const getEmojiMapAll = (emojiContainer: EmojiContainer): Map<string, Emoji> => {\n const emojiMap = new Map();\n emojiContainer?.emojiCategories?.forEach((category: EmojiCategory) => {\n category?.emojis?.forEach((emoji: Emoji): void => {\n if (emoji && emoji.key) {\n emojiMap.set(emoji.key, emoji);\n }\n });\n });\n return emojiMap;\n};\n\nexport const getUserName = (user: User): string => (user?.friendName || user?.nickname || user?.userId);\nexport const getSenderName = (message: UserMessage | FileMessage): string => (message.sender && getUserName(message.sender));\n\nexport const hasSameMembers = <T>(a: T[], b: T[]): boolean => {\n if (a === b) {\n return true;\n }\n if (a == null || b == null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n\n const sortedA = [...a].sort();\n const sortedB = [...b].sort();\n\n for (let i = 0; i < sortedA.length; ++i) {\n if (sortedA[i] !== sortedB[i]) {\n return false;\n }\n }\n return true;\n}\nexport const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);\n\nexport const filterMessageListParams = (params: MessageListParams, message: UserMessage | FileMessage): boolean => {\n // @ts-ignore\n if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0) {\n const customTypes = params.customTypesFilter.filter((item) => item !== '*');\n // Because Chat SDK inserts '*' when customTypes is empty\n if (customTypes.length > 0 && !customTypes.includes(message.customType)) {\n return false;\n }\n }\n if (params?.senderUserIdsFilter && params?.senderUserIdsFilter?.length > 0) {\n if (message?.isUserMessage?.() || message?.isFileMessage?.()) {\n const messageSender = (message as UserMessage | FileMessage).sender || message['_sender'];\n if (!params?.senderUserIdsFilter?.includes(messageSender?.userId)) {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!params?.includeParentMessageInfo && (message?.parentMessageId || message?.parentMessage)) {\n return false;\n }\n return true;\n};\n\ninterface SDKChannelListParamsPrivateProps extends GroupChannelListQuery {\n _searchFilter: {\n search_query: string,\n search_fields: Array<'member_nickname' | 'channel_name'>,\n };\n _userIdsFilter: {\n userIds: Array<string>,\n includeMode: boolean,\n queryType: 'AND' | 'OR',\n };\n}\nexport const filterChannelListParams = (params: SDKChannelListParamsPrivateProps, channel: GroupChannel, currentUserId: string): boolean => {\n if (!params?.includeEmpty && channel?.lastMessage === null) {\n return false;\n }\n if (params?._searchFilter?.search_query && params._searchFilter.search_fields?.length > 0) {\n const searchFilter = params._searchFilter;\n const searchQuery = searchFilter.search_query;\n const searchFields = searchFilter.search_fields;\n if (searchQuery && searchFields && searchFields.length > 0) {\n if (!searchFields.some((searchField) => {\n switch (searchField) {\n case 'channel_name': {\n return channel?.name?.toLowerCase().includes(searchQuery.toLowerCase());\n }\n case 'member_nickname': {\n return channel?.members?.some((member: Member) => member.nickname.toLowerCase().includes(searchQuery.toLowerCase()));\n }\n default: {\n return true;\n }\n }\n })) {\n return false;\n }\n }\n }\n if (params?._userIdsFilter?.userIds?.length > 0) {\n const userIdsFilter = params._userIdsFilter;\n const { includeMode, queryType } = userIdsFilter;\n const userIds: string[] = userIdsFilter.userIds;\n const memberIds = channel?.members?.map((member: Member) => member.userId);\n if (!includeMode) { // exact match\n if (!userIds.includes(currentUserId)) {\n userIds.push(currentUserId); // add the caller's userId if not added already.\n }\n if (channel?.members?.length > userIds.length) {\n return false; // userIds may contain one or more non-member(s).\n }\n if (!hasSameMembers(userIds, memberIds)) {\n return false;\n }\n } else if (userIds.length > 0) { // inclusive\n switch (queryType) {\n case 'AND': {\n if (userIds.some((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n case 'OR': {\n if (userIds.every((userId: string) => !memberIds.includes(userId))) {\n return false;\n }\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n if (params?.includeEmpty === false && channel?.lastMessage === null) {\n return false;\n }\n if (params?.includeFrozen === false && channel?.isFrozen === true) {\n return false;\n }\n if (params?.customTypesFilter?.length > 0 && !params.customTypesFilter.includes(channel?.customType)) {\n return false;\n }\n if (params?.customTypeStartsWithFilter && !new RegExp(`^${params.customTypeStartsWithFilter}`).test(channel?.customType)) {\n return false;\n }\n if (params?.channelNameContainsFilter && !channel?.name?.toLowerCase().includes(params.channelNameContainsFilter.toLowerCase())) {\n return false;\n }\n if (params?.nicknameContainsFilter) {\n const lowerCasedSubString = params.nicknameContainsFilter.toLowerCase();\n if (channel?.members?.every((member: Member) => !member.nickname.toLowerCase().includes(lowerCasedSubString))) {\n return false;\n }\n }\n if (params?.channelUrlsFilter?.length > 0 && !params.channelUrlsFilter.includes(channel?.url)) {\n return false;\n }\n if (params?.myMemberStateFilter) {\n switch (params.myMemberStateFilter) {\n case 'joined_only':\n if (channel?.myMemberState !== 'joined') {\n return false;\n }\n break;\n case 'invited_only':\n if (channel?.myMemberState !== 'invited') {\n return false;\n }\n break;\n case 'invited_by_friend':\n if (channel?.myMemberState !== 'invited' || !isFriend(channel?.inviter)) {\n return false;\n }\n break;\n case 'invited_by_non_friend':\n if (channel?.myMemberState !== 'invited' || isFriend(channel?.inviter)) {\n return false;\n }\n break;\n }\n }\n if (params?.hiddenChannelFilter) {\n switch (params.hiddenChannelFilter) {\n case 'unhidden_only':\n if (channel?.isHidden || channel?.hiddenState !== 'unhidden') {\n return false;\n }\n break;\n case 'hidden_only':\n if (!channel?.isHidden) {\n return false;\n }\n break;\n case 'hidden_allow_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_allow_auto_unhide') {\n return false;\n }\n break;\n case 'hidden_prevent_auto_unhide':\n if (!channel?.isHidden || channel?.hiddenState !== 'hidden_prevent_auto_unhide') {\n return false;\n }\n break;\n }\n }\n if (params?.unreadChannelFilter) {\n switch (params.unreadChannelFilter) {\n case 'unread_message':\n if (channel?.unreadMessageCount === 0) {\n return false;\n }\n break;\n }\n }\n if (params?.publicChannelFilter) {\n switch (params.publicChannelFilter) {\n case 'public':\n if (!channel?.isPublic) {\n return false;\n }\n break;\n case 'private':\n if (channel?.isPublic) {\n return false;\n }\n break;\n }\n }\n if (params?.superChannelFilter) {\n switch (params.superChannelFilter) {\n case 'super':\n if (!channel?.isSuper) {\n return false;\n }\n break;\n case 'nonsuper':\n if (channel?.isSuper) {\n return false;\n }\n break;\n }\n }\n return true;\n};\n\nexport const binarySearch = (list: Array<number>, number: number): number => {// [100, 99, 98, 97, ...]\n const pivot = Math.floor(list.length / 2);\n if (list[pivot] === number) {\n return pivot;\n }\n const leftList = list.slice(0, pivot);\n const rightList = list.slice(pivot + 1, list.length);\n if (list[pivot] > number) {\n return pivot + 1 + (rightList.length === 0 ? 0 : binarySearch(rightList, number));\n } else {\n return (leftList.length === 0) ? pivot : binarySearch(leftList, number);\n }\n};\n// This is required when channel is displayed on channel list by filter\nexport const getChannelsWithUpsertedChannel = (channels: Array<GroupChannel>, channel: GroupChannel): Array<GroupChannel> => {\n if (channels.some((ch: GroupChannel) => ch.url === channel?.url)) {\n return channels.map((ch: GroupChannel) => (ch.url === channel?.url ? channel : ch));\n }\n const targetIndex = binarySearch(\n channels.map((channel: GroupChannel) => channel?.lastMessage?.createdAt || channel?.createdAt),\n channel?.lastMessage?.createdAt || channel?.createdAt\n );\n return [...channels.slice(0, targetIndex), channel, ...channels.slice(targetIndex, channels.length)];\n};\n\nexport const getMatchedUserIds = (word: string, users: Array<User>, _template?: string): boolean => {\n const template = _template || '@'; // Use global variable\n // const matchedUserIds = [];\n // users.map((user) => user?.userId).forEach((userId) => {\n // if (word.indexOf(`${template}{${userId}}`) > -1) {\n // matchedUserIds.push(userId);\n // }\n // });\n // return matchedUserIds;\n return users.map((user) => user?.userId).some((userId) => word.indexOf(`${template}{${userId}}`) > -1);\n};\n\nexport enum StringObjType { normal, mention, url }\nexport interface StringObj {\n type: StringObjType;\n value: string;\n userId?: string;\n}\n\nexport const convertWordToStringObj = (word: string, _users : Array<User>, _template?: string): Array<StringObj> => {\n const users = _users || [];\n const template = _template || '@'; // Use global variable\n const resultArray = [];\n const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');\n let excutionResult;\n let lastIndex = 0;\n while ((excutionResult = regex.exec(word)) !== null) {\n const [template, userId] = excutionResult;\n const endIndex = regex.lastIndex;\n const startIndex = endIndex - template.length;\n // Normal text\n const normalText = word.slice(lastIndex, startIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n // Mention template\n const mentionedUser = users.find((user) => user?.userId === userId);\n if (!mentionedUser) {\n resultArray.push({\n type: StringObjType.normal,\n value: template, // because template is the origin text\n });\n } else {\n resultArray.push({\n type: StringObjType.mention,\n value: mentionedUser?.nickname || '(No name)',\n userId: userId,\n });\n }\n lastIndex = endIndex;\n }\n if (lastIndex < word.length) {\n // Normal text\n const normalText = word.slice(lastIndex);\n resultArray.push({\n type: isUrl(normalText) ? StringObjType.url : StringObjType.normal,\n value: normalText,\n });\n }\n return resultArray;\n};\n\nexport const arrayEqual = (array1: Array<unknown>, array2: Array<unknown>): boolean => {\n if (Array.isArray(array1) && Array.isArray(array2) && array1.length === array2.length) {\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","AUDIO","UIKitMessageTypes","ADMIN","TEXT","FILE","THUMBNAIL","OG","UNKNOWN","UIKitFileTypes","GIF","OTHERS","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","OutgoingMessageStates","SENT","DELIVERED","READ","isTextuallyNull","text","isImage","type","indexOf","isVideo","isGif","isSupportedFileView","isAudio","getUIKitFileTypes","getUIKitFileType","getOutgoingMessageStates","getOutgoingMessageState","channel","message","sendingStatus","isGroupChannel","getUnreadMemberCount","getUndeliveredMemberCount","isSentMessage","isReadMessage","isFailedMessage","isPendingMessage","isSentStatus","state","isAdminMessage","messageType","isUserMessage","isFileMessage","isOGMessage","ogMetaData","url","isTextMessage","isThumbnailMessage","isImageMessage","isVideoMessage","isGifMessage","isAudioMessage","isEditedMessage","updatedAt","getUIKitMessageTypes","getUIKitMessageType","getSendingMessageStatus","reducer","accumulator","currentValue","Array","isArray","push","getClassName","classNames","reduce","join","isReactedBy","userId","reaction","userIds","some","reactorUserId","getEmojiTooltipString","memberNicknamesMap","stringSet","you","length","TOOLTIP__YOU","TOOLTIP__AND_YOU","filter","map","get","TOOLTIP__UNKNOWN_USER","URL_REG","isUrl","test","truncateString","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","Math","ceil","backChars","floor","substr","copyToClipboard","window","clipboardData","setData","document","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","getEmojiListAll","emojiContainer","emojiCategories","emojiCategory","emojis","prevArr","currArr","concat","getEmojiMapAll","emojiMap","Map","forEach","category","emoji","key","set","getUserName","user","friendName","nickname","getSenderName","sender","hasSameMembers","a","b","sortedA","__spreadArray","sort","sortedB","i","isFriend","friendDiscoveryKey","filterMessageListParams","params","messageTypeFilter","customTypesFilter","customTypes","item","includes","customType","senderUserIdsFilter","messageSender","includeParentMessageInfo","parentMessageId","parentMessage","filterChannelListParams","currentUserId","includeEmpty","lastMessage","_searchFilter","search_query","search_fields","searchFilter","searchQuery_1","searchFields","searchField","name","toLowerCase","members","member","_userIdsFilter","userIdsFilter","includeMode","queryType","memberIds_1","every","includeFrozen","isFrozen","customTypeStartsWithFilter","RegExp","channelNameContainsFilter","nicknameContainsFilter","lowerCasedSubString_1","channelUrlsFilter","myMemberStateFilter","myMemberState","inviter","hiddenChannelFilter","isHidden","hiddenState","unreadChannelFilter","unreadMessageCount","publicChannelFilter","isPublic","superChannelFilter","isSuper","binarySearch","list","number","pivot","leftList","slice","rightList","getChannelsWithUpsertedChannel","channels","ch","targetIndex","createdAt","StringObjType","convertWordToStringObj","word","_users","_template","users","template","resultArray","regex","excutionResult","lastIndex","template_1","endIndex","startIndex","normalText","normal","value","mentionedUser","find","mention","exec","arrayEqual","array1","array2"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { i as isSameDay, s as startOfDay } from './index-5428ab4f.js';
2
- import { r as requiredArgs, g as getTimezoneOffsetInMilliseconds, t as toDate, s as subMilliseconds, f as format, a as toInteger } from './index-aa2d32cc.js';
3
- import { d as defaultLocale } from './index-191d1d43.js';
1
+ import { i as isSameDay, s as startOfDay } from './index-b4944539.js';
2
+ import { r as requiredArgs, g as getTimezoneOffsetInMilliseconds, t as toDate, s as subMilliseconds, f as format, a as toInteger } from './index-7f2be3d7.js';
3
+ import { d as defaultLocale } from './index-5ec69689.js';
4
4
 
5
5
  /**
6
6
  * @name isToday
@@ -277,4 +277,4 @@ function isYesterday(dirtyDate) {
277
277
  }
278
278
 
279
279
  export { isYesterday as a, formatRelative as f, isToday as i };
280
- //# sourceMappingURL=index-b1f9e3f9.js.map
280
+ //# sourceMappingURL=index-4e56f382.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-b1f9e3f9.js","sources":["../node_modules/date-fns/esm/isToday/index.js","../node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/date-fns/esm/formatRelative/index.js","../node_modules/date-fns/esm/addDays/index.js","../node_modules/date-fns/esm/subDays/index.js","../node_modules/date-fns/esm/isYesterday/index.js"],"sourcesContent":["import isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * var result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\n\nexport default function isToday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, Date.now());\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\n\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","import differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport format from \"../format/index.js\";\nimport defaultLocale from \"../locale/en-US/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n\n/**\n * @name formatRelative\n * @category Common Helpers\n * @summary Represent the date in words relative to the given base date.\n *\n * @description\n * Represent the date in words relative to the given base date.\n *\n * | Distance to the base date | Result |\n * |---------------------------|---------------------------|\n * | Previous 6 days | last Sunday at 04:30 AM |\n * | Last day | yesterday at 04:30 AM |\n * | Same day | today at 04:30 AM |\n * | Next day | tomorrow at 04:30 AM |\n * | Next 6 days | Sunday at 04:30 AM |\n * | Other | 12/31/2017 |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to format\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {String} the date in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.locale` must contain `formatRelative` property\n */\nexport default function formatRelative(dirtyDate, dirtyBaseDate, dirtyOptions) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var baseDate = toDate(dirtyBaseDate);\n\n var _ref = dirtyOptions || {},\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? defaultLocale : _ref$locale,\n _ref$weekStartsOn = _ref.weekStartsOn,\n weekStartsOn = _ref$weekStartsOn === void 0 ? 0 : _ref$weekStartsOn;\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n if (!locale.formatRelative) {\n throw new RangeError('locale must contain formatRelative property');\n }\n\n var diff = differenceInCalendarDays(date, baseDate);\n\n if (isNaN(diff)) {\n throw new RangeError('Invalid time value');\n }\n\n var token;\n\n if (diff < -6) {\n token = 'other';\n } else if (diff < -1) {\n token = 'lastWeek';\n } else if (diff < 0) {\n token = 'yesterday';\n } else if (diff < 1) {\n token = 'today';\n } else if (diff < 2) {\n token = 'tomorrow';\n } else if (diff < 7) {\n token = 'nextWeek';\n } else {\n token = 'other';\n }\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var utcBaseDate = subMilliseconds(baseDate, getTimezoneOffsetInMilliseconds(baseDate));\n var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n return format(date, formatStr, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n date.setDate(date.getDate() + amount);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\n\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","import isSameDay from \"../isSameDay/index.js\";\nimport subDays from \"../subDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isYesterday\n * @category Day Helpers\n * @summary Is the given date yesterday?\n * @pure false\n *\n * @description\n * Is the given date yesterday?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is yesterday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 5 October 14:00:00 yesterday?\n * var result = isYesterday(new Date(2014, 9, 5, 14, 0))\n * //=> true\n */\n\nexport default function isYesterday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, subDays(Date.now(), 1));\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-4e56f382.js","sources":["../node_modules/date-fns/esm/isToday/index.js","../node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/date-fns/esm/formatRelative/index.js","../node_modules/date-fns/esm/addDays/index.js","../node_modules/date-fns/esm/subDays/index.js","../node_modules/date-fns/esm/isYesterday/index.js"],"sourcesContent":["import isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * var result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\n\nexport default function isToday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, Date.now());\n}","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\n\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","import differenceInCalendarDays from \"../differenceInCalendarDays/index.js\";\nimport format from \"../format/index.js\";\nimport defaultLocale from \"../locale/en-US/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n\n/**\n * @name formatRelative\n * @category Common Helpers\n * @summary Represent the date in words relative to the given base date.\n *\n * @description\n * Represent the date in words relative to the given base date.\n *\n * | Distance to the base date | Result |\n * |---------------------------|---------------------------|\n * | Previous 6 days | last Sunday at 04:30 AM |\n * | Last day | yesterday at 04:30 AM |\n * | Same day | today at 04:30 AM |\n * | Next day | tomorrow at 04:30 AM |\n * | Next 6 days | Sunday at 04:30 AM |\n * | Other | 12/31/2017 |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to format\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {String} the date in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.locale` must contain `formatRelative` property\n */\nexport default function formatRelative(dirtyDate, dirtyBaseDate, dirtyOptions) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var baseDate = toDate(dirtyBaseDate);\n\n var _ref = dirtyOptions || {},\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? defaultLocale : _ref$locale,\n _ref$weekStartsOn = _ref.weekStartsOn,\n weekStartsOn = _ref$weekStartsOn === void 0 ? 0 : _ref$weekStartsOn;\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n if (!locale.formatRelative) {\n throw new RangeError('locale must contain formatRelative property');\n }\n\n var diff = differenceInCalendarDays(date, baseDate);\n\n if (isNaN(diff)) {\n throw new RangeError('Invalid time value');\n }\n\n var token;\n\n if (diff < -6) {\n token = 'other';\n } else if (diff < -1) {\n token = 'lastWeek';\n } else if (diff < 0) {\n token = 'yesterday';\n } else if (diff < 1) {\n token = 'today';\n } else if (diff < 2) {\n token = 'tomorrow';\n } else if (diff < 7) {\n token = 'nextWeek';\n } else {\n token = 'other';\n }\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var utcBaseDate = subMilliseconds(baseDate, getTimezoneOffsetInMilliseconds(baseDate));\n var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n return format(date, formatStr, {\n locale: locale,\n weekStartsOn: weekStartsOn\n });\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n date.setDate(date.getDate() + amount);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\n\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","import isSameDay from \"../isSameDay/index.js\";\nimport subDays from \"../subDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isYesterday\n * @category Day Helpers\n * @summary Is the given date yesterday?\n * @pure false\n *\n * @description\n * Is the given date yesterday?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is yesterday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 5 October 14:00:00 yesterday?\n * var result = isYesterday(new Date(2014, 9, 5, 14, 0))\n * //=> true\n */\n\nexport default function isYesterday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, subDays(Date.now(), 1));\n}"],"names":[],"mappings":"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"}
@@ -509,4 +509,4 @@ var locale = {
509
509
  var defaultLocale = locale;
510
510
 
511
511
  export { defaultLocale as d };
512
- //# sourceMappingURL=index-191d1d43.js.map
512
+ //# sourceMappingURL=index-5ec69689.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-191d1d43.js","sources":["../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/en-US/index.js"],"sourcesContent":["var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nexport default function formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}","export default function buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nexport default function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","export default function buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}","export default function buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n}","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-5ec69689.js","sources":["../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/en-US/index.js"],"sourcesContent":["var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nexport default function formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}","export default function buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nexport default function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","export default function buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}","export default function buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n}","import buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nimport buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;"],"names":[],"mappings":"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"}