@connectycube/chat-widget 0.28.0 → 0.30.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 (54) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +7 -0
  3. package/dist/index.es.js +12392 -11854
  4. package/dist/index.umd.js +76 -76
  5. package/dist/react19/index.es.js +12238 -11700
  6. package/dist/react19/types/components/calls/calls-confirm-incoming.d.ts +2 -0
  7. package/dist/react19/types/components/calls/calls-fullscreen-stream.d.ts +6 -0
  8. package/dist/react19/types/components/calls/calls-header-buttons.d.ts +3 -0
  9. package/dist/react19/types/components/calls/calls-modal-screen.d.ts +2 -0
  10. package/dist/react19/types/components/calls/calls-navigation/calls-nav-buttons.d.ts +5 -0
  11. package/dist/react19/types/components/calls/calls-navigation/calls-nav-hung-up.d.ts +2 -0
  12. package/dist/react19/types/components/calls/calls-navigation/calls-nav-screen-share.d.ts +2 -0
  13. package/dist/react19/types/components/calls/calls-navigation/calls-nav-toggle-camera.d.ts +2 -0
  14. package/dist/react19/types/components/calls/calls-navigation/calls-nav-toggle-mic.d.ts +2 -0
  15. package/dist/react19/types/components/home/main/chat-header/chat-header-avatar.d.ts +3 -0
  16. package/dist/react19/types/components/home/main/chat-header/chat-header-back-button.d.ts +3 -0
  17. package/dist/react19/types/components/home/main/chat-header/chat-header-buttons.d.ts +3 -0
  18. package/dist/react19/types/components/home/main/chat-header/chat-header-titles.d.ts +3 -0
  19. package/dist/react19/types/components/home/main/chat-header/chat-header.d.ts +3 -0
  20. package/dist/react19/types/components/home/main/message/message.d.ts +2 -0
  21. package/dist/react19/types/components/widget/widget-calls.d.ts +2 -0
  22. package/dist/react19/types/helpers/connectycube.d.ts +4 -3
  23. package/dist/react19/types/hooks/index.d.ts +1 -0
  24. package/dist/react19/types/hooks/store/useAppSettingsStore.d.ts +3 -0
  25. package/dist/react19/types/hooks/useAppPresets.d.ts +2 -1
  26. package/dist/react19/types/hooks/useAudio.d.ts +6 -0
  27. package/dist/react19/types/locales/el/translation.json.d.ts +7 -1
  28. package/dist/react19/types/locales/en/translation.json.d.ts +7 -1
  29. package/dist/react19/types/locales/ua/translation.json.d.ts +7 -1
  30. package/dist/types/components/calls/calls-confirm-incoming.d.ts +2 -0
  31. package/dist/types/components/calls/calls-fullscreen-stream.d.ts +6 -0
  32. package/dist/types/components/calls/calls-header-buttons.d.ts +3 -0
  33. package/dist/types/components/calls/calls-modal-screen.d.ts +2 -0
  34. package/dist/types/components/calls/calls-navigation/calls-nav-buttons.d.ts +5 -0
  35. package/dist/types/components/calls/calls-navigation/calls-nav-hung-up.d.ts +2 -0
  36. package/dist/types/components/calls/calls-navigation/calls-nav-screen-share.d.ts +2 -0
  37. package/dist/types/components/calls/calls-navigation/calls-nav-toggle-camera.d.ts +2 -0
  38. package/dist/types/components/calls/calls-navigation/calls-nav-toggle-mic.d.ts +2 -0
  39. package/dist/types/components/home/main/chat-header/chat-header-avatar.d.ts +3 -0
  40. package/dist/types/components/home/main/chat-header/chat-header-back-button.d.ts +3 -0
  41. package/dist/types/components/home/main/chat-header/chat-header-buttons.d.ts +3 -0
  42. package/dist/types/components/home/main/chat-header/chat-header-titles.d.ts +3 -0
  43. package/dist/types/components/home/main/chat-header/chat-header.d.ts +3 -0
  44. package/dist/types/components/home/main/message/message.d.ts +2 -0
  45. package/dist/types/components/widget/widget-calls.d.ts +2 -0
  46. package/dist/types/helpers/connectycube.d.ts +4 -3
  47. package/dist/types/hooks/index.d.ts +1 -0
  48. package/dist/types/hooks/store/useAppSettingsStore.d.ts +3 -0
  49. package/dist/types/hooks/useAppPresets.d.ts +2 -1
  50. package/dist/types/hooks/useAudio.d.ts +6 -0
  51. package/dist/types/locales/el/translation.json.d.ts +7 -1
  52. package/dist/types/locales/en/translation.json.d.ts +7 -1
  53. package/dist/types/locales/ua/translation.json.d.ts +7 -1
  54. package/package.json +16 -15
