@oceanbase/ui 1.0.0-alpha.19 → 1.0.0-alpha.20

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 (272) hide show
  1. package/dist/ui.min.js +1 -1
  2. package/es/Action/Group.d.ts +1 -2
  3. package/es/Action/Group.js +253 -90
  4. package/es/BackgroundTaskManager/index.d.ts +2 -0
  5. package/es/BackgroundTaskManager/index.js +25 -4
  6. package/es/BasicLayout/index.d.ts +3 -1
  7. package/es/BasicLayout/index.js +62 -24
  8. package/es/BasicLayout/locale/en-US.d.ts +3 -0
  9. package/es/BasicLayout/locale/en-US.js +4 -1
  10. package/es/BasicLayout/locale/ja-JP.d.ts +3 -0
  11. package/es/BasicLayout/locale/ja-JP.js +4 -1
  12. package/es/BasicLayout/locale/zh-CN.d.ts +3 -0
  13. package/es/BasicLayout/locale/zh-CN.js +4 -1
  14. package/es/BasicLayout/locale/zh-TW.d.ts +3 -0
  15. package/es/BasicLayout/locale/zh-TW.js +4 -1
  16. package/es/BasicLayout/style/index.js +10 -2
  17. package/es/BatchOperationBar/index.js +15 -4
  18. package/es/BatchOperationBar/locale/en-US.d.ts +1 -0
  19. package/es/BatchOperationBar/locale/en-US.js +2 -1
  20. package/es/BatchOperationBar/locale/ja-JP.d.ts +1 -0
  21. package/es/BatchOperationBar/locale/ja-JP.js +2 -1
  22. package/es/BatchOperationBar/locale/zh-CN.d.ts +1 -0
  23. package/es/BatchOperationBar/locale/zh-CN.js +2 -1
  24. package/es/BatchOperationBar/locale/zh-TW.d.ts +1 -0
  25. package/es/BatchOperationBar/locale/zh-TW.js +2 -1
  26. package/es/BatchOperationBar/style/index.js +6 -1
  27. package/es/DateRanger/Ranger.js +17 -5
  28. package/es/DateRanger/locale/en-US.d.ts +2 -0
  29. package/es/DateRanger/locale/en-US.js +3 -1
  30. package/es/DateRanger/locale/ja-JP.d.ts +2 -0
  31. package/es/DateRanger/locale/ja-JP.js +3 -1
  32. package/es/DateRanger/locale/zh-CN.d.ts +2 -0
  33. package/es/DateRanger/locale/zh-CN.js +3 -1
  34. package/es/DateRanger/locale/zh-TW.d.ts +2 -0
  35. package/es/DateRanger/locale/zh-TW.js +3 -1
  36. package/es/Dialog/index.d.ts +5 -0
  37. package/es/Dialog/index.js +77 -14
  38. package/es/Dialog/locale/en-US.d.ts +5 -0
  39. package/es/Dialog/locale/en-US.js +6 -1
  40. package/es/Dialog/locale/ja-JP.d.ts +5 -0
  41. package/es/Dialog/locale/ja-JP.js +6 -1
  42. package/es/Dialog/locale/zh-CN.d.ts +5 -0
  43. package/es/Dialog/locale/zh-CN.js +6 -1
  44. package/es/Dialog/locale/zh-TW.d.ts +5 -0
  45. package/es/Dialog/locale/zh-TW.js +6 -1
  46. package/es/Dialog/style/index.js +24 -5
  47. package/es/DocDialog/index.js +4 -2
  48. package/es/DocDialog/locale/en-US.d.ts +3 -1
  49. package/es/DocDialog/locale/en-US.js +3 -1
  50. package/es/DocDialog/locale/ja-JP.d.ts +3 -1
  51. package/es/DocDialog/locale/ja-JP.js +3 -1
  52. package/es/DocDialog/locale/zh-CN.d.ts +3 -1
  53. package/es/DocDialog/locale/zh-CN.js +3 -1
  54. package/es/DocDialog/locale/zh-TW.d.ts +3 -1
  55. package/es/DocDialog/locale/zh-TW.js +3 -1
  56. package/es/FooterToolbar/index.d.ts +7 -4
  57. package/es/FooterToolbar/index.js +27 -11
  58. package/es/FooterToolbar/locale/en-US.d.ts +4 -0
  59. package/es/FooterToolbar/locale/en-US.js +3 -0
  60. package/es/FooterToolbar/locale/ja-JP.d.ts +4 -0
  61. package/es/FooterToolbar/locale/ja-JP.js +3 -0
  62. package/es/FooterToolbar/locale/zh-CN.d.ts +4 -0
  63. package/es/FooterToolbar/locale/zh-CN.js +3 -0
  64. package/es/FooterToolbar/locale/zh-TW.d.ts +4 -0
  65. package/es/FooterToolbar/locale/zh-TW.js +3 -0
  66. package/es/FullscreenBox/index.js +18 -10
  67. package/es/FullscreenBox/locale/en-US.d.ts +4 -1
  68. package/es/FullscreenBox/locale/en-US.js +4 -1
  69. package/es/FullscreenBox/locale/ja-JP.d.ts +4 -1
  70. package/es/FullscreenBox/locale/ja-JP.js +4 -1
  71. package/es/FullscreenBox/locale/zh-CN.d.ts +4 -1
  72. package/es/FullscreenBox/locale/zh-CN.js +4 -1
  73. package/es/FullscreenBox/locale/zh-TW.d.ts +4 -1
  74. package/es/FullscreenBox/locale/zh-TW.js +4 -1
  75. package/es/FullscreenBox/style/index.js +32 -11
  76. package/es/Highlight/index.js +9 -2
  77. package/es/Highlight/locale/en-US.d.ts +2 -0
  78. package/es/Highlight/locale/en-US.js +3 -1
  79. package/es/Highlight/locale/ja-JP.d.ts +2 -0
  80. package/es/Highlight/locale/ja-JP.js +3 -1
  81. package/es/Highlight/locale/zh-CN.d.ts +2 -0
  82. package/es/Highlight/locale/zh-CN.js +3 -1
  83. package/es/Highlight/locale/zh-TW.d.ts +2 -0
  84. package/es/Highlight/locale/zh-TW.js +3 -1
  85. package/es/LightFilter/index.d.ts +6 -2
  86. package/es/LightFilter/index.js +24 -8
  87. package/es/LightFilter/locale/en-US.d.ts +4 -0
  88. package/es/LightFilter/locale/en-US.js +3 -0
  89. package/es/LightFilter/locale/ja-JP.d.ts +4 -0
  90. package/es/LightFilter/locale/ja-JP.js +3 -0
  91. package/es/LightFilter/locale/zh-CN.d.ts +4 -0
  92. package/es/LightFilter/locale/zh-CN.js +3 -0
  93. package/es/LightFilter/locale/zh-TW.d.ts +4 -0
  94. package/es/LightFilter/locale/zh-TW.js +3 -0
  95. package/es/NavMenu/index.d.ts +5 -2
  96. package/es/NavMenu/index.js +13 -3
  97. package/es/NavMenu/locale/en-US.d.ts +4 -0
  98. package/es/NavMenu/locale/en-US.js +3 -0
  99. package/es/NavMenu/locale/ja-JP.d.ts +4 -0
  100. package/es/NavMenu/locale/ja-JP.js +3 -0
  101. package/es/NavMenu/locale/zh-CN.d.ts +4 -0
  102. package/es/NavMenu/locale/zh-CN.js +3 -0
  103. package/es/NavMenu/locale/zh-TW.d.ts +4 -0
  104. package/es/NavMenu/locale/zh-TW.js +3 -0
  105. package/es/Password/Content.d.ts +2 -0
  106. package/es/Password/Content.js +11 -3
  107. package/es/Password/index.d.ts +1 -0
  108. package/es/Password/index.js +14 -9
  109. package/es/Password/locale/en-US.d.ts +1 -0
  110. package/es/Password/locale/en-US.js +2 -1
  111. package/es/Password/locale/ja-JP.d.ts +1 -0
  112. package/es/Password/locale/ja-JP.js +1 -0
  113. package/es/Password/locale/zh-CN.d.ts +1 -0
  114. package/es/Password/locale/zh-CN.js +1 -0
  115. package/es/Password/locale/zh-TW.d.ts +1 -0
  116. package/es/Password/locale/zh-TW.js +2 -1
  117. package/es/SideTip/Dragger.js +2 -1
  118. package/es/SideTip/index.js +28 -7
  119. package/es/SideTip/locale/en-US.d.ts +4 -1
  120. package/es/SideTip/locale/en-US.js +4 -1
  121. package/es/SideTip/locale/ja-JP.d.ts +4 -1
  122. package/es/SideTip/locale/ja-JP.js +4 -1
  123. package/es/SideTip/locale/zh-CN.d.ts +4 -1
  124. package/es/SideTip/locale/zh-CN.js +4 -1
  125. package/es/SideTip/locale/zh-TW.d.ts +4 -1
  126. package/es/SideTip/locale/zh-TW.js +4 -1
  127. package/es/SideTip/style/index.js +10 -1
  128. package/es/TagSelect/Group.js +6 -2
  129. package/es/TagSelect/Item.js +2 -1
  130. package/es/assets/logo/oceanbase_logo.svg +45 -29
  131. package/es/assets/logo/oceanbase_logo_dark.svg +45 -29
  132. package/es/assets/logo/oceanbase_watermark.svg +45 -31
  133. package/es/locale/en-US.js +6 -0
  134. package/es/locale/ja-JP.js +6 -0
  135. package/es/locale/zh-CN.js +6 -0
  136. package/es/locale/zh-TW.js +6 -0
  137. package/lib/Action/Group.d.ts +1 -2
  138. package/lib/Action/Group.js +217 -92
  139. package/lib/BackgroundTaskManager/index.d.ts +2 -0
  140. package/lib/BackgroundTaskManager/index.js +23 -4
  141. package/lib/BasicLayout/index.d.ts +3 -1
  142. package/lib/BasicLayout/index.js +51 -17
  143. package/lib/BasicLayout/locale/en-US.d.ts +3 -0
  144. package/lib/BasicLayout/locale/en-US.js +4 -1
  145. package/lib/BasicLayout/locale/ja-JP.d.ts +3 -0
  146. package/lib/BasicLayout/locale/ja-JP.js +4 -1
  147. package/lib/BasicLayout/locale/zh-CN.d.ts +3 -0
  148. package/lib/BasicLayout/locale/zh-CN.js +4 -1
  149. package/lib/BasicLayout/locale/zh-TW.d.ts +3 -0
  150. package/lib/BasicLayout/locale/zh-TW.js +4 -1
  151. package/lib/BasicLayout/style/index.js +9 -0
  152. package/lib/BatchOperationBar/index.js +15 -4
  153. package/lib/BatchOperationBar/locale/en-US.d.ts +1 -0
  154. package/lib/BatchOperationBar/locale/en-US.js +2 -1
  155. package/lib/BatchOperationBar/locale/ja-JP.d.ts +1 -0
  156. package/lib/BatchOperationBar/locale/ja-JP.js +2 -1
  157. package/lib/BatchOperationBar/locale/zh-CN.d.ts +1 -0
  158. package/lib/BatchOperationBar/locale/zh-CN.js +2 -1
  159. package/lib/BatchOperationBar/locale/zh-TW.d.ts +1 -0
  160. package/lib/BatchOperationBar/locale/zh-TW.js +2 -1
  161. package/lib/BatchOperationBar/style/index.js +6 -1
  162. package/lib/DateRanger/Ranger.js +17 -5
  163. package/lib/DateRanger/locale/en-US.d.ts +2 -0
  164. package/lib/DateRanger/locale/en-US.js +2 -0
  165. package/lib/DateRanger/locale/ja-JP.d.ts +2 -0
  166. package/lib/DateRanger/locale/ja-JP.js +2 -0
  167. package/lib/DateRanger/locale/zh-CN.d.ts +2 -0
  168. package/lib/DateRanger/locale/zh-CN.js +2 -0
  169. package/lib/DateRanger/locale/zh-TW.d.ts +2 -0
  170. package/lib/DateRanger/locale/zh-TW.js +2 -0
  171. package/lib/Dialog/index.d.ts +5 -0
  172. package/lib/Dialog/index.js +71 -13
  173. package/lib/Dialog/locale/en-US.d.ts +5 -0
  174. package/lib/Dialog/locale/en-US.js +6 -1
  175. package/lib/Dialog/locale/ja-JP.d.ts +5 -0
  176. package/lib/Dialog/locale/ja-JP.js +6 -1
  177. package/lib/Dialog/locale/zh-CN.d.ts +5 -0
  178. package/lib/Dialog/locale/zh-CN.js +6 -1
  179. package/lib/Dialog/locale/zh-TW.d.ts +5 -0
  180. package/lib/Dialog/locale/zh-TW.js +6 -1
  181. package/lib/Dialog/style/index.js +23 -3
  182. package/lib/DocDialog/index.js +4 -2
  183. package/lib/DocDialog/locale/en-US.d.ts +3 -1
  184. package/lib/DocDialog/locale/en-US.js +3 -1
  185. package/lib/DocDialog/locale/ja-JP.d.ts +3 -1
  186. package/lib/DocDialog/locale/ja-JP.js +3 -1
  187. package/lib/DocDialog/locale/zh-CN.d.ts +3 -1
  188. package/lib/DocDialog/locale/zh-CN.js +3 -1
  189. package/lib/DocDialog/locale/zh-TW.d.ts +3 -1
  190. package/lib/DocDialog/locale/zh-TW.js +3 -1
  191. package/lib/FooterToolbar/index.d.ts +7 -4
  192. package/lib/FooterToolbar/index.js +27 -11
  193. package/lib/FooterToolbar/locale/en-US.d.ts +4 -0
  194. package/lib/FooterToolbar/locale/en-US.js +9 -0
  195. package/lib/FooterToolbar/locale/ja-JP.d.ts +4 -0
  196. package/lib/FooterToolbar/locale/ja-JP.js +9 -0
  197. package/lib/FooterToolbar/locale/zh-CN.d.ts +4 -0
  198. package/lib/FooterToolbar/locale/zh-CN.js +9 -0
  199. package/lib/FooterToolbar/locale/zh-TW.d.ts +4 -0
  200. package/lib/FooterToolbar/locale/zh-TW.js +9 -0
  201. package/lib/FullscreenBox/index.js +19 -11
  202. package/lib/FullscreenBox/locale/en-US.d.ts +4 -1
  203. package/lib/FullscreenBox/locale/en-US.js +4 -1
  204. package/lib/FullscreenBox/locale/ja-JP.d.ts +4 -1
  205. package/lib/FullscreenBox/locale/ja-JP.js +4 -1
  206. package/lib/FullscreenBox/locale/zh-CN.d.ts +4 -1
  207. package/lib/FullscreenBox/locale/zh-CN.js +4 -1
  208. package/lib/FullscreenBox/locale/zh-TW.d.ts +4 -1
  209. package/lib/FullscreenBox/locale/zh-TW.js +4 -1
  210. package/lib/FullscreenBox/style/index.js +33 -11
  211. package/lib/Highlight/index.js +9 -2
  212. package/lib/Highlight/locale/en-US.d.ts +2 -0
  213. package/lib/Highlight/locale/en-US.js +3 -1
  214. package/lib/Highlight/locale/ja-JP.d.ts +2 -0
  215. package/lib/Highlight/locale/ja-JP.js +3 -1
  216. package/lib/Highlight/locale/zh-CN.d.ts +2 -0
  217. package/lib/Highlight/locale/zh-CN.js +3 -1
  218. package/lib/Highlight/locale/zh-TW.d.ts +2 -0
  219. package/lib/Highlight/locale/zh-TW.js +3 -1
  220. package/lib/LightFilter/index.d.ts +6 -2
  221. package/lib/LightFilter/index.js +25 -8
  222. package/lib/LightFilter/locale/en-US.d.ts +4 -0
  223. package/lib/LightFilter/locale/en-US.js +9 -0
  224. package/lib/LightFilter/locale/ja-JP.d.ts +4 -0
  225. package/lib/LightFilter/locale/ja-JP.js +9 -0
  226. package/lib/LightFilter/locale/zh-CN.d.ts +4 -0
  227. package/lib/LightFilter/locale/zh-CN.js +9 -0
  228. package/lib/LightFilter/locale/zh-TW.d.ts +4 -0
  229. package/lib/LightFilter/locale/zh-TW.js +9 -0
  230. package/lib/NavMenu/index.d.ts +5 -2
  231. package/lib/NavMenu/index.js +12 -3
  232. package/lib/NavMenu/locale/en-US.d.ts +4 -0
  233. package/lib/NavMenu/locale/en-US.js +9 -0
  234. package/lib/NavMenu/locale/ja-JP.d.ts +4 -0
  235. package/lib/NavMenu/locale/ja-JP.js +9 -0
  236. package/lib/NavMenu/locale/zh-CN.d.ts +4 -0
  237. package/lib/NavMenu/locale/zh-CN.js +9 -0
  238. package/lib/NavMenu/locale/zh-TW.d.ts +4 -0
  239. package/lib/NavMenu/locale/zh-TW.js +9 -0
  240. package/lib/Password/Content.d.ts +2 -0
  241. package/lib/Password/Content.js +11 -3
  242. package/lib/Password/index.d.ts +1 -0
  243. package/lib/Password/index.js +13 -5
  244. package/lib/Password/locale/en-US.d.ts +1 -0
  245. package/lib/Password/locale/en-US.js +2 -1
  246. package/lib/Password/locale/ja-JP.d.ts +1 -0
  247. package/lib/Password/locale/ja-JP.js +1 -0
  248. package/lib/Password/locale/zh-CN.d.ts +1 -0
  249. package/lib/Password/locale/zh-CN.js +1 -0
  250. package/lib/Password/locale/zh-TW.d.ts +1 -0
  251. package/lib/Password/locale/zh-TW.js +2 -1
  252. package/lib/SideTip/Dragger.js +1 -1
  253. package/lib/SideTip/index.js +28 -7
  254. package/lib/SideTip/locale/en-US.d.ts +4 -1
  255. package/lib/SideTip/locale/en-US.js +4 -1
  256. package/lib/SideTip/locale/ja-JP.d.ts +4 -1
  257. package/lib/SideTip/locale/ja-JP.js +4 -1
  258. package/lib/SideTip/locale/zh-CN.d.ts +4 -1
  259. package/lib/SideTip/locale/zh-CN.js +4 -1
  260. package/lib/SideTip/locale/zh-TW.d.ts +4 -1
  261. package/lib/SideTip/locale/zh-TW.js +4 -1
  262. package/lib/SideTip/style/index.js +9 -0
  263. package/lib/TagSelect/Group.js +5 -1
  264. package/lib/TagSelect/Item.js +1 -1
  265. package/lib/assets/logo/oceanbase_logo.svg +45 -29
  266. package/lib/assets/logo/oceanbase_logo_dark.svg +45 -29
  267. package/lib/assets/logo/oceanbase_watermark.svg +45 -31
  268. package/lib/locale/en-US.js +24 -18
  269. package/lib/locale/ja-JP.js +24 -18
  270. package/lib/locale/zh-CN.js +25 -19
  271. package/lib/locale/zh-TW.js +21 -15
  272. package/package.json +4 -4
