react-native-tab-view 5.0.0-alpha.1 → 5.0.0-alpha.2

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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { StyleSheet, View } from 'react-native';
4
+ import { Platform, StyleSheet, View } from 'react-native';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  export function SceneView({
7
7
  children,
@@ -46,7 +46,19 @@ export function SceneView({
46
46
  clearTimeout(timer);
47
47
  };
48
48
  }, [subscribe, index, isLoading, lazy]);
49
+ const ref = React.useRef(null);
50
+ React.useLayoutEffect(() => {
51
+ const element = ref.current;
52
+ if (Platform.OS === 'web' && typeof HTMLElement !== 'undefined' && element && element instanceof HTMLElement) {
53
+ if (isFocused) {
54
+ element.removeAttribute('inert');
55
+ } else {
56
+ element.setAttribute('inert', '');
57
+ }
58
+ }
59
+ }, [isFocused]);
49
60
  return /*#__PURE__*/_jsx(View, {
61
+ ref: ref,
50
62
  "aria-hidden": !isFocused,
51
63
  style: [styles.route, style],
52
64
  children: children({
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","jsx","_jsx","SceneView","children","navigationState","lazy","index","lazyPreloadDistance","subscribe","style","isFocused","isLoaded","Math","abs","isLoading","setIsLoading","useState","useEffect","unsubscribe","timer","event","type","prevState","setTimeout","clearTimeout","styles","route","loading","create","flex","overflow"],"sourceRoot":"../../src","sources":["SceneView.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAAyBC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmBhF,OAAO,SAASC,SAASA,CAAkB;EACzCC,QAAQ;EACRC,eAAe;EACfC,IAAI;EACJC,KAAK;EACLC,mBAAmB;EACnBC,SAAS;EACTC;AACQ,CAAC,EAAE;EACX,MAAMC,SAAS,GAAGN,eAAe,CAACE,KAAK,KAAKA,KAAK;EACjD,MAAMK,QAAQ,GACZD,SAAS,IAAIE,IAAI,CAACC,GAAG,CAACT,eAAe,CAACE,KAAK,GAAGA,KAAK,CAAC,IAAIC,mBAAmB;EAE7E,MAAM,CAACO,SAAS,EAAEC,YAAY,CAAC,GAAGlB,KAAK,CAACmB,QAAQ,CAAC,CAACL,QAAQ,CAAC;EAE3D,IAAIG,SAAS,IAAIH,QAAQ,EAAE;IACzB;IACA;IACAI,YAAY,CAAC,KAAK,CAAC;EACrB;EAEAlB,KAAK,CAACoB,SAAS,CAAC,MAAM;IACpB,IAAIC,WAAqC;IACzC,IAAIC,KAAgD;IAEpD,IAAId,IAAI,IAAIS,SAAS,EAAE;MACrB;MACAI,WAAW,GAAGV,SAAS,CAAEY,KAAK,IAAK;QACjC;QACA,IAAIA,KAAK,CAACC,IAAI,KAAK,OAAO,IAAID,KAAK,CAACd,KAAK,KAAKA,KAAK,EAAE;UACnDS,YAAY,CAAEO,SAAS,IAAK;YAC1B,IAAIA,SAAS,EAAE;cACb,OAAO,KAAK;YACd;YAEA,OAAOA,SAAS;UAClB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIR,SAAS,EAAE;MACpB;MACA;MACAK,KAAK,GAAGI,UAAU,CAAC,MAAMR,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClD;IAEA,OAAO,MAAM;MACXG,WAAW,GAAG,CAAC;MACfM,YAAY,CAACL,KAAK,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACX,SAAS,EAAEF,KAAK,EAAEQ,SAAS,EAAET,IAAI,CAAC,CAAC;EAEvC,oBACEJ,IAAA,CAACF,IAAI;IAAC,eAAa,CAACW,SAAU;IAACD,KAAK,EAAE,CAACgB,MAAM,CAACC,KAAK,EAAEjB,KAAK,CAAE;IAAAN,QAAA,EACzDA,QAAQ,CAAC;MAAEwB,OAAO,EAAEb;IAAU,CAAC;EAAC,CAC7B,CAAC;AAEX;AAEA,MAAMW,MAAM,GAAG3B,UAAU,CAAC8B,MAAM,CAAC;EAC/BF,KAAK,EAAE;IACLG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","StyleSheet","View","jsx","_jsx","SceneView","children","navigationState","lazy","index","lazyPreloadDistance","subscribe","style","isFocused","isLoaded","Math","abs","isLoading","setIsLoading","useState","useEffect","unsubscribe","timer","event","type","prevState","setTimeout","clearTimeout","ref","useRef","useLayoutEffect","element","current","OS","HTMLElement","removeAttribute","setAttribute","styles","route","loading","create","flex","overflow"],"sourceRoot":"../../src","sources":["SceneView.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,QAAQ,EAERC,UAAU,EACVC,IAAI,QAEC,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmBtB,OAAO,SAASC,SAASA,CAAkB;EACzCC,QAAQ;EACRC,eAAe;EACfC,IAAI;EACJC,KAAK;EACLC,mBAAmB;EACnBC,SAAS;EACTC;AACQ,CAAC,EAAE;EACX,MAAMC,SAAS,GAAGN,eAAe,CAACE,KAAK,KAAKA,KAAK;EACjD,MAAMK,QAAQ,GACZD,SAAS,IAAIE,IAAI,CAACC,GAAG,CAACT,eAAe,CAACE,KAAK,GAAGA,KAAK,CAAC,IAAIC,mBAAmB;EAE7E,MAAM,CAACO,SAAS,EAAEC,YAAY,CAAC,GAAGnB,KAAK,CAACoB,QAAQ,CAAC,CAACL,QAAQ,CAAC;EAE3D,IAAIG,SAAS,IAAIH,QAAQ,EAAE;IACzB;IACA;IACAI,YAAY,CAAC,KAAK,CAAC;EACrB;EAEAnB,KAAK,CAACqB,SAAS,CAAC,MAAM;IACpB,IAAIC,WAAqC;IACzC,IAAIC,KAAgD;IAEpD,IAAId,IAAI,IAAIS,SAAS,EAAE;MACrB;MACAI,WAAW,GAAGV,SAAS,CAAEY,KAAK,IAAK;QACjC;QACA,IAAIA,KAAK,CAACC,IAAI,KAAK,OAAO,IAAID,KAAK,CAACd,KAAK,KAAKA,KAAK,EAAE;UACnDS,YAAY,CAAEO,SAAS,IAAK;YAC1B,IAAIA,SAAS,EAAE;cACb,OAAO,KAAK;YACd;YAEA,OAAOA,SAAS;UAClB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIR,SAAS,EAAE;MACpB;MACA;MACAK,KAAK,GAAGI,UAAU,CAAC,MAAMR,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClD;IAEA,OAAO,MAAM;MACXG,WAAW,GAAG,CAAC;MACfM,YAAY,CAACL,KAAK,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACX,SAAS,EAAEF,KAAK,EAAEQ,SAAS,EAAET,IAAI,CAAC,CAAC;EAEvC,MAAMoB,GAAG,GAAG7B,KAAK,CAAC8B,MAAM,CAAO,IAAI,CAAC;EAEpC9B,KAAK,CAAC+B,eAAe,CAAC,MAAM;IAC1B,MAAMC,OAAO,GAAGH,GAAG,CAACI,OAAO;IAE3B,IACEhC,QAAQ,CAACiC,EAAE,KAAK,KAAK,IACrB,OAAOC,WAAW,KAAK,WAAW,IAClCH,OAAO,IACPA,OAAO,YAAYG,WAAW,EAC9B;MACA,IAAIrB,SAAS,EAAE;QACbkB,OAAO,CAACI,eAAe,CAAC,OAAO,CAAC;MAClC,CAAC,MAAM;QACLJ,OAAO,CAACK,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;MACnC;IACF;EACF,CAAC,EAAE,CAACvB,SAAS,CAAC,CAAC;EAEf,oBACET,IAAA,CAACF,IAAI;IAAC0B,GAAG,EAAEA,GAAI;IAAC,eAAa,CAACf,SAAU;IAACD,KAAK,EAAE,CAACyB,MAAM,CAACC,KAAK,EAAE1B,KAAK,CAAE;IAAAN,QAAA,EACnEA,QAAQ,CAAC;MAAEiC,OAAO,EAAEtB;IAAU,CAAC;EAAC,CAC7B,CAAC;AAEX;AAEA,MAAMoB,MAAM,GAAGpC,UAAU,CAACuC,MAAM,CAAC;EAC/BF,KAAK,EAAE;IACLG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAC9C,iBAAiB,GAAG;IAClB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEJ,wBAAgB,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,EACzC,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,KAAK,EACL,mBAAmB,EACnB,SAAS,EACT,KAAK,GACN,EAAE,KAAK,CAAC,CAAC,CAAC,2CAgDV"}
1
+ {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,KAAK,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAC9C,iBAAiB,GAAG;IAClB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEJ,wBAAgB,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,EACzC,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,KAAK,EACL,mBAAmB,EACnB,SAAS,EACT,KAAK,GACN,EAAE,KAAK,CAAC,CAAC,CAAC,2CAmEV"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-tab-view",
3
3
  "description": "Tab view component for React Native",
4
- "version": "5.0.0-alpha.1",
4
+ "version": "5.0.0-alpha.2",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "4579b7cfdf8b149ef04cfb585e2cb6b35ded52d7"
83
+ "gitHead": "faad2ee23945a5a27090cfb837a35d1db25147ab"
84
84
  }
package/src/SceneView.tsx CHANGED
@@ -1,5 +1,11 @@
1
1
  import * as React from 'react';
2
- import { type StyleProp, StyleSheet, View, type ViewStyle } from 'react-native';
2
+ import {
3
+ Platform,
4
+ type StyleProp,
5
+ StyleSheet,
6
+ View,
7
+ type ViewStyle,
8
+ } from 'react-native';
3
9
 
4
10
  import type {
5
11
  EventEmitterProps,
@@ -69,8 +75,27 @@ export function SceneView<T extends Route>({
69
75
  };
70
76
  }, [subscribe, index, isLoading, lazy]);
71
77
 
78
+ const ref = React.useRef<View>(null);
79
+
80
+ React.useLayoutEffect(() => {
81
+ const element = ref.current;
82
+
83
+ if (
84
+ Platform.OS === 'web' &&
85
+ typeof HTMLElement !== 'undefined' &&
86
+ element &&
87
+ element instanceof HTMLElement
88
+ ) {
89
+ if (isFocused) {
90
+ element.removeAttribute('inert');
91
+ } else {
92
+ element.setAttribute('inert', '');
93
+ }
94
+ }
95
+ }, [isFocused]);
96
+
72
97
  return (
73
- <View aria-hidden={!isFocused} style={[styles.route, style]}>
98
+ <View ref={ref} aria-hidden={!isFocused} style={[styles.route, style]}>
74
99
  {children({ loading: isLoading })}
75
100
  </View>
76
101
  );