niuma-ui 2.0.4 → 2.0.9

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 (279) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/components/_shared/index.d.ts +2 -2
  3. package/dist/components/_shared/src/overlay-utils.d.ts +44 -1
  4. package/dist/components/_shared/src/overlay-utils.js +87 -2
  5. package/dist/components/_shared/src/reka.js +2 -2
  6. package/dist/components/alert/index.d.ts +1 -0
  7. package/dist/components/alert/src/RsAlert.css +120 -65
  8. package/dist/components/alert/src/RsAlert.d.ts +24 -5
  9. package/dist/components/alert/src/RsAlert.impl.js +108 -36
  10. package/dist/components/alert/src/RsAlert.js +1 -1
  11. package/dist/components/alert/src/alert-utils.d.ts +37 -0
  12. package/dist/components/alert/src/alert-utils.js +71 -0
  13. package/dist/components/auto-complete/src/RsAutoComplete.d.ts +1 -1
  14. package/dist/components/button/src/RsButton.impl.js +1 -1
  15. package/dist/components/card/src/RsCard.d.ts +1 -1
  16. package/dist/components/code-block/index.d.ts +1 -0
  17. package/dist/components/code-block/src/RsCodeBlock.css +93 -52
  18. package/dist/components/code-block/src/RsCodeBlock.d.ts +36 -9
  19. package/dist/components/code-block/src/RsCodeBlock.impl.js +203 -84
  20. package/dist/components/code-block/src/RsCodeBlock.js +1 -1
  21. package/dist/components/code-block/src/code-block-highlight.d.ts +4 -0
  22. package/dist/components/code-block/src/code-block-highlight.js +34 -0
  23. package/dist/components/code-block/src/code-block-utils.d.ts +23 -0
  24. package/dist/components/code-block/src/code-block-utils.js +71 -0
  25. package/dist/components/code-editor/index.d.ts +1 -1
  26. package/dist/components/code-editor/src/RsCodeEditor.css +118 -92
  27. package/dist/components/code-editor/src/RsCodeEditor.d.ts +14 -3
  28. package/dist/components/code-editor/src/RsCodeEditor.impl.js +261 -94
  29. package/dist/components/code-editor/src/RsCodeEditor.js +1 -1
  30. package/dist/components/code-editor/src/code-editor-utils.d.ts +15 -0
  31. package/dist/components/code-editor/src/code-editor-utils.js +36 -1
  32. package/dist/components/code-editor/src/code-mirror-completion.d.ts +1 -1
  33. package/dist/components/code-editor/src/code-mirror-completion.js +8 -5
  34. package/dist/components/code-editor/src/code-mirror-diagnostics.d.ts +2 -3
  35. package/dist/components/code-editor/src/code-mirror-diagnostics.js +3 -4
  36. package/dist/components/code-editor/src/code-mirror-ghost.d.ts +1 -1
  37. package/dist/components/code-editor/src/code-mirror-ghost.js +12 -3
  38. package/dist/components/code-editor/src/code-mirror-inline-edit.js +8 -3
  39. package/dist/components/code-editor/src/code-mirror-intel.d.ts +2 -2
  40. package/dist/components/code-editor/src/code-mirror-intel.js +50 -39
  41. package/dist/components/code-editor/src/code-mirror-lang.js +4 -0
  42. package/dist/components/code-editor/src/code-mirror-session.d.ts +13 -0
  43. package/dist/components/code-editor/src/code-mirror-session.js +30 -0
  44. package/dist/components/context-menu/index.d.ts +1 -1
  45. package/dist/components/context-menu/src/RsContextMenu.css +115 -89
  46. package/dist/components/context-menu/src/RsContextMenu.d.ts +32 -11
  47. package/dist/components/context-menu/src/RsContextMenu.impl.js +795 -48
  48. package/dist/components/context-menu/src/RsContextMenuItems.d.ts +25 -1
  49. package/dist/components/context-menu/src/RsContextMenuItems.impl.js +110 -61
  50. package/dist/components/context-menu/src/context-menu-utils.d.ts +89 -3
  51. package/dist/components/context-menu/src/context-menu-utils.js +168 -3
  52. package/dist/components/date-picker/src/RsDatePicker.d.ts +2 -2
  53. package/dist/components/date-picker/src/RsDateTimePicker.d.ts +2 -2
  54. package/dist/components/descriptions/index.d.ts +1 -1
  55. package/dist/components/descriptions/src/RsDescriptions.css +38 -11
  56. package/dist/components/descriptions/src/RsDescriptions.d.ts +20 -4
  57. package/dist/components/descriptions/src/RsDescriptions.impl.js +89 -19
  58. package/dist/components/descriptions/src/RsDescriptionsItem.impl.js +13 -6
  59. package/dist/components/descriptions/src/descriptions-utils.d.ts +19 -0
  60. package/dist/components/descriptions/src/descriptions-utils.js +39 -1
  61. package/dist/components/dialog/index.d.ts +1 -1
  62. package/dist/components/dialog/src/RsConfirmDialog.css +47 -21
  63. package/dist/components/dialog/src/RsConfirmDialog.d.ts +19 -7
  64. package/dist/components/dialog/src/RsConfirmDialog.impl.js +349 -119
  65. package/dist/components/dialog/src/RsConfirmDialog.js +2 -1
  66. package/dist/components/dialog/src/RsDialog.css +102 -109
  67. package/dist/components/dialog/src/RsDialog.d.ts +34 -24
  68. package/dist/components/dialog/src/RsDialog.impl.js +410 -177
  69. package/dist/components/dialog/src/RsDialog.js +2 -1
  70. package/dist/components/dialog/src/dialog-utils.d.ts +40 -1
  71. package/dist/components/dialog/src/dialog-utils.js +152 -1
  72. package/dist/components/dialog/src/dialog-window.js +29 -8
  73. package/dist/components/drawer/index.d.ts +1 -1
  74. package/dist/components/drawer/src/RsDrawer.css +61 -29
  75. package/dist/components/drawer/src/RsDrawer.d.ts +37 -21
  76. package/dist/components/drawer/src/RsDrawer.impl.js +441 -223
  77. package/dist/components/drawer/src/drawer-utils.d.ts +35 -0
  78. package/dist/components/drawer/src/drawer-utils.js +131 -1
  79. package/dist/components/dropdown/index.d.ts +1 -1
  80. package/dist/components/dropdown/src/RsDropdown.css +140 -61
  81. package/dist/components/dropdown/src/RsDropdown.d.ts +39 -6
  82. package/dist/components/dropdown/src/RsDropdown.impl.js +693 -63
  83. package/dist/components/dropdown/src/RsDropdownItemView.impl.js +17 -7
  84. package/dist/components/dropdown/src/RsDropdownItems.d.ts +32 -3
  85. package/dist/components/dropdown/src/RsDropdownItems.impl.js +171 -59
  86. package/dist/components/dropdown/src/dropdown-utils.d.ts +50 -0
  87. package/dist/components/dropdown/src/dropdown-utils.js +103 -3
  88. package/dist/components/empty/index.d.ts +1 -0
  89. package/dist/components/empty/src/RsEmpty.css +105 -23
  90. package/dist/components/empty/src/RsEmpty.d.ts +27 -4
  91. package/dist/components/empty/src/RsEmpty.impl.js +154 -11
  92. package/dist/components/empty/src/RsEmpty.js +2 -1
  93. package/dist/components/empty/src/empty-utils.d.ts +28 -0
  94. package/dist/components/empty/src/empty-utils.js +55 -0
  95. package/dist/components/form/src/RsForm.d.ts +1 -1
  96. package/dist/components/input-number/src/RsInputNumber.d.ts +1 -1
  97. package/dist/components/label/src/RsLabel.d.ts +1 -1
  98. package/dist/components/loading/index.d.ts +1 -0
  99. package/dist/components/loading/src/RsLoading.css +13 -97
  100. package/dist/components/loading/src/RsLoading.d.ts +52 -2
  101. package/dist/components/loading/src/RsLoading.impl.js +216 -33
  102. package/dist/components/loading/src/RsLoading.js +2 -1
  103. package/dist/components/loading/src/loading-status.css +210 -0
  104. package/dist/components/loading/src/loading-status.d.ts +34 -0
  105. package/dist/components/loading/src/loading-status.impl.js +84 -0
  106. package/dist/components/loading/src/loading-status.js +8 -0
  107. package/dist/components/loading/src/loading-utils.d.ts +51 -4
  108. package/dist/components/loading/src/loading-utils.js +122 -0
  109. package/dist/components/loading-bar/index.d.ts +1 -0
  110. package/dist/components/loading-bar/src/RsLoadingBar.css +72 -8
  111. package/dist/components/loading-bar/src/RsLoadingBar.d.ts +55 -11
  112. package/dist/components/loading-bar/src/RsLoadingBar.impl.js +298 -57
  113. package/dist/components/loading-bar/src/RsLoadingBar.js +1 -1
  114. package/dist/components/loading-bar/src/loading-bar-utils.d.ts +69 -0
  115. package/dist/components/loading-bar/src/loading-bar-utils.js +97 -0
  116. package/dist/components/log/src/RsLog.css +52 -144
  117. package/dist/components/log/src/RsLog.d.ts +12 -11
  118. package/dist/components/log/src/RsLog.impl.js +181 -148
  119. package/dist/components/log/src/RsLog.js +1 -1
  120. package/dist/components/log/src/RsLogRow.css +152 -0
  121. package/dist/components/log/src/RsLogRow.d.ts +35 -0
  122. package/dist/components/log/src/RsLogRow.impl.js +91 -0
  123. package/dist/components/log/src/RsLogRow.js +8 -0
  124. package/dist/components/log/src/log-utils.d.ts +8 -0
  125. package/dist/components/log/src/log-utils.js +71 -10
  126. package/dist/components/markdown/index.d.ts +1 -1
  127. package/dist/components/markdown/src/RsMarkdown.css +75 -32
  128. package/dist/components/markdown/src/RsMarkdown.d.ts +6 -2
  129. package/dist/components/markdown/src/RsMarkdown.impl.js +185 -17
  130. package/dist/components/markdown/src/markdown-utils.d.ts +26 -0
  131. package/dist/components/markdown/src/markdown-utils.js +114 -12
  132. package/dist/components/mentions/src/RsMentions.d.ts +2 -2
  133. package/dist/components/menu/index.d.ts +1 -1
  134. package/dist/components/menu/src/RsMenu.css +70 -29
  135. package/dist/components/menu/src/RsMenu.d.ts +58 -4
  136. package/dist/components/menu/src/RsMenu.impl.js +93 -46
  137. package/dist/components/menu/src/RsMenuItems.d.ts +22 -5
  138. package/dist/components/menu/src/RsMenuItems.impl.js +506 -154
  139. package/dist/components/menu/src/menu-utils.d.ts +56 -0
  140. package/dist/components/menu/src/menu-utils.js +139 -6
  141. package/dist/components/monaco-editor/index.d.ts +1 -1
  142. package/dist/components/monaco-editor/src/RsMonacoEditor.css +28 -16
  143. package/dist/components/monaco-editor/src/RsMonacoEditor.d.ts +39 -41
  144. package/dist/components/monaco-editor/src/RsMonacoEditor.impl.js +212 -133
  145. package/dist/components/monaco-editor/src/RsMonacoEditor.js +1 -1
  146. package/dist/components/monaco-editor/src/monaco-editor-utils.d.ts +126 -0
  147. package/dist/components/monaco-editor/src/monaco-editor-utils.js +302 -0
  148. package/dist/components/pagination/index.d.ts +2 -2
  149. package/dist/components/pagination/src/RsPagination.css +93 -46
  150. package/dist/components/pagination/src/RsPagination.d.ts +68 -8
  151. package/dist/components/pagination/src/RsPagination.impl.js +229 -86
  152. package/dist/components/pagination/src/RsPagination.js +1 -1
  153. package/dist/components/pagination/src/pagination-utils.d.ts +59 -0
  154. package/dist/components/pagination/src/pagination-utils.js +105 -1
  155. package/dist/components/popover/index.d.ts +1 -0
  156. package/dist/components/popover/src/RsPopover.css +124 -14
  157. package/dist/components/popover/src/RsPopover.d.ts +38 -7
  158. package/dist/components/popover/src/RsPopover.impl.js +546 -35
  159. package/dist/components/popover/src/RsPopover.js +2 -1
  160. package/dist/components/popover/src/popover-utils.d.ts +24 -2
  161. package/dist/components/popover/src/popover-utils.js +55 -0
  162. package/dist/components/sidebar/index.d.ts +1 -0
  163. package/dist/components/sidebar/src/RsSidebar.css +91 -33
  164. package/dist/components/sidebar/src/RsSidebar.d.ts +17 -9
  165. package/dist/components/sidebar/src/RsSidebar.impl.js +124 -22
  166. package/dist/components/sidebar/src/RsSidebar.js +1 -1
  167. package/dist/components/sidebar/src/RsSidebarGroup.css +23 -6
  168. package/dist/components/sidebar/src/RsSidebarGroup.d.ts +6 -2
  169. package/dist/components/sidebar/src/RsSidebarGroup.impl.js +17 -4
  170. package/dist/components/sidebar/src/RsSidebarGroup.js +1 -1
  171. package/dist/components/sidebar/src/RsSidebarItem.css +50 -20
  172. package/dist/components/sidebar/src/RsSidebarItem.d.ts +21 -3
  173. package/dist/components/sidebar/src/RsSidebarItem.impl.js +71 -20
  174. package/dist/components/sidebar/src/RsSidebarItem.js +1 -1
  175. package/dist/components/sidebar/src/sidebar-utils.d.ts +47 -0
  176. package/dist/components/sidebar/src/sidebar-utils.js +72 -0
  177. package/dist/components/split-pane/index.d.ts +2 -2
  178. package/dist/components/split-pane/src/RsSplitPane.css +41 -30
  179. package/dist/components/split-pane/src/RsSplitPane.d.ts +6 -2
  180. package/dist/components/split-pane/src/RsSplitPane.impl.js +153 -45
  181. package/dist/components/split-pane/src/split-pane-utils.d.ts +23 -0
  182. package/dist/components/split-pane/src/split-pane-utils.js +18 -1
  183. package/dist/components/stat-card/index.d.ts +1 -0
  184. package/dist/components/stat-card/src/RsStatCard.css +129 -25
  185. package/dist/components/stat-card/src/RsStatCard.d.ts +40 -4
  186. package/dist/components/stat-card/src/RsStatCard.impl.js +106 -12
  187. package/dist/components/stat-card/src/RsStatCard.js +1 -1
  188. package/dist/components/stat-card/src/stat-card-utils.d.ts +39 -0
  189. package/dist/components/stat-card/src/stat-card-utils.js +113 -0
  190. package/dist/components/steps/index.d.ts +1 -1
  191. package/dist/components/steps/src/RsSteps.css +158 -37
  192. package/dist/components/steps/src/RsSteps.d.ts +69 -5
  193. package/dist/components/steps/src/RsSteps.impl.js +168 -28
  194. package/dist/components/steps/src/RsSteps.js +1 -1
  195. package/dist/components/steps/src/steps-utils.d.ts +51 -1
  196. package/dist/components/steps/src/steps-utils.js +67 -1
  197. package/dist/components/table/src/RsTable.impl.js +4 -2
  198. package/dist/components/table/src/composables/useRsTableContextMenu.d.ts +16 -0
  199. package/dist/components/table/src/composables/useRsTableContextMenu.js +1 -1
  200. package/dist/components/table/src/composables/useRsTableEngine.js +6 -2
  201. package/dist/components/table/src/composables/useRsTableScrollLayout.js +2 -0
  202. package/dist/components/table/src/composables/useRsTableShell.d.ts +16 -0
  203. package/dist/components/table/src/rs-table-props.d.ts +1 -1
  204. package/dist/components/table/src/rs-table-props.js +0 -1
  205. package/dist/components/table/src/table-body/RsTableBody.impl.js +1 -0
  206. package/dist/components/table/src/table-body/RsTableCellEditor.impl.js +10 -2
  207. package/dist/components/table/src/table-body/RsTableColGroup.impl.js +1 -0
  208. package/dist/components/table/src/table-footer/RsTableSummaryRow.impl.js +1 -0
  209. package/dist/components/table/src/table-header/RsTableHeader.impl.js +1 -0
  210. package/dist/components/table/src/utils/table-utils.d.ts +10 -6
  211. package/dist/components/table/src/utils/table-utils.js +27 -25
  212. package/dist/components/table/style/rs-table.css +34 -20
  213. package/dist/components/tabs/index.d.ts +2 -2
  214. package/dist/components/tabs/src/RsTabs.css +225 -101
  215. package/dist/components/tabs/src/RsTabs.d.ts +37 -8
  216. package/dist/components/tabs/src/RsTabs.impl.js +400 -270
  217. package/dist/components/tabs/src/tabs-utils.d.ts +41 -2
  218. package/dist/components/tabs/src/tabs-utils.js +55 -1
  219. package/dist/components/terminal/index.d.ts +1 -1
  220. package/dist/components/terminal/src/RsTerminal.css +60 -37
  221. package/dist/components/terminal/src/RsTerminal.d.ts +36 -4
  222. package/dist/components/terminal/src/RsTerminal.impl.js +288 -68
  223. package/dist/components/terminal/src/RsTerminal.js +1 -1
  224. package/dist/components/terminal/src/terminal-utils.d.ts +42 -4
  225. package/dist/components/terminal/src/terminal-utils.js +113 -10
  226. package/dist/components/textarea/src/RsTextarea.d.ts +1 -1
  227. package/dist/components/time-picker/src/RsTimePicker.d.ts +2 -2
  228. package/dist/components/toaster/src/RsToaster.css +156 -203
  229. package/dist/components/toaster/src/RsToaster.d.ts +32 -2
  230. package/dist/components/toaster/src/RsToaster.impl.js +309 -34
  231. package/dist/components/toaster/src/toast-store.d.ts +95 -0
  232. package/dist/components/toaster/src/toast-store.js +177 -0
  233. package/dist/components/toaster/src/toast-utils.d.ts +60 -0
  234. package/dist/components/toaster/src/toast-utils.js +86 -0
  235. package/dist/components/toolbar/index.d.ts +1 -1
  236. package/dist/components/toolbar/src/RsToolbar.css +206 -32
  237. package/dist/components/toolbar/src/RsToolbar.d.ts +41 -16
  238. package/dist/components/toolbar/src/RsToolbar.impl.js +146 -18
  239. package/dist/components/toolbar/src/RsToolbar.js +2 -1
  240. package/dist/components/toolbar/src/toolbar-utils.d.ts +20 -0
  241. package/dist/components/toolbar/src/toolbar-utils.js +105 -0
  242. package/dist/components/tooltip/index.d.ts +1 -0
  243. package/dist/components/tooltip/src/RsTooltip.css +104 -26
  244. package/dist/components/tooltip/src/RsTooltip.d.ts +38 -16
  245. package/dist/components/tooltip/src/RsTooltip.impl.js +420 -51
  246. package/dist/components/tooltip/src/RsTooltip.js +2 -1
  247. package/dist/components/tooltip/src/RsTooltipProvider.d.ts +4 -4
  248. package/dist/components/tooltip/src/RsTooltipProvider.impl.js +51 -14
  249. package/dist/components/tooltip/src/tooltip-utils.d.ts +30 -0
  250. package/dist/components/tooltip/src/tooltip-utils.js +23 -0
  251. package/dist/components/tree/index.d.ts +2 -2
  252. package/dist/components/tree/src/RsTree.css +84 -75
  253. package/dist/components/tree/src/RsTree.d.ts +20 -20
  254. package/dist/components/tree/src/RsTree.impl.js +292 -66
  255. package/dist/components/tree/src/RsTree.js +1 -1
  256. package/dist/components/tree/src/tree-utils.d.ts +22 -0
  257. package/dist/components/tree/src/tree-utils.js +18 -4
  258. package/dist/components/tree-select/src/RsTreeSelect.d.ts +1 -1
  259. package/dist/components/virtual-list/index.d.ts +1 -1
  260. package/dist/components/virtual-list/src/RsVirtualList.css +64 -9
  261. package/dist/components/virtual-list/src/RsVirtualList.d.ts +31 -5
  262. package/dist/components/virtual-list/src/RsVirtualList.impl.js +425 -76
  263. package/dist/components/virtual-list/src/RsVirtualList.js +1 -1
  264. package/dist/components/virtual-list/src/virtual-list-utils.d.ts +64 -1
  265. package/dist/components/virtual-list/src/virtual-list-utils.js +215 -1
  266. package/dist/composables/useRsLoadingBar.d.ts +2 -5
  267. package/dist/composables/useRsLoadingBar.js +21 -5
  268. package/dist/composables/useRsTabsNav.d.ts +3 -1
  269. package/dist/composables/useRsTabsNav.js +96 -28
  270. package/dist/composables/useRsToast.d.ts +11 -13
  271. package/dist/composables/useRsToast.js +66 -17
  272. package/dist/index.d.ts +30 -21
  273. package/dist/index.js +14 -0
  274. package/dist/locale/apply.js +6 -1
  275. package/dist/locale/messages.js +128 -2
  276. package/dist/styles.css +460 -797
  277. package/dist/theme/brand.example.css +2 -1
  278. package/dist/vite-plugins/niuma-ui-host.js +1 -1
  279. package/package.json +2 -3
