@unicom-cloud/ui 0.8.65 → 0.8.67

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 (358) hide show
  1. package/Affix.js +79 -79
  2. package/Alert.js +46 -46
  3. package/Anchor.js +1 -1
  4. package/AutoComplete.js +74 -74
  5. package/Avatar.js +36 -36
  6. package/BackTop.js +35 -35
  7. package/Badge.js +55 -55
  8. package/Breadcrumb.js +42 -42
  9. package/Button.js +24 -24
  10. package/Calendar.js +230 -230
  11. package/Card.js +18 -18
  12. package/Carousel.js +165 -165
  13. package/Cascader.js +1 -1
  14. package/Checkbox.js +1 -1
  15. package/Collapse.js +1 -1
  16. package/ColorPicker.js +26 -26
  17. package/Comment.js +18 -18
  18. package/ConfigProvider.js +2 -2
  19. package/Copy.js +28 -27
  20. package/DatePicker.js +872 -871
  21. package/Descriptions.js +34 -34
  22. package/Divider.js +19 -19
  23. package/Draggable.js +27 -26
  24. package/Drawer.js +1 -1
  25. package/Dropdown.js +110 -110
  26. package/Empty.js +3 -3
  27. package/Form.js +984 -945
  28. package/Grid.js +34 -34
  29. package/Icon.js +16 -16
  30. package/IconHover.js +2 -2
  31. package/Image.js +2 -2
  32. package/Input.js +7 -6
  33. package/InputNumber.js +6 -6
  34. package/InputTag.js +1 -1
  35. package/Layout.js +24 -24
  36. package/Link.js +30 -30
  37. package/List.js +95 -95
  38. package/Mentions.js +85 -84
  39. package/Menu.js +2 -2
  40. package/Message.js +7 -6
  41. package/Modal.js +1 -1
  42. package/Notice.js +14 -3
  43. package/Notification.js +9 -7
  44. package/OverflowEllipsis.js +64 -62
  45. package/PageHeader.js +73 -73
  46. package/Pagination.js +1 -1
  47. package/Picker.js +1 -1
  48. package/Popconfirm.js +60 -60
  49. package/Popover.js +31 -31
  50. package/Portal.js +23 -31
  51. package/Progress.js +22 -22
  52. package/Radio.js +2 -2
  53. package/Rate.js +24 -24
  54. package/ResizeBox.js +274 -271
  55. package/Result.js +3 -3
  56. package/Select.js +4 -4
  57. package/SelectView.js +257 -237
  58. package/Skeleton.js +46 -46
  59. package/Slider.js +286 -283
  60. package/Space.js +28 -28
  61. package/SpeechSynthesis.js +62 -55
  62. package/Spin.js +23 -23
  63. package/Statistic.js +80 -80
  64. package/Steps.js +67 -67
  65. package/Switch.js +47 -47
  66. package/Table.js +1463 -1395
  67. package/Tabs.js +5 -5
  68. package/Tag.js +45 -45
  69. package/TimePicker.js +154 -154
  70. package/Timeline.js +2 -2
  71. package/Tooltip.js +80 -79
  72. package/Transfer.js +103 -102
  73. package/Tree.js +3 -2
  74. package/TreeSelect.js +2 -2
  75. package/Trigger.js +699 -772
  76. package/Typography.js +756 -6
  77. package/Upload.js +2 -2
  78. package/VerificationCode.js +1 -1
  79. package/Version.js +1 -1
  80. package/VirtualList.js +1 -1
  81. package/Watermark.js +1 -1
  82. package/chunk/{DIx0qmCq.js → -UuKKT0Z.js} +29 -29
  83. package/chunk/{B8QV6E2b.js → AwZqeapI.js} +5 -5
  84. package/chunk/B5gK1Idp.js +19 -0
  85. package/chunk/B7FlazNB.js +24 -0
  86. package/chunk/{DXZEpA3t.js → BBvWDeuZ.js} +67 -67
  87. package/chunk/BCftTxEy.js +626 -0
  88. package/chunk/{CsbCHnFk.js → BGny4zSb.js} +60 -60
  89. package/chunk/BHF15Dog.js +98 -0
  90. package/chunk/BJQ5UNa-.js +1585 -0
  91. package/chunk/BP9sYyk9.js +8 -0
  92. package/chunk/BUdtVdnv.js +38 -0
  93. package/chunk/BVQlOzTS.js +11 -0
  94. package/chunk/B__a_gb_.js +519 -0
  95. package/chunk/BbEYToV1.js +10 -0
  96. package/chunk/BbdDQAnm.js +15 -0
  97. package/chunk/BdUcgWdu.js +11 -0
  98. package/chunk/BfbXSG70.js +26 -0
  99. package/chunk/BndfNLK4.js +186 -0
  100. package/chunk/BoMCZV6K.js +1098 -0
  101. package/chunk/Br0B6y1T.js +18 -0
  102. package/chunk/BrOW642m.js +130 -0
  103. package/chunk/BxUs8_Cr.js +9 -0
  104. package/chunk/{DK4KcodH.js → C42LIMP9.js} +244 -242
  105. package/chunk/C4YkFMzC.js +778 -0
  106. package/chunk/{CF6p9R93.js → C9Wcraj7.js} +21 -21
  107. package/chunk/{4-gvEY5y.js → CANgSlh3.js} +10 -10
  108. package/chunk/CJ_o9tZM.js +5 -0
  109. package/chunk/{Bqk6yh16.js → CK5m7rLl.js} +36 -36
  110. package/chunk/{CANaGbGR.js → CKNyIitu.js} +57 -56
  111. package/chunk/CLiqJm_T.js +10 -0
  112. package/chunk/{DjtWv6Wn.js → CNmmhbCn.js} +32 -32
  113. package/chunk/{BUCEs557.js → CP0odX99.js} +51 -51
  114. package/chunk/CPT-OZH2.js +14 -0
  115. package/chunk/CVSF8p0O.js +698 -0
  116. package/chunk/C_agcwLN.js +31 -0
  117. package/chunk/{DTjcKyDN.js → C_gJWGGh.js} +201 -201
  118. package/chunk/{CPcm9Cm5.js → CaasmWg_.js} +11 -11
  119. package/chunk/Ce1j9KTi.js +6 -0
  120. package/chunk/{D_-UD4vO.js → Cf5QNhkG.js} +18 -18
  121. package/chunk/CkNSv2U7.js +56 -0
  122. package/chunk/Cp2f70gB.js +9 -0
  123. package/chunk/CpegYjdC.js +16 -0
  124. package/chunk/CucI3KZr.js +20 -0
  125. package/chunk/CwoFBTYz.js +11 -0
  126. package/chunk/D2KPqPhV.js +17 -0
  127. package/chunk/D7NyvE5f.js +17 -0
  128. package/chunk/D8oTPQ2H.js +384 -0
  129. package/chunk/{CLBavO5c.js → DC1iHEiy.js} +87 -87
  130. package/chunk/{Dnycc1qJ.js → DFrfrmfK.js} +120 -119
  131. package/chunk/DGTIZ_0O.js +6 -0
  132. package/chunk/DJfpiZn_.js +25 -0
  133. package/chunk/DKr2_PYd.js +34 -0
  134. package/chunk/DNUz6zgo.js +11 -0
  135. package/chunk/DRtM649q.js +11 -0
  136. package/chunk/DS_mUWn6.js +41 -0
  137. package/chunk/DU6bs_19.js +10 -0
  138. package/chunk/DWdbwz22.js +10 -0
  139. package/chunk/DcveZuqd.js +6 -0
  140. package/chunk/DdVFknul.js +24 -0
  141. package/chunk/DgRfikwe.js +16 -0
  142. package/chunk/{DG-epQqF.js → DkyR2EfG.js} +66 -66
  143. package/chunk/{DUeHQKtx.js → DleQ5HwG.js} +42 -42
  144. package/chunk/DnrZEnQ_.js +27 -0
  145. package/chunk/DsRSHWtX.js +1025 -0
  146. package/chunk/Dz5BdmXo.js +270 -0
  147. package/chunk/EANe01DF.js +1030 -0
  148. package/chunk/{CwhPMMWy.js → Ey4YJCkX.js} +7 -7
  149. package/chunk/GoNx5R4F.js +873 -0
  150. package/chunk/HDUQku8d.js +20 -0
  151. package/chunk/HrAP__Hi.js +25 -0
  152. package/chunk/JPPo5nY_.js +9 -0
  153. package/chunk/{CIlGCedk.js → SLWP34OR.js} +90 -85
  154. package/chunk/VVKtwaGf.js +278 -0
  155. package/chunk/WPNpLxSI.js +16 -0
  156. package/chunk/{DLvMA1OW.js → WpO_DsK4.js} +49 -48
  157. package/chunk/fdU3ang6.js +14 -0
  158. package/chunk/{DqFhzTWC.js → fkclKOAL.js} +298 -292
  159. package/chunk/flvYlqx3.js +22 -0
  160. package/chunk/kTDayEpF.js +288 -0
  161. package/chunk/{DQDkV47j.js → pZoNQ75H.js} +31 -31
  162. package/chunk/qFf1w_Jq.js +8 -0
  163. package/chunk/{CH1UUxsg.js → w-kM1L5W.js} +155 -155
  164. package/hooks/index.js +53 -49
  165. package/hooks/useComputedState.js +2 -10
  166. package/hooks/useCreate.js +2 -7
  167. package/hooks/useForceUpdate.js +2 -7
  168. package/hooks/useId.js +2 -10
  169. package/hooks/useInView.js +2 -30
  170. package/hooks/useIntersectionObserver.js +2 -23
  171. package/hooks/useInterval.js +2 -17
  172. package/hooks/useIsFirstRender.js +2 -9
  173. package/hooks/useIsomorphicLayoutEffect.js +2 -5
  174. package/hooks/useKeyboardEvent.js +2 -16
  175. package/hooks/useMedia.js +2 -15
  176. package/hooks/useMergeProps.js +2 -18
  177. package/hooks/useMergeValue.js +2 -19
  178. package/hooks/useOnlineStatus.js +4 -0
  179. package/hooks/useOverflowHidden.js +2 -25
  180. package/hooks/useOverrideRef.js +2 -13
  181. package/hooks/usePersistCallback.js +2 -13
  182. package/hooks/usePrefersColorSchemeDark.js +4 -0
  183. package/hooks/usePrevious.js +2 -9
  184. package/hooks/useRefs.js +2 -9
  185. package/hooks/useResizeObserver.js +2 -15
  186. package/hooks/useStateCallback.js +2 -15
  187. package/hooks/useStateWithPromise.js +2 -24
  188. package/hooks/useUpdateEffect.js +2 -9
  189. package/hooks/useVerificationCode.js +73 -0
  190. package/hooks/useWatch.js +2 -10
  191. package/hooks/{use-watermark.js → useWatermark.js} +27 -26
  192. package/hooks/useWindowSize.js +2 -20
  193. package/index.js +571 -584
  194. package/locale/en-US.js +4 -2
  195. package/locale/interface.js +1 -4
  196. package/locale/ja-JP.js +3 -1
  197. package/locale/tr-TR.js +1 -1
  198. package/locale/zh-CN.js +3 -1
  199. package/locale/zh-HK.js +3 -1
  200. package/locale/zh-TW.js +3 -1
  201. package/package.json +1 -1
  202. package/style.css +1 -1
  203. package/types/anchor/util.d.ts +1 -1
  204. package/types/button/index.d.ts +2 -2
  205. package/types/color-picker/hooks/useColorPicker.d.ts +2 -2
  206. package/types/form/Control-old.d.ts +56 -0
  207. package/types/form/Control.d.ts +6 -54
  208. package/types/form/FormItem.d.ts +1 -1
  209. package/types/form/store.d.ts +0 -1
  210. package/types/hooks/index.d.ts +2 -0
  211. package/types/hooks/useComputedState.d.ts +1 -4
  212. package/types/hooks/useCreate.d.ts +1 -2
  213. package/types/hooks/useForceUpdate.d.ts +1 -2
  214. package/types/hooks/useId.d.ts +1 -2
  215. package/types/hooks/useInView.d.ts +1 -11
  216. package/types/hooks/useIntersectionObserver.d.ts +1 -7
  217. package/types/hooks/useInterval.d.ts +1 -2
  218. package/types/hooks/useIsFirstRender.d.ts +1 -2
  219. package/types/hooks/useIsomorphicLayoutEffect.d.ts +1 -3
  220. package/types/hooks/useKeyboardEvent.d.ts +1 -8
  221. package/types/hooks/useMedia.d.ts +1 -2
  222. package/types/hooks/useMergeProps.d.ts +1 -5
  223. package/types/hooks/useMergeValue.d.ts +1 -6
  224. package/types/hooks/useOnlineStatus.d.ts +1 -0
  225. package/types/hooks/useOverflowHidden.d.ts +1 -5
  226. package/types/hooks/useOverrideRef.d.ts +1 -6
  227. package/types/hooks/usePersistCallback.d.ts +1 -2
  228. package/types/hooks/usePrefersColorSchemeDark.d.ts +1 -0
  229. package/types/hooks/usePrevious.d.ts +1 -3
  230. package/types/hooks/useRefs.d.ts +1 -2
  231. package/types/hooks/useResizeObserver.d.ts +1 -6
  232. package/types/hooks/useStateCallback.d.ts +1 -5
  233. package/types/hooks/useStateWithPromise.d.ts +1 -2
  234. package/types/hooks/useUpdateEffect.d.ts +1 -3
  235. package/types/hooks/useWatch.d.ts +1 -3
  236. package/types/hooks/useWindowSize.d.ts +1 -5
  237. package/types/image/interface.d.ts +1 -0
  238. package/types/index.d.ts +157 -86
  239. package/types/input/Input.d.ts +1 -1
  240. package/types/input/Textarea.d.ts +2 -2
  241. package/types/locale/en-US.d.ts +2 -0
  242. package/types/locale/interface.d.ts +1 -2
  243. package/types/locale/ja-JP.d.ts +2 -0
  244. package/types/locale/zh-CN.d.ts +2 -0
  245. package/types/locale/zh-HK.d.ts +2 -0
  246. package/types/locale/zh-TW.d.ts +2 -0
  247. package/types/menu/context.d.ts +1 -1
  248. package/types/message/index.d.ts +14 -14
  249. package/types/message/interface.d.ts +2 -0
  250. package/types/modal/config.d.ts +0 -1
  251. package/types/modal/interface.d.ts +0 -1
  252. package/types/notice/index.d.ts +2 -27
  253. package/types/notification/index.d.ts +15 -16
  254. package/types/notification/interface.d.ts +2 -0
  255. package/types/notification/withNotification.d.ts +2 -0
  256. package/types/select/util.d.ts +1 -2
  257. package/types/select-view/interface.d.ts +2 -1
  258. package/types/speech-synthesis/index.d.ts +1 -1
  259. package/types/table/constant.d.ts +2 -0
  260. package/types/table/hook/useThResizable.d.ts +7 -0
  261. package/types/table/index.d.ts +10 -1
  262. package/types/table/style/index.d.ts +1 -0
  263. package/types/table/th-resizable/index.d.ts +2 -0
  264. package/types/table/thead/Column.d.ts +1 -2
  265. package/types/tree/Tree.d.ts +12 -67
  266. package/types/tree-select/Select.d.ts +2 -2
  267. package/types/trigger/index.d.ts +2 -120
  268. package/types/trigger/interface.d.ts +2 -1
  269. package/types/utils/CSSTransition.d.ts +2 -3
  270. package/types/utils/caseName.d.ts +1 -1
  271. package/types/utils/className.d.ts +1 -1
  272. package/types/utils/constant.d.ts +2 -2
  273. package/types/utils/copy.d.ts +1 -1
  274. package/types/utils/dayjs.d.ts +1 -21
  275. package/types/utils/dom.d.ts +1 -6
  276. package/types/utils/fileToURL.d.ts +1 -1
  277. package/types/utils/fillNBSP.d.ts +1 -1
  278. package/types/utils/getHighlightText.d.ts +1 -5
  279. package/types/utils/getHotkeyHandler.d.ts +1 -8
  280. package/types/utils/getStringLength.d.ts +1 -1
  281. package/types/utils/include.d.ts +1 -1
  282. package/types/utils/index.d.ts +3 -4
  283. package/types/utils/is.d.ts +1 -16
  284. package/types/utils/keyboardCode.d.ts +3 -0
  285. package/types/utils/lodash.d.ts +1 -17
  286. package/types/utils/mergeProps.d.ts +1 -1
  287. package/types/utils/mergedToString.d.ts +1 -1
  288. package/types/utils/omit.d.ts +1 -1
  289. package/types/utils/pad.d.ts +1 -2
  290. package/types/utils/pick.d.ts +2 -4
  291. package/types/utils/reactDOM.d.ts +1 -7
  292. package/types/utils/resizeObserverEffect.d.ts +2 -0
  293. package/types/utils/saveAs.d.ts +1 -1
  294. package/types/utils/screenfull.d.ts +2 -0
  295. package/types/utils/scrollIntoView.d.ts +1 -2
  296. package/types/utils/style.d.ts +1 -3
  297. package/types/utils/throttleByRaf.d.ts +1 -5
  298. package/types/utils/throttleByRaf2.d.ts +1 -0
  299. package/types/utils/warning.d.ts +1 -2
  300. package/types/version/index.d.ts +1 -1
  301. package/utils/CSSTransition.js +2 -6
  302. package/utils/className.js +2 -2
  303. package/utils/constant.js +8 -9
  304. package/utils/contextHolder.js +1 -1
  305. package/utils/copy.js +1 -1
  306. package/utils/dayjs.js +14 -173
  307. package/utils/dom.js +33 -29
  308. package/utils/fillNBSP.js +2 -4
  309. package/utils/getHighlightText.js +2 -38
  310. package/utils/getHotkeyHandler.js +2 -25
  311. package/utils/getStringLength.js +2 -7
  312. package/utils/include.js +2 -7
  313. package/utils/index.js +237 -240
  314. package/utils/is.js +116 -156
  315. package/utils/keyboardCode.js +27 -0
  316. package/utils/mergeProps.js +2 -9
  317. package/utils/mergedToString.js +2 -13
  318. package/utils/omit.js +2 -9
  319. package/utils/pad.js +12 -12
  320. package/utils/pick.js +4 -15
  321. package/utils/reactDOM.js +3 -54
  322. package/utils/resizeObserverEffect.js +4 -0
  323. package/utils/saveAs.js +1 -1
  324. package/utils/screenfull.js +4 -0
  325. package/utils/scrollIntoView.js +2 -21
  326. package/utils/style.js +12 -11
  327. package/utils/throttleByRaf.js +13 -12
  328. package/utils/throttleByRaf2.js +5 -0
  329. package/utils/warning.js +5 -4
  330. package/NotificationBase.js +0 -53
  331. package/chunk/1GQdnTJp.js +0 -284
  332. package/chunk/BAWsPQBM.js +0 -11
  333. package/chunk/BS09tn7B.js +0 -638
  334. package/chunk/BqGtwxTi.js +0 -777
  335. package/chunk/BqufsN8i.js +0 -376
  336. package/chunk/BtlvlGQN.js +0 -278
  337. package/chunk/C2lIz2F9.js +0 -60
  338. package/chunk/CGZ0In1p.js +0 -776
  339. package/chunk/CWgltRVL.js +0 -698
  340. package/chunk/D3NFxdmG.js +0 -518
  341. package/chunk/DApXtulb.js +0 -1102
  342. package/chunk/DlLL5JQo.js +0 -1501
  343. package/chunk/Dv_xRzvR.js +0 -269
  344. package/chunk/Ek8U5CTN.js +0 -1032
  345. package/chunk/ewRDIDUz.js +0 -995
  346. package/chunk/l0sNRNKZ.js +0 -1
  347. package/chunk/tYXLFPVI.js +0 -871
  348. package/hooks/use-verification-code.js +0 -73
  349. package/types/notification-base/index.d.ts +0 -15
  350. package/types/notification-base/style/index.d.ts +0 -2
  351. package/types/trigger/Portal.d.ts +0 -7
  352. package/types/utils/keyCode.d.ts +0 -45
  353. package/types/utils/raf.d.ts +0 -3
  354. package/types/utils/throttleByRafV2.d.ts +0 -5
  355. package/utils/keyCode.js +0 -12
  356. package/utils/raf.js +0 -19
  357. package/utils/throttleByRafV2.js +0 -16
  358. /package/style/{variable.less → variables.less} +0 -0
