@nutui/nutui-react 3.0.0-beta.9 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/CHANGELOG.md +99 -1340
  2. package/README.md +1 -1
  3. package/dist/cjs/{utils → hooks}/use-click-away.js +2 -2
  4. package/dist/cjs/{utils → hooks}/use-custom-event.js +2 -2
  5. package/dist/cjs/{utils → hooks}/use-isomprphic-layout-effect.js +1 -1
  6. package/dist/cjs/{utils → hooks}/use-lock-scroll.js +2 -2
  7. package/dist/cjs/packages/actionsheet/style/style.css +13 -18
  8. package/dist/cjs/packages/address/address.js +1 -1
  9. package/dist/cjs/packages/address/style/style.css +50 -57
  10. package/dist/cjs/packages/animate/animate.js +5 -6
  11. package/dist/cjs/packages/animate/style/animate.scss +63 -105
  12. package/dist/cjs/packages/animate/style/style.css +45 -44
  13. package/dist/cjs/packages/animatingnumbers/style/style.css +3 -3
  14. package/dist/cjs/packages/audio/style/style.css +60 -64
  15. package/dist/cjs/packages/avatar/style/style.css +2 -2
  16. package/dist/cjs/packages/avatarcropper/avatarcropper.js +2 -2
  17. package/dist/cjs/packages/backtop/style/backtop.scss +0 -4
  18. package/dist/cjs/packages/backtop/style/index.js +2 -0
  19. package/dist/cjs/packages/backtop/style/style.css +126 -3
  20. package/dist/cjs/packages/badge/badge.js +13 -15
  21. package/dist/cjs/packages/badge/style/style.css +4 -4
  22. package/dist/cjs/packages/barrage/style/style.css +2 -2
  23. package/dist/cjs/packages/button/button.js +14 -11
  24. package/dist/cjs/packages/button/style/button.scss +5 -8
  25. package/dist/cjs/packages/button/style/style.css +48 -52
  26. package/dist/cjs/packages/calendar/style/calendar.scss +25 -31
  27. package/dist/cjs/packages/calendar/style/style.css +28 -39
  28. package/dist/cjs/packages/calendarcard/calendarcard.js +1 -1
  29. package/dist/cjs/packages/calendarcard/style/style.css +8 -8
  30. package/dist/cjs/packages/calendaritem/calendaritem.js +1 -1
  31. package/dist/cjs/packages/card/style/style.css +8 -8
  32. package/dist/cjs/packages/cascader/cascader.d.ts +2 -2
  33. package/dist/cjs/packages/cascader/cascader.js +3 -3
  34. package/dist/cjs/packages/cascader/style/style.css +40 -47
  35. package/dist/cjs/packages/cell/style/style.css +8 -8
  36. package/dist/cjs/packages/cellgroup/style/style.css +3 -3
  37. package/dist/cjs/packages/checkbox/checkbox.js +10 -9
  38. package/dist/cjs/packages/checkbox/style/checkbox.scss +32 -26
  39. package/dist/cjs/packages/checkbox/style/style.css +53 -45
  40. package/dist/cjs/packages/checkboxgroup/checkboxgroup.js +1 -1
  41. package/dist/cjs/packages/checkboxgroup/style/checkboxgroup.scss +9 -8
  42. package/dist/cjs/packages/checkboxgroup/style/style.css +14 -12
  43. package/dist/cjs/packages/circleprogress/style/style.css +3 -3
  44. package/dist/cjs/packages/col/style/col.scss +0 -1
  45. package/dist/cjs/packages/collapse/collapse.js +1 -1
  46. package/dist/cjs/packages/collapse/style/style.css +11 -11
  47. package/dist/cjs/packages/collapseitem/style/style.css +11 -11
  48. package/dist/cjs/packages/configprovider/configprovider.js +3 -3
  49. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  50. package/dist/cjs/packages/countdown/style/style.css +8 -8
  51. package/dist/cjs/packages/countup/style/style.css +3 -3
  52. package/dist/cjs/packages/datepicker/datepicker.d.ts +4 -23
  53. package/dist/cjs/packages/datepicker/datepicker.js +81 -232
  54. package/dist/cjs/packages/datepicker/index.d.ts +2 -2
  55. package/dist/cjs/packages/datepicker/index.js +3 -2
  56. package/dist/cjs/packages/datepicker/style/style.css +12 -123
  57. package/dist/cjs/packages/datepicker/types.d.ts +28 -0
  58. package/dist/cjs/packages/datepicker/types.js +4 -0
  59. package/dist/cjs/packages/datepicker/utils.d.ts +70 -0
  60. package/dist/cjs/packages/datepicker/utils.js +240 -0
  61. package/dist/cjs/packages/dialog/confirm.d.ts +4 -3
  62. package/dist/cjs/packages/dialog/confirm.js +7 -21
  63. package/dist/cjs/packages/dialog/content.d.ts +4 -11
  64. package/dist/cjs/packages/dialog/content.js +30 -14
  65. package/dist/cjs/packages/dialog/dialog.d.ts +1 -2
  66. package/dist/cjs/packages/dialog/dialog.js +23 -10
  67. package/dist/cjs/packages/dialog/dialogwrap.d.ts +3 -14
  68. package/dist/cjs/packages/dialog/dialogwrap.js +33 -15
  69. package/dist/cjs/packages/dialog/index.d.ts +1 -2
  70. package/dist/cjs/packages/dialog/style/dialog.scss +28 -22
  71. package/dist/cjs/packages/dialog/style/style.css +82 -84
  72. package/dist/cjs/packages/dialog/types.d.ts +57 -0
  73. package/dist/cjs/packages/divider/style/style.css +4 -4
  74. package/dist/cjs/packages/elevator/style/style.css +8 -8
  75. package/dist/cjs/packages/ellipsis/ellipsis.js +1 -1
  76. package/dist/cjs/packages/empty/style/style.css +3 -3
  77. package/dist/cjs/packages/fixednav/fixednav.d.ts +2 -15
  78. package/dist/cjs/packages/fixednav/fixednav.js +20 -23
  79. package/dist/cjs/packages/fixednav/index.d.ts +1 -2
  80. package/dist/cjs/packages/fixednav/style/style.css +3 -8
  81. package/dist/cjs/packages/fixednav/types.d.ts +12 -0
  82. package/dist/cjs/packages/form/style/style.css +15 -15
  83. package/dist/cjs/packages/formitem/style/style.css +4 -4
  84. package/dist/cjs/packages/grid/style/style.css +6 -6
  85. package/dist/cjs/packages/griditem/style/style.css +5 -5
  86. package/dist/cjs/packages/hoverbutton/style/hoverbutton.scss +0 -4
  87. package/dist/cjs/packages/hoverbutton/style/style.css +4 -7
  88. package/dist/cjs/packages/hoverbuttonitem/style/style.css +4 -4
  89. package/dist/cjs/packages/image/image.d.ts +3 -2
  90. package/dist/cjs/packages/image/style/style.css +2 -2
  91. package/dist/cjs/packages/imagepreview/imagepreview.js +1 -1
  92. package/dist/cjs/packages/imagepreview/style/style.css +28 -47
  93. package/dist/cjs/packages/indicator/style/indicator.scss +17 -19
  94. package/dist/cjs/packages/indicator/style/style.css +15 -23
  95. package/dist/cjs/packages/infiniteloading/style/style.css +4 -4
  96. package/dist/cjs/packages/input/input.d.ts +2 -2
  97. package/dist/cjs/packages/input/input.js +46 -59
  98. package/dist/cjs/packages/input/style/input.scss +1 -7
  99. package/dist/cjs/packages/input/style/style.css +9 -15
  100. package/dist/cjs/packages/inputnumber/inputnumber.js +1 -1
  101. package/dist/cjs/packages/inputnumber/style/style.css +7 -7
  102. package/dist/cjs/packages/loading/style/loading.scss +8 -2
  103. package/dist/cjs/packages/loading/style/style.css +6 -4
  104. package/dist/cjs/packages/lottie/animation/dark/global.gif +0 -0
  105. package/dist/cjs/packages/lottie/animation/dark/global.json +1 -0
  106. package/dist/cjs/packages/lottie/animation/dark/loading.gif +0 -0
  107. package/dist/cjs/packages/lottie/animation/dark/loading.json +1 -0
  108. package/dist/cjs/packages/lottie/animation/dark/pulltorefresh-white.gif +0 -0
  109. package/dist/cjs/packages/lottie/animation/dark/pulltorefresh-white.json +1 -0
  110. package/dist/cjs/packages/lottie/animation/dark/pulltorefresh.gif +0 -0
  111. package/dist/cjs/packages/lottie/animation/dark/pulltorefresh.json +1 -0
  112. package/dist/cjs/packages/lottie/animation/light/global.gif +0 -0
  113. package/dist/cjs/packages/lottie/animation/light/global.json +1 -0
  114. package/dist/cjs/packages/lottie/animation/light/loading.gif +0 -0
  115. package/dist/cjs/packages/lottie/animation/light/loading.json +1 -0
  116. package/dist/cjs/packages/lottie/animation/light/pulltorefresh.gif +0 -0
  117. package/dist/cjs/packages/lottie/animation/light/pulltorefresh.json +1 -0
  118. package/dist/cjs/packages/menu/style/style.css +8 -13
  119. package/dist/cjs/packages/menuitem/menuitem.js +2 -2
  120. package/dist/cjs/packages/menuitem/style/style.css +4 -9
  121. package/dist/cjs/packages/navbar/style/navbar.scss +1 -1
  122. package/dist/cjs/packages/navbar/style/style.css +3 -3
  123. package/dist/cjs/packages/noticebar/noticebar.js +1 -1
  124. package/dist/cjs/packages/notify/style/style.css +4 -4
  125. package/dist/cjs/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
  126. package/dist/cjs/packages/numberkeyboard/numberkeyboard.js +2 -2
  127. package/dist/cjs/packages/numberkeyboard/style/style.css +13 -18
  128. package/dist/cjs/packages/nutui.react.build.d.ts +7 -3
  129. package/dist/cjs/packages/nutui.react.build.js +9 -1
  130. package/dist/cjs/packages/nutui.react.d.ts +10 -4
  131. package/dist/cjs/packages/nutui.react.js +12 -2
  132. package/dist/cjs/packages/nutui.react.scss.d.ts +3 -1
  133. package/dist/cjs/packages/nutui.react.scss.js +3 -1
  134. package/dist/cjs/packages/overlay/index.d.ts +1 -1
  135. package/dist/cjs/packages/overlay/overlay.d.ts +2 -12
  136. package/dist/cjs/packages/overlay/overlay.js +11 -17
  137. package/dist/cjs/packages/overlay/style/overlay.scss +0 -5
  138. package/dist/cjs/packages/overlay/style/style.css +1 -6
  139. package/dist/cjs/packages/overlay/types.d.ts +11 -0
  140. package/dist/cjs/packages/overlay/types.js +4 -0
  141. package/dist/cjs/packages/pagination/pagination.js +1 -1
  142. package/dist/cjs/packages/pagination/style/style.css +7 -7
  143. package/dist/cjs/packages/picker/index.d.ts +1 -2
  144. package/dist/cjs/packages/picker/picker.d.ts +3 -26
  145. package/dist/cjs/packages/picker/picker.js +72 -188
  146. package/dist/cjs/packages/picker/style/picker.scss +3 -132
  147. package/dist/cjs/packages/picker/style/style.css +12 -123
  148. package/dist/cjs/packages/picker/types.d.ts +25 -6
  149. package/dist/cjs/packages/pickerview/index.d.ts +3 -0
  150. package/dist/cjs/packages/pickerview/index.js +13 -0
  151. package/dist/cjs/packages/pickerview/pickerroller.d.ts +7 -0
  152. package/dist/cjs/packages/pickerview/pickerroller.js +183 -0
  153. package/dist/cjs/packages/pickerview/pickerview.d.ts +4 -0
  154. package/dist/cjs/packages/pickerview/pickerview.js +200 -0
  155. package/dist/cjs/packages/pickerview/style/css.js +1 -0
  156. package/dist/cjs/packages/pickerview/style/index.js +1 -0
  157. package/dist/cjs/packages/pickerview/style/pickerview.scss +79 -0
  158. package/dist/cjs/packages/pickerview/style/style.css +73 -0
  159. package/dist/cjs/packages/pickerview/types.d.ts +32 -0
  160. package/dist/cjs/packages/pickerview/types.js +4 -0
  161. package/dist/cjs/packages/pickerview/utils.d.ts +14 -0
  162. package/dist/cjs/packages/pickerview/utils.js +46 -0
  163. package/dist/cjs/packages/popover/popover.d.ts +3 -3
  164. package/dist/cjs/packages/popover/popover.js +5 -5
  165. package/dist/cjs/packages/popover/style/style.css +12 -17
  166. package/dist/cjs/packages/popover/types.d.ts +3 -2
  167. package/dist/cjs/packages/popup/index.d.ts +1 -1
  168. package/dist/cjs/packages/popup/popup.d.ts +2 -24
  169. package/dist/cjs/packages/popup/popup.js +25 -42
  170. package/dist/cjs/packages/popup/style/style.css +5 -10
  171. package/dist/cjs/packages/popup/types.d.ts +25 -0
  172. package/dist/cjs/packages/popup/types.js +6 -0
  173. package/dist/cjs/packages/price/style/style.css +1 -1
  174. package/dist/cjs/packages/progress/style/style.css +1 -1
  175. package/dist/cjs/packages/pulltorefresh/pulltorefresh.js +1 -1
  176. package/dist/cjs/packages/pulltorefresh/style/pulltorefresh.scss +1 -1
  177. package/dist/cjs/packages/pulltorefresh/style/style.css +4 -4
  178. package/dist/cjs/packages/radio/radio.js +1 -1
  179. package/dist/cjs/packages/radio/style/radio.scss +1 -5
  180. package/dist/cjs/packages/radio/style/style.css +28 -25
  181. package/dist/cjs/packages/radiogroup/radiogroup.js +1 -1
  182. package/dist/cjs/packages/radiogroup/style/radiogroup.scss +10 -2
  183. package/dist/cjs/packages/radiogroup/style/style.css +14 -8
  184. package/dist/cjs/packages/range/range.js +3 -3
  185. package/dist/cjs/packages/range/style/style.css +9 -9
  186. package/dist/cjs/packages/rate/rate.js +3 -3
  187. package/dist/cjs/packages/rate/style/style.css +4 -4
  188. package/dist/cjs/packages/resultpage/style/resultpage.scss +3 -0
  189. package/dist/cjs/packages/resultpage/style/style.css +5 -2
  190. package/dist/cjs/packages/searchbar/searchbar.js +0 -1
  191. package/dist/cjs/packages/searchbar/style/style.css +5 -5
  192. package/dist/cjs/packages/segmented/segmented.js +1 -1
  193. package/dist/cjs/packages/segmented/style/style.css +2 -2
  194. package/dist/cjs/packages/shortpassword/shortpassword.js +3 -3
  195. package/dist/cjs/packages/shortpassword/style/style.css +15 -20
  196. package/dist/cjs/packages/sidebar/index.d.ts +3 -0
  197. package/dist/cjs/packages/sidebar/index.js +12 -0
  198. package/dist/cjs/packages/sidebar/sidebar.d.ts +6 -0
  199. package/dist/cjs/packages/sidebar/sidebar.js +173 -0
  200. package/dist/cjs/packages/sidebar/style/css.js +1 -0
  201. package/dist/cjs/packages/sidebar/style/index.js +3 -0
  202. package/dist/cjs/packages/sidebar/style/sidebar.scss +61 -0
  203. package/dist/cjs/packages/sidebar/style/style.css +79 -0
  204. package/dist/cjs/packages/sidebar/types.d.ts +16 -0
  205. package/dist/cjs/packages/sidebar/types.js +4 -0
  206. package/dist/cjs/packages/sidebar/utils.d.ts +3 -0
  207. package/dist/cjs/packages/sidebar/utils.js +23 -0
  208. package/dist/cjs/packages/sidebaritem/index.d.ts +3 -0
  209. package/dist/cjs/packages/sidebaritem/index.js +12 -0
  210. package/dist/cjs/packages/sidebaritem/sidebaritem.d.ts +9 -0
  211. package/dist/cjs/packages/sidebaritem/sidebaritem.js +29 -0
  212. package/dist/cjs/packages/sidebaritem/style/css.js +1 -0
  213. package/dist/cjs/packages/sidebaritem/style/index.js +1 -0
  214. package/dist/cjs/packages/sidebaritem/style/sidebaritem.scss +16 -0
  215. package/dist/cjs/packages/sidebaritem/style/style.css +19 -0
  216. package/dist/cjs/packages/sidenavbar/style/style.css +9 -14
  217. package/dist/cjs/packages/sidenavbaritem/style/style.css +2 -2
  218. package/dist/cjs/packages/signature/style/style.css +2 -2
  219. package/dist/cjs/packages/skeleton/style/skeleton.scss +0 -18
  220. package/dist/cjs/packages/skeleton/style/style.css +5 -11
  221. package/dist/cjs/packages/step/style/style.css +19 -19
  222. package/dist/cjs/packages/steps/style/style.css +19 -19
  223. package/dist/cjs/packages/sticky/sticky.js +2 -2
  224. package/dist/cjs/packages/subsidenavbar/style/style.css +2 -2
  225. package/dist/cjs/packages/swipe/swipe.js +2 -2
  226. package/dist/cjs/packages/swiper/effects/focus.js +1 -1
  227. package/dist/cjs/packages/swiper/style/style.css +21 -35
  228. package/dist/cjs/packages/swiper/style/swiper.scss +10 -12
  229. package/dist/cjs/packages/swiper/swiper.js +6 -9
  230. package/dist/cjs/packages/switch/style/style.css +6 -6
  231. package/dist/cjs/packages/switch/switch.js +1 -1
  232. package/dist/cjs/packages/tabbar/style/style.css +15 -20
  233. package/dist/cjs/packages/tabbar/tabbar.js +1 -1
  234. package/dist/cjs/packages/tabbaritem/style/style.css +14 -19
  235. package/dist/cjs/packages/tabbaritem/style/tabbaritem.scss +7 -13
  236. package/dist/cjs/packages/tabbaritem/tabbaritem.js +7 -6
  237. package/dist/cjs/packages/table/style/style.css +11 -11
  238. package/dist/cjs/packages/table/table.js +1 -1
  239. package/dist/cjs/packages/tabpane/style/style.css +1 -1
  240. package/dist/cjs/packages/tabpane/tabpane.js +2 -2
  241. package/dist/cjs/packages/tabs/style/style.css +30 -32
  242. package/dist/cjs/packages/tabs/style/tabs.scss +9 -9
  243. package/dist/cjs/packages/tabs/tabs.js +37 -54
  244. package/dist/cjs/packages/tag/style/style.css +5 -5
  245. package/dist/cjs/packages/tag/style/tag.scss +0 -2
  246. package/dist/cjs/packages/textarea/style/style.css +13 -13
  247. package/dist/cjs/packages/textarea/textarea.d.ts +1 -1
  248. package/dist/cjs/packages/textarea/textarea.js +20 -25
  249. package/dist/cjs/packages/timedetail/style/style.css +4 -4
  250. package/dist/cjs/packages/timeselect/style/style.css +14 -19
  251. package/dist/cjs/packages/toast/Notification.d.ts +6 -20
  252. package/dist/cjs/packages/toast/Notification.js +8 -7
  253. package/dist/cjs/packages/toast/index.d.ts +1 -1
  254. package/dist/cjs/packages/toast/style/style.css +2 -20
  255. package/dist/cjs/packages/toast/style/toast.scss +0 -13
  256. package/dist/cjs/packages/toast/toast.d.ts +4 -22
  257. package/dist/cjs/packages/toast/toast.js +10 -9
  258. package/dist/cjs/packages/toast/types.d.ts +17 -0
  259. package/dist/cjs/packages/toast/types.js +4 -0
  260. package/dist/cjs/packages/tour/style/style.css +16 -21
  261. package/dist/cjs/packages/tour/tour.d.ts +1 -1
  262. package/dist/cjs/packages/tour/tour.js +1 -1
  263. package/dist/cjs/packages/trendarrow/style/style.css +1 -1
  264. package/dist/cjs/packages/uploader/style/style.css +12 -12
  265. package/dist/cjs/packages/uploader/types.d.ts +2 -1
  266. package/dist/cjs/packages/uploader/uploader.js +1 -1
  267. package/dist/cjs/packages/virtuallist/style/style.css +4 -4
  268. package/dist/cjs/types/fix-string-literal-union.d.ts +1 -0
  269. package/dist/cjs/utils/get-rect-by-taro.js +1 -15
  270. package/dist/cjs/utils/get-system-info.d.ts +19 -0
  271. package/dist/cjs/utils/get-system-info.js +32 -0
  272. package/dist/cjs/utils/platform-taro.d.ts +0 -2
  273. package/dist/cjs/utils/platform-taro.js +0 -21
  274. package/dist/cjs/utils/px-transform.js +0 -1
  275. package/dist/es/{utils → hooks}/use-click-away.js +3 -2
  276. package/dist/es/{utils → hooks}/use-custom-event.js +1 -1
  277. package/dist/es/{utils → hooks}/use-isomprphic-layout-effect.js +1 -1
  278. package/dist/es/{utils → hooks}/use-lock-scroll.js +2 -2
  279. package/dist/es/packages/actionsheet/style/style.css +13 -18
  280. package/dist/es/packages/address/address.js +1 -1
  281. package/dist/es/packages/address/style/style.css +50 -57
  282. package/dist/es/packages/animate/animate.js +5 -6
  283. package/dist/es/packages/animate/style/animate.scss +63 -105
  284. package/dist/es/packages/animate/style/style.css +45 -44
  285. package/dist/es/packages/animatingnumbers/style/style.css +3 -3
  286. package/dist/es/packages/audio/style/style.css +60 -64
  287. package/dist/es/packages/avatar/style/style.css +2 -2
  288. package/dist/es/packages/avatarcropper/avatarcropper.js +2 -2
  289. package/dist/es/packages/backtop/style/backtop.scss +0 -4
  290. package/dist/es/packages/backtop/style/index.js +2 -0
  291. package/dist/es/packages/backtop/style/style.css +126 -3
  292. package/dist/es/packages/badge/badge.js +13 -15
  293. package/dist/es/packages/badge/style/style.css +4 -4
  294. package/dist/es/packages/barrage/style/style.css +2 -2
  295. package/dist/es/packages/button/button.js +15 -12
  296. package/dist/es/packages/button/style/button.scss +5 -8
  297. package/dist/es/packages/button/style/style.css +48 -52
  298. package/dist/es/packages/calendar/calendar.d.ts +27 -135
  299. package/dist/es/packages/calendar/style/calendar.scss +25 -31
  300. package/dist/es/packages/calendar/style/style.css +28 -39
  301. package/dist/es/packages/calendarcard/calendarcard.js +1 -1
  302. package/dist/es/packages/calendarcard/style/style.css +8 -8
  303. package/dist/es/packages/calendaritem/calendaritem.js +1 -1
  304. package/dist/es/packages/card/style/style.css +8 -8
  305. package/dist/es/packages/cascader/cascader.d.ts +2 -2
  306. package/dist/es/packages/cascader/cascader.js +2 -2
  307. package/dist/es/packages/cascader/style/style.css +40 -47
  308. package/dist/es/packages/cell/style/style.css +8 -8
  309. package/dist/es/packages/cellgroup/style/style.css +3 -3
  310. package/dist/es/packages/checkbox/checkbox.js +10 -9
  311. package/dist/es/packages/checkbox/style/checkbox.scss +32 -26
  312. package/dist/es/packages/checkbox/style/style.css +53 -45
  313. package/dist/es/packages/checkboxgroup/checkboxgroup.js +1 -1
  314. package/dist/es/packages/checkboxgroup/style/checkboxgroup.scss +9 -8
  315. package/dist/es/packages/checkboxgroup/style/style.css +14 -12
  316. package/dist/es/packages/circleprogress/style/style.css +3 -3
  317. package/dist/es/packages/col/style/col.scss +0 -1
  318. package/dist/es/packages/collapse/collapse.js +1 -1
  319. package/dist/es/packages/collapse/style/style.css +11 -11
  320. package/dist/es/packages/collapseitem/style/style.css +11 -11
  321. package/dist/es/packages/configprovider/configprovider.js +3 -3
  322. package/dist/es/packages/configprovider/types.d.ts +1 -1
  323. package/dist/es/packages/countdown/style/style.css +8 -8
  324. package/dist/es/packages/countup/style/style.css +3 -3
  325. package/dist/es/packages/datepicker/datepicker.d.ts +4 -91
  326. package/dist/es/packages/datepicker/datepicker.js +80 -231
  327. package/dist/es/packages/datepicker/index.d.ts +2 -2
  328. package/dist/es/packages/datepicker/index.js +1 -1
  329. package/dist/es/packages/datepicker/style/style.css +12 -123
  330. package/dist/es/packages/datepicker/types.d.ts +28 -0
  331. package/dist/es/packages/datepicker/types.js +1 -0
  332. package/dist/es/packages/datepicker/utils.d.ts +70 -0
  333. package/dist/es/packages/datepicker/utils.js +248 -0
  334. package/dist/es/packages/dialog/confirm.d.ts +4 -3
  335. package/dist/es/packages/dialog/confirm.js +3 -17
  336. package/dist/es/packages/dialog/content.d.ts +4 -11
  337. package/dist/es/packages/dialog/content.js +19 -11
  338. package/dist/es/packages/dialog/dialog.d.ts +1 -2
  339. package/dist/es/packages/dialog/dialog.js +25 -12
  340. package/dist/es/packages/dialog/dialogwrap.d.ts +3 -14
  341. package/dist/es/packages/dialog/dialogwrap.js +23 -13
  342. package/dist/es/packages/dialog/index.d.ts +1 -2
  343. package/dist/es/packages/dialog/style/dialog.scss +28 -22
  344. package/dist/es/packages/dialog/style/style.css +82 -84
  345. package/dist/es/packages/dialog/types.d.ts +57 -0
  346. package/dist/es/packages/divider/style/style.css +4 -4
  347. package/dist/es/packages/drag/drag.d.ts +6 -30
  348. package/dist/es/packages/elevator/style/style.css +8 -8
  349. package/dist/es/packages/ellipsis/ellipsis.js +1 -1
  350. package/dist/es/packages/empty/style/style.css +3 -3
  351. package/dist/es/packages/fixednav/fixednav.d.ts +2 -55
  352. package/dist/es/packages/fixednav/fixednav.js +19 -22
  353. package/dist/es/packages/fixednav/index.d.ts +1 -2
  354. package/dist/es/packages/fixednav/style/style.css +3 -8
  355. package/dist/es/packages/fixednav/types.d.ts +12 -0
  356. package/dist/es/packages/form/style/style.css +15 -15
  357. package/dist/es/packages/formitem/style/style.css +4 -4
  358. package/dist/es/packages/grid/style/style.css +6 -6
  359. package/dist/es/packages/griditem/style/style.css +5 -5
  360. package/dist/es/packages/hoverbutton/style/hoverbutton.scss +0 -4
  361. package/dist/es/packages/hoverbutton/style/style.css +4 -7
  362. package/dist/es/packages/hoverbuttonitem/style/style.css +4 -4
  363. package/dist/es/packages/image/image.d.ts +3 -2
  364. package/dist/es/packages/image/style/style.css +2 -2
  365. package/dist/es/packages/imagepreview/imagepreview.js +1 -1
  366. package/dist/es/packages/imagepreview/style/style.css +28 -47
  367. package/dist/es/packages/indicator/style/indicator.scss +17 -19
  368. package/dist/es/packages/indicator/style/style.css +15 -23
  369. package/dist/es/packages/infiniteloading/style/style.css +4 -4
  370. package/dist/es/packages/input/input.d.ts +2 -2
  371. package/dist/es/packages/input/input.js +47 -60
  372. package/dist/es/packages/input/style/input.scss +1 -7
  373. package/dist/es/packages/input/style/style.css +9 -15
  374. package/dist/es/packages/inputnumber/inputnumber.js +1 -1
  375. package/dist/es/packages/inputnumber/style/style.css +7 -7
  376. package/dist/es/packages/loading/style/loading.scss +8 -2
  377. package/dist/es/packages/loading/style/style.css +6 -4
  378. package/dist/es/packages/lottie/animation/dark/global.gif +0 -0
  379. package/dist/es/packages/lottie/animation/dark/global.json +1 -0
  380. package/dist/es/packages/lottie/animation/dark/loading.gif +0 -0
  381. package/dist/es/packages/lottie/animation/dark/loading.json +1 -0
  382. package/dist/es/packages/lottie/animation/dark/pulltorefresh-white.gif +0 -0
  383. package/dist/es/packages/lottie/animation/dark/pulltorefresh-white.json +1 -0
  384. package/dist/es/packages/lottie/animation/dark/pulltorefresh.gif +0 -0
  385. package/dist/es/packages/lottie/animation/dark/pulltorefresh.json +1 -0
  386. package/dist/es/packages/lottie/animation/light/global.gif +0 -0
  387. package/dist/es/packages/lottie/animation/light/global.json +1 -0
  388. package/dist/es/packages/lottie/animation/light/loading.gif +0 -0
  389. package/dist/es/packages/lottie/animation/light/loading.json +1 -0
  390. package/dist/es/packages/lottie/animation/light/pulltorefresh.gif +0 -0
  391. package/dist/es/packages/lottie/animation/light/pulltorefresh.json +1 -0
  392. package/dist/es/packages/menu/style/style.css +8 -13
  393. package/dist/es/packages/menuitem/menuitem.js +2 -2
  394. package/dist/es/packages/menuitem/style/style.css +4 -9
  395. package/dist/es/packages/navbar/style/navbar.scss +1 -1
  396. package/dist/es/packages/navbar/style/style.css +3 -3
  397. package/dist/es/packages/noticebar/noticebar.js +1 -1
  398. package/dist/es/packages/notify/style/style.css +4 -4
  399. package/dist/es/packages/numberkeyboard/numberkeyboard.d.ts +1 -1
  400. package/dist/es/packages/numberkeyboard/numberkeyboard.js +1 -1
  401. package/dist/es/packages/numberkeyboard/style/style.css +13 -18
  402. package/dist/es/packages/nutui.react.build.d.ts +7 -3
  403. package/dist/es/packages/nutui.react.build.js +7 -3
  404. package/dist/es/packages/overlay/index.d.ts +1 -1
  405. package/dist/es/packages/overlay/overlay.d.ts +2 -12
  406. package/dist/es/packages/overlay/overlay.js +11 -17
  407. package/dist/es/packages/overlay/style/overlay.scss +0 -5
  408. package/dist/es/packages/overlay/style/style.css +1 -6
  409. package/dist/es/packages/overlay/types.d.ts +11 -0
  410. package/dist/es/packages/overlay/types.js +1 -0
  411. package/dist/es/packages/pagination/pagination.js +1 -1
  412. package/dist/es/packages/pagination/style/style.css +7 -7
  413. package/dist/es/packages/picker/index.d.ts +1 -2
  414. package/dist/es/packages/picker/picker.d.ts +3 -82
  415. package/dist/es/packages/picker/picker.js +71 -187
  416. package/dist/es/packages/picker/style/picker.scss +3 -132
  417. package/dist/es/packages/picker/style/style.css +12 -123
  418. package/dist/es/packages/picker/types.d.ts +25 -6
  419. package/dist/es/packages/pickerview/index.d.ts +3 -0
  420. package/dist/es/packages/pickerview/index.js +2 -0
  421. package/dist/es/packages/pickerview/pickerroller.d.ts +7 -0
  422. package/dist/es/packages/pickerview/pickerroller.js +172 -0
  423. package/dist/es/packages/pickerview/pickerview.d.ts +4 -0
  424. package/dist/es/packages/pickerview/pickerview.js +188 -0
  425. package/dist/es/packages/pickerview/style/css.js +1 -0
  426. package/dist/es/packages/pickerview/style/index.js +1 -0
  427. package/dist/es/packages/pickerview/style/pickerview.scss +79 -0
  428. package/dist/es/packages/pickerview/style/style.css +73 -0
  429. package/dist/es/packages/pickerview/types.d.ts +32 -0
  430. package/dist/es/packages/pickerview/types.js +1 -0
  431. package/dist/es/packages/pickerview/utils.d.ts +14 -0
  432. package/dist/es/packages/pickerview/utils.js +28 -0
  433. package/dist/es/packages/popover/popover.d.ts +3 -3
  434. package/dist/es/packages/popover/popover.js +4 -4
  435. package/dist/es/packages/popover/style/style.css +12 -17
  436. package/dist/es/packages/popover/types.d.ts +3 -2
  437. package/dist/es/packages/popup/index.d.ts +1 -1
  438. package/dist/es/packages/popup/popup.d.ts +2 -24
  439. package/dist/es/packages/popup/popup.js +25 -42
  440. package/dist/es/packages/popup/style/style.css +5 -10
  441. package/dist/es/packages/popup/types.d.ts +25 -0
  442. package/dist/es/packages/popup/types.js +1 -0
  443. package/dist/es/packages/price/style/style.css +1 -1
  444. package/dist/es/packages/progress/style/style.css +1 -1
  445. package/dist/es/packages/pulltorefresh/pulltorefresh.js +1 -1
  446. package/dist/es/packages/pulltorefresh/style/pulltorefresh.scss +1 -1
  447. package/dist/es/packages/pulltorefresh/style/style.css +4 -4
  448. package/dist/es/packages/radio/radio.js +1 -1
  449. package/dist/es/packages/radio/style/radio.scss +1 -5
  450. package/dist/es/packages/radio/style/style.css +28 -25
  451. package/dist/es/packages/radiogroup/radiogroup.js +1 -1
  452. package/dist/es/packages/radiogroup/style/radiogroup.scss +10 -2
  453. package/dist/es/packages/radiogroup/style/style.css +14 -8
  454. package/dist/es/packages/range/range.js +3 -3
  455. package/dist/es/packages/range/style/style.css +9 -9
  456. package/dist/es/packages/rate/rate.js +3 -3
  457. package/dist/es/packages/rate/style/style.css +4 -4
  458. package/dist/es/packages/resultpage/style/resultpage.scss +3 -0
  459. package/dist/es/packages/resultpage/style/style.css +5 -2
  460. package/dist/es/packages/searchbar/searchbar.js +0 -1
  461. package/dist/es/packages/searchbar/style/style.css +5 -5
  462. package/dist/es/packages/segmented/segmented.js +1 -1
  463. package/dist/es/packages/segmented/style/style.css +2 -2
  464. package/dist/es/packages/shortpassword/shortpassword.js +2 -2
  465. package/dist/es/packages/shortpassword/style/style.css +15 -20
  466. package/dist/es/packages/sidebar/index.d.ts +3 -0
  467. package/dist/es/packages/sidebar/index.js +2 -0
  468. package/dist/es/packages/sidebar/sidebar.d.ts +6 -0
  469. package/dist/es/packages/sidebar/sidebar.js +161 -0
  470. package/dist/es/packages/sidebar/style/css.js +1 -0
  471. package/dist/es/packages/sidebar/style/index.js +3 -0
  472. package/dist/es/packages/sidebar/style/sidebar.scss +61 -0
  473. package/dist/es/packages/sidebar/style/style.css +79 -0
  474. package/dist/es/packages/sidebar/types.d.ts +16 -0
  475. package/dist/es/packages/sidebar/types.js +1 -0
  476. package/dist/es/packages/sidebar/utils.d.ts +3 -0
  477. package/dist/es/packages/sidebar/utils.js +14 -0
  478. package/dist/es/packages/sidebaritem/index.d.ts +3 -0
  479. package/dist/es/packages/sidebaritem/index.js +2 -0
  480. package/dist/es/packages/sidebaritem/sidebaritem.d.ts +9 -0
  481. package/dist/es/packages/sidebaritem/sidebaritem.js +18 -0
  482. package/dist/es/packages/sidebaritem/style/css.js +1 -0
  483. package/dist/es/packages/sidebaritem/style/index.js +1 -0
  484. package/dist/es/packages/sidebaritem/style/sidebaritem.scss +16 -0
  485. package/dist/es/packages/sidebaritem/style/style.css +19 -0
  486. package/dist/es/packages/sidenavbar/style/style.css +9 -14
  487. package/dist/es/packages/sidenavbaritem/style/style.css +2 -2
  488. package/dist/es/packages/signature/style/style.css +2 -2
  489. package/dist/es/packages/skeleton/style/skeleton.scss +0 -18
  490. package/dist/es/packages/skeleton/style/style.css +5 -11
  491. package/dist/es/packages/step/style/style.css +19 -19
  492. package/dist/es/packages/steps/style/style.css +19 -19
  493. package/dist/es/packages/sticky/sticky.js +2 -2
  494. package/dist/es/packages/subsidenavbar/style/style.css +2 -2
  495. package/dist/es/packages/swipe/swipe.js +2 -2
  496. package/dist/es/packages/swiper/effects/focus.js +1 -1
  497. package/dist/es/packages/swiper/style/style.css +21 -35
  498. package/dist/es/packages/swiper/style/swiper.scss +10 -12
  499. package/dist/es/packages/swiper/swiper.js +6 -9
  500. package/dist/es/packages/switch/style/style.css +6 -6
  501. package/dist/es/packages/switch/switch.js +1 -1
  502. package/dist/es/packages/tabbar/style/style.css +15 -20
  503. package/dist/es/packages/tabbar/tabbar.js +1 -1
  504. package/dist/es/packages/tabbaritem/style/style.css +14 -19
  505. package/dist/es/packages/tabbaritem/style/tabbaritem.scss +7 -13
  506. package/dist/es/packages/tabbaritem/tabbaritem.js +7 -6
  507. package/dist/es/packages/table/style/style.css +11 -11
  508. package/dist/es/packages/table/table.js +1 -1
  509. package/dist/es/packages/tabpane/style/style.css +1 -1
  510. package/dist/es/packages/tabpane/tabpane.js +2 -2
  511. package/dist/es/packages/tabs/style/style.css +30 -32
  512. package/dist/es/packages/tabs/style/tabs.scss +9 -9
  513. package/dist/es/packages/tabs/tabs.js +37 -54
  514. package/dist/es/packages/tag/style/style.css +5 -5
  515. package/dist/es/packages/tag/style/tag.scss +0 -2
  516. package/dist/es/packages/textarea/style/style.css +13 -13
  517. package/dist/es/packages/textarea/textarea.d.ts +1 -1
  518. package/dist/es/packages/textarea/textarea.js +20 -25
  519. package/dist/es/packages/timedetail/style/style.css +4 -4
  520. package/dist/es/packages/timeselect/style/style.css +14 -19
  521. package/dist/es/packages/toast/Notification.d.ts +6 -20
  522. package/dist/es/packages/toast/Notification.js +8 -7
  523. package/dist/es/packages/toast/index.d.ts +1 -1
  524. package/dist/es/packages/toast/style/style.css +2 -20
  525. package/dist/es/packages/toast/style/toast.scss +0 -13
  526. package/dist/es/packages/toast/toast.d.ts +4 -22
  527. package/dist/es/packages/toast/toast.js +10 -8
  528. package/dist/es/packages/toast/types.d.ts +17 -0
  529. package/dist/es/packages/toast/types.js +1 -0
  530. package/dist/es/packages/tour/style/style.css +16 -21
  531. package/dist/es/packages/tour/tour.d.ts +3 -3
  532. package/dist/es/packages/tour/tour.js +1 -1
  533. package/dist/es/packages/trendarrow/style/style.css +1 -1
  534. package/dist/es/packages/uploader/style/style.css +12 -12
  535. package/dist/es/packages/uploader/types.d.ts +2 -1
  536. package/dist/es/packages/uploader/uploader.js +1 -1
  537. package/dist/es/packages/virtuallist/style/style.css +4 -4
  538. package/dist/es/types/fix-string-literal-union.d.ts +1 -0
  539. package/dist/es/utils/get-rect-by-taro.js +1 -15
  540. package/dist/es/utils/get-system-info.d.ts +19 -0
  541. package/dist/es/utils/get-system-info.js +19 -0
  542. package/dist/es/utils/platform-taro.d.ts +0 -2
  543. package/dist/es/utils/platform-taro.js +0 -15
  544. package/dist/es/utils/px-transform.js +1 -2
  545. package/dist/nutui.react.umd.js +1488 -1838
  546. package/dist/style.css +1 -1
  547. package/dist/style.scss +42 -40
  548. package/dist/styles/theme-dark.scss +1 -0
  549. package/dist/styles/theme-default.scss +1 -0
  550. package/dist/styles/themes/dark.css +1 -0
  551. package/dist/styles/themes/default.css +1 -1
  552. package/dist/styles/themes/jmapp.css +1 -0
  553. package/dist/styles/themes/jrkf.css +1 -0
  554. package/dist/styles/variables-jmapp.scss +1 -0
  555. package/dist/styles/variables-jrkf.scss +1 -0
  556. package/dist/styles/variables.scss +125 -63
  557. package/package.json +1 -80
  558. package/dist/cjs/packages/dialog/config.d.ts +0 -50
  559. package/dist/cjs/packages/picker/pickerpanel.d.ts +0 -15
  560. package/dist/cjs/packages/picker/pickerpanel.js +0 -238
  561. package/dist/es/packages/dialog/config.d.ts +0 -50
  562. package/dist/es/packages/picker/pickerpanel.d.ts +0 -15
  563. package/dist/es/packages/picker/pickerpanel.js +0 -227
  564. package/dist/styles/themes/default.scss +0 -3
  565. /package/dist/cjs/{utils → hooks}/use-click-away.d.ts +0 -0
  566. /package/dist/cjs/{utils → hooks}/use-client-rect.d.ts +0 -0
  567. /package/dist/cjs/{utils → hooks}/use-client-rect.js +0 -0
  568. /package/dist/cjs/{utils → hooks}/use-custom-event.d.ts +0 -0
  569. /package/dist/cjs/{utils → hooks}/use-force-update.d.ts +0 -0
  570. /package/dist/cjs/{utils → hooks}/use-force-update.js +0 -0
  571. /package/dist/cjs/{utils → hooks}/use-isomprphic-layout-effect.d.ts +0 -0
  572. /package/dist/cjs/{utils → hooks}/use-lock-scoll-taro.d.ts +0 -0
  573. /package/dist/cjs/{utils → hooks}/use-lock-scoll-taro.js +0 -0
  574. /package/dist/cjs/{utils → hooks}/use-lock-scroll.d.ts +0 -0
  575. /package/dist/cjs/{utils → hooks}/use-memo.d.ts +0 -0
  576. /package/dist/cjs/{utils → hooks}/use-memo.js +0 -0
  577. /package/dist/cjs/{utils → hooks}/use-props-value.d.ts +0 -0
  578. /package/dist/cjs/{utils → hooks}/use-props-value.js +0 -0
  579. /package/dist/cjs/{utils → hooks}/use-ref-state.d.ts +0 -0
  580. /package/dist/cjs/{utils → hooks}/use-ref-state.js +0 -0
  581. /package/dist/cjs/{utils → hooks}/use-refs.d.ts +0 -0
  582. /package/dist/cjs/{utils → hooks}/use-refs.js +0 -0
  583. /package/dist/cjs/{utils → hooks}/use-taro-rect.d.ts +0 -0
  584. /package/dist/cjs/{utils → hooks}/use-taro-rect.js +0 -0
  585. /package/dist/cjs/{utils → hooks}/use-touch.d.ts +0 -0
  586. /package/dist/cjs/{utils → hooks}/use-touch.js +0 -0
  587. /package/dist/cjs/{utils → hooks}/use-uuid.d.ts +0 -0
  588. /package/dist/cjs/{utils → hooks}/use-uuid.js +0 -0
  589. /package/dist/cjs/{utils → hooks}/use-watch.d.ts +0 -0
  590. /package/dist/cjs/{utils → hooks}/use-watch.js +0 -0
  591. /package/dist/cjs/packages/dialog/{config.js → types.js} +0 -0
  592. /package/dist/es/{utils → hooks}/use-click-away.d.ts +0 -0
  593. /package/dist/es/{utils → hooks}/use-client-rect.d.ts +0 -0
  594. /package/dist/es/{utils → hooks}/use-client-rect.js +0 -0
  595. /package/dist/es/{utils → hooks}/use-custom-event.d.ts +0 -0
  596. /package/dist/es/{utils → hooks}/use-force-update.d.ts +0 -0
  597. /package/dist/es/{utils → hooks}/use-force-update.js +0 -0
  598. /package/dist/es/{utils → hooks}/use-isomprphic-layout-effect.d.ts +0 -0
  599. /package/dist/es/{utils → hooks}/use-lock-scoll-taro.d.ts +0 -0
  600. /package/dist/es/{utils → hooks}/use-lock-scoll-taro.js +0 -0
  601. /package/dist/es/{utils → hooks}/use-lock-scroll.d.ts +0 -0
  602. /package/dist/es/{utils → hooks}/use-memo.d.ts +0 -0
  603. /package/dist/es/{utils → hooks}/use-memo.js +0 -0
  604. /package/dist/es/{utils → hooks}/use-props-value.d.ts +0 -0
  605. /package/dist/es/{utils → hooks}/use-props-value.js +0 -0
  606. /package/dist/es/{utils → hooks}/use-ref-state.d.ts +0 -0
  607. /package/dist/es/{utils → hooks}/use-ref-state.js +0 -0
  608. /package/dist/es/{utils → hooks}/use-refs.d.ts +0 -0
  609. /package/dist/es/{utils → hooks}/use-refs.js +0 -0
  610. /package/dist/es/{utils → hooks}/use-taro-rect.d.ts +0 -0
  611. /package/dist/es/{utils → hooks}/use-taro-rect.js +0 -0
  612. /package/dist/es/{utils → hooks}/use-touch.d.ts +0 -0
  613. /package/dist/es/{utils → hooks}/use-touch.js +0 -0
  614. /package/dist/es/{utils → hooks}/use-uuid.d.ts +0 -0
  615. /package/dist/es/{utils → hooks}/use-uuid.js +0 -0
  616. /package/dist/es/{utils → hooks}/use-watch.d.ts +0 -0
  617. /package/dist/es/{utils → hooks}/use-watch.js +0 -0
  618. /package/dist/es/packages/dialog/{config.js → types.js} +0 -0
