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

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
@@ -105,6 +105,100 @@ module.exports = {
105
105
  };
106
106
  ```
107
107
 
108
+ #### Dynamic Control via global.$fake (Recommended Approach)
109
+
110
+ A more advanced approach is to dynamically control source code loading through your project's global configuration file. This method allows runtime switching without modifying environment variables:
111
+
112
+ 1. Create or modify the `global.ts` file in your project root:
113
+
114
+ ```typescript
115
+ // global.ts
116
+ declare global {
117
+ var $fake: boolean;
118
+ // ... other global variables
119
+ }
120
+
121
+ // Set to true to load source code (development mode)
122
+ // Set to false to use compiled files (production mode)
123
+ global.$fake = true; // or false
124
+
125
+ export {};
126
+ ```
127
+
128
+ 2. Read the `global.$fake` value in your `babel.config.js`:
129
+
130
+ ```javascript
131
+ const fs = require('fs');
132
+ const path = require('path');
133
+
134
+ // Check global.$fake value
135
+ const checkFakeMode = () => {
136
+ try {
137
+ const globalPath = path.resolve(__dirname, 'global.ts');
138
+ const globalContent = fs.readFileSync(globalPath, 'utf8');
139
+ // Check if global.$fake is true
140
+ const fakeMatch = globalContent.match(/\$fake\s*=\s*(true|false)/);
141
+ return fakeMatch && fakeMatch[1] === 'true';
142
+ } catch (error) {
143
+ console.warn('Unable to read global.ts, defaulting to false:', error.message);
144
+ return false;
145
+ }
146
+ };
147
+
148
+ const isFakeMode = checkFakeMode();
149
+
150
+ // Base alias configuration
151
+ const baseAlias = {
152
+ // ... your base aliases
153
+ };
154
+
155
+ // If in fake mode, add source code redirects
156
+ const aliasConfig = isFakeMode ? {
157
+ ...baseAlias,
158
+ // Redirect react-native-auto-positioned-popup to source files
159
+ 'react-native-auto-positioned-popup': './node_modules/react-native-auto-positioned-popup/src',
160
+ 'react-native-auto-positioned-popup/lib/index': './node_modules/react-native-auto-positioned-popup/src/index.ts',
161
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.tsx',
162
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopupProps': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopupProps.ts',
163
+ 'react-native-auto-positioned-popup/lib/RootViewContext': './node_modules/react-native-auto-positioned-popup/src/RootViewContext.tsx',
164
+ 'react-native-auto-positioned-popup/lib/KeyboardManager': './node_modules/react-native-auto-positioned-popup/src/KeyboardManager.tsx',
165
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup.style': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.style.ts',
166
+ // If you also use react-native-advanced-flatlist
167
+ 'react-native-advanced-flatlist': './node_modules/react-native-advanced-flatlist/src',
168
+ 'react-native-advanced-flatlist/lib/index': './node_modules/react-native-advanced-flatlist/src/index.ts',
169
+ 'react-native-advanced-flatlist/lib/AdvancedFlatList': './node_modules/react-native-advanced-flatlist/src/AdvancedFlatList.tsx',
170
+ } : baseAlias;
171
+
172
+ console.log(`Babel Config - Fake Mode: ${isFakeMode ? 'ENABLED' : 'DISABLED'}`);
173
+ if (isFakeMode) {
174
+ console.log('✅ Using react-native-auto-positioned-popup SOURCE files (.tsx)');
175
+ } else {
176
+ console.log('📦 Using react-native-auto-positioned-popup COMPILED files (.js)');
177
+ }
178
+
179
+ module.exports = {
180
+ presets: ['module:@react-native/babel-preset'],
181
+ plugins: [
182
+ [
183
+ require.resolve('babel-plugin-module-resolver'),
184
+ {
185
+ root: ['.', './src'],
186
+ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
187
+ alias: aliasConfig,
188
+ },
189
+ ],
190
+ // ... other plugins
191
+ ],
192
+ };
193
+ ```
194
+
195
+ **Advantages of this approach**:
196
+ - ✅ No need to set environment variables, just modify the `global.ts` file
197
+ - ✅ Can switch dynamically at runtime (restart Metro after modifying the file)
198
+ - ✅ More intuitive configuration with all settings centralized in one file
199
+ - ✅ Suitable for team collaboration, different developers can have different local configs
200
+ - ✅ Avoids environment variable compatibility issues across different operating systems
201
+
108
202
  ### TypeScript Configuration
109
203
 
110
204
  When loading source files directly, ensure your `tsconfig.json` includes the necessary paths:
@@ -148,12 +242,13 @@ Then use the `AutoPositionedPopup` component:
148
242
  ```tsx
149
243
  import React, { useState } from 'react';
150
244
  import { View } from 'react-native';
151
- import AutoPositionedPopup, { SelectedItem, Data } from 'react-native-auto-positioned-popup';
245
+ import RNAutoPositionedPopup from 'react-native-auto-positioned-popup';
246
+ import type {SelectedItem as RNSelectedItem, Data as AutoPositionedPopupData} from 'react-native-auto-positioned-popup';
152
247
 