@@ -1,31 +1,45 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 236.65 33.91">
3
- <defs>
4
- <style>
5
- .cls-1 {
6
- fill: #fff;
7
- }
8
- </style>
9
- </defs>
10
- <g>
11
- <path class="cls-1" d="M127.14,6.7l-11.48,21.29h5.71l1.86-3.7h7.65l.6,3.7h5.71l-4.21-21.29h-5.85Zm-1.77,13.38l3.62-7.09,1.2,7.09h-4.81Z"/>
12
- <path class="cls-1" d="M79.45,9.35c-.84-1.02-1.91-1.81-3.22-2.39-1.31-.57-2.79-.86-4.45-.86s-3.26,.29-4.75,.86c-1.49,.58-2.83,1.37-4,2.39-1.18,1.02-2.16,2.21-2.96,3.57-.8,1.36-1.33,2.84-1.6,4.42-.27,1.58-.24,3.05,.09,4.42,.33,1.36,.91,2.55,1.74,3.57,.83,1.02,1.89,1.81,3.19,2.39,1.3,.57,2.78,.86,4.46,.86s3.24-.29,4.74-.86c1.5-.57,2.85-1.37,4.03-2.39,1.19-1.02,2.18-2.21,2.97-3.57,.8-1.37,1.33-2.84,1.6-4.42,.27-1.58,.24-3.05-.09-4.42-.33-1.36-.92-2.55-1.76-3.57m-4.62,10.33c-.43,.72-.96,1.34-1.59,1.86-.63,.53-1.32,.94-2.07,1.23-.75,.29-1.52,.44-2.3,.44s-1.5-.15-2.15-.44c-.65-.29-1.2-.7-1.63-1.23-.44-.53-.75-1.15-.94-1.86-.19-.71-.21-1.5-.06-2.34,.14-.85,.43-1.63,.87-2.34,.43-.71,.96-1.34,1.58-1.86,.62-.53,1.3-.94,2.05-1.23,.75-.29,1.52-.44,2.3-.44s1.5,.15,2.15,.44c.65,.29,1.2,.7,1.65,1.23,.45,.53,.77,1.15,.95,1.86,.19,.72,.21,1.5,.06,2.34-.14,.85-.43,1.63-.86,2.34"/>
13
- <polygon class="cls-1" points="115.59 23.3 104.74 23.3 105.37 19.63 115.86 19.63 116.66 14.94 106.17 14.94 106.78 11.38 117.62 11.38 118.42 6.7 102.22 6.7 98.58 27.98 114.8 27.98 115.59 23.3"/>
14
- <polygon class="cls-1" points="152.92 19.47 146.66 6.7 141.3 6.7 137.66 27.98 143.02 27.98 145.24 15.21 151.5 27.98 156.84 27.98 160.47 6.7 155.14 6.7 152.92 19.47"/>
15
- <path class="cls-1" d="M176.84,21.8c.11-.64,.14-1.24,.09-1.81-.05-.56-.2-1.07-.46-1.52-.26-.45-.63-.83-1.12-1.14-.48-.31-1.1-.54-1.84-.69,.85-.49,1.52-1.09,2.02-1.79,.49-.71,.83-1.6,1.02-2.67,.3-1.77,.04-3.12-.78-4.07-.82-.94-2.18-1.41-4.08-1.41h-8.69l-3.63,21.29h9.32c1.09,0,2.1-.13,3.02-.4,.92-.26,1.73-.66,2.43-1.18,.7-.53,1.28-1.18,1.75-1.95,.47-.77,.79-1.66,.96-2.65m-9.21-10.87h1.69c1.68,0,2.4,.69,2.16,2.06-.23,1.37-1.19,2.06-2.87,2.06h-1.69l.7-4.12Zm2.69,12.22c-.65,.36-1.64,.54-2.99,.54h-1.88l.77-4.52h1.88c1.35,0,2.28,.18,2.81,.54,.52,.36,.72,.93,.58,1.72-.13,.79-.52,1.37-1.17,1.72"/>
16
- <path class="cls-1" d="M208.78,15c-.41-.15-.83-.29-1.25-.42-.42-.13-.8-.29-1.12-.47-.33-.18-.58-.39-.75-.64-.18-.24-.23-.55-.17-.93,.09-.55,.39-.99,.88-1.33,.49-.34,1.09-.51,1.78-.51,.55,0,1.09,.12,1.63,.35,.54,.24,1.06,.6,1.56,1.09l2.87-4.32c-.92-.56-1.92-.99-2.98-1.28-1.06-.29-2.1-.44-3.12-.44-1.09,0-2.11,.17-3.05,.51-.94,.34-1.77,.81-2.49,1.43-.72,.61-1.31,1.35-1.8,2.2-.48,.86-.82,1.81-.99,2.87-.18,1.05-.17,1.92,.03,2.61,.2,.69,.52,1.26,.97,1.71,.44,.45,.97,.81,1.59,1.09,.62,.27,1.25,.52,1.91,.75,.55,.21,1.01,.4,1.39,.56,.38,.17,.68,.35,.9,.55,.22,.2,.37,.41,.44,.65,.07,.24,.08,.51,.02,.83-.09,.53-.38,1-.88,1.41-.5,.41-1.19,.62-2.06,.62-.77,0-1.51-.18-2.23-.54-.72-.36-1.42-.9-2.1-1.64l-3.06,4.46c1.95,1.6,4.23,2.4,6.83,2.4,1.26,0,2.41-.17,3.47-.52,1.05-.35,1.98-.84,2.77-1.47,.79-.63,1.44-1.39,1.95-2.27,.51-.89,.85-1.87,1.04-2.96,.28-1.62,.09-2.93-.54-3.94-.64-1.01-1.78-1.81-3.43-2.41"/>
17
- <path class="cls-1" d="M94.95,6.1c-1.44,0-2.86,.28-4.27,.83-1.41,.56-2.69,1.33-3.85,2.32-1.16,.99-2.16,2.16-2.98,3.53-.83,1.37-1.38,2.87-1.66,4.5-.28,1.64-.24,3.15,.13,4.53,.37,1.38,.96,2.58,1.78,3.59,.82,1.01,1.84,1.79,3.05,2.34,1.21,.56,2.52,.83,3.95,.83,.69,0,1.41-.07,2.14-.21,.74-.14,1.54-.36,2.41-.66l.58-.2,1.12-6.55c-1.62,1.51-3.29,2.26-5.01,2.26-.78,0-1.49-.15-2.11-.45-.62-.3-1.14-.71-1.55-1.24-.41-.53-.7-1.15-.86-1.86-.16-.71-.17-1.5-.02-2.34,.14-.83,.41-1.6,.82-2.32,.4-.71,.9-1.33,1.48-1.85,.58-.52,1.24-.93,1.97-1.23,.74-.3,1.5-.45,2.31-.45,1.82,0,3.22,.78,4.19,2.34l1.13-6.61c-.81-.38-1.6-.65-2.36-.83-.76-.18-1.55-.27-2.37-.27"/>
18
- <path class="cls-1" d="M195.6,23.51c-.87-.17-2.57-.27-5.46,.42l.66,4.13h5.71l-.91-4.55Z"/>
19
- <path class="cls-1" d="M195.36,22.27l-.93-4.69c-1.38,.02-3.11,.23-5.26,.78-.24,.06-.47,.12-.72,.19-1.19,.33-2.29,.55-3.29,.7l3.14-6.17,.67,4.13c2.15-.54,3.88-.75,5.26-.78l-1.93-9.65h-5.85l-11.48,21.29h5.71l2.06-4.05c1.72-.12,3.8-.42,6.17-1.07,.34-.09,.67-.18,.99-.25,2.9-.69,4.59-.59,5.46-.42"/>
20
- <g>
21
- <path class="cls-1" d="M224.04,15.11c-4.25,1.11-7.49,1.01-8.9,.87l-.76,4.58c.4,.03,.87,.06,1.41,.07,2.1,.04,5.17-.15,8.88-1.12,3.52-.92,5.59-.86,6.65-.69l.76-4.59c-1.79-.19-4.38-.07-8.05,.89"/>
22
- <path class="cls-1" d="M225.14,6.88c-4.06,1.06-7.2,1.02-8.7,.89l-1.13,7.02c.99,.09,2.88,.17,5.39-.17l.4-2.45c1.4-.17,2.97-.45,4.68-.9,3.75-.98,5.86-.85,6.85-.65l.76-4.61c-1.79-.22-4.44-.13-8.25,.86"/>
23
- <path class="cls-1" d="M223.02,23.05c-1.34,.35-2.58,.58-3.7,.73l.37-2.25c-1.56,.18-2.91,.22-4,.2-.52,0-.99-.03-1.38-.06l-1.14,6.82c.44,.04,.98,.07,1.61,.08,2.1,.04,5.17-.15,8.88-1.12,3.32-.87,5.35-.87,6.46-.72l.76-4.58c-1.78-.16-4.32-.02-7.85,.9"/>
24
- </g>
25
- </g>
26
- <g>
27
- <path class="cls-1" d="M29.13,32.35c.9-.38,1.81-.73,2.75-1.05,.44-.15,.87-.29,1.31-.42,.35-.11,.7-.21,1.05-.31,5.32-1.48,10.71-1.87,15.92-1.3v-5.43c-5.77-.57-11.72-.08-17.59,1.59-.35,.1-.7,.2-1.05,.31-.46,.14-.93,.29-1.39,.45-.91,.31-1.8,.65-2.67,1l1.68,5.16Z"/>
28
- <path class="cls-1" d="M50.15,6.21V22.49c-5.98-.57-12.15-.04-18.23,1.72-.75,.22-1.49,.45-2.23,.71-.89,.31-1.79,.59-2.69,.86-7.67,2.27-15.45,3.05-23.02,2.51V12c5.91,.57,12,.06,18.01-1.66,.82-.23,1.64-.49,2.45-.77,.82-.28,1.64-.55,2.47-.79,7.74-2.32,15.6-3.12,23.24-2.57Z"/>
29
- <path class="cls-1" d="M25,2.14c-.9,.38-1.81,.73-2.75,1.05-.44,.15-.87,.29-1.31,.42-.35,.11-.7,.21-1.05,.31-5.32,1.48-10.71,1.87-15.92,1.3v5.43c5.77,.57,11.72,.08,17.59-1.59,.35-.1,.7-.2,1.05-.31,.46-.14,.93-.29,1.39-.45,.91-.31,1.8-.65,2.67-1l-1.68-5.16Z"/>
30
- </g>
31
- </svg>
1
+ <svg width="282" height="46" viewBox="0 0 282 46" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_6425_2839)">
3
+ <path d="M72.01 7.84003C63.77 7.84003 57.07 14.54 57.07 22.78C57.07 31.02 63.78 37.72 72.01 37.72C80.24 37.72 86.96 31.02 86.96 22.78C86.96 14.54 80.25 7.84003 72.01 7.84003ZM72.01 33.29C66.28 33.29 61.79 28.67 61.79 22.77C61.79 16.87 66.28 12.26 72.01 12.26C77.74 12.26 82.24 16.78 82.24 22.77C82.24 28.76 77.84 33.29 72.01 33.29Z" fill="white"/>
4
+ <path d="M100.08 19.4401C102.78 19.4401 105.2 21.1101 106.25 23.7001L106.29 23.8001H110.79L110.74 23.5901C109.48 18.6401 105.09 15.1801 100.06 15.1801C93.97 15.1801 89.02 20.2301 89.02 26.4401C89.02 32.6501 93.97 37.7001 100.06 37.7001C105.08 37.7001 109.47 34.2401 110.74 29.2901L110.79 29.0801H106.29L106.25 29.1801C105.19 31.7701 102.77 33.4401 100.08 33.4401C96.38 33.4401 93.37 30.2901 93.37 26.4301C93.37 22.5701 96.38 19.4101 100.08 19.4101V19.4401Z" fill="white"/>
5
+ <path d="M123.83 15.19C117.75 15.19 112.8 20.24 112.8 26.45C112.8 32.66 117.75 37.71 123.83 37.71C128.27 37.71 132.37 34.98 134.02 30.91L134.11 30.69H129.31L129.26 30.76C128.11 32.4 125.99 33.47 123.85 33.47C120.7 33.47 118.01 31.23 117.31 28.01L117.28 27.88H134.49V27.73C134.55 27.31 134.58 26.88 134.58 26.45C134.58 25.66 134.5 24.86 134.35 24.07C133.3 18.84 128.99 15.19 123.83 15.19ZM117.51 24.17L117.56 24.02C118.53 21.29 121.07 19.45 123.85 19.45C126.63 19.45 128.98 21.24 129.89 24.02L129.94 24.17H117.51Z" fill="white"/>
6
+ <path d="M154.31 18.17L154.12 18.01C152.19 16.42 149.87 15.57 147.4 15.57C141.48 15.57 136.67 20.54 136.67 26.65C136.67 32.76 141.48 37.72 147.4 37.72C149.87 37.72 152.2 36.87 154.12 35.28L154.31 35.12V37.49H158.7V16.51H154.31V18.18V18.17ZM147.64 33.55C144 33.55 141.04 30.45 141.04 26.66C141.04 22.87 144 19.75 147.64 19.75C151.28 19.75 154.23 22.85 154.23 26.66C154.23 30.47 151.27 33.55 147.64 33.55Z" fill="white"/>
7
+ <path d="M230.83 18.17L230.64 18.01C228.72 16.42 226.39 15.57 223.91 15.57C218 15.57 213.18 20.54 213.18 26.65C213.18 32.76 218 37.72 223.91 37.72C226.39 37.72 228.71 36.87 230.64 35.28L230.83 35.12V37.3H235.22V16.5H230.83V18.17ZM224.16 33.55C220.52 33.55 217.57 30.45 217.57 26.66C217.57 22.87 220.53 19.75 224.16 19.75C227.79 19.75 230.76 22.85 230.76 26.66C230.76 30.47 227.8 33.55 224.16 33.55Z" fill="white"/>
8
+ <path d="M281.08 24.07C280.03 18.84 275.72 15.19 270.57 15.19C264.48 15.19 259.54 20.24 259.54 26.45C259.54 32.66 264.49 37.71 270.57 37.71C275.01 37.71 279.1 34.98 280.75 30.91L280.84 30.69H276.04L275.99 30.76C274.84 32.4 272.72 33.47 270.59 33.47C267.43 33.47 264.74 31.23 264.05 28.01L264.02 27.87H281.23L281.25 27.72C281.29 27.3 281.32 26.87 281.32 26.44C281.32 25.65 281.24 24.85 281.09 24.06L281.08 24.07ZM264.24 24.17L264.29 24.02C265.27 21.28 267.8 19.44 270.59 19.44C273.38 19.44 275.72 21.24 276.62 24.02L276.67 24.17H264.24Z" fill="white"/>
9
+ <path d="M177.9 16.46C174.47 15.01 169.99 15.88 167.26 18.54L167.06 18.73V16.5H162.49V37.48H167.06V26.64C167.06 22.37 170.2 20.07 173.16 20.07C174.54 20.07 175.81 20.56 176.73 21.46C177.76 22.47 178.31 23.94 178.31 25.72V37.49H182.88V25.08C182.88 20.88 181.11 17.82 177.89 16.46H177.9Z" fill="white"/>
10
+ <path d="M207.21 22.39L207.09 22.33L207.17 22.22C208.34 20.78 208.99 18.95 208.99 17.08C208.99 12.58 205.33 8.91003 200.83 8.91003H186.86V37.48H202.91C206.48 37.48 209.64 35.31 210.77 32.08C212.06 28.42 210.56 24.33 207.2 22.38L207.21 22.39ZM199.88 21.3H191.8V12.96H199.88C202.18 12.96 204.05 14.83 204.05 17.13C204.05 19.43 202.18 21.3 199.88 21.3ZM191.81 25.25H202.21C204.47 25.25 206.3 27.08 206.3 29.34C206.3 31.6 204.47 33.44 202.21 33.44H191.81V25.25Z" fill="white"/>
11
+ <path d="M253.62 25.76C253.06 25.55 252.37 25.33 251.49 25.1C250.71 24.89 249.89 24.7 249.19 24.54L248.7 24.42C248.47 24.37 248.25 24.31 248.04 24.26C247.45 24.12 246.77 23.95 246.22 23.8C244.3 23.27 243.33 22.78 243.33 21.59C243.33 20.25 245.09 19.17 247.26 19.17C249.96 19.17 251.79 20.03 252.69 21.73L252.76 21.87L257.11 19.93L257.02 19.77C255.39 16.8 251.92 15.16 247.26 15.16C241.91 15.16 238.88 18.37 238.75 21.39C238.56 25.66 242.69 26.84 244.45 27.35L244.51 27.37C245.16 27.56 245.93 27.75 246.68 27.93L246.91 27.99C247.21 28.06 247.53 28.14 247.86 28.21L248.24 28.3C249.2 28.51 250.19 28.73 250.9 28.97C252.58 29.53 253.18 30.1 253.18 31.16C253.18 32.87 250.77 33.77 248.39 33.77C243.75 33.77 242.33 31.12 242 30.3L241.94 30.14L237.68 32.11L237.74 32.26C238.46 33.91 240.94 37.74 248.29 37.74C257.67 37.74 257.94 31.77 257.94 31.09C257.94 27.79 254.91 26.27 253.61 25.77L253.62 25.76Z" fill="white"/>
12
+ <path d="M23.77 0.48003V9.97003C23.77 10.23 23.63 10.48 23.41 10.62C16.64 14.83 9.03 17.81 0.89 19.26C0.42 19.34 0 18.98 0 18.51V9.41003C0 9.05003 0.26 8.73003 0.62 8.66003C8.67 7.07003 16.23 4.12003 23.06 0.0700305C23.38 -0.11997 23.78 0.11003 23.78 0.48003H23.77Z" fill="url(#paint0_linear_6425_2839)"/>
13
+ <path d="M47.55 27.5V36.6C47.55 36.96 47.29 37.28 46.93 37.35C38.88 38.94 31.32 41.88 24.49 45.94C24.17 46.13 23.77 45.9 23.77 45.53V36.04C23.77 35.78 23.9 35.53 24.13 35.39C30.9 31.18 38.51 28.2 46.65 26.75C47.12 26.67 47.55 27.03 47.55 27.5Z" fill="url(#paint1_linear_6425_2839)"/>
14
+ <path d="M47.55 8.67003V21.39C47.55 21.76 47.28 22.08 46.91 22.14C26.97 25.38 20.59 37.74 0.77 38.09C0.34 38.09 0 37.75 0 37.33V24.61C0 24.24 0.27 23.92 0.64 23.86C20.58 20.62 26.96 8.26003 46.78 7.91003C47.21 7.91003 47.55 8.25003 47.55 8.67003Z" fill="url(#paint2_linear_6425_2839)"/>
15
+ </g>
16
+ <defs>
17
+ <linearGradient id="paint0_linear_6425_2839" x1="0.43" y1="19.3" x2="39" y2="-13.06" gradientUnits="userSpaceOnUse">
18
+ <stop stop-color="#0096FE"/>
19
+ <stop offset="0.11" stop-color="#0896FE"/>
20
+ <stop offset="0.27" stop-color="#2197FE"/>
21
+ <stop offset="0.48" stop-color="#4999FE"/>
22
+ <stop offset="0.72" stop-color="#809BFE"/>
23
+ <stop offset="0.99" stop-color="#C49FFE"/>
24
+ </linearGradient>
25
+ <linearGradient id="paint1_linear_6425_2839" x1="24.07" y1="46.04" x2="47.11" y2="26.7" gradientUnits="userSpaceOnUse">
26
+ <stop stop-color="#0096FE"/>
27
+ <stop offset="0.11" stop-color="#0896FE"/>
28
+ <stop offset="0.27" stop-color="#2197FE"/>
29
+ <stop offset="0.49" stop-color="#4999FE"/>
30
+ <stop offset="0.73" stop-color="#809BFE"/>
31
+ <stop offset="1" stop-color="#C49FFE"/>
32
+ </linearGradient>
33
+ <linearGradient id="paint2_linear_6425_2839" x1="2.63" y1="40.74" x2="44.92" y2="5.26004" gradientUnits="userSpaceOnUse">
34
+ <stop stop-color="#0096FE"/>
35
+ <stop offset="0.11" stop-color="#0896FE"/>
36
+ <stop offset="0.27" stop-color="#2197FE"/>
37
+ <stop offset="0.49" stop-color="#4999FE"/>
38
+ <stop offset="0.73" stop-color="#809BFE"/>
39
+ <stop offset="1" stop-color="#C49FFE"/>
40
+ </linearGradient>
41
+ <clipPath id="clip0_6425_2839">
42
+ <rect width="281.31" height="46" fill="white"/>
43
+ </clipPath>
44
+ </defs>
45
+ </svg>
@@ -10,7 +10,10 @@ import BatchOperationBar from "../BatchOperationBar/locale/en-US";
10
10
  import Boundary from "../Boundary/locale/en-US";
