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

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 +0 -1
  2. package/dist/esm/ActionSheet/style/index.js +2 -0
  3. package/dist/esm/ActionSheet.js +92 -0
  4. package/dist/esm/Address/style/index.js +4 -0
  5. package/dist/esm/Address.js +622 -0
  6. package/dist/esm/Animate/style/index.js +2 -0
  7. package/dist/esm/Animate.js +55 -0
  8. package/dist/esm/AnimatingNumbers/style/index.js +3 -0
  9. package/dist/esm/AnimatingNumbers.js +127 -0
  10. package/dist/esm/Audio/style/index.js +4 -0
  11. package/dist/esm/Audio.js +266 -0
  12. package/dist/esm/Avatar/style/index.js +2 -0
  13. package/dist/esm/Avatar.js +132 -0
  14. package/dist/esm/AvatarContext-15733596.js +3 -0
  15. package/dist/esm/AvatarGroup/style/index.js +2 -0
  16. package/dist/esm/AvatarGroup.js +43 -0
  17. package/dist/esm/BackTop/style/index.js +2 -0
  18. package/dist/esm/BackTop.js +139 -0
  19. package/dist/esm/Badge/style/index.js +2 -0
  20. package/dist/esm/Badge.js +73 -0
  21. package/dist/esm/Barrage/style/index.js +2 -0
  22. package/dist/esm/Barrage.js +99 -0
  23. package/dist/esm/Button/style/index.js +2 -0
  24. package/dist/esm/Button.js +109 -0
  25. package/dist/esm/Calendar/style/index.js +2 -0
  26. package/dist/esm/Calendar.js +129 -0
  27. package/dist/esm/CalendarItem/style/index.js +2 -0
  28. package/dist/esm/CalendarItem.js +676 -0
  29. package/dist/esm/Card/style/index.js +4 -0
  30. package/dist/esm/Card.js +63 -0
  31. package/dist/esm/Cascader/style/index.js +3 -0
  32. package/dist/esm/Cascader.js +673 -0
  33. package/dist/esm/Cell/style/index.js +2 -0
  34. package/dist/esm/Cell.js +103 -0
  35. package/dist/esm/CellGroup/style/index.js +2 -0
  36. package/dist/esm/CellGroup.js +5 -0
  37. package/dist/esm/Checkbox/style/index.js +3 -0
  38. package/dist/esm/Checkbox.js +8 -0
  39. package/dist/esm/CheckboxGroup/style/index.js +2 -0
  40. package/dist/esm/CheckboxGroup.js +113 -0
  41. package/dist/esm/CircleProgress/style/index.js +2 -0
  42. package/dist/esm/CircleProgress.js +116 -0
  43. package/dist/esm/Col/style/index.js +2 -0
  44. package/dist/esm/Col.js +58 -0
  45. package/dist/esm/Collapse/style/index.js +2 -0
  46. package/dist/esm/Collapse.js +99 -0
  47. package/dist/esm/CollapseItem/style/index.js +2 -0
  48. package/dist/esm/CollapseItem.js +148 -0
  49. package/dist/esm/ConfigProvider/style/index.js +2 -0
  50. package/dist/esm/ConfigProvider.js +187 -0
  51. package/dist/esm/CountDown/style/index.js +2 -0
  52. package/dist/esm/CountDown.js +249 -0
  53. package/dist/esm/DatePicker/style/index.js +2 -0
  54. package/dist/esm/DatePicker.js +310 -0
  55. package/dist/esm/Dialog/style/index.js +3 -0
  56. package/dist/esm/Dialog.js +296 -0
  57. package/dist/esm/Divider/style/index.js +2 -0
  58. package/dist/esm/Divider.js +36 -0
  59. package/dist/esm/Drag/style/index.js +2 -0
  60. package/dist/esm/Drag.js +120 -0
  61. package/dist/esm/Elevator/style/index.js +2 -0
  62. package/dist/esm/Elevator.js +236 -0
  63. package/dist/esm/Ellipsis/style/index.js +2 -0
  64. package/dist/esm/Ellipsis.js +177 -0
  65. package/dist/esm/Empty/style/index.js +2 -0
  66. package/dist/esm/Empty.js +82 -0
  67. package/dist/esm/FixedNav/style/index.js +3 -0
  68. package/dist/esm/FixedNav.js +105 -0
  69. package/dist/esm/Form/style/index.js +2 -0
  70. package/dist/esm/Form.js +219 -0
  71. package/dist/esm/FormItem/style/index.js +2 -0
  72. package/dist/esm/FormItem.js +5 -0
  73. package/dist/esm/Grid/style/index.js +2 -0
  74. package/dist/esm/Grid.js +83 -0
  75. package/dist/esm/GridItem/style/index.js +2 -0
  76. package/dist/esm/GridItem.js +125 -0
  77. package/dist/esm/Icon/style/index.js +4 -0
  78. package/dist/esm/Icon.js +5 -0
  79. package/dist/esm/Image/style/index.js +2 -0
  80. package/dist/esm/Image.js +170 -0
  81. package/dist/esm/ImagePreview/style/index.js +4 -0
  82. package/dist/esm/ImagePreview.js +226 -0
  83. package/dist/esm/Indicator/style/index.js +2 -0
  84. package/dist/esm/Indicator.js +52 -0
  85. package/dist/esm/Infiniteloading/style/index.js +2 -0
  86. package/dist/esm/Infiniteloading.js +217 -0
  87. package/dist/esm/Input/style/index.js +2 -0
  88. package/dist/esm/Input.js +363 -0
  89. package/dist/esm/InputNumber/style/index.js +2 -0
  90. package/dist/esm/InputNumber.js +277 -0
  91. package/dist/esm/Layout/style/index.js +2 -0
  92. package/dist/esm/Layout.js +14 -0
  93. package/dist/esm/Menu/style/index.js +3 -0
  94. package/dist/esm/Menu.js +154 -0
  95. package/dist/esm/MenuItem/style/index.js +3 -0
  96. package/dist/esm/MenuItem.js +177 -0
  97. package/dist/esm/NavBar/style/index.js +2 -0
  98. package/dist/esm/NavBar.js +116 -0
  99. package/dist/esm/NoticeBar/style/index.js +2 -0
  100. package/dist/esm/NoticeBar.js +570 -0
  101. package/dist/esm/Notify/style/index.js +2 -0
  102. package/dist/esm/Notify.js +236 -0
  103. package/dist/esm/NumberKeyboard/style/index.js +2 -0
  104. package/dist/esm/NumberKeyboard.js +249 -0
  105. package/dist/esm/Overlay/style/index.js +2 -0
  106. package/dist/esm/Overlay.js +6 -0
  107. package/dist/esm/Pagination/style/index.js +2 -0
  108. package/dist/esm/Pagination.js +170 -0
  109. package/dist/esm/Picker/style/index.js +2 -0
  110. package/dist/esm/Picker.js +496 -0
  111. package/dist/esm/Popover/style/index.js +3 -0
  112. package/dist/esm/Popover.js +225 -0
  113. package/dist/esm/Popup/style/index.js +3 -0
  114. package/dist/esm/Popup.js +195 -0
  115. package/dist/esm/Price/style/index.js +2 -0
  116. package/dist/esm/Price.js +86 -0
  117. package/dist/esm/Progress/style/index.js +2 -0
  118. package/dist/esm/Progress.js +124 -0
  119. package/dist/esm/PullToRefresh/style/index.js +2 -0
  120. package/dist/esm/PullToRefresh.js +277 -0
  121. package/dist/esm/Radio/style/index.js +3 -0
  122. package/dist/esm/Radio.js +6 -0
  123. package/dist/esm/RadioGroup/style/index.js +2 -0
  124. package/dist/esm/RadioGroup.js +123 -0
  125. package/dist/esm/Range/style/index.js +2 -0
  126. package/dist/esm/Range.js +407 -0
  127. package/dist/esm/Rate/style/index.js +2 -0
  128. package/dist/esm/Rate.js +123 -0
  129. package/dist/esm/Row/style/index.js +2 -0
  130. package/dist/esm/Row.js +50 -0
  131. package/dist/esm/SearchBar/style/index.js +2 -0
  132. package/dist/esm/SearchBar.js +237 -0
  133. package/dist/esm/ShortPassword/style/index.js +3 -0
  134. package/dist/esm/ShortPassword.js +193 -0
  135. package/dist/esm/SideNavBar/style/index.js +2 -0
  136. package/dist/esm/SideNavBar.js +58 -0
  137. package/dist/esm/SideNavBarItem/style/index.js +2 -0
  138. package/dist/esm/SideNavBarItem.js +25 -0
  139. package/dist/esm/Signature/style/index.js +2 -0
  140. package/dist/esm/Signature.js +155 -0
  141. package/dist/esm/Skeleton/style/index.js +2 -0
  142. package/dist/esm/Skeleton.js +100 -0
  143. package/dist/esm/Step/style/index.js +2 -0
  144. package/dist/esm/Step.js +89 -0
  145. package/dist/esm/Steps/style/index.js +2 -0
  146. package/dist/esm/Steps.js +40 -0
  147. package/dist/esm/Sticky/style/index.js +2 -0
  148. package/dist/esm/Sticky.js +192 -0
  149. package/dist/esm/SubSideNavBar/style/index.js +2 -0
  150. package/dist/esm/SubSideNavBar.js +79 -0
  151. package/dist/esm/Swipe/style/index.js +2 -0
  152. package/dist/esm/Swipe.js +232 -0
  153. package/dist/esm/Swiper/style/index.js +2 -0
  154. package/dist/esm/Swiper.js +492 -0
  155. package/dist/esm/SwiperItem/style/index.js +2 -0
  156. package/dist/esm/SwiperItem.js +38 -0
  157. package/dist/esm/Switch/style/index.js +2 -0
  158. package/dist/esm/Switch.js +73 -0
  159. package/dist/esm/TabPane/style/index.js +2 -0
  160. package/dist/esm/TabPane.js +6 -0
  161. package/dist/esm/Tabbar/style/index.js +2 -0
  162. package/dist/esm/Tabbar.js +70 -0
  163. package/dist/esm/TabbarItem/style/index.js +2 -0
  164. package/dist/esm/TabbarItem.js +80 -0
  165. package/dist/esm/Table/style/index.js +2 -0
  166. package/dist/esm/Table.js +142 -0
  167. package/dist/esm/Tabs/style/index.js +4 -0
  168. package/dist/esm/Tabs.js +9 -0
  169. package/dist/esm/Tag/style/index.js +2 -0
  170. package/dist/esm/Tag.js +111 -0
  171. package/dist/esm/TextArea/style/index.js +2 -0
  172. package/dist/esm/TextArea.js +150 -0
  173. package/dist/esm/TimeDetail/style/index.js +2 -0
  174. package/dist/esm/TimeDetail.js +69 -0
  175. package/dist/esm/TimePannel/style/index.js +2 -0
  176. package/dist/esm/TimePannel.js +31 -0
  177. package/dist/esm/TimeSelect/style/index.js +4 -0
  178. package/dist/esm/TimeSelect.js +173 -0
  179. package/dist/esm/Toast/style/index.js +2 -0
  180. package/dist/esm/Toast.js +271 -0
  181. package/dist/esm/TrendArrow/style/index.js +2 -0
  182. package/dist/esm/TrendArrow.js +101 -0
  183. package/dist/esm/Uploader/style/index.js +4 -0
  184. package/dist/esm/Uploader.js +568 -0
  185. package/dist/esm/UserContext-101ad4a4.js +3 -0
  186. package/dist/esm/UserContext-2629d479.js +3 -0
  187. package/dist/esm/UserContext-b33bcf21.js +3 -0
  188. package/dist/esm/Video/style/index.js +2 -0
  189. package/dist/esm/Video.js +92 -0
  190. package/dist/esm/VirtualList/style/index.js +2 -0
  191. package/dist/esm/VirtualList.js +315 -0
  192. package/dist/esm/WaterMark/style/index.js +2 -0
  193. package/dist/esm/WaterMark.js +113 -0
  194. package/dist/esm/bem-3b438e61.js +8 -0
  195. package/dist/esm/cellgroup-fcc72767.js +34 -0
  196. package/dist/esm/checkbox-44e13cd0.js +137 -0
  197. package/dist/esm/date-c7aad4c0.js +97 -0
  198. package/dist/esm/formitem-8a73a5fb.js +157 -0
  199. package/dist/esm/get-scroll-parent-5f85dee8.js +24 -0
  200. package/dist/esm/grid.context-2ee27d95.js +6 -0
  201. package/dist/esm/icon-4ef1581c.js +70 -0
  202. package/dist/esm/index-030b7245.js +11 -0
  203. package/dist/esm/nutui-react.es.js +94 -0
  204. package/dist/esm/offsetContext-3ab00d40.js +16 -0
  205. package/dist/esm/overlay-de6c79d5.js +83 -0
  206. package/dist/esm/radio-9f141e6b.js +118 -0
  207. package/dist/esm/render-bbebb760.js +79 -0
  208. package/dist/esm/tabpane-01075e6c.js +29 -0
  209. package/dist/esm/tabs-e1b4e4b1.js +181 -0
  210. package/dist/esm/typings-f27b58f4.js +8 -0
  211. package/dist/esm/useClientRect-56bb675b.js +39 -0
  212. package/dist/esm/useTouch-cf73a407.js +99 -0
  213. package/dist/locales/base.d.ts +129 -0
  214. package/dist/locales/base.js +5 -0
  215. package/dist/locales/en-US.d.ts +3 -0
  216. package/dist/locales/en-US.js +135 -0
  217. package/dist/locales/id-ID.d.ts +3 -0
  218. package/dist/locales/id-ID.js +135 -0
  219. package/dist/locales/zh-CN.d.ts +3 -0
  220. package/dist/locales/zh-CN.js +137 -0
  221. package/dist/locales/zh-TW.d.ts +3 -0
  222. package/dist/locales/zh-TW.js +135 -0
  223. package/dist/locales/zh-UG.d.ts +3 -0
  224. package/dist/locales/zh-UG.js +135 -0
  225. package/dist/nutui.react.mjs +2 -2
  226. package/dist/nutui.react.umd.js +2 -2
  227. package/dist/packages/actionsheet/actionsheet.scss +103 -0
  228. package/dist/packages/address/address.scss +243 -0
  229. package/dist/packages/animate/animate.scss +284 -0
  230. package/dist/packages/animatingnumbers/animatingnumbers.scss +0 -0
  231. package/dist/packages/animatingnumbers/countup.scss +45 -0
  232. package/dist/packages/audio/audio.scss +93 -0
  233. package/dist/packages/avatar/avatar.scss +58 -0
  234. package/dist/packages/avatargroup/avatargroup.scss +14 -0
  235. package/dist/packages/backtop/backtop.scss +29 -0
  236. package/dist/packages/badge/badge.scss +53 -0
  237. package/dist/packages/barrage/barrage.scss +60 -0
  238. package/dist/packages/button/button.scss +245 -0
  239. package/dist/packages/calendar/calendar.scss +265 -0
  240. package/dist/packages/calendaritem/calendaritem.scss +0 -0
  241. package/dist/packages/card/card.scss +83 -0
  242. package/dist/packages/cascader/cascader.scss +108 -0
  243. package/dist/packages/cell/cell.scss +107 -0
  244. package/dist/packages/cellgroup/cellgroup.scss +46 -0
  245. package/dist/packages/checkbox/checkbox.scss +49 -0
  246. package/dist/packages/checkboxgroup/checkboxgroup.scss +33 -0
  247. package/dist/packages/circleprogress/circleprogress.scss +33 -0
  248. package/dist/packages/col/col.scss +24 -0
  249. package/dist/packages/collapse/collapse.scss +0 -0
  250. package/dist/packages/collapseitem/collapseitem.scss +161 -0
  251. package/dist/packages/configprovider/configprovider.scss +0 -0
  252. package/dist/packages/countdown/countdown.scss +3 -0
  253. package/dist/packages/datepicker/datepicker.scss +0 -0
  254. package/dist/packages/dialog/dialog.scss +135 -0
  255. package/dist/packages/divider/divider.scss +73 -0
  256. package/dist/packages/drag/drag.scss +10 -0
  257. package/dist/packages/elevator/elevator.scss +124 -0
  258. package/dist/packages/ellipsis/ellipsis.scss +17 -0
  259. package/dist/packages/empty/empty.scss +42 -0
  260. package/dist/packages/fixednav/fixednav.scss +141 -0
  261. package/dist/packages/form/form.scss +31 -0
  262. package/dist/packages/formitem/formitem.scss +100 -0
  263. package/dist/packages/grid/grid.scss +10 -0
  264. package/dist/packages/griditem/griditem.scss +108 -0
  265. package/dist/packages/icon/icon.scss +132 -0
  266. package/dist/packages/image/image.scss +53 -0
  267. package/dist/packages/imagepreview/imagepreview.scss +51 -0
  268. package/dist/packages/indicator/indicator.scss +70 -0
  269. package/dist/packages/infiniteloading/infiniteloading.scss +69 -0
  270. package/dist/packages/input/input.scss +203 -0
  271. package/dist/packages/inputnumber/inputnumber.scss +79 -0
  272. package/dist/packages/layout/layout.scss +2 -0
  273. package/dist/packages/menu/menu.scss +75 -0
  274. package/dist/packages/menuitem/menuitem.scss +120 -0
  275. package/dist/packages/navbar/navbar.scss +185 -0
  276. package/dist/packages/noticebar/noticebar.scss +156 -0
  277. package/dist/packages/notify/notify.scss +93 -0
  278. package/dist/packages/numberkeyboard/numberkeyboard.scss +147 -0
  279. package/dist/packages/overlay/overlay.scss +75 -0
  280. package/dist/packages/pagination/pagination.scss +81 -0
  281. package/dist/packages/picker/picker.scss +225 -0
  282. package/dist/packages/popover/popover.scss +288 -0
  283. package/dist/packages/popup/popup.scss +201 -0
  284. package/dist/packages/price/price.scss +37 -0
  285. package/dist/packages/progress/progress.scss +114 -0
  286. package/dist/packages/pulltorefresh/pulltorefresh.scss +26 -0
  287. package/dist/packages/radio/radio.scss +84 -0
  288. package/dist/packages/radiogroup/radiogroup.scss +86 -0
  289. package/dist/packages/range/range.scss +224 -0
  290. package/dist/packages/rate/rate.scss +36 -0
  291. package/dist/packages/row/row.scss +83 -0
  292. package/dist/packages/searchbar/searchbar.scss +146 -0
  293. package/dist/packages/shortpassword/shortpassword.scss +203 -0
  294. package/dist/packages/sidenavbar/sidenavbar.scss +100 -0
  295. package/dist/packages/sidenavbaritem/sidenavbaritem.scss +25 -0
  296. package/dist/packages/signature/signature.scss +39 -0
  297. package/dist/packages/skeleton/skeleton.scss +70 -0
  298. package/dist/packages/step/step.scss +274 -0
  299. package/dist/packages/steps/steps.scss +7 -0
  300. package/dist/packages/sticky/sticky.scss +3 -0
  301. package/dist/packages/subsidenavbar/subsidenavbar.scss +35 -0
  302. package/dist/packages/swipe/swipe.scss +33 -0
  303. package/dist/packages/swiper/swiper.scss +45 -0
  304. package/dist/packages/swiperitem/swiperitem.scss +3 -0
  305. package/dist/packages/switch/switch.scss +87 -0
  306. package/dist/packages/tabbar/tabbar.scss +46 -0
  307. package/dist/packages/tabbaritem/tabbaritem.scss +97 -0
  308. package/dist/packages/table/table.scss +152 -0
  309. package/dist/packages/tabpane/tabpane.scss +23 -0
  310. package/dist/packages/tabs/tabs.scss +284 -0
  311. package/dist/packages/tag/tag.scss +67 -0
  312. package/dist/packages/textarea/textarea.scss +60 -0
  313. package/dist/packages/timedetail/timedetail.scss +45 -0
  314. package/dist/packages/timepannel/timepannel.scss +17 -0
  315. package/dist/packages/timeselect/timeselect.scss +73 -0
  316. package/dist/packages/toast/toast.scss +98 -0
  317. package/dist/packages/trendarrow/trendarrow.scss +17 -0
  318. package/dist/packages/uploader/uploader.scss +237 -0
  319. package/dist/packages/video/video.scss +18 -0
  320. package/dist/packages/virtuallist/virtuallist.scss +87 -0
  321. package/dist/packages/watermark/watermark.scss +13 -0
  322. package/dist/style.css +1 -0
  323. package/dist/style.mjs +9 -0
  324. package/dist/styles/animation/drop.scss +24 -0
  325. package/dist/styles/animation/ease.scss +23 -0
  326. package/dist/styles/animation/fade.scss +20 -0
  327. package/dist/styles/animation/icon.scss +245 -0
  328. package/dist/styles/animation/index.scss +7 -0
  329. package/dist/styles/animation/rotate.scss +10 -0
  330. package/dist/styles/animation/zoom.scss +26 -0
  331. package/dist/styles/font/config.json +175 -0
  332. package/dist/styles/font/demo.css +539 -0
  333. package/dist/styles/font/demo_index.html +3063 -0
  334. package/dist/styles/font/iconfont.css +515 -0
  335. package/dist/styles/font/iconfont.eot +0 -0
  336. package/dist/styles/font/iconfont.js +68 -0
  337. package/dist/styles/font/iconfont.json +884 -0
  338. package/dist/styles/font/iconfont.svg +356 -0
  339. package/dist/styles/font/iconfont.ttf +0 -0
  340. package/dist/styles/font/iconfont.woff +0 -0
  341. package/dist/styles/font/iconfont.woff2 +0 -0
  342. package/dist/styles/mixins/index.scss +2 -0
  343. package/dist/styles/mixins/make-animation.scss +24 -0
  344. package/dist/styles/mixins/text-ellipsis.scss +20 -0
  345. package/dist/styles/theme-dark.scss +26 -0
  346. package/dist/styles/theme-default.scss +40 -0
  347. package/dist/styles/themes/default.scss +97 -0
  348. package/dist/styles/variables.scss +2610 -0
  349. package/dist/types/index.d.ts +2201 -0
  350. package/package.json +1 -1