@@ -17,25 +17,24 @@ var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
17
17
  var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
18
18
  var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
19
19
  var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames"));
20
- var _popup = require("../popup/popup");
21
- var _safearea = require("../safearea/safearea");
22
- var _pickerpanel = /*#__PURE__*/ _interop_require_default._(require("./pickerpanel"));
23
- var _userefs = /*#__PURE__*/ _interop_require_default._(require("../../utils/use-refs"));
20
+ var _reactfastcompare = /*#__PURE__*/ _interop_require_default._(require("react-fast-compare"));
21
+ var _index = /*#__PURE__*/ _interop_require_default._(require("../pickerview/index"));
22
+ var _index1 = /*#__PURE__*/ _interop_require_default._(require("../popup/index"));
23
+ var _index2 = /*#__PURE__*/ _interop_require_default._(require("../safearea/index"));
24
+ var _userefs = /*#__PURE__*/ _interop_require_default._(require("../../hooks/use-refs"));
24
25
  var _configprovider = require("../configprovider");
25
- var _usepropsvalue = require("../../utils/use-props-value");
26
+ var _usepropsvalue = require("../../hooks/use-props-value");
26
27
  var _typings = require("../../utils/typings");
27
28
  var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
28
29
  title: '',
29
30
  options: [],
30
- value: [],
31
+ value: undefined,
31
32
  defaultValue: [],
