@unif/react-native-chat 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/bubble/Bubble.js +131 -0
- package/lib/commonjs/bubble/Bubble.js.map +1 -0
- package/lib/commonjs/bubble/BubbleList.js +73 -0
- package/lib/commonjs/bubble/BubbleList.js.map +1 -0
- package/lib/commonjs/bubble/index.md +111 -0
- package/lib/commonjs/card-wrapper/CardWrapper.js +65 -0
- package/lib/commonjs/card-wrapper/CardWrapper.js.map +1 -0
- package/lib/commonjs/card-wrapper/index.md +78 -0
- package/lib/commonjs/conversations/Conversations.js +184 -0
- package/lib/commonjs/conversations/Conversations.js.map +1 -0
- package/lib/commonjs/conversations/index.md +90 -0
- package/lib/commonjs/index.js +69 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/prompts/Prompts.js +87 -0
- package/lib/commonjs/prompts/Prompts.js.map +1 -0
- package/lib/commonjs/prompts/index.md +81 -0
- package/lib/commonjs/sender/Sender.js +352 -0
- package/lib/commonjs/sender/Sender.js.map +1 -0
- package/lib/commonjs/sender/index.md +131 -0
- package/lib/commonjs/theme/tokens.js +77 -0
- package/lib/commonjs/theme/tokens.js.map +1 -0
- package/lib/commonjs/types/react-native-vector-icons.d.js +2 -0
- package/lib/commonjs/types/react-native-vector-icons.d.js.map +1 -0
- package/lib/commonjs/welcome/Welcome.js +152 -0
- package/lib/commonjs/welcome/Welcome.js.map +1 -0
- package/lib/commonjs/welcome/index.md +95 -0
- package/lib/module/bubble/Bubble.js +126 -0
- package/lib/module/bubble/Bubble.js.map +1 -0
- package/lib/module/bubble/BubbleList.js +68 -0
- package/lib/module/bubble/BubbleList.js.map +1 -0
- package/lib/module/bubble/index.md +111 -0
- package/lib/module/card-wrapper/CardWrapper.js +60 -0
- package/lib/module/card-wrapper/CardWrapper.js.map +1 -0
- package/lib/module/card-wrapper/index.md +78 -0
- package/lib/module/conversations/Conversations.js +179 -0
- package/lib/module/conversations/Conversations.js.map +1 -0
- package/lib/module/conversations/index.md +90 -0
- package/lib/module/index.js +23 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/prompts/Prompts.js +82 -0
- package/lib/module/prompts/Prompts.js.map +1 -0
- package/lib/module/prompts/index.md +81 -0
- package/lib/module/sender/Sender.js +346 -0
- package/lib/module/sender/Sender.js.map +1 -0
- package/lib/module/sender/index.md +131 -0
- package/lib/module/theme/tokens.js +72 -0
- package/lib/module/theme/tokens.js.map +1 -0
- package/lib/module/types/react-native-vector-icons.d.js +2 -0
- package/lib/module/types/react-native-vector-icons.d.js.map +1 -0
- package/lib/module/welcome/Welcome.js +147 -0
- package/lib/module/welcome/Welcome.js.map +1 -0
- package/lib/module/welcome/index.md +95 -0
- package/lib/typescript/commonjs/bubble/Bubble.d.ts +29 -0
- package/lib/typescript/commonjs/bubble/Bubble.d.ts.map +1 -0
- package/lib/typescript/commonjs/bubble/BubbleList.d.ts +20 -0
- package/lib/typescript/commonjs/bubble/BubbleList.d.ts.map +1 -0
- package/lib/typescript/commonjs/card-wrapper/CardWrapper.d.ts +22 -0
- package/lib/typescript/commonjs/card-wrapper/CardWrapper.d.ts.map +1 -0
- package/lib/typescript/commonjs/conversations/Conversations.d.ts +37 -0
- package/lib/typescript/commonjs/conversations/Conversations.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +20 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/prompts/Prompts.d.ts +27 -0
- package/lib/typescript/commonjs/prompts/Prompts.d.ts.map +1 -0
- package/lib/typescript/commonjs/sender/Sender.d.ts +58 -0
- package/lib/typescript/commonjs/sender/Sender.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/tokens.d.ts +57 -0
- package/lib/typescript/commonjs/theme/tokens.d.ts.map +1 -0
- package/lib/typescript/commonjs/welcome/Welcome.d.ts +39 -0
- package/lib/typescript/commonjs/welcome/Welcome.d.ts.map +1 -0
- package/lib/typescript/module/bubble/Bubble.d.ts +29 -0
- package/lib/typescript/module/bubble/Bubble.d.ts.map +1 -0
- package/lib/typescript/module/bubble/BubbleList.d.ts +20 -0
- package/lib/typescript/module/bubble/BubbleList.d.ts.map +1 -0
- package/lib/typescript/module/card-wrapper/CardWrapper.d.ts +22 -0
- package/lib/typescript/module/card-wrapper/CardWrapper.d.ts.map +1 -0
- package/lib/typescript/module/conversations/Conversations.d.ts +37 -0
- package/lib/typescript/module/conversations/Conversations.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +20 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/prompts/Prompts.d.ts +27 -0
- package/lib/typescript/module/prompts/Prompts.d.ts.map +1 -0
- package/lib/typescript/module/sender/Sender.d.ts +58 -0
- package/lib/typescript/module/sender/Sender.d.ts.map +1 -0
- package/lib/typescript/module/theme/tokens.d.ts +57 -0
- package/lib/typescript/module/theme/tokens.d.ts.map +1 -0
- package/lib/typescript/module/welcome/Welcome.d.ts +39 -0
- package/lib/typescript/module/welcome/Welcome.d.ts.map +1 -0
- package/package.json +41 -9
- package/src/index.tsx +24 -13
- package/src/sender/Sender.tsx +46 -38
- package/src/theme/tokens.ts +14 -2
- package/src/types/react-native-vector-icons.d.ts +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_tokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","groupByDate","sessions","now","Date","todayStart","getFullYear","getMonth","getDate","getTime","yesterdayStart","groups","today","yesterday","earlier","s","timestamp","push","length","title","data","Conversations","items","activeId","onSelect","onDelete","onNew","shouldGroup","header","style","styles","semanticStyles","testID","sections","useMemo","handleDelete","useCallback","item","Alert","alert","text","onPress","id","renderItem","isActive","jsx","TouchableOpacity","defaultStyles","sessionItem","sessionItemActive","itemActive","onLongPress","activeOpacity","children","Text","sessionTitle","numberOfLines","renderSectionHeader","section","sectionHeader","jsxs","View","container","root","newButtonWrapper","newButton","newButtonText","SectionList","keyExtractor","list","showsVerticalScrollIndicator","stickySectionHeadersEnabled","StyleSheet","create","flex","alignItems","paddingVertical","paddingHorizontal","flexDirection","justifyContent","width","borderRadius","chatTokens","radiusFull","borderWidth","borderColor","colorPrimary","fontSize","fontWeight","color","colorTextSecondary","paddingTop","paddingBottom","backgroundColor","colorText","_default","exports","React","memo"],"sourceRoot":"../../../src","sources":["conversations/Conversations.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Conversations 会话列表
|
|
3
|
+
nav:
|
|
4
|
+
title: 组件
|
|
5
|
+
path: /components
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Conversations 会话列表
|
|
9
|
+
|
|
10
|
+
按日期分组的会话列表组件,支持新建、选中、删除操作。
|
|
11
|
+
|
|
12
|
+
## 何时使用
|
|
13
|
+
|
|
14
|
+
- 展示聊天历史会话列表
|
|
15
|
+
- 需要按日期分组(今天/昨天/更早)
|
|
16
|
+
- 侧边栏会话管理
|
|
17
|
+
|
|
18
|
+
## 代码示例
|
|
19
|
+
|
|
20
|
+
### 基本用法
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
import { Conversations } from '@unif/react-native-chat';
|
|
24
|
+
|
|
25
|
+
<Conversations
|
|
26
|
+
items={sessions}
|
|
27
|
+
activeId={currentSessionId}
|
|
28
|
+
onSelect={(id) => switchSession(id)}
|
|
29
|
+
onDelete={(id) => deleteSession(id)}
|
|
30
|
+
onNew={() => createNewSession()}
|
|
31
|
+
/>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 不分组
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
<Conversations
|
|
38
|
+
items={sessions}
|
|
39
|
+
activeId={currentSessionId}
|
|
40
|
+
onSelect={handleSelect}
|
|
41
|
+
groupByDate={false}
|
|
42
|
+
/>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 自定义头部
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<Conversations
|
|
49
|
+
items={sessions}
|
|
50
|
+
onSelect={handleSelect}
|
|
51
|
+
header={<DrawerHeader />}
|
|
52
|
+
/>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## API
|
|
56
|
+
|
|
57
|
+
### ConversationsProps
|
|
58
|
+
|
|
59
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
60
|
+
|------|------|------|--------|
|
|
61
|
+
| items | 会话列表数据 | `ConversationItem[]` | - |
|
|
62
|
+
| activeId | 当前选中会话 ID | `string` | - |
|
|
63
|
+
| onSelect | 选中会话回调 | `(id: string) => void` | - |
|
|
64
|
+
| onDelete | 删除会话回调(长按触发) | `(id: string) => void` | - |
|
|
65
|
+
| onNew | 新建会话回调 | `() => void` | - |
|
|
66
|
+
| groupByDate | 按日期分组 | `boolean` | `true` |
|
|
67
|
+
| header | 列表顶部内容 | `ReactNode` | - |
|
|
68
|
+
| style | 容器样式 | `ViewStyle` | - |
|
|
69
|
+
| styles | 语义样式 | `Partial<ConversationsSemanticStyles>` | - |
|
|
70
|
+
| testID | 测试标识 | `string` | `'conversations'` |
|
|
71
|
+
|
|
72
|
+
### ConversationItem
|
|
73
|
+
|
|
74
|
+
| 属性 | 说明 | 类型 |
|
|
75
|
+
|------|------|------|
|
|
76
|
+
| id | 唯一标识 | `string` |
|
|
77
|
+
| title | 会话标题 | `string` |
|
|
78
|
+
| lastMessage | 最后一条消息 | `string` |
|
|
79
|
+
| timestamp | 时间戳(毫秒) | `number` |
|
|
80
|
+
| messageCount | 消息数量 | `number` |
|
|
81
|
+
|
|
82
|
+
### ConversationsSemanticStyles
|
|
83
|
+
|
|
84
|
+
| 属性 | 说明 | 类型 |
|
|
85
|
+
|------|------|------|
|
|
86
|
+
| root | 外层容器 | `ViewStyle` |
|
|
87
|
+
| newButton | 新建按钮 | `ViewStyle` |
|
|
88
|
+
| sectionHeader | 分组标题 | `TextStyle` |
|
|
89
|
+
| item | 会话项 | `ViewStyle` |
|
|
90
|
+
| itemActive | 选中态会话项 | `ViewStyle` |
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Bubble", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Bubble.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "BubbleList", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _BubbleList.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "CardWrapper", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _CardWrapper.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "Conversations", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _Conversations.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "Prompts", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _Prompts.default;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "Sender", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _Sender.default;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "Welcome", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _Welcome.default;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "chatTokens", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _tokens.chatTokens;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "configure", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _tokens.configure;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var _Bubble = _interopRequireDefault(require("./bubble/Bubble"));
|
|
61
|
+
var _BubbleList = _interopRequireDefault(require("./bubble/BubbleList"));
|
|
62
|
+
var _Sender = _interopRequireDefault(require("./sender/Sender"));
|
|
63
|
+
var _Conversations = _interopRequireDefault(require("./conversations/Conversations"));
|
|
64
|
+
var _Prompts = _interopRequireDefault(require("./prompts/Prompts"));
|
|
65
|
+
var _Welcome = _interopRequireDefault(require("./welcome/Welcome"));
|
|
66
|
+
var _CardWrapper = _interopRequireDefault(require("./card-wrapper/CardWrapper"));
|
|
67
|
+
var _tokens = require("./theme/tokens");
|
|
68
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Bubble","_interopRequireDefault","require","_BubbleList","_Sender","_Conversations","_Prompts","_Welcome","_CardWrapper","_tokens","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAIA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AAQA,IAAAG,cAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAQA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AAQA,IAAAK,QAAA,GAAAN,sBAAA,CAAAC,OAAA;AAQA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AAOA,IAAAO,OAAA,GAAAP,OAAA;AAAuD,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _tokens = require("../theme/tokens");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
/**
|
|
13
|
+
* Prompts — 建议提示
|
|
14
|
+
* 水平 ScrollView + Chip 列表
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const Prompts = ({
|
|
18
|
+
items,
|
|
19
|
+
onSelect,
|
|
20
|
+
disabled = false,
|
|
21
|
+
wrap = false,
|
|
22
|
+
style,
|
|
23
|
+
styles: semanticStyles,
|
|
24
|
+
testID = 'prompts'
|
|
25
|
+
}) => {
|
|
26
|
+
if (items.length === 0) return null;
|
|
27
|
+
const renderChips = () => items.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
28
|
+
style: [defaultStyles.chip, semanticStyles?.chip],
|
|
29
|
+
onPress: () => !disabled && onSelect(item),
|
|
30
|
+
activeOpacity: disabled ? 1 : 0.7,
|
|
31
|
+
disabled: disabled,
|
|
32
|
+
testID: `${testID}-${item.id}`,
|
|
33
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
34
|
+
style: [defaultStyles.chipText, semanticStyles?.chipText, disabled && defaultStyles.chipTextDisabled],
|
|
35
|
+
numberOfLines: 1,
|
|
36
|
+
children: item.label
|
|
37
|
+
})
|
|
38
|
+
}, item.id));
|
|
39
|
+
if (wrap) {
|
|
40
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
41
|
+
style: [defaultStyles.container, defaultStyles.wrapContainer, semanticStyles?.root, style],
|
|
42
|
+
testID: testID,
|
|
43
|
+
children: renderChips()
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
47
|
+
style: [defaultStyles.container, semanticStyles?.root, style],
|
|
48
|
+
testID: testID,
|
|
49
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
50
|
+
horizontal: true,
|
|
51
|
+
showsHorizontalScrollIndicator: false,
|
|
52
|
+
contentContainerStyle: defaultStyles.scrollContent,
|
|
53
|
+
children: renderChips()
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
const defaultStyles = _reactNative.StyleSheet.create({
|
|
58
|
+
container: {
|
|
59
|
+
paddingVertical: 8,
|
|
60
|
+
backgroundColor: 'transparent'
|
|
61
|
+
},
|
|
62
|
+
scrollContent: {
|
|
63
|
+
paddingHorizontal: 12,
|
|
64
|
+
gap: 8
|
|
65
|
+
},
|
|
66
|
+
wrapContainer: {
|
|
67
|
+
flexDirection: 'row',
|
|
68
|
+
flexWrap: 'wrap',
|
|
69
|
+
paddingHorizontal: 12,
|
|
70
|
+
gap: 8
|
|
71
|
+
},
|
|
72
|
+
chip: {
|
|
73
|
+
backgroundColor: '#F3F4F6',
|
|
74
|
+
borderRadius: 16,
|
|
75
|
+
paddingHorizontal: 14,
|
|
76
|
+
paddingVertical: 8
|
|
77
|
+
},
|
|
78
|
+
chipText: {
|
|
79
|
+
fontSize: 13,
|
|
80
|
+
color: _tokens.chatTokens.colorText
|
|
81
|
+
},
|
|
82
|
+
chipTextDisabled: {
|
|
83
|
+
color: _tokens.chatTokens.colorTextPlaceholder
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
var _default = exports.default = /*#__PURE__*/_react.default.memo(Prompts);
|
|
87
|
+
//# sourceMappingURL=Prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_tokens","_jsxRuntime","e","__esModule","default","Prompts","items","onSelect","disabled","wrap","style","styles","semanticStyles","testID","length","renderChips","map","item","jsx","TouchableOpacity","defaultStyles","chip","onPress","activeOpacity","id","children","Text","chipText","chipTextDisabled","numberOfLines","label","View","container","wrapContainer","root","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","scrollContent","StyleSheet","create","paddingVertical","backgroundColor","paddingHorizontal","gap","flexDirection","flexWrap","borderRadius","fontSize","color","chatTokens","colorText","colorTextPlaceholder","_default","exports","React","memo"],"sourceRoot":"../../../src","sources":["prompts/Prompts.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Prompts 建议提示
|
|
3
|
+
nav:
|
|
4
|
+
title: 组件
|
|
5
|
+
path: /components
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Prompts 建议提示
|
|
9
|
+
|
|
10
|
+
水平滚动的建议提示 Chip 列表,可选换行模式。
|
|
11
|
+
|
|
12
|
+
## 何时使用
|
|
13
|
+
|
|
14
|
+
- AI 回复后展示后续建议问题
|
|
15
|
+
- 欢迎页展示快捷提问入口
|
|
16
|
+
|
|
17
|
+
## 代码示例
|
|
18
|
+
|
|
19
|
+
### 水平滚动
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import { Prompts } from '@unif/react-native-chat';
|
|
23
|
+
|
|
24
|
+
<Prompts
|
|
25
|
+
items={[
|
|
26
|
+
{ id: '1', label: '查询余额' },
|
|
27
|
+
{ id: '2', label: '转账汇款' },
|
|
28
|
+
{ id: '3', label: '理财推荐' },
|
|
29
|
+
]}
|
|
30
|
+
onSelect={(item) => console.log(item.label)}
|
|
31
|
+
/>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 换行模式
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
<Prompts
|
|
38
|
+
items={suggestions}
|
|
39
|
+
onSelect={handleSelect}
|
|
40
|
+
wrap={true}
|
|
41
|
+
/>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 禁用状态
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
<Prompts
|
|
48
|
+
items={suggestions}
|
|
49
|
+
onSelect={handleSelect}
|
|
50
|
+
disabled={isRequesting}
|
|
51
|
+
/>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## API
|
|
55
|
+
|
|
56
|
+
### PromptsProps
|
|
57
|
+
|
|
58
|
+
| 属性 | 说明 | 类型 | 默认值 |
|
|
59
|
+
|------|------|------|--------|
|
|
60
|
+
| items | 建议项列表 | `PromptItem[]` | - |
|
|
61
|
+
| onSelect | 选中回调 | `(item: PromptItem) => void` | - |
|
|
62
|
+
| disabled | 禁用状态 | `boolean` | `false` |
|
|
63
|
+
| wrap | 换行模式(FlexWrap) | `boolean` | `false` |
|
|
64
|
+
| style | 容器样式 | `ViewStyle` | - |
|
|
65
|
+
| styles | 语义样式 | `Partial<PromptsSemanticStyles>` | - |
|
|
66
|
+
| testID | 测试标识 | `string` | `'prompts'` |
|
|
67
|
+
|
|
68
|
+
### PromptItem
|
|
69
|
+
|
|
70
|
+
| 属性 | 说明 | 类型 |
|
|
71
|
+
|------|------|------|
|
|
72
|
+
| id | 唯一标识 | `string` |
|
|
73
|
+
| label | 显示文字 | `string` |
|
|
74
|
+
|
|
75
|
+
### PromptsSemanticStyles
|
|
76
|
+
|
|
77
|
+
| 属性 | 说明 | 类型 |
|
|
78
|
+
|------|------|------|
|
|
79
|
+
| root | 外层容器 | `ViewStyle` |
|
|
80
|
+
| chip | Chip 样式 | `ViewStyle` |
|
|
81
|
+
| chipText | Chip 文字 | `TextStyle` |
|