@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.
Files changed (263) hide show
  1. package/commonjs/Alert/Alert.js +67 -46
  2. package/commonjs/Alert/Alert.js.map +1 -2
  3. package/commonjs/AnimatedNavItem/AnimatedNavItem.js +0 -71
  4. package/commonjs/AnimatedNavItem/AnimatedNavItem.js.map +0 -1
  5. package/commonjs/AnimatedNavItem/index.js +9 -15
  6. package/commonjs/BarChart/BarChart.js.map +2 -1
  7. package/commonjs/Button/Button.js +78 -96
  8. package/commonjs/Button/Button.js.map +2 -1
  9. package/commonjs/Button/ButtonGroup.js.map +2 -1
  10. package/commonjs/Calendar/Calendar.base.js +190 -162
  11. package/commonjs/Calendar/Calendar.base.js.map +2 -1
  12. package/commonjs/Calendar/Calendar.js +102 -86
  13. package/commonjs/Calendar/Calendar.js.map +1 -2
  14. package/commonjs/Calendar/DaySelector.js +113 -115
  15. package/commonjs/Calendar/DaySelector.js.map +1 -2
  16. package/commonjs/Calendar/TimeSelector.js +223 -274
  17. package/commonjs/Calendar/WeekDaySelector.js.map +1 -2
  18. package/commonjs/Calendar/helper.js +68 -68
  19. package/commonjs/Calendar/helper.js.map +1 -2
  20. package/commonjs/Calendar/types.js +11 -11
  21. package/commonjs/Calendar/types.js.map +2 -1
  22. package/commonjs/Card/Card.js +158 -231
  23. package/commonjs/Card/Card.js.map +1 -1
  24. package/commonjs/CheckBox/CheckBoxItem.js +36 -86
  25. package/commonjs/CheckBox/CheckBoxItem.js.map +1 -1
  26. package/commonjs/CheckBox/GroupCheckBox.js +67 -80
  27. package/commonjs/CheckBox/GroupCheckBox.js.map +2 -1
  28. package/commonjs/DashboardCard/DashboardCard.js +94 -74
  29. package/commonjs/DashboardCard/DashboardCard.js.map +1 -1
  30. package/commonjs/DataCell/DataCell.js +235 -289
  31. package/commonjs/DataCell/DataCell.js.map +1 -2
  32. package/commonjs/DataCell/index.js.map +2 -1
  33. package/commonjs/DataTable/DataTable.js +144 -70
  34. package/commonjs/DataTable/DataTable.js.map +1 -2
  35. package/commonjs/DataTable/index.js.map +1 -2
  36. package/commonjs/DeviceSelectionModal/DeviceSelectionModal.js +244 -242
  37. package/commonjs/DeviceSelectionModal/DeviceSelectionModal.js.map +1 -1
  38. package/commonjs/DraggableFlatList/DraggableFlatList.js +1 -1
  39. package/commonjs/Dropdown/Dropdown.js +461 -493
  40. package/commonjs/Dropdown/Dropdown.js.map +1 -2
  41. package/commonjs/Dropdown/InputDropdown.js +114 -123
  42. package/commonjs/ExternalLink/ExternalLink.js +58 -50
  43. package/commonjs/ExternalLink/ExternalLink.js.map +1 -2
  44. package/commonjs/Gantt/helper.js.map +1 -2
  45. package/commonjs/Grid/Grid.base.js +401 -336
  46. package/commonjs/Grid/Grid.base.js.map +2 -1
  47. package/commonjs/Grid/VariableSizeGrid.js +113 -120
  48. package/commonjs/Grid/VariableSizeGrid.js.map +1 -2
  49. package/commonjs/Grid/helper.js +16 -11
  50. package/commonjs/Header/Header.js +177 -166
  51. package/commonjs/Header/Header.js.map +1 -2
  52. package/commonjs/HelloWave/HelloWave.js +53 -46
  53. package/commonjs/HelloWave/HelloWave.js.map +2 -1
  54. package/commonjs/Icons/TapasIcon.js +100 -99
  55. package/commonjs/Icons/TapasIcon.js.map +2 -1
  56. package/commonjs/Icons/TapasIconExpo.js +94 -101
  57. package/commonjs/Icons/smartFontLoader.js +222 -266
  58. package/commonjs/Icons/smartFontLoader.js.map +1 -2
  59. package/commonjs/Image/Image.js +106 -96
  60. package/commonjs/Image/Image.js.map +1 -2
  61. package/commonjs/Image/PreviewImg.js.map +2 -1
  62. package/commonjs/Layout/DrawerContext.js +35 -49
  63. package/commonjs/Layout/DrawerContext.js.map +2 -1
  64. package/commonjs/Layout/Layout.js.map +1 -2
  65. package/commonjs/Layout/ToastContext.js +46 -34
  66. package/commonjs/Layout/ToastContext.js.map +1 -2
  67. package/commonjs/Layout/index.js +38 -34
  68. package/commonjs/Layout/index.js.map +1 -2
  69. package/commonjs/LineChart/index.js +3 -4
  70. package/commonjs/ListItem/ListItem.js +108 -80
  71. package/commonjs/ListItem/ListItem.js.map +1 -2
  72. package/commonjs/MultiSelector/MultiSelector.js +225 -250
  73. package/commonjs/MultiSelector/MultiSelector.js.map +1 -2
  74. package/commonjs/Navigation/Navigation.js +117 -114
  75. package/commonjs/Navigation/Navigation.js.map +1 -2
  76. package/commonjs/Notification/Notification.js +66 -135
  77. package/commonjs/Notification/Notification.js.map +1 -1
  78. package/commonjs/Notification/index.js.map +1 -2
  79. package/commonjs/NumericInput/NumericInput.js +85 -71
  80. package/commonjs/NumericInput/NumericInput.js.map +1 -2
  81. package/commonjs/Overlay/Overlay.js +45 -24
  82. package/commonjs/Overlay/Overlay.js.map +1 -1
  83. package/commonjs/Popover/Popover.js +137 -112
  84. package/commonjs/Popover/Popover.js.map +2 -1
  85. package/commonjs/Progress/Progress.js +48 -54
  86. package/commonjs/Progress/Progress.js.map +2 -1
  87. package/commonjs/Quantity/Quantity.js +70 -0
  88. package/commonjs/Quantity/Quantity.js.map +1 -0
  89. package/commonjs/RadioButton/RadioButton.js +94 -46
  90. package/commonjs/RadioButton/RadioButton.js.map +1 -1
  91. package/commonjs/ReasonModal/index.js +14 -9
  92. package/commonjs/ReasonModal/index.js.map +2 -1
  93. package/commonjs/SheetTitle/SheetTitle.js +34 -31
  94. package/commonjs/SheetTitle/SheetTitle.js.map +1 -1
  95. package/commonjs/Shell/Shell.js +92 -84
  96. package/commonjs/Shell/Shell.js.map +1 -2
  97. package/commonjs/Shell/styles.js +3 -3
  98. package/commonjs/Shell/styles.js.map +2 -1
  99. package/commonjs/Shell/types.js.map +2 -1
  100. package/commonjs/StatisticCard/StatisticCard.js +47 -41
  101. package/commonjs/Status/Status.js +35 -31
  102. package/commonjs/Status/Status.js.map +2 -1
  103. package/commonjs/Steps/Steps.js +40 -41
  104. package/commonjs/Steps/Steps.js.map +1 -1
  105. package/commonjs/TabTitle/TabTitle.js +54 -48
  106. package/commonjs/TabTitle/index.js +1 -0
  107. package/commonjs/TabTitle/index.js.map +1 -0
  108. package/commonjs/Tag/Tag.js +88 -34
  109. package/commonjs/Tag/Tag.js.map +1 -1
  110. package/commonjs/Task/Task.js +112 -201
  111. package/commonjs/Task/Task.js.map +1 -2
  112. package/commonjs/Task/type.js +4 -4
  113. package/commonjs/Text/Text.js +96 -56
  114. package/commonjs/Text/Text.js.map +1 -1
  115. package/commonjs/Theme/ThemeProvider.js +16 -18
  116. package/commonjs/Timeline/Timeline.js +0 -23
  117. package/commonjs/Timeline/Timeline.js.map +0 -1
  118. package/commonjs/Toast/Toast.js +83 -62
  119. package/commonjs/Toast/Toast.js.map +1 -2
  120. package/commonjs/UserSwitcher/index.js +8 -14
  121. package/commonjs/UserSwitcher/index.js.map +1 -2
  122. package/commonjs/common.js +5 -4
  123. package/commonjs/common.js.map +2 -1
  124. package/commonjs/index.js +336 -426
  125. package/module/AnimatedNavItem/AnimatedNavItem.js +124 -159
  126. package/module/AnimatedNavItem/index.js +3 -7
  127. package/module/AnimatedNavItem/index.js.map +2 -1
  128. package/module/BarChart/index.js.map +1 -2
  129. package/module/Button/Button.js +71 -80
  130. package/module/Button/Button.js.map +2 -1
  131. package/module/Button/ButtonGroup.js +129 -120
  132. package/module/Button/ButtonGroup.js.map +2 -1
  133. package/module/Calendar/Calendar.base.js +226 -149
  134. package/module/Calendar/Calendar.base.js.map +2 -1
  135. package/module/Calendar/Calendar.js +76 -80
  136. package/module/Calendar/Calendar.js.map +1 -2
  137. package/module/Calendar/ConcreteTimeSelector.js.map +1 -2
  138. package/module/Calendar/CustomRange.js.map +2 -1
  139. package/module/Calendar/DaySelector.js +95 -118
  140. package/module/Calendar/TimeSelector.js.map +2 -1
  141. package/module/Calendar/WeekDaySelector.js.map +1 -2
  142. package/module/Calendar/helper.js +74 -74
  143. package/module/Calendar/helper.js.map +2 -1
  144. package/module/Calendar/local.js +7 -7
  145. package/module/Calendar/local.js.map +1 -2
  146. package/module/Calendar/types.js +13 -13
  147. package/module/CheckBox/CheckBox.js +93 -89
  148. package/module/CheckBox/CheckBox.js.map +1 -2
  149. package/module/CheckBox/CheckBoxItem.js +69 -84
  150. package/module/CheckBox/CheckBoxItem.js.map +1 -1
  151. package/module/CheckBox/GroupCheckBox.js +66 -76
  152. package/module/CheckBox/GroupCheckBox.js.map +1 -2
  153. package/module/CircularProgress/CircularProgress.js +22 -0
  154. package/module/CircularProgress/CircularProgress.js.map +1 -0
  155. package/module/Collapsible/Collapsible.js +54 -64
  156. package/module/Collapsible/Collapsible.js.map +1 -2
  157. package/module/DataCell/DataCell.js +311 -224
  158. package/module/DataCell/index.js +4 -3
  159. package/module/DataCell/index.js.map +1 -2
  160. package/module/DataTable/index.js +2 -4
  161. package/module/DataTable/index.js.map +2 -1
  162. package/module/DeviceSelectionModal/DeviceSelectionModal.js +178 -241
  163. package/module/DeviceSelectionModal/DeviceSelectionModal.js.map +1 -2
  164. package/module/DraggableFlatList/DraggableFlatList.js +0 -9
  165. package/module/DraggableFlatList/DraggableFlatList.js.map +0 -1
  166. package/module/Drawer/Drawer.js +167 -139
  167. package/module/Drawer/Drawer.js.map +2 -1
  168. package/module/Dropdown/CustomDropdown.js +56 -0
  169. package/module/Dropdown/CustomDropdown.js.map +1 -0
  170. package/module/Dropdown/InputDropdown.js +116 -134
  171. package/module/Dropdown/InputDropdown.js.map +1 -2
  172. package/module/ExternalLink/ExternalLink.js +150 -0
  173. package/module/ExternalLink/ExternalLink.js.map +1 -0
  174. package/module/Gantt/Accessories.js +183 -124
  175. package/module/Gantt/Gantt.js +139 -152
  176. package/module/Gantt/Gantt.js.map +1 -2
  177. package/module/Gantt/types.js +4 -8
  178. package/module/Gantt/types.js.map +2 -1
  179. package/module/Grid/FixedSizeGrid.js +86 -80
  180. package/module/Grid/FixedSizeGrid.js.map +2 -1
  181. package/module/Grid/Grid.base.js +401 -339
  182. package/module/Grid/Grid.base.js.map +2 -1
  183. package/module/Grid/StaticFixedSizeGrid.js +192 -255
  184. package/module/Grid/VariableSizeGrid.js +121 -118
  185. package/module/Grid/VariableSizeGrid.js.map +2 -1
  186. package/module/Grid/helper.js.map +1 -2
  187. package/module/Grid/timer.js +14 -16
  188. package/module/Grid/timer.js.map +2 -1
  189. package/module/Header/Header.js +167 -183
  190. package/module/Header/Header.js.map +1 -2
  191. package/module/IconText/IconText.js +63 -88
  192. package/module/IconText/IconText.js.map +1 -2
  193. package/module/Icons/TapasIcon.js +120 -96
  194. package/module/Icons/TapasIcon.js.map +2 -1
  195. package/module/Icons/TapasIconExpo.js +78 -98
  196. package/module/Icons/TapasIconExpo.js.map +1 -2
  197. package/module/Icons/fontLoader.js +213 -182
  198. package/module/Icons/index.js +9 -10
  199. package/module/Icons/smartFontLoader.js.map +1 -2
  200. package/module/Layout/Layout.js +100 -100
  201. package/module/Layout/ToastContext.js +27 -15
  202. package/module/Layout/ToastContext.js.map +2 -1
  203. package/module/Layout/index.js.map +1 -2
  204. package/module/LineChart/LineChart.js +121 -157
  205. package/module/LineChart/LineChart.js.map +2 -1
  206. package/module/MultiSelector/MultiSelector.js.map +1 -2
  207. package/module/Notification/Notification.js +101 -105
  208. package/module/Notification/Notification.js.map +1 -2
  209. package/module/Notification/index.js +2 -3
  210. package/module/Notification/index.js.map +2 -1
  211. package/module/NumericInput/NumericInput.js +0 -54
  212. package/module/Pagination/Pagination.js +72 -0
  213. package/module/Pagination/Pagination.js.map +1 -0
  214. package/module/PieChart/PieChart.js +76 -101
  215. package/module/PieChart/index.js.map +0 -1
  216. package/module/Popover/Popover.js +97 -125
  217. package/module/Popover/Popover.js.map +1 -1
  218. package/module/Progress/Progress.js +51 -57
  219. package/module/Progress/Progress.js.map +1 -2
  220. package/module/Quantity/Quantity.js +112 -129
  221. package/module/Quantity/Quantity.js.map +1 -2
  222. package/module/Quantity/index.js +3 -2
  223. package/module/Quantity/index.js.map +1 -2
  224. package/module/ReasonModal/ReasonModal.js.map +2 -1
  225. package/module/ReasonModal/index.js +5 -3
  226. package/module/ReasonModal/index.js.map +1 -2
  227. package/module/ScanButton/ScanButton.js +77 -53
  228. package/module/ScanButton/ScanButton.js.map +2 -1
  229. package/module/SearchInput/SearchInput.js +83 -93
  230. package/module/SearchInput/SearchInput.js.map +1 -2
  231. package/module/SheetTitle/SheetTitle.js +29 -39
  232. package/module/SheetTitle/SheetTitle.js.map +2 -1
  233. package/module/Shell/Shell.js +92 -79
  234. package/module/Shell/Shell.js.map +2 -1
  235. package/module/Shell/styles.js +8 -8
  236. package/module/Shell/styles.js.map +2 -1
  237. package/module/Shell/types.js +4 -2
  238. package/module/Shell/types.js.map +1 -2
  239. package/module/StatisticCard/StatisticCard.js +48 -79
  240. package/module/StatisticCard/StatisticCard.js.map +1 -2
  241. package/module/Status/Status.js.map +0 -1
  242. package/module/Steps/Steps.js +36 -41
  243. package/module/Steps/Steps.js.map +1 -2
  244. package/module/TabTitle/TabTitle.js.map +2 -1
  245. package/module/TableColumnHeader/TableColumnHeader.js +126 -153
  246. package/module/TableColumnHeader/index.js +8 -3
  247. package/module/TableColumnHeader/index.js.map +1 -2
  248. package/module/Tag/Tag.js +72 -87
  249. package/module/Tag/Tag.js.map +1 -2
  250. package/module/Task/Task.js +207 -113
  251. package/module/Task/Task.js.map +2 -1
  252. package/module/Task/type.js +8 -4
  253. package/module/Task/type.js.map +2 -1
  254. package/module/Text/Text.js +70 -80
  255. package/module/Text/Text.js.map +2 -1
  256. package/module/Theme/ThemeProvider.js.map +1 -2
  257. package/module/Toast/Toast.js +66 -77
  258. package/module/Toast/Toast.js.map +1 -2
  259. package/module/UserSwitcher/UserSwitcher.js +130 -171
  260. package/module/UserSwitcher/UserSwitcher.js.map +1 -2
  261. package/module/index.js +120 -131
  262. package/module/index.js.map +2 -1
  263. package/package.json +1 -1
