@douyinfe/semi-foundation 2.1.1 → 2.1.5

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 (757) hide show
  1. package/anchor/foundation.ts +1 -1
  2. package/autoComplete/autoComplete.scss +3 -2
  3. package/autoComplete/foundation.ts +1 -1
  4. package/base/foundation.ts +1 -1
  5. package/cascader/foundation.ts +1 -1
  6. package/cascader/util.ts +1 -1
  7. package/checkbox/checkbox.scss +25 -1
  8. package/checkbox/checkboxFoundation.ts +15 -4
  9. package/checkbox/variables.scss +6 -1
  10. package/datePicker/_utils/getFullDateOffset.ts +1 -1
  11. package/datePicker/foundation.ts +1 -1
  12. package/datePicker/monthsGridFoundation.ts +1 -1
  13. package/form/foundation.ts +1 -1
  14. package/form/utils.ts +1 -1
  15. package/getBabelConfig.js +36 -0
  16. package/gulpfile.js +27 -9
  17. package/input/foundation.ts +1 -1
  18. package/input/input.scss +2 -0
  19. package/input/textareaFoundation.ts +1 -1
  20. package/input/util/getSizingData.ts +1 -1
  21. package/input/variables.scss +1 -1
  22. package/inputNumber/foundation.ts +1 -1
  23. package/lib/cjs/_portal/portal.css +15 -0
  24. package/lib/cjs/_portal/portal.scss +17 -0
  25. package/lib/cjs/anchor/anchor.css +118 -0
  26. package/lib/cjs/anchor/anchor.scss +120 -0
  27. package/lib/cjs/anchor/constants.d.ts +11 -0
  28. package/lib/cjs/anchor/constants.js +24 -0
  29. package/lib/cjs/anchor/foundation.d.ts +41 -0
  30. package/lib/cjs/anchor/foundation.js +270 -0
  31. package/lib/cjs/anchor/linkFoundation.d.ts +14 -0
  32. package/lib/cjs/anchor/linkFoundation.js +50 -0
  33. package/lib/cjs/anchor/rtl.scss +18 -0
  34. package/lib/cjs/anchor/variables.scss +27 -0
  35. package/lib/cjs/autoComplete/autoComplete.css +103 -0
  36. package/lib/cjs/autoComplete/autoComplete.scss +38 -0
  37. package/lib/cjs/autoComplete/constants.d.ts +10 -0
  38. package/lib/cjs/autoComplete/constants.js +25 -0
  39. package/lib/cjs/autoComplete/foundation.d.ts +62 -0
  40. package/lib/cjs/autoComplete/foundation.js +465 -0
  41. package/lib/cjs/autoComplete/rtl.scss +8 -0
  42. package/lib/cjs/autoComplete/variables.scss +3 -0
  43. package/lib/cjs/avatar/avatar.css +426 -0
  44. package/lib/cjs/avatar/avatar.scss +205 -0
  45. package/lib/cjs/avatar/constants.d.ts +10 -0
  46. package/lib/cjs/avatar/constants.js +24 -0
  47. package/lib/cjs/avatar/foundation.d.ts +14 -0
  48. package/lib/cjs/avatar/foundation.js +49 -0
  49. package/lib/cjs/avatar/mixin.css +3 -0
  50. package/lib/cjs/avatar/mixin.scss +4 -0
  51. package/lib/cjs/avatar/rtl.scss +69 -0
  52. package/lib/cjs/avatar/variables.scss +45 -0
  53. package/lib/cjs/backtop/backtop.css +20 -0
  54. package/lib/cjs/backtop/backtop.scss +17 -0
  55. package/lib/cjs/backtop/constants.d.ts +5 -0
  56. package/lib/cjs/backtop/constants.js +18 -0
  57. package/lib/cjs/backtop/foundation.d.ts +21 -0
  58. package/lib/cjs/backtop/foundation.js +114 -0
  59. package/lib/cjs/backtop/rtl.scss +10 -0
  60. package/lib/cjs/backtop/variables.scss +3 -0
  61. package/lib/cjs/badge/badge.css +146 -0
  62. package/lib/cjs/badge/badge.scss +168 -0
  63. package/lib/cjs/badge/constants.d.ts +10 -0
  64. package/lib/cjs/badge/constants.js +24 -0
  65. package/lib/cjs/badge/rtl.scss +8 -0
  66. package/lib/cjs/badge/variables.scss +43 -0
  67. package/lib/cjs/banner/banner.css +92 -0
  68. package/lib/cjs/banner/banner.scss +109 -0
  69. package/lib/cjs/banner/constants.d.ts +7 -0
  70. package/lib/cjs/banner/constants.js +20 -0
  71. package/lib/cjs/banner/foundation.d.ts +9 -0
  72. package/lib/cjs/banner/foundation.js +30 -0
  73. package/lib/cjs/banner/rtl.scss +20 -0
  74. package/lib/cjs/banner/variables.scss +27 -0
  75. package/lib/cjs/base/base.css +24 -0
  76. package/lib/cjs/base/base.scss +33 -0
  77. package/lib/cjs/base/constants.d.ts +3 -0
  78. package/lib/cjs/base/constants.js +22 -0
  79. package/lib/cjs/base/env.d.ts +1 -0
  80. package/lib/cjs/base/env.js +11 -0
  81. package/lib/cjs/base/foundation.d.ts +59 -0
  82. package/lib/cjs/base/foundation.js +144 -0
  83. package/lib/cjs/base/index.d.ts +5 -0
  84. package/lib/cjs/base/index.js +18 -0
  85. package/lib/cjs/breadcrumb/breadcrumb.css +109 -0
  86. package/lib/cjs/breadcrumb/breadcrumb.scss +120 -0
  87. package/lib/cjs/breadcrumb/constants.d.ts +7 -0
  88. package/lib/cjs/breadcrumb/constants.js +20 -0
  89. package/lib/cjs/breadcrumb/foundation.d.ts +24 -0
  90. package/lib/cjs/breadcrumb/foundation.js +52 -0
  91. package/lib/cjs/breadcrumb/itemFoundation.d.ts +22 -0
  92. package/lib/cjs/breadcrumb/itemFoundation.js +31 -0
  93. package/lib/cjs/breadcrumb/rtl.scss +33 -0
  94. package/lib/cjs/breadcrumb/variables.scss +19 -0
  95. package/lib/cjs/button/button.css +309 -0
  96. package/lib/cjs/button/button.scss +219 -0
  97. package/lib/cjs/button/constants.d.ts +6 -0
  98. package/lib/cjs/button/constants.js +28 -0
  99. package/lib/cjs/button/iconButton.css +160 -0
  100. package/lib/cjs/button/iconButton.scss +70 -0
  101. package/lib/cjs/button/rtl.scss +128 -0
  102. package/lib/cjs/button/splitButtonGroup.scss +32 -0
  103. package/lib/cjs/button/variables.scss +128 -0
  104. package/lib/cjs/calendar/calendar.css +592 -0
  105. package/lib/cjs/calendar/calendar.scss +520 -0
  106. package/lib/cjs/calendar/constants.d.ts +7 -0
  107. package/lib/cjs/calendar/constants.js +20 -0
  108. package/lib/cjs/calendar/eventUtil.d.ts +93 -0
  109. package/lib/cjs/calendar/eventUtil.js +431 -0
  110. package/lib/cjs/calendar/foundation.d.ts +99 -0
  111. package/lib/cjs/calendar/foundation.js +483 -0
  112. package/lib/cjs/calendar/rtl.scss +134 -0
  113. package/lib/cjs/calendar/variables.scss +105 -0
  114. package/lib/cjs/card/card.css +148 -0
  115. package/lib/cjs/card/card.scss +146 -0
  116. package/lib/cjs/card/constants.d.ts +8 -0
  117. package/lib/cjs/card/constants.js +21 -0
  118. package/lib/cjs/card/rtl.scss +43 -0
  119. package/lib/cjs/card/variables.scss +30 -0
  120. package/lib/cjs/cascader/cascader.css +438 -0
  121. package/lib/cjs/cascader/cascader.scss +436 -0
  122. package/lib/cjs/cascader/constants.d.ts +14 -0
  123. package/lib/cjs/cascader/constants.js +28 -0
  124. package/lib/cjs/cascader/foundation.d.ts +221 -0
  125. package/lib/cjs/cascader/foundation.js +1061 -0
  126. package/lib/cjs/cascader/rtl.scss +114 -0
  127. package/lib/cjs/cascader/util.d.ts +4 -0
  128. package/lib/cjs/cascader/util.js +114 -0
  129. package/lib/cjs/cascader/variables.scss +117 -0
  130. package/lib/cjs/checkbox/checkbox.css +330 -0
  131. package/lib/cjs/checkbox/checkbox.scss +387 -0
  132. package/lib/cjs/checkbox/checkboxFoundation.d.ts +56 -0
  133. package/lib/cjs/checkbox/checkboxFoundation.js +112 -0
  134. package/lib/cjs/checkbox/checkboxGroupFoundation.d.ts +17 -0
  135. package/lib/cjs/checkbox/checkboxGroupFoundation.js +103 -0
  136. package/lib/cjs/checkbox/constants.d.ts +27 -0
  137. package/lib/cjs/checkbox/constants.js +42 -0
  138. package/lib/cjs/checkbox/mixin.css +3 -0
  139. package/lib/cjs/checkbox/mixin.scss +0 -0
  140. package/lib/cjs/checkbox/rtl.scss +54 -0
  141. package/lib/cjs/checkbox/variables.scss +67 -0
  142. package/lib/cjs/collapse/collapse.css +78 -0
  143. package/lib/cjs/collapse/collapse.scss +77 -0
  144. package/lib/cjs/collapse/constants.d.ts +7 -0
  145. package/lib/cjs/collapse/constants.js +20 -0
  146. package/lib/cjs/collapse/foundation.d.ts +28 -0
  147. package/lib/cjs/collapse/foundation.js +77 -0
  148. package/lib/cjs/collapse/rtl.scss +26 -0
  149. package/lib/cjs/collapse/variables.scss +22 -0
  150. package/lib/cjs/collapsible/constants.d.ts +4 -0
  151. package/lib/cjs/collapsible/constants.js +16 -0
  152. package/lib/cjs/datePicker/_utils/formatter.d.ts +14 -0
  153. package/lib/cjs/datePicker/_utils/formatter.js +72 -0
  154. package/lib/cjs/datePicker/_utils/getDayOfWeek.d.ts +11 -0
  155. package/lib/cjs/datePicker/_utils/getDayOfWeek.js +31 -0
  156. package/lib/cjs/datePicker/_utils/getDefaultFormatToken.d.ts +9 -0
  157. package/lib/cjs/datePicker/_utils/getDefaultFormatToken.js +29 -0
  158. package/lib/cjs/datePicker/_utils/getFullDateOffset.d.ts +7 -0
  159. package/lib/cjs/datePicker/_utils/getFullDateOffset.js +35 -0
  160. package/lib/cjs/datePicker/_utils/getMonthTable.d.ts +12 -0
  161. package/lib/cjs/datePicker/_utils/getMonthTable.js +97 -0
  162. package/lib/cjs/datePicker/_utils/getMonthsInYear.d.ts +2 -0
  163. package/lib/cjs/datePicker/_utils/getMonthsInYear.js +26 -0
  164. package/lib/cjs/datePicker/_utils/getYears.d.ts +2 -0
  165. package/lib/cjs/datePicker/_utils/getYears.js +24 -0
  166. package/lib/cjs/datePicker/_utils/index.d.ts +13 -0
  167. package/lib/cjs/datePicker/_utils/index.js +117 -0
  168. package/lib/cjs/datePicker/_utils/isAfter.d.ts +1 -0
  169. package/lib/cjs/datePicker/_utils/isAfter.js +21 -0
  170. package/lib/cjs/datePicker/_utils/isBefore.d.ts +1 -0
  171. package/lib/cjs/datePicker/_utils/isBefore.js +21 -0
  172. package/lib/cjs/datePicker/_utils/isBetween.d.ts +11 -0
  173. package/lib/cjs/datePicker/_utils/isBetween.js +36 -0
  174. package/lib/cjs/datePicker/_utils/isDate.d.ts +1 -0
  175. package/lib/cjs/datePicker/_utils/isDate.js +13 -0
  176. package/lib/cjs/datePicker/_utils/isSameDay.d.ts +1 -0
  177. package/lib/cjs/datePicker/_utils/isSameDay.js +21 -0
  178. package/lib/cjs/datePicker/_utils/isTimestamp.d.ts +1 -0
  179. package/lib/cjs/datePicker/_utils/isTimestamp.js +19 -0
  180. package/lib/cjs/datePicker/_utils/isUnixTimestamp.d.ts +1 -0
  181. package/lib/cjs/datePicker/_utils/isUnixTimestamp.js +19 -0
  182. package/lib/cjs/datePicker/_utils/isValidDate.d.ts +1 -0
  183. package/lib/cjs/datePicker/_utils/isValidDate.js +13 -0
  184. package/lib/cjs/datePicker/_utils/isWithinInterval.d.ts +4 -0
  185. package/lib/cjs/datePicker/_utils/isWithinInterval.js +29 -0
  186. package/lib/cjs/datePicker/_utils/parser.d.ts +4 -0
  187. package/lib/cjs/datePicker/_utils/parser.js +46 -0
  188. package/lib/cjs/datePicker/constants.d.ts +50 -0
  189. package/lib/cjs/datePicker/constants.js +75 -0
  190. package/lib/cjs/datePicker/datePicker.css +810 -0
  191. package/lib/cjs/datePicker/datePicker.scss +1034 -0
  192. package/lib/cjs/datePicker/foundation.d.ts +409 -0
  193. package/lib/cjs/datePicker/foundation.js +1167 -0
  194. package/lib/cjs/datePicker/inputFoundation.d.ts +59 -0
  195. package/lib/cjs/datePicker/inputFoundation.js +125 -0
  196. package/lib/cjs/datePicker/monthFoundation.d.ts +73 -0
  197. package/lib/cjs/datePicker/monthFoundation.js +96 -0
  198. package/lib/cjs/datePicker/monthsGridFoundation.d.ts +218 -0
  199. package/lib/cjs/datePicker/monthsGridFoundation.js +954 -0
  200. package/lib/cjs/datePicker/rtl.scss +171 -0
  201. package/lib/cjs/datePicker/variables.scss +169 -0
  202. package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +56 -0
  203. package/lib/cjs/datePicker/yearAndMonthFoundation.js +52 -0
  204. package/lib/cjs/descriptions/constants.d.ts +9 -0
  205. package/lib/cjs/descriptions/constants.js +23 -0
  206. package/lib/cjs/descriptions/descriptions.css +191 -0
  207. package/lib/cjs/descriptions/descriptions.scss +150 -0
  208. package/lib/cjs/descriptions/rtl.scss +91 -0
  209. package/lib/cjs/descriptions/variables.scss +15 -0
  210. package/lib/cjs/dropdown/constants.d.ts +16 -0
  211. package/lib/cjs/dropdown/constants.js +32 -0
  212. package/lib/cjs/dropdown/dropdown.css +123 -0
  213. package/lib/cjs/dropdown/dropdown.scss +106 -0
  214. package/lib/cjs/dropdown/foundation.d.ts +8 -0
  215. package/lib/cjs/dropdown/foundation.js +24 -0
  216. package/lib/cjs/dropdown/rtl.scss +27 -0
  217. package/lib/cjs/dropdown/variables.scss +38 -0
  218. package/lib/cjs/empty/constants.d.ts +7 -0
  219. package/lib/cjs/empty/constants.js +20 -0
  220. package/lib/cjs/empty/empty.css +50 -0
  221. package/lib/cjs/empty/empty.scss +54 -0
  222. package/lib/cjs/empty/rtl.scss +15 -0
  223. package/lib/cjs/empty/variables.scss +8 -0
  224. package/lib/cjs/form/constants.d.ts +11 -0
  225. package/lib/cjs/form/constants.js +25 -0
  226. package/lib/cjs/form/form.css +250 -0
  227. package/lib/cjs/form/form.scss +273 -0
  228. package/lib/cjs/form/foundation.d.ts +86 -0
  229. package/lib/cjs/form/foundation.js +845 -0
  230. package/lib/cjs/form/interface.d.ts +121 -0
  231. package/lib/cjs/form/interface.js +7 -0
  232. package/lib/cjs/form/rtl.scss +89 -0
  233. package/lib/cjs/form/utils.d.ts +52 -0
  234. package/lib/cjs/form/utils.js +242 -0
  235. package/lib/cjs/form/variables.scss +44 -0
  236. package/lib/cjs/grid/constants.d.ts +4 -0
  237. package/lib/cjs/grid/constants.js +16 -0
  238. package/lib/cjs/grid/grid.css +6295 -0
  239. package/lib/cjs/grid/grid.scss +121 -0
  240. package/lib/cjs/grid/mixin.css +3 -0
  241. package/lib/cjs/grid/mixin.scss +115 -0
  242. package/lib/cjs/grid/rtl.scss +9 -0
  243. package/lib/cjs/grid/variables.scss +35 -0
  244. package/lib/cjs/icons/constants.d.ts +9 -0
  245. package/lib/cjs/icons/constants.js +24 -0
  246. package/lib/cjs/input/constants.d.ts +12 -0
  247. package/lib/cjs/input/constants.js +26 -0
  248. package/lib/cjs/input/foundation.d.ts +79 -0
  249. package/lib/cjs/input/foundation.js +379 -0
  250. package/lib/cjs/input/input.css +568 -0
  251. package/lib/cjs/input/input.scss +630 -0
  252. package/lib/cjs/input/rtl.scss +100 -0
  253. package/lib/cjs/input/textarea.css +222 -0
  254. package/lib/cjs/input/textarea.scss +188 -0
  255. package/lib/cjs/input/textareaFoundation.d.ts +63 -0
  256. package/lib/cjs/input/textareaFoundation.js +299 -0
  257. package/lib/cjs/input/util/calculateNodeHeight.d.ts +1 -0
  258. package/lib/cjs/input/util/calculateNodeHeight.js +101 -0
  259. package/lib/cjs/input/util/getSizingData.d.ts +6 -0
  260. package/lib/cjs/input/util/getSizingData.js +47 -0
  261. package/lib/cjs/input/variables.scss +109 -0
  262. package/lib/cjs/inputNumber/constants.d.ts +17 -0
  263. package/lib/cjs/inputNumber/constants.js +27 -0
  264. package/lib/cjs/inputNumber/foundation.d.ts +107 -0
  265. package/lib/cjs/inputNumber/foundation.js +692 -0
  266. package/lib/cjs/inputNumber/inputNumber.css +99 -0
  267. package/lib/cjs/inputNumber/inputNumber.scss +108 -0
  268. package/lib/cjs/inputNumber/rtl.scss +30 -0
  269. package/lib/cjs/inputNumber/variables.scss +23 -0
  270. package/lib/cjs/keyframes/rotate.css +11 -0
  271. package/lib/cjs/keyframes/rotate.scss +8 -0
  272. package/lib/cjs/layout/constants.d.ts +7 -0
  273. package/lib/cjs/layout/constants.js +20 -0
  274. package/lib/cjs/layout/layout.css +40 -0
  275. package/lib/cjs/layout/layout.scss +49 -0
  276. package/lib/cjs/layout/rtl.scss +8 -0
  277. package/lib/cjs/list/constants.d.ts +9 -0
  278. package/lib/cjs/list/constants.js +22 -0
  279. package/lib/cjs/list/list.css +121 -0
  280. package/lib/cjs/list/list.scss +125 -0
  281. package/lib/cjs/list/rtl.scss +39 -0
  282. package/lib/cjs/list/variables.scss +17 -0
  283. package/lib/cjs/modal/constants.d.ts +10 -0
  284. package/lib/cjs/modal/constants.js +23 -0
  285. package/lib/cjs/modal/modal.css +233 -0
  286. package/lib/cjs/modal/modal.scss +267 -0
  287. package/lib/cjs/modal/modalContentFoundation.d.ts +33 -0
  288. package/lib/cjs/modal/modalContentFoundation.js +76 -0
  289. package/lib/cjs/modal/modalFoundation.d.ts +68 -0
  290. package/lib/cjs/modal/modalFoundation.js +52 -0
  291. package/lib/cjs/modal/rtl.scss +48 -0
  292. package/lib/cjs/modal/variables.scss +69 -0
  293. package/lib/cjs/navigation/NavItem.d.ts +10 -0
  294. package/lib/cjs/navigation/NavItem.js +74 -0
  295. package/lib/cjs/navigation/constants.d.ts +21 -0
  296. package/lib/cjs/navigation/constants.js +38 -0
  297. package/lib/cjs/navigation/foundation.d.ts +86 -0
  298. package/lib/cjs/navigation/foundation.js +313 -0
  299. package/lib/cjs/navigation/itemFoundation.d.ts +45 -0
  300. package/lib/cjs/navigation/itemFoundation.js +84 -0
  301. package/lib/cjs/navigation/mixin.css +3 -0
  302. package/lib/cjs/navigation/mixin.scss +98 -0
  303. package/lib/cjs/navigation/navigation.css +758 -0
  304. package/lib/cjs/navigation/navigation.scss +683 -0
  305. package/lib/cjs/navigation/rtl.scss +132 -0
  306. package/lib/cjs/navigation/subNavFoundation.d.ts +39 -0
  307. package/lib/cjs/navigation/subNavFoundation.js +147 -0
  308. package/lib/cjs/navigation/variables.scss +132 -0
  309. package/lib/cjs/notification/constants.d.ts +14 -0
  310. package/lib/cjs/notification/constants.js +29 -0
  311. package/lib/cjs/notification/notification.css +154 -0
  312. package/lib/cjs/notification/notification.scss +168 -0
  313. package/lib/cjs/notification/notificationFoundation.d.ts +48 -0
  314. package/lib/cjs/notification/notificationFoundation.js +74 -0
  315. package/lib/cjs/notification/notificationListFoundation.d.ts +28 -0
  316. package/lib/cjs/notification/notificationListFoundation.js +61 -0
  317. package/lib/cjs/notification/rtl.scss +23 -0
  318. package/lib/cjs/notification/variables.scss +43 -0
  319. package/lib/cjs/overflowList/constants.d.ts +23 -0
  320. package/lib/cjs/overflowList/constants.js +44 -0
  321. package/lib/cjs/overflowList/foundation.d.ts +14 -0
  322. package/lib/cjs/overflowList/foundation.js +143 -0
  323. package/lib/cjs/overflowList/overflowList.css +23 -0
  324. package/lib/cjs/overflowList/overflowList.scss +20 -0
  325. package/lib/cjs/overflowList/rtl.scss +8 -0
  326. package/lib/cjs/pagination/constants.d.ts +12 -0
  327. package/lib/cjs/pagination/constants.js +26 -0
  328. package/lib/cjs/pagination/foundation.d.ts +52 -0
  329. package/lib/cjs/pagination/foundation.js +385 -0
  330. package/lib/cjs/pagination/pagination.css +155 -0
  331. package/lib/cjs/pagination/pagination.scss +158 -0
  332. package/lib/cjs/pagination/rtl.scss +18 -0
  333. package/lib/cjs/pagination/variables.scss +51 -0
  334. package/lib/cjs/popconfirm/constants.d.ts +13 -0
  335. package/lib/cjs/popconfirm/constants.js +27 -0
  336. package/lib/cjs/popconfirm/popconfirm.css +117 -0
  337. package/lib/cjs/popconfirm/popconfirm.scss +105 -0
  338. package/lib/cjs/popconfirm/popconfirmFoundation.d.ts +16 -0
  339. package/lib/cjs/popconfirm/popconfirmFoundation.js +47 -0
  340. package/lib/cjs/popconfirm/rtl.scss +60 -0
  341. package/lib/cjs/popconfirm/variables.scss +36 -0
  342. package/lib/cjs/popover/constants.d.ts +25 -0
  343. package/lib/cjs/popover/constants.js +45 -0
  344. package/lib/cjs/popover/popover.css +160 -0
  345. package/lib/cjs/popover/popover.scss +54 -0
  346. package/lib/cjs/popover/rtl.scss +7 -0
  347. package/lib/cjs/popover/variables.scss +28 -0
  348. package/lib/cjs/progress/constants.d.ts +14 -0
  349. package/lib/cjs/progress/constants.js +28 -0
  350. package/lib/cjs/progress/progress.css +106 -0
  351. package/lib/cjs/progress/progress.scss +105 -0
  352. package/lib/cjs/progress/rtl.scss +29 -0
  353. package/lib/cjs/progress/variables.scss +25 -0
  354. package/lib/cjs/radio/constants.d.ts +29 -0
  355. package/lib/cjs/radio/constants.js +44 -0
  356. package/lib/cjs/radio/mixin.css +3 -0
  357. package/lib/cjs/radio/mixin.scss +0 -0
  358. package/lib/cjs/radio/radio.css +377 -0
  359. package/lib/cjs/radio/radio.scss +422 -0
  360. package/lib/cjs/radio/radioFoundation.d.ts +7 -0
  361. package/lib/cjs/radio/radioFoundation.js +22 -0
  362. package/lib/cjs/radio/radioGroupFoundation.d.ts +16 -0
  363. package/lib/cjs/radio/radioGroupFoundation.js +91 -0
  364. package/lib/cjs/radio/radioInnerFoundation.d.ts +22 -0
  365. package/lib/cjs/radio/radioInnerFoundation.js +74 -0
  366. package/lib/cjs/radio/rtl.scss +78 -0
  367. package/lib/cjs/radio/variables.scss +101 -0
  368. package/lib/cjs/rating/constants.d.ts +7 -0
  369. package/lib/cjs/rating/constants.js +20 -0
  370. package/lib/cjs/rating/foundation.d.ts +28 -0
  371. package/lib/cjs/rating/foundation.js +202 -0
  372. package/lib/cjs/rating/rating.css +84 -0
  373. package/lib/cjs/rating/rating.scss +91 -0
  374. package/lib/cjs/rating/rtl.scss +21 -0
  375. package/lib/cjs/rating/variables.scss +14 -0
  376. package/lib/cjs/scrollList/constants.d.ts +12 -0
  377. package/lib/cjs/scrollList/constants.js +26 -0
  378. package/lib/cjs/scrollList/foundation.d.ts +3 -0
  379. package/lib/cjs/scrollList/foundation.js +17 -0
  380. package/lib/cjs/scrollList/itemFoundation.d.ts +74 -0
  381. package/lib/cjs/scrollList/itemFoundation.js +320 -0
  382. package/lib/cjs/scrollList/rtl.scss +47 -0
  383. package/lib/cjs/scrollList/scrollList.css +181 -0
  384. package/lib/cjs/scrollList/scrollList.scss +182 -0
  385. package/lib/cjs/scrollList/scrollTo.d.ts +3 -0
  386. package/lib/cjs/scrollList/scrollTo.js +35 -0
  387. package/lib/cjs/scrollList/variables.scss +48 -0
  388. package/lib/cjs/select/constants.d.ts +16 -0
  389. package/lib/cjs/select/constants.js +33 -0
  390. package/lib/cjs/select/foundation.d.ts +107 -0
  391. package/lib/cjs/select/foundation.js +1220 -0
  392. package/lib/cjs/select/mixin.css +3 -0
  393. package/lib/cjs/select/mixin.scss +6 -0
  394. package/lib/cjs/select/option.css +76 -0
  395. package/lib/cjs/select/option.scss +95 -0
  396. package/lib/cjs/select/optionFoundation.d.ts +21 -0
  397. package/lib/cjs/select/optionFoundation.js +42 -0
  398. package/lib/cjs/select/rtl.scss +93 -0
  399. package/lib/cjs/select/select.css +465 -0
  400. package/lib/cjs/select/select.scss +422 -0
  401. package/lib/cjs/select/variables.scss +100 -0
  402. package/lib/cjs/sideSheet/constants.d.ts +15 -0
  403. package/lib/cjs/sideSheet/constants.js +28 -0
  404. package/lib/cjs/sideSheet/rtl.scss +17 -0
  405. package/lib/cjs/sideSheet/sideSheet.css +143 -0
  406. package/lib/cjs/sideSheet/sideSheet.scss +171 -0
  407. package/lib/cjs/sideSheet/sideSheetFoundation.d.ts +55 -0
  408. package/lib/cjs/sideSheet/sideSheetFoundation.js +126 -0
  409. package/lib/cjs/sideSheet/variables.scss +16 -0
  410. package/lib/cjs/skeleton/constants.d.ts +5 -0
  411. package/lib/cjs/skeleton/constants.js +18 -0
  412. package/lib/cjs/skeleton/rtl.scss +8 -0
  413. package/lib/cjs/skeleton/skeleton.css +87 -0
  414. package/lib/cjs/skeleton/skeleton.scss +115 -0
  415. package/lib/cjs/skeleton/variables.scss +20 -0
  416. package/lib/cjs/slider/constants.d.ts +15 -0
  417. package/lib/cjs/slider/constants.js +28 -0
  418. package/lib/cjs/slider/foundation.d.ts +203 -0
  419. package/lib/cjs/slider/foundation.js +734 -0
  420. package/lib/cjs/slider/slider.css +192 -0
  421. package/lib/cjs/slider/slider.scss +234 -0
  422. package/lib/cjs/slider/variables.scss +60 -0
  423. package/lib/cjs/space/constants.d.ts +10 -0
  424. package/lib/cjs/space/constants.js +23 -0
  425. package/lib/cjs/space/rtl.scss +8 -0
  426. package/lib/cjs/space/space.css +50 -0
  427. package/lib/cjs/space/space.scss +58 -0
  428. package/lib/cjs/space/variables.scss +3 -0
  429. package/lib/cjs/spin/constants.d.ts +8 -0
  430. package/lib/cjs/spin/constants.js +23 -0
  431. package/lib/cjs/spin/foundation.d.ts +12 -0
  432. package/lib/cjs/spin/foundation.js +62 -0
  433. package/lib/cjs/spin/mixin.css +3 -0
  434. package/lib/cjs/spin/mixin.scss +5 -0
  435. package/lib/cjs/spin/rtl.scss +12 -0
  436. package/lib/cjs/spin/spin.css +104 -0
  437. package/lib/cjs/spin/spin.scss +104 -0
  438. package/lib/cjs/spin/variables.scss +18 -0
  439. package/lib/cjs/steps/bacisSteps.scss +344 -0
  440. package/lib/cjs/steps/constants.d.ts +5 -0
  441. package/lib/cjs/steps/constants.js +17 -0
  442. package/lib/cjs/steps/fillSteps.scss +193 -0
  443. package/lib/cjs/steps/mixin.css +3 -0
  444. package/lib/cjs/steps/mixin.scss +0 -0
  445. package/lib/cjs/steps/navSteps.scss +63 -0
  446. package/lib/cjs/steps/rtl.scss +46 -0
  447. package/lib/cjs/steps/steps.css +444 -0
  448. package/lib/cjs/steps/steps.scss +9 -0
  449. package/lib/cjs/steps/variables.scss +104 -0
  450. package/lib/cjs/switch/constants.d.ts +18 -0
  451. package/lib/cjs/switch/constants.js +31 -0
  452. package/lib/cjs/switch/foundation.d.ts +14 -0
  453. package/lib/cjs/switch/foundation.js +58 -0
  454. package/lib/cjs/switch/rtl.scss +103 -0
  455. package/lib/cjs/switch/switch.css +288 -0
  456. package/lib/cjs/switch/switch.scss +282 -0
  457. package/lib/cjs/switch/variables.scss +70 -0
  458. package/lib/cjs/table/bodyFoundation.d.ts +38 -0
  459. package/lib/cjs/table/bodyFoundation.js +164 -0
  460. package/lib/cjs/table/cellFoundation.d.ts +7 -0
  461. package/lib/cjs/table/cellFoundation.js +22 -0
  462. package/lib/cjs/table/constants.d.ts +77 -0
  463. package/lib/cjs/table/constants.js +110 -0
  464. package/lib/cjs/table/foundation.d.ts +351 -0
  465. package/lib/cjs/table/foundation.js +1167 -0
  466. package/lib/cjs/table/mixin.css +3 -0
  467. package/lib/cjs/table/mixin.scss +10 -0
  468. package/lib/cjs/table/operationPanel.scss +46 -0
  469. package/lib/cjs/table/rtl.scss +158 -0
  470. package/lib/cjs/table/table.css +559 -0
  471. package/lib/cjs/table/table.scss +552 -0
  472. package/lib/cjs/table/tableRowFoundation.d.ts +14 -0
  473. package/lib/cjs/table/tableRowFoundation.js +44 -0
  474. package/lib/cjs/table/tableSelectionCellFoundation.d.ts +13 -0
  475. package/lib/cjs/table/tableSelectionCellFoundation.js +24 -0
  476. package/lib/cjs/table/utils.d.ts +95 -0
  477. package/lib/cjs/table/utils.js +617 -0
  478. package/lib/cjs/table/variables.scss +87 -0
  479. package/lib/cjs/tabs/constants.d.ts +28 -0
  480. package/lib/cjs/tabs/constants.js +42 -0
  481. package/lib/cjs/tabs/foundation.d.ts +23 -0
  482. package/lib/cjs/tabs/foundation.js +95 -0
  483. package/lib/cjs/tabs/rtl.scss +123 -0
  484. package/lib/cjs/tabs/tabs.css +378 -0
  485. package/lib/cjs/tabs/tabs.scss +411 -0
  486. package/lib/cjs/tabs/variables.scss +115 -0
  487. package/lib/cjs/tag/constants.d.ts +10 -0
  488. package/lib/cjs/tag/constants.js +24 -0
  489. package/lib/cjs/tag/mixin.css +3 -0
  490. package/lib/cjs/tag/mixin.scss +21 -0
  491. package/lib/cjs/tag/rtl.scss +61 -0
  492. package/lib/cjs/tag/tag.css +444 -0
  493. package/lib/cjs/tag/tag.scss +181 -0
  494. package/lib/cjs/tag/variables.scss +48 -0
  495. package/lib/cjs/tagInput/constants.d.ts +8 -0
  496. package/lib/cjs/tagInput/constants.js +21 -0
  497. package/lib/cjs/tagInput/foundation.d.ts +53 -0
  498. package/lib/cjs/tagInput/foundation.js +267 -0
  499. package/lib/cjs/tagInput/rtl.scss +23 -0
  500. package/lib/cjs/tagInput/tagInput.css +171 -0
  501. package/lib/cjs/tagInput/tagInput.scss +192 -0
  502. package/lib/cjs/tagInput/utils/getSplitedArray.d.ts +7 -0
  503. package/lib/cjs/tagInput/utils/getSplitedArray.js +47 -0
  504. package/lib/cjs/tagInput/variables.scss +39 -0
  505. package/lib/cjs/timePicker/ComboxFoundation.d.ts +31 -0
  506. package/lib/cjs/timePicker/ComboxFoundation.js +193 -0
  507. package/lib/cjs/timePicker/constants.d.ts +23 -0
  508. package/lib/cjs/timePicker/constants.js +43 -0
  509. package/lib/cjs/timePicker/foundation.d.ts +53 -0
  510. package/lib/cjs/timePicker/foundation.js +465 -0
  511. package/lib/cjs/timePicker/inputFoundation.d.ts +18 -0
  512. package/lib/cjs/timePicker/inputFoundation.js +81 -0
  513. package/lib/cjs/timePicker/rtl.scss +30 -0
  514. package/lib/cjs/timePicker/timePicker.css +72 -0
  515. package/lib/cjs/timePicker/timePicker.scss +86 -0
  516. package/lib/cjs/timePicker/utils/index.d.ts +41 -0
  517. package/lib/cjs/timePicker/utils/index.js +191 -0
  518. package/lib/cjs/timePicker/utils/localeDate.d.ts +2 -0
  519. package/lib/cjs/timePicker/utils/localeDate.js +47 -0
  520. package/lib/cjs/timePicker/variables.scss +22 -0
  521. package/lib/cjs/timeline/constants.d.ts +10 -0
  522. package/lib/cjs/timeline/constants.js +23 -0
  523. package/lib/cjs/timeline/rtl.scss +92 -0
  524. package/lib/cjs/timeline/timeline.css +197 -0
  525. package/lib/cjs/timeline/timeline.scss +175 -0
  526. package/lib/cjs/timeline/variables.scss +46 -0
  527. package/lib/cjs/toast/constants.d.ts +14 -0
  528. package/lib/cjs/toast/constants.js +30 -0
  529. package/lib/cjs/toast/rtl.scss +16 -0
  530. package/lib/cjs/toast/toast.css +76 -0
  531. package/lib/cjs/toast/toast.scss +92 -0
  532. package/lib/cjs/toast/toastFoundation.d.ts +48 -0
  533. package/lib/cjs/toast/toastFoundation.js +72 -0
  534. package/lib/cjs/toast/toastListFoundation.d.ts +17 -0
  535. package/lib/cjs/toast/toastListFoundation.js +62 -0
  536. package/lib/cjs/toast/variables.scss +34 -0
  537. package/lib/cjs/tooltip/arrow.scss +141 -0
  538. package/lib/cjs/tooltip/constants.d.ts +22 -0
  539. package/lib/cjs/tooltip/constants.js +37 -0
  540. package/lib/cjs/tooltip/foundation.d.ts +99 -0
  541. package/lib/cjs/tooltip/foundation.js +819 -0
  542. package/lib/cjs/tooltip/rtl.scss +12 -0
  543. package/lib/cjs/tooltip/tooltip.css +203 -0
  544. package/lib/cjs/tooltip/tooltip.scss +91 -0
  545. package/lib/cjs/tooltip/variables.scss +31 -0
  546. package/lib/cjs/transfer/constants.d.ts +10 -0
  547. package/lib/cjs/transfer/constants.js +24 -0
  548. package/lib/cjs/transfer/foundation.d.ts +51 -0
  549. package/lib/cjs/transfer/foundation.js +314 -0
  550. package/lib/cjs/transfer/rtl.scss +31 -0
  551. package/lib/cjs/transfer/transfer.css +202 -0
  552. package/lib/cjs/transfer/transfer.scss +200 -0
  553. package/lib/cjs/transfer/transferUtlls.d.ts +4 -0
  554. package/lib/cjs/transfer/transferUtlls.js +128 -0
  555. package/lib/cjs/transfer/variables.scss +55 -0
  556. package/lib/cjs/tree/constants.d.ts +9 -0
  557. package/lib/cjs/tree/constants.js +23 -0
  558. package/lib/cjs/tree/foundation.d.ts +281 -0
  559. package/lib/cjs/tree/foundation.js +711 -0
  560. package/lib/cjs/tree/rtl.scss +59 -0
  561. package/lib/cjs/tree/tree.css +478 -0
  562. package/lib/cjs/tree/tree.scss +372 -0
  563. package/lib/cjs/tree/treeUtil.d.ts +79 -0
  564. package/lib/cjs/tree/treeUtil.js +804 -0
  565. package/lib/cjs/tree/variables.scss +54 -0
  566. package/lib/cjs/treeSelect/constants.d.ts +13 -0
  567. package/lib/cjs/treeSelect/constants.js +27 -0
  568. package/lib/cjs/treeSelect/foundation.d.ts +162 -0
  569. package/lib/cjs/treeSelect/foundation.js +792 -0
  570. package/lib/cjs/treeSelect/rtl.scss +62 -0
  571. package/lib/cjs/treeSelect/treeSelect.css +308 -0
  572. package/lib/cjs/treeSelect/treeSelect.scss +332 -0
  573. package/lib/cjs/treeSelect/variables.scss +90 -0
  574. package/lib/cjs/typography/constants.d.ts +10 -0
  575. package/lib/cjs/typography/constants.js +23 -0
  576. package/lib/cjs/typography/rtl.scss +34 -0
  577. package/lib/cjs/typography/typography.css +220 -0
  578. package/lib/cjs/typography/typography.scss +218 -0
  579. package/lib/cjs/typography/variables.scss +45 -0
  580. package/lib/cjs/upload/constants.d.ts +28 -0
  581. package/lib/cjs/upload/constants.js +49 -0
  582. package/lib/cjs/upload/foundation.d.ts +166 -0
  583. package/lib/cjs/upload/foundation.js +1067 -0
  584. package/lib/cjs/upload/rtl.scss +87 -0
  585. package/lib/cjs/upload/upload.css +493 -0
  586. package/lib/cjs/upload/upload.scss +522 -0
  587. package/lib/cjs/upload/utils.d.ts +6 -0
  588. package/lib/cjs/upload/utils.js +165 -0
  589. package/lib/cjs/upload/variables.scss +81 -0
  590. package/lib/cjs/utils/Event.d.ts +7 -0
  591. package/lib/cjs/utils/Event.js +91 -0
  592. package/lib/cjs/utils/Logger.d.ts +15 -0
  593. package/lib/cjs/utils/Logger.js +77 -0
  594. package/lib/cjs/utils/Store.d.ts +9 -0
  595. package/lib/cjs/utils/Store.js +60 -0
  596. package/lib/cjs/utils/array.d.ts +22 -0
  597. package/lib/cjs/utils/array.js +64 -0
  598. package/lib/cjs/utils/classnames.d.ts +4 -0
  599. package/lib/cjs/utils/classnames.js +54 -0
  600. package/lib/cjs/utils/date-fns-extra.d.ts +55 -0
  601. package/lib/cjs/utils/date-fns-extra.js +148 -0
  602. package/lib/cjs/utils/dom.d.ts +27 -0
  603. package/lib/cjs/utils/dom.js +92 -0
  604. package/lib/cjs/utils/function.d.ts +4 -0
  605. package/lib/cjs/utils/function.js +15 -0
  606. package/lib/cjs/utils/getDataAttr.d.ts +1 -0
  607. package/lib/cjs/utils/getDataAttr.js +27 -0
  608. package/lib/cjs/utils/getHighlight.d.ts +45 -0
  609. package/lib/cjs/utils/getHighlight.js +211 -0
  610. package/lib/cjs/utils/getMotionObjFromProps.d.ts +26 -0
  611. package/lib/cjs/utils/getMotionObjFromProps.js +77 -0
  612. package/lib/cjs/utils/index.d.ts +2 -0
  613. package/lib/cjs/utils/index.js +41 -0
  614. package/lib/cjs/utils/isBothNaN.d.ts +8 -0
  615. package/lib/cjs/utils/isBothNaN.js +25 -0
  616. package/lib/cjs/utils/isElement.d.ts +1 -0
  617. package/lib/cjs/utils/isElement.js +21 -0
  618. package/lib/cjs/utils/isNullOrUndefined.d.ts +6 -0
  619. package/lib/cjs/utils/isNullOrUndefined.js +18 -0
  620. package/lib/cjs/utils/isNumber.d.ts +1 -0
  621. package/lib/cjs/utils/isNumber.js +13 -0
  622. package/lib/cjs/utils/isObject.d.ts +1 -0
  623. package/lib/cjs/utils/isObject.js +13 -0
  624. package/lib/cjs/utils/isPromise.d.ts +1 -0
  625. package/lib/cjs/utils/isPromise.js +17 -0
  626. package/lib/cjs/utils/isString.d.ts +1 -0
  627. package/lib/cjs/utils/isString.js +13 -0
  628. package/lib/cjs/utils/keyCode.d.ts +427 -0
  629. package/lib/cjs/utils/keyCode.js +542 -0
  630. package/lib/cjs/utils/log.d.ts +2 -0
  631. package/lib/cjs/utils/log.js +26 -0
  632. package/lib/cjs/utils/number.d.ts +10 -0
  633. package/lib/cjs/utils/number.js +29 -0
  634. package/lib/cjs/utils/object.d.ts +17 -0
  635. package/lib/cjs/utils/object.js +174 -0
  636. package/lib/cjs/utils/set.d.ts +7 -0
  637. package/lib/cjs/utils/set.js +44 -0
  638. package/lib/cjs/utils/shallowEqualObjects.d.ts +5 -0
  639. package/lib/cjs/utils/shallowEqualObjects.js +41 -0
  640. package/lib/cjs/utils/touchPolyfill.d.ts +2 -0
  641. package/lib/cjs/utils/touchPolyfill.js +50 -0
  642. package/lib/cjs/utils/type.d.ts +31 -0
  643. package/lib/cjs/utils/type.js +7 -0
  644. package/lib/cjs/utils/uuid.d.ts +3 -0
  645. package/lib/cjs/utils/uuid.js +29 -0
  646. package/lib/cjs/utils/warning.d.ts +1 -0
  647. package/lib/cjs/utils/warning.js +15 -0
  648. package/lib/es/anchor/foundation.js +8 -5
  649. package/lib/es/autoComplete/autoComplete.css +5 -5
  650. package/lib/es/autoComplete/autoComplete.scss +3 -2
  651. package/lib/es/autoComplete/foundation.js +8 -5
  652. package/lib/es/base/foundation.js +12 -12
  653. package/lib/es/cascader/foundation.js +25 -17
  654. package/lib/es/cascader/util.js +5 -3
  655. package/lib/es/checkbox/checkbox.css +21 -2
  656. package/lib/es/checkbox/checkbox.scss +25 -1
  657. package/lib/es/checkbox/checkboxFoundation.d.ts +11 -4
  658. package/lib/es/checkbox/checkboxFoundation.js +7 -0
  659. package/lib/es/checkbox/variables.scss +6 -1
  660. package/lib/es/datePicker/_utils/getFullDateOffset.js +2 -2
  661. package/lib/es/datePicker/foundation.js +15 -10
  662. package/lib/es/datePicker/monthsGridFoundation.js +8 -6
  663. package/lib/es/form/foundation.js +9 -6
  664. package/lib/es/form/utils.js +2 -2
  665. package/lib/es/input/foundation.js +15 -10
  666. package/lib/es/input/input.css +3 -2
  667. package/lib/es/input/input.scss +2 -0
  668. package/lib/es/input/textareaFoundation.js +17 -14
  669. package/lib/es/input/util/getSizingData.js +3 -3
  670. package/lib/es/input/variables.scss +1 -1
  671. package/lib/es/inputNumber/foundation.js +13 -11
  672. package/lib/es/modal/modal.css +1 -1
  673. package/lib/es/modal/modalFoundation.d.ts +2 -2
  674. package/lib/es/modal/variables.scss +1 -1
  675. package/lib/es/navigation/foundation.js +2 -2
  676. package/lib/es/notification/notificationFoundation.js +2 -2
  677. package/lib/es/overflowList/foundation.js +6 -3
  678. package/lib/es/radio/radio.css +33 -2
  679. package/lib/es/radio/radio.scss +44 -1
  680. package/lib/es/radio/variables.scss +12 -2
  681. package/lib/es/rating/rating.css +3 -0
  682. package/lib/es/rating/rating.scss +4 -0
  683. package/lib/es/scrollList/itemFoundation.js +17 -7
  684. package/lib/es/select/foundation.js +9 -6
  685. package/lib/es/sideSheet/sideSheet.css +1 -1
  686. package/lib/es/sideSheet/sideSheetFoundation.js +8 -7
  687. package/lib/es/sideSheet/variables.scss +1 -1
  688. package/lib/es/table/bodyFoundation.js +14 -8
  689. package/lib/es/table/foundation.js +87 -67
  690. package/lib/es/table/table.css +2 -2
  691. package/lib/es/table/table.scss +2 -2
  692. package/lib/es/table/utils.js +65 -42
  693. package/lib/es/table/variables.scss +3 -0
  694. package/lib/es/tabs/foundation.js +2 -2
  695. package/lib/es/tagInput/foundation.js +10 -7
  696. package/lib/es/tagInput/utils/getSplitedArray.js +6 -4
  697. package/lib/es/timePicker/foundation.js +6 -4
  698. package/lib/es/timePicker/utils/index.js +5 -5
  699. package/lib/es/toast/toastFoundation.js +2 -2
  700. package/lib/es/tooltip/foundation.js +15 -16
  701. package/lib/es/transfer/foundation.js +2 -2
  702. package/lib/es/transfer/transferUtlls.js +4 -4
  703. package/lib/es/tree/foundation.js +14 -14
  704. package/lib/es/tree/treeUtil.js +21 -18
  705. package/lib/es/treeSelect/foundation.js +16 -9
  706. package/lib/es/upload/upload.css +1 -1
  707. package/lib/es/upload/variables.scss +1 -1
  708. package/lib/es/utils/classnames.js +9 -5
  709. package/lib/es/utils/getHighlight.js +2 -3
  710. package/lib/es/utils/getMotionObjFromProps.js +6 -5
  711. package/lib/es/utils/log.js +2 -2
  712. package/lib/es/utils/object.js +31 -21
  713. package/lib/es/utils/set.js +2 -2
  714. package/modal/modalFoundation.ts +2 -2
  715. package/modal/variables.scss +1 -1
  716. package/navigation/foundation.ts +1 -1
  717. package/notification/notificationFoundation.ts +1 -1
  718. package/overflowList/foundation.ts +1 -1
  719. package/package.json +6 -4
  720. package/radio/radio.scss +44 -1
  721. package/radio/variables.scss +12 -2
  722. package/rating/rating.scss +4 -0
  723. package/scrollList/itemFoundation.ts +1 -1
  724. package/select/foundation.ts +1 -1
  725. package/sideSheet/sideSheetFoundation.ts +1 -1
  726. package/sideSheet/variables.scss +1 -1
  727. package/table/bodyFoundation.ts +1 -1
  728. package/table/foundation.ts +1 -1
  729. package/table/table.scss +2 -2
  730. package/table/utils.ts +1 -1
  731. package/table/variables.scss +3 -0
  732. package/tabs/foundation.ts +1 -1
  733. package/tagInput/foundation.ts +1 -1
  734. package/tagInput/utils/getSplitedArray.ts +1 -1
  735. package/timePicker/foundation.ts +1 -1
  736. package/timePicker/utils/index.ts +1 -1
  737. package/toast/toastFoundation.ts +1 -1
  738. package/tooltip/foundation.ts +1 -1
  739. package/transfer/foundation.ts +1 -1
  740. package/transfer/transferUtlls.ts +1 -1
  741. package/tree/foundation.ts +1 -1
  742. package/tree/treeUtil.ts +2 -2
  743. package/treeSelect/foundation.ts +1 -1
  744. package/tsconfig.json +2 -1
  745. package/upload/variables.scss +1 -1
  746. package/utils/classnames.ts +1 -1
  747. package/utils/getHighlight.ts +1 -1
  748. package/utils/getMotionObjFromProps.ts +1 -1
  749. package/utils/log.ts +1 -1
  750. package/utils/object.ts +1 -1
  751. package/utils/set.ts +1 -1
  752. package/babel.config.js +0 -33
  753. package/icons/icons.scss +0 -39
  754. package/icons/variables.scss +0 -7
  755. package/lib/es/icons/icons.css +0 -40
  756. package/lib/es/icons/icons.scss +0 -39
  757. package/lib/es/icons/variables.scss +0 -7
