@nutui/nutui 3.3.1 → 4.0.0-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 (527) hide show
  1. package/README.md +2 -2
  2. package/dist/{nutui.es.js → nutui.js} +3863 -3683
  3. package/dist/{nutui.umd.js → nutui.umd.cjs} +3776 -3703
  4. package/dist/packages/_es/ActionSheet.js +72 -65
  5. package/dist/packages/_es/Address.js +77 -72
  6. package/dist/packages/_es/AddressList.js +41 -34
  7. package/dist/packages/_es/Animate.js +8 -6
  8. package/dist/packages/_es/Audio.js +28 -23
  9. package/dist/packages/_es/AudioOperate.js +12 -6
  10. package/dist/packages/_es/Avatar.js +15 -64
  11. package/dist/packages/_es/AvatarGroup.js +7 -5
  12. package/dist/packages/_es/{BackTop.js → Backtop.js} +20 -22
  13. package/dist/packages/_es/Badge.js +9 -7
  14. package/dist/packages/_es/Barrage.js +13 -12
  15. package/dist/packages/_es/Button.js +14 -33
  16. package/dist/packages/_es/Calendar.js +15 -9
  17. package/dist/packages/_es/CalendarItem.js +9 -6
  18. package/dist/packages/_es/Card.js +14 -5
  19. package/dist/packages/_es/Cascader.js +31 -16
  20. package/dist/packages/_es/Category.js +10 -10
  21. package/dist/packages/_es/CategoryPane.js +22 -20
  22. package/dist/packages/_es/Cell.js +57 -60
  23. package/dist/packages/_es/CellGroup.js +7 -5
  24. package/dist/packages/_es/Checkbox.js +26 -40
  25. package/dist/packages/_es/CheckboxGroup.js +8 -6
  26. package/dist/packages/_es/CircleProgress.js +12 -10
  27. package/dist/packages/_es/Col.js +7 -5
  28. package/dist/packages/_es/Collapse.js +27 -47
  29. package/dist/packages/_es/CollapseItem.js +71 -83
  30. package/dist/packages/_es/Comment.js +33 -36
  31. package/dist/packages/_es/ConfigProvider.js +23 -4
  32. package/dist/packages/_es/{CountDown.js → Countdown.js} +8 -6
  33. package/dist/packages/_es/{CountUp.js → Countup.js} +21 -19
  34. package/dist/packages/_es/DatePicker.js +31 -29
  35. package/dist/packages/_es/Dialog.js +66 -46
  36. package/dist/packages/_es/Divider.js +7 -5
  37. package/dist/packages/_es/Drag.js +8 -6
  38. package/dist/packages/_es/Ecard.js +17 -11
  39. package/dist/packages/_es/Elevator.js +23 -21
  40. package/dist/packages/_es/Ellipsis.js +11 -9
  41. package/dist/packages/_es/Empty.js +10 -8
  42. package/dist/packages/_es/FixedNav.js +84 -75
  43. package/dist/packages/_es/Form.js +149 -140
  44. package/dist/packages/_es/FormItem.js +14 -7
  45. package/dist/packages/_es/Grid.js +7 -5
  46. package/dist/packages/_es/GridItem.js +19 -42
  47. package/dist/packages/_es/Icon.js +8 -44
  48. package/dist/packages/_es/Image.js +22 -10
  49. package/dist/packages/_es/ImagePreview.js +72 -55
  50. package/dist/packages/_es/Indicator.js +7 -5
  51. package/dist/packages/_es/InfiniteLoading.js +56 -124
  52. package/dist/packages/_es/Input.js +57 -186
  53. package/dist/packages/_es/InputNumber.js +43 -35
  54. package/dist/packages/_es/Invoice.js +29 -10
  55. package/dist/packages/_es/Layout.js +5 -3
  56. package/dist/packages/_es/List.js +7 -5
  57. package/dist/packages/_es/Menu.js +22 -13
  58. package/dist/packages/_es/MenuItem.js +25 -24
  59. package/dist/packages/_es/Navbar.js +47 -37
  60. package/dist/packages/_es/{NoticeBar.js → Noticebar.js} +52 -65
  61. package/dist/packages/_es/Notify.js +12 -7
  62. package/dist/packages/_es/NumberKeyboard.js +123 -112
  63. package/dist/packages/_es/{OverLay.js → Overlay.js} +7 -5
  64. package/dist/packages/_es/Pagination.js +7 -5
  65. package/dist/packages/_es/Picker.js +307 -304
  66. package/dist/packages/_es/Popover.js +34 -24
  67. package/dist/packages/_es/Popup.js +9 -152
  68. package/dist/packages/_es/Price.js +9 -12
  69. package/dist/packages/_es/Progress.js +18 -20
  70. package/dist/packages/_es/PullRefresh.js +222 -0
  71. package/dist/packages/_es/Radio.js +10 -103
  72. package/dist/packages/_es/RadioGroup.js +8 -44
  73. package/dist/packages/_es/Range.js +22 -20
  74. package/dist/packages/_es/Rate.js +153 -166
  75. package/dist/packages/_es/Row.js +7 -5
  76. package/dist/packages/_es/{SearchBar.js → Searchbar.js} +16 -15
  77. package/dist/packages/_es/ShortPassword.js +53 -121
  78. package/dist/packages/_es/{SideNavBar.js → SideNavbar.js} +11 -9
  79. package/dist/packages/_es/{SideNavBarItem.js → SideNavbarItem.js} +12 -10
  80. package/dist/packages/_es/Signature.js +12 -6
  81. package/dist/packages/_es/Skeleton.js +95 -85
  82. package/dist/packages/_es/Sku.js +28 -24
  83. package/dist/packages/_es/Step.js +28 -41
  84. package/dist/packages/_es/Steps.js +5 -3
  85. package/dist/packages/_es/Sticky.js +9 -150
  86. package/dist/packages/_es/{SubSideNavBar.js → SubSideNavbar.js} +18 -16
  87. package/dist/packages/_es/Swipe.js +8 -6
  88. package/dist/packages/_es/Swiper.js +121 -61
  89. package/dist/packages/_es/SwiperItem.js +8 -6
  90. package/dist/packages/_es/Switch.js +16 -28
  91. package/dist/packages/_es/TabPane.js +9 -7
  92. package/dist/packages/_es/Tabbar.js +21 -26
  93. package/dist/packages/_es/TabbarItem.js +39 -83
  94. package/dist/packages/_es/Table.js +15 -11
  95. package/dist/packages/_es/Tabs.js +33 -25
  96. package/dist/packages/_es/Tag.js +15 -9
  97. package/dist/packages/_es/{TextArea.js → Textarea.js} +8 -6
  98. package/dist/packages/_es/TimeDetail.js +12 -10
  99. package/dist/packages/_es/TimePannel.js +9 -7
  100. package/dist/packages/_es/TimeSelect.js +19 -11
  101. package/dist/packages/_es/Toast.js +25 -26
  102. package/dist/packages/_es/Tour.js +270 -0
  103. package/dist/packages/_es/TrendArrow.js +24 -43
  104. package/dist/packages/_es/Uploader.js +98 -61
  105. package/dist/packages/_es/Video.js +24 -22
  106. package/dist/packages/_es/{WaterMark.js → Watermark.js} +7 -5
  107. package/dist/packages/_es/{plugin-vue_export-helper.js → _plugin-vue_export-helper.bf57b04e.js} +5 -3
  108. package/dist/packages/_es/{common.js → common.4b8c0eb2.js} +7 -11
  109. package/dist/packages/_es/{component.js → component.fb9ce7ad.js} +19 -2
  110. package/dist/packages/_es/index.1be0d1a5.js +35 -0
  111. package/dist/packages/_es/{index5.js → index.3dd88014.js} +72 -70
  112. package/dist/packages/_es/index.4ed42c18.js +239 -0
  113. package/dist/packages/_es/{index.js → index.51da6a3b.js} +4 -2
  114. package/dist/packages/_es/{index3.js → index.617ba243.js} +4 -2
  115. package/dist/packages/_es/{index4.js → index.983240fc.js} +4 -2
  116. package/dist/packages/_es/{index2.js → index.af02c42d.js} +4 -2
  117. package/dist/packages/_es/index.vue_vue_type_script_lang.43efbcd1.js +102 -0
  118. package/dist/packages/_es/index.vue_vue_type_script_lang.6e735bb8.js +50 -0
  119. package/dist/packages/_es/index.vue_vue_type_script_lang.ccc15054.js +156 -0
  120. package/dist/packages/_es/index.vue_vue_type_script_lang.de4367bf.js +12 -0
  121. package/dist/packages/_es/{interceptor.js → interceptor.ba45688c.js} +5 -3
  122. package/dist/packages/_es/{mountComponent.js → mountComponent.dddeb43c.js} +5 -3
  123. package/dist/packages/_es/{pxCheck.js → pxCheck.09969b22.js} +4 -2
  124. package/dist/packages/_es/{raf.js → raf.42b42f63.js} +14 -3
  125. package/dist/packages/_es/renderIcon.f32ed340.js +14 -0
  126. package/dist/packages/_es/style.css +2 -2
  127. package/dist/packages/actionsheet/index.js +3 -0
  128. package/dist/packages/actionsheet/index.scss +16 -32
  129. package/dist/packages/address/index.js +4 -0
  130. package/dist/packages/address/index.scss +28 -52
  131. package/dist/packages/addresslist/index.js +2 -0
  132. package/dist/packages/addresslist/index.scss +3 -3
  133. package/dist/packages/animate/index.js +1 -0
  134. package/dist/packages/animate/index.scss +1 -1
  135. package/dist/packages/audio/index.js +2 -0
  136. package/dist/packages/audio/index.scss +9 -9
  137. package/dist/packages/audiooperate/index.js +2 -0
  138. package/dist/packages/avatar/index.js +1 -0
  139. package/dist/packages/avatar/index.scss +1 -12
  140. package/dist/packages/avatargroup/index.js +1 -0
  141. package/dist/packages/backtop/index.js +1 -0
  142. package/dist/packages/badge/index.js +1 -0
  143. package/dist/packages/badge/index.scss +17 -17
  144. package/dist/packages/barrage/index.js +1 -0
  145. package/dist/packages/barrage/index.scss +2 -22
  146. package/dist/packages/button/index.js +1 -0
  147. package/dist/packages/button/index.scss +2 -1
  148. package/dist/packages/calendar/index.js +4 -0
  149. package/dist/packages/calendar/index.scss +39 -43
  150. package/dist/packages/calendaritem/index.js +1 -0
  151. package/dist/packages/card/index.js +3 -0
  152. package/dist/packages/cascader/index.js +6 -0
  153. package/dist/packages/cascader/index.scss +1 -1
  154. package/dist/packages/category/index.js +1 -0
  155. package/dist/packages/categorypane/index.js +1 -0
  156. package/dist/packages/categorypane/index.scss +2 -2
  157. package/dist/packages/cell/index.js +1 -0
  158. package/dist/packages/cellgroup/index.js +1 -0
  159. package/dist/packages/checkbox/index.js +1 -0
  160. package/dist/packages/checkboxgroup/index.js +1 -0
  161. package/dist/packages/circleprogress/index.js +1 -0
  162. package/dist/packages/circleprogress/index.scss +5 -5
  163. package/dist/packages/col/index.js +1 -0
  164. package/dist/packages/collapse/index.js +1 -0
  165. package/dist/packages/collapseitem/index.js +1 -0
  166. package/dist/packages/collapseitem/index.scss +54 -77
  167. package/dist/packages/comment/index.js +2 -0
  168. package/dist/packages/comment/index.scss +1 -3
  169. package/dist/packages/configprovider/index.js +1 -0
  170. package/dist/packages/countdown/index.js +1 -0
  171. package/dist/packages/countup/index.js +1 -0
  172. package/dist/packages/countup/index.scss +8 -38
  173. package/dist/packages/datepicker/index.js +4 -0
  174. package/dist/packages/datepicker/index.scss +1 -1
  175. package/dist/packages/dialog/index.js +4 -0
  176. package/dist/packages/divider/index.js +1 -0
  177. package/dist/packages/drag/index.js +1 -0
  178. package/dist/packages/drag/index.scss +1 -1
  179. package/dist/packages/ecard/index.js +2 -0
  180. package/dist/packages/elevator/index.js +1 -0
  181. package/dist/packages/ellipsis/index.js +1 -0
  182. package/dist/packages/ellipsis/index.scss +3 -3
  183. package/dist/packages/empty/index.js +1 -0
  184. package/dist/packages/empty/index.scss +2 -2
  185. package/dist/packages/fixednav/index.js +2 -0
  186. package/dist/packages/fixednav/index.scss +5 -5
  187. package/dist/packages/form/index.js +2 -0
  188. package/dist/packages/formitem/index.js +2 -0
  189. package/dist/packages/grid/index.js +1 -0
  190. package/dist/packages/griditem/index.js +1 -0
  191. package/dist/packages/icon/index.js +1 -0
  192. package/dist/packages/icon/index.scss +1 -131
  193. package/dist/packages/image/index.js +1 -0
  194. package/dist/packages/imagepreview/index.js +6 -0
  195. package/dist/packages/imagepreview/index.scss +4 -4
  196. package/dist/packages/indicator/index.js +1 -0
  197. package/dist/packages/infiniteloading/index.js +1 -0
  198. package/dist/packages/infiniteloading/index.scss +15 -41
  199. package/dist/packages/input/index.js +1 -0
  200. package/dist/packages/input/index.scss +20 -18
  201. package/dist/packages/inputnumber/index.js +1 -0
  202. package/dist/packages/inputnumber/index.scss +4 -2
  203. package/dist/packages/invoice/index.js +8 -0
  204. package/dist/packages/layout/index.js +1 -0
  205. package/dist/packages/list/index.js +1 -0
  206. package/dist/packages/locale/index.d.ts +1 -1
  207. package/dist/packages/locale/lang/baseLang.d.ts +5 -0
  208. package/dist/packages/locale/lang/baseLang.ff3ed8bc.js +10 -0
  209. package/dist/packages/locale/lang/en-US.d.ts +5 -0
  210. package/dist/packages/locale/lang/en-US.js +61 -51
  211. package/dist/packages/locale/lang/id-ID.d.ts +5 -0
  212. package/dist/packages/locale/lang/id-ID.js +61 -51
  213. package/dist/packages/locale/lang/index.js +25 -38
  214. package/dist/packages/locale/lang/zh-CN.d.ts +5 -0
  215. package/dist/packages/locale/lang/zh-CN.js +60 -50
  216. package/dist/packages/locale/lang/zh-TW.d.ts +5 -0
  217. package/dist/packages/locale/lang/zh-TW.js +60 -50
  218. package/dist/packages/menu/index.js +1 -0
  219. package/dist/packages/menu/index.scss +1 -0
  220. package/dist/packages/menuitem/index.js +3 -0
  221. package/dist/packages/menuitem/index.scss +4 -2
  222. package/dist/packages/navbar/index.js +1 -0
  223. package/dist/packages/navbar/index.scss +5 -1
  224. package/dist/packages/noticebar/index.js +1 -0
  225. package/dist/packages/noticebar/index.scss +15 -16
  226. package/dist/packages/notify/index.js +3 -0
  227. package/dist/packages/notify/index.scss +0 -20
  228. package/dist/packages/numberkeyboard/index.js +3 -0
  229. package/dist/packages/numberkeyboard/index.scss +45 -49
  230. package/dist/packages/overlay/index.js +1 -0
  231. package/dist/packages/pagination/index.js +1 -0
  232. package/dist/packages/picker/index.js +3 -0
  233. package/dist/packages/picker/index.scss +19 -56
  234. package/dist/packages/popover/index.js +3 -0
  235. package/dist/packages/popover/index.scss +7 -0
  236. package/dist/packages/popup/index.js +2 -0
  237. package/dist/packages/popup/index.scss +6 -6
  238. package/dist/packages/price/index.js +1 -0
  239. package/dist/packages/price/index.scss +0 -9
  240. package/dist/packages/progress/index.js +1 -0
  241. package/dist/packages/pullrefresh/index.js +1 -0
  242. package/dist/packages/pullrefresh/index.scss +30 -0
  243. package/dist/packages/radio/index.js +1 -0
  244. package/dist/packages/radiogroup/index.js +1 -0
  245. package/dist/packages/radiogroup/index.scss +1 -1
  246. package/dist/packages/range/index.js +1 -0
  247. package/dist/packages/range/index.scss +4 -4
  248. package/dist/packages/rate/index.js +1 -0
  249. package/dist/packages/row/index.js +1 -0
  250. package/dist/packages/searchbar/index.js +1 -0
  251. package/dist/packages/shortpassword/index.js +3 -0
  252. package/dist/packages/shortpassword/index.scss +15 -122
  253. package/dist/packages/sidenavbar/index.js +1 -0
  254. package/dist/packages/sidenavbar/index.scss +1 -1
  255. package/dist/packages/sidenavbaritem/index.js +1 -0
  256. package/dist/packages/sidenavbaritem/index.scss +3 -2
  257. package/dist/packages/signature/index.js +2 -0
  258. package/dist/packages/skeleton/index.js +2 -0
  259. package/dist/packages/skeleton/index.scss +11 -11
  260. package/dist/packages/sku/index.js +5 -0
  261. package/dist/packages/step/index.js +1 -0
  262. package/dist/packages/step/index.scss +7 -8
  263. package/dist/packages/steps/index.js +1 -0
  264. package/dist/packages/sticky/index.js +1 -0
  265. package/dist/packages/subsidenavbar/index.js +1 -0
  266. package/dist/packages/subsidenavbar/index.scss +2 -2
  267. package/dist/packages/swipe/index.js +1 -0
  268. package/dist/packages/swiper/index.js +1 -0
  269. package/dist/packages/swiperitem/index.js +1 -0
  270. package/dist/packages/switch/index.js +1 -0
  271. package/dist/packages/switch/index.scss +5 -15
  272. package/dist/packages/tabbar/index.js +1 -0
  273. package/dist/packages/tabbaritem/index.js +2 -0
  274. package/dist/packages/tabbaritem/index.scss +0 -29
  275. package/dist/packages/table/index.js +1 -0
  276. package/dist/packages/tabpane/index.js +1 -0
  277. package/dist/packages/tabpane/index.scss +2 -2
  278. package/dist/packages/tabs/index.js +2 -0
  279. package/dist/packages/tabs/index.scss +4 -4
  280. package/dist/packages/tag/index.js +1 -0
  281. package/dist/packages/textarea/index.js +1 -0
  282. package/dist/packages/textarea/index.scss +1 -1
  283. package/dist/packages/timedetail/index.js +1 -0
  284. package/dist/packages/timedetail/index.scss +2 -2
  285. package/dist/packages/timepannel/index.js +1 -0
  286. package/dist/packages/timepannel/index.scss +2 -2
  287. package/dist/packages/timeselect/index.js +3 -0
  288. package/dist/packages/timeselect/index.scss +2 -2
  289. package/dist/packages/toast/index.js +1 -0
  290. package/dist/packages/tour/index.js +4 -0
  291. package/dist/packages/tour/index.scss +78 -0
  292. package/dist/packages/trendarrow/index.js +1 -0
  293. package/dist/packages/trendarrow/index.scss +1 -1
  294. package/dist/packages/uploader/index.js +3 -0
  295. package/dist/packages/uploader/index.scss +2 -0
  296. package/dist/packages/video/index.js +1 -0
  297. package/dist/packages/video/index.scss +11 -17
  298. package/dist/packages/watermark/index.js +1 -0
  299. package/dist/smartips/attributes.json +215 -447
  300. package/dist/smartips/tags.json +116 -171
  301. package/dist/smartips/web-types.json +382 -906
  302. package/dist/style.css +1 -1
  303. package/dist/style.js +4 -0
  304. package/dist/styles/animation/index.scss +0 -1
  305. package/dist/styles/css-variables.scss +920 -0
  306. package/dist/styles/themes/default.scss +54 -52
  307. package/dist/styles/themes/jdb.scss +54 -52
  308. package/dist/styles/themes/jddkh.scss +54 -52
  309. package/dist/styles/themes/jdt.scss +54 -52
  310. package/dist/styles/variables-jdb.scss +3 -3
  311. package/dist/styles/variables-jddkh.scss +3 -3
  312. package/dist/styles/variables-jdt.scss +3 -3
  313. package/dist/styles/variables-var.scss +854 -0
  314. package/dist/styles/variables.scss +7 -7
  315. package/dist/types/__VUE/actionsheet/index.vue.d.ts +28 -20
  316. package/dist/types/__VUE/address/address-list.d.ts +30 -0
  317. package/dist/types/__VUE/address/index.vue.d.ts +33 -72
  318. package/dist/types/__VUE/address/type.d.ts +18 -0
  319. package/dist/types/__VUE/addresslist/components/GeneralShell.vue.d.ts +3 -14
  320. package/dist/types/__VUE/addresslist/components/ItemContents.vue.d.ts +3 -14
  321. package/dist/types/__VUE/addresslist/components/SwipeShell.vue.d.ts +3 -14
  322. package/dist/types/__VUE/addresslist/index.vue.d.ts +8 -9
  323. package/dist/types/__VUE/animate/index.vue.d.ts +16 -15
  324. package/dist/types/__VUE/animate/type.d.ts +2 -6
  325. package/dist/types/__VUE/audio/index.vue.d.ts +19 -17
  326. package/dist/types/__VUE/audiooperate/index.vue.d.ts +12 -7
  327. package/dist/types/__VUE/avatar/index.vue.d.ts +14 -48
  328. package/dist/types/__VUE/avatargroup/index.vue.d.ts +8 -9
  329. package/dist/types/__VUE/backtop/index.vue.d.ts +8 -9
  330. package/dist/types/__VUE/badge/index.vue.d.ts +9 -10
  331. package/dist/types/__VUE/barrage/index.vue.d.ts +7 -8
  332. package/dist/types/__VUE/button/index.vue.d.ts +21 -47
  333. package/dist/types/__VUE/button/type.d.ts +3 -7
  334. package/dist/types/__VUE/calendar/index.vue.d.ts +13 -13
  335. package/dist/types/__VUE/calendaritem/index.vue.d.ts +23 -22
  336. package/dist/types/__VUE/calendaritem/type.d.ts +70 -0
  337. package/dist/types/__VUE/card/index.vue.d.ts +6 -7
  338. package/dist/types/__VUE/cascader/cascader-item.vue.d.ts +10 -9
  339. package/dist/types/__VUE/cascader/helper.d.ts +0 -4
  340. package/dist/types/__VUE/cascader/index.vue.d.ts +12 -11
  341. package/dist/types/__VUE/cascader/tree.d.ts +0 -4
  342. package/dist/types/__VUE/cascader/types.d.ts +6 -10
  343. package/dist/types/__VUE/category/index.vue.d.ts +18 -14
  344. package/dist/types/__VUE/categorypane/index.vue.d.ts +23 -14
  345. package/dist/types/__VUE/cell/index.vue.d.ts +13 -32
  346. package/dist/types/__VUE/cellgroup/index.vue.d.ts +6 -7
  347. package/dist/types/__VUE/checkbox/common.d.ts +2 -59
  348. package/dist/types/__VUE/checkbox/index.vue.d.ts +6 -113
  349. package/dist/types/__VUE/checkboxgroup/index.vue.d.ts +6 -7
  350. package/dist/types/__VUE/circleprogress/index.vue.d.ts +18 -14
  351. package/dist/types/__VUE/col/index.vue.d.ts +6 -7
  352. package/dist/types/__VUE/collapse/index.vue.d.ts +16 -81
  353. package/dist/types/__VUE/collapseitem/index.vue.d.ts +52 -24
  354. package/dist/types/__VUE/comment/components/CmtBottom.vue.d.ts +7 -17
  355. package/dist/types/__VUE/comment/components/CmtHeader.vue.d.ts +3 -14
  356. package/dist/types/__VUE/comment/components/CmtImages.vue.d.ts +29 -21
  357. package/dist/types/__VUE/comment/index.vue.d.ts +29 -19
  358. package/dist/types/__VUE/configprovider/common.d.ts +4 -4
  359. package/dist/types/__VUE/configprovider/index.vue.d.ts +15 -7
  360. package/dist/types/__VUE/countdown/index.vue.d.ts +11 -12
  361. package/dist/types/__VUE/countdown/util.d.ts +1 -5
  362. package/dist/types/__VUE/countup/index.vue.d.ts +13 -14
  363. package/dist/types/__VUE/datepicker/index.vue.d.ts +32 -168
  364. package/dist/types/__VUE/datepicker/type.d.ts +2 -6
  365. package/dist/types/__VUE/dialog/index.d.ts +0 -4
  366. package/dist/types/__VUE/dialog/index.vue.d.ts +19 -16
  367. package/dist/types/__VUE/divider/index.vue.d.ts +6 -7
  368. package/dist/types/__VUE/drag/index.vue.d.ts +6 -7
  369. package/dist/types/__VUE/ecard/index.vue.d.ts +15 -11
  370. package/dist/types/__VUE/elevator/index.vue.d.ts +14 -13
  371. package/dist/types/__VUE/elevator/type.d.ts +5 -0
  372. package/dist/types/__VUE/ellipsis/index.vue.d.ts +14 -9
  373. package/dist/types/__VUE/empty/index.vue.d.ts +6 -7
  374. package/dist/types/__VUE/fixednav/common.d.ts +2 -5
  375. package/dist/types/__VUE/fixednav/index.vue.d.ts +10 -11
  376. package/dist/types/__VUE/form/common.d.ts +2 -6
  377. package/dist/types/__VUE/form/index.vue.d.ts +7 -8
  378. package/dist/types/__VUE/form/types.d.ts +3 -7
  379. package/dist/types/__VUE/formitem/common.d.ts +0 -0
  380. package/dist/types/__VUE/formitem/index.vue.d.ts +11 -11
  381. package/dist/types/__VUE/formitem/types.d.ts +0 -4
  382. package/dist/types/__VUE/grid/common.d.ts +2 -20
  383. package/dist/types/__VUE/grid/index.vue.d.ts +7 -23
  384. package/dist/types/__VUE/griditem/index.vue.d.ts +9 -42
  385. package/dist/types/__VUE/icon/index.vue.d.ts +6 -68
  386. package/dist/types/__VUE/image/index.vue.d.ts +15 -17
  387. package/dist/types/__VUE/image/type.d.ts +2 -6
  388. package/dist/types/__VUE/imagepreview/imagePreviewItem.vue.d.ts +10 -9
  389. package/dist/types/__VUE/imagepreview/index.d.ts +1 -5
  390. package/dist/types/__VUE/imagepreview/index.vue.d.ts +14 -12
  391. package/dist/types/__VUE/imagepreview/types.d.ts +2 -6
  392. package/dist/types/__VUE/indicator/index.vue.d.ts +7 -8
  393. package/dist/types/__VUE/infiniteloading/index.vue.d.ts +18 -57
  394. package/dist/types/__VUE/input/index.vue.d.ts +42 -146
  395. package/dist/types/__VUE/input/type.d.ts +5 -9
  396. package/dist/types/__VUE/input/util.d.ts +0 -4
  397. package/dist/types/__VUE/inputnumber/index.vue.d.ts +10 -29
  398. package/dist/types/__VUE/invoice/index.vue.d.ts +9 -10
  399. package/dist/types/__VUE/invoice/types.d.ts +6 -0
  400. package/dist/types/__VUE/layout/index.vue.d.ts +6 -7
  401. package/dist/types/__VUE/list/index.vue.d.ts +12 -12
  402. package/dist/types/__VUE/menu/index.vue.d.ts +10 -11
  403. package/dist/types/__VUE/menuitem/index.vue.d.ts +13 -21
  404. package/dist/types/__VUE/menuitem/type.d.ts +1 -5
  405. package/dist/types/__VUE/navbar/index.vue.d.ts +20 -22
  406. package/dist/types/__VUE/noticebar/index.vue.d.ts +38 -30
  407. package/dist/types/__VUE/notify/index.d.ts +0 -4
  408. package/dist/types/__VUE/notify/index.vue.d.ts +8 -9
  409. package/dist/types/__VUE/numberkeyboard/index.vue.d.ts +27 -54
  410. package/dist/types/__VUE/overlay/index.vue.d.ts +10 -10
  411. package/dist/types/__VUE/pagination/index.vue.d.ts +6 -7
  412. package/dist/types/__VUE/picker/Column.vue.d.ts +41 -35
  413. package/dist/types/__VUE/picker/baseProps.d.ts +55 -0
  414. package/dist/types/__VUE/picker/common.d.ts +555 -0
  415. package/dist/types/__VUE/picker/doc.en.d.ts +88 -0
  416. package/dist/types/__VUE/picker/index.vue.d.ts +60 -236
  417. package/dist/types/__VUE/picker/types.d.ts +1 -5
  418. package/dist/types/__VUE/picker/usePicker.d.ts +17 -0
  419. package/dist/types/__VUE/popover/index.vue.d.ts +24 -20
  420. package/dist/types/__VUE/popover/type.d.ts +5 -8
  421. package/dist/types/__VUE/popup/common.d.ts +2 -6
  422. package/dist/types/__VUE/popup/index.vue.d.ts +9 -10
  423. package/dist/types/__VUE/popup/props.d.ts +0 -4
  424. package/dist/types/__VUE/price/index.vue.d.ts +9 -19
  425. package/dist/types/__VUE/progress/index.vue.d.ts +9 -28
  426. package/dist/types/__VUE/pullrefresh/index.vue.d.ts +126 -0
  427. package/dist/types/__VUE/radio/index.vue.d.ts +9 -46
  428. package/dist/types/__VUE/radiogroup/index.vue.d.ts +9 -10
  429. package/dist/types/__VUE/range/index.vue.d.ts +22 -21
  430. package/dist/types/__VUE/range/type.d.ts +1 -5
  431. package/dist/types/__VUE/rate/index.vue.d.ts +28 -55
  432. package/dist/types/__VUE/row/index.vue.d.ts +6 -7
  433. package/dist/types/__VUE/searchbar/index.vue.d.ts +25 -21
  434. package/dist/types/__VUE/searchbar/type.d.ts +1 -5
  435. package/dist/types/__VUE/shortpassword/index.vue.d.ts +10 -44
  436. package/dist/types/__VUE/sidenavbar/index.vue.d.ts +7 -7
  437. package/dist/types/__VUE/sidenavbaritem/index.vue.d.ts +6 -7
  438. package/dist/types/__VUE/signature/index.vue.d.ts +13 -9
  439. package/dist/types/__VUE/skeleton/common.d.ts +3 -6
  440. package/dist/types/__VUE/skeleton/index.vue.d.ts +8 -9
  441. package/dist/types/__VUE/sku/components/SkuHeader.vue.d.ts +3 -14
  442. package/dist/types/__VUE/sku/components/SkuOperate.vue.d.ts +9 -19
  443. package/dist/types/__VUE/sku/components/SkuSelect.vue.d.ts +10 -15
  444. package/dist/types/__VUE/sku/components/SkuStepper.vue.d.ts +6 -17
  445. package/dist/types/__VUE/sku/data.d.ts +22 -0
  446. package/dist/types/__VUE/sku/index.vue.d.ts +21 -21
  447. package/dist/types/__VUE/step/index.vue.d.ts +6 -34
  448. package/dist/types/__VUE/steps/index.vue.d.ts +7 -8
  449. package/dist/types/__VUE/sticky/index.vue.d.ts +9 -9
  450. package/dist/types/__VUE/subsidenavbar/index.vue.d.ts +6 -7
  451. package/dist/types/__VUE/swipe/index.vue.d.ts +8 -7
  452. package/dist/types/__VUE/swiper/index.vue.d.ts +18 -19
  453. package/dist/types/__VUE/swiper/use-touch.d.ts +16 -0
  454. package/dist/types/__VUE/swiperitem/index.vue.d.ts +7 -7
  455. package/dist/types/__VUE/swiperitem/type.d.ts +5 -0
  456. package/dist/types/__VUE/switch/index.vue.d.ts +15 -43
  457. package/dist/types/__VUE/tabbar/index.vue.d.ts +16 -17
  458. package/dist/types/__VUE/tabbaritem/index.vue.d.ts +14 -69
  459. package/dist/types/__VUE/table/common.d.ts +2 -4
  460. package/dist/types/__VUE/table/index.vue.d.ts +7 -8
  461. package/dist/types/__VUE/table/renderColumn.d.ts +11 -5
  462. package/dist/types/__VUE/table/types.d.ts +0 -4
  463. package/dist/types/__VUE/tabpane/index.vue.d.ts +6 -7
  464. package/dist/types/__VUE/tabs/index.vue.d.ts +28 -18
  465. package/dist/types/__VUE/tag/index.vue.d.ts +15 -14
  466. package/dist/types/__VUE/tag/type.d.ts +1 -5
  467. package/dist/types/__VUE/textarea/index.vue.d.ts +15 -16
  468. package/dist/types/__VUE/timedetail/index.vue.d.ts +8 -9
  469. package/dist/types/__VUE/timepannel/index.vue.d.ts +7 -8
  470. package/dist/types/__VUE/timeselect/index.vue.d.ts +6 -7
  471. package/dist/types/__VUE/toast/index.d.ts +1 -5
  472. package/dist/types/__VUE/toast/index.vue.d.ts +19 -18
  473. package/dist/types/__VUE/tour/index.vue.d.ts +195 -0
  474. package/dist/types/__VUE/tour/type.d.ts +2 -0
  475. package/dist/types/__VUE/trendarrow/index.vue.d.ts +7 -40
  476. package/dist/types/__VUE/uploader/index.vue.d.ts +18 -43
  477. package/dist/types/__VUE/uploader/type.d.ts +3 -7
  478. package/dist/types/__VUE/uploader/uploader.d.ts +0 -4
  479. package/dist/types/__VUE/video/index.vue.d.ts +25 -25
  480. package/dist/types/__VUE/watermark/index.vue.d.ts +9 -10
  481. package/dist/types/index.d.ts +113 -7
  482. package/dist/types/locale/index.d.ts +8 -0
  483. package/dist/types/locale/lang/baseLang.d.ts +93 -0
  484. package/dist/types/locale/lang/en-US.d.ts +109 -0
  485. package/dist/types/locale/lang/id-ID.d.ts +109 -0
  486. package/dist/types/locale/lang/zh-CN.d.ts +109 -0
  487. package/dist/types/locale/lang/zh-TW.d.ts +109 -0
  488. package/dist/types/utils/create/component.d.ts +7 -0
  489. package/dist/types/utils/create/index.d.ts +4 -0
  490. package/dist/types/utils/create/mountComponent.d.ts +4 -0
  491. package/dist/types/utils/create/renderIcon.d.ts +4 -0
  492. package/dist/types/utils/date.d.ts +12 -0
  493. package/dist/types/utils/interceptor.d.ts +6 -0
  494. package/dist/types/utils/pxCheck.d.ts +1 -0
  495. package/dist/types/utils/raf.d.ts +4 -0
  496. package/dist/types/utils/throttle.d.ts +2 -0
  497. package/dist/types/utils/unit.d.ts +6 -0
  498. package/dist/types/utils/useExpose/index.d.ts +1 -0
  499. package/dist/types/utils/useLockScroll/index.d.ts +1 -0
  500. package/dist/types/utils/useRect/index.d.ts +17 -0
  501. package/dist/types/utils/useRelation/useInject.d.ts +14 -0
  502. package/dist/types/utils/useRelation/useProvide.d.ts +8 -0
  503. package/dist/types/utils/useRelation/useRelation.d.ts +1 -0
  504. package/dist/types/utils/useRoute/index.d.ts +1 -0
  505. package/dist/types/utils/useScrollParent/index.d.ts +5 -0
  506. package/dist/types/utils/useTaroRect/index.d.ts +10 -0
  507. package/dist/types/utils/useTouch/index.d.ts +18 -0
  508. package/dist/types/utils/util.d.ts +25 -0
  509. package/package.json +43 -35
  510. package/dist/packages/_es/props.js +0 -80
  511. package/dist/packages/locale/lang/baseLang.js +0 -8
  512. package/dist/style.es.js +0 -2
  513. package/dist/styles/animation/icon.scss +0 -245
  514. package/dist/styles/font/config.json +0 -175
  515. package/dist/styles/font/demo.css +0 -539
  516. package/dist/styles/font/demo_index.html +0 -3063
  517. package/dist/styles/font/iconfont.css +0 -515
  518. package/dist/styles/font/iconfont.eot +0 -0
  519. package/dist/styles/font/iconfont.js +0 -66
  520. package/dist/styles/font/iconfont.json +0 -884
  521. package/dist/styles/font/iconfont.svg +0 -356
  522. package/dist/styles/font/iconfont.ttf +0 -0
  523. package/dist/styles/font/iconfont.woff +0 -0
  524. package/dist/styles/font/iconfont.woff2 +0 -0
  525. package/dist/types/__VUE/rate/common.d.ts +0 -149
  526. package/dist/types/__VUE/tabs/common.d.ts +0 -95
  527. package/dist/types/nutui.d.ts +0 -104
