@beppla/tapas-ui 1.0.70 → 1.0.71
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/Alert/Alert.js +67 -46
- package/commonjs/Alert/Alert.js.map +1 -2
- package/commonjs/AnimatedNavItem/AnimatedNavItem.js +0 -71
- package/commonjs/AnimatedNavItem/AnimatedNavItem.js.map +0 -1
- package/commonjs/AnimatedNavItem/index.js +9 -15
- package/commonjs/BarChart/BarChart.js.map +2 -1
- package/commonjs/Button/Button.js +78 -96
- package/commonjs/Button/Button.js.map +2 -1
- package/commonjs/Button/ButtonGroup.js.map +2 -1
- package/commonjs/Calendar/Calendar.base.js +190 -162
- package/commonjs/Calendar/Calendar.base.js.map +2 -1
- package/commonjs/Calendar/Calendar.js +102 -86
- package/commonjs/Calendar/Calendar.js.map +1 -2
- package/commonjs/Calendar/DaySelector.js +113 -115
- package/commonjs/Calendar/DaySelector.js.map +1 -2
- package/commonjs/Calendar/TimeSelector.js +223 -274
- package/commonjs/Calendar/WeekDaySelector.js.map +1 -2
- package/commonjs/Calendar/helper.js +68 -68
- package/commonjs/Calendar/helper.js.map +1 -2
- package/commonjs/Calendar/types.js +11 -11
- package/commonjs/Calendar/types.js.map +2 -1
- package/commonjs/Card/Card.js +158 -231
- package/commonjs/Card/Card.js.map +1 -1
- package/commonjs/CheckBox/CheckBoxItem.js +36 -86
- package/commonjs/CheckBox/CheckBoxItem.js.map +1 -1
- package/commonjs/CheckBox/GroupCheckBox.js +67 -80
- package/commonjs/CheckBox/GroupCheckBox.js.map +2 -1
- package/commonjs/DashboardCard/DashboardCard.js +94 -74
- package/commonjs/DashboardCard/DashboardCard.js.map +1 -1
- package/commonjs/DataCell/DataCell.js +235 -289
- package/commonjs/DataCell/DataCell.js.map +1 -2
- package/commonjs/DataCell/index.js.map +2 -1
- package/commonjs/DataTable/DataTable.js +144 -70
- package/commonjs/DataTable/DataTable.js.map +1 -2
- package/commonjs/DataTable/index.js.map +1 -2
- package/commonjs/DeviceSelectionModal/DeviceSelectionModal.js +244 -242
- package/commonjs/DeviceSelectionModal/DeviceSelectionModal.js.map +1 -1
- package/commonjs/DraggableFlatList/DraggableFlatList.js +1 -1
- package/commonjs/Dropdown/Dropdown.js +461 -493
- package/commonjs/Dropdown/Dropdown.js.map +1 -2
- package/commonjs/Dropdown/InputDropdown.js +114 -123
- package/commonjs/ExternalLink/ExternalLink.js +58 -50
- package/commonjs/ExternalLink/ExternalLink.js.map +1 -2
- package/commonjs/Gantt/helper.js.map +1 -2
- package/commonjs/Grid/Grid.base.js +401 -336
- package/commonjs/Grid/Grid.base.js.map +2 -1
- package/commonjs/Grid/VariableSizeGrid.js +113 -120
- package/commonjs/Grid/VariableSizeGrid.js.map +1 -2
- package/commonjs/Grid/helper.js +16 -11
- package/commonjs/Header/Header.js +177 -166
- package/commonjs/Header/Header.js.map +1 -2
- package/commonjs/HelloWave/HelloWave.js +53 -46
- package/commonjs/HelloWave/HelloWave.js.map +2 -1
- package/commonjs/Icons/TapasIcon.js +100 -99
- package/commonjs/Icons/TapasIcon.js.map +2 -1
- package/commonjs/Icons/TapasIconExpo.js +94 -101
- package/commonjs/Icons/smartFontLoader.js +222 -266
- package/commonjs/Icons/smartFontLoader.js.map +1 -2
- package/commonjs/Image/Image.js +106 -96
- package/commonjs/Image/Image.js.map +1 -2
- package/commonjs/Image/PreviewImg.js.map +2 -1
- package/commonjs/Layout/DrawerContext.js +35 -49
- package/commonjs/Layout/DrawerContext.js.map +2 -1
- package/commonjs/Layout/Layout.js.map +1 -2
- package/commonjs/Layout/ToastContext.js +46 -34
- package/commonjs/Layout/ToastContext.js.map +1 -2
- package/commonjs/Layout/index.js +38 -34
- package/commonjs/Layout/index.js.map +1 -2
- package/commonjs/LineChart/index.js +3 -4
- package/commonjs/ListItem/ListItem.js +108 -80
- package/commonjs/ListItem/ListItem.js.map +1 -2
- package/commonjs/MultiSelector/MultiSelector.js +225 -250
- package/commonjs/MultiSelector/MultiSelector.js.map +1 -2
- package/commonjs/Navigation/Navigation.js +117 -114
- package/commonjs/Navigation/Navigation.js.map +1 -2
- package/commonjs/Notification/Notification.js +66 -135
- package/commonjs/Notification/Notification.js.map +1 -1
- package/commonjs/Notification/index.js.map +1 -2
- package/commonjs/NumericInput/NumericInput.js +85 -71
- package/commonjs/NumericInput/NumericInput.js.map +1 -2
- package/commonjs/Overlay/Overlay.js +45 -24
- package/commonjs/Overlay/Overlay.js.map +1 -1
- package/commonjs/Popover/Popover.js +137 -112
- package/commonjs/Popover/Popover.js.map +2 -1
- package/commonjs/Progress/Progress.js +48 -54
- package/commonjs/Progress/Progress.js.map +2 -1
- package/commonjs/Quantity/Quantity.js +70 -0
- package/commonjs/Quantity/Quantity.js.map +1 -0
- package/commonjs/RadioButton/RadioButton.js +94 -46
- package/commonjs/RadioButton/RadioButton.js.map +1 -1
- package/commonjs/ReasonModal/index.js +14 -9
- package/commonjs/ReasonModal/index.js.map +2 -1
- package/commonjs/SheetTitle/SheetTitle.js +34 -31
- package/commonjs/SheetTitle/SheetTitle.js.map +1 -1
- package/commonjs/Shell/Shell.js +92 -84
- package/commonjs/Shell/Shell.js.map +1 -2
- package/commonjs/Shell/styles.js +3 -3
- package/commonjs/Shell/styles.js.map +2 -1
- package/commonjs/Shell/types.js.map +2 -1
- package/commonjs/StatisticCard/StatisticCard.js +47 -41
- package/commonjs/Status/Status.js +35 -31
- package/commonjs/Status/Status.js.map +2 -1
- package/commonjs/Steps/Steps.js +40 -41
- package/commonjs/Steps/Steps.js.map +1 -1
- package/commonjs/TabTitle/TabTitle.js +54 -48
- package/commonjs/TabTitle/index.js +1 -0
- package/commonjs/TabTitle/index.js.map +1 -0
- package/commonjs/Tag/Tag.js +88 -34
- package/commonjs/Tag/Tag.js.map +1 -1
- package/commonjs/Task/Task.js +112 -201
- package/commonjs/Task/Task.js.map +1 -2
- package/commonjs/Task/type.js +4 -4
- package/commonjs/Text/Text.js +96 -56
- package/commonjs/Text/Text.js.map +1 -1
- package/commonjs/Theme/ThemeProvider.js +16 -18
- package/commonjs/Timeline/Timeline.js +0 -23
- package/commonjs/Timeline/Timeline.js.map +0 -1
- package/commonjs/Toast/Toast.js +83 -62
- package/commonjs/Toast/Toast.js.map +1 -2
- package/commonjs/UserSwitcher/index.js +8 -14
- package/commonjs/UserSwitcher/index.js.map +1 -2
- package/commonjs/common.js +5 -4
- package/commonjs/common.js.map +2 -1
- package/commonjs/index.js +336 -426
- package/module/AnimatedNavItem/AnimatedNavItem.js +124 -159
- package/module/AnimatedNavItem/index.js +3 -7
- package/module/AnimatedNavItem/index.js.map +2 -1
- package/module/BarChart/index.js.map +1 -2
- package/module/Button/Button.js +71 -80
- package/module/Button/Button.js.map +2 -1
- package/module/Button/ButtonGroup.js +129 -120
- package/module/Button/ButtonGroup.js.map +2 -1
- package/module/Calendar/Calendar.base.js +226 -149
- package/module/Calendar/Calendar.base.js.map +2 -1
- package/module/Calendar/Calendar.js +76 -80
- package/module/Calendar/Calendar.js.map +1 -2
- package/module/Calendar/ConcreteTimeSelector.js.map +1 -2
- package/module/Calendar/CustomRange.js.map +2 -1
- package/module/Calendar/DaySelector.js +95 -118
- package/module/Calendar/TimeSelector.js.map +2 -1
- package/module/Calendar/WeekDaySelector.js.map +1 -2
- package/module/Calendar/helper.js +74 -74
- package/module/Calendar/helper.js.map +2 -1
- package/module/Calendar/local.js +7 -7
- package/module/Calendar/local.js.map +1 -2
- package/module/Calendar/types.js +13 -13
- package/module/CheckBox/CheckBox.js +93 -89
- package/module/CheckBox/CheckBox.js.map +1 -2
- package/module/CheckBox/CheckBoxItem.js +69 -84
- package/module/CheckBox/CheckBoxItem.js.map +1 -1
- package/module/CheckBox/GroupCheckBox.js +66 -76
- package/module/CheckBox/GroupCheckBox.js.map +1 -2
- package/module/CircularProgress/CircularProgress.js +22 -0
- package/module/CircularProgress/CircularProgress.js.map +1 -0
- package/module/Collapsible/Collapsible.js +54 -64
- package/module/Collapsible/Collapsible.js.map +1 -2
- package/module/DataCell/DataCell.js +311 -224
- package/module/DataCell/index.js +4 -3
- package/module/DataCell/index.js.map +1 -2
- package/module/DataTable/index.js +2 -4
- package/module/DataTable/index.js.map +2 -1
- package/module/DeviceSelectionModal/DeviceSelectionModal.js +178 -241
- package/module/DeviceSelectionModal/DeviceSelectionModal.js.map +1 -2
- package/module/DraggableFlatList/DraggableFlatList.js +0 -9
- package/module/DraggableFlatList/DraggableFlatList.js.map +0 -1
- package/module/Drawer/Drawer.js +167 -139
- package/module/Drawer/Drawer.js.map +2 -1
- package/module/Dropdown/CustomDropdown.js +56 -0
- package/module/Dropdown/CustomDropdown.js.map +1 -0
- package/module/Dropdown/InputDropdown.js +116 -134
- package/module/Dropdown/InputDropdown.js.map +1 -2
- package/module/ExternalLink/ExternalLink.js +150 -0
- package/module/ExternalLink/ExternalLink.js.map +1 -0
- package/module/Gantt/Accessories.js +183 -124
- package/module/Gantt/Gantt.js +139 -152
- package/module/Gantt/Gantt.js.map +1 -2
- package/module/Gantt/types.js +4 -8
- package/module/Gantt/types.js.map +2 -1
- package/module/Grid/FixedSizeGrid.js +86 -80
- package/module/Grid/FixedSizeGrid.js.map +2 -1
- package/module/Grid/Grid.base.js +401 -339
- package/module/Grid/Grid.base.js.map +2 -1
- package/module/Grid/StaticFixedSizeGrid.js +192 -255
- package/module/Grid/VariableSizeGrid.js +121 -118
- package/module/Grid/VariableSizeGrid.js.map +2 -1
- package/module/Grid/helper.js.map +1 -2
- package/module/Grid/timer.js +14 -16
- package/module/Grid/timer.js.map +2 -1
- package/module/Header/Header.js +167 -183
- package/module/Header/Header.js.map +1 -2
- package/module/IconText/IconText.js +63 -88
- package/module/IconText/IconText.js.map +1 -2
- package/module/Icons/TapasIcon.js +120 -96
- package/module/Icons/TapasIcon.js.map +2 -1
- package/module/Icons/TapasIconExpo.js +78 -98
- package/module/Icons/TapasIconExpo.js.map +1 -2
- package/module/Icons/fontLoader.js +213 -182
- package/module/Icons/index.js +9 -10
- package/module/Icons/smartFontLoader.js.map +1 -2
- package/module/Layout/Layout.js +100 -100
- package/module/Layout/ToastContext.js +27 -15
- package/module/Layout/ToastContext.js.map +2 -1
- package/module/Layout/index.js.map +1 -2
- package/module/LineChart/LineChart.js +121 -157
- package/module/LineChart/LineChart.js.map +2 -1
- package/module/MultiSelector/MultiSelector.js.map +1 -2
- package/module/Notification/Notification.js +101 -105
- package/module/Notification/Notification.js.map +1 -2
- package/module/Notification/index.js +2 -3
- package/module/Notification/index.js.map +2 -1
- package/module/NumericInput/NumericInput.js +0 -54
- package/module/Pagination/Pagination.js +72 -0
- package/module/Pagination/Pagination.js.map +1 -0
- package/module/PieChart/PieChart.js +76 -101
- package/module/PieChart/index.js.map +0 -1
- package/module/Popover/Popover.js +97 -125
- package/module/Popover/Popover.js.map +1 -1
- package/module/Progress/Progress.js +51 -57
- package/module/Progress/Progress.js.map +1 -2
- package/module/Quantity/Quantity.js +112 -129
- package/module/Quantity/Quantity.js.map +1 -2
- package/module/Quantity/index.js +3 -2
- package/module/Quantity/index.js.map +1 -2
- package/module/ReasonModal/ReasonModal.js.map +2 -1
- package/module/ReasonModal/index.js +5 -3
- package/module/ReasonModal/index.js.map +1 -2
- package/module/ScanButton/ScanButton.js +77 -53
- package/module/ScanButton/ScanButton.js.map +2 -1
- package/module/SearchInput/SearchInput.js +83 -93
- package/module/SearchInput/SearchInput.js.map +1 -2
- package/module/SheetTitle/SheetTitle.js +29 -39
- package/module/SheetTitle/SheetTitle.js.map +2 -1
- package/module/Shell/Shell.js +92 -79
- package/module/Shell/Shell.js.map +2 -1
- package/module/Shell/styles.js +8 -8
- package/module/Shell/styles.js.map +2 -1
- package/module/Shell/types.js +4 -2
- package/module/Shell/types.js.map +1 -2
- package/module/StatisticCard/StatisticCard.js +48 -79
- package/module/StatisticCard/StatisticCard.js.map +1 -2
- package/module/Status/Status.js.map +0 -1
- package/module/Steps/Steps.js +36 -41
- package/module/Steps/Steps.js.map +1 -2
- package/module/TabTitle/TabTitle.js.map +2 -1
- package/module/TableColumnHeader/TableColumnHeader.js +126 -153
- package/module/TableColumnHeader/index.js +8 -3
- package/module/TableColumnHeader/index.js.map +1 -2
- package/module/Tag/Tag.js +72 -87
- package/module/Tag/Tag.js.map +1 -2
- package/module/Task/Task.js +207 -113
- package/module/Task/Task.js.map +2 -1
- package/module/Task/type.js +8 -4
- package/module/Task/type.js.map +2 -1
- package/module/Text/Text.js +70 -80
- package/module/Text/Text.js.map +2 -1
- package/module/Theme/ThemeProvider.js.map +1 -2
- package/module/Toast/Toast.js +66 -77
- package/module/Toast/Toast.js.map +1 -2
- package/module/UserSwitcher/UserSwitcher.js +130 -171
- package/module/UserSwitcher/UserSwitcher.js.map +1 -2
- package/module/index.js +120 -131
- package/module/index.js.map +2 -1
- package/package.json +1 -1
|
@@ -1,131 +1,204 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var __assign = void 0 && (void 0).__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () {
|
|
20
|
+
return m[k];
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
Object.defineProperty(o, k2, desc);
|
|
25
|
+
} : function (o, m, k, k2) {
|
|
26
|
+
if (k2 === undefined) k2 = k;
|
|
27
|
+
o[k2] = m[k];
|
|
28
|
+
});
|
|
29
|
+
var __setModuleDefault = void 0 && (void 0).__setModuleDefault || (Object.create ? function (o, v) {
|
|
30
|
+
Object.defineProperty(o, "default", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
value: v
|
|
33
|
+
});
|
|
34
|
+
} : function (o, v) {
|
|
35
|
+
o["default"] = v;
|
|
36
|
+
});
|
|
37
|
+
var __importStar = void 0 && (void 0).__importStar || function () {
|
|
38
|
+
var ownKeys = function (o) {
|
|
39
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
40
|
+
var ar = [];
|
|
41
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
42
|
+
return ar;
|
|
43
|
+
};
|
|
44
|
+
return ownKeys(o);
|
|
45
|
+
};
|
|
46
|
+
return function (mod) {
|
|
47
|
+
if (mod && mod.__esModule) return mod;
|
|
48
|
+
var result = {};
|
|
49
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
50
|
+
__setModuleDefault(result, mod);
|
|
51
|
+
return result;
|
|
52
|
+
};
|
|
53
|
+
}();
|
|
54
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
55
|
+
var t = {};
|
|
56
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
57
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
58
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
59
|
+
}
|
|
60
|
+
return t;
|
|
61
|
+
};
|
|
62
|
+
var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
63
|
+
return mod && mod.__esModule ? mod : {
|
|
64
|
+
"default": mod
|
|
65
|
+
};
|
|
66
|
+
};
|
|
3
67
|
Object.defineProperty(exports, "__esModule", {
|
|
4
68
|
value: true
|
|
5
69
|
});
|
|
6
|
-
exports.setDropdownStateChangeListener = exports.
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
70
|
+
exports.setDropdownStateChangeListener = exports.TapasDataCell = exports.DataCell = void 0;
|
|
71
|
+
var react_1 = __importStar(require("react"));
|
|
72
|
+
var react_native_1 = require("react-native");
|
|
73
|
+
var themed_1 = require("@rneui/themed");
|
|
74
|
+
var TapasIcon_1 = __importDefault(require("../Icons/TapasIcon"));
|
|
15
75
|
// import { TapasDropdown } from "../Dropdown/Dropdown";
|
|
16
|
-
|
|
17
76
|
// 全局下拉菜单状态管理
|
|
18
|
-
|
|
77
|
+
var globalDropdownState = {
|
|
19
78
|
activeColumn: null,
|
|
20
79
|
activeRow: null,
|
|
21
|
-
closeAll: ()
|
|
80
|
+
closeAll: function () {},
|
|
22
81
|
onDropdownStateChange: undefined
|
|
23
82
|
};
|
|
24
|
-
|
|
25
83
|
// 注册和注销下拉菜单的函数
|
|
26
|
-
|
|
84
|
+
var registerDropdown = function (columnIndex, rowIndex, closeCallback) {
|
|
85
|
+
var _a;
|
|
27
86
|
globalDropdownState.activeColumn = columnIndex;
|
|
28
87
|
globalDropdownState.activeRow = rowIndex;
|
|
29
88
|
globalDropdownState.closeAll = closeCallback;
|
|
30
89
|
// 通知状态变化
|
|
31
|
-
globalDropdownState.onDropdownStateChange
|
|
90
|
+
(_a = globalDropdownState.onDropdownStateChange) === null || _a === void 0 ? void 0 : _a.call(globalDropdownState, columnIndex, rowIndex);
|
|
32
91
|
};
|
|
33
|
-
|
|
92
|
+
var unregisterDropdown = function () {
|
|
93
|
+
var _a;
|
|
34
94
|
globalDropdownState.activeColumn = null;
|
|
35
95
|
globalDropdownState.activeRow = null;
|
|
36
|
-
globalDropdownState.closeAll = ()
|
|
96
|
+
globalDropdownState.closeAll = function () {};
|
|
37
97
|
// 通知状态变化
|
|
38
|
-
globalDropdownState.onDropdownStateChange
|
|
98
|
+
(_a = globalDropdownState.onDropdownStateChange) === null || _a === void 0 ? void 0 : _a.call(globalDropdownState, null, null);
|
|
39
99
|
};
|
|
40
|
-
|
|
100
|
+
var closeAllDropdowns = function () {
|
|
41
101
|
if (globalDropdownState.closeAll) {
|
|
42
102
|
globalDropdownState.closeAll();
|
|
43
103
|
}
|
|
44
104
|
};
|
|
45
|
-
|
|
46
105
|
// 设置下拉菜单状态变化监听器
|
|
47
|
-
|
|
106
|
+
var setDropdownStateChangeListener = function (callback) {
|
|
48
107
|
globalDropdownState.onDropdownStateChange = callback;
|
|
49
108
|
};
|
|
50
109
|
exports.setDropdownStateChangeListener = setDropdownStateChangeListener;
|
|
51
|
-
|
|
52
|
-
value,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
110
|
+
var TapasDataCell = function (_a) {
|
|
111
|
+
var value = _a.value,
|
|
112
|
+
_b = _a.dataType,
|
|
113
|
+
dataType = _b === void 0 ? "text" : _b,
|
|
114
|
+
_c = _a.alignment,
|
|
115
|
+
alignment = _c === void 0 ? "left" : _c,
|
|
116
|
+
columnIndex = _a.columnIndex,
|
|
117
|
+
rowIndex = _a.rowIndex,
|
|
118
|
+
fieldName = _a.fieldName,
|
|
119
|
+
_d = _a.clickable,
|
|
120
|
+
clickable = _d === void 0 ? false : _d,
|
|
121
|
+
_e = _a.ellipsizeMode,
|
|
122
|
+
ellipsizeMode = _e === void 0 ? "tail" : _e,
|
|
123
|
+
_f = _a.numberOfLines,
|
|
124
|
+
numberOfLines = _f === void 0 ? 1 : _f,
|
|
125
|
+
textStyle = _a.textStyle,
|
|
126
|
+
_g = _a.padding,
|
|
127
|
+
padding = _g === void 0 ? {
|
|
128
|
+
horizontal: 16,
|
|
129
|
+
vertical: 8
|
|
130
|
+
} : _g,
|
|
131
|
+
_h = _a.statusConfig,
|
|
132
|
+
statusConfig = _h === void 0 ? {} : _h,
|
|
133
|
+
_j = _a.actions,
|
|
134
|
+
actions = _j === void 0 ? [] : _j,
|
|
135
|
+
_k = _a.showActions,
|
|
136
|
+
showActions = _k === void 0 ? false : _k,
|
|
137
|
+
_l = _a.actionIcon,
|
|
138
|
+
actionIcon = _l === void 0 ? "more_vert" : _l,
|
|
139
|
+
formatter = _a.formatter,
|
|
140
|
+
_m = _a.currencySymbol,
|
|
141
|
+
currencySymbol = _m === void 0 ? "$" : _m,
|
|
142
|
+
_o = _a.currencyPrecision,
|
|
143
|
+
currencyPrecision = _o === void 0 ? 2 : _o,
|
|
144
|
+
_p = _a.dateFormat,
|
|
145
|
+
dateFormat = _p === void 0 ? "YYYY-MM-DD" : _p,
|
|
146
|
+
_q = _a.booleanTrueText,
|
|
147
|
+
booleanTrueText = _q === void 0 ? "Yes" : _q,
|
|
148
|
+
_r = _a.booleanFalseText,
|
|
149
|
+
booleanFalseText = _r === void 0 ? "No" : _r,
|
|
150
|
+
_s = _a.emptyText,
|
|
151
|
+
emptyText = _s === void 0 ? "-" : _s,
|
|
152
|
+
onCellPress = _a.onCellPress,
|
|
153
|
+
onActionPress = _a.onActionPress,
|
|
154
|
+
attachMoreAction = _a.attachMoreAction,
|
|
155
|
+
onLongPress = _a.onLongPress,
|
|
156
|
+
_t = _a.disabled,
|
|
157
|
+
disabled = _t === void 0 ? false : _t,
|
|
158
|
+
_u = _a.minHeight,
|
|
159
|
+
minHeight = _u === void 0 ? 40 : _u,
|
|
160
|
+
_v = _a.isBlank,
|
|
161
|
+
isBlank = _v === void 0 ? false : _v,
|
|
162
|
+
onDropdownStateChange = _a.onDropdownStateChange,
|
|
163
|
+
gridInfo = _a.gridInfo,
|
|
164
|
+
style = _a.style,
|
|
165
|
+
otherProps = __rest(_a, ["value", "dataType", "alignment", "columnIndex", "rowIndex", "fieldName", "clickable", "ellipsizeMode", "numberOfLines", "textStyle", "padding", "statusConfig", "actions", "showActions", "actionIcon", "formatter", "currencySymbol", "currencyPrecision", "dateFormat", "booleanTrueText", "booleanFalseText", "emptyText", "onCellPress", "onActionPress", "attachMoreAction", "onLongPress", "disabled", "minHeight", "isBlank", "onDropdownStateChange", "gridInfo", "style"]);
|
|
166
|
+
var styles = useStyles({
|
|
167
|
+
alignment: alignment,
|
|
168
|
+
padding: padding,
|
|
169
|
+
minHeight: minHeight,
|
|
170
|
+
disabled: disabled,
|
|
94
171
|
clickable: clickable || !!onCellPress
|
|
95
172
|
});
|
|
96
|
-
|
|
97
173
|
// 格式化显示值
|
|
98
|
-
|
|
174
|
+
var formattedValue = (0, react_1.useMemo)(function () {
|
|
99
175
|
if (isBlank || value === null || value === undefined) {
|
|
100
176
|
return emptyText;
|
|
101
177
|
}
|
|
102
|
-
|
|
103
178
|
// 使用自定义格式化函数
|
|
104
179
|
if (formatter) {
|
|
105
180
|
return formatter(value, dataType);
|
|
106
181
|
}
|
|
107
|
-
|
|
108
182
|
// 内置格式化逻辑
|
|
109
183
|
switch (dataType) {
|
|
110
184
|
case "number":
|
|
111
185
|
return typeof value === "number" ? value.toLocaleString() : String(value);
|
|
112
186
|
case "currency":
|
|
113
187
|
{
|
|
114
|
-
|
|
188
|
+
var numValue = typeof value === "number" ? value : parseFloat(value);
|
|
115
189
|
if (isNaN(numValue)) return emptyText;
|
|
116
|
-
return
|
|
190
|
+
return "".concat(currencySymbol).concat(numValue.toFixed(currencyPrecision));
|
|
117
191
|
}
|
|
118
192
|
case "date":
|
|
119
193
|
{
|
|
120
194
|
if (!value) return emptyText;
|
|
121
|
-
|
|
195
|
+
var date = new Date(value);
|
|
122
196
|
if (isNaN(date.getTime())) return emptyText;
|
|
123
|
-
|
|
124
197
|
// 简单的日期格式化
|
|
125
198
|
if (dateFormat === "YYYY-MM-DD") {
|
|
126
199
|
return date.toISOString().split('T')[0];
|
|
127
200
|
} else if (dateFormat === "MM/DD/YYYY") {
|
|
128
|
-
return
|
|
201
|
+
return "".concat((date.getMonth() + 1).toString().padStart(2, '0'), "/").concat(date.getDate().toString().padStart(2, '0'), "/").concat(date.getFullYear());
|
|
129
202
|
} else {
|
|
130
203
|
return date.toLocaleDateString();
|
|
131
204
|
}
|
|
@@ -140,13 +213,12 @@ const TapasDataCell = ({
|
|
|
140
213
|
return String(value || emptyText);
|
|
141
214
|
}
|
|
142
215
|
}, [value, dataType, formatter, currencySymbol, currencyPrecision, dateFormat, booleanTrueText, booleanFalseText, emptyText, isBlank]);
|
|
143
|
-
|
|
144
216
|
// 获取状态样式
|
|
145
|
-
|
|
217
|
+
var getStatusStyle = (0, react_1.useCallback)(function () {
|
|
146
218
|
if (dataType !== "status" || !value || !statusConfig[value]) {
|
|
147
219
|
return {};
|
|
148
220
|
}
|
|
149
|
-
|
|
221
|
+
var config = statusConfig[value];
|
|
150
222
|
return {
|
|
151
223
|
color: config.color,
|
|
152
224
|
backgroundColor: config.backgroundColor,
|
|
@@ -158,69 +230,62 @@ const TapasDataCell = ({
|
|
|
158
230
|
overflow: "hidden"
|
|
159
231
|
};
|
|
160
232
|
}, [dataType, value, statusConfig]);
|
|
161
|
-
|
|
162
233
|
// 处理单元格点击
|
|
163
|
-
|
|
234
|
+
var handleCellPress = (0, react_1.useCallback)(function () {
|
|
164
235
|
if (disabled || isBlank) return;
|
|
165
|
-
onCellPress
|
|
236
|
+
onCellPress === null || onCellPress === void 0 ? void 0 : onCellPress(value, rowIndex, columnIndex, fieldName);
|
|
166
237
|
}, [disabled, isBlank, onCellPress, value, rowIndex, columnIndex, fieldName]);
|
|
167
|
-
|
|
168
238
|
// 处理长按
|
|
169
|
-
|
|
239
|
+
var handleLongPress = (0, react_1.useCallback)(function () {
|
|
170
240
|
if (disabled || isBlank) return;
|
|
171
|
-
onLongPress
|
|
241
|
+
onLongPress === null || onLongPress === void 0 ? void 0 : onLongPress(value, rowIndex, columnIndex, fieldName);
|
|
172
242
|
}, [disabled, isBlank, onLongPress, value, rowIndex, columnIndex, fieldName]);
|
|
173
|
-
|
|
174
243
|
// 处理操作按钮点击
|
|
175
|
-
|
|
244
|
+
var handleActionPress = (0, react_1.useCallback)(function (action) {
|
|
176
245
|
if (disabled || action.disabled) return;
|
|
177
|
-
onActionPress
|
|
246
|
+
onActionPress === null || onActionPress === void 0 ? void 0 : onActionPress(action, value, rowIndex, columnIndex);
|
|
178
247
|
}, [disabled, onActionPress, value, rowIndex, columnIndex]);
|
|
179
|
-
|
|
180
248
|
// 下拉菜单状态
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
249
|
+
var _w = (0, react_1.useState)(false),
|
|
250
|
+
dropdownVisible = _w[0],
|
|
251
|
+
setDropdownVisible = _w[1];
|
|
252
|
+
var _x = (0, react_1.useState)({
|
|
253
|
+
top: 32,
|
|
254
|
+
right: 0
|
|
255
|
+
}),
|
|
256
|
+
dropdownPosition = _x[0],
|
|
257
|
+
setDropdownPosition = _x[1];
|
|
187
258
|
// 计算下拉菜单的最佳位置
|
|
188
|
-
|
|
259
|
+
var calculateDropdownPosition = (0, react_1.useCallback)(function () {
|
|
189
260
|
// 更准确地计算下拉菜单的实际高度
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
261
|
+
var itemHeight = 32; // 每个选项的高度
|
|
262
|
+
var borderWidth = 2; // 边框宽度
|
|
263
|
+
var padding = 8; // 内边距
|
|
264
|
+
var shadowHeight = 4; // 阴影高度
|
|
195
265
|
// 考虑文本长度对高度的影响
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
266
|
+
var maxTextLength = Math.max.apply(Math, actions.map(function (action) {
|
|
267
|
+
return action.label.length;
|
|
268
|
+
}));
|
|
269
|
+
var textHeightAdjustment = maxTextLength > 10 ? 4 : 0; // 长文本可能需要更多高度
|
|
199
270
|
// 计算下拉菜单的宽度(考虑文本长度)
|
|
200
271
|
// const minWidth = 120; // 最小宽度
|
|
201
272
|
// const textWidth = maxTextLength * 8; // 估算文本宽度
|
|
202
273
|
// const _actualWidth = Math.max(minWidth, textWidth + 24); // 24px 为内边距和图标空间
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const gridHeight = gridInfo?.gridHeight || 400; // 使用传入的 gridHeight 或默认值
|
|
208
|
-
|
|
274
|
+
var actualHeight = actions.length * itemHeight + borderWidth + padding + shadowHeight + textHeightAdjustment;
|
|
275
|
+
var buttonHeight = 32; // 按钮高度
|
|
276
|
+
var cellHeight = (gridInfo === null || gridInfo === void 0 ? void 0 : gridInfo.rowHeight) || 56; // 使用传入的 rowHeight 或默认值
|
|
277
|
+
var gridHeight = (gridInfo === null || gridInfo === void 0 ? void 0 : gridInfo.gridHeight) || 400; // 使用传入的 gridHeight 或默认值
|
|
209
278
|
// 根据行索引估算当前单元格在 Grid 中的位置
|
|
210
|
-
|
|
211
|
-
|
|
279
|
+
var currentRowIndex = rowIndex || 0;
|
|
212
280
|
// 计算当前单元格距离 Grid 底部的距离
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
281
|
+
var currentCellBottom = (currentRowIndex + 1) * cellHeight;
|
|
282
|
+
var spaceBelow = gridHeight - currentCellBottom;
|
|
216
283
|
// 计算上方可用空间
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
284
|
+
var currentCellTop = currentRowIndex * cellHeight;
|
|
285
|
+
var spaceAbove = currentCellTop;
|
|
220
286
|
// 添加安全边距,确保下拉菜单不会紧贴边界
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
287
|
+
var safetyMargin = 8;
|
|
288
|
+
var requiredSpace = actualHeight + safetyMargin;
|
|
224
289
|
// 智能选择显示位置
|
|
225
290
|
if (requiredSpace > spaceBelow && requiredSpace <= spaceAbove) {
|
|
226
291
|
// 下方空间不够,但上方空间足够,显示在上方
|
|
@@ -253,89 +318,79 @@ const TapasDataCell = ({
|
|
|
253
318
|
};
|
|
254
319
|
}
|
|
255
320
|
}, [actions.length, rowIndex, gridInfo]);
|
|
256
|
-
|
|
257
321
|
// 全局下拉菜单管理
|
|
258
|
-
(0,
|
|
259
|
-
|
|
322
|
+
(0, react_1.useEffect)(function () {
|
|
323
|
+
var closeDropdown = function () {
|
|
260
324
|
setDropdownVisible(false);
|
|
261
325
|
unregisterDropdown();
|
|
262
326
|
};
|
|
263
|
-
|
|
264
327
|
// 注册当前下拉菜单
|
|
265
328
|
if (dropdownVisible) {
|
|
266
329
|
registerDropdown(columnIndex || 0, rowIndex || 0, closeDropdown);
|
|
267
330
|
} else {
|
|
268
331
|
unregisterDropdown();
|
|
269
332
|
}
|
|
270
|
-
|
|
271
333
|
// 清理函数
|
|
272
|
-
return ()
|
|
334
|
+
return function () {
|
|
273
335
|
unregisterDropdown();
|
|
274
336
|
};
|
|
275
337
|
}, [dropdownVisible, columnIndex, rowIndex]);
|
|
276
|
-
|
|
277
338
|
// 通知父组件下拉菜单状态变化
|
|
278
|
-
(0,
|
|
279
|
-
onDropdownStateChange
|
|
339
|
+
(0, react_1.useEffect)(function () {
|
|
340
|
+
onDropdownStateChange === null || onDropdownStateChange === void 0 ? void 0 : onDropdownStateChange(dropdownVisible);
|
|
280
341
|
}, [dropdownVisible, onDropdownStateChange]);
|
|
281
|
-
|
|
282
342
|
// 监听全局关闭事件
|
|
283
|
-
(0,
|
|
343
|
+
(0, react_1.useEffect)(function () {
|
|
284
344
|
// const _handleGlobalClose = () => {
|
|
285
345
|
// if (globalDropdownState.activeColumn !== columnIndex ||
|
|
286
346
|
// globalDropdownState.activeRow !== rowIndex) {
|
|
287
347
|
// setDropdownVisible(false);
|
|
288
348
|
// }
|
|
289
349
|
// };
|
|
290
|
-
|
|
291
350
|
// 这里可以添加全局事件监听器
|
|
292
351
|
// 为了简化,我们在点击其他单元格时关闭当前下拉菜单
|
|
293
352
|
}, [columnIndex, rowIndex]);
|
|
294
|
-
|
|
295
353
|
// 渲染操作按钮
|
|
296
|
-
|
|
354
|
+
var renderActions = function () {
|
|
297
355
|
if (!showActions || actions.length === 0 || isBlank) {
|
|
298
356
|
return null;
|
|
299
357
|
}
|
|
300
|
-
|
|
301
358
|
// 如果只有一个操作,直接显示图标按钮
|
|
302
359
|
if (actions.length === 1) {
|
|
303
|
-
|
|
304
|
-
if (!
|
|
305
|
-
|
|
360
|
+
var action_1 = actions[0];
|
|
361
|
+
if (!action_1) return null;
|
|
306
362
|
// 检查是否有文本内容,如果没有文本内容,按钮应该居中
|
|
307
|
-
|
|
308
|
-
|
|
363
|
+
var hasTextContent = formattedValue && formattedValue.trim() !== '';
|
|
364
|
+
var buttonStyle = hasTextContent ? [styles.actionButton, {
|
|
309
365
|
marginLeft: 8
|
|
310
366
|
}] : styles.actionButton;
|
|
311
|
-
return
|
|
367
|
+
return react_1.default.createElement(react_native_1.Pressable, {
|
|
312
368
|
style: buttonStyle,
|
|
313
|
-
onPress: event
|
|
369
|
+
onPress: function (event) {
|
|
314
370
|
// 阻止事件冒泡,避免触发外层的 attachCellPress
|
|
315
371
|
event.stopPropagation();
|
|
316
372
|
if (attachMoreAction) {
|
|
317
|
-
attachMoreAction(
|
|
373
|
+
attachMoreAction(action_1);
|
|
318
374
|
} else {
|
|
319
|
-
handleActionPress(
|
|
375
|
+
handleActionPress(action_1);
|
|
320
376
|
}
|
|
321
377
|
},
|
|
322
|
-
disabled: disabled ||
|
|
323
|
-
},
|
|
324
|
-
name:
|
|
378
|
+
disabled: disabled || action_1.disabled
|
|
379
|
+
}, react_1.default.createElement(TapasIcon_1.default, {
|
|
380
|
+
name: action_1.icon || actionIcon,
|
|
325
381
|
size: 16,
|
|
326
382
|
color: styles.actionIcon.color
|
|
327
383
|
}));
|
|
328
384
|
}
|
|
329
|
-
|
|
330
385
|
// 多个操作显示下拉菜单
|
|
331
|
-
return
|
|
386
|
+
return react_1.default.createElement(react_native_1.View, {
|
|
332
387
|
style: [styles.dropdownContainer, {
|
|
333
388
|
// 只有当前激活的下拉菜单容器才有高 z-index
|
|
334
389
|
zIndex: globalDropdownState.activeColumn === columnIndex && globalDropdownState.activeRow === rowIndex ? 2147483646 : 1
|
|
335
390
|
}]
|
|
336
|
-
},
|
|
391
|
+
}, react_1.default.createElement(react_native_1.Pressable, {
|
|
337
392
|
style: styles.actionButton,
|
|
338
|
-
onPress: event
|
|
393
|
+
onPress: function (event) {
|
|
339
394
|
// 阻止事件冒泡,避免触发外层的 attachCellPress
|
|
340
395
|
event.stopPropagation();
|
|
341
396
|
if (dropdownVisible) {
|
|
@@ -344,185 +399,76 @@ const TapasDataCell = ({
|
|
|
344
399
|
} else {
|
|
345
400
|
// 如果当前下拉菜单关闭,先关闭其他所有下拉菜单,然后打开当前菜单
|
|
346
401
|
closeAllDropdowns();
|
|
347
|
-
|
|
348
402
|
// 计算并设置下拉菜单位置
|
|
349
403
|
setDropdownPosition(calculateDropdownPosition());
|
|
350
|
-
|
|
351
404
|
// 延迟打开当前下拉菜单,确保其他菜单已关闭
|
|
352
|
-
setTimeout(()
|
|
405
|
+
setTimeout(function () {
|
|
353
406
|
setDropdownVisible(true);
|
|
354
407
|
}, 0);
|
|
355
408
|
}
|
|
356
409
|
},
|
|
357
410
|
disabled: disabled
|
|
358
|
-
},
|
|
411
|
+
}, react_1.default.createElement(TapasIcon_1.default, {
|
|
359
412
|
name: actionIcon,
|
|
360
413
|
size: 16,
|
|
361
414
|
color: styles.actionIcon.color
|
|
362
|
-
})), dropdownVisible &&
|
|
415
|
+
})), dropdownVisible && react_1.default.createElement(react_native_1.View, {
|
|
363
416
|
style: [styles.dropdownMenu, {
|
|
364
417
|
top: dropdownPosition.top,
|
|
365
418
|
right: dropdownPosition.right
|
|
366
419
|
}]
|
|
367
|
-
}, actions.map((action, index)
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
attachMoreAction
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
420
|
+
}, actions.map(function (action, index) {
|
|
421
|
+
return react_1.default.createElement(react_native_1.Pressable, {
|
|
422
|
+
key: action.id,
|
|
423
|
+
style: [styles.dropdownItem, index === actions.length - 1 && styles.dropdownItemLast],
|
|
424
|
+
onPress: function (event) {
|
|
425
|
+
// 阻止事件冒泡,避免触发外层的 attachCellPress
|
|
426
|
+
event.stopPropagation();
|
|
427
|
+
if (attachMoreAction) {
|
|
428
|
+
attachMoreAction(action);
|
|
429
|
+
} else {
|
|
430
|
+
handleActionPress(action);
|
|
431
|
+
}
|
|
432
|
+
setDropdownVisible(false);
|
|
433
|
+
},
|
|
434
|
+
disabled: disabled || action.disabled
|
|
435
|
+
}, react_1.default.createElement(react_native_1.Text, {
|
|
436
|
+
style: [styles.dropdownItemText, action.disabled && styles.dropdownItemDisabled]
|
|
437
|
+
}, action.label));
|
|
438
|
+
})));
|
|
384
439
|
};
|
|
385
|
-
|
|
386
440
|
// 渲染内容
|
|
387
|
-
|
|
441
|
+
var renderContent = function () {
|
|
388
442
|
if (isBlank) {
|
|
389
443
|
return null;
|
|
390
444
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
return
|
|
445
|
+
var statusStyle = getStatusStyle();
|
|
446
|
+
var hasStatusStyle = Object.keys(statusStyle).length > 0;
|
|
447
|
+
return react_1.default.createElement(react_native_1.View, {
|
|
394
448
|
style: styles.content
|
|
395
|
-
},
|
|
449
|
+
}, react_1.default.createElement(react_native_1.Text, {
|
|
396
450
|
style: [styles.text, hasStatusStyle && statusStyle, textStyle],
|
|
397
451
|
numberOfLines: numberOfLines,
|
|
398
452
|
ellipsizeMode: ellipsizeMode
|
|
399
453
|
}, formattedValue), renderActions());
|
|
400
454
|
};
|
|
401
|
-
|
|
402
455
|
// 如果可点击,使用 Pressable
|
|
403
456
|
if (clickable || onCellPress || onLongPress) {
|
|
404
|
-
return
|
|
457
|
+
return react_1.default.createElement(react_native_1.Pressable, __assign({}, otherProps, {
|
|
405
458
|
style: [styles.container, style],
|
|
406
459
|
onPress: handleCellPress,
|
|
407
460
|
onLongPress: handleLongPress,
|
|
408
461
|
disabled: disabled
|
|
409
462
|
}), renderContent());
|
|
410
463
|
}
|
|
411
|
-
|
|
412
464
|
// 否则使用普通 View
|
|
413
|
-
return
|
|
465
|
+
return react_1.default.createElement(react_native_1.View, __assign({}, otherProps, {
|
|
414
466
|
style: [styles.container, style]
|
|
415
467
|
}), renderContent());
|
|
416
468
|
};
|
|
417
469
|
exports.TapasDataCell = TapasDataCell;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
const paddingHorizontal = props?.padding?.horizontal || 16;
|
|
421
|
-
const paddingVertical = props?.padding?.vertical || 8;
|
|
422
|
-
const minHeight = props?.minHeight || 40;
|
|
423
|
-
const disabled = props?.disabled || false;
|
|
424
|
-
const clickable = props?.clickable || false;
|
|
425
|
-
const justifyContent = alignment === "left" ? "flex-start" : alignment === "right" ? "flex-end" : "center";
|
|
426
|
-
return {
|
|
427
|
-
container: {
|
|
428
|
-
minHeight,
|
|
429
|
-
paddingHorizontal,
|
|
430
|
-
paddingVertical,
|
|
431
|
-
backgroundColor: disabled ? theme?.colors?.grey5 || "#f8f9fa" : "transparent",
|
|
432
|
-
opacity: disabled ? 0.6 : 1,
|
|
433
|
-
borderBottomWidth: 0,
|
|
434
|
-
// 移除边框,让 Grid 处理边框
|
|
435
|
-
borderBottomColor: "transparent",
|
|
436
|
-
display: "flex",
|
|
437
|
-
flexDirection: "row",
|
|
438
|
-
alignItems: "center",
|
|
439
|
-
justifyContent: "space-between",
|
|
440
|
-
width: "100%",
|
|
441
|
-
height: "100%",
|
|
442
|
-
// 确保下拉菜单不被截断
|
|
443
|
-
overflow: "visible"
|
|
444
|
-
},
|
|
445
|
-
content: {
|
|
446
|
-
flex: 1,
|
|
447
|
-
flexDirection: "row",
|
|
448
|
-
alignItems: "center",
|
|
449
|
-
justifyContent: "space-between",
|
|
450
|
-
height: "100%",
|
|
451
|
-
minHeight
|
|
452
|
-
},
|
|
453
|
-
text: {
|
|
454
|
-
flex: 1,
|
|
455
|
-
fontSize: theme?.fonts?.sizeM || 14,
|
|
456
|
-
fontWeight: "400",
|
|
457
|
-
color: theme?.colors?.colorTextPrimary || theme?.colors?.grey1 || "#333",
|
|
458
|
-
textAlign: alignment,
|
|
459
|
-
alignSelf: justifyContent === "flex-start" ? "flex-start" : justifyContent === "flex-end" ? "flex-end" : "center"
|
|
460
|
-
},
|
|
461
|
-
actionButton: {
|
|
462
|
-
padding: 4,
|
|
463
|
-
borderRadius: 4,
|
|
464
|
-
backgroundColor: clickable ? "transparent" : theme?.colors?.grey5 || "#f8f9fa",
|
|
465
|
-
display: "flex",
|
|
466
|
-
alignItems: "center",
|
|
467
|
-
justifyContent: "center",
|
|
468
|
-
minWidth: 24,
|
|
469
|
-
minHeight: 24
|
|
470
|
-
},
|
|
471
|
-
actionIcon: {
|
|
472
|
-
color: theme?.colors?.grey2 || "#999"
|
|
473
|
-
},
|
|
474
|
-
dropdownContainer: {
|
|
475
|
-
position: "relative",
|
|
476
|
-
// 默认使用较低的 z-index,只有激活的下拉菜单容器才有高 z-index
|
|
477
|
-
zIndex: 1,
|
|
478
|
-
// 确保容器本身不会创建新的 stacking context
|
|
479
|
-
isolation: "auto"
|
|
480
|
-
},
|
|
481
|
-
dropdownMenu: {
|
|
482
|
-
position: "absolute",
|
|
483
|
-
// 使用绝对定位
|
|
484
|
-
backgroundColor: theme?.colors?.background || "#fff",
|
|
485
|
-
borderRadius: 4,
|
|
486
|
-
borderWidth: 1,
|
|
487
|
-
borderColor: theme?.colors?.grey4 || "#e0e0e0",
|
|
488
|
-
shadowColor: "#000",
|
|
489
|
-
shadowOffset: {
|
|
490
|
-
width: 0,
|
|
491
|
-
height: 2
|
|
492
|
-
},
|
|
493
|
-
shadowOpacity: 0.25,
|
|
494
|
-
shadowRadius: 3.84,
|
|
495
|
-
elevation: 5,
|
|
496
|
-
minWidth: 120,
|
|
497
|
-
zIndex: 2147483647,
|
|
498
|
-
// 更高的 z-index,确保显示在所有元素之上
|
|
499
|
-
// 确保下拉菜单不被父容器的 overflow 隐藏
|
|
500
|
-
overflow: "visible",
|
|
501
|
-
// 确保下拉菜单在正确的层级上
|
|
502
|
-
isolation: "isolate"
|
|
503
|
-
},
|
|
504
|
-
dropdownItem: {
|
|
505
|
-
paddingHorizontal: 12,
|
|
506
|
-
paddingVertical: 8,
|
|
507
|
-
borderBottomWidth: 1,
|
|
508
|
-
borderBottomColor: theme?.colors?.grey4 || "#e0e0e0"
|
|
509
|
-
},
|
|
510
|
-
dropdownItemLast: {
|
|
511
|
-
borderBottomWidth: 0
|
|
512
|
-
},
|
|
513
|
-
dropdownItemText: {
|
|
514
|
-
fontSize: 14,
|
|
515
|
-
color: theme?.colors?.colorTextPrimary || theme?.colors?.grey1 || "#333"
|
|
516
|
-
},
|
|
517
|
-
dropdownItemDisabled: {
|
|
518
|
-
color: theme?.colors?.grey3 || "#999",
|
|
519
|
-
opacity: 0.6
|
|
520
|
-
}
|
|
521
|
-
};
|
|
522
|
-
});
|
|
523
|
-
var _default = exports.default = (0, _themed.withTheme)(TapasDataCell); // Export aliases for compatibility
|
|
524
|
-
const DataCell = exports.DataCell = (0, _themed.withTheme)(TapasDataCell);
|
|
525
|
-
//# sourceMappingURL=DataCell.js.map, _j, _k, _l, _m, _o, _p;
|
|
470
|
+
var useStyles = (0, themed_1.makeStyles)(function (theme, props) {
|
|
471
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
526
472
|
var alignment = (props === null || props === void 0 ? void 0 : props.alignment) || "left";
|
|
527
473
|
var paddingHorizontal = ((_a = props === null || props === void 0 ? void 0 : props.padding) === null || _a === void 0 ? void 0 : _a.horizontal) || 16;
|
|
528
474
|
var paddingVertical = ((_b = props === null || props === void 0 ? void 0 : props.padding) === null || _b === void 0 ? void 0 : _b.vertical) || 8;
|