react-native-auto-positioned-popup 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,6 +26,107 @@ or
26
26
  yarn add react-native-auto-positioned-popup
27
27
  ```
28
28
 
29
+ ## Loading Source Code in Development
30
+
31
+ If you need to debug or develop with the source code directly instead of the compiled library files, you can configure your project to load the TypeScript source files. This is useful for debugging or when you need to make temporary modifications.
32
+
33
+ ### Configure Babel to Load Source Files
34
+
35
+ 1. Install the babel module resolver plugin if you haven't already:
36
+
37
+ ```bash
38
+ npm install --save-dev babel-plugin-module-resolver
39
+ ```
40
+
41
+ 2. Update your `babel.config.js` to redirect imports from the compiled lib files to the source files:
42
+
43
+ ```javascript
44
+ module.exports = {
45
+ presets: ['module:@react-native/babel-preset'],
46
+ plugins: [
47
+ [
48
+ require.resolve('babel-plugin-module-resolver'),
49
+ {
50
+ root: ['.', './src'],
51
+ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
52
+ alias: {
53
+ // Redirect react-native-auto-positioned-popup to source files
54
+ 'react-native-auto-positioned-popup': './node_modules/react-native-auto-positioned-popup/src',
55
+ 'react-native-auto-positioned-popup/lib/index': './node_modules/react-native-auto-positioned-popup/src/index.ts',
56
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.tsx',
57
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopupProps': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopupProps.ts',
58
+ 'react-native-auto-positioned-popup/lib/RootViewContext': './node_modules/react-native-auto-positioned-popup/src/RootViewContext.tsx',
59
+ 'react-native-auto-positioned-popup/lib/KeyboardManager': './node_modules/react-native-auto-positioned-popup/src/KeyboardManager.tsx',
60
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup.style': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.style.ts',
61
+ // If you also use react-native-advanced-flatlist
62
+ 'react-native-advanced-flatlist': './node_modules/react-native-advanced-flatlist/src',
63
+ 'react-native-advanced-flatlist/lib/index': './node_modules/react-native-advanced-flatlist/src/index.ts',
64
+ 'react-native-advanced-flatlist/lib/AdvancedFlatList': './node_modules/react-native-advanced-flatlist/src/AdvancedFlatList.tsx',
65
+ },
66
+ },
67
+ ],
68
+ // ... other plugins
69
+ ],
70
+ };
71
+ ```
72
+
73
+ 3. Clear the Metro bundler cache and restart:
74
+
75
+ ```bash
76
+ npx react-native start --reset-cache
77
+ ```
78
+
79
+ ### Conditional Loading (Advanced)
80
+
81
+ If you want to conditionally load source files only in certain environments (e.g., during development), you can add logic to your babel config:
82
+
83
+ ```javascript
84
+ const isDevelopment = process.env.NODE_ENV === 'development';
85
+ const useSourceFiles = process.env.USE_SOURCE_FILES === 'true';
86
+
87
+ const aliasConfig = (isDevelopment || useSourceFiles) ? {
88
+ // ... your source file aliases
89
+ } : {
90
+ // ... your production aliases
91
+ };
92
+
93
+ module.exports = {
94
+ presets: ['module:@react-native/babel-preset'],
95
+ plugins: [
96
+ [
97
+ require.resolve('babel-plugin-module-resolver'),
98
+ {
99
+ root: ['.', './src'],
100
+ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
101
+ alias: aliasConfig,
102
+ },
103
+ ],
104
+ ],
105
+ };
106
+ ```
107
+
108
+ ### TypeScript Configuration
109
+
110
+ When loading source files directly, ensure your `tsconfig.json` includes the necessary paths:
111
+
112
+ ```json
113
+ {
114
+ "compilerOptions": {
115
+ "paths": {
116
+ "react-native-auto-positioned-popup": ["./node_modules/react-native-auto-positioned-popup/src"],
117
+ "react-native-auto-positioned-popup/*": ["./node_modules/react-native-auto-positioned-popup/src/*"]
118
+ }
119
+ }
120
+ }
121
+ ```
122
+
123
+ ### Notes
124
+
125
+ - Loading source files directly may impact build performance
126
+ - Remember to revert these changes before building for production
127
+ - Always clear Metro cache after changing babel configuration
128
+ - This approach is recommended only for development and debugging purposes
129
+
29
130
  ## Basic Usage
30
131
 
31
132
  First, wrap your app with the `RootViewProvider`:
package/README_zh.md CHANGED
@@ -26,6 +26,107 @@ npm install react-native-auto-positioned-popup
26
26
  yarn add react-native-auto-positioned-popup
27
27
  ```
28
28
 
