taro-uno-ui 0.9.0-beta → 1.0.0

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 (648) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +21 -0
  3. package/dist/app.config.d.ts +38 -0
  4. package/dist/app.d.ts +6 -0
  5. package/dist/components/basic/Button/Button.d.ts +6 -0
  6. package/dist/components/basic/Button/Button.styles.d.ts +2 -0
  7. package/dist/components/basic/Button/Button.types.d.ts +74 -0
  8. package/dist/components/basic/Button/index.d.ts +4 -0
  9. package/dist/components/basic/Divider/Divider.d.ts +6 -0
  10. package/dist/components/basic/Divider/Divider.styles.d.ts +87 -0
  11. package/dist/components/basic/Divider/Divider.types.d.ts +242 -0
  12. package/dist/components/basic/Divider/index.d.ts +6 -0
  13. package/dist/components/basic/Icon/Icon.d.ts +5 -0
  14. package/dist/components/basic/Icon/Icon.data.d.ts +29 -0
  15. package/dist/components/basic/Icon/Icon.styles.d.ts +61 -0
  16. package/dist/components/basic/Icon/Icon.types.d.ts +199 -0
  17. package/dist/components/basic/Icon/IconManager.d.ts +120 -0
  18. package/dist/components/basic/Icon/index.d.ts +6 -0
  19. package/dist/components/basic/Text/Text.d.ts +7 -0
  20. package/dist/components/basic/Text/Text.styles.d.ts +67 -0
  21. package/dist/components/basic/Text/Text.types.d.ts +274 -0
  22. package/dist/components/basic/Text/index.d.ts +5 -0
  23. package/dist/components/basic/Typography/Typography.d.ts +8 -0
  24. package/dist/components/basic/Typography/Typography.styles.d.ts +83 -0
  25. package/dist/components/basic/Typography/Typography.types.d.ts +245 -0
  26. package/dist/components/basic/Typography/index.d.ts +3 -0
  27. package/dist/components/basic/Video/Video.d.ts +7 -0
  28. package/dist/components/basic/Video/Video.styles.d.ts +212 -0
  29. package/dist/components/basic/Video/Video.types.d.ts +447 -0
  30. package/dist/components/basic/Video/index.d.ts +10 -0
  31. package/dist/components/basic/index.d.ts +217 -0
  32. package/dist/components/common/ErrorBoundary.d.ts +19 -0
  33. package/dist/components/common/LazyComponent.d.ts +78 -0
  34. package/dist/components/common/ResponsiveContainer.d.ts +23 -0
  35. package/dist/components/common/ResponsiveGrid.d.ts +44 -0
  36. package/dist/components/common/SecurityProvider.d.ts +15 -0
  37. package/dist/components/common/ThemeProvider.d.ts +17 -0
  38. package/dist/components/common/VirtualList.d.ts +89 -0
  39. package/dist/components/common/index.d.ts +17 -0
  40. package/dist/components/display/Avatar/Avatar.d.ts +3 -0
  41. package/dist/components/display/Avatar/Avatar.styles.d.ts +2 -0
  42. package/dist/components/display/Avatar/Avatar.types.d.ts +37 -0
  43. package/dist/components/display/Avatar/index.d.ts +3 -0
  44. package/dist/components/display/Badge/Badge.d.ts +3 -0
  45. package/dist/components/display/Badge/Badge.types.d.ts +27 -0
  46. package/dist/components/display/Badge/index.d.ts +2 -0
  47. package/dist/components/display/Calendar/Calendar.d.ts +5 -0
  48. package/dist/components/display/Calendar/Calendar.styles.d.ts +2 -0
  49. package/dist/components/display/Calendar/Calendar.types.d.ts +87 -0
  50. package/dist/components/display/Calendar/index.d.ts +3 -0
  51. package/dist/components/display/Card/Card.d.ts +3 -0
  52. package/dist/components/display/Card/Card.styles.d.ts +1 -0
  53. package/dist/components/display/Card/Card.types.d.ts +52 -0
  54. package/dist/components/display/Card/index.d.ts +3 -0
  55. package/dist/components/display/Carousel/Carousel.d.ts +5 -0
  56. package/dist/components/display/Carousel/Carousel.styles.d.ts +2 -0
  57. package/dist/components/display/Carousel/Carousel.types.d.ts +55 -0
  58. package/dist/components/display/Carousel/index.d.ts +3 -0
  59. package/dist/components/display/List/List.d.ts +4 -0
  60. package/dist/components/display/List/List.styles.d.ts +1 -0
  61. package/dist/components/display/List/List.types.d.ts +64 -0
  62. package/dist/components/display/List/index.d.ts +3 -0
  63. package/dist/components/display/Rate/Rate.d.ts +6 -0
  64. package/dist/components/display/Rate/Rate.styles.d.ts +100 -0
  65. package/dist/components/display/Rate/Rate.types.d.ts +105 -0
  66. package/dist/components/display/Rate/index.d.ts +17 -0
  67. package/dist/components/display/Table/Table.d.ts +7 -0
  68. package/dist/components/display/Table/Table.styles.d.ts +84 -0
  69. package/dist/components/display/Table/Table.types.d.ts +251 -0
  70. package/dist/components/display/Table/index.d.ts +4 -0
  71. package/dist/components/display/Tag/Tag.d.ts +5 -0
  72. package/dist/components/display/Tag/Tag.styles.d.ts +2 -0
  73. package/dist/components/display/Tag/Tag.types.d.ts +47 -0
  74. package/dist/components/display/Tag/index.d.ts +3 -0
  75. package/dist/components/display/Timeline/Timeline.d.ts +16 -0
  76. package/dist/components/display/Timeline/Timeline.styles.d.ts +2 -0
  77. package/dist/components/display/Timeline/Timeline.types.d.ts +53 -0
  78. package/dist/components/display/Timeline/index.d.ts +3 -0
  79. package/dist/components/display/index.d.ts +67 -0
  80. package/dist/components/feedback/Loading/Loading.d.ts +4 -0
  81. package/dist/components/feedback/Loading/Loading.styles.d.ts +2 -0
  82. package/dist/components/feedback/Loading/Loading.types.d.ts +29 -0
  83. package/dist/components/feedback/Loading/index.d.ts +4 -0
  84. package/dist/components/feedback/Message/Message.d.ts +4 -0
  85. package/dist/components/feedback/Message/Message.styles.d.ts +34 -0
  86. package/dist/components/feedback/Message/Message.types.d.ts +33 -0
  87. package/dist/components/feedback/Message/index.d.ts +4 -0
  88. package/dist/components/feedback/Modal/Modal.d.ts +8 -0
  89. package/dist/components/feedback/Modal/Modal.styles.d.ts +18 -0
  90. package/dist/components/feedback/Modal/Modal.types.d.ts +143 -0
  91. package/dist/components/feedback/Modal/index.d.ts +3 -0
  92. package/dist/components/feedback/Notification/Notification.d.ts +4 -0
  93. package/dist/components/feedback/Notification/Notification.styles.d.ts +88 -0
  94. package/dist/components/feedback/Notification/Notification.types.d.ts +279 -0
  95. package/dist/components/feedback/Notification/NotificationManager.d.ts +4 -0
  96. package/dist/components/feedback/Notification/index.d.ts +25 -0
  97. package/dist/components/feedback/Progress/Progress.d.ts +4 -0
  98. package/dist/components/feedback/Progress/Progress.styles.d.ts +261 -0
  99. package/dist/components/feedback/Progress/Progress.test.simple.d.ts +2 -0
  100. package/dist/components/feedback/Progress/Progress.types.d.ts +147 -0
  101. package/dist/components/feedback/Progress/index.d.ts +3 -0
  102. package/dist/components/feedback/Progress/utils/animation.d.ts +55 -0
  103. package/dist/components/feedback/Progress/utils/index.d.ts +2 -0
  104. package/dist/components/feedback/Progress/utils/progress-calculator.d.ts +75 -0
  105. package/dist/components/feedback/Result/Result.d.ts +7 -0
  106. package/dist/components/feedback/Result/Result.styles.d.ts +2 -0
  107. package/dist/components/feedback/Result/Result.types.d.ts +66 -0
  108. package/dist/components/feedback/Result/index.d.ts +3 -0
  109. package/dist/components/feedback/Toast/Toast.d.ts +7 -0
  110. package/dist/components/feedback/Toast/Toast.styles.d.ts +14 -0
  111. package/dist/components/feedback/Toast/Toast.types.d.ts +81 -0
  112. package/dist/components/feedback/Toast/index.d.ts +3 -0
  113. package/dist/components/feedback/Tooltip/Tooltip.d.ts +4 -0
  114. package/dist/components/feedback/Tooltip/Tooltip.examples.d.ts +6 -0
  115. package/dist/components/feedback/Tooltip/Tooltip.styles.d.ts +78 -0
  116. package/dist/components/feedback/Tooltip/Tooltip.types.d.ts +130 -0
  117. package/dist/components/feedback/Tooltip/index.d.ts +3 -0
  118. package/dist/components/feedback/index.d.ts +71 -0
  119. package/dist/components/form/Cascader/Cascader.d.ts +7 -0
  120. package/dist/components/form/Cascader/Cascader.styles.d.ts +107 -0
  121. package/dist/components/form/Cascader/Cascader.types.d.ts +418 -0
  122. package/dist/components/form/Cascader/hooks/index.d.ts +3 -0
  123. package/dist/components/form/Cascader/hooks/useCascaderFieldNames.d.ts +12 -0
  124. package/dist/components/form/Cascader/hooks/useCascaderOptions.d.ts +15 -0
  125. package/dist/components/form/Cascader/hooks/useCascaderState.d.ts +23 -0
  126. package/dist/components/form/Cascader/index.d.ts +6 -0
  127. package/dist/components/form/Cascader/utils/formatDisplayValue.d.ts +9 -0
  128. package/dist/components/form/Cascader/utils/index.d.ts +1 -0
  129. package/dist/components/form/Checkbox/Checkbox.d.ts +6 -0
  130. package/dist/components/form/Checkbox/Checkbox.styles.d.ts +111 -0
  131. package/dist/components/form/Checkbox/Checkbox.types.d.ts +473 -0
  132. package/dist/components/form/Checkbox/CheckboxGroup.d.ts +6 -0
  133. package/dist/components/form/Checkbox/index.d.ts +8 -0
  134. package/dist/components/form/DatePicker/DatePicker.d.ts +6 -0
  135. package/dist/components/form/DatePicker/DatePicker.styles.d.ts +99 -0
  136. package/dist/components/form/DatePicker/DatePicker.types.d.ts +236 -0
  137. package/dist/components/form/DatePicker/index.d.ts +3 -0
  138. package/dist/components/form/Form/Form.d.ts +8 -0
  139. package/dist/components/form/Form/Form.styles.d.ts +84 -0
  140. package/dist/components/form/Form/Form.types.d.ts +416 -0
  141. package/dist/components/form/Form/index.d.ts +9 -0
  142. package/dist/components/form/Form/useFormLogic.d.ts +22 -0
  143. package/dist/components/form/Input/Input.d.ts +6 -0
  144. package/dist/components/form/Input/Input.styles.d.ts +61 -0
  145. package/dist/components/form/Input/Input.types.d.ts +294 -0
  146. package/dist/components/form/Input/index.d.ts +8 -0
  147. package/dist/components/form/Input/useInputLogic.d.ts +35 -0
  148. package/dist/components/form/InputNumber/InputNumber.d.ts +6 -0
  149. package/dist/components/form/InputNumber/InputNumber.styles.d.ts +120 -0
  150. package/dist/components/form/InputNumber/InputNumber.types.d.ts +303 -0
  151. package/dist/components/form/InputNumber/components/InputNumberClearButton.d.ts +10 -0
  152. package/dist/components/form/InputNumber/components/InputNumberControls.d.ts +11 -0
  153. package/dist/components/form/InputNumber/components/index.d.ts +2 -0
  154. package/dist/components/form/InputNumber/hooks/index.d.ts +4 -0
  155. package/dist/components/form/InputNumber/hooks/useInputNumberState.d.ts +38 -0
  156. package/dist/components/form/InputNumber/hooks/useInputNumberValidation.d.ts +12 -0
  157. package/dist/components/form/InputNumber/index.d.ts +5 -0
  158. package/dist/components/form/Radio/Radio.d.ts +6 -0
  159. package/dist/components/form/Radio/Radio.styles.d.ts +80 -0
  160. package/dist/components/form/Radio/Radio.types.d.ts +415 -0
  161. package/dist/components/form/Radio/index.d.ts +8 -0
  162. package/dist/components/form/Select/Select.d.ts +6 -0
  163. package/dist/components/form/Select/Select.styles.d.ts +71 -0
  164. package/dist/components/form/Select/Select.types.d.ts +418 -0
  165. package/dist/components/form/Select/index.d.ts +8 -0
  166. package/dist/components/form/Slider/Slider.d.ts +7 -0
  167. package/dist/components/form/Slider/Slider.styles.d.ts +2 -0
  168. package/dist/components/form/Slider/Slider.types.d.ts +85 -0
  169. package/dist/components/form/Slider/index.d.ts +3 -0
  170. package/dist/components/form/Switch/Switch.d.ts +10 -0
  171. package/dist/components/form/Switch/Switch.styles.d.ts +154 -0
  172. package/dist/components/form/Switch/Switch.types.d.ts +351 -0
  173. package/dist/components/form/Switch/index.d.ts +7 -0
  174. package/dist/components/form/Textarea/Textarea.d.ts +6 -0
  175. package/dist/components/form/Textarea/Textarea.styles.d.ts +66 -0
  176. package/dist/components/form/Textarea/Textarea.types.d.ts +348 -0
  177. package/dist/components/form/Textarea/index.d.ts +7 -0
  178. package/dist/components/form/TimePicker/TimePicker.d.ts +6 -0
  179. package/dist/components/form/TimePicker/TimePicker.styles.d.ts +104 -0
  180. package/dist/components/form/TimePicker/TimePicker.types.d.ts +385 -0
  181. package/dist/components/form/TimePicker/index.d.ts +4 -0
  182. package/dist/components/form/Transfer/Transfer.d.ts +7 -0
  183. package/dist/components/form/Transfer/Transfer.styles.d.ts +106 -0
  184. package/dist/components/form/Transfer/Transfer.types.d.ts +384 -0
  185. package/dist/components/form/Transfer/components/TransferItem.d.ts +23 -0
  186. package/dist/components/form/Transfer/components/TransferList.d.ts +55 -0
  187. package/dist/components/form/Transfer/components/TransferOperations.d.ts +21 -0
  188. package/dist/components/form/Transfer/components/TransferPagination.d.ts +19 -0
  189. package/dist/components/form/Transfer/components/TransferSearch.d.ts +21 -0
  190. package/dist/components/form/Transfer/components/index.d.ts +6 -0
  191. package/dist/components/form/Transfer/hooks/index.d.ts +3 -0
  192. package/dist/components/form/Transfer/hooks/useTransferData.d.ts +41 -0
  193. package/dist/components/form/Transfer/hooks/useTransferState.d.ts +21 -0
  194. package/dist/components/form/Transfer/index.d.ts +9 -0
  195. package/dist/components/form/Upload/Upload.d.ts +7 -0
  196. package/dist/components/form/Upload/Upload.styles.d.ts +2 -0
  197. package/dist/components/form/Upload/Upload.types.d.ts +143 -0
  198. package/dist/components/form/Upload/index.d.ts +3 -0
  199. package/dist/components/form/index.d.ts +126 -0
  200. package/dist/components/index.d.ts +122 -0
  201. package/dist/components/layout/Affix/Affix.d.ts +4 -0
  202. package/dist/components/layout/Affix/Affix.styles.d.ts +1669 -0
  203. package/dist/components/layout/Affix/Affix.types.d.ts +25 -0
  204. package/dist/components/layout/Affix/index.d.ts +3 -0
  205. package/dist/components/layout/Col/Col.d.ts +6 -0
  206. package/dist/components/layout/Col/Col.styles.d.ts +52 -0
  207. package/dist/components/layout/Col/Col.types.d.ts +54 -0
  208. package/dist/components/layout/Col/index.d.ts +3 -0
  209. package/dist/components/layout/Container/Container.d.ts +6 -0
  210. package/dist/components/layout/Container/Container.styles.d.ts +41 -0
  211. package/dist/components/layout/Container/Container.types.d.ts +59 -0
  212. package/dist/components/layout/Container/index.d.ts +3 -0
  213. package/dist/components/layout/Grid/Grid.d.ts +6 -0
  214. package/dist/components/layout/Grid/Grid.styles.d.ts +60 -0
  215. package/dist/components/layout/Grid/Grid.types.d.ts +68 -0
  216. package/dist/components/layout/Grid/index.d.ts +3 -0
  217. package/dist/components/layout/Layout/Content.d.ts +4 -0
  218. package/dist/components/layout/Layout/Footer.d.ts +4 -0
  219. package/dist/components/layout/Layout/Header.d.ts +4 -0
  220. package/dist/components/layout/Layout/Layout.d.ts +4 -0
  221. package/dist/components/layout/Layout/Layout.styles.d.ts +3366 -0
  222. package/dist/components/layout/Layout/Layout.types.d.ts +48 -0
  223. package/dist/components/layout/Layout/Sider.d.ts +4 -0
  224. package/dist/components/layout/Layout/index.d.ts +8 -0
  225. package/dist/components/layout/Row/Row.d.ts +6 -0
  226. package/dist/components/layout/Row/Row.styles.d.ts +55 -0
  227. package/dist/components/layout/Row/Row.types.d.ts +51 -0
  228. package/dist/components/layout/Row/index.d.ts +3 -0
  229. package/dist/components/layout/Space/Space.d.ts +6 -0
  230. package/dist/components/layout/Space/Space.styles.d.ts +69 -0
  231. package/dist/components/layout/Space/Space.types.d.ts +84 -0
  232. package/dist/components/layout/Space/index.d.ts +3 -0
  233. package/dist/components/layout/index.d.ts +39 -0
  234. package/dist/components/navigation/Menu/Menu.constants.d.ts +59 -0
  235. package/dist/components/navigation/Menu/Menu.d.ts +10 -0
  236. package/dist/components/navigation/Menu/Menu.stories.d.ts +157 -0
  237. package/dist/components/navigation/Menu/Menu.styles.d.ts +143 -0
  238. package/dist/components/navigation/Menu/Menu.types.d.ts +210 -0
  239. package/dist/components/navigation/Menu/Menu.utils.d.ts +54 -0
  240. package/dist/components/navigation/Menu/MenuItem.d.ts +32 -0
  241. package/dist/components/navigation/Menu/SubMenu.d.ts +41 -0
  242. package/dist/components/navigation/Menu/index.d.ts +54 -0
  243. package/dist/components/navigation/NavBar/NavBar.d.ts +7 -0
  244. package/dist/components/navigation/NavBar/NavBar.styles.d.ts +114 -0
  245. package/dist/components/navigation/NavBar/NavBar.types.d.ts +50 -0
  246. package/dist/components/navigation/NavBar/index.d.ts +3 -0
  247. package/dist/components/navigation/Pagination/Pagination.d.ts +6 -0
  248. package/dist/components/navigation/Pagination/Pagination.styles.d.ts +55 -0
  249. package/dist/components/navigation/Pagination/Pagination.types.d.ts +77 -0
  250. package/dist/components/navigation/Pagination/index.d.ts +15 -0
  251. package/dist/components/navigation/Steps/Step.d.ts +4 -0
  252. package/dist/components/navigation/Steps/Steps.d.ts +4 -0
  253. package/dist/components/navigation/Steps/Steps.styles.d.ts +6716 -0
  254. package/dist/components/navigation/Steps/Steps.types.d.ts +41 -0
  255. package/dist/components/navigation/Steps/index.d.ts +3 -0
  256. package/dist/components/navigation/Tabs/Tabs.d.ts +6 -0
  257. package/dist/components/navigation/Tabs/Tabs.styles.d.ts +60 -0
  258. package/dist/components/navigation/Tabs/Tabs.types.d.ts +107 -0
  259. package/dist/components/navigation/Tabs/index.d.ts +3 -0
  260. package/dist/components/navigation/index.d.ts +35 -0
  261. package/dist/constants/index.d.ts +624 -0
  262. package/dist/hooks/index.d.ts +28 -0
  263. package/dist/hooks/types.d.ts +7 -0
  264. package/dist/hooks/useAsync.d.ts +17 -0
  265. package/dist/hooks/useClickOutside.d.ts +19 -0
  266. package/dist/hooks/useCounter.d.ts +36 -0
  267. package/dist/hooks/useDebounce.d.ts +31 -0
  268. package/dist/hooks/useDeepCompareEffect.d.ts +22 -0
  269. package/dist/hooks/useEventHandling.d.ts +81 -0
  270. package/dist/hooks/useEventListener.d.ts +19 -0
  271. package/dist/hooks/useLifecycle.d.ts +66 -0
  272. package/dist/hooks/useMediaQuery.d.ts +22 -0
  273. package/dist/hooks/useMutation.d.ts +47 -0
  274. package/dist/hooks/usePerformance.d.ts +73 -0
  275. package/dist/hooks/usePerformanceMonitor.d.ts +66 -0
  276. package/dist/hooks/usePlatform.d.ts +20 -0
  277. package/dist/hooks/usePrevious.d.ts +14 -0
  278. package/dist/hooks/useRequest.d.ts +32 -0
  279. package/dist/hooks/useStateManagement.d.ts +62 -0
  280. package/dist/hooks/useStorage.d.ts +27 -0
  281. package/dist/hooks/useStyle.d.ts +127 -0
  282. package/dist/hooks/useTheme.d.ts +58 -0
  283. package/dist/hooks/useToggle.d.ts +28 -0
  284. package/dist/hooks/useVirtualScroll.d.ts +42 -0
  285. package/dist/index.d.ts +271 -0
  286. package/dist/js/{index-DffLRSro.js → index-CDFsvu80.js} +15369 -10741
  287. package/dist/js/index-CDFsvu80.js.map +1 -0
  288. package/dist/js/index-DFdcksbe.js.map +1 -1
  289. package/dist/js/index-DXRIkWX1.js.map +1 -1
  290. package/dist/js/{index-6NJ3A1Dn.js → index-JffnTUrv.js} +15430 -10801
  291. package/dist/js/index-JffnTUrv.js.map +1 -0
  292. package/dist/platform/index.d.ts +172 -0
  293. package/dist/providers/AppProvider.d.ts +34 -0
  294. package/dist/providers/index.d.ts +1 -0
  295. package/dist/theme/ThemeProvider.d.ts +34 -0
  296. package/dist/theme/ThemeProvider.types.d.ts +21 -0
  297. package/dist/theme/animations.d.ts +96 -0
  298. package/dist/theme/defaults.d.ts +6 -0
  299. package/dist/theme/design-system.d.ts +400 -0
  300. package/dist/theme/design-tokens.d.ts +459 -0
  301. package/dist/theme/index.d.ts +187 -0
  302. package/dist/theme/responsive.d.ts +63 -0
  303. package/dist/theme/styles.d.ts +65 -0
  304. package/dist/theme/tokens/colors.d.ts +72 -0
  305. package/dist/theme/tokens/effects.d.ts +122 -0
  306. package/dist/theme/tokens/index.d.ts +94 -0
  307. package/dist/theme/tokens/spacing.d.ts +65 -0
  308. package/dist/theme/tokens/typography.d.ts +73 -0
  309. package/dist/theme/types.d.ts +153 -0
  310. package/dist/theme/useThemeUtils.d.ts +21 -0
  311. package/dist/theme/utils.d.ts +255 -0
  312. package/dist/theme/variables.d.ts +170 -0
  313. package/dist/types/accessibility.d.ts +46 -0
  314. package/dist/types/button.d.ts +285 -0
  315. package/dist/types/component-props.d.ts +109 -0
  316. package/dist/types/index.d.ts +343 -0
  317. package/dist/types/standardized-components.d.ts +263 -0
  318. package/dist/types/utils.d.ts +190 -0
  319. package/dist/utils/abort-controller.d.ts +19 -0
  320. package/dist/utils/cache.d.ts +28 -0
  321. package/dist/utils/createNamespace.d.ts +9 -0
  322. package/dist/utils/environment.d.ts +26 -0
  323. package/dist/utils/error-handler.d.ts +37 -0
  324. package/dist/utils/errorLogger.d.ts +72 -0
  325. package/dist/utils/formatUtils.d.ts +93 -0
  326. package/dist/utils/http/error-codes.d.ts +131 -0
  327. package/dist/utils/http/http-client.d.ts +53 -0
  328. package/dist/utils/http/request-cache.d.ts +65 -0
  329. package/dist/utils/http/request.d.ts +280 -0
  330. package/dist/utils/http/taro-adapter.d.ts +4 -0
  331. package/dist/utils/http/types.d.ts +351 -0
  332. package/dist/utils/http/web-adapter.d.ts +4 -0
  333. package/dist/utils/index.d.ts +46 -0
  334. package/dist/utils/inputValidator.d.ts +74 -0
  335. package/dist/utils/performance/performance.d.ts +167 -0
  336. package/dist/utils/responsiveUtils.d.ts +148 -0
  337. package/dist/utils/rtl-support.d.ts +78 -0
  338. package/dist/utils/security/api-security.d.ts +82 -0
  339. package/dist/utils/security/xss-protection.d.ts +20 -0
  340. package/dist/utils/securityHeaders.d.ts +74 -0
  341. package/dist/utils/typeHelpers.d.ts +1 -0
  342. package/dist/utils/types/dataProcessing.d.ts +111 -0
  343. package/dist/utils/types/typeHelpers.d.ts +50 -0
  344. package/dist/utils/xssProtection.d.ts +90 -0
  345. package/package.json +15 -13
  346. package/src/components/basic/Button/Button.tsx +53 -13
  347. package/src/components/basic/Button/Button.types.ts +45 -9
  348. package/src/components/basic/Divider/Divider.tsx +60 -29
  349. package/src/components/basic/Icon/Icon.data.ts +474 -0
  350. package/src/components/basic/Icon/Icon.test.tsx +2 -2
  351. package/src/components/basic/Icon/Icon.tsx +48 -35
  352. package/src/components/basic/Icon/IconManager.ts +229 -0
  353. package/src/components/basic/Text/Text.styles.ts +3 -3
  354. package/src/components/basic/Text/Text.types.ts +14 -4
  355. package/src/components/basic/Typography/Typography.styles.ts +10 -9
  356. package/src/components/basic/Typography/Typography.tsx +15 -13
  357. package/src/components/basic/Typography/Typography.types.ts +41 -41
  358. package/src/components/basic/Typography/index.tsx +1 -1
  359. package/src/components/basic/Video/Video.styles.ts +777 -0
  360. package/src/components/basic/Video/Video.test.tsx +490 -0
  361. package/src/components/basic/Video/Video.tsx +1468 -0
  362. package/src/components/basic/Video/Video.types.ts +500 -0
  363. package/src/components/basic/Video/index.tsx +26 -0
  364. package/src/components/basic/index.tsx +13 -15
  365. package/src/components/common/ErrorBoundary.tsx +1 -1
  366. package/src/components/common/LazyComponent.tsx +9 -8
  367. package/src/components/common/SecurityProvider.tsx +2 -14
  368. package/src/components/common/ThemeProvider.tsx +43 -56
  369. package/src/components/common/VirtualList.tsx +187 -205
  370. package/src/components/common/index.tsx +25 -0
  371. package/src/components/display/Avatar/Avatar.styles.ts +1 -1
  372. package/src/components/display/Avatar/Avatar.tsx +6 -19
  373. package/src/components/display/Avatar/Avatar.types.ts +1 -1
  374. package/src/components/display/Avatar/index.ts +1 -1
  375. package/src/components/display/Badge/Badge.tsx +3 -16
  376. package/src/components/display/Badge/Badge.types.ts +1 -1
  377. package/src/components/display/Badge/index.ts +1 -1
  378. package/src/components/display/Calendar/Calendar.styles.ts +36 -36
  379. package/src/components/display/Calendar/Calendar.test.tsx +27 -15
  380. package/src/components/display/Calendar/Calendar.tsx +56 -35
  381. package/src/components/display/Calendar/Calendar.types.ts +1 -1
  382. package/src/components/display/Calendar/index.ts +1 -1
  383. package/src/components/display/Card/Card.styles.ts +2 -2
  384. package/src/components/display/Card/Card.test.tsx +6 -4
  385. package/src/components/display/Card/Card.tsx +1 -1
  386. package/src/components/display/Card/Card.types.ts +4 -4
  387. package/src/components/display/Card/index.ts +1 -1
  388. package/src/components/display/Carousel/Carousel.styles.ts +31 -31
  389. package/src/components/display/Carousel/Carousel.tsx +34 -39
  390. package/src/components/display/Carousel/Carousel.types.ts +1 -1
  391. package/src/components/display/Carousel/index.ts +1 -1
  392. package/src/components/display/List/List.styles.ts +3 -3
  393. package/src/components/display/List/List.tsx +0 -1
  394. package/src/components/display/List/index.ts +1 -1
  395. package/src/components/display/Rate/Rate.styles.ts +5 -17
  396. package/src/components/display/Rate/Rate.tsx +6 -14
  397. package/src/components/display/Rate/Rate.types.ts +4 -3
  398. package/src/components/display/Rate/index.ts +3 -11
  399. package/src/components/display/Table/Table.test.tsx +2 -0
  400. package/src/components/display/Table/Table.tsx +3 -7
  401. package/src/components/display/Table/Table.types.ts +3 -2
  402. package/src/components/display/Tag/Tag.styles.ts +31 -31
  403. package/src/components/display/Tag/Tag.tsx +9 -26
  404. package/src/components/display/Tag/Tag.types.ts +1 -1
  405. package/src/components/display/Tag/index.ts +1 -1
  406. package/src/components/display/Timeline/Timeline.styles.ts +32 -32
  407. package/src/components/display/Timeline/Timeline.tsx +23 -42
  408. package/src/components/display/Timeline/Timeline.types.ts +1 -1
  409. package/src/components/display/Timeline/index.ts +1 -1
  410. package/src/components/display/index.tsx +33 -29
  411. package/src/components/feedback/Loading/Loading.tsx +6 -1
  412. package/src/components/feedback/Loading/index.ts +2 -5
  413. package/src/components/feedback/Message/Message.styles.ts +3 -3
  414. package/src/components/feedback/Message/index.ts +2 -5
  415. package/src/components/feedback/Modal/Modal.styles.ts +1 -1
  416. package/src/components/feedback/Modal/Modal.tsx +9 -31
  417. package/src/components/feedback/Modal/Modal.types.ts +12 -2
  418. package/src/components/feedback/Notification/Notification.styles.ts +49 -39
  419. package/src/components/feedback/Notification/Notification.test.tsx +1 -1
  420. package/src/components/feedback/Notification/Notification.tsx +97 -120
  421. package/src/components/feedback/Notification/Notification.types.ts +11 -8
  422. package/src/components/feedback/Notification/NotificationManager.tsx +135 -106
  423. package/src/components/feedback/Notification/index.ts +10 -3
  424. package/src/components/feedback/Notification/index.tsx +16 -26
  425. package/src/components/feedback/Progress/Progress.styles.ts +23 -14
  426. package/src/components/feedback/Progress/Progress.tsx +93 -113
  427. package/src/components/feedback/Progress/Progress.types.ts +1 -1
  428. package/src/components/feedback/Progress/index.ts +1 -1
  429. package/src/components/feedback/Progress/utils/animation.ts +12 -23
  430. package/src/components/feedback/Progress/utils/index.ts +2 -2
  431. package/src/components/feedback/Progress/utils/progress-calculator.ts +14 -32
  432. package/src/components/feedback/Result/Result.styles.ts +29 -29
  433. package/src/components/feedback/Result/Result.tsx +8 -20
  434. package/src/components/feedback/Result/Result.types.ts +7 -7
  435. package/src/components/feedback/Result/index.tsx +1 -1
  436. package/src/components/feedback/Toast/Toast.styles.ts +1 -1
  437. package/src/components/feedback/Toast/Toast.tsx +25 -13
  438. package/src/components/feedback/Tooltip/Tooltip.examples.tsx +21 -44
  439. package/src/components/feedback/Tooltip/Tooltip.styles.ts +16 -22
  440. package/src/components/feedback/Tooltip/Tooltip.test.tsx +1 -1
  441. package/src/components/feedback/Tooltip/Tooltip.tsx +65 -46
  442. package/src/components/feedback/Tooltip/Tooltip.types.ts +14 -20
  443. package/src/components/feedback/Tooltip/index.ts +1 -1
  444. package/src/components/feedback/Tooltip/index.tsx +12 -24
  445. package/src/components/feedback/index.tsx +54 -42
  446. package/src/components/form/Cascader/Cascader.styles.ts +2 -2
  447. package/src/components/form/Cascader/Cascader.tsx +84 -88
  448. package/src/components/form/Cascader/Cascader.types.ts +49 -50
  449. package/src/components/form/Cascader/hooks/useCascaderFieldNames.ts +11 -8
  450. package/src/components/form/Cascader/hooks/useCascaderOptions.ts +73 -55
  451. package/src/components/form/Cascader/hooks/useCascaderState.ts +31 -25
  452. package/src/components/form/Cascader/index.ts +1 -1
  453. package/src/components/form/Cascader/utils/formatDisplayValue.ts +4 -4
  454. package/src/components/form/Checkbox/Checkbox.styles.ts +83 -84
  455. package/src/components/form/Checkbox/Checkbox.tsx +2 -9
  456. package/src/components/form/Checkbox/CheckboxGroup.tsx +7 -7
  457. package/src/components/form/DatePicker/DatePicker.test.tsx +1 -1
  458. package/src/components/form/DatePicker/DatePicker.tsx +91 -75
  459. package/src/components/form/DatePicker/DatePicker.types.ts +4 -1
  460. package/src/components/form/Form/Form.tsx +66 -504
  461. package/src/components/form/Form/Form.types.ts +16 -1
  462. package/src/components/form/Form/useFormLogic.ts +497 -0
  463. package/src/components/form/Input/Input.styles.ts +8 -1
  464. package/src/components/form/Input/Input.tsx +55 -291
  465. package/src/components/form/Input/Input.types.ts +13 -1
  466. package/src/components/form/Input/useInputLogic.test.ts +82 -0
  467. package/src/components/form/Input/useInputLogic.ts +260 -0
  468. package/src/components/form/InputNumber/InputNumber.styles.ts +76 -25
  469. package/src/components/form/InputNumber/InputNumber.tsx +53 -21
  470. package/src/components/form/InputNumber/InputNumber.types.ts +21 -3
  471. package/src/components/form/InputNumber/components/InputNumberClearButton.tsx +3 -11
  472. package/src/components/form/InputNumber/components/InputNumberControls.tsx +3 -12
  473. package/src/components/form/InputNumber/hooks/index.ts +1 -1
  474. package/src/components/form/InputNumber/hooks/useInputNumberState.ts +7 -9
  475. package/src/components/form/InputNumber/hooks/useInputNumberValidation.ts +18 -17
  476. package/src/components/form/InputNumber/index.ts +7 -7
  477. package/src/components/form/Radio/Radio.styles.ts +1 -8
  478. package/src/components/form/Radio/Radio.tsx +3 -9
  479. package/src/components/form/Radio/Radio.types.ts +5 -1
  480. package/src/components/form/Select/Select.styles.ts +5 -1
  481. package/src/components/form/Select/Select.tsx +15 -15
  482. package/src/components/form/Select/Select.types.ts +2 -1
  483. package/src/components/form/Slider/Slider.styles.ts +13 -13
  484. package/src/components/form/Slider/Slider.tsx +19 -33
  485. package/src/components/form/Slider/Slider.types.ts +14 -12
  486. package/src/components/form/Slider/index.tsx +2 -9
  487. package/src/components/form/Switch/Switch.styles.ts +1 -7
  488. package/src/components/form/Switch/Switch.tsx +7 -13
  489. package/src/components/form/Textarea/Textarea.styles.ts +4 -4
  490. package/src/components/form/Textarea/Textarea.tsx +7 -1
  491. package/src/components/form/Textarea/Textarea.types.ts +4 -1
  492. package/src/components/form/TimePicker/TimePicker.styles.ts +8 -12
  493. package/src/components/form/TimePicker/TimePicker.tsx +122 -100
  494. package/src/components/form/TimePicker/TimePicker.types.ts +2 -2
  495. package/src/components/form/TimePicker/index.ts +1 -1
  496. package/src/components/form/Transfer/Transfer.styles.ts +3 -15
  497. package/src/components/form/Transfer/Transfer.tsx +146 -134
  498. package/src/components/form/Transfer/Transfer.types.ts +34 -26
  499. package/src/components/form/Transfer/components/TransferItem.tsx +55 -62
  500. package/src/components/form/Transfer/components/TransferList.tsx +212 -199
  501. package/src/components/form/Transfer/components/TransferOperations.tsx +52 -55
  502. package/src/components/form/Transfer/components/TransferPagination.tsx +115 -111
  503. package/src/components/form/Transfer/components/TransferSearch.tsx +52 -55
  504. package/src/components/form/Transfer/hooks/useTransferData.ts +91 -81
  505. package/src/components/form/Transfer/hooks/useTransferState.ts +22 -16
  506. package/src/components/form/Transfer/index.ts +2 -8
  507. package/src/components/form/Upload/Upload.styles.ts +21 -21
  508. package/src/components/form/Upload/Upload.tsx +189 -142
  509. package/src/components/form/Upload/Upload.types.ts +31 -31
  510. package/src/components/form/Upload/index.tsx +1 -1
  511. package/src/components/form/index.tsx +60 -29
  512. package/src/components/index.tsx +0 -1
  513. package/src/components/layout/Affix/Affix.styles.ts +16 -11
  514. package/src/components/layout/Affix/Affix.tsx +67 -75
  515. package/src/components/layout/Affix/Affix.types.ts +18 -18
  516. package/src/components/layout/Affix/index.tsx +1 -1
  517. package/src/components/layout/Col/Col.styles.ts +17 -17
  518. package/src/components/layout/Col/Col.test.tsx +7 -5
  519. package/src/components/layout/Col/Col.tsx +3 -21
  520. package/src/components/layout/Col/Col.types.ts +1 -1
  521. package/src/components/layout/Container/Container.styles.ts +3 -1
  522. package/src/components/layout/Container/Container.tsx +2 -11
  523. package/src/components/layout/Grid/Grid.tsx +3 -53
  524. package/src/components/layout/Layout/Content.tsx +24 -32
  525. package/src/components/layout/Layout/Footer.tsx +24 -32
  526. package/src/components/layout/Layout/Header.tsx +24 -32
  527. package/src/components/layout/Layout/Layout.styles.ts +17 -17
  528. package/src/components/layout/Layout/Layout.tsx +14 -25
  529. package/src/components/layout/Layout/Layout.types.ts +29 -29
  530. package/src/components/layout/Layout/Sider.tsx +44 -56
  531. package/src/components/layout/Layout/index.tsx +16 -2
  532. package/src/components/layout/Row/Row.tsx +15 -43
  533. package/src/components/layout/Space/Space.tsx +3 -11
  534. package/src/components/layout/Space/Space.types.ts +1 -1
  535. package/src/components/layout/index.tsx +29 -19
  536. package/src/components/navigation/Menu/Menu.constants.ts +69 -0
  537. package/src/components/navigation/Menu/Menu.stories.tsx +107 -0
  538. package/src/components/navigation/Menu/Menu.styles.ts +25 -37
  539. package/src/components/navigation/Menu/Menu.tsx +8 -11
  540. package/src/components/navigation/Menu/Menu.types.ts +2 -2
  541. package/src/components/navigation/Menu/Menu.utils.ts +17 -17
  542. package/src/components/navigation/Menu/MenuItem.tsx +9 -11
  543. package/src/components/navigation/Menu/SubMenu.tsx +8 -6
  544. package/src/components/navigation/Menu/index.tsx +4 -69
  545. package/src/components/navigation/NavBar/NavBar.styles.ts +1 -1
  546. package/src/components/navigation/NavBar/NavBar.tsx +7 -10
  547. package/src/components/navigation/NavBar/NavBar.types.ts +3 -3
  548. package/src/components/navigation/NavBar/index.tsx +1 -1
  549. package/src/components/navigation/Pagination/Pagination.test.tsx +2 -3
  550. package/src/components/navigation/Pagination/Pagination.tsx +3 -3
  551. package/src/components/navigation/Pagination/Pagination.types.ts +3 -2
  552. package/src/components/navigation/Pagination/index.ts +9 -3
  553. package/src/components/navigation/Steps/Step.tsx +24 -44
  554. package/src/components/navigation/Steps/Steps.styles.ts +28 -13
  555. package/src/components/navigation/Steps/Steps.test.tsx +2 -0
  556. package/src/components/navigation/Steps/Steps.tsx +88 -89
  557. package/src/components/navigation/Steps/Steps.types.ts +30 -30
  558. package/src/components/navigation/Steps/index.tsx +1 -1
  559. package/src/components/navigation/Tabs/Tabs.test.tsx +3 -2
  560. package/src/components/navigation/Tabs/Tabs.types.ts +4 -3
  561. package/src/components/navigation/index.tsx +21 -16
  562. package/src/constants/index.ts +1 -1
  563. package/src/hooks/index.ts +52 -102
  564. package/src/hooks/types.ts +4 -5
  565. package/src/hooks/useAsync.ts +46 -47
  566. package/src/hooks/useClickOutside.ts +52 -0
  567. package/src/hooks/useCounter.ts +87 -0
  568. package/src/hooks/useDebounce.ts +150 -0
  569. package/src/hooks/useDeepCompareEffect.ts +88 -0
  570. package/src/hooks/useEventListener.ts +77 -0
  571. package/src/hooks/useMediaQuery.ts +75 -0
  572. package/src/hooks/useMutation.ts +233 -0
  573. package/src/hooks/usePerformance.ts +1 -64
  574. package/src/hooks/usePlatform.ts +3 -1
  575. package/src/hooks/usePrevious.ts +25 -0
  576. package/src/hooks/useRequest.ts +12 -7
  577. package/src/hooks/useStateManagement.ts +1 -1
  578. package/src/hooks/useStorage.ts +169 -0
  579. package/src/hooks/useStyle.ts +8 -2
  580. package/src/hooks/useToggle.ts +54 -0
  581. package/src/index.ts +34 -9
  582. package/src/theme/ThemeProvider.tsx +3 -7
  583. package/src/theme/ThemeProvider.types.ts +1 -1
  584. package/src/theme/defaults.ts +1 -1
  585. package/src/theme/design-system.ts +2 -2
  586. package/src/theme/design-tokens.ts +85 -99
  587. package/src/theme/generated/dark-theme.scss +1 -1
  588. package/src/theme/generated/tokens.scss +82 -18
  589. package/src/theme/index.ts +8 -29
  590. package/src/theme/responsive.tsx +36 -34
  591. package/src/theme/styles.ts +1 -1
  592. package/src/theme/useThemeUtils.ts +43 -43
  593. package/src/theme/utils.ts +32 -32
  594. package/src/theme/variables.ts +70 -51
  595. package/src/types/accessibility.ts +36 -37
  596. package/src/types/button.ts +25 -27
  597. package/src/types/component-props.ts +6 -1
  598. package/src/types/glob.d.ts +4 -0
  599. package/src/types/index.ts +2 -2
  600. package/src/types/standardized-components.ts +9 -3
  601. package/src/types/utils.ts +13 -23
  602. package/src/utils/__tests__/responsiveUtils.test.ts +5 -4
  603. package/src/utils/abort-controller.ts +48 -0
  604. package/src/utils/cache.ts +2 -6
  605. package/src/utils/createNamespace.ts +4 -4
  606. package/src/utils/environment.ts +26 -6
  607. package/src/utils/error-handler.ts +2 -2
  608. package/src/utils/errorLogger.ts +16 -20
  609. package/src/utils/formatUtils.ts +38 -70
  610. package/src/utils/http/error-codes.ts +314 -0
  611. package/src/utils/http/http-client.test.ts +63 -0
  612. package/src/utils/{network → http}/http-client.ts +45 -35
  613. package/src/utils/http/request-cache.ts +127 -0
  614. package/src/utils/http/request.ts +954 -0
  615. package/src/utils/http/taro-adapter.test.ts +74 -0
  616. package/src/utils/http/taro-adapter.ts +24 -0
  617. package/src/utils/http/types.ts +414 -0
  618. package/src/utils/http/web-adapter.ts +33 -0
  619. package/src/utils/index.ts +5 -8
  620. package/src/utils/inputValidator.ts +17 -14
  621. package/src/utils/performance/performance.ts +60 -71
  622. package/src/utils/responsiveUtils.ts +7 -16
  623. package/src/utils/rtl-support.ts +29 -19
  624. package/src/utils/security/api-security.ts +47 -39
  625. package/src/utils/securityHeaders.ts +61 -67
  626. package/src/utils/typeHelpers.ts +10 -10
  627. package/src/utils/types/dataProcessing.ts +93 -92
  628. package/src/utils/types/typeHelpers.ts +31 -21
  629. package/src/utils/xssProtection.ts +96 -48
  630. package/dist/js/index-6NJ3A1Dn.js.map +0 -1
  631. package/dist/js/index-DffLRSro.js.map +0 -1
  632. package/src/components/form/Input/Input.enhanced.tsx +0 -732
  633. package/src/components/navigation/Menu/__tests__/Menu.test.tsx +0 -687
  634. package/src/components/navigation/Tree/Tree.styles.ts +0 -553
  635. package/src/components/navigation/Tree/Tree.test.basic.tsx +0 -7
  636. package/src/components/navigation/Tree/Tree.test.functional.tsx +0 -496
  637. package/src/components/navigation/Tree/Tree.test.import.check.tsx +0 -6
  638. package/src/components/navigation/Tree/Tree.test.import.tsx +0 -6
  639. package/src/components/navigation/Tree/Tree.test.minimal.tsx +0 -5
  640. package/src/components/navigation/Tree/Tree.test.simple.tsx +0 -30
  641. package/src/components/navigation/Tree/Tree.test.tsx +0 -908
  642. package/src/components/navigation/Tree/Tree.test.working.tsx +0 -673
  643. package/src/components/navigation/Tree/Tree.tsx +0 -600
  644. package/src/components/navigation/Tree/Tree.types.ts +0 -909
  645. package/src/components/navigation/Tree/Tree.utils.ts +0 -452
  646. package/src/components/navigation/Tree/index.ts +0 -33
  647. package/src/components/navigation/Tree/index.tsx +0 -23
  648. package/src/utils/network/http-client.test.ts +0 -18
