@nutui/nutui-react-taro 1.2.2-beta.0 → 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 (363) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/esm/ActionSheet.js +5 -4
  3. package/dist/esm/Address.js +7 -6
  4. package/dist/esm/AnimatingNumbers.js +3 -2
  5. package/dist/esm/Audio/style/index.js +4 -0
  6. package/dist/esm/Audio.js +18 -0
  7. package/dist/esm/Avatar.js +3 -3
  8. package/dist/esm/AvatarGroup.js +4 -4
  9. package/dist/esm/BackTop.js +3 -3
  10. package/dist/esm/Badge.js +3 -3
  11. package/dist/esm/Barrage.js +3 -2
  12. package/dist/esm/Button.js +3 -3
  13. package/dist/esm/Calendar/style/index.js +1 -2
  14. package/dist/esm/Calendar.js +9 -7
  15. package/dist/esm/CalendarItem.js +5 -5
  16. package/dist/esm/Card.js +3 -3
  17. package/dist/esm/Cascader/style/index.js +2 -0
  18. package/dist/esm/Cascader.js +14 -0
  19. package/dist/esm/Cell.js +3 -3
  20. package/dist/esm/Checkbox.js +3 -3
  21. package/dist/esm/CheckboxGroup.js +2 -2
  22. package/dist/esm/Col.js +2 -2
  23. package/dist/esm/Collapse.js +2 -2
  24. package/dist/esm/CollapseItem.js +3 -3
  25. package/dist/esm/ConfigProvider.js +3 -3
  26. package/dist/esm/CountDown.js +4 -4
  27. package/dist/esm/DatePicker.js +9 -8
  28. package/dist/esm/Dialog.js +6 -6
  29. package/dist/esm/Divider.js +2 -2
  30. package/dist/esm/Drag.js +2 -2
  31. package/dist/esm/Elevator.js +3 -2
  32. package/dist/esm/Empty.js +4 -4
  33. package/dist/esm/FixedNav.js +5 -5
  34. package/dist/esm/Grid/style/index.js +2 -0
  35. package/dist/esm/Grid.js +7 -0
  36. package/dist/esm/GridItem/style/index.js +2 -0
  37. package/dist/esm/GridItem.js +8 -0
  38. package/dist/esm/Icon/style/index.js +1 -0
  39. package/dist/esm/Icon.js +2 -2
  40. package/dist/esm/ImagePreview/style/index.js +2 -0
  41. package/dist/esm/ImagePreview.js +15 -0
  42. package/dist/esm/Infiniteloading.js +5 -5
  43. package/dist/esm/Input.js +5 -5
  44. package/dist/esm/InputNumber.js +3 -3
  45. package/dist/esm/Menu/style/index.js +3 -0
  46. package/dist/esm/Menu.js +7 -0
  47. package/dist/esm/MenuItem/style/index.js +3 -0
  48. package/dist/esm/MenuItem.js +11 -0
  49. package/dist/esm/NavBar.js +4 -3
  50. package/dist/esm/NoticeBar.js +4 -3
  51. package/dist/esm/{Notification-b09c89e8.js → Notification-422905bd.js} +20 -12
  52. package/dist/esm/Notify.js +3 -2
  53. package/dist/esm/NumberKeyboard.js +7 -6
  54. package/dist/esm/Pagination.js +4 -4
  55. package/dist/esm/Picker.js +9 -8
  56. package/dist/esm/Popover.js +6 -4
  57. package/dist/esm/Popup.js +4 -3
  58. package/dist/esm/Progress.js +3 -3
  59. package/dist/esm/Radio.js +4 -4
  60. package/dist/esm/RadioGroup.js +2 -3
  61. package/dist/esm/Range.js +11 -9
  62. package/dist/esm/Rate.js +3 -3
  63. package/dist/esm/Row.js +2 -2
  64. package/dist/esm/SearchBar.js +5 -5
  65. package/dist/esm/ShortPassword.js +7 -6
  66. package/dist/esm/SideNavBar/style/index.js +2 -0
  67. package/dist/esm/SideNavBar.js +14 -0
  68. package/dist/esm/SideNavBarItem/style/index.js +2 -0
  69. package/dist/esm/SideNavBarItem.js +3 -0
  70. package/dist/esm/Signature.js +6 -6
  71. package/dist/esm/Skeleton.js +3 -3
  72. package/dist/esm/Step.js +3 -3
  73. package/dist/esm/SubSideNavBar/style/index.js +2 -0
  74. package/dist/esm/SubSideNavBar.js +4 -0
  75. package/dist/esm/Swipe/style/index.js +2 -0
  76. package/dist/esm/Swipe.js +7 -0
  77. package/dist/esm/Swiper.js +3 -2
  78. package/dist/esm/SwiperItem.js +2 -2
  79. package/dist/esm/TabPane.js +2 -2
  80. package/dist/esm/TabbarItem.js +3 -3
  81. package/dist/esm/Table/style/index.js +2 -0
  82. package/dist/esm/Table.js +9 -0
  83. package/dist/esm/Tabs.js +3 -3
  84. package/dist/esm/Tag.js +3 -3
  85. package/dist/esm/TextArea.js +4 -4
  86. package/dist/esm/TimeDetail.js +4 -4
  87. package/dist/esm/TimePannel.js +4 -4
  88. package/dist/esm/TimeSelect.js +7 -6
  89. package/dist/esm/Toast.js +5 -4
  90. package/dist/esm/Uploader.js +5 -5
  91. package/dist/esm/VirtualList.js +4 -4
  92. package/dist/esm/{actionsheet.taro-4ae40ea0.js → actionsheet.taro-f4d407b0.js} +1 -1
  93. package/dist/esm/{address.taro-82a8fa11.js → address.taro-4765a826.js} +95 -36
  94. package/dist/esm/{animatingnumbers.taro-cda438cc.js → animatingnumbers.taro-877baa98.js} +20 -15
  95. package/dist/esm/audio.taro-cd6cc93b.js +292 -0
  96. package/dist/esm/{avatar.taro-5dafffdc.js → avatar.taro-0a0472fd.js} +1 -2
  97. package/dist/esm/{avatargroup.taro-a39282b3.js → avatargroup-1ca79066.js} +1 -1
  98. package/dist/esm/{backtop.taro-65dccd86.js → backtop.taro-0e2e3946.js} +8 -6
  99. package/dist/esm/{badge.taro-8c001377.js → badge.taro-eeac9de8.js} +5 -5
  100. package/dist/esm/{barrage.taro-f1139b9c.js → barrage.taro-efac8422.js} +42 -19
  101. package/dist/esm/{button.taro-90c8bb93.js → button-521a516b.js} +1 -1
  102. package/dist/esm/{button-9b1f3219.js → button.taro-d5968f9d.js} +1 -1
  103. package/dist/esm/calendar.taro-1abb1925.js +89 -0
  104. package/dist/esm/{calendaritem.taro-bbe4a226.js → calendaritem.taro-3c06a809.js} +151 -74
  105. package/dist/esm/{card.taro-c4f88500.js → card.taro-0861c7b3.js} +2 -2
  106. package/dist/esm/cascader.taro-31dbc60e.js +786 -0
  107. package/dist/esm/{cell.taro-8080af48.js → cell.taro-3bb1b0f2.js} +1 -1
  108. package/dist/esm/{checkbox.taro-7267be92.js → checkbox.taro-6fbc4b3c.js} +55 -10
  109. package/dist/esm/{checkboxgroup.taro-bc16131f.js → checkboxgroup.taro-3d380042.js} +26 -4
  110. package/dist/esm/{col.taro-ff3af36f.js → col.taro-2a437387.js} +6 -2
  111. package/dist/esm/{collapse.taro-5fac953d.js → collapse.taro-72e58ba2.js} +1 -0
  112. package/dist/esm/{collapseitem.taro-179cf530.js → collapseitem-5556ec54.js} +14 -13
  113. package/dist/esm/{configprovider-18657611.js → configprovider-9c393a29.js} +1 -1
  114. package/dist/esm/{configprovider.taro-98343012.js → configprovider.taro-1ff7f150.js} +2 -2
  115. package/dist/esm/{countdown.taro-cd6a1bd4.js → countdown.taro-b00d0d46.js} +1 -1
  116. package/dist/esm/{datepicker.taro-f7c8ef80.js → datepicker.taro-e385849d.js} +8 -6
  117. package/dist/esm/{dialog.taro-57f6fc2e.js → dialog.taro-c80b7b5f.js} +13 -19
  118. package/dist/esm/{divider.taro-beaec14a.js → divider.taro-5236fe6a.js} +6 -3
  119. package/dist/esm/{drag.taro-7c0493f8.js → drag.taro-56e8c87a.js} +1 -1
  120. package/dist/esm/{elevator.taro-e37a3fbb.js → elevator.taro-15b0d8c2.js} +139 -39
  121. package/dist/esm/{empty.taro-c7ccac8a.js → empty.taro-20b8adac.js} +3 -3
  122. package/dist/esm/{fixednav.taro-5b473df6.js → fixednav.taro-75e35339.js} +4 -4
  123. package/dist/esm/grid.taro-7fb43d02.js +90 -0
  124. package/dist/esm/griditem.taro-8020b409.js +98 -0
  125. package/dist/esm/{icon-62bd7379.js → icon-8dc4de10.js} +9 -9
  126. package/dist/esm/{icon.taro-bf130544.js → icon.taro-1d0d4fb7.js} +11 -9
  127. package/dist/esm/imagepreview.taro-a0ddd8a2.js +813 -0
  128. package/dist/esm/{infiniteloading.taro-abf15a17.js → infiniteloading.taro-0a86819e.js} +2 -2
  129. package/dist/esm/input.taro-1d23861d.js +392 -0
  130. package/dist/esm/{inputnumber.taro-4ec2bfb6.js → inputnumber.taro-75662231.js} +17 -18
  131. package/dist/esm/menu.taro-03e3b011.js +153 -0
  132. package/dist/esm/menuitem.taro-56bf3205.js +195 -0
  133. package/dist/esm/navbar.taro-f2eae6a6.js +123 -0
  134. package/dist/esm/{noticebar.taro-70193e5e.js → noticebar.taro-1890c693.js} +77 -43
  135. package/dist/esm/{notify.taro-837a878b.js → notify.taro-22b8f4cd.js} +21 -5
  136. package/dist/esm/{numberkeyboard.taro-a80cec74.js → numberkeyboard.taro-5d685c76.js} +2 -2
  137. package/dist/esm/nutui-react.es.js +87 -74
  138. package/dist/esm/offsetContext-0e3d04b3.js +19 -0
  139. package/dist/esm/{pagination.taro-abc4a71e.js → pagination.taro-10449c4a.js} +1 -1
  140. package/dist/esm/{picker.taro-c05b1930.js → picker.taro-216cc3cb.js} +8 -6
  141. package/dist/esm/{pickerSlot-c8f5343e.js → pickerSlot-f8e4e542.js} +9 -6
  142. package/dist/esm/{popover.taro-3b06163e.js → popover.taro-9b3da0fa.js} +90 -107
  143. package/dist/esm/{popup-15922d84.js → popup-67173ec6.js} +55 -31
  144. package/dist/esm/{popup.taro-897e35fd.js → popup.taro-a89dd3a1.js} +55 -31
  145. package/dist/esm/{progress.taro-51bcdd4f.js → progress.taro-dd93ac38.js} +1 -1
  146. package/dist/esm/radio.taro-32cb0172.js +129 -0
  147. package/dist/esm/{radiogroup.taro-f2401b7a.js → radiogroup-e698d3df.js} +5 -2
  148. package/dist/esm/{range.taro-41ced357.js → range.taro-fe08c5f4.js} +262 -86
  149. package/dist/esm/{rate.taro-3d6edec3.js → rate.taro-a0b21714.js} +6 -2
  150. package/dist/esm/render-4a3856cb.js +32 -0
  151. package/dist/esm/{row.taro-7afb510a.js → row.taro-cec13a7e.js} +9 -3
  152. package/dist/esm/{searchbar.taro-b05ef5a8.js → searchbar.taro-450d2f88.js} +2 -2
  153. package/dist/esm/{shortpassword.taro-aad27ce9.js → shortpassword.taro-08a05360.js} +25 -20
  154. package/dist/esm/sidenavbar.taro-dd471476.js +65 -0
  155. package/dist/esm/sidenavbaritem.taro-77e077f4.js +32 -0
  156. package/dist/esm/{signature.taro-454c5413.js → signature.taro-7cb77bab.js} +2 -2
  157. package/dist/esm/{skeleton.taro-b2831f6f.js → skeleton.taro-5934c7d7.js} +6 -7
  158. package/dist/esm/{step.taro-33775bf4.js → step-9a048771.js} +1 -1
  159. package/dist/esm/subsidenavbar.taro-2c1fcf16.js +94 -0
  160. package/dist/esm/swipe.taro-dfb9a049.js +264 -0
  161. package/dist/esm/{swiper.taro-624d2cf2.js → swiper.taro-7a2ef124.js} +39 -14
  162. package/dist/esm/{swiperitem.taro-984e3ebb.js → swiperitem-d00e7513.js} +1 -15
  163. package/dist/esm/{tabbaritem.taro-898becb1.js → tabbaritem.taro-a88d3ae7.js} +1 -1
  164. package/dist/esm/table.taro-305e0317.js +153 -0
  165. package/dist/esm/{tabpane.taro-24514060.js → tabpane.taro-95aa185b.js} +3 -2
  166. package/dist/esm/{tabs.taro-56a953f6.js → tabs.taro-d1e85ea5.js} +15 -5
  167. package/dist/esm/{tag.taro-77cf134f.js → tag.taro-3bbbb557.js} +2 -2
  168. package/dist/esm/{textarea.taro-5d4efaf0.js → textarea.taro-700b04c2.js} +6 -3
  169. package/dist/esm/{timedetail.taro-0e31b4a5.js → timedetail.taro-7cc00243.js} +1 -1
  170. package/dist/esm/{timepannel.taro-2d54b3db.js → timepannel.taro-e24537e4.js} +1 -1
  171. package/dist/esm/{timeselect.taro-e4c97354.js → timeselect.taro-210fd548.js} +2 -2
  172. package/dist/esm/{toast.taro-b7ff92f1.js → toast.taro-bb181833.js} +1 -1
  173. package/dist/esm/{uploader.taro-5fab7e14.js → uploader.taro-f7528535.js} +4 -4
  174. package/dist/esm/useClientRect-8b7cc406.js +74 -0
  175. package/dist/esm/{index-31152350.js → useTouch-a2ea68c6.js} +26 -12
  176. package/dist/esm/{virtuallist.taro-2ff1a5ad.js → virtuallist.taro-ce9619f9.js} +1 -1
  177. package/dist/esm/{zh-CN-f5124686.js → zh-CN-91090ae2.js} +16 -0
  178. package/dist/locales/base.d.ts +16 -0
  179. package/dist/locales/base.js +1 -1
  180. package/dist/locales/en-US.js +17 -1
  181. package/dist/locales/id-ID.js +17 -1
  182. package/dist/locales/zh-CN.js +17 -1
  183. package/dist/locales/zh-TW.js +17 -1
  184. package/dist/nutui.react.es.js +6306 -3636
  185. package/dist/nutui.react.umd.js +20243 -33
  186. package/dist/packages/address/address.scss +9 -2
  187. package/dist/packages/audio/audio.scss +80 -0
  188. package/dist/packages/calendar/calendar.scss +57 -36
  189. package/dist/packages/calendaritem/calendaritem.scss +0 -191
  190. package/dist/packages/cascader/cascader.scss +69 -0
  191. package/dist/packages/col/col.scss +6 -6
  192. package/dist/packages/grid/grid.scss +10 -0
  193. package/dist/packages/griditem/griditem.scss +103 -0
  194. package/dist/packages/icon/icon.scss +104 -12
  195. package/dist/packages/imagepreview/imagepreview.scss +51 -0
  196. package/dist/packages/menu/menu.scss +72 -0
  197. package/dist/packages/menuitem/menuitem.scss +90 -0
  198. package/dist/packages/noticebar/noticebar.scss +31 -15
  199. package/dist/packages/notify/notify.scss +9 -0
  200. package/dist/packages/popover/popover.scss +205 -83
  201. package/dist/packages/popup/popup.scss +1 -1
  202. package/dist/packages/range/range.scss +141 -13
  203. package/dist/packages/searchbar/searchbar.scss +1 -0
  204. package/dist/packages/shortpassword/shortpassword.scss +6 -1
  205. package/dist/packages/sidenavbar/sidenavbar.scss +69 -0
  206. package/dist/packages/sidenavbaritem/sidenavbaritem.scss +8 -0
  207. package/dist/packages/subsidenavbar/subsidenavbar.scss +23 -0
  208. package/dist/packages/swipe/swipe.scss +33 -0
  209. package/dist/packages/swiper/swiper.scss +3 -0
  210. package/dist/packages/table/table.scss +81 -0
  211. package/dist/packages/textarea/textarea.scss +16 -1
  212. package/dist/packages/toast/toast.scss +16 -13
  213. package/dist/style.css +1 -1
  214. package/dist/style.es.js +1 -1
  215. package/dist/styles/animation/icon.scss +245 -0
  216. package/dist/styles/animation/index.scss +1 -0
  217. package/dist/styles/font/config.json +169 -0
  218. package/dist/styles/font/demo_index.html +210 -3
  219. package/dist/styles/font/iconfont.css +39 -3
  220. package/dist/styles/font/iconfont.js +42 -40
  221. package/dist/styles/font/iconfont.json +63 -0
  222. package/dist/styles/font/iconfont.ttf +0 -0
  223. package/dist/styles/font/iconfont.woff +0 -0
  224. package/dist/styles/font/iconfont.woff2 +0 -0
  225. package/dist/styles/themes/default.scss +12 -0
  226. package/dist/styles/variables.scss +101 -21
  227. package/dist/types/address/address.taro.d.ts +4 -27
  228. package/dist/types/animatingnumbers/animatingnumbers.taro.d.ts +1 -1
  229. package/dist/types/animatingnumbers/countup.taro.d.ts +11 -0
  230. package/dist/types/audio/audio.taro.d.ts +18 -0
  231. package/dist/types/audio/index.taro.d.ts +2 -0
  232. package/dist/types/avatargroup/index.taro.d.ts +1 -1
  233. package/dist/types/backtop/backtop.taro.d.ts +4 -4
  234. package/dist/types/badge/badge.taro.d.ts +2 -1
  235. package/dist/types/card/card.taro.d.ts +4 -4
  236. package/dist/types/cascader/cascader.taro.d.ts +25 -0
  237. package/dist/types/cascader/cascaderItem.taro.d.ts +25 -0
  238. package/dist/types/cascader/index.taro.d.ts +2 -0
  239. package/dist/types/cellgroup/cellgroup.taro.d.ts +1 -0
  240. package/dist/types/checkbox/checkbox.taro.d.ts +6 -2
  241. package/dist/types/checkboxgroup/checkboxgroup.taro.d.ts +3 -2
  242. package/dist/types/col/col.taro.d.ts +4 -1
  243. package/dist/types/collapse/collapse.taro.d.ts +2 -1
  244. package/dist/types/collapseitem/index.taro.d.ts +1 -1
  245. package/dist/types/dialog/dialog.taro.d.ts +2 -1
  246. package/dist/types/elevator/elevator.taro.d.ts +6 -1
  247. package/dist/types/fixednav/fixednav.taro.d.ts +5 -5
  248. package/dist/types/grid/grid.taro.d.ts +16 -0
  249. package/dist/types/grid/index.taro.d.ts +2 -0
  250. package/dist/types/griditem/griditem.taro.d.ts +20 -0
  251. package/dist/types/griditem/index.taro.d.ts +2 -0
  252. package/dist/types/icon/icon.taro.d.ts +11 -5
  253. package/dist/types/imagepreview/imagepreview.taro.d.ts +26 -0
  254. package/dist/types/imagepreview/index.taro.d.ts +2 -0
  255. package/dist/types/input/input.taro.d.ts +42 -5
  256. package/dist/types/menu/index.taro.d.ts +2 -0
  257. package/dist/types/menu/menu.taro.d.ts +12 -0
  258. package/dist/types/menuitem/index.taro.d.ts +2 -0
  259. package/dist/types/menuitem/menuitem.taro.d.ts +23 -0
  260. package/dist/types/navbar/navbar.taro.d.ts +10 -4
  261. package/dist/types/noticebar/noticebar.taro.d.ts +1 -1
  262. package/dist/types/notify/notify.taro.d.ts +13 -0
  263. package/dist/types/nutui.react.d.ts +99 -1
  264. package/dist/types/picker/picker.taro.d.ts +3 -2
  265. package/dist/types/popover/popover.taro.d.ts +15 -7
  266. package/dist/types/popup/popup.taro.d.ts +3 -1
  267. package/dist/types/radiogroup/index.taro.d.ts +1 -1
  268. package/dist/types/range/range.taro.d.ts +3 -1
  269. package/dist/types/row/row.taro.d.ts +4 -1
  270. package/dist/types/shortpassword/shortpassword.taro.d.ts +3 -3
  271. package/dist/types/sidenavbar/index.taro.d.ts +2 -0
  272. package/dist/types/sidenavbar/sidenavbar.taro.d.ts +15 -0
  273. package/dist/types/sidenavbaritem/index.taro.d.ts +2 -0
  274. package/dist/types/sidenavbaritem/sidenavbaritem.taro.d.ts +11 -0
  275. package/dist/types/skeleton/skeleton.taro.d.ts +1 -0
  276. package/dist/types/step/index.taro.d.ts +1 -1
  277. package/dist/types/subsidenavbar/index.taro.d.ts +2 -0
  278. package/dist/types/subsidenavbar/subsidenavbar.taro.d.ts +13 -0
  279. package/dist/types/swipe/index.taro.d.ts +2 -0
  280. package/dist/types/swipe/swipe.taro.d.ts +41 -0
  281. package/dist/types/swiper/swiper.taro.d.ts +1 -0
  282. package/dist/types/swiperitem/index.taro.d.ts +1 -1
  283. package/dist/types/tabbar/tabbar.taro.d.ts +1 -0
  284. package/dist/types/table/index.taro.d.ts +2 -0
  285. package/dist/types/table/table.taro.d.ts +4 -0
  286. package/dist/types/tabpane/tabpane.taro.d.ts +3 -1
  287. package/dist/types/tabs/tabs.taro.d.ts +2 -0
  288. package/dist/types/tag/tag.taro.d.ts +2 -1
  289. package/dist/types/toast/toast.taro.d.ts +18 -0
  290. package/dist/types/virtuallist/virtuallist.taro.d.ts +2 -1
  291. package/package.json +18 -11
  292. package/dist/esm/calendar.taro-d3a90861.js +0 -617
  293. package/dist/esm/context-aa058329.js +0 -6
  294. package/dist/esm/input.taro-b6927020.js +0 -190
  295. package/dist/esm/navbar.taro-f2ba2cf4.js +0 -66
  296. package/dist/esm/radio.taro-923d91bc.js +0 -200
  297. package/dist/esm/raf-3fbb5f92.js +0 -126
  298. package/dist/packages/range/custom.scss +0 -9
  299. package/dist/types/actionsheet/demo.taro.d.ts +0 -6
  300. package/dist/types/address/demo.taro.d.ts +0 -3
  301. package/dist/types/animatingnumbers/demo.taro.d.ts +0 -3
  302. package/dist/types/avatar/demo.taro.d.ts +0 -4
  303. package/dist/types/avatargroup/avatargroup.taro.d.ts +0 -14
  304. package/dist/types/backtop/demo.taro.d.ts +0 -3
  305. package/dist/types/badge/demo.taro.d.ts +0 -3
  306. package/dist/types/barrage/demo.taro.d.ts +0 -4
  307. package/dist/types/button/demo.taro.d.ts +0 -3
  308. package/dist/types/calendar/demo.taro.d.ts +0 -3
  309. package/dist/types/card/demo.taro.d.ts +0 -3
  310. package/dist/types/cell/demo.taro.d.ts +0 -3
  311. package/dist/types/checkbox/demo.taro.d.ts +0 -3
  312. package/dist/types/circleprogress/demo.taro.d.ts +0 -4
  313. package/dist/types/collapse/demo.taro.d.ts +0 -3
  314. package/dist/types/collapseitem/collapseitem.taro.d.ts +0 -18
  315. package/dist/types/configprovider/demo.taro.d.ts +0 -3
  316. package/dist/types/countdown/demo.taro.d.ts +0 -3
  317. package/dist/types/datepicker/demo.taro.d.ts +0 -3
  318. package/dist/types/dialog/demo.taro.d.ts +0 -3
  319. package/dist/types/divider/demo.taro.d.ts +0 -3
  320. package/dist/types/drag/demo.taro.d.ts +0 -3
  321. package/dist/types/elevator/demo.taro.d.ts +0 -3
  322. package/dist/types/empty/demo.taro.d.ts +0 -4
  323. package/dist/types/fixednav/demo.taro.d.ts +0 -3
  324. package/dist/types/icon/demo.taro.d.ts +0 -3
  325. package/dist/types/indicator/demo.taro.d.ts +0 -4
  326. package/dist/types/infiniteloading/demo.taro.d.ts +0 -4
  327. package/dist/types/input/demo.taro.d.ts +0 -3
  328. package/dist/types/inputnumber/demo.taro.d.ts +0 -3
  329. package/dist/types/layout/demo.taro.d.ts +0 -4
  330. package/dist/types/navbar/demo.taro.d.ts +0 -3
  331. package/dist/types/noticebar/demo.taro.d.ts +0 -3
  332. package/dist/types/notify/demo.taro.d.ts +0 -3
  333. package/dist/types/numberkeyboard/demo.taro.d.ts +0 -3
  334. package/dist/types/overlay/demo.taro.d.ts +0 -4
  335. package/dist/types/pagination/demo.taro.d.ts +0 -3
  336. package/dist/types/picker/demo.taro.d.ts +0 -3
  337. package/dist/types/popover/demo.taro.d.ts +0 -3
  338. package/dist/types/popup/demo.taro.d.ts +0 -4
  339. package/dist/types/price/demo.taro.d.ts +0 -3
  340. package/dist/types/progress/demo.taro.d.ts +0 -3
  341. package/dist/types/radio/demo.taro.d.ts +0 -3
  342. package/dist/types/radiogroup/radiogroup.taro.d.ts +0 -11
  343. package/dist/types/range/demo.taro.d.ts +0 -3
  344. package/dist/types/rate/demo.taro.d.ts +0 -3
  345. package/dist/types/searchbar/demo.taro.d.ts +0 -3
  346. package/dist/types/shortpassword/demo.taro.d.ts +0 -3
  347. package/dist/types/signature/demo.taro.d.ts +0 -3
  348. package/dist/types/skeleton/demo.taro.d.ts +0 -4
  349. package/dist/types/step/step.taro.d.ts +0 -13
  350. package/dist/types/steps/demo.taro.d.ts +0 -4
  351. package/dist/types/swiper/demo.taro.d.ts +0 -4
  352. package/dist/types/swiperitem/swiperitem.taro.d.ts +0 -7
  353. package/dist/types/switch/demo.taro.d.ts +0 -3
  354. package/dist/types/tabbar/demo.taro.d.ts +0 -3
  355. package/dist/types/tabs/demo.taro.d.ts +0 -3
  356. package/dist/types/tag/demo.taro.d.ts +0 -3
  357. package/dist/types/textarea/demo.taro.d.ts +0 -3
  358. package/dist/types/timedetail/demo.taro.d.ts +0 -3
  359. package/dist/types/timepannel/demo.taro.d.ts +0 -3
  360. package/dist/types/timeselect/demo.taro.d.ts +0 -3
  361. package/dist/types/toast/demo.taro.d.ts +0 -3
  362. package/dist/types/uploader/demo.taro.d.ts +0 -16
  363. package/dist/types/virtuallist/demo.taro.d.ts +0 -3
