@douyinfe/semi-foundation 2.24.3 → 2.25.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (971) hide show
  1. package/anchor/anchor.scss +6 -0
  2. package/anchor/foundation.ts +7 -6
  3. package/anchor/linkFoundation.ts +0 -1
  4. package/anchor/variables.scss +4 -0
  5. package/autoComplete/autoComplete.scss +2 -0
  6. package/autoComplete/foundation.ts +23 -20
  7. package/autoComplete/optionFoundation.ts +0 -2
  8. package/avatar/animation.scss +19 -0
  9. package/avatar/avatar.scss +314 -1
  10. package/avatar/constants.ts +21 -4
  11. package/avatar/foundation.ts +21 -4
  12. package/avatar/variables.scss +66 -10
  13. package/badge/badge.scss +13 -0
  14. package/badge/constants.ts +1 -1
  15. package/badge/variables.scss +4 -0
  16. package/base/foundation.ts +2 -3
  17. package/breadcrumb/breadcrumb.scss +10 -4
  18. package/breadcrumb/foundation.ts +0 -1
  19. package/breadcrumb/variables.scss +4 -0
  20. package/button/button.scss +88 -21
  21. package/button/iconButton.scss +1 -0
  22. package/button/splitButtonGroup.scss +10 -9
  23. package/button/variables.scss +13 -0
  24. package/calendar/calendar.scss +1 -1
  25. package/calendar/eventUtil.ts +14 -10
  26. package/calendar/foundation.ts +9 -9
  27. package/carousel/carousel.scss +4 -0
  28. package/carousel/foundation.ts +12 -7
  29. package/cascader/cascader.scss +66 -23
  30. package/cascader/constants.ts +5 -1
  31. package/cascader/foundation.ts +111 -63
  32. package/cascader/util.ts +64 -10
  33. package/cascader/variables.scss +5 -1
  34. package/checkbox/checkbox.scss +0 -1
  35. package/checkbox/checkboxFoundation.ts +1 -2
  36. package/checkbox/checkboxGroupFoundation.ts +0 -1
  37. package/collapse/foundation.ts +1 -0
  38. package/datePicker/_utils/getDefaultFormatToken.ts +1 -0
  39. package/datePicker/_utils/getInsetInputFormatToken.ts +1 -0
  40. package/datePicker/_utils/getInsetInputValueFromInsetInputStr.ts +1 -0
  41. package/datePicker/_utils/getYears.ts +8 -4
  42. package/datePicker/_utils/isValidTimeZone.ts +3 -0
  43. package/datePicker/constants.ts +1 -1
  44. package/datePicker/datePicker.scss +170 -21
  45. package/datePicker/foundation.ts +175 -150
  46. package/datePicker/inputFoundation.ts +34 -16
  47. package/datePicker/monthFoundation.ts +0 -1
  48. package/datePicker/monthsGridFoundation.ts +52 -32
  49. package/datePicker/variables.scss +13 -4
  50. package/datePicker/yearAndMonthFoundation.ts +68 -21
  51. package/descriptions/constants.ts +2 -1
  52. package/descriptions/descriptions.scss +20 -0
  53. package/descriptions/foundation.ts +36 -0
  54. package/descriptions/variables.scss +10 -0
  55. package/dropdown/constants.ts +1 -1
  56. package/dropdown/dropdown.scss +5 -0
  57. package/dropdown/foundation.ts +4 -3
  58. package/dropdown/menuFoundation.ts +3 -3
  59. package/form/constants.ts +2 -1
  60. package/form/form.scss +5 -2
  61. package/form/foundation.ts +12 -10
  62. package/form/interface.ts +5 -6
  63. package/form/utils.ts +39 -16
  64. package/form/variables.scss +3 -0
  65. package/grid/grid.scss +1 -1
  66. package/image/constants.ts +5 -1
  67. package/image/image.scss +9 -5
  68. package/image/previewFooterFoundation.ts +1 -4
  69. package/image/previewFoundation.ts +1 -1
  70. package/image/previewImageFoundation.ts +61 -70
  71. package/image/previewInnerFoundation.ts +93 -47
  72. package/image/utils.ts +18 -20
  73. package/image/variables.scss +1 -1
  74. package/input/foundation.ts +2 -4
  75. package/input/input.scss +48 -3
  76. package/input/textarea.scss +34 -0
  77. package/input/textareaFoundation.ts +42 -18
  78. package/input/variables.scss +7 -0
  79. package/inputNumber/foundation.ts +0 -5
  80. package/inputNumber/inputNumber.scss +9 -0
  81. package/lib/cjs/anchor/anchor.css +5 -0
  82. package/lib/cjs/anchor/anchor.scss +6 -0
  83. package/lib/cjs/anchor/constants.js +1 -3
  84. package/lib/cjs/anchor/foundation.js +20 -80
  85. package/lib/cjs/anchor/linkFoundation.js +3 -16
  86. package/lib/cjs/anchor/variables.scss +4 -0
  87. package/lib/cjs/autoComplete/autoComplete.css +1 -0
  88. package/lib/cjs/autoComplete/autoComplete.scss +2 -0
  89. package/lib/cjs/autoComplete/constants.js +3 -6
  90. package/lib/cjs/autoComplete/foundation.d.ts +3 -1
  91. package/lib/cjs/autoComplete/foundation.js +37 -149
  92. package/lib/cjs/autoComplete/optionFoundation.js +2 -14
  93. package/lib/cjs/avatar/animation.scss +19 -0
  94. package/lib/cjs/avatar/avatar.css +261 -0
  95. package/lib/cjs/avatar/avatar.scss +314 -1
  96. package/lib/cjs/avatar/constants.js +1 -4
  97. package/lib/cjs/avatar/foundation.d.ts +3 -0
  98. package/lib/cjs/avatar/foundation.js +21 -19
  99. package/lib/cjs/avatar/variables.scss +66 -10
  100. package/lib/cjs/backtop/constants.js +1 -3
  101. package/lib/cjs/backtop/foundation.d.ts +2 -2
  102. package/lib/cjs/backtop/foundation.js +0 -21
  103. package/lib/cjs/badge/badge.css +10 -0
  104. package/lib/cjs/badge/badge.scss +13 -0
  105. package/lib/cjs/badge/constants.js +2 -4
  106. package/lib/cjs/badge/variables.scss +4 -0
  107. package/lib/cjs/banner/constants.js +1 -3
  108. package/lib/cjs/banner/foundation.js +0 -7
  109. package/lib/cjs/base/constants.js +2 -4
  110. package/lib/cjs/base/foundation.d.ts +3 -3
  111. package/lib/cjs/base/foundation.js +12 -46
  112. package/lib/cjs/base/index.js +0 -3
  113. package/lib/cjs/breadcrumb/breadcrumb.css +5 -3
  114. package/lib/cjs/breadcrumb/breadcrumb.scss +10 -4
  115. package/lib/cjs/breadcrumb/constants.js +1 -3
  116. package/lib/cjs/breadcrumb/foundation.js +0 -13
  117. package/lib/cjs/breadcrumb/itemFoundation.js +0 -7
  118. package/lib/cjs/breadcrumb/variables.scss +4 -0
  119. package/lib/cjs/button/button.css +32 -5
  120. package/lib/cjs/button/button.scss +88 -21
  121. package/lib/cjs/button/constants.js +1 -3
  122. package/lib/cjs/button/iconButton.css +1 -0
  123. package/lib/cjs/button/iconButton.scss +1 -0
  124. package/lib/cjs/button/splitButtonGroup.scss +10 -9
  125. package/lib/cjs/button/variables.scss +13 -0
  126. package/lib/cjs/calendar/calendar.css +2 -2
  127. package/lib/cjs/calendar/calendar.scss +1 -1
  128. package/lib/cjs/calendar/constants.js +1 -3
  129. package/lib/cjs/calendar/eventUtil.d.ts +7 -6
  130. package/lib/cjs/calendar/eventUtil.js +15 -83
  131. package/lib/cjs/calendar/foundation.d.ts +4 -4
  132. package/lib/cjs/calendar/foundation.js +32 -128
  133. package/lib/cjs/card/constants.js +1 -3
  134. package/lib/cjs/carousel/carousel.css +4 -0
  135. package/lib/cjs/carousel/carousel.scss +4 -0
  136. package/lib/cjs/carousel/constants.js +9 -11
  137. package/lib/cjs/carousel/foundation.d.ts +2 -0
  138. package/lib/cjs/carousel/foundation.js +7 -52
  139. package/lib/cjs/cascader/cascader.css +45 -4
  140. package/lib/cjs/cascader/cascader.scss +66 -23
  141. package/lib/cjs/cascader/constants.d.ts +3 -0
  142. package/lib/cjs/cascader/constants.js +9 -8
  143. package/lib/cjs/cascader/foundation.d.ts +27 -8
  144. package/lib/cjs/cascader/foundation.js +122 -300
  145. package/lib/cjs/cascader/util.d.ts +9 -1
  146. package/lib/cjs/cascader/util.js +69 -33
  147. package/lib/cjs/cascader/variables.scss +5 -1
  148. package/lib/cjs/checkbox/checkbox.css +0 -1
  149. package/lib/cjs/checkbox/checkbox.scss +0 -1
  150. package/lib/cjs/checkbox/checkboxFoundation.js +1 -38
  151. package/lib/cjs/checkbox/checkboxGroupFoundation.js +1 -23
  152. package/lib/cjs/checkbox/constants.js +13 -15
  153. package/lib/cjs/collapse/constants.js +1 -3
  154. package/lib/cjs/collapse/foundation.d.ts +2 -1
  155. package/lib/cjs/collapse/foundation.js +2 -13
  156. package/lib/cjs/collapsible/constants.js +1 -3
  157. package/lib/cjs/collapsible/foundation.js +0 -9
  158. package/lib/cjs/datePicker/_utils/formatter.js +4 -10
  159. package/lib/cjs/datePicker/_utils/getDayOfWeek.d.ts +1 -1
  160. package/lib/cjs/datePicker/_utils/getDayOfWeek.js +0 -4
  161. package/lib/cjs/datePicker/_utils/getDefaultFormatToken.d.ts +1 -0
  162. package/lib/cjs/datePicker/_utils/getDefaultFormatToken.js +2 -6
  163. package/lib/cjs/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
  164. package/lib/cjs/datePicker/_utils/getDefaultPickerDate.js +0 -15
  165. package/lib/cjs/datePicker/_utils/getFullDateOffset.js +0 -7
  166. package/lib/cjs/datePicker/_utils/getInsetInputFormatToken.js +2 -6
  167. package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +1 -6
  168. package/lib/cjs/datePicker/_utils/getMonthTable.d.ts +1 -1
  169. package/lib/cjs/datePicker/_utils/getMonthTable.js +7 -18
  170. package/lib/cjs/datePicker/_utils/getMonthsInYear.js +1 -3
  171. package/lib/cjs/datePicker/_utils/getYears.d.ts +1 -1
  172. package/lib/cjs/datePicker/_utils/getYears.js +9 -7
  173. package/lib/cjs/datePicker/_utils/index.js +0 -13
  174. package/lib/cjs/datePicker/_utils/isAfter.js +0 -4
  175. package/lib/cjs/datePicker/_utils/isBefore.js +0 -4
  176. package/lib/cjs/datePicker/_utils/isBetween.js +0 -4
  177. package/lib/cjs/datePicker/_utils/isDate.js +0 -1
  178. package/lib/cjs/datePicker/_utils/isSameDay.js +0 -4
  179. package/lib/cjs/datePicker/_utils/isTimestamp.js +0 -4
  180. package/lib/cjs/datePicker/_utils/isUnixTimestamp.js +0 -4
  181. package/lib/cjs/datePicker/_utils/isValidDate.js +0 -1
  182. package/lib/cjs/datePicker/_utils/isValidTimeZone.d.ts +1 -0
  183. package/lib/cjs/datePicker/_utils/isValidTimeZone.js +9 -0
  184. package/lib/cjs/datePicker/_utils/isWithinInterval.js +0 -4
  185. package/lib/cjs/datePicker/_utils/parser.js +0 -10
  186. package/lib/cjs/datePicker/constants.d.ts +1 -1
  187. package/lib/cjs/datePicker/constants.js +28 -31
  188. package/lib/cjs/datePicker/datePicker.css +88 -13
  189. package/lib/cjs/datePicker/datePicker.scss +170 -21
  190. package/lib/cjs/datePicker/foundation.d.ts +79 -50
  191. package/lib/cjs/datePicker/foundation.js +173 -441
  192. package/lib/cjs/datePicker/inputFoundation.d.ts +15 -6
  193. package/lib/cjs/datePicker/inputFoundation.js +35 -98
  194. package/lib/cjs/datePicker/monthFoundation.d.ts +1 -1
  195. package/lib/cjs/datePicker/monthFoundation.js +2 -28
  196. package/lib/cjs/datePicker/monthsGridFoundation.d.ts +18 -13
  197. package/lib/cjs/datePicker/monthsGridFoundation.js +70 -247
  198. package/lib/cjs/datePicker/variables.scss +13 -4
  199. package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +68 -13
  200. package/lib/cjs/datePicker/yearAndMonthFoundation.js +55 -42
  201. package/lib/cjs/descriptions/constants.d.ts +1 -0
  202. package/lib/cjs/descriptions/constants.js +3 -4
  203. package/lib/cjs/descriptions/descriptions.css +15 -0
  204. package/lib/cjs/descriptions/descriptions.scss +20 -0
  205. package/lib/cjs/descriptions/foundation.d.ts +7 -0
  206. package/lib/cjs/descriptions/foundation.js +45 -0
  207. package/lib/cjs/descriptions/variables.scss +10 -0
  208. package/lib/cjs/divider/constants.js +1 -3
  209. package/lib/cjs/dropdown/constants.js +4 -7
  210. package/lib/cjs/dropdown/dropdown.css +4 -0
  211. package/lib/cjs/dropdown/dropdown.scss +5 -0
  212. package/lib/cjs/dropdown/foundation.js +9 -25
  213. package/lib/cjs/dropdown/menuFoundation.js +9 -28
  214. package/lib/cjs/empty/constants.js +1 -3
  215. package/lib/cjs/form/constants.d.ts +1 -0
  216. package/lib/cjs/form/constants.js +3 -4
  217. package/lib/cjs/form/form.css +4 -0
  218. package/lib/cjs/form/form.scss +5 -2
  219. package/lib/cjs/form/foundation.d.ts +4 -4
  220. package/lib/cjs/form/foundation.js +84 -214
  221. package/lib/cjs/form/interface.d.ts +10 -10
  222. package/lib/cjs/form/utils.d.ts +10 -1
  223. package/lib/cjs/form/utils.js +85 -93
  224. package/lib/cjs/form/variables.scss +3 -0
  225. package/lib/cjs/grid/constants.js +1 -3
  226. package/lib/cjs/grid/grid.css +1 -1
  227. package/lib/cjs/grid/grid.scss +1 -1
  228. package/lib/cjs/highlight/constants.js +1 -3
  229. package/lib/cjs/icons/constants.js +1 -3
  230. package/lib/cjs/image/constants.d.ts +4 -1
  231. package/lib/cjs/image/constants.js +7 -5
  232. package/lib/cjs/image/image.css +4 -2
  233. package/lib/cjs/image/image.scss +9 -5
  234. package/lib/cjs/image/imageFoundation.js +4 -18
  235. package/lib/cjs/image/previewFooterFoundation.d.ts +0 -1
  236. package/lib/cjs/image/previewFooterFoundation.js +0 -14
  237. package/lib/cjs/image/previewFoundation.js +0 -11
  238. package/lib/cjs/image/previewImageFoundation.d.ts +9 -24
  239. package/lib/cjs/image/previewImageFoundation.js +79 -164
  240. package/lib/cjs/image/previewInnerFoundation.d.ts +19 -15
  241. package/lib/cjs/image/previewInnerFoundation.js +108 -114
  242. package/lib/cjs/image/utils.d.ts +1 -1
  243. package/lib/cjs/image/utils.js +46 -35
  244. package/lib/cjs/image/variables.scss +1 -1
  245. package/lib/cjs/input/constants.js +1 -3
  246. package/lib/cjs/input/foundation.js +19 -104
  247. package/lib/cjs/input/input.css +45 -1
  248. package/lib/cjs/input/input.scss +48 -3
  249. package/lib/cjs/input/textarea.css +20 -0
  250. package/lib/cjs/input/textarea.scss +34 -0
  251. package/lib/cjs/input/textareaFoundation.d.ts +1 -1
  252. package/lib/cjs/input/textareaFoundation.js +58 -101
  253. package/lib/cjs/input/util/calculateNodeHeight.js +6 -18
  254. package/lib/cjs/input/util/getSizingData.js +7 -11
  255. package/lib/cjs/input/variables.scss +7 -0
  256. package/lib/cjs/inputNumber/constants.js +0 -2
  257. package/lib/cjs/inputNumber/foundation.js +28 -197
  258. package/lib/cjs/inputNumber/inputNumber.css +4 -0
  259. package/lib/cjs/inputNumber/inputNumber.scss +9 -0
  260. package/lib/cjs/layout/constants.js +1 -3
  261. package/lib/cjs/list/constants.js +1 -3
  262. package/lib/cjs/modal/constants.js +1 -3
  263. package/lib/cjs/modal/modal.css +8 -0
  264. package/lib/cjs/modal/modal.scss +10 -1
  265. package/lib/cjs/modal/modalContentFoundation.js +0 -20
  266. package/lib/cjs/modal/modalFoundation.d.ts +8 -4
  267. package/lib/cjs/modal/modalFoundation.js +40 -15
  268. package/lib/cjs/modal/variables.scss +6 -1
  269. package/lib/cjs/navigation/NavItem.js +0 -12
  270. package/lib/cjs/navigation/constants.js +1 -4
  271. package/lib/cjs/navigation/foundation.js +3 -70
  272. package/lib/cjs/navigation/itemFoundation.js +3 -22
  273. package/lib/cjs/navigation/subNavFoundation.js +7 -42
  274. package/lib/cjs/notification/constants.js +3 -6
  275. package/lib/cjs/notification/notification.css +18 -0
  276. package/lib/cjs/notification/notification.scss +21 -1
  277. package/lib/cjs/notification/notificationFoundation.d.ts +6 -6
  278. package/lib/cjs/notification/notificationFoundation.js +0 -16
  279. package/lib/cjs/notification/notificationListFoundation.d.ts +4 -1
  280. package/lib/cjs/notification/notificationListFoundation.js +15 -18
  281. package/lib/cjs/overflowList/constants.d.ts +6 -4
  282. package/lib/cjs/overflowList/constants.js +3 -3
  283. package/lib/cjs/overflowList/foundation.d.ts +3 -1
  284. package/lib/cjs/overflowList/foundation.js +59 -68
  285. package/lib/cjs/pagination/constants.js +1 -3
  286. package/lib/cjs/pagination/foundation.d.ts +5 -3
  287. package/lib/cjs/pagination/foundation.js +36 -93
  288. package/lib/cjs/pagination/pagination.css +23 -0
  289. package/lib/cjs/pagination/pagination.scss +29 -0
  290. package/lib/cjs/pagination/variables.scss +1 -0
  291. package/lib/cjs/popconfirm/constants.js +2 -4
  292. package/lib/cjs/popconfirm/popconfirm.css +4 -24
  293. package/lib/cjs/popconfirm/popconfirm.scss +4 -16
  294. package/lib/cjs/popconfirm/popconfirmFoundation.d.ts +4 -0
  295. package/lib/cjs/popconfirm/popconfirmFoundation.js +17 -19
  296. package/lib/cjs/popconfirm/rtl.scss +0 -13
  297. package/lib/cjs/popconfirm/variables.scss +0 -4
  298. package/lib/cjs/popover/constants.d.ts +1 -1
  299. package/lib/cjs/popover/constants.js +3 -6
  300. package/lib/cjs/popover/popover.css +2 -0
  301. package/lib/cjs/popover/popover.scss +2 -0
  302. package/lib/cjs/progress/constants.js +1 -3
  303. package/lib/cjs/progress/generates.d.ts +2 -2
  304. package/lib/cjs/progress/generates.js +33 -74
  305. package/lib/cjs/radio/constants.js +13 -15
  306. package/lib/cjs/radio/radio.css +3 -0
  307. package/lib/cjs/radio/radio.scss +6 -3
  308. package/lib/cjs/radio/radioFoundation.js +0 -14
  309. package/lib/cjs/radio/radioGroupFoundation.js +3 -23
  310. package/lib/cjs/radio/radioInnerFoundation.js +1 -19
  311. package/lib/cjs/radio/variables.scss +4 -0
  312. package/lib/cjs/rating/constants.js +1 -3
  313. package/lib/cjs/rating/foundation.js +10 -62
  314. package/lib/cjs/scrollList/constants.js +2 -4
  315. package/lib/cjs/scrollList/foundation.js +0 -4
  316. package/lib/cjs/scrollList/itemFoundation.js +8 -61
  317. package/lib/cjs/scrollList/scrollTo.js +2 -5
  318. package/lib/cjs/select/constants.js +3 -6
  319. package/lib/cjs/select/foundation.d.ts +8 -6
  320. package/lib/cjs/select/foundation.js +172 -433
  321. package/lib/cjs/select/option.scss +1 -1
  322. package/lib/cjs/select/optionFoundation.js +2 -14
  323. package/lib/cjs/select/select.css +50 -0
  324. package/lib/cjs/select/select.scss +74 -5
  325. package/lib/cjs/select/variables.scss +9 -6
  326. package/lib/cjs/sideSheet/constants.js +2 -4
  327. package/lib/cjs/sideSheet/sideSheet.css +30 -0
  328. package/lib/cjs/sideSheet/sideSheet.scss +38 -0
  329. package/lib/cjs/sideSheet/sideSheetFoundation.d.ts +1 -0
  330. package/lib/cjs/sideSheet/sideSheetFoundation.js +0 -18
  331. package/lib/cjs/sideSheet/variables.scss +7 -0
  332. package/lib/cjs/skeleton/constants.js +1 -3
  333. package/lib/cjs/skeleton/skeleton.css +3 -2
  334. package/lib/cjs/skeleton/skeleton.scss +1 -0
  335. package/lib/cjs/skeleton/variables.scss +2 -2
  336. package/lib/cjs/slider/constants.d.ts +1 -0
  337. package/lib/cjs/slider/constants.js +8 -9
  338. package/lib/cjs/slider/foundation.d.ts +13 -2
  339. package/lib/cjs/slider/foundation.js +30 -226
  340. package/lib/cjs/slider/slider.css +25 -11
  341. package/lib/cjs/slider/slider.scss +16 -1
  342. package/lib/cjs/slider/variables.scss +15 -9
  343. package/lib/cjs/space/constants.js +1 -3
  344. package/lib/cjs/spin/constants.js +1 -3
  345. package/lib/cjs/spin/foundation.js +3 -13
  346. package/lib/cjs/spin/spin.css +3 -0
  347. package/lib/cjs/spin/spin.scss +3 -0
  348. package/lib/cjs/steps/bacisSteps.scss +10 -3
  349. package/lib/cjs/steps/constants.js +2 -4
  350. package/lib/cjs/steps/fillSteps.scss +7 -7
  351. package/lib/cjs/steps/steps.css +27 -22
  352. package/lib/cjs/steps/variables.scss +3 -3
  353. package/lib/cjs/switch/constants.js +13 -15
  354. package/lib/cjs/switch/foundation.js +1 -21
  355. package/lib/cjs/switch/switch.css +10 -0
  356. package/lib/cjs/switch/switch.scss +13 -2
  357. package/lib/cjs/table/bodyFoundation.js +1 -34
  358. package/lib/cjs/table/cellFoundation.js +0 -5
  359. package/lib/cjs/table/constants.d.ts +0 -1
  360. package/lib/cjs/table/constants.js +13 -18
  361. package/lib/cjs/table/foundation.d.ts +26 -16
  362. package/lib/cjs/table/foundation.js +79 -308
  363. package/lib/cjs/table/rtl.scss +33 -2
  364. package/lib/cjs/table/table.css +100 -64
  365. package/lib/cjs/table/table.scss +66 -8
  366. package/lib/cjs/table/tableRowFoundation.js +0 -12
  367. package/lib/cjs/table/tableSelectionCellFoundation.js +0 -6
  368. package/lib/cjs/table/utils.d.ts +6 -4
  369. package/lib/cjs/table/utils.js +27 -160
  370. package/lib/cjs/table/variables.scss +6 -3
  371. package/lib/cjs/tabs/constants.js +21 -23
  372. package/lib/cjs/tabs/foundation.js +2 -40
  373. package/lib/cjs/tabs/tabs.css +207 -7
  374. package/lib/cjs/tabs/tabs.scss +339 -24
  375. package/lib/cjs/tag/constants.js +1 -4
  376. package/lib/cjs/tag/tag.css +34 -1
  377. package/lib/cjs/tag/tag.scss +43 -4
  378. package/lib/cjs/tag/variables.scss +5 -0
  379. package/lib/cjs/tagInput/constants.js +1 -3
  380. package/lib/cjs/tagInput/foundation.d.ts +7 -4
  381. package/lib/cjs/tagInput/foundation.js +64 -88
  382. package/lib/cjs/tagInput/tagInput.css +35 -9
  383. package/lib/cjs/tagInput/tagInput.scss +41 -12
  384. package/lib/cjs/tagInput/utils/getSplitedArray.js +0 -11
  385. package/lib/cjs/tagInput/variables.scss +2 -0
  386. package/lib/cjs/timePicker/ComboxFoundation.js +6 -41
  387. package/lib/cjs/timePicker/constants.js +3 -6
  388. package/lib/cjs/timePicker/foundation.d.ts +2 -2
  389. package/lib/cjs/timePicker/foundation.js +28 -107
  390. package/lib/cjs/timePicker/inputFoundation.js +4 -25
  391. package/lib/cjs/timePicker/timePicker.css +15 -0
  392. package/lib/cjs/timePicker/timePicker.scss +22 -1
  393. package/lib/cjs/timePicker/utils/index.js +12 -51
  394. package/lib/cjs/timePicker/utils/localeDate.js +0 -10
  395. package/lib/cjs/timeline/constants.js +2 -4
  396. package/lib/cjs/toast/animation.scss +3 -0
  397. package/lib/cjs/toast/constants.js +3 -6
  398. package/lib/cjs/toast/toast.css +35 -3
  399. package/lib/cjs/toast/toast.scss +43 -3
  400. package/lib/cjs/toast/toastFoundation.d.ts +5 -4
  401. package/lib/cjs/toast/toastFoundation.js +0 -14
  402. package/lib/cjs/toast/toastListFoundation.d.ts +5 -0
  403. package/lib/cjs/toast/toastListFoundation.js +10 -22
  404. package/lib/cjs/toast/variables.scss +14 -0
  405. package/lib/cjs/tooltip/constants.d.ts +1 -1
  406. package/lib/cjs/tooltip/constants.js +2 -4
  407. package/lib/cjs/tooltip/foundation.d.ts +5 -2
  408. package/lib/cjs/tooltip/foundation.js +143 -336
  409. package/lib/cjs/tooltip/tooltip.css +7 -0
  410. package/lib/cjs/tooltip/tooltip.scss +9 -0
  411. package/lib/cjs/transfer/constants.js +1 -3
  412. package/lib/cjs/transfer/foundation.d.ts +1 -1
  413. package/lib/cjs/transfer/foundation.js +4 -69
  414. package/lib/cjs/transfer/transfer.css +4 -0
  415. package/lib/cjs/transfer/transfer.scss +7 -0
  416. package/lib/cjs/transfer/transferUtils.js +5 -27
  417. package/lib/cjs/tree/constants.js +2 -4
  418. package/lib/cjs/tree/foundation.d.ts +14 -9
  419. package/lib/cjs/tree/foundation.js +60 -183
  420. package/lib/cjs/tree/rtl.scss +19 -11
  421. package/lib/cjs/tree/tree.css +147 -65
  422. package/lib/cjs/tree/tree.scss +112 -17
  423. package/lib/cjs/tree/treeUtil.d.ts +17 -8
  424. package/lib/cjs/tree/treeUtil.js +102 -195
  425. package/lib/cjs/tree/variables.scss +3 -2
  426. package/lib/cjs/treeSelect/constants.js +3 -5
  427. package/lib/cjs/treeSelect/foundation.d.ts +26 -13
  428. package/lib/cjs/treeSelect/foundation.js +153 -248
  429. package/lib/cjs/treeSelect/treeSelect.css +55 -10
  430. package/lib/cjs/treeSelect/treeSelect.scss +76 -20
  431. package/lib/cjs/treeSelect/variables.scss +4 -2
  432. package/lib/cjs/typography/constants.d.ts +1 -0
  433. package/lib/cjs/typography/constants.js +2 -3
  434. package/lib/cjs/typography/formatNumeral.d.ts +3 -3
  435. package/lib/cjs/typography/formatNumeral.js +22 -43
  436. package/lib/cjs/typography/typography.css +135 -2
  437. package/lib/cjs/typography/typography.scss +151 -8
  438. package/lib/cjs/typography/variables.scss +52 -0
  439. package/lib/cjs/upload/constants.js +2 -4
  440. package/lib/cjs/upload/fileCardFoundation.d.ts +9 -0
  441. package/lib/cjs/upload/fileCardFoundation.js +18 -0
  442. package/lib/cjs/upload/foundation.d.ts +14 -5
  443. package/lib/cjs/upload/foundation.js +107 -247
  444. package/lib/cjs/upload/upload.css +9 -0
  445. package/lib/cjs/upload/upload.scss +8 -0
  446. package/lib/cjs/upload/utils.js +14 -33
  447. package/lib/cjs/utils/Event.js +1 -21
  448. package/lib/cjs/utils/FocusHandle.d.ts +1 -1
  449. package/lib/cjs/utils/FocusHandle.js +6 -35
  450. package/lib/cjs/utils/Logger.js +0 -21
  451. package/lib/cjs/utils/Store.js +0 -10
  452. package/lib/cjs/utils/a11y.js +18 -43
  453. package/lib/cjs/utils/array.d.ts +2 -2
  454. package/lib/cjs/utils/array.js +2 -9
  455. package/lib/cjs/utils/arrayMove.js +0 -1
  456. package/lib/cjs/utils/classnames.js +0 -12
  457. package/lib/cjs/utils/date-fns-extra.d.ts +28 -17
  458. package/lib/cjs/utils/date-fns-extra.js +82 -51
  459. package/lib/cjs/utils/dom.d.ts +1 -1
  460. package/lib/cjs/utils/dom.js +0 -13
  461. package/lib/cjs/utils/function.js +0 -2
  462. package/lib/cjs/utils/getDataAttr.js +1 -3
  463. package/lib/cjs/utils/getHighlight.js +5 -26
  464. package/lib/cjs/utils/getMotionObjFromProps.js +4 -16
  465. package/lib/cjs/utils/index.js +0 -4
  466. package/lib/cjs/utils/isBothNaN.js +0 -2
  467. package/lib/cjs/utils/isElement.js +0 -1
  468. package/lib/cjs/utils/isEnterPress.js +0 -5
  469. package/lib/cjs/utils/isEscPress.js +0 -5
  470. package/lib/cjs/utils/isNullOrUndefined.js +0 -1
  471. package/lib/cjs/utils/isNumber.js +0 -1
  472. package/lib/cjs/utils/isObject.js +0 -1
  473. package/lib/cjs/utils/isPromise.js +0 -3
  474. package/lib/cjs/utils/isString.js +0 -1
  475. package/lib/cjs/utils/keyCode.js +0 -105
  476. package/lib/cjs/utils/log.js +0 -5
  477. package/lib/cjs/utils/number.js +0 -2
  478. package/lib/cjs/utils/object.d.ts +4 -4
  479. package/lib/cjs/utils/object.js +10 -36
  480. package/lib/cjs/utils/set.js +0 -8
  481. package/lib/cjs/utils/shallowEqualObjects.js +0 -7
  482. package/lib/cjs/utils/touchPolyfill.js +1 -8
  483. package/lib/cjs/utils/type.d.ts +3 -3
  484. package/lib/cjs/utils/uuid.js +4 -11
  485. package/lib/cjs/utils/warning.js +1 -2
  486. package/lib/es/anchor/anchor.css +5 -0
  487. package/lib/es/anchor/anchor.scss +6 -0
  488. package/lib/es/anchor/constants.js +1 -1
  489. package/lib/es/anchor/foundation.js +20 -73
  490. package/lib/es/anchor/linkFoundation.js +3 -12
  491. package/lib/es/anchor/variables.scss +4 -0
  492. package/lib/es/autoComplete/autoComplete.css +1 -0
  493. package/lib/es/autoComplete/autoComplete.scss +2 -0
  494. package/lib/es/autoComplete/constants.js +3 -3
  495. package/lib/es/autoComplete/foundation.d.ts +3 -1
  496. package/lib/es/autoComplete/foundation.js +37 -142
  497. package/lib/es/autoComplete/optionFoundation.js +2 -10
  498. package/lib/es/avatar/animation.scss +19 -0
  499. package/lib/es/avatar/avatar.css +261 -0
  500. package/lib/es/avatar/avatar.scss +314 -1
  501. package/lib/es/avatar/constants.js +1 -2
  502. package/lib/es/avatar/foundation.d.ts +3 -0
  503. package/lib/es/avatar/foundation.js +21 -14
  504. package/lib/es/avatar/variables.scss +66 -10
  505. package/lib/es/backtop/constants.js +1 -1
  506. package/lib/es/backtop/foundation.d.ts +2 -2
  507. package/lib/es/backtop/foundation.js +0 -16
  508. package/lib/es/badge/badge.css +10 -0
  509. package/lib/es/badge/badge.scss +13 -0
  510. package/lib/es/badge/constants.js +2 -2
  511. package/lib/es/badge/variables.scss +4 -0
  512. package/lib/es/banner/constants.js +1 -1
  513. package/lib/es/banner/foundation.js +0 -3
  514. package/lib/es/base/constants.js +2 -2
  515. package/lib/es/base/foundation.d.ts +3 -3
  516. package/lib/es/base/foundation.js +11 -44
  517. package/lib/es/breadcrumb/breadcrumb.css +5 -3
  518. package/lib/es/breadcrumb/breadcrumb.scss +10 -4
  519. package/lib/es/breadcrumb/constants.js +1 -1
  520. package/lib/es/breadcrumb/foundation.js +0 -8
  521. package/lib/es/breadcrumb/itemFoundation.js +0 -3
  522. package/lib/es/breadcrumb/variables.scss +4 -0
  523. package/lib/es/button/button.css +32 -5
  524. package/lib/es/button/button.scss +88 -21
  525. package/lib/es/button/constants.js +1 -1
  526. package/lib/es/button/iconButton.css +1 -0
  527. package/lib/es/button/iconButton.scss +1 -0
  528. package/lib/es/button/splitButtonGroup.scss +10 -9
  529. package/lib/es/button/variables.scss +13 -0
  530. package/lib/es/calendar/calendar.css +2 -2
  531. package/lib/es/calendar/calendar.scss +1 -1
  532. package/lib/es/calendar/constants.js +1 -1
  533. package/lib/es/calendar/eventUtil.d.ts +7 -6
  534. package/lib/es/calendar/eventUtil.js +15 -45
  535. package/lib/es/calendar/foundation.d.ts +4 -4
  536. package/lib/es/calendar/foundation.js +32 -122
  537. package/lib/es/card/constants.js +1 -1
  538. package/lib/es/carousel/carousel.css +4 -0
  539. package/lib/es/carousel/carousel.scss +4 -0
  540. package/lib/es/carousel/constants.js +9 -9
  541. package/lib/es/carousel/foundation.d.ts +2 -0
  542. package/lib/es/carousel/foundation.js +7 -47
  543. package/lib/es/cascader/cascader.css +45 -4
  544. package/lib/es/cascader/cascader.scss +66 -23
  545. package/lib/es/cascader/constants.d.ts +3 -0
  546. package/lib/es/cascader/constants.js +7 -5
  547. package/lib/es/cascader/foundation.d.ts +27 -8
  548. package/lib/es/cascader/foundation.js +125 -286
  549. package/lib/es/cascader/util.d.ts +9 -1
  550. package/lib/es/cascader/util.js +65 -24
  551. package/lib/es/cascader/variables.scss +5 -1
  552. package/lib/es/checkbox/checkbox.css +0 -1
  553. package/lib/es/checkbox/checkbox.scss +0 -1
  554. package/lib/es/checkbox/checkboxFoundation.js +1 -34
  555. package/lib/es/checkbox/checkboxGroupFoundation.js +1 -20
  556. package/lib/es/checkbox/constants.js +13 -13
  557. package/lib/es/collapse/constants.js +1 -1
  558. package/lib/es/collapse/foundation.d.ts +2 -1
  559. package/lib/es/collapse/foundation.js +2 -9
  560. package/lib/es/collapsible/constants.js +1 -1
  561. package/lib/es/collapsible/foundation.js +0 -7
  562. package/lib/es/datePicker/_utils/formatter.js +4 -8
  563. package/lib/es/datePicker/_utils/getDayOfWeek.d.ts +1 -1
  564. package/lib/es/datePicker/_utils/getDayOfWeek.js +0 -3
  565. package/lib/es/datePicker/_utils/getDefaultFormatToken.d.ts +1 -0
  566. package/lib/es/datePicker/_utils/getDefaultFormatToken.js +2 -3
  567. package/lib/es/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
  568. package/lib/es/datePicker/_utils/getDefaultPickerDate.js +0 -10
  569. package/lib/es/datePicker/_utils/getFullDateOffset.js +0 -3
  570. package/lib/es/datePicker/_utils/getInsetInputFormatToken.js +2 -5
  571. package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +1 -5
  572. package/lib/es/datePicker/_utils/getMonthTable.d.ts +1 -1
  573. package/lib/es/datePicker/_utils/getMonthTable.js +8 -18
  574. package/lib/es/datePicker/_utils/getMonthsInYear.js +1 -2
  575. package/lib/es/datePicker/_utils/getYears.d.ts +1 -1
  576. package/lib/es/datePicker/_utils/getYears.js +9 -6
  577. package/lib/es/datePicker/_utils/isBetween.js +0 -1
  578. package/lib/es/datePicker/_utils/isValidTimeZone.d.ts +1 -0
  579. package/lib/es/datePicker/_utils/isValidTimeZone.js +3 -0
  580. package/lib/es/datePicker/_utils/parser.js +0 -8
  581. package/lib/es/datePicker/constants.d.ts +1 -1
  582. package/lib/es/datePicker/constants.js +28 -28
  583. package/lib/es/datePicker/datePicker.css +88 -13
  584. package/lib/es/datePicker/datePicker.scss +170 -21
  585. package/lib/es/datePicker/foundation.d.ts +79 -50
  586. package/lib/es/datePicker/foundation.js +173 -426
  587. package/lib/es/datePicker/inputFoundation.d.ts +15 -6
  588. package/lib/es/datePicker/inputFoundation.js +35 -85
  589. package/lib/es/datePicker/monthFoundation.d.ts +1 -1
  590. package/lib/es/datePicker/monthFoundation.js +3 -22
  591. package/lib/es/datePicker/monthsGridFoundation.d.ts +18 -13
  592. package/lib/es/datePicker/monthsGridFoundation.js +70 -231
  593. package/lib/es/datePicker/variables.scss +13 -4
  594. package/lib/es/datePicker/yearAndMonthFoundation.d.ts +68 -13
  595. package/lib/es/datePicker/yearAndMonthFoundation.js +55 -37
  596. package/lib/es/descriptions/constants.d.ts +1 -0
  597. package/lib/es/descriptions/constants.js +3 -2
  598. package/lib/es/descriptions/descriptions.css +15 -0
  599. package/lib/es/descriptions/descriptions.scss +20 -0
  600. package/lib/es/descriptions/foundation.d.ts +7 -0
  601. package/lib/es/descriptions/foundation.js +37 -0
  602. package/lib/es/descriptions/variables.scss +10 -0
  603. package/lib/es/divider/constants.js +1 -1
  604. package/lib/es/dropdown/constants.js +4 -4
  605. package/lib/es/dropdown/dropdown.css +4 -0
  606. package/lib/es/dropdown/dropdown.scss +5 -0
  607. package/lib/es/dropdown/foundation.js +9 -20
  608. package/lib/es/dropdown/menuFoundation.js +9 -23
  609. package/lib/es/empty/constants.js +1 -1
  610. package/lib/es/form/constants.d.ts +1 -0
  611. package/lib/es/form/constants.js +3 -2
  612. package/lib/es/form/form.css +4 -0
  613. package/lib/es/form/form.scss +5 -2
  614. package/lib/es/form/foundation.d.ts +4 -4
  615. package/lib/es/form/foundation.js +84 -203
  616. package/lib/es/form/interface.d.ts +10 -10
  617. package/lib/es/form/utils.d.ts +10 -1
  618. package/lib/es/form/utils.js +83 -86
  619. package/lib/es/form/variables.scss +3 -0
  620. package/lib/es/grid/constants.js +1 -1
  621. package/lib/es/grid/grid.css +1 -1
  622. package/lib/es/grid/grid.scss +1 -1
  623. package/lib/es/highlight/constants.js +1 -1
  624. package/lib/es/icons/constants.js +1 -1
  625. package/lib/es/image/constants.d.ts +4 -1
  626. package/lib/es/image/constants.js +5 -2
  627. package/lib/es/image/image.css +4 -2
  628. package/lib/es/image/image.scss +9 -5
  629. package/lib/es/image/imageFoundation.js +4 -13
  630. package/lib/es/image/previewFooterFoundation.d.ts +0 -1
  631. package/lib/es/image/previewFooterFoundation.js +0 -10
  632. package/lib/es/image/previewFoundation.js +0 -7
  633. package/lib/es/image/previewImageFoundation.d.ts +9 -24
  634. package/lib/es/image/previewImageFoundation.js +79 -156
  635. package/lib/es/image/previewInnerFoundation.d.ts +19 -15
  636. package/lib/es/image/previewInnerFoundation.js +108 -107
  637. package/lib/es/image/utils.d.ts +1 -1
  638. package/lib/es/image/utils.js +46 -27
  639. package/lib/es/image/variables.scss +1 -1
  640. package/lib/es/input/constants.js +1 -1
  641. package/lib/es/input/foundation.js +19 -96
  642. package/lib/es/input/input.css +45 -1
  643. package/lib/es/input/input.scss +48 -3
  644. package/lib/es/input/textarea.css +20 -0
  645. package/lib/es/input/textarea.scss +34 -0
  646. package/lib/es/input/textareaFoundation.d.ts +1 -1
  647. package/lib/es/input/textareaFoundation.js +58 -91
  648. package/lib/es/input/util/calculateNodeHeight.js +6 -18
  649. package/lib/es/input/util/getSizingData.js +7 -11
  650. package/lib/es/input/variables.scss +7 -0
  651. package/lib/es/inputNumber/foundation.js +28 -188
  652. package/lib/es/inputNumber/inputNumber.css +4 -0
  653. package/lib/es/inputNumber/inputNumber.scss +9 -0
  654. package/lib/es/layout/constants.js +1 -1
  655. package/lib/es/list/constants.js +1 -1
  656. package/lib/es/modal/constants.js +1 -1
  657. package/lib/es/modal/modal.css +8 -0
  658. package/lib/es/modal/modal.scss +10 -1
  659. package/lib/es/modal/modalContentFoundation.js +0 -15
  660. package/lib/es/modal/modalFoundation.d.ts +8 -4
  661. package/lib/es/modal/modalFoundation.js +40 -11
  662. package/lib/es/modal/variables.scss +6 -1
  663. package/lib/es/navigation/NavItem.js +0 -8
  664. package/lib/es/navigation/constants.js +2 -2
  665. package/lib/es/navigation/foundation.js +3 -63
  666. package/lib/es/navigation/itemFoundation.js +3 -19
  667. package/lib/es/navigation/subNavFoundation.js +7 -38
  668. package/lib/es/notification/constants.js +4 -4
  669. package/lib/es/notification/notification.css +18 -0
  670. package/lib/es/notification/notification.scss +21 -1
  671. package/lib/es/notification/notificationFoundation.d.ts +6 -6
  672. package/lib/es/notification/notificationFoundation.js +0 -11
  673. package/lib/es/notification/notificationListFoundation.d.ts +4 -1
  674. package/lib/es/notification/notificationListFoundation.js +15 -14
  675. package/lib/es/overflowList/constants.d.ts +6 -4
  676. package/lib/es/overflowList/constants.js +3 -1
  677. package/lib/es/overflowList/foundation.d.ts +3 -1
  678. package/lib/es/overflowList/foundation.js +59 -64
  679. package/lib/es/pagination/constants.js +1 -1
  680. package/lib/es/pagination/foundation.d.ts +5 -3
  681. package/lib/es/pagination/foundation.js +36 -90
  682. package/lib/es/pagination/pagination.css +23 -0
  683. package/lib/es/pagination/pagination.scss +29 -0
  684. package/lib/es/pagination/variables.scss +1 -0
  685. package/lib/es/popconfirm/constants.js +2 -2
  686. package/lib/es/popconfirm/popconfirm.css +4 -24
  687. package/lib/es/popconfirm/popconfirm.scss +4 -16
  688. package/lib/es/popconfirm/popconfirmFoundation.d.ts +4 -0
  689. package/lib/es/popconfirm/popconfirmFoundation.js +17 -14
  690. package/lib/es/popconfirm/rtl.scss +0 -13
  691. package/lib/es/popconfirm/variables.scss +0 -4
  692. package/lib/es/popover/constants.d.ts +1 -1
  693. package/lib/es/popover/constants.js +3 -3
  694. package/lib/es/popover/popover.css +2 -0
  695. package/lib/es/popover/popover.scss +2 -0
  696. package/lib/es/progress/constants.js +1 -1
  697. package/lib/es/progress/generates.d.ts +2 -2
  698. package/lib/es/progress/generates.js +33 -73
  699. package/lib/es/radio/constants.js +13 -13
  700. package/lib/es/radio/radio.css +3 -0
  701. package/lib/es/radio/radio.scss +6 -3
  702. package/lib/es/radio/radioFoundation.js +0 -9
  703. package/lib/es/radio/radioGroupFoundation.js +3 -19
  704. package/lib/es/radio/radioInnerFoundation.js +1 -15
  705. package/lib/es/radio/variables.scss +4 -0
  706. package/lib/es/rating/constants.js +1 -1
  707. package/lib/es/rating/foundation.js +10 -55
  708. package/lib/es/scrollList/constants.js +2 -2
  709. package/lib/es/scrollList/itemFoundation.js +8 -60
  710. package/lib/es/scrollList/scrollTo.js +2 -4
  711. package/lib/es/select/constants.js +3 -3
  712. package/lib/es/select/foundation.d.ts +8 -6
  713. package/lib/es/select/foundation.js +172 -419
  714. package/lib/es/select/option.scss +1 -1
  715. package/lib/es/select/optionFoundation.js +2 -10
  716. package/lib/es/select/select.css +50 -0
  717. package/lib/es/select/select.scss +74 -5
  718. package/lib/es/select/variables.scss +9 -6
  719. package/lib/es/sideSheet/constants.js +2 -2
  720. package/lib/es/sideSheet/sideSheet.css +30 -0
  721. package/lib/es/sideSheet/sideSheet.scss +38 -0
  722. package/lib/es/sideSheet/sideSheetFoundation.d.ts +1 -0
  723. package/lib/es/sideSheet/sideSheetFoundation.js +0 -12
  724. package/lib/es/sideSheet/variables.scss +7 -0
  725. package/lib/es/skeleton/constants.js +1 -1
  726. package/lib/es/skeleton/skeleton.css +3 -2
  727. package/lib/es/skeleton/skeleton.scss +1 -0
  728. package/lib/es/skeleton/variables.scss +2 -2
  729. package/lib/es/slider/constants.d.ts +1 -0
  730. package/lib/es/slider/constants.js +8 -7
  731. package/lib/es/slider/foundation.d.ts +13 -2
  732. package/lib/es/slider/foundation.js +30 -219
  733. package/lib/es/slider/slider.css +25 -11
  734. package/lib/es/slider/slider.scss +16 -1
  735. package/lib/es/slider/variables.scss +15 -9
  736. package/lib/es/space/constants.js +1 -1
  737. package/lib/es/spin/constants.js +1 -1
  738. package/lib/es/spin/foundation.js +3 -11
  739. package/lib/es/spin/spin.css +3 -0
  740. package/lib/es/spin/spin.scss +3 -0
  741. package/lib/es/steps/bacisSteps.scss +10 -3
  742. package/lib/es/steps/constants.js +2 -2
  743. package/lib/es/steps/fillSteps.scss +7 -7
  744. package/lib/es/steps/steps.css +27 -22
  745. package/lib/es/steps/variables.scss +3 -3
  746. package/lib/es/switch/constants.js +13 -13
  747. package/lib/es/switch/foundation.js +1 -16
  748. package/lib/es/switch/switch.css +10 -0
  749. package/lib/es/switch/switch.scss +13 -2
  750. package/lib/es/table/bodyFoundation.js +1 -25
  751. package/lib/es/table/cellFoundation.js +0 -1
  752. package/lib/es/table/constants.d.ts +0 -1
  753. package/lib/es/table/constants.js +13 -16
  754. package/lib/es/table/foundation.d.ts +26 -16
  755. package/lib/es/table/foundation.js +79 -313
  756. package/lib/es/table/rtl.scss +33 -2
  757. package/lib/es/table/table.css +100 -64
  758. package/lib/es/table/table.scss +66 -8
  759. package/lib/es/table/tableRowFoundation.js +1 -9
  760. package/lib/es/table/tableSelectionCellFoundation.js +0 -2
  761. package/lib/es/table/utils.d.ts +6 -4
  762. package/lib/es/table/utils.js +25 -119
  763. package/lib/es/table/variables.scss +6 -3
  764. package/lib/es/tabs/constants.js +21 -21
  765. package/lib/es/tabs/foundation.js +2 -35
  766. package/lib/es/tabs/tabs.css +207 -7
  767. package/lib/es/tabs/tabs.scss +339 -24
  768. package/lib/es/tag/constants.js +1 -2
  769. package/lib/es/tag/tag.css +34 -1
  770. package/lib/es/tag/tag.scss +43 -4
  771. package/lib/es/tag/variables.scss +5 -0
  772. package/lib/es/tagInput/constants.js +1 -1
  773. package/lib/es/tagInput/foundation.d.ts +7 -4
  774. package/lib/es/tagInput/foundation.js +64 -78
  775. package/lib/es/tagInput/tagInput.css +35 -9
  776. package/lib/es/tagInput/tagInput.scss +41 -12
  777. package/lib/es/tagInput/utils/getSplitedArray.js +0 -7
  778. package/lib/es/tagInput/variables.scss +2 -0
  779. package/lib/es/timePicker/ComboxFoundation.js +6 -32
  780. package/lib/es/timePicker/constants.js +3 -3
  781. package/lib/es/timePicker/foundation.d.ts +2 -2
  782. package/lib/es/timePicker/foundation.js +30 -101
  783. package/lib/es/timePicker/inputFoundation.js +4 -22
  784. package/lib/es/timePicker/timePicker.css +15 -0
  785. package/lib/es/timePicker/timePicker.scss +22 -1
  786. package/lib/es/timePicker/utils/index.js +12 -30
  787. package/lib/es/timePicker/utils/localeDate.js +0 -8
  788. package/lib/es/timeline/constants.js +2 -2
  789. package/lib/es/toast/animation.scss +3 -0
  790. package/lib/es/toast/constants.js +4 -4
  791. package/lib/es/toast/toast.css +35 -3
  792. package/lib/es/toast/toast.scss +43 -3
  793. package/lib/es/toast/toastFoundation.d.ts +5 -4
  794. package/lib/es/toast/toastFoundation.js +0 -9
  795. package/lib/es/toast/toastListFoundation.d.ts +5 -0
  796. package/lib/es/toast/toastListFoundation.js +10 -18
  797. package/lib/es/toast/variables.scss +14 -0
  798. package/lib/es/tooltip/constants.d.ts +1 -1
  799. package/lib/es/tooltip/constants.js +2 -2
  800. package/lib/es/tooltip/foundation.d.ts +5 -2
  801. package/lib/es/tooltip/foundation.js +143 -332
  802. package/lib/es/tooltip/tooltip.css +7 -0
  803. package/lib/es/tooltip/tooltip.scss +9 -0
  804. package/lib/es/transfer/constants.js +1 -1
  805. package/lib/es/transfer/foundation.d.ts +1 -1
  806. package/lib/es/transfer/foundation.js +5 -62
  807. package/lib/es/transfer/transfer.css +4 -0
  808. package/lib/es/transfer/transfer.scss +7 -0
  809. package/lib/es/transfer/transferUtils.js +5 -21
  810. package/lib/es/tree/constants.js +2 -2
  811. package/lib/es/tree/foundation.d.ts +14 -9
  812. package/lib/es/tree/foundation.js +60 -176
  813. package/lib/es/tree/rtl.scss +19 -11
  814. package/lib/es/tree/tree.css +147 -65
  815. package/lib/es/tree/tree.scss +112 -17
  816. package/lib/es/tree/treeUtil.d.ts +17 -8
  817. package/lib/es/tree/treeUtil.js +102 -161
  818. package/lib/es/tree/variables.scss +3 -2
  819. package/lib/es/treeSelect/constants.js +3 -3
  820. package/lib/es/treeSelect/foundation.d.ts +26 -13
  821. package/lib/es/treeSelect/foundation.js +155 -235
  822. package/lib/es/treeSelect/treeSelect.css +55 -10
  823. package/lib/es/treeSelect/treeSelect.scss +76 -20
  824. package/lib/es/treeSelect/variables.scss +4 -2
  825. package/lib/es/typography/constants.d.ts +1 -0
  826. package/lib/es/typography/constants.js +2 -1
  827. package/lib/es/typography/formatNumeral.d.ts +3 -3
  828. package/lib/es/typography/formatNumeral.js +22 -40
  829. package/lib/es/typography/typography.css +135 -2
  830. package/lib/es/typography/typography.scss +151 -8
  831. package/lib/es/typography/variables.scss +52 -0
  832. package/lib/es/upload/constants.js +2 -2
  833. package/lib/es/upload/fileCardFoundation.d.ts +9 -0
  834. package/lib/es/upload/fileCardFoundation.js +10 -0
  835. package/lib/es/upload/foundation.d.ts +14 -5
  836. package/lib/es/upload/foundation.js +107 -240
  837. package/lib/es/upload/upload.css +9 -0
  838. package/lib/es/upload/upload.scss +8 -0
  839. package/lib/es/upload/utils.js +14 -28
  840. package/lib/es/utils/Event.js +1 -17
  841. package/lib/es/utils/FocusHandle.d.ts +1 -1
  842. package/lib/es/utils/FocusHandle.js +6 -32
  843. package/lib/es/utils/Logger.js +0 -20
  844. package/lib/es/utils/Store.js +0 -9
  845. package/lib/es/utils/a11y.js +18 -31
  846. package/lib/es/utils/array.d.ts +2 -2
  847. package/lib/es/utils/array.js +2 -7
  848. package/lib/es/utils/classnames.js +0 -10
  849. package/lib/es/utils/date-fns-extra.d.ts +28 -17
  850. package/lib/es/utils/date-fns-extra.js +78 -40
  851. package/lib/es/utils/dom.d.ts +1 -1
  852. package/lib/es/utils/dom.js +0 -9
  853. package/lib/es/utils/function.js +0 -1
  854. package/lib/es/utils/getDataAttr.js +1 -2
  855. package/lib/es/utils/getHighlight.js +5 -26
  856. package/lib/es/utils/getMotionObjFromProps.js +4 -12
  857. package/lib/es/utils/isBothNaN.js +0 -1
  858. package/lib/es/utils/isEnterPress.js +0 -2
  859. package/lib/es/utils/isEscPress.js +0 -2
  860. package/lib/es/utils/keyCode.js +0 -104
  861. package/lib/es/utils/log.js +0 -3
  862. package/lib/es/utils/object.d.ts +4 -4
  863. package/lib/es/utils/object.js +10 -29
  864. package/lib/es/utils/set.js +0 -5
  865. package/lib/es/utils/shallowEqualObjects.js +0 -6
  866. package/lib/es/utils/touchPolyfill.js +1 -6
  867. package/lib/es/utils/type.d.ts +3 -3
  868. package/lib/es/utils/uuid.js +4 -10
  869. package/lib/es/utils/warning.js +1 -1
  870. package/modal/modal.scss +10 -1
  871. package/modal/modalContentFoundation.ts +3 -3
  872. package/modal/modalFoundation.ts +32 -7
  873. package/modal/variables.scss +6 -1
  874. package/navigation/NavItem.ts +0 -2
  875. package/navigation/foundation.ts +1 -3
  876. package/navigation/itemFoundation.ts +0 -1
  877. package/navigation/subNavFoundation.ts +3 -2
  878. package/notification/notification.scss +21 -1
  879. package/notification/notificationFoundation.ts +3 -3
  880. package/notification/notificationListFoundation.ts +14 -4
  881. package/overflowList/constants.ts +4 -2
  882. package/overflowList/foundation.ts +51 -33
  883. package/package.json +6 -5
  884. package/pagination/foundation.ts +13 -3
  885. package/pagination/pagination.scss +29 -0
  886. package/pagination/variables.scss +1 -0
  887. package/popconfirm/popconfirm.scss +4 -16
  888. package/popconfirm/popconfirmFoundation.ts +20 -2
  889. package/popconfirm/rtl.scss +0 -13
  890. package/popconfirm/variables.scss +0 -4
  891. package/popover/constants.ts +1 -1
  892. package/popover/popover.scss +2 -0
  893. package/radio/radio.scss +6 -3
  894. package/radio/radioFoundation.ts +1 -1
  895. package/radio/radioGroupFoundation.ts +0 -1
  896. package/radio/radioInnerFoundation.ts +0 -1
  897. package/radio/variables.scss +4 -0
  898. package/rating/foundation.ts +0 -1
  899. package/select/foundation.ts +68 -31
  900. package/select/option.scss +1 -1
  901. package/select/optionFoundation.ts +0 -2
  902. package/select/select.scss +74 -5
  903. package/select/variables.scss +9 -6
  904. package/sideSheet/sideSheet.scss +38 -0
  905. package/sideSheet/sideSheetFoundation.ts +3 -2
  906. package/sideSheet/variables.scss +7 -0
  907. package/skeleton/skeleton.scss +1 -0
  908. package/skeleton/variables.scss +2 -2
  909. package/slider/constants.ts +1 -0
  910. package/slider/foundation.ts +25 -29
  911. package/slider/slider.scss +16 -1
  912. package/slider/variables.scss +15 -9
  913. package/spin/spin.scss +3 -0
  914. package/steps/bacisSteps.scss +10 -3
  915. package/steps/fillSteps.scss +7 -7
  916. package/steps/variables.scss +3 -3
  917. package/switch/foundation.ts +2 -4
  918. package/switch/switch.scss +13 -2
  919. package/table/bodyFoundation.ts +0 -1
  920. package/table/constants.ts +0 -3
  921. package/table/foundation.ts +33 -31
  922. package/table/rtl.scss +33 -2
  923. package/table/table.scss +66 -8
  924. package/table/tableRowFoundation.ts +0 -1
  925. package/table/utils.ts +23 -43
  926. package/table/variables.scss +6 -3
  927. package/tabs/foundation.ts +2 -2
  928. package/tabs/tabs.scss +339 -24
  929. package/tag/constants.ts +19 -2
  930. package/tag/tag.scss +43 -4
  931. package/tag/variables.scss +5 -0
  932. package/tagInput/foundation.ts +57 -3
  933. package/tagInput/tagInput.scss +41 -12
  934. package/tagInput/variables.scss +2 -0
  935. package/timePicker/foundation.ts +27 -18
  936. package/timePicker/inputFoundation.ts +0 -2
  937. package/timePicker/timePicker.scss +22 -1
  938. package/timePicker/utils/index.ts +3 -2
  939. package/toast/animation.scss +3 -0
  940. package/toast/toast.scss +43 -3
  941. package/toast/toastFoundation.ts +4 -6
  942. package/toast/toastListFoundation.ts +13 -3
  943. package/toast/variables.scss +14 -0
  944. package/tooltip/constants.ts +1 -1
  945. package/tooltip/foundation.ts +96 -58
  946. package/tooltip/tooltip.scss +9 -0
  947. package/transfer/foundation.ts +0 -1
  948. package/transfer/transfer.scss +7 -0
  949. package/tree/foundation.ts +38 -33
  950. package/tree/rtl.scss +19 -11
  951. package/tree/tree.scss +112 -17
  952. package/tree/treeUtil.ts +64 -32
  953. package/tree/variables.scss +3 -2
  954. package/treeSelect/foundation.ts +132 -70
  955. package/treeSelect/treeSelect.scss +76 -20
  956. package/treeSelect/variables.scss +4 -2
  957. package/typography/constants.ts +1 -0
  958. package/typography/formatNumeral.ts +2 -5
  959. package/typography/typography.scss +151 -8
  960. package/typography/variables.scss +52 -0
  961. package/upload/fileCardFoundation.ts +17 -0
  962. package/upload/foundation.ts +85 -10
  963. package/upload/upload.scss +8 -0
  964. package/utils/Event.ts +0 -1
  965. package/utils/a11y.ts +6 -6
  966. package/utils/array.ts +4 -4
  967. package/utils/date-fns-extra.ts +83 -22
  968. package/utils/function.ts +0 -1
  969. package/utils/getDataAttr.ts +1 -1
  970. package/utils/getMotionObjFromProps.ts +3 -2
  971. package/utils/object.ts +0 -3
