@draftbit/core 48.5.4 → 48.5.5-13c2a1.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.
- package/lib/commonjs/components/TabView/TabView.js +1 -1
- package/lib/typescript/src/components/TabView/TabView.js +4 -9
- package/lib/typescript/src/components/TabView/TabView.js.map +1 -1
- package/lib/typescript/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/components/TabView/TabView.js +4 -9
- package/src/components/TabView/TabView.js.map +1 -1
- package/src/components/TabView/TabView.tsx +12 -17
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@draftbit/core",
|
|
3
|
-
"version": "48.5.
|
|
3
|
+
"version": "48.5.5-13c2a1.2+13c2a1b",
|
|
4
4
|
"description": "Core (non-native) Components",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"types": "lib/typescript/src/index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@date-io/date-fns": "^1.3.13",
|
|
43
43
|
"@draftbit/react-theme-provider": "^2.1.1",
|
|
44
|
-
"@draftbit/types": "48.
|
|
44
|
+
"@draftbit/types": "^48.5.5-13c2a1.2+13c2a1b",
|
|
45
45
|
"@expo/vector-icons": "^13.0.0",
|
|
46
46
|
"@material-ui/core": "^4.11.0",
|
|
47
47
|
"@material-ui/pickers": "^3.2.10",
|
|
@@ -102,5 +102,5 @@
|
|
|
102
102
|
],
|
|
103
103
|
"testEnvironment": "node"
|
|
104
104
|
},
|
|
105
|
-
"gitHead": "
|
|
105
|
+
"gitHead": "13c2a1bf14ad1f56e7e26a979747f521fd2ab545"
|
|
106
106
|
}
|
|
@@ -6,16 +6,12 @@ import { flattenReactFragments, extractStyles } from "../../utilities";
|
|
|
6
6
|
const TabViewComponent = ({ Icon, onIndexChanged, onEndReached, initialTabIndex = 0, tabBarPosition, keyboardDismissMode, swipeEnabled, scrollEnabled, activeColor, inactiveColor, pressColor, indicatorColor, tabsBackgroundColor, iconSize = 16, style, theme, children: childrenProp, }) => {
|
|
7
7
|
const [index, setIndex] = React.useState(initialTabIndex);
|
|
8
8
|
const [routes, setRoutes] = React.useState([]);
|
|
9
|
-
const [tabScenes, setTabScenes] = React.useState({});
|
|
10
9
|
const { textStyles, viewStyles } = extractStyles(style);
|
|
11
|
-
const children = React.useMemo(() => flattenReactFragments(React.Children.toArray(childrenProp)), [childrenProp]);
|
|
10
|
+
const children = React.useMemo(() => flattenReactFragments(React.Children.toArray(childrenProp)).filter((child) => React.isValidElement(child) && child.type === TabViewItem), [childrenProp]);
|
|
12
11
|
//Populate routes and scenes based on children
|
|
13
12
|
React.useEffect(() => {
|
|
14
13
|
const newRoutes = [];
|
|
15
|
-
|
|
16
|
-
children
|
|
17
|
-
.filter((child) => React.isValidElement(child) && child.type === TabViewItem)
|
|
18
|
-
.forEach((item, idx) => {
|
|
14
|
+
children.forEach((item, idx) => {
|
|
19
15
|
const child = item;
|
|
20
16
|
newRoutes.push({
|
|
21
17
|
key: idx.toString(),
|
|
@@ -23,10 +19,8 @@ const TabViewComponent = ({ Icon, onIndexChanged, onEndReached, initialTabIndex
|
|
|
23
19
|
icon: child.props.icon,
|
|
24
20
|
accessibilityLabel: child.props.accessibilityLabel,
|
|
25
21
|
});
|
|
26
|
-
scenes[idx] = child;
|
|
27
22
|
});
|
|
28
23
|
setRoutes(newRoutes);
|
|
29
|
-
setTabScenes(scenes);
|
|
30
24
|
}, [children]);
|
|
31
25
|
const indexChangeHandler = (i) => {
|
|
32
26
|
setIndex(i);
|
|
@@ -43,7 +37,8 @@ const TabViewComponent = ({ Icon, onIndexChanged, onEndReached, initialTabIndex
|
|
|
43
37
|
} }));
|
|
44
38
|
};
|
|
45
39
|
const renderScene = ({ route }) => {
|
|
46
|
-
|
|
40
|
+
const index = Number(route.key);
|
|
41
|
+
return children[index];
|
|
47
42
|
};
|
|
48
43
|
//Cannot render TabView without at least one tab
|
|
49
44
|
if (!routes.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabView.js","sourceRoot":"","sources":["TabView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,OAAO,EACP,MAAM,GAIP,MAAM,uBAAuB,CAAC;AAE/B,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA6BvE,MAAM,gBAAgB,GAAoD,CAAC,EACzE,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,eAAe,GAAG,CAAC,EACnB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,QAAQ,GAAG,EAAE,EACb,KAAK,EACL,KAAK,EACL,QAAQ,EAAE,YAAY,GACvB,EAAE,EAAE;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TabView.js","sourceRoot":"","sources":["TabView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,6 @@ const TabViewComponent: React.FC<React.PropsWithChildren<TabViewProps>> = ({
|
|
|
62
62
|
}) => {
|
|
63
63
|
const [index, setIndex] = React.useState(initialTabIndex);
|
|
64
64
|
const [routes, setRoutes] = React.useState<Route[]>([]);
|
|
65
|
-
const [tabScenes, setTabScenes] = React.useState<{ [key: string]: any }>({});
|
|
66
65
|
|
|
67
66
|
const { textStyles, viewStyles } = extractStyles(style);
|
|
68
67
|
|
|
@@ -70,6 +69,8 @@ const TabViewComponent: React.FC<React.PropsWithChildren<TabViewProps>> = ({
|
|
|
70
69
|
() =>
|
|
71
70
|
flattenReactFragments(
|
|
72
71
|
React.Children.toArray(childrenProp) as React.ReactElement[]
|
|
72
|
+
).filter(
|
|
73
|
+
(child) => React.isValidElement(child) && child.type === TabViewItem
|
|
73
74
|
),
|
|
74
75
|
[childrenProp]
|
|
75
76
|
);
|
|
@@ -77,25 +78,18 @@ const TabViewComponent: React.FC<React.PropsWithChildren<TabViewProps>> = ({
|
|
|
77
78
|
//Populate routes and scenes based on children
|
|
78
79
|
React.useEffect(() => {
|
|
79
80
|
const newRoutes: Route[] = [];
|
|
80
|
-
const scenes: { [key: string]: React.ReactElement } = {};
|
|
81
81
|
|
|
82
|
-
children
|
|
83
|
-
.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
key: idx.toString(),
|
|
90
|
-
title: child.props.title,
|
|
91
|
-
icon: child.props.icon,
|
|
92
|
-
accessibilityLabel: child.props.accessibilityLabel,
|
|
93
|
-
});
|
|
94
|
-
scenes[idx] = child;
|
|
82
|
+
children.forEach((item: any, idx) => {
|
|
83
|
+
const child = item as React.ReactElement;
|
|
84
|
+
newRoutes.push({
|
|
85
|
+
key: idx.toString(),
|
|
86
|
+
title: child.props.title,
|
|
87
|
+
icon: child.props.icon,
|
|
88
|
+
accessibilityLabel: child.props.accessibilityLabel,
|
|
95
89
|
});
|
|
90
|
+
});
|
|
96
91
|
|
|
97
92
|
setRoutes(newRoutes);
|
|
98
|
-
setTabScenes(scenes);
|
|
99
93
|
}, [children]);
|
|
100
94
|
|
|
101
95
|
const indexChangeHandler = (i: number) => {
|
|
@@ -131,7 +125,8 @@ const TabViewComponent: React.FC<React.PropsWithChildren<TabViewProps>> = ({
|
|
|
131
125
|
};
|
|
132
126
|
|
|
133
127
|
const renderScene = ({ route }: SceneProps) => {
|
|
134
|
-
|
|
128
|
+
const index = Number(route.key);
|
|
129
|
+
return children[index];
|
|
135
130
|
};
|
|
136
131
|
|
|
137
132
|
//Cannot render TabView without at least one tab
|