@connectycube/chat-widget 0.39.2 → 0.39.3

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 (88) hide show
  1. package/dist/index.es.js +5661 -5546
  2. package/dist/index.umd.js +96 -68
  3. package/dist/types/App.d.ts +3 -2
  4. package/dist/types/components/connectycube-ui/alert-dialog.d.ts +27 -0
  5. package/dist/types/components/connectycube-ui/attachment.d.ts +43 -0
  6. package/dist/types/components/connectycube-ui/avatar.d.ts +16 -0
  7. package/dist/types/components/{shadcn-ui → connectycube-ui}/badge.d.ts +5 -4
  8. package/dist/types/components/connectycube-ui/button.d.ts +11 -0
  9. package/dist/types/components/connectycube-ui/chat-bubble.d.ts +31 -0
  10. package/dist/types/components/connectycube-ui/chat-input.d.ts +26 -0
  11. package/dist/types/components/connectycube-ui/chat-list.d.ts +30 -0
  12. package/dist/types/components/connectycube-ui/checkbox.d.ts +10 -0
  13. package/dist/types/components/connectycube-ui/dialog-item.d.ts +45 -0
  14. package/dist/types/components/connectycube-ui/dialogs-list.d.ts +13 -0
  15. package/dist/types/components/connectycube-ui/dismiss-layer.d.ts +10 -0
  16. package/dist/types/components/connectycube-ui/file-picker.d.ts +21 -0
  17. package/dist/types/components/connectycube-ui/formatted-date.d.ts +8 -0
  18. package/dist/types/components/connectycube-ui/input.d.ts +4 -0
  19. package/dist/types/components/connectycube-ui/label.d.ts +4 -0
  20. package/dist/types/components/connectycube-ui/link-preview.d.ts +20 -0
  21. package/dist/types/components/connectycube-ui/linkify-text.d.ts +13 -0
  22. package/dist/types/components/connectycube-ui/placeholder-text.d.ts +8 -0
  23. package/dist/types/components/connectycube-ui/presence.d.ts +21 -0
  24. package/dist/types/components/connectycube-ui/quick-actions.d.ts +13 -0
  25. package/dist/types/components/connectycube-ui/search.d.ts +14 -0
  26. package/dist/types/components/connectycube-ui/spinner.d.ts +9 -0
  27. package/dist/types/components/connectycube-ui/status-call.d.ts +8 -0
  28. package/dist/types/components/connectycube-ui/status-indicator.d.ts +19 -0
  29. package/dist/types/components/connectycube-ui/status-sent.d.ts +7 -0
  30. package/dist/types/components/connectycube-ui/stream-view.d.ts +19 -36
  31. package/dist/types/components/connectycube-ui/switch.d.ts +5 -0
  32. package/dist/types/components/connectycube-ui/utils.d.ts +1 -0
  33. package/dist/types/components/home/main/ai-dropdown-menu/ai-dropdown-change-tone.d.ts +2 -2
  34. package/dist/types/components/home/main/ai-dropdown-menu/ai-dropdown-get-summary.d.ts +2 -2
  35. package/dist/types/components/home/main/{chat-input.d.ts → chat-footer.d.ts} +6 -3
  36. package/dist/types/components/home/main/chat-message.d.ts +10 -0
  37. package/dist/types/components/home/main/chat-messages-list.d.ts +5 -1
  38. package/dist/types/components/home/main/link-previews-list.d.ts +7 -0
  39. package/dist/types/components/home/main/my-profile/my-presence-select.d.ts +3 -0
  40. package/dist/types/components/home/sidebar/chat-item.d.ts +1 -1
  41. package/dist/types/components/home/sidebar/chats-list.d.ts +2 -2
  42. package/dist/types/components/home/sidebar/user-item.d.ts +2 -2
  43. package/dist/types/components/widget/widget-app.d.ts +4 -6
  44. package/dist/types/components/widget/widget-button.d.ts +1 -1
  45. package/dist/types/components/widget/widget-messages-badge.d.ts +1 -1
  46. package/dist/types/components/widget/widget-online-badge.d.ts +1 -1
  47. package/dist/types/helpers/connectycube.d.ts +18 -10
  48. package/dist/types/helpers/i18n.d.ts +1 -5
  49. package/dist/types/helpers/widget.d.ts +2 -1
  50. package/dist/types/hooks/index.d.ts +1 -0
  51. package/dist/types/hooks/store/useAppInterfaceStore.d.ts +3 -0
  52. package/dist/types/hooks/store/useAppSettingsStore.d.ts +2 -6
  53. package/dist/types/hooks/store/useUserSettingsStore.d.ts +3 -3
  54. package/dist/types/hooks/useAppAuthorization.d.ts +2 -7
  55. package/dist/types/hooks/useAppPresets.d.ts +3 -2
  56. package/dist/types/hooks/useCallActions.d.ts +4 -0
  57. package/dist/types/locales/el/translation.json.d.ts +6 -2
  58. package/dist/types/locales/en/translation.json.d.ts +6 -2
  59. package/dist/types/locales/es/translation.json.d.ts +4 -1
  60. package/dist/types/locales/ua/translation.json.d.ts +6 -2
  61. package/package.json +36 -33
  62. package/dist/types/components/calls/calls-buttons.d.ts +0 -3
  63. package/dist/types/components/home/main/chat-input-file.d.ts +0 -6
  64. package/dist/types/components/home/main/message/call-message.d.ts +0 -13
  65. package/dist/types/components/home/main/message/message-attachment.d.ts +0 -9
  66. package/dist/types/components/home/main/message/message-body.d.ts +0 -7
  67. package/dist/types/components/home/main/message/message-status-mark.d.ts +0 -7
  68. package/dist/types/components/home/main/message/message-text-summary.d.ts +0 -9
  69. package/dist/types/components/home/main/message/message-url-preview.d.ts +0 -8
  70. package/dist/types/components/home/main/message/message.d.ts +0 -16
  71. package/dist/types/components/home/main/user-status/user-status-badge.d.ts +0 -8
  72. package/dist/types/components/home/main/user-status/user-status-select.d.ts +0 -3
  73. package/dist/types/components/home/main/user-status/user-status.d.ts +0 -7
  74. package/dist/types/components/shadcn-ui/avatar.d.ts +0 -6
  75. package/dist/types/components/shadcn-ui/button.d.ts +0 -10
  76. package/dist/types/components/shadcn-ui/checkbox.d.ts +0 -4
  77. package/dist/types/components/shadcn-ui/class-names.d.ts +0 -50
  78. package/dist/types/components/shadcn-ui/input.d.ts +0 -3
  79. package/dist/types/components/shadcn-ui/label.d.ts +0 -4
  80. package/dist/types/components/shadcn-ui/skeleton.d.ts +0 -2
  81. package/dist/types/components/shadcn-ui/switch.d.ts +0 -4
  82. package/dist/types/components/shadcn-ui/tooltip.d.ts +0 -7
  83. package/dist/types/components/shared/avatar.d.ts +0 -15
  84. package/dist/types/components/shared/chat-status-mark.d.ts +0 -3
  85. package/dist/types/components/shared/confirmation-alert.d.ts +0 -8
  86. package/dist/types/components/shared/empty-content-placeholder.d.ts +0 -7
  87. package/dist/types/components/shared/loader.d.ts +0 -6
  88. package/dist/types/components/widget/widget-overlay.d.ts +0 -8
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { Messages } from '@connectycube/react';
3
+ type ChatMessageProps = {
4
+ message: Messages.Message;
5
+ prevMessage?: Messages.Message;
6
+ isLast: boolean;
7
+ scrollToBottom?: (id: string, force?: boolean) => void;
8
+ };
9
+ declare const ChatMessage: React.FC<ChatMessageProps>;
10
+ export default ChatMessage;
@@ -1,7 +1,11 @@
1
1
  import { default as React } from 'react';