@@ -4,7 +4,6 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
4
4
  resolve(value);
5
5
  });
6
6
  }
7
-
8
7
  return new (P || (P = Promise))(function (resolve, reject) {
9
8
  function fulfilled(value) {
10
9
  try {
@@ -13,7 +12,6 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
13
12
  reject(e);
14
13
  }
15
14
  }
16
-
17
15
  function rejected(value) {
18
16
  try {
19
17
  step(generator["throw"](value));
@@ -21,15 +19,12 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
21
19
  reject(e);
22
20
  }
23
21
  }
24
-
25
22
  function step(result) {
26
23
  result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
27
24
  }
28
-
29
25
  step((generator = generator.apply(thisArg, _arguments || [])).next());
30
26
  });
31
27
  };
32
-
33
28
  import BaseFoundation from '../base/foundation';
34
29
  import isPromise from '../utils/isPromise';
35
30
  import { getUuidv4 } from '../utils/uuid';
@@ -45,16 +40,29 @@ const {
45
40
  DRAG_AREA_LEGAL,
46
41
  TRIGGER_AUTO
47
42
  } = strings;
48
-
49
43
  class UploadFoundation extends BaseFoundation {
50
44
  constructor(adapter) {
51
45
  super(Object.assign({}, adapter));
52
46
  }
53
-
47
+ init() {
48
+ const {
49
+ disabled,
50
+ addOnPasting
51
+ } = this.getProps();
52
+ if (addOnPasting && !disabled) {
53
+ this.bindPastingHandler();
54
+ }
55
+ }
54
56
  destroy() {
57
+ const {
58
+ disabled,
59
+ addOnPasting
60
+ } = this.getProps();
55
61
  this.releaseMemory();
62
+ if (addOnPasting && !disabled) {
63
+ this.unbindPastingHandler();
64
+ }
56
65
  }
57
-
58
66
  getError(_ref) {
59
67
  let {
60
68
  action,
@@ -63,32 +71,27 @@ class UploadFoundation extends BaseFoundation {
63
71
  fileName
64
72
  } = _ref;
65
73
  const status = xhr ? xhr.status : 0;
66
- const msg = message || "cannot post ".concat(fileName, " to ").concat(action, ", xhr status: ").concat(status, "'");
74
+ const msg = message || `cannot post ${fileName} to ${action}, xhr status: ${status}'`;
67
75
  const err = new Error(msg);
68
76
  err.status = status;
69
77
  err.method = 'post';
70
78
  err.url = action;
71
79
  return err;
72
80
  }
73
-
74
81
  getBody(xhr) {
75
82
  if (!xhr) {
76
83
  return;
77
84
  }
78
-
79
85
  const text = xhr.responseText || xhr.response;
80
-
81
86
  if (!text) {
82
87
  return text;
83
88
  }
84
-
85
89
  try {
86
90
  return JSON.parse(text);
87
91
  } catch (error) {
88
92
  return text;
89
93
  }
90
94
  }
91
-
92
95
  checkFileSize(file) {
93
96
  const {
94
97
  size
@@ -98,11 +101,9 @@ class UploadFoundation extends BaseFoundation {
98
101
  minSize
99
102
  } = this.getProps();
100
103
  let isIllegal = false;
101
-
102
104
  if (size > maxSize * byteKB || size < minSize * byteKB) {
103
105
  isIllegal = true;
104
106
  }
105
-
106
107
  return isIllegal;
107
108
  }
108
109
  /**
@@ -134,8 +135,6 @@ class UploadFoundation extends BaseFoundation {
134
135
  * 8. TODO: check
135
136
  * 9. afterUpload
136
137
  */
137
-
138
-
139
138
  handleChange(currentFileList) {
140
139
  const invalidFiles = [];
141
140
  const {
@@ -147,83 +146,62 @@ class UploadFoundation extends BaseFoundation {
147
146
  fileList
148
147
  } = this.getStates();
149
148
  let files = Array.from(currentFileList); // When the selected file
150
-
151
149
  if (typeof accept !== 'undefined') {
152
150
  files = files.filter(item => {
153
151
  const isValid = this.checkFileFormat(accept, item);
154
-
155
152
  if (!isValid) {
156
153
  invalidFiles.push(item);
157
154
  }
158
-
159
155
  return isValid;
160
156
  });
161
-
162
157
  if (invalidFiles.length !== 0) {
163
158
  this._adapter.notifyAcceptInvalid(invalidFiles);
164
159
  }
165
-
166
160
  if (files.length === 0) {
167
161
  return;
168
162
  }
169
163
  }
170
-
171
164
  files = files.map(file => {
172
165
  if (transformFile) {
173
166
  file = transformFile(file);
174
167
  }
175
-
176
168
  if (!file.uid) {
177
169
  file.uid = getUuidv4();
178
170
  }
179
-
180
171
  if (this.checkFileSize(file)) {
181
172
  file._sizeInvalid = true;
182
173
  file.status = FILE_STATUS_VALID_FAIL;
183
-
184
174
  this._adapter.notifySizeError(file, fileList);
185
175
  }
186
-
187
176
  return file;
188
177
  });
189
178
  const total = fileList.length + files.length;
190
-
191
179
  if (typeof limit !== 'undefined') {
192
180
  // Determine whether the limit is exceeded
193
181
  if (total > limit) {
194
182
  this._adapter.notifyExceed(files);
195
-
196
183
  if (limit === 1) {
197
184
  // Replace the current file with the last file
198
185
  files = files.slice(-1);
199
-
200
186
  this._adapter.notifyFileSelect(files);
201
-
202
187
  this._adapter.resetInput();
203
-
204
188
  this.replaceFileList(files);
205
189
  return;
206
- } // If the limit is exceeded, the calculation can add a few more files and continue uploading the remaining files
207
-
208
-
190
+ }
191
+ // If the limit is exceeded, the calculation can add a few more files and continue uploading the remaining files
209
192
  const restNum = limit - fileList.length;
210
193
  files = files.slice(0, restNum);
211
194
  }
212
195
  }
213
-
214
196
  this._adapter.notifyFileSelect(files);
215
-
216
197
  this._adapter.resetInput();
217
-
218
198
  this.addFilesToList(files);
219
- } // Triggered when replacing a single file
220
-
221
-
199
+ }
200
+ // Triggered when replacing a single file
222
201
  handleReplaceChange(currentFileList) {
223
202
  if (currentFileList.length === 0) {
224
203
  return;
225
204
  }
226
-
227
205
  const {
228
206
  transformFile,
229
207
  uploadTrigger,
@@ -234,60 +212,48 @@ class UploadFoundation extends BaseFoundation {
234
212
  fileList
235
213
  } = this.getStates();
236
214
  let newFile = Array.from(currentFileList).pop();
237
-
238
215
  if (typeof accept !== 'undefined') {
239
216
  if (!this.checkFileFormat(accept, newFile)) {
240
217
  this._adapter.notifyAcceptInvalid([newFile]);
241
-
242
218
  return;
243
219
  }
244
220
  }
245
-
246
221
  if (transformFile) {
247
222
  newFile = transformFile(newFile);
248
223
  }
249
-
250
224
  if (!newFile.uid) {
251
225
  newFile.uid = getUuidv4();
252
226
  }
253
-
254
227
  if (this.checkFileSize(newFile)) {
255
228
  newFile._sizeInvalid = true;
256
229
  newFile.status = FILE_STATUS_VALID_FAIL;
257
-
258
230
  this._adapter.notifySizeError(newFile, fileList);
259
231
  }
260
-
261
232
  this._adapter.notifyFileSelect([newFile]);
262
-
263
233
  const newFileItem = this.buildFileItem(newFile, uploadTrigger);
264
234
  const newFileList = [...fileList];
265
235
  newFileList.splice(replaceIdx, 1, newFileItem);
266
-
267
236
  this._adapter.notifyChange({
268
237
  currentFile: newFileItem,
269
238
  fileList: newFileList
270
239
  });
271
-
272
240
  this._adapter.updateFileList(newFileList, () => {
273
241
  this._adapter.resetReplaceInput();
274
-
275
- this.upload(newFileItem);
242
+ if (!newFileItem._sizeInvalid) {
243
+ this.upload(newFileItem);
244
+ }
276
245
  });
277
246
  }
278
-
279
247
  buildFileItem(fileInstance, uploadTrigger) {
280
248
  const {
281
249
  _sizeInvalid,
282
250
  status
283
251
  } = fileInstance;
284
-
285
252
  try {
286
253
  // can't use ... to get rest property on File Object
287
254
  delete fileInstance._sizeInvalid;
288
255
  delete fileInstance.status;
289
256
  } catch (error) {}
290
-
291
257
  const _file = {
292
258
  status: status ? status : uploadTrigger === TRIGGER_AUTO ? FILE_STATUS_UPLOADING : FILE_STATUS_WAIT_UPLOAD,
293
259
  name: fileInstance.name,
@@ -297,37 +263,30 @@ class UploadFoundation extends BaseFoundation {
297
263
  fileInstance,
298
264
  url: this._createURL(fileInstance)
299
265
  };
300
-
301
266
  if (_sizeInvalid) {
302
267
  _file._sizeInvalid = true;
303
- } // If it is an image, preview; if it is a pdf, you can jump to
304
-
305
-
268
+ }
269
+ // If it is an image, preview; if it is a pdf, you can jump to
306
270
  if (this.isImage(fileInstance)) {
307
271
  _file.preview = true;
308
272
  }
309
-
310
273
  return _file;
311
274
  }
312
-
313
275
  replaceFileList(files) {
314
276
  const {
315
277
  uploadTrigger
316
278
  } = this.getProps();
317
279
  const currentFiles = files.map(item => this.buildFileItem(item, uploadTrigger));
318
-
319
280
  this._adapter.notifyChange({
320
281
  fileList: currentFiles,
321
282
  currentFile: currentFiles[0]
322
283
  });
323
-
324
284
  this._adapter.updateFileList(currentFiles, () => {
325
285
  if (uploadTrigger === TRIGGER_AUTO) {
326
286
  this.startUpload(currentFiles);
327
287
  }
328
288
  });
329
289
  }
330
-
331
290
  addFilesToList(files) {
332
291
  const fileList = this.getState('fileList').slice();
333
292
  const {
@@ -336,28 +295,24 @@ class UploadFoundation extends BaseFoundation {
336
295
  const currentFiles = files.map(item => this.buildFileItem(item, uploadTrigger));
337
296
  currentFiles.forEach(file => {
338
297
  const index = fileList.findIndex(item => item.uid === file.uid);
339
-
340
298
  if (index !== -1) {
341
299
  fileList[index] = file;
342
300
  } else {
343
301
  fileList.push(file);
344
-
345
302
  this._adapter.notifyChange({
346
303
  fileList,
347
304
  currentFile: file
348
305
  });
349
306
  }
350
307
  });
351
-
352
308
  this._adapter.updateFileList(fileList, () => {
353
309
  if (uploadTrigger === TRIGGER_AUTO) {
354
310
  this.startUpload(currentFiles);
355
311
  }
356
312
  });
357
- } // 插入多个文件到指定位置
313
+ }
314
+ // 插入多个文件到指定位置
358
315
  // Insert files to the specified location
359
-
360
-
361
316
  insertFileToList(files, index) {
362
317
  const {
363
318
  limit,
@@ -368,51 +323,40 @@ class UploadFoundation extends BaseFoundation {
368
323
  const {
369
324
  fileList
370
325
  } = this.getStates();
371
- const unAcceptFileList = []; // 当次选中的文件
326
+ const unAcceptFileList = [];
327
+ // 当次选中的文件
372
328
  // current selected file
373
-
374
329
  let currentFileList = Array.from(files);
375
-
376
330
  if (typeof accept !== 'undefined') {
377
331
  currentFileList = currentFileList.filter(item => {
378
332
  const isValid = this.checkFileFormat(accept, item);
379
-
380
333
  if (!isValid) {
381
334
  unAcceptFileList.push(item);
382
335
  }
383
-
384
336
  return isValid;
385
337
  });
386
-
387
338
  if (unAcceptFileList.length !== 0) {
388
339
  this._adapter.notifyAcceptInvalid(unAcceptFileList);
389
340
  }
390
-
391
341
  if (currentFileList.length === 0) {
392
342
  return;
393
343
  }
394
344
  }
395
-
396
345
  currentFileList = currentFileList.map(file => {
397
346
  if (!file.uid) {
398
347
  file.uid = getUuidv4();
399
348
  }
400
-
401
349
  if (this.checkFileSize(file)) {
402
350
  file._sizeInvalid = true;
403
351
  file.status = FILE_STATUS_VALID_FAIL;
404
-
405
352
  this._adapter.notifySizeError(file, fileList);
406
353
  }
407
-
408
354
  if (transformFile) {
409
355
  file = transformFile(file);
410
356
  }
411
-
412
357
  return file;
413
358
  });
414
359
  const total = fileList.length + currentFileList.length;
415
-
416
360
  if (typeof limit !== 'undefined') {
417
361
  // 判断是否超出限制
418
362
  // Determine whether the limit is exceeded
@@ -421,40 +365,30 @@ class UploadFoundation extends BaseFoundation {
421
365
  // 使用最后面的文件对当前文件进行替换
422
366
  // Use the last file to replace the current file
423
367
  currentFileList = currentFileList.slice(-1);
424
-
425
368
  this._adapter.notifyFileSelect(currentFileList);
426
-
427
369
  this._adapter.resetInput();
428
-
429
370
  this.replaceFileList(currentFileList);
430
371
  return;
431
- } // 如果超出了限制,则计算还能添加几个文件,将剩余的文件继续上传
372
+ }
373
+ // 如果超出了限制,则计算还能添加几个文件,将剩余的文件继续上传
432
374
  // If the limit is exceeded, several files can be added to the calculation, and the remaining files will continue to be uploaded
433
-
434
-
435
375
  const restNum = limit - fileList.length;
436
376
  currentFileList = currentFileList.slice(0, restNum);
437
-
438
377
  this._adapter.notifyExceed(currentFileList);
439
378
  }
440
379
  }
441
-
442
380
  const fileItemList = currentFileList.map(file => this.buildFileItem(file, uploadTrigger));
443
381
  const newFileList = fileList.slice();
444
-
445
382
  if (typeof index !== 'undefined') {
446
383
  newFileList.splice(index, 0, ...fileItemList);
447
384
  } else {
448
385
  newFileList.push(...fileItemList);
449
386
  }
450
-
451
387
  this._adapter.notifyFileSelect(currentFileList);
452
-
453
388
  this._adapter.notifyChange({
454
389
  fileList: newFileList,
455
390
  currentFile: null
456
391
  });
457
-
458
392
  this._adapter.updateFileList(newFileList, () => {
459
393
  if (uploadTrigger === TRIGGER_AUTO) {
460
394
  this.startUpload(fileItemList);
@@ -462,14 +396,11 @@ class UploadFoundation extends BaseFoundation {
462
396
  });
463
397
  }
464
398
  /* istanbul ignore next */
465
-
466
-
467
399
  manualUpload() {
468
400
  // find the list of files that have not been uploaded
469
401
  const waitToUploadFileList = this.getState('fileList').filter(item => item.status === FILE_STATUS_WAIT_UPLOAD);
470
402
  this.startUpload(waitToUploadFileList);
471
403
  }
472
-
473
404
  startUpload(fileList) {
474
405
  fileList.forEach(file => {
475
406
  if (!file._sizeInvalid) {
@@ -477,27 +408,22 @@ class UploadFoundation extends BaseFoundation {
477
408
  }
478
409
  });
479
410
  }
480
-
481
411
  upload(file) {
482
412
  const {
483
413
  beforeUpload
484
414
  } = this.getProps();
485
-
486
415
  if (typeof beforeUpload === 'undefined') {
487
416
  this.post(file);
488
417
  return;
489
418
  }
490
-
491
419
  if (typeof beforeUpload === 'function') {
492
420
  const {
493
421
  fileList
494
422
  } = this.getStates();
495
-
496
423
  const buResult = this._adapter.notifyBeforeUpload({
497
424
  file,
498
425
  fileList
499
426
  });
500
-
501
427
  switch (true) {
502
428
  // sync validate - boolean
503
429
  case buResult === true:
@@ -505,7 +431,6 @@ class UploadFoundation extends BaseFoundation {
505
431
  this.post(file);
506
432
  break;
507
433
  }
508
-
509
434
  case buResult === false:
510
435
  {
511
436
  const newResult = {
@@ -516,7 +441,6 @@ class UploadFoundation extends BaseFoundation {
516
441
  break;
517
442
  }
518
443
  // async validate
519
-
520
444
  case buResult && isPromise(buResult):
521
445
  {
522
446
  Promise.resolve(buResult).then(resolveData => {
@@ -524,11 +448,9 @@ class UploadFoundation extends BaseFoundation {
524
448
  shouldUpload: true
525
449
  };
526
450
  const typeOfResolveData = Object.prototype.toString.call(resolveData).slice(8, -1);
527
-
528
451
  if (typeOfResolveData === 'Object') {
529
452
  newResult = Object.assign(Object.assign({}, newResult), resolveData);
530
453
  }
531
-
532
454
  this.handleBeforeUploadResultInObject(newResult, file);
533
455
  }, rejectVal => {
534
456
  let newResult = {
@@ -536,29 +458,24 @@ class UploadFoundation extends BaseFoundation {
536
458
  status: strings.FILE_STATUS_VALID_FAIL
537
459
  };
538
460
  const typeOfRejectData = Object.prototype.toString.call(rejectVal).slice(8, -1);
539
-
540
461
  if (typeOfRejectData === 'Object') {
541
462
  newResult = Object.assign(Object.assign({}, newResult), rejectVal);
542
463
  }
543
-
544
464
  this.handleBeforeUploadResultInObject(newResult, file);
545
465
  });
546
466
  break;
547
467
  }
548
468
  // sync validate - object
549
-
550
469
  case typeof buResult === 'object':
551
470
  // inject to fileList
552
471
  this.handleBeforeUploadResultInObject(buResult, file);
553
472
  break;
554
-
555
473
  default:
556
474
  break;
557
475
  }
558
476
  }
559
- } // handle beforeUpload result when it's an object
560
-
561
-
477
+ }
478
+ // handle beforeUpload result when it's an object
562
479
  handleBeforeUploadResultInObject(buResult, file) {
563
480
  const {
564
481
  shouldUpload,
@@ -568,75 +485,60 @@ class UploadFoundation extends BaseFoundation {
568
485
  fileInstance
569
486
  } = buResult;
570
487
  let newFileList = this.getState('fileList').slice();
571
-
572
488
  if (autoRemove) {
573
489
  newFileList = newFileList.filter(item => item.uid !== file.uid);
574
490
  } else {
575
491
  const index = this._getFileIndex(file, newFileList);
576
-
577
492
  if (index < 0) {
578
493
  return;
579
494
  }
580
-
581
495
  status ? newFileList[index].status = status : null;
582
496
  validateMessage ? newFileList[index].validateMessage = validateMessage : null;
583
-
584
497
  if (fileInstance) {
585
498
  fileInstance.uid = file.uid; // reuse recent file uid
586
-
587
499
  newFileList[index].fileInstance = fileInstance;
588
500
  newFileList[index].size = getFileSize(fileInstance.size);
589
501
  newFileList[index].name = fileInstance.name;
502
+ newFileList[index].url = this._createURL(fileInstance);
590
503
  }
591
-
592
504
  newFileList[index].shouldUpload = shouldUpload;
593
505
  }
594
-
595
506
  this._adapter.updateFileList(newFileList);
596
-
597
507
  this._adapter.notifyChange({
598
508
  fileList: newFileList,
599
509
  currentFile: file
600
510
  });
601
-
602
511
  if (shouldUpload) {
603
512
  this.post(file);
604
513
  }
605
514
  }
606
-
607
515
  post(file) {
608
516
  const {
609
517
  fileInstance
610
518
  } = file;
611
519
  const option = this.getProps();
612
-
613
520
  if (typeof XMLHttpRequest === 'undefined') {
614
521
  return;
615
522
  }
616
-
617
523
  const xhr = new XMLHttpRequest();
618
524
  const formData = new FormData();
619
525
  const {
620
526
  action
621
- } = option; // add data
622
-
527
+ } = option;
528
+ // add data
623
529
  let {
624
530
  data
625
531
  } = option;
626
-
627
532
  if (data) {
628
533
  if (typeof data === 'function') {
629
534
  data = data(fileInstance);
630
535
  }
631
-
632
536
  Object.keys(data).forEach(key => {
633
537
  formData.append(key, data[key]);
634
538
  });
635
- } // add file
636
-
637
-
539
+ }
540
+ // add file
638
541
  const fileName = option.name || option.fileName || fileInstance.name;
639
-
640
542
  if (option.customRequest) {
641
543
  return option.customRequest({
642
544
  fileName,
@@ -662,50 +564,40 @@ class UploadFoundation extends BaseFoundation {
662
564
  action: option.action
663
565
  });
664
566
  }
665
-
666
567
  formData.append(fileName, fileInstance);
667
568
  xhr.open('post', action, true);
668
-
669
569
  if (option.withCredentials && 'withCredentials' in xhr) {
670
570
  xhr.withCredentials = true;
671
571
  }
672
-
673
572
  if (xhr.upload) {
674
573
  xhr.upload.onprogress = e => this.handleProgress({
675
574
  e,
676
575
  fileInstance
677
576
  });
678
- } // Callback function after upload is completed
679
-
680
-
577
+ }
578
+ // Callback function after upload is completed
681
579
  xhr.onload = e => this.handleOnLoad({
682
580
  e,
683
581
  xhr,
684
582
  fileInstance
685
583
  });
686
-
687
584
  xhr.onerror = e => this.handleError({
688
585
  e,
689
586
  xhr,
690
587
  fileInstance
691
- }); // add headers
692
-
693
-
588
+ });
589
+ // add headers
694
590
  let headers = option.headers || {};
695
-
696
591
  if (typeof headers === 'function') {
697
592
  headers = headers(fileInstance);
698
593
  }
699
-
700
594
  for (const item in headers) {
701
595
  if (Object.prototype.hasOwnProperty.call(headers, item) && headers[item] !== null) {
702
596
  xhr.setRequestHeader(item, headers[item]);
703
597
  }
704
598
  }
705
-
706
599
  xhr.send(formData);
707
600
  }
708
-
709
601
  handleProgress(_ref2) {
710
602
  let {
711
603
  e,
@@ -716,30 +608,22 @@ class UploadFoundation extends BaseFoundation {
716
608
  } = this.getStates();
717
609
  const newFileList = fileList.slice();
718
610
  let percent = 0;
719
-
720
611
  if (e.total > 0) {
721
612
  percent = Number((e.loaded / e.total * 100 * numbers.PROGRESS_COEFFICIENT).toFixed(0)) || 0;
722
613
  }
723
-
724
614
  const index = this._getFileIndex(fileInstance, newFileList);
725
-
726
615
  if (index < 0) {
727
616
  return;
728
617
  }
729
-
730
618
  newFileList[index].percent = percent;
731
619
  newFileList[index].status = FILE_STATUS_UPLOADING;
732
-
733
620
  this._adapter.notifyProgress(percent, fileInstance, newFileList);
734
-
735
621
  this._adapter.updateFileList(newFileList);
736
-
737
622
  this._adapter.notifyChange({
738
623
  fileList: newFileList,
739
624
  currentFile: newFileList[index]
740
625
  });
741
626
  }
742
-
743
627
  handleOnLoad(_ref3) {
744
628
  let {
745
629
  e,
@@ -749,13 +633,10 @@ class UploadFoundation extends BaseFoundation {
749
633
  const {
750
634
  fileList
751
635
  } = this.getStates();
752
-
753
636
  const index = this._getFileIndex(fileInstance, fileList);
754
-
755
637
  if (index < 0) {
756
638
  return;
757
639
  }
758
-
759
640
  if (xhr.status < 200 || xhr.status >= 300) {
760
641
  this.handleError({
761
642
  e,
@@ -771,7 +652,6 @@ class UploadFoundation extends BaseFoundation {
771
652
  });
772
653
  }
773
654
  }
774
-
775
655
  handleSuccess(_ref4) {
776
656
  let {
777
657
  e,
@@ -784,32 +664,25 @@ class UploadFoundation extends BaseFoundation {
784
664
  fileList
785
665
  } = this.getStates();
786
666
  let body = null;
787
-
788
667
  const index = this._getFileIndex(fileInstance, fileList);
789
-
790
668
  if (index < 0) {
791
669
  return;
792
670
  }
793
-
794
671
  if (isCustomRequest) {
795
672
  // use when pass customRequest
796
673
  body = response;
797
674
  } else {
798
675
  body = this.getBody(xhr);
799
676
  }
800
-
801
677
  const newFileList = fileList.slice();
802
678
  const {
803
679
  afterUpload
804
680
  } = this.getProps();
805
681
  newFileList[index].status = FILE_STATUS_SUCCESS;
806
682
  newFileList[index].percent = 100;
807
-
808
683
  this._adapter.notifyProgress(100, fileInstance, newFileList);
809
-
810
684
  newFileList[index].response = body;
811
685
  e ? newFileList[index].event = e : null;
812
-
813
686
  if (afterUpload && typeof afterUpload === 'function') {
814
687
  const {
815
688
  autoRemove,
@@ -826,30 +699,23 @@ class UploadFoundation extends BaseFoundation {
826
699
  name ? newFileList[index].name = name : null;
827
700
  autoRemove ? newFileList.splice(index, 1) : null;
828
701
  }
829
-
830
702
  this._adapter.notifySuccess(body, fileInstance, newFileList);
831
-
832
703
  this._adapter.notifyChange({
833
704
  fileList: newFileList,
834
705
  currentFile: newFileList[index]
835
706
  });
836
-
837
707
  this._adapter.updateFileList(newFileList);
838
708
  }
839
-
840
709
  _getFileIndex(file, fileList) {
841
710
  return fileList.findIndex(item => item.uid === file.uid);
842
711
  }
843
-
844
712
  handleRemove(file) {
845
713
  const {
846
714
  disabled
847
715
  } = this.getProps();
848
-
849
716
  if (disabled) {
850
717
  return;
851
718
  }
852
-
853
719
  const {
854
720
  fileList
855
721
  } = this.getStates();
@@ -858,28 +724,20 @@ class UploadFoundation extends BaseFoundation {
858
724
  if (res === false) {
859
725
  return;
860
726
  }
861
-
862
727
  const newFileList = fileList.slice();
863
-
864
728
  const index = this._getFileIndex(file, fileList);
865
-
866
729
  if (index < 0) {
867
730
  return;
868
731
  }
869
-
870
732
  newFileList.splice(index, 1);
871
-
872
733
  this._adapter.notifyRemove(file.fileInstance, newFileList, file);
873
-
874
734
  this._adapter.updateFileList(newFileList);
875
-
876
735
  this._adapter.notifyChange({
877
736
  fileList: newFileList,
878
737
  currentFile: file
879
738
  });
880
739
  });
881
740
  }
882
-
883
741
  handleError(_ref5) {
884
742
  let {
885
743
  e,
@@ -889,13 +747,10 @@ class UploadFoundation extends BaseFoundation {
889
747
  const {
890
748
  fileList
891
749
  } = this.getStates();
892
-
893
750
  const index = this._getFileIndex(fileInstance, fileList);
894
-
895
751
  if (index < 0) {
896
752
  return;
897
753
  }
898
-
899
754
  const {
900
755
  action
901
756
  } = this.getProps();
@@ -908,17 +763,13 @@ class UploadFoundation extends BaseFoundation {
908
763
  newFileList[index].status = FILE_STATUS_UPLOAD_FAIL;
909
764
  newFileList[index].response = error;
910
765
  newFileList[index].event = e;
911
-
912
766
  this._adapter.notifyError(error, fileInstance, newFileList, xhr);
913
-
914
767
  this._adapter.updateFileList(newFileList);
915
-
916
768
  this._adapter.notifyChange({
917
769
  currentFile: newFileList[index],
918
770
  fileList: newFileList
919
771
  });
920
772
  }
921
-
922
773
  handleClear() {
923
774
  const {
924
775
  disabled
@@ -926,27 +777,22 @@ class UploadFoundation extends BaseFoundation {
926
777
  const {
927
778
  fileList
928
779
  } = this.getStates();
929
-
930
780
  if (disabled) {
931
781
  return;
932
782
  }
933
-
934
783
  Promise.resolve(this._adapter.notifyBeforeClear(fileList)).then(res => {
935
784
  if (res === false) {
936
785
  return;
937
786
  }
938
-
939
787
  this._adapter.updateFileList([]);
940
-
941
788
  this._adapter.notifyClear();
942
-
943
789
  this._adapter.notifyChange({
944
790
  fileList: []
945
791
  });
946
- }).catch(error => {// if user pass reject promise, no need to do anything
792
+ }).catch(error => {
793
+ // if user pass reject promise, no need to do anything
947
794
  });
948
795
  }
949
-
950
796
  _createURL(fileInstance) {
951
797
  // https://stackoverflow.com/questions/31742072/filereader-vs-window-url-createobjecturl
952
798
  const url = URL.createObjectURL(fileInstance);
@@ -955,14 +801,11 @@ class UploadFoundation extends BaseFoundation {
955
801
  } = this.getStates();
956
802
  const newUrls = localUrls.slice();
957
803
  newUrls.push(url);
958
-
959
804
  this._adapter.updateLocalUrls(newUrls);
960
-
961
805
  return url;
962
- } // 释放预览文件所占用的内存
806
+ }
807
+ // 释放预览文件所占用的内存
963
808
  // Release memory used by preview files
964
-
965
-
966
809
  releaseMemory() {
967
810
  const {
968
811
  localUrls
@@ -971,7 +814,6 @@ class UploadFoundation extends BaseFoundation {
971
814
  this._releaseBlob(url);
972
815
  });
973
816
  }
974
-
975
817
  _releaseBlob(url) {
976
818
  try {
977
819
  URL.revokeObjectURL(url);
@@ -979,17 +821,13 @@ class UploadFoundation extends BaseFoundation {
979
821
  console.log(error);
980
822
  }
981
823
  }
982
-
983
824
  isImage(file) {
984
825
  return /(webp|svg|png|gif|jpg|jpeg|bmp|dpg)$/i.test(file.type);
985
826
  }
986
827
  /* istanbul ignore next */
987
-
988
-
989
828
  isMultiple() {
990
829
  return Boolean(this.getProp('multiple'));
991
830
  }
992
-
993
831
  handleDragEnter(e) {
994
832
  e.preventDefault();
995
833
  e.stopPropagation();
@@ -997,25 +835,20 @@ class UploadFoundation extends BaseFoundation {
997
835
  const {
998
836
  disabled
999
837
  } = this.getProps();
1000
-
1001
838
  if (!disabled) {
1002
839
  this._adapter.updateDragAreaStatus(DRAG_AREA_LEGAL);
1003
840
  }
1004
841
  }
1005
-
1006
842
  handleDirectoryDrop(e) {
1007
843
  return __awaiter(this, void 0, void 0, function* () {
1008
844
  const fileList = this.getState('fileList').slice();
1009
845
  const items = [].slice.call(e.dataTransfer.items);
1010
846
  const files = yield mapFileTree(items);
1011
847
  this.handleChange(files);
1012
-
1013
848
  this._adapter.updateDragAreaStatus(DRAG_AREA_DEFAULT);
1014
-
1015
849
  this._adapter.notifyDrop(e, files, fileList);
1016
850
  });
1017
851
  }
1018
-
1019
852
  handleDrop(e) {
1020
853
  // Block file opening in browser
1021
854
  e.preventDefault();
@@ -1025,44 +858,37 @@ class UploadFoundation extends BaseFoundation {
1025
858
  directory
1026
859
  } = this.getProps();
1027
860
  const fileList = this.getState('fileList').slice();
1028
-
1029
861
  if (!disabled) {
1030
862
  if (directory) {
1031
863
  this.handleDirectoryDrop(e);
1032
864
  return;
1033
865
  }
1034
-
1035
866
  const files = Array.from(e.dataTransfer.files);
1036
867
  this.handleChange(files);
1037
-
1038
868
  this._adapter.updateDragAreaStatus(DRAG_AREA_DEFAULT);
1039
-
1040
869
  this._adapter.notifyDrop(e, files, fileList);
1041
870
  }
1042
871
  }
1043
-
1044
872
  handleDragOver(e) {
1045
873
  e.preventDefault();
1046
874
  e.stopPropagation();
1047
875
  }
1048
-
1049
876
  handleDragLeave(e) {
1050
877
  e.preventDefault();
1051
- e.stopPropagation(); // 防止拖拽进入子元素时触发的dragLeave也被处理
878
+ e.stopPropagation();
879
+ // 防止拖拽进入子元素时触发的dragLeave也被处理
1052
880
  // Prevent dragLeave triggered when dragging into a child element is also handled
1053
881
  // https://stackoverflow.com/questions/7110353/html5-dragleave-fired-when-hovering-a-child-element
1054
-
1055
882
  if (this._dragEnterTarget === e.target) {
1056
883
  this._adapter.updateDragAreaStatus(DRAG_AREA_DEFAULT);
1057
884
  }
1058
- } // 拖拽上传时,需要对文件的格式进行校验
885
+ }
886
+ // 拖拽上传时,需要对文件的格式进行校验
1059
887
  // When dragging and uploading, you need to verify the file format
1060
-
1061
-
1062
888
  checkFileFormat(accept, file) {
1063
889
  const acceptTypes = accept.split(',').map(type => type.trim()).filter(type => type);
1064
- const mimeType = file.type || ''; // Get the large class to which MIMEtype belongs, eg: image/jpeg = > image, application/= > application
1065
-
890
+ const mimeType = file.type || '';
891
+ // Get the large class to which MIMEtype belongs, eg: image/jpeg = > image, application/= > application
1066
892
  const baseMimeType = mimeType.replace(/\/.*$/, '');
1067
893
  return acceptTypes.some(type => {
1068
894
  // When accepted as a suffix filename such as [.jpeg]
@@ -1070,39 +896,80 @@ class UploadFoundation extends BaseFoundation {
1070
896
  const fileName = file.name || '';
1071
897
  const acceptExtension = type.split('.').pop().toLowerCase();
1072
898
  return endsWith(fileName.toLowerCase(), acceptExtension);
1073
- } // When accepted as a general class such as [image/*] or [video/*]
1074
-
1075
-
899
+ }
900
+ // When accepted as a general class such as [image/*] or [video/*]
1076
901
  if (/\/\*$/.test(type)) {
1077
902
  const acceptBaseMimeType = type.replace(/\/.*$/, '');
1078
903
  return baseMimeType === acceptBaseMimeType;
1079
- } // When accepted as a full MIME types string
1080
-
1081
-
904
+ }
905
+ // When accepted as a full MIME types string
1082
906
  if (/^[^\/]+\/[^\/]+$/.test(type)) {
1083
907
  return mimeType === type;
1084
908
  }
1085
-
1086
909
  return false;
1087
910
  });
1088
911
  }
1089
-
1090
912
  retry(fileItem) {
1091
913
  const {
1092
914
  onRetry
1093
915
  } = this.getProps();
1094
-
1095
916
  if (onRetry && typeof onRetry === 'function') {
1096
917
  onRetry(fileItem);
1097
918
  }
1098
-
1099
919
  this.post(fileItem);
1100
920
  }
1101
-
1102
921
  handlePreviewClick(fileItem) {
1103
922
  this._adapter.notifyPreviewClick(fileItem);
1104
923
  }
1105
-
924
+ readFileFromClipboard(clipboardItems) {
925
+ for (const clipboardItem of clipboardItems) {
926
+ for (const type of clipboardItem.types) {
927
+ // types maybe: text/plain, image/png, text/html
928
+ if (type.startsWith('image')) {
929
+ clipboardItem.getType(type).then(blob => {
930
+ return blob.arrayBuffer();
931
+ }).then(buffer => {
932
+ const format = type.split('/')[1];
933
+ const file = new File([buffer], `upload.${format}`, {
934
+ type
935
+ });
936
+ this.handleChange([file]);
937
+ });
938
+ }
939
+ }
940
+ }
941
+ }
942
+ handlePasting(e) {
943
+ const isMac = this._adapter.isMac();
944
+ const isCombineKeydown = isMac ? e.metaKey : e.ctrlKey;
945
+ if (isCombineKeydown && e.code === 'KeyV' && e.target === document.body) {
946
+ // https://github.com/microsoft/TypeScript/issues/33923
947
+ const permissionName = "clipboard-read";
948
+ // The main thread should not be blocked by clipboard, so callback writing is required here. No await here
949
+ navigator.permissions.query({
950
+ name: permissionName
951
+ }).then(result => {
952
+ console.log(result);
953
+ if (result.state === 'granted' || result.state === 'prompt') {
954
+ // user has authorized or will authorize
955
+ navigator.clipboard.read().then(clipboardItems => {
956
+ // Process the data read from the pasteboard
957
+ // Check the returned data type to determine if it is image data, and process accordingly
958
+ this.readFileFromClipboard(clipboardItems);
959
+ });
960
+ } else {
961
+ this._adapter.notifyPastingError(result);
962
+ }
963
+ }).catch(error => {
964
+ this._adapter.notifyPastingError(error);
965
+ });
966
+ }
967
+ }
968
+ bindPastingHandler() {
969
+ this._adapter.registerPastingHandler(event => this.handlePasting(event));
970
+ }
971
+ unbindPastingHandler() {
972
+ this._adapter.unRegisterPastingHandler();
973
+ }
1106
974
  }
1107
-
1108
975
  export default UploadFoundation;