@xhsreds/reds-rn-next 0.1.2 → 0.1.4

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 (335) hide show
  1. package/benchmarks/out.json +900 -820
  2. package/coverage/.tmp/coverage-0.json +1 -1
  3. package/coverage/.tmp/coverage-1.json +1 -1
  4. package/coverage/.tmp/coverage-10.json +1 -1
  5. package/coverage/.tmp/coverage-12.json +1 -1
  6. package/coverage/.tmp/coverage-13.json +1 -1
  7. package/coverage/.tmp/coverage-14.json +1 -1
  8. package/coverage/.tmp/coverage-15.json +1 -1
  9. package/coverage/.tmp/coverage-16.json +1 -1
  10. package/coverage/.tmp/coverage-17.json +1 -1
  11. package/coverage/.tmp/coverage-18.json +1 -1
  12. package/coverage/.tmp/coverage-19.json +1 -1
  13. package/coverage/.tmp/coverage-2.json +1 -1
  14. package/coverage/.tmp/coverage-20.json +1 -1
  15. package/coverage/.tmp/coverage-21.json +1 -1
  16. package/coverage/.tmp/coverage-22.json +1 -1
  17. package/coverage/.tmp/coverage-23.json +1 -1
  18. package/coverage/.tmp/coverage-24.json +1 -1
  19. package/coverage/.tmp/coverage-25.json +1 -1
  20. package/coverage/.tmp/coverage-26.json +1 -1
  21. package/coverage/.tmp/coverage-27.json +1 -1
  22. package/coverage/.tmp/coverage-28.json +1 -1
  23. package/coverage/.tmp/coverage-29.json +1 -0
  24. package/coverage/.tmp/coverage-3.json +1 -1
  25. package/coverage/.tmp/coverage-30.json +1 -0
  26. package/coverage/.tmp/coverage-31.json +1 -0
  27. package/coverage/.tmp/coverage-32.json +1 -0
  28. package/coverage/.tmp/coverage-4.json +1 -1
  29. package/coverage/.tmp/coverage-5.json +1 -1
  30. package/coverage/.tmp/coverage-6.json +1 -1
  31. package/coverage/.tmp/coverage-7.json +1 -1
  32. package/coverage/.tmp/coverage-8.json +1 -1
  33. package/coverage/.tmp/coverage-9.json +1 -1
  34. package/lib/cjs/_chunks/CkkZzOy_.js +23 -0
  35. package/lib/cjs/_chunks/CkkZzOy_.js.map +1 -0
  36. package/lib/cjs/_chunks/GhFTd1qc.js +22 -0
  37. package/lib/cjs/_chunks/GhFTd1qc.js.map +1 -0
  38. package/lib/cjs/_chunks/RPaDcSae.js +20 -0
  39. package/lib/cjs/_chunks/RPaDcSae.js.map +1 -0
  40. package/lib/cjs/_chunks/bwo-gq0b.js +66 -0
  41. package/lib/cjs/_chunks/bwo-gq0b.js.map +1 -0
  42. package/lib/cjs/components/ActionSheets/ActionSheets.js +99 -0
  43. package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -0
  44. package/lib/cjs/components/ActionSheets/index.js +37 -0
  45. package/lib/cjs/components/ActionSheets/index.js.map +1 -0
  46. package/lib/cjs/components/ActionSheets/interface/index.js +9 -0
  47. package/lib/cjs/components/ActionSheets/interface/index.js.map +1 -0
  48. package/lib/cjs/components/ActionSheets/styles.js +59 -0
  49. package/lib/cjs/components/ActionSheets/styles.js.map +1 -0
  50. package/lib/cjs/components/Alert/Alert.js +143 -0
  51. package/lib/cjs/components/Alert/Alert.js.map +1 -0
  52. package/lib/cjs/components/Alert/index.js +145 -0
  53. package/lib/cjs/components/Alert/index.js.map +1 -0
  54. package/lib/cjs/components/Alert/interface/index.js +8 -0
  55. package/lib/cjs/components/Alert/interface/index.js.map +1 -0
  56. package/lib/cjs/components/Alert/styles.js +124 -0
  57. package/lib/cjs/components/Alert/styles.js.map +1 -0
  58. package/lib/cjs/components/Avatar/Avatar.js +1 -1
  59. package/lib/cjs/components/Avatar/Avatar.js.map +1 -1
  60. package/lib/cjs/components/AvatarGroup/AvatarGroup.js +97 -98
  61. package/lib/cjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
  62. package/lib/cjs/components/AvatarGroup/index.js +61 -21
  63. package/lib/cjs/components/AvatarGroup/index.js.map +1 -1
  64. package/lib/cjs/components/Button/Button.js +1 -1
  65. package/lib/cjs/components/Button/Button.js.map +1 -1
  66. package/lib/cjs/components/FAB/FAB.js +1 -1
  67. package/lib/cjs/components/FAB/FAB.js.map +1 -1
  68. package/lib/cjs/components/Image/hook/index.js +2 -2
  69. package/lib/cjs/components/Image/hook/index.js.map +1 -1
  70. package/lib/cjs/components/ImagePreview/ImagePreview.js +96 -68
  71. package/lib/cjs/components/ImagePreview/ImagePreview.js.map +1 -1
  72. package/lib/cjs/components/ImagePreview/ImageViewer3.js +3 -3
  73. package/lib/cjs/components/ImagePreview/ImageViewer3.js.map +1 -1
  74. package/lib/cjs/components/ImagePreview/index.js +65 -20
  75. package/lib/cjs/components/ImagePreview/index.js.map +1 -1
  76. package/lib/cjs/components/List/ListItem/ListItem.js +94 -113
  77. package/lib/cjs/components/List/ListItem/ListItem.js.map +1 -1
  78. package/lib/cjs/components/List/index.js +59 -18
  79. package/lib/cjs/components/List/index.js.map +1 -1
  80. package/lib/cjs/components/Picker/Picker.js +6 -1
  81. package/lib/cjs/components/Picker/Picker.js.map +1 -1
  82. package/lib/cjs/components/Picker/index.js +6 -1
  83. package/lib/cjs/components/Picker/index.js.map +1 -1
  84. package/lib/cjs/components/Sheets/Sheets.js +168 -16
  85. package/lib/cjs/components/Sheets/Sheets.js.map +1 -1
  86. package/lib/cjs/components/Sheets/index.js +9 -3
  87. package/lib/cjs/components/Sheets/index.js.map +1 -1
  88. package/lib/cjs/components/Sheets/interface/index.js +6 -1
  89. package/lib/cjs/components/Sheets/interface/index.js.map +1 -1
  90. package/lib/cjs/components/Sheets/styles.js +39 -11
  91. package/lib/cjs/components/Sheets/styles.js.map +1 -1
  92. package/lib/cjs/components/Silder/Silder.js +71 -0
  93. package/lib/cjs/components/Silder/Silder.js.map +1 -0
  94. package/lib/cjs/components/Silder/index.js +18 -0
  95. package/lib/cjs/components/Silder/index.js.map +1 -0
  96. package/lib/cjs/components/Silder/interface/index.js +9 -0
  97. package/lib/cjs/components/Silder/interface/index.js.map +1 -0
  98. package/lib/cjs/components/Silder/styles.js +29 -0
  99. package/lib/cjs/components/Silder/styles.js.map +1 -0
  100. package/lib/cjs/components/TabBar/TabBar.js +10 -10
  101. package/lib/cjs/components/TabBar/TabBar.js.map +1 -1
  102. package/lib/cjs/components/Tag/Tag.js +1 -1
  103. package/lib/cjs/components/Tag/Tag.js.map +1 -1
  104. package/lib/cjs/components/Text/hooks/loadFontFromFile.js +1 -1
  105. package/lib/cjs/components/Text/hooks/loadFontFromFile.js.map +1 -1
  106. package/lib/cjs/index.js +254 -30
  107. package/lib/cjs/index.js.map +1 -1
  108. package/lib/esm/_chunks/BJ2Kj1Vd.js +58 -0
  109. package/lib/esm/_chunks/BJ2Kj1Vd.js.map +1 -0
  110. package/lib/esm/_chunks/BKEXyO9m.js +19 -0
  111. package/lib/esm/_chunks/BKEXyO9m.js.map +1 -0
  112. package/lib/esm/_chunks/{D-HreRcG.js → CwHnr-H1.js} +2 -2
  113. package/lib/esm/_chunks/{D-HreRcG.js.map → CwHnr-H1.js.map} +1 -1
  114. package/lib/esm/_chunks/DHJk9lIr.js +19 -0
  115. package/lib/esm/_chunks/DHJk9lIr.js.map +1 -0
  116. package/lib/esm/_chunks/RRfNwNcs.js +17 -0
  117. package/lib/esm/_chunks/RRfNwNcs.js.map +1 -0
  118. package/lib/esm/components/ActionSheets/ActionSheets.js +95 -0
  119. package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -0
  120. package/lib/esm/components/ActionSheets/index.js +31 -0
  121. package/lib/esm/components/ActionSheets/index.js.map +1 -0
  122. package/lib/esm/components/ActionSheets/interface/index.js +2 -0
  123. package/lib/esm/components/ActionSheets/interface/index.js.map +1 -0
  124. package/lib/esm/components/ActionSheets/styles.js +55 -0
  125. package/lib/esm/components/ActionSheets/styles.js.map +1 -0
  126. package/lib/esm/components/Alert/Alert.js +135 -0
  127. package/lib/esm/components/Alert/Alert.js.map +1 -0
  128. package/lib/esm/components/Alert/index.js +139 -0
  129. package/lib/esm/components/Alert/index.js.map +1 -0
  130. package/lib/esm/components/Alert/interface/index.js +2 -0
  131. package/lib/esm/components/Alert/interface/index.js.map +1 -0
  132. package/lib/esm/components/Alert/styles.js +122 -0
  133. package/lib/esm/components/Alert/styles.js.map +1 -0
  134. package/lib/esm/components/Avatar/Avatar.js +2 -2
  135. package/lib/esm/components/Avatar/Avatar.js.map +1 -1
  136. package/lib/esm/components/Avatar/index.js +1 -1
  137. package/lib/esm/components/Avatar/styles.js +1 -1
  138. package/lib/esm/components/AvatarGroup/AvatarGroup.js +95 -100
  139. package/lib/esm/components/AvatarGroup/AvatarGroup.js.map +1 -1
  140. package/lib/esm/components/AvatarGroup/index.js +59 -19
  141. package/lib/esm/components/AvatarGroup/index.js.map +1 -1
  142. package/lib/esm/components/Badge/Badge.js +1 -1
  143. package/lib/esm/components/Badge/index.js +1 -1
  144. package/lib/esm/components/BottomBar/BottomBar.js +1 -1
  145. package/lib/esm/components/BottomBar/index.js +1 -1
  146. package/lib/esm/components/Button/Button.js +2 -2
  147. package/lib/esm/components/Button/Button.js.map +1 -1
  148. package/lib/esm/components/Button/index.js +1 -1
  149. package/lib/esm/components/Button/styleMap.js +1 -1
  150. package/lib/esm/components/Collapse/Collapse.js +1 -1
  151. package/lib/esm/components/Collapse/Item/Item.js +1 -1
  152. package/lib/esm/components/Collapse/Item/styles.js +1 -1
  153. package/lib/esm/components/Collapse/index.js +1 -1
  154. package/lib/esm/components/ConfigProvider/ConfigProvider.js +1 -1
  155. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  156. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  157. package/lib/esm/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  158. package/lib/esm/components/ConfigProvider/index.js +1 -1
  159. package/lib/esm/components/Divider/Divider.js +1 -1
  160. package/lib/esm/components/Divider/index.js +1 -1
  161. package/lib/esm/components/Divider/styles.js +1 -1
  162. package/lib/esm/components/DropDown/DropDown.js +1 -1
  163. package/lib/esm/components/DropDown/DropDownItem.js +1 -1
  164. package/lib/esm/components/DropDown/index.js +1 -1
  165. package/lib/esm/components/DropDown/styles.js +1 -1
  166. package/lib/esm/components/Empty/Empty.js +1 -1
  167. package/lib/esm/components/Empty/index.js +1 -1
  168. package/lib/esm/components/Empty/styles.js +1 -1
  169. package/lib/esm/components/FAB/FAB.js +2 -2
  170. package/lib/esm/components/FAB/FAB.js.map +1 -1
  171. package/lib/esm/components/FAB/index.js +1 -1
  172. package/lib/esm/components/Image/Image.js +1 -1
  173. package/lib/esm/components/Image/hook/index.js +3 -3
  174. package/lib/esm/components/Image/hook/index.js.map +1 -1
  175. package/lib/esm/components/Image/index.js +1 -1
  176. package/lib/esm/components/ImagePreview/Gesture/useGesture.js +1 -1
  177. package/lib/esm/components/ImagePreview/ImagePreview.js +95 -71
  178. package/lib/esm/components/ImagePreview/ImagePreview.js.map +1 -1
  179. package/lib/esm/components/ImagePreview/ImageViewer.js +1 -1
  180. package/lib/esm/components/ImagePreview/ImageViewer3.js +4 -4
  181. package/lib/esm/components/ImagePreview/ImageViewer3.js.map +1 -1
  182. package/lib/esm/components/ImagePreview/index.js +63 -18
  183. package/lib/esm/components/ImagePreview/index.js.map +1 -1
  184. package/lib/esm/components/List/ListItem/ListItem.js +92 -115
  185. package/lib/esm/components/List/ListItem/ListItem.js.map +1 -1
  186. package/lib/esm/components/List/index.js +59 -18
  187. package/lib/esm/components/List/index.js.map +1 -1
  188. package/lib/esm/components/Picker/Picker.js +7 -2
  189. package/lib/esm/components/Picker/Picker.js.map +1 -1
  190. package/lib/esm/components/Picker/index.js +7 -2
  191. package/lib/esm/components/Picker/index.js.map +1 -1
  192. package/lib/esm/components/PickerView/PickerView.js +1 -1
  193. package/lib/esm/components/PickerView/Wheel.js +1 -1
  194. package/lib/esm/components/PickerView/index.js +1 -1
  195. package/lib/esm/components/Popover/Popover.js +1 -1
  196. package/lib/esm/components/Popover/component.js +1 -1
  197. package/lib/esm/components/Popover/hook.js +1 -1
  198. package/lib/esm/components/Popover/index.js +1 -1
  199. package/lib/esm/components/Portal/core/PortalProvider.js +1 -1
  200. package/lib/esm/components/Portal/index.js +1 -1
  201. package/lib/esm/components/Progress/Progress.js +1 -1
  202. package/lib/esm/components/Progress/index.js +1 -1
  203. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +1 -1
  204. package/lib/esm/components/ProgressIndicator/index.js +1 -1
  205. package/lib/esm/components/ProgressIndicator/styles.js +1 -1
  206. package/lib/esm/components/PullRefresh/PullRefresh.js +1 -1
  207. package/lib/esm/components/PullRefresh/component.js +1 -1
  208. package/lib/esm/components/PullRefresh/index.js +1 -1
  209. package/lib/esm/components/Result/Result.js +1 -1
  210. package/lib/esm/components/Result/index.js +1 -1
  211. package/lib/esm/components/Result/styles.js +1 -1
  212. package/lib/esm/components/Sheets/Sheets.js +170 -18
  213. package/lib/esm/components/Sheets/Sheets.js.map +1 -1
  214. package/lib/esm/components/Sheets/index.js +9 -3
  215. package/lib/esm/components/Sheets/index.js.map +1 -1
  216. package/lib/esm/components/Sheets/interface/index.js +1 -1
  217. package/lib/esm/components/Sheets/styles.js +39 -11
  218. package/lib/esm/components/Sheets/styles.js.map +1 -1
  219. package/lib/esm/components/Silder/Silder.js +67 -0
  220. package/lib/esm/components/Silder/Silder.js.map +1 -0
  221. package/lib/esm/components/Silder/index.js +12 -0
  222. package/lib/esm/components/Silder/index.js.map +1 -0
  223. package/lib/esm/components/Silder/interface/index.js +3 -0
  224. package/lib/esm/components/Silder/interface/index.js.map +1 -0
  225. package/lib/esm/components/Silder/styles.js +25 -0
  226. package/lib/esm/components/Silder/styles.js.map +1 -0
  227. package/lib/esm/components/Skeleton/Item/SkeletonItem.js +1 -1
  228. package/lib/esm/components/Skeleton/Skeleton.js +1 -1
  229. package/lib/esm/components/Skeleton/index.js +1 -1
  230. package/lib/esm/components/Switch/Switch.js +1 -1
  231. package/lib/esm/components/Switch/index.js +1 -1
  232. package/lib/esm/components/Tab/Tab.js +1 -1
  233. package/lib/esm/components/Tab/index.js +1 -1
  234. package/lib/esm/components/Tab/styles.js +1 -1
  235. package/lib/esm/components/TabBar/TabBar.js +11 -11
  236. package/lib/esm/components/TabBar/TabBar.js.map +1 -1
  237. package/lib/esm/components/TabBar/index.js +1 -1
  238. package/lib/esm/components/Tag/Tag.js +2 -2
  239. package/lib/esm/components/Tag/Tag.js.map +1 -1
  240. package/lib/esm/components/Tag/index.js +1 -1
  241. package/lib/esm/components/Text/Text.js +1 -1
  242. package/lib/esm/components/Text/hooks/cloneContainer.js +1 -1
  243. package/lib/esm/components/Text/hooks/index.js +1 -1
  244. package/lib/esm/components/Text/hooks/loadFontFromFile.js +2 -2
  245. package/lib/esm/components/Text/hooks/loadFontFromFile.js.map +1 -1
  246. package/lib/esm/components/Text/index.js +1 -1
  247. package/lib/esm/components/Text/styles.js +1 -1
  248. package/lib/esm/components/Toast/Toast.js +1 -1
  249. package/lib/esm/components/Toast/api.js +1 -1
  250. package/lib/esm/components/Toast/index.js +1 -1
  251. package/lib/esm/components/Toast/styles.js +1 -1
  252. package/lib/esm/index.js +253 -28
  253. package/lib/esm/index.js.map +1 -1
  254. package/lib/types/components/ActionSheets/ActionSheets.d.ts +10 -0
  255. package/lib/types/components/ActionSheets/demo/index.d.ts +2 -0
  256. package/lib/types/components/ActionSheets/index.d.ts +4 -0
  257. package/lib/types/components/ActionSheets/interface/index.d.ts +23 -0
  258. package/lib/types/components/ActionSheets/styles.d.ts +51 -0
  259. package/lib/types/components/ActionSheets/test/index.bench.d.ts +1 -0
  260. package/lib/types/components/ActionSheets/test/index.test.d.ts +1 -0
  261. package/lib/types/components/ActionSheets/test/paper.bench.d.ts +1 -0
  262. package/lib/types/components/Alert/Alert.d.ts +4 -0
  263. package/lib/types/components/Alert/demo/index.d.ts +2 -0
  264. package/lib/types/components/Alert/index.d.ts +4 -0
  265. package/lib/types/components/Alert/interface/index.d.ts +35 -0
  266. package/lib/types/components/Alert/styles.d.ts +108 -0
  267. package/lib/types/components/Alert/test/index.bench.d.ts +1 -0
  268. package/lib/types/components/Alert/test/index.test.d.ts +1 -0
  269. package/lib/types/components/Alert/test/paper.bench.d.ts +1 -0
  270. package/lib/types/components/FAB/test/paper.bench.d.ts +1 -0
  271. package/lib/types/components/Sheets/Sheets.d.ts +17 -1
  272. package/lib/types/components/Sheets/interface/index.d.ts +45 -0
  273. package/lib/types/components/Sheets/styles.d.ts +38 -9
  274. package/lib/types/components/Sheets/test/index.test.d.ts +1 -1
  275. package/lib/types/components/Silder/Silder.d.ts +13 -0
  276. package/lib/types/components/Silder/demo/index.d.ts +2 -0
  277. package/lib/types/components/Silder/index.d.ts +4 -0
  278. package/lib/types/components/Silder/interface/index.d.ts +19 -0
  279. package/lib/types/components/Silder/styles.d.ts +20 -0
  280. package/lib/types/components/Silder/test/index.bench.d.ts +1 -0
  281. package/lib/types/components/Silder/test/index.test.d.ts +1 -0
  282. package/lib/types/index.d.ts +6 -0
  283. package/package.json +2 -3
  284. package/src/components/ActionSheets/ActionSheets.tsx +66 -0
  285. package/src/components/ActionSheets/demo/index.tsx +65 -0
  286. package/src/components/ActionSheets/doc/index.mdx +24 -0
  287. package/src/components/ActionSheets/index.ts +5 -0
  288. package/src/components/ActionSheets/interface/index.ts +27 -0
  289. package/src/components/ActionSheets/styles.ts +54 -0
  290. package/src/components/ActionSheets/test/index.bench.tsx +13 -0
  291. package/src/components/ActionSheets/test/index.test.tsx +81 -0
  292. package/src/components/ActionSheets/test/paper.bench.tsx +17 -0
  293. package/src/components/Alert/Alert.tsx +170 -0
  294. package/src/components/Alert/demo/index.tsx +234 -0
  295. package/src/components/Alert/doc/index.mdx +37 -0
  296. package/src/components/Alert/index.ts +5 -0
  297. package/src/components/Alert/interface/index.ts +35 -0
  298. package/src/components/Alert/styles.ts +116 -0
  299. package/src/components/Alert/test/__snapshots__/index.test.tsx.snap +519 -0
  300. package/src/components/Alert/test/index.bench.tsx +13 -0
  301. package/src/components/Alert/test/index.test.tsx +62 -0
  302. package/src/components/Alert/test/paper.bench.tsx +26 -0
  303. package/src/components/Avatar/test/__snapshots__/index.test.tsx.snap +32 -0
  304. package/src/components/Avatar/test/paper.bench.tsx +1 -1
  305. package/src/components/Button/test/__snapshots__/index.test.tsx.snap +0 -10
  306. package/src/components/Divider/test/__snapshots__/index.test.tsx.snap +420 -6
  307. package/src/components/Divider/test/index.test.tsx +43 -35
  308. package/src/components/FAB/test/__snapshots__/index.test.tsx.snap +0 -2
  309. package/src/components/FAB/test/paper.bench.tsx +12 -0
  310. package/src/components/Picker/test/index.test.tsx +17 -25
  311. package/src/components/Progress/test/__snapshots__/index.test.tsx.snap +332 -3
  312. package/src/components/Progress/test/index.test.tsx +29 -19
  313. package/src/components/PullRefresh/test/index.bench.tsx +1 -1
  314. package/src/components/Sheets/Sheets.tsx +293 -20
  315. package/src/components/Sheets/demo/index.tsx +191 -14
  316. package/src/components/Sheets/doc/index.mdx +16 -5
  317. package/src/components/Sheets/interface/index.ts +50 -0
  318. package/src/components/Sheets/styles.ts +38 -10
  319. package/src/components/Sheets/test/index.test.tsx +71 -48
  320. package/src/components/Sheets/test/paper.bench.tsx +1 -1
  321. package/src/components/Silder/Silder.tsx +49 -0
  322. package/src/components/Silder/demo/index.tsx +53 -0
  323. package/src/components/Silder/doc/index.mdx +26 -0
  324. package/src/components/Silder/index.ts +5 -0
  325. package/src/components/Silder/interface/index.ts +20 -0
  326. package/src/components/Silder/styles.ts +24 -0
  327. package/src/components/Silder/test/index.bench.tsx +13 -0
  328. package/src/components/Silder/test/index.test.tsx +18 -0
  329. package/src/components/TabBar/TabBar.tsx +17 -17
  330. package/src/components/Toast/test/paper.bench.tsx +9 -5
  331. package/src/index.ts +17 -0
  332. package/lib/cjs/_chunks/DIhBCUjt.js +0 -17
  333. package/lib/cjs/_chunks/DIhBCUjt.js.map +0 -1
  334. package/lib/esm/_chunks/B3_9dzWY.js +0 -14
  335. package/lib/esm/_chunks/B3_9dzWY.js.map +0 -1
