tntd 2.7.30 → 2.7.31

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 (581) hide show
  1. package/es/ellipsis/index.js +2 -0
  2. package/es/ellipsis/index.js.map +1 -1
  3. package/lib/ellipsis/index.d.ts.map +1 -1
  4. package/lib/ellipsis/index.js +2 -0
  5. package/lib/ellipsis/index.js.map +1 -1
  6. package/package.json +1 -1
  7. package/themes/common/index.less +3 -3
  8. package/es/affix/style/index.less +0 -6
  9. package/es/alert/style/index.less +0 -188
  10. package/es/anchor/style/index.less +0 -82
  11. package/es/auto-complete/style/index.less +0 -92
  12. package/es/avatar/style/index.less +0 -59
  13. package/es/back-top/style/index.less +0 -42
  14. package/es/back-top/style/responsive.less +0 -11
  15. package/es/badge/style/index.less +0 -190
  16. package/es/breadcrumb/style/index.less +0 -51
  17. package/es/button/style/index.less +0 -224
  18. package/es/button/style/mixin.less +0 -357
  19. package/es/calendar/style/index.less +0 -278
  20. package/es/card/style/index.less +0 -263
  21. package/es/card/style/size.less +0 -25
  22. package/es/carousel/style/index.less +0 -238
  23. package/es/cascader/style/index.less +0 -227
  24. package/es/checkbox/style/index.less +0 -4
  25. package/es/checkbox/style/mixin.less +0 -220
  26. package/es/collapse/style/index.less +0 -134
  27. package/es/comment/style/index.less +0 -93
  28. package/es/config-provider/style/index.less +0 -2
  29. package/es/date-picker/style/Calendar.less +0 -402
  30. package/es/date-picker/style/DecadePanel.less +0 -81
  31. package/es/date-picker/style/MonthPanel.less +0 -86
  32. package/es/date-picker/style/MonthPicker.less +0 -11
  33. package/es/date-picker/style/Picker.less +0 -113
  34. package/es/date-picker/style/RangePicker.less +0 -248
  35. package/es/date-picker/style/TimePicker.less +0 -151
  36. package/es/date-picker/style/WeekPicker.less +0 -21
  37. package/es/date-picker/style/YearPanel.less +0 -85
  38. package/es/date-picker/style/index.less +0 -17
  39. package/es/descriptions/style/index.less +0 -144
  40. package/es/divider/style/index.less +0 -109
  41. package/es/drawer/style/drawer.less +0 -230
  42. package/es/drawer/style/index.less +0 -3
  43. package/es/dropdown/style/index.less +0 -282
  44. package/es/empty/style/index.less +0 -52
  45. package/es/form/style/index.less +0 -653
  46. package/es/form/style/mixin.less +0 -126
  47. package/es/grid-v4/style/index.less +0 -124
  48. package/es/grid-v4/style/mixin.less +0 -57
  49. package/es/grid-v4/style/rtl.less +0 -69
  50. package/es/handle/handle.js +0 -138
  51. package/es/handle/handle.js.map +0 -1
  52. package/es/icon/style/index.less +0 -4
  53. package/es/input/style/index.less +0 -57
  54. package/es/input/style/mixin.less +0 -449
  55. package/es/input/style/search-input.less +0 -34
  56. package/es/input-number/style/index.less +0 -179
  57. package/es/layout/style/index.less +0 -124
  58. package/es/layout/style/light.less +0 -15
  59. package/es/list/style/bordered.less +0 -41
  60. package/es/list/style/index.less +0 -234
  61. package/es/list/style/responsive.less +0 -40
  62. package/es/locale-provider/style/index.less +0 -2
  63. package/es/mention/index.js +0 -4
  64. package/es/mention/index.js.map +0 -1
  65. package/es/mentions/style/index.less +0 -164
  66. package/es/menu/style/dark.less +0 -139
  67. package/es/menu/style/index.less +0 -515
  68. package/es/message/style/index.less +0 -75
  69. package/es/modal/style/confirm.less +0 -78
  70. package/es/modal/style/index.less +0 -4
  71. package/es/modal/style/modal.less +0 -165
  72. package/es/notification/style/index.less +0 -199
  73. package/es/page-header/style/index.less +0 -119
  74. package/es/pagination/style/index.less +0 -400
  75. package/es/popover/style/index.less +0 -205
  76. package/es/progress/style/index.less +0 -182
  77. package/es/radio/style/index.less +0 -327
  78. package/es/rate/style/index.less +0 -85
  79. package/es/result/style/index.less +0 -71
  80. package/es/select/style/index.less +0 -604
  81. package/es/skeleton/style/index.less +0 -130
  82. package/es/slider/style/index.less +0 -197
  83. package/es/spin/style/index.less +0 -214
  84. package/es/statistic/style/index.less +0 -40
  85. package/es/steps/style/compatibility.less +0 -50
  86. package/es/steps/style/custom-icon.less +0 -31
  87. package/es/steps/style/label-placement.less +0 -38
  88. package/es/steps/style/progress-dot.less +0 -80
  89. package/es/steps/style/vertical.less +0 -74
  90. package/es/style/color/bezierEasing.less +0 -110
  91. package/es/style/color/colorPalette.less +0 -75
  92. package/es/style/color/colors.less +0 -149
  93. package/es/style/color/tinyColor.less +0 -1184
  94. package/es/style/core/base.less +0 -510
  95. package/es/style/core/iconfont.less +0 -19
  96. package/es/style/core/index.less +0 -4
  97. package/es/style/core/motion/fade.less +0 -31
  98. package/es/style/core/motion/move.less +0 -120
  99. package/es/style/core/motion/other.less +0 -40
  100. package/es/style/core/motion/slide.less +0 -120
  101. package/es/style/core/motion/swing.less +0 -34
  102. package/es/style/core/motion/zoom.less +0 -162
  103. package/es/style/core/motion.less +0 -20
  104. package/es/style/index.less +0 -2
  105. package/es/style/mixins/clearfix.less +0 -13
  106. package/es/style/mixins/compatibility.less +0 -22
  107. package/es/style/mixins/iconfont.less +0 -43
  108. package/es/style/mixins/index.less +0 -10
  109. package/es/style/mixins/motion.less +0 -35
  110. package/es/style/mixins/operation-unit.less +0 -18
  111. package/es/style/mixins/reset.less +0 -13
  112. package/es/style/mixins/size.less +0 -10
  113. package/es/style/mixins/typography.less +0 -49
  114. package/es/style/themes/default.less +0 -699
  115. package/es/style/themes/index.less +0 -1
  116. package/es/style/v2-compatible-reset.less +0 -51
  117. package/es/switch/style/index.less +0 -178
  118. package/es/table/style/index.less +0 -800
  119. package/es/table/style/size.less +0 -179
  120. package/es/tabs/style/card-style.less +0 -186
  121. package/es/tabs/style/index.less +0 -436
  122. package/es/tag/style/index.less +0 -106
  123. package/es/time-picker/style/index.less +0 -246
  124. package/es/timeline/style/index.less +0 -167
  125. package/es/tntd-form/TntdForm/components/Item.js +0 -55
  126. package/es/tntd-form/TntdForm/components/Item.js.map +0 -1
  127. package/es/tntd-form/TntdForm/components/ItemComp.js +0 -186
  128. package/es/tntd-form/TntdForm/components/ItemComp.js.map +0 -1
  129. package/es/tntd-form/TntdForm/components/List.js +0 -102
  130. package/es/tntd-form/TntdForm/components/List.js.map +0 -1
  131. package/es/tntd-form/TntdForm/index.js +0 -55
  132. package/es/tntd-form/TntdForm/index.js.map +0 -1
  133. package/es/tntd-form/TntdForm/interface.js +0 -1
  134. package/es/tntd-form/TntdForm/interface.js.map +0 -1
  135. package/es/tntd-form/TntdForm/store.js +0 -2
  136. package/es/tntd-form/TntdForm/store.js.map +0 -1
  137. package/es/tntd-form/TntdForm/utils.js +0 -219
  138. package/es/tntd-form/TntdForm/utils.js.map +0 -1
  139. package/es/tntd-form/_util/motion.js +0 -47
  140. package/es/tntd-form/_util/motion.js.map +0 -1
  141. package/es/tntd-form/_util/reactNode.js +0 -16
  142. package/es/tntd-form/_util/reactNode.js.map +0 -1
  143. package/es/tntd-form/_util/scrollTo.js +0 -35
  144. package/es/tntd-form/_util/scrollTo.js.map +0 -1
  145. package/es/tntd-form/_util/type.js +0 -3
  146. package/es/tntd-form/_util/type.js.map +0 -1
  147. package/es/tntd-form/_util/warning.js +0 -5
  148. package/es/tntd-form/_util/warning.js.map +0 -1
  149. package/es/tntd-form/_util/wave.js +0 -168
  150. package/es/tntd-form/_util/wave.js.map +0 -1
  151. package/es/tntd-form/tntd-form.stories.js +0 -836
  152. package/es/tntd-form/tntd-form.stories.js.map +0 -1
  153. package/es/tntd-select/_util/DisabledContext.js +0 -12
  154. package/es/tntd-select/_util/DisabledContext.js.map +0 -1
  155. package/es/tntd-select/_util/FormItemInputContext.js +0 -2
  156. package/es/tntd-select/_util/FormItemInputContext.js.map +0 -1
  157. package/es/tntd-select/_util/PurePanel.js +0 -66
  158. package/es/tntd-select/_util/PurePanel.js.map +0 -1
  159. package/es/tntd-select/_util/SizeContext.js +0 -2
  160. package/es/tntd-select/_util/SizeContext.js.map +0 -1
  161. package/es/tntd-select/_util/context.js +0 -12
  162. package/es/tntd-select/_util/context.js.map +0 -1
  163. package/es/tntd-select/_util/defaultRenderEmpty.js +0 -31
  164. package/es/tntd-select/_util/defaultRenderEmpty.js.map +0 -1
  165. package/es/tntd-select/_util/getIcons.js +0 -74
  166. package/es/tntd-select/_util/getIcons.js.map +0 -1
  167. package/es/tntd-select/_util/interface.js +0 -4
  168. package/es/tntd-select/_util/interface.js.map +0 -1
  169. package/es/tntd-select/_util/motion.js +0 -47
  170. package/es/tntd-select/_util/motion.js.map +0 -1
  171. package/es/tntd-select/_util/type.js +0 -3
  172. package/es/tntd-select/_util/type.js.map +0 -1
  173. package/es/tntd-select/_util/useCompactItemContext.js +0 -26
  174. package/es/tntd-select/_util/useCompactItemContext.js.map +0 -1
  175. package/es/tntd-select/_util/warning.js +0 -14
  176. package/es/tntd-select/_util/warning.js.map +0 -1
  177. package/es/tntd-select/rc-select/BaseSelect.js +0 -524
  178. package/es/tntd-select/rc-select/BaseSelect.js.map +0 -1
  179. package/es/tntd-select/rc-select/OptGroup.js +0 -4
  180. package/es/tntd-select/rc-select/OptGroup.js.map +0 -1
  181. package/es/tntd-select/rc-select/Option.js +0 -4
  182. package/es/tntd-select/rc-select/Option.js.map +0 -1
  183. package/es/tntd-select/rc-select/OptionList.js +0 -346
  184. package/es/tntd-select/rc-select/OptionList.js.map +0 -1
  185. package/es/tntd-select/rc-select/Select.js +0 -440
  186. package/es/tntd-select/rc-select/Select.js.map +0 -1
  187. package/es/tntd-select/rc-select/SelectContext.js +0 -3
  188. package/es/tntd-select/rc-select/SelectContext.js.map +0 -1
  189. package/es/tntd-select/rc-select/SelectTrigger.js +0 -130
  190. package/es/tntd-select/rc-select/SelectTrigger.js.map +0 -1
  191. package/es/tntd-select/rc-select/Selector/Input.js +0 -103
  192. package/es/tntd-select/rc-select/Selector/Input.js.map +0 -1
  193. package/es/tntd-select/rc-select/Selector/MultipleSelector.js +0 -171
  194. package/es/tntd-select/rc-select/Selector/MultipleSelector.js.map +0 -1
  195. package/es/tntd-select/rc-select/Selector/SingleSelector.js +0 -98
  196. package/es/tntd-select/rc-select/Selector/SingleSelector.js.map +0 -1
  197. package/es/tntd-select/rc-select/Selector/index.js +0 -158
  198. package/es/tntd-select/rc-select/Selector/index.js.map +0 -1
  199. package/es/tntd-select/rc-select/TransBtn.js +0 -36
  200. package/es/tntd-select/rc-select/TransBtn.js.map +0 -1
  201. package/es/tntd-select/rc-select/hooks/useAllowClear.js +0 -24
  202. package/es/tntd-select/rc-select/hooks/useAllowClear.js.map +0 -1
  203. package/es/tntd-select/rc-select/hooks/useBaseProps.js +0 -9
  204. package/es/tntd-select/rc-select/hooks/useBaseProps.js.map +0 -1
  205. package/es/tntd-select/rc-select/hooks/useCache.js +0 -38
  206. package/es/tntd-select/rc-select/hooks/useCache.js.map +0 -1
  207. package/es/tntd-select/rc-select/hooks/useDelayReset.js +0 -23
  208. package/es/tntd-select/rc-select/hooks/useDelayReset.js.map +0 -1
  209. package/es/tntd-select/rc-select/hooks/useFilterOptions.js +0 -55
  210. package/es/tntd-select/rc-select/hooks/useFilterOptions.js.map +0 -1
  211. package/es/tntd-select/rc-select/hooks/useId.js +0 -26
  212. package/es/tntd-select/rc-select/hooks/useId.js.map +0 -1
  213. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js +0 -16
  214. package/es/tntd-select/rc-select/hooks/useLayoutEffect.js.map +0 -1
  215. package/es/tntd-select/rc-select/hooks/useLock.js +0 -25
  216. package/es/tntd-select/rc-select/hooks/useLock.js.map +0 -1
  217. package/es/tntd-select/rc-select/hooks/useOptions.js +0 -43
  218. package/es/tntd-select/rc-select/hooks/useOptions.js.map +0 -1
  219. package/es/tntd-select/rc-select/hooks/useRefFunc.js +0 -13
  220. package/es/tntd-select/rc-select/hooks/useRefFunc.js.map +0 -1
  221. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js +0 -28
  222. package/es/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +0 -1
  223. package/es/tntd-select/rc-select/index.js +0 -7
  224. package/es/tntd-select/rc-select/index.js.map +0 -1
  225. package/es/tntd-select/rc-select/interface.js +0 -1
  226. package/es/tntd-select/rc-select/interface.js.map +0 -1
  227. package/es/tntd-select/rc-select/utils/commonUtil.js +0 -30
  228. package/es/tntd-select/rc-select/utils/commonUtil.js.map +0 -1
  229. package/es/tntd-select/rc-select/utils/keyUtil.js +0 -9
  230. package/es/tntd-select/rc-select/utils/keyUtil.js.map +0 -1
  231. package/es/tntd-select/rc-select/utils/legacyUtil.js +0 -55
  232. package/es/tntd-select/rc-select/utils/legacyUtil.js.map +0 -1
  233. package/es/tntd-select/rc-select/utils/platformUtil.js +0 -4
  234. package/es/tntd-select/rc-select/utils/platformUtil.js.map +0 -1
  235. package/es/tntd-select/rc-select/utils/valueUtil.js +0 -112
  236. package/es/tntd-select/rc-select/utils/valueUtil.js.map +0 -1
  237. package/es/tntd-select/rc-select/utils/warningPropsUtil.js +0 -112
  238. package/es/tntd-select/rc-select/utils/warningPropsUtil.js.map +0 -1
  239. package/es/tooltip/style/index.less +0 -187
  240. package/es/transfer/style/customize.less +0 -62
  241. package/es/transfer/style/index.less +0 -191
  242. package/es/tree/style/directory.less +0 -95
  243. package/es/tree/style/index.less +0 -280
  244. package/es/tree/style/mixin.less +0 -29
  245. package/es/tree-select/style/index.less +0 -191
  246. package/es/typography/style/index.less +0 -204
  247. package/es/upload/style/index.less +0 -542
  248. package/lib/affix/style/index.less +0 -6
  249. package/lib/alert/style/index.less +0 -188
  250. package/lib/anchor/style/index.less +0 -82
  251. package/lib/auto-complete/style/index.less +0 -92
  252. package/lib/avatar/style/index.less +0 -59
  253. package/lib/back-top/style/index.less +0 -42
  254. package/lib/back-top/style/responsive.less +0 -11
  255. package/lib/badge/style/index.less +0 -190
  256. package/lib/breadcrumb/style/index.less +0 -51
  257. package/lib/button/style/index.less +0 -224
  258. package/lib/button/style/mixin.less +0 -357
  259. package/lib/calendar/style/index.less +0 -278
  260. package/lib/card/style/index.less +0 -263
  261. package/lib/card/style/size.less +0 -25
  262. package/lib/carousel/style/index.less +0 -238
  263. package/lib/cascader/style/index.less +0 -227
  264. package/lib/checkbox/style/index.less +0 -4
  265. package/lib/checkbox/style/mixin.less +0 -220
  266. package/lib/collapse/style/index.less +0 -134
  267. package/lib/comment/style/index.less +0 -93
  268. package/lib/config-provider/style/index.less +0 -2
  269. package/lib/date-picker/style/Calendar.less +0 -402
  270. package/lib/date-picker/style/DecadePanel.less +0 -81
  271. package/lib/date-picker/style/MonthPanel.less +0 -86
  272. package/lib/date-picker/style/MonthPicker.less +0 -11
  273. package/lib/date-picker/style/Picker.less +0 -113
  274. package/lib/date-picker/style/RangePicker.less +0 -248
  275. package/lib/date-picker/style/TimePicker.less +0 -151
  276. package/lib/date-picker/style/WeekPicker.less +0 -21
  277. package/lib/date-picker/style/YearPanel.less +0 -85
  278. package/lib/date-picker/style/index.less +0 -17
  279. package/lib/descriptions/style/index.less +0 -144
  280. package/lib/divider/style/index.less +0 -109
  281. package/lib/drawer/style/drawer.less +0 -230
  282. package/lib/drawer/style/index.less +0 -3
  283. package/lib/dropdown/style/index.less +0 -282
  284. package/lib/empty/style/index.less +0 -52
  285. package/lib/form/style/index.less +0 -653
  286. package/lib/form/style/mixin.less +0 -126
  287. package/lib/grid-v4/style/index.less +0 -124
  288. package/lib/grid-v4/style/mixin.less +0 -57
  289. package/lib/grid-v4/style/rtl.less +0 -69
  290. package/lib/handle/handle.d.ts +0 -3
  291. package/lib/handle/handle.d.ts.map +0 -1
  292. package/lib/handle/handle.js +0 -181
  293. package/lib/handle/handle.js.map +0 -1
  294. package/lib/icon/style/index.less +0 -4
  295. package/lib/input/style/index.less +0 -57
  296. package/lib/input/style/mixin.less +0 -449
  297. package/lib/input/style/search-input.less +0 -34
  298. package/lib/input-number/style/index.less +0 -179
  299. package/lib/layout/style/index.less +0 -124
  300. package/lib/layout/style/light.less +0 -15
  301. package/lib/list/style/bordered.less +0 -41
  302. package/lib/list/style/index.less +0 -234
  303. package/lib/list/style/responsive.less +0 -40
  304. package/lib/locale-provider/style/index.less +0 -2
  305. package/lib/mention/index.js +0 -25
  306. package/lib/mentions/style/index.less +0 -164
  307. package/lib/menu/style/dark.less +0 -139
  308. package/lib/menu/style/index.less +0 -515
  309. package/lib/message/style/index.less +0 -75
  310. package/lib/modal/style/confirm.less +0 -78
  311. package/lib/modal/style/index.less +0 -4
  312. package/lib/modal/style/modal.less +0 -165
  313. package/lib/notification/style/index.less +0 -199
  314. package/lib/page-header/style/index.less +0 -119
  315. package/lib/pagination/style/index.less +0 -400
  316. package/lib/popover/style/index.less +0 -205
  317. package/lib/progress/style/index.less +0 -182
  318. package/lib/radio/style/index.less +0 -327
  319. package/lib/rate/style/index.less +0 -85
  320. package/lib/result/style/index.less +0 -71
  321. package/lib/select/style/index.less +0 -604
  322. package/lib/skeleton/style/index.less +0 -130
  323. package/lib/slider/style/index.less +0 -197
  324. package/lib/spin/style/index.less +0 -214
  325. package/lib/statistic/style/index.less +0 -40
  326. package/lib/steps/style/compatibility.less +0 -50
  327. package/lib/steps/style/custom-icon.less +0 -31
  328. package/lib/steps/style/label-placement.less +0 -38
  329. package/lib/steps/style/progress-dot.less +0 -80
  330. package/lib/steps/style/vertical.less +0 -74
  331. package/lib/style/color/bezierEasing.less +0 -110
  332. package/lib/style/color/colorPalette.less +0 -75
  333. package/lib/style/color/colors.less +0 -149
  334. package/lib/style/color/tinyColor.less +0 -1184
  335. package/lib/style/core/base.less +0 -510
  336. package/lib/style/core/iconfont.less +0 -19
  337. package/lib/style/core/index.less +0 -4
  338. package/lib/style/core/motion/fade.less +0 -31
  339. package/lib/style/core/motion/move.less +0 -120
  340. package/lib/style/core/motion/other.less +0 -40
  341. package/lib/style/core/motion/slide.less +0 -120
  342. package/lib/style/core/motion/swing.less +0 -34
  343. package/lib/style/core/motion/zoom.less +0 -162
  344. package/lib/style/core/motion.less +0 -20
  345. package/lib/style/index.less +0 -2
  346. package/lib/style/mixins/clearfix.less +0 -13
  347. package/lib/style/mixins/compatibility.less +0 -22
  348. package/lib/style/mixins/iconfont.less +0 -43
  349. package/lib/style/mixins/index.less +0 -10
  350. package/lib/style/mixins/motion.less +0 -35
  351. package/lib/style/mixins/operation-unit.less +0 -18
  352. package/lib/style/mixins/reset.less +0 -13
  353. package/lib/style/mixins/size.less +0 -10
  354. package/lib/style/mixins/typography.less +0 -49
  355. package/lib/style/themes/default.less +0 -699
  356. package/lib/style/themes/index.less +0 -1
  357. package/lib/style/v2-compatible-reset.less +0 -51
  358. package/lib/switch/style/index.less +0 -178
  359. package/lib/table/style/index.less +0 -800
  360. package/lib/table/style/size.less +0 -179
  361. package/lib/tabs/style/card-style.less +0 -186
  362. package/lib/tabs/style/index.less +0 -436
  363. package/lib/tag/style/index.less +0 -106
  364. package/lib/time-picker/style/index.less +0 -246
  365. package/lib/timeline/style/index.less +0 -167
  366. package/lib/tntd-form/TntdForm/components/Item.js +0 -65
  367. package/lib/tntd-form/TntdForm/components/ItemComp.js +0 -215
  368. package/lib/tntd-form/TntdForm/components/List.js +0 -123
  369. package/lib/tntd-form/TntdForm/index.js +0 -72
  370. package/lib/tntd-form/TntdForm/interface.js +0 -5
  371. package/lib/tntd-form/TntdForm/store.js +0 -10
  372. package/lib/tntd-form/TntdForm/utils.js +0 -239
  373. package/lib/tntd-form/_util/motion.d.ts +0 -9
  374. package/lib/tntd-form/_util/motion.d.ts.map +0 -1
  375. package/lib/tntd-form/_util/motion.js +0 -59
  376. package/lib/tntd-form/_util/motion.js.map +0 -1
  377. package/lib/tntd-form/_util/reactNode.d.ts +0 -9
  378. package/lib/tntd-form/_util/reactNode.d.ts.map +0 -1
  379. package/lib/tntd-form/_util/reactNode.js +0 -27
  380. package/lib/tntd-form/_util/reactNode.js.map +0 -1
  381. package/lib/tntd-form/_util/scrollTo.d.ts +0 -1
  382. package/lib/tntd-form/_util/scrollTo.d.ts.map +0 -1
  383. package/lib/tntd-form/_util/scrollTo.js +0 -35
  384. package/lib/tntd-form/_util/scrollTo.js.map +0 -1
  385. package/lib/tntd-form/_util/type.d.ts +0 -4
  386. package/lib/tntd-form/_util/type.d.ts.map +0 -1
  387. package/lib/tntd-form/_util/type.js +0 -21
  388. package/lib/tntd-form/_util/type.js.map +0 -1
  389. package/lib/tntd-form/_util/warning.d.ts +0 -5
  390. package/lib/tntd-form/_util/warning.d.ts.map +0 -1
  391. package/lib/tntd-form/_util/warning.js +0 -20
  392. package/lib/tntd-form/_util/warning.js.map +0 -1
  393. package/lib/tntd-form/_util/wave.d.ts +0 -1
  394. package/lib/tntd-form/_util/wave.d.ts.map +0 -1
  395. package/lib/tntd-form/_util/wave.js +0 -168
  396. package/lib/tntd-form/_util/wave.js.map +0 -1
  397. package/lib/tntd-form/tntd-form.stories.d.ts +0 -33
  398. package/lib/tntd-form/tntd-form.stories.d.ts.map +0 -1
  399. package/lib/tntd-form/tntd-form.stories.js +0 -943
  400. package/lib/tntd-form/tntd-form.stories.js.map +0 -1
  401. package/lib/tntd-select/_util/DisabledContext.d.ts +0 -10
  402. package/lib/tntd-select/_util/DisabledContext.d.ts.map +0 -1
  403. package/lib/tntd-select/_util/DisabledContext.js +0 -22
  404. package/lib/tntd-select/_util/DisabledContext.js.map +0 -1
  405. package/lib/tntd-select/_util/FormItemInputContext.d.ts +0 -4
  406. package/lib/tntd-select/_util/FormItemInputContext.d.ts.map +0 -1
  407. package/lib/tntd-select/_util/FormItemInputContext.js +0 -12
  408. package/lib/tntd-select/_util/FormItemInputContext.js.map +0 -1
  409. package/lib/tntd-select/_util/PurePanel.d.ts +0 -9
  410. package/lib/tntd-select/_util/PurePanel.d.ts.map +0 -1
  411. package/lib/tntd-select/_util/PurePanel.js +0 -90
  412. package/lib/tntd-select/_util/PurePanel.js.map +0 -1
  413. package/lib/tntd-select/_util/SizeContext.d.ts +0 -4
  414. package/lib/tntd-select/_util/SizeContext.d.ts.map +0 -1
  415. package/lib/tntd-select/_util/SizeContext.js +0 -12
  416. package/lib/tntd-select/_util/SizeContext.js.map +0 -1
  417. package/lib/tntd-select/_util/context.d.ts +0 -42
  418. package/lib/tntd-select/_util/context.d.ts.map +0 -1
  419. package/lib/tntd-select/_util/context.js +0 -22
  420. package/lib/tntd-select/_util/context.js.map +0 -1
  421. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts +0 -5
  422. package/lib/tntd-select/_util/defaultRenderEmpty.d.ts.map +0 -1
  423. package/lib/tntd-select/_util/defaultRenderEmpty.js +0 -44
  424. package/lib/tntd-select/_util/defaultRenderEmpty.js.map +0 -1
  425. package/lib/tntd-select/_util/getIcons.d.ts +0 -25
  426. package/lib/tntd-select/_util/getIcons.d.ts.map +0 -1
  427. package/lib/tntd-select/_util/getIcons.js +0 -84
  428. package/lib/tntd-select/_util/getIcons.js.map +0 -1
  429. package/lib/tntd-select/_util/interface.d.ts +0 -25
  430. package/lib/tntd-select/_util/interface.d.ts.map +0 -1
  431. package/lib/tntd-select/_util/interface.js +0 -16
  432. package/lib/tntd-select/_util/interface.js.map +0 -1
  433. package/lib/tntd-select/_util/motion.d.ts +0 -9
  434. package/lib/tntd-select/_util/motion.d.ts.map +0 -1
  435. package/lib/tntd-select/_util/motion.js +0 -59
  436. package/lib/tntd-select/_util/motion.js.map +0 -1
  437. package/lib/tntd-select/_util/type.d.ts +0 -10
  438. package/lib/tntd-select/_util/type.d.ts.map +0 -1
  439. package/lib/tntd-select/_util/type.js +0 -21
  440. package/lib/tntd-select/_util/type.js.map +0 -1
  441. package/lib/tntd-select/_util/useCompactItemContext.d.ts +0 -9
  442. package/lib/tntd-select/_util/useCompactItemContext.d.ts.map +0 -1
  443. package/lib/tntd-select/_util/useCompactItemContext.js +0 -35
  444. package/lib/tntd-select/_util/useCompactItemContext.js.map +0 -1
  445. package/lib/tntd-select/_util/warning.d.ts +0 -4
  446. package/lib/tntd-select/_util/warning.d.ts.map +0 -1
  447. package/lib/tntd-select/_util/warning.js +0 -24
  448. package/lib/tntd-select/_util/warning.js.map +0 -1
  449. package/lib/tntd-select/rc-select/BaseSelect.d.ts +0 -114
  450. package/lib/tntd-select/rc-select/BaseSelect.d.ts.map +0 -1
  451. package/lib/tntd-select/rc-select/BaseSelect.js +0 -566
  452. package/lib/tntd-select/rc-select/BaseSelect.js.map +0 -1
  453. package/lib/tntd-select/rc-select/OptGroup.d.ts +0 -13
  454. package/lib/tntd-select/rc-select/OptGroup.d.ts.map +0 -1
  455. package/lib/tntd-select/rc-select/OptGroup.js +0 -13
  456. package/lib/tntd-select/rc-select/OptGroup.js.map +0 -1
  457. package/lib/tntd-select/rc-select/Option.d.ts +0 -15
  458. package/lib/tntd-select/rc-select/Option.d.ts.map +0 -1
  459. package/lib/tntd-select/rc-select/Option.js +0 -13
  460. package/lib/tntd-select/rc-select/Option.js.map +0 -1
  461. package/lib/tntd-select/rc-select/OptionList.d.ts +0 -11
  462. package/lib/tntd-select/rc-select/OptionList.d.ts.map +0 -1
  463. package/lib/tntd-select/rc-select/OptionList.js +0 -372
  464. package/lib/tntd-select/rc-select/OptionList.js.map +0 -1
  465. package/lib/tntd-select/rc-select/Select.d.ts +0 -115
  466. package/lib/tntd-select/rc-select/Select.d.ts.map +0 -1
  467. package/lib/tntd-select/rc-select/Select.js +0 -509
  468. package/lib/tntd-select/rc-select/Select.js.map +0 -1
  469. package/lib/tntd-select/rc-select/SelectContext.d.ts +0 -23
  470. package/lib/tntd-select/rc-select/SelectContext.d.ts.map +0 -1
  471. package/lib/tntd-select/rc-select/SelectContext.js +0 -13
  472. package/lib/tntd-select/rc-select/SelectContext.js.map +0 -1
  473. package/lib/tntd-select/rc-select/SelectTrigger.d.ts +0 -31
  474. package/lib/tntd-select/rc-select/SelectTrigger.d.ts.map +0 -1
  475. package/lib/tntd-select/rc-select/SelectTrigger.js +0 -149
  476. package/lib/tntd-select/rc-select/SelectTrigger.js.map +0 -1
  477. package/lib/tntd-select/rc-select/Selector/Input.d.ts +0 -27
  478. package/lib/tntd-select/rc-select/Selector/Input.d.ts.map +0 -1
  479. package/lib/tntd-select/rc-select/Selector/Input.js +0 -110
  480. package/lib/tntd-select/rc-select/Selector/Input.js.map +0 -1
  481. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts +0 -17
  482. package/lib/tntd-select/rc-select/Selector/MultipleSelector.d.ts.map +0 -1
  483. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js +0 -193
  484. package/lib/tntd-select/rc-select/Selector/MultipleSelector.js.map +0 -1
  485. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts +0 -9
  486. package/lib/tntd-select/rc-select/Selector/SingleSelector.d.ts.map +0 -1
  487. package/lib/tntd-select/rc-select/Selector/SingleSelector.js +0 -116
  488. package/lib/tntd-select/rc-select/Selector/SingleSelector.js.map +0 -1
  489. package/lib/tntd-select/rc-select/Selector/index.d.ts +0 -83
  490. package/lib/tntd-select/rc-select/Selector/index.d.ts.map +0 -1
  491. package/lib/tntd-select/rc-select/Selector/index.js +0 -159
  492. package/lib/tntd-select/rc-select/Selector/index.js.map +0 -1
  493. package/lib/tntd-select/rc-select/TransBtn.d.ts +0 -13
  494. package/lib/tntd-select/rc-select/TransBtn.d.ts.map +0 -1
  495. package/lib/tntd-select/rc-select/TransBtn.js +0 -48
  496. package/lib/tntd-select/rc-select/TransBtn.js.map +0 -1
  497. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts +0 -9
  498. package/lib/tntd-select/rc-select/hooks/useAllowClear.d.ts.map +0 -1
  499. package/lib/tntd-select/rc-select/hooks/useAllowClear.js +0 -35
  500. package/lib/tntd-select/rc-select/hooks/useAllowClear.js.map +0 -1
  501. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts +0 -14
  502. package/lib/tntd-select/rc-select/hooks/useBaseProps.d.ts.map +0 -1
  503. package/lib/tntd-select/rc-select/hooks/useBaseProps.js +0 -21
  504. package/lib/tntd-select/rc-select/hooks/useBaseProps.js.map +0 -1
  505. package/lib/tntd-select/rc-select/hooks/useCache.d.ts +0 -8
  506. package/lib/tntd-select/rc-select/hooks/useCache.d.ts.map +0 -1
  507. package/lib/tntd-select/rc-select/hooks/useCache.js +0 -49
  508. package/lib/tntd-select/rc-select/hooks/useCache.js.map +0 -1
  509. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts +0 -6
  510. package/lib/tntd-select/rc-select/hooks/useDelayReset.d.ts.map +0 -1
  511. package/lib/tntd-select/rc-select/hooks/useDelayReset.js +0 -44
  512. package/lib/tntd-select/rc-select/hooks/useDelayReset.js.map +0 -1
  513. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts +0 -4
  514. package/lib/tntd-select/rc-select/hooks/useFilterOptions.d.ts.map +0 -1
  515. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js +0 -72
  516. package/lib/tntd-select/rc-select/hooks/useFilterOptions.js.map +0 -1
  517. package/lib/tntd-select/rc-select/hooks/useId.d.ts +0 -6
  518. package/lib/tntd-select/rc-select/hooks/useId.d.ts.map +0 -1
  519. package/lib/tntd-select/rc-select/hooks/useId.js +0 -48
  520. package/lib/tntd-select/rc-select/hooks/useId.js.map +0 -1
  521. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts +0 -6
  522. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.d.ts.map +0 -1
  523. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js +0 -26
  524. package/lib/tntd-select/rc-select/hooks/useLayoutEffect.js.map +0 -1
  525. package/lib/tntd-select/rc-select/hooks/useLock.d.ts +0 -8
  526. package/lib/tntd-select/rc-select/hooks/useLock.d.ts.map +0 -1
  527. package/lib/tntd-select/rc-select/hooks/useLock.js +0 -39
  528. package/lib/tntd-select/rc-select/hooks/useLock.js.map +0 -1
  529. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts +0 -12
  530. package/lib/tntd-select/rc-select/hooks/useOptions.d.ts.map +0 -1
  531. package/lib/tntd-select/rc-select/hooks/useOptions.js +0 -53
  532. package/lib/tntd-select/rc-select/hooks/useOptions.js.map +0 -1
  533. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts +0 -6
  534. package/lib/tntd-select/rc-select/hooks/useRefFunc.d.ts.map +0 -1
  535. package/lib/tntd-select/rc-select/hooks/useRefFunc.js +0 -22
  536. package/lib/tntd-select/rc-select/hooks/useRefFunc.js.map +0 -1
  537. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts +0 -2
  538. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.d.ts.map +0 -1
  539. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js +0 -43
  540. package/lib/tntd-select/rc-select/hooks/useSelectTriggerControl.js.map +0 -1
  541. package/lib/tntd-select/rc-select/index.d.ts +0 -11
  542. package/lib/tntd-select/rc-select/index.d.ts.map +0 -1
  543. package/lib/tntd-select/rc-select/index.js +0 -38
  544. package/lib/tntd-select/rc-select/index.js.map +0 -1
  545. package/lib/tntd-select/rc-select/interface.d.ts +0 -23
  546. package/lib/tntd-select/rc-select/interface.d.ts.map +0 -1
  547. package/lib/tntd-select/rc-select/interface.js +0 -5
  548. package/lib/tntd-select/rc-select/interface.js.map +0 -1
  549. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts +0 -10
  550. package/lib/tntd-select/rc-select/utils/commonUtil.d.ts.map +0 -1
  551. package/lib/tntd-select/rc-select/utils/commonUtil.js +0 -43
  552. package/lib/tntd-select/rc-select/utils/commonUtil.js.map +0 -1
  553. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts +0 -3
  554. package/lib/tntd-select/rc-select/utils/keyUtil.d.ts.map +0 -1
  555. package/lib/tntd-select/rc-select/utils/keyUtil.js +0 -16
  556. package/lib/tntd-select/rc-select/utils/keyUtil.js.map +0 -1
  557. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts +0 -4
  558. package/lib/tntd-select/rc-select/utils/legacyUtil.d.ts.map +0 -1
  559. package/lib/tntd-select/rc-select/utils/legacyUtil.js +0 -60
  560. package/lib/tntd-select/rc-select/utils/legacyUtil.js.map +0 -1
  561. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts +0 -2
  562. package/lib/tntd-select/rc-select/utils/platformUtil.d.ts.map +0 -1
  563. package/lib/tntd-select/rc-select/utils/platformUtil.js +0 -10
  564. package/lib/tntd-select/rc-select/utils/platformUtil.js.map +0 -1
  565. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts +0 -24
  566. package/lib/tntd-select/rc-select/utils/valueUtil.d.ts.map +0 -1
  567. package/lib/tntd-select/rc-select/utils/valueUtil.js +0 -132
  568. package/lib/tntd-select/rc-select/utils/valueUtil.js.map +0 -1
  569. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts +0 -5
  570. package/lib/tntd-select/rc-select/utils/warningPropsUtil.d.ts.map +0 -1
  571. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js +0 -127
  572. package/lib/tntd-select/rc-select/utils/warningPropsUtil.js.map +0 -1
  573. package/lib/tooltip/style/index.less +0 -187
  574. package/lib/transfer/style/customize.less +0 -62
  575. package/lib/transfer/style/index.less +0 -191
  576. package/lib/tree/style/directory.less +0 -95
  577. package/lib/tree/style/index.less +0 -280
  578. package/lib/tree/style/mixin.less +0 -29
  579. package/lib/tree-select/style/index.less +0 -191
  580. package/lib/typography/style/index.less +0 -204
  581. package/lib/upload/style/index.less +0 -542
