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
@@ -1,5 +1,5 @@
1
1
  import type { RsRadius } from '../../../theme/types';
2
- import { type RsDescriptionsItem, type RsDescriptionsLabelPlacement, type RsDescriptionsSize } from './descriptions-utils';
2
+ import { type RsDescriptionsItem, type RsDescriptionsLabelAlign, type RsDescriptionsLabelPlacement, type RsDescriptionsSize } from './descriptions-utils';
3
3
  type __VLS_Props = {
4
4
  title?: string;
5
5
  items?: RsDescriptionsItem[];
@@ -9,20 +9,36 @@ type __VLS_Props = {
9
9
  /** 未传时优先 Form / RsConfigProvider.controlSize,再回退 md */
10
10
  size?: RsDescriptionsSize;
11
11
  radius?: RsRadius;
12
+ /** 标签后追加本地化冒号。默认关闭,避免改变旧版式。 */
13
+ colon?: boolean;
14
+ /** 左标签列宽。数字按 px,字符串按 CSS 长度。 */
15
+ labelWidth?: number | string;
16
+ /** 标签在单元格内的对齐。start / end 跟书写方向。 */
17
+ labelAlign?: RsDescriptionsLabelAlign;
18
+ /** 覆盖 null / undefined 的占位。未传走 descriptions.empty(默认 —)。空字符串隐藏占位。 */
19
+ emptyText?: string;
20
+ id?: string;
21
+ /** 覆盖描述列表的可访问名称。未传且有标题时用标题。 */
22
+ ariaLabel?: string;
12
23
  };
13
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_6: `item-${string}` | `item-${number}`, __VLS_7: {};
24
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_8: string, __VLS_9: {}, __VLS_12: string, __VLS_13: {};
14
25
  type __VLS_Slots = {} & {
15
- [K in NonNullable<typeof __VLS_6>]?: (props: typeof __VLS_7) => any;
26
+ [K in NonNullable<typeof __VLS_8>]?: (props: typeof __VLS_9) => any;
27
+ } & {
28
+ [K in NonNullable<typeof __VLS_12>]?: (props: typeof __VLS_13) => any;
16
29
  } & {
17
30
  title?: (props: typeof __VLS_1) => any;
18
31
  } & {
19
- default?: (props: typeof __VLS_3) => any;
32
+ extra?: (props: typeof __VLS_3) => any;
33
+ } & {
34
+ default?: (props: typeof __VLS_5) => any;
20
35
  };
21
36
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
22
37
  columns: number;
23
38
  items: RsDescriptionsItem[];
24
39
  bordered: boolean;
25
40
  labelPlacement: RsDescriptionsLabelPlacement;
41
+ colon: boolean;
26
42
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
43
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
44
  declare const _default: typeof __VLS_export;
@@ -1,15 +1,29 @@
1
+ import { useRsI18n } from "../../../composables/useRsI18n.js";
1
2
  import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
2
3
  import { rsRadiusCss, useResolvedRsRadius } from "../../_shared/src/resolve-radius.js";
3
- import { RS_DESCRIPTIONS_KEY } from "./descriptions-utils.js";
4
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, provide, renderList, renderSlot, toDisplayString } from "vue";
4
+ import { RS_DESCRIPTIONS_KEY, clampRsDescriptionsSpan, resolveRsDescriptionsColumns, resolveRsDescriptionsLabelAlign, resolveRsDescriptionsLabelWidth, resolveRsDescriptionsValue } from "./descriptions-utils.js";
5
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, provide, renderList, renderSlot, toDisplayString, unref, useId, useSlots } from "vue";
5
6
  //#region src/components/descriptions/src/RsDescriptions.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = {
7
+ var _hoisted_1 = ["id"];
8
+ var _hoisted_2 = {
7
9
  key: 0,
8
10
  class: "rs-descriptions__header"
9
11
  };
10
- var _hoisted_2 = { class: "rs-descriptions__label" };
11
- var _hoisted_3 = { class: "rs-descriptions__value" };
12
+ var _hoisted_3 = ["id"];
13
+ var _hoisted_4 = {
14
+ key: 1,
15
+ class: "rs-descriptions__extra"
16
+ };
17
+ var _hoisted_5 = ["aria-label", "aria-labelledby"];
18
+ var _hoisted_6 = { class: "rs-descriptions__label" };
19
+ var _hoisted_7 = {
20
+ key: 0,
21
+ class: "rs-descriptions__colon",
22
+ "aria-hidden": "true"
23
+ };
24
+ var _hoisted_8 = { class: "rs-descriptions__value" };
12
25
  var RsDescriptions_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
