taro-uno-ui 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +67 -30
  2. package/dist/js/{index-CDFsvu80.js → index-QpKiGsEQ.js} +39026 -28023
  3. package/dist/js/index-QpKiGsEQ.js.map +1 -0
  4. package/dist/js/{index-JffnTUrv.js → index-nnTHNhwl.js} +38743 -27720
  5. package/dist/js/index-nnTHNhwl.js.map +1 -0
  6. package/package.json +4 -4
  7. package/dist/js/index-CDFsvu80.js.map +0 -1
  8. package/dist/js/index-DFdcksbe.js +0 -1165
  9. package/dist/js/index-DFdcksbe.js.map +0 -1
  10. package/dist/js/index-DXRIkWX1.js +0 -1148
  11. package/dist/js/index-DXRIkWX1.js.map +0 -1
  12. package/dist/js/index-JffnTUrv.js.map +0 -1
  13. package/dist/utils/http/request.d.ts +0 -280
  14. package/src/app.config.ts +0 -55
  15. package/src/app.scss +0 -508
  16. package/src/app.tsx +0 -44
  17. package/src/components/basic/Button/Button.styles.ts +0 -130
  18. package/src/components/basic/Button/Button.test.tsx +0 -154
  19. package/src/components/basic/Button/Button.tsx +0 -133
  20. package/src/components/basic/Button/Button.types.ts +0 -81
  21. package/src/components/basic/Button/index.tsx +0 -6
  22. package/src/components/basic/Divider/Divider.styles.ts +0 -488
  23. package/src/components/basic/Divider/Divider.test.tsx +0 -551
  24. package/src/components/basic/Divider/Divider.tsx +0 -392
  25. package/src/components/basic/Divider/Divider.types.ts +0 -261
  26. package/src/components/basic/Divider/index.tsx +0 -25
  27. package/src/components/basic/Icon/Icon.data.ts +0 -474
  28. package/src/components/basic/Icon/Icon.styles.ts +0 -359
  29. package/src/components/basic/Icon/Icon.test.tsx +0 -357
  30. package/src/components/basic/Icon/Icon.tsx +0 -167
  31. package/src/components/basic/Icon/Icon.types.ts +0 -210
  32. package/src/components/basic/Icon/IconManager.ts +0 -229
  33. package/src/components/basic/Icon/index.tsx +0 -22
  34. package/src/components/basic/Text/Text.styles.ts +0 -500
  35. package/src/components/basic/Text/Text.test.tsx +0 -299
  36. package/src/components/basic/Text/Text.tsx +0 -340
  37. package/src/components/basic/Text/Text.types.ts +0 -329
  38. package/src/components/basic/Text/index.tsx +0 -27
  39. package/src/components/basic/Typography/Typography.styles.ts +0 -347
  40. package/src/components/basic/Typography/Typography.tsx +0 -207
  41. package/src/components/basic/Typography/Typography.types.ts +0 -296
  42. package/src/components/basic/Typography/index.tsx +0 -14
  43. package/src/components/basic/Video/Video.styles.ts +0 -777
  44. package/src/components/basic/Video/Video.test.tsx +0 -490
  45. package/src/components/basic/Video/Video.tsx +0 -1468
  46. package/src/components/basic/Video/Video.types.ts +0 -500
  47. package/src/components/basic/Video/index.tsx +0 -26
  48. package/src/components/basic/index.tsx +0 -300
  49. package/src/components/common/ErrorBoundary.tsx +0 -87
  50. package/src/components/common/LazyComponent.tsx +0 -247
  51. package/src/components/common/ResponsiveContainer.tsx +0 -93
  52. package/src/components/common/ResponsiveGrid.tsx +0 -183
  53. package/src/components/common/SecurityProvider.tsx +0 -98
  54. package/src/components/common/ThemeProvider.tsx +0 -115
  55. package/src/components/common/VirtualList.tsx +0 -350
  56. package/src/components/common/__tests__/ErrorBoundary.test.tsx +0 -249
  57. package/src/components/common/index.tsx +0 -32
  58. package/src/components/display/Avatar/Avatar.styles.ts +0 -62
  59. package/src/components/display/Avatar/Avatar.test.tsx +0 -390
  60. package/src/components/display/Avatar/Avatar.tsx +0 -66
  61. package/src/components/display/Avatar/Avatar.types.ts +0 -40
  62. package/src/components/display/Avatar/index.ts +0 -3
  63. package/src/components/display/Badge/Badge.tsx +0 -29
  64. package/src/components/display/Badge/Badge.types.ts +0 -29
  65. package/src/components/display/Badge/index.ts +0 -2
  66. package/src/components/display/Calendar/Calendar.styles.ts +0 -255
  67. package/src/components/display/Calendar/Calendar.test.tsx +0 -42
  68. package/src/components/display/Calendar/Calendar.tsx +0 -358
  69. package/src/components/display/Calendar/Calendar.types.ts +0 -91
  70. package/src/components/display/Calendar/index.ts +0 -3
  71. package/src/components/display/Card/Card.styles.ts +0 -89
  72. package/src/components/display/Card/Card.test.tsx +0 -182
  73. package/src/components/display/Card/Card.tsx +0 -135
  74. package/src/components/display/Card/Card.types.ts +0 -55
  75. package/src/components/display/Card/index.ts +0 -3
  76. package/src/components/display/Carousel/Carousel.styles.ts +0 -206
  77. package/src/components/display/Carousel/Carousel.tsx +0 -290
  78. package/src/components/display/Carousel/Carousel.types.ts +0 -57
  79. package/src/components/display/Carousel/index.ts +0 -3
  80. package/src/components/display/List/List.styles.ts +0 -79
  81. package/src/components/display/List/List.tsx +0 -114
  82. package/src/components/display/List/List.types.ts +0 -68
  83. package/src/components/display/List/index.ts +0 -3
  84. package/src/components/display/Rate/Rate.styles.ts +0 -254
  85. package/src/components/display/Rate/Rate.tsx +0 -324
  86. package/src/components/display/Rate/Rate.types.ts +0 -112
  87. package/src/components/display/Rate/index.ts +0 -20
  88. package/src/components/display/Table/Table.styles.ts +0 -269
  89. package/src/components/display/Table/Table.test.tsx +0 -345
  90. package/src/components/display/Table/Table.tsx +0 -426
  91. package/src/components/display/Table/Table.types.ts +0 -256
  92. package/src/components/display/Table/index.tsx +0 -16
  93. package/src/components/display/Tag/Tag.styles.ts +0 -197
  94. package/src/components/display/Tag/Tag.test.tsx +0 -541
  95. package/src/components/display/Tag/Tag.tsx +0 -139
  96. package/src/components/display/Tag/Tag.types.ts +0 -49
  97. package/src/components/display/Tag/index.ts +0 -3
  98. package/src/components/display/Timeline/Timeline.styles.ts +0 -211
  99. package/src/components/display/Timeline/Timeline.tsx +0 -220
  100. package/src/components/display/Timeline/Timeline.types.ts +0 -56
  101. package/src/components/display/Timeline/index.ts +0 -3
  102. package/src/components/display/index.tsx +0 -147
  103. package/src/components/feedback/Loading/Loading.styles.ts +0 -117
  104. package/src/components/feedback/Loading/Loading.test.tsx +0 -534
  105. package/src/components/feedback/Loading/Loading.tsx +0 -132
  106. package/src/components/feedback/Loading/Loading.types.ts +0 -33
  107. package/src/components/feedback/Loading/index.ts +0 -6
  108. package/src/components/feedback/Message/Message.styles.ts +0 -41
  109. package/src/components/feedback/Message/Message.test.tsx +0 -234
  110. package/src/components/feedback/Message/Message.tsx +0 -96
  111. package/src/components/feedback/Message/Message.types.ts +0 -37
  112. package/src/components/feedback/Message/index.ts +0 -6
  113. package/src/components/feedback/Modal/Modal.styles.ts +0 -21
  114. package/src/components/feedback/Modal/Modal.test.tsx +0 -11
  115. package/src/components/feedback/Modal/Modal.tsx +0 -269
  116. package/src/components/feedback/Modal/Modal.types.ts +0 -151
  117. package/src/components/feedback/Modal/index.tsx +0 -11
  118. package/src/components/feedback/Notification/Notification.styles.ts +0 -453
  119. package/src/components/feedback/Notification/Notification.test.tsx +0 -401
  120. package/src/components/feedback/Notification/Notification.tsx +0 -347
  121. package/src/components/feedback/Notification/Notification.types.ts +0 -339
  122. package/src/components/feedback/Notification/NotificationManager.tsx +0 -405
  123. package/src/components/feedback/Notification/index.ts +0 -40
  124. package/src/components/feedback/Notification/index.tsx +0 -154
  125. package/src/components/feedback/Progress/Progress.styles.ts +0 -469
  126. package/src/components/feedback/Progress/Progress.test.simple.tsx +0 -14
  127. package/src/components/feedback/Progress/Progress.test.tsx +0 -312
  128. package/src/components/feedback/Progress/Progress.tsx +0 -488
  129. package/src/components/feedback/Progress/Progress.types.ts +0 -163
  130. package/src/components/feedback/Progress/index.ts +0 -3
  131. package/src/components/feedback/Progress/index.tsx +0 -38
  132. package/src/components/feedback/Progress/utils/animation.ts +0 -193
  133. package/src/components/feedback/Progress/utils/index.ts +0 -26
  134. package/src/components/feedback/Progress/utils/progress-calculator.ts +0 -199
  135. package/src/components/feedback/Result/Result.styles.ts +0 -139
  136. package/src/components/feedback/Result/Result.tsx +0 -221
  137. package/src/components/feedback/Result/Result.types.ts +0 -128
  138. package/src/components/feedback/Result/index.tsx +0 -3
  139. package/src/components/feedback/Toast/Toast.styles.ts +0 -17
  140. package/src/components/feedback/Toast/Toast.test.tsx +0 -10
  141. package/src/components/feedback/Toast/Toast.tsx +0 -384
  142. package/src/components/feedback/Toast/Toast.types.ts +0 -86
  143. package/src/components/feedback/Toast/index.tsx +0 -3
  144. package/src/components/feedback/Tooltip/Tooltip.examples.tsx +0 -435
  145. package/src/components/feedback/Tooltip/Tooltip.styles.ts +0 -340
  146. package/src/components/feedback/Tooltip/Tooltip.test.tsx +0 -446
  147. package/src/components/feedback/Tooltip/Tooltip.tsx +0 -302
  148. package/src/components/feedback/Tooltip/Tooltip.types.ts +0 -166
  149. package/src/components/feedback/Tooltip/index.ts +0 -3
  150. package/src/components/feedback/Tooltip/index.tsx +0 -246
  151. package/src/components/feedback/index.tsx +0 -176
  152. package/src/components/form/Cascader/Cascader.styles.ts +0 -526
  153. package/src/components/form/Cascader/Cascader.test.tsx +0 -77
  154. package/src/components/form/Cascader/Cascader.tsx +0 -581
  155. package/src/components/form/Cascader/Cascader.types.ts +0 -581
  156. package/src/components/form/Cascader/hooks/index.ts +0 -3
  157. package/src/components/form/Cascader/hooks/useCascaderFieldNames.ts +0 -19
  158. package/src/components/form/Cascader/hooks/useCascaderOptions.ts +0 -127
  159. package/src/components/form/Cascader/hooks/useCascaderState.ts +0 -139
  160. package/src/components/form/Cascader/index.ts +0 -25
  161. package/src/components/form/Cascader/utils/formatDisplayValue.ts +0 -19
  162. package/src/components/form/Cascader/utils/index.ts +0 -1
  163. package/src/components/form/Checkbox/Checkbox.styles.ts +0 -607
  164. package/src/components/form/Checkbox/Checkbox.test.tsx +0 -1140
  165. package/src/components/form/Checkbox/Checkbox.tsx +0 -489
  166. package/src/components/form/Checkbox/Checkbox.types.ts +0 -472
  167. package/src/components/form/Checkbox/CheckboxGroup.tsx +0 -444
  168. package/src/components/form/Checkbox/index.tsx +0 -27
  169. package/src/components/form/DatePicker/DatePicker.styles.ts +0 -393
  170. package/src/components/form/DatePicker/DatePicker.test.tsx +0 -407
  171. package/src/components/form/DatePicker/DatePicker.tsx +0 -376
  172. package/src/components/form/DatePicker/DatePicker.types.ts +0 -250
  173. package/src/components/form/DatePicker/index.tsx +0 -15
  174. package/src/components/form/Form/Form.styles.ts +0 -357
  175. package/src/components/form/Form/Form.test.tsx +0 -122
  176. package/src/components/form/Form/Form.tsx +0 -257
  177. package/src/components/form/Form/Form.types.ts +0 -422
  178. package/src/components/form/Form/index.tsx +0 -31
  179. package/src/components/form/Form/useFormLogic.ts +0 -497
  180. package/src/components/form/Input/Input.styles.ts +0 -445
  181. package/src/components/form/Input/Input.test.tsx +0 -494
  182. package/src/components/form/Input/Input.tsx +0 -305
  183. package/src/components/form/Input/Input.types.ts +0 -297
  184. package/src/components/form/Input/index.tsx +0 -26
  185. package/src/components/form/Input/useInputLogic.test.ts +0 -82
  186. package/src/components/form/Input/useInputLogic.ts +0 -260
  187. package/src/components/form/InputNumber/InputNumber.styles.ts +0 -716
  188. package/src/components/form/InputNumber/InputNumber.tsx +0 -402
  189. package/src/components/form/InputNumber/InputNumber.types.ts +0 -336
  190. package/src/components/form/InputNumber/components/InputNumberClearButton.tsx +0 -24
  191. package/src/components/form/InputNumber/components/InputNumberControls.tsx +0 -33
  192. package/src/components/form/InputNumber/components/index.ts +0 -2
  193. package/src/components/form/InputNumber/hooks/index.ts +0 -4
  194. package/src/components/form/InputNumber/hooks/useInputNumberState.ts +0 -313
  195. package/src/components/form/InputNumber/hooks/useInputNumberValidation.ts +0 -148
  196. package/src/components/form/InputNumber/index.ts +0 -25
  197. package/src/components/form/Radio/Radio.styles.ts +0 -451
  198. package/src/components/form/Radio/Radio.test.tsx +0 -547
  199. package/src/components/form/Radio/Radio.tsx +0 -277
  200. package/src/components/form/Radio/Radio.types.ts +0 -414
  201. package/src/components/form/Radio/index.tsx +0 -21
  202. package/src/components/form/Select/Select.styles.ts +0 -518
  203. package/src/components/form/Select/Select.test.tsx +0 -648
  204. package/src/components/form/Select/Select.tsx +0 -474
  205. package/src/components/form/Select/Select.types.ts +0 -429
  206. package/src/components/form/Select/index.tsx +0 -30
  207. package/src/components/form/Slider/Slider.styles.ts +0 -139
  208. package/src/components/form/Slider/Slider.test.tsx +0 -553
  209. package/src/components/form/Slider/Slider.tsx +0 -312
  210. package/src/components/form/Slider/Slider.types.ts +0 -110
  211. package/src/components/form/Slider/index.tsx +0 -3
  212. package/src/components/form/Switch/Switch.styles.ts +0 -534
  213. package/src/components/form/Switch/Switch.test.tsx +0 -345
  214. package/src/components/form/Switch/Switch.tsx +0 -458
  215. package/src/components/form/Switch/Switch.types.ts +0 -386
  216. package/src/components/form/Switch/index.tsx +0 -26
  217. package/src/components/form/Textarea/Textarea.styles.ts +0 -592
  218. package/src/components/form/Textarea/Textarea.test.tsx +0 -1075
  219. package/src/components/form/Textarea/Textarea.tsx +0 -608
  220. package/src/components/form/Textarea/Textarea.types.ts +0 -374
  221. package/src/components/form/Textarea/index.tsx +0 -26
  222. package/src/components/form/TimePicker/TimePicker.styles.ts +0 -434
  223. package/src/components/form/TimePicker/TimePicker.test.tsx +0 -306
  224. package/src/components/form/TimePicker/TimePicker.tsx +0 -250
  225. package/src/components/form/TimePicker/TimePicker.types.ts +0 -385
  226. package/src/components/form/TimePicker/index.ts +0 -21
  227. package/src/components/form/Transfer/Transfer.styles.ts +0 -490
  228. package/src/components/form/Transfer/Transfer.test.tsx +0 -316
  229. package/src/components/form/Transfer/Transfer.tsx +0 -414
  230. package/src/components/form/Transfer/Transfer.types.ts +0 -565
  231. package/src/components/form/Transfer/components/TransferItem.tsx +0 -94
  232. package/src/components/form/Transfer/components/TransferList.tsx +0 -298
  233. package/src/components/form/Transfer/components/TransferOperations.tsx +0 -81
  234. package/src/components/form/Transfer/components/TransferPagination.tsx +0 -139
  235. package/src/components/form/Transfer/components/TransferSearch.tsx +0 -85
  236. package/src/components/form/Transfer/components/index.ts +0 -6
  237. package/src/components/form/Transfer/hooks/index.ts +0 -3
  238. package/src/components/form/Transfer/hooks/useTransferData.ts +0 -202
  239. package/src/components/form/Transfer/hooks/useTransferState.ts +0 -120
  240. package/src/components/form/Transfer/index.ts +0 -27
  241. package/src/components/form/Upload/Upload.styles.ts +0 -145
  242. package/src/components/form/Upload/Upload.test.tsx +0 -10
  243. package/src/components/form/Upload/Upload.tsx +0 -498
  244. package/src/components/form/Upload/Upload.types.ts +0 -200
  245. package/src/components/form/Upload/index.tsx +0 -12
  246. package/src/components/form/index.tsx +0 -152
  247. package/src/components/index.tsx +0 -145
  248. package/src/components/layout/Affix/Affix.styles.ts +0 -42
  249. package/src/components/layout/Affix/Affix.test.tsx +0 -10
  250. package/src/components/layout/Affix/Affix.tsx +0 -83
  251. package/src/components/layout/Affix/Affix.types.ts +0 -29
  252. package/src/components/layout/Affix/index.tsx +0 -3
  253. package/src/components/layout/Col/Col.styles.ts +0 -185
  254. package/src/components/layout/Col/Col.test.tsx +0 -537
  255. package/src/components/layout/Col/Col.tsx +0 -97
  256. package/src/components/layout/Col/Col.types.ts +0 -59
  257. package/src/components/layout/Col/index.tsx +0 -3
  258. package/src/components/layout/Container/Container.styles.ts +0 -163
  259. package/src/components/layout/Container/Container.test.tsx +0 -380
  260. package/src/components/layout/Container/Container.tsx +0 -123
  261. package/src/components/layout/Container/Container.types.ts +0 -63
  262. package/src/components/layout/Container/index.tsx +0 -3
  263. package/src/components/layout/Grid/Grid.styles.ts +0 -183
  264. package/src/components/layout/Grid/Grid.test.tsx +0 -637
  265. package/src/components/layout/Grid/Grid.tsx +0 -123
  266. package/src/components/layout/Grid/Grid.types.ts +0 -78
  267. package/src/components/layout/Grid/index.tsx +0 -3
  268. package/src/components/layout/Layout/Content.tsx +0 -30
  269. package/src/components/layout/Layout/Footer.tsx +0 -30
  270. package/src/components/layout/Layout/Header.tsx +0 -30
  271. package/src/components/layout/Layout/Layout.styles.ts +0 -84
  272. package/src/components/layout/Layout/Layout.test.tsx +0 -10
  273. package/src/components/layout/Layout/Layout.tsx +0 -28
  274. package/src/components/layout/Layout/Layout.types.ts +0 -58
  275. package/src/components/layout/Layout/Sider.tsx +0 -44
  276. package/src/components/layout/Layout/index.tsx +0 -22
  277. package/src/components/layout/Row/Row.styles.ts +0 -159
  278. package/src/components/layout/Row/Row.test.tsx +0 -467
  279. package/src/components/layout/Row/Row.tsx +0 -111
  280. package/src/components/layout/Row/Row.types.ts +0 -60
  281. package/src/components/layout/Row/index.tsx +0 -3
  282. package/src/components/layout/Space/Space.styles.ts +0 -255
  283. package/src/components/layout/Space/Space.test.tsx +0 -682
  284. package/src/components/layout/Space/Space.tsx +0 -203
  285. package/src/components/layout/Space/Space.types.ts +0 -92
  286. package/src/components/layout/Space/index.tsx +0 -12
  287. package/src/components/layout/index.tsx +0 -78
  288. package/src/components/navigation/Menu/Menu.constants.ts +0 -69
  289. package/src/components/navigation/Menu/Menu.stories.tsx +0 -107
  290. package/src/components/navigation/Menu/Menu.styles.ts +0 -767
  291. package/src/components/navigation/Menu/Menu.tsx +0 -352
  292. package/src/components/navigation/Menu/Menu.types.ts +0 -231
  293. package/src/components/navigation/Menu/Menu.utils.ts +0 -187
  294. package/src/components/navigation/Menu/MenuItem.tsx +0 -124
  295. package/src/components/navigation/Menu/SubMenu.tsx +0 -150
  296. package/src/components/navigation/Menu/index.tsx +0 -59
  297. package/src/components/navigation/NavBar/NavBar.styles.ts +0 -129
  298. package/src/components/navigation/NavBar/NavBar.test.tsx +0 -287
  299. package/src/components/navigation/NavBar/NavBar.tsx +0 -228
  300. package/src/components/navigation/NavBar/NavBar.types.ts +0 -54
  301. package/src/components/navigation/NavBar/index.tsx +0 -3
  302. package/src/components/navigation/Pagination/Pagination.styles.ts +0 -187
  303. package/src/components/navigation/Pagination/Pagination.test.tsx +0 -672
  304. package/src/components/navigation/Pagination/Pagination.tsx +0 -395
  305. package/src/components/navigation/Pagination/Pagination.types.ts +0 -87
  306. package/src/components/navigation/Pagination/index.ts +0 -24
  307. package/src/components/navigation/Pagination/index.tsx +0 -9
  308. package/src/components/navigation/Steps/Step.tsx +0 -36
  309. package/src/components/navigation/Steps/Steps.styles.ts +0 -169
  310. package/src/components/navigation/Steps/Steps.test.tsx +0 -14
  311. package/src/components/navigation/Steps/Steps.tsx +0 -112
  312. package/src/components/navigation/Steps/Steps.types.ts +0 -47
  313. package/src/components/navigation/Steps/index.tsx +0 -3
  314. package/src/components/navigation/Tabs/Tabs.styles.ts +0 -199
  315. package/src/components/navigation/Tabs/Tabs.test.tsx +0 -662
  316. package/src/components/navigation/Tabs/Tabs.tsx +0 -253
  317. package/src/components/navigation/Tabs/Tabs.types.ts +0 -115
  318. package/src/components/navigation/Tabs/index.tsx +0 -3
  319. package/src/components/navigation/index.tsx +0 -88
  320. package/src/constants/index.ts +0 -785
  321. package/src/hooks/index.ts +0 -60
  322. package/src/hooks/types.ts +0 -9
  323. package/src/hooks/useAsync.ts +0 -64
  324. package/src/hooks/useClickOutside.ts +0 -52
  325. package/src/hooks/useCounter.ts +0 -87
  326. package/src/hooks/useDebounce.ts +0 -150
  327. package/src/hooks/useDeepCompareEffect.ts +0 -88
  328. package/src/hooks/useEventHandling.ts +0 -444
  329. package/src/hooks/useEventListener.ts +0 -77
  330. package/src/hooks/useLifecycle.ts +0 -399
  331. package/src/hooks/useMediaQuery.ts +0 -75
  332. package/src/hooks/useMutation.ts +0 -233
  333. package/src/hooks/usePerformance.ts +0 -378
  334. package/src/hooks/usePerformanceMonitor.ts +0 -348
  335. package/src/hooks/usePlatform.ts +0 -64
  336. package/src/hooks/usePrevious.ts +0 -25
  337. package/src/hooks/useRequest.test.ts +0 -11
  338. package/src/hooks/useRequest.ts +0 -140
  339. package/src/hooks/useStateManagement.ts +0 -300
  340. package/src/hooks/useStorage.ts +0 -169
  341. package/src/hooks/useStyle.ts +0 -543
  342. package/src/hooks/useTheme.ts +0 -347
  343. package/src/hooks/useToggle.ts +0 -54
  344. package/src/hooks/useVirtualScroll.ts +0 -331
  345. package/src/index.ts +0 -323
  346. package/src/platform/index.ts +0 -1188
  347. package/src/providers/AppProvider.test.tsx +0 -63
  348. package/src/providers/AppProvider.tsx +0 -155
  349. package/src/providers/index.ts +0 -1
  350. package/src/theme/ThemeProvider.tsx +0 -279
  351. package/src/theme/ThemeProvider.types.ts +0 -26
  352. package/src/theme/animations.tsx +0 -660
  353. package/src/theme/defaults.ts +0 -188
  354. package/src/theme/design-system.ts +0 -562
  355. package/src/theme/design-tokens.ts +0 -1122
  356. package/src/theme/generated/dark-theme.scss +0 -120
  357. package/src/theme/generated/tokens.css +0 -441
  358. package/src/theme/generated/tokens.scss +0 -384
  359. package/src/theme/index.ts +0 -99
  360. package/src/theme/responsive.tsx +0 -195
  361. package/src/theme/styles/mixins.scss +0 -612
  362. package/src/theme/styles/variables.scss +0 -295
  363. package/src/theme/styles.ts +0 -403
  364. package/src/theme/tokens/colors.ts +0 -256
  365. package/src/theme/tokens/effects.ts +0 -260
  366. package/src/theme/tokens/index.ts +0 -217
  367. package/src/theme/tokens/spacing.ts +0 -137
  368. package/src/theme/tokens/typography.ts +0 -186
  369. package/src/theme/types.ts +0 -188
  370. package/src/theme/useThemeUtils.ts +0 -313
  371. package/src/theme/utils.ts +0 -501
  372. package/src/theme/variables.ts +0 -602
  373. package/src/types/accessibility.ts +0 -50
  374. package/src/types/button.ts +0 -560
  375. package/src/types/component-props.ts +0 -322
  376. package/src/types/env.d.ts +0 -20
  377. package/src/types/glob.d.ts +0 -4
  378. package/src/types/index.ts +0 -427
  379. package/src/types/modules.d.ts +0 -40
  380. package/src/types/standardized-components.ts +0 -550
  381. package/src/types/taro-adapter.d.ts +0 -174
  382. package/src/types/taro-components.d.ts +0 -73
  383. package/src/types/utils.ts +0 -400
  384. package/src/utils/__tests__/inputValidator.test.ts +0 -338
  385. package/src/utils/__tests__/responsiveUtils.test.ts +0 -311
  386. package/src/utils/__tests__/xssProtection.test.ts +0 -268
  387. package/src/utils/abort-controller.ts +0 -48
  388. package/src/utils/cache.ts +0 -79
  389. package/src/utils/createNamespace.ts +0 -24
  390. package/src/utils/environment.ts +0 -115
  391. package/src/utils/error-handler.ts +0 -88
  392. package/src/utils/errorLogger.ts +0 -193
  393. package/src/utils/formatUtils.ts +0 -412
  394. package/src/utils/http/error-codes.ts +0 -314
  395. package/src/utils/http/http-client.test.ts +0 -63
  396. package/src/utils/http/http-client.ts +0 -161
  397. package/src/utils/http/request-cache.ts +0 -127
  398. package/src/utils/http/request.ts +0 -954
  399. package/src/utils/http/taro-adapter.test.ts +0 -74
  400. package/src/utils/http/taro-adapter.ts +0 -24
  401. package/src/utils/http/types.ts +0 -414
  402. package/src/utils/http/web-adapter.ts +0 -33
  403. package/src/utils/index.ts +0 -112
  404. package/src/utils/inputValidator.ts +0 -264
  405. package/src/utils/performance/performance.ts +0 -839
  406. package/src/utils/responsiveUtils.ts +0 -348
  407. package/src/utils/rtl-support.ts +0 -354
  408. package/src/utils/security/api-security.ts +0 -394
  409. package/src/utils/security/xss-protection.ts +0 -69
  410. package/src/utils/securityHeaders.ts +0 -308
  411. package/src/utils/typeHelpers.ts +0 -16
  412. package/src/utils/types/dataProcessing.ts +0 -544
  413. package/src/utils/types/typeHelpers.ts +0 -197
  414. package/src/utils/xssProtection.ts +0 -468