11
11
  import Dialog from "../Dialog/locale/en-US";
12
12
  import DocDialog from "../DocDialog/locale/en-US";
13
+ import FooterToolbar from "../FooterToolbar/locale/en-US";
13
14
  import FullscreenBox from "../FullscreenBox/locale/en-US";
15
+ import LightFilter from "../LightFilter/locale/en-US";
16
+ import NavMenu from "../NavMenu/locale/en-US";
14
17
  import Highlight from "../Highlight/locale/en-US";
15
18
  import Login from "../Login/locale/en-US";
16
19
  import PageContainer from "../PageContainer/locale/en-US";
@@ -33,6 +36,9 @@ export default _objectSpread(_objectSpread({}, enUS), {}, {
33
36
  DocDialog: DocDialog,
34
37
  Highlight: Highlight,
35
38
  FullscreenBox: FullscreenBox,
39
+ FooterToolbar: FooterToolbar,
40
+ LightFilter: LightFilter,
41
+ NavMenu: NavMenu,
36
42
  BatchOperationBar: BatchOperationBar,
37
43
  DateRanger: DateRanger
38
44
  });
@@ -10,7 +10,10 @@ import BatchOperationBar from "../BatchOperationBar/locale/ja-JP";
10
10
  import Boundary from "../Boundary/locale/ja-JP";