26
+ name: "RsDescriptions",
13
27
  __name: "RsDescriptions",
14
28
  props: {
15
29
  title: {},
@@ -21,12 +35,30 @@ var RsDescriptions_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
21
35
  default: true
22
36
  },
23
37
  size: {},
24
- radius: {}
38
+ radius: {},
39
+ colon: {
40
+ type: Boolean,
41
+ default: false
42
+ },
43
+ labelWidth: {},
44
+ labelAlign: {},
45
+ emptyText: {},
46
+ id: {},
47
+ ariaLabel: {}
25
48
  },
26
49
  setup(__props) {
27
50
  const props = __props;
51
+ const slots = useSlots();
52
+ const { t } = useRsI18n();
53
+ const titleId = useId();
28
54
  const resolvedSize = useResolvedRsComponentSize(() => props.size);
29
55
  const resolvedRadius = useResolvedRsRadius(() => props.radius, "md");
56
+ const resolvedColumns = computed(() => resolveRsDescriptionsColumns(props.columns));
57
+ const resolvedAlign = computed(() => resolveRsDescriptionsLabelAlign(props.labelAlign));
58
+ const resolvedLabelWidth = computed(() => resolveRsDescriptionsLabelWidth(props.labelWidth));
59
+ const resolvedEmpty = computed(() => props.emptyText ?? t("descriptions.empty"));
60
+ const colonMark = computed(() => t("label.colon"));
61
+ const showTitle = computed(() => Boolean(props.title) || Boolean(slots.title));
30
62
  provide(RS_DESCRIPTIONS_KEY, {
31
63
  get labelPlacement() {
32
64
  return props.labelPlacement;
@@ -38,30 +70,68 @@ var RsDescriptions_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
38
70
  return resolvedSize.value;
39
71
  },
40
72
  get columns() {
41
- return props.columns;
73
+ return resolvedColumns.value;
74
+ },
75
+ get colon() {
76
+ return props.colon;
77
+ },
78
+ get colonMark() {
79
+ return colonMark.value;
42
80
  }
43
81
  });
44
82
  const rootClass = computed(() => [
45
83
  "rs-descriptions",
46
84
  `rs-descriptions--${resolvedSize.value}`,
47
85
  `rs-descriptions--${props.labelPlacement}`,
48
- { "rs-descriptions--bordered": props.bordered }
86
+ `rs-descriptions--align-${resolvedAlign.value}`,
87
+ {
88
+ "rs-descriptions--bordered": props.bordered,
89
+ "rs-descriptions--colon": props.colon
90
+ }
49
91
  ]);
50
- const gridStyle = computed(() => ({
51
- "--rs-descriptions-columns": String(props.columns),
52
- "--rs-descriptions-radius-local": rsRadiusCss(resolvedRadius.value)
53
- }));
92
+ const gridStyle = computed(() => {
93
+ const style = {
94
+ "--rs-descriptions-columns": String(resolvedColumns.value),
95
+ "--rs-descriptions-radius-local": rsRadiusCss(resolvedRadius.value)
96
+ };
97
+ if (resolvedLabelWidth.value) style["--rs-descriptions-label-width"] = resolvedLabelWidth.value;
98
+ return style;
99
+ });
100
+ const rows = computed(() => {
101
+ const columns = resolvedColumns.value;
102
+ const empty = resolvedEmpty.value;
103
+ return props.items.map((item, index) => {
104
+ const key = item.key ?? index;
105
+ return {
106
+ key,
107
+ label: item.label,
108
+ text: resolveRsDescriptionsValue(item.value, empty),
109
+ spanStyle: { gridColumn: `span ${clampRsDescriptionsSpan(item.span, columns)}` },
110
+ valueSlot: `item-${key}`,
111
+ labelSlot: `label-${key}`
112
+ };
113
+ });
114
+ });
54
115
  return (_ctx, _cache) => {
55
- return openBlock(), createElementBlock("div", { class: normalizeClass(rootClass.value) }, [__props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])])) : createCommentVNode("", true), createElementVNode("div", {
116
+ return openBlock(), createElementBlock("div", {
117
+ id: __props.id,
118
+ class: normalizeClass(rootClass.value)
119
+ }, [showTitle.value || _ctx.$slots.extra ? (openBlock(), createElementBlock("div", _hoisted_2, [showTitle.value ? (openBlock(), createElementBlock("div", {
120
+ key: 0,
121
+ id: unref(titleId),
122
+ class: "rs-descriptions__title"
123
+ }, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 8, _hoisted_3)) : createCommentVNode("", true), _ctx.$slots.extra ? (openBlock(), createElementBlock("div", _hoisted_4, [renderSlot(_ctx.$slots, "extra")])) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("dl", {
56
124
  class: "rs-descriptions__body",
57
- style: normalizeStyle(gridStyle.value)
58
- }, [renderSlot(_ctx.$slots, "default", {}, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
125
+ style: normalizeStyle(gridStyle.value),
126
+ "aria-label": __props.ariaLabel || void 0,
127
+ "aria-labelledby": __props.ariaLabel || !showTitle.value ? void 0 : unref(titleId)
128
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(rows.value, (row) => {
59
129
  return openBlock(), createElementBlock("div", {
60
- key: item.key ?? index,
130
+ key: row.key,
61
131
  class: "rs-descriptions__item",
62
- style: normalizeStyle({ gridColumn: `span ${Math.min(item.span ?? 1, __props.columns)}` })
63
- }, [createElementVNode("div", _hoisted_2, toDisplayString(item.label), 1), createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, `item-${item.key ?? index}`, {}, () => [createTextVNode(toDisplayString(item.value ?? "—"), 1)])])], 4);
64
- }), 128))])], 4)], 2);
132
+ style: normalizeStyle(row.spanStyle)
133
+ }, [createElementVNode("dt", _hoisted_6, [renderSlot(_ctx.$slots, row.labelSlot, {}, () => [createTextVNode(toDisplayString(row.label), 1)]), __props.colon ? (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(colonMark.value), 1)) : createCommentVNode("", true)]), createElementVNode("dd", _hoisted_8, [renderSlot(_ctx.$slots, row.valueSlot, {}, () => [createTextVNode(toDisplayString(row.text), 1)])])], 4);
134
+ }), 128))])], 12, _hoisted_5)], 10, _hoisted_1);
65
135
  };