2
2
  type ChatMessagesListProps = {
3
3
  onSendMessage: (text: string) => void;
4
- textareaScrollOffset: number;
4
+ onSendAttachment: (files: File[]) => void;
5
+ textareaMeasurement: {
6
+ height: number;
7
+ shift: number;
8
+ };
5
9
  };
6
10
  declare const ChatMessagesList: React.FC<ChatMessagesListProps>;
7
11
  export default ChatMessagesList;
@@ -0,0 +1,7 @@
1
+ type MessageLinkPreviewProps = {
2
+ id?: string;
3
+ text?: string;
4
+ onReady?: () => void;
5
+ };
6
+ declare const LinkPreviewsList: React.FC<MessageLinkPreviewProps>;
7
+ export default LinkPreviewsList;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const MyPresenceSelect: React.FC;
3
+ export default MyPresenceSelect;
@@ -1,8 +1,8 @@
1
1
  import { default as React } from 'react';
2
2
  import { Dialogs } from '@connectycube/react';
3
3
  export interface ChatItemProps {
4
+ index: number;
4
5
  dialog: Dialogs.Dialog;
5
- isFirstInList?: boolean;
6
6
  }
7
7
  declare const ChatItem: React.FC<ChatItemProps>;
8
8
  export default ChatItem;
@@ -1,3 +1,3 @@
1
1
  import { default as React } from 'react';
2
- declare const _default: React.NamedExoticComponent<{}>;
3
- export default _default;
2
+ declare const ChatsList: React.FC;
3
+ export default ChatsList;
@@ -1,10 +1,10 @@
1
1
  import { default as React } from 'react';