11
11
  import Dialog from "../Dialog/locale/ja-JP";
12
12
  import DocDialog from "../DocDialog/locale/ja-JP";
13
+ import FooterToolbar from "../FooterToolbar/locale/ja-JP";
13
14
  import FullscreenBox from "../FullscreenBox/locale/ja-JP";
15
+ import LightFilter from "../LightFilter/locale/ja-JP";
16
+ import NavMenu from "../NavMenu/locale/ja-JP";
14
17
  import Highlight from "../Highlight/locale/ja-JP";
15
18
  import Login from "../Login/locale/ja-JP";
16
19
  import PageContainer from "../PageContainer/locale/ja-JP";
@@ -33,6 +36,9 @@ export default _objectSpread(_objectSpread({}, jaJP), {}, {
33
36
  DocDialog: DocDialog,
34
37
  Highlight: Highlight,
35
38
  FullscreenBox: FullscreenBox,
39
+ FooterToolbar: FooterToolbar,
40
+ LightFilter: LightFilter,
41
+ NavMenu: NavMenu,
36
42
  BatchOperationBar: BatchOperationBar,
37
43
  DateRanger: DateRanger
38
44
  });
@@ -9,7 +9,10 @@ import BasicLayout from "../BasicLayout/locale/zh-CN";
9
9
  import BatchOperationBar from "../BatchOperationBar/locale/zh-CN";
