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,20 +1,56 @@
1
- export type RsStatAccent = 'primary' | 'success' | 'warning' | 'danger' | 'info';
1
+ import { type RsStatAccent, type RsStatFormat, type RsStatSize, type RsStatTrend, type RsStatTrendTone } from './stat-card-utils';
2
+ export type { RsStatAccent, RsStatFormat, RsStatSize, RsStatTrend, RsStatTrendTone };
2
3
  type __VLS_Props = {
4
+ /** 指标名。不是标题层级,避免一排 KPI 污染大纲。 */
3
5
  label: string;
4
6
  value?: string | number;
5
7
  description?: string;
6
8
  accent?: RsStatAccent;
7
9
  loading?: boolean;
10
+ /** 数值前的单位或符号。货币符号优先用 format.style=currency,由 locale 决定位置。 */
11
+ prefix?: string;
12
+ /** 数值后的单位,例如 ms、req/s。 */
13
+ suffix?: string;
14
+ /** 涨跌方向。不表示好坏,好坏用 trendTone。 */
15
+ trend?: RsStatTrend;
16
+ /** 变化量。字符串原样显示;数字跟随 format / precision。 */
17
+ delta?: string | number;
18
+ trendTone?: RsStatTrendTone;
19
+ /**
20
+ * 仅对有限数字生效。默认 false,12480 仍显示 12480。
21
+ * true 使用当前 locale 分组;对象传给 Intl.NumberFormat。
22
+ */
23
+ format?: RsStatFormat;
24
+ /** 打开定点小数。未传 format 时也会格式化数字。字符串 value 仍原样。 */
25
+ precision?: number;
26
+ /** 疏密。不是控件 size,没有 ssm。 */
27
+ size?: RsStatSize;
28
+ id?: string;
29
+ /** 需要把整张卡标成命名区域时再传。默认不设,避免一排 KPI 变成一排 landmark。 */
30
+ ariaLabel?: string;
8
31
  };
9
- declare var __VLS_1: {}, __VLS_3: {};
32
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {}, __VLS_9: {}, __VLS_11: {}, __VLS_13: {};
10
33
  type __VLS_Slots = {} & {
11
- value?: (props: typeof __VLS_1) => any;
34
+ icon?: (props: typeof __VLS_1) => any;
12
35
  } & {
13
- default?: (props: typeof __VLS_3) => any;
36
+ prefix?: (props: typeof __VLS_3) => any;
37
+ } & {
38
+ value?: (props: typeof __VLS_5) => any;
39
+ } & {
40
+ suffix?: (props: typeof __VLS_7) => any;
41
+ } & {
42
+ trend?: (props: typeof __VLS_9) => any;
43
+ } & {
44
+ description?: (props: typeof __VLS_11) => any;
45
+ } & {
46
+ default?: (props: typeof __VLS_13) => any;
14
47
  };
15
48
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
49
+ size: RsStatSize;
16
50
  loading: boolean;
51
+ format: RsStatFormat;
17
52
  accent: RsStatAccent;
53
+ trendTone: RsStatTrendTone;
18
54
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
55
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
56
  declare const _default: typeof __VLS_export;
@@ -1,20 +1,56 @@
1
- import { createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString } from "vue";
1
+ import { useRsI18n } from "../../../composables/useRsI18n.js";
2
+ import { formatRsStatValue, hasRsStatDelta, resolveRsStatAccent, resolveRsStatSize, resolveRsStatTrend, resolveRsStatTrendTone, rsStatTrendMark, rsStatTrendMessageKey } from "./stat-card-utils.js";
3
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, useSlots } from "vue";
2
4
  //#region src/components/stat-card/src/RsStatCard.vue?vue&type=script&setup=true&lang.ts
