@unif/react-native-chat 2.0.0 → 2.1.1

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 +144 -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
package/README.md CHANGED
@@ -1,48 +1,57 @@
1
1
  # @unif/react-native-chat
2
2
 
3
- 基于 `@unif/react-native-design` 的独立 TypeScript 聊天组件库。
3
+ 基于 `@unif/react-native-design` TypeScript 聊天 UI 组件库,支持独立组件和完整聊天布局,可供其他 React Native 项目复用。
4
4
 
5
- 工程由 create-react-native-library 0.63.1 的 library/js 模板生成,源码为 TS/TSX。example 使用 Community CLI,原生 iOS/Android 工程用于示例验证,Vite 提供 Web 入口。公开组件包括 Chat、Message、MessageList、Composer、Attachments、Suggestions、Confirmation、Process、Sources、Citation、Feedback。各组件可以独立使用,具体行为依据见[开发交接](docs/DEVELOPMENT.md)
5
+ [文档站](https://unif-design.github.io/react-native-chat/) · [组件源码](src/index.tsx) · [运行示例](example/README.md) · [常见问题](https://unif-design.github.io/react-native-chat/docs/faq) · [开发资料](docs/DEVELOPMENT.md)
6
6
 
7
- ## 本地开始
8
-
9
- 仓库自带 Yarn 4.11.0;Node 基线见 .nvmrc,支持范围见 package.json。
10
-
11
- ```sh
12
- yarn install --immutable --mode=skip-build
13
- yarn typecheck
14
- yarn example typecheck
15
- yarn lint
16
- yarn format:check
17
- yarn test --runInBand --runTestsByPath example/src/__tests__/App.test.tsx
18
- ```
19
-
20
- 没有全局 Yarn 时,使用 `node .yarn/releases/yarn-4.11.0.cjs` 代替 yarn。示例服务使用 `yarn example start` 或 `yarn example web`。构建和全量测试遵循 AGENTS.md 的执行边界。
7
+ ## 提供什么
21
8
 
22
- Design 开发和示例使用 npm 0.32.0,React 19.2.3、RN 0.86.3;公开依赖范围以 package.json 为准。已知上游 peer 声明差异见开发交接。
9
+ | 用途 | 组件 |
10
+ | -------------- | ---------------------------------- |
11
+ | 聊天布局与消息 | Chat、MessageList、Message |
12
+ | 输入与附件 | Composer、Attachments、Suggestions |
13
+ | 交互与反馈 | Confirmation、Process、Feedback |
14
+ | 来源与引用 | Sources、Citation |
23
15
 
24
- ESLint、Jest、Lefthook、Release It、Vite 已配置。跳过安装脚本时,使用 `yarn exec lefthook install` 安装 Git hooks;发布按明确授权执行。
16
+ 组件负责展示和事件;应用负责会话、草稿、文件上传、Agent 请求和业务处理。Markdown 使用 `react-native-marked`。
25
17
 
26
- ## 使用与示例
18
+ ## 最小用法
27
19
 
28
- 应用根使用 Design `ThemeProvider`,按应用需要接入手势与安全区宿主。组件从包根具名导入;公开类型由 `src/index.tsx` 导出,详细 props 以所属单元 `types.ts` 为准。
20
+ 在已配置 Design `ThemeProvider` 的应用中使用受控输入:
29
21
 
30
22
  ```tsx
23
+ import { useState } from 'react';
31
24
  import { Composer } from '@unif/react-native-chat';
32
25
 
33
- <Composer
34
- value={text}
35
- onChangeText={setText}
36
- primaryAction={{ kind: 'send', onPress: handleSend }}
37
- />;
26
+ export function ChatInput({ onSend }: { onSend: (text: string) => void }) {
27
+ const [text, setText] = useState('');
28
+
29
+ return (
30
+ <Composer
31
+ value={text}
32
+ onChangeText={setText}
33
+ primaryAction={{ kind: 'send', onPress: onSend }}
34
+ />
35
+ );
36
+ }
38
37
  ```
39
38
 
40
- `handleSend` 接收原始文字,调用方负责请求、结果采用以及更新 `text`。停止、附件操作、确认、来源与反馈按钮同样只交付事件。库不创建会话、上传文件、连接 Agent 或自行判断业务成功。
39
+ 发送事件交付原始文字;发送后是否清空输入由应用决定。键盘避让由页面负责,MessageList 的父容器需要有界高度。
41
40
 
42
- example 首页可切换 11 个组件的独立样例、主聊天与抽屉输入,并切换浅色/深色和应用字号。Message 包含真实 Markdown、图片和交互卡片;MessageList 提供长列表、前插与追加、流式增长和跟随设置。主聊天和抽屉样例分别持有草稿,通过 RN 键盘容器演示宿主责任;Chat 和 Composer 不额外抬升键盘。
41
+ ## 本地开始
42
+
43
+ 从仓库根目录执行,Node 版本见 [.nvmrc](.nvmrc):
44
+
45
+ ```sh
46
+ yarn install --immutable --mode=skip-build
47
+ yarn web
48
+ ```
43
49
 
44
- MessageList 需要有界高度,不要放入同方向无界 ScrollView。列表采用 FlatList;RN Web 0.21 的纯前插通过可见消息的 DOM 位置保持锚点,持续处理后续尺寸变化;虚拟化仍由 FlatList 管理。切换会话使用 React key 重建列表。
50
+ 仓库自带 Yarn;没有全局命令时可用 `node .yarn/releases/yarn-4.11.0.cjs` 代替 `yarn`。原生示例及检查入口见 [example](example/README.md)。
45
51
 
46
- Markdown 使用 react-native-marked 的公开解析和节点渲染;链接仅交付 onLinkPress。图片通过小型资源尺寸适配与 Design Thumbnail 呈现,避免当前第三方图片节点重复取尺寸,同时保留 Design 的加载与失败占位。Jest 配置沿用 Design preset,额外转换 Markdown 的 ESM 依赖。
52
+ ## 文档
47
53
 
48
- 定向交互测试不能代替真实平台验收。键盘、动态高度、滚动锚点、图片、嵌套触摸与大字号布局应在 Web、iOS、Android 分别检查;完整 Jest、库与 example 打包及原生构建由 CI 执行。
54
+ - [LLM 文档索引](https://unif-design.github.io/react-native-chat/llms.txt):按需查询组件与 FAQ。
55
+ - [公共导出](src/index.tsx)与[组件类型](src/components/):查询当前可用 API。
56
+ - [开发资料](docs/DEVELOPMENT.md):架构契约、依赖说明和验证入口。
57
+ - [研发技能](https://github.com/unif-skill/unif-portal-dev-skills) · [贡献指南](CONTRIBUTING.md) · [MIT 许可](LICENSE)
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
4
- import { Text, View } from 'react-native';
5
- import { Button, fixed, IconButton, Textarea, useTheme, useThemedStyles } from '@unif/react-native-design';
6
- import { DEFAULT_MAX_INPUT_HEIGHT, PRIMARY_LABELS, VOICE_LABELS } from "./constants.js";
4
+ import { Pressable, Text, View, useWindowDimensions } from 'react-native';
5
+ import { fixed, Textarea, useTheme, useThemedStyles } from '@unif/react-native-design';
6
+ import { COMPOSER_INPUT_LINE_HEIGHT, COMPOSER_INPUT_MAX_LINES, COMPOSER_PLAIN_VERTICAL_INSET, PRIMARY_LABELS, VOICE_LABELS } from "./constants.js";
7
+ import { ComposerIconAction } from "./ComposerIconAction.js";
8
+ import { ComposerMenuItem } from "./ComposerMenuItem.js";
7
9
  import { createStyles } from "./styles.js";
8
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
11
  export const Composer = /*#__PURE__*/forwardRef(function ComposerInput({
10
12
  value,
11
13
  onChangeText,
@@ -30,13 +32,22 @@ export const Composer = /*#__PURE__*/forwardRef(function ComposerInput({
30
32
  const {
31
33
  fontScale
32
34
  } = useTheme();
35
+ const {
36
+ height: windowHeight
37
+ } = useWindowDimensions();
33
38
  const inputRef = useRef(null);
34
39
  const lastHeight = useRef(undefined);
35
40
  const [menuOpen, setMenuOpen] = useState(false);
41
+ const [focused, setFocused] = useState(false);
36
42
  const voiceActive = voice !== undefined && voice.status !== 'idle';
43
+ const expanded = focused || value.length > 0;
37
44
  const minHeight = Number.isFinite(minInputHeight) ? Math.max(fixed.hitTarget, minInputHeight) : fixed.hitTarget;
38
- const defaultMaxHeight = Math.max(minHeight, DEFAULT_MAX_INPUT_HEIGHT * fontScale);
45
+ const defaultMaxHeight = Math.max(minHeight, COMPOSER_INPUT_LINE_HEIGHT * COMPOSER_INPUT_MAX_LINES * fontScale + COMPOSER_PLAIN_VERTICAL_INSET);
39
46
  const maxHeight = Number.isFinite(maxInputHeight) ? Math.max(minHeight, maxInputHeight) : defaultMaxHeight;
47
+ const showPrimary = primaryAction.kind !== 'send' || primaryAction.allowEmpty || value.trim().length > 0;
48
+ const primaryDisabled = disabled || primaryAction.kind === 'busy' || primaryAction.disabled;
49
+ const showToolbar = expanded && actions.length > 0 || Boolean(voice) || showPrimary;
50
+ const primaryLabel = primaryAction.label?.trim() ? primaryAction.label : PRIMARY_LABELS[primaryAction.kind];
40
51
  useImperativeHandle(ref, () => ({
41
52
  focus: () => {
42
53
  if (!disabled && !voiceActive) inputRef.current?.focus();
@@ -44,10 +55,19 @@ export const Composer = /*#__PURE__*/forwardRef(function ComposerInput({
44
55
  blur: () => inputRef.current?.blur()
45
56
  }), [disabled, voiceActive]);
46
57
  useEffect(() => {
47
- if (voiceActive) inputRef.current?.blur();
58
+ if (voiceActive) {
59
+ inputRef.current?.blur();
60
+ setFocused(false);
61
+ }
48
62
  if (voiceActive || disabled) setMenuOpen(false);
49
63
  }, [voiceActive, disabled]);
50
- const primaryDisabled = disabled || primaryAction.kind === 'busy' || primaryAction.disabled || primaryAction.kind === 'send' && !primaryAction.allowEmpty && value.trim().length === 0;
64
+ const moreAction = actions.length > 0 ? /*#__PURE__*/_jsx(ComposerIconAction, {
65
+ icon: "plus",
66
+ label: "\u66F4\u591A\u64CD\u4F5C",
67
+ expanded: menuOpen,
68
+ disabled: disabled,
69
+ onPress: () => setMenuOpen(open => !open)
70
+ }) : null;
51
71
  return /*#__PURE__*/_jsxs(View, {
52
72
  testID: testID,
53
73
  style: [styles.root, surface === 'card' && styles.card, style],
@@ -61,89 +81,117 @@ export const Composer = /*#__PURE__*/forwardRef(function ComposerInput({
61
81
  onHeightChange?.(layout.height);
62
82
  }
63
83
  },
64
- children: [header, /*#__PURE__*/_jsxs(View, {
65
- style: [styles.regular, voiceActive && styles.hidden],
66
- importantForAccessibility: voiceActive ? 'no-hide-descendants' : 'auto',
67
- children: [/*#__PURE__*/_jsx(Textarea, {
68
- ref: inputRef,
69
- value: value,
70
- onChangeText: onChangeText,
71
- editable: editable,
72
- disabled: disabled || voiceActive,
73
- placeholder: placeholder,
74
- accessibilityLabel: inputAccessibilityLabel,
75
- minHeight: minHeight,
76
- maxHeight: maxHeight,
77
- submitBehavior: "newline",
78
- onFocus: () => {
79
- setMenuOpen(false);
80
- onFocusChange?.(true);
81
- },
82
- onBlur: () => onFocusChange?.(false)
83
- }), /*#__PURE__*/_jsxs(View, {
84
- style: styles.toolbar,
85
- children: [actions.length > 0 ? /*#__PURE__*/_jsx(IconButton, {
86
- icon: "more-h",
87
- size: "lg",
88
- accessibilityLabel: "\u66F4\u591A\u64CD\u4F5C",
89
- accessibilityState: {
90
- expanded: menuOpen
91
- },
92
- disabled: disabled,
93
- onPress: () => setMenuOpen(open => !open)
94
- }) : null, voice ? /*#__PURE__*/_jsx(IconButton, {
95
- icon: "mic",
96
- size: "lg",
97
- accessibilityLabel: "\u5F00\u59CB\u8BED\u97F3\u8F93\u5165",
98
- disabled: disabled || voice.disabled,
99
- onPress: voice.onStart
100
- }) : null, /*#__PURE__*/_jsx(Button, {
101
- label: primaryAction.label ?? PRIMARY_LABELS[primaryAction.kind],
102
- size: "lg",
103
- style: styles.primary,
104
- disabled: primaryDisabled,
105
- loading: primaryAction.kind === 'busy',
106
- onPress: () => {
107
- if (primaryDisabled) return;
108
- if (primaryAction.kind === 'send') primaryAction.onPress(value);else if (primaryAction.kind === 'stop') primaryAction.onPress();
109
- }
110
- })]
111
- }), menuOpen && actions.length > 0 ? /*#__PURE__*/_jsx(View, {
84
+ children: [header != null ? /*#__PURE__*/_jsx(View, {
85
+ style: styles.accessory,
86
+ children: header
87
+ }) : null, menuOpen && !disabled && !voiceActive && actions.length > 0 ? /*#__PURE__*/_jsxs(_Fragment, {
88
+ children: [/*#__PURE__*/_jsx(Pressable, {
89
+ style: [styles.backdrop, {
90
+ height: windowHeight
91
+ }],
92
+ accessibilityRole: "button",
93
+ accessibilityLabel: "\u6536\u8D77\u66F4\u591A\u64CD\u4F5C",
94
+ onPress: () => setMenuOpen(false)
95
+ }), /*#__PURE__*/_jsx(View, {
112
96
  style: styles.menu,
113
- children: actions.map(action => /*#__PURE__*/_jsx(Button, {
114
- label: action.label,
115
- leftIcon: action.icon,
116
- disabled: disabled || action.disabled,
117
- loading: action.loading,
118
- variant: "secondary",
119
- accessibilityHint: action.accessibilityHint,
120
- onPress: () => {
121
- if (disabled || action.disabled || action.loading) return;
97
+ testID: "composer-menu",
98
+ children: /*#__PURE__*/_jsx(View, {
99
+ style: styles.menuClip,
100
+ testID: "composer-menu-content",
101
+ children: actions.map(action => /*#__PURE__*/_jsx(ComposerMenuItem, {
102
+ action: action,
103
+ disabled: disabled,
104
+ onPress: () => {
105
+ if (disabled || action.disabled || action.loading) return;
106
+ setMenuOpen(false);
107
+ action.onPress();
108
+ }
109
+ }, action.id))
110
+ })
111
+ })]
112
+ }) : null, /*#__PURE__*/_jsxs(View, {
113
+ testID: "composer-regular",
114
+ style: [styles.regular, expanded && styles.expanded, voiceActive && styles.hidden],
115
+ importantForAccessibility: voiceActive ? 'no-hide-descendants' : 'auto',
116
+ children: [moreAction ? /*#__PURE__*/_jsx(View, {
117
+ style: [styles.more, expanded && styles.moreExpanded],
118
+ children: moreAction
119
+ }, "more") : null, /*#__PURE__*/_jsx(View, {
120
+ style: [styles.input, expanded && styles.inputExpanded],
121
+ children: /*#__PURE__*/_jsx(Textarea, {
122
+ ref: inputRef,
123
+ surface: "plain",
124
+ value: value,
125
+ onChangeText: onChangeText,
126
+ editable: editable,
127
+ disabled: disabled || voiceActive,
128
+ placeholder: placeholder,
129
+ accessibilityLabel: inputAccessibilityLabel,
130
+ minHeight: minHeight,
131
+ maxHeight: maxHeight,
132
+ submitBehavior: "newline",
133
+ onPressIn: () => setMenuOpen(false),
134
+ onFocus: () => {
122
135
  setMenuOpen(false);
123
- action.onPress();
136
+ setFocused(true);
137
+ onFocusChange?.(true);
138
+ },
139
+ onBlur: () => {
140
+ setFocused(false);
141
+ onFocusChange?.(false);
124
142
  }
125
- }, action.id))
126
- }) : null]
143
+ })
144
+ }, "input"), showToolbar ? /*#__PURE__*/_jsx(View, {
145
+ style: [styles.toolbar, expanded && styles.toolbarExpanded, expanded && moreAction != null && styles.toolbarWithMore],
146
+ children: /*#__PURE__*/_jsxs(View, {
147
+ style: styles.trailingActions,
148
+ children: [voice ? /*#__PURE__*/_jsx(ComposerIconAction, {
149
+ icon: "mic",
150
+ label: "\u5F00\u59CB\u8BED\u97F3\u8F93\u5165",
151
+ disabled: disabled || voice.disabled,
152
+ onPress: () => {
153
+ setMenuOpen(false);
154
+ voice.onStart();
155
+ }
156
+ }) : null, showPrimary ? /*#__PURE__*/_jsx(ComposerIconAction, {
157
+ icon: primaryAction.kind === 'send' ? 'send' : 'stop',
158
+ label: primaryLabel,
159
+ visual: "primary",
160
+ disabled: primaryDisabled,
161
+ busy: primaryAction.kind === 'busy',
162
+ onPress: () => {
163
+ if (primaryDisabled) return;
164
+ setMenuOpen(false);
165
+ if (primaryAction.kind === 'send') primaryAction.onPress(value);else if (primaryAction.kind === 'stop') primaryAction.onPress();
166
+ }
167
+ }) : null]
168
+ })
169
+ }, "toolbar") : null]
127
170
  }), voice && voice.status !== 'idle' ? /*#__PURE__*/_jsxs(View, {
128
171
  style: styles.voice,
129
- children: [/*#__PURE__*/_jsx(Text, {
130
- style: styles.transcript,
172
+ children: [/*#__PURE__*/_jsx(ComposerIconAction, {
173
+ icon: "close",
174
+ visual: "cancel",
175
+ label: "\u53D6\u6D88\u8BED\u97F3\u8F93\u5165",
176
+ disabled: disabled || voice.disabled,
177
+ onPress: voice.onCancel
178
+ }), /*#__PURE__*/_jsx(Text, {
179
+ numberOfLines: 1,
180
+ ellipsizeMode: "head",
181
+ style: [styles.transcript, !voice.transcript && styles.transcriptPlaceholder],
131
182
  accessibilityLiveRegion: "polite",
132
183
  children: voice.status === 'starting' ? VOICE_LABELS.starting : voice.transcript || VOICE_LABELS[voice.status]
133
- }), /*#__PURE__*/_jsxs(View, {
134
- style: styles.toolbar,
135
- children: [voice.status === 'listening' ? /*#__PURE__*/_jsx(Button, {
136
- label: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
137
- disabled: disabled || voice.disabled,
138
- onPress: voice.onStop
139
- }) : null, /*#__PURE__*/_jsx(Button, {
140
- label: "\u53D6\u6D88\u8BED\u97F3\u8F93\u5165",
141
- variant: "secondary",
142
- disabled: disabled || voice.disabled,
143
- onPress: voice.onCancel
144
- })]
145
- })]
146
- }) : null, footer]
184
+ }), voice.status === 'listening' ? /*#__PURE__*/_jsx(ComposerIconAction, {
185
+ icon: "stop",
186
+ visual: "primary",
187
+ label: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
188
+ disabled: disabled || voice.disabled,
189
+ onPress: voice.onStop
190
+ }) : null]
191
+ }) : null, footer != null ? /*#__PURE__*/_jsx(View, {
192
+ style: styles.accessory,
193
+ children: footer
194
+ }) : null]
147
195
  });
148
196
  });
149
197
  //# sourceMappingURL=Composer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useRef","useState","Text","View","Button","fixed","IconButton","Textarea","useTheme","useThemedStyles","DEFAULT_MAX_INPUT_HEIGHT","PRIMARY_LABELS","VOICE_LABELS","createStyles","jsx","_jsx","jsxs","_jsxs","Composer","ComposerInput","value","onChangeText","primaryAction","editable","disabled","placeholder","inputAccessibilityLabel","actions","voice","header","footer","surface","minInputHeight","maxInputHeight","onFocusChange","onHeightChange","style","testID","ref","styles","fontScale","inputRef","lastHeight","undefined","menuOpen","setMenuOpen","voiceActive","status","minHeight","Number","isFinite","Math","max","hitTarget","defaultMaxHeight","maxHeight","focus","current","blur","primaryDisabled","kind","allowEmpty","trim","length","root","card","onLayout","nativeEvent","layout","height","children","regular","hidden","importantForAccessibility","accessibilityLabel","submitBehavior","onFocus","onBlur","toolbar","icon","size","accessibilityState","expanded","onPress","open","onStart","label","primary","loading","menu","map","action","leftIcon","variant","accessibilityHint","id","transcript","accessibilityLiveRegion","starting","onStop","onCancel"],"sourceRoot":"../../../../src","sources":["components/Composer/Composer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useRef","useState","Pressable","Text","View","useWindowDimensions","fixed","Textarea","useTheme","useThemedStyles","COMPOSER_INPUT_LINE_HEIGHT","COMPOSER_INPUT_MAX_LINES","COMPOSER_PLAIN_VERTICAL_INSET","PRIMARY_LABELS","VOICE_LABELS","ComposerIconAction","ComposerMenuItem","createStyles","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Composer","ComposerInput","value","onChangeText","primaryAction","editable","disabled","placeholder","inputAccessibilityLabel","actions","voice","header","footer","surface","minInputHeight","maxInputHeight","onFocusChange","onHeightChange","style","testID","ref","styles","fontScale","height","windowHeight","inputRef","lastHeight","undefined","menuOpen","setMenuOpen","focused","setFocused","voiceActive","status","expanded","length","minHeight","Number","isFinite","Math","max","hitTarget","defaultMaxHeight","maxHeight","showPrimary","kind","allowEmpty","trim","primaryDisabled","showToolbar","Boolean","primaryLabel","label","focus","current","blur","moreAction","icon","onPress","open","root","card","onLayout","nativeEvent","layout","children","accessory","backdrop","accessibilityRole","accessibilityLabel","menu","menuClip","map","action","loading","id","regular","hidden","importantForAccessibility","more","moreExpanded","input","inputExpanded","submitBehavior","onPressIn","onFocus","onBlur","toolbar","toolbarExpanded","toolbarWithMore","trailingActions","onStart","visual","busy","onCancel","numberOfLines","ellipsizeMode","transcript","transcriptPlaceholder","accessibilityLiveRegion","starting","onStop"],"sourceRoot":"../../../../src","sources":["components/Composer/Composer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ import { ActivityIndicator, Pressable, View } from 'react-native';
4
+ import { Icon, useColors, useThemedStyles } from '@unif/react-native-design';
5
+ import { COMPOSER_ACTION_ICON_SIZE, COMPOSER_PRIMARY_ICON_SIZE } from "./constants.js";
6
+ import { createStyles } from "./styles.js";
7
+ import { useMousePress } from "./useMousePress.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export function ComposerIconAction({
10
+ icon,
11
+ label,
12
+ onPress,
13
+ disabled = false,
14
+ busy = false,
15
+ expanded,
16
+ visual = 'icon'
17
+ }) {
18
+ const colors = useColors();
19
+ const styles = useThemedStyles(createStyles);
20
+ const unavailable = disabled || busy;
21
+ const {
22
+ mousePressed,
23
+ ...mouseHandlers
24
+ } = useMousePress(unavailable);
25
+ const primary = visual === 'primary';
26
+ const color = primary ? disabled ? colors.foregroundSubtle : colors.onPrimary : colors.foregroundMuted;
27
+ return /*#__PURE__*/_jsx(Pressable, {
28
+ accessibilityRole: "button",
29
+ accessibilityLabel: label,
30
+ accessibilityState: {
31
+ disabled: unavailable,
32
+ busy,
33
+ expanded
34
+ },
35
+ disabled: unavailable,
36
+ onPress: unavailable ? undefined : onPress,
37
+ ...mouseHandlers,
38
+ style: styles.action,
39
+ children: ({
40
+ pressed
41
+ }) => /*#__PURE__*/_jsx(View, {
42
+ pointerEvents: "none",
43
+ style: [styles.actionVisual, primary && styles.primary, visual === 'cancel' && styles.cancel, (pressed || mousePressed) && (primary ? styles.primaryPressed : styles.actionPressed), disabled && (primary ? styles.primaryDisabled : styles.actionDisabled)],
44
+ children: busy ? /*#__PURE__*/_jsx(ActivityIndicator, {
45
+ size: "small",
46
+ color: color
47
+ }) : /*#__PURE__*/_jsx(Icon, {
48
+ name: icon,
49
+ size: primary ? COMPOSER_PRIMARY_ICON_SIZE : COMPOSER_ACTION_ICON_SIZE,
50
+ color: color,
51
+ style: expanded ? {
52
+ transform: [{
53
+ rotate: '45deg'
54
+ }]
55
+ } : undefined
56
+ })
57
+ })
58
+ });
59
+ }
60
+ //# sourceMappingURL=ComposerIconAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ActivityIndicator","Pressable","View","Icon","useColors","useThemedStyles","COMPOSER_ACTION_ICON_SIZE","COMPOSER_PRIMARY_ICON_SIZE","createStyles","useMousePress","jsx","_jsx","ComposerIconAction","icon","label","onPress","disabled","busy","expanded","visual","colors","styles","unavailable","mousePressed","mouseHandlers","primary","color","foregroundSubtle","onPrimary","foregroundMuted","accessibilityRole","accessibilityLabel","accessibilityState","undefined","style","action","children","pressed","pointerEvents","actionVisual","cancel","primaryPressed","actionPressed","primaryDisabled","actionDisabled","size","name","transform","rotate"],"sourceRoot":"../../../../src","sources":["components/Composer/ComposerIconAction.tsx"],"mappings":";;AAAA,SAASA,iBAAiB,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AACjE,SAASC,IAAI,EAAEC,SAAS,EAAEC,eAAe,QAAQ,2BAA2B;AAC5E,SACEC,yBAAyB,EACzBC,0BAA0B,QACrB,gBAAa;AACpB,SAASC,YAAY,QAAQ,aAAU;AACvC,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGhD,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,QAAQ,GAAG,KAAK;EAChBC,IAAI,GAAG,KAAK;EACZC,QAAQ;EACRC,MAAM,GAAG;AACc,CAAC,EAAE;EAC1B,MAAMC,MAAM,GAAGhB,SAAS,CAAC,CAAC;EAC1B,MAAMiB,MAAM,GAAGhB,eAAe,CAACG,YAAY,CAAC;EAC5C,MAAMc,WAAW,GAAGN,QAAQ,IAAIC,IAAI;EACpC,MAAM;IAAEM,YAAY;IAAE,GAAGC;EAAc,CAAC,GAAGf,aAAa,CAACa,WAAW,CAAC;EACrE,MAAMG,OAAO,GAAGN,MAAM,KAAK,SAAS;EACpC,MAAMO,KAAK,GAAGD,OAAO,GACjBT,QAAQ,GACNI,MAAM,CAACO,gBAAgB,GACvBP,MAAM,CAACQ,SAAS,GAClBR,MAAM,CAACS,eAAe;EAC1B,oBACElB,IAAA,CAACV,SAAS;IACR6B,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAEjB,KAAM;IAC1BkB,kBAAkB,EAAE;MAAEhB,QAAQ,EAAEM,WAAW;MAAEL,IAAI;MAAEC;IAAS,CAAE;IAC9DF,QAAQ,EAAEM,WAAY;IACtBP,OAAO,EAAEO,WAAW,GAAGW,SAAS,GAAGlB,OAAQ;IAAA,GACvCS,aAAa;IACjBU,KAAK,EAAEb,MAAM,CAACc,MAAO;IAAAC,QAAA,EAEpBA,CAAC;MAAEC;IAAQ,CAAC,kBACX1B,IAAA,CAACT,IAAI;MACHoC,aAAa,EAAC,MAAM;MACpBJ,KAAK,EAAE,CACLb,MAAM,CAACkB,YAAY,EACnBd,OAAO,IAAIJ,MAAM,CAACI,OAAO,EACzBN,MAAM,KAAK,QAAQ,IAAIE,MAAM,CAACmB,MAAM,EACpC,CAACH,OAAO,IAAId,YAAY,MACrBE,OAAO,GAAGJ,MAAM,CAACoB,cAAc,GAAGpB,MAAM,CAACqB,aAAa,CAAC,EAC1D1B,QAAQ,KACLS,OAAO,GAAGJ,MAAM,CAACsB,eAAe,GAAGtB,MAAM,CAACuB,cAAc,CAAC,CAC5D;MAAAR,QAAA,EAEDnB,IAAI,gBACHN,IAAA,CAACX,iBAAiB;QAAC6C,IAAI,EAAC,OAAO;QAACnB,KAAK,EAAEA;MAAM,CAAE,CAAC,gBAEhDf,IAAA,CAACR,IAAI;QACH2C,IAAI,EAAEjC,IAAK;QACXgC,IAAI,EACFpB,OAAO,GAAGlB,0BAA0B,GAAGD,yBACxC;QACDoB,KAAK,EAAEA,KAAM;QACbQ,KAAK,EACHhB,QAAQ,GAAG;UAAE6B,SAAS,EAAE,CAAC;YAAEC,MAAM,EAAE;UAAQ,CAAC;QAAE,CAAC,GAAGf;MACnD,CACF;IACF,CACG;EACP,CACQ,CAAC;AAEhB","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ import { ActivityIndicator, Pressable, Text, View } from 'react-native';
4
+ import { Icon, useColors, useThemedStyles } from '@unif/react-native-design';
5
+ import { COMPOSER_MENU_ICON_SIZE } from "./constants.js";
6
+ import { useMousePress } from "./useMousePress.js";
7
+ import { createStyles } from "./styles.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export function ComposerMenuItem({
10
+ action,
11
+ disabled,
12
+ onPress
13
+ }) {
14
+ const styles = useThemedStyles(createStyles);
15
+ const colors = useColors();
16
+ const busy = action.loading === true;
17
+ const named = action.label.trim().length > 0;
18
+ const unavailable = disabled || action.disabled === true || busy || !named;
19
+ const {
20
+ mousePressed,
21
+ ...mouseHandlers
22
+ } = useMousePress(unavailable);
23
+ return /*#__PURE__*/_jsxs(Pressable, {
24
+ accessible: named,
25
+ accessibilityRole: named ? 'button' : undefined,
26
+ accessibilityLabel: named ? action.label : undefined,
27
+ accessibilityHint: action.accessibilityHint,
28
+ accessibilityState: {
29
+ disabled: unavailable,
30
+ busy
31
+ },
32
+ disabled: unavailable,
33
+ onPress: unavailable ? undefined : onPress,
34
+ ...mouseHandlers,
35
+ style: ({
36
+ pressed
37
+ }) => [styles.menuRow, (pressed || mousePressed) && styles.menuRowPressed, unavailable && styles.actionDisabled],
38
+ children: [action.icon || busy ? /*#__PURE__*/_jsx(View, {
39
+ testID: `composer-menu-icon-${action.id}`,
40
+ style: styles.menuIcon,
41
+ accessibilityElementsHidden: true,
42
+ importantForAccessibility: "no-hide-descendants",
43
+ children: busy ? /*#__PURE__*/_jsx(ActivityIndicator, {
44
+ size: "small",
45
+ color: colors.foregroundMuted
46
+ }) : action.icon ? /*#__PURE__*/_jsx(Icon, {
47
+ name: action.icon,
48
+ size: COMPOSER_MENU_ICON_SIZE,
49
+ color: colors.foreground
50
+ }) : null
51
+ }) : null, /*#__PURE__*/_jsx(Text, {
52
+ style: styles.menuLabel,
53
+ children: action.label
54
+ })]
55
+ });
56
+ }
57
+ //# sourceMappingURL=ComposerMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ActivityIndicator","Pressable","Text","View","Icon","useColors","useThemedStyles","COMPOSER_MENU_ICON_SIZE","useMousePress","createStyles","jsx","_jsx","jsxs","_jsxs","ComposerMenuItem","action","disabled","onPress","styles","colors","busy","loading","named","label","trim","length","unavailable","mousePressed","mouseHandlers","accessible","accessibilityRole","undefined","accessibilityLabel","accessibilityHint","accessibilityState","style","pressed","menuRow","menuRowPressed","actionDisabled","children","icon","testID","id","menuIcon","accessibilityElementsHidden","importantForAccessibility","size","color","foregroundMuted","name","foreground","menuLabel"],"sourceRoot":"../../../../src","sources":["components/Composer/ComposerMenuItem.tsx"],"mappings":";;AAAA,SAASA,iBAAiB,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACvE,SAASC,IAAI,EAAEC,SAAS,EAAEC,eAAe,QAAQ,2BAA2B;AAC5E,SAASC,uBAAuB,QAAQ,gBAAa;AACrD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,YAAY,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGxC,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,MAAM;EACNC,QAAQ;EACRC;AACqB,CAAC,EAAE;EACxB,MAAMC,MAAM,GAAGZ,eAAe,CAACG,YAAY,CAAC;EAC5C,MAAMU,MAAM,GAAGd,SAAS,CAAC,CAAC;EAC1B,MAAMe,IAAI,GAAGL,MAAM,CAACM,OAAO,KAAK,IAAI;EACpC,MAAMC,KAAK,GAAGP,MAAM,CAACQ,KAAK,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;EAC5C,MAAMC,WAAW,GAAGV,QAAQ,IAAID,MAAM,CAACC,QAAQ,KAAK,IAAI,IAAII,IAAI,IAAI,CAACE,KAAK;EAC1E,MAAM;IAAEK,YAAY;IAAE,GAAGC;EAAc,CAAC,GAAGpB,aAAa,CAACkB,WAAW,CAAC;EACrE,oBACEb,KAAA,CAACZ,SAAS;IACR4B,UAAU,EAAEP,KAAM;IAClBQ,iBAAiB,EAAER,KAAK,GAAG,QAAQ,GAAGS,SAAU;IAChDC,kBAAkB,EAAEV,KAAK,GAAGP,MAAM,CAACQ,KAAK,GAAGQ,SAAU;IACrDE,iBAAiB,EAAElB,MAAM,CAACkB,iBAAkB;IAC5CC,kBAAkB,EAAE;MAAElB,QAAQ,EAAEU,WAAW;MAAEN;IAAK,CAAE;IACpDJ,QAAQ,EAAEU,WAAY;IACtBT,OAAO,EAAES,WAAW,GAAGK,SAAS,GAAGd,OAAQ;IAAA,GACvCW,aAAa;IACjBO,KAAK,EAAEA,CAAC;MAAEC;IAAQ,CAAC,KAAK,CACtBlB,MAAM,CAACmB,OAAO,EACd,CAACD,OAAO,IAAIT,YAAY,KAAKT,MAAM,CAACoB,cAAc,EAClDZ,WAAW,IAAIR,MAAM,CAACqB,cAAc,CACpC;IAAAC,QAAA,GAEDzB,MAAM,CAAC0B,IAAI,IAAIrB,IAAI,gBAClBT,IAAA,CAACR,IAAI;MACHuC,MAAM,EAAE,sBAAsB3B,MAAM,CAAC4B,EAAE,EAAG;MAC1CR,KAAK,EAAEjB,MAAM,CAAC0B,QAAS;MACvBC,2BAA2B;MAC3BC,yBAAyB,EAAC,qBAAqB;MAAAN,QAAA,EAE9CpB,IAAI,gBACHT,IAAA,CAACX,iBAAiB;QAAC+C,IAAI,EAAC,OAAO;QAACC,KAAK,EAAE7B,MAAM,CAAC8B;MAAgB,CAAE,CAAC,GAC/DlC,MAAM,CAAC0B,IAAI,gBACb9B,IAAA,CAACP,IAAI;QACH8C,IAAI,EAAEnC,MAAM,CAAC0B,IAAK;QAClBM,IAAI,EAAExC,uBAAwB;QAC9ByC,KAAK,EAAE7B,MAAM,CAACgC;MAAW,CAC1B,CAAC,GACA;IAAI,CACJ,CAAC,GACL,IAAI,eACRxC,IAAA,CAACT,IAAI;MAACiC,KAAK,EAAEjB,MAAM,CAACkC,SAAU;MAAAZ,QAAA,EAAEzB,MAAM,CAACQ;IAAK,CAAO,CAAC;EAAA,CAC3C,CAAC;AAEhB","ignoreList":[]}
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
 
3
- export const DEFAULT_MAX_INPUT_HEIGHT = 120;
3
+ import { space, type } from '@unif/react-native-design';
4
+ export const COMPOSER_INPUT_LINE_HEIGHT = Math.round(type.body * 1.4);
5
+ export const COMPOSER_INPUT_MAX_LINES = 4;
6
+ export const COMPOSER_PLAIN_VERTICAL_INSET = 2 * space[4];
7
+ export const COMPOSER_ACTION_VISUAL_SIZE = 34;
8
+ export const COMPOSER_ACTION_ICON_SIZE = 22;
9
+ export const COMPOSER_PRIMARY_ICON_SIZE = 18;
10
+ export const COMPOSER_MENU_ICON_CONTAINER_SIZE = 40;
11
+ export const COMPOSER_MENU_ICON_SIZE = 20;
4
12
  export const PRIMARY_LABELS = {
5
13
  send: '发送',
6
14
  stop: '停止回复',
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_MAX_INPUT_HEIGHT","PRIMARY_LABELS","send","stop","busy","VOICE_LABELS","starting","listening","finishing"],"sourceRoot":"../../../../src","sources":["components/Composer/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,wBAAwB,GAAG,GAAG;AAC3C,OAAO,MAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAU;AACV,OAAO,MAAMC,YAAY,GAAG;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,OAAO;EAClBC,SAAS,EAAE;AACb,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["space","type","COMPOSER_INPUT_LINE_HEIGHT","Math","round","body","COMPOSER_INPUT_MAX_LINES","COMPOSER_PLAIN_VERTICAL_INSET","COMPOSER_ACTION_VISUAL_SIZE","COMPOSER_ACTION_ICON_SIZE","COMPOSER_PRIMARY_ICON_SIZE","COMPOSER_MENU_ICON_CONTAINER_SIZE","COMPOSER_MENU_ICON_SIZE","PRIMARY_LABELS","send","stop","busy","VOICE_LABELS","starting","listening","finishing"],"sourceRoot":"../../../../src","sources":["components/Composer/constants.ts"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,IAAI,QAAQ,2BAA2B;AAEvD,OAAO,MAAMC,0BAA0B,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAACI,IAAI,GAAG,GAAG,CAAC;AACrE,OAAO,MAAMC,wBAAwB,GAAG,CAAC;AACzC,OAAO,MAAMC,6BAA6B,GAAG,CAAC,GAAGP,KAAK,CAAC,CAAC,CAAC;AACzD,OAAO,MAAMQ,2BAA2B,GAAG,EAAE;AAC7C,OAAO,MAAMC,yBAAyB,GAAG,EAAE;AAC3C,OAAO,MAAMC,0BAA0B,GAAG,EAAE;AAC5C,OAAO,MAAMC,iCAAiC,GAAG,EAAE;AACnD,OAAO,MAAMC,uBAAuB,GAAG,EAAE;AACzC,OAAO,MAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAU;AACV,OAAO,MAAMC,YAAY,GAAG;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,OAAO;EAClBC,SAAS,EAAE;AACb,CAAU","ignoreList":[]}