@douyinfe/semi-foundation 2.24.3 → 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 -433
  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 -419
  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 +68 -31
  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
@@ -4,66 +4,68 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
7
+ var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
8
+ var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
8
9
  var _includes2 = _interopRequireDefault(require("lodash/includes"));
9
-
10
10
  var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
11
-
12
11
  var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
13
-
14
- var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
15
-
16
12
  var _assign2 = _interopRequireDefault(require("lodash/assign"));
17
-
18
13
  var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
19
-
20
14
  var _difference2 = _interopRequireDefault(require("lodash/difference"));
21
-
22
15
  var _get2 = _interopRequireDefault(require("lodash/get"));
23
-
24
16
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
25
-
26
17
  var _foundation = _interopRequireDefault(require("../base/foundation"));
27
-
28
18
  var _treeUtil = require("../tree/treeUtil");
29
-
30
19
  var _util = require("./util");
31
-
32
20
  var _constants = require("./constants");
33
-
34
21
  var _isEnterPress = _interopRequireDefault(require("../utils/isEnterPress"));
35
-
36
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
-
38
- // eslint-disable-next-line max-len
39
23
  class CascaderFoundation extends _foundation.default {
40
24
  constructor(adapter) {
41
25
  super(Object.assign({}, adapter));
42
-
43
26
  this.updateSearching = isSearching => {
44
27
  this._adapter.updateStates({
45
28
  isSearching: false
46
29
  });
47
30
  };
31
+ this.handleTagRemoveByKey = key => {
32
+ var _a, _b;
33
+ const {
34
+ keyEntities
35
+ } = this.getStates();
36
+ const {
37
+ disabled
38
+ } = this.getProps();
39
+ if (disabled) {
40
+ /* istanbul ignore next */
41
+ return;
42
+ }
43
+ const removedItem = (_a = keyEntities[key]) !== null && _a !== void 0 ? _a : {};
44
+ !((_b = removedItem === null || removedItem === void 0 ? void 0 : removedItem.data) === null || _b === void 0 ? void 0 : _b.disable) && this._handleMultipleSelect(removedItem);
45
+ };
46
+ this.handleTagRemoveInTrigger = pos => {
47
+ const {
48
+ treeData
49
+ } = this.getStates();
50
+ const key = (0, _util.getKeyByPos)(pos, treeData);
51
+ this.handleTagRemoveByKey(key);
52
+ };
48
53
  }
49
-
50
54
  init() {
51
55
  const isOpen = this.getProp('open') || this.getProp('defaultOpen');
52
56
  this.collectOptions(true);
53
-
57
+ this._adapter.updateLoadingKeyRefValue(new Set());
58
+ this._adapter.updateLoadedKeyRefValue(new Set());
54
59
  if (isOpen && !this._isDisabled()) {
55
60
  this.open();
56
61
  }
57
62
  }
58
-
59
63
  destroy() {
60
64
  this._adapter.unregisterClickOutsideHandler();
61
65
  }
62
-
63
66
  _isDisabled() {
64
67
  return this.getProp('disabled');
65
68
  }
66
-
67
69
  _isFilterable() {
68
70
  return Boolean(this.getProp('filterTreeNode')); // filter can be boolean or function
69
71
  }
@@ -74,78 +76,57 @@ class CascaderFoundation extends _foundation.default {
74
76
  multiple
75
77
  } = this.getProps();
76
78
  const valueProp = onChangeWithObject ? [] : 'value';
77
-
78
79
  if (multiple) {
79
- const valuePath = []; // eslint-disable-next-line @typescript-eslint/ban-ts-comment
80
- // @ts-ignore
81
-
80
+ const valuePath = [];
81
+ // @ts-ignore
82
82
  item.forEach(checkedKey => {
83
83
  const valuePathItem = this.getItemPropPath(checkedKey, valueProp);
84
84
  valuePath.push(valuePathItem);
85
85
  });
86
-
87
86
  this._adapter.notifyChange(valuePath);
88
87
  } else {
89
88
  const valuePath = (0, _isUndefined2.default)(item) || !('key' in item) ? [] : this.getItemPropPath(item.key, valueProp);
90
-
91
89
  this._adapter.notifyChange(valuePath);
92
90
  }
93
91
  }
94
-
95
92
  _isLeaf(item) {
96
93
  if (this.getProp('loadData')) {
97
94
  return Boolean(item.isLeaf);
98
95
  }
99
-
100
96
  return !item.children || !item.children.length;
101
97
  }
102
-
103
98
  _clearInput() {
104
99
  this._adapter.updateInputValue('');
105
- } // Scenes that may trigger blur:
100
+ }
101
+ // Scenes that may trigger blur:
106
102
  // 1、clickOutSide
107
-
108
-
109
103
  _notifyBlur(e) {
110
104
  this._adapter.notifyBlur(e);
111
- } // Scenes that may trigger focus:
105
+ }
106
+ // Scenes that may trigger focus:
112
107
  // 1、click selection
113
-
114
-
115
108
  _notifyFocus(e) {
116
109
  this._adapter.notifyFocus(e);
117
110
  }
118
-
119
111
  _isOptionDisabled(key, keyEntities) {
120
112
  const isDisabled = (0, _treeUtil.findAncestorKeys)([key], keyEntities, true).some(item => keyEntities[item].data.disabled);
121
113
  return isDisabled;
122
114
  }
