@douyinfe/semi-foundation 2.24.2 → 2.25.0-alpha.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 (971) hide show
  1. package/anchor/anchor.scss +6 -0
  2. package/anchor/foundation.ts +7 -6
  3. package/anchor/linkFoundation.ts +0 -1
  4. package/anchor/variables.scss +4 -0
  5. package/autoComplete/autoComplete.scss +2 -0
  6. package/autoComplete/foundation.ts +23 -20
  7. package/autoComplete/optionFoundation.ts +0 -2
  8. package/avatar/animation.scss +19 -0
  9. package/avatar/avatar.scss +314 -1
  10. package/avatar/constants.ts +21 -4
  11. package/avatar/foundation.ts +21 -4
  12. package/avatar/variables.scss +66 -10
  13. package/badge/badge.scss +13 -0
  14. package/badge/constants.ts +1 -1
  15. package/badge/variables.scss +4 -0
  16. package/base/foundation.ts +2 -3
  17. package/breadcrumb/breadcrumb.scss +10 -4
  18. package/breadcrumb/foundation.ts +0 -1
  19. package/breadcrumb/variables.scss +4 -0
  20. package/button/button.scss +88 -21
  21. package/button/iconButton.scss +1 -0
  22. package/button/splitButtonGroup.scss +10 -9
  23. package/button/variables.scss +13 -0
  24. package/calendar/calendar.scss +1 -1
  25. package/calendar/eventUtil.ts +14 -10
  26. package/calendar/foundation.ts +9 -9
  27. package/carousel/carousel.scss +4 -0
  28. package/carousel/foundation.ts +12 -7
  29. package/cascader/cascader.scss +66 -23
  30. package/cascader/constants.ts +5 -1
  31. package/cascader/foundation.ts +111 -63
  32. package/cascader/util.ts +64 -10
  33. package/cascader/variables.scss +5 -1
  34. package/checkbox/checkbox.scss +0 -1
  35. package/checkbox/checkboxFoundation.ts +1 -2
  36. package/checkbox/checkboxGroupFoundation.ts +0 -1
  37. package/collapse/foundation.ts +1 -0
  38. package/datePicker/_utils/getDefaultFormatToken.ts +1 -0
  39. package/datePicker/_utils/getInsetInputFormatToken.ts +1 -0
  40. package/datePicker/_utils/getInsetInputValueFromInsetInputStr.ts +1 -0
  41. package/datePicker/_utils/getYears.ts +8 -4
  42. package/datePicker/_utils/isValidTimeZone.ts +3 -0
  43. package/datePicker/constants.ts +1 -1
  44. package/datePicker/datePicker.scss +170 -21
  45. package/datePicker/foundation.ts +175 -150
  46. package/datePicker/inputFoundation.ts +34 -16
  47. package/datePicker/monthFoundation.ts +0 -1
  48. package/datePicker/monthsGridFoundation.ts +52 -32
  49. package/datePicker/variables.scss +13 -4
  50. package/datePicker/yearAndMonthFoundation.ts +68 -21
  51. package/descriptions/constants.ts +2 -1
  52. package/descriptions/descriptions.scss +20 -0
  53. package/descriptions/foundation.ts +36 -0
  54. package/descriptions/variables.scss +10 -0
  55. package/dropdown/constants.ts +1 -1
  56. package/dropdown/dropdown.scss +5 -0
  57. package/dropdown/foundation.ts +4 -3
  58. package/dropdown/menuFoundation.ts +3 -3
  59. package/form/constants.ts +2 -1
  60. package/form/form.scss +5 -2
  61. package/form/foundation.ts +12 -10
  62. package/form/interface.ts +5 -6
  63. package/form/utils.ts +39 -16
  64. package/form/variables.scss +3 -0
  65. package/grid/grid.scss +1 -1
  66. package/image/constants.ts +5 -1
  67. package/image/image.scss +9 -5
  68. package/image/previewFooterFoundation.ts +1 -4
  69. package/image/previewFoundation.ts +1 -1
  70. package/image/previewImageFoundation.ts +61 -70
  71. package/image/previewInnerFoundation.ts +93 -47
  72. package/image/utils.ts +18 -20
  73. package/image/variables.scss +1 -1
  74. package/input/foundation.ts +2 -4
  75. package/input/input.scss +48 -3
  76. package/input/textarea.scss +34 -0
  77. package/input/textareaFoundation.ts +42 -18
  78. package/input/variables.scss +7 -0
  79. package/inputNumber/foundation.ts +0 -5
  80. package/inputNumber/inputNumber.scss +9 -0
  81. package/lib/cjs/anchor/anchor.css +5 -0
  82. package/lib/cjs/anchor/anchor.scss +6 -0
  83. package/lib/cjs/anchor/constants.js +1 -3
  84. package/lib/cjs/anchor/foundation.js +20 -80
  85. package/lib/cjs/anchor/linkFoundation.js +3 -16
  86. package/lib/cjs/anchor/variables.scss +4 -0
  87. package/lib/cjs/autoComplete/autoComplete.css +1 -0
  88. package/lib/cjs/autoComplete/autoComplete.scss +2 -0
  89. package/lib/cjs/autoComplete/constants.js +3 -6
  90. package/lib/cjs/autoComplete/foundation.d.ts +3 -1
  91. package/lib/cjs/autoComplete/foundation.js +37 -149
  92. package/lib/cjs/autoComplete/optionFoundation.js +2 -14
  93. package/lib/cjs/avatar/animation.scss +19 -0
  94. package/lib/cjs/avatar/avatar.css +261 -0
  95. package/lib/cjs/avatar/avatar.scss +314 -1
  96. package/lib/cjs/avatar/constants.js +1 -4
  97. package/lib/cjs/avatar/foundation.d.ts +3 -0
  98. package/lib/cjs/avatar/foundation.js +21 -19
  99. package/lib/cjs/avatar/variables.scss +66 -10
  100. package/lib/cjs/backtop/constants.js +1 -3
  101. package/lib/cjs/backtop/foundation.d.ts +2 -2
  102. package/lib/cjs/backtop/foundation.js +0 -21
  103. package/lib/cjs/badge/badge.css +10 -0
  104. package/lib/cjs/badge/badge.scss +13 -0
  105. package/lib/cjs/badge/constants.js +2 -4
  106. package/lib/cjs/badge/variables.scss +4 -0
  107. package/lib/cjs/banner/constants.js +1 -3
  108. package/lib/cjs/banner/foundation.js +0 -7
  109. package/lib/cjs/base/constants.js +2 -4
  110. package/lib/cjs/base/foundation.d.ts +3 -3
  111. package/lib/cjs/base/foundation.js +12 -46
  112. package/lib/cjs/base/index.js +0 -3
  113. package/lib/cjs/breadcrumb/breadcrumb.css +5 -3
  114. package/lib/cjs/breadcrumb/breadcrumb.scss +10 -4
  115. package/lib/cjs/breadcrumb/constants.js +1 -3
  116. package/lib/cjs/breadcrumb/foundation.js +0 -13
  117. package/lib/cjs/breadcrumb/itemFoundation.js +0 -7
  118. package/lib/cjs/breadcrumb/variables.scss +4 -0
  119. package/lib/cjs/button/button.css +32 -5
  120. package/lib/cjs/button/button.scss +88 -21
  121. package/lib/cjs/button/constants.js +1 -3
  122. package/lib/cjs/button/iconButton.css +1 -0
  123. package/lib/cjs/button/iconButton.scss +1 -0
  124. package/lib/cjs/button/splitButtonGroup.scss +10 -9
  125. package/lib/cjs/button/variables.scss +13 -0
  126. package/lib/cjs/calendar/calendar.css +2 -2
  127. package/lib/cjs/calendar/calendar.scss +1 -1
  128. package/lib/cjs/calendar/constants.js +1 -3
  129. package/lib/cjs/calendar/eventUtil.d.ts +7 -6
  130. package/lib/cjs/calendar/eventUtil.js +15 -83
  131. package/lib/cjs/calendar/foundation.d.ts +4 -4
  132. package/lib/cjs/calendar/foundation.js +32 -128
  133. package/lib/cjs/card/constants.js +1 -3
  134. package/lib/cjs/carousel/carousel.css +4 -0
  135. package/lib/cjs/carousel/carousel.scss +4 -0
  136. package/lib/cjs/carousel/constants.js +9 -11
  137. package/lib/cjs/carousel/foundation.d.ts +2 -0
  138. package/lib/cjs/carousel/foundation.js +7 -52
  139. package/lib/cjs/cascader/cascader.css +45 -4
  140. package/lib/cjs/cascader/cascader.scss +66 -23
  141. package/lib/cjs/cascader/constants.d.ts +3 -0
  142. package/lib/cjs/cascader/constants.js +9 -8
  143. package/lib/cjs/cascader/foundation.d.ts +27 -8
  144. package/lib/cjs/cascader/foundation.js +122 -300
  145. package/lib/cjs/cascader/util.d.ts +9 -1
  146. package/lib/cjs/cascader/util.js +69 -33
  147. package/lib/cjs/cascader/variables.scss +5 -1
  148. package/lib/cjs/checkbox/checkbox.css +0 -1
  149. package/lib/cjs/checkbox/checkbox.scss +0 -1
  150. package/lib/cjs/checkbox/checkboxFoundation.js +1 -38
  151. package/lib/cjs/checkbox/checkboxGroupFoundation.js +1 -23
  152. package/lib/cjs/checkbox/constants.js +13 -15
  153. package/lib/cjs/collapse/constants.js +1 -3
  154. package/lib/cjs/collapse/foundation.d.ts +2 -1
  155. package/lib/cjs/collapse/foundation.js +2 -13
  156. package/lib/cjs/collapsible/constants.js +1 -3
  157. package/lib/cjs/collapsible/foundation.js +0 -9
  158. package/lib/cjs/datePicker/_utils/formatter.js +4 -10
  159. package/lib/cjs/datePicker/_utils/getDayOfWeek.d.ts +1 -1
  160. package/lib/cjs/datePicker/_utils/getDayOfWeek.js +0 -4
  161. package/lib/cjs/datePicker/_utils/getDefaultFormatToken.d.ts +1 -0
  162. package/lib/cjs/datePicker/_utils/getDefaultFormatToken.js +2 -6
  163. package/lib/cjs/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
  164. package/lib/cjs/datePicker/_utils/getDefaultPickerDate.js +0 -15
  165. package/lib/cjs/datePicker/_utils/getFullDateOffset.js +0 -7
  166. package/lib/cjs/datePicker/_utils/getInsetInputFormatToken.js +2 -6
  167. package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +1 -6
  168. package/lib/cjs/datePicker/_utils/getMonthTable.d.ts +1 -1
  169. package/lib/cjs/datePicker/_utils/getMonthTable.js +7 -18
  170. package/lib/cjs/datePicker/_utils/getMonthsInYear.js +1 -3
  171. package/lib/cjs/datePicker/_utils/getYears.d.ts +1 -1
  172. package/lib/cjs/datePicker/_utils/getYears.js +9 -7
  173. package/lib/cjs/datePicker/_utils/index.js +0 -13
  174. package/lib/cjs/datePicker/_utils/isAfter.js +0 -4
  175. package/lib/cjs/datePicker/_utils/isBefore.js +0 -4
  176. package/lib/cjs/datePicker/_utils/isBetween.js +0 -4
  177. package/lib/cjs/datePicker/_utils/isDate.js +0 -1
  178. package/lib/cjs/datePicker/_utils/isSameDay.js +0 -4
  179. package/lib/cjs/datePicker/_utils/isTimestamp.js +0 -4
  180. package/lib/cjs/datePicker/_utils/isUnixTimestamp.js +0 -4
  181. package/lib/cjs/datePicker/_utils/isValidDate.js +0 -1
  182. package/lib/cjs/datePicker/_utils/isValidTimeZone.d.ts +1 -0
  183. package/lib/cjs/datePicker/_utils/isValidTimeZone.js +9 -0
  184. package/lib/cjs/datePicker/_utils/isWithinInterval.js +0 -4
  185. package/lib/cjs/datePicker/_utils/parser.js +0 -10
  186. package/lib/cjs/datePicker/constants.d.ts +1 -1
  187. package/lib/cjs/datePicker/constants.js +28 -31
  188. package/lib/cjs/datePicker/datePicker.css +88 -13
  189. package/lib/cjs/datePicker/datePicker.scss +170 -21
  190. package/lib/cjs/datePicker/foundation.d.ts +79 -50
  191. package/lib/cjs/datePicker/foundation.js +173 -441
  192. package/lib/cjs/datePicker/inputFoundation.d.ts +15 -6
  193. package/lib/cjs/datePicker/inputFoundation.js +35 -98
  194. package/lib/cjs/datePicker/monthFoundation.d.ts +1 -1
  195. package/lib/cjs/datePicker/monthFoundation.js +2 -28
  196. package/lib/cjs/datePicker/monthsGridFoundation.d.ts +18 -13
  197. package/lib/cjs/datePicker/monthsGridFoundation.js +70 -247
  198. package/lib/cjs/datePicker/variables.scss +13 -4
  199. package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +68 -13
  200. package/lib/cjs/datePicker/yearAndMonthFoundation.js +55 -42
  201. package/lib/cjs/descriptions/constants.d.ts +1 -0
  202. package/lib/cjs/descriptions/constants.js +3 -4
  203. package/lib/cjs/descriptions/descriptions.css +15 -0
  204. package/lib/cjs/descriptions/descriptions.scss +20 -0
  205. package/lib/cjs/descriptions/foundation.d.ts +7 -0
  206. package/lib/cjs/descriptions/foundation.js +45 -0
  207. package/lib/cjs/descriptions/variables.scss +10 -0
  208. package/lib/cjs/divider/constants.js +1 -3
  209. package/lib/cjs/dropdown/constants.js +4 -7
  210. package/lib/cjs/dropdown/dropdown.css +4 -0
  211. package/lib/cjs/dropdown/dropdown.scss +5 -0
  212. package/lib/cjs/dropdown/foundation.js +9 -25
  213. package/lib/cjs/dropdown/menuFoundation.js +9 -28
  214. package/lib/cjs/empty/constants.js +1 -3
  215. package/lib/cjs/form/constants.d.ts +1 -0
  216. package/lib/cjs/form/constants.js +3 -4
  217. package/lib/cjs/form/form.css +4 -0
  218. package/lib/cjs/form/form.scss +5 -2
  219. package/lib/cjs/form/foundation.d.ts +4 -4
  220. package/lib/cjs/form/foundation.js +84 -214
  221. package/lib/cjs/form/interface.d.ts +10 -10
  222. package/lib/cjs/form/utils.d.ts +10 -1
  223. package/lib/cjs/form/utils.js +85 -93
  224. package/lib/cjs/form/variables.scss +3 -0
  225. package/lib/cjs/grid/constants.js +1 -3
  226. package/lib/cjs/grid/grid.css +1 -1
  227. package/lib/cjs/grid/grid.scss +1 -1
  228. package/lib/cjs/highlight/constants.js +1 -3
  229. package/lib/cjs/icons/constants.js +1 -3
  230. package/lib/cjs/image/constants.d.ts +4 -1
  231. package/lib/cjs/image/constants.js +7 -5
  232. package/lib/cjs/image/image.css +4 -2
  233. package/lib/cjs/image/image.scss +9 -5
  234. package/lib/cjs/image/imageFoundation.js +4 -18
  235. package/lib/cjs/image/previewFooterFoundation.d.ts +0 -1
  236. package/lib/cjs/image/previewFooterFoundation.js +0 -14
  237. package/lib/cjs/image/previewFoundation.js +0 -11
  238. package/lib/cjs/image/previewImageFoundation.d.ts +9 -24
  239. package/lib/cjs/image/previewImageFoundation.js +79 -164
  240. package/lib/cjs/image/previewInnerFoundation.d.ts +19 -15
  241. package/lib/cjs/image/previewInnerFoundation.js +108 -114
  242. package/lib/cjs/image/utils.d.ts +1 -1
  243. package/lib/cjs/image/utils.js +46 -35
  244. package/lib/cjs/image/variables.scss +1 -1
  245. package/lib/cjs/input/constants.js +1 -3
  246. package/lib/cjs/input/foundation.js +19 -104
  247. package/lib/cjs/input/input.css +45 -1
  248. package/lib/cjs/input/input.scss +48 -3
  249. package/lib/cjs/input/textarea.css +20 -0
  250. package/lib/cjs/input/textarea.scss +34 -0
  251. package/lib/cjs/input/textareaFoundation.d.ts +1 -1
  252. package/lib/cjs/input/textareaFoundation.js +58 -101
  253. package/lib/cjs/input/util/calculateNodeHeight.js +6 -18
  254. package/lib/cjs/input/util/getSizingData.js +7 -11
  255. package/lib/cjs/input/variables.scss +7 -0
  256. package/lib/cjs/inputNumber/constants.js +0 -2
  257. package/lib/cjs/inputNumber/foundation.js +28 -197
  258. package/lib/cjs/inputNumber/inputNumber.css +4 -0
  259. package/lib/cjs/inputNumber/inputNumber.scss +9 -0
  260. package/lib/cjs/layout/constants.js +1 -3
  261. package/lib/cjs/list/constants.js +1 -3
  262. package/lib/cjs/modal/constants.js +1 -3
  263. package/lib/cjs/modal/modal.css +8 -0
  264. package/lib/cjs/modal/modal.scss +10 -1
  265. package/lib/cjs/modal/modalContentFoundation.js +0 -20
  266. package/lib/cjs/modal/modalFoundation.d.ts +8 -4
  267. package/lib/cjs/modal/modalFoundation.js +40 -15
  268. package/lib/cjs/modal/variables.scss +6 -1
  269. package/lib/cjs/navigation/NavItem.js +0 -12
  270. package/lib/cjs/navigation/constants.js +1 -4
  271. package/lib/cjs/navigation/foundation.js +3 -70
  272. package/lib/cjs/navigation/itemFoundation.js +3 -22
  273. package/lib/cjs/navigation/subNavFoundation.js +7 -42
  274. package/lib/cjs/notification/constants.js +3 -6
  275. package/lib/cjs/notification/notification.css +18 -0
  276. package/lib/cjs/notification/notification.scss +21 -1
  277. package/lib/cjs/notification/notificationFoundation.d.ts +6 -6
  278. package/lib/cjs/notification/notificationFoundation.js +0 -16
  279. package/lib/cjs/notification/notificationListFoundation.d.ts +4 -1
  280. package/lib/cjs/notification/notificationListFoundation.js +15 -18
  281. package/lib/cjs/overflowList/constants.d.ts +6 -4
  282. package/lib/cjs/overflowList/constants.js +3 -3
  283. package/lib/cjs/overflowList/foundation.d.ts +3 -1
  284. package/lib/cjs/overflowList/foundation.js +59 -68
  285. package/lib/cjs/pagination/constants.js +1 -3
  286. package/lib/cjs/pagination/foundation.d.ts +5 -3
  287. package/lib/cjs/pagination/foundation.js +36 -93
  288. package/lib/cjs/pagination/pagination.css +23 -0
  289. package/lib/cjs/pagination/pagination.scss +29 -0
  290. package/lib/cjs/pagination/variables.scss +1 -0
  291. package/lib/cjs/popconfirm/constants.js +2 -4
  292. package/lib/cjs/popconfirm/popconfirm.css +4 -24
  293. package/lib/cjs/popconfirm/popconfirm.scss +4 -16
  294. package/lib/cjs/popconfirm/popconfirmFoundation.d.ts +4 -0
  295. package/lib/cjs/popconfirm/popconfirmFoundation.js +17 -19
  296. package/lib/cjs/popconfirm/rtl.scss +0 -13
  297. package/lib/cjs/popconfirm/variables.scss +0 -4
  298. package/lib/cjs/popover/constants.d.ts +1 -1
  299. package/lib/cjs/popover/constants.js +3 -6
  300. package/lib/cjs/popover/popover.css +2 -0
  301. package/lib/cjs/popover/popover.scss +2 -0
  302. package/lib/cjs/progress/constants.js +1 -3
  303. package/lib/cjs/progress/generates.d.ts +2 -2
  304. package/lib/cjs/progress/generates.js +33 -74
  305. package/lib/cjs/radio/constants.js +13 -15
  306. package/lib/cjs/radio/radio.css +3 -0
  307. package/lib/cjs/radio/radio.scss +6 -3
  308. package/lib/cjs/radio/radioFoundation.js +0 -14
  309. package/lib/cjs/radio/radioGroupFoundation.js +3 -23
  310. package/lib/cjs/radio/radioInnerFoundation.js +1 -19
  311. package/lib/cjs/radio/variables.scss +4 -0
  312. package/lib/cjs/rating/constants.js +1 -3
  313. package/lib/cjs/rating/foundation.js +10 -62
  314. package/lib/cjs/scrollList/constants.js +2 -4
  315. package/lib/cjs/scrollList/foundation.js +0 -4
  316. package/lib/cjs/scrollList/itemFoundation.js +8 -61
  317. package/lib/cjs/scrollList/scrollTo.js +2 -5
  318. package/lib/cjs/select/constants.js +3 -6
  319. package/lib/cjs/select/foundation.d.ts +8 -6
  320. package/lib/cjs/select/foundation.js +172 -434
  321. package/lib/cjs/select/option.scss +1 -1
  322. package/lib/cjs/select/optionFoundation.js +2 -14
  323. package/lib/cjs/select/select.css +50 -0
  324. package/lib/cjs/select/select.scss +74 -5
  325. package/lib/cjs/select/variables.scss +9 -6
  326. package/lib/cjs/sideSheet/constants.js +2 -4
  327. package/lib/cjs/sideSheet/sideSheet.css +30 -0
  328. package/lib/cjs/sideSheet/sideSheet.scss +38 -0
  329. package/lib/cjs/sideSheet/sideSheetFoundation.d.ts +1 -0
  330. package/lib/cjs/sideSheet/sideSheetFoundation.js +0 -18
  331. package/lib/cjs/sideSheet/variables.scss +7 -0
  332. package/lib/cjs/skeleton/constants.js +1 -3
  333. package/lib/cjs/skeleton/skeleton.css +3 -2
  334. package/lib/cjs/skeleton/skeleton.scss +1 -0
  335. package/lib/cjs/skeleton/variables.scss +2 -2
  336. package/lib/cjs/slider/constants.d.ts +1 -0
  337. package/lib/cjs/slider/constants.js +8 -9
  338. package/lib/cjs/slider/foundation.d.ts +13 -2
  339. package/lib/cjs/slider/foundation.js +30 -226
  340. package/lib/cjs/slider/slider.css +25 -11
  341. package/lib/cjs/slider/slider.scss +16 -1
  342. package/lib/cjs/slider/variables.scss +15 -9
  343. package/lib/cjs/space/constants.js +1 -3
  344. package/lib/cjs/spin/constants.js +1 -3
  345. package/lib/cjs/spin/foundation.js +3 -13
  346. package/lib/cjs/spin/spin.css +3 -0
  347. package/lib/cjs/spin/spin.scss +3 -0
  348. package/lib/cjs/steps/bacisSteps.scss +10 -3
  349. package/lib/cjs/steps/constants.js +2 -4
  350. package/lib/cjs/steps/fillSteps.scss +7 -7
  351. package/lib/cjs/steps/steps.css +27 -22
  352. package/lib/cjs/steps/variables.scss +3 -3
  353. package/lib/cjs/switch/constants.js +13 -15
  354. package/lib/cjs/switch/foundation.js +1 -21
  355. package/lib/cjs/switch/switch.css +10 -0
  356. package/lib/cjs/switch/switch.scss +13 -2
  357. package/lib/cjs/table/bodyFoundation.js +1 -34
  358. package/lib/cjs/table/cellFoundation.js +0 -5
  359. package/lib/cjs/table/constants.d.ts +0 -1
  360. package/lib/cjs/table/constants.js +13 -18
  361. package/lib/cjs/table/foundation.d.ts +26 -16
  362. package/lib/cjs/table/foundation.js +79 -308
  363. package/lib/cjs/table/rtl.scss +33 -2
  364. package/lib/cjs/table/table.css +100 -64
  365. package/lib/cjs/table/table.scss +66 -8
  366. package/lib/cjs/table/tableRowFoundation.js +0 -12
  367. package/lib/cjs/table/tableSelectionCellFoundation.js +0 -6
  368. package/lib/cjs/table/utils.d.ts +6 -4
  369. package/lib/cjs/table/utils.js +27 -160
  370. package/lib/cjs/table/variables.scss +6 -3
  371. package/lib/cjs/tabs/constants.js +21 -23
  372. package/lib/cjs/tabs/foundation.js +2 -40
  373. package/lib/cjs/tabs/tabs.css +207 -7
  374. package/lib/cjs/tabs/tabs.scss +339 -24
  375. package/lib/cjs/tag/constants.js +1 -4
  376. package/lib/cjs/tag/tag.css +34 -1
  377. package/lib/cjs/tag/tag.scss +43 -4
  378. package/lib/cjs/tag/variables.scss +5 -0
  379. package/lib/cjs/tagInput/constants.js +1 -3
  380. package/lib/cjs/tagInput/foundation.d.ts +7 -4
  381. package/lib/cjs/tagInput/foundation.js +64 -88
  382. package/lib/cjs/tagInput/tagInput.css +35 -9
  383. package/lib/cjs/tagInput/tagInput.scss +41 -12
  384. package/lib/cjs/tagInput/utils/getSplitedArray.js +0 -11
  385. package/lib/cjs/tagInput/variables.scss +2 -0
  386. package/lib/cjs/timePicker/ComboxFoundation.js +6 -41
  387. package/lib/cjs/timePicker/constants.js +3 -6
  388. package/lib/cjs/timePicker/foundation.d.ts +2 -2
  389. package/lib/cjs/timePicker/foundation.js +28 -107
  390. package/lib/cjs/timePicker/inputFoundation.js +4 -25
  391. package/lib/cjs/timePicker/timePicker.css +15 -0
  392. package/lib/cjs/timePicker/timePicker.scss +22 -1
  393. package/lib/cjs/timePicker/utils/index.js +12 -51
  394. package/lib/cjs/timePicker/utils/localeDate.js +0 -10
  395. package/lib/cjs/timeline/constants.js +2 -4
  396. package/lib/cjs/toast/animation.scss +3 -0
  397. package/lib/cjs/toast/constants.js +3 -6
  398. package/lib/cjs/toast/toast.css +35 -3
  399. package/lib/cjs/toast/toast.scss +43 -3
  400. package/lib/cjs/toast/toastFoundation.d.ts +5 -4
  401. package/lib/cjs/toast/toastFoundation.js +0 -14
  402. package/lib/cjs/toast/toastListFoundation.d.ts +5 -0
  403. package/lib/cjs/toast/toastListFoundation.js +10 -22
  404. package/lib/cjs/toast/variables.scss +14 -0
  405. package/lib/cjs/tooltip/constants.d.ts +1 -1
  406. package/lib/cjs/tooltip/constants.js +2 -4
  407. package/lib/cjs/tooltip/foundation.d.ts +5 -2
  408. package/lib/cjs/tooltip/foundation.js +143 -336
  409. package/lib/cjs/tooltip/tooltip.css +7 -0
  410. package/lib/cjs/tooltip/tooltip.scss +9 -0
  411. package/lib/cjs/transfer/constants.js +1 -3
  412. package/lib/cjs/transfer/foundation.d.ts +1 -1
  413. package/lib/cjs/transfer/foundation.js +4 -69
  414. package/lib/cjs/transfer/transfer.css +4 -0
  415. package/lib/cjs/transfer/transfer.scss +7 -0
  416. package/lib/cjs/transfer/transferUtils.js +5 -27
  417. package/lib/cjs/tree/constants.js +2 -4
  418. package/lib/cjs/tree/foundation.d.ts +14 -9
  419. package/lib/cjs/tree/foundation.js +60 -183
  420. package/lib/cjs/tree/rtl.scss +19 -11
  421. package/lib/cjs/tree/tree.css +147 -65
  422. package/lib/cjs/tree/tree.scss +112 -17
  423. package/lib/cjs/tree/treeUtil.d.ts +17 -8
  424. package/lib/cjs/tree/treeUtil.js +102 -195
  425. package/lib/cjs/tree/variables.scss +3 -2
  426. package/lib/cjs/treeSelect/constants.js +3 -5
  427. package/lib/cjs/treeSelect/foundation.d.ts +26 -13
  428. package/lib/cjs/treeSelect/foundation.js +153 -248
  429. package/lib/cjs/treeSelect/treeSelect.css +55 -10
  430. package/lib/cjs/treeSelect/treeSelect.scss +76 -20
  431. package/lib/cjs/treeSelect/variables.scss +4 -2
  432. package/lib/cjs/typography/constants.d.ts +1 -0
  433. package/lib/cjs/typography/constants.js +2 -3
  434. package/lib/cjs/typography/formatNumeral.d.ts +3 -3
  435. package/lib/cjs/typography/formatNumeral.js +22 -43
  436. package/lib/cjs/typography/typography.css +135 -2
  437. package/lib/cjs/typography/typography.scss +151 -8
  438. package/lib/cjs/typography/variables.scss +52 -0
  439. package/lib/cjs/upload/constants.js +2 -4
  440. package/lib/cjs/upload/fileCardFoundation.d.ts +9 -0
  441. package/lib/cjs/upload/fileCardFoundation.js +18 -0
  442. package/lib/cjs/upload/foundation.d.ts +14 -5
  443. package/lib/cjs/upload/foundation.js +107 -247
  444. package/lib/cjs/upload/upload.css +9 -0
  445. package/lib/cjs/upload/upload.scss +8 -0
  446. package/lib/cjs/upload/utils.js +14 -33
  447. package/lib/cjs/utils/Event.js +1 -21
  448. package/lib/cjs/utils/FocusHandle.d.ts +1 -1
  449. package/lib/cjs/utils/FocusHandle.js +6 -35
  450. package/lib/cjs/utils/Logger.js +0 -21
  451. package/lib/cjs/utils/Store.js +0 -10
  452. package/lib/cjs/utils/a11y.js +18 -43
  453. package/lib/cjs/utils/array.d.ts +2 -2
  454. package/lib/cjs/utils/array.js +2 -9
  455. package/lib/cjs/utils/arrayMove.js +0 -1
  456. package/lib/cjs/utils/classnames.js +0 -12
  457. package/lib/cjs/utils/date-fns-extra.d.ts +28 -17
  458. package/lib/cjs/utils/date-fns-extra.js +82 -51
  459. package/lib/cjs/utils/dom.d.ts +1 -1
  460. package/lib/cjs/utils/dom.js +0 -13
  461. package/lib/cjs/utils/function.js +0 -2
  462. package/lib/cjs/utils/getDataAttr.js +1 -3
  463. package/lib/cjs/utils/getHighlight.js +5 -26
  464. package/lib/cjs/utils/getMotionObjFromProps.js +4 -16
  465. package/lib/cjs/utils/index.js +0 -4
  466. package/lib/cjs/utils/isBothNaN.js +0 -2
  467. package/lib/cjs/utils/isElement.js +0 -1
  468. package/lib/cjs/utils/isEnterPress.js +0 -5
  469. package/lib/cjs/utils/isEscPress.js +0 -5
  470. package/lib/cjs/utils/isNullOrUndefined.js +0 -1
  471. package/lib/cjs/utils/isNumber.js +0 -1
  472. package/lib/cjs/utils/isObject.js +0 -1
  473. package/lib/cjs/utils/isPromise.js +0 -3
  474. package/lib/cjs/utils/isString.js +0 -1
  475. package/lib/cjs/utils/keyCode.js +0 -105
  476. package/lib/cjs/utils/log.js +0 -5
  477. package/lib/cjs/utils/number.js +0 -2
  478. package/lib/cjs/utils/object.d.ts +4 -4
  479. package/lib/cjs/utils/object.js +10 -36
  480. package/lib/cjs/utils/set.js +0 -8
  481. package/lib/cjs/utils/shallowEqualObjects.js +0 -7
  482. package/lib/cjs/utils/touchPolyfill.js +1 -8
  483. package/lib/cjs/utils/type.d.ts +3 -3
  484. package/lib/cjs/utils/uuid.js +4 -11
  485. package/lib/cjs/utils/warning.js +1 -2
  486. package/lib/es/anchor/anchor.css +5 -0
  487. package/lib/es/anchor/anchor.scss +6 -0
  488. package/lib/es/anchor/constants.js +1 -1
  489. package/lib/es/anchor/foundation.js +20 -73
  490. package/lib/es/anchor/linkFoundation.js +3 -12
  491. package/lib/es/anchor/variables.scss +4 -0
  492. package/lib/es/autoComplete/autoComplete.css +1 -0
  493. package/lib/es/autoComplete/autoComplete.scss +2 -0
  494. package/lib/es/autoComplete/constants.js +3 -3
  495. package/lib/es/autoComplete/foundation.d.ts +3 -1
  496. package/lib/es/autoComplete/foundation.js +37 -142
  497. package/lib/es/autoComplete/optionFoundation.js +2 -10
  498. package/lib/es/avatar/animation.scss +19 -0
  499. package/lib/es/avatar/avatar.css +261 -0
  500. package/lib/es/avatar/avatar.scss +314 -1
  501. package/lib/es/avatar/constants.js +1 -2
  502. package/lib/es/avatar/foundation.d.ts +3 -0
  503. package/lib/es/avatar/foundation.js +21 -14
  504. package/lib/es/avatar/variables.scss +66 -10
  505. package/lib/es/backtop/constants.js +1 -1
  506. package/lib/es/backtop/foundation.d.ts +2 -2
  507. package/lib/es/backtop/foundation.js +0 -16
  508. package/lib/es/badge/badge.css +10 -0
  509. package/lib/es/badge/badge.scss +13 -0
  510. package/lib/es/badge/constants.js +2 -2
  511. package/lib/es/badge/variables.scss +4 -0
  512. package/lib/es/banner/constants.js +1 -1
  513. package/lib/es/banner/foundation.js +0 -3
  514. package/lib/es/base/constants.js +2 -2
  515. package/lib/es/base/foundation.d.ts +3 -3
  516. package/lib/es/base/foundation.js +11 -44
  517. package/lib/es/breadcrumb/breadcrumb.css +5 -3
  518. package/lib/es/breadcrumb/breadcrumb.scss +10 -4
  519. package/lib/es/breadcrumb/constants.js +1 -1
  520. package/lib/es/breadcrumb/foundation.js +0 -8
  521. package/lib/es/breadcrumb/itemFoundation.js +0 -3
  522. package/lib/es/breadcrumb/variables.scss +4 -0
  523. package/lib/es/button/button.css +32 -5
  524. package/lib/es/button/button.scss +88 -21
  525. package/lib/es/button/constants.js +1 -1
  526. package/lib/es/button/iconButton.css +1 -0
  527. package/lib/es/button/iconButton.scss +1 -0
  528. package/lib/es/button/splitButtonGroup.scss +10 -9
  529. package/lib/es/button/variables.scss +13 -0
  530. package/lib/es/calendar/calendar.css +2 -2
  531. package/lib/es/calendar/calendar.scss +1 -1
  532. package/lib/es/calendar/constants.js +1 -1
  533. package/lib/es/calendar/eventUtil.d.ts +7 -6
  534. package/lib/es/calendar/eventUtil.js +15 -45
  535. package/lib/es/calendar/foundation.d.ts +4 -4
  536. package/lib/es/calendar/foundation.js +32 -122
  537. package/lib/es/card/constants.js +1 -1
  538. package/lib/es/carousel/carousel.css +4 -0
  539. package/lib/es/carousel/carousel.scss +4 -0
  540. package/lib/es/carousel/constants.js +9 -9
  541. package/lib/es/carousel/foundation.d.ts +2 -0
  542. package/lib/es/carousel/foundation.js +7 -47
  543. package/lib/es/cascader/cascader.css +45 -4
  544. package/lib/es/cascader/cascader.scss +66 -23
  545. package/lib/es/cascader/constants.d.ts +3 -0
  546. package/lib/es/cascader/constants.js +7 -5
  547. package/lib/es/cascader/foundation.d.ts +27 -8
  548. package/lib/es/cascader/foundation.js +125 -286
  549. package/lib/es/cascader/util.d.ts +9 -1
  550. package/lib/es/cascader/util.js +65 -24
  551. package/lib/es/cascader/variables.scss +5 -1
  552. package/lib/es/checkbox/checkbox.css +0 -1
  553. package/lib/es/checkbox/checkbox.scss +0 -1
  554. package/lib/es/checkbox/checkboxFoundation.js +1 -34
  555. package/lib/es/checkbox/checkboxGroupFoundation.js +1 -20
  556. package/lib/es/checkbox/constants.js +13 -13
  557. package/lib/es/collapse/constants.js +1 -1
  558. package/lib/es/collapse/foundation.d.ts +2 -1
  559. package/lib/es/collapse/foundation.js +2 -9
  560. package/lib/es/collapsible/constants.js +1 -1
  561. package/lib/es/collapsible/foundation.js +0 -7
  562. package/lib/es/datePicker/_utils/formatter.js +4 -8
  563. package/lib/es/datePicker/_utils/getDayOfWeek.d.ts +1 -1
  564. package/lib/es/datePicker/_utils/getDayOfWeek.js +0 -3
  565. package/lib/es/datePicker/_utils/getDefaultFormatToken.d.ts +1 -0
  566. package/lib/es/datePicker/_utils/getDefaultFormatToken.js +2 -3
  567. package/lib/es/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
  568. package/lib/es/datePicker/_utils/getDefaultPickerDate.js +0 -10
  569. package/lib/es/datePicker/_utils/getFullDateOffset.js +0 -3
  570. package/lib/es/datePicker/_utils/getInsetInputFormatToken.js +2 -5
  571. package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +1 -5
  572. package/lib/es/datePicker/_utils/getMonthTable.d.ts +1 -1
  573. package/lib/es/datePicker/_utils/getMonthTable.js +8 -18
  574. package/lib/es/datePicker/_utils/getMonthsInYear.js +1 -2
  575. package/lib/es/datePicker/_utils/getYears.d.ts +1 -1
  576. package/lib/es/datePicker/_utils/getYears.js +9 -6
  577. package/lib/es/datePicker/_utils/isBetween.js +0 -1
  578. package/lib/es/datePicker/_utils/isValidTimeZone.d.ts +1 -0
  579. package/lib/es/datePicker/_utils/isValidTimeZone.js +3 -0
  580. package/lib/es/datePicker/_utils/parser.js +0 -8
  581. package/lib/es/datePicker/constants.d.ts +1 -1
  582. package/lib/es/datePicker/constants.js +28 -28
  583. package/lib/es/datePicker/datePicker.css +88 -13
  584. package/lib/es/datePicker/datePicker.scss +170 -21
  585. package/lib/es/datePicker/foundation.d.ts +79 -50
  586. package/lib/es/datePicker/foundation.js +173 -426
  587. package/lib/es/datePicker/inputFoundation.d.ts +15 -6
  588. package/lib/es/datePicker/inputFoundation.js +35 -85
  589. package/lib/es/datePicker/monthFoundation.d.ts +1 -1
  590. package/lib/es/datePicker/monthFoundation.js +3 -22
  591. package/lib/es/datePicker/monthsGridFoundation.d.ts +18 -13
  592. package/lib/es/datePicker/monthsGridFoundation.js +70 -231
  593. package/lib/es/datePicker/variables.scss +13 -4
  594. package/lib/es/datePicker/yearAndMonthFoundation.d.ts +68 -13
  595. package/lib/es/datePicker/yearAndMonthFoundation.js +55 -37
  596. package/lib/es/descriptions/constants.d.ts +1 -0
  597. package/lib/es/descriptions/constants.js +3 -2
  598. package/lib/es/descriptions/descriptions.css +15 -0
  599. package/lib/es/descriptions/descriptions.scss +20 -0
  600. package/lib/es/descriptions/foundation.d.ts +7 -0
  601. package/lib/es/descriptions/foundation.js +37 -0
  602. package/lib/es/descriptions/variables.scss +10 -0
  603. package/lib/es/divider/constants.js +1 -1
  604. package/lib/es/dropdown/constants.js +4 -4
  605. package/lib/es/dropdown/dropdown.css +4 -0
  606. package/lib/es/dropdown/dropdown.scss +5 -0
  607. package/lib/es/dropdown/foundation.js +9 -20
  608. package/lib/es/dropdown/menuFoundation.js +9 -23
  609. package/lib/es/empty/constants.js +1 -1
  610. package/lib/es/form/constants.d.ts +1 -0
  611. package/lib/es/form/constants.js +3 -2
  612. package/lib/es/form/form.css +4 -0
  613. package/lib/es/form/form.scss +5 -2
  614. package/lib/es/form/foundation.d.ts +4 -4
  615. package/lib/es/form/foundation.js +84 -203
  616. package/lib/es/form/interface.d.ts +10 -10
  617. package/lib/es/form/utils.d.ts +10 -1
  618. package/lib/es/form/utils.js +83 -86
  619. package/lib/es/form/variables.scss +3 -0
  620. package/lib/es/grid/constants.js +1 -1
  621. package/lib/es/grid/grid.css +1 -1
  622. package/lib/es/grid/grid.scss +1 -1
  623. package/lib/es/highlight/constants.js +1 -1
  624. package/lib/es/icons/constants.js +1 -1
  625. package/lib/es/image/constants.d.ts +4 -1
  626. package/lib/es/image/constants.js +5 -2
  627. package/lib/es/image/image.css +4 -2
  628. package/lib/es/image/image.scss +9 -5
  629. package/lib/es/image/imageFoundation.js +4 -13
  630. package/lib/es/image/previewFooterFoundation.d.ts +0 -1
  631. package/lib/es/image/previewFooterFoundation.js +0 -10
  632. package/lib/es/image/previewFoundation.js +0 -7
  633. package/lib/es/image/previewImageFoundation.d.ts +9 -24
  634. package/lib/es/image/previewImageFoundation.js +79 -156
  635. package/lib/es/image/previewInnerFoundation.d.ts +19 -15
  636. package/lib/es/image/previewInnerFoundation.js +108 -107
  637. package/lib/es/image/utils.d.ts +1 -1
  638. package/lib/es/image/utils.js +46 -27
  639. package/lib/es/image/variables.scss +1 -1
  640. package/lib/es/input/constants.js +1 -1
  641. package/lib/es/input/foundation.js +19 -96
  642. package/lib/es/input/input.css +45 -1
  643. package/lib/es/input/input.scss +48 -3
  644. package/lib/es/input/textarea.css +20 -0
  645. package/lib/es/input/textarea.scss +34 -0
  646. package/lib/es/input/textareaFoundation.d.ts +1 -1
  647. package/lib/es/input/textareaFoundation.js +58 -91
  648. package/lib/es/input/util/calculateNodeHeight.js +6 -18
  649. package/lib/es/input/util/getSizingData.js +7 -11
  650. package/lib/es/input/variables.scss +7 -0
  651. package/lib/es/inputNumber/foundation.js +28 -188
  652. package/lib/es/inputNumber/inputNumber.css +4 -0
  653. package/lib/es/inputNumber/inputNumber.scss +9 -0
  654. package/lib/es/layout/constants.js +1 -1
  655. package/lib/es/list/constants.js +1 -1
  656. package/lib/es/modal/constants.js +1 -1
  657. package/lib/es/modal/modal.css +8 -0
  658. package/lib/es/modal/modal.scss +10 -1
  659. package/lib/es/modal/modalContentFoundation.js +0 -15
  660. package/lib/es/modal/modalFoundation.d.ts +8 -4
  661. package/lib/es/modal/modalFoundation.js +40 -11
  662. package/lib/es/modal/variables.scss +6 -1
  663. package/lib/es/navigation/NavItem.js +0 -8
  664. package/lib/es/navigation/constants.js +2 -2
  665. package/lib/es/navigation/foundation.js +3 -63
  666. package/lib/es/navigation/itemFoundation.js +3 -19
  667. package/lib/es/navigation/subNavFoundation.js +7 -38
  668. package/lib/es/notification/constants.js +4 -4
  669. package/lib/es/notification/notification.css +18 -0
  670. package/lib/es/notification/notification.scss +21 -1
  671. package/lib/es/notification/notificationFoundation.d.ts +6 -6
  672. package/lib/es/notification/notificationFoundation.js +0 -11
  673. package/lib/es/notification/notificationListFoundation.d.ts +4 -1
  674. package/lib/es/notification/notificationListFoundation.js +15 -14
  675. package/lib/es/overflowList/constants.d.ts +6 -4
  676. package/lib/es/overflowList/constants.js +3 -1
  677. package/lib/es/overflowList/foundation.d.ts +3 -1
  678. package/lib/es/overflowList/foundation.js +59 -64
  679. package/lib/es/pagination/constants.js +1 -1
  680. package/lib/es/pagination/foundation.d.ts +5 -3
  681. package/lib/es/pagination/foundation.js +36 -90
  682. package/lib/es/pagination/pagination.css +23 -0
  683. package/lib/es/pagination/pagination.scss +29 -0
  684. package/lib/es/pagination/variables.scss +1 -0
  685. package/lib/es/popconfirm/constants.js +2 -2
  686. package/lib/es/popconfirm/popconfirm.css +4 -24
  687. package/lib/es/popconfirm/popconfirm.scss +4 -16
  688. package/lib/es/popconfirm/popconfirmFoundation.d.ts +4 -0
  689. package/lib/es/popconfirm/popconfirmFoundation.js +17 -14
  690. package/lib/es/popconfirm/rtl.scss +0 -13
  691. package/lib/es/popconfirm/variables.scss +0 -4
  692. package/lib/es/popover/constants.d.ts +1 -1
  693. package/lib/es/popover/constants.js +3 -3
  694. package/lib/es/popover/popover.css +2 -0
  695. package/lib/es/popover/popover.scss +2 -0
  696. package/lib/es/progress/constants.js +1 -1
  697. package/lib/es/progress/generates.d.ts +2 -2
  698. package/lib/es/progress/generates.js +33 -73
  699. package/lib/es/radio/constants.js +13 -13
  700. package/lib/es/radio/radio.css +3 -0
  701. package/lib/es/radio/radio.scss +6 -3
  702. package/lib/es/radio/radioFoundation.js +0 -9
  703. package/lib/es/radio/radioGroupFoundation.js +3 -19
  704. package/lib/es/radio/radioInnerFoundation.js +1 -15
  705. package/lib/es/radio/variables.scss +4 -0
  706. package/lib/es/rating/constants.js +1 -1
  707. package/lib/es/rating/foundation.js +10 -55
  708. package/lib/es/scrollList/constants.js +2 -2
  709. package/lib/es/scrollList/itemFoundation.js +8 -60
  710. package/lib/es/scrollList/scrollTo.js +2 -4
  711. package/lib/es/select/constants.js +3 -3
  712. package/lib/es/select/foundation.d.ts +8 -6
  713. package/lib/es/select/foundation.js +172 -420
  714. package/lib/es/select/option.scss +1 -1
  715. package/lib/es/select/optionFoundation.js +2 -10
  716. package/lib/es/select/select.css +50 -0
  717. package/lib/es/select/select.scss +74 -5
  718. package/lib/es/select/variables.scss +9 -6
  719. package/lib/es/sideSheet/constants.js +2 -2
  720. package/lib/es/sideSheet/sideSheet.css +30 -0
  721. package/lib/es/sideSheet/sideSheet.scss +38 -0
  722. package/lib/es/sideSheet/sideSheetFoundation.d.ts +1 -0
  723. package/lib/es/sideSheet/sideSheetFoundation.js +0 -12
  724. package/lib/es/sideSheet/variables.scss +7 -0
  725. package/lib/es/skeleton/constants.js +1 -1
  726. package/lib/es/skeleton/skeleton.css +3 -2
  727. package/lib/es/skeleton/skeleton.scss +1 -0
  728. package/lib/es/skeleton/variables.scss +2 -2
  729. package/lib/es/slider/constants.d.ts +1 -0
  730. package/lib/es/slider/constants.js +8 -7
  731. package/lib/es/slider/foundation.d.ts +13 -2
  732. package/lib/es/slider/foundation.js +30 -219
  733. package/lib/es/slider/slider.css +25 -11
  734. package/lib/es/slider/slider.scss +16 -1
  735. package/lib/es/slider/variables.scss +15 -9
  736. package/lib/es/space/constants.js +1 -1
  737. package/lib/es/spin/constants.js +1 -1
  738. package/lib/es/spin/foundation.js +3 -11
  739. package/lib/es/spin/spin.css +3 -0
  740. package/lib/es/spin/spin.scss +3 -0
  741. package/lib/es/steps/bacisSteps.scss +10 -3
  742. package/lib/es/steps/constants.js +2 -2
  743. package/lib/es/steps/fillSteps.scss +7 -7
  744. package/lib/es/steps/steps.css +27 -22
  745. package/lib/es/steps/variables.scss +3 -3
  746. package/lib/es/switch/constants.js +13 -13
  747. package/lib/es/switch/foundation.js +1 -16
  748. package/lib/es/switch/switch.css +10 -0
  749. package/lib/es/switch/switch.scss +13 -2
  750. package/lib/es/table/bodyFoundation.js +1 -25
  751. package/lib/es/table/cellFoundation.js +0 -1
  752. package/lib/es/table/constants.d.ts +0 -1
  753. package/lib/es/table/constants.js +13 -16
  754. package/lib/es/table/foundation.d.ts +26 -16
  755. package/lib/es/table/foundation.js +79 -313
  756. package/lib/es/table/rtl.scss +33 -2
  757. package/lib/es/table/table.css +100 -64
  758. package/lib/es/table/table.scss +66 -8
  759. package/lib/es/table/tableRowFoundation.js +1 -9
  760. package/lib/es/table/tableSelectionCellFoundation.js +0 -2
  761. package/lib/es/table/utils.d.ts +6 -4
  762. package/lib/es/table/utils.js +25 -119
  763. package/lib/es/table/variables.scss +6 -3
  764. package/lib/es/tabs/constants.js +21 -21
  765. package/lib/es/tabs/foundation.js +2 -35
  766. package/lib/es/tabs/tabs.css +207 -7
  767. package/lib/es/tabs/tabs.scss +339 -24
  768. package/lib/es/tag/constants.js +1 -2
  769. package/lib/es/tag/tag.css +34 -1
  770. package/lib/es/tag/tag.scss +43 -4
  771. package/lib/es/tag/variables.scss +5 -0
  772. package/lib/es/tagInput/constants.js +1 -1
  773. package/lib/es/tagInput/foundation.d.ts +7 -4
  774. package/lib/es/tagInput/foundation.js +64 -78
  775. package/lib/es/tagInput/tagInput.css +35 -9
  776. package/lib/es/tagInput/tagInput.scss +41 -12
  777. package/lib/es/tagInput/utils/getSplitedArray.js +0 -7
  778. package/lib/es/tagInput/variables.scss +2 -0
  779. package/lib/es/timePicker/ComboxFoundation.js +6 -32
  780. package/lib/es/timePicker/constants.js +3 -3
  781. package/lib/es/timePicker/foundation.d.ts +2 -2
  782. package/lib/es/timePicker/foundation.js +30 -101
  783. package/lib/es/timePicker/inputFoundation.js +4 -22
  784. package/lib/es/timePicker/timePicker.css +15 -0
  785. package/lib/es/timePicker/timePicker.scss +22 -1
  786. package/lib/es/timePicker/utils/index.js +12 -30
  787. package/lib/es/timePicker/utils/localeDate.js +0 -8
  788. package/lib/es/timeline/constants.js +2 -2
  789. package/lib/es/toast/animation.scss +3 -0
  790. package/lib/es/toast/constants.js +4 -4
  791. package/lib/es/toast/toast.css +35 -3
  792. package/lib/es/toast/toast.scss +43 -3
  793. package/lib/es/toast/toastFoundation.d.ts +5 -4
  794. package/lib/es/toast/toastFoundation.js +0 -9
  795. package/lib/es/toast/toastListFoundation.d.ts +5 -0
  796. package/lib/es/toast/toastListFoundation.js +10 -18
  797. package/lib/es/toast/variables.scss +14 -0
  798. package/lib/es/tooltip/constants.d.ts +1 -1
  799. package/lib/es/tooltip/constants.js +2 -2
  800. package/lib/es/tooltip/foundation.d.ts +5 -2
  801. package/lib/es/tooltip/foundation.js +143 -332
  802. package/lib/es/tooltip/tooltip.css +7 -0
  803. package/lib/es/tooltip/tooltip.scss +9 -0
  804. package/lib/es/transfer/constants.js +1 -1
  805. package/lib/es/transfer/foundation.d.ts +1 -1
  806. package/lib/es/transfer/foundation.js +5 -62
  807. package/lib/es/transfer/transfer.css +4 -0
  808. package/lib/es/transfer/transfer.scss +7 -0
  809. package/lib/es/transfer/transferUtils.js +5 -21
  810. package/lib/es/tree/constants.js +2 -2
  811. package/lib/es/tree/foundation.d.ts +14 -9
  812. package/lib/es/tree/foundation.js +60 -176
  813. package/lib/es/tree/rtl.scss +19 -11
  814. package/lib/es/tree/tree.css +147 -65
  815. package/lib/es/tree/tree.scss +112 -17
  816. package/lib/es/tree/treeUtil.d.ts +17 -8
  817. package/lib/es/tree/treeUtil.js +102 -161
  818. package/lib/es/tree/variables.scss +3 -2
  819. package/lib/es/treeSelect/constants.js +3 -3
  820. package/lib/es/treeSelect/foundation.d.ts +26 -13
  821. package/lib/es/treeSelect/foundation.js +155 -235
  822. package/lib/es/treeSelect/treeSelect.css +55 -10
  823. package/lib/es/treeSelect/treeSelect.scss +76 -20
  824. package/lib/es/treeSelect/variables.scss +4 -2
  825. package/lib/es/typography/constants.d.ts +1 -0
  826. package/lib/es/typography/constants.js +2 -1
  827. package/lib/es/typography/formatNumeral.d.ts +3 -3
  828. package/lib/es/typography/formatNumeral.js +22 -40
  829. package/lib/es/typography/typography.css +135 -2
  830. package/lib/es/typography/typography.scss +151 -8
  831. package/lib/es/typography/variables.scss +52 -0
  832. package/lib/es/upload/constants.js +2 -2
  833. package/lib/es/upload/fileCardFoundation.d.ts +9 -0
  834. package/lib/es/upload/fileCardFoundation.js +10 -0
  835. package/lib/es/upload/foundation.d.ts +14 -5
  836. package/lib/es/upload/foundation.js +107 -240
  837. package/lib/es/upload/upload.css +9 -0
  838. package/lib/es/upload/upload.scss +8 -0
  839. package/lib/es/upload/utils.js +14 -28
  840. package/lib/es/utils/Event.js +1 -17
  841. package/lib/es/utils/FocusHandle.d.ts +1 -1
  842. package/lib/es/utils/FocusHandle.js +6 -32
  843. package/lib/es/utils/Logger.js +0 -20
  844. package/lib/es/utils/Store.js +0 -9
  845. package/lib/es/utils/a11y.js +18 -31
  846. package/lib/es/utils/array.d.ts +2 -2
  847. package/lib/es/utils/array.js +2 -7
  848. package/lib/es/utils/classnames.js +0 -10
  849. package/lib/es/utils/date-fns-extra.d.ts +28 -17
  850. package/lib/es/utils/date-fns-extra.js +78 -40
  851. package/lib/es/utils/dom.d.ts +1 -1
  852. package/lib/es/utils/dom.js +0 -9
  853. package/lib/es/utils/function.js +0 -1
  854. package/lib/es/utils/getDataAttr.js +1 -2
  855. package/lib/es/utils/getHighlight.js +5 -26
  856. package/lib/es/utils/getMotionObjFromProps.js +4 -12
  857. package/lib/es/utils/isBothNaN.js +0 -1
  858. package/lib/es/utils/isEnterPress.js +0 -2
  859. package/lib/es/utils/isEscPress.js +0 -2
  860. package/lib/es/utils/keyCode.js +0 -104
  861. package/lib/es/utils/log.js +0 -3
  862. package/lib/es/utils/object.d.ts +4 -4
  863. package/lib/es/utils/object.js +10 -29
  864. package/lib/es/utils/set.js +0 -5
  865. package/lib/es/utils/shallowEqualObjects.js +0 -6
  866. package/lib/es/utils/touchPolyfill.js +1 -6
  867. package/lib/es/utils/type.d.ts +3 -3
  868. package/lib/es/utils/uuid.js +4 -10
  869. package/lib/es/utils/warning.js +1 -1
  870. package/modal/modal.scss +10 -1
  871. package/modal/modalContentFoundation.ts +3 -3
  872. package/modal/modalFoundation.ts +32 -7
  873. package/modal/variables.scss +6 -1
  874. package/navigation/NavItem.ts +0 -2
  875. package/navigation/foundation.ts +1 -3
  876. package/navigation/itemFoundation.ts +0 -1
  877. package/navigation/subNavFoundation.ts +3 -2
  878. package/notification/notification.scss +21 -1
  879. package/notification/notificationFoundation.ts +3 -3
  880. package/notification/notificationListFoundation.ts +14 -4
  881. package/overflowList/constants.ts +4 -2
  882. package/overflowList/foundation.ts +51 -33
  883. package/package.json +6 -5
  884. package/pagination/foundation.ts +13 -3
  885. package/pagination/pagination.scss +29 -0
  886. package/pagination/variables.scss +1 -0
  887. package/popconfirm/popconfirm.scss +4 -16
  888. package/popconfirm/popconfirmFoundation.ts +20 -2
  889. package/popconfirm/rtl.scss +0 -13
  890. package/popconfirm/variables.scss +0 -4
  891. package/popover/constants.ts +1 -1
  892. package/popover/popover.scss +2 -0
  893. package/radio/radio.scss +6 -3
  894. package/radio/radioFoundation.ts +1 -1
  895. package/radio/radioGroupFoundation.ts +0 -1
  896. package/radio/radioInnerFoundation.ts +0 -1
  897. package/radio/variables.scss +4 -0
  898. package/rating/foundation.ts +0 -1
  899. package/select/foundation.ts +70 -32
  900. package/select/option.scss +1 -1
  901. package/select/optionFoundation.ts +0 -2
  902. package/select/select.scss +74 -5
  903. package/select/variables.scss +9 -6
  904. package/sideSheet/sideSheet.scss +38 -0
  905. package/sideSheet/sideSheetFoundation.ts +3 -2
  906. package/sideSheet/variables.scss +7 -0
  907. package/skeleton/skeleton.scss +1 -0
  908. package/skeleton/variables.scss +2 -2
  909. package/slider/constants.ts +1 -0
  910. package/slider/foundation.ts +25 -29
  911. package/slider/slider.scss +16 -1
  912. package/slider/variables.scss +15 -9
  913. package/spin/spin.scss +3 -0
  914. package/steps/bacisSteps.scss +10 -3
  915. package/steps/fillSteps.scss +7 -7
  916. package/steps/variables.scss +3 -3
  917. package/switch/foundation.ts +2 -4
  918. package/switch/switch.scss +13 -2
  919. package/table/bodyFoundation.ts +0 -1
  920. package/table/constants.ts +0 -3
  921. package/table/foundation.ts +33 -31
  922. package/table/rtl.scss +33 -2
  923. package/table/table.scss +66 -8
  924. package/table/tableRowFoundation.ts +0 -1
  925. package/table/utils.ts +23 -43
  926. package/table/variables.scss +6 -3
  927. package/tabs/foundation.ts +2 -2
  928. package/tabs/tabs.scss +339 -24
  929. package/tag/constants.ts +19 -2
  930. package/tag/tag.scss +43 -4
  931. package/tag/variables.scss +5 -0
  932. package/tagInput/foundation.ts +57 -3
  933. package/tagInput/tagInput.scss +41 -12
  934. package/tagInput/variables.scss +2 -0
  935. package/timePicker/foundation.ts +27 -18
  936. package/timePicker/inputFoundation.ts +0 -2
  937. package/timePicker/timePicker.scss +22 -1
  938. package/timePicker/utils/index.ts +3 -2
  939. package/toast/animation.scss +3 -0
  940. package/toast/toast.scss +43 -3
  941. package/toast/toastFoundation.ts +4 -6
  942. package/toast/toastListFoundation.ts +13 -3
  943. package/toast/variables.scss +14 -0
  944. package/tooltip/constants.ts +1 -1
  945. package/tooltip/foundation.ts +96 -58
  946. package/tooltip/tooltip.scss +9 -0
  947. package/transfer/foundation.ts +0 -1
  948. package/transfer/transfer.scss +7 -0
  949. package/tree/foundation.ts +38 -33
  950. package/tree/rtl.scss +19 -11
  951. package/tree/tree.scss +112 -17
  952. package/tree/treeUtil.ts +64 -32
  953. package/tree/variables.scss +3 -2
  954. package/treeSelect/foundation.ts +132 -70
  955. package/treeSelect/treeSelect.scss +76 -20
  956. package/treeSelect/variables.scss +4 -2
  957. package/typography/constants.ts +1 -0
  958. package/typography/formatNumeral.ts +2 -5
  959. package/typography/typography.scss +151 -8
  960. package/typography/variables.scss +52 -0
  961. package/upload/fileCardFoundation.ts +17 -0
  962. package/upload/foundation.ts +85 -10
  963. package/upload/upload.scss +8 -0
  964. package/utils/Event.ts +0 -1
  965. package/utils/a11y.ts +6 -6
  966. package/utils/array.ts +4 -4
  967. package/utils/date-fns-extra.ts +83 -22
  968. package/utils/function.ts +0 -1
  969. package/utils/getDataAttr.ts +1 -1
  970. package/utils/getMotionObjFromProps.ts +3 -2
  971. package/utils/object.ts +0 -3