@@ -4,12 +4,30 @@ type __VLS_Props = {
4
4
  active?: boolean;
5
5
  disabled?: boolean;
6
6
  collapsed?: boolean;
7
+ href?: string;
8
+ to?: string;
9
+ target?: '_self' | '_blank' | '_parent' | '_top' | (string & {});
10
+ rel?: string;
11
+ badge?: string | number;
12
+ };
13
+ declare var __VLS_15: {
14
+ collapsed: boolean;
15
+ badge: string | number | undefined;
16
+ }, __VLS_17: {
17
+ collapsed: boolean;
7
18
  };
8
- declare var __VLS_6: {};
9
19
  type __VLS_Slots = {} & {
10
- default?: (props: typeof __VLS_6) => any;
20
+ badge?: (props: typeof __VLS_15) => any;
21
+ } & {
22
+ default?: (props: typeof __VLS_17) => any;
11
23
  };
12
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ click: (event: MouseEvent) => any;
26
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
27
+ onClick?: ((event: MouseEvent) => any) | undefined;
28
+ }>, {
29
+ collapsed: boolean;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
31
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
32
  declare const _default: typeof __VLS_export;
15
33
  export default _default;
@@ -1,39 +1,90 @@
1
1
  import RsIcon_default from "../../icon/src/RsIcon.js";
2
- import { createBlock, createCommentVNode, createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString } from "vue";
2
+ import { RS_SIDEBAR_KEY, hasRsSidebarBadge, mergeRsSidebarLinkRel, resolveRsSidebarCollapsed, resolveRsSidebarItemHref, resolveRsSidebarItemTag } from "./sidebar-utils.js";
3
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, defineComponent, inject, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, withCtx } from "vue";
3
4
  //#region src/components/sidebar/src/RsSidebarItem.vue?vue&type=script&setup=true&lang.ts
