@nutui/nutui-react 1.5.1 → 1.5.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/nutui.react.mjs +27 -22
  3. package/dist/nutui.react.umd.js +27 -22
  4. package/package.json +1 -1
  5. package/dist/esm/ActionSheet/style/index.js +0 -2
  6. package/dist/esm/ActionSheet.js +0 -92
  7. package/dist/esm/Address/style/index.js +0 -4
  8. package/dist/esm/Address.js +0 -622
  9. package/dist/esm/Animate/style/index.js +0 -2
  10. package/dist/esm/Animate.js +0 -55
  11. package/dist/esm/AnimatingNumbers/style/index.js +0 -3
  12. package/dist/esm/AnimatingNumbers.js +0 -127
  13. package/dist/esm/Audio/style/index.js +0 -4
  14. package/dist/esm/Audio.js +0 -266
  15. package/dist/esm/Avatar/style/index.js +0 -2
  16. package/dist/esm/Avatar.js +0 -132
  17. package/dist/esm/AvatarContext-15733596.js +0 -3
  18. package/dist/esm/AvatarGroup/style/index.js +0 -2
  19. package/dist/esm/AvatarGroup.js +0 -43
  20. package/dist/esm/BackTop/style/index.js +0 -2
  21. package/dist/esm/BackTop.js +0 -139
  22. package/dist/esm/Badge/style/index.js +0 -2
  23. package/dist/esm/Badge.js +0 -73
  24. package/dist/esm/Barrage/style/index.js +0 -2
  25. package/dist/esm/Barrage.js +0 -99
  26. package/dist/esm/Button/style/index.js +0 -2
  27. package/dist/esm/Button.js +0 -109
  28. package/dist/esm/Calendar/style/index.js +0 -2
  29. package/dist/esm/Calendar.js +0 -129
  30. package/dist/esm/CalendarItem/style/index.js +0 -2
  31. package/dist/esm/CalendarItem.js +0 -676
  32. package/dist/esm/Card/style/index.js +0 -4
  33. package/dist/esm/Card.js +0 -63
  34. package/dist/esm/Cascader/style/index.js +0 -3
  35. package/dist/esm/Cascader.js +0 -673
  36. package/dist/esm/Cell/style/index.js +0 -2
  37. package/dist/esm/Cell.js +0 -103
  38. package/dist/esm/CellGroup/style/index.js +0 -2
  39. package/dist/esm/CellGroup.js +0 -5
  40. package/dist/esm/Checkbox/style/index.js +0 -3
  41. package/dist/esm/Checkbox.js +0 -8
  42. package/dist/esm/CheckboxGroup/style/index.js +0 -2
  43. package/dist/esm/CheckboxGroup.js +0 -113
  44. package/dist/esm/CircleProgress/style/index.js +0 -2
  45. package/dist/esm/CircleProgress.js +0 -116
  46. package/dist/esm/Col/style/index.js +0 -2
  47. package/dist/esm/Col.js +0 -58
  48. package/dist/esm/Collapse/style/index.js +0 -2
  49. package/dist/esm/Collapse.js +0 -99
  50. package/dist/esm/CollapseItem/style/index.js +0 -2
  51. package/dist/esm/CollapseItem.js +0 -148
  52. package/dist/esm/ConfigProvider/style/index.js +0 -2
  53. package/dist/esm/ConfigProvider.js +0 -187
  54. package/dist/esm/CountDown/style/index.js +0 -2
  55. package/dist/esm/CountDown.js +0 -247
  56. package/dist/esm/DatePicker/style/index.js +0 -2
  57. package/dist/esm/DatePicker.js +0 -310
  58. package/dist/esm/Dialog/style/index.js +0 -3
  59. package/dist/esm/Dialog.js +0 -296
  60. package/dist/esm/Divider/style/index.js +0 -2
  61. package/dist/esm/Divider.js +0 -36
  62. package/dist/esm/Drag/style/index.js +0 -2
  63. package/dist/esm/Drag.js +0 -120
  64. package/dist/esm/Elevator/style/index.js +0 -2
  65. package/dist/esm/Elevator.js +0 -236
  66. package/dist/esm/Ellipsis/style/index.js +0 -2
  67. package/dist/esm/Ellipsis.js +0 -177
  68. package/dist/esm/Empty/style/index.js +0 -2
  69. package/dist/esm/Empty.js +0 -82
  70. package/dist/esm/FixedNav/style/index.js +0 -3
  71. package/dist/esm/FixedNav.js +0 -105
  72. package/dist/esm/Form/style/index.js +0 -2
  73. package/dist/esm/Form.js +0 -221
  74. package/dist/esm/FormItem/style/index.js +0 -2
  75. package/dist/esm/FormItem.js +0 -5
  76. package/dist/esm/Grid/style/index.js +0 -2
  77. package/dist/esm/Grid.js +0 -83
  78. package/dist/esm/GridItem/style/index.js +0 -2
  79. package/dist/esm/GridItem.js +0 -125
  80. package/dist/esm/Icon/style/index.js +0 -4
  81. package/dist/esm/Icon.js +0 -5
  82. package/dist/esm/Image/style/index.js +0 -2
  83. package/dist/esm/Image.js +0 -170
  84. package/dist/esm/ImagePreview/style/index.js +0 -4
  85. package/dist/esm/ImagePreview.js +0 -226
  86. package/dist/esm/Indicator/style/index.js +0 -2
  87. package/dist/esm/Indicator.js +0 -52
  88. package/dist/esm/Infiniteloading/style/index.js +0 -2
  89. package/dist/esm/Infiniteloading.js +0 -217
  90. package/dist/esm/Input/style/index.js +0 -2
  91. package/dist/esm/Input.js +0 -363
  92. package/dist/esm/InputNumber/style/index.js +0 -2
  93. package/dist/esm/InputNumber.js +0 -277
  94. package/dist/esm/Layout/style/index.js +0 -2
  95. package/dist/esm/Layout.js +0 -14
  96. package/dist/esm/Menu/style/index.js +0 -3
  97. package/dist/esm/Menu.js +0 -154
  98. package/dist/esm/MenuItem/style/index.js +0 -3
  99. package/dist/esm/MenuItem.js +0 -177
  100. package/dist/esm/NavBar/style/index.js +0 -2
  101. package/dist/esm/NavBar.js +0 -116
  102. package/dist/esm/NoticeBar/style/index.js +0 -2
  103. package/dist/esm/NoticeBar.js +0 -570
  104. package/dist/esm/Notify/style/index.js +0 -2
  105. package/dist/esm/Notify.js +0 -236
  106. package/dist/esm/NumberKeyboard/style/index.js +0 -2
  107. package/dist/esm/NumberKeyboard.js +0 -249
  108. package/dist/esm/Overlay/style/index.js +0 -2
  109. package/dist/esm/Overlay.js +0 -6
  110. package/dist/esm/Pagination/style/index.js +0 -2
  111. package/dist/esm/Pagination.js +0 -170
  112. package/dist/esm/Picker/style/index.js +0 -2
  113. package/dist/esm/Picker.js +0 -496
  114. package/dist/esm/Popover/style/index.js +0 -3
  115. package/dist/esm/Popover.js +0 -225
  116. package/dist/esm/Popup/style/index.js +0 -3
  117. package/dist/esm/Popup.js +0 -195
  118. package/dist/esm/Price/style/index.js +0 -2
  119. package/dist/esm/Price.js +0 -86
  120. package/dist/esm/Progress/style/index.js +0 -2
  121. package/dist/esm/Progress.js +0 -124
  122. package/dist/esm/PullToRefresh/style/index.js +0 -2
  123. package/dist/esm/PullToRefresh.js +0 -277
  124. package/dist/esm/Radio/style/index.js +0 -3
  125. package/dist/esm/Radio.js +0 -6
  126. package/dist/esm/RadioGroup/style/index.js +0 -2
  127. package/dist/esm/RadioGroup.js +0 -123
  128. package/dist/esm/Range/style/index.js +0 -2
  129. package/dist/esm/Range.js +0 -407
  130. package/dist/esm/Rate/style/index.js +0 -2
  131. package/dist/esm/Rate.js +0 -123
  132. package/dist/esm/Row/style/index.js +0 -2
  133. package/dist/esm/Row.js +0 -50
  134. package/dist/esm/SearchBar/style/index.js +0 -2
  135. package/dist/esm/SearchBar.js +0 -237
  136. package/dist/esm/ShortPassword/style/index.js +0 -3
  137. package/dist/esm/ShortPassword.js +0 -193
  138. package/dist/esm/SideNavBar/style/index.js +0 -2
  139. package/dist/esm/SideNavBar.js +0 -58
  140. package/dist/esm/SideNavBarItem/style/index.js +0 -2
  141. package/dist/esm/SideNavBarItem.js +0 -25
  142. package/dist/esm/Signature/style/index.js +0 -2
  143. package/dist/esm/Signature.js +0 -155
  144. package/dist/esm/Skeleton/style/index.js +0 -2
  145. package/dist/esm/Skeleton.js +0 -100
  146. package/dist/esm/Step/style/index.js +0 -2
  147. package/dist/esm/Step.js +0 -89
  148. package/dist/esm/Steps/style/index.js +0 -2
  149. package/dist/esm/Steps.js +0 -40
  150. package/dist/esm/Sticky/style/index.js +0 -2
  151. package/dist/esm/Sticky.js +0 -192
  152. package/dist/esm/SubSideNavBar/style/index.js +0 -2
  153. package/dist/esm/SubSideNavBar.js +0 -79
  154. package/dist/esm/Swipe/style/index.js +0 -2
  155. package/dist/esm/Swipe.js +0 -232
  156. package/dist/esm/Swiper/style/index.js +0 -2
  157. package/dist/esm/Swiper.js +0 -492
  158. package/dist/esm/SwiperItem/style/index.js +0 -2
  159. package/dist/esm/SwiperItem.js +0 -38
  160. package/dist/esm/Switch/style/index.js +0 -2
  161. package/dist/esm/Switch.js +0 -73
  162. package/dist/esm/TabPane/style/index.js +0 -2
  163. package/dist/esm/TabPane.js +0 -6
  164. package/dist/esm/Tabbar/style/index.js +0 -2
  165. package/dist/esm/Tabbar.js +0 -70
  166. package/dist/esm/TabbarItem/style/index.js +0 -2
  167. package/dist/esm/TabbarItem.js +0 -80
  168. package/dist/esm/Table/style/index.js +0 -2
  169. package/dist/esm/Table.js +0 -142
  170. package/dist/esm/Tabs/style/index.js +0 -4
  171. package/dist/esm/Tabs.js +0 -9
  172. package/dist/esm/Tag/style/index.js +0 -2
  173. package/dist/esm/Tag.js +0 -111
  174. package/dist/esm/TextArea/style/index.js +0 -2
  175. package/dist/esm/TextArea.js +0 -150
  176. package/dist/esm/TimeDetail/style/index.js +0 -2
  177. package/dist/esm/TimeDetail.js +0 -69
  178. package/dist/esm/TimePannel/style/index.js +0 -2
  179. package/dist/esm/TimePannel.js +0 -31
  180. package/dist/esm/TimeSelect/style/index.js +0 -4
  181. package/dist/esm/TimeSelect.js +0 -173
  182. package/dist/esm/Toast/style/index.js +0 -2
  183. package/dist/esm/Toast.js +0 -271
  184. package/dist/esm/TrendArrow/style/index.js +0 -2
  185. package/dist/esm/TrendArrow.js +0 -101
  186. package/dist/esm/Uploader/style/index.js +0 -4
  187. package/dist/esm/Uploader.js +0 -566
  188. package/dist/esm/UserContext-101ad4a4.js +0 -3
  189. package/dist/esm/UserContext-2629d479.js +0 -3
  190. package/dist/esm/UserContext-b33bcf21.js +0 -3
  191. package/dist/esm/Video/style/index.js +0 -2
  192. package/dist/esm/Video.js +0 -92
  193. package/dist/esm/VirtualList/style/index.js +0 -2
  194. package/dist/esm/VirtualList.js +0 -315
  195. package/dist/esm/WaterMark/style/index.js +0 -2
  196. package/dist/esm/WaterMark.js +0 -113
  197. package/dist/esm/bem-3b438e61.js +0 -8
  198. package/dist/esm/cellgroup-fcc72767.js +0 -34
  199. package/dist/esm/checkbox-44e13cd0.js +0 -137
  200. package/dist/esm/date-c7aad4c0.js +0 -97
  201. package/dist/esm/formitem-8a73a5fb.js +0 -157
  202. package/dist/esm/get-scroll-parent-5f85dee8.js +0 -24
  203. package/dist/esm/grid.context-2ee27d95.js +0 -6
  204. package/dist/esm/icon-4ef1581c.js +0 -70
  205. package/dist/esm/index-030b7245.js +0 -11
  206. package/dist/esm/nutui-react.es.js +0 -94
  207. package/dist/esm/offsetContext-3ab00d40.js +0 -16
  208. package/dist/esm/overlay-de6c79d5.js +0 -83
  209. package/dist/esm/radio-9f141e6b.js +0 -118
  210. package/dist/esm/render-bbebb760.js +0 -79
  211. package/dist/esm/tabpane-01075e6c.js +0 -29
  212. package/dist/esm/tabs-e1b4e4b1.js +0 -181
  213. package/dist/esm/typings-f27b58f4.js +0 -8
  214. package/dist/esm/useClientRect-56bb675b.js +0 -39
  215. package/dist/esm/useTouch-cf73a407.js +0 -99
  216. package/dist/locales/base.d.ts +0 -129
  217. package/dist/locales/base.js +0 -5
  218. package/dist/locales/en-US.d.ts +0 -3
  219. package/dist/locales/en-US.js +0 -135
  220. package/dist/locales/id-ID.d.ts +0 -3
  221. package/dist/locales/id-ID.js +0 -135
  222. package/dist/locales/zh-CN.d.ts +0 -3
  223. package/dist/locales/zh-CN.js +0 -137
  224. package/dist/locales/zh-TW.d.ts +0 -3
  225. package/dist/locales/zh-TW.js +0 -135
  226. package/dist/locales/zh-UG.d.ts +0 -3
  227. package/dist/locales/zh-UG.js +0 -135
  228. package/dist/packages/actionsheet/actionsheet.scss +0 -103
  229. package/dist/packages/address/address.scss +0 -243
  230. package/dist/packages/animate/animate.scss +0 -284
  231. package/dist/packages/animatingnumbers/animatingnumbers.scss +0 -0
  232. package/dist/packages/animatingnumbers/countup.scss +0 -45
  233. package/dist/packages/audio/audio.scss +0 -93
  234. package/dist/packages/avatar/avatar.scss +0 -58
  235. package/dist/packages/avatargroup/avatargroup.scss +0 -14
  236. package/dist/packages/backtop/backtop.scss +0 -29
  237. package/dist/packages/badge/badge.scss +0 -53
  238. package/dist/packages/barrage/barrage.scss +0 -60
  239. package/dist/packages/button/button.scss +0 -245
  240. package/dist/packages/calendar/calendar.scss +0 -265
  241. package/dist/packages/calendaritem/calendaritem.scss +0 -0
  242. package/dist/packages/card/card.scss +0 -83
  243. package/dist/packages/cascader/cascader.scss +0 -108
  244. package/dist/packages/cell/cell.scss +0 -107
  245. package/dist/packages/cellgroup/cellgroup.scss +0 -46
  246. package/dist/packages/checkbox/checkbox.scss +0 -49
  247. package/dist/packages/checkboxgroup/checkboxgroup.scss +0 -33
  248. package/dist/packages/circleprogress/circleprogress.scss +0 -33
  249. package/dist/packages/col/col.scss +0 -24
  250. package/dist/packages/collapse/collapse.scss +0 -0
  251. package/dist/packages/collapseitem/collapseitem.scss +0 -161
  252. package/dist/packages/configprovider/configprovider.scss +0 -0
  253. package/dist/packages/countdown/countdown.scss +0 -3
  254. package/dist/packages/datepicker/datepicker.scss +0 -0
  255. package/dist/packages/dialog/dialog.scss +0 -135
  256. package/dist/packages/divider/divider.scss +0 -73
  257. package/dist/packages/drag/drag.scss +0 -10
  258. package/dist/packages/elevator/elevator.scss +0 -124
  259. package/dist/packages/ellipsis/ellipsis.scss +0 -17
  260. package/dist/packages/empty/empty.scss +0 -42
  261. package/dist/packages/fixednav/fixednav.scss +0 -141
  262. package/dist/packages/form/form.scss +0 -31
  263. package/dist/packages/formitem/formitem.scss +0 -100
  264. package/dist/packages/grid/grid.scss +0 -10
  265. package/dist/packages/griditem/griditem.scss +0 -108
  266. package/dist/packages/icon/icon.scss +0 -132
  267. package/dist/packages/image/image.scss +0 -53
  268. package/dist/packages/imagepreview/imagepreview.scss +0 -51
  269. package/dist/packages/indicator/indicator.scss +0 -70
  270. package/dist/packages/infiniteloading/infiniteloading.scss +0 -69
  271. package/dist/packages/input/input.scss +0 -203
  272. package/dist/packages/inputnumber/inputnumber.scss +0 -79
  273. package/dist/packages/layout/layout.scss +0 -2
  274. package/dist/packages/menu/menu.scss +0 -75
  275. package/dist/packages/menuitem/menuitem.scss +0 -120
  276. package/dist/packages/navbar/navbar.scss +0 -185
  277. package/dist/packages/noticebar/noticebar.scss +0 -156
  278. package/dist/packages/notify/notify.scss +0 -93
  279. package/dist/packages/numberkeyboard/numberkeyboard.scss +0 -147
  280. package/dist/packages/overlay/overlay.scss +0 -75
  281. package/dist/packages/pagination/pagination.scss +0 -81
  282. package/dist/packages/picker/picker.scss +0 -225
  283. package/dist/packages/popover/popover.scss +0 -288
  284. package/dist/packages/popup/popup.scss +0 -201
  285. package/dist/packages/price/price.scss +0 -37
  286. package/dist/packages/progress/progress.scss +0 -114
  287. package/dist/packages/pulltorefresh/pulltorefresh.scss +0 -26
  288. package/dist/packages/radio/radio.scss +0 -84
  289. package/dist/packages/radiogroup/radiogroup.scss +0 -86
  290. package/dist/packages/range/range.scss +0 -224
  291. package/dist/packages/rate/rate.scss +0 -36
  292. package/dist/packages/row/row.scss +0 -83
  293. package/dist/packages/searchbar/searchbar.scss +0 -146
  294. package/dist/packages/shortpassword/shortpassword.scss +0 -203
  295. package/dist/packages/sidenavbar/sidenavbar.scss +0 -100
  296. package/dist/packages/sidenavbaritem/sidenavbaritem.scss +0 -25
  297. package/dist/packages/signature/signature.scss +0 -39
  298. package/dist/packages/skeleton/skeleton.scss +0 -70
  299. package/dist/packages/step/step.scss +0 -274
  300. package/dist/packages/steps/steps.scss +0 -7
  301. package/dist/packages/sticky/sticky.scss +0 -3
  302. package/dist/packages/subsidenavbar/subsidenavbar.scss +0 -35
  303. package/dist/packages/swipe/swipe.scss +0 -33
  304. package/dist/packages/swiper/swiper.scss +0 -45
  305. package/dist/packages/swiperitem/swiperitem.scss +0 -3
  306. package/dist/packages/switch/switch.scss +0 -87
  307. package/dist/packages/tabbar/tabbar.scss +0 -46
  308. package/dist/packages/tabbaritem/tabbaritem.scss +0 -97
  309. package/dist/packages/table/table.scss +0 -152
  310. package/dist/packages/tabpane/tabpane.scss +0 -23
  311. package/dist/packages/tabs/tabs.scss +0 -284
  312. package/dist/packages/tag/tag.scss +0 -67
  313. package/dist/packages/textarea/textarea.scss +0 -60
  314. package/dist/packages/timedetail/timedetail.scss +0 -45
  315. package/dist/packages/timepannel/timepannel.scss +0 -17
  316. package/dist/packages/timeselect/timeselect.scss +0 -73
  317. package/dist/packages/toast/toast.scss +0 -98
  318. package/dist/packages/trendarrow/trendarrow.scss +0 -17
  319. package/dist/packages/uploader/uploader.scss +0 -237
  320. package/dist/packages/video/video.scss +0 -18
  321. package/dist/packages/virtuallist/virtuallist.scss +0 -87
  322. package/dist/packages/watermark/watermark.scss +0 -13
  323. package/dist/style.css +0 -1
  324. package/dist/style.mjs +0 -9
  325. package/dist/styles/animation/drop.scss +0 -24
  326. package/dist/styles/animation/ease.scss +0 -23
  327. package/dist/styles/animation/fade.scss +0 -20
  328. package/dist/styles/animation/icon.scss +0 -245
  329. package/dist/styles/animation/index.scss +0 -7
  330. package/dist/styles/animation/rotate.scss +0 -10
  331. package/dist/styles/animation/zoom.scss +0 -26
  332. package/dist/styles/font/config.json +0 -175
  333. package/dist/styles/font/demo.css +0 -539
  334. package/dist/styles/font/demo_index.html +0 -3063
  335. package/dist/styles/font/iconfont.css +0 -515
  336. package/dist/styles/font/iconfont.eot +0 -0
  337. package/dist/styles/font/iconfont.js +0 -68
  338. package/dist/styles/font/iconfont.json +0 -884
  339. package/dist/styles/font/iconfont.svg +0 -356
  340. package/dist/styles/font/iconfont.ttf +0 -0
  341. package/dist/styles/font/iconfont.woff +0 -0
  342. package/dist/styles/font/iconfont.woff2 +0 -0
  343. package/dist/styles/mixins/index.scss +0 -2
  344. package/dist/styles/mixins/make-animation.scss +0 -24
  345. package/dist/styles/mixins/text-ellipsis.scss +0 -20
  346. package/dist/styles/theme-dark.scss +0 -26
  347. package/dist/styles/theme-default.scss +0 -40
  348. package/dist/styles/themes/default.scss +0 -97
  349. package/dist/styles/variables.scss +0 -2610
  350. package/dist/types/index.d.ts +0 -2198
