@para-ui/core 3.0.55 → 3.0.56

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 (407) hide show
  1. package/AutoBox/index.d.ts +34 -0
  2. package/AutoBox/index.js +277 -0
  3. package/AutoBox/protal.d.ts +17 -0
  4. package/AutoTips/autoTipsMultiline/index.d.ts +18 -0
  5. package/AutoTips/index.d.ts +35 -0
  6. package/AutoTips/index.js +271 -0
  7. package/Breadcrumbs/index.d.ts +53 -0
  8. package/Breadcrumbs/index.js +266 -0
  9. package/Breadcrumbs/lang/en_US.d.ts +4 -0
  10. package/Breadcrumbs/lang/index.d.ts +9 -0
  11. package/Breadcrumbs/lang/zh_CN.d.ts +4 -0
  12. package/Button/SplitButton.d.ts +64 -0
  13. package/Button/index.d.ts +79 -0
  14. package/Button/index.js +376 -0
  15. package/Button/lang/en_US.d.ts +4 -0
  16. package/Button/lang/index.d.ts +9 -0
  17. package/Button/lang/zh_CN.d.ts +4 -0
  18. package/ButtonGroup/index.d.ts +33 -0
  19. package/ButtonGroup/index.js +124 -0
  20. package/Carousel/index.d.ts +38 -0
  21. package/Carousel/index.js +78 -0
  22. package/Cascader/index.d.ts +54 -0
  23. package/Cascader/index.js +159 -0
  24. package/Cascader/lang/en_US.d.ts +4 -0
  25. package/Cascader/lang/index.d.ts +9 -0
  26. package/Cascader/lang/zh_CN.d.ts +4 -0
  27. package/Checkbox/index.d.ts +40 -0
  28. package/Checkbox/index.js +109 -0
  29. package/CheckboxGroup/index.d.ts +45 -0
  30. package/CheckboxGroup/index.js +142 -0
  31. package/Collapse/collapsePanel.d.ts +30 -0
  32. package/Collapse/index.d.ts +57 -0
  33. package/Collapse/index.js +152 -0
  34. package/Collapse/motion.d.ts +5 -0
  35. package/Collapse/util.d.ts +11 -0
  36. package/CollapseBox/index.d.ts +27 -0
  37. package/CollapseBox/index.js +148 -0
  38. package/CollapseBox/util.d.ts +5 -0
  39. package/CollapseLayout/index.d.ts +53 -0
  40. package/CollapseLayout/index.js +176 -0
  41. package/ColorPicker/index.d.ts +4 -0
  42. package/ColorPicker/index.js +4 -0
  43. package/ComboSelect/index.d.ts +6 -0
  44. package/ComboSelect/index.js +1049 -0
  45. package/ComboSelect/interface.d.ts +146 -0
  46. package/ComboSelect/lang/en_US.d.ts +9 -0
  47. package/ComboSelect/lang/index.d.ts +19 -0
  48. package/ComboSelect/lang/zh_CN.d.ts +9 -0
  49. package/ComboSelect/utils.d.ts +9 -0
  50. package/Container/index.d.ts +77 -0
  51. package/Container/index.js +232 -0
  52. package/DatePicker/PickerButton.d.ts +3 -0
  53. package/DatePicker/PickerTag.d.ts +3 -0
  54. package/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
  55. package/DatePicker/generatePicker/generateSinglePicker.d.ts +11 -0
  56. package/DatePicker/generatePicker/index.d.ts +95 -0
  57. package/DatePicker/index.d.ts +18 -0
  58. package/DatePicker/index.js +633 -0
  59. package/DatePicker/lang/en_US.d.ts +3 -0
  60. package/DatePicker/lang/index.d.ts +7 -0
  61. package/DatePicker/lang/zh_CN.d.ts +3 -0
  62. package/DatePicker/util.d.ts +22 -0
  63. package/Desktop/index.d.ts +57 -0
  64. package/Desktop/index.js +746 -0
  65. package/DragVerify/index.d.ts +36 -0
  66. package/DragVerify/index.js +385 -0
  67. package/DragVerify/lang/en_US.d.ts +5 -0
  68. package/DragVerify/lang/index.d.ts +11 -0
  69. package/DragVerify/lang/zh_CN.d.ts +5 -0
  70. package/Drawer/index.d.ts +11 -0
  71. package/Drawer/index.js +235 -0
  72. package/Drawer/interface.d.ts +92 -0
  73. package/Drawer/lang/en_US.d.ts +5 -0
  74. package/Drawer/lang/index.d.ts +11 -0
  75. package/Drawer/lang/zh_CN.d.ts +5 -0
  76. package/Dropdown/index.d.ts +40 -0
  77. package/Dropdown/index.js +10 -0
  78. package/DynamicMultiBox/formItem.d.ts +14 -0
  79. package/DynamicMultiBox/index.d.ts +5 -0
  80. package/DynamicMultiBox/index.js +1323 -0
  81. package/DynamicMultiBox/interface.d.ts +165 -0
  82. package/DynamicMultiBox/rowForm.d.ts +24 -0
  83. package/Empty/images/index.d.ts +3 -0
  84. package/Empty/index.d.ts +30 -0
  85. package/Empty/index.js +642 -0
  86. package/Empty/lang/en_US.d.ts +6 -0
  87. package/Empty/lang/index.d.ts +13 -0
  88. package/Empty/lang/zh_CN.d.ts +6 -0
  89. package/Form/index.d.ts +187 -0
  90. package/Form/index.js +355 -0
  91. package/FormItem/compoments/defaultCompoments/index.d.ts +19 -0
  92. package/FormItem/compoments/formCheckboxGroup/index.d.ts +8 -0
  93. package/FormItem/compoments/formFile/index.d.ts +38 -0
  94. package/FormItem/compoments/formRadioGroup/index.d.ts +8 -0
  95. package/FormItem/compoments/formSelect/index.d.ts +18 -0
  96. package/FormItem/errorTips.d.ts +12 -0
  97. package/FormItem/index.d.ts +152 -0
  98. package/FormItem/index.js +78 -0
  99. package/FormItem/itemType.d.ts +42 -0
  100. package/FormItem/validateFunction.d.ts +15 -0
  101. package/FunctionModal/dialog.d.ts +58 -0
  102. package/FunctionModal/index.d.ts +8 -0
  103. package/FunctionModal/index.js +43 -0
  104. package/FunctionModal/modalContext.d.ts +15 -0
  105. package/GlobalContext/componentsProps.d.ts +21 -0
  106. package/GlobalContext/confirmLocale.d.ts +7 -0
  107. package/GlobalContext/constant.d.ts +8 -0
  108. package/GlobalContext/index.d.ts +28 -0
  109. package/GlobalContext/index.js +41 -0
  110. package/GlobalContext/intl.d.ts +34 -0
  111. package/GlobalContext/useFormatMessage.d.ts +3 -0
  112. package/GlobalContext/usePopupContainer.d.ts +4 -0
  113. package/Help/index.d.ts +24 -0
  114. package/Help/index.js +41 -0
  115. package/HelperText/index.d.ts +27 -0
  116. package/HelperText/index.js +34 -0
  117. package/Hooks/useGlobalProps.d.ts +1 -0
  118. package/InputLang/index.d.ts +57 -0
  119. package/InputLang/index.js +355 -0
  120. package/InputNumber/index.d.ts +71 -0
  121. package/InputNumber/index.js +277 -0
  122. package/Label/index.d.ts +37 -0
  123. package/Label/index.js +85 -0
  124. package/Loading/index.d.ts +17 -0
  125. package/Loading/index.js +47 -0
  126. package/Menu/footerExpansion.d.ts +9 -0
  127. package/Menu/index.d.ts +10 -0
  128. package/Menu/index.js +1105 -0
  129. package/Menu/interface.d.ts +141 -0
  130. package/Menu/logo.d.ts +9 -0
  131. package/Menu/verticalMenuList.d.ts +14 -0
  132. package/Message/index.d.ts +99 -0
  133. package/Message/index.js +246 -0
  134. package/Modal/Confirm/index.d.ts +65 -0
  135. package/Modal/index.d.ts +99 -0
  136. package/Modal/index.js +421 -0
  137. package/Modal/lang/en_US.d.ts +5 -0
  138. package/Modal/lang/index.d.ts +11 -0
  139. package/Modal/lang/zh_CN.d.ts +5 -0
  140. package/MultiBox/index.d.ts +60 -0
  141. package/MultiBox/index.js +277 -0
  142. package/MultiBox/lang/en_US.d.ts +4 -0
  143. package/MultiBox/lang/index.d.ts +9 -0
  144. package/MultiBox/lang/zh_CN.d.ts +4 -0
  145. package/Notification/index.d.ts +74 -0
  146. package/Notification/index.js +252 -0
  147. package/OperateBtn/index.d.ts +59 -0
  148. package/OperateBtn/index.js +237 -0
  149. package/OperateBtn/lang/en_US.d.ts +4 -0
  150. package/OperateBtn/lang/index.d.ts +9 -0
  151. package/OperateBtn/lang/zh_CN.d.ts +4 -0
  152. package/PageHeader/horizontalMeun.d.ts +9 -0
  153. package/PageHeader/horizontalMeunRight.d.ts +9 -0
  154. package/PageHeader/index.d.ts +10 -0
  155. package/PageHeader/index.js +1050 -0
  156. package/PageHeader/interface.d.ts +169 -0
  157. package/Pagination/index.d.ts +46 -0
  158. package/Pagination/index.js +461 -0
  159. package/Pagination/lang/en_US.d.ts +8 -0
  160. package/Pagination/lang/index.d.ts +17 -0
  161. package/Pagination/lang/zh_CN.d.ts +8 -0
  162. package/ParauiProvider/index.d.ts +8 -0
  163. package/ParauiProvider/index.js +52 -0
  164. package/PasswordRules/index.d.ts +55 -0
  165. package/PasswordRules/index.js +144 -0
  166. package/PopConfirm/index.d.ts +61 -0
  167. package/PopConfirm/index.js +194 -0
  168. package/PopConfirm/lang/en_US.d.ts +5 -0
  169. package/PopConfirm/lang/index.d.ts +11 -0
  170. package/PopConfirm/lang/zh_CN.d.ts +5 -0
  171. package/Popover/index.d.ts +16 -0
  172. package/Popover/index.js +59 -0
  173. package/Progress/Line.d.ts +47 -0
  174. package/Progress/Steps.d.ts +17 -0
  175. package/Progress/index.d.ts +83 -0
  176. package/Progress/index.js +323 -0
  177. package/Progress/utils.d.ts +6 -0
  178. package/Querying/images/index.d.ts +3 -0
  179. package/Querying/index.d.ts +26 -0
  180. package/Querying/index.js +760 -0
  181. package/Querying/lang/en_US.d.ts +4 -0
  182. package/Querying/lang/index.d.ts +9 -0
  183. package/Querying/lang/zh_CN.d.ts +4 -0
  184. package/README.md +6 -0
  185. package/Radio/index.d.ts +38 -0
  186. package/Radio/index.js +97 -0
  187. package/RadioGroup/index.d.ts +46 -0
  188. package/RadioGroup/index.js +134 -0
  189. package/Search/index.d.ts +57 -0
  190. package/Search/index.js +208 -0
  191. package/Select/index.d.ts +93 -0
  192. package/Select/index.js +1146 -0
  193. package/Select/lang/en_US.d.ts +5 -0
  194. package/Select/lang/index.d.ts +11 -0
  195. package/Select/lang/zh_CN.d.ts +5 -0
  196. package/SelectInput/index.d.ts +12 -0
  197. package/SelectInput/index.js +55 -0
  198. package/Selector/index.d.ts +11 -0
  199. package/Selector/index.js +2175 -0
  200. package/Selector/interface.d.ts +432 -0
  201. package/Selector/lang/en_US.d.ts +11 -0
  202. package/Selector/lang/index.d.ts +23 -0
  203. package/Selector/lang/zh_CN.d.ts +11 -0
  204. package/Selector/selectorData/index.d.ts +10 -0
  205. package/Selector/selectorMain/index.d.ts +10 -0
  206. package/Selector/selectorNode/index.d.ts +10 -0
  207. package/Selector/util.d.ts +15 -0
  208. package/SelectorPicker/index.d.ts +53 -0
  209. package/SelectorPicker/index.js +444 -0
  210. package/SelectorPicker/lang/en_US.d.ts +5 -0
  211. package/SelectorPicker/lang/index.d.ts +11 -0
  212. package/SelectorPicker/lang/zh_CN.d.ts +5 -0
  213. package/SingleBox/index.d.ts +44 -0
  214. package/SingleBox/index.js +224 -0
  215. package/SingleBox/lang/en_US.d.ts +4 -0
  216. package/SingleBox/lang/index.d.ts +9 -0
  217. package/SingleBox/lang/zh_CN.d.ts +4 -0
  218. package/Slider/index.d.ts +14 -0
  219. package/Slider/index.js +119 -0
  220. package/Slider/interface.d.ts +102 -0
  221. package/Split/index.d.ts +7 -0
  222. package/Split/index.js +123 -0
  223. package/Status/index.d.ts +21 -0
  224. package/Status/index.js +37 -0
  225. package/Stepper/icons.d.ts +5 -0
  226. package/Stepper/index.d.ts +59 -0
  227. package/Stepper/index.js +97 -0
  228. package/Switch/index.d.ts +78 -0
  229. package/Switch/index.js +71 -0
  230. package/Table/index.d.ts +10 -0
  231. package/Table/index.js +3001 -0
  232. package/Table/interface.d.ts +346 -0
  233. package/Table/lang/en_US.d.ts +8 -0
  234. package/Table/lang/index.d.ts +17 -0
  235. package/Table/lang/zh_CN.d.ts +8 -0
  236. package/Table/tableBody.d.ts +9 -0
  237. package/Table/tableBodyElement/index.d.ts +15 -0
  238. package/Table/tableBodyInterface.d.ts +73 -0
  239. package/Table/tableContainer/index.d.ts +16 -0
  240. package/Table/tableElement/index.d.ts +17 -0
  241. package/Table/tableHead.d.ts +9 -0
  242. package/Table/tableHeadElement/index.d.ts +15 -0
  243. package/Table/tableHeadInterface.d.ts +37 -0
  244. package/Table/tablePagination.d.ts +9 -0
  245. package/Table/tablePaginationInterface.d.ts +27 -0
  246. package/Table/tdElement/index.d.ts +15 -0
  247. package/Table/thElement/index.d.ts +28 -0
  248. package/Table/trElement/index.d.ts +15 -0
  249. package/Table/util.d.ts +34 -0
  250. package/Tabs/index.d.ts +69 -0
  251. package/Tabs/index.js +205 -0
  252. package/Tabs/lang/en_US.d.ts +4 -0
  253. package/Tabs/lang/index.d.ts +9 -0
  254. package/Tabs/lang/zh_CN.d.ts +4 -0
  255. package/Tag/TagGroup.d.ts +66 -0
  256. package/Tag/index.d.ts +34 -0
  257. package/Tag/index.js +259 -0
  258. package/TextEditor/common.d.ts +11 -0
  259. package/TextEditor/index.d.ts +127 -0
  260. package/TextEditor/index.js +286 -0
  261. package/TextField/index.d.ts +90 -0
  262. package/TextField/index.js +611 -0
  263. package/TimePicker/index.d.ts +22 -0
  264. package/TimePicker/index.js +80 -0
  265. package/TimePicker/locale/en_US.d.ts +3 -0
  266. package/TimePicker/locale/zh_CN.d.ts +3 -0
  267. package/TimePicker/style/index.d.ts +1 -0
  268. package/Timeline/TimelineItem.d.ts +30 -0
  269. package/Timeline/index.d.ts +32 -0
  270. package/Timeline/index.js +148 -0
  271. package/Title/index.d.ts +30 -0
  272. package/Title/index.js +50 -0
  273. package/ToggleButton/ToggleButtonGroup.d.ts +49 -0
  274. package/ToggleButton/index.d.ts +49 -0
  275. package/ToggleButton/index.js +193 -0
  276. package/Tooltip/index.d.ts +11 -0
  277. package/Tooltip/index.js +368 -0
  278. package/Tooltip/interface.d.ts +35 -0
  279. package/Tooltip/utils.d.ts +18 -0
  280. package/Transfer/box.d.ts +38 -0
  281. package/Transfer/index.d.ts +32 -0
  282. package/Transfer/index.js +611 -0
  283. package/Transfer/lang/en_US.d.ts +10 -0
  284. package/Transfer/lang/index.d.ts +21 -0
  285. package/Transfer/lang/zh_CN.d.ts +10 -0
  286. package/Transfer/useClick.d.ts +3 -0
  287. package/Tree/OperateBar/index.d.ts +13 -0
  288. package/Tree/Tree.d.ts +4 -0
  289. package/Tree/index.d.ts +5 -0
  290. package/Tree/index.js +38 -0
  291. package/Tree/interface.d.ts +210 -0
  292. package/Tree/lang/en_US.d.ts +8 -0
  293. package/Tree/lang/index.d.ts +17 -0
  294. package/Tree/lang/zh_CN.d.ts +8 -0
  295. package/Tree/utils/closestPolyfill.d.ts +0 -0
  296. package/Tree/utils/tools.d.ts +25 -0
  297. package/Tree/utils/treeUtil.d.ts +15 -0
  298. package/Upload/Dragger/index.d.ts +10 -0
  299. package/Upload/ErroTip/index.d.ts +13 -0
  300. package/Upload/ImageUpload/index.d.ts +16 -0
  301. package/Upload/ImgCrop/EasyCrop.d.ts +17 -0
  302. package/Upload/ImgCrop/constants.d.ts +7 -0
  303. package/Upload/ImgCrop/index.d.ts +6 -0
  304. package/Upload/ImgCrop/interface.d.ts +48 -0
  305. package/Upload/UploadList/index.d.ts +5 -0
  306. package/Upload/index.d.ts +15 -0
  307. package/Upload/index.js +1446 -0
  308. package/Upload/interface.d.ts +136 -0
  309. package/Upload/lang/en_US.d.ts +12 -0
  310. package/Upload/lang/index.d.ts +25 -0
  311. package/Upload/lang/zh_CN.d.ts +12 -0
  312. package/_verture/constant-66aa48a1.js +10 -0
  313. package/_verture/defineProperty-62acccfc.js +34 -0
  314. package/_verture/index-74f820ba.js +1355 -0
  315. package/_verture/index-77f9e0fb.js +236 -0
  316. package/_verture/index-a369ca3f.js +4 -0
  317. package/_verture/index-beef914f.js +340 -0
  318. package/_verture/index-d03136d4.js +711 -0
  319. package/_verture/index-e2881a53.js +16 -0
  320. package/_verture/intl-5cbb940c.js +57 -0
  321. package/_verture/modalContext-92bb0e16.js +201 -0
  322. package/_verture/slicedToArray-76060636.js +43 -0
  323. package/_verture/sortable.esm-49896035.js +3791 -0
  324. package/_verture/style-inject.es-300983ab.js +28 -0
  325. package/_verture/toConsumableArray-81040c9e.js +19 -0
  326. package/_verture/tslib.es6-55ed4bd2.js +38 -0
  327. package/_verture/typeof-498dd2b1.js +11 -0
  328. package/_verture/unsupportedIterableToArray-cb478f24.js +16 -0
  329. package/_verture/useFormatMessage-703f8b20.js +20 -0
  330. package/_verture/useGlobalProps-1b846a65.js +11 -0
  331. package/_verture/usePopupContainer-87febeb9.js +68 -0
  332. package/_verture/util-7e1fb1e2.js +18 -0
  333. package/index.d.ts +144 -0
  334. package/index.js +180 -0
  335. package/package.json +1 -1
  336. package/umd/AutoBox.js +43 -0
  337. package/umd/AutoTips.js +15 -0
  338. package/umd/Breadcrumbs.js +42 -0
  339. package/umd/Button.js +43 -0
  340. package/umd/ButtonGroup.js +43 -0
  341. package/umd/Carousel.js +6 -0
  342. package/umd/Cascader.js +43 -0
  343. package/umd/Checkbox.js +42 -0
  344. package/umd/CheckboxGroup.js +42 -0
  345. package/umd/Collapse.js +43 -0
  346. package/umd/CollapseBox.js +1 -0
  347. package/umd/CollapseLayout.js +29 -0
  348. package/umd/ColorPicker.js +1 -0
  349. package/umd/ComboSelect.js +42 -0
  350. package/umd/Container.js +1 -0
  351. package/umd/DatePicker.js +42 -0
  352. package/umd/Desktop.js +42 -0
  353. package/umd/DragVerify.js +28 -0
  354. package/umd/Drawer.js +43 -0
  355. package/umd/Dropdown.js +15 -0
  356. package/umd/DynamicMultiBox.js +54 -0
  357. package/umd/Empty.js +15 -0
  358. package/umd/Form.js +42 -0
  359. package/umd/FormItem.js +42 -0
  360. package/umd/FunctionModal.js +42 -0
  361. package/umd/GlobalContext.js +1 -0
  362. package/umd/Help.js +42 -0
  363. package/umd/HelperText.js +1 -0
  364. package/umd/InputLang.js +42 -0
  365. package/umd/InputNumber.js +42 -0
  366. package/umd/Label.js +42 -0
  367. package/umd/Loading.js +29 -0
  368. package/umd/Menu.js +29 -0
  369. package/umd/Message.js +30 -0
  370. package/umd/Modal.js +42 -0
  371. package/umd/MultiBox.js +42 -0
  372. package/umd/Notification.js +43 -0
  373. package/umd/OperateBtn.js +42 -0
  374. package/umd/PageHeader.js +42 -0
  375. package/umd/Pagination.js +42 -0
  376. package/umd/ParauiProvider.js +15 -0
  377. package/umd/PasswordRules.js +29 -0
  378. package/umd/PopConfirm.js +42 -0
  379. package/umd/Popover.js +15 -0
  380. package/umd/Progress.js +35 -0
  381. package/umd/Querying.js +15 -0
  382. package/umd/Radio.js +42 -0
  383. package/umd/RadioGroup.js +42 -0
  384. package/umd/Search.js +42 -0
  385. package/umd/Select.js +42 -0
  386. package/umd/SelectInput.js +42 -0
  387. package/umd/Selector.js +42 -0
  388. package/umd/SelectorPicker.js +42 -0
  389. package/umd/SingleBox.js +42 -0
  390. package/umd/Slider.js +15 -0
  391. package/umd/Split.js +1 -0
  392. package/umd/Status.js +1 -0
  393. package/umd/Stepper.js +42 -0
  394. package/umd/Switch.js +42 -0
  395. package/umd/Table.js +42 -0
  396. package/umd/Tabs.js +42 -0
  397. package/umd/Tag.js +43 -0
  398. package/umd/TextEditor.js +205 -0
  399. package/umd/TextField.js +42 -0
  400. package/umd/TimePicker.js +42 -0
  401. package/umd/Timeline.js +1 -0
  402. package/umd/Title.js +1 -0
  403. package/umd/ToggleButton.js +43 -0
  404. package/umd/Tooltip.js +15 -0
  405. package/umd/Transfer.js +49 -0
  406. package/umd/Tree.js +42 -0
  407. package/umd/Upload.js +56 -0
