@alifd/chat 0.3.40-beta.0 → 0.3.40-beta.2

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 (241) hide show
  1. package/es/ai-loading/types.d.ts +1 -0
  2. package/es/button/button.d.ts +1 -2
  3. package/es/button/button.js +13 -19
  4. package/es/button/group.js +5 -42
  5. package/es/button/main.scss +36 -77
  6. package/es/card/main.scss +1 -1
  7. package/es/checkbox-group/main.scss +6 -7
  8. package/es/checkbox-group/types.d.ts +6 -0
  9. package/es/code-view/index.d.ts +11 -0
  10. package/es/code-view/index.js +63 -0
  11. package/es/code-view/main.scss +54 -0
  12. package/es/code-view/style.d.ts +4 -0
  13. package/es/code-view/style.js +4 -0
  14. package/es/code-view/types.d.ts +27 -0
  15. package/es/code-view/types.js +1 -0
  16. package/es/collapse/index.d.ts +157 -0
  17. package/es/collapse/index.js +20 -0
  18. package/es/collapse/main.scss +97 -0
  19. package/es/collapse/style.d.ts +2 -0
  20. package/es/collapse/style.js +2 -0
  21. package/es/collapse/types.d.ts +82 -0
  22. package/es/collapse/types.js +2 -0
  23. package/es/core/variables.scss +27 -12
  24. package/es/date-picker/DatePicker.d.ts +5 -0
  25. package/es/date-picker/DatePicker.js +15 -0
  26. package/es/date-picker/MonthPicker.d.ts +4 -0
  27. package/es/date-picker/MonthPicker.js +15 -0
  28. package/es/date-picker/RangePicker.d.ts +4 -0
  29. package/es/date-picker/RangePicker.js +17 -0
  30. package/es/date-picker/YearPicker.d.ts +4 -0
  31. package/es/date-picker/YearPicker.js +15 -0
  32. package/es/date-picker/index.d.ts +5 -23
  33. package/es/date-picker/index.js +11 -29
  34. package/es/date-picker/main.scss +23 -1
  35. package/es/date-picker/style.d.ts +1 -0
  36. package/es/date-picker/style.js +1 -0
  37. package/es/date-picker/types.d.ts +161 -81
  38. package/es/float-button/hooks/useAutoAlign.d.ts +1 -1
  39. package/es/form/style.d.ts +0 -1
  40. package/es/form/style.js +2 -1
  41. package/es/form/types.d.ts +3 -517
  42. package/es/form/types.js +5 -1
  43. package/es/html-render/index.d.ts +1 -1
  44. package/es/html-render/index.js +118 -106
  45. package/es/html-render/main.scss +27 -8
  46. package/es/html-render/style.d.ts +1 -0
  47. package/es/html-render/style.js +1 -0
  48. package/es/icon/index.d.ts +1 -1
  49. package/es/index.d.ts +3 -0
  50. package/es/index.js +4 -1
  51. package/es/input/index.d.ts +1 -1
  52. package/es/input/index.js +16 -6
  53. package/es/input/main.scss +25 -0
  54. package/es/input/style.d.ts +1 -0
  55. package/es/input/style.js +1 -0
  56. package/es/input/types.d.ts +58 -15
  57. package/es/markdown/index.d.ts +1 -2
  58. package/es/markdown/index.js +26 -15
  59. package/es/markdown/main.scss +4 -3
  60. package/es/markdown/style.d.ts +2 -1
  61. package/es/markdown/style.js +2 -1
  62. package/es/markdown/types.d.ts +20 -9
  63. package/es/message/index.d.ts +4 -4
  64. package/es/person-picker/index.d.ts +3 -190
  65. package/es/person-picker/index.js +23 -21
  66. package/es/person-picker/main.scss +15 -1
  67. package/es/person-picker/types.d.ts +53 -11
  68. package/es/radio-group/index.d.ts +1 -1
  69. package/es/radio-group/index.js +9 -3
  70. package/es/radio-group/main.scss +13 -5
  71. package/es/radio-group/types.d.ts +5 -3
  72. package/es/reference/index.d.ts +1 -1
  73. package/es/reference/index.js +14 -15
  74. package/es/reference/main.scss +1 -1
  75. package/es/reference/types.d.ts +1 -0
  76. package/es/select/button.d.ts +3 -0
  77. package/es/select/button.js +70 -0
  78. package/es/select/index.d.ts +79 -79
  79. package/es/select/index.js +13 -57
  80. package/es/select/main.scss +22 -4
  81. package/es/select/types.d.ts +108 -1
  82. package/es/step/index.js +2 -2
  83. package/es/step/main.scss +115 -66
  84. package/es/step/types.d.ts +13 -2
  85. package/es/table/index.d.ts +12 -0
  86. package/es/table/index.js +23 -0
  87. package/es/table/main.scss +30 -0
  88. package/es/table/style.d.ts +2 -0
  89. package/es/table/style.js +2 -0
  90. package/es/table/types.d.ts +98 -0
  91. package/es/table/types.js +1 -0
  92. package/es/tag/index.d.ts +5 -3
  93. package/es/tag/index.js +18 -2
  94. package/es/tag/main.scss +20 -4
  95. package/es/tag/types.d.ts +55 -0
  96. package/es/text/index.js +1 -1
  97. package/es/text/main.scss +4 -1
  98. package/es/text/types.d.ts +8 -0
  99. package/es/time-picker/index.d.ts +6 -15
  100. package/es/time-picker/index.js +71 -24
  101. package/es/time-picker/main.scss +19 -1
  102. package/es/time-picker/style.d.ts +1 -0
  103. package/es/time-picker/style.js +1 -0
  104. package/es/time-picker/types.d.ts +133 -8
  105. package/es/tool-status/index.d.ts +1 -1
  106. package/es/tool-status/index.js +1 -1
  107. package/es/tool-status/main.scss +2 -1
  108. package/es/tool-status/types.d.ts +7 -2
  109. package/es/utils/func.d.ts +1 -0
  110. package/es/utils/func.js +13 -0
  111. package/es/utils/github-dark.scss +137 -0
  112. package/es/utils/github.scss +137 -0
  113. package/es/utils/hoc/main.scss +166 -0
  114. package/es/utils/hoc/withLabel.d.ts +94 -0
  115. package/es/utils/hoc/withLabel.js +57 -0
  116. package/es/utils/index.d.ts +1 -0
  117. package/es/utils/index.js +1 -0
  118. package/lib/ai-loading/types.d.ts +1 -0
  119. package/lib/button/button.d.ts +1 -2
  120. package/lib/button/button.js +13 -19
  121. package/lib/button/group.js +4 -41
  122. package/lib/button/main.scss +36 -77
  123. package/lib/card/main.scss +1 -1
  124. package/lib/checkbox-group/main.scss +6 -7
  125. package/lib/checkbox-group/types.d.ts +6 -0
  126. package/lib/code-view/index.d.ts +11 -0
  127. package/lib/code-view/index.js +66 -0
  128. package/lib/code-view/main.scss +54 -0
  129. package/lib/code-view/style.d.ts +4 -0
  130. package/lib/code-view/style.js +6 -0
  131. package/lib/code-view/types.d.ts +27 -0
  132. package/lib/code-view/types.js +2 -0
  133. package/lib/collapse/index.d.ts +157 -0
  134. package/lib/collapse/index.js +22 -0
  135. package/lib/collapse/main.scss +97 -0
  136. package/lib/collapse/style.d.ts +2 -0
  137. package/lib/collapse/style.js +4 -0
  138. package/lib/collapse/types.d.ts +82 -0
  139. package/lib/collapse/types.js +3 -0
  140. package/lib/core/variables.scss +27 -12
  141. package/lib/date-picker/DatePicker.d.ts +5 -0
  142. package/lib/date-picker/DatePicker.js +17 -0
  143. package/lib/date-picker/MonthPicker.d.ts +4 -0
  144. package/lib/date-picker/MonthPicker.js +17 -0
  145. package/lib/date-picker/RangePicker.d.ts +4 -0
  146. package/lib/date-picker/RangePicker.js +19 -0
  147. package/lib/date-picker/YearPicker.d.ts +4 -0
  148. package/lib/date-picker/YearPicker.js +17 -0
  149. package/lib/date-picker/index.d.ts +5 -23
  150. package/lib/date-picker/index.js +10 -27
  151. package/lib/date-picker/main.scss +23 -1
  152. package/lib/date-picker/style.d.ts +1 -0
  153. package/lib/date-picker/style.js +1 -0
  154. package/lib/date-picker/types.d.ts +161 -81
  155. package/lib/float-button/hooks/useAutoAlign.d.ts +1 -1
  156. package/lib/form/style.d.ts +0 -1
  157. package/lib/form/style.js +1 -2
  158. package/lib/form/types.d.ts +3 -517
  159. package/lib/form/types.js +4 -1
  160. package/lib/html-render/index.d.ts +1 -1
  161. package/lib/html-render/index.js +118 -106
  162. package/lib/html-render/main.scss +27 -8
  163. package/lib/html-render/style.d.ts +1 -0
  164. package/lib/html-render/style.js +1 -0
  165. package/lib/icon/index.d.ts +1 -1
  166. package/lib/index.d.ts +3 -0
  167. package/lib/index.js +8 -2
  168. package/lib/input/index.d.ts +1 -1
  169. package/lib/input/index.js +16 -6
  170. package/lib/input/main.scss +25 -0
  171. package/lib/input/style.d.ts +1 -0
  172. package/lib/input/style.js +1 -0
  173. package/lib/input/types.d.ts +58 -15
  174. package/lib/markdown/index.d.ts +1 -2
  175. package/lib/markdown/index.js +26 -15
  176. package/lib/markdown/main.scss +4 -3
  177. package/lib/markdown/style.d.ts +2 -1
  178. package/lib/markdown/style.js +2 -1
  179. package/lib/markdown/types.d.ts +20 -9
  180. package/lib/message/index.d.ts +4 -4
  181. package/lib/person-picker/index.d.ts +3 -190
  182. package/lib/person-picker/index.js +22 -20
  183. package/lib/person-picker/main.scss +15 -1
  184. package/lib/person-picker/types.d.ts +53 -11
  185. package/lib/radio-group/index.d.ts +1 -1
  186. package/lib/radio-group/index.js +8 -2
  187. package/lib/radio-group/main.scss +13 -5
  188. package/lib/radio-group/types.d.ts +5 -3
  189. package/lib/reference/index.d.ts +1 -1
  190. package/lib/reference/index.js +17 -18
  191. package/lib/reference/main.scss +1 -1
  192. package/lib/reference/types.d.ts +1 -0
  193. package/lib/select/button.d.ts +3 -0
  194. package/lib/select/button.js +74 -0
  195. package/lib/select/index.d.ts +79 -79
  196. package/lib/select/index.js +11 -55
  197. package/lib/select/main.scss +22 -4
  198. package/lib/select/types.d.ts +108 -1
  199. package/lib/step/index.js +2 -2
  200. package/lib/step/main.scss +115 -66
  201. package/lib/step/types.d.ts +13 -2
  202. package/lib/table/index.d.ts +12 -0
  203. package/lib/table/index.js +25 -0
  204. package/lib/table/main.scss +30 -0
  205. package/lib/table/style.d.ts +2 -0
  206. package/lib/table/style.js +4 -0
  207. package/lib/table/types.d.ts +98 -0
  208. package/lib/table/types.js +2 -0
  209. package/lib/tag/index.d.ts +5 -3
  210. package/lib/tag/index.js +17 -1
  211. package/lib/tag/main.scss +20 -4
  212. package/lib/tag/types.d.ts +55 -0
  213. package/lib/text/index.js +1 -1
  214. package/lib/text/main.scss +4 -1
  215. package/lib/text/types.d.ts +8 -0
  216. package/lib/time-picker/index.d.ts +6 -15
  217. package/lib/time-picker/index.js +71 -23
  218. package/lib/time-picker/main.scss +19 -1
  219. package/lib/time-picker/style.d.ts +1 -0
  220. package/lib/time-picker/style.js +1 -0
  221. package/lib/time-picker/types.d.ts +133 -8
  222. package/lib/tool-status/index.d.ts +1 -1
  223. package/lib/tool-status/index.js +1 -1
  224. package/lib/tool-status/main.scss +2 -1
  225. package/lib/tool-status/types.d.ts +7 -2
  226. package/lib/utils/func.d.ts +1 -0
  227. package/lib/utils/func.js +15 -0
  228. package/lib/utils/github-dark.scss +137 -0
  229. package/lib/utils/github.scss +137 -0
  230. package/lib/utils/hoc/main.scss +166 -0
  231. package/lib/utils/hoc/withLabel.d.ts +94 -0
  232. package/lib/utils/hoc/withLabel.js +60 -0
  233. package/lib/utils/index.d.ts +1 -0
  234. package/lib/utils/index.js +1 -0
  235. package/package.json +49 -4
  236. package/es/form/index.d.ts +0 -23
  237. package/es/form/index.js +0 -33
  238. package/es/form/main.scss +0 -5
  239. package/lib/form/index.d.ts +0 -23
  240. package/lib/form/index.js +0 -35
  241. package/lib/form/main.scss +0 -5