@@ -1,767 +0,0 @@
1
- import type { CSSProperties } from 'react';
2
- import type { MenuItemStyles } from './Menu.types';
3
-
4
- /** Menu组件样式配置接口 */
5
- interface MenuStyleConfig {
6
- /** 基础样式 */
7
- container: CSSProperties;
8
- /** 水平菜单容器 */
9
- horizontalContainer: CSSProperties;
10
- /** 菜单项基础样式 */
11
- item: CSSProperties;
12
- /** 选中状态 */
13
- selected: CSSProperties;
14
- /** 禁用状态 */
15
- disabled: CSSProperties;
16
- /** 悬停状态 */
17
- hover: CSSProperties;
18
- /** 危险操作 */
19
- danger: CSSProperties;
20
- /** 危险操作悬停 */
21
- dangerHover: CSSProperties;
22
- /** 子菜单样式 */
23
- subMenu: CSSProperties;
24
- /** 子菜单标题 */
25
- subMenuTitle: CSSProperties;
26
- /** 子菜单内容 */
27
- subMenuContent: CSSProperties;
28
- /** 分组标题 */
29
- groupTitle: CSSProperties;
30
- /** 图标样式 */
31
- icon: CSSProperties;
32
- /** 标签样式 */
33
- label: CSSProperties;
34
- /** 额外信息样式 */
35
- extra: CSSProperties;
36
- /** 徽章样式 */
37
- badge: CSSProperties;
38
- /** 展开图标样式 */
39
- expandIcon: CSSProperties;
40
- /** 展开图标打开状态 */
41
- expandIconOpen: CSSProperties;
42
- /** 折叠按钮样式 */
43
- collapseButton: CSSProperties;
44
- /** 折叠按钮悬停 */
45
- collapseButtonHover: CSSProperties;
46
- /** 分隔线 */
47
- divider: CSSProperties;
48
- /** 暗色主题 */
49
- dark: {
50
- container: CSSProperties;
51
- item: CSSProperties;
52
- selected: CSSProperties;
53
- hover: CSSProperties;
54
- groupTitle: CSSProperties;
55
- subMenuContent: CSSProperties;
56
- };
57
- /** 尺寸变体 */
58
- sizes: {
59
- small: {
60
- item: CSSProperties;
61
- label: CSSProperties;
62
- icon: CSSProperties;
63
- badge: CSSProperties;
64
- };
65
- medium: {
66
- item: CSSProperties;
67
- label: CSSProperties;
68
- icon: CSSProperties;
69
- badge: CSSProperties;
70
- };
71
- large: {
72
- item: CSSProperties;
73
- label: CSSProperties;
74
- icon: CSSProperties;
75
- badge: CSSProperties;
76
- };
77
- };
78
- }
79
-
80
- /** 样式函数接口 */
81
- interface MenuStyleFunctions {
82
- /** 获取尺寸样式 */
83
- getSizeStyles: (size: 'small' | 'medium' | 'large') => MenuItemStyles;
84
- /** 获取主题样式 */
85
- getThemeStyles: (theme: 'light' | 'dark') => MenuItemStyles;
86
- /** 获取模式样式 */
87
- getModeStyles: (mode: 'vertical' | 'horizontal' | 'inline') => MenuItemStyles;
88
- /** 获取菜单项样式 */
89
- getItemStyle: (props: {
90
- size?: 'small' | 'medium' | 'large';
91
- theme?: 'light' | 'dark';
92
- mode?: 'vertical' | 'horizontal' | 'inline';
93
- selected?: boolean;
94
- disabled?: boolean;
95
- danger?: boolean;
96
- isSubMenu?: boolean;
97
- isGroup?: boolean;
98
- level?: number;
99
- collapsed?: boolean;
100
- }) => CSSProperties;
101
- /** 获取子菜单样式 */
102
- getSubMenuStyle: (props: {
103
- size?: 'small' | 'medium' | 'large';
104
- theme?: 'light' | 'dark';
105
- mode?: 'vertical' | 'horizontal' | 'inline';
106
- open?: boolean;
107
- level?: number;
108
- collapsed?: boolean;
109
- }) => CSSProperties;
110
- /** 获取容器样式 */
111
- getContainerStyle: (props: {
112
- mode?: 'vertical' | 'horizontal' | 'inline';
113
- theme?: 'light' | 'dark';
114
- size?: 'small' | 'medium' | 'large';
115
- collapsed?: boolean;
116
- style?: CSSProperties;
117
- }) => CSSProperties;
118
- /** 获取图标样式 */
119
- getIconStyle: (props: {
120
- size?: 'small' | 'medium' | 'large';
121
- selected?: boolean;
122
- disabled?: boolean;
123
- }) => CSSProperties;
124
- /** 获取标签样式 */
125
- getLabelStyle: (props: {
126
- size?: 'small' | 'medium' | 'large';
127
- selected?: boolean;
128
- disabled?: boolean;
129
- danger?: boolean;
130
- }) => CSSProperties;
131
- /** 获取徽章样式 */
132
- getBadgeStyle: (props: { size?: 'small' | 'medium' | 'large'; theme?: 'light' | 'dark' }) => CSSProperties;
133
- /** 获取折叠按钮样式 */
134
- getCollapseButtonStyle: (props: {
135
- size?: 'small' | 'medium' | 'large';
136
- theme?: 'light' | 'dark';
137
- collapsed?: boolean;
138
- }) => CSSProperties;
139
- }
140
-
141
- /** Menu组件样式 */
142
- export type { MenuStyleConfig, MenuStyleFunctions };
143
- export const menuStyles: MenuStyleConfig & MenuStyleFunctions = {
144
- // 基础样式
145
- container: {
146
- display: 'flex',
147
- flexDirection: 'column',
148
- backgroundColor: '#ffffff',
149
- border: '1px solid #e5e7eb',
150
- borderRadius: '6px',
151
- overflow: 'hidden',
152
- transition: 'all 0.3s ease',
153
- },
154
-
155
- // 水平菜单容器
156
- horizontalContainer: {
157
- flexDirection: 'row',
158
- alignItems: 'center',
159
- borderBottom: '1px solid #e5e7eb',
160
- borderRadius: '6px 6px 0 0',
161
- },
162
-
163
- // 菜单项基础样式
164
- item: {
165
- display: 'flex',
166
- alignItems: 'center',
167
- padding: '12px 16px',
168
- cursor: 'pointer',
169
- transition: 'all 0.2s ease',
170
- border: 'none',
171
- background: 'transparent',
172
- textDecoration: 'none',
173
- color: '#374151',
174
- position: 'relative',
175
- minHeight: '40px',
176
- },
177
-
178
- // 选中状态
179
- selected: {
180
- backgroundColor: '#dbeafe',
181
- color: '#1d4ed8',
182
- fontWeight: 500,
183
- },
184
-
185
- // 禁用状态
186
- disabled: {
187
- opacity: 0.5,
188
- cursor: 'not-allowed',
189
- backgroundColor: 'transparent',
190
- color: '#9ca3af',
191
- },
192
-
193
- // 悬停状态
194
- hover: {
195
- backgroundColor: '#f3f4f6',
196
- },
197
-
198
- // 危险操作
199
- danger: {
200
- color: '#ef4444',
201
- },
202
-
203
- dangerHover: {
204
- backgroundColor: '#fef2f2',
205
- color: '#dc2626',
206
- },
207
-
208
- // 子菜单样式
209
- subMenu: {
210
- position: 'relative',
211
- width: '100%',
212
- },
213
-
214
- subMenuTitle: {
215
- display: 'flex',
216
- alignItems: 'center',
217
- justifyContent: 'space-between',
218
- padding: '12px 16px',
219
- cursor: 'pointer',
220
- transition: 'all 0.2s ease',
221
- backgroundColor: 'transparent',
222
- border: 'none',
223
- width: '100%',
224
- minHeight: '40px',
225
- },
226
-
227
- subMenuContent: {
228
- backgroundColor: '#f9fafb',
229
- borderLeft: '1px solid #e5e7eb',
230
- },
231
-
232
- // 分组标题
233
- groupTitle: {
234
- padding: '8px 16px',
235
- fontSize: '12px',
236
- color: '#6b7280',
237
- fontWeight: 600,
238
- textTransform: 'uppercase',
239
- backgroundColor: '#f9fafb',
240
- borderBottom: '1px solid #e5e7eb',
241
- },
242
-
243
- // 图标样式
244
- icon: {
245
- marginRight: '8px',
246
- fontSize: '16px',
247
- minWidth: '16px',
248
- display: 'flex',
249
- alignItems: 'center',
250
- justifyContent: 'center',
251
- },
252
-
253
- // 标签样式
254
- label: {
255
- flex: 1,
256
- fontSize: '14px',
257
- lineHeight: '1.5',
258
- whiteSpace: 'nowrap',
259
- overflow: 'hidden',
260
- textOverflow: 'ellipsis',
261
- },
262
-
263
- // 额外信息样式
264
- extra: {
265
- marginLeft: '8px',
266
- fontSize: '12px',
267
- color: '#6b7280',
268
- },
269
-
270
- // 徽章样式
271
- badge: {
272
- marginLeft: '8px',
273
- backgroundColor: '#ef4444',
274
- color: '#ffffff',
275
- fontSize: '12px',
276
- padding: '2px 6px',
277
- borderRadius: '10px',
278
- minWidth: '16px',
279
- textAlign: 'center',
280
- lineHeight: '1',
281
- },
282
-
283
- // 展开图标样式
284
- expandIcon: {
285
- marginLeft: '8px',
286
- fontSize: '12px',
287
- transition: 'transform 0.2s ease',
288
- },
289
-
290
- expandIconOpen: {
291
- transform: 'rotate(90deg)',
292
- },
293
-
294
- // 折叠按钮样式
295
- collapseButton: {
296
- display: 'flex',
297
- alignItems: 'center',
298
- justifyContent: 'center',
299
- padding: '12px',
300
- cursor: 'pointer',
301
- border: 'none',
302
- background: 'transparent',
303
- color: '#374151',
304
- transition: 'all 0.2s ease',
305
- borderBottom: '1px solid #e5e7eb',
306
- },
307
-
308
- collapseButtonHover: {
309
- backgroundColor: '#f3f4f6',
310
- },
311
-
312
- // 分隔线
313
- divider: {
314
- height: '1px',
315
- backgroundColor: '#e5e7eb',
316
- margin: '4px 0',
317
- },
318
-
319
- // 暗色主题
320
- dark: {
321
- container: {
322
- backgroundColor: '#1f2937',
323
- borderColor: '#374151',
324
- },
325
- item: {
326
- color: '#e5e7eb',
327
- },
328
- selected: {
329
- backgroundColor: '#374151',
330
- color: '#60a5fa',
331
- },
332
- hover: {
333
- backgroundColor: '#374151',
334
- },
335
- groupTitle: {
336
- backgroundColor: '#111827',
337
- color: '#9ca3af',
338
- borderBottomColor: '#374151',
339
- },
340
- subMenuContent: {
341
- backgroundColor: '#111827',
342
- borderLeftColor: '#374151',
343
- },
344
- },
345
-
346
- // 尺寸变体
347
- sizes: {
348
- small: {
349
- item: {
350
- padding: '8px 12px',
351
- minHeight: '32px',
352
- },
353
- label: {
354
- fontSize: '12px',
355
- },
356
- icon: {
357
- fontSize: '14px',
358
- minWidth: '14px',
359
- },
360
- badge: {
361
- fontSize: '10px',
362
- padding: '1px 4px',
363
- minWidth: '14px',
364
- },
365
- },
366
- medium: {
367
- item: {
368
- padding: '12px 16px',
369
- minHeight: '40px',
370
- },
371
- label: {
372
- fontSize: '14px',
373
- },
374
- icon: {
375
- fontSize: '16px',
376
- minWidth: '16px',
377
- },
378
- badge: {
379
- fontSize: '12px',
380
- padding: '2px 6px',
381
- minWidth: '16px',
382
- },
383
- },
384
- large: {
385
- item: {
386
- padding: '16px 20px',
387
- minHeight: '48px',
388
- },
389
- label: {
390
- fontSize: '16px',
391
- },
392
- icon: {
393
- fontSize: '18px',
394
- minWidth: '18px',
395
- },
396
- badge: {
397
- fontSize: '14px',
398
- padding: '3px 8px',
399
- minWidth: '18px',
400
- },
401
- },
402
- },
403
-
404
- // 获取尺寸样式
405
- getSizeStyles: (size: 'small' | 'medium' | 'large'): MenuItemStyles => {
406
- const sizeStyles = menuStyles.sizes[size] || menuStyles.sizes.medium;
407
- return {
408
- container: sizeStyles.item,
409
- item: sizeStyles.item,
410
- selected: sizeStyles.item,
411
- disabled: sizeStyles.item,
412
- hover: sizeStyles.item,
413
- danger: sizeStyles.item,
414
- subMenu: sizeStyles.item,
415
- groupTitle: sizeStyles.item,
416
- icon: sizeStyles.icon,
417
- label: sizeStyles.label,
418
- extra: {},
419
- badge: sizeStyles.badge,
420
- collapseButton: sizeStyles.item,
421
- responsive: {},
422
- };
423
- },
424
-
425
- // 获取主题样式
426
- getThemeStyles: (theme: 'light' | 'dark'): MenuItemStyles => {
427
- const themeStyles = (menuStyles as any)[theme] || menuStyles.dark;
428
- return {
429
- container: themeStyles.container,
430
- item: themeStyles.item,
431
- selected: themeStyles.selected,
432
- disabled: {},
433
- hover: themeStyles.hover,
434
- danger: {},
435
- subMenu: {},
436
- groupTitle: themeStyles.groupTitle,
437
- icon: {},
438
- label: {},
439
- extra: {},
440
- badge: {},
441
- collapseButton: {},
442
- responsive: {},
443
- };
444
- },
445
-
446
- // 获取模式样式
447
- getModeStyles: (mode: 'vertical' | 'horizontal' | 'inline'): MenuItemStyles => {
448
- const modeStyles: Record<string, MenuItemStyles> = {
449
- horizontal: {
450
- container: menuStyles['horizontalContainer'],
451
- item: {
452
- ...menuStyles['item'],
453
- borderRight: '1px solid #e5e7eb',
454
- borderRadius: 0,
455
- },
456
- selected: {
457
- ...menuStyles['selected'],
458
- borderBottom: '2px solid #3b82f6',
459
- },
460
- disabled: {},
461
- hover: {},
462
- danger: {},
463
- subMenu: {},
464
- groupTitle: {},
465
- icon: {},
466
- label: {},
467
- extra: {},
468
- badge: {},
469
- collapseButton: {},
470
- responsive: {},
471
- },
472
- vertical: {
473
- container: menuStyles['container'],
474
- item: menuStyles['item'],
475
- selected: menuStyles['selected'],
476
- disabled: {},
477
- hover: {},
478
- danger: {},
479
- subMenu: {},
480
- groupTitle: {},
481
- icon: {},
482
- label: {},
483
- extra: {},
484
- badge: {},
485
- collapseButton: {},
486
- responsive: {},
487
- },
488
- inline: {
489
- container: menuStyles['container'],
490
- item: menuStyles['item'],
491
- selected: menuStyles['selected'],
492
- disabled: {},
493
- hover: {},
494
- danger: {},
495
- subMenu: {},
496
- groupTitle: {},
497
- icon: {},
498
- label: {},
499
- extra: {},
500
- badge: {},
501
- collapseButton: {},
502
- responsive: {},
503
- },
504
- };
505
-
506
- return (
507
- modeStyles[mode] || {
508
- container: {},
509
- item: {},
510
- selected: {},
511
- disabled: {},
512
- hover: {},
513
- danger: {},
514
- subMenu: {},
515
- groupTitle: {},
516
- icon: {},
517
- label: {},
518
- extra: {},
519
- badge: {},
520
- collapseButton: {},
521
- responsive: {},
522
- }
523
- );
524
- },
525
-
526
- // 获取菜单项样式
527
- getItemStyle: (props: {
528
- size?: 'small' | 'medium' | 'large';
529
- theme?: 'light' | 'dark';
530
- mode?: 'vertical' | 'horizontal' | 'inline';
531
- selected?: boolean;
532
- disabled?: boolean;
533
- danger?: boolean;
534
- isSubMenu?: boolean;
535
- isGroup?: boolean;
536
- level?: number;
537
- collapsed?: boolean;
538
- }): CSSProperties => {
539
- const {
540
- size = 'medium',
541
- theme = 'light',
542
- mode = 'vertical',
543
- selected = false,
544
- disabled = false,
545
- danger = false,
546
- // isSubMenu = false,
547
- isGroup = false,
548
- // level = 0,
549
- collapsed = false,
550
- } = props;
551
-
552
- const sizeStyles = menuStyles.getSizeStyles(size);
553
- const themeStyles = menuStyles.getThemeStyles(theme);
554
- const modeStyles = menuStyles.getModeStyles(mode);
555
-
556
- let style: CSSProperties = {
557
- ...sizeStyles['item'],
558
- ...themeStyles['item'],
559
- ...modeStyles['item'],
560
- };
561
-
562
- // 内联模式的缩进
563
- // if (mode === 'inline' && level > 0) {
564
- // style.paddingLeft = `${16 + level * 24}px`;
565
- // }
566
-
567
- // 选中状态
568
- if (selected) {
569
- style = {
570
- ...style,
571
- ...sizeStyles['selected'],
572
- ...themeStyles['selected'],
573
- ...modeStyles['selected'],
574
- };
575
- }
576
-
577
- // 禁用状态
578
- if (disabled) {
579
- style = {
580
- ...style,
581
- ...sizeStyles['disabled'],
582
- ...themeStyles['disabled'],
583
- ...modeStyles['disabled'],
584
- };
585
- }
586
-
587
- // 危险操作
588
- if (danger) {
589
- style = {
590
- ...style,
591
- ...menuStyles['danger'],
592
- };
593
- }
594
-
595
- // 分组标题
596
- if (isGroup) {
597
- style = {
598
- ...style,
599
- ...sizeStyles['groupTitle'],
600
- ...themeStyles['groupTitle'],
601
- };
602
- }
603
-
604
- // 折叠状态
605
- if (collapsed && mode === 'inline') {
606
- style.paddingLeft = '16px';
607
- style.paddingRight = '16px';
608
- }
609
-
610
- return style;
611
- },
612
-
613
- // 获取子菜单样式
614
- getSubMenuStyle: (props: {
615
- size?: 'small' | 'medium' | 'large';
616
- theme?: 'light' | 'dark';
617
- mode?: 'vertical' | 'horizontal' | 'inline';
618
- open?: boolean;
619
- level?: number;
620
- collapsed?: boolean;
621
- }): CSSProperties => {
622
- const {
623
- // size = 'medium', // Commented out - unused
624
- // theme = 'light', // Commented out - unused
625
- mode = 'vertical',
626
- open = false,
627
- // level = 0, // Commented out - unused
628
- // collapsed = false, // Commented out - unused
629
- } = props;
630
-
631
- // const themeStyles = menuStyles.getThemeStyles(theme); // Commented out - unused
632
-
633
- let style: CSSProperties = {
634
- ...menuStyles['subMenu'],
635
- };
636
-
637
- // 水平模式的子菜单
638
- if (mode === 'horizontal') {
639
- style = {
640
- ...style,
641
- position: 'absolute',
642
- top: '100%',
643
- left: 0,
644
- minWidth: '200px',
645
- boxShadow: '0 4px 6px rgba(0, 0, 0, 0.1)',
646
- zIndex: 1000,
647
- };
648
- }
649
-
650
- // 内联模式的子菜单
651
- if (mode === 'inline') {
652
- style = {
653
- ...style,
654
- backgroundColor: open ? '#f9fafb' : 'transparent',
655
- borderLeft: open ? '1px solid #e5e7eb' : 'none',
656
- };
657
- }
658
-
659
- return style;
660
- },
661
-
662
- // 获取容器样式
663
- getContainerStyle: (props: {
664
- mode?: 'vertical' | 'horizontal' | 'inline';
665
- theme?: 'light' | 'dark';
666
- size?: 'small' | 'medium' | 'large';
667
- collapsed?: boolean;
668
- style?: CSSProperties;
669
- }): CSSProperties => {
670
- const { mode = 'vertical', theme = 'light', size = 'medium', collapsed = false, style = {} } = props;
671
-
672
- const sizeStyles = menuStyles.getSizeStyles(size);
673
- const themeStyles = menuStyles.getThemeStyles(theme);
674
- const modeStyles = menuStyles.getModeStyles(mode);
675
-
676
- return {
677
- ...menuStyles['container'],
678
- ...sizeStyles['container'],
679
- ...themeStyles['container'],
680
- ...modeStyles['container'],
681
- ...style,
682
- width: collapsed && mode === 'inline' ? '80px' : '100%',
683
- };
684
- },
685
-
686
- // 获取图标样式
687
- getIconStyle: (props: {
688
- size?: 'small' | 'medium' | 'large';
689
- selected?: boolean;
690
- disabled?: boolean;
691
- }): CSSProperties => {
692
- const { size = 'medium', selected = false, disabled = false } = props;
693
- const sizeStyles = menuStyles.getSizeStyles(size);
694
-
695
- let style: CSSProperties = {
696
- ...menuStyles['icon'],
697
- ...sizeStyles['icon'],
698
- };
699
-
700
- if (selected) {
701
- style.color = '#1d4ed8';
702
- }
703
-
704
- if (disabled) {
705
- style.opacity = 0.5;
706
- }
707
-
708
- return style;
709
- },
710
-
711
- // 获取标签样式
712
- getLabelStyle: (props: {
713
- size?: 'small' | 'medium' | 'large';
714
- selected?: boolean;
715
- disabled?: boolean;
716
- danger?: boolean;
717
- }): CSSProperties => {
718
- const { size = 'medium', selected = false, disabled = false, danger = false } = props;
719
- const sizeStyles = menuStyles.getSizeStyles(size);
720
-
721
- let style: CSSProperties = {
722
- ...menuStyles['label'],
723
- ...sizeStyles['label'],
724
- };
725
-
726
- if (selected) {
727
- style.color = '#1d4ed8';
728
- style.fontWeight = 500;
729
- }
730
-
731
- if (disabled) {
732
- style.color = '#9ca3af';
733
- }
734
-
735
- if (danger) {
736
- style.color = '#ef4444';
737
- }
738
-
739
- return style;
740
- },
741
-
742
- // 获取徽章样式
743
- getBadgeStyle: (props: { size?: 'small' | 'medium' | 'large'; theme?: 'light' | 'dark' }): CSSProperties => {
744
- const { size = 'medium' } = props;
745
- const sizeStyles = menuStyles.getSizeStyles(size);
746
-
747
- return {
748
- ...menuStyles['badge'],
749
- ...sizeStyles['badge'],
750
- };
751
- },
752
-
753
- // 获取折叠按钮样式
754
- getCollapseButtonStyle: (props: {
755
- size?: 'small' | 'medium' | 'large';
756
- theme?: 'light' | 'dark';
757
- collapsed?: boolean;
758
- }): CSSProperties => {
759
- const { size = 'medium' } = props;
760
- const sizeStyles = menuStyles.getSizeStyles(size);
761
-
762
- return {
763
- ...menuStyles['collapseButton'],
764
- ...sizeStyles['collapseButton'],
765
- };
766
- },
767
- };