@weavy/uikit-react 11.0.0

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 (223) hide show
  1. package/.github/workflows/publish.yml +16 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +110 -0
  4. package/changelog.md +50 -0
  5. package/dist/cjs/index.js +39 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/types/client/WeavyClient.d.ts +16 -0
  8. package/dist/cjs/types/components/Attachment.d.ts +13 -0
  9. package/dist/cjs/types/components/Avatar.d.ts +11 -0
  10. package/dist/cjs/types/components/Chat.d.ts +4 -0
  11. package/dist/cjs/types/components/Conversation.d.ts +4 -0
  12. package/dist/cjs/types/components/ConversationBadge.d.ts +3 -0
  13. package/dist/cjs/types/components/ConversationForm.d.ts +7 -0
  14. package/dist/cjs/types/components/ConversationList.d.ts +3 -0
  15. package/dist/cjs/types/components/ConversationListItem.d.ts +4 -0
  16. package/dist/cjs/types/components/File.d.ts +9 -0
  17. package/dist/cjs/types/components/FileBrowser.d.ts +6 -0
  18. package/dist/cjs/types/components/Image.d.ts +16 -0
  19. package/dist/cjs/types/components/Meeting.d.ts +8 -0
  20. package/dist/cjs/types/components/MeetingCard.d.ts +6 -0
  21. package/dist/cjs/types/components/Meetings.d.ts +6 -0
  22. package/dist/cjs/types/components/Message.d.ts +4 -0
  23. package/dist/cjs/types/components/Messages.d.ts +9 -0
  24. package/dist/cjs/types/components/Messenger.d.ts +4 -0
  25. package/dist/cjs/types/components/NewConversation.d.ts +3 -0
  26. package/dist/cjs/types/components/Presence.d.ts +7 -0
  27. package/dist/cjs/types/components/Reactions.d.ts +13 -0
  28. package/dist/cjs/types/components/SearchUsers.d.ts +7 -0
  29. package/dist/cjs/types/components/SeenBy.d.ts +9 -0
  30. package/dist/cjs/types/components/Typing.d.ts +8 -0
  31. package/dist/cjs/types/contexts/MessengerContext.d.ts +8 -0
  32. package/dist/cjs/types/contexts/PreviewContext.d.ts +7 -0
  33. package/dist/cjs/types/contexts/UserContext.d.ts +8 -0
  34. package/dist/cjs/types/contexts/WeavyContext.d.ts +10 -0
  35. package/dist/cjs/types/hooks/useBadge.d.ts +1 -0
  36. package/dist/cjs/types/hooks/useChat.d.ts +1 -0
  37. package/dist/cjs/types/hooks/useConversation.d.ts +1 -0
  38. package/dist/cjs/types/hooks/useConversations.d.ts +1 -0
  39. package/dist/cjs/types/hooks/useDebounce.d.ts +2 -0
  40. package/dist/cjs/types/hooks/useEvents.d.ts +6 -0
  41. package/dist/cjs/types/hooks/useFileUploader.d.ts +1 -0
  42. package/dist/cjs/types/hooks/useMembers.d.ts +1 -0
  43. package/dist/cjs/types/hooks/useMessages.d.ts +1 -0
  44. package/dist/cjs/types/hooks/useMutateChat.d.ts +4 -0
  45. package/dist/cjs/types/hooks/useMutateConversation.d.ts +3 -0
  46. package/dist/cjs/types/hooks/useMutateConversationName.d.ts +4 -0
  47. package/dist/cjs/types/hooks/useMutateDeleteReaction.d.ts +4 -0
  48. package/dist/cjs/types/hooks/useMutateExternalBlobs.d.ts +3 -0
  49. package/dist/cjs/types/hooks/useMutateMeeting.d.ts +3 -0
  50. package/dist/cjs/types/hooks/useMutateMembers.d.ts +4 -0
  51. package/dist/cjs/types/hooks/useMutateMessage.d.ts +9 -0
  52. package/dist/cjs/types/hooks/useMutatePinned.d.ts +4 -0
  53. package/dist/cjs/types/hooks/useMutateReaction.d.ts +4 -0
  54. package/dist/cjs/types/hooks/useMutateRead.d.ts +4 -0
  55. package/dist/cjs/types/hooks/useMutateRemoveMembers.d.ts +4 -0
  56. package/dist/cjs/types/hooks/useMutateTyping.d.ts +3 -0
  57. package/dist/cjs/types/hooks/usePresence.d.ts +1 -0
  58. package/dist/cjs/types/hooks/usePreview.d.ts +4 -0
  59. package/dist/cjs/types/hooks/useReactions.d.ts +3 -0
  60. package/dist/cjs/types/hooks/useSearchUsers.d.ts +1 -0
  61. package/dist/cjs/types/hooks/useThrottle.d.ts +2 -0
  62. package/dist/cjs/types/hooks/useUser.d.ts +1 -0
  63. package/dist/cjs/types/index.d.ts +15 -0
  64. package/dist/cjs/types/types/Chat.d.ts +3 -0
  65. package/dist/cjs/types/types/Conversation.d.ts +4 -0
  66. package/dist/cjs/types/types/ConversationListItem.d.ts +4 -0
  67. package/dist/cjs/types/types/Message.d.ts +15 -0
  68. package/dist/cjs/types/types/Messenger.d.ts +3 -0
  69. package/dist/cjs/types/types/types.d.ts +150 -0
  70. package/dist/cjs/types/ui/Button.d.ts +4 -0
  71. package/dist/cjs/types/ui/Dropdown.d.ts +19 -0
  72. package/dist/cjs/types/ui/Icon.d.ts +10 -0
  73. package/dist/cjs/types/ui/Overlay.d.ts +12 -0
  74. package/dist/cjs/types/utils/fileUtilities.d.ts +5 -0
  75. package/dist/cjs/types/utils/styles.d.ts +17 -0
  76. package/dist/esm/index.js +39 -0
  77. package/dist/esm/index.js.map +1 -0
  78. package/dist/esm/types/client/WeavyClient.d.ts +16 -0
  79. package/dist/esm/types/components/Attachment.d.ts +13 -0
  80. package/dist/esm/types/components/Avatar.d.ts +11 -0
  81. package/dist/esm/types/components/Chat.d.ts +4 -0
  82. package/dist/esm/types/components/Conversation.d.ts +4 -0
  83. package/dist/esm/types/components/ConversationBadge.d.ts +3 -0
  84. package/dist/esm/types/components/ConversationForm.d.ts +7 -0
  85. package/dist/esm/types/components/ConversationList.d.ts +3 -0
  86. package/dist/esm/types/components/ConversationListItem.d.ts +4 -0
  87. package/dist/esm/types/components/File.d.ts +9 -0
  88. package/dist/esm/types/components/FileBrowser.d.ts +6 -0
  89. package/dist/esm/types/components/Image.d.ts +16 -0
  90. package/dist/esm/types/components/Meeting.d.ts +8 -0
  91. package/dist/esm/types/components/MeetingCard.d.ts +6 -0
  92. package/dist/esm/types/components/Meetings.d.ts +6 -0
  93. package/dist/esm/types/components/Message.d.ts +4 -0
  94. package/dist/esm/types/components/Messages.d.ts +9 -0
  95. package/dist/esm/types/components/Messenger.d.ts +4 -0
  96. package/dist/esm/types/components/NewConversation.d.ts +3 -0
  97. package/dist/esm/types/components/Presence.d.ts +7 -0
  98. package/dist/esm/types/components/Reactions.d.ts +13 -0
  99. package/dist/esm/types/components/SearchUsers.d.ts +7 -0
  100. package/dist/esm/types/components/SeenBy.d.ts +9 -0
  101. package/dist/esm/types/components/Typing.d.ts +8 -0
  102. package/dist/esm/types/contexts/MessengerContext.d.ts +8 -0
  103. package/dist/esm/types/contexts/PreviewContext.d.ts +7 -0
  104. package/dist/esm/types/contexts/UserContext.d.ts +8 -0
  105. package/dist/esm/types/contexts/WeavyContext.d.ts +10 -0
  106. package/dist/esm/types/hooks/useBadge.d.ts +1 -0
  107. package/dist/esm/types/hooks/useChat.d.ts +1 -0
  108. package/dist/esm/types/hooks/useConversation.d.ts +1 -0
  109. package/dist/esm/types/hooks/useConversations.d.ts +1 -0
  110. package/dist/esm/types/hooks/useDebounce.d.ts +2 -0
  111. package/dist/esm/types/hooks/useEvents.d.ts +6 -0
  112. package/dist/esm/types/hooks/useFileUploader.d.ts +1 -0
  113. package/dist/esm/types/hooks/useMembers.d.ts +1 -0
  114. package/dist/esm/types/hooks/useMessages.d.ts +1 -0
  115. package/dist/esm/types/hooks/useMutateChat.d.ts +4 -0
  116. package/dist/esm/types/hooks/useMutateConversation.d.ts +3 -0
  117. package/dist/esm/types/hooks/useMutateConversationName.d.ts +4 -0
  118. package/dist/esm/types/hooks/useMutateDeleteReaction.d.ts +4 -0
  119. package/dist/esm/types/hooks/useMutateExternalBlobs.d.ts +3 -0
  120. package/dist/esm/types/hooks/useMutateMeeting.d.ts +3 -0
  121. package/dist/esm/types/hooks/useMutateMembers.d.ts +4 -0
  122. package/dist/esm/types/hooks/useMutateMessage.d.ts +9 -0
  123. package/dist/esm/types/hooks/useMutatePinned.d.ts +4 -0
  124. package/dist/esm/types/hooks/useMutateReaction.d.ts +4 -0
  125. package/dist/esm/types/hooks/useMutateRead.d.ts +4 -0
  126. package/dist/esm/types/hooks/useMutateRemoveMembers.d.ts +4 -0
  127. package/dist/esm/types/hooks/useMutateTyping.d.ts +3 -0
  128. package/dist/esm/types/hooks/usePresence.d.ts +1 -0
  129. package/dist/esm/types/hooks/usePreview.d.ts +4 -0
  130. package/dist/esm/types/hooks/useReactions.d.ts +3 -0
  131. package/dist/esm/types/hooks/useSearchUsers.d.ts +1 -0
  132. package/dist/esm/types/hooks/useThrottle.d.ts +2 -0
  133. package/dist/esm/types/hooks/useUser.d.ts +1 -0
  134. package/dist/esm/types/index.d.ts +15 -0
  135. package/dist/esm/types/types/Chat.d.ts +3 -0
  136. package/dist/esm/types/types/Conversation.d.ts +4 -0
  137. package/dist/esm/types/types/ConversationListItem.d.ts +4 -0
  138. package/dist/esm/types/types/Message.d.ts +15 -0
  139. package/dist/esm/types/types/Messenger.d.ts +3 -0
  140. package/dist/esm/types/types/types.d.ts +150 -0
  141. package/dist/esm/types/ui/Button.d.ts +4 -0
  142. package/dist/esm/types/ui/Dropdown.d.ts +19 -0
  143. package/dist/esm/types/ui/Icon.d.ts +10 -0
  144. package/dist/esm/types/ui/Overlay.d.ts +12 -0
  145. package/dist/esm/types/utils/fileUtilities.d.ts +5 -0
  146. package/dist/esm/types/utils/styles.d.ts +17 -0
  147. package/dist/index.d.ts +98 -0
  148. package/package.json +47 -0
  149. package/rollup.config.js +41 -0
  150. package/src/client/WeavyClient.ts +95 -0
  151. package/src/components/Attachment.tsx +33 -0
  152. package/src/components/Avatar.tsx +26 -0
  153. package/src/components/Chat.tsx +68 -0
  154. package/src/components/Conversation.tsx +220 -0
  155. package/src/components/ConversationBadge.tsx +44 -0
  156. package/src/components/ConversationForm.tsx +217 -0
  157. package/src/components/ConversationList.tsx +61 -0
  158. package/src/components/ConversationListItem.tsx +155 -0
  159. package/src/components/File.tsx +21 -0
  160. package/src/components/FileBrowser.tsx +86 -0
  161. package/src/components/Image.tsx +66 -0
  162. package/src/components/Meeting.tsx +21 -0
  163. package/src/components/MeetingCard.tsx +31 -0
  164. package/src/components/Meetings.tsx +58 -0
  165. package/src/components/Message.tsx +90 -0
  166. package/src/components/Messages.tsx +271 -0
  167. package/src/components/Messenger.tsx +34 -0
  168. package/src/components/NewConversation.tsx +50 -0
  169. package/src/components/Presence.tsx +15 -0
  170. package/src/components/Reactions.tsx +95 -0
  171. package/src/components/SearchUsers.tsx +90 -0
  172. package/src/components/SeenBy.tsx +26 -0
  173. package/src/components/Typing.tsx +131 -0
  174. package/src/contexts/MessengerContext.tsx +44 -0
  175. package/src/contexts/PreviewContext.tsx +105 -0
  176. package/src/contexts/UserContext.tsx +31 -0
  177. package/src/contexts/WeavyContext.tsx +66 -0
  178. package/src/hooks/useBadge.ts +32 -0
  179. package/src/hooks/useChat.ts +32 -0
  180. package/src/hooks/useConversation.ts +28 -0
  181. package/src/hooks/useConversations.ts +27 -0
  182. package/src/hooks/useDebounce.ts +22 -0
  183. package/src/hooks/useEvents.ts +43 -0
  184. package/src/hooks/useFileUploader.ts +35 -0
  185. package/src/hooks/useMembers.ts +27 -0
  186. package/src/hooks/useMessages.ts +42 -0
  187. package/src/hooks/useMessenger.ts +51 -0
  188. package/src/hooks/useMutateChat.ts +44 -0
  189. package/src/hooks/useMutateConversation.ts +40 -0
  190. package/src/hooks/useMutateConversationName.ts +41 -0
  191. package/src/hooks/useMutateDeleteReaction.ts +38 -0
  192. package/src/hooks/useMutateExternalBlobs.ts +39 -0
  193. package/src/hooks/useMutateMeeting.ts +39 -0
  194. package/src/hooks/useMutateMembers.ts +43 -0
  195. package/src/hooks/useMutateMessage.ts +116 -0
  196. package/src/hooks/useMutatePinned.ts +40 -0
  197. package/src/hooks/useMutateReaction.ts +38 -0
  198. package/src/hooks/useMutateRead.ts +40 -0
  199. package/src/hooks/useMutateRemoveMembers.ts +43 -0
  200. package/src/hooks/useMutateTyping.ts +34 -0
  201. package/src/hooks/usePresence.ts +32 -0
  202. package/src/hooks/usePreview.ts +21 -0
  203. package/src/hooks/useReactions.ts +53 -0
  204. package/src/hooks/useSearchUsers.ts +26 -0
  205. package/src/hooks/useThrottle.ts +13 -0
  206. package/src/hooks/useUser.ts +38 -0
  207. package/src/index.ts +33 -0
  208. package/src/types/Chat.ts +3 -0
  209. package/src/types/Conversation.ts +4 -0
  210. package/src/types/ConversationListItem.ts +4 -0
  211. package/src/types/Message.ts +16 -0
  212. package/src/types/Messenger.ts +3 -0
  213. package/src/types/emoji-toolkit.d.ts +1 -0
  214. package/src/types/types.ts +175 -0
  215. package/src/ui/Button.tsx +32 -0
  216. package/src/ui/Dropdown.tsx +58 -0
  217. package/src/ui/Icon.tsx +79 -0
  218. package/src/ui/Overlay.tsx +41 -0
  219. package/src/utils/fileUtilities.ts +230 -0
  220. package/src/utils/infiniteScroll.js +175 -0
  221. package/src/utils/scrollToBottom.js +75 -0
  222. package/src/utils/styles.ts +42 -0
  223. package/tsconfig.json +108 -0
