@douyinfe/semi-foundation 2.1.0 → 2.1.4

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 (741) 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 +14 -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 +55 -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 +84 -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 +10 -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/navigation/foundation.js +2 -2
  673. package/lib/es/notification/notificationFoundation.js +2 -2
  674. package/lib/es/overflowList/foundation.js +6 -3
  675. package/lib/es/radio/radio.css +33 -2
  676. package/lib/es/radio/radio.scss +44 -1
  677. package/lib/es/radio/variables.scss +12 -2
  678. package/lib/es/rating/rating.css +3 -0
  679. package/lib/es/rating/rating.scss +4 -0
  680. package/lib/es/scrollList/itemFoundation.js +17 -7
  681. package/lib/es/select/foundation.js +9 -6
  682. package/lib/es/sideSheet/sideSheetFoundation.js +8 -7
  683. package/lib/es/table/bodyFoundation.js +14 -8
  684. package/lib/es/table/foundation.js +87 -67
  685. package/lib/es/table/utils.js +65 -42
  686. package/lib/es/tabs/foundation.js +2 -2
  687. package/lib/es/tagInput/foundation.js +10 -7
  688. package/lib/es/tagInput/utils/getSplitedArray.js +6 -4
  689. package/lib/es/timePicker/foundation.js +6 -4
  690. package/lib/es/timePicker/utils/index.js +5 -5
  691. package/lib/es/toast/toastFoundation.js +2 -2
  692. package/lib/es/tooltip/foundation.js +15 -16
  693. package/lib/es/transfer/foundation.js +2 -2
  694. package/lib/es/transfer/transferUtlls.js +4 -4
  695. package/lib/es/tree/foundation.js +14 -14
  696. package/lib/es/tree/treeUtil.js +21 -18
  697. package/lib/es/treeSelect/foundation.js +16 -9
  698. package/lib/es/utils/classnames.js +9 -5
  699. package/lib/es/utils/getHighlight.js +2 -3
  700. package/lib/es/utils/getMotionObjFromProps.js +6 -5
  701. package/lib/es/utils/log.js +2 -2
  702. package/lib/es/utils/object.js +31 -21
  703. package/lib/es/utils/set.js +2 -2
  704. package/navigation/foundation.ts +1 -1
  705. package/notification/notificationFoundation.ts +1 -1
  706. package/overflowList/foundation.ts +1 -1
  707. package/package.json +6 -4
  708. package/radio/radio.scss +44 -1
  709. package/radio/variables.scss +12 -2
  710. package/rating/rating.scss +4 -0
  711. package/scrollList/itemFoundation.ts +1 -1
  712. package/select/foundation.ts +1 -1
  713. package/sideSheet/sideSheetFoundation.ts +1 -1
  714. package/table/bodyFoundation.ts +1 -1
  715. package/table/foundation.ts +1 -1
  716. package/table/utils.ts +1 -1
  717. package/tabs/foundation.ts +1 -1
  718. package/tagInput/foundation.ts +1 -1
  719. package/tagInput/utils/getSplitedArray.ts +1 -1
  720. package/timePicker/foundation.ts +1 -1
  721. package/timePicker/utils/index.ts +1 -1
  722. package/toast/toastFoundation.ts +1 -1
  723. package/tooltip/foundation.ts +1 -1
  724. package/transfer/foundation.ts +1 -1
  725. package/transfer/transferUtlls.ts +1 -1
  726. package/tree/foundation.ts +1 -1
  727. package/tree/treeUtil.ts +2 -2
  728. package/treeSelect/foundation.ts +1 -1
  729. package/tsconfig.json +2 -1
  730. package/utils/classnames.ts +1 -1
  731. package/utils/getHighlight.ts +1 -1
  732. package/utils/getMotionObjFromProps.ts +1 -1
  733. package/utils/log.ts +1 -1
  734. package/utils/object.ts +1 -1
  735. package/utils/set.ts +1 -1
  736. package/babel.config.js +0 -33
  737. package/icons/icons.scss +0 -39
  738. package/icons/variables.scss +0 -7
  739. package/lib/es/icons/icons.css +0 -40
  740. package/lib/es/icons/icons.scss +0 -39
  741. package/lib/es/icons/variables.scss +0 -7