@@ -1,566 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- exports.isMultiple = isMultiple;
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
- var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
10
- var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
11
- var _isMobile = _interopRequireDefault(require("rc-util/lib/isMobile"));
12
- var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
13
- var _ref2 = require("rc-util/lib/ref");
14
- var React = _interopRequireWildcard(require("react"));
15
- var _useAllowClear2 = require("./hooks/useAllowClear");
16
- var _useBaseProps = require("./hooks/useBaseProps");
17
- var _useDelayReset3 = _interopRequireDefault(require("./hooks/useDelayReset"));
18
- var _useLock3 = _interopRequireDefault(require("./hooks/useLock"));
19
- var _useSelectTriggerControl = _interopRequireDefault(require("./hooks/useSelectTriggerControl"));
20
- var _Selector = _interopRequireDefault(require("./Selector"));
21
- var _SelectTrigger = _interopRequireDefault(require("./SelectTrigger"));
22
- var _TransBtn = _interopRequireDefault(require("./TransBtn"));
23
- var _valueUtil = require("./utils/valueUtil");
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
28
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
30
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
31
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
32
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
34
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
35
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
36
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
38
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
40
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
- var __rest = void 0 && (void 0).__rest || function (s, e) {
42
- var t = {};
43
- for (var p in s) {
44
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
45
- }
46
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
47
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
48
- }
49
- return t;
50
- };
51
- var DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];
52
- function isMultiple(mode) {
53
- return mode === 'tags' || mode === 'multiple';
54
- }
55
- var BaseSelect = React.forwardRef(function (props, ref) {
56
- var _classNames2;
57
- var _a;
58
- var id = props.id,
59
- prefixCls = props.prefixCls,
60
- className = props.className,
61
- showSearch = props.showSearch,
62
- tagRender = props.tagRender,
63
- direction = props.direction,
64
- omitDomProps = props.omitDomProps,
65
- displayValues = props.displayValues,
66
- onDisplayValuesChange = props.onDisplayValuesChange,
67
- emptyOptions = props.emptyOptions,
68
- _props$notFoundConten = props.notFoundContent,
69
- notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,
70
- onClear = props.onClear,
71
- mode = props.mode,
72
- disabled = props.disabled,
73
- loading = props.loading,
74
- getInputElement = props.getInputElement,
75
- getRawInputElement = props.getRawInputElement,
76
- open = props.open,
77
- defaultOpen = props.defaultOpen,
78
- onDropdownVisibleChange = props.onDropdownVisibleChange,
79
- activeValue = props.activeValue,
80
- onActiveValueChange = props.onActiveValueChange,
81
- activeDescendantId = props.activeDescendantId,
82
- searchValue = props.searchValue,
83
- autoClearSearchValue = props.autoClearSearchValue,
84
- onSearch = props.onSearch,
85
- onSearchSplit = props.onSearchSplit,
86
- tokenSeparators = props.tokenSeparators,
87
- allowClear = props.allowClear,
88
- suffixIcon = props.suffixIcon,
89
- clearIcon = props.clearIcon,
90
- OptionList = props.OptionList,
91
- animation = props.animation,
92
- transitionName = props.transitionName,
93
- dropdownStyle = props.dropdownStyle,
94
- dropdownClassName = props.dropdownClassName,
95
- dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,
96
- dropdownRender = props.dropdownRender,
97
- dropdownAlign = props.dropdownAlign,
98
- placement = props.placement,
99
- builtinPlacements = props.builtinPlacements,
100
- getPopupContainer = props.getPopupContainer,
101
- _props$showAction = props.showAction,
102
- showAction = _props$showAction === void 0 ? [] : _props$showAction,
103
- onFocus = props.onFocus,
104
- onBlur = props.onBlur,
105
- onKeyUp = props.onKeyUp,
106
- onKeyDown = props.onKeyDown,
107
- onMouseDown = props.onMouseDown,
108
- restProps = __rest(props, ["id", "prefixCls", "className", "showSearch", "tagRender", "direction", "omitDomProps", "displayValues", "onDisplayValuesChange", "emptyOptions", "notFoundContent", "onClear", "mode", "disabled", "loading", "getInputElement", "getRawInputElement", "open", "defaultOpen", "onDropdownVisibleChange", "activeValue", "onActiveValueChange", "activeDescendantId", "searchValue", "autoClearSearchValue", "onSearch", "onSearchSplit", "tokenSeparators", "allowClear", "suffixIcon", "clearIcon", "OptionList", "animation", "transitionName", "dropdownStyle", "dropdownClassName", "dropdownMatchSelectWidth", "dropdownRender", "dropdownAlign", "placement", "builtinPlacements", "getPopupContainer", "showAction", "onFocus", "onBlur", "onKeyUp", "onKeyDown", "onMouseDown"]);
109
- // ============================== MISC ==============================
110
- var multiple = isMultiple(mode);
111
- var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';
112
- var domProps = Object.assign({}, restProps);
113
- DEFAULT_OMIT_PROPS.forEach(function (propName) {
114
- delete domProps[propName];
115
- });
116
- omitDomProps === null || omitDomProps === void 0 ? void 0 : omitDomProps.forEach(function (propName) {
117
- delete domProps[propName];
118
- });
119
- // ============================= Mobile =============================
120
- var _React$useState = React.useState(false),
121
- _React$useState2 = _slicedToArray(_React$useState, 2),
122
- mobile = _React$useState2[0],
123
- setMobile = _React$useState2[1];
124
- React.useEffect(function () {
125
- // Only update on the client side
126
- setMobile((0, _isMobile["default"])());
127
- }, []);
128
- // ============================== Refs ==============================
129
- var containerRef = React.useRef(null);
130
- var selectorDomRef = React.useRef(null);
131
- var triggerRef = React.useRef(null);
132
- var selectorRef = React.useRef(null);
133
- var listRef = React.useRef(null);
134
- var blurRef = React.useRef(false);
135
- /** Used for component focused management */
136
- var _useDelayReset = (0, _useDelayReset3["default"])(),
137
- _useDelayReset2 = _slicedToArray(_useDelayReset, 3),
138
- mockFocused = _useDelayReset2[0],
139
- setMockFocused = _useDelayReset2[1],
140
- cancelSetMockFocused = _useDelayReset2[2];
141
- // =========================== Imperative ===========================
142
- React.useImperativeHandle(ref, function () {
143
- var _a, _b;
144
- return {
145
- focus: (_a = selectorRef.current) === null || _a === void 0 ? void 0 : _a.focus,
146
- blur: (_b = selectorRef.current) === null || _b === void 0 ? void 0 : _b.blur,
147
- scrollTo: function scrollTo(arg) {
148
- var _a;
149
- return (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(arg);
150
- }
151
- };
152
- });
153
- // ========================== Search Value ==========================
154
- var mergedSearchValue = React.useMemo(function () {
155
- var _a;
156
- if (mode !== 'combobox') {
157
- return searchValue;
158
- }
159
- var val = (_a = displayValues[0]) === null || _a === void 0 ? void 0 : _a.value;
160
- return typeof val === 'string' || typeof val === 'number' ? String(val) : '';
161
- }, [searchValue, mode, displayValues]);
162
- // ========================== Custom Input ==========================
163
- // Only works in `combobox`
164
- var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null;
165
- // Used for customize replacement for `rc-cascader`
166
- var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();
167
- var customizeRawInputRef = (0, _ref2.useComposeRef)(selectorDomRef, (_a = customizeRawInputElement === null || customizeRawInputElement === void 0 ? void 0 : customizeRawInputElement.props) === null || _a === void 0 ? void 0 : _a.ref);
168
- // ============================== Open ==============================
169
- // SSR not support Portal which means we need delay `open` for the first time render
170
- var _React$useState3 = React.useState(false),
171
- _React$useState4 = _slicedToArray(_React$useState3, 2),
172
- rendered = _React$useState4[0],
173
- setRendered = _React$useState4[1];
174
- (0, _useLayoutEffect["default"])(function () {
175
- setRendered(true);
176
- }, []);
177
- var _useMergedState = (0, _useMergedState3["default"])(false, {
178
- defaultValue: defaultOpen,
179
- value: open
180
- }),
181
- _useMergedState2 = _slicedToArray(_useMergedState, 2),
182
- innerOpen = _useMergedState2[0],
183
- setInnerOpen = _useMergedState2[1];
184
- var mergedOpen = rendered ? innerOpen : false;
185
- // Not trigger `open` in `combobox` when `notFoundContent` is empty
186
- var emptyListContent = !notFoundContent && emptyOptions;
187
- if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {
188
- mergedOpen = false;
189
- }
190
- var triggerOpen = emptyListContent ? false : mergedOpen;
191
- var onToggleOpen = React.useCallback(function (newOpen) {
192
- var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;
193
- if (!disabled) {
194
- setInnerOpen(nextOpen);
195
- if (mergedOpen !== nextOpen) {
196
- onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 ? void 0 : onDropdownVisibleChange(nextOpen);
197
- }
198
- }
199
- }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);
200
- // ============================= Search =============================
201
- var tokenWithEnter = React.useMemo(function () {
202
- return (tokenSeparators || []).some(function (tokenSeparator) {
203
- return ['\n', '\r\n'].includes(tokenSeparator);
204
- });
205
- }, [tokenSeparators]);
206
- var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {
207
- var ret = true;
208
- var newSearchText = searchText;
209
- onActiveValueChange === null || onActiveValueChange === void 0 ? void 0 : onActiveValueChange(null);
210
- // Check if match the `tokenSeparators`
211
- var patchLabels = isCompositing ? null : (0, _valueUtil.getSeparatedContent)(searchText, tokenSeparators);
212
- // Ignore combobox since it's not split-able
213
- if (mode !== 'combobox' && patchLabels) {
214
- newSearchText = '';
215
- onSearchSplit === null || onSearchSplit === void 0 ? void 0 : onSearchSplit(patchLabels);
216
- // Should close when paste finish
217
- onToggleOpen(false);
218
- // Tell Selector that break next actions
219
- ret = false;
220
- }
221
- if (onSearch && mergedSearchValue !== newSearchText) {
222
- onSearch(newSearchText, {
223
- source: fromTyping ? 'typing' : 'effect'
224
- });
225
- }
226
- return ret;
227
- };
228
- // Only triggered when menu is closed & mode is tags
229
- // If menu is open, OptionList will take charge
230
- // If mode isn't tags, press enter is not meaningful when you can't see any option
231
- var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {
232
- // prevent empty tags from appearing when you click the Enter button
233
- if (!searchText || !searchText.trim()) {
234
- return;
235
- }
236
- onSearch(searchText, {
237
- source: 'submit'
238
- });
239
- };
240
- // Close will clean up single mode search text
241
- React.useEffect(function () {
242
- if (!mergedOpen && !multiple && mode !== 'combobox') {
243
- onInternalSearch('', false, false);
244
- }
245
- }, [mergedOpen]);
246
- // ============================ Disabled ============================
247
- // Close dropdown & remove focus state when disabled change
248
- React.useEffect(function () {
249
- if (innerOpen && disabled) {
250
- setInnerOpen(false);
251
- }
252
- // After onBlur is triggered, the focused does not need to be reset
253
- if (disabled && !blurRef.current) {
254
- setMockFocused(false);
255
- }
256
- }, [disabled]);
257
- // ============================ Keyboard ============================
258
- /**
259
- * We record input value here to check if can press to clean up by backspace
260
- * - null: Key is not down, this is reset by key up
261
- * - true: Search text is empty when first time backspace down
262
- * - false: Search text is not empty when first time backspace down
263
- */
264
- var _useLock = (0, _useLock3["default"])(),
265
- _useLock2 = _slicedToArray(_useLock, 2),
266
- getClearLock = _useLock2[0],
267
- setClearLock = _useLock2[1];
268
- // KeyDown
269
- var onInternalKeyDown = function onInternalKeyDown(event) {
270
- var clearLock = getClearLock();
271
- var which = event.which;
272
- if (which === _KeyCode["default"].ENTER) {
273
- // Do not submit form when type in the input
274
- if (mode !== 'combobox') {
275
- event.preventDefault();
276
- }
277
- // We only manage open state here, close logic should handle by list component
278
- if (!mergedOpen) {
279
- onToggleOpen(true);
280
- }
281
- }
282
- setClearLock(!!mergedSearchValue);
283
- // Remove value by `backspace`
284
- if (which === _KeyCode["default"].BACKSPACE && !clearLock && multiple && !mergedSearchValue && displayValues.length) {
285
- var cloneDisplayValues = _toConsumableArray(displayValues);
286
- var removedDisplayValue = null;
287
- for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {
288
- var current = cloneDisplayValues[i];
289
- if (!current.disabled) {
290
- cloneDisplayValues.splice(i, 1);
291
- removedDisplayValue = current;
292
- break;
293
- }
294
- }
295
- if (removedDisplayValue) {
296
- onDisplayValuesChange(cloneDisplayValues, {
297
- type: 'remove',
298
- values: [removedDisplayValue]
299
- });
300
- }
301
- }
302
- for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
303
- rest[_key - 1] = arguments[_key];
304
- }
305
- if (mergedOpen && listRef.current) {
306
- var _listRef$current;
307
- (_listRef$current = listRef.current).onKeyDown.apply(_listRef$current, [event].concat(rest));
308
- }
309
- onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown.apply(void 0, [event].concat(rest));
310
- };
311
- // KeyUp
312
- var onInternalKeyUp = function onInternalKeyUp(event) {
313
- for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
314
- rest[_key2 - 1] = arguments[_key2];
315
- }
316
- if (mergedOpen && listRef.current) {
317
- var _listRef$current2;
318
- (_listRef$current2 = listRef.current).onKeyUp.apply(_listRef$current2, [event].concat(rest));
319
- }
320
- onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp.apply(void 0, [event].concat(rest));
321
- };
322
- // ============================ Selector ============================
323
- var onSelectorRemove = function onSelectorRemove(val) {
324
- var newValues = displayValues.filter(function (i) {
325
- return i !== val;
326
- });
327
- onDisplayValuesChange(newValues, {
328
- type: 'remove',
329
- values: [val]
330
- });
331
- };
332
- // ========================== Focus / Blur ==========================
333
- /** Record real focus status */
334
- var focusRef = React.useRef(false);
335
- var onContainerFocus = function onContainerFocus() {
336
- setMockFocused(true);
337
- if (!disabled) {
338
- if (onFocus && !focusRef.current) {
339
- onFocus.apply(void 0, arguments);
340
- }
341
- // `showAction` should handle `focus` if set
342
- if (showAction.includes('focus')) {
343
- onToggleOpen(true);
344
- }
345
- }
346
- focusRef.current = true;
347
- };
348
- var onContainerBlur = function onContainerBlur() {
349
- blurRef.current = true;
350
- setMockFocused(false, function () {
351
- focusRef.current = false;
352
- blurRef.current = false;
353
- onToggleOpen(false);
354
- });
355
- if (disabled) {
356
- return;
357
- }
358
- if (mergedSearchValue) {
359
- // `tags` mode should move `searchValue` into values
360
- if (mode === 'tags') {
361
- onSearch(mergedSearchValue, {
362
- source: 'submit'
363
- });
364
- } else if (mode === 'multiple') {
365
- // `multiple` mode only clean the search value but not trigger event
366
- onSearch('', {
367
- source: 'blur'
368
- });
369
- }
370
- }
371
- if (onBlur) {
372
- onBlur.apply(void 0, arguments);
373
- }
374
- };
375
- // Give focus back of Select
376
- var activeTimeoutIds = [];
377
- React.useEffect(function () {
378
- return function () {
379
- activeTimeoutIds.forEach(function (timeoutId) {
380
- return clearTimeout(timeoutId);
381
- });
382
- activeTimeoutIds.splice(0, activeTimeoutIds.length);
383
- };
384
- }, []);
385
- var onInternalMouseDown = function onInternalMouseDown(event) {
386
- var _a;
387
- var target = event.target;
388
- var popupElement = (_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.getPopupElement();
389
- // We should give focus back to selector if clicked item is not focusable
390
- if (popupElement && popupElement.contains(target)) {
391
- var timeoutId = setTimeout(function () {
392
- var _a;
393
- var index = activeTimeoutIds.indexOf(timeoutId);
394
- if (index !== -1) {
395
- activeTimeoutIds.splice(index, 1);
396
- }
397
- cancelSetMockFocused();
398
- if (!mobile && !popupElement.contains(document.activeElement)) {
399
- (_a = selectorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
400
- }
401
- });
402
- activeTimeoutIds.push(timeoutId);
403
- }
404
- for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
405
- restArgs[_key3 - 1] = arguments[_key3];
406
- }
407
- onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown.apply(void 0, [event].concat(restArgs));
408
- };
409
- // ============================ Dropdown ============================
410
- var _React$useState5 = React.useState({}),
411
- _React$useState6 = _slicedToArray(_React$useState5, 2),
412
- forceUpdate = _React$useState6[1];
413
- // We need force update here since popup dom is render async
414
- function onPopupMouseEnter() {
415
- forceUpdate({});
416
- }
417
- // Used for raw custom input trigger
418
- var onTriggerVisibleChange;
419
- if (customizeRawInputElement) {
420
- onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {
421
- onToggleOpen(newOpen);
422
- };
423
- }
424
- // Close when click on non-select element
425
- (0, _useSelectTriggerControl["default"])(function () {
426
- var _a;
427
- return [containerRef.current, (_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.getPopupElement()];
428
- }, triggerOpen, onToggleOpen, !!customizeRawInputElement);
429
- // ============================ Context =============================
430
- var baseSelectContext = React.useMemo(function () {
431
- return Object.assign(Object.assign({}, props), {
432
- notFoundContent: notFoundContent,
433
- open: mergedOpen,
434
- triggerOpen: triggerOpen,
435
- id: id,
436
- showSearch: mergedShowSearch,
437
- multiple: multiple,
438
- toggleOpen: onToggleOpen
439
- });
440
- }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);
441
- // ==================================================================
442
- // == Render ==
443
- // ==================================================================
444
- // ============================= Arrow ==============================
445
- var showSuffixIcon = !!suffixIcon || loading;
446
- var arrowNode;
447
- if (showSuffixIcon) {
448
- arrowNode = React.createElement(_TransBtn["default"], {
449
- className: (0, _classnames["default"])("".concat(prefixCls, "-arrow"), _defineProperty({}, "".concat(prefixCls, "-arrow-loading"), loading)),
450
- customizeIcon: suffixIcon,
451
- customizeIconProps: {
452
- loading: loading,
453
- searchValue: mergedSearchValue,
454
- open: mergedOpen,
455
- focused: mockFocused,
456
- showSearch: mergedShowSearch
457
- }
458
- });
459
- }
460
- // ============================= Clear ==============================
461
- var onClearMouseDown = function onClearMouseDown() {
462
- var _a;
463
- onClear === null || onClear === void 0 ? void 0 : onClear();
464
- (_a = selectorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
465
- onDisplayValuesChange([], {
466
- type: 'clear',
467
- values: displayValues
468
- });
469
- onInternalSearch('', false, false);
470
- };
471
- var _useAllowClear = (0, _useAllowClear2.useAllowClear)(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon, disabled, mergedSearchValue, mode),
472
- mergedAllowClear = _useAllowClear.allowClear,
473
- clearNode = _useAllowClear.clearIcon;
474
- // =========================== OptionList ===========================
475
- var optionList = React.createElement(OptionList, {
476
- ref: listRef
477
- });
478
- // ============================= Select =============================
479
- var mergedClassName = (0, _classnames["default"])(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-focused"), mockFocused), _defineProperty(_classNames2, "".concat(prefixCls, "-multiple"), multiple), _defineProperty(_classNames2, "".concat(prefixCls, "-single"), !multiple), _defineProperty(_classNames2, "".concat(prefixCls, "-allow-clear"), allowClear), _defineProperty(_classNames2, "".concat(prefixCls, "-show-arrow"), showSuffixIcon), _defineProperty(_classNames2, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames2, "".concat(prefixCls, "-loading"), loading), _defineProperty(_classNames2, "".concat(prefixCls, "-open"), mergedOpen), _defineProperty(_classNames2, "".concat(prefixCls, "-customize-input"), customizeInputElement), _defineProperty(_classNames2, "".concat(prefixCls, "-show-search"), mergedShowSearch), _classNames2));
480
- // >>> Selector
481
- var selectorNode = React.createElement(_SelectTrigger["default"], {
482
- ref: triggerRef,
483
- disabled: disabled,
484
- prefixCls: prefixCls,
485
- visible: triggerOpen,
486
- popupElement: optionList,
487
- animation: animation,
488
- transitionName: transitionName,
489
- dropdownStyle: dropdownStyle,
490
- dropdownClassName: dropdownClassName,
491
- direction: direction,
492
- dropdownMatchSelectWidth: dropdownMatchSelectWidth,
493
- dropdownRender: dropdownRender,
494
- dropdownAlign: dropdownAlign,
495
- placement: placement,
496
- builtinPlacements: builtinPlacements,
497
- getPopupContainer: getPopupContainer,
498
- empty: emptyOptions,
499
- getTriggerDOMNode: function getTriggerDOMNode() {
500
- return selectorDomRef.current;
501
- },
502
- onPopupVisibleChange: onTriggerVisibleChange,
503
- onPopupMouseEnter: onPopupMouseEnter
504
- }, customizeRawInputElement ? React.cloneElement(customizeRawInputElement, {
505
- ref: customizeRawInputRef
506
- }) : React.createElement(_Selector["default"], Object.assign({}, props, {
507
- domRef: selectorDomRef,
508
- prefixCls: prefixCls,
509
- inputElement: customizeInputElement,
510
- ref: selectorRef,
511
- id: id,
512
- showSearch: mergedShowSearch,
513
- autoClearSearchValue: autoClearSearchValue,
514
- mode: mode,
515
- activeDescendantId: activeDescendantId,
516
- tagRender: tagRender,
517
- values: displayValues,
518
- open: mergedOpen,
519
- onToggleOpen: onToggleOpen,
520
- activeValue: activeValue,
521
- searchValue: mergedSearchValue,
522
- onSearch: onInternalSearch,
523
- onSearchSubmit: onInternalSearchSubmit,
524
- onRemove: onSelectorRemove,
525
- tokenWithEnter: tokenWithEnter
526
- })));
527
- // >>> Render
528
- var renderNode;
529
- // Render raw
530
- if (customizeRawInputElement) {
531
- renderNode = selectorNode;
532
- } else {
533
- renderNode = React.createElement("div", Object.assign({
534
- className: mergedClassName
535
- }, domProps, {
536
- ref: containerRef,
537
- onMouseDown: onInternalMouseDown,
538
- onKeyDown: onInternalKeyDown,
539
- onKeyUp: onInternalKeyUp,
540
- onFocus: onContainerFocus,
541
- onBlur: onContainerBlur
542
- }), mockFocused && !mergedOpen && React.createElement("span", {
543
- style: {
544
- width: 0,
545
- height: 0,
546
- position: 'absolute',
547
- overflow: 'hidden',
548
- opacity: 0
549
- },
550
- "aria-live": "polite"
551
- }, "".concat(displayValues.map(function (_ref) {
552
- var label = _ref.label,
553
- value = _ref.value;
554
- return ['number', 'string'].includes(_typeof(label)) ? label : value;
555
- }).join(', '))), selectorNode, arrowNode, mergedAllowClear && clearNode);
556
- }
557
- return React.createElement(_useBaseProps.BaseSelectContext.Provider, {
558
- value: baseSelectContext
559
- }, renderNode);
560
- });
561
- // Set display name for dev
562
- if (process.env.NODE_ENV !== 'production') {
563
- BaseSelect.displayName = 'BaseSelect';
564
- }
565
- var _default = BaseSelect;
566
- exports["default"] = _default;
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseSelect.js","sourceRoot":"","sources":["../../../src/tntd-select/rc-select/BaseSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4DAAoC;AACpC,wFAAgE;AAChE,sFAA8D;AAC9D,oEAA4C;AAC5C,kEAA0C;AAC1C,yCAAgD;AAEhD,6CAA+B;AAC/B,yDAAsD;AACtD,uDAAyD;AACzD,0EAAkD;AAClD,8DAAsC;AACtC,8FAAsE;AAWtE,0DAAkC;AAElC,oEAA4C;AAC5C,0DAAkC;AAClC,iDAAwD;AAYxD,MAAM,kBAAkB,GAAG;IACzB,OAAO;IACP,UAAU;IACV,YAAY;IACZ,aAAa;IACb,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,gBAAgB;IAChB,eAAe;IACf,UAAU;CACF,CAAC;AA0JX,SAAgB,UAAU,CAAC,IAAU;IACnC,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,UAAU,CAAC;AAChD,CAAC;AAFD,gCAEC;AAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAsB,EAAE,GAA6B,EAAE,EAAE;;IAC5F,MAAM,EACJ,EAAE,EACF,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY;IAEZ,QAAQ;IACR,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,eAAe,GAAG,WAAW,EAC7B,OAAO;IAEP,OAAO;IACP,IAAI;IAEJ,SAAS;IACT,QAAQ,EACR,OAAO;IAEP,kBAAkB;IAClB,eAAe,EACf,kBAAkB;IAElB,OAAO;IACP,IAAI,EACJ,WAAW,EACX,uBAAuB;IAEvB,SAAS;IACT,WAAW,EACX,mBAAmB,EACnB,kBAAkB;IAElB,SAAS;IACT,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,eAAe;IAEf,QAAQ;IACR,UAAU,EACV,UAAU,EACV,SAAS;IAET,WAAW;IACX,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,iBAAiB;IAEjB,QAAQ;IACR,UAAU,GAAG,EAAE,EACf,OAAO,EACP,MAAM;IAEN,cAAc;IACd,OAAO,EACP,SAAS,EACT,WAAW,KAIT,KAAK;IAFP,aAAa;IACV,SAAS,UACV,KAAK,EA1EH,yvBA0EL,CAAQ,CAAC;IAEV,qEAAqE;IACrE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,gBAAgB,GACpB,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC;IAE5E,MAAM,QAAQ,GAAG,kBACZ,SAAS,CACwD,CAAC;IAEvE,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACtC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,iCAAiC;QACjC,SAAS,CAAC,IAAA,kBAAQ,GAAE,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,qEAAqE;IACrE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAqB,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAU,KAAK,CAAC,CAAC;IAE7C,4CAA4C;IAC5C,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,oBAAoB,CAAC,GAAG,IAAA,uBAAa,GAAE,CAAC;IAE5E,qEAAqE;IACrE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;;QAAC,OAAA,CAAC;YACpC,KAAK,EAAE,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK;YACjC,IAAI,EAAE,MAAA,WAAW,CAAC,OAAO,0CAAE,IAAI;YAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA,EAAA;SAClD,CAAC,CAAA;KAAA,CAAC,CAAC;IAEJ,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QAC3C,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,OAAO,WAAW,CAAC;SACpB;QAED,MAAM,GAAG,GAAG,MAAA,aAAa,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC;QAEpC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAEvC,qEAAqE;IACrE,2BAA2B;IAC3B,MAAM,qBAAqB,GACzB,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,eAAe,KAAK,UAAU,IAAI,eAAe,EAAE,CAAC,IAAI,IAAI,CAAC;IAE9F,mDAAmD;IACnD,MAAM,wBAAwB,GAC5B,OAAO,kBAAkB,KAAK,UAAU,IAAI,kBAAkB,EAAE,CAAC;IAEnE,MAAM,oBAAoB,GAAG,IAAA,mBAAa,EACxC,cAAc,EACd,MAAA,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,KAAK,0CAAE,GAAG,CACrC,CAAC;IAEF,qEAAqE;IACrE,oFAAoF;IACpF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,IAAA,yBAAe,EAAC,GAAG,EAAE;QACnB,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,wBAAc,EAAU,KAAK,EAAE;QAC/D,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAE9C,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;IAC1D,IAAI,QAAQ,IAAI,CAAC,gBAAgB,IAAI,UAAU,IAAI,IAAI,KAAK,UAAU,CAAC,EAAE;QACvE,UAAU,GAAG,KAAK,CAAC;KACpB;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAE1D,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,OAAiB,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE/D,IAAI,CAAC,QAAQ,EAAE;YACb,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEvB,IAAI,UAAU,KAAK,QAAQ,EAAE;gBAC3B,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAG,QAAQ,CAAC,CAAC;aACrC;SACF;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAC9D,CAAC;IAEF,qEAAqE;IACrE,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAC/F,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,UAAmB,EAAE,aAAsB,EAAE,EAAE;QAC3F,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,aAAa,GAAG,UAAU,CAAC;QAC/B,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,IAAI,CAAC,CAAC;QAE5B,uCAAuC;QACvC,MAAM,WAAW,GAAa,aAAa;YACzC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAA,+BAAmB,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAErD,4CAA4C;QAC5C,IAAI,IAAI,KAAK,UAAU,IAAI,WAAW,EAAE;YACtC,aAAa,GAAG,EAAE,CAAC;YAEnB,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,WAAW,CAAC,CAAC;YAE7B,iCAAiC;YACjC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEpB,wCAAwC;YACxC,GAAG,GAAG,KAAK,CAAC;SACb;QAED,IAAI,QAAQ,IAAI,iBAAiB,KAAK,aAAa,EAAE;YACnD,QAAQ,CAAC,aAAa,EAAE;gBACtB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;aACzC,CAAC,CAAC;SACJ;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,oDAAoD;IACpD,+CAA+C;IAC/C,kFAAkF;IAClF,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAAE,EAAE;QACpD,oEAAoE;QACpE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE;YACrC,OAAO;SACR;QACD,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,8CAA8C;IAC9C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE;YACnD,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACpC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,qEAAqE;IACrE,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,SAAS,IAAI,QAAQ,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;QAED,mEAAmE;QACnE,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,cAAc,CAAC,KAAK,CAAC,CAAC;SACvB;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,qEAAqE;IACrE;;;;;OAKG;IACH,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,IAAA,iBAAO,GAAE,CAAC;IAE/C,UAAU;IACV,MAAM,iBAAiB,GAA+C,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACvF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAExB,IAAI,KAAK,KAAK,iBAAO,CAAC,KAAK,EAAE;YAC3B,4CAA4C;YAC5C,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;YAED,8EAA8E;YAC9E,IAAI,CAAC,UAAU,EAAE;gBACf,YAAY,CAAC,IAAI,CAAC,CAAC;aACpB;SACF;QAED,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAElC,8BAA8B;QAC9B,IACE,KAAK,KAAK,iBAAO,CAAC,SAAS;YAC3B,CAAC,SAAS;YACV,QAAQ;YACR,CAAC,iBAAiB;YAClB,aAAa,CAAC,MAAM,EACpB;YACA,MAAM,kBAAkB,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YAC9C,IAAI,mBAAmB,GAAG,IAAI,CAAC;YAE/B,KAAK,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC1D,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAEtC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACrB,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChC,mBAAmB,GAAG,OAAO,CAAC;oBAC9B,MAAM;iBACP;aACF;YAED,IAAI,mBAAmB,EAAE;gBACvB,qBAAqB,CAAC,kBAAkB,EAAE;oBACxC,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,CAAC,mBAAmB,CAAC;iBAC9B,CAAC,CAAC;aACJ;SACF;QAED,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE;YACjC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;SAC3C;QAED,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,QAAQ;IACR,MAAM,eAAe,GAA+C,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACrF,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE;YACjC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;SACzC;QAED,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,GAAqB,EAAE,EAAE;QACjD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAEzD,qBAAqB,CAAC,SAAS,EAAE;YAC/B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,GAAG,CAAC;SACd,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,qEAAqE;IACrE,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAU,KAAK,CAAC,CAAC;IAE9C,MAAM,gBAAgB,GAAyC,CAAC,GAAG,IAAI,EAAE,EAAE;QACzE,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAChC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;aAClB;YAED,4CAA4C;YAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAChC,YAAY,CAAC,IAAI,CAAC,CAAC;aACpB;SACF;QAED,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAyC,CAAC,GAAG,IAAI,EAAE,EAAE;QACxE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;YACzB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE;YACZ,OAAO;SACR;QAED,IAAI,iBAAiB,EAAE;YACrB,oDAAoD;YACpD,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,QAAQ,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;aACnD;iBAAM,IAAI,IAAI,KAAK,UAAU,EAAE;gBAC9B,oEAAoE;gBACpE,QAAQ,CAAC,EAAE,EAAE;oBACX,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;aACJ;SACF;QAED,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;SACjB;IACH,CAAC,CAAC;IAEF,4BAA4B;IAC5B,MAAM,gBAAgB,GAAU,EAAE,CAAC;IACnC,KAAK,CAAC,SAAS,CACb,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,mBAAmB,GAA4C,CAAC,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE;;QAC1F,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QACzB,MAAM,YAAY,GAAmB,MAAA,UAAU,CAAC,OAAO,0CAAE,eAAe,EAAE,CAAC;QAE3E,yEAAyE;QACzE,IAAI,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAqB,CAAC,EAAE;YAChE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;;gBAChC,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACnC;gBAED,oBAAoB,EAAE,CAAC;gBAEvB,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBAC7D,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAEH,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAClC;QAED,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,qEAAqE;IACrE,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,4DAA4D;IAC5D,SAAS,iBAAiB;QACxB,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,oCAAoC;IACpC,IAAI,sBAA2D,CAAC;IAChE,IAAI,wBAAwB,EAAE;QAC5B,sBAAsB,GAAG,CAAC,OAAgB,EAAE,EAAE;YAC5C,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;KACH;IAED,yCAAyC;IACzC,IAAA,iCAAuB,EACrB,GAAG,EAAE,WAAC,OAAA,CAAC,YAAY,CAAC,OAAO,EAAE,MAAA,UAAU,CAAC,OAAO,0CAAE,eAAe,EAAE,CAAC,CAAA,EAAA,EACnE,WAAW,EACX,YAAY,EACZ,CAAC,CAAC,wBAAwB,CAC3B,CAAC;IAEF,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,iCACD,KAAK,KACR,eAAe,EACf,IAAI,EAAE,UAAU,EAChB,WAAW;QACX,EAAE,EACF,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EACR,UAAU,EAAE,YAAY,IACxB,EACF,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAChG,CAAC;IAEF,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IAErE,qEAAqE;IACrE,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC;IAC/C,IAAI,SAA0B,CAAC;IAE/B,IAAI,cAAc,EAAE;QAClB,SAAS,GAAG,CACV,oBAAC,kBAAQ,IACP,SAAS,EAAE,IAAA,oBAAU,EAAC,GAAG,SAAS,QAAQ,EAAE;gBAC1C,CAAC,GAAG,SAAS,gBAAgB,CAAC,EAAE,OAAO;aACxC,CAAC,EACF,aAAa,EAAE,UAAU,EACzB,kBAAkB,EAAE;gBAClB,OAAO;gBACP,WAAW,EAAE,iBAAiB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,gBAAgB;aAC7B,GACD,CACH,CAAC;KACH;IAED,qEAAqE;IACrE,MAAM,gBAAgB,GAA6C,GAAG,EAAE;;QACtE,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QAEZ,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAE7B,qBAAqB,CAAC,EAAE,EAAE;YACxB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAa,EAC1E,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,SAAS,EACT,QAAQ,EAER,iBAAiB,EACjB,IAAI,CACL,CAAC;IAEF,qEAAqE;IACrE,MAAM,UAAU,GAAG,oBAAC,UAAU,IAAC,GAAG,EAAE,OAAO,GAAI,CAAC;IAEhD,qEAAqE;IACrE,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,SAAS,EAAE,SAAS,EAAE;QACvD,CAAC,GAAG,SAAS,UAAU,CAAC,EAAE,WAAW;QACrC,CAAC,GAAG,SAAS,WAAW,CAAC,EAAE,QAAQ;QACnC,CAAC,GAAG,SAAS,SAAS,CAAC,EAAE,CAAC,QAAQ;QAClC,CAAC,GAAG,SAAS,cAAc,CAAC,EAAE,UAAU;QACxC,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,cAAc;QAC3C,CAAC,GAAG,SAAS,WAAW,CAAC,EAAE,QAAQ;QACnC,CAAC,GAAG,SAAS,UAAU,CAAC,EAAE,OAAO;QACjC,CAAC,GAAG,SAAS,OAAO,CAAC,EAAE,UAAU;QACjC,CAAC,GAAG,SAAS,kBAAkB,CAAC,EAAE,qBAAqB;QACvD,CAAC,GAAG,SAAS,cAAc,CAAC,EAAE,gBAAgB;KAC/C,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,YAAY,GAAG,CACnB,oBAAC,uBAAa,IACZ,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,wBAAwB,EAClD,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,YAAY,EACnB,iBAAiB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAC/C,oBAAoB,EAAE,sBAAsB,EAC5C,iBAAiB,EAAE,iBAAiB,IAEnC,wBAAwB,CAAC,CAAC,CAAC,CAC1B,KAAK,CAAC,YAAY,CAAC,wBAAwB,EAAE;QAC3C,GAAG,EAAE,oBAAoB;KAC1B,CAAC,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,kBAAQ,oBACH,KAAK,IACT,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,qBAAqB,EACnC,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,gBAAgB,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,sBAAsB,EACtC,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,cAAc,IAC9B,CACH,CACa,CACjB,CAAC;IAEF,aAAa;IACb,IAAI,UAA2B,CAAC;IAEhC,aAAa;IACb,IAAI,wBAAwB,EAAE;QAC5B,UAAU,GAAG,YAAY,CAAC;KAC3B;SAAM;QACL,UAAU,GAAG,CACX,2CACE,SAAS,EAAE,eAAe,IACtB,QAAQ,IACZ,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,mBAAmB,EAChC,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe;YAEtB,WAAW,IAAI,CAAC,UAAU,IAAI,CAC7B,8BACE,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,CAAC;iBACX,eACS,QAAQ,IAGjB,GAAG,aAAa;iBACd,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACxB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAC5D;iBACA,IAAI,CAAC,IAAI,CAAC,EAAE,CACV,CACR;YACA,YAAY;YACZ,SAAS;YACT,gBAAgB,IAAI,SAAS,CAC1B,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,gCAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,IAAG,UAAU,CAA8B,CAChG,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;IACzC,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;CACvC;AAED,kBAAe,UAAU,CAAC","sourcesContent":["import type { AlignType, BuildInPlacements } from '@rc-component/trigger/lib/interface';\nimport classNames from 'classnames';\nimport useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';\nimport useMergedState from 'rc-util/lib/hooks/useMergedState';\nimport isMobile from 'rc-util/lib/isMobile';\nimport KeyCode from 'rc-util/lib/KeyCode';\nimport { useComposeRef } from 'rc-util/lib/ref';\nimport type { ScrollConfig, ScrollTo } from 'rc-virtual-list/lib/List';\nimport * as React from 'react';\nimport { useAllowClear } from './hooks/useAllowClear';\nimport { BaseSelectContext } from './hooks/useBaseProps';\nimport useDelayReset from './hooks/useDelayReset';\nimport useLock from './hooks/useLock';\nimport useSelectTriggerControl from './hooks/useSelectTriggerControl';\nimport type {\n DisplayInfoType,\n DisplayValueType,\n Mode,\n Placement,\n RawValueType,\n RenderDOMFunc,\n RenderNode,\n} from './interface';\nimport type { RefSelectorProps } from './Selector';\nimport Selector from './Selector';\nimport type { RefTriggerProps } from './SelectTrigger';\nimport SelectTrigger from './SelectTrigger';\nimport TransBtn from './TransBtn';\nimport { getSeparatedContent } from './utils/valueUtil';\n\nexport type {\n DisplayInfoType,\n DisplayValueType,\n Mode,\n Placement,\n RenderDOMFunc,\n RenderNode,\n RawValueType,\n};\n\nconst DEFAULT_OMIT_PROPS = [\n 'value',\n 'onChange',\n 'removeIcon',\n 'placeholder',\n 'autoFocus',\n 'maxTagCount',\n 'maxTagTextLength',\n 'maxTagPlaceholder',\n 'choiceTransitionName',\n 'onInputKeyDown',\n 'onPopupScroll',\n 'tabIndex',\n] as const;\nexport interface RefOptionListProps {\n onKeyDown: React.KeyboardEventHandler;\n onKeyUp: React.KeyboardEventHandler;\n scrollTo?: (args: number | ScrollConfig) => void;\n}\n\nexport type CustomTagProps = {\n label: React.ReactNode;\n value: any;\n disabled: boolean;\n onClose: (event?: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n closable: boolean;\n};\n\nexport interface BaseSelectRef {\n focus: () => void;\n blur: () => void;\n scrollTo: ScrollTo;\n}\n\nexport interface BaseSelectPrivateProps {\n // >>> MISC\n id: string;\n prefixCls: string;\n omitDomProps?: string[];\n\n // >>> Value\n displayValues: DisplayValueType[];\n onDisplayValuesChange: (\n values: DisplayValueType[],\n info: {\n type: DisplayInfoType;\n values: DisplayValueType[];\n },\n ) => void;\n\n // >>> Active\n /** Current dropdown list active item string value */\n activeValue?: string;\n /** Link search input with target element */\n activeDescendantId?: string;\n onActiveValueChange?: (value: string | null) => void;\n\n // >>> Search\n searchValue: string;\n autoClearSearchValue?: boolean;\n /** Trigger onSearch, return false to prevent trigger open event */\n onSearch: (\n searchValue: string,\n info: {\n source:\n | 'typing' //User typing\n | 'effect' // Code logic trigger\n | 'submit' // tag mode only\n | 'blur'; // Not trigger event\n },\n ) => void;\n /** Trigger when search text match the `tokenSeparators`. Will provide split content */\n onSearchSplit?: (words: string[]) => void;\n\n // >>> Dropdown\n OptionList: React.ForwardRefExoticComponent<\n React.PropsWithoutRef<any> & React.RefAttributes<RefOptionListProps>\n >;\n /** Tell if provided `options` is empty */\n emptyOptions: boolean;\n}\n\nexport type BaseSelectPropsWithoutPrivate = Omit<BaseSelectProps, keyof BaseSelectPrivateProps>;\n\nexport interface BaseSelectProps extends BaseSelectPrivateProps, React.AriaAttributes {\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n showSearch?: boolean;\n tagRender?: (props: CustomTagProps) => React.ReactElement;\n direction?: 'ltr' | 'rtl';\n maxLength?: number;\n\n // MISC\n tabIndex?: number;\n autoFocus?: boolean;\n notFoundContent?: React.ReactNode;\n placeholder?: React.ReactNode;\n onClear?: () => void;\n\n choiceTransitionName?: string;\n\n // >>> Mode\n mode?: Mode;\n\n // >>> Status\n disabled?: boolean;\n loading?: boolean;\n\n // >>> Open\n open?: boolean;\n defaultOpen?: boolean;\n onDropdownVisibleChange?: (open: boolean) => void;\n\n // >>> Customize Input\n /** @private Internal usage. Do not use in your production. */\n getInputElement?: () => JSX.Element;\n /** @private Internal usage. Do not use in your production. */\n getRawInputElement?: () => JSX.Element;\n\n // >>> Selector\n maxTagTextLength?: number;\n maxTagCount?: number | 'responsive';\n maxTagPlaceholder?: React.ReactNode | ((omittedValues: DisplayValueType[]) => React.ReactNode);\n\n // >>> Search\n tokenSeparators?: string[];\n\n // >>> Icons\n allowClear?: boolean | { clearIcon?: RenderNode };\n suffixIcon?: RenderNode;\n /**\n * Clear all icon\n * @deprecated Please use `allowClear` instead\n **/\n clearIcon?: RenderNode;\n /** Selector remove icon */\n removeIcon?: RenderNode;\n\n // >>> Dropdown\n animation?: string;\n transitionName?: string;\n dropdownStyle?: React.CSSProperties;\n dropdownClassName?: string;\n dropdownMatchSelectWidth?: boolean | number;\n dropdownRender?: (menu: React.ReactElement) => React.ReactElement;\n dropdownAlign?: AlignType;\n placement?: Placement;\n builtinPlacements?: BuildInPlacements;\n getPopupContainer?: RenderDOMFunc;\n\n // >>> Focus\n showAction?: ('focus' | 'click')[];\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n\n // >>> Rest Events\n onKeyUp?: React.KeyboardEventHandler<HTMLDivElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n onMouseDown?: React.MouseEventHandler<HTMLDivElement>;\n onPopupScroll?: React.UIEventHandler<HTMLDivElement>;\n onInputKeyDown?: React.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\n onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n}\n\nexport function isMultiple(mode: Mode) {\n return mode === 'tags' || mode === 'multiple';\n}\n\nconst BaseSelect = React.forwardRef((props: BaseSelectProps, ref: React.Ref<BaseSelectRef>) => {\n const {\n id,\n prefixCls,\n className,\n showSearch,\n tagRender,\n direction,\n omitDomProps,\n\n // Value\n displayValues,\n onDisplayValuesChange,\n emptyOptions,\n notFoundContent = 'Not Found',\n onClear,\n\n // Mode\n mode,\n\n // Status\n disabled,\n loading,\n\n // Customize Input\n getInputElement,\n getRawInputElement,\n\n // Open\n open,\n defaultOpen,\n onDropdownVisibleChange,\n\n // Active\n activeValue,\n onActiveValueChange,\n activeDescendantId,\n\n // Search\n searchValue,\n autoClearSearchValue,\n onSearch,\n onSearchSplit,\n tokenSeparators,\n\n // Icons\n allowClear,\n suffixIcon,\n clearIcon,\n\n // Dropdown\n OptionList,\n animation,\n transitionName,\n dropdownStyle,\n dropdownClassName,\n dropdownMatchSelectWidth,\n dropdownRender,\n dropdownAlign,\n placement,\n builtinPlacements,\n getPopupContainer,\n\n // Focus\n showAction = [],\n onFocus,\n onBlur,\n\n // Rest Events\n onKeyUp,\n onKeyDown,\n onMouseDown,\n\n // Rest Props\n ...restProps\n } = props;\n\n // ============================== MISC ==============================\n const multiple = isMultiple(mode);\n const mergedShowSearch =\n (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n\n const domProps = {\n ...restProps,\n } as Omit<keyof typeof restProps, (typeof DEFAULT_OMIT_PROPS)[number]>;\n\n DEFAULT_OMIT_PROPS.forEach((propName) => {\n delete domProps[propName];\n });\n\n omitDomProps?.forEach((propName) => {\n delete domProps[propName];\n });\n\n // ============================= Mobile =============================\n const [mobile, setMobile] = React.useState(false);\n React.useEffect(() => {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n const containerRef = React.useRef<HTMLDivElement>(null);\n const selectorDomRef = React.useRef<HTMLDivElement>(null);\n const triggerRef = React.useRef<RefTriggerProps>(null);\n const selectorRef = React.useRef<RefSelectorProps>(null);\n const listRef = React.useRef<RefOptionListProps>(null);\n const blurRef = React.useRef<boolean>(false);\n\n /** Used for component focused management */\n const [mockFocused, setMockFocused, cancelSetMockFocused] = useDelayReset();\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, () => ({\n focus: selectorRef.current?.focus,\n blur: selectorRef.current?.blur,\n scrollTo: (arg) => listRef.current?.scrollTo(arg),\n }));\n\n // ========================== Search Value ==========================\n const mergedSearchValue = React.useMemo(() => {\n if (mode !== 'combobox') {\n return searchValue;\n }\n\n const val = displayValues[0]?.value;\n\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n const customizeInputElement: React.ReactElement =\n (mode === 'combobox' && typeof getInputElement === 'function' && getInputElement()) || null;\n\n // Used for customize replacement for `rc-cascader`\n const customizeRawInputElement: React.ReactElement =\n typeof getRawInputElement === 'function' && getRawInputElement();\n\n const customizeRawInputRef = useComposeRef<HTMLElement>(\n selectorDomRef,\n customizeRawInputElement?.props?.ref,\n );\n\n // ============================== Open ==============================\n // SSR not support Portal which means we need delay `open` for the first time render\n const [rendered, setRendered] = React.useState(false);\n useLayoutEffect(() => {\n setRendered(true);\n }, []);\n\n const [innerOpen, setInnerOpen] = useMergedState<boolean>(false, {\n defaultValue: defaultOpen,\n value: open,\n });\n\n let mergedOpen = rendered ? innerOpen : false;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n const emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || (emptyListContent && mergedOpen && mode === 'combobox')) {\n mergedOpen = false;\n }\n const triggerOpen = emptyListContent ? false : mergedOpen;\n\n const onToggleOpen = React.useCallback(\n (newOpen?: boolean) => {\n const nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n\n if (!disabled) {\n setInnerOpen(nextOpen);\n\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange?.(nextOpen);\n }\n }\n },\n [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange],\n );\n\n // ============================= Search =============================\n const tokenWithEnter = React.useMemo(\n () => (tokenSeparators || []).some((tokenSeparator) => ['\\n', '\\r\\n'].includes(tokenSeparator)),\n [tokenSeparators],\n );\n\n const onInternalSearch = (searchText: string, fromTyping: boolean, isCompositing: boolean) => {\n let ret = true;\n let newSearchText = searchText;\n onActiveValueChange?.(null);\n\n // Check if match the `tokenSeparators`\n const patchLabels: string[] = isCompositing\n ? null\n : getSeparatedContent(searchText, tokenSeparators);\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n\n onSearchSplit?.(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect',\n });\n }\n\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n const onInternalSearchSubmit = (searchText: string) => {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, { source: 'submit' });\n };\n\n // Close will clean up single mode search text\n React.useEffect(() => {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(() => {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n\n // After onBlur is triggered, the focused does not need to be reset\n if (disabled && !blurRef.current) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n const [getClearLock, setClearLock] = useLock();\n\n // KeyDown\n const onInternalKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (event, ...rest) => {\n const clearLock = getClearLock();\n const { which } = event;\n\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (\n which === KeyCode.BACKSPACE &&\n !clearLock &&\n multiple &&\n !mergedSearchValue &&\n displayValues.length\n ) {\n const cloneDisplayValues = [...displayValues];\n let removedDisplayValue = null;\n\n for (let i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n const current = cloneDisplayValues[i];\n\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue],\n });\n }\n }\n\n if (mergedOpen && listRef.current) {\n listRef.current.onKeyDown(event, ...rest);\n }\n\n onKeyDown?.(event, ...rest);\n };\n\n // KeyUp\n const onInternalKeyUp: React.KeyboardEventHandler<HTMLDivElement> = (event, ...rest) => {\n if (mergedOpen && listRef.current) {\n listRef.current.onKeyUp(event, ...rest);\n }\n\n onKeyUp?.(event, ...rest);\n };\n\n // ============================ Selector ============================\n const onSelectorRemove = (val: DisplayValueType) => {\n const newValues = displayValues.filter((i) => i !== val);\n\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val],\n });\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n const focusRef = React.useRef<boolean>(false);\n\n const onContainerFocus: React.FocusEventHandler<HTMLElement> = (...args) => {\n setMockFocused(true);\n\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus(...args);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n\n focusRef.current = true;\n };\n\n const onContainerBlur: React.FocusEventHandler<HTMLElement> = (...args) => {\n blurRef.current = true;\n\n setMockFocused(false, () => {\n focusRef.current = false;\n blurRef.current = false;\n onToggleOpen(false);\n });\n\n if (disabled) {\n return;\n }\n\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, { source: 'submit' });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur',\n });\n }\n }\n\n if (onBlur) {\n onBlur(...args);\n }\n };\n\n // Give focus back of Select\n const activeTimeoutIds: any[] = [];\n React.useEffect(\n () => () => {\n activeTimeoutIds.forEach((timeoutId) => clearTimeout(timeoutId));\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n },\n [],\n );\n\n const onInternalMouseDown: React.MouseEventHandler<HTMLDivElement> = (event, ...restArgs) => {\n const { target } = event;\n const popupElement: HTMLDivElement = triggerRef.current?.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target as HTMLElement)) {\n const timeoutId = setTimeout(() => {\n const index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n\n cancelSetMockFocused();\n\n if (!mobile && !popupElement.contains(document.activeElement)) {\n selectorRef.current?.focus();\n }\n });\n\n activeTimeoutIds.push(timeoutId);\n }\n\n onMouseDown?.(event, ...restArgs);\n };\n\n // ============================ Dropdown ============================\n const [, forceUpdate] = React.useState({});\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n // Used for raw custom input trigger\n let onTriggerVisibleChange: null | ((newOpen: boolean) => void);\n if (customizeRawInputElement) {\n onTriggerVisibleChange = (newOpen: boolean) => {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(\n () => [containerRef.current, triggerRef.current?.getPopupElement()],\n triggerOpen,\n onToggleOpen,\n !!customizeRawInputElement,\n );\n\n // ============================ Context =============================\n const baseSelectContext = React.useMemo(\n () => ({\n ...props,\n notFoundContent,\n open: mergedOpen,\n triggerOpen,\n id,\n showSearch: mergedShowSearch,\n multiple,\n toggleOpen: onToggleOpen,\n }),\n [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen],\n );\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n const showSuffixIcon = !!suffixIcon || loading;\n let arrowNode: React.ReactNode;\n\n if (showSuffixIcon) {\n arrowNode = (\n <TransBtn\n className={classNames(`${prefixCls}-arrow`, {\n [`${prefixCls}-arrow-loading`]: loading,\n })}\n customizeIcon={suffixIcon}\n customizeIconProps={{\n loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch,\n }}\n />\n );\n }\n\n // ============================= Clear ==============================\n const onClearMouseDown: React.MouseEventHandler<HTMLSpanElement> = () => {\n onClear?.();\n\n selectorRef.current?.focus();\n\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues,\n });\n onInternalSearch('', false, false);\n };\n\n const { allowClear: mergedAllowClear, clearIcon: clearNode } = useAllowClear(\n prefixCls,\n onClearMouseDown,\n displayValues,\n allowClear,\n clearIcon,\n disabled,\n\n mergedSearchValue,\n mode,\n );\n\n // =========================== OptionList ===========================\n const optionList = <OptionList ref={listRef} />;\n\n // ============================= Select =============================\n const mergedClassName = classNames(prefixCls, className, {\n [`${prefixCls}-focused`]: mockFocused,\n [`${prefixCls}-multiple`]: multiple,\n [`${prefixCls}-single`]: !multiple,\n [`${prefixCls}-allow-clear`]: allowClear,\n [`${prefixCls}-show-arrow`]: showSuffixIcon,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-open`]: mergedOpen,\n [`${prefixCls}-customize-input`]: customizeInputElement,\n [`${prefixCls}-show-search`]: mergedShowSearch,\n });\n\n // >>> Selector\n const selectorNode = (\n <SelectTrigger\n ref={triggerRef}\n disabled={disabled}\n prefixCls={prefixCls}\n visible={triggerOpen}\n popupElement={optionList}\n animation={animation}\n transitionName={transitionName}\n dropdownStyle={dropdownStyle}\n dropdownClassName={dropdownClassName}\n direction={direction}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n dropdownRender={dropdownRender}\n dropdownAlign={dropdownAlign}\n placement={placement}\n builtinPlacements={builtinPlacements}\n getPopupContainer={getPopupContainer}\n empty={emptyOptions}\n getTriggerDOMNode={() => selectorDomRef.current}\n onPopupVisibleChange={onTriggerVisibleChange}\n onPopupMouseEnter={onPopupMouseEnter}\n >\n {customizeRawInputElement ? (\n React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef,\n })\n ) : (\n <Selector\n {...props}\n domRef={selectorDomRef}\n prefixCls={prefixCls}\n inputElement={customizeInputElement}\n ref={selectorRef}\n id={id}\n showSearch={mergedShowSearch}\n autoClearSearchValue={autoClearSearchValue}\n mode={mode}\n activeDescendantId={activeDescendantId}\n tagRender={tagRender}\n values={displayValues}\n open={mergedOpen}\n onToggleOpen={onToggleOpen}\n activeValue={activeValue}\n searchValue={mergedSearchValue}\n onSearch={onInternalSearch}\n onSearchSubmit={onInternalSearchSubmit}\n onRemove={onSelectorRemove}\n tokenWithEnter={tokenWithEnter}\n />\n )}\n </SelectTrigger>\n );\n\n // >>> Render\n let renderNode: React.ReactNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = (\n <div\n className={mergedClassName}\n {...domProps}\n ref={containerRef}\n onMouseDown={onInternalMouseDown}\n onKeyDown={onInternalKeyDown}\n onKeyUp={onInternalKeyUp}\n onFocus={onContainerFocus}\n onBlur={onContainerBlur}\n >\n {mockFocused && !mergedOpen && (\n <span\n style={{\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0,\n }}\n aria-live=\"polite\"\n >\n {/* Merge into one string to make screen reader work as expect */}\n {`${displayValues\n .map(({ label, value }) =>\n ['number', 'string'].includes(typeof label) ? label : value,\n )\n .join(', ')}`}\n </span>\n )}\n {selectorNode}\n {arrowNode}\n {mergedAllowClear && clearNode}\n </div>\n );\n }\n\n return (\n <BaseSelectContext.Provider value={baseSelectContext}>{renderNode}</BaseSelectContext.Provider>\n );\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\n\nexport default BaseSelect;\n"]}