@@ -1,32 +1,175 @@
1
1
  /*!
2
- * @nutui/nutui v3.3.1 Fri Dec 16 2022 17:34:28 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v4.0.0-beta.0 Mon Dec 26 2022 00:00:21 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
- import { ref, reactive, computed, watch, onMounted, toRefs, openBlock, createElementBlock, createElementVNode, normalizeStyle, Fragment, renderList, normalizeClass, toDisplayString, createCommentVNode, onBeforeUnmount, resolveComponent, createVNode, withCtx, renderSlot } from "vue";
7
- import { c as createComponent, a as preventDefault, d as clamp } from "./component.js";
8
- import Popup from "./Popup.js";
9
- import { p as popupProps } from "./props.js";
10
- import { u as useTouch } from "./index4.js";
11
- import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
6
+ import { reactive, ref, computed, watch, toRefs, onMounted, openBlock, createElementBlock, createElementVNode, normalizeStyle, Fragment, renderList, normalizeClass, toDisplayString, createCommentVNode, resolveComponent, renderSlot, createVNode } from "vue";
7
+ import { c as createComponent, d as preventDefault, e as clamp } from "./component.fb9ce7ad.js";
8
+ import { p as pxCheck } from "./pxCheck.09969b22.js";
9
+ import { u as useTouch } from "./index.983240fc.js";
10
+ import { _ as _export_sfc } from "./_plugin-vue_export-helper.bf57b04e.js";
12
11
  import "../locale/lang";
12
+ const { componentName: componentName$1 } = createComponent("picker");
13
+ const usePicker = (props, emit) => {
14
+ const state = reactive({
15
+ formattedColumns: props.columns
16
+ });
17
+ let defaultValues = ref([]);
18
+ const pickerColumn = ref([]);
19
+ const swipeRef = (el) => {
20
+ if (el && pickerColumn.value.length < columnsList.value.length) {
21
+ pickerColumn.value.push(el);
22
+ }
23
+ };
24
+ const classes = computed(() => {
25
+ const prefixCls = componentName$1;
26
+ return {
27
+ [prefixCls]: true
28
+ };
29
+ });
30
+ const selectedOptions = computed(() => {
31
+ let optins = [];
32
+ columnsList.value.map((column2, index) => {
33
+ let currOptions = [];
34
+ currOptions = column2.filter((item) => item.value == defaultValues.value[index]);
35
+ optins.push(currOptions[0]);
36
+ });
37
+ return optins;
38
+ });
39
+ const columnsType = computed(() => {
40
+ const firstColumn = state.formattedColumns[0];
41
+ if (firstColumn) {
42
+ if (Array.isArray(firstColumn)) {
43
+ return "multiple";
44
+ }
45
+ if ("children" in firstColumn) {
46
+ return "cascade";
47
+ }
48
+ }
49
+ return "single";
50
+ });
51
+ const columnsList = computed(() => {
52
+ switch (columnsType.value) {
53
+ case "multiple":
54
+ return state.formattedColumns;
55
+ case "cascade":
56
+ return formatCascade(state.formattedColumns, defaultValues.value ? defaultValues.value : []);
57
+ default:
58
+ return [state.formattedColumns];
59
+ }
60
+ });
61
+ const formatCascade = (columns, defaultValues2) => {
62
+ const formatted = [];
63
+ let cursor = {
64
+ text: "",
65
+ value: "",
66
+ children: columns
67
+ };
68
+ let columnIndex = 0;
69
+ while (cursor && cursor.children) {
70
+ const options = cursor.children;
71
+ const value = defaultValues2[columnIndex];
72
+ let index = options.findIndex((columnItem) => columnItem.value == value);
73
+ if (index == -1)
74
+ index = 0;
75
+ cursor = cursor.children[index];
76
+ columnIndex++;
77
+ formatted.push(options);
78
+ }
79
+ return formatted;
80
+ };
81
+ const cancel = () => {
82
+ emit("cancel", {
83
+ selectedValue: defaultValues.value,
84
+ selectedOptions: selectedOptions.value
85
+ });
86
+ };
87
+ const changeHandler = (columnIndex, option) => {
88
+ if (option && Object.keys(option).length) {
89
+ defaultValues.value = defaultValues.value ? defaultValues.value : [];
90
+ if (columnsType.value === "cascade") {
91
+ defaultValues.value[columnIndex] = option.value ? option.value : "";
92
+ let index = columnIndex;
93
+ let cursor = option;
94
+ while (cursor && cursor.children && cursor.children[0]) {
95
+ defaultValues.value[index + 1] = cursor.children[0].value;
96
+ index++;
97
+ cursor = cursor.children[0];
98
+ }
99
+ if (cursor && cursor.children && cursor.children.length == 0) {
100
+ defaultValues.value = defaultValues.value.slice(0, index + 1);
101
+ }
102
+ } else {
103
+ defaultValues.value[columnIndex] = option.hasOwnProperty("value") ? option.value : "";
104
+ }
105
+ emit("change", {
106
+ columnIndex,
107
+ selectedValue: defaultValues.value,
108
+ selectedOptions: selectedOptions.value
109
+ });
110
+ }
111
+ };
112
+ const confirm = () => {
113
+ if (defaultValues.value && !defaultValues.value.length) {
114
+ columnsList.value.forEach((columns) => {
115
+ defaultValues.value.push(columns[0].value);
116
+ });
117
+ }
118
+ emit("confirm", {
119
+ selectedValue: defaultValues.value,
120
+ selectedOptions: selectedOptions.value
121
+ });
122
+ };
123
+ const isSameValue = (valA, valB) => JSON.stringify(valA) === JSON.stringify(valB);
124
+ watch(
125
+ () => props.modelValue,
126
+ (newValues) => {
127
+ if (!isSameValue(newValues, defaultValues.value)) {
128
+ defaultValues.value = newValues;
129
+ }
130
+ },
131
+ { deep: true, immediate: true }
132
+ );
133
+ watch(
134
+ defaultValues,
135
+ (newValues) => {
136
+ if (!isSameValue(newValues, props.modelValue)) {
137
+ emit("update:modelValue", newValues);
138
+ }
139
+ },
140
+ { deep: true }
141
+ );
142
+ watch(
143
+ () => props.columns,
144
+ (val) => {
145
+ if (val.length)
146
+ state.formattedColumns = val;
147
+ }
148
+ );
149
+ return {
150
+ classes,
151
+ ...toRefs(state),
152
+ columnsType,
153
+ columnsList,
154
+ cancel,
155
+ changeHandler,
156
+ confirm,
157
+ defaultValues,
158
+ pickerColumn,
159
+ swipeRef,
160
+ selectedOptions,
161
+ isSameValue
162
+ };
163
+ };
13
164
  const { create: create$1 } = createComponent("picker-column");
14
165
  const _sfc_main$1 = create$1({
15
166
  props: {
16
167
  value: [String, Number],
17
168
  columnsType: String,
18
- itemShow: {
19
- type: Boolean,
20
- default: false
21
- },
22
169
  column: {
23
170
  type: Array,
24
171
  default: () => []
25
172
  },
26
- readonly: {
27
- type: Boolean,
28
- default: false
29
- },
30
173
  threeDimensional: {
31
174
  type: Boolean,
32
175
  default: true
@@ -34,12 +177,19 @@ const _sfc_main$1 = create$1({
34
177
  swipeDuration: {
35
178
  type: [Number, String],
36
179
  default: 1e3
180
+ },
181
+ visibleOptionNum: {
182
+ type: [Number, String],
183
+ default: 7
184
+ },
185
+ optionHeight: {
186
+ type: [Number, String],
187
+ default: 36
37
188
  }
38
189
  },
39
190
  emits: ["click", "change"],
40
191
  setup(props, { emit }) {
41
192
  const touch = useTouch();
42
- const wrapper = ref();
43
193
  const state = reactive({
44
194
  touchParams: {
45
195
  startY: 0,
@@ -52,7 +202,6 @@ const _sfc_main$1 = create$1({
52
202
  currIndex: 1,
53
203
  transformY: 0,
54
204
  scrollDistance: 0,
55
- lineSpacing: 36,
56
205
  rotation: 20
57
206
  });
58
207
  const roller = ref(null);
@@ -65,29 +214,38 @@ const _sfc_main$1 = create$1({
65
214
  const touchRollerStyle = computed(() => {
66
215
  return {
67
216
  transition: `transform ${touchTime.value}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
68
- transform: `rotate3d(1, 0, 0, ${touchDeg.value})`
217
+ transform: `rotate3d(1, 0, 0, ${touchDeg.value})`,
218
+ top: `calc(50% - ${+props.optionHeight / 2}px)`
69
219
  };
70
220
  });
71
221
  const touchTileStyle = computed(() => {
222
+ const { optionHeight } = props;
72
223
  return {
73
224
  transition: `transform ${touchTime.value}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
74
- transform: `translate3d(0, ${state.scrollDistance}px, 0)`
225
+ transform: `translate3d(0, ${state.scrollDistance}px, 0)`,
226
+ top: `calc(50% - ${+optionHeight / 2}px)`,
227
+ height: `${optionHeight}px`
75
228
  };
76
229
  });
77
230
  const setRollerStyle = (index) => {
78
231
  return `transform: rotate3d(1, 0, 0, ${-state.rotation * index}deg) translate3d(0px, 0px, 104px)`;
79
232
  };
233
+ const maskStyles = computed(() => {
234
+ return {
235
+ backgroundSize: `100% ${(+props.visibleOptionNum - 1) * +props.optionHeight / 2}px`
236
+ };
237
+ });
80
238
  const onTouchStart = (event) => {
81
239
  touch.start(event);
82
240
  if (moving.value) {
83
241
  let dom = roller.value;
84
242
  const { transform } = window.getComputedStyle(dom);
85
243
  if (props.threeDimensional) {
86
- const circle = Math.floor(parseFloat(touchDeg.value) / 360);
244
+ const circle = Math.floor(touchDeg.value / 360);
87
245
  const cos = +transform.split(", ")[5];
88
246
  const sin = +transform.split(", ")[6] < 0 ? 180 : 0;
89
247
  const endDeg = circle * 360 + Math.acos(cos) / Math.PI * 180 + sin;
90
- state.scrollDistance = -Math.abs((endDeg / state.rotation - 1) * state.lineSpacing);
248
+ state.scrollDistance = -Math.abs((endDeg / state.rotation - 1) * +props.optionHeight);
91
249
  } else {
92
250
  state.scrollDistance = +transform.slice(7, transform.length - 1).split(", ")[5];
93
251
  }
@@ -106,7 +264,7 @@ const _sfc_main$1 = create$1({
106
264
  let move = state.touchParams.lastY - state.touchParams.startY;
107
265
  setMove(move);
108
266
  };
109
- const onTouchEnd = (event) => {
267
+ const onTouchEnd = () => {
110
268
  state.touchParams.lastY = touch.deltaY.value;
111
269
  state.touchParams.lastTime = Date.now();
112
270
  let move = state.touchParams.lastY - state.touchParams.startY;
@@ -145,27 +303,28 @@ const _sfc_main$1 = create$1({
145
303
  state.scrollDistance = translateY;
146
304
  };
147
305
  const setMove = (move, type, time) => {
306
+ const { optionHeight } = props;
148
307
  let updateMove = move + state.transformY;
149
308
  if (type === "end") {
150
309
  if (updateMove > 0) {
151
310
  updateMove = 0;
152
311
  }
153
- if (updateMove < -(props.column.length - 1) * state.lineSpacing) {
154
- updateMove = -(props.column.length - 1) * state.lineSpacing;
312
+ if (updateMove < -(props.column.length - 1) * +optionHeight) {
313
+ updateMove = -(props.column.length - 1) * +optionHeight;
155
314
  }
156
- let endMove = Math.round(updateMove / state.lineSpacing) * state.lineSpacing;
157
- let deg = `${(Math.abs(Math.round(endMove / state.lineSpacing)) + 1) * state.rotation}deg`;
315
+ let endMove = Math.round(updateMove / +optionHeight) * +optionHeight;
316
+ let deg = `${(Math.abs(Math.round(endMove / +optionHeight)) + 1) * state.rotation}deg`;
158
317
  setTransform(endMove, type, time, deg);
159
- state.currIndex = Math.abs(Math.round(endMove / state.lineSpacing)) + 1;
318
+ state.currIndex = Math.abs(Math.round(endMove / +optionHeight)) + 1;
160
319
  } else {
161
320
  let deg = 0;
162
- let currentDeg = (-updateMove / state.lineSpacing + 1) * state.rotation;
321
+ let currentDeg = (-updateMove / +optionHeight + 1) * state.rotation;
163
322
  const maxDeg = (props.column.length + 1) * state.rotation;
164
323
  const minDeg = 0;
165
324
  deg = clamp(currentDeg, minDeg, maxDeg);
166
325
  if (minDeg < deg && deg < maxDeg) {
167
326
  setTransform(updateMove, null, void 0, deg + "deg");
168
- state.currIndex = Math.abs(Math.round(updateMove / state.lineSpacing)) + 1;
327
+ state.currIndex = Math.abs(Math.round(updateMove / +optionHeight)) + 1;
169
328
  }
170
329
  }
171
330
  };
@@ -176,7 +335,7 @@ const _sfc_main$1 = create$1({
176
335
  const { column: column2 } = props;
177
336
  let index = column2.findIndex((columnItem) => columnItem.value == props.value);
178
337
  state.currIndex = index === -1 ? 1 : index + 1;
179
- let move = index === -1 ? 0 : index * state.lineSpacing;
338
+ let move = index === -1 ? 0 : index * +props.optionHeight;
180
339
  type && setChooseValue();
181
340
  setMove(-move);
182
341
  };
@@ -213,7 +372,6 @@ const _sfc_main$1 = create$1({
213
372
  return {
214
373
  ...toRefs(state),
215
374
  ...toRefs(props),
216
- wrapper,
217
375
  setRollerStyle,
218
376
  isHidden,
219
377
  roller,
@@ -223,15 +381,12 @@ const _sfc_main$1 = create$1({
223
381
  touchRollerStyle,
224
382
  touchTileStyle,
225
383
  setMove,
226
- stopMomentum
384
+ stopMomentum,
385
+ pxCheck,
386
+ maskStyles
227
387
  };
228
388
  }
229
389
  });
230
- const _hoisted_1$1 = {
231
- key: 1,
232
- class: "nut-picker-roller-item-tile"
233
- };
234
- const _hoisted_2$1 = /* @__PURE__ */ createElementVNode("view", { class: "nut-picker-roller-mask" }, null, -1);
235
390
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
236
391
  return openBlock(), createElementBlock("view", {
237
392
  class: "nut-picker__list",
@@ -254,312 +409,160 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
254
409
  class: normalizeClass(["nut-picker-roller-item", { "nut-picker-roller-item-hidden": _ctx.isHidden(index + 1) }]),
255
410
  style: normalizeStyle(_ctx.setRollerStyle(index + 1))
256
411
  }, toDisplayString(item.text), 7)) : createCommentVNode("", true),