@@ -0,0 +1,2 @@
1
+ declare const CallsConfirmIncoming: React.FC;
2
+ export default CallsConfirmIncoming;
@@ -0,0 +1,6 @@
1
+ type CallsFullscreenStreamProps = {
2
+ fullscreenStream: React.ReactNode;
3
+ cornerStream: React.ReactNode;
4
+ };
5
+ declare const CallsFullscreenStream: React.FC<CallsFullscreenStreamProps>;
6
+ export default CallsFullscreenStream;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const CallsHeaderButtons: React.FC;
3
+ export default CallsHeaderButtons;
@@ -0,0 +1,2 @@
1
+ declare const CallsModalScreen: React.FC;
2
+ export default CallsModalScreen;
@@ -0,0 +1,5 @@
1
+ type CallsNavButtonsProps = {
2
+ customButton?: React.ReactNode;
3
+ };
4
+ declare const CallsNavButtons: React.FC<CallsNavButtonsProps>;
5
+ export default CallsNavButtons;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavHungUp: React.FC;
2
+ export default CallsNavHungUp;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavScreenShare: React.FC;
2
+ export default CallsNavScreenShare;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavToggleCamera: React.FC;
2
+ export default CallsNavToggleCamera;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavToggleMic: React.FC;
2
+ export default CallsNavToggleMic;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderAvatar: React.FC;
3
+ export default ChatHeaderAvatar;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderBackButton: React.FC;
3
+ export default ChatHeaderBackButton;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderButtons: React.FC;
3
+ export default ChatHeaderButtons;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderTitles: React.FC;
3
+ export default ChatHeaderTitles;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeader: React.FC;
3
+ export default ChatHeader;
@@ -4,7 +4,9 @@ export interface MessageProps {
4
4
  message: Messages.Message;
5
5
  senderName?: string;
6
6
  senderAvatar?: string | null;
7
+ isLastMessage: boolean;
7
8
  isPlaceholder: boolean;
9
+ isSameUserSender: boolean;
8
10
  isCurrentUserSender: boolean;
9
11
  }
10
12
  declare const Message: React.FC<MessageProps>;
