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,9 +1,22 @@
1
- import { SwitchRoot, SwitchThumb } 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 { computed, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeModels, normalizeClass, openBlock, renderSlot, unref, useId, useModel, withCtx } from "vue";
3
+ import { resolveRsSwitchChecked, resolveRsSwitchNext } from "./switch-utils.js";
4
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeModels, normalizeClass, openBlock, renderSlot, useId, useModel, useTemplateRef, withModifiers } from "vue";
4
5
  //#region src/components/switch/src/RsSwitch.vue?vue&type=script&setup=true&lang.ts
5
- var _hoisted_1 = ["for"];
6
+ var _hoisted_1 = [
7
+ "id",
8
+ "name",
9
+ "checked",
10
+ "disabled",
11
+ "aria-checked",
12
+ "aria-label"
13
+ ];
14
+ var _hoisted_2 = {
15
+ key: 0,
16
+ class: "rs-switch__label"
17
+ };
6
18
  var RsSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
19
+ name: "RsSwitch",
7
20
  __name: "RsSwitch",
8
21
  props: /*@__PURE__*/ mergeModels({
9
22
  disabled: {
@@ -13,6 +26,7 @@ var RsSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
13
26
  size: {},
14
27
  ariaLabel: {},
15
28
  id: {},
29
+ name: {},
16
30
  checkedValue: {
17
31
  type: [
18
32
  Boolean,
@@ -41,50 +55,68 @@ var RsSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
41
55
  "modelModifiers": {}
42
56
  }),
43
57
  emits: /*@__PURE__*/ mergeModels(["change"], ["update:modelValue"]),
44
- setup(__props, { emit: __emit }) {
58
+ setup(__props, { expose: __expose, emit: __emit }) {
45
59
  const model = useModel(__props, "modelValue");
46
60
  const props = __props;
47
61
  const emit = __emit;
62
+ const formContext = useRsFormContext();
48
63
  const autoId = useId();
49
64
  const inputId = computed(() => props.id || autoId);
65
+ const inputRef = useTemplateRef("inputRef");
50
66
  const resolvedSize = useResolvedRsComponentSize(() => props.size);
51
- /** Reka Switch 只吃 boolean;对外 v-model 按 checkedValue / uncheckedValue 映射 */
52
- const isChecked = computed(() => Object.is(model.value, props.checkedValue));
67
+ const resolvedDisabled = computed(() => props.disabled || Boolean(formContext?.disabled.value));
68
+ const isChecked = computed(() => resolveRsSwitchChecked(model.value, props.checkedValue));
53
69
  const rootClass = computed(() => [
54
70
  "rs-switch",
55
71
  `rs-switch--${resolvedSize.value}`,
56
72
  {
57
73
  "rs-switch--checked": isChecked.value,
58
- "rs-switch--disabled": props.disabled
74
+ "rs-switch--disabled": resolvedDisabled.value
59
75
  }
60
76
  ]);
61
- function onUpdate(checked) {
62
- const next = checked ? props.checkedValue : props.uncheckedValue;
77
+ function writeChecked(checked) {
78
+ const next = resolveRsSwitchNext(checked, props.checkedValue, props.uncheckedValue);
63
79
  if (Object.is(model.value, next)) return;
64
80
  model.value = next;
65
81
  emit("change", next);
66
82
  }
83
+ function onNativeChange(event) {
84
+ if (resolvedDisabled.value) return;
85
+ writeChecked(event.target.checked);
86
+ }
87
+ function onTrackClick(event) {
88
+ event.preventDefault();
89
+ event.stopPropagation();
90
+ if (resolvedDisabled.value) return;
91
+ writeChecked(!isChecked.value);
92
+ }
93
+ __expose({ focus: () => {
94
+ inputRef.value?.focus();
95
+ } });
67
96
  return (_ctx, _cache) => {
68
- return openBlock(), createElementBlock("div", { class: normalizeClass(rootClass.value) }, [createVNode(unref(SwitchRoot), {
69
- id: inputId.value,
70
- class: "rs-switch__root",
71
- "model-value": isChecked.value,
72
- disabled: __props.disabled,
73
- "aria-label": __props.ariaLabel,
74
- "onUpdate:modelValue": onUpdate
75
- }, {
76
- default: withCtx(() => [createVNode(unref(SwitchThumb), { class: "rs-switch__thumb" })]),
77
- _: 1
78
- }, 8, [
79
- "id",
80
- "model-value",
81
- "disabled",
82
- "aria-label"
83
- ]), _ctx.$slots.default ? (openBlock(), createElementBlock("label", {
84
- key: 0,
85
- class: "rs-switch__label",
86
- for: inputId.value
87
- }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1)) : createCommentVNode("", true)], 2);
97
+ return openBlock(), createElementBlock("label", { class: normalizeClass(rootClass.value) }, [
98
+ createElementVNode("input", {
99
+ id: inputId.value,
100
+ ref_key: "inputRef",
101
+ ref: inputRef,
102
+ class: "rs-switch__input",
103
+ type: "checkbox",
104
+ role: "switch",
105
+ name: __props.name,
106
+ checked: isChecked.value,
107
+ disabled: resolvedDisabled.value,
108
+ "aria-checked": isChecked.value ? "true" : "false",
109
+ "aria-label": __props.ariaLabel,
110
+ onChange: onNativeChange,
111
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"]))
112
+ }, null, 40, _hoisted_1),
113
+ createElementVNode("span", {
114
+ class: "rs-switch__root",
115
+ "aria-hidden": "true",
116
+ onClick: onTrackClick
117
+ }, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "rs-switch__thumb" }, null, -1)])]),
118
+ _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])) : createCommentVNode("", true)
119
+ ], 2);
88
120
  };
