@unif/react-native-chat 2.0.0 → 2.1.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.
Files changed (46) hide show
  1. package/README.md +39 -30
  2. package/lib/module/components/Composer/Composer.js +131 -83
  3. package/lib/module/components/Composer/Composer.js.map +1 -1
  4. package/lib/module/components/Composer/ComposerIconAction.js +60 -0
  5. package/lib/module/components/Composer/ComposerIconAction.js.map +1 -0
  6. package/lib/module/components/Composer/ComposerMenuItem.js +57 -0
  7. package/lib/module/components/Composer/ComposerMenuItem.js.map +1 -0
  8. package/lib/module/components/Composer/constants.js +9 -1
  9. package/lib/module/components/Composer/constants.js.map +1 -1
  10. package/lib/module/components/Composer/styles.js +143 -13
  11. package/lib/module/components/Composer/styles.js.map +1 -1
  12. package/lib/module/components/Composer/useMousePress.js +28 -0
  13. package/lib/module/components/Composer/useMousePress.js.map +1 -0
  14. package/lib/module/components/Suggestions/Suggestions.js +6 -2
  15. package/lib/module/components/Suggestions/Suggestions.js.map +1 -1
  16. package/lib/module/components/Suggestions/constants.js +4 -0
  17. package/lib/module/components/Suggestions/constants.js.map +1 -0
  18. package/lib/typescript/src/components/Composer/Composer.d.ts.map +1 -1
  19. package/lib/typescript/src/components/Composer/ComposerIconAction.d.ts +3 -0
  20. package/lib/typescript/src/components/Composer/ComposerIconAction.d.ts.map +1 -0
  21. package/lib/typescript/src/components/Composer/ComposerMenuItem.d.ts +3 -0
  22. package/lib/typescript/src/components/Composer/ComposerMenuItem.d.ts.map +1 -0
  23. package/lib/typescript/src/components/Composer/constants.d.ts +8 -1
  24. package/lib/typescript/src/components/Composer/constants.d.ts.map +1 -1
  25. package/lib/typescript/src/components/Composer/styles.d.ts +150 -7
  26. package/lib/typescript/src/components/Composer/styles.d.ts.map +1 -1
  27. package/lib/typescript/src/components/Composer/types.d.ts +19 -1
  28. package/lib/typescript/src/components/Composer/types.d.ts.map +1 -1
  29. package/lib/typescript/src/components/Composer/useMousePress.d.ts +9 -0
  30. package/lib/typescript/src/components/Composer/useMousePress.d.ts.map +1 -0
  31. package/lib/typescript/src/components/Suggestions/Suggestions.d.ts.map +1 -1
  32. package/lib/typescript/src/components/Suggestions/constants.d.ts +2 -0
  33. package/lib/typescript/src/components/Suggestions/constants.d.ts.map +1 -0
  34. package/lib/typescript/src/components/Suggestions/types.d.ts +1 -0
  35. package/lib/typescript/src/components/Suggestions/types.d.ts.map +1 -1
  36. package/package.json +10 -10
  37. package/src/components/Composer/Composer.tsx +165 -95
  38. package/src/components/Composer/ComposerIconAction.tsx +71 -0
  39. package/src/components/Composer/ComposerMenuItem.tsx +56 -0
  40. package/src/components/Composer/constants.ts +10 -1
  41. package/src/components/Composer/styles.ts +123 -13
  42. package/src/components/Composer/types.ts +21 -1
  43. package/src/components/Composer/useMousePress.ts +32 -0
  44. package/src/components/Suggestions/Suggestions.tsx +12 -2
  45. package/src/components/Suggestions/constants.ts +1 -0
  46. package/src/components/Suggestions/types.ts +1 -0
@@ -1,43 +1,173 @@
1
1
  "use strict";
2
2
 
3
3
  import { StyleSheet } from 'react-native';
