@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
@@ -69,7 +69,65 @@ declare const _default: {
69
69
  "Accept": "Accept",
70
70
  "Reject": "Reject",
71
71
  "RejectedCall": "{{name}} rejected the call",
72
- "MissedCall": "Missed call from {{name}}"
72
+ "MissedCall": "Missed call from {{name}}",
73
+ "AuthForm": {
74
+ "Login": "Login",
75
+ "Password": "Password",
76
+ "Register": "Register",
77
+ "Registration": "Registration",
78
+ "LoginRequired": "Login is required",
79
+ "LoginMinLimit": "Login must be at least {{limit}} symbols",
80
+ "LoginMaxLimit": "Login must be at most {{limit}} symbols",
81
+ "PasswordRequired": "Login is required",
82
+ "PasswordMinLimit": "Password must be at least {{limit}} symbols",
83
+ "PasswordMaxLimit": "Password must be at most {{limit}} symbols",
84
+ "LoginDescription": "Enter your login and password to access your account",
85
+ "RegisterDescription": "Fill in the form below to sign up",
86
+ "ToRegister?": "Don't have an account?",
87
+ "ToLogin?": "Already have an account?"
88
+ },
89
+ "SingleViewForm": {
90
+ "Title": "Submit your contact data to start a chat",
91
+ "Subtitle": "We will not share your email address. Your email address is used solely to contact you",
92
+ "NamePlaceholder": "Name",
93
+ "NameRequired": "Name is required",
94
+ "EmailPlaceholder": "Email",
95
+ "EmailRequired": "Email is required",
96
+ "EmailInvalid": "Invalid email format",
97
+ "AcceptTermsAndConditions": "Accept terms and conditions",
98
+ "AcceptTermsAndConditionsError": "You must accept the terms and conditions",
99
+ "TermsAndConditionsText": "By clicking this checkbox, you agree to the",
100
+ "TermsAndConditionsLink": "terms and conditions",
101
+ "RememberMe": "Remember me",
102
+ "RememberMeText": "This is my private device",
103
+ "Next": "Next"
104
+ },
105
+ "SingleViewChatError": "Opponent(s) for the chat not found",
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
+ }
73
131
  }
74
132
  ;
75
133
 
@@ -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": "Ми не будемо передавати вашу електронну пошту. Ваша електронна пошта використовується виключно для зв'язку з вами",
92
+ "NamePlaceholder": "Ім'я",
93
+ "NameRequired": "Ім'я є обов'язковим",
94
+ "EmailPlaceholder": "Електронна пошта",
95
+ "EmailRequired": "Електронна пошта є обов'язковою",
96
+ "EmailInvalid": "Невірний формат електронної пошти",
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
 
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.32.1",
4
+ "version": "0.34.0",
5
5
  "license": "GPL-3.0-only",
6
6
  "homepage": "https://github.com/ConnectyCube/connectycube-chat-widget#readme",
7
7
  "bugs": {
@@ -44,9 +44,9 @@
44
44
  "default": "./dist/index.es.js"
45
45
  },
46
46
  "./react19": {
47
- "types": "./dist/react19/types/index.d.ts",
48
- "import": "./dist/react19/index.es.js",
49
- "default": "./dist/react19/index.es.js"
47
+ "types": "./dist/types/index.d.ts",
48
+ "import": "./dist/react19.es.js",
49
+ "default": "./dist/react19.es.js"
50
50
  }
51
51
  },
