@nutui/nutui-react 3.0.0-beta.12 → 3.0.0-beta.13

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 (424) hide show
  1. package/dist/cjs/{utils → hooks}/use-click-away.js +2 -2
  2. package/dist/cjs/{utils → hooks}/use-isomprphic-layout-effect.js +1 -1
  3. package/dist/cjs/{utils → hooks}/use-lock-scroll.js +2 -2
  4. package/dist/cjs/packages/actionsheet/actionsheet.d.ts +1 -1
  5. package/dist/cjs/packages/address/address.d.ts +1 -1
  6. package/dist/cjs/packages/address/address.js +1 -1
  7. package/dist/cjs/packages/address/customRender.d.ts +1 -1
  8. package/dist/cjs/packages/animate/animate.d.ts +1 -1
  9. package/dist/cjs/packages/animate/animate.js +5 -6
  10. package/dist/cjs/packages/animate/style/animate.scss +63 -105
  11. package/dist/cjs/packages/animate/style/style.css +45 -44
  12. package/dist/cjs/packages/animatingnumbers/countup.d.ts +1 -1
  13. package/dist/cjs/packages/audio/audio.d.ts +1 -1
  14. package/dist/cjs/packages/avatar/avatar.d.ts +2 -2
  15. package/dist/cjs/packages/avatarcropper/avatarcropper.d.ts +1 -1
  16. package/dist/cjs/packages/avatarcropper/avatarcropper.js +2 -2
  17. package/dist/cjs/packages/avatargroup/avatargroup.d.ts +1 -1
  18. package/dist/cjs/packages/backtop/backtop.d.ts +1 -1
  19. package/dist/cjs/packages/badge/badge.js +13 -15
  20. package/dist/cjs/packages/badge/types.d.ts +1 -1
  21. package/dist/cjs/packages/barrage/barrage.d.ts +1 -1
  22. package/dist/cjs/packages/button/button.d.ts +1 -1
  23. package/dist/cjs/packages/calendar/style/calendar.scss +25 -31
  24. package/dist/cjs/packages/calendar/style/style.css +14 -20
  25. package/dist/cjs/packages/calendarcard/calendarcard.d.ts +1 -1
  26. package/dist/cjs/packages/calendarcard/calendarcard.js +1 -1
  27. package/dist/cjs/packages/calendaritem/calendaritem.d.ts +1 -1
  28. package/dist/cjs/packages/calendaritem/calendaritem.js +1 -1
  29. package/dist/cjs/packages/card/card.d.ts +1 -1
  30. package/dist/cjs/packages/cascader/cascader.d.ts +1 -1
  31. package/dist/cjs/packages/cascader/cascader.js +1 -1
  32. package/dist/cjs/packages/cell/cell.d.ts +1 -1
  33. package/dist/cjs/packages/cell/types.d.ts +1 -1
  34. package/dist/cjs/packages/cellgroup/cellgroup.d.ts +1 -1
  35. package/dist/cjs/packages/checkbox/checkbox.d.ts +2 -2
  36. package/dist/cjs/packages/checkbox/checkbox.js +1 -1
  37. package/dist/cjs/packages/checkboxgroup/checkboxgroup.d.ts +2 -2
  38. package/dist/cjs/packages/checkboxgroup/checkboxgroup.js +1 -1
  39. package/dist/cjs/packages/circleprogress/circleprogress.d.ts +1 -1
  40. package/dist/cjs/packages/col/col.d.ts +1 -1
  41. package/dist/cjs/packages/collapse/collapse.d.ts +1 -1
  42. package/dist/cjs/packages/collapse/collapse.js +1 -1
  43. package/dist/cjs/packages/collapseitem/collapseitem.d.ts +1 -1
  44. package/dist/cjs/packages/configprovider/configprovider.d.ts +2 -2
  45. package/dist/cjs/packages/configprovider/configprovider.js +1 -1
  46. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  47. package/dist/cjs/packages/countdown/types.d.ts +1 -1
  48. package/dist/cjs/packages/datepicker/datepicker.d.ts +2 -2
  49. package/dist/cjs/packages/datepicker/datepicker.js +1 -1
  50. package/dist/cjs/packages/datepicker/style/style.css +2 -2
  51. package/dist/cjs/packages/dialog/types.d.ts +2 -2
  52. package/dist/cjs/packages/divider/divider.d.ts +1 -1
  53. package/dist/cjs/packages/drag/drag.d.ts +1 -1
  54. package/dist/cjs/packages/elevator/elevator.d.ts +1 -1
  55. package/dist/cjs/packages/ellipsis/ellipsis.d.ts +1 -1
  56. package/dist/cjs/packages/ellipsis/ellipsis.js +1 -1
  57. package/dist/cjs/packages/empty/empty.d.ts +1 -1
  58. package/dist/cjs/packages/fixednav/types.d.ts +1 -1
  59. package/dist/cjs/packages/form/form.d.ts +2 -2
  60. package/dist/cjs/packages/form/index.d.ts +1 -1
  61. package/dist/cjs/packages/formitem/formitem.d.ts +1 -1
  62. package/dist/cjs/packages/griditem/griditem.d.ts +1 -1
  63. package/dist/cjs/packages/hoverbutton/hoverbutton.d.ts +2 -2
  64. package/dist/cjs/packages/hoverbuttonitem/hoverbuttonitem.d.ts +1 -1
  65. package/dist/cjs/packages/image/image.d.ts +4 -3
  66. package/dist/cjs/packages/imagepreview/imagepreview.d.ts +1 -1
  67. package/dist/cjs/packages/imagepreview/imagepreview.js +1 -1
  68. package/dist/cjs/packages/infiniteloading/infiniteloading.d.ts +1 -1
  69. package/dist/cjs/packages/input/input.d.ts +1 -1
  70. package/dist/cjs/packages/input/input.js +1 -1
  71. package/dist/cjs/packages/inputnumber/inputnumber.d.ts +1 -1
  72. package/dist/cjs/packages/inputnumber/inputnumber.js +1 -1
  73. package/dist/cjs/packages/loading/types.d.ts +1 -1
  74. package/dist/cjs/packages/lottie/types.d.ts +1 -1
  75. package/dist/cjs/packages/menu/menu.d.ts +2 -2
  76. package/dist/cjs/packages/menuitem/menuitem.d.ts +1 -1
  77. package/dist/cjs/packages/menuitem/menuitem.js +2 -2
  78. package/dist/cjs/packages/navbar/navbar.d.ts +1 -1
  79. package/dist/cjs/packages/noticebar/noticebar.d.ts +1 -1
  80. package/dist/cjs/packages/noticebar/noticebar.js +1 -1
  81. package/dist/cjs/packages/notify/Notification.d.ts +1 -1
  82. package/dist/cjs/packages/notify/notify.d.ts +1 -1
  83. package/dist/cjs/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
  84. package/dist/cjs/packages/nutui.react.build.d.ts +107 -105
  85. package/dist/cjs/packages/nutui.react.build.js +4 -0
  86. package/dist/cjs/packages/nutui.react.d.ts +212 -209
  87. package/dist/cjs/packages/nutui.react.js +5 -0
  88. package/dist/cjs/packages/nutui.react.scss.d.ts +105 -104
  89. package/dist/cjs/packages/nutui.react.scss.js +1 -0
  90. package/dist/cjs/packages/overlay/overlay.js +1 -1
  91. package/dist/cjs/packages/overlay/types.d.ts +1 -1
  92. package/dist/cjs/packages/pagination/pagination.d.ts +1 -1
  93. package/dist/cjs/packages/pagination/pagination.js +1 -1
  94. package/dist/cjs/packages/picker/picker.d.ts +2 -2
  95. package/dist/cjs/packages/picker/picker.js +2 -2
  96. package/dist/cjs/packages/picker/pickerpanel.js +1 -1
  97. package/dist/cjs/packages/picker/style/style.css +2 -2
  98. package/dist/cjs/packages/pickerview/index.d.ts +3 -0
  99. package/dist/cjs/packages/pickerview/index.js +13 -0
  100. package/dist/cjs/packages/pickerview/pickerroller.d.ts +7 -0
  101. package/dist/cjs/packages/pickerview/pickerroller.js +183 -0
  102. package/dist/cjs/packages/pickerview/pickerview.d.ts +4 -0
  103. package/dist/cjs/packages/pickerview/pickerview.js +200 -0
  104. package/dist/cjs/packages/pickerview/style/css.js +1 -0
  105. package/dist/cjs/packages/pickerview/style/index.js +1 -0
  106. package/dist/cjs/packages/pickerview/style/pickerview.scss +79 -0
  107. package/dist/cjs/packages/pickerview/style/style.css +73 -0
  108. package/dist/cjs/packages/pickerview/types.d.ts +32 -0
  109. package/dist/cjs/packages/pickerview/types.js +4 -0
  110. package/dist/cjs/packages/pickerview/utils.d.ts +14 -0
  111. package/dist/cjs/packages/pickerview/utils.js +46 -0
  112. package/dist/cjs/packages/popover/popover.d.ts +3 -3
  113. package/dist/cjs/packages/popover/popover.js +2 -2
  114. package/dist/cjs/packages/popover/types.d.ts +3 -2
  115. package/dist/cjs/packages/popup/popup.js +1 -1
  116. package/dist/cjs/packages/popup/types.d.ts +1 -1
  117. package/dist/cjs/packages/price/types.d.ts +1 -1
  118. package/dist/cjs/packages/progress/progress.d.ts +1 -1
  119. package/dist/cjs/packages/pulltorefresh/pulltorefresh.d.ts +1 -1
  120. package/dist/cjs/packages/radio/radio.d.ts +2 -2
  121. package/dist/cjs/packages/radio/radio.js +1 -1
  122. package/dist/cjs/packages/radiogroup/radiogroup.js +1 -1
  123. package/dist/cjs/packages/range/range.d.ts +1 -1
  124. package/dist/cjs/packages/range/range.js +3 -3
  125. package/dist/cjs/packages/rate/rate.js +3 -3
  126. package/dist/cjs/packages/rate/types.d.ts +1 -1
  127. package/dist/cjs/packages/resultpage/resultpage.d.ts +1 -1
  128. package/dist/cjs/packages/row/row.d.ts +1 -1
  129. package/dist/cjs/packages/safearea/safearea.d.ts +1 -1
  130. package/dist/cjs/packages/searchbar/searchbar.d.ts +1 -1
  131. package/dist/cjs/packages/segmented/segmented.js +1 -1
  132. package/dist/cjs/packages/segmented/types.d.ts +1 -1
  133. package/dist/cjs/packages/shortpassword/shortpassword.d.ts +1 -1
  134. package/dist/cjs/packages/shortpassword/shortpassword.js +1 -1
  135. package/dist/cjs/packages/sidebar/sidebar.d.ts +1 -1
  136. package/dist/cjs/packages/sidebar/sidebar.js +2 -2
  137. package/dist/cjs/packages/sidebar/types.d.ts +1 -1
  138. package/dist/cjs/packages/sidenavbar/sidenavbar.d.ts +1 -1
  139. package/dist/cjs/packages/signature/signature.d.ts +1 -1
  140. package/dist/cjs/packages/skeleton/skeleton.d.ts +1 -1
  141. package/dist/cjs/packages/space/space.d.ts +1 -1
  142. package/dist/cjs/packages/step/step.d.ts +1 -1
  143. package/dist/cjs/packages/steps/steps.d.ts +1 -1
  144. package/dist/cjs/packages/sticky/sticky.d.ts +1 -1
  145. package/dist/cjs/packages/sticky/sticky.js +2 -2
  146. package/dist/cjs/packages/swipe/swipe.d.ts +1 -1
  147. package/dist/cjs/packages/swipe/swipe.js +2 -2
  148. package/dist/cjs/packages/swiper/effects/focus.js +1 -1
  149. package/dist/cjs/packages/swiper/index.d.ts +2 -2
  150. package/dist/cjs/packages/swiper/swiper.d.ts +2 -2
  151. package/dist/cjs/packages/swiper/swiper.js +1 -1
  152. package/dist/cjs/packages/swiperitem/swiperitem.d.ts +1 -1
  153. package/dist/cjs/packages/switch/switch.d.ts +1 -1
  154. package/dist/cjs/packages/switch/switch.js +1 -1
  155. package/dist/cjs/packages/tabbar/style/style.css +2 -9
  156. package/dist/cjs/packages/tabbar/tabbar.d.ts +1 -1
  157. package/dist/cjs/packages/tabbar/tabbar.js +1 -1
  158. package/dist/cjs/packages/tabbaritem/style/style.css +2 -9
  159. package/dist/cjs/packages/tabbaritem/style/tabbaritem.scss +2 -10
  160. package/dist/cjs/packages/tabbaritem/tabbaritem.d.ts +1 -1
  161. package/dist/cjs/packages/tabbaritem/tabbaritem.js +6 -5
  162. package/dist/cjs/packages/table/table.js +1 -1
  163. package/dist/cjs/packages/table/types.d.ts +1 -1
  164. package/dist/cjs/packages/tabs/tabs.d.ts +2 -2
  165. package/dist/cjs/packages/tabs/tabs.js +2 -2
  166. package/dist/cjs/packages/tag/tag.d.ts +1 -1
  167. package/dist/cjs/packages/textarea/textarea.d.ts +2 -2
  168. package/dist/cjs/packages/textarea/textarea.js +20 -25
  169. package/dist/cjs/packages/timedetail/timedetail.d.ts +2 -2
  170. package/dist/cjs/packages/timeselect/timeselect.d.ts +1 -1
  171. package/dist/cjs/packages/toast/types.d.ts +1 -1
  172. package/dist/cjs/packages/tour/tour.d.ts +3 -3
  173. package/dist/cjs/packages/tour/tour.js +1 -1
  174. package/dist/cjs/packages/trendarrow/trendarrow.d.ts +1 -1
  175. package/dist/cjs/packages/uploader/types.d.ts +2 -1
  176. package/dist/cjs/packages/uploader/uploader.d.ts +1 -1
  177. package/dist/cjs/packages/uploader/uploader.js +1 -1
  178. package/dist/cjs/packages/video/video.d.ts +1 -1
  179. package/dist/cjs/packages/virtuallist/virtuallist.d.ts +1 -1
  180. package/dist/cjs/packages/watermark/watermark.d.ts +1 -1
  181. package/dist/cjs/types/fix-string-literal-union.d.ts +1 -0
  182. package/dist/cjs/utils/get-rect-by-taro.js +1 -1
  183. package/dist/cjs/utils/get-system-info.d.ts +19 -0
  184. package/dist/cjs/utils/get-system-info.js +32 -0
  185. package/dist/es/{utils → hooks}/use-click-away.js +3 -2
  186. package/dist/es/{utils → hooks}/use-isomprphic-layout-effect.js +1 -1
  187. package/dist/es/{utils → hooks}/use-lock-scroll.js +2 -2
  188. package/dist/es/packages/actionsheet/actionsheet.d.ts +1 -1
  189. package/dist/es/packages/address/address.d.ts +1 -1
  190. package/dist/es/packages/address/address.js +1 -1
  191. package/dist/es/packages/address/customRender.d.ts +1 -1
  192. package/dist/es/packages/animate/animate.d.ts +1 -1
  193. package/dist/es/packages/animate/animate.js +5 -6
  194. package/dist/es/packages/animate/style/animate.scss +63 -105
  195. package/dist/es/packages/animate/style/style.css +45 -44
  196. package/dist/es/packages/animatingnumbers/countup.d.ts +1 -1
  197. package/dist/es/packages/audio/audio.d.ts +1 -1
  198. package/dist/es/packages/avatar/avatar.d.ts +2 -2
  199. package/dist/es/packages/avatarcropper/avatarcropper.d.ts +1 -1
  200. package/dist/es/packages/avatarcropper/avatarcropper.js +2 -2
  201. package/dist/es/packages/avatargroup/avatargroup.d.ts +1 -1
  202. package/dist/es/packages/backtop/backtop.d.ts +1 -1
  203. package/dist/es/packages/badge/badge.js +13 -15
  204. package/dist/es/packages/badge/types.d.ts +1 -1
  205. package/dist/es/packages/barrage/barrage.d.ts +1 -1
  206. package/dist/es/packages/button/button.d.ts +1 -1
  207. package/dist/es/packages/calendar/calendar.d.ts +27 -135
  208. package/dist/es/packages/calendar/style/calendar.scss +25 -31
  209. package/dist/es/packages/calendar/style/style.css +14 -20
  210. package/dist/es/packages/calendarcard/calendarcard.d.ts +1 -1
  211. package/dist/es/packages/calendarcard/calendarcard.js +1 -1
  212. package/dist/es/packages/calendaritem/calendaritem.d.ts +1 -1
  213. package/dist/es/packages/calendaritem/calendaritem.js +1 -1
  214. package/dist/es/packages/card/card.d.ts +1 -1
  215. package/dist/es/packages/cascader/cascader.d.ts +1 -1
  216. package/dist/es/packages/cascader/cascader.js +1 -1
  217. package/dist/es/packages/cell/cell.d.ts +1 -1
  218. package/dist/es/packages/cell/types.d.ts +1 -1
  219. package/dist/es/packages/cellgroup/cellgroup.d.ts +1 -1
  220. package/dist/es/packages/checkbox/checkbox.d.ts +2 -2
  221. package/dist/es/packages/checkbox/checkbox.js +1 -1
  222. package/dist/es/packages/checkboxgroup/checkboxgroup.d.ts +2 -2
  223. package/dist/es/packages/checkboxgroup/checkboxgroup.js +1 -1
  224. package/dist/es/packages/circleprogress/circleprogress.d.ts +1 -1
  225. package/dist/es/packages/col/col.d.ts +1 -1
  226. package/dist/es/packages/collapse/collapse.d.ts +1 -1
  227. package/dist/es/packages/collapse/collapse.js +1 -1
  228. package/dist/es/packages/collapseitem/collapseitem.d.ts +1 -1
  229. package/dist/es/packages/configprovider/configprovider.d.ts +2 -2
  230. package/dist/es/packages/configprovider/configprovider.js +1 -1
  231. package/dist/es/packages/configprovider/types.d.ts +1 -1
  232. package/dist/es/packages/countdown/types.d.ts +1 -1
  233. package/dist/es/packages/datepicker/datepicker.d.ts +2 -2
  234. package/dist/es/packages/datepicker/datepicker.js +1 -1
  235. package/dist/es/packages/datepicker/style/style.css +2 -2
  236. package/dist/es/packages/dialog/types.d.ts +2 -2
  237. package/dist/es/packages/divider/divider.d.ts +1 -1
  238. package/dist/es/packages/drag/drag.d.ts +1 -1
  239. package/dist/es/packages/elevator/elevator.d.ts +1 -1
  240. package/dist/es/packages/ellipsis/ellipsis.d.ts +1 -1
  241. package/dist/es/packages/ellipsis/ellipsis.js +1 -1
  242. package/dist/es/packages/empty/empty.d.ts +1 -1
  243. package/dist/es/packages/fixednav/types.d.ts +1 -1
  244. package/dist/es/packages/form/form.d.ts +2 -2
  245. package/dist/es/packages/form/index.d.ts +1 -1
  246. package/dist/es/packages/formitem/formitem.d.ts +1 -1
  247. package/dist/es/packages/griditem/griditem.d.ts +1 -1
  248. package/dist/es/packages/hoverbutton/hoverbutton.d.ts +2 -2
  249. package/dist/es/packages/hoverbuttonitem/hoverbuttonitem.d.ts +1 -1
  250. package/dist/es/packages/image/image.d.ts +4 -3
  251. package/dist/es/packages/imagepreview/imagepreview.d.ts +1 -1
  252. package/dist/es/packages/imagepreview/imagepreview.js +1 -1
  253. package/dist/es/packages/infiniteloading/infiniteloading.d.ts +1 -1
  254. package/dist/es/packages/input/input.d.ts +1 -1
  255. package/dist/es/packages/input/input.js +1 -1
  256. package/dist/es/packages/inputnumber/inputnumber.d.ts +1 -1
  257. package/dist/es/packages/inputnumber/inputnumber.js +1 -1
  258. package/dist/es/packages/loading/types.d.ts +1 -1
  259. package/dist/es/packages/lottie/types.d.ts +1 -1
  260. package/dist/es/packages/menu/menu.d.ts +2 -2
  261. package/dist/es/packages/menuitem/menuitem.d.ts +1 -1
  262. package/dist/es/packages/menuitem/menuitem.js +2 -2
  263. package/dist/es/packages/navbar/navbar.d.ts +1 -1
  264. package/dist/es/packages/noticebar/noticebar.d.ts +1 -1
  265. package/dist/es/packages/noticebar/noticebar.js +1 -1
  266. package/dist/es/packages/notify/Notification.d.ts +1 -1
  267. package/dist/es/packages/notify/notify.d.ts +1 -1
  268. package/dist/es/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
  269. package/dist/es/packages/nutui.react.build.d.ts +107 -105
  270. package/dist/es/packages/nutui.react.build.js +3 -1
  271. package/dist/es/packages/overlay/overlay.js +1 -1
  272. package/dist/es/packages/overlay/types.d.ts +1 -1
  273. package/dist/es/packages/pagination/pagination.d.ts +1 -1
  274. package/dist/es/packages/pagination/pagination.js +1 -1
  275. package/dist/es/packages/picker/picker.d.ts +2 -2
  276. package/dist/es/packages/picker/picker.js +2 -2
  277. package/dist/es/packages/picker/pickerpanel.js +1 -1
  278. package/dist/es/packages/picker/style/style.css +2 -2
  279. package/dist/es/packages/pickerview/index.d.ts +3 -0
  280. package/dist/es/packages/pickerview/index.js +2 -0
  281. package/dist/es/packages/pickerview/pickerroller.d.ts +7 -0
  282. package/dist/es/packages/pickerview/pickerroller.js +172 -0
  283. package/dist/es/packages/pickerview/pickerview.d.ts +4 -0
  284. package/dist/es/packages/pickerview/pickerview.js +188 -0
  285. package/dist/es/packages/pickerview/style/css.js +1 -0
  286. package/dist/es/packages/pickerview/style/index.js +1 -0
  287. package/dist/es/packages/pickerview/style/pickerview.scss +79 -0
  288. package/dist/es/packages/pickerview/style/style.css +73 -0
  289. package/dist/es/packages/pickerview/types.d.ts +32 -0
  290. package/dist/es/packages/pickerview/types.js +1 -0
  291. package/dist/es/packages/pickerview/utils.d.ts +14 -0
  292. package/dist/es/packages/pickerview/utils.js +28 -0
  293. package/dist/es/packages/popover/popover.d.ts +3 -3
  294. package/dist/es/packages/popover/popover.js +2 -2
  295. package/dist/es/packages/popover/types.d.ts +3 -2
  296. package/dist/es/packages/popup/popup.js +1 -1
  297. package/dist/es/packages/popup/types.d.ts +1 -1
  298. package/dist/es/packages/price/types.d.ts +1 -1
  299. package/dist/es/packages/progress/progress.d.ts +1 -1
  300. package/dist/es/packages/pulltorefresh/pulltorefresh.d.ts +1 -1
  301. package/dist/es/packages/radio/radio.d.ts +2 -2
  302. package/dist/es/packages/radio/radio.js +1 -1
  303. package/dist/es/packages/radiogroup/radiogroup.js +1 -1
  304. package/dist/es/packages/range/range.d.ts +1 -1
  305. package/dist/es/packages/range/range.js +3 -3
  306. package/dist/es/packages/rate/rate.js +3 -3
  307. package/dist/es/packages/rate/types.d.ts +1 -1
  308. package/dist/es/packages/resultpage/resultpage.d.ts +1 -1
  309. package/dist/es/packages/row/row.d.ts +1 -1
  310. package/dist/es/packages/safearea/safearea.d.ts +1 -1
  311. package/dist/es/packages/searchbar/searchbar.d.ts +1 -1
  312. package/dist/es/packages/segmented/segmented.js +1 -1
  313. package/dist/es/packages/segmented/types.d.ts +1 -1
  314. package/dist/es/packages/shortpassword/shortpassword.d.ts +1 -1
  315. package/dist/es/packages/shortpassword/shortpassword.js +1 -1
  316. package/dist/es/packages/sidebar/sidebar.d.ts +1 -1
  317. package/dist/es/packages/sidebar/sidebar.js +2 -2
  318. package/dist/es/packages/sidebar/types.d.ts +1 -1
  319. package/dist/es/packages/sidenavbar/sidenavbar.d.ts +1 -1
  320. package/dist/es/packages/signature/signature.d.ts +1 -1
  321. package/dist/es/packages/skeleton/skeleton.d.ts +1 -1
  322. package/dist/es/packages/space/space.d.ts +1 -1
  323. package/dist/es/packages/step/step.d.ts +1 -1
  324. package/dist/es/packages/steps/steps.d.ts +1 -1
  325. package/dist/es/packages/sticky/sticky.d.ts +1 -1
  326. package/dist/es/packages/sticky/sticky.js +2 -2
  327. package/dist/es/packages/swipe/swipe.d.ts +1 -1
  328. package/dist/es/packages/swipe/swipe.js +2 -2
  329. package/dist/es/packages/swiper/effects/focus.js +1 -1
  330. package/dist/es/packages/swiper/index.d.ts +2 -2
  331. package/dist/es/packages/swiper/swiper.d.ts +2 -2
  332. package/dist/es/packages/swiper/swiper.js +1 -1
  333. package/dist/es/packages/swiperitem/swiperitem.d.ts +1 -1
  334. package/dist/es/packages/switch/switch.d.ts +1 -1
  335. package/dist/es/packages/switch/switch.js +1 -1
  336. package/dist/es/packages/tabbar/style/style.css +2 -9
  337. package/dist/es/packages/tabbar/tabbar.d.ts +1 -1
  338. package/dist/es/packages/tabbar/tabbar.js +1 -1
  339. package/dist/es/packages/tabbaritem/style/style.css +2 -9
  340. package/dist/es/packages/tabbaritem/style/tabbaritem.scss +2 -10
  341. package/dist/es/packages/tabbaritem/tabbaritem.d.ts +1 -1
  342. package/dist/es/packages/tabbaritem/tabbaritem.js +6 -5
  343. package/dist/es/packages/table/table.js +1 -1
  344. package/dist/es/packages/table/types.d.ts +1 -1
  345. package/dist/es/packages/tabs/tabs.d.ts +2 -2
  346. package/dist/es/packages/tabs/tabs.js +2 -2
  347. package/dist/es/packages/tag/tag.d.ts +1 -1
  348. package/dist/es/packages/textarea/textarea.d.ts +2 -2
  349. package/dist/es/packages/textarea/textarea.js +20 -25
  350. package/dist/es/packages/timedetail/timedetail.d.ts +2 -2
  351. package/dist/es/packages/timeselect/timeselect.d.ts +1 -1
  352. package/dist/es/packages/toast/types.d.ts +1 -1
  353. package/dist/es/packages/tour/tour.d.ts +3 -3
  354. package/dist/es/packages/tour/tour.js +1 -1
  355. package/dist/es/packages/trendarrow/trendarrow.d.ts +1 -1
  356. package/dist/es/packages/uploader/types.d.ts +2 -1
  357. package/dist/es/packages/uploader/uploader.d.ts +1 -1
  358. package/dist/es/packages/uploader/uploader.js +1 -1
  359. package/dist/es/packages/video/video.d.ts +1 -1
  360. package/dist/es/packages/virtuallist/virtuallist.d.ts +1 -1
  361. package/dist/es/packages/watermark/watermark.d.ts +1 -1
  362. package/dist/es/types/fix-string-literal-union.d.ts +1 -0
  363. package/dist/es/utils/get-rect-by-taro.js +1 -1
  364. package/dist/es/utils/get-system-info.d.ts +19 -0
  365. package/dist/es/utils/get-system-info.js +19 -0
  366. package/dist/nutui.react.umd.js +493 -142
  367. package/dist/style.css +1 -1
  368. package/dist/style.scss +36 -35
  369. package/dist/styles/variables.scss +3 -1
  370. package/package.json +1 -80
  371. /package/dist/cjs/{utils → hooks}/use-click-away.d.ts +0 -0
  372. /package/dist/cjs/{utils → hooks}/use-client-rect.d.ts +0 -0
  373. /package/dist/cjs/{utils → hooks}/use-client-rect.js +0 -0
  374. /package/dist/cjs/{utils → hooks}/use-custom-event.d.ts +0 -0
  375. /package/dist/cjs/{utils → hooks}/use-custom-event.js +0 -0
  376. /package/dist/cjs/{utils → hooks}/use-force-update.d.ts +0 -0
  377. /package/dist/cjs/{utils → hooks}/use-force-update.js +0 -0
  378. /package/dist/cjs/{utils → hooks}/use-isomprphic-layout-effect.d.ts +0 -0
  379. /package/dist/cjs/{utils → hooks}/use-lock-scoll-taro.d.ts +0 -0
  380. /package/dist/cjs/{utils → hooks}/use-lock-scoll-taro.js +0 -0
  381. /package/dist/cjs/{utils → hooks}/use-lock-scroll.d.ts +0 -0
  382. /package/dist/cjs/{utils → hooks}/use-memo.d.ts +0 -0
  383. /package/dist/cjs/{utils → hooks}/use-memo.js +0 -0
  384. /package/dist/cjs/{utils → hooks}/use-props-value.d.ts +0 -0
  385. /package/dist/cjs/{utils → hooks}/use-props-value.js +0 -0
  386. /package/dist/cjs/{utils → hooks}/use-ref-state.d.ts +0 -0
  387. /package/dist/cjs/{utils → hooks}/use-ref-state.js +0 -0
  388. /package/dist/cjs/{utils → hooks}/use-refs.d.ts +0 -0
  389. /package/dist/cjs/{utils → hooks}/use-refs.js +0 -0
  390. /package/dist/cjs/{utils → hooks}/use-taro-rect.d.ts +0 -0
  391. /package/dist/cjs/{utils → hooks}/use-taro-rect.js +0 -0
  392. /package/dist/cjs/{utils → hooks}/use-touch.d.ts +0 -0
  393. /package/dist/cjs/{utils → hooks}/use-touch.js +0 -0
  394. /package/dist/cjs/{utils → hooks}/use-uuid.d.ts +0 -0
  395. /package/dist/cjs/{utils → hooks}/use-uuid.js +0 -0
  396. /package/dist/cjs/{utils → hooks}/use-watch.d.ts +0 -0
  397. /package/dist/cjs/{utils → hooks}/use-watch.js +0 -0
  398. /package/dist/es/{utils → hooks}/use-click-away.d.ts +0 -0
  399. /package/dist/es/{utils → hooks}/use-client-rect.d.ts +0 -0
  400. /package/dist/es/{utils → hooks}/use-client-rect.js +0 -0
  401. /package/dist/es/{utils → hooks}/use-custom-event.d.ts +0 -0
  402. /package/dist/es/{utils → hooks}/use-custom-event.js +0 -0
  403. /package/dist/es/{utils → hooks}/use-force-update.d.ts +0 -0
  404. /package/dist/es/{utils → hooks}/use-force-update.js +0 -0
  405. /package/dist/es/{utils → hooks}/use-isomprphic-layout-effect.d.ts +0 -0
  406. /package/dist/es/{utils → hooks}/use-lock-scoll-taro.d.ts +0 -0
  407. /package/dist/es/{utils → hooks}/use-lock-scoll-taro.js +0 -0
  408. /package/dist/es/{utils → hooks}/use-lock-scroll.d.ts +0 -0
  409. /package/dist/es/{utils → hooks}/use-memo.d.ts +0 -0
  410. /package/dist/es/{utils → hooks}/use-memo.js +0 -0
  411. /package/dist/es/{utils → hooks}/use-props-value.d.ts +0 -0
  412. /package/dist/es/{utils → hooks}/use-props-value.js +0 -0
  413. /package/dist/es/{utils → hooks}/use-ref-state.d.ts +0 -0
  414. /package/dist/es/{utils → hooks}/use-ref-state.js +0 -0
  415. /package/dist/es/{utils → hooks}/use-refs.d.ts +0 -0
  416. /package/dist/es/{utils → hooks}/use-refs.js +0 -0
  417. /package/dist/es/{utils → hooks}/use-taro-rect.d.ts +0 -0
  418. /package/dist/es/{utils → hooks}/use-taro-rect.js +0 -0
  419. /package/dist/es/{utils → hooks}/use-touch.d.ts +0 -0
  420. /package/dist/es/{utils → hooks}/use-touch.js +0 -0
  421. /package/dist/es/{utils → hooks}/use-uuid.d.ts +0 -0
  422. /package/dist/es/{utils → hooks}/use-uuid.js +0 -0
  423. /package/dist/es/{utils → hooks}/use-watch.d.ts +0 -0
  424. /package/dist/es/{utils → hooks}/use-watch.js +0 -0