257
- item && item.text && !_ctx.threeDimensional ? (openBlock(), createElementBlock("view", _hoisted_1$1, toDisplayString(item.text), 1)) : createCommentVNode("", true)
412
+ item && item.text && !_ctx.threeDimensional ? (openBlock(), createElementBlock("view", {
413
+ key: 1,
414
+ class: "nut-picker-roller-item-tile",
415
+ style: normalizeStyle({ height: _ctx.pxCheck(_ctx.optionHeight) })
416
+ }, toDisplayString(item.text), 5)) : createCommentVNode("", true)
258
417
  ], 64);
259
418
  }), 128))
260
419
  ], 36),
261
- _hoisted_2$1
420
+ createElementVNode("view", {
421
+ class: "nut-picker-roller-mask",
422
+ style: normalizeStyle(_ctx.maskStyles)
423
+ }, null, 4)
262
424
  ], 32);
263
425
  }
264
- var column = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
426
+ const column = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
427
+ const baseProps = {
428
+ modelValue: {
429
+ type: Array,
430
+ default: () => []
431
+ },
432
+ title: {
433
+ type: String,
434
+ default: ""
435
+ },
436
+ cancelText: {
437
+ type: String,
438
+ default: ""
439
+ },
440
+ okText: {
441
+ type: String,
442
+ default: ""
443
+ },
444
+ columns: {
445
+ type: Array,
446
+ default: () => {
447
+ return [];
448
+ }
449
+ },
450
+ threeDimensional: {
451
+ type: Boolean,
452
+ default: true
453
+ },
454
+ swipeDuration: {
455
+ type: [Number, String],
456
+ default: 1e3
457
+ },
458
+ showToolbar: {
459
+ type: Boolean,
460
+ default: true
461
+ },
462
+ visibleOptionNum: {
463
+ type: [Number, String],
464
+ default: 7
465
+ },
466
+ optionHeight: {
467
+ type: [Number, String],
468
+ default: 36
469
+ }
470
+ };
265
471
  const { componentName, create, translate } = createComponent("picker");
