@autobest-ui/components 2.2.1 → 2.4.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 (378) hide show
  1. package/esm/accordion/Item.js +6 -23
  2. package/esm/accordion/index.js +8 -36
  3. package/esm/accordion/style/index.css +1 -0
  4. package/esm/affix/PortalAffix.js +7 -11
  5. package/esm/affix/index.js +30 -70
  6. package/esm/affix/style/index.css +1 -1
  7. package/esm/base.css +1 -1
  8. package/esm/carousel/index.js +45 -141
  9. package/esm/checkbox/index.js +12 -37
  10. package/esm/checkbox/style/index.css +1 -1
  11. package/esm/collapse/index.js +11 -49
  12. package/esm/confirm/index.d.ts +8 -0
  13. package/esm/confirm/index.js +23 -31
  14. package/esm/confirm/style/index.css +1 -1
  15. package/esm/date-picker/DateEnum.js +0 -3
  16. package/esm/date-picker/calendar/Day.js +62 -78
  17. package/esm/date-picker/calendar/MonthYear.js +20 -53
  18. package/esm/date-picker/calendar/grid/index.js +7 -12
  19. package/esm/date-picker/calendar/index.js +4 -31
  20. package/esm/date-picker/index.js +11 -51
  21. package/esm/date-picker/style/index.css +1 -1
  22. package/esm/date-picker/utils.js +6 -11
  23. package/esm/drawer/Child.js +10 -20
  24. package/esm/drawer/index.js +22 -71
  25. package/esm/drawer/style/index.css +1 -1
  26. package/esm/ellipsis/index.js +9 -17
  27. package/esm/ellipsis/style/index.css +1 -1
  28. package/esm/guide/index.js +25 -63
  29. package/esm/guide/style/index.css +1 -1
  30. package/esm/index.d.ts +1 -1
  31. package/esm/input-number/ControlArrow.js +0 -2
  32. package/esm/input-number/constants.js +2 -2
  33. package/esm/input-number/index.js +26 -106
  34. package/esm/input-number/style/index.css +1 -1
  35. package/esm/lazy-image/index.js +10 -55
  36. package/esm/lazy-image/style/index.css +1 -1
  37. package/esm/link-list/index.js +11 -35
  38. package/esm/link-list/style/index.css +1 -1
  39. package/esm/loading/index.js +15 -42
  40. package/esm/loading/style/index.css +1 -1
  41. package/esm/loading-bar/style/index.css +1 -1
  42. package/esm/loading-container/index.js +3 -6
  43. package/esm/loading-container/style/index.css +1 -1
  44. package/esm/loading-icon/index.js +0 -2
  45. package/esm/loading-icon/style/index.css +1 -1
  46. package/esm/mask/index.js +6 -9
  47. package/esm/mask/style/index.css +1 -1
  48. package/esm/message/index.d.ts +17 -6
  49. package/esm/message/index.js +68 -96
  50. package/esm/message/renderMessage.d.ts +17 -0
  51. package/esm/message/renderMessage.js +137 -0
  52. package/esm/message/style/index.css +1 -1
  53. package/esm/modal/Title.js +5 -12
  54. package/esm/modal/getPopupLocation.js +5 -7
  55. package/esm/modal/index.js +44 -125
  56. package/esm/modal/style/index.css +1 -1
  57. package/esm/move/index.js +32 -132
  58. package/esm/move/range.js +6 -12
  59. package/esm/move/utils.js +3 -10
  60. package/esm/popover/index.js +9 -28
  61. package/esm/popover/style/index.css +1 -1
  62. package/esm/portal/index.js +1 -22
  63. package/esm/script/index.js +19 -59
  64. package/esm/select/index.js +28 -106
  65. package/esm/select/style/index.css +1 -1
  66. package/esm/show-more/index.js +40 -103
  67. package/esm/skeleton/Item.js +1 -3
  68. package/esm/skeleton/index.js +5 -11
  69. package/esm/skeleton/style/index.css +1 -1
  70. package/esm/style.css +1 -33
  71. package/esm/table/body/BodyRow.js +11 -28
  72. package/esm/table/body/CheckIcon.js +10 -18
  73. package/esm/table/body/index.js +8 -12
  74. package/esm/table/header/CheckIcon.js +3 -11
  75. package/esm/table/header/HeaderCell.js +12 -33
  76. package/esm/table/header/HeaderRow.js +6 -17
  77. package/esm/table/index.js +30 -100
  78. package/esm/table/style/index.css +1 -1
  79. package/esm/tabs/index.js +35 -118
  80. package/esm/tabs/style/index.css +1 -1
  81. package/esm/tooltip/index.js +0 -4
  82. package/esm/tooltip/style/index.css +1 -1
  83. package/esm/trigger/align.js +6 -6
  84. package/esm/trigger/bottomAlign.js +33 -45
  85. package/esm/trigger/constants.js +0 -1
  86. package/esm/trigger/getPopupLocation.js +48 -68
  87. package/esm/trigger/index.js +52 -187
  88. package/esm/trigger/leftAlign.js +33 -47
  89. package/esm/trigger/ref.js +2 -7
  90. package/esm/trigger/rightAlign.js +33 -45
  91. package/esm/trigger/topAlign.js +33 -45
  92. package/esm/trigger/utils.js +28 -45
  93. package/lib/accordion/Item.js +6 -27
  94. package/lib/accordion/index.js +8 -41
  95. package/lib/accordion/style/index.css +1 -0
  96. package/lib/affix/PortalAffix.js +7 -17
  97. package/lib/affix/index.js +30 -75
  98. package/lib/affix/style/index.css +1 -1
  99. package/lib/base.css +1 -1
  100. package/lib/carousel/index.js +45 -146
  101. package/lib/checkbox/index.js +12 -41
  102. package/lib/checkbox/style/index.css +1 -1
  103. package/lib/collapse/index.js +11 -53
  104. package/lib/confirm/index.d.ts +8 -0
  105. package/lib/confirm/index.js +23 -38
  106. package/lib/confirm/style/index.css +1 -1
  107. package/lib/date-picker/DateEnum.js +0 -3
  108. package/lib/date-picker/calendar/Day.js +62 -87
  109. package/lib/date-picker/calendar/MonthYear.js +20 -62
  110. package/lib/date-picker/calendar/grid/index.js +7 -16
  111. package/lib/date-picker/calendar/index.js +4 -37
  112. package/lib/date-picker/index.js +9 -58
  113. package/lib/date-picker/style/index.css +1 -1
  114. package/lib/date-picker/utils.js +6 -26
  115. package/lib/drawer/Child.js +10 -25
  116. package/lib/drawer/index.js +22 -78
  117. package/lib/drawer/style/index.css +1 -1
  118. package/lib/ellipsis/index.js +9 -23
  119. package/lib/ellipsis/style/index.css +1 -1
  120. package/lib/guide/index.js +25 -71
  121. package/lib/guide/style/index.css +1 -1
  122. package/lib/index.d.ts +1 -1
  123. package/lib/index.js +0 -29
  124. package/lib/input-number/ControlArrow.js +0 -4
  125. package/lib/input-number/constants.js +2 -2
  126. package/lib/input-number/index.js +26 -114
  127. package/lib/input-number/style/index.css +1 -1
  128. package/lib/lazy-image/index.js +10 -58
  129. package/lib/lazy-image/style/index.css +1 -1
  130. package/lib/link-list/index.js +11 -40
  131. package/lib/link-list/style/index.css +1 -1
  132. package/lib/loading/index.js +13 -48
  133. package/lib/loading/style/index.css +1 -1
  134. package/lib/loading-bar/index.js +0 -5
  135. package/lib/loading-bar/style/index.css +1 -1
  136. package/lib/loading-container/index.js +3 -11
  137. package/lib/loading-container/style/index.css +1 -1
  138. package/lib/loading-icon/index.js +0 -7
  139. package/lib/loading-icon/style/index.css +1 -1
  140. package/lib/mask/index.js +6 -17
  141. package/lib/mask/style/index.css +1 -1
  142. package/lib/message/index.d.ts +17 -6
  143. package/lib/message/index.js +67 -104
  144. package/lib/message/renderMessage.d.ts +17 -0
  145. package/lib/message/renderMessage.js +144 -0
  146. package/lib/message/style/index.css +1 -1
  147. package/lib/modal/Affix.js +0 -4
  148. package/lib/modal/Title.js +5 -15
  149. package/lib/modal/getPopupLocation.js +5 -9
  150. package/lib/modal/index.js +44 -135
  151. package/lib/modal/style/index.css +1 -1
  152. package/lib/move/index.js +32 -144
  153. package/lib/move/range.js +6 -14
  154. package/lib/move/utils.js +3 -12
  155. package/lib/popover/index.js +9 -33
  156. package/lib/popover/style/index.css +1 -1
  157. package/lib/portal/index.js +1 -25
  158. package/lib/script/index.js +19 -61
  159. package/lib/select/index.js +28 -113
  160. package/lib/select/style/index.css +1 -1
  161. package/lib/show-more/index.js +40 -110
  162. package/lib/skeleton/Item.js +1 -8
  163. package/lib/skeleton/index.js +5 -16
  164. package/lib/skeleton/style/index.css +1 -1
  165. package/lib/style.css +1 -33
  166. package/lib/table/body/BodyRow.js +11 -33
  167. package/lib/table/body/CheckIcon.js +10 -22
  168. package/lib/table/body/index.js +8 -17
  169. package/lib/table/header/CheckIcon.js +3 -15
  170. package/lib/table/header/HeaderCell.js +12 -37
  171. package/lib/table/header/HeaderRow.js +6 -22
  172. package/lib/table/index.js +30 -107
  173. package/lib/table/style/index.css +1 -1
  174. package/lib/tabs/index.js +35 -122
  175. package/lib/tabs/style/index.css +1 -1
  176. package/lib/tooltip/index.js +0 -9
  177. package/lib/tooltip/style/index.css +1 -1
  178. package/lib/trigger/align.js +0 -4
  179. package/lib/trigger/bottomAlign.js +33 -48
  180. package/lib/trigger/constants.js +0 -2
  181. package/lib/trigger/getPopupLocation.js +48 -74
  182. package/lib/trigger/index.js +52 -198
  183. package/lib/trigger/leftAlign.js +33 -50
  184. package/lib/trigger/ref.js +2 -12
  185. package/lib/trigger/rightAlign.js +33 -48
  186. package/lib/trigger/topAlign.js +33 -48
  187. package/lib/trigger/utils.js +28 -53
  188. package/package.json +9 -3
  189. package/esm/accordion/style/index.d.ts +0 -1
  190. package/esm/accordion/style/index.js +0 -5
  191. package/esm/affix/style/index.d.ts +0 -1
  192. package/esm/affix/style/index.js +0 -5
  193. package/esm/affix/style/index.scss +0 -35
  194. package/esm/base.scss +0 -42
  195. package/esm/carousel/style/index.d.ts +0 -1
  196. package/esm/carousel/style/index.js +0 -5
  197. package/esm/carousel/style/index.scss +0 -37
  198. package/esm/checkbox/style/index.d.ts +0 -1
  199. package/esm/checkbox/style/index.js +0 -5
  200. package/esm/checkbox/style/index.scss +0 -118
  201. package/esm/collapse/style/index.d.ts +0 -1
  202. package/esm/collapse/style/index.js +0 -5
  203. package/esm/collapse/style/index.scss +0 -43
  204. package/esm/confirm/style/index.d.ts +0 -1
  205. package/esm/confirm/style/index.js +0 -7
  206. package/esm/confirm/style/index.scss +0 -44
  207. package/esm/date-picker/calendar/grid/index.scss +0 -90
  208. package/esm/date-picker/calendar/index.scss +0 -58
  209. package/esm/date-picker/style/index.d.ts +0 -1
  210. package/esm/date-picker/style/index.js +0 -11
  211. package/esm/date-picker/style/index.scss +0 -24
  212. package/esm/drawer/style/index.d.ts +0 -1
  213. package/esm/drawer/style/index.js +0 -7
  214. package/esm/drawer/style/index.scss +0 -44
  215. package/esm/ellipsis/style/index.d.ts +0 -1
  216. package/esm/ellipsis/style/index.js +0 -5
  217. package/esm/ellipsis/style/index.scss +0 -35
  218. package/esm/guide/style/index.d.ts +0 -1
  219. package/esm/guide/style/index.js +0 -7
  220. package/esm/guide/style/index.scss +0 -18
  221. package/esm/input-number/style/index.d.ts +0 -1
  222. package/esm/input-number/style/index.js +0 -5
  223. package/esm/input-number/style/index.scss +0 -70
  224. package/esm/lazy-image/style/index.d.ts +0 -1
  225. package/esm/lazy-image/style/index.js +0 -5
  226. package/esm/lazy-image/style/index.scss +0 -25
  227. package/esm/link-list/style/index.d.ts +0 -1
  228. package/esm/link-list/style/index.js +0 -7
  229. package/esm/link-list/style/index.scss +0 -125
  230. package/esm/loading/style/index.d.ts +0 -1
  231. package/esm/loading/style/index.js +0 -7
  232. package/esm/loading/style/index.scss +0 -21
  233. package/esm/loading-bar/style/index.d.ts +0 -1
  234. package/esm/loading-bar/style/index.js +0 -5
  235. package/esm/loading-bar/style/index.scss +0 -62
  236. package/esm/loading-container/style/index.d.ts +0 -1
  237. package/esm/loading-container/style/index.js +0 -7
  238. package/esm/loading-container/style/index.scss +0 -28
  239. package/esm/loading-icon/style/index.d.ts +0 -1
  240. package/esm/loading-icon/style/index.js +0 -5
  241. package/esm/loading-icon/style/index.scss +0 -24
  242. package/esm/mask/style/index.d.ts +0 -1
  243. package/esm/mask/style/index.js +0 -5
  244. package/esm/mask/style/index.scss +0 -35
  245. package/esm/message/style/index.d.ts +0 -1
  246. package/esm/message/style/index.js +0 -5
  247. package/esm/message/style/index.scss +0 -71
  248. package/esm/modal/style/index.d.ts +0 -1
  249. package/esm/modal/style/index.js +0 -7
  250. package/esm/modal/style/index.scss +0 -112
  251. package/esm/move/style/index.d.ts +0 -1
  252. package/esm/move/style/index.js +0 -5
  253. package/esm/move/style/index.scss +0 -7
  254. package/esm/popover/style/index.d.ts +0 -1
  255. package/esm/popover/style/index.js +0 -7
  256. package/esm/popover/style/index.scss +0 -60
  257. package/esm/portal/style/index.d.ts +0 -1
  258. package/esm/portal/style/index.js +0 -5
  259. package/esm/portal/style/index.scss +0 -0
  260. package/esm/script/style/index.d.ts +0 -1
  261. package/esm/script/style/index.js +0 -1
  262. package/esm/script/style/index.scss +0 -0
  263. package/esm/select/style/index.d.ts +0 -1
  264. package/esm/select/style/index.js +0 -7
  265. package/esm/select/style/index.scss +0 -126
  266. package/esm/show-more/style/index.d.ts +0 -1
  267. package/esm/show-more/style/index.js +0 -5
  268. package/esm/show-more/style/index.scss +0 -23
  269. package/esm/skeleton/style/index.d.ts +0 -1
  270. package/esm/skeleton/style/index.js +0 -5
  271. package/esm/skeleton/style/index.scss +0 -27
  272. package/esm/table/style/index.d.ts +0 -1
  273. package/esm/table/style/index.js +0 -9
  274. package/esm/table/style/index.scss +0 -45
  275. package/esm/tabs/style/index.d.ts +0 -1
  276. package/esm/tabs/style/index.js +0 -5
  277. package/esm/tabs/style/index.scss +0 -62
  278. package/esm/tooltip/style/index.d.ts +0 -1
  279. package/esm/tooltip/style/index.js +0 -7
  280. package/esm/tooltip/style/index.scss +0 -62
  281. package/esm/trigger/style/index.d.ts +0 -1
  282. package/esm/trigger/style/index.js +0 -5
  283. package/esm/trigger/style/index.scss +0 -79
  284. package/lib/accordion/style/index.d.ts +0 -1
  285. package/lib/accordion/style/index.js +0 -7
  286. package/lib/affix/style/index.d.ts +0 -1
  287. package/lib/affix/style/index.js +0 -7
  288. package/lib/affix/style/index.scss +0 -35
  289. package/lib/base.scss +0 -42
  290. package/lib/carousel/style/index.d.ts +0 -1
  291. package/lib/carousel/style/index.js +0 -7
  292. package/lib/carousel/style/index.scss +0 -37
  293. package/lib/checkbox/style/index.d.ts +0 -1
  294. package/lib/checkbox/style/index.js +0 -7
  295. package/lib/checkbox/style/index.scss +0 -118
  296. package/lib/collapse/style/index.d.ts +0 -1
  297. package/lib/collapse/style/index.js +0 -7
  298. package/lib/collapse/style/index.scss +0 -43
  299. package/lib/confirm/style/index.d.ts +0 -1
  300. package/lib/confirm/style/index.js +0 -9
  301. package/lib/confirm/style/index.scss +0 -44
  302. package/lib/date-picker/calendar/grid/index.scss +0 -90
  303. package/lib/date-picker/calendar/index.scss +0 -58
  304. package/lib/date-picker/style/index.d.ts +0 -1
  305. package/lib/date-picker/style/index.js +0 -13
  306. package/lib/date-picker/style/index.scss +0 -24
  307. package/lib/drawer/style/index.d.ts +0 -1
  308. package/lib/drawer/style/index.js +0 -9
  309. package/lib/drawer/style/index.scss +0 -44
  310. package/lib/ellipsis/style/index.d.ts +0 -1
  311. package/lib/ellipsis/style/index.js +0 -7
  312. package/lib/ellipsis/style/index.scss +0 -35
  313. package/lib/guide/style/index.d.ts +0 -1
  314. package/lib/guide/style/index.js +0 -9
  315. package/lib/guide/style/index.scss +0 -18
  316. package/lib/input-number/style/index.d.ts +0 -1
  317. package/lib/input-number/style/index.js +0 -7
  318. package/lib/input-number/style/index.scss +0 -70
  319. package/lib/lazy-image/style/index.d.ts +0 -1
  320. package/lib/lazy-image/style/index.js +0 -7
  321. package/lib/lazy-image/style/index.scss +0 -25
  322. package/lib/link-list/style/index.d.ts +0 -1
  323. package/lib/link-list/style/index.js +0 -9
  324. package/lib/link-list/style/index.scss +0 -125
  325. package/lib/loading/style/index.d.ts +0 -1
  326. package/lib/loading/style/index.js +0 -9
  327. package/lib/loading/style/index.scss +0 -21
  328. package/lib/loading-bar/style/index.d.ts +0 -1
  329. package/lib/loading-bar/style/index.js +0 -7
  330. package/lib/loading-bar/style/index.scss +0 -62
  331. package/lib/loading-container/style/index.d.ts +0 -1
  332. package/lib/loading-container/style/index.js +0 -9
  333. package/lib/loading-container/style/index.scss +0 -28
  334. package/lib/loading-icon/style/index.d.ts +0 -1
  335. package/lib/loading-icon/style/index.js +0 -7
  336. package/lib/loading-icon/style/index.scss +0 -24
  337. package/lib/mask/style/index.d.ts +0 -1
  338. package/lib/mask/style/index.js +0 -7
  339. package/lib/mask/style/index.scss +0 -35
  340. package/lib/message/style/index.d.ts +0 -1
  341. package/lib/message/style/index.js +0 -7
  342. package/lib/message/style/index.scss +0 -71
  343. package/lib/modal/style/index.d.ts +0 -1
  344. package/lib/modal/style/index.js +0 -9
  345. package/lib/modal/style/index.scss +0 -112
  346. package/lib/move/style/index.d.ts +0 -1
  347. package/lib/move/style/index.js +0 -7
  348. package/lib/move/style/index.scss +0 -7
  349. package/lib/popover/style/index.d.ts +0 -1
  350. package/lib/popover/style/index.js +0 -9
  351. package/lib/popover/style/index.scss +0 -60
  352. package/lib/portal/style/index.d.ts +0 -1
  353. package/lib/portal/style/index.js +0 -7
  354. package/lib/portal/style/index.scss +0 -0
  355. package/lib/script/style/index.d.ts +0 -1
  356. package/lib/script/style/index.js +0 -1
  357. package/lib/script/style/index.scss +0 -0
  358. package/lib/select/style/index.d.ts +0 -1
  359. package/lib/select/style/index.js +0 -9
  360. package/lib/select/style/index.scss +0 -126
  361. package/lib/show-more/style/index.d.ts +0 -1
  362. package/lib/show-more/style/index.js +0 -7
  363. package/lib/show-more/style/index.scss +0 -23
  364. package/lib/skeleton/style/index.d.ts +0 -1
  365. package/lib/skeleton/style/index.js +0 -7
  366. package/lib/skeleton/style/index.scss +0 -27
  367. package/lib/table/style/index.d.ts +0 -1
  368. package/lib/table/style/index.js +0 -11
  369. package/lib/table/style/index.scss +0 -45
  370. package/lib/tabs/style/index.d.ts +0 -1
  371. package/lib/tabs/style/index.js +0 -7
  372. package/lib/tabs/style/index.scss +0 -62
  373. package/lib/tooltip/style/index.d.ts +0 -1
  374. package/lib/tooltip/style/index.js +0 -9
  375. package/lib/tooltip/style/index.scss +0 -62
  376. package/lib/trigger/style/index.d.ts +0 -1
  377. package/lib/trigger/style/index.js +0 -7
  378. package/lib/trigger/style/index.scss +0 -79
