@douyinfe/semi-foundation 2.1.1 → 2.1.2

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