@nutui/nutui-react 1.5.1 → 1.5.2-beta.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 (350) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/nutui.react.mjs +27 -22
  3. package/dist/nutui.react.umd.js +27 -22
  4. package/package.json +1 -1
  5. package/dist/esm/ActionSheet/style/index.js +0 -2
  6. package/dist/esm/ActionSheet.js +0 -92
  7. package/dist/esm/Address/style/index.js +0 -4
  8. package/dist/esm/Address.js +0 -622
  9. package/dist/esm/Animate/style/index.js +0 -2
  10. package/dist/esm/Animate.js +0 -55
  11. package/dist/esm/AnimatingNumbers/style/index.js +0 -3
  12. package/dist/esm/AnimatingNumbers.js +0 -127
  13. package/dist/esm/Audio/style/index.js +0 -4
  14. package/dist/esm/Audio.js +0 -266
  15. package/dist/esm/Avatar/style/index.js +0 -2
  16. package/dist/esm/Avatar.js +0 -132
  17. package/dist/esm/AvatarContext-15733596.js +0 -3
  18. package/dist/esm/AvatarGroup/style/index.js +0 -2
  19. package/dist/esm/AvatarGroup.js +0 -43
  20. package/dist/esm/BackTop/style/index.js +0 -2
  21. package/dist/esm/BackTop.js +0 -139
  22. package/dist/esm/Badge/style/index.js +0 -2
  23. package/dist/esm/Badge.js +0 -73
  24. package/dist/esm/Barrage/style/index.js +0 -2
  25. package/dist/esm/Barrage.js +0 -99
  26. package/dist/esm/Button/style/index.js +0 -2
  27. package/dist/esm/Button.js +0 -109
  28. package/dist/esm/Calendar/style/index.js +0 -2
  29. package/dist/esm/Calendar.js +0 -129
  30. package/dist/esm/CalendarItem/style/index.js +0 -2
  31. package/dist/esm/CalendarItem.js +0 -676
  32. package/dist/esm/Card/style/index.js +0 -4
  33. package/dist/esm/Card.js +0 -63
  34. package/dist/esm/Cascader/style/index.js +0 -3
  35. package/dist/esm/Cascader.js +0 -673
  36. package/dist/esm/Cell/style/index.js +0 -2
  37. package/dist/esm/Cell.js +0 -103
  38. package/dist/esm/CellGroup/style/index.js +0 -2
  39. package/dist/esm/CellGroup.js +0 -5
  40. package/dist/esm/Checkbox/style/index.js +0 -3
  41. package/dist/esm/Checkbox.js +0 -8
  42. package/dist/esm/CheckboxGroup/style/index.js +0 -2
  43. package/dist/esm/CheckboxGroup.js +0 -113
  44. package/dist/esm/CircleProgress/style/index.js +0 -2
  45. package/dist/esm/CircleProgress.js +0 -116
  46. package/dist/esm/Col/style/index.js +0 -2
  47. package/dist/esm/Col.js +0 -58
  48. package/dist/esm/Collapse/style/index.js +0 -2
  49. package/dist/esm/Collapse.js +0 -99
  50. package/dist/esm/CollapseItem/style/index.js +0 -2
  51. package/dist/esm/CollapseItem.js +0 -148
  52. package/dist/esm/ConfigProvider/style/index.js +0 -2
  53. package/dist/esm/ConfigProvider.js +0 -187
  54. package/dist/esm/CountDown/style/index.js +0 -2
  55. package/dist/esm/CountDown.js +0 -247
  56. package/dist/esm/DatePicker/style/index.js +0 -2
  57. package/dist/esm/DatePicker.js +0 -310
  58. package/dist/esm/Dialog/style/index.js +0 -3
  59. package/dist/esm/Dialog.js +0 -296
  60. package/dist/esm/Divider/style/index.js +0 -2
  61. package/dist/esm/Divider.js +0 -36
  62. package/dist/esm/Drag/style/index.js +0 -2
  63. package/dist/esm/Drag.js +0 -120
  64. package/dist/esm/Elevator/style/index.js +0 -2
  65. package/dist/esm/Elevator.js +0 -236
  66. package/dist/esm/Ellipsis/style/index.js +0 -2
  67. package/dist/esm/Ellipsis.js +0 -177
  68. package/dist/esm/Empty/style/index.js +0 -2
  69. package/dist/esm/Empty.js +0 -82
  70. package/dist/esm/FixedNav/style/index.js +0 -3
  71. package/dist/esm/FixedNav.js +0 -105
  72. package/dist/esm/Form/style/index.js +0 -2
  73. package/dist/esm/Form.js +0 -221
  74. package/dist/esm/FormItem/style/index.js +0 -2
  75. package/dist/esm/FormItem.js +0 -5
  76. package/dist/esm/Grid/style/index.js +0 -2
  77. package/dist/esm/Grid.js +0 -83
  78. package/dist/esm/GridItem/style/index.js +0 -2
  79. package/dist/esm/GridItem.js +0 -125
  80. package/dist/esm/Icon/style/index.js +0 -4
  81. package/dist/esm/Icon.js +0 -5
  82. package/dist/esm/Image/style/index.js +0 -2
  83. package/dist/esm/Image.js +0 -170
  84. package/dist/esm/ImagePreview/style/index.js +0 -4
  85. package/dist/esm/ImagePreview.js +0 -226
  86. package/dist/esm/Indicator/style/index.js +0 -2
  87. package/dist/esm/Indicator.js +0 -52
  88. package/dist/esm/Infiniteloading/style/index.js +0 -2
  89. package/dist/esm/Infiniteloading.js +0 -217
  90. package/dist/esm/Input/style/index.js +0 -2
  91. package/dist/esm/Input.js +0 -363
  92. package/dist/esm/InputNumber/style/index.js +0 -2
  93. package/dist/esm/InputNumber.js +0 -277
  94. package/dist/esm/Layout/style/index.js +0 -2
  95. package/dist/esm/Layout.js +0 -14
  96. package/dist/esm/Menu/style/index.js +0 -3
  97. package/dist/esm/Menu.js +0 -154
  98. package/dist/esm/MenuItem/style/index.js +0 -3
  99. package/dist/esm/MenuItem.js +0 -177
  100. package/dist/esm/NavBar/style/index.js +0 -2
  101. package/dist/esm/NavBar.js +0 -116
  102. package/dist/esm/NoticeBar/style/index.js +0 -2
  103. package/dist/esm/NoticeBar.js +0 -570
  104. package/dist/esm/Notify/style/index.js +0 -2
  105. package/dist/esm/Notify.js +0 -236
  106. package/dist/esm/NumberKeyboard/style/index.js +0 -2
  107. package/dist/esm/NumberKeyboard.js +0 -249
  108. package/dist/esm/Overlay/style/index.js +0 -2
  109. package/dist/esm/Overlay.js +0 -6
  110. package/dist/esm/Pagination/style/index.js +0 -2
  111. package/dist/esm/Pagination.js +0 -170
  112. package/dist/esm/Picker/style/index.js +0 -2
  113. package/dist/esm/Picker.js +0 -496
  114. package/dist/esm/Popover/style/index.js +0 -3
  115. package/dist/esm/Popover.js +0 -225
  116. package/dist/esm/Popup/style/index.js +0 -3
  117. package/dist/esm/Popup.js +0 -195
  118. package/dist/esm/Price/style/index.js +0 -2
  119. package/dist/esm/Price.js +0 -86
  120. package/dist/esm/Progress/style/index.js +0 -2
  121. package/dist/esm/Progress.js +0 -124
  122. package/dist/esm/PullToRefresh/style/index.js +0 -2
  123. package/dist/esm/PullToRefresh.js +0 -277
  124. package/dist/esm/Radio/style/index.js +0 -3
  125. package/dist/esm/Radio.js +0 -6
  126. package/dist/esm/RadioGroup/style/index.js +0 -2
  127. package/dist/esm/RadioGroup.js +0 -123
  128. package/dist/esm/Range/style/index.js +0 -2
  129. package/dist/esm/Range.js +0 -407
  130. package/dist/esm/Rate/style/index.js +0 -2
  131. package/dist/esm/Rate.js +0 -123
  132. package/dist/esm/Row/style/index.js +0 -2
  133. package/dist/esm/Row.js +0 -50
  134. package/dist/esm/SearchBar/style/index.js +0 -2
  135. package/dist/esm/SearchBar.js +0 -237
  136. package/dist/esm/ShortPassword/style/index.js +0 -3
  137. package/dist/esm/ShortPassword.js +0 -193
  138. package/dist/esm/SideNavBar/style/index.js +0 -2
  139. package/dist/esm/SideNavBar.js +0 -58
  140. package/dist/esm/SideNavBarItem/style/index.js +0 -2
  141. package/dist/esm/SideNavBarItem.js +0 -25
  142. package/dist/esm/Signature/style/index.js +0 -2
  143. package/dist/esm/Signature.js +0 -155
  144. package/dist/esm/Skeleton/style/index.js +0 -2
  145. package/dist/esm/Skeleton.js +0 -100
  146. package/dist/esm/Step/style/index.js +0 -2
  147. package/dist/esm/Step.js +0 -89
  148. package/dist/esm/Steps/style/index.js +0 -2
  149. package/dist/esm/Steps.js +0 -40
  150. package/dist/esm/Sticky/style/index.js +0 -2
  151. package/dist/esm/Sticky.js +0 -192
  152. package/dist/esm/SubSideNavBar/style/index.js +0 -2
  153. package/dist/esm/SubSideNavBar.js +0 -79
  154. package/dist/esm/Swipe/style/index.js +0 -2
  155. package/dist/esm/Swipe.js +0 -232
  156. package/dist/esm/Swiper/style/index.js +0 -2
  157. package/dist/esm/Swiper.js +0 -492
  158. package/dist/esm/SwiperItem/style/index.js +0 -2
  159. package/dist/esm/SwiperItem.js +0 -38
  160. package/dist/esm/Switch/style/index.js +0 -2
  161. package/dist/esm/Switch.js +0 -73
  162. package/dist/esm/TabPane/style/index.js +0 -2
  163. package/dist/esm/TabPane.js +0 -6
  164. package/dist/esm/Tabbar/style/index.js +0 -2
  165. package/dist/esm/Tabbar.js +0 -70
  166. package/dist/esm/TabbarItem/style/index.js +0 -2
  167. package/dist/esm/TabbarItem.js +0 -80
  168. package/dist/esm/Table/style/index.js +0 -2
  169. package/dist/esm/Table.js +0 -142
  170. package/dist/esm/Tabs/style/index.js +0 -4
  171. package/dist/esm/Tabs.js +0 -9
  172. package/dist/esm/Tag/style/index.js +0 -2
  173. package/dist/esm/Tag.js +0 -111
  174. package/dist/esm/TextArea/style/index.js +0 -2
  175. package/dist/esm/TextArea.js +0 -150
  176. package/dist/esm/TimeDetail/style/index.js +0 -2
  177. package/dist/esm/TimeDetail.js +0 -69
  178. package/dist/esm/TimePannel/style/index.js +0 -2
  179. package/dist/esm/TimePannel.js +0 -31
  180. package/dist/esm/TimeSelect/style/index.js +0 -4
  181. package/dist/esm/TimeSelect.js +0 -173
  182. package/dist/esm/Toast/style/index.js +0 -2
  183. package/dist/esm/Toast.js +0 -271
  184. package/dist/esm/TrendArrow/style/index.js +0 -2
  185. package/dist/esm/TrendArrow.js +0 -101
  186. package/dist/esm/Uploader/style/index.js +0 -4
  187. package/dist/esm/Uploader.js +0 -566
  188. package/dist/esm/UserContext-101ad4a4.js +0 -3
  189. package/dist/esm/UserContext-2629d479.js +0 -3
  190. package/dist/esm/UserContext-b33bcf21.js +0 -3
  191. package/dist/esm/Video/style/index.js +0 -2
  192. package/dist/esm/Video.js +0 -92
  193. package/dist/esm/VirtualList/style/index.js +0 -2
  194. package/dist/esm/VirtualList.js +0 -315
  195. package/dist/esm/WaterMark/style/index.js +0 -2
  196. package/dist/esm/WaterMark.js +0 -113
  197. package/dist/esm/bem-3b438e61.js +0 -8
  198. package/dist/esm/cellgroup-fcc72767.js +0 -34
  199. package/dist/esm/checkbox-44e13cd0.js +0 -137
  200. package/dist/esm/date-c7aad4c0.js +0 -97
  201. package/dist/esm/formitem-8a73a5fb.js +0 -157
  202. package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
  203. package/dist/esm/grid.context-2ee27d95.js +0 -6
  204. package/dist/esm/icon-4ef1581c.js +0 -70
  205. package/dist/esm/index-030b7245.js +0 -11
  206. package/dist/esm/nutui-react.es.js +0 -94
  207. package/dist/esm/offsetContext-3ab00d40.js +0 -16
  208. package/dist/esm/overlay-de6c79d5.js +0 -83
  209. package/dist/esm/radio-9f141e6b.js +0 -118
  210. package/dist/esm/render-bbebb760.js +0 -79
  211. package/dist/esm/tabpane-01075e6c.js +0 -29
  212. package/dist/esm/tabs-e1b4e4b1.js +0 -181
  213. package/dist/esm/typings-f27b58f4.js +0 -8
  214. package/dist/esm/useClientRect-56bb675b.js +0 -39
  215. package/dist/esm/useTouch-cf73a407.js +0 -99
  216. package/dist/locales/base.d.ts +0 -129
  217. package/dist/locales/base.js +0 -5
  218. package/dist/locales/en-US.d.ts +0 -3
  219. package/dist/locales/en-US.js +0 -135
  220. package/dist/locales/id-ID.d.ts +0 -3
  221. package/dist/locales/id-ID.js +0 -135
  222. package/dist/locales/zh-CN.d.ts +0 -3
  223. package/dist/locales/zh-CN.js +0 -137
  224. package/dist/locales/zh-TW.d.ts +0 -3
  225. package/dist/locales/zh-TW.js +0 -135
  226. package/dist/locales/zh-UG.d.ts +0 -3
  227. package/dist/locales/zh-UG.js +0 -135
  228. package/dist/packages/actionsheet/actionsheet.scss +0 -103
  229. package/dist/packages/address/address.scss +0 -243
  230. package/dist/packages/animate/animate.scss +0 -284
  231. package/dist/packages/animatingnumbers/animatingnumbers.scss +0 -0
  232. package/dist/packages/animatingnumbers/countup.scss +0 -45
  233. package/dist/packages/audio/audio.scss +0 -93
  234. package/dist/packages/avatar/avatar.scss +0 -58
  235. package/dist/packages/avatargroup/avatargroup.scss +0 -14
  236. package/dist/packages/backtop/backtop.scss +0 -29
  237. package/dist/packages/badge/badge.scss +0 -53
  238. package/dist/packages/barrage/barrage.scss +0 -60
  239. package/dist/packages/button/button.scss +0 -245
  240. package/dist/packages/calendar/calendar.scss +0 -265
  241. package/dist/packages/calendaritem/calendaritem.scss +0 -0
  242. package/dist/packages/card/card.scss +0 -83
  243. package/dist/packages/cascader/cascader.scss +0 -108
  244. package/dist/packages/cell/cell.scss +0 -107
  245. package/dist/packages/cellgroup/cellgroup.scss +0 -46
  246. package/dist/packages/checkbox/checkbox.scss +0 -49
  247. package/dist/packages/checkboxgroup/checkboxgroup.scss +0 -33
  248. package/dist/packages/circleprogress/circleprogress.scss +0 -33
  249. package/dist/packages/col/col.scss +0 -24
  250. package/dist/packages/collapse/collapse.scss +0 -0
  251. package/dist/packages/collapseitem/collapseitem.scss +0 -161
  252. package/dist/packages/configprovider/configprovider.scss +0 -0
  253. package/dist/packages/countdown/countdown.scss +0 -3
  254. package/dist/packages/datepicker/datepicker.scss +0 -0
  255. package/dist/packages/dialog/dialog.scss +0 -135
  256. package/dist/packages/divider/divider.scss +0 -73
  257. package/dist/packages/drag/drag.scss +0 -10
  258. package/dist/packages/elevator/elevator.scss +0 -124
  259. package/dist/packages/ellipsis/ellipsis.scss +0 -17
  260. package/dist/packages/empty/empty.scss +0 -42
  261. package/dist/packages/fixednav/fixednav.scss +0 -141
  262. package/dist/packages/form/form.scss +0 -31
  263. package/dist/packages/formitem/formitem.scss +0 -100
  264. package/dist/packages/grid/grid.scss +0 -10
  265. package/dist/packages/griditem/griditem.scss +0 -108
  266. package/dist/packages/icon/icon.scss +0 -132
  267. package/dist/packages/image/image.scss +0 -53
  268. package/dist/packages/imagepreview/imagepreview.scss +0 -51
  269. package/dist/packages/indicator/indicator.scss +0 -70
  270. package/dist/packages/infiniteloading/infiniteloading.scss +0 -69
  271. package/dist/packages/input/input.scss +0 -203
  272. package/dist/packages/inputnumber/inputnumber.scss +0 -79
  273. package/dist/packages/layout/layout.scss +0 -2
  274. package/dist/packages/menu/menu.scss +0 -75
  275. package/dist/packages/menuitem/menuitem.scss +0 -120
  276. package/dist/packages/navbar/navbar.scss +0 -185
  277. package/dist/packages/noticebar/noticebar.scss +0 -156
  278. package/dist/packages/notify/notify.scss +0 -93
  279. package/dist/packages/numberkeyboard/numberkeyboard.scss +0 -147
  280. package/dist/packages/overlay/overlay.scss +0 -75
  281. package/dist/packages/pagination/pagination.scss +0 -81
  282. package/dist/packages/picker/picker.scss +0 -225
  283. package/dist/packages/popover/popover.scss +0 -288
  284. package/dist/packages/popup/popup.scss +0 -201
  285. package/dist/packages/price/price.scss +0 -37
  286. package/dist/packages/progress/progress.scss +0 -114
  287. package/dist/packages/pulltorefresh/pulltorefresh.scss +0 -26
  288. package/dist/packages/radio/radio.scss +0 -84
  289. package/dist/packages/radiogroup/radiogroup.scss +0 -86
  290. package/dist/packages/range/range.scss +0 -224
  291. package/dist/packages/rate/rate.scss +0 -36
  292. package/dist/packages/row/row.scss +0 -83
  293. package/dist/packages/searchbar/searchbar.scss +0 -146
  294. package/dist/packages/shortpassword/shortpassword.scss +0 -203
  295. package/dist/packages/sidenavbar/sidenavbar.scss +0 -100
  296. package/dist/packages/sidenavbaritem/sidenavbaritem.scss +0 -25
  297. package/dist/packages/signature/signature.scss +0 -39
  298. package/dist/packages/skeleton/skeleton.scss +0 -70
  299. package/dist/packages/step/step.scss +0 -274
  300. package/dist/packages/steps/steps.scss +0 -7
  301. package/dist/packages/sticky/sticky.scss +0 -3
  302. package/dist/packages/subsidenavbar/subsidenavbar.scss +0 -35
  303. package/dist/packages/swipe/swipe.scss +0 -33
  304. package/dist/packages/swiper/swiper.scss +0 -45
  305. package/dist/packages/swiperitem/swiperitem.scss +0 -3
  306. package/dist/packages/switch/switch.scss +0 -87
  307. package/dist/packages/tabbar/tabbar.scss +0 -46
  308. package/dist/packages/tabbaritem/tabbaritem.scss +0 -97
  309. package/dist/packages/table/table.scss +0 -152
  310. package/dist/packages/tabpane/tabpane.scss +0 -23
  311. package/dist/packages/tabs/tabs.scss +0 -284
  312. package/dist/packages/tag/tag.scss +0 -67
  313. package/dist/packages/textarea/textarea.scss +0 -60
  314. package/dist/packages/timedetail/timedetail.scss +0 -45
  315. package/dist/packages/timepannel/timepannel.scss +0 -17
  316. package/dist/packages/timeselect/timeselect.scss +0 -73
  317. package/dist/packages/toast/toast.scss +0 -98
  318. package/dist/packages/trendarrow/trendarrow.scss +0 -17
  319. package/dist/packages/uploader/uploader.scss +0 -237
  320. package/dist/packages/video/video.scss +0 -18
  321. package/dist/packages/virtuallist/virtuallist.scss +0 -87
  322. package/dist/packages/watermark/watermark.scss +0 -13
  323. package/dist/style.css +0 -1
  324. package/dist/style.mjs +0 -9
  325. package/dist/styles/animation/drop.scss +0 -24
  326. package/dist/styles/animation/ease.scss +0 -23
  327. package/dist/styles/animation/fade.scss +0 -20
  328. package/dist/styles/animation/icon.scss +0 -245
  329. package/dist/styles/animation/index.scss +0 -7
  330. package/dist/styles/animation/rotate.scss +0 -10
  331. package/dist/styles/animation/zoom.scss +0 -26
  332. package/dist/styles/font/config.json +0 -175
  333. package/dist/styles/font/demo.css +0 -539
  334. package/dist/styles/font/demo_index.html +0 -3063
  335. package/dist/styles/font/iconfont.css +0 -515
  336. package/dist/styles/font/iconfont.eot +0 -0
  337. package/dist/styles/font/iconfont.js +0 -68
  338. package/dist/styles/font/iconfont.json +0 -884
  339. package/dist/styles/font/iconfont.svg +0 -356
  340. package/dist/styles/font/iconfont.ttf +0 -0
  341. package/dist/styles/font/iconfont.woff +0 -0
  342. package/dist/styles/font/iconfont.woff2 +0 -0
  343. package/dist/styles/mixins/index.scss +0 -2
  344. package/dist/styles/mixins/make-animation.scss +0 -24
  345. package/dist/styles/mixins/text-ellipsis.scss +0 -20
  346. package/dist/styles/theme-dark.scss +0 -26
  347. package/dist/styles/theme-default.scss +0 -40
  348. package/dist/styles/themes/default.scss +0 -97
  349. package/dist/styles/variables.scss +0 -2610
  350. package/dist/types/index.d.ts +0 -2198