@@ -1,339 +1,413 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- TapasDropdownModal: true
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);
8
12
  };
9
- exports.default = exports.TapasDropdownModal = void 0;
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _reactNative = require("react-native");
12
- var _CustomDropdown = _interopRequireWildcard(require("./CustomDropdown"));
13
- Object.keys(_CustomDropdown).forEach(function (key) {
14
- if (key === "default" || key === "__esModule") return;
15
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
- if (key in exports && exports[key] === _CustomDropdown[key]) return;
17
- Object.defineProperty(exports, key, {
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", {
18
31
  enumerable: true,
19
- get: function () {
20
- return _CustomDropdown[key];
21
- }
32
+ value: v
22
33
  });
34
+ } : function (o, v) {
35
+ o["default"] = v;
23
36
  });
24
- var _ListItem = _interopRequireDefault(require("../ListItem/ListItem"));
25
- var _themed = require("@rneui/themed");
26
- var _TapasIcon = _interopRequireDefault(require("../Icons/TapasIcon"));
27
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
28
- 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); }
29
- 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; }
30
- 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); }
31
- // 新增接口定义
32
-
33
- //@ts-ignore
34
-
35
- const useStyles = (0, _themed.makeStyles)(theme => ({
36
- searchBarContainer: {
37
- backgroundColor: theme.colors.white,
38
- height: 50,
39
- padding: 0
40
- },
41
- inputContainer: {
42
- backgroundColor: theme.colors.white,
43
- height: 48,
44
- borderTopWidth: 0,
45
- padding: 0
46
- },
47
- inputStyle: {
48
- height: 24,
49
- fontFamily: theme.fonts.fontFamily,
50
- fontSize: theme.fonts.sizeM,
51
- fontWeight: theme.fonts.weightR,
52
- color: theme.colors.colorTextPrimary,
53
- marginLeft: 0
54
- },
55
- leftIconContainer: {
56
- height: 24,
57
- marginLeft: 16
58
- },
59
- iconStyle: {
60
- color: theme.colors.secondary
61
- },
62
- // Modal 模式样式
63
- modalContainer: {
64
- display: "flex",
65
- flexGrow: 0,
66
- flexShrink: 0,
67
- flexBasis: "auto",
68
- flexDirection: "column",
69
- justifyContent: "flex-start",
70
- // 改为顶部对齐,与 CustomDropdown 保持一致
71
- alignItems: "stretch",
72
- // 改为拉伸对齐,与 CustomDropdown 保持一致
73
- width: "100%"
74
- },
75
- modalIcon: {
76
- color: theme.colors.primary
77
- },
78
- modalOptionsCon: {
79
- position: "absolute",
80
- display: "flex",
81
- flexDirection: "column",
82
- overflow: "hidden",
83
- backgroundColor: theme.colors.white,
84
- paddingTop: 12,
85
- paddingBottom: 12,
86
- borderRadius: 12,
87
- maxHeight: 224,
88
- shadowColor: "#000",
89
- shadowOffset: {
90
- width: 0,
91
- height: 4
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 __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
55
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
56
+ };
57
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
58
+ var t = {};
59
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
60
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
61
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
62
+ }
63
+ return t;
64
+ };
65
+ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
66
+ return mod && mod.__esModule ? mod : {
67
+ "default": mod
68
+ };
69
+ };
70
+ Object.defineProperty(exports, "__esModule", {
71
+ value: true
72
+ });
73
+ exports.TapasDropdownModal = void 0;
74
+ var react_1 = __importStar(require("react"));
75
+ var react_native_1 = require("react-native");
76
+ var CustomDropdown_1 = __importDefault(require("./CustomDropdown"));
77
+ var ListItem_1 = __importDefault(require("../ListItem/ListItem"));
78
+ var themed_1 = require("@rneui/themed");
79
+ var TapasIcon_1 = __importDefault(require("../Icons/TapasIcon"));
80
+ __exportStar(require("./CustomDropdown"), exports);
81
+ var useStyles = (0, themed_1.makeStyles)(function (theme) {
82
+ return {
83
+ searchBarContainer: {
84
+ backgroundColor: theme.colors.white,
85
+ height: 50,
86
+ padding: 0
92
87
  },
93
- shadowOpacity: 0.15,
94
- shadowRadius: 12,
95
- elevation: 8
96
- },
97
- modalOptionsScrollView: {
98
- flex: 1,
99
- display: "flex"
100
- },
101
- modalOptionsInner: {
102
- display: "flex",
103
- flexDirection: "column",
104
- justifyContent: "flex-start",
105
- gap: 8
106
- },
107
- modalOption: {
108
- display: "flex",
109
- flexDirection: "row",
110
- width: "100%",
111
- overflow: "hidden",
112
- justifyContent: "space-between",
113
- minHeight: 40,
114
- alignItems: "center"
115
- },
116
- modalOptionText: {
117
- marginLeft: 16,
118
- marginRight: 16,
119
- fontSize: 14,
120
- fontWeight: "400",
121
- color: theme.colors.primary,
122
- alignSelf: "center",
123
- overflow: "hidden",
124
- flex: 1
125
- },
126
- modalNoOptions: {
127
- width: "100%",
128
- textAlign: "center",
129
- color: theme.colors.grey2,
130
- marginLeft: 16,
131
- marginRight: 16
132
- },
133
- modalBtn: {
134
- display: "flex",
135
- flexDirection: "row",
136
- justifyContent: "space-between",
137
- alignItems: "center",
138
- // 确保垂直居中对齐
139
- minHeight: 40,
140
- width: "100%",
141
- overflow: "hidden",
142
- position: "relative"
143
- },
144
- modalSolidBtn: {
145
- borderWidth: 1,
146
- borderRadius: 12,
147
- borderStyle: "solid",
148
- borderColor: theme.colors.grey2,
149
- paddingLeft: 16,
150
- paddingRight: 12,
151
- paddingTop: 9,
152
- paddingBottom: 9,
153
- alignItems: "center" // 确保垂直居中对齐
154
- },
155
- alignCenter: {
156
- alignSelf: "center"
157
- },
158
- labelCon: {
159
- position: "absolute",
160
- left: 16,
161
- paddingLeft: 1,
162
- paddingRight: 1,
163
- display: "flex",
164
- flexDirection: "row",
165
- zIndex: 30
166
- },
167
- labelInner: {
168
- display: "flex",
169
- flexDirection: "row"
170
- },
171
- labelText: {
172
- fontSize: 12,
173
- color: theme.colors.primary
174
- },
175
- required: {
176
- fontSize: 12,
177
- fontWeight: "400",
178
- color: theme.colors.error || "#FF4444",
179
- marginLeft: 1
180
- },
181
- msg: {
182
- display: "flex",
183
- flexDirection: "row",
184
- paddingLeft: 16,
185
- paddingRight: 8,
186
- marginTop: 1,
187
- width: "100%",
188
- height: 15
189
- },
190
- msgText: {
191
- fontSize: 12,
192
- fontWeight: "400",
193
- color: theme.colors.secondary
194
- },
195
- extendBtnCon: {
196
- display: "flex",
197
- flexDirection: "row",
198
- justifyContent: "center",
199
- height: 40,
200
- overflow: "hidden",
201
- backgroundColor: theme.colors.white,
202
- borderRadius: 20,
203
- gap: 8,
204
- alignItems: "center",
205
- shadowColor: "#000",
206
- shadowOffset: {
207
- width: 0,
208
- height: 4
88
+ inputContainer: {
89
+ backgroundColor: theme.colors.white,
90
+ height: 48,
91
+ borderTopWidth: 0,
92
+ padding: 0
209
93
  },
210
- shadowOpacity: 0.15,
211
- shadowRadius: 12,
212
- elevation: 8
213
- },
214
- extendBtnText: {
215
- fontSize: 14,
216
- fontWeight: "400",
217
- color: theme.colors.primary
218
- }
219
- }));
220
- const Dropdown = ({
221
- value,
222
- prefix = '',
223
- options,
224
- onChange,
225
- width,
226
- subWidth,
227
- subHeight = 150,
228
- isVisible,
229
- onSearchChange,
230
- type = 'option',
231
- // 新增 Modal 模式相关属性
232
- useModal = false,
233
- dropdownItems = [],
234
- selected,
235
- showSelectedValue = false,
236
- dropdownType = "clear",
237
- arrowIcon: _arrowIcon = false,
238
- onSelect,
239
- backgroundColor,
240
- labelColor,
241
- state = "normal",
242
- stateMsg,
243
- showCheckedStatusInList = false,
244
- showStateMsg = false,
245
- offsetWidth = 0,
246
- extendBtn,
247
- extendBtnIcon,
248
- emptyText,
249
- onExtendBtnPress,
250
- noLabelAnim = false,
251
- radius = 12,
252
- modalVisible,
253
- customPopoverContent,
254
- setModalVisible,
255
- iconStyle,
256
- label,
257
- required,
258
- testID,
259
- ...props
260
- }) => {
261
- const styles = useStyles(props);
262
- const theme = (0, _themed.useTheme)();
263
- const [selected_old, selectedItem] = _react.default.useState(value);
264
- const searchRef = _react.default.useRef(null);
265
- const [search, setSearch] = (0, _react.useState)('');
266
-
94
+ inputStyle: {
95
+ height: 24,
96
+ fontFamily: theme.fonts.fontFamily,
97
+ fontSize: theme.fonts.sizeM,
98
+ fontWeight: theme.fonts.weightR,
99
+ color: theme.colors.colorTextPrimary,
100
+ marginLeft: 0
101
+ },
102
+ leftIconContainer: {
103
+ height: 24,
104
+ marginLeft: 16
105
+ },
106
+ iconStyle: {
107
+ color: theme.colors.secondary
108
+ },
109
+ // Modal 模式样式
110
+ modalContainer: {
111
+ display: "flex",
112
+ flexGrow: 0,
113
+ flexShrink: 0,
114
+ flexBasis: "auto",
115
+ flexDirection: "column",
116
+ justifyContent: "flex-start",
117
+ // 改为顶部对齐,与 CustomDropdown 保持一致
118
+ alignItems: "stretch",
119
+ // 改为拉伸对齐,与 CustomDropdown 保持一致
120
+ width: "100%"
121
+ },
122
+ modalIcon: {
123
+ color: theme.colors.primary
124
+ },
125
+ modalOptionsCon: {
126
+ position: "absolute",
127
+ display: "flex",
128
+ flexDirection: "column",
129
+ overflow: "hidden",
130
+ backgroundColor: theme.colors.white,
131
+ paddingTop: 12,
132
+ paddingBottom: 12,
133
+ borderRadius: 12,
134
+ maxHeight: 224,
135
+ shadowColor: "#000",
136
+ shadowOffset: {
137
+ width: 0,
138
+ height: 4
139
+ },
140
+ shadowOpacity: 0.15,
141
+ shadowRadius: 12,
142
+ elevation: 8
143
+ },
144
+ modalOptionsScrollView: {
145
+ flex: 1,
146
+ display: "flex"
147
+ },
148
+ modalOptionsInner: {
149
+ display: "flex",
150
+ flexDirection: "column",
151
+ justifyContent: "flex-start",
152
+ gap: 8
153
+ },
154
+ modalOption: {
155
+ display: "flex",
156
+ flexDirection: "row",
157
+ width: "100%",
158
+ overflow: "hidden",
159
+ justifyContent: "space-between",
160
+ minHeight: 40,
161
+ alignItems: "center"
162
+ },
163
+ modalOptionText: {
164
+ marginLeft: 16,
165
+ marginRight: 16,
166
+ fontSize: 14,
167
+ fontWeight: "400",
168
+ color: theme.colors.primary,
169
+ alignSelf: "center",
170
+ overflow: "hidden",
171
+ flex: 1
172
+ },
173
+ modalNoOptions: {
174
+ width: "100%",
175
+ textAlign: "center",
176
+ color: theme.colors.grey2,
177
+ marginLeft: 16,
178
+ marginRight: 16
179
+ },
180
+ modalBtn: {
181
+ display: "flex",
182
+ flexDirection: "row",
183
+ justifyContent: "space-between",
184
+ alignItems: "center",
185
+ // 确保垂直居中对齐
186
+ minHeight: 40,
187
+ width: "100%",
188
+ overflow: "hidden",
189
+ position: "relative"
190
+ },
191
+ modalSolidBtn: {
192
+ borderWidth: 1,
193
+ borderRadius: 12,
194
+ borderStyle: "solid",
195
+ borderColor: theme.colors.grey2,
196
+ paddingLeft: 16,
197
+ paddingRight: 12,
198
+ paddingTop: 9,
199
+ paddingBottom: 9,
200
+ alignItems: "center" // 确保垂直居中对齐
201
+ },
202
+ alignCenter: {
203
+ alignSelf: "center"
204
+ },
205
+ labelCon: {
206
+ position: "absolute",
207
+ left: 16,
208
+ paddingLeft: 1,
209
+ paddingRight: 1,
210
+ display: "flex",
211
+ flexDirection: "row",
212
+ zIndex: 30
213
+ },
214
+ labelInner: {
215
+ display: "flex",
216
+ flexDirection: "row"
217
+ },
218
+ labelText: {
219
+ fontSize: 12,
220
+ color: theme.colors.primary
221
+ },
222
+ required: {
223
+ fontSize: 12,
224
+ fontWeight: "400",
225
+ color: theme.colors.error || "#FF4444",
226
+ marginLeft: 1
227
+ },
228
+ msg: {
229
+ display: "flex",
230
+ flexDirection: "row",
231
+ paddingLeft: 16,
232
+ paddingRight: 8,
233
+ marginTop: 1,
234
+ width: "100%",
235
+ height: 15
236
+ },
237
+ msgText: {
238
+ fontSize: 12,
239
+ fontWeight: "400",
240
+ color: theme.colors.secondary
241
+ },
242
+ extendBtnCon: {
243
+ display: "flex",
244
+ flexDirection: "row",
245
+ justifyContent: "center",
246
+ height: 40,
247
+ overflow: "hidden",
248
+ backgroundColor: theme.colors.white,
249
+ borderRadius: 20,
250
+ gap: 8,
251
+ alignItems: "center",
252
+ shadowColor: "#000",
253
+ shadowOffset: {
254
+ width: 0,
255
+ height: 4
256
+ },
257
+ shadowOpacity: 0.15,
258
+ shadowRadius: 12,
259
+ elevation: 8
260
+ },
261
+ extendBtnText: {
262
+ fontSize: 14,
263
+ fontWeight: "400",
264
+ color: theme.colors.primary
265
+ }
266
+ };
267
+ });
268
+ var Dropdown = function (_a) {
269
+ var _b;
270
+ var value = _a.value,
271
+ _c = _a.prefix,
272
+ prefix = _c === void 0 ? '' : _c,
273
+ options = _a.options,
274
+ onChange = _a.onChange,
275
+ width = _a.width,
276
+ subWidth = _a.subWidth,
277
+ _d = _a.subHeight,
278
+ subHeight = _d === void 0 ? 150 : _d,
279
+ isVisible = _a.isVisible,
280
+ onSearchChange = _a.onSearchChange,
281
+ _e = _a.type,
282
+ type = _e === void 0 ? 'option' : _e,
283
+ // 新增 Modal 模式相关属性
284
+ _f = _a.useModal,
285
+ // 新增 Modal 模式相关属性
286
+ useModal = _f === void 0 ? false : _f,
287
+ _g = _a.dropdownItems,
288
+ dropdownItems = _g === void 0 ? [] : _g,
289
+ selected = _a.selected,
290
+ _h = _a.showSelectedValue,
291
+ showSelectedValue = _h === void 0 ? false : _h,
292
+ _j = _a.dropdownType,
293
+ dropdownType = _j === void 0 ? "clear" : _j,
294
+ _k = _a.arrowIcon,
295
+ _arrowIcon = _k === void 0 ? false : _k,
296
+ onSelect = _a.onSelect,
297
+ backgroundColor = _a.backgroundColor,
298
+ labelColor = _a.labelColor,
299
+ _l = _a.state,
300
+ state = _l === void 0 ? "normal" : _l,
301
+ stateMsg = _a.stateMsg,
302
+ _m = _a.showCheckedStatusInList,
303
+ showCheckedStatusInList = _m === void 0 ? false : _m,
304
+ _o = _a.showStateMsg,
305
+ showStateMsg = _o === void 0 ? false : _o,
306
+ _p = _a.offsetWidth,
307
+ offsetWidth = _p === void 0 ? 0 : _p,
308
+ extendBtn = _a.extendBtn,
309
+ extendBtnIcon = _a.extendBtnIcon,
310
+ emptyText = _a.emptyText,
311
+ onExtendBtnPress = _a.onExtendBtnPress,
312
+ _q = _a.noLabelAnim,
313
+ noLabelAnim = _q === void 0 ? false : _q,
314
+ _r = _a.radius,
315
+ radius = _r === void 0 ? 12 : _r,
316
+ modalVisible = _a.modalVisible,
317
+ customPopoverContent = _a.customPopoverContent,
318
+ setModalVisible = _a.setModalVisible,
319
+ iconStyle = _a.iconStyle,
320
+ label = _a.label,
321
+ required = _a.required,
322
+ testID = _a.testID,
323
+ props = __rest(_a, ["value", "prefix", "options", "onChange", "width", "subWidth", "subHeight", "isVisible", "onSearchChange", "type", "useModal", "dropdownItems", "selected", "showSelectedValue", "dropdownType", "arrowIcon", "onSelect", "backgroundColor", "labelColor", "state", "stateMsg", "showCheckedStatusInList", "showStateMsg", "offsetWidth", "extendBtn", "extendBtnIcon", "emptyText", "onExtendBtnPress", "noLabelAnim", "radius", "modalVisible", "customPopoverContent", "setModalVisible", "iconStyle", "label", "required", "testID"]);
324
+ var styles = useStyles(props);
325
+ var theme = (0, themed_1.useTheme)();
326
+ var _s = react_1.default.useState(value),
327
+ selected_old = _s[0],
328
+ selectedItem = _s[1];
329
+ var searchRef = react_1.default.useRef(null);
330
+ var _t = (0, react_1.useState)(''),
331
+ search = _t[0],
332
+ setSearch = _t[1];
267
333
  // Modal 模式相关状态
268
- const [internalModalVisible, setInternalModalVisible] = (0, _react.useState)(false);
269
- const [dropdownPosition, setDropdownPosition] = (0, _react.useState)({
270
- top: 0,
271
- left: 0
272
- });
273
- const [dropdownWidthCalc, setDropdownWidthCalc] = (0, _react.useState)(subWidth ?? 151);
274
- const [selectedItemKey, setSelectedItemKey] = (0, _react.useState)(selected ?? "");
275
- const [top, setTop] = (0, _react.useState)(18);
276
- const [optionListHeight, setOptionListHeight] = (0, _react.useState)(0);
277
- const buttonRef = (0, _react.useRef)(null);
278
- const topAnim = (0, _react.useRef)(new _reactNative.Animated.Value(18)).current;
279
- const offsetSpace = 8;
280
- const offsetHeight = 10;
281
- (0, _react.useEffect)(() => {
334
+ var _u = (0, react_1.useState)(false),
335
+ internalModalVisible = _u[0],
336
+ setInternalModalVisible = _u[1];
337
+ var _v = (0, react_1.useState)({
338
+ top: 0,
339
+ left: 0
340
+ }),
341
+ dropdownPosition = _v[0],
342
+ setDropdownPosition = _v[1];
343
+ var _w = (0, react_1.useState)(subWidth !== null && subWidth !== void 0 ? subWidth : 151),
344
+ dropdownWidthCalc = _w[0],
345
+ setDropdownWidthCalc = _w[1];
346
+ var _x = (0, react_1.useState)(selected !== null && selected !== void 0 ? selected : ""),
347
+ selectedItemKey = _x[0],
348
+ setSelectedItemKey = _x[1];
349
+ var _y = (0, react_1.useState)(18),
350
+ top = _y[0],
351
+ setTop = _y[1];
352
+ var _z = (0, react_1.useState)(0),
353
+ optionListHeight = _z[0],
354
+ setOptionListHeight = _z[1];
355
+ var buttonRef = (0, react_1.useRef)(null);
356
+ var topAnim = (0, react_1.useRef)(new react_native_1.Animated.Value(18)).current;
357
+ var offsetSpace = 8;
358
+ var offsetHeight = 10;
359
+ (0, react_1.useEffect)(function () {
282
360
  selectedItem(value);
283
361
  }, [value]);
284
-
285
362
  // Modal 模式相关 useEffect
286
- (0, _react.useEffect)(() => {
287
- setSelectedItemKey(selected ?? "");
363
+ (0, react_1.useEffect)(function () {
364
+ setSelectedItemKey(selected !== null && selected !== void 0 ? selected : "");
288
365
  }, [selected]);
289
- (0, _react.useEffect)(() => {
366
+ (0, react_1.useEffect)(function () {
290
367
  if (typeof modalVisible === "boolean" && modalVisible !== undefined) {
291
368
  setInternalModalVisible(modalVisible);
292
369
  }
293
370
  }, [modalVisible]);
294
-
295
371
  // 标签动画效果
296
- (0, _react.useEffect)(() => {
372
+ (0, react_1.useEffect)(function () {
297
373
  if (!useModal || noLabelAnim) return;
298
- const start = !selectedItemKey ? 0 : 18;
299
- const target = !selectedItemKey ? 18 : 0;
374
+ var start = !selectedItemKey ? 0 : 18;
375
+ var target = !selectedItemKey ? 18 : 0;
300
376
  if (top === target) return;
301
377
  setTop(target);
302
378
  topAnim.setValue(start);
303
- _reactNative.Animated.timing(topAnim, {
379
+ react_native_1.Animated.timing(topAnim, {
304
380
  toValue: target,
305
381
  duration: 300,
306
382
  useNativeDriver: true
307
383
  }).start();
308
384
  }, [selectedItemKey, useModal, noLabelAnim]);
309
- const handleStopEvent = event => {
385
+ var handleStopEvent = function (event) {
310
386
  event.stopPropagation();
311
387
  };
312
- const updateSearch = search => {
388
+ var updateSearch = function (search) {
313
389
  setSearch(search);
314
390
  onSearchChange && onSearchChange(search);
315
391
  };
316
-
317
392
  // Modal 模式下的弹出逻辑
318
- const openDropdown = () => {
393
+ var openDropdown = function () {
319
394
  if (props.disabled) return;
320
395
  if (buttonRef.current) {
321
- buttonRef.current.measure((_fx, _fy, width, height, px, py) => {
322
- const window = _reactNative.Dimensions.get("window");
323
- const dropdownHeight = subHeight ?? Math.min(40 * dropdownItems.length + 24, 224);
324
- const dropdownWidth = Math.max(width, subWidth ?? 151);
396
+ buttonRef.current.measure(function (_fx, _fy, width, height, px, py) {
397
+ var window = react_native_1.Dimensions.get("window");
398
+ var dropdownHeight = subHeight !== null && subHeight !== void 0 ? subHeight : Math.min(40 * dropdownItems.length + 24, 224);
399
+ var dropdownWidth = Math.max(width, subWidth !== null && subWidth !== void 0 ? subWidth : 151);
325
400
  setDropdownWidthCalc(dropdownWidth);
326
-
327
401
  // 计算显示位置
328
- const enoughSpaceBelow = py + height + dropdownHeight + offsetHeight <= window.height;
329
- const enoughSpaceAbove = py - dropdownHeight >= 0;
330
- const enoughSpaceRight = px + dropdownWidth <= window.width;
331
- const adjustedPx = px % window.width + (px > window.width ? 56 : 0) + offsetWidth;
332
- const top = enoughSpaceBelow ? py + height + offsetSpace : enoughSpaceAbove ? py - dropdownHeight - offsetHeight - 16 : py + height + offsetSpace;
333
- const left = enoughSpaceRight ? adjustedPx : adjustedPx + width - dropdownWidth;
402
+ var enoughSpaceBelow = py + height + dropdownHeight + offsetHeight <= window.height;
403
+ var enoughSpaceAbove = py - dropdownHeight >= 0;
404
+ var enoughSpaceRight = px + dropdownWidth <= window.width;
405
+ var adjustedPx = px % window.width + (px > window.width ? 56 : 0) + offsetWidth;
406
+ var top = enoughSpaceBelow ? py + height + offsetSpace : enoughSpaceAbove ? py - dropdownHeight - offsetHeight - 16 : py + height + offsetSpace;
407
+ var left = enoughSpaceRight ? adjustedPx : adjustedPx + width - dropdownWidth;
334
408
  setDropdownPosition({
335
- top,
336
- left
409
+ top: top,
410
+ left: left
337
411
  });
338
412
  if (setModalVisible) {
339
413
  setModalVisible(true);
@@ -343,38 +417,35 @@ const Dropdown = ({
343
417
  });
344
418
  }
345
419
  };
346
- const closeModal = () => {
420
+ var closeModal = function () {
347
421
  if (setModalVisible) {
348
422
  setModalVisible(false);
349
423
  } else {
350
424
  setInternalModalVisible(false);
351
425
  }
352
426
  };
353
- const handleConLayout = event => {
354
- const {
355
- height
356
- } = event.nativeEvent.layout;
427
+ var handleConLayout = function (event) {
428
+ var height = event.nativeEvent.layout.height;
357
429
  setOptionListHeight(height);
358
430
  };
359
-
360
431
  // 如果使用 Modal 模式,渲染新的 Modal 界面
361
432
  if (useModal) {
362
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
433
+ return react_1.default.createElement(react_native_1.View, {
363
434
  style: [styles.modalContainer, width ? {
364
435
  width: width
365
436
  } : null, {
366
437
  minHeight: 40 + (label ? 7 : 0) + (showStateMsg ? 15 : 0)
367
438
  }]
368
- }, label && !noLabelAnim && /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
439
+ }, label && !noLabelAnim && react_1.default.createElement(react_native_1.Animated.View, {
369
440
  style: [styles.labelCon, {
370
441
  top: topAnim
371
442
  }, {
372
443
  backgroundColor: backgroundColor || theme.theme.colors.white
373
444
  }]
374
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
445
+ }, react_1.default.createElement(react_native_1.Pressable, {
375
446
  style: styles.labelInner,
376
447
  onPress: openDropdown
377
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
448
+ }, react_1.default.createElement(react_native_1.Text, {
378
449
  style: [styles.labelText, state === "error" && {
379
450
  color: theme.theme.colors.error
380
451
  }, !selectedItemKey && {
@@ -384,9 +455,9 @@ const Dropdown = ({
384
455
  }],
385
456
  numberOfLines: 1,
386
457
  ellipsizeMode: "tail"
387
- }, !selectedItemKey ? props.placeholder || label : label), required && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
458
+ }, !selectedItemKey ? props.placeholder || label : label), required && react_1.default.createElement(react_native_1.Text, {
388
459
  style: styles.required
389
- }, "*"))), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
460
+ }, "*"))), react_1.default.createElement(react_native_1.TouchableOpacity, {
390
461
  ref: buttonRef,
391
462
  style: [showSelectedValue || noLabelAnim && label ? styles.modalBtn : null, dropdownType === "solid" ? styles.modalSolidBtn : null, dropdownType === "solid" && radius ? {
392
463
  borderRadius: radius
@@ -395,7 +466,7 @@ const Dropdown = ({
395
466
  label && !noLabelAnim ? {
396
467
  marginTop: 7
397
468
  } : null, noLabelAnim && label && backgroundColor ? {
398
- backgroundColor
469
+ backgroundColor: backgroundColor
399
470
  } : null, state === "error" ? {
400
471
  borderColor: theme.theme.colors.error
401
472
  } : null, props.disabled ? {
@@ -407,7 +478,7 @@ const Dropdown = ({
407
478
  }],
408
479
  disabled: props.disabled,
409
480
  onPress: openDropdown
410
- }, showSelectedValue ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
481
+ }, showSelectedValue ? react_1.default.createElement(react_native_1.Text, {
411
482
  style: [styles.alignCenter, {
412
483
  flexGrow: 1,
413
484
  marginRight: 12
@@ -416,7 +487,9 @@ const Dropdown = ({
416
487
  }],
417
488
  numberOfLines: 1,
418
489
  ellipsizeMode: "tail"
419
- }, dropdownItems.find(item => item.key === selectedItemKey)?.value) : noLabelAnim && label ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
490
+ }, (_b = dropdownItems.find(function (item) {
491
+ return item.key === selectedItemKey;
492
+ })) === null || _b === void 0 ? void 0 : _b.value) : noLabelAnim && label ? react_1.default.createElement(react_native_1.Text, {
420
493
  style: [styles.alignCenter, {
421
494
  flexGrow: 1,
422
495
  marginRight: 2
@@ -427,31 +500,31 @@ const Dropdown = ({
427
500
  } : null],
428
501
  numberOfLines: 1,
429
502
  ellipsizeMode: "tail"
430
- }, label) : null, /*#__PURE__*/_react.default.createElement(_TapasIcon.default, {
503
+ }, label) : null, react_1.default.createElement(TapasIcon_1.default, {
431
504
  size: 20,
432
505
  style: [styles.alignCenter, styles.modalIcon, iconStyle, props.disabled && {
433
506
  color: theme.theme.colors.grey3
434
507
  }],
435
508
  name: internalModalVisible && props.icon === "arrow_drop_down" ? "arrow_drop_up" : props.icon === "arrow_drop_up" ? "arrow_drop_down" : props.icon || "arrow_drop_down"
436
- })), showStateMsg && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
509
+ })), showStateMsg && react_1.default.createElement(react_native_1.View, {
437
510
  style: styles.msg
438
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
511
+ }, react_1.default.createElement(react_native_1.Text, {
439
512
  style: [styles.msgText, state === "error" && {
440
513
  color: theme.theme.colors.error
441
514
  }],
442
515
  numberOfLines: 1,
443
516
  ellipsizeMode: "tail"
444
- }, stateMsg)), /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
517
+ }, stateMsg)), react_1.default.createElement(react_native_1.Modal, {
445
518
  transparent: true,
446
519
  visible: internalModalVisible,
447
520
  onRequestClose: closeModal,
448
521
  animationType: "fade"
449
- }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
522
+ }, react_1.default.createElement(react_native_1.TouchableOpacity, {
450
523
  style: {
451
524
  flex: 1
452
525
  },
453
526
  onPress: closeModal
454
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
527
+ }, react_1.default.createElement(react_native_1.View, {
455
528
  style: [styles.modalOptionsCon, {
456
529
  top: dropdownPosition.top,
457
530
  left: dropdownPosition.left,
@@ -460,189 +533,84 @@ const Dropdown = ({
460
533
  maxHeight: subHeight
461
534
  } : null],
462
535
  onLayout: handleConLayout
463
- }, customPopoverContent ? customPopoverContent : /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
536
+ }, customPopoverContent ? customPopoverContent : react_1.default.createElement(react_native_1.ScrollView, {
464
537
  style: styles.modalOptionsScrollView,
465
538
  showsHorizontalScrollIndicator: false,
466
539
  showsVerticalScrollIndicator: false
467
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
540
+ }, react_1.default.createElement(react_native_1.View, {
468
541
  style: styles.modalOptionsInner
469
- }, dropdownItems.length > 0 ? dropdownItems.map((item, index) => /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
470
- style: ({
471
- pressed
472
- }) => [styles.modalOption, item.secondaryValue ? {
473
- flexWrap: "wrap"
474
- } : null, {
475
- padding: 10,
476
- backgroundColor: pressed ? theme.theme.colors.grey4 || "#f0f0f0" : "transparent"
477
- },
478
- // 第一个 item 添加左上和右上圆角
479
- index === 0 && {
480
- borderTopLeftRadius: 12,
481
- borderTopRightRadius: 12
482
- },
483
- // 最后一个 item 添加左下和右下圆角
484
- index === dropdownItems.length - 1 && {
485
- borderBottomLeftRadius: 12,
486
- borderBottomRightRadius: 12
487
- }, showCheckedStatusInList && selectedItemKey === item.key ? {
488
- backgroundColor: theme.theme.colors.grey4 || "#f0f0f0"
489
- } : null],
490
- key: `dropdown-option-${item.key}-${index}`,
491
- onPress: () => {
492
- closeModal();
493
- if (onSelect) {
494
- onSelect(item);
495
- } else {
496
- setSelectedItemKey(item.key);
542
+ }, dropdownItems.length > 0 ? dropdownItems.map(function (item, index) {
543
+ return react_1.default.createElement(react_native_1.Pressable, {
544
+ style: function (_a) {
545
+ var pressed = _a.pressed;
546
+ return [styles.modalOption, item.secondaryValue ? {
547
+ flexWrap: "wrap"
548
+ } : null, {
549
+ padding: 10,
550
+ backgroundColor: pressed ? theme.theme.colors.grey4 || "#f0f0f0" : "transparent"
551
+ },
552
+ // 第一个 item 添加左上和右上圆角
553
+ index === 0 && {
554
+ borderTopLeftRadius: 12,
555
+ borderTopRightRadius: 12
556
+ },
557
+ // 最后一个 item 添加左下和右下圆角
558
+ index === dropdownItems.length - 1 && {
559
+ borderBottomLeftRadius: 12,
560
+ borderBottomRightRadius: 12
561
+ }, showCheckedStatusInList && selectedItemKey === item.key ? {
562
+ backgroundColor: theme.theme.colors.grey4 || "#f0f0f0"
563
+ } : null];
564
+ },
565
+ key: "dropdown-option-".concat(item.key, "-").concat(index),
566
+ onPress: function () {
567
+ closeModal();
568
+ if (onSelect) {
569
+ onSelect(item);
570
+ } else {
571
+ setSelectedItemKey(item.key);
572
+ }
497
573
  }
498
- }
499
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
500
- style: {
501
- display: "flex",
502
- flexDirection: "row",
503
- justifyContent: "space-between",
504
- overflow: "hidden",
505
- width: "100%"
506
- }
507
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
508
- style: [styles.modalOptionText],
509
- numberOfLines: 1,
510
- ellipsizeMode: "tail"
511
- }, item.value), selectedItemKey === item.key && /*#__PURE__*/_react.default.createElement(_TapasIcon.default, {
512
- name: "check",
513
- size: 20,
514
- color: theme.theme.colors.primary
515
- })), item.secondaryValue && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
516
- style: {
517
- display: "flex",
518
- flexDirection: "row",
519
- flex: 1,
520
- height: 14,
521
- overflow: "hidden",
522
- minWidth: dropdownWidthCalc - 32
523
- }
524
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
525
- style: [styles.modalOptionText, {
526
- fontSize: 12,
527
- color: theme.theme.colors.secondary
528
- }],
529
- numberOfLines: 1,
530
- ellipsizeMode: "tail"
531
- }, item.secondaryValue)))) : /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
574
+ }, react_1.default.createElement(react_native_1.View, {
575
+ style: {
576
+ display: "flex",
577
+ flexDirection: "row",
578
+ justifyContent: "space-between",
579
+ overflow: "hidden",
580
+ width: "100%"
581
+ }
582
+ }, react_1.default.createElement(react_native_1.Text, {
583
+ style: [styles.modalOptionText],
584
+ numberOfLines: 1,
585
+ ellipsizeMode: "tail"
586
+ }, item.value), selectedItemKey === item.key && react_1.default.createElement(TapasIcon_1.default, {
587
+ name: "check",
588
+ size: 20,
589
+ color: theme.theme.colors.primary
590
+ })), item.secondaryValue && react_1.default.createElement(react_native_1.View, {
591
+ style: {
592
+ display: "flex",
593
+ flexDirection: "row",
594
+ flex: 1,
595
+ height: 14,
596
+ overflow: "hidden",
597
+ minWidth: dropdownWidthCalc - 32
598
+ }
599
+ }, react_1.default.createElement(react_native_1.Text, {
600
+ style: [styles.modalOptionText, {
601
+ fontSize: 12,
602
+ color: theme.theme.colors.secondary
603
+ }],
604
+ numberOfLines: 1,
605
+ ellipsizeMode: "tail"
606
+ }, item.secondaryValue)));
607
+ }) : react_1.default.createElement(react_native_1.Text, {
532
608
  numberOfLines: 1,
533
609
  ellipsizeMode: "tail",
534
610
  style: [styles.modalOptionText, styles.modalNoOptions]
535
- }, emptyText || "No options")))), extendBtn && /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
536
- onPress: () => {
611
+ }, emptyText || "No options")))), extendBtn && react_1.default.createElement(react_native_1.Pressable, {
612
+ onPress: function () {
537
613
  closeModal();
538
- setTimeout(() => {
539
- onExtendBtnPress?.();
540
- }, 300);
541
- },
542
- style: [styles.extendBtnCon, {
543
- left: dropdownPosition.left,
544
- top: dropdownPosition.top + optionListHeight + 8,
545
- width: dropdownWidthCalc
546
- }]
547
- }, extendBtnIcon && /*#__PURE__*/_react.default.createElement(_TapasIcon.default, {
548
- size: 20,
549
- name: extendBtnIcon
550
- }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
551
- style: styles.extendBtnText,
552
- numberOfLines: 1,
553
- ellipsizeMode: "tail"
554
- }, extendBtn)))));
555
- }
556
-
557
- // 原有的 CustomDropdown 模式
558
- return /*#__PURE__*/_react.default.createElement(_CustomDropdown.default, _extends({
559
- title: props?.title,
560
- value: `${prefix}${selected_old?.name}`,
561
- isVisible: isVisible,
562
- width: width,
563
- subWidth: subWidth,
564
- subHeight: subHeight,
565
- testID: testID
566
- }, props, {
567
- onClose: () => {
568
- props.onClose && props.onClose();
569
- },
570
- onPress: () => {
571
- props.onPress && props.onPress();
572
- },
573
- sheetTitlePros: {
574
- ...props.sheetTitlePros,
575
- onClose: () => {
576
- props.onClose && props.onClose();
577
- }
578
- }
579
- }), /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
580
- onPress: handleStopEvent
581
- }, props.showSearchBar && /*#__PURE__*/_react.default.createElement(_themed.SearchBar, {
582
- ref: search => searchRef.current = search,
583
- containerStyle: {
584
- ...styles.searchBarContainer,
585
- borderEndWidth: 1,
586
- borderTopWidth: 0,
587
- borderRightWidth: 0,
588
- width: subWidth
589
- },
590
- inputContainerStyle: styles.inputContainer,
591
- placeholder: props.placeholder,
592
- onChangeText: updateSearch,
593
- inputStyle: {
594
- ...styles.inputStyle
595
- },
596
- leftIconContainerStyle: styles.leftIconContainer,
597
- value: search,
598
- lightTheme: true,
599
- searchIcon: /*#__PURE__*/_react.default.createElement(_TapasIcon.default, {
600
- name: "search",
601
- style: styles.iconStyle,
602
- size: 20
603
- }),
604
- clearIcon: /*#__PURE__*/_react.default.createElement(_TapasIcon.default, {
605
- name: "close",
606
- onPress: () => {
607
- const search = searchRef.current;
608
- if (search) {
609
- search.clear();
610
- search.blur();
611
- }
612
- },
613
- size: 20
614
- })
615
- })), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
616
- style: {
617
- width: subWidth,
618
- height: subHeight
619
- }
620
- }, options?.map((item, index) => {
621
- const visibleItems = options.filter(item => !item.hide);
622
- const currentVisibleIndex = visibleItems.findIndex(visibleItem => visibleItem === item);
623
- const isFirst = currentVisibleIndex === 0;
624
- const isLast = currentVisibleIndex === visibleItems.length - 1;
625
- return !item.hide && /*#__PURE__*/_react.default.createElement(_ListItem.default, {
626
- onItemPress: value => {
627
- if (type === 'button') {
628
- props.onItemPress && props.onItemPress(item.value);
629
- } else {
630
- selectedItem(value);
631
- onChange && onChange(value);
632
- }
633
- props.onClose && props.onClose();
634
- },
635
- key: index,
636
- item: item,
637
- selected: selected_old,
638
- isFirst: isFirst,
639
- isLast: isLast
640
- });
641
- })));
642
- };
643
- var _default = exports.default = (0, _themed.withTheme)(Dropdown); // 向后兼容的别名导出
644
- const TapasDropdownModal = exports.TapasDropdownModal = (0, _themed.withTheme)(Dropdown);
645
- //# sourceMappingURL=Dropdown.js.map closeModal();
646
614
  setTimeout(function () {
647
615
  onExtendBtnPress === null || onExtendBtnPress === void 0 ? void 0 : onExtendBtnPress();
648
616
  }, 300);