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
@@ -0,0 +1,55 @@
1
+ //#region src/components/popover/src/popover-utils.ts
2
+ /** hover 延迟上限,避免一个超大定时器一直挂着。 */
3
+ var RS_POPOVER_DELAY_MAX = 6e4;
4
+ var POPOVER_TRIGGERS = /* @__PURE__ */ new Set([
5
+ "click",
6
+ "hover",
7
+ "focus"
8
+ ]);
9
+ var FOCUSABLE_SELECTOR = [
10
+ "a[href]",
11
+ "button:not([disabled])",
12
+ "input:not([disabled]):not([type=\"hidden\"])",
13
+ "select:not([disabled])",
14
+ "textarea:not([disabled])",
15
+ "[tabindex]:not([tabindex=\"-1\"])"
16
+ ].join(",");
17
+ function normalizePopoverTriggers(trigger) {
18
+ const next = (Array.isArray(trigger) ? trigger : [trigger ?? "click"]).filter((item) => POPOVER_TRIGGERS.has(item));
19
+ return next.length ? next : ["click"];
20
+ }
21
+ function clampPopoverDelay(value, fallback) {
22
+ if (value == null || !Number.isFinite(value)) return fallback;
23
+ return Math.min(RS_POPOVER_DELAY_MAX, Math.max(0, value));
24
+ }
25
+ /** Tab 在浮层内循环。current < 0 时落到第一项或最后一项。 */
26
+ function nextPopoverFocusIndex(count, current, shift) {
27
+ if (count <= 0) return -1;
28
+ if (current < 0) return shift ? count - 1 : 0;
29
+ return (current + (shift ? -1 : 1) + count) % count;
30
+ }
31
+ function resolvePopoverPortalTarget(getPopupContainer, trigger) {
32
+ if (typeof document === "undefined") return "body";
33
+ if (!getPopupContainer) return "body";
34
+ return getPopupContainer(trigger ?? void 0) ?? "body";
35
+ }
36
+ /** 组件 ref 可能是元素,也可能是带 $el 的实例。无 DOM 时返回空。 */
37
+ function resolvePopoverElement(value) {
38
+ if (typeof HTMLElement !== "undefined" && value instanceof HTMLElement) return value;
39
+ if (value && typeof value === "object" && "$el" in value) {
40
+ const root = value.$el;
41
+ if (typeof HTMLElement !== "undefined" && root instanceof HTMLElement) return root;
42
+ }
43
+ return null;
44
+ }
45
+ function listPopoverFocusable(root) {
46
+ if (!root || typeof root.querySelectorAll !== "function") return [];
47
+ return Array.from(root.querySelectorAll(FOCUSABLE_SELECTOR)).filter((el) => {
48
+ if (el.hasAttribute("disabled")) return false;
49
+ if (el.getAttribute("aria-hidden") === "true") return false;
50
+ if (typeof el.closest === "function" && el.closest("[hidden]")) return false;
51
+ return true;
52
+ });
53
+ }
54
+ //#endregion
55
+ export { RS_POPOVER_DELAY_MAX, clampPopoverDelay, listPopoverFocusable, nextPopoverFocusIndex, normalizePopoverTriggers, resolvePopoverElement, resolvePopoverPortalTarget };
@@ -1,3 +1,3 @@
1
1
  export { default as RsRadio } from './src/RsRadio.js';
2
2
  export { default as RsRadioItem } from './src/RsRadioItem.js';
3
- export type { RsRadioValue } from './src/radio-utils';
3
+ export type { RsRadioOrientation, RsRadioValue } from './src/radio-utils';
@@ -1,19 +1,20 @@
1
1
 
