@beppla/tapas-ui 1.2.12 → 1.2.14

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 (52) hide show
  1. package/commonjs/Dropdown/CustomDropdown.js +3 -4
  2. package/commonjs/Dropdown/CustomDropdown.js.map +1 -1
  3. package/commonjs/Dropdown/Dropdown.js +4 -0
  4. package/commonjs/Dropdown/Dropdown.js.map +1 -1
  5. package/commonjs/Dropdown/InputDropdown.js +2 -0
  6. package/commonjs/Dropdown/InputDropdown.js.map +1 -1
  7. package/commonjs/Input/Input.js +127 -3
  8. package/commonjs/Input/Input.js.map +1 -1
  9. package/commonjs/Input/README.md +157 -0
  10. package/commonjs/Layout/Layout.js +2 -0
  11. package/commonjs/Layout/Layout.js.map +1 -1
  12. package/commonjs/NumericInput/NumericInput.js +73 -4
  13. package/commonjs/NumericInput/NumericInput.js.map +1 -1
  14. package/commonjs/TextArea/TextArea.js +83 -3
  15. package/commonjs/TextArea/TextArea.js.map +1 -1
  16. package/commonjs/WebViewBridge/WebViewBridge.js +26 -7
  17. package/commonjs/WebViewBridge/WebViewBridge.js.map +1 -1
  18. package/commonjs/common/bridgelessUtils.js +29 -0
  19. package/commonjs/common/bridgelessUtils.js.map +1 -0
  20. package/module/Dropdown/CustomDropdown.js +4 -5
  21. package/module/Dropdown/CustomDropdown.js.map +1 -1
  22. package/module/Dropdown/Dropdown.js +4 -0
  23. package/module/Dropdown/Dropdown.js.map +1 -1
  24. package/module/Dropdown/InputDropdown.js +2 -0
  25. package/module/Dropdown/InputDropdown.js.map +1 -1
  26. package/module/Input/Input.js +129 -5
  27. package/module/Input/Input.js.map +1 -1
  28. package/module/Input/README.md +157 -0
  29. package/module/Layout/Layout.js +2 -0
  30. package/module/Layout/Layout.js.map +1 -1
  31. package/module/NumericInput/NumericInput.js +75 -6
  32. package/module/NumericInput/NumericInput.js.map +1 -1
  33. package/module/TextArea/TextArea.js +84 -4
  34. package/module/TextArea/TextArea.js.map +1 -1
  35. package/module/WebViewBridge/WebViewBridge.js +26 -7
  36. package/module/WebViewBridge/WebViewBridge.js.map +1 -1
  37. package/module/common/bridgelessUtils.js +24 -0
  38. package/module/common/bridgelessUtils.js.map +1 -0
  39. package/package.json +1 -1
  40. package/typescript/Dropdown/CustomDropdown.d.ts.map +1 -1
  41. package/typescript/Dropdown/Dropdown.d.ts.map +1 -1
  42. package/typescript/Dropdown/InputDropdown.d.ts.map +1 -1
  43. package/typescript/Input/Input.d.ts +6 -0
  44. package/typescript/Input/Input.d.ts.map +1 -1
  45. package/typescript/Layout/Layout.d.ts.map +1 -1
  46. package/typescript/NumericInput/NumericInput.d.ts +6 -0
  47. package/typescript/NumericInput/NumericInput.d.ts.map +1 -1
  48. package/typescript/TextArea/TextArea.d.ts +6 -0
  49. package/typescript/TextArea/TextArea.d.ts.map +1 -1
  50. package/typescript/WebViewBridge/WebViewBridge.d.ts.map +1 -1
  51. package/typescript/common/bridgelessUtils.d.ts +9 -0
  52. package/typescript/common/bridgelessUtils.d.ts.map +1 -0