10
10
  import Dialog from "../Dialog/locale/zh-CN";
11
11
  import DocDialog from "../DocDialog/locale/zh-CN";
12
+ import FooterToolbar from "../FooterToolbar/locale/zh-CN";
12
13
  import FullscreenBox from "../FullscreenBox/locale/zh-CN";
14
+ import LightFilter from "../LightFilter/locale/zh-CN";
15
+ import NavMenu from "../NavMenu/locale/zh-CN";
13
16
  import Highlight from "../Highlight/locale/zh-CN";
14
17
  import Login from "../Login/locale/zh-CN";
15
18
  import PageContainer from "../PageContainer/locale/zh-CN";
@@ -32,6 +35,9 @@ export default _objectSpread(_objectSpread({}, zhCN), {}, {
32
35
  DocDialog: DocDialog,
33
36
  Highlight: Highlight,
34
37
  FullscreenBox: FullscreenBox,
38
+ FooterToolbar: FooterToolbar,
39
+ LightFilter: LightFilter,
40
+ NavMenu: NavMenu,
35
41
  BatchOperationBar: BatchOperationBar,
36
42
  DateRanger: DateRanger
37
43
  });
@@ -9,7 +9,10 @@ import BasicLayout from "../BasicLayout/locale/zh-TW";
9
9
  import BatchOperationBar from "../BatchOperationBar/locale/zh-TW";
