niuma-ui 2.0.3 → 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 (457) hide show
  1. package/CHANGELOG.md +96 -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.d.ts +1 -1
  6. package/dist/components/_shared/src/reka.js +2 -2
  7. package/dist/components/alert/index.d.ts +1 -0
  8. package/dist/components/alert/src/RsAlert.css +120 -65
  9. package/dist/components/alert/src/RsAlert.d.ts +24 -5
  10. package/dist/components/alert/src/RsAlert.impl.js +108 -36
  11. package/dist/components/alert/src/RsAlert.js +1 -1
  12. package/dist/components/alert/src/alert-utils.d.ts +37 -0
  13. package/dist/components/alert/src/alert-utils.js +71 -0
  14. package/dist/components/anchor/index.d.ts +1 -1
  15. package/dist/components/anchor/src/RsAnchor.css +63 -32
  16. package/dist/components/anchor/src/RsAnchor.d.ts +29 -2
  17. package/dist/components/anchor/src/RsAnchor.impl.js +199 -81
  18. package/dist/components/anchor/src/RsAnchor.js +1 -1
  19. package/dist/components/anchor/src/anchor-utils.d.ts +36 -4
  20. package/dist/components/anchor/src/anchor-utils.js +81 -19
  21. package/dist/components/auto-complete/index.d.ts +2 -0
  22. package/dist/components/auto-complete/src/RsAutoComplete.css +122 -0
  23. package/dist/components/auto-complete/src/RsAutoComplete.d.ts +47 -7
  24. package/dist/components/auto-complete/src/RsAutoComplete.impl.js +180 -72
  25. package/dist/components/auto-complete/src/RsAutoComplete.js +4 -1
  26. package/dist/components/auto-complete/src/auto-complete-utils.d.ts +7 -0
  27. package/dist/components/auto-complete/src/auto-complete-utils.js +17 -0
  28. package/dist/components/avatar/index.d.ts +1 -0
  29. package/dist/components/avatar/src/RsAvatar.css +36 -19
  30. package/dist/components/avatar/src/RsAvatar.d.ts +9 -3
  31. package/dist/components/avatar/src/RsAvatar.impl.js +57 -33
  32. package/dist/components/avatar/src/RsAvatar.js +2 -1
  33. package/dist/components/avatar/src/avatar-utils.d.ts +16 -7
  34. package/dist/components/avatar/src/avatar-utils.js +41 -3
  35. package/dist/components/breadcrumb/index.d.ts +1 -1
  36. package/dist/components/breadcrumb/src/RsBreadcrumb.css +50 -17
  37. package/dist/components/breadcrumb/src/RsBreadcrumb.d.ts +45 -6
  38. package/dist/components/breadcrumb/src/RsBreadcrumb.impl.js +111 -12
  39. package/dist/components/breadcrumb/src/RsBreadcrumb.js +2 -1
  40. package/dist/components/breadcrumb/src/breadcrumb-utils.d.ts +37 -5
  41. package/dist/components/breadcrumb/src/breadcrumb-utils.js +70 -9
  42. package/dist/components/button/src/RsButton.impl.js +1 -1
  43. package/dist/components/calendar-grid/index.d.ts +2 -0
  44. package/dist/components/calendar-grid/src/RsCalendarGrid.css +105 -45
  45. package/dist/components/calendar-grid/src/RsCalendarGrid.d.ts +62 -2
  46. package/dist/components/calendar-grid/src/RsCalendarGrid.impl.js +265 -94
  47. package/dist/components/calendar-grid/src/RsCalendarGrid.js +1 -1
  48. package/dist/components/calendar-grid/src/calendar-grid-utils.d.ts +72 -0
  49. package/dist/components/calendar-grid/src/calendar-grid-utils.js +122 -0
  50. package/dist/components/card/index.d.ts +1 -1
  51. package/dist/components/card/src/RsCard.css +108 -98
  52. package/dist/components/card/src/RsCard.d.ts +4 -13
  53. package/dist/components/card/src/RsCard.impl.js +29 -25
  54. package/dist/components/card/src/RsCard.js +2 -1
  55. package/dist/components/card/src/card-utils.d.ts +25 -0
  56. package/dist/components/card/src/card-utils.js +10 -0
  57. package/dist/components/cascader/index.d.ts +1 -0
  58. package/dist/components/cascader/src/RsCascader.css +175 -30
  59. package/dist/components/cascader/src/RsCascader.d.ts +15 -3
  60. package/dist/components/cascader/src/RsCascader.impl.js +277 -48
  61. package/dist/components/cascader/src/RsCascader.js +1 -1
  62. package/dist/components/cascader/src/cascader-utils.d.ts +2 -0
  63. package/dist/components/cascader/src/cascader-utils.js +8 -1
  64. package/dist/components/checkbox/index.d.ts +1 -0
  65. package/dist/components/checkbox/src/RsCheckbox.css +46 -23
  66. package/dist/components/checkbox/src/RsCheckbox.d.ts +11 -1
  67. package/dist/components/checkbox/src/RsCheckbox.impl.js +37 -9
  68. package/dist/components/checkbox/src/RsCheckbox.js +2 -1
  69. package/dist/components/checkbox/src/checkbox-utils.d.ts +4 -0
  70. package/dist/components/checkbox/src/checkbox-utils.js +12 -0
  71. package/dist/components/code-block/index.d.ts +1 -0
  72. package/dist/components/code-block/src/RsCodeBlock.css +93 -52
  73. package/dist/components/code-block/src/RsCodeBlock.d.ts +36 -9
  74. package/dist/components/code-block/src/RsCodeBlock.impl.js +203 -84
  75. package/dist/components/code-block/src/RsCodeBlock.js +1 -1
  76. package/dist/components/code-block/src/code-block-highlight.d.ts +4 -0
  77. package/dist/components/code-block/src/code-block-highlight.js +34 -0
  78. package/dist/components/code-block/src/code-block-utils.d.ts +23 -0
  79. package/dist/components/code-block/src/code-block-utils.js +71 -0
  80. package/dist/components/code-editor/index.d.ts +1 -1
  81. package/dist/components/code-editor/src/RsCodeEditor.css +118 -92
  82. package/dist/components/code-editor/src/RsCodeEditor.d.ts +14 -3
  83. package/dist/components/code-editor/src/RsCodeEditor.impl.js +261 -94
  84. package/dist/components/code-editor/src/RsCodeEditor.js +1 -1
  85. package/dist/components/code-editor/src/code-editor-utils.d.ts +15 -0
  86. package/dist/components/code-editor/src/code-editor-utils.js +36 -1
  87. package/dist/components/code-editor/src/code-mirror-completion.d.ts +1 -1
  88. package/dist/components/code-editor/src/code-mirror-completion.js +8 -5
  89. package/dist/components/code-editor/src/code-mirror-diagnostics.d.ts +2 -3
  90. package/dist/components/code-editor/src/code-mirror-diagnostics.js +3 -4
  91. package/dist/components/code-editor/src/code-mirror-ghost.d.ts +1 -1
  92. package/dist/components/code-editor/src/code-mirror-ghost.js +12 -3
  93. package/dist/components/code-editor/src/code-mirror-inline-edit.js +8 -3
  94. package/dist/components/code-editor/src/code-mirror-intel.d.ts +2 -2
  95. package/dist/components/code-editor/src/code-mirror-intel.js +50 -39
  96. package/dist/components/code-editor/src/code-mirror-lang.js +4 -0
  97. package/dist/components/code-editor/src/code-mirror-session.d.ts +13 -0
  98. package/dist/components/code-editor/src/code-mirror-session.js +30 -0
  99. package/dist/components/container/index.d.ts +1 -1
  100. package/dist/components/container/src/RsContainer.css +11 -11
  101. package/dist/components/container/src/RsContainer.d.ts +2 -12
  102. package/dist/components/container/src/RsContainer.impl.js +10 -57
  103. package/dist/components/container/src/RsContainer.js +1 -1
  104. package/dist/components/container/src/container-utils.d.ts +23 -0
  105. package/dist/components/container/src/container-utils.js +51 -0
  106. package/dist/components/context-menu/index.d.ts +1 -1
  107. package/dist/components/context-menu/src/RsContextMenu.css +115 -89
  108. package/dist/components/context-menu/src/RsContextMenu.d.ts +32 -11
  109. package/dist/components/context-menu/src/RsContextMenu.impl.js +795 -48
  110. package/dist/components/context-menu/src/RsContextMenuItems.d.ts +25 -1
  111. package/dist/components/context-menu/src/RsContextMenuItems.impl.js +110 -61
  112. package/dist/components/context-menu/src/context-menu-utils.d.ts +89 -3
  113. package/dist/components/context-menu/src/context-menu-utils.js +168 -3
  114. package/dist/components/date-picker/index.d.ts +4 -2
  115. package/dist/components/date-picker/src/RsDatePicker.css +42 -22
  116. package/dist/components/date-picker/src/RsDatePicker.d.ts +44 -20
  117. package/dist/components/date-picker/src/RsDatePicker.impl.js +484 -222
  118. package/dist/components/date-picker/src/RsDatePicker.js +1 -3
  119. package/dist/components/date-picker/src/RsDateTimePicker.d.ts +33 -6
  120. package/dist/components/date-picker/src/RsDateTimePicker.impl.js +47 -6
  121. package/dist/components/date-picker/src/date-picker-utils.d.ts +19 -0
  122. package/dist/components/date-picker/src/date-picker-utils.js +33 -10
  123. package/dist/components/descriptions/index.d.ts +1 -1
  124. package/dist/components/descriptions/src/RsDescriptions.css +38 -11
  125. package/dist/components/descriptions/src/RsDescriptions.d.ts +20 -4
  126. package/dist/components/descriptions/src/RsDescriptions.impl.js +89 -19
  127. package/dist/components/descriptions/src/RsDescriptionsItem.impl.js +13 -6
  128. package/dist/components/descriptions/src/descriptions-utils.d.ts +19 -0
  129. package/dist/components/descriptions/src/descriptions-utils.js +39 -1
  130. package/dist/components/dialog/index.d.ts +1 -1
  131. package/dist/components/dialog/src/RsConfirmDialog.css +47 -21
  132. package/dist/components/dialog/src/RsConfirmDialog.d.ts +19 -7
  133. package/dist/components/dialog/src/RsConfirmDialog.impl.js +349 -119
  134. package/dist/components/dialog/src/RsConfirmDialog.js +2 -1
  135. package/dist/components/dialog/src/RsDialog.css +102 -109
  136. package/dist/components/dialog/src/RsDialog.d.ts +34 -24
  137. package/dist/components/dialog/src/RsDialog.impl.js +410 -177
  138. package/dist/components/dialog/src/RsDialog.js +2 -1
  139. package/dist/components/dialog/src/dialog-utils.d.ts +40 -1
  140. package/dist/components/dialog/src/dialog-utils.js +152 -1
  141. package/dist/components/dialog/src/dialog-window.js +29 -8
  142. package/dist/components/drawer/index.d.ts +1 -1
  143. package/dist/components/drawer/src/RsDrawer.css +61 -29
  144. package/dist/components/drawer/src/RsDrawer.d.ts +37 -21
  145. package/dist/components/drawer/src/RsDrawer.impl.js +441 -223
  146. package/dist/components/drawer/src/drawer-utils.d.ts +35 -0
  147. package/dist/components/drawer/src/drawer-utils.js +131 -1
  148. package/dist/components/dropdown/index.d.ts +1 -1
  149. package/dist/components/dropdown/src/RsDropdown.css +140 -61
  150. package/dist/components/dropdown/src/RsDropdown.d.ts +39 -6
  151. package/dist/components/dropdown/src/RsDropdown.impl.js +693 -63
  152. package/dist/components/dropdown/src/RsDropdownItemView.impl.js +17 -7
  153. package/dist/components/dropdown/src/RsDropdownItems.d.ts +32 -3
  154. package/dist/components/dropdown/src/RsDropdownItems.impl.js +171 -59
  155. package/dist/components/dropdown/src/dropdown-utils.d.ts +50 -0
  156. package/dist/components/dropdown/src/dropdown-utils.js +103 -3
  157. package/dist/components/dynamic-tags/index.d.ts +1 -1
  158. package/dist/components/dynamic-tags/src/RsDynamicTags.css +115 -38
  159. package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +58 -17
  160. package/dist/components/dynamic-tags/src/RsDynamicTags.impl.js +269 -106
  161. package/dist/components/dynamic-tags/src/RsDynamicTags.js +1 -1
  162. package/dist/components/dynamic-tags/src/dynamic-tags-utils.d.ts +19 -0
  163. package/dist/components/dynamic-tags/src/dynamic-tags-utils.js +60 -0
  164. package/dist/components/empty/index.d.ts +1 -0
  165. package/dist/components/empty/src/RsEmpty.css +105 -23
  166. package/dist/components/empty/src/RsEmpty.d.ts +27 -4
  167. package/dist/components/empty/src/RsEmpty.impl.js +154 -11
  168. package/dist/components/empty/src/RsEmpty.js +2 -1
  169. package/dist/components/empty/src/empty-utils.d.ts +28 -0
  170. package/dist/components/empty/src/empty-utils.js +55 -0
  171. package/dist/components/fieldset/src/RsFieldset.css +71 -41
  172. package/dist/components/fieldset/src/RsFieldset.d.ts +21 -2
  173. package/dist/components/fieldset/src/RsFieldset.impl.js +93 -26
  174. package/dist/components/fieldset/src/RsFieldset.js +1 -1
  175. package/dist/components/fieldset/src/fieldset-utils.d.ts +4 -0
  176. package/dist/components/fieldset/src/fieldset-utils.js +9 -1
  177. package/dist/components/form/index.d.ts +1 -0
  178. package/dist/components/form/src/RsForm.css +15 -12
  179. package/dist/components/form/src/RsForm.d.ts +21 -23
  180. package/dist/components/form/src/RsForm.impl.js +33 -20
  181. package/dist/components/form/src/RsForm.js +1 -1
  182. package/dist/components/form/src/form-utils.d.ts +7 -0
  183. package/dist/components/form/src/form-utils.js +28 -1
  184. package/dist/components/input/index.d.ts +1 -1
  185. package/dist/components/input/src/RsInput.css +78 -260
  186. package/dist/components/input/src/RsInput.d.ts +5 -3
  187. package/dist/components/input/src/RsInput.impl.js +8 -16
  188. package/dist/components/input/src/RsInput.js +1 -1
  189. package/dist/components/input/src/input-utils.d.ts +11 -0
  190. package/dist/components/input/src/input-utils.js +22 -0
  191. package/dist/components/input-number/index.d.ts +1 -0
  192. package/dist/components/input-number/src/RsInputNumber.css +31 -31
  193. package/dist/components/input-number/src/RsInputNumber.d.ts +16 -14
  194. package/dist/components/input-number/src/RsInputNumber.impl.js +17 -4
  195. package/dist/components/input-number/src/RsInputNumber.js +1 -1
  196. package/dist/components/label/src/RsLabel.css +30 -11
  197. package/dist/components/label/src/RsLabel.d.ts +18 -1
  198. package/dist/components/label/src/RsLabel.impl.js +63 -10
  199. package/dist/components/label/src/RsLabel.js +1 -1
  200. package/dist/components/label/src/label-utils.d.ts +6 -0
  201. package/dist/components/label/src/label-utils.js +16 -0
  202. package/dist/components/link/src/RsLink.d.ts +2 -2
  203. package/dist/components/loading/index.d.ts +1 -0
  204. package/dist/components/loading/src/RsLoading.css +13 -97
  205. package/dist/components/loading/src/RsLoading.d.ts +53 -3
  206. package/dist/components/loading/src/RsLoading.impl.js +216 -33
  207. package/dist/components/loading/src/RsLoading.js +2 -1
  208. package/dist/components/loading/src/loading-status.css +210 -0
  209. package/dist/components/loading/src/loading-status.d.ts +34 -0
  210. package/dist/components/loading/src/loading-status.impl.js +84 -0
  211. package/dist/components/loading/src/loading-status.js +8 -0
  212. package/dist/components/loading/src/loading-utils.d.ts +51 -4
  213. package/dist/components/loading/src/loading-utils.js +122 -0
  214. package/dist/components/loading-bar/index.d.ts +1 -0
  215. package/dist/components/loading-bar/src/RsLoadingBar.css +72 -8
  216. package/dist/components/loading-bar/src/RsLoadingBar.d.ts +55 -11
  217. package/dist/components/loading-bar/src/RsLoadingBar.impl.js +298 -57
  218. package/dist/components/loading-bar/src/RsLoadingBar.js +1 -1
  219. package/dist/components/loading-bar/src/loading-bar-utils.d.ts +69 -0
  220. package/dist/components/loading-bar/src/loading-bar-utils.js +97 -0
  221. package/dist/components/log/src/RsLog.css +52 -144
  222. package/dist/components/log/src/RsLog.d.ts +12 -11
  223. package/dist/components/log/src/RsLog.impl.js +181 -148
  224. package/dist/components/log/src/RsLog.js +1 -1
  225. package/dist/components/log/src/RsLogRow.css +152 -0
  226. package/dist/components/log/src/RsLogRow.d.ts +35 -0
  227. package/dist/components/log/src/RsLogRow.impl.js +91 -0
  228. package/dist/components/log/src/RsLogRow.js +8 -0
  229. package/dist/components/log/src/log-utils.d.ts +8 -0
  230. package/dist/components/log/src/log-utils.js +71 -10
  231. package/dist/components/markdown/index.d.ts +1 -1
  232. package/dist/components/markdown/src/RsMarkdown.css +75 -32
  233. package/dist/components/markdown/src/RsMarkdown.d.ts +6 -2
  234. package/dist/components/markdown/src/RsMarkdown.impl.js +185 -17
  235. package/dist/components/markdown/src/markdown-utils.d.ts +26 -0
  236. package/dist/components/markdown/src/markdown-utils.js +114 -12
  237. package/dist/components/mentions/index.d.ts +2 -1
  238. package/dist/components/mentions/src/RsMentions.css +119 -3
  239. package/dist/components/mentions/src/RsMentions.d.ts +57 -5
  240. package/dist/components/mentions/src/RsMentions.impl.js +298 -79
  241. package/dist/components/mentions/src/RsMentions.js +1 -3
  242. package/dist/components/mentions/src/mentions-utils.d.ts +5 -1
  243. package/dist/components/mentions/src/mentions-utils.js +28 -9
  244. package/dist/components/menu/index.d.ts +1 -1
  245. package/dist/components/menu/src/RsMenu.css +70 -29
  246. package/dist/components/menu/src/RsMenu.d.ts +58 -4
  247. package/dist/components/menu/src/RsMenu.impl.js +93 -46
  248. package/dist/components/menu/src/RsMenuItems.d.ts +22 -5
  249. package/dist/components/menu/src/RsMenuItems.impl.js +506 -154
  250. package/dist/components/menu/src/menu-utils.d.ts +56 -0
  251. package/dist/components/menu/src/menu-utils.js +139 -6
  252. package/dist/components/monaco-editor/index.d.ts +1 -1
  253. package/dist/components/monaco-editor/src/RsMonacoEditor.css +28 -16
  254. package/dist/components/monaco-editor/src/RsMonacoEditor.d.ts +39 -41
  255. package/dist/components/monaco-editor/src/RsMonacoEditor.impl.js +212 -133
  256. package/dist/components/monaco-editor/src/RsMonacoEditor.js +1 -1
  257. package/dist/components/monaco-editor/src/monaco-editor-utils.d.ts +126 -0
  258. package/dist/components/monaco-editor/src/monaco-editor-utils.js +302 -0
  259. package/dist/components/pagination/index.d.ts +2 -2
  260. package/dist/components/pagination/src/RsPagination.css +93 -46
  261. package/dist/components/pagination/src/RsPagination.d.ts +68 -8
  262. package/dist/components/pagination/src/RsPagination.impl.js +229 -86
  263. package/dist/components/pagination/src/RsPagination.js +1 -1
  264. package/dist/components/pagination/src/pagination-utils.d.ts +59 -0
  265. package/dist/components/pagination/src/pagination-utils.js +105 -1
  266. package/dist/components/popover/index.d.ts +1 -0
  267. package/dist/components/popover/src/RsPopover.css +124 -14
  268. package/dist/components/popover/src/RsPopover.d.ts +38 -7
  269. package/dist/components/popover/src/RsPopover.impl.js +546 -35
  270. package/dist/components/popover/src/RsPopover.js +2 -1
  271. package/dist/components/popover/src/popover-utils.d.ts +24 -2
  272. package/dist/components/popover/src/popover-utils.js +55 -0
  273. package/dist/components/radio/index.d.ts +1 -1
  274. package/dist/components/radio/src/RsRadio.css +7 -6
  275. package/dist/components/radio/src/RsRadio.d.ts +8 -5
  276. package/dist/components/radio/src/RsRadio.impl.js +34 -24
  277. package/dist/components/radio/src/RsRadio.js +2 -1
  278. package/dist/components/radio/src/RsRadioItem.css +61 -44
  279. package/dist/components/radio/src/RsRadioItem.d.ts +2 -2
  280. package/dist/components/radio/src/RsRadioItem.impl.js +53 -20
  281. package/dist/components/radio/src/RsRadioItem.js +2 -1
  282. package/dist/components/radio/src/radio-utils.d.ts +12 -1
  283. package/dist/components/radio/src/radio-utils.js +15 -1
  284. package/dist/components/scrollbar/src/RsScrollbar.css +71 -24
  285. package/dist/components/scrollbar/src/RsScrollbar.d.ts +9 -5
  286. package/dist/components/scrollbar/src/RsScrollbar.impl.js +372 -47
  287. package/dist/components/scrollbar/src/RsScrollbar.js +2 -1
  288. package/dist/components/scrollbar/src/scrollbar-utils.d.ts +34 -2
  289. package/dist/components/scrollbar/src/scrollbar-utils.js +64 -1
  290. package/dist/components/select/index.d.ts +1 -0
  291. package/dist/components/select/src/RsSelect.css +54 -42
  292. package/dist/components/select/src/RsSelect.d.ts +19 -2
  293. package/dist/components/select/src/RsSelect.impl.js +727 -312
  294. package/dist/components/select/src/RsSelect.js +1 -1
  295. package/dist/components/select/src/select-utils.d.ts +4 -2
  296. package/dist/components/select/src/select-utils.js +8 -3
  297. package/dist/components/select/src/use-rs-select.d.ts +1 -0
  298. package/dist/components/select/src/use-rs-select.js +23 -17
  299. package/dist/components/sidebar/index.d.ts +1 -0
  300. package/dist/components/sidebar/src/RsSidebar.css +91 -33
  301. package/dist/components/sidebar/src/RsSidebar.d.ts +17 -9
  302. package/dist/components/sidebar/src/RsSidebar.impl.js +124 -22
  303. package/dist/components/sidebar/src/RsSidebar.js +1 -1
  304. package/dist/components/sidebar/src/RsSidebarGroup.css +23 -6
  305. package/dist/components/sidebar/src/RsSidebarGroup.d.ts +6 -2
  306. package/dist/components/sidebar/src/RsSidebarGroup.impl.js +17 -4
  307. package/dist/components/sidebar/src/RsSidebarGroup.js +1 -1
  308. package/dist/components/sidebar/src/RsSidebarItem.css +50 -20
  309. package/dist/components/sidebar/src/RsSidebarItem.d.ts +21 -3
  310. package/dist/components/sidebar/src/RsSidebarItem.impl.js +71 -20
  311. package/dist/components/sidebar/src/RsSidebarItem.js +1 -1
  312. package/dist/components/sidebar/src/sidebar-utils.d.ts +47 -0
  313. package/dist/components/sidebar/src/sidebar-utils.js +72 -0
  314. package/dist/components/split-pane/index.d.ts +2 -2
  315. package/dist/components/split-pane/src/RsSplitPane.css +41 -30
  316. package/dist/components/split-pane/src/RsSplitPane.d.ts +6 -2
  317. package/dist/components/split-pane/src/RsSplitPane.impl.js +153 -45
  318. package/dist/components/split-pane/src/split-pane-utils.d.ts +23 -0
  319. package/dist/components/split-pane/src/split-pane-utils.js +18 -1
  320. package/dist/components/stat-card/index.d.ts +1 -0
  321. package/dist/components/stat-card/src/RsStatCard.css +129 -25
  322. package/dist/components/stat-card/src/RsStatCard.d.ts +40 -4
  323. package/dist/components/stat-card/src/RsStatCard.impl.js +106 -12
  324. package/dist/components/stat-card/src/RsStatCard.js +1 -1
  325. package/dist/components/stat-card/src/stat-card-utils.d.ts +39 -0
  326. package/dist/components/stat-card/src/stat-card-utils.js +113 -0
  327. package/dist/components/steps/index.d.ts +1 -1
  328. package/dist/components/steps/src/RsSteps.css +158 -37
  329. package/dist/components/steps/src/RsSteps.d.ts +69 -5
  330. package/dist/components/steps/src/RsSteps.impl.js +168 -28
  331. package/dist/components/steps/src/RsSteps.js +1 -1
  332. package/dist/components/steps/src/steps-utils.d.ts +51 -1
  333. package/dist/components/steps/src/steps-utils.js +67 -1
  334. package/dist/components/switch/index.d.ts +2 -1
  335. package/dist/components/switch/src/RsSwitch.css +36 -18
  336. package/dist/components/switch/src/RsSwitch.d.ts +18 -5
  337. package/dist/components/switch/src/RsSwitch.impl.js +61 -29
  338. package/dist/components/switch/src/RsSwitch.js +2 -1
  339. package/dist/components/switch/src/switch-utils.d.ts +4 -0
  340. package/dist/components/switch/src/switch-utils.js +9 -0
  341. package/dist/components/table/src/RsTable.impl.js +4 -2
  342. package/dist/components/table/src/composables/useRsTableContextMenu.d.ts +16 -0
  343. package/dist/components/table/src/composables/useRsTableContextMenu.js +1 -1
  344. package/dist/components/table/src/composables/useRsTableEngine.js +6 -2
  345. package/dist/components/table/src/composables/useRsTableScrollLayout.js +2 -0
  346. package/dist/components/table/src/composables/useRsTableShell.d.ts +16 -0
  347. package/dist/components/table/src/rs-table-props.d.ts +1 -1
  348. package/dist/components/table/src/rs-table-props.js +0 -1
  349. package/dist/components/table/src/table-body/RsTableBody.impl.js +1 -0
  350. package/dist/components/table/src/table-body/RsTableCellEditor.impl.js +10 -2
  351. package/dist/components/table/src/table-body/RsTableColGroup.impl.js +1 -0
  352. package/dist/components/table/src/table-footer/RsTableSummaryRow.impl.js +1 -0
  353. package/dist/components/table/src/table-header/RsTableHeader.impl.js +1 -0
  354. package/dist/components/table/src/utils/table-utils.d.ts +10 -6
  355. package/dist/components/table/src/utils/table-utils.js +27 -25
  356. package/dist/components/table/style/rs-table.css +34 -20
  357. package/dist/components/tabs/index.d.ts +2 -2
  358. package/dist/components/tabs/src/RsTabs.css +225 -101
  359. package/dist/components/tabs/src/RsTabs.d.ts +37 -8
  360. package/dist/components/tabs/src/RsTabs.impl.js +400 -270
  361. package/dist/components/tabs/src/tabs-utils.d.ts +41 -2
  362. package/dist/components/tabs/src/tabs-utils.js +55 -1
  363. package/dist/components/terminal/index.d.ts +1 -1
  364. package/dist/components/terminal/src/RsTerminal.css +60 -37
  365. package/dist/components/terminal/src/RsTerminal.d.ts +36 -4
  366. package/dist/components/terminal/src/RsTerminal.impl.js +288 -68
  367. package/dist/components/terminal/src/RsTerminal.js +1 -1
  368. package/dist/components/terminal/src/terminal-utils.d.ts +42 -4
  369. package/dist/components/terminal/src/terminal-utils.js +113 -10
  370. package/dist/components/textarea/src/RsTextarea.css +23 -23
  371. package/dist/components/textarea/src/RsTextarea.d.ts +7 -13
  372. package/dist/components/textarea/src/RsTextarea.impl.js +37 -46
  373. package/dist/components/textarea/src/RsTextarea.js +1 -1
  374. package/dist/components/textarea/src/textarea-utils.d.ts +27 -0
  375. package/dist/components/textarea/src/textarea-utils.js +61 -0
  376. package/dist/components/time-picker/index.d.ts +3 -2
  377. package/dist/components/time-picker/src/RsTimePicker.css +41 -24
  378. package/dist/components/time-picker/src/RsTimePicker.d.ts +52 -7
  379. package/dist/components/time-picker/src/RsTimePicker.impl.js +520 -156
  380. package/dist/components/time-picker/src/RsTimePicker.js +1 -3
  381. package/dist/components/time-picker/src/RsTimePickerColumns.css +26 -18
  382. package/dist/components/time-picker/src/RsTimePickerColumns.d.ts +3 -1
  383. package/dist/components/time-picker/src/RsTimePickerColumns.impl.js +62 -9
  384. package/dist/components/time-picker/src/RsTimePickerColumns.js +1 -1
  385. package/dist/components/time-picker/src/time-picker-utils.d.ts +38 -0
  386. package/dist/components/time-picker/src/time-picker-utils.js +97 -5
  387. package/dist/components/toaster/src/RsToaster.css +156 -203
  388. package/dist/components/toaster/src/RsToaster.d.ts +33 -3
  389. package/dist/components/toaster/src/RsToaster.impl.js +309 -34
  390. package/dist/components/toaster/src/toast-store.d.ts +95 -0
  391. package/dist/components/toaster/src/toast-store.js +177 -0
  392. package/dist/components/toaster/src/toast-utils.d.ts +60 -0
  393. package/dist/components/toaster/src/toast-utils.js +86 -0
  394. package/dist/components/toolbar/index.d.ts +1 -1
  395. package/dist/components/toolbar/src/RsToolbar.css +206 -32
  396. package/dist/components/toolbar/src/RsToolbar.d.ts +41 -16
  397. package/dist/components/toolbar/src/RsToolbar.impl.js +146 -18
  398. package/dist/components/toolbar/src/RsToolbar.js +2 -1
  399. package/dist/components/toolbar/src/toolbar-utils.d.ts +20 -0
  400. package/dist/components/toolbar/src/toolbar-utils.js +105 -0
  401. package/dist/components/tooltip/index.d.ts +1 -0
  402. package/dist/components/tooltip/src/RsTooltip.css +104 -26
  403. package/dist/components/tooltip/src/RsTooltip.d.ts +39 -17
  404. package/dist/components/tooltip/src/RsTooltip.impl.js +420 -51
  405. package/dist/components/tooltip/src/RsTooltip.js +2 -1
  406. package/dist/components/tooltip/src/RsTooltipProvider.d.ts +4 -4
  407. package/dist/components/tooltip/src/RsTooltipProvider.impl.js +51 -14
  408. package/dist/components/tooltip/src/tooltip-utils.d.ts +30 -0
  409. package/dist/components/tooltip/src/tooltip-utils.js +23 -0
  410. package/dist/components/tree/index.d.ts +2 -2
  411. package/dist/components/tree/src/RsTree.css +84 -75
  412. package/dist/components/tree/src/RsTree.d.ts +23 -23
  413. package/dist/components/tree/src/RsTree.impl.js +292 -66
  414. package/dist/components/tree/src/RsTree.js +1 -1
  415. package/dist/components/tree/src/tree-utils.d.ts +22 -0
  416. package/dist/components/tree/src/tree-utils.js +18 -4
  417. package/dist/components/tree-select/index.d.ts +2 -0
  418. package/dist/components/tree-select/src/RsTreeSelect.css +100 -25
  419. package/dist/components/tree-select/src/RsTreeSelect.d.ts +91 -7
  420. package/dist/components/tree-select/src/RsTreeSelect.impl.js +464 -79
  421. package/dist/components/tree-select/src/RsTreeSelect.js +1 -1
  422. package/dist/components/tree-select/src/tree-select-utils.d.ts +20 -0
  423. package/dist/components/tree-select/src/tree-select-utils.js +60 -0
  424. package/dist/components/upload/index.d.ts +2 -1
  425. package/dist/components/upload/src/RsUpload.css +223 -75
  426. package/dist/components/upload/src/RsUpload.d.ts +77 -1
  427. package/dist/components/upload/src/RsUpload.impl.js +404 -90
  428. package/dist/components/upload/src/RsUpload.js +1 -1
  429. package/dist/components/upload/src/upload-utils.d.ts +21 -2
  430. package/dist/components/upload/src/upload-utils.js +139 -9
  431. package/dist/components/virtual-list/index.d.ts +1 -1
  432. package/dist/components/virtual-list/src/RsVirtualList.css +64 -9
  433. package/dist/components/virtual-list/src/RsVirtualList.d.ts +31 -5
  434. package/dist/components/virtual-list/src/RsVirtualList.impl.js +425 -76
  435. package/dist/components/virtual-list/src/RsVirtualList.js +1 -1
  436. package/dist/components/virtual-list/src/virtual-list-utils.d.ts +64 -1
  437. package/dist/components/virtual-list/src/virtual-list-utils.js +215 -1
  438. package/dist/composables/useRsLoadingBar.d.ts +2 -5
  439. package/dist/composables/useRsLoadingBar.js +21 -5
  440. package/dist/composables/useRsTabsNav.d.ts +3 -1
  441. package/dist/composables/useRsTabsNav.js +96 -28
  442. package/dist/composables/useRsToast.d.ts +11 -13
  443. package/dist/composables/useRsToast.js +66 -17
  444. package/dist/index.d.ts +51 -32
  445. package/dist/index.js +20 -0
  446. package/dist/locale/apply.js +6 -1
  447. package/dist/locale/messages.js +174 -4
  448. package/dist/styles.css +1007 -980
  449. package/dist/theme/brand.example.css +3 -2
  450. package/dist/vite-plugins/niuma-ui-host.js +1 -1
  451. package/package.json +2 -3
  452. package/dist/components/breadcrumb/src/RsBreadcrumbItems.d.ts +0 -8
  453. package/dist/components/breadcrumb/src/RsBreadcrumbItems.impl.js +0 -40
  454. package/dist/components/breadcrumb/src/RsBreadcrumbItems.js +0 -5
  455. package/dist/components/date-picker/src/RsDatePicker-1.css +0 -157
  456. package/dist/components/mentions/src/RsMentions-1.css +0 -29
  457. package/dist/components/time-picker/src/RsTimePicker-1.css +0 -98