29
+ ## 在开发环境中加载源码
30
+
31
+ 如果你需要调试或直接使用源代码进行开发,而不是使用编译后的库文件,可以配置你的项目来加载 TypeScript 源文件。这在调试或需要临时修改时非常有用。
32
+
33
+ ### 配置 Babel 加载源文件
34
+
35
+ 1. 如果还没有安装,请先安装 babel 模块解析器插件:
36
+
37
+ ```bash
38
+ npm install --save-dev babel-plugin-module-resolver
39
+ ```
40
+
41
+ 2. 更新你的 `babel.config.js`,将导入从编译的 lib 文件重定向到源文件:
42
+
43
+ ```javascript
44
+ module.exports = {
45
+ presets: ['module:@react-native/babel-preset'],
46
+ plugins: [
47
+ [
48
+ require.resolve('babel-plugin-module-resolver'),
49
+ {
50
+ root: ['.', './src'],
51
+ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
52
+ alias: {
53
+ // 将 react-native-auto-positioned-popup 重定向到源文件
54
+ 'react-native-auto-positioned-popup': './node_modules/react-native-auto-positioned-popup/src',
55
+ 'react-native-auto-positioned-popup/lib/index': './node_modules/react-native-auto-positioned-popup/src/index.ts',
56
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.tsx',
57
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopupProps': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopupProps.ts',
58
+ 'react-native-auto-positioned-popup/lib/RootViewContext': './node_modules/react-native-auto-positioned-popup/src/RootViewContext.tsx',
59
+ 'react-native-auto-positioned-popup/lib/KeyboardManager': './node_modules/react-native-auto-positioned-popup/src/KeyboardManager.tsx',
60
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup.style': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.style.ts',
61
+ // 如果你也使用 react-native-advanced-flatlist
62
+ 'react-native-advanced-flatlist': './node_modules/react-native-advanced-flatlist/src',
63
+ 'react-native-advanced-flatlist/lib/index': './node_modules/react-native-advanced-flatlist/src/index.ts',
64
+ 'react-native-advanced-flatlist/lib/AdvancedFlatList': './node_modules/react-native-advanced-flatlist/src/AdvancedFlatList.tsx',
65
+ },
66
+ },
67
+ ],
68
+ // ... 其他插件
69
+ ],
70
+ };
71
+ ```
72
+
73
+ 3. 清除 Metro bundler 缓存并重启:
74
+
75
+ ```bash
76
+ npx react-native start --reset-cache
77
+ ```
78
+
79
+ ### 条件加载(高级用法)
80
+
81
+ 如果你想只在特定环境(例如开发环境)中有条件地加载源文件,可以在 babel 配置中添加逻辑:
82
+
83
+ ```javascript
84
+ const isDevelopment = process.env.NODE_ENV === 'development';
85
+ const useSourceFiles = process.env.USE_SOURCE_FILES === 'true';
86
+
87
+ const aliasConfig = (isDevelopment || useSourceFiles) ? {
88
+ // ... 你的源文件别名
89
+ } : {
90
+ // ... 你的生产环境别名
91
+ };
92
+
93
+ module.exports = {
94
+ presets: ['module:@react-native/babel-preset'],
95
+ plugins: [
96
+ [
97
+ require.resolve('babel-plugin-module-resolver'),
98
+ {
99
+ root: ['.', './src'],
100
+ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
101
+ alias: aliasConfig,
102
+ },
103
+ ],
104
+ ],
105
+ };
106
+ ```
107
+
108
+ ### TypeScript 配置
109
+
110
+ 当直接加载源文件时,确保你的 `tsconfig.json` 包含必要的路径:
111
+
112
+ ```json
113
+ {
114
+ "compilerOptions": {
115
+ "paths": {
116
+ "react-native-auto-positioned-popup": ["./node_modules/react-native-auto-positioned-popup/src"],
117
+ "react-native-auto-positioned-popup/*": ["./node_modules/react-native-auto-positioned-popup/src/*"]
118
+ }
119
+ }
120
+ }
121
+ ```
122
+
123
+ ### 注意事项
124
+
125
+ - 直接加载源文件可能会影响构建性能
126
+ - 记得在生产构建前恢复这些更改
127
+ - 更改 babel 配置后务必清除 Metro 缓存
128
+ - 此方法仅建议用于开发和调试目的
129
+
29
130
  ## 基本用法
30
131
 
31
132
  首先,使用 `RootViewProvider` 包裹你的应用:
@@ -1,5 +1,5 @@
1
- import { ForwardRefExoticComponent, MemoExoticComponent } from 'react';
1
+ import React from 'react';
2
2
  import { AutoPositionedPopupProps } from './AutoPositionedPopupProps';
3
- declare const AutoPositionedPopup: MemoExoticComponent<ForwardRefExoticComponent<AutoPositionedPopupProps>>;
3
+ declare const AutoPositionedPopup: React.NamedExoticComponent<AutoPositionedPopupProps & React.RefAttributes<unknown>>;
4
4
  export default AutoPositionedPopup;
