react-native-tab-view 5.0.0-alpha.8 → 5.0.0-alpha.9

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.
Files changed (43) hide show
  1. package/lib/module/PagerViewAdapter.native.js +29 -13
  2. package/lib/module/PagerViewAdapter.native.js.map +1 -1
  3. package/lib/module/PlatformPressable.js +1 -1
  4. package/lib/module/ScrollViewAdapter.js +46 -18
  5. package/lib/module/ScrollViewAdapter.js.map +1 -1
  6. package/lib/module/TabBar.js +260 -148
  7. package/lib/module/TabBar.js.map +1 -1
  8. package/lib/module/TabBarIndicator.js +282 -168
  9. package/lib/module/TabBarIndicator.js.map +1 -1
  10. package/lib/module/TabBarItem.js +94 -44
  11. package/lib/module/TabBarItem.js.map +1 -1
  12. package/lib/module/TabBarItemLabel.js +3 -2
  13. package/lib/module/TabBarItemLabel.js.map +1 -1
  14. package/lib/module/constants.js +10 -0
  15. package/lib/module/constants.js.map +1 -0
  16. package/lib/module/useLayoutWidths.js +46 -0
  17. package/lib/module/useLayoutWidths.js.map +1 -0
  18. package/lib/typescript/src/PagerViewAdapter.native.d.ts +1 -1
  19. package/lib/typescript/src/PagerViewAdapter.native.d.ts.map +1 -1
  20. package/lib/typescript/src/ScrollViewAdapter.d.ts +1 -2
  21. package/lib/typescript/src/ScrollViewAdapter.d.ts.map +1 -1
  22. package/lib/typescript/src/TabBar.d.ts +2 -1
  23. package/lib/typescript/src/TabBar.d.ts.map +1 -1
  24. package/lib/typescript/src/TabBarIndicator.d.ts +4 -7
  25. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
  26. package/lib/typescript/src/TabBarItem.d.ts +10 -4
  27. package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
  28. package/lib/typescript/src/TabBarItemLabel.d.ts +4 -3
  29. package/lib/typescript/src/TabBarItemLabel.d.ts.map +1 -1
  30. package/lib/typescript/src/constants.d.ts +8 -0
  31. package/lib/typescript/src/constants.d.ts.map +1 -0
  32. package/lib/typescript/src/useLayoutWidths.d.ts +2 -0
  33. package/lib/typescript/src/useLayoutWidths.d.ts.map +1 -0
  34. package/package.json +2 -2
  35. package/src/PagerViewAdapter.native.tsx +36 -18
  36. package/src/PlatformPressable.tsx +1 -1
  37. package/src/ScrollViewAdapter.tsx +81 -21
  38. package/src/TabBar.tsx +386 -181
  39. package/src/TabBarIndicator.tsx +323 -248
  40. package/src/TabBarItem.tsx +102 -41
  41. package/src/TabBarItemLabel.tsx +5 -4
  42. package/src/constants.tsx +8 -0
  43. package/src/useLayoutWidths.tsx +51 -0
@@ -3,11 +3,10 @@
3
3
  import * as React from 'react';
4
4
  import { Animated, Platform, StyleSheet, View } from 'react-native';
5
5
  import useLatestCallback from 'use-latest-callback';
6
+ import { TAB_BAR_INACTIVE_COLOR, TAB_BAR_PRIMARY_ACTIVE_COLOR, TAB_BAR_SECONDARY_ACTIVE_COLOR } from "./constants.js";
6
7
  import { PlatformPressable } from "./PlatformPressable.js";
7
8
  import { TabBarItemLabel } from "./TabBarItemLabel.js";
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- const DEFAULT_ACTIVE_COLOR = 'rgba(0, 0, 0, 1)';
10
- const DEFAULT_INACTIVE_COLOR = 'rgba(0, 0, 0, 0.5)';
11
10
  const ICON_SIZE = 24;