package/Menu/index.js ADDED
@@ -0,0 +1,1105 @@
1
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
2
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
+ import React__default, { useState, useEffect, useMemo, createElement, useRef } from 'react';
4
+ import { _ as _toConsumableArray } from '../_verture/toConsumableArray-81040c9e.js';
5
+ import { createPortal } from 'react-dom';
6
+ import CollapseBox from '../CollapseBox/index.js';
7
+ import Down from '@para-ui/icons/Down';
8
+ import * as iconList from '@para-ui/icons';
9
+ import { UUID, DeepClone } from '@paraview/lib';
10
+ import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
11
+ import MenuMoreLine from '@para-ui/icons/IndentRightFill';
12
+ import MenuLessLine from '@para-ui/icons/IndentLeftFill';
13
+ import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
14
+ import '../_verture/unsupportedIterableToArray-cb478f24.js';
15
+ import 'react-transition-group';
16
+ import '../_verture/util-7e1fb1e2.js';
17
+
18
+ var Logo = function Logo(props) {
19
+ var _props$expansion = props.expansion,
20
+ expansion = _props$expansion === void 0 ? true : _props$expansion,
21
+ render = props.render,
22
+ className = props.className;
23
+ /**
24
+ * 处理内容
25
+ * @return {ReactNode}
26
+ */
27
+ var handContent = function handContent() {
28
+ if (render) return render;
29
+ };
30
+ /**
31
+ * 处理className
32
+ * @return class名
33
+ */
34
+ var handClass = function handClass() {
35
+ var str = 'menu-logo';
36
+ if (className) str += ' ' + className;
37
+ if (!expansion) str += ' menu-logo-shrink';
38
+ return str;
39
+ };
40
+ return jsx("div", Object.assign({
41
+ className: handClass()
42
+ }, {
43
+ children: handContent()
44
+ }));
45
+ };
46
+
47
+ /**
48
+ * @description 处理菜单标签
49
+ * 默认div,最后一级为a标签
50
+ * */
51
+ var handMenuEle = function handMenuEle(children) {
52
+ var Ele = 'div';
53
+ var lastOne = !children || children.length === 0;
54
+ if (lastOne) {
55
+ Ele = 'a';
56
+ }
57
+ return Ele;
58
+ };
59
+ /**
60
+ * 处理菜单href地址
61
+ * */
62
+ var handHref = function handHref() {
63
+ var children = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
64
+ var path = arguments.length > 1 ? arguments[1] : undefined;
65
+ var href = arguments.length > 2 ? arguments[2] : undefined;
66
+ var lastOne = !children || children.length === 0;
67
+ if (lastOne) {
68
+ return {
69
+ href: href ? href : '#' + path
70
+ };
71
+ }
72
+ return {};
73
+ };
74
+ // 下拉展开
75
+ var VerticalMenuListItem = function VerticalMenuListItem(props) {
76
+ var label = props.label;
77
+ props.type;
78
+ var path = props.path,
79
+ href = props.href,
80
+ icon = props.icon,
81
+ children = props.children,
82
+ className = props.className,
83
+ _props$level = props.level,
84
+ level = _props$level === void 0 ? 1 : _props$level,
85
+ _props$selectMenu = props.selectMenu,
86
+ selectMenu = _props$selectMenu === void 0 ? '' : _props$selectMenu,
87
+ idMenuLast = props.idMenuLast,
88
+ onClickMenu = props.onClickMenu,
89
+ _props$shrinkOthers = props.shrinkOthers,
90
+ shrinkOthers = _props$shrinkOthers === void 0 ? true : _props$shrinkOthers;
91
+ var _useState = useState(false),
92
+ _useState2 = _slicedToArray(_useState, 2),
93
+ openCom = _useState2[0],
94
+ setOpenCom = _useState2[1];
95
+ useEffect(function () {
96
+ var selectMenuLast = idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
97
+ if (selectMenuLast && selectMenuLast.indexOf(path) !== -1 && selectMenuLast.length > 1) {
98
+ setOpenCom(true);
99
+ } else {
100
+ // 选中菜单,收起其他展开项
101
+ if (shrinkOthers) setOpenCom(false);
102
+ }
103
+ }, [idMenuLast, selectMenu, path]);
104
+ /** 点击菜单 */
105
+ var clickMenu = function clickMenu(e) {
106
+ if (children && children.length > 0) {
107
+ onClickMenu && onClickMenu(false);
108
+ return setOpenCom(!openCom);
109
+ }
110
+ onClickMenu && onClickMenu(props);
111
+ e.preventDefault();
112
+ };
113
+ /**
114
+ * 处理图标
115
+ * @return {ReactNode}
116
+ */
117
+ var handIcon = function handIcon() {
118
+ if (icon) {
119
+ var iconCom = iconList[icon];
120
+ if (iconCom) return jsx("span", Object.assign({
121
+ className: "menu-item-icon"
122
+ }, {
123
+ children: iconCom()
124
+ }));
125
+ return jsx("span", Object.assign({
126
+ className: "menu-item-icon"
127
+ }, {
128
+ children: icon
129
+ }));
130
+ }
131
+ //return <Down className="opacity-pos-svg"/>; // 占位
132
+ };
133
+ /**
134
+ * 处理箭头
135
+ * @return {ReactNode}
136
+ */
137
+ var handArrow = function handArrow() {
138
+ if (children && children.length > 0) return jsx(Down, {});
139
+ return jsx(Down, {
140
+ className: "opacity-pos-svg"
141
+ }); // 占位
142
+ };
143
+ /**
144
+ * 处理class
145
+ * @return class名
146
+ */
147
+ var handClass = function handClass() {
148
+ var str = 'vertical-menu-list-item';
149
+ if (openCom) str += ' vertical-menu-list-item-open';
150
+ if (className) str += ' ' + className;
151
+ var selectMenuLast = idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
152
+ if (selectMenuLast) {
153
+ var index = selectMenuLast.indexOf(path);
154
+ if (index !== -1) {
155
+ str += ' vertical-menu-list-item-select'; // 选中
156
+ if (index === selectMenuLast.length - 1) {
157
+ str += ' vertical-menu-list-item-select-last'; // 最后一项
158
+ }
159
+
160
+ if (!openCom) {
161
+ // 收起且选中
162
+ str += ' vertical-menu-list-item-select-retract'; // 选中收起转态
163
+ }
164
+ }
165
+ }
166
+
167
+ return str;
168
+ };
169
+ /**
170
+ * 处理样式
171
+ */
172
+ var handStyle = function handStyle() {
173
+ var json = {
174
+ paddingRight: '12px'
175
+ };
176
+ if (level >= 0) {
177
+ json.paddingLeft = (level - 1) * 32 + 16 + 'px';
178
+ } else {
179
+ json.paddingLeft = '16px';
180
+ }
181
+ return json;
182
+ };
183
+ // itemMemo
184
+ var ItemMemo = useMemo(function () {
185
+ var Ele = handMenuEle(children);
186
+ return jsxs(Ele, Object.assign({
187
+ onClick: clickMenu,
188
+ className: "vertical-menu-list-item-content",
189
+ style: handStyle()
190
+ }, handHref(children, path, href), {
191
+ children: [handIcon(), jsx("span", Object.assign({
192
+ className: "menu-item-label"
193
+ }, {
194
+ children: label
195
+ })), jsx("span", Object.assign({
196
+ className: "menu-item-arrow"
197
+ }, {
198
+ children: handArrow()
199
+ }))]
200
+ }));
201
+ }, [children, onClickMenu, openCom, level, icon, label, path, href]);
202
+ // Collapse
203
+ var CollapseMemo = useMemo(function () {
204
+ return jsx(CollapseBox, Object.assign({
205
+ in: openCom,
206
+ className: "li-collapse",
207
+ timeout: "auto",
208
+ unmountOnExit: true
209
+ }, {
210
+ children: children && children.length > 0 && children.map(function (item, index) {
211
+ return jsx(VerticalMenuListItem, Object.assign({}, item, {
212
+ level: level + 1,
213
+ idMenuLast: idMenuLast,
214
+ selectMenu: selectMenu,
215
+ onClickMenu: onClickMenu,
216
+ shrinkOthers: shrinkOthers
217
+ }), index);
218
+ })
219
+ }));
220
+ }, [openCom, children, level, idMenuLast, selectMenu, onClickMenu, shrinkOthers]);
221
+ return jsxs("div", Object.assign({
222
+ className: handClass()
223
+ }, {
224
+ children: [ItemMemo, CollapseMemo]
225
+ }));
226
+ };
227
+ // 弹出菜单
228
+ var MenuItemPopper = function MenuItemPopper(props) {
229
+ var _props$open = props.open,
230
+ open = _props$open === void 0 ? false : _props$open,
231
+ anchorEl = props.anchorEl,
232
+ idMenuLast = props.idMenuLast,
233
+ _props$selectMenu2 = props.selectMenu,
234
+ selectMenu = _props$selectMenu2 === void 0 ? '' : _props$selectMenu2,
235
+ onClickMenu = props.onClickMenu,
236
+ _props$list = props.list,
237
+ list = _props$list === void 0 ? [] : _props$list,
238
+ onMouseEnter = props.onMouseEnter,
239
+ onMouseLeave = props.onMouseLeave,
240
+ onMouseEnterBus = props.onMouseEnterBus,
241
+ onMouseLeaveBus = props.onMouseLeaveBus,
242
+ _props$level2 = props.level,
243
+ level = _props$level2 === void 0 ? 1 : _props$level2,
244
+ color = props.color,
245
+ className = props.className;
246
+ var _useState3 = useState(false),
247
+ _useState4 = _slicedToArray(_useState3, 2),
248
+ openChild = _useState4[0],
249
+ setOpenChild = _useState4[1]; // 是否渲染子级
250
+ var _useState5 = useState(''),
251
+ _useState6 = _slicedToArray(_useState5, 2),
252
+ childPos = _useState6[0],
253
+ setChildPos = _useState6[1]; // 子级定位元素
254
+ var _useState7 = useState([]),
255
+ _useState8 = _slicedToArray(_useState7, 2),
256
+ childList = _useState8[0],
257
+ setChildList = _useState8[1]; // 子级列表
258
+ var _useState9 = useState({}),
259
+ _useState10 = _slicedToArray(_useState9, 2),
260
+ posStyle = _useState10[0],
261
+ setPosStyle = _useState10[1]; // 定位元素样式
262
+ var _useState11 = useState({}),
263
+ _useState12 = _slicedToArray(_useState11, 1),
264
+ timerJson = _useState12[0];
265
+ var boxRef = useRef(null);
266
+ useEffect(function () {
267
+ return function () {
268
+ clearTimeout(timerJson.leaveBox);
269
+ clearTimeout(timerJson.closeTimer);
270
+ clearTimeout(timerJson.styleTimer);
271
+ };
272
+ }, []);
273
+ useEffect(function () {
274
+ handPosStyle();
275
+ }, [open, anchorEl]);
276
+ /**
277
+ * 设置定位样式
278
+ * */
279
+ var handPosStyle = function handPosStyle() {
280
+ clearTimeout(timerJson.styleTimer);
281
+ timerJson.styleTimer = setTimeout(function () {
282
+ if (anchorEl && open && boxRef.current) {
283
+ // 定位容器
284
+ var anchorElDom = document.querySelector("[data-menu-id=".concat(anchorEl, "]"));
285
+ var reactDom = anchorElDom.getBoundingClientRect();
286
+ var top = reactDom.top;
287
+ // 不是第一级的弹窗向上便宜8px
288
+ if (level !== 1) {
289
+ top = top - 8;
290
+ }
291
+ // 第一级,且只有一级
292
+ if (handTooltip()) {
293
+ top = top + 4;
294
+ }
295
+ var bodyHeight = document.body.clientHeight;
296
+ var selfHeight = boxRef.current.clientHeight;
297
+ if (selfHeight + top > bodyHeight) {
298
+ top = top - (selfHeight + top - bodyHeight) - 20; // 多减20的余量
299
+ }
300
+
301
+ if (top < 0) {
302
+ top = 0;
303
+ }
304
+ setPosStyle({
305
+ position: 'absolute',
306
+ left: '0',
307
+ top: '0',
308
+ transform: "translate3d(".concat(reactDom.right, "px, ").concat(top, "px, 0px)")
309
+ });
310
+ }
311
+ });
312
+ };
313
+ /**
314
+ * 判断是否是第一级,且没有子级
315
+ * */
316
+ var handTooltip = function handTooltip() {
317
+ // 第一层,长度为1,且没有父级,,子级也没有
318
+ if (level === 1 && list.length === 1 && list[0]._paraui_menu_first && (!list[0].children || list[0].children.length === 0)) {
319
+ return true;
320
+ }
321
+ return false;
322
+ };
323
+ /**
324
+ * 处理MenuPopover样式类名
325
+ * @return {string}
326
+ */
327
+ var handPopoverClass = function handPopoverClass() {
328
+ var str = $prefixCls + '-vertical-menu-item-popper';
329
+ if (color) str += " ".concat($prefixCls, "-vertical-menu-item-popper-").concat(color);
330
+ if (color === 'deep') str += " ".concat($prefixCls, "-scrollbar-small-deep");else str += " ".concat($prefixCls, "-scrollbar-small");
331
+ // 第一级,且只有一项
332
+ if (handTooltip()) {
333
+ str += " ".concat($prefixCls, "-vertical-menu-item-popper-tooltip");
334
+ }
335
+ if (className) str += ' ' + className;
336
+ return str;
337
+ };
338
+ /**
339
+ * 处理子菜单项class
340
+ * @param item {MenuChildrenProps} 子菜单详情
341
+ * @return {string}
342
+ */
343
+ var handItemClass = function handItemClass(item) {
344
+ var str = 'menu-item-popper-content-item';
345
+ var selectMenuLast = idMenuLast && idMenuLast[selectMenu]; // 当前选中菜单的 所有上下级 一条线
346
+ if (selectMenuLast && selectMenuLast.indexOf(item.path) !== -1) {
347
+ str += ' menu-item-popper-content-item-select';
348
+ }
349
+ return str;
350
+ };
351
+ /**
352
+ * 处理图标
353
+ * @param icon 图标信息
354
+ * @return {ReactNode}
355
+ */
356
+ var handIcon = function handIcon(icon) {
357
+ if (icon) {
358
+ var iconCom = iconList[icon];
359
+ if (iconCom) return jsx("span", Object.assign({
360
+ className: "menu-item-icon"
361
+ }, {
362
+ children: iconCom()
363
+ }));
364
+ return jsx("span", Object.assign({
365
+ className: "menu-item-icon"
366
+ }, {
367
+ children: icon
368
+ }));
369
+ }
370
+ //return <Down className="opacity-pos-svg"/>; // 占位
371
+ };
372
+ /**
373
+ * 处理箭头
374
+ * @param children 详细
375
+ * @return {ReactNode}
376
+ */
377
+ var handArrow = function handArrow(children) {
378
+ if (children && children.length > 0) return jsx(Down, {});
379
+ return jsx(Down, {
380
+ className: "opacity-pos-svg"
381
+ }); // 占位
382
+ };
383
+ /**
384
+ * 点击菜单
385
+ * @param item {MenuChildrenProps} 当前项参数
386
+ * @param e 当前元素
387
+ */
388
+ var clickMenu = function clickMenu(item) {
389
+ return function (e) {
390
+ e.preventDefault();
391
+ if (item.children && item.children.length > 0) return;
392
+ onClickMenu && onClickMenu(item);
393
+ };
394
+ };
395
+ /**
396
+ * 鼠标移入大容器
397
+ * */
398
+ var onMouseEnterBox = function onMouseEnterBox() {
399
+ if (handTooltip()) return;
400
+ if (level == 1) {
401
+ // 关闭收缩按钮移出事件
402
+ onMouseEnter && onMouseEnter();
403
+ } else {
404
+ onMouseEnterBus && onMouseEnterBus();
405
+ }
406
+ };
407
+ /**
408
+ * 鼠标移出大容器
409
+ * */
410
+ var onMouseLeaveBox = function onMouseLeaveBox() {
411
+ if (handTooltip()) return;
412
+ clearTimeout(timerJson.leaveBox);
413
+ timerJson.leaveBox = setTimeout(function () {
414
+ if (level === 1) {
415
+ onMouseLeave && onMouseLeave();
416
+ } else {
417
+ onMouseLeaveBus && onMouseLeaveBus();
418
+ }
419
+ }, 50);
420
+ };
421
+ /**
422
+ * 移入事件 传递 给子级
423
+ * 用来通知上级
424
+ * */
425
+ var onMouseEnterBusCom = function onMouseEnterBusCom() {
426
+ // 移入子级的大容器里面, 需要通知上级不关闭容器, 清楚关闭定时器
427
+ clearTimeout(timerJson.leaveBox);
428
+ };
429
+ /**
430
+ * 移出事件 传递 给子级
431
+ * 用来通知上级
432
+ * */
433
+ var onMouseLeaveBusCom = function onMouseLeaveBusCom() {
434
+ setOpenChild(false);
435
+ setChildPos('');
436
+ setChildList([]);
437
+ onMouseLeave && onMouseLeave();
438
+ };
439
+ /**
440
+ * 移入子级
441
+ * @param item {MenuChildrenProps} 移入当前项参数
442
+ * @param index {number} 移入当前项下标
443
+ * @param e 当前元素
444
+ */
445
+ var onMouseEnterChildCom = function onMouseEnterChildCom(item) {
446
+ return function (e) {
447
+ handClassItemHover(e.target);
448
+ setOpenChild(false);
449
+ clearTimeout(timerJson.closeTimer);
450
+ timerJson.closeTimer = setTimeout(function () {
451
+ var childListHand = item.children || [];
452
+ if (childListHand.length > 0) {
453
+ setOpenChild(true);
454
+ setChildPos(e.target.getAttribute('data-menu-id'));
455
+ setChildList(item.children || []);
456
+ } else {
457
+ setOpenChild(false);
458
+ setChildPos('');
459
+ setChildList([]);
460
+ }
461
+ });
462
+ };
463
+ };
464
+ /**
465
+ * 移出子级
466
+ * @param item {MenuChildrenProps} 移入当前项参数
467
+ * @param index {number} 移入当前项下标
468
+ * @param e 当前元素
469
+ */
470
+ var onMouseLeaveChildCom = function onMouseLeaveChildCom(item) {
471
+ return function (e) {
472
+ //console.log('移出子级')
473
+ };
474
+ };
475
+ /**
476
+ * 处理移入的class
477
+ * */
478
+ var handClassItemHover = function handClassItemHover(target) {
479
+ if (boxRef) {
480
+ var boxDom = boxRef.current;
481
+ var hoverDom = boxDom.querySelector('.menu-item-popper-content-item-hover');
482
+ if (hoverDom) {
483
+ hoverDom.classList.remove('menu-item-popper-content-item-hover');
484
+ }
485
+ }
486
+ if (target) {
487
+ target.classList.add('menu-item-popper-content-item-hover');
488
+ }
489
+ };
490
+ /** 内容 */
491
+ var ContentMemo = useMemo(function () {
492
+ return jsx("div", Object.assign({
493
+ className: "menu-item-popper-content",
494
+ onMouseEnter: onMouseEnterBox,
495
+ onMouseLeave: onMouseLeaveBox,
496
+ ref: boxRef
497
+ }, {
498
+ children: list.map(function (item, index) {
499
+ var Ele = handMenuEle(item.children);
500
+ return jsx("div", Object.assign({
501
+ className: handItemClass(item),
502
+ onMouseEnter: onMouseEnterChildCom(item),
503
+ onMouseLeave: onMouseLeaveChildCom()
504
+ }, {
505
+ children: jsxs(Ele, Object.assign({
506
+ className: "menu-item-popper-content-item-content",
507
+ "data-menu-id": item._paraui_menu_id,
508
+ onClick: clickMenu(item)
509
+ }, handHref(item.children, item.path, item.href), {
510
+ children: [handIcon(item.icon), jsx("span", Object.assign({
511
+ className: "menu-item-label"
512
+ }, {
513
+ children: item.label
514
+ })), jsx("span", Object.assign({
515
+ className: "menu-item-arrow"
516
+ }, {
517
+ children: handArrow(item.children)
518
+ }))]
519
+ }))
520
+ }), index);
521
+ })
522
+ }));
523
+ }, [list, onClickMenu, idMenuLast, selectMenu, onClickMenu, onMouseEnter, onMouseLeave, level]);
524
+ // 计算定位
525
+ var MenuPopover = function MenuPopover() {
526
+ return jsx("div", Object.assign({
527
+ className: handPopoverClass(),
528
+ style: posStyle
529
+ }, {
530
+ children: ContentMemo
531
+ }));
532
+ };
533
+ var MenuPortalMemo = useMemo(function () {
534
+ return jsx(Fragment, {
535
+ children: /*#__PURE__*/createPortal(jsx(MenuPopover, {}), document.getElementsByTagName('body')[0])
536
+ });
537
+ }, [posStyle, list, onClickMenu, idMenuLast, selectMenu, onClickMenu, onMouseEnter, onMouseLeave, level, className, color]);
538
+ return jsxs(Fragment, {
539
+ children: [MenuPortalMemo, openChild && jsx(MenuItemPopper, {
540
+ open: openChild,
541
+ anchorEl: childPos,
542
+ list: childList,
543
+ idMenuLast: idMenuLast,
544
+ selectMenu: selectMenu,
545
+ onClickMenu: onClickMenu,
546
+ onMouseEnter: onMouseEnter,
547
+ onMouseLeave: onMouseLeave,
548
+ onMouseEnterBus: onMouseEnterBusCom,
549
+ onMouseLeaveBus: onMouseLeaveBusCom,
550
+ color: color,
551
+ level: level + 1
552
+ })]
553
+ });
554
+ };
555
+ /**
556
+ * 提取坐标数字
557
+ * @param transform {string}
558
+ * @return {number}
559
+ */
560
+ var getTransformY = function getTransformY(transform) {
561
+ if (!transform) return 0;
562
+ try {
563
+ var transformY = transform.match(/translate3d\((.*)px, (.*)px, (.*)px\)/);
564
+ return Number(transformY && transformY[2]);
565
+ } catch (e) {}
566
+ return 0;
567
+ };
568
+ var VerticalMenuList = function VerticalMenuList(props) {
569
+ var list = props.list,
570
+ _props$expansion = props.expansion,
571
+ expansion = _props$expansion === void 0 ? true : _props$expansion,
572
+ _props$selectMenu3 = props.selectMenu,
573
+ selectMenu = _props$selectMenu3 === void 0 ? '' : _props$selectMenu3,
574
+ onClickMenu = props.onClickMenu,
575
+ className = props.className,
576
+ _props$shrinkOthers2 = props.shrinkOthers,
577
+ shrinkOthers = _props$shrinkOthers2 === void 0 ? true : _props$shrinkOthers2,
578
+ color = props.color;
579
+ // const classes: any = useStyles(props);
580
+ var _useState13 = useState([]),
581
+ _useState14 = _slicedToArray(_useState13, 2),
582
+ listCom = _useState14[0],
583
+ setListCom = _useState14[1]; // 菜单数据
584
+ var _useState15 = useState(false),
585
+ _useState16 = _slicedToArray(_useState15, 2),
586
+ openChild = _useState16[0],
587
+ setOpenChild = _useState16[1]; // 侧边展开子菜单
588
+ var _useState17 = useState(null),
589
+ _useState18 = _slicedToArray(_useState17, 2),
590
+ openChildIndex = _useState18[0],
591
+ setOpenChildIndex = _useState18[1]; // 侧边菜单第几项
592
+ var _useState19 = useState(''),
593
+ _useState20 = _slicedToArray(_useState19, 2),
594
+ childPos = _useState20[0],
595
+ setChildPos = _useState20[1]; // 侧边子菜单定位
596
+ var _useState21 = useState([]),
597
+ _useState22 = _slicedToArray(_useState21, 2),
598
+ childList = _useState22[0],
599
+ setChildList = _useState22[1]; // 侧边子菜单数据
600
+ var _useState23 = useState(""),
601
+ _useState24 = _slicedToArray(_useState23, 2),
602
+ selectMenuCom = _useState24[0],
603
+ setSelectMenuCom = _useState24[1]; // 当前选中菜单id
604
+ //const [jsonMenu, setJsonMenu] = useState<any>({}); // 菜单map
605
+ var _useState25 = useState({}),
606
+ _useState26 = _slicedToArray(_useState25, 2),
607
+ idMenuLast = _useState26[0],
608
+ setIdMenuLast = _useState26[1]; // 最后一级菜单所有层级id
609
+ var _useState27 = useState({
610
+ prev: false,
611
+ next: false
612
+ }),
613
+ _useState28 = _slicedToArray(_useState27, 2),
614
+ flipDisable = _useState28[0],
615
+ setFlipDisable = _useState28[1];
616
+ var _useState29 = useState({}),
617
+ _useState30 = _slicedToArray(_useState29, 1),
618
+ timerJson = _useState30[0];
619
+ var listRef = React__default.useRef();
620
+ useEffect(function () {
621
+ return function () {
622
+ // 防止组件销毁设置元素报错
623
+ clearTimeout(timerJson.arrowTimer);
624
+ clearTimeout(timerJson.leaveTimer);
625
+ clearTimeout(timerJson.enterTimer);
626
+ };
627
+ }, []);
628
+ useEffect(function () {
629
+ // 浅拷贝一层,防止数据外部使用用了同一份数据,导致收缩的时候定位错误
630
+ var listArr = list || [];
631
+ var arr = [];
632
+ for (var i = 0, l = listArr.length; i < l; i++) {
633
+ var item = listArr[i];
634
+ arr.push(Object.assign({}, item));
635
+ }
636
+ handList(arr);
637
+ }, [list]);
638
+ useEffect(function () {
639
+ isShowArrow();
640
+ }, [listCom]);
641
+ useEffect(function () {
642
+ if (selectMenu !== selectMenuCom) setSelectMenuCom(selectMenu);
643
+ isShowArrow();
644
+ }, [selectMenu]);
645
+ /** 初始化判断是否显示箭头 */
646
+ var isShowArrow = function isShowArrow() {
647
+ clearTimeout(timerJson.arrowTimer);
648
+ timerJson.arrowTimer = setTimeout(function () {
649
+ var _getLimit = getLimit(),
650
+ min = _getLimit.min,
651
+ max = _getLimit.max;
652
+ var y = getTransformY(listRef.current.style.transform);
653
+ setFlipDisable({
654
+ prev: y !== min,
655
+ next: y > max
656
+ });
657
+ }, 300);
658
+ };
659
+ /**
660
+ * 鼠标滚动应用列表
661
+ * @param e 元素
662
+ */
663
+ var handleScroll = function handleScroll(e) {
664
+ var deltaY = e.deltaY;
665
+ var y = getTransformY(listRef.current.style.transform);
666
+ y -= deltaY;
667
+ setTransform(y);
668
+ };
669
+ /**
670
+ * 翻页点击
671
+ * @param type {'prev' | 'next'} 点击类型
672
+ */
673
+ var flip = function flip(type) {
674
+ return function () {
675
+ var height = 100;
676
+ var y = getTransformY(listRef.current.style.transform);
677
+ switch (type) {
678
+ case "next":
679
+ y -= height;
680
+ break;
681
+ case "prev":
682
+ y += height;
683
+ break;
684
+ }
685
+ setTransform(y);
686
+ };
687
+ };
688
+ /**
689
+ * 设置上下平移
690
+ * @param y {number} 滚动距离
691
+ */
692
+ var setTransform = function setTransform(y) {
693
+ var _getLimit2 = getLimit(),
694
+ min = _getLimit2.min,
695
+ max = _getLimit2.max;
696
+ if (y > min) y = min;
697
+ if (y < max) y = max;
698
+ setFlipDisable({
699
+ prev: y !== min,
700
+ next: y > max
701
+ });
702
+ listRef.current.style.transform = "translate3d(0, ".concat(y, "px, 0)");
703
+ };
704
+ /**
705
+ * 返回滚动限制
706
+ * @return {object} 滚动限制
707
+ */
708
+ var getLimit = function getLimit() {
709
+ var parentHeight = listRef.current.parentNode.getBoundingClientRect().height;
710
+ var min = 0;
711
+ var max = -(listRef.current.getBoundingClientRect().height - parentHeight);
712
+ if (parentHeight > listRef.current.getBoundingClientRect().height) {
713
+ max = 0;
714
+ }
715
+ return {
716
+ min: min,
717
+ max: max
718
+ };
719
+ };
720
+ /**
721
+ * 处理菜单数据
722
+ * @param dataArr {MenuChildrenProps} 菜单数据
723
+ */
724
+ var handList = function handList(dataArr) {
725
+ var idMap = {}; // 所有id,层级map
726
+ var idMapLast = {}; // 最后一层菜单,层级map
727
+ var recurrenceFunc = function recurrenceFunc(daraChildArr, parent) {
728
+ for (var i = 0, l = daraChildArr.length; i < l; i++) {
729
+ var item = daraChildArr[i];
730
+ var path = item.path;
731
+ item._paraui_menu_id = '_paraui_menu_id_' + UUID(); // 设置唯一id
732
+ if (parent) {
733
+ var idList = DeepClone(idMap[parent.path] || []);
734
+ idList.push(path);
735
+ idMap[path] = _toConsumableArray(idList);
736
+ } else {
737
+ // 不存在parent,第一级
738
+ idMap[path] = [path];
739
+ item._paraui_menu_first = true;
740
+ }
741
+ if (item.children && item.children.length > 0) {
742
+ recurrenceFunc(item.children, item);
743
+ } else {
744
+ // 不存在children,为点击菜单选项
745
+ idMapLast[path] = idMap[path];
746
+ }
747
+ }
748
+ };
749
+ recurrenceFunc(dataArr);
750
+ setIdMenuLast(idMapLast);
751
+ setListCom(dataArr);
752
+ };
753
+ /**
754
+ * 鼠标移入收缩
755
+ * @param item {MenuChildrenProps} 移入当前项参数
756
+ * @param index {number} 移入当前项下标
757
+ * @param e 当前元素
758
+ */
759
+ var mouseEnterShrinkFunc = function mouseEnterShrinkFunc(item, index) {
760
+ return function (e) {
761
+ setOpenChild(false);
762
+ clearTimeout(timerJson.enterTimer);
763
+ timerJson.enterTimer = setTimeout(function () {
764
+ clearTimeout(timerJson.leaveTimer);
765
+ var childListHand = [item];
766
+ if (item.children && item.children.length > 0) {
767
+ childListHand = item.children;
768
+ }
769
+ setOpenChildIndex(index);
770
+ setChildPos(e.target.getAttribute('data-menu-id'));
771
+ setChildList(childListHand);
772
+ setOpenChild(true);
773
+ });
774
+ };
775
+ };
776
+ /**
777
+ * 鼠标移出收缩
778
+ * @param item {MenuChildrenProps} 移出当前项参数
779
+ * @param e 当前元素
780
+ */
781
+ var mouseLeaveShrinkFunc = function mouseLeaveShrinkFunc(item) {
782
+ return function (e) {
783
+ leaveFunc();
784
+ };
785
+ };
786
+ /** 移出事件 */
787
+ var leaveFunc = function leaveFunc() {
788
+ clearTimeout(timerJson.leaveTimer);
789
+ timerJson.leaveTimer = setTimeout(function () {
790
+ closeShrink();
791
+ }, 50);
792
+ };
793
+ /** 移入子菜单 */
794
+ var onMouseEnterChild = function onMouseEnterChild() {
795
+ clearTimeout(timerJson.leaveTimer);
796
+ };
797
+ /** 移出子菜单 */
798
+ var onMouseLeaveChild = function onMouseLeaveChild() {
799
+ leaveFunc();
800
+ };
801
+ /**
802
+ * 关闭收缩弹窗
803
+ * */
804
+ var closeShrink = function closeShrink() {
805
+ setOpenChild(false);
806
+ setChildPos('');
807
+ setChildList([]);
808
+ setOpenChildIndex(null);
809
+ };
810
+ /**
811
+ * 处理图标
812
+ * @param item {MenuChildrenProps} 当前项参数
813
+ * @return {ReactNode}
814
+ */
815
+ var handShrink = function handShrink(item) {
816
+ var icon = item.icon,
817
+ label = item.label;
818
+ if (icon) {
819
+ var iconCom = iconList[icon];
820
+ if (iconCom) return iconCom();
821
+ return icon;
822
+ }
823
+ if (typeof label === 'string') {
824
+ return label[0];
825
+ } else {
826
+ return label;
827
+ }
828
+ };
829
+ /**
830
+ * 点击收缩菜单时候的按钮
831
+ * */
832
+ var clickShrinkMenu = function clickShrinkMenu(item) {
833
+ return function (e) {
834
+ if (!item.children || item.children.length === 0) {
835
+ var handItem = Object.assign({}, item);
836
+ delete handItem._paraui_menu_id;
837
+ onClickMenu && onClickMenu(handItem);
838
+ }
839
+ e.preventDefault();
840
+ };
841
+ };
842
+ /**
843
+ * 点击菜单
844
+ * @param item {MenuChildrenProps | false} 当前项参数
845
+ */
846
+ var clickMenu = function clickMenu(item) {
847
+ if (item === false) {
848
+ return isShowArrow();
849
+ }
850
+ closeShrink();
851
+ var handItem = Object.assign({}, item);
852
+ delete handItem._paraui_menu_id;
853
+ onClickMenu && onClickMenu(handItem);
854
+ };
855
+ /**
856
+ * 处理收缩菜单class
857
+ * @param item {MenuChildrenProps} 当前项参数
858
+ * @param index {number} 下标
859
+ * @return {string} 返回图标元素
860
+ */
861
+ var handShrinkClass = function handShrinkClass(item, index) {
862
+ var str = 'vertical-menu-list-item-shrink';
863
+ var selectMenuLast = idMenuLast[selectMenuCom]; // 当前选中菜单的 所有上下级 一条线
864
+ if (selectMenuLast && selectMenuLast.indexOf(item.path) !== -1) str += ' vertical-menu-list-item-shrink-select';
865
+ if (openChildIndex === index) str += ' vertical-menu-list-item-shrink-hover';
866
+ return str;
867
+ };
868
+ /**
869
+ * 处理class
870
+ * @return {string} class名
871
+ */
872
+ var handClass = function handClass() {
873
+ var str = 'vertical-menu-list';
874
+ if (className) str += ' ' + className;
875
+ return str;
876
+ };
877
+ /** 展开memo */
878
+ var ExpansionMemo = useMemo(function () {
879
+ if (expansion) {
880
+ return listCom.map(function (item, index) {
881
+ return /*#__PURE__*/createElement(VerticalMenuListItem, Object.assign({}, item, {
882
+ key: index,
883
+ level: 1,
884
+ idMenuLast: idMenuLast,
885
+ selectMenu: selectMenuCom,
886
+ onClickMenu: clickMenu,
887
+ shrinkOthers: shrinkOthers
888
+ }));
889
+ });
890
+ }
891
+ }, [expansion, listCom, idMenuLast, selectMenuCom, onClickMenu, shrinkOthers]);
892
+ /** 收缩memo */
893
+ var ShrinkMemo = useMemo(function () {
894
+ if (expansion) return null;
895
+ return listCom.map(function (item, index) {
896
+ var Ele = handMenuEle(item.children);
897
+ return jsx(Ele, Object.assign({
898
+ className: handShrinkClass(item, index),
899
+ onMouseEnter: mouseEnterShrinkFunc(item, index),
900
+ onMouseLeave: mouseLeaveShrinkFunc(),
901
+ "data-menu-id": item._paraui_menu_id,
902
+ onClick: clickShrinkMenu(item)
903
+ }, handHref(item.children, item.path, item.href), {
904
+ children: jsx("span", {
905
+ children: handShrink(item)
906
+ })
907
+ }), index);
908
+ });
909
+ }, [expansion, listCom, idMenuLast, selectMenuCom, openChildIndex]);
910
+ /** 向上翻页 */
911
+ var PrevScroll = useMemo(function () {
912
+ return jsx(Fragment, {
913
+ children: flipDisable.prev && jsx("span", Object.assign({
914
+ className: "scroll-top"
915
+ }, {
916
+ children: jsx(Down, {
917
+ onClick: flip('prev')
918
+ })
919
+ }))
920
+ });
921
+ }, [flipDisable]);
922
+ /** 向下翻页 */
923
+ var NextScroll = useMemo(function () {
924
+ return jsx(Fragment, {
925
+ children: flipDisable.next && jsx("span", Object.assign({
926
+ className: "scroll-bottom"
927
+ }, {
928
+ children: jsx(Down, {
929
+ onClick: flip('next')
930
+ })
931
+ }))
932
+ });
933
+ }, [flipDisable]);
934
+ /** 收缩弹出框菜单 */
935
+ var MenuItemPopperMemo = useMemo(function () {
936
+ return jsx(Fragment, {
937
+ children: openChild && jsx(MenuItemPopper, {
938
+ open: openChild,
939
+ anchorEl: childPos,
940
+ list: childList,
941
+ idMenuLast: idMenuLast,
942
+ selectMenu: selectMenuCom,
943
+ onClickMenu: clickMenu,
944
+ onMouseEnter: onMouseEnterChild,
945
+ onMouseLeave: onMouseLeaveChild,
946
+ color: color,
947
+ level: 1
948
+ })
949
+ });
950
+ }, [openChild, childPos, childList, idMenuLast, selectMenuCom, onClickMenu, timerJson, color]);
951
+ return jsxs(Fragment, {
952
+ children: [jsxs("div", Object.assign({
953
+ className: handClass(),
954
+ onWheel: function onWheel(e) {
955
+ return handleScroll(e);
956
+ }
957
+ }, {
958
+ children: [PrevScroll, jsx("div", Object.assign({
959
+ className: "vertical-menu-list-box"
960
+ }, {
961
+ children: jsxs("div", Object.assign({
962
+ className: "vertical-menu-list-box-srcoll",
963
+ ref: listRef
964
+ }, {
965
+ children: [ExpansionMemo, ShrinkMemo]
966
+ }))
967
+ })), NextScroll]
968
+ })), MenuItemPopperMemo]
969
+ });
970
+ };
971
+
972
+ var FooterExpansion = function FooterExpansion(props) {
973
+ var _props$expansion = props.expansion,
974
+ expansion = _props$expansion === void 0 ? true : _props$expansion,
975
+ expandIcon = props.expandIcon,
976
+ shrinkIcon = props.shrinkIcon,
977
+ customizeContent = props.customizeContent,
978
+ clickExpansion = props.clickExpansion,
979
+ version = props.version,
980
+ render = props.render,
981
+ className = props.className;
982
+ /** 点击展开/收起按钮 */
983
+ var clickExpansionCom = function clickExpansionCom() {
984
+ clickExpansion && clickExpansion(!expansion);
985
+ };
986
+ /**
987
+ * 处理内容
988
+ * @return {ReactNode}
989
+ */
990
+ var handContent = function handContent() {
991
+ if (render) return render;
992
+ if (customizeContent) return customizeContent;
993
+ var handIcon = function handIcon() {
994
+ if (expansion) {
995
+ if (expandIcon) return expandIcon;
996
+ return jsx(MenuMoreLine, {
997
+ onClick: clickExpansionCom
998
+ });
999
+ } else {
1000
+ if (shrinkIcon) return shrinkIcon;
1001
+ return jsx(MenuLessLine, {
1002
+ onClick: clickExpansionCom
1003
+ });
1004
+ }
1005
+ };
1006
+ return jsxs(Fragment, {
1007
+ children: [handIcon(), expansion && version && jsx("span", Object.assign({
1008
+ className: "version"
1009
+ }, {
1010
+ children: version
1011
+ }))]
1012
+ });
1013
+ };
1014
+ // 处理className
1015
+ var handClass = function handClass() {
1016
+ var str = 'footer-expansion';
1017
+ if (className) str += ' ' + className;
1018
+ if (!expansion) str += ' footer-expansion-shrink';
1019
+ return str;
1020
+ };
1021
+ return jsx("div", Object.assign({
1022
+ className: handClass()
1023
+ }, {
1024
+ children: handContent()
1025
+ }));
1026
+ };
1027
+
1028
+ var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-vertical-menu {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n}\n.paraui-v3-vertical-menu > .menu-logo {\n width: 100%;\n display: inline-block;\n padding: 24px 16px 0 16px;\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n}\n.paraui-v3-vertical-menu > .menu-logo.menu-logo-shrink {\n padding: 24px 0 0;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list {\n overflow: hidden;\n height: 100%;\n padding: 40px 16px;\n position: relative;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .scroll-top {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .scroll-top > svg {\n cursor: pointer;\n transform: rotate(180deg);\n font-size: 18px;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .scroll-top > svg:hover {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box {\n height: 100%;\n overflow: hidden;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll {\n transition: all 0.3s;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item {\n margin-bottom: 8px;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item:last-child {\n margin-bottom: 0;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content {\n height: 40px;\n line-height: 40px;\n cursor: pointer;\n display: flex;\n border-radius: 4px;\n text-decoration: none;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon {\n width: 20px;\n margin-right: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n font-size: 16px;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-label {\n font-size: 14px;\n width: 100%;\n white-space: nowrap;\n font-weight: 400;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow {\n width: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n font-size: 16px;\n transition: all 0.3s;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > .opacity-pos-svg {\n opacity: 0;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .li-collapse > div > div > .vertical-menu-list-item:first-child {\n margin-top: 8px;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-open > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n transform: rotate(180deg);\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .scroll-bottom {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .scroll-bottom > svg {\n cursor: pointer;\n font-size: 18px;\n}\n.paraui-v3-vertical-menu > .vertical-menu-list > .scroll-bottom > svg:hover {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu > .footer-expansion {\n display: flex;\n align-items: center;\n width: 100%;\n padding-bottom: 20px;\n white-space: nowrap;\n height: 40px;\n}\n.paraui-v3-vertical-menu > .footer-expansion > svg {\n font-size: 20px;\n cursor: pointer;\n margin-left: 20px;\n}\n.paraui-v3-vertical-menu > .footer-expansion > .version {\n margin-left: 12px;\n font-size: 14px;\n}\n.paraui-v3-vertical-menu > .footer-expansion.footer-expansion-shrink {\n justify-content: center;\n}\n.paraui-v3-vertical-menu > .footer-expansion.footer-expansion-shrink > svg {\n margin: 0;\n}\n.paraui-v3-vertical-menu.paraui-v3-vertical-menu-shrink > .vertical-menu-list {\n padding: 44px 0px;\n}\n.paraui-v3-vertical-menu.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box {\n height: 100%;\n overflow: hidden;\n}\n.paraui-v3-vertical-menu.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n cursor: pointer;\n margin-bottom: 8px;\n}\n.paraui-v3-vertical-menu.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:last-child {\n margin-bottom: 0;\n}\n.paraui-v3-vertical-menu.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:after {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 1;\n}\n.paraui-v3-vertical-menu.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > span {\n width: 40px;\n height: 40px;\n line-height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 4px;\n}\n.paraui-v3-vertical-menu.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > span > svg {\n position: relative;\n font-size: 20px;\n}\n\n.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content {\n padding: 0;\n box-shadow: none;\n}\n.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: auto;\n height: 32px;\n line-height: 32px;\n}\n.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon {\n display: none;\n}\n.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n display: none;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper {\n padding-left: 8px;\n z-index: 1500;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content {\n box-shadow: 0px 2px 8px 0px rgba(171, 176, 185, 0.4);\n border-radius: 4px;\n padding: 8px 0;\n max-height: 268px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item {\n position: relative;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content {\n width: 200px;\n height: 36px;\n line-height: 36px;\n padding: 0px 12px;\n display: flex;\n cursor: pointer;\n text-decoration: none;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:after, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n content: \"\";\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon {\n width: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 12px;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n font-size: 20px;\n position: relative;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg:after, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n z-index: 1;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label {\n font-size: 14px;\n width: 100%;\n font-weight: 400;\n white-space: nowrap;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow {\n width: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n font-size: 20px;\n transition: all 0.3s;\n position: relative;\n transform: rotate(270deg);\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg:after, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg:after {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n z-index: 1;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > .opacity-pos-svg, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > .opacity-pos-svg {\n opacity: 0;\n}\n.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item .vertical-menu-item-popper, .paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item .vertical-menu-item-popper {\n position: absolute;\n transform: none !important;\n left: 100% !important;\n top: -8px;\n}\n\n.paraui-v3-vertical-menu-deep {\n background-color: rgb(28, 41, 60);\n}\n.paraui-v3-vertical-menu-deep > .menu-logo {\n color: white;\n}\n.paraui-v3-vertical-menu-deep > .menu-logo svg {\n color: white;\n}\n.paraui-v3-vertical-menu-deep > .vertical-menu-list > .scroll-top > svg, .paraui-v3-vertical-menu-deep > .vertical-menu-list > .scroll-bottom > svg {\n color: white;\n}\n.paraui-v3-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover {\n background-color: rgb(34, 62, 103);\n}\n.paraui-v3-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n color: white;\n}\n.paraui-v3-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-label {\n color: white;\n}\n.paraui-v3-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n color: white;\n}\n.paraui-v3-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content, .paraui-v3-vertical-menu-deep > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content {\n background-color: rgb(34, 62, 103);\n}\n.paraui-v3-vertical-menu-deep > .footer-expansion > svg {\n color: white;\n}\n.paraui-v3-vertical-menu-deep > .footer-expansion > svg:hover {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-deep > .footer-expansion > .version {\n color: rgba(255, 255, 255, 0.6);\n}\n.paraui-v3-vertical-menu-deep.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:hover > span {\n background-color: rgb(34, 62, 103);\n}\n.paraui-v3-vertical-menu-deep.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > span {\n color: white;\n}\n.paraui-v3-vertical-menu-deep.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > span > svg {\n color: white;\n}\n.paraui-v3-vertical-menu-deep.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > span {\n background-color: rgb(34, 62, 103);\n}\n.paraui-v3-vertical-menu-deep.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > span {\n background-color: rgb(34, 62, 103);\n}\n\n.paraui-v3-vertical-menu-light {\n background: linear-gradient(180deg, rgb(241, 241, 244), rgb(243, 243, 243));\n}\n.paraui-v3-vertical-menu-light > .menu-logo {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-light > .menu-logo svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .scroll-top > svg, .paraui-v3-vertical-menu-light > .vertical-menu-list > .scroll-bottom > svg {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover {\n background-color: white;\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover > .menu-item-icon > svg {\n color: rgb(28, 41, 60);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover > .menu-item-label {\n color: rgb(28, 41, 60);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content:hover > .menu-item-arrow > svg {\n color: rgb(28, 41, 60);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-icon > svg {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-label {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content, .paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content {\n background-color: white;\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content:hover > .menu-item-icon > svg, .paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content:hover > .menu-item-icon > svg {\n color: rgba(54, 102, 214, 0.8);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content:hover > .menu-item-label, .paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content:hover > .menu-item-label {\n color: rgba(54, 102, 214, 0.8);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content:hover > .menu-item-arrow > svg, .paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content:hover > .menu-item-arrow > svg {\n color: rgba(54, 102, 214, 0.8);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content > .menu-item-icon > svg, .paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content > .menu-item-icon > svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content > .menu-item-label, .paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content > .menu-item-label {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-last > .vertical-menu-list-item-content > .menu-item-arrow > svg, .paraui-v3-vertical-menu-light > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item.vertical-menu-list-item-select-retract > .vertical-menu-list-item-content > .menu-item-arrow > svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-light > .footer-expansion > svg {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-light > .footer-expansion > svg:hover {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-light > .footer-expansion > .version {\n color: rgba(46, 55, 67, 0.4);\n}\n.paraui-v3-vertical-menu-light.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink:hover > span {\n background-color: white;\n}\n.paraui-v3-vertical-menu-light.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > span {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-light.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink > span > svg {\n color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-light.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > span {\n background-color: white;\n color: rgb(28, 41, 60);\n}\n.paraui-v3-vertical-menu-light.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-select > span > svg {\n color: rgb(28, 41, 60);\n}\n.paraui-v3-vertical-menu-light.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > span {\n background-color: white;\n color: rgb(28, 41, 60);\n}\n.paraui-v3-vertical-menu-light.paraui-v3-vertical-menu-shrink > .vertical-menu-list > .vertical-menu-list-box > .vertical-menu-list-box-srcoll .vertical-menu-list-item-shrink.vertical-menu-list-item-shrink-hover > span > svg {\n color: rgb(28, 41, 60);\n}\n\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content {\n background-color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover {\n background-color: transparent;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-label, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-label {\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label {\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: transparent;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content {\n background-color: rgb(28, 41, 60);\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label {\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: rgb(34, 62, 103);\n}\n.paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content, .paraui-v3-vertical-menu-item-popper-deep.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content {\n background-color: rgb(34, 62, 103);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content {\n background-color: rgba(46, 55, 67, 0.7);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover {\n background-color: transparent;\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-label, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-label {\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label {\n color: white;\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper-tooltip.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content.menu-item-popper-content-item-hover {\n background-color: transparent;\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content {\n background-color: white;\n color: rgb(46, 55, 67);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover {\n background-color: rgba(171, 176, 185, 0.12);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-icon > svg, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-icon > svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-label, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-label {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-arrow > svg, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content:hover > .menu-item-arrow > svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n color: rgb(46, 55, 67);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-label {\n color: rgb(46, 55, 67);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n color: rgb(46, 55, 67);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content > .menu-item-icon > svg, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content > .menu-item-icon > svg {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content > .menu-item-label, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content > .menu-item-label {\n color: rgb(54, 102, 214);\n}\n.paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper .paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content > .menu-item-arrow > svg, .paraui-v3-vertical-menu-item-popper-light.paraui-v3-vertical-menu-item-popper.paraui-v3-vertical-menu-item-popper > .menu-item-popper-content > .menu-item-popper-content-item.menu-item-popper-content-item-select > .menu-item-popper-content-item-content > .menu-item-arrow > svg {\n color: rgb(54, 102, 214);\n}";
1029
+ styleInject(css_248z);
1030
+
1031
+ var Menu = function Menu(props) {
1032
+ var _props$color = props.color,
1033
+ color = _props$color === void 0 ? 'deep' : _props$color,
1034
+ logoProps = props.logoProps,
1035
+ menuListProps = props.menuListProps,
1036
+ _props$expansion = props.expansion,
1037
+ expansion = _props$expansion === void 0 ? true : _props$expansion,
1038
+ onClickExpansion = props.onClickExpansion,
1039
+ selectMenu = props.selectMenu,
1040
+ onClickMenu = props.onClickMenu,
1041
+ className = props.className,
1042
+ style = props.style,
1043
+ _props$shrinkOthers = props.shrinkOthers,
1044
+ shrinkOthers = _props$shrinkOthers === void 0 ? true : _props$shrinkOthers,
1045
+ footerExpansionProps = props.footerExpansionProps,
1046
+ _props$showExpansion = props.showExpansion,
1047
+ showExpansion = _props$showExpansion === void 0 ? true : _props$showExpansion;
1048
+ var _useState = useState(true),
1049
+ _useState2 = _slicedToArray(_useState, 2),
1050
+ expansionCom = _useState2[0],
1051
+ setExpansionCom = _useState2[1];
1052
+ useEffect(function () {
1053
+ if (expansion !== expansionCom) setExpansionCom(expansion);
1054
+ }, [expansion]);
1055
+ /**
1056
+ * 点击展开 / 收起
1057
+ */
1058
+ var clickExpansion = function clickExpansion() {
1059
+ onClickExpansion && onClickExpansion(!expansionCom);
1060
+ };
1061
+ /**
1062
+ * 处理class
1063
+ * @return class名
1064
+ */
1065
+ var handClass = function handClass() {
1066
+ var str = $prefixCls + '-vertical-menu';
1067
+ if (className) str += ' ' + className;
1068
+ if (color) str += " ".concat($prefixCls, "-vertical-menu-").concat(color);
1069
+ if (!expansion) str += " ".concat($prefixCls, "-vertical-menu-shrink");
1070
+ return str;
1071
+ };
1072
+ /** 头像memo */
1073
+ var LogoMemo = useMemo(function () {
1074
+ return props.logoProps && jsx(Logo, Object.assign({}, logoProps, {
1075
+ expansion: expansionCom
1076
+ }));
1077
+ }, [logoProps, expansionCom]);
1078
+ /** 菜单memo */
1079
+ var MenuListMemo = useMemo(function () {
1080
+ return props.menuListProps && jsx(VerticalMenuList, Object.assign({}, props.menuListProps, {
1081
+ color: color,
1082
+ expansion: expansionCom,
1083
+ selectMenu: selectMenu,
1084
+ onClickMenu: onClickMenu,
1085
+ shrinkOthers: shrinkOthers
1086
+ }));
1087
+ }, [menuListProps, expansionCom, selectMenu, onClickMenu, color]);
1088
+ /** 底部展开收起 */
1089
+ var ExpansionMemo = useMemo(function () {
1090
+ if (!showExpansion) return null;
1091
+ return jsx(FooterExpansion, Object.assign({
1092
+ clickExpansion: clickExpansion
1093
+ }, footerExpansionProps, {
1094
+ expansion: expansionCom
1095
+ }));
1096
+ }, [expansionCom, onClickExpansion, footerExpansionProps, onClickExpansion, showExpansion]);
1097
+ return jsxs("div", Object.assign({
1098
+ className: handClass(),
1099
+ style: style
1100
+ }, {
1101
+ children: [LogoMemo, MenuListMemo, ExpansionMemo]
1102
+ }));
1103
+ };
1104
+
1105
+ export { Menu, Menu as default };