@@ -13,11 +13,9 @@ const classnames_1 = tslib_1.__importDefault(require("classnames"));
13
13
  const sanitize_html_1 = tslib_1.__importDefault(require("sanitize-html"));
14
14
  const html_react_parser_1 = tslib_1.__importStar(require("html-react-parser"));
15
15
  const react_photo_view_1 = require("react-photo-view");
16
- const img_1 = tslib_1.__importDefault(require("../img"));
17
16
  const next_1 = require("@alifd/next");
18
17
  const utils_1 = require("../utils");
19
- const copy_to_clipboard_1 = tslib_1.__importDefault(require("copy-to-clipboard"));
20
- const next_2 = require("@alifd/next");
18
+ const img_1 = tslib_1.__importDefault(require("../img"));
21
19
  const balloon_1 = tslib_1.__importDefault(require("../balloon"));
22
20
  require("../balloon/style");
23
21
  const sanitizeHtmlOptions = {
@@ -54,7 +52,7 @@ const sanitizeHtmlOptions = {
54
52
  allowProtocolRelative: false,
55
53
  };
56
54
  const isMobile = /HarmonyOS|ArkWeb|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator === null || navigator === void 0 ? void 0 : navigator.userAgent);
57
- const HTMLRenderer = (0, react_1.memo)(function HTMLRenderer({ className, children, imagePreview, loose, handleOpenLink, sendTextMessage, copyText, i18n, handleImageClick, renderImage, typewriterEffect }) {
55
+ const HTMLRenderer = (0, react_1.memo)(function HTMLRenderer({ className, children, imagePreview, loose, handleOpenLink, sendTextMessage, copyText, handleImageClick, renderImage, typewriterEffect }) {
58
56
  // // 处理钉钉特定链接
59
57
  // function handleDingtalkUrl(href: string) {
60
58
  // return () => {
@@ -68,14 +66,6 @@ const HTMLRenderer = (0, react_1.memo)(function HTMLRenderer({ className, childr
68
66
  }
69
67
  window.open(url);
70
68
  };
71
- const defaultCopyText = (text) => {
72
- if (!text) {
73
- return;
74
- }
75
- (0, copy_to_clipboard_1.default)(text);
76
- // TODO 换成 fusion/chat 的 toast
77
- next_2.Message.success('复制成功');
78
- };
79
69
  // 暂时不做实现
80
70
  const defaultSendMessage = () => {
81
71
  return;
@@ -100,99 +90,121 @@ const HTMLRenderer = (0, react_1.memo)(function HTMLRenderer({ className, childr
100
90
  }, className: "generating-char" }, char));
101
91
  })));
102
92
  };