4
- var _hoisted_1 = ["disabled", "title"];
5
- var _hoisted_2 = {
5
+ var _hoisted_1 = {
6
6
  key: 1,
7
7
  class: "rs-sidebar-item__label"
8
8
  };
9
9
  var RsSidebarItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
10
+ name: "RsSidebarItem",
10
11
  __name: "RsSidebarItem",
11
12
  props: {
12
13
  label: {},
13
14
  icon: {},
14
15
  active: { type: Boolean },
15
16
  disabled: { type: Boolean },
16
- collapsed: { type: Boolean }
17
+ collapsed: {
18
+ type: Boolean,
19
+ default: void 0
20
+ },
21
+ href: {},
22
+ to: {},
23
+ target: {},
24
+ rel: {},
25
+ badge: {}
17
26
  },
18
- setup(__props) {
27
+ emits: ["click"],
28
+ setup(__props, { emit: __emit }) {
29
+ const props = __props;
30
+ const emit = __emit;
31
+ const ctx = inject(RS_SIDEBAR_KEY, null);
32
+ const isCollapsed = computed(() => resolveRsSidebarCollapsed(props.collapsed, ctx?.collapsed.value));
33
+ const orientation = computed(() => ctx?.orientation.value ?? "vertical");
34
+ const itemHref = computed(() => resolveRsSidebarItemHref(props.href, props.to));
35
+ const itemTag = computed(() => resolveRsSidebarItemTag(itemHref.value));
36
+ const itemRel = computed(() => mergeRsSidebarLinkRel(props.rel, props.target));
37
+ const showBadge = computed(() => hasRsSidebarBadge(props.badge));
38
+ const tooltip = computed(() => isCollapsed.value ? props.label : void 0);
39
+ function onClick(event) {
40
+ emit("click", event);
41
+ if (props.disabled) event.preventDefault();
42
+ }
19
43
  return (_ctx, _cache) => {
20
- return openBlock(), createElementBlock("button", {
21
- type: "button",
22
- class: normalizeClass(["rs-sidebar-item", {
44
+ return openBlock(), createBlock(resolveDynamicComponent(itemTag.value), {
45
+ class: normalizeClass(["rs-sidebar-item rs-motion-reduce", {
23
46
  "rs-sidebar-item--active": __props.active,
24
- "rs-sidebar-item--collapsed": __props.collapsed
47
+ "rs-sidebar-item--collapsed": isCollapsed.value,
48
+ [`rs-sidebar-item--${orientation.value}`]: true
25
49
  }]),
26
- disabled: __props.disabled,
27
- title: __props.collapsed ? __props.label : void 0
28
- }, [
29
- __props.icon ? (openBlock(), createBlock(RsIcon_default, {
30
- key: 0,
31
- name: __props.icon,
32
- class: "rs-sidebar-item__icon"
33
- }, null, 8, ["name"])) : createCommentVNode("", true),
34
- !__props.collapsed ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
35
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
36
- ], 10, _hoisted_1);
50
+ href: itemTag.value === "a" ? itemHref.value : void 0,
51
+ target: itemTag.value === "a" ? __props.target : void 0,
52
+ rel: itemTag.value === "a" ? itemRel.value : void 0,
53
+ type: itemTag.value === "button" ? "button" : void 0,
54
+ disabled: itemTag.value === "button" ? __props.disabled : void 0,
55
+ "aria-disabled": itemTag.value === "a" && __props.disabled ? "true" : void 0,
56
+ "aria-current": __props.active ? "page" : void 0,
57
+ title: tooltip.value,
58
+ onClick
59
+ }, {
60
+ default: withCtx(() => [
61
+ __props.icon ? (openBlock(), createBlock(RsIcon_default, {
62
+ key: 0,
63
+ name: __props.icon,
64
+ class: "rs-sidebar-item__icon"
65
+ }, null, 8, ["name"])) : createCommentVNode("", true),
66
+ !isCollapsed.value ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
67
+ showBadge.value ? (openBlock(), createElementBlock("span", {
68
+ key: 2,
69
+ class: normalizeClass(["rs-sidebar-item__badge", { "rs-sidebar-item__badge--dot": isCollapsed.value }])
70
+ }, [renderSlot(_ctx.$slots, "badge", {
71
+ collapsed: isCollapsed.value,
72
+ badge: __props.badge
73
+ }, () => [!isCollapsed.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(__props.badge), 1)], 64)) : createCommentVNode("", true)], true)], 2)) : createCommentVNode("", true),
74
+ renderSlot(_ctx.$slots, "default", { collapsed: isCollapsed.value }, void 0, true)
75
+ ]),
76
+ _: 3
77
+ }, 8, [
78
+ "class",
79
+ "href",
80
+ "target",
81
+ "rel",
82
+ "type",
83
+ "disabled",
84
+ "aria-disabled",
85
+ "aria-current",
86
+ "title"
87
+ ]);
37
88
  };
38
89
  }
39
90
  });
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
3
3
  import RsSidebarItem_vue_vue_type_script_setup_true_lang_default from "./RsSidebarItem.impl.js";