32
- threeDimensional: true,
33
- closeOnOverlayClick: true,
34
- duration: 1000
33
+ closeOnOverlayClick: true
35
34
  });
36
35
  var InternalPicker = function InternalPicker(props, ref) {
37
36
  var locale = (0, _configprovider.useConfig)().locale;
38
- var _ref = (0, _object_spread._)({}, defaultProps, props), children = _ref.children, visible = _ref.visible, title = _ref.title, _ref_options = _ref.options, options = _ref_options === void 0 ? [] : _ref_options, closeOnOverlayClick = _ref.closeOnOverlayClick, _ref_popupProps = _ref.popupProps, popupProps = _ref_popupProps === void 0 ? {} : _ref_popupProps, _ref_defaultValue = _ref.defaultValue, defaultValue = _ref_defaultValue === void 0 ? [] : _ref_defaultValue, className = _ref.className, style = _ref.style, threeDimensional = _ref.threeDimensional, duration = _ref.duration, onConfirm = _ref.onConfirm, onCancel = _ref.onCancel, onClose = _ref.onClose, afterClose = _ref.afterClose, onChange = _ref.onChange, rest = (0, _object_without_properties._)(_ref, [
37
+ var _ref = (0, _object_spread._)({}, defaultProps, props), children = _ref.children, visible = _ref.visible, title = _ref.title, _ref_options = _ref.options, options = _ref_options === void 0 ? [] : _ref_options, closeOnOverlayClick = _ref.closeOnOverlayClick, _ref_popupProps = _ref.popupProps, popupProps = _ref_popupProps === void 0 ? {} : _ref_popupProps, _ref_defaultValue = _ref.defaultValue, defaultValue = _ref_defaultValue === void 0 ? [] : _ref_defaultValue, className = _ref.className, style = _ref.style, threeDimensional = _ref.threeDimensional, duration = _ref.duration, onConfirm = _ref.onConfirm, onCancel = _ref.onCancel, onClose = _ref.onClose, onChange = _ref.onChange, rest = (0, _object_without_properties._)(_ref, [
39
38
  "children",
40
39
  "visible",
41
40
  "title",
@@ -50,7 +49,6 @@ var InternalPicker = function InternalPicker(props, ref) {
50
49
  "onConfirm",
51
50
  "onCancel",
52
51
  "onClose",
53
- "afterClose",
54
52
  "onChange"
55
53
  ]);
56
54
  var classPrefix = 'nut-picker';
@@ -59,28 +57,22 @@ var InternalPicker = function InternalPicker(props, ref) {
59
57
  value: props.value,
60
58
  defaultValue: (0, _to_consumable_array._)(defaultValue),
61
59
  finalValue: (0, _to_consumable_array._)(defaultValue),
62
- onChange: function onChange(val) {
60
+ onChange: function onChange(value) {
63
61
  var _props_onConfirm;
64
- (_props_onConfirm = props.onConfirm) === null || _props_onConfirm === void 0 ? void 0 : _props_onConfirm.call(props, setSelectedOptions(), val);
62
+ (_props_onConfirm = props.onConfirm) === null || _props_onConfirm === void 0 ? void 0 : _props_onConfirm.call(props, selectedOptionsRef.current, value);
65
63
  }
66
64
  }), 2), selectedValue = _usePropsValue[0], setSelectedValue = _usePropsValue[1];
67
65
  var _usePropsValue1 = (0, _sliced_to_array._)((0, _usepropsvalue.usePropsValue)({
68
66
  value: props.visible,
69
67
  defaultValue: false,
70
68
  finalValue: false,
71
- onChange: function onChange(val) {
72
- var _props_onClose;
73
- (_props_onClose = props.onClose) === null || _props_onClose === void 0 ? void 0 : _props_onClose.call(props, setSelectedOptions(), innerValue);
69
+ onChange: function onChange(v) {
70
+ if (!v) {
71
+ var _props_onClose;
72
+ (_props_onClose = props.onClose) === null || _props_onClose === void 0 ? void 0 : _props_onClose.call(props, selectedOptionsRef.current, innerValue);
73
+ }
74
74
  }
75
75
  }), 2), innerVisible = _usePropsValue1[0], setInnerVisible = _usePropsValue1[1];
76
- var _useState = (0, _sliced_to_array._)((0, _react.useState)(selectedValue), 2), innerValue = _useState[0], setInnerValue = _useState[1];
77
- var _useState1 // 选中列
78
- = (0, _sliced_to_array._)((0, _react.useState)(0), 2), columnIndex = _useState1[0], setColumnIndex = _useState1[1];
79
- var pickerRef = (0, _react.useRef)(null);
80
- var _useRefs = (0, _sliced_to_array._)((0, _userefs.default)(), 2), refs = _useRefs[0], setRefs = _useRefs[1];
81
- var _useState2 // 格式化后每一列的数据
82
- = (0, _sliced_to_array._)((0, _react.useState)([]), 2), columnsList = _useState2[0], setColumnsList = _useState2[1];
83
- var isConfirmEvent = (0, _react.useRef)(false);
84
76
  var actions = {
85
77
  open: function open() {
86
78
  setInnerVisible(true);
@@ -92,154 +84,50 @@ var InternalPicker = function InternalPicker(props, ref) {
92
84
  (0, _react.useImperativeHandle)(ref, function() {
93
85
  return actions;
94
86
  });
95
- // 级联数据格式化
96
- var formatCascade = function formatCascade(columns, values) {
97
- var _loop = function _loop() {
98
- var options = columnOptions.children;
99
- var value = values[columnIndex];
100
- var index = options.findIndex(function(columnItem) {
101
- return columnItem.value === value;
102
- });
103
- if (index === -1) index = 0;
104
- columnOptions = columnOptions.children[index];
105
- columnIndex++;
106
- formatted.push(options);
107
- };
108
- var formatted = [];
109
- var columnOptions = {
110
- text: '',
111
- value: '',
112
- children: columns
113
- };
114
- var columnIndex = 0;
115
- while(columnOptions && columnOptions.children)_loop();
116
- return formatted;
117
- };
118
- // 数据类型:多列、嵌套、单列
119
- var columnsType = function columnsType() {
120
- var firstColumn = options[0];
121
- if (firstColumn) {
122
- if (Array.isArray(firstColumn)) {
123
- return 'multiple';
124
- }
125
- if ('children' in firstColumn) {
126
- return 'cascade';
127
- }
128
- }
129
- return 'single';
130
- };
131
- // 传入的数据格式化
132
- var normalListData = function normalListData(innerValue) {
133
- var type = columnsType();
134
- switch(type){
135
- case 'multiple':
136
- return options;
137
- case 'cascade':
138
- // 级联数据处理
139
- return formatCascade(options, innerValue);
140
- default:
141
- return [
142
- options
143
- ];
144
- }
145
- };
146
- var init = function init() {
147
- var normalData = normalListData(innerValue);
148
- setColumnsList(normalData);
149
- // 初始化默认选中数据
150
- var data = [];
151
- normalData.length > 0 && normalData.map(function(item) {
152
- item[0] && data.push(item[0].value);
153
- return item;
154
- });
155
- if (!innerValue.length && innerValue.length === 0) {
156
- setInnerValue((0, _to_consumable_array._)(data));
157
- }
158
- };
159
- (0, _react.useEffect)(function() {
160
- setInnerValue(innerValue !== selectedValue ? selectedValue : innerValue);
161
- }, [
162
- innerVisible,
163
- selectedValue
164
- ]);
87
+ var _useState = (0, _sliced_to_array._)((0, _react.useState)((0, _to_consumable_array._)(selectedValue)), 2), innerValue = _useState[0], setInnerValue = _useState[1];
88
+ var innerValueRef = (0, _react.useRef)(innerValue);
89
+ var _useState1 = (0, _sliced_to_array._)((0, _react.useState)([]), 2), innerOptions = _useState1[0], setInnerOptions = _useState1[1];
90
+ var selectedOptionsRef = (0, _react.useRef)([]);
91
+ var _useRefs = (0, _sliced_to_array._)((0, _userefs.default)(), 2), refs = _useRefs[0], setRefs = _useRefs[1];
165
92
  (0, _react.useEffect)(function() {
166
93
  if (innerVisible) {
167
- init();
94
+ setInnerValue(selectedValue);
95
+ setInnerOptions(options);
168
96
  }
169
97
  }, [
170
- options,
98
+ selectedValue,
99
+ innerOptions,
171
100
  innerVisible
172
101
  ]);
173
- // 选中值进行修改
174
- (0, _react.useEffect)(function() {
175
- onChange && onChange(setSelectedOptions(), innerValue, columnIndex);
176
- }, [
177
- innerValue,
178
- columnsList
179
- ]);
180
- var setSelectedOptions = function setSelectedOptions() {
181
- var options = [];
182
- var currOptions = [];
183
- columnsList.forEach(function(columnOptions, index) {
184
- currOptions = columnOptions.filter(function(item) {
185
- return item.value === innerValue[index];
186
- });
187
- if (currOptions[0]) {
188
- options.push(currOptions[0]);
189
- } else {
190
- columnOptions[0] && options.push(columnOptions[0]);
191
- }
192
- });
193
- return options;
194
- };
195
- // 更新已选择数据
196
- var chooseItem = function chooseItem(columnOptions, columnIndex) {
197
- var values = [];
198
- var start = columnIndex;
199
- if (columnOptions && Object.keys(columnOptions).length) {
200
- // 切换数据后,数据有变动才触发。
201
- if (values[columnIndex] !== columnOptions.value) {
202
- if (columnsType() === 'cascade') {
203
- var _columnOptions_children, _columnOptions_children1;
204
- values[columnIndex] = columnOptions.value || '';
205
- while(columnOptions === null || columnOptions === void 0 ? void 0 : (_columnOptions_children = columnOptions.children) === null || _columnOptions_children === void 0 ? void 0 : _columnOptions_children[0]){
206
- values[columnIndex + 1] = columnOptions.children[0].value;
207
- columnIndex++;
208
- columnOptions = columnOptions.children[0];
209
- }
210
- // 当前改变列的下一列 children 值为空
211
- if (columnOptions === null || columnOptions === void 0 ? void 0 : (_columnOptions_children1 = columnOptions.children) === null || _columnOptions_children1 === void 0 ? void 0 : _columnOptions_children1.length) {
212
- values[columnIndex + 1] = '';
213
- }
214
- var combineResult = (0, _to_consumable_array._)(innerValue.slice(0, start)).concat((0, _to_consumable_array._)(values.splice(start)));
215
- setInnerValue(combineResult);
216
- setColumnsList(normalListData(combineResult));
217
- } else {
218
- setInnerValue(function(data) {
219
- var cdata = (0, _to_consumable_array._)(data);
220
- cdata[columnIndex] = Object.prototype.hasOwnProperty.call(columnOptions, 'value') ? columnOptions.value : '';
221
- return cdata;
222
- });
223
- }
224
- setColumnIndex(columnIndex);
225
- }
102
+ var onChangeItem = function onChangeItem(param) {
103
+ var value = param.value, index = param.index, selectedOptions = param.selectedOptions;
104
+ if (selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.length) {
105
+ selectedOptionsRef.current = selectedOptions;
226
106
  }
107
+ if ((0, _reactfastcompare.default)(value, innerValueRef.current)) return;
108
+ innerValueRef.current = value;
109
+ setInnerValue(value);
110
+ innerVisible && (onChange === null || onChange === void 0 ? void 0 : onChange({
111
+ selectedOptions: selectedOptions,
112
+ value: value,
113
+ index: index
114
+ }));
227
115
  };
228
- var confirm = function confirm() {
116
+ var onConfirmEvent = function onConfirmEvent() {
229
117
  var moving = false;
230
118
  refs.forEach(function(ref) {
231
119
  if (ref.moving) moving = true;
232
120
  ref.stopMomentum();
233
121
  });
234
- if (moving) {
235
- isConfirmEvent.current = true;
236
- } else {
122
+ if (!moving) {
237
123
  setSelectedValue(innerValue, true);
238
124
  setInnerVisible(false);
239
125
  }
240
- setTimeout(function() {
241
- isConfirmEvent.current = false;
242
- }, 0);
126
+ };
127
+ var onCancelEvent = function onCancelEvent() {
128
+ setInnerValue(selectedValue);
129
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel();
130
+ setInnerVisible(false);
243
131
  };
244
132
  var renderTitleBar = function renderTitleBar() {
245
133
  return /*#__PURE__*/ _react.default.createElement("div", {
@@ -248,8 +136,7 @@ var InternalPicker = function InternalPicker(props, ref) {
248
136
  className: "".concat(classPrefix, "-cancel-btn"),
249
137
  onClick: function onClick(e) {
250
138
  e.stopPropagation();
251
- onCancel === null || onCancel === void 0 ? void 0 : onCancel();
252
- setInnerVisible(false);
139
+ onCancelEvent();
253
140
  }
254
141
  }, locale === null || locale === void 0 ? void 0 : locale.cancel), /*#__PURE__*/ _react.default.createElement("div", {
255
142
  className: "".concat(classPrefix, "-title")
@@ -257,43 +144,40 @@ var InternalPicker = function InternalPicker(props, ref) {
257
144
  className: "".concat(classPrefix, "-confirm-btn"),
258
145
  onClick: function onClick(e) {
259
146
  e.stopPropagation();
260
- confirm();
147
+ onConfirmEvent();
261
148
  }
262
149
  }, locale.confirm));
263
150
  };
264
- return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, typeof children === 'function' && children(selectedValue), /*#__PURE__*/ _react.default.createElement(_popup.Popup, (0, _object_spread_props._)((0, _object_spread._)({}, popupProps), {
151
+ var renderPickerElement = function renderPickerElement() {
152
+ return /*#__PURE__*/ _react.default.createElement("div", (0, _object_spread._)({
153
+ className: classes,
154
+ style: style
155
+ }, rest), renderTitleBar(), typeof children !== 'function' && children, /*#__PURE__*/ _react.default.createElement("div", {
156
+ className: "".concat(classPrefix, "-panel")
157
+ }, /*#__PURE__*/ _react.default.createElement(_index.default, {
158
+ setRefs: setRefs,
159
+ value: innerValue,
160
+ options: props.options,
161
+ threeDimensional: threeDimensional,
162
+ duration: duration,
163
+ onChange: function onChange(param) {
164
+ var value = param.value, index = param.index, selectedOptions = param.selectedOptions;
165
+ onChangeItem({
166
+ value: value,
167
+ index: index,
168
+ selectedOptions: selectedOptions
169
+ });
170
+ }
171
+ })));
172
+ };
173
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, typeof children === 'function' && children(selectedValue), /*#__PURE__*/ _react.default.createElement(_index1.default, (0, _object_spread_props._)((0, _object_spread._)({}, popupProps), {
265
174
  visible: innerVisible,
266
175
  position: "bottom",
267
176
  onOverlayClick: function onOverlayClick() {
268
- if (closeOnOverlayClick) {
269
- var _props_onCancel;
270
- (_props_onCancel = props.onCancel) === null || _props_onCancel === void 0 ? void 0 : _props_onCancel.call(props);
271
- setInnerVisible(false);
272
- }
273
- },
274
- afterClose: function afterClose1() {
275
- afterClose === null || afterClose === void 0 ? void 0 : afterClose(setSelectedOptions(), innerValue, pickerRef);
177
+ if (!closeOnOverlayClick) return;
178
+ onCancelEvent();
276
179
  }
277
- }), /*#__PURE__*/ _react.default.createElement("div", (0, _object_spread._)({
278
- className: classes,
279
- style: style
280
- }, rest), renderTitleBar(), typeof children !== 'function' && children, /*#__PURE__*/ _react.default.createElement("div", {
281
- className: "".concat(classPrefix, "-panel"),
282
- ref: pickerRef
283
- }, columnsList === null || columnsList === void 0 ? void 0 : columnsList.map(function(item, index) {
284
- return /*#__PURE__*/ _react.default.createElement(_pickerpanel.default, {
285
- ref: setRefs(index),
286
- defaultValue: innerValue === null || innerValue === void 0 ? void 0 : innerValue[index],
287
- options: item,
288
- threeDimensional: threeDimensional,
289
- chooseItem: function chooseItem1(value, index) {
290
- return chooseItem(value, index);
291
- },
292
- duration: duration,
293
- key: index,
294
- keyIndex: index
295
- });
296
- }))), /*#__PURE__*/ _react.default.createElement(_safearea.SafeArea, {
180
+ }), innerVisible ? /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, renderPickerElement(), " ") : null, /*#__PURE__*/ _react.default.createElement(_index2.default, {
297
181
  position: "bottom"
298
182
  })));
299
183
  };
@@ -4,11 +4,12 @@
4
4
 
5
5
  &-control {
6
6
  display: flex;
7
- height: $popup-title-height;
8
- font-size: $popup-title-font-size;
9
7
  align-items: center;
10
8
  justify-content: space-between;
9
+ height: $popup-title-height;
11
10
  padding: $popup-title-padding;
11
+ box-sizing: border-box;
12
+ font-size: $popup-title-font-size;
12
13
  }
13
14
 
14
15
  &-cancel-btn {
@@ -34,135 +35,5 @@
34
35
 
35
36
  &-panel {
36
37
  display: flex;
37
- position: relative;
38
- }
39
-
40
- &-indicator {
41
- position: absolute;
42
- top: 108px;
43
- height: $picker-item-height;
44
- width: 100%;
45
- border: $picker-item-active-line-border;
46
- border-left: 0;
47
- border-right: 0;
48
- color: $picker-item-text-color;
49
- font-size: $picker-item-text-font-size;
50
- z-index: 3;
51
-
52
- &-taro {
53
- height: $picker-item-height;
54
- border: 0;
55
-
56
- &::before,
57
- &::after {
58
- border: $picker-item-active-line-border;
59
- border-left: 0;
60
- border-right: 0;
61
- }
62
- }
63
- }
64
-
65
- &-list {
66
- flex: 1;
67
- position: relative;
68
- height: $picker-list-height;
69
- overflow: hidden;
70
- text-align: center;
71
- }
72
-
73
- &-list-panel {
74
- transform-style: preserve-3d;
75
- }
76
-
77
- &-mask {
78
- position: absolute;
79
- top: 0;
80
- left: 0;
81
- right: 0;
82
- bottom: 0;
83
- background-image: $picker-mask-background;
84
- background-position: top, bottom;
85
- background-size: 100% 108px;
86
- background-repeat: no-repeat;
87
- transform: translateZ(0);
88
- z-index: 3;
89
- }
90
-
91
- &-view-panel {
92
- height: $picker-list-height;
93
- flex-grow: 1;
94
- }
95
-
96
- &-content,
97
- &-roller {
98
- position: absolute;
99
- top: 108px;
100
- width: 100%;
101
- height: $picker-item-height;
102
- }
103
-
104
- &-content {
105
- background: #fff;
106
- z-index: 2;
107
- overflow: hidden;
108
- }
109
-
110
- &-item,
111
- &-roller-item {
112
- white-space: nowrap;
113
- overflow: hidden;
114
- text-overflow: ellipsis;
115
- height: $picker-item-height;
116
- line-height: $picker-item-height;
117
- color: $picker-item-text-color;
118
- font-size: $picker-item-text-font-size;
119
- text-align: center;
120
- }
121
-
122
- &-item {
123
- font-size: 16px;
124
- background: #fff;
125
38
  }
126
-
127
- &-roller {
128
- z-index: 1;
129
- transform-style: preserve-3d;
130
- }
131
-
132
- &-roller-item {
133
- backface-visibility: hidden;
134
- -moz-backface-visibility: hidden;
135
- -webkit-backface-visibility: hidden;
136
- position: absolute;
137
- top: 0;
138
- width: 100%;
139
- }
140
-
141
- &-roller-item-title {
142
- display: block;
143
- width: 100%;
144
- height: $picker-item-height;
145
- line-height: $picker-item-height;
146
- text-align: center;
147
- color: $color-title;
148
- font-size: $font-size-base;
149
- }
150
-
151
- &-roller-item-hidden {
152
- visibility: hidden;
153
- opacity: 0;
154
- }
155
-
156
- &-placeholder {
157
- height: 1px;
158
- }
159
- }
160
-
161
- [dir='rtl'] .nut-picker-mask,
162
- .nut-rtl .nut-picker-mask {
163
- background-image: var(
164
- --picker-mask-background,
165
- linear-gradient(-180deg, var(--nutui-white-12), var(--nutui-white-7)),
166
- linear-gradient(0deg, var(--nutui-white-12), var(--nutui-white-7))
167
- );
168
39
  }