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

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