@unif/react-native-chat 0.2.0 → 0.2.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 (63) hide show
  1. package/lib/commonjs/bubble/Bubble.js +74 -72
  2. package/lib/commonjs/bubble/Bubble.js.map +1 -1
  3. package/lib/commonjs/card-wrapper/CardWrapper.js +25 -24
  4. package/lib/commonjs/card-wrapper/CardWrapper.js.map +1 -1
  5. package/lib/commonjs/conversations/Conversations.js +135 -84
  6. package/lib/commonjs/conversations/Conversations.js.map +1 -1
  7. package/lib/commonjs/index.js +0 -6
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/prompts/Prompts.js +38 -37
  10. package/lib/commonjs/prompts/Prompts.js.map +1 -1
  11. package/lib/commonjs/sender/Sender.js +120 -122
  12. package/lib/commonjs/sender/Sender.js.map +1 -1
  13. package/lib/commonjs/theme/tokens.js +2 -56
  14. package/lib/commonjs/theme/tokens.js.map +1 -1
  15. package/lib/commonjs/welcome/Welcome.js +89 -90
  16. package/lib/commonjs/welcome/Welcome.js.map +1 -1
  17. package/lib/module/bubble/Bubble.js +73 -71
  18. package/lib/module/bubble/Bubble.js.map +1 -1
  19. package/lib/module/card-wrapper/CardWrapper.js +24 -23
  20. package/lib/module/card-wrapper/CardWrapper.js.map +1 -1
  21. package/lib/module/conversations/Conversations.js +137 -86
  22. package/lib/module/conversations/Conversations.js.map +1 -1
  23. package/lib/module/index.js +3 -1
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/prompts/Prompts.js +37 -36
  26. package/lib/module/prompts/Prompts.js.map +1 -1
  27. package/lib/module/sender/Sender.js +121 -123
  28. package/lib/module/sender/Sender.js.map +1 -1
  29. package/lib/module/theme/tokens.js +2 -55
  30. package/lib/module/theme/tokens.js.map +1 -1
  31. package/lib/module/welcome/Welcome.js +88 -89
  32. package/lib/module/welcome/Welcome.js.map +1 -1
  33. package/lib/typescript/commonjs/bubble/Bubble.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/card-wrapper/CardWrapper.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/conversations/Conversations.d.ts +4 -2
  36. package/lib/typescript/commonjs/conversations/Conversations.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/index.d.ts +2 -1
  38. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/prompts/Prompts.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/sender/Sender.d.ts.map +1 -1
  41. package/lib/typescript/commonjs/theme/tokens.d.ts +1 -45
  42. package/lib/typescript/commonjs/theme/tokens.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/welcome/Welcome.d.ts.map +1 -1
  44. package/lib/typescript/module/bubble/Bubble.d.ts.map +1 -1
  45. package/lib/typescript/module/card-wrapper/CardWrapper.d.ts.map +1 -1
  46. package/lib/typescript/module/conversations/Conversations.d.ts +4 -2
  47. package/lib/typescript/module/conversations/Conversations.d.ts.map +1 -1
  48. package/lib/typescript/module/index.d.ts +2 -1
  49. package/lib/typescript/module/index.d.ts.map +1 -1
  50. package/lib/typescript/module/prompts/Prompts.d.ts.map +1 -1
  51. package/lib/typescript/module/sender/Sender.d.ts.map +1 -1
  52. package/lib/typescript/module/theme/tokens.d.ts +1 -45
  53. package/lib/typescript/module/theme/tokens.d.ts.map +1 -1
  54. package/lib/typescript/module/welcome/Welcome.d.ts.map +1 -1
  55. package/package.json +2 -1
  56. package/src/bubble/Bubble.tsx +85 -80
  57. package/src/card-wrapper/CardWrapper.tsx +31 -29
  58. package/src/conversations/Conversations.tsx +170 -100
  59. package/src/index.tsx +4 -1
  60. package/src/prompts/Prompts.tsx +51 -41
  61. package/src/sender/Sender.tsx +125 -138
  62. package/src/theme/tokens.ts +1 -56
  63. package/src/welcome/Welcome.tsx +109 -108
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","chatTokens","jsx","_jsx","jsxs","_jsxs","Bubble","role","avatar","name","children","footer","style","styles","semanticStyles","testID","defaultStyles","userRow","root","userBubble","userText","assistantRow","headerRow","avatarContainer","assistantName","contentArea","content","separator","create","paddingHorizontal","spaceMd","paddingVertical","spaceSm","marginBottom","flexDirection","alignItems","marginRight","fontSize","fontWeight","color","colorTextSecondary","paddingLeft","marginTop","marginLeft","height","hairlineWidth","backgroundColor","colorBorder","opacity","justifyContent","flexWrap","colorBgUserMsg","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","space","maxWidth","colorText","lineHeight","memo"],"sourceRoot":"../../../src","sources":["bubble/Bubble.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","Text","StyleSheet","useTokens","chatTokens","jsx","_jsx","jsxs","_jsxs","Bubble","role","avatar","name","children","footer","style","styles","semanticStyles","testID","t","create","assistantRow","paddingHorizontal","spaceMd","paddingVertical","spaceSm","marginBottom","headerRow","flexDirection","alignItems","avatarContainer","marginRight","assistantName","fontSize","fontWeight","color","colorTextSecondary","contentArea","paddingLeft","separator","marginTop","marginLeft","height","hairlineWidth","backgroundColor","colorBorder","opacity","userRow","justifyContent","flexWrap","userBubble","colorBgUserMsg","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","space","maxWidth","userText","colorText","lineHeight","root","content","memo"],"sourceRoot":"../../../src","sources":["bubble/Bubble.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,9 @@
5
5
  * registry 通过 props 注入(而非全局 import),更灵活