4
4
 
5
5
  //#region src/components/sidebar/src/RsSidebarItem.vue
6
- var RsSidebarItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsSidebarItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0c539439"]]);
6
+ var RsSidebarItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsSidebarItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b40cbb52"]]);
7
7
  //#endregion
8
8
  export { RsSidebarItem_default as default };
@@ -0,0 +1,47 @@
1
+ import type { ComputedRef, InjectionKey } from 'vue';
2
+ export declare const RS_SIDEBAR_ORIENTATIONS: readonly ["vertical", "horizontal"];
3
+ export declare const RS_SIDEBAR_PLACEMENTS: readonly ["left", "right"];
4
+ export declare const RS_SIDEBAR_WIDTHS: readonly ["sm", "md", "lg"];
5
+ export type RsSidebarOrientation = (typeof RS_SIDEBAR_ORIENTATIONS)[number];
6
+ export type RsSidebarPlacement = (typeof RS_SIDEBAR_PLACEMENTS)[number];
7
+ export type RsSidebarWidth = (typeof RS_SIDEBAR_WIDTHS)[number];
8
+ export interface RsSidebarExpose {
9
+ expand: () => void;
10
+ collapse: () => void;
11
+ toggle: () => void;
12
+ focus: () => void;
13
+ }
14
+ export type RsSidebarInstance = RsSidebarExpose & {
15
+ $el: HTMLElement;
16
+ };
17
+ export interface RsSidebarContext {
18
+ collapsed: ComputedRef<boolean>;
19
+ orientation: ComputedRef<RsSidebarOrientation>;
20
+ placement: ComputedRef<RsSidebarPlacement>;
21
+ }
22
+ export declare const RS_SIDEBAR_KEY: InjectionKey<RsSidebarContext>;
23
+ export interface RsSidebarHotkeyLike {
24
+ key: string;
25
+ altKey: boolean;
26
+ shiftKey: boolean;
27
+ ctrlKey: boolean;
28
+ metaKey: boolean;
29
+ }
30
+ export declare function isRsSidebarOrientation(value: unknown): value is RsSidebarOrientation;
31
+ export declare function isRsSidebarPlacement(value: unknown): value is RsSidebarPlacement;
32
+ export declare function isRsSidebarWidth(value: unknown): value is RsSidebarWidth;
33
+ export declare function resolveRsSidebarOrientation(orientation?: RsSidebarOrientation | null): RsSidebarOrientation;
34
+ export declare function resolveRsSidebarPlacement(placement?: RsSidebarPlacement | null): RsSidebarPlacement;
35
+ export declare function resolveRsSidebarWidth(width?: RsSidebarWidth | null): RsSidebarWidth;
36
+ /** 显式 collapsed 优先;未传(undefined)才跟 Sidebar 注入。 */
37
+ export declare function resolveRsSidebarCollapsed(explicit?: boolean | null, inherited?: boolean | null): boolean;
38
+ /** href 优先;没有 href 时用 to,保证只传 to 的项仍是带地址的 a。 */
39
+ export declare function resolveRsSidebarItemHref(href?: string, to?: string): string | undefined;
40
+ export declare function resolveRsSidebarItemTag(href?: string): 'a' | 'button';
41
+ /** `_blank` 时补 noopener / noreferrer,并保留调用方已有 rel。 */
42
+ export declare function mergeRsSidebarLinkRel(rel: string | undefined, target: string | undefined): string | undefined;
43
+ export declare function resolveRsSidebarCollapseIcon(orientation: RsSidebarOrientation, placement: RsSidebarPlacement, collapsed: boolean): string;
44
+ /** hotkey 取最后一段字母;修饰键固定为 Ctrl 或 Meta,忽略输入框。 */
45
+ export declare function matchesRsSidebarHotkey(event: RsSidebarHotkeyLike, hotkey: string): boolean;
46
+ export declare function isRsSidebarTypingTarget(target: EventTarget | null): boolean;
47
+ export declare function hasRsSidebarBadge(badge: string | number | undefined | null): boolean;
@@ -0,0 +1,72 @@
1
+ //#region src/components/sidebar/src/sidebar-utils.ts
2
+ var RS_SIDEBAR_ORIENTATIONS = ["vertical", "horizontal"];
3
+ var RS_SIDEBAR_PLACEMENTS = ["left", "right"];
4
+ var RS_SIDEBAR_WIDTHS = [
5
+ "sm",
6
+ "md",
7
+ "lg"
8
+ ];
9
+ var RS_SIDEBAR_KEY = Symbol("rs-sidebar");
10
+ function isRsSidebarOrientation(value) {
11
+ return typeof value === "string" && RS_SIDEBAR_ORIENTATIONS.includes(value);
12
+ }
13
+ function isRsSidebarPlacement(value) {
14
+ return typeof value === "string" && RS_SIDEBAR_PLACEMENTS.includes(value);
15
+ }
16
+ function isRsSidebarWidth(value) {
17
+ return typeof value === "string" && RS_SIDEBAR_WIDTHS.includes(value);
18
+ }
19
+ function resolveRsSidebarOrientation(orientation) {
20
+ return isRsSidebarOrientation(orientation) ? orientation : "vertical";
21
+ }
22
+ function resolveRsSidebarPlacement(placement) {
23
+ return isRsSidebarPlacement(placement) ? placement : "left";
24
+ }
25
+ function resolveRsSidebarWidth(width) {
26
+ return isRsSidebarWidth(width) ? width : "md";
27
+ }
28
+ /** 显式 collapsed 优先;未传(undefined)才跟 Sidebar 注入。 */
29
+ function resolveRsSidebarCollapsed(explicit, inherited) {
30
+ return explicit ?? Boolean(inherited);
31
+ }
32
+ /** href 优先;没有 href 时用 to,保证只传 to 的项仍是带地址的 a。 */
33
+ function resolveRsSidebarItemHref(href, to) {
34
+ if (href) return href;
35
+ if (to) return to;
36
+ }
37
+ function resolveRsSidebarItemTag(href) {
38
+ return href ? "a" : "button";
39
+ }
40
+ /** `_blank` 时补 noopener / noreferrer,并保留调用方已有 rel。 */
41
+ function mergeRsSidebarLinkRel(rel, target) {
42
+ const parts = (rel ?? "").split(/\s+/).map((item) => item.trim()).filter(Boolean);
43
+ if (target === "_blank") {
44
+ if (!parts.includes("noopener")) parts.push("noopener");
45
+ if (!parts.includes("noreferrer")) parts.push("noreferrer");
46
+ }
47
+ return parts.length > 0 ? parts.join(" ") : void 0;
48
+ }
49
+ function resolveRsSidebarCollapseIcon(orientation, placement, collapsed) {
50
+ if (orientation === "horizontal") return collapsed ? "chevron-down" : "chevron-up";
51
+ if (placement === "right") return collapsed ? "chevron-left" : "chevron-right";
52
+ return collapsed ? "chevron-right" : "chevron-left";
53
+ }
54
+ /** hotkey 取最后一段字母;修饰键固定为 Ctrl 或 Meta,忽略输入框。 */
55
+ function matchesRsSidebarHotkey(event, hotkey) {
56
+ const key = hotkey.trim().split("+").pop()?.toLowerCase();
57
+ if (!key) return false;
58
+ if (event.key.toLowerCase() !== key) return false;
59
+ if (event.altKey || event.shiftKey) return false;
60
+ return event.ctrlKey || event.metaKey;
61
+ }
62
+ function isRsSidebarTypingTarget(target) {
63
+ if (typeof HTMLElement === "undefined" || !(target instanceof HTMLElement)) return false;
64
+ const tag = target.tagName;
65
+ return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT" || target.isContentEditable === true;
66
+ }
67
+ function hasRsSidebarBadge(badge) {
68
+ if (badge == null || badge === "") return false;
69
+ return badge !== 0;
70
+ }
71
+ //#endregion
72
+ export { RS_SIDEBAR_KEY, RS_SIDEBAR_ORIENTATIONS, RS_SIDEBAR_PLACEMENTS, RS_SIDEBAR_WIDTHS, hasRsSidebarBadge, isRsSidebarOrientation, isRsSidebarPlacement, isRsSidebarTypingTarget, isRsSidebarWidth, matchesRsSidebarHotkey, mergeRsSidebarLinkRel, resolveRsSidebarCollapseIcon, resolveRsSidebarCollapsed, resolveRsSidebarItemHref, resolveRsSidebarItemTag, resolveRsSidebarOrientation, resolveRsSidebarPlacement, resolveRsSidebarWidth };
@@ -1,3 +1,3 @@
1
1
  export { default as RsSplitPane } from './src/RsSplitPane.js';