3
- var _hoisted_1 = { class: "rs-stat-card__body" };
4
- var _hoisted_2 = { class: "rs-stat-card__label" };
5
- var _hoisted_3 = {
5
+ var _hoisted_1 = [
6
+ "id",
7
+ "aria-busy",
8
+ "aria-label"
9
+ ];
10
+ var _hoisted_2 = { class: "rs-stat-card__body" };
11
+ var _hoisted_3 = { class: "rs-stat-card__top" };
12
+ var _hoisted_4 = { class: "rs-stat-card__label" };
13
+ var _hoisted_5 = {
14
+ key: 0,
15
+ class: "rs-stat-card__icon",
16
+ "aria-hidden": "true"
17
+ };
18
+ var _hoisted_6 = {
6
19
  key: 0,
7
20
  class: "rs-stat-card__skeleton"
8
21
  };
9
- var _hoisted_4 = {
22
+ var _hoisted_7 = { class: "rs-stat-card__sr" };
23
+ var _hoisted_8 = {
10
24
  key: 1,
11
25
  class: "rs-stat-card__value"
12
26
  };
13
- var _hoisted_5 = {
27
+ var _hoisted_9 = {
28
+ key: 0,
29
+ class: "rs-stat-card__affix"
30
+ };
31
+ var _hoisted_10 = {
32
+ key: 1,
33
+ class: "rs-stat-card__affix"
34
+ };
35
+ var _hoisted_11 = {
36
+ key: 0,
37
+ class: "rs-stat-card__mark",
38
+ "aria-hidden": "true"
39
+ };
40
+ var _hoisted_12 = {
41
+ key: 1,
42
+ class: "rs-stat-card__sr"
43
+ };
44
+ var _hoisted_13 = {
14
45
  key: 2,
46
+ class: "rs-stat-card__delta"
47
+ };
48
+ var _hoisted_14 = {
49
+ key: 3,
15
50
  class: "rs-stat-card__description"
16
51
  };
17
52
  var RsStatCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
53
+ name: "RsStatCard",
18
54
  __name: "RsStatCard",
19
55
  props: {
20
56
  label: {},
@@ -24,16 +60,74 @@ var RsStatCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
24
60
  loading: {
25
61
  type: Boolean,
26
62
  default: false
27
- }
63
+ },
64
+ prefix: {},
65
+ suffix: {},
66
+ trend: {},
67
+ delta: {},
68
+ trendTone: { default: "neutral" },
69
+ format: {
70
+ type: Boolean,
71
+ default: false
72
+ },
73
+ precision: {},
74
+ size: { default: "md" },
75
+ id: {},
76
+ ariaLabel: {}
28
77
  },
29
78
  setup(__props) {
79
+ const props = __props;
80
+ const slots = useSlots();
81
+ const { t, locale } = useRsI18n();
82
+ const accentName = computed(() => resolveRsStatAccent(props.accent));
83
+ const sizeName = computed(() => resolveRsStatSize(props.size));
84
+ const trendKind = computed(() => resolveRsStatTrend(props.trend));
85
+ const rootClass = computed(() => [
86
+ "rs-stat-card",
87
+ `rs-stat-card--${accentName.value}`,
88
+ `rs-stat-card--${sizeName.value}`
89
+ ]);
90
+ const trendClass = computed(() => `rs-stat-card__trend--${resolveRsStatTrendTone(props.trendTone)}`);
91
+ const showTrend = computed(() => Boolean(slots.trend) || trendKind.value != null || hasRsStatDelta(props.delta));
92
+ const displayValue = computed(() => formatRsStatValue(props.value, {
93
+ format: props.format,
94
+ precision: props.precision,
95
+ locale: locale.value
96
+ }));
97
+ const displayDelta = computed(() => formatRsStatValue(props.delta, {
98
+ format: props.format,
99
+ precision: props.precision,
100
+ locale: locale.value
101
+ }));
102
+ const trendMark = computed(() => trendKind.value ? rsStatTrendMark(trendKind.value) : "");
103
+ const trendText = computed(() => trendKind.value ? t(rsStatTrendMessageKey(trendKind.value)) : "");
30
104
  return (_ctx, _cache) => {
31
- return openBlock(), createElementBlock("section", { class: normalizeClass(["rs-stat-card", `rs-stat-card--${__props.accent}`]) }, [_cache[0] || (_cache[0] = createElementVNode("div", { class: "rs-stat-card__accent" }, null, -1)), createElementVNode("div", _hoisted_1, [
32
- createElementVNode("div", _hoisted_2, toDisplayString(__props.label), 1),
33
- __props.loading ? (openBlock(), createElementBlock("div", _hoisted_3)) : (openBlock(), createElementBlock("div", _hoisted_4, [renderSlot(_ctx.$slots, "value", {}, () => [createTextVNode(toDisplayString(__props.value), 1)], true)])),
34
- __props.description ? (openBlock(), createElementBlock("p", _hoisted_5, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
105
+ return openBlock(), createElementBlock("section", {
106
+ id: __props.id,
107
+ class: normalizeClass(rootClass.value),
108
+ "aria-busy": __props.loading ? true : void 0,
109
+ "aria-label": __props.ariaLabel
110
+ }, [_cache[0] || (_cache[0] = createElementVNode("div", {
111
+ class: "rs-stat-card__accent",
112
+ "aria-hidden": "true"
113
+ }, null, -1)), createElementVNode("div", _hoisted_2, [
114
+ createElementVNode("div", _hoisted_3, [createElementVNode("p", _hoisted_4, toDisplayString(__props.label), 1), _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_5, [renderSlot(_ctx.$slots, "icon", {}, void 0, true)])) : createCommentVNode("", true)]),
115
+ __props.loading ? (openBlock(), createElementBlock("div", _hoisted_6, [createElementVNode("span", _hoisted_7, toDisplayString(unref(t)("statCard.loading")), 1)])) : (openBlock(), createElementBlock("div", _hoisted_8, [
116
+ __props.prefix || _ctx.$slots.prefix ? (openBlock(), createElementBlock("span", _hoisted_9, [renderSlot(_ctx.$slots, "prefix", {}, () => [createTextVNode(toDisplayString(__props.prefix), 1)], true)])) : createCommentVNode("", true),
117
+ renderSlot(_ctx.$slots, "value", {}, () => [createTextVNode(toDisplayString(displayValue.value), 1)], true),
118
+ __props.suffix || _ctx.$slots.suffix ? (openBlock(), createElementBlock("span", _hoisted_10, [renderSlot(_ctx.$slots, "suffix", {}, () => [createTextVNode(toDisplayString(__props.suffix), 1)], true)])) : createCommentVNode("", true)
119
+ ])),
120
+ !__props.loading && showTrend.value ? (openBlock(), createElementBlock("p", {
121
+ key: 2,
122
+ class: normalizeClass(["rs-stat-card__trend", trendClass.value])
123
+ }, [renderSlot(_ctx.$slots, "trend", {}, () => [
124
+ trendMark.value ? (openBlock(), createElementBlock("span", _hoisted_11, toDisplayString(trendMark.value), 1)) : createCommentVNode("", true),
125
+ trendText.value ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(trendText.value), 1)) : createCommentVNode("", true),
126
+ displayDelta.value ? (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(displayDelta.value), 1)) : createCommentVNode("", true)
127
+ ], true)], 2)) : createCommentVNode("", true),
128
+ __props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("p", _hoisted_14, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(__props.description), 1)], true)])) : createCommentVNode("", true),
35
129
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
36
- ])], 2);
130
+ ])], 10, _hoisted_1);
37
131
  };
