@connectycube/chat-widget 0.32.1 → 0.34.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 (152) hide show
  1. package/CHANGELOG.md +56 -256
  2. package/README.md +3 -1
  3. package/dist/index.es.js +7088 -19761
  4. package/dist/index.umd.js +152 -60
  5. package/dist/{react19/index.es.js → react19.es.js} +4986 -17659
  6. package/dist/types/components/home/main/ai-dropdown-menu/ai-dropdown-change-tone.d.ts +14 -0
  7. package/dist/types/components/home/main/ai-dropdown-menu/ai-dropdown-get-summary.d.ts +11 -0
  8. package/dist/types/components/home/main/chat-ai-button.d.ts +8 -0
  9. package/dist/types/components/home/main/chat-input-file.d.ts +6 -0
  10. package/dist/types/components/home/main/chat-input.d.ts +1 -0
  11. package/dist/types/components/home/main/chat-messages-list.d.ts +1 -0
  12. package/dist/types/components/home/main/message/call-message.d.ts +13 -0
  13. package/dist/types/components/home/main/message/message-text-summary.d.ts +8 -0
  14. package/dist/types/components/home/main/message/message.d.ts +1 -0
  15. package/dist/types/components/home/main/single-view-form.d.ts +5 -0
  16. package/dist/types/components/shadcn-ui/card.d.ts +9 -0
  17. package/dist/types/components/shadcn-ui/checkbox.d.ts +4 -0
  18. package/dist/types/components/shadcn-ui/class-names.d.ts +50 -0
  19. package/dist/types/components/shadcn-ui/skeleton.d.ts +2 -0
  20. package/dist/types/components/widget/widget-app.d.ts +1 -0
  21. package/dist/types/components/widget/widget-auth.d.ts +2 -0
  22. package/dist/types/components/widget/widget-error.d.ts +2 -0
  23. package/dist/types/helpers/connectycube.d.ts +10 -1
  24. package/dist/types/helpers/formatters.d.ts +1 -0
  25. package/dist/types/helpers/i18n.d.ts +5 -0
  26. package/dist/types/helpers/widget.d.ts +22 -0
  27. package/dist/types/hooks/index.d.ts +3 -1
  28. package/dist/types/hooks/store/useAppAIStore.d.ts +18 -0
  29. package/dist/types/hooks/store/useAppDefaultChatStore.d.ts +15 -2
  30. package/dist/types/hooks/store/useAppInterfaceStore.d.ts +6 -0
  31. package/dist/types/hooks/store/useAppNotificationStore.d.ts +2 -2
  32. package/dist/types/hooks/store/useAppSettingsStore.d.ts +13 -4
  33. package/dist/types/hooks/useAppAuthorization.d.ts +2 -1
  34. package/dist/types/hooks/useAppPresets.d.ts +13 -3
  35. package/dist/types/hooks/useCallHistory.d.ts +15 -0
  36. package/dist/types/locales/el/translation.json.d.ts +59 -1
  37. package/dist/types/locales/en/translation.json.d.ts +59 -1
  38. package/dist/types/locales/ua/translation.json.d.ts +59 -1
  39. package/package.json +49 -39
  40. package/dist/react19/connectycube-chat-widget-sw.js +0 -44
  41. package/dist/react19/logo.png +0 -0
  42. package/dist/react19/types/App.d.ts +0 -23
  43. package/dist/react19/types/components/calls/calls-confirm-incoming.d.ts +0 -2
  44. package/dist/react19/types/components/calls/calls-fullscreen-stream.d.ts +0 -6
  45. package/dist/react19/types/components/calls/calls-header-buttons.d.ts +0 -3
  46. package/dist/react19/types/components/calls/calls-modal-screen.d.ts +0 -2
  47. package/dist/react19/types/components/calls/calls-navigation/calls-nav-buttons.d.ts +0 -5
  48. package/dist/react19/types/components/calls/calls-navigation/calls-nav-hung-up.d.ts +0 -2
  49. package/dist/react19/types/components/calls/calls-navigation/calls-nav-screen-share.d.ts +0 -2
  50. package/dist/react19/types/components/calls/calls-navigation/calls-nav-toggle-camera.d.ts +0 -2
  51. package/dist/react19/types/components/calls/calls-navigation/calls-nav-toggle-mic.d.ts +0 -2
  52. package/dist/react19/types/components/home/home.d.ts +0 -2
  53. package/dist/react19/types/components/home/main/chat-header/chat-header-avatar.d.ts +0 -3
  54. package/dist/react19/types/components/home/main/chat-header/chat-header-back-button.d.ts +0 -3
  55. package/dist/react19/types/components/home/main/chat-header/chat-header-buttons.d.ts +0 -3
  56. package/dist/react19/types/components/home/main/chat-header/chat-header-titles.d.ts +0 -3
  57. package/dist/react19/types/components/home/main/chat-header/chat-header.d.ts +0 -3
  58. package/dist/react19/types/components/home/main/chat-header.d.ts +0 -3
  59. package/dist/react19/types/components/home/main/chat-info-members.d.ts +0 -3
  60. package/dist/react19/types/components/home/main/chat-info-user.d.ts +0 -7
  61. package/dist/react19/types/components/home/main/chat-input.d.ts +0 -8
  62. package/dist/react19/types/components/home/main/chat-messages-list.d.ts +0 -6
  63. package/dist/react19/types/components/home/main/group-member.d.ts +0 -8
  64. package/dist/react19/types/components/home/main/main.d.ts +0 -2
  65. package/dist/react19/types/components/home/main/message/message-attachment.d.ts +0 -9
  66. package/dist/react19/types/components/home/main/message/message-body.d.ts +0 -6
  67. package/dist/react19/types/components/home/main/message/message-status-mark.d.ts +0 -6
  68. package/dist/react19/types/components/home/main/message/message-url-preview.d.ts +0 -7
  69. package/dist/react19/types/components/home/main/message/message.d.ts +0 -15
  70. package/dist/react19/types/components/home/main/my-profile/my-block-list-item.d.ts +0 -7
  71. package/dist/react19/types/components/home/main/my-profile/my-block-list.d.ts +0 -3
  72. package/dist/react19/types/components/home/main/my-profile/my-profile-settings.d.ts +0 -2
  73. package/dist/react19/types/components/home/main/my-profile/my-profile.d.ts +0 -3
  74. package/dist/react19/types/components/home/main/profile-info.d.ts +0 -6
  75. package/dist/react19/types/components/home/main/quick-actions.d.ts +0 -5
  76. package/dist/react19/types/components/home/main/report-user-dialog.d.ts +0 -6
  77. package/dist/react19/types/components/home/main/user-status/user-status-badge.d.ts +0 -7
  78. package/dist/react19/types/components/home/main/user-status/user-status-select.d.ts +0 -3
  79. package/dist/react19/types/components/home/main/user-status/user-status.d.ts +0 -6
  80. package/dist/react19/types/components/home/sidebar/chat-item.d.ts +0 -8
  81. package/dist/react19/types/components/home/sidebar/chats-list.d.ts +0 -3
  82. package/dist/react19/types/components/home/sidebar/new-chat/create-group-chat/create-group-chat.d.ts +0 -8
  83. package/dist/react19/types/components/home/sidebar/new-chat/create-group-chat/participant.d.ts +0 -7
  84. package/dist/react19/types/components/home/sidebar/new-chat/new-chat-dialog.d.ts +0 -9
  85. package/dist/react19/types/components/home/sidebar/new-chat/searched-user.d.ts +0 -13
  86. package/dist/react19/types/components/home/sidebar/sidebar.d.ts +0 -2
  87. package/dist/react19/types/components/home/sidebar/tabs/chats-tab.d.ts +0 -2
  88. package/dist/react19/types/components/home/sidebar/tabs/users-tab.d.ts +0 -2
  89. package/dist/react19/types/components/home/sidebar/user-item.d.ts +0 -9
  90. package/dist/react19/types/components/home/sidebar/users-list.d.ts +0 -6
  91. package/dist/react19/types/components/shadcn-ui/alert-dialog.d.ts +0 -14
  92. package/dist/react19/types/components/shadcn-ui/avatar.d.ts +0 -6
  93. package/dist/react19/types/components/shadcn-ui/badge.d.ts +0 -9
  94. package/dist/react19/types/components/shadcn-ui/button.d.ts +0 -10
  95. package/dist/react19/types/components/shadcn-ui/dialog.d.ts +0 -13
  96. package/dist/react19/types/components/shadcn-ui/dropdown-menu.d.ts +0 -25
  97. package/dist/react19/types/components/shadcn-ui/input.d.ts +0 -3
  98. package/dist/react19/types/components/shadcn-ui/label.d.ts +0 -4
  99. package/dist/react19/types/components/shadcn-ui/sonner.d.ts +0 -3
  100. package/dist/react19/types/components/shadcn-ui/switch.d.ts +0 -4
  101. package/dist/react19/types/components/shadcn-ui/tabs.d.ts +0 -7
  102. package/dist/react19/types/components/shadcn-ui/tooltip.d.ts +0 -7
  103. package/dist/react19/types/components/shared/alert-busy.d.ts +0 -2
  104. package/dist/react19/types/components/shared/avatar.d.ts +0 -15
  105. package/dist/react19/types/components/shared/chat-status-mark.d.ts +0 -2
  106. package/dist/react19/types/components/shared/confirmation-alert.d.ts +0 -8
  107. package/dist/react19/types/components/shared/empty-content-placeholder.d.ts +0 -7
  108. package/dist/react19/types/components/shared/loader.d.ts +0 -5
  109. package/dist/react19/types/components/widget/widget-app.d.ts +0 -8
  110. package/dist/react19/types/components/widget/widget-button.d.ts +0 -9
  111. package/dist/react19/types/components/widget/widget-calls.d.ts +0 -2
  112. package/dist/react19/types/components/widget/widget-messages-badge.d.ts +0 -5
  113. package/dist/react19/types/components/widget/widget-online-badge.d.ts +0 -5
  114. package/dist/react19/types/components/widget/widget-overlay.d.ts +0 -7
  115. package/dist/react19/types/components/widget/widget-portal.d.ts +0 -8
  116. package/dist/react19/types/components/widget/widget-shadow-root.d.ts +0 -6
  117. package/dist/react19/types/helpers/connectycube.d.ts +0 -47
  118. package/dist/react19/types/helpers/debounce.d.ts +0 -3
  119. package/dist/react19/types/helpers/i18n.d.ts +0 -2
  120. package/dist/react19/types/helpers/notifications.d.ts +0 -11
  121. package/dist/react19/types/helpers/throttle.d.ts +0 -3
  122. package/dist/react19/types/helpers/widget.d.ts +0 -9
  123. package/dist/react19/types/hooks/index.d.ts +0 -23
  124. package/dist/react19/types/hooks/store/useActiveTabsStore.d.ts +0 -15
  125. package/dist/react19/types/hooks/store/useAlertBusyStore.d.ts +0 -11
  126. package/dist/react19/types/hooks/store/useAppDefaultChatStore.d.ts +0 -21
  127. package/dist/react19/types/hooks/store/useAppInterfaceStore.d.ts +0 -31
  128. package/dist/react19/types/hooks/store/useAppNotificationStore.d.ts +0 -34
  129. package/dist/react19/types/hooks/store/useAppQuickActionsStore.d.ts +0 -17
  130. package/dist/react19/types/hooks/store/useAppSettingsStore.d.ts +0 -37
  131. package/dist/react19/types/hooks/store/useDraftMessagesStore.d.ts +0 -14
  132. package/dist/react19/types/hooks/store/useLinkPreviewStore.d.ts +0 -18
  133. package/dist/react19/types/hooks/store/useOnlineUsersCountStore.d.ts +0 -19
  134. package/dist/react19/types/hooks/store/useProfileStore.d.ts +0 -9
  135. package/dist/react19/types/hooks/store/useShadowRootStore.d.ts +0 -7
  136. package/dist/react19/types/hooks/store/useUnreadCountStore.d.ts +0 -8
  137. package/dist/react19/types/hooks/store/useUserSettingsStore.d.ts +0 -17
  138. package/dist/react19/types/hooks/useAppAuthorization.d.ts +0 -14
  139. package/dist/react19/types/hooks/useAppPresets.d.ts +0 -35
  140. package/dist/react19/types/hooks/useAudio.d.ts +0 -6
  141. package/dist/react19/types/hooks/useLastActivity.d.ts +0 -2
  142. package/dist/react19/types/hooks/useNotification.d.ts +0 -9
  143. package/dist/react19/types/hooks/usePageFocus.d.ts +0 -6
  144. package/dist/react19/types/hooks/useResizeScreenWidth.d.ts +0 -10
  145. package/dist/react19/types/hooks/useTypingStatusText.d.ts +0 -3
  146. package/dist/react19/types/index.d.ts +0 -10
  147. package/dist/react19/types/lib/utils.d.ts +0 -6
  148. package/dist/react19/types/locales/el/translation.json.d.ts +0 -76
  149. package/dist/react19/types/locales/en/translation.json.d.ts +0 -76
  150. package/dist/react19/types/locales/ua/translation.json.d.ts +0 -76
  151. package/dist/react19/types/tests/connectycube.test.d.ts +0 -1
  152. /package/dist/{react19/types/main.d.ts → types/tests/formatters.test.d.ts} +0 -0