@@ -0,0 +1,500 @@
1
+ /**
2
+ * Taro-Uno Video Component Types
3
+ * 视频组件类型定义
4
+ */
5
+
6
+ import type { ReactNode } from 'react';
7
+
8
+ /**
9
+ * 视频尺寸
10
+ */
11
+ export enum VideoSize {
12
+ SM = 'sm',
13
+ MD = 'md',
14
+ LG = 'lg',
15
+ XL = 'xl',
16
+ FULL = 'full',
17
+ }
18
+
19
+ /**
20
+ * 视频变体
21
+ */
22
+ export enum VideoVariant {
23
+ DEFAULT = 'default',
24
+ ROUNDED = 'rounded',
25
+ BORDERED = 'bordered',
26
+ SHADOW = 'shadow',
27
+ }
28
+
29
+ /**
30
+ * 视频状态
31
+ */
32
+ export enum VideoStatus {
33
+ IDLE = 'idle',
34
+ PLAYING = 'playing',
35
+ PAUSED = 'paused',
36
+ ENDED = 'ended',
37
+ ERROR = 'error',
38
+ LOADING = 'loading',
39
+ }
40
+
41
+ /**
42
+ * 播放模式
43
+ */
44
+ export enum PlayMode {
45
+ INLINE = 'inline',
46
+ FULLSCREEN = 'fullscreen',
47
+ PICTURE_IN_PICTURE = 'picture-in-picture',
48
+ }
49
+
50
+ /**
51
+ * 循环模式
52
+ */
53
+ export enum LoopMode {
54
+ OFF = 'off',
55
+ ALL = 'all',
56
+ ONE = 'one',
57
+ }
58
+
59
+ /**
60
+ * 播放速率
61
+ */
62
+ export enum PlaybackRate {
63
+ SLOWEST = 0.5,
64
+ SLOW = 0.75,
65
+ NORMAL = 1.0,
66
+ FAST = 1.25,
67
+ FASTER = 1.5,
68
+ FASTEST = 2.0,
69
+ }
70
+
71
+ /**
72
+ * 控制栏位置
73
+ */
74
+ export enum ControlsPosition {
75
+ TOP = 'top',
76
+ BOTTOM = 'bottom',
77
+ BOTH = 'both',
78
+ }
79
+
80
+ /**
81
+ * 音量类型
82
+ */
83
+ export enum VolumeType {
84
+ MUTE = 'mute',
85
+ LOW = 'low',
86
+ MEDIUM = 'medium',
87
+ HIGH = 'high',
88
+ MAX = 'max',
89
+ }
90
+
91
+ /**
92
+ * 错误代码
93
+ */
94
+ export enum VideoErrorCode {
95
+ NETWORK_ERROR = 'network_error',
96
+ DECODE_ERROR = 'decode_error',
97
+ NOT_SUPPORTED = 'not_supported',
98
+ PERMISSION_DENIED = 'permission_denied',
99
+ UNKNOWN = 'unknown',
100
+ }
101
+
102
+ /**
103
+ * 视频源
104
+ */
105
+ export interface VideoSource {
106
+ /** 视频URL */
107
+ src: string;
108
+ /** 视频类型 */
109
+ type?: string;
110
+ /** 视频标题 */
111
+ title?: string;
112
+ /** 视频描述 */
113
+ description?: string;
114
+ /** 视频封面 */
115
+ poster?: string;
116
+ }
117
+
118
+ /**
119
+ * 视频章节
120
+ */
121
+ export interface VideoChapter {
122
+ /** 章节ID */
123
+ id: string;
124
+ /** 章节标题 */
125
+ title: string;
126
+ /** 章节开始时间(秒) */
127
+ startTime: number;
128
+ /** 章节结束时间(秒) */
129
+ endTime: number;
130
+ /** 章节描述 */
131
+ description?: string;
132
+ /** 章节图标 */
133
+ icon?: ReactNode;
134
+ }
135
+
136
+ /**
137
+ * 水印配置
138
+ */
139
+ export interface WatermarkConfig {
140
+ /** 水印内容 */
141
+ content: string;
142
+ /** 水印位置 */
143
+ position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center';
144
+ /** 水印样式 */
145
+ style?: React.CSSProperties;
146
+ /** 水印透明度 */
147
+ opacity?: number;
148
+ /** 水印字体大小 */
149
+ fontSize?: number;
150
+ /** 水印旋转角度 */
151
+ rotate?: number;
152
+ }
153
+
154
+ /**
155
+ * 广告配置
156
+ */
157
+ export interface AdConfig {
158
+ /** 广告ID */
159
+ id: string;
160
+ /** 广告视频URL */
161
+ src: string;
162
+ /** 广告时长(秒) */
163
+ duration: number;
164
+ /** 广告标题 */
165
+ title?: string;
166
+ /** 广告描述 */
167
+ description?: string;
168
+ /** 广告封面 */
169
+ poster?: string;
170
+ /** 可跳过时间(秒) */
171
+ skipAfter?: number;
172
+ /** 广告链接 */
173
+ link?: string;
174
+ /** 广告点击事件 */
175
+ onClick?: (ad: AdConfig) => void;
176
+ }
177
+
178
+ /**
179
+ * 视频控制配置
180
+ */
181
+ export interface VideoControlsConfig {
182
+ /** 是否显示控制栏 */
183
+ show?: boolean;
184
+ /** 控制栏位置 */
185
+ position?: ControlsPosition;
186
+ /** 控制栏高度 */
187
+ height?: number;
188
+ /** 控制栏透明度 */
189
+ opacity?: number;
190
+ /** 控制栏显示延迟(毫秒) */
191
+ hideDelay?: number;
192
+ /** 自定义控制栏样式 */
193
+ style?: React.CSSProperties;
194
+ /** 自定义控制栏内容 */
195
+ render?: (props: VideoProps, state: VideoState) => ReactNode;
196
+ /** 是否显示播放按钮 */
197
+ showPlayButton?: boolean;
198
+ /** 是否显示进度条 */
199
+ showProgressBar?: boolean;
200
+ /** 是否显示时间 */
201
+ showTime?: boolean;
202
+ /** 是否显示音量控制 */
203
+ showVolume?: boolean;
204
+ /** 是否显示全屏按钮 */
205
+ showFullscreen?: boolean;
206
+ /** 是否显示播放速率按钮 */
207
+ showPlaybackRate?: boolean;
208
+ /** 是否显示画中画按钮 */
209
+ showPictureInPicture?: boolean;
210
+ /** 是否显示设置按钮 */
211
+ showSettings?: boolean;
212
+ /** 是否显示章节标记 */
213
+ showChapters?: boolean;
214
+ }
215
+
216
+ /**
217
+ * 视频状态
218
+ */
219
+ export interface VideoState {
220
+ /** 播放状态 */
221
+ status: VideoStatus;
222
+ /** 播放模式 */
223
+ mode: PlayMode;
224
+ /** 当前时间(秒) */
225
+ currentTime: number;
226
+ /** 总时长(秒) */
227
+ duration: number;
228
+ /** 缓冲进度 */
229
+ buffered: number;
230
+ /** 音量(0-1) */
231
+ volume: number;
232
+ /** 是否静音 */
233
+ muted: boolean;
234
+ /** 播放速率 */
235
+ playbackRate: PlaybackRate;
236
+ /** 是否全屏 */
237
+ isFullscreen: boolean;
238
+ /** 是否画中画 */
239
+ isPictureInPicture: boolean;
240
+ /** 视频尺寸 */
241
+ videoWidth: number;
242
+ /** 视频高度 */
243
+ videoHeight: number;
244
+ /** 加载进度 */
245
+ loaded: number;
246
+ /** 错误信息 */
247
+ error?: VideoError;
248
+ /** 当前播放的源 */
249
+ currentSource?: VideoSource;
250
+ /** 当前章节 */
251
+ currentChapter?: VideoChapter;
252
+ /** 是否正在拖动进度条 */
253
+ isDragging: boolean;
254
+ /** 是否显示控制栏 */
255
+ isControlsVisible: boolean;
256
+ /** 是否显示选项菜单 */
257
+ isOptionsMenuVisible: boolean;
258
+ }
259
+
260
+ /**
261
+ * 视频错误信息
262
+ */
263
+ export interface VideoError {
264
+ /** 错误代码 */
265
+ code: VideoErrorCode;
266
+ /** 错误信息 */
267
+ message: string;
268
+ /** 原始错误对象 */
269
+ originalError?: unknown;
270
+ }
271
+
272
+ /**
273
+ * 视频事件
274
+ */
275
+ export interface VideoEvents {
276
+ /** 播放事件 */
277
+ onPlay?: (state: VideoState) => void;
278
+ /** 暂停事件 */
279
+ onPause?: (state: VideoState) => void;
280
+ /** 播放结束事件 */
281
+ onEnded?: (state: VideoState) => void;
282
+ /** 时间更新事件 */
283
+ onTimeUpdate?: (state: VideoState) => void;
284
+ /** 缓冲事件 */
285
+ onBuffering?: (state: VideoState) => void;
286
+ /** 缓冲结束事件 */
287
+ onBuffered?: (state: VideoState) => void;
288
+ /** 音量变化事件 */
289
+ onVolumeChange?: (state: VideoState) => void;
290
+ /** 播放速率变化事件 */
291
+ onPlaybackRateChange?: (state: VideoState) => void;
292
+ /** 全屏变化事件 */
293
+ onFullscreenChange?: (isFullscreen: boolean, state: VideoState) => void;
294
+ /** 画中画变化事件 */
295
+ onPictureInPictureChange?: (isPictureInPicture: boolean, state: VideoState) => void;
296
+ /** 加载开始事件 */
297
+ onLoadStart?: (state: VideoState) => void;
298
+ /** 加载完成事件 */
299
+ onLoaded?: (state: VideoState) => void;
300
+ /** 错误事件 */
301
+ onError?: (error: VideoError, state: VideoState) => void;
302
+ /** 章节变化事件 */
303
+ onChapterChange?: (chapter: VideoChapter, state: VideoState) => void;
304
+ /** 广告开始事件 */
305
+ onAdStart?: (ad: AdConfig, state: VideoState) => void;
306
+ /** 广告结束事件 */
307
+ onAdEnd?: (ad: AdConfig, state: VideoState) => void;
308
+ /** 广告跳过事件 */
309
+ onAdSkip?: (ad: AdConfig, state: VideoState) => void;
310
+ /** 点击事件 */
311
+ onClick?: (state: VideoState) => void;
312
+ /** 双击事件 */
313
+ onDoubleClick?: (state: VideoState) => void;
314
+ /** 控制栏显示事件 */
315
+ onControlsShow?: (state: VideoState) => void;
316
+ /** 控制栏隐藏事件 */
317
+ onControlsHide?: (state: VideoState) => void;
318
+ }
319
+
320
+ /**
321
+ * 视频组件属性
322
+ */
323
+ export interface VideoProps extends VideoEvents {
324
+ /** 视频源,可以是单个URL或VideoSource数组 */
325
+ src: string | VideoSource | VideoSource[];
326
+ /** 视频尺寸 */
327
+ size?: VideoSize;
328
+ /** 视频变体 */
329
+ variant?: VideoVariant;
330
+ /** 视频封面 */
331
+ poster?: string;
332
+ /** 是否自动播放 */
333
+ autoPlay?: boolean;
334
+ /** 是否静音 */
335
+ muted?: boolean;
336
+ /** 音量(0-1) */
337
+ volume?: number;
338
+ /** 初始播放时间(秒) */
339
+ initialTime?: number;
340
+ /** 播放速率 */
341
+ playbackRate?: PlaybackRate;
342
+ /** 循环模式 */
343
+ loop?: LoopMode;
344
+ /** 预加载 */
345
+ preload?: 'none' | 'metadata' | 'auto';
346
+ /** 视频类型 */
347
+ type?: string;
348
+ /** 视频标题 */
349
+ title?: string;
350
+ /** 视频描述 */
351
+ description?: string;
352
+ /** 控制栏配置 */
353
+ controls?: boolean | VideoControlsConfig;
354
+ /** 是否显示中心播放按钮 */
355
+ showCenterPlayButton?: boolean;
356
+ /** 是否允许全屏 */
357
+ allowFullscreen?: boolean;
358
+ /** 是否允许画中画 */
359
+ allowPictureInPicture?: boolean;
360
+ /** 是否允许下载 */
361
+ allowDownload?: boolean;
362
+ /** 是否允许截图 */
363
+ allowScreenshot?: boolean;
364
+ /** 视频章节 */
365
+ chapters?: VideoChapter[];
366
+ /** 水印配置 */
367
+ watermark?: WatermarkConfig;
368
+ /** 广告配置 */
369
+ ads?: AdConfig[];
370
+ /** 自定义视频样式 */
371
+ videoStyle?: React.CSSProperties;
372
+ /** 自定义容器样式 */
373
+ style?: React.CSSProperties;
374
+ /** 自定义类名 */
375
+ className?: string;
376
+ /** 自定义视频类名 */
377
+ videoClassName?: string;
378
+ /** 自定义控制栏类名 */
379
+ controlsClassName?: string;
380
+ /** 自定义加载组件 */
381
+ renderLoading?: () => ReactNode;
382
+ /** 自定义错误组件 */
383
+ renderError?: (error: VideoError) => ReactNode;
384
+ /** 自定义结束组件 */
385
+ renderEnded?: () => ReactNode;
386
+ /** 自定义封面组件 */
387
+ renderPoster?: () => ReactNode;
388
+ /** 自定义章节组件 */
389
+ renderChapter?: (chapter: VideoChapter, active: boolean) => ReactNode;
390
+ }
391
+
392
+ /**
393
+ * 视频方法
394
+ */
395
+ export interface VideoMethods {
396
+ /** 播放视频 */
397
+ play: () => Promise<void>;
398
+ /** 暂停视频 */
399
+ pause: () => void;
400
+ /** 停止视频 */
401
+ stop: () => void;
402
+ /** 跳转指定时间 */
403
+ seek: (time: number) => void;
404
+ /** 进入全屏 */
405
+ enterFullscreen: () => Promise<void>;
406
+ /** 退出全屏 */
407
+ exitFullscreen: () => Promise<void>;
408
+ /** 切换全屏 */
409
+ toggleFullscreen: () => Promise<void>;
410
+ /** 进入画中画 */
411
+ enterPictureInPicture: () => Promise<void>;
412
+ /** 退出画中画 */
413
+ exitPictureInPicture: () => Promise<void>;
414
+ /** 切换画中画 */
415
+ togglePictureInPicture: () => Promise<void>;
416
+ /** 设置音量 */
417
+ setVolume: (volume: number) => void;
418
+ /** 切换静音 */
419
+ toggleMute: () => void;
420
+ /** 设置播放速率 */
421
+ setPlaybackRate: (rate: PlaybackRate) => void;
422
+ /** 切换播放状态 */
423
+ togglePlay: () => void;
424
+ /** 重新加载视频 */
425
+ reload: () => void;
426
+ /** 获取当前视频状态 */
427
+ getState: () => VideoState;
428
+ /** 设置视频源 */
429
+ setSource: (src: string | VideoSource | VideoSource[]) => void;
430
+ /** 获取视频截图 */
431
+ getScreenshot: () => Promise<string | null>;
432
+ /** 下载视频 */
433
+ download: () => void;
434
+ /** 显示控制栏 */
435
+ showControls: () => void;
436
+ /** 隐藏控制栏 */
437
+ hideControls: () => void;
438
+ }
439
+
440
+ /**
441
+ * 格式化时间工具
442
+ * @param seconds 秒数
443
+ * @returns 格式化后的时间字符串 (HH:MM:SS 或 MM:SS)
444
+ */
445
+ export const formatTime = (seconds: number): string => {
446
+ const h = Math.floor(seconds / 3600);
447
+ const m = Math.floor((seconds % 3600) / 60);
448
+ const s = Math.floor(seconds % 60);
449
+
450
+ if (h > 0) {
451
+ return `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;
452
+ }
453
+
454
+ return `${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;
455
+ };
456
+
457
+ /**
458
+ * 格式化文件大小工具
459
+ * @param bytes 字节数
460
+ * @returns 格式化后的文件大小字符串
461
+ */
462
+ export const formatFileSize = (bytes: number): string => {
463
+ if (bytes === 0) return '0 B';
464
+
465
+ const k = 1024;
466
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
467
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
468
+
469
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}`;
470
+ };
471
+
472
+ /**
473
+ * 生成唯一ID工具
474
+ * @returns 唯一ID字符串
475
+ */
476
+ export const generateId = (): string => {
477
+ return `video_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
478
+ };
479
+
480
+ /**
481
+ * 获取音量类型
482
+ * @param volume 音量值(0-1)
483
+ * @returns 音量类型
484
+ */
485
+ export const getVolumeType = (volume: number): VolumeType => {
486
+ if (volume === 0) return VolumeType.MUTE;
487
+ if (volume < 0.3) return VolumeType.LOW;
488
+ if (volume < 0.7) return VolumeType.MEDIUM;
489
+ if (volume < 1) return VolumeType.HIGH;
490
+ return VolumeType.MAX;
491
+ };
492
+
493
+ /**
494
+ * 获取播放速率文本
495
+ * @param rate 播放速率
496
+ * @returns 播放速率文本
497
+ */
498
+ export const getPlaybackRateText = (rate: PlaybackRate): string => {
499
+ return `${rate}x`;
500
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Taro-Uno Video Component
3
+ * 视频组件入口文件
4
+ */
5
+
6
+ import Video from './Video';
7
+ import type { VideoProps, VideoMethods, VideoState, VideoSource, VideoChapter, VideoError } from './Video.types';
8
+ import {
9
+ VideoSize,
10
+ VideoVariant,
11
+ VideoStatus,
12
+ PlayMode,
13
+ LoopMode,
14
+ PlaybackRate,
15
+ ControlsPosition,
16
+ VideoErrorCode,
17
+ } from './Video.types';
18
+
19
+ // 导出组件
20
+ export default Video;
21
+
22
+ // 导出类型
23
+ export type { VideoProps, VideoMethods, VideoState, VideoSource, VideoChapter, VideoError };
24
+
25
+ // 导出枚举
26
+ export { VideoSize, VideoVariant, VideoStatus, PlayMode, LoopMode, PlaybackRate, ControlsPosition, VideoErrorCode };
@@ -12,10 +12,7 @@ import { Typography } from './Typography';
12
12
 
13
13
  // 导出 Button 组件
14
14
  export { Button } from './Button';
15
- export type {
16
- ButtonProps,
17
- ButtonRef,
18
- } from './Button/Button.types';
15
+ export type { ButtonProps, ButtonRef } from './Button/Button.types';
19
16
  export { buttonStyles } from './Button/Button.styles';
20
17
 
21
18
  // 导出 Icon 组件
@@ -111,18 +108,18 @@ export interface BasicComponents {
111
108
  }
112
109
 
113
110
  // 基础组件工具类型
114
- export type BasicComponentProps =
115
- | import('./Button/Button.types').ButtonProps
116
- | import('./Icon/Icon.types').IconProps
117
- | import('./Text/Text.types').TextProps
118
- | import('./Divider/Divider.types').DividerProps
111
+ export type BasicComponentProps =
112
+ | import('./Button/Button.types').ButtonProps
113
+ | import('./Icon/Icon.types').IconProps
114
+ | import('./Text/Text.types').TextProps
115
+ | import('./Divider/Divider.types').DividerProps
119
116
  | import('./Typography/Typography.types').TypographyProps;
120
117
 
121
- export type BasicComponentRef =
122
- | import('./Button/Button.types').ButtonRef
123
- | import('./Icon/Icon.types').IconRef
124
- | import('./Text/Text.types').TextRef
125
- | import('./Divider/Divider.types').DividerRef
118
+ export type BasicComponentRef =
119
+ | import('./Button/Button.types').ButtonRef
120
+ | import('./Icon/Icon.types').IconRef
121
+ | import('./Text/Text.types').TextRef
122
+ | import('./Divider/Divider.types').DividerRef
126
123
  | import('./Typography/Typography.types').TypographyRef;
127
124
 
128
125
  // 基础组件工具函数
@@ -141,7 +138,8 @@ export const BasicComponentsUtils = {
141
138
  */
142
139
  getComponentType: (props: BasicComponentProps): string => {
143
140
  if ('source' in props) return 'Icon';
144
- if ('variant' in props && ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'span'].includes(props.variant as string)) return 'Typography';
141
+ if ('variant' in props && ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'span'].includes(props.variant as string))
142
+ return 'Typography';
145
143
  if ('children' in props && typeof props.children === 'string') return 'Text';
146
144
  if ('type' in props && ['solid', 'outline', 'ghost', 'text'].includes(props.type as string)) return 'Button';
147
145
  return 'Divider';
@@ -67,7 +67,7 @@ export class ErrorBoundary extends Component<Props, State> {
67
67
  <View className="error-boundary">
68
68
  <Text className="error-boundary__title">出错了</Text>
69
69
  <Text className="error-boundary__message">{this.state.error?.message || '应用遇到了一个错误'}</Text>
70
- {process.env['NODE_ENV'] === 'development' && this.state.errorInfo && (
70
+ {import.meta.env.DEV && this.state.errorInfo && (
71
71
  <View className="error-boundary__details">
72
72
  <Text className="error-boundary__details-title">错误详情:</Text>
73
73
  <Text className="error-boundary__details-text">{this.state.errorInfo.componentStack}</Text>
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  import React, { Suspense, ComponentType, LazyExoticComponent, ReactNode } from 'react';
7
+ import { View, Text, Button } from '@tarojs/components';
7
8
  import { ErrorBoundary } from './ErrorBoundary';
8
9
  import { Loading } from '../feedback/Loading';
9
10
 
@@ -71,20 +72,20 @@ const componentCache = new Map<string, ComponentType<any>>();
71
72
 
72
73
  // 默认加载组件
73
74
  const DefaultFallback = () => (
74
- <div className="flex items-center justify-center p-4">
75
+ <View className="flex items-center justify-center p-4">
75
76
  <Loading type="spinner" size="lg" />
76
- </div>
77
+ </View>
77
78
  );
78
79
 
79
80
  // 默认错误组件
80
81
  const DefaultErrorFallback = ({ error, reset }: { error: Error; reset: () => void }) => (
81
- <div className="flex flex-col items-center justify-center p-4 text-center">
82
- <div className="text-red-500 mb-2">组件加载失败</div>
83
- <div className="text-sm text-gray-600 mb-4">{error.message}</div>
84
- <button onClick={reset} className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
82
+ <View className="flex flex-col items-center justify-center p-4 text-center">
83
+ <Text className="text-red-500 mb-2">组件加载失败</Text>
84
+ <Text className="text-sm text-gray-600 mb-4">{error.message}</Text>
85
+ <Button onClick={reset} className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600">
85
86
  重试
86
- </button>
87
- </div>
87
+ </Button>
88
+ </View>
88
89
  );
89
90
 
90
91
  /**
@@ -63,20 +63,8 @@ export const SecurityProvider: React.FC<SecurityProviderProps> = ({
63
63
  logError(error);
64
64
  };
65
65
 
66
- // 全局 fetch 拦截添加安全头部
67
- useEffect(() => {
68
- const originalFetch = window.fetch;
69
- window.fetch = async (input: RequestInfo | URL, init?: RequestInit) => {
70
- if (init && init.headers) {
71
- init.headers = addSecurityHeaders(init.headers as Record<string, string>);
72
- }
73
- return originalFetch(input, init);
74
- };
75
-
76
- return () => {
77
- window.fetch = originalFetch;
78
- };
79
- }, []);
66
+ // Taro.js 环境中,安全头部由统一请求客户端处理
67
+ // 不再需要拦截 window.fetch,因为 Taro.js 使用 Taro.request API
80
68
 
81
69
  // 设置OWASP错误钩子
82
70
  useEffect(() => {