tntd 2.6.7 → 2.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (741) hide show
  1. package/es/affix/index.js +1 -2
  2. package/es/alert/index.js +1 -2
  3. package/es/anchor/index.js +1 -2
  4. package/es/array-input/icon.js +24 -6
  5. package/es/array-input/index.js +203 -119
  6. package/es/auth-context/index.js +1 -2
  7. package/es/auto-complete/index.js +1 -2
  8. package/es/avatar/index.js +1 -2
  9. package/es/back-top/index.js +1 -2
  10. package/es/badge/index.js +1 -2
  11. package/es/breadcrumb/index.js +1 -2
  12. package/es/button/index.js +1 -2
  13. package/es/calendar/index.js +1 -2
  14. package/es/card/index.js +1 -2
  15. package/es/carousel/index.js +1 -2
  16. package/es/cascader/index.js +1 -2
  17. package/es/checkbox/index.js +1 -2
  18. package/es/col/index.js +1 -2
  19. package/es/collapse/index.js +1 -2
  20. package/es/color-picker/ColorPicker.js +126 -80
  21. package/es/color-picker/index.js +8 -5
  22. package/es/color-picker/index.less +4 -0
  23. package/es/columns/index.js +66 -30
  24. package/es/columns/style/index.js +1 -2
  25. package/es/comment/index.js +1 -2
  26. package/es/config-provider/config-provider.js +1 -2
  27. package/es/config-provider/index.js +1 -2
  28. package/es/date-picker/index.js +1 -2
  29. package/es/descriptions/descriptions.js +38 -30
  30. package/es/descriptions/index.js +1 -2
  31. package/es/development-login/LoginModal.js +81 -46
  32. package/es/development-login/index.js +17 -8
  33. package/es/divider/index.js +1 -2
  34. package/es/drawer/drawer.js +27 -20
  35. package/es/drawer/index.js +1 -2
  36. package/es/dropdown/index.js +1 -2
  37. package/es/ellipsis/Svg/CopySVG.js +63 -16
  38. package/es/ellipsis/Svg/TickSVG.js +41 -11
  39. package/es/ellipsis/index.js +116 -78
  40. package/es/ellipsis/index.js.map +1 -1
  41. package/es/ellipsis/index.less +1 -1
  42. package/es/empty/empty.js +58 -48
  43. package/es/empty/empty.stories.js +5 -6
  44. package/es/empty/index.js +1 -2
  45. package/es/exception/exception.js +32 -19
  46. package/es/exception/index.js +1 -2
  47. package/es/form/index.js +1 -2
  48. package/es/handle/index.js +115 -76
  49. package/es/icon/index.js +1 -2
  50. package/es/icon-list/index.js +1 -120
  51. package/es/img/Contain.js +60 -39
  52. package/es/img/Cover.js +98 -72
  53. package/es/img/index.js +48 -32
  54. package/es/index.js +1 -2
  55. package/es/input/index.js +1 -2
  56. package/es/input/input.js +98 -52
  57. package/es/input/input.js.map +1 -1
  58. package/es/input-number/index.js +1 -2
  59. package/es/label/index.js +115 -98
  60. package/es/layout/index.js +1 -2
  61. package/es/list/index.js +1 -2
  62. package/es/loading-button/index.js +33 -28
  63. package/es/locale/default.js +3 -4
  64. package/es/locale/en_US.js +30 -31
  65. package/es/locale/index.js +1 -2
  66. package/es/locale/zh_CN.js +30 -31
  67. package/es/locale-provider/index.js +2 -3
  68. package/es/mention/index.js +1 -2
  69. package/es/mentions/index.js +1 -2
  70. package/es/menu/index.js +1 -2
  71. package/es/message/index.js +1 -2
  72. package/es/modal/index.js +1 -2
  73. package/es/modal/modal.js +20 -17
  74. package/es/notification/index.js +1 -2
  75. package/es/page/Box.js +49 -33
  76. package/es/page/index.js +120 -84
  77. package/es/page/index.js.map +1 -1
  78. package/es/page/utils.js +12 -14
  79. package/es/page-header/index.js +1 -2
  80. package/es/pagination/index.js +1 -2
  81. package/es/popconfirm/index.js +1 -2
  82. package/es/popover/index.js +1 -2
  83. package/es/prev-locale.js +49 -47
  84. package/es/progress/index.js +1 -2
  85. package/es/query-form/Field/Checkbox.js +20 -17
  86. package/es/query-form/Field/Select.js +54 -39
  87. package/es/query-form/Field/SelectInput.js +63 -45
  88. package/es/query-form/Field/fieldsMap.js +19 -20
  89. package/es/query-form/Field/index.js +104 -66
  90. package/es/query-form/createActions.js +46 -46
  91. package/es/query-form/index.js +327 -247
  92. package/es/query-form/index.js.map +1 -1
  93. package/es/query-form/useForm.js +3 -4
  94. package/es/query-list-scene/List.js +321 -255
  95. package/es/query-list-scene/QueryForm.js +132 -94
  96. package/es/query-list-scene/QueryListScene.js +29 -21
  97. package/es/query-list-scene/Title.js +6 -4
  98. package/es/query-list-scene/Toolbar.js +21 -15
  99. package/es/query-list-scene/createActions.js +60 -60
  100. package/es/query-list-scene/index.js +1 -2
  101. package/es/query-list-scene/useActions.js +3 -4
  102. package/es/radio/index.js +1 -2
  103. package/es/rate/index.js +1 -2
  104. package/es/render-empty/index.js +1 -2
  105. package/es/render-empty/render-empty.js +19 -16
  106. package/es/result/index.js +1 -2
  107. package/es/row/index.js +1 -2
  108. package/es/select/index.js +1 -2
  109. package/es/select/select.js +26 -21
  110. package/es/select/select.js.map +1 -1
  111. package/es/skeleton/index.js +1 -2
  112. package/es/slider/index.js +1 -2
  113. package/es/spin/index.js +1 -2
  114. package/es/statistic/index.js +1 -2
  115. package/es/steps/index.js +1 -2
  116. package/es/steps/steps.js +51 -35
  117. package/es/svg-components/illustration-403.js +206 -58
  118. package/es/svg-components/illustration-404.js +290 -75
  119. package/es/svg-components/illustration-500.js +321 -83
  120. package/es/svg-components/illustration-empty.js +54 -15
  121. package/es/svg-components/illustration-failure.js +112 -36
  122. package/es/svg-components/illustration-no-access.js +114 -35
  123. package/es/svg-components/illustration-no-chart.js +134 -37
  124. package/es/svg-components/illustration-no-result.js +92 -32
  125. package/es/svg-components/illustration-offline.js +131 -43
  126. package/es/svg-components/illustration-success.js +137 -43
  127. package/es/svg-components/index.js +1 -2
  128. package/es/switch/index.js +1 -2
  129. package/es/table/assets/image-loading-background.js +45 -17
  130. package/es/table/assets/image-loading.js +26 -5
  131. package/es/table/constants.js +1 -2
  132. package/es/table/context.js +1 -2
  133. package/es/table/hooks/index.js +1 -2
  134. package/es/table/hooks/use-column-setting.js +13 -16
  135. package/es/table/index.js +1 -2
  136. package/es/table/table.js +80 -55
  137. package/es/table/table.stories.js +148 -139
  138. package/es/table/utils.js +17 -18
  139. package/es/tabs/index.js +1 -2
  140. package/es/tag/index.js +1 -2
  141. package/es/time-picker/index.js +1 -2
  142. package/es/timeline/index.js +1 -2
  143. package/es/title/index.js +34 -20
  144. package/es/tntd-cascader/AntdCascader/component/DisabledContext.js +9 -5
  145. package/es/tntd-cascader/AntdCascader/component/FormItemInputContext.js +1 -2
  146. package/es/tntd-cascader/AntdCascader/component/SizeContext.js +1 -2
  147. package/es/tntd-cascader/AntdCascader/component/context.js +5 -7
  148. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +22 -10
  149. package/es/tntd-cascader/AntdCascader/component/getIcons.js +72 -50
  150. package/es/tntd-cascader/AntdCascader/component/useCompactItemContext.js +22 -20
  151. package/es/tntd-cascader/AntdCascader/config/utils.js +17 -18
  152. package/es/tntd-cascader/AntdCascader/config/warning.js +9 -10
  153. package/es/tntd-cascader/AntdCascader/index.js +189 -118
  154. package/es/tntd-cascader/AntdCascader/interface.js +1 -2
  155. package/es/tntd-cascader/index.js +1 -2
  156. package/es/tntd-cascader/rc-cascader/Cascader.js +256 -239
  157. package/es/tntd-cascader/rc-cascader/OptionList/Checkbox.js +21 -11
  158. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +175 -116
  159. package/es/tntd-cascader/rc-cascader/OptionList/index.js +180 -128
  160. package/es/tntd-cascader/rc-cascader/OptionList/useActive.js +22 -19
  161. package/es/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +144 -137
  162. package/es/tntd-cascader/rc-cascader/context.js +1 -2
  163. package/es/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +44 -37
  164. package/es/tntd-cascader/rc-cascader/hooks/useEntities.js +25 -24
  165. package/es/tntd-cascader/rc-cascader/hooks/useMissingValues.js +15 -17
  166. package/es/tntd-cascader/rc-cascader/hooks/useRefFunc.js +7 -8
  167. package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +20 -21
  168. package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +51 -41
  169. package/es/tntd-cascader/rc-cascader/index.js +1 -2
  170. package/es/tntd-cascader/rc-cascader/utils/commonUtil.js +33 -27
  171. package/es/tntd-cascader/rc-cascader/utils/treeUtil.js +29 -32
  172. package/es/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +26 -23
  173. package/es/tntd-form/TntdForm/components/Item.js +42 -30
  174. package/es/tntd-form/TntdForm/components/ItemComp.js +167 -158
  175. package/es/tntd-form/TntdForm/components/ItemComp.js.map +1 -1
  176. package/es/tntd-form/TntdForm/components/List.js +89 -78
  177. package/es/tntd-form/TntdForm/index.js +38 -33
  178. package/es/tntd-form/TntdForm/interface.js +1 -2
  179. package/es/tntd-form/TntdForm/store.js +1 -2
  180. package/es/tntd-form/TntdForm/utils.js +158 -168
  181. package/es/tntd-form/index.js +1 -2
  182. package/es/tntd-icon/fonts/iconfont.js +36 -53
  183. package/es/tntd-icon/index.js +23 -17
  184. package/es/tntd-layout/ActionsContext.js +1 -2
  185. package/es/tntd-layout/AppList.js +135 -77
  186. package/es/tntd-layout/Application.js +42 -29
  187. package/es/tntd-layout/Avatar.js +80 -42
  188. package/es/tntd-layout/CompatibleLanguage.js +93 -56
  189. package/es/tntd-layout/EnterpriseLayout/Avatar.js +93 -47
  190. package/es/tntd-layout/EnterpriseLayout/Language.js +56 -34
  191. package/es/tntd-layout/EnterpriseLayout/Theme.js +45 -24
  192. package/es/tntd-layout/EnterpriseLayout/index.js +17 -9
  193. package/es/tntd-layout/GlobalNavigation/NavigationPopup.js +212 -153
  194. package/es/tntd-layout/GlobalNavigation/index.js +84 -50
  195. package/es/tntd-layout/Header.js +59 -26
  196. package/es/tntd-layout/HeaderActions.js +84 -34
  197. package/es/tntd-layout/HeaderActions.js.map +1 -1
  198. package/es/tntd-layout/HeaderNavs.js +46 -35
  199. package/es/tntd-layout/HeaderTabs.js +176 -140
  200. package/es/tntd-layout/Iconfont.js +1 -2
  201. package/es/tntd-layout/Language.js +55 -33
  202. package/es/tntd-layout/Layout.js +176 -78
  203. package/es/tntd-layout/Logo.js +52 -40
  204. package/es/tntd-layout/OrgAppList.js +208 -139
  205. package/es/tntd-layout/SideMenu.js +230 -160
  206. package/es/tntd-layout/Theme.js +47 -29
  207. package/es/tntd-layout/createActions.js +28 -29
  208. package/es/tntd-layout/images/index.js +31 -32
  209. package/es/tntd-layout/index.js +92 -60
  210. package/es/tntd-layout/paaslayout/CompactSideMenu.js +109 -65
  211. package/es/tntd-layout/paaslayout/Header.js +37 -14
  212. package/es/tntd-layout/paaslayout/Logo.js +2 -3
  213. package/es/tntd-layout/paaslayout/SideMenu.js +109 -63
  214. package/es/tntd-layout/paaslayout/index.js +159 -79
  215. package/es/tntd-layout/storage.js +18 -11
  216. package/es/tntd-modal/index.js +73 -32
  217. package/es/tntd-second-page/index.js +47 -24
  218. package/es/tntd-select/DropDownWrap.js +73 -52
  219. package/es/tntd-select/index.js +586 -499
  220. package/es/tooltip/index.js +1 -2
  221. package/es/transfer/index.js +1 -2
  222. package/es/tree/index.js +1 -2
  223. package/es/tree-select/index.js +1 -2
  224. package/es/typography/index.js +1 -2
  225. package/es/upload/index.js +1 -2
  226. package/es/utils/checkAuth.js +24 -21
  227. package/es/utils/findMenuInfoByPath.js +33 -30
  228. package/es/utils/index.js +65 -59
  229. package/es/version/index.js +1 -2
  230. package/lib/affix/index.d.ts +3 -3
  231. package/lib/affix/index.js +24 -19
  232. package/lib/affix/index.js.map +1 -1
  233. package/lib/alert/index.d.ts +3 -3
  234. package/lib/alert/index.js +24 -19
  235. package/lib/alert/index.js.map +1 -1
  236. package/lib/anchor/index.d.ts +3 -3
  237. package/lib/anchor/index.js +24 -19
  238. package/lib/anchor/index.js.map +1 -1
  239. package/lib/array-input/icon.js +33 -12
  240. package/lib/array-input/index.js +254 -146
  241. package/lib/array-input/index.js.map +1 -1
  242. package/lib/auth-context/index.js +10 -4
  243. package/lib/auto-complete/index.d.ts +3 -3
  244. package/lib/auto-complete/index.js +24 -19
  245. package/lib/auto-complete/index.js.map +1 -1
  246. package/lib/avatar/index.d.ts +3 -3
  247. package/lib/avatar/index.js +24 -19
  248. package/lib/avatar/index.js.map +1 -1
  249. package/lib/back-top/index.d.ts +3 -3
  250. package/lib/back-top/index.js +24 -19
  251. package/lib/back-top/index.js.map +1 -1
  252. package/lib/badge/index.d.ts +3 -3
  253. package/lib/badge/index.js +24 -19
  254. package/lib/badge/index.js.map +1 -1
  255. package/lib/breadcrumb/index.d.ts +3 -3
  256. package/lib/breadcrumb/index.js +24 -19
  257. package/lib/breadcrumb/index.js.map +1 -1
  258. package/lib/button/index.d.ts +3 -3
  259. package/lib/button/index.js +24 -19
  260. package/lib/button/index.js.map +1 -1
  261. package/lib/calendar/index.d.ts +3 -3
  262. package/lib/calendar/index.js +24 -19
  263. package/lib/calendar/index.js.map +1 -1
  264. package/lib/card/index.d.ts +3 -3
  265. package/lib/card/index.js +24 -19
  266. package/lib/card/index.js.map +1 -1
  267. package/lib/carousel/index.d.ts +3 -3
  268. package/lib/carousel/index.js +24 -19
  269. package/lib/carousel/index.js.map +1 -1
  270. package/lib/cascader/index.d.ts +3 -3
  271. package/lib/cascader/index.js +24 -19
  272. package/lib/cascader/index.js.map +1 -1
  273. package/lib/checkbox/index.d.ts +3 -3
  274. package/lib/checkbox/index.js +24 -19
  275. package/lib/checkbox/index.js.map +1 -1
  276. package/lib/col/index.d.ts +3 -3
  277. package/lib/col/index.js +24 -19
  278. package/lib/col/index.js.map +1 -1
  279. package/lib/collapse/index.d.ts +3 -3
  280. package/lib/collapse/index.js +25 -20
  281. package/lib/collapse/index.js.map +1 -1
  282. package/lib/color-picker/ColorPicker.js +156 -109
  283. package/lib/color-picker/ColorPicker.js.map +1 -1
  284. package/lib/color-picker/index.js +18 -14
  285. package/lib/color-picker/index.js.map +1 -1
  286. package/lib/color-picker/index.less +4 -0
  287. package/lib/columns/index.js +81 -41
  288. package/lib/columns/style/index.js +1 -2
  289. package/lib/comment/index.d.ts +3 -3
  290. package/lib/comment/index.js +24 -19
  291. package/lib/comment/index.js.map +1 -1
  292. package/lib/config-provider/config-provider.d.ts +1 -1
  293. package/lib/config-provider/config-provider.js +12 -8
  294. package/lib/config-provider/config-provider.js.map +1 -1
  295. package/lib/config-provider/index.d.ts +3 -3
  296. package/lib/config-provider/index.js +24 -19
  297. package/lib/config-provider/index.js.map +1 -1
  298. package/lib/date-picker/index.d.ts +3 -3
  299. package/lib/date-picker/index.js +24 -19
  300. package/lib/date-picker/index.js.map +1 -1
  301. package/lib/descriptions/descriptions.d.ts +4 -4
  302. package/lib/descriptions/descriptions.d.ts.map +1 -1
  303. package/lib/descriptions/descriptions.js +64 -51
  304. package/lib/descriptions/descriptions.js.map +1 -1
  305. package/lib/descriptions/index.d.ts +1 -1
  306. package/lib/descriptions/index.js +23 -18
  307. package/lib/descriptions/index.js.map +1 -1
  308. package/lib/development-login/LoginModal.js +110 -75
  309. package/lib/development-login/LoginModal.js.map +1 -1
  310. package/lib/development-login/index.js +42 -31
  311. package/lib/development-login/index.js.map +1 -1
  312. package/lib/divider/index.d.ts +3 -3
  313. package/lib/divider/index.js +24 -19
  314. package/lib/divider/index.js.map +1 -1
  315. package/lib/drawer/drawer.d.ts +1 -1
  316. package/lib/drawer/drawer.js +41 -30
  317. package/lib/drawer/drawer.js.map +1 -1
  318. package/lib/drawer/index.d.ts +2 -2
  319. package/lib/drawer/index.js +22 -16
  320. package/lib/drawer/index.js.map +1 -1
  321. package/lib/dropdown/index.d.ts +3 -3
  322. package/lib/dropdown/index.js +24 -19
  323. package/lib/dropdown/index.js.map +1 -1
  324. package/lib/ellipsis/Svg/CopySVG.js +70 -20
  325. package/lib/ellipsis/Svg/TickSVG.js +48 -15
  326. package/lib/ellipsis/index.d.ts.map +1 -1
  327. package/lib/ellipsis/index.js +147 -111
  328. package/lib/ellipsis/index.js.map +1 -1
  329. package/lib/ellipsis/index.less +1 -1
  330. package/lib/empty/empty.d.ts +2 -2
  331. package/lib/empty/empty.js +90 -71
  332. package/lib/empty/empty.js.map +1 -1
  333. package/lib/empty/empty.stories.js +19 -18
  334. package/lib/empty/index.d.ts +1 -1
  335. package/lib/empty/index.js +21 -16
  336. package/lib/empty/index.js.map +1 -1
  337. package/lib/exception/exception.js +46 -31
  338. package/lib/exception/exception.js.map +1 -1
  339. package/lib/exception/index.js +20 -15
  340. package/lib/exception/index.js.map +1 -1
  341. package/lib/form/index.d.ts +3 -3
  342. package/lib/form/index.js +24 -19
  343. package/lib/form/index.js.map +1 -1
  344. package/lib/handle/index.js +146 -105
  345. package/lib/handle/index.js.map +1 -1
  346. package/lib/icon/index.d.ts +3 -3
  347. package/lib/icon/index.js +24 -19
  348. package/lib/icon/index.js.map +1 -1
  349. package/lib/icon-list/index.js +7 -121
  350. package/lib/img/Contain.js +69 -44
  351. package/lib/img/Cover.js +117 -78
  352. package/lib/img/index.js +74 -56
  353. package/lib/img/index.js.map +1 -1
  354. package/lib/index.js +621 -186
  355. package/lib/input/index.d.ts +1 -1
  356. package/lib/input/index.js +21 -16
  357. package/lib/input/index.js.map +1 -1
  358. package/lib/input/input.d.ts +18 -9
  359. package/lib/input/input.d.ts.map +1 -1
  360. package/lib/input/input.js +91 -61
  361. package/lib/input/input.js.map +1 -1
  362. package/lib/input-number/index.d.ts +3 -3
  363. package/lib/input-number/index.js +24 -19
  364. package/lib/input-number/index.js.map +1 -1
  365. package/lib/label/index.d.ts +2 -2
  366. package/lib/label/index.js +134 -133
  367. package/lib/label/index.js.map +1 -1
  368. package/lib/layout/index.d.ts +3 -3
  369. package/lib/layout/index.js +24 -19
  370. package/lib/layout/index.js.map +1 -1
  371. package/lib/list/index.d.ts +3 -3
  372. package/lib/list/index.js +24 -19
  373. package/lib/list/index.js.map +1 -1
  374. package/lib/loading-button/index.js +58 -51
  375. package/lib/loading-button/index.js.map +1 -1
  376. package/lib/locale/default.js +12 -10
  377. package/lib/locale/default.js.map +1 -1
  378. package/lib/locale/en_US.js +38 -36
  379. package/lib/locale/en_US.js.map +1 -1
  380. package/lib/locale/index.js +37 -15
  381. package/lib/locale/index.js.map +1 -1
  382. package/lib/locale/zh_CN.js +38 -36
  383. package/lib/locale/zh_CN.js.map +1 -1
  384. package/lib/locale-provider/index.d.ts +3 -3
  385. package/lib/locale-provider/index.js +27 -22
  386. package/lib/locale-provider/index.js.map +1 -1
  387. package/lib/mention/index.d.ts +3 -3
  388. package/lib/mention/index.js +24 -19
  389. package/lib/mention/index.js.map +1 -1
  390. package/lib/mentions/index.d.ts +3 -3
  391. package/lib/mentions/index.js +24 -19
  392. package/lib/mentions/index.js.map +1 -1
  393. package/lib/menu/index.d.ts +3 -3
  394. package/lib/menu/index.js +24 -19
  395. package/lib/menu/index.js.map +1 -1
  396. package/lib/message/index.d.ts +3 -3
  397. package/lib/message/index.js +24 -19
  398. package/lib/message/index.js.map +1 -1
  399. package/lib/modal/index.d.ts +1 -1
  400. package/lib/modal/index.js +23 -18
  401. package/lib/modal/index.js.map +1 -1
  402. package/lib/modal/modal.d.ts +9 -9
  403. package/lib/modal/modal.js +53 -45
  404. package/lib/modal/modal.js.map +1 -1
  405. package/lib/notification/index.d.ts +3 -3
  406. package/lib/notification/index.js +24 -19
  407. package/lib/notification/index.js.map +1 -1
  408. package/lib/page/Box.js +66 -40
  409. package/lib/page/index.js +148 -95
  410. package/lib/page/index.js.map +1 -1
  411. package/lib/page/utils.js +22 -16
  412. package/lib/page-header/index.d.ts +3 -3
  413. package/lib/page-header/index.js +24 -19
  414. package/lib/page-header/index.js.map +1 -1
  415. package/lib/pagination/index.d.ts +3 -3
  416. package/lib/pagination/index.js +24 -19
  417. package/lib/pagination/index.js.map +1 -1
  418. package/lib/popconfirm/index.d.ts +3 -3
  419. package/lib/popconfirm/index.js +24 -19
  420. package/lib/popconfirm/index.js.map +1 -1
  421. package/lib/popover/index.d.ts +3 -3
  422. package/lib/popover/index.js +24 -19
  423. package/lib/popover/index.js.map +1 -1
  424. package/lib/prev-locale.js +68 -54
  425. package/lib/progress/index.d.ts +3 -3
  426. package/lib/progress/index.js +24 -19
  427. package/lib/progress/index.js.map +1 -1
  428. package/lib/query-form/Field/Checkbox.js +28 -22
  429. package/lib/query-form/Field/Select.js +79 -64
  430. package/lib/query-form/Field/Select.js.map +1 -1
  431. package/lib/query-form/Field/SelectInput.js +85 -69
  432. package/lib/query-form/Field/SelectInput.js.map +1 -1
  433. package/lib/query-form/Field/fieldsMap.d.ts +2 -2
  434. package/lib/query-form/Field/fieldsMap.js +34 -32
  435. package/lib/query-form/Field/index.d.ts +6 -0
  436. package/lib/query-form/Field/index.d.ts.map +1 -1
  437. package/lib/query-form/Field/index.js +139 -91
  438. package/lib/query-form/Field/index.js.map +1 -1
  439. package/lib/query-form/createActions.js +53 -50
  440. package/lib/query-form/index.d.ts +9 -0
  441. package/lib/query-form/index.d.ts.map +1 -1
  442. package/lib/query-form/index.js +377 -282
  443. package/lib/query-form/index.js.map +1 -1
  444. package/lib/query-form/useForm.js +11 -11
  445. package/lib/query-list-scene/List.d.ts +13 -0
  446. package/lib/query-list-scene/List.d.ts.map +1 -1
  447. package/lib/query-list-scene/List.js +360 -285
  448. package/lib/query-list-scene/List.js.map +1 -1
  449. package/lib/query-list-scene/QueryForm.d.ts +3 -0
  450. package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
  451. package/lib/query-list-scene/QueryForm.js +161 -103
  452. package/lib/query-list-scene/QueryListScene.d.ts +1 -0
  453. package/lib/query-list-scene/QueryListScene.d.ts.map +1 -1
  454. package/lib/query-list-scene/QueryListScene.js +66 -31
  455. package/lib/query-list-scene/Title.js +15 -9
  456. package/lib/query-list-scene/Toolbar.js +31 -20
  457. package/lib/query-list-scene/createActions.js +79 -64
  458. package/lib/query-list-scene/index.js +28 -24
  459. package/lib/query-list-scene/useActions.js +11 -11
  460. package/lib/radio/index.d.ts +3 -3
  461. package/lib/radio/index.js +24 -19
  462. package/lib/radio/index.js.map +1 -1
  463. package/lib/rate/index.d.ts +3 -3
  464. package/lib/rate/index.js +24 -19
  465. package/lib/rate/index.js.map +1 -1
  466. package/lib/render-empty/index.js +8 -4
  467. package/lib/render-empty/render-empty.js +28 -22
  468. package/lib/render-empty/render-empty.js.map +1 -1
  469. package/lib/result/index.d.ts +3 -3
  470. package/lib/result/index.js +24 -19
  471. package/lib/result/index.js.map +1 -1
  472. package/lib/row/index.d.ts +3 -3
  473. package/lib/row/index.js +24 -19
  474. package/lib/row/index.js.map +1 -1
  475. package/lib/select/index.d.ts +2 -2
  476. package/lib/select/index.js +22 -16
  477. package/lib/select/index.js.map +1 -1
  478. package/lib/select/select.d.ts +9 -7
  479. package/lib/select/select.d.ts.map +1 -1
  480. package/lib/select/select.js +39 -30
  481. package/lib/select/select.js.map +1 -1
  482. package/lib/skeleton/index.d.ts +3 -3
  483. package/lib/skeleton/index.js +24 -19
  484. package/lib/skeleton/index.js.map +1 -1
  485. package/lib/slider/index.d.ts +3 -3
  486. package/lib/slider/index.js +24 -19
  487. package/lib/slider/index.js.map +1 -1
  488. package/lib/spin/index.d.ts +3 -3
  489. package/lib/spin/index.js +24 -19
  490. package/lib/spin/index.js.map +1 -1
  491. package/lib/statistic/index.d.ts +3 -3
  492. package/lib/statistic/index.js +24 -19
  493. package/lib/statistic/index.js.map +1 -1
  494. package/lib/steps/index.d.ts +1 -1
  495. package/lib/steps/index.js +21 -16
  496. package/lib/steps/index.js.map +1 -1
  497. package/lib/steps/steps.d.ts +3 -3
  498. package/lib/steps/steps.js +72 -55
  499. package/lib/steps/steps.js.map +1 -1
  500. package/lib/svg-components/illustration-403.d.ts +1 -1
  501. package/lib/svg-components/illustration-403.js +217 -80
  502. package/lib/svg-components/illustration-403.js.map +1 -1
  503. package/lib/svg-components/illustration-404.d.ts +1 -1
  504. package/lib/svg-components/illustration-404.js +301 -97
  505. package/lib/svg-components/illustration-404.js.map +1 -1
  506. package/lib/svg-components/illustration-500.d.ts +1 -1
  507. package/lib/svg-components/illustration-500.js +332 -105
  508. package/lib/svg-components/illustration-500.js.map +1 -1
  509. package/lib/svg-components/illustration-empty.d.ts +1 -1
  510. package/lib/svg-components/illustration-empty.js +65 -37
  511. package/lib/svg-components/illustration-empty.js.map +1 -1
  512. package/lib/svg-components/illustration-failure.d.ts +1 -1
  513. package/lib/svg-components/illustration-failure.js +123 -58
  514. package/lib/svg-components/illustration-failure.js.map +1 -1
  515. package/lib/svg-components/illustration-no-access.d.ts +1 -1
  516. package/lib/svg-components/illustration-no-access.js +125 -57
  517. package/lib/svg-components/illustration-no-access.js.map +1 -1
  518. package/lib/svg-components/illustration-no-chart.d.ts +1 -1
  519. package/lib/svg-components/illustration-no-chart.js +145 -59
  520. package/lib/svg-components/illustration-no-chart.js.map +1 -1
  521. package/lib/svg-components/illustration-no-result.d.ts +1 -1
  522. package/lib/svg-components/illustration-no-result.js +103 -54
  523. package/lib/svg-components/illustration-no-result.js.map +1 -1
  524. package/lib/svg-components/illustration-offline.d.ts +1 -1
  525. package/lib/svg-components/illustration-offline.js +142 -65
  526. package/lib/svg-components/illustration-offline.js.map +1 -1
  527. package/lib/svg-components/illustration-success.d.ts +1 -1
  528. package/lib/svg-components/illustration-success.js +148 -65
  529. package/lib/svg-components/illustration-success.js.map +1 -1
  530. package/lib/svg-components/index.js +75 -26
  531. package/lib/switch/index.d.ts +3 -3
  532. package/lib/switch/index.js +24 -19
  533. package/lib/switch/index.js.map +1 -1
  534. package/lib/table/assets/image-loading-background.d.ts +1 -1
  535. package/lib/table/assets/image-loading-background.js +56 -39
  536. package/lib/table/assets/image-loading-background.js.map +1 -1
  537. package/lib/table/assets/image-loading.d.ts +1 -1
  538. package/lib/table/assets/image-loading.js +37 -27
  539. package/lib/table/assets/image-loading.js.map +1 -1
  540. package/lib/table/constants.js +6 -3
  541. package/lib/table/context.js +7 -4
  542. package/lib/table/hooks/index.js +15 -13
  543. package/lib/table/hooks/index.js.map +1 -1
  544. package/lib/table/hooks/use-column-setting.d.ts +1 -1
  545. package/lib/table/hooks/use-column-setting.js +37 -20
  546. package/lib/table/hooks/use-column-setting.js.map +1 -1
  547. package/lib/table/index.d.ts +1 -1
  548. package/lib/table/index.js +21 -16
  549. package/lib/table/index.js.map +1 -1
  550. package/lib/table/table.d.ts +3 -3
  551. package/lib/table/table.js +114 -90
  552. package/lib/table/table.js.map +1 -1
  553. package/lib/table/table.stories.js +182 -154
  554. package/lib/table/utils.d.ts +1 -1
  555. package/lib/table/utils.js +24 -25
  556. package/lib/table/utils.js.map +1 -1
  557. package/lib/tabs/index.d.ts +3 -3
  558. package/lib/tabs/index.js +24 -19
  559. package/lib/tabs/index.js.map +1 -1
  560. package/lib/tag/index.d.ts +3 -3
  561. package/lib/tag/index.js +24 -19
  562. package/lib/tag/index.js.map +1 -1
  563. package/lib/time-picker/index.d.ts +3 -3
  564. package/lib/time-picker/index.js +24 -19
  565. package/lib/time-picker/index.js.map +1 -1
  566. package/lib/timeline/index.d.ts +3 -3
  567. package/lib/timeline/index.js +24 -19
  568. package/lib/timeline/index.js.map +1 -1
  569. package/lib/title/index.js +45 -26
  570. package/lib/tntd-cascader/AntdCascader/component/DisabledContext.js +18 -27
  571. package/lib/tntd-cascader/AntdCascader/component/DisabledContext.js.map +1 -1
  572. package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.js +9 -22
  573. package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.js.map +1 -1
  574. package/lib/tntd-cascader/AntdCascader/component/SizeContext.js +9 -22
  575. package/lib/tntd-cascader/AntdCascader/component/SizeContext.js.map +1 -1
  576. package/lib/tntd-cascader/AntdCascader/component/context.js +18 -16
  577. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +36 -35
  578. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  579. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +81 -71
  580. package/lib/tntd-cascader/AntdCascader/component/getIcons.js.map +1 -1
  581. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +31 -46
  582. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js.map +1 -1
  583. package/lib/tntd-cascader/AntdCascader/config/utils.d.ts +1 -1
  584. package/lib/tntd-cascader/AntdCascader/config/utils.js +29 -27
  585. package/lib/tntd-cascader/AntdCascader/config/warning.js +19 -31
  586. package/lib/tntd-cascader/AntdCascader/config/warning.js.map +1 -1
  587. package/lib/tntd-cascader/AntdCascader/index.js +216 -158
  588. package/lib/tntd-cascader/AntdCascader/index.js.map +1 -1
  589. package/lib/tntd-cascader/AntdCascader/interface.js +13 -6
  590. package/lib/tntd-cascader/img/no-data-s.png +0 -0
  591. package/lib/tntd-cascader/index.js +12 -8
  592. package/lib/tntd-cascader/rc-cascader/Cascader.js +325 -280
  593. package/lib/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
  594. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +30 -37
  595. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js.map +1 -1
  596. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +198 -148
  597. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  598. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +223 -159
  599. package/lib/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  600. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +40 -44
  601. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js.map +1 -1
  602. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +179 -162
  603. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js.map +1 -1
  604. package/lib/tntd-cascader/rc-cascader/context.js +11 -23
  605. package/lib/tntd-cascader/rc-cascader/context.js.map +1 -1
  606. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +62 -59
  607. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js.map +1 -1
  608. package/lib/tntd-cascader/rc-cascader/hooks/useEntities.js +39 -45
  609. package/lib/tntd-cascader/rc-cascader/hooks/useEntities.js.map +1 -1
  610. package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.js +26 -37
  611. package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.js.map +1 -1
  612. package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.js +16 -29
  613. package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.js.map +1 -1
  614. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +30 -47
  615. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js.map +1 -1
  616. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +75 -61
  617. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js.map +1 -1
  618. package/lib/tntd-cascader/rc-cascader/index.js +9 -7
  619. package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js +49 -38
  620. package/lib/tntd-cascader/rc-cascader/utils/treeUtil.js +42 -39
  621. package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +34 -30
  622. package/lib/tntd-form/TntdForm/components/Item.js +55 -57
  623. package/lib/tntd-form/TntdForm/components/Item.js.map +1 -1
  624. package/lib/tntd-form/TntdForm/components/ItemComp.js +203 -186
  625. package/lib/tntd-form/TntdForm/components/ItemComp.js.map +1 -1
  626. package/lib/tntd-form/TntdForm/components/List.js +118 -107
  627. package/lib/tntd-form/TntdForm/components/List.js.map +1 -1
  628. package/lib/tntd-form/TntdForm/index.js +61 -63
  629. package/lib/tntd-form/TntdForm/index.js.map +1 -1
  630. package/lib/tntd-form/TntdForm/interface.js +4 -2
  631. package/lib/tntd-form/TntdForm/store.js +8 -7
  632. package/lib/tntd-form/TntdForm/utils.js +182 -184
  633. package/lib/tntd-form/index.js +12 -8
  634. package/lib/tntd-icon/fonts/iconfont.js +36 -53
  635. package/lib/tntd-icon/index.js +40 -25
  636. package/lib/tntd-layout/ActionsContext.js +8 -4
  637. package/lib/tntd-layout/AppList.js +173 -220
  638. package/lib/tntd-layout/AppList.js.map +1 -1
  639. package/lib/tntd-layout/Application.js +75 -107
  640. package/lib/tntd-layout/Application.js.map +1 -1
  641. package/lib/tntd-layout/Avatar.js +100 -131
  642. package/lib/tntd-layout/Avatar.js.map +1 -1
  643. package/lib/tntd-layout/CompatibleLanguage.js +128 -176
  644. package/lib/tntd-layout/CompatibleLanguage.js.map +1 -1
  645. package/lib/tntd-layout/EnterpriseLayout/Avatar.js +117 -142
  646. package/lib/tntd-layout/EnterpriseLayout/Avatar.js.map +1 -1
  647. package/lib/tntd-layout/EnterpriseLayout/Language.js +73 -86
  648. package/lib/tntd-layout/EnterpriseLayout/Language.js.map +1 -1
  649. package/lib/tntd-layout/EnterpriseLayout/Theme.js +69 -98
  650. package/lib/tntd-layout/EnterpriseLayout/Theme.js.map +1 -1
  651. package/lib/tntd-layout/EnterpriseLayout/index.js +28 -17
  652. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +283 -272
  653. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js.map +1 -1
  654. package/lib/tntd-layout/GlobalNavigation/index.js +108 -111
  655. package/lib/tntd-layout/GlobalNavigation/index.js.map +1 -1
  656. package/lib/tntd-layout/Header.js +77 -132
  657. package/lib/tntd-layout/Header.js.map +1 -1
  658. package/lib/tntd-layout/HeaderActions.js +106 -102
  659. package/lib/tntd-layout/HeaderActions.js.map +1 -1
  660. package/lib/tntd-layout/HeaderNavs.js +78 -103
  661. package/lib/tntd-layout/HeaderNavs.js.map +1 -1
  662. package/lib/tntd-layout/HeaderTabs.js +224 -312
  663. package/lib/tntd-layout/HeaderTabs.js.map +1 -1
  664. package/lib/tntd-layout/Iconfont.js +11 -7
  665. package/lib/tntd-layout/Language.js +69 -72
  666. package/lib/tntd-layout/Language.js.map +1 -1
  667. package/lib/tntd-layout/Layout.js +214 -167
  668. package/lib/tntd-layout/Layout.js.map +1 -1
  669. package/lib/tntd-layout/Logo.js +69 -140
  670. package/lib/tntd-layout/Logo.js.map +1 -1
  671. package/lib/tntd-layout/OrgAppList.js +238 -384
  672. package/lib/tntd-layout/OrgAppList.js.map +1 -1
  673. package/lib/tntd-layout/SideMenu.js +269 -404
  674. package/lib/tntd-layout/SideMenu.js.map +1 -1
  675. package/lib/tntd-layout/Theme.js +75 -89
  676. package/lib/tntd-layout/Theme.js.map +1 -1
  677. package/lib/tntd-layout/createActions.js +45 -34
  678. package/lib/tntd-layout/images/avatar/empty.png +0 -0
  679. package/lib/tntd-layout/images/avatar/female1.png +0 -0
  680. package/lib/tntd-layout/images/avatar/female2.png +0 -0
  681. package/lib/tntd-layout/images/avatar/female3.png +0 -0
  682. package/lib/tntd-layout/images/avatar/female4.png +0 -0
  683. package/lib/tntd-layout/images/avatar/female5.png +0 -0
  684. package/lib/tntd-layout/images/avatar/female6.png +0 -0
  685. package/lib/tntd-layout/images/avatar/male1.png +0 -0
  686. package/lib/tntd-layout/images/avatar/male2.png +0 -0
  687. package/lib/tntd-layout/images/avatar/male3.png +0 -0
  688. package/lib/tntd-layout/images/avatar/male4.png +0 -0
  689. package/lib/tntd-layout/images/avatar/male5.png +0 -0
  690. package/lib/tntd-layout/images/avatar/male6.png +0 -0
  691. package/lib/tntd-layout/images/index.js +68 -66
  692. package/lib/tntd-layout/index.js +137 -91
  693. package/lib/tntd-layout/index.js.map +1 -1
  694. package/lib/tntd-layout/paaslayout/CompactSideMenu.js +131 -178
  695. package/lib/tntd-layout/paaslayout/CompactSideMenu.js.map +1 -1
  696. package/lib/tntd-layout/paaslayout/Header.js +51 -75
  697. package/lib/tntd-layout/paaslayout/Header.js.map +1 -1
  698. package/lib/tntd-layout/paaslayout/Logo.js +15 -30
  699. package/lib/tntd-layout/paaslayout/SideMenu.js +131 -143
  700. package/lib/tntd-layout/paaslayout/SideMenu.js.map +1 -1
  701. package/lib/tntd-layout/paaslayout/index.js +205 -137
  702. package/lib/tntd-layout/paaslayout/index.js.map +1 -1
  703. package/lib/tntd-layout/storage.js +58 -30
  704. package/lib/tntd-modal/index.js +98 -58
  705. package/lib/tntd-modal/index.js.map +1 -1
  706. package/lib/tntd-second-page/index.js +60 -33
  707. package/lib/tntd-second-page/index.js.map +1 -1
  708. package/lib/tntd-select/DropDownWrap.d.ts +10 -0
  709. package/lib/tntd-select/DropDownWrap.d.ts.map +1 -1
  710. package/lib/tntd-select/DropDownWrap.js +102 -74
  711. package/lib/tntd-select/DropDownWrap.js.map +1 -1
  712. package/lib/tntd-select/index.d.ts +13 -2
  713. package/lib/tntd-select/index.d.ts.map +1 -1
  714. package/lib/tntd-select/index.js +631 -533
  715. package/lib/tntd-select/index.js.map +1 -1
  716. package/lib/tooltip/index.d.ts +3 -3
  717. package/lib/tooltip/index.js +24 -19
  718. package/lib/tooltip/index.js.map +1 -1
  719. package/lib/transfer/index.d.ts +3 -3
  720. package/lib/transfer/index.js +24 -19
  721. package/lib/transfer/index.js.map +1 -1
  722. package/lib/tree/index.d.ts +3 -3
  723. package/lib/tree/index.js +24 -19
  724. package/lib/tree/index.js.map +1 -1
  725. package/lib/tree-select/index.d.ts +3 -3
  726. package/lib/tree-select/index.js +24 -19
  727. package/lib/tree-select/index.js.map +1 -1
  728. package/lib/typography/index.d.ts +3 -3
  729. package/lib/typography/index.js +24 -19
  730. package/lib/typography/index.js.map +1 -1
  731. package/lib/upload/index.d.ts +3 -3
  732. package/lib/upload/index.js +24 -19
  733. package/lib/upload/index.js.map +1 -1
  734. package/lib/utils/checkAuth.js +34 -23
  735. package/lib/utils/findMenuInfoByPath.js +41 -34
  736. package/lib/utils/index.js +117 -76
  737. package/lib/utils/index.js.map +1 -1
  738. package/lib/version/index.d.ts +3 -3
  739. package/lib/version/index.js +24 -19
  740. package/lib/version/index.js.map +1 -1
  741. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { isLeaf, toPathKey } from '../utils/commonUtil'\nimport CascaderContext from '../context'\nimport Checkbox from './Checkbox'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport { SEARCH_MARK } from '../hooks/useSearchOptions'\nimport List, { ListRef } from 'rc-virtual-list'\nimport type { RenderItem } from '../context'\n\nexport const FIX_LABEL = '__cascader_fix_label__'\n\nexport interface ColumnProps {\n prefixCls: string\n multiple?: boolean\n options: DefaultOptionType[]\n /** Current Column opened item key */\n activeValue?: React.Key\n /** The value path before current column */\n prevValuePath: React.Key[]\n onToggleOpen: (open: boolean) => void\n onSelect: (valuePath: SingleValueType, leaf: boolean) => void\n onActive: (valuePath: SingleValueType) => void\n checkedSet: Set<React.Key>\n halfCheckedSet: Set<React.Key>\n loadingKeys: React.Key[]\n isSelectable: (option: DefaultOptionType) => boolean\n renderItem?: (item: RenderItem) => React.ReactNode\n searchValue?: string\n level?: number\n dropdownVisible?: boolean\n optionHeight?: number\n}\n\nexport default function Column({\n prefixCls,\n multiple,\n options,\n activeValue,\n prevValuePath,\n onToggleOpen,\n onSelect,\n onActive,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n renderItem,\n searchValue,\n level,\n dropdownVisible,\n optionHeight,\n}: ColumnProps) {\n const ref = React.useRef<ListRef>(null)\n const menuPrefixCls = `${prefixCls}-menu ${prefixCls}-menu-${level}`\n const menuItemPrefixCls = `${prefixCls}-menu-item`\n\n const {\n fieldNames,\n changeOnSelect,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n } = React.useContext(CascaderContext)\n\n const hoverOpen = expandTrigger === 'hover'\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n if (ref.current && ref.current.scrollTo && !multiple && dropdownVisible) {\n const index = options.findIndex((it) => it[fieldNames.value] === activeValue)\n\n if (index > 0 && !isNaN(index)) {\n timer = window.setTimeout(() => {\n ref.current.scrollTo((optionHeight || 36) * index)\n }, 5)\n }\n }\n\n return () => {\n if (timer) {\n window.clearTimeout(timer)\n }\n timer = null\n }\n }, [multiple, activeValue, options, fieldNames, dropdownVisible, optionHeight])\n\n // ============================ Option ============================\n const optionInfoList = React.useMemo(\n () =>\n options.map((option) => {\n const { disabled } = option\n const searchOptions = option[SEARCH_MARK]\n const label = option[FIX_LABEL] ?? option[fieldNames.label]\n const value = option[fieldNames.value]\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n\n // Get real value of option. Search option is different way.\n const fullPath = searchOptions\n ? // @ts-ignore\n searchOptions.map((opt) => opt[fieldNames.value])\n : [...prevValuePath, value]\n const fullPathKey = toPathKey(fullPath)\n\n const isLoading = loadingKeys.includes(fullPathKey)\n\n // >>>>> checked\n const checked = checkedSet.has(fullPathKey)\n\n // >>>>> halfChecked\n const halfChecked = halfCheckedSet.has(fullPathKey)\n\n return {\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }\n }),\n [options, checkedSet, fieldNames, halfCheckedSet, loadingKeys, prevValuePath]\n )\n // ============================ Render ============================\n return (\n <ul className={menuPrefixCls} role=\"menu\">\n <List\n className={\n optionInfoList[0].fullPathKey === '__EMPTY__' || !!searchValue\n ? 'rc-virtual-list-full'\n : ''\n }\n data={optionInfoList}\n height={180}\n itemHeight={optionHeight || 36}\n itemKey=\"value\"\n ref={ref}\n >\n {({\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }) => {\n // >>>>> Open\n const triggerOpenPath = () => {\n if (!disabled && (!hoverOpen || !isMergedLeaf)) {\n onActive(fullPath)\n }\n }\n\n // >>>>> Selection\n const triggerSelect = () => {\n if (isSelectable(option)) {\n onSelect(fullPath, isMergedLeaf)\n }\n }\n\n // >>>>> Title\n let title: string\n if (typeof option.title === 'string') {\n title = option.title\n } else if (typeof label === 'string') {\n title = label\n }\n return (\n <li\n key={fullPathKey}\n className={classNames(menuItemPrefixCls, {\n [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,\n [`${menuItemPrefixCls}-active`]: activeValue === value,\n [`${menuItemPrefixCls}-disabled`]: disabled,\n [`${menuItemPrefixCls}-loading`]: isLoading,\n })}\n style={dropdownMenuColumnStyle}\n role=\"menuitemcheckbox\"\n // @ts-ignore\n title={title}\n aria-checked={checked}\n data-path-key={fullPathKey}\n onClick={() => {\n triggerOpenPath()\n if (!multiple || isMergedLeaf) {\n triggerSelect()\n }\n }}\n onDoubleClick={() => {\n if (changeOnSelect) {\n onToggleOpen(false)\n }\n }}\n onMouseEnter={() => {\n if (hoverOpen) {\n triggerOpenPath()\n }\n }}\n onMouseDown={(e) => {\n // Prevent selector from blurring\n e.preventDefault()\n }}\n >\n {multiple && (\n <Checkbox\n prefixCls={`${prefixCls}-checkbox`}\n checked={checked}\n halfChecked={halfChecked}\n disabled={disabled}\n onClick={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation()\n triggerSelect()\n }}\n />\n )}\n <div className={`${menuItemPrefixCls}-content`}>\n {optionInfoList[0].fullPathKey !== '__EMPTY__' && renderItem\n ? renderItem(option, level)\n : label}\n </div>\n {!isLoading && expandIcon && !isMergedLeaf && (\n <div className={`${menuItemPrefixCls}-expand-icon`}>{expandIcon}</div>\n )}\n {isLoading && loadingIcon && (\n <div className={`${menuItemPrefixCls}-loading-icon`}>{loadingIcon}</div>\n )}\n </li>\n )\n }}\n </List>\n </ul>\n )\n}\n"]}