52
52
  "files": [
@@ -62,66 +62,76 @@
62
62
  "react:default": "npm install --no-save",
63
63
  "vite:dev": "vite",
64
64
  "vite:build": "tsc -b && vite build",
65
- "vite:preview": "vite preview",
65
+ "vite:build:es": "BUNDLE_FORMAT=es npm run vite:build",
66
+ "vite:build:umd": "BUNDLE_FORMAT=umd npm run vite:build",
66
67
  "tailwindcss": "npx @tailwindcss/cli -i ./src/index.css -o ./src/widget.css",
67
68
  "tailwindcss:watch": "npx @tailwindcss/cli -i ./src/index.css -o ./src/widget.css --watch",
68
69
  "tailwindcss:minify": "npx @tailwindcss/cli -i ./src/index.css -o ./src/widget.css --minify",
69
70
  "dev": "npx npm-run-all --parallel vite:dev tailwindcss:watch",
70
- "build": "npm run tailwindcss:minify && npm run react:18 && REACT_VERSION=18 npm run vite:build && npm run react:19 && REACT_VERSION=19 npm run vite:build && npm run react:default",
71
- "build:18": "npm run tailwindcss:minify && npm run react:18 && REACT_VERSION=18 npm run vite:build",
72
- "build:19": "npm run tailwindcss:minify && npm run react:19 && REACT_VERSION=19 npm run vite:build",
71
+ "dev:18": "npm run react:18 && REACT_VERSION=18 BUNDLE_FORMAT=es vite",
72
+ "dev:19": "npm run react:19 && REACT_VERSION=19 BUNDLE_FORMAT=es vite",
73
+ "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",
74
+ "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
+ "build:19": "npm run tailwindcss:minify && npm run react:19 && REACT_VERSION=19 npm run vite:build:es",
73
76
  "build:default": "npm run tailwindcss:minify && npm run vite:build",
74
77
  "preview": "npm run tailwindcss && npm run vite:preview",
75
78
  "lint": "eslint .",
76
79
  "test": "vitest",
77
80
  "test:ci": "vitest run",
78
81
  "coverage": "vitest run --coverage",
79
- "version": "sh ./fetch-version.sh"
82
+ "version": "node ./scripts/bump-version.cjs",
83
+ "version:patch": "npm run version patch",
84
+ "version:minor": "npm run version minor",
85
+ "version:major": "npm run version major",
86
+ "changelog": "node ./scripts/changelog.cjs"
80
87
  },
81
88
  "dependencies": {
89
+ "@ai-sdk/google": "^2.0.7",
82
90
  "@connectycube/use-calls": "^0.12.1",
83
- "@connectycube/use-chat": "^0.26.2",
84
- "@radix-ui/react-alert-dialog": "^1.1.14",
91
+ "@connectycube/use-chat": "^0.27.0",
92
+ "@radix-ui/react-alert-dialog": "^1.1.15",
85
93
  "@radix-ui/react-avatar": "^1.1.10",
86
- "@radix-ui/react-dialog": "^1.1.14",
87
- "@radix-ui/react-dropdown-menu": "^2.1.15",
94
+ "@radix-ui/react-checkbox": "^1.3.3",
95
+ "@radix-ui/react-dialog": "^1.1.15",
96
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
88
97
  "@radix-ui/react-label": "^2.1.7",
89
98
  "@radix-ui/react-slot": "^1.2.3",
90
- "@radix-ui/react-switch": "^1.2.5",
91
- "@radix-ui/react-tabs": "^1.1.12",
92
- "@radix-ui/react-tooltip": "^1.2.7",
99
+ "@radix-ui/react-switch": "^1.2.6",
100
+ "@radix-ui/react-tabs": "^1.1.13",
101
+ "@radix-ui/react-tooltip": "^1.2.8",
102
+ "ai": "^5.0.18",
93
103
  "class-variance-authority": "^0.7.1",
94
104
  "clsx": "^2.1.1",
95
105
  "connectycube": "^4.7.1",
96
106
  "get-browser-fingerprint": "^4.1.0",
97
- "i18next": "^25.3.2",
98
- "linkify-react": "^4.3.1",
99
- "linkifyjs": "^4.3.1",
100
- "lucide-react": "^0.525.0",
107
+ "i18next": "^25.3.6",
108
+ "linkify-react": "^4.3.2",
109
+ "linkifyjs": "^4.3.2",
110
+ "lucide-react": "^0.540.0",
101
111
  "next-themes": "^0.4.6",
102
- "react-hook-form": "^7.60.0",
103
- "react-i18next": "^15.6.0",
112
+ "react-hook-form": "^7.62.0",
113
+ "react-i18next": "^15.6.1",
104
114
  "react-icons": "^5.5.0",
105
115
  "react-intersection-observer": "^9.16.0",
106
116
  "react-player": "^2.16.1",
107
- "sonner": "^2.0.6",
117
+ "sonner": "^2.0.7",
108
118
  "virtua": "^0.41.5",
109
- "zustand": "^5.0.6"
119
+ "zustand": "^5.0.8"
110
120
  },
