@tdesign-react/chat 1.0.2-alpha.6 → 1.0.2-alpha.8

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 (230) hide show
  1. package/es/_util/reactify.d.ts +2 -1
  2. package/es/_util/reactify.js +231 -81
  3. package/es/_util/reactify.js.map +1 -1
  4. package/es/_util/useDynamicStyle.js +1 -1
  5. package/es/attachments/index.js +6 -4
  6. package/es/attachments/index.js.map +1 -1
  7. package/es/chat-actionbar/index.js +6 -4
  8. package/es/chat-actionbar/index.js.map +1 -1
  9. package/es/chat-attachments/index.js +1 -3
  10. package/es/chat-attachments/index.js.map +1 -1
  11. package/es/chat-engine/components/provider/agent-state.js +2 -6
  12. package/es/chat-engine/components/provider/agent-state.js.map +1 -1
  13. package/es/chat-engine/components/toolcall/index.js +2 -7
  14. package/es/chat-engine/components/toolcall/index.js.map +1 -1
  15. package/es/chat-engine/components/toolcall/registry.js +1 -1
  16. package/es/chat-engine/components/toolcall/render.d.ts +1 -1
  17. package/es/chat-engine/components/toolcall/render.js +24 -68
  18. package/es/chat-engine/components/toolcall/render.js.map +1 -1
  19. package/es/chat-engine/components/toolcall/types.js +1 -1
  20. package/es/chat-engine/hooks/useAgentState.js +2 -6
  21. package/es/chat-engine/hooks/useAgentState.js.map +1 -1
  22. package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
  23. package/es/chat-engine/hooks/useChat.d.ts +2 -2
  24. package/es/chat-engine/hooks/useChat.js +3 -37
  25. package/es/chat-engine/hooks/useChat.js.map +1 -1
  26. package/es/chat-engine/index.d.ts +1 -3
  27. package/es/chat-engine/index.js +3 -36
  28. package/es/chat-engine/index.js.map +1 -1
  29. package/es/chat-filecard/index.js +6 -4
  30. package/es/chat-filecard/index.js.map +1 -1
  31. package/es/chat-loading/index.js +6 -4
  32. package/es/chat-loading/index.js.map +1 -1
  33. package/es/chat-markdown/index.js +6 -4
  34. package/es/chat-markdown/index.js.map +1 -1
  35. package/es/chat-message/index.js +6 -4
  36. package/es/chat-message/index.js.map +1 -1
  37. package/es/chat-sender/index.js +6 -4
  38. package/es/chat-sender/index.js.map +1 -1
  39. package/es/chat-thinking/index.js +6 -4
  40. package/es/chat-thinking/index.js.map +1 -1
  41. package/es/chatbot/components/provider/agent-state.d.ts +5 -0
  42. package/es/chatbot/components/provider/agent-state.js +28 -0
  43. package/es/chatbot/components/provider/agent-state.js.map +1 -0
  44. package/es/{chat-engine/components/activity → chatbot/components/toolcall}/index.d.ts +0 -1
  45. package/es/chatbot/components/toolcall/index.js +19 -0
  46. package/es/{chat-engine/components/activity → chatbot/components/toolcall}/index.js.map +1 -1
  47. package/es/chatbot/components/toolcall/registry.d.ts +35 -0
  48. package/es/{chat-engine/components/activity → chatbot/components/toolcall}/registry.js +22 -32
  49. package/es/chatbot/components/toolcall/registry.js.map +1 -0
  50. package/es/chatbot/components/toolcall/render.d.ts +13 -0
  51. package/es/chatbot/components/toolcall/render.js +207 -0
  52. package/es/chatbot/components/toolcall/render.js.map +1 -0
  53. package/es/chatbot/components/toolcall/types.d.ts +57 -0
  54. package/es/chatbot/components/toolcall/types.js +15 -0
  55. package/es/chatbot/components/toolcall/types.js.map +1 -0
  56. package/es/chatbot/hooks/useAgentState.d.ts +40 -0
  57. package/es/chatbot/hooks/useAgentState.js +76 -0
  58. package/es/chatbot/hooks/useAgentState.js.map +1 -0
  59. package/es/chatbot/hooks/useAgentToolcall.d.ts +28 -0
  60. package/es/chatbot/hooks/useAgentToolcall.js +78 -0
  61. package/es/chatbot/hooks/useAgentToolcall.js.map +1 -0
  62. package/es/chatbot/hooks/useChat.d.ts +11 -0
  63. package/es/chatbot/hooks/useChat.js +66 -0
  64. package/es/chatbot/hooks/useChat.js.map +1 -0
  65. package/es/chatbot/index.js +6 -4
  66. package/es/chatbot/index.js.map +1 -1
  67. package/es/index.js +9 -36
  68. package/es/index.js.map +1 -1
  69. package/es/style/index.js +1 -1
  70. package/package.json +2 -2
  71. package/es/chat-actionbar/_example-js/base.d.ts +0 -2
  72. package/es/chat-actionbar/_example-js/custom.d.ts +0 -2
  73. package/es/chat-actionbar/_example-js/style.d.ts +0 -2
  74. package/es/chat-attachments/_example-js/base.d.ts +0 -2
  75. package/es/chat-attachments/_example-js/scroll-x.d.ts +0 -2
  76. package/es/chat-attachments/_example-js/scroll-y.d.ts +0 -2
  77. package/es/chat-engine/_example-js/agui-basic.d.ts +0 -10
  78. package/es/chat-engine/_example-js/agui-comprehensive.d.ts +0 -2
  79. package/es/chat-engine/_example-js/agui-test.d.ts +0 -11
  80. package/es/chat-engine/_example-js/agui-toolcall.d.ts +0 -5
  81. package/es/chat-engine/_example-js/agui-videoclip.d.ts +0 -8
  82. package/es/chat-engine/_example-js/agui.d.ts +0 -1
  83. package/es/chat-engine/_example-js/basic.d.ts +0 -9
  84. package/es/chat-engine/_example-js/components/HotelCard.d.ts +0 -3
  85. package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +0 -6
  86. package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +0 -3
  87. package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +0 -3
  88. package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +0 -4
  89. package/es/chat-engine/_example-js/components/Toolcall.d.ts +0 -4
  90. package/es/chat-engine/_example-js/components/WeatherCard.d.ts +0 -3
  91. package/es/chat-engine/_example-js/components/login.d.ts +0 -1
  92. package/es/chat-engine/_example-js/comprehensive.d.ts +0 -12
  93. package/es/chat-engine/_example-js/custom-content.d.ts +0 -1
  94. package/es/chat-engine/_example-js/hookComponent.d.ts +0 -1
  95. package/es/chat-engine/_example-js/initial-messages.d.ts +0 -9
  96. package/es/chat-engine/_example-js/instance-methods.d.ts +0 -13
  97. package/es/chat-engine/_example-js/travel-actions.d.ts +0 -91
  98. package/es/chat-engine/_example-js/travelToolcall.d.ts +0 -1
  99. package/es/chat-engine/components/activity/index.js +0 -18
  100. package/es/chat-engine/components/activity/registry.d.ts +0 -44
  101. package/es/chat-engine/components/activity/registry.js.map +0 -1
  102. package/es/chat-engine/components/activity/render.d.ts +0 -11
  103. package/es/chat-engine/components/activity/render.js +0 -107
  104. package/es/chat-engine/components/activity/render.js.map +0 -1
  105. package/es/chat-engine/components/activity/types.d.ts +0 -32
  106. package/es/chat-engine/components/activity/types.js +0 -7
  107. package/es/chat-engine/components/activity/types.js.map +0 -1
  108. package/es/chat-engine/components/index.d.ts +0 -3
  109. package/es/chat-engine/components/index.js +0 -30
  110. package/es/chat-engine/components/index.js.map +0 -1
  111. package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +0 -109
  112. package/es/chat-engine/core/adapters/agui/event-mapper.js +0 -370
  113. package/es/chat-engine/core/adapters/agui/event-mapper.js.map +0 -1
  114. package/es/chat-engine/core/adapters/agui/events.d.ts +0 -1550
  115. package/es/chat-engine/core/adapters/agui/events.js +0 -199
  116. package/es/chat-engine/core/adapters/agui/events.js.map +0 -1
  117. package/es/chat-engine/core/adapters/agui/index.d.ts +0 -75
  118. package/es/chat-engine/core/adapters/agui/index.js +0 -175
  119. package/es/chat-engine/core/adapters/agui/index.js.map +0 -1
  120. package/es/chat-engine/core/adapters/agui/state-manager.d.ts +0 -99
  121. package/es/chat-engine/core/adapters/agui/state-manager.js +0 -168
  122. package/es/chat-engine/core/adapters/agui/state-manager.js.map +0 -1
  123. package/es/chat-engine/core/adapters/agui/types.d.ts +0 -817
  124. package/es/chat-engine/core/adapters/agui/types.js +0 -95
  125. package/es/chat-engine/core/adapters/agui/types.js.map +0 -1
  126. package/es/chat-engine/core/adapters/agui/utils.d.ts +0 -197
  127. package/es/chat-engine/core/adapters/agui/utils.js +0 -311
  128. package/es/chat-engine/core/adapters/agui/utils.js.map +0 -1
  129. package/es/chat-engine/core/index.d.ts +0 -132
  130. package/es/chat-engine/core/index.js +0 -597
  131. package/es/chat-engine/core/index.js.map +0 -1
  132. package/es/chat-engine/core/processor/index.d.ts +0 -20
  133. package/es/chat-engine/core/processor/index.js +0 -146
  134. package/es/chat-engine/core/processor/index.js.map +0 -1
  135. package/es/chat-engine/core/server/batch-client.d.ts +0 -20
  136. package/es/chat-engine/core/server/batch-client.js +0 -114
  137. package/es/chat-engine/core/server/batch-client.js.map +0 -1
  138. package/es/chat-engine/core/server/connection-manager.d.ts +0 -39
  139. package/es/chat-engine/core/server/connection-manager.js +0 -84
  140. package/es/chat-engine/core/server/connection-manager.js.map +0 -1
  141. package/es/chat-engine/core/server/errors.d.ts +0 -22
  142. package/es/chat-engine/core/server/errors.js +0 -80
  143. package/es/chat-engine/core/server/errors.js.map +0 -1
  144. package/es/chat-engine/core/server/index.d.ts +0 -11
  145. package/es/chat-engine/core/server/index.js +0 -26
  146. package/es/chat-engine/core/server/index.js.map +0 -1
  147. package/es/chat-engine/core/server/llm-service.d.ts +0 -44
  148. package/es/chat-engine/core/server/llm-service.js +0 -198
  149. package/es/chat-engine/core/server/llm-service.js.map +0 -1
  150. package/es/chat-engine/core/server/sse-client.d.ts +0 -77
  151. package/es/chat-engine/core/server/sse-client.js +0 -362
  152. package/es/chat-engine/core/server/sse-client.js.map +0 -1
  153. package/es/chat-engine/core/server/sse-parser.d.ts +0 -49
  154. package/es/chat-engine/core/server/sse-parser.js +0 -116
  155. package/es/chat-engine/core/server/sse-parser.js.map +0 -1
  156. package/es/chat-engine/core/server/types.d.ts +0 -54
  157. package/es/chat-engine/core/server/types.js +0 -28
  158. package/es/chat-engine/core/server/types.js.map +0 -1
  159. package/es/chat-engine/core/store/message.d.ts +0 -27
  160. package/es/chat-engine/core/store/message.js +0 -263
  161. package/es/chat-engine/core/store/message.js.map +0 -1
  162. package/es/chat-engine/core/store/model.d.ts +0 -8
  163. package/es/chat-engine/core/store/model.js +0 -65
  164. package/es/chat-engine/core/store/model.js.map +0 -1
  165. package/es/chat-engine/core/store/reactiveState.d.ts +0 -52
  166. package/es/chat-engine/core/store/reactiveState.js +0 -1359
  167. package/es/chat-engine/core/store/reactiveState.js.map +0 -1
  168. package/es/chat-engine/core/type.d.ts +0 -255
  169. package/es/chat-engine/core/type.js +0 -7
  170. package/es/chat-engine/core/type.js.map +0 -1
  171. package/es/chat-engine/core/utils/eventEmitter.d.ts +0 -10
  172. package/es/chat-engine/core/utils/eventEmitter.js +0 -67
  173. package/es/chat-engine/core/utils/eventEmitter.js.map +0 -1
  174. package/es/chat-engine/core/utils/index.d.ts +0 -33
  175. package/es/chat-engine/core/utils/index.js +0 -999
  176. package/es/chat-engine/core/utils/index.js.map +0 -1
  177. package/es/chat-engine/core/utils/logger.d.ts +0 -30
  178. package/es/chat-engine/core/utils/logger.js +0 -87
  179. package/es/chat-engine/core/utils/logger.js.map +0 -1
  180. package/es/chat-engine/hooks/index.d.ts +0 -4
  181. package/es/chat-engine/hooks/index.js +0 -50
  182. package/es/chat-engine/hooks/index.js.map +0 -1
  183. package/es/chat-engine/hooks/useAgentActivity.d.ts +0 -16
  184. package/es/chat-engine/hooks/useAgentActivity.js +0 -73
  185. package/es/chat-engine/hooks/useAgentActivity.js.map +0 -1
  186. package/es/chat-filecard/_example-js/base.d.ts +0 -1
  187. package/es/chat-loading/_example-js/base.d.ts +0 -2
  188. package/es/chat-loading/_example-js/text.d.ts +0 -2
  189. package/es/chat-markdown/_example-js/base.d.ts +0 -1
  190. package/es/chat-markdown/_example-js/custom.d.ts +0 -2
  191. package/es/chat-markdown/_example-js/event.d.ts +0 -1
  192. package/es/chat-markdown/_example-js/footnote.d.ts +0 -2
  193. package/es/chat-markdown/_example-js/plugin.d.ts +0 -2
  194. package/es/chat-markdown/_example-js/theme.d.ts +0 -2
  195. package/es/chat-message/_example-js/action.d.ts +0 -1
  196. package/es/chat-message/_example-js/base.d.ts +0 -1
  197. package/es/chat-message/_example-js/configure.d.ts +0 -1
  198. package/es/chat-message/_example-js/content.d.ts +0 -1
  199. package/es/chat-message/_example-js/custom.d.ts +0 -1
  200. package/es/chat-message/_example-js/handle-actions.d.ts +0 -7
  201. package/es/chat-message/_example-js/status.d.ts +0 -1
  202. package/es/chat-message/_example-js/think.d.ts +0 -1
  203. package/es/chat-sender/_example-js/attachment.d.ts +0 -2
  204. package/es/chat-sender/_example-js/base.d.ts +0 -2
  205. package/es/chat-sender/_example-js/custom.d.ts +0 -2
  206. package/es/chat-thinking/_example-js/base.d.ts +0 -1
  207. package/es/chat-thinking/_example-js/style.d.ts +0 -1
  208. package/es/chatbot/_example-js/agent.d.ts +0 -1
  209. package/es/chatbot/_example-js/agui.d.ts +0 -13
  210. package/es/chatbot/_example-js/backup/travel.d.ts +0 -1
  211. package/es/chatbot/_example-js/basic.d.ts +0 -1
  212. package/es/chatbot/_example-js/code.d.ts +0 -1
  213. package/es/chatbot/_example-js/components/ItineraryCard.d.ts +0 -3
  214. package/es/chatbot/_example-js/components/login.d.ts +0 -1
  215. package/es/chatbot/_example-js/comprehensive.d.ts +0 -1
  216. package/es/chatbot/_example-js/custom-content.d.ts +0 -1
  217. package/es/chatbot/_example-js/custom-merge.d.ts +0 -1
  218. package/es/chatbot/_example-js/custom.d.ts +0 -1
  219. package/es/chatbot/_example-js/docs.d.ts +0 -1
  220. package/es/chatbot/_example-js/image.d.ts +0 -1
  221. package/es/chatbot/_example-js/initial-messages.d.ts +0 -9
  222. package/es/chatbot/_example-js/instance-methods.d.ts +0 -14
  223. package/es/chatbot/_example-js/nostream.d.ts +0 -1
  224. package/es/chatbot/_example-js/quick-start.d.ts +0 -9
  225. package/es/chatbot/_example-js/research.d.ts +0 -1
  226. package/es/chatbot/_example-js/role-message-config.d.ts +0 -22
  227. package/es/chatbot/_example-js/sender-config.d.ts +0 -20
  228. package/es/chatbot/_example-js/service-config.d.ts +0 -17
  229. package/es/chatbot/_example-js/simple.d.ts +0 -1
  230. package/es/chatbot/_example-js/utils/messageRenderer.d.ts +0 -5
