@hero-design/rn 7.1.3-alpha7 → 7.1.3-alpha8
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/.expo/packager-info.json +1 -1
- package/es/index.js +132 -79
- package/lib/index.js +132 -79
- package/package.json +1 -1
- package/playground/components/BottomNavigation.tsx +1 -1
- package/playground/components/Tabs.tsx +1 -1
- package/src/components/BottomNavigation/__tests__/__snapshots__/index.spec.tsx.snap +0 -1
- package/src/components/BottomNavigation/__tests__/index.spec.tsx +2 -2
- package/src/components/BottomNavigation/index.tsx +6 -10
- package/src/components/Tabs/__tests__/__snapshots__/index.spec.tsx.snap +0 -1
- package/src/components/Tabs/__tests__/index.spec.tsx +2 -2
- package/src/components/Tabs/index.tsx +19 -15
- package/src/theme/global/borders.ts +8 -2
- package/src/theme/global/colors.ts +3 -1
- package/src/theme/global/index.ts +31 -17
- package/src/theme/global/scale.ts +18 -0
- package/src/theme/global/space.ts +23 -13
- package/src/theme/global/typography.ts +71 -27
- package/src/theme/index.ts +27 -14
- package/types/src/components/BottomNavigation/index.d.ts +3 -3
- package/types/src/components/Tabs/index.d.ts +3 -3
- package/types/src/theme/global/borders.d.ts +4 -3
- package/types/src/theme/global/colors.d.ts +2 -2
- package/types/src/theme/global/index.d.ts +10 -45
- package/types/src/theme/global/scale.d.ts +8 -0
- package/types/src/theme/global/space.d.ts +8 -7
- package/types/src/theme/global/typography.d.ts +9 -16
- package/types/src/theme/index.d.ts +2 -2
- package/yarn-error.log +0 -140
package/.expo/packager-info.json
CHANGED
package/es/index.js
CHANGED
|
@@ -1485,6 +1485,17 @@ var ThemeProvider = function ThemeProvider(props) {
|
|
|
1485
1485
|
}, props.children);
|
|
1486
1486
|
};
|
|
1487
1487
|
|
|
1488
|
+
var BASE_BORDER_WIDTH = 1;
|
|
1489
|
+
var BASE_SPACE = 8;
|
|
1490
|
+
var BASE_FONT = 'BeVietnamPro';
|
|
1491
|
+
var BASE_FONT_SIZE = 10;
|
|
1492
|
+
var scale$1 = {
|
|
1493
|
+
borderWidth: BASE_BORDER_WIDTH,
|
|
1494
|
+
space: BASE_SPACE,
|
|
1495
|
+
font: BASE_FONT,
|
|
1496
|
+
fontSize: BASE_FONT_SIZE
|
|
1497
|
+
};
|
|
1498
|
+
|
|
1488
1499
|
var palette = {
|
|
1489
1500
|
black: '#000000',
|
|
1490
1501
|
blue: '#1dbeee',
|
|
@@ -1610,60 +1621,94 @@ var scale = function scale(size) {
|
|
|
1610
1621
|
return size + (horizontalScale(size) - size) * factor;
|
|
1611
1622
|
};
|
|
1612
1623
|
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
+
// https://www.ibm.com/design/language/typography/type-specs-ui#scales
|
|
1625
|
+
|
|
1626
|
+
var genFontSize = function genFontSize(prev, at) {
|
|
1627
|
+
return prev + Math.floor(Math.abs((at - 2) / 4) + 1) * 2;
|
|
1628
|
+
};
|
|
1629
|
+
|
|
1630
|
+
var getFonts = function getFonts(baseFont) {
|
|
1631
|
+
return {
|
|
1632
|
+
light: "".concat(baseFont, "-Light"),
|
|
1633
|
+
regular: "".concat(baseFont, "-Regular"),
|
|
1634
|
+
semiBold: "".concat(baseFont, "-SemiBold")
|
|
1635
|
+
};
|
|
1624
1636
|
};
|
|
1625
1637
|
|
|
1626
|
-
var
|
|
1627
|
-
var
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1638
|
+
var getFontSizes = function getFontSizes(baseFontSize) {
|
|
1639
|
+
var fontSizes = Array.from(new Array(9));
|
|
1640
|
+
fontSizes.forEach(function (_, index) {
|
|
1641
|
+
if (index === 0) {
|
|
1642
|
+
fontSizes[0] = baseFontSize;
|
|
1643
|
+
} else {
|
|
1644
|
+
fontSizes[index] = genFontSize(fontSizes[index - 1], index);
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
return undefined;
|
|
1648
|
+
});
|
|
1649
|
+
return {
|
|
1650
|
+
xxxxxlarge: scale(fontSizes[8]),
|
|
1651
|
+
xxxxlarge: scale(fontSizes[7]),
|
|
1652
|
+
xxxlarge: scale(fontSizes[6]),
|
|
1653
|
+
xxlarge: scale(fontSizes[5]),
|
|
1654
|
+
xlarge: scale(fontSizes[4]),
|
|
1655
|
+
large: scale(fontSizes[3]),
|
|
1656
|
+
medium: scale(fontSizes[2]),
|
|
1657
|
+
small: scale(fontSizes[1]),
|
|
1658
|
+
xsmall: scale(fontSizes[0]) // 10
|
|
1659
|
+
|
|
1660
|
+
};
|
|
1631
1661
|
};
|
|
1632
|
-
var fontSizes = {
|
|
1633
|
-
xxxxxlarge: scale(BASE * 2),
|
|
1634
|
-
xxxxlarge: scale(BASE * 1.75),
|
|
1635
|
-
xxxlarge: scale(BASE * 1.5),
|
|
1636
|
-
xxlarge: scale(BASE * 1.25),
|
|
1637
|
-
xlarge: scale(BASE * 1.125),
|
|
1638
|
-
large: scale(BASE),
|
|
1639
|
-
medium: scale(BASE * 0.875),
|
|
1640
|
-
small: scale(BASE * 0.75),
|
|
1641
|
-
xsmall: scale(BASE * 0.625) // 10
|
|
1642
1662
|
|
|
1663
|
+
var getLineHeights = function getLineHeights(fontSizes) {
|
|
1664
|
+
var additionalSpace = 8;
|
|
1665
|
+
return {
|
|
1666
|
+
xxxxxlarge: fontSizes.xxxxxlarge + additionalSpace,
|
|
1667
|
+
xxxxlarge: fontSizes.xxxxlarge + additionalSpace,
|
|
1668
|
+
xxxlarge: fontSizes.xxxlarge + additionalSpace,
|
|
1669
|
+
xxlarge: fontSizes.xxlarge + additionalSpace,
|
|
1670
|
+
xlarge: fontSizes.xlarge + additionalSpace,
|
|
1671
|
+
large: fontSizes.large + additionalSpace,
|
|
1672
|
+
medium: fontSizes.medium + additionalSpace,
|
|
1673
|
+
small: fontSizes.small + additionalSpace,
|
|
1674
|
+
xsmall: fontSizes.xsmall + additionalSpace
|
|
1675
|
+
};
|
|
1643
1676
|
};
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1677
|
+
|
|
1678
|
+
var getSpace = function getSpace(baseSpace) {
|
|
1679
|
+
return {
|
|
1680
|
+
xxsmall: scale(baseSpace * 0.25),
|
|
1681
|
+
xsmall: scale(baseSpace * 0.5),
|
|
1682
|
+
small: scale(baseSpace),
|
|
1683
|
+
medium: scale(baseSpace * 2),
|
|
1684
|
+
large: scale(baseSpace * 3),
|
|
1685
|
+
xlarge: scale(baseSpace * 4),
|
|
1686
|
+
xxlarge: scale(baseSpace * 5),
|
|
1687
|
+
xxxlarge: scale(baseSpace * 6),
|
|
1688
|
+
xxxxlarge: scale(baseSpace * 7)
|
|
1689
|
+
};
|
|
1654
1690
|
};
|
|
1655
1691
|
|
|
1656
|
-
var
|
|
1657
|
-
|
|
1692
|
+
var getBorderWidths = function getBorderWidths(baseBorderWidth) {
|
|
1693
|
+
return {
|
|
1694
|
+
base: baseBorderWidth
|
|
1695
|
+
};
|
|
1658
1696
|
};
|
|
1659
1697
|
|
|
1660
|
-
var
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1698
|
+
var getGlobalTheme = function getGlobalTheme(scale, systemPalette) {
|
|
1699
|
+
var fonts = getFonts(scale.font);
|
|
1700
|
+
var fontSizes = getFontSizes(scale.fontSize);
|
|
1701
|
+
var lineHeights = getLineHeights(fontSizes);
|
|
1702
|
+
var borderWidths = getBorderWidths(scale.borderWidth);
|
|
1703
|
+
var space = getSpace(scale.space);
|
|
1704
|
+
return {
|
|
1705
|
+
colors: _objectSpread2({}, systemPalette),
|
|
1706
|
+
fonts: fonts,
|
|
1707
|
+
fontSizes: fontSizes,
|
|
1708
|
+
lineHeights: lineHeights,
|
|
1709
|
+
borderWidths: borderWidths,
|
|
1710
|
+
space: space
|
|
1711
|
+
};
|
|
1667
1712
|
};
|
|
1668
1713
|
|
|
1669
1714
|
var getBadgeTheme = function getBadgeTheme(theme) {
|
|
@@ -1889,17 +1934,19 @@ var getFABTheme = function getFABTheme(theme) {
|
|
|
1889
1934
|
};
|
|
1890
1935
|
|
|
1891
1936
|
var getTheme = function getTheme() {
|
|
1892
|
-
var
|
|
1893
|
-
|
|
1937
|
+
var scale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : scale$1;
|
|
1938
|
+
var systemPallete = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : systemPalette;
|
|
1939
|
+
var globalTheme = getGlobalTheme(scale, systemPallete);
|
|
1940
|
+
return _objectSpread2(_objectSpread2({}, globalTheme), {}, {
|
|
1894
1941
|
__hd__: {
|
|
1895
|
-
badge: getBadgeTheme(
|
|
1896
|
-
bottomNavigation: getBottomNavigationTheme(
|
|
1897
|
-
card: getCardTheme(
|
|
1898
|
-
divider: getDividerTheme(
|
|
1899
|
-
icon: getIconTheme(
|
|
1900
|
-
tabs: getTabsTheme(
|
|
1901
|
-
typography: getTypographyTheme(
|
|
1902
|
-
fab: getFABTheme(
|
|
1942
|
+
badge: getBadgeTheme(globalTheme),
|
|
1943
|
+
bottomNavigation: getBottomNavigationTheme(globalTheme),
|
|
1944
|
+
card: getCardTheme(globalTheme),
|
|
1945
|
+
divider: getDividerTheme(globalTheme),
|
|
1946
|
+
icon: getIconTheme(globalTheme),
|
|
1947
|
+
tabs: getTabsTheme(globalTheme),
|
|
1948
|
+
typography: getTypographyTheme(globalTheme),
|
|
1949
|
+
fab: getFABTheme(globalTheme)
|
|
1903
1950
|
}
|
|
1904
1951
|
});
|
|
1905
1952
|
};
|
|
@@ -13639,7 +13686,7 @@ var StyledBottomBarText = index$1(Typography.Text)(function (_ref3) {
|
|
|
13639
13686
|
var isIOS = Platform.OS === 'ios';
|
|
13640
13687
|
Platform.OS === 'android';
|
|
13641
13688
|
|
|
13642
|
-
var _excluded$3 = ["
|
|
13689
|
+
var _excluded$3 = ["onTabPress", "renderActiveTabOnly", "selectedTabKey", "tabs"];
|
|
13643
13690
|
|
|
13644
13691
|
var getInactiveIcon = function getInactiveIcon(icon) {
|
|
13645
13692
|
var inactiveIcon = "".concat(icon, "-outlined");
|
|
@@ -13647,7 +13694,7 @@ var getInactiveIcon = function getInactiveIcon(icon) {
|
|
|
13647
13694
|
};
|
|
13648
13695
|
|
|
13649
13696
|
var BottomNavigation = function BottomNavigation(_ref) {
|
|
13650
|
-
var
|
|
13697
|
+
var onTabPress = _ref.onTabPress,
|
|
13651
13698
|
_ref$renderActiveTabO = _ref.renderActiveTabOnly,
|
|
13652
13699
|
renderActiveTabOnly = _ref$renderActiveTabO === void 0 ? false : _ref$renderActiveTabO,
|
|
13653
13700
|
selectedTabKey = _ref.selectedTabKey,
|
|
@@ -13673,7 +13720,8 @@ var BottomNavigation = function BottomNavigation(_ref) {
|
|
|
13673
13720
|
|
|
13674
13721
|
return /*#__PURE__*/React.createElement(BottomNavigationContainer, nativeProps, /*#__PURE__*/React.createElement(ContentWrapper$1, null, tabs.map(function (tab) {
|
|
13675
13722
|
var key = tab.key,
|
|
13676
|
-
component = tab.component
|
|
13723
|
+
component = tab.component,
|
|
13724
|
+
testID = tab.testID;
|
|
13677
13725
|
var active = selectedTabKey === key;
|
|
13678
13726
|
|
|
13679
13727
|
if (renderActiveTabOnly && !active) {
|
|
@@ -13687,7 +13735,7 @@ var BottomNavigation = function BottomNavigation(_ref) {
|
|
|
13687
13735
|
|
|
13688
13736
|
return /*#__PURE__*/React.createElement(BottomNavigationTab, {
|
|
13689
13737
|
key: key,
|
|
13690
|
-
testID: "route-screen-".concat(
|
|
13738
|
+
testID: testID ? "route-screen-".concat(testID) : undefined,
|
|
13691
13739
|
pointerEvents: active ? 'auto' : 'none',
|
|
13692
13740
|
accessibilityElementsHidden: !active,
|
|
13693
13741
|
importantForAccessibility: active ? 'auto' : 'no-hide-descendants',
|
|
@@ -13709,9 +13757,7 @@ var BottomNavigation = function BottomNavigation(_ref) {
|
|
|
13709
13757
|
return /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
|
13710
13758
|
key: key,
|
|
13711
13759
|
onPress: function onPress() {
|
|
13712
|
-
|
|
13713
|
-
onChange(key);
|
|
13714
|
-
}
|
|
13760
|
+
return onTabPress(key);
|
|
13715
13761
|
},
|
|
13716
13762
|
testID: testID
|
|
13717
13763
|
}, /*#__PURE__*/React.createElement(BottomBarItem, null, /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -14084,10 +14130,10 @@ var StyledHeaderTabText = index$1(Typography.Text)(function (_ref6) {
|
|
|
14084
14130
|
};
|
|
14085
14131
|
});
|
|
14086
14132
|
|
|
14087
|
-
var _excluded = ["
|
|
14133
|
+
var _excluded = ["onTabPress", "renderActiveTabOnly", "selectedTabKey", "tabs"];
|
|
14088
14134
|
|
|
14089
14135
|
var Tabs = function Tabs(_ref) {
|
|
14090
|
-
var
|
|
14136
|
+
var onTabPress = _ref.onTabPress,
|
|
14091
14137
|
_ref$renderActiveTabO = _ref.renderActiveTabOnly,
|
|
14092
14138
|
renderActiveTabOnly = _ref$renderActiveTabO === void 0 ? false : _ref$renderActiveTabO,
|
|
14093
14139
|
selectedTabKey = _ref.selectedTabKey,
|
|
@@ -14105,6 +14151,21 @@ var Tabs = function Tabs(_ref) {
|
|
|
14105
14151
|
loaded = _React$useState2[0],
|
|
14106
14152
|
setLoaded = _React$useState2[1];
|
|
14107
14153
|
|
|
14154
|
+
React.useEffect(function () {
|
|
14155
|
+
var selectedTabIndex = tabs.findIndex(function (item) {
|
|
14156
|
+
return item.key === selectedTabKey;
|
|
14157
|
+
});
|
|
14158
|
+
|
|
14159
|
+
if (selectedTabIndex !== -1) {
|
|
14160
|
+
var _flatListRef$current;
|
|
14161
|
+
|
|
14162
|
+
(_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 ? void 0 : _flatListRef$current.scrollToIndex({
|
|
14163
|
+
index: selectedTabIndex,
|
|
14164
|
+
viewPosition: 0.5
|
|
14165
|
+
});
|
|
14166
|
+
}
|
|
14167
|
+
}, [selectedTabKey, tabs]);
|
|
14168
|
+
|
|
14108
14169
|
if (!loaded.includes(selectedTabKey)) {
|
|
14109
14170
|
// Set the current tab to be loaded if it was not loaded before
|
|
14110
14171
|
setLoaded(function (loadedState) {
|
|
@@ -14125,17 +14186,16 @@ var Tabs = function Tabs(_ref) {
|
|
|
14125
14186
|
onScrollToIndexFailed: function onScrollToIndexFailed(_ref2) {
|
|
14126
14187
|
var index = _ref2.index;
|
|
14127
14188
|
setTimeout(function () {
|
|
14128
|
-
var _flatListRef$
|
|
14189
|
+
var _flatListRef$current2;
|
|
14129
14190
|
|
|
14130
|
-
return (_flatListRef$
|
|
14191
|
+
return (_flatListRef$current2 = flatListRef.current) === null || _flatListRef$current2 === void 0 ? void 0 : _flatListRef$current2.scrollToIndex({
|
|
14131
14192
|
index: index,
|
|
14132
14193
|
viewPosition: 0.5
|
|
14133
14194
|
});
|
|
14134
14195
|
}, 100);
|
|
14135
14196
|
},
|
|
14136
14197
|
renderItem: function renderItem(_ref3) {
|
|
14137
|
-
var tab = _ref3.item
|
|
14138
|
-
index = _ref3.index;
|
|
14198
|
+
var tab = _ref3.item;
|
|
14139
14199
|
var key = tab.key,
|
|
14140
14200
|
icon = tab.icon,
|
|
14141
14201
|
title = tab.title,
|
|
@@ -14144,15 +14204,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
14144
14204
|
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
14145
14205
|
key: key,
|
|
14146
14206
|
onPress: function onPress() {
|
|
14147
|
-
|
|
14148
|
-
var _flatListRef$current2;
|
|
14149
|
-
|
|
14150
|
-
onChange(key);
|
|
14151
|
-
(_flatListRef$current2 = flatListRef.current) === null || _flatListRef$current2 === void 0 ? void 0 : _flatListRef$current2.scrollToIndex({
|
|
14152
|
-
index: index,
|
|
14153
|
-
viewPosition: 0.5
|
|
14154
|
-
});
|
|
14155
|
-
}
|
|
14207
|
+
return onTabPress(key);
|
|
14156
14208
|
},
|
|
14157
14209
|
testID: testID
|
|
14158
14210
|
}, /*#__PURE__*/React.createElement(HeaderTabItem, null, /*#__PURE__*/React.createElement(StyledHeaderTabIcon, {
|
|
@@ -14167,7 +14219,8 @@ var Tabs = function Tabs(_ref) {
|
|
|
14167
14219
|
}
|
|
14168
14220
|
})), /*#__PURE__*/React.createElement(ContentWrapper, null, tabs.map(function (tab) {
|
|
14169
14221
|
var key = tab.key,
|
|
14170
|
-
component = tab.component
|
|
14222
|
+
component = tab.component,
|
|
14223
|
+
testID = tab.testID;
|
|
14171
14224
|
var active = selectedTabKey === key;
|
|
14172
14225
|
|
|
14173
14226
|
if (renderActiveTabOnly && !active) {
|
|
@@ -14181,7 +14234,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
14181
14234
|
|
|
14182
14235
|
return /*#__PURE__*/React.createElement(TabScreen, {
|
|
14183
14236
|
key: key,
|
|
14184
|
-
testID: "tab-screen-".concat(
|
|
14237
|
+
testID: testID ? "tab-screen-".concat(testID) : undefined,
|
|
14185
14238
|
pointerEvents: active ? 'auto' : 'none',
|
|
14186
14239
|
accessibilityElementsHidden: !active,
|
|
14187
14240
|
importantForAccessibility: active ? 'auto' : 'no-hide-descendants',
|
package/lib/index.js
CHANGED
|
@@ -1512,6 +1512,17 @@ var ThemeProvider = function ThemeProvider(props) {
|
|
|
1512
1512
|
}, props.children);
|
|
1513
1513
|
};
|
|
1514
1514
|
|
|
1515
|
+
var BASE_BORDER_WIDTH = 1;
|
|
1516
|
+
var BASE_SPACE = 8;
|
|
1517
|
+
var BASE_FONT = 'BeVietnamPro';
|
|
1518
|
+
var BASE_FONT_SIZE = 10;
|
|
1519
|
+
var scale$1 = {
|
|
1520
|
+
borderWidth: BASE_BORDER_WIDTH,
|
|
1521
|
+
space: BASE_SPACE,
|
|
1522
|
+
font: BASE_FONT,
|
|
1523
|
+
fontSize: BASE_FONT_SIZE
|
|
1524
|
+
};
|
|
1525
|
+
|
|
1515
1526
|
var palette = {
|
|
1516
1527
|
black: '#000000',
|
|
1517
1528
|
blue: '#1dbeee',
|
|
@@ -1637,60 +1648,94 @@ var scale = function scale(size) {
|
|
|
1637
1648
|
return size + (horizontalScale(size) - size) * factor;
|
|
1638
1649
|
};
|
|
1639
1650
|
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
+
// https://www.ibm.com/design/language/typography/type-specs-ui#scales
|
|
1652
|
+
|
|
1653
|
+
var genFontSize = function genFontSize(prev, at) {
|
|
1654
|
+
return prev + Math.floor(Math.abs((at - 2) / 4) + 1) * 2;
|
|
1655
|
+
};
|
|
1656
|
+
|
|
1657
|
+
var getFonts = function getFonts(baseFont) {
|
|
1658
|
+
return {
|
|
1659
|
+
light: "".concat(baseFont, "-Light"),
|
|
1660
|
+
regular: "".concat(baseFont, "-Regular"),
|
|
1661
|
+
semiBold: "".concat(baseFont, "-SemiBold")
|
|
1662
|
+
};
|
|
1651
1663
|
};
|
|
1652
1664
|
|
|
1653
|
-
var
|
|
1654
|
-
var
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1665
|
+
var getFontSizes = function getFontSizes(baseFontSize) {
|
|
1666
|
+
var fontSizes = Array.from(new Array(9));
|
|
1667
|
+
fontSizes.forEach(function (_, index) {
|
|
1668
|
+
if (index === 0) {
|
|
1669
|
+
fontSizes[0] = baseFontSize;
|
|
1670
|
+
} else {
|
|
1671
|
+
fontSizes[index] = genFontSize(fontSizes[index - 1], index);
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
return undefined;
|
|
1675
|
+
});
|
|
1676
|
+
return {
|
|
1677
|
+
xxxxxlarge: scale(fontSizes[8]),
|
|
1678
|
+
xxxxlarge: scale(fontSizes[7]),
|
|
1679
|
+
xxxlarge: scale(fontSizes[6]),
|
|
1680
|
+
xxlarge: scale(fontSizes[5]),
|
|
1681
|
+
xlarge: scale(fontSizes[4]),
|
|
1682
|
+
large: scale(fontSizes[3]),
|
|
1683
|
+
medium: scale(fontSizes[2]),
|
|
1684
|
+
small: scale(fontSizes[1]),
|
|
1685
|
+
xsmall: scale(fontSizes[0]) // 10
|
|
1686
|
+
|
|
1687
|
+
};
|
|
1658
1688
|
};
|
|
1659
|
-
var fontSizes = {
|
|
1660
|
-
xxxxxlarge: scale(BASE * 2),
|
|
1661
|
-
xxxxlarge: scale(BASE * 1.75),
|
|
1662
|
-
xxxlarge: scale(BASE * 1.5),
|
|
1663
|
-
xxlarge: scale(BASE * 1.25),
|
|
1664
|
-
xlarge: scale(BASE * 1.125),
|
|
1665
|
-
large: scale(BASE),
|
|
1666
|
-
medium: scale(BASE * 0.875),
|
|
1667
|
-
small: scale(BASE * 0.75),
|
|
1668
|
-
xsmall: scale(BASE * 0.625) // 10
|
|
1669
1689
|
|
|
1690
|
+
var getLineHeights = function getLineHeights(fontSizes) {
|
|
1691
|
+
var additionalSpace = 8;
|
|
1692
|
+
return {
|
|
1693
|
+
xxxxxlarge: fontSizes.xxxxxlarge + additionalSpace,
|
|
1694
|
+
xxxxlarge: fontSizes.xxxxlarge + additionalSpace,
|
|
1695
|
+
xxxlarge: fontSizes.xxxlarge + additionalSpace,
|
|
1696
|
+
xxlarge: fontSizes.xxlarge + additionalSpace,
|
|
1697
|
+
xlarge: fontSizes.xlarge + additionalSpace,
|
|
1698
|
+
large: fontSizes.large + additionalSpace,
|
|
1699
|
+
medium: fontSizes.medium + additionalSpace,
|
|
1700
|
+
small: fontSizes.small + additionalSpace,
|
|
1701
|
+
xsmall: fontSizes.xsmall + additionalSpace
|
|
1702
|
+
};
|
|
1670
1703
|
};
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1704
|
+
|
|
1705
|
+
var getSpace = function getSpace(baseSpace) {
|
|
1706
|
+
return {
|
|
1707
|
+
xxsmall: scale(baseSpace * 0.25),
|
|
1708
|
+
xsmall: scale(baseSpace * 0.5),
|
|
1709
|
+
small: scale(baseSpace),
|
|
1710
|
+
medium: scale(baseSpace * 2),
|
|
1711
|
+
large: scale(baseSpace * 3),
|
|
1712
|
+
xlarge: scale(baseSpace * 4),
|
|
1713
|
+
xxlarge: scale(baseSpace * 5),
|
|
1714
|
+
xxxlarge: scale(baseSpace * 6),
|
|
1715
|
+
xxxxlarge: scale(baseSpace * 7)
|
|
1716
|
+
};
|
|
1681
1717
|
};
|
|
1682
1718
|
|
|
1683
|
-
var
|
|
1684
|
-
|
|
1719
|
+
var getBorderWidths = function getBorderWidths(baseBorderWidth) {
|
|
1720
|
+
return {
|
|
1721
|
+
base: baseBorderWidth
|
|
1722
|
+
};
|
|
1685
1723
|
};
|
|
1686
1724
|
|
|
1687
|
-
var
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1725
|
+
var getGlobalTheme = function getGlobalTheme(scale, systemPalette) {
|
|
1726
|
+
var fonts = getFonts(scale.font);
|
|
1727
|
+
var fontSizes = getFontSizes(scale.fontSize);
|
|
1728
|
+
var lineHeights = getLineHeights(fontSizes);
|
|
1729
|
+
var borderWidths = getBorderWidths(scale.borderWidth);
|
|
1730
|
+
var space = getSpace(scale.space);
|
|
1731
|
+
return {
|
|
1732
|
+
colors: _objectSpread2({}, systemPalette),
|
|
1733
|
+
fonts: fonts,
|
|
1734
|
+
fontSizes: fontSizes,
|
|
1735
|
+
lineHeights: lineHeights,
|
|
1736
|
+
borderWidths: borderWidths,
|
|
1737
|
+
space: space
|
|
1738
|
+
};
|
|
1694
1739
|
};
|
|
1695
1740
|
|
|
1696
1741
|
var getBadgeTheme = function getBadgeTheme(theme) {
|
|
@@ -1916,17 +1961,19 @@ var getFABTheme = function getFABTheme(theme) {
|
|
|
1916
1961
|
};
|
|
1917
1962
|
|
|
1918
1963
|
var getTheme = function getTheme() {
|
|
1919
|
-
var
|
|
1920
|
-
|
|
1964
|
+
var scale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : scale$1;
|
|
1965
|
+
var systemPallete = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : systemPalette;
|
|
1966
|
+
var globalTheme = getGlobalTheme(scale, systemPallete);
|
|
1967
|
+
return _objectSpread2(_objectSpread2({}, globalTheme), {}, {
|
|
1921
1968
|
__hd__: {
|
|
1922
|
-
badge: getBadgeTheme(
|
|
1923
|
-
bottomNavigation: getBottomNavigationTheme(
|
|
1924
|
-
card: getCardTheme(
|
|
1925
|
-
divider: getDividerTheme(
|
|
1926
|
-
icon: getIconTheme(
|
|
1927
|
-
tabs: getTabsTheme(
|
|
1928
|
-
typography: getTypographyTheme(
|
|
1929
|
-
fab: getFABTheme(
|
|
1969
|
+
badge: getBadgeTheme(globalTheme),
|
|
1970
|
+
bottomNavigation: getBottomNavigationTheme(globalTheme),
|
|
1971
|
+
card: getCardTheme(globalTheme),
|
|
1972
|
+
divider: getDividerTheme(globalTheme),
|
|
1973
|
+
icon: getIconTheme(globalTheme),
|
|
1974
|
+
tabs: getTabsTheme(globalTheme),
|
|
1975
|
+
typography: getTypographyTheme(globalTheme),
|
|
1976
|
+
fab: getFABTheme(globalTheme)
|
|
1930
1977
|
}
|
|
1931
1978
|
});
|
|
1932
1979
|
};
|
|
@@ -13666,7 +13713,7 @@ var StyledBottomBarText = index$1(Typography.Text)(function (_ref3) {
|
|
|
13666
13713
|
var isIOS = reactNative.Platform.OS === 'ios';
|
|
13667
13714
|
reactNative.Platform.OS === 'android';
|
|
13668
13715
|
|
|
13669
|
-
var _excluded$3 = ["
|
|
13716
|
+
var _excluded$3 = ["onTabPress", "renderActiveTabOnly", "selectedTabKey", "tabs"];
|
|
13670
13717
|
|
|
13671
13718
|
var getInactiveIcon = function getInactiveIcon(icon) {
|
|
13672
13719
|
var inactiveIcon = "".concat(icon, "-outlined");
|
|
@@ -13674,7 +13721,7 @@ var getInactiveIcon = function getInactiveIcon(icon) {
|
|
|
13674
13721
|
};
|
|
13675
13722
|
|
|
13676
13723
|
var BottomNavigation = function BottomNavigation(_ref) {
|
|
13677
|
-
var
|
|
13724
|
+
var onTabPress = _ref.onTabPress,
|
|
13678
13725
|
_ref$renderActiveTabO = _ref.renderActiveTabOnly,
|
|
13679
13726
|
renderActiveTabOnly = _ref$renderActiveTabO === void 0 ? false : _ref$renderActiveTabO,
|
|
13680
13727
|
selectedTabKey = _ref.selectedTabKey,
|
|
@@ -13700,7 +13747,8 @@ var BottomNavigation = function BottomNavigation(_ref) {
|
|
|
13700
13747
|
|
|
13701
13748
|
return /*#__PURE__*/React__default["default"].createElement(BottomNavigationContainer, nativeProps, /*#__PURE__*/React__default["default"].createElement(ContentWrapper$1, null, tabs.map(function (tab) {
|
|
13702
13749
|
var key = tab.key,
|
|
13703
|
-
component = tab.component
|
|
13750
|
+
component = tab.component,
|
|
13751
|
+
testID = tab.testID;
|
|
13704
13752
|
var active = selectedTabKey === key;
|
|
13705
13753
|
|
|
13706
13754
|
if (renderActiveTabOnly && !active) {
|
|
@@ -13714,7 +13762,7 @@ var BottomNavigation = function BottomNavigation(_ref) {
|
|
|
13714
13762
|
|
|
13715
13763
|
return /*#__PURE__*/React__default["default"].createElement(BottomNavigationTab, {
|
|
13716
13764
|
key: key,
|
|
13717
|
-
testID: "route-screen-".concat(
|
|
13765
|
+
testID: testID ? "route-screen-".concat(testID) : undefined,
|
|
13718
13766
|
pointerEvents: active ? 'auto' : 'none',
|
|
13719
13767
|
accessibilityElementsHidden: !active,
|
|
13720
13768
|
importantForAccessibility: active ? 'auto' : 'no-hide-descendants',
|
|
@@ -13736,9 +13784,7 @@ var BottomNavigation = function BottomNavigation(_ref) {
|
|
|
13736
13784
|
return /*#__PURE__*/React__default["default"].createElement(reactNative.TouchableWithoutFeedback, {
|
|
13737
13785
|
key: key,
|
|
13738
13786
|
onPress: function onPress() {
|
|
13739
|
-
|
|
13740
|
-
onChange(key);
|
|
13741
|
-
}
|
|
13787
|
+
return onTabPress(key);
|
|
13742
13788
|
},
|
|
13743
13789
|
testID: testID
|
|
13744
13790
|
}, /*#__PURE__*/React__default["default"].createElement(BottomBarItem, null, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
@@ -14111,10 +14157,10 @@ var StyledHeaderTabText = index$1(Typography.Text)(function (_ref6) {
|
|
|
14111
14157
|
};
|
|
14112
14158
|
});
|
|
14113
14159
|
|
|
14114
|
-
var _excluded = ["
|
|
14160
|
+
var _excluded = ["onTabPress", "renderActiveTabOnly", "selectedTabKey", "tabs"];
|
|
14115
14161
|
|
|
14116
14162
|
var Tabs = function Tabs(_ref) {
|
|
14117
|
-
var
|
|
14163
|
+
var onTabPress = _ref.onTabPress,
|
|
14118
14164
|
_ref$renderActiveTabO = _ref.renderActiveTabOnly,
|
|
14119
14165
|
renderActiveTabOnly = _ref$renderActiveTabO === void 0 ? false : _ref$renderActiveTabO,
|
|
14120
14166
|
selectedTabKey = _ref.selectedTabKey,
|
|
@@ -14132,6 +14178,21 @@ var Tabs = function Tabs(_ref) {
|
|
|
14132
14178
|
loaded = _React$useState2[0],
|
|
14133
14179
|
setLoaded = _React$useState2[1];
|
|
14134
14180
|
|
|
14181
|
+
React__default["default"].useEffect(function () {
|
|
14182
|
+
var selectedTabIndex = tabs.findIndex(function (item) {
|
|
14183
|
+
return item.key === selectedTabKey;
|
|
14184
|
+
});
|
|
14185
|
+
|
|
14186
|
+
if (selectedTabIndex !== -1) {
|
|
14187
|
+
var _flatListRef$current;
|
|
14188
|
+
|
|
14189
|
+
(_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 ? void 0 : _flatListRef$current.scrollToIndex({
|
|
14190
|
+
index: selectedTabIndex,
|
|
14191
|
+
viewPosition: 0.5
|
|
14192
|
+
});
|
|
14193
|
+
}
|
|
14194
|
+
}, [selectedTabKey, tabs]);
|
|
14195
|
+
|
|
14135
14196
|
if (!loaded.includes(selectedTabKey)) {
|
|
14136
14197
|
// Set the current tab to be loaded if it was not loaded before
|
|
14137
14198
|
setLoaded(function (loadedState) {
|
|
@@ -14152,17 +14213,16 @@ var Tabs = function Tabs(_ref) {
|
|
|
14152
14213
|
onScrollToIndexFailed: function onScrollToIndexFailed(_ref2) {
|
|
14153
14214
|
var index = _ref2.index;
|
|
14154
14215
|
setTimeout(function () {
|
|
14155
|
-
var _flatListRef$
|
|
14216
|
+
var _flatListRef$current2;
|
|
14156
14217
|
|
|
14157
|
-
return (_flatListRef$
|
|
14218
|
+
return (_flatListRef$current2 = flatListRef.current) === null || _flatListRef$current2 === void 0 ? void 0 : _flatListRef$current2.scrollToIndex({
|
|
14158
14219
|
index: index,
|
|
14159
14220
|
viewPosition: 0.5
|
|
14160
14221
|
});
|
|
14161
14222
|
}, 100);
|
|
14162
14223
|
},
|
|
14163
14224
|
renderItem: function renderItem(_ref3) {
|
|
14164
|
-
var tab = _ref3.item
|
|
14165
|
-
index = _ref3.index;
|
|
14225
|
+
var tab = _ref3.item;
|
|
14166
14226
|
var key = tab.key,
|
|
14167
14227
|
icon = tab.icon,
|
|
14168
14228
|
title = tab.title,
|
|
@@ -14171,15 +14231,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
14171
14231
|
return /*#__PURE__*/React__default["default"].createElement(reactNative.TouchableOpacity, {
|
|
14172
14232
|
key: key,
|
|
14173
14233
|
onPress: function onPress() {
|
|
14174
|
-
|
|
14175
|
-
var _flatListRef$current2;
|
|
14176
|
-
|
|
14177
|
-
onChange(key);
|
|
14178
|
-
(_flatListRef$current2 = flatListRef.current) === null || _flatListRef$current2 === void 0 ? void 0 : _flatListRef$current2.scrollToIndex({
|
|
14179
|
-
index: index,
|
|
14180
|
-
viewPosition: 0.5
|
|
14181
|
-
});
|
|
14182
|
-
}
|
|
14234
|
+
return onTabPress(key);
|
|
14183
14235
|
},
|
|
14184
14236
|
testID: testID
|
|
14185
14237
|
}, /*#__PURE__*/React__default["default"].createElement(HeaderTabItem, null, /*#__PURE__*/React__default["default"].createElement(StyledHeaderTabIcon, {
|
|
@@ -14194,7 +14246,8 @@ var Tabs = function Tabs(_ref) {
|
|
|
14194
14246
|
}
|
|
14195
14247
|
})), /*#__PURE__*/React__default["default"].createElement(ContentWrapper, null, tabs.map(function (tab) {
|
|
14196
14248
|
var key = tab.key,
|
|
14197
|
-
component = tab.component
|
|
14249
|
+
component = tab.component,
|
|
14250
|
+
testID = tab.testID;
|
|
14198
14251
|
var active = selectedTabKey === key;
|
|
14199
14252
|
|
|
14200
14253
|
if (renderActiveTabOnly && !active) {
|
|
@@ -14208,7 +14261,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
14208
14261
|
|
|
14209
14262
|
return /*#__PURE__*/React__default["default"].createElement(TabScreen, {
|
|
14210
14263
|
key: key,
|
|
14211
|
-
testID: "tab-screen-".concat(
|
|
14264
|
+
testID: testID ? "tab-screen-".concat(testID) : undefined,
|
|
14212
14265
|
pointerEvents: active ? 'auto' : 'none',
|
|
14213
14266
|
accessibilityElementsHidden: !active,
|
|
14214
14267
|
importantForAccessibility: active ? 'auto' : 'no-hide-descendants',
|