2
- import { USER_STATUS } from '../../../helpers/connectycube';
2
+ import { UserPresence } from '../../../helpers/connectycube';
3
3
  export interface UserItemProps {
4
4
  userId: number;
5
5
  userName: string;
6
6
  avatar?: string;
7
- status?: USER_STATUS | null;
7
+ status?: UserPresence;
8
8
  }
9
9
  declare const _default: React.NamedExoticComponent<UserItemProps>;
10
10
  export default _default;
@@ -1,10 +1,8 @@
1
+ import { UserData } from '../../helpers/connectycube';
1
2
  import * as React from 'react';
2
- type WidgetAppProps = {
3
- id?: string;
4
- name?: string;
5
- avatar?: string;
6
- userProfileLink?: string;
3
+ interface WidgetAppProps {
4
+ user?: UserData;
7
5
  enabledUserLogin?: boolean;
8
- };
6
+ }
9
7
  declare const WidgetApp: React.FC<WidgetAppProps>;
10
8
  export default WidgetApp;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  type WidgetButtonProps = {
3
- lng: 'en' | 'el' | 'ua' | 'es';
3
+ lng: string;
4
4
  title?: string;
5
5
  style?: React.CSSProperties;
6
6
  badgeStyle?: React.CSSProperties;
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import { default as React } from 'react';
2
2
  type WidgetMessageBadgeProps = {
3
3
  style?: React.CSSProperties;
4
4
  };
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import { default as React } from 'react';
2
2
  type WidgetOnlineBadgeProps = {
3
3
  style?: React.CSSProperties;
4
4
  };
@@ -1,27 +1,35 @@
1
1
  import { Config, Users, Auth, Chat, EmptyResponse, PushNotifications } from '@connectycube/react';
2
2
  import { PushSubscriptionData } from './notifications';
3
+ export declare enum UserPresence {
4
+ AVAILABLE = "available",
5
+ AWAY = "away",
6
+ BUSY = "busy",
7
+ UNKNOWN = "unknown"
8
+ }
3
9
  export declare enum SIGNAL {
4
10
  UPDATE_USER = "user/UPDATE"
5
11
  }
6
- export declare enum USER_STATUS {
7
- AVAILABLE = "Available",
8
- BUSY = "Busy",
9
- AWAY = "Away"
10
- }
12
+ export type UserData = {
13
+ userId?: string;
14
+ userName?: string;
15
+ userEmail?: string;
16
+ userAvatar?: string;
17
+ userProfileLink?: string;
18
+ };
11
19
  export declare const SESSION_KEY = "@connectycube/chat-widget:session";
12
20
  export declare const GUEST_KEY = "@connectycube/chat-widget:guest";
13
21
  export declare const REMEMBER_ME_KEY = "@connectycube/chat-widget:rememberMe";
14
- export declare const tryReuseSession: (userName?: string, userId?: string, userAvatar?: string, userProfileLink?: string) => Promise<boolean>;
22
+ export declare const tryReuseSession: (userData: UserData) => Promise<boolean>;
15
23
  export declare const restoreSession: () => Promise<Auth.Session | null>;
16
24
  export declare const createUserSession: (login: string, password: string) => Promise<Auth.Session>;
17
25
  export declare const createGuestSession: (full_name: string) => Promise<Auth.Session>;
18
- export declare const createSession: (userId?: string, userName?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session | null>;
26
+ export declare const createSession: (userData?: UserData) => Promise<Auth.Session | null>;
19
27
  export declare const destroyUserSession: () => Promise<void>;
20
28
  export declare const getServiceSession: () => Auth.Session | null;
21
- export declare const userSignup: (login: string, password: string, name?: string, externalId?: string, userAvatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
29
+ export declare const userSignup: (login: string, password: string, userData?: UserData) => Promise<Auth.Session>;
22
30
  export declare const upsertConnectyCubeConfig: (config?: Config.Options) => void;
23
31
  export declare const autoconnect: (connect: (credentials: Chat.ConnectionParams) => Promise<boolean>, session?: Auth.Session | null) => Promise<boolean>;
24
- export declare const updateUserProfileIfNeeded: (session: Auth.Session, name?: string, externalId?: string, avatar?: string, userProfileLink?: string) => Promise<Auth.Session>;
32
+ export declare const updateUserProfileIfNeeded: (session: Auth.Session, userData?: UserData) => Promise<Auth.Session>;
25
33
  export declare const setSessionToLocalStorage: (session: Auth.Session, ignore?: boolean) => void;
26
34
  export declare const getSessionFromLocalStorage: () => Auth.Session | null;
27
35
  export declare const clearSessionInLocalStorage: () => void;
@@ -32,7 +40,7 @@ export declare const parseUserCustomData: (user: Users.User | null | undefined)
32
40
  export declare const getUserSettings: () => {
33
41
  [key: string]: any;
34
42
  } | null;
35
- export declare const getUserStatus: (user: Users.User | null | undefined) => USER_STATUS;
43
+ export declare const getUserStatus: (user: Users.User | null | undefined) => UserPresence;
36
44
  export declare const updateUserSettings: (settings: {
37
45
  [key: string]: any;
38
46
  }, onlyLocal?: boolean) => Promise<Users.User>;
@@ -1,7 +1,3 @@
1
1
  import { default as i18n } from 'i18next';
2
- export type Language = 'English' | 'Greek' | 'Ukrainian' | 'Spanish';
3
- export type Languages = {
4
- [key in string]: Language;
5
- };
6
- export declare const languages: Languages;
2
+ export declare const languages: Record<string, string>;
7
3
  export default i18n;
@@ -2,7 +2,8 @@ import { Users } from '@connectycube/react';
2
2
  export declare const buildExternalIdFromUsers: (users?: Users.User[]) => string;
3
3
  export declare const sleep: (ms: number) => Promise<void>;
4
4
  export declare const stripSpecificTailwindSupports: (css: string) => string;
5
- export declare const isBrowser: boolean;
5
+ /** Runtime check - use for SSR (Remix, Next, etc.) where module may load on server first */
6
+ export declare const isBrowser: () => boolean;
6
7
  export declare enum dataPrefix {
7
8
  WRAPPER = "data-connectycube-chat-widget-wrapper",
8
9
  FOCUSED = "data-connectycube-chat-widget-focused"
@@ -17,6 +17,7 @@ export { default as useUserSettingsStore } from './store/useUserSettingsStore';
17
17
  export { default as useAppAuthorization } from './useAppAuthorization';
18
18
  export { default as useAppPresets } from './useAppPresets';
19
19
  export { default as useAudio } from './useAudio';
20
+ export { default as useCallActions } from './useCallActions';
20
21
  export { default as useCallHistory } from './useCallHistory';
21
22
  export { default as useLastActivity } from './useLastActivity';
22
23
  export { default as useNotification } from './useNotification';
@@ -3,6 +3,7 @@ export type AppInterfaceStoreProps = {
3
3
  splitView: boolean;
4
4
  singleView: boolean;
5
5
  showChatStatus: boolean;
6
+ showChatActionsAsMenu: boolean;
6
7
  showOnlineUsersTab: boolean;
7
8
  hideNewChatButton: boolean;
8
9
  hideNewUserChatOption: boolean;
@@ -14,6 +15,7 @@ export interface AppInterfaceStoreState extends AppInterfaceStoreProps {
14
15
  setSplitView: (splitView: boolean) => void;
15
16
  setSingleView: (singleView: boolean) => void;
16
17
  setShowChatStatus: (showChatStatus: boolean) => void;
18
+ setShowChatActionsAsMenu: (showChatActionsAsMenu: boolean) => void;
17
19
  setShowOnlineUsersTab: (showOnlineUsersTab: boolean) => void;
18
20
  setHideNewChatButton: (hideNewChatButton: boolean) => void;
19
21
  setHideNewUserChatOption: (hideNewUserChatOption: boolean) => void;
@@ -24,6 +26,7 @@ export interface AppInterfaceStoreState extends AppInterfaceStoreProps {
24
26
  resetSplitView: () => void;
25
27
  resetSingleView: () => void;
26
28
  resetShowChatStatus: () => void;
29
+ resetShowChatActionsAsMenu: () => void;
27
30
  resetShowOnlineUsersTab: () => void;
28
31
  resetHideNewChatButton: () => void;
29
32
  resetHideNewUserChatOption: () => void;
@@ -1,7 +1,6 @@
1
1
  export type AppSettingStoreProps = {
2
2
  userAuthorized: boolean;
3
- attachmentsAccept: string | null;
4
- attachmentsAcceptList: string[] | null;
3
+ attachmentsAccept?: string;
5
4
  enableUserLogin: boolean;
6
5
  enableCalls: boolean;
7
6
  enableUserStatuses: boolean;
@@ -14,7 +13,7 @@ export type AppSettingStoreProps = {
14
13
  };
15
14
  export interface AppSettingStoreState extends AppSettingStoreProps {
16
15
  setUserAuthorized: (userAuthorized: boolean) => void;
17
- setAttachmentsAccept: (attachmentsAccept: string | null) => void;
16
+ setAttachmentsAccept: (attachmentsAccept?: string) => void;
18
17
  setEnableUserLogin: (enableUserLogin: boolean) => void;
19
18
  setEnableCalls: (enableCalls: boolean) => void;
20
19
  setEnableUserStatuses: (enableUserStatuses: boolean) => void;
@@ -35,12 +34,9 @@ export interface AppSettingStoreState extends AppSettingStoreProps {
35
34
  resetEnableUrlPreview: () => void;
36
35
  resetLimitUrlsPreviews: () => void;
37
36
  resetTermsAndConditions: () => void;
38
- isSupportedFile: (file: File) => boolean;
39
37
  }
40
38
  export declare const appSettingsStoreInitialState: AppSettingStoreProps;
41
39
  declare const useAppSettingsStore: import('zustand').UseBoundStore<import('zustand').StoreApi<AppSettingStoreState>>;
42
40
  export declare const setAppSettingsStore: (state: Partial<AppSettingStoreProps>) => void;
43
41
  export declare const resetAppSettingsStore: () => void;
44
42
  export default useAppSettingsStore;
45
- export declare const getAttachmentsAcceptList: (attachmentsAccept: string | null) => string[] | null;
46
- export declare const isSupportedFileMimeType: (file: File, attachmentsAcceptList: AppSettingStoreState["attachmentsAcceptList"]) => boolean;
@@ -1,12 +1,12 @@
1
- import { USER_STATUS } from '../../helpers/connectycube';
1
+ import { UserPresence } from '../../helpers/connectycube';
2
2
  type UserSettingsStateProps = {
3
- userStatus: USER_STATUS;
3
+ userStatus: UserPresence;
4
4
  isNotifications: boolean;
5
5
  isNotificationSound: boolean;
6
6
  isPushNotifications: boolean;
7
7
  };
8
8
  interface UserSettingsState extends UserSettingsStateProps {
9
- setUserStatus: (status: USER_STATUS, onlyLocal?: boolean) => Promise<void>;
9
+ setUserStatus: (status: UserPresence, onlyLocal?: boolean) => Promise<void>;
10
10
  setIsNotifications: (enabled: boolean, onlyLocal?: boolean) => Promise<void>;
11
11
  setIsNotificationSound: (enabled: boolean, onlyLocal?: boolean) => Promise<void>;
12
12
  setIsPushNotifications: (enabled: boolean, onlyLocal?: boolean) => Promise<void>;
@@ -1,14 +1,9 @@
1
1
  import { Config } from '@connectycube/react';
2
- type AppUser = {
3
- id?: string;
4
- name?: string;
5
- avatar?: string;
6
- userProfileLink?: string;
7
- };
2
+ import { UserData } from '../helpers/connectycube';
8
3
  type AppAuthorizationProps = {
9
4
  creds: Config.Credentials;
10
5
  config?: Config.Options;
11
- user?: AppUser;
6
+ user?: UserData;
12
7
  enableUserLogin: boolean;
13
8
  };
14
9
  declare const useAppAuthorization: ({ creds, config, user, enableUserLogin }: AppAuthorizationProps) => void;
@@ -6,6 +6,7 @@ export type AppPresets = {
6
6
  splitView?: boolean;
7
7
  singleView?: boolean;
8
8
  showChatStatus?: boolean;
9
+ showChatActionsAsMenu?: boolean;
9
10
  showOnlineUsersTab?: boolean;
10
11
  hideNewChatButton?: boolean;
11
12
  hideNewUserChatOption?: boolean;
@@ -17,7 +18,7 @@ export type AppPresets = {
17
18
  webPushNotifications?: boolean;
18
19
  webPushVapidPublicKey?: string;
19
20
  serviceWorkerPath?: string | URL;
20
- attachmentsAccept?: string | null;
21
+ attachmentsAccept?: string;
21
22
  enableUserLogin?: boolean;
22
23
  enableCalls?: boolean;
23
24
  enableUserStatuses?: boolean;
@@ -41,5 +42,5 @@ export type AppPresets = {
41
42
  onOnlineUsersCountChange?: (count: number) => void;
42
43
  onOpenChange?: (open: boolean) => void;
43
44
  };
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;
45
+ declare const useAppPresets: ({ open, embedView, splitView, singleView, showChatStatus, showChatActionsAsMenu, 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;
45
46
  export default useAppPresets;
@@ -0,0 +1,4 @@
1
+ export default function useCallActions(): {
2
+ startVideoCall: () => void;
3
+ startAudioCall: () => void;
4
+ };
@@ -15,6 +15,7 @@ declare const _default: {
15
15
  "EnterMessage": "Εισάγετε μήνυμα",
16
16
  "EnterUserName": "Εισάγετε όνομα χρήστη",
17
17
  "ExitChat": "Έξοδος από τη συνομιλία",
18
+ "ExitChatConfirm": "Είστε σίγουροι ότι θέλετε να φύγετε από αυτή τη συνομιλία;",
18
19
  "FileTypeNotSupported": "Η μορφή αρχείου δεν υποστηρίζεται",
19
20
  "isTyping": "είναι",
20
21
  "me": "εγώ",
@@ -38,6 +39,8 @@ declare const _default: {
38
39
  "typing": "πληκτρολογεί",
39
40
  "Users": "Χρήστες",
40
41
  "you": "εσύ",
42
+ "Video": "Βίντεο",
43
+ "Call": "Κλήση",
41
44
  "Block": "Block",
42
45
  "UnBlock": "Unblock",
43
46
  "Report": "Αναφορά",
@@ -112,7 +115,7 @@ declare const _default: {
112
115
  "forLastDay": "για την τελευταία ημέρα",
113
116
  "forUnreads": "για μη αναγνωσμένα",
114
117
  "MessageTone": "Αλλαγή τόνου μηνύματος",
115
- "EmptyMessage": "Δεν είναι δυνατή η αλλαγή του τόνου ενός κενού μηνύματος",
118
+ "EmptyMessageTone": "Δεν είναι δυνατή η αλλαγή του τόνου ενός κενού μηνύματος",
116
119
  "positive": "θετικός",
117
120
  "negative": "αρνητικός",
118
121
  "cringe": "κρίμα"
@@ -127,7 +130,8 @@ declare const _default: {
127
130
  "videoCall": "βιντεοκλήση",
128
131
  "audioCall": "ηχητική κλήση",
129
132
  "defaultCall": "κλήση"
130
- }
133
+ },
134
+ "DragAndDrop": "Αποθέστε αρχεία εδώ"
131
135
  }
132
136
  ;
133
137
 
@@ -15,6 +15,7 @@ declare const _default: {
15
15
  "EnterMessage": "Enter message",
16
16
  "EnterUserName": "Enter user name",
17
17
  "ExitChat": "Exit chat",
18
+ "ExitChatConfirm": "Are you sure you want to leave this chat?",
18
19
  "FileTypeNotSupported": "File format is not supported",
19
20
  "isTyping": "is typing",
20
21
  "me": "me",
@@ -38,6 +39,8 @@ declare const _default: {
38
39
  "typing": "typing",
39
40
  "Users": "Users",
40
41
  "you": "you",
42
+ "Video": "Video",
43
+ "Call": "Call",
41
44
  "Block": "Block",
42
45
  "UnBlock": "Unblock",
43
46
  "Report": "Report",
@@ -112,7 +115,7 @@ declare const _default: {
112
115
  "forLastDay": "for last day",
113
116
  "forUnreads": "for unreads",
114
117
  "MessageTone": "Change message tone",
115
- "EmptyMessage": "Can't change tone of empty message",
118
+ "EmptyMessageTone": "Can't change tone of empty message",
116
119
  "positive": "positive",
117
120
  "negative": "negative",
118
121
  "cringe": "cringe"
@@ -127,7 +130,8 @@ declare const _default: {
127
130
  "videoCall": "video call",
128
131
  "audioCall": "audio call",
129
132
  "defaultCall": "call"
130
- }
133
+ },
134
+ "DragAndDrop": "Drop files here"
131
135
  }
132
136
  ;
133
137
 
@@ -15,6 +15,7 @@ declare const _default: {
15
15
  "EnterMessage": "Escribe un mensaje",
16
16
  "EnterUserName": "Introduce el nombre de usuario",
17
17
  "ExitChat": "Salir del chat",
18
+ "ExitChatConfirm": "¿Estás seguro de que quieres salir de este chat?",
18
19
  "FileTypeNotSupported": "El formato de archivo no es compatible",
19
20
  "isTyping": "está escribiendo",
20
21
  "me": "yo",
@@ -38,6 +39,8 @@ declare const _default: {
38
39
  "typing": "escribiendo",
39
40
  "Users": "Usuarios",
40
41
  "you": "tú",
42
+ "Video": "Vídeo",
43
+ "Call": "Llamada",
41
44
  "Block": "Bloquear",
42
45
  "UnBlock": "Desbloquear",
43
46
  "Report": "Reportar",
@@ -112,7 +115,7 @@ declare const _default: {
112
115
  "forLastDay": "del último día",
113
116
  "forUnreads": "de los no leídos",
114
117
  "MessageTone": "Cambiar tono del mensaje",
115
- "EmptyMessage": "No se puede cambiar el tono de un mensaje vacío",
118
+ "EmptyMessageTone": "No se puede cambiar el tono de un mensaje vacío",
116
119
  "positive": "positivo",
117
120
  "negative": "negativo",
118
121
  "cringe": "vergonzoso"
@@ -15,6 +15,7 @@ declare const _default: {
15
15
  "EnterMessage": "Введіть повідомлення",
16
16
  "EnterUserName": "Введіть ім'я користувача",
17
17
  "ExitChat": "Вийти з чату",
18
+ "ExitChatConfirm": "Ви впевнені, що хочете вийти з цього чату?",
18
19
  "FileTypeNotSupported": "Формат файлу не підтримується",
19
20
  "isTyping": "пише",
20
21
  "me": "я",
@@ -38,6 +39,8 @@ declare const _default: {
38
39
  "typing": "друкує",
39
40
  "Users": "Користувачі",
40
41
  "you": "ви",
42
+ "Video": "Відео",
43
+ "Call": "Виклик",
41
44
  "Block": "Заблокувати",
42
45
  "UnBlock": "Розблокувати",
43
46
  "Report": "Поскаржитися",
@@ -112,7 +115,7 @@ declare const _default: {
112
115
  "forLastDay": "за останній день",
113
116
  "forUnreads": "для непрочитаних",
114
117
  "MessageTone": "Змінити тон повідомлення",
115
- "EmptyMessage": "Неможливо змінити тон пустого повідомлення",
118
+ "EmptyMessageTone": "Неможливо змінити тон пустого повідомлення",
116
119
  "positive": "позитивний",
117
120
  "negative": "негативний",
118
121
  "cringe": "крінж"
@@ -127,7 +130,8 @@ declare const _default: {
127
130
  "videoCall": "відео виклик",
128
131
  "audioCall": "аудіо виклик",
129
132
  "defaultCall": "виклик"
130
- }
133
+ },
134
+ "DragAndDrop": "Перетягніть файли сюди"
131
135
  }
132
136
  ;
133
137
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@connectycube/chat-widget",
3
3
  "description": "A customizable React chat widget built on the ConnectyCube platform, enabling real-time messaging, calls, and user engagement in any web app.",
4
- "version": "0.39.2",
4
+ "version": "0.39.3",
5
5
  "license": "GPL-3.0-only",
6
6
  "homepage": "https://github.com/ConnectyCube/connectycube-chat-widget/chat-widget#readme",
7
7
  "bugs": {
@@ -77,34 +77,37 @@
77
77
  "coverage": "vitest run --coverage"
78
78
  },
79
79
  "dependencies": {
80
- "@ai-sdk/google": "^2.0.27",
81
- "@connectycube/react": "^5.0.2",
80
+ "@ai-sdk/google": "^3.0.29",
81
+ "@connectycube/react": "^5.1.38",
82
82
  "@radix-ui/react-alert-dialog": "^1.1.15",
83
- "@radix-ui/react-avatar": "^1.1.10",
83
+ "@radix-ui/react-avatar": "^1.1.11",
84
84
  "@radix-ui/react-checkbox": "^1.3.3",
85
85
  "@radix-ui/react-dialog": "^1.1.15",
86
86
  "@radix-ui/react-dropdown-menu": "^2.1.16",
87
- "@radix-ui/react-label": "^2.1.7",
88
- "@radix-ui/react-slot": "^1.2.3",
87
+ "@radix-ui/react-label": "^2.1.8",
88
+ "@radix-ui/react-slot": "^1.2.4",
89
89
  "@radix-ui/react-switch": "^1.2.6",
90
90
  "@radix-ui/react-tabs": "^1.1.13",
91
91
  "@radix-ui/react-tooltip": "^1.2.8",
92
- "ai": "^5.0.87",
92
+ "ai": "^6.0.91",
93
93
  "class-variance-authority": "^0.7.1",
94
94
  "clsx": "^2.1.1",
95
+ "date-fns": "^4.1.0",
95
96
  "get-browser-fingerprint": "^4.1.1",
96
- "i18next": "^25.6.0",
97
+ "i18next": "^25.8.11",
97
98
  "linkify-react": "^4.3.2",
98
99
  "linkifyjs": "^4.3.2",
99
- "lucide-react": "^0.552.0",
100
+ "lucide-react": "^0.575.0",
100
101
  "next-themes": "^0.4.6",
101
- "react-hook-form": "^7.66.0",
102
- "react-i18next": "^16.2.4",
102
+ "react-hook-form": "^7.71.1",
103
+ "react-i18next": "^16.5.4",
103
104
  "react-icons": "^5.5.0",
104
- "react-intersection-observer": "^10.0.0",
105
+ "react-intersection-observer": "^10.0.3",
106
+ "react-textarea-autosize": "^8.5.9",
105
107
  "sonner": "^2.0.7",
106
- "virtua": "^0.46.6",
107
- "zustand": "^5.0.8"
108
+ "tailwind-merge": "^3.5.0",
109
+ "virtua": "^0.48.6",
110
+ "zustand": "^5.0.11"
108
111
  },
109
112
  "peerDependencies": {
110
113
  "react": ">=18",
@@ -112,35 +115,35 @@
112
115
  },
113
116
  "devDependencies": {
114
117
  "@eslint/js": "^9.39.2",
115
- "@tailwindcss/cli": "^4.1.18",
116
- "@tailwindcss/postcss": "^4.1.18",
117
- "@tailwindcss/vite": "^4.1.18",
118
- "@types/node": "^25.0.8",
119
- "@types/react": "^19.2.8",
118
+ "@tailwindcss/cli": "^4.2.0",
119
+ "@tailwindcss/postcss": "^4.2.0",
120
+ "@tailwindcss/vite": "^4.2.0",
121
+ "@types/node": "^25.3.0",
122
+ "@types/react": "^19.2.14",
120
123
  "@types/react-dom": "^19.2.3",
121
- "@vitejs/plugin-react": "^5.1.2",
122
- "@vitest/coverage-v8": "^4.0.17",
124
+ "@vitejs/plugin-react": "^5.1.4",
125
+ "@vitest/coverage-v8": "^4.0.18",
126
+ "baseline-browser-mapping": "^2.10.0",
123
127
  "eslint": "^9.39.2",
124
128
  "eslint-plugin-react-hooks": "^7.0.1",
125
- "eslint-plugin-react-refresh": "^0.4.26",
126
- "globals": "^17.0.0",
127
- "jsdom": "^27.4.0",
128
- "prettier": "3.8.0",
129
- "tailwind-merge": "^3.4.0",
129
+ "eslint-plugin-react-refresh": "^0.5.0",
130
+ "globals": "^17.3.0",
131
+ "jsdom": "^28.1.0",
132
+ "prettier": "3.8.1",
130
133
  "tailwind-scrollbar": "^4.0.2",
131
- "tailwindcss": "^4.1.18",
134
+ "tailwindcss": "^4.2.0",
132
135
  "tw-animate-css": "^1.4.0",
133
136
  "typescript": "^5.9.3",
134
- "typescript-eslint": "^8.53.0",
137
+ "typescript-eslint": "^8.56.0",
135
138
  "vite": "^7.3.1",
136
139
  "vite-plugin-dts": "^4.5.4",
137
- "vitest": "^4.0.17"
140
+ "vitest": "^4.0.18"
138
141
  },
139
142
  "optionalDependencies": {
140
- "@parcel/watcher-linux-x64-glibc": "^2.5.4",
141
- "@rollup/rollup-linux-x64-gnu": "4.55.1",
142
- "@tailwindcss/oxide-linux-x64-gnu": "^4.1.18",
143
- "lightningcss-linux-x64-gnu": "^1.30.2"
143
+ "@parcel/watcher-linux-x64-glibc": "^2.5.6",
144
+ "@rollup/rollup-linux-x64-gnu": "4.57.1",
145
+ "@tailwindcss/oxide-linux-x64-gnu": "^4.2.0",
146
+ "lightningcss-linux-x64-gnu": "^1.31.1"
144
147
  },
145
148
  "engines": {
146
149
  "node": ">=20.0.0",
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const CallsHeaderButtons: React.FC;
3
- export default CallsHeaderButtons;
@@ -1,6 +0,0 @@
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;
@@ -1,13 +0,0 @@
1
- import { default as React } from 'react';
2
- import { CallType } from '@connectycube/react';
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;
@@ -1,9 +0,0 @@
1
- import { default as React } from 'react';
2
- import { Messages } from '@connectycube/react';
3
- export interface MessageAttachmentProps {
4
- attachment: Messages.Attachment;
5
- uploading: boolean;
6
- stickToBottom?: (skipOnce?: boolean) => void;
7
- }
8
- declare const _default: React.NamedExoticComponent<MessageAttachmentProps>;
9
- export default _default;
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- type MessageBodyProps = {
3
- message: string;
4
- id: string;
5
- };
6
- declare const MessageBody: React.FC<MessageBodyProps>;
7
- export default MessageBody;
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- import { MessageStatus } from '@connectycube/react';
3
- type MessageStatusMarkProps = {
4
- status: MessageStatus;
5
- };
6
- declare const MessageStatusMark: React.FC<MessageStatusMarkProps>;
7
- export default MessageStatusMark;
@@ -1,9 +0,0 @@
1
- import { default as React } from 'react';
2
- type MessageTextSummaryProps = {
3
- stickToBottom?: (skipOnce?: boolean) => void;
4
- loading?: boolean;
5
- message: string;
6
- id: string;
7
- };
8
- declare const MessageTextSummary: React.FC<MessageTextSummaryProps>;
9
- export default MessageTextSummary;