@@ -1,142 +1,105 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = Message;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _reactTransitionGroup = require("react-transition-group");
13
-
14
- var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
- var _reactDom = _interopRequireDefault(require("react-dom"));
17
-
18
8
  var _utils = require("@autobest-ui/utils");
19
-
9
+ var _renderMessage = _interopRequireDefault(require("./renderMessage"));
20
10
  var __assign = void 0 && (void 0).__assign || function () {
21
11
  __assign = Object.assign || function (t) {
22
12
  for (var s, i = 1, n = arguments.length; i < n; i++) {
23
13
  s = arguments[i];
24
-
25
14
  for (var p in s) {
26
15
  if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
27
16
  }
28
17
  }
29
-
30
18
  return t;
31
19
  };
32
-
33
20
  return __assign.apply(this, arguments);
34
21
  };
35
-
36
- var defaultConfig = {
37
- expires: 3000,
38
- maxCount: 3,
39
- width: '6rem',
40
- height: 'auto',
41
- onDestroy: function onDestroy() {}
42
- };
43
22
  var prefixCls = 'ab-message';
44
- var container = null;
45
- var items = [];
23
+ var options = [];
46
24
  var id = 0;
47
-
48
- function Message(config) {
25
+ // 全局配置的默认值
26
+ var currentConfig = {
27
+ expires: 3000,
28
+ maxCount: 3
29
+ };
30
+ function Message(props) {
49
31
  if (!_utils.canUseDOM) {
50
32
  throw new Error('Message use client!');
51
33
  }
52
-
53
34
  var cachedId = id++;
54
-
55
- var currentConfig = __assign(__assign({}, defaultConfig), config);
56
-
57
- if (!container) {
58
- container = document.createElement('div');
59
- container.setAttribute('class', (0, _classnames.default)(currentConfig.className, "".concat(prefixCls, "-container")));
60
- document.body.appendChild(container);
61
- }
62
-
63
- if (items.length >= currentConfig.maxCount) {
64
- close(items[0].id);
35
+ function render() {
36
+ (0, _renderMessage.default)({
37
+ prefixCls: prefixCls,
38
+ className: currentConfig.className,
39
+ options: options
40
+ });
65
41
  }
66
-
67
- function close(currentId) {
68
- var index = items.findIndex(function (item) {
42
+ /**
43
+ * 关闭指定的一条message
44
+ * @param currentId
45
+ */
46
+ function _onClose(currentId) {
47
+ if ((0, _utils.isEmptyArray)(options)) {
48
+ return;
49
+ }
50
+ var index = options.findIndex(function (item) {
69
51
  return item.id === currentId;
70
52
  });
71
-
72
53
  if (index >= 0) {
73
- clearTimeout(items[index].timer);
74
- items.splice(index, 1);
75
- } // 关闭需要再渲染一次
76
-
77
-
54
+ clearTimeout(options[index].timer);
55
+ options.splice(index, 1);
56
+ // 关闭需要再渲染一次
57
+ render();
58
+ }
59
+ }
60
+ /**
61
+ * 关闭所有message
62
+ */
63
+ function onCloseAll() {
64
+ if ((0, _utils.isEmptyArray)(options)) {
65
+ return;
66
+ }
67
+ options.forEach(function (child) {
68
+ clearTimeout(child.timer);
69
+ });
70
+ options = [];
78
71
  render();
79
72
  }
80
-
81
- function _onExited(currentId) {
82
- currentConfig.onDestroy(currentId);
83
- } // 渲染组件
84
-
85
-
86
- function render() {
87
- var cls = prefixCls;
88
-
89
- _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.TransitionGroup, {
90
- component: null
91
- }, items.map(function (item) {
92
- var _a = item.currentConfig,
93
- content = _a.content,
94
- width = _a.width,
95
- height = _a.height,
96
- contentClassName = _a.contentClassName;
97
- var style = {
98
- width: width,
99
- height: height
100
- };
101
- return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, {
102
- key: item.id,
103
- timeout: 300,
104
- classNames: "".concat(cls, "-fade"),
105
- onExited: function onExited() {
106
- _onExited(item.id);
107
- },
108
- appear: true
109
- }, /*#__PURE__*/_react.default.createElement("div", {
110
- className: (0, _classnames.default)("".concat(cls, "-content"), contentClassName),
111
- style: style
112
- }, content, /*#__PURE__*/_react.default.createElement("div", {
113
- className: "".concat(cls, "-close"),
114
- onClick: function onClick() {
115
- close(item.id);
116
- }
117
- }, "\xD7")));
118
- })), container);
73
+ /**
74
+ * 超出条数,将删除最旧的那条message
75
+ */
76
+ if (options.length >= currentConfig.maxCount) {
77
+ _onClose(options[0].id);
119
78
  }
120
-
79
+ // 每条message对象
121
80
  var item = {
122
- currentConfig: currentConfig,
81
+ content: props.content,
82
+ contentClassName: props.contentClassName,
123
83
  id: cachedId,
84
+ onDestroy: props.onDestroy,
85
+ onClose: _onClose,
124
86
  timer: null
125
87
  };
126
- items.push(item);
127
- render(); // render后设置自动关闭功能,把定时器绑定到列表
128
-
88
+ // push
89
+ options.push(item);
90
+ // 开始渲染
91
+ render();
92
+ // render后设置自动关闭功能,把定时器绑定到列表
129
93
  item.timer = setTimeout(function () {
130
- close(cachedId);
131
- }, currentConfig.expires);
132
-
133
- function destroy() {
134
- items.forEach(function (child) {
135
- clearTimeout(child.timer);
136
- });
137
- items = [];
138
- render();
139
- }
140
-
141
- return destroy;
142
- }
94
+ _onClose(cachedId);
95
+ }, props.expires || currentConfig.expires);
96
+ return {
97
+ onCloseAll: onCloseAll,
98
+ onClose: function onClose() {
99
+ return _onClose(cachedId);
100
+ }
101
+ };
102
+ }
103
+ Message.setConfig = function (config) {
104
+ currentConfig = __assign(__assign({}, currentConfig), config);
105
+ };
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export interface MessageItem {
3
+ content: React.ReactNode;
4
+ contentClassName?: string;
5
+ id: number;
6
+ onClose?: (id: number) => void;
7
+ onDestroy?: () => void;
8
+ }
9
+ interface TransitionContentProps {
10
+ prefixCls: string;
11
+ options: MessageItem[];
12
+ }
13
+ export interface RenderMessageProps extends TransitionContentProps {
14
+ className?: string;
15
+ }
16
+ export default function renderMessage(props: RenderMessageProps): void;
17
+ export {};
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = renderMessage;
8
+ var _reactDom = _interopRequireDefault(require("react-dom"));
9
+ var _reactTransitionGroup = require("react-transition-group");
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _utils = require("@autobest-ui/utils");
13
+ var __extends = void 0 && (void 0).__extends || function () {
14
+ var _extendStatics = function extendStatics(d, b) {
15
+ _extendStatics = Object.setPrototypeOf || {
16
+ __proto__: []
17
+ } instanceof Array && function (d, b) {
18
+ d.__proto__ = b;
19
+ } || function (d, b) {
20
+ for (var p in b) {
21
+ if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
22
+ }
23
+ };
24
+ return _extendStatics(d, b);
25
+ };
26
+ return function (d, b) {
27
+ if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
28
+ _extendStatics(d, b);
29
+ function __() {
30
+ this.constructor = d;
31
+ }
32
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
33
+ };
34
+ }();
35
+ var container = null;
36
+ /**
37
+ * Transition的组件,绑定其事件,处理收缩问题
38
+ */
39
+ var TransitionContent = /** @class */function (_super) {
40
+ __extends(TransitionContent, _super);
41
+ function TransitionContent() {
42
+ var _this = _super !== null && _super.apply(this, arguments) || this;
43
+ _this.removeContainer = function () {
44
+ if (container) {
45
+ document.body.removeChild(container);
46
+ container = null;
47
+ }
48
+ };
49
+ _this.onEnter = function (element) {
50
+ if (!element) {
51
+ return;
52
+ }
53
+ var height = (0, _utils.getElementSize)(element).height;
54
+ _this.elementContentHeight = height;
55
+ element.style.height = '0';
56
+ };
57
+ _this.onEntering = function (element) {
58
+ if (element) {
59
+ element.style.height = "".concat(_this.elementContentHeight, "px");
60
+ }
61
+ };
62
+ _this.onEntered = function (element) {
63
+ if (element) {
64
+ element.style.height = '';
65
+ }
66
+ };
67
+ _this.onExit = function (element) {
68
+ if (!element) {
69
+ return;
70
+ }
71
+ var height = (0, _utils.getElementSize)(element).height;
72
+ element.style.height = "".concat(height, "px");
73
+ };
74
+ _this.onExiting = function (element) {
75
+ if (element) {
76
+ element.style.height = '0';
77
+ }
78
+ };
79
+ _this.onExited = function (item) {
80
+ if ((0, _utils.isEmptyArray)(_this.props.options)) {
81
+ _this.removeContainer();
82
+ }
83
+ if (item.onDestroy) {
84
+ item.onDestroy();
85
+ }
86
+ };
87
+ return _this;
88
+ }
89
+ TransitionContent.prototype.componentWillUnmount = function () {
90
+ this.removeContainer();
91
+ };
92
+ TransitionContent.prototype.render = function () {
93
+ var _this = this;
94
+ var _a = this.props,
95
+ options = _a.options,
96
+ prefixCls = _a.prefixCls;
97
+ return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.TransitionGroup, {
98
+ component: null
99
+ }, options.map(function (item) {
100
+ var content = item.content,
101
+ onClose = item.onClose,
102
+ contentClassName = item.contentClassName;
103
+ return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, {
104
+ key: item.id,
105
+ timeout: 300,
106
+ classNames: "".concat(prefixCls, "-fade"),
107
+ onEnter: _this.onEnter,
108
+ onEntering: _this.onEntering,
109
+ onEntered: _this.onEntered,
110
+ onExit: _this.onExit,
111
+ onExiting: _this.onExiting,
112
+ onExited: function onExited() {
113
+ return _this.onExited(item);
114
+ },
115
+ appear: true
116
+ }, /*#__PURE__*/_react.default.createElement("div", {
117
+ className: "".concat(prefixCls, "-notice")
118
+ }, /*#__PURE__*/_react.default.createElement("div", {
119
+ className: (0, _classnames.default)("".concat(prefixCls, "-content"), contentClassName)
120
+ }, content, /*#__PURE__*/_react.default.createElement("div", {
121
+ className: "".concat(prefixCls, "-close"),
122
+ onClick: function onClick() {
123
+ return onClose(item.id);
124
+ }
125
+ }, "\xD7"))));
126
+ }));
127
+ };
128
+ return TransitionContent;
129
+ }(_react.default.Component);
130
+ function renderMessage(props) {
131
+ var prefixCls = props.prefixCls,
132
+ options = props.options,
133
+ className = props.className;
134
+ // 创建容器
135
+ if (!container) {
136
+ container = document.createElement('div');
137
+ container.setAttribute('class', (0, _classnames.default)(className, "".concat(prefixCls, "-container")));
138
+ document.body.appendChild(container);
139
+ }
140
+ _reactDom.default.render( /*#__PURE__*/_react.default.createElement(TransitionContent, {
141
+ options: options,
142
+ prefixCls: prefixCls
143
+ }), container);
144
+ }
@@ -1 +1 @@
1
- .ab-message-container{position:fixed;left:0;bottom:0}.ab-message-content{display:flex;align-items:center;justify-content:space-between;max-width:calc(100vw - .3rem);border-radius:.02rem;margin:.08rem .15rem;padding:.08rem;background-color:#333;color:#fff;box-shadow:0 .04rem .08rem #00000059;transition:opacity .3s}.ab-message-close{display:flex;align-items:center;justify-content:center;cursor:pointer;width:.2rem;height:.2rem;font-size:.2rem;margin-left:.08rem;color:#b0b0b0}.ab-message-close:hover{color:#fff}.ab-message-fade-appear,.ab-message-fade-enter{opacity:0}.ab-message-fade-appear-active,.ab-message-fade-enter-active,.ab-message-fade-enter-done{opacity:1}.ab-message-fade-exit{opacity:1}.ab-message-fade-exit-active{opacity:0}.ab-message-fade-exit-done{display:none}@media only screen and (max-width:767px){.ab-message-content{width:calc(100vw - .3rem);margin:.08rem .15rem}}
1
+ .ab-message-container{position:fixed}.ab-message-notice{overflow:hidden;transition:.3s ease-out}.ab-message-content{display:flex;align-items:center;justify-content:space-between;max-width:calc(100vw - .3rem);margin:.05rem .15rem;padding:.08rem;border-radius:.02rem;background-color:#333;color:#fff;box-shadow:0 .01rem .05rem #333}.ab-message-close{display:flex;align-items:center;justify-content:center;cursor:pointer;width:.2rem;height:.2rem;font-size:.2rem;margin-left:.08rem;color:#b0b0b0}.ab-message-close:hover{color:#fff}.ab-message-fade-appear,.ab-message-fade-enter{opacity:0}.ab-message-fade-appear-active,.ab-message-fade-enter-active,.ab-message-fade-enter-done,.ab-message-fade-exit{opacity:1}.ab-message-fade-exit-active{opacity:0}.ab-message-fade-exit-done{display:none}@media only screen and (max-width:767px){.ab-message-content{width:calc(100vw - .3rem);margin:.08rem .15rem}}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = Affix;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _portal = _interopRequireDefault(require("../portal"));
13
-
14
10
  function Affix(props) {
15
11
  return /*#__PURE__*/_react.default.createElement(_portal.default, {
16
12
  getContainer: props.getContainer
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  function Times(_a) {
13
10
  var prefixCls = _a.prefixCls,
14
- onClose = _a.onClose,
15
- closable = _a.closable;
16
-
11
+ onClose = _a.onClose,
12
+ closable = _a.closable;
17
13
  if (closable) {
18
14
  return /*#__PURE__*/_react.default.createElement("span", {
19
15
  className: "".concat(prefixCls, "-times"),
@@ -32,16 +28,13 @@ function Times(_a) {
32
28
  d: "M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"
33
29
  })));
34
30
  }
35
-
36
31
  return null;
37
32
  }
38
-
39
33
  function Title(_a) {
40
34
  var title = _a.title,
41
- closable = _a.closable,
42
- prefixCls = _a.prefixCls,
43
- onClose = _a.onClose;
44
-
35
+ closable = _a.closable,
36
+ prefixCls = _a.prefixCls,
37
+ onClose = _a.onClose;
45
38
  if (title) {
46
39
  return /*#__PURE__*/_react.default.createElement("div", {
47
40
  className: "".concat(prefixCls, "-title")
@@ -51,14 +44,11 @@ function Title(_a) {
51
44
  onClose: onClose
52
45
  }));
53
46
  }
54
-
55
47
  return /*#__PURE__*/_react.default.createElement(Times, {
56
48
  prefixCls: prefixCls,
57
49
  closable: closable,
58
50
  onClose: onClose
59
51
  });
60
52
  }
61
-
62
53
  var _default = /*#__PURE__*/_react.default.memo(Title);
63
-
64
54
  exports.default = _default;
@@ -4,27 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = getPopupLocation;
7
-
8
7
  var _utils = require("@autobest-ui/utils");
9
-
10
8
  function getPopupLocation(_a) {
11
9
  var placement = _a.placement,
12
- element = _a.element,
13
- targetTop = _a.targetTop,
14
- popupLimitSpacing = _a.popupLimitSpacing;
10
+ element = _a.element,
11
+ targetTop = _a.targetTop,
12
+ popupLimitSpacing = _a.popupLimitSpacing;
15
13
  var clientSize = (0, _utils.getAvailSize)(true);
16
14
  var popupSize = (0, _utils.getElementSize)(element);
17
15
  var doubleLimit = popupLimitSpacing * 2;
18
16
  var height = popupSize.height > clientSize.height - doubleLimit ? "".concat(clientSize.height - doubleLimit, "px") : '';
19
-
20
17
  if (placement === 'top') {
21
18
  return {
22
19
  top: targetTop,
23
20
  height: height
24
21
  };
25
- } // 默认center
26
-
27
-
22
+ }
23
+ // 默认center
28
24
  return {
29
25
  height: height
30
26
  };