@onekeyfe/react-native-tab-view 1.1.43 → 1.1.45

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.
@@ -50,15 +50,6 @@ struct IconSource {
50
50
 
51
51
  class RCTTabViewContainerView: UIView {
52
52
 
53
- // MARK: - Debug logging
54
-
55
- private static let debugLog = true
56
-
57
- private func log(_ message: String, function: String = #function) {
58
- guard Self.debugLog else { return }
59
- RCTTabViewLog.debug("RCTTabView", message: "[\(function)] \(message)")
60
- }
61
-
62
53
  // MARK: - Internal State
63
54
 
64
55
  private var tabBarController: UITabBarController?
@@ -68,26 +59,17 @@ class RCTTabViewContainerView: UIView {
68
59
  private var imageLoader: RCTImageLoaderProtocol?
69
60
  private let iconSize = CGSize(width: 27, height: 27)
70
61
  private var longPressHandler: LongPressGestureHandler?
71
- private var tabBarHiddenObservation: NSKeyValueObservation?
72
- private var tabBarAlphaObservation: NSKeyValueObservation?
73
- private var tabBarFrameObservation: NSKeyValueObservation?
74
62
  /// Cached view controllers keyed by tab key to avoid unnecessary reparenting
75
63
  private var cachedViewControllers: [String: UIViewController] = [:]
76
64
 
77
65
  // MARK: - Props (set by Fabric ComponentView via KVC)
78
66
 
79
67
  @objc var items: [NSDictionary]? {
80
- didSet {
81
- log("items prop changed: \(oldValue?.count ?? 0) -> \(items?.count ?? 0) items")
82
- rebuildViewControllers()
83
- }
68
+ didSet { rebuildViewControllers() }
84
69
  }
85
70
 
86
71
  @objc var selectedPage: String? {
87
- didSet {
88
- log("selectedPage prop changed: \(oldValue ?? "nil") -> \(selectedPage ?? "nil")")
89
- updateSelectedTab()
90
- }
72
+ didSet { updateSelectedTab() }
91
73
  }
92
74
 
93
75
  @objc var icons: [NSDictionary]? {
@@ -115,10 +97,7 @@ class RCTTabViewContainerView: UIView {
115
97
  }
116
98
 
117
99
  @objc var tabBarHidden: Bool = false {
118
- didSet {
119
- log("tabBarHidden prop changed: \(oldValue) -> \(tabBarHidden)")
120
- updateTabBarHidden()
121
- }
100
+ didSet { updateTabBarHidden() }
122
101
  }
123
102
 
124
103
  @objc var translucent: NSNumber? {
@@ -181,9 +160,6 @@ class RCTTabViewContainerView: UIView {
181
160
 
182
161
  override func layoutSubviews() {
183
162
  super.layoutSubviews()
184
- if let tbc = tabBarController {
185
- log("layoutSubviews: bounds=\(bounds), tabBar.isHidden=\(tbc.tabBar.isHidden), tabBar.frame=\(tbc.tabBar.frame), tabBar.alpha=\(tbc.tabBar.alpha)")
186
- }
187
163
  handleLayout()
188
164
  }
189
165
 
@@ -205,26 +181,12 @@ class RCTTabViewContainerView: UIView {
205
181
 
206
182
  setupTabBarControllerIfNeeded()
207
183
  tabBarController?.view.frame = bounds
208
-
209
- // Log container's direct subviews
210
- if let tbc = tabBarController {
211
- let strayCount = self.subviews.filter { sv in sv !== tbc.view && childViews.contains(where: { $0 === sv }) }.count
212
- if strayCount > 0 {
213
- log("⚠️ handleLayout: \(strayCount) stray childViews found as direct subviews of self!")
214
- }
215
- log("handleLayout: self.subviews=\(self.subviews.count), strayChildren=\(strayCount)")
216
- }
217
-
218
184
  onNativeLayout?(["width": Double(bounds.width), "height": Double(bounds.height)])
219
185
  }
220
186
 
221
187
  private func setupTabBarControllerIfNeeded() {
222
188
  guard tabBarController == nil else { return }
223
- guard let parentVC = self.reactViewController() else {
224
- log("setupTabBarControllerIfNeeded: no parent view controller found")
225
- return
226
- }
227
- log("setupTabBarControllerIfNeeded: creating UITabBarController, parentVC=\(type(of: parentVC))")
189
+ guard let parentVC = self.reactViewController() else { return }
228
190
 
229
191
  let tbc = UITabBarController()
230
192
  tbc.delegate = TabViewDelegateProxy.shared
@@ -239,29 +201,6 @@ class RCTTabViewContainerView: UIView {
239
201
 
240
202
  self.tabBarController = tbc
241
203
 
242
- // KVO observers to detect external changes to tab bar visibility
243
- if Self.debugLog {
244
- tabBarHiddenObservation = tbc.tabBar.observe(\.isHidden, options: [.old, .new]) { [weak self] tabBar, change in
245
- self?.log("KVO tabBar.isHidden changed: \(change.oldValue ?? false) -> \(change.newValue ?? false), frame=\(tabBar.frame)")
246
- if change.newValue == true && self?.tabBarHidden == false {
247
- self?.log("⚠️ TAB BAR WAS HIDDEN EXTERNALLY! tabBarHidden prop is false but isHidden became true")
248
- Thread.callStackSymbols.prefix(15).forEach { self?.log(" \($0)") }
249
- }
250
- }
251
- tabBarAlphaObservation = tbc.tabBar.observe(\.alpha, options: [.old, .new]) { [weak self] tabBar, change in
252
- if change.oldValue != change.newValue {
253
- self?.log("KVO tabBar.alpha changed: \(change.oldValue ?? 0) -> \(change.newValue ?? 0), frame=\(tabBar.frame)")
254
- }
255
- }
256
- tabBarFrameObservation = tbc.tabBar.observe(\.frame, options: [.old, .new]) { [weak self] tabBar, change in
257
- let oldFrame = change.oldValue ?? .zero
258
- let newFrame = change.newValue ?? .zero
259
- if oldFrame != newFrame {
260
- self?.log("KVO tabBar.frame changed: \(oldFrame) -> \(newFrame), isHidden=\(tabBar.isHidden), alpha=\(tabBar.alpha)")
261
- }
262
- }
263
- }
264
-
265
204
  setupLongPressGesture()
266
205
  rebuildViewControllers()
267
206
  updateTabBarAppearance()
@@ -314,11 +253,7 @@ class RCTTabViewContainerView: UIView {
314
253
  }
315
254
 
316
255
  private func rebuildViewControllers() {
317
- guard let tbc = tabBarController else {
318
- log("rebuildViewControllers: no tabBarController yet")
319
- return
320
- }
321
- log("rebuildViewControllers: tabBar.isHidden=\(tbc.tabBar.isHidden), tabBarHidden=\(tabBarHidden), items=\(parsedItems.count), childViews=\(childViews.count)")
256
+ guard let tbc = tabBarController else { return }
322
257
 
323
258
  let filtered = filteredItems
324
259
  let allItems = parsedItems
@@ -333,23 +268,16 @@ class RCTTabViewContainerView: UIView {
333
268
  let vc: UIViewController
334
269
  if let cached = cachedViewControllers[tabData.key] {
335
270
  vc = cached
336
- log("rebuildViewControllers: reusing cached VC for tab[\(tabData.key)]")
337
271
  } else {
338
272
  vc = UIViewController()
339
273
  vc.view.backgroundColor = .clear
340
274
  vc.view.clipsToBounds = true
341
275
  cachedViewControllers[tabData.key] = vc
342
- log("rebuildViewControllers: created new VC for tab[\(tabData.key)]")
343
276
  }
344
277
 
345
278
  // Attach child view if not already attached to this VC
346
279
  if originalIndex < childViews.count {
347
280
  let childView = childViews[originalIndex]
348
- let currentSuperview = childView.superview
349
- let superviewType = currentSuperview.map { String(describing: type(of: $0)) } ?? "nil"
350
- let isSelf = currentSuperview === self
351
- let isVcView = currentSuperview === vc.view
352
- log("rebuildViewControllers: tab[\(tabData.key)] childView superview=\(superviewType), isSelf=\(isSelf), isVcView=\(isVcView), userInteraction=\(childView.isUserInteractionEnabled)")
353
281
  if childView.superview !== vc.view {
354
282
  childView.removeFromSuperview()
355
283
  vc.view.addSubview(childView)
@@ -358,7 +286,6 @@ class RCTTabViewContainerView: UIView {
358
286
  childView.translatesAutoresizingMaskIntoConstraints = true
359
287
  childView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
360
288
  childView.frame = vc.view.bounds
361
- log("rebuildViewControllers: tab[\(tabData.key)] MOVED childView to vc.view (was \(superviewType))")
362
289
  }
363
290
  }
364
291
 
@@ -411,7 +338,6 @@ class RCTTabViewContainerView: UIView {
411
338
  // Only call setViewControllers if the VC list actually changed
412
339
  let currentVCs = tbc.viewControllers ?? []
413
340
  if currentVCs.count != viewControllers.count || !zip(currentVCs, viewControllers).allSatisfy({ $0 === $1 }) {
414
- log("rebuildViewControllers: updating VCs (old=\(currentVCs.count), new=\(viewControllers.count))")
415
341
  if disablePageAnimations {
416
342
  UIView.performWithoutAnimation {
417
343
  tbc.setViewControllers(viewControllers, animated: false)
@@ -419,14 +345,6 @@ class RCTTabViewContainerView: UIView {
419
345
  } else {
420
346
  tbc.setViewControllers(viewControllers, animated: false)
421
347
  }
422
- } else {
423
- log("rebuildViewControllers: VCs unchanged, skipping setViewControllers")
424
- }
425
-
426
- // Log the view hierarchy after setting VCs
427
- log("rebuildViewControllers: tbc.view.subviews=\(tbc.view.subviews.map { "\(type(of: $0)):\(String(format: "%.0f", $0.frame.width))x\(String(format: "%.0f", $0.frame.height))" })")
428
- if let selectedVC = tbc.selectedViewController {
429
- log("rebuildViewControllers: selectedVC.view.frame=\(selectedVC.view.frame), subviews=\(selectedVC.view.subviews.count)")
430
348
  }
431
349
 
432
350
  updateSelectedTab()
@@ -436,11 +354,7 @@ class RCTTabViewContainerView: UIView {
436
354
 
437
355
  private func updateSelectedTab() {
438
356
  guard let tbc = tabBarController,
439
- let selectedPage else {
440
- log("updateSelectedTab: skipped (tbc=\(tabBarController != nil), selectedPage=\(selectedPage ?? "nil"))")
441
- return
442
- }
443
- log("updateSelectedTab: selectedPage=\(selectedPage), tabBar.isHidden=\(tbc.tabBar.isHidden)")
357
+ let selectedPage else { return }
444
358
 
445
359
  let filtered = filteredItems
446
360
  guard let index = filtered.firstIndex(where: { $0.key == selectedPage }) else { return }
@@ -547,11 +461,7 @@ class RCTTabViewContainerView: UIView {
547
461
  }
548
462
 
549
463
  private func updateTabBarHidden() {
550
- guard let tbc = tabBarController else {
551
- log("updateTabBarHidden: no tabBarController yet")
552
- return
553
- }
554
- log("updateTabBarHidden: setting tabBar.isHidden=\(tabBarHidden), current tabBar.isHidden=\(tbc.tabBar.isHidden), tabBar.frame=\(tbc.tabBar.frame)")
464
+ guard let tbc = tabBarController else { return }
555
465
  tbc.tabBar.isHidden = tabBarHidden
556
466
  tbc.tabBar.isUserInteractionEnabled = !tabBarHidden
557
467
 
@@ -564,7 +474,20 @@ class RCTTabViewContainerView: UIView {
564
474
  guard let tbc = tabBarController else { return }
565
475
  if #available(iOS 18.0, *) {
566
476
  #if compiler(>=6.0)
567
- tbc.mode = sidebarAdaptable ? .tabSidebar : .tabBar
477
+ if sidebarAdaptable {
478
+ tbc.mode = .tabSidebar
479
+ // Remove compact override so sidebar can use the natural size class
480
+ if UIDevice.current.userInterfaceIdiom == .pad {
481
+ tbc.traitOverrides.remove(UITraitHorizontalSizeClass.self)
482
+ }
483
+ } else {
484
+ tbc.mode = .tabBar
485
+ // Force compact horizontal size class on iPad to keep TabBar at bottom
486
+ // iPad defaults to .regular which causes iOS 18+ to show tabs at top
487
+ if UIDevice.current.userInterfaceIdiom == .pad {
488
+ tbc.traitOverrides.horizontalSizeClass = .compact
489
+ }
490
+ }
568
491
  #endif
569
492
  }
570
493
  }
@@ -720,16 +643,12 @@ class TabViewDelegateProxy: NSObject, UITabBarControllerDelegate {
720
643
 
721
644
  func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
722
645
  guard let containerView = mapping[ObjectIdentifier(tabBarController)] else {
723
- RCTTabViewLog.debug("RCTTabView", message: "[DelegateProxy] shouldSelect: no container view found!")
724
646
  return false
725
647
  }
726
648
  let isReselection = tabBarController.selectedViewController == viewController
727
- RCTTabViewLog.debug("RCTTabView", message: "[DelegateProxy] shouldSelect: isReselection=\(isReselection), tabBar.isHidden=\(tabBarController.tabBar.isHidden)")
728
649
 
729
650
  if let index = tabBarController.viewControllers?.firstIndex(of: viewController) {
730
- let result = containerView.shouldSelectTab(at: index, isReselection: isReselection)
731
- RCTTabViewLog.debug("RCTTabView", message: "[DelegateProxy] shouldSelect result=\(result)")
732
- return result
651
+ return containerView.shouldSelectTab(at: index, isReselection: isReselection)
733
652
  }
734
653
 
735
654
  return false
@@ -6,19 +6,24 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const ANIMATION_DELAY = 200;
7
7
  function DelayedFreeze({
8
8
  freeze,
9
+ delayedFreeze,
9
10
  children
10
11
  }) {
11
12
  const [freezeState, setFreezeState] = React.useState(false);
12
13
  React.useEffect(() => {
14
+ if (!delayedFreeze) {
15
+ return;
16
+ }
13
17
  const id = setTimeout(() => {
14
18
  setFreezeState(freeze);
15
19
  }, ANIMATION_DELAY);
16
20
  return () => {
17
21
  clearTimeout(id);
18
22
  };
19
- }, [freeze]);
23
+ }, [freeze, delayedFreeze]);
24
+ const shouldFreeze = delayedFreeze ? freeze ? freezeState : false : freeze;
20
25
  return /*#__PURE__*/_jsx(Freeze, {
21
- freeze: freeze ? freezeState : false,
26
+ freeze: shouldFreeze,
22
27
  children: children
23
28
  });
24
29
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Freeze","jsx","_jsx","ANIMATION_DELAY","DelayedFreeze","freeze","children","freezeState","setFreezeState","useState","useEffect","id","setTimeout","clearTimeout"],"sourceRoot":"../../src","sources":["DelayedFreeze.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtC,MAAMC,eAAe,GAAG,GAAG;AAE3B,SAASC,aAAaA,CAAC;EAAEC,MAAM;EAAEC;AAA6B,CAAC,EAAE;EAC/D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGT,KAAK,CAACU,QAAQ,CAAC,KAAK,CAAC;EAE3DV,KAAK,CAACW,SAAS,CAAC,MAAM;IACpB,MAAMC,EAAE,GAAGC,UAAU,CAAC,MAAM;MAC1BJ,cAAc,CAACH,MAAM,CAAC;IACxB,CAAC,EAAEF,eAAe,CAAC;IAEnB,OAAO,MAAM;MACXU,YAAY,CAACF,EAAE,CAAC;IAClB,CAAC;EACH,CAAC,EAAE,CAACN,MAAM,CAAC,CAAC;EAEZ,oBAAOH,IAAA,CAACF,MAAM;IAACK,MAAM,EAAEA,MAAM,GAAGE,WAAW,GAAG,KAAM;IAAAD,QAAA,EAAEA;EAAQ,CAAS,CAAC;AAC1E;AAEA,eAAeF,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["React","Freeze","jsx","_jsx","ANIMATION_DELAY","DelayedFreeze","freeze","delayedFreeze","children","freezeState","setFreezeState","useState","useEffect","id","setTimeout","clearTimeout","shouldFreeze"],"sourceRoot":"../../src","sources":["DelayedFreeze.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtC,MAAMC,eAAe,GAAG,GAAG;AAQ3B,SAASC,aAAaA,CAAC;EAAEC,MAAM;EAAEC,aAAa;EAAEC;AAA6B,CAAC,EAAE;EAC9E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGV,KAAK,CAACW,QAAQ,CAAC,KAAK,CAAC;EAE3DX,KAAK,CAACY,SAAS,CAAC,MAAM;IACpB,IAAI,CAACL,aAAa,EAAE;MAClB;IACF;IACA,MAAMM,EAAE,GAAGC,UAAU,CAAC,MAAM;MAC1BJ,cAAc,CAACJ,MAAM,CAAC;IACxB,CAAC,EAAEF,eAAe,CAAC;IAEnB,OAAO,MAAM;MACXW,YAAY,CAACF,EAAE,CAAC;IAClB,CAAC;EACH,CAAC,EAAE,CAACP,MAAM,EAAEC,aAAa,CAAC,CAAC;EAE3B,MAAMS,YAAY,GAAGT,aAAa,GAAID,MAAM,GAAGG,WAAW,GAAG,KAAK,GAAIH,MAAM;EAE5E,oBAAOH,IAAA,CAACF,MAAM;IAACK,MAAM,EAAEU,YAAa;IAAAR,QAAA,EAAEA;EAAQ,CAAS,CAAC;AAC1D;AAEA,eAAeH,aAAa","ignoreList":[]}
@@ -68,6 +68,7 @@ const TabView = ({
68
68
  tabLabelStyle,
69
69
  renderBottomAccessoryView,
70
70
  activeIndicatorColor,
71
+ delayedFreeze = false,
71
72
  ...props
72
73
  }) => {
73
74
  // @ts-ignore
@@ -239,6 +240,7 @@ const TabView = ({
239
240
  importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
240
241
  children: /*#__PURE__*/_jsx(DelayedFreeze, {
241
242
  freeze: !!freeze,
243
+ delayedFreeze: delayedFreeze,
242
244
  children: renderScene({
243
245
  route,
244
246
  jumpTo
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLayoutEffect","useRef","Image","Platform","StyleSheet","View","processColor","BottomTabBarHeightContext","NativeTabView","useLatestCallback","DelayedFreeze","BottomAccessoryView","jsx","_jsx","jsxs","_jsxs","isAppleSymbol","icon","sfSymbol","ANDROID_MAX_TABS","TabView","navigationState","renderScene","onIndexChange","onTabLongPress","rippleColor","tabBarActiveTintColor","activeTintColor","tabBarInactiveTintColor","inactiveTintColor","getBadge","route","badge","getBadgeBackgroundColor","badgeBackgroundColor","getBadgeTextColor","badgeTextColor","getLazy","lazy","getLabelText","title","getIcon","focused","unfocusedIcon","focusedIcon","getHidden","hidden","getActiveTintColor","getTestID","testID","getRole","role","getSceneStyle","style","getPreventsDefault","preventsDefault","hapticFeedbackEnabled","labeled","OS","undefined","getFreezeOnBlur","freezeOnBlur","tabBar","renderCustomTabBar","tabBarStyle","tabLabelStyle","renderBottomAccessoryView","activeIndicatorColor","props","focusedKey","routes","index","key","customTabBarWrapperRef","tabBarHeight","setTabBarHeight","useState","measuredDimensions","setMeasuredDimensions","width","height","trimmedRoutes","useMemo","length","console","warn","slice","loaded","setLoaded","includes","icons","map","items","isSfSymbol","color","badgeBgColor","badgeTxtColor","resolvedIconAssets","resolved","resolveAssetSource","uri","scale","jumpTo","findIndex","handleTabLongPress","useCallback","event","nativeEvent","handlePageSelected","handleTabBarMeasured","handleNativeLayout","current","measure","_x","_y","_width","Provider","value","children","styles","fullWidth","selectedPage","tabBarHidden","onPageSelected","onTabBarMeasured","onNativeLayout","barTintColor","backgroundColor","collapsable","freeze","customStyle","screen","pointerEvents","accessibilityElementsHidden","importantForAccessibility","parseFloat","Version","ref","create","flex","position"],"sourceRoot":"../../src","sources":["TabView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useLayoutEffect","useRef","Image","Platform","StyleSheet","View","processColor","BottomTabBarHeightContext","NativeTabView","useLatestCallback","DelayedFreeze","BottomAccessoryView","jsx","_jsx","jsxs","_jsxs","isAppleSymbol","icon","sfSymbol","ANDROID_MAX_TABS","TabView","navigationState","renderScene","onIndexChange","onTabLongPress","rippleColor","tabBarActiveTintColor","activeTintColor","tabBarInactiveTintColor","inactiveTintColor","getBadge","route","badge","getBadgeBackgroundColor","badgeBackgroundColor","getBadgeTextColor","badgeTextColor","getLazy","lazy","getLabelText","title","getIcon","focused","unfocusedIcon","focusedIcon","getHidden","hidden","getActiveTintColor","getTestID","testID","getRole","role","getSceneStyle","style","getPreventsDefault","preventsDefault","hapticFeedbackEnabled","labeled","OS","undefined","getFreezeOnBlur","freezeOnBlur","tabBar","renderCustomTabBar","tabBarStyle","tabLabelStyle","renderBottomAccessoryView","activeIndicatorColor","delayedFreeze","props","focusedKey","routes","index","key","customTabBarWrapperRef","tabBarHeight","setTabBarHeight","useState","measuredDimensions","setMeasuredDimensions","width","height","trimmedRoutes","useMemo","length","console","warn","slice","loaded","setLoaded","includes","icons","map","items","isSfSymbol","color","badgeBgColor","badgeTxtColor","resolvedIconAssets","resolved","resolveAssetSource","uri","scale","jumpTo","findIndex","handleTabLongPress","useCallback","event","nativeEvent","handlePageSelected","handleTabBarMeasured","handleNativeLayout","current","measure","_x","_y","_width","Provider","value","children","styles","fullWidth","selectedPage","tabBarHidden","onPageSelected","onTabBarMeasured","onNativeLayout","barTintColor","backgroundColor","collapsable","freeze","customStyle","screen","pointerEvents","accessibilityElementsHidden","importantForAccessibility","parseFloat","Version","ref","create","flex","position"],"sourceRoot":"../../src","sources":["TabView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
2
  interface FreezeWrapperProps {
3
3
  freeze: boolean;
4
+ delayedFreeze?: boolean;
4
5
  children: React.ReactNode;
5
6
  }
6
- declare function DelayedFreeze({ freeze, children }: FreezeWrapperProps): import("react/jsx-runtime").JSX.Element;
7
+ declare function DelayedFreeze({ freeze, delayedFreeze, children }: FreezeWrapperProps): import("react/jsx-runtime").JSX.Element;
7
8
  export default DelayedFreeze;
8
9
  //# sourceMappingURL=DelayedFreeze.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DelayedFreeze.d.ts","sourceRoot":"","sources":["../../../src/DelayedFreeze.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAID,iBAAS,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAc9D;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"DelayedFreeze.d.ts","sourceRoot":"","sources":["../../../src/DelayedFreeze.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,iBAAS,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAmB7E;AAED,eAAe,aAAa,CAAC"}
@@ -172,7 +172,13 @@ interface Props<Route extends BaseRoute> {
172
172
  * Whether to ignore bottom system insets (navigation bar). Android only.
173
173
  */
174
174
  ignoreBottomInsets?: boolean;
175
+ /**
176
+ * Whether to delay freeze/unfreeze by 200ms on tab switch.
177
+ * Defaults to false (immediate freeze). Set to true to restore the
178
+ * original delayed behavior.
179
+ */
180
+ delayedFreeze?: boolean;
175
181
  }
176
- declare const TabView: <Route extends BaseRoute>({ navigationState, renderScene, onIndexChange, onTabLongPress, rippleColor, tabBarActiveTintColor: activeTintColor, tabBarInactiveTintColor: inactiveTintColor, getBadge, getBadgeBackgroundColor, getBadgeTextColor, getLazy, getLabelText, getIcon, getHidden, getActiveTintColor, getTestID, getRole, getSceneStyle, getPreventsDefault, hapticFeedbackEnabled, labeled, getFreezeOnBlur, tabBar: renderCustomTabBar, tabBarStyle, tabLabelStyle, renderBottomAccessoryView, activeIndicatorColor, ...props }: Props<Route>) => import("react/jsx-runtime").JSX.Element;
182
+ declare const TabView: <Route extends BaseRoute>({ navigationState, renderScene, onIndexChange, onTabLongPress, rippleColor, tabBarActiveTintColor: activeTintColor, tabBarInactiveTintColor: inactiveTintColor, getBadge, getBadgeBackgroundColor, getBadgeTextColor, getLazy, getLabelText, getIcon, getHidden, getActiveTintColor, getTestID, getRole, getSceneStyle, getPreventsDefault, hapticFeedbackEnabled, labeled, getFreezeOnBlur, tabBar: renderCustomTabBar, tabBarStyle, tabLabelStyle, renderBottomAccessoryView, activeIndicatorColor, delayedFreeze, ...props }: Props<Route>) => import("react/jsx-runtime").JSX.Element;
177
183
  export default TabView;
178
184
  //# sourceMappingURL=TabView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabView.d.ts","sourceRoot":"","sources":["../../../src/TabView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabView.d.ts","sourceRoot":"","sources":["../../../src/TabView.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-tab-view",
3
- "version": "1.1.43",
3
+ "version": "1.1.45",
4
4
  "description": "Native Bottom Tabs for React Native (UIKit implementation)",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -1,17 +1,21 @@
1
1
  import React from 'react';
2
2
  import { Freeze } from 'react-freeze';
3
3
 
4
+ const ANIMATION_DELAY = 200;
5
+
4
6
  interface FreezeWrapperProps {
5
7
  freeze: boolean;
8
+ delayedFreeze?: boolean;
6
9
  children: React.ReactNode;
7
10
  }
8
11
 
9
- const ANIMATION_DELAY = 200;
10
-
11
- function DelayedFreeze({ freeze, children }: FreezeWrapperProps) {
12
+ function DelayedFreeze({ freeze, delayedFreeze, children }: FreezeWrapperProps) {
12
13
  const [freezeState, setFreezeState] = React.useState(false);
13
14
 
14
15
  React.useEffect(() => {
16
+ if (!delayedFreeze) {
17
+ return;
18
+ }
15
19
  const id = setTimeout(() => {
16
20
  setFreezeState(freeze);
17
21
  }, ANIMATION_DELAY);
@@ -19,9 +23,11 @@ function DelayedFreeze({ freeze, children }: FreezeWrapperProps) {
19
23
  return () => {
20
24
  clearTimeout(id);
21
25
  };
22
- }, [freeze]);
26
+ }, [freeze, delayedFreeze]);
27
+
28
+ const shouldFreeze = delayedFreeze ? (freeze ? freezeState : false) : freeze;
23
29
 
24
- return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;
30
+ return <Freeze freeze={shouldFreeze}>{children}</Freeze>;
25
31
  }
26
32
 
27
33
  export default DelayedFreeze;
package/src/TabView.tsx CHANGED
@@ -186,6 +186,12 @@ interface Props<Route extends BaseRoute> {
186
186
  * Whether to ignore bottom system insets (navigation bar). Android only.
187
187
  */
188
188
  ignoreBottomInsets?: boolean;
189
+ /**
190
+ * Whether to delay freeze/unfreeze by 200ms on tab switch.
191
+ * Defaults to false (immediate freeze). Set to true to restore the
192
+ * original delayed behavior.
193
+ */
194
+ delayedFreeze?: boolean;
189
195
  }
190
196
 
191
197
  const ANDROID_MAX_TABS = 100;
@@ -224,6 +230,7 @@ const TabView = <Route extends BaseRoute>({
224
230
  tabLabelStyle,
225
231
  renderBottomAccessoryView,
226
232
  activeIndicatorColor,
233
+ delayedFreeze = false,
227
234
  ...props
228
235
  }: Props<Route>) => {
229
236
  // @ts-ignore
@@ -432,7 +439,7 @@ const TabView = <Route extends BaseRoute>({
432
439
  focused ? 'auto' : 'no-hide-descendants'
433
440
  }
434
441
  >
435
- <DelayedFreeze freeze={!!freeze}>
442
+ <DelayedFreeze freeze={!!freeze} delayedFreeze={delayedFreeze}>
436
443
  {renderScene({
437
444
  route,
438
445
  jumpTo,