111
121
  "peerDependencies": {
112
122
  "react": ">=18",
113
123
  "react-dom": ">=18"
114
124
  },
115
125
  "devDependencies": {
116
- "@eslint/js": "^9.31.0",
117
- "@tailwindcss/postcss": "^4.1.11",
118
- "@tailwindcss/vite": "^4.1.11",
119
- "@types/node": "^24.0.13",
120
- "@types/react": "^19.1.8",
121
- "@types/react-dom": "^19.1.6",
122
- "@vitejs/plugin-react": "^4.6.0",
126
+ "@eslint/js": "^9.33.0",
127
+ "@tailwindcss/postcss": "^4.1.12",
128
+ "@tailwindcss/vite": "^4.1.12",
129
+ "@types/node": "^24.3.0",
130
+ "@types/react": "^19.1.10",
131
+ "@types/react-dom": "^19.1.7",
132
+ "@vitejs/plugin-react": "^5.0.1",
123
133
  "@vitest/coverage-v8": "^3.2.4",
124
- "eslint": "^9.31.0",
134
+ "eslint": "^9.33.0",
125
135
  "eslint-plugin-react-hooks": "^5.2.0",
126
136
  "eslint-plugin-react-refresh": "^0.4.20",
127
137
  "globals": "^16.3.0",
@@ -129,17 +139,17 @@
129
139
  "prettier": "3.6.2",
130
140
  "tailwind-merge": "^3.3.1",
131
141
  "tailwind-scrollbar": "^4.0.2",
132
- "tailwindcss": "^4.1.11",
133
- "tw-animate-css": "^1.3.5",
134
- "typescript": "^5.8.3",
135
- "typescript-eslint": "^8.36.0",
136
- "vite": "^7.0.4",
142
+ "tailwindcss": "^4.1.12",
143
+ "tw-animate-css": "^1.3.7",
144
+ "typescript": "^5.9.2",
145
+ "typescript-eslint": "^8.40.0",
146
+ "vite": "^7.1.3",
137
147
  "vite-plugin-dts": "^4.5.4",
138
148
  "vitest": "^3.2.4"
139
149
  },
140
150
  "optionalDependencies": {
141
- "@rollup/rollup-linux-x64-gnu": "4.45.0",
142
- "@tailwindcss/oxide-linux-x64-gnu": "^4.1.11",
151
+ "@rollup/rollup-linux-x64-gnu": "4.46.4",
152
+ "@tailwindcss/oxide-linux-x64-gnu": "^4.1.12",
143
153
  "lightningcss-linux-x64-gnu": "^1.30.1"
144
154
  },
