taro-uno-ui 0.9.0 → 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 (647) hide show
  1. package/README.md +21 -0
  2. package/dist/app.config.d.ts +38 -0
  3. package/dist/app.d.ts +6 -0
  4. package/dist/components/basic/Button/Button.d.ts +6 -0
  5. package/dist/components/basic/Button/Button.styles.d.ts +2 -0
  6. package/dist/components/basic/Button/Button.types.d.ts +74 -0
  7. package/dist/components/basic/Button/index.d.ts +4 -0
  8. package/dist/components/basic/Divider/Divider.d.ts +6 -0
  9. package/dist/components/basic/Divider/Divider.styles.d.ts +87 -0
  10. package/dist/components/basic/Divider/Divider.types.d.ts +242 -0
  11. package/dist/components/basic/Divider/index.d.ts +6 -0
  12. package/dist/components/basic/Icon/Icon.d.ts +5 -0
  13. package/dist/components/basic/Icon/Icon.data.d.ts +29 -0
  14. package/dist/components/basic/Icon/Icon.styles.d.ts +61 -0
  15. package/dist/components/basic/Icon/Icon.types.d.ts +199 -0
  16. package/dist/components/basic/Icon/IconManager.d.ts +120 -0
  17. package/dist/components/basic/Icon/index.d.ts +6 -0
  18. package/dist/components/basic/Text/Text.d.ts +7 -0
  19. package/dist/components/basic/Text/Text.styles.d.ts +67 -0
  20. package/dist/components/basic/Text/Text.types.d.ts +274 -0
  21. package/dist/components/basic/Text/index.d.ts +5 -0
  22. package/dist/components/basic/Typography/Typography.d.ts +8 -0
  23. package/dist/components/basic/Typography/Typography.styles.d.ts +83 -0
  24. package/dist/components/basic/Typography/Typography.types.d.ts +245 -0
  25. package/dist/components/basic/Typography/index.d.ts +3 -0
  26. package/dist/components/basic/Video/Video.d.ts +7 -0
  27. package/dist/components/basic/Video/Video.styles.d.ts +212 -0
  28. package/dist/components/basic/Video/Video.types.d.ts +447 -0
  29. package/dist/components/basic/Video/index.d.ts +10 -0
  30. package/dist/components/basic/index.d.ts +217 -0
  31. package/dist/components/common/ErrorBoundary.d.ts +19 -0
  32. package/dist/components/common/LazyComponent.d.ts +78 -0
  33. package/dist/components/common/ResponsiveContainer.d.ts +23 -0
  34. package/dist/components/common/ResponsiveGrid.d.ts +44 -0
  35. package/dist/components/common/SecurityProvider.d.ts +15 -0
  36. package/dist/components/common/ThemeProvider.d.ts +17 -0
  37. package/dist/components/common/VirtualList.d.ts +89 -0
  38. package/dist/components/common/index.d.ts +17 -0
  39. package/dist/components/display/Avatar/Avatar.d.ts +3 -0
  40. package/dist/components/display/Avatar/Avatar.styles.d.ts +2 -0
  41. package/dist/components/display/Avatar/Avatar.types.d.ts +37 -0
  42. package/dist/components/display/Avatar/index.d.ts +3 -0
  43. package/dist/components/display/Badge/Badge.d.ts +3 -0
  44. package/dist/components/display/Badge/Badge.types.d.ts +27 -0
  45. package/dist/components/display/Badge/index.d.ts +2 -0
  46. package/dist/components/display/Calendar/Calendar.d.ts +5 -0
  47. package/dist/components/display/Calendar/Calendar.styles.d.ts +2 -0
  48. package/dist/components/display/Calendar/Calendar.types.d.ts +87 -0
  49. package/dist/components/display/Calendar/index.d.ts +3 -0
  50. package/dist/components/display/Card/Card.d.ts +3 -0
  51. package/dist/components/display/Card/Card.styles.d.ts +1 -0
  52. package/dist/components/display/Card/Card.types.d.ts +52 -0
  53. package/dist/components/display/Card/index.d.ts +3 -0
  54. package/dist/components/display/Carousel/Carousel.d.ts +5 -0
  55. package/dist/components/display/Carousel/Carousel.styles.d.ts +2 -0
  56. package/dist/components/display/Carousel/Carousel.types.d.ts +55 -0
  57. package/dist/components/display/Carousel/index.d.ts +3 -0
  58. package/dist/components/display/List/List.d.ts +4 -0
  59. package/dist/components/display/List/List.styles.d.ts +1 -0
  60. package/dist/components/display/List/List.types.d.ts +64 -0
  61. package/dist/components/display/List/index.d.ts +3 -0
  62. package/dist/components/display/Rate/Rate.d.ts +6 -0
  63. package/dist/components/display/Rate/Rate.styles.d.ts +100 -0
  64. package/dist/components/display/Rate/Rate.types.d.ts +105 -0
  65. package/dist/components/display/Rate/index.d.ts +17 -0
  66. package/dist/components/display/Table/Table.d.ts +7 -0
  67. package/dist/components/display/Table/Table.styles.d.ts +84 -0
  68. package/dist/components/display/Table/Table.types.d.ts +251 -0
  69. package/dist/components/display/Table/index.d.ts +4 -0
  70. package/dist/components/display/Tag/Tag.d.ts +5 -0
  71. package/dist/components/display/Tag/Tag.styles.d.ts +2 -0
  72. package/dist/components/display/Tag/Tag.types.d.ts +47 -0
  73. package/dist/components/display/Tag/index.d.ts +3 -0
  74. package/dist/components/display/Timeline/Timeline.d.ts +16 -0
  75. package/dist/components/display/Timeline/Timeline.styles.d.ts +2 -0
  76. package/dist/components/display/Timeline/Timeline.types.d.ts +53 -0
  77. package/dist/components/display/Timeline/index.d.ts +3 -0
  78. package/dist/components/display/index.d.ts +67 -0
  79. package/dist/components/feedback/Loading/Loading.d.ts +4 -0
  80. package/dist/components/feedback/Loading/Loading.styles.d.ts +2 -0
  81. package/dist/components/feedback/Loading/Loading.types.d.ts +29 -0
  82. package/dist/components/feedback/Loading/index.d.ts +4 -0
  83. package/dist/components/feedback/Message/Message.d.ts +4 -0
  84. package/dist/components/feedback/Message/Message.styles.d.ts +34 -0
  85. package/dist/components/feedback/Message/Message.types.d.ts +33 -0
  86. package/dist/components/feedback/Message/index.d.ts +4 -0
  87. package/dist/components/feedback/Modal/Modal.d.ts +8 -0
  88. package/dist/components/feedback/Modal/Modal.styles.d.ts +18 -0
  89. package/dist/components/feedback/Modal/Modal.types.d.ts +143 -0
  90. package/dist/components/feedback/Modal/index.d.ts +3 -0
  91. package/dist/components/feedback/Notification/Notification.d.ts +4 -0
  92. package/dist/components/feedback/Notification/Notification.styles.d.ts +88 -0
  93. package/dist/components/feedback/Notification/Notification.types.d.ts +279 -0
  94. package/dist/components/feedback/Notification/NotificationManager.d.ts +4 -0
  95. package/dist/components/feedback/Notification/index.d.ts +25 -0
  96. package/dist/components/feedback/Progress/Progress.d.ts +4 -0
  97. package/dist/components/feedback/Progress/Progress.styles.d.ts +261 -0
  98. package/dist/components/feedback/Progress/Progress.test.simple.d.ts +2 -0
  99. package/dist/components/feedback/Progress/Progress.types.d.ts +147 -0
  100. package/dist/components/feedback/Progress/index.d.ts +3 -0
  101. package/dist/components/feedback/Progress/utils/animation.d.ts +55 -0
  102. package/dist/components/feedback/Progress/utils/index.d.ts +2 -0
  103. package/dist/components/feedback/Progress/utils/progress-calculator.d.ts +75 -0
  104. package/dist/components/feedback/Result/Result.d.ts +7 -0
  105. package/dist/components/feedback/Result/Result.styles.d.ts +2 -0
  106. package/dist/components/feedback/Result/Result.types.d.ts +66 -0
  107. package/dist/components/feedback/Result/index.d.ts +3 -0
  108. package/dist/components/feedback/Toast/Toast.d.ts +7 -0
  109. package/dist/components/feedback/Toast/Toast.styles.d.ts +14 -0
  110. package/dist/components/feedback/Toast/Toast.types.d.ts +81 -0
  111. package/dist/components/feedback/Toast/index.d.ts +3 -0
  112. package/dist/components/feedback/Tooltip/Tooltip.d.ts +4 -0
  113. package/dist/components/feedback/Tooltip/Tooltip.examples.d.ts +6 -0
  114. package/dist/components/feedback/Tooltip/Tooltip.styles.d.ts +78 -0
  115. package/dist/components/feedback/Tooltip/Tooltip.types.d.ts +130 -0
  116. package/dist/components/feedback/Tooltip/index.d.ts +3 -0
  117. package/dist/components/feedback/index.d.ts +71 -0
  118. package/dist/components/form/Cascader/Cascader.d.ts +7 -0
  119. package/dist/components/form/Cascader/Cascader.styles.d.ts +107 -0
  120. package/dist/components/form/Cascader/Cascader.types.d.ts +418 -0
  121. package/dist/components/form/Cascader/hooks/index.d.ts +3 -0
  122. package/dist/components/form/Cascader/hooks/useCascaderFieldNames.d.ts +12 -0
  123. package/dist/components/form/Cascader/hooks/useCascaderOptions.d.ts +15 -0
  124. package/dist/components/form/Cascader/hooks/useCascaderState.d.ts +23 -0
  125. package/dist/components/form/Cascader/index.d.ts +6 -0
  126. package/dist/components/form/Cascader/utils/formatDisplayValue.d.ts +9 -0
  127. package/dist/components/form/Cascader/utils/index.d.ts +1 -0
  128. package/dist/components/form/Checkbox/Checkbox.d.ts +6 -0
  129. package/dist/components/form/Checkbox/Checkbox.styles.d.ts +111 -0
  130. package/dist/components/form/Checkbox/Checkbox.types.d.ts +473 -0
  131. package/dist/components/form/Checkbox/CheckboxGroup.d.ts +6 -0
  132. package/dist/components/form/Checkbox/index.d.ts +8 -0
  133. package/dist/components/form/DatePicker/DatePicker.d.ts +6 -0
  134. package/dist/components/form/DatePicker/DatePicker.styles.d.ts +99 -0
  135. package/dist/components/form/DatePicker/DatePicker.types.d.ts +236 -0
  136. package/dist/components/form/DatePicker/index.d.ts +3 -0
  137. package/dist/components/form/Form/Form.d.ts +8 -0
  138. package/dist/components/form/Form/Form.styles.d.ts +84 -0
  139. package/dist/components/form/Form/Form.types.d.ts +416 -0
  140. package/dist/components/form/Form/index.d.ts +9 -0
  141. package/dist/components/form/Form/useFormLogic.d.ts +22 -0
  142. package/dist/components/form/Input/Input.d.ts +6 -0
  143. package/dist/components/form/Input/Input.styles.d.ts +61 -0
  144. package/dist/components/form/Input/Input.types.d.ts +294 -0
  145. package/dist/components/form/Input/index.d.ts +8 -0
  146. package/dist/components/form/Input/useInputLogic.d.ts +35 -0
  147. package/dist/components/form/InputNumber/InputNumber.d.ts +6 -0
  148. package/dist/components/form/InputNumber/InputNumber.styles.d.ts +120 -0
  149. package/dist/components/form/InputNumber/InputNumber.types.d.ts +303 -0
  150. package/dist/components/form/InputNumber/components/InputNumberClearButton.d.ts +10 -0
  151. package/dist/components/form/InputNumber/components/InputNumberControls.d.ts +11 -0
  152. package/dist/components/form/InputNumber/components/index.d.ts +2 -0
  153. package/dist/components/form/InputNumber/hooks/index.d.ts +4 -0
  154. package/dist/components/form/InputNumber/hooks/useInputNumberState.d.ts +38 -0
  155. package/dist/components/form/InputNumber/hooks/useInputNumberValidation.d.ts +12 -0
  156. package/dist/components/form/InputNumber/index.d.ts +5 -0
  157. package/dist/components/form/Radio/Radio.d.ts +6 -0
  158. package/dist/components/form/Radio/Radio.styles.d.ts +80 -0
  159. package/dist/components/form/Radio/Radio.types.d.ts +415 -0
  160. package/dist/components/form/Radio/index.d.ts +8 -0
  161. package/dist/components/form/Select/Select.d.ts +6 -0
  162. package/dist/components/form/Select/Select.styles.d.ts +71 -0
  163. package/dist/components/form/Select/Select.types.d.ts +418 -0
  164. package/dist/components/form/Select/index.d.ts +8 -0
  165. package/dist/components/form/Slider/Slider.d.ts +7 -0
  166. package/dist/components/form/Slider/Slider.styles.d.ts +2 -0
  167. package/dist/components/form/Slider/Slider.types.d.ts +85 -0
  168. package/dist/components/form/Slider/index.d.ts +3 -0
  169. package/dist/components/form/Switch/Switch.d.ts +10 -0
  170. package/dist/components/form/Switch/Switch.styles.d.ts +154 -0
  171. package/dist/components/form/Switch/Switch.types.d.ts +351 -0
  172. package/dist/components/form/Switch/index.d.ts +7 -0
  173. package/dist/components/form/Textarea/Textarea.d.ts +6 -0
  174. package/dist/components/form/Textarea/Textarea.styles.d.ts +66 -0
  175. package/dist/components/form/Textarea/Textarea.types.d.ts +348 -0
  176. package/dist/components/form/Textarea/index.d.ts +7 -0
  177. package/dist/components/form/TimePicker/TimePicker.d.ts +6 -0
  178. package/dist/components/form/TimePicker/TimePicker.styles.d.ts +104 -0
  179. package/dist/components/form/TimePicker/TimePicker.types.d.ts +385 -0
  180. package/dist/components/form/TimePicker/index.d.ts +4 -0
  181. package/dist/components/form/Transfer/Transfer.d.ts +7 -0
  182. package/dist/components/form/Transfer/Transfer.styles.d.ts +106 -0
  183. package/dist/components/form/Transfer/Transfer.types.d.ts +384 -0
  184. package/dist/components/form/Transfer/components/TransferItem.d.ts +23 -0
  185. package/dist/components/form/Transfer/components/TransferList.d.ts +55 -0
  186. package/dist/components/form/Transfer/components/TransferOperations.d.ts +21 -0
  187. package/dist/components/form/Transfer/components/TransferPagination.d.ts +19 -0
  188. package/dist/components/form/Transfer/components/TransferSearch.d.ts +21 -0
  189. package/dist/components/form/Transfer/components/index.d.ts +6 -0
  190. package/dist/components/form/Transfer/hooks/index.d.ts +3 -0
  191. package/dist/components/form/Transfer/hooks/useTransferData.d.ts +41 -0
  192. package/dist/components/form/Transfer/hooks/useTransferState.d.ts +21 -0
  193. package/dist/components/form/Transfer/index.d.ts +9 -0
  194. package/dist/components/form/Upload/Upload.d.ts +7 -0
  195. package/dist/components/form/Upload/Upload.styles.d.ts +2 -0
  196. package/dist/components/form/Upload/Upload.types.d.ts +143 -0
  197. package/dist/components/form/Upload/index.d.ts +3 -0
  198. package/dist/components/form/index.d.ts +126 -0
  199. package/dist/components/index.d.ts +122 -0
  200. package/dist/components/layout/Affix/Affix.d.ts +4 -0
  201. package/dist/components/layout/Affix/Affix.styles.d.ts +1669 -0
  202. package/dist/components/layout/Affix/Affix.types.d.ts +25 -0
  203. package/dist/components/layout/Affix/index.d.ts +3 -0
  204. package/dist/components/layout/Col/Col.d.ts +6 -0
  205. package/dist/components/layout/Col/Col.styles.d.ts +52 -0
  206. package/dist/components/layout/Col/Col.types.d.ts +54 -0
  207. package/dist/components/layout/Col/index.d.ts +3 -0
  208. package/dist/components/layout/Container/Container.d.ts +6 -0
  209. package/dist/components/layout/Container/Container.styles.d.ts +41 -0
  210. package/dist/components/layout/Container/Container.types.d.ts +59 -0
  211. package/dist/components/layout/Container/index.d.ts +3 -0
  212. package/dist/components/layout/Grid/Grid.d.ts +6 -0
  213. package/dist/components/layout/Grid/Grid.styles.d.ts +60 -0
  214. package/dist/components/layout/Grid/Grid.types.d.ts +68 -0
  215. package/dist/components/layout/Grid/index.d.ts +3 -0
  216. package/dist/components/layout/Layout/Content.d.ts +4 -0
  217. package/dist/components/layout/Layout/Footer.d.ts +4 -0
  218. package/dist/components/layout/Layout/Header.d.ts +4 -0
  219. package/dist/components/layout/Layout/Layout.d.ts +4 -0
  220. package/dist/components/layout/Layout/Layout.styles.d.ts +3366 -0
  221. package/dist/components/layout/Layout/Layout.types.d.ts +48 -0
  222. package/dist/components/layout/Layout/Sider.d.ts +4 -0
  223. package/dist/components/layout/Layout/index.d.ts +8 -0
  224. package/dist/components/layout/Row/Row.d.ts +6 -0
  225. package/dist/components/layout/Row/Row.styles.d.ts +55 -0
  226. package/dist/components/layout/Row/Row.types.d.ts +51 -0
  227. package/dist/components/layout/Row/index.d.ts +3 -0
  228. package/dist/components/layout/Space/Space.d.ts +6 -0
  229. package/dist/components/layout/Space/Space.styles.d.ts +69 -0
  230. package/dist/components/layout/Space/Space.types.d.ts +84 -0
  231. package/dist/components/layout/Space/index.d.ts +3 -0
  232. package/dist/components/layout/index.d.ts +39 -0
  233. package/dist/components/navigation/Menu/Menu.constants.d.ts +59 -0
  234. package/dist/components/navigation/Menu/Menu.d.ts +10 -0
  235. package/dist/components/navigation/Menu/Menu.stories.d.ts +157 -0
  236. package/dist/components/navigation/Menu/Menu.styles.d.ts +143 -0
  237. package/dist/components/navigation/Menu/Menu.types.d.ts +210 -0
  238. package/dist/components/navigation/Menu/Menu.utils.d.ts +54 -0
  239. package/dist/components/navigation/Menu/MenuItem.d.ts +32 -0
  240. package/dist/components/navigation/Menu/SubMenu.d.ts +41 -0
  241. package/dist/components/navigation/Menu/index.d.ts +54 -0
  242. package/dist/components/navigation/NavBar/NavBar.d.ts +7 -0
  243. package/dist/components/navigation/NavBar/NavBar.styles.d.ts +114 -0
  244. package/dist/components/navigation/NavBar/NavBar.types.d.ts +50 -0
  245. package/dist/components/navigation/NavBar/index.d.ts +3 -0
  246. package/dist/components/navigation/Pagination/Pagination.d.ts +6 -0
  247. package/dist/components/navigation/Pagination/Pagination.styles.d.ts +55 -0
  248. package/dist/components/navigation/Pagination/Pagination.types.d.ts +77 -0
  249. package/dist/components/navigation/Pagination/index.d.ts +15 -0
  250. package/dist/components/navigation/Steps/Step.d.ts +4 -0
  251. package/dist/components/navigation/Steps/Steps.d.ts +4 -0
  252. package/dist/components/navigation/Steps/Steps.styles.d.ts +6716 -0
  253. package/dist/components/navigation/Steps/Steps.types.d.ts +41 -0
  254. package/dist/components/navigation/Steps/index.d.ts +3 -0
  255. package/dist/components/navigation/Tabs/Tabs.d.ts +6 -0
  256. package/dist/components/navigation/Tabs/Tabs.styles.d.ts +60 -0
  257. package/dist/components/navigation/Tabs/Tabs.types.d.ts +107 -0
  258. package/dist/components/navigation/Tabs/index.d.ts +3 -0
  259. package/dist/components/navigation/index.d.ts +35 -0
  260. package/dist/constants/index.d.ts +624 -0
  261. package/dist/hooks/index.d.ts +28 -0
  262. package/dist/hooks/types.d.ts +7 -0
  263. package/dist/hooks/useAsync.d.ts +17 -0
  264. package/dist/hooks/useClickOutside.d.ts +19 -0
  265. package/dist/hooks/useCounter.d.ts +36 -0
  266. package/dist/hooks/useDebounce.d.ts +31 -0
  267. package/dist/hooks/useDeepCompareEffect.d.ts +22 -0
  268. package/dist/hooks/useEventHandling.d.ts +81 -0
  269. package/dist/hooks/useEventListener.d.ts +19 -0
  270. package/dist/hooks/useLifecycle.d.ts +66 -0
  271. package/dist/hooks/useMediaQuery.d.ts +22 -0
  272. package/dist/hooks/useMutation.d.ts +47 -0
  273. package/dist/hooks/usePerformance.d.ts +73 -0
  274. package/dist/hooks/usePerformanceMonitor.d.ts +66 -0
  275. package/dist/hooks/usePlatform.d.ts +20 -0
  276. package/dist/hooks/usePrevious.d.ts +14 -0
  277. package/dist/hooks/useRequest.d.ts +32 -0
  278. package/dist/hooks/useStateManagement.d.ts +62 -0
  279. package/dist/hooks/useStorage.d.ts +27 -0
  280. package/dist/hooks/useStyle.d.ts +127 -0
  281. package/dist/hooks/useTheme.d.ts +58 -0
  282. package/dist/hooks/useToggle.d.ts +28 -0
  283. package/dist/hooks/useVirtualScroll.d.ts +42 -0
  284. package/dist/index.d.ts +271 -0
  285. package/dist/js/{index-DffLRSro.js → index-CDFsvu80.js} +15369 -10741
  286. package/dist/js/index-CDFsvu80.js.map +1 -0
  287. package/dist/js/index-DFdcksbe.js.map +1 -1
  288. package/dist/js/index-DXRIkWX1.js.map +1 -1
  289. package/dist/js/{index-6NJ3A1Dn.js → index-JffnTUrv.js} +15430 -10801
  290. package/dist/js/index-JffnTUrv.js.map +1 -0
  291. package/dist/platform/index.d.ts +172 -0
  292. package/dist/providers/AppProvider.d.ts +34 -0
  293. package/dist/providers/index.d.ts +1 -0
  294. package/dist/theme/ThemeProvider.d.ts +34 -0
  295. package/dist/theme/ThemeProvider.types.d.ts +21 -0
  296. package/dist/theme/animations.d.ts +96 -0
  297. package/dist/theme/defaults.d.ts +6 -0
  298. package/dist/theme/design-system.d.ts +400 -0
  299. package/dist/theme/design-tokens.d.ts +459 -0
  300. package/dist/theme/index.d.ts +187 -0
  301. package/dist/theme/responsive.d.ts +63 -0
  302. package/dist/theme/styles.d.ts +65 -0
  303. package/dist/theme/tokens/colors.d.ts +72 -0
  304. package/dist/theme/tokens/effects.d.ts +122 -0
  305. package/dist/theme/tokens/index.d.ts +94 -0
  306. package/dist/theme/tokens/spacing.d.ts +65 -0
  307. package/dist/theme/tokens/typography.d.ts +73 -0
  308. package/dist/theme/types.d.ts +153 -0
  309. package/dist/theme/useThemeUtils.d.ts +21 -0
  310. package/dist/theme/utils.d.ts +255 -0
  311. package/dist/theme/variables.d.ts +170 -0
  312. package/dist/types/accessibility.d.ts +46 -0
  313. package/dist/types/button.d.ts +285 -0
  314. package/dist/types/component-props.d.ts +109 -0
  315. package/dist/types/index.d.ts +343 -0
  316. package/dist/types/standardized-components.d.ts +263 -0
  317. package/dist/types/utils.d.ts +190 -0
  318. package/dist/utils/abort-controller.d.ts +19 -0
  319. package/dist/utils/cache.d.ts +28 -0
  320. package/dist/utils/createNamespace.d.ts +9 -0
  321. package/dist/utils/environment.d.ts +26 -0
  322. package/dist/utils/error-handler.d.ts +37 -0
  323. package/dist/utils/errorLogger.d.ts +72 -0
  324. package/dist/utils/formatUtils.d.ts +93 -0
  325. package/dist/utils/http/error-codes.d.ts +131 -0
  326. package/dist/utils/http/http-client.d.ts +53 -0
  327. package/dist/utils/http/request-cache.d.ts +65 -0
  328. package/dist/utils/http/request.d.ts +280 -0
  329. package/dist/utils/http/taro-adapter.d.ts +4 -0
  330. package/dist/utils/http/types.d.ts +351 -0
  331. package/dist/utils/http/web-adapter.d.ts +4 -0
  332. package/dist/utils/index.d.ts +46 -0
  333. package/dist/utils/inputValidator.d.ts +74 -0
  334. package/dist/utils/performance/performance.d.ts +167 -0
  335. package/dist/utils/responsiveUtils.d.ts +148 -0
  336. package/dist/utils/rtl-support.d.ts +78 -0
  337. package/dist/utils/security/api-security.d.ts +82 -0
  338. package/dist/utils/security/xss-protection.d.ts +20 -0
  339. package/dist/utils/securityHeaders.d.ts +74 -0
  340. package/dist/utils/typeHelpers.d.ts +1 -0
  341. package/dist/utils/types/dataProcessing.d.ts +111 -0
  342. package/dist/utils/types/typeHelpers.d.ts +50 -0
  343. package/dist/utils/xssProtection.d.ts +90 -0
  344. package/package.json +14 -10
  345. package/src/components/basic/Button/Button.tsx +53 -13
  346. package/src/components/basic/Button/Button.types.ts +45 -9
  347. package/src/components/basic/Divider/Divider.tsx +60 -29
  348. package/src/components/basic/Icon/Icon.data.ts +474 -0
  349. package/src/components/basic/Icon/Icon.test.tsx +2 -2
  350. package/src/components/basic/Icon/Icon.tsx +48 -35
  351. package/src/components/basic/Icon/IconManager.ts +229 -0
  352. package/src/components/basic/Text/Text.styles.ts +3 -3
  353. package/src/components/basic/Text/Text.types.ts +14 -4
  354. package/src/components/basic/Typography/Typography.styles.ts +10 -9
  355. package/src/components/basic/Typography/Typography.tsx +15 -13
  356. package/src/components/basic/Typography/Typography.types.ts +41 -41
  357. package/src/components/basic/Typography/index.tsx +1 -1
  358. package/src/components/basic/Video/Video.styles.ts +777 -0
  359. package/src/components/basic/Video/Video.test.tsx +490 -0
  360. package/src/components/basic/Video/Video.tsx +1468 -0
  361. package/src/components/basic/Video/Video.types.ts +500 -0
  362. package/src/components/basic/Video/index.tsx +26 -0
  363. package/src/components/basic/index.tsx +13 -15
  364. package/src/components/common/ErrorBoundary.tsx +1 -1
  365. package/src/components/common/LazyComponent.tsx +9 -8
  366. package/src/components/common/SecurityProvider.tsx +2 -14
  367. package/src/components/common/ThemeProvider.tsx +43 -56
  368. package/src/components/common/VirtualList.tsx +187 -205
  369. package/src/components/common/index.tsx +25 -0
  370. package/src/components/display/Avatar/Avatar.styles.ts +1 -1
  371. package/src/components/display/Avatar/Avatar.tsx +6 -19
  372. package/src/components/display/Avatar/Avatar.types.ts +1 -1
  373. package/src/components/display/Avatar/index.ts +1 -1
  374. package/src/components/display/Badge/Badge.tsx +3 -16
  375. package/src/components/display/Badge/Badge.types.ts +1 -1
  376. package/src/components/display/Badge/index.ts +1 -1
  377. package/src/components/display/Calendar/Calendar.styles.ts +36 -36
  378. package/src/components/display/Calendar/Calendar.test.tsx +27 -15
  379. package/src/components/display/Calendar/Calendar.tsx +56 -35
  380. package/src/components/display/Calendar/Calendar.types.ts +1 -1
  381. package/src/components/display/Calendar/index.ts +1 -1
  382. package/src/components/display/Card/Card.styles.ts +2 -2
  383. package/src/components/display/Card/Card.test.tsx +6 -4
  384. package/src/components/display/Card/Card.tsx +1 -1
  385. package/src/components/display/Card/Card.types.ts +4 -4
  386. package/src/components/display/Card/index.ts +1 -1
  387. package/src/components/display/Carousel/Carousel.styles.ts +31 -31
  388. package/src/components/display/Carousel/Carousel.tsx +34 -39
  389. package/src/components/display/Carousel/Carousel.types.ts +1 -1
  390. package/src/components/display/Carousel/index.ts +1 -1
  391. package/src/components/display/List/List.styles.ts +3 -3
  392. package/src/components/display/List/List.tsx +0 -1
  393. package/src/components/display/List/index.ts +1 -1
  394. package/src/components/display/Rate/Rate.styles.ts +5 -17
  395. package/src/components/display/Rate/Rate.tsx +6 -14
  396. package/src/components/display/Rate/Rate.types.ts +4 -3
  397. package/src/components/display/Rate/index.ts +3 -11
  398. package/src/components/display/Table/Table.test.tsx +2 -0
  399. package/src/components/display/Table/Table.tsx +3 -7
  400. package/src/components/display/Table/Table.types.ts +3 -2
  401. package/src/components/display/Tag/Tag.styles.ts +31 -31
  402. package/src/components/display/Tag/Tag.tsx +9 -26
  403. package/src/components/display/Tag/Tag.types.ts +1 -1
  404. package/src/components/display/Tag/index.ts +1 -1
  405. package/src/components/display/Timeline/Timeline.styles.ts +32 -32
  406. package/src/components/display/Timeline/Timeline.tsx +23 -42
  407. package/src/components/display/Timeline/Timeline.types.ts +1 -1
  408. package/src/components/display/Timeline/index.ts +1 -1
  409. package/src/components/display/index.tsx +33 -29
  410. package/src/components/feedback/Loading/Loading.tsx +6 -1
  411. package/src/components/feedback/Loading/index.ts +2 -5
  412. package/src/components/feedback/Message/Message.styles.ts +3 -3
  413. package/src/components/feedback/Message/index.ts +2 -5
  414. package/src/components/feedback/Modal/Modal.styles.ts +1 -1
  415. package/src/components/feedback/Modal/Modal.tsx +9 -31
  416. package/src/components/feedback/Modal/Modal.types.ts +12 -2
  417. package/src/components/feedback/Notification/Notification.styles.ts +49 -39
  418. package/src/components/feedback/Notification/Notification.test.tsx +1 -1
  419. package/src/components/feedback/Notification/Notification.tsx +97 -120
  420. package/src/components/feedback/Notification/Notification.types.ts +11 -8
  421. package/src/components/feedback/Notification/NotificationManager.tsx +135 -106
  422. package/src/components/feedback/Notification/index.ts +10 -3
  423. package/src/components/feedback/Notification/index.tsx +16 -26
  424. package/src/components/feedback/Progress/Progress.styles.ts +23 -14
  425. package/src/components/feedback/Progress/Progress.tsx +93 -113
  426. package/src/components/feedback/Progress/Progress.types.ts +1 -1
  427. package/src/components/feedback/Progress/index.ts +1 -1
  428. package/src/components/feedback/Progress/utils/animation.ts +12 -23
  429. package/src/components/feedback/Progress/utils/index.ts +2 -2
  430. package/src/components/feedback/Progress/utils/progress-calculator.ts +14 -32
  431. package/src/components/feedback/Result/Result.styles.ts +29 -29
  432. package/src/components/feedback/Result/Result.tsx +8 -20
  433. package/src/components/feedback/Result/Result.types.ts +7 -7
  434. package/src/components/feedback/Result/index.tsx +1 -1
  435. package/src/components/feedback/Toast/Toast.styles.ts +1 -1
  436. package/src/components/feedback/Toast/Toast.tsx +25 -13
  437. package/src/components/feedback/Tooltip/Tooltip.examples.tsx +21 -44
  438. package/src/components/feedback/Tooltip/Tooltip.styles.ts +16 -22
  439. package/src/components/feedback/Tooltip/Tooltip.test.tsx +1 -1
  440. package/src/components/feedback/Tooltip/Tooltip.tsx +65 -46
  441. package/src/components/feedback/Tooltip/Tooltip.types.ts +14 -20
  442. package/src/components/feedback/Tooltip/index.ts +1 -1
  443. package/src/components/feedback/Tooltip/index.tsx +12 -24
  444. package/src/components/feedback/index.tsx +54 -42
  445. package/src/components/form/Cascader/Cascader.styles.ts +2 -2
  446. package/src/components/form/Cascader/Cascader.tsx +84 -88
  447. package/src/components/form/Cascader/Cascader.types.ts +49 -50
  448. package/src/components/form/Cascader/hooks/useCascaderFieldNames.ts +11 -8
  449. package/src/components/form/Cascader/hooks/useCascaderOptions.ts +73 -55
  450. package/src/components/form/Cascader/hooks/useCascaderState.ts +31 -25
  451. package/src/components/form/Cascader/index.ts +1 -1
  452. package/src/components/form/Cascader/utils/formatDisplayValue.ts +4 -4
  453. package/src/components/form/Checkbox/Checkbox.styles.ts +83 -84
  454. package/src/components/form/Checkbox/Checkbox.tsx +2 -9
  455. package/src/components/form/Checkbox/CheckboxGroup.tsx +7 -7
  456. package/src/components/form/DatePicker/DatePicker.test.tsx +1 -1
  457. package/src/components/form/DatePicker/DatePicker.tsx +91 -75
  458. package/src/components/form/DatePicker/DatePicker.types.ts +4 -1
  459. package/src/components/form/Form/Form.tsx +66 -504
  460. package/src/components/form/Form/Form.types.ts +16 -1
  461. package/src/components/form/Form/useFormLogic.ts +497 -0
  462. package/src/components/form/Input/Input.styles.ts +8 -1
  463. package/src/components/form/Input/Input.tsx +55 -291
  464. package/src/components/form/Input/Input.types.ts +13 -1
  465. package/src/components/form/Input/useInputLogic.test.ts +82 -0
  466. package/src/components/form/Input/useInputLogic.ts +260 -0
  467. package/src/components/form/InputNumber/InputNumber.styles.ts +76 -25
  468. package/src/components/form/InputNumber/InputNumber.tsx +53 -21
  469. package/src/components/form/InputNumber/InputNumber.types.ts +21 -3
  470. package/src/components/form/InputNumber/components/InputNumberClearButton.tsx +3 -11
  471. package/src/components/form/InputNumber/components/InputNumberControls.tsx +3 -12
  472. package/src/components/form/InputNumber/hooks/index.ts +1 -1
  473. package/src/components/form/InputNumber/hooks/useInputNumberState.ts +7 -9
  474. package/src/components/form/InputNumber/hooks/useInputNumberValidation.ts +18 -17
  475. package/src/components/form/InputNumber/index.ts +7 -7
  476. package/src/components/form/Radio/Radio.styles.ts +1 -8
  477. package/src/components/form/Radio/Radio.tsx +3 -9
  478. package/src/components/form/Radio/Radio.types.ts +5 -1
  479. package/src/components/form/Select/Select.styles.ts +5 -1
  480. package/src/components/form/Select/Select.tsx +15 -15
  481. package/src/components/form/Select/Select.types.ts +2 -1
  482. package/src/components/form/Slider/Slider.styles.ts +13 -13
  483. package/src/components/form/Slider/Slider.tsx +19 -33
  484. package/src/components/form/Slider/Slider.types.ts +14 -12
  485. package/src/components/form/Slider/index.tsx +2 -9
  486. package/src/components/form/Switch/Switch.styles.ts +1 -7
  487. package/src/components/form/Switch/Switch.tsx +7 -13
  488. package/src/components/form/Textarea/Textarea.styles.ts +4 -4
  489. package/src/components/form/Textarea/Textarea.tsx +7 -1
  490. package/src/components/form/Textarea/Textarea.types.ts +4 -1
  491. package/src/components/form/TimePicker/TimePicker.styles.ts +8 -12
  492. package/src/components/form/TimePicker/TimePicker.tsx +122 -100
  493. package/src/components/form/TimePicker/TimePicker.types.ts +2 -2
  494. package/src/components/form/TimePicker/index.ts +1 -1
  495. package/src/components/form/Transfer/Transfer.styles.ts +3 -15
  496. package/src/components/form/Transfer/Transfer.tsx +146 -134
  497. package/src/components/form/Transfer/Transfer.types.ts +34 -26
  498. package/src/components/form/Transfer/components/TransferItem.tsx +55 -62
  499. package/src/components/form/Transfer/components/TransferList.tsx +212 -199
  500. package/src/components/form/Transfer/components/TransferOperations.tsx +52 -55
  501. package/src/components/form/Transfer/components/TransferPagination.tsx +115 -111
  502. package/src/components/form/Transfer/components/TransferSearch.tsx +52 -55
  503. package/src/components/form/Transfer/hooks/useTransferData.ts +91 -81
  504. package/src/components/form/Transfer/hooks/useTransferState.ts +22 -16
  505. package/src/components/form/Transfer/index.ts +2 -8
  506. package/src/components/form/Upload/Upload.styles.ts +21 -21
  507. package/src/components/form/Upload/Upload.tsx +189 -142
  508. package/src/components/form/Upload/Upload.types.ts +31 -31
  509. package/src/components/form/Upload/index.tsx +1 -1
  510. package/src/components/form/index.tsx +60 -29
  511. package/src/components/index.tsx +0 -1
  512. package/src/components/layout/Affix/Affix.styles.ts +16 -11
  513. package/src/components/layout/Affix/Affix.tsx +67 -75
  514. package/src/components/layout/Affix/Affix.types.ts +18 -18
  515. package/src/components/layout/Affix/index.tsx +1 -1
  516. package/src/components/layout/Col/Col.styles.ts +17 -17
  517. package/src/components/layout/Col/Col.test.tsx +7 -5
  518. package/src/components/layout/Col/Col.tsx +3 -21
  519. package/src/components/layout/Col/Col.types.ts +1 -1
  520. package/src/components/layout/Container/Container.styles.ts +3 -1
  521. package/src/components/layout/Container/Container.tsx +2 -11
  522. package/src/components/layout/Grid/Grid.tsx +3 -53
  523. package/src/components/layout/Layout/Content.tsx +24 -32
  524. package/src/components/layout/Layout/Footer.tsx +24 -32
  525. package/src/components/layout/Layout/Header.tsx +24 -32
  526. package/src/components/layout/Layout/Layout.styles.ts +17 -17
  527. package/src/components/layout/Layout/Layout.tsx +14 -25
  528. package/src/components/layout/Layout/Layout.types.ts +29 -29
  529. package/src/components/layout/Layout/Sider.tsx +44 -56
  530. package/src/components/layout/Layout/index.tsx +16 -2
  531. package/src/components/layout/Row/Row.tsx +15 -43
  532. package/src/components/layout/Space/Space.tsx +3 -11
  533. package/src/components/layout/Space/Space.types.ts +1 -1
  534. package/src/components/layout/index.tsx +29 -19
  535. package/src/components/navigation/Menu/Menu.constants.ts +69 -0
  536. package/src/components/navigation/Menu/Menu.stories.tsx +107 -0
  537. package/src/components/navigation/Menu/Menu.styles.ts +25 -37
  538. package/src/components/navigation/Menu/Menu.tsx +8 -11
  539. package/src/components/navigation/Menu/Menu.types.ts +2 -2
  540. package/src/components/navigation/Menu/Menu.utils.ts +17 -17
  541. package/src/components/navigation/Menu/MenuItem.tsx +9 -11
  542. package/src/components/navigation/Menu/SubMenu.tsx +8 -6
  543. package/src/components/navigation/Menu/index.tsx +4 -69
  544. package/src/components/navigation/NavBar/NavBar.styles.ts +1 -1
  545. package/src/components/navigation/NavBar/NavBar.tsx +7 -10
  546. package/src/components/navigation/NavBar/NavBar.types.ts +3 -3
  547. package/src/components/navigation/NavBar/index.tsx +1 -1
  548. package/src/components/navigation/Pagination/Pagination.test.tsx +2 -3
  549. package/src/components/navigation/Pagination/Pagination.tsx +3 -3
  550. package/src/components/navigation/Pagination/Pagination.types.ts +3 -2
  551. package/src/components/navigation/Pagination/index.ts +9 -3
  552. package/src/components/navigation/Steps/Step.tsx +24 -44
  553. package/src/components/navigation/Steps/Steps.styles.ts +28 -13
  554. package/src/components/navigation/Steps/Steps.test.tsx +2 -0
  555. package/src/components/navigation/Steps/Steps.tsx +88 -89
  556. package/src/components/navigation/Steps/Steps.types.ts +30 -30
  557. package/src/components/navigation/Steps/index.tsx +1 -1
  558. package/src/components/navigation/Tabs/Tabs.test.tsx +3 -2
  559. package/src/components/navigation/Tabs/Tabs.types.ts +4 -3
  560. package/src/components/navigation/index.tsx +21 -16
  561. package/src/constants/index.ts +1 -1
  562. package/src/hooks/index.ts +52 -102
  563. package/src/hooks/types.ts +4 -5
  564. package/src/hooks/useAsync.ts +46 -47
  565. package/src/hooks/useClickOutside.ts +52 -0
  566. package/src/hooks/useCounter.ts +87 -0
  567. package/src/hooks/useDebounce.ts +150 -0
  568. package/src/hooks/useDeepCompareEffect.ts +88 -0
  569. package/src/hooks/useEventListener.ts +77 -0
  570. package/src/hooks/useMediaQuery.ts +75 -0
  571. package/src/hooks/useMutation.ts +233 -0
  572. package/src/hooks/usePerformance.ts +1 -64
  573. package/src/hooks/usePlatform.ts +3 -1
  574. package/src/hooks/usePrevious.ts +25 -0
  575. package/src/hooks/useRequest.ts +12 -7
  576. package/src/hooks/useStateManagement.ts +1 -1
  577. package/src/hooks/useStorage.ts +169 -0
  578. package/src/hooks/useStyle.ts +8 -2
  579. package/src/hooks/useToggle.ts +54 -0
  580. package/src/index.ts +34 -9
  581. package/src/theme/ThemeProvider.tsx +3 -7
  582. package/src/theme/ThemeProvider.types.ts +1 -1
  583. package/src/theme/defaults.ts +1 -1
  584. package/src/theme/design-system.ts +2 -2
  585. package/src/theme/design-tokens.ts +85 -99
  586. package/src/theme/generated/dark-theme.scss +1 -1
  587. package/src/theme/generated/tokens.scss +82 -18
  588. package/src/theme/index.ts +8 -29
  589. package/src/theme/responsive.tsx +36 -34
  590. package/src/theme/styles.ts +1 -1
  591. package/src/theme/useThemeUtils.ts +43 -43
  592. package/src/theme/utils.ts +32 -32
  593. package/src/theme/variables.ts +70 -51
  594. package/src/types/accessibility.ts +36 -37
  595. package/src/types/button.ts +25 -27
  596. package/src/types/component-props.ts +6 -1
  597. package/src/types/glob.d.ts +4 -0
  598. package/src/types/index.ts +2 -2
  599. package/src/types/standardized-components.ts +9 -3
  600. package/src/types/utils.ts +13 -23
  601. package/src/utils/__tests__/responsiveUtils.test.ts +5 -4
  602. package/src/utils/abort-controller.ts +48 -0
  603. package/src/utils/cache.ts +2 -6
  604. package/src/utils/createNamespace.ts +4 -4
  605. package/src/utils/environment.ts +26 -6
  606. package/src/utils/error-handler.ts +2 -2
  607. package/src/utils/errorLogger.ts +16 -20
  608. package/src/utils/formatUtils.ts +38 -70
  609. package/src/utils/http/error-codes.ts +314 -0
  610. package/src/utils/http/http-client.test.ts +63 -0
  611. package/src/utils/{network → http}/http-client.ts +45 -35
  612. package/src/utils/http/request-cache.ts +127 -0
  613. package/src/utils/http/request.ts +954 -0
  614. package/src/utils/http/taro-adapter.test.ts +74 -0
  615. package/src/utils/http/taro-adapter.ts +24 -0
  616. package/src/utils/http/types.ts +414 -0
  617. package/src/utils/http/web-adapter.ts +33 -0
  618. package/src/utils/index.ts +5 -8
  619. package/src/utils/inputValidator.ts +17 -14
  620. package/src/utils/performance/performance.ts +60 -71
  621. package/src/utils/responsiveUtils.ts +7 -16
  622. package/src/utils/rtl-support.ts +29 -19
  623. package/src/utils/security/api-security.ts +47 -39
  624. package/src/utils/securityHeaders.ts +61 -67
  625. package/src/utils/typeHelpers.ts +10 -10
  626. package/src/utils/types/dataProcessing.ts +93 -92
  627. package/src/utils/types/typeHelpers.ts +31 -21
  628. package/src/utils/xssProtection.ts +96 -48
  629. package/dist/js/index-6NJ3A1Dn.js.map +0 -1
  630. package/dist/js/index-DffLRSro.js.map +0 -1
  631. package/src/components/form/Input/Input.enhanced.tsx +0 -732
  632. package/src/components/navigation/Menu/__tests__/Menu.test.tsx +0 -687
  633. package/src/components/navigation/Tree/Tree.styles.ts +0 -553
  634. package/src/components/navigation/Tree/Tree.test.basic.tsx +0 -7
  635. package/src/components/navigation/Tree/Tree.test.functional.tsx +0 -496
  636. package/src/components/navigation/Tree/Tree.test.import.check.tsx +0 -6
  637. package/src/components/navigation/Tree/Tree.test.import.tsx +0 -6
  638. package/src/components/navigation/Tree/Tree.test.minimal.tsx +0 -5
  639. package/src/components/navigation/Tree/Tree.test.simple.tsx +0 -30
  640. package/src/components/navigation/Tree/Tree.test.tsx +0 -908
  641. package/src/components/navigation/Tree/Tree.test.working.tsx +0 -673
  642. package/src/components/navigation/Tree/Tree.tsx +0 -600
  643. package/src/components/navigation/Tree/Tree.types.ts +0 -909
  644. package/src/components/navigation/Tree/Tree.utils.ts +0 -452
  645. package/src/components/navigation/Tree/index.ts +0 -33
  646. package/src/components/navigation/Tree/index.tsx +0 -23
  647. package/src/utils/network/http-client.test.ts +0 -18
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Request Cache Manager
3
+ * Provides intelligent request caching and deduplication
4
+ */
5
+ export interface CacheConfig {
6
+ /** Cache time to live in milliseconds */
7
+ ttl?: number;
8
+ /** Cache key generator function */
9
+ keyGenerator?: (url: string, params?: any) => string;
10
+ /** Whether to enable cache */
11
+ enabled?: boolean;
12
+ }
13
+ export interface CachedResponse<T> {
14
+ data: T;
15
+ timestamp: number;
16
+ ttl: number;
17
+ }
18
+ export declare class RequestCache {
19
+ private cache;
20
+ private pendingRequests;
21
+ /**
22
+ * Generate cache key from request config
23
+ */
24
+ generateKey(url: string, params?: any): string;
25
+ /**
26
+ * Get cached response if valid
27
+ */
28
+ get<T>(key: string): T | null;
29
+ /**
30
+ * Set cache entry
31
+ */
32
+ set<T>(key: string, data: T, ttl?: number): void;
33
+ /**
34
+ * Check if request is already in flight
35
+ */
36
+ hasPendingRequest(key: string): boolean;
37
+ /**
38
+ * Get pending request promise
39
+ */
40
+ getPendingRequest<T>(key: string): Promise<T> | undefined;
41
+ /**
42
+ * Set pending request
43
+ */
44
+ setPendingRequest<T>(key: string, promise: Promise<T>): void;
45
+ /**
46
+ * Clear specific cache entry
47
+ */
48
+ clear(key: string): void;
49
+ /**
50
+ * Clear all cache
51
+ */
52
+ clearAll(): void;
53
+ /**
54
+ * Clear expired entries
55
+ */
56
+ clearExpired(): void;
57
+ /**
58
+ * Get cache statistics
59
+ */
60
+ getStats(): {
61
+ size: number;
62
+ pending: number;
63
+ };
64
+ }
65
+ export declare const globalRequestCache: RequestCache;
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Unified Request Client
3
+ * Production-ready HTTP client with multi-platform support, caching, retry logic, and interceptors
4
+ */
5
+ import { RequestCache } from './request-cache';
6
+ import type { RequestOptions, IRequestAdapter, RequestInterceptor, ResponseInterceptor, RetryConfig, InterceptorRegistration } from './types';
7
+ export interface RequestInstanceConfig {
8
+ /** Base URL for all requests */
9
+ baseURL?: string;
10
+ /** Default headers */
11
+ headers?: Record<string, string>;
12
+ /** Default timeout in milliseconds */
13
+ timeout?: number;
14
+ /** Custom adapter */
15
+ adapter?: IRequestAdapter;
16
+ /** Enable request caching */
17
+ enableCache?: boolean;
18
+ /** Default cache TTL */
19
+ cacheTTL?: number;
20
+ /** Default retry configuration */
21
+ retry?: RetryConfig;
22
+ /** Enable security features */
23
+ enableSecurity?: boolean;
24
+ }
25
+ /**
26
+ * Unified Request Client
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const client = new RequestClient({
31
+ * baseURL: 'https://api.example.com',
32
+ * timeout: 10000,
33
+ * enableCache: true,
34
+ * });
35
+ *
36
+ * // GET request
37
+ * const data = await client.get<User>('/users/1');
38
+ *
39
+ * // POST request
40
+ * const created = await client.post<User>('/users', { name: 'John' });
41
+ * ```
42
+ */
43
+ export declare class Request {
44
+ private baseURL;
45
+ private defaultHeaders;
46
+ private defaultTimeout;
47
+ private adapter;
48
+ private cache;
49
+ private errorManager;
50
+ private security;
51
+ private requestInterceptors;
52
+ private responseInterceptors;
53
+ private static globalRequestInterceptors;
54
+ private static globalResponseInterceptors;
55
+ private defaultRetryConfig;
56
+ private enableSecurity;
57
+ private enableCache;
58
+ private cacheTTL;
59
+ constructor(config?: RequestInstanceConfig & {
60
+ _testing?: {
61
+ cache?: RequestCache;
62
+ errorManager?: any;
63
+ security?: any;
64
+ };
65
+ });
66
+ /**
67
+ * Detect appropriate adapter based on environment
68
+ */
69
+ private detectAdapter;
70
+ /**
71
+ * Convert priority string to number
72
+ */
73
+ private getPriorityValue;
74
+ /**
75
+ * Sort interceptors by priority
76
+ */
77
+ private sortInterceptors;
78
+ /**
79
+ * Add request interceptor with enhanced features
80
+ */
81
+ useRequestInterceptor(interceptor: RequestInterceptor): InterceptorRegistration;
82
+ /**
83
+ * Add response interceptor with enhanced features
84
+ */
85
+ useResponseInterceptor(interceptor: ResponseInterceptor): InterceptorRegistration;
86
+ /**
87
+ * Add global request interceptor (shared across all instances)
88
+ */
89
+ static useGlobalRequestInterceptor(interceptor: RequestInterceptor): InterceptorRegistration;
90
+ /**
91
+ * Add global response interceptor (shared across all instances)
92
+ */
93
+ static useGlobalResponseInterceptor(interceptor: ResponseInterceptor): InterceptorRegistration;
94
+ /**
95
+ * Clear all interceptors or by group
96
+ */
97
+ clearInterceptors(group?: string): void;
98
+ /**
99
+ * Clear all global interceptors or by group
100
+ */
101
+ static clearGlobalInterceptors(group?: string): void;
102
+ /**
103
+ * Get all interceptors
104
+ */
105
+ getInterceptors(): {
106
+ request: ({
107
+ id: string;
108
+ } & RequestInterceptor)[];
109
+ response: ({
110
+ id: string;
111
+ } & ResponseInterceptor)[];
112
+ };
113
+ /**
114
+ * Get all global interceptors
115
+ */
116
+ static getGlobalInterceptors(): {
117
+ request: ({
118
+ id: string;
119
+ } & RequestInterceptor)[];
120
+ response: ({
121
+ id: string;
122
+ } & ResponseInterceptor)[];
123
+ };
124
+ /**
125
+ * Build full URL from base and relative URL
126
+ */
127
+ private buildURL;
128
+ /**
129
+ * Append query parameters to URL
130
+ */
131
+ private appendParams;
132
+ /**
133
+ * Calculate retry delay based on strategy
134
+ */
135
+ private calculateRetryDelay;
136
+ /**
137
+ * Execute request with retry logic
138
+ */
139
+ private executeWithRetry;
140
+ /**
141
+ * Build request config from options
142
+ */
143
+ private buildRequestConfig;
144
+ /**
145
+ * Perform security checks and add security headers
146
+ */
147
+ private performSecurityCheck;
148
+ /**
149
+ * Execute request interceptors with global + instance interceptors and priority support
150
+ */
151
+ private executeRequestInterceptors;
152
+ /**
153
+ * Execute response interceptors with global + instance interceptors and priority support
154
+ */
155
+ private executeResponseInterceptors;
156
+ /**
157
+ * Handle request error
158
+ */
159
+ private handleRequestError;
160
+ /**
161
+ * Handle response status
162
+ */
163
+ private handleResponseStatus;
164
+ /**
165
+ * Execute HTTP request
166
+ */
167
+ request<T = any>(options: RequestOptions): Promise<T>;
168
+ /**
169
+ * GET request
170
+ */
171
+ get<T = any>(url: string, options?: Omit<RequestOptions, 'url' | 'method' | 'data'>): Promise<T>;
172
+ /**
173
+ * POST request
174
+ */
175
+ post<T = any>(url: string, data?: any, options?: Omit<RequestOptions, 'url' | 'method' | 'data'>): Promise<T>;
176
+ /**
177
+ * PUT request
178
+ */
179
+ put<T = any>(url: string, data?: any, options?: Omit<RequestOptions, 'url' | 'method' | 'data'>): Promise<T>;
180
+ /**
181
+ * PATCH request
182
+ */
183
+ patch<T = any>(url: string, data?: any, options?: Omit<RequestOptions, 'url' | 'method' | 'data'>): Promise<T>;
184
+ /**
185
+ * DELETE request
186
+ */
187
+ delete<T = any>(url: string, options?: Omit<RequestOptions, 'url' | 'method' | 'data'>): Promise<T>;
188
+ /**
189
+ * Upload file
190
+ */
191
+ upload<T = any>(options: RequestOptions & {
192
+ filePath: string | File;
193
+ name?: string;
194
+ formData?: Record<string, any>;
195
+ onProgress?: (progress: {
196
+ progress: number;
197
+ totalBytesSent: number;
198
+ totalBytesExpectedToSend: number;
199
+ }) => void;
200
+ }): Promise<T>;
201
+ /**
202
+ * Download file
203
+ */
204
+ download<T = any>(options: RequestOptions & {
205
+ filePath?: string;
206
+ onProgress?: (progress: {
207
+ progress: number;
208
+ totalBytesWritten: number;
209
+ totalBytesExpectedToWrite: number;
210
+ }) => void;
211
+ }): Promise<T>;
212
+ /**
213
+ * Clear cache
214
+ */
215
+ clearCache(url?: string, params?: any): void;
216
+ /**
217
+ * Get cache statistics
218
+ */
219
+ getCacheStats(): {
220
+ size: number;
221
+ pending: number;
222
+ };
223
+ /**
224
+ * Execute request with common logic
225
+ */
226
+ private executeRequestWithCommonLogic;
227
+ /**
228
+ * Set default headers
229
+ */
230
+ setDefaultHeaders(headers: Record<string, string>): this;
231
+ /**
232
+ * Update default header
233
+ */
234
+ updateDefaultHeader(key: string, value: string): this;
235
+ /**
236
+ * Remove default header
237
+ */
238
+ removeDefaultHeader(key: string): this;
239
+ /**
240
+ * Set default timeout
241
+ */
242
+ setDefaultTimeout(timeout: number): this;
243
+ /**
244
+ * Enable/disable security features
245
+ */
246
+ setSecurityEnabled(enabled: boolean): this;
247
+ /**
248
+ * Enable/disable cache
249
+ */
250
+ setCacheEnabled(enabled: boolean): this;
251
+ /**
252
+ * Set default cache TTL
253
+ */
254
+ setDefaultCacheTTL(ttl: number): this;
255
+ /**
256
+ * Set authorization header with token
257
+ */
258
+ setAuthToken(token: string, type?: string): this;
259
+ /**
260
+ * Clear authorization header
261
+ */
262
+ clearAuthToken(): this;
263
+ /**
264
+ * Set base URL
265
+ */
266
+ setBaseURL(baseURL: string): this;
267
+ /**
268
+ * Create a new client instance with merged config
269
+ */
270
+ createInstance(config?: RequestInstanceConfig): Request;
271
+ /**
272
+ * Quick GET request with simplified API
273
+ */
274
+ quickGet<T = any>(url: string, params?: Record<string, any>, headers?: Record<string, string>): Promise<T>;
275
+ /**
276
+ * Quick POST request with simplified API
277
+ */
278
+ quickPost<T = any>(url: string, data?: any, headers?: Record<string, string>): Promise<T>;
279
+ }
280
+ export declare const request: Request;
@@ -0,0 +1,4 @@
1
+ import { IRequestAdapter, RequestConfig, ResponseData } from './types';
2
+ export declare class TaroAdapter implements IRequestAdapter {
3
+ request<T = any>(config: RequestConfig): Promise<ResponseData<T>>;
4
+ }
@@ -0,0 +1,351 @@
1
+ /**
2
+ * Enhanced Request Types
3
+ * Extended type definitions for the unified request client
4
+ */
5
+ /** HTTP Methods */
6
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
7
+ /** Platform types */
8
+ export type Platform = 'web' | 'weapp' | 'alipay' | 'swan' | 'tt' | 'qq' | 'jd' | 'h5' | 'rn';
9
+ /** Request configuration */
10
+ export interface RequestConfig {
11
+ /** Request URL */
12
+ url: string;
13
+ /** HTTP method */
14
+ method?: HttpMethod;
15
+ /** Request headers */
16
+ headers?: Record<string, string>;
17
+ /** Request body data */
18
+ data?: any;
19
+ /** URL query parameters */
20
+ params?: Record<string, any>;
21
+ /** Request timeout in milliseconds */
22
+ timeout?: number;
23
+ /** Response type */
24
+ responseType?: 'json' | 'text' | 'arraybuffer' | 'blob';
25
+ /** Enable credentials (cookies) */
26
+ withCredentials?: boolean;
27
+ /** Custom request metadata */
28
+ meta?: Record<string, any>;
29
+ }
30
+ /** Response data structure */
31
+ export interface ResponseData<T = any> {
32
+ /** Response data */
33
+ data: T;
34
+ /** HTTP status code */
35
+ statusCode: number;
36
+ /** Response headers */
37
+ header: Record<string, string>;
38
+ /** Error message (if any) */
39
+ errMsg?: string;
40
+ /** Response cookies */
41
+ cookies?: string[];
42
+ }
43
+ /** Interceptor priority levels */
44
+ export type InterceptorPriority = 'low' | 'medium' | 'high' | number;
45
+ /** Request interceptor function with enhanced features */
46
+ export interface RequestInterceptor {
47
+ /** Called before request is sent */
48
+ onRequest?: (config: RequestConfig) => RequestConfig | Promise<RequestConfig>;
49
+ /** Called if request configuration fails */
50
+ onRequestError?: (error: Error) => Error | Promise<Error>;
51
+ /** Interceptor priority */
52
+ priority?: InterceptorPriority;
53
+ /** Interceptor group name */
54
+ group?: string;
55
+ }
56
+ /** Response interceptor function with enhanced features */
57
+ export interface ResponseInterceptor {
58
+ /** Called on successful response */
59
+ onResponse?: <T>(response: ResponseData<T>) => ResponseData<T> | Promise<ResponseData<T>>;
60
+ /** Called on response error */
61
+ onResponseError?: (error: Error) => Error | Promise<Error>;
62
+ /** Interceptor priority */
63
+ priority?: InterceptorPriority;
64
+ /** Interceptor group name */
65
+ group?: string;
66
+ }
67
+ /** Interceptor registration result */
68
+ export interface InterceptorRegistration {
69
+ /** ID of the registered interceptor */
70
+ id: string;
71
+ /** Function to remove the interceptor */
72
+ eject: () => void;
73
+ }
74
+ /** Global interceptors manager */
75
+ export interface GlobalInterceptorsManager {
76
+ /** Add a global request interceptor */
77
+ useRequestInterceptor: (interceptor: RequestInterceptor) => InterceptorRegistration;
78
+ /** Add a global response interceptor */
79
+ useResponseInterceptor: (interceptor: ResponseInterceptor) => InterceptorRegistration;
80
+ /** Remove all global interceptors */
81
+ clearAll: () => void;
82
+ /** Remove all interceptors by group */
83
+ clearByGroup: (group: string) => void;
84
+ /** Get all global request interceptors */
85
+ getRequestInterceptors: () => Array<{
86
+ id: string;
87
+ } & RequestInterceptor>;
88
+ /** Get all global response interceptors */
89
+ getResponseInterceptors: () => Array<{
90
+ id: string;
91
+ } & ResponseInterceptor>;
92
+ }
93
+ /** Retry configuration */
94
+ export interface RetryConfig {
95
+ /** Maximum number of retries */
96
+ retries?: number;
97
+ /** Delay between retries in milliseconds */
98
+ retryDelay?: number;
99
+ /** Function to determine if request should be retried */
100
+ shouldRetry?: (error: Error, attempt: number) => boolean;
101
+ /** Retry delay strategy */
102
+ retryDelayStrategy?: 'fixed' | 'exponential' | 'linear';
103
+ /** Maximum retry delay */
104
+ maxRetryDelay?: number;
105
+ }
106
+ /** Cache configuration */
107
+ export interface CacheConfig {
108
+ /** Enable caching */
109
+ enabled?: boolean;
110
+ /** Cache TTL in milliseconds */
111
+ ttl?: number;
112
+ /** Custom cache key generator */
113
+ keyGenerator?: (config: RequestConfig) => string;
114
+ /** Force refresh (bypass cache) */
115
+ forceRefresh?: boolean;
116
+ }
117
+ /** Loading state configuration */
118
+ export interface LoadingConfig {
119
+ /** Show global loading indicator */
120
+ showLoading?: boolean;
121
+ /** Custom loading text */
122
+ loadingText?: string;
123
+ /** Loading delay (ms) before showing indicator */
124
+ loadingDelay?: number;
125
+ }
126
+ /** Request options (extends config with additional features) */
127
+ export interface RequestOptions extends RequestConfig {
128
+ /** Base URL to prepend */
129
+ baseURL?: string;
130
+ /** Retry configuration */
131
+ retry?: RetryConfig;
132
+ /** Cache configuration */
133
+ cache?: CacheConfig;
134
+ /** Loading state configuration */
135
+ loading?: LoadingConfig;
136
+ /** Cancel token for request cancellation */
137
+ cancelToken?: AbortSignal;
138
+ /** Request hooks */
139
+ hooks?: {
140
+ /** Before request sent */
141
+ beforeRequest?: (config: RequestConfig) => void;
142
+ /** After response received */
143
+ afterResponse?: <T>(response: ResponseData<T>) => void;
144
+ /** On request error */
145
+ onError?: (error: Error) => void;
146
+ };
147
+ }
148
+ /** Platform adapter interface */
149
+ export interface IRequestAdapter {
150
+ /** Execute HTTP request */
151
+ request<T = any>(config: RequestConfig): Promise<ResponseData<T>>;
152
+ /** Upload file */
153
+ upload?<T = any>(config: UploadConfig): Promise<ResponseData<T>>;
154
+ /** Download file */
155
+ download?<T = any>(config: DownloadConfig): Promise<ResponseData<T>>;
156
+ }
157
+ /** Upload configuration */
158
+ export interface UploadConfig extends Omit<RequestConfig, 'data'> {
159
+ /** File path or file object */
160
+ filePath: string | File;
161
+ /** Form field name for file */
162
+ name?: string;
163
+ /** Additional form data */
164
+ formData?: Record<string, any>;
165
+ /** Upload progress callback */
166
+ onProgress?: (progress: UploadProgress) => void;
167
+ }
168
+ /** Upload progress */
169
+ export interface UploadProgress {
170
+ /** Upload progress percentage (0-100) */
171
+ progress: number;
172
+ /** Total bytes to upload */
173
+ totalBytesSent: number;
174
+ /** Bytes sent so far */
175
+ totalBytesExpectedToSend: number;
176
+ }
177
+ /** Download configuration */
178
+ export interface DownloadConfig extends Omit<RequestConfig, 'data' | 'responseType'> {
179
+ /** Download destination path */
180
+ filePath?: string;
181
+ /** Download progress callback */
182
+ onProgress?: (progress: DownloadProgress) => void;
183
+ }
184
+ /** Download progress */
185
+ export interface DownloadProgress {
186
+ /** Download progress percentage (0-100) */
187
+ progress: number;
188
+ /** Total bytes downloaded */
189
+ totalBytesWritten: number;
190
+ /** Expected total bytes */
191
+ totalBytesExpectedToWrite: number;
192
+ }
193
+ /** HTTP client error */
194
+ export declare class HttpError extends Error {
195
+ statusCode?: number | undefined;
196
+ response?: ResponseData | undefined;
197
+ config?: RequestConfig | undefined;
198
+ requestId?: string;
199
+ timestamp: number;
200
+ retryAttempts?: number;
201
+ platform?: Platform;
202
+ constructor(message: string, statusCode?: number | undefined, response?: ResponseData | undefined, config?: RequestConfig | undefined, options?: {
203
+ retryAttempts?: number;
204
+ platform?: Platform;
205
+ requestId?: string;
206
+ });
207
+ toJSON(): {
208
+ name: string;
209
+ message: string;
210
+ statusCode: number | undefined;
211
+ requestId: string | undefined;
212
+ timestamp: number;
213
+ retryAttempts: number | undefined;
214
+ platform: Platform | undefined;
215
+ url: string | undefined;
216
+ method: HttpMethod | undefined;
217
+ response: ResponseData<any> | undefined;
218
+ };
219
+ }
220
+ /** Network error (no response received) */
221
+ export declare class NetworkError extends Error {
222
+ config?: RequestConfig | undefined;
223
+ requestId?: string;
224
+ timestamp: number;
225
+ retryAttempts?: number;
226
+ platform?: Platform;
227
+ constructor(message: string, config?: RequestConfig | undefined, options?: {
228
+ retryAttempts?: number;
229
+ platform?: Platform;
230
+ requestId?: string;
231
+ });
232
+ toJSON(): {
233
+ name: string;
234
+ message: string;
235
+ requestId: string | undefined;
236
+ timestamp: number;
237
+ retryAttempts: number | undefined;
238
+ platform: Platform | undefined;
239
+ url: string | undefined;
240
+ method: HttpMethod | undefined;
241
+ };
242
+ }
243
+ /** Timeout error */
244
+ export declare class TimeoutError extends Error {
245
+ timeout?: number | undefined;
246
+ config?: RequestConfig | undefined;
247
+ requestId?: string;
248
+ timestamp: number;
249
+ retryAttempts?: number;
250
+ platform?: Platform;
251
+ constructor(message: string, timeout?: number | undefined, config?: RequestConfig | undefined, options?: {
252
+ retryAttempts?: number;
253
+ platform?: Platform;
254
+ requestId?: string;
255
+ });
256
+ toJSON(): {
257
+ name: string;
258
+ message: string;
259
+ timeout: number | undefined;
260
+ requestId: string | undefined;
261
+ timestamp: number;
262
+ retryAttempts: number | undefined;
263
+ platform: Platform | undefined;
264
+ url: string | undefined;
265
+ method: HttpMethod | undefined;
266
+ };
267
+ }
268
+ /** Cancel error */
269
+ export declare class CancelError extends Error {
270
+ config?: RequestConfig | undefined;
271
+ requestId?: string;
272
+ timestamp: number;
273
+ platform?: Platform;
274
+ constructor(message?: string, config?: RequestConfig | undefined, options?: {
275
+ platform?: Platform;
276
+ requestId?: string;
277
+ });
278
+ toJSON(): {
279
+ name: string;
280
+ message: string;
281
+ requestId: string | undefined;
282
+ timestamp: number;
283
+ platform: Platform | undefined;
284
+ url: string | undefined;
285
+ method: HttpMethod | undefined;
286
+ };
287
+ }
288
+ /** Request state (for hooks) */
289
+ export interface RequestState<T> {
290
+ /** Response data */
291
+ data: T | null;
292
+ /** Error object */
293
+ error: Error | null;
294
+ /** Loading state */
295
+ loading: boolean;
296
+ /** Request has been called at least once */
297
+ called: boolean;
298
+ }
299
+ /** Mutation state (for hooks) */
300
+ export interface MutationState<T, V = any> {
301
+ /** Response data */
302
+ data: T | null;
303
+ /** Error object */
304
+ error: Error | null;
305
+ /** Loading state */
306
+ loading: boolean;
307
+ /** Mutation variables */
308
+ variables: V | null;
309
+ }
310
+ /** Request hook options */
311
+ export interface UseRequestOptions<T> extends Omit<RequestOptions, 'url' | 'method' | 'data' | 'params'> {
312
+ /** Manual mode - don't execute on mount */
313
+ manual?: boolean;
314
+ /** Default data value */
315
+ initialData?: T;
316
+ /** Dependencies array for auto-refetch */
317
+ deps?: any[];
318
+ /** Debounce delay in milliseconds */
319
+ debounceDelay?: number;
320
+ /** Polling interval in milliseconds */
321
+ pollingInterval?: number;
322
+ /** Ready condition - only execute when true */
323
+ ready?: boolean;
324
+ /** Refresh dependencies - refetch when these change */
325
+ refreshDeps?: any[];
326
+ /** Format response data */
327
+ formatResult?: (data: any) => T;
328
+ /** Error handler */
329
+ onError?: (error: Error) => void;
330
+ /** Success handler */
331
+ onSuccess?: (data: T) => void;
332
+ /** Completion handler (success or error) */
333
+ onCompleted?: (data: T | null, error: Error | null) => void;
334
+ }
335
+ /** Mutation hook options */
336
+ export interface UseMutationOptions<T, V = any> extends Omit<RequestOptions, 'url' | 'method' | 'data' | 'params'> {
337
+ /** Optimistic update function */
338
+ optimisticData?: (variables: V) => T;
339
+ /** Rollback on error */
340
+ rollbackOnError?: boolean;
341
+ /** Error handler */
342
+ onError?: (error: Error, variables: V) => void;
343
+ /** Success handler */
344
+ onSuccess?: (data: T, variables: V) => void;
345
+ /** Before mutation */
346
+ onMutate?: (variables: V) => void | Promise<void>;
347
+ /** After mutation completes */
348
+ onCompleted?: (data: T | null, error: Error | null, variables: V) => void;
349
+ }
350
+ /** Query key type */
351
+ export type QueryKey = string | readonly unknown[];
@@ -0,0 +1,4 @@
1
+ import { IRequestAdapter, RequestConfig, ResponseData } from './types';
2
+ export declare class WebAdapter implements IRequestAdapter {
3
+ request<T = any>(config: RequestConfig): Promise<ResponseData<T>>;
4
+ }