@@ -1,315 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["sourceData", "ItemRender", "itemEqualSize", "itemSize", "horizontal", "overscan", "key", "handleScroll", "onScroll", "className", "containerSize"];
5
- 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; }
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
- import React__default, { useRef, useState, useEffect, useCallback } from 'react';
8
- import { useConfig } from './ConfigProvider.js';
9
-
10
- // 缓存列表初始化信息
11
- var initPositinoCache = function initPositinoCache(reaItemSize) {
12
- var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
13
- var index = 0;
14
- var positions = Array(length);
15
- while (index < length) {
16
- positions[index] = {
17
- index: index,
18
- height: reaItemSize,
19
- width: reaItemSize,
20
- top: index * reaItemSize,
21
- bottom: (index + 1) * reaItemSize,
22
- left: index * reaItemSize,
23
- right: (index + 1) * reaItemSize
24
- };
25
- index++;
26
- }
27
- return positions;
28
- };
29
- // 获取列表总高度
30
- var getListTotalSize = function getListTotalSize(positions, horizontal) {
31
- var index = positions.length - 1;
32
- var size = 0;
33
- if (index < 0) {
34
- size = 0;
35
- } else {
36
- size = horizontal ? positions[index].right : positions[index].bottom;
37
- }
38
- return size;
39
- };
40
- // 通过二分法找到 scrollOffset 对应的值
41
- var binarySearch = function binarySearch(positionsList) {
42
- var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
43
- var horizontal = arguments.length > 2 ? arguments[2] : undefined;
44
- var start = 0;
45
- var end = positionsList.length - 1;
46
- var tempIndex = null;
47
- var key = horizontal ? 'right' : 'bottom';
48
- while (start <= end) {
49
- var midIndex = Math.floor((start + end) / 2);
50
- var midValue = positionsList[midIndex][key];
51
- // 相等则直接返回(因为是bottom, 因此startIndex应该是下一个节点)
52
- if (midValue === value) {
53
- return midIndex + 1;
54
- }
55
- // 中间值 < 传入值,则说明 value对应的节点 大于 start, start往后移动一位
56
- if (midValue < value) {
57
- start = midIndex + 1;
58
- }
59
- // 中间值 > 传入值,则说明 value 在 中间值之前,end 节点移动到 mid - 1
60
- else if (midValue > value) {
61
- // tempIndex存放最靠近值为value的所有
62
- if (tempIndex === null || tempIndex > midIndex) {
63
- tempIndex = midIndex;
64
- }
65
- end = midIndex - 1;
66
- }
67
- }
68
- tempIndex = tempIndex || 0;
69
- return tempIndex;
70
- };
71
- var getEndIndex = function getEndIndex(_ref) {
72
- var sourceData = _ref.sourceData,
73
- startIndex = _ref.startIndex,
74
- visibleCount = _ref.visibleCount,
75
- _ref$itemEqualSize = _ref.itemEqualSize,
76
- itemEqualSize = _ref$itemEqualSize === void 0 ? true : _ref$itemEqualSize,
77
- positions = _ref.positions,
78
- offSetSize = _ref.offSetSize,
79
- overscan = _ref.overscan,
80
- _ref$sizeKey = _ref.sizeKey,
81
- sizeKey = _ref$sizeKey === void 0 ? 'width' : _ref$sizeKey;
82
- var dataLength = sourceData.length;
83
- var tempIndex = null;
84
- if (itemEqualSize) {
85
- var endIndex = startIndex + visibleCount;
86
- tempIndex = dataLength > 0 ? Math.min(dataLength, endIndex) : endIndex;
87
- } else {
88
- var sizeNum = 0;
89
- for (var i = startIndex; i < dataLength; i++) {
90
- sizeNum += positions[i][sizeKey] || 0;
91
- if (sizeNum > offSetSize) {
92
- var _endIndex = i + overscan;
93
- tempIndex = dataLength > 0 ? Math.min(dataLength, _endIndex) : _endIndex;
94
- break;
95
- }
96
- }
97
- if (sizeNum < offSetSize) {
98
- tempIndex = dataLength;
99
- }
100
- }
101
- tempIndex = tempIndex || 0;
102
- return tempIndex;
103
- };
104
- // 更新Item大小
105
- var updateItemSize = function updateItemSize(positions, items, sizeKey) {
106
- var newPos = positions.concat();
107
- Array.from(items).forEach(function (item) {
108
- var index = Number(item.getAttribute('data-index'));
109
- var styleVal = item.getAttribute('style');
110
- if (styleVal && styleVal.includes('none')) return;
111
- var nowSize = item.getBoundingClientRect()[sizeKey];
112
- var oldSize = positions[index][sizeKey];
113
- // 存在差值, 更新该节点以后所有的节点
114
- var dValue = oldSize - nowSize;
115
- if (dValue) {
116
- if (sizeKey === 'width') {
117
- newPos[index].right -= dValue;
118
- newPos[index][sizeKey] = nowSize;
119
- for (var k = index + 1; k < positions.length; k++) {
120
- newPos[k].left = positions[k - 1].right;
121
- newPos[k].right -= dValue;
122
- }
123
- } else if (sizeKey === 'height') {
124
- newPos[index].bottom -= dValue;
125
- newPos[index][sizeKey] = nowSize;
126
- for (var _k = index + 1; _k < positions.length; _k++) {
127
- newPos[_k].top = positions[_k - 1].bottom;
128
- newPos[_k].bottom -= dValue;
129
- }
130
- }
131
- }
132
- });
133
- };
134
- var defaultProps = {};
135
- var VirtualList = function VirtualList(props) {
136
- var _props$sourceData = props.sourceData,
137
- sourceData = _props$sourceData === void 0 ? [] : _props$sourceData,
138
- ItemRender = props.ItemRender,
139
- _props$itemEqualSize = props.itemEqualSize,
140
- itemEqualSize = _props$itemEqualSize === void 0 ? true : _props$itemEqualSize,
141
- _props$itemSize = props.itemSize,
142
- itemSize = _props$itemSize === void 0 ? 200 : _props$itemSize,
143
- _props$horizontal = props.horizontal,
144
- horizontal = _props$horizontal === void 0 ? false : _props$horizontal,
145
- _props$overscan = props.overscan,
146
- overscan = _props$overscan === void 0 ? 2 : _props$overscan,
147
- key = props.key,
148
- handleScroll = props.handleScroll,
149
- onScroll = props.onScroll,
150
- className = props.className,
151
- containerSize = props.containerSize,
152
- rest = _objectWithoutProperties(props, _excluded);
153
- var sizeKey = horizontal ? 'width' : 'height';
154
- var scrollKey = horizontal ? 'scrollLeft' : 'scrollTop';
155
- var offsetKey = horizontal ? 'left' : 'top';
156
- useConfig();
157
- // 虚拟列表容器ref
158
- var scrollRef = useRef(null);
159
- // 虚拟列表显示区域ref
160
- var itemsRef = useRef(null);
161
- var firstItemRef = useRef(null);
162
- // 列表位置信息
163
- var _useState = useState([{
164
- index: 0,
165
- left: 0,
166
- top: 0,
167
- bottom: 0,
168
- width: 0,
169
- height: 0,
170
- right: 0
171
- }]),
172
- _useState2 = _slicedToArray(_useState, 2),
173
- positions = _useState2[0],
174
- setPositions = _useState2[1];
175
- // 列表总大小
176
- var _useState3 = useState(99999999),
177
- _useState4 = _slicedToArray(_useState3, 2),
178
- listTotalSize = _useState4[0],
179
- setListTotalSize = _useState4[1];
180
- // 可视区域条数
181
- var _useState5 = useState(0),
182
- _useState6 = _slicedToArray(_useState5, 2),
183
- visibleCount = _useState6[0],
184
- setVisibleCount = _useState6[1];
185
- var _useState7 = useState(containerSize || 0),
186
- _useState8 = _slicedToArray(_useState7, 2),
187
- offSetSize = _useState8[0],
188
- setOffSetSize = _useState8[1];
189
- var _useState9 = useState({
190
- startOffset: 0,
191
- startIndex: 0,
192
- overStart: 0,
193
- endIndex: 10 // 可视区域结束索引
194
- }),
195
- _useState10 = _slicedToArray(_useState9, 2),
196
- options = _useState10[0],
197
- setOptions = _useState10[1];
198
- // 列表位置信息
199
- useEffect(function () {
200
- var pos = initPositinoCache(itemSize, sourceData.length);
201
- setPositions(pos);
202
- var totalSize = getListTotalSize(pos, horizontal);
203
- setListTotalSize(totalSize);
204
- }, [sourceData, itemSize, horizontal]);
205
- var getElement = useCallback(function () {
206
- var _scrollRef$current;
207
- return ((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.parentElement) || document.body;
208
- }, []);
209
- useEffect(function () {
210
- if (containerSize) return;
211
- var size = horizontal ? getElement().offsetWidth : getElement().offsetHeight;
212
- setOffSetSize(size);
213
- }, [getElement, horizontal, containerSize]);
214
- useEffect(function () {
215
- // 初始-计算visibleCount
216
- if (offSetSize === 0) return;
217
- var count = Math.ceil(offSetSize / itemSize) + overscan;
218
- setVisibleCount(count);
219
- setOptions(function (options) {
220
- return _objectSpread(_objectSpread({}, options), {}, {
221
- endIndex: count
222
- });
223
- });
224
- }, [getElement, horizontal, itemSize, overscan, offSetSize]);
225
- var updateTotalSize = useCallback(function () {
226
- if (!itemsRef.current) return;
227
- var items = itemsRef.current.children;
228
- if (!items.length) return;
229
- // 更新缓存
230
- updateItemSize(positions, items, sizeKey);
231
- var totalSize = getListTotalSize(positions, horizontal);
232
- setListTotalSize(totalSize);
233
- }, [positions, sizeKey, horizontal]);
234
- var scroll = useCallback(function () {
235
- requestAnimationFrame(function (e) {
236
- var scrollSize = getElement()[scrollKey];
237
- var startIndex = binarySearch(positions, scrollSize, horizontal);
238
- var overStart = startIndex - overscan > -1 ? startIndex - overscan : 0;
239
- // const offSetSize = horizontal ? getElement().offsetWidth : getElement().offsetHeight
240
- if (!itemEqualSize) {
241
- updateTotalSize();
242
- }
243
- var endIndex = getEndIndex({
244
- sourceData: sourceData,
245
- startIndex: startIndex,
246
- visibleCount: visibleCount,
247
- itemEqualSize: itemEqualSize,
248
- positions: positions,
249
- offSetSize: offSetSize,
250
- sizeKey: sizeKey,
251
- overscan: overscan
252
- });
253
- var startOffset = positions[startIndex][offsetKey];
254
- setOptions({
255
- startOffset: startOffset,
256
- startIndex: startIndex,
257
- overStart: overStart,
258
- endIndex: endIndex
259
- });
260
- // 无限下滑
261
- if (endIndex > sourceData.length - 1) {
262
- if (onScroll) {
263
- onScroll();
264
- } else if (handleScroll) {
265
- handleScroll();
266
- }
267
- }
268
- });
269
- }, [positions, getElement, sourceData, visibleCount, itemEqualSize, updateTotalSize, offsetKey, sizeKey, scrollKey, horizontal, overscan, handleScroll, offSetSize]);
270
- useEffect(function () {
271
- var element = getElement();
272
- element.addEventListener('scroll', scroll, false);
273
- return function () {
274
- element.removeEventListener('scroll', scroll, false);
275
- };
276
- }, [getElement, scroll]);
277
- return React__default.createElement("div", _objectSpread(_objectSpread({
278
- className: className ? "".concat(className, " nut-virtualList-box") : 'nut-virtualList-box'
279
- }, rest), {}, {
280
- style: _defineProperty({}, sizeKey, containerSize ? "".concat(offSetSize, "px") : '')
281
- }), React__default.createElement("div", {
282
- ref: scrollRef,
283
- className: horizontal ? 'nut-horizontal-box' : 'nut-vertical-box',
284
- style: _defineProperty({
285
- position: 'relative'
286
- }, sizeKey, "".concat(listTotalSize, "px"))
287
- }, React__default.createElement("ul", {
288
- className: horizontal ? 'nut-virtuallist-items nut-horizontal-items' : 'nut-virtuallist-items nut-vertical-items',
289
- ref: itemsRef,
290
- style: {
291
- transform: horizontal ? "translate3d(".concat(options.startOffset, "px,0,0)") : "translate3d(0,".concat(options.startOffset, "px,0)")
292
- }
293
- }, sourceData.slice(options.overStart, options.endIndex).map(function (data, index) {
294
- var startIndex = options.startIndex,
295
- overStart = options.overStart;
296
- var dataIndex = overStart + index;
297
- var styleVal = dataIndex < startIndex ? 'none' : 'block';
298
- var keyVal = key && data[key] ? data[key] : dataIndex;
299
- return React__default.createElement("li", {
300
- ref: dataIndex === 0 ? firstItemRef : null,
301
- "data-index": "".concat(dataIndex),
302
- className: dataIndex % 2 === 0 ? 'nut-virtuallist-item even' : 'nut-virtuallist-item odd',
303
- key: "".concat(keyVal),
304
- style: {
305
- display: styleVal
306
- }
307
- }, ItemRender ? React__default.createElement(ItemRender, {
308
- data: data,
309
- index: "".concat(dataIndex)
310
- }) : data);
311
- }))));
312
- };
313
- VirtualList.defaultProps = defaultProps;
314
- VirtualList.displayName = 'NutVirtualList';
315
- export { VirtualList as default };
@@ -1,2 +0,0 @@
1
-
2
- import '../../../packages/watermark/watermark.scss'
@@ -1,113 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- 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; }
4
- 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; }
5
- import React__default, { useState, useEffect } from 'react';
6
- import classNames from 'classnames';
7
- import { useConfig } from './ConfigProvider.js';
8
- import { c as cn } from './bem-3b438e61.js';
9
- import '@bem-react/classname';
10
- var defaultProps = {
11
- content: '',
12
- fullPage: true,
13
- zIndex: 2000,
14
- gapX: 24,
15
- gapY: 48,
16
- width: 120,
17
- height: 64,
18
- image: '',
19
- imageWidth: 120,
20
- imageHeight: 64,
21
- rotate: -22,
22
- fontColor: 'rgba(0,0,0,.15)',
23
- fontStyle: 'normal',
24
- fontFamily: 'PingFang SC',
25
- fontWeight: 'normal',
26
- fontSize: 14
27
- };
28
- var WaterMark = function WaterMark(props) {
29
- var _classNames;
30
- var _useConfig = useConfig(),
31
- locale = _useConfig.locale;
32
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
33
- content = _defaultProps$props.content,
34
- fullPage = _defaultProps$props.fullPage,
35
- zIndex = _defaultProps$props.zIndex,
36
- className = _defaultProps$props.className,
37
- gapX = _defaultProps$props.gapX,
38
- gapY = _defaultProps$props.gapY,
39
- width = _defaultProps$props.width,
40
- height = _defaultProps$props.height,
41
- image = _defaultProps$props.image,
42
- imageWidth = _defaultProps$props.imageWidth,
43
- imageHeight = _defaultProps$props.imageHeight,
44
- rotate = _defaultProps$props.rotate,
45
- fontColor = _defaultProps$props.fontColor,
46
- fontStyle = _defaultProps$props.fontStyle,
47
- fontFamily = _defaultProps$props.fontFamily,
48
- fontWeight = _defaultProps$props.fontWeight,
49
- fontSize = _defaultProps$props.fontSize,
50
- style = _defaultProps$props.style,
51
- children = _defaultProps$props.children;
52
- var _useState = useState(''),
53
- _useState2 = _slicedToArray(_useState, 2),
54
- base64Url = _useState2[0],
55
- setBase64Url = _useState2[1];
56
- var b = cn('watermark');
57
- var classes = classNames((_classNames = {}, _defineProperty(_classNames, "".concat(b('')), true), _defineProperty(_classNames, "".concat(b(''), "-full-page"), fullPage), _classNames));
58
- var cls = classNames(classes, className);
59
- useEffect(function () {
60
- init();
61
- }, []);
62
- var init = function init() {
63
- var canvas = document.createElement('canvas');
64
- var ratio = window.devicePixelRatio;
65
- var ctx = canvas.getContext('2d');
66
- var canvasWidth = "".concat((gapX + width) * ratio, "px");
67
- var canvasHeight = "".concat((gapY + height) * ratio, "px");
68
- var markWidth = width * ratio;
69
- var markHeight = height * ratio;
70
- canvas.setAttribute('width', canvasWidth);
71
- canvas.setAttribute('height', canvasHeight);
72
- if (ctx) {
73
- if (image) {
74
- ctx.translate(markWidth / 2, markHeight / 2);
75
- ctx.rotate(Math.PI / 180 * Number(rotate));
76
- var img = new Image();
77
- img.crossOrigin = 'anonymous';
78
- img.referrerPolicy = 'no-referrer';
79
- img.src = image;
80
- img.onload = function () {
81
- ctx.drawImage(img, -imageWidth * ratio / 2, -imageHeight * ratio / 2, imageWidth * ratio, imageHeight * ratio);
82
- ctx.restore();
83
- setBase64Url(canvas.toDataURL());
84
- };
85
- } else if (content) {
86
- ctx.textBaseline = 'middle'; // 设置或返回在绘制文本时使用的当前文本基线。(正中)
87
- ctx.textAlign = 'center'; // 设置或返回文本内容的当前对齐方式。
88
- // 文字绕中间旋转
89
- ctx.translate(markWidth / 2, markHeight / 2);
90
- ctx.rotate(Math.PI / 180 * Number(rotate));
91
- var markSize = Number(fontSize) * ratio;
92
- ctx.font = "".concat(fontStyle, " normal ").concat(fontWeight, " ").concat(markSize, "px/").concat(markHeight, "px ").concat(fontFamily);
93
- ctx.fillStyle = fontColor;
94
- ctx.fillText(content, 0, 0); // 在画布上绘制"被填充的"文本。
95
- ctx.restore(); // 返回之前保存过的路径状态和属性。
96
- setBase64Url(canvas.toDataURL());
97
- }
98
- } else {
99
- throw new Error(locale.watermark.errorCanvasTips);
100
- }
101
- };
102
- return React__default.createElement("div", {
103
- className: cls,
104
- style: _objectSpread({
105
- zIndex: zIndex,
106
- backgroundSize: "".concat(gapX + width, "px"),
107
- backgroundImage: "url('".concat(base64Url, "')")
108
- }, style)
109
- });
110
- };
111
- WaterMark.defaultProps = defaultProps;
112
- WaterMark.displayName = 'NutWaterMark';
113
- export { WaterMark as default };
@@ -1,8 +0,0 @@
1
- import { withNaming } from '@bem-react/classname';
2
- var cn = withNaming({
3
- n: 'nut-',
4
- e: '__',
5
- m: '--',
6
- v: '-'
7
- });
8
- export { cn as c };
@@ -1,34 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- 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; }
3
- 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; }
4
- import React__default from 'react';
5
- import { c as cn } from './bem-3b438e61.js';
6
- var defaultProps = {
7
- title: '',
8
- desc: '',
9
- className: '',
10
- titleSlot: null,
11
- descSlot: null
12
- };
13
- var CellGroup = function CellGroup(props) {
14
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
15
- children = _defaultProps$props.children,
16
- className = _defaultProps$props.className,
17
- title = _defaultProps$props.title,
18
- desc = _defaultProps$props.desc,
19
- titleSlot = _defaultProps$props.titleSlot,
20
- descSlot = _defaultProps$props.descSlot;
21
- var b = cn('cell-group');
22
- return React__default.createElement("div", {
23
- className: b(null, [className])
24
- }, titleSlot || React__default.createElement(React__default.Fragment, null, title ? React__default.createElement("div", {
25
- className: b('title')
26
- }, title) : null), descSlot || React__default.createElement(React__default.Fragment, null, desc ? React__default.createElement("div", {
27
- className: b('desc')
28
- }, desc) : null), React__default.createElement("div", {
29
- className: b('wrap')
30
- }, children));
31
- };
32
- CellGroup.defaultProps = defaultProps;
33
- CellGroup.displayName = 'NutCellGroup';
34
- export { CellGroup as C };
@@ -1,137 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- var _excluded = ["iconName", "iconSize", "label", "className", "iconActiveName", "checked", "disabled", "onChange", "indeterminate", "iconClassPrefix", "iconFontClassName", "iconIndeterminateName"],
5
- _excluded2 = ["textPosition"];
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
- import React__default, { createContext, useContext, useState, useEffect } from 'react';
9
- import Icon from './Icon.js';
10
- import CheckboxGroup from './CheckboxGroup.js';
11
- import { c as cn } from './bem-3b438e61.js';
12
- import { C as ComponentDefaults } from './typings-f27b58f4.js';
13
- var CheckboxGroupContext = createContext(null);
14
- var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
15
- checked: false,
16
- disabled: false,
17
- textPosition: 'right',
18
- iconSize: 18,
19
- iconName: 'check-normal',
20
- iconActiveName: 'checked',
21
- iconClassPrefix: 'nut-icon',
22
- iconFontClassName: 'nutui-iconfont',
23
- iconIndeterminateName: 'check-disabled',
24
- onChange: function onChange(state, label) {}
25
- });
26
- var Checkbox = function Checkbox(props) {
27
- var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
28
- children = _defaultProps$props.children;
29
- var b = cn('checkbox');
30
- var iconName = props.iconName,
31
- iconSize = props.iconSize,
32
- label = props.label,
33
- className = props.className,
34
- iconActiveName = props.iconActiveName,
35
- checked = props.checked,
36
- disabled = props.disabled,
37
- onChange = props.onChange,
38
- indeterminate = props.indeterminate,
39
- iconClassPrefix = props.iconClassPrefix,
40
- iconFontClassName = props.iconFontClassName,
41
- iconIndeterminateName = props.iconIndeterminateName,
42
- others = _objectWithoutProperties(props, _excluded);
43
- // eslint-disable-next-line prefer-const
44
- var textPosition = others.textPosition,
45
- rest = _objectWithoutProperties(others, _excluded2);
46
- var ctx = useContext(CheckboxGroupContext);
47
- var _useState = useState(checked),
48
- _useState2 = _slicedToArray(_useState, 2),
49
- innerChecked = _useState2[0],
50
- setInnerChecked = _useState2[1];
51
- // eslint-disable-next-line prefer-const
52
- var _useState3 = useState(disabled),
53
- _useState4 = _slicedToArray(_useState3, 2),
54
- innerDisabled = _useState4[0],
55
- setDisabled = _useState4[1];
56
- var _useState5 = useState(indeterminate),
57
- _useState6 = _slicedToArray(_useState5, 2),
58
- _indeterminate = _useState6[0],
59
- setIndeterminate = _useState6[1];
60
- useEffect(function () {
61
- !ctx && setInnerChecked(checked);
62
- setDisabled(disabled);
63
- setIndeterminate(indeterminate);
64
- }, [disabled, checked, indeterminate]);
65
- if (ctx) {
66
- if (ctx.textPosition !== undefined) {
67
- textPosition = ctx.textPosition;
68
- }
69
- innerDisabled = ctx.disabled;
70
- innerChecked = ctx.checkedValue.includes(label);
71
- setInnerChecked = function setInnerChecked(checked) {
72
- if (ctx.disabled) return;
73
- if (checked) ctx.check(label);
74
- if (!checked) ctx.uncheck(label);
75
- };
76
- }
77
- var getIconName = function getIconName() {
78
- if (!innerChecked) {
79
- return iconName;
80
- }
81
- if (_indeterminate) {
82
- return iconIndeterminateName;
83
- }
84
- return iconActiveName;
85
- };
86
- var renderIcon = function renderIcon() {
87
- return React__default.createElement(Icon, {
88
- classPrefix: iconClassPrefix,
89
- fontClassName: iconFontClassName,
90
- name: getIconName(),
91
- size: iconSize,
92
- className: color()
93
- });
94
- };
95
- var color = function color() {
96
- if (innerDisabled) {
97
- return 'nut-checkbox__icon--disable';
98
- }
99
- if (innerChecked) {
100
- if (_indeterminate) {
101
- return 'nut-checkbox__icon--indeterminate';
102
- }
103
- return 'nut-checkbox__icon';
104
- }
105
- return 'nut-checkbox__icon--unchecked';
106
- };
107
- var renderLabel = function renderLabel() {
108
- return React__default.createElement("span", {
109
- className: "".concat(b('label', {
110
- disabled: innerDisabled
111
- }), " ")
112
- }, children || label);
113
- };
114
- var handleClick = function handleClick() {
115
- // 禁用的时候直接返回
116
- if (disabled) return;
117
- // 先转换状态
118
- var latestChecked = !innerChecked;
119
- // 判断是不是有 context 和 max,有的话需要判断是不是超过最大限制
120
- if (ctx && ctx.max !== undefined) {
121
- if (latestChecked && ctx.checkedValue.length >= ctx.max) return;
122
- }
123
- onChange && onChange(latestChecked, label || children);
124
- setInnerChecked(latestChecked);
125
- };
126
- return React__default.createElement("div", _objectSpread(_objectSpread({
127
- className: "".concat(b({
128
- reverse: textPosition === 'left'
129
- }), " ").concat(className || '')
130
- }, rest), {}, {
131
- onClick: handleClick
132
- }), renderIcon(), renderLabel());
133
- };
134
- Checkbox.defaultProps = defaultProps;
135
- Checkbox.displayName = 'NutCheckBox';
136
- Checkbox.Group = CheckboxGroup;
137
- export { Checkbox as C, CheckboxGroupContext as a };