4
- import { radius, space, type } from '@unif/react-native-design';
5
- export const createStyles = colors => StyleSheet.create({
4
+ import { fixed, r, radius, space, type } from '@unif/react-native-design';
5
+ import { COMPOSER_ACTION_VISUAL_SIZE, COMPOSER_MENU_ICON_CONTAINER_SIZE } from "./constants.js";
6
+ export const createStyles = (colors, shadows) => StyleSheet.create({
6
7
  root: {
7
- gap: space[2],
8
+ position: 'relative',
8
9
  minWidth: 0
9
10
  },
10
11
  card: {
11
- padding: space[3],
12
- borderRadius: radius.lg,
13
- backgroundColor: colors.surface
12
+ borderRadius: r(20),
13
+ borderWidth: 0.5,
14
+ borderColor: colors.outline,
15
+ backgroundColor: colors.surface,
16
+ ...shadows.card
17
+ },
18
+ accessory: {
19
+ padding: space[3]
14
20
  },
15
21
  regular: {
16
- gap: space[2]
22
+ flexDirection: 'row',
23
+ alignItems: 'flex-end',
24
+ gap: space[1],
25
+ paddingVertical: space[1],
26
+ paddingHorizontal: space[2]
27
+ },
28
+ expanded: {
29
+ flexDirection: 'column',
30
+ alignItems: 'stretch',
31
+ gap: 0
17
32
  },
18
33
  hidden: {
19
34
  display: 'none'
20
35
  },
36
+ input: {
37
+ flex: 1,
38
+ minWidth: 0
39
+ },
40
+ inputExpanded: {
41
+ flex: 0,
42
+ width: '100%'
43
+ },
44
+ more: {
45
+ width: fixed.hitTarget,
46
+ height: fixed.hitTarget
47
+ },
48
+ moreExpanded: {
49
+ position: 'absolute',
50
+ left: space[2],
51
+ bottom: space[1],
52
+ zIndex: 1
53
+ },
21
54
  toolbar: {
22
55
  flexDirection: 'row',
23
- flexWrap: 'wrap',
56
+ alignItems: 'center'
57
+ },
58
+ toolbarExpanded: {
59
+ width: '100%',
60
+ minHeight: fixed.hitTarget,
61
+ justifyContent: 'flex-end'
62
+ },
63
+ toolbarWithMore: {
64
+ paddingStart: fixed.hitTarget + space[1]
65
+ },
66
+ trailingActions: {
67
+ flexDirection: 'row',
68
+ alignItems: 'center',
69
+ gap: space[1],
70
+ marginStart: 'auto'
71
+ },
72
+ action: {
73
+ width: fixed.hitTarget,
74
+ height: fixed.hitTarget,
75
+ alignItems: 'center',
76
+ justifyContent: 'center'
77
+ },
78
+ actionVisual: {
79
+ width: COMPOSER_ACTION_VISUAL_SIZE,
80
+ height: COMPOSER_ACTION_VISUAL_SIZE,
81
+ borderRadius: COMPOSER_ACTION_VISUAL_SIZE / 2,
24
82
  alignItems: 'center',
25
- gap: space[2]
83
+ justifyContent: 'center'
84
+ },
85
+ actionPressed: {
86
+ backgroundColor: colors.surfaceContainerHigh
87
+ },
88
+ actionDisabled: {
89
+ opacity: 0.4
26
90
  },
27
91
  primary: {
28
- marginStart: 'auto'
92
+ backgroundColor: colors.primary
93
+ },
94
+ primaryPressed: {
95
+ backgroundColor: colors.primaryPressed
96
+ },
97
+ primaryDisabled: {
98
+ backgroundColor: colors.surfaceContainerHighest
99
+ },
100
+ cancel: {
101
+ backgroundColor: colors.surfaceContainer
102
+ },
103
+ backdrop: {
104
+ position: 'absolute',
105
+ bottom: '100%',
106
+ left: 0,
107
+ right: 0,
108
+ zIndex: 1
29
109
  },
30
110
  menu: {
111
+ position: 'absolute',
112
+ bottom: '100%',
113
+ left: space[6],
114
+ width: r(200),
115
+ maxWidth: '100%',
116
+ marginBottom: space[2],
117
+ borderRadius: r(20),
118
+ borderWidth: 0.5,
119
+ borderColor: colors.outline,
120
+ backgroundColor: colors.surface,
121
+ zIndex: 2,
122
+ ...shadows.card
123
+ },
124
+ menuClip: {
125
+ borderRadius: r(20),
126
+ overflow: 'hidden',
127
+ paddingVertical: space[2]
128
+ },
129
+ menuRow: {
130
+ minHeight: fixed.hitTarget,
31
131
  flexDirection: 'row',
32
- flexWrap: 'wrap',
33
- gap: space[2]
132
+ alignItems: 'center',
133
+ gap: space[5],
134
+ paddingVertical: space[3],
135
+ paddingHorizontal: space[6]
136
+ },
137
+ menuRowPressed: {
138
+ backgroundColor: colors.surfaceContainer
139
+ },
140
+ menuIcon: {
141
+ width: COMPOSER_MENU_ICON_CONTAINER_SIZE,
142
+ height: COMPOSER_MENU_ICON_CONTAINER_SIZE,
143
+ borderRadius: COMPOSER_MENU_ICON_CONTAINER_SIZE / 2,
144
+ alignItems: 'center',
145
+ justifyContent: 'center',
146
+ backgroundColor: colors.surfaceContainer
147
+ },
148
+ menuLabel: {
149
+ flex: 1,
150
+ minWidth: 0,
151
+ fontSize: type.body,
152
+ color: colors.foreground
34
153
  },
35
154
  voice: {
36
- gap: space[3]
155
+ flexDirection: 'row',
156
+ alignItems: 'center',
157
+ gap: space[2],
158
+ paddingVertical: space[1],
159
+ paddingHorizontal: space[2],
160
+ borderRadius: radius['3xl'],
161
+ backgroundColor: colors.primaryContainerSubtle
37
162
  },
38
163
  transcript: {
164
+ flex: 1,
165
+ minWidth: 0,
39
166
  color: colors.foreground,
40
167
  fontSize: type.body
168
+ },
169
+ transcriptPlaceholder: {
170
+ color: colors.foregroundSubtle
41
171
  }
42
172
  });
43
173
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","radius","space","type","createStyles","colors","create","root","gap","minWidth","card","padding","borderRadius","lg","backgroundColor","surface","regular","hidden","display","toolbar","flexDirection","flexWrap","alignItems","primary","marginStart","menu","voice","transcript","color","foreground","fontSize","body"],"sourceRoot":"../../../../src","sources":["components/Composer/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,MAAM,EAAEC,KAAK,EAAEC,IAAI,QAAQ,2BAA2B;AAG/D,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAC9CL,UAAU,CAACM,MAAM,CAAC;EAChBC,IAAI,EAAE;IAAEC,GAAG,EAAEN,KAAK,CAAC,CAAC,CAAC;IAAEO,QAAQ,EAAE;EAAE,CAAC;EACpCC,IAAI,EAAE;IACJC,OAAO,EAAET,KAAK,CAAC,CAAC,CAAC;IACjBU,YAAY,EAAEX,MAAM,CAACY,EAAE;IACvBC,eAAe,EAAET,MAAM,CAACU;EAC1B,CAAC;EACDC,OAAO,EAAE;IAAER,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EAC1Be,MAAM,EAAE;IAAEC,OAAO,EAAE;EAAO,CAAC;EAC3BC,OAAO,EAAE;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAE,QAAQ;IACpBd,GAAG,EAAEN,KAAK,CAAC,CAAC;EACd,CAAC;EACDqB,OAAO,EAAE;IAAEC,WAAW,EAAE;EAAO,CAAC;EAChCC,IAAI,EAAE;IAAEL,aAAa,EAAE,KAAK;IAAEC,QAAQ,EAAE,MAAM;IAAEb,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EAC/DwB,KAAK,EAAE;IAAElB,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EACxByB,UAAU,EAAE;IAAEC,KAAK,EAAEvB,MAAM,CAACwB,UAAU;IAAEC,QAAQ,EAAE3B,IAAI,CAAC4B;EAAK;AAC9D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","fixed","r","radius","space","type","COMPOSER_ACTION_VISUAL_SIZE","COMPOSER_MENU_ICON_CONTAINER_SIZE","createStyles","colors","shadows","create","root","position","minWidth","card","borderRadius","borderWidth","borderColor","outline","backgroundColor","surface","accessory","padding","regular","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","expanded","hidden","display","input","flex","inputExpanded","width","more","hitTarget","height","moreExpanded","left","bottom","zIndex","toolbar","toolbarExpanded","minHeight","justifyContent","toolbarWithMore","paddingStart","trailingActions","marginStart","action","actionVisual","actionPressed","surfaceContainerHigh","actionDisabled","opacity","primary","primaryPressed","primaryDisabled","surfaceContainerHighest","cancel","surfaceContainer","backdrop","right","menu","maxWidth","marginBottom","menuClip","overflow","menuRow","menuRowPressed","menuIcon","menuLabel","fontSize","body","color","foreground","voice","primaryContainerSubtle","transcript","transcriptPlaceholder","foregroundSubtle"],"sourceRoot":"../../../../src","sources":["components/Composer/styles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useState } from 'react';
4
+ import { Platform } from 'react-native';
5
+ export function useMousePress(disabled) {
6
+ const [pressed, setPressed] = useState(false);
7
+ const enabled = Platform.OS === 'web' && !disabled;
8
+ useEffect(() => {
9
+ if (disabled) setPressed(false);
10
+ }, [disabled]);
11
+ function begin(event) {
12
+ if (event.nativeEvent.pointerType !== 'mouse' || event.nativeEvent.button !== 0) return;
13
+ // 阻止默认聚焦后不会产生兼容 mousedown,局部投影按住状态;点击仍交给 SDK。
14
+ event.preventDefault();
15
+ setPressed(true);
16
+ }
17
+ function end(event) {
18
+ if (event.nativeEvent.pointerType === 'mouse') setPressed(false);
19
+ }
20
+ return {
21
+ mousePressed: enabled && pressed,
22
+ onPointerDown: enabled ? begin : undefined,
23
+ onPointerUp: enabled ? end : undefined,
24
+ onPointerCancel: enabled ? end : undefined,
25
+ onPointerLeave: enabled ? end : undefined
26
+ };
27
+ }
28
+ //# sourceMappingURL=useMousePress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","Platform","useMousePress","disabled","pressed","setPressed","enabled","OS","begin","event","nativeEvent","pointerType","button","preventDefault","end","mousePressed","onPointerDown","undefined","onPointerUp","onPointerCancel","onPointerLeave"],"sourceRoot":"../../../../src","sources":["components/Composer/useMousePress.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,QAAQ,QAAQ,cAAc;AAGvC,OAAO,SAASC,aAAaA,CAACC,QAAiB,EAAE;EAC/C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGL,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMM,OAAO,GAAGL,QAAQ,CAACM,EAAE,KAAK,KAAK,IAAI,CAACJ,QAAQ;EAClDJ,SAAS,CAAC,MAAM;IACd,IAAII,QAAQ,EAAEE,UAAU,CAAC,KAAK,CAAC;EACjC,CAAC,EAAE,CAACF,QAAQ,CAAC,CAAC;EAEd,SAASK,KAAKA,CAACC,KAAmB,EAAE;IAClC,IACEA,KAAK,CAACC,WAAW,CAACC,WAAW,KAAK,OAAO,IACzCF,KAAK,CAACC,WAAW,CAACE,MAAM,KAAK,CAAC,EAE9B;IACF;IACAH,KAAK,CAACI,cAAc,CAAC,CAAC;IACtBR,UAAU,CAAC,IAAI,CAAC;EAClB;EACA,SAASS,GAAGA,CAACL,KAAmB,EAAE;IAChC,IAAIA,KAAK,CAACC,WAAW,CAACC,WAAW,KAAK,OAAO,EAAEN,UAAU,CAAC,KAAK,CAAC;EAClE;EACA,OAAO;IACLU,YAAY,EAAET,OAAO,IAAIF,OAAO;IAChCY,aAAa,EAAEV,OAAO,GAAGE,KAAK,GAAGS,SAAS;IAC1CC,WAAW,EAAEZ,OAAO,GAAGQ,GAAG,GAAGG,SAAS;IACtCE,eAAe,EAAEb,OAAO,GAAGQ,GAAG,GAAGG,SAAS;IAC1CG,cAAc,EAAEd,OAAO,GAAGQ,GAAG,GAAGG;EAClC,CAAC;AACH","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { View } from 'react-native';
4
- import { Chip, Icon } from '@unif/react-native-design';
4
+ import { Chip, Icon, useColors } from '@unif/react-native-design';
5
+ import { SUGGESTION_ICON_SIZE } from "./constants.js";
5
6
  import { styles } from "./styles.js";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  export function Suggestions({
@@ -11,6 +12,7 @@ export function Suggestions({
11
12
  style,
12
13
  testID
13
14
  }) {
15
+ const colors = useColors();
14
16
  if (items.length === 0) return null;
15
17
  return /*#__PURE__*/_jsx(View, {
16
18
  style: [styles.root, styles[align], style],
@@ -22,7 +24,9 @@ export function Suggestions({
22
24
  busy: item.loading,
23
25
  disabled: item.disabled,
24
26
  leading: item.icon ? /*#__PURE__*/_jsx(Icon, {
25
- name: item.icon
27
+ name: item.icon,
28
+ size: SUGGESTION_ICON_SIZE,
29
+ color: colors.primary
26
30
  }) : undefined,
27
31
  onPress: onSelect ? () => onSelect(item) : undefined
28
32
  }, item.id))
@@ -1 +1 @@
1
- {"version":3,"names":["View","Chip","Icon","styles","jsx","_jsx","Suggestions","items","onSelect","align","style","testID","length","root","accessibilityRole","children","map","item","label","selected","busy","loading","disabled","leading","icon","name","undefined","onPress","id"],"sourceRoot":"../../../../src","sources":["components/Suggestions/Suggestions.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,IAAI,EAAEC,IAAI,QAAQ,2BAA2B;AACtD,SAASC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC,OAAO,SAASC,WAAWA,CAAC;EAC1BC,KAAK;EACLC,QAAQ;EACRC,KAAK,GAAG,OAAO;EACfC,KAAK;EACLC;AACgB,CAAC,EAA4B;EAC7C,IAAIJ,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEnC,oBACEP,IAAA,CAACL,IAAI;IACHU,KAAK,EAAE,CAACP,MAAM,CAACU,IAAI,EAAEV,MAAM,CAACM,KAAK,CAAC,EAAEC,KAAK,CAAE;IAC3CC,MAAM,EAAEA,MAAO;IACfG,iBAAiB,EAAC,MAAM;IAAAC,QAAA,EAEvBR,KAAK,CAACS,GAAG,CAAEC,IAAI,iBACdZ,IAAA,CAACJ,IAAI;MAEHiB,KAAK,EAAED,IAAI,CAACC,KAAM;MAClBC,QAAQ,EAAEF,IAAI,CAACE,QAAS;MACxBC,IAAI,EAAEH,IAAI,CAACI,OAAQ;MACnBC,QAAQ,EAAEL,IAAI,CAACK,QAAS;MACxBC,OAAO,EAAEN,IAAI,CAACO,IAAI,gBAAGnB,IAAA,CAACH,IAAI;QAACuB,IAAI,EAAER,IAAI,CAACO;MAAK,CAAE,CAAC,GAAGE,SAAU;MAC3DC,OAAO,EAAEnB,QAAQ,GAAG,MAAMA,QAAQ,CAACS,IAAI,CAAC,GAAGS;IAAU,GANhDT,IAAI,CAACW,EAOX,CACF;EAAC,CACE,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["View","Chip","Icon","useColors","SUGGESTION_ICON_SIZE","styles","jsx","_jsx","Suggestions","items","onSelect","align","style","testID","colors","length","root","accessibilityRole","children","map","item","label","selected","busy","loading","disabled","leading","icon","name","size","color","primary","undefined","onPress","id"],"sourceRoot":"../../../../src","sources":["components/Suggestions/Suggestions.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,IAAI,EAAEC,IAAI,EAAEC,SAAS,QAAQ,2BAA2B;AACjE,SAASC,oBAAoB,QAAQ,gBAAa;AAClD,SAASC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC,OAAO,SAASC,WAAWA,CAAC;EAC1BC,KAAK;EACLC,QAAQ;EACRC,KAAK,GAAG,OAAO;EACfC,KAAK;EACLC;AACgB,CAAC,EAA4B;EAC7C,MAAMC,MAAM,GAAGX,SAAS,CAAC,CAAC;EAC1B,IAAIM,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAEnC,oBACER,IAAA,CAACP,IAAI;IACHY,KAAK,EAAE,CAACP,MAAM,CAACW,IAAI,EAAEX,MAAM,CAACM,KAAK,CAAC,EAAEC,KAAK,CAAE;IAC3CC,MAAM,EAAEA,MAAO;IACfI,iBAAiB,EAAC,MAAM;IAAAC,QAAA,EAEvBT,KAAK,CAACU,GAAG,CAAEC,IAAI,iBACdb,IAAA,CAACN,IAAI;MAEHoB,KAAK,EAAED,IAAI,CAACC,KAAM;MAClBC,QAAQ,EAAEF,IAAI,CAACE,QAAS;MACxBC,IAAI,EAAEH,IAAI,CAACI,OAAQ;MACnBC,QAAQ,EAAEL,IAAI,CAACK,QAAS;MACxBC,OAAO,EACLN,IAAI,CAACO,IAAI,gBACPpB,IAAA,CAACL,IAAI;QACH0B,IAAI,EAAER,IAAI,CAACO,IAAK;QAChBE,IAAI,EAAEzB,oBAAqB;QAC3B0B,KAAK,EAAEhB,MAAM,CAACiB;MAAQ,CACvB,CAAC,GACAC,SACL;MACDC,OAAO,EAAEvB,QAAQ,GAAG,MAAMA,QAAQ,CAACU,IAAI,CAAC,GAAGY;IAAU,GAdhDZ,IAAI,CAACc,EAeX,CACF;EAAC,CACE,CAAC;AAEX","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export const SUGGESTION_ICON_SIZE = 14;
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SUGGESTION_ICON_SIZE"],"sourceRoot":"../../../../src","sources":["components/Suggestions/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,oBAAoB,GAAG,EAAE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/Composer.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAOjE,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,YAAS,CAAC;AAE7D,eAAO,MAAM,QAAQ,2GAsLpB,CAAC"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/Composer.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAWjE,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,YAAS,CAAC;AAE7D,eAAO,MAAM,QAAQ,2GA0PpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ComposerIconActionProps } from './types.js';
2
+ export declare function ComposerIconAction({ icon, label, onPress, disabled, busy, expanded, visual, }: ComposerIconActionProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=ComposerIconAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerIconAction.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/ComposerIconAction.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAS,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAgB,EAChB,IAAY,EACZ,QAAQ,EACR,MAAe,GAChB,EAAE,uBAAuB,+BAoDzB"}
@@ -0,0 +1,3 @@
1
+ import type { ComposerMenuItemProps } from './types.js';
2
+ export declare function ComposerMenuItem({ action, disabled, onPress, }: ComposerMenuItemProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=ComposerMenuItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComposerMenuItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/ComposerMenuItem.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAS,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,qBAAqB,+BA4CvB"}
@@ -1,4 +1,11 @@
1
- export declare const DEFAULT_MAX_INPUT_HEIGHT = 120;
1
+ export declare const COMPOSER_INPUT_LINE_HEIGHT: number;
2
+ export declare const COMPOSER_INPUT_MAX_LINES = 4;
3
+ export declare const COMPOSER_PLAIN_VERTICAL_INSET: number;
4
+ export declare const COMPOSER_ACTION_VISUAL_SIZE = 34;
5
+ export declare const COMPOSER_ACTION_ICON_SIZE = 22;
6
+ export declare const COMPOSER_PRIMARY_ICON_SIZE = 18;
7
+ export declare const COMPOSER_MENU_ICON_CONTAINER_SIZE = 40;
8
+ export declare const COMPOSER_MENU_ICON_SIZE = 20;
2
9
  export declare const PRIMARY_LABELS: {
3
10
  readonly send: "发送";
4
11
  readonly stop: "停止回复";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AACX,eAAO,MAAM,YAAY;;;;CAIf,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,QAA8B,CAAC;AACtE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,6BAA6B,QAAe,CAAC;AAC1D,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AACX,eAAO,MAAM,YAAY;;;;CAIf,CAAC"}
@@ -1,40 +1,183 @@
1
- import type { ColorTokens } from '@unif/react-native-design';
2
- export declare const createStyles: (colors: ColorTokens) => Readonly<{
1
+ import type { ColorTokens, ShadowTokens } from '@unif/react-native-design';
2
+ export declare const createStyles: (colors: ColorTokens, shadows: ShadowTokens) => Readonly<{
3
3
  root: {
4
- gap: number;
4
+ position: "relative";
5
5
  minWidth: number;
6
6
  };
7
7
  card: {
8
- padding: number;
8
+ shadowColor: string;
9
+ shadowOffset: {
10
+ readonly width: number;
11
+ readonly height: number;
12
+ };
13
+ shadowOpacity: number;
14
+ shadowRadius: number;
15
+ elevation: number;
9
16
  borderRadius: number;
17
+ borderWidth: number;
18
+ borderColor: string;
10
19
  backgroundColor: string;
11
20
  };
21
+ accessory: {
22
+ padding: number;
23
+ };
12
24
  regular: {
25
+ flexDirection: "row";
26
+ alignItems: "flex-end";
27
+ gap: number;
28
+ paddingVertical: number;
29
+ paddingHorizontal: number;
30
+ };
31
+ expanded: {
32
+ flexDirection: "column";
33
+ alignItems: "stretch";
13
34
  gap: number;
14
35
  };
15
36
  hidden: {
16
37
  display: "none";
17
38
  };
39
+ input: {
40
+ flex: number;
41
+ minWidth: number;
42
+ };
43
+ inputExpanded: {
44
+ flex: number;
45
+ width: string;
46
+ };
47
+ more: {
48
+ width: 44;
49
+ height: 44;
50
+ };
51
+ moreExpanded: {
52
+ position: "absolute";
53
+ left: number;
54
+ bottom: number;
55
+ zIndex: number;
56
+ };
18
57
  toolbar: {
19
58
  flexDirection: "row";
20
- flexWrap: "wrap";
59
+ alignItems: "center";
60
+ };
61
+ toolbarExpanded: {
62
+ width: string;
63
+ minHeight: 44;
64
+ justifyContent: "flex-end";
65
+ };
66
+ toolbarWithMore: {
67
+ paddingStart: number;
68
+ };
69
+ trailingActions: {
70
+ flexDirection: "row";
21
71
  alignItems: "center";
22
72
  gap: number;
73
+ marginStart: string;
74
+ };
75
+ action: {
76
+ width: 44;
77
+ height: 44;
78
+ alignItems: "center";
79
+ justifyContent: "center";
80
+ };
81
+ actionVisual: {
82
+ width: number;
83
+ height: number;
84
+ borderRadius: number;
85
+ alignItems: "center";
86
+ justifyContent: "center";
87
+ };
88
+ actionPressed: {
89
+ backgroundColor: string;
90
+ };
91
+ actionDisabled: {
92
+ opacity: number;
23
93
  };
24
94
  primary: {
25
- marginStart: string;
95
+ backgroundColor: string;
96
+ };
97
+ primaryPressed: {
98
+ backgroundColor: string;
99
+ };
100
+ primaryDisabled: {
101
+ backgroundColor: string;
102
+ };
103
+ cancel: {
104
+ backgroundColor: string;
105
+ };
106
+ backdrop: {
107
+ position: "absolute";
108
+ bottom: string;
109
+ left: number;
110
+ right: number;
111
+ zIndex: number;
26
112
  };
27
113
  menu: {
114
+ shadowColor: string;
115
+ shadowOffset: {
116
+ readonly width: number;
117
+ readonly height: number;
118
+ };
119
+ shadowOpacity: number;
120
+ shadowRadius: number;
121
+ elevation: number;
122
+ position: "absolute";
123
+ bottom: string;
124
+ left: number;
125
+ width: number;
126
+ maxWidth: string;
127
+ marginBottom: number;
128
+ borderRadius: number;
129
+ borderWidth: number;
130
+ borderColor: string;
131
+ backgroundColor: string;
132
+ zIndex: number;
133
+ };
134
+ menuClip: {
135
+ borderRadius: number;
136
+ overflow: "hidden";
137
+ paddingVertical: number;
138
+ };
139
+ menuRow: {
140
+ minHeight: 44;
28
141
  flexDirection: "row";
29
- flexWrap: "wrap";
142
+ alignItems: "center";
30
143
  gap: number;
144
+ paddingVertical: number;
145
+ paddingHorizontal: number;
146
+ };
147
+ menuRowPressed: {
148
+ backgroundColor: string;
149
+ };
150
+ menuIcon: {
151
+ width: number;
152
+ height: number;
153
+ borderRadius: number;
154
+ alignItems: "center";
155
+ justifyContent: "center";
156
+ backgroundColor: string;
157
+ };
158
+ menuLabel: {
159
+ flex: number;
160
+ minWidth: number;
161
+ fontSize: number;
162
+ color: string;
31
163
  };
32
164
  voice: {
165
+ flexDirection: "row";
166
+ alignItems: "center";
33
167
  gap: number;
168
+ paddingVertical: number;
169
+ paddingHorizontal: number;
170
+ borderRadius: number;
171
+ backgroundColor: string;
34
172
  };
35
173
  transcript: {
174
+ flex: number;
175
+ minWidth: number;
36
176
  color: string;
37
177
  fontSize: number;
38
178
  };
179
+ transcriptPlaceholder: {
180
+ color: string;
181
+ };
39
182
  }>;
40
183
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB5C,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAM3E,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW,EAAE,SAAS,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8HnE,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
- import type { TextFieldHandle } from '@unif/react-native-design';
3
+ import type { IconName, TextFieldHandle } from '@unif/react-native-design';
4
4
  import type { ChatAction } from '../../actions/index.js';
5
5
  export interface ComposerSendAction {
6
6
  kind: 'send';
7
7
  onPress(value: string): void;
8
8
  allowEmpty?: boolean;
9
9
  disabled?: boolean;
10
+ /** 图标按钮的可访问名称,默认“发送”。 */
10
11
  label?: string;
11
12
  }
12
13
  export interface ComposerStopAction {
@@ -41,8 +42,11 @@ export interface ComposerProps {
41
42
  voice?: ComposerVoiceControl;
42
43
  header?: ReactNode;
43
44
  footer?: ReactNode;
45
+ /** card 提供统一表面;plain 由外层提供表面,内部 Textarea 均不单独绘制表面。 */
44
46
  surface?: 'card' | 'plain';
47
+ /** Textarea 整体最小高度(含内间距),默认 44,不低于最小触达高度。 */
45
48
  minInputHeight?: number;
49
+ /** Textarea 整体最大高度;默认四行文字预算加 plain 内间距,随应用字号变化。 */
46
50
  maxInputHeight?: number;
47
51
  onFocusChange?(focused: boolean): void;
48
52
  onHeightChange?(height: number): void;
@@ -50,4 +54,18 @@ export interface ComposerProps {
50
54
  testID?: string;
51
55
  }
52
56
  export type ComposerHandle = TextFieldHandle;
57
+ export interface ComposerIconActionProps {
58
+ icon: IconName;
59
+ label: string;
60
+ onPress?(): void;
61
+ disabled?: boolean;
62
+ busy?: boolean;
63
+ expanded?: boolean;
64
+ visual?: 'icon' | 'primary' | 'cancel';
65
+ }
66
+ export interface ComposerMenuItemProps {
67
+ action: ChatAction;
68
+ disabled: boolean;
69
+ onPress(): void;
70
+ }
53
71
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAe,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAC/B,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAC/D,MAAM,MAAM,mBAAmB,GAC7B,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { PointerEvent } from 'react-native';
2
+ export declare function useMousePress(disabled: boolean): {
3
+ mousePressed: boolean;
4
+ onPointerDown: ((event: PointerEvent) => void) | undefined;
5
+ onPointerUp: ((event: PointerEvent) => void) | undefined;
6
+ onPointerCancel: ((event: PointerEvent) => void) | undefined;
7
+ onPointerLeave: ((event: PointerEvent) => void) | undefined;
8
+ };
9
+ //# sourceMappingURL=useMousePress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMousePress.d.ts","sourceRoot":"","sources":["../../../../../src/components/Composer/useMousePress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO;;4BAOvB,YAAY;0BAUd,YAAY;8BAAZ,YAAY;6BAAZ,YAAY;EAUjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Suggestions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Suggestions/Suggestions.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAS,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAsB7C"}
1
+ {"version":3,"file":"Suggestions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Suggestions/Suggestions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAS,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA+B7C"}
@@ -0,0 +1,2 @@
1
+ export declare const SUGGESTION_ICON_SIZE = 14;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/Suggestions/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,KAAK,CAAC"}
@@ -3,6 +3,7 @@ import type { StyleProp, ViewStyle } from 'react-native';
3
3
  export interface SuggestionItem {
4
4
  id: string;
5
5
  label: string;
6
+ /** 14 布局单位的主题主色图标,普通与选中状态保持相同图标样式。 */
6
7
  icon?: IconName;
7
8
  selected?: boolean;
8
9
  loading?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Suggestions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Suggestions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}