@douyinfe/semi-foundation 2.36.0-alpha.0 → 2.36.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 (477) hide show
  1. package/calendar/calendar.scss +1 -1
  2. package/calendar/foundation.ts +2 -1
  3. package/datePicker/_utils/getYears.ts +8 -4
  4. package/datePicker/foundation.ts +1 -1
  5. package/datePicker/monthsGridFoundation.ts +2 -1
  6. package/datePicker/yearAndMonthFoundation.ts +3 -1
  7. package/lib/cjs/anchor/constants.js +0 -2
  8. package/lib/cjs/anchor/foundation.js +10 -73
  9. package/lib/cjs/anchor/linkFoundation.js +4 -16
  10. package/lib/cjs/autoComplete/constants.js +0 -3
  11. package/lib/cjs/autoComplete/foundation.d.ts +1 -1
  12. package/lib/cjs/autoComplete/foundation.js +25 -139
  13. package/lib/cjs/autoComplete/optionFoundation.js +4 -14
  14. package/lib/cjs/avatar/constants.js +0 -2
  15. package/lib/cjs/avatar/foundation.js +0 -17
  16. package/lib/cjs/backtop/constants.js +0 -2
  17. package/lib/cjs/backtop/foundation.d.ts +2 -2
  18. package/lib/cjs/backtop/foundation.js +0 -21
  19. package/lib/cjs/badge/constants.js +0 -2
  20. package/lib/cjs/banner/constants.js +0 -2
  21. package/lib/cjs/banner/foundation.js +0 -7
  22. package/lib/cjs/base/constants.js +2 -4
  23. package/lib/cjs/base/foundation.d.ts +1 -1
  24. package/lib/cjs/base/foundation.js +12 -46
  25. package/lib/cjs/base/index.js +0 -3
  26. package/lib/cjs/breadcrumb/constants.js +0 -2
  27. package/lib/cjs/breadcrumb/foundation.js +1 -12
  28. package/lib/cjs/breadcrumb/itemFoundation.js +0 -7
  29. package/lib/cjs/button/constants.js +0 -2
  30. package/lib/cjs/calendar/calendar.css +2 -2
  31. package/lib/cjs/calendar/calendar.scss +1 -1
  32. package/lib/cjs/calendar/constants.js +0 -2
  33. package/lib/cjs/calendar/eventUtil.d.ts +1 -1
  34. package/lib/cjs/calendar/eventUtil.js +2 -74
  35. package/lib/cjs/calendar/foundation.d.ts +2 -2
  36. package/lib/cjs/calendar/foundation.js +28 -123
  37. package/lib/cjs/card/constants.js +0 -2
  38. package/lib/cjs/carousel/constants.js +0 -2
  39. package/lib/cjs/carousel/foundation.js +2 -52
  40. package/lib/cjs/cascader/constants.js +0 -3
  41. package/lib/cjs/cascader/foundation.d.ts +4 -4
  42. package/lib/cjs/cascader/foundation.js +28 -242
  43. package/lib/cjs/cascader/util.js +6 -24
  44. package/lib/cjs/checkbox/checkboxFoundation.js +2 -38
  45. package/lib/cjs/checkbox/checkboxGroupFoundation.js +2 -23
  46. package/lib/cjs/checkbox/constants.js +0 -2
  47. package/lib/cjs/collapse/constants.js +0 -2
  48. package/lib/cjs/collapse/foundation.d.ts +1 -1
  49. package/lib/cjs/collapse/foundation.js +2 -13
  50. package/lib/cjs/collapsible/constants.js +0 -2
  51. package/lib/cjs/collapsible/foundation.js +0 -9
  52. package/lib/cjs/datePicker/_utils/formatter.js +4 -10
  53. package/lib/cjs/datePicker/_utils/getDayOfWeek.d.ts +1 -1
  54. package/lib/cjs/datePicker/_utils/getDayOfWeek.js +0 -4
  55. package/lib/cjs/datePicker/_utils/getDefaultFormatToken.js +0 -5
  56. package/lib/cjs/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
  57. package/lib/cjs/datePicker/_utils/getDefaultPickerDate.js +0 -15
  58. package/lib/cjs/datePicker/_utils/getFullDateOffset.js +0 -7
  59. package/lib/cjs/datePicker/_utils/getInsetInputFormatToken.js +0 -5
  60. package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +0 -6
  61. package/lib/cjs/datePicker/_utils/getMonthTable.d.ts +1 -1
  62. package/lib/cjs/datePicker/_utils/getMonthTable.js +3 -14
  63. package/lib/cjs/datePicker/_utils/getMonthsInYear.js +0 -2
  64. package/lib/cjs/datePicker/_utils/getYears.d.ts +1 -1
  65. package/lib/cjs/datePicker/_utils/getYears.js +9 -7
  66. package/lib/cjs/datePicker/_utils/index.js +0 -13
  67. package/lib/cjs/datePicker/_utils/isAfter.js +0 -4
  68. package/lib/cjs/datePicker/_utils/isBefore.js +0 -4
  69. package/lib/cjs/datePicker/_utils/isBetween.js +0 -4
  70. package/lib/cjs/datePicker/_utils/isDate.js +0 -1
  71. package/lib/cjs/datePicker/_utils/isSameDay.js +0 -4
  72. package/lib/cjs/datePicker/_utils/isTimestamp.js +0 -4
  73. package/lib/cjs/datePicker/_utils/isUnixTimestamp.js +0 -4
  74. package/lib/cjs/datePicker/_utils/isValidDate.js +0 -1
  75. package/lib/cjs/datePicker/_utils/isValidTimeZone.js +0 -1
  76. package/lib/cjs/datePicker/_utils/isWithinInterval.js +0 -4
  77. package/lib/cjs/datePicker/_utils/parser.js +0 -10
  78. package/lib/cjs/datePicker/constants.js +0 -3
  79. package/lib/cjs/datePicker/foundation.d.ts +25 -25
  80. package/lib/cjs/datePicker/foundation.js +22 -333
  81. package/lib/cjs/datePicker/inputFoundation.d.ts +3 -3
  82. package/lib/cjs/datePicker/inputFoundation.js +5 -86
  83. package/lib/cjs/datePicker/monthFoundation.d.ts +1 -1
  84. package/lib/cjs/datePicker/monthFoundation.js +3 -28
  85. package/lib/cjs/datePicker/monthsGridFoundation.d.ts +5 -4
  86. package/lib/cjs/datePicker/monthsGridFoundation.js +43 -238
  87. package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +3 -1
  88. package/lib/cjs/datePicker/yearAndMonthFoundation.js +12 -38
  89. package/lib/cjs/descriptions/constants.js +0 -2
  90. package/lib/cjs/divider/constants.js +0 -2
  91. package/lib/cjs/dropdown/constants.js +0 -3
  92. package/lib/cjs/dropdown/foundation.js +4 -23
  93. package/lib/cjs/dropdown/menuFoundation.js +8 -27
  94. package/lib/cjs/empty/constants.js +0 -2
  95. package/lib/cjs/form/constants.js +0 -2
  96. package/lib/cjs/form/foundation.js +75 -206
  97. package/lib/cjs/form/interface.d.ts +5 -5
  98. package/lib/cjs/form/utils.js +47 -77
  99. package/lib/cjs/grid/constants.js +0 -2
  100. package/lib/cjs/highlight/constants.js +0 -2
  101. package/lib/cjs/icons/constants.js +0 -2
  102. package/lib/cjs/image/constants.js +0 -2
  103. package/lib/cjs/image/imageFoundation.js +4 -18
  104. package/lib/cjs/image/previewFooterFoundation.js +0 -13
  105. package/lib/cjs/image/previewFoundation.js +0 -11
  106. package/lib/cjs/image/previewImageFoundation.js +6 -80
  107. package/lib/cjs/image/previewInnerFoundation.js +12 -77
  108. package/lib/cjs/image/utils.js +0 -14
  109. package/lib/cjs/input/constants.js +0 -2
  110. package/lib/cjs/input/foundation.js +17 -101
  111. package/lib/cjs/input/textareaFoundation.js +20 -85
  112. package/lib/cjs/input/util/calculateNodeHeight.js +6 -18
  113. package/lib/cjs/input/util/getSizingData.js +7 -11
  114. package/lib/cjs/inputNumber/constants.js +0 -2
  115. package/lib/cjs/inputNumber/foundation.js +29 -192
  116. package/lib/cjs/layout/constants.js +0 -2
  117. package/lib/cjs/list/constants.js +0 -2
  118. package/lib/cjs/modal/constants.js +0 -2
  119. package/lib/cjs/modal/modalContentFoundation.js +0 -20
  120. package/lib/cjs/modal/modalFoundation.d.ts +2 -2
  121. package/lib/cjs/modal/modalFoundation.js +2 -22
  122. package/lib/cjs/navigation/NavItem.js +0 -10
  123. package/lib/cjs/navigation/constants.js +0 -3
  124. package/lib/cjs/navigation/foundation.js +3 -67
  125. package/lib/cjs/navigation/itemFoundation.d.ts +0 -2
  126. package/lib/cjs/navigation/itemFoundation.js +3 -21
  127. package/lib/cjs/navigation/navigation.css +7 -77
  128. package/lib/cjs/navigation/navigation.scss +7 -119
  129. package/lib/cjs/navigation/subNavFoundation.d.ts +0 -2
  130. package/lib/cjs/navigation/subNavFoundation.js +4 -40
  131. package/lib/cjs/notification/constants.js +0 -3
  132. package/lib/cjs/notification/notificationFoundation.d.ts +3 -3
  133. package/lib/cjs/notification/notificationFoundation.js +0 -16
  134. package/lib/cjs/notification/notificationListFoundation.js +7 -17
  135. package/lib/cjs/overflowList/constants.js +0 -2
  136. package/lib/cjs/overflowList/foundation.js +11 -41
  137. package/lib/cjs/pagination/constants.js +0 -2
  138. package/lib/cjs/pagination/foundation.d.ts +3 -3
  139. package/lib/cjs/pagination/foundation.js +21 -90
  140. package/lib/cjs/popconfirm/constants.js +0 -2
  141. package/lib/cjs/popconfirm/popconfirmFoundation.js +1 -21
  142. package/lib/cjs/popover/constants.js +0 -3
  143. package/lib/cjs/progress/constants.js +0 -2
  144. package/lib/cjs/progress/generates.d.ts +2 -2
  145. package/lib/cjs/progress/generates.js +19 -60
  146. package/lib/cjs/radio/constants.js +0 -2
  147. package/lib/cjs/radio/radioFoundation.js +0 -14
  148. package/lib/cjs/radio/radioGroupFoundation.js +4 -23
  149. package/lib/cjs/radio/radioInnerFoundation.js +2 -19
  150. package/lib/cjs/rating/constants.js +0 -2
  151. package/lib/cjs/rating/foundation.js +11 -61
  152. package/lib/cjs/scrollList/constants.js +0 -2
  153. package/lib/cjs/scrollList/foundation.js +0 -4
  154. package/lib/cjs/scrollList/itemFoundation.js +8 -61
  155. package/lib/cjs/scrollList/scrollTo.js +2 -5
  156. package/lib/cjs/select/constants.js +0 -3
  157. package/lib/cjs/select/foundation.d.ts +2 -2
  158. package/lib/cjs/select/foundation.js +122 -425
  159. package/lib/cjs/select/optionFoundation.js +4 -14
  160. package/lib/cjs/sideSheet/constants.js +0 -2
  161. package/lib/cjs/sideSheet/sideSheetFoundation.js +0 -18
  162. package/lib/cjs/skeleton/constants.js +0 -2
  163. package/lib/cjs/slider/constants.js +0 -2
  164. package/lib/cjs/slider/foundation.d.ts +1 -1
  165. package/lib/cjs/slider/foundation.js +25 -204
  166. package/lib/cjs/space/constants.js +0 -2
  167. package/lib/cjs/spin/constants.js +0 -2
  168. package/lib/cjs/spin/foundation.js +3 -13
  169. package/lib/cjs/steps/bacisSteps.scss +238 -287
  170. package/lib/cjs/steps/constants.js +0 -2
  171. package/lib/cjs/steps/fillSteps.scss +142 -153
  172. package/lib/cjs/steps/navSteps.scss +40 -61
  173. package/lib/cjs/steps/steps.css +17 -381
  174. package/lib/cjs/switch/constants.js +0 -2
  175. package/lib/cjs/switch/foundation.js +2 -18
  176. package/lib/cjs/table/bodyFoundation.js +2 -34
  177. package/lib/cjs/table/cellFoundation.js +0 -5
  178. package/lib/cjs/table/constants.js +7 -8
  179. package/lib/cjs/table/foundation.d.ts +17 -14
  180. package/lib/cjs/table/foundation.js +72 -302
  181. package/lib/cjs/table/table.css +6 -0
  182. package/lib/cjs/table/table.scss +12 -0
  183. package/lib/cjs/table/tableRowFoundation.js +0 -11
  184. package/lib/cjs/table/tableSelectionCellFoundation.js +0 -6
  185. package/lib/cjs/table/utils.d.ts +2 -2
  186. package/lib/cjs/table/utils.js +5 -118
  187. package/lib/cjs/tabs/constants.js +0 -2
  188. package/lib/cjs/tabs/foundation.js +2 -40
  189. package/lib/cjs/tabs/tabs.css +14 -14
  190. package/lib/cjs/tabs/tabs.scss +16 -14
  191. package/lib/cjs/tag/constants.js +1 -2
  192. package/lib/cjs/tagInput/constants.js +0 -2
  193. package/lib/cjs/tagInput/foundation.d.ts +4 -4
  194. package/lib/cjs/tagInput/foundation.js +4 -94
  195. package/lib/cjs/tagInput/utils/getSplitedArray.js +0 -11
  196. package/lib/cjs/timePicker/ComboxFoundation.js +4 -39
  197. package/lib/cjs/timePicker/constants.js +0 -3
  198. package/lib/cjs/timePicker/foundation.d.ts +2 -2
  199. package/lib/cjs/timePicker/foundation.js +6 -102
  200. package/lib/cjs/timePicker/inputFoundation.js +6 -25
  201. package/lib/cjs/timePicker/utils/index.js +6 -45
  202. package/lib/cjs/timePicker/utils/localeDate.js +0 -10
  203. package/lib/cjs/timeline/constants.js +0 -2
  204. package/lib/cjs/timeline/timeline.css +0 -36
  205. package/lib/cjs/timeline/timeline.scss +46 -96
  206. package/lib/cjs/toast/constants.js +0 -3
  207. package/lib/cjs/toast/toastFoundation.d.ts +3 -3
  208. package/lib/cjs/toast/toastFoundation.js +0 -14
  209. package/lib/cjs/toast/toastListFoundation.js +4 -22
  210. package/lib/cjs/tooltip/constants.js +0 -2
  211. package/lib/cjs/tooltip/foundation.d.ts +1 -1
  212. package/lib/cjs/tooltip/foundation.js +63 -291
  213. package/lib/cjs/transfer/constants.js +0 -2
  214. package/lib/cjs/transfer/foundation.d.ts +1 -1
  215. package/lib/cjs/transfer/foundation.js +4 -68
  216. package/lib/cjs/transfer/transferUtils.js +5 -27
  217. package/lib/cjs/tree/constants.js +0 -2
  218. package/lib/cjs/tree/foundation.d.ts +3 -3
  219. package/lib/cjs/tree/foundation.js +34 -150
  220. package/lib/cjs/tree/treeUtil.js +54 -173
  221. package/lib/cjs/treeSelect/constants.js +0 -2
  222. package/lib/cjs/treeSelect/foundation.d.ts +7 -7
  223. package/lib/cjs/treeSelect/foundation.js +18 -192
  224. package/lib/cjs/typography/constants.d.ts +1 -0
  225. package/lib/cjs/typography/constants.js +1 -2
  226. package/lib/cjs/typography/formatNumeral.d.ts +3 -3
  227. package/lib/cjs/typography/formatNumeral.js +16 -32
  228. package/lib/cjs/typography/typography.css +120 -0
  229. package/lib/cjs/typography/typography.scss +131 -6
  230. package/lib/cjs/typography/variables.scss +48 -0
  231. package/lib/cjs/upload/constants.js +0 -2
  232. package/lib/cjs/upload/foundation.d.ts +5 -5
  233. package/lib/cjs/upload/foundation.js +36 -245
  234. package/lib/cjs/upload/utils.js +10 -29
  235. package/lib/cjs/utils/Event.js +2 -21
  236. package/lib/cjs/utils/FocusHandle.d.ts +1 -1
  237. package/lib/cjs/utils/FocusHandle.js +6 -35
  238. package/lib/cjs/utils/Logger.js +0 -21
  239. package/lib/cjs/utils/Store.js +0 -10
  240. package/lib/cjs/utils/a11y.js +18 -43
  241. package/lib/cjs/utils/array.d.ts +1 -1
  242. package/lib/cjs/utils/array.js +0 -7
  243. package/lib/cjs/utils/arrayMove.js +0 -1
  244. package/lib/cjs/utils/classnames.js +0 -12
  245. package/lib/cjs/utils/date-fns-extra.js +0 -35
  246. package/lib/cjs/utils/dom.d.ts +1 -1
  247. package/lib/cjs/utils/dom.js +0 -13
  248. package/lib/cjs/utils/function.js +0 -1
  249. package/lib/cjs/utils/getDataAttr.js +0 -2
  250. package/lib/cjs/utils/getHighlight.js +5 -26
  251. package/lib/cjs/utils/getMotionObjFromProps.js +0 -12
  252. package/lib/cjs/utils/index.js +0 -4
  253. package/lib/cjs/utils/isBothNaN.js +0 -2
  254. package/lib/cjs/utils/isElement.js +0 -1
  255. package/lib/cjs/utils/isEnterPress.js +0 -5
  256. package/lib/cjs/utils/isEscPress.js +0 -5
  257. package/lib/cjs/utils/isNullOrUndefined.js +0 -1
  258. package/lib/cjs/utils/isNumber.js +0 -1
  259. package/lib/cjs/utils/isObject.js +0 -1
  260. package/lib/cjs/utils/isPromise.js +0 -3
  261. package/lib/cjs/utils/isString.js +0 -1
  262. package/lib/cjs/utils/keyCode.js +0 -105
  263. package/lib/cjs/utils/log.js +0 -5
  264. package/lib/cjs/utils/number.js +0 -2
  265. package/lib/cjs/utils/object.d.ts +4 -4
  266. package/lib/cjs/utils/object.js +12 -34
  267. package/lib/cjs/utils/set.js +0 -8
  268. package/lib/cjs/utils/shallowEqualObjects.js +0 -7
  269. package/lib/cjs/utils/touchPolyfill.js +0 -7
  270. package/lib/cjs/utils/type.d.ts +3 -3
  271. package/lib/cjs/utils/uuid.js +2 -9
  272. package/lib/cjs/utils/warning.js +0 -1
  273. package/lib/es/anchor/foundation.js +10 -66
  274. package/lib/es/anchor/linkFoundation.js +4 -12
  275. package/lib/es/autoComplete/foundation.d.ts +1 -1
  276. package/lib/es/autoComplete/foundation.js +24 -132
  277. package/lib/es/autoComplete/optionFoundation.js +4 -10
  278. package/lib/es/avatar/foundation.js +0 -12
  279. package/lib/es/backtop/foundation.d.ts +2 -2
  280. package/lib/es/backtop/foundation.js +0 -16
  281. package/lib/es/banner/foundation.js +0 -3
  282. package/lib/es/base/constants.js +2 -2
  283. package/lib/es/base/foundation.d.ts +1 -1
  284. package/lib/es/base/foundation.js +11 -44
  285. package/lib/es/breadcrumb/foundation.js +0 -7
  286. package/lib/es/breadcrumb/itemFoundation.js +0 -3
  287. package/lib/es/calendar/calendar.css +2 -2
  288. package/lib/es/calendar/calendar.scss +1 -1
  289. package/lib/es/calendar/eventUtil.d.ts +1 -1
  290. package/lib/es/calendar/eventUtil.js +2 -36
  291. package/lib/es/calendar/foundation.d.ts +2 -2
  292. package/lib/es/calendar/foundation.js +28 -117
  293. package/lib/es/carousel/foundation.js +2 -47
  294. package/lib/es/cascader/constants.js +0 -1
  295. package/lib/es/cascader/foundation.d.ts +4 -4
  296. package/lib/es/cascader/foundation.js +30 -226
  297. package/lib/es/cascader/util.js +6 -15
  298. package/lib/es/checkbox/checkboxFoundation.js +2 -34
  299. package/lib/es/checkbox/checkboxGroupFoundation.js +2 -20
  300. package/lib/es/collapse/foundation.d.ts +1 -1
  301. package/lib/es/collapse/foundation.js +2 -9
  302. package/lib/es/collapsible/foundation.js +0 -7
  303. package/lib/es/datePicker/_utils/formatter.js +4 -8
  304. package/lib/es/datePicker/_utils/getDayOfWeek.d.ts +1 -1
  305. package/lib/es/datePicker/_utils/getDayOfWeek.js +0 -3
  306. package/lib/es/datePicker/_utils/getDefaultFormatToken.js +0 -2
  307. package/lib/es/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
  308. package/lib/es/datePicker/_utils/getDefaultPickerDate.js +0 -10
  309. package/lib/es/datePicker/_utils/getFullDateOffset.js +0 -3
  310. package/lib/es/datePicker/_utils/getInsetInputFormatToken.js +0 -4
  311. package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +0 -5
  312. package/lib/es/datePicker/_utils/getMonthTable.d.ts +1 -1
  313. package/lib/es/datePicker/_utils/getMonthTable.js +4 -14
  314. package/lib/es/datePicker/_utils/getMonthsInYear.js +0 -1
  315. package/lib/es/datePicker/_utils/getYears.d.ts +1 -1
  316. package/lib/es/datePicker/_utils/getYears.js +9 -6
  317. package/lib/es/datePicker/_utils/isBetween.js +0 -1
  318. package/lib/es/datePicker/_utils/parser.js +0 -8
  319. package/lib/es/datePicker/foundation.d.ts +25 -25
  320. package/lib/es/datePicker/foundation.js +22 -318
  321. package/lib/es/datePicker/inputFoundation.d.ts +3 -3
  322. package/lib/es/datePicker/inputFoundation.js +5 -74
  323. package/lib/es/datePicker/monthFoundation.d.ts +1 -1
  324. package/lib/es/datePicker/monthFoundation.js +4 -22
  325. package/lib/es/datePicker/monthsGridFoundation.d.ts +5 -4
  326. package/lib/es/datePicker/monthsGridFoundation.js +42 -222
  327. package/lib/es/datePicker/yearAndMonthFoundation.d.ts +3 -1
  328. package/lib/es/datePicker/yearAndMonthFoundation.js +12 -36
  329. package/lib/es/dropdown/foundation.js +4 -18
  330. package/lib/es/dropdown/menuFoundation.js +8 -22
  331. package/lib/es/form/foundation.js +74 -195
  332. package/lib/es/form/interface.d.ts +5 -5
  333. package/lib/es/form/utils.js +47 -70
  334. package/lib/es/image/imageFoundation.js +4 -13
  335. package/lib/es/image/previewFooterFoundation.js +0 -9
  336. package/lib/es/image/previewFoundation.js +0 -7
  337. package/lib/es/image/previewImageFoundation.js +6 -72
  338. package/lib/es/image/previewInnerFoundation.js +12 -70
  339. package/lib/es/image/utils.js +0 -6
  340. package/lib/es/input/foundation.js +17 -93
  341. package/lib/es/input/textareaFoundation.js +20 -75
  342. package/lib/es/input/util/calculateNodeHeight.js +6 -18
  343. package/lib/es/input/util/getSizingData.js +7 -11
  344. package/lib/es/inputNumber/foundation.js +28 -183
  345. package/lib/es/modal/modalContentFoundation.js +0 -15
  346. package/lib/es/modal/modalFoundation.d.ts +2 -2
  347. package/lib/es/modal/modalFoundation.js +2 -17
  348. package/lib/es/navigation/NavItem.js +0 -6
  349. package/lib/es/navigation/constants.js +1 -1
  350. package/lib/es/navigation/foundation.js +2 -60
  351. package/lib/es/navigation/itemFoundation.d.ts +0 -2
  352. package/lib/es/navigation/itemFoundation.js +3 -18
  353. package/lib/es/navigation/navigation.css +7 -77
  354. package/lib/es/navigation/navigation.scss +7 -119
  355. package/lib/es/navigation/subNavFoundation.d.ts +0 -2
  356. package/lib/es/navigation/subNavFoundation.js +4 -36
  357. package/lib/es/notification/constants.js +1 -1
  358. package/lib/es/notification/notificationFoundation.d.ts +3 -3
  359. package/lib/es/notification/notificationFoundation.js +0 -11
  360. package/lib/es/notification/notificationListFoundation.js +6 -13
  361. package/lib/es/overflowList/foundation.js +11 -37
  362. package/lib/es/pagination/foundation.d.ts +3 -3
  363. package/lib/es/pagination/foundation.js +20 -87
  364. package/lib/es/popconfirm/popconfirmFoundation.js +1 -16
  365. package/lib/es/progress/generates.d.ts +2 -2
  366. package/lib/es/progress/generates.js +19 -59
  367. package/lib/es/radio/radioFoundation.js +0 -9
  368. package/lib/es/radio/radioGroupFoundation.js +4 -19
  369. package/lib/es/radio/radioInnerFoundation.js +2 -15
  370. package/lib/es/rating/foundation.js +10 -54
  371. package/lib/es/scrollList/itemFoundation.js +8 -60
  372. package/lib/es/scrollList/scrollTo.js +2 -4
  373. package/lib/es/select/foundation.d.ts +2 -2
  374. package/lib/es/select/foundation.js +122 -411
  375. package/lib/es/select/optionFoundation.js +4 -10
  376. package/lib/es/sideSheet/sideSheetFoundation.js +0 -12
  377. package/lib/es/slider/foundation.d.ts +1 -1
  378. package/lib/es/slider/foundation.js +24 -197
  379. package/lib/es/spin/foundation.js +3 -11
  380. package/lib/es/steps/bacisSteps.scss +238 -287
  381. package/lib/es/steps/fillSteps.scss +142 -153
  382. package/lib/es/steps/navSteps.scss +40 -61
  383. package/lib/es/steps/steps.css +17 -381
  384. package/lib/es/switch/foundation.js +2 -13
  385. package/lib/es/table/bodyFoundation.js +2 -25
  386. package/lib/es/table/cellFoundation.js +0 -1
  387. package/lib/es/table/constants.js +6 -6
  388. package/lib/es/table/foundation.d.ts +17 -14
  389. package/lib/es/table/foundation.js +72 -309
  390. package/lib/es/table/table.css +6 -0
  391. package/lib/es/table/table.scss +12 -0
  392. package/lib/es/table/tableRowFoundation.js +2 -9
  393. package/lib/es/table/tableSelectionCellFoundation.js +0 -2
  394. package/lib/es/table/utils.d.ts +2 -2
  395. package/lib/es/table/utils.js +5 -81
  396. package/lib/es/tabs/foundation.js +2 -35
  397. package/lib/es/tabs/tabs.css +14 -14
  398. package/lib/es/tabs/tabs.scss +16 -14
  399. package/lib/es/tagInput/foundation.d.ts +4 -4
  400. package/lib/es/tagInput/foundation.js +4 -84
  401. package/lib/es/tagInput/utils/getSplitedArray.js +0 -7
  402. package/lib/es/timePicker/ComboxFoundation.js +4 -30
  403. package/lib/es/timePicker/foundation.d.ts +2 -2
  404. package/lib/es/timePicker/foundation.js +7 -95
  405. package/lib/es/timePicker/inputFoundation.js +6 -22
  406. package/lib/es/timePicker/utils/index.js +6 -25
  407. package/lib/es/timePicker/utils/localeDate.js +0 -8
  408. package/lib/es/timeline/timeline.css +0 -36
  409. package/lib/es/timeline/timeline.scss +46 -96
  410. package/lib/es/toast/constants.js +1 -1
  411. package/lib/es/toast/toastFoundation.d.ts +3 -3
  412. package/lib/es/toast/toastFoundation.js +0 -9
  413. package/lib/es/toast/toastListFoundation.js +4 -18
  414. package/lib/es/tooltip/foundation.d.ts +1 -1
  415. package/lib/es/tooltip/foundation.js +63 -288
  416. package/lib/es/transfer/foundation.d.ts +1 -1
  417. package/lib/es/transfer/foundation.js +6 -62
  418. package/lib/es/transfer/transferUtils.js +5 -21
  419. package/lib/es/tree/foundation.d.ts +3 -3
  420. package/lib/es/tree/foundation.js +34 -143
  421. package/lib/es/tree/treeUtil.js +54 -139
  422. package/lib/es/treeSelect/foundation.d.ts +7 -7
  423. package/lib/es/treeSelect/foundation.js +20 -179
  424. package/lib/es/typography/constants.d.ts +1 -0
  425. package/lib/es/typography/constants.js +1 -0
  426. package/lib/es/typography/formatNumeral.d.ts +3 -3
  427. package/lib/es/typography/formatNumeral.js +16 -29
  428. package/lib/es/typography/typography.css +120 -0
  429. package/lib/es/typography/typography.scss +131 -6
  430. package/lib/es/typography/variables.scss +48 -0
  431. package/lib/es/upload/foundation.d.ts +5 -5
  432. package/lib/es/upload/foundation.js +36 -238
  433. package/lib/es/upload/utils.js +10 -24
  434. package/lib/es/utils/Event.js +2 -17
  435. package/lib/es/utils/FocusHandle.d.ts +1 -1
  436. package/lib/es/utils/FocusHandle.js +6 -32
  437. package/lib/es/utils/Logger.js +0 -20
  438. package/lib/es/utils/Store.js +0 -9
  439. package/lib/es/utils/a11y.js +18 -31
  440. package/lib/es/utils/array.d.ts +1 -1
  441. package/lib/es/utils/array.js +0 -5
  442. package/lib/es/utils/classnames.js +0 -10
  443. package/lib/es/utils/date-fns-extra.js +0 -27
  444. package/lib/es/utils/dom.d.ts +1 -1
  445. package/lib/es/utils/dom.js +0 -9
  446. package/lib/es/utils/getDataAttr.js +0 -1
  447. package/lib/es/utils/getHighlight.js +5 -26
  448. package/lib/es/utils/getMotionObjFromProps.js +0 -8
  449. package/lib/es/utils/isBothNaN.js +0 -1
  450. package/lib/es/utils/isEnterPress.js +0 -2
  451. package/lib/es/utils/isEscPress.js +0 -2
  452. package/lib/es/utils/keyCode.js +0 -104
  453. package/lib/es/utils/log.js +0 -3
  454. package/lib/es/utils/object.d.ts +4 -4
  455. package/lib/es/utils/object.js +12 -28
  456. package/lib/es/utils/set.js +0 -5
  457. package/lib/es/utils/shallowEqualObjects.js +0 -6
  458. package/lib/es/utils/touchPolyfill.js +0 -5
  459. package/lib/es/utils/type.d.ts +3 -3
  460. package/lib/es/utils/uuid.js +2 -8
  461. package/navigation/itemFoundation.ts +1 -3
  462. package/navigation/navigation.scss +7 -119
  463. package/navigation/subNavFoundation.ts +1 -3
  464. package/overflowList/foundation.ts +4 -4
  465. package/package.json +2 -2
  466. package/steps/bacisSteps.scss +238 -287
  467. package/steps/fillSteps.scss +142 -153
  468. package/steps/navSteps.scss +40 -61
  469. package/table/foundation.ts +8 -10
  470. package/table/table.scss +12 -0
  471. package/tabs/tabs.scss +16 -14
  472. package/timePicker/foundation.ts +4 -6
  473. package/timeline/timeline.scss +46 -96
  474. package/typography/constants.ts +1 -0
  475. package/typography/typography.scss +131 -6
  476. package/typography/variables.scss +48 -0
  477. package/upload/foundation.ts +8 -8
