@xhsreds/reds-rn-next 0.11.1-beta202512161527 → 0.11.1-beta202512261559

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 (542) hide show
  1. package/coverage/.tmp/coverage-0.json +1 -1
  2. package/coverage/.tmp/coverage-10.json +1 -1
  3. package/coverage/.tmp/coverage-11.json +1 -1
  4. package/coverage/.tmp/coverage-12.json +1 -1
  5. package/coverage/.tmp/coverage-13.json +1 -1
  6. package/coverage/.tmp/coverage-14.json +1 -1
  7. package/coverage/.tmp/coverage-16.json +1 -1
  8. package/coverage/.tmp/coverage-17.json +1 -1
  9. package/coverage/.tmp/coverage-18.json +1 -1
  10. package/coverage/.tmp/coverage-2.json +1 -1
  11. package/coverage/.tmp/coverage-22.json +1 -1
  12. package/coverage/.tmp/coverage-23.json +1 -1
  13. package/coverage/.tmp/coverage-24.json +1 -1
  14. package/coverage/.tmp/coverage-25.json +1 -1
  15. package/coverage/.tmp/coverage-26.json +1 -1
  16. package/coverage/.tmp/coverage-27.json +1 -1
  17. package/coverage/.tmp/coverage-29.json +1 -1
  18. package/coverage/.tmp/coverage-30.json +1 -1
  19. package/coverage/.tmp/coverage-32.json +1 -1
  20. package/coverage/.tmp/coverage-33.json +1 -1
  21. package/coverage/.tmp/coverage-34.json +1 -1
  22. package/coverage/.tmp/coverage-36.json +1 -1
  23. package/coverage/.tmp/coverage-37.json +1 -1
  24. package/coverage/.tmp/coverage-39.json +1 -1
  25. package/coverage/.tmp/coverage-4.json +1 -1
  26. package/coverage/.tmp/coverage-41.json +1 -1
  27. package/coverage/.tmp/coverage-42.json +1 -1
  28. package/coverage/.tmp/coverage-5.json +1 -1
  29. package/coverage/.tmp/coverage-6.json +1 -1
  30. package/coverage/.tmp/coverage-7.json +1 -1
  31. package/coverage/.tmp/coverage-8.json +1 -1
  32. package/coverage/.tmp/coverage-9.json +1 -1
  33. package/lib/cjs/_chunks/BiKD1VTc.js.map +1 -1
  34. package/lib/cjs/_chunks/{4mFc7Yk3.js → D-WEErpR.js} +2 -2
  35. package/lib/cjs/_chunks/{4mFc7Yk3.js.map → D-WEErpR.js.map} +1 -1
  36. package/lib/cjs/_chunks/nlVjgQi5.js +293 -0
  37. package/lib/cjs/_chunks/nlVjgQi5.js.map +1 -0
  38. package/lib/cjs/components/ActionSheets/ActionSheets.js +12 -21
  39. package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -1
  40. package/lib/cjs/components/ActionSheets/ActionSheetsItem.js +1 -1
  41. package/lib/cjs/components/ActionSheets/api.js +1 -1
  42. package/lib/cjs/components/ActionSheets/hooks.js +1 -1
  43. package/lib/cjs/components/ActionSheets/index.js +1 -1
  44. package/lib/cjs/components/ActionSheets/styles.js +0 -1
  45. package/lib/cjs/components/ActionSheets/styles.js.map +1 -1
  46. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +4 -1
  47. package/lib/cjs/components/ActionablePopover/ActionablePopover.js.map +1 -1
  48. package/lib/cjs/components/ActionablePopover/index.js +1 -1
  49. package/lib/cjs/components/Alert/Alert.js +13 -10
  50. package/lib/cjs/components/Alert/Alert.js.map +1 -1
  51. package/lib/cjs/components/Alert/hooks/alert.js +2 -1
  52. package/lib/cjs/components/Alert/hooks/alert.js.map +1 -1
  53. package/lib/cjs/components/Alert/index.js +2 -1
  54. package/lib/cjs/components/Alert/index.js.map +1 -1
  55. package/lib/cjs/components/Alert/styles.js +1 -1
  56. package/lib/cjs/components/Avatar/Avatar.js +1 -1
  57. package/lib/cjs/components/Avatar/index.js +1 -1
  58. package/lib/cjs/components/Avatar/styles.js +1 -1
  59. package/lib/cjs/components/AvatarGroup/AvatarGroup.js +1 -1
  60. package/lib/cjs/components/AvatarGroup/index.js +1 -1
  61. package/lib/cjs/components/Badge/Badge.js +1 -1
  62. package/lib/cjs/components/Badge/index.js +1 -1
  63. package/lib/cjs/components/Badge/styles.js +1 -1
  64. package/lib/cjs/components/BottomBar/BottomBar.js +1 -1
  65. package/lib/cjs/components/BottomBar/index.js +1 -1
  66. package/lib/cjs/components/Button/Button.js +1 -1
  67. package/lib/cjs/components/Button/Viewable.js +1 -1
  68. package/lib/cjs/components/Button/Viewable.web.js +47 -0
  69. package/lib/cjs/components/Button/Viewable.web.js.map +1 -0
  70. package/lib/cjs/components/Button/index.js +1 -1
  71. package/lib/cjs/components/Button/styleMap.js +1 -1
  72. package/lib/cjs/components/Carousel/Carousel.js +1 -1
  73. package/lib/cjs/components/Carousel/index.js +1 -1
  74. package/lib/cjs/components/CheckBoxGroup/CheckBox.js +1 -1
  75. package/lib/cjs/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  76. package/lib/cjs/components/CheckBoxGroup/index.js +1 -1
  77. package/lib/cjs/components/CheckBoxGroup/styles.js +1 -1
  78. package/lib/cjs/components/Collapse/Collapse.js +1 -1
  79. package/lib/cjs/components/Collapse/Item/Item.js +1 -1
  80. package/lib/cjs/components/Collapse/Item/Item.web.js +164 -0
  81. package/lib/cjs/components/Collapse/Item/Item.web.js.map +1 -0
  82. package/lib/cjs/components/Collapse/Item/styles.js +1 -1
  83. package/lib/cjs/components/Collapse/index.js +1 -1
  84. package/lib/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  85. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  86. package/lib/cjs/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  87. package/lib/cjs/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  88. package/lib/cjs/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  89. package/lib/cjs/components/ConfigProvider/index.js +1 -1
  90. package/lib/cjs/components/DatePicker/DatePicker.js +1 -1
  91. package/lib/cjs/components/DatePicker/api.js +1 -1
  92. package/lib/cjs/components/DatePicker/index.js +1 -1
  93. package/lib/cjs/components/Divider/Divider.js +1 -1
  94. package/lib/cjs/components/Divider/index.js +1 -1
  95. package/lib/cjs/components/Divider/styles.js +1 -1
  96. package/lib/cjs/components/DropDown/DropDown.js +1 -1
  97. package/lib/cjs/components/DropDown/DropDownItem.js +1 -1
  98. package/lib/cjs/components/DropDown/index.js +1 -1
  99. package/lib/cjs/components/Empty/Empty.js +1 -1
  100. package/lib/cjs/components/Empty/index.js +1 -1
  101. package/lib/cjs/components/Empty/styles.js +1 -1
  102. package/lib/cjs/components/FAB/FAB.js +1 -1
  103. package/lib/cjs/components/FAB/index.js +1 -1
  104. package/lib/cjs/components/Form/Form.js +1 -1
  105. package/lib/cjs/components/Form/FormItem.js +1 -1
  106. package/lib/cjs/components/Form/index.js +1 -1
  107. package/lib/cjs/components/Form/styles.js +1 -1
  108. package/lib/cjs/components/Icon/Icon.web.js +14 -0
  109. package/lib/cjs/components/Icon/Icon.web.js.map +1 -0
  110. package/lib/cjs/components/Image/Image.js +1 -1
  111. package/lib/cjs/components/Image/Image69.js +1 -1
  112. package/lib/cjs/components/Image/VisibilitySensor.js +1 -1
  113. package/lib/cjs/components/Image/hook/index.js +5 -8
  114. package/lib/cjs/components/Image/hook/index.js.map +1 -1
  115. package/lib/cjs/components/Image/index.js +2 -2
  116. package/lib/cjs/components/Image/index.js.map +1 -1
  117. package/lib/cjs/components/Image/queryCacheBatcher.js +1 -1
  118. package/lib/cjs/components/Image/utils.js +1 -1
  119. package/lib/cjs/components/ImagePreview/ImagePreview.js +1 -1
  120. package/lib/cjs/components/ImagePreview/api.js +1 -1
  121. package/lib/cjs/components/ImagePreview/index.js +1 -1
  122. package/lib/cjs/components/LanguageProvider/hooks/useLanguage.js +1 -1
  123. package/lib/cjs/components/LanguageProvider/index.js +1 -1
  124. package/lib/cjs/components/List/List.js +1 -1
  125. package/lib/cjs/components/List/ListItem/ListItem.js +1 -1
  126. package/lib/cjs/components/List/index.js +1 -1
  127. package/lib/cjs/components/List/styles.js +1 -1
  128. package/lib/cjs/components/MiniSnackBar/MiniSnackBar.js +1 -1
  129. package/lib/cjs/components/MiniSnackBar/index.js +1 -1
  130. package/lib/cjs/components/MiniSnackBar/styles.js +1 -1
  131. package/lib/cjs/components/NavigationBar/NavigationBar.js +1 -1
  132. package/lib/cjs/components/NavigationBar/index.js +1 -1
  133. package/lib/cjs/components/NavigationBar/styles.js +1 -1
  134. package/lib/cjs/components/NoticeBar/NoticeBar.js +13 -7
  135. package/lib/cjs/components/NoticeBar/NoticeBar.js.map +1 -1
  136. package/lib/cjs/components/NoticeBar/index.js +1 -1
  137. package/lib/cjs/components/Picker/Picker.js +1 -1
  138. package/lib/cjs/components/Picker/api.js +1 -1
  139. package/lib/cjs/components/Picker/index.js +1 -1
  140. package/lib/cjs/components/PickerView/PickerView.js +3 -2
  141. package/lib/cjs/components/PickerView/PickerView.js.map +1 -1
  142. package/lib/cjs/components/PickerView/Wheel.js +23 -3
  143. package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
  144. package/lib/cjs/components/PickerView/index.js +1 -1
  145. package/lib/cjs/components/Popover/Popover.js +25 -29
  146. package/lib/cjs/components/Popover/Popover.js.map +1 -1
  147. package/lib/cjs/components/Popover/index.js +1 -1
  148. package/lib/cjs/components/Portal/core/PortalProvider.js +1 -1
  149. package/lib/cjs/components/Portal/index.js +1 -1
  150. package/lib/cjs/components/Progress/Progress.js +1 -1
  151. package/lib/cjs/components/Progress/index.js +1 -1
  152. package/lib/cjs/components/Progress/styles.js +1 -1
  153. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js +4 -4
  154. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  155. package/lib/cjs/components/ProgressIndicator/index.js +1 -1
  156. package/lib/cjs/components/ProgressIndicator/styles.js +1 -1
  157. package/lib/cjs/components/PullRefresh/PullRefresh.js +1 -1
  158. package/lib/cjs/components/PullRefresh/component.js +1 -1
  159. package/lib/cjs/components/PullRefresh/index.js +1 -1
  160. package/lib/cjs/components/Radio/Radio.js +3 -2
  161. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  162. package/lib/cjs/components/Radio/RadioGroup.js +1 -1
  163. package/lib/cjs/components/Radio/index.js +3 -2
  164. package/lib/cjs/components/Radio/index.js.map +1 -1
  165. package/lib/cjs/components/Radio/styles.js +1 -1
  166. package/lib/cjs/components/Rate/Rate.js +3 -3
  167. package/lib/cjs/components/Rate/Rate.js.map +1 -1
  168. package/lib/cjs/components/Rate/index.js +1 -1
  169. package/lib/cjs/components/Result/Result.js +1 -1
  170. package/lib/cjs/components/Result/index.js +1 -1
  171. package/lib/cjs/components/Result/styles.js +1 -1
  172. package/lib/cjs/components/Search/Search.js +1 -1
  173. package/lib/cjs/components/Search/index.js +1 -1
  174. package/lib/cjs/components/Search/styles.js +1 -1
  175. package/lib/cjs/components/SegmentedControl/SegmentedControl.js +1 -1
  176. package/lib/cjs/components/SegmentedControl/index.js +1 -1
  177. package/lib/cjs/components/Sheets/AnimatedSheets.js +14 -3
  178. package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
  179. package/lib/cjs/components/Sheets/Sheets.js +1 -1
  180. package/lib/cjs/components/Sheets/api.js +1 -1
  181. package/lib/cjs/components/Sheets/index.js +1 -1
  182. package/lib/cjs/components/Skeleton/Item/SkeletonItem.js +1 -1
  183. package/lib/cjs/components/Skeleton/Item/SkeletonItem69.js +1 -1
  184. package/lib/cjs/components/Skeleton/Skeleton.js +1 -1
  185. package/lib/cjs/components/Skeleton/Skeleton69.js +1 -1
  186. package/lib/cjs/components/Skeleton/index.js +1 -1
  187. package/lib/cjs/components/Slider/Slider.js +1 -1
  188. package/lib/cjs/components/Slider/index.js +1 -1
  189. package/lib/cjs/components/SlimAlert/Alert.js +13 -9
  190. package/lib/cjs/components/SlimAlert/Alert.js.map +1 -1
  191. package/lib/cjs/components/SlimAlert/AlertContent.js +1 -1
  192. package/lib/cjs/components/SlimAlert/AlertFooter.js +1 -1
  193. package/lib/cjs/components/SlimAlert/PortalHost.js +28 -0
  194. package/lib/cjs/components/SlimAlert/PortalHost.js.map +1 -0
  195. package/lib/cjs/components/SlimAlert/PortalHost.web.js +12171 -0
  196. package/lib/cjs/components/SlimAlert/PortalHost.web.js.map +1 -0
  197. package/lib/cjs/components/SlimAlert/index.js +2 -1
  198. package/lib/cjs/components/SlimAlert/index.js.map +1 -1
  199. package/lib/cjs/components/SlimAlert/styles.js +1 -1
  200. package/lib/cjs/components/SlimNavigationBar/NavigationBar.js +1 -1
  201. package/lib/cjs/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  202. package/lib/cjs/components/SlimNavigationBar/index.js +1 -1
  203. package/lib/cjs/components/SlimNavigationBar/styles.js +1 -1
  204. package/lib/cjs/components/SlimSheets/AnimatedSheets.js +1 -1
  205. package/lib/cjs/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  206. package/lib/cjs/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  207. package/lib/cjs/components/SlimSheets/DragAnimatedSheets.js +1 -1
  208. package/lib/cjs/components/SlimSheets/index.js +1 -1
  209. package/lib/cjs/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  210. package/lib/cjs/components/SlimTabs/SlimTab.js +1 -1
  211. package/lib/cjs/components/SlimTabs/SlimTabItem.js +1 -1
  212. package/lib/cjs/components/SlimTabs/SlimTabItemLabel.js +1 -1
  213. package/lib/cjs/components/SlimTabs/SlimTabItemValue.js +1 -1
  214. package/lib/cjs/components/SlimTabs/SlimTabList.js +1 -1
  215. package/lib/cjs/components/SlimTabs/index.js +1 -1
  216. package/lib/cjs/components/SlimTabs/styles.js +1 -1
  217. package/lib/cjs/components/SnackBar/SnackBar.js +1 -1
  218. package/lib/cjs/components/SnackBar/index.js +1 -1
  219. package/lib/cjs/components/SnackBar/styles.js +1 -1
  220. package/lib/cjs/components/Stepper/Stepper.js +1 -1
  221. package/lib/cjs/components/Stepper/index.js +1 -1
  222. package/lib/cjs/components/Switch/Switch.js +1 -1
  223. package/lib/cjs/components/Switch/index.js +1 -1
  224. package/lib/cjs/components/Tab/Tabs.js +1 -1
  225. package/lib/cjs/components/Tab/index.js +1 -1
  226. package/lib/cjs/components/Tab/styles.js +1 -1
  227. package/lib/cjs/components/TabBar/TabBar.js +1 -1
  228. package/lib/cjs/components/TabBar/index.js +1 -1
  229. package/lib/cjs/components/TabBar/styles.js +1 -1
  230. package/lib/cjs/components/Tag/Tag.js +11 -4
  231. package/lib/cjs/components/Tag/Tag.js.map +1 -1
  232. package/lib/cjs/components/Tag/index.js +1 -1
  233. package/lib/cjs/components/Text/Text.js +1 -1
  234. package/lib/cjs/components/Text/Viewable.js +1 -1
  235. package/lib/cjs/components/Text/hooks/cloneContainer.js +1 -1
  236. package/lib/cjs/components/Text/hooks/index.js +1 -1
  237. package/lib/cjs/components/Text/hooks/loadFontFromFile.js +16 -19
  238. package/lib/cjs/components/Text/hooks/loadFontFromFile.js.map +1 -1
  239. package/lib/cjs/components/Text/index.js +1 -1
  240. package/lib/cjs/components/Text/styles.js +1 -1
  241. package/lib/cjs/components/TextField/TextField.js +23 -13
  242. package/lib/cjs/components/TextField/TextField.js.map +1 -1
  243. package/lib/cjs/components/TextField/index.js +1 -1
  244. package/lib/cjs/components/TextField/styles.js +1 -1
  245. package/lib/cjs/components/TextView/TextView.js +5 -3
  246. package/lib/cjs/components/TextView/TextView.js.map +1 -1
  247. package/lib/cjs/components/TextView/index.js +1 -1
  248. package/lib/cjs/components/TextView/styles.js +1 -1
  249. package/lib/cjs/components/Toast/Toast.js +2 -2
  250. package/lib/cjs/components/Toast/Toast.js.map +1 -1
  251. package/lib/cjs/components/Toast/api.js +1 -1
  252. package/lib/cjs/components/Toast/index.js +1 -1
  253. package/lib/cjs/components/Toast/styles.js +1 -1
  254. package/lib/cjs/components/Uploader/Uploader.js +44 -46
  255. package/lib/cjs/components/Uploader/Uploader.js.map +1 -1
  256. package/lib/cjs/components/Uploader/index.js +2 -2
  257. package/lib/cjs/components/Uploader/interface/index.js +2 -2
  258. package/lib/cjs/components/Uploader/styles.js +2 -2
  259. package/lib/cjs/components/Uploader/utils.js +1 -1
  260. package/lib/cjs/index.js +3 -2
  261. package/lib/cjs/index.js.map +1 -1
  262. package/lib/cjs/pvCount/pvData.js +11 -6
  263. package/lib/cjs/pvCount/pvData.js.map +1 -1
  264. package/lib/esm/_chunks/{C7wEUW-B.js → CMrgSNfs.js} +2 -2
  265. package/lib/esm/_chunks/{C7wEUW-B.js.map → CMrgSNfs.js.map} +1 -1
  266. package/lib/esm/_chunks/Dr5vetot.js.map +1 -1
  267. package/lib/esm/_chunks/ZEfofTDH.js +282 -0
  268. package/lib/esm/_chunks/ZEfofTDH.js.map +1 -0
  269. package/lib/esm/components/ActionSheets/ActionSheets.js +12 -21
  270. package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -1
  271. package/lib/esm/components/ActionSheets/ActionSheetsItem.js +1 -1
  272. package/lib/esm/components/ActionSheets/api.js +1 -1
  273. package/lib/esm/components/ActionSheets/hooks.js +1 -1
  274. package/lib/esm/components/ActionSheets/index.js +1 -1
  275. package/lib/esm/components/ActionSheets/styles.js +0 -1
  276. package/lib/esm/components/ActionSheets/styles.js.map +1 -1
  277. package/lib/esm/components/ActionablePopover/ActionablePopover.js +4 -1
  278. package/lib/esm/components/ActionablePopover/ActionablePopover.js.map +1 -1
  279. package/lib/esm/components/ActionablePopover/index.js +1 -1
  280. package/lib/esm/components/Alert/Alert.js +13 -10
  281. package/lib/esm/components/Alert/Alert.js.map +1 -1
  282. package/lib/esm/components/Alert/hooks/alert.js +2 -1
  283. package/lib/esm/components/Alert/hooks/alert.js.map +1 -1
  284. package/lib/esm/components/Alert/index.js +2 -1
  285. package/lib/esm/components/Alert/index.js.map +1 -1
  286. package/lib/esm/components/Alert/styles.js +1 -1
  287. package/lib/esm/components/Avatar/Avatar.js +1 -1
  288. package/lib/esm/components/Avatar/index.js +1 -1
  289. package/lib/esm/components/Avatar/styles.js +1 -1
  290. package/lib/esm/components/AvatarGroup/AvatarGroup.js +1 -1
  291. package/lib/esm/components/AvatarGroup/index.js +1 -1
  292. package/lib/esm/components/Badge/Badge.js +1 -1
  293. package/lib/esm/components/Badge/index.js +1 -1
  294. package/lib/esm/components/Badge/styles.js +1 -1
  295. package/lib/esm/components/BottomBar/BottomBar.js +1 -1
  296. package/lib/esm/components/BottomBar/index.js +1 -1
  297. package/lib/esm/components/Button/Button.js +1 -1
  298. package/lib/esm/components/Button/Viewable.js +1 -1
  299. package/lib/esm/components/Button/Viewable.web.js +43 -0
  300. package/lib/esm/components/Button/Viewable.web.js.map +1 -0
  301. package/lib/esm/components/Button/index.js +1 -1
  302. package/lib/esm/components/Button/styleMap.js +1 -1
  303. package/lib/esm/components/Carousel/Carousel.js +1 -1
  304. package/lib/esm/components/Carousel/index.js +1 -1
  305. package/lib/esm/components/CheckBoxGroup/CheckBox.js +1 -1
  306. package/lib/esm/components/CheckBoxGroup/CheckBoxGroup.js +1 -1
  307. package/lib/esm/components/CheckBoxGroup/index.js +1 -1
  308. package/lib/esm/components/CheckBoxGroup/styles.js +1 -1
  309. package/lib/esm/components/Collapse/Collapse.js +1 -1
  310. package/lib/esm/components/Collapse/Item/Item.js +1 -1
  311. package/lib/esm/components/Collapse/Item/Item.web.js +160 -0
  312. package/lib/esm/components/Collapse/Item/Item.web.js.map +1 -0
  313. package/lib/esm/components/Collapse/Item/styles.js +1 -1
  314. package/lib/esm/components/Collapse/index.js +1 -1
  315. package/lib/esm/components/ConfigProvider/ConfigProvider.js +1 -1
  316. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/ConfigCache.js +1 -1
  317. package/lib/esm/components/ConfigProvider/hooks/ConfigCache/index.js +1 -1
  318. package/lib/esm/components/ConfigProvider/hooks/themeToken/index.js +1 -1
  319. package/lib/esm/components/ConfigProvider/hooks/themeToken/useThemeToken.js +1 -1
  320. package/lib/esm/components/ConfigProvider/index.js +1 -1
  321. package/lib/esm/components/DatePicker/DatePicker.js +1 -1
  322. package/lib/esm/components/DatePicker/api.js +1 -1
  323. package/lib/esm/components/DatePicker/index.js +1 -1
  324. package/lib/esm/components/Divider/Divider.js +1 -1
  325. package/lib/esm/components/Divider/index.js +1 -1
  326. package/lib/esm/components/Divider/styles.js +1 -1
  327. package/lib/esm/components/DropDown/DropDown.js +1 -1
  328. package/lib/esm/components/DropDown/DropDownItem.js +1 -1
  329. package/lib/esm/components/DropDown/index.js +1 -1
  330. package/lib/esm/components/Empty/Empty.js +1 -1
  331. package/lib/esm/components/Empty/index.js +1 -1
  332. package/lib/esm/components/Empty/styles.js +1 -1
  333. package/lib/esm/components/FAB/FAB.js +1 -1
  334. package/lib/esm/components/FAB/index.js +1 -1
  335. package/lib/esm/components/Form/Form.js +1 -1
  336. package/lib/esm/components/Form/FormItem.js +1 -1
  337. package/lib/esm/components/Form/index.js +1 -1
  338. package/lib/esm/components/Form/styles.js +1 -1
  339. package/lib/esm/components/Icon/Icon.web.js +6 -0
  340. package/lib/esm/components/Icon/Icon.web.js.map +1 -0
  341. package/lib/esm/components/Image/Image.js +1 -1
  342. package/lib/esm/components/Image/Image69.js +1 -1
  343. package/lib/esm/components/Image/VisibilitySensor.js +1 -1
  344. package/lib/esm/components/Image/hook/index.js +5 -8
  345. package/lib/esm/components/Image/hook/index.js.map +1 -1
  346. package/lib/esm/components/Image/index.js +2 -2
  347. package/lib/esm/components/Image/index.js.map +1 -1
  348. package/lib/esm/components/Image/queryCacheBatcher.js +1 -1
  349. package/lib/esm/components/Image/utils.js +1 -1
  350. package/lib/esm/components/ImagePreview/ImagePreview.js +1 -1
  351. package/lib/esm/components/ImagePreview/api.js +1 -1
  352. package/lib/esm/components/ImagePreview/index.js +1 -1
  353. package/lib/esm/components/LanguageProvider/hooks/useLanguage.js +1 -1
  354. package/lib/esm/components/LanguageProvider/index.js +1 -1
  355. package/lib/esm/components/List/List.js +1 -1
  356. package/lib/esm/components/List/ListItem/ListItem.js +1 -1
  357. package/lib/esm/components/List/index.js +1 -1
  358. package/lib/esm/components/List/styles.js +1 -1
  359. package/lib/esm/components/MiniSnackBar/MiniSnackBar.js +1 -1
  360. package/lib/esm/components/MiniSnackBar/index.js +1 -1
  361. package/lib/esm/components/MiniSnackBar/styles.js +1 -1
  362. package/lib/esm/components/NavigationBar/NavigationBar.js +1 -1
  363. package/lib/esm/components/NavigationBar/index.js +1 -1
  364. package/lib/esm/components/NavigationBar/styles.js +1 -1
  365. package/lib/esm/components/NoticeBar/NoticeBar.js +14 -8
  366. package/lib/esm/components/NoticeBar/NoticeBar.js.map +1 -1
  367. package/lib/esm/components/NoticeBar/index.js +1 -1
  368. package/lib/esm/components/Picker/Picker.js +1 -1
  369. package/lib/esm/components/Picker/api.js +1 -1
  370. package/lib/esm/components/Picker/index.js +1 -1
  371. package/lib/esm/components/PickerView/PickerView.js +3 -2
  372. package/lib/esm/components/PickerView/PickerView.js.map +1 -1
  373. package/lib/esm/components/PickerView/Wheel.js +24 -4
  374. package/lib/esm/components/PickerView/Wheel.js.map +1 -1
  375. package/lib/esm/components/PickerView/index.js +1 -1
  376. package/lib/esm/components/Popover/Popover.js +25 -29
  377. package/lib/esm/components/Popover/Popover.js.map +1 -1
  378. package/lib/esm/components/Popover/index.js +1 -1
  379. package/lib/esm/components/Portal/core/PortalProvider.js +1 -1
  380. package/lib/esm/components/Portal/index.js +1 -1
  381. package/lib/esm/components/Progress/Progress.js +1 -1
  382. package/lib/esm/components/Progress/index.js +1 -1
  383. package/lib/esm/components/Progress/styles.js +1 -1
  384. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +5 -5
  385. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  386. package/lib/esm/components/ProgressIndicator/index.js +1 -1
  387. package/lib/esm/components/ProgressIndicator/styles.js +1 -1
  388. package/lib/esm/components/PullRefresh/PullRefresh.js +1 -1
  389. package/lib/esm/components/PullRefresh/component.js +1 -1
  390. package/lib/esm/components/PullRefresh/index.js +1 -1
  391. package/lib/esm/components/Radio/Radio.js +3 -2
  392. package/lib/esm/components/Radio/Radio.js.map +1 -1
  393. package/lib/esm/components/Radio/RadioGroup.js +1 -1
  394. package/lib/esm/components/Radio/index.js +3 -2
  395. package/lib/esm/components/Radio/index.js.map +1 -1
  396. package/lib/esm/components/Radio/styles.js +1 -1
  397. package/lib/esm/components/Rate/Rate.js +3 -3
  398. package/lib/esm/components/Rate/Rate.js.map +1 -1
  399. package/lib/esm/components/Rate/index.js +1 -1
  400. package/lib/esm/components/Result/Result.js +1 -1
  401. package/lib/esm/components/Result/index.js +1 -1
  402. package/lib/esm/components/Result/styles.js +1 -1
  403. package/lib/esm/components/Search/Search.js +1 -1
  404. package/lib/esm/components/Search/index.js +1 -1
  405. package/lib/esm/components/Search/styles.js +1 -1
  406. package/lib/esm/components/SegmentedControl/SegmentedControl.js +1 -1
  407. package/lib/esm/components/SegmentedControl/index.js +1 -1
  408. package/lib/esm/components/Sheets/AnimatedSheets.js +14 -3
  409. package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
  410. package/lib/esm/components/Sheets/Sheets.js +1 -1
  411. package/lib/esm/components/Sheets/api.js +1 -1
  412. package/lib/esm/components/Sheets/index.js +1 -1
  413. package/lib/esm/components/Skeleton/Item/SkeletonItem.js +1 -1
  414. package/lib/esm/components/Skeleton/Item/SkeletonItem69.js +1 -1
  415. package/lib/esm/components/Skeleton/Skeleton.js +1 -1
  416. package/lib/esm/components/Skeleton/Skeleton69.js +1 -1
  417. package/lib/esm/components/Skeleton/index.js +1 -1
  418. package/lib/esm/components/Slider/Slider.js +1 -1
  419. package/lib/esm/components/Slider/index.js +1 -1
  420. package/lib/esm/components/SlimAlert/Alert.js +13 -9
  421. package/lib/esm/components/SlimAlert/Alert.js.map +1 -1
  422. package/lib/esm/components/SlimAlert/AlertContent.js +1 -1
  423. package/lib/esm/components/SlimAlert/AlertFooter.js +1 -1
  424. package/lib/esm/components/SlimAlert/PortalHost.js +24 -0
  425. package/lib/esm/components/SlimAlert/PortalHost.js.map +1 -0
  426. package/lib/esm/components/SlimAlert/PortalHost.web.js +12167 -0
  427. package/lib/esm/components/SlimAlert/PortalHost.web.js.map +1 -0
  428. package/lib/esm/components/SlimAlert/index.js +2 -1
  429. package/lib/esm/components/SlimAlert/index.js.map +1 -1
  430. package/lib/esm/components/SlimAlert/styles.js +1 -1
  431. package/lib/esm/components/SlimNavigationBar/NavigationBar.js +1 -1
  432. package/lib/esm/components/SlimNavigationBar/NavigationBarAction.js +1 -1
  433. package/lib/esm/components/SlimNavigationBar/index.js +1 -1
  434. package/lib/esm/components/SlimNavigationBar/styles.js +1 -1
  435. package/lib/esm/components/SlimSheets/AnimatedSheets.js +1 -1
  436. package/lib/esm/components/SlimSheets/AnimatedSheetsAction.js +1 -1
  437. package/lib/esm/components/SlimSheets/AnimatedSheetsHeader.js +1 -1
  438. package/lib/esm/components/SlimSheets/DragAnimatedSheets.js +1 -1
  439. package/lib/esm/components/SlimSheets/index.js +1 -1
  440. package/lib/esm/components/SlimTabs/BadgeSlimTabItem.js +1 -1
  441. package/lib/esm/components/SlimTabs/SlimTab.js +1 -1
  442. package/lib/esm/components/SlimTabs/SlimTabItem.js +1 -1
  443. package/lib/esm/components/SlimTabs/SlimTabItemLabel.js +1 -1
  444. package/lib/esm/components/SlimTabs/SlimTabItemValue.js +1 -1
  445. package/lib/esm/components/SlimTabs/SlimTabList.js +1 -1
  446. package/lib/esm/components/SlimTabs/index.js +1 -1
  447. package/lib/esm/components/SlimTabs/styles.js +1 -1
  448. package/lib/esm/components/SnackBar/SnackBar.js +1 -1
  449. package/lib/esm/components/SnackBar/index.js +1 -1
  450. package/lib/esm/components/SnackBar/styles.js +1 -1
  451. package/lib/esm/components/Stepper/Stepper.js +1 -1
  452. package/lib/esm/components/Stepper/index.js +1 -1
  453. package/lib/esm/components/Switch/Switch.js +1 -1
  454. package/lib/esm/components/Switch/index.js +1 -1
  455. package/lib/esm/components/Tab/Tabs.js +1 -1
  456. package/lib/esm/components/Tab/index.js +1 -1
  457. package/lib/esm/components/Tab/styles.js +1 -1
  458. package/lib/esm/components/TabBar/TabBar.js +1 -1
  459. package/lib/esm/components/TabBar/index.js +1 -1
  460. package/lib/esm/components/TabBar/styles.js +1 -1
  461. package/lib/esm/components/Tag/Tag.js +12 -5
  462. package/lib/esm/components/Tag/Tag.js.map +1 -1
  463. package/lib/esm/components/Tag/index.js +1 -1
  464. package/lib/esm/components/Text/Text.js +1 -1
  465. package/lib/esm/components/Text/Viewable.js +1 -1
  466. package/lib/esm/components/Text/hooks/cloneContainer.js +1 -1
  467. package/lib/esm/components/Text/hooks/index.js +1 -1
  468. package/lib/esm/components/Text/hooks/loadFontFromFile.js +16 -19
  469. package/lib/esm/components/Text/hooks/loadFontFromFile.js.map +1 -1
  470. package/lib/esm/components/Text/index.js +1 -1
  471. package/lib/esm/components/Text/styles.js +1 -1
  472. package/lib/esm/components/TextField/TextField.js +23 -13
  473. package/lib/esm/components/TextField/TextField.js.map +1 -1
  474. package/lib/esm/components/TextField/index.js +1 -1
  475. package/lib/esm/components/TextField/styles.js +1 -1
  476. package/lib/esm/components/TextView/TextView.js +5 -3
  477. package/lib/esm/components/TextView/TextView.js.map +1 -1
  478. package/lib/esm/components/TextView/index.js +1 -1
  479. package/lib/esm/components/TextView/styles.js +1 -1
  480. package/lib/esm/components/Toast/Toast.js +3 -3
  481. package/lib/esm/components/Toast/Toast.js.map +1 -1
  482. package/lib/esm/components/Toast/api.js +1 -1
  483. package/lib/esm/components/Toast/index.js +1 -1
  484. package/lib/esm/components/Toast/styles.js +1 -1
  485. package/lib/esm/components/Uploader/Uploader.js +44 -46
  486. package/lib/esm/components/Uploader/Uploader.js.map +1 -1
  487. package/lib/esm/components/Uploader/index.js +2 -2
  488. package/lib/esm/components/Uploader/interface/index.js +2 -2
  489. package/lib/esm/components/Uploader/styles.js +2 -2
  490. package/lib/esm/components/Uploader/utils.js +1 -1
  491. package/lib/esm/index.js +3 -2
  492. package/lib/esm/index.js.map +1 -1
  493. package/lib/esm/pvCount/pvData.js +11 -6
  494. package/lib/esm/pvCount/pvData.js.map +1 -1
  495. package/lib/src/components/ActionSheets/styles.d.ts +0 -1
  496. package/lib/src/components/Button/Viewable.web.d.ts +3 -0
  497. package/lib/src/components/Collapse/Item/Item.web.d.ts +7 -0
  498. package/lib/src/components/Form/interface/index.d.ts +0 -1
  499. package/lib/src/components/Icon/Icon.web.d.ts +2 -0
  500. package/lib/src/components/Image/interface/index.d.ts +0 -2
  501. package/lib/src/components/Search/interface/index.d.ts +0 -2
  502. package/lib/src/components/Slider/interface/index.d.ts +0 -2
  503. package/lib/src/components/SlimAlert/Alert.d.ts +1 -1
  504. package/lib/src/components/SlimAlert/PortalHost.d.ts +6 -0
  505. package/lib/src/components/SlimAlert/PortalHost.web.d.ts +6 -0
  506. package/lib/src/components/Video/interface/index.d.ts +0 -2
  507. package/lib/types/components/ActionSheets/styles.d.ts +0 -1
  508. package/lib/types/components/Button/Viewable.web.d.ts +3 -0
  509. package/lib/types/components/Collapse/Item/Item.web.d.ts +7 -0
  510. package/lib/types/components/Icon/Icon.web.d.ts +2 -0
  511. package/lib/types/components/SlimAlert/Alert.d.ts +1 -1
  512. package/lib/types/components/SlimAlert/PortalHost.d.ts +6 -0
  513. package/lib/types/components/SlimAlert/PortalHost.web.d.ts +6 -0
  514. package/package.json +10 -6
  515. package/src/components/ActionSheets/ActionSheets.tsx +12 -25
  516. package/src/components/ActionSheets/styles.ts +0 -1
  517. package/src/components/ActionablePopover/ActionablePopover.tsx +3 -0
  518. package/src/components/Alert/Alert.tsx +5 -5
  519. package/src/components/Button/Viewable.web.tsx +44 -0
  520. package/src/components/Collapse/Item/Item.web.tsx +150 -0
  521. package/src/components/DatePicker/interface/index.ts +1 -0
  522. package/src/components/Icon/Icon.web.tsx +2 -0
  523. package/src/components/Image/index.ts +1 -1
  524. package/src/components/NoticeBar/NoticeBar.tsx +29 -5
  525. package/src/components/PickerView/PickerView.tsx +1 -1
  526. package/src/components/PickerView/Wheel.tsx +32 -3
  527. package/src/components/Popover/Popover.tsx +24 -26
  528. package/src/components/ProgressIndicator/ProgressIndicator.tsx +4 -12
  529. package/src/components/Rate/Rate.tsx +22 -18
  530. package/src/components/Sheets/AnimatedSheets.tsx +7 -3
  531. package/src/components/SlimAlert/Alert.tsx +9 -7
  532. package/src/components/SlimAlert/PortalHost.tsx +7 -0
  533. package/src/components/SlimAlert/PortalHost.web.tsx +11 -0
  534. package/src/components/Tag/Tag.tsx +7 -3
  535. package/src/components/TextField/TextField.tsx +19 -8
  536. package/src/components/TextView/TextView.tsx +15 -3
  537. package/src/components/Toast/Toast.tsx +2 -2
  538. package/tsconfig.dts.json +1 -1
  539. package/lib/cjs/_chunks/CbISStRO.js +0 -486
  540. package/lib/cjs/_chunks/CbISStRO.js.map +0 -1
  541. package/lib/esm/_chunks/BcGvf0Pc.js +0 -475
  542. package/lib/esm/_chunks/BcGvf0Pc.js.map +0 -1