145
155
  "engines": {
@@ -1,44 +0,0 @@
1
- self.addEventListener('install', (event) => {
2
- self.skipWaiting();
3
- });
4
-
5
- self.addEventListener('push', (event) => {
6
- const { data } = event.data?.json() || {};
7
- const title = data.title || '';
8
- const options = {
9
- body: data.message || '',
10
- icon: data.photo || '/logo.png',
11
- };
12
-
13
- event.waitUntil(self.registration.showNotification(title, options));
14
- });
15
-
16
- self.addEventListener('notificationclick', (event) => {
17
- event.notification.close();
18
- event.waitUntil(
19
- clients.matchAll({ type: 'window', includeUncontrolled: true }).then((clientList) => {
20
- const matchedClient = clientList.find((client) =>
21
- client.url.startsWith(self.location.origin) && 'focus' in client
22
- );
23
-
24
- if (matchedClient) {
25
- matchedClient.focus();
26
- } else {
27
- clients.openWindow('/').then((chatWidget) => {
28
- const payload = {
29
- badge: event.notification.badge || '',
30
- body: event.notification.body || '',
31
- data: event.notification.data || null,
32
- dir: event.notification.dir || '',
33
- lang: event.notification.lang || '',
34
- title: event.notification.title || '',
35
- icon: event.notification.icon || '',
36
- timestamp: event.notification.timestamp || Date.now(),
37
- };
38
-
39
- chatWidget?.postMessage({ action: 'connectycube-chat-widget-sw/initialNotification', payload });
40
- });
41
- }
42
- })
43
- );
44
- });
Binary file
@@ -1,23 +0,0 @@
1
- import { Config } from 'connectycube/types';
2
- import { AppPresets } from './hooks/useAppPresets';
3
- export type AppProps = AppPresets & {
4
- appId: Config.Credentials['appId'];
5
- authKey: Config.Credentials['authKey'];
6
- config?: Config.Options;
7
- userId?: string;
8
- userName?: string;
9
- userAvatar?: string;
10
- userProfileLink?: string;
11
- translation?: 'en' | 'el' | 'ua';
12
- disableClickOutside?: boolean;
13
- disableEscKeyPress?: boolean;
14
- hideWidgetButton?: boolean;
15
- buttonTitle?: string;
16
- portalStyle?: React.CSSProperties;
17
- overlayStyle?: React.CSSProperties;
18
- buttonStyle?: React.CSSProperties;
19
- badgeStyle?: React.CSSProperties;
20
- onlineBadgeStyle?: React.CSSProperties;
21
- };
22
- declare const App: React.FC<AppProps>;
23
- export default App;
@@ -1,2 +0,0 @@
1
- declare const CallsConfirmIncoming: React.FC;
2
- export default CallsConfirmIncoming;
@@ -1,6 +0,0 @@
1
- type CallsFullscreenStreamProps = {
2
- fullscreenStream: React.ReactNode;
3
- cornerStream: React.ReactNode;
4
- };
5
- declare const CallsFullscreenStream: React.FC<CallsFullscreenStreamProps>;
6
- export default CallsFullscreenStream;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const CallsHeaderButtons: React.FC;
3
- export default CallsHeaderButtons;
@@ -1,2 +0,0 @@
1
- declare const CallsModalScreen: React.FC;
2
- export default CallsModalScreen;
@@ -1,5 +0,0 @@
1
- type CallsNavButtonsProps = {
2
- customButton?: React.ReactNode;
3
- };
4
- declare const CallsNavButtons: React.FC<CallsNavButtonsProps>;
5
- export default CallsNavButtons;
@@ -1,2 +0,0 @@
1
- declare const CallsNavHungUp: React.FC;
2
- export default CallsNavHungUp;
@@ -1,2 +0,0 @@
1
- declare const CallsNavScreenShare: React.FC;
2
- export default CallsNavScreenShare;
@@ -1,2 +0,0 @@
1
- declare const CallsNavToggleCamera: React.FC;
2
- export default CallsNavToggleCamera;
@@ -1,2 +0,0 @@
1
- declare const CallsNavToggleMic: React.FC;
2
- export default CallsNavToggleMic;
@@ -1,2 +0,0 @@
1
- declare const Home: () => import("react/jsx-runtime").JSX.Element;
2
- export default Home;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const ChatHeaderAvatar: React.FC;
3
- export default ChatHeaderAvatar;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const ChatHeaderBackButton: React.FC;
3
- export default ChatHeaderBackButton;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const ChatHeaderButtons: React.FC;
3
- export default ChatHeaderButtons;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const ChatHeaderTitles: React.FC;
3
- export default ChatHeaderTitles;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const ChatHeader: React.FC;
3
- export default ChatHeader;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const _default: React.NamedExoticComponent<{}>;
3
- export default _default;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const _default: React.NamedExoticComponent<{}>;
3
- export default _default;
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- import { Users } from 'connectycube/types';
3
- export interface ChatInfoUserProps {
4
- user?: Users.User | null;
5
- }
6
- declare const _default: React.NamedExoticComponent<ChatInfoUserProps>;
7
- export default _default;
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- import { Dialogs } from 'connectycube/types';
3
- export interface ChatInputProps {
4
- onSendMessage: (message: string, dialog?: Dialogs.Dialog) => void;
5
- onSendMessageWithAttachment: (files: File[]) => void;
6
- }
7
- declare const _default: React.NamedExoticComponent<ChatInputProps>;
8
- export default _default;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- type ChatMessagesListProps = {
3
- onSendMessage: (text: string) => void;
4
- };
5
- declare const ChatMessagesList: React.FC<ChatMessagesListProps>;
6
- export default ChatMessagesList;
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface GroupMemberProps {
3
- userId: number;
4
- name: string;
5
- avatar?: string | null;
6
- }
7
- declare const _default: React.NamedExoticComponent<GroupMemberProps>;
8
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const Main: () => import("react/jsx-runtime").JSX.Element;
2
- export default Main;
@@ -1,9 +0,0 @@
1
- import { Messages } from 'connectycube/types';
2
- import { default as React } from '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,6 +0,0 @@
1
- type MessageBodyProps = {
2
- message: string;
3
- id: string;
4
- };
5
- declare const MessageBody: React.FC<MessageBodyProps>;
6
- export default MessageBody;
@@ -1,6 +0,0 @@
1
- import { MessageStatus } from '@connectycube/use-chat';
2
- type MessageStatusMarkProps = {
3
- status: MessageStatus;
4
- };
5
- declare const MessageStatusMark: React.FC<MessageStatusMarkProps>;
6
- export default MessageStatusMark;
@@ -1,7 +0,0 @@
1
- type MessageUrlPreviewProps = {
2
- message: string;
3
- id: string;
4
- stickToBottom?: (skipOnce?: boolean) => void;
5
- };
6
- declare const MessageUrlPreview: React.FC<MessageUrlPreviewProps>;
7
- export default MessageUrlPreview;
@@ -1,15 +0,0 @@
1
- import { default as React } from 'react';
2
- import { Messages } from 'connectycube/types';
3
- export interface MessageProps {
4
- message: Messages.Message;
5
- senderName?: string;
6
- senderAvatar?: string | null;
7
- isLastMessage: boolean;
8
- isPlaceholder: boolean;
9
- isSameUserSender: boolean;
10
- isCurrentUserSender: boolean;
11
- enableUrlPreview?: boolean;
12
- stickToBottom?: (id: string, skipOnce?: boolean) => void;
13
- }
14
- declare const Message: React.FC<MessageProps>;
15
- export default Message;
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- import { Users } from 'connectycube/types';
3
- export interface MyBlockListItemProps {
4
- user?: Users.User;
5
- }
6
- declare const _default: React.NamedExoticComponent<MyBlockListItemProps>;
7
- export default _default;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const MyBlockList: React.FC;
3
- export default MyBlockList;
@@ -1,2 +0,0 @@
1
- declare const MyProfileSettings: () => import("react/jsx-runtime").JSX.Element;
2
- export default MyProfileSettings;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const MyProfile: React.FC;
3
- export default MyProfile;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- type ProfileInfoProps = {
3
- profileClassName: string;
4
- };
5
- declare const _default: React.NamedExoticComponent<ProfileInfoProps>;
6
- export default _default;
@@ -1,5 +0,0 @@
1
- export interface QuickActionsProps {
2
- sendMessage: (text: string) => void;
3
- }
4
- declare const QuickActions: React.FC<QuickActionsProps>;
5
- export default QuickActions;
@@ -1,6 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface ReportUserDialogProps {
3
- userId: number;
4
- }
5
- declare const _default: React.NamedExoticComponent<ReportUserDialogProps>;
6
- export default _default;
@@ -1,7 +0,0 @@
1
- import { USER_STATUS } from '../../../../helpers/connectycube';
2
- type UserStatusBadgeProps = {
3
- status: USER_STATUS;
4
- size?: number;
5
- };
6
- declare const UserStatusBadge: React.FC<UserStatusBadgeProps>;
7
- export default UserStatusBadge;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const UserStatusSelect: React.FC;
3
- export default UserStatusSelect;
@@ -1,6 +0,0 @@
1
- import { USER_STATUS } from '../../../../helpers/connectycube';
2
- type UserStatusProps = {
3
- status: USER_STATUS;
4
- };
5
- declare const UserStatus: React.FC<UserStatusProps>;
6
- export default UserStatus;
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- import { Dialogs } from 'connectycube/types';
3
- export interface ChatItemProps {
4
- dialog: Dialogs.Dialog;
5
- isFirstInList?: boolean;
6
- }
7
- declare const ChatItem: React.FC<ChatItemProps>;
8
- export default ChatItem;
@@ -1,3 +0,0 @@
1
- import { default as React } from 'react';
2
- declare const _default: React.NamedExoticComponent<{}>;
3
- export default _default;