@@ -0,0 +1,1167 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports.default = void 0;
12
+
13
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
14
+
15
+ var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
16
+
17
+ var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
18
+
19
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
20
+
21
+ var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
22
+
23
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
24
+
25
+ var _sort = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort"));
26
+
27
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
28
+
29
+ var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
30
+
31
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
32
+
33
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
34
+
35
+ var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
36
+
37
+ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
38
+
39
+ var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
40
+
41
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
42
+
43
+ var _isString2 = _interopRequireDefault(require("lodash/isString"));
44
+
45
+ var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
46
+
47
+ var _get2 = _interopRequireDefault(require("lodash/get"));
48
+
49
+ var _dateFns = require("date-fns");
50
+
51
+ var _foundation = _interopRequireDefault(require("../base/foundation"));
52
+
53
+ var _index = require("./_utils/index");
54
+
55
+ var _isNullOrUndefined = _interopRequireDefault(require("../utils/isNullOrUndefined"));
56
+
57
+ var _dateFnsExtra = require("../utils/date-fns-extra");
58
+
59
+ var _parser = require("./_utils/parser");
60
+
61
+ var _getDefaultFormatToken = require("./_utils/getDefaultFormatToken");
62
+
63
+ var _constants = require("./constants");
64
+
65
+ var _constants2 = require("../input/constants");
66
+
67
+ /* eslint-disable no-nested-ternary */
68
+
69
+ /* eslint-disable max-len, max-depth, */
70
+
71
+ /**
72
+ * The datePicker foundation.js is responsible for maintaining the date value and the input box value, as well as the callback of both
73
+ * task 1. Accept the selected date change, update the date value, and update the input box value according to the date = > Notify the change
74
+ * task 2. When the input box changes, update the date value = > Notify the change
75
+ */
76
+ class DatePickerFoundation extends _foundation.default {
77
+ constructor(adapter) {
78
+ super((0, _assign.default)({}, adapter));
79
+
80
+ this.getMergedMotion = motion => {
81
+ const mergedMotion = typeof motion === 'undefined' || motion ? (0, _assign.default)((0, _assign.default)({}, motion), {
82
+ didEnter: () => {
83
+ this._adapter.setMotionEnd(true);
84
+ },
85
+ didLeave: () => {
86
+ this._adapter.setMotionEnd(false);
87
+ }
88
+ }) : false;
89
+ return mergedMotion;
90
+ };
91
+
92
+ this._isRangeType = () => {
93
+ const type = this._adapter.getProp('type');
94
+
95
+ return /range/i.test(type);
96
+ };
97
+
98
+ this._isRangeValueComplete = value => {
99
+ let result = true;
100
+
101
+ if ((0, _isArray.default)(value)) {
102
+ result = !(0, _some.default)(value).call(value, date => (0, _isNullOrUndefined.default)(date));
103
+ } else {
104
+ result = false;
105
+ }
106
+
107
+ return result;
108
+ };
109
+ }
110
+
111
+ init() {
112
+ const timeZone = this.getProp('timeZone');
113
+
114
+ if (this._isControlledComponent()) {
115
+ this.initFromProps({
116
+ timeZone,
117
+ value: this.getProp('value')
118
+ });
119
+ } else if (this._isInProps('defaultValue')) {
120
+ this.initFromProps({
121
+ timeZone,
122
+ value: this.getProp('defaultValue')
123
+ });
124
+ }
125
+
126
+ this.initPanelOpenStatus(this.getProp('defaultOpen'));
127
+ }
128
+
129
+ isValidTimeZone(timeZone) {
130
+ var _context;
131
+
132
+ const propTimeZone = this.getProp('timeZone');
133
+
134
+ const _timeZone = (0, _isNullOrUndefined.default)(timeZone) ? propTimeZone : timeZone;
135
+
136
+ return (0, _includes.default)(_context = ['string', 'number']).call(_context, typeof _timeZone) && _timeZone !== '';
137
+ }
138
+
139
+ initFromProps(_ref) {
140
+ let {
141
+ value,
142
+ timeZone,
143
+ prevTimeZone
144
+ } = _ref;
145
+
146
+ const _value = ((0, _isArray.default)(value) ? [...value] : (value || value === 0) && [value]) || [];
147
+
148
+ const result = this.parseWithTimezone(_value, timeZone, prevTimeZone);
149
+
150
+ this._adapter.updatePrevTimezone(prevTimeZone);
151
+
152
+ this._adapter.updateInputValue(null);
153
+
154
+ this._adapter.updateValue(result);
155
+
156
+ if (this._adapter.needConfirm()) {
157
+ this._adapter.updateCachedSelectedValue(result);
158
+ }
159
+ }
160
+
161
+ parseWithTimezone(value, timeZone, prevTimeZone) {
162
+ const result = [];
163
+
164
+ if ((0, _isArray.default)(value) && value.length) {
165
+ for (const v of value) {
166
+ let parsedV = (v || v === 0) && this._parseValue(v);
167
+
168
+ if (parsedV) {
169
+ if (this.isValidTimeZone(prevTimeZone)) {
170
+ parsedV = (0, _dateFnsExtra.zonedTimeToUtc)(parsedV, prevTimeZone);
171
+ }
172
+
173
+ result.push(this.isValidTimeZone(timeZone) ? (0, _dateFnsExtra.utcToZonedTime)(parsedV, timeZone) : parsedV);
174
+ }
175
+ }
176
+ }
177
+
178
+ return result;
179
+ }
180
+
181
+ _isMultiple() {
182
+ return Boolean(this.getProp('multiple'));
183
+ }
184
+ /**
185
+ *
186
+ * Verify and parse the following three format inputs
187
+ *
188
+ 1. Date object
189
+ 2. ISO 9601-compliant string
190
+ 3. ts timestamp
191
+ Unified here to format the incoming value and output it as a Date object
192
+ *
193
+ */
194
+
195
+
196
+ _parseValue(value) {
197
+ const dateFnsLocale = this._adapter.getProp('dateFnsLocale');
198
+
199
+ let dateObj;
200
+
201
+ if (!value && value !== 0) {
202
+ return new Date();
203
+ }
204
+
205
+ if ((0, _index.isValidDate)(value)) {
206
+ dateObj = value;
207
+ } else if ((0, _isString2.default)(value)) {
208
+ dateObj = (0, _parser.compatiableParse)(value, this.getProp('format'), undefined, dateFnsLocale);
209
+ } else if ((0, _index.isTimestamp)(value)) {
210
+ dateObj = new Date(value);
211
+ } else {
212
+ throw new TypeError('defaultValue should be valid Date object/timestamp or string');
213
+ }
214
+
215
+ return dateObj;
216
+ }
217
+
218
+ destroy() {
219
+ // Ensure that event listeners will be uninstalled and users may not trigger closePanel
220
+ // this._adapter.togglePanel(false);
221
+ this._adapter.unregisterClickOutSide();
222
+ }
223
+
224
+ initPanelOpenStatus(defaultOpen) {
225
+ if ((this.getProp('open') || defaultOpen) && !this.getProp('disabled')) {
226
+ this._adapter.togglePanel(true);
227
+
228
+ this._adapter.registerClickOutSide();
229
+ } else {
230
+ this._adapter.togglePanel(false);
231
+
232
+ this._adapter.unregisterClickOutSide();
233
+ }
234
+ }
235
+
236
+ openPanel() {
237
+ if (!this.getProp('disabled')) {
238
+ if (!this._isControlledComponent('open')) {
239
+ this._adapter.togglePanel(true);
240
+
241
+ this._adapter.registerClickOutSide();
242
+ }
243
+
244
+ this._adapter.notifyOpenChange(true);
245
+ }
246
+ }
247
+ /**
248
+ * do these side effects when type is dateRange or dateTimeRange
249
+ * 1. trigger input blur, if input value is invalid, set input value and state value to previous status
250
+ * 2. set cachedSelectedValue using given dates(in needConfirm mode)
251
+ * - directly closePanel without click confirm will set cachedSelectedValue to state value
252
+ * - select one date(which means that the selection value is incomplete) and click confirm also set cachedSelectedValue to state value
253
+ * @param {String} inputValue
254
+ * @param {Date[]} dates
255
+ */
256
+
257
+
258
+ rangeTypeSideEffectsWhenClosePanel(inputValue, dates) {
259
+ if (this._isRangeType()) {
260
+ this._adapter.setRangeInputFocus(false);
261
+ /**
262
+ * inputValue is string when it is not disabled or can't parsed
263
+ * when inputValue is null, picker value will back to last selected value
264
+ */
265
+
266
+
267
+ this.handleInputBlur(inputValue);
268
+
269
+ const {
270
+ value,
271
+ cachedSelectedValue
272
+ } = this._adapter.getStates();
273
+
274
+ const newCachedSelectedValue = (0, _isArray.default)(dates) && dates.length ? dates : value;
275
+
276
+ if (!(0, _isEqual2.default)(newCachedSelectedValue, cachedSelectedValue)) {
277
+ this._adapter.updateCachedSelectedValue(newCachedSelectedValue);
278
+ }
279
+ }
280
+ }
281
+ /**
282
+ * timing to call closePanel
283
+ * 1. click confirm button
284
+ * 2. click cancel button
285
+ * 3. select date, time, year, month
286
+ * - date type and not multiple, close panel after select date
287
+ * - dateRange type, close panel after select rangeStart and rangeEnd
288
+ * 4. click outside
289
+ * @param {Event} e
290
+ * @param {String} inputValue
291
+ * @param {Date[]} dates
292
+ */
293
+
294
+
295
+ closePanel(e) {
296
+ let inputValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
297
+ let dates = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
298
+
299
+ if (!this._isControlledComponent('open')) {
300
+ this._adapter.togglePanel(false);
301
+
302
+ this._adapter.unregisterClickOutSide();
303
+ } // range type picker, closing panel requires the following side effects
304
+
305
+
306
+ this.rangeTypeSideEffectsWhenClosePanel(inputValue, dates);
307
+
308
+ this._adapter.notifyOpenChange(false);
309
+
310
+ this._adapter.notifyBlur(e);
311
+ }
312
+ /**
313
+ * Callback when the content of the input box changes
314
+ * Update the date panel if the changed value is a legal date, otherwise only update the input box
315
+ * @param {String} input The value of the input box after the change
316
+ * @param {Event} e
317
+ */
318
+
319
+
320
+ handleInputChange(input, e) {
321
+ const result = this._isMultiple() ? this.parseMultipleInput(input) : this.parseInput(input);
322
+ const {
323
+ value: stateValue
324
+ } = this.getStates(); // Enter a valid date or empty
325
+
326
+ if (result && result.length || input === '') {
327
+ // If you click the clear button
328
+ if ((0, _get2.default)(e, _constants2.strings.CLEARBTN_CLICKED_EVENT_FLAG) && this._isControlledComponent('value')) {
329
+ this._notifyChange(result);
330
+
331
+ return;
332
+ }
333
+
334
+ this._updateValueAndInput(result, input === '', input); // Updates the selected value when entering a valid date
335
+
336
+
337
+ const changedDates = this._getChangedDates(result);
338
+
339
+ if (!this._someDateDisabled(changedDates)) {
340
+ if (this._adapter.needConfirm()) {
341
+ this._adapter.updateCachedSelectedValue(result);
342
+ }
343
+
344
+ if (!(0, _isEqual2.default)(result, stateValue)) {
345
+ this._notifyChange(result);
346
+ }
347
+ }
348
+ } else {
349
+ this._adapter.updateInputValue(input);
350
+ }
351
+ }
352
+ /**
353
+ * Input box blur
354
+ * @param {String} input
355
+ * @param {Event} e
356
+ */
357
+
358
+
359
+ handleInputBlur() {
360
+ let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
361
+ let e = arguments.length > 1 ? arguments[1] : undefined;
362
+ const parsedResult = input ? this._isMultiple() ? this.parseMultipleInput(input, ',', true) : this.parseInput(input) : [];
363
+ const stateValue = this.getState('value'); // console.log(input, parsedResult);
364
+
365
+ if (parsedResult && parsedResult.length) {
366
+ this._updateValueAndInput(parsedResult, input === '');
367
+ } else if (input === '') {
368
+ this._updateValueAndInput('', true);
369
+ } else {
370
+ this._updateValueAndInput(stateValue);
371
+ }
372
+ }
373
+ /**
374
+ * called when range type rangeEnd input tab press
375
+ * @param {Event} e
376
+ */
377
+
378
+
379
+ handleRangeEndTabPress(e) {
380
+ this._adapter.setRangeInputFocus(false);
381
+ }
382
+ /**
383
+ * called when the input box is focused
384
+ * @param {Event} e input focus event
385
+ * @param {String} range 'rangeStart' or 'rangeEnd', use when type is range
386
+ */
387
+
388
+
389
+ handleInputFocus(e, range) {
390
+ var _context2;
391
+
392
+ const rangeInputFocus = this._adapter.getState('rangeInputFocus');
393
+
394
+ range && this._adapter.setRangeInputFocus(range);
395
+ /**
396
+ * rangeType: only notify when range is false
397
+ * not rangeType: notify when focus
398
+ */
399
+
400
+ if (!range || !(0, _includes.default)(_context2 = ['rangeStart', 'rangeEnd']).call(_context2, rangeInputFocus)) {
401
+ this._adapter.notifyFocus(e, range);
402
+ }
403
+ }
404
+
405
+ handleSetRangeFocus(rangeInputFocus) {
406
+ this._adapter.setRangeInputFocus(rangeInputFocus);
407
+ }
408
+
409
+ handleInputClear(e) {
410
+ this._adapter.notifyClear(e);
411
+ }
412
+ /**
413
+ * 范围选择清除按钮回调
414
+ * 因为清除按钮没有集成在Input内,因此需要手动清除 value、inputValue、cachedValue
415
+ *
416
+ * callback of range input clear button
417
+ * Since the clear button is not integrated in Input, you need to manually clear value, inputValue, cachedValue
418
+ */
419
+
420
+
421
+ handleRangeInputClear(e) {
422
+ const value = [];
423
+ const inputValue = '';
424
+
425
+ if (!this._isControlledComponent('value')) {
426
+ this._updateValueAndInput(value, true, inputValue);
427
+
428
+ if (this._adapter.needConfirm()) {
429
+ this._adapter.updateCachedSelectedValue(value);
430
+ }
431
+ }
432
+
433
+ this._notifyChange(value);
434
+
435
+ this._adapter.notifyClear(e);
436
+ } // eslint-disable-next-line @typescript-eslint/no-empty-function
437
+
438
+
439
+ handleRangeInputBlur(value, e) {} // Parses input only after user returns
440
+
441
+
442
+ handleInputComplete() {
443
+ let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
444
+ // console.log(input);
445
+ let parsedResult = input ? this._isMultiple() ? this.parseMultipleInput(input, ',', true) : this.parseInput(input) : [];
446
+ parsedResult = parsedResult && parsedResult.length ? parsedResult : this.getState('value'); // Use the current date as the value when the current input is empty and the last input is also empty
447
+
448
+ if (!parsedResult || !parsedResult.length) {
449
+ const nowDate = new Date();
450
+
451
+ if (this._isRangeType()) {
452
+ parsedResult = [nowDate, nowDate];
453
+ } else {
454
+ parsedResult = [nowDate];
455
+ }
456
+ }
457
+
458
+ this._updateValueAndInput(parsedResult);
459
+
460
+ const {
461
+ value: stateValue
462
+ } = this.getStates();
463
+
464
+ const changedDates = this._getChangedDates(parsedResult);
465
+
466
+ if (!this._someDateDisabled(changedDates) && !(0, _isEqual2.default)(parsedResult, stateValue)) {
467
+ this._notifyChange(parsedResult);
468
+ }
469
+ }
470
+ /**
471
+ * Parse the input, return the time object if it is valid,
472
+ * otherwise return "
473
+ *
474
+ * @param {string} input
475
+ * @returns {Date [] | '}
476
+ */
477
+
478
+
479
+ parseInput() {
480
+ let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
481
+ let result = []; // console.log(input);
482
+
483
+ const {
484
+ dateFnsLocale,
485
+ rangeSeparator
486
+ } = this.getProps();
487
+
488
+ if (input && input.length) {
489
+ const type = this.getProp('type');
490
+ const formatToken = this.getProp('format') || (0, _getDefaultFormatToken.getDefaultFormatTokenByType)(type);
491
+ let parsedResult, formatedInput;
492
+ const nowDate = new Date();
493
+
494
+ switch (type) {
495
+ case 'date':
496
+ case 'dateTime':
497
+ case 'month':
498
+ parsedResult = input ? (0, _parser.compatiableParse)(input, formatToken, nowDate, dateFnsLocale) : '';
499
+ formatedInput = parsedResult && (0, _dateFns.isValid)(parsedResult) && this.localeFormat(parsedResult, formatToken);
500
+
501
+ if (parsedResult && formatedInput === input) {
502
+ result = [parsedResult];
503
+ }
504
+
505
+ break;
506
+
507
+ case 'dateRange':
508
+ case 'dateTimeRange':
509
+ const separator = rangeSeparator;
510
+ const values = input.split(separator);
511
+ parsedResult = values && (0, _reduce.default)(values).call(values, (arr, cur) => {
512
+ const parsedVal = cur && (0, _parser.compatiableParse)(cur, formatToken, nowDate, dateFnsLocale);
513
+ parsedVal && arr.push(parsedVal);
514
+ return arr;
515
+ }, []);
516
+ formatedInput = parsedResult && (0, _map.default)(parsedResult).call(parsedResult, v => v && (0, _dateFns.isValid)(v) && this.localeFormat(v, formatToken)).join(separator);
517
+
518
+ if (parsedResult && formatedInput === input) {
519
+ (0, _sort.default)(parsedResult).call(parsedResult, (d1, d2) => d1.getTime() - d2.getTime());
520
+ result = parsedResult;
521
+ }
522
+
523
+ break;
524
+
525
+ default:
526
+ break;
527
+ }
528
+ }
529
+
530
+ return result;
531
+ }
532
+ /**
533
+ * Parses the input when multiple is true, if valid,
534
+ * returns a list of time objects, otherwise returns an array
535
+ *
536
+ * @param {string} [input='']
537
+ * @param {string} [separator=',']
538
+ * @param {boolean} [needDedupe=false]
539
+ * @returns {Date[]}
540
+ */
541
+
542
+
543
+ parseMultipleInput() {
544
+ let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
545
+ let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.strings.DEFAULT_SEPARATOR_MULTIPLE;
546
+ let needDedupe = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
547
+ const max = this.getProp('max');
548
+ const inputArr = input.split(separator);
549
+ const result = [];
550
+
551
+ for (const curInput of inputArr) {
552
+ let tmpParsed = curInput && this.parseInput(curInput);
553
+ tmpParsed = (0, _isArray.default)(tmpParsed) ? tmpParsed : tmpParsed && [tmpParsed];
554
+
555
+ if (tmpParsed && tmpParsed.length) {
556
+ if (needDedupe) {
557
+ // 20190519 TODO: needs to determine the case where multiple is true and range
558
+ !(0, _filter.default)(result).call(result, r => Boolean((0, _find.default)(tmpParsed).call(tmpParsed, tp => (0, _dateFns.isSameSecond)(r, tp)))) && result.push(...tmpParsed);
559
+ } else {
560
+ result.push(...tmpParsed);
561
+ }
562
+ } else {
563
+ return [];
564
+ }
565
+
566
+ if (max && max > 0 && result.length > max) {
567
+ return [];
568
+ }
569
+ }
570
+
571
+ return result;
572
+ }
573
+ /**
574
+ * dates[] => string
575
+ *
576
+ * @param {Date[]} dates
577
+ * @returns {string}
578
+ */
579
+
580
+
581
+ formatDates() {
582
+ let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
583
+ let str = '';
584
+ const rangeSeparator = this.getProp('rangeSeparator');
585
+
586
+ if ((0, _isArray.default)(dates) && dates.length) {
587
+ const type = this.getProp('type');
588
+ const formatToken = this.getProp('format') || (0, _getDefaultFormatToken.getDefaultFormatTokenByType)(type);
589
+
590
+ switch (type) {
591
+ case 'date':
592
+ case 'dateTime':
593
+ case 'month':
594
+ str = this.localeFormat(dates[0], formatToken);
595
+ break;
596
+
597
+ case 'dateRange':
598
+ case 'dateTimeRange':
599
+ const startIsTruthy = !(0, _isNullOrUndefined.default)(dates[0]);
600
+ const endIsTruthy = !(0, _isNullOrUndefined.default)(dates[1]);
601
+
602
+ if (startIsTruthy && endIsTruthy) {
603
+ var _context3, _context4;
604
+
605
+ str = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = "".concat(this.localeFormat(dates[0], formatToken))).call(_context4, rangeSeparator)).call(_context3, this.localeFormat(dates[1], formatToken));
606
+ } else {
607
+ if (startIsTruthy) {
608
+ var _context5;
609
+
610
+ str = (0, _concat.default)(_context5 = "".concat(this.localeFormat(dates[0], formatToken))).call(_context5, rangeSeparator);
611
+ } else if (endIsTruthy) {
612
+ var _context6;
613
+
614
+ str = (0, _concat.default)(_context6 = "".concat(rangeSeparator)).call(_context6, this.localeFormat(dates[1], formatToken));
615
+ }
616
+ }
617
+
618
+ break;
619
+
620
+ default:
621
+ break;
622
+ }
623
+ }
624
+
625
+ return str;
626
+ }
627
+ /**
628
+ * dates[] => string
629
+ *
630
+ * @param {Date[]} dates
631
+ * @returns {string}
632
+ */
633
+
634
+
635
+ formatMultipleDates() {
636
+ let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
637
+ let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.strings.DEFAULT_SEPARATOR_MULTIPLE;
638
+ const strs = [];
639
+
640
+ if ((0, _isArray.default)(dates) && dates.length) {
641
+ const type = this.getProp('type');
642
+
643
+ switch (type) {
644
+ case 'date':
645
+ case 'dateTime':
646
+ case 'month':
647
+ (0, _forEach.default)(dates).call(dates, date => strs.push(this.formatDates([date])));
648
+ break;
649
+
650
+ case 'dateRange':
651
+ case 'dateTimeRange':
652
+ for (let i = 0; i < dates.length; i += 2) {
653
+ strs.push(this.formatDates((0, _slice.default)(dates).call(dates, i, i + 2)));
654
+ }
655
+
656
+ break;
657
+
658
+ default:
659
+ break;
660
+ }
661
+ }
662
+
663
+ return strs.join(separator);
664
+ }
665
+ /**
666
+ * Update date value and the value of the input box
667
+ * 1. Select Update
668
+ * 2. Input Update
669
+ * @param {Date|''} value
670
+ * @param {Boolean} forceUpdateValue
671
+ * @param {String} input
672
+ */
673
+
674
+
675
+ _updateValueAndInput(value, forceUpdateValue, input) {
676
+ let _value;
677
+
678
+ if (forceUpdateValue || value) {
679
+ if (!(0, _isArray.default)(value)) {
680
+ _value = value ? [value] : [];
681
+ } else {
682
+ _value = value;
683
+ }
684
+
685
+ const changedDates = this._getChangedDates(_value); // You cannot update the value directly when needConfirm, you can only change the value through handleConfirm
686
+
687
+
688
+ if (!this._isControlledComponent() && !this._someDateDisabled(changedDates) && !this._adapter.needConfirm()) {
689
+ this._adapter.updateValue(_value);
690
+ }
691
+ }
692
+
693
+ this._adapter.updateInputValue(input);
694
+ }
695
+ /**
696
+ * when changing the selected value through the date panel
697
+ * @param {*} value
698
+ * @param {*} options
699
+ */
700
+
701
+
702
+ handleSelectedChange(value, options) {
703
+ const type = this.getProp('type');
704
+ const {
705
+ value: stateValue
706
+ } = this.getStates();
707
+
708
+ const controlled = this._isControlledComponent();
709
+
710
+ const fromPreset = (0, _isObject2.default)(options) ? options.fromPreset : options;
711
+ const closePanel = (0, _get2.default)(options, 'closePanel', true);
712
+ /**
713
+ * It is used to determine whether the panel can be stowed. In a Range type component, it is necessary to select both starting Time and endTime before stowing.
714
+ * To determine whether both starting Time and endTime have been selected, it is used to judge whether the two inputs have been Focused.
715
+ * This variable is used to indicate whether such a judgment is required. In the scene with shortcut operations, it is not required.
716
+ */
717
+
718
+ const needCheckFocusRecord = (0, _get2.default)(options, 'needCheckFocusRecord', true);
719
+
720
+ if (this._adapter.needConfirm()) {
721
+ this._adapter.updateCachedSelectedValue(value);
722
+ }
723
+
724
+ const dates = (0, _isArray.default)(value) ? [...value] : value ? [value] : [];
725
+
726
+ const changedDates = this._getChangedDates(dates);
727
+
728
+ let inputValue;
729
+
730
+ if (!this._someDateDisabled(changedDates)) {
731
+ inputValue = this._isMultiple() ? this.formatMultipleDates(dates) : this.formatDates(dates);
732
+ const isRangeTypeAndInputIncomplete = this._isRangeType() && ((0, _isNullOrUndefined.default)(dates[0]) || (0, _isNullOrUndefined.default)(dates[1]));
733
+ /**
734
+ * If the input is incomplete when under control, the notifyChange is not triggered because
735
+ * You need to update the value of the input box, otherwise there will be a problem that a date is selected but the input box does not show the date #1357
736
+ *
737
+ * 受控时如果输入不完整,由于没有触发 notifyChange
738
+ * 需要组件内更新一下输入框的值,否则会出现选了一个日期但是输入框没有回显日期的问题 #1357
739
+ */
740
+
741
+ if (!this._adapter.needConfirm() || fromPreset) {
742
+ if (isRangeTypeAndInputIncomplete) {
743
+ // do not change value when selected value is incomplete
744
+ this._adapter.updateInputValue(inputValue);
745
+
746
+ return;
747
+ } else {
748
+ (!controlled || fromPreset) && this._updateValueAndInput(dates, true, inputValue);
749
+ }
750
+ }
751
+
752
+ if (!controlled && this._adapter.needConfirm()) {
753
+ // select date only change inputValue when needConfirm is true
754
+ this._adapter.updateInputValue(inputValue); // if inputValue is not complete, don't notifyChange
755
+
756
+
757
+ if (isRangeTypeAndInputIncomplete) {
758
+ return;
759
+ }
760
+ }
761
+
762
+ if (!(0, _isEqual2.default)(value, stateValue)) {
763
+ this._notifyChange(value);
764
+ }
765
+ }
766
+
767
+ const focusRecordChecked = !needCheckFocusRecord || needCheckFocusRecord && this._adapter.couldPanelClosed();
768
+
769
+ if (type === 'date' && !this._isMultiple() && closePanel || type === 'dateRange' && this._isRangeValueComplete(dates) && closePanel && focusRecordChecked) {
770
+ this.closePanel(undefined, inputValue, dates);
771
+ }
772
+ }
773
+ /**
774
+ * when changing the year and month through the panel when the type is year or month
775
+ * @param {*} item
776
+ */
777
+
778
+
779
+ handleYMSelectedChange() {
780
+ let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
781
+ // console.log(item);
782
+ const {
783
+ currentMonth,
784
+ currentYear
785
+ } = item;
786
+
787
+ if (typeof currentMonth === 'number' && typeof currentYear === 'number') {
788
+ // Strings with only dates (e.g. "1970-01-01") will be treated as UTC instead of local time #1460
789
+ const date = new Date(currentYear, currentMonth - 1);
790
+ this.handleSelectedChange([date]);
791
+ }
792
+ }
793
+
794
+ handleConfirm() {
795
+ const {
796
+ cachedSelectedValue,
797
+ value
798
+ } = this.getStates();
799
+
800
+ const isRangeValueComplete = this._isRangeValueComplete(cachedSelectedValue);
801
+
802
+ const newValue = isRangeValueComplete ? cachedSelectedValue : value;
803
+
804
+ if (this._adapter.needConfirm() && !this._isControlledComponent()) {
805
+ this._adapter.updateValue(newValue);
806
+ } // If the input is incomplete, the legal date of the last input is used
807
+
808
+
809
+ this.closePanel(undefined, undefined, newValue);
810
+
811
+ if (isRangeValueComplete) {
812
+ const {
813
+ notifyValue,
814
+ notifyDate
815
+ } = this.disposeCallbackArgs(cachedSelectedValue);
816
+
817
+ this._adapter.notifyConfirm(notifyDate, notifyValue);
818
+ }
819
+ }
820
+
821
+ handleCancel() {
822
+ this.closePanel();
823
+ const value = this.getState('value');
824
+ const {
825
+ notifyValue,
826
+ notifyDate
827
+ } = this.disposeCallbackArgs(value);
828
+
829
+ this._adapter.notifyCancel(notifyDate, notifyValue);
830
+ }
831
+
832
+ handlePresetClick(item, e) {
833
+ const {
834
+ type,
835
+ timeZone
836
+ } = this.getProps();
837
+ const prevTimeZone = this.getState('prevTimezone');
838
+ let value;
839
+
840
+ switch (type) {
841
+ case 'month':
842
+ case 'dateTime':
843
+ case 'date':
844
+ value = this.parseWithTimezone([item.start], timeZone, prevTimeZone);
845
+ this.handleSelectedChange(value);
846
+ break;
847
+
848
+ case 'dateTimeRange':
849
+ case 'dateRange':
850
+ value = this.parseWithTimezone([item.start, item.end], timeZone, prevTimeZone);
851
+ this.handleSelectedChange(value, {
852
+ needCheckFocusRecord: false
853
+ });
854
+ break;
855
+
856
+ default:
857
+ break;
858
+ }
859
+
860
+ this._adapter.notifyPresetsClick(item, e);
861
+ }
862
+ /**
863
+ * 根据 type 处理 onChange 返回的参数
864
+ *
865
+ * - 返回的日期需要把用户时间转换为设置的时区时间
866
+ * - 用户时间:用户计算机系统时间
867
+ * - 时区时间:通过 ConfigProvider 设置的 timeZone
868
+ * - 例子:用户设置时区为+9,计算机所在时区为+8区,然后用户选择了22:00
869
+ * - DatePicker 内部保存日期 state 为 +8 的 22:00 => a = new Date("2021-05-25 22:00:00")
870
+ * - 传出去时,需要把 +8 的 22:00 => +9 的 22:00 => b = zonedTimeToUtc(a, "+09:00");
871
+ *
872
+ * According to the type processing onChange returned parameters
873
+ *
874
+ * - the returned date needs to convert the user time to the set time zone time
875
+ * - user time: user computer system time
876
+ * - time zone time: timeZone set by ConfigProvider
877
+ * - example: the user sets the time zone to + 9, the computer's time zone is + 8 zone, and then the user selects 22:00
878
+ * - DatePicker internal save date state is + 8 22:00 = > a = new Date ("2021-05-25 22:00:00")
879
+ * - when passed out, you need to + 8 22:00 = > + 9 22:00 = > b = zonedTimeToUtc (a, "+ 09:00");
880
+ *
881
+ * e.g.
882
+ * let a = new Date ("2021-05-25 22:00:00");
883
+ * = > Tue May 25 2021 22:00:00 GMT + 0800 (China Standard Time)
884
+ * let b = zonedTimeToUtc (a, "+ 09:00");
885
+ * = > Tue May 25 2021 21:00:00 GMT + 0800 (China Standard Time)
886
+ *
887
+ * @param {Date|Date[]} value
888
+ * @return {{ notifyDate: Date|Date[], notifyValue: string|string[]}}
889
+ */
890
+
891
+
892
+ disposeCallbackArgs(value) {
893
+ let _value = (0, _isArray.default)(value) ? value : value && [value] || [];
894
+
895
+ if (this.isValidTimeZone()) {
896
+ const timeZone = this.getProp('timeZone');
897
+ _value = (0, _map.default)(_value).call(_value, date => (0, _dateFnsExtra.zonedTimeToUtc)(date, timeZone));
898
+ }
899
+
900
+ const type = this.getProp('type');
901
+ const formatToken = this.getProp('format') || (0, _getDefaultFormatToken.getDefaultFormatTokenByType)(type);
902
+ let notifyValue, notifyDate;
903
+
904
+ switch (type) {
905
+ case 'date':
906
+ case 'dateTime':
907
+ case 'month':
908
+ if (!this._isMultiple()) {
909
+ notifyValue = _value[0] && this.localeFormat(_value[0], formatToken);
910
+ [notifyDate] = _value;
911
+ } else {
912
+ notifyValue = (0, _map.default)(_value).call(_value, v => v && this.localeFormat(v, formatToken));
913
+ notifyDate = [..._value];
914
+ }
915
+
916
+ break;
917
+
918
+ case 'dateRange':
919
+ case 'dateTimeRange':
920
+ notifyValue = (0, _map.default)(_value).call(_value, v => v && this.localeFormat(v, formatToken));
921
+ notifyDate = [..._value];
922
+ break;
923
+
924
+ default:
925
+ break;
926
+ }
927
+
928
+ return {
929
+ notifyValue,
930
+ notifyDate
931
+ };
932
+ }
933
+ /**
934
+ * Notice: Check whether the date is the same as the state value before calling
935
+ * @param {Date[]} value
936
+ */
937
+
938
+
939
+ _notifyChange(value) {
940
+ if (this._isRangeType() && !this._isRangeValueComplete(value)) {
941
+ return;
942
+ }
943
+
944
+ const {
945
+ onChangeWithDateFirst
946
+ } = this.getProps();
947
+ const {
948
+ notifyValue,
949
+ notifyDate
950
+ } = this.disposeCallbackArgs(value);
951
+
952
+ if (onChangeWithDateFirst) {
953
+ this._adapter.notifyChange(notifyDate, notifyValue);
954
+ } else {
955
+ this._adapter.notifyChange(notifyValue, notifyDate);
956
+ }
957
+ }
958
+ /**
959
+ * Get the date changed through the date panel or enter
960
+ * @param {Date[]} dates
961
+ * @returns {Date[]}
962
+ */
963
+
964
+
965
+ _getChangedDates(dates) {
966
+ const type = this._adapter.getProp('type');
967
+
968
+ const stateValue = this._adapter.getState('value');
969
+
970
+ const changedDates = [];
971
+
972
+ switch (type) {
973
+ case 'dateRange':
974
+ case 'dateTimeRange':
975
+ const [stateStart, stateEnd] = stateValue;
976
+ const [start, end] = dates;
977
+
978
+ if (!(0, _dateFns.isEqual)(start, stateStart)) {
979
+ changedDates.push(start);
980
+ }
981
+
982
+ if (!(0, _dateFns.isEqual)(end, stateEnd)) {
983
+ changedDates.push(end);
984
+ }
985
+
986
+ break;
987
+
988
+ default:
989
+ const stateValueSet = new _set.default();
990
+ (0, _forEach.default)(stateValue).call(stateValue, value => stateValueSet.add((0, _dateFns.isDate)(value) && value.valueOf()));
991
+
992
+ for (const date of dates) {
993
+ if (!stateValueSet.has((0, _dateFns.isDate)(date) && date.valueOf())) {
994
+ changedDates.push(date);
995
+ }
996
+ }
997
+
998
+ }
999
+
1000
+ return changedDates;
1001
+ }
1002
+ /**
1003
+ * Whether a date is disabled
1004
+ * @param {Array} value
1005
+ */
1006
+
1007
+
1008
+ _someDateDisabled(value) {
1009
+ const stateValue = this.getState('value');
1010
+ const disabledOptions = {
1011
+ rangeStart: '',
1012
+ rangeEnd: ''
1013
+ }; // DisabledDate needs to pass the second parameter
1014
+
1015
+ if (this._isRangeType() && (0, _isArray.default)(stateValue)) {
1016
+ if ((0, _dateFns.isValid)(stateValue[0])) {
1017
+ const rangeStart = (0, _dateFns.format)(stateValue[0], 'yyyy-MM-dd');
1018
+ disabledOptions.rangeStart = rangeStart;
1019
+ }
1020
+
1021
+ if ((0, _dateFns.isValid)(stateValue[1])) {
1022
+ const rangeEnd = (0, _dateFns.format)(stateValue[1], 'yyyy-MM-dd');
1023
+ disabledOptions.rangeEnd = rangeEnd;
1024
+ }
1025
+ }
1026
+
1027
+ let isSomeDateDisabled = false;
1028
+
1029
+ for (const date of value) {
1030
+ // skip check if date is null
1031
+ if (!(0, _isNullOrUndefined.default)(date) && this.disabledDisposeDate(date, disabledOptions)) {
1032
+ isSomeDateDisabled = true;
1033
+ break;
1034
+ }
1035
+ }
1036
+
1037
+ return isSomeDateDisabled;
1038
+ }
1039
+ /**
1040
+ * Format locale date
1041
+ * locale get from LocaleProvider
1042
+ * @param {Date} date
1043
+ * @param {String} token
1044
+ */
1045
+
1046
+
1047
+ localeFormat(date, token) {
1048
+ const dateFnsLocale = this._adapter.getProp('dateFnsLocale');
1049
+
1050
+ return (0, _dateFns.format)(date, token, {
1051
+ locale: dateFnsLocale
1052
+ });
1053
+ }
1054
+ /**
1055
+ * Convert computer date to UTC date
1056
+ * Before passing the date to the user, you need to convert the date to UTC time
1057
+ * dispose date from computer date to utc date
1058
+ * When given timeZone prop, you should convert computer date to utc date before passing to user
1059
+ * @param {(date: Date) => Boolean} fn
1060
+ * @param {Date|Date[]} date
1061
+ * @returns {Boolean}
1062
+ */
1063
+
1064
+
1065
+ disposeDateFn(fn, date) {
1066
+ const {
1067
+ notifyDate
1068
+ } = this.disposeCallbackArgs(date);
1069
+ const dateIsArray = (0, _isArray.default)(date);
1070
+ const notifyDateIsArray = (0, _isArray.default)(notifyDate);
1071
+ let disposeDate;
1072
+
1073
+ if (dateIsArray === notifyDateIsArray) {
1074
+ disposeDate = notifyDate;
1075
+ } else {
1076
+ disposeDate = dateIsArray ? [notifyDate] : notifyDate[0];
1077
+ }
1078
+
1079
+ for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
1080
+ rest[_key - 2] = arguments[_key];
1081
+ }
1082
+
1083
+ return fn(disposeDate, ...rest);
1084
+ }
1085
+ /**
1086
+ * Determine whether the date is disabled
1087
+ * Whether the date is disabled
1088
+ * @param {Date} date
1089
+ * @returns {Boolean}
1090
+ */
1091
+
1092
+
1093
+ disabledDisposeDate(date) {
1094
+ const {
1095
+ disabledDate
1096
+ } = this.getProps();
1097
+
1098
+ for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1099
+ rest[_key2 - 1] = arguments[_key2];
1100
+ }
1101
+
1102
+ return this.disposeDateFn(disabledDate, date, ...rest);
1103
+ }
1104
+ /**
1105
+ * Determine whether the date is disabled
1106
+ * Whether the date time is disabled
1107
+ * @param {Date|Date[]} date
1108
+ * @returns {Object}
1109
+ */
1110
+
1111
+
1112
+ disabledDisposeTime(date) {
1113
+ const {
1114
+ disabledTime
1115
+ } = this.getProps();
1116
+
1117
+ for (var _len3 = arguments.length, rest = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
1118
+ rest[_key3 - 1] = arguments[_key3];
1119
+ }
1120
+
1121
+ return this.disposeDateFn(disabledTime, date, ...rest);
1122
+ }
1123
+ /**
1124
+ * Trigger wrapper needs to do two things:
1125
+ * 1. Open Panel when clicking trigger;
1126
+ * 2. When clicking on a child but the child does not listen to the focus event, manually trigger focus
1127
+ *
1128
+ * @param {Event} e
1129
+ * @returns
1130
+ */
1131
+
1132
+
1133
+ handleTriggerWrapperClick(e) {
1134
+ const {
1135
+ disabled
1136
+ } = this._adapter.getProps();
1137
+
1138
+ const {
1139
+ rangeInputFocus
1140
+ } = this._adapter.getStates();
1141
+
1142
+ if (disabled) {
1143
+ return;
1144
+ }
1145
+ /**
1146
+ * - 非范围选择时,trigger 为原生输入框,已在组件内处理了 focus 逻辑
1147
+ * - isEventTarget 函数用于判断触发事件的是否为 input wrapper。如果是冒泡上来的不用处理,因为在子级已经处理了 focus 逻辑。
1148
+ *
1149
+ * - When type is not range type, Input component will automatically focus in the same case
1150
+ * - isEventTarget is used to judge whether the event is a bubbling event
1151
+ */
1152
+
1153
+
1154
+ if (this._isRangeType() && !rangeInputFocus && this._adapter.isEventTarget(e)) {
1155
+ (0, _setTimeout2.default)(() => {
1156
+ // using setTimeout get correct state value 'rangeInputFocus'
1157
+ this.handleInputFocus(e, 'rangeStart');
1158
+ this.openPanel();
1159
+ }, 0);
1160
+ } else {
1161
+ this.openPanel();
1162
+ }
1163
+ }
1164
+
1165
+ }
1166
+
1167
+ exports.default = DatePickerFoundation;