@@ -0,0 +1,157 @@
1
+ # TapasInput 组件
2
+
3
+ 基于 `@rneui/themed` 的 Input 组件封装,提供了额外的功能和样式定制。
4
+
5
+ ## 功能特性
6
+
7
+ - ✅ 自定义标签位置和样式
8
+ - ✅ 支持必填标识
9
+ - ✅ **RN 0.77 Bridgeless 模式兼容性修复**(Android 平台)
10
+
11
+ ## RN 0.77 Bridgeless 模式兼容性
12
+
13
+ ### 问题说明
14
+
15
+ React Native 0.77 引入的 Bridgeless 模式在 Android 平台上可能导致输入框在点击后键盘弹出但立即失焦的问题。这是 RN 0.77 的已知问题。
16
+
17
+ ### 组件库修复
18
+
19
+ `TapasInput` 组件已经内置了针对 Bridgeless 模式的兼容性修复:
20
+
21
+ - **自动检测 Bridgeless 模式**:组件会自动检测是否运行在 Bridgeless 模式下
22
+ - **延迟 blur 处理**:在 Android 上延迟处理 blur 事件,给键盘足够时间显示
23
+ - **自动重新聚焦**:当键盘显示时,如果输入框失焦,会自动尝试重新聚焦
24
+ - **智能延迟时间**:Bridgeless 模式下使用更长的延迟时间(800ms)来适应新架构
25
+
26
+ ### 使用方式
27
+
28
+ 默认情况下,兼容性修复是**自动启用**的:
29
+
30
+ ```tsx
31
+ import { TapasInput } from '@beppla/tapas-ui';
32
+
33
+ <TapasInput
34
+ label="用户名"
35
+ placeholder="请输入用户名"
36
+ // enableBridgelessFix={true} // 默认启用,无需手动设置
37
+ />
38
+ ```
39
+
40
+ 如果遇到问题,可以尝试禁用修复:
41
+
42
+ ```tsx
43
+ <TapasInput
44
+ label="用户名"
45
+ enableBridgelessFix={false} // 禁用 Bridgeless 修复
46
+ />
47
+ ```
48
+
49
+ ### 应用端配置建议
50
+
51
+ 虽然组件库已经提供了修复,但应用端也可以进行一些配置来进一步优化体验:
52
+
53
+ #### 1. AndroidManifest.xml 配置
54
+
55
+ 在 `android/app/src/main/AndroidManifest.xml` 中,确保 `windowSoftInputMode` 设置为 `adjustResize`:
56
+
57
+ ```xml
58
+ <activity
59
+ android:name=".MainActivity"
60
+ android:windowSoftInputMode="adjustResize"
61
+ ...>
62
+ </activity>
63
+ ```
64
+
65
+ #### 2. ScrollView 配置
66
+
67
+ 如果输入框在 ScrollView 中,确保添加 `keyboardShouldPersistTaps`:
68
+
69
+ ```tsx
70
+ <ScrollView
71
+ keyboardShouldPersistTaps="handled"
72
+ keyboardDismissMode="none"
73
+ >
74
+ <TapasInput ... />
75
+ </ScrollView>
76
+ ```
77
+
78
+ #### 3. Layout 组件
79
+
80
+ 如果使用 `Layout` 组件,它已经自动配置了 `keyboardShouldPersistTaps`。
81
+
82
+ ## API
83
+
84
+ ### TapasInputProps
85
+
86
+ 继承自 `@rneui/themed` 的 `InputProps`,并添加了以下属性:
87
+
88
+ | 属性 | 类型 | 默认值 | 说明 |
89
+ |------|------|--------|------|
90
+ | `labelPosition` | `"top" \| "middle"` | `"top"` | 标签位置 |
91
+ | `defaultShowLabel` | `boolean` | `false` | 是否默认显示标签 |
92
+ | `labelBg` | `string` | - | 标签背景色 |
93
+ | `labelColor` | `string` | - | 标签文字颜色 |
94
+ | `required` | `boolean` | `false` | 是否必填(显示 * 标识) |
95
+ | `enableBridgelessFix` | `boolean` | `true` | 是否启用 RN 0.77 Bridgeless 模式兼容性修复 |
96
+
97
+ ## 示例
98
+
99
+ ### 基础用法
100
+
101
+ ```tsx
102
+ <TapasInput
103
+ label="用户名"
104
+ placeholder="请输入用户名"
105
+ value={username}
106
+ onChangeText={setUsername}
107
+ />
108
+ ```
109
+
110
+ ### 必填字段
111
+
112
+ ```tsx
113
+ <TapasInput
114
+ label="邮箱"
115
+ placeholder="请输入邮箱"
116
+ required
117
+ value={email}
118
+ onChangeText={setEmail}
119
+ />
120
+ ```
121
+
122
+ ### 自定义标签样式
123
+
124
+ ```tsx
125
+ <TapasInput
126
+ label="密码"
127
+ labelBg="#ffffff"
128
+ labelColor="#333333"
129
+ secureTextEntry
130
+ value={password}
131
+ onChangeText={setPassword}
132
+ />
133
+ ```
134
+
135
+ ### 禁用 Bridgeless 修复
136
+
137
+ ```tsx
138
+ <TapasInput
139
+ label="备注"
140
+ enableBridgelessFix={false}
141
+ value={notes}
142
+ onChangeText={setNotes}
143
+ />
144
+ ```
145
+
146
+ ## 注意事项
147
+
148
+ 1. **Bridgeless 模式检测**:组件会自动检测是否运行在 Bridgeless 模式下,无需手动配置
149
+ 2. **性能影响**:兼容性修复会添加一些延迟和监听器,但对性能影响很小
150
+ 3. **向后兼容**:修复不会影响非 Bridgeless 模式或 iOS 平台的正常使用
151
+ 4. **问题反馈**:如果遇到问题,可以尝试禁用 `enableBridgelessFix` 或联系组件库维护者
152
+
153
+ ## 相关链接
154
+
155
+ - [React Native 0.77 发布说明](https://reactnative.dev/blog)
156
+ - [Bridgeless 模式文档](https://reactnative.dev/docs/the-new-architecture/landing-page)
157
+
@@ -109,6 +109,8 @@ const Layout = ({
109
109
  style: [{
110
110
  height: '100%'
111
111
  }, Platform.OS !== 'web' ? styles.smallContainer : {}],
112
+ keyboardShouldPersistTaps: "handled",
113
+ keyboardDismissMode: "none",
112
114
  children: children
113
115
  })]
114
116
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","useState","View","Platform","ScrollView","Navigation","Drawer","Header","makeStyles","withTheme","Toast","ToastContext","DrawerContext","jsx","_jsx","jsxs","_jsxs","useStyles","theme","container","flex","height","overflow","backgroundColor","colors","background","position","smallContainer","marginTop","navContainer","zIndex","top","bottom","left","bodyContainer","flexDirection","bodyWebContainer","marginLeft","toastWebContainer","right","toastContainer","isWeb","OS","Layout","children","headerProps","navigationProps","navigationComponent","headerComponent","showNavigation","testID","props","styles","toastInfo","drawerInfo","navVisible","setNavVisible","style","onMaskPress","visible","showLeftIcon","onLeftIconPress"],"sourceRoot":"../../../components","sources":["Layout/Layout.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","useState","View","Platform","ScrollView","Navigation","Drawer","Header","makeStyles","withTheme","Toast","ToastContext","DrawerContext","jsx","_jsx","jsxs","_jsxs","useStyles","theme","container","flex","height","overflow","backgroundColor","colors","background","position","smallContainer","marginTop","navContainer","zIndex","top","bottom","left","bodyContainer","flexDirection","bodyWebContainer","marginLeft","toastWebContainer","right","toastContainer","isWeb","OS","Layout","children","headerProps","navigationProps","navigationComponent","headerComponent","showNavigation","testID","props","styles","toastInfo","drawerInfo","navVisible","setNavVisible","style","onMaskPress","visible","showLeftIcon","onLeftIconPress","keyboardShouldPersistTaps","keyboardDismissMode"],"sourceRoot":"../../../components","sources":["Layout/Layout.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useMemo } from 'react';
4
- import { TextInput, TouchableOpacity, View, Platform } from 'react-native';
3
+ import React, { useEffect, useMemo, useRef } from 'react';
4
+ import { TextInput, TouchableOpacity, View, Platform, Keyboard } from 'react-native';
5
5
  import CustomIcon from '../Icons/TapasIcon';
6
6
  import { makeStyles } from '@rneui/themed';
7
+ import { isBridgelessMode } from '../common/bridgelessUtils';
7
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const useStyle = makeStyles(theme => {
9
10
  return {
@@ -60,15 +61,22 @@ const useStyle = makeStyles(theme => {
60
61
  }
61
62
  };
62
63
  });
63
- const NumericInput = props => {
64
+ const NumericInput = ({
65
+ enableBridgelessFix = true,
66
+ ...props
67
+ }) => {
64
68
  const styles = useStyle();
65
69
  const [value, setValue] = React.useState(props.value || 0);
70
+ const inputRef = useRef(null);
71
+ const blurTimeoutRef = useRef(null);
72
+ const shouldRefocusRef = useRef(false);
73
+ const isBridgeless = useRef(isBridgelessMode());
66
74
  const isRemoveDisabled = useMemo(() => {
67
75
  return value <= 0 || value <= props?.min;
68
- }, [value]);
76
+ }, [value, props?.min]);
69
77
  const isAddDisabled = useMemo(() => {
70
78
  return value >= props?.max;
71
- }, [value]);
79
+ }, [value, props?.max]);
72
80
  const removeStyle = isRemoveDisabled ? styles.disabled : {};
73
81
  const addStyle = isAddDisabled ? styles.disabled : {};
74
82
  const handleRemove = () => {
@@ -92,6 +100,49 @@ const NumericInput = props => {
92
100
  useEffect(() => {
93
101
  setValue(props.value);
94
102
  }, [props.value]);
103
+
104
+ // Android 键盘监听:当键盘显示时,如果输入框失焦,尝试重新聚焦
105
+ // 这是针对 RN 0.77 Bridgeless 模式的兼容性修复
106
+ useEffect(() => {
107
+ if (Platform.OS !== 'android' || !enableBridgelessFix) {
108
+ return;
109
+ }
110
+ const keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', () => {
111
+ if (shouldRefocusRef.current) {
112
+ requestAnimationFrame(() => {
113
+ requestAnimationFrame(() => {
114
+ if (shouldRefocusRef.current && inputRef.current) {
115
+ try {
116
+ if (typeof inputRef.current.focus === 'function') {
117
+ inputRef.current.focus();
118
+ shouldRefocusRef.current = false;
119
+ } else {
120
+ shouldRefocusRef.current = false;
121
+ }
122
+ } catch (error) {
123
+ shouldRefocusRef.current = false;
124
+ }
125
+ }
126
+ });
127
+ });
128
+ }
129
+ });
130
+ const keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', () => {
131
+ shouldRefocusRef.current = false;
132
+ if (blurTimeoutRef.current) {
133
+ clearTimeout(blurTimeoutRef.current);
134
+ blurTimeoutRef.current = null;
135
+ }
136
+ });
137
+ return () => {
138
+ keyboardDidShowListener.remove();
139
+ keyboardDidHideListener.remove();
140
+ if (blurTimeoutRef.current) {
141
+ clearTimeout(blurTimeoutRef.current);
142
+ blurTimeoutRef.current = null;
143
+ }
144
+ };
145
+ }, [enableBridgelessFix]);
95
146
  return /*#__PURE__*/_jsxs(View, {
96
147
  style: styles.container,
97
148
  testID: props.testID,
@@ -117,13 +168,31 @@ const NumericInput = props => {
117
168
  }
118
169
  })