package/chunk/CWgltRVL.js DELETED
@@ -1,698 +0,0 @@
1
- import { jsx as i, jsxs as F, Fragment as we } from "react/jsx-runtime";
2
- import Ae from "@unicom-cloud/icons/IconUiMenuFold";
3
- import Ue from "@unicom-cloud/icons/IconUiMenuUnfold";
4
- import He from "lodash/isPlainObject";
5
- import L, { createContext as Be, useContext as K, forwardRef as X, useRef as J, useEffect as Z, useState as Ce, useMemo as Fe } from "react";
6
- import { d as Ie } from "./DlLL5JQo.js";
7
- import { useForceUpdate as Ve } from "../hooks/useForceUpdate.js";
8
- import { useId as le } from "../hooks/useId.js";
9
- import { useKeyboardEvent as We } from "../hooks/useKeyboardEvent.js";
10
- import { useMergeProps as Ge } from "../hooks/useMergeProps.js";
11
- import { useMergeValue as re } from "../hooks/useMergeValue.js";
12
- import { a as ze } from "./DQDkV47j.js";
13
- import { y as H } from "./BAWsPQBM.js";
14
- import z from "../utils/omit.js";
15
- import { p as je } from "./CANaGbGR.js";
16
- import { useIsFirstRender as qe } from "../hooks/useIsFirstRender.js";
17
- import Qe from "../Tooltip.js";
18
- import { E as ie, a as Ye, b as Je } from "./C2lIz2F9.js";
19
- import { getStyle as ge } from "../utils/style.js";
20
- import ve from "@unicom-cloud/icons/IconUiDown";
21
- import { useStateWithPromise as Xe } from "../hooks/useStateWithPromise.js";
22
- import { P as Ze } from "./CLBavO5c.js";
23
- import en from "../utils/pick.js";
24
- import nn from "@unicom-cloud/icons/IconUiLeft";
25
- import tn from "@unicom-cloud/icons/IconUiRight";
26
- import on from "../Dropdown.js";
27
- const B = Be({});
28
- function ee(l) {
29
- const { prefixCls: o, levelIndent: e } = l, { collapse: s } = K(B), r = l.level - 1;
30
- return !s && r > 0 ? /* @__PURE__ */ i("span", { children: [...new Array(r)].map((n, c) => /* @__PURE__ */ i(
31
- "span",
32
- {
33
- className: `${o}-indent`,
34
- style: { width: e }
35
- },
36
- c
37
- )) }) : null;
38
- }
39
- const Ne = [
40
- "popup",
41
- "triggerProps",
42
- "selectable"
43
- ], Se = (l) => {
44
- let o = [];
45
- return L.Children.forEach(l, (e) => {
46
- var r;
47
- const s = (r = e == null ? void 0 : e.type) == null ? void 0 : r.menuType;
48
- s === "MenuItem" || s === "SubMenu" ? o.push(e) : s === "MenuGroup" && (o = o.concat(
49
- Se(e.props.children)
50
- ));
51
- }), o;
52
- }, ke = (l, o = [], e = {}) => {
53
- const s = Se(l);
54
- return s.forEach((r, n) => {
55
- var p, C;
56
- const c = r.key, u = r.type.menuType, m = [c, ...o], y = {
57
- keyPath: [],
58
- prev: ((p = s[n - 1]) == null ? void 0 : p.key) || null,
59
- next: ((C = s[n + 1]) == null ? void 0 : C.key) || null
60
- };
61
- if (n === 0 || n === s.length - 1) {
62
- const a = m[1], S = n === 0 ? "firstChild" : "lastChild";
63
- a && (e[a] = {
64
- ...e[a],
65
- [S]: c
66
- });
67
- }
68
- switch (u) {
69
- case "SubMenu":
70
- y.keyPath = m, ke(r.props.children, m, e);
71
- break;
72
- case "MenuItem":
73
- y.keyPath = m, y.disabled = r.props.disabled;
74
- break;
75
- }
76
- e[c] = {
77
- ...e[c],
78
- ...y
79
- };
80
- }), e;
81
- }, ne = (l, o) => L.Children.map(l, (e, s) => {
82
- if (!e || !e.props)
83
- return e;
84
- const r = typeof e.type == "string";
85
- if (!(e.type && e.type.menuType) && e.props.children) {
86
- const c = r ? {} : o, u = ne(e.props.children, o);
87
- return L.cloneElement(e, {
88
- ...c,
89
- _key: e.key,
90
- children: u.length === 1 ? u[0] : u
91
- });
92
- }
93
- return r ? e : L.cloneElement(e, {
94
- ...o,
95
- // Properties of the component itself have higher priority
96
- ...e.props,
97
- _key: e.key || `$menu-${s}`
98
- });
99
- });
100
- function xe(l, o) {
101
- let e = !1;
102
- function s(r) {
103
- !r || e || L.Children.forEach(r, (n) => {
104
- if (n && n.props && n.type && !e) {
105
- const c = n.type.menuType, u = n.props.selectable;
106
- (c === "MenuItem" || c === "SubMenu" && u) && (e = o.indexOf(n.key) !== -1), !e && n.props.children && s(n.props.children);
107
- }
108
- });
109
- }
110
- return s(l), e;
111
- }
112
- function rn(l, o) {
113
- const {
114
- _key: e,
115
- children: s,
116
- level: r,
117
- disabled: n,
118
- className: c,
119
- style: u,
120
- wrapper: m = "div",
121
- onClick: y,
122
- renderItemInTooltip: p,
123
- ...C
124
- } = l, {
125
- prefixCls: a,
126
- mode: S,
127
- collapse: E,
128
- inDropdown: t,
129
- levelIndent: f,
130
- selectedKeys: d,
131
- autoScrollIntoView: g,
132
- scrollConfig: b,
133
- tooltipProps: w,
134
- onClickMenuItem: v
135
- } = K(B), h = J(null), x = qe(), P = S === "vertical" && r > 1, O = E && !t && r === 1, $ = d && ~d.indexOf(e);
136
- Z(() => {
137
- const k = $ && g;
138
- h.current && k && setTimeout(
139
- () => {
140
- h.current && je(h.current, {
141
- behavior: "smooth",
142
- block: "start",
143
- scrollMode: "if-needed",
144
- boundary: document.body,
145
- ...b
146
- });
147
- },
148
- x ? 500 : 0
149
- );
150
- }, [$, g]);
151
- const A = (k) => {
152
- n || (v == null || v(e, k), y == null || y(k));
153
- }, I = /* @__PURE__ */ F(
154
- m,
155
- {
156
- tabIndex: n ? -1 : 0,
157
- role: "menuitem",
158
- ref: (k) => {
159
- o = k, h.current = o;
160
- },
161
- style: u,
162
- className: H(
163
- `${a}-item`,
164
- {
165
- [`${a}-disabled`]: n,
166
- [`${a}-selected`]: $,
167
- // 存在缩进dom
168
- [`${a}-item-indented`]: P && !E
169
- },
170
- c
171
- ),
172
- onClick: A,
173
- onKeyDown: (k) => {
174
- k.key === ie.key && A(k);
175
- },
176
- ...z(
177
- C,
178
- ["key", "_key"].concat(Ne)
179
- ),
180
- children: [
181
- P && !E ? /* @__PURE__ */ F(we, { children: [
182
- /* @__PURE__ */ i(
183
- ee,
184
- {
185
- prefixCls: a,
186
- levelIndent: f,
187
- level: r
188
- }
189
- ),
190
- /* @__PURE__ */ i(
191
- "span",
192
- {
193
- className: `${a}-item-inner`,
194
- style: {
195
- display: "block"
196
- },
197
- children: s
198
- }
199
- )
200
- ] }) : s,
201
- $ && S === "horizontal" ? /* @__PURE__ */ i("div", { className: `${a}-selected-label` }) : null
202
- ]
203
- }
204
- );
205
- return O ? /* @__PURE__ */ i(
206
- Qe,
207
- {
208
- trigger: "hover",
209
- position: "right",
210
- content: typeof p == "function" ? p() : /* @__PURE__ */ i("span", { children: s }),
211
- triggerProps: {
212
- className: `${a}-item-tooltip`,
213
- ...(w == null ? void 0 : w.triggerProps) || {}
214
- },
215
- ...z(w, ["triggerProps"]),
216
- children: I
217
- }
218
- ) : I;
219
- }
220
- const sn = X(rn), ce = sn;
221
- ce.displayName = "MenuItem";
222
- ce.menuType = "MenuItem";
223
- function ln(l, o) {
224
- const { children: e, title: s, level: r, className: n, style: c } = l, { prefixCls: u, levelIndent: m } = K(B), y = r === 1 ? r + 1 : r, p = ne(e, {
225
- level: y
226
- });
227
- return /* @__PURE__ */ F(
228
- "div",
229
- {
230
- ref: o,
231
- className: H(`${u}-group`, n),
232
- style: c,
233
- children: [
234
- /* @__PURE__ */ F("div", { className: `${u}-group-title`, children: [
235
- /* @__PURE__ */ i(
236
- ee,
237
- {
238
- level: r,
239
- prefixCls: u,
240
- levelIndent: m
241
- }
242
- ),
243
- /* @__PURE__ */ i("span", { children: s })
244
- ] }),
245
- p
246
- ]
247
- }
248
- );
249
- }
250
- const cn = X(ln), ae = cn;
251
- ae.displayName = "MenuItemGroup";
252
- ae.menuType = "MenuGroup";
253
- const se = { height: 0, visibility: "hidden" }, an = (l) => {
254
- const {
255
- _key: o,
256
- children: e,
257
- style: s,
258
- className: r,
259
- title: n,
260
- level: c,
261
- forwardedRef: u,
262
- selectable: m,
263
- ...y
264
- } = l, {
265
- id: p,
266
- prefixCls: C,
267
- levelIndent: a,
268
- openKeys: S = [],
269
- selectedKeys: E = [],
270
- icons: t,
271
- onClickSubMenu: f,
272
- onClickMenuItem: d
273
- } = K(B), g = `${C}-inline`, b = (S == null ? void 0 : S.indexOf(o)) > -1, w = m && E.indexOf(l._key) > -1 || xe(e, E), [v, h] = Xe(
274
- b ? { height: "auto" } : se
275
- ), x = (I) => {
276
- f(o, c, "inline"), m && d(o, I);
277
- }, P = le(`${p}-submenu-inline-`), O = ne(e, {
278
- ...en(y, Ne),
279
- level: c + 1,
280
- selectable: m
281
- }), $ = /* @__PURE__ */ F(
282
- "div",
283
- {
284
- tabIndex: 0,
285
- "aria-expanded": b,
286
- "aria-controls": P,
287
- className: H(`${g}-header`, {
288
- [`${C}-selected`]: w
289
- }),
290
- onClick: x,
291
- onKeyDown: (I) => {
292
- I.key === ie.key && x(I);
293
- },
294
- children: [
295
- /* @__PURE__ */ i(
296
- ee,
297
- {
298
- level: c,
299
- prefixCls: C,
300
- levelIndent: a
301
- }
302
- ),
303
- /* @__PURE__ */ i("span", { children: n }),
304
- /* @__PURE__ */ i("span", { className: `${C}-icon-suffix ${b ? "is-open" : ""}`, children: t && t.horizontalArrowDown ? t.horizontalArrowDown : /* @__PURE__ */ i(ve, {}) })
305
- ]
306
- }
307
- ), A = /* @__PURE__ */ i(
308
- "div",
309
- {
310
- id: P,
311
- className: H(`${g}-content`),
312
- style: v,
313
- children: O
314
- }
315
- );
316
- return /* @__PURE__ */ F(
317
- "div",
318
- {
319
- ref: u,
320
- className: H(g, r),
321
- style: s,
322
- ...z(y, ["key", "popup", "triggerProps"]),
323
- children: [
324
- $,
325
- /* @__PURE__ */ i(
326
- Ze,
327
- {
328
- in: b,
329
- timeout: 200,
330
- classNames: g,
331
- unmountOnExit: !1,
332
- onEnter: async (I) => {
333
- I && (await h(se), await h({ height: I.scrollHeight }));
334
- },
335
- onEntered: () => {
336
- h({ height: "auto" });
337
- },
338
- onExit: async (I) => {
339
- I && (await h({ height: I.scrollHeight }), await h(se));
340
- },
341
- children: A
342
- }
343
- )
344
- ]
345
- }
346
- );
347
- }, un = (l) => {
348
- const {
349
- _key: o,
350
- children: e,
351
- style: s,
352
- className: r,
353
- title: n,
354
- level: c,
355
- selectable: u,
356
- forwardedRef: m,
357
- triggerProps: y,
358
- ...p
359
- } = l, {
360
- id: C,
361
- prefixCls: a,
362
- mode: S,
363
- inDropdown: E,
364
- levelIndent: t,
365
- selectedKeys: f = [],
366
- icons: d,
367
- triggerProps: g,
368
- onClickSubMenu: b,
369
- onClickMenuItem: w
370
- } = K(B), { rtl: v } = K(Ie), h = { ...g, ...y }, [x, P] = Ce(!1), O = `${a}-pop`, $ = u && f.indexOf(l._key) > -1, A = S === "horizontal" && !E, I = le(`${C}-submenu-pop-`), k = () => {
371
- const _ = d && d.popArrowRight ? d.popArrowRight : v ? /* @__PURE__ */ i(nn, {}) : /* @__PURE__ */ i(tn, {}), N = d && d.horizontalArrowDown ? d.horizontalArrowDown : /* @__PURE__ */ i(ve, {});
372
- return /* @__PURE__ */ i("span", { className: `${a}-icon-suffix`, children: A ? N : _ });
373
- }, V = xe(e, f) || $, G = v ? ["br", "lt"] : ["bl", "rt"], q = (_) => {
374
- b(o, c, "pop"), u && w(o, _);
375
- };
376
- return /* @__PURE__ */ i(
377
- on,
378
- {
379
- trigger: "hover",
380
- popupVisible: x,
381
- onVisibleChange: P,
382
- droplist: /* @__PURE__ */ i(
383
- j,
384
- {
385
- id: I,
386
- selectedKeys: f,
387
- onClickMenuItem: (_, N) => {
388
- w(_, N), P(!1);
389
- },
390
- children: e
391
- }
392
- ),
393
- triggerProps: {
394
- position: A ? G[0] : G[1],
395
- showArrow: !0,
396
- autoAlignPopupMinWidth: !0,
397
- classNames: "fadeIn",
398
- duration: 100,
399
- mouseEnterDelay: 50,
400
- mouseLeaveDelay: 50,
401
- className: H(
402
- `${O}-trigger`,
403
- h.className
404
- ),
405
- ...z(h, ["className"])
406
- },
407
- children: /* @__PURE__ */ F(
408
- "div",
409
- {
410
- tabIndex: 0,
411
- "aria-haspopup": !0,
412
- "aria-expanded": x,
413
- "aria-controls": I,
414
- ref: m,
415
- style: s,
416
- className: H(
417
- O,
418
- `${O}-header`,
419
- {
420
- [`${a}-selected`]: V
421
- },
422
- r
423
- ),
424
- onClick: q,
425
- onKeyDown: (_) => {
426
- const N = _.key;
427
- N === ie.key ? q(_) : N === Ye.key ? P(!1) : N === Je.key && P(!0);
428
- },
429
- ...z(p, ["key", "popup"]),
430
- children: [
431
- /* @__PURE__ */ i(
432
- ee,
433
- {
434
- prefixCls: a,
435
- levelIndent: t,
436
- level: c
437
- }
438
- ),
439
- n,
440
- k(),
441
- V && S === "horizontal" ? /* @__PURE__ */ i("div", { className: `${a}-selected-label` }) : null
442
- ]
443
- }
444
- )
445
- }
446
- );
447
- };
448
- function pn(l, o) {
449
- const { children: e, popup: s, level: r } = l, { mode: n, collapse: c, inDropdown: u, collectInlineMenuKeys: m } = K(B), C = !!(typeof s == "function" ? s(r) : s) || c || u || n !== "vertical" ? un : an;
450
- return Z(() => (m(l._key), () => {
451
- m(l._key, !0);
452
- }), []), /* @__PURE__ */ i(C, { forwardedRef: o, ...l, children: e });
453
- }
454
- const dn = X(pn), te = dn;
455
- te.displayName = "SubMenu";
456
- te.menuType = "SubMenu";
457
- const fn = 5;
458
- function Me(l) {
459
- return l && Math.ceil(+l.getBoundingClientRect().width);
460
- }
461
- function be(l) {
462
- const o = Number(l.replace("px", ""));
463
- return isNaN(o) ? 0 : o;
464
- }
465
- const mn = (l) => {
466
- const { children: o, ellipsisText: e = "···", onEllipsisChange: s } = l, { prefixCls: r } = K(B), n = J(null), [c, u] = Ce(null), m = `${r}-overflow-sub-menu`, y = `${r}-overflow-hidden-menu-item`, p = `${r}-overflow-sub-menu-mirror`, C = (t) => {
467
- if (t !== c) {
468
- const f = L.Children.toArray(o), d = t === null;
469
- s == null || s({
470
- lastVisibleIndex: d ? f.length - 1 : t,
471
- overflowNodes: d ? [] : f.slice(t + 1)
472
- }), u(t);
473
- }
474
- };
475
- function a() {
476
- if (!n.current)
477
- return;
478
- const t = n.current, f = Me(t) - fn, d = [].slice.call(t.children);
479
- let g = 0, b = 0, w = 0;
480
- for (let v = 0; v < d.length; v++) {
481
- const h = d[v], x = h.className.split(" "), P = x.indexOf(m) > -1, O = x.indexOf(p) > -1;
482
- if (P)
483
- continue;
484
- const $ = Me(h) + be(ge(h, "marginLeft")) + be(ge(h, "marginRight"));
485
- if (O) {
486
- w = $;
487
- continue;
488
- }
489
- if (b += $, b > f) {
490
- C(
491
- // 判断如果将最后一个菜单项换为 ... 是否会超出宽度
492
- g - (b - $ + w <= f ? 1 : 2)
493
- );
494
- return;
495
- }
496
- g++;
497
- }
498
- C(null);
499
- }
500
- const S = (t, f = !1) => /* @__PURE__ */ i(
501
- te,
502
- {
503
- title: /* @__PURE__ */ i("span", { children: e }),
504
- className: f ? p : m,
505
- children: t
506
- },
507
- `pqb-menu-overflow-sub-menu${f ? "-mirror" : ""}`
508
- ), E = () => {
509
- let t = null;
510
- const f = S(null, !0), d = L.Children.map(o, (g, b) => {
511
- var v;
512
- let w = g;
513
- if (c !== null && (b > c && (w = L.cloneElement(g, {
514
- className: H(
515
- y,
516
- (v = g == null ? void 0 : g.props) == null ? void 0 : v.className
517
- )
518
- })), b === c + 1)) {
519
- const h = L.Children.toArray(o).slice(c + 1).map(
520
- (x) => L.cloneElement(x, {
521
- key: x.props._key
522
- })
523
- );
524
- t = S(h);
525
- }
526
- return w;
527
- }) ?? [];
528
- return [f, ...d, t];
529
- };
530
- return Z(() => {
531
- let t;
532
- return n.current && (t = new ResizeObserver(a), t.observe(n.current)), () => {
533
- var f, d;
534
- n.current && ((f = t == null ? void 0 : t.unobserve) == null || f.call(t, n.current)), (d = t == null ? void 0 : t.disconnect) == null || d.call(t), t = null;
535
- };
536
- }, [n.current]), /* @__PURE__ */ i("div", { className: `${r}-overflow-wrap`, ref: n, children: E() });
537
- }, hn = "light", yn = {
538
- mode: "vertical",
539
- selectable: !0,
540
- ellipsis: !0
541
- };
542
- function gn(l, o) {
543
- const { getPrefixCls: e, componentConfig: s, rtl: r } = K(Ie), n = Ge(
544
- l,
545
- yn,
546
- s == null ? void 0 : s.Menu
547
- ), {
548
- style: c,
549
- children: u,
550
- className: m,
551
- prefixCls: y,
552
- mode: p,
553
- theme: C,
554
- icons: a,
555
- levelIndent: S,
556
- collapse: E,
557
- inDropdown: t,
558
- selectable: f,
559
- triggerProps: d,
560
- tooltipProps: g,
561
- ellipsis: b,
562
- accordion: w,
563
- autoOpen: v,
564
- autoScrollIntoView: h,
565
- scrollConfig: x,
566
- hasCollapseButton: P,
567
- defaultOpenKeys: O,
568
- defaultSelectedKeys: $,
569
- openKeys: A,
570
- selectedKeys: I,
571
- onClickSubMenu: k,
572
- onClickMenuItem: V,
573
- onCollapseChange: G,
574
- onEllipsisChange: q,
575
- ..._
576
- } = n, [N, ue] = re([], {
577
- defaultValue: O,
578
- value: A
579
- }), [Pe, $e] = re([], {
580
- defaultValue: $,
581
- value: I
582
- }), [Q, Ee] = re(!1, {
583
- value: E
584
- }), Te = K(B), { siderCollapsed: Oe } = K(ze), R = y || e("menu"), Y = Oe || Q || t || p === "popButton", pe = C || Te.theme || hn, W = J([]), de = J([]), _e = Ve(), Re = We(), fe = Fe(() => ke(u), [u]), De = le(`${R}-`), oe = _.id || De;
585
- Z(() => {
586
- let M = N.filter(
587
- (T) => W.current.indexOf(T) !== -1
588
- );
589
- if (v) {
590
- const T = W.current.filter(
591
- (D) => de.current.indexOf(D) === -1
592
- );
593
- M = N.concat(T);
594
- }
595
- ue(w ? M.slice(0, 1) : M), de.current = W.current.slice();
596
- }, [W.current.toString()]);
597
- const me = p !== "horizontal" && p !== "popButton" && !t && P, Ke = () => {
598
- const M = ne(u, { level: 1 }), T = Q ? a && a.collapseActive || /* @__PURE__ */ i(Ue, {}) : a && a.collapseDefault || /* @__PURE__ */ i(Ae, {}), D = () => {
599
- const U = !Q;
600
- Ee(U), G == null || G(U);
601
- };
602
- return /* @__PURE__ */ F(we, { children: [
603
- /* @__PURE__ */ i("div", { className: `${R}-inner`, children: p === "horizontal" && b !== !1 ? /* @__PURE__ */ i(
604
- mn,
605
- {
606
- ellipsisText: He(b) ? b.text : "···",
607
- onEllipsisChange: q,
608
- children: M
609
- }
610
- ) : M }),
611
- me && /* @__PURE__ */ i(
612
- "div",
613
- {
614
- tabIndex: 0,
615
- role: "button",
616
- "aria-controls": oe,
617
- "aria-expanded": !Q,
618
- className: `${R}-collapse-button`,
619
- onClick: D,
620
- ...Re({ onPressEnter: D }),
621
- children: T
622
- }
623
- )
624
- ] });
625
- }, he = { ...c };
626
- return Y && !t && delete he.width, /* @__PURE__ */ i(
627
- "div",
628
- {
629
- id: me ? oe : void 0,
630
- role: "menu",
631
- ...z(_, ["isMenu"]),
632
- ref: o,
633
- style: he,
634
- className: H(
635
- R,
636
- `${R}-${pe}`,
637
- `${R}-${p === "horizontal" ? "horizontal" : "vertical"}`,
638
- {
639
- [`${R}-collapse`]: Y,
640
- // 缩起状态自动变成 pop 模式
641
- [`${R}-pop`]: p === "pop" || Y,
642
- [`${R}-pop-button`]: p === "popButton",
643
- [`${R}-rtl`]: r
644
- },
645
- m
646
- ),
647
- children: /* @__PURE__ */ i(
648
- B.Provider,
649
- {
650
- value: {
651
- mode: p,
652
- theme: pe,
653
- collapse: Y,
654
- levelIndent: S,
655
- inDropdown: t,
656
- selectedKeys: Pe,
657
- openKeys: N,
658
- icons: a,
659
- triggerProps: d,
660
- tooltipProps: g,
661
- autoScrollIntoView: h,
662
- scrollConfig: x,
663
- // pass props directly
664
- id: oe,
665
- prefixCls: R,
666
- collectInlineMenuKeys: (M, T) => {
667
- T ? W.current = W.current.filter(
668
- (D) => D !== M
669
- ) : W.current.push(M), _e();
670
- },
671
- onClickMenuItem: (M, T) => {
672
- var D;
673
- f && $e([M]), V == null || V(M, T, (D = fe[M]) == null ? void 0 : D.keyPath);
674
- },
675
- onClickSubMenu: (M, T, D) => {
676
- var ye;
677
- let U = [...N];
678
- D === "inline" && ((N == null ? void 0 : N.indexOf(M)) > -1 ? w && T === 1 ? U = [] : U = N.filter((Le) => Le !== M) : w && T === 1 ? U = [M] : U = N.concat([M])), ue(U), k == null || k(M, U, (ye = fe[M]) == null ? void 0 : ye.keyPath);
679
- }
680
- },
681
- children: Ke()
682
- }
683
- )
684
- }
685
- );
686
- }
687
- const Mn = X(gn), j = Mn;
688
- j.displayName = "Menu";
689
- j.Item = ce;
690
- j.SubMenu = te;
691
- j.ItemGroup = ae;
692
- j.__PQB_MENU__ = !0;
693
- export {
694
- ce as I,
695
- j as M,
696
- te as S,
697
- ae as a
698
- };