@connectycube/chat-widget 0.33.0 → 0.35.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.
- package/CHANGELOG.md +64 -283
- package/README.md +11 -3
- package/dist/index.es.js +3264 -3096
- package/dist/index.umd.js +148 -62
- package/dist/{react19.es.js → react18.es.js} +3687 -2821
- package/dist/types/components/home/main/ai-dropdown-menu/ai-dropdown-change-tone.d.ts +14 -0
- package/dist/types/components/home/main/ai-dropdown-menu/ai-dropdown-get-summary.d.ts +11 -0
- package/dist/types/components/home/main/chat-ai-button.d.ts +8 -0
- package/dist/types/components/home/main/chat-input.d.ts +1 -0
- package/dist/types/components/home/main/chat-messages-list.d.ts +1 -0
- package/dist/types/components/home/main/message/call-message.d.ts +13 -0
- package/dist/types/components/home/main/message/message-text-summary.d.ts +8 -0
- package/dist/types/components/home/main/message/message.d.ts +1 -0
- package/dist/types/components/shadcn-ui/class-names.d.ts +4 -0
- package/dist/types/components/shadcn-ui/skeleton.d.ts +2 -0
- package/dist/types/helpers/connectycube.d.ts +1 -1
- package/dist/types/helpers/formatters.d.ts +1 -0
- package/dist/types/helpers/i18n.d.ts +5 -0
- package/dist/types/helpers/widget.d.ts +19 -0
- package/dist/types/hooks/index.d.ts +3 -1
- package/dist/types/hooks/store/useAppAIStore.d.ts +18 -0
- package/dist/types/hooks/useAppPresets.d.ts +6 -1
- package/dist/types/hooks/useCallHistory.d.ts +15 -0
- package/dist/types/locales/el/translation.json.d.ts +25 -1
- package/dist/types/locales/en/translation.json.d.ts +25 -1
- package/dist/types/locales/ua/translation.json.d.ts +25 -1
- package/dist/types/tests/formatters.test.d.ts +1 -0
- package/package.json +54 -43
|
@@ -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;
|
|
@@ -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;
|
|
@@ -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;
|
|
@@ -35,7 +35,11 @@ export declare const shadcnClassNames: {
|
|
|
35
35
|
dropdownMenuSubTrigger: ClassValue;
|
|
36
36
|
dropdownMenuSubContent: ClassValue;
|
|
37
37
|
input: ClassValue[];
|
|
38
|
+
inputSelection: {
|
|
39
|
+
blue: string;
|
|
40
|
+
};
|
|
38
41
|
label: ClassValue;
|
|
42
|
+
skeleton: ClassValue;
|
|
39
43
|
switch: ClassValue;
|
|
40
44
|
switchThumb: ClassValue;
|
|
41
45
|
tabs: ClassValue;
|
|
@@ -40,7 +40,7 @@ export declare const updateUserSettings: (settings: {
|
|
|
40
40
|
export declare const getSessionToken: () => string | null;
|
|
41
41
|
export declare const getSessionUserId: () => number | null;
|
|
42
42
|
export declare const isSessionExpired: () => boolean;
|
|
43
|
-
export declare const isUserIdChanged: (userId?: string) => boolean;
|
|
43
|
+
export declare const isUserIdChanged: (userId?: string | number | null) => boolean;
|
|
44
44
|
export declare const sha256: (str: string) => Promise<string>;
|
|
45
45
|
export declare const getUserName: (user: Users.User | null | undefined, force?: boolean) => string;
|
|
46
46
|
export declare const getPhotoUrl: (photoOrAvatar?: string | null) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatDuration: (seconds: number) => string;
|
|
@@ -10,3 +10,22 @@ export declare enum dataPrefix {
|
|
|
10
10
|
export declare const widgetFontSize = "15px";
|
|
11
11
|
export declare const widgetFontWeight = "400";
|
|
12
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;
|
|
@@ -32,9 +32,14 @@ export type AppPresets = {
|
|
|
32
32
|
termsAndConditions?: string;
|
|
33
33
|
quickActions?: QuickActions;
|
|
34
34
|
defaultChat?: DefaultChat | null;
|
|
35
|
+
ai?: {
|
|
36
|
+
changeMessageTone?: boolean;
|
|
37
|
+
textSummarization?: boolean;
|
|
38
|
+
apiKey?: string;
|
|
39
|
+
};
|
|
35
40
|
onUnreadCountChange?: (count: number) => void;
|
|
36
41
|
onOnlineUsersCountChange?: (count: number) => void;
|
|
37
42
|
onOpenChange?: (open: boolean) => void;
|
|
38
43
|
};
|
|
39
|
-
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, 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;
|
|
40
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;
|
|
@@ -103,7 +103,31 @@ declare const _default: {
|
|
|
103
103
|
"Next": "Επόμενο"
|
|
104
104
|
},
|
|
105
105
|
"SingleViewChatError": "Δεν βρέθηκαν αντίπαλοι για τη συνομιλία",
|
|
106
|
-
"Information": "Πληροφορίες"
|
|
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
|
+
}
|
|
107
131
|
}
|
|
108
132
|
;
|
|
109
133
|
|
|
@@ -103,7 +103,31 @@ declare const _default: {
|
|
|
103
103
|
"Next": "Next"
|
|
104
104
|
},
|
|
105
105
|
"SingleViewChatError": "Opponent(s) for the chat not found",
|
|
106
|
-
"Information": "Information"
|
|
106
|
+
"Information": "Information",
|
|
107
|
+
"AI": {
|
|
108
|
+
"GetSummary": "Get summary",
|
|
109
|
+
"ChangeMessageTone": "Change message tone",
|
|
110
|
+
"SummaryMessageTitle": "Only you can see this message",
|
|
111
|
+
"forLast7Days": "for last 7 days",
|
|
112
|
+
"forLastDay": "for last day",
|
|
113
|
+
"forUnreads": "for unreads",
|
|
114
|
+
"MessageTone": "Change message tone",
|
|
115
|
+
"EmptyMessage": "Can't change tone of empty message",
|
|
116
|
+
"positive": "positive",
|
|
117
|
+
"negative": "negative",
|
|
118
|
+
"cringe": "cringe"
|
|
119
|
+
},
|
|
120
|
+
"CallHistory": {
|
|
121
|
+
"RejectedIncoming": "Rejected incoming",
|
|
122
|
+
"RejectedOutgoing": "Rejected outgoing",
|
|
123
|
+
"Unanswered": "Unanswered",
|
|
124
|
+
"Missed": "Missed",
|
|
125
|
+
"Canceled": "Canceled",
|
|
126
|
+
"Ended": "Ended",
|
|
127
|
+
"videoCall": "video call",
|
|
128
|
+
"audioCall": "audio call",
|
|
129
|
+
"defaultCall": "call"
|
|
130
|
+
}
|
|
107
131
|
}
|
|
108
132
|
;
|
|
109
133
|
|
|
@@ -103,7 +103,31 @@ declare const _default: {
|
|
|
103
103
|
"Next": "Далі"
|
|
104
104
|
},
|
|
105
105
|
"SingleViewChatError": "Опонента(ів) для чату не знайдено",
|
|
106
|
-
"Information": "Інформація"
|
|
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
|
+
}
|
|
107
131
|
}
|
|
108
132
|
;
|
|
109
133
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
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.
|
|
4
|
+
"version": "0.35.0",
|
|
5
5
|
"license": "GPL-3.0-only",
|
|
6
6
|
"homepage": "https://github.com/ConnectyCube/connectycube-chat-widget#readme",
|
|
7
7
|
"bugs": {
|
|
@@ -45,8 +45,13 @@
|
|
|
45
45
|
},
|
|
46
46
|
"./react19": {
|
|
47
47
|
"types": "./dist/types/index.d.ts",
|
|
48
|
-
"import": "./dist/
|
|
49
|
-
"default": "./dist/
|
|
48
|
+
"import": "./dist/index.es.js",
|
|
49
|
+
"default": "./dist/index.es.js"
|
|
50
|
+
},
|
|
51
|
+
"./react18": {
|
|
52
|
+
"types": "./dist/types/index.d.ts",
|
|
53
|
+
"import": "./dist/react18.es.js",
|
|
54
|
+
"default": "./dist/react18.es.js"
|
|
50
55
|
}
|
|
51
56
|
},
|
|
52
57
|
"files": [
|
|
@@ -67,83 +72,89 @@
|
|
|
67
72
|
"tailwindcss": "npx @tailwindcss/cli -i ./src/index.css -o ./src/widget.css",
|
|
68
73
|
"tailwindcss:watch": "npx @tailwindcss/cli -i ./src/index.css -o ./src/widget.css --watch",
|
|
69
74
|
"tailwindcss:minify": "npx @tailwindcss/cli -i ./src/index.css -o ./src/widget.css --minify",
|
|
70
|
-
"dev": "npx npm-run-all --parallel vite:dev tailwindcss:watch",
|
|
71
75
|
"dev:18": "npm run react:18 && REACT_VERSION=18 BUNDLE_FORMAT=es vite",
|
|
72
76
|
"dev:19": "npm run react:19 && REACT_VERSION=19 BUNDLE_FORMAT=es vite",
|
|
73
|
-
"
|
|
77
|
+
"dev": "npx npm-run-all --parallel vite:dev tailwindcss:watch",
|
|
74
78
|
"build:18": "npm run tailwindcss:minify && npm run react:18 && REACT_VERSION=18 npm run vite:build:es && KEEP_DIST=true npm run vite:build:umd",
|
|
75
79
|
"build:19": "npm run tailwindcss:minify && npm run react:19 && REACT_VERSION=19 npm run vite:build:es",
|
|
76
80
|
"build:default": "npm run tailwindcss:minify && npm run vite:build",
|
|
81
|
+
"build": "npm run tailwindcss:minify && npm run react:18 && REACT_VERSION=18 npm run vite:build:es && KEEP_DIST=true npm run vite:build:umd && npm run react:19 && REACT_VERSION=19 KEEP_DIST=true npm run vite:build:es && npm run react:default",
|
|
77
82
|
"preview": "npm run tailwindcss && npm run vite:preview",
|
|
78
83
|
"lint": "eslint .",
|
|
79
84
|
"test": "vitest",
|
|
80
85
|
"test:ci": "vitest run",
|
|
81
86
|
"coverage": "vitest run --coverage",
|
|
82
|
-
"version": "
|
|
87
|
+
"version": "node ./scripts/bump-version.cjs",
|
|
88
|
+
"version:patch": "npm run version patch",
|
|
89
|
+
"version:minor": "npm run version minor",
|
|
90
|
+
"version:major": "npm run version major",
|
|
91
|
+
"changelog": "node ./scripts/changelog.cjs"
|
|
83
92
|
},
|
|
84
93
|
"dependencies": {
|
|
94
|
+
"@ai-sdk/google": "^2.0.17",
|
|
85
95
|
"@connectycube/use-calls": "^0.12.1",
|
|
86
|
-
"@connectycube/use-chat": "^0.
|
|
87
|
-
"@radix-ui/react-alert-dialog": "^1.1.
|
|
96
|
+
"@connectycube/use-chat": "^0.27.0",
|
|
97
|
+
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
88
98
|
"@radix-ui/react-avatar": "^1.1.10",
|
|
89
|
-
"@radix-ui/react-checkbox": "^1.3.
|
|
90
|
-
"@radix-ui/react-dialog": "^1.1.
|
|
91
|
-
"@radix-ui/react-dropdown-menu": "^2.1.
|
|
99
|
+
"@radix-ui/react-checkbox": "^1.3.3",
|
|
100
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
101
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
92
102
|
"@radix-ui/react-label": "^2.1.7",
|
|
93
103
|
"@radix-ui/react-slot": "^1.2.3",
|
|
94
|
-
"@radix-ui/react-switch": "^1.2.
|
|
95
|
-
"@radix-ui/react-tabs": "^1.1.
|
|
96
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
104
|
+
"@radix-ui/react-switch": "^1.2.6",
|
|
105
|
+
"@radix-ui/react-tabs": "^1.1.13",
|
|
106
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
107
|
+
"ai": "^5.0.54",
|
|
97
108
|
"class-variance-authority": "^0.7.1",
|
|
98
109
|
"clsx": "^2.1.1",
|
|
99
|
-
"connectycube": "^4.7.
|
|
100
|
-
"get-browser-fingerprint": "^4.1.
|
|
101
|
-
"i18next": "^25.
|
|
102
|
-
"linkify-react": "^4.3.
|
|
103
|
-
"linkifyjs": "^4.3.
|
|
104
|
-
"lucide-react": "^0.
|
|
110
|
+
"connectycube": "^4.7.2",
|
|
111
|
+
"get-browser-fingerprint": "^4.1.1",
|
|
112
|
+
"i18next": "^25.5.2",
|
|
113
|
+
"linkify-react": "^4.3.2",
|
|
114
|
+
"linkifyjs": "^4.3.2",
|
|
115
|
+
"lucide-react": "^0.544.0",
|
|
105
116
|
"next-themes": "^0.4.6",
|
|
106
|
-
"react-hook-form": "^7.
|
|
107
|
-
"react-i18next": "^
|
|
117
|
+
"react-hook-form": "^7.63.0",
|
|
118
|
+
"react-i18next": "^16.0.0",
|
|
108
119
|
"react-icons": "^5.5.0",
|
|
109
120
|
"react-intersection-observer": "^9.16.0",
|
|
110
121
|
"react-player": "^2.16.1",
|
|
111
|
-
"sonner": "^2.0.
|
|
112
|
-
"virtua": "^0.
|
|
113
|
-
"zustand": "^5.0.
|
|
122
|
+
"sonner": "^2.0.7",
|
|
123
|
+
"virtua": "^0.43.4",
|
|
124
|
+
"zustand": "^5.0.8"
|
|
114
125
|
},
|
|
115
126
|
"peerDependencies": {
|
|
116
127
|
"react": ">=18",
|
|
117
128
|
"react-dom": ">=18"
|
|
118
129
|
},
|
|
119
130
|
"devDependencies": {
|
|
120
|
-
"@eslint/js": "^9.
|
|
121
|
-
"@tailwindcss/postcss": "^4.1.
|
|
122
|
-
"@tailwindcss/vite": "^4.1.
|
|
123
|
-
"@types/node": "^24.
|
|
124
|
-
"@types/react": "^19.1.
|
|
125
|
-
"@types/react-dom": "^19.1.
|
|
126
|
-
"@vitejs/plugin-react": "^
|
|
131
|
+
"@eslint/js": "^9.36.0",
|
|
132
|
+
"@tailwindcss/postcss": "^4.1.13",
|
|
133
|
+
"@tailwindcss/vite": "^4.1.13",
|
|
134
|
+
"@types/node": "^24.5.2",
|
|
135
|
+
"@types/react": "^19.1.13",
|
|
136
|
+
"@types/react-dom": "^19.1.9",
|
|
137
|
+
"@vitejs/plugin-react": "^5.0.3",
|
|
127
138
|
"@vitest/coverage-v8": "^3.2.4",
|
|
128
|
-
"eslint": "^9.
|
|
139
|
+
"eslint": "^9.36.0",
|
|
129
140
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
130
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
131
|
-
"globals": "^16.
|
|
132
|
-
"jsdom": "^
|
|
141
|
+
"eslint-plugin-react-refresh": "^0.4.22",
|
|
142
|
+
"globals": "^16.4.0",
|
|
143
|
+
"jsdom": "^27.0.0",
|
|
133
144
|
"prettier": "3.6.2",
|
|
134
145
|
"tailwind-merge": "^3.3.1",
|
|
135
146
|
"tailwind-scrollbar": "^4.0.2",
|
|
136
|
-
"tailwindcss": "^4.1.
|
|
137
|
-
"tw-animate-css": "^1.
|
|
138
|
-
"typescript": "^5.
|
|
139
|
-
"typescript-eslint": "^8.
|
|
140
|
-
"vite": "^7.
|
|
147
|
+
"tailwindcss": "^4.1.13",
|
|
148
|
+
"tw-animate-css": "^1.4.0",
|
|
149
|
+
"typescript": "^5.9.2",
|
|
150
|
+
"typescript-eslint": "^8.44.1",
|
|
151
|
+
"vite": "^7.1.7",
|
|
141
152
|
"vite-plugin-dts": "^4.5.4",
|
|
142
153
|
"vitest": "^3.2.4"
|
|
143
154
|
},
|
|
144
155
|
"optionalDependencies": {
|
|
145
|
-
"@rollup/rollup-linux-x64-gnu": "4.
|
|
146
|
-
"@tailwindcss/oxide-linux-x64-gnu": "^4.1.
|
|
156
|
+
"@rollup/rollup-linux-x64-gnu": "4.52.2",
|
|
157
|
+
"@tailwindcss/oxide-linux-x64-gnu": "^4.1.13",
|
|
147
158
|
"lightningcss-linux-x64-gnu": "^1.30.1"
|
|
148
159
|
},
|
|
149
160
|
"engines": {
|