@@ -1,11 +1,7 @@
1
- import { alwaysColor } from "@xhs/reds-token-next";
2
1
  import { StyleSheet } from "react-native";
3
2
 
4
3
  const styles = StyleSheet.create({
5
- container: {
6
- width: "100%",
7
- height: "100%",
8
- backgroundColor: alwaysColor.MaskBg,
4
+ wrapper: {
9
5
  position: "absolute",
10
6
  bottom: 0,
11
7
  left: 0,
@@ -15,7 +11,6 @@ const styles = StyleSheet.create({
15
11
  mask: {
16
12
  width: "100%",
17
13
  height: "100%",
18
- backgroundColor: alwaysColor.MaskBg,
19
14
  position: "absolute",
20
15
  bottom: 0,
21
16
  left: 0,
@@ -23,14 +18,12 @@ const styles = StyleSheet.create({
23
18
  top: 0,
24
19
  },
25
20
  picker: {
21
+ borderTopLeftRadius: 12,
22
+ borderTopRightRadius: 12,
26
23
  position: "absolute",
27
24
  bottom: 0,
28
25
  left: 0,
29
26
  right: 0,
30
- paddingTop: 4,
31
- paddingBottom: 34,
32
- borderTopLeftRadius: 12,
33
- borderTopRightRadius: 12,
34
27
  },
35
28
  labelContainer: {
36
29
  display: "flex",
@@ -55,6 +48,41 @@ const styles = StyleSheet.create({
55
48
  fontSize: 16,
56
49
  fontWeight: "400",
57
50
  },
51
+ iconBg: {
52
+ width: 28,
53
+ height: 28,
54
+ borderRadius: 28,
55
+ display: "flex",
56
+ justifyContent: "center",
57
+ alignItems: "center",
58
+ },
59
+ dragableContainer: {
60
+ width: "100%",
61
+ height: 20,
62
+ display: "flex",
63
+ justifyContent: "center",
64
+ alignItems: "center",
65
+ },
66
+ dragable: {
67
+ width: 33,
68
+ height: 4,
69
+ borderRadius: 10,
70
+ },
71
+ block: {
72
+ width: 28,
73
+ height: 28,
74
+ },
75
+ actionContainer: {
76
+ display: "flex",
77
+ justifyContent: "space-between",
78
+ alignItems: "center",
79
+ flexDirection: "row",
80
+ width: "100%",
81
+ },
82
+ action: {
83
+ flex: 1,
84
+ marginHorizontal: 12,
85
+ },
58
86
  });
59
87
 
60
88
  export default styles;
@@ -1,59 +1,82 @@
1
1
  import React from "react";
2
- import { describe, it, expect, vi } from "vitest";
3
2
  import { render, fireEvent } from "@testing-library/react-native";
4
- import "@testing-library/react-native/extend-expect";
5
3
  import { Text } from "react-native";
4
+ import { vi, describe, it, expect } from "vitest";
6
5
  import Sheets from "../Sheets";
7
- import { PortalProvider } from "../../Portal";
8
-
9
- describe("Sheets", () => {
10
- it("renders correctly when visible is true", () => {
11
- const onCancel = vi.fn();
12
- const onConfirm = vi.fn();
13
- const label = "Test Label";
14
-
15
- const { getByText } = render(
16
- <PortalProvider>
17
- <Sheets visible={true} onCancel={onCancel} onConfirm={onConfirm} label={label}>
18
- <Text>Test Children</Text>
19
- </Sheets>
20
- </PortalProvider>,
21
- );
22
-
23
- expect(getByText("Test Label")).toBeTruthy();
6
+ import { SheetsMaskMode, SheetsType, SheetsActionType, SheetsIconType, SheetsSize } from "../interface";
7
+
8
+ describe("Sheets Component", () => {
9
+ const defaultProps = {
10
+ visible: true,
11
+ onCancel: vi.fn(),
12
+ onConfirm: vi.fn(),
13
+ children: <Text>Content</Text>,
14
+ label: "Test Label",
15
+ mask: true,
16
+ maskMode: SheetsMaskMode.dark,
17
+ cancelType: SheetsActionType.text,
18
+ closeType: SheetsActionType.icon,
19
+ cancelText: "Cancel",
20
+ closeText: "Close",
21
+ sheetsType: SheetsType.normal,
22
+ cancel: true,
23
+ close: true,
24
+ iconType: SheetsIconType.bg,
25
+ size: SheetsSize.auto,
26
+ };
27
+
28
+ it("should render correctly when visible", () => {
29
+ const { getByText } = render(<Sheets {...defaultProps} />);
30
+ expect(getByText("Content")).toBeTruthy();
31
+ });
32
+
33
+ it("should call onCancel when mask is clicked", () => {
34
+ const { getByTestId } = render(<Sheets {...defaultProps} />);
35
+ fireEvent.press(getByTestId("mask"));
36
+ expect(defaultProps.onCancel).toBeCalled();
24
37
  });
25
38
 
26
- it("calls onCancel and onConfirm on button press", () => {
27
- const onCancel = vi.fn();
28
- const onConfirm = vi.fn();
29
- const label = "Test Label";
30
-
31
- const { getByText } = render(
32
- <PortalProvider>
33
- <Sheets visible={true} onCancel={onCancel} onConfirm={onConfirm} label={label}>
34
- <Text>Test Children</Text>
35
- </Sheets>
36
- </PortalProvider>,
37
- );
38
-
39
- const cancelBtn = getByText("取消");
40
- fireEvent.press(cancelBtn);
41
- expect(onCancel).toHaveBeenCalledTimes(1);
42
-
43
- const confirmBtn = getByText("确定");
44
- fireEvent.press(confirmBtn);
45
- expect(onConfirm).toHaveBeenCalledTimes(1);
39
+ it("should call onConfirm when close is clicked", () => {
40
+ const { getByText } = render(<Sheets {...defaultProps} />);
41
+ fireEvent.press(getByText("Close"));
42
+ expect(defaultProps.onConfirm).toBeCalled();
46
43
  });
47
44
 
48
- it("does not render anything when visible is false", () => {
49
- const { queryByText } = render(
50
- <PortalProvider>
51
- <Sheets visible={false} onCancel={() => {}} onConfirm={() => {}} label={"Test Label"}>
52
- <Text>Test Children</Text>
53
- </Sheets>
54
- </PortalProvider>,
55
- );
45
+ it("should call onCancel when cancel is clicked", () => {
46
+ const { getByText } = render(<Sheets {...defaultProps} />);
47
+ fireEvent.press(getByText("Cancel"));
48
+ expect(defaultProps.onCancel).toBeCalled();
49
+ });
50
+
51
+ it("should handle layout changes correctly", () => {
52
+ const { getByText } = render(<Sheets {...defaultProps} />);
53
+ const content = getByText("Content");
54
+
55
+ // @ts-expect-error
56
+ fireEvent.layout(content, {
57
+ nativeEvent: {
58
+ layout: { height: 300 },
59
+ },
60
+ });
61
+
62
+ // 验证 Animated 的高度变化
63
+ // 由于Animated是异步的,可以使用Mock或Spy进行验证
64
+ });
65
+
66
+ it("should handle pan responder correctly", () => {
67
+ const { getByTestId } = render(<Sheets {...defaultProps} sheetsType={SheetsType.dragable} />);
68
+ const draggable = getByTestId("draggable");
69
+
70
+ fireEvent(draggable, "panResponderMove", {
71
+ nativeEvent: { contentOffset: { dy: -100 } },
72
+ });
73
+
74
+ // 验证 Animated 的高度变化
75
+ // 由于Animated是异步的,可以使用Mock或Spy进行验证
76
+ });
56
77
 
57
- expect(queryByText("Test Label")).toBeNull();
78
+ it("should hide when visible is false", () => {
79
+ const { queryByText } = render(<Sheets {...defaultProps} visible={false} />);
80
+ expect(queryByText("Content")).not.toBeTruthy();
58
81
  });
59
82
  });
@@ -6,7 +6,7 @@ import { Modal } from "react-native-paper";
6
6
  import { render, fireEvent } from "@testing-library/react-native";
7
7
  import { Text } from "react-native";
8
8
 
9
- describe("render", () => {
9
+ describe("paper render", () => {
10
10
  redsBench("base", async () => {
11
11
  render(
12
12
  <Modal visible={true}>
@@ -0,0 +1,49 @@
1
+ import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
2
+ import { View, TouchableWithoutFeedback, Animated, GestureResponderEvent } from "react-native";
3
+ import { RedsSilder, SilderDefaultProps } from "./interface/index";
4
+ import styles from "./styles";
5
+
6
+ const Silder = ({ value, defaultValue, onChange, onClick, trackOnColor, trackOffColor }: RedsSilder) => {
7
+ const isControlled = useRef(value !== undefined);
8
+ const [isOn, setIsOn] = useState(defaultValue);
9
+
10
+ const animatedValue = useRef(new Animated.Value(defaultValue ? 18 : 2)).current;
11
+ const thumbTranslateX = animatedValue.interpolate({ inputRange: [2, 18], outputRange: [2, 18] });
12
+
13
+ useEffect(() => {
14
+ onChange?.(!!isOn);
15
+ }, [isOn]);
16
+
17
+ useEffect(() => {
18
+ isControlled.current && setIsOn(value);
19
+ }, [value]);
20
+
21
+ const toggleSilder = useCallback((e: GestureResponderEvent) => {
22
+ onClick?.(e);
23
+ !isControlled.current && setIsOn((v) => !v);
24
+ }, []);
25
+
26
+ const dynamicStyles = useMemo(() => {
27
+ Animated.timing(animatedValue, {
28
+ toValue: isOn ? 18 : 2,
29
+ duration: 200,
30
+ useNativeDriver: true,
31
+ }).start();
32
+ return {
33
+ backgroundColor: isOn ? trackOnColor : trackOffColor,
34
+ transform: [{ translateX: thumbTranslateX }],
35
+ };
36
+ }, [isOn]);
37
+
38
+ return (
39
+ <TouchableWithoutFeedback onPress={(e) => toggleSilder(e)}>
40
+ <View style={[styles.SilderContainer, { backgroundColor: dynamicStyles.backgroundColor }]}>
41
+ <Animated.View style={[styles.thumb, { transform: dynamicStyles.transform }]}></Animated.View>
42
+ </View>
43
+ </TouchableWithoutFeedback>
44
+ );
45
+ };
46
+
47
+ Silder.defaultProps = SilderDefaultProps;
48
+
49
+ export default Silder;
@@ -0,0 +1,53 @@
1
+ import React, { useRef, useEffect, useState } from "react";
2
+ import { View, Text, StyleSheet, FlatList, ScrollView } from "react-native";
3
+ import { Silder } from "@xhs/reds-rn-next";
4
+
5
+ const styles = StyleSheet.create({
6
+ container: {
7
+ flex: 1,
8
+ justifyContent: "center",
9
+ paddingTop: 100,
10
+ paddingBottom: 100,
11
+ },
12
+ scrollView: {
13
+ backgroundColor: "pink",
14
+ },
15
+ root: {
16
+ flex: 1,
17
+ backgroundColor: "blue",
18
+ },
19
+ });
20
+ const Desc = ({ children = "" }) => {
21
+ return <Text>{children}</Text>;
22
+ };
23
+ const Br = (props: { height?: number }) => <View style={{ height: props.height || 20 }}></View>;
24
+
25
+ export default function App() {
26
+ const [value, setValue] = useState(false);
27
+ const [valueStr, setValueStr] = useState(value.toString());
28
+ const onClick = (e: any) => setValue((v) => !v);
29
+ const onChange = (v: boolean) => {
30
+ console.log(v);
31
+ setValueStr(v.toString());
32
+ };
33
+ return (
34
+ <View style={styles.container}>
35
+ <Desc>默认用法</Desc>
36
+ <Silder></Silder>
37
+ <Br />
38
+
39
+ <Desc>设置默认值</Desc>
40
+ <Silder defaultValue={true}></Silder>
41
+ <Br />
42
+
43
+ <Desc>修改开关颜色</Desc>
44
+ <Silder trackOnColor={"#1b8bcd"} trackOffColor={"#da36c9"}></Silder>
45
+ <Br />
46
+
47
+ <Desc>受控用法</Desc>
48
+ <Text>当前值:{valueStr}</Text>
49
+ <Silder value={value} onClick={onClick} onChange={onChange}></Silder>
50
+ <Br />
51
+ </View>
52
+ );
53
+ }
@@ -0,0 +1,26 @@
1
+ import BaseDemo from "!!raw-loader!../demo/index.tsx";
2
+
3
+ ## 演示
4
+
5
+ ### 基础用法
6
+
7
+ ::BaseDemo::
8
+
9
+ ## API
10
+
11
+ ### Props
12
+
13
+ | 属性 | 描述 | 类型 | 默认值 |
14
+ | ------------- | ---------------- | ------- | ------------------ |
15
+ | value | 当前的状态 | boolean | undefined |
16
+ | defaultValue | 默认状态 | boolean | false |
17
+ | disabled | 是否显示气泡 | boolean | false |
18
+ | trackOnColor | 开关开启时的颜色 | string | lightColor.Primary |
19
+ | trackOffColor | 开关关闭时的颜色 | string | lightColor.Fill2 |
20
+
21
+ ### Events
22
+
23
+ | 事件 | 描述 | 类型 | 默认值 |
24
+ | -------- | ------------------ | ------------------------------------- | ------ |
25
+ | onChange | 当值发生变化时触发 | (value: boolean) => any | |
26
+ | onClick | 被点击时触发 | (value: GestureResponderEvent) => any | |
@@ -0,0 +1,5 @@
1
+ import Silder from "./Silder";
2
+ import * as SilderType from "./interface";
3
+
4
+ export default Silder;
5
+ export { Silder, SilderType };
@@ -0,0 +1,20 @@
1
+ import { GestureResponderEvent } from "react-native";
2
+ import { lightColor } from "@xhs/reds-token-next";
3
+ export interface RedsSilder {
4
+ value?: boolean;
5
+ defaultValue?: boolean;
6
+ disabled?: boolean;
7
+ trackOnColor?: string;
8
+ trackOffColor?: string;
9
+ onChange?: (value: boolean) => any;
10
+ onClick?: (value: GestureResponderEvent) => any;
11
+ }
12
+
13
+ export interface RedsSilderEvent {}
14
+ export const SilderDefaultProps = {
15
+ value: undefined,
16
+ defaultValue: false,
17
+ disabled: false,
18
+ trackOnColor: lightColor.Primary,
19
+ trackOffColor: lightColor.Fill2,
20
+ };
@@ -0,0 +1,24 @@
1
+ import { alwaysColor } from "@xhs/reds-token-next";
2
+ import { StyleSheet } from "react-native";
3
+
4
+ const styles = StyleSheet.create({
5
+ SilderContainer: {
6
+ width: 40,
7
+ height: 24,
8
+ borderRadius: 15,
9
+ justifyContent: "center",
10
+ alignItems: "center",
11
+ },
12
+ thumb: {
13
+ width: 20,
14
+ height: 20,
15
+ borderRadius: 10,
16
+ backgroundColor: alwaysColor.White,
17
+ justifyContent: "center",
18
+ alignItems: "center",
19
+ position: "absolute",
20
+ left: 0,
21
+ },
22
+ });
23
+
24
+ export default styles;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { describe } from "vitest";
3
+ // @ts-ignore
4
+ import { redsBench } from "~root/utils/redsBench";
5
+ import Silder from "..";
6
+ import { render, fireEvent } from "@testing-library/react-native";
7
+ import { Text } from "react-native";
8
+
9
+ describe("render", () => {
10
+ redsBench("base", async () => {
11
+ render(<Silder></Silder>);
12
+ });
13
+ });
@@ -0,0 +1,18 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { render, fireEvent, userEvent } from "@testing-library/react-native";
3
+ import "@testing-library/react-native/extend-expect";
4
+ import { Pressable, Text, View } from "react-native";
5
+ import Silder from "../index";
6
+
7
+ describe("Silder", () => {
8
+ it(":base", async () => {
9
+ let isOn = false;
10
+ const wrapper = render(<Silder onChange={(v) => (isOn = v)}></Silder>);
11
+ expect(wrapper.UNSAFE_root.props.defaultValue).toBe(false);
12
+ await fireEvent(wrapper.UNSAFE_root.children[0], "press");
13
+ expect(isOn).toBe(true);
14
+
15
+ await fireEvent(wrapper.UNSAFE_root.children[0], "press");
16
+ expect(isOn).toBe(false);
17
+ });
18
+ });
@@ -11,6 +11,23 @@ import Badge from "../Badge";
11
11
  const defaultIconSize = 20;
12
12
 
13
13
  const TabBar = (props: RedsTabBar) => {
14
+ /**
15
+ * 渲染的tab数据
16
+ */
17
+
18
+ const renderTabs = useMemo(() => {
19
+ if (props.customTabBar) {
20
+ /** 记录插入位置 */
21
+ const customIdx = Math.floor(props.list.length / 2);
22
+ /** 插入数据 */
23
+ return props.list.reduce((prev: DataType[], cur: DataType, index: number) => {
24
+ return (index === customIdx ? [...prev, props.customTabBar, cur] : [...prev, cur]) as DataType[];
25
+ }, [] as DataType[]);
26
+ } else {
27
+ return props.list;
28
+ }
29
+ }, [props.list, props.customTabBar]);
30
+
14
31
  /**
15
32
  * 计算文字class
16
33
  * @param item
@@ -49,23 +66,6 @@ const TabBar = (props: RedsTabBar) => {
49
66
  props?.onChange?.(item.key);
50
67
  };
51
68
 
52
- /**
53
- * 渲染的tab数据
54
- */
55
-
56
- const renderTabs = useMemo(() => {
57
- if (props.customTabBar) {
58
- /** 记录插入位置 */
59
- const customIdx = Math.floor(props.list.length / 2);
60
- /** 插入数据 */
61
- return props.list.reduce((prev: DataType[], cur: DataType, index: number) => {
62
- return (index === customIdx ? [...prev, props.customTabBar, cur] : [...prev, cur]) as DataType[];
63
- }, [] as DataType[]);
64
- } else {
65
- return props.list;
66
- }
67
- }, [props.list, props.customTabBar]);
68
-
69
69
  /**
70
70
  * 容器
71
71
  */
@@ -4,15 +4,19 @@ import { Text } from "react-native";
4
4
  // @ts-ignore
5
5
  import { redsBench } from "~root/utils/redsBench";
6
6
  import { render } from "@testing-library/react-native";
7
- import { Modal as PaperModal } from "react-native-paper";
7
+ import { Modal as PaperModal, Portal, PaperProvider } from "react-native-paper";
8
8
 
9
9
  describe("render", () => {
10
10
  redsBench("base", async () => {
11
11
  render(
12
- <PaperModal visible={true}>
13
- {" "}
14
- <Text>Example Modal. Click outside this area to dismiss.</Text>
15
- </PaperModal>,
12
+ <PaperProvider>
13
+ <Portal>
14
+ <PaperModal visible={true}>
15
+ {" "}
16
+ <Text>Example Modal. Click outside this area to dismiss.</Text>
17
+ </PaperModal>
18
+ </Portal>
19
+ </PaperProvider>,
16
20
  );
17
21
  });
18
22
  });
package/src/index.ts CHANGED
@@ -1,6 +1,23 @@
1
+ declare global {
2
+ var GLOBAL: any;
3
+ }
4
+ try {
5
+ if (typeof GLOBAL !== "undefined" && GLOBAL?.eaglet) {
6
+ GLOBAL?.eaglet?.push?.({
7
+ measurement_name: "reds_component_usage",
8
+ measurement_data: {
9
+ platform: "rn",
10
+ },
11
+ });
12
+ }
13
+ } catch (e) {}
14
+
15
+ export * from "./components/ActionSheets";
16
+ export * from "./components/Silder";
1
17
  export * from "./components/Sheets";
2
18
  export * from "./components/PickerView";
3
19
  export * from "./components/Picker";
20
+ export * from "./components/Alert";
4
21
  export * from "./components/FAB";
5
22
  export * from "./components/Toast";
6
23
  export * from "./components/DropDown";
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- var SheetsDefaultProps = {
4
- label: "",
5
- onCancel: function onCancel() {},
6
- onConfirm: function onConfirm() {},
7
- visible: false
8
- };
9
-
10
- var index = /*#__PURE__*/Object.freeze({
11
- __proto__: null,
12
- SheetsDefaultProps: SheetsDefaultProps
13
- });
14
-
15
- exports.SheetsDefaultProps = SheetsDefaultProps;
16
- exports.index = index;
17
- //# sourceMappingURL=DIhBCUjt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DIhBCUjt.js","sources":["../../../src/components/Sheets/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nexport interface RedsSheets {\n label?: string;\n onCancel: () => any;\n onConfirm: () => any;\n visible: boolean;\n children: ReactNode;\n}\n\nexport interface RedsSheetsEvent {}\nexport const SheetsDefaultProps = {\n label: \"\",\n onCancel: () => {},\n onConfirm: () => {},\n visible: false,\n};\n"],"names":["SheetsDefaultProps","label","onCancel","onConfirm","visible"],"mappings":";;AAUO,IAAMA,kBAAqB,GAAA;AAChCC,EAAAA,KAAO,EAAA,EAAA;AACPC,EAAAA,UAAU,SAAVA,WAAgB,EAAC;AACjBC,EAAAA,WAAW,SAAXA,YAAiB,EAAC;AAClBC,EAAAA,OAAS,EAAA,KAAA;AACX;;;;;;;;;;"}
@@ -1,14 +0,0 @@
1
- var SheetsDefaultProps = {
2
- label: "",
3
- onCancel: function onCancel() {},
4
- onConfirm: function onConfirm() {},
5
- visible: false
6
- };
7
-
8
- var index = /*#__PURE__*/Object.freeze({
9
- __proto__: null,
10
- SheetsDefaultProps: SheetsDefaultProps
11
- });
12
-
13
- export { SheetsDefaultProps as S, index as i };
14
- //# sourceMappingURL=B3_9dzWY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"B3_9dzWY.js","sources":["../../../src/components/Sheets/interface/index.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nexport interface RedsSheets {\n label?: string;\n onCancel: () => any;\n onConfirm: () => any;\n visible: boolean;\n children: ReactNode;\n}\n\nexport interface RedsSheetsEvent {}\nexport const SheetsDefaultProps = {\n label: \"\",\n onCancel: () => {},\n onConfirm: () => {},\n visible: false,\n};\n"],"names":["SheetsDefaultProps","label","onCancel","onConfirm","visible"],"mappings":"AAUO,IAAMA,kBAAqB,GAAA;AAChCC,EAAAA,KAAO,EAAA,EAAA;AACPC,EAAAA,UAAU,SAAVA,WAAgB,EAAC;AACjBC,EAAAA,WAAW,SAAXA,YAAiB,EAAC;AAClBC,EAAAA,OAAS,EAAA,KAAA;AACX;;;;;;;;;"}