@@ -16,14 +16,57 @@ import BaseFoundation from '../base/foundation';
16
16
  import { strings, numbers } from './constants';
17
17
  import { mergeQueries, flattenColumns, filterColumns } from './utils';
18
18
  import { pullAll, withOrderSort } from '../utils/array';
19
-
20
19
  class TableFoundation extends BaseFoundation {
20
+ /**
21
+ * update columns in place, and use default values as initial values if the sorting and filtering columns have no values
22
+ */
23
+ static initColumnsFilteredValueAndSorterOrder(columns) {
24
+ columns.forEach(column => {
25
+ TableFoundation.initFilteredValue(column);
26
+ TableFoundation.initSorterOrder(column);
27
+ });
28
+ return columns;
29
+ }
30
+ /**
31
+ * init filteredValue of filtering column, use defaultFilteredValue or [] when it is undefined
32
+ */
33
+ static initFilteredValue(column) {
34
+ const {
35
+ defaultFilteredValue,
36
+ filteredValue
37
+ } = column;
38
+ // There may be cases where onFilter is empty, such as server-side filtering
39
+ // Because filterValue affects the output of filters, it needs to be initialized here
40
+ if (_isUndefined(filteredValue)) {
41
+ if (Array.isArray(defaultFilteredValue) && defaultFilteredValue.length) {
42
+ column.filteredValue = defaultFilteredValue;
43
+ } else {
44
+ column.filteredValue = [];
45
+ }
46
+ }
47
+ }
48
+ /**
49
+ * init sortOrder of sorting column, use defaultSortOrder or [] when it is undefined
50
+ */
51
+ static initSorterOrder(column) {
52
+ const {
53
+ defaultSortOrder,
54
+ sortOrder,
55
+ sorter
56
+ } = column;
57
+ if (sorter && _isUndefined(sortOrder)) {
58
+ if (!_isUndefined(defaultSortOrder)) {
59
+ column.sortOrder = defaultSortOrder;
60
+ } else {
61
+ column.sortOrder = false;
62
+ }
63
+ }
64
+ }
21
65
  constructor(adapter) {
22
66
  super(Object.assign({}, adapter));
23
67
  /**
24
68
  * set page number
25
69
  */
26
-
27
70
  this.setPage = (currentPage, currentPageSize) => {
28
71
  currentPage = currentPage || this._adapter.getCurrentPage();
29
72
  const currentPagination = this.getState('pagination');
@@ -36,118 +79,49 @@ class TableFoundation extends BaseFoundation {
36
79
  currentPage,
37
80
  pageSize: currentPageSize
38
81
  }));
39
-
40
82
  if (!this._pagerIsControlled() && currentPage > 0) {
41
83
  this._adapter.setDisabledRowKeys(disabledRowKeys);
42
-
43
84
  this._adapter.setAllRowKeys(allRowKeys);
44
-
45
85
  this._adapter.setPagination(pagination);
46
-
47
86
  this._adapter.setDataSource(dataSource);
48
87
  }
49
-
50
88
  this._notifyChange(pagination);
51
89
  };