66
136
  }
67
137
  });
@@ -1,9 +1,15 @@
1
- import { RS_DESCRIPTIONS_KEY } from "./descriptions-utils.js";
2
- import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, inject, normalizeStyle, openBlock, renderSlot, toDisplayString } from "vue";
1
+ import { RS_DESCRIPTIONS_KEY, clampRsDescriptionsSpan } from "./descriptions-utils.js";
2
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, inject, normalizeStyle, openBlock, renderSlot, toDisplayString } from "vue";
3
3
  //#region src/components/descriptions/src/RsDescriptionsItem.vue?vue&type=script&setup=true&lang.ts
4
4
  var _hoisted_1 = { class: "rs-descriptions__label" };
5
- var _hoisted_2 = { class: "rs-descriptions__value" };
5
+ var _hoisted_2 = {
6
+ key: 0,
7
+ class: "rs-descriptions__colon",
8
+ "aria-hidden": "true"
9
+ };
10
+ var _hoisted_3 = { class: "rs-descriptions__value" };
6
11
  var RsDescriptionsItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
12
+ name: "RsDescriptionsItem",
7
13
  __name: "RsDescriptionsItem",
8
14
  props: {
9
15
  label: {},
@@ -12,13 +18,14 @@ var RsDescriptionsItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
12
18
  setup(__props) {
13
19
  const props = __props;
14
20
  const ctx = inject(RS_DESCRIPTIONS_KEY, null);
15
- const columns = computed(() => ctx?.columns ?? 3);
16
- const spanStyle = computed(() => ({ gridColumn: `span ${Math.min(props.span, columns.value)}` }));
21
+ const spanStyle = computed(() => ({ gridColumn: `span ${clampRsDescriptionsSpan(props.span, ctx?.columns ?? 3)}` }));
22
+ const showColon = computed(() => Boolean(ctx?.colon));
23
+ const colonMark = computed(() => ctx?.colonMark ?? "");
17
24
  return (_ctx, _cache) => {
18
25
  return openBlock(), createElementBlock("div", {
19
26
  class: "rs-descriptions__item",
20
27
  style: normalizeStyle(spanStyle.value)
21
- }, [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(__props.label), 1)])]), createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default")])], 4);
28
+ }, [createElementVNode("dt", _hoisted_1, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(__props.label), 1)]), showColon.value ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(colonMark.value), 1)) : createCommentVNode("", true)]), createElementVNode("dd", _hoisted_3, [renderSlot(_ctx.$slots, "default")])], 4);
22
29
  };