10
10
  import Dialog from "../Dialog/locale/zh-TW";
11
11
  import DocDialog from "../DocDialog/locale/zh-TW";
12
+ import FooterToolbar from "../FooterToolbar/locale/zh-TW";
12
13
  import Highlight from "../Highlight/locale/zh-TW";
14
+ import LightFilter from "../LightFilter/locale/zh-TW";
15
+ import NavMenu from "../NavMenu/locale/zh-TW";
13
16
  import Login from "../Login/locale/zh-TW";
14
17
  import PageContainer from "../PageContainer/locale/zh-TW";
15
18
  import { default as Boundary, default as Password } from "../Password/locale/zh-TW";
@@ -28,6 +31,9 @@ export default _objectSpread(_objectSpread({}, zhTW), {}, {
28
31
  Dialog: Dialog,
29
32
  Highlight: Highlight,
30
33
  DocDialog: DocDialog,
34
+ FooterToolbar: FooterToolbar,
35
+ LightFilter: LightFilter,
36
+ NavMenu: NavMenu,
31
37
  BatchOperationBar: BatchOperationBar,
32
38
  DateRanger: DateRanger
33
39
  });
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
2
  import type { ButtonSize } from '@oceanbase/design/es/button';
3
- import type { BaseProps } from './Item';
4
3
  export interface GroupProps {
5
4
  prefixCls?: string;
6
5
  size?: number;
7
6
  dropDownPlacement?: 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
8
- children: React.ReactElement<BaseProps> | React.ReactElement<BaseProps>[];
7
+ children: React.ReactNode;
9
8
  shouldVisible?: (key: string) => boolean;
10
9
  shouldDisabled?: (key: string) => boolean;
11
10
  enableLoading?: boolean;
@@ -35,9 +35,29 @@ const getOrder = ({
35
35
  /**
36
36
  * 判断是否是 Action 组件(Action.Button 或 Action.Link)
37
37
  */
38
+ const getActionDisplayName = element => element.type?.__DISPLAY_NAME;
38
39
  const isActionComponent = element => {
39
- // @ts-ignore
40
- return element.type?.__DISPLAY_NAME === 'button' || element.type?.__DISPLAY_NAME === 'link';
40
+ const name = getActionDisplayName(element);
41
+ return name === 'button' || name === 'link';
42
+ };
43
+
44
+ /** 不向内部查找 Action:与操作列同级的 Modal/Drawer 等应整体忽略 */
45
+ const isOpaqueToActionSearch = element => {
46
+ const t = element.type;
47
+ return t === _design.Modal || t === _design.Drawer;
48
+ };
49
+ const REACT_HOOKS_IN_SOURCE = /\buse(?:State|Effect|Reducer|Ref|Context|Memo|Callback|LayoutEffect|ImperativeHandle|DeferredValue|SyncExternalStore|Insertion|Id)\b/;
50
+
51
+ /**
52
+ * 粗略判断函数组件是否可能使用 Hooks。含 Hooks 的不能在 Group 渲染阶段同步调用,需按「函数子树」整体参与折叠。
53
+ */
54
+ const isLikelyUsingReactHooks = fn => REACT_HOOKS_IN_SOURCE.test(Function.prototype.toString.call(fn));
55
+ const isClassComponent = type => {
56
+ if (typeof type !== 'function') {
57
+ return false;
58
+ }
59
+ const proto = type.prototype;
60
+ return !!(proto && (proto.isReactComponent || proto.render));
41
61
  };
42
62
 
43
63
  /**
@@ -48,6 +68,9 @@ const findActionComponent = (element, depth = 0) => {
48
68
  if (! /*#__PURE__*/_react.default.isValidElement(element)) {
49
69
  return null;
50
70
  }
71
+ if (isOpaqueToActionSearch(element)) {
72
+ return null;
73
+ }
51
74
  if (isActionComponent(element)) {
52
75
  return {
53
76
  action: element,
@@ -59,23 +82,86 @@ const findActionComponent = (element, depth = 0) => {
59
82
  if (depth > 10) {
60
83
  return null;
61
84
  }
62
-
63
- // 如果有 children,递归查找
64
85
  const elementChildren = element.props?.children;
65
- if (elementChildren) {
66
- const child = _react.default.Children.only(elementChildren);
67
- if ( /*#__PURE__*/_react.default.isValidElement(child)) {
68
- const result = findActionComponent(child, depth + 1);
69
- if (result) {
70
- return {
71
- action: result.action,
72
- hasWrapper: true
73
- };
74
- }
86
+ if (elementChildren == null) {
87
+ return null;
88
+ }
89
+ const childArray = _react.default.Children.toArray(elementChildren).filter(_react.default.isValidElement);
90
+ for (const child of childArray) {
91
+ const result = findActionComponent(child, depth + 1);
92
+ if (result) {
93
+ return {
94
+ action: result.action,
95
+ hasWrapper: true
96
+ };
75
97
  }
76
98
  }
77
99
  return null;
78
100
  };
101
+ /**
102
+ * 扁平化 Fragment,过滤 null / false。
103
+ * - Action(及可解析的外包)→ 操作位
104
+ * - 无 Hooks 的函数组件 → 同步求值后递归展开(如 () => <Action.Button />)
105
+ * - 含 Hooks 的函数组件 → 整体占 1 位
106
+ * - Modal / Drawer → 透传挂载,不占折叠位
107
+ */
108
+ const normalizeActionGroupPieces = node => {
109
+ const out = [];
110
+ _react.default.Children.forEach(node, child => {
111
+ if (child == null || typeof child === 'boolean') {
112
+ return;
113
+ }
114
+ if (! /*#__PURE__*/_react.default.isValidElement(child)) {
115
+ return;
116
+ }
117
+ if (child.type === _react.default.Fragment) {
118
+ normalizeActionGroupPieces(child.props.children).forEach(p => out.push(p));
119
+ return;
120
+ }
121
+ if (findActionComponent(child)) {
122
+ out.push({
123
+ kind: 'action',
124
+ el: child
125
+ });
126
+ return;
127
+ }
128
+ if (isOpaqueToActionSearch(child)) {
129
+ out.push({
130
+ kind: 'passthrough',
131
+ el: child
132
+ });
133
+ return;
134
+ }
135
+ const t = child.type;
136
+ if (typeof t === 'function' && !isClassComponent(t)) {
137
+ if (isLikelyUsingReactHooks(t)) {
138
+ out.push({
139
+ kind: 'function-child',
140
+ el: child
141
+ });
142
+ return;
143
+ }
144
+ try {
145
+ const rendered = t(child.props);
146
+ if (rendered == null) {
147
+ return;
148
+ }
149
+ normalizeActionGroupPieces(rendered).forEach(p => out.push(p));
150
+ } catch {
151
+ out.push({
152
+ kind: 'function-child',
153
+ el: child
154
+ });
155
+ }
156
+ return;
157
+ }
158
+ out.push({
159
+ kind: 'function-child',
160
+ el: child
161
+ });
162
+ });
163
+ return out;
164
+ };
79
165
 
80
166
  /**
81
167
  * 递归克隆元素树,将 newProps 应用到最内层的 Action 组件
@@ -146,30 +232,61 @@ var _default = ({
146
232
  const {
147
233
  wrapSSR
148
234
  } = (0, _style.default)(prefixCls);
149
- const visibleActions = Array.isArray(children) ? children.filter(c => {
150
- if ((0, _lodash.isBoolean)(c.props.visible) && shouldVisible) return c.props.visible && shouldVisible(c.key);
151
- if ((0, _lodash.isBoolean)(c.props.visible)) return c.props.visible;else if (shouldVisible) return shouldVisible(c.key);
235
+ const childPieces = normalizeActionGroupPieces(children);
236
+ const passthroughChildren = childPieces.filter(p => p.kind === 'passthrough').map(p => p.el);
237
+ const slotPieces = childPieces.filter(p => p.kind === 'action' || p.kind === 'function-child');
238
+ const visibleSlots = slotPieces.filter(p => {
239
+ if (p.kind === 'function-child') {
240
+ return true;
241
+ }
242
+ const c = p.el;
243
+ const inner = findActionComponent(c)?.action;
244
+ if (!inner) {
245
+ return false;
246
+ }
247
+ const bp = inner.props;
248
+ if ((0, _lodash.isBoolean)(bp.visible) && shouldVisible) {
249
+ return bp.visible && shouldVisible(c.key);
250
+ }
251
+ if ((0, _lodash.isBoolean)(bp.visible)) {
252
+ return bp.visible;
253
+ }
254
+ if (shouldVisible) {
255
+ return shouldVisible(c.key);
256
+ }
152
257
  return true;
153
- }) : [children];
154
- const visibleActionsSort = visibleActions.slice(0);
155
- visibleActionsSort.sort((a, b) => {
156
- const orderA = getOrder(a.props);
157
- const orderB = getOrder(b.props);
158
- return orderB - orderA;
159
258
  });
160
- const fixedSize = visibleActionsSort.filter(action => action.props.type === 'primary' || action.props.fixed).length;
259
+ const visibleSlotsWithOrder = visibleSlots.map((p, sourceIdx) => ({
260
+ piece: p,
261
+ sourceIdx,
262
+ sortOrder: p.kind === 'action' ? getOrder((findActionComponent(p.el)?.action ?? p.el).props) : getOrder({
263
+ type: undefined,
264
+ fixed: false
265
+ })
266
+ }));
267
+ visibleSlotsWithOrder.sort((a, b) => {
268
+ const d = b.sortOrder - a.sortOrder;
269
+ if (d !== 0) {
270
+ return d;
271
+ }
272
+ return a.sourceIdx - b.sourceIdx;
273
+ });
274
+ const visibleOrderedSlots = visibleSlotsWithOrder.map(x => x.piece);
275
+ const fixedSize = visibleOrderedSlots.filter(p => {
276
+ if (p.kind !== 'action') {
277
+ return false;
278
+ }
279
+ const props = (findActionComponent(p.el)?.action ?? p.el).props;
280
+ return props.type === 'primary' || props.fixed;
281
+ }).length;
161
282
  const realSize = (0, _lodash.max)([fixedSize, size]);
162
- const mainActions = visibleActionsSort.slice(0, realSize);
163
- const ellipsisActions = visibleActionsSort.slice(realSize);
283
+ const mainSlots = visibleOrderedSlots.slice(0, realSize);
284
+ const ellipsisSlots = visibleOrderedSlots.slice(realSize);
164
285
  let ellipsisType = 'link';
165
-
166
- // @ts-ignore
167
- if (visibleActionsSort.some(action => action.type.__DISPLAY_NAME === 'button')) {
286
+ if (visibleOrderedSlots.some(p => p.kind === 'action' && getActionDisplayName(findActionComponent(p.el)?.action ?? p.el) === 'button')) {
168
287
  ellipsisType = 'button';
169
288
  }
170
-
171
- // @ts-ignore
172
- if (visibleActionsSort.some(action => action.type.__DISPLAY_NAME === 'link')) {
289
+ if (visibleOrderedSlots.some(p => p.kind === 'action' && getActionDisplayName(findActionComponent(p.el)?.action ?? p.el) === 'link')) {
173
290
  ellipsisType = 'link';
174
291
  }
175
292
  ellipsisType = moreType ?? ellipsisType;
@@ -194,67 +311,75 @@ var _default = ({
194
311
  })
195
312
  });
196
313
  }
197
- return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsxs)(_design.Space, {
198
- size: ellipsisType === 'button' ? 8 : 16,
199
- children: [mainActions.map(action => {
200
- // 查找实际的 Action 组件(可能被 Popconfirm/Tooltip 等包裹)
201
- const actionResult = findActionComponent(action);
202
- const actualAction = actionResult?.action || action;
203
- const actualActionProps = actualAction.props;
204
- const newProps = {
205
- key: action.key,
206
- // size should be covered by action props
207
- size: buttonSize,
208
- enableLoading: enableLoading,
209
- disabled: (0, _lodash.isBoolean)(actualActionProps.disabled) ? actualActionProps.disabled : getDefaultDisabled(action.key)
210
- };
211
-
212
- // 统一使用 cloneWithActionProps,无论是否有包裹都能正确处理
213
- return cloneWithActionProps(action, newProps);
214
- }), ellipsisActions.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Dropdown, {
215
- placement: dropDownPlacement,
216
- overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu, {
217
- className: `${prefixCls}-more-menu`,
218
- children: ellipsisActions.map((action, index) => {
219
- const actionKey = action.key;
220
- // 查找实际的 Action 组件以获取 props
221
- const actionResult = findActionComponent(action);
222
- const actualAction = actionResult?.action || action;
223
- const actionProps = actualAction.props;
224
-
225
- // 当用户传入loading 或者 传入 disabled 的情况都要禁用按钮
226
- const actionDisabled = actionProps.loading || ((0, _lodash.isBoolean)(actionProps.disabled) ? actionProps.disabled : getDefaultDisabled(action.key));
227
-
228
- // 提取需要传递给 Menu.Item 的 props(排除 danger,单独处理)
229
- const menuItemProps = (0, _lodash.omit)(actionProps, ['disabled', 'loading', 'tooltip', 'visible', 'fixed', 'enableLoading', 'onClick', 'children', 'danger']);
230
-
231
- // 处理 onClick:如果 action 被 Popconfirm 包裹,Menu.Item 的 onClick 不应该直接触发 action 的 onClick
232
- // 而是让 Popconfirm 来处理。如果没有 Popconfirm,则正常触发。
233
- const handleMenuItemClick = info => {
234
- // 如果 action 被包裹(可能是 Popconfirm 或其他组件),不直接触发 onClick
235
- // 让包裹组件来处理交互
236
- if (actionResult?.hasWrapper) {
237
- // 包裹组件会处理点击,这里不需要做任何事
238
- // 注意:Menu.Item 的点击会关闭下拉菜单,但 Popconfirm 应该能够正常显示
239
- return;
314
+ return wrapSSR( /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
315
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_design.Space, {
316
+ size: ellipsisType === 'button' ? 8 : 16,
317
+ children: [mainSlots.map((slot, slotIndex) => {
318
+ if (slot.kind === 'function-child') {
319
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
320
+ children: slot.el
321
+ }, slot.el.key ?? `fn-main-${slotIndex}`);
322
+ }
323
+ const action = slot.el;
324
+ const actionResult = findActionComponent(action);
325
+ const actualAction = actionResult?.action || action;
326
+ const actualActionProps = actualAction.props;
327
+ const newProps = {
328
+ key: action.key,
329
+ size: buttonSize,
330
+ enableLoading: enableLoading,
331
+ disabled: (0, _lodash.isBoolean)(actualActionProps.disabled) ? actualActionProps.disabled : getDefaultDisabled(action.key)
332
+ };
333
+ return cloneWithActionProps(action, newProps);
334
+ }), ellipsisSlots.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Dropdown, {
335
+ placement: dropDownPlacement,
336
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu, {
337
+ className: `${prefixCls}-more-menu`,
338
+ children: ellipsisSlots.map((slot, index) => {
339
+ if (slot.kind === 'function-child') {
340
+ const fcKey = slot.el.key ?? `fn-${index}`;
341
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu.Item, {
342
+ className: `${prefixCls}-more-menu-fn`,
343
+ style: {
344
+ height: 'auto',
345
+ lineHeight: 'normal',
346
+ paddingBlock: 4
347
+ },
348
+ children: /*#__PURE__*/_react.default.cloneElement(slot.el, {
349
+ key: fcKey
350
+ })
351
+ }, fcKey);
240
352
  }
241
- // 如果没有包裹,正常触发 onClick
242
- actionProps.onClick?.(info.domEvent);
243
- };
244
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
245
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu.Item, {
246
- // @ts-ignore
247
- onClick: handleMenuItemClick,
248
- disabled: actionDisabled,
249
- danger: !!actionProps.danger,
250
- ...menuItemProps,
251
- children: renderMenuItemContent(action, actionProps, enableLoading)
252
- }, actionKey ?? index.toString()), actionProps.divider && /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu.Divider, {})]
253
- });
254
- })
255
- }),
256
- children: moreDom
257
- })]
353
+ const action = slot.el;
354
+ const actionKey = action.key;
355
+ const actionResult = findActionComponent(action);
356
+ const actualAction = actionResult?.action || action;
357
+ const actionProps = actualAction.props;
358
+ const actionDisabled = actionProps.loading || ((0, _lodash.isBoolean)(actionProps.disabled) ? actionProps.disabled : getDefaultDisabled(action.key));
359
+ const menuItemProps = (0, _lodash.omit)(actionProps, ['disabled', 'loading', 'tooltip', 'visible', 'fixed', 'enableLoading', 'onClick', 'children', 'danger']);
360
+ const handleMenuItemClick = info => {
361
+ if (actionResult?.hasWrapper) {
362
+ return;
363
+ }
364
+ actionProps.onClick?.(info.domEvent);
365
+ };
366
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
367
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu.Item, {
368
+ // @ts-ignore
369
+ onClick: handleMenuItemClick,
370
+ disabled: actionDisabled,
371
+ danger: !!actionProps.danger,
372
+ ...menuItemProps,
373
+ children: renderMenuItemContent(action, actionProps, enableLoading)
374
+ }, actionKey ?? index.toString()), actionProps.divider && /*#__PURE__*/(0, _jsxRuntime.jsx)(_design.Menu.Divider, {})]
375
+ });
376
+ })
377
+ }),
378
+ children: moreDom
379
+ })]
380
+ }), passthroughChildren.map((el, index) => /*#__PURE__*/_react.default.cloneElement(el, {
381
+ key: el.key ?? `action-group-extra-${index}`
382
+ }))]
258
383
  }));