52
90
  /**
53
91
  * Cache related data when initializing or updating the calculated dataSource
54
92
  * @param {*} filteredSortedDataSource
55
93
  */
56
-
57
-
58
94
  this.setCachedFilteredSortedDataSource = filteredSortedDataSource => {
59
95
  this._adapter.setCachedFilteredSortedDataSource(filteredSortedDataSource);
60
-
61
96
  const filteredSortedRowKeys = this.getAllRowKeys(filteredSortedDataSource);
62
-
63
97
  this._adapter.setCachedFilteredSortedRowKeys(filteredSortedRowKeys);
64
98
  };
65
-
66
99
  this.isSortOrderValid = sortOrder => strings.SORT_DIRECTIONS.includes(sortOrder) || sortOrder === false;
67
100
  /**
68
101
  * memoized function list
69
102
  */
70
-
71
-
72
103
  const handleColumns = this._adapter.getHandleColumns();
73
-
74
104
  const mergePagination = this._adapter.getMergePagination();
75
-
76
105
  this.memoizedWithFnsColumns = memoizeOne(handleColumns, _isEqual);
77
106
  this.memoizedFilterColumns = memoizeOne(filterColumns);
78
107
  this.memoizedFlattenFnsColumns = memoizeOne(flattenColumns);
79
108
  this.memoizedPagination = memoizeOne(mergePagination, _isEqual);