@@ -0,0 +1,14 @@
1
+ import { default as React } from 'react';
2
+ import { AIDropdownMenuSubKeys } from '../../../../helpers/widget';
3
+ import { LanguageModelV2 } from '@ai-sdk/provider';
4
+ type AIDropdownChangeToneProps = {
5
+ activeKey: AIDropdownMenuSubKeys;
6
+ setActiveKey: (active: AIDropdownMenuSubKeys) => void;
7
+ enabled: boolean;
8
+ aiModel: LanguageModelV2;
9
+ message: string;
10
+ changeMessage: (message: string) => void;
11
+ setProcessing: (processing: boolean) => void;
12
+ };
13
+ declare const AIDropdownChangeTone: React.FC<AIDropdownChangeToneProps>;
14
+ export default AIDropdownChangeTone;
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { AIDropdownMenuSubKeys } from '../../../../helpers/widget';
3
+ import { LanguageModelV2 } from '@ai-sdk/provider';
4
+ type AIDropdownGetSummaryProps = {
5
+ activeKey: AIDropdownMenuSubKeys;
6
+ setActiveKey: (active: AIDropdownMenuSubKeys) => void;
7
+ enabled: boolean;
8
+ aiModel: LanguageModelV2;
9
+ };
10
+ declare const AIDropdownGetSummary: React.FC<AIDropdownGetSummaryProps>;
11
+ export default AIDropdownGetSummary;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ type ChatAIButtonProps = {
3
+ inputMessage: string;
4
+ changeInputMessage: (message: string) => void;
5
+ setProcessing: (processing: boolean) => void;
6
+ };
7
+ declare const ChatAIButton: React.FC<ChatAIButtonProps>;
8
+ export default ChatAIButton;
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ export interface ChatInputFileProps {
3
+ onSendAttachment: (files: File[]) => void;
4
+ }
5
+ declare const _default: React.NamedExoticComponent<ChatInputFileProps>;
6
+ export default _default;
@@ -3,6 +3,7 @@ import { Dialogs } from 'connectycube/types';
3
3
  export interface ChatInputProps {
4
4
  onSendMessage: (message: string, dialog?: Dialogs.Dialog) => void;
5
5
  onSendMessageWithAttachment: (files: File[]) => void;
6
+ setTextareaScrollOffset: React.Dispatch<React.SetStateAction<number>>;
6
7
  }