@@ -0,0 +1,44 @@
1
+ import React, { useEffect, useRef } from "react";
2
+ import { View, Dimensions } from "react-native";
3
+
4
+ const Viewable = (props: any) => {
5
+ const { style, percent = 1, callback, ...rest } = props;
6
+ const targetRef = useRef<View>(null);
7
+ const hasLoggedExposure = useRef(false);
8
+
9
+ useEffect(() => {
10
+ if (typeof window === "undefined") return;
11
+
12
+ const observer = new IntersectionObserver(
13
+ (entries) => {
14
+ entries.forEach((entry) => {
15
+ if (entry.isIntersecting && entry.intersectionRatio >= (percent || 1)) {
16
+ if (!hasLoggedExposure.current) {
17
+ hasLoggedExposure.current = true;
18
+ callback?.();
19
+ }
20
+ }
21
+ });
22
+ },
23
+ {
24
+ threshold: percent || 1,
25
+ },
26
+ );
27
+
28
+ // 获取实际的 DOM 元素
29
+ const domNode = targetRef.current as any;
30
+ if (domNode) {
31
+ observer.observe(domNode);
32
+ }
33
+
34
+ return () => observer.disconnect();
35
+ }, [callback, percent]);
36
+
37
+ return (
38
+ <View ref={targetRef} style={style} {...rest}>
39
+ {props.children}
40
+ </View>
41
+ );
42
+ };
43
+
44
+ export default Viewable;
@@ -0,0 +1,150 @@
1
+ import React, { useState, useRef, useEffect, useMemo } from "react";
2
+ import { View, Text, TouchableWithoutFeedback, LayoutChangeEvent, ViewStyle } from "react-native";
3
+ import { IItem, ItemDefaultProps } from "./interface/index";
4
+ import createStyles from "./styles";
5
+ import { Icon } from "../../Icon";
6
+ import { ArrowUpM, ArrowDownCenterB } from "@xhs/reder-icon-svg-ReDs_icon";
7
+ import { CollapseContext } from "../hooks/useCollapseContext";
8
+ import { useThemeColor } from "../../ConfigProvider";
9
+
10
+ const Item = ({ value, title, lazyRender, children, onClick }: IItem) => {
11
+ const { addActiveValue, isActiveValue, removeActiveValue, size, registerChild, unregisterChild } =
12
+ React.useContext(CollapseContext);
13
+ const styles = createStyles(size || "Medium");
14
+ const [visible, setVisible] = useState(false);
15
+ const [shouldMount, setShouldMount] = useState(!lazyRender);
16
+ const [contentHeight, setContentHeight] = useState(0);
17
+ const firstRender = useRef(false);
18
+ const measureRef = useRef<View>(null);
19
+ const contentRef = useRef<View>(null);
20
+
21
+ const themeColor = useThemeColor();
22
+ const [lineItem, setLineItem] = useState(false);
23
+
24
+ const childInfo = {
25
+ setLine: (value: boolean) => setLineItem(value),
26
+ };
27
+
28
+ useEffect(() => {
29
+ registerChild(childInfo);
30
+ return () => unregisterChild(childInfo);
31
+ }, []);
32
+
33
+ const [initialMeasureDone, setInitialMeasureDone] = useState(false);
34
+
35
+ const setFirstRenderTag = () => {
36
+ firstRender.current = true;
37
+ setShouldMount(true);
38
+ };
39
+
40
+ const handleContentLayout = (event: LayoutChangeEvent) => {
41
+ const measuredHeight = event.nativeEvent.layout.height;
42
+ if (measuredHeight !== contentHeight) {
43
+ setContentHeight(measuredHeight);
44
+ setInitialMeasureDone(true);
45
+ }
46
+ };
47
+
48
+ // 初始可见状态同步逻辑
49
+ useEffect(() => {
50
+ const isActive = !!isActiveValue?.(value);
51
+ if (isActive) {
52
+ measureRef.current?.measure?.((x, y, width, height) => {
53
+ setContentHeight(height);
54
+ setInitialMeasureDone(true);
55
+ });
56
+ }
57
+ setVisible(isActive);
58
+ if (!firstRender.current && isActive) {
59
+ setFirstRenderTag();
60
+ }
61
+ }, [isActiveValue?.(value)]);
62
+
63
+ const onPress = () => {
64
+ const nextActive = !isActiveValue?.(value);
65
+
66
+ if (nextActive) {
67
+ addActiveValue?.(value);
68
+ if (!firstRender.current) setFirstRenderTag();
69
+ } else {
70
+ removeActiveValue?.(value);
71
+ }
72
+
73
+ setVisible(nextActive);
74
+ onClick?.(value);
75
+ };
76
+
77
+ const cloneChildren = useMemo(() => {
78
+ return React.Children.map(children, (child: any) => {
79
+ return React.cloneElement(child, {
80
+ style: { color: themeColor.Paragraph },
81
+ ...child.props,
82
+ });
83
+ });
84
+ }, [children]);
85
+
86
+ return (
87
+ <View>
88
+ <TouchableWithoutFeedback onPress={onPress}>
89
+ <View style={styles.header}>
90
+ <Text style={styles.title}>{title}</Text>
91
+ <View
92
+ style={
93
+ { transform: `rotate(${visible ? 180 : 0}deg)`, transition: "transform 200ms ease-in-out" } as ViewStyle
94
+ }
95
+ >
96
+ <Icon icon={ArrowDownCenterB} size={16} fill={themeColor.Title} />
97
+ </View>
98
+ </View>
99
+ </TouchableWithoutFeedback>
100
+
101
+ {/* 测量视图 */}
102
+ <View
103
+ ref={measureRef}
104
+ onLayout={handleContentLayout}
105
+ style={{
106
+ position: "absolute",
107
+ opacity: 0,
108
+ paddingHorizontal: 16,
109
+ paddingBottom: 12,
110
+ top: -9999,
111
+ width: "100%",
112
+ ...styles.content,
113
+ }}
114
+ >
115
+ {cloneChildren}
116
+ </View>
117
+
118
+ {/* Web 内容视图 */}
119
+ <View
120
+ ref={contentRef}
121
+ style={{
122
+ overflow: "hidden",
123
+ height: visible ? contentHeight : 0,
124
+ paddingHorizontal: 16,
125
+ paddingBottom: visible ? 12 : 0,
126
+ minHeight: visible ? 1 : 0,
127
+ // @ts-expect-error
128
+ transition: "height 200ms ease-in-out, padding 200ms ease-in-out, opacity 200ms ease-in-out",
129
+ ...styles.content,
130
+ }}
131
+ >
132
+ {cloneChildren}
133
+ </View>
134
+
135
+ {/* 分割线 */}
136
+ {lineItem && (
137
+ <View
138
+ style={{
139
+ backgroundColor: themeColor.Separator,
140
+ height: 0.5,
141
+ marginHorizontal: 16,
142
+ }}
143
+ />
144
+ )}
145
+ </View>
146
+ );
147
+ };
148
+
149
+ Item.defaultProps = ItemDefaultProps;
150
+ export default Item;
@@ -1,3 +1,4 @@
1
+ import { Platform } from "react-native";
1
2
  export enum DatePickerMode {
2
3
  YearMonthDay = "yearmonthday",
3
4
  YearMonth = "yearmonth",
@@ -0,0 +1,2 @@
1
+ export * from "./Icon.72";
2
+ export { default } from "./Icon.72";
@@ -3,6 +3,6 @@ import Image from "./Image";
3
3
  import Image69 from "./Image69";
4
4
  import * as ImageType from "./interface";
5
5
 
6
- const ImageComponent = Platform.constants?.reactNativeVersion?.minor === 72 ? Image : Image69;
6
+ const ImageComponent = Platform.constants?.reactNativeVersion?.minor === 72 || Platform.OS === "web" ? Image : Image69;
7
7
  export default ImageComponent;
8
8
  export { ImageComponent as Image, ImageType, Image69 };
@@ -1,10 +1,30 @@
1
1
  import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
2
- import { View, TouchableWithoutFeedback, Text, Image, Animated, Easing } from "react-native";
2
+ import {
3
+ View,
4
+ TouchableWithoutFeedback,
5
+ Text,
6
+ Image,
7
+ Animated,
8
+ Easing,
9
+ LayoutChangeEvent,
10
+ Platform,
11
+ TextStyle,
12
+ } from "react-native";
3
13
  import { RedsNoticeBar, NoticeBarDefaultProps, NoticeBarType, NoticeBarActionType } from "./interface/index";
4
14
  import getStyles from "./styles";
5
15
  import { useThemeColor } from "../ConfigProvider";
6
16
  import { useLanguage } from "../LanguageProvider";
7
17
  import useMounted from "../../pvCount/useUnmountedProcess";
18
+
19
+ const AnimatedTextStyle =
20
+ Platform.OS === "web"
21
+ ? {
22
+ textOverflow: "initial",
23
+ overflow: "initial",
24
+ maxWidth: "auto",
25
+ }
26
+ : {};
27
+
8
28
  const NoticeBar = (props: RedsNoticeBar) => {
9
29
  useMounted("NoticeBar");
10
30
  const [_visible, setVisible] = useState(true);
@@ -52,7 +72,7 @@ const NoticeBar = (props: RedsNoticeBar) => {
52
72
  const scrollDistance = useMemo(() => Math.max(textWidth - containerWidth, 0), [textWidth, containerWidth]);
53
73
 
54
74
  useEffect(() => {
55
- if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0) {
75
+ if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0 && scrollDistance > 0) {
56
76
  const startScrolling = () => {
57
77
  scrollX.setValue(0);
58
78
  Animated.timing(scrollX, {
@@ -84,6 +104,10 @@ const NoticeBar = (props: RedsNoticeBar) => {
84
104
  setVisible(!!props.visible);
85
105
  }, [props.visible]);
86
106
 
107
+ const handleAnimatedTextLayout = (e: LayoutChangeEvent) => {
108
+ setTextWidth(e.nativeEvent.layout.width);
109
+ };
110
+
87
111
  return _visible ? (
88
112
  <View
89
113
  style={[
@@ -100,11 +124,11 @@ const NoticeBar = (props: RedsNoticeBar) => {
100
124
  onLayout={(e) => setContainerWidth(e.nativeEvent.layout.width)}
101
125
  >
102
126
  {props.type === NoticeBarType.SCROLLABLE ? (
103
- <View style={{ minHeight: 18, overflow: "scroll", flexDirection: "row" }}>
127
+ <View style={{ minHeight: 18, overflow: Platform.OS === "web" ? "hidden" : "scroll", flexDirection: "row" }}>
104
128
  <Animated.Text
105
129
  numberOfLines={1}
106
- style={[{ transform: [{ translateX: scrollX }] }]}
107
- onLayout={(e) => setTextWidth(e.nativeEvent.layout.width)}
130
+ style={[{ transform: [{ translateX: scrollX }] }, AnimatedTextStyle as TextStyle]}
131
+ onLayout={handleAnimatedTextLayout}
108
132
  >
109
133
  <Text style={styles.text}>{props.content}</Text>
110
134
  <Text style={styles.text}>{" "}</Text>
@@ -47,7 +47,7 @@ const PickerView = (props: RedsPickerView) => {
47
47
  <ProgressIndicator type="default" />
48
48
  </View>
49
49
  ) : (
50
- <View style={[styles.wheelWrapper, { backgroundColor: themeColor.Bg2 }]}>
50
+ <View style={[styles.wheelWrapper, { backgroundColor: themeColor.Bg2, overflow: "scroll" }]}>
51
51
  {columns.map((column, colIndex) => (
52
52
  <Wheel
53
53
  key={colIndex}
@@ -1,5 +1,13 @@
1
1
  import React, { useRef, useState, useEffect } from "react";
2
- import { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from "react-native";
2
+ import {
3
+ NativeScrollEvent,
4
+ NativeSyntheticEvent,
5
+ ScrollView,
6
+ View,
7
+ Text,
8
+ TouchableNativeFeedback,
9
+ Platform,
10
+ } from "react-native";
3
11
  import { useThemeColor } from "../ConfigProvider";
4
12
  import { typography } from "@xhs/reds-token-next";
5
13
  import { RedsWheel, Column } from "./interface/index";
@@ -143,7 +151,12 @@ const Wheel = (props: RedsWheel) => {
143
151
  */
144
152
  const renderItems = () => {
145
153
  return column.map((item, index) => (
146
- <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>
154
+ <TouchableNativeFeedback
155
+ onPress={() => handleClick(index)}
156
+ key={item.value}
157
+ // @ts-expect-error
158
+ style={Platform.OS === "web" ? { border: "none", alignSelf: "inherit" } : {}}
159
+ >
147
160
  <View
148
161
  style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}
149
162
  key={item.value}
@@ -157,9 +170,25 @@ const Wheel = (props: RedsWheel) => {
157
170
  ));
158
171
  };
159
172
 
173
+ useEffect(() => {
174
+ if (Platform.OS !== "web") {
175
+ return;
176
+ }
177
+ const handleScrollEnd = (e: any) => {
178
+ const selectIndex = Math.round(e.target.scrollTop / itemHeight);
179
+ setIndex(selectIndex);
180
+ };
181
+ // @ts-expect-error
182
+ scrollerRef.current?.addEventListener("scrollend", handleScrollEnd);
183
+ return () => {
184
+ // @ts-expect-error
185
+ scrollerRef.current?.removeEventListener("scrollend", handleScrollEnd);
186
+ };
187
+ }, [scrollerRef.current, itemHeight]);
188
+
160
189
  return (
161
190
  <ScrollView
162
- style={{ flex: 1 }}
191
+ style={{ flex: 1, height: "100%" }}
163
192
  nestedScrollEnabled
164
193
  horizontal={false}
165
194
  ref={(el: any) => (scrollerRef.current = el)}
@@ -1,5 +1,15 @@
1
1
  import React, { useState, useMemo, isValidElement, useEffect, useRef } from "react";
2
- import { Text, View, TouchableWithoutFeedback, GestureResponderEvent, Animated, Image, Dimensions } from "react-native";
2
+ import {
3
+ Text,
4
+ View,
5
+ TouchableWithoutFeedback,
6
+ GestureResponderEvent,
7
+ Animated,
8
+ Image,
9
+ Dimensions,
10
+ Platform,
11
+ LayoutChangeEvent,
12
+ } from "react-native";
3
13
  import { RedsPopover } from "./interface/index";
4
14
  import { ModalWrapper } from "./component";
5
15
  import { darkColor, lightColor, typography } from "@xhs/reds-token-next";
@@ -33,6 +43,8 @@ export default ({
33
43
  const needModal = useMemo(() => opacity !== 0, [opacity]);
34
44
 
35
45
  const [_visible, setVisible] = useState(false);
46
+ const [floatStyles, setFloatStyles] = useState({});
47
+ const [arrowStyles, setArrowStyles] = useState({});
36
48
 
37
49
  const progress = useRef(new Animated.Value(0)).current;
38
50
 
@@ -45,21 +57,15 @@ export default ({
45
57
  height: 0,
46
58
  });
47
59
 
48
- const [floatingLayout, setFloatingLayout] = useState({
49
- x: defaultValue,
50
- y: defaultValue,
51
- width: 0,
52
- height: 0,
53
- });
54
-
55
- const floatStyles = useMemo(() => {
60
+ const handleFloatingLayout = (e: LayoutChangeEvent) => {
61
+ const floatingLayout = e.nativeEvent.layout;
56
62
  const start = ["top-start", "bottom-start"].includes(placement);
57
63
  const mid = ["top", "bottom"].includes(placement);
58
64
  const end = ["top-end", "bottom-end"].includes(placement);
59
65
  const diffX = floatingLayout.width - layout.width;
60
66
  // @ts-expect-error
61
67
  const isHarmony = Platform.OS === "harmony";
62
- return layout.height
68
+ const floatStyles = layout.height
63
69
  ? {
64
70
  position: "absolute",
65
71
  top:
@@ -71,16 +77,7 @@ export default ({
71
77
  (isHarmony ? Dimensions.get("screen").width : 0),
72
78
  }
73
79
  : {};
74
- }, [placement, layout, floatingLayout]);
75
-
76
- const arrowStyles = useMemo(() => {
77
- const start = ["top-start", "bottom-start"].includes(placement);
78
- const mid = ["top", "bottom"].includes(placement);
79
- const end = ["top-end", "bottom-end"].includes(placement);
80
- const diffX = floatingLayout.width - layout.width;
81
- // @ts-expect-error
82
- const isHarmony = Platform.OS === "harmony";
83
- return layout.height
80
+ const arrowStyles = layout.height
84
81
  ? {
85
82
  transform: [{ rotate: placement.includes("top") ? `0deg` : `180deg` }],
86
83
  position: "absolute",
@@ -101,7 +98,9 @@ export default ({
101
98
  (isHarmony ? Dimensions.get("screen").width : 0),
102
99
  }
103
100
  : {};
104
- }, [placement, layout, floatingLayout, offset]);
101
+ setFloatStyles(floatStyles);
102
+ setArrowStyles(arrowStyles);
103
+ };
105
104
 
106
105
  useEffect(() => {
107
106
  let timer: any;
@@ -212,6 +211,9 @@ export default ({
212
211
  }}
213
212
  onPressOut={(e) => {
214
213
  trigger === "touch" && onMaskChange(e, false);
214
+ if (Platform.OS === "web" && trigger === "click") {
215
+ onMaskChange(e, true);
216
+ }
215
217
  }}
216
218
  >
217
219
  <View
@@ -240,10 +242,7 @@ export default ({
240
242
  <>
241
243
  <Animated.View
242
244
  collapsable={false}
243
- onLayout={(e) => {
244
- setFloatingLayout(e.nativeEvent.layout);
245
- }}
246
- // @ts-expect-error
245
+ onLayout={handleFloatingLayout}
247
246
  style={{
248
247
  backgroundColor: popoverStyle.backgroundColor,
249
248
  paddingHorizontal: 12,
@@ -279,7 +278,6 @@ export default ({
279
278
  </Animated.View>
280
279
  <Image
281
280
  source={{ uri: angle }}
282
- // @ts-expect-error
283
281
  style={{
284
282
  width: 14,
285
283
  height: 6,
@@ -79,6 +79,7 @@ const ProgressIndicator = (props: RedsProgressIndicator) => {
79
79
 
80
80
  const LottieView = React.useMemo(() => {
81
81
  const lottieSource = getLottieSource(type as TLottieSourceType)[strokeColor || colorMode || "light"];
82
+ // TODO: lottie-react-native 不能使用 progress,需要单独适配 web
82
83
  if (type === "progress") {
83
84
  let progress = 0;
84
85
  if (percent > 100) {
@@ -89,9 +90,7 @@ const ProgressIndicator = (props: RedsProgressIndicator) => {
89
90
  return (
90
91
  <>
91
92
  {showPercent && <Text style={[styles.percentText, textStyle]}>{formatText(percent)}</Text>}
92
- {Platform.OS !== "web" && (
93
- <Lottie style={{ flex: 1 }} progress={progress} source={props.lottieSource || lottieSource} />
94
- )}
93
+ <Lottie style={{ flex: 1 }} progress={progress} source={props.lottieSource || lottieSource} />
95
94
  <></>
96
95
  </>
97
96
  );
@@ -99,19 +98,12 @@ const ProgressIndicator = (props: RedsProgressIndicator) => {
99
98
  if (colorMode === "light") {
100
99
  return (
101
100
  <>
102
- {Platform.OS !== "web" && (
103
- <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />
104
- )}
101
+ <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />
105
102
  <></>
106
103
  </>
107
104
  );
108
105
  }
109
- return (
110
- Platform.OS !== "web" && (
111
- <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />
112
- )
113
- );
114
- // return <></>;
106
+ return <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />;
115
107
  }, [type, colorMode, percent, strokeColor]);
116
108
 
117
109
  return (
@@ -173,24 +173,28 @@ const Rate = (props: RedsRate) => {
173
173
  }}
174
174
  testID="image"
175
175
  />
176
- <Text
177
- style={{
178
- fontWeight: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
179
- ? typography.T3FontWeight
180
- : typography.B2LooseFontWeight,
181
- fontSize: typography.C2FontSize,
182
- color: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
183
- ? themeColor.Title
184
- : themeColor.Description,
185
- marginTop: 12,
186
- ...((props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
187
- ? props.activeTextStyle || {}
188
- : props.textStyle || {}),
189
- textAlign: "center",
190
- }}
191
- >
192
- {(props?.texts || defaultText)?.[index]}
193
- </Text>
176
+ {rate === index + 1 ? (
177
+ <Text
178
+ style={{
179
+ fontWeight: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
180
+ ? typography.T3FontWeight
181
+ : typography.B2LooseFontWeight,
182
+ fontSize: typography.C2FontSize,
183
+ color: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
184
+ ? themeColor.Title
185
+ : themeColor.Description,
186
+ marginTop: 12,
187
+ ...((props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
188
+ ? props.activeTextStyle || {}
189
+ : props.textStyle || {}),
190
+ textAlign: "center",
191
+ }}
192
+ >
193
+ {(props?.texts || defaultText)?.[index]}
194
+ </Text>
195
+ ) : (
196
+ <></>
197
+ )}
194
198
  </View>
195
199
  </TouchableWithoutFeedback>
196
200
  ))}
@@ -200,6 +200,10 @@ const AnimatedSheets = forwardRef((props: RedsSheets, ref) => {
200
200
  // 适配底部bottom
201
201
  const isIos = Platform.OS === "ios";
202
202
  const SAFE_BOTTOM = getSafeAreaInsets().bottom;
203
+ let finalSafeBottom = SAFE_BOTTOM || isIos ? 34 : 20;
204
+ if (Platform.OS === "web") {
205
+ finalSafeBottom = 0;
206
+ }
203
207
  // 适配底部bottom
204
208
  let calculateHeight = 0;
205
209
  if (props.animatedSheetsSize === "fixed") {
@@ -232,9 +236,7 @@ const AnimatedSheets = forwardRef((props: RedsSheets, ref) => {
232
236
  childHeightRef.current = calculateHeight;
233
237
  }
234
238
  setSheetsHeight(
235
- props.sheetsStyle?.backgroundColor === "transparent"
236
- ? calculateHeight
237
- : calculateHeight + (SAFE_BOTTOM || (isIos ? 34 : 20)),
239
+ props.sheetsStyle?.backgroundColor === "transparent" ? calculateHeight : calculateHeight + finalSafeBottom,
238
240
  );
239
241
  }, [actionHeight, labelHeight, childHeight, props.animatedSheetsSize, props.autoSize, size, screenHeight]);
240
242
 
@@ -416,6 +418,8 @@ const AnimatedSheets = forwardRef((props: RedsSheets, ref) => {
416
418
  },
417
419
  { zIndex: props.zIndex },
418
420
  props.sheetsStyle,
421
+ // @ts-expect-error
422
+ Platform.OS === "web" ? { position: "fixed", bottom: 0, left: 0, right: 0 } : {},
419
423
  ]}
420
424
  >
421
425
  {props.header ? <View onLayout={handleLabelLayout}>{props.header}</View> : <></>}
@@ -1,13 +1,13 @@
1
1
  import React, { useEffect, useRef, useMemo } from "react";
2
- import { View, TouchableWithoutFeedback, Animated } from "react-native";
2
+ import { View, TouchableWithoutFeedback, Animated, ViewStyle } from "react-native";
3
3
  import { RedsAlert, AlertDefaultProps } from "./interface";
4
- import { Portal } from "../Portal";
4
+ import PortalHost from "./PortalHost";
5
5
  import { style } from "./styles";
6
6
  import useMounted from "../../pvCount/useUnmountedProcess";
7
7
 
8
- const Alert: React.FC<RedsAlert> = (props) => {
8
+ const Alert = (props: RedsAlert) => {
9
9
  const finalProps = { ...AlertDefaultProps, ...props };
10
- const { show, onOpen, onClose, mask, hostName } = finalProps;
10
+ const { show, onOpen, onClose, mask } = finalProps;
11
11
 
12
12
  const styles = style(props);
13
13
 
@@ -40,16 +40,18 @@ const Alert: React.FC<RedsAlert> = (props) => {
40
40
  });
41
41
  }, [props.children]);
42
42
  useMounted("Alert");
43
+
43
44
  return show ? (
44
- <Portal hostName={hostName}>
45
+ <PortalHost hostName={props.hostName}>
45
46
  {mask && (
46
47
  <TouchableWithoutFeedback>
47
- <View style={styles.modalOverlay} />
48
+ <View style={[styles.modalOverlay, { position: props.hostName ? "absolute" : "fixed" } as ViewStyle]} />
48
49
  </TouchableWithoutFeedback>
49
50
  )}
50
51
  <Animated.View
51
52
  style={[
52
53
  styles.centeredView,
54
+ { position: props.hostName ? "absolute" : "fixed" } as ViewStyle,
53
55
  {
54
56
  transform: [
55
57
  {
@@ -67,7 +69,7 @@ const Alert: React.FC<RedsAlert> = (props) => {
67
69
  {footer}
68
70
  </View>
69
71
  </Animated.View>
70
- </Portal>
72
+ </PortalHost>
71
73
  ) : null;
72
74
  };
73
75
 
@@ -0,0 +1,7 @@
1
+ import { Portal } from "../Portal";
2
+
3
+ const PortalHost = ({ children, hostName = "root" }: { children: React.ReactNode; hostName: string | undefined }) => {
4
+ return <Portal hostName={hostName}>{children}</Portal>;
5
+ };
6
+
7
+ export default PortalHost;
@@ -0,0 +1,11 @@
1
+ import { Portal } from "../Portal";
2
+ import { createPortal } from "react-dom";
3
+
4
+ const PortalHost = ({ children, hostName }: { children: React.ReactNode; hostName: string }) => {
5
+ if (hostName) {
6
+ return <Portal hostName={hostName}>{children}</Portal>;
7
+ }
8
+ return createPortal(children, document.body);
9
+ };
10
+
11
+ export default PortalHost;