@@ -0,0 +1,2 @@
1
+ declare const WidgetCalls: React.FC;
2
+ export default WidgetCalls;
@@ -11,13 +11,13 @@ export declare enum USER_STATUS {
11
11
  export declare const SESSION_KEY = "@connectycube/chat-widget:session";
12
12
  export declare const initConnectyCubeSDK: (credentials: Config.Credentials, config?: Config.Options) => void;
13
13
  export declare const tryReuseSession: (userName?: string, userId?: string, userAvatar?: string, userProfileLink?: string) => Promise<boolean>;
14
- export declare const tryRestoreSession: () => Promise<Auth.Session | null>;
14
+ export declare const restoreSession: () => Promise<Auth.Session | null>;
15
15
  export declare const createUserSession: (login: string, password: string) => Promise<Auth.Session>;
16
16
  export declare const createSession: (userId?: string, userName?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session | null>;
17
- export declare const restoreSession: (userId?: string, userName?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session | null>;
18
17
  export declare const destroyUserSession: () => Promise<void>;
19
18
  export declare const userSignup: (login: string, password: string, name?: string, externalId?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
20
- export declare const chatCredentials: () => Chat.ConnectionParams | null;
19
+ export declare const upsertConnectyCubeConfig: (config?: Config.Options) => void;
20
+ export declare const autoconnect: (connect: (credentials: Chat.ConnectionParams) => Promise<void>, session?: Auth.Session | null) => Promise<void>;
21
21
  export declare const updateUserProfileIfNeeded: (session: Auth.Session, name?: string, externalId?: string, avatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
22
22
  export declare const setSessionToLocalStorage: (session: Auth.Session) => void;
23
23
  export declare const getSessionFromLocalStorage: () => Auth.Session | null;
@@ -44,3 +44,4 @@ export declare const generateConnectyCubeLogin: (userId?: string) => string;
44
44
  export declare const createUserReport: (reportedUserId: number, reason: string) => Promise<import("connectycube/types").Data.DataRecord>;
45
45
  export declare const subscribeToPushNotifications: (pushSubscriptionData?: PushSubscriptionData) => Promise<PushNotifications.Subscription | undefined>;
46
46
  export declare const unsubscribeFromPushNotifications: () => Promise<EmptyResponse[]>;
47
+ export declare const isCallsSupported: boolean;
@@ -15,6 +15,7 @@ export { default as useUnreadCountStore } from './store/useUnreadCountStore';
15
15
  export { default as useUserSettingsStore } from './store/useUserSettingsStore';
16
16
  export { default as useAppAuthorization } from './useAppAuthorization';
17
17
  export { default as useAppPresets } from './useAppPresets';
18
+ export { default as useAudio } from './useAudio';
18
19
  export { default as useLastActivity } from './useLastActivity';
19
20
  export { default as useNotification } from './useNotification';
20
21
  export { default as usePageFocus } from './usePageFocus';
@@ -1,6 +1,7 @@
1
1
  export type AppSettingStoreProps = {
2
2
  attachmentsAccept: string;
3
3
  attachmentsAcceptList: string[];
4
+ enableCalls: boolean;
4
5
  enableUserStatuses: boolean;
5
6
  enableLastSeen: boolean;
6
7
  enableContentReporting: boolean;
@@ -10,6 +11,7 @@ export type AppSettingStoreProps = {
10
11
  };
11
12
  export interface AppSettingStoreState extends AppSettingStoreProps {
12
13
  setAttachmentsAccept: (attachmentsAccept: string) => void;
14
+ setEnableCalls: (enableCalls: boolean) => void;
13
15
  setEnableUserStatuses: (enableUserStatuses: boolean) => void;
14
16
  setEnableLastSeen: (enableLastSeen: boolean) => void;
15
17
  setEnableContentReporting: (enableContentReporting: boolean) => void;
@@ -17,6 +19,7 @@ export interface AppSettingStoreState extends AppSettingStoreProps {
17
19
  setEnableUrlPreview: (enableUrlPreview: boolean) => void;
18
20
  setLimitUrlsPreviews: (limitUrlsPreviews: number) => void;
19
21
  resetAttachmentsAccept: () => void;
22
+ resetEnableCalls: () => void;
20
23
  resetEnableUserStatuses: () => void;
21
24
  resetEnableLastSeen: () => void;
22
25
  resetEnableContentReporting: () => void;
@@ -16,6 +16,7 @@ export type AppPresets = {
16
16
  webPushVapidPublicKey?: string;
17
17
  serviceWorkerPath?: string | URL;
18
18
  attachmentsAccept?: string;
19
+ enableCalls?: boolean;
19
20
  enableUserStatuses?: boolean;
20
21
  enableLastSeen?: boolean;
21
22
  enableContentReporting?: boolean;
@@ -30,5 +31,5 @@ export type AppPresets = {
30
31
  onOnlineUsersCountChange?: (count: number) => void;
31
32
  onOpenChange?: (open: boolean) => void;
32
33
  };
33
- declare const useAppPresets: ({ embedView, open, splitView, showChatStatus, showOnlineUsersTab, hideNewChatButton, hideNewUserChatOption, hideNewGroupChatOption, muted, showNotifications, playSound, webPushNotifications, serviceWorkerPath, webPushVapidPublicKey, attachmentsAccept, enableUserStatuses, enableLastSeen, enableContentReporting, enableBlockList, enableUrlPreview, limitUrlsPreviews, quickActions, defaultChat, enableOnlineUsersBadge, getOnlineUsersInterval, onUnreadCountChange, onOnlineUsersCountChange, onOpenChange, }: AppPresets) => void;
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;
34
35
  export default useAppPresets;
@@ -0,0 +1,6 @@
1
+ export type AudioHook = {
2
+ play: (loop?: boolean) => void;
3
+ stop: () => void;
4
+ };
5
+ declare function useAudio(source: string): AudioHook;
6
+ export default useAudio;
@@ -62,7 +62,13 @@ declare const _default: {
62
62
  "Available": "Διαθέσιμος/η",
63
63
  "Busy": "Απασχολημένος/η",
64
64
  "Away": "Απουσιάζω",
65
- "Online": "Συνδεδεμένος/η"
65
+ "Online": "Συνδεδεμένος/η",
66
+ "IncomingAudioCall": "Εισερχόμενη κλήση ήχου από τον χρήστη {{name}}",
67
+ "IncomingVideoCall": "Εισερχόμενη κλήση βίντεο από τον χρήστη {{name}}",
68
+ "Accept": "Αποδοχή",
69
+ "Reject": "Απόρριψη",
70
+ "RejectedCall": "Ο χρήστης {{name}} απέρριψε την κλήση",
71
+ "MissedCall": "Αναπάντητη κλήση από τον χρήστη {{name}}"
66
72
  }
67
73
  ;
68
74
 
@@ -62,7 +62,13 @@ declare const _default: {
62
62
  "Available": "Available",
63
63
  "Busy": "Busy",
64
64
  "Away": "Away",
65
- "Online": "Online"
65
+ "Online": "Online",
66
+ "IncomingAudioCall": "Incoming audio call from {{name}}",
67
+ "IncomingVideoCall": "Incoming video call from {{name}}",
68
+ "Accept": "Accept",
69
+ "Reject": "Reject",
70
+ "RejectedCall": "{{name}} rejected the call",
71
+ "MissedCall": "Messed call from {{name}}"
66
72
  }
67
73
  ;
68
74
 
@@ -62,7 +62,13 @@ declare const _default: {
62
62
  "Available": "Присутній",
63
63
  "Busy": "Зайнятий",
64
64
  "Away": "Відсутній",
65
- "Online": "В мережі"
65
+ "Online": "В мережі",
66
+ "IncomingAudioCall": "Вхідний аудіо виклик від {{name}}",
67
+ "IncomingVideoCall": "Вхідний відео виклик від {{name}}",
68
+ "Accept": "Прийняти",
69
+ "Reject": "Відхилити",
70
+ "RejectedCall": "{{name}} відхилив виклик",
71
+ "MissedCall": "Пропущений виклик від {{name}}"
66
72
  }
67
73
  ;
68
74
 
@@ -0,0 +1,2 @@
1
+ declare const CallsConfirmIncoming: React.FC;
2
+ export default CallsConfirmIncoming;
@@ -0,0 +1,6 @@
1
+ type CallsFullscreenStreamProps = {
2
+ fullscreenStream: React.ReactNode;
3
+ cornerStream: React.ReactNode;
4
+ };
5
+ declare const CallsFullscreenStream: React.FC<CallsFullscreenStreamProps>;
6
+ export default CallsFullscreenStream;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const CallsHeaderButtons: React.FC;
3
+ export default CallsHeaderButtons;
@@ -0,0 +1,2 @@
1
+ declare const CallsModalScreen: React.FC;
2
+ export default CallsModalScreen;
@@ -0,0 +1,5 @@
1
+ type CallsNavButtonsProps = {
2
+ customButton?: React.ReactNode;
3
+ };
4
+ declare const CallsNavButtons: React.FC<CallsNavButtonsProps>;
5
+ export default CallsNavButtons;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavHungUp: React.FC;
2
+ export default CallsNavHungUp;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavScreenShare: React.FC;
2
+ export default CallsNavScreenShare;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavToggleCamera: React.FC;
2
+ export default CallsNavToggleCamera;
@@ -0,0 +1,2 @@
1
+ declare const CallsNavToggleMic: React.FC;
2
+ export default CallsNavToggleMic;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderAvatar: React.FC;
3
+ export default ChatHeaderAvatar;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderBackButton: React.FC;
3
+ export default ChatHeaderBackButton;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderButtons: React.FC;
3
+ export default ChatHeaderButtons;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeaderTitles: React.FC;
3
+ export default ChatHeaderTitles;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const ChatHeader: React.FC;
3
+ export default ChatHeader;
@@ -4,7 +4,9 @@ export interface MessageProps {
4
4
  message: Messages.Message;
5
5
  senderName?: string;
6
6
  senderAvatar?: string | null;
7
+ isLastMessage: boolean;
7
8
  isPlaceholder: boolean;
9
+ isSameUserSender: boolean;
8
10
  isCurrentUserSender: boolean;
9
11
  }
10
12
  declare const Message: React.FC<MessageProps>;
@@ -0,0 +1,2 @@
1
+ declare const WidgetCalls: React.FC;
2
+ export default WidgetCalls;
@@ -11,13 +11,13 @@ export declare enum USER_STATUS {
11
11
  export declare const SESSION_KEY = "@connectycube/chat-widget:session";
12
12
  export declare const initConnectyCubeSDK: (credentials: Config.Credentials, config?: Config.Options) => void;
13
13
  export declare const tryReuseSession: (userName?: string, userId?: string, userAvatar?: string, userProfileLink?: string) => Promise<boolean>;
14
- export declare const tryRestoreSession: () => Promise<Auth.Session | null>;
14
+ export declare const restoreSession: () => Promise<Auth.Session | null>;
15
15
  export declare const createUserSession: (login: string, password: string) => Promise<Auth.Session>;
16
16
  export declare const createSession: (userId?: string, userName?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session | null>;
17
- export declare const restoreSession: (userId?: string, userName?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session | null>;
18
17
  export declare const destroyUserSession: () => Promise<void>;
19
18
  export declare const userSignup: (login: string, password: string, name?: string, externalId?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
20
- export declare const chatCredentials: () => Chat.ConnectionParams | null;
19
+ export declare const upsertConnectyCubeConfig: (config?: Config.Options) => void;
20
+ export declare const autoconnect: (connect: (credentials: Chat.ConnectionParams) => Promise<void>, session?: Auth.Session | null) => Promise<void>;
21
21
  export declare const updateUserProfileIfNeeded: (session: Auth.Session, name?: string, externalId?: string, avatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
22
22
  export declare const setSessionToLocalStorage: (session: Auth.Session) => void;
23
23
  export declare const getSessionFromLocalStorage: () => Auth.Session | null;
@@ -44,3 +44,4 @@ export declare const generateConnectyCubeLogin: (userId?: string) => string;
44
44
  export declare const createUserReport: (reportedUserId: number, reason: string) => Promise<import("connectycube/types").Data.DataRecord>;
45
45
  export declare const subscribeToPushNotifications: (pushSubscriptionData?: PushSubscriptionData) => Promise<PushNotifications.Subscription | undefined>;
46
46
  export declare const unsubscribeFromPushNotifications: () => Promise<EmptyResponse[]>;
47
+ export declare const isCallsSupported: boolean;
@@ -15,6 +15,7 @@ export { default as useUnreadCountStore } from './store/useUnreadCountStore';
15
15
  export { default as useUserSettingsStore } from './store/useUserSettingsStore';
16
16
  export { default as useAppAuthorization } from './useAppAuthorization';
17
17
  export { default as useAppPresets } from './useAppPresets';
18
+ export { default as useAudio } from './useAudio';
18
19
  export { default as useLastActivity } from './useLastActivity';
19
20
  export { default as useNotification } from './useNotification';
20
21
  export { default as usePageFocus } from './usePageFocus';
@@ -1,6 +1,7 @@
1
1
  export type AppSettingStoreProps = {
2
2
  attachmentsAccept: string;
3
3
  attachmentsAcceptList: string[];
4
+ enableCalls: boolean;
4
5
  enableUserStatuses: boolean;
5
6
  enableLastSeen: boolean;
6
7
  enableContentReporting: boolean;
@@ -10,6 +11,7 @@ export type AppSettingStoreProps = {
10
11
  };
11
12
  export interface AppSettingStoreState extends AppSettingStoreProps {
12
13
  setAttachmentsAccept: (attachmentsAccept: string) => void;
14
+ setEnableCalls: (enableCalls: boolean) => void;
13
15
  setEnableUserStatuses: (enableUserStatuses: boolean) => void;
14
16
  setEnableLastSeen: (enableLastSeen: boolean) => void;
15
17
  setEnableContentReporting: (enableContentReporting: boolean) => void;
@@ -17,6 +19,7 @@ export interface AppSettingStoreState extends AppSettingStoreProps {
17
19
  setEnableUrlPreview: (enableUrlPreview: boolean) => void;
18
20
  setLimitUrlsPreviews: (limitUrlsPreviews: number) => void;
19
21
  resetAttachmentsAccept: () => void;
22
+ resetEnableCalls: () => void;
20
23
  resetEnableUserStatuses: () => void;
21
24
  resetEnableLastSeen: () => void;
22
25
  resetEnableContentReporting: () => void;
@@ -16,6 +16,7 @@ export type AppPresets = {
16
16
  webPushVapidPublicKey?: string;
17
17
  serviceWorkerPath?: string | URL;
18
18
  attachmentsAccept?: string;
19
+ enableCalls?: boolean;
19
20
  enableUserStatuses?: boolean;
20
21
  enableLastSeen?: boolean;
21
22
  enableContentReporting?: boolean;
@@ -30,5 +31,5 @@ export type AppPresets = {
30
31
  onOnlineUsersCountChange?: (count: number) => void;
31
32
  onOpenChange?: (open: boolean) => void;
32
33
  };
33
- declare const useAppPresets: ({ embedView, open, splitView, showChatStatus, showOnlineUsersTab, hideNewChatButton, hideNewUserChatOption, hideNewGroupChatOption, muted, showNotifications, playSound, webPushNotifications, serviceWorkerPath, webPushVapidPublicKey, attachmentsAccept, enableUserStatuses, enableLastSeen, enableContentReporting, enableBlockList, enableUrlPreview, limitUrlsPreviews, quickActions, defaultChat, enableOnlineUsersBadge, getOnlineUsersInterval, onUnreadCountChange, onOnlineUsersCountChange, onOpenChange, }: AppPresets) => void;
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;
34
35
  export default useAppPresets;
@@ -0,0 +1,6 @@
1
+ export type AudioHook = {
2
+ play: (loop?: boolean) => void;
3
+ stop: () => void;
4
+ };
5
+ declare function useAudio(source: string): AudioHook;
6
+ export default useAudio;
@@ -62,7 +62,13 @@ declare const _default: {
62
62
  "Available": "Διαθέσιμος/η",
63
63
  "Busy": "Απασχολημένος/η",
64
64
  "Away": "Απουσιάζω",
65
- "Online": "Συνδεδεμένος/η"
65
+ "Online": "Συνδεδεμένος/η",
66
+ "IncomingAudioCall": "Εισερχόμενη κλήση ήχου από τον χρήστη {{name}}",
67
+ "IncomingVideoCall": "Εισερχόμενη κλήση βίντεο από τον χρήστη {{name}}",
68
+ "Accept": "Αποδοχή",
69
+ "Reject": "Απόρριψη",
70
+ "RejectedCall": "Ο χρήστης {{name}} απέρριψε την κλήση",
71
+ "MissedCall": "Αναπάντητη κλήση από τον χρήστη {{name}}"
66
72
  }
67
73
  ;
68
74
 
@@ -62,7 +62,13 @@ declare const _default: {
62
62
  "Available": "Available",
63
63
  "Busy": "Busy",
64
64
  "Away": "Away",
65
- "Online": "Online"
65
+ "Online": "Online",
66
+ "IncomingAudioCall": "Incoming audio call from {{name}}",
67
+ "IncomingVideoCall": "Incoming video call from {{name}}",
68
+ "Accept": "Accept",
69
+ "Reject": "Reject",
70
+ "RejectedCall": "{{name}} rejected the call",
71
+ "MissedCall": "Messed call from {{name}}"
66
72
  }
67
73
  ;
68
74
 
@@ -62,7 +62,13 @@ declare const _default: {
62
62
  "Available": "Присутній",
63
63
  "Busy": "Зайнятий",
64
64
  "Away": "Відсутній",
65
- "Online": "В мережі"
65
+ "Online": "В мережі",
66
+ "IncomingAudioCall": "Вхідний аудіо виклик від {{name}}",
67
+ "IncomingVideoCall": "Вхідний відео виклик від {{name}}",
68
+ "Accept": "Прийняти",
69
+ "Reject": "Відхилити",
70
+ "RejectedCall": "{{name}} відхилив виклик",
71
+ "MissedCall": "Пропущений виклик від {{name}}"
66
72
  }
67
73
  ;
68
74
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@connectycube/chat-widget",
3
3
  "description": "A React component that seamlessly integrates ConnectyCube's real-time chat capabilities into your web applications. This widget offers an out-of-the-box solution for embedding chat features—such as instant messaging, user presence, and file sharing—without the overhead of building a complete chat system from scratch.",
4
- "version": "0.28.0",
4
+ "version": "0.30.0",
5
5
  "license": "GPL-3.0-only",
6
6
  "homepage": "https://github.com/ConnectyCube/connectycube-chat-widget#readme",
7
7
  "bugs": {
@@ -79,7 +79,8 @@
79
79
  "version": "sh ./fetch-version.sh"
80
80
  },
81
81
  "dependencies": {
82
- "@connectycube/use-chat": "^0.23.1",
82
+ "@connectycube/use-calls": "^0.11.0",
83
+ "@connectycube/use-chat": "^0.25.0",
83
84
  "@radix-ui/react-alert-dialog": "^1.1.14",
84
85
  "@radix-ui/react-avatar": "^1.1.10",
85
86
  "@radix-ui/react-dialog": "^1.1.14",
@@ -91,16 +92,16 @@
91
92
  "@radix-ui/react-tooltip": "^1.2.7",
92
93
  "class-variance-authority": "^0.7.1",
93
94
  "clsx": "^2.1.1",
94
- "connectycube": "^4.3.0",
95
+ "connectycube": "^4.5.0",
95
96
  "get-browser-fingerprint": "^4.1.0",
96
97
  "i18next": "^25.2.1",
97
98
  "jsdom": "^26.1.0",
98
99
  "linkify-react": "^4.3.1",
99
100
  "linkifyjs": "^4.3.1",
100
- "lucide-react": "^0.513.0",
101
+ "lucide-react": "^0.515.0",
101
102
  "next-themes": "^0.4.6",
102
103
  "react-hook-form": "^7.57.0",
103
- "react-i18next": "^15.5.2",
104
+ "react-i18next": "^15.5.3",
104
105
  "react-icons": "^5.5.0",
105
106
  "react-intersection-observer": "^9.16.0",
106
107
  "react-player": "^2.16.0",
@@ -113,32 +114,32 @@
113
114
  },
114
115
  "devDependencies": {
115
116
  "@eslint/js": "^9.28.0",
116
- "@tailwindcss/postcss": "^4.1.8",
117
- "@tailwindcss/vite": "^4.1.8",
118
- "@types/node": "^22.15.30",
119
- "@types/react": "^19.1.6",
117
+ "@tailwindcss/postcss": "^4.1.10",
118
+ "@tailwindcss/vite": "^4.1.10",
119
+ "@types/node": "^24.0.1",
120
+ "@types/react": "^19.1.8",
120
121
  "@types/react-dom": "^19.1.6",
121
- "@vitejs/plugin-react": "^4.5.1",
122
+ "@vitejs/plugin-react": "^4.5.2",
122
123
  "@vitest/coverage-v8": "^3.2.3",
123
124
  "eslint": "^9.28.0",
124
125
  "eslint-plugin-react-hooks": "^5.2.0",
125
126
  "eslint-plugin-react-refresh": "^0.4.20",
126
127
  "globals": "^16.2.0",
127
128
  "prettier": "3.5.3",
128
- "tailwind-merge": "^3.3.0",
129
+ "tailwind-merge": "^3.3.1",
129
130
  "tailwind-scrollbar": "^4.0.2",
130
- "tailwindcss": "^4.1.8",
131
+ "tailwindcss": "^4.1.10",
131
132
  "tw-animate-css": "^1.3.4",
132
133
  "typescript": "^5.8.3",
133
- "typescript-eslint": "^8.33.1",
134
+ "typescript-eslint": "^8.34.0",
134
135
  "vite": "^6.3.5",
135
136
  "vite-plugin-css-injected-by-js": "^3.5.2",
136
137
  "vite-plugin-dts": "^4.5.4",
137
138
  "vitest": "^3.2.3"
138
139
  },
139
140
  "optionalDependencies": {
140
- "@rollup/rollup-linux-x64-gnu": "4.42.0",
141
- "@tailwindcss/oxide-linux-x64-gnu": "^4.1.8",
141
+ "@rollup/rollup-linux-x64-gnu": "4.43.0",
142
+ "@tailwindcss/oxide-linux-x64-gnu": "^4.1.10",
142
143
  "lightningcss-linux-x64-gnu": "^1.30.1"
143
144
  },
144
145
  "engines": {