@@ -1,18 +1,53 @@
1
1
 
2
- .rs-empty {
2
+ .rs-empty[data-v-15fa5815] {
3
+ --rs-empty-pad-block: calc(var(--rs-space-xl) + var(--rs-space-xl) + var(--rs-space-sm));
4
+ --rs-empty-pad-inline: var(--rs-space-xl);
5
+ --rs-empty-gap: var(--rs-space-md);
6
+ --rs-empty-border: var(--rs-border);
7
+ --rs-empty-bg: color-mix(in srgb, var(--rs-surface) 80%, var(--rs-bg));
8
+ --rs-empty-title: var(--rs-text-primary);
9
+ --rs-empty-description: var(--rs-text-secondary);
10
+ --rs-empty-icon-border: var(--rs-border);
11
+ --rs-empty-icon-bg: var(--rs-surface);
12
+ --rs-empty-icon-fg: var(--rs-text-secondary);
13
+ --rs-empty-icon-shadow: var(--rs-shadow-sm);
14
+ --rs-empty-icon-size: 3.5rem;
15
+ --rs-empty-figure-size: 5rem;
16
+ --rs-empty-title-size: var(--rs-font-size-sm);
17
+ --rs-empty-title-weight: var(--rs-font-weight-medium);
18
+ --rs-empty-desc-size: var(--rs-font-size-sm);
19
+ --rs-empty-illustration: var(--rs-text-tertiary);
20
+ box-sizing: border-box;
3
21
  display: flex;
4
22
  flex-direction: column;
5
23
  align-items: center;
6
24
  justify-content: center;
7
- gap: 0.75rem;
8
- padding: 3.5rem 1.5rem;
25
+ gap: var(--rs-empty-gap);
26
+ padding-block: var(--rs-empty-pad-block);
27
+ padding-inline: var(--rs-empty-pad-inline);
9
28
  border-radius: var(--rs-empty-radius, var(--rs-radius));
10
- border: 1px dashed var(--rs-border);
11
- background: color-mix(in srgb, var(--rs-surface) 80%, var(--rs-bg));
29
+ border: 1px dashed var(--rs-empty-border);
30
+ background: var(--rs-empty-bg);
31
+ color: var(--rs-empty-description);
12
32
  text-align: center;
13
- box-sizing: border-box;
14
33
  }
15
- .rs-empty--fill {
34
+ .rs-empty--sm[data-v-15fa5815] {
35
+ --rs-empty-pad-block: var(--rs-space-xl);
36
+ --rs-empty-gap: var(--rs-space-sm);
37
+ --rs-empty-icon-size: 2.5rem;
38
+ --rs-empty-figure-size: 3.5rem;
39
+ --rs-empty-title-size: var(--rs-font-size-xs);
40
+ --rs-empty-desc-size: var(--rs-font-size-xs);
41
+ }
42
+ .rs-empty--lg[data-v-15fa5815] {
43
+ --rs-empty-pad-block: calc(var(--rs-space-xl) * 3);
44
+ --rs-empty-gap: var(--rs-space-lg);
45
+ --rs-empty-icon-size: 4.5rem;
46
+ --rs-empty-figure-size: 6.5rem;
47
+ --rs-empty-title-size: var(--rs-font-size-base);
48
+ --rs-empty-desc-size: var(--rs-font-size-base);
49
+ }
50
+ .rs-empty--fill[data-v-15fa5815] {
16
51
  flex: 1 1 auto;
17
52
  align-self: stretch;
18
53
  width: 100%;
@@ -23,30 +58,77 @@
23
58
  border-color: transparent;
24
59
  background: transparent;
25
60
  }
26
- .rs-empty__icon {
61
+ .rs-empty__icon[data-v-15fa5815] {
27
62
  display: flex;
28
63
  align-items: center;
29
64
  justify-content: center;
30
- width: 3.5rem;
31
- height: 3.5rem;
65
+ color: var(--rs-empty-icon-fg);
66
+ }
67
+ .rs-empty__icon--badge[data-v-15fa5815] {
68
+ width: var(--rs-empty-icon-size);
69
+ height: var(--rs-empty-icon-size);
32
70
  border-radius: var(--rs-empty-icon-radius, var(--rs-radius-full));
33
- border: 1px solid var(--rs-border);
34
- background: var(--rs-surface);
35
- color: var(--rs-muted);
36
- box-shadow: var(--rs-shadow-sm);
71
+ border: 1px solid var(--rs-empty-icon-border);
72
+ background: var(--rs-empty-icon-bg);
73
+ box-shadow: var(--rs-empty-icon-shadow);
74
+ }
75
+ .rs-empty__icon--figure[data-v-15fa5815] {
76
+ width: var(--rs-empty-figure-size);
77
+ height: var(--rs-empty-figure-size);
78
+ color: var(--rs-empty-illustration);
79
+ }
80
+ .rs-empty__svg[data-v-15fa5815],
81
+ .rs-empty__remote[data-v-15fa5815] {
82
+ display: block;
83
+ width: 100%;
84
+ height: 100%;
85
+ }
86
+ .rs-empty__remote[data-v-15fa5815] {
87
+ object-fit: contain;
37
88
  }
38
- .rs-empty__title {
89
+ .rs-empty__text[data-v-15fa5815] {
90
+ max-width: 28rem;
91
+ }
92
+ .rs-empty__title[data-v-15fa5815] {
39
93
  margin: 0;
40
- font-size: var(--rs-font-size-sm);
41
- font-weight: var(--rs-font-weight-medium);
42
- color: var(--rs-text);
94
+ font-size: var(--rs-empty-title-size);
95
+ font-weight: var(--rs-empty-title-weight);
96
+ color: var(--rs-empty-title);
43
97
  }
44
- .rs-empty__description {
98
+ .rs-empty__description[data-v-15fa5815] {
45
99
  margin: 0;
46
- font-size: var(--rs-font-size-sm);
47
- color: var(--rs-muted);
100
+ font-size: var(--rs-empty-desc-size);
101
+ color: var(--rs-empty-description);
48
102
  line-height: var(--rs-line-height-normal);
49
103
  }
50
- .rs-empty__description--offset {
51
- margin-top: 0.25rem;
104
+ .rs-empty__description--offset[data-v-15fa5815] {
105
+ margin-block-start: var(--rs-space-xs);
106
+ }
107
+ .rs-empty__actions[data-v-15fa5815] {
108
+ display: flex;
109
+ flex-wrap: wrap;
110
+ justify-content: center;
111
+ align-items: center;
112
+ gap: var(--rs-space-sm);
113
+ }
114
+ @media (forced-colors: active) {
115
+ .rs-empty[data-v-15fa5815] {
116
+ border-color: CanvasText;
117
+ background: Canvas;
118
+ color: CanvasText;
119
+ }
120
+ .rs-empty--fill[data-v-15fa5815] {
121
+ border-color: transparent;
122
+ background: transparent;
123
+ }
124
+ .rs-empty__icon--badge[data-v-15fa5815] {
125
+ border-color: CanvasText;
126
+ background: Canvas;
127
+ box-shadow: none;
128
+ }
129
+ .rs-empty__title[data-v-15fa5815],
130
+ .rs-empty__description[data-v-15fa5815],
131
+ .rs-empty__icon[data-v-15fa5815] {
132
+ color: CanvasText;
133
+ }
52
134
  }
@@ -1,7 +1,9 @@
1
1
  import type { RsRadius } from '../../../theme/types';
2
+ import { type RsEmptyPreset, type RsEmptySize } from './empty-utils';
2
3
  type __VLS_Props = {
3
- description: string;
4
4
  title?: string;
5
+ /** 未传走 locale;显式空字符串隐藏描述。 */
6
+ description?: string;
5
7
  /**
6
8
  * 占满父级可用空间,并去除外层虚线框 / 背景。
7
9
  * 适合嵌在面板、列表、结果区内的空态。
@@ -12,15 +14,36 @@ type __VLS_Props = {
12
14
  radius?: RsRadius;
13
15
  /** 图标区圆角。默认 full(圆形);直角 UI 传 `none`。 */
14
16
  iconRadius?: RsRadius;
17
+ /** 内置插图。`#image` / `#icon` / `image` 优先。 */
18
+ preset?: RsEmptyPreset;
19
+ /** 密度:sm 表格内 / md 默认 / lg 整页。不是控件四档,没有 ssm。 */
20
+ size?: RsEmptySize;
21
+ /** 自定义插图 URL。失败时回退 preset。不要传入 object URL 除非调用方自己 revoke。 */
22
+ image?: string;
23
+ /** 插图替代文本。装饰图请留空。 */
24
+ imageAlt?: string;
25
+ /** 覆盖插图边长。数字按 px。 */
26
+ imageSize?: number | string;
27
+ /** 无插槽且无 image 时是否画内置插图。 */
28
+ showImage?: boolean;
29
+ id?: string;
30
+ ariaLabel?: string;
15
31
  };
16
- declare var __VLS_1: {}, __VLS_3: {};
32
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {}, __VLS_9: {};
17
33
  type __VLS_Slots = {} & {
18
- icon?: (props: typeof __VLS_1) => any;
34
+ image?: (props: typeof __VLS_1) => any;
19
35
  } & {
20
- default?: (props: typeof __VLS_3) => any;
36
+ icon?: (props: typeof __VLS_3) => any;
37
+ } & {
38
+ title?: (props: typeof __VLS_5) => any;
39
+ } & {
40
+ description?: (props: typeof __VLS_7) => any;
41
+ } & {
42
+ default?: (props: typeof __VLS_9) => any;
21
43
  };
22
44
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
23
45
  fill: boolean;
46
+ showImage: boolean;
24
47
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
48
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
49
  declare const _default: typeof __VLS_export;
@@ -1,41 +1,184 @@
1
+ import { useRsI18n } from "../../../composables/useRsI18n.js";
1
2
  import { rsRadiusCss, useResolvedRsRadius } from "../../_shared/src/resolve-radius.js";
2
- import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot, toDisplayString } from "vue";
3
+ import { resolveRsEmptyDescription, resolveRsEmptyImageSizeCss, resolveRsEmptyLocaleKey, resolveRsEmptyPreset, resolveRsEmptySize, shouldShowRsEmptyDescription, shouldShowRsEmptyIllustration, shouldShowRsEmptyRemoteImage, shouldShowRsEmptyTitle, shouldUseRsEmptyBadgeChrome } from "./empty-utils.js";
4
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, ref, renderSlot, toDisplayString, useSlots, watch } from "vue";
3
5
  //#region src/components/empty/src/RsEmpty.vue?vue&type=script&setup=true&lang.ts
4
- var _hoisted_1 = { class: "rs-empty__icon" };
5
- var _hoisted_2 = { class: "rs-empty__text" };
6
+ var _hoisted_1 = ["id", "aria-label"];
7
+ var _hoisted_2 = ["src", "alt"];
6
8
  var _hoisted_3 = {
9
+ key: 1,
10
+ class: "rs-empty__svg",
11
+ viewBox: "0 0 64 64",
12
+ fill: "none"
13
+ };
14
+ var _hoisted_4 = {
15
+ key: 2,
16
+ class: "rs-empty__svg",
17
+ viewBox: "0 0 64 64",
18
+ fill: "none"
19
+ };
20
+ var _hoisted_5 = {
21
+ key: 3,
22
+ class: "rs-empty__svg",
23
+ viewBox: "0 0 64 64",
24
+ fill: "none"
25
+ };
26
+ var _hoisted_6 = {
27
+ key: 1,
28
+ class: "rs-empty__text"
29
+ };
30
+ var _hoisted_7 = {
7
31
  key: 0,
8
32
  class: "rs-empty__title"
9
33
  };
34
+ var _hoisted_8 = {
35
+ key: 2,
36
+ class: "rs-empty__actions"
37
+ };
10
38
  var RsEmpty_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
39
+ name: "RsEmpty",
11
40
  __name: "RsEmpty",
12
41
  props: {
13
- description: {},
14
42
  title: {},
43
+ description: {},
15
44
  fill: {
16
45
  type: Boolean,
17
46
  default: false
18
47
  },
19
48
  radius: {},
20
- iconRadius: {}
49
+ iconRadius: {},
50
+ preset: {},
51
+ size: {},
52
+ image: {},
53
+ imageAlt: {},
54
+ imageSize: {},
55
+ showImage: {
56
+ type: Boolean,
57
+ default: true
58
+ },
59
+ id: {},
60
+ ariaLabel: {}
21
61
  },
22
62
  setup(__props) {
23
63
  const props = __props;
64
+ const slots = useSlots();
65
+ const { t } = useRsI18n();
66
+ const failedImageSrc = ref(null);
67
+ const resolvedPreset = computed(() => resolveRsEmptyPreset(props.preset));
68
+ const resolvedSize = computed(() => resolveRsEmptySize(props.size));
24
69
  const resolvedRadius = useResolvedRsRadius(() => props.radius, "md");
25
70
  const resolvedIconRadius = useResolvedRsRadius(() => props.iconRadius, "full");
71
+ const hasIconSlot = computed(() => Boolean(slots.icon));
72
+ const hasImageSlot = computed(() => Boolean(slots.image));
73
+ const hasTitleSlot = computed(() => Boolean(slots.title));
74
+ const hasDescriptionSlot = computed(() => Boolean(slots.description));
75
+ const localeDescription = computed(() => t(resolveRsEmptyLocaleKey(resolvedPreset.value)));
76
+ const resolvedDescription = computed(() => resolveRsEmptyDescription(props.description, localeDescription.value));
77
+ const showTitle = computed(() => shouldShowRsEmptyTitle(props.title, hasTitleSlot.value));
78
+ const showDescription = computed(() => shouldShowRsEmptyDescription(resolvedDescription.value, hasDescriptionSlot.value));
79
+ const showText = computed(() => showTitle.value || showDescription.value);
80
+ const showIllustration = computed(() => shouldShowRsEmptyIllustration({
81
+ showImage: props.showImage,
82
+ hasIconSlot: hasIconSlot.value,
83
+ hasImageSlot: hasImageSlot.value
84
+ }));
85
+ const useBadgeChrome = computed(() => shouldUseRsEmptyBadgeChrome(hasIconSlot.value, hasImageSlot.value));
86
+ const showRemoteImage = computed(() => shouldShowRsEmptyRemoteImage({
87
+ image: props.image,
88
+ failedSrc: failedImageSrc.value,
89
+ hasIconSlot: hasIconSlot.value,
90
+ hasImageSlot: hasImageSlot.value
91
+ }));
92
+ const rootClass = computed(() => [
93
+ "rs-empty",
94
+ `rs-empty--${resolvedSize.value}`,
95
+ { "rs-empty--fill": props.fill }
96
+ ]);
97
+ const iconClass = computed(() => ({
98
+ "rs-empty__icon--badge": useBadgeChrome.value,
99
+ "rs-empty__icon--figure": !useBadgeChrome.value
100
+ }));
101
+ const figureStyle = computed(() => {
102
+ const size = resolveRsEmptyImageSizeCss(props.imageSize);
103
+ return size ? {
104
+ width: size,
105
+ height: size
106
+ } : void 0;
107
+ });
26
108
  const rootStyle = computed(() => ({
27
109
  "--rs-empty-radius": props.fill ? "0" : rsRadiusCss(resolvedRadius.value),
28
110
  "--rs-empty-icon-radius": rsRadiusCss(resolvedIconRadius.value)
29
111
  }));
112
+ const rootAriaLabel = computed(() => {
113
+ if (props.ariaLabel) return props.ariaLabel;
114
+ if (!showText.value) return t("empty.label");
115
+ });
116
+ const remoteAlt = computed(() => props.imageAlt ?? "");
117
+ watch(() => props.image, () => {
118
+ failedImageSrc.value = null;
119
+ });
120
+ function onImageError() {
121
+ failedImageSrc.value = props.image?.trim() || null;
122
+ }
30
123
  return (_ctx, _cache) => {
31
124
  return openBlock(), createElementBlock("div", {
32
- class: normalizeClass(["rs-empty", { "rs-empty--fill": __props.fill }]),
33
- style: normalizeStyle(rootStyle.value)
125
+ id: __props.id,
126
+ class: normalizeClass(rootClass.value),
127
+ style: normalizeStyle(rootStyle.value),
128
+ role: "status",
129
+ "aria-label": rootAriaLabel.value
34
130
  }, [
35
- createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "icon")]),
36
- createElementVNode("div", _hoisted_2, [__props.title ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(__props.title), 1)) : createCommentVNode("", true), createElementVNode("p", { class: normalizeClass(["rs-empty__description", { "rs-empty__description--offset": __props.title }]) }, toDisplayString(__props.description), 3)]),
37
- renderSlot(_ctx.$slots, "default")
38
- ], 6);
131
+ showIllustration.value ? (openBlock(), createElementBlock("div", {
132
+ key: 0,
133
+ class: normalizeClass(["rs-empty__icon", iconClass.value]),
134
+ style: normalizeStyle(figureStyle.value),
135
+ "aria-hidden": "true"
136
+ }, [renderSlot(_ctx.$slots, "image", {}, () => [renderSlot(_ctx.$slots, "icon", {}, () => [showRemoteImage.value ? (openBlock(), createElementBlock("img", {
137
+ key: 0,
138
+ class: "rs-empty__remote",
139
+ src: __props.image,
140
+ alt: remoteAlt.value,
141
+ onError: onImageError
142
+ }, null, 40, _hoisted_2)) : resolvedPreset.value === "simple" ? (openBlock(), createElementBlock("svg", _hoisted_3, [..._cache[0] || (_cache[0] = [createElementVNode("rect", {
143
+ x: "14",
144
+ y: "18",
145
+ width: "36",
146
+ height: "28",
147
+ rx: "4",
148
+ stroke: "currentColor",
149
+ "stroke-width": "1.75",
150
+ "stroke-dasharray": "3.5 2.5"
151
+ }, null, -1)])])) : resolvedPreset.value === "search" ? (openBlock(), createElementBlock("svg", _hoisted_4, [..._cache[1] || (_cache[1] = [createElementVNode("circle", {
152
+ cx: "28",
153
+ cy: "28",
154
+ r: "12",
155
+ stroke: "currentColor",
156
+ "stroke-width": "1.75"
157
+ }, null, -1), createElementVNode("path", {
158
+ d: "M37 37 48 48",
159
+ stroke: "currentColor",
160
+ "stroke-width": "1.75",
161
+ "stroke-linecap": "round"
162
+ }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_5, [..._cache[2] || (_cache[2] = [createElementVNode("rect", {
163
+ x: "13",
164
+ y: "16",
165
+ width: "38",
166
+ height: "32",
167
+ rx: "5",
168
+ stroke: "currentColor",
169
+ "stroke-width": "1.75"
170
+ }, null, -1), createElementVNode("path", {
171
+ d: "M22 28h20M22 36h14",
172
+ stroke: "currentColor",
173
+ "stroke-width": "1.75",
174
+ "stroke-linecap": "round"
175
+ }, null, -1)])]))], true)], true)], 6)) : createCommentVNode("", true),
176
+ showText.value ? (openBlock(), createElementBlock("div", _hoisted_6, [showTitle.value ? (openBlock(), createElementBlock("p", _hoisted_7, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)], true)])) : createCommentVNode("", true), showDescription.value ? (openBlock(), createElementBlock("p", {
177
+ key: 1,
178
+ class: normalizeClass(["rs-empty__description", { "rs-empty__description--offset": showTitle.value }])
179
+ }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(resolvedDescription.value), 1)], true)], 2)) : createCommentVNode("", true)])) : createCommentVNode("", true),
180
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_8, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])) : createCommentVNode("", true)
181
+ ], 14, _hoisted_1);
39
182
  };
