@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,8 +1,6 @@
1
1
  import _toPath from "lodash/toPath";
2
2
  import _isFunction from "lodash/isFunction";
3
3
  import _isUndefined from "lodash/isUndefined";
4
-
5
- /* eslint-disable prefer-const, max-len */
6
4
  import BaseFoundation from '../base/foundation';
7
5
  import * as ObjectUtil from '../utils/object';
8
6
  import isPromise from '../utils/isPromise';
@@ -19,26 +17,24 @@ export default class FormFoundation extends BaseFoundation {
19
17
  这里也需要读一次initValue,因为Form级别可设置初始值,Field级别也可设置初始值.
20
18
  Form中设置的字段,不一定会存在Field实体,所以不能完全依赖register时刻来设置初始值
21
19
  */
22
-
23
20
  let {
24
21
  initValues
25
22
  } = this._adapter.getProps();
26
-
27
23
  initValues = this._adapter.cloneDeep(initValues);
28
24
  this.data = {
29
25
  values: initValues ? initValues : {},
30
26
  errors: {},
31
- touched: {} // invalid: false,
27
+ touched: {}
28
+ // invalid: false,
32
29
  // dirty: false,
33
-
34
- }; // Map store all fields
30
+ };
31
+ // Map store all fields
35
32
  // key: fieldName
36
33
  // value: { field, fieldApi, keepState, initValue}
37
-
38
- this.fields = new Map(); // Record all registered fields
39
-
40
- this.registered = {}; // Record all registered ArrayField
41
-
34
+ this.fields = new Map();
35
+ // Record all registered fields
36
+ this.registered = {};
37
+ // Record all registered ArrayField
42
38
  this.registeredArrayField = new Map();
43
39
  this.register = this.register.bind(this);
44
40
  this.unRegister = this.unRegister.bind(this);
@@ -61,23 +57,20 @@ export default class FormFoundation extends BaseFoundation {
61
57
  this.getFieldExist = this.getFieldExist.bind(this);
62
58
  this.scrollToField = this.scrollToField.bind(this);
63
59
  }
64
-
65
60
  init() {
66
61
  this._adapter.initFormId();
67
62
  }
68
-
69
63
  getField(field) {
70
64
  const targetField = this.fields.get(field);
71
65
  return targetField;
72
66
  }
73
-
74
67
  register(field, fieldState, fieldStuff) {
75
68
  // determine if this field has been register before
76
69
  const registered = this.registered[field];
77
70
  this.registered[field] = true;
78
71
  this.fields.set(field, fieldStuff);
79
-
80
- if (fieldStuff.keepState) {// TODO support keepState
72
+ if (fieldStuff.keepState) {
73
+ // TODO support keepState
81
74
  } else {
82
75
  const allowEmpty = fieldStuff.allowEmpty || false;
83
76
  const opts = {
@@ -85,24 +78,22 @@ export default class FormFoundation extends BaseFoundation {
85
78
  notUpdate: false,
86
79
  allowEmpty
87
80
  };
88
- let fieldValue = fieldState.value; // When allowEmpty is false, 'is equivalent to undefined, and the key of the field does not need to be reflected on values
89
-
81
+ let fieldValue = fieldState.value;
82
+ // When allowEmpty is false, 'is equivalent to undefined, and the key of the field does not need to be reflected on values
90
83
  if (!allowEmpty && fieldValue === '') {
91
84
  fieldValue = undefined;
92
85
  }
93
-
94
86
  this.updateStateValue(field, fieldValue, opts);
95
-
96
87
  if (fieldState.error) {
97
88
  this.updateStateError(field, fieldState.error, opts);
98
89
  }
99
- } // this.log(this.fields);
100
-
90
+ }
91
+ // this.log(this.fields);
101
92
  }
102
93
 
103
94
  unRegister(field) {
104
- const targetField = this.fields.get(field); // delete data
105
-
95
+ const targetField = this.fields.get(field);
96
+ // delete data
106
97
  try {
107
98
  if (!targetField.keepState) {
108
99
  ObjectUtil.remove(this.data.values, field);
@@ -110,51 +101,41 @@ export default class FormFoundation extends BaseFoundation {
110
101
  ObjectUtil.remove(this.data.touched, field);
111
102
  }
112
103
  } catch (error) {
113
- console.error("some thing wrong when unregister field:".concat(field));
114
- } // delete field
115
-
116
-
104
+ console.error(`some thing wrong when unregister field:${field}`);
105
+ }
106
+ // delete field
117
107
  this.fields.delete(field);
118
-
119
108
  this._adapter.notifyChange(this.data);
120
-
121
109
  this._adapter.forceUpdate();
122
- } // in order to slove byted-issue-289
123
-
124
-
110
+ }
111
+ // in order to slove byted-issue-289
125
112
  registerArrayField(arrayFieldPath, val) {
126
113
  this.updateArrayField(arrayFieldPath, {
127
114
  updateKey: new Date().valueOf(),
128
115
  initValue: val
129
116
  });
130
117
  }