@@ -10,8 +10,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
10
10
  import React__default, { useState, useRef, useEffect } from 'react';
11
11
  import classNames from 'classnames';
12
12
  import { c as cn } from './bem-893ad28d.js';
13
- import { I as Icon } from './icon-62bd7379.js';
14
- import { u as useConfig } from './configprovider-18657611.js';
13
+ import { I as Icon } from './icon-8dc4de10.js';
14
+ import { u as useConfig } from './configprovider-9c393a29.js';
15
15
  var defaultProps = {
16
16
  hasMore: true,
17
17
  threshold: 200,
@@ -0,0 +1,392 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["children", "type", "defaultValue", "placeholder", "label", "labelClass", "labelWidth", "labelAlign", "colon", "inputAlign", "center", "required", "disabled", "readonly", "error", "maxlength", "leftIcon", "leftIconSize", "rightIcon", "rightIconSize", "clearable", "clearIcon", "clearSize", "border", "formatTrigger", "rules", "errorMessage", "errorMessageAlign", "showWordLimit", "autofocus", "style", "className", "rows", "slotButton", "slotInput", "change", "blur", "focus", "clear", "formatter", "keypress", "clickInput", "clickLeftIcon", "clickRightIcon", "click"];
5
+
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
+
8
+ 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; }
9
+
10
+ import React__default, { useState, useRef, useLayoutEffect, useEffect, useCallback } from 'react';
11
+ import { I as Icon } from './icon-8dc4de10.js';
12
+ import { u as useConfig } from './configprovider-9c393a29.js';
13
+
14
+ function trimExtraChar(value, _char, regExp) {
15
+ var index = value.indexOf(_char);
16
+
17
+ if (index === -1) {
18
+ return value;
19
+ }
20
+
21
+ if (_char === '-' && index !== 0) {
22
+ return value.slice(0, index);
23
+ }
24
+
25
+ return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
26
+ }
27
+
28
+ function formatNumber(value) {
29
+ var allowDot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
30
+ var allowMinus = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
31
+
32
+ if (allowDot) {
33
+ value = trimExtraChar(value, '.', /\./g);
34
+ } else {
35
+ value = value.split('.')[0];
36
+ }
37
+
38
+ if (allowMinus) {
39
+ value = trimExtraChar(value, '-', /-/g);
40
+ } else {
41
+ value = value.replace(/-/, '');
42
+ }
43
+
44
+ var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
45
+ return value.replace(regExp, '');
46
+ }
47
+
48
+ var defaultProps = {
49
+ type: 'text',
50
+ defaultValue: '',
51
+ placeholder: '',
52
+ label: '',
53
+ labelClass: '',
54
+ labelWidth: '80',
55
+ labelAlign: 'left',
56
+ colon: false,
57
+ inputAlign: 'left',
58
+ center: false,
59
+ required: false,
60
+ disabled: false,
61
+ readonly: false,
62
+ error: false,
63
+ maxlength: '9999',
64
+ leftIcon: '',
65
+ leftIconSize: '',
66
+ rightIcon: '',
67
+ rightIconSize: '',
68
+ clearable: false,
69
+ clearIcon: 'mask-close',
70
+ clearSize: '14',
71
+ border: true,
72
+ formatTrigger: 'onChange',
73
+ rules: [],
74
+ rows: null,
75
+ errorMessage: '',
76
+ errorMessageAlign: '',
77
+ showWordLimit: false,
78
+ autofocus: false,
79
+ slotButton: null,
80
+ slotInput: null
81
+ };
82
+
83
+ var Input = function Input(props) {
84
+ var _useConfig = useConfig(),
85
+ locale = _useConfig.locale;
86
+
87
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
88
+ children = _defaultProps$props.children,
89
+ type = _defaultProps$props.type,
90
+ defaultValue = _defaultProps$props.defaultValue,
91
+ placeholder = _defaultProps$props.placeholder,
92
+ label = _defaultProps$props.label,
93
+ labelClass = _defaultProps$props.labelClass,
94
+ labelWidth = _defaultProps$props.labelWidth,
95
+ labelAlign = _defaultProps$props.labelAlign,
96
+ colon = _defaultProps$props.colon,
97
+ inputAlign = _defaultProps$props.inputAlign,
98
+ center = _defaultProps$props.center,
99
+ required = _defaultProps$props.required,
100
+ disabled = _defaultProps$props.disabled,
101
+ readonly = _defaultProps$props.readonly,
102
+ error = _defaultProps$props.error,
103
+ maxlength = _defaultProps$props.maxlength,
104
+ leftIcon = _defaultProps$props.leftIcon,
105
+ leftIconSize = _defaultProps$props.leftIconSize,
106
+ rightIcon = _defaultProps$props.rightIcon,
107
+ rightIconSize = _defaultProps$props.rightIconSize,
108
+ clearable = _defaultProps$props.clearable,
109
+ clearIcon = _defaultProps$props.clearIcon,
110
+ clearSize = _defaultProps$props.clearSize,
111
+ border = _defaultProps$props.border,
112
+ formatTrigger = _defaultProps$props.formatTrigger,
113
+ rules = _defaultProps$props.rules,
114
+ errorMessage = _defaultProps$props.errorMessage,
115
+ errorMessageAlign = _defaultProps$props.errorMessageAlign,
116
+ showWordLimit = _defaultProps$props.showWordLimit,
117
+ autofocus = _defaultProps$props.autofocus,
118
+ style = _defaultProps$props.style,
119
+ className = _defaultProps$props.className,
120
+ rows = _defaultProps$props.rows,
121
+ slotButton = _defaultProps$props.slotButton,
122
+ slotInput = _defaultProps$props.slotInput,
123
+ change = _defaultProps$props.change,
124
+ blur = _defaultProps$props.blur,
125
+ focus = _defaultProps$props.focus,
126
+ clear = _defaultProps$props.clear,
127
+ formatter = _defaultProps$props.formatter,
128
+ keypress = _defaultProps$props.keypress,
129
+ clickInput = _defaultProps$props.clickInput,
130
+ clickLeftIcon = _defaultProps$props.clickLeftIcon,
131
+ clickRightIcon = _defaultProps$props.clickRightIcon,
132
+ click = _defaultProps$props.click,
133
+ rest = _objectWithoutProperties(_defaultProps$props, _excluded);
134
+
135
+ locale.placeholder = placeholder || locale.placeholder;
136
+
137
+ var _useState = useState(''),
138
+ _useState2 = _slicedToArray(_useState, 2),
139
+ inputValue = _useState2[0],
140
+ SetInputValue = _useState2[1];
141
+
142
+ var _useState3 = useState(false),
143
+ _useState4 = _slicedToArray(_useState3, 2),
144
+ active = _useState4[0],
145
+ SetActive = _useState4[1];
146
+
147
+ var _useState5 = useState(''),
148
+ _useState6 = _slicedToArray(_useState5, 2),
149
+ classes = _useState6[0],
150
+ setClasses = _useState6[1];
151
+
152
+ var getModelValue = function getModelValue() {
153
+ return String(inputValue !== null && inputValue !== void 0 ? inputValue : '');
154
+ };
155
+
156
+ var inputRef = useRef(null);
157
+ useLayoutEffect(function () {
158
+ updateValue(getModelValue(), formatTrigger);
159
+ });
160
+ useEffect(function () {
161
+ setClasses(inputClass);
162
+
163
+ if (defaultValue) {
164
+ SetInputValue(defaultValue);
165
+ }
166
+ }, [defaultValue]);
167
+ useEffect(function () {
168
+ if (inputValue) {
169
+ updateValue(getModelValue());
170
+ resetValidation();
171
+ }
172
+ }, [inputValue]);
173
+ var inputClass = useCallback(function () {
174
+ var prefixCls = 'nut-input';
175
+ return [prefixCls, "".concat(center ? 'center' : ''), "".concat(disabled ? "".concat(prefixCls, "-disabled") : ''), "".concat(required ? "".concat(prefixCls, "-required") : ''), "".concat(error ? "".concat(prefixCls, "-error") : ''), "".concat(border ? "".concat(prefixCls, "-border") : '')].filter(Boolean).join(' ');
176
+ }, [disabled, required, error, border]);
177
+
178
+ var updateValue = function updateValue(value) {
179
+ var _inputRef$current;
180
+
181
+ var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'onChange';
182
+ var val = value;
183
+
184
+ if (type === 'digit' || type === 'tel') {
185
+ val = formatNumber(val, false, false);
186
+ }
187
+
188
+ if (type === 'number') {
189
+ val = formatNumber(val, true, true);
190
+ }
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
+
198
+ if (formatter && trigger === formatTrigger) {
199
+ val = formatter(val);
200
+ }
201
+
202
+ if ((inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.value) !== val) {
203
+ inputRef.current.value = val;
204
+ } // if (val !== defaultValue) {
205
+
206
+
207
+ SetInputValue(val); // }
208
+ };
209
+
210
+ var _onFocus = function onFocus(event) {
211
+ var val = event.target.value;
212
+ SetActive(true);
213
+ focus && focus(val, event);
214
+ };
215
+
216
+ var _onInput = function onInput(event) {
217
+ var val = event.target.value;
218
+
219
+ if (maxlength && val.length > Number(maxlength)) {
220
+ val = val.slice(0, Number(maxlength));
221
+ }
222
+
223
+ updateValue(val);
224
+ change && change(val, event);
225
+ };
226
+
227
+ var _onBlur = function onBlur(event) {
228
+ setTimeout(function () {
229
+ SetActive(false);
230
+ }, 200);
231
+ var val = event.target.value;
232
+
233
+ if (maxlength && val.length > Number(maxlength)) {
234
+ val = val.slice(0, Number(maxlength));
235
+ }
236
+
237
+ updateValue(getModelValue(), 'onBlur');
238
+ blur && blur(val, event);
239
+ };
240
+
241
+ var onClickInput = function onClickInput(event) {
242
+ clickInput && clickInput(event);
243
+ };
244
+
245
+ var onClickLeftIcon = function onClickLeftIcon(event) {
246
+ clickLeftIcon && clickLeftIcon(event);
247
+ };
248
+
249
+ var onClickRightIcon = function onClickRightIcon(event) {
250
+ clickRightIcon && clickRightIcon(event);
251
+ };
252
+
253
+ var resetValidation = function resetValidation() {};
254
+
255
+ var inputType = function inputType(type) {
256
+ if (type === 'number') {
257
+ return 'text';
258
+ }
259
+
260
+ if (type === 'digit') {
261
+ return 'tel';
262
+ }
263
+
264
+ return type;
265
+ };
266
+
267
+ var handleClear = function handleClear(event) {
268
+ updateValue('');
269
+ clear && clear('', event);
270
+ };
271
+
272
+ return React__default.createElement("div", _objectSpread(_objectSpread({
273
+ className: "".concat(classes, " ").concat(className || ''),
274
+ style: style
275
+ }, rest), {}, {
276
+ onClick: function onClick(e) {
277
+ click && click(e);
278
+ }
279
+ }), slotInput ? React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
280
+ className: "nut-input-label ".concat(labelClass),
281
+ style: {
282
+ width: "".concat(labelWidth, "px"),
283
+ textAlign: labelAlign
284
+ }
285
+ }, React__default.createElement("div", {
286
+ className: "label-string"
287
+ }, label, colon ? ':' : '')), React__default.createElement("div", {
288
+ className: "nut-input-value"
289
+ }, React__default.createElement("div", {
290
+ className: "nut-input-inner",
291
+ onClick: function onClick(e) {
292
+ onClickInput(e);
293
+ }
294
+ }, slotInput))) : React__default.createElement(React__default.Fragment, null, leftIcon && leftIcon.length > 0 ? React__default.createElement("div", {
295
+ className: "nut-input-left-icon",
296
+ onClick: function onClick(e) {
297
+ onClickLeftIcon(e);
298
+ }
299
+ }, React__default.createElement(Icon, {
300
+ name: leftIcon,
301
+ size: leftIconSize
302
+ })) : null, React__default.createElement("div", {
303
+ className: "nut-input-label ".concat(labelClass),
304
+ style: {
305
+ width: "".concat(labelWidth, "px"),
306
+ textAlign: labelAlign
307
+ }
308
+ }, React__default.createElement("div", {
309
+ className: "label-string"
310
+ }, label, colon ? ':' : '')), React__default.createElement("div", {
311
+ className: "nut-input-value"
312
+ }, React__default.createElement("div", {
313
+ className: "nut-input-inner",
314
+ onClick: function onClick(e) {
315
+ onClickInput(e);
316
+ }
317
+ }, type === 'textarea' ? React__default.createElement("textarea", {
318
+ className: "input-text",
319
+ ref: inputRef,
320
+ style: {
321
+ textAlign: inputAlign,
322
+ height: "".concat(Number(rows) * 24, "px")
323
+ },
324
+ maxLength: maxlength,
325
+ placeholder: placeholder || locale.placeholder,
326
+ disabled: disabled,
327
+ readOnly: readonly,
328
+ value: inputValue,
329
+ autoFocus: autofocus,
330
+ onBlur: function onBlur(e) {
331
+ _onBlur(e);
332
+ },
333
+ onFocus: function onFocus(e) {
334
+ _onFocus(e);
335
+ },
336
+ onInput: function onInput(e) {
337
+ _onInput(e);
338
+ }
339
+ }) : React__default.createElement("input", {
340
+ className: "input-text",
341
+ ref: inputRef,
342
+ style: {
343
+ textAlign: inputAlign
344
+ },
345
+ type: inputType(type),
346
+ maxLength: maxlength,
347
+ placeholder: placeholder || locale.placeholder,
348
+ disabled: disabled,
349
+ readOnly: readonly,
350
+ value: inputValue,
351
+ autoFocus: autofocus,
352
+ onBlur: function onBlur(e) {
353
+ _onBlur(e);
354
+ },
355
+ onFocus: function onFocus(e) {
356
+ _onFocus(e);
357
+ },
358
+ onInput: function onInput(e) {
359
+ _onInput(e);
360
+ }
361
+ }), clearable && !readonly && active && inputValue.length > 0 ? React__default.createElement(Icon, {
362
+ className: "nut-input-clear",
363
+ name: clearIcon,
364
+ size: clearSize,
365
+ onClick: function onClick(e) {
366
+ handleClear(e);
367
+ }
368
+ }) : null, rightIcon && rightIcon.length > 0 ? React__default.createElement("div", {
369
+ className: "nut-input-right-icon",
370
+ onClick: function onClick(e) {
371
+ onClickRightIcon(e);
372
+ }
373
+ }, React__default.createElement(Icon, {
374
+ name: rightIcon,
375
+ size: rightIconSize
376
+ })) : null, slotButton ? React__default.createElement("div", {
377
+ className: "nut-input-button"
378
+ }, slotButton) : null), showWordLimit && maxlength ? React__default.createElement("div", {
379
+ className: "nut-input-word-limit"
380
+ }, React__default.createElement("span", {
381
+ className: "nut-input-word-num"
382
+ }, inputValue ? inputValue.length : 0), "/", maxlength) : null, errorMessage ? React__default.createElement("div", {
383
+ className: "nut-input-error-message",
384
+ style: {
385
+ textAlign: errorMessageAlign
386
+ }
387
+ }, errorMessage) : null)));
388
+ };
389
+
390
+ Input.defaultProps = defaultProps;
391
+ Input.displayName = 'NutInput';
392
+ export { Input as I };
@@ -9,7 +9,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9
9
 