2
- export type { RsSplitConstraint, RsSplitOrientation, RsSplitPaneExpose, RsSplitPaneInstance, RsSplitPaneItem, RsSplitPaneSize, } from './src/split-pane-utils';
3
- export { applySplitResize, collapseSplitPane, expandSplitPane, isRsSplitPaneAutoSize, isSplitPaneCollapsed, normalizeSplitSizes, resolveSplitAutoFlags, resolveSplitConstraints, splitSizesEqual, } from './src/split-pane-utils';
2
+ export type { RsSplitConstraint, RsSplitOrientation, RsSplitPaneExpose, RsSplitPaneInstance, RsSplitPaneItem, RsSplitPaneSize, RsSplitPaneSlot, } from './src/split-pane-utils';
3
+ export { applySplitResize, collapseSplitPane, expandSplitPane, invertSplitAxisDelta, isRsSplitPaneAutoSize, isSplitPaneCollapsed, isSplitResizerInteractive, normalizeSplitSizes, resolveSplitAutoFlags, resolveSplitConstraints, splitPaneDomId, splitSizesEqual, } from './src/split-pane-utils';
@@ -7,8 +7,10 @@
7
7
  min-height: 0;
8
8
  isolation: isolate;
9
9
  /* macOS 风格 resize 光标:两侧纤细箭头 + 中央分隔竖条,白芯 + 半透明描边,热点居中 */