89
121
  }
90
122
  });
@@ -1,7 +1,8 @@
1
1
  import './RsSwitch.css'
2
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
2
3
  import RsSwitch_vue_vue_type_script_setup_true_lang_default from "./RsSwitch.impl.js";
3
4
 
4
5
  //#region src/components/switch/src/RsSwitch.vue
5
- var RsSwitch_default = RsSwitch_vue_vue_type_script_setup_true_lang_default;
6
+ var RsSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsSwitch_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ba0ee1d6"]]);
6
7
  //#endregion
7
8
  export { RsSwitch_default as default };
@@ -0,0 +1,4 @@
1
+ /** Switch v-model 取值:默认 boolean,也可为业务码如 'Y'/'N'、1/0 */
2
+ export type RsSwitchValue = boolean | string | number;
3
+ export declare function resolveRsSwitchChecked(value: RsSwitchValue, checkedValue: RsSwitchValue): boolean;
4
+ export declare function resolveRsSwitchNext(checked: boolean, checkedValue: RsSwitchValue, uncheckedValue: RsSwitchValue): RsSwitchValue;
@@ -0,0 +1,9 @@
1
+ //#region src/components/switch/src/switch-utils.ts
2
+ function resolveRsSwitchChecked(value, checkedValue) {
3
+ return Object.is(value, checkedValue);
4
+ }
5
+ function resolveRsSwitchNext(checked, checkedValue, uncheckedValue) {
6
+ return checked ? checkedValue : uncheckedValue;
7
+ }
8
+ //#endregion
9
+ export { resolveRsSwitchChecked, resolveRsSwitchNext };
@@ -31,6 +31,7 @@ var _hoisted_3 = {
31
31
  var _hoisted_4 = { key: 0 };
32
32
  var _hoisted_5 = ["colspan"];
33
33
  var RsTable_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
34
+ name: "RsTable",
34
35
  inheritAttrs: false,
35
36
  __name: "RsTable",
36
37
  props: /*@__PURE__*/ mergeDefaults({
@@ -174,6 +175,7 @@ var RsTable_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
174
175
  const emit = __emit;
175
176
  const slots = useSlots();
176
177
  const { t } = useRsI18n();
178
+ const resolvedNullLabel = computed(() => props.nullLabel ?? t("table.nullValue"));
177
179
  const sharedTipRef = ref(null);
178
180
  const { state: cellTipState, onPointerOver: onCellTipOver, onPointerOut: onCellTipOut, hide: hideCellTooltip } = useTableCellTooltip({
179
181
  enabled: () => props.cellTooltip,
@@ -462,7 +464,7 @@ var RsTable_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
462
464
  rowCommit: () => props.rowCommit,
463
465
  allowNull: () => props.allowNull,
464
466
  editFocusMode: () => props.editFocusMode,
465
- nullLabel: () => props.nullLabel
467
+ nullLabel: () => resolvedNullLabel.value
466
468
  },
467
469
  layout: {
468
470
  useFixedColumnLayout,
@@ -587,7 +589,7 @@ var RsTable_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
587
589
  items: unref(ctxMenuItems),
588
590
  onSelect: unref(onCtxMenuSelect)
589
591
  }, {
590
- default: withCtx(() => [createElementVNode("div", mergeProps({ class: ["rs-table-shell", {
592
+ default: withCtx(() => [createElementVNode("div", mergeProps({ class: ["rs-table-shell rs-motion-reduce", {
591
593
  "rs-table-shell--ctx": contextMenuEnabled.value,
592
594
  "rs-table-shell--fill": __props.fill
593
595
  }] }, unref(shellBind), { onContextmenu: _cache[4] || (_cache[4] = (...args) => unref(onTableContextmenu) && unref(onTableContextmenu)(...args)) }), [createElementVNode("div", {
@@ -55,20 +55,36 @@ export declare function useRsTableContextMenu<T extends RsTableRowData>(options:
55
55
  key: string;
56
56
  label: string;
57
57
  icon?: string | undefined;
58
+ hint?: string | undefined;
58
59
  disabled?: boolean | undefined;
59
60
  danger?: boolean | undefined;
60
61
  separator?: boolean | undefined;
61
62
  children?: /*elided*/ any[] | undefined;
62
63
  shortcut?: string | undefined;
64
+ type?: import("../../../context-menu").RsContextMenuItemType | undefined;
65
+ checked?: boolean | undefined;
66
+ group?: string | undefined;
67
+ href?: string | undefined;
68
+ target?: string | undefined;
69
+ rel?: string | undefined;
70
+ closeOnSelect?: boolean | undefined;
63
71
  }[], RsContextMenuItem[] | {
64
72
  key: string;
65
73
  label: string;
66
74
  icon?: string | undefined;
75
+ hint?: string | undefined;
67
76
  disabled?: boolean | undefined;
68
77
  danger?: boolean | undefined;
69
78
  separator?: boolean | undefined;
70
79
  children?: /*elided*/ any[] | undefined;
71
80
  shortcut?: string | undefined;
81
+ type?: import("../../../context-menu").RsContextMenuItemType | undefined;
82
+ checked?: boolean | undefined;
83
+ group?: string | undefined;
84
+ href?: string | undefined;
85
+ target?: string | undefined;
86
+ rel?: string | undefined;
87
+ closeOnSelect?: boolean | undefined;
72
88
  }[]>;
73
89
  refreshCtxMenuItems: () => void;
74
90
  onCtxMenuSelect: (key: string) => Promise<void>;
@@ -93,7 +93,7 @@ function useRsTableContextMenu(options) {
93
93
  }
94
94
  }
95
95
  /**
96
- * 捕获阶段预填:须早于 ContextMenuTrigger 冒泡打开。
96
+ * 捕获阶段预填:须早于右键菜单在冒泡阶段打开。
97
97
  */
98
98
  function onContextmenuCapture(event) {
99
99
  if (!read(options.enabled)) return;
@@ -1,3 +1,4 @@
1
+ import { useRsI18n } from "../../../../composables/useRsI18n.js";
1
2
  import { buildTableEntries, buildTableTreeEntries, buildTableTreeNodeIndex, collectTableTreeExpandableKeys, injectExpandRows, isTableRowDisabled, resolveRowKey, resolveSelectAllState, resolveTableTreeIndent } from "../utils/table-utils.js";
2
3
  import { computed, ref, watch } from "vue";
3
4
  //#region src/components/table/src/composables/useRsTableEngine.ts
@@ -22,6 +23,7 @@ function read(source) {
22
23
  * 行勾选/展开的「交互处理函数」仍留在 RsTable(依赖 DOM 与其它 UI 状态)。
23
24
  */
24
25
  function useRsTableEngine(options) {
26
+ const { locale } = useRsI18n();
25
27
  const internalSort = ref(options.defaultSort ?? null);
26
28
  const internalSorts = ref([...options.defaultSorts]);
27
29
  const internalSelectedRowKeys = ref([...options.defaultSelectedRowKeys]);
@@ -133,7 +135,8 @@ function useRsTableEngine(options) {
133
135
  filterText: read(options.filterText),
134
136
  filterKeys: read(options.filterKeys),
135
137
  columnFilters: read(options.columnFilters),
136
- remoteSort: read(options.remoteSort)
138
+ remoteSort: read(options.remoteSort),
139
+ locale: locale.value
137
140
  });
138
141
  return injectExpandRows(buildTableEntries(data, columns, {
139
142
  sort: sortState.value,
@@ -144,7 +147,8 @@ function useRsTableEngine(options) {
144
147
  columnFilters: read(options.columnFilters),
145
148
  groupBy: read(options.groupBy),
146
149
  groupLabel: read(options.groupLabel),
147
- remoteSort: read(options.remoteSort)
150
+ remoteSort: read(options.remoteSort),
151
+ locale: locale.value
148
152
  }), expandedKeySet.value, rowKey, read(options.rowExpandable));
149
153
  });
150
154
  /**
@@ -153,6 +153,8 @@ function useRsTableScrollLayout(options) {
153
153
  viewportResizeObserver.observe(el);
154
154
  }
155
155
  function disposeScrollLayout() {
156
+ restoreGeneration += 1;
157
+ restoringScroll = false;
156
158
  viewportResizeObserver?.disconnect();
157
159
  viewportResizeObserver = null;
158
160
  if (scrollRafId) {
@@ -130,20 +130,36 @@ export declare function useRsTableShell<T extends RsTableRowData>(options: UseRs
130
130
  key: string;
131
131
  label: string;
132
132
  icon?: string | undefined;
133
+ hint?: string | undefined;
133
134
  disabled?: boolean | undefined;
134
135
  danger?: boolean | undefined;
135
136
  separator?: boolean | undefined;
136
137
  children?: /*elided*/ any[] | undefined;
137
138
  shortcut?: string | undefined;
139
+ type?: import("../../../context-menu").RsContextMenuItemType | undefined;
140
+ checked?: boolean | undefined;
141
+ group?: string | undefined;
142
+ href?: string | undefined;
143
+ target?: string | undefined;
144
+ rel?: string | undefined;
145
+ closeOnSelect?: boolean | undefined;
138
146
  }[], RsContextMenuItem[] | {
139
147
  key: string;
140
148
  label: string;
141
149
  icon?: string | undefined;
150
+ hint?: string | undefined;
142
151
  disabled?: boolean | undefined;
143
152
  danger?: boolean | undefined;
144
153
  separator?: boolean | undefined;
145
154
  children?: /*elided*/ any[] | undefined;
146
155
  shortcut?: string | undefined;
156
+ type?: import("../../../context-menu").RsContextMenuItemType | undefined;
157
+ checked?: boolean | undefined;
158
+ group?: string | undefined;
159
+ href?: string | undefined;
160
+ target?: string | undefined;
161
+ rel?: string | undefined;
162
+ closeOnSelect?: boolean | undefined;
147
163
  }[]>;
148
164
  refreshCtxMenuItems: () => void;
149
165
  onCtxMenuSelect: (key: string) => Promise<void>;
@@ -113,6 +113,7 @@ export interface RsTableProps<T extends RsTableRowData = RsTableRowData> {
113
113
  rowPending?: (row: T, index: number) => boolean;
114
114
  showRowStatus?: boolean;
115
115
  allowNull?: boolean;
116
+ /** 空值展示。未传时用 table.nullValue */
116
117
  nullLabel?: string;
117
118
  editFocusMode?: RsTableCellEditFocusMode;
118
119
  editKeyboard?: boolean;
@@ -309,7 +310,6 @@ export declare const RS_TABLE_PROP_DEFAULTS: {
309
310
  rowCommit: boolean;
310
311
  showRowStatus: boolean;
311
312
  allowNull: boolean;
312
- nullLabel: string;
313
313
  editFocusMode: "end";
314
314
  editKeyboard: boolean;
315
315
  editUndo: boolean;
@@ -50,7 +50,6 @@ var RS_TABLE_PROP_DEFAULTS = {
50
50
  rowCommit: false,
51
51
  showRowStatus: true,
52
52
  allowNull: true,
53
- nullLabel: "(NULL)",
54
53
  editFocusMode: "end",
55
54
  editKeyboard: true,
56
55
  editUndo: true,
@@ -30,6 +30,7 @@ var _hoisted_12 = ["colspan"];
30
30
  var _hoisted_13 = { key: 2 };
31
31
  var _hoisted_14 = ["colspan"];
32
32
  var RsTableBody_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
33
+ name: "RsTableBody",
33
34
  __name: "RsTableBody",
34
35
  setup(__props) {
35
36
  /**
@@ -5,7 +5,7 @@ import { unwrapSelectEntry } from "../../../select/src/select-utils.js";
5
5
  import RsSelect_default from "../../../select/src/RsSelect.js";
6
6
  import RsDatePicker_default from "../../../date-picker/src/RsDatePicker.js";
7
7
  import { applyFocusMode, isNullDraft, nullToEditText, resolveCellEditorInputType, usesOverlayEditor } from "../utils/table-edit-utils.js";
8
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeModels, nextTick, normalizeClass, onMounted, openBlock, ref, toDisplayString, unref, useId, useModel, vModelText, watch, withDirectives, withModifiers } from "vue";
8
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeModels, nextTick, normalizeClass, onBeforeUnmount, onMounted, openBlock, ref, toDisplayString, unref, useId, useModel, vModelText, watch, withDirectives, withModifiers } from "vue";
9
9
  //#region src/components/table/src/table-body/RsTableCellEditor.vue?vue&type=script&setup=true&lang.ts
10
10
  var _hoisted_1 = [
11
11
  "title",
@@ -30,6 +30,7 @@ var _hoisted_5 = [
30
30
  "disabled"
31
31
  ];
32
32
  var RsTableCellEditor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
33
+ name: "RsTableCellEditor",
33
34
  __name: "RsTableCellEditor",
34
35
  props: /*@__PURE__*/ mergeModels({
35
36
  valueType: { default: "text" },
@@ -64,6 +65,7 @@ var RsTableCellEditor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
64
65
  ], ["update:modelValue"]),
65
66
  setup(__props, { emit: __emit }) {
66
67
  const { t } = useRsI18n();
68
+ let blurCommitTimer = 0;
67
69
  const props = __props;
68
70
  const model = useModel(__props, "modelValue");
69
71
  const emit = __emit;
@@ -161,13 +163,19 @@ var RsTableCellEditor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
161
163
  }
162
164
  function onBlur() {
163
165
  if (isDate.value && dateOverlayOpen.value) {
164
- window.setTimeout(() => {
166
+ window.clearTimeout(blurCommitTimer);
167
+ blurCommitTimer = window.setTimeout(() => {
168
+ blurCommitTimer = 0;
165
169
  if (shouldCommitOnBlur()) emit("commit");
166
170
  }, 0);
167
171
  return;
168
172
  }
169
173
  if (shouldCommitOnBlur()) emit("commit");
170
174
  }
175
+ onBeforeUnmount(() => {
176
+ window.clearTimeout(blurCommitTimer);
177
+ blurCommitTimer = 0;
178
+ });
171
179
  function onKeydown(event) {
172
180
  if (event.isComposing || composing.value) {
173
181
  if (event.key === "Process") return;
@@ -4,6 +4,7 @@ import { Fragment, createCommentVNode, createElementBlock, defineComponent, norm
4
4
  var _hoisted_1 = { key: 0 };
5
5
  var _hoisted_2 = ["data-col-key"];
6
6
  var RsTableColGroup_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
7
+ name: "RsTableColGroup",
7
8
  __name: "RsTableColGroup",
8
9
  setup(__props) {
9
10
  const view = useRsTableView();
@@ -4,6 +4,7 @@ var _hoisted_1 = { class: "rs-table__summary-row" };
4
4
  var _hoisted_2 = ["colspan"];
5
5
  var _hoisted_3 = ["data-col-key"];
6
6
  var RsTableSummaryRow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
7
+ name: "RsTableSummaryRow",
7
8
  __name: "RsTableSummaryRow",
8
9
  props: {
9
10
  columns: {},
@@ -36,6 +36,7 @@ var _hoisted_10 = {
36
36
  };
37
37
  var _hoisted_11 = ["onMousedown"];
38
38
  var RsTableHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
39
+ name: "RsTableHeader",
39
40
  __name: "RsTableHeader",
40
41
  setup(__props) {
41
42
  const view = useRsTableView();
@@ -233,16 +233,16 @@ export type RsTableCellTooltipMode = 'overflow' | 'always';
233
233
  export declare function columnUsesSharedTooltip<T extends RsTableRowData>(column: RsTableColumn<T>): boolean;
234
234
  export declare function resolveCellTooltipMode<T extends RsTableRowData>(column: RsTableColumn<T>): RsTableCellTooltipMode | null;
235
235
  export declare function resolveCellTooltipText<T extends RsTableRowData>(column: RsTableColumn<T>, row: T, index: number): string;
236
- export declare function compareTableValues(a: unknown, b: unknown): number;
236
+ export declare function compareTableValues(a: unknown, b: unknown, locale?: string): number;
237
237
  export declare function toggleSortState(current: RsTableSortState | null, key: string): RsTableSortState | null;
238
238
  export declare function toggleMultiSortState(sorts: readonly RsTableSortState[], key: string, maxSort?: number): RsTableSortState[];
239
239
  export declare function getSortOrderForKey(sorts: readonly RsTableSortState[], key: string): RsTableSortOrder;
240
240
  export declare function getSortPriorityForKey(sorts: readonly RsTableSortState[], key: string): number;
241
- export declare function compareTableRowsBySort<T extends RsTableRowData>(left: T, right: T, column: RsTableColumn<T>, order: Exclude<RsTableSortOrder, null>): number;
242
- export declare function sortTableRows<T extends RsTableRowData>(rows: readonly T[], columns: readonly RsTableColumn<T>[], sort: RsTableSortState | null): T[];
243
- export declare function sortTableRowsMulti<T extends RsTableRowData>(rows: readonly T[], columns: readonly RsTableColumn<T>[], sorts: readonly RsTableSortState[]): T[];
244
- export declare function filterTableRows<T extends RsTableRowData>(rows: readonly T[], query: string, columns: readonly RsTableColumn<T>[], keys?: string[]): T[];
245
- export declare function filterTableRowsByColumnFilters<T extends RsTableRowData>(rows: readonly T[], columns: readonly RsTableColumn<T>[], filters: Record<string, string>): T[];
241
+ export declare function compareTableRowsBySort<T extends RsTableRowData>(left: T, right: T, column: RsTableColumn<T>, order: Exclude<RsTableSortOrder, null>, locale?: string): number;
242
+ export declare function sortTableRows<T extends RsTableRowData>(rows: readonly T[], columns: readonly RsTableColumn<T>[], sort: RsTableSortState | null, locale?: string): T[];
243
+ export declare function sortTableRowsMulti<T extends RsTableRowData>(rows: readonly T[], columns: readonly RsTableColumn<T>[], sorts: readonly RsTableSortState[], locale?: string): T[];
244
+ export declare function filterTableRows<T extends RsTableRowData>(rows: readonly T[], query: string, columns: readonly RsTableColumn<T>[], keys?: string[], locale?: string): T[];
245
+ export declare function filterTableRowsByColumnFilters<T extends RsTableRowData>(rows: readonly T[], columns: readonly RsTableColumn<T>[], filters: Record<string, string>, locale?: string): T[];
246
246
  export declare function isColumnFilterActive(filters: Record<string, string>, key: string): boolean;
247
247
  export declare function resolveGroupKey<T extends RsTableRowData>(row: T, groupBy: RsTableGroupBy<T>): string;
248
248
  export declare function groupTableRows<T extends RsTableRowData>(rows: readonly T[], groupBy: RsTableGroupBy<T>, labelFormatter?: (key: string) => string): RsTableRowEntry<T>[];
@@ -261,6 +261,7 @@ export declare function buildTableEntries<T extends RsTableRowData>(rows: readon
261
261
  groupBy?: RsTableGroupBy<T>;
262
262
  groupLabel?: (key: string) => string;
263
263
  remoteSort?: boolean;
264
+ locale?: string;
264
265
  }): RsTableRowEntry<T>[];
265
266
  export declare function injectExpandRows<T extends RsTableRowData>(entries: readonly RsTableRowEntry<T>[], expandedKeys: ReadonlySet<string>, rowKey?: RsTableRowKey<T>, rowExpandable?: (row: T, index: number) => boolean): RsTableRowEntry<T>[];
266
267
  export declare function toggleExpandedRowKeys(keys: readonly string[], key: string): string[];
@@ -309,6 +310,7 @@ export declare function filterTableTreeRows<T extends RsTableRowData>(rows: read
309
310
  childrenField?: string;
310
311
  filterKeys?: string[];
311
312
  columnFilters?: Record<string, string>;
313
+ locale?: string;
312
314
  }): T[];
313
315
  /** 树排序:仅对同级节点排序,递归处理子树 */
314
316
  export declare function sortTableTreeRows<T extends RsTableRowData>(rows: readonly T[], columns: readonly RsTableColumn<T>[], options: {
@@ -316,6 +318,7 @@ export declare function sortTableTreeRows<T extends RsTableRowData>(rows: readon
316
318
  sort?: RsTableSortState | null;
317
319
  sorts?: readonly RsTableSortState[];
318
320
  multiSort?: boolean;
321
+ locale?: string;
319
322
  }): T[];
320
323
  /**
321
324
  * 按展开 key 展平可见树行为表格 row entries(不含 detail expand 行)。
@@ -342,6 +345,7 @@ export declare function buildTableTreeEntries<T extends RsTableRowData>(rows: re
342
345
  filterKeys?: string[];
343
346
  columnFilters?: Record<string, string>;
344
347
  remoteSort?: boolean;
348
+ locale?: string;
345
349
  }): RsTableRowEntry<T>[];
346
350
  /** 按表格 size 解析树缩进默认值 */
347
351
  export declare function resolveTableTreeIndent(size?: RsTableSize, custom?: number): number;
@@ -53,12 +53,12 @@ function resolveCellTooltipText(column, row, index) {
53
53
  }
54
54
  return String(value);
55
55
  }
56
- function compareTableValues(a, b) {
56
+ function compareTableValues(a, b, locale) {
57
57
  if (a === b) return 0;
58
58
  if (a === void 0 || a === null) return -1;
59
59
  if (b === void 0 || b === null) return 1;
60
60
  if (typeof a === "number" && typeof b === "number") return a - b;
61
- return formatComparableValue(a).localeCompare(formatComparableValue(b));
61
+ return formatComparableValue(a).localeCompare(formatComparableValue(b), locale);
62
62
  }
63
63
  function toggleSortState(current, key) {
64
64
  if (current?.key !== key) return {
@@ -95,40 +95,40 @@ function getSortPriorityForKey(sorts, key) {
95
95
  const index = sorts.findIndex((item) => item.key === key);
96
96
  return index >= 0 ? index + 1 : 0;
97
97
  }
98
- function compareTableRowsBySort(left, right, column, order) {
98
+ function compareTableRowsBySort(left, right, column, order, locale) {
99
99
  const direction = order === "asc" ? 1 : -1;
100
100
  if (column.sorter) return column.sorter(left, right) * direction;
101
- return compareTableValues(getCellValue(left, column), getCellValue(right, column)) * direction;
101
+ return compareTableValues(getCellValue(left, column), getCellValue(right, column), locale) * direction;
102
102
  }
103
- function sortTableRows(rows, columns, sort) {
103
+ function sortTableRows(rows, columns, sort, locale) {
104
104
  if (!sort) return rows;
105
105
  const column = columns.find((item) => item.key === sort.key);
106
106
  if (!column) return rows;
107
- return [...rows].sort((left, right) => compareTableRowsBySort(left, right, column, sort.order));
107
+ return [...rows].sort((left, right) => compareTableRowsBySort(left, right, column, sort.order, locale));
108
108
  }
109
- function sortTableRowsMulti(rows, columns, sorts) {
109
+ function sortTableRowsMulti(rows, columns, sorts, locale) {
110
110
  if (sorts.length === 0) return rows;
111
111
  return [...rows].sort((left, right) => {
112
112
  for (const sort of sorts) {
113
113
  const column = columns.find((item) => item.key === sort.key);
114
114
  if (!column) continue;
115
- const compare = compareTableRowsBySort(left, right, column, sort.order);
115
+ const compare = compareTableRowsBySort(left, right, column, sort.order, locale);
116
116
  if (compare !== 0) return compare;
117
117
  }
118
118
  return 0;
119
119
  });
120
120
  }
121
- function filterTableRows(rows, query, columns, keys) {
121
+ function filterTableRows(rows, query, columns, keys, locale) {
122
122
  const trimmed = query.trim();
123
123
  if (!trimmed) return rows;
124
124
  const searchKeys = keys ?? columns.map((column) => column.key);
125
- const lower = trimmed.toLowerCase();
125
+ const lower = trimmed.toLocaleLowerCase(locale);
126
126
  return rows.filter((row) => searchKeys.some((key) => {
127
127
  const column = columns.find((item) => item.key === key);
128
- return formatComparableValue(column ? getCellValue(row, column) : row[key]).toLowerCase().includes(lower);
128
+ return formatComparableValue(column ? getCellValue(row, column) : row[key]).toLocaleLowerCase(locale).includes(lower);
129
129
  }));
130
130
  }
131
- function filterTableRowsByColumnFilters(rows, columns, filters) {
131
+ function filterTableRowsByColumnFilters(rows, columns, filters, locale) {
132
132
  const active = Object.entries(filters).map(([key, query]) => [key, query.trim()]).filter(([, query]) => query.length > 0);
133
133
  if (!active.length) return rows;
134
134
  const columnMap = new Map(columns.map((column) => [column.key, column]));
@@ -137,8 +137,8 @@ function filterTableRowsByColumnFilters(rows, columns, filters) {
137
137
  if (!column) return true;
138
138
  const value = getCellValue(row, column);
139
139
  if (column.filter) return column.filter(value, row, query);
140
- const lower = query.toLowerCase();
141
- return formatComparableValue(value).toLowerCase().includes(lower);
140
+ const lower = query.toLocaleLowerCase(locale);
141
+ return formatComparableValue(value).toLocaleLowerCase(locale).includes(lower);
142
142
  }));
143
143
  }
144
144
  function isColumnFilterActive(filters, key) {
@@ -202,16 +202,16 @@ function reorderTableRows(rows, dragIndex, dropIndex, position) {
202
202
  function buildTableEntries(rows, columns, options = {}) {
203
203
  let processed = rows;
204
204
  const filterText = options.filterText ?? "";
205
- if (filterText.trim()) processed = filterTableRows(processed, filterText, columns, options.filterKeys);
205
+ if (filterText.trim()) processed = filterTableRows(processed, filterText, columns, options.filterKeys, options.locale);
206
206
  const columnFilters = options.columnFilters ?? {};
207
- if (Object.values(columnFilters).some((q) => q.trim())) processed = filterTableRowsByColumnFilters(processed, columns, columnFilters);
207
+ if (Object.values(columnFilters).some((q) => q.trim())) processed = filterTableRowsByColumnFilters(processed, columns, columnFilters, options.locale);
208
208
  if (!options.remoteSort) {
209
- if (options.multiSort && options.sorts?.length) processed = sortTableRowsMulti(processed, columns, options.sorts);
210
- else if (options.sort) processed = sortTableRows(processed, columns, options.sort);
209
+ if (options.multiSort && options.sorts?.length) processed = sortTableRowsMulti(processed, columns, options.sorts, options.locale);
210
+ else if (options.sort) processed = sortTableRows(processed, columns, options.sort, options.locale);
211
211
  }
212
212
  if (options.groupBy) {
213
213
  const groupBy = options.groupBy;
214
- processed = [...processed].sort((left, right) => compareTableValues(resolveGroupKey(left, groupBy), resolveGroupKey(right, groupBy)));
214
+ processed = [...processed].sort((left, right) => compareTableValues(resolveGroupKey(left, groupBy), resolveGroupKey(right, groupBy), options.locale));
215
215
  return groupTableRows(processed, groupBy, options.groupLabel);
216
216
  }
217
217
  return processed.map((row, rowIndex) => ({
@@ -363,8 +363,8 @@ function filterTableTreeRows(rows, query, columns, options = {}) {
363
363
  if (!trimmed && !hasColumnFilters) return rows;
364
364
  const matchesSelf = (row) => {
365
365
  let ok = true;
366
- if (trimmed) ok = filterTableRows([row], trimmed, columns, options.filterKeys).length > 0;
367
- if (ok && hasColumnFilters) ok = filterTableRowsByColumnFilters([row], columns, columnFilters).length > 0;
366
+ if (trimmed) ok = filterTableRows([row], trimmed, columns, options.filterKeys, options.locale).length > 0;
367
+ if (ok && hasColumnFilters) ok = filterTableRowsByColumnFilters([row], columns, columnFilters, options.locale).length > 0;
368
368
  return ok;
369
369
  };
370
370
  const walk = (items) => {
@@ -385,8 +385,8 @@ function filterTableTreeRows(rows, query, columns, options = {}) {
385
385
  function sortTableTreeRows(rows, columns, options) {
386
386
  const childrenField = options.childrenField ?? "children";
387
387
  let sorted;
388
- if (options.multiSort && options.sorts?.length) sorted = sortTableRowsMulti(rows, columns, options.sorts);
389
- else if (options.sort) sorted = sortTableRows(rows, columns, options.sort);
388
+ if (options.multiSort && options.sorts?.length) sorted = sortTableRowsMulti(rows, columns, options.sorts, options.locale);
389
+ else if (options.sort) sorted = sortTableRows(rows, columns, options.sort, options.locale);
390
390
  else sorted = rows;
391
391
  return sorted.map((row) => {
392
392
  const children = getTableTreeChildren(row, childrenField);
@@ -435,13 +435,15 @@ function buildTableTreeEntries(rows, columns, expandedKeys, options) {
435
435
  if (filterText.trim() || Object.values(columnFilters).some((q) => q.trim())) processed = filterTableTreeRows(processed, filterText, columns, {
436
436
  childrenField,
437
437
  filterKeys: options.filterKeys,
438
- columnFilters
438
+ columnFilters,
439
+ locale: options.locale
439
440
  });
440
441
  if (!options.remoteSort && (options.sort || options.multiSort && options.sorts?.length)) processed = sortTableTreeRows(processed, columns, {
441
442
  childrenField,
442
443
  sort: options.sort,
443
444
  sorts: options.sorts,
444
- multiSort: options.multiSort
445
+ multiSort: options.multiSort,
446
+ locale: options.locale
445
447
  });
446
448
  return flattenVisibleTableTreeEntries(processed, expandedKeys, {
447
449
  childrenField,