@@ -0,0 +1,1220 @@
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 _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
14
+
15
+ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
16
+
17
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
18
+
19
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
20
+
21
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
22
+
23
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
24
+
25
+ var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
26
+
27
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
28
+
29
+ var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
30
+
31
+ var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
32
+
33
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/keys"));
34
+
35
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
36
+
37
+ var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/entries"));
38
+
39
+ var _omit2 = _interopRequireDefault(require("lodash/omit"));
40
+
41
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
42
+
43
+ var _isString2 = _interopRequireDefault(require("lodash/isString"));
44
+
45
+ var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
46
+
47
+ var _foundation = _interopRequireDefault(require("../base/foundation"));
48
+
49
+ var _keyCode = _interopRequireDefault(require("../utils/keyCode"));
50
+
51
+ var _warning = _interopRequireDefault(require("../utils/warning"));
52
+
53
+ var _isNullOrUndefined = _interopRequireDefault(require("../utils/isNullOrUndefined"));
54
+
55
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
56
+ var t = {};
57
+
58
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && (0, _indexOf.default)(e).call(e, p) < 0) t[p] = s[p];
59
+
60
+ if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
61
+ if ((0, _indexOf.default)(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
62
+ }
63
+ return t;
64
+ };
65
+ /* argus-disable unPkgSensitiveInfo */
66
+
67
+ /* eslint-disable max-len */
68
+
69
+
70
+ class SelectFoundation extends _foundation.default {
71
+ constructor(adapter) {
72
+ super((0, _assign.default)({}, adapter)); // keyboard event listner
73
+ // eslint-disable-next-line @typescript-eslint/member-ordering
74
+
75
+ this._keydownHandler = null;
76
+ }
77
+
78
+ init() {
79
+ this._setDropdownWidth();
80
+
81
+ const isDefaultOpen = this.getProp('defaultOpen');
82
+ const isOpen = this.getProp('open');
83
+
84
+ const originalOptions = this._collectOptions();
85
+
86
+ this._setDefaultSelection(originalOptions);
87
+
88
+ if (isDefaultOpen || isOpen) {
89
+ this.open(undefined, originalOptions);
90
+ }
91
+
92
+ const autoFocus = this.getProp('autoFocus');
93
+
94
+ if (autoFocus) {
95
+ this.focus();
96
+ }
97
+ }
98
+
99
+ focus() {
100
+ this._focusTrigger();
101
+
102
+ const isFilterable = this._isFilterable();
103
+
104
+ this._adapter.updateFocusState(true);
105
+
106
+ if (isFilterable) {
107
+ this.toggle2SearchInput(true);
108
+ }
109
+ }
110
+
111
+ _focusTrigger() {
112
+ this._adapter.focusTrigger(); // this.bindKeyBoardEvent();
113
+
114
+ }
115
+
116
+ destroy() {
117
+ this._adapter.unregisterClickOutsideHandler();
118
+
119
+ this.unBindKeyBoardEvent();
120
+ }
121
+
122
+ _setDropdownWidth() {
123
+ const {
124
+ style,
125
+ dropdownMatchSelectWidth
126
+ } = this.getProps();
127
+ let width;
128
+
129
+ if (dropdownMatchSelectWidth) {
130
+ var _context;
131
+
132
+ if (style && (0, _isNumber2.default)(style.width)) {
133
+ width = style.width;
134
+ } else if (style && (0, _isString2.default)(style.width) && !(0, _includes.default)(_context = style.width).call(_context, '%')) {
135
+ width = style.width;
136
+ } else {
137
+ width = this._adapter.getTriggerWidth();
138
+ }
139
+
140
+ this._adapter.setOptionWrapperWidth(width);
141
+ }
142
+ }
143
+
144
+ _collectOptions() {
145
+ const originalOptions = this._adapter.getOptionsFromChildren();
146
+
147
+ this._adapter.updateOptions(originalOptions); // Reposition the drop-down layer
148
+
149
+
150
+ this._adapter.rePositionDropdown();
151
+
152
+ return originalOptions;
153
+ }
154
+
155
+ _setDefaultSelection(originalOptions) {
156
+ let {
157
+ value
158
+ } = this.getProps();
159
+ const {
160
+ defaultValue
161
+ } = this.getProps();
162
+
163
+ if (this._isControlledComponent()) {// do nothing
164
+ } else {
165
+ value = defaultValue;
166
+ }
167
+
168
+ this._update(value, originalOptions);
169
+ } // call when props.optionList change
170
+
171
+
172
+ handleOptionListChange() {
173
+ const newOptionList = this._collectOptions();
174
+
175
+ const {
176
+ selections
177
+ } = this.getStates();
178
+ this.updateOptionsActiveStatus(selections, newOptionList); // reset focusIndex
179
+
180
+ const {
181
+ defaultActiveFirstOption
182
+ } = this.getProps();
183
+
184
+ if (defaultActiveFirstOption) {
185
+ this._adapter.updateFocusIndex(0);
186
+ }
187
+ } // In uncontrolled mode, when props.optionList change,
188
+ // but already had defaultValue or choose some option
189
+
190
+
191
+ handleOptionListChangeHadDefaultValue() {
192
+ const selections = this.getState('selections');
193
+ let value;
194
+ const {
195
+ onChangeWithObject
196
+ } = this.getProps();
197
+
198
+ const isMultiple = this._isMultiple();
199
+
200
+ switch (true) {
201
+ case isMultiple && Boolean(selections.size):
202
+ try {
203
+ var _context2;
204
+
205
+ value = (0, _map.default)(_context2 = [...selections]).call(_context2, item => // At this point item1 is directly the object
206
+ onChangeWithObject ? item[1] : item[1].value);
207
+ } catch (error) {
208
+ value = [];
209
+ }
210
+
211
+ break;
212
+
213
+ case isMultiple && !selections.size:
214
+ value = [];
215
+ break;
216
+
217
+ case !isMultiple && Boolean(selections.size):
218
+ try {
219
+ value = onChangeWithObject ? [...selections][0][1] : [...selections][0][1].value;
220
+ } catch (error) {}
221
+
222
+ break;
223
+
224
+ case !isMultiple && !selections.size:
225
+ break;
226
+
227
+ default:
228
+ break;
229
+ }
230
+
231
+ const originalOptions = this._adapter.getOptionsFromChildren();
232
+
233
+ this._update(value, originalOptions);
234
+ } // call when props.value change
235
+
236
+
237
+ handleValueChange(value) {
238
+ const {
239
+ allowCreate
240
+ } = this.getProps();
241
+ let originalOptions; // AllowCreate and controlled mode, no need to re-collect optionList
242
+
243
+ if (allowCreate && this._isControlledComponent()) {
244
+ originalOptions = this.getState('options');
245
+ (0, _forEach.default)(originalOptions).call(originalOptions, item => item._show = true);
246
+ } else {
247
+ // originalOptions = this.getState('options');
248
+ // The options in state cannot be used directly here, because it is possible to update the optionList and props.value at the same time, and the options in state are still old at this time
249
+ originalOptions = this._adapter.getOptionsFromChildren();
250
+ } // Multi-selection, controlled mode, you need to reposition the drop-down menu after updating
251
+
252
+
253
+ this._adapter.rePositionDropdown();
254
+
255
+ this._update(value, originalOptions);
256
+ } // Update the selected item in the selection box
257
+
258
+
259
+ _update(propValue, originalOptions) {
260
+ let selections;
261
+
262
+ if (!this._isMultiple()) {
263
+ // Radio
264
+ selections = this._updateSingle(propValue, originalOptions);
265
+ } else {
266
+ selections = this._updateMultiple(propValue, originalOptions);
267
+ } // Update the text in the selection box
268
+
269
+
270
+ this._adapter.updateSelection(selections); // Update the selected item in the drop-down box
271
+
272
+
273
+ this.updateOptionsActiveStatus(selections, originalOptions);
274
+ } // Optionally selected updates (when components are mounted, or after value changes)
275
+
276
+
277
+ _updateSingle(propValue, originalOptions) {
278
+ const selections = new _map2.default();
279
+ const {
280
+ onChangeWithObject
281
+ } = this.getProps(); // When onChangeWithObject is true, the defaultValue or Value passed by the props should be the object, which corresponds to the result returned by onChange, so the value of the object needs to be taken as a judgment comparison
282
+
283
+ const selectedValue = onChangeWithObject && typeof propValue !== 'undefined' ? propValue.value : propValue;
284
+ const selectedOptions = (0, _filter.default)(originalOptions).call(originalOptions, option => option.value === selectedValue);
285
+ const noMatchOptionInList = !selectedOptions.length && typeof selectedValue !== 'undefined'; // If the current value, there is a matching option in the optionList
286
+
287
+ if (selectedOptions.length) {
288
+ const selectedOption = selectedOptions[0];
289
+ const optionExist = (0, _assign.default)({}, selectedOption); // if (onChangeWithObject) {
290
+ // OptionExist = {... propValue }; // value is the object with the'value 'Key
291
+ // }
292
+
293
+ selections.set(optionExist.label, optionExist);
294
+ } else if (noMatchOptionInList) {
295
+ // If the current value does not have a corresponding item in the optionList, construct an option and update it to the selection. However, it does not need to be inserted into the list
296
+ let optionNotExist = {
297
+ value: propValue,
298
+ label: propValue,
299
+ _notExist: true,
300
+ _scrollIndex: -1
301
+ };
302
+
303
+ if (onChangeWithObject) {
304
+ optionNotExist = (0, _assign.default)((0, _assign.default)({}, propValue), {
305
+ _notExist: true,
306
+ _scrollIndex: -1
307
+ });
308
+ }
309
+
310
+ selections.set(optionNotExist.label, optionNotExist);
311
+ }
312
+
313
+ return selections;
314
+ } // Multi-selected option update (when the component is mounted, or after the value changes)
315
+
316
+
317
+ _updateMultiple(propValue, originalOptions) {
318
+ const nowSelections = this.getState('selections');
319
+ let selectedOptionList = []; // Multiple selection is to determine whether it is an array to avoid the problem of defaultValue/value incoming string error
320
+
321
+ const propValueIsArray = (0, _isArray.default)(propValue);
322
+ this.checkMultipleProps(); // If N values are currently selected, the corresponding option data is retrieved from the current selections for retrieval. Because these selected options may not exist in the new optionList
323
+
324
+ if (nowSelections.size) {
325
+ var _context3;
326
+
327
+ selectedOptionList = (0, _map.default)(_context3 = [...nowSelections]).call(_context3, item => item[1]);
328
+ }
329
+
330
+ const selections = new _map2.default();
331
+ let selectedValues = propValue;
332
+ const {
333
+ onChangeWithObject
334
+ } = this.getProps(); // When onChangeWithObject is true
335
+
336
+ if (onChangeWithObject && propValueIsArray) {
337
+ selectedValues = (0, _map.default)(propValue).call(propValue, item => item.value);
338
+ }
339
+
340
+ if (propValueIsArray && selectedValues.length) {
341
+ (0, _forEach.default)(selectedValues).call(selectedValues, (selectedValue, i) => {
342
+ // The current value exists in the current optionList
343
+ const index = (0, _findIndex.default)(originalOptions).call(originalOptions, option => option.value === selectedValue);
344
+
345
+ if (index !== -1) {
346
+ selections.set(originalOptions[index].label, originalOptions[index]);
347
+ } else {
348
+ // The current value exists in the optionList that has been selected before the change, and does not exist in the current optionList, then directly take the corresponding value from the selections, no need to construct a new option
349
+ const indexInSelectedList = (0, _findIndex.default)(selectedOptionList).call(selectedOptionList, option => option.value === selectedValue);
350
+
351
+ if (indexInSelectedList !== -1) {
352
+ const option = selectedOptionList[indexInSelectedList];
353
+ selections.set(option.label, option);
354
+ } else {
355
+ // The current value does not exist in the current optionList or the list before the change. Construct an option and update it to the selection
356
+ let optionNotExist = {
357
+ value: selectedValue,
358
+ label: selectedValue,
359
+ _notExist: true
360
+ };
361
+ onChangeWithObject ? optionNotExist = (0, _assign.default)((0, _assign.default)({}, propValue[i]), {
362
+ _notExist: true
363
+ }) : null;
364
+ selections.set(optionNotExist.label, (0, _assign.default)((0, _assign.default)({}, optionNotExist), {
365
+ _scrollIndex: -1
366
+ }));
367
+ }
368
+ }
369
+ });
370
+ }
371
+
372
+ return selections;
373
+ }
374
+
375
+ _isMultiple() {
376
+ return this.getProp('multiple');
377
+ }
378
+
379
+ _isDisabled() {
380
+ return this.getProp('disabled');
381
+ }
382
+
383
+ _isFilterable() {
384
+ return Boolean(this.getProp('filter')); // filter can be boolean or function
385
+ }
386
+
387
+ handleClick(e) {
388
+ const {
389
+ clickToHide
390
+ } = this.getProps();
391
+ const {
392
+ isOpen
393
+ } = this.getStates();
394
+
395
+ const isDisabled = this._isDisabled();
396
+
397
+ if (isDisabled) {
398
+ return;
399
+ } else if (!isOpen) {
400
+ this.open();
401
+
402
+ this._notifyFocus(e);
403
+ } else if (isOpen && clickToHide) {
404
+ this.close(e);
405
+ } else if (isOpen && !clickToHide) {
406
+ this.focusInput();
407
+ }
408
+ }
409
+
410
+ open(acInput, originalOptions) {
411
+ const isFilterable = this._isFilterable();
412
+
413
+ const options = originalOptions || this.getState('options'); // When searchable, when the drop-down box expands
414
+
415
+ if (isFilterable) {
416
+ var _context4;
417
+
418
+ // Also clears the options filter to show all candidates
419
+ // Options created dynamically but not selected are also filtered out
420
+ const sugInput = '';
421
+ const newOptions = (0, _filter.default)(_context4 = this._filterOption(options, sugInput)).call(_context4, item => !item._inputCreateOnly);
422
+
423
+ this._adapter.updateOptions(newOptions);
424
+
425
+ this.toggle2SearchInput(true);
426
+ }
427
+
428
+ this._adapter.openMenu();
429
+
430
+ this._setDropdownWidth();
431
+
432
+ this._adapter.notifyDropdownVisibleChange(true);
433
+
434
+ this.bindKeyBoardEvent();
435
+
436
+ this._adapter.registerClickOutsideHandler(e => {
437
+ this.close(e);
438
+ });
439
+ }
440
+
441
+ toggle2SearchInput(isShow) {
442
+ if (isShow) {
443
+ this._adapter.toggleInputShow(isShow, () => this.focusInput());
444
+ } else {
445
+ this._adapter.toggleInputShow(isShow, () => undefined);
446
+ }
447
+ }
448
+
449
+ close(e) {
450
+ const isFilterable = this._isFilterable();
451
+
452
+ if (isFilterable) {
453
+ this.unBindKeyBoardEvent();
454
+ this.clearInput();
455
+ this.toggle2SearchInput(false);
456
+ }
457
+
458
+ this._adapter.closeMenu();
459
+
460
+ this._adapter.notifyDropdownVisibleChange(false);
461
+
462
+ this.unBindKeyBoardEvent();
463
+
464
+ this._notifyBlur(e);
465
+
466
+ this._adapter.unregisterClickOutsideHandler();
467
+
468
+ this._adapter.updateFocusState(false);
469
+ }
470
+
471
+ onSelect(option, optionIndex, event) {
472
+ const isDisabled = this._isDisabled();
473
+
474
+ if (isDisabled) {
475
+ return;
476
+ } // If the allowCreate dynamically created option is selected, onCreate needs to be triggered
477
+
478
+
479
+ if (option._inputCreateOnly) {
480
+ this._adapter.notifyCreate(option);
481
+ }
482
+
483
+ const isMultiple = this._isMultiple();
484
+
485
+ if (!isMultiple) {
486
+ this._handleSingleSelect(option, event);
487
+ } else {
488
+ this._handleMultipleSelect(option, event);
489
+ }
490
+
491
+ this._adapter.updateFocusIndex(optionIndex);
492
+ }
493
+
494
+ _handleSingleSelect(_a, event) {
495
+ var {
496
+ value,
497
+ label
498
+ } = _a,
499
+ rest = __rest(_a, ["value", "label"]);
500
+
501
+ const selections = new _map2.default().set(label, (0, _assign.default)({
502
+ value,
503
+ label
504
+ }, rest)); // First trigger onSelect, then trigger onChange
505
+
506
+ this._notifySelect(value, (0, _assign.default)({
507
+ value,
508
+ label
509
+ }, rest)); // If it is a controlled component, directly notify
510
+
511
+
512
+ if (this._isControlledComponent()) {
513
+ this._notifyChange(selections);
514
+
515
+ this.close(event);
516
+ } else {
517
+ this._adapter.updateSelection(selections); // notify user
518
+
519
+
520
+ this._notifyChange(selections); // Update the selected item in the drop-down box
521
+
522
+
523
+ this.close(event);
524
+ this.updateOptionsActiveStatus(selections);
525
+ }
526
+ }
527
+
528
+ _handleMultipleSelect(_a, event) {
529
+ var {
530
+ value,
531
+ label
532
+ } = _a,
533
+ rest = __rest(_a, ["value", "label"]);
534
+
535
+ const maxLimit = this._adapter.getMaxLimit();
536
+
537
+ const selections = this._adapter.getSelections();
538
+
539
+ if (selections.has(label)) {
540
+ this._notifyDeselect(value, (0, _assign.default)({
541
+ value,
542
+ label
543
+ }, rest));
544
+
545
+ selections.delete(label);
546
+ } else if (maxLimit && selections.size === maxLimit) {
547
+ this._adapter.notifyMaxLimit((0, _assign.default)({
548
+ value,
549
+ label
550
+ }, (0, _omit2.default)(rest, '_scrollIndex')));
551
+
552
+ return;
553
+ } else {
554
+ this._notifySelect(value, (0, _assign.default)({
555
+ value,
556
+ label
557
+ }, rest));
558
+
559
+ selections.set(label, (0, _assign.default)({
560
+ value,
561
+ label
562
+ }, rest));
563
+ }
564
+
565
+ if (this._isControlledComponent()) {
566
+ // Controlled components, directly notified
567
+ this._notifyChange(selections);
568
+
569
+ if (this._isFilterable()) {
570
+ this.clearInput();
571
+ this.focusInput();
572
+ }
573
+ } else {
574
+ // Uncontrolled components, update ui
575
+ this._adapter.updateSelection(selections); // In multi-select mode, the drop-down pop-up layer is repositioned every time the value is changed, because the height selection of the selection box may have changed
576
+
577
+
578
+ this._adapter.rePositionDropdown();
579
+
580
+ let {
581
+ options
582
+ } = this.getStates(); // Searchable filtering, when selected, resets Input
583
+
584
+ if (this._isFilterable()) {
585
+ this.clearInput();
586
+ this.focusInput(); // At the same time, the filtering of options is also cleared, in order to show all candidates
587
+
588
+ const sugInput = '';
589
+ options = this._filterOption(options, sugInput);
590
+ }
591
+
592
+ this.updateOptionsActiveStatus(selections, options);
593
+
594
+ this._notifyChange(selections);
595
+ }
596
+ }
597
+
598
+ clearSelected() {
599
+ const selections = new _map2.default();
600
+
601
+ if (this._isControlledComponent()) {
602
+ this._notifyChange(selections);
603
+
604
+ this._adapter.notifyClear();
605
+ } else {
606
+ this._adapter.updateSelection(selections);
607
+
608
+ this.updateOptionsActiveStatus(selections);
609
+
610
+ this._notifyChange(selections);
611
+
612
+ this._adapter.notifyClear();
613
+ } // when call manually by ref method
614
+
615
+
616
+ const {
617
+ isOpen
618
+ } = this.getStates();
619
+
620
+ if (isOpen) {
621
+ this._adapter.rePositionDropdown();
622
+ }
623
+ } // Update the selected item in the drop-down box
624
+
625
+
626
+ updateOptionsActiveStatus(selections) {
627
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getState('options');
628
+ const {
629
+ allowCreate
630
+ } = this.getProps();
631
+ const newOptions = (0, _map.default)(options).call(options, option => {
632
+ if (selections.has(option.label)) {
633
+ option._selected = true;
634
+
635
+ if (allowCreate) {
636
+ delete option._inputCreateOnly;
637
+ }
638
+ } else {
639
+ if (option._inputCreateOnly) {
640
+ option._show = false;
641
+ }
642
+
643
+ option._selected = false;
644
+ }
645
+
646
+ return option;
647
+ });
648
+
649
+ this._adapter.updateOptions(newOptions);
650
+ }
651
+
652
+ removeTag(item) {
653
+ const selections = this._adapter.getSelections();
654
+
655
+ selections.delete(item.label);
656
+
657
+ if (this._isControlledComponent()) {
658
+ this._notifyDeselect(item.value, item);
659
+
660
+ this._notifyChange(selections);
661
+ } else {
662
+ this._notifyDeselect(item.value, item);
663
+
664
+ this._adapter.updateSelection(selections);
665
+
666
+ this.updateOptionsActiveStatus(selections); // Repostion drop-down layer, because the selection may have changed the number of rows, resulting in a height change
667
+
668
+ this._adapter.rePositionDropdown();
669
+
670
+ this._notifyChange(selections);
671
+ }
672
+ }
673
+
674
+ clearInput() {
675
+ this._adapter.updateInputValue('');
676
+ }
677
+
678
+ focusInput() {
679
+ this._adapter.focusInput();
680
+
681
+ this._adapter.updateFocusState(true);
682
+ }
683
+
684
+ handleInputChange(sugInput) {
685
+ // Input is a controlled component, so the value needs to be updated
686
+ this._adapter.updateInputValue(sugInput);
687
+
688
+ const {
689
+ options,
690
+ isOpen
691
+ } = this.getStates();
692
+ const {
693
+ allowCreate,
694
+ remote
695
+ } = this.getProps();
696
+ let optionsAfterFilter = options;
697
+
698
+ if (!remote) {
699
+ // Filter options based on input
700
+ optionsAfterFilter = this._filterOption(options, sugInput);
701
+ } // When allowClear is true, an entry can be created. You need to include the current input as a new Option input
702
+
703
+
704
+ optionsAfterFilter = this._createOptionByInput(allowCreate, optionsAfterFilter, sugInput);
705
+
706
+ this._adapter.updateOptions(optionsAfterFilter);
707
+
708
+ this._adapter.notifySearch(sugInput); // In multi-select mode, the drop-down box is repositioned each time you enter, because it may cause a line break as the input changes
709
+
710
+
711
+ if (this._isMultiple()) {
712
+ this._adapter.rePositionDropdown();
713
+ }
714
+ }
715
+
716
+ _filterOption(originalOptions, sugInput) {
717
+ const filter = this.getProp('filter');
718
+
719
+ if (!filter) {
720
+ // 1. No filtering
721
+ return originalOptions;
722
+ } else if (typeof filter === 'boolean' && filter) {
723
+ // 2. When true, the default filter is used
724
+ const input = sugInput.toLowerCase();
725
+ return (0, _map.default)(originalOptions).call(originalOptions, option => {
726
+ var _context5;
727
+
728
+ const label = option.label.toString().toLowerCase();
729
+ const groupLabel = option._parentGroup && option._parentGroup.label;
730
+ const matchOption = (0, _includes.default)(label).call(label, input);
731
+ const matchGroup = (0, _isString2.default)(groupLabel) && (0, _includes.default)(_context5 = groupLabel.toLowerCase()).call(_context5, input);
732
+
733
+ if (matchOption || matchGroup) {
734
+ option._show = true;
735
+ } else {
736
+ option._show = false;
737
+ }
738
+
739
+ return option;
740
+ });
741
+ } else if (typeof filter === 'function') {
742
+ // 3. When passing in a custom function, use a custom function for filtering
743
+ return (0, _map.default)(originalOptions).call(originalOptions, option => {
744
+ filter(sugInput, option) ? option._show = true : option._show = false;
745
+ return option;
746
+ });
747
+ }
748
+
749
+ return undefined;
750
+ }
751
+
752
+ _createOptionByInput(allowCreate, optionsAfterFilter, sugInput) {
753
+ if (allowCreate) {
754
+ if (sugInput) {
755
+ // optionsAfterFilter clone ??? needClone ?
756
+ const newOptionByInput = {
757
+ _show: true,
758
+ _selected: false,
759
+ value: sugInput,
760
+ label: sugInput,
761
+ // True indicates that the option was dynamically created during user filtering
762
+ _inputCreateOnly: true
763
+ };
764
+ let createOptionIndex = -1;
765
+ let matchOptionIndex = -1;
766
+ (0, _forEach.default)(optionsAfterFilter).call(optionsAfterFilter, (option, index) => {
767
+ if (!option._show && !option._inputCreateOnly) {
768
+ return;
769
+ } // The matching algorithm is not necessarily through labels?
770
+
771
+
772
+ if (option.label === sugInput) {
773
+ matchOptionIndex = index;
774
+ }
775
+
776
+ if (option._inputCreateOnly) {
777
+ createOptionIndex = index;
778
+ option.value = sugInput;
779
+ option.label = sugInput;
780
+ option._show = true;
781
+ }
782
+ });
783
+
784
+ if (createOptionIndex === -1 && matchOptionIndex === -1) {
785
+ optionsAfterFilter.push(newOptionByInput);
786
+ }
787
+
788
+ if (matchOptionIndex !== -1) {
789
+ optionsAfterFilter = (0, _filter.default)(optionsAfterFilter).call(optionsAfterFilter, item => !item._inputCreateOnly);
790
+ }
791
+ } else {
792
+ // Delete input unselected items
793
+ optionsAfterFilter = (0, _filter.default)(optionsAfterFilter).call(optionsAfterFilter, item => !item._inputCreateOnly);
794
+ }
795
+ } // TODO Promise supports asynchronous creation
796
+
797
+
798
+ return optionsAfterFilter;
799
+ }
800
+
801
+ bindKeyBoardEvent() {
802
+ this._keydownHandler = event => {
803
+ this._handleKeyDown(event);
804
+ };
805
+
806
+ this._adapter.registerKeyDown(this._keydownHandler);
807
+ }
808
+
809
+ unBindKeyBoardEvent() {
810
+ if (this._keydownHandler) {
811
+ this._adapter.unregisterKeyDown();
812
+ }
813
+ }
814
+
815
+ _handleKeyDown(event) {
816
+ const key = event.keyCode;
817
+ const {
818
+ isOpen
819
+ } = this.getStates();
820
+ const {
821
+ loading
822
+ } = this.getProps();
823
+
824
+ if (!isOpen || loading) {
825
+ return;
826
+ }
827
+
828
+ switch (key) {
829
+ case _keyCode.default.UP:
830
+ // Prevent Input's cursor from following
831
+ // Prevent Input cursor from following
832
+ event.preventDefault();
833
+
834
+ this._handleArrowKeyDown(-1);
835
+
836
+ break;
837
+
838
+ case _keyCode.default.DOWN:
839
+ // Prevent Input's cursor from following
840
+ // Prevent Input cursor from following
841
+ event.preventDefault();
842
+
843
+ this._handleArrowKeyDown(1);
844
+
845
+ break;
846
+
847
+ case _keyCode.default.BACKSPACE:
848
+ this._handleBackspaceKeyDown();
849
+
850
+ break;
851
+
852
+ case _keyCode.default.ENTER:
853
+ // internal-issues:302
854
+ // prevent trigger form’s submit when use in form
855
+ event.preventDefault();
856
+ event.stopPropagation();
857
+
858
+ this._handleEnterKeyDown(event);
859
+
860
+ break;
861
+
862
+ case _keyCode.default.ESC:
863
+ this.close(event);
864
+ break;
865
+
866
+ default:
867
+ break;
868
+ }
869
+ }
870
+
871
+ _getEnableFocusIndex(offset) {
872
+ const {
873
+ focusIndex,
874
+ options
875
+ } = this.getStates();
876
+ const visibleOptions = (0, _filter.default)(options).call(options, item => item._show); // let visibleOptions = options;
877
+
878
+ const optionsLength = visibleOptions.length;
879
+ let index = focusIndex + offset;
880
+
881
+ if (index < 0) {
882
+ index = optionsLength - 1;
883
+ }
884
+
885
+ if (index >= optionsLength) {
886
+ index = 0;
887
+ } // avoid newIndex option is disabled
888
+
889
+
890
+ if (offset > 0) {
891
+ let nearestActiveOption = -1;
892
+
893
+ for (let i = 0; i < visibleOptions.length; i++) {
894
+ const optionIsActive = !visibleOptions[i].disabled;
895
+
896
+ if (optionIsActive) {
897
+ nearestActiveOption = i;
898
+ }
899
+
900
+ if (nearestActiveOption >= index) {
901
+ break;
902
+ }
903
+ }
904
+
905
+ index = nearestActiveOption;
906
+ } else {
907
+ let nearestActiveOption = visibleOptions.length;
908
+
909
+ for (let i = optionsLength - 1; i >= 0; i--) {
910
+ const optionIsActive = !visibleOptions[i].disabled;
911
+
912
+ if (optionIsActive) {
913
+ nearestActiveOption = i;
914
+ }
915
+
916
+ if (nearestActiveOption <= index) {
917
+ break;
918
+ }
919
+ }
920
+
921
+ index = nearestActiveOption;
922
+ } // console.log('new:' + index);
923
+
924
+
925
+ this._adapter.updateFocusIndex(index); // TODO requires scrollIntoView
926
+
927
+ }
928
+
929
+ _handleArrowKeyDown(offset) {
930
+ this._getEnableFocusIndex(offset);
931
+ }
932
+
933
+ _handleEnterKeyDown(event) {
934
+ const {
935
+ isOpen,
936
+ options,
937
+ focusIndex
938
+ } = this.getStates();
939
+
940
+ if (focusIndex !== -1) {
941
+ const visibleOptions = (0, _filter.default)(options).call(options, item => item._show);
942
+ const {
943
+ length
944
+ } = visibleOptions; // fix issue 1201
945
+
946
+ if (length <= focusIndex) {
947
+ return;
948
+ }
949
+
950
+ if (visibleOptions && length) {
951
+ const selectedOption = visibleOptions[focusIndex];
952
+
953
+ if (selectedOption.disabled) {
954
+ return;
955
+ }
956
+
957
+ this.onSelect(selectedOption, focusIndex, event);
958
+ }
959
+ } else if (isOpen) {}
960
+ }
961
+
962
+ _handleBackspaceKeyDown() {
963
+ if (this._isMultiple()) {
964
+ const selections = this._adapter.getSelections();
965
+
966
+ const {
967
+ inputValue
968
+ } = this.getStates();
969
+ const length = selections.size;
970
+
971
+ if (length && !inputValue) {
972
+ const keys = [...(0, _keys.default)(selections).call(selections)];
973
+ let index = length - 1;
974
+ let targetLabel = keys[index];
975
+ let targetItem = selections.get(targetLabel);
976
+ let isAllDisabled = false; // can skip disabled item when remove trigger by backspace
977
+
978
+ if (targetItem.disabled && index === 0) {
979
+ return;
980
+ }
981
+
982
+ while (targetItem.disabled && index !== 0) {
983
+ index = index - 1;
984
+ targetLabel = keys[index];
985
+ targetItem = selections.get(targetLabel); // eslint-disable-next-line
986
+
987
+ if (index == 0 && targetItem.disabled) {
988
+ isAllDisabled = true;
989
+ }
990
+ }
991
+
992
+ if (!isAllDisabled) {
993
+ this.removeTag(targetItem);
994
+ }
995
+ }
996
+ }
997
+ }
998
+
999
+ _notifyChange(selections) {
1000
+ const {
1001
+ onChangeWithObject
1002
+ } = this.getProps();
1003
+ const stateSelections = this.getState('selections');
1004
+ let notifyVal;
1005
+ const selectionsProps = [...(0, _values.default)(selections).call(selections)];
1006
+
1007
+ const isMultiple = this._isMultiple();
1008
+
1009
+ const hasChange = this._diffSelections(selections, stateSelections, isMultiple);
1010
+
1011
+ if (!hasChange) {
1012
+ return;
1013
+ }
1014
+
1015
+ switch (true) {
1016
+ case onChangeWithObject:
1017
+ this._notifyChangeWithObject(selections);
1018
+
1019
+ break;
1020
+
1021
+ case !onChangeWithObject && !isMultiple:
1022
+ notifyVal = selectionsProps.length ? selectionsProps[0].value : undefined;
1023
+
1024
+ this._adapter.notifyChange(notifyVal);
1025
+
1026
+ break;
1027
+
1028
+ case !onChangeWithObject && isMultiple:
1029
+ notifyVal = selectionsProps.length ? (0, _map.default)(selectionsProps).call(selectionsProps, props => props.value) : [];
1030
+
1031
+ this._adapter.notifyChange(notifyVal);
1032
+
1033
+ break;
1034
+
1035
+ default:
1036
+ break;
1037
+ }
1038
+ }
1039
+
1040
+ _removeInternalKey(option) {
1041
+ delete option._parentGroup;
1042
+ delete option._show;
1043
+ delete option._selected;
1044
+ delete option._scrollIndex;
1045
+
1046
+ if ('_keyInOptionList' in option) {
1047
+ option.key = option._keyInOptionList;
1048
+ delete option._keyInOptionList;
1049
+ }
1050
+
1051
+ return option;
1052
+ }
1053
+
1054
+ _notifySelect(value, option) {
1055
+ const newOption = this._removeInternalKey(option);
1056
+
1057
+ this._adapter.notifySelect(value, newOption);
1058
+ }
1059
+
1060
+ _notifyDeselect(value, option) {
1061
+ const newOption = this._removeInternalKey(option);
1062
+
1063
+ this._adapter.notifyDeselect(value, newOption);
1064
+ }
1065
+
1066
+ _diffSelections(selections, oldSelections, isMultiple) {
1067
+ let diff = true;
1068
+
1069
+ if (!isMultiple) {
1070
+ const selectionProps = [...(0, _values.default)(selections).call(selections)];
1071
+ const oldSelectionProps = [...(0, _values.default)(oldSelections).call(oldSelections)];
1072
+ const optionLabel = selectionProps[0] ? selectionProps[0].label : selectionProps[0];
1073
+ const oldOptionLabel = oldSelectionProps[0] ? oldSelectionProps[0].label : oldSelectionProps[0];
1074
+ diff = !(0, _isEqual2.default)(optionLabel, oldOptionLabel);
1075
+ } else {// When multiple selection, there is no scene where the value is different between the two operations
1076
+ }
1077
+
1078
+ return diff;
1079
+ } // When onChangeWithObject is true, the onChange input parameter is not only value, but also label and other parameters
1080
+
1081
+
1082
+ _notifyChangeWithObject(selections) {
1083
+ const stateSelections = this.getState('selections');
1084
+ const values = [];
1085
+
1086
+ for (const item of (0, _entries.default)(selections).call(selections)) {
1087
+ let val = (0, _assign.default)({
1088
+ label: item[0]
1089
+ }, item[1]);
1090
+ val = this._removeInternalKey(val);
1091
+ values.push(val);
1092
+ }
1093
+
1094
+ if (!this._isMultiple()) {
1095
+ this._adapter.notifyChange(values[0]);
1096
+ } else {
1097
+ this._adapter.notifyChange(values);
1098
+ }
1099
+ } // Scenes that may trigger blur:
1100
+ // 1、clickOutSide
1101
+ // 2、click option / press enter, and then select complete(when multiple is false
1102
+ // 3、press esc when dropdown list open
1103
+
1104
+
1105
+ _notifyBlur(e) {
1106
+ this._adapter.notifyBlur(e);
1107
+ } // Scenes that may trigger focus:
1108
+ // 1、click selection
1109
+
1110
+
1111
+ _notifyFocus(e) {
1112
+ this._adapter.notifyFocus(e);
1113
+ }
1114
+
1115
+ handleMouseEnter(e) {
1116
+ this._adapter.updateHovering(true);
1117
+
1118
+ this._adapter.notifyMouseEnter(e);
1119
+ }
1120
+
1121
+ handleMouseLeave(e) {
1122
+ this._adapter.updateHovering(false);
1123
+
1124
+ this._adapter.notifyMouseLeave(e);
1125
+ }
1126
+
1127
+ handleClearClick(e) {
1128
+ this.clearInput(); // TODO
1129
+
1130
+ this.clearSelected(); // prevent this click open dropdown
1131
+
1132
+ e.stopPropagation();
1133
+ }
1134
+
1135
+ handleOptionMouseEnter(optionIndex) {
1136
+ this._adapter.updateFocusIndex(optionIndex);
1137
+ }
1138
+
1139
+ handleListScroll(e) {
1140
+ this._adapter.notifyListScroll(e);
1141
+ } // handleTriggerFocus(e) {
1142
+ // console.log('handleTriggerFocus');
1143
+ // this._adapter.updateFocusState(true);
1144
+ // }
1145
+
1146
+
1147
+ handleTriggerBlur(e) {
1148
+ this._adapter.updateFocusState(false);
1149
+
1150
+ const {
1151
+ filter,
1152
+ autoFocus
1153
+ } = this.getProps();
1154
+ const {
1155
+ isOpen,
1156
+ isFocus
1157
+ } = this.getStates(); // Under normal circumstances, blur will be accompanied by dropdown close, so the notify of blur can be called uniformly in close
1158
+ // But when autoFocus, because dropdown is not expanded, you need to listen for the trigger's blur and trigger the notify callback
1159
+
1160
+ if (autoFocus && isFocus && !isOpen) {
1161
+ // blur when autoFocus & not open dropdown yet
1162
+ this._notifyBlur(e);
1163
+ }
1164
+ }
1165
+
1166
+ selectAll() {
1167
+ const {
1168
+ options
1169
+ } = this.getStates();
1170
+ const {
1171
+ onChangeWithObject
1172
+ } = this.getProps();
1173
+ let selectedValues = [];
1174
+
1175
+ const isMultiple = this._isMultiple();
1176
+
1177
+ if (!isMultiple) {
1178
+ console.warn("[Semi Select]: It seems that you have called the selectAll method in the single-selection Select.\n Please note that this is not a legal way to use it");
1179
+ return;
1180
+ }
1181
+
1182
+ if (onChangeWithObject) {
1183
+ selectedValues = options;
1184
+ } else {
1185
+ selectedValues = (0, _map.default)(options).call(options, option => option.value);
1186
+ }
1187
+
1188
+ this.handleValueChange(selectedValues);
1189
+
1190
+ this._adapter.notifyChange(selectedValues);
1191
+ }
1192
+ /**
1193
+ * Check whether the props
1194
+ * -defaultValue/value in multiple selection mode is array
1195
+ * @param {Object} props
1196
+ */
1197
+
1198
+
1199
+ checkMultipleProps(props) {
1200
+ if (this._isMultiple()) {
1201
+ const currentProps = props ? props : this.getProps();
1202
+ const {
1203
+ defaultValue,
1204
+ value
1205
+ } = currentProps;
1206
+ const selectedValues = value || defaultValue;
1207
+
1208
+ if (!(0, _isNullOrUndefined.default)(selectedValues) && !(0, _isArray.default)(selectedValues)) {
1209
+ (0, _warning.default)(true, '[Semi Select] defaultValue/value should be array type in multiple mode');
1210
+ }
1211
+ }
1212
+ }
1213
+
1214
+ updateScrollTop() {
1215
+ this._adapter.updateScrollTop();
1216
+ }
1217
+
1218
+ }
1219
+
1220
+ exports.default = SelectFoundation;