123
-
124
- getCopyFromState(items) {
125
- const res = {};
126
- (0, _util.normalizedArr)(items).forEach(key => {
127
- res[key] = (0, _cloneDeep2.default)(this.getState(key));
128
- });
129
- return res;
130
- } // prop: is array, return all data
131
-
132
-
115
+ // prop: is array, return all data
133
116
  getItemPropPath(selectedKey, prop, keyEntities) {
134
117
  const searchMap = keyEntities || this.getState('keyEntities');
135
118
  const selectedItem = searchMap[selectedKey];
136
119
  let path = [];
137
-
138
- if (!selectedItem) {// do nothing
120
+ if (!selectedItem) {
121
+ // do nothing
139
122
  } else if (selectedItem._notExist) {
140
123
  path = selectedItem.path;
141
124
  } else {
142
125
  const keyPath = selectedItem.path;
143
126
  path = Array.isArray(prop) ? keyPath.map(key => searchMap[key].data) : keyPath.map(key => searchMap[key].data[prop]);
144
127
  }
145
-
146
128
  return path;
147
129
  }
148
-
149
130
  _getCacheValue(keyEntities) {
150
131
  const {
151
132
  selectedKeys
@@ -153,13 +134,10 @@ class CascaderFoundation extends _foundation.default {
153
134
  const selectedKey = Array.from(selectedKeys)[0];
154
135
  let cacheValue;
155
136
  /* selectedKeys does not match keyEntities */
156
-
157
137
  if ((0, _isEmpty2.default)(keyEntities[selectedKey])) {
158
138
  if ((0, _includes2.default)(selectedKey, 'not-exist-')) {
159
139
  /* Get the value behind not-exist- */
160
- // eslint-disable-next-line prefer-destructuring
161
- const targetValue = selectedKey.match(/not-exist-(\S*)/)[1]; // eslint-disable-next-line max-depth
162
-
140
+ const targetValue = selectedKey.match(/not-exist-(\S*)/)[1];
163
141
  if ((0, _isEmpty2.default)(keyEntities[targetValue])) {
164
142
  cacheValue = targetValue;
165
143
  } else {
@@ -171,7 +149,6 @@ class CascaderFoundation extends _foundation.default {
171
149
  * 中存在,则 selectedKeys=Set('0-0'),此时输入框显示 0-0 的 label。 这个地
172
150
  * 方做的操作就是,为了例子中第二次更新后 0-0 label 能够正常显示。
173
151
  */
174
-
175
152
  /**
176
153
  * The typical scenario is: suppose we select the 0-0 node, at this time
177
154
  * selectedKeys=Set('0-0'), the input box will display a 0-0 label. When
@@ -189,15 +166,12 @@ class CascaderFoundation extends _foundation.default {
189
166
  cacheValue = selectedKey;
190
167
  }
191
168
  /* selectedKeys match keyEntities */
192
-
193
169
  } else {
194
170
  /* selectedKeys match keyEntities */
195
171
  cacheValue = keyEntities[selectedKey].valuePath;
196
172
  }
197
-
198
173
  return cacheValue;
199
174
  }
200
-
201
175
  collectOptions() {
202
176
  let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
203
177
  const {
@@ -206,20 +180,15 @@ class CascaderFoundation extends _foundation.default {
206
180
  defaultValue
207
181
  } = this.getProps();
208
182
  const keyEntities = (0, _util.convertDataToEntities)(treeData);
209
-
210
183
  this._adapter.rePositionDropdown();
211
-
212
184
  let cacheValue;
213
185
  /* when mount */
214
-
215
186
  if (init) {
216
187
  cacheValue = defaultValue;
217
188
  } else if (!(0, _isEmpty2.default)(keyEntities)) {
218
189
  cacheValue = this._getCacheValue(keyEntities);
219
190
  }
220
-
221
191
  const selectedValue = !this._isControlledComponent() ? cacheValue : value;
222
-
223
192
  if ((0, _util.isValid)(selectedValue)) {
224
193
  this.updateSelectedKey(selectedValue, keyEntities);
225
194
  } else {
@@ -227,9 +196,8 @@ class CascaderFoundation extends _foundation.default {
227
196
  keyEntities
228
197
  });
229
198
  }
230
- } // call when props.value change
231
-
232
-
199
+ }
200
+ // call when props.value change
233
201
  handleValueChange(value) {
234
202
  const {
235
203
  keyEntities
@@ -243,8 +211,6 @@ class CascaderFoundation extends _foundation.default {
243
211
  * When single selection, the clear objects of
244
212
  * selectedKeys, activeKeys, filteredKeys, input, etc.
245
213
  */
246
-
247
-
248
214
  _getClearSelectedKey(filterable) {
249
215
  const updateStates = {};
250
216
  const {
@@ -255,15 +221,12 @@ class CascaderFoundation extends _foundation.default {
255
221
  updateStates.selectedKeys = new Set([]);
256
222
  updateStates.activeKeys = new Set([]);
257
223
  updateStates.filteredKeys = new Set([]);
258
-
259
224
  if (filterable && !multiple) {
260
225
  updateStates.inputPlaceHolder = searchPlaceholder || placeholder || '';
261
226
  updateStates.inputValue = '';
262
227
  }
263
-
264
228
  return updateStates;
265
229
  }
266
-
267
230
  updateSelectedKey(value, keyEntities) {
268
231
  const {
269
232
  changeOnSelect,
@@ -272,38 +235,37 @@ class CascaderFoundation extends _foundation.default {
272
235
  } = this.getProps();
273
236
  const {
274
237
  activeKeys,
275
- loadingKeys,
276
238
  loading,
277
239
  keyEntities: keyEntityState,
278
240
  selectedKeys: selectedKeysState
279
241
  } = this.getStates();
280
-
242
+ const loadingKeys = this._adapter.getLoadingKeyRefValue();
281
243
  const filterable = this._isFilterable();
282
-
283
244
  const loadingActive = [...activeKeys].filter(i => loadingKeys.has(i));
284
- const valuePath = onChangeWithObject ? (0, _util.normalizedArr)(value).map(i => i.value) : (0, _util.normalizedArr)(value);
285
- const selectedKeys = (0, _util.findKeysForValues)(valuePath, keyEntities);
245
+ const normalizedValue = (0, _util.normalizedArr)(value);
246
+ const valuePath = onChangeWithObject && (0, _isObject2.default)(normalizedValue[0]) ? normalizedValue.map(i => i.value) : normalizedValue;
247
+ const selectedKeys = (0, _util.getKeysByValuePath)(valuePath);
286
248
  let updateStates = {};
287
-
288
- if (selectedKeys.length) {
289
- const selectedKey = selectedKeys[0];
290
- const selectedItem = keyEntities[selectedKey];
249
+ const selectedKey = selectedKeys.length > 0 ? selectedKeys[0] : undefined;
250
+ const selectedItem = selectedKey ? keyEntities[selectedKey] : undefined;
251
+ if (selectedItem) {
291
252
  /**
292
253
  * When changeOnSelect is turned on, or the target option is a leaf option,
293
254
  * the option is considered to be selected, even if the option is disabled
294
255
  */
295
-
296
256
  if (changeOnSelect || this._isLeaf(selectedItem.data)) {
297
257
  updateStates.selectedKeys = new Set([selectedKey]);
298
-
299
258
  if (!loadingActive.length) {
300
259
  updateStates.activeKeys = new Set(selectedItem.path);
301
260
  }
302
-
303
261
  if (filterable && !multiple) {
304
262
  const displayText = this.renderDisplayText(selectedKey, keyEntities);
305
263
  updateStates.inputPlaceHolder = displayText;
306
- updateStates.inputValue = displayText;
264
+ /*
265
+ * displayText should not be assign to inputValue,
266
+ * cause inputValue should only change by user enter
267
+ */
268
+ // updateStates.inputValue = displayText;
307
269
  }
308
270
  /**
309
271
  * If selectedKeys does not meet the update conditions,
@@ -315,13 +277,12 @@ class CascaderFoundation extends _foundation.default {
315
277
  * is a non-leaf node. At this point, selectedKeys should
316
278
  * be cleared.
317
279
  */
318
-
319
280
  } else if ((0, _isEqual2.default)(selectedKeys, Array.from(selectedKeysState))) {
320
281
  updateStates = this._getClearSelectedKey(filterable);
321
282
  }
322
283
  } else if (value && value.length) {
323
284
  const val = valuePath[valuePath.length - 1];
324
- const key = "not-exist-".concat(val);
285
+ const key = `not-exist-${val}`;
325
286
  const optionNotExist = {
326
287
  data: {
327
288
  label: val,
@@ -332,56 +293,46 @@ class CascaderFoundation extends _foundation.default {
332
293
  _notExist: true
333
294
  };
334
295
  updateStates.selectedKeys = new Set([key]);
335
-
336
296
  if (filterable && !multiple) {
337
297
  const displayText = this._defaultRenderText(valuePath);
338
-
339
298
  updateStates.inputPlaceHolder = displayText;
340
- updateStates.inputValue = displayText;
299
+ /*
300
+ * displayText should not be assign to inputValue,
301
+ * cause inputValue should only change by user enter
302
+ */
303
+ // updateStates.inputValue = displayText;
341
304
  }
342
305
 
343
- keyEntities[key] = optionNotExist; // Fix: 1155, if the data is loaded asynchronously to update treeData, the emptying operation should not be done when entering the updateSelectedKey method
306
+ keyEntities[key] = optionNotExist;
307
+ // Fix: 1155, if the data is loaded asynchronously to update treeData, the emptying operation should not be done when entering the updateSelectedKey method
344
308
  } else if (loading) {
345
309
  // Use assign to avoid overwriting the'not-exist- * 'property of keyEntities after asynchronous loading
346
310
  // Overwriting'not-exist- * 'will cause selectionContent to be emptied unexpectedly when clicking on a dropDown item
347
311
  updateStates.keyEntities = (0, _assign2.default)(keyEntityState, keyEntities);
348
-
349
312
  this._adapter.updateStates(updateStates);
350
-
351
313
  return;
352
314
  } else {
353
315
  updateStates = this._getClearSelectedKey(filterable);
354
316
  }
355
-
356
317
  updateStates.keyEntities = keyEntities;
357
-
358
318
  this._adapter.updateStates(updateStates);
359
319
  }
360
-
361
320
  open() {
362
321
  const filterable = this._isFilterable();
363
-
364
322
  const {
365
323
  multiple
366
324
  } = this.getProps();
367
-
368
325
  this._adapter.openMenu();
369
-
370
326
  if (filterable) {
371
327
  this._clearInput();
372
-
373
328
  !multiple && this.toggle2SearchInput(true);
374
329
  }
375
-
376
330
  if (this._isControlledComponent()) {
377
331
  this.reCalcActiveKeys();
378
332
  }
379
-
380
333
  this._adapter.notifyDropdownVisibleChange(true);
381
-
382
334
  this._adapter.registerClickOutsideHandler(e => this.close(e));
383
335
  }
384
-
385
336
  reCalcActiveKeys() {
386
337
  const {
387
338
  selectedKeys,
@@ -390,91 +341,82 @@ class CascaderFoundation extends _foundation.default {
390
341
  } = this.getStates();
391
342
  const selectedKey = [...selectedKeys][0];
392
343
  const selectedItem = keyEntities[selectedKey];
393
-
394
344
  if (!selectedItem) {
395
345
  return;
396
346
  }
397
-
398
347
  const newActiveKeys = new Set(selectedItem.path);
399
-
400
348
  if (!(0, _isEqual2.default)(newActiveKeys, activeKeys)) {
401
349
  this._adapter.updateStates({
402
350
  activeKeys: newActiveKeys
403
351
  });
404
352
  }
405
353
  }
406
-
407
354
  close(e, key) {
408
355
  const {
409
356
  multiple
410
357
  } = this.getProps();
411
-
412
358
  this._adapter.closeMenu();
413
-
414
359
  this._adapter.notifyDropdownVisibleChange(false);
415
-
416
360
  this._adapter.unregisterClickOutsideHandler();
417
-
418
361
  if (this._isFilterable()) {
419
362
  const {
420
363
  selectedKeys,
421
364
  isSearching
422
365
  } = this.getStates();
423
366
  let inputValue = '';
424
-
425
367
  if (key && !multiple) {
426
368
  inputValue = this.renderDisplayText(key);
427
369
  } else if (selectedKeys.size && !multiple) {
428
370
  inputValue = this.renderDisplayText([...selectedKeys][0]);
429
371
  }
430
-
431
372
  this._adapter.updateStates({
432
373
  inputValue
433
374
  });
434
-
435
375
  !multiple && this.toggle2SearchInput(false);
436
376
  !multiple && this._adapter.updateFocusState(false);
437
377
  }
438
-
439
378
  this._notifyBlur(e);
440
379
  }
441
-
380
+ focus() {
381
+ const {
382
+ filterTreeNode
383
+ } = this.getProps();
384
+ if (filterTreeNode) {
385
+ this._adapter.focusInput();
386
+ }
387
+ this._adapter.updateFocusState(true);
388
+ }
389
+ blur() {
390
+ const {
391
+ filterTreeNode
392
+ } = this.getProps();
393
+ if (filterTreeNode) {
394
+ this._adapter.blurInput();
395
+ }
396
+ this._adapter.updateFocusState(false);
397
+ }
442
398
  toggle2SearchInput(isShow) {
443
399
  if (isShow) {
444
- this._adapter.toggleInputShow(isShow, () => this.focusInput());
400
+ this._adapter.toggleInputShow(isShow, () => this.focus());
445
401
  } else {
446
402
  this._adapter.toggleInputShow(isShow, () => undefined);
447
403
  }
448
404
  }
449
-
450
- focusInput() {
451
- this._adapter.focusInput();
452
-
453
- this._adapter.updateFocusState(true);
454
- }
455
-
456
405
  handleItemClick(e, item) {
457
406
  const isDisabled = this._isDisabled();
458
-
459
407
  if (isDisabled) {
460
408
  return;
461
409
  }
462
-
463
410
  this.handleSingleSelect(e, item);
464
-
465
411
  this._adapter.rePositionDropdown();
466
412
  }
467
-
468
413
  handleItemHover(e, item) {
469
414
  const isDisabled = this._isDisabled();
470
-
471
415
  if (isDisabled) {
472
416
  return;
473
417
  }
474
-
475
418
  this.handleShowNextByHover(item);
476
419
  }
477
-
478
420
  handleShowNextByHover(item) {
479
421
  const {
480
422
  keyEntities
@@ -483,46 +425,33 @@ class CascaderFoundation extends _foundation.default {
483
425
  data,
484
426
  key
485
427
  } = item;
486
-
487
428
  const isLeaf = this._isLeaf(data);
488
-
489
429
  const activeKeys = keyEntities[key].path;
490
-
491
430
  this._adapter.updateStates({
492
431
  activeKeys: new Set(activeKeys)
493
432
  });
494
-
495
433
  if (!isLeaf) {
496
434
  this.notifyIfLoadData(item);
497
435
  }
498
436
  }
499
-
500
437
  onItemCheckboxClick(item) {
501
438
  const isDisabled = this._isDisabled();
502
-
503
439
  if (isDisabled) {
504
440
  return;
505
441
  }
506
-
507
442
  this._handleMultipleSelect(item);
508
-
509
443
  this._adapter.rePositionDropdown();
510
444
  }
511
-
512
445
  handleClick(e) {
513
446
  const isDisabled = this._isDisabled();
514
-
515
447
  const isFilterable = this._isFilterable();
516
-
517
448
  const {
518
449
  isOpen
519
450
  } = this.getStates();
520
-
521
451
  if (isDisabled) {
522
452
  return;
523
453
  } else if (!isOpen) {
524
454
  this.open();
525
-
526
455
  this._notifyFocus(e);
527
456
  } else if (isOpen && !isFilterable) {
528
457
  this.close(e);
@@ -531,94 +460,77 @@ class CascaderFoundation extends _foundation.default {
531
460
  /**
532
461
  * A11y: simulate selection click
533
462
  */
534
-
535
463
  /* istanbul ignore next */
536
-
537
-
538
464
  handleSelectionEnterPress(keyboardEvent) {
539
465
  if ((0, _isEnterPress.default)(keyboardEvent)) {
540
466
  this.handleClick(keyboardEvent);
541
467
  }
542
468
  }
543
-
544
469
  toggleHoverState(bool) {
545
470
  this._adapter.toggleHovering(bool);
546
471
  }
547
-
548
472
  _defaultRenderText(path, displayRender) {
549
473
  const separator = this.getProp('separator');
550
-
551
474
  if (displayRender && typeof displayRender === 'function') {
552
475
  return displayRender(path);
553
476
  } else {
554
477
  return path.join(separator);
555
478
  }
556
479
  }
557
-
558
480
  renderDisplayText(targetKey, keyEntities) {
559
481
  const renderFunc = this.getProp('displayRender');
560
482
  const displayProp = this.getProp('displayProp');
561
483
  const displayPath = this.getItemPropPath(targetKey, displayProp, keyEntities);
562
484
  return this._defaultRenderText(displayPath, renderFunc);
563
485
  }
564
-
565
486
  handleNodeLoad(item) {
566
487
  const {
567
488
  data,
568
489
  key
569
490
  } = item;
570
- const {
571
- loadedKeys: prevLoadedKeys,
572
- loadingKeys: prevLoadingKeys
573
- } = this.getCopyFromState(['loadedKeys', 'loadingKeys']);
491
+ const prevLoadingKeys = new Set(this._adapter.getLoadingKeyRefValue());
492
+ const prevLoadedKeys = new Set(this._adapter.getLoadedKeyRefValue());
574
493
  const newLoadedKeys = prevLoadedKeys.add(key);
575
494
  const newLoadingKeys = new Set([...prevLoadingKeys]);
576
- newLoadingKeys.delete(key); // onLoad should trigger before internal setState to avoid `loadData` trigger twice.
577
-
495
+ newLoadingKeys.delete(key);
496
+ // onLoad should trigger before internal setState to avoid `loadData` trigger twice.
578
497
  this._adapter.notifyOnLoad(newLoadedKeys, data);
579
-
498
+ this._adapter.updateLoadingKeyRefValue(newLoadingKeys);
499
+ this._adapter.updateLoadedKeyRefValue(newLoadedKeys);
580
500
  this._adapter.updateStates({
581
- loadingKeys: newLoadingKeys
501
+ loadingKeys: newLoadingKeys,
502
+ loadedKeys: newLoadedKeys
582
503
  });
583
504
  }
584
-
585
505
  notifyIfLoadData(item) {
586
506
  const {
587
507
  data,
588
508
  key
589
509
  } = item;
590
-
591
510
  this._adapter.updateStates({
592
511
  loading: false
593
512
  });
594
-
595
513
  if (!data.isLeaf && !data.children && this.getProp('loadData')) {
596
- const {
597
- loadedKeys,
598
- loadingKeys
599
- } = this.getCopyFromState(['loadedKeys', 'loadingKeys']);
600
-
514
+ const loadedKeys = this._adapter.getLoadedKeyRefValue();
515
+ const loadingKeys = new Set(this._adapter.getLoadingKeyRefValue());
601
516
  if (loadedKeys.has(key) || loadingKeys.has(key)) {
602
517
  return;
603
518
  }
604
-
605
519
  this._adapter.updateStates({
606
520
  loading: true
607
521
  });
608
-
609
522
  const {
610
523
  keyEntities
611
524
  } = this.getStates();
612
525
  const optionPath = this.getItemPropPath(key, [], keyEntities);
613
-
526
+ const newLoadingKeys = loadingKeys.add(key);
527
+ this._adapter.updateLoadingKeyRefValue(newLoadingKeys);
614
528
  this._adapter.updateStates({
615
- loadingKeys: loadingKeys.add(key)
529
+ loadingKeys: newLoadingKeys
616
530
  });
617
-
618
531
  this._adapter.notifyLoadData(optionPath, this.handleNodeLoad.bind(this, item));
619
532
  }
620
533
  }
621
-
622
534
  handleSingleSelect(e, item) {
623
535
  const {
624
536
  changeOnSelect: allowChange,
@@ -631,68 +543,51 @@ class CascaderFoundation extends _foundation.default {
631
543
  selectedKeys,
632
544
  isSearching
633
545
  } = this.getStates();
634
-
635
546
  const filterable = this._isFilterable();
636
-
637
547
  const {
638
548
  data,
639
549
  key
640
550
  } = item;
641
-
642
551
  const isLeaf = this._isLeaf(data);
643
-
644
552
  const activeKeys = keyEntities[key].path;
645
553
  const selectedKey = [key];
646
554
  const hasChanged = key !== [...selectedKeys][0];
647
-
648
555
  if (!isLeaf && !allowChange && !isSearching) {
649
556
  this._adapter.updateStates({
650
557
  activeKeys: new Set(activeKeys)
651
558
  });
652
-
653
559
  this.notifyIfLoadData(item);
654
560
  return;
655
561
  }
656
-
657
562
  if (multiple) {
658
563
  this._adapter.updateStates({
659
564
  activeKeys: new Set(activeKeys)
660
565
  });
661
-
662
566
  if (isLeaf && enableLeafClick) {
663
567
  this.onItemCheckboxClick(item);
664
568
  }
665
569
  } else {
666
570
  this._adapter.notifySelect(data.value);
667
-
668
571
  if (hasChanged) {
669
572
  this._notifyChange(item);
670
-
671
573
  this.notifyIfLoadData(item);
672
-
673
574
  if (this._isControlledComponent()) {
674
575
  this._adapter.updateStates({
675
576
  activeKeys: new Set(activeKeys)
676
577
  });
677
-
678
578
  if (isLeaf) {
679
579
  this.close(e);
680
580
  }
681
-
682
581
  return;
683
582
  }
684
-
685
583
  this._adapter.updateStates({
686
584
  activeKeys: new Set(activeKeys),
687
585
  selectedKeys: new Set(selectedKey)
688
586
  });
689
-
690
587
  const displayText = this.renderDisplayText(key);
691
-
692
588
  if (filterable) {
693
589
  this._adapter.updateInputPlaceHolder(displayText);
694
590
  }
695
-
696
591
  if (isLeaf) {
697
592
  this.close(e, key);
698
593
  } else if (!filterLeafOnly && isSearching) {
@@ -703,7 +598,6 @@ class CascaderFoundation extends _foundation.default {
703
598
  }
704
599
  }
705
600
  }
706
-
707
601
  _handleMultipleSelect(item) {
708
602
  const {
709
603
  key
@@ -718,12 +612,12 @@ class CascaderFoundation extends _foundation.default {
718
612
  max,
719
613
  disableStrictly,
720
614
  leafOnly
721
- } = this.getProps(); // prev checked status
722
-
723
- const prevCheckedStatus = checkedKeys.has(key); // next checked status
724
-
725
- const curCheckedStatus = disableStrictly ? this.calcCheckedStatus(!prevCheckedStatus, key) : !prevCheckedStatus; // calculate all key of nodes that are checked or half checked
726
-
615
+ } = this.getProps();
616
+ // prev checked status
617
+ const prevCheckedStatus = checkedKeys.has(key);
618
+ // next checked status
619
+ const curCheckedStatus = disableStrictly ? this.calcCheckedStatus(!prevCheckedStatus, key) : !prevCheckedStatus;
620
+ // calculate all key of nodes that are checked or half checked
727
621
  const {
728
622
  checkedKeys: curCheckedKeys,
729
623
  halfCheckedKeys: curHalfCheckedKeys
@@ -733,7 +627,6 @@ class CascaderFoundation extends _foundation.default {
733
627
  const isNoneMerge = mergeType === _constants.strings.NONE_MERGE_TYPE;
734
628
  const curResolvedCheckedKeys = new Set((0, _treeUtil.normalizeKeyList)(curCheckedKeys, keyEntities, isLeafOnlyMerge));
735
629
  const curRealCheckedKeys = isNoneMerge ? curCheckedKeys : curResolvedCheckedKeys;
736
-
737
630
  if ((0, _isNumber2.default)(max)) {
738
631
  if (!isNoneMerge) {
739
632
  // When it exceeds max, the quantity is allowed to be reduced, and no further increase is allowed
@@ -742,9 +635,7 @@ class CascaderFoundation extends _foundation.default {
742
635
  curResolvedCheckedKeys.forEach(itemKey => {
743
636
  checkedEntities.push(keyEntities[itemKey]);
744
637
  });
745
-
746
638
  this._adapter.notifyOnExceed(checkedEntities);
747
-
748
639
  return;
749
640
  }
750
641
  } else {
@@ -754,60 +645,47 @@ class CascaderFoundation extends _foundation.default {
754
645
  curCheckedKeys.forEach(itemKey => {
755
646
  checkedEntities.push(keyEntities[itemKey]);
756
647
  });
757
-
758
648
  this._adapter.notifyOnExceed(checkedEntities);
759
-
760
649
  return;
761
650
  }
762
651
  }
763
652
  }
764
-
765
653
  if (!this._isControlledComponent()) {
766
654
  this._adapter.updateStates({
767
655
  checkedKeys: curCheckedKeys,
768
656
  halfCheckedKeys: curHalfCheckedKeys,
769
657
  resolvedCheckedKeys: curResolvedCheckedKeys
770
658
  });
771
- } // The click event during multiple selection will definitely cause the checked state of node to change,
659
+ }
660
+ // The click event during multiple selection will definitely cause the checked state of node to change,
772
661
  // so there is no need to judge the value to change.
773
-
774
-
775
662
  this._notifyChange(curRealCheckedKeys);
776
-
777
663
  if (curCheckedStatus) {
778
664
  this._notifySelect(curRealCheckedKeys);
779
665
  }
780
-
781
666
  this._adapter.updateStates({
782
667
  inputValue: ''
783
668
  });
784
669
  }
785
-
786
670
  calcNonDisabledCheckedKeys(eventKey, targetStatus) {
787
671
  const {
788
672
  keyEntities,
789
673
  disabledKeys
790
674
  } = this.getStates();
791
- const {
792
- checkedKeys
793
- } = this.getCopyFromState(['checkedKeys']);
675
+ const checkedKeys = new Set(this.getState('checkedKeys'));
794
676
  const descendantKeys = (0, _treeUtil.normalizeKeyList)((0, _treeUtil.findDescendantKeys)([eventKey], keyEntities, false), keyEntities, true);
795
677
  const hasDisabled = descendantKeys.some(key => disabledKeys.has(key));
796
-
797
678
  if (!hasDisabled) {
798
679
  return this.calcCheckedKeys(eventKey, targetStatus);
799
680
  }
800
-
801
681
  const nonDisabled = descendantKeys.filter(key => !disabledKeys.has(key));
802
682
  const newCheckedKeys = targetStatus ? [...nonDisabled, ...checkedKeys] : (0, _difference2.default)((0, _treeUtil.normalizeKeyList)([...checkedKeys], keyEntities, true), nonDisabled);
803
683
  return (0, _treeUtil.calcCheckedKeys)(newCheckedKeys, keyEntities);
804
684
  }
805
-
806
685
  calcCheckedStatus(targetStatus, eventKey) {
807
686
  if (!targetStatus) {
808
687
  return targetStatus;
809
688
  }
810
-
811
689
  const {
812
690
  checkedKeys,
813
691
  keyEntities,
@@ -815,29 +693,24 @@ class CascaderFoundation extends _foundation.default {
815
693
  } = this.getStates();
816
694
  const descendantKeys = (0, _treeUtil.normalizeKeyList)((0, _treeUtil.findDescendantKeys)([eventKey], keyEntities, false), keyEntities, true);
817
695
  const hasDisabled = descendantKeys.some(key => disabledKeys.has(key));
818
-
819
696
  if (!hasDisabled) {
820
697
  return targetStatus;
821
698
  }
822
-
823
699
  const nonDisabledKeys = descendantKeys.filter(key => !disabledKeys.has(key));
824
700
  const allChecked = nonDisabledKeys.every(key => checkedKeys.has(key));
825
701
  return !allChecked;
826
702
  }
827
-
828
703
  _notifySelect(keys) {
829
704
  const {
830
705
  keyEntities
831
706
  } = this.getStates();
832
707
  const values = [];
833
708
  keys.forEach(key => {
834
- if (!(0, _isEmpty2.default)(keyEntities) && !(0, _isEmpty2.default)(keyEntities[key])) {
835
- const valueItem = keyEntities[key].data.value;
836
- values.push(valueItem);
837
- }
709
+ var _a, _b;
710
+ const valueItem = (_b = (_a = keyEntities[key]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.value;
711
+ valueItem !== undefined && values.push(valueItem);
838
712
  });
839
713
  const formatValue = values.length === 1 ? values[0] : values;
840
-
841
714
  this._adapter.notifySelect(formatValue);
842
715
  }
843
716
  /**
@@ -845,22 +718,16 @@ class CascaderFoundation extends _foundation.default {
845
718
  * @param {string} key key of node
846
719
  * @param {boolean} curCheckedStatus checked status of node
847
720
  */
848
-
849
-
850
721
  calcCheckedKeys(key, curCheckedStatus) {
851
722
  const {
852
723
  keyEntities
853
724
  } = this.getStates();
854
- const {
855
- checkedKeys,
856
- halfCheckedKeys
857
- } = this.getCopyFromState(['checkedKeys', 'halfCheckedKeys']);
725
+ const checkedKeys = new Set(this.getState('checkedKeys'));
726
+ const halfCheckedKeys = new Set(this.getState('halfCheckedKeys'));
858
727
  return curCheckedStatus ? (0, _treeUtil.calcCheckedKeysForChecked)(key, keyEntities, checkedKeys, halfCheckedKeys) : (0, _treeUtil.calcCheckedKeysForUnchecked)(key, keyEntities, checkedKeys, halfCheckedKeys);
859
728
  }
860
-
861
729
  handleInputChange(sugInput) {
862
730
  this._adapter.updateInputValue(sugInput);
863
-
864
731
  const {
865
732
  keyEntities
866
733
  } = this.getStates();
@@ -870,31 +737,26 @@ class CascaderFoundation extends _foundation.default {
870
737
  filterLeafOnly
871
738
  } = this.getProps();
872
739
  let filteredKeys = [];
873
-
874
740
  if (sugInput) {
875
741
  filteredKeys = Object.values(keyEntities).filter(item => {
876
742
  const {
877
743
  key,
878
- _notExist
744
+ _notExist,
745
+ data
879
746
  } = item;
880
-
881
747
  if (_notExist) {
882
748
  return false;
883
749
  }
884
-
885
- const filteredPath = this.getItemPropPath(key, treeNodeFilterProp).join();
886
- return (0, _treeUtil.filter)(sugInput, filteredPath, filterTreeNode, false);
750
+ const filteredPath = this.getItemPropPath(key, treeNodeFilterProp);
751
+ return (0, _util.filter)(sugInput, data, filterTreeNode, filteredPath);
887
752
  }).filter(item => filterTreeNode && !filterLeafOnly || this._isLeaf(item)).map(item => item.key);
888
753
  }
889
-
890
754
  this._adapter.updateStates({
891
755
  isSearching: Boolean(sugInput),
892
756
  filteredKeys: new Set(filteredKeys)
893
757
  });
894
-
895
758
  this._adapter.notifyOnSearch(sugInput);
896
759
  }
897
-
898
760
  handleClear() {
899
761
  const {
900
762
  isSearching
@@ -904,121 +766,101 @@ class CascaderFoundation extends _foundation.default {
904
766
  placeholder,
905
767
  multiple
906
768
  } = this.getProps();
907
-
908
769
  const isFilterable = this._isFilterable();
909
-
910
770
  const isControlled = this._isControlledComponent();
911
-
912
771
  const newState = {};
913
-
914
772
  if (multiple) {
773
+ newState.isSearching = false;
915
774
  this._adapter.updateInputValue('');
916
-
917
775
  this._adapter.notifyOnSearch('');
918
-
919
776
  newState.checkedKeys = new Set([]);
920
777
  newState.halfCheckedKeys = new Set([]);
921
778
  newState.selectedKeys = new Set([]);
922
779
  newState.activeKeys = new Set([]);
923
780
  newState.resolvedCheckedKeys = new Set([]);
924
-
925
781
  this._adapter.notifyChange([]);
926
782
  } else {
927
783
  // if click clearBtn when not searching, clear selected and active values as well
928
784
  if (isFilterable && isSearching) {
929
785
  newState.isSearching = false;
930
-
931
786
  this._adapter.updateInputValue('');
932
-
933
787
  this._adapter.notifyOnSearch('');
934
788
  } else {
935
789
  if (isFilterable) {
936
790
  newState.inputValue = '';
937
791
  newState.inputPlaceHolder = searchPlaceholder || placeholder || '';
938
-
939
792
  this._adapter.updateInputValue('');
940
-
941
793
  this._adapter.notifyOnSearch('');
942
794
  }
943
-
944
795
  if (!isControlled) {
945
796
  newState.selectedKeys = new Set([]);
946
797
  }
947
-
948
798
  newState.activeKeys = new Set([]);
949
799
  newState.filteredKeys = new Set([]);
950
-
951
800
  this._adapter.notifyChange([]);
952
801
  }
953
802
  }
954
-
955
803
  this._adapter.updateStates(newState);
956
-
957
804
  this._adapter.notifyClear();
958
-
959
805
  this._adapter.rePositionDropdown();
960
806
  }
961
807
  /**
962
808
  * A11y: simulate clear button click
963
809
  */
964
-
965
810
  /* istanbul ignore next */
966
-
967
-
968
811
  handleClearEnterPress(keyboardEvent) {
969
812
  if ((0, _isEnterPress.default)(keyboardEvent)) {
970
813
  this.handleClear();
971
814
  }
972
815
  }
973
-
974
816
  getRenderData() {
975
817
  const {
976
818
  keyEntities,
977
819
  isSearching
978
820
  } = this.getStates();
979
-
980
821
  const isFilterable = this._isFilterable();
981
-
982
822
  if (isSearching && isFilterable) {
983
823
  return this.getFilteredData();
984
824
  }
985
-
986
- return Object.values(keyEntities).filter(item => item.parentKey === null && !item._notExist) // eslint-disable-next-line @typescript-eslint/ban-ts-comment
825
+ return Object.values(keyEntities).filter(item => item.parentKey === null && !item._notExist)
987
826
  // @ts-ignore
988
827
  .sort((a, b) => parseInt(a.ind, 10) - parseInt(b.ind, 10));
989
828
  }
990
-
991
829
  getFilteredData() {
992
830
  const {
993
- treeNodeFilterProp
831
+ treeNodeFilterProp,
832
+ filterSorter
994
833
  } = this.getProps();
995
834
  const {
996
835
  filteredKeys,
997
- keyEntities
836
+ keyEntities,
837
+ inputValue
998
838
  } = this.getStates();
999
839
  const filteredList = [];
1000
840
  const filteredKeyArr = [...filteredKeys];
1001
841
  filteredKeyArr.forEach(key => {
1002
842
  const item = keyEntities[key];
1003
-
1004
843
  if (!item) {
1005
844
  return;
1006
845
  }
1007
-
1008
- const itemSearchPath = this.getItemPropPath(key, treeNodeFilterProp);
1009
-
846
+ const pathData = this.getItemPropPath(key, []);
847
+ const itemSearchPath = pathData.map(item => item[treeNodeFilterProp]);
1010
848
  const isDisabled = this._isOptionDisabled(key, keyEntities);
1011
-
1012
849
  filteredList.push({
1013
850
  data: item.data,
851
+ pathData,
1014
852
  key,
1015
853
  disabled: isDisabled,
1016
854
  searchText: itemSearchPath
1017
855
  });
1018
856
  });
857
+ if ((0, _isFunction2.default)(filterSorter)) {
858
+ filteredList.sort((a, b) => {
859
+ return filterSorter(a.pathData, b.pathData, inputValue);
860
+ });
861
+ }
1019
862
  return filteredList;
1020
863
  }
1021
-
1022
864
  handleListScroll(e, ind) {
1023
865
  const {
1024
866
  activeKeys,
@@ -1026,30 +868,10 @@ class CascaderFoundation extends _foundation.default {
1026
868
  } = this.getStates();
1027
869
  const lastActiveKey = [...activeKeys][activeKeys.size - 1];
1028
870
  const data = lastActiveKey ? (0, _get2.default)(keyEntities, [lastActiveKey, 'data'], null) : null;
1029
-
1030
871
  this._adapter.notifyListScroll(e, {
1031
872
  panelIndex: ind,
1032
873
  activeNode: data
1033
874
  });
1034
875
  }
1035
-
1036
- handleTagRemove(e, tagValuePath) {
1037
- const {
1038
- keyEntities
1039
- } = this.getStates();
1040
- const {
1041
- disabled
1042
- } = this.getProps();
1043
-
1044
- if (disabled) {
1045
- /* istanbul ignore next */
1046
- return;
1047
- }
1048
-
1049
- const removedItem = Object.values(keyEntities).filter(item => (0, _isEqual2.default)(item.valuePath, tagValuePath))[0];
1050
- !(0, _isEmpty2.default)(removedItem) && !removedItem.data.disabled && this._handleMultipleSelect(removedItem);
1051
- }
1052
-
1053
876
  }
1054
-
1055
877
  exports.default = CascaderFoundation;