40
183
  }
41
184
  });
@@ -1,7 +1,8 @@
1
1
  import './RsEmpty.css'
2
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
2
3
  import RsEmpty_vue_vue_type_script_setup_true_lang_default from "./RsEmpty.impl.js";
3
4
 
4
5
  //#region src/components/empty/src/RsEmpty.vue
5
- var RsEmpty_default = RsEmpty_vue_vue_type_script_setup_true_lang_default;
6
+ var RsEmpty_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsEmpty_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-15fa5815"]]);
6
7
  //#endregion
7
8
  export { RsEmpty_default as default };
@@ -0,0 +1,28 @@
1
+ export declare const RS_EMPTY_PRESETS: readonly ["default", "simple", "search"];
2
+ export type RsEmptyPreset = (typeof RS_EMPTY_PRESETS)[number];
3
+ export declare const RS_EMPTY_SIZES: readonly ["sm", "md", "lg"];
4
+ export type RsEmptySize = (typeof RS_EMPTY_SIZES)[number];
5
+ export type RsEmptyLocaleKey = 'empty.description' | 'empty.search';
6
+ export declare function isRsEmptyPreset(value: unknown): value is RsEmptyPreset;
7
+ export declare function isRsEmptySize(value: unknown): value is RsEmptySize;
8
+ export declare function resolveRsEmptyPreset(preset?: RsEmptyPreset | null): RsEmptyPreset;
9
+ export declare function resolveRsEmptySize(size?: RsEmptySize | null): RsEmptySize;
10
+ export declare function resolveRsEmptyLocaleKey(preset: RsEmptyPreset): RsEmptyLocaleKey;
11
+ /** 未传走 locale;显式 `''` 表示隐藏描述。 */
12
+ export declare function resolveRsEmptyDescription(description: string | undefined, fallback: string): string;
13
+ export declare function shouldShowRsEmptyTitle(title: string | undefined, hasTitleSlot: boolean): boolean;
14
+ export declare function shouldShowRsEmptyDescription(description: string, hasDescriptionSlot: boolean): boolean;
15
+ export declare function shouldShowRsEmptyIllustration(options: {
16
+ showImage: boolean;
17
+ hasIconSlot: boolean;
18
+ hasImageSlot: boolean;
19
+ }): boolean;
20
+ /** `#image` 整图替换;仅 `#icon` 时保留圆形徽章底。 */
21
+ export declare function shouldUseRsEmptyBadgeChrome(hasIconSlot: boolean, hasImageSlot: boolean): boolean;
22
+ export declare function shouldShowRsEmptyRemoteImage(options: {
23
+ image?: string;
24
+ failedSrc: string | null;
25
+ hasIconSlot: boolean;
26
+ hasImageSlot: boolean;
27
+ }): boolean;
28
+ export declare function resolveRsEmptyImageSizeCss(size?: number | string): string | undefined;
@@ -0,0 +1,55 @@
1
+ //#region src/components/empty/src/empty-utils.ts
2
+ var RS_EMPTY_PRESETS = [
3
+ "default",
4
+ "simple",
5
+ "search"
6
+ ];
7
+ var RS_EMPTY_SIZES = [
8
+ "sm",
9
+ "md",
10
+ "lg"
11
+ ];
12
+ function isRsEmptyPreset(value) {
13
+ return typeof value === "string" && RS_EMPTY_PRESETS.includes(value);
14
+ }
15
+ function isRsEmptySize(value) {
16
+ return typeof value === "string" && RS_EMPTY_SIZES.includes(value);
17
+ }
18
+ function resolveRsEmptyPreset(preset) {
19
+ return isRsEmptyPreset(preset) ? preset : "default";
20
+ }
21
+ function resolveRsEmptySize(size) {
22
+ return isRsEmptySize(size) ? size : "md";
23
+ }
24
+ function resolveRsEmptyLocaleKey(preset) {
25
+ return preset === "search" ? "empty.search" : "empty.description";
26
+ }
27
+ /** 未传走 locale;显式 `''` 表示隐藏描述。 */
28
+ function resolveRsEmptyDescription(description, fallback) {
29
+ return description ?? fallback;
30
+ }
31
+ function shouldShowRsEmptyTitle(title, hasTitleSlot) {
32
+ return hasTitleSlot || Boolean(title);
33
+ }
34
+ function shouldShowRsEmptyDescription(description, hasDescriptionSlot) {
35
+ return hasDescriptionSlot || description !== "";
36
+ }
37
+ function shouldShowRsEmptyIllustration(options) {
38
+ return options.hasImageSlot || options.hasIconSlot || options.showImage;
39
+ }
40
+ /** `#image` 整图替换;仅 `#icon` 时保留圆形徽章底。 */
41
+ function shouldUseRsEmptyBadgeChrome(hasIconSlot, hasImageSlot) {
42
+ return hasIconSlot && !hasImageSlot;
43
+ }
44
+ function shouldShowRsEmptyRemoteImage(options) {
45
+ const src = options.image?.trim();
46
+ if (!src || options.hasIconSlot || options.hasImageSlot) return false;
47
+ return src !== options.failedSrc;
48
+ }
49
+ function resolveRsEmptyImageSizeCss(size) {
50
+ if (size == null || size === "") return void 0;
51
+ if (typeof size === "number" && Number.isFinite(size)) return `${size}px`;
52
+ return String(size).trim() || void 0;
53
+ }
54
+ //#endregion
55
+ export { RS_EMPTY_PRESETS, RS_EMPTY_SIZES, isRsEmptyPreset, isRsEmptySize, resolveRsEmptyDescription, resolveRsEmptyImageSizeCss, resolveRsEmptyLocaleKey, resolveRsEmptyPreset, resolveRsEmptySize, shouldShowRsEmptyDescription, shouldShowRsEmptyIllustration, shouldShowRsEmptyRemoteImage, shouldShowRsEmptyTitle, shouldUseRsEmptyBadgeChrome };
@@ -1,74 +1,84 @@
1
1
 
