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