103
- // 已替换
104
- const parserOptionsOld = {
105
- // @ts-ignore
106
- replace: domNode => {
107
- var _a, _b, _c, _d, _e, _f, _g;
108
- // 处理文本节点
109
- if ((domNode.type === 'text' || domNode.nodeType === 3) && typewriterEffect) {
110
- return processTextNode(domNode);
111
- }
112
- if (domNode instanceof html_react_parser_1.Element && domNode.attribs) {
113
- const { name } = domNode;
114
- if (name === 'link-reference') {
115
- const element = ((0, html_react_parser_1.domToReact)([domNode]));
116
- // link-reference 的子元素一定是 a 标签
117
- const aElement = (_a = element.props) === null || _a === void 0 ? void 0 : _a.children;
118
- // a 标签的子元素一定是 span 节点
119
- const spanElement = (_b = aElement === null || aElement === void 0 ? void 0 : aElement.props) === null || _b === void 0 ? void 0 : _b.children;
120
- const handleUrlClick = () => {
121
- var _a;
122
- if (!((_a = aElement === null || aElement === void 0 ? void 0 : aElement.props) === null || _a === void 0 ? void 0 : _a.href)) {
123
- return;
124
- }
125
- if (handleOpenLink) {
126
- handleOpenLink === null || handleOpenLink === void 0 ? void 0 : handleOpenLink(aElement.props.href);
127
- }
128
- else {
129
- defaultOpenLink(aElement.props.href);
130
- }
131
- };
132
- return (react_1.default.createElement(balloon_1.default, { v2: true, align: "b", className: "link-reference-balloon", closable: false, offset: [0, -8], triggerType: ['hover'], trigger: react_1.default.createElement("span", { className: "link-reference-index", onClick: handleUrlClick }, (_c = spanElement === null || spanElement === void 0 ? void 0 : spanElement.props) === null || _c === void 0 ? void 0 : _c.children) },
133
- react_1.default.createElement("div", { className: "link-reference-content" },
134
- react_1.default.createElement("img", { className: "link-reference-source-icon", src: ((_d = element.props) === null || _d === void 0 ? void 0 : _d['data-source-icon']) || '' }),
135
- react_1.default.createElement("a", { className: "link-reference-title", onClick: handleUrlClick, title: ((_e = element.props) === null || _e === void 0 ? void 0 : _e['data-title']) || '' }, ((_f = element.props) === null || _f === void 0 ? void 0 : _f['data-title']) || ''))));
136
- }
137
- if (name === 'a') {
138
- const element = ((0, html_react_parser_1.domToReact)([domNode]));
139
- const { props } = element;
140
- if (props.href && props.href.startsWith('message://')) {
141
- const msgValue = decodeURIComponent(props.href.slice(10));
142
- return react_1.default.cloneElement(element, {
143
- onClick: () => {
144
- if (sendTextMessage) {
145
- sendTextMessage(msgValue);
146
- return;
147
- }
148
- defaultSendMessage();
149
- },
150
- href: undefined
151
- });
152
- }
153
- if (props.href && props.href.startsWith('copy://')) {
154
- const copyValue = decodeURIComponent(props.href.slice(7));
155
- return react_1.default.cloneElement(element, {
156
- onClick: () => {
157
- if (copyText) {
158
- copyText(copyValue);
159
- return;
160
- }
161
- defaultCopyText(copyValue);
162
- },
163
- href: undefined
164
- });
165
- }
166
- // H5场景和钉协议场景都需要代理Click事件
167
- if (props.href && (/^dtmd:\/\/dingtalkclient|^dingtalk:\/\/dingtalkclient\/action\/jumprobot|^(https?:)?\/\/qr.dingtalk.com\/action\/jumprobot|^https:\/\/applink\.dingtalk\.com\/page\/link/.test(props.href) || isMobile)) {
168
- return react_1.default.cloneElement(element, {
169
- onClick: () => {
170
- if (handleOpenLink) {
171
- handleOpenLink === null || handleOpenLink === void 0 ? void 0 : handleOpenLink(props.href);
172
- return;
173
- }
174
- defaultOpenLink(props.href);
175
- },
176
- href: undefined
177
- });
178
- }
179
- return react_1.default.cloneElement(element, {
180
- target: '_blank',
181
- });
182
- }
183
- if (name === 'img') {
184
- const element = ((0, html_react_parser_1.domToReact)([domNode]));
185
- if (renderImage) {
186
- return renderImage(element.props);
187
- }
188
- // 换成统一的图片渲染
189
- return react_1.default.createElement(img_1.default, Object.assign({}, element.props, { imageClassName: (_g = element.props) === null || _g === void 0 ? void 0 : _g.className, enablePreview: imagePreview, onImageClick: () => {
190
- handleImageClick === null || handleImageClick === void 0 ? void 0 : handleImageClick(element.props.src);
191
- } }));
192
- }
193
- }
194
- }
195
- };
93
+ // // 已替换
94
+ // const parserOptionsOld: HTMLReactParserOptions = {
95
+ // // @ts-expect-error html-react-parser 的类型定义不完整
96
+ // replace: domNode => {
97
+ // // 处理文本节点
98
+ // if ((domNode.type === 'text' || domNode.nodeType === 3) && typewriterEffect) {
99
+ // return processTextNode(domNode as Text);
100
+ // }
101
+ // if (domNode instanceof Element && domNode.attribs) {
102
+ // const { name } = domNode;
103
+ // if (name === 'link-reference') {
104
+ // const element = (domToReact([domNode])) as JSX.Element;
105
+ // // link-reference 的子元素一定是 a 标签
106
+ // const aElement = element.props?.children as JSX.Element;
107
+ // // a 标签的子元素一定是 span 节点
108
+ // const spanElement = aElement?.props?.children as JSX.Element;
109
+ // const handleUrlClick = () => {
110
+ // if (!aElement?.props?.href) {
111
+ // return;
112
+ // }
113
+ // if (handleOpenLink) {
114
+ // handleOpenLink?.(aElement.props.href);
115
+ // } else {
116
+ // defaultOpenLink(aElement.props.href);
117
+ // }
118
+ // };
119
+ // return (
120
+ // <Balloon
121
+ // v2
122
+ // align="b"
123
+ // className="link-reference-balloon"
124
+ // closable={false}
125
+ // offset={[0, -8]}
126
+ // triggerType={['hover']}
127
+ // trigger={
128
+ // <span className="link-reference-index" onClick={handleUrlClick}>
129
+ // {spanElement?.props?.children}
130
+ // </span>
131
+ // }
132
+ // >
133
+ // <div className="link-reference-content">
134
+ // <img
135
+ // className="link-reference-source-icon"
136
+ // src={element.props?.['data-source-icon'] || ''}
137
+ // />
138
+ // <a
139
+ // className="link-reference-title"
140
+ // onClick={handleUrlClick}
141
+ // title={element.props?.['data-title'] || ''}
142
+ // >
143
+ // {element.props?.['data-title'] || ''}
144
+ // </a>
145
+ // </div>
146
+ // </Balloon>
147
+ // );
148
+ // }
149
+ // if (name === 'a') {
150
+ // const element = (domToReact([domNode])) as JSX.Element;
151
+ // const { props } = element;
152
+ // if (props.href && props.href.startsWith('message://')) {
153
+ // const msgValue = decodeURIComponent(props.href.slice(10));
154
+ // return React.cloneElement(element, {
155
+ // onClick: () => {
156
+ // if(sendTextMessage){
157
+ // sendTextMessage(msgValue);
158
+ // return
159
+ // }
160
+ // defaultSendMessage();
161
+ // },
162
+ // href: undefined
163
+ // });
164
+ // }
165
+ // if (props.href && props.href.startsWith('copy://')) {
166
+ // const copyValue = decodeURIComponent(props.href.slice(7));
167
+ // return React.cloneElement(element, {
168
+ // onClick: ()=>{
169
+ // if(copyText){
170
+ // copyText(copyValue);
171
+ // return;
172
+ // }
173
+ // defaultCopyText(copyValue);
174
+ // },
175
+ // href: undefined
176
+ // });
177
+ // }
178
+ // // H5场景和钉协议场景都需要代理Click事件
179
+ // if (props.href && (/^dtmd:\/\/dingtalkclient|^dingtalk:\/\/dingtalkclient\/action\/jumprobot|^(https?:)?\/\/qr.dingtalk.com\/action\/jumprobot|^https:\/\/applink\.dingtalk\.com\/page\/link/.test(props.href) || isMobile)) {
180
+ // return React.cloneElement(element, {
181
+ // onClick: ()=> {
182
+ // if(handleOpenLink){
183
+ // handleOpenLink?.(props.href);
184
+ // return;
185
+ // }
186
+ // defaultOpenLink(props.href);
187
+ // },
188
+ // href: undefined
189
+ // });
190
+ // }
191
+ // return React.cloneElement(element, {
192
+ // target: '_blank',
193
+ // });
194
+ // }
195
+ // if (name === 'img') {
196
+ // const element = (domToReact([domNode])) as JSX.Element;
197
+ // if(renderImage){
198
+ // return renderImage(element.props);
199
+ // }
200
+ // // 换成统一的图片渲染
201
+ // return <Img {...element.props} imageClassName={element.props?.className} enablePreview={imagePreview} onImageClick={()=>{
202
+ // handleImageClick?.(element.props.src)
203
+ // }}/>
204
+ // }
205
+ // }
206
+ // }
207
+ // };
196
208
  const element = (0, react_1.useMemo)(() => {
197
209
  indexRef.current = 0;
198
210
  // 已替换
@@ -253,7 +265,7 @@ const HTMLRenderer = (0, react_1.memo)(function HTMLRenderer({ className, childr
253
265
  copyText(copyValue);
254
266
  return;
255
267
  }
256
- defaultCopyText(copyValue);
268
+ (0, utils_1.defaultCopyText)(copyValue);
257
269
  },
258
270
  href: undefined
259
271
  });
@@ -9,6 +9,11 @@
9
9
  font-family: inherit;
10
10
  color: $color-text1-4;
11
11
 
12
+ // 最后一个子元素的 margin-bottom 为 0
13
+ > *:last-child {
14
+ margin-bottom: 0;
15
+ }
16
+
12
17
  &.loose {
13
18
  font-size: 16px;
14
19
  line-height: 1.85;
@@ -55,12 +60,12 @@
55
60
  h1, h2, h3, h4, h5, h6 {
56
61
  font-weight: bold;
57
62
  color: $color-text1-4;
63
+ margin-bottom: var(--s-1, 4px);
58
64
  }
59
65
 
60
66
  h1 {
61
67
  font-size: 18px;
62
- line-height: 1.8;
63
- margin: 0.5rem 0;
68
+ line-height: 24px;
64
69
 
65
70
  &.loose {
66
71
  font-size: 28px;
@@ -69,8 +74,7 @@
69
74
 
70
75
  h2 {
71
76
  font-size: 16px;
72
- line-height: 1.8;
73
- margin: 0.5rem 0;
77
+ line-height: 24px;
74
78
 
75
79
  &.loose {
76
80
  font-size: 24px;
@@ -79,7 +83,7 @@
79
83
 
80
84
  h3, h4, h5, h6 {
81
85
  font-size: 14px;
82
- line-height: 2;
86
+ line-height: 22px;
83
87
  }
84
88
 
85
89
  h3 {
@@ -94,6 +98,12 @@
94
98
  }
95
99
  }
96
100
 
101
+ p {
102
+ line-height: 22px;
103
+ font-size: 14px;
104
+ margin-bottom: var(--s-1, 4px);
105
+ }
106
+
97
107
 
98
108
  img, video, .image {
99
109
  max-width: 100%;
@@ -157,7 +167,7 @@
157
167
 
158
168
  table {
159
169
  line-height: 1.6;
160
- margin: 10px auto;
170
+ margin: var(--s-2, 8px) auto;
161
171
  border-spacing: none;
162
172
  border-collapse: collapse;
163
173
  empty-cells: show;
@@ -199,10 +209,19 @@
199
209
  list-style: revert;
200
210
  padding-left: 20px;
201
211
  margin: 0;
212
+ margin-bottom: var(--s-1, 4px);
202
213
 
203
214
  &.loose {
204
215
  padding-left: 30px;
205
216
  }
217
+
218
+ li {
219
+ list-style: revert;
220
+
221
+ > *:last-child {
222
+ margin-bottom: 0;
223
+ }
224
+ }
206
225
  }
207
226
 
208
227
  li {
@@ -230,8 +249,8 @@
230
249
  opacity: 0.6;
231
250
  font-style: italic;
232
251
  position: relative;
233
- margin-top: 6px;
234
- margin-bottom: 6px;
252
+ margin-top: var(--s-2, 8px);
253
+ margin-bottom: var(--s-2, 8px);
235
254
 
236
255
  &.loose {
237
256
  margin-top: 20px;
@@ -1 +1,2 @@
1
+ import '@alifd/next/lib/message/style2';
1
2
  import './main.scss';
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@alifd/next/lib/message/style2");
3
4
  require("./main.scss");
@@ -8,6 +8,6 @@
8
8
  import React from 'react';
9
9
  import type { IconProps } from '@alifd/next/types/icon';
10
10
  export * from './types';
11
- declare const _default: import("@alifd/next/types/config-provider/types").ConfiguredComponentClass<Pick<IconProps & React.RefAttributes<import("@alifd/next/types/config-provider/types").ConfiguredComponent<IconProps & import("@alifd/next/types/config-provider/types").ComponentCommonProps, import("@alifd/next/types/icon/icon").default>>, keyof IconProps | "key"> & import("@alifd/next/types/config-provider/types").ComponentCommonProps, import("@alifd/next/types/config-provider/types").ConfiguredComponent<IconProps & import("@alifd/next/types/config-provider/types").ComponentCommonProps, import("@alifd/next/types/icon/icon").default>, {}>;
11
+ declare const _default: import("@alifd/next/types/config-provider/types").ConfiguredComponentClass<Pick<IconProps & React.RefAttributes<import("@alifd/next/types/config-provider/types").ConfiguredComponent<IconProps & import("@alifd/next/types/config-provider/types").ComponentCommonProps, import("@alifd/next/types/icon/icon").default>>, "key" | keyof IconProps> & import("@alifd/next/types/config-provider/types").ComponentCommonProps, import("@alifd/next/types/config-provider/types").ConfiguredComponent<IconProps & import("@alifd/next/types/config-provider/types").ComponentCommonProps, import("@alifd/next/types/icon/icon").default>, {}>;
12
12
  export default _default;
13
13
  export declare function renderCommonIcon(icon: any, size?: number | 'xxs' | 'xs' | 'small' | 'medium' | 'large' | 'xl' | 'xxl' | 'xxxl' | 'inherit'): React.JSX.Element | null;
package/lib/index.d.ts CHANGED
@@ -32,4 +32,7 @@ export { default as CheckboxGroup } from './checkbox-group';
32
32
  export { default as Select } from './select';
33
33
  export { default as Flip } from './flip';
34
34
  export { default as ToolStatus } from './tool-status';
35
+ export { default as Collapse } from './collapse';
36
+ export { default as Table } from './table';
37
+ export { default as CodeView } from './code-view';
35
38
  export declare const version: string;
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.version = exports.ToolStatus = exports.Flip = exports.Select = exports.CheckboxGroup = exports.RadioGroup = exports.Img = exports.AILoading = exports.RichTextInput = exports.Recommend = exports.Reference = exports.StopGenerate = exports.Step = exports.Drawer = exports.Loading = exports.Origin = exports.CardLoading = exports.Markdown = exports.HtmlRender = exports.ImagePreview = exports.List = exports.Balloon = exports.Icon = exports.Message = exports.PersonPicker = exports.TimePicker = exports.DatePicker = exports.Input = exports.Tab = exports.Tag = exports.Text = exports.FloatButton = exports.Feedback = exports.Card = exports.Button = void 0;
3
+ exports.version = exports.CodeView = exports.Table = exports.Collapse = exports.ToolStatus = exports.Flip = exports.Select = exports.CheckboxGroup = exports.RadioGroup = exports.Img = exports.AILoading = exports.RichTextInput = exports.Recommend = exports.Reference = exports.StopGenerate = exports.Step = exports.Drawer = exports.Loading = exports.Origin = exports.CardLoading = exports.Markdown = exports.HtmlRender = exports.ImagePreview = exports.List = exports.Balloon = exports.Icon = exports.Message = exports.PersonPicker = exports.TimePicker = exports.DatePicker = exports.Input = exports.Tab = exports.Tag = exports.Text = exports.FloatButton = exports.Feedback = exports.Card = exports.Button = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var button_1 = require("./button");
6
6
  Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return tslib_1.__importDefault(button_1).default; } });
@@ -70,4 +70,10 @@ var flip_1 = require("./flip");
70
70
  Object.defineProperty(exports, "Flip", { enumerable: true, get: function () { return tslib_1.__importDefault(flip_1).default; } });
71
71
  var tool_status_1 = require("./tool-status");
72
72
  Object.defineProperty(exports, "ToolStatus", { enumerable: true, get: function () { return tslib_1.__importDefault(tool_status_1).default; } });
73
- exports.version = '0.3.40-beta.0';
73
+ var collapse_1 = require("./collapse");
74
+ Object.defineProperty(exports, "Collapse", { enumerable: true, get: function () { return tslib_1.__importDefault(collapse_1).default; } });
75
+ var table_1 = require("./table");
76
+ Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return tslib_1.__importDefault(table_1).default; } });
77
+ var code_view_1 = require("./code-view");
78
+ Object.defineProperty(exports, "CodeView", { enumerable: true, get: function () { return tslib_1.__importDefault(code_view_1).default; } });
79
+ exports.version = '0.3.40-beta.2';
@@ -2,7 +2,7 @@
2
2
  * @component 输入框
3
3
  * @en Input
4
4
  * @type 通用 - General
5
- * @remarks Next Input,按钮用于开始一个即时操作。- Same as Next.Input, Input used to trigger an action.
5
+ * @remarks [输入器组件] 是一个 [输入类] UI 组件,用于 [接收用户自由文本输入],包括数字、文本等类型,使用户能够 [动态提供信息并完成数据录入]。它在卡片中扮演 [数据输入与交互入口] 的角色,通常用于 [表单填写、参数配置等场景]。
6
6
  * @when 标记一个(或封装一组)操作命令,响应用户点击行为,触发相应的业务逻辑。- Inputs are used for emphasizing important functions on your page.
7
7
  * @others
8
8
  * ## 无障碍键盘操作指南
@@ -3,7 +3,7 @@
3
3
  * @component 输入框
4
4
  * @en Input
5
5
  * @type 通用 - General
6
- * @remarks Next Input,按钮用于开始一个即时操作。- Same as Next.Input, Input used to trigger an action.
6
+ * @remarks [输入器组件] 是一个 [输入类] UI 组件,用于 [接收用户自由文本输入],包括数字、文本等类型,使用户能够 [动态提供信息并完成数据录入]。它在卡片中扮演 [数据输入与交互入口] 的角色,通常用于 [表单填写、参数配置等场景]。
7
7
  * @when 标记一个(或封装一组)操作命令,响应用户点击行为,触发相应的业务逻辑。- Inputs are used for emphasizing important functions on your page.
8
8
  * @others
9
9
  * ## 无障碍键盘操作指南
@@ -24,21 +24,31 @@ const react_1 = tslib_1.__importStar(require("react"));
24
24
  const next_1 = require("@alifd/next");
25
25
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
26
26
  const utils_1 = require("../utils");
27
- const Input = (0, react_1.forwardRef)((_a, ref) => {
27
+ const withLabel_1 = require("../utils/hoc/withLabel");
28
+ // 基础Input组件
29
+ const BaseInput = (0, react_1.forwardRef)((_a, ref) => {
28
30
  var { className, size = 'medium' } = _a, props = tslib_1.__rest(_a, ["className", "size"]);
29
31
  return (react_1.default.createElement(next_1.Input, Object.assign({}, props, { className: (0, classnames_1.default)(`${utils_1.PREFIX_DEFAULT}input`, className), size: size, ref: ref })));
30
32
  });
33
+ BaseInput.displayName = 'BaseInput';
34
+ // 基础TextArea组件
35
+ const BaseTextArea = (0, react_1.forwardRef)((_a, ref) => {
36
+ var { className, size = 'medium' } = _a, props = tslib_1.__rest(_a, ["className", "size"]);
37
+ return (react_1.default.createElement(next_1.Input.TextArea, Object.assign({}, props, { className: (0, classnames_1.default)(`${utils_1.PREFIX_DEFAULT}textarea`, className), size: size, ref: ref })));
38
+ });
39
+ BaseTextArea.displayName = 'BaseTextArea';
40
+ // 带Label的Input组件
41
+ const Input = (0, withLabel_1.withLabel)(BaseInput);
31
42
  const InputWithSub = (0, utils_1.assignSubComponent)(Input, {
32
43
  displayName: 'Input',
33
44
  });
34
- const InputTextArea = (0, react_1.forwardRef)((_a, ref) => {
35
- var { className, size = 'medium' } = _a, props = tslib_1.__rest(_a, ["className", "size"]);
36
- return (react_1.default.createElement(next_1.Input.TextArea, Object.assign({}, props, { className: (0, classnames_1.default)(`${utils_1.PREFIX_DEFAULT}input`, className), size: size, ref: ref })));
37
- });
45
+ // 带Label的TextArea组件
46
+ const InputTextArea = (0, withLabel_1.withLabel)(BaseTextArea);
38
47
  const InputTextAreaWithSub = (0, utils_1.assignSubComponent)(InputTextArea, {
39
48
  displayName: 'InputTextArea',
40
49
  });
41
50
  tslib_1.__exportStar(require("./types"), exports);
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
52
  const Result = next_1.ConfigProvider.config(InputWithSub);
43
53
  Result.TextArea = next_1.ConfigProvider.config(InputTextAreaWithSub);
44
54
  exports.default = Result;
@@ -1,5 +1,30 @@
1
1
  @import "../core/variables.scss";
2
2
 
3
3
  .#{$prefix}input {
4
+ &.next-input {
5
+ width: 100%;
6
+ display: inline-flex;
7
+ align-items: center;
8
+ position: relative;
9
+ }
4
10
 
11
+ .next-input-control {
12
+ width: auto;
13
+ }
14
+ }
15
+
16
+ .#{$prefix}textarea {
17
+ border: none;
18
+ position: relative;
19
+ --input-multiple-font-size: 14px;
20
+ --input-multiple-padding-tb: var(---s-2, 8px);
21
+ --input-multiple-padding-lr: var(---s-2, 8px);
22
+
23
+ &.next-input:hover {
24
+ background-color: transparent;
25
+ }
26
+
27
+ textarea {
28
+ line-height: var(--form-element-medium-line-height, 18px);
29
+ }
5
30
  }
@@ -1 +1,2 @@
1
1
  import '@alifd/next/lib/input/style2';
2
+ import './main.scss';
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  require("@alifd/next/lib/input/style2");
4
+ require("./main.scss");