niuma-ui 2.0.3 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/dist/components/_shared/index.d.ts +2 -2
  3. package/dist/components/_shared/src/overlay-utils.d.ts +44 -1
  4. package/dist/components/_shared/src/overlay-utils.js +87 -2
  5. package/dist/components/_shared/src/reka.d.ts +1 -1
  6. package/dist/components/_shared/src/reka.js +2 -2
  7. package/dist/components/alert/index.d.ts +1 -0
  8. package/dist/components/alert/src/RsAlert.css +120 -65
  9. package/dist/components/alert/src/RsAlert.d.ts +24 -5
  10. package/dist/components/alert/src/RsAlert.impl.js +108 -36
  11. package/dist/components/alert/src/RsAlert.js +1 -1
  12. package/dist/components/alert/src/alert-utils.d.ts +37 -0
  13. package/dist/components/alert/src/alert-utils.js +71 -0
  14. package/dist/components/anchor/index.d.ts +1 -1
  15. package/dist/components/anchor/src/RsAnchor.css +63 -32
  16. package/dist/components/anchor/src/RsAnchor.d.ts +29 -2
  17. package/dist/components/anchor/src/RsAnchor.impl.js +199 -81
  18. package/dist/components/anchor/src/RsAnchor.js +1 -1
  19. package/dist/components/anchor/src/anchor-utils.d.ts +36 -4
  20. package/dist/components/anchor/src/anchor-utils.js +81 -19
  21. package/dist/components/auto-complete/index.d.ts +2 -0
  22. package/dist/components/auto-complete/src/RsAutoComplete.css +122 -0
  23. package/dist/components/auto-complete/src/RsAutoComplete.d.ts +47 -7
  24. package/dist/components/auto-complete/src/RsAutoComplete.impl.js +180 -72
  25. package/dist/components/auto-complete/src/RsAutoComplete.js +4 -1
  26. package/dist/components/auto-complete/src/auto-complete-utils.d.ts +7 -0
  27. package/dist/components/auto-complete/src/auto-complete-utils.js +17 -0
  28. package/dist/components/avatar/index.d.ts +1 -0
  29. package/dist/components/avatar/src/RsAvatar.css +36 -19
  30. package/dist/components/avatar/src/RsAvatar.d.ts +9 -3
  31. package/dist/components/avatar/src/RsAvatar.impl.js +57 -33
  32. package/dist/components/avatar/src/RsAvatar.js +2 -1
  33. package/dist/components/avatar/src/avatar-utils.d.ts +16 -7
  34. package/dist/components/avatar/src/avatar-utils.js +41 -3
  35. package/dist/components/breadcrumb/index.d.ts +1 -1
  36. package/dist/components/breadcrumb/src/RsBreadcrumb.css +50 -17
  37. package/dist/components/breadcrumb/src/RsBreadcrumb.d.ts +45 -6
  38. package/dist/components/breadcrumb/src/RsBreadcrumb.impl.js +111 -12
  39. package/dist/components/breadcrumb/src/RsBreadcrumb.js +2 -1
  40. package/dist/components/breadcrumb/src/breadcrumb-utils.d.ts +37 -5
  41. package/dist/components/breadcrumb/src/breadcrumb-utils.js +70 -9
  42. package/dist/components/button/src/RsButton.impl.js +1 -1
  43. package/dist/components/calendar-grid/index.d.ts +2 -0
  44. package/dist/components/calendar-grid/src/RsCalendarGrid.css +105 -45
  45. package/dist/components/calendar-grid/src/RsCalendarGrid.d.ts +62 -2
  46. package/dist/components/calendar-grid/src/RsCalendarGrid.impl.js +265 -94
  47. package/dist/components/calendar-grid/src/RsCalendarGrid.js +1 -1
  48. package/dist/components/calendar-grid/src/calendar-grid-utils.d.ts +72 -0
  49. package/dist/components/calendar-grid/src/calendar-grid-utils.js +122 -0
  50. package/dist/components/card/index.d.ts +1 -1
  51. package/dist/components/card/src/RsCard.css +108 -98
  52. package/dist/components/card/src/RsCard.d.ts +4 -13
  53. package/dist/components/card/src/RsCard.impl.js +29 -25
  54. package/dist/components/card/src/RsCard.js +2 -1
  55. package/dist/components/card/src/card-utils.d.ts +25 -0
  56. package/dist/components/card/src/card-utils.js +10 -0
  57. package/dist/components/cascader/index.d.ts +1 -0
  58. package/dist/components/cascader/src/RsCascader.css +175 -30
  59. package/dist/components/cascader/src/RsCascader.d.ts +15 -3
  60. package/dist/components/cascader/src/RsCascader.impl.js +277 -48
  61. package/dist/components/cascader/src/RsCascader.js +1 -1
  62. package/dist/components/cascader/src/cascader-utils.d.ts +2 -0
  63. package/dist/components/cascader/src/cascader-utils.js +8 -1
  64. package/dist/components/checkbox/index.d.ts +1 -0
  65. package/dist/components/checkbox/src/RsCheckbox.css +46 -23
  66. package/dist/components/checkbox/src/RsCheckbox.d.ts +11 -1
  67. package/dist/components/checkbox/src/RsCheckbox.impl.js +37 -9
  68. package/dist/components/checkbox/src/RsCheckbox.js +2 -1
  69. package/dist/components/checkbox/src/checkbox-utils.d.ts +4 -0
  70. package/dist/components/checkbox/src/checkbox-utils.js +12 -0
  71. package/dist/components/code-block/index.d.ts +1 -0
  72. package/dist/components/code-block/src/RsCodeBlock.css +93 -52
  73. package/dist/components/code-block/src/RsCodeBlock.d.ts +36 -9
  74. package/dist/components/code-block/src/RsCodeBlock.impl.js +203 -84
  75. package/dist/components/code-block/src/RsCodeBlock.js +1 -1
  76. package/dist/components/code-block/src/code-block-highlight.d.ts +4 -0
  77. package/dist/components/code-block/src/code-block-highlight.js +34 -0
  78. package/dist/components/code-block/src/code-block-utils.d.ts +23 -0
  79. package/dist/components/code-block/src/code-block-utils.js +71 -0
  80. package/dist/components/code-editor/index.d.ts +1 -1
  81. package/dist/components/code-editor/src/RsCodeEditor.css +118 -92
  82. package/dist/components/code-editor/src/RsCodeEditor.d.ts +14 -3
  83. package/dist/components/code-editor/src/RsCodeEditor.impl.js +261 -94
  84. package/dist/components/code-editor/src/RsCodeEditor.js +1 -1
  85. package/dist/components/code-editor/src/code-editor-utils.d.ts +15 -0
  86. package/dist/components/code-editor/src/code-editor-utils.js +36 -1
  87. package/dist/components/code-editor/src/code-mirror-completion.d.ts +1 -1
  88. package/dist/components/code-editor/src/code-mirror-completion.js +8 -5
  89. package/dist/components/code-editor/src/code-mirror-diagnostics.d.ts +2 -3
  90. package/dist/components/code-editor/src/code-mirror-diagnostics.js +3 -4
  91. package/dist/components/code-editor/src/code-mirror-ghost.d.ts +1 -1
  92. package/dist/components/code-editor/src/code-mirror-ghost.js +12 -3
  93. package/dist/components/code-editor/src/code-mirror-inline-edit.js +8 -3
  94. package/dist/components/code-editor/src/code-mirror-intel.d.ts +2 -2
  95. package/dist/components/code-editor/src/code-mirror-intel.js +50 -39
  96. package/dist/components/code-editor/src/code-mirror-lang.js +4 -0
  97. package/dist/components/code-editor/src/code-mirror-session.d.ts +13 -0
  98. package/dist/components/code-editor/src/code-mirror-session.js +30 -0
  99. package/dist/components/container/index.d.ts +1 -1
  100. package/dist/components/container/src/RsContainer.css +11 -11
  101. package/dist/components/container/src/RsContainer.d.ts +2 -12
  102. package/dist/components/container/src/RsContainer.impl.js +10 -57
  103. package/dist/components/container/src/RsContainer.js +1 -1
  104. package/dist/components/container/src/container-utils.d.ts +23 -0
  105. package/dist/components/container/src/container-utils.js +51 -0
  106. package/dist/components/context-menu/index.d.ts +1 -1
  107. package/dist/components/context-menu/src/RsContextMenu.css +115 -89
  108. package/dist/components/context-menu/src/RsContextMenu.d.ts +32 -11
  109. package/dist/components/context-menu/src/RsContextMenu.impl.js +795 -48
  110. package/dist/components/context-menu/src/RsContextMenuItems.d.ts +25 -1
  111. package/dist/components/context-menu/src/RsContextMenuItems.impl.js +110 -61
  112. package/dist/components/context-menu/src/context-menu-utils.d.ts +89 -3
  113. package/dist/components/context-menu/src/context-menu-utils.js +168 -3
  114. package/dist/components/date-picker/index.d.ts +4 -2
  115. package/dist/components/date-picker/src/RsDatePicker.css +42 -22
  116. package/dist/components/date-picker/src/RsDatePicker.d.ts +44 -20
  117. package/dist/components/date-picker/src/RsDatePicker.impl.js +484 -222
  118. package/dist/components/date-picker/src/RsDatePicker.js +1 -3
  119. package/dist/components/date-picker/src/RsDateTimePicker.d.ts +33 -6
  120. package/dist/components/date-picker/src/RsDateTimePicker.impl.js +47 -6
  121. package/dist/components/date-picker/src/date-picker-utils.d.ts +19 -0
  122. package/dist/components/date-picker/src/date-picker-utils.js +33 -10
  123. package/dist/components/descriptions/index.d.ts +1 -1
  124. package/dist/components/descriptions/src/RsDescriptions.css +38 -11
  125. package/dist/components/descriptions/src/RsDescriptions.d.ts +20 -4
  126. package/dist/components/descriptions/src/RsDescriptions.impl.js +89 -19
  127. package/dist/components/descriptions/src/RsDescriptionsItem.impl.js +13 -6
  128. package/dist/components/descriptions/src/descriptions-utils.d.ts +19 -0
  129. package/dist/components/descriptions/src/descriptions-utils.js +39 -1
  130. package/dist/components/dialog/index.d.ts +1 -1
  131. package/dist/components/dialog/src/RsConfirmDialog.css +47 -21
  132. package/dist/components/dialog/src/RsConfirmDialog.d.ts +19 -7
  133. package/dist/components/dialog/src/RsConfirmDialog.impl.js +349 -119
  134. package/dist/components/dialog/src/RsConfirmDialog.js +2 -1
  135. package/dist/components/dialog/src/RsDialog.css +102 -109
  136. package/dist/components/dialog/src/RsDialog.d.ts +34 -24
  137. package/dist/components/dialog/src/RsDialog.impl.js +410 -177
  138. package/dist/components/dialog/src/RsDialog.js +2 -1
  139. package/dist/components/dialog/src/dialog-utils.d.ts +40 -1
  140. package/dist/components/dialog/src/dialog-utils.js +152 -1
  141. package/dist/components/dialog/src/dialog-window.js +29 -8
  142. package/dist/components/drawer/index.d.ts +1 -1
  143. package/dist/components/drawer/src/RsDrawer.css +61 -29
  144. package/dist/components/drawer/src/RsDrawer.d.ts +37 -21
  145. package/dist/components/drawer/src/RsDrawer.impl.js +441 -223
  146. package/dist/components/drawer/src/drawer-utils.d.ts +35 -0
  147. package/dist/components/drawer/src/drawer-utils.js +131 -1
  148. package/dist/components/dropdown/index.d.ts +1 -1
  149. package/dist/components/dropdown/src/RsDropdown.css +140 -61
  150. package/dist/components/dropdown/src/RsDropdown.d.ts +39 -6
  151. package/dist/components/dropdown/src/RsDropdown.impl.js +693 -63
  152. package/dist/components/dropdown/src/RsDropdownItemView.impl.js +17 -7
  153. package/dist/components/dropdown/src/RsDropdownItems.d.ts +32 -3
  154. package/dist/components/dropdown/src/RsDropdownItems.impl.js +171 -59
  155. package/dist/components/dropdown/src/dropdown-utils.d.ts +50 -0
  156. package/dist/components/dropdown/src/dropdown-utils.js +103 -3
  157. package/dist/components/dynamic-tags/index.d.ts +1 -1
  158. package/dist/components/dynamic-tags/src/RsDynamicTags.css +115 -38
  159. package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +58 -17
  160. package/dist/components/dynamic-tags/src/RsDynamicTags.impl.js +269 -106
  161. package/dist/components/dynamic-tags/src/RsDynamicTags.js +1 -1
  162. package/dist/components/dynamic-tags/src/dynamic-tags-utils.d.ts +19 -0
  163. package/dist/components/dynamic-tags/src/dynamic-tags-utils.js +60 -0
  164. package/dist/components/empty/index.d.ts +1 -0
  165. package/dist/components/empty/src/RsEmpty.css +105 -23
  166. package/dist/components/empty/src/RsEmpty.d.ts +27 -4
  167. package/dist/components/empty/src/RsEmpty.impl.js +154 -11
  168. package/dist/components/empty/src/RsEmpty.js +2 -1
  169. package/dist/components/empty/src/empty-utils.d.ts +28 -0
  170. package/dist/components/empty/src/empty-utils.js +55 -0
  171. package/dist/components/fieldset/src/RsFieldset.css +71 -41
  172. package/dist/components/fieldset/src/RsFieldset.d.ts +21 -2
  173. package/dist/components/fieldset/src/RsFieldset.impl.js +93 -26
  174. package/dist/components/fieldset/src/RsFieldset.js +1 -1
  175. package/dist/components/fieldset/src/fieldset-utils.d.ts +4 -0
  176. package/dist/components/fieldset/src/fieldset-utils.js +9 -1
  177. package/dist/components/form/index.d.ts +1 -0
  178. package/dist/components/form/src/RsForm.css +15 -12
  179. package/dist/components/form/src/RsForm.d.ts +21 -23
  180. package/dist/components/form/src/RsForm.impl.js +33 -20
  181. package/dist/components/form/src/RsForm.js +1 -1
  182. package/dist/components/form/src/form-utils.d.ts +7 -0
  183. package/dist/components/form/src/form-utils.js +28 -1
  184. package/dist/components/input/index.d.ts +1 -1
  185. package/dist/components/input/src/RsInput.css +78 -260
  186. package/dist/components/input/src/RsInput.d.ts +5 -3
  187. package/dist/components/input/src/RsInput.impl.js +8 -16
  188. package/dist/components/input/src/RsInput.js +1 -1
  189. package/dist/components/input/src/input-utils.d.ts +11 -0
  190. package/dist/components/input/src/input-utils.js +22 -0
  191. package/dist/components/input-number/index.d.ts +1 -0
  192. package/dist/components/input-number/src/RsInputNumber.css +31 -31
  193. package/dist/components/input-number/src/RsInputNumber.d.ts +16 -14
  194. package/dist/components/input-number/src/RsInputNumber.impl.js +17 -4
  195. package/dist/components/input-number/src/RsInputNumber.js +1 -1
  196. package/dist/components/label/src/RsLabel.css +30 -11
  197. package/dist/components/label/src/RsLabel.d.ts +18 -1
  198. package/dist/components/label/src/RsLabel.impl.js +63 -10
  199. package/dist/components/label/src/RsLabel.js +1 -1
  200. package/dist/components/label/src/label-utils.d.ts +6 -0
  201. package/dist/components/label/src/label-utils.js +16 -0
  202. package/dist/components/link/src/RsLink.d.ts +2 -2
  203. package/dist/components/loading/index.d.ts +1 -0
  204. package/dist/components/loading/src/RsLoading.css +13 -97
  205. package/dist/components/loading/src/RsLoading.d.ts +53 -3
  206. package/dist/components/loading/src/RsLoading.impl.js +216 -33
  207. package/dist/components/loading/src/RsLoading.js +2 -1
  208. package/dist/components/loading/src/loading-status.css +210 -0
  209. package/dist/components/loading/src/loading-status.d.ts +34 -0
  210. package/dist/components/loading/src/loading-status.impl.js +84 -0
  211. package/dist/components/loading/src/loading-status.js +8 -0
  212. package/dist/components/loading/src/loading-utils.d.ts +51 -4
  213. package/dist/components/loading/src/loading-utils.js +122 -0
  214. package/dist/components/loading-bar/index.d.ts +1 -0
  215. package/dist/components/loading-bar/src/RsLoadingBar.css +72 -8
  216. package/dist/components/loading-bar/src/RsLoadingBar.d.ts +55 -11
  217. package/dist/components/loading-bar/src/RsLoadingBar.impl.js +298 -57
  218. package/dist/components/loading-bar/src/RsLoadingBar.js +1 -1
  219. package/dist/components/loading-bar/src/loading-bar-utils.d.ts +69 -0
  220. package/dist/components/loading-bar/src/loading-bar-utils.js +97 -0
  221. package/dist/components/log/src/RsLog.css +52 -144
  222. package/dist/components/log/src/RsLog.d.ts +12 -11
  223. package/dist/components/log/src/RsLog.impl.js +181 -148
  224. package/dist/components/log/src/RsLog.js +1 -1
  225. package/dist/components/log/src/RsLogRow.css +152 -0
  226. package/dist/components/log/src/RsLogRow.d.ts +35 -0
  227. package/dist/components/log/src/RsLogRow.impl.js +91 -0
  228. package/dist/components/log/src/RsLogRow.js +8 -0
  229. package/dist/components/log/src/log-utils.d.ts +8 -0
  230. package/dist/components/log/src/log-utils.js +71 -10
  231. package/dist/components/markdown/index.d.ts +1 -1
  232. package/dist/components/markdown/src/RsMarkdown.css +75 -32
  233. package/dist/components/markdown/src/RsMarkdown.d.ts +6 -2
  234. package/dist/components/markdown/src/RsMarkdown.impl.js +185 -17
  235. package/dist/components/markdown/src/markdown-utils.d.ts +26 -0
  236. package/dist/components/markdown/src/markdown-utils.js +114 -12
  237. package/dist/components/mentions/index.d.ts +2 -1
  238. package/dist/components/mentions/src/RsMentions.css +119 -3
  239. package/dist/components/mentions/src/RsMentions.d.ts +57 -5
  240. package/dist/components/mentions/src/RsMentions.impl.js +298 -79
  241. package/dist/components/mentions/src/RsMentions.js +1 -3
  242. package/dist/components/mentions/src/mentions-utils.d.ts +5 -1
  243. package/dist/components/mentions/src/mentions-utils.js +28 -9
  244. package/dist/components/menu/index.d.ts +1 -1
  245. package/dist/components/menu/src/RsMenu.css +70 -29
  246. package/dist/components/menu/src/RsMenu.d.ts +58 -4
  247. package/dist/components/menu/src/RsMenu.impl.js +93 -46
  248. package/dist/components/menu/src/RsMenuItems.d.ts +22 -5
  249. package/dist/components/menu/src/RsMenuItems.impl.js +506 -154
  250. package/dist/components/menu/src/menu-utils.d.ts +56 -0
  251. package/dist/components/menu/src/menu-utils.js +139 -6
  252. package/dist/components/monaco-editor/index.d.ts +1 -1
  253. package/dist/components/monaco-editor/src/RsMonacoEditor.css +28 -16
  254. package/dist/components/monaco-editor/src/RsMonacoEditor.d.ts +39 -41
  255. package/dist/components/monaco-editor/src/RsMonacoEditor.impl.js +212 -133
  256. package/dist/components/monaco-editor/src/RsMonacoEditor.js +1 -1
  257. package/dist/components/monaco-editor/src/monaco-editor-utils.d.ts +126 -0
  258. package/dist/components/monaco-editor/src/monaco-editor-utils.js +302 -0
  259. package/dist/components/pagination/index.d.ts +2 -2
  260. package/dist/components/pagination/src/RsPagination.css +93 -46
  261. package/dist/components/pagination/src/RsPagination.d.ts +68 -8
  262. package/dist/components/pagination/src/RsPagination.impl.js +229 -86
  263. package/dist/components/pagination/src/RsPagination.js +1 -1
  264. package/dist/components/pagination/src/pagination-utils.d.ts +59 -0
  265. package/dist/components/pagination/src/pagination-utils.js +105 -1
  266. package/dist/components/popover/index.d.ts +1 -0
  267. package/dist/components/popover/src/RsPopover.css +124 -14
  268. package/dist/components/popover/src/RsPopover.d.ts +38 -7
  269. package/dist/components/popover/src/RsPopover.impl.js +546 -35
  270. package/dist/components/popover/src/RsPopover.js +2 -1
  271. package/dist/components/popover/src/popover-utils.d.ts +24 -2
  272. package/dist/components/popover/src/popover-utils.js +55 -0
  273. package/dist/components/radio/index.d.ts +1 -1
  274. package/dist/components/radio/src/RsRadio.css +7 -6
  275. package/dist/components/radio/src/RsRadio.d.ts +8 -5
  276. package/dist/components/radio/src/RsRadio.impl.js +34 -24
  277. package/dist/components/radio/src/RsRadio.js +2 -1
  278. package/dist/components/radio/src/RsRadioItem.css +61 -44
  279. package/dist/components/radio/src/RsRadioItem.d.ts +2 -2
  280. package/dist/components/radio/src/RsRadioItem.impl.js +53 -20
  281. package/dist/components/radio/src/RsRadioItem.js +2 -1
  282. package/dist/components/radio/src/radio-utils.d.ts +12 -1
  283. package/dist/components/radio/src/radio-utils.js +15 -1
  284. package/dist/components/scrollbar/src/RsScrollbar.css +71 -24
  285. package/dist/components/scrollbar/src/RsScrollbar.d.ts +9 -5
  286. package/dist/components/scrollbar/src/RsScrollbar.impl.js +372 -47
  287. package/dist/components/scrollbar/src/RsScrollbar.js +2 -1
  288. package/dist/components/scrollbar/src/scrollbar-utils.d.ts +34 -2
  289. package/dist/components/scrollbar/src/scrollbar-utils.js +64 -1
  290. package/dist/components/select/index.d.ts +1 -0
  291. package/dist/components/select/src/RsSelect.css +54 -42
  292. package/dist/components/select/src/RsSelect.d.ts +19 -2
  293. package/dist/components/select/src/RsSelect.impl.js +727 -312
  294. package/dist/components/select/src/RsSelect.js +1 -1
  295. package/dist/components/select/src/select-utils.d.ts +4 -2
  296. package/dist/components/select/src/select-utils.js +8 -3
  297. package/dist/components/select/src/use-rs-select.d.ts +1 -0
  298. package/dist/components/select/src/use-rs-select.js +23 -17
  299. package/dist/components/sidebar/index.d.ts +1 -0
  300. package/dist/components/sidebar/src/RsSidebar.css +91 -33
  301. package/dist/components/sidebar/src/RsSidebar.d.ts +17 -9
  302. package/dist/components/sidebar/src/RsSidebar.impl.js +124 -22
  303. package/dist/components/sidebar/src/RsSidebar.js +1 -1
  304. package/dist/components/sidebar/src/RsSidebarGroup.css +23 -6
  305. package/dist/components/sidebar/src/RsSidebarGroup.d.ts +6 -2
  306. package/dist/components/sidebar/src/RsSidebarGroup.impl.js +17 -4
  307. package/dist/components/sidebar/src/RsSidebarGroup.js +1 -1
  308. package/dist/components/sidebar/src/RsSidebarItem.css +50 -20
  309. package/dist/components/sidebar/src/RsSidebarItem.d.ts +21 -3
  310. package/dist/components/sidebar/src/RsSidebarItem.impl.js +71 -20
  311. package/dist/components/sidebar/src/RsSidebarItem.js +1 -1
  312. package/dist/components/sidebar/src/sidebar-utils.d.ts +47 -0
  313. package/dist/components/sidebar/src/sidebar-utils.js +72 -0
  314. package/dist/components/split-pane/index.d.ts +2 -2
  315. package/dist/components/split-pane/src/RsSplitPane.css +41 -30
  316. package/dist/components/split-pane/src/RsSplitPane.d.ts +6 -2
  317. package/dist/components/split-pane/src/RsSplitPane.impl.js +153 -45
  318. package/dist/components/split-pane/src/split-pane-utils.d.ts +23 -0
  319. package/dist/components/split-pane/src/split-pane-utils.js +18 -1
  320. package/dist/components/stat-card/index.d.ts +1 -0
  321. package/dist/components/stat-card/src/RsStatCard.css +129 -25
  322. package/dist/components/stat-card/src/RsStatCard.d.ts +40 -4
  323. package/dist/components/stat-card/src/RsStatCard.impl.js +106 -12
  324. package/dist/components/stat-card/src/RsStatCard.js +1 -1
  325. package/dist/components/stat-card/src/stat-card-utils.d.ts +39 -0
  326. package/dist/components/stat-card/src/stat-card-utils.js +113 -0
  327. package/dist/components/steps/index.d.ts +1 -1
  328. package/dist/components/steps/src/RsSteps.css +158 -37
  329. package/dist/components/steps/src/RsSteps.d.ts +69 -5
  330. package/dist/components/steps/src/RsSteps.impl.js +168 -28
  331. package/dist/components/steps/src/RsSteps.js +1 -1
  332. package/dist/components/steps/src/steps-utils.d.ts +51 -1
  333. package/dist/components/steps/src/steps-utils.js +67 -1
  334. package/dist/components/switch/index.d.ts +2 -1
  335. package/dist/components/switch/src/RsSwitch.css +36 -18
  336. package/dist/components/switch/src/RsSwitch.d.ts +18 -5
  337. package/dist/components/switch/src/RsSwitch.impl.js +61 -29
  338. package/dist/components/switch/src/RsSwitch.js +2 -1
  339. package/dist/components/switch/src/switch-utils.d.ts +4 -0
  340. package/dist/components/switch/src/switch-utils.js +9 -0
  341. package/dist/components/table/src/RsTable.impl.js +4 -2
  342. package/dist/components/table/src/composables/useRsTableContextMenu.d.ts +16 -0
  343. package/dist/components/table/src/composables/useRsTableContextMenu.js +1 -1
  344. package/dist/components/table/src/composables/useRsTableEngine.js +6 -2
  345. package/dist/components/table/src/composables/useRsTableScrollLayout.js +2 -0
  346. package/dist/components/table/src/composables/useRsTableShell.d.ts +16 -0
  347. package/dist/components/table/src/rs-table-props.d.ts +1 -1
  348. package/dist/components/table/src/rs-table-props.js +0 -1
  349. package/dist/components/table/src/table-body/RsTableBody.impl.js +1 -0
  350. package/dist/components/table/src/table-body/RsTableCellEditor.impl.js +10 -2
  351. package/dist/components/table/src/table-body/RsTableColGroup.impl.js +1 -0
  352. package/dist/components/table/src/table-footer/RsTableSummaryRow.impl.js +1 -0
  353. package/dist/components/table/src/table-header/RsTableHeader.impl.js +1 -0
  354. package/dist/components/table/src/utils/table-utils.d.ts +10 -6
  355. package/dist/components/table/src/utils/table-utils.js +27 -25
  356. package/dist/components/table/style/rs-table.css +34 -20
  357. package/dist/components/tabs/index.d.ts +2 -2
  358. package/dist/components/tabs/src/RsTabs.css +225 -101
  359. package/dist/components/tabs/src/RsTabs.d.ts +37 -8
  360. package/dist/components/tabs/src/RsTabs.impl.js +400 -270
  361. package/dist/components/tabs/src/tabs-utils.d.ts +41 -2
  362. package/dist/components/tabs/src/tabs-utils.js +55 -1
  363. package/dist/components/terminal/index.d.ts +1 -1
  364. package/dist/components/terminal/src/RsTerminal.css +60 -37
  365. package/dist/components/terminal/src/RsTerminal.d.ts +36 -4
  366. package/dist/components/terminal/src/RsTerminal.impl.js +288 -68
  367. package/dist/components/terminal/src/RsTerminal.js +1 -1
  368. package/dist/components/terminal/src/terminal-utils.d.ts +42 -4
  369. package/dist/components/terminal/src/terminal-utils.js +113 -10
  370. package/dist/components/textarea/src/RsTextarea.css +23 -23
  371. package/dist/components/textarea/src/RsTextarea.d.ts +7 -13
  372. package/dist/components/textarea/src/RsTextarea.impl.js +37 -46
  373. package/dist/components/textarea/src/RsTextarea.js +1 -1
  374. package/dist/components/textarea/src/textarea-utils.d.ts +27 -0
  375. package/dist/components/textarea/src/textarea-utils.js +61 -0
  376. package/dist/components/time-picker/index.d.ts +3 -2
  377. package/dist/components/time-picker/src/RsTimePicker.css +41 -24
  378. package/dist/components/time-picker/src/RsTimePicker.d.ts +52 -7
  379. package/dist/components/time-picker/src/RsTimePicker.impl.js +520 -156
  380. package/dist/components/time-picker/src/RsTimePicker.js +1 -3
  381. package/dist/components/time-picker/src/RsTimePickerColumns.css +26 -18
  382. package/dist/components/time-picker/src/RsTimePickerColumns.d.ts +3 -1
  383. package/dist/components/time-picker/src/RsTimePickerColumns.impl.js +62 -9
  384. package/dist/components/time-picker/src/RsTimePickerColumns.js +1 -1
  385. package/dist/components/time-picker/src/time-picker-utils.d.ts +38 -0
  386. package/dist/components/time-picker/src/time-picker-utils.js +97 -5
  387. package/dist/components/toaster/src/RsToaster.css +156 -203
  388. package/dist/components/toaster/src/RsToaster.d.ts +33 -3
  389. package/dist/components/toaster/src/RsToaster.impl.js +309 -34
  390. package/dist/components/toaster/src/toast-store.d.ts +95 -0
  391. package/dist/components/toaster/src/toast-store.js +177 -0
  392. package/dist/components/toaster/src/toast-utils.d.ts +60 -0
  393. package/dist/components/toaster/src/toast-utils.js +86 -0
  394. package/dist/components/toolbar/index.d.ts +1 -1
  395. package/dist/components/toolbar/src/RsToolbar.css +206 -32
  396. package/dist/components/toolbar/src/RsToolbar.d.ts +41 -16
  397. package/dist/components/toolbar/src/RsToolbar.impl.js +146 -18
  398. package/dist/components/toolbar/src/RsToolbar.js +2 -1
  399. package/dist/components/toolbar/src/toolbar-utils.d.ts +20 -0
  400. package/dist/components/toolbar/src/toolbar-utils.js +105 -0
  401. package/dist/components/tooltip/index.d.ts +1 -0
  402. package/dist/components/tooltip/src/RsTooltip.css +104 -26
  403. package/dist/components/tooltip/src/RsTooltip.d.ts +39 -17
  404. package/dist/components/tooltip/src/RsTooltip.impl.js +420 -51
  405. package/dist/components/tooltip/src/RsTooltip.js +2 -1
  406. package/dist/components/tooltip/src/RsTooltipProvider.d.ts +4 -4
  407. package/dist/components/tooltip/src/RsTooltipProvider.impl.js +51 -14
  408. package/dist/components/tooltip/src/tooltip-utils.d.ts +30 -0
  409. package/dist/components/tooltip/src/tooltip-utils.js +23 -0
  410. package/dist/components/tree/index.d.ts +2 -2
  411. package/dist/components/tree/src/RsTree.css +84 -75
  412. package/dist/components/tree/src/RsTree.d.ts +23 -23
  413. package/dist/components/tree/src/RsTree.impl.js +292 -66
  414. package/dist/components/tree/src/RsTree.js +1 -1
  415. package/dist/components/tree/src/tree-utils.d.ts +22 -0
  416. package/dist/components/tree/src/tree-utils.js +18 -4
  417. package/dist/components/tree-select/index.d.ts +2 -0
  418. package/dist/components/tree-select/src/RsTreeSelect.css +100 -25
  419. package/dist/components/tree-select/src/RsTreeSelect.d.ts +91 -7
  420. package/dist/components/tree-select/src/RsTreeSelect.impl.js +464 -79
  421. package/dist/components/tree-select/src/RsTreeSelect.js +1 -1
  422. package/dist/components/tree-select/src/tree-select-utils.d.ts +20 -0
  423. package/dist/components/tree-select/src/tree-select-utils.js +60 -0
  424. package/dist/components/upload/index.d.ts +2 -1
  425. package/dist/components/upload/src/RsUpload.css +223 -75
  426. package/dist/components/upload/src/RsUpload.d.ts +77 -1
  427. package/dist/components/upload/src/RsUpload.impl.js +404 -90
  428. package/dist/components/upload/src/RsUpload.js +1 -1
  429. package/dist/components/upload/src/upload-utils.d.ts +21 -2
  430. package/dist/components/upload/src/upload-utils.js +139 -9
  431. package/dist/components/virtual-list/index.d.ts +1 -1
  432. package/dist/components/virtual-list/src/RsVirtualList.css +64 -9
  433. package/dist/components/virtual-list/src/RsVirtualList.d.ts +31 -5
  434. package/dist/components/virtual-list/src/RsVirtualList.impl.js +425 -76
  435. package/dist/components/virtual-list/src/RsVirtualList.js +1 -1
  436. package/dist/components/virtual-list/src/virtual-list-utils.d.ts +64 -1
  437. package/dist/components/virtual-list/src/virtual-list-utils.js +215 -1
  438. package/dist/composables/useRsLoadingBar.d.ts +2 -5
  439. package/dist/composables/useRsLoadingBar.js +21 -5
  440. package/dist/composables/useRsTabsNav.d.ts +3 -1
  441. package/dist/composables/useRsTabsNav.js +96 -28
  442. package/dist/composables/useRsToast.d.ts +11 -13
  443. package/dist/composables/useRsToast.js +66 -17
  444. package/dist/index.d.ts +51 -32
  445. package/dist/index.js +20 -0
  446. package/dist/locale/apply.js +6 -1
  447. package/dist/locale/messages.js +174 -4
  448. package/dist/styles.css +1007 -980
  449. package/dist/theme/brand.example.css +3 -2
  450. package/dist/vite-plugins/niuma-ui-host.js +1 -1
  451. package/package.json +2 -3
  452. package/dist/components/breadcrumb/src/RsBreadcrumbItems.d.ts +0 -8
  453. package/dist/components/breadcrumb/src/RsBreadcrumbItems.impl.js +0 -40
  454. package/dist/components/breadcrumb/src/RsBreadcrumbItems.js +0 -5
  455. package/dist/components/date-picker/src/RsDatePicker-1.css +0 -157
  456. package/dist/components/mentions/src/RsMentions-1.css +0 -29
  457. package/dist/components/time-picker/src/RsTimePicker-1.css +0 -98