10
- --rs-split-cursor-h: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7,8.5L3,12L7,15.5M3,12H8.5M17,8.5L21,12L17,15.5M21,12H15.5' stroke='%23000' stroke-opacity='.38' stroke-width='2.6'/%3E%3Cpath d='M12,6V18' stroke='%23000' stroke-opacity='.3' stroke-width='2.6'/%3E%3Cpath d='M7,8.5L3,12L7,15.5M3,12H8.5M17,8.5L21,12L17,15.5M21,12H15.5' stroke='%23fff' stroke-width='1.1'/%3E%3Cpath d='M12,6V18' stroke='%23fff' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E") 12 12, ew-resize;
11
- --rs-split-cursor-v: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5,7L12,3L15.5,7M12,3V8.5M8.5,17L12,21L15.5,17M12,21V15.5' stroke='%23000' stroke-opacity='.38' stroke-width='2.6'/%3E%3Cpath d='M6,12H18' stroke='%23000' stroke-opacity='.3' stroke-width='2.6'/%3E%3Cpath d='M8.5,7L12,3L15.5,7M12,3V8.5M8.5,17L12,21L15.5,17M12,21V15.5' stroke='%23fff' stroke-width='1.1'/%3E%3Cpath d='M6,12H18' stroke='%23fff' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E") 12 12, ns-resize;
10
+ --rs-split-cursor-h: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7,8.5L3,12L7,15.5M3,12H8.5M17,8.5L21,12L17,15.5M21,12H15.5' stroke='%23000' stroke-opacity='.38' stroke-width='2.6'/%3E%3Cpath d='M12,6V18' stroke='%23000' stroke-opacity='.3' stroke-width='2.6'/%3E%3Cpath d='M7,8.5L3,12L7,15.5M3,12H8.5M17,8.5L21,12L17,15.5M21,12H15.5' stroke='%23fff' stroke-width='1.1'/%3E%3Cpath d='M12,6V18' stroke='%23fff' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E")
11
+ 12 12, ew-resize;
12
+ --rs-split-cursor-v: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5,7L12,3L15.5,7M12,3V8.5M8.5,17L12,21L15.5,17M12,21V15.5' stroke='%23000' stroke-opacity='.38' stroke-width='2.6'/%3E%3Cpath d='M6,12H18' stroke='%23000' stroke-opacity='.3' stroke-width='2.6'/%3E%3Cpath d='M8.5,7L12,3L15.5,7M12,3V8.5M8.5,17L12,21L15.5,17M12,21V15.5' stroke='%23fff' stroke-width='1.1'/%3E%3Cpath d='M6,12H18' stroke='%23fff' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E")
13
+ 12 12, ns-resize;
12
14
  }