12
11
  const getActiveOpacity = (position, routesLength, tabIndex) => {
13
12
  if (routesLength > 1) {
@@ -36,9 +35,11 @@ const getInactiveOpacity = (position, routesLength, tabIndex) => {
36
35
  }
37
36
  };
38
37
  const ANDROID_RIPPLE_DEFAULT = {
39
- borderless: true
38
+ borderless: false,
39
+ foreground: true
40
40
  };
41
41
  const TabBarItemInternal = ({
42
+ variant,
42
43
  accessibilityLabel,
43
44
  accessible,
44
45
  label: customlabel,
@@ -51,11 +52,11 @@ const TabBarItemInternal = ({
51
52
  inactiveColor: inactiveColorCustom,
52
53
  activeColor: activeColorCustom,
53
54
  labelStyle,
54
- onLayout,
55
+ onMeasureLayout,
56
+ onMeasureLabelLayout,
55
57
  index: tabIndex,
56
58
  pressColor,
57
59
  pressOpacity,
58
- defaultTabWidth,
59
60
  icon: customIcon,
60
61
  badge: customBadge,
61
62
  href,
@@ -66,8 +67,9 @@ const TabBarItemInternal = ({
66
67
  route
67
68
  }) => {
68
69
  const labelColorFromStyle = StyleSheet.flatten(labelStyle || {}).color;
69
- const activeColor = activeColorCustom !== undefined ? activeColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_ACTIVE_COLOR;
70
- const inactiveColor = inactiveColorCustom !== undefined ? inactiveColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_INACTIVE_COLOR;
70
+ const defaultActiveColor = variant === 'primary' ? TAB_BAR_PRIMARY_ACTIVE_COLOR : TAB_BAR_SECONDARY_ACTIVE_COLOR;
71
+ const activeColor = activeColorCustom !== undefined ? activeColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : defaultActiveColor;
72
+ const inactiveColor = inactiveColorCustom !== undefined ? inactiveColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : TAB_BAR_INACTIVE_COLOR;
71
73
  const activeOpacity = getActiveOpacity(position, routesLength, tabIndex);
72
74
  const inactiveOpacity = getInactiveOpacity(position, routesLength, tabIndex);
73
75
  const icon = React.useMemo(() => {
@@ -87,7 +89,6 @@ const TabBarItemInternal = ({
87
89
  route
88
90
  });
89
91
  return /*#__PURE__*/_jsxs(View, {
90
- style: styles.icon,
91
92
  children: [/*#__PURE__*/_jsx(Animated.View, {
92
93
  style: {
93
94
  opacity: inactiveOpacity
@@ -112,14 +113,50 @@ const TabBarItemInternal = ({
112
113
  color: focused ? activeColor : inactiveColor,
113
114
  icon: icon,
114
115
  label: labelText,
115
- style: labelStyle
116
+ style: labelStyle,
117
+ allowFontScaling: labelAllowFontScaling
116
118
  }), [customlabel, activeColor, labelStyle, labelText, labelAllowFontScaling, route, inactiveColor, icon]);
117
- const tabStyle = StyleSheet.flatten(style);
118
- const isWidthSet = tabStyle?.width !== undefined;
119
- const tabContainerStyle = isWidthSet ? null : {
120
- width: defaultTabWidth
121
- };
122
119
  const ariaLabel = typeof accessibilityLabel !== 'undefined' ? accessibilityLabel : labelText;
120
+ const viewRef = React.useRef(null);
121
+ const labelRef = React.useRef(null);
122
+ React.useLayoutEffect(() => {
123
+ viewRef.current?.measure((_x, _y, width, height) => {
124
+ onMeasureLayout({
125
+ width,
126
+ height
127
+ });
128
+ });
129
+ labelRef.current?.measure((_x, _y, width, height) => {
130
+ onMeasureLabelLayout({
131
+ width,
132
+ height
133
+ });
134
+ });
135
+
136
+ // Only measure on mount. onLayout handles updates.
137
+ // eslint-disable-next-line react-hooks/exhaustive-deps
138
+ }, []);
139
+ const onLayout = event => {
140
+ const {
141
+ width,
142
+ height
143
+ } = event.nativeEvent.layout;
144
+ onMeasureLayout({
145
+ width,
146
+ height
147
+ });
148
+ };
149
+ const onLabelLayout = event => {
150
+ const {
151
+ width,
152
+ height
153
+ } = event.nativeEvent.layout;
154
+ onMeasureLabelLayout({
155
+ width,
156
+ height
157
+ });
158
+ };
159
+ const hasIconAndLabel = Boolean(customIcon && labelText);
123
160
  return /*#__PURE__*/_jsx(PlatformPressable, {
124
161
  android_ripple: android_ripple,
125
162
  testID: testID,
@@ -130,24 +167,30 @@ const TabBarItemInternal = ({
130
167
  pressColor: pressColor,
131
168
  pressOpacity: pressOpacity,
132
169
  unstable_pressDelay: 0,
133
- onLayout: onLayout,
134
170
  onPress: onPress,
135
171
  onLongPress: onLongPress,
136
172
  href: href,
137
- style: [styles.pressable, tabContainerStyle],
173
+ style: styles.pressable,
138
174
  children: /*#__PURE__*/_jsxs(View, {
139
- style: [styles.item, tabStyle],
140
- children: [icon, /*#__PURE__*/_jsxs(View, {
141
- children: [/*#__PURE__*/_jsx(Animated.View, {
142
- style: {
143
- opacity: inactiveOpacity
144
- },
145
- children: renderLabel(false)
146
- }), /*#__PURE__*/_jsx(Animated.View, {
147
- style: [StyleSheet.absoluteFill, {
148
- opacity: activeOpacity
149
- }],
150
- children: renderLabel(true)
175
+ ref: viewRef,
176
+ onLayout: onLayout,
177
+ style: [styles.item, hasIconAndLabel ? styles.itemWithIcon : null, style],
178
+ children: [/*#__PURE__*/_jsxs(View, {
179
+ ref: labelRef,
180
+ onLayout: onLabelLayout,
181
+ style: styles.content,
182
+ children: [icon, /*#__PURE__*/_jsxs(View, {
183
+ children: [/*#__PURE__*/_jsx(Animated.View, {
184
+ style: {
185
+ opacity: inactiveOpacity
186
+ },
187
+ children: renderLabel(false)
188
+ }), /*#__PURE__*/_jsx(Animated.View, {
189
+ style: [StyleSheet.absoluteFill, {
190
+ opacity: activeOpacity
191
+ }],
192
+ children: renderLabel(true)
193
+ })]
151
194
  })]
152
195
  }), customBadge != null ? /*#__PURE__*/_jsx(View, {
153
196
  style: styles.badge,
@@ -159,23 +202,27 @@ const TabBarItemInternal = ({
159
202
  });
160
203
  };
161
204
  const MemoizedTabBarItemInternal = /*#__PURE__*/React.memo(TabBarItemInternal);
162
- export function TabBarItem(props) {
163
- const {
164
- onPress,
165
- onLongPress,
166
- onLayout,
167
- navigationState,
168
- route,
169
- ...rest
170
- } = props;
205
+ export function TabBarItem({
206
+ variant = 'primary',
207
+ onPress,
208
+ onLongPress,
209
+ onMeasureLayout,
210
+ onMeasureLabelLayout,
211
+ navigationState,
212
+ route,
213
+ ...rest
214
+ }) {
171
215
  const onPressLatest = useLatestCallback(onPress);
172
216
  const onLongPressLatest = useLatestCallback(onLongPress);
173
- const onLayoutLatest = useLatestCallback(onLayout ? onLayout : () => {});
217
+ const onMeasureLayoutLatest = useLatestCallback(onMeasureLayout);
218
+ const onMeasureLabelLayoutLatest = useLatestCallback(onMeasureLabelLayout);
174
219
  const tabIndex = navigationState.routes.indexOf(route);
175
220
  return /*#__PURE__*/_jsx(MemoizedTabBarItemInternal, {
176
221
  ...rest,
222
+ variant: variant,
177
223
  onPress: onPressLatest,
178
- onLayout: onLayoutLatest,
224
+ onMeasureLayout: onMeasureLayoutLatest,
225
+ onMeasureLabelLayout: onMeasureLabelLayoutLatest,
179
226
  onLongPress: onLongPressLatest,
180
227
  isFocused: navigationState.index === tabIndex,
181
228
  route: route,
@@ -184,17 +231,20 @@ export function TabBarItem(props) {
184
231
  });
185
232
  }
186
233
  const styles = StyleSheet.create({
187
- icon: {
188
- margin: 2
189
- },
190
234
  item: {
191
- flex: 1,
192
235
  alignItems: 'center',
193
236
  justifyContent: 'center',
194
- padding: 10,
237
+ paddingHorizontal: 16,
195
238
  minHeight: 48,
196
239
  pointerEvents: 'none'
197
240
  },
241
+ itemWithIcon: {
242
+ minHeight: 62
243
+ },
244
+ content: {
245
+ alignItems: 'center',
246
+ justifyContent: 'center'
247
+ },
198
248
  badge: {
199
249
  position: 'absolute',
200
250
  top: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Platform","StyleSheet","View","useLatestCallback","PlatformPressable","TabBarItemLabel","jsx","_jsx","jsxs","_jsxs","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","ICON_SIZE","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","ANDROID_RIPPLE_DEFAULT","borderless","TabBarItemInternal","accessibilityLabel","accessible","label","customlabel","testID","onLongPress","onPress","isFocused","style","inactiveColor","inactiveColorCustom","activeColor","activeColorCustom","labelStyle","onLayout","index","pressColor","pressOpacity","defaultTabWidth","icon","customIcon","badge","customBadge","href","labelText","android_ripple","labelAllowFontScaling","route","labelColorFromStyle","flatten","color","undefined","activeOpacity","inactiveOpacity","useMemo","inactiveIcon","focused","size","activeIcon","styles","children","opacity","absoluteFill","renderLabel","useCallback","allowFontScaling","tabStyle","isWidthSet","width","tabContainerStyle","ariaLabel","role","unstable_pressDelay","pressable","item","MemoizedTabBarItemInternal","memo","TabBarItem","props","navigationState","rest","onPressLatest","onLongPressLatest","onLayoutLatest","routes","indexOf","create","margin","flex","alignItems","justifyContent","padding","minHeight","pointerEvents","top","end","backgroundColor","select","ios","borderRadius","borderCurve","default"],"sourceRoot":"../../src","sources":["TabBarItem.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","Platform","StyleSheet","View","useLatestCallback","TAB_BAR_INACTIVE_COLOR","TAB_BAR_PRIMARY_ACTIVE_COLOR","TAB_BAR_SECONDARY_ACTIVE_COLOR","PlatformPressable","TabBarItemLabel","jsx","_jsx","jsxs","_jsxs","ICON_SIZE","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","length","_","i","interpolate","outputRange","map","getInactiveOpacity","ANDROID_RIPPLE_DEFAULT","borderless","foreground","TabBarItemInternal","variant","accessibilityLabel","accessible","label","customlabel","testID","onLongPress","onPress","isFocused","style","inactiveColor","inactiveColorCustom","activeColor","activeColorCustom","labelStyle","onMeasureLayout","onMeasureLabelLayout","index","pressColor","pressOpacity","icon","customIcon","badge","customBadge","href","labelText","android_ripple","labelAllowFontScaling","route","labelColorFromStyle","flatten","color","defaultActiveColor","undefined","activeOpacity","inactiveOpacity","useMemo","inactiveIcon","focused","size","activeIcon","children","opacity","absoluteFill","renderLabel","useCallback","allowFontScaling","ariaLabel","viewRef","useRef","labelRef","useLayoutEffect","current","measure","_x","_y","width","height","onLayout","event","nativeEvent","layout","onLabelLayout","hasIconAndLabel","Boolean","role","unstable_pressDelay","styles","pressable","ref","item","itemWithIcon","content","MemoizedTabBarItemInternal","memo","TabBarItem","navigationState","rest","onPressLatest","onLongPressLatest","onMeasureLayoutLatest","onMeasureLabelLayoutLatest","routes","indexOf","create","alignItems","justifyContent","paddingHorizontal","minHeight","pointerEvents","top","end","backgroundColor","select","ios","borderRadius","borderCurve","default"],"sourceRoot":"../../src","sources":["TabBarItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,12 +7,14 @@ export const TabBarItemLabel = /*#__PURE__*/React.memo(({
7
7
  color,
8
8
  label,
9
9
  style,
10
- icon
10
+ icon,
11
+ allowFontScaling
11
12
  }) => {
12
13
  if (!label) {
13
14
  return null;
14
15
  }
15
16
  return /*#__PURE__*/_jsx(Animated.Text, {
17
+ allowFontScaling: allowFontScaling,
16
18
  style: [styles.label, icon ? {
17
19
  marginTop: 0
18
20
  } : null, style, {
@@ -24,7 +26,6 @@ export const TabBarItemLabel = /*#__PURE__*/React.memo(({
24
26
  TabBarItemLabel.displayName = 'TabBarItemLabel';
25
27
  const styles = StyleSheet.create({
26
28
  label: {
27
- margin: 4,
28
29
  fontSize: 14,
29
30
  fontWeight: '500',
30
31
  backgroundColor: 'transparent'
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","StyleSheet","jsx","_jsx","TabBarItemLabel","memo","color","label","style","icon","Text","styles","marginTop","children","displayName","create","margin","fontSize","fontWeight","backgroundColor"],"sourceRoot":"../../src","sources":["TabBarItemLabel.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASpD,OAAO,MAAMC,eAAe,gBAAGL,KAAK,CAACM,IAAI,CACvC,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC,KAAK;EAAEC;AAA2B,CAAC,KAAK;EACvD,IAAI,CAACF,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,oBACEJ,IAAA,CAACH,QAAQ,CAACU,IAAI;IACZF,KAAK,EAAE,CACLG,MAAM,CAACJ,KAAK,EACZE,IAAI,GAAG;MAAEG,SAAS,EAAE;IAAE,CAAC,GAAG,IAAI,EAC9BJ,KAAK,EACL;MAAEF,KAAK,EAAEA;IAAM,CAAC,CAChB;IAAAO,QAAA,EAEDN;EAAK,CACO,CAAC;AAEpB,CACF,CAAC;AAEDH,eAAe,CAACU,WAAW,GAAG,iBAAiB;AAE/C,MAAMH,MAAM,GAAGV,UAAU,CAACc,MAAM,CAAC;EAC/BR,KAAK,EAAE;IACLS,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","StyleSheet","jsx","_jsx","TabBarItemLabel","memo","color","label","style","icon","allowFontScaling","Text","styles","marginTop","children","displayName","create","fontSize","fontWeight","backgroundColor"],"sourceRoot":"../../src","sources":["TabBarItemLabel.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUpD,OAAO,MAAMC,eAAe,gBAAGL,KAAK,CAACM,IAAI,CACvC,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAuC,CAAC,KAAK;EACzE,IAAI,CAACH,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,oBACEJ,IAAA,CAACH,QAAQ,CAACW,IAAI;IACZD,gBAAgB,EAAEA,gBAAiB;IACnCF,KAAK,EAAE,CACLI,MAAM,CAACL,KAAK,EACZE,IAAI,GAAG;MAAEI,SAAS,EAAE;IAAE,CAAC,GAAG,IAAI,EAC9BL,KAAK,EACL;MAAEF,KAAK,EAAEA;IAAM,CAAC,CAChB;IAAAQ,QAAA,EAEDP;EAAK,CACO,CAAC;AAEpB,CACF,CAAC;AAEDH,eAAe,CAACW,WAAW,GAAG,iBAAiB;AAE/C,MAAMH,MAAM,GAAGX,UAAU,CAACe,MAAM,CAAC;EAC/BT,KAAK,EAAE;IACLU,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ export const TAB_BAR_PRIMARY_ACTIVE_COLOR = '#6750a4';
4
+ export const TAB_BAR_SECONDARY_ACTIVE_COLOR = '#1d1b20';
5
+ export const TAB_BAR_INACTIVE_COLOR = '#49454f';
6
+ export const TAB_BAR_BACKGROUND_COLOR = '#fef7ff';
7
+ export const TAB_BAR_BORDER_COLOR = '#cac4d0';
8
+ export const PRIMARY_INDICATOR_MIN_WIDTH = 24;
9
+ export const TAB_MIN_WIDTH = 90;
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TAB_BAR_PRIMARY_ACTIVE_COLOR","TAB_BAR_SECONDARY_ACTIVE_COLOR","TAB_BAR_INACTIVE_COLOR","TAB_BAR_BACKGROUND_COLOR","TAB_BAR_BORDER_COLOR","PRIMARY_INDICATOR_MIN_WIDTH","TAB_MIN_WIDTH"],"sourceRoot":"../../src","sources":["constants.tsx"],"mappings":";;AAAA,OAAO,MAAMA,4BAA4B,GAAG,SAAS;AACrD,OAAO,MAAMC,8BAA8B,GAAG,SAAS;AACvD,OAAO,MAAMC,sBAAsB,GAAG,SAAS;AAC/C,OAAO,MAAMC,wBAAwB,GAAG,SAAS;AACjD,OAAO,MAAMC,oBAAoB,GAAG,SAAS;AAE7C,OAAO,MAAMC,2BAA2B,GAAG,EAAE;AAC7C,OAAO,MAAMC,aAAa,GAAG,EAAE","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+
5
+ // Batches onLayout updates from multiple keyed views into a single state update
6
+ // per frame, so layout passes don't trigger N renders.
7
+ export function useLayoutWidths(priorityKeys) {
8
+ const [widths, setWidths] = React.useState({});
9
+ const measured = React.useRef({});
10
+ const handle = React.useRef(null);
11
+ const priorityKeysRef = React.useRef(priorityKeys);
12
+ React.useEffect(() => {
13
+ priorityKeysRef.current = priorityKeys;
14
+ });
15
+ const hasFinishedLayoutRef = React.useRef(false);
16
+ React.useLayoutEffect(() => {
17
+ hasFinishedLayoutRef.current = true;
18
+ }, []);
19
+ const onMeasureWidth = React.useCallback((key, width) => {
20
+ measured.current[key] = width;
21
+ if (handle.current != null) {
22
+ cancelAnimationFrame(handle.current);
23
+ }
24
+ if (priorityKeysRef.current.includes(key) && !hasFinishedLayoutRef.current) {
25
+ // Synchronously set widths during the initial layout phase
26
+ // So we don't have to wait for the next frame to render the indicator
27
+ setWidths(prev => ({
28
+ ...prev,
29
+ [key]: width
30
+ }));
31
+ } else if (hasFinishedLayoutRef.current) {
32
+ handle.current = requestAnimationFrame(() => {
33
+ setWidths({
34
+ ...measured.current
35
+ });
36
+ });
37
+ }
38
+ return () => {
39
+ if (handle.current != null) {
40
+ cancelAnimationFrame(handle.current);
41
+ }
42
+ };
43
+ }, []);
44
+ return [widths, onMeasureWidth];
45
+ }
46
+ //# sourceMappingURL=useLayoutWidths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useLayoutWidths","priorityKeys","widths","setWidths","useState","measured","useRef","handle","priorityKeysRef","useEffect","current","hasFinishedLayoutRef","useLayoutEffect","onMeasureWidth","useCallback","key","width","cancelAnimationFrame","includes","prev","requestAnimationFrame"],"sourceRoot":"../../src","sources":["useLayoutWidths.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,YAAsB,EAAE;EACtD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAAyB,CAAC,CAAC,CAAC;EAEtE,MAAMC,QAAQ,GAAGN,KAAK,CAACO,MAAM,CAAyB,CAAC,CAAC,CAAC;EACzD,MAAMC,MAAM,GAAGR,KAAK,CAACO,MAAM,CAA2C,IAAI,CAAC;EAE3E,MAAME,eAAe,GAAGT,KAAK,CAACO,MAAM,CAACL,YAAY,CAAC;EAElDF,KAAK,CAACU,SAAS,CAAC,MAAM;IACpBD,eAAe,CAACE,OAAO,GAAGT,YAAY;EACxC,CAAC,CAAC;EAEF,MAAMU,oBAAoB,GAAGZ,KAAK,CAACO,MAAM,CAAC,KAAK,CAAC;EAEhDP,KAAK,CAACa,eAAe,CAAC,MAAM;IAC1BD,oBAAoB,CAACD,OAAO,GAAG,IAAI;EACrC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,cAAc,GAAGd,KAAK,CAACe,WAAW,CAAC,CAACC,GAAW,EAAEC,KAAa,KAAK;IACvEX,QAAQ,CAACK,OAAO,CAACK,GAAG,CAAC,GAAGC,KAAK;IAE7B,IAAIT,MAAM,CAACG,OAAO,IAAI,IAAI,EAAE;MAC1BO,oBAAoB,CAACV,MAAM,CAACG,OAAO,CAAC;IACtC;IAEA,IACEF,eAAe,CAACE,OAAO,CAACQ,QAAQ,CAACH,GAAG,CAAC,IACrC,CAACJ,oBAAoB,CAACD,OAAO,EAC7B;MACA;MACA;MACAP,SAAS,CAAEgB,IAAI,KAAM;QAAE,GAAGA,IAAI;QAAE,CAACJ,GAAG,GAAGC;MAAM,CAAC,CAAC,CAAC;IAClD,CAAC,MAAM,IAAIL,oBAAoB,CAACD,OAAO,EAAE;MACvCH,MAAM,CAACG,OAAO,GAAGU,qBAAqB,CAAC,MAAM;QAC3CjB,SAAS,CAAC;UAAE,GAAGE,QAAQ,CAACK;QAAQ,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ;IAEA,OAAO,MAAM;MACX,IAAIH,MAAM,CAACG,OAAO,IAAI,IAAI,EAAE;QAC1BO,oBAAoB,CAACV,MAAM,CAACG,OAAO,CAAC;MACtC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,CAACR,MAAM,EAAEW,cAAc,CAAC;AACjC","ignoreList":[]}
@@ -2,5 +2,5 @@ import * as React from 'react';
2
2
  import { type PagerViewProps } from 'react-native-pager-view';
3
3
  import type { AdapterProps } from './types';
4
4
  export type PagerViewAdapterProps = AdapterProps & Omit<PagerViewProps, keyof AdapterProps | 'initialPage' | 'scrollEnabled' | 'onPageScroll' | 'onPageSelected' | 'onPageScrollStateChanged' | 'children'>;
5
- export declare function PagerViewAdapter({ keyboardDismissMode, swipeEnabled, navigationState, onIndexChange, onTabSelect, onSwipeStart, onSwipeEnd, children, style, animationEnabled, ...rest }: PagerViewAdapterProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
5
+ export declare function PagerViewAdapter({ keyboardDismissMode, swipeEnabled, navigationState, onIndexChange, onTabSelect, onSwipeStart, onSwipeEnd, children, style, animationEnabled, layoutDirection, ...rest }: PagerViewAdapterProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
6
6
  //# sourceMappingURL=PagerViewAdapter.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagerViewAdapter.native.d.ts","sourceRoot":"","sources":["../../../src/PagerViewAdapter.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAkB,EAChB,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAC;AAKtD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAC9C,IAAI,CACF,cAAc,EACZ,MAAM,YAAY,GAClB,aAAa,GACb,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,0BAA0B,GAC1B,UAAU,CACb,CAAC;AAIJ,wBAAgB,gBAAgB,CAAC,EAC/B,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,qBAAqB,0EAgIvB"}
1
+ {"version":3,"file":"PagerViewAdapter.native.d.ts","sourceRoot":"","sources":["../../../src/PagerViewAdapter.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAkB,EAChB,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAC;AAKtD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAC9C,IAAI,CACF,cAAc,EACZ,MAAM,YAAY,GAClB,aAAa,GACb,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,0BAA0B,GAC1B,UAAU,CACb,CAAC;AAIJ,wBAAgB,gBAAgB,CAAC,EAC/B,mBAA4B,EAC5B,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,eAAuB,EACvB,GAAG,IAAI,EACR,EAAE,qBAAqB,0EAiJvB"}
@@ -7,6 +7,5 @@ export type ScrollViewAdapterProps = AdapterProps & Omit<ViewProps, 'children'>
7
7
  bounces?: boolean;
8
8
  overScrollMode?: 'always' | 'never' | 'auto';
9
9
  };
10
- export declare function ScrollViewAdapter({ keyboardDismissMode, swipeEnabled, navigationState, onIndexChange, onTabSelect, onSwipeStart, onSwipeEnd, children, style, animationEnabled, layoutDirection: _, // Not supported in ScrollViewAdapter
11
- decelerationRate, bounces, overScrollMode, keyboardShouldPersistTaps, ...rest }: ScrollViewAdapterProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
10
+ export declare function ScrollViewAdapter({ keyboardDismissMode, swipeEnabled, navigationState, onIndexChange, onTabSelect, onSwipeStart, onSwipeEnd, children, style, animationEnabled, layoutDirection, decelerationRate, bounces, overScrollMode, keyboardShouldPersistTaps, ...rest }: ScrollViewAdapterProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
12
11
  //# sourceMappingURL=ScrollViewAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollViewAdapter.d.ts","sourceRoot":"","sources":["../../../src/ScrollViewAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAC/C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,yBAAyB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC9C,CAAC;AAMJ,wBAAgB,iBAAiB,CAAC,EAChC,mBAAmB,EACnB,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAuB,EACvB,eAAe,EAAE,CAAC,EAAE,qCAAqC;AACzD,gBAAyB,EACzB,OAAe,EACf,cAAwB,EACxB,yBAAoC,EACpC,GAAG,IAAI,EACR,EAAE,sBAAsB,0EAoNxB"}
1
+ {"version":3,"file":"ScrollViewAdapter.d.ts","sourceRoot":"","sources":["../../../src/ScrollViewAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAC/C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,yBAAyB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC9C,CAAC;AAMJ,wBAAgB,iBAAiB,CAAC,EAChC,mBAAmB,EACnB,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAuB,EACvB,eAAuB,EACvB,gBAAyB,EACzB,OAAe,EACf,cAAwB,EACxB,yBAAoC,EACpC,GAAG,IAAI,EACR,EAAE,sBAAsB,0EAgRxB"}
@@ -4,6 +4,7 @@ import { type Props as IndicatorProps } from './TabBarIndicator';
4
4
  import { type Props as TabBarItemProps } from './TabBarItem';
5
5
  import type { Event, EventEmitterProps, LocaleDirection, NavigationState, Route, Scene, SceneRendererProps, TabDescriptor } from './types';
6
6
  export type Props<T extends Route> = SceneRendererProps & EventEmitterProps & {
7
+ variant?: 'primary' | 'secondary' | undefined;
7
8
  navigationState: NavigationState<T>;
8
9
  scrollEnabled?: boolean | undefined;
9
10
  bounces?: boolean | undefined;
@@ -28,5 +29,5 @@ export type Props<T extends Route> = SceneRendererProps & EventEmitterProps & {
28
29
  testID?: string | undefined;
29
30
  android_ripple?: PressableAndroidRippleConfig | undefined;
30
31
  };
31
- export declare function TabBar<T extends Route>({ renderIndicator, gap, scrollEnabled, jumpTo, navigationState, position, activeColor, bounces, contentContainerStyle, inactiveColor, indicatorContainerStyle, indicatorStyle, onTabLongPress, onTabPress, pressColor, pressOpacity, direction, renderTabBarItem, style, tabStyle, testID, android_ripple, options, }: Props<T>): import("react/jsx-runtime").JSX.Element;
32
+ export declare function TabBar<T extends Route>({ variant, renderIndicator, gap, scrollEnabled, jumpTo, navigationState, position, activeColor, bounces, contentContainerStyle, inactiveColor, indicatorContainerStyle, indicatorStyle, onTabLongPress, onTabPress, pressColor, pressOpacity, direction, renderTabBarItem, style, tabStyle, testID, android_ripple, options, }: Props<T>): import("react/jsx-runtime").JSX.Element;
32
33
  //# sourceMappingURL=TabBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/TabBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/TabBar.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,12 @@
1
- import * as React from 'react';
2
1
  import { type StyleProp, type ViewStyle } from 'react-native';
3
2
  import type { LocaleDirection, NavigationState, Route, SceneRendererProps } from './types';
4
- export type GetTabWidth = (index: number) => number;
5
3
  export type Props<T extends Route> = SceneRendererProps & {
4
+ variant?: 'primary' | 'secondary' | undefined;
6
5
  navigationState: NavigationState<T>;
7
- width: 'auto' | `${number}%` | number;
8
- getTabWidth: GetTabWidth;
6
+ widths: number[];
7
+ offsets: number[];
9
8
  direction: LocaleDirection;
10
9
  style?: StyleProp<ViewStyle>;
11
- gap?: number;
12
- children?: React.ReactNode;
13
10
  };
14
- export declare function TabBarIndicator<T extends Route>({ getTabWidth, navigationState, position, width, direction, gap, style, children, }: Props<T>): import("react/jsx-runtime").JSX.Element;
11
+ export declare function TabBarIndicator<T extends Route>({ variant, widths, offsets, navigationState, position, direction, style, }: Props<T>): import("react/jsx-runtime").JSX.Element;
15
12
  //# sourceMappingURL=TabBarIndicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarIndicator.d.ts","sourceRoot":"","sources":["../../../src/TabBarIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAAG;IACxD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,MAAM,CAAC;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAsGF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,EAAE,EAC/C,WAAW,EACX,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,KAAK,EACL,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,2CAsLV"}
1
+ {"version":3,"file":"TabBarIndicator.d.ts","sourceRoot":"","sources":["../../../src/TabBarIndicator.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAajB,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAAG;IACxD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9C,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,EAAE,EAC/C,OAAmB,EACnB,MAAM,EACN,OAAO,EACP,eAAe,EACf,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,KAAK,CAAC,CAAC,CAAC,2CAwVV"}
@@ -1,6 +1,11 @@
1
- import { Animated, type ColorValue, type LayoutChangeEvent, type PressableAndroidRippleConfig, type StyleProp, type ViewStyle } from 'react-native';
1
+ import { Animated, type ColorValue, type PressableAndroidRippleConfig, type StyleProp, type ViewStyle } from 'react-native';
2
2
  import type { NavigationState, Route, TabDescriptor } from './types';
3
+ type Layout = {
4
+ width: number;
5
+ height: number;
6
+ };
3
7
  export type Props<T extends Route> = TabDescriptor<T> & {
8
+ variant?: 'primary' | 'secondary' | undefined;
4
9
  position: Animated.AnimatedInterpolation<number>;
5
10
  route: T;
6
11
  navigationState: NavigationState<T>;
@@ -8,12 +13,13 @@ export type Props<T extends Route> = TabDescriptor<T> & {
8
13
  inactiveColor?: ColorValue | undefined;
9
14
  pressColor?: ColorValue | undefined;
10
15
  pressOpacity?: number | undefined;
11
- onLayout?: ((event: LayoutChangeEvent) => void) | undefined;
16
+ onMeasureLayout: (layout: Layout) => void;
17
+ onMeasureLabelLayout: (layout: Layout) => void;
12
18
  onPress: () => void;
13
19
  onLongPress: () => void;
14
- defaultTabWidth?: number | undefined;
15
20
  style: StyleProp<ViewStyle>;
16
21
  android_ripple?: PressableAndroidRippleConfig | undefined;
17
22
  };
18
- export declare function TabBarItem<T extends Route>(props: Props<T>): import("react/jsx-runtime").JSX.Element;
23
+ export declare function TabBarItem<T extends Route>({ variant, onPress, onLongPress, onMeasureLayout, onMeasureLabelLayout, navigationState, route, ...rest }: Props<T>): import("react/jsx-runtime").JSX.Element;
24
+ export {};
19
25
  //# sourceMappingURL=TabBarItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarItem.d.ts","sourceRoot":"","sources":["../../../src/TabBarItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEtB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACtD,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC;IACT,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;CAC3D,CAAC;AA+NF,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,2CAsB1D"}
1
+ {"version":3,"file":"TabBarItem.d.ts","sourceRoot":"","sources":["../../../src/TabBarItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,KAAK,UAAU,EAGf,KAAK,4BAA4B,EACjC,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErE,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACtD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC;IACT,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;CAC3D,CAAC;AAqQF,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,EAC1C,OAAmB,EACnB,OAAO,EACP,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,KAAK,EACL,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,CAAC,CAAC,2CAsBV"}
@@ -2,10 +2,11 @@ import React from 'react';
2
2
  import type { ColorValue, StyleProp, ViewStyle } from 'react-native';
3
3
  interface TabBarItemLabelProps {
4
4
  color: ColorValue;
5
- label?: string | undefined;
6
- style: StyleProp<ViewStyle>;
5
+ label: string | undefined;
7
6
  icon: React.ReactNode;
7
+ style: StyleProp<ViewStyle>;
8
+ allowFontScaling?: boolean | undefined;
8
9
  }
9
- export declare const TabBarItemLabel: React.MemoExoticComponent<({ color, label, style, icon }: TabBarItemLabelProps) => import("react/jsx-runtime").JSX.Element | null>;
10
+ export declare const TabBarItemLabel: React.MemoExoticComponent<({ color, label, style, icon, allowFontScaling }: TabBarItemLabelProps) => import("react/jsx-runtime").JSX.Element | null>;
10
11
  export {};
11
12
  //# sourceMappingURL=TabBarItemLabel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarItemLabel.d.ts","sourceRoot":"","sources":["../../../src/TabBarItemLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGrE,UAAU,oBAAoB;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,4DACM,oBAAoB,oDAkBrD,CAAC"}
1
+ {"version":3,"file":"TabBarItemLabel.d.ts","sourceRoot":"","sources":["../../../src/TabBarItemLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGrE,UAAU,oBAAoB;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,eAAe,8EACwB,oBAAoB,oDAmBvE,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const TAB_BAR_PRIMARY_ACTIVE_COLOR = "#6750a4";
2
+ export declare const TAB_BAR_SECONDARY_ACTIVE_COLOR = "#1d1b20";
3
+ export declare const TAB_BAR_INACTIVE_COLOR = "#49454f";
4
+ export declare const TAB_BAR_BACKGROUND_COLOR = "#fef7ff";
5
+ export declare const TAB_BAR_BORDER_COLOR = "#cac4d0";
6
+ export declare const PRIMARY_INDICATOR_MIN_WIDTH = 24;
7
+ export declare const TAB_MIN_WIDTH = 90;
8
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,YAAY,CAAC;AACtD,eAAO,MAAM,8BAA8B,YAAY,CAAC;AACxD,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAChD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,aAAa,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useLayoutWidths(priorityKeys: string[]): readonly [Record<string, number>, (key: string, width: number) => () => void];
2
+ //# sourceMappingURL=useLayoutWidths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLayoutWidths.d.ts","sourceRoot":"","sources":["../../../src/useLayoutWidths.tsx"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,2CAkBL,MAAM,SAAS,MAAM,iBA4BrE"}
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.8",
4
+ "version": "5.0.0-alpha.9",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "55f169c7b6accb5d70167ec27e3a1529d9e2abde"
83
+ "gitHead": "f7b2582ce8d3c3fbe4188b271dd194f46f773654"
84
84
  }