38
132
  }
39
133
  });
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
3
3
  import RsStatCard_vue_vue_type_script_setup_true_lang_default from "./RsStatCard.impl.js";
4
4
 
5
5
  //#region src/components/stat-card/src/RsStatCard.vue
6
- var RsStatCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsStatCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-96f97696"]]);
6
+ var RsStatCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsStatCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-75b35569"]]);
7
7
  //#endregion
8
8
  export { RsStatCard_default as default };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 指标卡纯函数。数字格式化只在调用方打开 format / precision 时走 Intl,
3
+ * 默认把 number 转成与模板插值相同的字符串,避免改变已有仪表盘文案。
4
+ */
5
+ export declare const RS_STAT_ACCENTS: readonly ["primary", "success", "warning", "danger", "info"];
6
+ export type RsStatAccent = (typeof RS_STAT_ACCENTS)[number];
7
+ export declare const RS_STAT_TRENDS: readonly ["up", "down", "flat"];
8
+ export type RsStatTrend = (typeof RS_STAT_TRENDS)[number];
9
+ export declare const RS_STAT_TREND_TONES: readonly ["neutral", "primary", "success", "warning", "danger", "info"];
10
+ export type RsStatTrendTone = (typeof RS_STAT_TREND_TONES)[number];
11
+ /** 疏密,不是控件高度。没有 ssm。 */
12
+ export declare const RS_STAT_SIZES: readonly ["sm", "md", "lg"];
13
+ export type RsStatSize = (typeof RS_STAT_SIZES)[number];
14
+ /** true 使用当前 locale 的默认分组;对象传给 Intl.NumberFormat。false 保持原文。 */
15
+ export type RsStatFormat = boolean | Intl.NumberFormatOptions;
16
+ export declare function isRsStatAccent(value: unknown): value is RsStatAccent;
17
+ export declare function isRsStatTrend(value: unknown): value is RsStatTrend;
18
+ export declare function isRsStatTrendTone(value: unknown): value is RsStatTrendTone;
19
+ export declare function isRsStatSize(value: unknown): value is RsStatSize;
20
+ export declare function resolveRsStatAccent(accent?: string | null): RsStatAccent;
21
+ export declare function resolveRsStatTrend(trend?: string | null): RsStatTrend | null;
22
+ export declare function resolveRsStatTrendTone(tone?: string | null): RsStatTrendTone;
23
+ export declare function resolveRsStatSize(size?: string | null): RsStatSize;
24
+ export declare function rsStatTrendMark(trend: RsStatTrend): string;
25
+ export declare function rsStatTrendMessageKey(trend: RsStatTrend): string;
26
+ export declare function hasRsStatDelta(delta: string | number | null | undefined): boolean;
27
+ /** 未打开格式化时返回 null,调用方保持 String(value)。 */
28
+ export declare function resolveRsStatNumberFormat(format: RsStatFormat | null | undefined, precision: number | null | undefined): Intl.NumberFormatOptions | null;
29
+ /** 测试观察缓存上限。不从包根导出。 */
30
+ export declare function rsStatFormatterCacheSize(): number;
31
+ /**
32
+ * 字符串原样返回(调用方已经本地化)。
33
+ * 有限数字在 format/precision 打开时用 locale 格式化;非法选项回退 String(value),不抛。
34
+ */
35
+ export declare function formatRsStatValue(value: string | number | null | undefined, input: {
36
+ format?: RsStatFormat | null;
37
+ precision?: number | null;
38
+ locale: string;
39
+ }): string;
@@ -0,0 +1,113 @@
1
+ //#region src/components/stat-card/src/stat-card-utils.ts
2
+ /**
3
+ * 指标卡纯函数。数字格式化只在调用方打开 format / precision 时走 Intl,
4
+ * 默认把 number 转成与模板插值相同的字符串,避免改变已有仪表盘文案。
5
+ */
6
+ var RS_STAT_ACCENTS = [
7
+ "primary",
8
+ "success",
9
+ "warning",
10
+ "danger",
11
+ "info"
12
+ ];
13
+ var RS_STAT_TRENDS = [
14
+ "up",
15
+ "down",
16
+ "flat"
17
+ ];
18
+ var RS_STAT_TREND_TONES = ["neutral", ...RS_STAT_ACCENTS];
19
+ /** 疏密,不是控件高度。没有 ssm。 */
20
+ var RS_STAT_SIZES = [
21
+ "sm",
22
+ "md",
23
+ "lg"
24
+ ];
25
+ var FORMATTER_CACHE_LIMIT = 24;
26
+ var formatters = /* @__PURE__ */ new Map();
27
+ function isRsStatAccent(value) {
28
+ return typeof value === "string" && RS_STAT_ACCENTS.includes(value);
29
+ }
30
+ function isRsStatTrend(value) {
31
+ return typeof value === "string" && RS_STAT_TRENDS.includes(value);
32
+ }
33
+ function isRsStatTrendTone(value) {
34
+ return typeof value === "string" && RS_STAT_TREND_TONES.includes(value);
35
+ }
36
+ function isRsStatSize(value) {
37
+ return typeof value === "string" && RS_STAT_SIZES.includes(value);
38
+ }
39
+ function resolveRsStatAccent(accent) {
40
+ return isRsStatAccent(accent) ? accent : "primary";
41
+ }
42
+ function resolveRsStatTrend(trend) {
43
+ return isRsStatTrend(trend) ? trend : null;
44
+ }
45
+ function resolveRsStatTrendTone(tone) {
46
+ return isRsStatTrendTone(tone) ? tone : "neutral";
47
+ }
48
+ function resolveRsStatSize(size) {
49
+ return isRsStatSize(size) ? size : "md";
50
+ }
51
+ function rsStatTrendMark(trend) {
52
+ if (trend === "up") return "↑";
53
+ if (trend === "down") return "↓";
54
+ return "–";
55
+ }
56
+ function rsStatTrendMessageKey(trend) {
57
+ return `statCard.trend.${trend}`;
58
+ }
59
+ function hasRsStatDelta(delta) {
60
+ return delta != null && delta !== "";
61
+ }
62
+ function clampPrecision(precision) {
63
+ if (precision == null || !Number.isFinite(precision)) return null;
64
+ return Math.min(20, Math.max(0, Math.trunc(precision)));
65
+ }
66
+ /** 未打开格式化时返回 null,调用方保持 String(value)。 */
67
+ function resolveRsStatNumberFormat(format, precision) {
68
+ const digits = clampPrecision(precision);
69
+ if (!(format === true || format != null && typeof format === "object") && digits == null) return null;
70
+ const spec = format != null && typeof format === "object" ? { ...format } : {};
71
+ if (digits != null) {
72
+ spec.minimumFractionDigits = digits;
73
+ spec.maximumFractionDigits = digits;
74
+ }
75
+ return spec;
76
+ }
77
+ function stableFormatKey(options) {
78
+ return Object.keys(options).sort().map((key) => `${key}=${String(options[key])}`).join("&");
79
+ }
80
+ function cachedFormatter(locale, options) {
81
+ const key = `${locale}\0${stableFormatKey(options)}`;
82
+ const hit = formatters.get(key);
83
+ if (hit) {
84
+ formatters.delete(key);
85
+ formatters.set(key, hit);
86
+ return hit;
87
+ }
88
+ const created = new Intl.NumberFormat(locale || void 0, options);
89
+ if (formatters.size >= FORMATTER_CACHE_LIMIT) {
90
+ const oldest = formatters.keys().next().value;
91
+ if (oldest !== void 0) formatters.delete(oldest);
92
+ }
93
+ formatters.set(key, created);
94
+ return created;
95
+ }
96
+ /**
97
+ * 字符串原样返回(调用方已经本地化)。
98
+ * 有限数字在 format/precision 打开时用 locale 格式化;非法选项回退 String(value),不抛。
99
+ */
100
+ function formatRsStatValue(value, input) {
101
+ if (value == null || value === "") return "";
102
+ if (typeof value === "string") return value;
103
+ if (!Number.isFinite(value)) return String(value);
104
+ const spec = resolveRsStatNumberFormat(input.format, input.precision);
105
+ if (!spec) return String(value);
106
+ try {
107
+ return cachedFormatter(input.locale, spec).format(value);
108
+ } catch {
109
+ return String(value);
110
+ }
111
+ }
112
+ //#endregion
113
+ export { RS_STAT_ACCENTS, RS_STAT_SIZES, RS_STAT_TRENDS, RS_STAT_TREND_TONES, formatRsStatValue, hasRsStatDelta, isRsStatAccent, isRsStatSize, isRsStatTrend, isRsStatTrendTone, resolveRsStatAccent, resolveRsStatNumberFormat, resolveRsStatSize, resolveRsStatTrend, resolveRsStatTrendTone, rsStatTrendMark, rsStatTrendMessageKey };
@@ -1,3 +1,3 @@
1
1
  export { default as RsSteps } from './src/RsSteps.js';