13
15
  .rs-split--horizontal {
14
16
  flex-direction: row;
@@ -56,8 +58,8 @@
56
58
  }
57
59
  .rs-split__resizer-host {
58
60
  position: relative;
59
- z-index: 10;
60
- flex: 0 0 1px;
61
+ z-index: var(--rs-z-tooltip);
62
+ flex: 0 0 var(--rs-split-resizer-size);
61
63
  align-self: stretch;
62
64
  min-width: 0;
63
65
  min-height: 0;
@@ -71,7 +73,7 @@
71
73
  border: none;
72
74
  margin: 0;
73
75
  padding: 0;
74
- background: var(--rs-border-subtle);
76
+ background: var(--rs-split-resizer);
75
77
  opacity: 0.5;
76
78
  transition:
77
79
  background var(--rs-transition-normal),
@@ -81,9 +83,7 @@
81
83
  .rs-split__resizer-host[data-active] .rs-split__resizer {
82
84
  opacity: 1;
83
85
  }
84
- .rs-split--dragging .rs-split__resizer {
85
- transition: none;
86
- }
86
+ .rs-split--dragging .rs-split__resizer,
87
87
  .rs-split--dragging .rs-split__grip {
88
88
  transition: none;
89
89
  }
@@ -98,13 +98,15 @@
98
98
  cursor: var(--rs-split-cursor-h);
99
99
  }
100
100
  .rs-split--horizontal > .rs-split__resizer-host::before {
101
- inset: 0 -4px;
101
+ inset-block: 0;
102
+ inset-inline: calc(-1 * var(--rs-split-hit-slop));
102
103
  }
103
104
  .rs-split--vertical > .rs-split__resizer-host {
104
105
  cursor: var(--rs-split-cursor-v);
105
106
  }
106
107
  .rs-split--vertical > .rs-split__resizer-host::before {
107
- inset: -4px 0;
108
+ inset-inline: 0;
109
+ inset-block: calc(-1 * var(--rs-split-hit-slop));
108
110
  }
109
111
 