@@ -0,0 +1,172 @@
1
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
+ import React, { useState, useEffect, useRef, useImperativeHandle } from "react";
3
+ import { useTouch } from "../../hooks/use-touch";
4
+ import { passiveSupported } from "../../utils/supports-passive";
5
+ import { preventDefault } from "../../utils";
6
+ import { momentum, useStyles } from "./utils";
7
+ var InternalPickerRoller = function(props, ref) {
8
+ var _props_keyIndex = props.keyIndex, keyIndex = _props_keyIndex === void 0 ? 0 : _props_keyIndex, _props_options = props.options, options = _props_options === void 0 ? [] : _props_options, _props_threeDimensional = props.threeDimensional, threeDimensional = _props_threeDimensional === void 0 ? true : _props_threeDimensional, _props_duration = props.duration, duration = _props_duration === void 0 ? 1000 : _props_duration, onSelect = props.onSelect, _props_renderLabel = props.renderLabel, renderLabel = _props_renderLabel === void 0 ? function(item) {
9
+ return item.label;
10
+ } : _props_renderLabel;
11
+ var DEFAULT_DURATION = 200;
12
+ var INERTIA_TIME = 300;
13
+ var INERTIA_DISTANCE = 15;
14
+ var ROTATION = 20;
15
+ var touch = useTouch();
16
+ var _useState = _sliced_to_array(useState(1), 2), currentIndex = _useState[0], setCurrentIndex = _useState[1];
17
+ var lineSpacing = useRef(36);
18
+ var _useState1 = _sliced_to_array(useState(0), 2), touchTime = _useState1[0], setTouchTime = _useState1[1];
19
+ var _useState2 = _sliced_to_array(useState('0deg'), 2), touchDeg = _useState2[0], setTouchDeg = _useState2[1];
20
+ var isMoving = useRef(false);
21
+ var rollerRef = useRef(null);
22
+ var pickerRollerRef = useRef(null);
23
+ var _useState3 = _sliced_to_array(useState(0), 2), startTime = _useState3[0], setStartTime = _useState3[1];
24
+ var _useState4 = _sliced_to_array(useState(0), 2), startY = _useState4[0], setStartY = _useState4[1];
25
+ var transformY = useRef(0);
26
+ var _useState5 = _sliced_to_array(useState(0), 2), scrollDistance = _useState5[0], setScrollDistance = _useState5[1];
27
+ var _useStyles = useStyles(touchTime, touchDeg, scrollDistance, lineSpacing, ROTATION), touchRollerStyle = _useStyles.touchRollerStyle, touchTiledStyle = _useStyles.touchTiledStyle, rollerStyle = _useStyles.rollerStyle;
28
+ var isItemHidden = function(index) {
29
+ return index >= currentIndex + 8 || index <= currentIndex - 8;
30
+ };
31
+ var applyTransform = function(type, deg) {
32
+ var time = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : DEFAULT_DURATION, translateY = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;
33
+ setTouchTime(type !== 'end' ? 0 : time);
34
+ setTouchDeg(deg);
35
+ setScrollDistance(translateY);
36
+ };
37
+ var handleMove = function(move, type, time) {
38
+ var updatedMove = move + transformY.current;
39
+ if (type === 'end') {
40
+ updatedMove = Math.max(Math.min(updatedMove, 0), -(options.length - 1) * lineSpacing.current);
41
+ // 滚动距离为lineSpacing.current的倍数值
42
+ var endMove = Math.round(updatedMove / lineSpacing.current) * lineSpacing.current;
43
+ var deg = "".concat((Math.abs(Math.round(endMove / lineSpacing.current)) + 1) * ROTATION, "deg");
44
+ applyTransform(type, deg, time, endMove);
45
+ setCurrentIndex(Math.abs(Math.round(endMove / lineSpacing.current)) + 1);
46
+ } else {
47
+ var currentDeg = (-updatedMove / lineSpacing.current + 1) * ROTATION;
48
+ var deg1 = Math.min(Math.max(currentDeg, 0), (options.length + 1) * ROTATION);
49
+ if (deg1 >= 0 && deg1 < (options.length + 1) * ROTATION) {
50
+ applyTransform('', "".concat(deg1, "deg"), undefined, updatedMove);
51
+ setCurrentIndex(Math.abs(Math.round(updatedMove / lineSpacing.current)) + 1);
52
+ }
53
+ }
54
+ };
55
+ var selectValue = function(move) {
56
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(options === null || options === void 0 ? void 0 : options[Math.round(-move / lineSpacing.current)], keyIndex);
57
+ };
58
+ var handleTouchStart = function(event) {
59
+ touch.start(event);
60
+ setStartY(touch.deltaY.current);
61
+ setStartTime(Date.now());
62
+ transformY.current = scrollDistance;
63
+ };
64
+ var handleTouchMove = function(event) {
65
+ touch.move(event);
66
+ if (touch.isVertical) {
67
+ isMoving.current = true;
68
+ preventDefault(event, true);
69
+ }
70
+ var move = touch.deltaY.current - startY;
71
+ handleMove(move);
72
+ };
73
+ var handleTouchEnd = function() {
74
+ if (!isMoving.current) return;
75
+ var move = touch.deltaY.current - startY;
76
+ var moveTime = Date.now() - startTime;
77
+ if (moveTime <= INERTIA_TIME && Math.abs(move) > INERTIA_DISTANCE) {
78
+ var distance = momentum(move, moveTime);
79
+ handleMove(distance, 'end', +duration);
80
+ } else {
81
+ handleMove(move, 'end');
82
+ }
83
+ setTimeout(function() {
84
+ touch.reset();
85
+ }, 0);
86
+ };
87
+ var updateStatus = function(shouldSelect, value) {
88
+ var selectedValue = value || props.value;
89
+ var index = options.findIndex(function(item) {
90
+ return item.value === selectedValue;
91
+ });
92
+ setCurrentIndex(index === -1 ? 1 : index + 1);
93
+ var move = index * lineSpacing.current;
94
+ shouldSelect && selectValue(-move);
95
+ handleMove(-move);
96
+ };
97
+ var stopMomentumScroll = function() {
98
+ isMoving.current = false;
99
+ setTouchTime(0);
100
+ selectValue(scrollDistance);
101
+ };
102
+ // lineSpacing.current CSS variable
103
+ useEffect(function() {
104
+ var element = pickerRollerRef.current;
105
+ if (element) {
106
+ var computedStyle = getComputedStyle(element);
107
+ var currentLineSpacing = computedStyle.getPropertyValue('--nutui-picker-item-height');
108
+ !!currentLineSpacing && (lineSpacing.current = parseFloat(currentLineSpacing));
109
+ }
110
+ }, [
111
+ pickerRollerRef.current
112
+ ]);
113
+ useEffect(function() {
114
+ isMoving.current = false;
115
+ setScrollDistance(0);
116
+ transformY.current = 0;
117
+ updateStatus(false);
118
+ }, [
119
+ options,
120
+ props.value
121
+ ]);
122
+ useImperativeHandle(ref, function() {
123
+ return {
124
+ stopMomentum: stopMomentumScroll,
125
+ moving: isMoving.current
126
+ };
127
+ });
128
+ useEffect(function() {
129
+ var _pickerRollerRef_current, _pickerRollerRef_current1, _pickerRollerRef_current2;
130
+ var options = passiveSupported ? {
131
+ passive: false
132
+ } : false;
133
+ (_pickerRollerRef_current = pickerRollerRef.current) === null || _pickerRollerRef_current === void 0 ? void 0 : _pickerRollerRef_current.addEventListener('touchstart', handleTouchStart, options);
134
+ (_pickerRollerRef_current1 = pickerRollerRef.current) === null || _pickerRollerRef_current1 === void 0 ? void 0 : _pickerRollerRef_current1.addEventListener('touchmove', handleTouchMove, options);
135
+ (_pickerRollerRef_current2 = pickerRollerRef.current) === null || _pickerRollerRef_current2 === void 0 ? void 0 : _pickerRollerRef_current2.addEventListener('touchend', handleTouchEnd, options);
136
+ return function() {
137
+ var _pickerRollerRef_current, _pickerRollerRef_current1, _pickerRollerRef_current2;
138
+ (_pickerRollerRef_current = pickerRollerRef.current) === null || _pickerRollerRef_current === void 0 ? void 0 : _pickerRollerRef_current.removeEventListener('touchstart', handleTouchStart);
139
+ (_pickerRollerRef_current1 = pickerRollerRef.current) === null || _pickerRollerRef_current1 === void 0 ? void 0 : _pickerRollerRef_current1.removeEventListener('touchmove', handleTouchMove);
140
+ (_pickerRollerRef_current2 = pickerRollerRef.current) === null || _pickerRollerRef_current2 === void 0 ? void 0 : _pickerRollerRef_current2.removeEventListener('touchend', handleTouchEnd);
141
+ };
142
+ }, [
143
+ pickerRollerRef.current,
144
+ handleTouchStart,
145
+ handleTouchMove,
146
+ handleTouchEnd
147
+ ]);
148
+ return /*#__PURE__*/ React.createElement("div", {
149
+ className: "nut-pickerview-list",
150
+ ref: pickerRollerRef
151
+ }, /*#__PURE__*/ React.createElement("div", {
152
+ className: "nut-pickerview-roller",
153
+ ref: rollerRef,
154
+ style: threeDimensional ? touchRollerStyle() : touchTiledStyle(),
155
+ onTransitionEnd: stopMomentumScroll
156
+ }, threeDimensional && options.map(function(item, index) {
157
+ var _item_value;
158
+ return /*#__PURE__*/ React.createElement("div", {
159
+ className: "nut-pickerview-roller-item ".concat(isItemHidden(index + 1) && 'nut-pickerview-roller-item-hidden'),
160
+ style: rollerStyle(index),
161
+ key: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : index
162
+ }, renderLabel(item));
163
+ }), !threeDimensional && options.map(function(item, index) {
164
+ var _item_value;
165
+ return /*#__PURE__*/ React.createElement("div", {
166
+ className: "nut-pickerview-roller-item-tiled",
167
+ key: (_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : index
168
+ }, renderLabel(item));
169
+ })));
170
+ };
171
+ var PickerRoller = /*#__PURE__*/ React.forwardRef(InternalPickerRoller);
172
+ export default PickerRoller;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { PickerViewProps } from './types';
3
+ declare const PickerView: React.ForwardRefExoticComponent<Partial<PickerViewProps> & React.RefAttributes<unknown>>;
4
+ export default PickerView;
@@ -0,0 +1,188 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
5
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
6
+ import classNames from "classnames";
7
+ import isEqual from "react-fast-compare";
8
+ import { ComponentDefaults } from "../../utils/typings";
9
+ import { usePropsValue } from "../../hooks/use-props-value";
10
+ import PickerRoller from "./pickerroller";
11
+ var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
12
+ options: [],
13
+ defaultValue: [],
14
+ value: undefined,
15
+ renderLabel: function(item) {
16
+ return item.label;
17
+ }
18
+ });
19
+ var InternalPickerView = function(props, ref) {
20
+ var _$_object_spread = _object_spread({}, defaultProps, props), options = _$_object_spread.options, _object_spread_defaultValue = _$_object_spread.defaultValue, defaultValue = _object_spread_defaultValue === void 0 ? [] : _object_spread_defaultValue, value = _$_object_spread.value, duration = _$_object_spread.duration, threeDimensional = _$_object_spread.threeDimensional, renderLabel = _$_object_spread.renderLabel, className = _$_object_spread.className, style = _$_object_spread.style, onChange = _$_object_spread.onChange;
21
+ var classPrefix = 'nut-pickerview';
22
+ var cls = classNames(classPrefix, className);
23
+ var _usePropsValue = _sliced_to_array(usePropsValue({
24
+ value: value,
25
+ defaultValue: _to_consumable_array(defaultValue),
26
+ finalValue: _to_consumable_array(defaultValue)
27
+ }), 1), selectedValue = _usePropsValue[0];
28
+ var _useState = _sliced_to_array(useState(selectedValue), 2), innerValue = _useState[0], setInnerValue = _useState[1];
29
+ var _useState1 = _sliced_to_array(useState([]), 2), innerOptions = _useState1[0], setInnerOptions = _useState1[1];
30
+ var changeIndex = useRef(0);
31
+ /**
32
+ * 数据类型:级联、多列
33
+ */ var columnsType = useMemo(function() {
34
+ var firstColumn = props.options[0] || [];
35
+ if (Array.isArray(firstColumn) && firstColumn.length > 0 && 'children' in firstColumn[0]) {
36
+ return 'cascade';
37
+ }
38
+ return 'multiple';
39
+ }, [
40
+ props.options
41
+ ]);
42
+ var formatCascadeOptions = function(options, value) {
43
+ var _loop = function() {
44
+ var currentOptions = columnOptions.children;
45
+ formatted.push(currentOptions);
46
+ var currentValue = value === null || value === void 0 ? void 0 : value[columnIndex];
47
+ if (currentValue === 0) {
48
+ // 如果 currentValue 为 0,返回第一个 children
49
+ columnOptions = currentOptions[0];
50
+ } else if (currentValue) {
51
+ // 如果 currentValue 存在,查找匹配的项
52
+ var index = currentOptions.findIndex(function(columnItem) {
53
+ return columnItem.value === currentValue;
54
+ });
55
+ columnOptions = currentOptions[index === -1 ? 0 : index] // 如果未找到,默认取第一个
56
+ ;
57
+ } else {
58
+ return "break" // 如果 currentValue 不存在,终止循环
59
+ ;
60
+ }
61
+ columnIndex++;
62
+ };
63
+ if (!options.length) return [] // 如果 options 为空,直接返回空数组
64
+ ;
65
+ var formatted = [];
66
+ var columnOptions = {
67
+ label: '',
68
+ value: '',
69
+ children: options
70
+ };
71
+ var columnIndex = 0;
72
+ while(columnOptions && columnOptions.children){
73
+ var _ret = _loop();
74
+ if (_ret === "break") break;
75
+ }
76
+ return formatted;
77
+ };
78
+ var formatOptions = useMemo(function() {
79
+ if (columnsType === 'cascade') {
80
+ var _props_options;
81
+ return formatCascadeOptions(props === null || props === void 0 ? void 0 : (_props_options = props.options) === null || _props_options === void 0 ? void 0 : _props_options[0], innerValue);
82
+ }
83
+ return props.options;
84
+ }, [
85
+ innerValue,
86
+ options,
87
+ columnsType
88
+ ]);
89
+ useEffect(function() {
90
+ var options = props.options;
91
+ if (Array.isArray(options) && options.length && options !== innerOptions) {
92
+ setInnerOptions(formatOptions);
93
+ }
94
+ }, [
95
+ props.options,
96
+ innerValue
97
+ ]);
98
+ useEffect(function() {
99
+ if (selectedValue !== innerValue) {
100
+ setInnerValue(selectedValue);
101
+ }
102
+ }, [
103
+ selectedValue
104
+ ]);
105
+ var handleSelect = useCallback(function(option, index) {
106
+ var newValue = option === null || option === void 0 ? void 0 : option.value;
107
+ if (!newValue || innerValue[index] === newValue) return;
108
+ changeIndex.current = index;
109
+ if (columnsType === 'multiple') {
110
+ setInnerValue(function(prev) {
111
+ var next = _to_consumable_array(prev);
112
+ next[index] = newValue;
113
+ return next;
114
+ });
115
+ } else {
116
+ var _option_children, _option_children1, _props_options;
117
+ var startIndex = index;
118
+ var values = [];
119
+ values[index] = option.value;
120
+ while(option === null || option === void 0 ? void 0 : (_option_children = option.children) === null || _option_children === void 0 ? void 0 : _option_children[0]){
121
+ values[index + 1] = option.children[0].value;
122
+ index++;
123
+ option = option.children[0];
124
+ }
125
+ // 当前改变列的下一列 children 值为空
126
+ if (option === null || option === void 0 ? void 0 : (_option_children1 = option.children) === null || _option_children1 === void 0 ? void 0 : _option_children1.length) {
127
+ values[index + 1] = '';
128
+ }
129
+ var combineResult = _to_consumable_array(innerValue.slice(0, startIndex)).concat(_to_consumable_array(values.splice(startIndex)));
130
+ setInnerValue(_to_consumable_array(combineResult));
131
+ var optionFirst = props === null || props === void 0 ? void 0 : (_props_options = props.options) === null || _props_options === void 0 ? void 0 : _props_options[0];
132
+ if (!isEqual(formatCascadeOptions(optionFirst, combineResult), innerOptions)) {
133
+ setInnerOptions(formatCascadeOptions(optionFirst, combineResult));
134
+ }
135
+ }
136
+ }, [
137
+ innerValue,
138
+ props.options,
139
+ columnsType,
140
+ innerOptions
141
+ ]);
142
+ var selectedOptions = useMemo(function() {
143
+ return innerOptions.map(function(columnOptions, index) {
144
+ var selectedOption = columnOptions.find(function(item) {
145
+ return item.value === innerValue[index];
146
+ });
147
+ return selectedOption;
148
+ // return selectedOption || columnOptions[0]
149
+ }).filter(Boolean);
150
+ }, [
151
+ innerOptions,
152
+ innerValue
153
+ ]);
154
+ useEffect(function() {
155
+ onChange === null || onChange === void 0 ? void 0 : onChange({
156
+ value: innerValue,
157
+ index: changeIndex.current,
158
+ selectedOptions: selectedOptions
159
+ });
160
+ }, [
161
+ innerValue,
162
+ selectedOptions,
163
+ onChange
164
+ ]);
165
+ return /*#__PURE__*/ React.createElement("div", {
166
+ className: cls,
167
+ style: style
168
+ }, innerOptions.map(function(item, index) {
169
+ var _props_setRefs;
170
+ return /*#__PURE__*/ React.createElement(PickerRoller, {
171
+ ref: props === null || props === void 0 ? void 0 : (_props_setRefs = props.setRefs) === null || _props_setRefs === void 0 ? void 0 : _props_setRefs.call(props, index),
172
+ key: index,
173
+ keyIndex: index,
174
+ value: innerValue[index],
175
+ options: item,
176
+ renderLabel: renderLabel,
177
+ onSelect: handleSelect,
178
+ duration: duration,
179
+ threeDimensional: threeDimensional
180
+ });
181
+ }), (innerOptions === null || innerOptions === void 0 ? void 0 : innerOptions.length) ? /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", {
182
+ className: "nut-pickerview-mask"
183
+ }), /*#__PURE__*/ React.createElement("div", {
184
+ className: "nut-pickerview-indicator"
185
+ })) : null);
186
+ };
187
+ var PickerView = /*#__PURE__*/ React.forwardRef(InternalPickerView);
188
+ export default PickerView;
@@ -0,0 +1 @@
1
+ import './style.css'
@@ -0,0 +1 @@
1
+ import './pickerview.scss';
@@ -0,0 +1,79 @@
1
+ .nut-pickerview {
2
+ --nutui-picker-item-height: 36px;
3
+ position: relative;
4
+ display: flex;
5
+ width: 100%;
6
+ height: $picker-list-height;
7
+ $pickerview-top: calc(($picker-list-height - $picker-item-height) / 2);
8
+ overflow: hidden;
9
+
10
+ &-mask,
11
+ &-indicator {
12
+ position: absolute;
13
+ left: 0;
14
+ right: 0;
15
+ z-index: 3;
16
+ pointer-events: none;
17
+ }
18
+
19
+ &-mask {
20
+ top: 0;
21
+ bottom: 0;
22
+ background-image: $picker-mask-background;
23
+ background-position: top, bottom;
24
+ background-size: 100% $pickerview-top;
25
+ background-repeat: no-repeat;
26
+ transform: translateZ(0);
27
+ }
28
+
29
+ &-indicator {
30
+ top: $pickerview-top;
31
+ height: $picker-item-height;
32
+ border: $picker-item-active-line-border;
33
+ border-left: 0;
34
+ border-right: 0;
35
+ box-sizing: border-box;
36
+ }
37
+
38
+ &-list {
39
+ position: relative;
40
+ flex: 1;
41
+ height: $picker-list-height;
42
+ overflow: hidden;
43
+ touch-action: none;
44
+ }
45
+
46
+ &-roller {
47
+ position: absolute;
48
+ top: $pickerview-top;
49
+ width: 100%;
50
+ height: $picker-item-height;
51
+ z-index: 1;
52
+ transform-style: preserve-3d;
53
+ }
54
+
55
+ &-roller-item {
56
+ position: absolute;
57
+ top: 0;
58
+ backface-visibility: hidden;
59
+ -moz-backface-visibility: hidden;
60
+ -webkit-backface-visibility: hidden;
61
+ &-hidden {
62
+ visibility: hidden;
63
+ opacity: 0;
64
+ }
65
+ }
66
+
67
+ &-roller-item,
68
+ &-roller-item-tiled {
69
+ width: 100%;
70
+ height: $picker-item-height;
71
+ line-height: $picker-item-height;
72
+ color: $picker-item-text-color;
73
+ font-size: $picker-item-text-font-size;
74
+ text-align: center;
75
+ overflow: hidden;
76
+ text-overflow: ellipsis;
77
+ white-space: nowrap;
78
+ }
79
+ }
@@ -0,0 +1,73 @@
1
+ /* #ifdef harmony */
2
+ /* #endif */
3
+ /* #ifndef harmony */
4
+ /* #endif */
5
+ .nut-pickerview {
6
+ --nutui-picker-item-height: 36px;
7
+ position: relative;
8
+ display: flex;
9
+ width: 100%;
10
+ height: calc(var(--nutui-picker-item-height, 36px) * 7);
11
+ overflow: hidden;
12
+ }
13
+ .nut-pickerview-mask, .nut-pickerview-indicator {
14
+ position: absolute;
15
+ left: 0;
16
+ right: 0;
17
+ z-index: 3;
18
+ pointer-events: none;
19
+ }
20
+ .nut-pickerview-mask {
21
+ top: 0;
22
+ bottom: 0;
23
+ background-image: var(--picker-mask-background, linear-gradient(180deg, var(--nutui-white-12), var(--nutui-white-7)), linear-gradient(0deg, var(--nutui-white-12), var(--nutui-white-7)));
24
+ background-position: top, bottom;
25
+ background-size: 100% calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
26
+ background-repeat: no-repeat;
27
+ transform: translateZ(0);
28
+ }
29
+ .nut-pickerview-indicator {
30
+ top: calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
31
+ height: var(--nutui-picker-item-height, 36px);
32
+ border: var(--nutui-picker-item-active-line-border, 1px solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
33
+ border-left: 0;
34
+ border-right: 0;
35
+ box-sizing: border-box;
36
+ }
37
+ .nut-pickerview-list {
38
+ position: relative;
39
+ flex: 1;
40
+ height: calc(var(--nutui-picker-item-height, 36px) * 7);
41
+ overflow: hidden;
42
+ touch-action: none;
43
+ }
44
+ .nut-pickerview-roller {
45
+ position: absolute;
46
+ top: calc((var(--nutui-picker-item-height, 36px) * 7 - var(--nutui-picker-item-height, 36px)) / 2);
47
+ width: 100%;
48
+ height: var(--nutui-picker-item-height, 36px);
49
+ z-index: 1;
50
+ transform-style: preserve-3d;
51
+ }
52
+ .nut-pickerview-roller-item {
53
+ position: absolute;
54
+ top: 0;
55
+ backface-visibility: hidden;
56
+ -moz-backface-visibility: hidden;
57
+ -webkit-backface-visibility: hidden;
58
+ }
59
+ .nut-pickerview-roller-item-hidden {
60
+ visibility: hidden;
61
+ opacity: 0;
62
+ }
63
+ .nut-pickerview-roller-item, .nut-pickerview-roller-item-tiled {
64
+ width: 100%;
65
+ height: var(--nutui-picker-item-height, 36px);
66
+ line-height: var(--nutui-picker-item-height, 36px);
67
+ color: var(--nutui-picker-item-text-color, var(--nutui-color-title, #1a1a1a));
68
+ font-size: var(--nutui-picker-item-text-font-size, var(--nutui-font-size-base, 14px));
69
+ text-align: center;
70
+ overflow: hidden;
71
+ text-overflow: ellipsis;
72
+ white-space: nowrap;
73
+ }
@@ -0,0 +1,32 @@
1
+ import { BasicComponent } from "../../../../src/utils/typings";
2
+ export type PickerValue = string | number | null;
3
+ export interface PickerOptionItem {
4
+ label: string | number;
5
+ value: string | number;
6
+ children?: PickerOptionItem[];
7
+ }
8
+ export type PickerOptions = PickerOptionItem[];
9
+ export interface PickerRollerProps {
10
+ options: PickerOptionItem[];
11
+ keyIndex: number;
12
+ value: PickerValue;
13
+ threeDimensional?: boolean;
14
+ duration?: number | string;
15
+ onSelect: (option: PickerOptionItem, index: number) => void;
16
+ renderLabel: (item: PickerOptionItem) => React.ReactNode;
17
+ }
18
+ export interface PickerOnChangeCallbackParameter {
19
+ value: PickerValue[];
20
+ index: number;
21
+ selectedOptions: PickerOptionItem[];
22
+ }
23
+ export interface PickerViewProps extends BasicComponent {
24
+ setRefs?: (ref: any) => any;
25
+ options: PickerOptions[];
26
+ value?: PickerValue[];
27
+ defaultValue?: PickerValue[];
28
+ threeDimensional?: boolean;
29
+ duration?: number | string;
30
+ renderLabel: (item: PickerOptionItem) => React.ReactNode;
31
+ onChange?: (arg0: PickerOnChangeCallbackParameter) => void;
32
+ }
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,14 @@
1
+ export declare const momentum: (distance: number, duration: number) => number;
2
+ export declare const useStyles: (touchTime: number, touchDeg: string, scrollDistance: number, lineSpacing: React.MutableRefObject<number>, rotation: number) => {
3
+ touchRollerStyle: () => {
4
+ transition: string;
5
+ transform: string;
6
+ };
7
+ touchTiledStyle: () => {
8
+ transition: string;
9
+ transform: string;
10
+ };
11
+ rollerStyle: (index: number) => {
12
+ transform: string;
13
+ };
14
+ };
@@ -0,0 +1,28 @@
1
+ export var momentum = function(distance, duration) {
2
+ var speed = Math.abs(distance / duration);
3
+ return speed / 0.003 * (distance < 0 ? -1 : 1);
4
+ };
5
+ export var useStyles = function(touchTime, touchDeg, scrollDistance, lineSpacing, rotation) {
6
+ var getTransitionStyle = function(transformValue) {
7
+ return {
8
+ transition: "transform ".concat(touchTime, "ms cubic-bezier(0.17, 0.89, 0.45, 1)"),
9
+ transform: transformValue
10
+ };
11
+ };
12
+ var touchRollerStyle = function() {
13
+ return getTransitionStyle("rotate3d(1, 0, 0, ".concat(touchDeg, ")"));
14
+ };
15
+ var touchTiledStyle = function() {
16
+ return getTransitionStyle("translate3d(0, ".concat(scrollDistance, "px, 0)"));
17
+ };
18
+ var rollerStyle = function(index) {
19
+ return {
20
+ transform: "rotate3d(1, 0, 0, ".concat(-rotation * (index + 1), "deg) translate3d(0px, 0px, ").concat(Math.round(lineSpacing.current * 3.2), "px)")
21
+ };
22
+ };
23
+ return {
24
+ touchRollerStyle: touchRollerStyle,
25
+ touchTiledStyle: touchTiledStyle,
26
+ rollerStyle: rollerStyle
27
+ };
28
+ };
@@ -1,10 +1,10 @@
1
1
  import React, { FunctionComponent } from 'react';
2
- import { PopupProps } from "../popup/index";
2
+ import { PopupProps } from "../../../../src/packages/popup/index";
3
3
  import { PopoverTheme, PopoverLocation, PopoverList } from './types';
4
4
  export interface PopoverProps extends PopupProps {
5
5
  list: PopoverList[];
6
- theme: PopoverTheme | string;
7
- location: PopoverLocation | string;
6
+ theme: PopoverTheme;
7
+ location: PopoverLocation;
8
8
  visible: boolean;
9
9
  offset: string[] | number[];
10
10
  arrowOffset: number;
@@ -8,9 +8,9 @@ import classNames from "classnames";
8
8
  import { createPortal } from "react-dom";
9
9
  import { ArrowRadius } from "@nutui/icons-react";
10
10
  import Popup from "../popup/index";
11
- import { getRect } from "../../utils/use-client-rect";
11
+ import { getRect } from "../../hooks/use-client-rect";
12
12
  import { ComponentDefaults } from "../../utils/typings";
13
- import useClickAway from "../../utils/use-click-away";
13
+ import useClickAway from "../../hooks/use-click-away";
14
14
  import { canUseDom } from "../../utils/can-use-dom";
15
15
  import { getAllScrollableParents } from "../../utils/get-scroll-parent";
16
16
  import { useRtl } from "../configprovider";
@@ -1,5 +1,6 @@
1
- export type PopoverTheme = 'light' | 'dark';
2
- export type PopoverLocation = 'bottom' | 'top' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
1
+ import { FixAutoComplete } from "../../../../src/types/fix-string-literal-union";
2
+ export type PopoverTheme = FixAutoComplete<'light' | 'dark'>;
3
+ export type PopoverLocation = FixAutoComplete<'bottom' | 'top' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end'>;
3
4
  export interface PopoverList {
4
5
  key?: string;
5
6
  name: string;
@@ -9,7 +9,7 @@ import classNames from "classnames";
9
9
  import { Close } from "@nutui/icons-react";
10
10
  import { defaultOverlayProps } from "../overlay/overlay";
11
11
  import Overlay from "../overlay";
12
- import { useLockScroll } from "../../utils/use-lock-scroll";
12
+ import { useLockScroll } from "../../hooks/use-lock-scroll";
13
13
  var defaultProps = _object_spread_props(_object_spread({}, defaultOverlayProps), {
14
14
  position: 'center',
15
15
  transition: '',
@@ -1,5 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
- import { OverlayProps } from "../overlay/types";
2
+ import { OverlayProps } from "../../../../src/packages/overlay/types";
3
3
  export type Teleport = HTMLElement | (() => HTMLElement) | null;
4
4
  export type Position = 'top' | 'bottom' | 'left' | 'right' | 'center' | 'none';
5
5
  export type CloseIconPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
@@ -1,4 +1,4 @@
1
- import { BasicComponent } from "../../utils/typings";
1
+ import { BasicComponent } from "../../../../src/utils/typings";
2
2
  export type PriceSize = 'xlarge' | 'large' | 'normal' | 'small';
3
3
  export type PriceColor = 'primary' | 'gray' | 'darkgray';
4
4
  export interface PriceProps extends BasicComponent {