1
+ {"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { isLeaf, toPathKey } from '../utils/commonUtil'\nimport CascaderContext from '../context'\nimport Checkbox from './Checkbox'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport { SEARCH_MARK } from '../hooks/useSearchOptions'\nimport List, { ListRef } from 'rc-virtual-list'\nimport type { RenderItem } from '../context'\n\nexport const FIX_LABEL = '__cascader_fix_label__'\n\nexport interface ColumnProps {\n prefixCls: string\n multiple?: boolean\n options: DefaultOptionType[]\n /** Current Column opened item key */\n activeValue?: React.Key\n /** The value path before current column */\n prevValuePath: React.Key[]\n onToggleOpen: (open: boolean) => void\n onSelect: (valuePath: SingleValueType, leaf: boolean) => void\n onActive: (valuePath: SingleValueType) => void\n checkedSet: Set<React.Key>\n halfCheckedSet: Set<React.Key>\n loadingKeys: React.Key[]\n isSelectable: (option: DefaultOptionType) => boolean\n renderItem?: (item: RenderItem) => React.ReactNode\n searchValue?: string\n level?: number\n dropdownVisible?: boolean\n optionHeight?: number\n}\n\nexport default function Column({\n prefixCls,\n multiple,\n options,\n activeValue,\n prevValuePath,\n onToggleOpen,\n onSelect,\n onActive,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n renderItem,\n searchValue,\n level,\n dropdownVisible,\n optionHeight,\n}: ColumnProps) {\n const ref = React.useRef<ListRef>(null)\n const menuPrefixCls = `${prefixCls}-menu ${prefixCls}-menu-${level}`\n const menuItemPrefixCls = `${prefixCls}-menu-item`\n\n const {\n fieldNames,\n changeOnSelect,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n } = React.useContext(CascaderContext)\n\n const hoverOpen = expandTrigger === 'hover'\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n if (ref.current && ref.current.scrollTo && !multiple && dropdownVisible) {\n const index = options.findIndex((it) => it[fieldNames.value] === activeValue)\n\n if (index > 0 && !isNaN(index)) {\n timer = window.setTimeout(() => {\n ref.current.scrollTo((optionHeight || 36) * index)\n }, 5)\n }\n }\n\n return () => {\n if (timer) {\n window.clearTimeout(timer)\n }\n timer = null\n }\n }, [multiple, activeValue, options, fieldNames, dropdownVisible, optionHeight])\n\n // ============================ Option ============================\n const optionInfoList = React.useMemo(\n () =>\n options.map((option) => {\n const { disabled } = option\n const searchOptions = option[SEARCH_MARK]\n const label = option[FIX_LABEL] ?? option[fieldNames.label]\n const value = option[fieldNames.value]\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n\n // Get real value of option. Search option is different way.\n const fullPath = searchOptions\n ? // @ts-ignore\n searchOptions.map((opt) => opt[fieldNames.value])\n : [...prevValuePath, value]\n const fullPathKey = toPathKey(fullPath)\n\n const isLoading = loadingKeys.includes(fullPathKey)\n\n // >>>>> checked\n const checked = checkedSet.has(fullPathKey)\n\n // >>>>> halfChecked\n const halfChecked = halfCheckedSet.has(fullPathKey)\n\n return {\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }\n }),\n [options, checkedSet, fieldNames, halfCheckedSet, loadingKeys, prevValuePath]\n )\n // ============================ Render ============================\n return (\n <ul className={menuPrefixCls} role=\"menu\">\n <List\n className={\n optionInfoList[0].fullPathKey === '__EMPTY__' || !!searchValue\n ? 'rc-virtual-list-full'\n : ''\n }\n data={optionInfoList}\n height={180}\n itemHeight={optionHeight || 36}\n itemKey=\"value\"\n ref={ref}\n >\n {({\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }) => {\n // >>>>> Open\n const triggerOpenPath = () => {\n if (!disabled && (!hoverOpen || !isMergedLeaf)) {\n onActive(fullPath)\n }\n }\n\n // >>>>> Selection\n const triggerSelect = () => {\n if (isSelectable(option)) {\n onSelect(fullPath, isMergedLeaf)\n }\n }\n\n // >>>>> Title\n let title: string\n if (typeof option.title === 'string') {\n title = option.title\n } else if (typeof label === 'string') {\n title = label\n }\n return (\n <li\n key={fullPathKey}\n className={classNames(menuItemPrefixCls, {\n [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,\n [`${menuItemPrefixCls}-active`]: activeValue === value,\n [`${menuItemPrefixCls}-disabled`]: disabled,\n [`${menuItemPrefixCls}-loading`]: isLoading,\n })}\n style={dropdownMenuColumnStyle}\n role=\"menuitemcheckbox\"\n // @ts-ignore\n title={title}\n aria-checked={checked}\n data-path-key={fullPathKey}\n onClick={() => {\n triggerOpenPath()\n if (!multiple || isMergedLeaf) {\n triggerSelect()\n }\n }}\n onDoubleClick={() => {\n if (changeOnSelect) {\n onToggleOpen(false)\n }\n }}\n onMouseEnter={() => {\n if (hoverOpen) {\n triggerOpenPath()\n }\n }}\n onMouseDown={(e) => {\n // Prevent selector from blurring\n e.preventDefault()\n }}\n >\n {multiple && (\n <Checkbox\n prefixCls={`${prefixCls}-checkbox`}\n checked={checked}\n halfChecked={halfChecked}\n disabled={disabled}\n onClick={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation()\n triggerSelect()\n }}\n />\n )}\n <div className={`${menuItemPrefixCls}-content`}>\n {optionInfoList[0].fullPathKey !== '__EMPTY__' && renderItem\n ? renderItem(option, level)\n : label}\n </div>\n {!isLoading && expandIcon && !isMergedLeaf && (\n <div className={`${menuItemPrefixCls}-expand-icon`}>{expandIcon}</div>\n )}\n {isLoading && loadingIcon && (\n <div className={`${menuItemPrefixCls}-loading-icon`}>{loadingIcon}</div>\n )}\n </li>\n )\n }}\n </List>\n </ul>\n )\n}\n"]}
@@ -1,165 +1,229 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
13
6
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- /* eslint-disable default-case */
26
- // @ts-nocheck
27
- const classnames_1 = __importDefault(require("classnames"));
28
- const rc_select_1 = require("rc-select");
29
- const React = __importStar(require("react"));
30
- const context_1 = __importDefault(require("../context"));
31
- const commonUtil_1 = require("../utils/commonUtil");
32
- const treeUtil_1 = require("../utils/treeUtil");
33
- const Column_1 = __importStar(require("./Column"));
34
- const useActive_1 = __importDefault(require("./useActive"));
35
- const useKeyboard_1 = __importDefault(require("./useKeyboard"));
36
- const RefOptionList = React.forwardRef((props, ref) => {
37
- var _a, _b;
38
- const { prefixCls, multiple, searchValue, toggleOpen, notFoundContent, direction, optionHeight } = (0, rc_select_1.useBaseProps)();
39
- const containerRef = React.useRef();
40
- const rtl = direction === 'rtl';
41
- const { options, values, halfValues, fieldNames, changeOnSelect, onSelect, searchOptions, dropdownPrefixCls, loadData, expandTrigger, renderItem, dropdownVisible, } = React.useContext(context_1.default);
42
- const mergedPrefixCls = dropdownPrefixCls || prefixCls;
43
- // ========================= loadData =========================
44
- const [loadingKeys, setLoadingKeys] = React.useState([]);
45
- const internalLoadData = (valueCells) => {
46
- // Do not load when search
47
- if (!loadData || searchValue) {
48
- return;
49
- }
50
- const optionList = (0, treeUtil_1.toPathOptions)(valueCells, options, fieldNames);
51
- const rawOptions = optionList.map(({ option }) => option);
52
- const lastOption = rawOptions[rawOptions.length - 1];
53
- if (lastOption && !(0, commonUtil_1.isLeaf)(lastOption, fieldNames)) {
54
- const pathKey = (0, commonUtil_1.toPathKey)(valueCells);
55
- setLoadingKeys((keys) => [...keys, pathKey]);
56
- loadData(rawOptions);
57
- }
58
- };
59
- // zombieJ: This is bad. We should make this same as `rc-tree` to use Promise instead.
60
- React.useEffect(() => {
61
- if (loadingKeys.length) {
62
- loadingKeys.forEach((loadingKey) => {
63
- const valueStrCells = (0, commonUtil_1.toPathValueStr)(loadingKey);
64
- const optionList = (0, treeUtil_1.toPathOptions)(valueStrCells, options, fieldNames, true).map(({ option }) => option);
65
- const lastOption = optionList[optionList.length - 1];
66
- if (!lastOption || lastOption[fieldNames.children] || (0, commonUtil_1.isLeaf)(lastOption, fieldNames)) {
67
- setLoadingKeys((keys) => keys.filter((key) => key !== loadingKey));
68
- }
7
+ exports["default"] = void 0;
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _rcSelect = require("rc-select");
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _context = _interopRequireDefault(require("../context"));
12
+ var _commonUtil = require("../utils/commonUtil");
13
+ var _treeUtil = require("../utils/treeUtil");
14
+ var _Column = _interopRequireWildcard(require("./Column"));
15
+ var _useActive3 = _interopRequireDefault(require("./useActive"));
16
+ var _useKeyboard = _interopRequireDefault(require("./useKeyboard"));
17
+ 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); }
18
+ 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; }
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20
+ 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; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
+ 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); }
23
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
24
+ 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."); }
25
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
26
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
27
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
28
+ 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."); }
29
+ 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); }
30
+ 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; }
31
+ 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; } }
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+ var RefOptionList = React.forwardRef(function (props, ref) {
34
+ var _ref3, _classNames;
35
+ var _a, _b;
36
+ var _useBaseProps = (0, _rcSelect.useBaseProps)(),
37
+ prefixCls = _useBaseProps.prefixCls,
38
+ multiple = _useBaseProps.multiple,
39
+ searchValue = _useBaseProps.searchValue,
40
+ toggleOpen = _useBaseProps.toggleOpen,
41
+ notFoundContent = _useBaseProps.notFoundContent,
42
+ direction = _useBaseProps.direction,
43
+ optionHeight = _useBaseProps.optionHeight;
44
+ var containerRef = React.useRef();
45
+ var rtl = direction === 'rtl';
46
+ var _React$useContext = React.useContext(_context["default"]),
47
+ options = _React$useContext.options,
48
+ values = _React$useContext.values,
49
+ halfValues = _React$useContext.halfValues,
50
+ fieldNames = _React$useContext.fieldNames,
51
+ changeOnSelect = _React$useContext.changeOnSelect,
52
+ onSelect = _React$useContext.onSelect,
53
+ searchOptions = _React$useContext.searchOptions,
54
+ dropdownPrefixCls = _React$useContext.dropdownPrefixCls,
55
+ loadData = _React$useContext.loadData,
56
+ expandTrigger = _React$useContext.expandTrigger,
57
+ renderItem = _React$useContext.renderItem,
58
+ dropdownVisible = _React$useContext.dropdownVisible;
59
+ var mergedPrefixCls = dropdownPrefixCls || prefixCls;
60
+ // ========================= loadData =========================
61
+ var _React$useState = React.useState([]),
62
+ _React$useState2 = _slicedToArray(_React$useState, 2),
63
+ loadingKeys = _React$useState2[0],
64
+ setLoadingKeys = _React$useState2[1];
65
+ var internalLoadData = function internalLoadData(valueCells) {
66
+ // Do not load when search
67
+ if (!loadData || searchValue) {
68
+ return;
69
+ }
70
+ var optionList = (0, _treeUtil.toPathOptions)(valueCells, options, fieldNames);
71
+ var rawOptions = optionList.map(function (_ref) {
72
+ var option = _ref.option;
73
+ return option;
74
+ });
75
+ var lastOption = rawOptions[rawOptions.length - 1];
76
+ if (lastOption && !(0, _commonUtil.isLeaf)(lastOption, fieldNames)) {
77
+ var pathKey = (0, _commonUtil.toPathKey)(valueCells);
78
+ setLoadingKeys(function (keys) {
79
+ return [].concat(_toConsumableArray(keys), [pathKey]);
80
+ });
81
+ loadData(rawOptions);
82
+ }
83
+ };
84
+ // zombieJ: This is bad. We should make this same as `rc-tree` to use Promise instead.
85
+ React.useEffect(function () {
86
+ if (loadingKeys.length) {
87
+ loadingKeys.forEach(function (loadingKey) {
88
+ var valueStrCells = (0, _commonUtil.toPathValueStr)(loadingKey);
89
+ var optionList = (0, _treeUtil.toPathOptions)(valueStrCells, options, fieldNames, true).map(function (_ref2) {
90
+ var option = _ref2.option;
91
+ return option;
92
+ });
93
+ var lastOption = optionList[optionList.length - 1];
94
+ if (!lastOption || lastOption[fieldNames.children] || (0, _commonUtil.isLeaf)(lastOption, fieldNames)) {
95
+ setLoadingKeys(function (keys) {
96
+ return keys.filter(function (key) {
97
+ return key !== loadingKey;
69
98
  });
99
+ });
70
100
  }
71
- }, [options, loadingKeys, fieldNames]);
72
- // ========================== Values ==========================
73
- const checkedSet = React.useMemo(() => new Set((0, commonUtil_1.toPathKeys)(values)), [values]);
74
- const halfCheckedSet = React.useMemo(() => new Set((0, commonUtil_1.toPathKeys)(halfValues)), [halfValues]);
75
- // ====================== Accessibility =======================
76
- const [activeValueCells, setActiveValueCells] = (0, useActive_1.default)();
77
- // =========================== Path ===========================
78
- const onPathOpen = (nextValueCells) => {
79
- setActiveValueCells(nextValueCells);
80
- // Trigger loadData
81
- internalLoadData(nextValueCells);
82
- };
83
- const isSelectable = (option) => {
84
- const { disabled } = option;
85
- const isMergedLeaf = (0, commonUtil_1.isLeaf)(option, fieldNames);
86
- return !disabled && (isMergedLeaf || changeOnSelect || multiple);
87
- };
88
- const onPathSelect = (valuePath, leaf, fromKeyboard = false) => {
89
- onSelect(valuePath);
90
- if (!multiple && (leaf || (changeOnSelect && (expandTrigger === 'hover' || fromKeyboard)))) {
91
- toggleOpen(false);
92
- }
101
+ });
102
+ }
103
+ }, [options, loadingKeys, fieldNames]);
104
+ // ========================== Values ==========================
105
+ var checkedSet = React.useMemo(function () {
106
+ return new Set((0, _commonUtil.toPathKeys)(values));
107
+ }, [values]);
108
+ var halfCheckedSet = React.useMemo(function () {
109
+ return new Set((0, _commonUtil.toPathKeys)(halfValues));
110
+ }, [halfValues]);
111
+ // ====================== Accessibility =======================
112
+ var _useActive = (0, _useActive3["default"])(),
113
+ _useActive2 = _slicedToArray(_useActive, 2),
114
+ activeValueCells = _useActive2[0],
115
+ setActiveValueCells = _useActive2[1];
116
+ // =========================== Path ===========================
117
+ var onPathOpen = function onPathOpen(nextValueCells) {
118
+ setActiveValueCells(nextValueCells);
119
+ // Trigger loadData
120
+ internalLoadData(nextValueCells);
121
+ };
122
+ var isSelectable = function isSelectable(option) {
123
+ var disabled = option.disabled;
124
+ var isMergedLeaf = (0, _commonUtil.isLeaf)(option, fieldNames);
125
+ return !disabled && (isMergedLeaf || changeOnSelect || multiple);
126
+ };
127
+ var onPathSelect = function onPathSelect(valuePath, leaf) {
128
+ var fromKeyboard = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
129
+ onSelect(valuePath);
130
+ if (!multiple && (leaf || changeOnSelect && (expandTrigger === 'hover' || fromKeyboard))) {
131
+ toggleOpen(false);
132
+ }
133
+ };
134
+ // ========================== Option ==========================
135
+ var mergedOptions = React.useMemo(function () {
136
+ if (searchValue) {
137
+ return searchOptions;
138
+ }
139
+ return options;
140
+ }, [searchValue, searchOptions, options]);
141
+ // ========================== Column ==========================
142
+ var optionColumns = React.useMemo(function () {
143
+ var optionList = [{
144
+ options: mergedOptions
145
+ }];
146
+ var currentList = mergedOptions;
147
+ var _loop = function _loop(i) {
148
+ var activeValueCell = activeValueCells[i];
149
+ var currentOption = currentList.find(function (option) {
150
+ return option[fieldNames.value] === activeValueCell;
151
+ });
152
+ var subOptions = currentOption === null || currentOption === void 0 ? void 0 : currentOption[fieldNames.children];
153
+ if (!(subOptions === null || subOptions === void 0 ? void 0 : subOptions.length)) {
154
+ return "break";
155
+ }
156
+ currentList = subOptions;
157
+ optionList.push({
158
+ options: subOptions
159
+ });
93
160
  };
94
- // ========================== Option ==========================
95
- const mergedOptions = React.useMemo(() => {
96
- if (searchValue) {
97
- return searchOptions;
98
- }
99
- return options;
100
- }, [searchValue, searchOptions, options]);
101
- // ========================== Column ==========================
102
- const optionColumns = React.useMemo(() => {
103
- const optionList = [{ options: mergedOptions }];
104
- let currentList = mergedOptions;
105
- for (let i = 0; i < activeValueCells.length; i += 1) {
106
- const activeValueCell = activeValueCells[i];
107
- const currentOption = currentList.find((option) => option[fieldNames.value] === activeValueCell);
108
- const subOptions = currentOption === null || currentOption === void 0 ? void 0 : currentOption[fieldNames.children];
109
- if (!(subOptions === null || subOptions === void 0 ? void 0 : subOptions.length)) {
110
- break;
111
- }
112
- currentList = subOptions;
113
- optionList.push({ options: subOptions });
114
- }
115
- return optionList;
116
- }, [mergedOptions, activeValueCells, fieldNames]);
117
- // ========================= Keyboard =========================
118
- const onKeyboardSelect = (selectValueCells, option) => {
119
- if (isSelectable(option)) {
120
- onPathSelect(selectValueCells, (0, commonUtil_1.isLeaf)(option, fieldNames), true);
121
- }
122
- };
123
- (0, useKeyboard_1.default)(ref, mergedOptions, fieldNames, activeValueCells, onPathOpen, onKeyboardSelect);
124
- // >>>>> Active Scroll
125
- React.useEffect(() => {
126
- var _a;
127
- for (let i = 0; i < activeValueCells.length; i += 1) {
128
- const cellPath = activeValueCells.slice(0, i + 1);
129
- const cellKeyPath = (0, commonUtil_1.toPathKey)(cellPath);
130
- const ele = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`li[data-path-key="${cellKeyPath.replace(/\\{0,2}"/g, '\\"')}"]` // matches unescaped double quotes
131
- );
132
- if (ele) {
133
- (0, commonUtil_1.scrollIntoParentView)(ele);
134
- }
135
- }
136
- }, [activeValueCells]);
137
- // ========================== Render ==========================
138
- // >>>>> Empty
139
- const isEmpty = !((_b = (_a = optionColumns[0]) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.length);
140
- const emptyList = [
141
- {
142
- [fieldNames.value]: '__EMPTY__',
143
- [Column_1.FIX_LABEL]: notFoundContent,
144
- disabled: true,
145
- },
146
- ];
147
- const columnProps = Object.assign(Object.assign({}, props), { multiple: !isEmpty && multiple, onSelect: onPathSelect, onActive: onPathOpen, onToggleOpen: toggleOpen, checkedSet,
148
- halfCheckedSet,
149
- loadingKeys,
150
- isSelectable });
151
- // >>>>> Columns
152
- const mergedOptionColumns = isEmpty ? [{ options: emptyList }] : optionColumns;
153
- const columnNodes = mergedOptionColumns.map((col, index) => {
154
- const prevValuePath = activeValueCells.slice(0, index);
155
- const activeValue = activeValueCells[index];
156
- return (React.createElement(Column_1.default, Object.assign({ key: index, level: index, optionHeight: optionHeight, dropdownVisible: dropdownVisible }, columnProps, { prefixCls: mergedPrefixCls, options: col.options, searchValue: searchValue, prevValuePath: prevValuePath, activeValue: activeValue, renderItem: renderItem })));
157
- });
158
- // >>>>> Render
159
- return (React.createElement("div", { className: (0, classnames_1.default)(`${mergedPrefixCls}-menus`, {
160
- [`${mergedPrefixCls}-menu-empty`]: isEmpty,
161
- [`${mergedPrefixCls}-rtl`]: rtl,
162
- }), ref: containerRef }, columnNodes));
161
+ for (var i = 0; i < activeValueCells.length; i += 1) {
162
+ var _ret = _loop(i);
163
+ if (_ret === "break") break;
164
+ }
165
+ return optionList;
166
+ }, [mergedOptions, activeValueCells, fieldNames]);
167
+ // ========================= Keyboard =========================
168
+ var onKeyboardSelect = function onKeyboardSelect(selectValueCells, option) {
169
+ if (isSelectable(option)) {
170
+ onPathSelect(selectValueCells, (0, _commonUtil.isLeaf)(option, fieldNames), true);
171
+ }
172
+ };
173
+ (0, _useKeyboard["default"])(ref, mergedOptions, fieldNames, activeValueCells, onPathOpen, onKeyboardSelect);
174
+ // >>>>> Active Scroll
175
+ React.useEffect(function () {
176
+ var _a;
177
+ for (var i = 0; i < activeValueCells.length; i += 1) {
178
+ var cellPath = activeValueCells.slice(0, i + 1);
179
+ var cellKeyPath = (0, _commonUtil.toPathKey)(cellPath);
180
+ var ele = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector("li[data-path-key=\"".concat(cellKeyPath.replace(/\\{0,2}"/g, '\\"'), "\"]") // matches unescaped double quotes
181
+ );
182
+ if (ele) {
183
+ (0, _commonUtil.scrollIntoParentView)(ele);
184
+ }
185
+ }
186
+ }, [activeValueCells]);
187
+ // ========================== Render ==========================
188
+ // >>>>> Empty
189
+ var isEmpty = !((_b = (_a = optionColumns[0]) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.length);
190
+ var emptyList = [(_ref3 = {}, _defineProperty(_ref3, fieldNames.value, '__EMPTY__'), _defineProperty(_ref3, _Column.FIX_LABEL, notFoundContent), _defineProperty(_ref3, "disabled", true), _ref3)];
191
+ var columnProps = Object.assign(Object.assign({}, props), {
192
+ multiple: !isEmpty && multiple,
193
+ onSelect: onPathSelect,
194
+ onActive: onPathOpen,
195
+ onToggleOpen: toggleOpen,
196
+ checkedSet: checkedSet,
197
+ halfCheckedSet: halfCheckedSet,
198
+ loadingKeys: loadingKeys,
199
+ isSelectable: isSelectable
200
+ });
201
+ // >>>>> Columns
202
+ var mergedOptionColumns = isEmpty ? [{
203
+ options: emptyList
204
+ }] : optionColumns;
205
+ var columnNodes = mergedOptionColumns.map(function (col, index) {
206
+ var prevValuePath = activeValueCells.slice(0, index);
207
+ var activeValue = activeValueCells[index];
208
+ return React.createElement(_Column["default"], Object.assign({
209
+ key: index,
210
+ level: index,
211
+ optionHeight: optionHeight,
212
+ dropdownVisible: dropdownVisible
213
+ }, columnProps, {
214
+ prefixCls: mergedPrefixCls,
215
+ options: col.options,
216
+ searchValue: searchValue,
217
+ prevValuePath: prevValuePath,
218
+ activeValue: activeValue,
219
+ renderItem: renderItem
220
+ }));
221
+ });
222
+ // >>>>> Render
223
+ return React.createElement("div", {
224
+ className: (0, _classnames["default"])("".concat(mergedPrefixCls, "-menus"), (_classNames = {}, _defineProperty(_classNames, "".concat(mergedPrefixCls, "-menu-empty"), isEmpty), _defineProperty(_classNames, "".concat(mergedPrefixCls, "-rtl"), rtl), _classNames)),
225
+ ref: containerRef
226
+ }, columnNodes);
163
227
  });
164
- exports.default = RefOptionList;
165
- //# sourceMappingURL=index.js.map
228
+ var _default = RefOptionList;
229
+ exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable default-case */\n// @ts-nocheck\nimport classNames from 'classnames'\nimport { useBaseProps } from 'rc-select'\nimport type { RefOptionListProps } from 'rc-select/lib/OptionList'\nimport * as React from 'react'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport CascaderContext from '../context'\nimport {\n isLeaf,\n scrollIntoParentView,\n toPathKey,\n toPathKeys,\n toPathValueStr,\n} from '../utils/commonUtil'\nimport { toPathOptions } from '../utils/treeUtil'\nimport Column, { FIX_LABEL } from './Column'\nimport useActive from './useActive'\nimport useKeyboard from './useKeyboard'\n\nconst RefOptionList = React.forwardRef<RefOptionListProps>((props, ref) => {\n const { prefixCls, multiple, searchValue, toggleOpen, notFoundContent, direction, optionHeight } =\n useBaseProps()\n\n const containerRef = React.useRef<HTMLDivElement>()\n const rtl = direction === 'rtl'\n\n const {\n options,\n values,\n halfValues,\n fieldNames,\n changeOnSelect,\n onSelect,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n renderItem,\n dropdownVisible,\n } = React.useContext(CascaderContext)\n\n const mergedPrefixCls = dropdownPrefixCls || prefixCls\n\n // ========================= loadData =========================\n const [loadingKeys, setLoadingKeys] = React.useState([])\n\n const internalLoadData = (valueCells: React.Key[]) => {\n // Do not load when search\n if (!loadData || searchValue) {\n return\n }\n\n const optionList = toPathOptions(valueCells, options, fieldNames)\n const rawOptions = optionList.map(({ option }) => option)\n const lastOption = rawOptions[rawOptions.length - 1]\n\n if (lastOption && !isLeaf(lastOption, fieldNames)) {\n const pathKey = toPathKey(valueCells)\n\n setLoadingKeys((keys) => [...keys, pathKey])\n\n loadData(rawOptions)\n }\n }\n\n // zombieJ: This is bad. We should make this same as `rc-tree` to use Promise instead.\n React.useEffect(() => {\n if (loadingKeys.length) {\n loadingKeys.forEach((loadingKey) => {\n const valueStrCells = toPathValueStr(loadingKey)\n const optionList = toPathOptions(valueStrCells, options, fieldNames, true).map(\n ({ option }) => option\n )\n const lastOption = optionList[optionList.length - 1]\n\n if (!lastOption || lastOption[fieldNames.children] || isLeaf(lastOption, fieldNames)) {\n setLoadingKeys((keys) => keys.filter((key) => key !== loadingKey))\n }\n })\n }\n }, [options, loadingKeys, fieldNames])\n\n // ========================== Values ==========================\n const checkedSet = React.useMemo(() => new Set(toPathKeys(values)), [values])\n const halfCheckedSet = React.useMemo(() => new Set(toPathKeys(halfValues)), [halfValues])\n\n // ====================== Accessibility =======================\n const [activeValueCells, setActiveValueCells] = useActive()\n\n // =========================== Path ===========================\n const onPathOpen = (nextValueCells: React.Key[]) => {\n setActiveValueCells(nextValueCells)\n\n // Trigger loadData\n internalLoadData(nextValueCells)\n }\n\n const isSelectable = (option: DefaultOptionType) => {\n const { disabled } = option\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n return !disabled && (isMergedLeaf || changeOnSelect || multiple)\n }\n\n const onPathSelect = (valuePath: SingleValueType, leaf: boolean, fromKeyboard = false) => {\n onSelect(valuePath)\n\n if (!multiple && (leaf || (changeOnSelect && (expandTrigger === 'hover' || fromKeyboard)))) {\n toggleOpen(false)\n }\n }\n\n // ========================== Option ==========================\n const mergedOptions = React.useMemo(() => {\n if (searchValue) {\n return searchOptions\n }\n\n return options\n }, [searchValue, searchOptions, options])\n\n // ========================== Column ==========================\n const optionColumns = React.useMemo(() => {\n const optionList = [{ options: mergedOptions }]\n let currentList = mergedOptions\n\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const activeValueCell = activeValueCells[i]\n const currentOption = currentList.find(\n (option) => option[fieldNames.value] === activeValueCell\n )\n\n const subOptions = currentOption?.[fieldNames.children]\n if (!subOptions?.length) {\n break\n }\n\n currentList = subOptions\n optionList.push({ options: subOptions })\n }\n\n return optionList\n }, [mergedOptions, activeValueCells, fieldNames])\n\n // ========================= Keyboard =========================\n const onKeyboardSelect = (selectValueCells: SingleValueType, option: DefaultOptionType) => {\n if (isSelectable(option)) {\n onPathSelect(selectValueCells, isLeaf(option, fieldNames), true)\n }\n }\n\n useKeyboard(ref, mergedOptions, fieldNames, activeValueCells, onPathOpen, onKeyboardSelect)\n\n // >>>>> Active Scroll\n React.useEffect(() => {\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const cellPath = activeValueCells.slice(0, i + 1)\n const cellKeyPath = toPathKey(cellPath)\n const ele = containerRef.current?.querySelector<HTMLElement>(\n `li[data-path-key=\"${cellKeyPath.replace(/\\\\{0,2}\"/g, '\\\\\"')}\"]` // matches unescaped double quotes\n )\n if (ele) {\n scrollIntoParentView(ele)\n }\n }\n }, [activeValueCells])\n\n // ========================== Render ==========================\n // >>>>> Empty\n const isEmpty = !optionColumns[0]?.options?.length\n\n const emptyList: DefaultOptionType[] = [\n {\n [fieldNames.value as 'value']: '__EMPTY__',\n [FIX_LABEL as 'label']: notFoundContent,\n disabled: true,\n },\n ]\n\n const columnProps = {\n ...props,\n multiple: !isEmpty && multiple,\n onSelect: onPathSelect,\n onActive: onPathOpen,\n onToggleOpen: toggleOpen,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n }\n\n // >>>>> Columns\n const mergedOptionColumns = isEmpty ? [{ options: emptyList }] : optionColumns\n\n const columnNodes: React.ReactElement[] = mergedOptionColumns.map((col, index) => {\n const prevValuePath = activeValueCells.slice(0, index)\n const activeValue = activeValueCells[index]\n\n return (\n <Column\n key={index}\n level={index}\n optionHeight={optionHeight}\n dropdownVisible={dropdownVisible}\n {...columnProps}\n prefixCls={mergedPrefixCls}\n options={col.options}\n searchValue={searchValue}\n prevValuePath={prevValuePath}\n activeValue={activeValue}\n renderItem={renderItem}\n />\n )\n })\n\n // >>>>> Render\n return (\n <div\n className={classNames(`${mergedPrefixCls}-menus`, {\n [`${mergedPrefixCls}-menu-empty`]: isEmpty,\n [`${mergedPrefixCls}-rtl`]: rtl,\n })}\n ref={containerRef}\n >\n {columnNodes}\n </div>\n )\n})\n\nexport default RefOptionList\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable default-case */\n// @ts-nocheck\nimport classNames from 'classnames'\nimport { useBaseProps } from 'rc-select'\nimport type { RefOptionListProps } from 'rc-select/lib/OptionList'\nimport * as React from 'react'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport CascaderContext from '../context'\nimport {\n isLeaf,\n scrollIntoParentView,\n toPathKey,\n toPathKeys,\n toPathValueStr,\n} from '../utils/commonUtil'\nimport { toPathOptions } from '../utils/treeUtil'\nimport Column, { FIX_LABEL } from './Column'\nimport useActive from './useActive'\nimport useKeyboard from './useKeyboard'\n\nconst RefOptionList = React.forwardRef<RefOptionListProps>((props, ref) => {\n const { prefixCls, multiple, searchValue, toggleOpen, notFoundContent, direction, optionHeight } =\n useBaseProps()\n\n const containerRef = React.useRef<HTMLDivElement>()\n const rtl = direction === 'rtl'\n\n const {\n options,\n values,\n halfValues,\n fieldNames,\n changeOnSelect,\n onSelect,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n renderItem,\n dropdownVisible,\n } = React.useContext(CascaderContext)\n\n const mergedPrefixCls = dropdownPrefixCls || prefixCls\n\n // ========================= loadData =========================\n const [loadingKeys, setLoadingKeys] = React.useState([])\n\n const internalLoadData = (valueCells: React.Key[]) => {\n // Do not load when search\n if (!loadData || searchValue) {\n return\n }\n\n const optionList = toPathOptions(valueCells, options, fieldNames)\n const rawOptions = optionList.map(({ option }) => option)\n const lastOption = rawOptions[rawOptions.length - 1]\n\n if (lastOption && !isLeaf(lastOption, fieldNames)) {\n const pathKey = toPathKey(valueCells)\n\n setLoadingKeys((keys) => [...keys, pathKey])\n\n loadData(rawOptions)\n }\n }\n\n // zombieJ: This is bad. We should make this same as `rc-tree` to use Promise instead.\n React.useEffect(() => {\n if (loadingKeys.length) {\n loadingKeys.forEach((loadingKey) => {\n const valueStrCells = toPathValueStr(loadingKey)\n const optionList = toPathOptions(valueStrCells, options, fieldNames, true).map(\n ({ option }) => option\n )\n const lastOption = optionList[optionList.length - 1]\n\n if (!lastOption || lastOption[fieldNames.children] || isLeaf(lastOption, fieldNames)) {\n setLoadingKeys((keys) => keys.filter((key) => key !== loadingKey))\n }\n })\n }\n }, [options, loadingKeys, fieldNames])\n\n // ========================== Values ==========================\n const checkedSet = React.useMemo(() => new Set(toPathKeys(values)), [values])\n const halfCheckedSet = React.useMemo(() => new Set(toPathKeys(halfValues)), [halfValues])\n\n // ====================== Accessibility =======================\n const [activeValueCells, setActiveValueCells] = useActive()\n\n // =========================== Path ===========================\n const onPathOpen = (nextValueCells: React.Key[]) => {\n setActiveValueCells(nextValueCells)\n\n // Trigger loadData\n internalLoadData(nextValueCells)\n }\n\n const isSelectable = (option: DefaultOptionType) => {\n const { disabled } = option\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n return !disabled && (isMergedLeaf || changeOnSelect || multiple)\n }\n\n const onPathSelect = (valuePath: SingleValueType, leaf: boolean, fromKeyboard = false) => {\n onSelect(valuePath)\n\n if (!multiple && (leaf || (changeOnSelect && (expandTrigger === 'hover' || fromKeyboard)))) {\n toggleOpen(false)\n }\n }\n\n // ========================== Option ==========================\n const mergedOptions = React.useMemo(() => {\n if (searchValue) {\n return searchOptions\n }\n\n return options\n }, [searchValue, searchOptions, options])\n\n // ========================== Column ==========================\n const optionColumns = React.useMemo(() => {\n const optionList = [{ options: mergedOptions }]\n let currentList = mergedOptions\n\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const activeValueCell = activeValueCells[i]\n const currentOption = currentList.find(\n (option) => option[fieldNames.value] === activeValueCell\n )\n\n const subOptions = currentOption?.[fieldNames.children]\n if (!subOptions?.length) {\n break\n }\n\n currentList = subOptions\n optionList.push({ options: subOptions })\n }\n\n return optionList\n }, [mergedOptions, activeValueCells, fieldNames])\n\n // ========================= Keyboard =========================\n const onKeyboardSelect = (selectValueCells: SingleValueType, option: DefaultOptionType) => {\n if (isSelectable(option)) {\n onPathSelect(selectValueCells, isLeaf(option, fieldNames), true)\n }\n }\n\n useKeyboard(ref, mergedOptions, fieldNames, activeValueCells, onPathOpen, onKeyboardSelect)\n\n // >>>>> Active Scroll\n React.useEffect(() => {\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const cellPath = activeValueCells.slice(0, i + 1)\n const cellKeyPath = toPathKey(cellPath)\n const ele = containerRef.current?.querySelector<HTMLElement>(\n `li[data-path-key=\"${cellKeyPath.replace(/\\\\{0,2}\"/g, '\\\\\"')}\"]` // matches unescaped double quotes\n )\n if (ele) {\n scrollIntoParentView(ele)\n }\n }\n }, [activeValueCells])\n\n // ========================== Render ==========================\n // >>>>> Empty\n const isEmpty = !optionColumns[0]?.options?.length\n\n const emptyList: DefaultOptionType[] = [\n {\n [fieldNames.value as 'value']: '__EMPTY__',\n [FIX_LABEL as 'label']: notFoundContent,\n disabled: true,\n },\n ]\n\n const columnProps = {\n ...props,\n multiple: !isEmpty && multiple,\n onSelect: onPathSelect,\n onActive: onPathOpen,\n onToggleOpen: toggleOpen,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n }\n\n // >>>>> Columns\n const mergedOptionColumns = isEmpty ? [{ options: emptyList }] : optionColumns\n\n const columnNodes: React.ReactElement[] = mergedOptionColumns.map((col, index) => {\n const prevValuePath = activeValueCells.slice(0, index)\n const activeValue = activeValueCells[index]\n\n return (\n <Column\n key={index}\n level={index}\n optionHeight={optionHeight}\n dropdownVisible={dropdownVisible}\n {...columnProps}\n prefixCls={mergedPrefixCls}\n options={col.options}\n searchValue={searchValue}\n prevValuePath={prevValuePath}\n activeValue={activeValue}\n renderItem={renderItem}\n />\n )\n })\n\n // >>>>> Render\n return (\n <div\n className={classNames(`${mergedPrefixCls}-menus`, {\n [`${mergedPrefixCls}-menu-empty`]: isEmpty,\n [`${mergedPrefixCls}-rtl`]: rtl,\n })}\n ref={containerRef}\n >\n {columnNodes}\n </div>\n )\n})\n\nexport default RefOptionList\n"]}