@beppla/tapas-ui 1.2.1 → 1.2.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/commonjs/Tab/TapasTab.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = exports.TapasTab = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _themed = require("@rneui/themed");
|
|
9
|
+
var _reactNative = require("react-native");
|
|
9
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
/**
|
|
@@ -50,15 +51,15 @@ const TapasTab = ({
|
|
|
50
51
|
containerStyle,
|
|
51
52
|
buttonStyle,
|
|
52
53
|
titleStyle,
|
|
54
|
+
children,
|
|
53
55
|
...props
|
|
54
56
|
}) => {
|
|
55
57
|
// 根据widthMode调整容器样式
|
|
56
58
|
const adjustedContainerStyle = _react.default.useMemo(() => {
|
|
57
59
|
if (widthMode === 'content') {
|
|
58
|
-
return [{
|
|
59
|
-
flexDirection: 'row'
|
|
60
|
-
|
|
61
|
-
}, containerStyle];
|
|
60
|
+
return [containerStyle, {
|
|
61
|
+
flexDirection: 'row'
|
|
62
|
+
}];
|
|
62
63
|
}
|
|
63
64
|
return containerStyle;
|
|
64
65
|
}, [widthMode, containerStyle]);
|
|
@@ -68,10 +69,9 @@ const TapasTab = ({
|
|
|
68
69
|
if (widthMode === 'content') {
|
|
69
70
|
const contentStyle = {
|
|
70
71
|
flex: 0,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
paddingBottom: 8
|
|
72
|
+
// 不自动增长
|
|
73
|
+
paddingHorizontal: contentPadding,
|
|
74
|
+
paddingVertical: 8
|
|
75
75
|
};
|
|
76
76
|
if (minTabWidth !== undefined) {
|
|
77
77
|
contentStyle.minWidth = minTabWidth;
|
|
@@ -83,11 +83,35 @@ const TapasTab = ({
|
|
|
83
83
|
}
|
|
84
84
|
return buttonStyle;
|
|
85
85
|
}, [widthMode, buttonStyle, minTabWidth, maxTabWidth, contentPadding]);
|
|
86
|
+
|
|
87
|
+
// 处理 children,为每个 Tab.Item 添加样式,并在 content 模式下添加占位符
|
|
88
|
+
const renderChildren = _react.default.useMemo(() => {
|
|
89
|
+
if (widthMode === 'content' && children) {
|
|
90
|
+
const items = _react.default.Children.map(children, child => {
|
|
91
|
+
if (/*#__PURE__*/_react.default.isValidElement(child) && child.type === _themed.Tab.Item) {
|
|
92
|
+
return /*#__PURE__*/_react.default.cloneElement(child, {
|
|
93
|
+
buttonStyle: adjustedButtonStyle,
|
|
94
|
+
titleStyle: titleStyle
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return child;
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
// 添加一个占位符来撑满剩余空间
|
|
101
|
+
return [...(items || []), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
102
|
+
style: {
|
|
103
|
+
flex: 1
|
|
104
|
+
}
|
|
105
|
+
}, "spacer")];
|
|
106
|
+
}
|
|
107
|
+
return children;
|
|
108
|
+
}, [widthMode, children, adjustedButtonStyle, titleStyle]);
|
|
86
109
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_themed.Tab, {
|
|
87
110
|
...props,
|
|
88
111
|
containerStyle: adjustedContainerStyle,
|
|
89
|
-
buttonStyle:
|
|
90
|
-
titleStyle: titleStyle
|
|
112
|
+
buttonStyle: widthMode === 'fill' ? buttonStyle : undefined,
|
|
113
|
+
titleStyle: titleStyle,
|
|
114
|
+
children: renderChildren
|
|
91
115
|
});
|
|
92
116
|
};
|
|
93
117
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_themed","_jsxRuntime","e","__esModule","default","TapasTab","widthMode","minTabWidth","maxTabWidth","contentPadding","containerStyle","buttonStyle","titleStyle","props","adjustedContainerStyle","React","useMemo","flexDirection","flex","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_themed","_reactNative","_jsxRuntime","e","__esModule","default","TapasTab","widthMode","minTabWidth","maxTabWidth","contentPadding","containerStyle","buttonStyle","titleStyle","children","props","adjustedContainerStyle","React","useMemo","flexDirection","adjustedButtonStyle","contentStyle","flex","paddingHorizontal","paddingVertical","undefined","minWidth","maxWidth","renderChildren","items","Children","map","child","isValidElement","type","RNETab","Item","cloneElement","jsx","View","style","Tab","exports","_default"],"sourceRoot":"../../../components","sources":["Tab/TapasTab.tsx"],"mappings":"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","ignoreList":[]}
|
package/module/Tab/TapasTab.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { Tab as RNETab } from '@rneui/themed';
|
|
9
|
+
import { View } from 'react-native';
|
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
11
|
/**
|
|
11
12
|
* TapasTab组件
|
|
@@ -44,15 +45,15 @@ export const TapasTab = ({
|
|
|
44
45
|
containerStyle,
|
|
45
46
|
buttonStyle,
|
|
46
47
|
titleStyle,
|
|
48
|
+
children,
|
|
47
49
|
...props
|
|
48
50
|
}) => {
|
|
49
51
|
// 根据widthMode调整容器样式
|
|
50
52
|
const adjustedContainerStyle = React.useMemo(() => {
|
|
51
53
|
if (widthMode === 'content') {
|
|
52
|
-
return [{
|
|
53
|
-
flexDirection: 'row'
|
|
54
|
-
|
|
55
|
-
}, containerStyle];
|
|
54
|
+
return [containerStyle, {
|
|
55
|
+
flexDirection: 'row'
|
|
56
|
+
}];
|
|
56
57
|
}
|
|
57
58
|
return containerStyle;
|
|
58
59
|
}, [widthMode, containerStyle]);
|
|
@@ -62,10 +63,9 @@ export const TapasTab = ({
|
|
|
62
63
|
if (widthMode === 'content') {
|
|
63
64
|
const contentStyle = {
|
|
64
65
|
flex: 0,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
paddingBottom: 8
|
|
66
|
+
// 不自动增长
|
|
67
|
+
paddingHorizontal: contentPadding,
|
|
68
|
+
paddingVertical: 8
|
|
69
69
|
};
|
|
70
70
|
if (minTabWidth !== undefined) {
|
|
71
71
|
contentStyle.minWidth = minTabWidth;
|
|
@@ -77,11 +77,35 @@ export const TapasTab = ({
|
|
|
77
77
|
}
|
|
78
78
|
return buttonStyle;
|
|
79
79
|
}, [widthMode, buttonStyle, minTabWidth, maxTabWidth, contentPadding]);
|
|
80
|
+
|
|
81
|
+
// 处理 children,为每个 Tab.Item 添加样式,并在 content 模式下添加占位符
|
|
82
|
+
const renderChildren = React.useMemo(() => {
|
|
83
|
+
if (widthMode === 'content' && children) {
|
|
84
|
+
const items = React.Children.map(children, child => {
|
|
85
|
+
if (/*#__PURE__*/React.isValidElement(child) && child.type === RNETab.Item) {
|
|
86
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
87
|
+
buttonStyle: adjustedButtonStyle,
|
|
88
|
+
titleStyle: titleStyle
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return child;
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
// 添加一个占位符来撑满剩余空间
|
|
95
|
+
return [...(items || []), /*#__PURE__*/_jsx(View, {
|
|
96
|
+
style: {
|
|
97
|
+
flex: 1
|
|
98
|
+
}
|
|
99
|
+
}, "spacer")];
|
|
100
|
+
}
|
|
101
|
+
return children;
|
|
102
|
+
}, [widthMode, children, adjustedButtonStyle, titleStyle]);
|
|
80
103
|
return /*#__PURE__*/_jsx(RNETab, {
|
|
81
104
|
...props,
|
|
82
105
|
containerStyle: adjustedContainerStyle,
|
|
83
|
-
buttonStyle:
|
|
84
|
-
titleStyle: titleStyle
|
|
106
|
+
buttonStyle: widthMode === 'fill' ? buttonStyle : undefined,
|
|
107
|
+
titleStyle: titleStyle,
|
|
108
|
+
children: renderChildren
|
|
85
109
|
});
|
|
86
110
|
};
|
|
87
111
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Tab","RNETab","jsx","_jsx","TapasTab","widthMode","minTabWidth","maxTabWidth","contentPadding","containerStyle","buttonStyle","titleStyle","props","adjustedContainerStyle","useMemo","flexDirection","flex","
|
|
1
|
+
{"version":3,"names":["React","Tab","RNETab","View","jsx","_jsx","TapasTab","widthMode","minTabWidth","maxTabWidth","contentPadding","containerStyle","buttonStyle","titleStyle","children","props","adjustedContainerStyle","useMemo","flexDirection","adjustedButtonStyle","contentStyle","flex","paddingHorizontal","paddingVertical","undefined","minWidth","maxWidth","renderChildren","items","Children","map","child","isValidElement","type","Item","cloneElement","style"],"sourceRoot":"../../../components","sources":["Tab/TapasTab.tsx"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TapasTab.d.ts","sourceRoot":"","sources":["../../../components/Tab/TapasTab.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"TapasTab.d.ts","sourceRoot":"","sources":["../../../components/Tab/TapasTab.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;CAClF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAA;CA4E1E,CAAC;AAKF,eAAe,QAAQ,CAAC"}
|