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,5 +1,5 @@
1
1
 
2
- .rs-scrollbar {
2
+ .rs-scrollbar[data-v-507ffbba] {
3
3
  position: relative;
4
4
  width: 100%;
5
5
  overflow: hidden;
@@ -7,62 +7,109 @@
7
7
  border-radius: var(--rs-radius-sm);
8
8
  background: var(--rs-surface);
9
9
  }
10
- .rs-scrollbar__viewport {
10
+ .rs-scrollbar__viewport[data-v-507ffbba] {
11
11
  width: 100%;
12
12
  height: 100%;
13
13
  border-radius: inherit;
14
+ scrollbar-width: none;
15
+ -ms-overflow-style: none;
16
+ -webkit-overflow-scrolling: touch;
14
17
  }
15
-
16
- /* Reka 注入的 Primitive div。
17
- 必须用 height:100% 而非 min-height:100%:
18
- 只有父元素拥有"明确高度"时,子元素的 min-height:100% 才能解析(CSS 规范)。
19
- height:100% 让 Primitive 与 viewport 等高(= 明确高度),
20
- 超出内容通过 overflow:visible 溢出 → viewport(overflow:scroll) 正常滚动。 */
21
- .rs-scrollbar__viewport > div {
22
- height: 100%;
18
+ .rs-scrollbar__viewport[data-v-507ffbba]::-webkit-scrollbar {
19
+ display: none;
23
20
  }
24
-
25
- /* rs-scrollbar__content 同理:height:100% = Primitive 的明确高度。
26
- slot 内容若超出则溢出,滚动仍然工作;短内容时填满整个滚动区(空白可捕获右键)。 */
27
- .rs-scrollbar__content {
21
+ .rs-scrollbar__content[data-v-507ffbba] {
28
22
  min-width: 0;
29
23
  height: 100%;
30
24
  display: flex;
31
25
  flex-direction: column;
32
26
  }
33
- .rs-scrollbar__bar {
27
+ .rs-scrollbar__bar[data-v-507ffbba] {
28
+ --rs-scrollbar-thumb-size: 18px;
29
+ --rs-scrollbar-thumb-offset: 0px;
30
+ position: absolute;
34
31
  user-select: none;
35
32
  touch-action: none;
36
33
  display: flex;
37
34
  padding: var(--rs-scrollbar-padding);
38
35
  background: transparent;
39
- transition: background var(--rs-transition-fast);
36
+ transition:
37
+ background var(--rs-transition-fast),
38
+ opacity var(--rs-transition-fast);
40
39
  }
41
- .rs-scrollbar__bar[data-orientation='vertical'] {
40
+ .rs-scrollbar__bar[data-state='hidden'][data-v-507ffbba] {
41
+ opacity: 0;
42
+ pointer-events: none;
43
+ }
44
+ .rs-scrollbar__bar--vertical[data-v-507ffbba] {
45
+ inset-block-start: 0;
46
+ inset-inline-end: 0;
47
+ inset-block-end: var(--rs-scrollbar-corner, 0px);
42
48
  width: var(--rs-scrollbar-size);
43
49
  }
44
- .rs-scrollbar__bar[data-orientation='horizontal'] {
50
+ .rs-scrollbar__bar--horizontal[data-v-507ffbba] {
51
+ inset-inline-start: 0;
52
+ inset-block-end: 0;
53
+ inset-inline-end: var(--rs-scrollbar-corner, 0px);
45
54
  flex-direction: column;
46
55
  height: var(--rs-scrollbar-size);
47
56
  }
48
- .rs-scrollbar__bar:hover {
57
+ .rs-scrollbar__bar[data-v-507ffbba]:hover {
49
58
  background: color-mix(in srgb, var(--rs-border-subtle) 80%, transparent);
50
59
  }
51
- .rs-scrollbar__thumb {
52
- flex: 1;
60
+ .rs-scrollbar__thumb[data-v-507ffbba] {
61
+ flex: 0 0 auto;
53
62
  border-radius: var(--rs-radius-full);
54
63
  background: color-mix(in srgb, var(--rs-muted) 60%, transparent);
55
64
  position: relative;
56
65
  transition: background var(--rs-transition-fast);
57
66
  }
58
- .rs-scrollbar__thumb::before {
67
+ .rs-scrollbar__bar--vertical .rs-scrollbar__thumb[data-v-507ffbba] {
68
+ width: 100%;
69
+ height: var(--rs-scrollbar-thumb-size);
70
+ transform: translate3d(0, var(--rs-scrollbar-thumb-offset), 0);
71
+ }
72
+ .rs-scrollbar__bar--horizontal .rs-scrollbar__thumb[data-v-507ffbba] {
73
+ height: 100%;
74
+ width: var(--rs-scrollbar-thumb-size);
75
+ transform: translate3d(var(--rs-scrollbar-thumb-offset), 0, 0);
76
+ }
77
+ .rs-scrollbar__thumb[data-v-507ffbba]::before {
59
78
  content: '';
60
79
  position: absolute;
61
80
  inset: -0.375rem;
62
81
  }
63
- .rs-scrollbar__thumb:hover {
82
+ .rs-scrollbar__thumb[data-v-507ffbba]:hover {
64
83
  background: color-mix(in srgb, var(--rs-primary) 40%, var(--rs-muted));
65
84
  }
66
- .rs-scrollbar__corner {
85
+ .rs-scrollbar__corner[data-v-507ffbba] {
86
+ position: absolute;
87
+ inset-inline-end: 0;
88
+ inset-block-end: 0;
89
+ width: var(--rs-scrollbar-size);
90
+ height: var(--rs-scrollbar-size);
67
91
  background: var(--rs-surface);
68
92
  }
93
+ .rs-scrollbar__corner[data-state='hidden'][data-v-507ffbba] {
94
+ opacity: 0;
95
+ pointer-events: none;
96
+ }
97
+ @media (prefers-reduced-motion: reduce) {
98
+ .rs-scrollbar__bar[data-v-507ffbba],
99
+ .rs-scrollbar__thumb[data-v-507ffbba] {
100
+ transition: none;
101
+ }
102
+ }
103
+ @media (forced-colors: active) {
104
+ .rs-scrollbar[data-v-507ffbba] {
105
+ border: 1px solid CanvasText;
106
+ background: Canvas;
107
+ forced-color-adjust: none;
108
+ }
109
+ .rs-scrollbar__thumb[data-v-507ffbba] {
110
+ background: GrayText;
111
+ }
112
+ .rs-scrollbar__thumb[data-v-507ffbba]:hover {
113
+ background: Highlight;
114
+ }
115
+ }
@@ -1,4 +1,5 @@
1
1
  import { type RsScrollbarOrientation, type RsScrollbarType } from './scrollbar-utils';
2
+ export type { RsScrollbarOrientation, RsScrollbarType };
2
3
  type __VLS_Props = {
3
4
  type?: RsScrollbarType;
4
5
  scrollHideDelay?: number;
@@ -7,14 +8,17 @@ type __VLS_Props = {
7
8
  maxHeight?: string | number;
8
9
  minHeight?: string | number;
9
10
  };
10
- declare var __VLS_15: {};
11
+ declare function scrollTop(): void;
12
+ declare function scrollTopLeft(): void;
13
+ declare function getViewport(): HTMLElement | undefined;
14
+ declare var __VLS_1: {};
11
15
  type __VLS_Slots = {} & {
12
- default?: (props: typeof __VLS_15) => any;
16
+ default?: (props: typeof __VLS_1) => any;
13
17
  };
14
18
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
15
- scrollTop: () => void | undefined;
16
- scrollTopLeft: () => void | undefined;
17
- getViewport: () => HTMLElement | undefined;
19
+ scrollTop: typeof scrollTop;
20
+ scrollTopLeft: typeof scrollTopLeft;
21
+ getViewport: typeof getViewport;
18
22
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
23
  type: RsScrollbarType;
20
24
  height: string | number;
@@ -1,9 +1,16 @@
1
- import { ScrollAreaCorner, ScrollAreaRoot, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport } from "../../_shared/src/reka.js";
2
- import { resolveScrollbarSize } from "./scrollbar-utils.js";
3
- import { computed, createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, normalizeStyle, openBlock, renderSlot, unref, useTemplateRef, withCtx } from "vue";
1
+ import { useRsConfigOptional } from "../../../composables/useRsConfig.js";
2
+ import { resolveDirMode } from "../../../locale/apply.js";
3
+ import { useRsI18n } from "../../../composables/useRsI18n.js";
4
+ import { getScrollPositionFromPointer, getThumbOffsetFromScroll, getThumbSize, isRsScrollbarBarVisible, isRsScrollbarOverflow, isScrollingWithinScrollbarBounds, resolveScrollbarSize, showsRsScrollbarAxis, toCssInt } from "./scrollbar-utils.js";
5
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, nextTick, normalizeStyle, onBeforeUnmount, onMounted, onUpdated, openBlock, ref, renderSlot, useTemplateRef, watch } from "vue";
4
6
  //#region src/components/scrollbar/src/RsScrollbar.vue?vue&type=script&setup=true&lang.ts
5
- var _hoisted_1 = { class: "rs-scrollbar__content" };
7
+ var _hoisted_1 = ["data-type", "data-orientation"];
8
+ var _hoisted_2 = ["aria-label"];
9
+ var _hoisted_3 = ["data-state"];
10
+ var _hoisted_4 = ["data-state"];
11
+ var _hoisted_5 = ["data-state"];
6
12
  var RsScrollbar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
13
+ name: "RsScrollbar",
7
14
  __name: "RsScrollbar",
8
15
  props: {
9
16
  type: { default: "hover" },
@@ -15,7 +22,38 @@ var RsScrollbar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
15
22
  },
16
23
  setup(__props, { expose: __expose }) {
17
24
  const props = __props;
25
+ const { t } = useRsI18n();
26
+ const config = useRsConfigOptional();
27
+ const viewportLabel = computed(() => t("scrollbar.viewport"));
18
28
  const rootRef = useTemplateRef("rootRef");
29
+ const viewportRef = useTemplateRef("viewportRef");
30
+ const contentRef = useTemplateRef("contentRef");
31
+ const barYRef = useTemplateRef("barYRef");
32
+ const barXRef = useTemplateRef("barXRef");
33
+ const hovering = ref(false);
34
+ const interacting = ref(false);
35
+ const scrollingY = ref(false);
36
+ const scrollingX = ref(false);
37
+ const overflowY = ref(false);
38
+ const overflowX = ref(false);
39
+ const showVertical = computed(() => showsRsScrollbarAxis(props.orientation, "y"));
40
+ const showHorizontal = computed(() => showsRsScrollbarAxis(props.orientation, "x"));
41
+ const barYVisible = computed(() => isRsScrollbarBarVisible({
42
+ type: props.type,
43
+ overflowing: overflowY.value,
44
+ hovering: hovering.value,
45
+ scrolling: scrollingY.value,
46
+ interacting: interacting.value
47
+ }));
48
+ const barXVisible = computed(() => isRsScrollbarBarVisible({
49
+ type: props.type,
50
+ overflowing: overflowX.value,
51
+ hovering: hovering.value,
52
+ scrolling: scrollingX.value,
53
+ interacting: interacting.value
54
+ }));
55
+ const showCorner = computed(() => showVertical.value && showHorizontal.value && barYVisible.value && barXVisible.value);
56
+ const textDir = computed(() => resolveDirMode(config?.dir.value ?? "auto", config?.locale.value ?? "zh-CN"));
19
57
  const rootStyle = computed(() => {
20
58
  const style = {};
21
59
  const height = resolveScrollbarSize(props.height);
@@ -24,56 +62,343 @@ var RsScrollbar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
24
62
  if (height) style.height = height;
25
63
  if (maxHeight) style.maxHeight = maxHeight;
26
64
  if (minHeight) style.minHeight = minHeight;
27
- return Object.keys(style).length > 0 ? style : void 0;
65
+ style["--rs-scrollbar-corner"] = showCorner.value ? "var(--rs-scrollbar-size)" : "0px";
66
+ return style;
67
+ });
68
+ const viewportStyle = computed(() => ({
69
+ overflowX: showHorizontal.value ? "scroll" : "hidden",
70
+ overflowY: showVertical.value ? "scroll" : "hidden"
71
+ }));
72
+ const contentStyle = computed(() => ({ minWidth: showHorizontal.value ? "fit-content" : void 0 }));
73
+ let hideYTimer;
74
+ let hideXTimer;
75
+ let hoverTimer;
76
+ let scrollRaf = 0;
77
+ let pendingScrollFlags = false;
78
+ let observer;
79
+ let dragging = null;
80
+ let pointerOffset = 0;
81
+ let prevUserSelect = "";
82
+ let userSelectLocked = false;
83
+ const canUseRaf = typeof requestAnimationFrame === "function";
84
+ function clearTimer(timer) {
85
+ if (timer !== void 0) clearTimeout(timer);
86
+ }
87
+ function scheduleFrame(fn) {
88
+ if (canUseRaf) return requestAnimationFrame(fn);
89
+ return setTimeout(() => fn(0), 16);
90
+ }
91
+ function cancelFrame(id) {
92
+ if (canUseRaf && typeof cancelAnimationFrame === "function") {
93
+ cancelAnimationFrame(id);
94
+ return;
95
+ }
96
+ clearTimeout(id);
97
+ }
98
+ function sizesFor(axis) {
99
+ const viewport = viewportRef.value;
100
+ const bar = axis === "y" ? barYRef.value : barXRef.value;
101
+ if (!viewport || !bar) return null;
102
+ const style = typeof getComputedStyle === "function" ? getComputedStyle(bar) : void 0;
103
+ if (axis === "y") return {
104
+ content: viewport.scrollHeight,
105
+ viewport: viewport.offsetHeight,
106
+ scrollbar: {
107
+ size: bar.clientHeight,
108
+ paddingStart: toCssInt(style?.paddingTop),
109
+ paddingEnd: toCssInt(style?.paddingBottom)
110
+ }
111
+ };
112
+ return {
113
+ content: viewport.scrollWidth,
114
+ viewport: viewport.offsetWidth,
115
+ scrollbar: {
116
+ size: bar.clientWidth,
117
+ paddingStart: toCssInt(style?.paddingInlineStart) || toCssInt(style?.paddingLeft),
118
+ paddingEnd: toCssInt(style?.paddingInlineEnd) || toCssInt(style?.paddingRight)
119
+ }
120
+ };
121
+ }
122
+ function writeThumb(axis) {
123
+ const viewport = viewportRef.value;
124
+ const bar = axis === "y" ? barYRef.value : barXRef.value;
125
+ const sizes = sizesFor(axis);
126
+ if (!viewport || !bar || !sizes) return;
127
+ const dir = axis === "x" ? textDir.value : "ltr";
128
+ const scrollPos = axis === "y" ? viewport.scrollTop : viewport.scrollLeft;
129
+ bar.style.setProperty("--rs-scrollbar-thumb-size", `${getThumbSize(sizes)}px`);
130
+ bar.style.setProperty("--rs-scrollbar-thumb-offset", `${getThumbOffsetFromScroll(scrollPos, sizes, dir)}px`);
131
+ }
132
+ function syncOverflow() {
133
+ const viewport = viewportRef.value;
134
+ if (!viewport) return;
135
+ overflowY.value = isRsScrollbarOverflow(viewport.offsetHeight, viewport.scrollHeight);
136
+ overflowX.value = isRsScrollbarOverflow(viewport.offsetWidth, viewport.scrollWidth);
137
+ writeThumb("y");
138
+ writeThumb("x");
139
+ }
140
+ function scheduleHide(axis) {
141
+ const delay = Math.max(0, props.scrollHideDelay);
142
+ if (axis === "y") {
143
+ clearTimer(hideYTimer);
144
+ hideYTimer = setTimeout(() => {
145
+ scrollingY.value = false;
146
+ }, delay);
147
+ return;
148
+ }
149
+ clearTimer(hideXTimer);
150
+ hideXTimer = setTimeout(() => {
151
+ scrollingX.value = false;
152
+ }, delay);
153
+ }
154
+ function flushSyncFrame() {
155
+ scrollRaf = 0;
156
+ const fromScroll = pendingScrollFlags;
157
+ pendingScrollFlags = false;
158
+ if (fromScroll) {
159
+ if (showVertical.value) {
160
+ scrollingY.value = true;
161
+ clearTimer(hideYTimer);
162
+ scheduleHide("y");
163
+ }
164
+ if (showHorizontal.value) {
165
+ scrollingX.value = true;
166
+ clearTimer(hideXTimer);
167
+ scheduleHide("x");
168
+ }
169
+ }
170
+ syncOverflow();
171
+ }
172
+ function scheduleSync(fromScroll = false) {
173
+ if (fromScroll) pendingScrollFlags = true;
174
+ if (scrollRaf) return;
175
+ scrollRaf = scheduleFrame(flushSyncFrame);
176
+ }
177
+ function onViewportScroll() {
178
+ if (!viewportRef.value) return;
179
+ scheduleSync(true);
180
+ }
181
+ function onRootEnter() {
182
+ clearTimer(hoverTimer);
183
+ hovering.value = true;
184
+ }
185
+ function onRootLeave() {
186
+ clearTimer(hoverTimer);
187
+ hoverTimer = setTimeout(() => {
188
+ hovering.value = false;
189
+ }, Math.max(0, props.scrollHideDelay));
190
+ }
191
+ function lockUserSelect() {
192
+ if (typeof document === "undefined" || userSelectLocked) return;
193
+ prevUserSelect = document.body.style.webkitUserSelect;
194
+ document.body.style.webkitUserSelect = "none";
195
+ userSelectLocked = true;
196
+ }
197
+ function unlockUserSelect() {
198
+ if (typeof document === "undefined" || !userSelectLocked) return;
199
+ document.body.style.webkitUserSelect = prevUserSelect;
200
+ prevUserSelect = "";
201
+ userSelectLocked = false;
202
+ }
203
+ function captureBarPointer(bar, pointerId) {
204
+ if (typeof bar.setPointerCapture !== "function") return;
205
+ try {
206
+ bar.setPointerCapture(pointerId);
207
+ } catch {}
208
+ }
209
+ function onBarPointerDown(event, axis) {
210
+ if (event.button !== 0) return;
211
+ const bar = event.currentTarget;
212
+ const viewport = viewportRef.value;
213
+ if (!viewport) return;
214
+ captureBarPointer(bar, event.pointerId);
215
+ interacting.value = true;
216
+ dragging = axis;
217
+ const rect = bar.getBoundingClientRect();
218
+ const pointerPos = axis === "y" ? event.clientY - rect.top : event.clientX - rect.left;
219
+ const thumb = event.target.closest(".rs-scrollbar__thumb");
220
+ if (thumb) {
221
+ const thumbRect = thumb.getBoundingClientRect();
222
+ pointerOffset = axis === "y" ? event.clientY - thumbRect.top : event.clientX - thumbRect.left;
223
+ } else pointerOffset = 0;
224
+ lockUserSelect();
225
+ viewport.style.scrollBehavior = "auto";
226
+ applyPointerScroll(axis, pointerPos);
227
+ }
228
+ function applyPointerScroll(axis, pointerPos) {
229
+ const viewport = viewportRef.value;
230
+ const sizes = sizesFor(axis);
231
+ if (!viewport || !sizes) return;
232
+ const dir = axis === "x" ? textDir.value : "ltr";
233
+ const next = getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir);
234
+ if (axis === "y") viewport.scrollTop = next;
235
+ else viewport.scrollLeft = next;
236
+ }
237
+ function onBarPointerMove(event, axis) {
238
+ if (dragging !== axis) return;
239
+ const rect = event.currentTarget.getBoundingClientRect();
240
+ applyPointerScroll(axis, axis === "y" ? event.clientY - rect.top : event.clientX - rect.left);
241
+ }
242
+ function endDrag() {
243
+ unlockUserSelect();
244
+ const viewport = viewportRef.value;
245
+ if (viewport) viewport.style.scrollBehavior = "";
246
+ dragging = null;
247
+ pointerOffset = 0;
248
+ interacting.value = false;
249
+ }
250
+ function onBarWheel(event, axis) {
251
+ const viewport = viewportRef.value;
252
+ if (!viewport) return;
253
+ const max = axis === "y" ? viewport.scrollHeight - viewport.clientHeight : viewport.scrollWidth - viewport.clientWidth;
254
+ if (axis === "y") viewport.scrollTop += event.deltaY;
255
+ else viewport.scrollLeft += event.deltaY;
256
+ if (isScrollingWithinScrollbarBounds(axis === "y" ? viewport.scrollTop : viewport.scrollLeft, max)) event.preventDefault();
257
+ }
258
+ function scrollTop() {
259
+ const el = viewportRef.value;
260
+ if (!el) return;
261
+ if (typeof el.scrollTo === "function") el.scrollTo({ top: 0 });
262
+ else el.scrollTop = 0;
263
+ }
264
+ function scrollTopLeft() {
265
+ const el = viewportRef.value;
266
+ if (!el) return;
267
+ if (typeof el.scrollTo === "function") el.scrollTo({
268
+ top: 0,
269
+ left: 0
270
+ });
271
+ else {
272
+ el.scrollTop = 0;
273
+ el.scrollLeft = 0;
274
+ }
275
+ }
276
+ function getViewport() {
277
+ return viewportRef.value ?? void 0;
278
+ }
279
+ function bindObservers() {
280
+ if (typeof ResizeObserver !== "function") {
281
+ syncOverflow();
282
+ return;
283
+ }
284
+ observer = new ResizeObserver(() => syncOverflow());
285
+ if (viewportRef.value) observer.observe(viewportRef.value);
286
+ if (contentRef.value) observer.observe(contentRef.value);
287
+ }
288
+ const onBarYWheel = (event) => onBarWheel(event, "y");
289
+ const onBarXWheel = (event) => onBarWheel(event, "x");
290
+ let boundY;
291
+ let boundX;
292
+ function bindBarWheels() {
293
+ unbindBarWheels();
294
+ boundY = barYRef.value ?? void 0;
295
+ boundX = barXRef.value ?? void 0;
296
+ boundY?.addEventListener("wheel", onBarYWheel, { passive: false });
297
+ boundX?.addEventListener("wheel", onBarXWheel, { passive: false });
298
+ }
299
+ function unbindBarWheels() {
300
+ boundY?.removeEventListener("wheel", onBarYWheel);
301
+ boundX?.removeEventListener("wheel", onBarXWheel);
302
+ boundY = void 0;
303
+ boundX = void 0;
304
+ }
305
+ onMounted(() => {
306
+ bindObservers();
307
+ syncOverflow();
308
+ viewportRef.value?.addEventListener("scroll", onViewportScroll, { passive: true });
309
+ bindBarWheels();
310
+ });
311
+ onUpdated(() => {
312
+ scheduleSync(false);
313
+ });
314
+ onBeforeUnmount(() => {
315
+ viewportRef.value?.removeEventListener("scroll", onViewportScroll);
316
+ unbindBarWheels();
317
+ observer?.disconnect();
318
+ observer = void 0;
319
+ if (scrollRaf) cancelFrame(scrollRaf);
320
+ scrollRaf = 0;
321
+ pendingScrollFlags = false;
322
+ clearTimer(hideYTimer);
323
+ clearTimer(hideXTimer);
324
+ clearTimer(hoverTimer);
325
+ endDrag();
326
+ });
327
+ watch(() => [
328
+ props.orientation,
329
+ props.type,
330
+ props.height,
331
+ props.maxHeight,
332
+ props.minHeight
333
+ ], async () => {
334
+ unbindBarWheels();
335
+ await nextTick();
336
+ bindBarWheels();
337
+ syncOverflow();
28
338
  });
29
- const showVertical = computed(() => props.orientation === "vertical" || props.orientation === "both");
30
- const showHorizontal = computed(() => props.orientation === "horizontal" || props.orientation === "both");
31
339
  __expose({
32
- scrollTop: () => rootRef.value?.scrollTop(),
33
- scrollTopLeft: () => rootRef.value?.scrollTopLeft(),
34
- getViewport: () => rootRef.value?.viewport
340
+ scrollTop,
341
+ scrollTopLeft,
342
+ getViewport
35
343
  });
36
344
  return (_ctx, _cache) => {
37
- return openBlock(), createBlock(unref(ScrollAreaRoot), {
345
+ return openBlock(), createElementBlock("div", {
38
346
  ref_key: "rootRef",
39
347
  ref: rootRef,
40
348
  class: "rs-scrollbar",
41
- type: __props.type,
42
- "scroll-hide-delay": __props.scrollHideDelay,
43
- style: normalizeStyle(rootStyle.value)
44
- }, {
45
- default: withCtx(() => [
46
- createVNode(unref(ScrollAreaViewport), { class: "rs-scrollbar__viewport" }, {
47
- default: withCtx(() => [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "default")])]),
48
- _: 3
49
- }),
50
- showVertical.value ? (openBlock(), createBlock(unref(ScrollAreaScrollbar), {
51
- key: 0,
52
- class: "rs-scrollbar__bar rs-scrollbar__bar--vertical",
53
- orientation: "vertical"
54
- }, {
55
- default: withCtx(() => [createVNode(unref(ScrollAreaThumb), { class: "rs-scrollbar__thumb" })]),
56
- _: 1
57
- })) : createCommentVNode("", true),
58
- showHorizontal.value ? (openBlock(), createBlock(unref(ScrollAreaScrollbar), {
59
- key: 1,
60
- class: "rs-scrollbar__bar rs-scrollbar__bar--horizontal",
61
- orientation: "horizontal"
62
- }, {
63
- default: withCtx(() => [createVNode(unref(ScrollAreaThumb), { class: "rs-scrollbar__thumb" })]),
64
- _: 1
65
- })) : createCommentVNode("", true),
66
- showVertical.value && showHorizontal.value ? (openBlock(), createBlock(unref(ScrollAreaCorner), {
67
- key: 2,
68
- class: "rs-scrollbar__corner"
69
- })) : createCommentVNode("", true)
70
- ]),
71
- _: 3
72
- }, 8, [
73
- "type",
74
- "scroll-hide-delay",
75
- "style"
76
- ]);
349
+ "data-type": __props.type,
350
+ "data-orientation": __props.orientation,
351
+ style: normalizeStyle(rootStyle.value),
352
+ onPointerenter: onRootEnter,
353
+ onPointerleave: onRootLeave
354
+ }, [
355
+ createElementVNode("section", {
356
+ ref_key: "viewportRef",
357
+ ref: viewportRef,
358
+ class: "rs-scrollbar__viewport",
359
+ "aria-label": viewportLabel.value,
360
+ style: normalizeStyle(viewportStyle.value)
361
+ }, [createElementVNode("div", {
362
+ ref_key: "contentRef",
363
+ ref: contentRef,
364
+ class: "rs-scrollbar__content",
365
+ style: normalizeStyle(contentStyle.value)
366
+ }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 4)], 12, _hoisted_2),
367
+ showVertical.value ? (openBlock(), createElementBlock("div", {
368
+ key: 0,
369
+ ref_key: "barYRef",
370
+ ref: barYRef,
371
+ class: "rs-scrollbar__bar rs-scrollbar__bar--vertical",
372
+ "data-orientation": "vertical",
373
+ "aria-hidden": "true",
374
+ "data-state": barYVisible.value ? "visible" : "hidden",
375
+ onPointerdown: _cache[0] || (_cache[0] = ($event) => onBarPointerDown($event, "y")),
376
+ onPointermove: _cache[1] || (_cache[1] = ($event) => onBarPointerMove($event, "y")),
377
+ onPointerup: endDrag,
378
+ onPointercancel: endDrag,
379
+ onLostpointercapture: endDrag
380
+ }, [..._cache[4] || (_cache[4] = [createElementVNode("div", { class: "rs-scrollbar__thumb" }, null, -1)])], 40, _hoisted_3)) : createCommentVNode("", true),
381
+ showHorizontal.value ? (openBlock(), createElementBlock("div", {
382
+ key: 1,
383
+ ref_key: "barXRef",
384
+ ref: barXRef,
385
+ class: "rs-scrollbar__bar rs-scrollbar__bar--horizontal",
386
+ "data-orientation": "horizontal",
387
+ "aria-hidden": "true",
388
+ "data-state": barXVisible.value ? "visible" : "hidden",
389
+ onPointerdown: _cache[2] || (_cache[2] = ($event) => onBarPointerDown($event, "x")),
390
+ onPointermove: _cache[3] || (_cache[3] = ($event) => onBarPointerMove($event, "x")),
391
+ onPointerup: endDrag,
392
+ onPointercancel: endDrag,
393
+ onLostpointercapture: endDrag
394
+ }, [..._cache[5] || (_cache[5] = [createElementVNode("div", { class: "rs-scrollbar__thumb" }, null, -1)])], 40, _hoisted_4)) : createCommentVNode("", true),
395
+ showVertical.value && showHorizontal.value ? (openBlock(), createElementBlock("div", {
396
+ key: 2,
397
+ class: "rs-scrollbar__corner",
398
+ "aria-hidden": "true",
399
+ "data-state": showCorner.value ? "visible" : "hidden"
400
+ }, null, 8, _hoisted_5)) : createCommentVNode("", true)
401
+ ], 44, _hoisted_1);
77
402
  };
78
403
  }
79
404
  });
@@ -1,7 +1,8 @@
1
1
  import './RsScrollbar.css'
2
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
2
3
  import RsScrollbar_vue_vue_type_script_setup_true_lang_default from "./RsScrollbar.impl.js";
3
4
 
4
5
  //#region src/components/scrollbar/src/RsScrollbar.vue
5
- var RsScrollbar_default = RsScrollbar_vue_vue_type_script_setup_true_lang_default;
6
+ var RsScrollbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsScrollbar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-507ffbba"]]);
6
7
  //#endregion
7
8
  export { RsScrollbar_default as default };
@@ -1,3 +1,35 @@
1
- export type RsScrollbarType = 'auto' | 'always' | 'scroll' | 'hover';
2
- export type RsScrollbarOrientation = 'vertical' | 'horizontal' | 'both';
1
+ export declare const RS_SCROLLBAR_TYPES: readonly ["auto", "always", "scroll", "hover"];
2
+ export type RsScrollbarType = (typeof RS_SCROLLBAR_TYPES)[number];
3
+ export declare const RS_SCROLLBAR_ORIENTATIONS: readonly ["vertical", "horizontal", "both"];
4
+ export type RsScrollbarOrientation = (typeof RS_SCROLLBAR_ORIENTATIONS)[number];
5
+ export type RsScrollbarAxis = 'x' | 'y';
6
+ export interface RsScrollbarSizes {
7
+ content: number;
8
+ viewport: number;
9
+ scrollbar: {
10
+ size: number;
11
+ paddingStart: number;
12
+ paddingEnd: number;
13
+ };
14
+ }
15
+ export declare function isRsScrollbarType(value: unknown): value is RsScrollbarType;
16
+ export declare function isRsScrollbarOrientation(value: unknown): value is RsScrollbarOrientation;
17
+ export declare function resolveRsScrollbarType(type?: RsScrollbarType | null): RsScrollbarType;
18
+ export declare function resolveRsScrollbarOrientation(orientation?: RsScrollbarOrientation | null): RsScrollbarOrientation;
3
19
  export declare function resolveScrollbarSize(size: number | string | undefined): string | undefined;
20
+ export declare function showsRsScrollbarAxis(orientation: RsScrollbarOrientation | undefined, axis: RsScrollbarAxis): boolean;
21
+ export declare function isRsScrollbarOverflow(viewport: number, content: number): boolean;
22
+ export declare function isRsScrollbarBarVisible(input: {
23
+ type: RsScrollbarType;
24
+ overflowing: boolean;
25
+ hovering: boolean;
26
+ scrolling: boolean;
27
+ interacting?: boolean;
28
+ }): boolean;
29
+ export declare function getThumbRatio(viewportSize: number, contentSize: number): number;
30
+ export declare function getThumbSize(sizes: RsScrollbarSizes): number;
31
+ export declare function clampRsNumber(value: number, min: number, max: number): number;
32
+ export declare function getThumbOffsetFromScroll(scrollPos: number, sizes: RsScrollbarSizes, dir?: 'ltr' | 'rtl'): number;
33
+ export declare function getScrollPositionFromPointer(pointerPos: number, pointerOffset: number, sizes: RsScrollbarSizes, dir?: 'ltr' | 'rtl'): number;
34
+ export declare function toCssInt(value?: string): number;
35
+ export declare function isScrollingWithinScrollbarBounds(scrollPos: number, maxScrollPos: number): boolean;