80
109
  }
81
- /**
82
- * update columns in place, and use default values as initial values if the sorting and filtering columns have no values
83
- */
84
-
85
-
86
- static initColumnsFilteredValueAndSorterOrder(columns) {
87
- columns.forEach(column => {
88
- TableFoundation.initFilteredValue(column);
89
- TableFoundation.initSorterOrder(column);
90
- });
91
- return columns;
92
- }
93
- /**
94
- * init filteredValue of filtering column, use defaultFilteredValue or [] when it is undefined
95
- */
96
-
97
-
98
- static initFilteredValue(column) {
99
- const {
100
- defaultFilteredValue,
101
- filteredValue,
102
- filters
103
- } = column;
104
- const hasFilter = Array.isArray(filters) && filters.length;
105
-
106
- if (hasFilter && _isUndefined(filteredValue)) {
107
- if (Array.isArray(defaultFilteredValue) && defaultFilteredValue.length) {
108
- column.filteredValue = defaultFilteredValue;
109
- } else {
110
- column.filteredValue = [];
111
- }
112
- }
113
- }
114
- /**
115
- * init sortOrder of sorting column, use defaultSortOrder or [] when it is undefined
116
- */
117
-
118
-
119
- static initSorterOrder(column) {
120
- const {
121
- defaultSortOrder,
122
- sortOrder,
123
- sorter
124
- } = column;
125
-
126
- if (sorter && _isUndefined(sortOrder)) {
127
- if (!_isUndefined(defaultSortOrder)) {
128
- column.sortOrder = defaultSortOrder;
129
- } else {
130
- column.sortOrder = false;
131
- }
132
- }
133
- }
134
-
135
110
  init() {
136
111
  const dataSource = [...this.getProp('dataSource')];
137
-
138
112
  const {
139
113
  queries
140
114
  } = this._adapter.getStates();
141
-
142
115
  const filteredSortedDataSource = this.getFilteredSortedDataSource(dataSource, queries);
116
+ const allDataDisabledRowKeys = this.getAllDisabledRowKeys(filteredSortedDataSource);
143
117
  const pageData = this.getCurrentPageData(filteredSortedDataSource);
144
118
  this.setAdapterPageData(pageData);
145
119
  this.initExpandedRowKeys(pageData);
146
- this.initSelectedRowKeys(pageData); // cache dataSource after mount, and then calculate it on demand
147
-
120
+ this.initSelectedRowKeys(pageData);
121
+ // cache dataSource after mount, and then calculate it on demand
148
122
  this.setCachedFilteredSortedDataSource(filteredSortedDataSource);
123
+ this.setAllDisabledRowKeys(allDataDisabledRowKeys);
149
124
  }