5
5
  //# sourceMappingURL=AutoPositionedPopup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoPositionedPopup.d.ts","sourceRoot":"","sources":["../src/AutoPositionedPopup.tsx"],"names":[],"mappings":"AAAA,OAAc,EAGZ,yBAAyB,EAEzB,mBAAmB,EAOpB,MAAM,OAAO,CAAC;AAef,OAAO,EAAC,wBAAwB,EAAqB,MAAM,4BAA4B,CAAC;AAoRxF,QAAA,MAAM,mBAAmB,EAAE,mBAAmB,CAC5C,yBAAyB,CAAC,wBAAwB,CAAC,CAukBpD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"AutoPositionedPopup.d.ts","sourceRoot":"","sources":["../src/AutoPositionedPopup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAYN,MAAM,OAAO,CAAC;AAYf,OAAO,EAAC,wBAAwB,EAAqB,MAAM,4BAA4B,CAAC;AAuRxF,QAAA,MAAM,mBAAmB,qFAioBxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,9 +1,6 @@
1
1
  import React, { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState, } from 'react';
2
2
  import { Dimensions, Keyboard, Text, TextInput as RNTextInput, TouchableOpacity, View, } from 'react-native';
3
- // @ts-ignore - Skip type checking for third-party library with type issues
4
- import { AdvancedFlatList as AdvancedFlatListLib } from 'react-native-advanced-flatlist';
5
- // @ts-ignore - Direct import from source when using fake data
6
- import AdvancedFlatListSource from 'react-native-advanced-flatlist';
3
+ import { AdvancedFlatList } from 'react-native-advanced-flatlist';
7
4
  import styles from './AutoPositionedPopup.style';
8
5
  import { useRootView } from './RootViewContext';
9
6
  import { useKeyboardStatus } from './KeyboardManager';
@@ -139,7 +136,15 @@ const AutoPositionedPopupList = memo(({ tag, updateState, fetchData, keyExtracto
139
136
  return Object.assign(Object.assign({}, prevState), { localData: res.items });
140
137
  });
141
138
  }
142
- return Promise.resolve(res);
139
+ // Convert Data to ListData if needed
140
+ if (res) {
141
+ return Promise.resolve({
142
+ items: res.items, // Convert to ListItem array
143
+ pageIndex: res.pageIndex,
144
+ needLoadMore: res.needLoadMore,
145
+ });
146
+ }
147
+ return null;
143
148
  }