153
248
  const MyComponent = () => {
154
- const [selectedItem, setSelectedItem] = useState<SelectedItem | undefined>();
249
+ const [selectedItem, setSelectedItem] = useState<RNSelectedItem | undefined>();
155
250
 
156
- const fetchData = async ({ pageIndex, pageSize, searchQuery }): Promise<Data | null> => {
251
+ const fetchData = async ({ pageIndex, pageSize, searchQuery }): Promise<AutoPositionedPopupData | null> => {
157
252
  // Your data fetching logic here
158
253
  return {
159
254
  items: [
@@ -168,7 +263,7 @@ const MyComponent = () => {
168
263
 
169
264
  return (
170
265
  <View style={{ padding: 20 }}>
171
- <AutoPositionedPopup
266
+ <RNAutoPositionedPopup
172
267
  tag="example-popup"
173
268
  placeholder="Select an option"
174
269
  selectedItem={selectedItem}
@@ -245,10 +340,11 @@ This example shows a complete implementation without search input, suitable for
245
340
  ```tsx
246
341
  import React, { useState } from 'react';
247
342
  import { View, Text, Image, StyleSheet } from 'react-native';
248
- import AutoPositionedPopup, { SelectedItem, Data, RootViewProvider } from 'react-native-auto-positioned-popup';
343
+ import RNAutoPositionedPopup, { RootViewProvider } from 'react-native-auto-positioned-popup';
344
+ import type {SelectedItem as RNSelectedItem, Data as AutoPositionedPopupData} from 'react-native-auto-positioned-popup';
249
345
 
250
346
  // Sample data type with color support
251
- interface ClinicItem extends SelectedItem {
347
+ interface ClinicItem extends RNSelectedItem {
252
348
  code: string;
253
349
  textColor: string;
254
350
  address?: string;
@@ -257,7 +353,7 @@ interface ClinicItem extends SelectedItem {
257
353
  const ClinicSelector = () => {
258
354
  const [selectedClinic, setSelectedClinic] = useState<ClinicItem | null>(null);
259
355
 
260
- const fetchClinics = async ({ pageIndex, pageSize }): Promise<Data | null> => {
356
+ const fetchClinics = async ({ pageIndex, pageSize }): Promise<AutoPositionedPopupData | null> => {
261
357
  // Simulate API call
262
358
  const mockClinics = [
263
359
  { id: '1', title: 'Main Clinic', code: 'MC001', textColor: '#4CAF50', address: '123 Main St' },
@@ -278,7 +374,7 @@ const ClinicSelector = () => {
278
374
  return (
279
375
  <RootViewProvider>
280
376
  <View style={styles.container}>
281
- <AutoPositionedPopup
377
+ <RNAutoPositionedPopup
282
378
  tag="clinic-selector"
283
379
  useTextInput={false}
284
380
  localSearch={false}
package/README_zh.md CHANGED
@@ -105,6 +105,100 @@ module.exports = {
105
105
  };
106
106
  ```
107
107
 
108
+ #### 通过 global.$fake 动态控制(推荐方式)
109
+
110
+ 更高级的用法是通过项目的全局配置文件动态控制是否加载源码。这种方式允许在运行时切换而无需修改环境变量:
111
+
112
+ 1. 在项目根目录创建或修改 `global.ts` 文件:
113
+
114
+ ```typescript
115
+ // global.ts
116
+ declare global {
117
+ var $fake: boolean;
118
+ // ... 其他全局变量
119
+ }
120
+
121
+ // 设置为 true 时加载源码(开发模式)
122
+ // 设置为 false 时使用编译文件(生产模式)
123
+ global.$fake = true; // 或 false
124
+
125
+ export {};
126
+ ```
127
+
128
+ 2. 在 `babel.config.js` 中读取 `global.$fake` 的值:
129
+
130
+ ```javascript
131
+ const fs = require('fs');
132
+ const path = require('path');
133
+
134
+ // 检查 global.$fake 的值
135
+ const checkFakeMode = () => {
136
+ try {
137
+ const globalPath = path.resolve(__dirname, 'global.ts');
138
+ const globalContent = fs.readFileSync(globalPath, 'utf8');
139
+ // 检查 global.$fake 是否为 true
140
+ const fakeMatch = globalContent.match(/\$fake\s*=\s*(true|false)/);
141
+ return fakeMatch && fakeMatch[1] === 'true';
142
+ } catch (error) {
143
+ console.warn('Unable to read global.ts, defaulting to false:', error.message);
144
+ return false;
145
+ }
146
+ };
147
+
148
+ const isFakeMode = checkFakeMode();
149
+
150
+ // 基础别名配置
151
+ const baseAlias = {
152
+ // ... 你的基础别名
153
+ };
154
+
155
+ // 如果是 fake 模式,添加源码重定向
156
+ const aliasConfig = isFakeMode ? {
157
+ ...baseAlias,
158
+ // 重定向 react-native-auto-positioned-popup 到源码文件
159
+ 'react-native-auto-positioned-popup': './node_modules/react-native-auto-positioned-popup/src',
160
+ 'react-native-auto-positioned-popup/lib/index': './node_modules/react-native-auto-positioned-popup/src/index.ts',
161
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.tsx',
162
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopupProps': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopupProps.ts',
163
+ 'react-native-auto-positioned-popup/lib/RootViewContext': './node_modules/react-native-auto-positioned-popup/src/RootViewContext.tsx',
164
+ 'react-native-auto-positioned-popup/lib/KeyboardManager': './node_modules/react-native-auto-positioned-popup/src/KeyboardManager.tsx',
165
+ 'react-native-auto-positioned-popup/lib/AutoPositionedPopup.style': './node_modules/react-native-auto-positioned-popup/src/AutoPositionedPopup.style.ts',
166
+ // 如果你也使用 react-native-advanced-flatlist
167
+ 'react-native-advanced-flatlist': './node_modules/react-native-advanced-flatlist/src',
168
+ 'react-native-advanced-flatlist/lib/index': './node_modules/react-native-advanced-flatlist/src/index.ts',
169
+ 'react-native-advanced-flatlist/lib/AdvancedFlatList': './node_modules/react-native-advanced-flatlist/src/AdvancedFlatList.tsx',
170
+ } : baseAlias;
171
+
172
+ console.log(`Babel Config - Fake Mode: ${isFakeMode ? 'ENABLED' : 'DISABLED'}`);
173
+ if (isFakeMode) {
174
+ console.log('✅ Using react-native-auto-positioned-popup SOURCE files (.tsx)');
175
+ } else {
176
+ console.log('📦 Using react-native-auto-positioned-popup COMPILED files (.js)');
177
+ }
178
+
179
+ module.exports = {
180
+ presets: ['module:@react-native/babel-preset'],
181
+ plugins: [
182
+ [
183
+ require.resolve('babel-plugin-module-resolver'),
184
+ {
185
+ root: ['.', './src'],
186
+ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
187
+ alias: aliasConfig,
188
+ },
189
+ ],
190
+ // ... 其他插件
191
+ ],
192
+ };
193
+ ```
194
+
195
+ **这种方式的优势**:
196
+ - ✅ 无需设置环境变量,只需修改 `global.ts` 文件
197
+ - ✅ 可以在运行时动态切换(修改文件后重启 Metro)
198
+ - ✅ 更直观的配置方式,所有配置集中在一个文件
199
+ - ✅ 适合团队协作,不同开发者可以有不同的本地配置
200
+ - ✅ 避免了环境变量在不同操作系统的兼容性问题
201
+
108
202
  ### TypeScript 配置
109
203
 
110
204
  当直接加载源文件时,确保你的 `tsconfig.json` 包含必要的路径:
@@ -148,12 +242,13 @@ const App = () => {
148
242
  ```tsx
149
243
  import React, { useState } from 'react';
150
244
  import { View } from 'react-native';
151
- import AutoPositionedPopup, { SelectedItem, Data } from 'react-native-auto-positioned-popup';
245
+ import RNAutoPositionedPopup from 'react-native-auto-positioned-popup';
246
+ import type {SelectedItem as RNSelectedItem, Data as AutoPositionedPopupData} from 'react-native-auto-positioned-popup';
152
247
 
153
248
  const MyComponent = () => {
154
- const [selectedItem, setSelectedItem] = useState<SelectedItem | undefined>();
249
+ const [selectedItem, setSelectedItem] = useState<RNSelectedItem | undefined>();
155
250
 
156
- const fetchData = async ({ pageIndex, pageSize, searchQuery }): Promise<Data | null> => {
251
+ const fetchData = async ({ pageIndex, pageSize, searchQuery }): Promise<AutoPositionedPopupData | null> => {
157
252
  // 你的数据获取逻辑
158
253
  return {
159
254
  items: [
@@ -168,7 +263,7 @@ const MyComponent = () => {
168
263
 
169
264
  return (
170
265
  <View style={{ padding: 20 }}>
171
- <AutoPositionedPopup
266
+ <RNAutoPositionedPopup
172
267
  tag="example-popup"
173
268
  placeholder="请选择一个选项"
174
269
  selectedItem={selectedItem}
@@ -245,10 +340,11 @@ export default MyComponent;
245
340
  ```tsx
246
341
  import React, { useState } from 'react';
247
342
  import { View, Text, Image, StyleSheet } from 'react-native';
248
- import AutoPositionedPopup, { SelectedItem, Data, RootViewProvider } from 'react-native-auto-positioned-popup';
343
+ import RNAutoPositionedPopup from 'react-native-auto-positioned-popup';
344
+ import type {SelectedItem as RNSelectedItem, Data as AutoPositionedPopupData} from 'react-native-auto-positioned-popup';
249
345
 
250
346
  // 支持颜色的数据类型示例
251
- interface ClinicItem extends SelectedItem {
347
+ interface ClinicItem extends RNSelectedItem {
252
348
  code: string;
253
349
  textColor: string;
254
350
  address?: string;
@@ -257,7 +353,7 @@ interface ClinicItem extends SelectedItem {
257
353
  const ClinicSelector = () => {
258
354
  const [selectedClinic, setSelectedClinic] = useState<ClinicItem | null>(null);
259
355
 
260
- const fetchClinics = async ({ pageIndex, pageSize }): Promise<Data | null> => {
356
+ const fetchClinics = async ({ pageIndex, pageSize }): Promise<AutoPositionedPopupData | null> => {
261
357
  // 模拟 API 调用
262
358
  const mockClinics = [
263
359
  { id: '1', title: '主诊所', code: 'MC001', textColor: '#4CAF50', address: '主街123号' },
@@ -278,7 +374,7 @@ const ClinicSelector = () => {
278
374
  return (
279
375
  <RootViewProvider>
280
376
  <View style={styles.container}>
281
- <AutoPositionedPopup
377
+ <RNAutoPositionedPopup
282
378
  tag="clinic-selector"
283
379
  useTextInput={false}
284
380
  localSearch={false}
@@ -523,4 +619,4 @@ MIT © [Stark](https://github.com/your-username)
523
619
  - 自动定位功能
524
620
  - 搜索支持
525
621
  - TypeScript 定义
526
- - 跨平台兼容性
622
+ - 跨平台兼容性
@@ -1 +1 @@
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
+ {"version":3,"file":"AutoPositionedPopup.d.ts","sourceRoot":"","sources":["../src/AutoPositionedPopup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAYN,MAAM,OAAO,CAAC;AAcf,OAAO,EAAC,wBAAwB,EAAqB,MAAM,4BAA4B,CAAC;AA4RxF,QAAA,MAAM,mBAAmB,qFA+vBxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState, } from 'react';
2
- import { Dimensions, Keyboard, Text, TextInput as RNTextInput, TouchableOpacity, View, } from 'react-native';
2
+ import { Dimensions, Keyboard, Platform, StatusBar, Text, TextInput as RNTextInput, TouchableOpacity, View, } from 'react-native';
3
3
  import { AdvancedFlatList } from 'react-native-advanced-flatlist';
4
4
  import styles from './AutoPositionedPopup.style';
5
5
  import { useRootView } from './RootViewContext';
@@ -35,7 +35,8 @@ const ListItem = memo(({ updateState, item, index, selectedItem, }) => {
35
35
  }, [rootViews]);
36
36
  return useMemo(() => {
37
37
  // console.log('AutoPositionedPopup.tsx ListItem index=', index);
38
- // console.log('AutoPositionedPopup.tsx ListItem item=', item);
38
+ console.log('AutoPositionedPopup.tsx ListItem item=', item);
39
+ console.log('AutoPositionedPopup.tsx ListItem selectedItem=', selectedItem);
39
40
  const isSelected = item.id === (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id);
40
41
  return (<TouchableOpacity key={item.id} style={[
41
42
  styles.commonModalRow,
@@ -51,7 +52,7 @@ const ListItem = memo(({ updateState, item, index, selectedItem, }) => {
51
52
  </TouchableOpacity>);
52
53
  }, [updateState, item, index, selectedItem, rootViewsRef]);
53
54
  });
54
- const AutoPositionedPopupList = memo(({ tag, updateState, fetchData, keyExtractor = (item) => String(item.id), renderItem, selectedItem, localSearch, pageSize, }) => {
55
+ const AutoPositionedPopupList = memo(({ tag, updateState, fetchData, keyExtractor = (item) => String(item.id), renderItem, selectedItem, localSearch, pageSize, showListEmptyComponent, emptyText }) => {
55
56
  const [state, setState] = useState({
56
57
  selectedItem: selectedItem,
57
58
  localData: [],
@@ -160,7 +161,7 @@ const AutoPositionedPopupList = memo(({ tag, updateState, fetchData, keyExtracto
160
161
  // Babel configuration handles the path redirection based on global.$fake
161
162
  // No need for conditional import here
162
163
  return (<View style={[styles.baseModalView, styles.autoPositionedPopupList]}>
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 })}/>
164
+ <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 })} showListEmptyComponent={showListEmptyComponent} emptyText={emptyText}/>
164
165
  </View>);
165
166
  }, [tag,
166
167
  updateState,
@@ -172,7 +173,7 @@ const AutoPositionedPopupList = memo(({ tag, updateState, fetchData, keyExtracto
172
173
  searchQuery,
173
174
  localSearch,
174
175
  pageSize,
175
- rootViewsRef,
176
+ rootViewsRef, showListEmptyComponent, emptyText
176
177
  ]);
177
178
  });
178
179
  // List layout constants
@@ -198,7 +199,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
198
199
  console.warn('Error in fetch operation:', e);
199
200
  }
200
201
  return res;
201
- }, renderItem, onItemSelected, localSearch = false, pageSize = 20, selectedItem, useTextInput = false, btwChildren, CustomRow = ({ children }) => <View>{children}</View>, keyExtractor = (item) => String((item === null || item === void 0 ? void 0 : item.id) || ''), AutoPositionedPopupBtnDisabled = false, forceRemoveAllRootViewOnItemSelected = false, centerDisplay = false, selectedItemBackgroundColor = 'rgba(116, 116, 128, 0.08)', textAlign = 'right', CustomPopView = undefined, CustomPopViewStyle } = props;
202
+ }, renderItem, onItemSelected, localSearch = false, pageSize = 20, selectedItem, useTextInput = false, btwChildren, CustomRow = ({ children }) => <View>{children}</View>, keyExtractor = (item) => String((item === null || item === void 0 ? void 0 : item.id) || ''), AutoPositionedPopupBtnDisabled = false, forceRemoveAllRootViewOnItemSelected = false, centerDisplay = false, selectedItemBackgroundColor = 'rgba(116, 116, 128, 0.08)', textAlign = 'right', CustomPopView = undefined, CustomPopViewStyle, showListEmptyComponent = true, emptyText = '' } = props;
202
203
  // State management similar to project implementation
203
204
  const [state, setState] = useState({
204
205
  isFocus: false,
@@ -336,11 +337,26 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
336
337
  if (state.isFocus) {
337
338
  (_b = refAutoPositionedPopup.current) === null || _b === void 0 ? void 0 : _b.measureInWindow((x, y, width, height) => {
338
339
  console.log('AutoPositionedPopup measureInWindow x=', x, ' y=', y, ' width=', width, ' height=', height);
339
- // INTELLIGENT POSITION CALCULATION
340
+ // INTELLIGENT POSITION CALCULATION - MODIFIED VERSION WITH STATUS BAR SAFETY
340
341
  const calculateOptimalPosition = (componentY, componentHeight, popupHeight) => {
342
+ console.log('🔥🔥🔥 NEW CALCULATE OPTIMAL POSITION FUNCTION EXECUTING 🔥🔥🔥');
341
343
  // Use window height (visible area) instead of screen height (includes status bar)
342
344
  const windowHeight = Dimensions.get('window').height;
343
345
  const visibleAreaCenter = windowHeight / 2;
346
+ // Cross-platform status bar height handling
347
+ const getStatusBarHeight = () => {
348
+ if (Platform.OS === 'android') {
349
+ return StatusBar.currentHeight || 24; // Android default
350
+ }
351
+ else {
352
+ // iOS status bar heights vary by device
353
+ const { height: screenHeight } = Dimensions.get('screen');
354
+ const { height: windowHeightLocal } = Dimensions.get('window');
355
+ return screenHeight - windowHeightLocal; // Safe area top
356
+ }
357
+ };
358
+ const statusBarHeight = getStatusBarHeight();
359
+ console.log('🔥 Cross-platform StatusBar height:', statusBarHeight, 'Platform:', Platform.OS);
344
360
  // Calculate component center point as requested
345
361
  const componentCenterY = componentY + componentHeight / 2;
346
362
  console.log('AutoPositionedPopup positioning data:', {
@@ -349,75 +365,163 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
349
365
  componentCenterY,
350
366
  componentY,
351
367
  componentHeight,
352
- popupHeight
368
+ popupHeight,
369
+ statusBarHeight
353
370
  });
354
371
  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
- }
372
+ let finalY = componentY + componentHeight; // Default fallback: show below
373
+ // CORRECTED LOGIC: Calculate actual usable space considering status bar
374
+ const rawSpaceAbove = componentY;
375
+ const spaceBelow = windowHeight - (componentY + componentHeight);
376
+ // Actual usable space above must account for status bar
377
+ const usableSpaceAbove = componentY - statusBarHeight;
378
+ console.log('🔥 AutoPositionedPopup CORRECTED SPACE CALCULATION (pre-spacing):', {
379
+ rawSpaceAbove,
380
+ usableSpaceAbove,
381
+ spaceBelow,
382
+ popupHeight,
383
+ componentY,
384
+ componentHeight,
385
+ windowHeight,
386
+ statusBarHeight
387
+ });
388
+ // ULTRA-TIGHT SPACING: Minimal spacing for tight visual connection
389
+ const getOptimalSpacing = (compY, compHeight, winHeight) => {
390
+ const componentCenter = compY + compHeight / 2;
391
+ const screenCenter = winHeight / 2;
392
+ const distanceFromCenter = Math.abs(componentCenter - screenCenter) / screenCenter;
393
+ // Check if component is in bottom half for ultra-tight spacing
394
+ const isInBottomHalf = componentCenter > screenCenter;
395
+ // Base spacing: extremely small for bottom components
396
+ const baseSpacing = isInBottomHalf ? 0.5 : 3;
397
+ // Aggressive spacing reduction for edge positions - ultra tight for bottom half
398
+ const edgeProximityFactor = isInBottomHalf ?
399
+ Math.max(0.15, 1 - distanceFromCenter * 1.2) :
400
+ Math.max(0.4, 1 - distanceFromCenter * 0.7);
401
+ // Minimal component-relative spacing for bottom components
402
+ const relativeSpacingPercent = isInBottomHalf ? 0.02 : 0.12;
403
+ const relativeSpacing = Math.min(compHeight * relativeSpacingPercent, isInBottomHalf ? 3 : 10);
404
+ // Strong platform adjustment - much smaller for Android bottom components
405
+ const platformMultiplier = Platform.OS === 'ios' ? 1.0 : (isInBottomHalf ? 0.5 : 0.9);
406
+ const finalSpacing = Math.max(baseSpacing, relativeSpacing) * edgeProximityFactor * platformMultiplier;
407
+ console.log('🔥 Advanced spacing calculation:', {
408
+ componentCenter,
409
+ screenCenter,
410
+ distanceFromCenter,
411
+ isInBottomHalf,
412
+ edgeProximityFactor,
413
+ baseSpacing,
414
+ relativeSpacing,
415
+ relativeSpacingPercent,
416
+ platformMultiplier,
417
+ finalSpacing
418
+ });
419
+ return finalSpacing;
420
+ };
421
+ // const POPUP_SPACING = getOptimalSpacing(componentY, componentHeight, windowHeight);
422
+ // console.log('🔥 Optimal popup spacing calculated:', POPUP_SPACING, 'for componentHeight:', componentHeight, 'at Y:', componentY);
423
+ // console.log('🔥 AutoPositionedPopup FINAL SPACE CHECK WITH SPACING:', {
424
+ // POPUP_SPACING,
425
+ // 'usableSpaceAbove >= popupHeight + POPUP_SPACING': usableSpaceAbove >= popupHeight + POPUP_SPACING,
426
+ // 'spaceBelow >= popupHeight + POPUP_SPACING': spaceBelow >= popupHeight + POPUP_SPACING,
427
+ // 'usableSpaceAbove needed': popupHeight + POPUP_SPACING,
428
+ // 'spaceBelow needed': popupHeight + POPUP_SPACING
429
+ // });
430
+ // FORCE ABOVE PRIORITY: If component is in bottom half, always try above first
431
+ const isInBottomHalf = componentCenterY > visibleAreaCenter;
432
+ // console.log('🔥 Position decision factors:', {
433
+ // isInBottomHalf,
434
+ // componentCenterY,
435
+ // visibleAreaCenter,
436
+ // 'spaceBelow >= needed': spaceBelow >= popupHeight + POPUP_SPACING,
437
+ // 'usableSpaceAbove >= needed': usableSpaceAbove >= popupHeight + POPUP_SPACING
438
+ // });
439
+ if (isInBottomHalf && usableSpaceAbove >= popupHeight) {
440
+ // Component in bottom half + enough space above = FORCE ABOVE
441
+ showAbove = true;
442
+ finalY = componentY - popupHeight + componentHeight / 2;
443
+ console.log('🔥 AutoPositionedPopup: FORCE ABOVE - bottom half component with enough space, finalY=', finalY);
444
+ }
445
+ else if (!isInBottomHalf && spaceBelow >= popupHeight) {
446
+ // Component in top half + enough space below = show below
447
+ showAbove = false;
448
+ finalY = componentY + componentHeight * 2;
449
+ console.log('🔥 AutoPositionedPopup: Showing below - top half component with enough space, finalY=', finalY);
450
+ }
451
+ else if (usableSpaceAbove >= popupHeight) {
452
+ // Fallback: enough space above
453
+ showAbove = true;
454
+ finalY = componentY - popupHeight;
455
+ console.log('🔥 AutoPositionedPopup: Showing above - enough space available (fallback), finalY=', finalY);
456
+ }
457
+ else if (spaceBelow >= popupHeight) {
458
+ // Fallback: enough space below
459
+ showAbove = false;
460
+ finalY = componentY + componentHeight;
461
+ console.log('🔥 AutoPositionedPopup: Showing below - enough space available (fallback), finalY=', finalY);
377
462
  }
378
463
  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;
464
+ // Emergency fallback: choose larger space
465
+ if (usableSpaceAbove >= spaceBelow) {
466
+ showAbove = true;
467
+ finalY = Math.max(statusBarHeight, componentY - popupHeight);
468
+ console.log('🔥 AutoPositionedPopup: Emergency above - larger space, finalY=', finalY);
384
469
  }
385
470
  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
- }
471
+ showAbove = false;
472
+ finalY = componentY + componentHeight;
473
+ console.log('🔥 AutoPositionedPopup: Emergency below - larger space, finalY=', finalY);
396
474
  }
397
475
  }
398
- // Final boundary check to ensure popup stays within visible area
399
- if (finalY < 0) {
400
- finalY = 0;
476
+ // Enhanced boundary check with detailed logging
477
+ console.log('🔥 Pre-boundary check:', {
478
+ originalFinalY: finalY,
479
+ showAbove,
480
+ statusBarHeight,
481
+ windowHeight,
482
+ popupHeight,
483
+ 'finalY < statusBarHeight': finalY < statusBarHeight,
484
+ 'finalY + popupHeight > windowHeight': finalY + popupHeight > windowHeight
485
+ });
486
+ if (showAbove && finalY < statusBarHeight) {
487
+ const oldFinalY = finalY;
488
+ finalY = statusBarHeight;
489
+ console.log('🔥 BOUNDARY FIX: Above display adjusted for status bar:', oldFinalY, '->', finalY);
401
490
  }
402
- if (finalY + popupHeight > windowHeight) {
491
+ if (!showAbove && finalY + popupHeight > windowHeight) {
492
+ const oldFinalY = finalY;
403
493
  finalY = windowHeight - popupHeight;
494
+ console.log('🔥 BOUNDARY FIX: Below display adjusted to fit window:', oldFinalY, '->', finalY);
495
+ }
496
+ // CRITICAL CHECK: Detect if boundary check is changing display direction
497
+ if (showAbove && finalY + popupHeight > componentY) {
498
+ console.log('🚨 WARNING: Above positioning may overlap with component!');
404
499
  }
500
+ if (!showAbove && finalY < componentY + componentHeight) {
501
+ console.log('🚨 WARNING: Below positioning may overlap with component!');
502
+ }
503
+ console.log('🔥 Post-boundary check final result:', {
504
+ finalY,
505
+ showAbove,
506
+ 'popupTop': finalY,
507
+ 'popupBottom': finalY + popupHeight,
508
+ 'componentTop': componentY,
509
+ 'componentBottom': componentY + componentHeight
510
+ });
405
511
  return { finalY, showAbove };
406
512
  };
407
- const positionResult = calculateOptimalPosition(y, height, listLayout.height);
408
- console.log('AutoPositionedPopup position result:', positionResult);
513
+ // Calculate position ONCE based on actual popup height
514
+ const actualPopupHeight = CustomPopView && CustomPopViewStyle && typeof CustomPopViewStyle.height === 'number'
515
+ ? CustomPopViewStyle.height
516
+ : listLayout.height;
517
+ console.log('🔥 Using actualPopupHeight for calculation:', actualPopupHeight, 'CustomPopView:', !!CustomPopView);
518
+ const positionResult = calculateOptimalPosition(y, height, actualPopupHeight);
519
+ console.log('AutoPositionedPopup FINAL position result:', positionResult);
409
520
  ref_listPos.current = { x: x, y: positionResult.finalY, width: width };
410
521
  console.log('AutoPositionedPopup ref_listPos.current=', ref_listPos.current);
411
522
  if (CustomPopView && CustomPopViewStyle) {
412
523
  console.log('AutoPositionedPopup CustomPopViewStyle=', CustomPopViewStyle);
413
- // Ensure CustomPopViewStyle.height is a number before using it in calculations
414
- const customHeight = typeof CustomPopViewStyle.height === 'number' ? CustomPopViewStyle.height : listLayout.height;
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 };
524
+ // Position already calculated correctly above, no need to recalculate
421
525
  const PopViewComponent = CustomPopView();
422
526
  console.log('AutoPositionedPopup addRootView PopViewComponent=', PopViewComponent);
423
527
  console.log('AutoPositionedPopup addRootView state.selectedItem=', state.selectedItem);
@@ -452,7 +556,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
452
556
  height: listLayout.height,
453
557
  opacity: 1,
454
558
  },
455
- component: (<AutoPositionedPopupList tag={tag} updateState={updateState} fetchData={fetchData} pageSize={pageSize} renderItem={renderItem} selectedItem={state.selectedItem} localSearch={localSearch}/>),
559
+ component: (<AutoPositionedPopupList tag={tag} updateState={updateState} fetchData={fetchData} pageSize={pageSize} renderItem={renderItem} selectedItem={state.selectedItem} localSearch={localSearch} showListEmptyComponent={showListEmptyComponent} emptyText={emptyText}/>),
456
560
  useModal: true,
457
561
  onModalClose: () => {
458
562
  console.log('AutoPositionedPopup onModalClose tag=', tag);
@@ -485,7 +589,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
485
589
  CustomPopViewStyle,
486
590
  forceRemoveAllRootViewOnItemSelected,
487
591
  tag,
488
- state.selectedItem,
592
+ state.selectedItem, showListEmptyComponent
489
593
  ]);
490
594
  // Imperative handle for parent component access
491
595
  useImperativeHandle(parentRef, () => ({
@@ -541,7 +645,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
541
645
  height: listLayout.height,
542
646
  opacity: 0,
543
647
  },
544
- component: (<AutoPositionedPopupList tag={tag} updateState={updateState} fetchData={fetchData} pageSize={pageSize} renderItem={renderItem} selectedItem={state.selectedItem} localSearch={localSearch}/>),
648
+ component: (<AutoPositionedPopupList tag={tag} updateState={updateState} fetchData={fetchData} pageSize={pageSize} renderItem={renderItem} selectedItem={state.selectedItem} localSearch={localSearch} showListEmptyComponent={showListEmptyComponent} emptyText={emptyText}/>),
545
649
  useModal: false,
546
650
  });
547
651
  }
@@ -633,7 +737,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
633
737
  forceRemoveAllRootViewOnItemSelected,
634
738
  inputStyle,
635
739
  TextInputProps,
636
- state.isFocus,]);
740
+ state.isFocus, showListEmptyComponent, emptyText]);
637
741
  }));
638
742
  export default AutoPositionedPopup;
639
743
  //# sourceMappingURL=AutoPositionedPopup.js.map
@@ -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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"}
@@ -54,5 +54,7 @@ export interface AutoPositionedPopupProps {
54
54
  AutoPositionedPopupBtnDisabled?: boolean;
55
55
  centerDisplay?: boolean;
56
56
  selectedItemBackgroundColor?: string;
57
+ showListEmptyComponent?: boolean;
58
+ emptyText?: string;
57
59
  }
58
60
  //# sourceMappingURL=AutoPositionedPopupProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoPositionedPopupProps.d.ts","sourceRoot":"","sources":["../src/AutoPositionedPopupProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uDAAuD,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,EACX,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IAC5F,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,+BAA+B,CAAC,KAAK,IAAI,CAAC;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC;IAClC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,KAAK,CAAC,aAAa,CACvC,SAAS,GAAG;QACV,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,YAAY,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC;KACnC,CACF,CAAC;IACF,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,2BAA2B,CAAC,EAAE,SAAS,CAAC;IACxC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC"}
1
+ {"version":3,"file":"AutoPositionedPopupProps.d.ts","sourceRoot":"","sources":["../src/AutoPositionedPopupProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uDAAuD,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,EACX,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IAC5F,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,+BAA+B,CAAC,KAAK,IAAI,CAAC;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC;IAClC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,KAAK,CAAC,aAAa,CACvC,SAAS,GAAG;QACV,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,YAAY,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC;KACnC,CACF,CAAC;IACF,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,2BAA2B,CAAC,EAAE,SAAS,CAAC;IACxC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAC,OAAO,CAAC;IAChC,SAAS,CAAC,EAAC,MAAM,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-auto-positioned-popup",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
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,23 +60,23 @@
60
60
  "react-native": ">=0.60.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@types/node": "^24.3.0",
64
- "@types/react": "^19.1.10",
63
+ "@types/node": "^24.10.0",
64
+ "@types/react": "^19.2.2",
65
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",
66
+ "@typescript-eslint/eslint-plugin": "^8.46.3",
67
+ "@typescript-eslint/parser": "^8.46.3",
68
+ "eslint": "^9.39.1",
69
69
  "eslint-plugin-react": "^7.37.5",
70
- "eslint-plugin-react-hooks": "^5.2.0",
70
+ "eslint-plugin-react-hooks": "^7.0.1",
71
71
  "eslint-plugin-react-native": "^5.0.0",
72
- "rimraf": "^6.0.1",
73
- "typescript": "^5.9.2"
72
+ "rimraf": "^6.1.0",
73
+ "typescript": "^5.9.3"
74
74
  },
75
75
  "engines": {
76
76
  "node": ">=14.0.0"
77
77
  },
78
78
  "react-native": "lib/index.js",
79
79
  "dependencies": {
80
- "react-native-advanced-flatlist": "^1.1.1"
80
+ "react-native-advanced-flatlist": "^1.1.2"
81
81
  }
82
82
  }
@@ -14,6 +14,8 @@ import React, {
14
14
  import {
15
15
  Dimensions,
16
16
  Keyboard,
17
+ Platform,
18
+ StatusBar,
17
19
  Text,
18
20
  TextInput as RNTextInput,
19
21
  TouchableOpacity,
@@ -87,7 +89,8 @@ const ListItem: React.FC<{
87
89
  }, [rootViews]);
88
90
  return useMemo(() => {
89
91
  // console.log('AutoPositionedPopup.tsx ListItem index=', index);
90
- // console.log('AutoPositionedPopup.tsx ListItem item=', item);
92
+ console.log('AutoPositionedPopup.tsx ListItem item=', item);
93
+ console.log('AutoPositionedPopup.tsx ListItem selectedItem=', selectedItem);
91
94
  const isSelected = item.id === selectedItem?.id;
92
95
  return (
93
96
  <TouchableOpacity
@@ -129,6 +132,8 @@ interface AutoPositionedPopupListProps {
129
132
  selectedItem?: SelectedItem;
130
133
  localSearch?: boolean;
131
134
  pageSize?: number;
135
+ showListEmptyComponent?:boolean;
136
+ emptyText?: string;
132
137
  }
133
138
 
134
139
  const AutoPositionedPopupList: React.FC<AutoPositionedPopupListProps> = memo(
@@ -140,7 +145,7 @@ const AutoPositionedPopupList: React.FC<AutoPositionedPopupListProps> = memo(
140
145
  renderItem,
141
146
  selectedItem,
142
147
  localSearch,
143
- pageSize,
148
+ pageSize,showListEmptyComponent,emptyText
144
149
  }: AutoPositionedPopupListProps): React.JSX.Element => {
145
150
  const [state, setState] = useState<{
146
151
  selectedItem?: SelectedItem;
@@ -271,6 +276,8 @@ const AutoPositionedPopupList: React.FC<AutoPositionedPopupListProps> = memo(
271
276
  keyboardShouldPersistTaps={'always'}
272
277
  fetchData={_fetchData}
273
278
  renderItem={renderItem ? ({item, index}) => renderItem({item: item as SelectedItem, index}) : ({item, index}) => _renderItem({item: item as SelectedItem, index})}
279
+ showListEmptyComponent={showListEmptyComponent}
280
+ emptyText={emptyText}
274
281
  />
275
282
  </View>
276
283
  );
@@ -284,7 +291,7 @@ const AutoPositionedPopupList: React.FC<AutoPositionedPopupListProps> = memo(
284
291
  searchQuery,
285
292
  localSearch,
286
293
  pageSize,
287
- rootViewsRef,
294
+ rootViewsRef,showListEmptyComponent,emptyText
288
295
  ]);
289
296
  }
290
297
  );
@@ -353,7 +360,7 @@ const AutoPositionedPopup = memo(
353
360
  centerDisplay = false,
354
361
  selectedItemBackgroundColor = 'rgba(116, 116, 128, 0.08)',
355
362
  textAlign = 'right',
356
- CustomPopView = undefined, CustomPopViewStyle
363
+ CustomPopView = undefined, CustomPopViewStyle,showListEmptyComponent=true,emptyText=''
357
364
  } = props;
358
365
  // State management similar to project implementation
359
366
  const [state, setState] = useState<StateProps>({
@@ -509,12 +516,28 @@ const AutoPositionedPopup = memo(
509
516
  refAutoPositionedPopup.current?.measureInWindow((x: number, y: number, width: number, height: number) => {
510
517
  console.log('AutoPositionedPopup measureInWindow x=', x, ' y=', y, ' width=', width, ' height=', height);
511
518
 
512
- // INTELLIGENT POSITION CALCULATION
519
+ // INTELLIGENT POSITION CALCULATION - MODIFIED VERSION WITH STATUS BAR SAFETY
513
520
  const calculateOptimalPosition = (componentY: number, componentHeight: number, popupHeight: number) => {
521
+ console.log('🔥🔥🔥 NEW CALCULATE OPTIMAL POSITION FUNCTION EXECUTING 🔥🔥🔥');
522
+
514
523
  // Use window height (visible area) instead of screen height (includes status bar)
515
524
  const windowHeight = Dimensions.get('window').height;
516
525
  const visibleAreaCenter = windowHeight / 2;
517
526
 
527
+ // Cross-platform status bar height handling
528
+ const getStatusBarHeight = () => {
529
+ if (Platform.OS === 'android') {
530
+ return StatusBar.currentHeight || 24; // Android default
531
+ } else {
532
+ // iOS status bar heights vary by device
533
+ const {height: screenHeight} = Dimensions.get('screen');
534
+ const {height: windowHeightLocal} = Dimensions.get('window');
535
+ return screenHeight - windowHeightLocal; // Safe area top
536
+ }
537
+ };
538
+ const statusBarHeight = getStatusBarHeight();
539
+ console.log('🔥 Cross-platform StatusBar height:', statusBarHeight, 'Platform:', Platform.OS);
540
+
518
541
  // Calculate component center point as requested
519
542
  const componentCenterY = componentY + componentHeight / 2;
520
543
 
@@ -524,80 +547,186 @@ const AutoPositionedPopup = memo(
524
547
  componentCenterY,
525
548
  componentY,
526
549
  componentHeight,
527
- popupHeight
550
+ popupHeight,
551
+ statusBarHeight
528
552
  });
529
553
 
530
554
  let showAbove = false;
531
- let finalY = componentY + componentHeight; // Default: show below
555
+ let finalY = componentY + componentHeight; // Default fallback: show below
532
556
 
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
- }
557
+ // CORRECTED LOGIC: Calculate actual usable space considering status bar
558
+ const rawSpaceAbove = componentY;
559
+ const spaceBelow = windowHeight - (componentY + componentHeight);
560
+ // Actual usable space above must account for status bar
561
+ const usableSpaceAbove = componentY - statusBarHeight;
562
+
563
+ console.log('🔥 AutoPositionedPopup CORRECTED SPACE CALCULATION (pre-spacing):', {
564
+ rawSpaceAbove,
565
+ usableSpaceAbove,
566
+ spaceBelow,
567
+ popupHeight,
568
+ componentY,
569
+ componentHeight,
570
+ windowHeight,
571
+ statusBarHeight
572
+ });
573
+
574
+ // ULTRA-TIGHT SPACING: Minimal spacing for tight visual connection
575
+ const getOptimalSpacing = (compY: number, compHeight: number, winHeight: number) => {
576
+ const componentCenter = compY + compHeight / 2;
577
+ const screenCenter = winHeight / 2;
578
+ const distanceFromCenter = Math.abs(componentCenter - screenCenter) / screenCenter;
579
+
580
+ // Check if component is in bottom half for ultra-tight spacing
581
+ const isInBottomHalf = componentCenter > screenCenter;
582
+
583
+ // Base spacing: extremely small for bottom components
584
+ const baseSpacing = isInBottomHalf ? 0.5 : 3;
585
+
586
+ // Aggressive spacing reduction for edge positions - ultra tight for bottom half
587
+ const edgeProximityFactor = isInBottomHalf ?
588
+ Math.max(0.15, 1 - distanceFromCenter * 1.2) :
589
+ Math.max(0.4, 1 - distanceFromCenter * 0.7);
590
+
591
+ // Minimal component-relative spacing for bottom components
592
+ const relativeSpacingPercent = isInBottomHalf ? 0.02 : 0.12;
593
+ const relativeSpacing = Math.min(compHeight * relativeSpacingPercent, isInBottomHalf ? 3 : 10);
594
+
595
+ // Strong platform adjustment - much smaller for Android bottom components
596
+ const platformMultiplier = Platform.OS === 'ios' ? 1.0 : (isInBottomHalf ? 0.5 : 0.9);
597
+
598
+ const finalSpacing = Math.max(baseSpacing, relativeSpacing) * edgeProximityFactor * platformMultiplier;
599
+
600
+ console.log('🔥 Advanced spacing calculation:', {
601
+ componentCenter,
602
+ screenCenter,
603
+ distanceFromCenter,
604
+ isInBottomHalf,
605
+ edgeProximityFactor,
606
+ baseSpacing,
607
+ relativeSpacing,
608
+ relativeSpacingPercent,
609
+ platformMultiplier,
610
+ finalSpacing
611
+ });
612
+
613
+ return finalSpacing;
614
+ };
615
+ // const POPUP_SPACING = getOptimalSpacing(componentY, componentHeight, windowHeight);
616
+ // console.log('🔥 Optimal popup spacing calculated:', POPUP_SPACING, 'for componentHeight:', componentHeight, 'at Y:', componentY);
617
+
618
+ // console.log('🔥 AutoPositionedPopup FINAL SPACE CHECK WITH SPACING:', {
619
+ // POPUP_SPACING,
620
+ // 'usableSpaceAbove >= popupHeight + POPUP_SPACING': usableSpaceAbove >= popupHeight + POPUP_SPACING,
621
+ // 'spaceBelow >= popupHeight + POPUP_SPACING': spaceBelow >= popupHeight + POPUP_SPACING,
622
+ // 'usableSpaceAbove needed': popupHeight + POPUP_SPACING,
623
+ // 'spaceBelow needed': popupHeight + POPUP_SPACING
624
+ // });
625
+
626
+ // FORCE ABOVE PRIORITY: If component is in bottom half, always try above first
627
+ const isInBottomHalf = componentCenterY > visibleAreaCenter;
628
+
629
+ // console.log('🔥 Position decision factors:', {
630
+ // isInBottomHalf,
631
+ // componentCenterY,
632
+ // visibleAreaCenter,
633
+ // 'spaceBelow >= needed': spaceBelow >= popupHeight + POPUP_SPACING,
634
+ // 'usableSpaceAbove >= needed': usableSpaceAbove >= popupHeight + POPUP_SPACING
635
+ // });
636
+
637
+ if (isInBottomHalf && usableSpaceAbove >= popupHeight ) {
638
+ // Component in bottom half + enough space above = FORCE ABOVE
639
+ showAbove = true;
640
+ finalY = componentY - popupHeight +componentHeight/2;
641
+ console.log('🔥 AutoPositionedPopup: FORCE ABOVE - bottom half component with enough space, finalY=', finalY);
642
+ } else if (!isInBottomHalf && spaceBelow >= popupHeight ) {
643
+ // Component in top half + enough space below = show below
644
+ showAbove = false;
645
+ finalY = componentY + componentHeight*2;
646
+ console.log('🔥 AutoPositionedPopup: Showing below - top half component with enough space, finalY=', finalY);
647
+ } else if (usableSpaceAbove >= popupHeight ) {
648
+ // Fallback: enough space above
649
+ showAbove = true;
650
+ finalY = componentY - popupHeight ;
651
+ console.log('🔥 AutoPositionedPopup: Showing above - enough space available (fallback), finalY=', finalY);
652
+ } else if (spaceBelow >= popupHeight ) {
653
+ // Fallback: enough space below
654
+ showAbove = false;
655
+ finalY = componentY + componentHeight ;
656
+ console.log('🔥 AutoPositionedPopup: Showing below - enough space available (fallback), finalY=', finalY);
552
657
  } 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;
658
+ // Emergency fallback: choose larger space
659
+ if (usableSpaceAbove >= spaceBelow) {
660
+ showAbove = true;
661
+ finalY = Math.max(statusBarHeight, componentY - popupHeight );
662
+ console.log('🔥 AutoPositionedPopup: Emergency above - larger space, finalY=', finalY);
558
663
  } 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
- }
664
+ showAbove = false;
665
+ finalY = componentY + componentHeight ;
666
+ console.log('🔥 AutoPositionedPopup: Emergency below - larger space, finalY=', finalY);
568
667
  }
569
668
  }
570
669
 
571
- // Final boundary check to ensure popup stays within visible area
572
- if (finalY < 0) {
573
- finalY = 0;
670
+ // Enhanced boundary check with detailed logging
671
+ console.log('🔥 Pre-boundary check:', {
672
+ originalFinalY: finalY,
673
+ showAbove,
674
+ statusBarHeight,
675
+ windowHeight,
676
+ popupHeight,
677
+ 'finalY < statusBarHeight': finalY < statusBarHeight,
678
+ 'finalY + popupHeight > windowHeight': finalY + popupHeight > windowHeight
679
+ });
680
+
681
+ if (showAbove && finalY < statusBarHeight) {
682
+ const oldFinalY = finalY;
683
+ finalY = statusBarHeight;
684
+ console.log('🔥 BOUNDARY FIX: Above display adjusted for status bar:', oldFinalY, '->', finalY);
574
685
  }
575
- if (finalY + popupHeight > windowHeight) {
686
+
687
+ if (!showAbove && finalY + popupHeight > windowHeight) {
688
+ const oldFinalY = finalY;
576
689
  finalY = windowHeight - popupHeight;
690
+ console.log('🔥 BOUNDARY FIX: Below display adjusted to fit window:', oldFinalY, '->', finalY);
691
+ }
692
+
693
+ // CRITICAL CHECK: Detect if boundary check is changing display direction
694
+ if (showAbove && finalY + popupHeight > componentY ) {
695
+ console.log('🚨 WARNING: Above positioning may overlap with component!');
696
+ }
697
+
698
+ if (!showAbove && finalY < componentY + componentHeight ) {
699
+ console.log('🚨 WARNING: Below positioning may overlap with component!');
577
700
  }
578
701
 
702
+ console.log('🔥 Post-boundary check final result:', {
703
+ finalY,
704
+ showAbove,
705
+ 'popupTop': finalY,
706
+ 'popupBottom': finalY + popupHeight,
707
+ 'componentTop': componentY,
708
+ 'componentBottom': componentY + componentHeight
709
+ });
710
+
579
711
  return {finalY, showAbove};
580
712
  };
581
713
 
582
- const positionResult = calculateOptimalPosition(y, height, listLayout.height);
583
- console.log('AutoPositionedPopup position result:', positionResult);
714
+ // Calculate position ONCE based on actual popup height
715
+ const actualPopupHeight = CustomPopView && CustomPopViewStyle && typeof CustomPopViewStyle.height === 'number'
716
+ ? CustomPopViewStyle.height
717
+ : listLayout.height;
718
+
719
+ console.log('🔥 Using actualPopupHeight for calculation:', actualPopupHeight, 'CustomPopView:', !!CustomPopView);
720
+
721
+ const positionResult = calculateOptimalPosition(y, height, actualPopupHeight);
722
+ console.log('AutoPositionedPopup FINAL position result:', positionResult);
584
723
 
585
724
  ref_listPos.current = {x: x, y: positionResult.finalY, width: width};
586
725
  console.log('AutoPositionedPopup ref_listPos.current=', ref_listPos.current);
726
+
587
727
  if (CustomPopView && CustomPopViewStyle) {
588
728
  console.log('AutoPositionedPopup CustomPopViewStyle=', CustomPopViewStyle);
589
- // Ensure CustomPopViewStyle.height is a number before using it in calculations
590
- const customHeight =
591
- typeof CustomPopViewStyle.height === 'number' ? CustomPopViewStyle.height : listLayout.height;
592
-
593
- // Apply same intelligent positioning strategy for CustomPopView
594
- console.log('AutoPositionedPopup CustomPopView using intelligent positioning, customHeight=', customHeight);
595
-
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};
729
+ // Position already calculated correctly above, no need to recalculate
601
730
  const PopViewComponent = CustomPopView();
602
731
  console.log('AutoPositionedPopup addRootView PopViewComponent=', PopViewComponent);
603
732
  console.log('AutoPositionedPopup addRootView state.selectedItem=', state.selectedItem);
@@ -651,6 +780,8 @@ const AutoPositionedPopup = memo(
651
780
  renderItem={renderItem}
652
781
  selectedItem={state.selectedItem}
653
782
  localSearch={localSearch}
783
+ showListEmptyComponent={showListEmptyComponent}
784
+ emptyText={emptyText}
654
785
  />
655
786
  ),
656
787
  useModal: true,
@@ -687,7 +818,7 @@ const AutoPositionedPopup = memo(
687
818
  CustomPopViewStyle,
688
819
  forceRemoveAllRootViewOnItemSelected,
689
820
  tag,
690
- state.selectedItem,
821
+ state.selectedItem,showListEmptyComponent
691
822
  ]);
692
823
  // Imperative handle for parent component access
693
824
  useImperativeHandle(
@@ -781,6 +912,8 @@ const AutoPositionedPopup = memo(
781
912
  renderItem={renderItem}
782
913
  selectedItem={state.selectedItem}
783
914
  localSearch={localSearch}
915
+ showListEmptyComponent={showListEmptyComponent}
916
+ emptyText={emptyText}
784
917
  />
785
918
  ),
786
919
  useModal: false,
@@ -939,7 +1072,7 @@ const AutoPositionedPopup = memo(
939
1072
  forceRemoveAllRootViewOnItemSelected,
940
1073
  inputStyle,
941
1074
  TextInputProps,
942
- state.isFocus,]);
1075
+ state.isFocus,showListEmptyComponent,emptyText]);
943
1076
  }
944
1077
  )
945
1078
  );
@@ -58,4 +58,6 @@ export interface AutoPositionedPopupProps {
58
58
  AutoPositionedPopupBtnDisabled?: boolean;
59
59
  centerDisplay?: boolean;
60
60
  selectedItemBackgroundColor?: string;
61
+ showListEmptyComponent?:boolean;
62
+ emptyText?:string;
61
63
  }