2
- export type { RsStepItem, RsStepStatus, RsStepsOrientation, RsStepsSize } from './src/steps-utils';
2
+ export type { RsStepItem, RsStepStatus, RsStepsExpose, RsStepsInstance, RsStepsItemSlot, RsStepsLabelPlacement, RsStepsOrientation, RsStepsSize, RsStepsType, } from './src/steps-utils';
3
3
  export { isStepSeparatorCompleted, resolveStepStatus } from './src/steps-utils';
@@ -1,83 +1,204 @@
1
1
 
2
- .rs-steps[data-v-b7fdd868] {
2
+ .rs-steps[data-v-773a38b0] {
3
+ --rs-steps-indicator-size: var(--rs-steps-indicator-size-md);
4
+ min-width: 0;
5
+ }
6
+ .rs-steps--ssm[data-v-773a38b0] {
7
+ --rs-steps-indicator-size: var(--rs-steps-indicator-size-ssm);
8
+ }
9
+ .rs-steps--sm[data-v-773a38b0] {
10
+ --rs-steps-indicator-size: var(--rs-steps-indicator-size-sm);
11
+ }
12
+ .rs-steps--lg[data-v-773a38b0] {
13
+ --rs-steps-indicator-size: var(--rs-steps-indicator-size-lg);
14
+ }
15
+ .rs-steps__list[data-v-773a38b0] {
3
16
  display: flex;
4
- gap: var(--rs-space-md);
17
+ gap: var(--rs-steps-gap);
5
18
  margin: 0;
6
19
  padding: 0;
7
20
  list-style: none;
8
21
  }
9
- .rs-steps--vertical[data-v-b7fdd868] {
22
+ .rs-steps--vertical .rs-steps__list[data-v-773a38b0] {
10
23
  flex-direction: column;
11
24
  }
12
- .rs-steps__item[data-v-b7fdd868] {
25
+ .rs-steps__item[data-v-773a38b0] {
13
26
  display: flex;
14
27
  flex: 1;
15
28
  align-items: center;
16
- gap: var(--rs-space-md);
29
+ gap: var(--rs-steps-item-gap);
17
30
  min-width: 0;
18
31
  }
19
- .rs-steps--vertical .rs-steps__item[data-v-b7fdd868] {
20
- align-items: flex-start;
32
+ .rs-steps--vertical .rs-steps__item[data-v-773a38b0] {
33
+ flex: none;
34
+ flex-direction: column;
35
+ align-items: stretch;
36
+ }
37
+ .rs-steps--label-bottom.rs-steps--horizontal .rs-steps__item[data-v-773a38b0] {
38
+ position: relative;
39
+ flex-direction: column;
40
+ align-items: center;
21
41
  }
22
- .rs-steps__trigger[data-v-b7fdd868] {
42
+ .rs-steps__trigger[data-v-773a38b0] {
23
43
  display: inline-flex;
24
44
  align-items: center;
25
- gap: var(--rs-space-sm);
45
+ gap: var(--rs-steps-trigger-gap);
26
46
  min-width: 0;
47
+ margin: 0;
48
+ padding: 0;
27
49
  border: 0;
28
50
  background: transparent;
29
51
  color: inherit;
52
+ font: inherit;
30
53
  text-align: start;
54
+ cursor: default;
31
55
  }
32
- .rs-steps__trigger[data-v-b7fdd868]:not(:disabled) {
56
+ .rs-steps--clickable .rs-steps__trigger[data-v-773a38b0] {
33
57
  cursor: pointer;
34
58
  }
35
- .rs-steps__indicator[data-v-b7fdd868] {
59
+ .rs-steps--label-bottom.rs-steps--horizontal .rs-steps__trigger[data-v-773a38b0] {
60
+ flex-direction: column;
61
+ align-items: center;
62
+ text-align: center;
63
+ }
64
+ .rs-steps__trigger[data-v-773a38b0]:focus-visible {
65
+ outline: var(--rs-focus-ring-width) solid var(--rs-focus-ring);
66
+ outline-offset: 2px;
67
+ border-radius: var(--rs-radius-xs);
68
+ }
69
+ .rs-steps__item--disabled .rs-steps__trigger[data-v-773a38b0] {
70
+ opacity: var(--rs-steps-disabled-opacity);
71
+ cursor: not-allowed;
72
+ }
73
+ .rs-steps__indicator[data-v-773a38b0] {
74
+ position: relative;
36
75
  display: inline-flex;
37
76
  align-items: center;
38
77
  justify-content: center;
39
- width: 1.75rem;
40
- height: 1.75rem;
78
+ width: var(--rs-steps-indicator-size);
79
+ height: var(--rs-steps-indicator-size);
41
80
  flex: 0 0 auto;
42
81
  border-radius: var(--rs-radius-full);
43
- background: var(--rs-surface-hover);
44
- color: var(--rs-muted);
82
+ background: var(--rs-steps-wait-bg);
83
+ color: var(--rs-steps-wait-fg);
45
84
  font-size: var(--rs-font-size-xs);
46
85
  font-weight: var(--rs-font-weight-bold);
86
+ line-height: 1;
87
+ transition:
88
+ background-color var(--rs-transition-fast),
89
+ color var(--rs-transition-fast);
90
+ }
91
+ .rs-steps--ssm .rs-steps__indicator[data-v-773a38b0],
92
+ .rs-steps--sm .rs-steps__indicator[data-v-773a38b0] {
93
+ font-size: var(--rs-font-size-xs);
47
94
  }
48
- .rs-steps--sm .rs-steps__indicator[data-v-b7fdd868] {
49
- width: 1.5rem;
50
- height: 1.5rem;
95
+ .rs-steps--dot .rs-steps__indicator[data-v-773a38b0] {
96
+ width: var(--rs-steps-dot-size);
97
+ height: var(--rs-steps-dot-size);
51
98
  }
52
- .rs-steps__item--finish .rs-steps__indicator[data-v-b7fdd868],
53
- .rs-steps__item--process .rs-steps__indicator[data-v-b7fdd868] {
54
- background: var(--rs-primary);
55
- color: var(--rs-primary-foreground);
99
+ .rs-steps__item--finish .rs-steps__indicator[data-v-773a38b0],
100
+ .rs-steps__item--process .rs-steps__indicator[data-v-773a38b0] {
101
+ background: var(--rs-steps-process-bg);
102
+ color: var(--rs-steps-process-fg);
56
103
  }
57
- .rs-steps__item--error .rs-steps__indicator[data-v-b7fdd868] {
58
- background: var(--rs-danger-container);
59
- color: var(--rs-on-danger-container);
104
+ .rs-steps__item--finish .rs-steps__indicator[data-v-773a38b0] {
105
+ background: var(--rs-steps-finish-bg);
106
+ color: var(--rs-steps-finish-fg);
60
107
  }
61
- .rs-steps__body[data-v-b7fdd868] {
108
+ .rs-steps__item--error .rs-steps__indicator[data-v-773a38b0] {
109
+ background: var(--rs-steps-error-bg);
110
+ color: var(--rs-steps-error-fg);
111
+ }
112
+ .rs-steps__indicator--percent[data-v-773a38b0] {
113
+ background: conic-gradient(
114
+ var(--rs-steps-process-bg) calc(var(--rs-steps-percent, 0) * 1%),
115
+ var(--rs-steps-wait-bg) 0
116
+ );
117
+ }
118
+ .rs-steps__indicator--percent[data-v-773a38b0]::before {
119
+ content: '';
120
+ position: absolute;
121
+ inset: 0.125rem;
122
+ border-radius: inherit;
123
+ background: var(--rs-steps-process-bg);
124
+ }
125
+ .rs-steps__mark[data-v-773a38b0] {
126
+ position: relative;
127
+ z-index: 1;
128
+ }
129
+ .rs-steps__body[data-v-773a38b0] {
62
130
  display: grid;
63
131
  min-width: 0;
64
132
  }
65
- .rs-steps__title[data-v-b7fdd868] {
66
- color: var(--rs-text);
133
+ .rs-steps__title[data-v-773a38b0] {
134
+ overflow: hidden;
135
+ color: var(--rs-steps-title);
67
136
  font-size: var(--rs-font-size-sm);
68
- font-weight: var(--rs-font-weight-semibold);
137
+ font-weight: var(--rs-steps-title-weight);
138
+ line-height: var(--rs-line-height-normal);
139
+ text-overflow: ellipsis;
140
+ white-space: nowrap;
141
+ }
142
+ .rs-steps__item--process .rs-steps__title[data-v-773a38b0],
143
+ .rs-steps__item--finish .rs-steps__title[data-v-773a38b0] {
144
+ color: var(--rs-steps-title-active);
69
145
  }
70
- .rs-steps__description[data-v-b7fdd868] {
71
- color: var(--rs-muted);
146
+ .rs-steps__item--error .rs-steps__title[data-v-773a38b0] {
147
+ color: var(--rs-steps-title-error);
148
+ }
149
+ .rs-steps__description[data-v-773a38b0] {
150
+ overflow: hidden;
151
+ color: var(--rs-steps-description);
72
152
  font-size: var(--rs-font-size-xs);
153
+ line-height: var(--rs-line-height-normal);
154
+ text-overflow: ellipsis;
73
155
  }
74
- .rs-steps__separator[data-v-b7fdd868] {
156
+ .rs-steps__status[data-v-773a38b0] {
157
+ position: absolute;
158
+ width: 1px;
75
159
  height: 1px;
160
+ padding: 0;
161
+ margin: -1px;
162
+ overflow: hidden;
163
+ clip: rect(0, 0, 0, 0);
164
+ white-space: nowrap;
165
+ border: 0;
166
+ }
167
+ .rs-steps__separator[data-v-773a38b0] {
168
+ height: var(--rs-steps-separator-size);
76
169
  flex: 1;
77
- background: var(--rs-border);
170
+ background: var(--rs-steps-separator);
171
+ transition: background-color var(--rs-transition-fast);
172
+ }
173
+ .rs-steps__separator--finish[data-v-773a38b0] {
174
+ background: var(--rs-steps-separator-finish);
175
+ }
176
+ .rs-steps--vertical .rs-steps__separator[data-v-773a38b0] {
177
+ width: var(--rs-steps-separator-size);
178
+ min-height: var(--rs-steps-separator-min);
179
+ margin-inline-start: calc((var(--rs-steps-indicator-size) - var(--rs-steps-separator-size)) / 2);
180
+ flex: none;
181
+ height: auto;
182
+ }
183
+ .rs-steps--label-bottom.rs-steps--horizontal .rs-steps__separator[data-v-773a38b0] {
184
+ position: absolute;
185
+ top: calc(var(--rs-steps-indicator-size) / 2);
186
+ inset-inline-start: calc(50% + var(--rs-steps-indicator-size) / 2 + var(--rs-steps-gap) / 2);
187
+ width: calc(100% - var(--rs-steps-indicator-size) - var(--rs-steps-gap));
188
+ height: var(--rs-steps-separator-size);
189
+ flex: none;
190
+ }
191
+ .rs-steps--dot.rs-steps--vertical .rs-steps__separator[data-v-773a38b0] {
192
+ margin-inline-start: calc((var(--rs-steps-dot-size) - var(--rs-steps-separator-size)) / 2);
193
+ }
194
+ .rs-steps--dot.rs-steps--label-bottom.rs-steps--horizontal .rs-steps__separator[data-v-773a38b0] {
195
+ top: calc(var(--rs-steps-dot-size) / 2);
196
+ inset-inline-start: calc(50% + var(--rs-steps-dot-size) / 2 + var(--rs-steps-gap) / 2);
197
+ width: calc(100% - var(--rs-steps-dot-size) - var(--rs-steps-gap));
198
+ }
199
+ @media (prefers-reduced-motion: reduce) {
200
+ .rs-steps__indicator[data-v-773a38b0],
201
+ .rs-steps__separator[data-v-773a38b0] {
202
+ transition: none;
78
203
  }
79
- .rs-steps--vertical .rs-steps__separator[data-v-b7fdd868] {
80
- width: 1px;
81
- min-height: 1.5rem;
82
- margin-inline-start: 0.875rem;
83
204
  }