@unif/react-native-chat 4.6.2 → 4.6.3
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/lib/module/components/Message/MarkdownContent/MarkdownContent.js +14 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownContent.js.map +1 -1
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownContent.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/Message/MarkdownContent/MarkdownContent.tsx +19 -0
|
@@ -19,6 +19,20 @@ export function MarkdownContent({
|
|
|
19
19
|
const styles = useThemedStyles(outgoing ? createOutgoingStyles : createStyles);
|
|
20
20
|
const markdown = useMemo(() => {
|
|
21
21
|
const instance = new Renderer();
|
|
22
|
+
const renderList = instance.list.bind(instance);
|
|
23
|
+
instance.list = (ordered, items, listStyle, textStyle, startIndex = 1) => {
|
|
24
|
+
if (!ordered) return renderList(ordered, items, listStyle, textStyle, startIndex);
|
|
25
|
+
// 每行独立保留编号宽度,追加两位数编号不再挤压已有正文。
|
|
26
|
+
return items.map((item, index) => {
|
|
27
|
+
const content = /*#__PURE__*/isValidElement(item) ? /*#__PURE__*/cloneElement(item, {
|
|
28
|
+
key: index
|
|
29
|
+
}) : item;
|
|
30
|
+
const row = renderList(true, [content], listStyle, textStyle, startIndex + index);
|
|
31
|
+
return /*#__PURE__*/isValidElement(row) ? /*#__PURE__*/cloneElement(row, {
|
|
32
|
+
key: index
|
|
33
|
+
}) : row;
|
|
34
|
+
});
|
|
35
|
+
};
|
|
22
36
|
const renderCode = instance.code.bind(instance);
|
|
23
37
|
instance.code = (value, language, containerStyle, textStyle) => renderCode(value, language, containerStyle, {
|
|
24
38
|
...textStyle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Children","cloneElement","Fragment","isValidElement","useMemo","Pressable","Text","View","Renderer","useMarkdown","useTheme","useThemedStyles","createStyles","createOutgoingStyles","MarkdownImage","jsx","_jsx","MarkdownContent","text","onLinkPress","outgoing","style","scheme","styles","markdown","instance","
|
|
1
|
+
{"version":3,"names":["Children","cloneElement","Fragment","isValidElement","useMemo","Pressable","Text","View","Renderer","useMarkdown","useTheme","useThemedStyles","createStyles","createOutgoingStyles","MarkdownImage","jsx","_jsx","MarkdownContent","text","onLinkPress","outgoing","style","scheme","styles","markdown","instance","renderList","list","bind","ordered","items","listStyle","textStyle","startIndex","map","item","index","content","key","row","renderCode","code","value","language","containerStyle","codeText","renderTable","table","args","children","getKey","renderImage","image","uri","alt","imageStyle","title","endsWith","undefined","label","link","href","linkStyle","selectable","accessibilityRole","accessibilityLabel","onPress","event","stopPropagation","linkImage","renderer","nodes","colorScheme","toArray","length"],"sourceRoot":"../../../../../src","sources":["components/Message/MarkdownContent/MarkdownContent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Message/MarkdownContent/MarkdownContent.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAyB,MAAM,YAAS,CAAC;AAG3E,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,WAAW,EACX,QAAgB,EAChB,KAAK,GACN,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"MarkdownContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Message/MarkdownContent/MarkdownContent.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAyB,MAAM,YAAS,CAAC;AAG3E,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,WAAW,EACX,QAAgB,EAChB,KAAK,GACN,EAAE,oBAAoB,sCAoGtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unif/react-native-chat",
|
|
3
|
-
"version": "4.6.
|
|
3
|
+
"version": "4.6.3",
|
|
4
4
|
"description": "Unif React Native 聊天组件:消息列表、输入、附件与交互反馈",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
},
|
|
136
136
|
"release-it": {
|
|
137
137
|
"git": {
|
|
138
|
-
"commitMessage": "chore: release ${version} [skip ci]",
|
|
138
|
+
"commitMessage": "chore: release ${version} 发布版本 [skip ci]",
|
|
139
139
|
"tagName": "v${version}",
|
|
140
140
|
"requireCommits": true
|
|
141
141
|
},
|
|
@@ -24,6 +24,25 @@ export function MarkdownContent({
|
|
|
24
24
|
);
|
|
25
25
|
const markdown = useMemo(() => {
|
|
26
26
|
const instance = new Renderer();
|
|
27
|
+
const renderList = instance.list.bind(instance);
|
|
28
|
+
instance.list = (ordered, items, listStyle, textStyle, startIndex = 1) => {
|
|
29
|
+
if (!ordered)
|
|
30
|
+
return renderList(ordered, items, listStyle, textStyle, startIndex);
|
|
31
|
+
// 每行独立保留编号宽度,追加两位数编号不再挤压已有正文。
|
|
32
|
+
return items.map((item, index) => {
|
|
33
|
+
const content = isValidElement(item)
|
|
34
|
+
? cloneElement(item, { key: index })
|
|
35
|
+
: item;
|
|
36
|
+
const row = renderList(
|
|
37
|
+
true,
|
|
38
|
+
[content],
|
|
39
|
+
listStyle,
|
|
40
|
+
textStyle,
|
|
41
|
+
startIndex + index
|
|
42
|
+
);
|
|
43
|
+
return isValidElement(row) ? cloneElement(row, { key: index }) : row;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
27
46
|
const renderCode = instance.code.bind(instance);
|
|
28
47
|
instance.code = (value, language, containerStyle, textStyle) =>
|
|
29
48
|
renderCode(value, language, containerStyle, {
|