119
170
  }), /*#__PURE__*/_jsx(TextInput, {
171
+ ref: inputRef,
120
172
  style: [styles.input, props.inputStyle, props.disabled && styles.disabledColor],
121
173
  editable: !props.disabled,
122
174
  keyboardType: "numeric",
123
175
  value: (value || 0).toString(),
124
176
  onChangeText: handleChange,
125
177
  onBlur: () => {
126
- props.onChange && props.onChange(value);
178
+ if (Platform.OS === 'android' && enableBridgelessFix) {
179
+ shouldRefocusRef.current = true;
180
+ if (blurTimeoutRef.current) {
181
+ clearTimeout(blurTimeoutRef.current);
182
+ }
183
+ const delay = isBridgeless.current ? 800 : 500;
184
+ blurTimeoutRef.current = setTimeout(() => {
185
+ if (!shouldRefocusRef.current) {
186
+ blurTimeoutRef.current = null;
187
+ return;
188
+ }
189
+ props.onChange && props.onChange(value);
190
+ shouldRefocusRef.current = false;
191
+ blurTimeoutRef.current = null;
192
+ }, delay);
193
+ } else {
194
+ props.onChange && props.onChange(value);
195
+ }
127
196
  },
128
197
  blurOnSubmit: Platform.OS === 'android' ? false : undefined
129
198
  }), isAddDisabled || props.disabled ? /*#__PURE__*/_jsx(CustomIcon, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","TextInput","TouchableOpacity","View","Platform","CustomIcon","makeStyles","jsx","_jsx","jsxs","_jsxs","useStyle","theme","container","backgroundColor","colors","grey4","borderRadius","radius","rounded","paddingHorizontal","minWidth","height","display","flexDirection","justifyContent","alignItems","input","width","fontFamily","fonts","fontSize","sizeM","fontWeight","weightM","color","colorTextSecondary","textAlign","disabled","grey2","iconWrap","iconAddWrap","primary","iconAddWrapDisabled","colorSurface8","disabledColor","colorTextPlaceholder","iconRemoveWrapDisabled","iconRemove","secondary","iconAdd","white","NumericInput","props","styles","value","setValue","useState","isRemoveDisabled","min","isAddDisabled","max","removeStyle","addStyle","handleRemove","onReduce","tempValue","onChange","handleAdd","onAdd","handleChange","text","style","testID","children","name","size","onPress","inputStyle","editable","keyboardType","toString","onChangeText","onBlur","blurOnSubmit","OS","undefined"],"sourceRoot":"../../../components","sources":["NumericInput/NumericInput.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAOC,SAAS,EAAEC,OAAO,QAAO,OAAO;AACnD,SAAmBC,SAAS,EAAEC,gBAAgB,EAAEC,IAAI,EAAaC,QAAQ,QAAO,cAAc;AAC9F,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,SAAQC,UAAU,QAAO,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACzC,MAAMC,QAAQ,GAAGL,UAAU,CAAEM,KAAK,IAAK;EACrC,OAAO;IACLC,SAAS,EAAE;MACTC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,KAAK;MACnCC,YAAY,EAAEL,KAAK,CAACM,MAAM,CAACC,OAAO;MAClCC,iBAAiB,EAAE,CAAC;MACpBC,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAE,EAAE;MACVC,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,KAAK;MACpBC,cAAc,EAAE,eAAe;MAC/BC,UAAU,EAAE;IACd,CAAC;IACDC,KAAK,EAAE;MACLC,KAAK,EAAE,EAAE;MACTN,MAAM,EAAE,EAAE;MACVO,UAAU,EAAEjB,KAAK,CAACkB,KAAK,CAACD,UAAU;MAClCE,QAAQ,EAAEnB,KAAK,CAACkB,KAAK,CAACE,KAAK;MAC3BC,UAAU,EAAErB,KAAK,CAACkB,KAAK,CAACI,OAAO;MAC/BC,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAACqB,kBAAkB;MACtC;MACAC,SAAS,EAAE;IACb,CAAC;IACDC,QAAQ,EAAE;MACRH,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAACwB;IACtB,CAAC;IACDC,QAAQ,EAAE;MACRjB,OAAO,EAAE,MAAM;MACfG,UAAU,EAAE,QAAQ;MACpBD,cAAc,EAAE,QAAQ;MACxBG,KAAK,EAAE,EAAE;MACTN,MAAM,EAAE;IACV,CAAC;IACDmB,WAAW,EAAE;MACX3B,eAAe,EAAEF,KAAK,CAACG,MAAM,CAAC2B,OAAO;MACrCzB,YAAY,EAAE;IAChB,CAAC;IACD0B,mBAAmB,EAAE;MACnB7B,eAAe,EAAEF,KAAK,CAACG,MAAM,CAAC6B,aAAa;MAE3C3B,YAAY,EAAE;IAChB,CAAC;IACD4B,aAAa,EAAE;MACbV,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAAC+B;IACtB,CAAC;IACDC,sBAAsB,EAAE;MACtBjC,eAAe,EAAE;IACnB,CAAC;IACDkC,UAAU,EAAE;MACVb,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAACkC;IACtB,CAAC;IACDC,OAAO,EAAE;MACPf,KAAK,EAAEvB,KAAK,CAACG,MAAM,CAACoC;IACtB;EACF,CAAC;AACH,CAAC,CAAC;AAaF,MAAMC,YAAuB,GAAIC,KAAK,IAAK;EACzC,MAAMC,MAAM,GAAG3C,QAAQ,CAAC,CAAC;EACzB,MAAM,CAAC4C,KAAK,EAAEC,QAAQ,CAAC,GAAG1D,KAAK,CAAC2D,QAAQ,CAACJ,KAAK,CAACE,KAAK,IAAI,CAAC,CAAC;EAC1D,MAAMG,gBAAgB,GAAG1D,OAAO,CAAC,MAAM;IACrC,OAAOuD,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAIF,KAAK,EAAEM,GAAG;EAC1C,CAAC,EAAE,CAACJ,KAAK,CAAC,CAAC;EACX,MAAMK,aAAa,GAAG5D,OAAO,CAAC,MAAM;IAClC,OAAOuD,KAAK,IAAIF,KAAK,EAAEQ,GAAG;EAC5B,CAAC,EAAE,CAACN,KAAK,CAAC,CAAC;EACX,MAAMO,WAAW,GAAGJ,gBAAgB,GAAGJ,MAAM,CAAChB,QAAQ,GAAG,CAAC,CAAC;EAC3D,MAAMyB,QAAQ,GAAGH,aAAa,GAAGN,MAAM,CAAChB,QAAQ,GAAG,CAAC,CAAC;EAErD,MAAM0B,YAAY,GAAGA,CAAA,KAAM;IACzBX,KAAK,CAACY,QAAQ,IAAIZ,KAAK,CAACY,QAAQ,CAAC,CAAC;IAClC,IAAIP,gBAAgB,EAAE;IACtB,MAAMQ,SAAS,GAAG,CAACX,KAAK,GAAG,CAAC;IAC5BC,QAAQ,CAACU,SAAS,CAAC;IACnBb,KAAK,CAACc,QAAQ,IAAId,KAAK,CAACc,QAAQ,CAACD,SAAS,CAAC;EAC7C,CAAC;EACD,MAAME,SAAS,GAAGA,CAAA,KAAM;IACtBf,KAAK,CAACgB,KAAK,IAAIhB,KAAK,CAACgB,KAAK,CAAC,CAAC;IAC5B,IAAIT,aAAa,EAAE;IACnB,MAAMM,SAAS,GAAG,CAACX,KAAK,GAAG,CAAC;IAC5BC,QAAQ,CAACU,SAAS,CAAC;IACnBb,KAAK,CAACc,QAAQ,IAAId,KAAK,CAACc,QAAQ,CAACD,SAAS,CAAC;EAC7C,CAAC;EAED,MAAMI,YAAY,GAAIC,IAAS,IAAK;IAClC,IAAIlB,KAAK,CAACQ,GAAG,IAAI,CAACU,IAAI,GAAGlB,KAAK,CAACQ,GAAG,EAAE;IACpCL,QAAQ,CAACe,IAAI,CAAC;EAChB,CAAC;EAEDxE,SAAS,CAAC,MAAM;IACdyD,QAAQ,CAACH,KAAK,CAACE,KAAK,CAAC;EACvB,CAAC,EAAE,CAACF,KAAK,CAACE,KAAK,CAAC,CAAC;EAEjB,oBACE7C,KAAA,CAACP,IAAI;IAACqE,KAAK,EAAElB,MAAM,CAACzC,SAAU;IAAC4D,MAAM,EAAEpB,KAAK,CAACoB,MAAO;IAAAC,QAAA,GACjDrB,KAAK,CAACf,QAAQ,IAAIoB,gBAAgB,gBACjClD,IAAA,CAACH,UAAU;MACTsE,IAAI,EAAC,QAAQ;MACbC,IAAI,EAAE,EAAG;MACTJ,KAAK,EAAE;QACL,GAAGlB,MAAM,CAACd,QAAQ;QAClB,GAAGc,MAAM,CAACT,aAAa;QACvB,GAAGS,MAAM,CAACP,sBAAsB;QAChC,GAAGe;MACL;IAAE,CACH,CAAC,gBAEFtD,IAAA,CAACN,gBAAgB;MAACsE,KAAK,EAAElB,MAAM,CAACd,QAAS;MAACqC,OAAO,EAAEb,YAAa;MAAAU,QAAA,eAC9DlE,IAAA,CAACH,UAAU;QACTsE,IAAI,EAAC,QAAQ;QACbC,IAAI,EAAE,EAAG;QACTJ,KAAK,EAAE;UAAC,GAAGlB,MAAM,CAACd,QAAQ;UAAE,GAAGc,MAAM,CAACN,UAAU;UAAE,GAAGc;QAAW;MAAE,CACnE;IAAC,CACc,CACnB,eACDtD,IAAA,CAACP,SAAS;MACRuE,KAAK,EAAE,CAAClB,MAAM,CAAC3B,KAAK,EAAE0B,KAAK,CAACyB,UAAU,EAAEzB,KAAK,CAACf,QAAQ,IAAIgB,MAAM,CAACT,aAAa,CAAE;MAChFkC,QAAQ,EAAE,CAAC1B,KAAK,CAACf,QAAS;MAC1B0C,YAAY,EAAC,SAAS;MACtBzB,KAAK,EAAE,CAACA,KAAK,IAAI,CAAC,EAAE0B,QAAQ,CAAC,CAAE;MAC/BC,YAAY,EAAEZ,YAAa;MAC3Ba,MAAM,EAAEA,CAAA,KAAM;QACZ9B,KAAK,CAACc,QAAQ,IAAId,KAAK,CAACc,QAAQ,CAACZ,KAAK,CAAC;MACzC,CAAE;MACF6B,YAAY,EAAEhF,QAAQ,CAACiF,EAAE,KAAK,SAAS,GAAG,KAAK,GAAGC;IAAU,CAC7D,CAAC,EACD1B,aAAa,IAAIP,KAAK,CAACf,QAAQ,gBAC9B9B,IAAA,CAACH,UAAU;MACTsE,IAAI,EAAC,KAAK;MACVC,IAAI,EAAE,EAAG;MACTJ,KAAK,EAAE;QACL,GAAGlB,MAAM,CAACd,QAAQ;QAClB,GAAGuB,QAAQ;QACX,GAAGT,MAAM,CAACT,aAAa;QACvB,GAAGS,MAAM,CAACX;MACZ;IAAE,CACH,CAAC,gBAEFnC,IAAA,CAACN,gBAAgB;MAAC2E,OAAO,EAAET,SAAU;MAACI,KAAK,EAAE,CAAClB,MAAM,CAACd,QAAQ,EAAEc,MAAM,CAACb,WAAW,CAAE;MAAAiC,QAAA,eACjFlE,IAAA,CAACH,UAAU;QAACsE,IAAI,EAAC,KAAK;QAACC,IAAI,EAAE,EAAG;QAACJ,KAAK,EAAE;UAAC,GAAGlB,MAAM,CAACJ,OAAO;UAAE,GAAGa;QAAQ;MAAE,CAAE;IAAC,CAC5D,CACnB;EAAA,CACG,CAAC;AAEX,CAAC;AAED,eAAeX,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useRef","TextInput","TouchableOpacity","View","Platform","Keyboard","CustomIcon","makeStyles","isBridgelessMode","jsx","_jsx","jsxs","_jsxs","useStyle","theme","container","backgroundColor","colors","grey4","borderRadius","radius","rounded","paddingHorizontal","minWidth","height","display","flexDirection","justifyContent","alignItems","input","width","fontFamily","fonts","fontSize","sizeM","fontWeight","weightM","color","colorTextSecondary","textAlign","disabled","grey2","iconWrap","iconAddWrap","primary","iconAddWrapDisabled","colorSurface8","disabledColor","colorTextPlaceholder","iconRemoveWrapDisabled","iconRemove","secondary","iconAdd","white","NumericInput","enableBridgelessFix","props","styles","value","setValue","useState","inputRef","blurTimeoutRef","shouldRefocusRef","isBridgeless","isRemoveDisabled","min","isAddDisabled","max","removeStyle","addStyle","handleRemove","onReduce","tempValue","onChange","handleAdd","onAdd","handleChange","text","OS","keyboardDidShowListener","addListener","current","requestAnimationFrame","focus","error","keyboardDidHideListener","clearTimeout","remove","style","testID","children","name","size","onPress","ref","inputStyle","editable","keyboardType","toString","onChangeText","onBlur","delay","setTimeout","blurOnSubmit","undefined"],"sourceRoot":"../../../components","sources":["NumericInput/NumericInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useEffect, useRef, useState, useCallback, useMemo } from "react";