@@ -2,5 +2,6 @@ import React from 'react';
2
2
  type AnyProps = {
3
3
  [key: string]: any;
4
4
  };
5
- declare const reactify: <T extends AnyProps = AnyProps>(WC: string) => React.ForwardRefExoticComponent<React.PropsWithoutRef<T> & React.RefAttributes<HTMLElement>>;
5
+ export declare function hyphenate(str: string): string;
6
+ declare const reactify: <T extends AnyProps = AnyProps>(WC: string) => React.ForwardRefExoticComponent<Omit<T, "ref"> & React.RefAttributes<HTMLElement | undefined>>;
6
7
  export default reactify;
@@ -1,19 +1,21 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.0.2-alpha.0
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
6
6
 
7
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
7
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
9
- import _typeof from '@babel/runtime/helpers/typeof';
10
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
8
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
11
9
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
12
10
  import _createClass from '@babel/runtime/helpers/createClass';
13
11
  import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
14
12
  import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
15
13
  import _inherits from '@babel/runtime/helpers/inherits';
14
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
15
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
16
+ import _typeof from '@babel/runtime/helpers/typeof';
16
17
  import React, { createRef, createElement, Component, forwardRef } from 'react';
18
+ import ReactDOM from 'react-dom';
17
19
  import { createRoot } from 'react-dom/client';