150
-
151
125
  initExpandedRowKeys() {
152
126
  let {
153
127
  groups
@@ -162,42 +136,34 @@ class TableFoundation extends BaseFoundation {
162
136
  expandAllGroupRows
163
137
  } = this.getProps();
164
138
  const expandedRowKeys = [];
165
-
166
139
  if (defaultExpandAllRows || expandAllRows) {
167
140
  this._addNoDuplicatedItemsToArr(expandedRowKeys, this.getAllRowKeys(dataSource), groups && _isMap(groups) && groups.size ? Array.from(groups.keys()) : []);
168
141
  } else if (defaultExpandAllGroupRows || expandAllGroupRows) {
169
- this._addNoDuplicatedItemsToArr(expandedRowKeys, groups && _isMap(groups) && groups.size ? Array.from(groups.keys()) : []);
142
+ this._addNoDuplicatedItemsToArr(expandedRowKeys, propExpandedRowKeys, groups && _isMap(groups) && groups.size ? Array.from(groups.keys()) : []);
170
143
  } else if (Array.isArray(defaultExpandedRowKeys) && defaultExpandedRowKeys.length) {
171
144
  this._addNoDuplicatedItemsToArr(expandedRowKeys, defaultExpandedRowKeys);
172
145
  } else if (Array.isArray(propExpandedRowKeys) && propExpandedRowKeys.length) {
173
146
  this._addNoDuplicatedItemsToArr(expandedRowKeys, propExpandedRowKeys);
174
147
  }
175
-
176
148
  this._adapter.setExpandedRowKeys(expandedRowKeys);
177
149
  }
178
-
179
150
  initSelectedRowKeys(_ref) {
180
151
  let {
181
152
  disabledRowKeys
182
153
  } = _ref;
183
154
  const rowSelection = this.getProp('rowSelection');
184
155
  const rowKeys = [];
185
-
186
156
  if (rowSelection) {
187
157
  const selectedRowKeys = _get(rowSelection, 'selectedRowKeys');
188
-
189
158
  const defaultSelectedRowKeys = _get(rowSelection, 'defaultSelectedRowKeys');
190
-
191
159
  if (Array.isArray(selectedRowKeys)) {
192
160
  this._addNoDuplicatedItemsToArr(rowKeys, selectedRowKeys);
193
161
  } else if (Array.isArray(defaultSelectedRowKeys)) {
194
162
  this._addNoDuplicatedItemsToArr(rowKeys, defaultSelectedRowKeys);
195
163
  }
196
-
197
164
  if (Array.isArray(disabledRowKeys) && disabledRowKeys.length) {
198
165
  _pull(rowKeys, ...disabledRowKeys);
199
166
  }
200
-
201
167
  this._adapter.setSelectedRowKeys(rowKeys);
202
168
  }
203
169
  }
@@ -207,19 +173,10 @@ class TableFoundation extends BaseFoundation {
207
173
  * @param {Object[]} queries
208
174
  * @returns {Object[]} sortedDataSource
209
175
  */
210
-
211
-
212
176
  getFilteredSortedDataSource(dataSource, queries) {
213
177
  const filteredDataSource = this.filterDataSource(dataSource, queries.filter(query => {
214
- /**
215
- * 这里无需判断 filteredValue 是否为数组,初始化时它是 `undefined`,点击选择空时为 `[]`
216
- * 初始化时我们应该用 `defaultFilteredValue`,点击后我们应该用 `filteredValue`
217
- *
218
- * There is no need to judge whether `filteredValue` is an array here, because it is `undefined` when initialized, and `[]` when you click to select empty
219
- * When initializing we should use `defaultFilteredValue`, after clicking we should use `filteredValue`
220
- */
221
178
  const currentFilteredValue = query.filteredValue ? query.filteredValue : query.defaultFilteredValue;
222
- return _isFunction(query.onFilter) && Array.isArray(query.filters) && query.filters.length && Array.isArray(currentFilteredValue) && currentFilteredValue.length;
179
+ return _isFunction(query.onFilter) && Array.isArray(currentFilteredValue) && currentFilteredValue.length;
223
180
  }));
224
181
  const sortedDataSource = this.sortDataSource(filteredDataSource, queries.filter(query => query && _isFunction(query.sorter)));
225
182
  return sortedDataSource;
@@ -232,16 +189,12 @@ class TableFoundation extends BaseFoundation {
232
189
  * @param {object} queries
233
190
  * @returns {{dataSource: RecordType[], groups: Map<string, Set<string>>, pagination: object, disabledRowKeys: string[], queries: BaseColumnProps[], allRowKeys: string[]}}
234
191
  */
235
-
236
-
237
192
  getCurrentPageData(dataSource, pagination, queries) {
238
193
  const filteredSortedDataSource = this._adapter.getCachedFilteredSortedDataSource();
239
-
240
194
  dataSource = dataSource == null ? [...filteredSortedDataSource] : dataSource;
241
195
  pagination = pagination == null ? this.getState('pagination') && Object.assign({}, this.getState('pagination')) : pagination;
242
196
  queries = queries == null ? [...this.getState('queries')] : queries;
243
197
  let groups;
244
-
245
198
  if (this.getProp('groupBy') != null) {
246
199
  const {
247
200
  groups: groupedGroups,
@@ -250,7 +203,6 @@ class TableFoundation extends BaseFoundation {
250
203
  dataSource = groupedData;
251
204
  groups = groupedGroups;
252
205
  }
253
-
254
206
  pagination = this.normalizePagination(pagination, dataSource);
255
207
  dataSource = this.limitPageDataSource(dataSource, pagination);
256
208
  const disabledRowKeys = this.getAllDisabledRowKeys(dataSource);
@@ -271,21 +223,16 @@ class TableFoundation extends BaseFoundation {
271
223
  * @param {*[]} dataSource
272
224
  * @param {Function|string} groupBy
273
225
  */
274
-
275
-
276
226
  groupDataSource(dataSource, groupBy) {
277
227
  groupBy = groupBy == null ? this.getProp('groupBy') : groupBy;
278
228
  const groups = new Map();
279
229
  const newDataSource = [];
280
-
281
230
  if (groupBy != null) {
282
231
  _each(dataSource, (record, index) => {
283
232
  const groupKey = typeof groupBy === 'function' ? groupBy(record) : _get(record, groupBy);
284
-
285
233
  if (groupKey != null && groupKey !== '') {
286
234
  const recordKey = this.getRecordKey(record);
287
235
  let group = groups.get(groupKey);
288
-
289
236
  if (!_isSet(group)) {
290
237
  group = new Set([recordKey]);
291
238
  groups.set(groupKey, group);
@@ -295,7 +242,6 @@ class TableFoundation extends BaseFoundation {
295
242
  }
296
243
  });
297
244
  }
298
-
299
245
  if (groups && groups.size) {
300
246
  groups.forEach((set, key) => {
301
247
  if (_isSet(set)) {
@@ -307,7 +253,6 @@ class TableFoundation extends BaseFoundation {
307
253
  } else {
308
254
  newDataSource.push(...dataSource);
309
255
  }
310
-
311
256
  return {
312
257
  groups,
313
258
  dataSource: newDataSource
@@ -320,8 +265,6 @@ class TableFoundation extends BaseFoundation {
320
265
  * @param {Array} sorters
321
266
  * @returns {Array}
322
267
  */
323
-
324
-
325
268
  sortDataSource(dataSource, sorters) {
326
269
  _each(sorters, sorterObj => {
327
270
  // const sorterObj = last(sorters) || {};
@@ -332,30 +275,24 @@ class TableFoundation extends BaseFoundation {
332
275
  sortChildrenRecord
333
276
  } = sorterObj;
334
277
  const currentSortOrder = this.isSortOrderValid(sortOrder) ? sortOrder : defaultSortOrder;
335
-
336
278
  if (_isFunction(sorter) && currentSortOrder && strings.SORT_DIRECTIONS.includes(currentSortOrder)) {
337
279
  if (sortChildrenRecord) {
338
280
  const childrenRecordName = this.getProp('childrenRecordName');
339
281
  dataSource = dataSource && dataSource.map(record => {
340
282
  const children = this._getRecordChildren(record);
341
-
342
283
  if (Array.isArray(children) && children.length) {
343
284
  return Object.assign(Object.assign({}, record), {
344
285
  [childrenRecordName]: this.sortDataSource(children, [sorterObj])
345
286
  });
346
287
  }
347
-
348
288
  return record;
349
289
  });
350
290
  }
351
-
352
291
  dataSource.sort(withOrderSort(sorter, currentSortOrder));
353
292
  return false;
354
293
  }
355
-
356
294
  return undefined;
357
295
  });
358
-
359
296
  return dataSource;
360
297
  }
361
298
  /**
@@ -365,13 +302,10 @@ class TableFoundation extends BaseFoundation {
365
302
  * @param {*[]} filters
366
303
  * @returns {*[]}
367
304
  */
368
-
369
-
370
305
  filterDataSource(dataSource, filters) {
371
306
  let filteredData = null;
372
307
  let hasValidFilters = false;
373
308
  const childrenRecordName = this.getProp('childrenRecordName');
374
-
375
309
  _each(filters, filterObj => {
376
310
  const {
377
311
  onFilter,
@@ -380,40 +314,34 @@ class TableFoundation extends BaseFoundation {
380
314
  defaultFilteredValue
381
315
  } = filterObj;
382
316
  const currentFilteredValue = Array.isArray(filteredValue) ? filteredValue : defaultFilteredValue;
383
-
384
317
  if (typeof onFilter === 'function' && Array.isArray(currentFilteredValue) && currentFilteredValue.length) {
385
318
  hasValidFilters = true;
386
-
387
319
  if (filteredData === null) {
388
320
  filteredData = new Map();
389
321
  } else {
390
322
  dataSource = Array.from(filteredData && filteredData.values());
391
323
  filteredData = new Map();
392
324
  }
393
-
394
325
  _each(dataSource, record => {
395
326
  _each(currentFilteredValue, value => {
396
327
  const childrenRecords = _get(record, childrenRecordName);
397
-
398
328
  const recordKey = this.getRecordKey(record);
399
329
  let filteredChildren;
400
-
401
330
  if (Array.isArray(childrenRecords) && childrenRecords.length && filterChildrenRecord) {
402
331
  filteredChildren = this.filterDataSource(childrenRecords, [filterObj]);
403
332
  }
404
-
405
333
  if (Array.isArray(filteredChildren) && filteredChildren.length) {
406
334
  if (recordKey != null) {
407
335
  const children = _get(filteredData.get(recordKey), childrenRecordName, []);
408
-
409
336
  filteredData.set(recordKey, Object.assign(Object.assign({}, record), {
410
337
  [childrenRecordName]: filteredChildren.reduce((arr, cur) => {
411
338
  if (arr.find(item => this.getRecordKey(item) === this.getRecordKey(cur)) == null) {
412
339
  arr.push(cur);
413
340
  }
414
-
415
341
  return arr;
416
- }, [...children])
342
+ },
343
+ // @ts-ignore
344
+ [...children])
417
345
  }));
418
346
  }
419
347
  } else if (onFilter(value, record)) {
@@ -423,21 +351,16 @@ class TableFoundation extends BaseFoundation {
423
351
  });
424
352
  }
425
353
  });
426
-
427
354
  if (hasValidFilters) {
428
355
  dataSource = Array.from(filteredData && filteredData.values());
429
356
  }
430
-
431
357
  return dataSource;
432
358
  }
433
-
434
359
  limitPageDataSource(dataSource, pagination) {
435
360
  dataSource = dataSource == null ? this.getProp('dataSource') : dataSource;
436
361
  pagination = pagination == null ? this.getState('pagination') : pagination;
437
362
  let pageData = dataSource;
438
-
439
363
  const pageNo = _get(pagination, 'currentPage');
440
-
441
364
  if (this.getProp('pagination') !== false && pageNo && dataSource && pagination && !this._pagerIsControlled()) {
442
365
  const {
443
366
  pageSize = numbers.DEFAULT_PAGE_SIZE
@@ -446,15 +369,12 @@ class TableFoundation extends BaseFoundation {
446
369
  const end = pageNo * pageSize;
447
370
  pageData = _slice(dataSource, start, end);
448
371
  }
449
-
450
372
  return pageData;
451
373
  }
452
-
453
374
  normalizePagination(pagination, dataSource) {
454
375
  pagination = pagination == null ? this._getPagination() : pagination;
455
376
  dataSource = dataSource == null ? this._getDataSource() : dataSource;
456
377
  const propPagination = this.getProp('pagination');
457
-
458
378
  if (pagination) {
459
379
  pagination = typeof pagination === 'object' ? Object.assign({}, pagination) : {};
460
380
  pagination = _merge({
@@ -463,27 +383,21 @@ class TableFoundation extends BaseFoundation {
463
383
  currentPage: _get(propPagination, 'defaultCurrentPage', 1),
464
384
  position: strings.PAGINATION_POSITIONS[0]
465
385
  }, pagination);
466
-
467
386
  if (!this._pagerIsControlled()) {
468
387
  const total = _get(propPagination, 'total', dataSource.length);
469
-
470
- const pageSize = _get(propPagination, 'pageSize', pagination.pageSize);
471
-
472
388
  const {
473
- currentPage
389
+ currentPage,
390
+ pageSize
474
391
  } = pagination;
475
392
  const realTotalPage = Math.ceil(total / pageSize);
476
393
  pagination.total = total;
477
-
478
394
  if (currentPage > realTotalPage) {
479
395
  pagination.currentPage = 1;
480
396
  }
481
397
  }
482
398
  }
483
-
484
399
  return pagination;
485
400
  }
486
-
487
401
  setAdapterPageData() {
488
402
  let pageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
489
403
  const {
@@ -493,43 +407,30 @@ class TableFoundation extends BaseFoundation {
493
407
  allRowKeys,
494
408
  groups
495
409
  } = pageData;
496
-
497
410
  this._adapter.setDisabledRowKeys(disabledRowKeys);
498
-
499
411
  this._adapter.setAllRowKeys(allRowKeys);
500
-
501
412
  this._adapter.setPagination(pagination);
502
-
503
413
  this._adapter.setGroups(groups);
504
-
505
414
  this._adapter.setDataSource(dataSource);
506
415
  }
507
-
508
416
  destroy() {}
509
-
417
+ setAllDisabledRowKeys(disabledRowKeys) {
418
+ this._adapter.setAllDisabledRowKeys(disabledRowKeys);
419
+ }
510
420
  handleClick(e) {}
511
-
512
421
  handleMouseEnter(e) {}
513
-
514
422
  handleMouseLeave(e) {}
515
-
516
423
  stopPropagation(e) {
517
424
  this._adapter.stopPropagation(e);
518
425
  }
519
426
  /**
520
427
  * Add non-repeating elements to the array itself
521
- * @param {Array} srcArr
522
- * @param {Object} objArrs
523
428
  */
524
-
525
-
526
429
  _addNoDuplicatedItemsToArr() {
527
430
  let srcArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
528
-
529
431
  for (var _len = arguments.length, objArrs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
530
432
  objArrs[_key - 1] = arguments[_key];
531
433
  }
532
-
533
434
  for (const objArr of objArrs) {
534
435
  if (Array.isArray(objArr)) {
535
436
  for (const item of objArr) {
@@ -539,19 +440,15 @@ class TableFoundation extends BaseFoundation {
539
440
  }
540
441
  }
541
442
  }
542
-
543
443
  return srcArr;
544
444
  }
545
-
546
445
  _notifyChange(pagination, filters, sorter, extra) {
547
446
  pagination = pagination == null ? this._getPagination() : pagination;
548
447
  filters = filters == null ? this._getAllFilters() : filters;
549
448
  sorter = sorter == null ? this._getAllSorters()[0] : sorter;
550
-
551
449
  if (_get(this.getProp('scroll'), 'scrollToFirstRowOnChange')) {
552
450
  this._adapter.resetScrollY();
553
451
  }
554
-
555
452
  this._adapter.notifyChange({
556
453
  pagination: Object.assign({}, pagination),
557
454
  filters: [...filters],
@@ -559,15 +456,12 @@ class TableFoundation extends BaseFoundation {
559
456
  extra: Object.assign({}, extra)
560
457
  });
561
458
  }
562
-
563
459
  _rowExpansionIsControlled() {
564
460
  return Array.isArray(this.getProp('expandedRowKeys'));
565
461
  }
566
-
567
462
  _pagerIsControlled() {
568
463
  return _get(this.getProp('pagination'), 'currentPage') != null;
569
464
  }
570
-
571
465
  _selectionIsControlled() {
572
466
  return Array.isArray(_get(this.getProp('rowSelection'), 'selectedRowKeys'));
573
467
  }
@@ -577,8 +471,6 @@ class TableFoundation extends BaseFoundation {
577
471
  * @param {String} dataIndex
578
472
  * @returns {Boolean}
579
473
  */
580
-
581
-
582
474
  _sorterIsControlled(dataIndex) {
583
475
  // The basis for judgment should be props columns instead of cachedColumns fix#1141
584
476
  const query = dataIndex && this.getQuery(dataIndex, this.getState('flattenColumns'));
@@ -590,105 +482,83 @@ class TableFoundation extends BaseFoundation {
590
482
  * @param {String} dataIndex
591
483
  * @returns {Boolean}
592
484
  */
593
-
594
-
595
485
  _filterIsControlled(dataIndex) {
596
486
  const query = dataIndex && this.getQuery(dataIndex, this.getState('flattenColumns'));
597
487
  return Boolean(query && Array.isArray(query.filteredValue));
598
488
  }
599
-
600
489
  _filterShowIsControlled(dataIndex) {
601
490
  const query = dataIndex && this.getQuery(dataIndex, this.getState('flattenColumns'));
602
491
  return Boolean(query && (query.filterDropdownVisible === true || query.filterDropdownVisible === false));
603
492
  }
604
-
605
493
  _getSelectedRowKeys() {
606
494
  const rowSelection = this.getState('rowSelection');
607
-
608
495
  const selectedRowKeys = _get(rowSelection, 'selectedRowKeys', []);
609
-
610
496
  return [...selectedRowKeys];
611
497
  }
612
-
613
498
  _getSelectedRowKeysSet() {
614
499
  const rowSelection = this.getState('rowSelection');
615
-
616
500
  const selectedRowKeysSet = _get(rowSelection, 'selectedRowKeysSet', new Set());
617
-
618
501
  return selectedRowKeysSet;
619
502
  }
620
-
621
503
  _getDataSource() {
622
504
  return this.getProp('dataSource') || [];
623
505
  }
624
-
625
506
  _getRecord(realKey) {
626
507
  return _find(this.getProp('dataSource'), record => realKey != null && realKey !== '' && this.getRecordKey(record) === realKey);
627
508
  }
628
-
629
509
  _getRecordChildren(record) {
630
510
  return _get(record, this.getProp('childrenRecordName'));
631
511
  }
632
-
633
512
  _getPagination() {
634
513
  return this.getState('pagination') || {};
635
514
  }
636
-
515
+ /**
516
+ * Filters are considered valid if filteredValue exists
517
+ */
637
518
  _getAllFilters(queries) {
638
519
  queries = queries || this.getState('queries');
639
520
  const filters = [];
640
-
641
521
  _each(queries, query => {
642
522
  if (Array.isArray(query.filteredValue) && (query.filteredValue.length || this._filterIsControlled(query.dataIndex))) {
643
523
  filters.push(query);
644
524
  }
645
525
  });
646
-
647
526
  return filters;
648
527
  }
649
-
650
528
  _getAllSorters(queries) {
651
529
  queries = queries || this.getState('queries');
652
530
  return _filter(queries, query => query.sorter && query.sortOrder);
653
531
  }
654
-
655
532
  _filterQueries(targetQuery, queries) {
656
533
  let keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ['dataIndex'];
657
534
  queries = queries == null ? this.getState('queries') : queries;
658
535
  const filteredQueries = [];
659
536
  const filteredIndexes = [];
660
-
661
537
  _each(queries, (itQuery, index) => {
662
538
  const flag = _some(keys, k => k && targetQuery[k] != null && targetQuery[k] === itQuery[k]);
663
-
664
539
  if (flag) {
665
540
  filteredQueries.push(itQuery);
666
541
  filteredIndexes.push(index);
667
542
  }
668
543
  });
669
-
670
544
  return {
671
545
  filteredQueries,
672
546
  filteredIndexes
673
547
  };
674
548
  }
675
-
676
549
  _mergeToQueries(query, queries) {
677
550
  let keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ['dataIndex'];
678
551
  queries = queries == null ? this.getState('queries') : queries;
679
552
  queries = [...queries];
680
553
  query = Object.assign({}, query);
681
-
682
554
  const {
683
555
  filteredQueries,
684
556
  filteredIndexes
685
557
  } = this._filterQueries(query, queries, keys);
686
-
687
558
  _each(filteredQueries, (curQuery, idx) => {
688
559
  // assign(curQuery, query);
689
560
  queries[filteredIndexes[idx]] = Object.assign({}, query);
690
561
  });
691
-
692
562
  return queries;
693
563
  }
694
564
  /**
@@ -696,53 +566,39 @@ class TableFoundation extends BaseFoundation {
696
566
  * @param {RecordType} record
697
567
  * @returns {string}
698
568
  */
699
-
700
-
701
569
  getRecordKey(record) {
702
570
  if (!record) {
703
571
  return undefined;
704
572
  }
705
-
706
573
  const rowKey = this.getProp('rowKey');
707
574
  return typeof rowKey === 'function' ? rowKey(record) : _get(record, rowKey);
708
575
  }
709
-
710
576
  isEmpty(dataSource) {
711
577
  dataSource = dataSource == null ? this.getProp('dataSource') : dataSource;
712
578
  return !(Array.isArray(dataSource) && dataSource.length > 0);
713
579
  }
714
-
715
580
  handleSelectRow(realKey, selected, e) {
716
581
  this.stopPropagation(e);
717
-
718
582
  if (typeof selected === 'boolean' && realKey != null) {
719
583
  const selectedRowKeys = this._getSelectedRowKeys();
720
-
721
584
  let foundIdx = -1;
722
585
  const selectedRow = this.getSelectedRows(null, [realKey])[0];
723
586
  let selectedRows;
724
-
725
587
  if ((foundIdx = selectedRowKeys.indexOf(realKey)) > -1 && selected === false) {
726
588
  selectedRowKeys.splice(foundIdx, 1);
727
589
  selectedRows = this.getSelectedRows(null, selectedRowKeys);
728
-
729
590
  if (!this._selectionIsControlled()) {
730
591
  this._adapter.setSelectedRowKeys(selectedRowKeys);
731
592
  }
732
-
733
593
  this._adapter.notifySelect(selectedRow, selected, selectedRows, e);
734
-
735
594
  this._adapter.notifySelectionChange(selectedRowKeys, selectedRows);
736
595
  } else if (selectedRowKeys.indexOf(realKey) === -1 && selected === true) {
737
596
  selectedRowKeys.push(realKey);
738
597
  selectedRows = this.getSelectedRows(null, selectedRowKeys);
739
-
740
598
  if (!this._selectionIsControlled()) {
741
599
  this._adapter.setSelectedRowKeys(selectedRowKeys);
742
600
  }
743
-
744
601
  this._adapter.notifySelect(selectedRow, selected, selectedRows, e);
745
-
746
602
  this._adapter.notifySelectionChange(selectedRowKeys, selectedRows);
747
603
  }
748
604
  }
@@ -752,46 +608,35 @@ class TableFoundation extends BaseFoundation {
752
608
  * @param {*} selected The future state of the select all button
753
609
  * @param {*} e
754
610
  */
755
-
756
-
757
611
  handleSelectAllRow(selected, e) {
758
612
  this.stopPropagation(e);
759
-
760
613
  if (typeof selected === 'boolean') {
761
614
  const curSelectedRowKeys = this._getSelectedRowKeys();
762
-
763
615
  let selectedRowKeys = [...curSelectedRowKeys];
764
-
765
616
  const selectedRowKeysSet = this._getSelectedRowKeysSet();
766
-
767
617
  let allRowKeys = [...this._adapter.getCachedFilteredSortedRowKeys()];
768
- const disabledRowKeys = this.getAllDisabledRowKeys();
769
- const disabledRowKeysSet = new Set(disabledRowKeys);
770
- let changedRowKeys; // Select all, if not disabled && not in selectedRowKeys
771
-
618
+ const disabledRowKeys = this._adapter.getAllDisabledRowKeys();
619
+ const disabledRowKeysSet = this._adapter.getAllDisabledRowKeysSet();
620
+ let changedRowKeys;
621
+ // Select all, if not disabled && not in selectedRowKeys
772
622
  if (selected) {
773
623
  for (const key of allRowKeys) {
774
624
  if (!disabledRowKeysSet.has(key) && !selectedRowKeysSet.has(key)) {
775
625
  selectedRowKeys.push(key);
776
626
  }
777
627
  }
778
-
779
628
  allRowKeys = pullAll(allRowKeys, [...disabledRowKeys, ...curSelectedRowKeys]);
780
629
  changedRowKeys = [...allRowKeys];
781
630
  } else {
782
631
  selectedRowKeys = pullAll(selectedRowKeys, allRowKeys);
783
632
  changedRowKeys = [...curSelectedRowKeys];
784
633
  }
785
-
786
634
  const changedRows = this.getSelectedRows(null, changedRowKeys || []);
787
635
  const selectedRows = this.getSelectedRows(null, selectedRowKeys || []);
788
-
789
636
  if (!this._selectionIsControlled()) {
790
637
  this._adapter.setSelectedRowKeys(selectedRowKeys);
791
638
  }
792
-
793
639
  this._adapter.notifySelectAll(selected, selectedRows, changedRows, e);
794
-
795
640
  this._adapter.notifySelectionChange(selectedRowKeys, selectedRows);
796
641
  }
797
642
  }
@@ -801,27 +646,20 @@ class TableFoundation extends BaseFoundation {
801
646
  * @param {*} selectedRowKeys
802
647
  * @param {*} selectedRowKeysSet Recursive optimization
803
648
  */
804
-
805
-
806
649
  getSelectedRows(dataSource, selectedRowKeys, selectedRowKeysSet) {
807
650
  dataSource = dataSource == null ? this._getDataSource() : dataSource;
808
651
  selectedRowKeys = selectedRowKeys == null ? this._getSelectedRowKeys() : selectedRowKeys;
809
-
810
652
  if (!_isSet(selectedRowKeysSet)) {
811
653
  selectedRowKeysSet = new Set(selectedRowKeys);
812
654
  }
813
-
814
655
  const childrenRecordName = this.getProp('childrenRecordName');
815
656
  const selectedRows = [];
816
-
817
657
  if (_isSet(selectedRowKeysSet) && selectedRowKeysSet.size && Array.isArray(dataSource) && dataSource.length) {
818
658
  // Time complexity optimization, replace the includes operation of array with has of set
819
659
  selectedRows.push(...dataSource.filter(data => selectedRowKeysSet.has(this.getRecordKey(data))));
820
-
821
660
  if (selectedRows.length < selectedRowKeys.length) {
822
661
  for (const item of dataSource) {
823
662
  const children = _get(item, childrenRecordName);
824
-
825
663
  if (Array.isArray(children) && children.length) {
826
664
  const rows = this.getSelectedRows(children, selectedRowKeys, selectedRowKeysSet);
827
665
  selectedRows.push(...rows);
@@ -829,55 +667,42 @@ class TableFoundation extends BaseFoundation {
829
667
  }
830
668
  }
831
669
  }
832
-
833
670
  return selectedRows;
834
671
  }
835
-
836
672
  getAllDisabledRowKeys(dataSource, getCheckboxProps) {
837
673
  dataSource = dataSource == null ? this._getDataSource() : dataSource;
838
674
  getCheckboxProps = getCheckboxProps == null ? _get(this.getProp('rowSelection'), 'getCheckboxProps') : getCheckboxProps;
839
675
  const childrenRecordName = this.getProp('childrenRecordName');
840
676
  const disabledRowKeys = [];
841
-
842
677
  if (Array.isArray(dataSource) && dataSource.length && typeof getCheckboxProps === 'function') {
843
678
  for (const record of dataSource) {
844
679
  const props = getCheckboxProps(record);
845
-
846
680
  if (props && props.disabled) {
847
681
  disabledRowKeys.push(this.getRecordKey(record));
848
682
  }
849
-
850
683
  const children = _get(record, childrenRecordName);
851
-
852
684
  if (Array.isArray(children) && children.length) {
853
685
  const keys = this.getAllDisabledRowKeys(children, getCheckboxProps);
854
686
  disabledRowKeys.push(...keys);
855
687
  }
856
688
  }
857
689
  }
858
-
859
690
  return disabledRowKeys;
860
691
  }
861
-
862
692
  getAllRowKeys(dataSource) {
863
693
  dataSource = dataSource == null ? this._getDataSource() : dataSource;
864
694
  const childrenRecordName = this.getProp('childrenRecordName');
865
695
  const allRowKeys = [];
866
-
867
696
  if (Array.isArray(dataSource) && dataSource.length) {
868
697
  for (const record of dataSource) {
869
698
  const childrenRowKeys = [];
870
-
871
699
  const children = _get(record, childrenRecordName);
872
-
873
700
  if (Array.isArray(children) && children.length) {
874
701
  childrenRowKeys.push(...this.getAllRowKeys(children));
875
702
  }
876
-
877
703
  allRowKeys.push(this.getRecordKey(record), ...childrenRowKeys);
878
704
  }
879
705
  }
880
-
881
706
  return allRowKeys;
882
707
  }
883
708
  /**
@@ -885,8 +710,6 @@ class TableFoundation extends BaseFoundation {
885
710
  * @param {Array} selectedRowKeys
886
711
  * @param {Set} allRowKeysSet
887
712
  */
888
-
889
-
890
713
  hasRowSelected(selectedRowKeys, allRowKeysSet) {
891
714
  return Boolean(Array.isArray(selectedRowKeys) && selectedRowKeys.length && _isSet(allRowKeysSet) && allRowKeysSet.size && selectedRowKeys.filter(key => allRowKeysSet.has(key)).length);
892
715
  }
@@ -896,38 +719,31 @@ class TableFoundation extends BaseFoundation {
896
719
  * @param {String} realKey
897
720
  * @param {Event} domEvent
898
721
  */
899
-
900
-
901
722
  handleRowExpanded(expanded, realKey, domEvent) {
902
723
  this.stopPropagation(domEvent);
903
724
  const expandedRowKeys = [...this.getState('expandedRowKeys')];
904
725
  const index = expandedRowKeys.indexOf(realKey);
905
726
  const keyIsValid = typeof realKey === 'string' || typeof realKey === 'number';
906
-
907
727
  if (keyIsValid && expanded && index === -1) {
908
728
  expandedRowKeys.push(realKey);
909
729
  } else if (keyIsValid && !expanded && index > -1) {
910
730
  expandedRowKeys.splice(index, 1);
911
731
  }
912
-
913
732
  if (!this._rowExpansionIsControlled()) {
914
733
  this._adapter.setExpandedRowKeys(expandedRowKeys);
915
734
  }
916
-
917
735
  const expandedRows = this.getSelectedRows(null, expandedRowKeys);
918
- let expandedRow = this.getSelectedRows(null, [realKey])[0]; // groups record processing
919
-
736
+ let expandedRow = this.getSelectedRows(null, [realKey])[0];
737
+ // groups record processing
920
738
  const groups = this._getGroups();
921
-
922
739
  if (groups) {
923
740
  // Construct group expandRow
924
741
  if (groups.has(realKey)) {
925
742
  expandedRow = {
926
743
  groupKey: realKey
927
744
  };
928
- } // If expandedRowKeys includes groupKey, add to expandedRows
929
-
930
-
745
+ }
746
+ // If expandedRowKeys includes groupKey, add to expandedRows
931
747
  for (let i = 0, len = expandedRowKeys.length; i < len; i++) {
932
748
  if (groups.has(realKey)) {
933
749
  expandedRows.push({
@@ -936,26 +752,19 @@ class TableFoundation extends BaseFoundation {
936
752
  }
937
753
  }
938
754
  }
939
-
940
755
  this._adapter.notifyExpand(expanded, expandedRow, domEvent);
941
-
942
756
  this._adapter.notifyExpandedRowsChange(expandedRows);
943
757
  }
944
758
  /**
945
759
  * get state.groups
946
760
  * @returns {Map|Null}
947
761
  */
948
-
949
-
950
762
  _getGroups() {
951
763
  const groupBy = this._adapter.getProp('groupBy');
952
-
953
764
  if (groupBy !== null) {
954
765
  const groups = this._adapter.getState('groups');
955
-
956
766
  return groups;
957
767
  }
958
-
959
768
  return null;
960
769
  }
961
770
  /**
@@ -964,21 +773,18 @@ class TableFoundation extends BaseFoundation {
964
773
  * @param {Set} disabledRowKeysSet
965
774
  * @param {Array} allKeys keys after sorted and filtered
966
775
  */
967
-
968
-
969
776
  allIsSelected(selectedRowKeysSet, disabledRowKeysSet, allKeys) {
970
777
  const filteredAllKeys = _filter(allKeys, key => key != null && !disabledRowKeysSet.has(key));
971
-
972
778
  if (filteredAllKeys && filteredAllKeys.length) {
973
779
  for (const key of filteredAllKeys) {
974
780
  if (key != null && !selectedRowKeysSet.has(key)) {
975
781
  return false;
976
782
  }
977
783
  }
978
-
979
784
  return true;
980
785
  } else {
981
- return false;
786
+ const isAllSelected = allKeys.every(rowKey => selectedRowKeysSet.has(rowKey));
787
+ return isAllSelected || false;
982
788
  }
983
789
  }
984
790
  /**
@@ -986,25 +792,19 @@ class TableFoundation extends BaseFoundation {
986
792
  * @param {*} selectedRowKeys
987
793
  * @param {*} allKeys
988
794
  */
989
-
990
-
991
795
  allIsNotSelected(selectedRowKeys, allKeys) {
992
796
  for (const key of allKeys) {
993
797
  if (key != null && Array.isArray(selectedRowKeys) && selectedRowKeys.includes(key)) {
994
798
  return true;
995
799
  }
996
800
  }
997
-
998
801
  return false;
999
802
  }
1000
-
1001
803
  formatPaginationInfo() {
1002
804
  let pagination = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1003
805
  let defaultPageText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
1004
806
  let info = '';
1005
-
1006
807
  const formatPageText = _get(this.getProp('pagination'), 'formatPageText');
1007
-
1008
808
  const {
1009
809
  total,
1010
810
  pageSize,
@@ -1012,7 +812,6 @@ class TableFoundation extends BaseFoundation {
1012
812
  } = pagination;
1013
813
  const currentStart = Math.min((currentPage - 1) * pageSize + 1, total);
1014
814
  const currentEnd = Math.min(currentPage * pageSize, total);
1015
-
1016
815
  if (formatPageText || formatPageText !== false && defaultPageText && total > 0) {
1017
816
  info = typeof formatPageText === 'function' ? formatPageText({
1018
817
  currentStart,
@@ -1020,24 +819,20 @@ class TableFoundation extends BaseFoundation {
1020
819
  total
1021
820
  }) : defaultPageText.replace('${currentStart}', currentStart).replace('${currentEnd}', currentEnd).replace('${total}', total);
1022
821
  }
1023
-
1024
822
  return info;
1025
823
  }
1026
-
1027
824
  toggleShowFilter(dataIndex, visible) {
1028
825
  let filterObj = this.getQuery(dataIndex);
1029
- const filterDropdownVisible = visible; // eslint-disable-next-line @typescript-eslint/no-unused-vars
1030
-
826
+ const filterDropdownVisible = visible;
1031
827
  filterObj = Object.assign(Object.assign({}, filterObj), {
1032
828
  filterDropdownVisible
1033
829
  });
1034
-
1035
- if (!this._filterShowIsControlled()) {// this._adapter.setQuery({
830
+ if (!this._filterShowIsControlled()) {
831
+ // this._adapter.setQuery({
1036
832
  // ...filterObj,
1037
833
  // filterDropdownVisible,
1038
834
  // });
1039
835
  }
1040
-
1041
836
  this._adapter.notifyFilterDropdownVisibleChange(filterDropdownVisible, dataIndex);
1042
837
  }
1043
838
  /**
@@ -1045,8 +840,6 @@ class TableFoundation extends BaseFoundation {
1045
840
  * @param {*} dataIndex
1046
841
  * @param {*} data
1047
842
  */
1048
-
1049
-
1050
843
  handleFilterSelect(dataIndex) {
1051
844
  let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1052
845
  let query = this.getQuery(dataIndex);
@@ -1058,17 +851,12 @@ class TableFoundation extends BaseFoundation {
1058
851
  filteredValue
1059
852
  });
1060
853
  queries = mergeQueries(query, queries);
1061
-
1062
854
  const mergedQueries = this._mergeToQueries(query, null);
1063
-
1064
855
  const filters = this._getAllFilters(mergedQueries);
1065
-
1066
856
  if (!this._filterIsControlled(dataIndex)) {
1067
857
  this._adapter.setQueries(queries);
1068
-
1069
858
  this.handleClickFilterOrSorter(queries);
1070
859
  }
1071
-
1072
860
  this._notifyChange(null, filters);
1073
861
  }
1074
862
  /**
@@ -1076,8 +864,6 @@ class TableFoundation extends BaseFoundation {
1076
864
  * @param {*} column
1077
865
  * @param {*} e
1078
866
  */
1079
-
1080
-
1081
867
  handleSort() {
1082
868
  let column = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1083
869
  let e = arguments.length > 1 ? arguments[1] : undefined;
@@ -1088,17 +874,12 @@ class TableFoundation extends BaseFoundation {
1088
874
  let queries = this.getState('queries');
1089
875
  let curQuery = null;
1090
876
  queries = [...queries];
1091
-
1092
877
  _each(queries, (query, idx, arr) => {
1093
878
  if (query.sorter) {
1094
879
  const sorterObj = Object.assign({}, query);
1095
-
1096
880
  const stateSortOrder = _get(sorterObj, 'sortOrder');
1097
-
1098
881
  const defaultSortOrder = _get(sorterObj, 'defaultSortOrder', false);
1099
-
1100
882
  let querySortOrder = this.isSortOrderValid(stateSortOrder) ? stateSortOrder : defaultSortOrder;
1101
-
1102
883
  if (dataIndex && dataIndex === sorterObj.dataIndex) {
1103
884
  if (querySortOrder === strings.SORT_DIRECTIONS[0]) {
1104
885
  querySortOrder = strings.SORT_DIRECTIONS[1];
@@ -1111,70 +892,55 @@ class TableFoundation extends BaseFoundation {
1111
892
  // This results in the current click only supports single column sorting
1112
893
  querySortOrder = false;
1113
894
  }
1114
-
1115
895
  arr[idx] = Object.assign(Object.assign({}, sorterObj), {
1116
896
  sortOrder: querySortOrder
1117
897
  });
1118
-
1119
898
  if (dataIndex === sorterObj.dataIndex) {
1120
899
  curQuery = arr[idx];
1121
900
  }
1122
901
  }
1123
902
  });
1124
-
1125
903
  if (!this._sorterIsControlled(dataIndex)) {
1126
904
  this._adapter.setQueries(queries);
1127
-
1128
905
  this.handleClickFilterOrSorter(queries);
1129
- } // notify sort event
1130
-
1131
-
906
+ }
907
+ // notify sort event
1132
908
  this._notifyChange(null, null, curQuery, null);
1133
909
  }
1134
910
  /**
1135
911
  * Recalculate the cached data after clicking filter or sorter
1136
912
  * @param {*} queries
1137
913
  */
1138
-
1139
-
1140
914
  handleClickFilterOrSorter(queries) {
1141
915
  const dataSource = [...this.getProp('dataSource')];
1142
916
  const sortedDataSource = this.getFilteredSortedDataSource(dataSource, queries);
917
+ const allDataDisabledRowKeys = this.getAllDisabledRowKeys(sortedDataSource);
1143
918
  this.setCachedFilteredSortedDataSource(sortedDataSource);
919
+ this.setAllDisabledRowKeys(allDataDisabledRowKeys);
1144
920
  const pageData = this.getCurrentPageData(sortedDataSource);
1145
921
  this.setAdapterPageData(pageData);
1146
922
  }
1147
-
1148
923
  getQuery(dataIndex, queries) {
1149
924
  queries = queries || this.getState('queries');
1150
-
1151
925
  if (dataIndex != null) {
1152
926
  return _find(queries, query => query.dataIndex === dataIndex);
1153
927
  }
1154
-
1155
928
  return undefined;
1156
929
  }
1157
-
1158
930
  getCellWidths(flattenedColumns, flattenedWidths, ignoreScrollBarKey) {
1159
931
  return this._adapter.getCellWidths(flattenedColumns, flattenedWidths, ignoreScrollBarKey);
1160
932
  }
1161
-
1162
933
  setHeadWidths(headWidths, index) {
1163
934
  return this._adapter.setHeadWidths(headWidths, index);
1164
935
  }
1165
-
1166
936
  getHeadWidths(index) {
1167
937
  return this._adapter.getHeadWidths(index);
1168
938
  }
1169
-
1170
939
  mergedRowExpandable(record) {
1171
940
  return this._adapter.mergedRowExpandable(record);
1172
941
  }
1173
-
1174
942
  setBodyHasScrollbar(bodyHasScrollbar) {
1175
943
  this._adapter.setBodyHasScrollbar(bodyHasScrollbar);
1176
944
  }
1177
-
1178
945
  }
1179
-
1180
946
  export default TableFoundation;