@@ -0,0 +1,570 @@
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, { useRef, useState, useMemo, useEffect } from 'react';
6
+ import classNames from 'classnames';
7
+ import Icon from './Icon.js';
8
+ import { c as cn } from './bem-3b438e61.js';
9
+ import { g as getRect } from './useClientRect-56bb675b.js';
10
+ import { C as ComponentDefaults } from './typings-f27b58f4.js';
11
+ import '@bem-react/classname';
12
+ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
13
+ // 滚动方向 across 横向 vertical 纵向
14
+ direction: 'across',
15
+ list: [],
16
+ standTime: 1000,
17
+ complexAm: false,
18
+ height: 40,
19
+ text: '',
20
+ closeMode: false,
21
+ wrapable: false,
22
+ leftIcon: '',
23
+ color: '',
24
+ background: '',
25
+ delay: 1,
26
+ scrollable: null,
27
+ speed: 50
28
+ });
29
+ var NoticeBar = function NoticeBar(props) {
30
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
31
+ children = _defaultProps$props.children,
32
+ className = _defaultProps$props.className,
33
+ style = _defaultProps$props.style,
34
+ direction = _defaultProps$props.direction,
35
+ list = _defaultProps$props.list,
36
+ standTime = _defaultProps$props.standTime,
37
+ complexAm = _defaultProps$props.complexAm,
38
+ height = _defaultProps$props.height,
39
+ text = _defaultProps$props.text,
40
+ closeMode = _defaultProps$props.closeMode,
41
+ wrapable = _defaultProps$props.wrapable,
42
+ leftIcon = _defaultProps$props.leftIcon,
43
+ color = _defaultProps$props.color,
44
+ background = _defaultProps$props.background,
45
+ delay = _defaultProps$props.delay,
46
+ scrollable = _defaultProps$props.scrollable,
47
+ speed = _defaultProps$props.speed,
48
+ rightIcon = _defaultProps$props.rightIcon,
49
+ close = _defaultProps$props.close,
50
+ click = _defaultProps$props.click,
51
+ onClose = _defaultProps$props.onClose,
52
+ onClick = _defaultProps$props.onClick,
53
+ onClickItem = _defaultProps$props.onClickItem,
54
+ iconClassPrefix = _defaultProps$props.iconClassPrefix,
55
+ iconFontClassName = _defaultProps$props.iconFontClassName;
56
+ var wrap = useRef(null);
57
+ var content = useRef(null);
58
+ var _useState = useState(true),
59
+ _useState2 = _slicedToArray(_useState, 2),
60
+ showNoticeBar = _useState2[0],
61
+ SetShowNoticeBar = _useState2[1];
62
+ var scrollList = useRef([]);
63
+ var _useState3 = useState(0),
64
+ _useState4 = _slicedToArray(_useState3, 2),
65
+ wrapWidth = _useState4[0],
66
+ SetWrapWidth = _useState4[1];
67
+ var _useState5 = useState(true),
68
+ _useState6 = _slicedToArray(_useState5, 2),
69
+ firstRound = _useState6[0],
70
+ SetFirstRound = _useState6[1];
71
+ var _useState7 = useState(0),
72
+ _useState8 = _slicedToArray(_useState7, 2),
73
+ duration = _useState8[0],
74
+ SetDuration = _useState8[1];
75
+ var _useState9 = useState(0),
76
+ _useState10 = _slicedToArray(_useState9, 2),
77
+ offsetWidth = _useState10[0],
78
+ SetOffsetW = _useState10[1];
79
+ var _useState11 = useState(''),
80
+ _useState12 = _slicedToArray(_useState11, 2),
81
+ animationClass = _useState12[0],
82
+ SetAnimationClass = _useState12[1];
83
+ var _useState13 = useState(false),
84
+ _useState14 = _slicedToArray(_useState13, 2),
85
+ animate = _useState14[0],
86
+ SetAnimate = _useState14[1];
87
+ var _useState15 = useState(0),
88
+ _useState16 = _slicedToArray(_useState15, 2),
89
+ distance = _useState16[0],
90
+ SetDistance = _useState16[1];
91
+ var _useState17 = useState(0),
92
+ _useState18 = _slicedToArray(_useState17, 2),
93
+ timer = _useState18[0],
94
+ SetTimer = _useState18[1];
95
+ var _useState19 = useState(null),
96
+ _useState20 = _slicedToArray(_useState19, 2),
97
+ isCanScroll = _useState20[0],
98
+ SetIsCanScroll = _useState20[1];
99
+ var isVertical = direction === 'vertical';
100
+ var _useState21 = useState(null),
101
+ _useState22 = _slicedToArray(_useState21, 2),
102
+ rect = _useState22[0],
103
+ setRect = _useState22[1];
104
+ var active = 0;
105
+ var _useState23 = useState(''),
106
+ _useState24 = _slicedToArray(_useState23, 2),
107
+ vLeftIcon = _useState24[0],
108
+ setLeftIcon = _useState24[1];
109
+ var _useState25 = useState(false),
110
+ _useState26 = _slicedToArray(_useState25, 2),
111
+ ready = _useState26[0],
112
+ setReady = _useState26[1];
113
+ var container = useRef(null);
114
+ var innerRef = useRef(null);
115
+ var _swiper = useRef({
116
+ moving: false,
117
+ autoplayTimer: null,
118
+ width: 0,
119
+ height: 0,
120
+ offset: 0,
121
+ size: 0
122
+ });
123
+ var _useState27 = useState([]),
124
+ _useState28 = _slicedToArray(_useState27, 2),
125
+ childOffset = _useState28[0],
126
+ setChildOffset = _useState28[1];
127
+ var _useState29 = useState(0),
128
+ _useState30 = _slicedToArray(_useState29, 2),
129
+ offset = _useState30[0],
130
+ setOffset = _useState30[1];
131
+ // 获取自定义slot数据内容和总条数
132
+ var _useMemo = useMemo(function () {
133
+ var childCount = 0;
134
+ var childs = React__default.Children.map(children, function (child) {
135
+ if (!React__default.isValidElement(child)) return null;
136
+ childCount++;
137
+ return child;
138
+ });
139
+ return {
140
+ childs: childs,
141
+ childCount: childCount
142
+ };
143
+ }, [children]),
144
+ childs = _useMemo.childs,
145
+ childCount = _useMemo.childCount;
146
+ // 滚动消息的总高度
147
+ var trackSize = childCount * Number(height);
148
+ // 设置最小偏移量(最后一条的偏移位置)
149
+ var minOffset = function () {
150
+ if (rect) {
151
+ var base = isVertical ? rect.height : rect.width;
152
+ return base - Number(height) * childCount;
153
+ }
154
+ return 0;
155
+ }();
156
+ useEffect(function () {
157
+ if (isVertical) {
158
+ // 兼容老版本无左侧Icon问题
159
+ if (leftIcon !== '') {
160
+ setLeftIcon(leftIcon);
161
+ } else {
162
+ setLeftIcon('close');
163
+ }
164
+ if (children) {
165
+ scrollList.current = [].concat(childs);
166
+ } else {
167
+ scrollList.current = [].concat(list);
168
+ startRollEasy();
169
+ }
170
+ complexAm && startRoll();
171
+ } else {
172
+ initScrollWrap();
173
+ }
174
+ return function () {
175
+ // 销毁事件
176
+ clearInterval(timer);
177
+ };
178
+ }, []);
179
+ useEffect(function () {
180
+ initScrollWrap();
181
+ }, [text]);
182
+ useEffect(function () {
183
+ if (list && list.length) {
184
+ scrollList.current = [].concat(list);
185
+ }
186
+ }, [list]);
187
+ var initScrollWrap = function initScrollWrap(value) {
188
+ if (showNoticeBar === false) {
189
+ return;
190
+ }
191
+ setTimeout(function () {
192
+ if (!wrap.current || !content.current) {
193
+ return;
194
+ }
195
+ var wrapW = getRect(wrap.current).width;
196
+ var offsetW = getRect(content.current).width;
197
+ var canScroll = scrollable == null ? offsetW > wrapW : scrollable;
198
+ SetIsCanScroll(canScroll);
199
+ if (canScroll) {
200
+ SetWrapWidth(wrapW);
201
+ SetOffsetW(offsetW);
202
+ SetDuration(offsetW / speed);
203
+ SetAnimationClass('play');
204
+ } else {
205
+ SetAnimationClass('');
206
+ }
207
+ }, 0);
208
+ };
209
+ var handleClick = function handleClick(event) {
210
+ click && click(event);
211
+ onClick && onClick(event);
212
+ };
213
+ var onClickIcon = function onClickIcon(event) {
214
+ event.stopPropagation();
215
+ SetShowNoticeBar(!closeMode);
216
+ close && close(event);
217
+ onClose && onClose(event);
218
+ };
219
+ var onAnimationEnd = function onAnimationEnd() {
220
+ SetFirstRound(false);
221
+ setTimeout(function () {
222
+ SetDuration((offsetWidth + wrapWidth) / speed);
223
+ SetAnimationClass('play-infinite');
224
+ }, 0);
225
+ };
226
+ // 滚动时间间隔
227
+ var time = height / speed / 4 < 1 ? Number((height / speed / 4).toFixed(1)) * 1000 : ~~(height / speed / 4) * 1000;
228
+ /**
229
+ * 滚动方式一,普通垂直滚动
230
+ */
231
+ var startRollEasy = function startRollEasy() {
232
+ showhorseLamp();
233
+ var timerCurr = window.setInterval(showhorseLamp, time + Number(standTime));
234
+ SetTimer(timerCurr);
235
+ };
236
+ var showhorseLamp = function showhorseLamp() {
237
+ SetAnimate(true);
238
+ setTimeout(function () {
239
+ scrollList.current.push(scrollList.current[0]);
240
+ scrollList.current.shift();
241
+ SetAnimate(false);
242
+ }, time);
243
+ };
244
+ /**
245
+ * 复杂滚动方式
246
+ */
247
+ var startRoll = function startRoll() {
248
+ var timerCurr = window.setInterval(function () {
249
+ var chunk = 100;
250
+ for (var i = 0; i < chunk; i++) {
251
+ scroll(i, !(i < chunk - 1));
252
+ }
253
+ }, Number(standTime) + 100 * speed);
254
+ SetTimer(timerCurr);
255
+ };
256
+ var scroll = function scroll(n, last) {
257
+ SetAnimate(true);
258
+ setTimeout(function () {
259
+ var _long = distance;
260
+ _long -= height / 100;
261
+ SetDistance(_long);
262
+ if (last) {
263
+ scrollList.current.push(scrollList.current[0]);
264
+ scrollList.current.shift();
265
+ SetDistance(0);
266
+ SetAnimate(false);
267
+ }
268
+ }, n * speed);
269
+ };
270
+ /**
271
+ * 点击滚动单元
272
+ */
273
+ var handleClickIcon = function handleClickIcon(event) {
274
+ event.stopPropagation();
275
+ SetShowNoticeBar(!closeMode);
276
+ close && close(event);
277
+ onClose && onClose(event);
278
+ };
279
+ var iconShow = function iconShow() {
280
+ if (leftIcon === 'close' || vLeftIcon === 'close') {
281
+ return false;
282
+ }
283
+ return true;
284
+ };
285
+ var iconBg = function iconBg() {
286
+ var iconBg = '';
287
+ if (leftIcon) {
288
+ iconBg = leftIcon;
289
+ }
290
+ return iconBg;
291
+ };
292
+ var isEllipsis = function isEllipsis() {
293
+ if (isCanScroll == null) {
294
+ return wrapable;
295
+ }
296
+ return !isCanScroll && !wrapable;
297
+ };
298
+ var contentStyle = {
299
+ animationDelay: "".concat(firstRound ? delay : 0, "s"),
300
+ animationDuration: "".concat(duration, "s"),
301
+ transform: "translateX(".concat(firstRound ? 0 : "".concat(wrapWidth, "px"), ")")
302
+ };
303
+ var barStyle = {
304
+ color: color,
305
+ background: background,
306
+ height: isVertical ? "".concat(height, "px") : ''
307
+ };
308
+ var duringTime = height / speed / 4 < 1 ? Number((height / speed / 4).toFixed(1)) : ~~(height / speed / 4);
309
+ var noDuring = height / speed < 1 ? (height / speed).toFixed(1) : ~~(height / speed);
310
+ var horseLampStyle = {
311
+ transform: complexAm ? "translateY(".concat(distance, "px)") : '',
312
+ transition: animate ? "all ".concat(duringTime === 0 ? noDuring : duringTime, "s") : '',
313
+ marginTop: animate ? "-".concat(height, "px") : ''
314
+ };
315
+ /**
316
+ * 垂直自定义滚动方式
317
+ */
318
+ var init = function init() {
319
+ var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : +0;
320
+ var rects = getRect(container === null || container === void 0 ? void 0 : container.current);
321
+ var _active = Math.max(Math.min(childCount - 1, active), 0);
322
+ var _height = rects.height;
323
+ trackSize = childCount * Number(_height);
324
+ var targetOffset = getOffset(_active);
325
+ _swiper.current.moving = true;
326
+ if (ready) {
327
+ _swiper.current.moving = false;
328
+ }
329
+ active = _active;
330
+ setRect(rects);
331
+ setOffset(targetOffset);
332
+ setReady(true);
333
+ };
334
+ useEffect(function () {
335
+ if (ready) {
336
+ stopAutoPlay();
337
+ autoplay();
338
+ }
339
+ return function () {
340
+ setReady(false);
341
+ };
342
+ }, [ready]);
343
+ useEffect(function () {
344
+ if (isVertical && children) {
345
+ init();
346
+ stopAutoPlay();
347
+ autoplay();
348
+ }
349
+ }, [children, container === null || container === void 0 ? void 0 : container.current]);
350
+ // 清除定时器
351
+ var stopAutoPlay = function stopAutoPlay() {
352
+ clearTimeout(_swiper.current.autoplayTimer);
353
+ _swiper.current.autoplayTimer = null;
354
+ };
355
+ // 定时轮播
356
+ var autoplay = function autoplay() {
357
+ if (childCount <= 1) return;
358
+ stopAutoPlay();
359
+ _swiper.current.autoplayTimer = setTimeout(function () {
360
+ next();
361
+ autoplay();
362
+ }, Number(standTime) + 100 * speed);
363
+ };
364
+ // 切换方法
365
+ var move = function move(_ref) {
366
+ var _ref$pace = _ref.pace,
367
+ pace = _ref$pace === void 0 ? 0 : _ref$pace,
368
+ _ref$offset = _ref.offset,
369
+ offset = _ref$offset === void 0 ? 0 : _ref$offset;
370
+ if (childCount <= 1) return;
371
+ var targetActive = getActive(pace);
372
+ // 父级容器偏移量
373
+ var targetOffset = getOffset(targetActive, offset);
374
+ // 循环滚动,调整开头结尾图片位置
375
+ if (Array.isArray(children) && children[0] && targetOffset !== minOffset) {
376
+ var rightBound = targetOffset < minOffset;
377
+ childOffset[0] = rightBound ? trackSize : 0;
378
+ }
379
+ if (Array.isArray(children) && children[childCount - 1] && targetOffset !== 0) {
380
+ var leftBound = targetOffset > 0;
381
+ childOffset[childCount - 1] = leftBound ? -trackSize : 0;
382
+ }
383
+ setChildOffset(childOffset);
384
+ active = targetActive;
385
+ setOffset(targetOffset);
386
+ getStyle(targetOffset);
387
+ };
388
+ // 下一页
389
+ var next = function next() {
390
+ resettPosition();
391
+ requestFrame(function () {
392
+ requestFrame(function () {
393
+ _swiper.current.moving = false;
394
+ move({
395
+ pace: 1
396
+ });
397
+ });
398
+ });
399
+ };
400
+ var handleItemClick = function handleItemClick(event, value) {
401
+ onClickItem && onClickItem(event, value);
402
+ };
403
+ var getStyle = function getStyle() {
404
+ var moveOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : offset;
405
+ var target = innerRef.current;
406
+ var _offset = 0;
407
+ // 容器高度-元素高度
408
+ var val = rect.height - height;
409
+ _offset = moveOffset + Number(active === childCount - 1 && val / 2);
410
+ target.style.transitionDuration = "".concat(_swiper.current.moving ? 0 : standTime, "ms");
411
+ target.style.height = "".concat(Number(height) * childCount, "px");
412
+ target.style.transform = "translate3D(0,".concat(_offset, "px,0)");
413
+ };
414
+ // 无缝滚动第一个元素位移控制
415
+ var itemStyle = function itemStyle(index) {
416
+ var style = {};
417
+ if (height) {
418
+ style.height = "".concat(height, "px");
419
+ style.lineHeight = "".concat(height, "px");
420
+ }
421
+ var offset = childOffset[index];
422
+ if (offset) {
423
+ style.transform = "translate3D(0,".concat(offset, "px,0)");
424
+ }
425
+ return style;
426
+ };
427
+ // 确定当前active 元素
428
+ var getActive = function getActive(pace) {
429
+ if (pace) {
430
+ var _active = active + pace;
431
+ return range(_active, -1, childCount);
432
+ }
433
+ return active;
434
+ };
435
+ // 计算位移
436
+ var getOffset = function getOffset(active) {
437
+ var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
438
+ var currentPosition = active * Number(height);
439
+ var targetOffset = offset - currentPosition;
440
+ return targetOffset;
441
+ };
442
+ // 浏览器 帧 事件
443
+ var requestFrame = function requestFrame(fn) {
444
+ window.requestAnimationFrame.call(window, fn);
445
+ };
446
+ // 取值 方法
447
+ var range = function range(num, min, max) {
448
+ return Math.min(Math.max(num, min), max);
449
+ };
450
+ // 重置首尾位置信息
451
+ var resettPosition = function resettPosition() {
452
+ _swiper.current.moving = true;
453
+ if (active <= -1) {
454
+ move({
455
+ pace: childCount
456
+ });
457
+ }
458
+ if (active >= childCount) {
459
+ move({
460
+ pace: -childCount
461
+ });
462
+ }
463
+ };
464
+ var b = cn('noticebar');
465
+ var noticebarClass = classNames({
466
+ 'nut-noticebar-page': true,
467
+ withicon: closeMode,
468
+ close: closeMode,
469
+ wrapable: wrapable
470
+ });
471
+ useEffect(function () {
472
+ return function () {
473
+ stopAutoPlay();
474
+ };
475
+ }, []);
476
+ return React__default.createElement("div", {
477
+ className: "".concat(b(), " ").concat(className || ''),
478
+ style: style
479
+ }, showNoticeBar && direction === 'across' ? React__default.createElement("div", {
480
+ className: noticebarClass,
481
+ style: barStyle,
482
+ onClick: handleClick
483
+ }, iconShow() ? React__default.createElement("div", {
484
+ className: "left-icon",
485
+ style: {
486
+ backgroundImage: "url(".concat(iconBg() || '', ")")
487
+ }
488
+ }, !iconBg() ? React__default.createElement(Icon, {
489
+ classPrefix: iconClassPrefix,
490
+ fontClassName: iconFontClassName,
491
+ name: "notice",
492
+ size: "16",
493
+ color: color
494
+ }) : null) : null, React__default.createElement("div", {
495
+ ref: wrap,
496
+ className: "wrap"
497
+ }, React__default.createElement("div", {
498
+ ref: content,
499
+ className: "content ".concat(animationClass, " ").concat(isEllipsis() ? 'nut-ellipsis' : ''),
500
+ style: contentStyle,
501
+ onAnimationEnd: onAnimationEnd
502
+ }, children, text)), closeMode || rightIcon ? React__default.createElement("div", {
503
+ className: "right-icon",
504
+ onClick: onClickIcon
505
+ }, React__default.createElement(Icon, {
506
+ classPrefix: iconClassPrefix,
507
+ fontClassName: iconFontClassName,
508
+ name: rightIcon || 'close',
509
+ color: color
510
+ })) : null) : null, showNoticeBar && scrollList.current.length > 0 && isVertical ? React__default.createElement("div", {
511
+ className: "nut-noticebar-vertical",
512
+ style: barStyle,
513
+ ref: container,
514
+ onClick: handleClick
515
+ }, iconShow() ? React__default.createElement("div", {
516
+ className: "left-icon",
517
+ style: {
518
+ backgroundImage: "url(".concat(iconBg() || '', ")")
519
+ }
520
+ }, !iconBg() ? React__default.createElement(Icon, {
521
+ classPrefix: iconClassPrefix,
522
+ fontClassName: iconFontClassName,
523
+ name: "notice",
524
+ size: "16",
525
+ color: color
526
+ }) : null) : null, children ? React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
527
+ className: "nut-noticebar__inner",
528
+ ref: innerRef
529
+ }, scrollList.current.map(function (item, index) {
530
+ return React__default.createElement("div", {
531
+ className: "scroll-inner ",
532
+ style: itemStyle(index),
533
+ key: index,
534
+ onClick: function onClick(e) {
535
+ handleItemClick(e, item);
536
+ }
537
+ }, item);
538
+ }))) : React__default.createElement("div", {
539
+ className: "horseLamp_list",
540
+ style: horseLampStyle
541
+ }, scrollList.current.map(function (item, index) {
542
+ return (
543
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
544
+ React__default.createElement("div", {
545
+ className: "horseLamp_list_item",
546
+ style: {
547
+ height: height
548
+ },
549
+ key: index,
550
+ onClick: function onClick(e) {
551
+ handleItemClick(e, item);
552
+ }
553
+ }, item)
554
+ );
555
+ })), React__default.createElement("div", {
556
+ className: "go",
557
+ onClick: function onClick(e) {
558
+ handleClickIcon(e);
559
+ }
560
+ }, rightIcon || (closeMode ? React__default.createElement(Icon, {
561
+ classPrefix: iconClassPrefix,
562
+ fontClassName: iconFontClassName,
563
+ name: rightIcon || 'close',
564
+ color: color,
565
+ size: "11px"
566
+ }) : null))) : null);
567
+ };
568
+ NoticeBar.defaultProps = defaultProps;
569
+ NoticeBar.displayName = 'NutNoticeBar';
570
+ export { NoticeBar as default };
@@ -0,0 +1,2 @@
1
+
2
+ import '../../../packages/notify/notify.scss'