@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
@@ -1,7 +1,6 @@
1
- import { isEqual, get, difference, isUndefined, assign, cloneDeep, isEmpty, isNumber, includes } from 'lodash';
1
+ import { isEqual, get, difference, isUndefined, assign, isEmpty, isNumber, includes, isFunction, isObject } from 'lodash';
2
2
  import BaseFoundation, { DefaultAdapter } from '../base/foundation';
3
3
  import {
4
- filter,
5
4
  findAncestorKeys,
6
5
  calcCheckedKeysForUnchecked,
7
6
  calcCheckedKeysForChecked,
@@ -11,11 +10,13 @@ import {
11
10
  } from '../tree/treeUtil';
12
11
  import { Motion } from '../utils/type';
13
12
  import {
13
+ filter,
14
14
  convertDataToEntities,
15
- findKeysForValues,
16
15
  normalizedArr,
17
16
  isValid,
18
- calcMergeType
17
+ calcMergeType,
18
+ getKeysByValuePath,
19
+ getKeyByPos
19
20
  } from './util';
20
21
  import { strings } from './constants';
21
22
  import isEnterPress from '../utils/isEnterPress';
@@ -24,7 +25,14 @@ export interface BasicData {
24
25
  data: BasicCascaderData;
25
26
  disabled: boolean;
26
27
  key: string;
27
- searchText: any[]
28
+ searchText: any[];
29
+ pathData?: BasicCascaderData[]
30
+ }
31
+
32
+ export interface Virtualize {
33
+ itemSize: number;
34
+ height?: number | string;
35
+ width?: number | string
28
36
  }
29
37
 
30
38
  export interface BasicEntities {
@@ -49,6 +57,8 @@ export interface BasicEntity {
49
57
  parentKey?: string;
50
58
  /* key path */
51
59
  path: Array<string>;
60
+ /* pos in treeData */
61
+ pos: string;
52
62
  /* value path */
53
63
  valuePath: Array<string>
54
64
  }
@@ -90,9 +100,16 @@ export interface BasicTriggerRenderProps {
90
100
  * should call this function when the value of the Input component
91
101
  * customized by triggerRender is updated to synchronize the state
92
102
  * with Cascader. */
103
+ onSearch: (inputValue: string) => void;
104
+ /* This function is the same as onSearch (supported since v2.32.0),
105
+ * because this function was used before, and to align with TreeSelect,
106
+ * use onSearch instead of onChange is more suitable,
107
+ * onChange needs to be deleted in the next Major
108
+ */
93
109
  onChange: (inputValue: string) => void;
94
110
  /* Function to clear the value */
95
- onClear: (e: any) => void
111
+ onClear: (e: any) => void;
112
+ onRemove: (key: string) => void
96
113
  }
97
114
 
98
115
  export interface BasicScrollPanelProps {
@@ -101,6 +118,7 @@ export interface BasicScrollPanelProps {
101
118
  }
102
119
 
103
120
  export interface BasicCascaderProps {
121
+ borderless?: boolean;
104
122
  mouseEnterDelay?: number;
105
123
  mouseLeaveDelay?: number;
106
124
  separator?: string;
@@ -115,7 +133,9 @@ export interface BasicCascaderProps {
115
133
  emptyContent?: any;
116
134
  filterLeafOnly?: boolean;
117
135
  motion?: boolean;
118
- filterTreeNode?: ((inputValue: string, treeNodeString: string) => boolean) | boolean;
136
+ filterTreeNode?: ((inputValue: string, treeNodeString: string, data?: BasicCascaderData) => boolean) | boolean;
137
+ filterSorter?: (first: BasicCascaderData, second: BasicCascaderData, inputValue: string) => number;
138
+ filterRender?: (props: any) => any;
119
139
  placeholder?: string;
120
140
  searchPlaceholder?: string;
121
141
  size?: CascaderType;
@@ -146,6 +166,7 @@ export interface BasicCascaderProps {
146
166
  leafOnly?: boolean;
147
167
  enableLeafClick?: boolean;
148
168
  preventScroll?: boolean;
169
+ virtualizeInSearch?: Virtualize;
149
170
  onClear?: () => void;
150
171
  triggerRender?: (props: BasicTriggerRenderProps) => any;
151
172
  onListScroll?: (e: any, panel: BasicScrollPanelProps) => void;
@@ -192,6 +213,7 @@ export interface CascaderAdapter extends DefaultAdapter<BasicCascaderProps, Basi
192
213
  updateInputValue: (value: string) => void;
193
214
  updateInputPlaceHolder: (value: string) => void;
194
215
  focusInput: () => void;
216
+ blurInput: () => void;
195
217
  registerClickOutsideHandler: (cb: (e: any) => void) => void;
196
218
  unregisterClickOutsideHandler: () => void;
197
219
  rePositionDropdown: () => void;
@@ -211,10 +233,13 @@ export interface CascaderAdapter extends DefaultAdapter<BasicCascaderProps, Basi
211
233
  notifyListScroll: (e: any, panel: BasicScrollPanelProps) => void;
212
234
  notifyOnExceed: (data: BasicEntity[]) => void;
213
235
  toggleInputShow: (show: boolean, cb: () => void) => void;
214
- updateFocusState: (focus: boolean) => void
236
+ updateFocusState: (focus: boolean) => void;
237
+ updateLoadingKeyRefValue: (keys: Set<string>) => void;
238
+ getLoadingKeyRefValue: () => Set<string>;
239
+ updateLoadedKeyRefValue: (keys: Set<string>) => void;
240
+ getLoadedKeyRefValue: () => Set<string>
215
241
  }
216
242
 
217
- // eslint-disable-next-line max-len
218
243
  export default class CascaderFoundation extends BaseFoundation<CascaderAdapter, BasicCascaderProps, BasicCascaderInnerData> {
219
244
 
220
245
  constructor(adapter: CascaderAdapter) {
@@ -224,6 +249,8 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
224
249
  init() {
225
250
  const isOpen = this.getProp('open') || this.getProp('defaultOpen');
226
251
  this.collectOptions(true);
252
+ this._adapter.updateLoadingKeyRefValue(new Set());
253
+ this._adapter.updateLoadedKeyRefValue(new Set());
227
254
 
228
255
  if (isOpen && !this._isDisabled()) {
229
256
  this.open();
@@ -247,8 +274,7 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
247
274
  const valueProp: string | any[] = onChangeWithObject ? [] : 'value';
248
275
  if (multiple) {
249
276
  const valuePath: BasicValue = [];
250
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
251
- // @ts-ignore
277
+ // @ts-ignore
252
278
  item.forEach((checkedKey: string) => {
253
279
  const valuePathItem = this.getItemPropPath(checkedKey, valueProp);
254
280
  valuePath.push(valuePathItem as any);
@@ -291,14 +317,6 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
291
317
  return isDisabled;
292
318
  }
293
319
 
294
- getCopyFromState(items: string | string[]) {
295
- const res: Partial<BasicCascaderInnerData> = {};
296
- normalizedArr(items).forEach(key => {
297
- res[key] = cloneDeep(this.getState(key));
298
- });
299
- return res;
300
- }
301
-
302
320
  // prop: is array, return all data
303
321
  getItemPropPath(selectedKey: string, prop: string | any[], keyEntities?: BasicEntities) {
304
322
  const searchMap = keyEntities || this.getState('keyEntities');
@@ -325,9 +343,7 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
325
343
  if (isEmpty(keyEntities[selectedKey])) {
326
344
  if (includes(selectedKey, 'not-exist-')) {
327
345
  /* Get the value behind not-exist- */
328
- // eslint-disable-next-line prefer-destructuring
329
346
  const targetValue = selectedKey.match(/not-exist-(\S*)/)[1];
330
- // eslint-disable-next-line max-depth
331
347
  if (isEmpty(keyEntities[targetValue])) {
332
348
  cacheValue = targetValue;
333
349
  } else {
@@ -411,21 +427,21 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
411
427
  const { changeOnSelect, onChangeWithObject, multiple } = this.getProps();
412
428
  const {
413
429
  activeKeys,
414
- loadingKeys,
415
430
  loading,
416
431
  keyEntities: keyEntityState,
417
432
  selectedKeys: selectedKeysState
418
433
  } = this.getStates();
434
+ const loadingKeys = this._adapter.getLoadingKeyRefValue();
419
435
  const filterable = this._isFilterable();
420
436
  const loadingActive = [...activeKeys].filter(i => loadingKeys.has(i));
421
-
422
- const valuePath = onChangeWithObject ? normalizedArr(value).map(i => i.value) : normalizedArr(value);
423
- const selectedKeys = findKeysForValues(valuePath, keyEntities);
437
+ const normalizedValue = normalizedArr(value);
438
+ const valuePath = onChangeWithObject && isObject(normalizedValue[0]) ? normalizedValue.map(i => i.value) : normalizedValue;
439
+ const selectedKeys = getKeysByValuePath(valuePath);
424
440
  let updateStates: Partial<BasicCascaderInnerData> = {};
425
441
 
426
- if (selectedKeys.length) {
427
- const selectedKey = selectedKeys[0];
428
- const selectedItem = keyEntities[selectedKey];
442
+ const selectedKey = selectedKeys.length > 0 ? selectedKeys[0] : undefined;
443
+ const selectedItem = selectedKey ? keyEntities[selectedKey] : undefined;
444
+ if (selectedItem) {
429
445
  /**
430
446
  * When changeOnSelect is turned on, or the target option is a leaf option,
431
447
  * the option is considered to be selected, even if the option is disabled
@@ -438,7 +454,11 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
438
454
  if (filterable && !multiple) {
439
455
  const displayText = this.renderDisplayText(selectedKey, keyEntities);
440
456
  updateStates.inputPlaceHolder = displayText;
441
- updateStates.inputValue = displayText;
457
+ /*
458
+ * displayText should not be assign to inputValue,
459
+ * cause inputValue should only change by user enter
460
+ */
461
+ // updateStates.inputValue = displayText;
442
462
  }
443
463
  /**
444
464
  * If selectedKeys does not meet the update conditions,
@@ -469,7 +489,11 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
469
489
  if (filterable && !multiple) {
470
490
  const displayText = this._defaultRenderText(valuePath);
471
491
  updateStates.inputPlaceHolder = displayText;
472
- updateStates.inputValue = displayText;
492
+ /*
493
+ * displayText should not be assign to inputValue,
494
+ * cause inputValue should only change by user enter
495
+ */
496
+ // updateStates.inputValue = displayText;
473
497
  }
474
498
  keyEntities[key] = optionNotExist as BasicEntity;
475
499
  // Fix: 1155, if the data is loaded asynchronously to update treeData, the emptying operation should not be done when entering the updateSelectedKey method
@@ -536,21 +560,31 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
536
560
  this._notifyBlur(e);
537
561
  }
538
562
 
563
+ focus() {
564
+ const { filterTreeNode } = this.getProps();
565
+ if (filterTreeNode) {
566
+ this._adapter.focusInput();
567
+ }
568
+ this._adapter.updateFocusState(true);
569
+ }
570
+
571
+ blur() {
572
+ const { filterTreeNode } = this.getProps();
573
+ if (filterTreeNode) {
574
+ this._adapter.blurInput();
575
+ }
576
+ this._adapter.updateFocusState(false);
577
+ }
578
+
539
579
  toggle2SearchInput(isShow: boolean) {
540
580
  if (isShow) {
541
- this._adapter.toggleInputShow(isShow, () => this.focusInput());
581
+ this._adapter.toggleInputShow(isShow, () => this.focus());
542
582
  } else {
543
583
  this._adapter.toggleInputShow(isShow, () => undefined);
544
584
  }
545
585
  }
546
586
 
547
- focusInput() {
548
- this._adapter.focusInput();
549
- this._adapter.updateFocusState(true);
550
- }
551
-
552
-
553
- updateSearching = (isSearching:boolean)=>{
587
+ updateSearching = (isSearching: boolean)=>{
554
588
  this._adapter.updateStates({ isSearching: false });
555
589
  }
556
590
 
@@ -639,18 +673,19 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
639
673
 
640
674
  handleNodeLoad(item: BasicEntity | BasicData) {
641
675
  const { data, key } = item;
642
- const {
643
- loadedKeys: prevLoadedKeys,
644
- loadingKeys: prevLoadingKeys
645
- } = this.getCopyFromState(['loadedKeys', 'loadingKeys']);
676
+ const prevLoadingKeys = new Set(this._adapter.getLoadingKeyRefValue());
677
+ const prevLoadedKeys = new Set(this._adapter.getLoadedKeyRefValue());
646
678
  const newLoadedKeys = prevLoadedKeys.add(key);
647
679
  const newLoadingKeys = new Set([...prevLoadingKeys]);
648
680
  newLoadingKeys.delete(key);
649
681
 
650
682
  // onLoad should trigger before internal setState to avoid `loadData` trigger twice.
651
683
  this._adapter.notifyOnLoad(newLoadedKeys, data);
684
+ this._adapter.updateLoadingKeyRefValue(newLoadingKeys);
685
+ this._adapter.updateLoadedKeyRefValue(newLoadedKeys);
652
686
  this._adapter.updateStates({
653
687
  loadingKeys: newLoadingKeys,
688
+ loadedKeys: newLoadedKeys
654
689
  });
655
690
  }
656
691
 
@@ -658,14 +693,17 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
658
693
  const { data, key } = item;
659
694
  this._adapter.updateStates({ loading: false });
660
695
  if (!data.isLeaf && !data.children && this.getProp('loadData')) {
661
- const { loadedKeys, loadingKeys } = this.getCopyFromState(['loadedKeys', 'loadingKeys']);
696
+ const loadedKeys = this._adapter.getLoadedKeyRefValue();
697
+ const loadingKeys = new Set(this._adapter.getLoadingKeyRefValue());
662
698
  if (loadedKeys.has(key) || loadingKeys.has(key)) {
663
699
  return;
664
700
  }
665
701
  this._adapter.updateStates({ loading: true });
666
702
  const { keyEntities } = this.getStates();
667
703
  const optionPath = this.getItemPropPath(key, [], keyEntities);
668
- this._adapter.updateStates({ loadingKeys: loadingKeys.add(key) });
704
+ const newLoadingKeys = loadingKeys.add(key);
705
+ this._adapter.updateLoadingKeyRefValue(newLoadingKeys);
706
+ this._adapter.updateStates({ loadingKeys: newLoadingKeys });
669
707
  this._adapter.notifyLoadData(optionPath, this.handleNodeLoad.bind(this, item));
670
708
  }
671
709
  }
@@ -798,7 +836,7 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
798
836
 
799
837
  calcNonDisabledCheckedKeys(eventKey: string, targetStatus: boolean) {
800
838
  const { keyEntities, disabledKeys } = this.getStates();
801
- const { checkedKeys } = this.getCopyFromState(['checkedKeys']);
839
+ const checkedKeys = new Set(this.getState('checkedKeys'));
802
840
  const descendantKeys = normalizeKeyList(findDescendantKeys([eventKey], keyEntities, false), keyEntities, true);
803
841
  const hasDisabled = descendantKeys.some(key => disabledKeys.has(key));
804
842
  if (!hasDisabled) {
@@ -831,10 +869,8 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
831
869
  const { keyEntities } = this.getStates();
832
870
  const values: (string | number)[] = [];
833
871
  keys.forEach(key => {
834
- if (!isEmpty(keyEntities) && !isEmpty(keyEntities[key])) {
835
- const valueItem = keyEntities[key].data.value;
836
- values.push(valueItem);
837
- }
872
+ const valueItem = keyEntities[key]?.data?.value;
873
+ valueItem !== undefined && values.push(valueItem);
838
874
  });
839
875
  const formatValue: number | string | Array<string | number> = values.length === 1 ?
840
876
  values[0] :
@@ -849,7 +885,8 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
849
885
  */
850
886
  calcCheckedKeys(key: string, curCheckedStatus: boolean) {
851
887
  const { keyEntities } = this.getStates();
852
- const { checkedKeys, halfCheckedKeys } = this.getCopyFromState(['checkedKeys', 'halfCheckedKeys']);
888
+ const checkedKeys = new Set(this.getState('checkedKeys')) as Set<string>;
889
+ const halfCheckedKeys = new Set(this.getState('halfCheckedKeys')) as Set<string>;
853
890
  return curCheckedStatus ?
854
891
  calcCheckedKeysForChecked(key, keyEntities, checkedKeys, halfCheckedKeys) :
855
892
  calcCheckedKeysForUnchecked(key, keyEntities, checkedKeys, halfCheckedKeys);
@@ -863,12 +900,12 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
863
900
  if (sugInput) {
864
901
  filteredKeys = (Object.values(keyEntities) as BasicEntity[])
865
902
  .filter(item => {
866
- const { key, _notExist } = item;
903
+ const { key, _notExist, data } = item;
867
904
  if (_notExist) {
868
905
  return false;
869
906
  }
870
- const filteredPath = this.getItemPropPath(key, treeNodeFilterProp).join();
871
- return filter(sugInput, filteredPath, filterTreeNode, false);
907
+ const filteredPath = this.getItemPropPath(key, treeNodeFilterProp);
908
+ return filter(sugInput, data, filterTreeNode, filteredPath);
872
909
  })
873
910
  .filter(
874
911
  item => (filterTreeNode && !filterLeafOnly) ||
@@ -891,6 +928,7 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
891
928
  const isControlled = this._isControlledComponent();
892
929
  const newState: Partial<BasicCascaderInnerData> = {};
893
930
  if (multiple) {
931
+ newState.isSearching = false;
894
932
  this._adapter.updateInputValue('');
895
933
  this._adapter.notifyOnSearch('');
896
934
  newState.checkedKeys = new Set([]);
@@ -944,14 +982,13 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
944
982
  }
945
983
  return (Object.values(keyEntities) as BasicEntity[])
946
984
  .filter(item => item.parentKey === null && !item._notExist)
947
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
948
985
  // @ts-ignore
949
986
  .sort((a, b) => parseInt(a.ind, 10) - parseInt(b.ind, 10));
950
987
  }
951
988
 
952
989
  getFilteredData() {
953
- const { treeNodeFilterProp } = this.getProps();
954
- const { filteredKeys, keyEntities } = this.getStates();
990
+ const { treeNodeFilterProp, filterSorter } = this.getProps();
991
+ const { filteredKeys, keyEntities, inputValue } = this.getStates();
955
992
  const filteredList: BasicData[] = [];
956
993
  const filteredKeyArr = [...filteredKeys];
957
994
  filteredKeyArr.forEach(key => {
@@ -959,15 +996,23 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
959
996
  if (!item) {
960
997
  return;
961
998
  }
962
- const itemSearchPath = this.getItemPropPath(key, treeNodeFilterProp);
999
+ const pathData = this.getItemPropPath(key, []);
1000
+ const itemSearchPath = pathData.map(item => item[treeNodeFilterProp]);
963
1001
  const isDisabled = this._isOptionDisabled(key, keyEntities);
964
1002
  filteredList.push({
965
1003
  data: item.data,
1004
+ pathData,
966
1005
  key,
967
1006
  disabled: isDisabled,
968
1007
  searchText: itemSearchPath
969
1008
  });
970
1009
  });
1010
+
1011
+ if (isFunction(filterSorter)) {
1012
+ filteredList.sort((a, b) => {
1013
+ return filterSorter(a.pathData, b.pathData, inputValue);
1014
+ });
1015
+ }
971
1016
  return filteredList;
972
1017
  }
973
1018
 
@@ -978,17 +1023,20 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
978
1023
  this._adapter.notifyListScroll(e, { panelIndex: ind, activeNode: data });
979
1024
  }
980
1025
 
981
- handleTagRemove(e: any, tagValuePath: string[]) {
1026
+ handleTagRemoveByKey = (key: string) => {
982
1027
  const { keyEntities } = this.getStates();
983
1028
  const { disabled } = this.getProps();
984
1029
  if (disabled) {
985
1030
  /* istanbul ignore next */
986
1031
  return;
987
1032
  }
988
- const removedItem = (Object.values(keyEntities) as BasicEntity[])
989
- .filter(item => isEqual(item.valuePath, tagValuePath))[0];
990
- !isEmpty(removedItem) &&
991
- !removedItem.data.disabled &&
992
- this._handleMultipleSelect(removedItem);
1033
+ const removedItem = keyEntities[key] ?? {};
1034
+ !removedItem?.data?.disable && this._handleMultipleSelect(removedItem);
1035
+ }
1036
+
1037
+ handleTagRemoveInTrigger = (pos: string) => {
1038
+ const { treeData } = this.getStates();
1039
+ const key = getKeyByPos(pos, treeData);
1040
+ this.handleTagRemoveByKey(key);
993
1041
  }
994
1042
  }
package/cascader/util.ts CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  isUndefined,
4
4
  isEqual
5
5
  } from 'lodash';
6
- import { strings } from './constants';
6
+ import { strings, VALUE_SPLIT } from './constants';
7
7
 
8
8
  function getPosition(level: any, index: any) {
9
9
  return `${level}-${index}`;
@@ -21,6 +21,36 @@ export function normalizedArr(val: any) {
21
21
  }
22
22
  }
23
23
 
24
+ /**
25
+ * @returns whether option includes sugInput.
26
+ * When filterTreeNode is a function,returns the result of filterTreeNode which called with (sugInput, target, option).
27
+ */
28
+ export function filter(sugInput: string, option: any, filterTreeNode: any, filteredPath?: string[]) {
29
+ if (!filterTreeNode) {
30
+ return true;
31
+ }
32
+ let filterFn = filterTreeNode;
33
+ let target: string;
34
+ if (typeof filterTreeNode === 'boolean') {
35
+ filterFn = (targetVal: string, val: string) => {
36
+ const input = targetVal.toLowerCase();
37
+ return val
38
+ .toLowerCase()
39
+ .includes(input);
40
+ };
41
+ // 当 filterTreeNode 是 bool 类型时,由 Cascader 内部判断是否符合筛选条件,使用 join('') 修复搜索英文逗号导致所有数据被匹配问题
42
+ // When the type of of filterTreeNode is bool, Cascader internally determines whether it meets the filtering conditions.
43
+ // Use join('') to fix the problem that searching for English commas causes all data to be matched.
44
+ target = filteredPath.join('');
45
+ } else {
46
+ // 当 filterTreeNode 为函数类型时,由用户判断是否符合筛选条件,使用 join(), 和原来保持一致
47
+ // When the type of of filterTreeNode is function, the user determines whether it meets the filtering conditions,
48
+ // uses join() to be consistent with the previous version.
49
+ target = filteredPath.join();
50
+ }
51
+ return filterFn(sugInput, target, option);
52
+ }
53
+
24
54
  /**
25
55
  * Traverse all the data by `treeData`.
26
56
  */
@@ -30,11 +60,13 @@ function traverseDataNodes(treeNodes: any, callback: any) {
30
60
  let item: any = null;
31
61
  // Process node if is not root
32
62
  if (node) {
33
- const key = parent ? getPosition(parent.key, ind) : `${ind}`;
63
+ const key = parent ? `${parent.key}${VALUE_SPLIT}${node.value}` : `${node.value}`;
64
+ const pos = parent ? getPosition(parent.pos, ind) : `${ind}`;
34
65
  item = {
35
66
  data: { ...node },
36
67
  ind,
37
68
  key,
69
+ pos,
38
70
  level: parent ? parent.level + 1 : 0,
39
71
  parentKey: parent ? parent.key : null,
40
72
  path: parent ? [...parent.path, key] : [key],
@@ -55,6 +87,36 @@ function traverseDataNodes(treeNodes: any, callback: any) {
55
87
  processNode(null);
56
88
  }
57
89
 
90
+ export function getKeysByValuePath(valuePath: (string | number)[][] | (string | number)[]) {
91
+ if (valuePath?.length) {
92
+ if (Array.isArray(valuePath[0])) {
93
+ return valuePath.map((item) => getKeyByValuePath(item));
94
+ } else {
95
+ return [getKeyByValuePath(valuePath as (string | number)[])];
96
+ }
97
+ }
98
+ return [];
99
+ }
100
+
101
+ export function getKeyByValuePath(valuePath: (string | number)[]) {
102
+ return valuePath.join(VALUE_SPLIT);
103
+ }
104
+
105
+ export function getValuePathByKey(key: string) {
106
+ return key.split(VALUE_SPLIT);
107
+ }
108
+
109
+ export function getKeyByPos(pos: string, treeData: any) {
110
+ const posArr = pos.split('-').map(item => Number(item));
111
+ let resultData = treeData;
112
+ let valuePath = [];
113
+ posArr.forEach((item, index) => {
114
+ resultData = index === 0 ? resultData[item] : resultData?.children?.[item];
115
+ valuePath.push(resultData?.value);
116
+ });
117
+ return getKeyByValuePath(valuePath);
118
+ }
119
+
58
120
  export function convertDataToEntities(dataNodes: any) {
59
121
  const keyEntities: any = {};
60
122
 
@@ -74,14 +136,6 @@ export function convertDataToEntities(dataNodes: any) {
74
136
  return keyEntities;
75
137
  }
76
138
 
77
- export function findKeysForValues(value: any, keyEntities: any) {
78
- const valuePath = normalizedArr(value);
79
- const res = Object.values(keyEntities)
80
- .filter((item: any) => isEqual(item.valuePath, valuePath))
81
- .map((item: any) => item.key);
82
- return res;
83
- }
84
-
85
139
  export function calcMergeType(autoMergeValue: boolean, leafOnly: boolean): string {
86
140
  let mergeType: string;
87
141
  if (leafOnly) {
@@ -5,6 +5,7 @@ $color-cascader_default-border-hover: transparent; // 级联选择描边颜色 -
5
5
  $color-cascader_default-border-focus: var(--semi-color-focus-border); // 级联选择描边颜色 - 选中
6
6
  $color-cascader_default-bg-default: var(--semi-color-fill-0); // 级联选择菜单项背景颜色 - 默认
7
7
  $color-cascader_default-bg-hover: var(--semi-color-fill-1); // 级联选择菜单项背景颜色 - 悬浮
8
+ $color-cascader_default-bg-active: var(--semi-color-fill-2); // 级联选择菜单项背景颜色 - 按下
8
9
  $color-cascader_option_list-border-default: var(--semi-color-fill-0); // 级联选择各级菜单分割线颜色
9
10
  $color-cascader_option_main-text-default: var(--semi-color-text-0); // 级联选择菜单项文字颜色
10
11
  $color-cascader_option-bg-hover: var(--semi-color-fill-0); // 级联选择菜单项背景颜色 - 悬浮
@@ -13,6 +14,7 @@ $color-cascader_option-bg-selected: var(--semi-color-primary-light-default); //
13
14
  $color-cascader_option_disabled-text-default: var(--semi-color-disabled-text); // 级联选择菜单项文字颜色 - 禁用
14
15
  $color-cascader_option_disabled-bg-hover: transparent; // 级联选择菜禁用单项背景颜色 - 悬浮
15
16
  $color-cascader_option_disabled-bg-active: transparent; // 级联选择菜禁用单项背景颜色 - 按下
17
+ $color-cascader_tag_disabled-bg-default: transparent; // 级联选择菜禁用Tag背景颜色
16
18
 
17
19
  // warning,same as Input
18
20
  $color-cascader_warning-bg-default: var(--semi-color-warning-light-default); // 级联选择触发器警告背景颜色
@@ -96,7 +98,9 @@ $height-cascader_option_list: 180px; // 级联选择菜单高度
96
98
  $height-cascader_selection_tagInput_wrapper_small: 22px; //级联选择多选搜索时搜索框最小高度 - 小尺寸
97
99
  $height-cascader_selection_tagInput_wrapper_default: 30px; //级联选择多选搜索时搜索框最小高度 - 默认尺寸
98
100
  $height-cascader_selection_tagInput_wrapper_large: 38px; //级联选择多选搜索时搜索框最小高度 - 大尺寸
99
- $height-cascader_selection_wrapper: 30px;
101
+ $height-cascader_selection_wrapper_small: 22px; //级联选择单选搜索时搜索框高度 - 小尺寸
102
+ $height-cascader_selection_wrapper: 30px; // 级联选择单选搜索时搜索框高度 - 默认尺寸
103
+ $height-cascader_selection_wrapper_large: 38px; //级联选择单选搜索时搜索框高度 - 大尺寸
100
104
 
101
105
  $spacing-cascader_text-marginX: $spacing-base-tight; // 级联选择 prefix/suffix 文字水平内间距
102
106
  $spacing-cascader_icon-marginX: $spacing-tight; // 级联选择 prefix/suffix 图标水平内间距
@@ -12,7 +12,6 @@ $module: #{$prefix}-checkbox;
12
12
  position: relative;
13
13
  display: flex;
14
14
  align-items: flex-start;
15
- flex-wrap: wrap;
16
15
  @include font-size-regular;
17
16
  cursor: pointer;
18
17
  transition: background-color $transition_duration-checkbox-bg $transition_function-checkbox-bg $transition_delay-checkbox-bg,
@@ -117,7 +117,7 @@ class CheckboxFoundation<P = Record<string, any>, S = Record<string, any>> exten
117
117
  if (target.matches(':focus-visible')) {
118
118
  this._adapter.setFocusVisible(true);
119
119
  }
120
- } catch (error){
120
+ } catch (error) {
121
121
  warning(true, 'Warning: [Semi Checkbox] The current browser does not support the focus-visible');
122
122
  }
123
123
  }
@@ -127,7 +127,6 @@ class CheckboxFoundation<P = Record<string, any>, S = Record<string, any>> exten
127
127
  this._adapter.setFocusVisible(false);
128
128
  }
129
129
 
130
- // eslint-disable-next-line @typescript-eslint/no-empty-function
131
130
  destroy() {}
132
131
  }
133
132
 
@@ -74,7 +74,6 @@ class CheckboxGroupFoundation extends BaseFoundation<CheckboxGroupAdapter> {
74
74
  }
75
75
  }
76
76
 
77
- // eslint-disable-next-line @typescript-eslint/no-empty-function
78
77
  destroy() {}
79
78
  }
80
79
 
@@ -7,6 +7,7 @@ export interface CollapseProps{
7
7
  activeKey?: string | string[];
8
8
  defaultActiveKey?: string | string[];
9
9
  accordion?: boolean;
10
+ clickHeaderToExpand?: boolean;
10
11
  onChange?: (activeKey: CollapseProps['activeKey'], e: any) => void;
11
12
  expandIcon?: any;
12
13
  collapseIcon?: any;
@@ -6,6 +6,7 @@ const defaultFormatTokens = {
6
6
  dateRange: strings.FORMAT_FULL_DATE,
7
7
  dateTimeRange: strings.FORMAT_DATE_TIME,
8
8
  month: strings.FORMAT_YEAR_MONTH,
9
+ monthRange: strings.FORMAT_YEAR_MONTH,
9
10
  } as const;
10
11
 
11
12
  const getDefaultFormatToken = (type: string) => defaultFormatTokens;
@@ -31,6 +31,7 @@ export default function getInsetInputFormatToken(options: { format: string; type
31
31
  break;
32
32
  case 'date':
33
33
  case 'month':
34
+ case 'monthRange':
34
35
  case 'dateRange':
35
36
  default:
36
37
  const dateResult = dateReg.exec(format);
@@ -34,6 +34,7 @@ export default function getInsetInputValueFromInsetInputStr(options: { inputValu
34
34
  switch (type) {
35
35
  case 'date':
36
36
  case 'month':
37
+ case 'monthRange':
37
38
  insetInputValue.monthLeft.dateInput = inputValue;
38
39
  break;
39
40
  case 'dateRange':
@@ -1,6 +1,10 @@
1
- const getYears = () => {
2
- const year = new Date().getFullYear();
3
- const startYear = year - 100;
4
- return Array.from({ length: 200 }, (v, i) => startYear + i);
1
+ const getYears = (startYear?: number, endYear?: number) => {
2
+ const currentYear = new Date().getFullYear();
3
+ let start = typeof startYear === 'number' ? startYear : currentYear - 100;
4
+ let end = typeof endYear === 'number' ? endYear : currentYear + 100;
5
+ if (end < start) {
6
+ [start, end] = [end, start];
7
+ }
8
+ return Array.from({ length: end - start + 1 }, (v, i) => start + i);
5
9
  };
6
10
  export default getYears;
@@ -0,0 +1,3 @@
1
+ export default function isValidTimeZone(timeZone?: string | number) {
2
+ return ['string', 'number'].includes(typeof timeZone) && timeZone !== '';
3
+ }
@@ -46,7 +46,7 @@ const strings = {
46
46
  DEFAULT_SEPARATOR_MULTIPLE: ',',
47
47
  DEFAULT_SEPARATOR_RANGE: ' ~ ',
48
48
  SIZE_SET: ['small', 'default', 'large'],
49
- TYPE_SET: ['date', 'dateRange', 'year', 'month', 'dateTime', 'dateTimeRange'],
49
+ TYPE_SET: ['date', 'dateRange', 'year', 'month', 'monthRange', 'dateTime', 'dateTimeRange'],
50
50
  PRESET_POSITION_SET: ['left', 'right', 'top', 'bottom'],
51
51
  DENSITY_SET: ['default', 'compact'],
52
52
  PANEL_TYPE_LEFT: 'left',