259
384
  };
260
385
  exports.default = _default;
@@ -45,6 +45,8 @@ export interface BackgroundTaskManagerRef {
45
45
  interface IProps {
46
46
  rollingFrequency?: number;
47
47
  prefix: Namespace;
48
+ /** 后台任务队列变化时供读屏器播报的文案模板,`{count}` 为任务数 */
49
+ taskStatusTemplate?: string;
48
50
  }
49
51
  declare const _default: React.ForwardRefExoticComponent<IProps & React.RefAttributes<BackgroundTaskManagerRef>>;
50
52
  export default _default;
@@ -24,10 +24,22 @@ const BackgroundTaskManagerConstants = exports.BackgroundTaskManagerConstants =
24
24
  REFRESH_FREQUENCY: _constants.REFRESH_FREQUENCY,
25
25
  NotificationApi
26
26
  };
27
+ const visuallyHiddenStyle = {
28
+ position: 'absolute',
29
+ width: 1,
30
+ height: 1,
31
+ padding: 0,
32
+ margin: -1,
33
+ overflow: 'hidden',
34
+ clip: 'rect(0, 0, 0, 0)',
35
+ whiteSpace: 'nowrap',
36
+ border: 0
37
+ };
27
38
  var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
28
39
  const {
29
40
  rollingFrequency = _constants.REFRESH_FREQUENCY.EXTREMELY,
30
- prefix
41
+ prefix,
42
+ taskStatusTemplate = '{count} background tasks in progress'
31
43
  } = props;