23
30
  }
24
31
  });
@@ -3,6 +3,8 @@ import type { RsComponentSize } from '../../../theme/types';
3
3
  /** Descriptions 尺寸与全局控件尺寸对齐:ssm / sm / md / lg */
4
4
  export type RsDescriptionsSize = RsComponentSize;
5
5
  export type RsDescriptionsLabelPlacement = 'left' | 'top';
6
+ /** 标签对齐走书写方向,RTL 下 start / end 自动对调。 */
7
+ export type RsDescriptionsLabelAlign = 'start' | 'center' | 'end';
6
8
  export type RsDescriptionsItem = {
7
9
  label: string;
8
10
  value?: string | number | null;
@@ -14,5 +16,22 @@ export type RsDescriptionsContext = {
14
16
  bordered: boolean;
15
17
  size: RsDescriptionsSize;
16
18
  columns: number;
19
+ colon: boolean;
20
+ colonMark: string;
17
21
  };
18
22
  export declare const RS_DESCRIPTIONS_KEY: InjectionKey<RsDescriptionsContext>;
23
+ /** 列数至少为 1。非数字回退 3,小数向下取整。 */
24
+ export declare function resolveRsDescriptionsColumns(columns: number | undefined): number;
25
+ /** span 夹在 1 与列数之间。缺省、0、负数都当成 1。 */
26
+ export declare function clampRsDescriptionsSpan(span: number | undefined, columns: number): number;
27
+ export declare function resolveRsDescriptionsLabelAlign(align: RsDescriptionsLabelAlign | undefined): RsDescriptionsLabelAlign;
28
+ /**
29
+ * 标签列宽。数字按 px。空串、负数、含 `;` `{` `}` 或 `url(` 的字符串忽略,
30
+ * 避免写进 CSS 变量时打断声明。
31
+ */
32
+ export declare function resolveRsDescriptionsLabelWidth(width: number | string | null | undefined): string | undefined;
33
+ /**
34
+ * 空值只替换 null / undefined,与原先 `value ?? '—'` 一致。
35
+ * 空字符串和 0 原样显示。
36
+ */
37
+ export declare function resolveRsDescriptionsValue(value: string | number | null | undefined, emptyText: string): string;
@@ -1,4 +1,42 @@
1
1
  //#region src/components/descriptions/src/descriptions-utils.ts
2
2
  var RS_DESCRIPTIONS_KEY = Symbol("rs-descriptions");
3
+ var LABEL_WIDTH_UNSAFE = /[;{}]|url\s*\(/i;
4
+ /** 列数至少为 1。非数字回退 3,小数向下取整。 */
5
+ function resolveRsDescriptionsColumns(columns) {
6
+ if (columns === void 0 || !Number.isFinite(columns)) return 3;
7
+ return Math.max(1, Math.floor(columns));
8
+ }
9
+ /** span 夹在 1 与列数之间。缺省、0、负数都当成 1。 */
10
+ function clampRsDescriptionsSpan(span, columns) {
11
+ const limit = Math.max(1, columns);
12
+ if (span === void 0 || !Number.isFinite(span)) return 1;
13
+ return Math.min(Math.max(Math.floor(span), 1), limit);
14
+ }
15
+ function resolveRsDescriptionsLabelAlign(align) {
16
+ if (align === "center" || align === "end") return align;
17
+ return "start";
18
+ }
19
+ /**
20
+ * 标签列宽。数字按 px。空串、负数、含 `;` `{` `}` 或 `url(` 的字符串忽略,
21
+ * 避免写进 CSS 变量时打断声明。
22
+ */
23
+ function resolveRsDescriptionsLabelWidth(width) {
24
+ if (width === void 0 || width === null || width === "") return void 0;
25
+ if (typeof width === "number") {
26
+ if (!Number.isFinite(width) || width < 0) return void 0;
27
+ return `${width}px`;
28
+ }
29
+ const trimmed = width.trim();
30
+ if (!trimmed || LABEL_WIDTH_UNSAFE.test(trimmed)) return void 0;
31
+ return trimmed;
32
+ }
33
+ /**
34
+ * 空值只替换 null / undefined,与原先 `value ?? '—'` 一致。
35
+ * 空字符串和 0 原样显示。
36
+ */
37
+ function resolveRsDescriptionsValue(value, emptyText) {
38
+ if (value === null || value === void 0) return emptyText;
39
+ return String(value);
40
+ }
3
41
  //#endregion
4
- export { RS_DESCRIPTIONS_KEY };
42
+ export { RS_DESCRIPTIONS_KEY, clampRsDescriptionsSpan, resolveRsDescriptionsColumns, resolveRsDescriptionsLabelAlign, resolveRsDescriptionsLabelWidth, resolveRsDescriptionsValue };
@@ -1,4 +1,4 @@
1
1
  export { default as RsDialog } from './src/RsDialog.js';
2
2
  export { default as RsConfirmDialog } from './src/RsConfirmDialog.js';
3
- export type { RsConfirmBeforeClose, RsConfirmCloseReason, RsConfirmOptions, RsDialogBeforeClose, RsDialogCloseReason, RsDialogLayout, RsDialogWidth, RsDialogWidthPreset, } from './src/dialog-utils';
3
+ export type { RsConfirmBeforeClose, RsConfirmCloseReason, RsConfirmDialogExpose, RsConfirmDialogInstance, RsConfirmOptions, RsDialogBeforeClose, RsDialogCloseReason, RsDialogExpose, RsDialogInstance, RsDialogLayout, RsDialogWidth, RsDialogWidthPreset, } from './src/dialog-utils';
4
4
  export { isRsDialogWidthPreset, resolveDialogOverlayStyle, resolveRsDialogCssWidth, resolveRsDialogWidthPx, runRsConfirmBeforeClose, runRsDialogBeforeClose, } from './src/dialog-utils';
@@ -1,13 +1,22 @@
1
1
 
2
- .rs-confirm-dialog__overlay {
2
+ .rs-confirm-dialog[data-v-2c82ddba] {
3
+ display: contents;
4
+ }
5
+ .rs-confirm-dialog__anchor[data-v-2c82ddba] {
6
+ display: none;
7
+ }
8
+ .rs-confirm-dialog__backdrop[data-v-2c82ddba] {
3
9
  position: fixed;
4
10
  inset: 0;
5
11
  z-index: var(--rs-z-modal);
12
+ background: transparent;
13
+ }
14
+ .rs-confirm-dialog__overlay[data-v-2c82ddba] {
6
15
  background: var(--rs-dialog-overlay-bg);
7
16
  backdrop-filter: blur(var(--rs-dialog-overlay-blur)) saturate(120%);
8
17
  -webkit-backdrop-filter: blur(var(--rs-dialog-overlay-blur)) saturate(120%);
9
18
  }
10
- .rs-confirm-dialog__content {
19
+ .rs-confirm-dialog__content[data-v-2c82ddba] {
11
20
  position: fixed;
12
21
  left: 50%;
13
22
  top: calc(
@@ -21,6 +30,7 @@
21
30
  max-width: 28rem;
22
31
  transform: translate(-50%, -50%);
23
32
  box-sizing: border-box;
33
+ margin: 0;
24
34
  padding: var(--rs-space-xl);
25
35
  border: 1px solid var(--rs-dialog-border);
26
36
  border-radius: var(--rs-radius-lg);
@@ -29,21 +39,26 @@
29
39
  box-shadow: var(--rs-dialog-shadow);
30
40
  outline: none;
31
41
  }
32
- .rs-confirm-dialog__content--sm {
42
+ .rs-confirm-dialog__content[data-v-2c82ddba]:focus-visible {
43
+ box-shadow:
44
+ var(--rs-dialog-shadow),
45
+ 0 0 0 var(--rs-focus-ring-width) var(--rs-focus-ring);
46
+ }
47
+ .rs-confirm-dialog__content--sm[data-v-2c82ddba] {
33
48
  max-width: 24rem;
34
49
  }
35
- .rs-confirm-dialog__content--md {
50
+ .rs-confirm-dialog__content--md[data-v-2c82ddba] {
36
51
  max-width: 32rem;
37
52
  }
38
- .rs-confirm-dialog__content--lg {
53
+ .rs-confirm-dialog__content--lg[data-v-2c82ddba] {
39
54
  max-width: 42rem;
40
55
  }
41
- [data-rs-theme='light'] .rs-confirm-dialog__content {
56
+ [data-rs-theme='light'] .rs-confirm-dialog__content[data-v-2c82ddba] {
42
57
  background: color-mix(in srgb, var(--rs-dialog-bg) 94%, transparent);
43
58
  backdrop-filter: blur(24px) saturate(180%);
44
59
  -webkit-backdrop-filter: blur(24px) saturate(180%);
45
60
  }
46
- .rs-confirm-dialog__icon {
61
+ .rs-confirm-dialog__icon[data-v-2c82ddba] {
47
62
  display: inline-flex;
48
63
  align-items: center;
49
64
  justify-content: center;
@@ -53,59 +68,59 @@
53
68
  border-radius: var(--rs-radius);
54
69
  font-weight: var(--rs-font-weight-bold);
55
70
  }
56
- .rs-confirm-dialog__icon-glyph {
71
+ .rs-confirm-dialog__icon-glyph[data-v-2c82ddba] {
57
72
  width: 1.25rem;
58
73
  height: 1.25rem;
59
74
  display: block;
60
75
  }
61
- .rs-confirm-dialog__icon--danger {
76
+ .rs-confirm-dialog__icon--danger[data-v-2c82ddba] {
62
77
  background: var(--rs-danger-container);
63
78
  color: var(--rs-on-danger-container);
64
79
  }
65
- .rs-confirm-dialog__icon--warning {
80
+ .rs-confirm-dialog__icon--warning[data-v-2c82ddba] {
66
81
  background: var(--rs-warning-container);
67
82
  color: var(--rs-on-warning-container);
68
83
  }
69
- .rs-confirm-dialog__icon--success {
84
+ .rs-confirm-dialog__icon--success[data-v-2c82ddba] {
70
85
  background: var(--rs-success-container);
71
86
  color: var(--rs-on-success-container);
72
87
  }
73
- .rs-confirm-dialog__icon--info,
74
- .rs-confirm-dialog__icon--default {
88
+ .rs-confirm-dialog__icon--info[data-v-2c82ddba],
89
+ .rs-confirm-dialog__icon--default[data-v-2c82ddba] {
75
90
  background: var(--rs-info-container);
76
91
  color: var(--rs-on-info-container);
77
92
  }
78
- .rs-confirm-dialog__main {
93
+ .rs-confirm-dialog__main[data-v-2c82ddba] {
79
94
  min-width: 0;
80
95
  flex: 1;
81
96
  }
82
- .rs-confirm-dialog__title {
97
+ .rs-confirm-dialog__title[data-v-2c82ddba] {
83
98
  margin: 0;
84
99
  font-size: var(--rs-font-size-base);
85
100
  font-weight: var(--rs-font-weight-semibold);
86
101
  letter-spacing: -0.01em;
87
102
  color: var(--rs-dialog-title-fg);
88
103
  }
89
- .rs-confirm-dialog__subtitle {
104
+ .rs-confirm-dialog__subtitle[data-v-2c82ddba] {
90
105
  margin: var(--rs-space-xs) 0 0;
91
106
  color: var(--rs-dialog-description-fg);
92
107
  font-size: var(--rs-font-size-sm);
93
108
  line-height: var(--rs-line-height-normal);
94
109
  opacity: 0.85;
95
110
  }
96
- .rs-confirm-dialog__description {
111
+ .rs-confirm-dialog__description[data-v-2c82ddba] {
97
112
  margin: var(--rs-space-sm) 0 0;
98
113
  color: var(--rs-dialog-description-fg);
99
114
  font-size: var(--rs-font-size-sm);
100
115
  line-height: var(--rs-line-height-normal);
101
116
  white-space: pre-wrap;
102
- word-break: break-word;
117
+ overflow-wrap: anywhere;
103
118
  }
104
- .rs-confirm-dialog__extra {
119
+ .rs-confirm-dialog__extra[data-v-2c82ddba] {
105
120
  margin-top: var(--rs-space-md);
106
121
  min-width: 0;
107
122
  }
108
- .rs-confirm-dialog__footer {
123
+ .rs-confirm-dialog__footer[data-v-2c82ddba] {
109
124
  display: flex;
110
125
  justify-content: flex-end;
111
126
  flex-wrap: wrap;
@@ -114,5 +129,16 @@
114
129
  min-height: var(--rs-dialog-footer-min-height);
115
130
  margin-top: var(--rs-space-xl);
116
131
  padding-top: var(--rs-dialog-footer-padding-y);
117
- border-top: 1px solid color-mix(in srgb, var(--rs-dialog-separator) 72%, transparent);
132
+ border-block-start: 1px solid color-mix(in srgb, var(--rs-dialog-separator) 72%, transparent);
133
+ }
134
+ @media (prefers-reduced-motion: reduce) {
135
+ [data-rs-theme='light'] .rs-confirm-dialog__content[data-v-2c82ddba] {
136
+ backdrop-filter: none;
137
+ -webkit-backdrop-filter: none;
138
+ background: var(--rs-dialog-bg);
139
+ }
140
+ .rs-confirm-dialog__overlay[data-v-2c82ddba] {
141
+ backdrop-filter: none;
142
+ -webkit-backdrop-filter: none;
143
+ }
118
144
  }
@@ -30,37 +30,49 @@ type __VLS_Props = {
30
30
  overlayOpacity?: number;
31
31
  /** 遮罩模糊;number 为 px。默认主题为 0 */
32
32
  overlayBlur?: number | string;
33
- /** AlertDialogPortal 挂载目标;false 禁用 Teleport */
33
+ /** 挂载目标;false 禁用 Teleport */
34
34
  teleportTo?: string | HTMLElement | false;
35
+ /** Esc 关闭。确认中无效。只作用于最上层。 */
36
+ closeOnEsc?: boolean;
37
+ /** 模态时锁 body 滚动。默认 true。 */
38
+ lockScroll?: boolean;
39
+ /** 覆盖 --rs-z-modal。遮罩用该值,面板 +1。 */
40
+ zIndex?: number;
41
+ /** 没有可用标题关联时的可访问名称 */
42
+ ariaLabel?: string;
43
+ id?: string;
35
44
  };
45
+ declare function focus(): void;
36
46
  type __VLS_ModelProps = {
37
47
  'open'?: boolean;
38
48
  };
39
49
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
40
- declare var __VLS_29: {}, __VLS_60: {};
50
+ declare var __VLS_7: {}, __VLS_14: {};
41
51
  type __VLS_Slots = {} & {
42
- icon?: (props: typeof __VLS_29) => any;
52
+ icon?: (props: typeof __VLS_7) => any;
43
53
  } & {
44
- extra?: (props: typeof __VLS_60) => any;
54
+ extra?: (props: typeof __VLS_14) => any;
45
55
  };
46
56
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
47
- /** 请求关闭(走 beforeClose) */
48
57
  close: (reason?: RsConfirmCloseReason) => Promise<boolean>;
58
+ focus: typeof focus;
49
59
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
50
60
  cancel: () => any;
51
- "update:open": (value: boolean) => any;
52
61
  confirm: () => any;
62
+ "update:open": (value: boolean) => any;
53
63
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
54
64
  onCancel?: (() => any) | undefined;
55
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
56
65
  onConfirm?: (() => any) | undefined;
66
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
57
67
  }>, {
58
68
  tone: RsFeedbackTone;
69
+ closeOnEsc: boolean;
59
70
  showOverlay: boolean;
60
71
  showCancel: boolean;
61
72
  confirmLoading: boolean;
62
73
  confirmVariant: "primary" | "danger";
63
74
  autoCloseOnConfirm: boolean;
75
+ lockScroll: boolean;
64
76
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
65
77
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
66
78
  declare const _default: typeof __VLS_export;