6
6
  */
7
7
 
8
- import React from 'react';
8
+ import React, { useMemo } from 'react';
9
9
  import { View, Text, StyleSheet } from 'react-native';
10
- import { chatTokens } from "../theme/tokens.js";
10
+ import { useTokens } from '@unif/react-native-ui';
11
11
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
12
12
  const CardWrapper = ({
13
13
  cardType,
@@ -18,19 +18,38 @@ const CardWrapper = ({
18
18
  style,
19
19
  testID
20
20
  }) => {
21
+ const t = useTokens();
22
+ const ds = useMemo(() => StyleSheet.create({
23
+ container: {
24
+ backgroundColor: t.colorBgElevated,
25
+ borderRadius: 12,
26
+ borderWidth: 1,
27
+ borderColor: t.colorBorder,
28
+ marginLeft: 8,
29
+ marginRight: 40,
30
+ marginBottom: 4,
31
+ overflow: 'hidden',
32
+ maxWidth: '85%'
33
+ },
34
+ fallback: {
35
+ padding: 12,
36
+ fontSize: 13,
37
+ color: t.colorTextSecondary
38
+ }
39
+ }), [t]);
21
40
  const CardComponent = registry[cardType];
22
41
  if (!CardComponent) {
23
42
  return /*#__PURE__*/_jsx(View, {
24
- style: [defaultStyles.container, style],
43
+ style: [ds.container, style],
25
44
  testID: testID,
26
45
  children: fallback ?? /*#__PURE__*/_jsxs(Text, {
27
- style: defaultStyles.fallback,
46
+ style: ds.fallback,
28
47
  children: ["\u4E0D\u652F\u6301\u7684\u5361\u7247\u7C7B\u578B: ", cardType]
29
48
  })
30
49
  });
31
50
  }
32
51
  return /*#__PURE__*/_jsx(View, {
33
- style: [defaultStyles.container, style],
52
+ style: [ds.container, style],
34
53
  testID: testID ?? `card-${cardType}`,
35
54
  children: /*#__PURE__*/_jsx(CardComponent, {
36
55
  data: data,
@@ -38,23 +57,5 @@ const CardWrapper = ({
38
57
  })
39
58
  });
40
59
  };
41
- const defaultStyles = StyleSheet.create({
42
- container: {
43
- backgroundColor: chatTokens.colorBgElevated,
44
- borderRadius: 12,
45
- borderWidth: 1,
46
- borderColor: chatTokens.colorBorder,
47
- marginLeft: 8,
48
- marginRight: 40,
49
- marginBottom: 4,
50
- overflow: 'hidden',
51
- maxWidth: '85%'
52
- },
53
- fallback: {
54
- padding: 12,
55
- fontSize: 13,
56
- color: chatTokens.colorTextSecondary
57
- }
58
- });
59
60
  export default /*#__PURE__*/React.memo(CardWrapper);
60
61
  //# sourceMappingURL=CardWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","chatTokens","jsxs","_jsxs","jsx","_jsx","CardWrapper","cardType","data","actions","registry","fallback","style","testID","CardComponent","defaultStyles","container","children","create","backgroundColor","colorBgElevated","borderRadius","borderWidth","borderColor","colorBorder","marginLeft","marginRight","marginBottom","overflow","maxWidth","padding","fontSize","color","colorTextSecondary","memo"],"sourceRoot":"../../../src","sources":["card-wrapper/CardWrapper.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAuB,cAAc;AACnE,SAAQC,UAAU,QAAO,oBAAiB;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAiB3C,MAAMC,WAAuC,GAAGA,CAAC;EAC/CC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,QAAQ,GAAG,CAAC,CAAC;EACbC,QAAQ;EACRC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAGJ,QAAQ,CAACH,QAAQ,CAAC;EAExC,IAAI,CAACO,aAAa,EAAE;IAClB,oBACET,IAAA,CAACP,IAAI;MAACc,KAAK,EAAE,CAACG,aAAa,CAACC,SAAS,EAAEJ,KAAK,CAAE;MAACC,MAAM,EAAEA,MAAO;MAAAI,QAAA,EAC3DN,QAAQ,iBACPR,KAAA,CAACJ,IAAI;QAACa,KAAK,EAAEG,aAAa,CAACJ,QAAS;QAAAM,QAAA,GAAC,oDACzB,EAACV,QAAQ;MAAA,CACf;IACP,CACG,CAAC;EAEX;EAEA,oBACEF,IAAA,CAACP,IAAI;IACHc,KAAK,EAAE,CAACG,aAAa,CAACC,SAAS,EAAEJ,KAAK,CAAE;IACxCC,MAAM,EAAEA,MAAM,IAAI,QAAQN,QAAQ,EAAG;IAAAU,QAAA,eACrCZ,IAAA,CAACS,aAAa;MAACN,IAAI,EAAEA,IAAK;MAACC,OAAO,EAAEA;IAAQ,CAAE;EAAC,CAC3C,CAAC;AAEX,CAAC;AAED,MAAMM,aAAa,GAAGf,UAAU,CAACkB,MAAM,CAAC;EACtCF,SAAS,EAAE;IACTG,eAAe,EAAElB,UAAU,CAACmB,eAAe;IAC3CC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEtB,UAAU,CAACuB,WAAW;IACnCC,UAAU,EAAE,CAAC;IACbC,WAAW,EAAE,EAAE;IACfC,YAAY,EAAE,CAAC;IACfC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE;EACZ,CAAC;EACDlB,QAAQ,EAAE;IACRmB,OAAO,EAAE,EAAE;IACXC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE/B,UAAU,CAACgC;EACpB;AACF,CAAC,CAAC;AAEF,4BAAepC,KAAK,CAACqC,IAAI,CAAC5B,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","Text","StyleSheet","useTokens","jsxs","_jsxs","jsx","_jsx","CardWrapper","cardType","data","actions","registry","fallback","style","testID","t","ds","create","container","backgroundColor","colorBgElevated","borderRadius","borderWidth","borderColor","colorBorder","marginLeft","marginRight","marginBottom","overflow","maxWidth","padding","fontSize","color","colorTextSecondary","CardComponent","children","memo"],"sourceRoot":"../../../src","sources":["card-wrapper/CardWrapper.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAwB,cAAc;AACrE,SAASC,SAAS,QAAQ,uBAAuB;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;AAiBlD,MAAMC,WAAuC,GAAGA,CAAC;EAC/CC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,QAAQ,GAAG,CAAC,CAAC;EACbC,QAAQ;EACRC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,CAAC,GAAGb,SAAS,CAAC,CAAC;EAErB,MAAMc,EAAE,GAAGlB,OAAO,CAChB,MACEG,UAAU,CAACgB,MAAM,CAAC;IAChBC,SAAS,EAAE;MACTC,eAAe,EAAEJ,CAAC,CAACK,eAAe;MAClCC,YAAY,EAAE,EAAE;MAChBC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAER,CAAC,CAACS,WAAW;MAC1BC,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE,EAAE;MACfC,YAAY,EAAE,CAAC;MACfC,QAAQ,EAAE,QAAQ;MAClBC,QAAQ,EAAE;IACZ,CAAC;IACDjB,QAAQ,EAAE;MACRkB,OAAO,EAAE,EAAE;MACXC,QAAQ,EAAE,EAAE;MACZC,KAAK,EAAEjB,CAAC,CAACkB;IACX;EACF,CAAC,CAAC,EACJ,CAAClB,CAAC,CACJ,CAAC;EAED,MAAMmB,aAAa,GAAGvB,QAAQ,CAACH,QAAQ,CAAC;EAExC,IAAI,CAAC0B,aAAa,EAAE;IAClB,oBACE5B,IAAA,CAACP,IAAI;MAACc,KAAK,EAAE,CAACG,EAAE,CAACE,SAAS,EAAEL,KAAK,CAAE;MAACC,MAAM,EAAEA,MAAO;MAAAqB,QAAA,EAChDvB,QAAQ,iBACPR,KAAA,CAACJ,IAAI;QAACa,KAAK,EAAEG,EAAE,CAACJ,QAAS;QAAAuB,QAAA,GAAC,oDAAU,EAAC3B,QAAQ;MAAA,CAAO;IACrD,CACG,CAAC;EAEX;EAEA,oBACEF,IAAA,CAACP,IAAI;IAACc,KAAK,EAAE,CAACG,EAAE,CAACE,SAAS,EAAEL,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAM,IAAI,QAAQN,QAAQ,EAAG;IAAA2B,QAAA,eACvE7B,IAAA,CAAC4B,aAAa;MAACzB,IAAI,EAAEA,IAAK;MAACC,OAAO,EAAEA;IAAQ,CAAE;EAAC,CAC3C,CAAC;AAEX,CAAC;AAED,4BAAeb,KAAK,CAACuC,IAAI,CAAC7B,WAAW,CAAC","ignoreList":[]}
@@ -4,14 +4,14 @@
4
4
  * Conversations — 会话列表
5
5
  *
6
6
  * SectionList + 日期分组(今天/昨天/更早)
7
- * 基于 ListItem 模式渲染
7
+ * 长按弹出 Menu 菜单
8
8
  */
9
9
 
10
- import React, { useCallback, useMemo } from 'react';
11
- import { View, Text, TouchableOpacity, Alert, SectionList, StyleSheet } from 'react-native';
12
- import { chatTokens } from "../theme/tokens.js";
10
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
11
+ import { View, Text, TouchableOpacity, SectionList, StyleSheet } from 'react-native';
12
+ import { useTokens, Menu } from '@unif/react-native-ui';
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- function groupByDate(sessions) {
14
+ function groupByDateFn(sessions) {
15
15
  const now = new Date();
16
16
  const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate()).getTime();
17
17
  const yesterdayStart = todayStart - 86400000;
@@ -42,75 +42,169 @@ function groupByDate(sessions) {
42
42
  });
43
43
  return groups;
44
44
  }
45
+ const initialMenuState = {
46
+ visible: false,
47
+ item: null,
48
+ layout: {
49
+ x: 0,
50
+ y: 0,
51
+ width: 0,
52
+ height: 0
53
+ }
54
+ };
45
55
  const Conversations = ({
46
56
  items,
47
57
  activeId,
48
58
  onSelect,
49
- onDelete,
50
59
  onNew,
51
60
  groupByDate: shouldGroup = true,
52
61
  header,
62
+ menus,
63
+ onMenuAction,
53
64
  style,
54
65
  styles: semanticStyles,
55
66
  testID = 'conversations'
56
67
  }) => {
68
+ const t = useTokens();
69
+ const [menuState, setMenuState] = useState(initialMenuState);
70
+ const itemRefs = useRef({});
57
71
  const sections = useMemo(() => {
58
72
  if (shouldGroup) {
59
- return groupByDate(items);
73
+ return groupByDateFn(items);
60
74
  }
61
75
  return [{
62
76
  title: '',
63
77
  data: items
64
78
  }];
65
79
  }, [items, shouldGroup]);
66
- const handleDelete = useCallback(item => {
67
- if (!onDelete) return;
68
- Alert.alert('删除会话', `确定删除"${item.title}"?`, [{
69
- text: '取消',
70
- style: 'cancel'
71
- }, {
72
- text: '删除',
73
- style: 'destructive',
74
- onPress: () => onDelete(item.id)
75
- }]);
76
- }, [onDelete]);
80
+ const closeMenu = useCallback(() => {
81
+ setMenuState(initialMenuState);
82
+ }, []);
83
+ const handleLongPress = useCallback(item => {
84
+ if (!menus) return;
85
+ const ref = itemRefs.current[item.id];
86
+ if (ref) {
87
+ ref.measureInWindow((x, y, width, height) => {
88
+ setMenuState({
89
+ visible: true,
90
+ item,
91
+ layout: {
92
+ x,
93
+ y,
94
+ width,
95
+ height
96
+ }
97
+ });
98
+ });
99
+ }
100
+ }, [menus]);
101
+ const handleMenuAction = useCallback(action => {
102
+ const item = menuState.item;
103
+ if (item && onMenuAction) {
104
+ onMenuAction(action, item);
105
+ }
106
+ }, [menuState.item, onMenuAction]);
107
+ const setItemRef = useCallback(id => ref => {
108
+ itemRefs.current[id] = ref;
109
+ }, []);
110
+ const menuActions = useMemo(() => {
111
+ if (!menus || !menuState.item) return [];
112
+ if (typeof menus === 'function') {
113
+ return menus(menuState.item);
114
+ }
115
+ return menus;
116
+ }, [menus, menuState.item]);
117
+ const ds = useMemo(() => StyleSheet.create({
118
+ container: {
119
+ flex: 1
120
+ },
121
+ newButtonWrapper: {
122
+ alignItems: 'center',
123
+ paddingVertical: 12,
124
+ paddingHorizontal: 20
125
+ },
126
+ newButton: {
127
+ flexDirection: 'row',
128
+ alignItems: 'center',
129
+ justifyContent: 'center',
130
+ width: '80%',
131
+ paddingVertical: 10,
132
+ borderRadius: t.radiusFull,
133
+ borderWidth: 1,
134
+ borderColor: t.colorPrimary
135
+ },
136
+ newButtonText: {
137
+ fontSize: 14,
138
+ fontWeight: '500',
139
+ color: t.colorPrimary
140
+ },
141
+ sectionHeader: {
142
+ fontSize: 12,
143
+ color: t.colorTextSecondary,
144
+ paddingHorizontal: 20,
145
+ paddingTop: 16,
146
+ paddingBottom: 6
147
+ },
148
+ sessionItem: {
149
+ flexDirection: 'row',
150
+ alignItems: 'center',
151
+ paddingHorizontal: 20,
152
+ paddingVertical: 12
153
+ },
154
+ sessionItemActive: {
155
+ backgroundColor: '#F3F4F6'
156
+ },
157
+ sessionTitle: {
158
+ flex: 1,
159
+ fontSize: 14,
160
+ fontWeight: '500',
161
+ color: t.colorText
162
+ },
163
+ list: {
164
+ flex: 1
165
+ }
166
+ }), [t]);
77
167
  const renderItem = useCallback(({
78
168
  item
79
169
  }) => {
80
170
  const isActive = item.id === activeId;
81
- return /*#__PURE__*/_jsx(TouchableOpacity, {
82
- style: [defaultStyles.sessionItem, semanticStyles?.item, isActive && defaultStyles.sessionItemActive, isActive && semanticStyles?.itemActive],
83
- onPress: () => onSelect(item.id),
84
- onLongPress: () => handleDelete(item),
85
- activeOpacity: 0.7,
86
- testID: `${testID}-item-${item.id}`,
87
- children: /*#__PURE__*/_jsx(Text, {
88
- style: defaultStyles.sessionTitle,
89
- numberOfLines: 1,
90
- children: item.title
171
+ return /*#__PURE__*/_jsx(View, {
172
+ ref: setItemRef(item.id),
173
+ collapsable: false,
174
+ children: /*#__PURE__*/_jsx(TouchableOpacity, {
175
+ style: [ds.sessionItem, semanticStyles?.item, isActive && ds.sessionItemActive, isActive && semanticStyles?.itemActive],
176
+ onPress: () => onSelect(item.id),
177
+ onLongPress: () => handleLongPress(item),
178
+ activeOpacity: 0.7,
179
+ testID: `${testID}-item-${item.id}`,
180
+ children: /*#__PURE__*/_jsx(Text, {
181
+ style: ds.sessionTitle,
182
+ numberOfLines: 1,
183
+ children: item.title
184
+ })
91
185
  })
92
186
  });
93
- }, [activeId, onSelect, handleDelete, semanticStyles, testID]);
187
+ }, [activeId, onSelect, handleLongPress, semanticStyles, testID, setItemRef, ds]);
94
188
  const renderSectionHeader = useCallback(({
95
189
  section
96
190
  }) => {
97
191
  if (!section.title) return null;
98
192
  return /*#__PURE__*/_jsx(Text, {
99
- style: [defaultStyles.sectionHeader, semanticStyles?.sectionHeader],
193
+ style: [ds.sectionHeader, semanticStyles?.sectionHeader],
100
194
  children: section.title
101
195
  });
102
- }, [semanticStyles]);
196
+ }, [semanticStyles, ds]);
103
197
  return /*#__PURE__*/_jsxs(View, {
104
- style: [defaultStyles.container, semanticStyles?.root, style],
198
+ style: [ds.container, semanticStyles?.root, style],
105
199
  testID: testID,
106
200
  children: [header, onNew && /*#__PURE__*/_jsx(View, {
107
- style: defaultStyles.newButtonWrapper,
201
+ style: ds.newButtonWrapper,
108
202
  children: /*#__PURE__*/_jsx(TouchableOpacity, {
109
- style: [defaultStyles.newButton, semanticStyles?.newButton],
203
+ style: [ds.newButton, semanticStyles?.newButton],
110
204
  onPress: onNew,
111
205
  testID: `${testID}-new`,
112
206
  children: /*#__PURE__*/_jsx(Text, {
113
- style: defaultStyles.newButtonText,
207
+ style: ds.newButtonText,
114
208
  children: "\uFF0B \u65B0\u5EFA\u4F1A\u8BDD"
115
209
  })
116
210
  })
@@ -119,61 +213,18 @@ const Conversations = ({
119
213
  keyExtractor: item => item.id,
120
214
  renderItem: renderItem,
121
215
  renderSectionHeader: renderSectionHeader,
122
- style: defaultStyles.list,
216
+ style: ds.list,
123
217
  showsVerticalScrollIndicator: false,
124
218
  stickySectionHeadersEnabled: false
219
+ }), menus && /*#__PURE__*/_jsx(Menu, {
220
+ visible: menuState.visible,
221
+ onClose: closeMenu,
222
+ anchorLayout: menuState.layout,
223
+ actions: menuActions,
224
+ onAction: handleMenuAction,
225
+ testID: `${testID}-menu`
125
226
  })]
126
227
  });
127
228
  };
128
- const defaultStyles = StyleSheet.create({
129
- container: {
130
- flex: 1
131
- },
132
- newButtonWrapper: {
133
- alignItems: 'center',
134
- paddingVertical: 12,
135
- paddingHorizontal: 20
136
- },
137
- newButton: {
138
- flexDirection: 'row',
139
- alignItems: 'center',
140
- justifyContent: 'center',
141
- width: '80%',
142
- paddingVertical: 10,
143
- borderRadius: chatTokens.radiusFull,
144
- borderWidth: 1,
145
- borderColor: chatTokens.colorPrimary
146
- },
147
- newButtonText: {
148
- fontSize: 14,
149
- fontWeight: '500',
150
- color: chatTokens.colorPrimary
151
- },
152
- sectionHeader: {
153
- fontSize: 12,
154
- color: chatTokens.colorTextSecondary,
155
- paddingHorizontal: 20,
156
- paddingTop: 16,
157
- paddingBottom: 6
158
- },
159
- sessionItem: {
160
- flexDirection: 'row',
161
- alignItems: 'center',
162
- paddingHorizontal: 20,
163
- paddingVertical: 12
164
- },
165
- sessionItemActive: {
166
- backgroundColor: '#F3F4F6'
167
- },
168
- sessionTitle: {
169
- flex: 1,
170
- fontSize: 14,
171
- fontWeight: '500',
172
- color: chatTokens.colorText
173
- },
174
- list: {
175
- flex: 1
176
- }
177
- });
178
229
  export default /*#__PURE__*/React.memo(Conversations);
179
230
  //# sourceMappingURL=Conversations.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","View","Text","TouchableOpacity","Alert","SectionList","StyleSheet","chatTokens","jsx","_jsx","jsxs","_jsxs","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","handleDelete","item","alert","text","onPress","id","renderItem","isActive","defaultStyles","sessionItem","sessionItemActive","itemActive","onLongPress","activeOpacity","children","sessionTitle","numberOfLines","renderSectionHeader","section","sectionHeader","container","root","newButtonWrapper","newButton","newButtonText","keyExtractor","list","showsVerticalScrollIndicator","stickySectionHeadersEnabled","create","flex","alignItems","paddingVertical","paddingHorizontal","flexDirection","justifyContent","width","borderRadius","radiusFull","borderWidth","borderColor","colorPrimary","fontSize","fontWeight","color","colorTextSecondary","paddingTop","paddingBottom","backgroundColor","colorText","memo"],"sourceRoot":"../../../src","sources":["conversations/Conversations.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useRef","useState","View","Text","TouchableOpacity","SectionList","StyleSheet","useTokens","Menu","jsx","_jsx","jsxs","_jsxs","groupByDateFn","sessions","now","Date","todayStart","getFullYear","getMonth","getDate","getTime","yesterdayStart","groups","today","yesterday","earlier","s","timestamp","push","length","title","data","initialMenuState","visible","item","layout","x","y","width","height","Conversations","items","activeId","onSelect","onNew","groupByDate","shouldGroup","header","menus","onMenuAction","style","styles","semanticStyles","testID","t","menuState","setMenuState","itemRefs","sections","closeMenu","handleLongPress","ref","current","id","measureInWindow","handleMenuAction","action","setItemRef","menuActions","ds","create","container","flex","newButtonWrapper","alignItems","paddingVertical","paddingHorizontal","newButton","flexDirection","justifyContent","borderRadius","radiusFull","borderWidth","borderColor","colorPrimary","newButtonText","fontSize","fontWeight","color","sectionHeader","colorTextSecondary","paddingTop","paddingBottom","sessionItem","sessionItemActive","backgroundColor","sessionTitle","colorText","list","renderItem","isActive","collapsable","children","itemActive","onPress","onLongPress","activeOpacity","numberOfLines","renderSectionHeader","section","root","keyExtractor","showsVerticalScrollIndicator","stickySectionHeadersEnabled","onClose","anchorLayout","actions","onAction","memo"],"sourceRoot":"../../../src","sources":["conversations/Conversations.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,5 +19,7 @@ export { default as Welcome } from "./welcome/Welcome.js";
19
19
  // CardWrapper
20
20
  export { default as CardWrapper } from "./card-wrapper/CardWrapper.js";
21
21
  // Theme
22
- export { chatTokens, configure } from "./theme/tokens.js";
22
+ export { chatTokens } from "./theme/tokens.js";
23
+
24
+ // Re-export Menu types from UI lib
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","Bubble","BubbleList","Sender","Conversations","Prompts","Welcome","CardWrapper","chatTokens","configure"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,MAAM,QAAQ,oBAAiB;AAEnD,SAASD,OAAO,IAAIE,UAAU,QAAQ,wBAAqB;AAG3D;AACA,SAASF,OAAO,IAAIG,MAAM,QAAQ,oBAAiB;AAOnD;AACA,SAASH,OAAO,IAAII,aAAa,QAAQ,kCAA+B;AAOxE;AACA,SAASJ,OAAO,IAAIK,OAAO,QAAQ,sBAAmB;AAOtD;AACA,SAASL,OAAO,IAAIM,OAAO,QAAQ,sBAAmB;AAOtD;AACA,SAASN,OAAO,IAAIO,WAAW,QAAQ,+BAA4B;AAMnE;AACA,SAASC,UAAU,EAAEC,SAAS,QAAQ,mBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["default","Bubble","BubbleList","Sender","Conversations","Prompts","Welcome","CardWrapper","chatTokens"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,IAAIC,MAAM,QAAQ,oBAAiB;AAEnD,SAASD,OAAO,IAAIE,UAAU,QAAQ,wBAAqB;AAG3D;AACA,SAASF,OAAO,IAAIG,MAAM,QAAQ,oBAAiB;AAOnD;AACA,SAASH,OAAO,IAAII,aAAa,QAAQ,kCAA+B;AAOxE;AACA,SAASJ,OAAO,IAAIK,OAAO,QAAQ,sBAAmB;AAOtD;AACA,SAASL,OAAO,IAAIM,OAAO,QAAQ,sBAAmB;AAOtD;AACA,SAASN,OAAO,IAAIO,WAAW,QAAQ,+BAA4B;AAMnE;AACA,SAASC,UAAU,QAAQ,mBAAgB;;AAE3C","ignoreList":[]}
@@ -5,9 +5,9 @@
5
5
  * 水平 ScrollView + Chip 列表
6
6
  */
7
7
 
8
- import React from 'react';
8
+ import React, { useMemo } from 'react';
9
9
  import { View, Text, ScrollView, TouchableOpacity, StyleSheet } from 'react-native';
10
- import { chatTokens } from "../theme/tokens.js";
10
+ import { useTokens } from '@unif/react-native-ui';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const Prompts = ({
13
13
  items,
@@ -18,65 +18,66 @@ const Prompts = ({
18
18
  styles: semanticStyles,
19
19
  testID = 'prompts'
20
20
  }) => {
21
+ const t = useTokens();
22
+ const ds = useMemo(() => StyleSheet.create({
23
+ container: {
24
+ paddingVertical: 8,
25
+ backgroundColor: 'transparent'
26
+ },
27
+ scrollContent: {
28
+ paddingHorizontal: 12,
29
+ gap: 8
30
+ },
31
+ wrapContainer: {
32
+ flexDirection: 'row',
33
+ flexWrap: 'wrap',
34
+ paddingHorizontal: 12,
35
+ gap: 8
36
+ },
37
+ chip: {
38
+ backgroundColor: '#F3F4F6',
39
+ borderRadius: 16,
40
+ paddingHorizontal: 14,
41
+ paddingVertical: 8
42
+ },
43
+ chipText: {
44
+ fontSize: 13,
45
+ color: t.colorText
46
+ },
47
+ chipTextDisabled: {
48
+ color: t.colorTextPlaceholder
49
+ }
50
+ }), [t]);
21
51
  if (items.length === 0) return null;
22
52
  const renderChips = () => items.map(item => /*#__PURE__*/_jsx(TouchableOpacity, {
23
- style: [defaultStyles.chip, semanticStyles?.chip],
53
+ style: [ds.chip, semanticStyles?.chip],
24
54
  onPress: () => !disabled && onSelect(item),
25
55
  activeOpacity: disabled ? 1 : 0.7,
26
56
  disabled: disabled,
27
57
  testID: `${testID}-${item.id}`,
28
58
  children: /*#__PURE__*/_jsx(Text, {
29
- style: [defaultStyles.chipText, semanticStyles?.chipText, disabled && defaultStyles.chipTextDisabled],
59
+ style: [ds.chipText, semanticStyles?.chipText, disabled && ds.chipTextDisabled],
30
60
  numberOfLines: 1,
31
61
  children: item.label
32
62
  })
33
63
  }, item.id));
34
64
  if (wrap) {
35
65
  return /*#__PURE__*/_jsx(View, {
36
- style: [defaultStyles.container, defaultStyles.wrapContainer, semanticStyles?.root, style],
66
+ style: [ds.container, ds.wrapContainer, semanticStyles?.root, style],
37
67
  testID: testID,
38
68
  children: renderChips()
39
69
  });
40
70
  }
41
71
  return /*#__PURE__*/_jsx(View, {
42
- style: [defaultStyles.container, semanticStyles?.root, style],
72
+ style: [ds.container, semanticStyles?.root, style],
43
73
  testID: testID,
44
74
  children: /*#__PURE__*/_jsx(ScrollView, {
45
75
  horizontal: true,
46
76
  showsHorizontalScrollIndicator: false,
47
- contentContainerStyle: defaultStyles.scrollContent,
77
+ contentContainerStyle: ds.scrollContent,
48
78
  children: renderChips()
49
79
  })
50
80
  });
51
81
  };
52
- const defaultStyles = StyleSheet.create({
53
- container: {
54
- paddingVertical: 8,
55
- backgroundColor: 'transparent'
56
- },
57
- scrollContent: {
58
- paddingHorizontal: 12,
59
- gap: 8
60
- },
61
- wrapContainer: {
62
- flexDirection: 'row',
63
- flexWrap: 'wrap',
64
- paddingHorizontal: 12,
65
- gap: 8
66
- },
67
- chip: {
68
- backgroundColor: '#F3F4F6',
69
- borderRadius: 16,
70
- paddingHorizontal: 14,
71
- paddingVertical: 8
72
- },
73
- chipText: {
74
- fontSize: 13,
75
- color: chatTokens.colorText
76
- },
77
- chipTextDisabled: {
78
- color: chatTokens.colorTextPlaceholder
79
- }
80
- });
81
82
  export default /*#__PURE__*/React.memo(Prompts);
82
83
  //# sourceMappingURL=Prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","ScrollView","TouchableOpacity","StyleSheet","chatTokens","jsx","_jsx","Prompts","items","onSelect","disabled","wrap","style","styles","semanticStyles","testID","length","renderChips","map","item","defaultStyles","chip","onPress","activeOpacity","id","children","chipText","chipTextDisabled","numberOfLines","label","container","wrapContainer","root","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","scrollContent","create","paddingVertical","backgroundColor","paddingHorizontal","gap","flexDirection","flexWrap","borderRadius","fontSize","color","colorText","colorTextPlaceholder","memo"],"sourceRoot":"../../../src","sources":["prompts/Prompts.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,QAGL,cAAc;AACrB,SAAQC,UAAU,QAAO,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuB3C,MAAMC,OAA+B,GAAGA,CAAC;EACvCC,KAAK;EACLC,QAAQ;EACRC,QAAQ,GAAG,KAAK;EAChBC,IAAI,GAAG,KAAK;EACZC,KAAK;EACLC,MAAM,EAAEC,cAAc;EACtBC,MAAM,GAAG;AACX,CAAC,KAAK;EACJ,IAAIP,KAAK,CAACQ,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEnC,MAAMC,WAAW,GAAGA,CAAA,KAClBT,KAAK,CAACU,GAAG,CAAEC,IAAI,iBACbb,IAAA,CAACJ,gBAAgB;IAEfU,KAAK,EAAE,CAACQ,aAAa,CAACC,IAAI,EAAEP,cAAc,EAAEO,IAAI,CAAE;IAClDC,OAAO,EAAEA,CAAA,KAAM,CAACZ,QAAQ,IAAID,QAAQ,CAACU,IAAI,CAAE;IAC3CI,aAAa,EAAEb,QAAQ,GAAG,CAAC,GAAG,GAAI;IAClCA,QAAQ,EAAEA,QAAS;IACnBK,MAAM,EAAE,GAAGA,MAAM,IAAII,IAAI,CAACK,EAAE,EAAG;IAAAC,QAAA,eAC/BnB,IAAA,CAACN,IAAI;MACHY,KAAK,EAAE,CACLQ,aAAa,CAACM,QAAQ,EACtBZ,cAAc,EAAEY,QAAQ,EACxBhB,QAAQ,IAAIU,aAAa,CAACO,gBAAgB,CAC1C;MACFC,aAAa,EAAE,CAAE;MAAAH,QAAA,EAChBN,IAAI,CAACU;IAAK,CACP;EAAC,GAdFV,IAAI,CAACK,EAeM,CACnB,CAAC;EAEJ,IAAIb,IAAI,EAAE;IACR,oBACEL,IAAA,CAACP,IAAI;MACHa,KAAK,EAAE,CAACQ,aAAa,CAACU,SAAS,EAAEV,aAAa,CAACW,aAAa,EAAEjB,cAAc,EAAEkB,IAAI,EAAEpB,KAAK,CAAE;MAC3FG,MAAM,EAAEA,MAAO;MAAAU,QAAA,EACdR,WAAW,CAAC;IAAC,CACV,CAAC;EAEX;EAEA,oBACEX,IAAA,CAACP,IAAI;IAACa,KAAK,EAAE,CAACQ,aAAa,CAACU,SAAS,EAAEhB,cAAc,EAAEkB,IAAI,EAAEpB,KAAK,CAAE;IAACG,MAAM,EAAEA,MAAO;IAAAU,QAAA,eAClFnB,IAAA,CAACL,UAAU;MACTgC,UAAU;MACVC,8BAA8B,EAAE,KAAM;MACtCC,qBAAqB,EAAEf,aAAa,CAACgB,aAAc;MAAAX,QAAA,EAClDR,WAAW,CAAC;IAAC,CACJ;EAAC,CACT,CAAC;AAEX,CAAC;AAED,MAAMG,aAAa,GAAGjB,UAAU,CAACkC,MAAM,CAAC;EACtCP,SAAS,EAAE;IACTQ,eAAe,EAAE,CAAC;IAClBC,eAAe,EAAE;EACnB,CAAC;EACDH,aAAa,EAAE;IACbI,iBAAiB,EAAE,EAAE;IACrBC,GAAG,EAAE;EACP,CAAC;EACDV,aAAa,EAAE;IACbW,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBH,iBAAiB,EAAE,EAAE;IACrBC,GAAG,EAAE;EACP,CAAC;EACDpB,IAAI,EAAE;IACJkB,eAAe,EAAE,SAAS;IAC1BK,YAAY,EAAE,EAAE;IAChBJ,iBAAiB,EAAE,EAAE;IACrBF,eAAe,EAAE;EACnB,CAAC;EACDZ,QAAQ,EAAE;IACRmB,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE1C,UAAU,CAAC2C;EACpB,CAAC;EACDpB,gBAAgB,EAAE;IAChBmB,KAAK,EAAE1C,UAAU,CAAC4C;EACpB;AACF,CAAC,CAAC;AAEF,4BAAelD,KAAK,CAACmD,IAAI,CAAC1C,OAAO,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","Text","ScrollView","TouchableOpacity","StyleSheet","useTokens","jsx","_jsx","Prompts","items","onSelect","disabled","wrap","style","styles","semanticStyles","testID","t","ds","create","container","paddingVertical","backgroundColor","scrollContent","paddingHorizontal","gap","wrapContainer","flexDirection","flexWrap","chip","borderRadius","chipText","fontSize","color","colorText","chipTextDisabled","colorTextPlaceholder","length","renderChips","map","item","onPress","activeOpacity","id","children","numberOfLines","label","root","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","memo"],"sourceRoot":"../../../src","sources":["prompts/Prompts.tsx"],"mappings":"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","ignoreList":[]}