110
112
  /* 拖拽中:整个容器沿用同一光标,指针移出细缝也不闪回默认 */
@@ -117,39 +119,41 @@
117
119
  .rs-split__resizer-host:hover .rs-split__resizer,
118
120
  .rs-split__resizer:hover,
119
121
  .rs-split__resizer-host[data-active] .rs-split__resizer {
120
- background: var(--rs-border);
122
+ background: var(--rs-split-resizer-hover);
121
123
  opacity: 1;
122
124
  }
123
125
  .rs-split__resizer:focus-visible {
124
126
  outline: none;
125
- background: var(--rs-primary);
127
+ background: var(--rs-split-resizer-active);
126
128
  opacity: 1;
127
129
  box-shadow: 0 0 0 var(--rs-focus-ring-width, 2px) var(--rs-focus-ring);
128
130
  }
129
- .rs-split--disabled > .rs-split__resizer-host {
131
+ .rs-split--disabled > .rs-split__resizer-host,
132
+ .rs-split__resizer-host--disabled {
130
133
  cursor: default;
131
134
  }
132
- .rs-split--disabled > .rs-split__resizer-host:hover .rs-split__resizer {
133
- background: var(--rs-border);
135
+ .rs-split--disabled > .rs-split__resizer-host:hover .rs-split__resizer,
136
+ .rs-split__resizer-host--disabled:hover .rs-split__resizer {
137
+ background: var(--rs-split-resizer);
134
138
  }
135
139
 
136
140
  /* 抓手指示(仅 withHandle 时常驻显示,悬浮不额外浮现胶囊) */
137
141
  .rs-split__resizer--handle {
138
- background: var(--rs-border-subtle);
142
+ background: var(--rs-split-resizer);
139
143
  }
140
144
  .rs-split__grip {
141
145
  position: absolute;
142
- top: 50%;
143
- left: 50%;
146
+ inset-block-start: 50%;
147
+ inset-inline-start: 50%;
144
148
  z-index: 2;
145
149
  display: inline-flex;
146
150
  align-items: center;
147
151
  justify-content: center;
148
152
  transform: translate(-50%, -50%);
149
153
  border-radius: var(--rs-radius-full);
150
- border: 1px solid var(--rs-border);
151
- background: var(--rs-surface-elevated);
152
- color: var(--rs-placeholder);
154
+ border: 1px solid var(--rs-split-grip-border);
155
+ background: var(--rs-split-grip-bg);
156
+ color: var(--rs-split-grip-fg);
153
157
  box-shadow: var(--rs-shadow-sm);
154
158
  pointer-events: none;
155
159
  opacity: 0;
@@ -161,12 +165,12 @@
161
165
  box-shadow var(--rs-transition-fast);
162
166
  }
163
167
  .rs-split--horizontal > .rs-split__resizer-host--handle .rs-split__grip {
164
- width: 0.875rem;
165
- height: 1.5rem;
168
+ width: var(--rs-split-grip-inline);
169
+ height: var(--rs-split-grip-block);
166
170
  }
167
171
  .rs-split--vertical > .rs-split__resizer-host--handle .rs-split__grip {
168
- width: 1.5rem;
169
- height: 0.875rem;
172
+ width: var(--rs-split-grip-block);
173
+ height: var(--rs-split-grip-inline);
170
174
  }
171
175
 
172
176
  /* 悬浮 / 聚焦 / 拖拽:常驻抓手高亮为主色 */
@@ -176,15 +180,16 @@
176
180
  .rs-split__grip,
177
181
  .rs-split:not(.rs-split--disabled) > .rs-split__resizer-host--handle[data-active] .rs-split__grip {
178
182
  opacity: 1;
179
- color: var(--rs-primary-foreground);
180
- border-color: var(--rs-primary);
181
- background: var(--rs-primary);
183
+ color: var(--rs-split-grip-active-fg);
184
+ border-color: var(--rs-split-grip-active-border);
185
+ background: var(--rs-split-grip-active-bg);
182
186
  box-shadow: var(--rs-shadow);
183
187
  }
184
188
 
185
189
  /* 禁用态:抓手淡化 */
186
- .rs-split--disabled .rs-split__grip {
187
- opacity: 0.5;
190
+ .rs-split--disabled .rs-split__grip,
191
+ .rs-split__resizer-host--disabled .rs-split__grip {
192
+ opacity: var(--rs-split-disabled-opacity);
188
193
  box-shadow: none;
189
194
  }
190
195
 
@@ -193,3 +198,9 @@
193
198
  pointer-events: none;
194
199
  user-select: none;
195
200
  }
201
+ @media (prefers-reduced-motion: reduce) {
202
+ .rs-split__resizer,
203
+ .rs-split__grip {
204
+ transition: none;
205
+ }
206
+ }
@@ -15,6 +15,8 @@ type __VLS_Props = {
15
15
  * 默认关,不改变原有内容尺寸;工作台 / 设置页显式打开,避免 :deep。
16
16
  */
17
17
  fill?: boolean;
18
+ id?: string;
19
+ ariaLabel?: string;
18
20
  };
19
21
  type __VLS_ModelProps = {
20
22
  /** 各面板尺寸(百分比,总和 100) */
@@ -31,14 +33,16 @@ type __VLS_Slots = {} & {
31
33
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, RsSplitPaneExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
32
34
  resize: (sizes: number[]) => any;
33
35
  expand: (key: string) => any;
34
- "resize-end": (sizes: number[]) => any;
35
36
  collapse: (key: string) => any;
37
+ "resize-end": (sizes: number[]) => any;
38
+ "resize-start": (sizes: number[]) => any;
36
39
  "update:sizes": (value: number[]) => any;
37
40
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
38
41
  onResize?: ((sizes: number[]) => any) | undefined;
39
42
  onExpand?: ((key: string) => any) | undefined;
40
- "onResize-end"?: ((sizes: number[]) => any) | undefined;
41
43
  onCollapse?: ((key: string) => any) | undefined;
44
+ "onResize-end"?: ((sizes: number[]) => any) | undefined;
45
+ "onResize-start"?: ((sizes: number[]) => any) | undefined;
42
46
  "onUpdate:sizes"?: ((value: number[]) => any) | undefined;
43
47
  }>, {
44
48
  fill: boolean;