@@ -0,0 +1,16 @@
1
+ export default class WeavyClient {
2
+ uri: string;
3
+ tokenFactory: () => string | Promise<string>;
4
+ connection: import("@microsoft/signalr").HubConnection;
5
+ groups: string[];
6
+ connectionEvents: any[];
7
+ isConnectionStarted: any;
8
+ EVENT_NAMESPACE: string;
9
+ EVENT_CLOSE: string;
10
+ EVENT_RECONNECTING: string;
11
+ EVENT_RECONNECTED: string;
12
+ constructor(options: WeavyClientOptions);
13
+ subscribe(group: string, event: string, callback: any): Promise<void>;
14
+ unsubscribe(group: string, event: string, callback: any): Promise<void>;
15
+ triggerHandler(name: string, ...data: any): void;
16
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ previewFormat: string;
4
+ url: string;
5
+ previewUrl: string;
6
+ mediaType: string;
7
+ name: string;
8
+ kind: string;
9
+ size: number;
10
+ provider: string;
11
+ };
12
+ declare const Attachment: ({ previewFormat, url, previewUrl, mediaType, name, kind, size, provider }: Props) => JSX.Element;
13
+ export default Attachment;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ id?: number;
4
+ name: string;
5
+ src: string;
6
+ presence?: string;
7
+ size?: number;
8
+ className?: string;
9
+ };
10
+ declare const Avatar: ({ id, src, name, presence, size, className }: Props) => JSX.Element;
11
+ export default Avatar;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ChatProps } from '../types/Chat';
3
+ declare const Chat: ({ id }: ChatProps) => JSX.Element;
4
+ export default Chat;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ConversationProps } from '../types/Conversation';
3
+ declare const _default: React.MemoExoticComponent<({ id, showBackButton }: ConversationProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const ConversationBadge: () => JSX.Element;
3
+ export default ConversationBadge;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ conversationId: number;
4
+ handleInsert: Function;
5
+ };
6
+ declare const ConversationForm: ({ conversationId, handleInsert }: Props) => JSX.Element;
7
+ export default ConversationForm;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const ConversationList: () => JSX.Element;
3
+ export default ConversationList;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ConversationListItemProps } from '../types/ConversationListItem';
3
+ declare const ConversationListItem: ({ item, refetchConversations }: ConversationListItemProps) => JSX.Element;
4
+ export default ConversationListItem;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ id: number;
4
+ name: string;
5
+ className?: string;
6
+ icon: string;
7
+ };
8
+ declare const File: ({ id, name, className, icon }: Props) => JSX.Element;
9
+ export default File;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ onFileAdded: Function;
4
+ };
5
+ declare const FileBrowser: ({ onFileAdded }: Props) => JSX.Element;
6
+ export default FileBrowser;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ declare type ImageProps = {
3
+ src: string;
4
+ previewSrc: string;
5
+ width: number;
6
+ height: number;
7
+ more?: number;
8
+ onClick: (e: any) => void;
9
+ };
10
+ export declare const Image: ({ src, previewSrc, width, height, more, onClick }: ImageProps) => JSX.Element;
11
+ declare type ImageGridProps = {
12
+ children: React.ReactNode;
13
+ limit?: number;
14
+ };
15
+ export declare const ImageGrid: ({ children, limit }: ImageGridProps) => JSX.Element;
16
+ export default Image;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ id: number;
4
+ title: string;
5
+ className?: string;
6
+ };
7
+ declare const Meeting: ({ id, title, className }: Props) => JSX.Element;
8
+ export default Meeting;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ meeting: MeetingCardType;
4
+ };
5
+ declare const MeetingCard: ({ meeting }: Props) => JSX.Element;
6
+ export default MeetingCard;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ onMeetingAdded: Function;
4
+ };
5
+ declare const Meetings: ({ onMeetingAdded }: Props) => JSX.Element;
6
+ export default Meetings;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { MessageProps } from "../types/Message";
3
+ declare const Message: FC<MessageProps>;
4
+ export default Message;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ id: number;
4
+ members: MembersResult | undefined;
5
+ displayName?: string;
6
+ avatarUrl?: string;
7
+ };
8
+ declare const Messages: ({ id, members, displayName, avatarUrl }: Props) => JSX.Element;
9
+ export default Messages;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { Messenger } from '../types/Messenger';
3
+ declare const Messenger: FC<Messenger>;
4
+ export default Messenger;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ id: number;
4
+ status: string;
5
+ };
6
+ declare const Presence: ({ id, status }: Props) => JSX.Element;
7
+ export default Presence;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ declare type ReactionMenuProps = {
3
+ id: number;
4
+ reactions: ReactableType[];
5
+ };
6
+ declare type ReactionsProps = {
7
+ id: number;
8
+ parentId: number | null;
9
+ reactions: ReactableType[];
10
+ };
11
+ export declare const ReactionsMenu: ({ id, reactions }: ReactionMenuProps) => JSX.Element;
12
+ export declare const ReactionsList: ({ id, reactions }: ReactionsProps) => JSX.Element;
13
+ export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare type SearchUsersProps = {
3
+ handleSubmit: any;
4
+ buttonTitle: string;
5
+ };
6
+ declare const SearchUsers: ({ handleSubmit, buttonTitle }: SearchUsersProps) => JSX.Element;
7
+ export default SearchUsers;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ id: number;
4
+ parentId: number | null;
5
+ seenBy: MemberType[];
6
+ createdAt: string;
7
+ };
8
+ declare const SeenBy: ({ seenBy }: Props) => JSX.Element;
9
+ export default SeenBy;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare type Props = {
3
+ id: number;
4
+ context: string;
5
+ children: any;
6
+ };
7
+ declare const _default: React.MemoExoticComponent<({ children, id, context }: Props) => JSX.Element>;
8
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export declare const MessengerContext: React.Context<MessengerContextProps>;
3
+ declare type Props = {
4
+ children: React.ReactNode;
5
+ options?: MessengerContextOptions;
6
+ };
7
+ declare const MessengerProvider: ({ children, options }: Props) => JSX.Element;
8
+ export default MessengerProvider;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export declare const PreviewContext: React.Context<PreviewContextProps>;
3
+ declare type Props = {
4
+ children: React.ReactNode;
5
+ };
6
+ declare const PreviewProvider: ({ children }: Props) => JSX.Element;
7
+ export default PreviewProvider;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export declare const UserContext: React.Context<UserContextProps>;
3
+ declare type Props = {
4
+ client: any;
5
+ children: React.ReactNode;
6
+ };
7
+ declare const UserProvider: ({ children, client }: Props) => JSX.Element;
8
+ export default UserProvider;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import WeavyClient from "../client/WeavyClient";
3
+ export declare const WeavyContext: React.Context<WeavyContextProps>;
4
+ declare type Props = {
5
+ children: React.ReactNode;
6
+ client: WeavyClient;
7
+ options?: WeavyContextOptions;
8
+ };
9
+ declare const WeavyProvider: ({ children, client, options }: Props) => JSX.Element;
10
+ export default WeavyProvider;
@@ -0,0 +1 @@
1
+ export default function useBadge(): import("react-query").UseQueryResult<BadgeType, unknown>;
@@ -0,0 +1 @@
1
+ export default function useChat(id: string, options: any): import("react-query").UseQueryResult<ConversationType, unknown>;
@@ -0,0 +1 @@
1
+ export default function useConversation(id: number | null, options: any): import("react-query").UseQueryResult<ConversationType, unknown>;
@@ -0,0 +1 @@
1
+ export default function useConversations(): import("react-query").UseQueryResult<ConversationsResult, unknown>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="lodash" />
2
+ export default function useDebounce(cb: any, delay: number): import("lodash").DebouncedFunc<(...args: any) => void>;
@@ -0,0 +1,6 @@
1
+ export default function useEvents(): {
2
+ dispatch: (event: string, data: any) => void;
3
+ on: (event: string, cb: Function) => () => any;
4
+ off: (event: string, cb: Function) => void;
5
+ events: object[];
6
+ };
@@ -0,0 +1 @@
1
+ export default function useFileUploader(callback: Function): import("react-query").UseMutationResult<void, any, any, unknown>;
@@ -0,0 +1 @@
1
+ export default function useMembers(id: number | null, options: any): import("react-query").UseQueryResult<MembersResult, unknown>;
@@ -0,0 +1 @@
1
+ export default function useMessages(id: number | null, options: any): import("react-query").UseInfiniteQueryResult<MessagesResult, unknown>;
@@ -0,0 +1,4 @@
1
+ export default function useMutateChat(): import("react-query").UseMutationResult<any, unknown, {
2
+ identifier: string;
3
+ members: number[];
4
+ }, unknown>;
@@ -0,0 +1,3 @@
1
+ export default function useMutateConversation(): import("react-query").UseMutationResult<any, unknown, {
2
+ members: number[];
3
+ }, unknown>;
@@ -0,0 +1,4 @@
1
+ export default function useMutateConversationName(): import("react-query").UseMutationResult<any, unknown, {
2
+ id: number | null;
3
+ name: string;
4
+ }, any>;
@@ -0,0 +1,4 @@
1
+ export default function useMutateDeleteReaction(): import("react-query").UseMutationResult<Response, unknown, {
2
+ id: number | null;
3
+ reaction: string;
4
+ }, unknown>;
@@ -0,0 +1,3 @@
1
+ export default function useMutateExternalBlobs(): import("react-query").UseMutationResult<any, unknown, {
2
+ blobs: [];
3
+ }, unknown>;
@@ -0,0 +1,3 @@
1
+ export default function useMutateMeeting(): import("react-query").UseMutationResult<any, unknown, {
2
+ provider: string;
3
+ }, unknown>;
@@ -0,0 +1,4 @@
1
+ export default function useMutateMembers(): import("react-query").UseMutationResult<Response, unknown, {
2
+ id: number | null;
3
+ members: number[];
4
+ }, any>;
@@ -0,0 +1,9 @@
1
+ export default function useMutateMessage(): import("react-query").UseMutationResult<any, unknown, {
2
+ id: number | null;
3
+ text: string;
4
+ userId: number;
5
+ attachments: [];
6
+ meetings: MeetingType[];
7
+ }, {
8
+ tempId: number;
9
+ }>;
@@ -0,0 +1,4 @@
1
+ export default function useMutatePinned(): import("react-query").UseMutationResult<any, unknown, {
2
+ id: number | null;
3
+ pin: boolean;
4
+ }, unknown>;
@@ -0,0 +1,4 @@
1
+ export default function useMutateReaction(): import("react-query").UseMutationResult<Response, unknown, {
2
+ id: number | null;
3
+ reaction: string;
4
+ }, unknown>;
@@ -0,0 +1,4 @@
1
+ export default function useMutateRead(): import("react-query").UseMutationResult<any, unknown, {
2
+ id: number | null;
3
+ read: boolean;
4
+ }, unknown>;
@@ -0,0 +1,4 @@
1
+ export default function useMutateRemoveMembers(): import("react-query").UseMutationResult<Response, unknown, {
2
+ id: number | null;
3
+ members: number[];
4
+ }, unknown>;
@@ -0,0 +1,3 @@
1
+ export default function useMutateTyping(): import("react-query").UseMutationResult<Response, unknown, {
2
+ id: number | null;
3
+ }, unknown>;
@@ -0,0 +1 @@
1
+ export default function usePresence(): void;
@@ -0,0 +1,4 @@
1
+ export default function usePreview(attachments: AttachmentType[]): {
2
+ open: (attachmentId: number) => void;
3
+ close: () => void;
4
+ };
@@ -0,0 +1,3 @@
1
+ export default function useReactions(id: number, reactions: ReactableType[]): {
2
+ reactionsList: ReactionGroup[];
3
+ };
@@ -0,0 +1 @@
1
+ export default function useSearchUsers(text: string, options: any): import("react-query").UseQueryResult<MembersResult, unknown>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="lodash" />
2
+ export default function useThrottle(cb: any, delay: number): import("lodash").DebouncedFunc<(...args: any) => any>;
@@ -0,0 +1 @@
1
+ export default function useUser(client: any): import("react-query").UseQueryResult<UserType, unknown>;
@@ -0,0 +1,15 @@
1
+ import WeavyClient from './client/WeavyClient';
2
+ import WeavyProvider from './contexts/WeavyContext';
3
+ import { WeavyContext } from './contexts/WeavyContext';
4
+ import MessengerProvider from './contexts/MessengerContext';
5
+ import { MessengerContext } from './contexts/MessengerContext';
6
+ import Messenger from './components/Messenger';
7
+ import ConversationBadge from './components/ConversationBadge';
8
+ import ConversationList from './components/ConversationList';
9
+ import Conversation from './components/Conversation';
10
+ import Chat from './components/Chat';
11
+ import Button from './ui/Button';
12
+ import Dropdown from './ui/Dropdown';
13
+ import Icon from './ui/Icon';
14
+ import Overlay from './ui/Overlay';
15
+ export { WeavyClient, WeavyContext, WeavyProvider, MessengerProvider, MessengerContext, Messenger, ConversationList, Conversation, Chat, ConversationBadge, Button, Dropdown, Icon, Overlay };
@@ -0,0 +1,3 @@
1
+ export interface ChatProps {
2
+ id: string;
3
+ }
@@ -0,0 +1,4 @@
1
+ export interface ConversationProps {
2
+ id?: number | null;
3
+ showBackButton?: boolean;
4
+ }
@@ -0,0 +1,4 @@
1
+ export interface ConversationListItemProps {
2
+ item: ConversationType;
3
+ refetchConversations: Function;
4
+ }
@@ -0,0 +1,15 @@
1
+ export interface MessageProps {
2
+ id: number;
3
+ html: string;
4
+ temp?: boolean | false;
5
+ me: boolean;
6
+ avatar?: string;
7
+ name: string;
8
+ created_at: string;
9
+ attachments: AttachmentType[];
10
+ meeting: MeetingCardType;
11
+ parentId: number | null;
12
+ reactions: ReactableType[];
13
+ reactions_count?: number;
14
+ seenBy: MemberType[];
15
+ }
@@ -0,0 +1,3 @@
1
+ export interface Messenger {
2
+ options?: MessengerContextOptions;
3
+ }
@@ -0,0 +1,150 @@
1
+ /// <reference types="react" />
2
+ declare type WeavyClientOptions = {
3
+ uri: string;
4
+ tokenFactory: (() => string | Promise<string>);
5
+ };
6
+ declare type WeavyContextProps = {
7
+ client: any;
8
+ options?: WeavyContextOptions;
9
+ };
10
+ declare type WeavyContextOptions = {
11
+ zoomAuthenticationUrl?: string;
12
+ teamsAuthenticationUrl?: string;
13
+ enableCloudFiles?: boolean;
14
+ filebrowserUrl?: string;
15
+ };
16
+ declare type MessengerContextProps = {
17
+ options?: MessengerContextOptions;
18
+ selectedConversationId: null | number;
19
+ setSelectedConversationId: Function;
20
+ };
21
+ declare type UserContextProps = {
22
+ user: UserType;
23
+ };
24
+ declare type MessengerContextOptions = {
25
+ reactions?: string[];
26
+ };
27
+ declare type PreviewContextProps = {
28
+ openPreview: Function;
29
+ closePreview: Function;
30
+ };
31
+ declare type ProviderProps = {
32
+ children: React.ReactNode;
33
+ client: any;
34
+ };
35
+ declare type InsertConversationProps = {
36
+ title: string;
37
+ text: string;
38
+ };
39
+ declare type ConversationsResult = {
40
+ data: ConversationType[];
41
+ start: number;
42
+ end: number;
43
+ count: number;
44
+ };
45
+ declare type MembersResult = {
46
+ data: MemberType[];
47
+ start: number;
48
+ end: number;
49
+ count: number;
50
+ };
51
+ declare type MessagesResult = {
52
+ data: MessageType[];
53
+ start: number;
54
+ end: number;
55
+ count: number;
56
+ };
57
+ declare type ConversationType = {
58
+ id: number;
59
+ display_name: string;
60
+ last_message: MessageType;
61
+ is_unread: boolean;
62
+ is_pinned: boolean;
63
+ type: string;
64
+ member_ids: number[];
65
+ avatar_url: string;
66
+ };
67
+ declare type MemberType = {
68
+ id: number;
69
+ name: string;
70
+ display_name: string;
71
+ avatar_url: string;
72
+ delivered_at: string;
73
+ read_at: string;
74
+ presence: string;
75
+ };
76
+ declare type MessageType = {
77
+ id: number;
78
+ html: string;
79
+ text: string;
80
+ app_id: number;
81
+ temp?: boolean;
82
+ created_at: string;
83
+ created_by: MemberType;
84
+ attachments: AttachmentType[];
85
+ attachment_ids: number[];
86
+ meeting: MeetingCardType;
87
+ meeting_id?: number;
88
+ reactions: ReactableType[];
89
+ };
90
+ declare type UserType = {
91
+ id: number;
92
+ username: string;
93
+ email: string;
94
+ name: string;
95
+ title: string;
96
+ avatar_url: string;
97
+ presence: string;
98
+ };
99
+ declare type FileType = {
100
+ id: number;
101
+ name: string;
102
+ };
103
+ declare type AttachmentType = {
104
+ id: number;
105
+ name: string;
106
+ kind: string;
107
+ media_type: string;
108
+ width: number;
109
+ height: number;
110
+ size: number;
111
+ provider: string;
112
+ download_url: string;
113
+ preview_url: string;
114
+ thumbnail_url: string;
115
+ external_url: string;
116
+ };
117
+ declare type ReactionType = {
118
+ id: number;
119
+ parent: MessageType;
120
+ content: string;
121
+ created_by: MemberType;
122
+ count?: number;
123
+ };
124
+ declare type ReactableType = {
125
+ content: string;
126
+ created_by_id: number;
127
+ };
128
+ declare type ReactionGroup = {
129
+ content: string;
130
+ count: number;
131
+ has_reacted: boolean;
132
+ };
133
+ declare type MeetingType = {
134
+ id: number;
135
+ provider: string;
136
+ };
137
+ declare type MeetingCardType = {
138
+ id: number;
139
+ provider: string;
140
+ provider_id: string;
141
+ uuid: string;
142
+ join_url: string;
143
+ recording_url: string;
144
+ ended_at: string;
145
+ };
146
+ declare type BadgeType = {
147
+ private: number;
148
+ rooms: number;
149
+ chat: number;
150
+ };
@@ -0,0 +1,4 @@
1
+ declare const UIButton: {
2
+ UI: any;
3
+ };
4
+ export default UIButton;
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ declare type DropdownProps = {
3
+ directionX?: "left" | "right";
4
+ directionY?: "up" | "down";
5
+ children: React.ReactNode;
6
+ className?: string;
7
+ props?: React.HTMLAttributes<HTMLSpanElement>;
8
+ };
9
+ declare type ItemProps = {
10
+ children: React.ReactNode;
11
+ className?: string;
12
+ onClick?: (e: any) => void;
13
+ props?: React.HTMLAttributes<HTMLDivElement>;
14
+ };
15
+ declare const UIDropdown: {
16
+ UI: ({ directionX, directionY, children, className, ...props }: DropdownProps) => JSX.Element;
17
+ Item: ({ children, className, onClick, ...props }: ItemProps) => JSX.Element;
18
+ };
19
+ export default UIDropdown;