4
- import { View, Text, TextInput, Pressable, Animated, Platform } from "react-native";
4
+ import { View, Text, TextInput, Pressable, Animated, Platform, Keyboard } from "react-native";
5
5
  import { withTheme, makeStyles, useTheme } from "@rneui/themed";
6
6
  import TapasIcon from "../Icons/TapasIcon";
7
+ import { isBridgelessMode } from "../common/bridgelessUtils";
7
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const TextArea = ({
9
10
  height = 88,
@@ -19,7 +20,8 @@ const TextArea = ({
19
20
  backgroundColor,
20
21
  state = "normal",
21
22
  disabled,
22
- stateMsg
23
+ stateMsg,
24
+ enableBridgelessFix = true
23
25
  }) => {
24
26
  const theme = useTheme();
25
27
  const styles = useStyles();
@@ -27,6 +29,10 @@ const TextArea = ({
27
29
  const [focus, setFocus] = useState(false);
28
30
  const [top, setTop] = useState(18);
29
31
  const topAnim = useRef(new Animated.Value(18)).current;
32
+ const inputRef = useRef(null);
33
+ const blurTimeoutRef = useRef(null);
34
+ const shouldRefocusRef = useRef(false);
35
+ const isBridgeless = useRef(isBridgelessMode());
30
36
  useEffect(() => {
31
37
  const start = !text && !focus ? 0 : 18;
32
38
  const target = !text && !focus ? 18 : 0;
@@ -42,6 +48,49 @@ const TextArea = ({
42
48
  useEffect(() => {
43
49
  setText(value || "");
44
50
  }, [value]);
51
+
52
+ // Android 键盘监听:当键盘显示时,如果输入框失焦,尝试重新聚焦
53
+ // 这是针对 RN 0.77 Bridgeless 模式的兼容性修复
54
+ useEffect(() => {
55
+ if (Platform.OS !== 'android' || !enableBridgelessFix) {
56
+ return;
57
+ }
58
+ const keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', () => {
59
+ if (shouldRefocusRef.current) {
60
+ requestAnimationFrame(() => {
61
+ requestAnimationFrame(() => {
62
+ if (shouldRefocusRef.current && inputRef.current) {
63
+ try {
64
+ if (typeof inputRef.current.focus === 'function') {
65
+ inputRef.current.focus();
66
+ shouldRefocusRef.current = false;
67
+ } else {
68
+ shouldRefocusRef.current = false;
69
+ }
70
+ } catch (error) {
71
+ shouldRefocusRef.current = false;
72
+ }
73
+ }
74
+ });
75
+ });
76
+ }
77
+ });
78
+ const keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', () => {
79
+ shouldRefocusRef.current = false;
80
+ if (blurTimeoutRef.current) {
81
+ clearTimeout(blurTimeoutRef.current);
82
+ blurTimeoutRef.current = null;
83
+ }
84
+ });
85
+ return () => {
86
+ keyboardDidShowListener.remove();
87
+ keyboardDidHideListener.remove();
88
+ if (blurTimeoutRef.current) {
89
+ clearTimeout(blurTimeoutRef.current);
90
+ blurTimeoutRef.current = null;
91
+ }
92
+ };
93
+ }, [enableBridgelessFix]);
45
94
  const handleChangeText = useCallback(newText => {
46
95
  setText(newText);
47
96
  onChangeText?.(newText);
@@ -50,11 +99,41 @@ const TextArea = ({
50
99
  handleChangeText("");
51
100
  }, [handleChangeText]);
52
101
  const handleFocus = useCallback(() => {
102
+ // 清除可能存在的 blur 延迟
103
+ if (blurTimeoutRef.current) {
104
+ clearTimeout(blurTimeoutRef.current);
105
+ blurTimeoutRef.current = null;
106
+ }
107
+ shouldRefocusRef.current = false;
53
108
  setFocus(true);
54
109
  }, []);
55
110
  const handleBlur = useCallback(() => {
56
- setFocus(false);
57
- }, []);
111
+ // 在 Android 上延迟处理 blur,避免键盘弹出时立即失焦
112
+ // React Native 0.77 Bridgeless 模式的已知问题修复
113
+ if (Platform.OS === 'android' && enableBridgelessFix) {
114
+ // 标记可能需要重新聚焦
115
+ shouldRefocusRef.current = true;
116
+
117
+ // 清除之前的延迟
118
+ if (blurTimeoutRef.current) {
119
+ clearTimeout(blurTimeoutRef.current);
120
+ }
121
+
122
+ // 延迟处理 blur,给键盘足够时间显示
123
+ const delay = isBridgeless.current ? 800 : 500;
124
+ blurTimeoutRef.current = setTimeout(() => {
125
+ if (!shouldRefocusRef.current) {
126
+ blurTimeoutRef.current = null;
127
+ return;
128
+ }
129
+ setFocus(false);
130
+ shouldRefocusRef.current = false;
131
+ blurTimeoutRef.current = null;
132
+ }, delay);
133
+ } else {
134
+ setFocus(false);
135
+ }
136
+ }, [enableBridgelessFix]);
58
137
  const containerHeight = useMemo(() => Math.max(height, numberOfLines * 22) + (label ? 7 : 0) + (showCount ? 15 : 0), [height, numberOfLines, label, showCount]);
59
138
  const textAreaHeight = useMemo(() => Math.max(height, numberOfLines * 22), [height, numberOfLines]);
60
139
  const labelStyle = useMemo(() => [styles.label, {
@@ -108,6 +187,7 @@ const TextArea = ({
108
187
  name: "clear-all"
109
188
  })
110
189
  }) : null, /*#__PURE__*/_jsx(TextInput, {
190
+ ref: inputRef,
111
191
  editable: !disabled,
112
192
  style: textAreaStyle,
113
193
  onFocus: handleFocus,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","useCallback","useMemo","View","Text","TextInput","Pressable","Animated","Platform","withTheme","makeStyles","useTheme","TapasIcon","jsx","_jsx","jsxs","_jsxs","TextArea","height","numberOfLines","label","value","placeholder","showCount","showClearBtn","required","maxCount","onChangeText","backgroundColor","state","disabled","stateMsg","theme","styles","useStyles","text","setText","focus","setFocus","top","setTop","topAnim","Value","current","start","target","setValue","timing","toValue","duration","useNativeDriver","handleChangeText","newText","handleClear","handleFocus","handleBlur","containerHeight","Math","max","textAreaHeight","labelStyle","colors","white","labelTextStyle","label_text","color","primary","error","fontSize","secondary","textAreaStyle","textArea","paddingRight","borderColor","stateMsgStyle","style","con","children","ellipsizeMode","clearBtnCon","onPress","size","name","editable","onFocus","onBlur","multiline","undefined","blurOnSubmit","OS","count","count_text","length","display","flexDirection","overflow","width","position","paddingTop","paddingBottom","paddingLeft","marginTop","grey2","borderWidth","borderRadius","textAlignVertical","select","web","left","zIndex","justifyContent","flexGrow","marginRight","fontWeight","right","alignItems","marginLeft"],"sourceRoot":"../../../components","sources":["TextArea/TextArea.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","useCallback","useMemo","View","Text","TextInput","Pressable","Animated","Platform","Keyboard","withTheme","makeStyles","useTheme","TapasIcon","isBridgelessMode","jsx","_jsx","jsxs","_jsxs","TextArea","height","numberOfLines","label","value","placeholder","showCount","showClearBtn","required","maxCount","onChangeText","backgroundColor","state","disabled","stateMsg","enableBridgelessFix","theme","styles","useStyles","text","setText","focus","setFocus","top","setTop","topAnim","Value","current","inputRef","blurTimeoutRef","shouldRefocusRef","isBridgeless","start","target","setValue","timing","toValue","duration","useNativeDriver","OS","keyboardDidShowListener","addListener","requestAnimationFrame","error","keyboardDidHideListener","clearTimeout","remove","handleChangeText","newText","handleClear","handleFocus","handleBlur","delay","setTimeout","containerHeight","Math","max","textAreaHeight","labelStyle","colors","white","labelTextStyle","label_text","color","primary","fontSize","secondary","textAreaStyle","textArea","paddingRight","borderColor","stateMsgStyle","style","con","children","ellipsizeMode","clearBtnCon","onPress","size","name","ref","editable","onFocus","onBlur","multiline","undefined","blurOnSubmit","count","count_text","length","display","flexDirection","overflow","width","position","paddingTop","paddingBottom","paddingLeft","marginTop","grey2","borderWidth","borderRadius","textAlignVertical","select","web","left","zIndex","justifyContent","flexGrow","marginRight","fontWeight","right","alignItems","marginLeft"],"sourceRoot":"../../../components","sources":["TextArea/TextArea.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAChF,SACEC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,QACH,cAAc;AACrB,SAASC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,eAAe;AAC/D,OAAOC,SAAS,MAAM,oBAAoB;AAC1C,SAASC,gBAAgB,QAAQ,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAyB7D,MAAMC,QAAiC,GAAGA,CAAC;EACzCC,MAAM,GAAG,EAAE;EACXC,aAAa,GAAG,CAAC;EACjBC,KAAK;EACLC,KAAK;EACLC,WAAW;EACXC,SAAS,GAAG,KAAK;EACjBC,YAAY,GAAG,KAAK;EACpBC,QAAQ,GAAG,KAAK;EAChBC,QAAQ,GAAG,GAAG;EACdC,YAAY;EACZC,eAAe;EACfC,KAAK,GAAG,QAAQ;EAChBC,QAAQ;EACRC,QAAQ;EACRC,mBAAmB,GAAG;AACxB,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAGvB,QAAQ,CAAC,CAAC;EACxB,MAAMwB,MAAM,GAAGC,SAAS,CAAC,CAAC;EAC1B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGvC,QAAQ,CAACuB,KAAK,IAAI,EAAE,CAAC;EAC7C,MAAM,CAACiB,KAAK,EAAEC,QAAQ,CAAC,GAAGzC,QAAQ,CAAC,KAAK,CAAC;EACzC,MAAM,CAAC0C,GAAG,EAAEC,MAAM,CAAC,GAAG3C,QAAQ,CAAC,EAAE,CAAC;EAElC,MAAM4C,OAAO,GAAG7C,MAAM,CAAC,IAAIQ,QAAQ,CAACsC,KAAK,CAAC,EAAE,CAAC,CAAC,CAACC,OAAO;EACtD,MAAMC,QAAQ,GAAGhD,MAAM,CAAY,IAAI,CAAC;EACxC,MAAMiD,cAAc,GAAGjD,MAAM,CAAwB,IAAI,CAAC;EAC1D,MAAMkD,gBAAgB,GAAGlD,MAAM,CAAC,KAAK,CAAC;EACtC,MAAMmD,YAAY,GAAGnD,MAAM,CAACe,gBAAgB,CAAC,CAAC,CAAC;EAE/ChB,SAAS,CAAC,MAAM;IACd,MAAMqD,KAAK,GAAG,CAACb,IAAI,IAAI,CAACE,KAAK,GAAG,CAAC,GAAG,EAAE;IACtC,MAAMY,MAAM,GAAG,CAACd,IAAI,IAAI,CAACE,KAAK,GAAG,EAAE,GAAG,CAAC;IACvC,IAAIE,GAAG,KAAKU,MAAM,EAAE;IACpBT,MAAM,CAACS,MAAM,CAAC;IACdR,OAAO,CAACS,QAAQ,CAACF,KAAK,CAAC;IACvB5C,QAAQ,CAAC+C,MAAM,CAACV,OAAO,EAAE;MACvBW,OAAO,EAAEH,MAAM;MACfI,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACN,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACb,IAAI,EAAEE,KAAK,EAAEE,GAAG,EAAEE,OAAO,CAAC,CAAC;EAE/B9C,SAAS,CAAC,MAAM;IACdyC,OAAO,CAAChB,KAAK,IAAI,EAAE,CAAC;EACtB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;;EAEX;EACA;EACAzB,SAAS,CAAC,MAAM;IACd,IAAIU,QAAQ,CAACkD,EAAE,KAAK,SAAS,IAAI,CAACxB,mBAAmB,EAAE;MACrD;IACF;IAEA,MAAMyB,uBAAuB,GAAGlD,QAAQ,CAACmD,WAAW,CAAC,iBAAiB,EAAE,MAAM;MAC5E,IAAIX,gBAAgB,CAACH,OAAO,EAAE;QAC5Be,qBAAqB,CAAC,MAAM;UAC1BA,qBAAqB,CAAC,MAAM;YAC1B,IAAIZ,gBAAgB,CAACH,OAAO,IAAIC,QAAQ,CAACD,OAAO,EAAE;cAChD,IAAI;gBACF,IAAI,OAAOC,QAAQ,CAACD,OAAO,CAACN,KAAK,KAAK,UAAU,EAAE;kBAChDO,QAAQ,CAACD,OAAO,CAACN,KAAK,CAAC,CAAC;kBACxBS,gBAAgB,CAACH,OAAO,GAAG,KAAK;gBAClC,CAAC,MAAM;kBACLG,gBAAgB,CAACH,OAAO,GAAG,KAAK;gBAClC;cACF,CAAC,CAAC,OAAOgB,KAAK,EAAE;gBACdb,gBAAgB,CAACH,OAAO,GAAG,KAAK;cAClC;YACF;UACF,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,MAAMiB,uBAAuB,GAAGtD,QAAQ,CAACmD,WAAW,CAAC,iBAAiB,EAAE,MAAM;MAC5EX,gBAAgB,CAACH,OAAO,GAAG,KAAK;MAChC,IAAIE,cAAc,CAACF,OAAO,EAAE;QAC1BkB,YAAY,CAAChB,cAAc,CAACF,OAAO,CAAC;QACpCE,cAAc,CAACF,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXa,uBAAuB,CAACM,MAAM,CAAC,CAAC;MAChCF,uBAAuB,CAACE,MAAM,CAAC,CAAC;MAChC,IAAIjB,cAAc,CAACF,OAAO,EAAE;QAC1BkB,YAAY,CAAChB,cAAc,CAACF,OAAO,CAAC;QACpCE,cAAc,CAACF,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC;EACH,CAAC,EAAE,CAACZ,mBAAmB,CAAC,CAAC;EAEzB,MAAMgC,gBAAgB,GAAGjE,WAAW,CAAEkE,OAAe,IAAK;IACxD5B,OAAO,CAAC4B,OAAO,CAAC;IAChBtC,YAAY,GAAGsC,OAAO,CAAC;EACzB,CAAC,EAAE,CAACtC,YAAY,CAAC,CAAC;EAElB,MAAMuC,WAAW,GAAGnE,WAAW,CAAC,MAAM;IACpCiE,gBAAgB,CAAC,EAAE,CAAC;EACtB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtB,MAAMG,WAAW,GAAGpE,WAAW,CAAC,MAAM;IACpC;IACA,IAAI+C,cAAc,CAACF,OAAO,EAAE;MAC1BkB,YAAY,CAAChB,cAAc,CAACF,OAAO,CAAC;MACpCE,cAAc,CAACF,OAAO,GAAG,IAAI;IAC/B;IACAG,gBAAgB,CAACH,OAAO,GAAG,KAAK;IAChCL,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM6B,UAAU,GAAGrE,WAAW,CAAC,MAAM;IACnC;IACA;IACA,IAAIO,QAAQ,CAACkD,EAAE,KAAK,SAAS,IAAIxB,mBAAmB,EAAE;MACpD;MACAe,gBAAgB,CAACH,OAAO,GAAG,IAAI;;MAE/B;MACA,IAAIE,cAAc,CAACF,OAAO,EAAE;QAC1BkB,YAAY,CAAChB,cAAc,CAACF,OAAO,CAAC;MACtC;;MAEA;MACA,MAAMyB,KAAK,GAAGrB,YAAY,CAACJ,OAAO,GAAG,GAAG,GAAG,GAAG;MAC9CE,cAAc,CAACF,OAAO,GAAG0B,UAAU,CAAC,MAAM;QACxC,IAAI,CAACvB,gBAAgB,CAACH,OAAO,EAAE;UAC7BE,cAAc,CAACF,OAAO,GAAG,IAAI;UAC7B;QACF;QAEAL,QAAQ,CAAC,KAAK,CAAC;QACfQ,gBAAgB,CAACH,OAAO,GAAG,KAAK;QAChCE,cAAc,CAACF,OAAO,GAAG,IAAI;MAC/B,CAAC,EAAEyB,KAAK,CAAC;IACX,CAAC,MAAM;MACL9B,QAAQ,CAAC,KAAK,CAAC;IACjB;EACF,CAAC,EAAE,CAACP,mBAAmB,CAAC,CAAC;EAEzB,MAAMuC,eAAe,GAAGvE,OAAO,CAAC,MAC9BwE,IAAI,CAACC,GAAG,CAACvD,MAAM,EAAEC,aAAa,GAAG,EAAE,CAAC,IACnCC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,IACdG,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,EACpB,CAACL,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAEG,SAAS,CAAC,CAAC;EAE5C,MAAMmD,cAAc,GAAG1E,OAAO,CAAC,MAC7BwE,IAAI,CAACC,GAAG,CAACvD,MAAM,EAAEC,aAAa,GAAG,EAAE,CAAC,EACpC,CAACD,MAAM,EAAEC,aAAa,CAAC,CAAC;EAE1B,MAAMwD,UAAU,GAAG3E,OAAO,CAAC,MAAM,CAC/BkC,MAAM,CAACd,KAAK,EACZ;IAAEoB,GAAG,EAAEE;EAAQ,CAAC,EAChB;IAAEd,eAAe,EAAEA,eAAe,IAAIK,KAAK,CAACA,KAAK,CAAC2C,MAAM,CAACC;EAAM,CAAC,CACjE,EAAE,CAAC3C,MAAM,CAACd,KAAK,EAAEsB,OAAO,EAAEd,eAAe,EAAEK,KAAK,CAAC,CAAC;EAEnD,MAAM6C,cAAc,GAAG9E,OAAO,CAAC,MAAM,CACnCkC,MAAM,CAAC6C,UAAU,EACjBzC,KAAK,IAAI;IAAE0C,KAAK,EAAE/C,KAAK,CAACA,KAAK,CAAC2C,MAAM,CAACK;EAAQ,CAAC,EAC9CpD,KAAK,KAAK,OAAO,IAAI;IAAEmD,KAAK,EAAE/C,KAAK,CAACA,KAAK,CAAC2C,MAAM,CAAChB;EAAM,CAAC,EACxD,CAACxB,IAAI,IAAI,CAACE,KAAK,IAAI;IAAE4C,QAAQ,EAAE,EAAE;IAAEF,KAAK,EAAE/C,KAAK,CAACA,KAAK,CAAC2C,MAAM,CAACO;EAAU,CAAC,CACzE,EAAE,CAACjD,MAAM,CAAC6C,UAAU,EAAEzC,KAAK,EAAET,KAAK,EAAEO,IAAI,EAAEH,KAAK,CAAC,CAAC;EAElD,MAAMmD,aAAa,GAAGpF,OAAO,CAAC,OAAO;IACnC,GAAGkC,MAAM,CAACmD,QAAQ;IAClBnE,MAAM,EAAEwD,cAAc;IACtB,IAAIlD,YAAY,IAAIY,IAAI,IAAI;MAAEkD,YAAY,EAAE;IAAG,CAAC,CAAC;IACjD,IAAIhD,KAAK,IAAIJ,MAAM,CAACI,KAAK,CAAC;IAC1B,IAAIT,KAAK,KAAK,OAAO,IAAI;MAAE0D,WAAW,EAAEtD,KAAK,CAACA,KAAK,CAAC2C,MAAM,CAAChB;IAAM,CAAC;EACpE,CAAC,CAAC,EAAE,CAAC1B,MAAM,CAACmD,QAAQ,EAAEnD,MAAM,CAACI,KAAK,EAAEoC,cAAc,EAAElD,YAAY,EAAEY,IAAI,EAAEE,KAAK,EAAET,KAAK,EAAEI,KAAK,CAAC,CAAC;EAE7F,MAAMuD,aAAa,GAAGxF,OAAO,CAAC,MAAM,CAClCkC,MAAM,CAACH,QAAQ,EACfF,KAAK,KAAK,OAAO,IAAI;IAAEmD,KAAK,EAAE/C,KAAK,CAACA,KAAK,CAAC2C,MAAM,CAAChB;EAAM,CAAC,CACzD,EAAE,CAAC1B,MAAM,CAACH,QAAQ,EAAEF,KAAK,EAAEI,KAAK,CAAC,CAAC;EAEnC,oBACEjB,KAAA,CAACf,IAAI;IAACwF,KAAK,EAAE,CAACvD,MAAM,CAACwD,GAAG,EAAE;MAAExE,MAAM,EAAEqD;IAAgB,CAAC,CAAE;IAAAoB,QAAA,gBACrD3E,KAAA,CAACX,QAAQ,CAACJ,IAAI;MAACwF,KAAK,EAAEd,UAAW;MAAAgB,QAAA,gBAC/B7E,IAAA,CAACZ,IAAI;QACHuF,KAAK,EAAEX,cAAe;QACtB3D,aAAa,EAAE,CAAE;QACjByE,aAAa,EAAC,MAAM;QAAAD,QAAA,EAEnB,CAACvD,IAAI,IAAI,CAACE,KAAK,GAAGhB,WAAW,IAAIF,KAAK,GAAGA;MAAK,CAC3C,CAAC,EACNK,QAAQ,iBAAIX,IAAA,CAACZ,IAAI;QAACuF,KAAK,EAAEvD,MAAM,CAACT,QAAS;QAAAkE,QAAA,EAAC;MAAC,CAAM,CAAC;IAAA,CACtC,CAAC,EACfnE,YAAY,IAAIY,IAAI,gBACnBtB,IAAA,CAACV,SAAS;MAACqF,KAAK,EAAEvD,MAAM,CAAC2D,WAAY;MAACC,OAAO,EAAE5B,WAAY;MAAAyB,QAAA,eACzD7E,IAAA,CAACH,SAAS;QACRoF,IAAI,EAAE,EAAG;QACTf,KAAK,EAAE/C,KAAK,CAACA,KAAK,CAAC2C,MAAM,CAACO,SAAU;QACpCa,IAAI,EAAC;MAAW,CACjB;IAAC,CACO,CAAC,GACV,IAAI,eACRlF,IAAA,CAACX,SAAS;MACR8F,GAAG,EAAEpD,QAAS;MACdqD,QAAQ,EAAE,CAACpE,QAAS;MACpB2D,KAAK,EAAEL,aAAc;MACrBe,OAAO,EAAEhC,WAAY;MACrBiC,MAAM,EAAEhC,UAAW;MACnB/C,KAAK,EAAEe,IAAK;MACZT,YAAY,EAAEqC,gBAAiB;MAC/BqC,SAAS,EAAE,IAAK;MAChBlF,aAAa,EAAEA,aAAc;MAC7BG,WAAW,EAAE,CAACF,KAAK,GAAGE,WAAW,GAAGgF,SAAU;MAC9CC,YAAY,EAAEjG,QAAQ,CAACkD,EAAE,KAAK,SAAS,GAAG,KAAK,GAAG8C;IAAU,CAC7D,CAAC,eACFtF,KAAA,CAACf,IAAI;MAACwF,KAAK,EAAEvD,MAAM,CAACsE,KAAM;MAAAb,QAAA,gBACxB7E,IAAA,CAACZ,IAAI;QACHuF,KAAK,EAAED,aAAc;QACrBrE,aAAa,EAAE,CAAE;QACjByE,aAAa,EAAC,MAAM;QAAAD,QAAA,EAEnB5D;MAAQ,CACL,CAAC,EACNR,SAAS,iBACRP,KAAA,CAACd,IAAI;QAACuF,KAAK,EAAEvD,MAAM,CAACuE,UAAW;QAACtF,aAAa,EAAE,CAAE;QAACyE,aAAa,EAAC,MAAM;QAAAD,QAAA,GACnEvD,IAAI,CAACsE,MAAM,EAAC,GAAC,EAAChF,QAAQ;MAAA,CACnB,CACP;IAAA,CACG,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMS,SAAS,GAAG1B,UAAU,CAAEwB,KAAK,KAAM;EACvCyD,GAAG,EAAE;IACHiB,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,QAAQ;IACvBC,QAAQ,EAAE,QAAQ;IAClBC,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE;EACZ,CAAC;EACD1B,QAAQ,EAAE;IACR2B,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE,EAAE;IACjBC,WAAW,EAAE,EAAE;IACf5B,YAAY,EAAE,EAAE;IAChB6B,SAAS,EAAE,CAAC;IACZ5B,WAAW,EAAEtD,KAAK,EAAE2C,MAAM,EAAEwC,KAAK;IACjCC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,EAAE;IAChBC,iBAAiB,EAAE,KAAK;IACxBT,KAAK,EAAE,MAAM;IACb,GAAGxG,QAAQ,CAACkH,MAAM,CAAC;MACjBC,GAAG,EAAE;QACH;MAAA;IAEJ,CAAC;EACH,CAAC;EACDnF,KAAK,EAAE;IACL+E,WAAW,EAAE,CAAC;IACd9B,WAAW,EAAEtD,KAAK,EAAE2C,MAAM,EAAEK;EAC9B,CAAC;EACD7D,KAAK,EAAE;IACLuF,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,KAAK;IACpBG,QAAQ,EAAE,UAAU;IACpBW,IAAI,EAAE,EAAE;IACRR,WAAW,EAAE,CAAC;IACd5B,YAAY,EAAE,CAAC;IACfqC,MAAM,EAAE;EACV,CAAC;EACD5C,UAAU,EAAE;IACVG,QAAQ,EAAE,EAAE;IACZF,KAAK,EAAE/C,KAAK,EAAE2C,MAAM,EAAEK;EACxB,CAAC;EACDuB,KAAK,EAAE;IACLG,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,KAAK;IACpBgB,cAAc,EAAE,eAAe;IAC/BV,WAAW,EAAE,CAAC;IACd5B,YAAY,EAAE,CAAC;IACf6B,SAAS,EAAE;EACb,CAAC;EACDpF,QAAQ,EAAE;IACR8F,QAAQ,EAAE,CAAC;IACXX,WAAW,EAAE,EAAE;IACfY,WAAW,EAAE,CAAC;IACd5C,QAAQ,EAAE,EAAE;IACZ6C,UAAU,EAAE,KAAK;IACjB/C,KAAK,EAAE/C,KAAK,EAAE2C,MAAM,EAAEO;EACxB,CAAC;EACDsB,UAAU,EAAE;IACVvB,QAAQ,EAAE,EAAE;IACZ6C,UAAU,EAAE,KAAK;IACjB/C,KAAK,EAAE/C,KAAK,EAAE2C,MAAM,EAAEO;EACxB,CAAC;EACDU,WAAW,EAAE;IACXkB,QAAQ,EAAE,UAAU;IACpBvE,GAAG,EAAE,EAAE;IACPwF,KAAK,EAAE,EAAE;IACTlB,KAAK,EAAE,EAAE;IACT5F,MAAM,EAAE,EAAE;IACVyF,OAAO,EAAE,MAAM;IACfiB,cAAc,EAAE,QAAQ;IACxBK,UAAU,EAAE,QAAQ;IACpBN,MAAM,EAAE;EACV,CAAC;EACDlG,QAAQ,EAAE;IACRyD,QAAQ,EAAE,EAAE;IACZ6C,UAAU,EAAE,KAAK;IACjB/C,KAAK,EAAE/C,KAAK,EAAE2C,MAAM,EAAEhB,KAAK;IAC3BsE,UAAU,EAAE;EACd;AACF,CAAC,CAAC,CAAC;AAEH,eAAe1H,SAAS,CAACS,QAAQ,CAAC","ignoreList":[]}
@@ -670,19 +670,31 @@ export const WebViewBridge = /*#__PURE__*/forwardRef(({
670
670
  if (autoInit && !initSentRef.current && from) {
671
671
  const sendInitMessage = () => {
672
672
  if (!initSentRef.current) {
673
+ loggerRef.current.info('🚀 [WebViewBridge] 自动发送初始化消息', {
674
+ type: initMessageType,
675
+ from,
676
+ environment: environmentRef.current
677
+ });
673
678
  sendMessage(initMessageType, initPayload);
674
679
  initSentRef.current = true;
675
680
  }
676
681
  };
677
682
 
678
- // 检查 window 是否已经加载完成
679
- if (typeof window !== 'undefined') {
680
- if (document.readyState === 'complete' || document.readyState === 'interactive') {
683
+ // 🔧 改进:优先检测 React Native WebView 环境
684
+ const isReactNativeWebView = typeof window !== 'undefined' && window.ReactNativeWebView !== undefined;
685
+ if (isReactNativeWebView) {
686
+ // React Native WebView 环境:延迟发送,确保 WebView 完全加载
687
+ loggerRef.current.debug('🔍 [WebViewBridge] 检测到 React Native WebView 环境,延迟发送 INIT');
688
+ setTimeout(sendInitMessage, 500); // 延迟 500ms 确保 WebView 完全加载
689
+ } else if (typeof window !== 'undefined') {
690
+ // Web 环境(iframe 或浏览器)
691
+ if (typeof document !== 'undefined' && (document.readyState === 'complete' || document.readyState === 'interactive')) {
681
692
  // 文档已经加载完成,使用 setTimeout 确保在下一个事件循环中执行
682
- // 这样可以确保所有组件都已挂载完成
693
+ loggerRef.current.debug('🔍 [WebViewBridge] 文档已加载完成,立即发送 INIT');
683
694
  setTimeout(sendInitMessage, 0);
684
- } else {
695
+ } else if (typeof document !== 'undefined') {
685
696
  // 等待 window.onload 事件
697
+ loggerRef.current.debug('🔍 [WebViewBridge] 等待文档加载完成');
686
698
  const handleLoad = () => {
687
699
  sendInitMessage();
688
700
  window.removeEventListener('load', handleLoad);
@@ -700,11 +712,18 @@ export const WebViewBridge = /*#__PURE__*/forwardRef(({
700
712
  }
701
713
  return () => {
702
714
  window.removeEventListener('load', handleLoad);
703
- document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
715
+ if (typeof document !== 'undefined') {
716
+ document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
717
+ }
704
718
  };
719
+ } else {
720
+ // document 不存在,但 window 存在(某些特殊环境)
721
+ loggerRef.current.debug('🔍 [WebViewBridge] document 不存在,延迟发送 INIT');
722
+ setTimeout(sendInitMessage, 100);
705
723
  }
706
724
  } else {
707
- // 非 Web 环境(React Native),直接发送
725
+ // 非 Web 环境(纯 React Native),直接发送
726
+ loggerRef.current.debug('🔍 [WebViewBridge] 非 Web 环境,延迟发送 INIT');
708
727
  setTimeout(sendInitMessage, 100);
709
728
  }
710
729
  }