18
20
 
19
21
  var _excluded = ["children", "className"];
@@ -21,28 +23,75 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
21
23
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
24
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
23
25
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
24
- var hyphenateRE = /\B([A-Z])/g;
25
- var hyphenate = function hyphenate(string) {
26
- return string.replace(hyphenateRE, "-$1").toLowerCase();
26
+ var isReact18Plus = function isReact18Plus() {
27
+ return typeof createRoot !== "undefined";
27
28
  };
28
- var styleObjectToString = function styleObjectToString(style) {
29
- if (!style) return "";
30
- if (typeof style === "string") return style;
31
- return Object.keys(style).reduce(function (acc, key) {
32
- var value = style[key];
33
- var cssKey = key.replace(hyphenateRE, "-$1").toLowerCase();
34
- return acc.concat("".concat(cssKey, ":").concat(value));
35
- }, []).join(";");
29
+ var isReact19Plus = function isReact19Plus() {
30
+ var majorVersion = parseInt(React.version.split(".")[0], 10);
31
+ return majorVersion >= 19;
32
+ };
33
+ var rootCache = /* @__PURE__ */new WeakMap();
34
+ var createRenderer = function createRenderer(container) {
35
+ if (isReact18Plus()) {
36
+ var cached = rootCache.get(container);
37
+ if (!cached) {
38
+ cached = {
39
+ root: createRoot(container)
40
+ };
41
+ rootCache.set(container, cached);
42
+ }
43
+ return {
44
+ render: function render(element) {
45
+ if (cached.lastElement !== element) {
46
+ cached.root.render(element);
47
+ cached.lastElement = element;
48
+ }
49
+ },
50
+ unmount: function unmount() {
51
+ cached.root.unmount();
52
+ rootCache["delete"](container);
53
+ }
54
+ };
55
+ }
56
+ return {
57
+ render: function render(element) {
58
+ ReactDOM.render(element, container);
59
+ },
60
+ unmount: function unmount() {
61
+ ReactDOM.unmountComponentAtNode(container);
62
+ }
63
+ };
36
64
  };
37
- var isReactElement = function isReactElement(node) {
38
- return /*#__PURE__*/React.isValidElement(node);
65
+ var isReactElement = function isReactElement(obj) {
66
+ return obj && _typeof(obj) === "object" && obj.$$typeof && obj.$$typeof.toString().includes("react");
39
67
  };
40
68
  var isValidReactNode = function isValidReactNode(node) {
41
69
  return node !== null && node !== void 0 && (typeof node === "string" || typeof node === "number" || typeof node === "boolean" || isReactElement(node) || Array.isArray(node));
42
70
  };
43
- var isReact19Plus = function isReact19Plus() {
44
- var version = React.version.split(".")[0];
45
- return parseInt(version, 10) >= 19;
71
+ var hyphenateRE = /\B([A-Z])/g;
72
+ function hyphenate(str) {
73
+ return str.replace(hyphenateRE, "-$1").toLowerCase();
74
+ }
75
+ var styleObjectToString = function styleObjectToString(style) {
76
+ if (!style || _typeof(style) !== "object") return "";
77
+ var unitlessKeys = /* @__PURE__ */new Set(["animationIterationCount", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "fillOpacity", "flex", "flexGrow", "flexShrink", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "tabSize", "widows", "zIndex", "zoom"]);
78
+ return Object.entries(style).filter(function (_ref) {
79
+ var _ref2 = _slicedToArray(_ref, 2),
80
+ value = _ref2[1];
81
+ return value != null && value !== "";
82
+ }).map(function (_ref3) {
83
+ var _ref4 = _slicedToArray(_ref3, 2),
84
+ key = _ref4[0],
85
+ value = _ref4[1];
86
+ var cssKey = key.replace(/[A-Z]/g, function (m) {
87
+ return "-".concat(m.toLowerCase());
88
+ });
89
+ var cssValue = value;
90
+ if (typeof value === "number" && value !== 0 && !unitlessKeys.has(key)) {
91
+ cssValue = "".concat(value, "px");
92
+ }
93
+ return "".concat(cssKey, ":").concat(cssValue, ";");
94
+ }).join(" ");
46
95
  };
47
96
  var reactify = function reactify(WC) {
48
97
  var Reactify = /*#__PURE__*/function (_Component) {
@@ -50,8 +99,10 @@ var reactify = function reactify(WC) {
50
99
  var _this;
51
100
  _classCallCheck(this, Reactify);
52
101
  _this = _callSuper(this, Reactify, [props]);
102
+ _defineProperty(_this, "processingSlots", /* @__PURE__ */new Set());
103
+ _defineProperty(_this, "lastRenderedElements", /* @__PURE__ */new Map());
53
104
  _this.eventHandlers = [];
54
- _this.slotInstances = /* @__PURE__ */new Map();
105
+ _this.slotRenderers = /* @__PURE__ */new Map();
55
106
  var innerRef = props.innerRef;
56
107
  _this.ref = innerRef || /*#__PURE__*/createRef();
57
108
  return _this;
@@ -70,12 +121,27 @@ var reactify = function reactify(WC) {
70
121
  var _this2 = this;
71
122
  var webComponent = this.ref.current;
72
123
  if (!webComponent) return;
124
+ if (this.processingSlots.has(prop)) {
125
+ return;
126
+ }
127
+ var currentRenderer = this.slotRenderers.get(prop);
128
+ if (currentRenderer && this.isSameReactElement(prop, val)) {
129
+ return;
130
+ }
131
+ this.processingSlots.add(prop);
132
+ if (isValidReactNode(val)) {
133
+ this.lastRenderedElements.set(prop, val);
134
+ }
135
+ if (currentRenderer) {
136
+ this.cleanupSlotRenderer(prop);
137
+ }
73
138
  if (typeof val === "function") {
74
139
  var renderSlot = function renderSlot(params) {
75
140
  var reactNode = val(params);
76
141
  return _this2.renderReactNodeToSlot(reactNode, prop);
77
142
  };
78
143
  webComponent[prop] = renderSlot;
144
+ this.processingSlots["delete"](prop);
79
145
  } else if (isValidReactNode(val)) {
80
146
  webComponent[prop] = true;
81
147
  Promise.resolve().then(function () {
@@ -83,96 +149,180 @@ var reactify = function reactify(WC) {
83
149
  webComponent.update();
84
150
  }
85
151
  _this2.renderReactNodeToSlot(val, prop);
152
+ _this2.processingSlots["delete"](prop);
86
153
  });
87
- } else {
88
- this.cleanupSlotRenderer(prop);
89
154
  }
90
155
  }
91
156
  }, {
92
157
  key: "cleanupSlotRenderer",
93
158
  value: function cleanupSlotRenderer(slotName) {
94
- var instance = this.slotInstances.get(slotName);
95
- if (instance) {
96
- setTimeout(function () {
97
- instance.root.unmount();
98
- }, 0);
99
- if (instance.container.parentNode === this.ref.current) {
100
- var _this$ref$current2;
101
- (_this$ref$current2 = this.ref.current) === null || _this$ref$current2 === void 0 || _this$ref$current2.removeChild(instance.container);
159
+ var _this3 = this;
160
+ var renderer = this.slotRenderers.get(slotName);
161
+ if (!renderer) return;
162
+ this.clearSlotContainers(slotName);
163
+ Promise.resolve().then(function () {
164
+ _this3.safeCleanupRenderer(renderer);
165
+ });
166
+ this.slotRenderers["delete"](slotName);
167
+ }
168
+ }, {
169
+ key: "safeCleanupRenderer",
170
+ value: function safeCleanupRenderer(cleanup) {
171
+ try {
172
+ cleanup();
173
+ } catch (error) {
174
+ console.warn("Error cleaning up React renderer:", error);
175
+ }
176
+ }
177
+ }, {
178
+ key: "clearSlotContainers",
179
+ value: function clearSlotContainers(slotName) {
180
+ var webComponent = this.ref.current;
181
+ if (!webComponent) return;
182
+ var containers = webComponent.querySelectorAll("[slot=\"".concat(slotName, "\"]"));
183
+ containers.forEach(function (container) {
184
+ if (container.parentNode) {
185
+ container.parentNode.removeChild(container);
102
186
  }
103
- this.slotInstances["delete"](slotName);
187
+ });
188
+ }
189
+ }, {
190
+ key: "isSameReactElement",
191
+ value: function isSameReactElement(prop, val) {
192
+ var lastElement = this.lastRenderedElements.get(prop);
193
+ if (!lastElement || !isValidReactNode(val)) {
194
+ return false;
104
195
  }
196
+ if (lastElement === val) {
197
+ return true;
198
+ }
199
+ if (/*#__PURE__*/React.isValidElement(lastElement) && /*#__PURE__*/React.isValidElement(val)) {
200
+ var typeMatch = lastElement.type === val.type;
201
+ var keyMatch = lastElement.key === val.key;
202
+ var propsMatch = JSON.stringify(lastElement.props) === JSON.stringify(val.props);
203
+ return typeMatch && keyMatch && propsMatch;
204
+ }
205
+ return false;
105
206
  }
106
207
  }, {
107
208
  key: "renderReactNodeToSlot",
108
209
  value: function renderReactNodeToSlot(reactNode, slotName) {
210
+ var _this4 = this;
109
211
  var webComponent = this.ref.current;
110
212
  if (!webComponent) return;
111
- var instance = this.slotInstances.get(slotName);
112
- if (!instance) {
113
- var container = webComponent.querySelector("[slot=\"".concat(slotName, "\"]"));
114
- if (!container) {
115
- container = document.createElement("div");
116
- container.style.display = "contents";
117
- container.setAttribute("slot", slotName);
118
- webComponent.appendChild(container);
213
+ var existingContainers = webComponent.querySelectorAll("[slot=\"".concat(slotName, "\"]"));
214
+ if (existingContainers.length > 0) {
215
+ return;
216
+ }
217
+ var container = document.createElement("div");
218
+ container.style.display = "contents";
219
+ container.setAttribute("slot", slotName);
220
+ webComponent.appendChild(container);
221
+ var cleanupFn = null;
222
+ if (isValidReactNode(reactNode)) {
223
+ if (/*#__PURE__*/React.isValidElement(reactNode)) {
224
+ try {
225
+ var renderer = createRenderer(container);
226
+ renderer.render(reactNode);
227
+ cleanupFn = function cleanupFn() {
228
+ try {
229
+ renderer.unmount();
230
+ } catch (error) {
231
+ console.warn("Error unmounting React renderer:", error);
232
+ }
233
+ };
234
+ } catch (error) {
235
+ console.warn("Error creating React renderer:", error);
236
+ }
237
+ } else if (typeof reactNode === "string" || typeof reactNode === "number") {
238
+ container.textContent = String(reactNode);
239
+ cleanupFn = function cleanupFn() {
240
+ container.textContent = "";
241
+ };
242
+ } else if (Array.isArray(reactNode)) {
243
+ try {
244
+ var _renderer = createRenderer(container);
245
+ var wrapper = /*#__PURE__*/React.createElement.apply(React, ["div", {
246
+ style: {
247
+ display: "contents"
248
+ }
249
+ }].concat(_toConsumableArray(reactNode.filter(isValidReactNode))));
250
+ _renderer.render(wrapper);
251
+ cleanupFn = function cleanupFn() {
252
+ try {
253
+ _renderer.unmount();
254
+ } catch (error) {
255
+ console.warn("Error unmounting React renderer:", error);
256
+ }
257
+ };
258
+ } catch (error) {
259
+ console.warn("Error creating React renderer for array:", error);
260
+ }
119
261
  }
120
- var root = createRoot(container);
121
- instance = {
122
- container: container,
123
- root: root
124
- };
125
- this.slotInstances.set(slotName, instance);
126
262
  }
127
- instance.root.render(reactNode);
263
+ this.slotRenderers.set(slotName, function () {
264
+ _this4.lastRenderedElements["delete"](slotName);
265
+ Promise.resolve().then(function () {
266
+ if (cleanupFn) {
267
+ cleanupFn();
268
+ }
269
+ if (container.parentNode) {
270
+ container.parentNode.removeChild(container);
271
+ }
272
+ });
273
+ });
128
274
  }
129
275
  }, {
130
276
  key: "update",
131
277
  value: function update() {
132
- var _this3 = this;
278
+ var _this5 = this;
133
279
  this.clearEventHandlers();
134
280
  if (!this.ref.current) return;
135
- Object.entries(this.props).forEach(function (_ref) {
136
- var _ref2 = _slicedToArray(_ref, 2),
137
- prop = _ref2[0],
138
- val = _ref2[1];
281
+ Object.entries(this.props).forEach(function (_ref5) {
282
+ var _ref6 = _slicedToArray(_ref5, 2),
283
+ prop = _ref6[0],
284
+ val = _ref6[1];
139
285
  if (["innerRef", "children"].includes(prop)) return;
140
286
  if (typeof val === "function" && prop.match(/^on[A-Za-z]/)) {
141
287
  var eventName = prop.slice(2);
142
288
  var omiEventName = eventName[0].toLowerCase() + eventName.slice(1);
143
- _this3.setEvent(omiEventName, val);
289
+ _this5.setEvent(omiEventName, val);
144
290
  return;
145
291
  }
146
- if (isReactElement(val) && !prop.match(/^on[A-Za-z]/)) {
147
- var _this3$ref$current;
148
- var componentClass = (_this3$ref$current = _this3.ref.current) === null || _this3$ref$current === void 0 ? void 0 : _this3$ref$current.constructor;
292
+ if (typeof val === "function" && prop.match(/^render[A-Za-z]/)) {
293
+ _this5.handleSlotProp(prop, val);
294
+ return;
295
+ }
296
+ if (isReactElement(val) && !prop.match(/^on[A-Za-z]/) && !prop.match(/^render[A-Za-z]/)) {
297
+ var _this5$ref$current;
298
+ var componentClass = (_this5$ref$current = _this5.ref.current) === null || _this5$ref$current === void 0 ? void 0 : _this5$ref$current.constructor;
149
299
  var declaredSlots = (componentClass === null || componentClass === void 0 ? void 0 : componentClass.slotProps) || [];
150
300
  if (declaredSlots.includes(prop) || prop.endsWith("Slot")) {
151
- _this3.handleSlotProp(prop, val);
301
+ _this5.handleSlotProp(prop, val);
152
302
  return;
153
303
  }
154
304
  }
155
305
  if (_typeof(val) === "object" && val !== null) {
156
306
  if (prop === "style") {
157
- var _this3$ref$current2;
158
- (_this3$ref$current2 = _this3.ref.current) === null || _this3$ref$current2 === void 0 || _this3$ref$current2.setAttribute("style", styleObjectToString(val));
307
+ var _this5$ref$current2;
308
+ (_this5$ref$current2 = _this5.ref.current) === null || _this5$ref$current2 === void 0 || _this5$ref$current2.setAttribute("style", styleObjectToString(val));
159
309
  return;
160
310
  }
161
- _this3.ref.current[prop] = val;
311
+ _this5.ref.current[prop] = val;
162
312
  return;
163
313
  }
164
314
  if (typeof val === "function") {
165
- _this3.ref.current[prop] = val;
315
+ _this5.ref.current[prop] = val;
166
316
  return;
167
317
  }
168
318
  if (prop.match(hyphenateRE)) {
169
- var _this3$ref$current3, _this3$ref$current4;
170
- (_this3$ref$current3 = _this3.ref.current) === null || _this3$ref$current3 === void 0 || _this3$ref$current3.setAttribute(hyphenate(prop), val);
171
- (_this3$ref$current4 = _this3.ref.current) === null || _this3$ref$current4 === void 0 || _this3$ref$current4.removeAttribute(prop);
319
+ var _this5$ref$current3, _this5$ref$current4;
320
+ (_this5$ref$current3 = _this5.ref.current) === null || _this5$ref$current3 === void 0 || _this5$ref$current3.setAttribute(hyphenate(prop), val);
321
+ (_this5$ref$current4 = _this5.ref.current) === null || _this5$ref$current4 === void 0 || _this5$ref$current4.removeAttribute(prop);
172
322
  return;
173
323
  }
174
324
  if (!isReact19Plus()) {
175
- _this3.ref.current[prop] = val;
325
+ _this5.ref.current[prop] = val;
176
326
  }
177
327
  });
178
328
  }
@@ -190,30 +340,30 @@ var reactify = function reactify(WC) {
190
340
  key: "componentWillUnmount",
191
341
  value: function componentWillUnmount() {
192
342
  this.clearEventHandlers();
193
- this.clearSlotInstances();
343
+ this.clearSlotRenderers();
194
344
  }
195
345
  }, {
196
346
  key: "clearEventHandlers",
197
347
  value: function clearEventHandlers() {
198
- var _this4 = this;
199
- this.eventHandlers.forEach(function (_ref3) {
200
- var _this4$ref$current;
201
- var _ref4 = _slicedToArray(_ref3, 2),
202
- event = _ref4[0],
203
- handler = _ref4[1];
204
- (_this4$ref$current = _this4.ref.current) === null || _this4$ref$current === void 0 || _this4$ref$current.removeEventListener(event, handler);
348
+ var _this6 = this;
349
+ this.eventHandlers.forEach(function (_ref7) {
350
+ var _this6$ref$current;
351
+ var _ref8 = _slicedToArray(_ref7, 2),
352
+ event = _ref8[0],
353
+ handler = _ref8[1];
354
+ (_this6$ref$current = _this6.ref.current) === null || _this6$ref$current === void 0 || _this6$ref$current.removeEventListener(event, handler);
205
355
  });
206
356
  this.eventHandlers = [];
207
357
  }
208
358
  }, {
209
- key: "clearSlotInstances",
210
- value: function clearSlotInstances() {
211
- this.slotInstances.forEach(function (instance) {
212
- setTimeout(function () {
213
- instance.root.unmount();
214
- }, 0);
359
+ key: "clearSlotRenderers",
360
+ value: function clearSlotRenderers() {
361
+ var _this7 = this;
362
+ this.slotRenderers.forEach(function (cleanup) {
363
+ _this7.safeCleanupRenderer(cleanup);
215
364
  });
216
- this.slotInstances.clear();
365
+ this.slotRenderers.clear();
366
+ this.processingSlots.clear();
217
367
  }
218
368
  }, {
219
369
  key: "render",
@@ -237,5 +387,5 @@ var reactify = function reactify(WC) {
237
387
  });
238
388
  };
239
389
 
240
- export { reactify as default };
390
+ export { reactify as default, hyphenate };
241
391
  //# sourceMappingURL=reactify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactify.js","sources":["../../../pro-components/chat/_util/reactify.tsx"],"sourcesContent":["import React, { Component, createRef, createElement, forwardRef } from 'react';\nimport { createRoot, Root } from 'react-dom/client';\n\ntype AnyProps = {\n [key: string]: any;\n};\n\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = (string: string) => string.replace(hyphenateRE, '-$1').toLowerCase();\n\nconst styleObjectToString = (style: any) => {\n if (!style) return '';\n if (typeof style === 'string') return style;\n return Object.keys(style)\n .reduce((acc: string[], key) => {\n const value = style[key];\n const cssKey = key.replace(hyphenateRE, '-$1').toLowerCase();\n return acc.concat(`${cssKey}:${value}`);\n }, [])\n .join(';');\n};\n\nconst isReactElement = (node: any): boolean => {\n return React.isValidElement(node);\n};\n\nconst isValidReactNode = (node: any): node is React.ReactNode =>\n node !== null &&\n node !== undefined &&\n (typeof node === 'string' ||\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n isReactElement(node) ||\n Array.isArray(node));\n\nconst isReact19Plus = () => {\n const version = React.version.split('.')[0];\n return parseInt(version, 10) >= 19;\n};\n\nconst reactify = <T extends AnyProps = AnyProps>(\n WC: string,\n): React.ForwardRefExoticComponent<React.PropsWithoutRef<T> & React.RefAttributes<HTMLElement>> => {\n class Reactify extends Component<T> {\n eventHandlers: [string, EventListener][];\n\n // 使用 Map 缓存每个 slot 的 React Root 实例\n slotInstances: Map<\n string,\n {\n root: Root;\n container: HTMLElement;\n }\n >;\n\n ref: React.RefObject<HTMLElement>;\n\n constructor(props: T) {\n super(props);\n this.eventHandlers = [];\n this.slotInstances = new Map();\n const { innerRef } = props;\n this.ref = innerRef || createRef();\n }\n\n setEvent(event: string, val: EventListener) {\n this.eventHandlers.push([event, val]);\n this.ref.current?.addEventListener(event, val);\n }\n\n // 处理slot相关的prop\n handleSlotProp(prop: string, val: any) {\n const webComponent = this.ref.current as any;\n if (!webComponent) return;\n\n // 如果val是函数,为WebComponent提供一个函数,该函数返回渲染后的DOM\n if (typeof val === 'function') {\n const renderSlot = (params?: any) => {\n const reactNode = val(params);\n // 函数式 slot 每次调用可能产生新内容,这里简化处理,\n // 实际场景中可能需要更复杂的挂载逻辑,或者 WebComponent 内部处理了 DOM 挂载\n // 这里保持原逻辑或根据 WebComponent 行为调整\n return this.renderReactNodeToSlot(reactNode, prop);\n };\n webComponent[prop] = renderSlot;\n }\n // 如果val是ReactNode,直接渲染到slot\n else if (isValidReactNode(val)) {\n // 先设置属性,让组件知道这个prop有值\n webComponent[prop] = true;\n\n // 使用微任务延迟渲染,确保在当前渲染周期完成后执行\n Promise.resolve().then(() => {\n if (webComponent.update) {\n webComponent.update();\n }\n this.renderReactNodeToSlot(val, prop);\n });\n } else {\n this.cleanupSlotRenderer(prop);\n }\n }\n\n // 清理slot渲染器的统一方法\n private cleanupSlotRenderer(slotName: string) {\n const instance = this.slotInstances.get(slotName);\n if (instance) {\n // React 18 使用 root.unmount()\n setTimeout(() => {\n instance.root.unmount();\n }, 0);\n\n if (instance.container.parentNode === this.ref.current) {\n this.ref.current?.removeChild(instance.container);\n }\n this.slotInstances.delete(slotName);\n }\n }\n\n // 将React节点渲染到slot中\n renderReactNodeToSlot(reactNode: React.ReactNode, slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n let instance = this.slotInstances.get(slotName);\n\n if (!instance) {\n // 检查是否已经有相同的slot容器存在\n let container = webComponent.querySelector(`[slot=\"${slotName}\"]`) as HTMLElement;\n if (!container) {\n container = document.createElement('div');\n container.style.display = 'contents';\n container.setAttribute('slot', slotName);\n webComponent.appendChild(container);\n }\n\n // 创建 React Root\n const root = createRoot(container);\n\n instance = {\n container,\n root,\n };\n this.slotInstances.set(slotName, instance);\n }\n\n // 复用 root 进行增量更新,React 会自动处理 Diff,避免 DOM 销毁重建\n instance.root.render(reactNode);\n }\n\n update() {\n this.clearEventHandlers();\n if (!this.ref.current) return;\n\n Object.entries(this.props).forEach(([prop, val]) => {\n if (['innerRef', 'children'].includes(prop)) return;\n\n // event handler\n if (typeof val === 'function' && prop.match(/^on[A-Za-z]/)) {\n const eventName = prop.slice(2);\n const omiEventName = eventName[0].toLowerCase() + eventName.slice(1);\n this.setEvent(omiEventName, val as EventListener);\n return;\n }\n\n // 检查是否是slot prop\n if (isReactElement(val) && !prop.match(/^on[A-Za-z]/)) {\n const componentClass = this.ref.current?.constructor as any;\n const declaredSlots = componentClass?.slotProps || [];\n\n if (declaredSlots.includes(prop) || prop.endsWith('Slot')) {\n this.handleSlotProp(prop, val);\n return;\n }\n }\n\n // Complex object处理\n if (typeof val === 'object' && val !== null) {\n // style特殊处理\n if (prop === 'style') {\n this.ref.current?.setAttribute('style', styleObjectToString(val));\n return;\n }\n // 其他复杂对象直接设置为属性\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // 函数类型但不是事件处理器也不是render函数的,直接设置为属性\n if (typeof val === 'function') {\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // camel case to kebab-case for attributes\n if (prop.match(hyphenateRE)) {\n this.ref.current?.setAttribute(hyphenate(prop), val);\n this.ref.current?.removeAttribute(prop);\n return;\n }\n if (!isReact19Plus()) {\n (this.ref.current as any)[prop] = val;\n }\n });\n }\n\n componentDidUpdate() {\n this.update();\n }\n\n componentDidMount() {\n this.update();\n }\n\n componentWillUnmount() {\n this.clearEventHandlers();\n this.clearSlotInstances();\n }\n\n clearEventHandlers() {\n this.eventHandlers.forEach(([event, handler]) => {\n this.ref.current?.removeEventListener(event, handler);\n });\n this.eventHandlers = [];\n }\n\n clearSlotInstances() {\n this.slotInstances.forEach((instance) => {\n // 卸载时清理\n setTimeout(() => {\n instance.root.unmount();\n }, 0);\n });\n this.slotInstances.clear();\n }\n\n render() {\n const { children, className, ...rest } = this.props;\n return createElement(WC, { class: className, ...rest, ref: this.ref }, children);\n }\n }\n\n return forwardRef<HTMLElement, T>((props, ref) =>\n createElement(Reactify, { ...props, innerRef: ref } as T & { innerRef: React.ForwardedRef<HTMLElement> }),\n );\n};\n\nexport default reactify;\n"],"names":["hyphenateRE","hyphenate","string","replace","toLowerCase","styleObjectToString","style","Object","keys","reduce","acc","key","value","cssKey","concat","join","isReactElement","node","React","isValidElement","isValidReactNode","Array","isArray","isReact19Plus","version","split","parseInt","reactify","WC","Reactify","props","_this","_classCallCheck","_callSuper","eventHandlers","slotInstances","Map","innerRef","ref","createRef","_inherits","_Component","_createClass","setEvent","event","val","_this$ref$current","push","current","addEventListener","handleSlotProp","prop","_this2","webComponent","renderSlot","params","reactNode","renderReactNodeToSlot","Promise","resolve","then","update","cleanupSlotRenderer","slotName","instance","get","setTimeout","root","unmount","container","parentNode","_this$ref$current2","removeChild","querySelector","document","createElement","display","setAttribute","appendChild","createRoot","set","render","_this3","clearEventHandlers","entries","forEach","_ref","_ref2","_slicedToArray","includes","match","eventName","slice","omiEventName","_this3$ref$current","componentClass","constructor","declaredSlots","slotProps","endsWith","_typeof","_this3$ref$current2","_this3$ref$current3","_this3$ref$current4","removeAttribute","componentDidUpdate","componentDidMount","componentWillUnmount","clearSlotInstances","_this4","_ref3","_this4$ref$current","_ref4","handler","removeEventListener","clear","_this$props","children","className","rest","_objectWithoutProperties","_excluded","_objectSpread","Component","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"reactify.js","sources":["../../../pro-components/chat/_util/reactify.tsx"],"sourcesContent":["import React, { Component, createRef, createElement, forwardRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport { createRoot } from 'react-dom/client';\n\n// 检测 React 版本\nconst isReact18Plus = () => typeof createRoot !== 'undefined';\nconst isReact19Plus = (): boolean => {\n const majorVersion = parseInt(React.version.split('.')[0], 10);\n return majorVersion >= 19;\n};\n\n// 增强版本的缓存管理\nconst rootCache = new WeakMap<\n HTMLElement,\n {\n root: ReturnType<typeof createRoot>;\n lastElement?: React.ReactElement;\n }\n>();\n\nconst createRenderer = (container: HTMLElement) => {\n if (isReact18Plus()) {\n let cached = rootCache.get(container);\n if (!cached) {\n cached = { root: createRoot(container) };\n rootCache.set(container, cached);\n }\n\n return {\n render: (element: React.ReactElement) => {\n // 可选:避免相同元素的重复渲染\n if (cached.lastElement !== element) {\n cached.root.render(element);\n cached.lastElement = element;\n }\n },\n unmount: () => {\n cached.root.unmount();\n rootCache.delete(container);\n },\n };\n }\n\n // React 17的实现\n return {\n render: (element: React.ReactElement) => {\n ReactDOM.render(element, container);\n },\n unmount: () => {\n ReactDOM.unmountComponentAtNode(container);\n },\n };\n};\n\n// 检查是否是React元素\nconst isReactElement = (obj: any): obj is React.ReactElement =>\n obj && typeof obj === 'object' && obj.$$typeof && obj.$$typeof.toString().includes('react');\n\n// 检查是否是有效的React节点\nconst isValidReactNode = (node: any): node is React.ReactNode =>\n node !== null &&\n node !== undefined &&\n (typeof node === 'string' ||\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n isReactElement(node) ||\n Array.isArray(node));\n\ntype AnyProps = {\n [key: string]: any;\n};\n\nconst hyphenateRE = /\\B([A-Z])/g;\n\nexport function hyphenate(str: string): string {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n}\n\nconst styleObjectToString = (style: any) => {\n if (!style || typeof style !== 'object') return '';\n\n const unitlessKeys = new Set([\n 'animationIterationCount',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'fillOpacity',\n 'flex',\n 'flexGrow',\n 'flexShrink',\n 'fontWeight',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n ]);\n\n return Object.entries(style)\n .filter(([, value]) => value != null && value !== '') // 过滤无效值\n .map(([key, value]) => {\n // 转换驼峰式为连字符格式\n const cssKey = key.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);\n\n // 处理数值类型值\n let cssValue = value;\n if (typeof value === 'number' && value !== 0 && !unitlessKeys.has(key)) {\n cssValue = `${value}px`;\n }\n\n return `${cssKey}:${cssValue};`;\n })\n .join(' ');\n};\n\nconst reactify = <T extends AnyProps = AnyProps>(\n WC: string,\n): React.ForwardRefExoticComponent<Omit<T, 'ref'> & React.RefAttributes<HTMLElement | undefined>> => {\n class Reactify extends Component<AnyProps> {\n eventHandlers: [string, EventListener][];\n\n slotRenderers: Map<string, () => void>;\n\n ref: React.RefObject<HTMLElement>;\n\n constructor(props: AnyProps) {\n super(props);\n this.eventHandlers = [];\n this.slotRenderers = new Map();\n const { innerRef } = props;\n this.ref = innerRef || createRef();\n }\n\n setEvent(event: string, val: EventListener) {\n this.eventHandlers.push([event, val]);\n this.ref.current?.addEventListener(event, val);\n }\n\n // 防止重复处理的标记\n private processingSlots = new Set<string>();\n\n // 处理slot相关的prop\n handleSlotProp(prop: string, val: any) {\n const webComponent = this.ref.current as any;\n if (!webComponent) return;\n\n // 防止重复处理同一个slot\n if (this.processingSlots.has(prop)) {\n return;\n }\n\n // 检查是否需要更新(避免相同内容的重复渲染)\n const currentRenderer = this.slotRenderers.get(prop);\n if (currentRenderer && this.isSameReactElement(prop, val)) {\n return; // 相同内容,跳过更新\n }\n\n // 标记正在处理\n this.processingSlots.add(prop);\n\n // 立即缓存新元素,防止重复调用\n if (isValidReactNode(val)) {\n this.lastRenderedElements.set(prop, val);\n }\n\n // 清理旧的渲染器\n if (currentRenderer) {\n this.cleanupSlotRenderer(prop);\n }\n\n // 如果val是函数,为WebComponent提供一个函数,该函数返回渲染后的DOM\n if (typeof val === 'function') {\n const renderSlot = (params?: any) => {\n const reactNode = val(params);\n return this.renderReactNodeToSlot(reactNode, prop);\n };\n webComponent[prop] = renderSlot;\n // 函数类型处理完成后立即移除标记\n this.processingSlots.delete(prop);\n }\n // 如果val是ReactNode,直接渲染到slot\n else if (isValidReactNode(val)) {\n // 先设置属性,让组件知道这个prop有值\n webComponent[prop] = true;\n\n // 使用微任务延迟渲染,确保在当前渲染周期完成后执行\n Promise.resolve().then(() => {\n if (webComponent.update) {\n webComponent.update();\n }\n this.renderReactNodeToSlot(val, prop);\n // 渲染完成后移除处理标记\n this.processingSlots.delete(prop);\n });\n }\n }\n\n // 清理slot渲染器的统一方法\n private cleanupSlotRenderer(slotName: string) {\n const renderer = this.slotRenderers.get(slotName);\n if (!renderer) return;\n\n // 立即清理DOM容器\n this.clearSlotContainers(slotName);\n\n // 总是异步清理React渲染器,避免竞态条件\n Promise.resolve().then(() => {\n this.safeCleanupRenderer(renderer);\n });\n\n this.slotRenderers.delete(slotName);\n }\n\n // 安全清理渲染器\n // eslint-disable-next-line class-methods-use-this\n private safeCleanupRenderer(cleanup: () => void) {\n try {\n cleanup();\n } catch (error) {\n console.warn('Error cleaning up React renderer:', error);\n }\n }\n\n // 立即清理指定slot的所有容器\n private clearSlotContainers(slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n // 查找并移除所有匹配的slot容器\n const containers = webComponent.querySelectorAll(`[slot=\"${slotName}\"]`);\n containers.forEach((container: Element) => {\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n }\n });\n }\n\n // 缓存最后渲染的React元素,用于比较\n private lastRenderedElements = new Map<string, any>();\n\n // 检查是否是相同的React元素\n private isSameReactElement(prop: string, val: any): boolean {\n const lastElement = this.lastRenderedElements.get(prop);\n\n if (!lastElement || !isValidReactNode(val)) {\n return false;\n }\n\n // 简单比较:如果是相同的React元素引用,则认为相同\n if (lastElement === val) {\n return true;\n }\n\n // 对于React元素,比较type、key和props\n if (React.isValidElement(lastElement) && React.isValidElement(val)) {\n const typeMatch = lastElement.type === val.type;\n const keyMatch = lastElement.key === val.key;\n const propsMatch = JSON.stringify(lastElement.props) === JSON.stringify(val.props);\n return typeMatch && keyMatch && propsMatch;\n }\n\n return false;\n }\n\n // 将React节点渲染到slot中\n renderReactNodeToSlot(reactNode: React.ReactNode, slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n // 检查是否已经有相同的slot容器存在,避免重复创建\n const existingContainers = webComponent.querySelectorAll(`[slot=\"${slotName}\"]`);\n if (existingContainers.length > 0) {\n return;\n }\n\n // 直接创建容器并添加到Web Component中\n const container = document.createElement('div');\n container.style.display = 'contents'; // 不影响布局\n container.setAttribute('slot', slotName); // 设置slot属性,Web Components会自动处理\n\n // 将容器添加到Web Component中\n webComponent.appendChild(container);\n\n // 根据不同类型的reactNode创建不同的清理函数\n let cleanupFn: (() => void) | null = null;\n\n if (isValidReactNode(reactNode)) {\n if (React.isValidElement(reactNode)) {\n try {\n const renderer = createRenderer(container);\n renderer.render(reactNode);\n cleanupFn = () => {\n try {\n renderer.unmount();\n } catch (error) {\n console.warn('Error unmounting React renderer:', error);\n }\n };\n } catch (error) {\n console.warn('Error creating React renderer:', error);\n }\n } else if (typeof reactNode === 'string' || typeof reactNode === 'number') {\n container.textContent = String(reactNode);\n cleanupFn = () => {\n container.textContent = '';\n };\n } else if (Array.isArray(reactNode)) {\n try {\n const renderer = createRenderer(container);\n const wrapper = React.createElement(\n 'div',\n { style: { display: 'contents' } },\n ...reactNode.filter(isValidReactNode),\n );\n renderer.render(wrapper);\n cleanupFn = () => {\n try {\n renderer.unmount();\n } catch (error) {\n console.warn('Error unmounting React renderer:', error);\n }\n };\n } catch (error) {\n console.warn('Error creating React renderer for array:', error);\n }\n }\n }\n\n // 保存cleanup函数\n this.slotRenderers.set(slotName, () => {\n // 清理缓存\n this.lastRenderedElements.delete(slotName);\n // 异步unmount避免竞态条件\n Promise.resolve().then(() => {\n if (cleanupFn) {\n cleanupFn();\n }\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n }\n });\n });\n }\n\n update() {\n this.clearEventHandlers();\n if (!this.ref.current) return;\n\n Object.entries(this.props).forEach(([prop, val]) => {\n if (['innerRef', 'children'].includes(prop)) return;\n\n // event handler\n if (typeof val === 'function' && prop.match(/^on[A-Za-z]/)) {\n const eventName = prop.slice(2);\n const omiEventName = eventName[0].toLowerCase() + eventName.slice(1);\n this.setEvent(omiEventName, val as EventListener);\n return;\n }\n\n // render functions or slot props\n if (typeof val === 'function' && prop.match(/^render[A-Za-z]/)) {\n this.handleSlotProp(prop, val);\n return;\n }\n\n // 检查是否是slot prop(通过组件的slotProps静态属性或Slot后缀)\n if (isReactElement(val) && !prop.match(/^on[A-Za-z]/) && !prop.match(/^render[A-Za-z]/)) {\n const componentClass = this.ref.current?.constructor as any;\n const declaredSlots = componentClass?.slotProps || [];\n\n if (declaredSlots.includes(prop) || prop.endsWith('Slot')) {\n this.handleSlotProp(prop, val);\n return;\n }\n }\n\n // Complex object处理\n if (typeof val === 'object' && val !== null) {\n // style特殊处理\n if (prop === 'style') {\n this.ref.current?.setAttribute('style', styleObjectToString(val));\n return;\n }\n // 其他复杂对象直接设置为属性\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // 函数类型但不是事件处理器也不是render函数的,直接设置为属性\n if (typeof val === 'function') {\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // camel case to kebab-case for attributes\n if (prop.match(hyphenateRE)) {\n this.ref.current?.setAttribute(hyphenate(prop), val);\n this.ref.current?.removeAttribute(prop);\n return;\n }\n if (!isReact19Plus()) {\n (this.ref.current as any)[prop] = val;\n }\n });\n }\n\n componentDidUpdate() {\n this.update();\n }\n\n componentDidMount() {\n this.update();\n }\n\n componentWillUnmount() {\n this.clearEventHandlers();\n this.clearSlotRenderers();\n }\n\n clearEventHandlers() {\n this.eventHandlers.forEach(([event, handler]) => {\n this.ref.current?.removeEventListener(event, handler);\n });\n this.eventHandlers = [];\n }\n\n clearSlotRenderers() {\n this.slotRenderers.forEach((cleanup) => {\n this.safeCleanupRenderer(cleanup);\n });\n this.slotRenderers.clear();\n this.processingSlots.clear();\n }\n\n render() {\n const { children, className, ...rest } = this.props;\n\n return createElement(WC, { class: className, ...rest, ref: this.ref }, children);\n }\n }\n\n return forwardRef<HTMLElement, AnyProps>((props, ref) =>\n createElement(Reactify, { ...props, innerRef: ref }),\n ) as React.ForwardRefExoticComponent<Omit<T, 'ref'> & React.RefAttributes<HTMLElement | undefined>>;\n};\n\nexport default reactify;\n"],"names":["isReact18Plus","createRoot","isReact19Plus","majorVersion","parseInt","React","version","split","rootCache","WeakMap","createRenderer","container","cached","get","root","set","render","element","lastElement","unmount","ReactDOM","unmountComponentAtNode","isReactElement","obj","_typeof","$$typeof","toString","includes","isValidReactNode","node","Array","isArray","hyphenateRE","hyphenate","str","replace","toLowerCase","styleObjectToString","style","unitlessKeys","Set","Object","entries","filter","_ref","_ref2","_slicedToArray","value","map","_ref3","_ref4","key","cssKey","m","concat","cssValue","has","join","reactify","WC","Reactify","props","_this","_classCallCheck","_callSuper","_defineProperty","Map","eventHandlers","slotRenderers","innerRef","ref","createRef","_inherits","_Component","_createClass","setEvent","event","val","_this$ref$current","push","current","addEventListener","handleSlotProp","prop","_this2","webComponent","processingSlots","currentRenderer","isSameReactElement","add","lastRenderedElements","cleanupSlotRenderer","renderSlot","params","reactNode","renderReactNodeToSlot","Promise","resolve","then","update","slotName","_this3","renderer","clearSlotContainers","safeCleanupRenderer","cleanup","error","console","warn","containers","querySelectorAll","forEach","parentNode","removeChild","isValidElement","typeMatch","type","keyMatch","propsMatch","JSON","stringify","_this4","existingContainers","length","document","createElement","display","setAttribute","appendChild","cleanupFn","textContent","String","wrapper","apply","_toConsumableArray","_this5","clearEventHandlers","_ref5","_ref6","match","eventName","slice","omiEventName","_this5$ref$current","componentClass","constructor","declaredSlots","slotProps","endsWith","_this5$ref$current2","_this5$ref$current3","_this5$ref$current4","removeAttribute","componentDidUpdate","componentDidMount","componentWillUnmount","clearSlotRenderers","_this6","_ref7","_this6$ref$current","_ref8","handler","removeEventListener","_this7","clear","_this$props","children","className","rest","_objectWithoutProperties","_excluded","_objectSpread","Component","forwardRef"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.0.2-alpha.0
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
@@ -1,21 +1,23 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.0.2-alpha.0
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
6
6
 
7
7
  import 'tdesign-web-components/lib/attachments';
8
8
  import reactify from '../_util/reactify.js';
9
- import '@babel/runtime/helpers/defineProperty';
10
9
  import '@babel/runtime/helpers/objectWithoutProperties';
11
- import '@babel/runtime/helpers/typeof';
12
- import '@babel/runtime/helpers/slicedToArray';
10
+ import '@babel/runtime/helpers/toConsumableArray';
13
11
  import '@babel/runtime/helpers/classCallCheck';
14
12
  import '@babel/runtime/helpers/createClass';
15
13
  import '@babel/runtime/helpers/possibleConstructorReturn';
16
14
  import '@babel/runtime/helpers/getPrototypeOf';
17
15
  import '@babel/runtime/helpers/inherits';
16
+ import '@babel/runtime/helpers/defineProperty';
17
+ import '@babel/runtime/helpers/slicedToArray';
18
+ import '@babel/runtime/helpers/typeof';
18
19
  import 'react';
20
+ import 'react-dom';
19
21
  import 'react-dom/client';
20
22
 
21
23
  var Attachments = reactify("t-attachments");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../pro-components/chat/attachments/index.ts"],"sourcesContent":["import { TdAttachmentsProps } from 'tdesign-web-components';\nimport 'tdesign-web-components/lib/attachments';\nimport reactify from '../_util/reactify';\n\nexport const Attachments: React.ForwardRefExoticComponent<\n Omit<TdAttachmentsProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdAttachmentsProps>('t-attachments');\n\nexport default Attachments;\n\nexport type { TdAttachmentsProps, TdAttachmentItem } from 'tdesign-web-components';\n"],"names":["Attachments","reactify"],"mappings":";;;;;;;;;;;;;;;;;;;;IAIaA,WAAA,GAETC,SAA6B,eAAe;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../pro-components/chat/attachments/index.ts"],"sourcesContent":["import { TdAttachmentsProps } from 'tdesign-web-components';\nimport 'tdesign-web-components/lib/attachments';\nimport reactify from '../_util/reactify';\n\nexport const Attachments: React.ForwardRefExoticComponent<\n Omit<TdAttachmentsProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdAttachmentsProps>('t-attachments');\n\nexport default Attachments;\n\nexport type { TdAttachmentsProps, TdAttachmentItem } from 'tdesign-web-components';\n"],"names":["Attachments","reactify"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IAIaA,WAAA,GAETC,SAA6B,eAAe;;;;"}
@@ -1,21 +1,23 @@
1
1
  /**
2
- * tdesign v1.0.2-alpha.6
2
+ * tdesign v1.0.2-alpha.0
3
3
  * (c) 2026 tdesign
4
4
  * @license MIT
5
5
  */
6
6
 
7
7
  import 'tdesign-web-components/lib/chat-action';
8
8
  import reactify from '../_util/reactify.js';
9
- import '@babel/runtime/helpers/defineProperty';
10
9
  import '@babel/runtime/helpers/objectWithoutProperties';
11
- import '@babel/runtime/helpers/typeof';
12
- import '@babel/runtime/helpers/slicedToArray';
10
+ import '@babel/runtime/helpers/toConsumableArray';
13
11
  import '@babel/runtime/helpers/classCallCheck';
14
12
  import '@babel/runtime/helpers/createClass';
15
13
  import '@babel/runtime/helpers/possibleConstructorReturn';
16
14
  import '@babel/runtime/helpers/getPrototypeOf';
17
15
  import '@babel/runtime/helpers/inherits';
16
+ import '@babel/runtime/helpers/defineProperty';
17
+ import '@babel/runtime/helpers/slicedToArray';
18
+ import '@babel/runtime/helpers/typeof';
18
19
  import 'react';
20
+ import 'react-dom';
19
21
  import 'react-dom/client';
20
22
 
21
23
  var ChatActionBar = reactify("t-chat-action");