266
472
  const _sfc_main = create({
267
473
  components: {
268
- [column.name]: column,
269
- [Popup.name]: Popup
270
- },
271
- props: {
272
- ...popupProps,
273
- modelValue: {
274
- type: Array,
275
- default: () => []
276
- },
277
- title: {
278
- type: String,
279
- default: ""
280
- },
281
- cancelText: {
282
- type: String,
283
- default: ""
284
- },
285
- okText: {
286
- type: String,
287
- default: ""
288
- },
289
- columns: {
290
- type: Array,
291
- default: () => {
292
- return [];
293
- }
294
- },
295
- readonly: {
296
- type: Boolean,
297
- default: false
298
- },
299
- threeDimensional: {
300
- type: Boolean,
301
- default: true
302
- },
303
- swipeDuration: {
304
- type: [Number, String],
305
- default: 1e3
306
- },
307
- showOkText: {
308
- type: Boolean,
309
- default: true
310
- },
311
- showCancelText: {
312
- type: Boolean,
313
- default: true
314
- }
474
+ [column.name]: column
315
475
  },
316
- emits: ["close", "change", "confirm", "update:visible", "update:modelValue"],
476
+ props: baseProps,
477
+ emits: ["cancel", "change", "confirm", "update:modelValue"],
317
478
  setup(props, { emit }) {
318
- const state = reactive({
319
- show: false,
320
- formattedColumns: props.columns
321
- });
322
- let defaultValues = ref(
323
- Array.isArray(props.modelValue) && props.modelValue.length > 0 ? props.modelValue : []
324
- );
479
+ const { changeHandler, confirm, defaultValues, columnsList, columnsType, classes, cancel } = usePicker(props, emit);
325
480
  const pickerColumn = ref([]);
326
481
  const swipeRef = (el) => {
327
482
  if (el && pickerColumn.value.length < columnsList.value.length) {
328
483
  pickerColumn.value.push(el);
329
484
  }
330
485
  };
331
- const classes = computed(() => {
332
- const prefixCls = componentName;
333
- return {
334
- [prefixCls]: true
335
- };
336
- });
337
- const selectedOptions = computed(() => {
338
- let optins = [];
339
- columnsList.value.map((column2, index) => {
340
- let currOptions = [];
341
- currOptions = column2.filter((item) => item.value == defaultValues.value[index]);
342
- optins.push(currOptions[0]);
343
- });
344
- return optins;
486
+ const columnStyle = computed(() => {
487
+ const styles = {};
488
+ styles.height = `${+props.visibleOptionNum * +props.optionHeight}px`;
489
+ styles["--lineHeight"] = `${+props.optionHeight}px`;
490
+ return styles;
345
491
  });
346
- const columnsType = computed(() => {
347
- const firstColumn = state.formattedColumns[0];
348
- if (firstColumn) {
349
- if (Array.isArray(firstColumn)) {
350
- return "multiple";
351
- }
352
- if ("children" in firstColumn) {
353
- return "cascade";
354
- }
355
- }
356
- return "single";
357
- });
358
- const columnsList = computed(() => {
359
- switch (columnsType.value) {
360
- case "multiple":
361
- return state.formattedColumns;
362
- case "cascade":
363
- return formatCascade(
364
- state.formattedColumns,
365
- defaultValues.value ? defaultValues.value : []
366
- );
367
- default:
368
- return [state.formattedColumns];
369
- }
370
- });
371
- const formatCascade = (columns, defaultValues2) => {
372
- const formatted = [];
373
- let cursor = {
374
- text: "",
375
- value: "",
376
- children: columns
377
- };
378
- let columnIndex = 0;
379
- while (cursor && cursor.children) {
380
- const options = cursor.children;
381
- const value = defaultValues2[columnIndex];
382
- let index = options.findIndex((columnItem) => columnItem.value == value);
383
- if (index == -1)
384
- index = 0;
385
- cursor = cursor.children[index];
386
- columnIndex++;
387
- formatted.push(options);
388
- }
389
- return formatted;
390
- };
391
- const close = () => {
392
- emit("close", {
393
- selectedValue: defaultValues.value,
394
- selectedOptions: selectedOptions.value
395
- });
396
- emit("update:visible", false);
397
- };
398
- const changeHandler = (columnIndex, option) => {
399
- if (option && Object.keys(option).length) {
400
- defaultValues.value = defaultValues.value ? defaultValues.value : [];
401
- if (columnsType.value === "cascade") {
402
- defaultValues.value[columnIndex] = option.value ? option.value : "";
403
- let index = columnIndex;
404
- let cursor = option;
405
- while (cursor && cursor.children && cursor.children[0]) {
406
- defaultValues.value[index + 1] = cursor.children[0].value;
407
- index++;
408
- cursor = cursor.children[0];
409
- }
410
- if (cursor && cursor.children && cursor.children.length == 0) {
411
- defaultValues.value = defaultValues.value.slice(0, index + 1);
412
- }
413
- } else {
414
- defaultValues.value[columnIndex] = option.hasOwnProperty("value") ? option.value : "";
415
- }
416
- emit("change", {
417
- columnIndex,
418
- selectedValue: defaultValues.value,
419
- selectedOptions: selectedOptions.value
420
- });
421
- }
422
- };
423
492
  const confirmHandler = () => {
424
493
  pickerColumn.value.length > 0 && pickerColumn.value.forEach((column2) => {
425
494
  column2.stopMomentum();
426
495
  });
427
- if (defaultValues.value && !defaultValues.value.length) {
428
- columnsList.value.forEach((columns) => {
429
- defaultValues.value.push(columns[0].value);
430
- selectedOptions.value.push(columns[0]);
431
- });
432
- }
433
- emit("confirm", {
434
- selectedValue: defaultValues.value,
435
- selectedOptions: selectedOptions.value
436
- });
437
- emit("update:visible", false);
496
+ confirm();
438
497
  };
439
- const isSameValue = (valA, valB) => JSON.stringify(valA) === JSON.stringify(valB);
440
- onMounted(() => {
441
- if (props.visible)
442
- state.show = props.visible;
443
- });
444
- onBeforeUnmount(() => {
445
- if (props.visible)
446
- state.show = false;
447
- });
448
- watch(
449
- () => props.modelValue,
450
- (newValues) => {
451
- if (!isSameValue(newValues, defaultValues.value)) {
452
- defaultValues.value = newValues;
453
- }
454
- },
455
- { deep: true }
456
- );
457
- watch(
458
- defaultValues,
459
- (newValues) => {
460
- if (!isSameValue(newValues, props.modelValue)) {
461
- emit("update:modelValue", newValues);
462
- }
463
- },
464
- { deep: true }
465
- );
466
- watch(
467
- () => props.visible,
468
- (val) => {
469
- state.show = val;
470
- if (val) {
471
- pickerColumn.value = [];
472
- }
473
- }
474
- );
475
- watch(
476
- () => props.columns,
477
- (val) => {
478
- if (val.length)
479
- state.formattedColumns = val;
480
- }
481
- );
482
498
  return {
483
499
  classes,
484
- ...toRefs(state),
485
500
  column,
486
501
  columnsType,
487
502
  columnsList,
488
- close,
503
+ cancel,
489
504
  changeHandler,
490
505
  confirmHandler,
491
506
  defaultValues,
492
507
  translate,
493
508
  pickerColumn,
494
- swipeRef
509
+ swipeRef,
510
+ columnStyle
495
511
  };
496
512
  }
497
513
  });
498
- const _hoisted_1 = { class: "nut-picker__bar" };
514
+ const _hoisted_1 = {
515
+ key: 0,
516
+ class: "nut-picker__bar"
517
+ };
499
518
  const _hoisted_2 = { class: "nut-picker__title" };
500
- const _hoisted_3 = { class: "nut-picker__column" };
501
519
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
502
520
  const _component_nut_picker_column = resolveComponent("nut-picker-column");
503
- const _component_nut_popup = resolveComponent("nut-popup");
504
- return openBlock(), createElementBlock("view", {
521
+ return openBlock(), createElementBlock("div", {
505
522
  class: normalizeClass(_ctx.classes)
506
523
  }, [
507
- createVNode(_component_nut_popup, {
508
- position: "bottom",
509
- visible: _ctx.show,
510
- "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => _ctx.show = $event),
511
- teleport: _ctx.teleport,
512
- "lock-scroll": _ctx.lockScroll,
513
- "close-on-click-overlay": _ctx.closeOnClickOverlay,
514
- onClose: _ctx.close,
515
- round: true,
516
- teleportDisable: _ctx.teleportDisable,
517
- safeAreaInsetBottom: _ctx.safeAreaInsetBottom,
518
- destroyOnClose: _ctx.destroyOnClose
519
- }, {
520
- default: withCtx(() => [
521
- createElementVNode("view", _hoisted_1, [
522
- _ctx.showCancelText ? (openBlock(), createElementBlock("view", {
523
- key: 0,
524
- class: "nut-picker__left",
525
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.close && _ctx.close(...args))
526
- }, toDisplayString(_ctx.cancelText || _ctx.translate("cancel")), 1)) : createCommentVNode("", true),
527
- createElementVNode("view", _hoisted_2, toDisplayString(_ctx.title), 1),
528
- _ctx.showOkText ? (openBlock(), createElementBlock("view", {
529
- key: 1,
530
- class: "nut-picker__right",
531
- onClick: _cache[1] || (_cache[1] = ($event) => _ctx.confirmHandler())
532
- }, toDisplayString(_ctx.okText || _ctx.translate("confirm")), 1)) : createCommentVNode("", true)
533
- ]),
534
- renderSlot(_ctx.$slots, "top"),
535
- createElementVNode("view", _hoisted_3, [
536
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columnsList, (column2, columnIndex) => {
537
- return openBlock(), createElementBlock("view", {
538
- class: "nut-picker__columnitem",
539
- key: columnIndex
540
- }, [
541
- createVNode(_component_nut_picker_column, {
542
- ref_for: true,
543
- ref: _ctx.swipeRef,
544
- itemShow: _ctx.show,
545
- column: column2,
546
- readonly: _ctx.readonly,
547
- columnsType: _ctx.columnsType,
548
- value: _ctx.defaultValues && _ctx.defaultValues[columnIndex],
549
- threeDimensional: _ctx.threeDimensional,
550
- swipeDuration: _ctx.swipeDuration,
551
- onChange: (option) => {
552
- _ctx.changeHandler(columnIndex, option);
553
- }
554
- }, null, 8, ["itemShow", "column", "readonly", "columnsType", "value", "threeDimensional", "swipeDuration", "onChange"])
555
- ]);
556
- }), 128))
557
- ]),
558
- renderSlot(_ctx.$slots, "default")
559
- ]),
560
- _: 3
561
- }, 8, ["visible", "teleport", "lock-scroll", "close-on-click-overlay", "onClose", "teleportDisable", "safeAreaInsetBottom", "destroyOnClose"])
524
+ _ctx.showToolbar ? (openBlock(), createElementBlock("view", _hoisted_1, [
525
+ createElementVNode("view", {
526
+ class: "nut-picker__left",
527
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.cancel && _ctx.cancel(...args))
528
+ }, toDisplayString(_ctx.cancelText || _ctx.translate("cancel")), 1),
529
+ createElementVNode("view", _hoisted_2, toDisplayString(_ctx.title), 1),
530
+ createElementVNode("view", {
531
+ class: "nut-picker__right",
532
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.confirmHandler())
533
+ }, toDisplayString(_ctx.okText || _ctx.translate("confirm")), 1)
534
+ ])) : createCommentVNode("", true),
535
+ renderSlot(_ctx.$slots, "top"),
536
+ createElementVNode("view", {
537
+ class: "nut-picker__column",
538
+ style: normalizeStyle(_ctx.columnStyle)
539
+ }, [
540
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columnsList, (column2, columnIndex) => {
541
+ return openBlock(), createElementBlock("view", {
542
+ class: "nut-picker__columnitem",
543
+ key: columnIndex
544
+ }, [
545
+ createVNode(_component_nut_picker_column, {
546
+ ref_for: true,
547
+ ref: _ctx.swipeRef,
548
+ column: column2,
549
+ columnsType: _ctx.columnsType,
550
+ value: _ctx.defaultValues && _ctx.defaultValues[columnIndex],
551
+ threeDimensional: _ctx.threeDimensional,
552
+ swipeDuration: _ctx.swipeDuration,
553
+ visibleOptionNum: _ctx.visibleOptionNum,
554
+ optionHeight: _ctx.optionHeight,
555
+ onChange: (option) => {
556
+ _ctx.changeHandler(columnIndex, option);
557
+ }
558
+ }, null, 8, ["column", "columnsType", "value", "threeDimensional", "swipeDuration", "visibleOptionNum", "optionHeight", "onChange"])
559
+ ]);
560
+ }), 128))
561
+ ], 4),
562
+ renderSlot(_ctx.$slots, "default")
562
563
  ], 2);
563
564
  }
564
- var Picker = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
565
- export { Picker as default };
565
+ const Picker = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
566
+ export {
567
+ Picker as default
568
+ };