7
8
  declare const _default: React.NamedExoticComponent<ChatInputProps>;
8
9
  export default _default;
@@ -1,6 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  type ChatMessagesListProps = {
3
3
  onSendMessage: (text: string) => void;
4
+ textareaScrollOffset: number;
4
5
  };
5
6
  declare const ChatMessagesList: React.FC<ChatMessagesListProps>;
6
7
  export default ChatMessagesList;
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ import { CallType } from 'connectycube/types';
3
+ import { CallHistorySignal } from '../../../../hooks/useCallHistory';
4
+ export interface CallMessageProps {
5
+ signal: CallHistorySignal;
6
+ duration: number;
7
+ callType: CallType;
8
+ sentTime: string;
9
+ isCurrentUserSender: boolean;
10
+ isLastMessage: boolean;
11
+ }
12
+ declare const CallMessage: React.FC<CallMessageProps>;
13
+ export default CallMessage;
@@ -0,0 +1,8 @@
1
+ type MessageTextSummaryProps = {
2
+ stickToBottom?: (skipOnce?: boolean) => void;
3
+ loading?: boolean;
4
+ message: string;
5
+ id: string;
6
+ };
7
+ declare const MessageTextSummary: React.FC<MessageTextSummaryProps>;
8
+ export default MessageTextSummary;
@@ -9,6 +9,7 @@ export interface MessageProps {
9
9
  isSameUserSender: boolean;
10
10
  isCurrentUserSender: boolean;
11
11
  enableUrlPreview?: boolean;
12
+ sentTime: string;
12
13
  stickToBottom?: (id: string, skipOnce?: boolean) => void;
13
14
  }