2
- .rs-radio-group {
3
- display: inline-flex;
2
+ .rs-radio-group[data-v-b3347bb9] {
3
+ display: flex;
4
+ width: max-content;
5
+ max-width: 100%;
4
6
  gap: var(--rs-space-md);
5
7
  color: var(--rs-text);
6
8
  }
7
- .rs-radio-group--vertical {
9
+ .rs-radio-group--vertical[data-v-b3347bb9] {
8
10
  flex-direction: column;
9
11
  align-items: flex-start;
10
12
  }
11
- .rs-radio-group--horizontal {
13
+ .rs-radio-group--horizontal[data-v-b3347bb9] {
12
14
  flex-direction: row;
13
15
  flex-wrap: wrap;
14
16
  align-items: center;
15
17
  }
16
- .rs-radio-group--disabled {
17
- opacity: 0.55;
18
+ .rs-radio-group--disabled[data-v-b3347bb9] {
18
19
  cursor: not-allowed;
19
20
  }
@@ -1,18 +1,21 @@
1
1
  import type { RsComponentSize } from '../../../theme/types';
2
- import { type RsRadioValue } from './radio-utils';
2
+ import { type RsRadioOrientation, type RsRadioValue } from './radio-utils';
3
+ export type { RsRadioOrientation, RsRadioValue };
3
4
  type __VLS_Props = {
4
5
  disabled?: boolean;
5
6
  size?: RsComponentSize;
6
7
  name?: string;
7
- orientation?: 'horizontal' | 'vertical';
8
+ orientation?: RsRadioOrientation;
9
+ /** 无障碍组名。选项文案不够说明整组时再传。 */
10
+ ariaLabel?: string;
8
11
  };
9
12
  type __VLS_ModelProps = {
10
13
  modelValue?: RsRadioValue | undefined;
11
14
  };
12
15
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
13
- declare var __VLS_10: {};
16
+ declare var __VLS_1: {};
14
17
  type __VLS_Slots = {} & {
15
- default?: (props: typeof __VLS_10) => any;
18
+ default?: (props: typeof __VLS_1) => any;
16
19
  };
17
20
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
21
  change: (value: RsRadioValue) => any;
@@ -22,7 +25,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
22
25
  "onUpdate:modelValue"?: ((value: RsRadioValue | undefined) => any) | undefined;
23
26
  }>, {
24
27
  disabled: boolean;
25
- orientation: "horizontal" | "vertical";
28
+ orientation: RsRadioOrientation;
26
29
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
30
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
31
  declare const _default: typeof __VLS_export;
@@ -1,9 +1,15 @@
1
- import { RadioGroupRoot } from "../../_shared/src/reka.js";
1
+ import { useRsFormContext } from "../../form/src/form-utils.js";
2
2
  import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
3
- import { RS_RADIO_GROUP_KEY } from "./radio-utils.js";
4
- import { computed, createBlock, defineComponent, mergeModels, normalizeClass, openBlock, provide, renderSlot, unref, useModel, withCtx } from "vue";
3
+ import { RS_RADIO_GROUP_KEY, isRsRadioValueEqual, resolveRsRadioOrientation } from "./radio-utils.js";
4
+ import { computed, createElementBlock, defineComponent, mergeModels, normalizeClass, openBlock, provide, renderSlot, useId, useModel } from "vue";
5
5
  //#region src/components/radio/src/RsRadio.vue?vue&type=script&setup=true&lang.ts
6
+ var _hoisted_1 = [
7
+ "aria-orientation",
8
+ "aria-disabled",
9
+ "aria-label"
10
+ ];
6
11
  var RsRadio_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
12
+ name: "RsRadio",
7
13
  __name: "RsRadio",
8
14
  props: /*@__PURE__*/ mergeModels({
9
15
  disabled: {
@@ -12,7 +18,8 @@ var RsRadio_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
12
18
  },
13
19
  size: {},
14
20
  name: {},
15
- orientation: { default: "horizontal" }
21
+ orientation: { default: "horizontal" },
22
+ ariaLabel: {}
16
23
  }, {
17
24
  "modelValue": {
18
25
  type: [
@@ -29,36 +36,39 @@ var RsRadio_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
29
36
  const model = useModel(__props, "modelValue");
30
37
  const props = __props;
31
38
  const emit = __emit;
39
+ const formContext = useRsFormContext();
40
+ const groupId = useId();
32
41
  const resolvedSize = useResolvedRsComponentSize(() => props.size);
33
- provide(RS_RADIO_GROUP_KEY, { size: resolvedSize });
42
+ const resolvedDisabled = computed(() => props.disabled || Boolean(formContext?.disabled.value));
43
+ const resolvedOrientation = computed(() => resolveRsRadioOrientation(props.orientation));
44
+ const resolvedName = computed(() => props.name || groupId);
34
45
  const rootClass = computed(() => [
35
46
  "rs-radio-group",
36
- `rs-radio-group--${props.orientation}`,
47
+ `rs-radio-group--${resolvedOrientation.value}`,
37
48
  `rs-radio-group--${resolvedSize.value}`,
38
- { "rs-radio-group--disabled": props.disabled }
49
+ { "rs-radio-group--disabled": resolvedDisabled.value }
39
50
  ]);
40
- function onUpdate(value) {
51
+ function select(value) {
52
+ if (resolvedDisabled.value) return;
53
+ if (isRsRadioValueEqual(model.value, value)) return;
41
54
  model.value = value;
42
55
  emit("change", value);
43
56
  }
57
+ provide(RS_RADIO_GROUP_KEY, {
58
+ size: resolvedSize,
59
+ disabled: resolvedDisabled,
60
+ name: resolvedName,
61
+ isChecked: (value) => isRsRadioValueEqual(model.value, value),
62
+ select
63
+ });
44
64
  return (_ctx, _cache) => {
45
- return openBlock(), createBlock(unref(RadioGroupRoot), {
65
+ return openBlock(), createElementBlock("div", {
66
+ role: "radiogroup",
46
67
  class: normalizeClass(rootClass.value),
47
- "model-value": model.value,
48
- disabled: __props.disabled,
49
- name: __props.name,
50
- orientation: __props.orientation,
51
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => onUpdate($event))
52
- }, {
53
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
54
- _: 3
55
- }, 8, [
56
- "class",
57
- "model-value",
58
- "disabled",
59
- "name",
60
- "orientation"
61
- ]);
68
+ "aria-orientation": resolvedOrientation.value,
69
+ "aria-disabled": resolvedDisabled.value || void 0,
70
+ "aria-label": __props.ariaLabel
71
+ }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_1);
62
72
  };
63
73
  }
64
74
  });
@@ -1,7 +1,8 @@
1
1
  import './RsRadio.css'
2
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
2
3
  import RsRadio_vue_vue_type_script_setup_true_lang_default from "./RsRadio.impl.js";
3
4
 
4
5
  //#region src/components/radio/src/RsRadio.vue
5
- var RsRadio_default = RsRadio_vue_vue_type_script_setup_true_lang_default;
6
+ var RsRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsRadio_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b3347bb9"]]);
6
7
  //#endregion
7
8
  export { RsRadio_default as default };
@@ -1,23 +1,40 @@
1
1
 
2
- .rs-radio {
3
- display: inline-flex;
2
+ .rs-radio[data-v-f460a126] {
3
+ --rs-radio-size: 1rem;
4
+ --rs-radio-dot: calc(var(--rs-radio-size) * 0.5);
5
+ position: relative;
6
+ display: flex;
4
7
  align-items: center;
5
8
  gap: var(--rs-space-xs);
9
+ min-height: var(--rs-control-height-md);
10
+ vertical-align: middle;
6
11
  cursor: pointer;
7
12
  user-select: none;
8
13
  line-height: 1;
9
14
  }
10
- .rs-radio--disabled {
15
+ .rs-radio--disabled[data-v-f460a126] {
11
16
  cursor: not-allowed;
12
17
  opacity: 0.55;
13
18
  }
14
- .rs-radio__item {
19
+ .rs-radio__input[data-v-f460a126] {
20
+ position: absolute;
21
+ width: 1px;
22
+ height: 1px;
23
+ margin: -1px;
24
+ padding: 0;
25
+ overflow: hidden;
26
+ clip: rect(0, 0, 0, 0);
27
+ white-space: nowrap;
28
+ border: 0;
29
+ }
30
+ .rs-radio__item[data-v-f460a126] {
15
31
  position: relative;
16
- display: inline-flex;
32
+ display: block;
17
33
  flex-shrink: 0;
18
- align-items: center;
19
- justify-content: center;
20
34
  box-sizing: border-box;
35
+ width: var(--rs-radio-size, 1rem);
36
+ height: var(--rs-radio-size, 1rem);
37
+ overflow: hidden;
21
38
  border: 1px solid var(--rs-border);
22
39
  border-radius: var(--rs-radius-full);
23
40
  background: var(--rs-surface);
@@ -27,64 +44,64 @@
27
44
  border-color var(--rs-transition-fast),
28
45
  background-color var(--rs-transition-fast);
29
46
  }
30
- .rs-radio--disabled .rs-radio__item {
47
+ .rs-radio--disabled .rs-radio__item[data-v-f460a126] {
31
48
  cursor: not-allowed;
32
49
  }
33
- .rs-radio:hover:not(.rs-radio--disabled) .rs-radio__item:not([data-state='checked']) {
50
+ .rs-radio:hover:not(.rs-radio--disabled) .rs-radio__item[data-v-f460a126]:not([data-state='checked']) {
34
51
  border-color: var(--rs-primary);
35
52
  }
36
- .rs-radio__item:focus-visible {
53
+ .rs-radio__input:focus-visible + .rs-radio__item[data-v-f460a126] {
37
54
  box-shadow: 0 0 0 var(--rs-focus-ring-width, 2px) var(--rs-focus-ring);
38
55
  }
39
- .rs-radio--ssm .rs-radio__item {
40
- width: 0.75rem;
41
- height: 0.75rem;
56
+ .rs-radio--ssm[data-v-f460a126] {
57
+ --rs-radio-size: 0.75rem;
58
+ min-height: var(--rs-control-height-ssm);
42
59
  }
43
- .rs-radio--sm .rs-radio__item {
44
- width: 0.875rem;
45
- height: 0.875rem;
60
+ .rs-radio--sm[data-v-f460a126] {
61
+ --rs-radio-size: 0.875rem;
62
+ min-height: var(--rs-control-height-sm);
46
63
  }
47
- .rs-radio--md .rs-radio__item {
48
- width: 1rem;
49
- height: 1rem;
64
+ .rs-radio--md[data-v-f460a126] {
65
+ --rs-radio-size: 1rem;
66
+ min-height: var(--rs-control-height-md);
50
67
  }
51
- .rs-radio--lg .rs-radio__item {
52
- width: 1.125rem;
53
- height: 1.125rem;
68
+ .rs-radio--lg[data-v-f460a126] {
69
+ --rs-radio-size: 1.125rem;
70
+ min-height: var(--rs-control-height-lg);
54
71
  }
55
- .rs-radio__item[data-state='checked'] {
72
+ .rs-radio__item[data-state='checked'][data-v-f460a126] {
56
73
  border-color: var(--rs-primary);
57
74
  }
58
- .rs-radio__indicator {
59
- display: block;
75
+ .rs-radio__indicator[data-v-f460a126] {
76
+ position: absolute;
77
+ top: 50%;
78
+ left: 50%;
79
+ width: var(--rs-radio-dot, 0.5rem);
80
+ height: var(--rs-radio-dot, 0.5rem);
60
81
  border-radius: var(--rs-radius-full);
61
82
  background: var(--rs-primary);
83
+ transform: translate(-50%, -50%);
84
+ opacity: 0;
85
+ transition: opacity var(--rs-transition-fast);
62
86
  }
63
- .rs-radio--ssm .rs-radio__indicator {
64
- width: 0.375rem;
65
- height: 0.375rem;
66
- }
67
- .rs-radio--sm .rs-radio__indicator {
68
- width: 0.4375rem;
69
- height: 0.4375rem;
87
+ .rs-radio__item[data-state='checked'] .rs-radio__indicator[data-v-f460a126] {
88
+ opacity: 1;
70
89
  }
71
- .rs-radio--md .rs-radio__indicator {
72
- width: 0.5rem;
73
- height: 0.5rem;
74
- }
75
- .rs-radio--lg .rs-radio__indicator {
76
- width: 0.5625rem;
77
- height: 0.5625rem;
78
- }
79
- .rs-radio__label {
90
+ .rs-radio__label[data-v-f460a126] {
80
91
  font-size: var(--rs-font-size-sm);
81
92
  line-height: var(--rs-line-height-normal);
82
93
  cursor: pointer;
83
94
  }
84
- .rs-radio--disabled .rs-radio__label {
95
+ .rs-radio--disabled .rs-radio__label[data-v-f460a126] {
85
96
  cursor: not-allowed;
86
97
  }
87
- .rs-radio--ssm .rs-radio__label,
88
- .rs-radio--sm .rs-radio__label {
98
+ .rs-radio--ssm .rs-radio__label[data-v-f460a126],
99
+ .rs-radio--sm .rs-radio__label[data-v-f460a126] {
89
100
  font-size: var(--rs-font-size-xs);
90
101
  }
102
+ @media (prefers-reduced-motion: reduce) {
103
+ .rs-radio__item[data-v-f460a126],
104
+ .rs-radio__indicator[data-v-f460a126] {
105
+ transition: none;
106
+ }
107
+ }
@@ -6,9 +6,9 @@ type __VLS_Props = {
6
6
  size?: RsComponentSize;
7
7
  id?: string;
8
8
  };
9
- declare var __VLS_12: {};
9
+ declare var __VLS_1: {};
10
10
  type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_12) => any;
11
+ default?: (props: typeof __VLS_1) => any;
12
12
  };
13
13
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
14
  disabled: boolean;
@@ -1,10 +1,23 @@
1
- import { RadioGroupIndicator, RadioGroupItem } from "../../_shared/src/reka.js";
2
1
  import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
3
- import { RS_RADIO_GROUP_KEY } from "./radio-utils.js";
4
- import { computed, createCommentVNode, createElementBlock, createVNode, defineComponent, inject, normalizeClass, openBlock, renderSlot, unref, useId, withCtx } from "vue";
2
+ import { RS_RADIO_GROUP_KEY, rsRadioInputValue } from "./radio-utils.js";
3
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, inject, normalizeClass, openBlock, renderSlot, unref, useId, useSlots, withModifiers } from "vue";
5
4
  //#region src/components/radio/src/RsRadioItem.vue?vue&type=script&setup=true&lang.ts
6
5
  var _hoisted_1 = ["for"];
6
+ var _hoisted_2 = [
7
+ "id",
8
+ "name",
9
+ "value",
10
+ "checked",
11
+ "disabled",
12
+ "aria-label"
13
+ ];
14
+ var _hoisted_3 = ["data-state"];
15
+ var _hoisted_4 = {
16
+ key: 0,
17
+ class: "rs-radio__label"
18
+ };
7
19
  var RsRadioItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
20
+ name: "RsRadioItem",
8
21
  __name: "RsRadioItem",
9
22
  props: {
10
23
  value: { type: [
@@ -21,33 +34,53 @@ var RsRadioItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
21
34
  },
22
35
  setup(__props) {
23
36
  const props = __props;
37
+ const slots = useSlots();
24
38
  const group = inject(RS_RADIO_GROUP_KEY, null);
25
39
  const resolvedSize = useResolvedRsComponentSize(() => props.size ?? group?.size.value);
40
+ const hasText = computed(() => Boolean(slots.default));
26
41
  const autoId = useId();
27
42
  const inputId = computed(() => props.id || autoId);
43
+ const resolvedDisabled = computed(() => props.disabled || Boolean(group?.disabled.value));
44
+ const checked = computed(() => Boolean(group?.isChecked(props.value)));
45
+ const inputName = computed(() => group?.name.value || autoId);
46
+ const itemState = computed(() => checked.value ? "checked" : "unchecked");
28
47
  const rootClass = computed(() => [
29
48
  "rs-radio",
30
49
  `rs-radio--${resolvedSize.value}`,
31
- { "rs-radio--disabled": props.disabled }
50
+ {
51
+ "rs-radio--checked": checked.value,
52
+ "rs-radio--disabled": resolvedDisabled.value
53
+ }
32
54
  ]);
55
+ function onChange(event) {
56
+ if (resolvedDisabled.value) return;
57
+ if (!event.target.checked) return;
58
+ group?.select(props.value);
59
+ }
33
60
  return (_ctx, _cache) => {
34
- return openBlock(), createElementBlock("div", { class: normalizeClass(rootClass.value) }, [createVNode(unref(RadioGroupItem), {
35
- id: inputId.value,
36
- class: "rs-radio__item",
37
- value: __props.value,
38
- disabled: __props.disabled
39
- }, {
40
- default: withCtx(() => [createVNode(unref(RadioGroupIndicator), { class: "rs-radio__indicator" })]),
41
- _: 1
42
- }, 8, [
43
- "id",
44
- "value",
45
- "disabled"
46
- ]), _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
47
- key: 0,
48
- class: "rs-radio__label",
61
+ return openBlock(), createElementBlock("label", {
62
+ class: normalizeClass(rootClass.value),
49
63
  for: inputId.value
50
- }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1)) : createCommentVNode("", true)], 2);
64
+ }, [
65
+ createElementVNode("input", {
66
+ id: inputId.value,
67
+ class: "rs-radio__input",
68
+ type: "radio",
69
+ name: inputName.value,
70
+ value: unref(rsRadioInputValue)(__props.value),
71
+ checked: checked.value,
72
+ disabled: resolvedDisabled.value,
73
+ "aria-label": hasText.value ? void 0 : unref(rsRadioInputValue)(__props.value),
74
+ onChange,
75
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"]))
76
+ }, null, 40, _hoisted_2),
77
+ createElementVNode("span", {
78
+ class: "rs-radio__item",
79
+ "data-state": itemState.value,
80
+ "aria-hidden": "true"
81
+ }, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "rs-radio__indicator" }, null, -1)])], 8, _hoisted_3),
82
+ _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])) : createCommentVNode("", true)
83
+ ], 10, _hoisted_1);
51
84
  };
52
85
  }
53
86
  });
@@ -1,7 +1,8 @@
1
1
  import './RsRadioItem.css'
2
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
2
3
  import RsRadioItem_vue_vue_type_script_setup_true_lang_default from "./RsRadioItem.impl.js";
3
4
 
4
5
  //#region src/components/radio/src/RsRadioItem.vue
5
- var RsRadioItem_default = RsRadioItem_vue_vue_type_script_setup_true_lang_default;
6
+ var RsRadioItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsRadioItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f460a126"]]);
6
7
  //#endregion
7
8
  export { RsRadioItem_default as default };
@@ -1,9 +1,20 @@
1
- import type { InjectionKey, Ref } from 'vue';
1
+ import type { ComputedRef, InjectionKey, Ref } from 'vue';
2
2
  import type { RsComponentSize } from '../../../theme/types';
3
3
  /** 单选值类型 */
4
4
  export type RsRadioValue = string | number | boolean;
5
+ export declare const RS_RADIO_ORIENTATIONS: readonly ["horizontal", "vertical"];
6
+ export type RsRadioOrientation = (typeof RS_RADIO_ORIENTATIONS)[number];
7
+ export declare function isRsRadioOrientation(value: unknown): value is RsRadioOrientation;
8
+ export declare function resolveRsRadioOrientation(orientation?: RsRadioOrientation | null): RsRadioOrientation;
9
+ export declare function isRsRadioValueEqual(left: RsRadioValue | undefined, right: RsRadioValue | undefined): boolean;
10
+ /** 原生 radio 的 value 只能是 string;选型比较仍用原始 RsRadioValue。 */
11
+ export declare function rsRadioInputValue(value: RsRadioValue): string;
5
12
  /** RadioGroup 向下注入的上下文 */
6
13
  export type RsRadioGroupContext = {
7
14
  size: Ref<RsComponentSize>;
15
+ disabled: ComputedRef<boolean>;
16
+ name: ComputedRef<string>;
17
+ isChecked: (value: RsRadioValue) => boolean;
18
+ select: (value: RsRadioValue) => void;
8
19
  };
9
20
  export declare const RS_RADIO_GROUP_KEY: InjectionKey<RsRadioGroupContext>;
@@ -1,4 +1,18 @@
1
1
  //#region src/components/radio/src/radio-utils.ts
2
+ var RS_RADIO_ORIENTATIONS = ["horizontal", "vertical"];
3
+ function isRsRadioOrientation(value) {
4
+ return typeof value === "string" && RS_RADIO_ORIENTATIONS.includes(value);
5
+ }
6
+ function resolveRsRadioOrientation(orientation) {
7
+ return isRsRadioOrientation(orientation) ? orientation : "horizontal";
8
+ }
9
+ function isRsRadioValueEqual(left, right) {
10
+ return left === right;
11
+ }
12
+ /** 原生 radio 的 value 只能是 string;选型比较仍用原始 RsRadioValue。 */
13
+ function rsRadioInputValue(value) {
14
+ return `${value}`;
15
+ }
2
16
  var RS_RADIO_GROUP_KEY = Symbol("rs-radio-group");
3
17
  //#endregion
4
- export { RS_RADIO_GROUP_KEY };
18
+ export { RS_RADIO_GROUP_KEY, RS_RADIO_ORIENTATIONS, isRsRadioOrientation, isRsRadioValueEqual, resolveRsRadioOrientation, rsRadioInputValue };