@douyinfe/semi-foundation 2.1.0-next.0 → 2.1.0

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