10
10
  import React__default, { useState, useEffect } from 'react';
11
11
  import classNames from 'classnames';
12
- import { I as Icon } from './icon-62bd7379.js';
12
+ import { I as Icon } from './icon-8dc4de10.js';
13
13
  import { c as cn } from './bem-893ad28d.js';
14
14
  var defaultProps = {
15
15
  disabled: false,
@@ -88,16 +88,16 @@ var InputNumber = function InputNumber(props) {
88
88
  };
89
89
 
90
90
  var emitChange = function emitChange(value, e) {
91
- var output_value = fixedDecimalPlaces(value);
92
- change && change(output_value, e);
91
+ var outputValue = fixedDecimalPlaces(value);
92
+ change && change(outputValue, e);
93
93
 
94
94
  if (!isAsync) {
95
- if (Number(output_value) < Number(min)) {
95
+ if (Number(outputValue) < Number(min)) {
96
96
  setInputValue(Number(min));
97
- } else if (Number(output_value) > Number(max)) {
97
+ } else if (Number(outputValue) > Number(max)) {
98
98
  setInputValue(Number(max));
99
99
  } else {
100
- setInputValue(output_value);
100
+ setInputValue(outputValue);
101
101
  }
102
102
  }
103
103
  };
@@ -106,8 +106,8 @@ var InputNumber = function InputNumber(props) {
106
106
  reduce && reduce(e);
107
107
 
108
108
  if (reduceAllow()) {
109
- var output_value = Number(inputValue) - Number(step);
110
- emitChange(output_value, e);
109
+ var outputValue = Number(inputValue) - Number(step);
110
+ emitChange(outputValue, e);
111
111
  } else {
112
112
  overlimit && overlimit(e);
113
113
  }
@@ -117,22 +117,22 @@ var InputNumber = function InputNumber(props) {
117
117
  add && add(e);
118
118
 
119
119
  if (addAllow()) {
120
- var output_value = Number(inputValue) + Number(step);
121
- emitChange(output_value, e);
120
+ var outputValue = Number(inputValue) + Number(step);
121
+ emitChange(outputValue, e);
122
122
  } else {
123
123
  overlimit && overlimit(e);
124
124
  }
125
125
  };
126
126
 
127
127
  var changeValue = function changeValue(e) {
128
- var input = e.target;
129
- change && change(input.valueAsNumber, e);
128
+ var value = Number(e.detail.value);
129
+ change && change(value, e);
130
130
 
131
131
  if (!isAsync) {
132
- if (Number.isNaN(input.valueAsNumber)) {
132
+ if (Number.isNaN(value)) {
133
133
  setInputValue(inputValue);
134
134
  } else {
135
- setInputValue(input.valueAsNumber);
135
+ setInputValue(value);
136
136
  }
137
137
  }
138
138
  };
@@ -146,8 +146,7 @@ var InputNumber = function InputNumber(props) {
146
146
  var burValue = function burValue(e) {
147
147
  if (disabled) return;
148
148
  if (readonly) return;
149
- var input = e.target;
150
- var value = input.valueAsNumber;
149
+ var value = Number(e.detail.value);
151
150
 
152
151
  if (value < Number(min)) {
153
152
  value = Number(min);
@@ -166,7 +165,7 @@ var InputNumber = function InputNumber(props) {
166
165
  className: iconMinusClasses,
167
166
  size: buttonSize,
168
167
  name: "minus",
169
- click: reduceNumber
168
+ onClick: reduceNumber
170
169
  }), React__default.createElement("input", {
171
170
  type: "number",
172
171
  min: min,
@@ -184,7 +183,7 @@ var InputNumber = function InputNumber(props) {
184
183
  className: iconAddClasses,
185
184
  size: buttonSize,
186
185
  name: "plus",
187
- click: addNumber
186
+ onClick: addNumber
188
187
  }));
189
188
  };
190
189
 
@@ -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 { I as Icon } from './icon.taro-1d0d4fb7.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 M };