32
44
  // 任务管理器的任务队列
33
45
  const [queue, setQueue] = (0, _react.useState)({});
@@ -149,10 +161,17 @@ var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)((props, ref
149
161
  window.removeEventListener('beforeunload', onUnload);
150
162
  };
151
163
  }, [queue, preset]);
152
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
153
- children: !!taskQueue.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_RefreshMan.RefreshMan, {
164
+ const statusMessage = taskQueue.length > 0 ? taskStatusTemplate.replace('{count}', String(taskQueue.length)) : '';
165
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
166
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
167
+ role: "status",
168
+ "aria-live": "polite",
169
+ "aria-atomic": "true",
170
+ style: visuallyHiddenStyle,
171
+ children: statusMessage
172
+ }), !!taskQueue.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_RefreshMan.RefreshMan, {
154
173
  run: run,
155
174
  rollingFrequency: rollingFrequency
156
- })
175
+ })]
157
176
  });
158
177
  });
@@ -12,12 +12,14 @@ export interface SiderHeaderProps {
12
12
  badgeProps?: BadgeProps;
13
13
  }
14
14
  export interface MenuItem {
15
- link: string;
15
+ link?: string;
16
16
  title: string;
17
17
  icon?: React.ReactNode;
18
18
  selectedIcon?: React.ReactNode;
19
19
  accessible?: boolean;
20
20
  divider?: boolean;
21
+ /** 与 antd Menu 一致,设为 'group' 时渲染为分组标题,children 为该组下的菜单项 */
22
+ type?: 'group';
21
23
  children?: MenuItem[];
22
24
  }
23
25
  export interface BasicLayoutProps extends LocaleWrapperProps {