@nutui/nutui-react 1.2.3-beta.4 → 1.3.1-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 (334) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/esm/Audio/style/index.js +4 -0
  3. package/dist/esm/Audio.js +293 -0
  4. package/dist/esm/Avatar.js +7 -5
  5. package/dist/esm/Calendar/style/index.js +1 -2
  6. package/dist/esm/Calendar.js +80 -33
  7. package/dist/esm/CalendarItem.js +440 -238
  8. package/dist/esm/Cascader/style/index.js +2 -0
  9. package/dist/esm/Cascader.js +788 -0
  10. package/dist/esm/CheckboxGroup.js +0 -1
  11. package/dist/esm/ConfigProvider.js +16 -0
  12. package/dist/esm/DatePicker.js +37 -6
  13. package/dist/esm/Dialog.js +9 -16
  14. package/dist/esm/Drag.js +1 -1
  15. package/dist/esm/Elevator.js +16 -5
  16. package/dist/esm/Grid/style/index.js +2 -0
  17. package/dist/esm/Grid.js +91 -0
  18. package/dist/esm/GridItem/style/index.js +2 -0
  19. package/dist/esm/GridItem.js +99 -0
  20. package/dist/esm/Icon/style/index.js +1 -0
  21. package/dist/esm/Icon.js +2 -2
  22. package/dist/esm/ImagePreview/style/index.js +2 -0
  23. package/dist/esm/ImagePreview.js +257 -0
  24. package/dist/esm/Input.js +8 -2
  25. package/dist/esm/InputNumber.js +11 -11
  26. package/dist/esm/Menu/style/index.js +3 -0
  27. package/dist/esm/Menu.js +153 -0
  28. package/dist/esm/MenuItem/style/index.js +3 -0
  29. package/dist/esm/MenuItem.js +197 -0
  30. package/dist/esm/NoticeBar.js +70 -30
  31. package/dist/esm/Notify.js +19 -4
  32. package/dist/esm/Picker.js +9 -4
  33. package/dist/esm/Popover.js +57 -80
  34. package/dist/esm/Price.js +14 -3
  35. package/dist/esm/Progress.js +1 -1
  36. package/dist/esm/Range.js +11 -48
  37. package/dist/esm/Swipe/style/index.js +2 -0
  38. package/dist/esm/Swipe.js +265 -0
  39. package/dist/esm/Swiper.js +2 -1
  40. package/dist/esm/TabPane.js +5 -33
  41. package/dist/esm/TabbarItem.js +1 -1
  42. package/dist/esm/Tabs.js +6 -196
  43. package/dist/esm/Tag.js +1 -1
  44. package/dist/esm/TextArea.js +48 -4
  45. package/dist/esm/Toast.js +24 -13
  46. package/dist/esm/Uploader.js +16 -6
  47. package/dist/esm/{icon-62bd7379.js → icon-8dc4de10.js} +9 -9
  48. package/dist/esm/nutui-react.es.js +8 -0
  49. package/dist/esm/render-4a3856cb.js +32 -0
  50. package/dist/esm/tabpane-c957ab14.js +33 -0
  51. package/dist/esm/tabs-a48583e9.js +196 -0
  52. package/dist/esm/useClientRect-839d18c5.js +44 -0
  53. package/dist/locales/base.d.ts +16 -0
  54. package/dist/locales/base.js +1 -1
  55. package/dist/locales/en-US.js +17 -1
  56. package/dist/locales/id-ID.js +17 -1
  57. package/dist/locales/zh-CN.js +17 -1
  58. package/dist/locales/zh-TW.js +17 -1
  59. package/dist/nutui.react.es.js +2639 -768
  60. package/dist/nutui.react.umd.js +2646 -767
  61. package/dist/packages/audio/audio.scss +80 -0
  62. package/dist/packages/calendar/calendar.scss +57 -36
  63. package/dist/packages/calendaritem/calendaritem.scss +0 -191
  64. package/dist/packages/cascader/cascader.scss +69 -0
  65. package/dist/packages/col/col.scss +2 -2
  66. package/dist/packages/collapseitem/collapseitem.scss +1 -2
  67. package/dist/packages/grid/grid.scss +10 -0
  68. package/dist/packages/griditem/griditem.scss +103 -0
  69. package/dist/packages/icon/icon.scss +104 -12
  70. package/dist/packages/imagepreview/imagepreview.scss +51 -0
  71. package/dist/packages/menu/menu.scss +72 -0
  72. package/dist/packages/menuitem/menuitem.scss +90 -0
  73. package/dist/packages/noticebar/noticebar.scss +31 -15
  74. package/dist/packages/notify/notify.scss +9 -0
  75. package/dist/packages/popover/popover.scss +205 -83
  76. package/dist/packages/popup/popup.scss +1 -1
  77. package/dist/packages/rate/rate.scss +14 -13
  78. package/dist/packages/searchbar/searchbar.scss +1 -0
  79. package/dist/packages/shortpassword/shortpassword.scss +6 -1
  80. package/dist/packages/swipe/swipe.scss +33 -0
  81. package/dist/packages/textarea/textarea.scss +16 -1
  82. package/dist/packages/toast/toast.scss +16 -13
  83. package/dist/style.css +1 -1
  84. package/dist/style.es.js +1 -1
  85. package/dist/styles/animation/icon.scss +245 -0
  86. package/dist/styles/animation/index.scss +1 -0
  87. package/dist/styles/font/config.json +169 -0
  88. package/dist/styles/font/demo_index.html +210 -3
  89. package/dist/styles/font/iconfont.css +39 -3
  90. package/dist/styles/font/iconfont.js +42 -40
  91. package/dist/styles/font/iconfont.json +63 -0
  92. package/dist/styles/font/iconfont.ttf +0 -0
  93. package/dist/styles/font/iconfont.woff +0 -0
  94. package/dist/styles/font/iconfont.woff2 +0 -0
  95. package/dist/styles/themes/default.scss +8 -0
  96. package/dist/styles/variables.scss +82 -15
  97. package/dist/types/actionsheet/actionsheet.taro.d.ts +20 -0
  98. package/dist/types/actionsheet/index.taro.d.ts +2 -0
  99. package/dist/types/address/address.taro.d.ts +34 -0
  100. package/dist/types/address/index.taro.d.ts +2 -0
  101. package/dist/types/animatingnumbers/animatingnumbers.taro.d.ts +12 -0
  102. package/dist/types/animatingnumbers/countup.taro.d.ts +11 -0
  103. package/dist/types/animatingnumbers/index.taro.d.ts +2 -0
  104. package/dist/types/audio/__test__/audio.spec.d.ts +1 -0
  105. package/dist/types/audio/audio.d.ts +18 -0
  106. package/dist/types/audio/audio.taro.d.ts +18 -0
  107. package/dist/types/audio/demo.d.ts +4 -0
  108. package/dist/types/audio/index.d.ts +2 -0
  109. package/dist/types/audio/index.taro.d.ts +2 -0
  110. package/dist/types/avatar/avatar.taro.d.ts +17 -0
  111. package/dist/types/avatar/index.taro.d.ts +2 -0
  112. package/dist/types/avatargroup/index.taro.d.ts +2 -0
  113. package/dist/types/backtop/__test__/backtop.spec.d.ts +1 -0
  114. package/dist/types/backtop/backtop.taro.d.ts +15 -0
  115. package/dist/types/backtop/index.taro.d.ts +2 -0
  116. package/dist/types/badge/badge.taro.d.ts +14 -0
  117. package/dist/types/badge/index.taro.d.ts +2 -0
  118. package/dist/types/barrage/barrage.taro.d.ts +12 -0
  119. package/dist/types/barrage/index.taro.d.ts +2 -0
  120. package/dist/types/button/button.taro.d.ts +20 -0
  121. package/dist/types/button/index.taro.d.ts +2 -0
  122. package/dist/types/calendar/__tests__/calendar.spec.d.ts +1 -0
  123. package/dist/types/calendar/calendar.d.ts +22 -2
  124. package/dist/types/calendar/calendar.taro.d.ts +14 -0
  125. package/dist/types/calendar/demo.d.ts +1 -0
  126. package/dist/types/calendar/index.taro.d.ts +2 -0
  127. package/dist/types/calendaritem/calendaritem.d.ts +21 -3
  128. package/dist/types/calendaritem/calendaritem.taro.d.ts +17 -0
  129. package/dist/types/calendaritem/index.taro.d.ts +2 -0
  130. package/dist/types/card/card.taro.d.ts +17 -0
  131. package/dist/types/card/index.taro.d.ts +2 -0
  132. package/dist/types/cascader/__tests__/cascader.spec.d.ts +1 -0
  133. package/dist/types/cascader/cascader.d.ts +25 -0
  134. package/dist/types/cascader/cascader.taro.d.ts +25 -0
  135. package/dist/types/cascader/cascaderItem.d.ts +25 -0
  136. package/dist/types/cascader/cascaderItem.taro.d.ts +25 -0
  137. package/dist/types/cascader/demo.d.ts +3 -0
  138. package/dist/types/cascader/helper.d.ts +4 -0
  139. package/dist/types/cascader/index.d.ts +2 -0
  140. package/dist/types/cascader/index.taro.d.ts +2 -0
  141. package/dist/types/cascader/tree.d.ts +12 -0
  142. package/dist/types/cascader/types.d.ts +28 -0
  143. package/dist/types/cell/cell.taro.d.ts +20 -0
  144. package/dist/types/cell/index.taro.d.ts +2 -0
  145. package/dist/types/cellgroup/cellgroup.taro.d.ts +10 -0
  146. package/dist/types/cellgroup/index.taro.d.ts +2 -0
  147. package/dist/types/checkbox/checkbox.d.ts +2 -2
  148. package/dist/types/checkbox/checkbox.taro.d.ts +19 -0
  149. package/dist/types/checkbox/index.taro.d.ts +2 -0
  150. package/dist/types/checkboxgroup/checkboxgroup.d.ts +2 -2
  151. package/dist/types/checkboxgroup/checkboxgroup.taro.d.ts +8 -0
  152. package/dist/types/checkboxgroup/index.taro.d.ts +2 -0
  153. package/dist/types/circleprogress/circleprogress.taro.d.ts +15 -0
  154. package/dist/types/circleprogress/index.taro.d.ts +2 -0
  155. package/dist/types/col/col.taro.d.ts +10 -0
  156. package/dist/types/col/index.taro.d.ts +2 -0
  157. package/dist/types/collapse/collapse.taro.d.ts +12 -0
  158. package/dist/types/collapse/index.taro.d.ts +2 -0
  159. package/dist/types/collapseitem/index.taro.d.ts +2 -0
  160. package/dist/types/configprovider/configprovider.taro.d.ts +12 -0
  161. package/dist/types/configprovider/index.taro.d.ts +2 -0
  162. package/dist/types/countdown/countdown.taro.d.ts +15 -0
  163. package/dist/types/countdown/index.taro.d.ts +2 -0
  164. package/dist/types/datepicker/datepicker.taro.d.ts +27 -0
  165. package/dist/types/datepicker/index.taro.d.ts +2 -0
  166. package/dist/types/dialog/__test__/dialog.spec.d.ts +1 -0
  167. package/dist/types/dialog/config.d.ts +3 -3
  168. package/dist/types/dialog/dialog.d.ts +2 -1
  169. package/dist/types/dialog/dialog.taro.d.ts +3 -0
  170. package/dist/types/dialog/index.taro.d.ts +2 -0
  171. package/dist/types/divider/divider.taro.d.ts +12 -0
  172. package/dist/types/divider/index.taro.d.ts +2 -0
  173. package/dist/types/drag/drag.taro.d.ts +14 -0
  174. package/dist/types/drag/index.taro.d.ts +2 -0
  175. package/dist/types/elevator/elevator.taro.d.ts +22 -0
  176. package/dist/types/elevator/index.taro.d.ts +2 -0
  177. package/dist/types/empty/empty.taro.d.ts +8 -0
  178. package/dist/types/empty/index.taro.d.ts +2 -0
  179. package/dist/types/fixednav/fixednav.d.ts +2 -2
  180. package/dist/types/fixednav/fixednav.taro.d.ts +22 -0
  181. package/dist/types/fixednav/index.taro.d.ts +2 -0
  182. package/dist/types/grid/__test__/grid.spec.d.ts +1 -0
  183. package/dist/types/grid/demo.d.ts +3 -0
  184. package/dist/types/grid/grid.d.ts +16 -0
  185. package/dist/types/grid/grid.taro.d.ts +16 -0
  186. package/dist/types/grid/index.d.ts +2 -0
  187. package/dist/types/grid/index.taro.d.ts +2 -0
  188. package/dist/types/griditem/griditem.d.ts +20 -0
  189. package/dist/types/griditem/griditem.taro.d.ts +20 -0
  190. package/dist/types/griditem/index.d.ts +2 -0
  191. package/dist/types/griditem/index.taro.d.ts +2 -0
  192. package/dist/types/icon/icon.d.ts +10 -5
  193. package/dist/types/icon/icon.taro.d.ts +18 -0
  194. package/dist/types/icon/index.taro.d.ts +2 -0
  195. package/dist/types/imagepreview/__test__/imagepreview.spec.d.ts +1 -0
  196. package/dist/types/imagepreview/demo.d.ts +3 -0
  197. package/dist/types/imagepreview/imagepreview.d.ts +26 -0
  198. package/dist/types/imagepreview/imagepreview.taro.d.ts +26 -0
  199. package/dist/types/imagepreview/index.d.ts +2 -0
  200. package/dist/types/imagepreview/index.taro.d.ts +2 -0
  201. package/dist/types/indicator/index.taro.d.ts +2 -0
  202. package/dist/types/indicator/indicator.taro.d.ts +10 -0
  203. package/dist/types/infiniteloading/index.taro.d.ts +2 -0
  204. package/dist/types/infiniteloading/infiniteloading.taro.d.ts +20 -0
  205. package/dist/types/input/__test__/input.spec.d.ts +1 -0
  206. package/dist/types/input/index.taro.d.ts +2 -0
  207. package/dist/types/input/input.taro.d.ts +57 -0
  208. package/dist/types/inputnumber/index.taro.d.ts +2 -0
  209. package/dist/types/inputnumber/inputnumber.taro.d.ts +22 -0
  210. package/dist/types/layout/index.taro.d.ts +2 -0
  211. package/dist/types/layout/layout.taro.d.ts +4 -0
  212. package/dist/types/menu/__test__/menu.spec.d.ts +1 -0
  213. package/dist/types/menu/demo.d.ts +4 -0
  214. package/dist/types/menu/index.d.ts +2 -0
  215. package/dist/types/menu/index.taro.d.ts +2 -0
  216. package/dist/types/menu/menu.d.ts +12 -0
  217. package/dist/types/menu/menu.taro.d.ts +12 -0
  218. package/dist/types/menuitem/index.d.ts +2 -0
  219. package/dist/types/menuitem/index.taro.d.ts +2 -0
  220. package/dist/types/menuitem/menuitem.d.ts +23 -0
  221. package/dist/types/menuitem/menuitem.taro.d.ts +23 -0
  222. package/dist/types/navbar/index.taro.d.ts +2 -0
  223. package/dist/types/navbar/navbar.taro.d.ts +21 -0
  224. package/dist/types/noticebar/demo.d.ts +1 -0
  225. package/dist/types/noticebar/index.taro.d.ts +2 -0
  226. package/dist/types/noticebar/noticebar.d.ts +1 -1
  227. package/dist/types/noticebar/noticebar.taro.d.ts +23 -0
  228. package/dist/types/notify/Notification.d.ts +8 -7
  229. package/dist/types/notify/__test__/notify.spec.d.ts +1 -0
  230. package/dist/types/notify/index.taro.d.ts +2 -0
  231. package/dist/types/notify/notify.d.ts +13 -0
  232. package/dist/types/notify/notify.taro.d.ts +23 -0
  233. package/dist/types/numberkeyboard/index.taro.d.ts +2 -0
  234. package/dist/types/numberkeyboard/numberkeyboard.taro.d.ts +20 -0
  235. package/dist/types/nutui.react.d.ts +95 -1
  236. package/dist/types/overlay/index.taro.d.ts +2 -0
  237. package/dist/types/overlay/overlay.taro.d.ts +12 -0
  238. package/dist/types/pagination/index.taro.d.ts +2 -0
  239. package/dist/types/pagination/pagination.taro.d.ts +19 -0
  240. package/dist/types/picker/doc.en.d.ts +142 -0
  241. package/dist/types/picker/index.taro.d.ts +2 -0
  242. package/dist/types/picker/picker.d.ts +3 -2
  243. package/dist/types/picker/picker.taro.d.ts +24 -0
  244. package/dist/types/picker/pickerSlot.d.ts +1 -0
  245. package/dist/types/popover/__tests__/popover.spec.d.ts +1 -0
  246. package/dist/types/popover/index.taro.d.ts +2 -0
  247. package/dist/types/popover/popover.d.ts +14 -7
  248. package/dist/types/popover/popover.taro.d.ts +21 -0
  249. package/dist/types/popup/index.taro.d.ts +2 -0
  250. package/dist/types/popup/popup.d.ts +1 -1
  251. package/dist/types/popup/popup.taro.d.ts +25 -0
  252. package/dist/types/price/index.taro.d.ts +2 -0
  253. package/dist/types/price/price.taro.d.ts +11 -0
  254. package/dist/types/progress/index.taro.d.ts +2 -0
  255. package/dist/types/progress/progress.taro.d.ts +26 -0
  256. package/dist/types/radio/index.taro.d.ts +2 -0
  257. package/dist/types/radio/radio.taro.d.ts +21 -0
  258. package/dist/types/radiogroup/index.taro.d.ts +2 -0
  259. package/dist/types/range/index.taro.d.ts +2 -0
  260. package/dist/types/range/range.taro.d.ts +25 -0
  261. package/dist/types/rate/index.taro.d.ts +2 -0
  262. package/dist/types/rate/rate.taro.d.ts +17 -0
  263. package/dist/types/row/index.taro.d.ts +2 -0
  264. package/dist/types/row/row.taro.d.ts +12 -0
  265. package/dist/types/searchbar/index.taro.d.ts +2 -0
  266. package/dist/types/searchbar/searchbar.taro.d.ts +60 -0
  267. package/dist/types/shortpassword/index.taro.d.ts +2 -0
  268. package/dist/types/shortpassword/shortpassword.taro.d.ts +21 -0
  269. package/dist/types/sidenavbar/index.taro.d.ts +2 -0
  270. package/dist/types/sidenavbar/sidenavbar.d.ts +14 -2
  271. package/dist/types/sidenavbar/sidenavbar.taro.d.ts +15 -0
  272. package/dist/types/sidenavbaritem/index.taro.d.ts +2 -0
  273. package/dist/types/sidenavbaritem/sidenavbaritem.d.ts +10 -2
  274. package/dist/types/sidenavbaritem/sidenavbaritem.taro.d.ts +11 -0
  275. package/dist/types/signature/index.taro.d.ts +2 -0
  276. package/dist/types/signature/signature.taro.d.ts +11 -0
  277. package/dist/types/skeleton/index.taro.d.ts +2 -0
  278. package/dist/types/skeleton/skeleton.taro.d.ts +19 -0
  279. package/dist/types/step/index.taro.d.ts +2 -0
  280. package/dist/types/steps/index.taro.d.ts +2 -0
  281. package/dist/types/steps/steps.taro.d.ts +10 -0
  282. package/dist/types/subsidenavbar/index.taro.d.ts +2 -0
  283. package/dist/types/subsidenavbar/subsidenavbar.d.ts +13 -3
  284. package/dist/types/subsidenavbar/subsidenavbar.taro.d.ts +13 -0
  285. package/dist/types/swipe/__tests__/swipe.spec.d.ts +1 -0
  286. package/dist/types/swipe/demo.d.ts +3 -0
  287. package/dist/types/swipe/index.d.ts +2 -0
  288. package/dist/types/swipe/index.taro.d.ts +2 -0
  289. package/dist/types/swipe/swipe.d.ts +41 -0
  290. package/dist/types/swipe/swipe.taro.d.ts +41 -0
  291. package/dist/types/swiper/index.taro.d.ts +2 -0
  292. package/dist/types/swiper/swiper.d.ts +1 -2
  293. package/dist/types/swiper/swiper.taro.d.ts +27 -0
  294. package/dist/types/swiperitem/index.taro.d.ts +2 -0
  295. package/dist/types/swiperitem/swiperitem.d.ts +1 -2
  296. package/dist/types/switch/index.taro.d.ts +2 -0
  297. package/dist/types/switch/switch.taro.d.ts +14 -0
  298. package/dist/types/tabbar/index.taro.d.ts +2 -0
  299. package/dist/types/tabbar/tabbar.taro.d.ts +14 -0
  300. package/dist/types/tabbaritem/index.taro.d.ts +2 -0
  301. package/dist/types/tabbaritem/tabbaritem.taro.d.ts +17 -0
  302. package/dist/types/table/index.taro.d.ts +2 -0
  303. package/dist/types/table/table.d.ts +2 -1
  304. package/dist/types/table/table.taro.d.ts +4 -0
  305. package/dist/types/table/types.d.ts +1 -1
  306. package/dist/types/tabpane/index.taro.d.ts +2 -0
  307. package/dist/types/tabpane/tabpane.taro.d.ts +10 -0
  308. package/dist/types/tabs/index.taro.d.ts +2 -0
  309. package/dist/types/tabs/tabs.taro.d.ts +30 -0
  310. package/dist/types/tag/index.taro.d.ts +2 -0
  311. package/dist/types/tag/tag.taro.d.ts +16 -0
  312. package/dist/types/textarea/__test__/textarea.spec.d.ts +1 -0
  313. package/dist/types/textarea/index.taro.d.ts +2 -0
  314. package/dist/types/textarea/textarea.taro.d.ts +18 -0
  315. package/dist/types/timedetail/index.taro.d.ts +2 -0
  316. package/dist/types/timedetail/timedetail.taro.d.ts +13 -0
  317. package/dist/types/timepannel/index.taro.d.ts +2 -0
  318. package/dist/types/timepannel/timepannel.taro.d.ts +8 -0
  319. package/dist/types/timeselect/index.taro.d.ts +2 -0
  320. package/dist/types/timeselect/timeselect.taro.d.ts +21 -0
  321. package/dist/types/toast/Notification.d.ts +6 -4
  322. package/dist/types/toast/__test__/toast.spec.d.ts +1 -0
  323. package/dist/types/toast/index.taro.d.ts +2 -0
  324. package/dist/types/toast/toast.d.ts +21 -0
  325. package/dist/types/toast/toast.taro.d.ts +29 -0
  326. package/dist/types/uploader/index.taro.d.ts +2 -0
  327. package/dist/types/uploader/uploader.d.ts +2 -2
  328. package/dist/types/uploader/uploader.taro.d.ts +68 -0
  329. package/dist/types/video/index.taro.d.ts +2 -0
  330. package/dist/types/virtuallist/index.taro.d.ts +2 -0
  331. package/dist/types/virtuallist/type.d.ts +1 -1
  332. package/dist/types/virtuallist/virtuallist.d.ts +2 -1
  333. package/dist/types/virtuallist/virtuallist.taro.d.ts +4 -0
  334. package/package.json +18 -7
