@tencentcloud/chat-uikit-react 3.4.4 → 3.4.6

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 CHANGED
@@ -1,3 +1,16 @@
1
+ ## [3.4.6] (2025-11-18)
2
+
3
+ #### fix
4
+ * Fix the problem of call message not having the peer userID when clicked again
5
+ * Fix the problem of missing call message text parameters
6
+ * Optimize the placeholder content and disabled logic of the text editor
7
+
8
+
9
+ ## [3.4.5] (2025-11-18)
10
+
11
+ #### chore
12
+ * update README.md
13
+
1
14
  ## [3.4.4] (2025-11-07)
2
15
 
3
16
  #### fix
package/README.md CHANGED
@@ -21,6 +21,10 @@
21
21
  </tr>
22
22
  </table>
23
23
 
24
+ ## 🚀 Recommended: Use the More Efficient AI Integration Assistant
25
+ We offer you a brand-new way to integrate AI. Just briefly describe your needs, and it will automatically generate the integration code, significantly boosting development efficiency.</br>
26
+ [Click here to experience the AI Integration Assistant immediately](https://cloud.tencent.com/document/product/269/124481)
27
+
24
28
  ## Integrating chat-uikit-react
25
29
  This tutorial shows how you can build a chat application in just 10 minutes by integrating chat-uikit-react
26
30
  [<img src="https://web.sdk.qcloud.com/im/assets/images/build_react_chat.png" width="800"/>](https://www.youtube.com/watch?v=o0PcxpGl66Y)
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { a as i, V as n } from "../../index-C0eFOcei-6p8FwrwR.js";
2
+ import { a as i, V as n } from "../../index-Bdq5g_zL-D-10MRRF.js";
3
3
  import { c as m } from "../../external_modules/classnames-HRMVOjAa.js";
4
4
  import { ChatProvider as l } from "../../context/ChatContext.js";
5
5
  import '../../styles/Chat.css';const h = "uikit-chat", p = {
@@ -2,7 +2,7 @@ import { jsx as a, Fragment as V, jsxs as B } from "react/jsx-runtime";
2
2
  import { useState as j, useRef as z, useMemo as n, useCallback as r } from "react";
3
3
  import { useUIKit as K, IconCallFilled as X, Dialog as Y } from "@tencentcloud/uikit-base-component-react";
4
4
  import { c as Z } from "../../../external_modules/classnames-HRMVOjAa.js";
5
- import { b as $, a as q, y as H, C as y, s as h, V as J, O as Q } from "../../../index-C0eFOcei-6p8FwrwR.js";
5
+ import { b as $, a as q, y as H, C as y, s as h, V as J, O as Q } from "../../../index-Bdq5g_zL-D-10MRRF.js";
6
6
  import '../../../styles/AudioCallPicker.css';const u = {
7
7
  "audio-call-picker__button": "uikit-audio-call-picker__button",
8
8
  "audio-call-picker__button--disabled": "uikit-audio-call-picker__button--disabled",
@@ -1,7 +1,7 @@
1
1
  import { jsx as v } from "react/jsx-runtime";
2
2
  import { useEffect as H } from "react";
3
3
  import { TUIUserService as U } from "@tencentcloud/chat-uikit-engine-lite";
4
- import { u as x } from "../../index-C0eFOcei-6p8FwrwR.js";
4
+ import { u as x } from "../../index-Bdq5g_zL-D-10MRRF.js";
5
5
  import { useChatHeader as y } from "../../hooks/useChatHeader.js";
6
6
  import g from "./ChatHeaderUI/ChatHeaderUI.js";
7
7
  const w = (t) => {
@@ -1,7 +1,7 @@
1
1
  import { jsx as t, jsxs as r } from "react/jsx-runtime";
2
2
  import { useUIKit as C } from "@tencentcloud/uikit-base-component-react";
3
3
  import { c as m } from "../../../external_modules/classnames-HRMVOjAa.js";
4
- import { V as a, A as v } from "../../../index-C0eFOcei-6p8FwrwR.js";
4
+ import { V as a, A as v } from "../../../index-Bdq5g_zL-D-10MRRF.js";
5
5
  import { AudioCallPicker as g } from "../AudioCallPicker/AudioCallPicker.js";
6
6
  import { VideoCallPicker as T } from "../VideoCallPicker/VideoCallPicker.js";
7
7
  import '../../../styles/ChatHeaderUI.css';const e = {
@@ -2,7 +2,7 @@ import { jsx as s, Fragment as F, jsxs as T } from "react/jsx-runtime";
2
2
  import { useState as B, useRef as j, useMemo as n, useCallback as l } from "react";
3
3
  import { useUIKit as z, IconVideoFilled as K, Dialog as X } from "@tencentcloud/uikit-base-component-react";
4
4
  import { c as Y } from "../../../external_modules/classnames-HRMVOjAa.js";
5
- import { b as Z, a as $, y as q, C as P, s as S, V as H, O as J } from "../../../index-C0eFOcei-6p8FwrwR.js";
5
+ import { b as Z, a as $, y as q, C as P, s as S, V as H, O as J } from "../../../index-Bdq5g_zL-D-10MRRF.js";
6
6
  import '../../../styles/VideoCallPicker.css';const u = {
7
7
  "video-call-picker__button": "uikit-video-call-picker__button",
8
8
  "video-call-picker__button--disabled": "uikit-video-call-picker__button--disabled",
@@ -2,7 +2,7 @@ import { jsx as i, jsxs as s } from "react/jsx-runtime";
2
2
  import W, { useState as x } from "react";
3
3
  import a from "@tencentcloud/chat-uikit-engine-lite";
4
4
  import { useUIKit as R, IconChevronLeft as F } from "@tencentcloud/uikit-base-component-react";
5
- import { A as G } from "../../index-C0eFOcei-6p8FwrwR.js";
5
+ import { A as G } from "../../index-Bdq5g_zL-D-10MRRF.js";
6
6
  import { DivWithEdit as S } from "../DivWithEdit/DivWithEdit.js";
7
7
  import { DatePicker as B } from "./DatePicker/DatePicker.js";
8
8
  const c = {
@@ -1,6 +1,6 @@
1
1
  import { jsxs as o, jsx as a } from "react/jsx-runtime";
2
2
  import { defaultUserAvatar as c } from "../../../constant/avatar.js";
3
- import { A as n } from "../../../index-C0eFOcei-6p8FwrwR.js";
3
+ import { A as n } from "../../../index-Bdq5g_zL-D-10MRRF.js";
4
4
  import { IconHorizontalMoreTwo as l } from "@tencentcloud/uikit-base-component-react";
5
5
  import '../../../styles/MyProfile.css';function v(i) {
6
6
  const { profile: r, className: s = "", handleAvatar: e } = i;
@@ -1,5 +1,5 @@
1
1
  import { useMemo as o } from "react";
2
- import { a as p, C as s } from "../index-C0eFOcei-6p8FwrwR.js";
2
+ import { a as p, C as s } from "../index-Bdq5g_zL-D-10MRRF.js";
3
3
  import { useUIManagerState as d } from "../states/UIManagerState.js";
4
4
  function G() {
5
5
  const { userStatusMap: i } = d(), { activeConversation: t } = p(), n = t ? t.type === s.SYSTEM : void 0, a = o(() => {
@@ -8,7 +8,7 @@ import { getPlatform as uc } from "@tencentcloud/universal-api";
8
8
  import * as Bf from "react-dom";
9
9
  import Js from "react-dom";
10
10
  import Ai from "@tencentcloud/lite-chat";
11
- import './styles/index-C0eFOcei.css';const bg = {}, ru = (n) => {
11
+ import './styles/index-Bdq5g_zL.css';const bg = {}, ru = (n) => {
12
12
  let e;
13
13
  const t = /* @__PURE__ */ new Set(), r = (u, d) => {
14
14
  const f = typeof u == "function" ? u(e) : u;
@@ -3522,7 +3522,7 @@ function zf(n) {
3522
3522
  let v = S || n.nameCard || n.nick || g;
3523
3523
  switch (v = yu(v), m.actionType) {
3524
3524
  case 1:
3525
- return (((e = p == null ? void 0 : p.data) == null ? void 0 : e.cmd) === "audioCall" || ((t = p == null ? void 0 : p.data) == null ? void 0 : t.cmd) === "videoCall") && m.groupID ? be.t("CallMessage.start_call", { messageSender: v }) : ((r = p == null ? void 0 : p.data) == null ? void 0 : r.cmd) === "hangup" ? m.groupID ? be.t("CallMessage.call_ended") : `${be.t("CallMessage.call_duration")}: ${hC(p == null ? void 0 : p.call_end)}` : ((i = p == null ? void 0 : p.data) == null ? void 0 : i.cmd) === "switchToAudio" ? be.t("CallMessage.switch_to_audio_call") : ((s = p == null ? void 0 : p.data) == null ? void 0 : s.cmd) === "switchToVideo" ? be.t("CallMessage.switch_to_video_call") : be.t("CallMessage.start_call");
3525
+ return (((e = p == null ? void 0 : p.data) == null ? void 0 : e.cmd) === "audioCall" || ((t = p == null ? void 0 : p.data) == null ? void 0 : t.cmd) === "videoCall") && m.groupID ? be.t("CallMessage.start_call", { messageSender: v }) : ((r = p == null ? void 0 : p.data) == null ? void 0 : r.cmd) === "hangup" ? m.groupID ? be.t("CallMessage.call_ended") : `${be.t("CallMessage.call_duration")}: ${hC(p == null ? void 0 : p.call_end)}` : ((i = p == null ? void 0 : p.data) == null ? void 0 : i.cmd) === "switchToAudio" ? be.t("CallMessage.switch_to_audio_call") : ((s = p == null ? void 0 : p.data) == null ? void 0 : s.cmd) === "switchToVideo" ? be.t("CallMessage.switch_to_video_call") : be.t("CallMessage.start_call", { messageSender: "" });
3526
3526
  case 2:
3527
3527
  return m.groupID ? `${v} ${be.t("CallMessage.cancel_call")}` : m.inviter === _ ? be.t("CallMessage.canceled") : be.t("CallMessage.canceled_by_recipient");
3528
3528
  case 3:
@@ -18563,12 +18563,13 @@ function nL(n, e, t) {
18563
18563
  }
18564
18564
  function Yi(n) {
18565
18565
  let t = n.parent.content.cutByIndex(n.startIndex, n.endIndex);
18566
- for (let r = n.depth; ; --r) {
18567
- let i = n.$from.node(r), s = n.$from.index(r), o = n.$to.indexAfter(r);
18568
- if (r < n.depth && i.canReplace(s, o, t))
18566
+ for (let r = n.depth, i = 0, s = 0; ; --r) {
18567
+ let o = n.$from.node(r), a = n.$from.index(r) + i, l = n.$to.indexAfter(r) - s;
18568
+ if (r < n.depth && o.canReplace(a, l, t))
18569
18569
  return r;
18570
- if (r == 0 || i.type.spec.isolating || !nL(i, s, o))
18570
+ if (r == 0 || o.type.spec.isolating || !nL(o, a, l))
18571
18571
  break;
18572
+ a && (i = 1), l < o.childCount && (s = 1);
18572
18573
  }
18573
18574
  return null;
18574
18575
  }
@@ -18982,7 +18983,7 @@ function _L(n, e, t, r) {
18982
18983
  let i = n.doc.resolve(e), s = n.doc.resolve(t);
18983
18984
  if (Tp(i, s, r))
18984
18985
  return n.step(new tt(e, t, r));
18985
- let o = Lp(i, n.doc.resolve(t));
18986
+ let o = Lp(i, s);
18986
18987
  o[o.length - 1] == 0 && o.pop();
18987
18988
  let a = -(i.depth + 1);
18988
18989
  o.unshift(a);
@@ -28312,7 +28313,7 @@ function mR(n = {}) {
28312
28313
  handleDOMEvents: {
28313
28314
  beforeinput(e, t) {
28314
28315
  let r = t.inputType, i = r == "historyUndo" ? Rm : r == "historyRedo" ? Im : null;
28315
- return i ? (t.preventDefault(), i(e.state, e.dispatch)) : !1;
28316
+ return !i || !e.editable ? !1 : (t.preventDefault(), i(e.state, e.dispatch));
28316
28317
  }
28317
28318
  }
28318
28319
  }
@@ -30078,9 +30079,10 @@ const Ar = {
30078
30079
  };
30079
30080
  function dI(n) {
30080
30081
  const { message: e } = n, { activeConversation: t } = wt(), r = Te(() => zf(e), [e.ID]), i = Te(() => Vf(e), [e.ID]), s = (t == null ? void 0 : t.type) === ur.C2C, o = () => {
30082
+ var a;
30081
30083
  !s || !t || !i || fC({
30082
30084
  type: i.data.data.call_type,
30083
- userIDList: i.data.inviteeList
30085
+ userIDList: [(a = t.userProfile) == null ? void 0 : a.userID]
30084
30086
  });
30085
30087
  };
30086
30088
  return s ? /* @__PURE__ */ b(B, { flexDir: "row", gap: 8, className: G(Ar["custom-message"], Ar["call-message-c2c"]), onClick: o, children: [
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ import { TUIContactContext as G, TUIContactContextProvider as W, useTUIContactCo
19
19
  import { ChatProvider as R, useChatContext as q } from "./context/ChatContext.js";
20
20
  import { useChatHeader as J } from "./hooks/useChatHeader.js";
21
21
  import { useUIManagerState as X } from "./states/UIManagerState.js";
22
- import { A as Z, c as _, d as $, G as ee, e as te, f as ae, g as se, h as oe, i as re, j as ne, k as ie, l as pe, m as ce, C as Ce, E as me, H as ue, L as xe, M as fe, n as Se, o as Ie, p as ve, I as ge, P as he, S as de, q as Pe, r as Ue, t as Le, v as Ae, J as Ne, U as Oe, K as Te, V as le, N as ye, s as De, w as Ee, x as Me, a as Ve, y as ke, b as we, z as Fe, B as Ke, u as He, D as be, F as Ge } from "./index-C0eFOcei-6p8FwrwR.js";
22
+ import { A as Z, c as _, d as $, G as ee, e as te, f as ae, g as se, h as oe, i as re, j as ne, k as ie, l as pe, m as ce, C as Ce, E as me, H as ue, L as xe, M as fe, n as Se, o as Ie, p as ve, I as ge, P as he, S as de, q as Pe, r as Ue, t as Le, v as Ae, J as Ne, U as Oe, K as Te, V as le, N as ye, s as De, w as Ee, x as Me, a as Ve, y as ke, b as we, z as Fe, B as Ke, u as He, D as be, F as Ge } from "./index-Bdq5g_zL-D-10MRRF.js";
23
23
  import './styles/index.css';var t = /* @__PURE__ */ ((e) => (e[e.UNKNOWN = 0] = "UNKNOWN", e[e.AUDIO = 1] = "AUDIO", e[e.VIDEO = 2] = "VIDEO", e))(t || {}), a = /* @__PURE__ */ ((e) => (e.ON = "ON", e.OFF = "OFF", e))(a || {});
24
24
  export {
25
25
  m as AudioCallPicker,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencentcloud/chat-uikit-react",
3
- "version": "3.4.4",
3
+ "version": "3.4.6",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@mui/base": "5.0.0-beta.66",
46
- "tuikit-atomicx-react": "3.4.4",
46
+ "tuikit-atomicx-react": "3.4.5",
47
47
  "classnames": "^2.5.1",
48
48
  "react-transition-group": "^4.4.5",
49
49
  "zustand": "^5.0.0"