react-native-auto-positioned-popup 1.0.17 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/AutoPositionedPopup.d.ts.map +1 -1
- package/lib/AutoPositionedPopup.js +68 -174
- package/lib/AutoPositionedPopup.js.map +1 -1
- package/lib/AutoPositionedPopupProps.d.ts +21 -0
- package/lib/AutoPositionedPopupProps.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/AutoPositionedPopup.tsx +81 -212
- package/src/AutoPositionedPopupProps.ts +27 -6
|
@@ -1 +1 @@
|
|
|
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;AAuRxF,QAAA,MAAM,mBAAmB,
|
|
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;AAuRxF,QAAA,MAAM,mBAAmB,qFAk0BxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -178,7 +178,8 @@ const listLayout = {
|
|
|
178
178
|
// Main AutoPositionedPopup component
|
|
179
179
|
const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
180
180
|
console.log('AutoPositionedPopup props=', props);
|
|
181
|
-
const { tag, style, AutoPositionedPopupBtnStyle, placeholder = 'Please Select', onSubmitEditing, TextInputProps
|
|
181
|
+
const { tag, style, AutoPositionedPopupBtnStyle, placeholder = 'Please Select', onSubmitEditing, TextInputProps, //= {autoFocus: true},
|
|
182
|
+
inputStyle, labelStyle, popUpViewStyle = { left: '5%', width: '90%' }, fetchData = async ({ pageIndex, pageSize, searchQuery, }) => {
|
|
182
183
|
const res = {
|
|
183
184
|
items: [],
|
|
184
185
|
pageIndex,
|
|
@@ -291,7 +292,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
291
292
|
const keyboardStateChanged = prevIsKeyboardFullyShownRef.current !== isKeyboardFullyShown;
|
|
292
293
|
const propsChanged = prevPropsRef.current.CustomPopView !== CustomPopView ||
|
|
293
294
|
prevPropsRef.current.CustomPopViewStyle !== CustomPopViewStyle ||
|
|
294
|
-
prevPropsRef.current.TextInputProps !== TextInputProps;
|
|
295
|
+
(prevPropsRef.current.TextInputProps !== TextInputProps && useTextInput);
|
|
295
296
|
console.log('AutoPositionedPopup useEffect [isKeyboardFullyShown,\n' +
|
|
296
297
|
' state.isFocus,\n' +
|
|
297
298
|
' useTextInput,\n' +
|
|
@@ -310,7 +311,10 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
310
311
|
'hasAddedRootView.current': hasAddedRootView.current,
|
|
311
312
|
'hasShownRootView.current': hasShownRootView.current,
|
|
312
313
|
'keyboardStateChanged': keyboardStateChanged,
|
|
313
|
-
'propsChanged': propsChanged
|
|
314
|
+
'propsChanged': propsChanged,
|
|
315
|
+
'prevPropsRef.current.CustomPopView !== CustomPopView': prevPropsRef.current.CustomPopView !== CustomPopView,
|
|
316
|
+
'prevPropsRef.current.CustomPopViewStyle !== CustomPopViewStyle': prevPropsRef.current.CustomPopViewStyle !== CustomPopViewStyle,
|
|
317
|
+
'prevPropsRef.current.TextInputProps !== TextInputProps': prevPropsRef.current.TextInputProps !== TextInputProps
|
|
314
318
|
});
|
|
315
319
|
// Update ref to record current state
|
|
316
320
|
prevIsKeyboardFullyShownRef.current = isKeyboardFullyShown;
|
|
@@ -327,6 +331,20 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
327
331
|
// }
|
|
328
332
|
return;
|
|
329
333
|
}
|
|
334
|
+
const getStatusBarHeight = () => {
|
|
335
|
+
if (Platform.OS === 'android') {
|
|
336
|
+
// Android: Use StatusBar.currentHeight API
|
|
337
|
+
return StatusBar.currentHeight || 24; // Fallback to 24 if undefined
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
// iOS: Calculate from screen vs window height difference
|
|
341
|
+
const { height: screenHeightFull } = Dimensions.get('screen');
|
|
342
|
+
const { height: windowHeight } = Dimensions.get('window');
|
|
343
|
+
return screenHeightFull - windowHeight; // Safe area top (status bar)
|
|
344
|
+
}
|
|
345
|
+
};
|
|
346
|
+
// Get accurate status bar height for both iOS and Android
|
|
347
|
+
const statusBarHeight = getStatusBarHeight();
|
|
330
348
|
if (useTextInput) {
|
|
331
349
|
if (isKeyboardFullyShown && hasAddedRootView.current && !hasShownRootView.current && state.isFocus) {
|
|
332
350
|
// CRITICAL FIX FOR KEYBOARD POSITION CALCULATION
|
|
@@ -370,11 +388,11 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
370
388
|
// 1. ALWAYS try to show popup ABOVE the input field first
|
|
371
389
|
// 2. Only if that goes off the top of screen, show BELOW instead
|
|
372
390
|
// 3. Don't cover/overlap the input field
|
|
373
|
-
let popupY = y - listLayout.height; // Default: above input field
|
|
391
|
+
let popupY = y - listLayout.height + statusBarHeight; // Default: above input field
|
|
374
392
|
// Check if showing above would go off the top of screen
|
|
375
|
-
if (popupY <
|
|
393
|
+
if (popupY < statusBarHeight) {
|
|
376
394
|
console.log('AutoPositionedPopup with keyboard: would go off screen top, showing BELOW instead');
|
|
377
|
-
popupY = y + height; // Show below input field
|
|
395
|
+
popupY = y + height + statusBarHeight; // Show below input field
|
|
378
396
|
// Also check if showing below would go off the bottom
|
|
379
397
|
const maxY = screenHeight - listLayout.height;
|
|
380
398
|
if (popupY > maxY) {
|
|
@@ -414,180 +432,53 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
414
432
|
}
|
|
415
433
|
else {
|
|
416
434
|
if (state.isFocus) {
|
|
435
|
+
if (isKeyboardFullyShown) {
|
|
436
|
+
Keyboard.dismiss();
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
417
439
|
(_a = refAutoPositionedPopup.current) === null || _a === void 0 ? void 0 : _a.measureInWindow((x, y, width, height) => {
|
|
418
440
|
console.log('AutoPositionedPopup !useTextInput measureInWindow=', { x, y, width, height });
|
|
419
|
-
//
|
|
441
|
+
// CORRECT POSITIONING LOGIC (as per user requirement)
|
|
442
|
+
// Default: show popup ABOVE the input field
|
|
443
|
+
// Only if that goes off the top of screen (considering status bar), show BELOW instead
|
|
420
444
|
const calculateOptimalPosition = (componentY, componentHeight, popupHeight) => {
|
|
421
|
-
console.log('AutoPositionedPopup
|
|
422
|
-
// Use window height (visible area) instead of screen height
|
|
423
|
-
const
|
|
424
|
-
const visibleAreaCenter = windowHeight / 2;
|
|
425
|
-
// Cross-platform status bar height handling
|
|
426
|
-
const getStatusBarHeight = () => {
|
|
427
|
-
if (Platform.OS === 'android') {
|
|
428
|
-
return StatusBar.currentHeight || 24; // Android default
|
|
429
|
-
}
|
|
430
|
-
else {
|
|
431
|
-
// iOS status bar heights vary by device
|
|
432
|
-
const { height: screenHeight } = Dimensions.get('screen');
|
|
433
|
-
const { height: windowHeightLocal } = Dimensions.get('window');
|
|
434
|
-
return screenHeight - windowHeightLocal; // Safe area top
|
|
435
|
-
}
|
|
436
|
-
};
|
|
437
|
-
const statusBarHeight = getStatusBarHeight();
|
|
438
|
-
console.log('AutoPositionedPopup 🔥 Cross-platform StatusBar height:', statusBarHeight, 'Platform:', Platform.OS);
|
|
439
|
-
// Calculate component center point as requested
|
|
440
|
-
const componentCenterY = componentY + componentHeight / 2;
|
|
445
|
+
console.log('AutoPositionedPopup calculateOptimalPosition executing');
|
|
446
|
+
// Use window height (visible area) instead of screen height
|
|
447
|
+
const screenHeight = Dimensions.get('window').height;
|
|
441
448
|
console.log('AutoPositionedPopup positioning data:', {
|
|
442
|
-
|
|
443
|
-
visibleAreaCenter,
|
|
444
|
-
componentCenterY,
|
|
449
|
+
screenHeight,
|
|
445
450
|
componentY,
|
|
446
451
|
componentHeight,
|
|
447
452
|
popupHeight,
|
|
448
|
-
statusBarHeight
|
|
449
|
-
});
|
|
450
|
-
let showAbove = false;
|
|
451
|
-
let finalY = componentY + componentHeight; // Default fallback: show below
|
|
452
|
-
// CORRECTED LOGIC: Calculate actual usable space considering status bar
|
|
453
|
-
const rawSpaceAbove = componentY;
|
|
454
|
-
const spaceBelow = windowHeight - (componentY + componentHeight);
|
|
455
|
-
// Actual usable space above must account for status bar
|
|
456
|
-
const usableSpaceAbove = componentY - statusBarHeight;
|
|
457
|
-
console.log('🔥 AutoPositionedPopup CORRECTED SPACE CALCULATION (pre-spacing):', {
|
|
458
|
-
rawSpaceAbove,
|
|
459
|
-
usableSpaceAbove,
|
|
460
|
-
spaceBelow,
|
|
461
|
-
popupHeight,
|
|
462
|
-
componentY,
|
|
463
|
-
componentHeight,
|
|
464
|
-
windowHeight,
|
|
465
|
-
statusBarHeight
|
|
466
|
-
});
|
|
467
|
-
// ULTRA-TIGHT SPACING: Minimal spacing for tight visual connection
|
|
468
|
-
const getOptimalSpacing = (compY, compHeight, winHeight) => {
|
|
469
|
-
const componentCenter = compY + compHeight / 2;
|
|
470
|
-
const screenCenter = winHeight / 2;
|
|
471
|
-
const distanceFromCenter = Math.abs(componentCenter - screenCenter) / screenCenter;
|
|
472
|
-
// Check if component is in bottom half for ultra-tight spacing
|
|
473
|
-
const isInBottomHalf = componentCenter > screenCenter;
|
|
474
|
-
// Base spacing: extremely small for bottom components
|
|
475
|
-
const baseSpacing = isInBottomHalf ? 0.5 : 3;
|
|
476
|
-
// Aggressive spacing reduction for edge positions - ultra tight for bottom half
|
|
477
|
-
const edgeProximityFactor = isInBottomHalf ?
|
|
478
|
-
Math.max(0.15, 1 - distanceFromCenter * 1.2) :
|
|
479
|
-
Math.max(0.4, 1 - distanceFromCenter * 0.7);
|
|
480
|
-
// Minimal component-relative spacing for bottom components
|
|
481
|
-
const relativeSpacingPercent = isInBottomHalf ? 0.02 : 0.12;
|
|
482
|
-
const relativeSpacing = Math.min(compHeight * relativeSpacingPercent, isInBottomHalf ? 3 : 10);
|
|
483
|
-
// Strong platform adjustment - much smaller for Android bottom components
|
|
484
|
-
const platformMultiplier = Platform.OS === 'ios' ? 1.0 : (isInBottomHalf ? 0.5 : 0.9);
|
|
485
|
-
const finalSpacing = Math.max(baseSpacing, relativeSpacing) * edgeProximityFactor * platformMultiplier;
|
|
486
|
-
console.log('AutoPositionedPopup 🔥 Advanced spacing calculation:', {
|
|
487
|
-
componentCenter,
|
|
488
|
-
screenCenter,
|
|
489
|
-
distanceFromCenter,
|
|
490
|
-
isInBottomHalf,
|
|
491
|
-
edgeProximityFactor,
|
|
492
|
-
baseSpacing,
|
|
493
|
-
relativeSpacing,
|
|
494
|
-
relativeSpacingPercent,
|
|
495
|
-
platformMultiplier,
|
|
496
|
-
finalSpacing
|
|
497
|
-
});
|
|
498
|
-
return finalSpacing;
|
|
499
|
-
};
|
|
500
|
-
// const POPUP_SPACING = getOptimalSpacing(componentY, componentHeight, windowHeight);
|
|
501
|
-
// console.log('🔥 Optimal popup spacing calculated:', POPUP_SPACING, 'for componentHeight:', componentHeight, 'at Y:', componentY);
|
|
502
|
-
// console.log('🔥 AutoPositionedPopup FINAL SPACE CHECK WITH SPACING:', {
|
|
503
|
-
// POPUP_SPACING,
|
|
504
|
-
// 'usableSpaceAbove >= popupHeight + POPUP_SPACING': usableSpaceAbove >= popupHeight + POPUP_SPACING,
|
|
505
|
-
// 'spaceBelow >= popupHeight + POPUP_SPACING': spaceBelow >= popupHeight + POPUP_SPACING,
|
|
506
|
-
// 'usableSpaceAbove needed': popupHeight + POPUP_SPACING,
|
|
507
|
-
// 'spaceBelow needed': popupHeight + POPUP_SPACING
|
|
508
|
-
// });
|
|
509
|
-
// FORCE ABOVE PRIORITY: If component is in bottom half, always try above first
|
|
510
|
-
const isInBottomHalf = componentCenterY > visibleAreaCenter;
|
|
511
|
-
// console.log('🔥 Position decision factors:', {
|
|
512
|
-
// isInBottomHalf,
|
|
513
|
-
// componentCenterY,
|
|
514
|
-
// visibleAreaCenter,
|
|
515
|
-
// 'spaceBelow >= needed': spaceBelow >= popupHeight + POPUP_SPACING,
|
|
516
|
-
// 'usableSpaceAbove >= needed': usableSpaceAbove >= popupHeight + POPUP_SPACING
|
|
517
|
-
// });
|
|
518
|
-
if (isInBottomHalf && usableSpaceAbove >= popupHeight) {
|
|
519
|
-
// Component in bottom half + enough space above = FORCE ABOVE
|
|
520
|
-
showAbove = true;
|
|
521
|
-
finalY = componentY - popupHeight + componentHeight / 2;
|
|
522
|
-
console.log('AutoPositionedPopup 🔥 AutoPositionedPopup: FORCE ABOVE - bottom half component with enough space, finalY=', finalY);
|
|
523
|
-
}
|
|
524
|
-
else if (!isInBottomHalf && spaceBelow >= popupHeight) {
|
|
525
|
-
// Component in top half + enough space below = show below
|
|
526
|
-
showAbove = false;
|
|
527
|
-
finalY = componentY + componentHeight * 2;
|
|
528
|
-
console.log('🔥 AutoPositionedPopup: Showing below - top half component with enough space, finalY=', finalY);
|
|
529
|
-
}
|
|
530
|
-
else if (usableSpaceAbove >= popupHeight) {
|
|
531
|
-
// Fallback: enough space above
|
|
532
|
-
showAbove = true;
|
|
533
|
-
finalY = componentY - popupHeight;
|
|
534
|
-
console.log('🔥 AutoPositionedPopup: Showing above - enough space available (fallback), finalY=', finalY);
|
|
535
|
-
}
|
|
536
|
-
else if (spaceBelow >= popupHeight) {
|
|
537
|
-
// Fallback: enough space below
|
|
538
|
-
showAbove = false;
|
|
539
|
-
finalY = componentY + componentHeight;
|
|
540
|
-
console.log('🔥 AutoPositionedPopup: Showing below - enough space available (fallback), finalY=', finalY);
|
|
541
|
-
}
|
|
542
|
-
else {
|
|
543
|
-
// Emergency fallback: choose larger space
|
|
544
|
-
if (usableSpaceAbove >= spaceBelow) {
|
|
545
|
-
showAbove = true;
|
|
546
|
-
finalY = Math.max(statusBarHeight, componentY - popupHeight);
|
|
547
|
-
console.log('🔥 AutoPositionedPopup: Emergency above - larger space, finalY=', finalY);
|
|
548
|
-
}
|
|
549
|
-
else {
|
|
550
|
-
showAbove = false;
|
|
551
|
-
finalY = componentY + componentHeight;
|
|
552
|
-
console.log('🔥 AutoPositionedPopup: Emergency below - larger space, finalY=', finalY);
|
|
553
|
-
}
|
|
554
|
-
}
|
|
555
|
-
// Enhanced boundary check with detailed logging
|
|
556
|
-
console.log('AutoPositionedPopup 🔥 Pre-boundary check:', {
|
|
557
|
-
originalFinalY: finalY,
|
|
558
|
-
showAbove,
|
|
559
453
|
statusBarHeight,
|
|
560
|
-
|
|
561
|
-
popupHeight,
|
|
562
|
-
'finalY < statusBarHeight': finalY < statusBarHeight,
|
|
563
|
-
'finalY + popupHeight > windowHeight': finalY + popupHeight > windowHeight
|
|
454
|
+
platform: Platform.OS
|
|
564
455
|
});
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
if (
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
456
|
+
// CORRECT POSITIONING LOGIC (with status bar consideration):
|
|
457
|
+
// 1. Default: above input field
|
|
458
|
+
let popupY = componentY - popupHeight + statusBarHeight;
|
|
459
|
+
// 2. Check if showing above would overlap with status bar
|
|
460
|
+
// The top boundary should be statusBarHeight, not 0
|
|
461
|
+
if (popupY < statusBarHeight) {
|
|
462
|
+
console.log('AutoPositionedPopup: would overlap status bar, showing BELOW instead');
|
|
463
|
+
popupY = componentY + componentHeight + statusBarHeight; // Show below input field
|
|
464
|
+
// 3. Also check if showing below would go off the bottom
|
|
465
|
+
const maxY = screenHeight - popupHeight;
|
|
466
|
+
if (popupY > maxY) {
|
|
467
|
+
// If both positions are problematic, clamp to visible area
|
|
468
|
+
// But ensure it doesn't go above status bar
|
|
469
|
+
console.log('AutoPositionedPopup: both positions problematic, clamping to visible area');
|
|
470
|
+
popupY = Math.min(Math.max(statusBarHeight, componentY - popupHeight), maxY);
|
|
471
|
+
}
|
|
578
472
|
}
|
|
579
|
-
|
|
580
|
-
console.log('AutoPositionedPopup
|
|
473
|
+
else {
|
|
474
|
+
console.log('AutoPositionedPopup: showing ABOVE input field (preferred position, below status bar)');
|
|
581
475
|
}
|
|
582
|
-
console.log('AutoPositionedPopup
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
'
|
|
586
|
-
'popupBottom': finalY + popupHeight,
|
|
587
|
-
'componentTop': componentY,
|
|
588
|
-
'componentBottom': componentY + componentHeight
|
|
476
|
+
console.log('AutoPositionedPopup final position:', {
|
|
477
|
+
popupY,
|
|
478
|
+
'showing above': popupY < componentY,
|
|
479
|
+
'below status bar': popupY >= statusBarHeight
|
|
589
480
|
});
|
|
590
|
-
return { finalY, showAbove };
|
|
481
|
+
return { finalY: popupY, showAbove: popupY < componentY };
|
|
591
482
|
};
|
|
592
483
|
// Calculate position ONCE based on actual popup height
|
|
593
484
|
const actualPopupHeight = CustomPopView && CustomPopViewStyle && typeof CustomPopViewStyle.height === 'number'
|
|
@@ -735,6 +626,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
735
626
|
console.log(`AutoPositionedPopup TextInputProps deep change detected, updating stable reference - tag: ${tag}`);
|
|
736
627
|
stableTextInputPropsRef.current = TextInputProps;
|
|
737
628
|
}
|
|
629
|
+
console.log('AutoPositionedPopup stableTextInputProps=', { tag, TextInputProps, 'stableTextInputPropsRef.current': stableTextInputPropsRef.current });
|
|
738
630
|
return stableTextInputPropsRef.current;
|
|
739
631
|
}, [TextInputProps, tag]);
|
|
740
632
|
// Use useCallback to stabilize onFocus and onBlur callback references
|
|
@@ -822,7 +714,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
822
714
|
// Wrap TextInput independently in useMemo to recreate only when key props change
|
|
823
715
|
// This avoids repeated ref callback triggers due to other props changes during parent component redraws
|
|
824
716
|
const memoizedTextInput = useMemo(() => {
|
|
825
|
-
console.log(
|
|
717
|
+
console.log('AutoPositionedPopup memoizedTextInput=', { tag, useTextInput, 'state.isFocus': state.isFocus, stableTextInputProps });
|
|
826
718
|
if (!useTextInput || !state.isFocus) {
|
|
827
719
|
return null;
|
|
828
720
|
}
|
|
@@ -841,7 +733,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
841
733
|
}} key={`textinput-${tag}`} style={[
|
|
842
734
|
styles.inputStyle,
|
|
843
735
|
stableInputStyle,
|
|
844
|
-
]} textAlign={stableTextInputProps['textAlign'] || 'left'} multiline={stableTextInputProps['multiline'] || false} numberOfLines={stableTextInputProps['numberOfLines'] || 1} onChangeText={(searchQuery) => {
|
|
736
|
+
]} textAlign={stableTextInputProps && stableTextInputProps['textAlign'] || 'left'} multiline={stableTextInputProps && stableTextInputProps['multiline'] || false} numberOfLines={stableTextInputProps && stableTextInputProps['numberOfLines'] || 1} onChangeText={(searchQuery) => {
|
|
845
737
|
ref_searchQuery.current = searchQuery;
|
|
846
738
|
console.log('AutoPositionedPopup onChangeText rootViews=', rootViews);
|
|
847
739
|
if (!localSearch) {
|
|
@@ -861,7 +753,7 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
861
753
|
if (e.nativeEvent.key === 'Enter') {
|
|
862
754
|
Keyboard.dismiss();
|
|
863
755
|
}
|
|
864
|
-
}} keyboardType={stableTextInputProps['keyboardType'] || 'default'} clearButtonMode="while-editing" returnKeyType={stableTextInputProps['returnKeyType'] || 'done'} maxLength={stableTextInputProps['maxLength'] || 100} accessibilityLabel="selectInput" accessible={true} autoFocus={stableTextInputProps['autoFocus'] ||
|
|
756
|
+
}} keyboardType={stableTextInputProps && stableTextInputProps['keyboardType'] || 'default'} clearButtonMode="while-editing" returnKeyType={stableTextInputProps && stableTextInputProps['returnKeyType'] || 'done'} maxLength={stableTextInputProps && stableTextInputProps['maxLength'] || 100} accessibilityLabel="selectInput" accessible={true} autoFocus={stableTextInputProps && stableTextInputProps['autoFocus'] || true} autoCorrect={false} underlineColorAndroid="transparent" editable={stableTextInputProps && stableTextInputProps['editable'] || true} secureTextEntry={stableTextInputProps && stableTextInputProps['secureTextEntry'] || false} defaultValue="" caretHidden={false} enablesReturnKeyAutomatically onFocus={handleTextInputFocus} onBlur={handleTextInputBlur} selectTextOnFocus={stableTextInputProps && stableTextInputProps['selectTextOnFocus'] || false} onSubmitEditing={(e) => {
|
|
865
757
|
console.log('AutoPositionedPopup.tsx onSubmitEditing e.nativeEvent.text=', e.nativeEvent.text);
|
|
866
758
|
onSubmitEditing && onSubmitEditing(e);
|
|
867
759
|
}}/>);
|
|
@@ -894,9 +786,11 @@ const AutoPositionedPopup = memo(forwardRef((props, parentRef) => {
|
|
|
894
786
|
'hasTriggeredFocus.current': hasTriggeredFocus.current,
|
|
895
787
|
'state.selectedItem': state.selectedItem
|
|
896
788
|
});
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
789
|
+
{
|
|
790
|
+
setState((prevState) => {
|
|
791
|
+
return Object.assign(Object.assign({}, prevState), { isFocus: true });
|
|
792
|
+
});
|
|
793
|
+
}
|
|
900
794
|
if (!hasAddedRootView.current && useTextInput) {
|
|
901
795
|
// TextInput version: hide first, show after keyboard is fully displayed
|
|
902
796
|
hasAddedRootView.current = true;
|
|
@@ -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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"}
|
|
@@ -35,9 +35,30 @@ export interface AutoPositionedPopupProps {
|
|
|
35
35
|
textAlign?: 'left' | 'center' | 'right' | undefined;
|
|
36
36
|
pageSize?: number;
|
|
37
37
|
selectedItem?: SelectedItem | any;
|
|
38
|
+
/**
|
|
39
|
+
* CustomRow={
|
|
40
|
+
* ({children}: ViewStyle & { children?: React.ReactNode }) => {
|
|
41
|
+
* return (
|
|
42
|
+
* <View style={}>
|
|
43
|
+
* {children}
|
|
44
|
+
* </View>
|
|
45
|
+
* );
|
|
46
|
+
* }
|
|
47
|
+
* }
|
|
48
|
+
*/
|
|
38
49
|
CustomRow?: React.ComponentType<ViewStyle & {
|
|
39
50
|
children?: React.ReactNode;
|
|
40
51
|
}>;
|
|
52
|
+
/**
|
|
53
|
+
* btwChildren={
|
|
54
|
+
* () => {
|
|
55
|
+
* return (
|
|
56
|
+
* <>
|
|
57
|
+
* </>
|
|
58
|
+
* );
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
*/
|
|
41
62
|
btwChildren?: () => React.ReactNode;
|
|
42
63
|
useTextInput?: boolean;
|
|
43
64
|
keyExtractor?: (item: SelectedItem) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoPositionedPopupProps.d.ts","sourceRoot":"","sources":["../src/AutoPositionedPopupProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"AutoPositionedPopupProps.d.ts","sourceRoot":"","sources":["../src/AutoPositionedPopupProps.ts"],"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
|
|
3
|
+
"version": "1.1.0",
|
|
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",
|
|
@@ -313,7 +313,7 @@ const AutoPositionedPopup = memo(
|
|
|
313
313
|
AutoPositionedPopupBtnStyle,
|
|
314
314
|
placeholder = 'Please Select',
|
|
315
315
|
onSubmitEditing,
|
|
316
|
-
TextInputProps
|
|
316
|
+
TextInputProps,//= {autoFocus: true},
|
|
317
317
|
inputStyle,
|
|
318
318
|
labelStyle,
|
|
319
319
|
popUpViewStyle = {left: '5%', width: '90%'},
|
|
@@ -355,7 +355,7 @@ const AutoPositionedPopup = memo(
|
|
|
355
355
|
centerDisplay = false,
|
|
356
356
|
selectedItemBackgroundColor = 'rgba(116, 116, 128, 0.08)',
|
|
357
357
|
textAlign = 'right',
|
|
358
|
-
CustomPopView = undefined, CustomPopViewStyle, showListEmptyComponent = true, emptyText = '',onChangeText
|
|
358
|
+
CustomPopView = undefined, CustomPopViewStyle, showListEmptyComponent = true, emptyText = '', onChangeText
|
|
359
359
|
} = props;
|
|
360
360
|
// State management similar to project implementation
|
|
361
361
|
const [state, setState] = useState<StateProps>({
|
|
@@ -466,7 +466,7 @@ const AutoPositionedPopup = memo(
|
|
|
466
466
|
const propsChanged =
|
|
467
467
|
prevPropsRef.current.CustomPopView !== CustomPopView ||
|
|
468
468
|
prevPropsRef.current.CustomPopViewStyle !== CustomPopViewStyle ||
|
|
469
|
-
prevPropsRef.current.TextInputProps !== TextInputProps;
|
|
469
|
+
(prevPropsRef.current.TextInputProps !== TextInputProps && useTextInput);
|
|
470
470
|
console.log('AutoPositionedPopup useEffect [isKeyboardFullyShown,\n' +
|
|
471
471
|
' state.isFocus,\n' +
|
|
472
472
|
' useTextInput,\n' +
|
|
@@ -485,7 +485,10 @@ const AutoPositionedPopup = memo(
|
|
|
485
485
|
'hasAddedRootView.current': hasAddedRootView.current,
|
|
486
486
|
'hasShownRootView.current': hasShownRootView.current,
|
|
487
487
|
'keyboardStateChanged': keyboardStateChanged,
|
|
488
|
-
'propsChanged': propsChanged
|
|
488
|
+
'propsChanged': propsChanged,
|
|
489
|
+
'prevPropsRef.current.CustomPopView !== CustomPopView': prevPropsRef.current.CustomPopView !== CustomPopView,
|
|
490
|
+
'prevPropsRef.current.CustomPopViewStyle !== CustomPopViewStyle': prevPropsRef.current.CustomPopViewStyle !== CustomPopViewStyle,
|
|
491
|
+
'prevPropsRef.current.TextInputProps !== TextInputProps': prevPropsRef.current.TextInputProps !== TextInputProps
|
|
489
492
|
});
|
|
490
493
|
// Update ref to record current state
|
|
491
494
|
prevIsKeyboardFullyShownRef.current = isKeyboardFullyShown;
|
|
@@ -495,13 +498,26 @@ const AutoPositionedPopup = memo(
|
|
|
495
498
|
TextInputProps
|
|
496
499
|
};
|
|
497
500
|
// Only execute logic when keyboard state actually changes or user actively operates
|
|
498
|
-
if (!keyboardStateChanged
|
|
499
|
-
console.log('AutoPositionedPopup: Skip execution - parent component re-rendered but keyboard state unchanged textInputRef.current=',textInputRef.current);
|
|
501
|
+
if (!keyboardStateChanged && hasAddedRootView.current) {
|
|
502
|
+
console.log('AutoPositionedPopup: Skip execution - parent component re-rendered but keyboard state unchanged textInputRef.current=', textInputRef.current);
|
|
500
503
|
// if (!ref_isFocus.current) {
|
|
501
504
|
// textInputRef.current?.focus()
|
|
502
505
|
// }
|
|
503
506
|
return;
|
|
504
507
|
}
|
|
508
|
+
const getStatusBarHeight = (): number => {
|
|
509
|
+
if (Platform.OS === 'android') {
|
|
510
|
+
// Android: Use StatusBar.currentHeight API
|
|
511
|
+
return StatusBar.currentHeight || 24; // Fallback to 24 if undefined
|
|
512
|
+
} else {
|
|
513
|
+
// iOS: Calculate from screen vs window height difference
|
|
514
|
+
const {height: screenHeightFull} = Dimensions.get('screen');
|
|
515
|
+
const {height: windowHeight} = Dimensions.get('window');
|
|
516
|
+
return screenHeightFull - windowHeight; // Safe area top (status bar)
|
|
517
|
+
}
|
|
518
|
+
};
|
|
519
|
+
// Get accurate status bar height for both iOS and Android
|
|
520
|
+
const statusBarHeight = getStatusBarHeight();
|
|
505
521
|
if (useTextInput) {
|
|
506
522
|
if (isKeyboardFullyShown && hasAddedRootView.current && !hasShownRootView.current && state.isFocus) {
|
|
507
523
|
// CRITICAL FIX FOR KEYBOARD POSITION CALCULATION
|
|
@@ -543,11 +559,11 @@ const AutoPositionedPopup = memo(
|
|
|
543
559
|
// 1. ALWAYS try to show popup ABOVE the input field first
|
|
544
560
|
// 2. Only if that goes off the top of screen, show BELOW instead
|
|
545
561
|
// 3. Don't cover/overlap the input field
|
|
546
|
-
let popupY = y - listLayout.height; // Default: above input field
|
|
562
|
+
let popupY = y - listLayout.height+statusBarHeight; // Default: above input field
|
|
547
563
|
// Check if showing above would go off the top of screen
|
|
548
|
-
if (popupY <
|
|
564
|
+
if (popupY < statusBarHeight) {
|
|
549
565
|
console.log('AutoPositionedPopup with keyboard: would go off screen top, showing BELOW instead');
|
|
550
|
-
popupY = y + height; // Show below input field
|
|
566
|
+
popupY = y + height+statusBarHeight; // Show below input field
|
|
551
567
|
// Also check if showing below would go off the bottom
|
|
552
568
|
const maxY = screenHeight - listLayout.height;
|
|
553
569
|
if (popupY > maxY) {
|
|
@@ -590,203 +606,53 @@ const AutoPositionedPopup = memo(
|
|
|
590
606
|
}
|
|
591
607
|
} else {
|
|
592
608
|
if (state.isFocus) {
|
|
609
|
+
if (isKeyboardFullyShown) {
|
|
610
|
+
Keyboard.dismiss();
|
|
611
|
+
return;
|
|
612
|
+
}
|
|
593
613
|
refAutoPositionedPopup.current?.measureInWindow((x: number, y: number, width: number, height: number) => {
|
|
594
614
|
console.log('AutoPositionedPopup !useTextInput measureInWindow=', {x, y, width, height});
|
|
595
|
-
//
|
|
615
|
+
// CORRECT POSITIONING LOGIC (as per user requirement)
|
|
616
|
+
// Default: show popup ABOVE the input field
|
|
617
|
+
// Only if that goes off the top of screen (considering status bar), show BELOW instead
|
|
596
618
|
const calculateOptimalPosition = (componentY: number, componentHeight: number, popupHeight: number) => {
|
|
597
|
-
console.log('AutoPositionedPopup
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
const windowHeight = Dimensions.get('window').height;
|
|
601
|
-
const visibleAreaCenter = windowHeight / 2;
|
|
602
|
-
|
|
603
|
-
// Cross-platform status bar height handling
|
|
604
|
-
const getStatusBarHeight = () => {
|
|
605
|
-
if (Platform.OS === 'android') {
|
|
606
|
-
return StatusBar.currentHeight || 24; // Android default
|
|
607
|
-
} else {
|
|
608
|
-
// iOS status bar heights vary by device
|
|
609
|
-
const {height: screenHeight} = Dimensions.get('screen');
|
|
610
|
-
const {height: windowHeightLocal} = Dimensions.get('window');
|
|
611
|
-
return screenHeight - windowHeightLocal; // Safe area top
|
|
612
|
-
}
|
|
613
|
-
};
|
|
614
|
-
const statusBarHeight = getStatusBarHeight();
|
|
615
|
-
console.log('AutoPositionedPopup 🔥 Cross-platform StatusBar height:', statusBarHeight, 'Platform:', Platform.OS);
|
|
616
|
-
|
|
617
|
-
// Calculate component center point as requested
|
|
618
|
-
const componentCenterY = componentY + componentHeight / 2;
|
|
619
|
-
|
|
619
|
+
console.log('AutoPositionedPopup calculateOptimalPosition executing');
|
|
620
|
+
// Use window height (visible area) instead of screen height
|
|
621
|
+
const screenHeight = Dimensions.get('window').height;
|
|
620
622
|
console.log('AutoPositionedPopup positioning data:', {
|
|
621
|
-
|
|
622
|
-
visibleAreaCenter,
|
|
623
|
-
componentCenterY,
|
|
623
|
+
screenHeight,
|
|
624
624
|
componentY,
|
|
625
625
|
componentHeight,
|
|
626
626
|
popupHeight,
|
|
627
|
-
statusBarHeight
|
|
628
|
-
});
|
|
629
|
-
|
|
630
|
-
let showAbove = false;
|
|
631
|
-
let finalY = componentY + componentHeight; // Default fallback: show below
|
|
632
|
-
|
|
633
|
-
// CORRECTED LOGIC: Calculate actual usable space considering status bar
|
|
634
|
-
const rawSpaceAbove = componentY;
|
|
635
|
-
const spaceBelow = windowHeight - (componentY + componentHeight);
|
|
636
|
-
// Actual usable space above must account for status bar
|
|
637
|
-
const usableSpaceAbove = componentY - statusBarHeight;
|
|
638
|
-
|
|
639
|
-
console.log('🔥 AutoPositionedPopup CORRECTED SPACE CALCULATION (pre-spacing):', {
|
|
640
|
-
rawSpaceAbove,
|
|
641
|
-
usableSpaceAbove,
|
|
642
|
-
spaceBelow,
|
|
643
|
-
popupHeight,
|
|
644
|
-
componentY,
|
|
645
|
-
componentHeight,
|
|
646
|
-
windowHeight,
|
|
647
|
-
statusBarHeight
|
|
648
|
-
});
|
|
649
|
-
|
|
650
|
-
// ULTRA-TIGHT SPACING: Minimal spacing for tight visual connection
|
|
651
|
-
const getOptimalSpacing = (compY: number, compHeight: number, winHeight: number) => {
|
|
652
|
-
const componentCenter = compY + compHeight / 2;
|
|
653
|
-
const screenCenter = winHeight / 2;
|
|
654
|
-
const distanceFromCenter = Math.abs(componentCenter - screenCenter) / screenCenter;
|
|
655
|
-
|
|
656
|
-
// Check if component is in bottom half for ultra-tight spacing
|
|
657
|
-
const isInBottomHalf = componentCenter > screenCenter;
|
|
658
|
-
|
|
659
|
-
// Base spacing: extremely small for bottom components
|
|
660
|
-
const baseSpacing = isInBottomHalf ? 0.5 : 3;
|
|
661
|
-
|
|
662
|
-
// Aggressive spacing reduction for edge positions - ultra tight for bottom half
|
|
663
|
-
const edgeProximityFactor = isInBottomHalf ?
|
|
664
|
-
Math.max(0.15, 1 - distanceFromCenter * 1.2) :
|
|
665
|
-
Math.max(0.4, 1 - distanceFromCenter * 0.7);
|
|
666
|
-
|
|
667
|
-
// Minimal component-relative spacing for bottom components
|
|
668
|
-
const relativeSpacingPercent = isInBottomHalf ? 0.02 : 0.12;
|
|
669
|
-
const relativeSpacing = Math.min(compHeight * relativeSpacingPercent, isInBottomHalf ? 3 : 10);
|
|
670
|
-
|
|
671
|
-
// Strong platform adjustment - much smaller for Android bottom components
|
|
672
|
-
const platformMultiplier = Platform.OS === 'ios' ? 1.0 : (isInBottomHalf ? 0.5 : 0.9);
|
|
673
|
-
|
|
674
|
-
const finalSpacing = Math.max(baseSpacing, relativeSpacing) * edgeProximityFactor * platformMultiplier;
|
|
675
|
-
|
|
676
|
-
console.log('AutoPositionedPopup 🔥 Advanced spacing calculation:', {
|
|
677
|
-
componentCenter,
|
|
678
|
-
screenCenter,
|
|
679
|
-
distanceFromCenter,
|
|
680
|
-
isInBottomHalf,
|
|
681
|
-
edgeProximityFactor,
|
|
682
|
-
baseSpacing,
|
|
683
|
-
relativeSpacing,
|
|
684
|
-
relativeSpacingPercent,
|
|
685
|
-
platformMultiplier,
|
|
686
|
-
finalSpacing
|
|
687
|
-
});
|
|
688
|
-
|
|
689
|
-
return finalSpacing;
|
|
690
|
-
};
|
|
691
|
-
// const POPUP_SPACING = getOptimalSpacing(componentY, componentHeight, windowHeight);
|
|
692
|
-
// console.log('🔥 Optimal popup spacing calculated:', POPUP_SPACING, 'for componentHeight:', componentHeight, 'at Y:', componentY);
|
|
693
|
-
|
|
694
|
-
// console.log('🔥 AutoPositionedPopup FINAL SPACE CHECK WITH SPACING:', {
|
|
695
|
-
// POPUP_SPACING,
|
|
696
|
-
// 'usableSpaceAbove >= popupHeight + POPUP_SPACING': usableSpaceAbove >= popupHeight + POPUP_SPACING,
|
|
697
|
-
// 'spaceBelow >= popupHeight + POPUP_SPACING': spaceBelow >= popupHeight + POPUP_SPACING,
|
|
698
|
-
// 'usableSpaceAbove needed': popupHeight + POPUP_SPACING,
|
|
699
|
-
// 'spaceBelow needed': popupHeight + POPUP_SPACING
|
|
700
|
-
// });
|
|
701
|
-
|
|
702
|
-
// FORCE ABOVE PRIORITY: If component is in bottom half, always try above first
|
|
703
|
-
const isInBottomHalf = componentCenterY > visibleAreaCenter;
|
|
704
|
-
|
|
705
|
-
// console.log('🔥 Position decision factors:', {
|
|
706
|
-
// isInBottomHalf,
|
|
707
|
-
// componentCenterY,
|
|
708
|
-
// visibleAreaCenter,
|
|
709
|
-
// 'spaceBelow >= needed': spaceBelow >= popupHeight + POPUP_SPACING,
|
|
710
|
-
// 'usableSpaceAbove >= needed': usableSpaceAbove >= popupHeight + POPUP_SPACING
|
|
711
|
-
// });
|
|
712
|
-
|
|
713
|
-
if (isInBottomHalf && usableSpaceAbove >= popupHeight) {
|
|
714
|
-
// Component in bottom half + enough space above = FORCE ABOVE
|
|
715
|
-
showAbove = true;
|
|
716
|
-
finalY = componentY - popupHeight + componentHeight / 2;
|
|
717
|
-
console.log('AutoPositionedPopup 🔥 AutoPositionedPopup: FORCE ABOVE - bottom half component with enough space, finalY=', finalY);
|
|
718
|
-
} else if (!isInBottomHalf && spaceBelow >= popupHeight) {
|
|
719
|
-
// Component in top half + enough space below = show below
|
|
720
|
-
showAbove = false;
|
|
721
|
-
finalY = componentY + componentHeight * 2;
|
|
722
|
-
console.log('🔥 AutoPositionedPopup: Showing below - top half component with enough space, finalY=', finalY);
|
|
723
|
-
} else if (usableSpaceAbove >= popupHeight) {
|
|
724
|
-
// Fallback: enough space above
|
|
725
|
-
showAbove = true;
|
|
726
|
-
finalY = componentY - popupHeight;
|
|
727
|
-
console.log('🔥 AutoPositionedPopup: Showing above - enough space available (fallback), finalY=', finalY);
|
|
728
|
-
} else if (spaceBelow >= popupHeight) {
|
|
729
|
-
// Fallback: enough space below
|
|
730
|
-
showAbove = false;
|
|
731
|
-
finalY = componentY + componentHeight;
|
|
732
|
-
console.log('🔥 AutoPositionedPopup: Showing below - enough space available (fallback), finalY=', finalY);
|
|
733
|
-
} else {
|
|
734
|
-
// Emergency fallback: choose larger space
|
|
735
|
-
if (usableSpaceAbove >= spaceBelow) {
|
|
736
|
-
showAbove = true;
|
|
737
|
-
finalY = Math.max(statusBarHeight, componentY - popupHeight);
|
|
738
|
-
console.log('🔥 AutoPositionedPopup: Emergency above - larger space, finalY=', finalY);
|
|
739
|
-
} else {
|
|
740
|
-
showAbove = false;
|
|
741
|
-
finalY = componentY + componentHeight;
|
|
742
|
-
console.log('🔥 AutoPositionedPopup: Emergency below - larger space, finalY=', finalY);
|
|
743
|
-
}
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
// Enhanced boundary check with detailed logging
|
|
747
|
-
console.log('AutoPositionedPopup 🔥 Pre-boundary check:', {
|
|
748
|
-
originalFinalY: finalY,
|
|
749
|
-
showAbove,
|
|
750
627
|
statusBarHeight,
|
|
751
|
-
|
|
752
|
-
popupHeight,
|
|
753
|
-
'finalY < statusBarHeight': finalY < statusBarHeight,
|
|
754
|
-
'finalY + popupHeight > windowHeight': finalY + popupHeight > windowHeight
|
|
628
|
+
platform: Platform.OS
|
|
755
629
|
});
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
if (!showAbove && finalY < componentY + componentHeight) {
|
|
775
|
-
console.log('AutoPositionedPopup 🚨 WARNING: Below positioning may overlap with component!');
|
|
630
|
+
// CORRECT POSITIONING LOGIC (with status bar consideration):
|
|
631
|
+
// 1. Default: above input field
|
|
632
|
+
let popupY = componentY - popupHeight+statusBarHeight;
|
|
633
|
+
// 2. Check if showing above would overlap with status bar
|
|
634
|
+
// The top boundary should be statusBarHeight, not 0
|
|
635
|
+
if (popupY < statusBarHeight) {
|
|
636
|
+
console.log('AutoPositionedPopup: would overlap status bar, showing BELOW instead');
|
|
637
|
+
popupY = componentY + componentHeight+statusBarHeight; // Show below input field
|
|
638
|
+
// 3. Also check if showing below would go off the bottom
|
|
639
|
+
const maxY = screenHeight - popupHeight;
|
|
640
|
+
if (popupY > maxY) {
|
|
641
|
+
// If both positions are problematic, clamp to visible area
|
|
642
|
+
// But ensure it doesn't go above status bar
|
|
643
|
+
console.log('AutoPositionedPopup: both positions problematic, clamping to visible area');
|
|
644
|
+
popupY = Math.min(Math.max(statusBarHeight, componentY - popupHeight), maxY);
|
|
645
|
+
}
|
|
646
|
+
} else {
|
|
647
|
+
console.log('AutoPositionedPopup: showing ABOVE input field (preferred position, below status bar)');
|
|
776
648
|
}
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
'popupTop': finalY,
|
|
782
|
-
'popupBottom': finalY + popupHeight,
|
|
783
|
-
'componentTop': componentY,
|
|
784
|
-
'componentBottom': componentY + componentHeight
|
|
649
|
+
console.log('AutoPositionedPopup final position:', {
|
|
650
|
+
popupY,
|
|
651
|
+
'showing above': popupY < componentY,
|
|
652
|
+
'below status bar': popupY >= statusBarHeight
|
|
785
653
|
});
|
|
786
|
-
|
|
787
|
-
return {finalY, showAbove};
|
|
654
|
+
return {finalY: popupY, showAbove: popupY < componentY};
|
|
788
655
|
};
|
|
789
|
-
|
|
790
656
|
// Calculate position ONCE based on actual popup height
|
|
791
657
|
const actualPopupHeight = CustomPopView && CustomPopViewStyle && typeof CustomPopViewStyle.height === 'number'
|
|
792
658
|
? CustomPopViewStyle.height
|
|
@@ -899,7 +765,7 @@ const AutoPositionedPopup = memo(
|
|
|
899
765
|
setState((prevState) => {
|
|
900
766
|
return {
|
|
901
767
|
...prevState,
|
|
902
|
-
selectedItem: undefined,isFocus: false,
|
|
768
|
+
selectedItem: undefined, isFocus: false,
|
|
903
769
|
};
|
|
904
770
|
});
|
|
905
771
|
ref_searchQuery.current = '';
|
|
@@ -970,6 +836,7 @@ const AutoPositionedPopup = memo(
|
|
|
970
836
|
console.log(`AutoPositionedPopup TextInputProps deep change detected, updating stable reference - tag: ${tag}`);
|
|
971
837
|
stableTextInputPropsRef.current = TextInputProps;
|
|
972
838
|
}
|
|
839
|
+
console.log('AutoPositionedPopup stableTextInputProps=', {tag, TextInputProps, 'stableTextInputPropsRef.current': stableTextInputPropsRef.current})
|
|
973
840
|
return stableTextInputPropsRef.current;
|
|
974
841
|
}, [TextInputProps, tag]);
|
|
975
842
|
|
|
@@ -1071,7 +938,7 @@ const AutoPositionedPopup = memo(
|
|
|
1071
938
|
// Wrap TextInput independently in useMemo to recreate only when key props change
|
|
1072
939
|
// This avoids repeated ref callback triggers due to other props changes during parent component redraws
|
|
1073
940
|
const memoizedTextInput = useMemo(() => {
|
|
1074
|
-
console.log(
|
|
941
|
+
console.log('AutoPositionedPopup memoizedTextInput=', {tag, useTextInput, 'state.isFocus': state.isFocus, stableTextInputProps});
|
|
1075
942
|
if (!useTextInput || !state.isFocus) {
|
|
1076
943
|
return null;
|
|
1077
944
|
}
|
|
@@ -1093,9 +960,9 @@ const AutoPositionedPopup = memo(
|
|
|
1093
960
|
styles.inputStyle,
|
|
1094
961
|
stableInputStyle,
|
|
1095
962
|
]}
|
|
1096
|
-
textAlign={stableTextInputProps['textAlign'] || 'left'}
|
|
1097
|
-
multiline={stableTextInputProps['multiline'] || false}
|
|
1098
|
-
numberOfLines={stableTextInputProps['numberOfLines'] || 1}
|
|
963
|
+
textAlign={stableTextInputProps && stableTextInputProps['textAlign'] || 'left'}
|
|
964
|
+
multiline={stableTextInputProps && stableTextInputProps['multiline'] || false}
|
|
965
|
+
numberOfLines={stableTextInputProps && stableTextInputProps['numberOfLines'] || 1}
|
|
1099
966
|
onChangeText={(searchQuery) => {
|
|
1100
967
|
ref_searchQuery.current = searchQuery;
|
|
1101
968
|
console.log('AutoPositionedPopup onChangeText rootViews=', rootViews);
|
|
@@ -1119,23 +986,23 @@ const AutoPositionedPopup = memo(
|
|
|
1119
986
|
Keyboard.dismiss();
|
|
1120
987
|
}
|
|
1121
988
|
}}
|
|
1122
|
-
keyboardType={stableTextInputProps['keyboardType'] || 'default'}
|
|
989
|
+
keyboardType={stableTextInputProps && stableTextInputProps['keyboardType'] || 'default'}
|
|
1123
990
|
clearButtonMode="while-editing"
|
|
1124
|
-
returnKeyType={stableTextInputProps['returnKeyType'] || 'done'}
|
|
1125
|
-
maxLength={stableTextInputProps['maxLength'] || 100}
|
|
991
|
+
returnKeyType={stableTextInputProps && stableTextInputProps['returnKeyType'] || 'done'}
|
|
992
|
+
maxLength={stableTextInputProps && stableTextInputProps['maxLength'] || 100}
|
|
1126
993
|
accessibilityLabel="selectInput"
|
|
1127
994
|
accessible={true}
|
|
1128
|
-
autoFocus={stableTextInputProps['autoFocus'] ||
|
|
995
|
+
autoFocus={stableTextInputProps && stableTextInputProps['autoFocus'] || true}
|
|
1129
996
|
autoCorrect={false}
|
|
1130
997
|
underlineColorAndroid="transparent"
|
|
1131
|
-
editable={stableTextInputProps['editable'] || true}
|
|
1132
|
-
secureTextEntry={stableTextInputProps['secureTextEntry'] || false}
|
|
998
|
+
editable={stableTextInputProps && stableTextInputProps['editable'] || true}
|
|
999
|
+
secureTextEntry={stableTextInputProps && stableTextInputProps['secureTextEntry'] || false}
|
|
1133
1000
|
defaultValue=""
|
|
1134
1001
|
caretHidden={false}
|
|
1135
1002
|
enablesReturnKeyAutomatically
|
|
1136
1003
|
onFocus={handleTextInputFocus}
|
|
1137
1004
|
onBlur={handleTextInputBlur}
|
|
1138
|
-
selectTextOnFocus={stableTextInputProps['selectTextOnFocus'] || false}
|
|
1005
|
+
selectTextOnFocus={stableTextInputProps && stableTextInputProps['selectTextOnFocus'] || false}
|
|
1139
1006
|
onSubmitEditing={(e: NativeSyntheticEvent<TextInputSubmitEditingEventData>) => {
|
|
1140
1007
|
console.log(
|
|
1141
1008
|
'AutoPositionedPopup.tsx onSubmitEditing e.nativeEvent.text=',
|
|
@@ -1179,12 +1046,14 @@ const AutoPositionedPopup = memo(
|
|
|
1179
1046
|
'hasTriggeredFocus.current': hasTriggeredFocus.current,
|
|
1180
1047
|
'state.selectedItem': state.selectedItem
|
|
1181
1048
|
});
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1049
|
+
{
|
|
1050
|
+
setState((prevState) => {
|
|
1051
|
+
return {
|
|
1052
|
+
...prevState,
|
|
1053
|
+
isFocus: true,
|
|
1054
|
+
};
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
1188
1057
|
if (!hasAddedRootView.current && useTextInput) {
|
|
1189
1058
|
// TextInput version: hide first, show after keyboard is fully displayed
|
|
1190
1059
|
hasAddedRootView.current = true;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import {StyleProp, TextInputProps, TextStyle, ViewStyle} from 'react-native';
|
|
3
|
+
import {TextInputSubmitEditingEventData} from 'react-native/Libraries/Components/TextInput/TextInput';
|
|
4
|
+
import {NativeSyntheticEvent} from 'react-native/Libraries/Types/CoreEventTypes';
|
|
5
5
|
|
|
6
6
|
export interface Data {
|
|
7
7
|
items: any[];
|
|
@@ -31,7 +31,7 @@ export interface AutoPositionedPopupProps {
|
|
|
31
31
|
pageSize: number;
|
|
32
32
|
searchQuery?: string;
|
|
33
33
|
}) => Promise<Data | null>;
|
|
34
|
-
renderItem?: ({
|
|
34
|
+
renderItem?: ({item, index}: { item: SelectedItem; index: number }) => React.ReactElement;
|
|
35
35
|
onItemSelected?: (item: SelectedItem) => void;
|
|
36
36
|
onSubmitEditing?: (e: NativeSyntheticEvent<TextInputSubmitEditingEventData>) => void;
|
|
37
37
|
localSearch?: boolean;
|
|
@@ -39,7 +39,28 @@ export interface AutoPositionedPopupProps {
|
|
|
39
39
|
textAlign?: 'left' | 'center' | 'right' | undefined;
|
|
40
40
|
pageSize?: number;
|
|
41
41
|
selectedItem?: SelectedItem | any;
|
|
42
|
+
/**
|
|
43
|
+
* CustomRow={
|
|
44
|
+
* ({children}: ViewStyle & { children?: React.ReactNode }) => {
|
|
45
|
+
* return (
|
|
46
|
+
* <View style={}>
|
|
47
|
+
* {children}
|
|
48
|
+
* </View>
|
|
49
|
+
* );
|
|
50
|
+
* }
|
|
51
|
+
* }
|
|
52
|
+
*/
|
|
42
53
|
CustomRow?: React.ComponentType<ViewStyle & { children?: React.ReactNode }>;
|
|
54
|
+
/**
|
|
55
|
+
* btwChildren={
|
|
56
|
+
* () => {
|
|
57
|
+
* return (
|
|
58
|
+
* <>
|
|
59
|
+
* </>
|
|
60
|
+
* );
|
|
61
|
+
* }
|
|
62
|
+
* }
|
|
63
|
+
*/
|
|
43
64
|
btwChildren?: () => React.ReactNode;
|
|
44
65
|
useTextInput?: boolean;
|
|
45
66
|
keyExtractor?: (item: SelectedItem) => string;
|
|
@@ -64,7 +85,7 @@ export interface AutoPositionedPopupProps {
|
|
|
64
85
|
AutoPositionedPopupBtnDisabled?: boolean;
|
|
65
86
|
centerDisplay?: boolean;
|
|
66
87
|
selectedItemBackgroundColor?: string;
|
|
67
|
-
showListEmptyComponent?:boolean;
|
|
68
|
-
emptyText?:string;
|
|
88
|
+
showListEmptyComponent?: boolean;
|
|
89
|
+
emptyText?: string;
|
|
69
90
|
onChangeText?: ((text: string) => void) | undefined;
|
|
70
91
|
}
|