2
- .rs-fieldset[data-v-b3043538] {
2
+ .rs-fieldset[data-v-460cb31f] {
3
+ --rs-fieldset-line: var(--rs-fieldset-border);
3
4
  display: flex;
4
5
  flex-direction: column;
5
- gap: var(--rs-fieldset-gap, var(--rs-space-md));
6
+ gap: var(--rs-fieldset-gap);
6
7
  box-sizing: border-box;
7
- min-width: 0;
8
8
  min-inline-size: 0;
9
9
  margin: 0;
10
- padding: var(--rs-space-md) var(--rs-space-lg) var(--rs-space-lg);
10
+ padding-block: var(--rs-space-md) var(--rs-space-lg);
11
+ padding-inline: var(--rs-space-lg);
11
12
  border-width: 1px;
12
13
  border-style: solid;
13
- border-color: var(--rs-fieldset-border, var(--rs-border));
14
- border-radius: var(--rs-fieldset-radius, var(--rs-radius-sm));
14
+ border-color: var(--rs-fieldset-line);
15
+ border-radius: var(--rs-fieldset-radius);
15
16
  background: transparent;
16
17
  }
17
- .rs-fieldset--sm[data-v-b3043538] {
18
- gap: var(--rs-space-sm);
19
- padding: var(--rs-space-sm) var(--rs-space-md) var(--rs-space-md);
18
+ .rs-fieldset--sm[data-v-460cb31f] {
19
+ gap: var(--rs-fieldset-gap-sm);
20
+ padding-block: var(--rs-space-sm) var(--rs-space-md);
21
+ padding-inline: var(--rs-space-md);
20
22
  }
21
- .rs-fieldset--dashed[data-v-b3043538] {
23
+ .rs-fieldset--dashed[data-v-460cb31f] {
22
24
  border-style: dashed;
23
25
  }
24
- .rs-fieldset--dotted[data-v-b3043538] {
26
+ .rs-fieldset--dotted[data-v-460cb31f] {
25
27
  border-style: dotted;
26
28
  }
27
- .rs-fieldset--tone-subtle[data-v-b3043538] {
28
- border-color: var(--rs-fieldset-border, var(--rs-border-subtle));
29
+ .rs-fieldset--tone-subtle[data-v-460cb31f] {
30
+ --rs-fieldset-line: var(--rs-fieldset-border-subtle);
31
+ }
32
+ .rs-fieldset--tone-faded[data-v-460cb31f] {
33
+ --rs-fieldset-line: var(--rs-fieldset-border-faded);
29
34
  }
30
- .rs-fieldset--tone-faded[data-v-b3043538] {
31
- border-color: color-mix(
32
- in srgb,
33
- var(--rs-fieldset-border, var(--rs-border)) 42%,
34
- transparent
35
- );
35
+ .rs-fieldset[data-v-460cb31f]:disabled,
36
+ .rs-fieldset--disabled[data-v-460cb31f] {
37
+ --rs-fieldset-line: var(--rs-fieldset-border-subtle);
36
38
  }
37
- .rs-fieldset__legend[data-v-b3043538] {
39
+ .rs-fieldset--invalid[data-v-460cb31f],
40
+ .rs-fieldset--invalid.rs-fieldset--disabled[data-v-460cb31f] {
41
+ --rs-fieldset-line: var(--rs-fieldset-border-invalid);
42
+ }
43
+ .rs-fieldset__legend[data-v-460cb31f] {
38
44
  display: inline-flex;
39
45
  align-items: center;
40
46
  gap: var(--rs-space-sm);
41
47
  float: none;
42
- padding: 0 var(--rs-space-xs);
48
+ padding-inline: var(--rs-space-xs);
43
49
  margin: 0;
44
50
  font-size: var(--rs-fieldset-title-size, var(--rs-font-size-sm));
45
51
  font-weight: var(--rs-fieldset-title-weight, var(--rs-font-weight-semibold));
46
52
  line-height: var(--rs-line-height-tight);
47
- color: var(--rs-text);
48
- background: var(--rs-fieldset-legend-bg, var(--rs-surface));
53
+ color: var(--rs-fieldset-title);
54
+ background: var(--rs-fieldset-legend-bg);
49
55
  }
50
- .rs-fieldset__heading[data-v-b3043538] {
56
+ .rs-fieldset__heading[data-v-460cb31f] {
51
57
  display: inline-flex;
52
58
  align-items: center;
53
59
  gap: var(--rs-space-xs);
54
- min-width: 0;
60
+ min-inline-size: 0;
55
61
  }
56
- .rs-fieldset__title[data-v-b3043538] {
57
- min-width: 0;
62
+ .rs-fieldset__title[data-v-460cb31f] {
63
+ min-inline-size: 0;
58
64
  font-size: inherit;
59
65
  font-weight: inherit;
60
66
  color: inherit;
61
67
  }
62
- .rs-fieldset--title-strong .rs-fieldset__legend[data-v-b3043538] {
63
- color: var(--rs-text);
68
+ .rs-fieldset__required[data-v-460cb31f] {
69
+ margin-inline-start: var(--rs-label-mark-gap);
70
+ color: var(--rs-danger);
64
71
  }
65
- .rs-fieldset--title-default .rs-fieldset__legend[data-v-b3043538] {
66
- color: var(--rs-text);
72
+ .rs-fieldset--title-strong .rs-fieldset__legend[data-v-460cb31f] {
73
+ color: var(--rs-fieldset-title-strong);
67
74
  }
68
- .rs-fieldset--title-muted .rs-fieldset__legend[data-v-b3043538] {
69
- color: var(--rs-muted);
75
+ .rs-fieldset--title-default .rs-fieldset__legend[data-v-460cb31f] {
76
+ color: var(--rs-fieldset-title);
70
77
  }
71
- .rs-fieldset__extra[data-v-b3043538] {
78
+ .rs-fieldset--title-muted .rs-fieldset__legend[data-v-460cb31f] {
79
+ color: var(--rs-fieldset-title-muted);
80
+ }
81
+ .rs-fieldset__extra[data-v-460cb31f] {
72
82
  display: inline-flex;
73
83
  align-items: center;
74
84
  gap: var(--rs-space-xs);
@@ -76,17 +86,37 @@
76
86
  font-weight: var(--rs-font-weight-regular);
77
87
  color: var(--rs-muted);
78
88
  }
79
- .rs-fieldset__body[data-v-b3043538] {
89
+ .rs-fieldset__body[data-v-460cb31f] {
80
90
  display: flex;
81
91
  flex-direction: column;
82
- min-width: 0;
92
+ min-inline-size: 0;
83
93
  gap: inherit;
84
94
  }
85
- .rs-fieldset[data-v-b3043538]:disabled,
86
- .rs-fieldset--disabled[data-v-b3043538] {
87
- border-color: var(--rs-border-subtle);
95
+ .rs-fieldset__hint[data-v-460cb31f] {
96
+ margin: 0;
97
+ font-size: var(--rs-font-size-xs);
98
+ font-weight: var(--rs-font-weight-regular);
99
+ line-height: var(--rs-line-height-normal);
100
+ color: var(--rs-fieldset-hint);
88
101
  }
89
- .rs-fieldset:disabled .rs-fieldset__legend[data-v-b3043538],
90
- .rs-fieldset--disabled .rs-fieldset__legend[data-v-b3043538] {
102
+ .rs-fieldset__error[data-v-460cb31f] {
103
+ margin: 0;
104
+ font-size: var(--rs-font-size-xs);
105
+ line-height: var(--rs-line-height-normal);
106
+ color: var(--rs-fieldset-error);
107
+ }
108
+ .rs-fieldset:disabled .rs-fieldset__legend[data-v-460cb31f],
109
+ .rs-fieldset--disabled .rs-fieldset__legend[data-v-460cb31f] {
91
110
  color: var(--rs-muted);
92
111
  }
112
+ .rs-fieldset__sr[data-v-460cb31f] {
113
+ position: absolute;
114
+ inline-size: 1px;
115
+ block-size: 1px;
116
+ padding: 0;
117
+ margin: -1px;
118
+ overflow: hidden;
119
+ clip: rect(0, 0, 0, 0);
120
+ white-space: nowrap;
121
+ border: 0;
122
+ }