131
-
132
118
  unRegisterArrayField(arrayField) {
133
119
  this.registeredArrayField.delete(arrayField);
134
120
  }
135
-
136
121
  getArrayField(arrayField) {
137
122
  return this.registeredArrayField.get(arrayField);
138
123
  }
139
-
140
124
  updateArrayField(arrayField, updateValue) {
141
125
  const mergeVal = Object.assign(Object.assign({}, this.registeredArrayField.get(arrayField)), updateValue);
142
126
  this.registeredArrayField.set(arrayField, mergeVal);
143
127
  }
144
-
145
128
  validate(fieldPaths) {
146
129
  const {
147
130
  validateFields
148
131
  } = this.getProps();
149
-
150
132
  if (validateFields && _isFunction(validateFields)) {
151
133
  return this._formValidate();
152
134
  } else {
153
135
  return this._fieldsValidate(fieldPaths);
154
136
  }
155
- } // form level validate
156
-
157
-
137
+ }
138
+ // form level validate
158
139
  _formValidate() {
159
140
  const {
160
141
  values
@@ -164,74 +145,61 @@ export default class FormFoundation extends BaseFoundation {
164
145
  } = this.getProps();
165
146
  return new Promise((resolve, reject) => {
166
147
  let maybePromisedErrors;
167
-
168
148
  try {
169
149
  maybePromisedErrors = validateFields(values);
170
150
  } catch (errors) {
171
151
  // error throw by sync validate directly
172
152
  maybePromisedErrors = errors;
173
153
  }
174
-
175
154
  if (!maybePromisedErrors) {
176
- resolve(values);
155
+ const _values = this._adapter.cloneDeep(values);
156
+ resolve(_values);
177
157
  this.injectErrorToField({});
178
158
  } else if (isPromise(maybePromisedErrors)) {
179
159
  maybePromisedErrors.then(result => {
180
160
  // validate success,clear error
181
161
  if (!result) {
182
- resolve(values);
162
+ const _values = this._adapter.cloneDeep(values);
163
+ resolve(_values);
183
164
  this.injectErrorToField({});
184
165
  } else {
185
166
  this.data.errors = result;
186
-
187
167
  this._adapter.notifyChange(this.data);
188
-
189
168
  this.injectErrorToField(result);
190
-
191
169
  this._adapter.forceUpdate();
192
-
193
170
  this._autoScroll(100);
194
-
195
171
  reject(result);
196
172
  }
197
173
  }, errors => {
198
174
  // validate failed
199
175
  // this._adapter.notifyChange(this.data);
200
176
  this._autoScroll(100);
201
-
202
177
  reject(errors);
203
178
  });
204
179
  } else {
205
180
  // TODO: current design, returning an empty object will be considered a checksum failure and will be rejected. Only returning an empty string will be considered a success, consider resetting it in 1.0?
206
181
  this.data.errors = maybePromisedErrors;
207
182
  this.injectErrorToField(maybePromisedErrors);
208
-
209
183
  this._adapter.notifyChange(this.data);
210
-
211
184
  this._adapter.forceUpdate();
212
-
213
185
  this._autoScroll(100);
214
-
215
186
  reject(maybePromisedErrors);
216
187
  }
217
188
  });
218
- } // field level validate
219
-
220
-
189
+ }
190
+ // field level validate
221
191
  _fieldsValidate(fieldPaths) {
222
192
  const {
223
193
  values
224
- } = this.data; // When there is no custom validation function at Form level, perform validation of each Field
225
-
194
+ } = this.data;
195
+ // When there is no custom validation function at Form level, perform validation of each Field
226
196
  return new Promise((resolve, reject) => {
227
197
  let promiseSet = [];
228
-
229
198
  const targetFields = this._getOperateFieldMap(fieldPaths);
230
-
231
199
  targetFields.forEach((field, fieldPath) => {
232
200
  // Call each fieldApi for verification
233
- const fieldValue = this.getValue(fieldPath); // When centralized verification, no need to trigger forceUpdate and notify
234
-
201
+ const fieldValue = this.getValue(fieldPath);
202
+ // When centralized verification, no need to trigger forceUpdate and notify
235
203
  const opts = {
236
204
  notNotify: true,
237
205
  notUpdate: true
@@ -243,38 +211,31 @@ export default class FormFoundation extends BaseFoundation {
243
211
  Promise.all(promiseSet).then(() => {
244
212
  // After the centralized verification is completed, trigger notify and forceUpdate once.
245
213
  this._adapter.notifyChange(this.data);
246
-
247
214
  this._adapter.forceUpdate();
248
-
249
215
  const errors = this.getError();
250
-
251
216
  if (this._isValid(targetFields)) {
252
- resolve(values);
217
+ const _values = this._adapter.cloneDeep(values);
218
+ resolve(_values);
253
219
  } else {
254
220
  this._autoScroll();
255
-
256
221
  reject(errors);
257
222
  }
258
223
  });
259
224
  });
260
225
  }
261
-
262
- submit() {
226
+ submit(e) {
263
227
  const {
264
228
  values
265
- } = this.data; // validate form
266
-
229
+ } = this.data;
230
+ // validate form
267
231
  this.validate().then(resolveValues => {
268
232
  // if valid do submit
269
233
  const _values = this._adapter.cloneDeep(resolveValues);
270
-
271
- this._adapter.notifySubmit(_values);
234
+ this._adapter.notifySubmit(_values, e);
272
235
  }).catch(errors => {
273
236
  const _errors = this._adapter.cloneDeep(errors);
274
-
275
237
  const _values = this._adapter.cloneDeep(values);
276
-
277
- this._adapter.notifySubmitFail(_errors, _values);
238
+ this._adapter.notifySubmitFail(_errors, _values, e);
278
239
  });
279
240
  }
280
241
  /**
@@ -290,37 +251,30 @@ export default class FormFoundation extends BaseFoundation {
290
251
  * activity.a => activity.a[0]、activity.a[1]
291
252
  *
292
253
  */
293
-
294
-
295
254
  _getNestedField(path) {
296
255
  const allRegisterField = this.fields;
297
256
  const allFieldPath = [...allRegisterField].map(item => item[0]);
298
257
  let nestedFieldPath = new Map();
299
258
  allFieldPath.forEach(item => {
300
259
  let itemPath = _toPath(item);
301
-
302
260
  let targetPath = _toPath(path);
303
-
304
261
  if (targetPath.every((path, i) => targetPath[i] === itemPath[i])) {
305
262
  const realField = allRegisterField.get(item);
306
263
  nestedFieldPath.set(item, realField);
307
264
  }
308
265
  });
309
266
  return nestedFieldPath;
310
- } // get all operate fields, called by validate() / reset()
311
-
312
-
267
+ }
268
+ // get all operate fields, called by validate() / reset()
313
269
  _getOperateFieldMap(fieldPaths) {
314
270
  let targetFields = new Map();
315
-
316
271
  if (!_isUndefined(fieldPaths)) {
317
272
  // reset or validate specific fields
318
273
  fieldPaths.forEach(path => {
319
- const field = this.fields.get(path); // may be undefined, if exists two fields like 'a[0]'、'a[1]', but user directly call reset(['a']) / validate(['a'])
320
-
274
+ const field = this.fields.get(path);
275
+ // may be undefined, if exists two fields like 'a[0]'、'a[1]', but user directly call reset(['a']) / validate(['a'])
321
276
  if (_isUndefined(field)) {
322
277
  const nestedFields = this._getNestedField(path);
323
-
324
278
  targetFields = new Map([...targetFields, ...nestedFields]);
325
279
  } else {
326
280
  targetFields.set(path, field);
@@ -330,29 +284,21 @@ export default class FormFoundation extends BaseFoundation {
330
284
  // reset or validate all fields
331
285
  targetFields = this.fields;
332
286
  }
333
-
334
287
  return targetFields;
335
- } // Reset the entire form, reset all fields and remove validation results
336
-
337
-
288
+ }
289
+ // Reset the entire form, reset all fields and remove validation results
338
290
  reset(fieldPaths) {
339
291
  const targetFields = this._getOperateFieldMap(fieldPaths);
340
-
341
292
  targetFields.forEach(field => {
342
293
  field.fieldApi.reset();
343
294
  });
344
-
345
295
  if (this.registeredArrayField.size) {
346
296
  this._resetArrayField();
347
297
  }
348
-
349
298
  this._adapter.notifyChange(this.data);
350
-
351
299
  this._adapter.forceUpdate();
352
-
353
300
  this._adapter.notifyReset();
354
301
  }
355
-
356
302
  _resetArrayField() {
357
303
  /*
358
304
  When Reset, arrayField needs to be processed separately. Restore the key/value of arrayField in formState according to the initial value
@@ -371,10 +317,9 @@ export default class FormFoundation extends BaseFoundation {
371
317
  updateKey: new Date().valueOf()
372
318
  });
373
319
  });
374
- } // After calling the form's custom validateFields function, reject the returned error to the corresponding field
320
+ }
321
+ // After calling the form's custom validateFields function, reject the returned error to the corresponding field
375
322
  // 调用了Form的自定义validateFields函数后,将返回的错误展示到对应的field中
376
-
377
-
378
323
  injectErrorToField(errors) {
379
324
  this.fields.forEach(field => {
380
325
  const fieldError = ObjectUtil.get(errors, field.field);
@@ -385,55 +330,45 @@ export default class FormFoundation extends BaseFoundation {
385
330
  field.fieldApi.setError(fieldError, opts);
386
331
  });
387
332
  }
388
-
389
333
  getValue(field, opts) {
390
334
  const isAllField = typeof field === 'undefined';
391
335
  const needClone = opts && opts.needClone;
392
336
  let result, fieldValue;
393
-
394
337
  switch (true) {
395
338
  case !isAllField && !needClone:
396
339
  result = ObjectUtil.get(this.data.values, field);
397
340
  break;
398
-
399
341
  case !isAllField && needClone:
400
342
  fieldValue = ObjectUtil.get(this.data.values, field);
401
343
  result = this._adapter.cloneDeep(fieldValue);
402
344
  break;
403
-
404
345
  case isAllField && !needClone:
405
346
  result = Object.assign({}, this.data.values);
406
347
  break;
407
-
408
348
  case isAllField && needClone:
409
349
  result = this._adapter.cloneDeep(this.data.values);
410
350
  break;
411
-
412
351
  default:
413
352
  break;
414
353
  }
415
-
416
354
  return result;
417
355
  }
418
-
419
356
  setValues(values, _ref) {
420
357
  let {
421
358
  isOverride = false
422
359
  } = _ref;
423
-
424
360
  const _values = this._adapter.cloneDeep(values);
425
-
426
361
  this.fields.forEach(field => {
427
- const value = ObjectUtil.get(_values, field.field); // When calling setValues to override the values, only need to trigger onValueChange and onChange once, so setNotNotify of setValue to true
362
+ const value = ObjectUtil.get(_values, field.field);
363
+ // When calling setValues to override the values, only need to trigger onValueChange and onChange once, so setNotNotify of setValue to true
428
364
  // 调用setValues进行值的覆盖时,只需要回调一次onValueChange、onChange即可,所以此处将setValue的notNotify置为true
429
-
430
365
  const opts = {
431
366
  notNotify: true,
432
367
  notUpdate: true
433
368
  };
434
369
  field.fieldApi.setValue(value, opts);
435
- }); // if there exists any arrayField component in this form
436
-
370
+ });
371
+ // if there exists any arrayField component in this form
437
372
  if (this.registeredArrayField.size) {
438
373
  const arrayFieldPaths = [...this.registeredArrayField.keys()];
439
374
  arrayFieldPaths.forEach(path => {
@@ -441,24 +376,19 @@ export default class FormFoundation extends BaseFoundation {
441
376
  updateKey: new Date().valueOf()
442
377
  });
443
378
  });
444
- } // When isOverride is true, there may be a non-existent field in the values passed in, directly synchronized to formState.values
379
+ }
380
+ // When isOverride is true, there may be a non-existent field in the values passed in, directly synchronized to formState.values
445
381
  // 当isOverride为true,传入的values中可能存在不存在的field时,直接将其同步到formState.values中
446
-
447
-
448
382
  if (isOverride) {
449
383
  this.data.values = _values;
450
- } // After completing the assignment, the unified callback can be done once.
384
+ }
385
+ // After completing the assignment, the unified callback can be done once.
451
386
  // 在完成赋值后,统一回调一次即可
452
-
453
-
454
387
  this._adapter.notifyChange(this.data);
455
-
456
388
  this._adapter.notifyValueChange(this.data.values, Object.assign({}, values));
457
-
458
389
  this._adapter.forceUpdate();
459
- } // update formState value
460
-
461
-
390
+ }
391
+ // update formState value
462
392
  updateStateValue(field, value, opts, callback) {
463
393
  const notNotify = opts && opts.notNotify;
464
394
  const notUpdate = opts && opts.notUpdate;
@@ -469,9 +399,8 @@ export default class FormFoundation extends BaseFoundation {
469
399
  * When F orm.allow Empty is true, all fields and keys will appear in the formS tate.values. If the value is empty, it is undefined
470
400
  * When F orm.allow Empty is false, only fields with values will key appear in the formS tate.values
471
401
  */
472
-
473
- const formAllowEmpty = this.getProp('allowEmpty'); // priority at Field level
474
-
402
+ const formAllowEmpty = this.getProp('allowEmpty');
403
+ // priority at Field level
475
404
  const allowEmpty = fieldAllowEmpty ? fieldAllowEmpty : formAllowEmpty;
476
405
  ObjectUtil.set(this.data.values, field, value, allowEmpty);
477
406
  /**
@@ -481,76 +410,62 @@ export default class FormFoundation extends BaseFoundation {
481
410
  * register时,Field中同步initValue到FormState时调用的setValue不应该触发notify
482
411
  * 但需要触发forceUpdate,否则useFormState、useFieldState初始渲染会有问题
483
412
  */
484
-
485
413
  if (!notNotify) {
486
414
  this._adapter.notifyChange(this.data);
487
-
488
415
  this._adapter.notifyValueChange(this.data.values, {
489
416
  [field]: value
490
417
  });
491
418
  }
492
-
493
419
  if (!notUpdate) {
494
420
  this._adapter.forceUpdate(callback);
495
421
  }
496
- } // get touched from formState
497
-
498
-
422
+ }
423
+ // get touched from formState
499
424
  getTouched(field) {
500
425
  if (typeof field === 'undefined') {
501
426
  return this.data.touched;
502
427
  }
503
-
504
428
  return ObjectUtil.get(this.data.touched, field);
505
- } // update formState touched
506
-
507
-
429
+ }
430
+ // update formState touched
508
431
  updateStateTouched(field, isTouched, opts, callback) {
509
432
  const notNotify = opts && opts.notNotify;
510
433
  const notUpdate = opts && opts.notUpdate;
511
434
  ObjectUtil.set(this.data.touched, field, isTouched);
512
-
513
435
  if (!notNotify) {
514
436
  this._adapter.notifyChange(this.data);
515
437
  }
516
-
517
438
  if (!notUpdate) {
518
439
  this._adapter.forceUpdate(callback);
519
440
  }
520
- } // get error from formState
521
-
522
-
441
+ }
442
+ // get error from formState
523
443
  getError(field) {
524
444
  if (typeof field === 'undefined') {
525
445
  return this.data.errors;
526
446
  }
527
-
528
447
  return ObjectUtil.get(this.data.errors, field);
529
- } // update formState error
530
-
531
-
448
+ }
449
+ // update formState error
532
450
  updateStateError(field, error, opts, callback) {
533
451
  const notNotify = opts && opts.notNotify;
534
452
  const notUpdate = opts && opts.notUpdate;
535
- ObjectUtil.set(this.data.errors, field, error); // The setError caused by centralized validation does not need to trigger notify, otherwise it will be called too frequently, as many times as there are fields
453
+ ObjectUtil.set(this.data.errors, field, error);
454
+ // The setError caused by centralized validation does not need to trigger notify, otherwise it will be called too frequently, as many times as there are fields
536
455
  // 集中validate时,引起的setError不需要触发notify,否则会过于频繁调用,有多少个field就调用了多少次
537
-
538
456
  if (!notNotify) {
539
457
  this._adapter.notifyChange(this.data);
540
458
  }
541
-
542
459
  if (!notUpdate) {
543
460
  this._adapter.forceUpdate(callback);
544
461
  }
545
- } // For internal use in the FormApi Operating Field
546
-
547
-
462
+ }
463
+ // For internal use in the FormApi Operating Field
548
464
  getFieldSetterApi() {
549
465
  const setValue = (field, value, opts) => {
550
- const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined; // DeepClone the value entered from the outside to avoid unexpected errors caused by not isolating the scope to the greatest extent. This setValue will be called in eg: ArrayField
551
-
466
+ const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
467
+ // DeepClone the value entered from the outside to avoid unexpected errors caused by not isolating the scope to the greatest extent. This setValue will be called in eg: ArrayField
552
468
  const newValue = this._adapter.cloneDeep(value);
553
-
554
469
  if (fieldApi) {
555
470
  // If there is a corresponding Field entity, call FieldApi to update the value
556
471
  fieldApi.setValue(newValue, opts);
@@ -561,7 +476,6 @@ export default class FormFoundation extends BaseFoundation {
561
476
  // When the user directly calls formA pi.set Value ('peoples', [2,3])
562
477
  this.updateStateValue(field, newValue, opts, () => {
563
478
  let nestedFields = this._getNestedField(field);
564
-
565
479
  if (nestedFields.size) {
566
480
  nestedFields.forEach(fieldStaff => {
567
481
  let fieldPath = fieldStaff.field;
@@ -573,8 +487,8 @@ export default class FormFoundation extends BaseFoundation {
573
487
  fieldStaff.fieldApi.setValue(newFieldVal, nestedBatchUpdateOpts);
574
488
  });
575
489
  }
576
- }); // If the reset happens to be, then update the updateKey corresponding to ArrayField to render it again
577
-
490
+ });
491
+ // If the reset happens to be, then update the updateKey corresponding to ArrayField to render it again
578
492
  if (this.getArrayField(field)) {
579
493
  this.updateArrayField(field, {
580
494
  updateKey: new Date().valueOf()
@@ -582,18 +496,14 @@ export default class FormFoundation extends BaseFoundation {
582
496
  }
583
497
  }
584
498
  };
585
-
586
499
  const setError = (field, error, opts) => {
587
500
  const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
588
-
589
501
  const newError = this._adapter.cloneDeep(error);
590
-
591
502
  if (fieldApi) {
592
503
  fieldApi.setError(newError, opts);
593
504
  } else {
594
505
  this.updateStateError(field, newError, opts, () => {
595
506
  let nestedFields = this._getNestedField(field);
596
-
597
507
  if (nestedFields.size) {
598
508
  nestedFields.forEach(fieldStaff => {
599
509
  let fieldPath = fieldStaff.field;
@@ -606,7 +516,6 @@ export default class FormFoundation extends BaseFoundation {
606
516
  });
607
517
  }
608
518
  });
609
-
610
519
  if (this.getArrayField(field)) {
611
520
  this.updateArrayField(field, {
612
521
  updateKey: new Date().valueOf()
@@ -614,16 +523,14 @@ export default class FormFoundation extends BaseFoundation {
614
523
  }
615
524
  }
616
525
  };
617
-
618
526
  const setTouched = (field, isTouched, opts) => {
619
- const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined; // touched is boolean variable, no need to exec deepClone like setValue
620
-
527
+ const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
528
+ // touched is boolean variable, no need to exec deepClone like setValue
621
529
  if (fieldApi) {
622
530
  fieldApi.setTouched(isTouched, opts);
623
531
  } else {
624
532
  this.updateStateTouched(field, isTouched, opts, () => {
625
533
  let nestedFields = this._getNestedField(field);
626
-
627
534
  if (nestedFields.size) {
628
535
  nestedFields.forEach(fieldStaff => {
629
536
  let fieldPath = fieldStaff.field;
@@ -636,7 +543,6 @@ export default class FormFoundation extends BaseFoundation {
636
543
  });
637
544
  }
638
545
  });
639
-
640
546
  if (this.getArrayField(field)) {
641
547
  this.updateArrayField(field, {
642
548
  updateKey: new Date().valueOf()
@@ -644,15 +550,13 @@ export default class FormFoundation extends BaseFoundation {
644
550
  }
645
551
  }
646
552
  };
647
-
648
553
  return {
649
554
  setValue,
650
555
  setError,
651
556
  setTouched
652
557
  };
653
- } // For Field and ArrayField to read and modify FormState
654
-
655
-
558
+ }
559
+ // For Field and ArrayField to read and modify FormState
656
560
  getModifyFormStateApi() {
657
561
  return {
658
562
  register: this.register,
@@ -672,9 +576,8 @@ export default class FormFoundation extends BaseFoundation {
672
576
  getArrayField: this.getArrayField,
673
577
  updateArrayField: this.updateArrayField
674
578
  };
675
- } // Form APIs for external use, exposed to the user
676
-
677
-
579
+ }
580
+ // Form APIs for external use, exposed to the user
678
581
  getFormApi() {
679
582
  const fieldSetterApi = this.getFieldSetterApi();
680
583
  return Object.assign(Object.assign({}, fieldSetterApi), {
@@ -699,13 +602,10 @@ export default class FormFoundation extends BaseFoundation {
699
602
  scrollToField: (field, scrollOpts) => this.scrollToField(field, scrollOpts)
700
603
  });
701
604
  }
702
-
703
605
  getFormState() {
704
606
  let needClone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
705
-
706
607
  // NOTES:这里如果直接返回this.data,forceUpdate 触发 Form rerender 时,通过context传下去的formState会被认为是同一个对象【应该是浅对比的原因】
707
608
  // 使用了useFormState相关的component都不会触发重新渲染。所以使用...复制一次
708
-
709
609
  /*
710
610
  The reason for distinguishing deepClone: When semi is calling getFormState for internal consumption,
711
611
  the value of formState will not be modified, so deep cloning is not necessary, which can reduce performance loss
@@ -720,10 +620,8 @@ export default class FormFoundation extends BaseFoundation {
720
620
  return this._adapter.cloneDeep(this.data);
721
621
  }
722
622
  }
723
-
724
623
  _isValid(targetFields) {
725
624
  let valid = true;
726
-
727
625
  if (!targetFields) {
728
626
  valid = Boolean(ObjectUtil.empty(this.data.errors));
729
627
  } else {
@@ -731,62 +629,49 @@ export default class FormFoundation extends BaseFoundation {
731
629
  const targetFieldStr = [...targetFields.keys()];
732
630
  targetFieldStr.forEach(fieldStr => {
733
631
  const fieldError = ObjectUtil.get(this.data.errors, fieldStr);
734
-
735
632
  if (!isValid(fieldError)) {
736
633
  valid = false;
737
634
  }
738
635
  });
739
636
  }
740
-
741
637
  return valid;
742
- } // get form.props.initValues
743
-
744
-
638
+ }
639
+ // get form.props.initValues
745
640
  getInitValues() {
746
641
  return this._adapter.getInitValues();
747
642
  }
748
-
749
643
  getInitValue(field) {
750
644
  if (typeof field === 'undefined') {
751
645
  return this._adapter.getInitValues();
752
646
  }
753
-
754
647
  return ObjectUtil.get(this._adapter.getInitValues(), field);
755
648
  }
756
-
757
649
  getFormProps(keys) {
758
650
  return this._adapter.getFormProps(keys);
759
651
  }
760
-
761
652
  getFieldExist(field) {
762
653
  return Boolean(this.fields.has(field));
763
654
  }
764
-
765
655
  _autoScroll(timeout) {
766
656
  const {
767
657
  autoScrollToError
768
658
  } = this.getFormProps();
769
-
770
659
  if (!autoScrollToError) {
771
660
  return;
772
661
  }
773
-
774
662
  let scrollOpts = {
775
663
  behavior: 'smooth',
776
664
  block: 'start'
777
665
  };
778
666
  typeof autoScrollToError === 'object' ? scrollOpts = autoScrollToError : null;
779
-
780
667
  if (timeout) {
781
668
  setTimeout(() => this._getErrorFieldAndScroll(scrollOpts), 100);
782
669
  } else {
783
670
  this._getErrorFieldAndScroll(scrollOpts);
784
671
  }
785
672
  }
786
-
787
673
  _getErrorFieldAndScroll(scrollOpts) {
788
674
  const errorDOM = this._adapter.getAllErrorDOM();
789
-
790
675
  if (errorDOM && errorDOM.length) {
791
676
  try {
792
677
  const fieldDom = errorDOM[0].parentNode.parentNode;
@@ -794,18 +679,14 @@ export default class FormFoundation extends BaseFoundation {
794
679
  } catch (error) {}
795
680
  }
796
681
  }
797
-
798
682
  scrollToField(field) {
799
683
  let scrollOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
800
684
  behavior: 'smooth',
801
685
  block: 'start'
802
686
  };
803
-
804
687
  if (this.getFieldExist(field)) {
805
688
  const fieldDOM = this._adapter.getFieldDOM(field);
806
-
807
689
  scrollIntoView(fieldDOM, scrollOpts);
808
690
  }
809
691
  }
810
-
811
692
  }