@@ -1,496 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
- var _excluded = ["isVisible", "title", "listData", "defaultValueData", "onConfirm", "onClose", "onCloseUpdate", "onChange", "className", "style", "threeDimensional", "swipeDuration"];
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
- import React__default, { useState, useRef, useEffect, useImperativeHandle } from 'react';
9
- import Popup from './Popup.js';
10
- import { u as useTouch } from './useTouch-cf73a407.js';
11
- import { useConfig } from './ConfigProvider.js';
12
- import { c as cn } from './bem-3b438e61.js';
13
- import '@bem-react/classname';
14
- var InternalPickerSlot = function InternalPickerSlot(props, ref) {
15
- var _props$keyIndex = props.keyIndex,
16
- keyIndex = _props$keyIndex === void 0 ? 0 : _props$keyIndex,
17
- defaultValue = props.defaultValue,
18
- _props$listData = props.listData,
19
- listData = _props$listData === void 0 ? [] : _props$listData,
20
- _props$threeDimension = props.threeDimensional,
21
- threeDimensional = _props$threeDimension === void 0 ? true : _props$threeDimension,
22
- _props$swipeDuration = props.swipeDuration,
23
- swipeDuration = _props$swipeDuration === void 0 ? 1000 : _props$swipeDuration,
24
- chooseItem = props.chooseItem;
25
- var touch = useTouch();
26
- var DEFAULT_DURATION = 200;
27
- // 触发惯性滑动条件:
28
- // 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_TIME` 且 move
29
- // 距离大于 `MOMENTUM_DISTANCE` 时,执行惯性滑动
30
- var INERTIA_TIME = 300;
31
- var INERTIA_DISTANCE = 15;
32
- var _useState = useState(1),
33
- _useState2 = _slicedToArray(_useState, 2),
34
- currIndex = _useState2[0],
35
- setCurrIndex = _useState2[1];
36
- var lineSpacing = 36;
37
- var _useState3 = useState(0),
38
- _useState4 = _slicedToArray(_useState3, 2),
39
- touchTime = _useState4[0],
40
- setTouchTime = _useState4[1];
41
- var _useState5 = useState('0deg'),
42
- _useState6 = _slicedToArray(_useState5, 2),
43
- touchDeg = _useState6[0],
44
- setTouchDeg = _useState6[1];
45
- var rotation = 20;
46
- var moving = useRef(false);
47
- var timer;
48
- var rollerRef = useRef(null);
49
- var pickerSlotRef = useRef(null);
50
- var _useState7 = useState(0),
51
- _useState8 = _slicedToArray(_useState7, 2),
52
- startTime = _useState8[0],
53
- setStartTime = _useState8[1];
54
- var _useState9 = useState(0),
55
- _useState10 = _slicedToArray(_useState9, 2),
56
- startY = _useState10[0],
57
- setStartY = _useState10[1];
58
- var transformY = useRef(0);
59
- var _useState11 = useState(0),
60
- _useState12 = _slicedToArray(_useState11, 2),
61
- scrollDistance = _useState12[0],
62
- setScrollDistance = _useState12[1];
63
- var isHidden = function isHidden(index) {
64
- if (index >= currIndex + 8 || index <= currIndex - 8) {
65
- return true;
66
- }
67
- return false;
68
- };
69
- var setTransform = function setTransform() {
70
- var translateY = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
71
- var type = arguments.length > 1 ? arguments[1] : undefined;
72
- var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_DURATION;
73
- var deg = arguments.length > 3 ? arguments[3] : undefined;
74
- var nTime = time;
75
- if (type !== 'end') {
76
- nTime = 0;
77
- }
78
- setTouchTime(nTime);
79
- setTouchDeg(deg);
80
- setScrollDistance(translateY);
81
- };
82
- var setMove = function setMove(move, type, time) {
83
- var updateMove = move + transformY.current;
84
- if (type === 'end') {
85
- // 限定滚动距离
86
- if (updateMove > 0) {
87
- updateMove = 0;
88
- }
89
- if (updateMove < -(listData.length - 1) * lineSpacing) {
90
- updateMove = -(listData.length - 1) * lineSpacing;
91
- }
92
- // 设置滚动距离为lineSpacing的倍数值
93
- var endMove = Math.round(updateMove / lineSpacing) * lineSpacing;
94
- var deg = "".concat((Math.abs(Math.round(endMove / lineSpacing)) + 1) * rotation, "deg");
95
- setTransform(endMove, type, time, deg);
96
- setCurrIndex(Math.abs(Math.round(endMove / lineSpacing)) + 1);
97
- } else {
98
- var _deg = 0;
99
- var currentDeg = (-updateMove / lineSpacing + 1) * rotation;
100
- // picker 滚动的最大角度
101
- var maxDeg = (listData.length + 1) * rotation;
102
- var minDeg = 0;
103
- _deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
104
- if (minDeg < _deg && _deg < maxDeg) {
105
- setTransform(updateMove, '', undefined, "".concat(_deg, "deg"));
106
- setCurrIndex(Math.abs(Math.round(updateMove / lineSpacing)) + 1);
107
- }
108
- }
109
- };
110
- var setChooseValue = function setChooseValue(move) {
111
- chooseItem && chooseItem(listData === null || listData === void 0 ? void 0 : listData[Math.round(-move / lineSpacing)], keyIndex);
112
- };
113
- // 开始滚动
114
- var touchStart = function touchStart(event) {
115
- touch.start(event);
116
- setStartY(touch.deltaY);
117
- setStartTime(Date.now());
118
- transformY.current = scrollDistance;
119
- };
120
- var touchMove = function touchMove(event) {
121
- touch.move(event);
122
- if (touch.isVertical) {
123
- moving.current = true;
124
- preventDefault(event, true);
125
- }
126
- var move = touch.deltaY - startY;
127
- setMove(move);
128
- };
129
- var touchEnd = function touchEnd(event) {
130
- if (!moving.current) return;
131
- var move = touch.deltaY - startY;
132
- var moveTime = Date.now() - startTime;
133
- // 区分是否为惯性滚动
134
- if (moveTime <= INERTIA_TIME && Math.abs(move) > INERTIA_DISTANCE) {
135
- // 惯性滚动
136
- var distance = momentum(move, moveTime);
137
- setMove(distance, 'end', +swipeDuration);
138
- } else {
139
- setMove(move, 'end');
140
- }
141
- setTimeout(function () {
142
- // moving.current = false
143
- touch.reset();
144
- }, 0);
145
- };
146
- // 惯性滚动 距离
147
- var momentum = function momentum(distance, duration) {
148
- var nDistance = distance;
149
- // 惯性滚动的速度
150
- var speed = Math.abs(nDistance / duration);
151
- // 惯性滚动的距离
152
- nDistance = speed / 0.003 * (nDistance < 0 ? -1 : 1);
153
- return nDistance;
154
- };
155
- var modifyStatus = function modifyStatus(type, val) {
156
- var value = val || defaultValue;
157
- var index = -1;
158
- if (value) {
159
- listData.some(function (item, idx) {
160
- if (item.value === value) {
161
- index = idx;
162
- return true;
163
- }
164
- return false;
165
- });
166
- } else {
167
- listData.forEach(function (item, i) {
168
- if (item.value === defaultValue) {
169
- index = i;
170
- }
171
- });
172
- }
173
- setCurrIndex(index === -1 ? 1 : index + 1);
174
- var move = index === -1 ? 0 : index * lineSpacing;
175
- type && setChooseValue(-move);
176
- setMove(-move);
177
- };
178
- // 惯性滚动结束
179
- var stopMomentum = function stopMomentum() {
180
- moving.current = false;
181
- setTouchTime(0);
182
- setChooseValue(scrollDistance);
183
- };
184
- // 阻止默认事件
185
- var preventDefault = function preventDefault(event, isStopPropagation) {
186
- /* istanbul ignore else */
187
- if (typeof event.cancelable !== 'boolean' || event.cancelable) {
188
- event.preventDefault();
189
- }
190
- if (isStopPropagation) {
191
- event.stopPropagation();
192
- }
193
- };
194
- var touchRollerStyle = function touchRollerStyle() {
195
- return {
196
- transition: "transform ".concat(touchTime, "ms cubic-bezier(0.17, 0.89, 0.45, 1)"),
197
- transform: "rotate3d(1, 0, 0, ".concat(touchDeg, ")")
198
- };
199
- };
200
- var touchTileStyle = function touchTileStyle() {
201
- return {
202
- transition: "transform ".concat(touchTime, "ms cubic-bezier(0.17, 0.89, 0.45, 1)"),
203
- transform: "translate3d(0, ".concat(scrollDistance, "px, 0)")
204
- };
205
- };
206
- useEffect(function () {
207
- setScrollDistance(0);
208
- transformY.current = 0;
209
- modifyStatus(false);
210
- return function () {
211
- clearTimeout(timer);
212
- };
213
- }, [listData]);
214
- useImperativeHandle(ref, function () {
215
- return {
216
- stopMomentum: stopMomentum,
217
- moving: moving.current
218
- };
219
- });
220
- return React__default.createElement("div", {
221
- className: "nut-picker-list",
222
- ref: pickerSlotRef,
223
- onTouchStart: touchStart,
224
- onTouchMove: touchMove,
225
- onTouchEnd: touchEnd
226
- }, React__default.createElement("div", {
227
- className: "nut-picker-roller",
228
- ref: rollerRef,
229
- style: threeDimensional ? touchRollerStyle() : touchTileStyle(),
230
- onTransitionEnd: stopMomentum
231
- }, threeDimensional && listData.map(function (item, index) {
232
- return React__default.createElement("div", {
233
- className: "nut-picker-roller-item ".concat(isHidden(index + 1) && 'nut-picker-roller-item-hidden'),
234
- style: {
235
- transform: "rotate3d(1, 0, 0, ".concat(-rotation * (index + 1), "deg) translate3d(0px, 0px, 104px)")
236
- },
237
- key: item.value ? item.value : index
238
- }, React__default.createElement(React__default.Fragment, null, item.text ? item.text : item));
239
- }), !threeDimensional && listData.map(function (item, index) {
240
- return React__default.createElement("div", {
241
- className: "nut-picker-roller-item-title",
242
- key: item.value ? item.value : index
243
- }, React__default.createElement(React__default.Fragment, null, item.text ? item.text : item));
244
- })), React__default.createElement("div", {
245
- className: "nut-picker-mask"
246
- }), React__default.createElement("div", {
247
- className: "nut-picker-indicator"
248
- }));
249
- };
250
- var PickerSlot = React__default.forwardRef(InternalPickerSlot);
251
- function useRefs() {
252
- var refs = React__default.useRef([]);
253
- var setRefs = React__default.useCallback(function (index) {
254
- return function (el) {
255
- if (el) refs.current[index] = el;
256
- };
257
- }, []);
258
- var reset = React__default.useCallback(function () {
259
- refs.current = [];
260
- }, []);
261
- return [refs.current, setRefs, reset];
262
- }
263
- var InternalPicker = function InternalPicker(props, ref) {
264
- var _useConfig = useConfig(),
265
- locale = _useConfig.locale;
266
- var isVisible = props.isVisible,
267
- title = props.title,
268
- _props$listData2 = props.listData,
269
- listData = _props$listData2 === void 0 ? [] : _props$listData2,
270
- defaultValueData = props.defaultValueData,
271
- onConfirm = props.onConfirm,
272
- onClose = props.onClose,
273
- onCloseUpdate = props.onCloseUpdate,
274
- onChange = props.onChange,
275
- className = props.className,
276
- style = props.style,
277
- threeDimensional = props.threeDimensional,
278
- swipeDuration = props.swipeDuration,
279
- rest = _objectWithoutProperties(props, _excluded);
280
- var _useState13 = useState([]),
281
- _useState14 = _slicedToArray(_useState13, 2),
282
- chooseValueData = _useState14[0],
283
- setchooseValueData = _useState14[1]; // 选择的数据的 value 值, 每一条数据的 value 值
284
- var _useState15 = useState(0),
285
- _useState16 = _slicedToArray(_useState15, 2),
286
- columnIndex = _useState16[0],
287
- setcolumnIndex = _useState16[1]; // 选中列
288
- var pickerRef = useRef(null);
289
- var _useRefs = useRefs(),
290
- _useRefs2 = _slicedToArray(_useRefs, 2),
291
- refs = _useRefs2[0],
292
- setRefs = _useRefs2[1];
293
- var _useState17 = useState([]),
294
- _useState18 = _slicedToArray(_useState17, 2),
295
- columnsList = _useState18[0],
296
- setColumnsList = _useState18[1]; // 格式化后每一列的数据
297
- var b = cn('picker');
298
- var isConfirmEvent = useRef(false);
299
- // 默认值修改
300
- useEffect(function () {
301
- if (defaultValueData && defaultValueData.length !== 0 && defaultValueData.toString() !== chooseValueData.toString()) {
302
- var data = _toConsumableArray(defaultValueData);
303
- setchooseValueData(data);
304
- setColumnsList(normalListData());
305
- }
306
- }, [defaultValueData]);
307
- // 选中值进行修改
308
- useEffect(function () {
309
- onChange && onChange(columnIndex, chooseValueData, selectedOptions());
310
- if (isConfirmEvent.current) {
311
- isConfirmEvent.current = false;
312
- onConfirm && onConfirm(chooseValueData, selectedOptions());
313
- }
314
- }, [chooseValueData]);
315
- // 列表格式修改
316
- useEffect(function () {
317
- init();
318
- }, [listData]);
319
- var closeActionSheet = function closeActionSheet() {
320
- onClose && onClose(chooseValueData, selectedOptions());
321
- onCloseUpdate && onCloseUpdate(chooseValueData, selectedOptions(), pickerRef);
322
- };
323
- // 点击确定
324
- var confirm = function confirm() {
325
- var movings = false;
326
- refs.forEach(function (_ref) {
327
- if (_ref.moving) movings = true;
328
- _ref.stopMomentum();
329
- });
330
- if (movings) {
331
- isConfirmEvent.current = true;
332
- } else {
333
- onConfirm && onConfirm(chooseValueData, selectedOptions());
334
- }
335
- onClose && onClose(chooseValueData, selectedOptions());
336
- setTimeout(function () {
337
- isConfirmEvent.current = false;
338
- }, 0);
339
- };
340
- var selectedOptions = function selectedOptions() {
341
- var optins = [];
342
- columnsList.map(function (column, index) {
343
- var currOptions = [];
344
- currOptions = column.filter(function (item) {
345
- return item.value === chooseValueData[index];
346
- });
347
- if (currOptions[0]) {
348
- optins.push(currOptions[0]);
349
- } else {
350
- column[0] && optins.push(column[0]);
351
- }
352
- return column;
353
- });
354
- return optins;
355
- };
356
- // 选择每一列的数据
357
- var _chooseItem = function chooseItem(option, columnIndex) {
358
- if (option && Object.keys(option).length) {
359
- // 是否移动后是否与之前有差异
360
- if (chooseValueData[columnIndex] !== option.value) {
361
- if (columnsType() === 'cascade') {
362
- chooseValueData[columnIndex] = option.value ? option.value : '';
363
- setchooseValueData(_toConsumableArray(chooseValueData));
364
- var index = columnIndex;
365
- var cursor = option;
366
- while (cursor && cursor.children && cursor.children[0]) {
367
- chooseValueData[index + 1] = cursor.children[0].value;
368
- setchooseValueData(_toConsumableArray(chooseValueData));
369
- index++;
370
- var cc = cursor.children[0];
371
- cursor = cc;
372
- }
373
- // 当前改变列的下一列 children 值为空
374
- if (cursor && cursor.children) {
375
- chooseValueData[index + 1] = '';
376
- setchooseValueData(_toConsumableArray(chooseValueData));
377
- }
378
- setColumnsList(normalListData());
379
- } else {
380
- setchooseValueData(function (data) {
381
- var cdata = _toConsumableArray(data);
382
- cdata[columnIndex] = Object.prototype.hasOwnProperty.call(option, 'value') ? option.value : '';
383
- return cdata;
384
- });
385
- }
386
- setcolumnIndex(columnIndex);
387
- }
388
- }
389
- };
390
- // 传入的数据格式化
391
- var normalListData = function normalListData() {
392
- var type = columnsType();
393
- switch (type) {
394
- case 'multiple':
395
- return listData;
396
- case 'cascade':
397
- // 级联数据处理
398
- return formatCascade(listData, chooseValueData);
399
- default:
400
- return [listData];
401
- }
402
- };
403
- // 每一列的类型
404
- var columnsType = function columnsType() {
405
- var firstColumn = listData[0];
406
- if (firstColumn) {
407
- if (Array.isArray(firstColumn)) {
408
- return 'multiple';
409
- }
410
- if ('children' in firstColumn) {
411
- return 'cascade';
412
- }
413
- }
414
- return 'single';
415
- };
416
- // 级联数据格式化
417
- var formatCascade = function formatCascade(columns, defaultValues) {
418
- var formatted = [];
419
- var cursor = {
420
- text: '',
421
- value: '',
422
- children: columns
423
- };
424
- var columnIndex = 0;
425
- var _loop = function _loop() {
426
- var options = cursor.children;
427
- var value = defaultValues[columnIndex];
428
- var index = options.findIndex(function (columnItem) {
429
- return columnItem.value === value;
430
- });
431
- if (index === -1) index = 0;
432
- cursor = cursor.children[index];
433
- columnIndex++;
434
- formatted.push(options);
435
- };
436
- while (cursor && cursor.children) {
437
- _loop();
438
- }
439
- return formatted;
440
- };
441
- var init = function init() {
442
- var data = [];
443
- var normalData = normalListData();
444
- setColumnsList(normalData);
445
- normalData.length > 0 && normalData.map(function (item) {
446
- item[0] && data.push(item[0].value);
447
- return item;
448
- });
449
- if (!defaultValueData && chooseValueData.length === 0) {
450
- setchooseValueData([].concat(data));
451
- }
452
- };
453
- var renderToolbar = function renderToolbar() {
454
- return React__default.createElement("div", {
455
- className: b('control')
456
- }, React__default.createElement("span", {
457
- className: b('cancel-btn'),
458
- onClick: function onClick() {
459
- return closeActionSheet();
460
- }
461
- }, locale.cancel), React__default.createElement("div", {
462
- className: b('title')
463
- }, title || ''), React__default.createElement("span", {
464
- className: b('confirm-btn'),
465
- onClick: confirm
466
- }, locale.confirm));
467
- };
468
- return React__default.createElement(Popup, {
469
- visible: isVisible,
470
- position: "bottom",
471
- onClose: function onClose() {
472
- closeActionSheet();
473
- }
474
- }, React__default.createElement("div", _objectSpread({
475
- className: "".concat(b(), " ").concat(className || ''),
476
- style: style
477
- }, rest), renderToolbar(), React__default.createElement("div", {
478
- className: b('panel'),
479
- ref: pickerRef
480
- }, columnsList === null || columnsList === void 0 ? void 0 : columnsList.map(function (item, index) {
481
- return React__default.createElement(PickerSlot, {
482
- ref: setRefs(index),
483
- defaultValue: chooseValueData === null || chooseValueData === void 0 ? void 0 : chooseValueData[index],
484
- listData: item,
485
- threeDimensional: threeDimensional,
486
- chooseItem: function chooseItem(value, index) {
487
- return _chooseItem(value, index);
488
- },
489
- swipeDuration: swipeDuration,
490
- key: index,
491
- keyIndex: index
492
- });
493
- }))));
494
- };
495
- var Picker = React__default.forwardRef(InternalPicker);
496
- export { Picker as default };
@@ -1,3 +0,0 @@
1
- import '../../Icon/style'
2
- import '../../Overlay/style'
3
- import '../../../packages/popover/popover.scss'