@@ -4,30 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _toPath2 = _interopRequireDefault(require("lodash/toPath"));
9
-
10
8
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
11
-
12
9
  var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
13
-
14
10
  var _foundation = _interopRequireDefault(require("../base/foundation"));
15
-
16
11
  var ObjectUtil = _interopRequireWildcard(require("../utils/object"));
17
-
18
12
  var _isPromise = _interopRequireDefault(require("../utils/isPromise"));
19
-
20
13
  var _utils = require("./utils");
21
-
22
14
  var _scrollIntoViewIfNeeded = _interopRequireDefault(require("scroll-into-view-if-needed"));
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
18
  /* eslint-disable prefer-const, max-len */
19
+
31
20
  class FormFoundation extends _foundation.default {
32
21
  constructor(adapter) {
33
22
  super(Object.assign({}, adapter));
@@ -39,26 +28,24 @@ class FormFoundation extends _foundation.default {
39
28
  这里也需要读一次initValue,因为Form级别可设置初始值,Field级别也可设置初始值.
40
29
  Form中设置的字段,不一定会存在Field实体,所以不能完全依赖register时刻来设置初始值
41
30
  */
42
-
43
31
  let {
44
32
  initValues
45
33
  } = this._adapter.getProps();
46
-
47
34
  initValues = this._adapter.cloneDeep(initValues);
48
35
  this.data = {
49
36
  values: initValues ? initValues : {},
50
37
  errors: {},
51
- touched: {} // invalid: false,
38
+ touched: {}
39
+ // invalid: false,
52
40
  // dirty: false,
53
-
54
- }; // Map store all fields
41
+ };
42
+ // Map store all fields
55
43
  // key: fieldName
56
44
  // value: { field, fieldApi, keepState, initValue}
57
-
58
- this.fields = new Map(); // Record all registered fields
59
-
60
- this.registered = {}; // Record all registered ArrayField
61
-
45
+ this.fields = new Map();
46
+ // Record all registered fields
47
+ this.registered = {};
48
+ // Record all registered ArrayField
62
49
  this.registeredArrayField = new Map();
63
50
  this.register = this.register.bind(this);
64
51
  this.unRegister = this.unRegister.bind(this);
@@ -81,23 +68,20 @@ class FormFoundation extends _foundation.default {
81
68
  this.getFieldExist = this.getFieldExist.bind(this);
82
69
  this.scrollToField = this.scrollToField.bind(this);
83
70
  }
84
-
85
71
  init() {
86
72
  this._adapter.initFormId();
87
73
  }
88
-
89
74
  getField(field) {
90
75
  const targetField = this.fields.get(field);
91
76
  return targetField;
92
77
  }
93
-
94
78
  register(field, fieldState, fieldStuff) {
95
79
  // determine if this field has been register before
96
80
  const registered = this.registered[field];
97
81
  this.registered[field] = true;
98
82
  this.fields.set(field, fieldStuff);
99
-
100
- if (fieldStuff.keepState) {// TODO support keepState
83
+ if (fieldStuff.keepState) {
84
+ // TODO support keepState
101
85
  } else {
102
86
  const allowEmpty = fieldStuff.allowEmpty || false;
103
87
  const opts = {
@@ -105,24 +89,22 @@ class FormFoundation extends _foundation.default {
105
89
  notUpdate: false,
106
90
  allowEmpty
107
91
  };
108
- 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
109
-
92
+ let fieldValue = fieldState.value;
93
+ // When allowEmpty is false, 'is equivalent to undefined, and the key of the field does not need to be reflected on values
110
94
  if (!allowEmpty && fieldValue === '') {
111
95
  fieldValue = undefined;
112
96
  }
113
-
114
97
  this.updateStateValue(field, fieldValue, opts);
115
-
116
98
  if (fieldState.error) {
117
99
  this.updateStateError(field, fieldState.error, opts);
118
100
  }
119
- } // this.log(this.fields);
120
-
101
+ }
102
+ // this.log(this.fields);
121
103
  }
122
104
 
123
105
  unRegister(field) {
124
- const targetField = this.fields.get(field); // delete data
125
-
106
+ const targetField = this.fields.get(field);
107
+ // delete data
126
108
  try {
127
109
  if (!targetField.keepState) {
128
110
  ObjectUtil.remove(this.data.values, field);
@@ -131,50 +113,40 @@ class FormFoundation extends _foundation.default {
131
113
  }
132
114
  } catch (error) {
133
115
  console.error(`some thing wrong when unregister field:${field}`);
134
- } // delete field
135
-
136
-
116
+ }
117
+ // delete field
137
118
  this.fields.delete(field);
138
-
139
119
  this._adapter.notifyChange(this.data);
140
-
141
120
  this._adapter.forceUpdate();
142
- } // in order to slove byted-issue-289
143
-
144
-
121
+ }
122
+ // in order to slove byted-issue-289
145
123
  registerArrayField(arrayFieldPath, val) {
146
124
  this.updateArrayField(arrayFieldPath, {
147
125
  updateKey: new Date().valueOf(),
148
126
  initValue: val
149
127
  });
150
128
  }
151
-
152
129
  unRegisterArrayField(arrayField) {
153
130
  this.registeredArrayField.delete(arrayField);
154
131
  }
155
-
156
132
  getArrayField(arrayField) {
157
133
  return this.registeredArrayField.get(arrayField);
158
134
  }
159
-
160
135
  updateArrayField(arrayField, updateValue) {
161
136
  const mergeVal = Object.assign(Object.assign({}, this.registeredArrayField.get(arrayField)), updateValue);
162
137
  this.registeredArrayField.set(arrayField, mergeVal);
163
138
  }
164
-
165
139
  validate(fieldPaths) {
166
140
  const {
167
141
  validateFields
168
142
  } = this.getProps();
169
-
170
143
  if (validateFields && (0, _isFunction2.default)(validateFields)) {
171
144
  return this._formValidate();
172
145
  } else {
173
146
  return this._fieldsValidate(fieldPaths);
174
147
  }
175
- } // form level validate
176
-
177
-
148
+ }
149
+ // form level validate
178
150
  _formValidate() {
179
151
  const {
180
152
  values
@@ -184,14 +156,12 @@ class FormFoundation extends _foundation.default {
184
156
  } = this.getProps();
185
157
  return new Promise((resolve, reject) => {
186
158
  let maybePromisedErrors;
187
-
188
159
  try {
189
160
  maybePromisedErrors = validateFields(values);
190
161
  } catch (errors) {
191
162
  // error throw by sync validate directly
192
163
  maybePromisedErrors = errors;
193
164
  }
194
-
195
165
  if (!maybePromisedErrors) {
196
166
  resolve(values);
197
167
  this.injectErrorToField({});
@@ -203,55 +173,42 @@ class FormFoundation extends _foundation.default {
203
173
  this.injectErrorToField({});
204
174
  } else {
205
175
  this.data.errors = result;
206
-
207
176
  this._adapter.notifyChange(this.data);
208
-
209
177
  this.injectErrorToField(result);
210
-
211
178
  this._adapter.forceUpdate();
212
-
213
179
  this._autoScroll(100);
214
-
215
180
  reject(result);
216
181
  }
217
182
  }, errors => {
218
183
  // validate failed
219
184
  // this._adapter.notifyChange(this.data);
220
185
  this._autoScroll(100);
221
-
222
186
  reject(errors);
223
187
  });
224
188
  } else {
225
189
  // 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?
226
190
  this.data.errors = maybePromisedErrors;
227
191
  this.injectErrorToField(maybePromisedErrors);
228
-
229
192
  this._adapter.notifyChange(this.data);
230
-
231
193
  this._adapter.forceUpdate();
232
-
233
194
  this._autoScroll(100);
234
-
235
195
  reject(maybePromisedErrors);
236
196
  }
237
197
  });
238
- } // field level validate
239
-
240
-
198
+ }
199
+ // field level validate
241
200
  _fieldsValidate(fieldPaths) {
242
201
  const {
243
202
  values
244
- } = this.data; // When there is no custom validation function at Form level, perform validation of each Field
245
-
203
+ } = this.data;
204
+ // When there is no custom validation function at Form level, perform validation of each Field
246
205
  return new Promise((resolve, reject) => {
247
206
  let promiseSet = [];
248
-
249
207
  const targetFields = this._getOperateFieldMap(fieldPaths);
250
-
251
208
  targetFields.forEach((field, fieldPath) => {
252
209
  // Call each fieldApi for verification
253
- const fieldValue = this.getValue(fieldPath); // When centralized verification, no need to trigger forceUpdate and notify
254
-
210
+ const fieldValue = this.getValue(fieldPath);
211
+ // When centralized verification, no need to trigger forceUpdate and notify
255
212
  const opts = {
256
213
  notNotify: true,
257
214
  notUpdate: true
@@ -263,37 +220,29 @@ class FormFoundation extends _foundation.default {
263
220
  Promise.all(promiseSet).then(() => {
264
221
  // After the centralized verification is completed, trigger notify and forceUpdate once.
265
222
  this._adapter.notifyChange(this.data);
266
-
267
223
  this._adapter.forceUpdate();
268
-
269
224
  const errors = this.getError();
270
-
271
225
  if (this._isValid(targetFields)) {
272
226
  resolve(values);
273
227
  } else {
274
228
  this._autoScroll();
275
-
276
229
  reject(errors);
277
230
  }
278
231
  });
279
232
  });
280
233
  }
281
-
282
234
  submit() {
283
235
  const {
284
236
  values
285
- } = this.data; // validate form
286
-
237
+ } = this.data;
238
+ // validate form
287
239
  this.validate().then(resolveValues => {
288
240
  // if valid do submit
289
241
  const _values = this._adapter.cloneDeep(resolveValues);
290
-
291
242
  this._adapter.notifySubmit(_values);
292
243
  }).catch(errors => {
293
244
  const _errors = this._adapter.cloneDeep(errors);
294
-
295
245
  const _values = this._adapter.cloneDeep(values);
296
-
297
246
  this._adapter.notifySubmitFail(_errors, _values);
298
247
  });
299
248
  }
@@ -310,8 +259,6 @@ class FormFoundation extends _foundation.default {
310
259
  * activity.a => activity.a[0]、activity.a[1]
311
260
  *
312
261
  */
313
-
314
-
315
262
  _getNestedField(path) {
316
263
  const allRegisterField = this.fields;
317
264
  const allFieldPath = [...allRegisterField].map(item => item[0]);
@@ -319,27 +266,23 @@ class FormFoundation extends _foundation.default {
319
266
  allFieldPath.forEach(item => {
320
267
  let itemPath = (0, _toPath2.default)(item);
321
268
  let targetPath = (0, _toPath2.default)(path);
322
-
323
269
  if (targetPath.every((path, i) => targetPath[i] === itemPath[i])) {
324
270
  const realField = allRegisterField.get(item);
325
271
  nestedFieldPath.set(item, realField);
326
272
  }
327
273
  });
328
274
  return nestedFieldPath;
329
- } // get all operate fields, called by validate() / reset()
330
-
331
-
275
+ }
276
+ // get all operate fields, called by validate() / reset()
332
277
  _getOperateFieldMap(fieldPaths) {
333
278
  let targetFields = new Map();
334
-
335
279
  if (!(0, _isUndefined2.default)(fieldPaths)) {
336
280
  // reset or validate specific fields
337
281
  fieldPaths.forEach(path => {
338
- 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'])
339
-
282
+ const field = this.fields.get(path);
283
+ // may be undefined, if exists two fields like 'a[0]'、'a[1]', but user directly call reset(['a']) / validate(['a'])
340
284
  if ((0, _isUndefined2.default)(field)) {
341
285
  const nestedFields = this._getNestedField(path);
342
-
343
286
  targetFields = new Map([...targetFields, ...nestedFields]);
344
287
  } else {
345
288
  targetFields.set(path, field);
@@ -349,29 +292,21 @@ class FormFoundation extends _foundation.default {
349
292
  // reset or validate all fields
350
293
  targetFields = this.fields;
351
294
  }
352
-
353
295
  return targetFields;
354
- } // Reset the entire form, reset all fields and remove validation results
355
-
356
-
296
+ }
297
+ // Reset the entire form, reset all fields and remove validation results
357
298
  reset(fieldPaths) {
358
299
  const targetFields = this._getOperateFieldMap(fieldPaths);
359
-
360
300
  targetFields.forEach(field => {
361
301
  field.fieldApi.reset();
362
302
  });
363
-
364
303
  if (this.registeredArrayField.size) {
365
304
  this._resetArrayField();
366
305
  }
367
-
368
306
  this._adapter.notifyChange(this.data);
369
-
370
307
  this._adapter.forceUpdate();
371
-
372
308
  this._adapter.notifyReset();
373
309
  }
374
-
375
310
  _resetArrayField() {
376
311
  /*
377
312
  When Reset, arrayField needs to be processed separately. Restore the key/value of arrayField in formState according to the initial value
@@ -390,10 +325,9 @@ class FormFoundation extends _foundation.default {
390
325
  updateKey: new Date().valueOf()
391
326
  });
392
327
  });
393
- } // After calling the form's custom validateFields function, reject the returned error to the corresponding field
328
+ }
329
+ // After calling the form's custom validateFields function, reject the returned error to the corresponding field
394
330
  // 调用了Form的自定义validateFields函数后,将返回的错误展示到对应的field中
395
-
396
-
397
331
  injectErrorToField(errors) {
398
332
  this.fields.forEach(field => {
399
333
  const fieldError = ObjectUtil.get(errors, field.field);
@@ -404,55 +338,45 @@ class FormFoundation extends _foundation.default {
404
338
  field.fieldApi.setError(fieldError, opts);
405
339
  });
406
340
  }
407
-
408
341
  getValue(field, opts) {
409
342
  const isAllField = typeof field === 'undefined';
410
343
  const needClone = opts && opts.needClone;
411
344
  let result, fieldValue;
412
-
413
345
  switch (true) {
414
346
  case !isAllField && !needClone:
415
347
  result = ObjectUtil.get(this.data.values, field);
416
348
  break;
417
-
418
349
  case !isAllField && needClone:
419
350
  fieldValue = ObjectUtil.get(this.data.values, field);
420
351
  result = this._adapter.cloneDeep(fieldValue);
421
352
  break;
422
-
423
353
  case isAllField && !needClone:
424
354
  result = Object.assign({}, this.data.values);
425
355
  break;
426
-
427
356
  case isAllField && needClone:
428
357
  result = this._adapter.cloneDeep(this.data.values);
429
358
  break;
430
-
431
359
  default:
432
360
  break;
433
361
  }
434
-
435
362
  return result;
436
363
  }
437
-
438
364
  setValues(values, _ref) {
439
365
  let {
440
366
  isOverride = false
441
367
  } = _ref;
442
-
443
368
  const _values = this._adapter.cloneDeep(values);
444
-
445
369
  this.fields.forEach(field => {
446
- 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
370
+ const value = ObjectUtil.get(_values, field.field);
371
+ // When calling setValues to override the values, only need to trigger onValueChange and onChange once, so setNotNotify of setValue to true
447
372
  // 调用setValues进行值的覆盖时,只需要回调一次onValueChange、onChange即可,所以此处将setValue的notNotify置为true
448
-
449
373
  const opts = {
450
374
  notNotify: true,
451
375
  notUpdate: true
452
376
  };
453
377
  field.fieldApi.setValue(value, opts);
454
- }); // if there exists any arrayField component in this form
455
-
378
+ });
379
+ // if there exists any arrayField component in this form
456
380
  if (this.registeredArrayField.size) {
457
381
  const arrayFieldPaths = [...this.registeredArrayField.keys()];
458
382
  arrayFieldPaths.forEach(path => {
@@ -460,24 +384,19 @@ class FormFoundation extends _foundation.default {
460
384
  updateKey: new Date().valueOf()
461
385
  });
462
386
  });
463
- } // When isOverride is true, there may be a non-existent field in the values passed in, directly synchronized to formState.values
387
+ }
388
+ // When isOverride is true, there may be a non-existent field in the values passed in, directly synchronized to formState.values
464
389
  // 当isOverride为true,传入的values中可能存在不存在的field时,直接将其同步到formState.values中
465
-
466
-
467
390
  if (isOverride) {
468
391
  this.data.values = _values;
469
- } // After completing the assignment, the unified callback can be done once.
392
+ }
393
+ // After completing the assignment, the unified callback can be done once.
470
394
  // 在完成赋值后,统一回调一次即可
471
-
472
-
473
395
  this._adapter.notifyChange(this.data);
474
-
475
396
  this._adapter.notifyValueChange(this.data.values, Object.assign({}, values));
476
-
477
397
  this._adapter.forceUpdate();
478
- } // update formState value
479
-
480
-
398
+ }
399
+ // update formState value
481
400
  updateStateValue(field, value, opts, callback) {
482
401
  const notNotify = opts && opts.notNotify;
483
402
  const notUpdate = opts && opts.notUpdate;
@@ -488,9 +407,8 @@ class FormFoundation extends _foundation.default {
488
407
  * 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
489
408
  * When F orm.allow Empty is false, only fields with values will key appear in the formS tate.values
490
409
  */
491
-
492
- const formAllowEmpty = this.getProp('allowEmpty'); // priority at Field level
493
-
410
+ const formAllowEmpty = this.getProp('allowEmpty');
411
+ // priority at Field level
494
412
  const allowEmpty = fieldAllowEmpty ? fieldAllowEmpty : formAllowEmpty;
495
413
  ObjectUtil.set(this.data.values, field, value, allowEmpty);
496
414
  /**
@@ -500,76 +418,62 @@ class FormFoundation extends _foundation.default {
500
418
  * register时,Field中同步initValue到FormState时调用的setValue不应该触发notify
501
419
  * 但需要触发forceUpdate,否则useFormState、useFieldState初始渲染会有问题
502
420
  */
503
-
504
421
  if (!notNotify) {
505
422
  this._adapter.notifyChange(this.data);
506
-
507
423
  this._adapter.notifyValueChange(this.data.values, {
508
424
  [field]: value
509
425
  });
510
426
  }
511
-
512
427
  if (!notUpdate) {
513
428
  this._adapter.forceUpdate(callback);
514
429
  }
515
- } // get touched from formState
516
-
517
-
430
+ }
431
+ // get touched from formState
518
432
  getTouched(field) {
519
433
  if (typeof field === 'undefined') {
520
434
  return this.data.touched;
521
435
  }
522
-
523
436
  return ObjectUtil.get(this.data.touched, field);
524
- } // update formState touched
525
-
526
-
437
+ }
438
+ // update formState touched
527
439
  updateStateTouched(field, isTouched, opts, callback) {
528
440
  const notNotify = opts && opts.notNotify;
529
441
  const notUpdate = opts && opts.notUpdate;
530
442
  ObjectUtil.set(this.data.touched, field, isTouched);
531
-
532
443
  if (!notNotify) {
533
444
  this._adapter.notifyChange(this.data);
534
445
  }
535
-
536
446
  if (!notUpdate) {
537
447
  this._adapter.forceUpdate(callback);
538
448
  }
539
- } // get error from formState
540
-
541
-
449
+ }
450
+ // get error from formState
542
451
  getError(field) {
543
452
  if (typeof field === 'undefined') {
544
453
  return this.data.errors;
545
454
  }
546
-
547
455
  return ObjectUtil.get(this.data.errors, field);
548
- } // update formState error
549
-
550
-
456
+ }
457
+ // update formState error
551
458
  updateStateError(field, error, opts, callback) {
552
459
  const notNotify = opts && opts.notNotify;
553
460
  const notUpdate = opts && opts.notUpdate;
554
- 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
461
+ ObjectUtil.set(this.data.errors, field, error);
462
+ // 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
555
463
  // 集中validate时,引起的setError不需要触发notify,否则会过于频繁调用,有多少个field就调用了多少次
556
-
557
464
  if (!notNotify) {
558
465
  this._adapter.notifyChange(this.data);
559
466
  }
560
-
561
467
  if (!notUpdate) {
562
468
  this._adapter.forceUpdate(callback);
563
469
  }
564
- } // For internal use in the FormApi Operating Field
565
-
566
-
470
+ }
471
+ // For internal use in the FormApi Operating Field
567
472
  getFieldSetterApi() {
568
473
  const setValue = (field, value, opts) => {
569
- 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
570
-
474
+ const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
475
+ // 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
571
476
  const newValue = this._adapter.cloneDeep(value);
572
-
573
477
  if (fieldApi) {
574
478
  // If there is a corresponding Field entity, call FieldApi to update the value
575
479
  fieldApi.setValue(newValue, opts);
@@ -580,7 +484,6 @@ class FormFoundation extends _foundation.default {
580
484
  // When the user directly calls formA pi.set Value ('peoples', [2,3])
581
485
  this.updateStateValue(field, newValue, opts, () => {
582
486
  let nestedFields = this._getNestedField(field);
583
-
584
487
  if (nestedFields.size) {
585
488
  nestedFields.forEach(fieldStaff => {
586
489
  let fieldPath = fieldStaff.field;
@@ -592,8 +495,8 @@ class FormFoundation extends _foundation.default {
592
495
  fieldStaff.fieldApi.setValue(newFieldVal, nestedBatchUpdateOpts);
593
496
  });
594
497
  }
595
- }); // If the reset happens to be, then update the updateKey corresponding to ArrayField to render it again
596
-
498
+ });
499
+ // If the reset happens to be, then update the updateKey corresponding to ArrayField to render it again
597
500
  if (this.getArrayField(field)) {
598
501
  this.updateArrayField(field, {
599
502
  updateKey: new Date().valueOf()
@@ -601,18 +504,14 @@ class FormFoundation extends _foundation.default {
601
504
  }
602
505
  }
603
506
  };
604
-
605
507
  const setError = (field, error, opts) => {
606
508
  const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
607
-
608
509
  const newError = this._adapter.cloneDeep(error);
609
-
610
510
  if (fieldApi) {
611
511
  fieldApi.setError(newError, opts);
612
512
  } else {
613
513
  this.updateStateError(field, newError, opts, () => {
614
514
  let nestedFields = this._getNestedField(field);
615
-
616
515
  if (nestedFields.size) {
617
516
  nestedFields.forEach(fieldStaff => {
618
517
  let fieldPath = fieldStaff.field;
@@ -625,7 +524,6 @@ class FormFoundation extends _foundation.default {
625
524
  });
626
525
  }
627
526
  });
628
-
629
527
  if (this.getArrayField(field)) {
630
528
  this.updateArrayField(field, {
631
529
  updateKey: new Date().valueOf()
@@ -633,16 +531,14 @@ class FormFoundation extends _foundation.default {
633
531
  }
634
532
  }
635
533
  };
636
-
637
534
  const setTouched = (field, isTouched, opts) => {
638
- const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined; // touched is boolean variable, no need to exec deepClone like setValue
639
-
535
+ const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
536
+ // touched is boolean variable, no need to exec deepClone like setValue
640
537
  if (fieldApi) {
641
538
  fieldApi.setTouched(isTouched, opts);
642
539
  } else {
643
540
  this.updateStateTouched(field, isTouched, opts, () => {
644
541
  let nestedFields = this._getNestedField(field);
645
-
646
542
  if (nestedFields.size) {
647
543
  nestedFields.forEach(fieldStaff => {
648
544
  let fieldPath = fieldStaff.field;
@@ -655,7 +551,6 @@ class FormFoundation extends _foundation.default {
655
551
  });
656
552
  }
657
553
  });
658
-
659
554
  if (this.getArrayField(field)) {
660
555
  this.updateArrayField(field, {
661
556
  updateKey: new Date().valueOf()
@@ -663,15 +558,13 @@ class FormFoundation extends _foundation.default {
663
558
  }
664
559
  }
665
560
  };
666
-
667
561
  return {
668
562
  setValue,
669
563
  setError,
670
564
  setTouched
671
565
  };
672
- } // For Field and ArrayField to read and modify FormState
673
-
674
-
566
+ }
567
+ // For Field and ArrayField to read and modify FormState
675
568
  getModifyFormStateApi() {
676
569
  return {
677
570
  register: this.register,
@@ -691,9 +584,8 @@ class FormFoundation extends _foundation.default {
691
584
  getArrayField: this.getArrayField,
692
585
  updateArrayField: this.updateArrayField
693
586
  };
694
- } // Form APIs for external use, exposed to the user
695
-
696
-
587
+ }
588
+ // Form APIs for external use, exposed to the user
697
589
  getFormApi() {
698
590
  const fieldSetterApi = this.getFieldSetterApi();
699
591
  return Object.assign(Object.assign({}, fieldSetterApi), {
@@ -718,13 +610,10 @@ class FormFoundation extends _foundation.default {
718
610
  scrollToField: (field, scrollOpts) => this.scrollToField(field, scrollOpts)
719
611
  });
720
612
  }
721
-
722
613
  getFormState() {
723
614
  let needClone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
724
-
725
615
  // NOTES:这里如果直接返回this.data,forceUpdate 触发 Form rerender 时,通过context传下去的formState会被认为是同一个对象【应该是浅对比的原因】
726
616
  // 使用了useFormState相关的component都不会触发重新渲染。所以使用...复制一次
727
-
728
617
  /*
729
618
  The reason for distinguishing deepClone: When semi is calling getFormState for internal consumption,
730
619
  the value of formState will not be modified, so deep cloning is not necessary, which can reduce performance loss
@@ -739,10 +628,8 @@ class FormFoundation extends _foundation.default {
739
628
  return this._adapter.cloneDeep(this.data);
740
629
  }
741
630
  }
742
-
743
631
  _isValid(targetFields) {
744
632
  let valid = true;
745
-
746
633
  if (!targetFields) {
747
634
  valid = Boolean(ObjectUtil.empty(this.data.errors));
748
635
  } else {
@@ -750,62 +637,49 @@ class FormFoundation extends _foundation.default {
750
637
  const targetFieldStr = [...targetFields.keys()];
751
638
  targetFieldStr.forEach(fieldStr => {
752
639
  const fieldError = ObjectUtil.get(this.data.errors, fieldStr);
753
-
754
640
  if (!(0, _utils.isValid)(fieldError)) {
755
641
  valid = false;
756
642
  }
757
643
  });
758
644
  }
759
-
760
645
  return valid;
761
- } // get form.props.initValues
762
-
763
-
646
+ }
647
+ // get form.props.initValues
764
648
  getInitValues() {
765
649
  return this._adapter.getInitValues();
766
650
  }
767
-
768
651
  getInitValue(field) {
769
652
  if (typeof field === 'undefined') {
770
653
  return this._adapter.getInitValues();
771
654
  }
772
-
773
655
  return ObjectUtil.get(this._adapter.getInitValues(), field);
774
656
  }
775
-
776
657
  getFormProps(keys) {
777
658
  return this._adapter.getFormProps(keys);
778
659
  }
779
-
780
660
  getFieldExist(field) {
781
661
  return Boolean(this.fields.has(field));
782
662
  }
783
-
784
663
  _autoScroll(timeout) {
785
664
  const {
786
665
  autoScrollToError
787
666
  } = this.getFormProps();
788
-
789
667
  if (!autoScrollToError) {
790
668
  return;
791
669
  }
792
-
793
670
  let scrollOpts = {
794
671
  behavior: 'smooth',
795
672
  block: 'start'
796
673
  };
797
674
  typeof autoScrollToError === 'object' ? scrollOpts = autoScrollToError : null;
798
-
799
675
  if (timeout) {
800
676
  setTimeout(() => this._getErrorFieldAndScroll(scrollOpts), 100);
801
677
  } else {
802
678
  this._getErrorFieldAndScroll(scrollOpts);
803
679
  }
804
680
  }
805
-
806
681
  _getErrorFieldAndScroll(scrollOpts) {
807
682
  const errorDOM = this._adapter.getAllErrorDOM();
808
-
809
683
  if (errorDOM && errorDOM.length) {
810
684
  try {
811
685
  const fieldDom = errorDOM[0].parentNode.parentNode;
@@ -813,20 +687,15 @@ class FormFoundation extends _foundation.default {
813
687
  } catch (error) {}
814
688
  }
815
689
  }
816
-
817
690
  scrollToField(field) {
818
691
  let scrollOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
819
692
  behavior: 'smooth',
820
693
  block: 'start'
821
694
  };
822
-
823
695
  if (this.getFieldExist(field)) {
824
696
  const fieldDOM = this._adapter.getFieldDOM(field);
825
-
826
697
  (0, _scrollIntoViewIfNeeded.default)(fieldDOM, scrollOpts);
827
698
  }
828
699
  }
829
-
830
700
  }
831
-
832
701
  exports.default = FormFoundation;