144
149
  catch (e) {
145
150
  console.warn('Error in fetchData:', e);
@@ -152,11 +157,10 @@ const AutoPositionedPopupList = memo(({ tag, updateState, fetchData, keyExtracto
152
157
  }, [state.selectedItem]);
153
158
  return useMemo(() => {
154
159
  console.log('AutoPositionedPopupList (global as any)?.$fake=', global === null || global === void 0 ? void 0 : global.$fake);
155
- // Choose AdvancedFlatList version based on global.$fake
156
- const AdvancedFlatListComponent = (global === null || global === void 0 ? void 0 : global.$fake) ? AdvancedFlatListSource : AdvancedFlatListLib;
160
+ // Babel configuration handles the path redirection based on global.$fake
161
+ // No need for conditional import here
157
162
  return (<View style={[styles.baseModalView, styles.autoPositionedPopupList]}>
158
- {/* @ts-ignore - Type assertion to bypass third-party library type issues */}
159
- <AdvancedFlatListComponent style={[{ borderRadius: 0 }]} {...(ref_list && { ref: ref_list })} keyExtractor={keyExtractor} keyboardShouldPersistTaps={'always'} {...({ fetchData: _fetchData })} renderItem={renderItem || _renderItem}/>
163
+ <AdvancedFlatList style={[{ borderRadius: 0 }]} {...(ref_list && { ref: ref_list })} keyExtractor={(item, index) => keyExtractor ? keyExtractor(item) : item.id} keyboardShouldPersistTaps={'always'} fetchData={_fetchData} renderItem={renderItem ? ({ item, index }) => renderItem({ item: item, index }) : ({ item, index }) => _renderItem({ item: item, index })}/>
160
164
  </View>);
161
165
  }, [tag,
162
166
  updateState,
@@ -208,9 +212,9 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
208
212
  const hasAddedRootView = useRef(false);
209
213
  const hasShownRootView = useRef(false);
210
214
  // Additional refs for keyboard and position tracking
211
- const ref_isFocus = useRef();
212
- const ref_isKeyboardFullyShown = useRef();
213
- const ref_listPos = useRef();
215
+ const ref_isFocus = useRef(false);
216
+ const ref_isKeyboardFullyShown = useRef(false);
217
+ const ref_listPos = useRef(undefined);
214
218
  const keyboardVisibleRef = useRef(false);
215
219
  const refAutoPositionedPopup = useRef(null);
216
220
  const ref_searchQuery = useRef('');
@@ -278,7 +282,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
278
282
  }
279
283
  }, [selectedItem, state.selectedItem, tag]);
280
284
  useEffect(() => {
281
- var _a, _b;
285
+ var _a, _b, _c;
282
286
  console.log('AutoPositionedPopup useEffect tag=', tag);
283
287
  console.log('AutoPositionedPopup useEffect state.isFocus=', state.isFocus);
284
288
  console.log('AutoPositionedPopup useEffect isKeyboardFullyShown=', isKeyboardFullyShown);
@@ -332,35 +336,88 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
332
336
  if (state.isFocus) {
333
337
  (_b = refAutoPositionedPopup.current) === null || _b === void 0 ? void 0 : _b.measureInWindow((x, y, width, height) => {
334
338
  console.log('AutoPositionedPopup measureInWindow x=', x, ' y=', y, ' width=', width, ' height=', height);
335
- // SIMPLE CENTER-BASED POSITIONING STRATEGY
336
- const screenHeight = Dimensions.get('screen').height;
337
- const screenCenter = screenHeight / 2;
338
- console.log('AutoPositionedPopup screenHeight=', screenHeight, ' screenCenter=', screenCenter, ' componentY=', y);
339
- // Simple rule: if component Y > screen center, show popup above; otherwise show below
340
- if (y > screenCenter) {
341
- console.log('AutoPositionedPopup: showing above (Y > center)');
342
- ref_listPos.current = { x: x, y: y - listLayout.height, width: width };
343
- }
344
- else {
345
- console.log('AutoPositionedPopup: showing below (Y <= center)');
346
- ref_listPos.current = { x: x, y: y + height, width: width };
347
- }
339
+ // INTELLIGENT POSITION CALCULATION
340
+ const calculateOptimalPosition = (componentY, componentHeight, popupHeight) => {
341
+ // Use window height (visible area) instead of screen height (includes status bar)
342
+ const windowHeight = Dimensions.get('window').height;
343
+ const visibleAreaCenter = windowHeight / 2;
344
+ // Calculate component center point as requested
345
+ const componentCenterY = componentY + componentHeight / 2;
346
+ console.log('AutoPositionedPopup positioning data:', {
347
+ windowHeight,
348
+ visibleAreaCenter,
349
+ componentCenterY,
350
+ componentY,
351
+ componentHeight,
352
+ popupHeight
353
+ });
354
+ let showAbove = false;
355
+ let finalY = componentY + componentHeight; // Default: show below
356
+ // Primary logic: use component center point vs visible area center
357
+ if (componentCenterY > visibleAreaCenter) {
358
+ // Component center is in lower half, prefer showing above
359
+ const spaceAbove = componentY;
360
+ if (spaceAbove >= popupHeight) {
361
+ showAbove = true;
362
+ finalY = componentY - popupHeight;
363
+ }
364
+ else {
365
+ // Not enough space above, check if we can fit below
366
+ const spaceBelow = windowHeight - (componentY + componentHeight);
367
+ if (spaceBelow >= popupHeight) {
368
+ // Show below if there's space
369
+ finalY = componentY + componentHeight;
370
+ }
371
+ else {
372
+ // Force above with clipping
373
+ showAbove = true;
374
+ finalY = Math.max(0, componentY - popupHeight);
375
+ }
376
+ }
377
+ }
378
+ else {
379
+ // Component center is in upper half, prefer showing below
380
+ const spaceBelow = windowHeight - (componentY + componentHeight);
381
+ if (spaceBelow >= popupHeight) {
382
+ // Show below
383
+ finalY = componentY + componentHeight;
384
+ }
385
+ else {
386
+ // Not enough space below, try above
387
+ const spaceAbove = componentY;
388
+ if (spaceAbove >= popupHeight) {
389
+ showAbove = true;
390
+ finalY = componentY - popupHeight;
391
+ }
392
+ else {
393
+ // Force below with clipping
394
+ finalY = Math.min(windowHeight - popupHeight, componentY + componentHeight);
395
+ }
396
+ }
397
+ }
398
+ // Final boundary check to ensure popup stays within visible area
399
+ if (finalY < 0) {
400
+ finalY = 0;
401
+ }
402
+ if (finalY + popupHeight > windowHeight) {
403
+ finalY = windowHeight - popupHeight;
404
+ }
405
+ return { finalY, showAbove };
406
+ };
407
+ const positionResult = calculateOptimalPosition(y, height, listLayout.height);
408
+ console.log('AutoPositionedPopup position result:', positionResult);
409
+ ref_listPos.current = { x: x, y: positionResult.finalY, width: width };
348
410
  console.log('AutoPositionedPopup ref_listPos.current=', ref_listPos.current);
349
411
  if (CustomPopView && CustomPopViewStyle) {
350
412
  console.log('AutoPositionedPopup CustomPopViewStyle=', CustomPopViewStyle);
351
413
  // Ensure CustomPopViewStyle.height is a number before using it in calculations
352
414
  const customHeight = typeof CustomPopViewStyle.height === 'number' ? CustomPopViewStyle.height : listLayout.height;
353
- // Apply same simple center-based strategy for CustomPopView
354
- console.log('AutoPositionedPopup CustomPopView using center-based positioning, customHeight=', customHeight);
355
- // Simple rule: if component Y > screen center, show popup above; otherwise show below
356
- if (y > screenCenter) {
357
- console.log('AutoPositionedPopup CustomPopView: showing above (Y > center), tag=', tag);
358
- ref_listPos.current = { x: x, y: y - customHeight, width: width };
359
- }
360
- else {
361
- console.log('AutoPositionedPopup CustomPopView: showing below (Y <= center), tag=', tag);
362
- ref_listPos.current = { x: x, y: y + height, width: width };
363
- }
415
+ // Apply same intelligent positioning strategy for CustomPopView
416
+ console.log('AutoPositionedPopup CustomPopView using intelligent positioning, customHeight=', customHeight);
417
+ // Use the same intelligent positioning function for CustomPopView
418
+ const customPositionResult = calculateOptimalPosition(y, height, customHeight);
419
+ console.log('AutoPositionedPopup CustomPopView position result:', customPositionResult, 'tag=', tag);
420
+ ref_listPos.current = { x: x, y: customPositionResult.finalY, width: width };
364
421
  const PopViewComponent = CustomPopView();
365
422
  console.log('AutoPositionedPopup addRootView PopViewComponent=', PopViewComponent);
366
423
  console.log('AutoPositionedPopup addRootView state.selectedItem=', state.selectedItem);
@@ -411,7 +468,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
411
468
  }
412
469
  }
413
470
  if (isKeyboardFullyShown) {
414
- ref_isFocus.current = state.isFocus;
471
+ ref_isFocus.current = (_c = state.isFocus) !== null && _c !== void 0 ? _c : false;
415
472
  if (isKeyboardFullyShown !== keyboardVisibleRef.current) {
416
473
  keyboardVisibleRef.current = isKeyboardFullyShown;
417
474
  if (isKeyboardFullyShown && textInputRef.current) {
@@ -1 +1 @@
1
- {"version":3,"file":"AutoPositionedPopup.js","sourceRoot":"","sources":["../src/AutoPositionedPopup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoPositionedPopup.js","sourceRoot":"","sources":["../src/AutoPositionedPopup.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-auto-positioned-popup",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "A highly customizable React Native auto-positioned popup component with search functionality and flexible styling options",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -60,15 +60,15 @@
60
60
  "react-native": ">=0.60.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@types/node": "^24.2.1",
64
- "@types/react": "^18.3.23",
65
- "@types/react-native": "^0.72.8",
66
- "@typescript-eslint/eslint-plugin": "^6.21.0",
67
- "@typescript-eslint/parser": "^6.21.0",
68
- "eslint": "^8.57.1",
63
+ "@types/node": "^24.3.0",
64
+ "@types/react": "^19.1.10",
65
+ "@types/react-native": "^0.73.0",
66
+ "@typescript-eslint/eslint-plugin": "^8.39.1",
67
+ "@typescript-eslint/parser": "^8.39.1",
68
+ "eslint": "^9.33.0",
69
69
  "eslint-plugin-react": "^7.37.5",
70
70
  "eslint-plugin-react-hooks": "^5.2.0",
71
- "eslint-plugin-react-native": "^4.1.0",
71
+ "eslint-plugin-react-native": "^5.0.0",
72
72
  "rimraf": "^6.0.1",
73
73
  "typescript": "^5.9.2"
74
74
  },
@@ -19,10 +19,7 @@ import {
19
19
  TouchableOpacity,
20
20
  View,
21
21
  } from 'react-native';
22
- // @ts-ignore - Skip type checking for third-party library with type issues
23
- import {AdvancedFlatList as AdvancedFlatListLib} from 'react-native-advanced-flatlist';
24
- // @ts-ignore - Direct import from source when using fake data
25
- import AdvancedFlatListSource from 'react-native-advanced-flatlist';
22
+ import {AdvancedFlatList, ListData, FetchDataParams} from 'react-native-advanced-flatlist';
26
23
  import {TextInputSubmitEditingEventData} from 'react-native/Libraries/Components/TextInput/TextInput';
27
24
  import {LayoutRectangle, NativeSyntheticEvent} from 'react-native/Libraries/Types/CoreEventTypes';
28
25
  import {AutoPositionedPopupProps, Data, SelectedItem} from './AutoPositionedPopupProps';
@@ -209,10 +206,7 @@ const AutoPositionedPopupList: React.FC<AutoPositionedPopupListProps> = memo(
209
206
  const _fetchData = async ({
210
207
  pageIndex,
211
208
  pageSize: currentPageSize,
212
- }: {
213
- pageIndex: number;
214
- pageSize: number;
215
- }): Promise<Data | null> => {
209
+ }: FetchDataParams): Promise<ListData | null> => {
216
210
  console.log('AutoPositionedPopupList _fetchData pageIndex=', pageIndex, ' pageSize=', currentPageSize);
217
211
  console.log('AutoPositionedPopupList _fetchData state.localData=', state.localData);
218
212
  console.log('AutoPositionedPopupList _fetchData ref_searchQuery.current=', ref_searchQuery.current);
@@ -243,7 +237,15 @@ const AutoPositionedPopupList: React.FC<AutoPositionedPopupListProps> = memo(
243
237
  };
244
238
  });
245
239
  }
246
- return Promise.resolve(res);
240
+ // Convert Data to ListData if needed
241
+ if (res) {
242
+ return Promise.resolve({
243
+ items: res.items as any[], // Convert to ListItem array
244
+ pageIndex: res.pageIndex,
245
+ needLoadMore: res.needLoadMore,
246
+ });
247
+ }
248
+ return null;
247
249
  } catch (e) {
248
250
  console.warn('Error in fetchData:', e);
249
251
  }
@@ -258,19 +260,17 @@ const AutoPositionedPopupList: React.FC<AutoPositionedPopupListProps> = memo(
258
260
  );
259
261
  return useMemo(() => {
260
262
  console.log('AutoPositionedPopupList (global as any)?.$fake=', (global as any)?.$fake);
261
- // Choose AdvancedFlatList version based on global.$fake
262
- const AdvancedFlatListComponent = (global as any)?.$fake ? AdvancedFlatListSource : AdvancedFlatListLib;
263
-
263
+ // Babel configuration handles the path redirection based on global.$fake
264
+ // No need for conditional import here
264
265
  return (
265
266
  <View style={[styles.baseModalView, styles.autoPositionedPopupList]}>
266
- {/* @ts-ignore - Type assertion to bypass third-party library type issues */}
267
- <AdvancedFlatListComponent
267
+ <AdvancedFlatList
268
268
  style={[{borderRadius: 0}]}
269
- {...(ref_list && { ref: ref_list })}
270
- keyExtractor={keyExtractor}
269
+ {...(ref_list && {ref: ref_list})}
270
+ keyExtractor={(item, index) => keyExtractor ? keyExtractor(item as SelectedItem) : (item as SelectedItem).id}
271
271
  keyboardShouldPersistTaps={'always'}
272
- {...({ fetchData: _fetchData })}
273
- renderItem={renderItem || _renderItem}
272
+ fetchData={_fetchData}
273
+ renderItem={renderItem ? ({item, index}) => renderItem({item: item as SelectedItem, index}) : ({item, index}) => _renderItem({item: item as SelectedItem, index})}
274
274
  />
275
275
  </View>
276
276
  );
@@ -301,9 +301,7 @@ const listLayout = {
301
301
  };
302
302
 
303
303
  // Main AutoPositionedPopup component
304
- const AutoPositionedPopup: MemoExoticComponent<
305
- ForwardRefExoticComponent<AutoPositionedPopupProps>
306
- > = memo(
304
+ const AutoPositionedPopup = memo(
307
305
  forwardRef<unknown, AutoPositionedPopupProps>(
308
306
  (props: AutoPositionedPopupProps, parentRef: ForwardedRef<unknown>): React.JSX.Element => {
309
307
  console.log('AutoPositionedPopup props=', props);
@@ -370,9 +368,9 @@ const AutoPositionedPopup: MemoExoticComponent<
370
368
  const hasAddedRootView = useRef(false);
371
369
  const hasShownRootView = useRef(false);
372
370
  // Additional refs for keyboard and position tracking
373
- const ref_isFocus = useRef<boolean>();
374
- const ref_isKeyboardFullyShown = useRef<boolean>();
375
- const ref_listPos: MutableRefObject<any> = useRef<LayoutRectangle>()
371
+ const ref_isFocus = useRef<boolean>(false);
372
+ const ref_isKeyboardFullyShown = useRef<boolean>(false);
373
+ const ref_listPos: MutableRefObject<any> = useRef<LayoutRectangle | undefined>(undefined)
376
374
  const keyboardVisibleRef = useRef(false);
377
375
  const refAutoPositionedPopup = useRef<View>(null);
378
376
  const ref_searchQuery = useRef<string>('');
@@ -510,19 +508,81 @@ const AutoPositionedPopup: MemoExoticComponent<
510
508
  if (state.isFocus) {
511
509
  refAutoPositionedPopup.current?.measureInWindow((x: number, y: number, width: number, height: number) => {
512
510
  console.log('AutoPositionedPopup measureInWindow x=', x, ' y=', y, ' width=', width, ' height=', height);
513
- // SIMPLE CENTER-BASED POSITIONING STRATEGY
514
- const screenHeight = Dimensions.get('screen').height;
515
- const screenCenter = screenHeight / 2;
516
- console.log('AutoPositionedPopup screenHeight=', screenHeight, ' screenCenter=', screenCenter, ' componentY=', y);
517
511
 
518
- // Simple rule: if component Y > screen center, show popup above; otherwise show below
519
- if (y > screenCenter) {
520
- console.log('AutoPositionedPopup: showing above (Y > center)');
521
- ref_listPos.current = {x: x, y: y - listLayout.height, width: width};
522
- } else {
523
- console.log('AutoPositionedPopup: showing below (Y <= center)');
524
- ref_listPos.current = {x: x, y: y + height, width: width};
525
- }
512
+ // INTELLIGENT POSITION CALCULATION
513
+ const calculateOptimalPosition = (componentY: number, componentHeight: number, popupHeight: number) => {
514
+ // Use window height (visible area) instead of screen height (includes status bar)
515
+ const windowHeight = Dimensions.get('window').height;
516
+ const visibleAreaCenter = windowHeight / 2;
517
+
518
+ // Calculate component center point as requested
519
+ const componentCenterY = componentY + componentHeight / 2;
520
+
521
+ console.log('AutoPositionedPopup positioning data:', {
522
+ windowHeight,
523
+ visibleAreaCenter,
524
+ componentCenterY,
525
+ componentY,
526
+ componentHeight,
527
+ popupHeight
528
+ });
529
+
530
+ let showAbove = false;
531
+ let finalY = componentY + componentHeight; // Default: show below
532
+
533
+ // Primary logic: use component center point vs visible area center
534
+ if (componentCenterY > visibleAreaCenter) {
535
+ // Component center is in lower half, prefer showing above
536
+ const spaceAbove = componentY;
537
+ if (spaceAbove >= popupHeight) {
538
+ showAbove = true;
539
+ finalY = componentY - popupHeight;
540
+ } else {
541
+ // Not enough space above, check if we can fit below
542
+ const spaceBelow = windowHeight - (componentY + componentHeight);
543
+ if (spaceBelow >= popupHeight) {
544
+ // Show below if there's space
545
+ finalY = componentY + componentHeight;
546
+ } else {
547
+ // Force above with clipping
548
+ showAbove = true;
549
+ finalY = Math.max(0, componentY - popupHeight);
550
+ }
551
+ }
552
+ } else {
553
+ // Component center is in upper half, prefer showing below
554
+ const spaceBelow = windowHeight - (componentY + componentHeight);
555
+ if (spaceBelow >= popupHeight) {
556
+ // Show below
557
+ finalY = componentY + componentHeight;
558
+ } else {
559
+ // Not enough space below, try above
560
+ const spaceAbove = componentY;
561
+ if (spaceAbove >= popupHeight) {
562
+ showAbove = true;
563
+ finalY = componentY - popupHeight;
564
+ } else {
565
+ // Force below with clipping
566
+ finalY = Math.min(windowHeight - popupHeight, componentY + componentHeight);
567
+ }
568
+ }
569
+ }
570
+
571
+ // Final boundary check to ensure popup stays within visible area
572
+ if (finalY < 0) {
573
+ finalY = 0;
574
+ }
575
+ if (finalY + popupHeight > windowHeight) {
576
+ finalY = windowHeight - popupHeight;
577
+ }
578
+
579
+ return {finalY, showAbove};
580
+ };
581
+
582
+ const positionResult = calculateOptimalPosition(y, height, listLayout.height);
583
+ console.log('AutoPositionedPopup position result:', positionResult);
584
+
585
+ ref_listPos.current = {x: x, y: positionResult.finalY, width: width};
526
586
  console.log('AutoPositionedPopup ref_listPos.current=', ref_listPos.current);
527
587
  if (CustomPopView && CustomPopViewStyle) {
528
588
  console.log('AutoPositionedPopup CustomPopViewStyle=', CustomPopViewStyle);
@@ -530,17 +590,14 @@ const AutoPositionedPopup: MemoExoticComponent<
530
590
  const customHeight =
531
591
  typeof CustomPopViewStyle.height === 'number' ? CustomPopViewStyle.height : listLayout.height;
532
592
 
533
- // Apply same simple center-based strategy for CustomPopView
534
- console.log('AutoPositionedPopup CustomPopView using center-based positioning, customHeight=', customHeight);
593
+ // Apply same intelligent positioning strategy for CustomPopView
594
+ console.log('AutoPositionedPopup CustomPopView using intelligent positioning, customHeight=', customHeight);
535
595
 
536
- // Simple rule: if component Y > screen center, show popup above; otherwise show below
537
- if (y > screenCenter) {
538
- console.log('AutoPositionedPopup CustomPopView: showing above (Y > center), tag=', tag);
539
- ref_listPos.current = {x: x, y: y - customHeight, width: width};
540
- } else {
541
- console.log('AutoPositionedPopup CustomPopView: showing below (Y <= center), tag=', tag);
542
- ref_listPos.current = {x: x, y: y + height, width: width};
543
- }
596
+ // Use the same intelligent positioning function for CustomPopView
597
+ const customPositionResult = calculateOptimalPosition(y, height, customHeight);
598
+ console.log('AutoPositionedPopup CustomPopView position result:', customPositionResult, 'tag=', tag);
599
+
600
+ ref_listPos.current = {x: x, y: customPositionResult.finalY, width: width};
544
601
  const PopViewComponent = CustomPopView();
545
602
  console.log('AutoPositionedPopup addRootView PopViewComponent=', PopViewComponent);
546
603
  console.log('AutoPositionedPopup addRootView state.selectedItem=', state.selectedItem);
@@ -613,7 +670,7 @@ const AutoPositionedPopup: MemoExoticComponent<
613
670
  }
614
671
  }
615
672
  if (isKeyboardFullyShown) {
616
- ref_isFocus.current = state.isFocus;
673
+ ref_isFocus.current = state.isFocus ?? false;
617
674
  if (isKeyboardFullyShown !== keyboardVisibleRef.current) {
618
675
  keyboardVisibleRef.current = isKeyboardFullyShown;
619
676
  if (isKeyboardFullyShown && textInputRef.current) {
@@ -1,19 +1,72 @@
1
1
  declare module 'react-native-advanced-flatlist' {
2
- import { ComponentType } from 'react';
3
- import { FlatListProps, ListRenderItem } from 'react-native';
2
+ import React, { ComponentType, ReactNode } from 'react';
3
+ import { StyleProp, ViewStyle } from 'react-native';
4
4
 
5
- export interface AdvancedFlatListProps<ItemT = any> extends FlatListProps<ItemT> {
6
- renderItem?: ListRenderItem<ItemT>;
5
+ export interface ListItem {
6
+ id: string | number;
7
+ selected?: boolean;
8
+ [key: string]: any;
7
9
  }
8
10
 
9
- export const AdvancedFlatList: ComponentType<AdvancedFlatListProps>;
10
- export default AdvancedFlatList;
11
- }
11
+ export interface ListData {
12
+ items: ListItem[];
13
+ pageIndex?: number;
14
+ needLoadMore?: boolean;
15
+ }
12
16
 
13
- declare module 'react-native-advanced-flatlist' {
14
- import { ComponentType } from 'react';
15
- import { FlatListProps } from 'react-native';
17
+ export interface FetchDataParams {
18
+ pageIndex: number;
19
+ pageSize: number;
20
+ }
21
+
22
+ export interface RenderItemParams {
23
+ item: ListItem;
24
+ index: number;
25
+ selected?: boolean;
26
+ onItemPress?: (item: ListItem, index: number) => void;
27
+ }
16
28
 
17
- const AdvancedFlatListSource: ComponentType<FlatListProps<any>>;
18
- export default AdvancedFlatListSource;
29
+ export interface AdvancedFlatListProps {
30
+ tag?: string;
31
+ initialData?: Partial<ListData>;
32
+ initPageIndex?: number;
33
+ pageSize?: number;
34
+ fetchData: (params: FetchDataParams) => Promise<ListData | null>;
35
+ renderItem?: (params: RenderItemParams) => React.ReactNode;
36
+ keyExtractor?: (item: ListItem, index: number) => string;
37
+ style?: StyleProp<ViewStyle>;
38
+ ListHeaderComponent?: ReactNode;
39
+ ListEmptyComponent?: React.ComponentType<any> | React.ReactElement<unknown> | null | undefined;
40
+ autoRefresh?: boolean;
41
+ disabledRefresh?: boolean;
42
+ keyboardShouldPersistTaps?: 'always' | 'never' | 'handled' | undefined;
43
+ emptyText?: string;
44
+ showListEmptyComponent?: boolean;
45
+ onScrollBeginDrag?: (event: any) => void;
46
+ onScrollEndDrag?: (event: any) => void;
47
+ singleSelect?: boolean;
48
+ onSingleSelectChange?: (selectedItem: ListItem | null) => void;
49
+ onItemPress?: (item: ListItem, index: number) => void;
50
+ }
51
+
52
+ export interface AdvancedFlatListRef {
53
+ scrollToTop: () => void;
54
+ refresh: () => void;
55
+ stopRefresh: () => void;
56
+ getItems: () => ListItem[];
57
+ changeItemSelect: (index: number) => void;
58
+ clearSelection: () => void;
59
+ }
60
+
61
+ export interface InternalState {
62
+ items: ListItem[];
63
+ pageIndex: number;
64
+ loading: boolean;
65
+ refreshing: boolean;
66
+ needLoadMore: boolean;
67
+ selectedId: string | number | null;
68
+ }
69
+
70
+ export const AdvancedFlatList: ComponentType<AdvancedFlatListProps>;
71
+ export default AdvancedFlatList;
19
72
  }