@@ -0,0 +1,35 @@
1
+ import { type RsNormalizedLogLine } from './log-utils';
2
+ type __VLS_Props = {
3
+ item: RsNormalizedLogLine;
4
+ index: number;
5
+ active: boolean;
6
+ zebra: boolean;
7
+ wrap: boolean;
8
+ fill: boolean;
9
+ showLineNo: boolean;
10
+ showTime: boolean;
11
+ showLevel: boolean;
12
+ search: string;
13
+ };
14
+ declare var __VLS_1: {
15
+ item: RsNormalizedLogLine;
16
+ index: number;
17
+ levelLabel: string;
18
+ parts: import("./log-utils").RsLogHighlightPart[];
19
+ };
20
+ type __VLS_Slots = {} & {
21
+ default?: (props: typeof __VLS_1) => any;
22
+ };
23
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
+ select: () => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ onSelect?: (() => any) | undefined;
27
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
+ declare const _default: typeof __VLS_export;
30
+ export default _default;
31
+ type __VLS_WithSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -0,0 +1,91 @@
1
+ import { useRsI18n } from "../../../composables/useRsI18n.js";
2
+ import { splitLogHighlight } from "./log-utils.js";
3
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderList, renderSlot, toDisplayString } from "vue";
4
+ //#region src/components/log/src/RsLogRow.vue?vue&type=script&setup=true&lang.ts
5
+ var _hoisted_1 = ["aria-label", "data-log-index"];
6
+ var _hoisted_2 = {
7
+ key: 0,
8
+ class: "rs-log__no"
9
+ };
10
+ var _hoisted_3 = {
11
+ key: 1,
12
+ class: "rs-log__time"
13
+ };
14
+ var _hoisted_4 = {
15
+ key: 2,
16
+ class: "rs-log__level"
17
+ };
18
+ var _hoisted_5 = {
19
+ key: 3,
20
+ class: "rs-log__sr-only"
21
+ };
22
+ var _hoisted_6 = { class: "rs-log__text" };
23
+ var _hoisted_7 = {
24
+ key: 0,
25
+ class: "rs-log__hit"
26
+ };
27
+ var RsLogRow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
28
+ name: "RsLogRow",
29
+ __name: "RsLogRow",
30
+ props: {
31
+ item: {},
32
+ index: {},
33
+ active: { type: Boolean },
34
+ zebra: { type: Boolean },
35
+ wrap: { type: Boolean },
36
+ fill: { type: Boolean },
37
+ showLineNo: { type: Boolean },
38
+ showTime: { type: Boolean },
39
+ showLevel: { type: Boolean },
40
+ search: {}
41
+ },
42
+ emits: ["select"],
43
+ setup(__props, { emit: __emit }) {
44
+ const props = __props;
45
+ const emit = __emit;
46
+ const { t } = useRsI18n();
47
+ const visible = computed(() => props.item.plain || props.item.text);
48
+ const parts = computed(() => splitLogHighlight(visible.value, props.search));
49
+ const levelLabel = computed(() => t(`log.level.${props.item.level}`, props.item.level));
50
+ const rowLabel = computed(() => {
51
+ const bits = [levelLabel.value];
52
+ if (props.showLineNo) bits.push(t("log.lineNo", "Line {n}", { n: props.item.seq }));
53
+ if (props.item.time) bits.push(props.item.time);
54
+ bits.push(visible.value);
55
+ return bits.filter(Boolean).join(", ");
56
+ });
57
+ return (_ctx, _cache) => {
58
+ return openBlock(), createElementBlock("div", {
59
+ class: normalizeClass(["rs-log__row", [`rs-log__row--${__props.item.level}`, {
60
+ "rs-log__row--odd": __props.index % 2 === 1,
61
+ "rs-log__row--zebra": __props.zebra,
62
+ "rs-log__row--active": __props.active,
63
+ "rs-log__row--wrap": __props.wrap,
64
+ "rs-log__row--fill": __props.fill
65
+ }]]),
66
+ role: "listitem",
67
+ "aria-label": rowLabel.value,
68
+ "data-log-index": __props.index,
69
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("select"))
70
+ }, [
71
+ _cache[1] || (_cache[1] = createElementVNode("span", {
72
+ class: "rs-log__marker",
73
+ "aria-hidden": "true"
74
+ }, null, -1)),
75
+ __props.showLineNo ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.item.seq), 1)) : createCommentVNode("", true),
76
+ __props.showTime && __props.item.time ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(__props.item.time), 1)) : createCommentVNode("", true),
77
+ __props.showLevel && __props.item.level !== "plain" ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(levelLabel.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(levelLabel.value), 1)),
78
+ renderSlot(_ctx.$slots, "default", {
79
+ item: __props.item,
80
+ index: __props.index,
81
+ levelLabel: levelLabel.value,
82
+ parts: parts.value
83
+ }, () => [createElementVNode("span", _hoisted_6, [(openBlock(true), createElementBlock(Fragment, null, renderList(parts.value, (part, partIndex) => {
84
+ return openBlock(), createElementBlock(Fragment, { key: partIndex }, [part.hit ? (openBlock(), createElementBlock("mark", _hoisted_7, toDisplayString(part.text), 1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(part.text), 1)], 64))], 64);
85
+ }), 128))])], true)
86
+ ], 10, _hoisted_1);
87
+ };
88
+ }
89
+ });
90
+ //#endregion
91
+ export { RsLogRow_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,8 @@
1
+ import './RsLogRow.css'
2
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
3
+ import RsLogRow_vue_vue_type_script_setup_true_lang_default from "./RsLogRow.impl.js";
4
+
5
+ //#region src/components/log/src/RsLogRow.vue
6
+ var RsLogRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsLogRow_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a8e6725e"]]);
7
+ //#endregion
8
+ export { RsLogRow_default as default };
@@ -25,7 +25,10 @@ export type RsLogLineInput = string | RsLogLine;
25
25
  /** 渲染用的归一化行。key 稳定,供虚拟列表复用。 */
26
26
  export type RsNormalizedLogLine = {
27
27
  key: string;
28
+ /** 源文本,保留 ANSI,供宿主再处理。 */
28
29
  text: string;
30
+ /** 去掉 ANSI 后的可见正文。没有转义时与 text 是同一字符串。 */
31
+ plain: string;
29
32
  level: RsLogLevel;
30
33
  time?: string;
31
34
  /** 裁剪后的 1-based 序号 */
@@ -61,6 +64,7 @@ export declare function splitLogText(text: string): string[];
61
64
  * 行上已有 level / severity 时不会走到这里。
62
65
  */
63
66
  export declare function inferLogLevel(text: string, options?: InferLogLevelOptions): RsLogLevel;
67
+ export declare function stripLogAnsi(text: string): string;
64
68
  /** 能解析的瞬间走 Intl;已是展示串则原样保留。 */
65
69
  export declare function formatLogTime(value: string | number | Date | undefined, locale?: string, options?: Intl.DateTimeFormatOptions): string | undefined;
66
70
  export type NormalizeLogLinesOptions = {
@@ -83,6 +87,10 @@ export declare function clampLogCount<T>(items: T[], maxLines?: number): T[];
83
87
  export declare function filterLogLines(lines: RsNormalizedLogLine[], options?: {
84
88
  levels?: readonly RsLogLevel[];
85
89
  search?: string;
90
+ /** 传入后按该 locale 折叠大小写(土耳其 I 与 i 不同)。 */
91
+ locale?: string;
92
+ /** 本地化级别名。传入后「错误 / Error」也能命中。 */
93
+ levelText?: (level: RsLogLevel) => string;
86
94
  }): RsNormalizedLogLine[];
87
95
  export type RsLogHighlightPart = {
88
96
  text: string;
@@ -173,6 +173,19 @@ function levelFromBracketTag(text) {
173
173
  function escapeRegExp(value) {
174
174
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
175
175
  }
176
+ var MARKER_PATTERNS = /* @__PURE__ */ new Map();
177
+ var MARKER_PATTERN_LIMIT = 64;
178
+ function markerPattern(token) {
179
+ const cached = MARKER_PATTERNS.get(token);
180
+ if (cached) return cached;
181
+ const pattern = new RegExp(`(?<![A-Za-z0-9_])${escapeRegExp(token)}(?![A-Za-z0-9_])`, "i");
182
+ if (MARKER_PATTERNS.size >= MARKER_PATTERN_LIMIT) {
183
+ const oldest = MARKER_PATTERNS.keys().next().value;
184
+ if (oldest !== void 0) MARKER_PATTERNS.delete(oldest);
185
+ }
186
+ MARKER_PATTERNS.set(token, pattern);
187
+ return pattern;
188
+ }
176
189
  function markerHits(text, marker) {
177
190
  if (marker instanceof RegExp) {
178
191
  const flags = marker.global ? marker.flags : `${marker.flags}g`;
@@ -182,7 +195,25 @@ function markerHits(text, marker) {
182
195
  }
183
196
  const token = marker.trim();
184
197
  if (!token) return false;
185
- return new RegExp(`(?<![A-Za-z0-9_])${escapeRegExp(token)}(?![A-Za-z0-9_])`, "i").test(text);
198
+ return markerPattern(token).test(text);
199
+ }
200
+ /**
201
+ * CSI / OSC / 单字符转义。与展示、搜索、级别推断共用。
202
+ * 全局正则每次重置 lastIndex,避免跨行漏切。
203
+ */
204
+ var ANSI_PATTERN = /[\u001B\u009B][[\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\d/#&.:=?%@~_]+)*|[a-zA-Z\d]+(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?(?:\u0007|\u001B\\))|(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~])/g;
205
+ function stripLogAnsi(text) {
206
+ if (!text.includes("\x1B") && !text.includes("›")) return text;
207
+ ANSI_PATTERN.lastIndex = 0;
208
+ return text.replace(ANSI_PATTERN, "");
209
+ }
210
+ function foldLogText(value, locale) {
211
+ if (!locale) return value.toLowerCase();
212
+ try {
213
+ return value.toLocaleLowerCase(locale);
214
+ } catch {
215
+ return value.toLowerCase();
216
+ }
186
217
  }
187
218
  function levelFromMarkers(text, markers) {
188
219
  if (!markers) return void 0;
@@ -208,22 +239,44 @@ var DEFAULT_TIME_FORMAT = {
208
239
  second: "2-digit",
209
240
  hour12: false
210
241
  };
242
+ var TIME_FORMATTERS = /* @__PURE__ */ new Map();
243
+ var TIME_FORMATTER_LIMIT = 24;
244
+ function logTimeFormatter(locale, options) {
245
+ const key = `${locale}\0${JSON.stringify(options)}`;
246
+ if (TIME_FORMATTERS.has(key)) return TIME_FORMATTERS.get(key) ?? null;
247
+ let formatter;
248
+ try {
249
+ formatter = new Intl.DateTimeFormat(locale, options);
250
+ } catch {
251
+ formatter = null;
252
+ }
253
+ if (TIME_FORMATTERS.size >= TIME_FORMATTER_LIMIT) {
254
+ const oldest = TIME_FORMATTERS.keys().next().value;
255
+ if (oldest !== void 0) TIME_FORMATTERS.delete(oldest);
256
+ }
257
+ TIME_FORMATTERS.set(key, formatter);
258
+ return formatter;
259
+ }
211
260
  /** 能解析的瞬间走 Intl;已是展示串则原样保留。 */
212
261
  function formatLogTime(value, locale = "en-US", options = DEFAULT_TIME_FORMAT) {
213
262
  if (value == null || value === "") return void 0;
263
+ const formatter = logTimeFormatter(locale, options);
214
264
  if (value instanceof Date) {
215
265
  if (Number.isNaN(value.getTime())) return void 0;
216
- return new Intl.DateTimeFormat(locale, options).format(value);
266
+ return formatter ? formatter.format(value) : value.toISOString();
217
267
  }
218
268
  if (typeof value === "number" && Number.isFinite(value)) {
219
269
  const date = new Date(value);
220
270
  if (Number.isNaN(date.getTime())) return void 0;
221
- return new Intl.DateTimeFormat(locale, options).format(date);
271
+ return formatter ? formatter.format(date) : date.toISOString();
222
272
  }
223
273
  if (typeof value === "string") {
224
274
  if (looksLikeInstant(value)) {
225
275
  const parsed = Date.parse(value);
226
- if (!Number.isNaN(parsed)) return new Intl.DateTimeFormat(locale, options).format(new Date(parsed));
276
+ if (!Number.isNaN(parsed)) {
277
+ const date = new Date(parsed);
278
+ return formatter ? formatter.format(date) : date.toISOString();
279
+ }
227
280
  }
228
281
  return value;
229
282
  }
@@ -242,14 +295,17 @@ function normalizeLogLines(source, options = {}) {
242
295
  const raw = source == null ? [] : typeof source === "string" ? splitLogText(source) : source;
243
296
  const max = options.maxLines;
244
297
  const sliced = max != null && max > 0 && raw.length > max ? raw.slice(raw.length - max) : raw;
298
+ const origin = raw.length - sliced.length;
245
299
  const locale = options.locale ?? "en-US";
246
300
  return sliced.map((item, index) => {
247
301
  const text = lineText(item);
248
- const level = resolveLineLevel(item, text, options);
302
+ const plain = stripLogAnsi(text);
303
+ const level = resolveLineLevel(item, plain, options);
249
304
  const time = typeof item === "string" ? void 0 : formatLogTime(item.time, locale, options.timeFormat);
250
305
  return {
251
- key: lineKey(item, index),
306
+ key: lineKey(item, origin + index),
252
307
  text,
308
+ plain,
253
309
  level,
254
310
  time,
255
311
  seq: index + 1,
@@ -278,11 +334,16 @@ function clampLogCount(items, maxLines) {
278
334
  }
279
335
  function filterLogLines(lines, options) {
280
336
  const levels = options?.levels?.filter((level) => isRsLogLevel(level)) ?? [];
281
- const query = options?.search?.trim().toLowerCase() ?? "";
337
+ const query = options?.search?.trim() ?? "";
338
+ const folded = query ? foldLogText(query, options?.locale) : "";
282
339
  return lines.filter((line) => {
283
340
  if (levels.length > 0 && !levels.includes(line.level)) return false;
284
- if (!query) return true;
285
- return line.text.toLowerCase().includes(query) || line.level.includes(query);
341
+ if (!folded) return true;
342
+ if (foldLogText(line.plain || line.text, options?.locale).includes(folded)) return true;
343
+ if (line.level.includes(folded)) return true;
344
+ const levelName = options?.levelText?.(line.level);
345
+ if (levelName && foldLogText(levelName, options?.locale).includes(folded)) return true;
346
+ return Boolean(line.time && foldLogText(line.time, options?.locale).includes(folded));
286
347
  });
287
348
  }
288
349
  /** 按查询切开正文,供搜索高亮。大小写不敏感。 */
@@ -351,4 +412,4 @@ function resolveLogCopyText(options) {
351
412
  };
352
413
  }
353
414
  //#endregion
354
- export { RS_LOG_FILTER_LEVELS, RS_LOG_LEVELS, asLogLineInputs, clampLogCount, countDroppedLines, filterLogLines, formatLogTime, inferLogLevel, isRsLogLevel, joinLogLines, normalizeLogLines, otelSeverityOf, parseRsLogLevel, resolveLogCopyText, resolveLogLive, splitLogHighlight, splitLogText, syslogSeverityOf, toLogLineInput };
415
+ export { RS_LOG_FILTER_LEVELS, RS_LOG_LEVELS, asLogLineInputs, clampLogCount, countDroppedLines, filterLogLines, formatLogTime, inferLogLevel, isRsLogLevel, joinLogLines, normalizeLogLines, otelSeverityOf, parseRsLogLevel, resolveLogCopyText, resolveLogLive, splitLogHighlight, splitLogText, stripLogAnsi, syslogSeverityOf, toLogLineInput };
@@ -1,3 +1,3 @@
1
1
  export { default as RsMarkdown } from './src/RsMarkdown.js';
2
- export type { RsMarkdownMode, RsMarkdownRenderOptions } from './src/markdown-utils';
2
+ export type { RsMarkdownExpose, RsMarkdownMode, RsMarkdownRenderOptions } from './src/markdown-utils';
3
3
  export { escapeHtml, isSafeHref, isSafeImageSrc, renderMarkdown, renderMarkdownInline, resolveMarkdownHeight, resolveMarkdownMode, } from './src/markdown-utils';
@@ -1,20 +1,36 @@
1
1
 
2
2
  .rs-markdown {
3
+ --rs-markdown-bg: var(--rs-surface);
4
+ --rs-markdown-fg: var(--rs-text);
5
+ --rs-markdown-muted: var(--rs-muted);
6
+ --rs-markdown-border: var(--rs-border);
7
+ --rs-markdown-accent: var(--rs-primary);
8
+ --rs-markdown-radius: var(--rs-radius);
9
+ --rs-markdown-bar-bg: color-mix(in srgb, var(--rs-surface) 88%, var(--rs-muted-bg, var(--rs-border)) 12%);
10
+ --rs-markdown-code-bg: color-mix(in srgb, var(--rs-muted-bg, var(--rs-border)) 55%, transparent);
11
+ --rs-markdown-code-frame: color-mix(in srgb, var(--rs-surface) 92%, var(--rs-muted-bg, var(--rs-border)) 8%);
12
+ --rs-markdown-th-bg: color-mix(in srgb, var(--rs-muted-bg, var(--rs-border)) 40%, transparent);
13
+ --rs-markdown-measure: 48rem;
14
+ --rs-markdown-disabled-opacity: 0.65;
3
15
  display: flex;
4
16
  flex-direction: column;
17
+ margin: 0;
5
18
  min-height: 0;
6
19
  min-width: 0;
7
20
  box-sizing: border-box;
8
- border: 1px solid var(--rs-border);
9
- background: var(--rs-surface);
10
- color: var(--rs-text);
21
+ border: 1px solid var(--rs-markdown-border);
22
+ background: var(--rs-markdown-bg);
23
+ color: var(--rs-markdown-fg);
11
24
  overflow: hidden;
12
25
  }
13
26
  .rs-markdown--rounded {
14
- border-radius: var(--rs-radius);
27
+ border-radius: var(--rs-markdown-radius);
28
+ }
29
+ .rs-markdown:focus-within {
30
+ border-color: var(--rs-focus-border, var(--rs-markdown-accent));
15
31
  }
16
32
  .rs-markdown--disabled {
17
- opacity: 0.65;
33
+ opacity: var(--rs-markdown-disabled-opacity);
18
34
  pointer-events: none;
19
35
  }
20
36
  .rs-markdown__toolbar {
@@ -23,14 +39,15 @@
23
39
  gap: var(--rs-space-xs);
24
40
  flex: 0 0 auto;
25
41
  padding: var(--rs-space-xs) var(--rs-space-sm);
26
- border-bottom: 1px solid var(--rs-border);
27
- background: color-mix(in srgb, var(--rs-surface) 88%, var(--rs-muted-bg, var(--rs-border)) 12%);
42
+ border-bottom: 1px solid var(--rs-markdown-border);
43
+ background: var(--rs-markdown-bar-bg);
28
44
  }
29
45
  .rs-markdown__body {
30
46
  display: flex;
31
47
  flex: 1 1 auto;
32
48
  min-height: 0;
33
49
  min-width: 0;
50
+ outline: none;
34
51
  }
35
52
  .rs-markdown--edit .rs-markdown__body,
36
53
  .rs-markdown--preview .rs-markdown__body {
@@ -46,12 +63,12 @@
46
63
  min-height: 0;
47
64
  }
48
65
  .rs-markdown--split .rs-markdown__editor {
49
- border-inline-end: 1px solid var(--rs-border);
66
+ border-inline-end: 1px solid var(--rs-markdown-border);
50
67
  }
51
68
  .rs-markdown__preview {
52
69
  overflow: auto;
53
70
  padding: var(--rs-space-md) var(--rs-space-lg);
54
- background: var(--rs-surface);
71
+ background: var(--rs-markdown-bg);
55
72
  }
56
73
  .rs-markdown__preview--empty {
57
74
  display: flex;
@@ -60,14 +77,15 @@
60
77
  }
61
78
  .rs-markdown__empty {
62
79
  margin: 0;
63
- color: var(--rs-muted);
80
+ color: var(--rs-markdown-muted);
64
81
  font-size: var(--rs-font-size-sm);
65
82
  }
66
83
  .rs-markdown__prose {
67
- max-width: 48rem;
84
+ position: relative;
85
+ max-width: var(--rs-markdown-measure);
68
86
  font-size: var(--rs-font-size-sm);
69
87
  line-height: var(--rs-line-height-normal, 1.65);
70
- word-break: break-word;
88
+ overflow-wrap: anywhere;
71
89
  }
72
90
  .rs-markdown__prose > :first-child {
73
91
  margin-top: 0;
@@ -83,7 +101,7 @@
83
101
  font-weight: var(--rs-font-weight-semibold);
84
102
  line-height: 1.3;
85
103
  letter-spacing: -0.01em;
86
- color: var(--rs-text);
104
+ color: var(--rs-markdown-fg);
87
105
  }
88
106
  .rs-markdown__prose h1 {
89
107
  font-size: 1.5em;
@@ -111,7 +129,7 @@
111
129
  margin-top: 0.25em;
112
130
  }
113
131
  .rs-markdown__prose a {
114
- color: var(--rs-primary);
132
+ color: var(--rs-markdown-accent);
115
133
  text-decoration: underline;
116
134
  text-underline-offset: 0.15em;
117
135
  cursor: pointer;
@@ -128,34 +146,34 @@
128
146
  .rs-markdown__prose blockquote {
129
147
  padding-block: 0.15em;
130
148
  padding-inline: 0.9em 0;
131
- border-inline-start: 3px solid var(--rs-border);
132
- color: var(--rs-muted);
149
+ border-inline-start: 3px solid var(--rs-markdown-border);
150
+ color: var(--rs-markdown-muted);
133
151
  }
134
152
  .rs-markdown__prose hr {
135
153
  margin: 1.25em 0;
136
154
  border: 0;
137
- border-top: 1px solid var(--rs-border);
155
+ border-top: 1px solid var(--rs-markdown-border);
138
156
  }
139
157
  .rs-markdown__prose code {
140
158
  padding: 0.1em 0.35em;
141
- border-radius: calc(var(--rs-radius) * 0.6);
142
- background: color-mix(in srgb, var(--rs-muted-bg, var(--rs-border)) 55%, transparent);
159
+ border-radius: calc(var(--rs-markdown-radius) * 0.6);
160
+ background: var(--rs-markdown-code-bg);
143
161
  font-family: var(--rs-font-mono);
144
162
  font-size: 0.9em;
145
163
  }
146
164
  .rs-markdown__codeblock {
147
165
  overflow: hidden;
148
- border: 1px solid var(--rs-border);
149
- border-radius: var(--rs-radius);
150
- background: color-mix(in srgb, var(--rs-surface) 92%, var(--rs-muted-bg, var(--rs-border)) 8%);
166
+ border: 1px solid var(--rs-markdown-border);
167
+ border-radius: var(--rs-markdown-radius);
168
+ background: var(--rs-markdown-code-frame);
151
169
  }
152
170
  .rs-markdown__code-head {
153
171
  display: flex;
154
172
  align-items: center;
155
173
  padding: 0.35rem 0.75rem;
156
- border-bottom: 1px solid var(--rs-border);
174
+ border-bottom: 1px solid var(--rs-markdown-border);
157
175
  font-size: var(--rs-font-size-xs);
158
- color: var(--rs-muted);
176
+ color: var(--rs-markdown-muted);
159
177
  }
160
178
  .rs-markdown__pre {
161
179
  margin: 0;
@@ -182,17 +200,17 @@
182
200
  .rs-markdown__prose th,
183
201
  .rs-markdown__prose td {
184
202
  padding: 0.45em 0.7em;
185
- border: 1px solid var(--rs-border);
203
+ border: 1px solid var(--rs-markdown-border);
186
204
  text-align: start;
187
205
  }
188
206
  .rs-markdown__prose th {
189
- background: color-mix(in srgb, var(--rs-muted-bg, var(--rs-border)) 40%, transparent);
207
+ background: var(--rs-markdown-th-bg);
190
208
  font-weight: var(--rs-font-weight-semibold);
191
209
  }
192
210
  .rs-markdown__img {
193
211
  max-width: 100%;
194
212
  height: auto;
195
- border-radius: var(--rs-radius);
213
+ border-radius: var(--rs-markdown-radius);
196
214
  }
197
215
  .rs-markdown__task {
198
216
  display: inline-block;
@@ -200,17 +218,42 @@
200
218
  height: 0.9em;
201
219
  margin-block: 0 0.05em;
202
220
  margin-inline: 0 0.4em;
203
- border: 1px solid var(--rs-border);
221
+ border: 1px solid var(--rs-markdown-border);
204
222
  border-radius: 0.15em;
205
223
  vertical-align: middle;
206
- background: var(--rs-surface);
224
+ background: var(--rs-markdown-bg);
207
225
  }
208
226
  .rs-markdown__task--on {
209
- background: var(--rs-primary);
210
- border-color: var(--rs-primary);
211
- box-shadow: inset 0 0 0 0.12em var(--rs-surface);
227
+ background: var(--rs-markdown-accent);
228
+ border-color: var(--rs-markdown-accent);
229
+ box-shadow: inset 0 0 0 0.12em var(--rs-markdown-bg);
212
230
  }
213
231
  .rs-markdown__prose li:has(> .rs-markdown__task) {
214
232
  list-style: none;
215
233
  margin-inline-start: -1.15em;
216
234
  }
235
+ .rs-markdown__sr {
236
+ position: absolute;
237
+ width: 1px;
238
+ height: 1px;
239
+ padding: 0;
240
+ margin: -1px;
241
+ overflow: hidden;
242
+ clip: rect(0, 0, 0, 0);
243
+ white-space: nowrap;
244
+ border: 0;
245
+ }
246
+ @media (max-width: 40rem) {
247
+ .rs-markdown--split .rs-markdown__body {
248
+ flex-direction: column;
249
+ }
250
+ .rs-markdown--split .rs-markdown__editor {
251
+ border-inline-end: 0;
252
+ border-block-end: 1px solid var(--rs-markdown-border);
253
+ }
254
+ }
255
+ @media (prefers-reduced-motion: reduce) {
256
+ .rs-markdown__preview {
257
+ scroll-behavior: auto;
258
+ }
259
+ }
@@ -1,5 +1,5 @@
1
1
  import type { RsCodeEditorTheme } from '../../code-editor/src/code-editor-utils';
2
- import { type RsMarkdownMode } from './markdown-utils';
2
+ import { type RsMarkdownExpose, type RsMarkdownMode } from './markdown-utils';
3
3
  type __VLS_Props = {
4
4
  /** 只读:强制预览并隐藏模式切换 */
5
5
  readonly?: boolean;
@@ -12,13 +12,17 @@ type __VLS_Props = {
12
12
  /** GFM 单个换行转 <br>,默认 true */
13
13
  breaks?: boolean;
14
14
  disabled?: boolean;
15
+ /** 区域名称。未传走 markdown.label */
16
+ ariaLabel?: string;
17
+ /** 根节点 id。未传时自动生成 */
18
+ id?: string;
15
19
  };
16
20
  type __VLS_ModelProps = {
17
21
  modelValue?: string;
18
22
  'mode'?: RsMarkdownMode;
19
23
  };
20
24
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
21
- declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, RsMarkdownExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
26
  "update:modelValue": (value: string) => any;
23
27
  "update:mode": (value: RsMarkdownMode) => any;
24
28
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{