@@ -0,0 +1,257 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+
4
+ 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; }
5
+
6
+ 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; }
7
+
8
+ import React__default, { useRef, useState, useEffect } from 'react';
9
+ import Popup from './Popup.js';
10
+ import Video from './Video.js';
11
+ import Swiper from './Swiper.js';
12
+ import SwiperItem from './SwiperItem.js';
13
+ var defaultProps = {
14
+ images: [],
15
+ videos: [],
16
+ show: false,
17
+ autoplay: 3000,
18
+ initNo: 1,
19
+ contentClose: false,
20
+ paginationVisible: false,
21
+ paginationColor: '#fff',
22
+ onClose: function onClose() {}
23
+ };
24
+
25
+ var ImagePreview = function ImagePreview(props) {
26
+ var images = props.images,
27
+ videos = props.videos,
28
+ show = props.show,
29
+ initNo = props.initNo,
30
+ paginationColor = props.paginationColor,
31
+ paginationVisible = props.paginationVisible,
32
+ autoplay = props.autoplay,
33
+ contentClose = props.contentClose,
34
+ onClose = props.onClose;
35
+ var nutImagePreview = useRef(null);
36
+
37
+ var _useState = useState(false),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ showPop = _useState2[0],
40
+ setShowPop = _useState2[1];
41
+
42
+ var _useState3 = useState(1),
43
+ _useState4 = _slicedToArray(_useState3, 2),
44
+ active = _useState4[0],
45
+ setActive = _useState4[1];
46
+
47
+ var _useState5 = useState(1),
48
+ _useState6 = _slicedToArray(_useState5, 2),
49
+ maxNo = _useState6[0],
50
+ setMaxNo = _useState6[1];
51
+
52
+ var _useState7 = useState({
53
+ scale: 1,
54
+ moveable: false
55
+ }),
56
+ _useState8 = _slicedToArray(_useState7, 2),
57
+ store = _useState8[0],
58
+ setStore = _useState8[1];
59
+
60
+ var _useState9 = useState(0),
61
+ _useState10 = _slicedToArray(_useState9, 2),
62
+ lastTouchEndTime = _useState10[0],
63
+ setLastTouchEndTime = _useState10[1]; // 用来辅助监听双击
64
+
65
+
66
+ var onTouchStart = function onTouchStart(event) {
67
+ var touches = event.touches;
68
+ var events = touches[0];
69
+ var events2 = touches[1]; // 如果已经放大,双击应变回原尺寸;如果是原尺寸,双击应放大
70
+
71
+ var curTouchTime = new Date().getTime();
72
+
73
+ if (curTouchTime - lastTouchEndTime < 300) {
74
+ var _store = store;
75
+
76
+ if (_store.scale > 1) {
77
+ _store.scale = 1;
78
+ } else if (_store.scale === 1) {
79
+ _store.scale = 2;
80
+ }
81
+
82
+ scaleNow();
83
+ }
84
+
85
+ var store1 = store;
86
+ store1.moveable = true;
87
+
88
+ if (events2) {
89
+ // 如果开始两指操作,记录初始时刻两指间的距离
90
+ store1.oriDistance = getDistance({
91
+ x: events.pageX,
92
+ y: events.pageY
93
+ }, {
94
+ x: events2.pageX,
95
+ y: events2.pageY
96
+ });
97
+ } // 取到开始两指操作时的放大(缩小比例),store.scale 存储的是当前的放缩比(相对于标准大小 scale 为 1 的情况的放大缩小比)
98
+
99
+
100
+ store1.originScale = store1.scale || 1;
101
+ };
102
+
103
+ var onTouchMove = function onTouchMove(event) {
104
+ var touches = event.touches;
105
+ var events = touches[0];
106
+ var events2 = touches[1];
107
+
108
+ if (!store.moveable) {
109
+ return;
110
+ }
111
+
112
+ var store1 = store; // 双指移动
113
+
114
+ if (events2) {
115
+ // 获得当前两点间的距离
116
+ var curDistance = getDistance({
117
+ x: events.pageX,
118
+ y: events.pageY
119
+ }, {
120
+ x: events2.pageX,
121
+ y: events2.pageY
122
+ });
123
+ /** 此处计算倍数,距离放大(缩小) k 倍则 scale 也 扩大(缩小) k 倍。距离放大(缩小)倍数 = 结束时两点距离 除以 开始时两点距离
124
+ * 注意此处的 scale 变化是基于 store.scale 的。
125
+ * store.scale 是一个暂存值,比如第一次放大 2 倍,则 store.scale 为 2。
126
+ * 再次两指触碰的时候,store.originScale 就为 store.scale 的值,基于此时的 store.scale 继续放大缩小。 * */
127
+
128
+ var curScale = curDistance / store1.oriDistance;
129
+ store1.scale = store1.originScale * curScale; // 最大放大 3 倍,缩小后松手要弹回原比例
130
+
131
+ if (store1.scale > 3) {
132
+ store1.scale = 3;
133
+ }
134
+
135
+ scaleNow();
136
+ }
137
+ };
138
+
139
+ var onTouchEnd = function onTouchEnd() {
140
+ setLastTouchEndTime(new Date().getTime());
141
+ var store1 = store;
142
+ store1.moveable = false;
143
+
144
+ if (store1.scale < 1.1 && store1.scale > 1 || store1.scale < 1) {
145
+ store1.scale = 1;
146
+ scaleNow();
147
+ }
148
+ };
149
+
150
+ var init = function init() {
151
+ document.addEventListener('touchmove', onTouchMove);
152
+ document.addEventListener('touchend', onTouchEnd);
153
+ document.addEventListener('touchcancel', onTouchEnd);
154
+ };
155
+
156
+ useEffect(function () {
157
+ if (show !== undefined) {
158
+ setShowPop(show);
159
+ init();
160
+ }
161
+ }, [show]);
162
+ useEffect(function () {
163
+ if (initNo !== undefined) {
164
+ setActive(initNo);
165
+ }
166
+
167
+ if (show !== undefined) {
168
+ setShowPop(show);
169
+ }
170
+
171
+ if (images && videos) {
172
+ setMaxNo(images.length + videos.length);
173
+ }
174
+ }, []);
175
+
176
+ var scaleNow = function scaleNow() {
177
+ if (nutImagePreview.current) {
178
+ nutImagePreview.current.style.transform = "scale(".concat(store.scale, ")");
179
+ }
180
+ };
181
+
182
+ var onCloseInner = function onCloseInner() {
183
+ setShowPop(false);
184
+ setActive(1);
185
+ scaleNow();
186
+ onClose && onClose();
187
+ setStore(_objectSpread(_objectSpread({}, store), {}, {
188
+ scale: 1
189
+ }));
190
+ }; // 计算两个点的距离
191
+
192
+
193
+ var getDistance = function getDistance(first, second) {
194
+ // 计算两个点起始时刻的距离和终止时刻的距离,终止时刻距离变大了则放大,变小了则缩小
195
+ // 放大 k 倍则 scale 也 扩大 k 倍
196
+ return Math.hypot(Math.abs(second.x - first.x), Math.abs(second.y - first.y));
197
+ };
198
+
199
+ var slideChangeEnd = function slideChangeEnd(page) {
200
+ setActive(page + 1);
201
+ };
202
+
203
+ var closeOnImg = function closeOnImg() {
204
+ // 点击内容区域的图片是否可以关闭弹层(视频区域由于nut-video做了限制,无法关闭弹层)
205
+ if (contentClose) {
206
+ onCloseInner();
207
+ }
208
+ };
209
+
210
+ return React__default.createElement(Popup, {
211
+ visible: showPop,
212
+ popClass: "custom-pop",
213
+ style: {
214
+ width: '100%'
215
+ },
216
+ onClick: onCloseInner
217
+ }, React__default.createElement("div", {
218
+ className: "nut-imagepreview",
219
+ ref: nutImagePreview,
220
+ onClick: closeOnImg,
221
+ onTouchStart: onTouchStart
222
+ }, React__default.createElement(Swiper, {
223
+ autoPlay: autoplay,
224
+ className: "nut-imagepreview-swiper",
225
+ loop: true,
226
+ isPreventDefault: false,
227
+ style: {
228
+ display: showPop ? 'block' : 'none'
229
+ },
230
+ direction: "horizontal",
231
+ onChange: slideChangeEnd,
232
+ initPage: initNo && (initNo > maxNo ? maxNo - 1 : initNo - 1),
233
+ paginationColor: paginationColor,
234
+ paginationVisible: paginationVisible
235
+ }, videos && videos.length > 0 && videos.map(function (item, index) {
236
+ return React__default.createElement(SwiperItem, {
237
+ key: index
238
+ }, React__default.createElement(Video, {
239
+ source: item.source,
240
+ options: item.options
241
+ }));
242
+ }), images && images.length > 0 && images.map(function (item, index) {
243
+ return React__default.createElement(SwiperItem, {
244
+ key: index
245
+ }, React__default.createElement("img", {
246
+ src: item.src,
247
+ alt: "",
248
+ className: "nut-imagepreview-img"
249
+ }));
250
+ }))), React__default.createElement("div", {
251
+ className: "nut-imagepreview-index"
252
+ }, active, "/", (images ? images.length : 0) + (videos ? videos.length : 0)));
253
+ };
254
+
255
+ ImagePreview.defaultProps = defaultProps;
256
+ ImagePreview.displayName = 'NutImagePreview';
257
+ export { ImagePreview as default };
package/dist/esm/Input.js CHANGED
@@ -181,7 +181,7 @@ var Input = function Input(props) {
181
181
  var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'onChange';
182
182
  var val = value;
183
183
 
184
- if (type === 'digit') {
184
+ if (type === 'digit' || type === 'tel') {
185
185
  val = formatNumber(val, false, false);
186
186
  }
187
187
 
@@ -189,6 +189,12 @@ var Input = function Input(props) {
189
189
  val = formatNumber(val, true, true);
190
190
  }
191
191
 
192
+ if (type === 'tel' && !formatter) {
193
+ var regTel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
194
+ var regNumber = /[^-0-9]/g;
195
+ val = !regTel.test(val) && val.length > 11 ? val.substring(0, 11) : val.replace(regNumber, '');
196
+ }
197
+
192
198
  if (formatter && trigger === formatTrigger) {
193
199
  val = formatter(val);
194
200
  }
@@ -356,7 +362,7 @@ var Input = function Input(props) {
356
362
  className: "nut-input-clear",
357
363
  name: clearIcon,
358
364
  size: clearSize,
359
- click: function click(e) {
365
+ onClick: function onClick(e) {
360
366
  handleClear(e);
361
367
  }
362
368
  }) : null, rightIcon && rightIcon.length > 0 ? React__default.createElement("div", {
@@ -89,16 +89,16 @@ var InputNumber = function InputNumber(props) {
89
89
  };
90
90
 
91
91
  var emitChange = function emitChange(value, e) {
92
- var output_value = fixedDecimalPlaces(value);
93
- change && change(output_value, e);
92
+ var outputValue = fixedDecimalPlaces(value);
93
+ change && change(outputValue, e);
94
94
 
95
95
  if (!isAsync) {
96
- if (Number(output_value) < Number(min)) {
96
+ if (Number(outputValue) < Number(min)) {
97
97
  setInputValue(Number(min));
98
- } else if (Number(output_value) > Number(max)) {
98
+ } else if (Number(outputValue) > Number(max)) {
99
99
  setInputValue(Number(max));
100
100
  } else {
101
- setInputValue(output_value);
101
+ setInputValue(outputValue);
102
102
  }
103
103
  }
104
104
  };
@@ -107,8 +107,8 @@ var InputNumber = function InputNumber(props) {
107
107
  reduce && reduce(e);
108
108
 
109
109
  if (reduceAllow()) {
110
- var output_value = Number(inputValue) - Number(step);
111
- emitChange(output_value, e);
110
+ var outputValue = Number(inputValue) - Number(step);
111
+ emitChange(outputValue, e);
112
112
  } else {
113
113
  overlimit && overlimit(e);
114
114
  }
@@ -118,8 +118,8 @@ var InputNumber = function InputNumber(props) {
118
118
  add && add(e);
119
119
 
120
120
  if (addAllow()) {
121
- var output_value = Number(inputValue) + Number(step);
122
- emitChange(output_value, e);
121
+ var outputValue = Number(inputValue) + Number(step);
122
+ emitChange(outputValue, e);
123
123
  } else {
124
124
  overlimit && overlimit(e);
125
125
  }
@@ -167,7 +167,7 @@ var InputNumber = function InputNumber(props) {
167
167
  className: iconMinusClasses,
168
168
  size: buttonSize,
169
169
  name: "minus",
170
- click: reduceNumber
170
+ onClick: reduceNumber
171
171
  }), React__default.createElement("input", {
172
172
  type: "number",
173
173
  min: min,
@@ -185,7 +185,7 @@ var InputNumber = function InputNumber(props) {
185
185
  className: iconAddClasses,
186
186
  size: buttonSize,
187
187
  name: "plus",
188
- click: addNumber
188
+ onClick: addNumber
189
189
  }));
190
190
  };
191
191
 
@@ -0,0 +1,3 @@
1
+
2
+ require('../../MenuItem/style')
3
+ require('../../../packages/menu/menu.scss')
@@ -0,0 +1,153 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["className", "titleIcon", "scrollFixed", "lockScroll", "closeOnClickOverlay", "children", "activeColor"];
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ import React__default, { useRef, useEffect, useState } from 'react';
12
+ import classNames from 'classnames';
13
+ import Icon from './Icon.js';
14
+ var defaultProps = {
15
+ className: '',
16
+ style: {},
17
+ activeColor: '#F2270C',
18
+ closeOnClickOverlay: true,
19
+ scrollFixed: false,
20
+ lockScroll: true,
21
+ titleIcon: ''
22
+ };
23
+
24
+ var Menu = function Menu(props) {
25
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
26
+ className = _defaultProps$props.className,
27
+ titleIcon = _defaultProps$props.titleIcon,
28
+ scrollFixed = _defaultProps$props.scrollFixed,
29
+ lockScroll = _defaultProps$props.lockScroll,
30
+ closeOnClickOverlay = _defaultProps$props.closeOnClickOverlay,
31
+ children = _defaultProps$props.children,
32
+ activeColor = _defaultProps$props.activeColor,
33
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
34
+
35
+ var parentRef = useRef(null);
36
+
37
+ var onScroll = function onScroll() {};
38
+
39
+ useEffect(function () {
40
+ if (scrollFixed) {
41
+ window.addEventListener('scroll', onScroll);
42
+ }
43
+
44
+ return function () {
45
+ return window.removeEventListener('scroll', onScroll);
46
+ };
47
+ }, []);
48
+
49
+ var _useState = useState([]),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ itemShow = _useState2[0],
52
+ setItemShow = _useState2[1];
53
+
54
+ var _useState3 = useState([]),
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ itemTitle = _useState4[0],
57
+ setItemTitle = _useState4[1];
58
+
59
+ var toggleItemShow = function toggleItemShow(index) {
60
+ itemShow[index] = !itemShow[index];
61
+ var temp = itemShow.map(function (i, idx) {
62
+ return idx === index ? i : false;
63
+ });
64
+ setItemShow(_toConsumableArray(temp));
65
+ };
66
+
67
+ var hideItemShow = function hideItemShow(index) {
68
+ itemShow[index] = false;
69
+ setItemShow(_toConsumableArray(itemShow));
70
+ };
71
+
72
+ var updateTitle = function updateTitle(text, index) {
73
+ itemTitle[index] = text;
74
+ setItemTitle(_toConsumableArray(itemTitle));
75
+ };
76
+
77
+ var parent = function parent() {
78
+ return parentRef;
79
+ };
80
+
81
+ var cloneChildren = function cloneChildren() {
82
+ return React__default.Children.map(children, function (child, index) {
83
+ return React__default.cloneElement(child, {
84
+ showPopup: itemShow[index],
85
+ orderKey: index,
86
+ activeColor: activeColor,
87
+ parent: {
88
+ closeOnClickOverlay: closeOnClickOverlay,
89
+ lockScroll: lockScroll,
90
+ toggleItemShow: toggleItemShow,
91
+ updateTitle: updateTitle,
92
+ hideItemShow: hideItemShow,
93
+ parent: parent
94
+ }
95
+ });
96
+ });
97
+ };
98
+
99
+ return React__default.createElement("div", _objectSpread(_objectSpread({
100
+ className: "nut-menu ".concat(className)
101
+ }, rest), {}, {
102
+ ref: parentRef
103
+ }), React__default.createElement("div", {
104
+ className: "nut-menu__bar ".concat(itemShow.includes(true) ? 'opened' : '', " ").concat(className)
105
+ }, React__default.Children.toArray(children).map(function (child, index) {
106
+ if (!child) return null;
107
+ var _child$props = child.props,
108
+ disabled = _child$props.disabled,
109
+ title = _child$props.title,
110
+ value = _child$props.value,
111
+ direction = _child$props.direction,
112
+ options = _child$props.options;
113
+ var currentTitle = options === null || options === void 0 ? void 0 : options.filter(function (option) {
114
+ return option.value === value;
115
+ });
116
+
117
+ function finallyTitle() {
118
+ if (title) return title;
119
+ if (itemTitle && itemTitle[index]) return itemTitle[index];
120
+ if (currentTitle && currentTitle[0] && currentTitle[0].text) return currentTitle[0].text;
121
+ return '';
122
+ }
123
+
124
+ return React__default.createElement("div", {
125
+ className: "nut-menu__item ".concat(classNames({
126
+ active: itemShow[index],
127
+ disabled: disabled
128
+ })),
129
+ style: {
130
+ color: itemShow[index] ? activeColor : ''
131
+ },
132
+ key: index,
133
+ onClick: function onClick() {
134
+ !disabled && toggleItemShow(index);
135
+ }
136
+ }, React__default.createElement("div", {
137
+ className: "nut-menu__title ".concat(classNames({
138
+ active: itemShow[index],
139
+ disabled: disabled
140
+ }))
141
+ }, React__default.createElement("div", {
142
+ className: "nut-menu__title-text"
143
+ }, finallyTitle()), React__default.createElement(Icon, {
144
+ className: "nut-menu__title-icon",
145
+ size: "10",
146
+ name: titleIcon || (direction === 'up' ? 'arrow-up' : 'down-arrow')
147
+ })));
148
+ })), cloneChildren());
149
+ };
150
+
151
+ Menu.defaultProps = defaultProps;
152
+ Menu.displayName = 'NutMenu';
153
+ export { Menu as default };
@@ -0,0 +1,3 @@
1
+ require('../../Icon/style')
2
+ require('../../Popup/style')
3
+ require('../../../packages/menuitem/menuitem.scss')