@nutui/nutui-react-taro 2.0.0-alpha.4 → 2.0.0-alpha.6

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 (333) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/esm/ActionSheet.js +15 -16
  3. package/dist/esm/Address.js +19 -22
  4. package/dist/esm/Animate.js +7 -8
  5. package/dist/esm/AnimatingNumbers.js +8 -9
  6. package/dist/esm/Audio.js +17 -20
  7. package/dist/esm/Avatar.js +11 -12
  8. package/dist/esm/AvatarGroup.js +8 -13
  9. package/dist/esm/BackTop.js +9 -10
  10. package/dist/esm/Badge.js +7 -8
  11. package/dist/esm/Barrage.js +9 -10
  12. package/dist/esm/Button.js +8 -9
  13. package/dist/esm/Calendar.js +18 -21
  14. package/dist/esm/CalendarItem.js +11 -14
  15. package/dist/esm/Card.js +12 -13
  16. package/dist/esm/Cascader.js +16 -19
  17. package/dist/esm/Cell.js +7 -8
  18. package/dist/esm/CellGroup.js +7 -8
  19. package/dist/esm/Checkbox.js +9 -10
  20. package/dist/esm/CheckboxGroup.js +9 -10
  21. package/dist/esm/CircleProgress.js +8 -9
  22. package/dist/esm/Col.js +8 -9
  23. package/dist/esm/Collapse.js +8 -9
  24. package/dist/esm/CollapseItem.js +7 -8
  25. package/dist/esm/ConfigProvider.js +9 -9
  26. package/dist/esm/CountDown.js +8 -11
  27. package/dist/esm/DatePicker.js +21 -24
  28. package/dist/esm/Dialog.js +13 -16
  29. package/dist/esm/Divider.js +7 -8
  30. package/dist/esm/Drag.js +7 -8
  31. package/dist/esm/Elevator.js +9 -10
  32. package/dist/esm/Ellipsis.js +9 -11
  33. package/dist/esm/Empty.js +7 -11
  34. package/dist/esm/FixedNav.js +11 -14
  35. package/dist/esm/Form.js +10 -11
  36. package/dist/esm/FormItem.js +8 -9
  37. package/dist/esm/Grid.js +8 -11
  38. package/dist/esm/GridItem.js +7 -10
  39. package/dist/esm/Image.js +7 -10
  40. package/dist/esm/ImagePreview.js +19 -20
  41. package/dist/esm/Indicator.js +6 -7
  42. package/dist/esm/Infiniteloading.js +12 -15
  43. package/dist/esm/Input.js +11 -14
  44. package/dist/esm/InputNumber.js +9 -10
  45. package/dist/esm/Layout.js +5 -6
  46. package/dist/esm/Menu.js +8 -9
  47. package/dist/esm/MenuItem.js +13 -14
  48. package/dist/esm/NavBar.js +7 -8
  49. package/dist/esm/NoticeBar.js +11 -12
  50. package/dist/esm/Notify.js +9 -10
  51. package/dist/esm/NumberKeyboard.js +16 -19
  52. package/dist/esm/Overlay.js +8 -9
  53. package/dist/esm/Pagination.js +9 -12
  54. package/dist/esm/Picker.js +20 -23
  55. package/dist/esm/Popover.js +10 -11
  56. package/dist/esm/Popup.js +12 -13
  57. package/dist/esm/Price.js +7 -8
  58. package/dist/esm/Progress.js +7 -8
  59. package/dist/esm/PullToRefresh.js +11 -14
  60. package/dist/esm/Radio.js +9 -10
  61. package/dist/esm/RadioGroup.js +9 -10
  62. package/dist/esm/Range.js +13 -16
  63. package/dist/esm/Rate.js +9 -10
  64. package/dist/esm/Row.js +8 -9
  65. package/dist/esm/SearchBar.js +11 -14
  66. package/dist/esm/ShortPassword.js +16 -19
  67. package/dist/esm/SideNavBar.js +14 -15
  68. package/dist/esm/SideNavBarItem.js +5 -6
  69. package/dist/esm/Signature.js +13 -16
  70. package/dist/esm/Skeleton.js +14 -13
  71. package/dist/esm/Step.js +10 -11
  72. package/dist/esm/Steps.js +9 -10
  73. package/dist/esm/Sticky.js +11 -12
  74. package/dist/esm/SubSideNavBar.js +6 -7
  75. package/dist/esm/Swipe.js +11 -12
  76. package/dist/esm/Swiper.js +10 -11
  77. package/dist/esm/SwiperItem.js +9 -10
  78. package/dist/esm/Switch.js +7 -8
  79. package/dist/esm/TabPane.js +6 -7
  80. package/dist/esm/Tabbar/style/index.js +1 -1
  81. package/dist/esm/Tabbar.js +10 -11
  82. package/dist/esm/TabbarItem.js +8 -9
  83. package/dist/esm/Table.js +9 -14
  84. package/dist/esm/Tabs.js +11 -12
  85. package/dist/esm/Tag.js +8 -9
  86. package/dist/esm/TextArea.js +11 -11
  87. package/dist/esm/TimeDetail.js +8 -11
  88. package/dist/esm/TimePannel.js +8 -11
  89. package/dist/esm/TimeSelect.js +18 -21
  90. package/dist/esm/Toast.js +9 -10
  91. package/dist/esm/TrendArrow.js +8 -9
  92. package/dist/esm/Uploader.js +14 -17
  93. package/dist/esm/UserContext-735db09f.js +5 -0
  94. package/dist/esm/UserContext-ab42ba7f.js +5 -0
  95. package/dist/esm/UserContext-fde5badc.js +5 -0
  96. package/dist/esm/Video.js +8 -9
  97. package/dist/esm/VirtualList.js +8 -11
  98. package/dist/esm/WaterMark.js +10 -13
  99. package/dist/esm/actionsheet.taro-d2217152.js +61 -0
  100. package/dist/esm/address.taro-1c534feb.js +470 -0
  101. package/dist/esm/animate.taro-c8b29242.js +44 -0
  102. package/dist/esm/animatingnumbers.taro-c2a52dbd.js +103 -0
  103. package/dist/esm/audio.taro-ec96ef80.js +185 -0
  104. package/dist/esm/avatar.taro-01536aff.js +100 -0
  105. package/dist/esm/avatargroup-ad5ffb46.js +34 -0
  106. package/dist/esm/backtop.taro-7de36464.js +48 -0
  107. package/dist/esm/badge.taro-872605bf.js +48 -0
  108. package/dist/esm/barrage.taro-c8cb9864.js +91 -0
  109. package/dist/esm/bem-cdccae08.js +5 -0
  110. package/dist/esm/button.taro-01eae688.js +72 -0
  111. package/dist/esm/calendar.taro-10a6cb11.js +70 -0
  112. package/dist/esm/calendaritem.taro-3e5f114e.js +732 -0
  113. package/dist/esm/can-use-dom-0e539bd3.js +4 -0
  114. package/dist/esm/card.taro-a46fdf25.js +51 -0
  115. package/dist/esm/cascader.taro-a8d2148e.js +463 -0
  116. package/dist/esm/cell.taro-4e31d1fa.js +48 -0
  117. package/dist/esm/cellgroup.taro-a790d91b.js +28 -0
  118. package/dist/esm/checkbox.taro-016074da.js +177 -0
  119. package/dist/esm/circleprogress.taro-7149e09d.js +104 -0
  120. package/dist/esm/col.taro-d6a46a7d.js +41 -0
  121. package/dist/esm/collapse.taro-3d997680.js +70 -0
  122. package/dist/esm/collapseitem-f4571575.js +76 -0
  123. package/dist/esm/configprovider.taro-25758d9f.js +462 -0
  124. package/dist/esm/context-d0fccf11.js +5 -0
  125. package/dist/esm/countdown.taro-22200811.js +210 -0
  126. package/dist/esm/datepicker.taro-3f718964.js +260 -0
  127. package/dist/esm/dialog.taro-290eb9a6.js +128 -0
  128. package/dist/esm/divider.taro-0cb5f894.js +31 -0
  129. package/dist/esm/drag.taro-48e1ff38.js +111 -0
  130. package/dist/esm/elevator.taro-bc162e4f.js +201 -0
  131. package/dist/esm/ellipsis.taro-f9688dd7.js +242 -0
  132. package/dist/esm/empty.taro-ca792f57.js +59 -0
  133. package/dist/esm/fixednav.taro-28e5f776.js +61 -0
  134. package/dist/esm/form.taro-b06754e8.js +182 -0
  135. package/dist/esm/formitem.taro-b326809d.js +108 -0
  136. package/dist/esm/get-scroll-parent-8da04f2e.js +24 -0
  137. package/dist/esm/grid.taro-fbbd8618.js +52 -0
  138. package/dist/esm/griditem.taro-b0c37077.js +85 -0
  139. package/dist/esm/image.taro-767aa000.js +65 -0
  140. package/dist/esm/imagepreview.taro-8832dc01.js +163 -0
  141. package/dist/esm/index-e3184f19.js +9 -0
  142. package/dist/esm/indicator.taro-f2bd212f.js +30 -0
  143. package/dist/esm/infiniteloading.taro-f8f23ac6.js +143 -0
  144. package/dist/esm/input.taro-27d686c9.js +164 -0
  145. package/dist/esm/inputnumber.taro-877dc947.js +197 -0
  146. package/dist/esm/layout.taro-9659a928.js +11 -0
  147. package/dist/esm/menu.taro-cd0fef41.js +122 -0
  148. package/dist/esm/menuitem.taro-6076bffa.js +142 -0
  149. package/dist/esm/navbar.taro-5e1a0835.js +61 -0
  150. package/dist/esm/noticebar.taro-b3bfd4fe.js +408 -0
  151. package/dist/esm/notify.taro-6b6eb6bf.js +82 -0
  152. package/dist/esm/numberkeyboard.taro-0a0e866a.js +183 -0
  153. package/dist/esm/nutui-react.es.js +211 -118
  154. package/dist/esm/offsetContext-f32a9246.js +5 -0
  155. package/dist/esm/overlay.taro-75012bd3.js +77 -0
  156. package/dist/esm/pagination.taro-63607c3b.js +94 -0
  157. package/dist/esm/picker.taro-a5603921.js +468 -0
  158. package/dist/esm/popover.taro-ad483372.js +162 -0
  159. package/dist/esm/popup.taro-e756f3fc.js +150 -0
  160. package/dist/esm/price.taro-c4f45310.js +80 -0
  161. package/dist/esm/progress.taro-ff63be75.js +49 -0
  162. package/dist/esm/pulltorefresh.taro-c611fd92.js +179 -0
  163. package/dist/esm/radio.taro-3a54f4c8.js +152 -0
  164. package/dist/esm/range.taro-52cda918.js +325 -0
  165. package/dist/esm/rate.taro-78c66969.js +77 -0
  166. package/dist/esm/row.taro-8b7febd4.js +48 -0
  167. package/dist/esm/searchbar.taro-37ade36e.js +159 -0
  168. package/dist/esm/shortpassword.taro-f7292032.js +146 -0
  169. package/dist/esm/sidenavbar.taro-9f210df4.js +51 -0
  170. package/dist/esm/sidenavbaritem.taro-32a45ce6.js +12 -0
  171. package/dist/esm/signature.taro-c57469aa.js +146 -0
  172. package/dist/esm/skeleton.taro-9ff9baf4.js +71 -0
  173. package/dist/esm/step.taro-3bc01c0c.js +66 -0
  174. package/dist/esm/steps.taro-77e301ab.js +30 -0
  175. package/dist/esm/sticky.taro-3c03eb0a.js +134 -0
  176. package/dist/esm/subsidenavbar.taro-abe07673.js +64 -0
  177. package/dist/esm/supports-passive-aaaf0eff.js +17 -0
  178. package/dist/esm/swipe.taro-de80fcd8.js +180 -0
  179. package/dist/esm/swiper.taro-74cf9306.js +430 -0
  180. package/dist/esm/swiperitem-80df464a.js +29 -0
  181. package/dist/esm/switch.taro-f0da73a3.js +44 -0
  182. package/dist/esm/tabbar.taro-18eee41f.js +55 -0
  183. package/dist/esm/tabbaritem.taro-89646ca1.js +47 -0
  184. package/dist/esm/table.taro-15a55c5d.js +100 -0
  185. package/dist/esm/tabpane.taro-f8d92ece.js +21 -0
  186. package/dist/esm/tabs.taro-56e46dd3.js +137 -0
  187. package/dist/esm/tag.taro-1b4134a5.js +92 -0
  188. package/dist/esm/textarea.taro-c110565e.js +102 -0
  189. package/dist/esm/timedetail.taro-8d2acbbf.js +41 -0
  190. package/dist/esm/timepannel.taro-ee4c5dfa.js +22 -0
  191. package/dist/esm/timeselect.taro-069deedd.js +133 -0
  192. package/dist/esm/toast.taro-92c10e1d.js +114 -0
  193. package/dist/esm/trendarrow.taro-0cf43935.js +72 -0
  194. package/dist/esm/typings-11d83a22.js +7 -0
  195. package/dist/esm/uploader.taro-92977813.js +519 -0
  196. package/dist/esm/use-client-rect-f317804e.js +10 -0
  197. package/dist/esm/use-props-value-7ac1b1b5.js +16 -0
  198. package/dist/esm/use-touch-ff43512c.js +69 -0
  199. package/dist/esm/video-5d106e33.js +73 -0
  200. package/dist/esm/virtuallist.taro-99f03769.js +195 -0
  201. package/dist/esm/watermark.taro-cef29c03.js +109 -0
  202. package/dist/locales/base.js +1 -1
  203. package/dist/locales/en-US.js +1 -1
  204. package/dist/locales/id-ID.js +1 -1
  205. package/dist/locales/zh-CN.js +1 -1
  206. package/dist/locales/zh-TW.js +1 -1
  207. package/dist/locales/zh-UG.js +1 -1
  208. package/dist/nutui.react.mjs +924 -776
  209. package/dist/nutui.react.umd.js +923 -775
  210. package/dist/packages/cascader/cascader.scss +0 -26
  211. package/dist/packages/cellgroup/cellgroup.scss +20 -16
  212. package/dist/packages/checkbox/checkbox.scss +8 -11
  213. package/dist/packages/empty/empty.scss +0 -9
  214. package/dist/packages/picker/picker.scss +66 -137
  215. package/dist/packages/tabbar/tabbar.scss +1 -0
  216. package/dist/packages/table/table.scss +0 -56
  217. package/dist/packages/textarea/textarea.scss +5 -12
  218. package/dist/style.css +1 -1
  219. package/dist/style.mjs +1 -1
  220. package/dist/styles/themes/default.scss +0 -1
  221. package/dist/styles/variables-jmapp.scss +1 -4
  222. package/dist/styles/variables.scss +2 -6
  223. package/dist/types/index.d.ts +80 -91
  224. package/package.json +1 -1
  225. package/dist/esm/AvatarContext-c96afdcc.js +0 -5
  226. package/dist/esm/Icon.js +0 -64
  227. package/dist/esm/UserContext-0aac9a82.js +0 -5
  228. package/dist/esm/UserContext-e402e1a6.js +0 -5
  229. package/dist/esm/UserContext-e8176108.js +0 -5
  230. package/dist/esm/actionsheet.taro-12cf5a3e.js +0 -53
  231. package/dist/esm/address.taro-67e32c33.js +0 -461
  232. package/dist/esm/animate.taro-485331bb.js +0 -41
  233. package/dist/esm/animatingnumbers.taro-f6eaffef.js +0 -104
  234. package/dist/esm/audio.taro-51eafc9d.js +0 -162
  235. package/dist/esm/avatar.taro-a840f345.js +0 -105
  236. package/dist/esm/avatargroup-0eadb514.js +0 -34
  237. package/dist/esm/backtop.taro-8ec80d02.js +0 -52
  238. package/dist/esm/badge.taro-e2169fbe.js +0 -45
  239. package/dist/esm/barrage.taro-aa08da6c.js +0 -94
  240. package/dist/esm/bem-350c1702.js +0 -5
  241. package/dist/esm/button.taro-b50bc217.js +0 -65
  242. package/dist/esm/calendar.taro-b3ebdc35.js +0 -65
  243. package/dist/esm/calendaritem.taro-ab1ec154.js +0 -791
  244. package/dist/esm/can-use-dom-3eeb5af4.js +0 -6
  245. package/dist/esm/card.taro-0e849e94.js +0 -33
  246. package/dist/esm/cascader.taro-467910b2.js +0 -447
  247. package/dist/esm/cell.taro-ea725a95.js +0 -43
  248. package/dist/esm/cellgroup.taro-660faffc.js +0 -24
  249. package/dist/esm/checkbox.taro-ae460d3a.js +0 -168
  250. package/dist/esm/circleprogress.taro-d4943109.js +0 -103
  251. package/dist/esm/col.taro-4477c9f7.js +0 -43
  252. package/dist/esm/collapse.taro-89bcadf2.js +0 -79
  253. package/dist/esm/collapseitem-0e228cec.js +0 -68
  254. package/dist/esm/configprovider-9960f0fb.js +0 -19
  255. package/dist/esm/configprovider.taro-43a3c646.js +0 -45
  256. package/dist/esm/countdown.taro-c14b5c1f.js +0 -225
  257. package/dist/esm/datepicker.taro-7d522ff8.js +0 -275
  258. package/dist/esm/dialog.taro-f9ca73a2.js +0 -107
  259. package/dist/esm/divider.taro-3993d7d5.js +0 -33
  260. package/dist/esm/drag.taro-347dfb84.js +0 -111
  261. package/dist/esm/elevator.taro-360a831f.js +0 -185
  262. package/dist/esm/ellipsis.taro-79044d54.js +0 -241
  263. package/dist/esm/empty.taro-f8585835.js +0 -62
  264. package/dist/esm/fixednav.taro-cca9a6df.js +0 -54
  265. package/dist/esm/form.taro-7413d868.js +0 -179
  266. package/dist/esm/formitem.taro-b550d29c.js +0 -89
  267. package/dist/esm/get-scroll-parent-b4a07e65.js +0 -25
  268. package/dist/esm/grid.taro-10eb7716.js +0 -49
  269. package/dist/esm/griditem.taro-fb15eeec.js +0 -80
  270. package/dist/esm/image.taro-b897a058.js +0 -64
  271. package/dist/esm/imagepreview.taro-d511342c.js +0 -167
  272. package/dist/esm/index-5bcb0ff8.js +0 -7
  273. package/dist/esm/indicator.taro-bfb21d45.js +0 -30
  274. package/dist/esm/infiniteloading.taro-cce53c60.js +0 -141
  275. package/dist/esm/input.taro-1aca4a45.js +0 -167
  276. package/dist/esm/inputnumber.taro-1f893d42.js +0 -199
  277. package/dist/esm/layout.taro-e4bf83cb.js +0 -11
  278. package/dist/esm/menu.taro-e5c68cb8.js +0 -111
  279. package/dist/esm/menuitem.taro-37c18382.js +0 -129
  280. package/dist/esm/navbar.taro-92bab9c4.js +0 -57
  281. package/dist/esm/noticebar.taro-cbe93c9e.js +0 -427
  282. package/dist/esm/notify.taro-f1079218.js +0 -75
  283. package/dist/esm/numberkeyboard.taro-10ab54d6.js +0 -159
  284. package/dist/esm/offsetContext-c2a746fa.js +0 -5
  285. package/dist/esm/overlay.taro-067b7202.js +0 -73
  286. package/dist/esm/pagination.taro-df441058.js +0 -91
  287. package/dist/esm/picker.taro-9f1bb6a4.js +0 -423
  288. package/dist/esm/popover.taro-84a55ff9.js +0 -153
  289. package/dist/esm/popup.taro-89cc342a.js +0 -139
  290. package/dist/esm/price.taro-959d82f2.js +0 -83
  291. package/dist/esm/progress.taro-1a7ac8a4.js +0 -40
  292. package/dist/esm/pulltorefresh.taro-37dadbc5.js +0 -181
  293. package/dist/esm/radio.taro-36438449.js +0 -177
  294. package/dist/esm/range.taro-432d20d7.js +0 -332
  295. package/dist/esm/rate.taro-895bb41c.js +0 -77
  296. package/dist/esm/row.taro-e929ec5c.js +0 -48
  297. package/dist/esm/searchbar.taro-4aa300df.js +0 -152
  298. package/dist/esm/shortpassword.taro-99645f99.js +0 -119
  299. package/dist/esm/sidenavbar.taro-f8ffb7dc.js +0 -33
  300. package/dist/esm/sidenavbaritem.taro-6cb0821e.js +0 -12
  301. package/dist/esm/signature.taro-e5ede25a.js +0 -143
  302. package/dist/esm/skeleton.taro-fabd423a.js +0 -62
  303. package/dist/esm/step.taro-7ea33a76.js +0 -58
  304. package/dist/esm/steps.taro-86753d36.js +0 -30
  305. package/dist/esm/sticky.taro-a142a5f2.js +0 -136
  306. package/dist/esm/subsidenavbar.taro-85c03291.js +0 -63
  307. package/dist/esm/supports-passive-c85ef996.js +0 -18
  308. package/dist/esm/swipe.taro-b18a73ff.js +0 -177
  309. package/dist/esm/swiper.taro-c0e9a56b.js +0 -451
  310. package/dist/esm/swiperitem-abab7606.js +0 -29
  311. package/dist/esm/switch.taro-e82809f6.js +0 -38
  312. package/dist/esm/tabbar.taro-48413fb8.js +0 -51
  313. package/dist/esm/tabbaritem.taro-5afa3562.js +0 -37
  314. package/dist/esm/table.taro-eca757f3.js +0 -95
  315. package/dist/esm/tabpane.taro-406cc0d3.js +0 -21
  316. package/dist/esm/tabs.taro-d47ccfc5.js +0 -120
  317. package/dist/esm/tag.taro-846ee805.js +0 -92
  318. package/dist/esm/textarea.taro-e256e741.js +0 -94
  319. package/dist/esm/timedetail.taro-cae362b9.js +0 -44
  320. package/dist/esm/timepannel.taro-d6f4cf80.js +0 -22
  321. package/dist/esm/timeselect.taro-804199f9.js +0 -133
  322. package/dist/esm/toast.taro-c509a870.js +0 -108
  323. package/dist/esm/trendarrow.taro-dd83ec94.js +0 -70
  324. package/dist/esm/typings-d8491423.js +0 -6
  325. package/dist/esm/uploader.taro-716f9a50.js +0 -494
  326. package/dist/esm/use-client-rect-1f8ed1fe.js +0 -18
  327. package/dist/esm/use-props-value-ae7ee726.js +0 -15
  328. package/dist/esm/use-touch-db24bb5c.js +0 -69
  329. package/dist/esm/video-1c6405b4.js +0 -67
  330. package/dist/esm/virtuallist.taro-0bd611cb.js +0 -214
  331. package/dist/esm/watermark.taro-8966896a.js +0 -114
  332. package/dist/esm/zh-CN-b4f493ba.js +0 -131
  333. package/dist/packages/icon/icon.scss +0 -0
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import classNames from "classnames";
3
+ const defaultProps = {
4
+ title: "",
5
+ value: "",
6
+ disabled: false
7
+ };
8
+ const TabPane = (props) => {
9
+ const { children, autoHeightClassName, className, disabled } = {
10
+ ...defaultProps,
11
+ ...props
12
+ };
13
+ const classPrefix = "nut-tabpane";
14
+ const classes = classNames({
15
+ active: !disabled && props.active
16
+ }, classPrefix, autoHeightClassName, className);
17
+ return children ? React.createElement("div", { className: classes }, !disabled && children) : null;
18
+ };
19
+ export {
20
+ TabPane as T
21
+ };
@@ -0,0 +1,137 @@
1
+ import React, { useState, useRef, useEffect } from "react";
2
+ import { View, ScrollView } from "@tarojs/components";
3
+ import classNames from "classnames";
4
+ import { JoySmile } from "@nutui/icons-react-taro";
5
+ import { C as ComponentDefaults } from "./typings-11d83a22.js";
6
+ import { T as TabPane } from "./tabpane.taro-f8d92ece.js";
7
+ import { u as usePropsValue } from "./use-props-value-7ac1b1b5.js";
8
+ const defaultProps = {
9
+ ...ComponentDefaults,
10
+ tabStyle: {},
11
+ activeColor: "",
12
+ direction: "horizontal",
13
+ activeType: "line",
14
+ duration: 300,
15
+ autoHeight: false
16
+ };
17
+ const classPrefix = "nut-tabs";
18
+ const Tabs = (props) => {
19
+ const { activeColor, tabStyle, direction, activeType, duration, align, title, children, onClick, onChange, className, autoHeight, ...rest } = {
20
+ ...defaultProps,
21
+ ...props
22
+ };
23
+ const [value, setValue] = usePropsValue({
24
+ value: props.value,
25
+ defaultValue: props.defaultValue,
26
+ finalValue: 0,
27
+ onChange
28
+ });
29
+ const [contentStyle, setContentStyle] = useState({});
30
+ const titleItemsRef = useRef([]);
31
+ const navRef = useRef(null);
32
+ const getTitles = () => {
33
+ const titles2 = [];
34
+ React.Children.forEach(children, (child, idx) => {
35
+ if (React.isValidElement(child)) {
36
+ const props2 = child == null ? void 0 : child.props;
37
+ if ((props2 == null ? void 0 : props2.title) || (props2 == null ? void 0 : props2.value)) {
38
+ titles2.push({
39
+ title: props2.title,
40
+ value: props2.value || idx,
41
+ disabled: props2.disabled
42
+ });
43
+ }
44
+ }
45
+ });
46
+ return titles2;
47
+ };
48
+ const titles = useRef(getTitles());
49
+ useEffect(() => {
50
+ titles.current = getTitles();
51
+ let current = "";
52
+ titles.current.forEach((title2) => {
53
+ if (title2.value === value) {
54
+ current = value;
55
+ }
56
+ });
57
+ setValue(current);
58
+ }, [children]);
59
+ const classes = classNames(classPrefix, `${classPrefix}--${direction}`, className);
60
+ const classesTitle = classNames(`${classPrefix}__titles`, {
61
+ [`${classPrefix}__titles--${activeType}`]: activeType,
62
+ [`${classPrefix}__titles--scrollable`]: true,
63
+ [`${classPrefix}__titles--${align}`]: align
64
+ });
65
+ const tabsActiveStyle = {
66
+ color: activeType === "smile" ? activeColor : "",
67
+ background: activeType === "line" ? activeColor : ""
68
+ };
69
+ const scrollIntoRef = useRef(0);
70
+ useEffect(() => {
71
+ const index = titles.current.findIndex((t) => t.value === value);
72
+ setContentStyle({
73
+ transform: direction === "horizontal" ? `translate3d(-${index * 100}%, 0, 0)` : `translate3d( 0,-${index * 100}%, 0)`,
74
+ transitionDuration: `${duration}ms`
75
+ });
76
+ const scrollToIndex = index - 2;
77
+ scrollIntoRef.current = scrollToIndex < 0 ? 0 : scrollToIndex;
78
+ }, [value]);
79
+ const tabChange = (item, index) => {
80
+ onClick && onClick(item.value);
81
+ if (item.disabled) {
82
+ return;
83
+ }
84
+ setValue(item.value);
85
+ };
86
+ return React.createElement(
87
+ View,
88
+ { className: classes, ...rest },
89
+ React.createElement(ScrollView, { enableFlex: true, scrollX: direction === "horizontal", scrollY: direction === "vertical", showScrollbar: false, scrollIntoViewAlignment: "center", scrollWithAnimation: true, scrollIntoView: `scrollIntoView${scrollIntoRef.current}`, className: classesTitle, style: { ...tabStyle }, ref: navRef }, !!title && typeof title === "function" ? title() : titles.current.map((item, index) => {
90
+ return React.createElement(
91
+ View,
92
+ { ref: (ref) => titleItemsRef.current.push(ref), id: `scrollIntoView${index}`, onClick: (e) => {
93
+ tabChange(item);
94
+ }, className: classNames(`${classPrefix}__titles-item`, {
95
+ [`nut-tabs__titles-item--active`]: !item.disabled && String(item.value) === String(value),
96
+ [`nut-tabs__titles-item--disabled`]: item.disabled,
97
+ [`nut-tabs__titles-item--${align}`]: align
98
+ }), key: item.value },
99
+ activeType === "line" && React.createElement(View, { className: `${classPrefix}__titles-item__line`, style: tabsActiveStyle }),
100
+ activeType === "smile" && React.createElement(
101
+ View,
102
+ { className: `${classPrefix}__titles-item__smile`, style: tabsActiveStyle },
103
+ React.createElement(JoySmile, { color: activeColor, width: 40, height: 20 })
104
+ ),
105
+ React.createElement(View, { className: classNames({
106
+ ellipsis: true
107
+ }, `${classPrefix}__titles-item__text`) }, item.title)
108
+ );
109
+ })),
110
+ React.createElement(
111
+ View,
112
+ { className: `${classPrefix}__content__wrap` },
113
+ React.createElement(View, { className: `${classPrefix}__content`, style: contentStyle }, React.Children.map(children, (child, idx) => {
114
+ if (!React.isValidElement(child)) {
115
+ return null;
116
+ }
117
+ let childProps = {
118
+ ...child.props,
119
+ active: value === child.props.value
120
+ };
121
+ if (String(value) !== String(child.props.value || idx) && autoHeight) {
122
+ childProps = {
123
+ ...childProps,
124
+ autoHeightClassName: "inactive"
125
+ };
126
+ }
127
+ return React.cloneElement(child, childProps);
128
+ }))
129
+ )
130
+ );
131
+ };
132
+ Tabs.defaultProps = defaultProps;
133
+ Tabs.displayName = "NutTabs";
134
+ Tabs.TabPane = TabPane;
135
+ export {
136
+ Tabs as T
137
+ };
@@ -0,0 +1,92 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import { Close } from "@nutui/icons-react-taro";
3
+ import classNames from "classnames";
4
+ import { C as ComponentDefaults } from "./typings-11d83a22.js";
5
+ const defaultProps = {
6
+ ...ComponentDefaults,
7
+ type: "default",
8
+ color: "",
9
+ textColor: "",
10
+ plain: false,
11
+ round: false,
12
+ mark: false,
13
+ closeable: false,
14
+ closeIcon: null,
15
+ prefixCls: "nut-tag",
16
+ onClose: (e) => {
17
+ },
18
+ onClick: (e) => {
19
+ }
20
+ };
21
+ const Tag = (props) => {
22
+ const { className, style, color, plain, type, round, prefixCls, children, mark, closeable, closeIcon, textColor, onClick, onClose } = {
23
+ ...defaultProps,
24
+ ...props
25
+ };
26
+ const [btnName, setBtnName] = useState("");
27
+ const [isTagShow, setIsTagShow] = useState(true);
28
+ useEffect(() => {
29
+ setBtnName(classes());
30
+ }, [
31
+ type,
32
+ color,
33
+ textColor,
34
+ plain,
35
+ round,
36
+ mark,
37
+ closeable,
38
+ prefixCls,
39
+ onClick,
40
+ onClose,
41
+ className
42
+ ]);
43
+ const classes = () => {
44
+ const prefixCls2 = "nut-tag";
45
+ return classNames({
46
+ [prefixCls2]: true,
47
+ [`${prefixCls2}--${type}`]: type,
48
+ [`${prefixCls2}--plain`]: plain,
49
+ [`${prefixCls2}--round`]: round,
50
+ [`${prefixCls2}--mark`]: mark,
51
+ [`${prefixCls2}--close`]: closeable,
52
+ [`${className}`]: className
53
+ });
54
+ };
55
+ const handleClick = (e) => {
56
+ if (props.onClick) {
57
+ props.onClick(e);
58
+ }
59
+ };
60
+ const getStyle = () => {
61
+ const style2 = {};
62
+ if (textColor) {
63
+ style2.color = textColor;
64
+ } else if (color && plain) {
65
+ style2.color = color;
66
+ }
67
+ if (plain) {
68
+ style2.background = "#fff";
69
+ style2.borderColor = color;
70
+ } else if (color) {
71
+ style2.background = color;
72
+ }
73
+ return style2;
74
+ };
75
+ return React.createElement(React.Fragment, null, closeable ? isTagShow && React.createElement(
76
+ "div",
77
+ { className: btnName, style: { ...style, ...getStyle() }, onClick: (e) => handleClick(e) },
78
+ children && React.createElement("span", { className: "nut-tag-text" }, children),
79
+ React.isValidElement(closeIcon) ? React.createElement("i", { className: "nut-tag-custom-icon", onClick: (e) => {
80
+ setIsTagShow(false);
81
+ props.onClose && props.onClose(e);
82
+ } }, closeIcon) : React.createElement(Close, { size: 12, onClick: (e) => {
83
+ setIsTagShow(false);
84
+ props.onClose && props.onClose(e);
85
+ } })
86
+ ) : React.createElement("div", { className: btnName, style: { ...style, ...getStyle() }, onClick: (e) => handleClick(e) }, children && React.createElement("span", { className: "nut-tag-text" }, children)));
87
+ };
88
+ Tag.defaultProps = defaultProps;
89
+ Tag.displayName = "NutTag";
90
+ export {
91
+ Tag as T
92
+ };
@@ -0,0 +1,102 @@
1
+ import React, { useRef } from "react";
2
+ import classNames from "classnames";
3
+ import Taro from "@tarojs/taro";
4
+ import { Textarea } from "@tarojs/components";
5
+ import { u as useConfig } from "./configprovider.taro-25758d9f.js";
6
+ import { C as ComponentDefaults } from "./typings-11d83a22.js";
7
+ import { u as usePropsValue } from "./use-props-value-7ac1b1b5.js";
8
+ const defaultProps = {
9
+ ...ComponentDefaults,
10
+ defaultValue: "",
11
+ showCount: false,
12
+ maxLength: 140,
13
+ placeholder: "",
14
+ readOnly: false,
15
+ disabled: false,
16
+ autoSize: false
17
+ };
18
+ const TextArea = (props) => {
19
+ const { locale } = useConfig();
20
+ const { className, value, defaultValue, showCount, maxLength, rows, placeholder, readOnly, disabled, autoSize, style, onChange, onBlur, onFocus, ...rest } = { ...defaultProps, ...props };
21
+ const classPrefix = "nut-textarea";
22
+ const compositionRef = useRef(false);
23
+ const format = (value2) => {
24
+ if (maxLength !== void 0 && value2.length > maxLength) {
25
+ return value2.substring(0, maxLength);
26
+ }
27
+ return value2;
28
+ };
29
+ const [inputValue, setInputValue] = usePropsValue({
30
+ value,
31
+ defaultValue,
32
+ finalValue: format(defaultValue),
33
+ onChange
34
+ });
35
+ const handleChange = (event) => {
36
+ var _a;
37
+ const text = (_a = event == null ? void 0 : event.detail) == null ? void 0 : _a.value;
38
+ if (text) {
39
+ const value2 = compositionRef.current ? text : format(text);
40
+ setInputValue(value2);
41
+ } else {
42
+ setInputValue("");
43
+ }
44
+ };
45
+ const handleFocus = (event) => {
46
+ if (disabled)
47
+ return;
48
+ if (readOnly)
49
+ return;
50
+ onFocus && onFocus(event);
51
+ };
52
+ const handleBlur = (event) => {
53
+ if (disabled)
54
+ return;
55
+ if (readOnly)
56
+ return;
57
+ onBlur && onBlur(event);
58
+ };
59
+ return React.createElement(
60
+ "div",
61
+ { className: classNames(classPrefix, className, {
62
+ [`${classPrefix}__disabled`]: disabled
63
+ }) },
64
+ React.createElement(Textarea, {
65
+ nativeProps: {
66
+ style,
67
+ readOnly,
68
+ rows,
69
+ onCompositionStart: () => {
70
+ compositionRef.current = true;
71
+ },
72
+ onCompositionEnd: () => {
73
+ compositionRef.current = false;
74
+ }
75
+ },
76
+ className: `${classPrefix}__textarea`,
77
+ style: Taro.getEnv() === "WEB" ? void 0 : style,
78
+ disabled: Taro.getEnv() === "WEB" ? disabled : disabled || readOnly,
79
+ value: inputValue,
80
+ // @ts-ignore
81
+ onInput: (e) => handleChange(e),
82
+ onBlur: (e) => handleBlur(e),
83
+ onFocus: (e) => handleFocus(e),
84
+ autoHeight: autoSize,
85
+ maxlength: maxLength,
86
+ placeholder: placeholder || locale.placeholder,
87
+ ...rest
88
+ }),
89
+ showCount && React.createElement(
90
+ "div",
91
+ { className: `${classPrefix}__limit` },
92
+ inputValue.length,
93
+ "/",
94
+ maxLength < 0 ? 0 : maxLength
95
+ )
96
+ );
97
+ };
98
+ TextArea.defaultProps = defaultProps;
99
+ TextArea.displayName = "NutTextArea";
100
+ export {
101
+ TextArea as T
102
+ };
@@ -0,0 +1,41 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import { c as cn } from "./bem-cdccae08.js";
3
+ import { u as useConfig } from "./configprovider.taro-25758d9f.js";
4
+ const defaultProps = {
5
+ className: "",
6
+ currentKey: 0,
7
+ currentTime: [],
8
+ times: [],
9
+ select: () => null
10
+ };
11
+ const TimeDetail = (props) => {
12
+ useConfig();
13
+ const { children, times, className, currentKey, currentTime, select } = {
14
+ ...defaultProps,
15
+ ...props
16
+ };
17
+ const b = cn("timedetail");
18
+ const [renderData, setRenderData] = useState([]);
19
+ useEffect(() => {
20
+ const currentData = times.find((timesItem) => String(timesItem.key) === String(currentKey));
21
+ const renderData2 = currentData ? currentData.list : [];
22
+ setRenderData(renderData2);
23
+ }, [times, currentKey]);
24
+ const handleTime = (time) => {
25
+ select(time);
26
+ };
27
+ const getDetailClass = (item) => {
28
+ let initClass = "nut-timedetail__item";
29
+ const curTimeData = currentTime.find((item2) => String(item2.key) === String(currentKey));
30
+ if (curTimeData && curTimeData.list && curTimeData.list.includes(item)) {
31
+ initClass += " nut-timedetail__item-active";
32
+ }
33
+ return initClass;
34
+ };
35
+ return React.createElement("div", { className: `${b()} ${className || ""}` }, renderData.map((item, index) => React.createElement("span", { className: getDetailClass(item), key: item, onClick: () => handleTime(item) }, item)));
36
+ };
37
+ TimeDetail.defaultProps = defaultProps;
38
+ TimeDetail.displayName = "NutTimeDetail";
39
+ export {
40
+ TimeDetail as T
41
+ };
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { c as cn } from "./bem-cdccae08.js";
3
+ import { u as useConfig } from "./configprovider.taro-25758d9f.js";
4
+ const defaultProps = {
5
+ className: "",
6
+ date: "",
7
+ curKey: 0
8
+ };
9
+ const TimePannel = (props) => {
10
+ useConfig();
11
+ const { children, className, date, curKey, change } = {
12
+ ...defaultProps,
13
+ ...props
14
+ };
15
+ const b = cn("timepannel");
16
+ return React.createElement("div", { className: `${b()} ${className || ""}`, onClick: () => change(curKey) }, date);
17
+ };
18
+ TimePannel.defaultProps = defaultProps;
19
+ TimePannel.displayName = "NutTimePannel";
20
+ export {
21
+ TimePannel as T
22
+ };
@@ -0,0 +1,133 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import { P as Popup } from "./popup.taro-e756f3fc.js";
3
+ import { T as TimePannel } from "./timepannel.taro-ee4c5dfa.js";
4
+ import { T as TimeDetail } from "./timedetail.taro-8d2acbbf.js";
5
+ import { c as cn } from "./bem-cdccae08.js";
6
+ import { u as useConfig } from "./configprovider.taro-25758d9f.js";
7
+ const defaultProps = {
8
+ className: "",
9
+ style: {},
10
+ visible: false,
11
+ height: "20%",
12
+ multiple: false,
13
+ currentKey: 0,
14
+ currentTime: [],
15
+ title: "取件时间",
16
+ dates: [],
17
+ times: []
18
+ };
19
+ const TimeSelect = (props) => {
20
+ useConfig();
21
+ const { visible, className, height, title, currentKey, currentTime, dates, times, multiple, select, pannelChange, timeChange, onSelect, onPannelChange, onTimeChange } = {
22
+ ...defaultProps,
23
+ ...props
24
+ };
25
+ const [activeKey, setActiveKey] = useState(currentKey);
26
+ const [activeTime, setActiveTime] = useState(currentTime.length ? currentTime : [
27
+ {
28
+ key: currentKey,
29
+ list: []
30
+ }
31
+ ]);
32
+ const [popVisible, setPopVisible] = useState(visible);
33
+ const popStyle = {
34
+ width: "100%",
35
+ height
36
+ };
37
+ const b = cn("timeselect");
38
+ const closeFun = () => {
39
+ if (onSelect) {
40
+ onSelect(activeTime);
41
+ } else if (select) {
42
+ select(activeTime);
43
+ }
44
+ };
45
+ const handleSelectTime = (time) => {
46
+ let curTimeData = {};
47
+ let curIndex = -1;
48
+ for (let i = 0; i < activeTime.length; i++) {
49
+ if (String(activeTime[i].key) === String(activeKey)) {
50
+ curTimeData = activeTime[i];
51
+ curIndex = i;
52
+ break;
53
+ }
54
+ }
55
+ const curTimeIndex = curTimeData.list.findIndex((item) => String(item) === String(time));
56
+ if (curTimeIndex === -1) {
57
+ curTimeData.list.push(time);
58
+ } else {
59
+ curTimeData.list.splice(curTimeIndex, 1);
60
+ }
61
+ const resultTimeData = [...activeTime];
62
+ resultTimeData.splice(curIndex, 1, curTimeData);
63
+ setActiveTime(resultTimeData);
64
+ if (onTimeChange) {
65
+ onTimeChange(time, resultTimeData);
66
+ } else if (timeChange) {
67
+ timeChange(time, resultTimeData);
68
+ }
69
+ };
70
+ const handleChange = (pannelKey) => {
71
+ const resultTimeData = [...activeTime];
72
+ if (String(pannelKey) !== String(activeKey)) {
73
+ setActiveKey == null ? void 0 : setActiveKey(pannelKey);
74
+ if (multiple) {
75
+ const curTimeDataIndex = activeTime.findIndex((item) => String(item.key) === String(pannelKey));
76
+ if (curTimeDataIndex === -1) {
77
+ resultTimeData.push({
78
+ key: pannelKey,
79
+ list: []
80
+ });
81
+ setActiveTime(resultTimeData);
82
+ }
83
+ } else {
84
+ setActiveTime([
85
+ {
86
+ key: pannelKey,
87
+ list: []
88
+ }
89
+ ]);
90
+ }
91
+ }
92
+ if (onPannelChange) {
93
+ onPannelChange(pannelKey, resultTimeData);
94
+ } else if (pannelChange) {
95
+ pannelChange(pannelKey, resultTimeData);
96
+ }
97
+ };
98
+ const getTimePannelClass = (dataItem) => {
99
+ if (String(dataItem["paneKey"]) === String(activeKey)) {
100
+ return "nut-timepannel-active";
101
+ }
102
+ return "";
103
+ };
104
+ useEffect(() => {
105
+ setPopVisible(visible);
106
+ }, [visible]);
107
+ return React.createElement(
108
+ React.Fragment,
109
+ null,
110
+ React.createElement(
111
+ Popup,
112
+ { closeable: true, round: true, visible: popVisible, position: "bottom", style: popStyle, onClose: () => {
113
+ closeFun();
114
+ } },
115
+ React.createElement(
116
+ "div",
117
+ { className: `${b()} ${className || ""}` },
118
+ React.createElement("div", { className: "nut-timeselect__title" }, title),
119
+ React.createElement(
120
+ "div",
121
+ { className: "nut-timeselect__content" },
122
+ React.createElement("div", { className: "nut-timeselect__content-left" }, dates.map((dataItem, index) => React.createElement(TimePannel, { date: dataItem.date, className: getTimePannelClass(dataItem), key: String(dataItem["paneKey"] || index), curKey: String(dataItem["paneKey"] || index), change: handleChange }))),
123
+ React.createElement(TimeDetail, { times, currentKey: String(activeKey), currentTime: activeTime, select: handleSelectTime })
124
+ )
125
+ )
126
+ )
127
+ );
128
+ };
129
+ TimeSelect.defaultProps = defaultProps;
130
+ TimeSelect.displayName = "NutTimeSelect";
131
+ export {
132
+ TimeSelect as T
133
+ };
@@ -0,0 +1,114 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import classNames from "classnames";
3
+ import { Success, Failure, Tips, Loading } from "@nutui/icons-react-taro";
4
+ import { c as cn } from "./bem-cdccae08.js";
5
+ const defaultProps = {
6
+ id: "",
7
+ style: {},
8
+ icon: null,
9
+ iconSize: "20",
10
+ msg: "",
11
+ bottom: "30px",
12
+ duration: 2,
13
+ center: true,
14
+ type: "text",
15
+ title: "",
16
+ customClass: "",
17
+ size: "base",
18
+ textAlignCenter: true,
19
+ bgColor: "rgba(0, 0, 0, .8)",
20
+ cover: false,
21
+ coverColor: "rgba(0, 0, 0, 0)",
22
+ closeOnClickOverlay: false,
23
+ visible: false,
24
+ onClose: () => {
25
+ }
26
+ // 未实现
27
+ };
28
+ const Toast = (props) => {
29
+ const { children, id, style, icon, iconSize, msg, bottom, duration, center, type, title, customClass, size, textAlignCenter, bgColor, cover, coverColor, closeOnClickOverlay, visible, onClose, ...rest } = { ...defaultProps, ...props };
30
+ let timer;
31
+ const [openState, SetOpenState] = useState(false);
32
+ useEffect(() => {
33
+ if (visible) {
34
+ SetOpenState(true);
35
+ show();
36
+ } else {
37
+ hide();
38
+ }
39
+ }, [visible]);
40
+ const clearTimer = () => {
41
+ if (timer) {
42
+ clearTimeout(timer);
43
+ timer = null;
44
+ }
45
+ };
46
+ const hide = () => {
47
+ SetOpenState(false);
48
+ onClose();
49
+ };
50
+ const show = () => {
51
+ clearTimer();
52
+ if (duration) {
53
+ timer = window.setTimeout(() => {
54
+ hide();
55
+ }, duration * 1e3);
56
+ }
57
+ };
58
+ const clickCover = () => {
59
+ if (closeOnClickOverlay) {
60
+ hide();
61
+ }
62
+ };
63
+ const toastBem = cn("toast");
64
+ const hasIcon = () => {
65
+ if (type !== "text") {
66
+ return true;
67
+ }
68
+ return !!icon;
69
+ };
70
+ const iconName = () => {
71
+ if (icon) {
72
+ return icon;
73
+ }
74
+ return {
75
+ success: React.createElement(Success, { color: "#ffffff", width: iconSize, height: iconSize }),
76
+ fail: React.createElement(Failure, { color: "#ffffff", width: iconSize, height: iconSize }),
77
+ warn: React.createElement(Tips, { color: "#ffffff", width: iconSize, height: iconSize }),
78
+ loading: React.createElement(Loading, { color: "#ffffff", width: iconSize, height: iconSize })
79
+ }[type];
80
+ };
81
+ const classes = classNames({
82
+ "nut-toast-center": center,
83
+ "nut-toast-has-icon": icon,
84
+ "nut-toast-cover": cover,
85
+ "nut-toast-loading": type === "loading",
86
+ [`${customClass}`]: true,
87
+ [`nut-toast-${size}`]: true
88
+ });
89
+ return React.createElement(React.Fragment, null, openState ? React.createElement(
90
+ "div",
91
+ { className: `${toastBem()} ${classes}`, id, style: {
92
+ bottom: center ? "auto" : `${bottom}`,
93
+ backgroundColor: cover ? coverColor : "",
94
+ ...style
95
+ }, onClick: () => {
96
+ clickCover();
97
+ } },
98
+ React.createElement(
99
+ "div",
100
+ { className: toastBem("inner"), style: {
101
+ textAlign: textAlignCenter ? "center" : "left",
102
+ backgroundColor: bgColor
103
+ } },
104
+ hasIcon() ? React.createElement("p", { className: toastBem("icon-wrapper") }, iconName()) : null,
105
+ title ? React.createElement("div", { className: "nut-toast-title" }, title) : null,
106
+ React.createElement("span", { className: toastBem("text") }, msg)
107
+ )
108
+ ) : null);
109
+ };
110
+ Toast.defaultProps = defaultProps;
111
+ Toast.displayName = "NutToast";
112
+ export {
113
+ Toast as T
114
+ };