14
15
  declare const Message: React.FC<MessageProps>;
@@ -0,0 +1,5 @@
1
+ export interface SingleViewFormProps {
2
+ onSendMessage: (text: string) => void;
3
+ }
4
+ declare const SingleViewForm: React.FC<SingleViewFormProps>;
5
+ export default SingleViewForm;
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ declare function Card({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
3
+ declare function CardHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
4
+ declare function CardTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
5
+ declare function CardDescription({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
6
+ declare function CardAction({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
7
+ declare function CardContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
8
+ declare function CardFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
9
+ export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
+ declare function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Checkbox };
@@ -0,0 +1,50 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare const shadcnClassNames: {
3
+ alertDialogOverlay: ClassValue;
4
+ alertDialogContent: ClassValue;
5
+ alertDialogHeader: ClassValue;
6
+ alertDialogFooter: ClassValue;
7
+ alertDialogTitle: ClassValue;
8
+ alertDialogDescription: ClassValue;
9
+ avatar: ClassValue;
10
+ avatarImage: ClassValue;
11
+ avatarFallback: ClassValue;
12
+ badge: ClassValue;
13
+ button: ClassValue;
14
+ card: ClassValue;
15
+ cardHeader: ClassValue;
16
+ cardTitle: ClassValue;
17
+ cardDescription: ClassValue;
18
+ cardAction: ClassValue;
19
+ cardContent: ClassValue;
20
+ cardFooter: ClassValue;
21
+ checkbox: ClassValue;
22
+ dialogOverlay: ClassValue;
23
+ dialogContent: ClassValue;
24
+ dialogHeader: ClassValue;
25
+ dialogFooter: ClassValue;
26
+ dialogTitle: ClassValue;
27
+ dialogDescription: ClassValue;
28
+ dropdownMenuContent: ClassValue;
29
+ dropdownMenuItem: ClassValue;
30
+ dropdownMenuCheckboxItem: ClassValue;
31
+ dropdownMenuRadioItem: ClassValue;
32
+ dropdownMenuLabel: ClassValue;
33
+ dropdownMenuSeparator: ClassValue;
34
+ dropdownMenuShortcut: ClassValue;
35
+ dropdownMenuSubTrigger: ClassValue;
36
+ dropdownMenuSubContent: ClassValue;
37
+ input: ClassValue[];
38
+ inputSelection: {
39
+ blue: string;
40
+ };
41
+ label: ClassValue;
42
+ skeleton: ClassValue;
43
+ switch: ClassValue;
44
+ switchThumb: ClassValue;
45
+ tabs: ClassValue;
46
+ tabsList: ClassValue;
47
+ tabsTrigger: ClassValue;
48
+ tabsContent: ClassValue;
49
+ tooltipContent: ClassValue;
50
+ };
@@ -0,0 +1,2 @@
1
+ declare function Skeleton({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
2
+ export { Skeleton };
@@ -3,6 +3,7 @@ type WidgetAppProps = {
3
3
  name?: string;
4
4
  avatar?: string;
5
5
  userProfileLink?: string;
6
+ enabledUserLogin?: boolean;
6
7
  };
7
8
  declare const WidgetApp: React.FC<WidgetAppProps>;
8
9
  export default WidgetApp;
@@ -0,0 +1,2 @@
1
+ declare const WidgetAuth: React.FC;
2
+ export default WidgetAuth;
@@ -0,0 +1,2 @@
1
+ declare const WidgetError: React.FC;
2
+ export default WidgetError;
@@ -9,17 +9,21 @@ export declare enum USER_STATUS {
9
9
  AWAY = "Away"
10
10
  }
11
11
  export declare const SESSION_KEY = "@connectycube/chat-widget:session";
12
+ export declare const GUEST_KEY = "@connectycube/chat-widget:guest";
13
+ export declare const REMEMBER_ME_KEY = "@connectycube/chat-widget:rememberMe";
12
14
  export declare const initConnectyCubeSDK: (credentials: Config.Credentials, config?: Config.Options) => void;
13
15
  export declare const tryReuseSession: (userName?: string, userId?: string, userAvatar?: string, userProfileLink?: string) => Promise<boolean>;
14
16
  export declare const restoreSession: () => Promise<Auth.Session | null>;
15
17
  export declare const createUserSession: (login: string, password: string) => Promise<Auth.Session>;
18
+ export declare const createGuestSession: (full_name: string) => Promise<Auth.Session>;
16
19
  export declare const createSession: (userId?: string, userName?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session | null>;
17
20
  export declare const destroyUserSession: () => Promise<void>;
21
+ export declare const getServiceSession: () => Auth.Session | null;
18
22
  export declare const userSignup: (login: string, password: string, name?: string, externalId?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
19
23
  export declare const upsertConnectyCubeConfig: (config?: Config.Options) => void;
20
24
  export declare const autoconnect: (connect: (credentials: Chat.ConnectionParams) => Promise<boolean>, session?: Auth.Session | null) => Promise<boolean>;
21
25
  export declare const updateUserProfileIfNeeded: (session: Auth.Session, name?: string, externalId?: string, avatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
22
- export declare const setSessionToLocalStorage: (session: Auth.Session) => void;
26
+ export declare const setSessionToLocalStorage: (session: Auth.Session, ignore?: boolean) => void;
23
27
  export declare const getSessionFromLocalStorage: () => Auth.Session | null;
24
28
  export declare const clearSessionInLocalStorage: () => void;
25
29
  export declare const getCurrentUser: () => Users.User | null | undefined;
@@ -45,3 +49,8 @@ export declare const createUserReport: (reportedUserId: number, reason: string)
45
49
  export declare const subscribeToPushNotifications: (pushSubscriptionData?: PushSubscriptionData) => Promise<PushNotifications.Subscription | undefined>;
46
50
  export declare const unsubscribeFromPushNotifications: () => Promise<EmptyResponse[]>;
47
51
  export declare const isCallsSupported: boolean;
52
+ export declare const setRememberMe: (rememberMe?: boolean) => void;
53
+ export declare const setGuestUser: (isGuest?: boolean) => void;
54
+ export declare const isRememberMe: () => boolean;
55
+ export declare const isGuestUser: () => boolean;
56
+ export declare const isTempSession: () => boolean;
@@ -0,0 +1 @@
1
+ export declare const formatDuration: (seconds: number) => string;
@@ -1,2 +1,7 @@
1
1
  import { default as i18n } from 'i18next';
2
+ export type Language = 'English' | 'Greek' | 'Ukrainian';
3
+ export type Languages = {
4
+ [key in string]: Language;
5
+ };
6
+ export declare const languages: Languages;
2
7
  export default i18n;
@@ -1,3 +1,5 @@
1
+ import { Users } from 'connectycube/types';
2
+ export declare const buildExternalIdFromUsers: (users?: Users.User[]) => string;
1
3
  export declare const sleep: (ms: number) => Promise<void>;
2
4
  export declare const stripSpecificTailwindSupports: (css: string) => string;
3
5
  export declare const isBrowser: boolean;
@@ -7,3 +9,23 @@ export declare enum dataPrefix {
7
9
  }
8
10
  export declare const widgetFontSize = "15px";
9
11
  export declare const widgetFontWeight = "400";
12
+ export declare const widgetExternalIdPrefix = "external_id";
13
+ export declare const AI_CURRENT_USER_POSTFIX = "::current_user";
14
+ export declare enum AIDropdownMenuSubKeys {
15
+ GET_SUMMARY = "ai:get-summary",
16
+ CHANGE_TONE = "ai:change-tone",
17
+ DEFAULT = "ai:default"
18
+ }
19
+ export declare enum ChatSummaryFilters {
20
+ LAST_7_DAYS = "last-7-days",
21
+ LAST_DAY = "last-day",
22
+ UNREADS = "unreads"
23
+ }
24
+ export declare enum InputMessageTones {
25
+ POSITIVE = "positive",
26
+ NEGATIVE = "negative",
27
+ CRINGE = "cringe"
28
+ }
29
+ export declare enum TempMessageTags {
30
+ AI_TEXT_SUMMARY = "ai-text-summary"
31
+ }
@@ -1,11 +1,12 @@
1
1
  export declare const resetStore: (force?: boolean) => void;
2
2
  export { default as useActiveTabsStore } from './store/useActiveTabsStore';
3
3
  export { default as useAlertBusyStore } from './store/useAlertBusyStore';
4
+ export { default as useAppAIStore } from './store/useAppAIStore';
4
5
  export { default as useAppDefaultChatStore } from './store/useAppDefaultChatStore';
5
6
  export { default as useAppInterfaceStore } from './store/useAppInterfaceStore';
6
- export { default as useAppSettingsStore } from './store/useAppSettingsStore';
7
7
  export { default as useAppNotificationStore } from './store/useAppNotificationStore';
8
8
  export { default as useAppQuickActionsStore } from './store/useAppQuickActionsStore';
9
+ export { default as useAppSettingsStore } from './store/useAppSettingsStore';
9
10
  export { default as useDraftMessagesStore } from './store/useDraftMessagesStore';
10
11
  export { default as useOnlineUsersCountStore } from './store/useOnlineUsersCountStore';
11
12
  export { default as useLinkPreviewStore } from './store/useLinkPreviewStore';
@@ -16,6 +17,7 @@ export { default as useUserSettingsStore } from './store/useUserSettingsStore';
16
17
  export { default as useAppAuthorization } from './useAppAuthorization';
17
18
  export { default as useAppPresets } from './useAppPresets';
18
19
  export { default as useAudio } from './useAudio';
20
+ export { default as useCallHistory } from './useCallHistory';
19
21
  export { default as useLastActivity } from './useLastActivity';
20
22
  export { default as useNotification } from './useNotification';
21
23
  export { default as usePageFocus } from './usePageFocus';
@@ -0,0 +1,18 @@
1
+ export type AppAIStoreStateProps = {
2
+ changeMessageTone: boolean;
3
+ textSummarization: boolean;
4
+ apiKey: string;
5
+ };
6
+ interface AppAIStoreState extends AppAIStoreStateProps {
7
+ setChangeMessageTone: (changeMessageTone: boolean) => void;
8
+ setTextSummarization: (textSummarization: boolean) => void;
9
+ setApiKey: (apiKey: string) => void;
10
+ resetChangeMessageTone: () => void;
11
+ resetTextSummarization: () => void;
12
+ resetApiKey: () => void;
13
+ }
14
+ export declare const appAIStoreInitialState: AppAIStoreStateProps;
15
+ declare const useAppAIStore: import('zustand').UseBoundStore<import('zustand').StoreApi<AppAIStoreState>>;
16
+ export declare const setAppDefaultChatStore: (state: Partial<AppAIStoreStateProps>) => void;
17
+ export declare const resetAppDefaultChatStore: () => void;
18
+ export default useAppAIStore;
@@ -1,18 +1,31 @@
1
+ export declare enum DefaultChatTypes {
2
+ SINGLE = "1on1",
3
+ GROUP = "group"
4
+ }
1
5
  export type DefaultChat = {
2
6
  id: string;
3
- opponentUserId: string;
4
- type: '1on1' | 'group';
7
+ opponentUserId?: string | string[];
8
+ type: DefaultChatTypes;
5
9
  name?: string;
10
+ photo?: string;
6
11
  metadata?: {
7
12
  [key: string]: string;
8
13
  };
9
14
  };
15
+ export type SingleViewChat = {
16
+ opponentUserIds: string | string[];
17
+ name?: string;
18
+ photo?: string;
19
+ };
10
20
  export type AppDefaultChatStateProps = {
11
21
  defaultChat?: DefaultChat | null;
22
+ singleViewChat: SingleViewChat;
12
23
  };
13
24
  interface AppDefaultChatState extends AppDefaultChatStateProps {
14
25
  setDefaultChat: (defaultChat?: DefaultChat) => void;
26
+ setSingleViewChat: (singleViewChat?: SingleViewChat) => void;
15
27
  resetDefaultChat: () => void;
28
+ resetSingleViewChat: () => void;
16
29
  }
17
30
  export declare const appDefaultChatInitialState: AppDefaultChatStateProps;
18
31
  declare const useDefaultChatStore: import('zustand').UseBoundStore<import('zustand').StoreApi<AppDefaultChatState>>;
@@ -1,28 +1,34 @@
1
1
  export type AppInterfaceStoreProps = {
2
2
  opened: boolean;
3
3
  splitView: boolean;
4
+ singleView: boolean;
4
5
  showChatStatus: boolean;
5
6
  showOnlineUsersTab: boolean;
6
7
  hideNewChatButton: boolean;
7
8
  hideNewUserChatOption: boolean;
8
9
  hideNewGroupChatOption: boolean;
10
+ imgLogoSource: string;
9
11
  };
10
12
  export interface AppInterfaceStoreState extends AppInterfaceStoreProps {
11
13
  setOpened: (opened: boolean) => void;
12
14
  setSplitView: (splitView: boolean) => void;
15
+ setSingleView: (singleView: boolean) => void;
13
16
  setShowChatStatus: (showChatStatus: boolean) => void;
14
17
  setShowOnlineUsersTab: (showOnlineUsersTab: boolean) => void;
15
18
  setHideNewChatButton: (hideNewChatButton: boolean) => void;
16
19
  setHideNewUserChatOption: (hideNewUserChatOption: boolean) => void;
17
20
  setHideNewGroupChatOption: (hideNewGroupChatOption: boolean) => void;
21
+ setImgLogoSource: (imgLogoSource: string) => void;
18
22
  toggleOpened: () => void;
19
23
  resetOpened: () => void;
20
24
  resetSplitView: () => void;
25
+ resetSingleView: () => void;
21
26
  resetShowChatStatus: () => void;
22
27
  resetShowOnlineUsersTab: () => void;
23
28
  resetHideNewChatButton: () => void;
24
29
  resetHideNewUserChatOption: () => void;
25
30
  resetHideNewGroupChatOption: () => void;
31
+ resetImgLogoSource: () => void;
26
32
  }
27
33
  export declare const appInterfaceStoreInitialState: AppInterfaceStoreProps;
28
34
  declare const useAppInterfaceStore: import('zustand').UseBoundStore<import('zustand').StoreApi<AppInterfaceStoreState>>;
@@ -25,8 +25,8 @@ export declare const appNotificationStoreInitialState: {
25
25
  showNotifications: boolean;
26
26
  playSound: boolean;
27
27
  webPushNotifications: boolean;
28
- webPushVapidPublicKey: undefined;
29
- serviceWorkerPath: undefined;
28
+ webPushVapidPublicKey: any;
29
+ serviceWorkerPath: any;
30
30
  };
31
31
  declare const useAppNotificationStore: import('zustand').UseBoundStore<import('zustand').StoreApi<AppNotificationStoreState>>;
32
32
  export declare const setAppNotificationStore: (state: Partial<AppNotificationStoreProps>) => void;
@@ -1,6 +1,8 @@
1
1
  export type AppSettingStoreProps = {
2
- attachmentsAccept: string;
3
- attachmentsAcceptList: string[];
2
+ userAuthorized: boolean;
3
+ attachmentsAccept: string | null;
4
+ attachmentsAcceptList: string[] | null;
5
+ enableUserLogin: boolean;
4
6
  enableCalls: boolean;
5
7
  enableUserStatuses: boolean;
6
8
  enableLastSeen: boolean;
@@ -8,9 +10,12 @@ export type AppSettingStoreProps = {
8
10
  enableBlockList: boolean;
9
11
  enableUrlPreview: boolean;
10
12
  limitUrlsPreviews: number;
13
+ termsAndConditions?: string;
11
14
  };
12
15
  export interface AppSettingStoreState extends AppSettingStoreProps {
13
- setAttachmentsAccept: (attachmentsAccept: string) => void;
16
+ setUserAuthorized: (userAuthorized: boolean) => void;
17
+ setAttachmentsAccept: (attachmentsAccept: string | null) => void;
18
+ setEnableUserLogin: (enableUserLogin: boolean) => void;
14
19
  setEnableCalls: (enableCalls: boolean) => void;
15
20
  setEnableUserStatuses: (enableUserStatuses: boolean) => void;
16
21
  setEnableLastSeen: (enableLastSeen: boolean) => void;
@@ -18,7 +23,10 @@ export interface AppSettingStoreState extends AppSettingStoreProps {
18
23
  setEnableBlockList: (enableBlockList: boolean) => void;
19
24
  setEnableUrlPreview: (enableUrlPreview: boolean) => void;
20
25
  setLimitUrlsPreviews: (limitUrlsPreviews: number) => void;
26
+ setTermsAndConditions: (termsAndConditions?: string) => void;
27
+ resetUserAuthorized: () => void;
21
28
  resetAttachmentsAccept: () => void;
29
+ resetEnableUserLogin: () => void;
22
30
  resetEnableCalls: () => void;
23
31
  resetEnableUserStatuses: () => void;
24
32
  resetEnableLastSeen: () => void;
@@ -26,6 +34,7 @@ export interface AppSettingStoreState extends AppSettingStoreProps {
26
34
  resetEnableBlockList: () => void;
27
35
  resetEnableUrlPreview: () => void;
28
36
  resetLimitUrlsPreviews: () => void;
37
+ resetTermsAndConditions: () => void;
29
38
  isSupportedFile: (file: File) => boolean;
30
39
  }
31
40
  export declare const appSettingsStoreInitialState: AppSettingStoreProps;
@@ -33,5 +42,5 @@ declare const useAppSettingsStore: import('zustand').UseBoundStore<import('zusta
33
42
  export declare const setAppSettingsStore: (state: Partial<AppSettingStoreProps>) => void;
34
43
  export declare const resetAppSettingsStore: () => void;
35
44
  export default useAppSettingsStore;
36
- export declare const getAttachmentsAcceptList: (attachmentsAccept: string) => string[];
45
+ export declare const getAttachmentsAcceptList: (attachmentsAccept: string | null) => string[] | null;
37
46
  export declare const isSupportedFileMimeType: (file: File, attachmentsAcceptList: AppSettingStoreState["attachmentsAcceptList"]) => boolean;
@@ -9,6 +9,7 @@ type AppAuthorizationProps = {
9
9
  creds: Config.Credentials;
10
10
  config?: Config.Options;
11
11
  user?: AppUser;
12
+ enableUserLogin: boolean;
12
13
  };
13
- declare const useAppAuthorization: ({ creds, config, user }: AppAuthorizationProps) => void;
14
+ declare const useAppAuthorization: ({ creds, config, user, enableUserLogin }: AppAuthorizationProps) => void;
14
15
  export default useAppAuthorization;
@@ -1,21 +1,24 @@
1
- import { DefaultChat } from './store/useAppDefaultChatStore';
1
+ import { DefaultChat, SingleViewChat } from './store/useAppDefaultChatStore';
2
2
  import { QuickActions } from './store/useAppQuickActionsStore';
3
3
  export type AppPresets = {
4
4
  open?: boolean;
5
5
  embedView?: boolean;
6
6
  splitView?: boolean;
7
+ singleView?: boolean;
7
8
  showChatStatus?: boolean;
8
9
  showOnlineUsersTab?: boolean;
9
10
  hideNewChatButton?: boolean;
10
11
  hideNewUserChatOption?: boolean;
11
12
  hideNewGroupChatOption?: boolean;
13
+ imgLogoSource?: string;
12
14
  muted?: boolean;
13
15
  showNotifications?: boolean;
14
16
  playSound?: boolean;
15
17
  webPushNotifications?: boolean;
16
18
  webPushVapidPublicKey?: string;
17
19
  serviceWorkerPath?: string | URL;
18
- attachmentsAccept?: string;
20
+ attachmentsAccept?: string | null;
21
+ enableUserLogin?: boolean;
19
22
  enableCalls?: boolean;
20
23
  enableUserStatuses?: boolean;
21
24
  enableLastSeen?: boolean;
@@ -25,11 +28,18 @@ export type AppPresets = {
25
28
  getOnlineUsersInterval?: number;
26
29
  enableUrlPreview?: boolean;
27
30
  limitUrlsPreviews?: number;
31
+ singleViewChat?: SingleViewChat;
32
+ termsAndConditions?: string;
28
33
  quickActions?: QuickActions;
29
34
  defaultChat?: DefaultChat | null;
35
+ ai?: {
36
+ changeMessageTone?: boolean;
37
+ textSummarization?: boolean;
38
+ apiKey?: string;
39
+ };
30
40
  onUnreadCountChange?: (count: number) => void;
31
41
  onOnlineUsersCountChange?: (count: number) => void;
32
42
  onOpenChange?: (open: boolean) => void;
33
43
  };
34
- declare const useAppPresets: ({ embedView, open, splitView, showChatStatus, showOnlineUsersTab, hideNewChatButton, hideNewUserChatOption, hideNewGroupChatOption, muted, showNotifications, playSound, webPushNotifications, serviceWorkerPath, webPushVapidPublicKey, attachmentsAccept, enableCalls, enableUserStatuses, enableLastSeen, enableContentReporting, enableBlockList, enableUrlPreview, limitUrlsPreviews, quickActions, defaultChat, enableOnlineUsersBadge, getOnlineUsersInterval, onUnreadCountChange, onOnlineUsersCountChange, onOpenChange, }: AppPresets) => void;
44
+ declare const useAppPresets: ({ open, embedView, splitView, singleView, showChatStatus, showOnlineUsersTab, hideNewChatButton, hideNewUserChatOption, hideNewGroupChatOption, imgLogoSource, muted, showNotifications, playSound, webPushNotifications, serviceWorkerPath, webPushVapidPublicKey, attachmentsAccept, enableUserLogin, enableCalls, enableUserStatuses, enableLastSeen, enableContentReporting, enableBlockList, enableUrlPreview, limitUrlsPreviews, termsAndConditions, quickActions, defaultChat, singleViewChat, enableOnlineUsersBadge, getOnlineUsersInterval, ai, onUnreadCountChange, onOnlineUsersCountChange, onOpenChange, }: AppPresets) => void;
35
45
  export default useAppPresets;
@@ -0,0 +1,15 @@
1
+ export declare enum CallHistorySignal {
2
+ ACCEPT = "accept",
3
+ REJECT = "reject",
4
+ NOT_ANSWER = "notAnswer",
5
+ HUNG_UP = "hungUp",
6
+ CANCEL = "cancel"
7
+ }
8
+ export type CallHistoryHook = {
9
+ sendAcceptCall: () => void;
10
+ sendRejectCall: () => void;
11
+ sendHungUpCall: () => void;
12
+ sendNotAnswerCall: () => void;
13
+ };
14
+ declare function useCallHistory(): CallHistoryHook;
15
+ export default useCallHistory;
@@ -69,7 +69,65 @@ declare const _default: {
69
69
  "Accept": "Αποδοχή",
70
70
  "Reject": "Απόρριψη",
71
71
  "RejectedCall": "Ο χρήστης {{name}} απέρριψε την κλήση",
72
- "MissedCall": "Αναπάντητη κλήση από τον χρήστη {{name}}"
72
+ "MissedCall": "Αναπάντητη κλήση από τον χρήστη {{name}}",
73
+ "AuthForm": {
74
+ "Login": "Σύνδεση",
75
+ "Password": "Κωδικός πρόσβασης",
76
+ "Register": "Εγγραφή",
77
+ "Registration": "Εγγραφή",
78
+ "LoginRequired": "Το όνομα χρήστη είναι υποχρεωτικό",
79
+ "LoginMinLimit": "Το όνομα χρήστη πρέπει να έχει τουλάχιστον {{limit}} χαρακτήρες",
80
+ "LoginMaxLimit": "Το όνομα χρήστη πρέπει να έχει το πολύ {{limit}} χαρακτήρες",
81
+ "PasswordRequired": "Ο κωδικός πρόσβασης είναι υποχρεωτικός",
82
+ "PasswordMinLimit": "Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον {{limit}} χαρακτήρες",
83
+ "PasswordMaxLimit": "Ο κωδικός πρόσβασης πρέπει να έχει το πολύ {{limit}} χαρακτήρες",
84
+ "LoginDescription": "Εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασης για να αποκτήσετε πρόσβαση στον λογαριασμό σας",
85
+ "RegisterDescription": "Συμπληρώστε την παρακάτω φόρμα για να εγγραφείτε",
86
+ "ToRegister?": "Δεν έχετε λογαριασμό;",
87
+ "ToLogin?": "Έχετε ήδη λογαριασμό;"
88
+ },
89
+ "SingleViewForm": {
90
+ "Title": "Υποβάλετε τα στοιχεία επικοινωνίας σας για να ξεκινήσετε μια συνομιλία",
91
+ "Subtitle": "Δεν θα κοινοποιήσουμε τη διεύθυνση email σας. Η διεύθυνση email σας χρησιμοποιείται αποκλειστικά για να επικοινωνήσουμε μαζί σας.",
92
+ "NamePlaceholder": "Όνομα",
93
+ "NameRequired": "Το όνομα είναι υποχρεωτικό",
94
+ "EmailPlaceholder": "E-mail",
95
+ "EmailRequired": "Απαιτείται email",
96
+ "Emailnvalid": "Μη έγκυρη μορφή email",
97
+ "AcceptTermsAndConditions": "Αποδοχή όρων και προϋποθέσεων",
98
+ "AcceptTermsAndConditionsError": "Πρέπει να αποδεχτείτε τους όρους και τις προϋποθέσεις",
99
+ "TermsAndConditionsText": "Κάνοντας κλικ σε αυτό το πλαίσιο, συμφωνείτε με τους",
100
+ "TermsAndConditionsLink": "όρους και προϋποθέσεις",
101
+ "RememberMe": "Να με θυμάσαι",
102
+ "RememberMeText": "Αυτή είναι η προσωπική μου συσκευή",
103
+ "Next": "Επόμενο"
104
+ },
105
+ "SingleViewChatError": "Δεν βρέθηκαν αντίπαλοι για τη συνομιλία",
106
+ "Information": "Πληροφορίες",
107
+ "AI": {
108
+ "GetSummary": "Λήψη σύνοψης",
109
+ "ChangeMessageTone": "Αλλαγή τόνου μηνύματος",
110
+ "SummaryMessageTitle": "Μόνο εσείς μπορείτε να δείτε αυτό το μήνυμα",
111
+ "forLast7Days": "για τις τελευταίες 7 ημέρες",
112
+ "forLastDay": "για την τελευταία ημέρα",
113
+ "forUnreads": "για μη αναγνωσμένα",
114
+ "MessageTone": "Αλλαγή τόνου μηνύματος",
115
+ "EmptyMessage": "Δεν είναι δυνατή η αλλαγή του τόνου ενός κενού μηνύματος",
116
+ "positive": "θετικός",
117
+ "negative": "αρνητικός",
118
+ "cringe": "κρίμα"
119
+ },
120
+ "CallHistory": {
121
+ "RejectedIncoming": "Απορρίφθηκε εισερχόμενη κλήση",
122
+ "RejectedOutgoing": "Απορρίφθηκε εξερχόμενη κλήση",
123
+ "Unanswered": "Μη απαντημένη κλήση",
124
+ "Missed": "Αναπάντητη κλήση",
125
+ "Canceled": "Ακυρώθηκε",
126
+ "Ended": "Ολοκληρώθηκε",
127
+ "videoCall": "βιντεοκλήση",
128
+ "audioCall": "ηχητική κλήση",
129
+ "defaultCall": "κλήση"
130
+ }
73
131
  }
74
132
  ;
75
133