niuma-ui 2.0.4 → 2.1.0

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 (291) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/NOTICE +0 -1
  3. package/README.md +3 -3
  4. package/README.zh-CN.md +3 -3
  5. package/dist/components/_shared/index.d.ts +2 -2
  6. package/dist/components/_shared/src/overlay-utils.d.ts +44 -1
  7. package/dist/components/_shared/src/overlay-utils.js +87 -2
  8. package/dist/components/alert/index.d.ts +1 -0
  9. package/dist/components/alert/src/RsAlert.css +120 -65
  10. package/dist/components/alert/src/RsAlert.d.ts +24 -5
  11. package/dist/components/alert/src/RsAlert.impl.js +108 -36
  12. package/dist/components/alert/src/RsAlert.js +1 -1
  13. package/dist/components/alert/src/alert-utils.d.ts +37 -0
  14. package/dist/components/alert/src/alert-utils.js +71 -0
  15. package/dist/components/auto-complete/src/RsAutoComplete.d.ts +1 -1
  16. package/dist/components/button/src/RsButton.css +75 -72
  17. package/dist/components/button/src/RsButton.d.ts +1 -4
  18. package/dist/components/button/src/RsButton.impl.js +3 -7
  19. package/dist/components/button/src/RsButton.js +1 -1
  20. package/dist/components/card/src/RsCard.d.ts +1 -1
  21. package/dist/components/code-block/index.d.ts +1 -0
  22. package/dist/components/code-block/src/RsCodeBlock.css +93 -52
  23. package/dist/components/code-block/src/RsCodeBlock.d.ts +36 -9
  24. package/dist/components/code-block/src/RsCodeBlock.impl.js +203 -84
  25. package/dist/components/code-block/src/RsCodeBlock.js +1 -1
  26. package/dist/components/code-block/src/code-block-highlight.d.ts +4 -0
  27. package/dist/components/code-block/src/code-block-highlight.js +34 -0
  28. package/dist/components/code-block/src/code-block-utils.d.ts +23 -0
  29. package/dist/components/code-block/src/code-block-utils.js +71 -0
  30. package/dist/components/code-editor/index.d.ts +1 -1
  31. package/dist/components/code-editor/src/RsCodeEditor.css +118 -92
  32. package/dist/components/code-editor/src/RsCodeEditor.d.ts +14 -3
  33. package/dist/components/code-editor/src/RsCodeEditor.impl.js +261 -94
  34. package/dist/components/code-editor/src/RsCodeEditor.js +1 -1
  35. package/dist/components/code-editor/src/code-editor-utils.d.ts +15 -0
  36. package/dist/components/code-editor/src/code-editor-utils.js +36 -1
  37. package/dist/components/code-editor/src/code-mirror-completion.d.ts +1 -1
  38. package/dist/components/code-editor/src/code-mirror-completion.js +8 -5
  39. package/dist/components/code-editor/src/code-mirror-diagnostics.d.ts +2 -3
  40. package/dist/components/code-editor/src/code-mirror-diagnostics.js +3 -4
  41. package/dist/components/code-editor/src/code-mirror-ghost.d.ts +1 -1
  42. package/dist/components/code-editor/src/code-mirror-ghost.js +12 -3
  43. package/dist/components/code-editor/src/code-mirror-inline-edit.js +8 -3
  44. package/dist/components/code-editor/src/code-mirror-intel.d.ts +2 -2
  45. package/dist/components/code-editor/src/code-mirror-intel.js +50 -39
  46. package/dist/components/code-editor/src/code-mirror-lang.js +4 -0
  47. package/dist/components/code-editor/src/code-mirror-session.d.ts +13 -0
  48. package/dist/components/code-editor/src/code-mirror-session.js +30 -0
  49. package/dist/components/config-provider/src/RsConfigProvider.css +1 -1
  50. package/dist/components/config-provider/src/RsConfigProvider.d.ts +2 -2
  51. package/dist/components/config-provider/src/RsConfigProvider.impl.js +7 -16
  52. package/dist/components/config-provider/src/RsConfigProvider.js +1 -1
  53. package/dist/components/context-menu/index.d.ts +1 -1
  54. package/dist/components/context-menu/src/RsContextMenu.css +115 -89
  55. package/dist/components/context-menu/src/RsContextMenu.d.ts +32 -11
  56. package/dist/components/context-menu/src/RsContextMenu.impl.js +795 -48
  57. package/dist/components/context-menu/src/RsContextMenuItems.d.ts +25 -1
  58. package/dist/components/context-menu/src/RsContextMenuItems.impl.js +110 -61
  59. package/dist/components/context-menu/src/context-menu-utils.d.ts +89 -3
  60. package/dist/components/context-menu/src/context-menu-utils.js +168 -3
  61. package/dist/components/date-picker/src/RsDatePicker.d.ts +2 -2
  62. package/dist/components/date-picker/src/RsDateTimePicker.d.ts +2 -2
  63. package/dist/components/descriptions/index.d.ts +1 -1
  64. package/dist/components/descriptions/src/RsDescriptions.css +38 -11
  65. package/dist/components/descriptions/src/RsDescriptions.d.ts +20 -4
  66. package/dist/components/descriptions/src/RsDescriptions.impl.js +89 -19
  67. package/dist/components/descriptions/src/RsDescriptionsItem.impl.js +13 -6
  68. package/dist/components/descriptions/src/descriptions-utils.d.ts +19 -0
  69. package/dist/components/descriptions/src/descriptions-utils.js +39 -1
  70. package/dist/components/dialog/index.d.ts +1 -1
  71. package/dist/components/dialog/src/RsConfirmDialog.css +47 -21
  72. package/dist/components/dialog/src/RsConfirmDialog.d.ts +19 -7
  73. package/dist/components/dialog/src/RsConfirmDialog.impl.js +349 -119
  74. package/dist/components/dialog/src/RsConfirmDialog.js +2 -1
  75. package/dist/components/dialog/src/RsDialog.css +102 -109
  76. package/dist/components/dialog/src/RsDialog.d.ts +34 -24
  77. package/dist/components/dialog/src/RsDialog.impl.js +410 -177
  78. package/dist/components/dialog/src/RsDialog.js +2 -1
  79. package/dist/components/dialog/src/dialog-utils.d.ts +40 -1
  80. package/dist/components/dialog/src/dialog-utils.js +152 -1
  81. package/dist/components/dialog/src/dialog-window.js +29 -8
  82. package/dist/components/drawer/index.d.ts +1 -1
  83. package/dist/components/drawer/src/RsDrawer.css +61 -29
  84. package/dist/components/drawer/src/RsDrawer.d.ts +37 -21
  85. package/dist/components/drawer/src/RsDrawer.impl.js +441 -223
  86. package/dist/components/drawer/src/drawer-utils.d.ts +35 -0
  87. package/dist/components/drawer/src/drawer-utils.js +131 -1
  88. package/dist/components/dropdown/index.d.ts +1 -1
  89. package/dist/components/dropdown/src/RsDropdown.css +140 -61
  90. package/dist/components/dropdown/src/RsDropdown.d.ts +39 -6
  91. package/dist/components/dropdown/src/RsDropdown.impl.js +693 -63
  92. package/dist/components/dropdown/src/RsDropdownItemView.impl.js +17 -7
  93. package/dist/components/dropdown/src/RsDropdownItems.d.ts +32 -3
  94. package/dist/components/dropdown/src/RsDropdownItems.impl.js +171 -59
  95. package/dist/components/dropdown/src/dropdown-utils.d.ts +50 -0
  96. package/dist/components/dropdown/src/dropdown-utils.js +103 -3
  97. package/dist/components/empty/index.d.ts +1 -0
  98. package/dist/components/empty/src/RsEmpty.css +105 -23
  99. package/dist/components/empty/src/RsEmpty.d.ts +27 -4
  100. package/dist/components/empty/src/RsEmpty.impl.js +154 -11
  101. package/dist/components/empty/src/RsEmpty.js +2 -1
  102. package/dist/components/empty/src/empty-utils.d.ts +28 -0
  103. package/dist/components/empty/src/empty-utils.js +55 -0
  104. package/dist/components/form/src/RsForm.d.ts +1 -1
  105. package/dist/components/input-number/src/RsInputNumber.d.ts +1 -1
  106. package/dist/components/label/src/RsLabel.d.ts +1 -1
  107. package/dist/components/loading/index.d.ts +1 -0
  108. package/dist/components/loading/src/RsLoading.css +13 -97
  109. package/dist/components/loading/src/RsLoading.d.ts +52 -2
  110. package/dist/components/loading/src/RsLoading.impl.js +216 -33
  111. package/dist/components/loading/src/RsLoading.js +2 -1
  112. package/dist/components/loading/src/loading-status.css +210 -0
  113. package/dist/components/loading/src/loading-status.d.ts +34 -0
  114. package/dist/components/loading/src/loading-status.impl.js +84 -0
  115. package/dist/components/loading/src/loading-status.js +8 -0
  116. package/dist/components/loading/src/loading-utils.d.ts +51 -4
  117. package/dist/components/loading/src/loading-utils.js +122 -0
  118. package/dist/components/loading-bar/index.d.ts +1 -0
  119. package/dist/components/loading-bar/src/RsLoadingBar.css +72 -8
  120. package/dist/components/loading-bar/src/RsLoadingBar.d.ts +55 -11
  121. package/dist/components/loading-bar/src/RsLoadingBar.impl.js +298 -57
  122. package/dist/components/loading-bar/src/RsLoadingBar.js +1 -1
  123. package/dist/components/loading-bar/src/loading-bar-utils.d.ts +69 -0
  124. package/dist/components/loading-bar/src/loading-bar-utils.js +97 -0
  125. package/dist/components/log/src/RsLog.css +52 -144
  126. package/dist/components/log/src/RsLog.d.ts +12 -11
  127. package/dist/components/log/src/RsLog.impl.js +181 -148
  128. package/dist/components/log/src/RsLog.js +1 -1
  129. package/dist/components/log/src/RsLogRow.css +152 -0
  130. package/dist/components/log/src/RsLogRow.d.ts +35 -0
  131. package/dist/components/log/src/RsLogRow.impl.js +91 -0
  132. package/dist/components/log/src/RsLogRow.js +8 -0
  133. package/dist/components/log/src/log-utils.d.ts +8 -0
  134. package/dist/components/log/src/log-utils.js +71 -10
  135. package/dist/components/markdown/index.d.ts +1 -1
  136. package/dist/components/markdown/src/RsMarkdown.css +75 -32
  137. package/dist/components/markdown/src/RsMarkdown.d.ts +6 -2
  138. package/dist/components/markdown/src/RsMarkdown.impl.js +185 -17
  139. package/dist/components/markdown/src/markdown-utils.d.ts +26 -0
  140. package/dist/components/markdown/src/markdown-utils.js +114 -12
  141. package/dist/components/mentions/src/RsMentions.d.ts +2 -2
  142. package/dist/components/menu/index.d.ts +1 -1
  143. package/dist/components/menu/src/RsMenu.css +70 -29
  144. package/dist/components/menu/src/RsMenu.d.ts +58 -4
  145. package/dist/components/menu/src/RsMenu.impl.js +93 -46
  146. package/dist/components/menu/src/RsMenuItems.d.ts +22 -5
  147. package/dist/components/menu/src/RsMenuItems.impl.js +506 -154
  148. package/dist/components/menu/src/menu-utils.d.ts +56 -0
  149. package/dist/components/menu/src/menu-utils.js +139 -6
  150. package/dist/components/monaco-editor/index.d.ts +1 -1
  151. package/dist/components/monaco-editor/src/RsMonacoEditor.css +28 -16
  152. package/dist/components/monaco-editor/src/RsMonacoEditor.d.ts +39 -41
  153. package/dist/components/monaco-editor/src/RsMonacoEditor.impl.js +212 -133
  154. package/dist/components/monaco-editor/src/RsMonacoEditor.js +1 -1
  155. package/dist/components/monaco-editor/src/monaco-editor-utils.d.ts +126 -0
  156. package/dist/components/monaco-editor/src/monaco-editor-utils.js +302 -0
  157. package/dist/components/pagination/index.d.ts +2 -2
  158. package/dist/components/pagination/src/RsPagination.css +93 -46
  159. package/dist/components/pagination/src/RsPagination.d.ts +68 -8
  160. package/dist/components/pagination/src/RsPagination.impl.js +229 -86
  161. package/dist/components/pagination/src/RsPagination.js +1 -1
  162. package/dist/components/pagination/src/pagination-utils.d.ts +59 -0
  163. package/dist/components/pagination/src/pagination-utils.js +105 -1
  164. package/dist/components/popover/index.d.ts +1 -0
  165. package/dist/components/popover/src/RsPopover.css +124 -14
  166. package/dist/components/popover/src/RsPopover.d.ts +38 -7
  167. package/dist/components/popover/src/RsPopover.impl.js +546 -35
  168. package/dist/components/popover/src/RsPopover.js +2 -1
  169. package/dist/components/popover/src/popover-utils.d.ts +24 -2
  170. package/dist/components/popover/src/popover-utils.js +55 -0
  171. package/dist/components/sidebar/index.d.ts +1 -0
  172. package/dist/components/sidebar/src/RsSidebar.css +91 -33
  173. package/dist/components/sidebar/src/RsSidebar.d.ts +17 -9
  174. package/dist/components/sidebar/src/RsSidebar.impl.js +124 -22
  175. package/dist/components/sidebar/src/RsSidebar.js +1 -1
  176. package/dist/components/sidebar/src/RsSidebarGroup.css +23 -6
  177. package/dist/components/sidebar/src/RsSidebarGroup.d.ts +6 -2
  178. package/dist/components/sidebar/src/RsSidebarGroup.impl.js +17 -4
  179. package/dist/components/sidebar/src/RsSidebarGroup.js +1 -1
  180. package/dist/components/sidebar/src/RsSidebarItem.css +50 -20
  181. package/dist/components/sidebar/src/RsSidebarItem.d.ts +21 -3
  182. package/dist/components/sidebar/src/RsSidebarItem.impl.js +71 -20
  183. package/dist/components/sidebar/src/RsSidebarItem.js +1 -1
  184. package/dist/components/sidebar/src/sidebar-utils.d.ts +47 -0
  185. package/dist/components/sidebar/src/sidebar-utils.js +72 -0
  186. package/dist/components/split-pane/index.d.ts +2 -2
  187. package/dist/components/split-pane/src/RsSplitPane.css +41 -30
  188. package/dist/components/split-pane/src/RsSplitPane.d.ts +6 -2
  189. package/dist/components/split-pane/src/RsSplitPane.impl.js +153 -45
  190. package/dist/components/split-pane/src/split-pane-utils.d.ts +23 -0
  191. package/dist/components/split-pane/src/split-pane-utils.js +18 -1
  192. package/dist/components/stat-card/index.d.ts +1 -0
  193. package/dist/components/stat-card/src/RsStatCard.css +129 -25
  194. package/dist/components/stat-card/src/RsStatCard.d.ts +40 -4
  195. package/dist/components/stat-card/src/RsStatCard.impl.js +106 -12
  196. package/dist/components/stat-card/src/RsStatCard.js +1 -1
  197. package/dist/components/stat-card/src/stat-card-utils.d.ts +39 -0
  198. package/dist/components/stat-card/src/stat-card-utils.js +113 -0
  199. package/dist/components/steps/index.d.ts +1 -1
  200. package/dist/components/steps/src/RsSteps.css +158 -37
  201. package/dist/components/steps/src/RsSteps.d.ts +69 -5
  202. package/dist/components/steps/src/RsSteps.impl.js +168 -28
  203. package/dist/components/steps/src/RsSteps.js +1 -1
  204. package/dist/components/steps/src/steps-utils.d.ts +51 -1
  205. package/dist/components/steps/src/steps-utils.js +67 -1
  206. package/dist/components/table/src/RsTable.impl.js +4 -2
  207. package/dist/components/table/src/composables/useRsTableContextMenu.d.ts +16 -0
  208. package/dist/components/table/src/composables/useRsTableContextMenu.js +1 -1
  209. package/dist/components/table/src/composables/useRsTableEngine.js +6 -2
  210. package/dist/components/table/src/composables/useRsTableScrollLayout.js +2 -0
  211. package/dist/components/table/src/composables/useRsTableShell.d.ts +16 -0
  212. package/dist/components/table/src/rs-table-props.d.ts +1 -1
  213. package/dist/components/table/src/rs-table-props.js +0 -1
  214. package/dist/components/table/src/table-body/RsTableBody.impl.js +1 -0
  215. package/dist/components/table/src/table-body/RsTableCell.impl.js +1 -1
  216. package/dist/components/table/src/table-body/RsTableCellEditor.impl.js +10 -2
  217. package/dist/components/table/src/table-body/RsTableColGroup.impl.js +1 -0
  218. package/dist/components/table/src/table-footer/RsTableSummaryRow.impl.js +1 -0
  219. package/dist/components/table/src/table-header/RsTableHeader.impl.js +1 -0
  220. package/dist/components/table/src/utils/table-utils.d.ts +10 -6
  221. package/dist/components/table/src/utils/table-utils.js +27 -25
  222. package/dist/components/table/style/rs-table.css +86 -28
  223. package/dist/components/tabs/index.d.ts +2 -2
  224. package/dist/components/tabs/src/RsTabs.css +225 -101
  225. package/dist/components/tabs/src/RsTabs.d.ts +37 -8
  226. package/dist/components/tabs/src/RsTabs.impl.js +400 -270
  227. package/dist/components/tabs/src/tabs-utils.d.ts +41 -2
  228. package/dist/components/tabs/src/tabs-utils.js +55 -1
  229. package/dist/components/terminal/index.d.ts +1 -1
  230. package/dist/components/terminal/src/RsTerminal.css +60 -37
  231. package/dist/components/terminal/src/RsTerminal.d.ts +36 -4
  232. package/dist/components/terminal/src/RsTerminal.impl.js +288 -68
  233. package/dist/components/terminal/src/RsTerminal.js +1 -1
  234. package/dist/components/terminal/src/terminal-utils.d.ts +42 -4
  235. package/dist/components/terminal/src/terminal-utils.js +113 -10
  236. package/dist/components/textarea/src/RsTextarea.d.ts +1 -1
  237. package/dist/components/time-picker/src/RsTimePicker.d.ts +2 -2
  238. package/dist/components/toaster/src/RsToaster.css +156 -203
  239. package/dist/components/toaster/src/RsToaster.d.ts +32 -2
  240. package/dist/components/toaster/src/RsToaster.impl.js +309 -34
  241. package/dist/components/toaster/src/toast-store.d.ts +95 -0
  242. package/dist/components/toaster/src/toast-store.js +177 -0
  243. package/dist/components/toaster/src/toast-utils.d.ts +60 -0
  244. package/dist/components/toaster/src/toast-utils.js +86 -0
  245. package/dist/components/toolbar/index.d.ts +1 -1
  246. package/dist/components/toolbar/src/RsToolbar.css +206 -32
  247. package/dist/components/toolbar/src/RsToolbar.d.ts +41 -16
  248. package/dist/components/toolbar/src/RsToolbar.impl.js +146 -18
  249. package/dist/components/toolbar/src/RsToolbar.js +2 -1
  250. package/dist/components/toolbar/src/toolbar-utils.d.ts +20 -0
  251. package/dist/components/toolbar/src/toolbar-utils.js +105 -0
  252. package/dist/components/tooltip/index.d.ts +1 -0
  253. package/dist/components/tooltip/src/RsTooltip.css +104 -26
  254. package/dist/components/tooltip/src/RsTooltip.d.ts +38 -16
  255. package/dist/components/tooltip/src/RsTooltip.impl.js +420 -51
  256. package/dist/components/tooltip/src/RsTooltip.js +2 -1
  257. package/dist/components/tooltip/src/RsTooltipProvider.d.ts +4 -4
  258. package/dist/components/tooltip/src/RsTooltipProvider.impl.js +51 -14
  259. package/dist/components/tooltip/src/tooltip-utils.d.ts +30 -0
  260. package/dist/components/tooltip/src/tooltip-utils.js +23 -0
  261. package/dist/components/tree/index.d.ts +2 -2
  262. package/dist/components/tree/src/RsTree.css +84 -75
  263. package/dist/components/tree/src/RsTree.d.ts +20 -20
  264. package/dist/components/tree/src/RsTree.impl.js +292 -66
  265. package/dist/components/tree/src/RsTree.js +1 -1
  266. package/dist/components/tree/src/tree-utils.d.ts +22 -0
  267. package/dist/components/tree/src/tree-utils.js +18 -4
  268. package/dist/components/tree-select/src/RsTreeSelect.d.ts +1 -1
  269. package/dist/components/virtual-list/index.d.ts +1 -1
  270. package/dist/components/virtual-list/src/RsVirtualList.css +64 -9
  271. package/dist/components/virtual-list/src/RsVirtualList.d.ts +31 -5
  272. package/dist/components/virtual-list/src/RsVirtualList.impl.js +425 -76
  273. package/dist/components/virtual-list/src/RsVirtualList.js +1 -1
  274. package/dist/components/virtual-list/src/virtual-list-utils.d.ts +64 -1
  275. package/dist/components/virtual-list/src/virtual-list-utils.js +215 -1
  276. package/dist/composables/useRsLoadingBar.d.ts +2 -5
  277. package/dist/composables/useRsLoadingBar.js +21 -5
  278. package/dist/composables/useRsTabsNav.d.ts +3 -1
  279. package/dist/composables/useRsTabsNav.js +96 -28
  280. package/dist/composables/useRsToast.d.ts +11 -13
  281. package/dist/composables/useRsToast.js +66 -17
  282. package/dist/index.d.ts +30 -21
  283. package/dist/index.js +14 -0
  284. package/dist/locale/apply.js +6 -1
  285. package/dist/locale/messages.js +128 -2
  286. package/dist/styles.css +465 -808
  287. package/dist/theme/brand.example.css +3 -2
  288. package/dist/vite-plugins/niuma-ui-host.js +1 -1
  289. package/package.json +2 -5
  290. package/dist/components/_shared/src/reka.d.ts +0 -2
  291. package/dist/components/_shared/src/reka.js +0 -2
@@ -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;