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,25 +1,58 @@
1
- import { DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogRoot, DialogTitle } from "../../_shared/src/reka.js";
2
1
  import { useRsI18n } from "../../../composables/useRsI18n.js";
3
2
  import RsButton_default from "../../button/src/RsButton.js";
4
- import { RS_DRAWER_MAX_VIEWPORT_RATIO, clampRsDrawerSize, resolveDrawerOverlayStyle, resolveRsDrawerDimensionCss, resolveRsDrawerSizeCss, resolveRsDrawerSizePx, runRsDrawerBeforeClose } from "./drawer-utils.js";
5
- import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, openBlock, ref, renderSlot, toDisplayString, unref, useModel, watch, withCtx } from "vue";
3
+ import { RS_DRAWER_MAX_VIEWPORT_RATIO, acquireRsDrawerPointerTracking, acquireRsDrawerScrollLock, clampRsDrawerSize, isRsDrawerDismissExempt, isTopRsDrawer, listRsDrawerFocusables, pushRsDrawerLayer, resolveDrawerOverlayStyle, resolveRsDrawerDimensionCss, resolveRsDrawerSizeCss, resolveRsDrawerSizePx, rsDrawerMotionOutMs, rsDrawerPointersDown, runRsDrawerBeforeClose } from "./drawer-utils.js";
4
+ import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeModels, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, toDisplayString, unref, useId, useModel, watch } from "vue";
6
5
  //#region src/components/drawer/src/RsDrawer.vue?vue&type=script&setup=true&lang.ts
7
6
  var _hoisted_1 = [
8
- "aria-label",
9
- "aria-orientation",
10
- "aria-valuenow"
7
+ "data-state",
8
+ "data-rs-theme",
9
+ "dir",
10
+ "lang"
11
11
  ];
12
- var _hoisted_2 = {
13
- key: 1,
12
+ var _hoisted_2 = [
13
+ "id",
14
+ "aria-modal",
15
+ "aria-labelledby",
16
+ "aria-describedby",
17
+ "aria-hidden",
18
+ "inert",
19
+ "data-state",
20
+ "data-rs-theme",
21
+ "dir",
22
+ "lang"
23
+ ];
24
+ var _hoisted_3 = {
25
+ key: 0,
14
26
  class: "rs-drawer__header"
15
27
  };
16
- var _hoisted_3 = { class: "rs-drawer__heading" };
17
- var _hoisted_4 = { class: "rs-drawer__body" };
18
- var _hoisted_5 = {
19
- key: 4,
28
+ var _hoisted_4 = { class: "rs-drawer__heading" };
29
+ var _hoisted_5 = ["id"];
30
+ var _hoisted_6 = ["id"];
31
+ var _hoisted_7 = {
32
+ key: 0,
33
+ class: "rs-drawer__tools"
34
+ };
35
+ var _hoisted_8 = {
36
+ key: 0,
37
+ class: "rs-drawer__extra"
38
+ };
39
+ var _hoisted_9 = ["id"];
40
+ var _hoisted_10 = ["id"];
41
+ var _hoisted_11 = { class: "rs-drawer__body" };
42
+ var _hoisted_12 = {
43
+ key: 3,
20
44
  class: "rs-drawer__footer"
21
45
  };
46
+ var _hoisted_13 = [
47
+ "aria-label",
48
+ "aria-orientation",
49
+ "aria-valuemin",
50
+ "aria-valuemax",
51
+ "aria-valuenow",
52
+ "aria-controls"
53
+ ];
22
54
  var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
55
+ name: "RsDrawer",
23
56
  inheritAttrs: false,
24
57
  __name: "RsDrawer",
25
58
  props: /*@__PURE__*/ mergeModels({
@@ -55,7 +88,19 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
55
88
  default: true
56
89
  },
57
90
  teleportTo: { type: [String, Boolean] },
58
- beforeClose: {}
91
+ beforeClose: {},
92
+ destroyOnClose: {
93
+ type: Boolean,
94
+ default: true
95
+ },
96
+ forceRender: {
97
+ type: Boolean,
98
+ default: false
99
+ },
100
+ lockScroll: { type: Boolean },
101
+ zIndex: {},
102
+ ariaLabel: {},
103
+ id: {}
59
104
  }, {
60
105
  "open": {
61
106
  type: Boolean,
@@ -76,24 +121,64 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
76
121
  const props = __props;
77
122
  const emit = __emit;
78
123
  const { t } = useRsI18n();
124
+ const instance = getCurrentInstance();
125
+ const autoId = useId();
126
+ const layerId = autoId;
127
+ const titleId = computed(() => `${props.id || autoId}-title`);
128
+ const descId = computed(() => `${props.id || autoId}-desc`);
129
+ /** 可选布尔未传时会被收成 false。看这次 vnode 上有没有该字段,才能区分「没传」。 */
130
+ function propWasPassed(name) {
131
+ const raw = instance?.vnode.props;
132
+ if (!raw) return false;
133
+ const kebab = name.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
134
+ return Object.hasOwn(raw, name) || Object.hasOwn(raw, kebab);
135
+ }
79
136
  /** 挂到自定义容器或就地渲染时按 contained 模式定位,避免盖住布局顶栏 */
80
- const contained = computed(() => props.teleportTo !== void 0);
137
+ const contained = computed(() => propWasPassed("teleportTo"));
81
138
  /** 未显式传 modal 时:有遮罩=模态,无遮罩=可点背后 */
82
- const isModal = computed(() => props.modal ?? props.showOverlay);
139
+ const isModal = computed(() => propWasPassed("modal") ? Boolean(props.modal) : props.showOverlay);
140
+ const teleportDisabled = computed(() => propWasPassed("teleportTo") && props.teleportTo === false);
141
+ const teleportTarget = computed(() => {
142
+ if (typeof props.teleportTo === "string") return props.teleportTo;
143
+ if (typeof HTMLElement !== "undefined" && props.teleportTo instanceof HTMLElement) return props.teleportTo;
144
+ return "body";
145
+ });
146
+ const shouldLockScroll = computed(() => {
147
+ if (propWasPassed("lockScroll")) return Boolean(props.lockScroll);
148
+ return isModal.value && !contained.value;
149
+ });
83
150
  const overlayStyle = computed(() => resolveDrawerOverlayStyle({
84
151
  overlayOpacity: props.overlayOpacity,
85
152
  overlayBlur: props.overlayBlur
86
153
  }));
154
+ const zStyle = computed(() => {
155
+ if (props.zIndex == null || !Number.isFinite(props.zIndex)) return void 0;
156
+ return { "--rs-drawer-z": String(Math.round(props.zIndex)) };
157
+ });
87
158
  const isHorizontal = computed(() => props.side === "left" || props.side === "right");
88
159
  const enableResizable = computed(() => props.resizable && props.size !== "full");
89
160
  /** 本次打开后拖拽得到的像素尺寸;关闭时清空,回到 size/width/height */
90
161
  const liveSizePx = ref(void 0);
91
162
  const resizing = ref(false);
163
+ const anchorRef = ref(null);
92
164
  const contentRef = ref(null);
93
- const panelSizeCss = computed(() => {
165
+ const panelTheme = ref();
166
+ const panelDir = ref();
167
+ const panelLang = ref();
168
+ const present = ref(open.value || props.forceRender);
169
+ const motion = ref(open.value ? "open" : "closed");
170
+ const dormant = ref(!open.value);
171
+ const animating = ref(false);
172
+ const boundMin = ref(256);
173
+ const boundMax = ref(Math.round(960 * RS_DRAWER_MAX_VIEWPORT_RATIO));
174
+ /** 仅 width / height 或拖拽结果算自定义尺寸;sm / md / lg 预设不算。 */
175
+ const customDimensionCss = computed(() => {
94
176
  if (liveSizePx.value != null) return `${liveSizePx.value}px`;
95
- if (isHorizontal.value) return resolveRsDrawerDimensionCss(props.width) ?? resolveRsDrawerSizeCss(props.size) ?? void 0;
96
- return resolveRsDrawerDimensionCss(props.height) ?? resolveRsDrawerSizeCss(props.size) ?? void 0;
177
+ return isHorizontal.value ? resolveRsDrawerDimensionCss(props.width) : resolveRsDrawerDimensionCss(props.height);
178
+ });
179
+ const panelSizeCss = computed(() => {
180
+ if (props.size === "full") return void 0;
181
+ return customDimensionCss.value ?? resolveRsDrawerSizeCss(props.size);
97
182
  });
98
183
  const contentStyle = computed(() => {
99
184
  const style = {};
@@ -101,39 +186,6 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
101
186
  if (size && props.size !== "full") style["--rs-drawer-panel-size"] = size;
102
187
  if (liveSizePx.value != null && props.size !== "full") if (isHorizontal.value) style.width = `${liveSizePx.value}px`;
103
188
  else style.height = `${liveSizePx.value}px`;
104
- if (props.side === "right") {
105
- style.left = "auto";
106
- style.right = "0";
107
- style.top = "0";
108
- style.bottom = "0";
109
- style.height = "100%";
110
- style.maxHeight = "none";
111
- style.transform = "none";
112
- } else if (props.side === "left") {
113
- style.left = "0";
114
- style.right = "auto";
115
- style.top = "0";
116
- style.bottom = "0";
117
- style.height = "100%";
118
- style.maxHeight = "none";
119
- style.transform = "none";
120
- } else if (props.side === "top") {
121
- style.left = "0";
122
- style.right = "0";
123
- style.top = "0";
124
- style.bottom = "auto";
125
- style.width = "100%";
126
- style.maxWidth = "none";
127
- style.transform = "none";
128
- } else if (props.side === "bottom") {
129
- style.left = "0";
130
- style.right = "0";
131
- style.top = "auto";
132
- style.bottom = "0";
133
- style.width = "100%";
134
- style.maxWidth = "none";
135
- style.transform = "none";
136
- }
137
189
  return Object.keys(style).length ? style : void 0;
138
190
  });
139
191
  const contentClass = computed(() => [
@@ -141,109 +193,281 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
141
193
  `rs-drawer__content--${props.size}`,
142
194
  {
143
195
  "rs-drawer__content--contained": contained.value,
144
- "rs-drawer__content--custom-size": Boolean(panelSizeCss.value) && props.size !== "full",
196
+ "rs-drawer__content--custom-size": props.size !== "full" && customDimensionCss.value != null,
145
197
  "rs-drawer__content--resizable": enableResizable.value,
146
- "rs-drawer__content--resizing": resizing.value
198
+ "rs-drawer__content--resizing": resizing.value,
199
+ "rs-drawer__content--animate": animating.value,
200
+ "rs-drawer__content--dormant": dormant.value
147
201
  }
148
202
  ]);
203
+ const labelledBy = computed(() => titleId.value);
204
+ const describedBy = computed(() => props.description ? descId.value : void 0);
149
205
  const closing = ref(false);
150
- let pendingCloseReason = "programmatic";
151
206
  let afterOpenTimer = 0;
152
- /** 跟踪当前按下指针数,用于判断打开是否发生在手势中途 */
153
- let pointersDown = 0;
154
- let pointerTrackingBound = false;
155
- function ensurePointerTracking() {
156
- if (pointerTrackingBound || typeof window === "undefined") return;
157
- pointerTrackingBound = true;
158
- window.addEventListener("pointerdown", () => {
159
- pointersDown += 1;
160
- }, true);
161
- window.addEventListener("pointerup", () => {
162
- pointersDown = Math.max(0, pointersDown - 1);
163
- }, true);
164
- window.addEventListener("pointercancel", () => {
165
- pointersDown = Math.max(0, pointersDown - 1);
166
- }, true);
167
- }
168
- /**
169
- * 打开若发生在 pointer 按下期间(或同轮事件冒泡中),抑制 outside dismiss,
170
- * 直到指针抬起,并再刷一次 macrotask(吞掉打开点击残留的 outside)。
171
- * 不使用固定毫秒锁,避免拖慢正常点遮罩关闭。
172
- */
207
+ let exitTimer = 0;
208
+ let animTimer = 0;
209
+ let releasePointer = null;
210
+ let releaseLayer = null;
211
+ let releaseLock = null;
212
+ let layerBound = false;
213
+ let restoreEl = null;
214
+ /** 打开若发生在 pointer 按下期间,抑制外部关闭,直到指针抬起再过一个宏任务。 */
173
215
  const suppressOutsideUntilGestureEnd = ref(false);
174
216
  let gestureReleaseBound = false;
175
- let gestureMacrotaskTimer = 0;
176
217
  function releaseOutsideSuppress() {
177
218
  suppressOutsideUntilGestureEnd.value = false;
178
- if (gestureMacrotaskTimer) {
179
- window.clearTimeout(gestureMacrotaskTimer);
180
- gestureMacrotaskTimer = 0;
219
+ if (!gestureReleaseBound || typeof window === "undefined") {
220
+ gestureReleaseBound = false;
221
+ return;
181
222
  }
182
- if (!gestureReleaseBound) return;
183
223
  gestureReleaseBound = false;
184
224
  window.removeEventListener("pointerup", onGesturePointerRelease, true);
185
225
  window.removeEventListener("pointercancel", onGesturePointerRelease, true);
186
226
  }
187
227
  function onGesturePointerRelease() {
188
- if (pointersDown > 0) return;
189
- if (gestureMacrotaskTimer) window.clearTimeout(gestureMacrotaskTimer);
190
- gestureMacrotaskTimer = window.setTimeout(() => {
191
- gestureMacrotaskTimer = 0;
192
- releaseOutsideSuppress();
193
- }, 0);
228
+ if (rsDrawerPointersDown() > 0) return;
229
+ if (gestureReleaseBound && typeof window !== "undefined") {
230
+ gestureReleaseBound = false;
231
+ window.removeEventListener("pointerup", onGesturePointerRelease, true);
232
+ window.removeEventListener("pointercancel", onGesturePointerRelease, true);
233
+ }
234
+ queueMicrotask(() => {
235
+ suppressOutsideUntilGestureEnd.value = false;
236
+ });
194
237
  }
195
238
  function armOutsideSuppressForOpenGesture() {
196
- ensurePointerTracking();
239
+ if (typeof window === "undefined") return;
197
240
  releaseOutsideSuppress();
198
241
  suppressOutsideUntilGestureEnd.value = true;
199
- if (pointersDown > 0) {
242
+ if (rsDrawerPointersDown() > 0) {
200
243
  gestureReleaseBound = true;
201
244
  window.addEventListener("pointerup", onGesturePointerRelease, true);
202
245
  window.addEventListener("pointercancel", onGesturePointerRelease, true);
203
246
  return;
204
247
  }
205
- gestureMacrotaskTimer = window.setTimeout(() => {
206
- gestureMacrotaskTimer = 0;
207
- releaseOutsideSuppress();
208
- }, 0);
248
+ queueMicrotask(() => {
249
+ suppressOutsideUntilGestureEnd.value = false;
250
+ });
209
251
  }
210
252
  function clearAfterOpenTimer() {
211
- if (!afterOpenTimer) return;
253
+ if (!afterOpenTimer || typeof window === "undefined") {
254
+ afterOpenTimer = 0;
255
+ return;
256
+ }
212
257
  window.clearTimeout(afterOpenTimer);
213
258
  afterOpenTimer = 0;
214
259
  }
260
+ function clearExitTimer() {
261
+ if (!exitTimer || typeof window === "undefined") {
262
+ exitTimer = 0;
263
+ return;
264
+ }
265
+ window.clearTimeout(exitTimer);
266
+ exitTimer = 0;
267
+ }
268
+ function clearAnimTimer() {
269
+ if (!animTimer || typeof window === "undefined") {
270
+ animTimer = 0;
271
+ return;
272
+ }
273
+ window.clearTimeout(animTimer);
274
+ animTimer = 0;
275
+ }
215
276
  function queueAfterOpen() {
216
277
  clearAfterOpenTimer();
278
+ if (typeof window === "undefined") return;
217
279
  afterOpenTimer = window.setTimeout(() => {
218
280
  afterOpenTimer = 0;
219
281
  if (open.value) emit("afterOpen");
220
282
  }, 280);
221
283
  }
284
+ function markAnimating() {
285
+ clearAnimTimer();
286
+ if (rsDrawerMotionOutMs() === 0) {
287
+ animating.value = false;
288
+ return;
289
+ }
290
+ animating.value = true;
291
+ if (typeof window === "undefined") return;
292
+ const ms = motion.value === "closed" ? rsDrawerMotionOutMs() : 240;
293
+ animTimer = window.setTimeout(() => {
294
+ animTimer = 0;
295
+ animating.value = false;
296
+ }, ms + 40);
297
+ }
298
+ function finishExit() {
299
+ clearExitTimer();
300
+ animating.value = false;
301
+ if (open.value) return;
302
+ liveSizePx.value = void 0;
303
+ if (props.destroyOnClose && !props.forceRender) {
304
+ present.value = false;
305
+ return;
306
+ }
307
+ dormant.value = true;
308
+ }
309
+ function scheduleExit() {
310
+ clearExitTimer();
311
+ if (typeof window === "undefined") return;
312
+ const ms = rsDrawerMotionOutMs();
313
+ if (ms === 0) {
314
+ finishExit();
315
+ return;
316
+ }
317
+ exitTimer = window.setTimeout(() => {
318
+ exitTimer = 0;
319
+ finishExit();
320
+ }, ms);
321
+ }
322
+ function syncChrome() {
323
+ const el = anchorRef.value;
324
+ if (!el) {
325
+ panelTheme.value = void 0;
326
+ panelDir.value = void 0;
327
+ panelLang.value = void 0;
328
+ return;
329
+ }
330
+ const themed = el.closest("[data-rs-theme]");
331
+ const directed = el.closest("[dir]");
332
+ const langed = el.closest("[lang]");
333
+ panelTheme.value = themed instanceof HTMLElement ? themed.dataset.rsTheme : void 0;
334
+ panelDir.value = directed?.getAttribute("dir") || void 0;
335
+ panelLang.value = langed?.getAttribute("lang") || void 0;
336
+ }
337
+ function resolveContentEl() {
338
+ const el = contentRef.value;
339
+ return el instanceof HTMLElement ? el : null;
340
+ }
341
+ function focusPanel(force) {
342
+ const content = resolveContentEl();
343
+ if (!content || typeof document === "undefined") return;
344
+ if (!force && !isModal.value) return;
345
+ const active = document.activeElement;
346
+ if (active instanceof HTMLElement && active !== document.body && active !== document.documentElement && !content.contains(active)) restoreEl = active;
347
+ if (!force && active instanceof HTMLElement && content.contains(active)) return;
348
+ content.focus({ preventScroll: true });
349
+ }
350
+ function restoreFocus() {
351
+ const el = restoreEl;
352
+ restoreEl = null;
353
+ if (!el?.isConnected) return;
354
+ const content = resolveContentEl();
355
+ if (content && (el === content || content.contains(el))) return;
356
+ el.focus({ preventScroll: true });
357
+ }
358
+ function bindLayer() {
359
+ if (layerBound || typeof window === "undefined") return;
360
+ layerBound = true;
361
+ releaseLayer = pushRsDrawerLayer(layerId);
362
+ if (shouldLockScroll.value) releaseLock = acquireRsDrawerScrollLock();
363
+ window.addEventListener("pointerdown", onWindowPointerDown);
364
+ window.addEventListener("keydown", onWindowKeydown);
365
+ refreshBounds();
366
+ }
367
+ function unbindLayer() {
368
+ if (!layerBound) return;
369
+ layerBound = false;
370
+ if (typeof window !== "undefined") {
371
+ window.removeEventListener("pointerdown", onWindowPointerDown);
372
+ window.removeEventListener("keydown", onWindowKeydown);
373
+ }
374
+ releaseLayer?.();
375
+ releaseLayer = null;
376
+ releaseLock?.();
377
+ releaseLock = null;
378
+ }
379
+ function shouldBlockOutsideDismiss() {
380
+ return !props.closeOnOverlayClick || suppressOutsideUntilGestureEnd.value || resizing.value;
381
+ }
382
+ function onWindowPointerDown(event) {
383
+ if (!open.value || !isTopRsDrawer(layerId)) return;
384
+ if (shouldBlockOutsideDismiss()) return;
385
+ if (isRsDrawerDismissExempt(event.target, resolveContentEl())) return;
386
+ requestClose("overlay");
387
+ }
388
+ function onWindowKeydown(event) {
389
+ if (event.key !== "Escape" || event.defaultPrevented) return;
390
+ if (!open.value || !isTopRsDrawer(layerId)) return;
391
+ if (!props.closeOnEsc) {
392
+ event.preventDefault();
393
+ return;
394
+ }
395
+ event.preventDefault();
396
+ requestClose("escape");
397
+ }
398
+ function onContentKeydown(event) {
399
+ if (event.key !== "Tab" || !isModal.value || !open.value || !isTopRsDrawer(layerId)) return;
400
+ const content = resolveContentEl();
401
+ if (!content) return;
402
+ const items = listRsDrawerFocusables(content);
403
+ if (!items.length) {
404
+ event.preventDefault();
405
+ content.focus({ preventScroll: true });
406
+ return;
407
+ }
408
+ const first = items[0];
409
+ const last = items[items.length - 1];
410
+ const active = document.activeElement;
411
+ if (event.shiftKey && (active === first || active === content)) {
412
+ event.preventDefault();
413
+ last?.focus();
414
+ return;
415
+ }
416
+ if (!event.shiftKey && active === last) {
417
+ event.preventDefault();
418
+ first?.focus();
419
+ }
420
+ }
222
421
  watch(open, (isOpen, wasOpen) => {
223
422
  if (isOpen && !wasOpen) {
423
+ clearExitTimer();
424
+ syncChrome();
425
+ present.value = true;
426
+ dormant.value = false;
427
+ motion.value = "open";
428
+ markAnimating();
224
429
  armOutsideSuppressForOpenGesture();
430
+ bindLayer();
225
431
  emit("openChange", true);
226
432
  queueAfterOpen();
433
+ nextTick(() => focusPanel(false));
227
434
  return;
228
435
  }
229
436
  if (!isOpen && wasOpen) {
230
- liveSizePx.value = void 0;
437
+ motion.value = "closed";
438
+ markAnimating();
231
439
  stopResize();
232
440
  releaseOutsideSuppress();
233
441
  clearAfterOpenTimer();
442
+ unbindLayer();
443
+ restoreFocus();
444
+ scheduleExit();
234
445
  emit("openChange", false);
235
446
  if (!closing.value) emit("afterClose", "programmatic");
236
447
  }
237
448
  });
449
+ onMounted(() => {
450
+ releasePointer = acquireRsDrawerPointerTracking();
451
+ syncChrome();
452
+ if (!open.value) return;
453
+ armOutsideSuppressForOpenGesture();
454
+ bindLayer();
455
+ nextTick(() => focusPanel(false));
456
+ });
238
457
  onBeforeUnmount(() => {
239
458
  stopResize();
240
459
  releaseOutsideSuppress();
241
460
  clearAfterOpenTimer();
461
+ clearExitTimer();
462
+ clearAnimTimer();
463
+ if (open.value) restoreFocus();
464
+ unbindLayer();
465
+ releasePointer?.();
466
+ releasePointer = null;
242
467
  });
243
468
  async function requestClose(reason) {
244
469
  if (!open.value || closing.value) return false;
245
470
  closing.value = true;
246
- pendingCloseReason = reason;
247
471
  try {
248
472
  if (!await runRsDrawerBeforeClose(props.beforeClose, reason)) return false;
249
473
  open.value = false;
@@ -254,58 +478,17 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
254
478
  closing.value = false;
255
479
  }
256
480
  }
257
- /** DialogRoot 受控更新:打开直通;关闭统一走 beforeClose */
258
- async function onUpdateOpen(next) {
259
- if (next) {
260
- open.value = true;
261
- return;
262
- }
263
- await requestClose(pendingCloseReason);
264
- pendingCloseReason = "programmatic";
265
- }
266
- function onEscapeKeyDown(event) {
267
- if (!props.closeOnEsc) {
268
- event.preventDefault();
269
- return;
270
- }
271
- pendingCloseReason = "escape";
272
- }
273
- function shouldBlockOutsideDismiss() {
274
- return !props.closeOnOverlayClick || suppressOutsideUntilGestureEnd.value || resizing.value;
275
- }
276
- function onPointerDownOutside(event) {
277
- if (shouldBlockOutsideDismiss()) {
278
- event.preventDefault();
279
- return;
280
- }
281
- pendingCloseReason = "overlay";
282
- }
283
- function onInteractOutside(event) {
284
- if (shouldBlockOutsideDismiss()) {
285
- event.preventDefault();
286
- return;
287
- }
288
- pendingCloseReason = "overlay";
289
- }
290
- function onFocusOutside(event) {
291
- event.preventDefault();
292
- }
293
481
  async function onHeaderCloseClick() {
294
482
  await requestClose("close");
295
483
  }
296
- function resolveContentEl() {
297
- const inst = contentRef.value;
298
- if (!inst) return null;
299
- if (inst instanceof HTMLElement) return inst;
300
- const el = inst.$el;
301
- return el instanceof HTMLElement ? el : null;
302
- }
303
484
  function rootFontPx() {
485
+ if (typeof document === "undefined") return 16;
304
486
  const raw = getComputedStyle(document.documentElement).fontSize;
305
487
  const n = Number.parseFloat(raw);
306
488
  return Number.isFinite(n) && n > 0 ? n : 16;
307
489
  }
308
490
  function viewportPx() {
491
+ if (typeof window === "undefined") return 0;
309
492
  return isHorizontal.value ? window.innerWidth : window.innerHeight;
310
493
  }
311
494
  function sizeBounds() {
@@ -316,6 +499,11 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
316
499
  max: resolveRsDrawerSizePx(props.maxSize, Math.round(vp * RS_DRAWER_MAX_VIEWPORT_RATIO), root, vp)
317
500
  };
318
501
  }
502
+ function refreshBounds() {
503
+ const next = sizeBounds();
504
+ boundMin.value = next.min;
505
+ boundMax.value = next.max;
506
+ }
319
507
  function applyLiveSize(px) {
320
508
  const { min, max } = sizeBounds();
321
509
  const next = clampRsDrawerSize(px, min, max);
@@ -331,15 +519,17 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
331
519
  let resizeStartClient = 0;
332
520
  let resizeStartSize = 0;
333
521
  function stopResize() {
334
- if (resizePointerId != null) {
522
+ if (resizePointerId != null && typeof window !== "undefined") {
335
523
  window.removeEventListener("pointermove", onResizePointerMove);
336
524
  window.removeEventListener("pointerup", onResizePointerUp);
337
525
  window.removeEventListener("pointercancel", onResizePointerUp);
338
526
  resizePointerId = null;
339
527
  }
340
528
  resizing.value = false;
341
- document.body.style.removeProperty("cursor");
342
- document.body.style.removeProperty("user-select");
529
+ if (typeof document !== "undefined" && document.body) {
530
+ document.body.style.removeProperty("cursor");
531
+ document.body.style.removeProperty("user-select");
532
+ }
343
533
  }
344
534
  function currentPanelPx() {
345
535
  const el = resolveContentEl();
@@ -355,8 +545,11 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
355
545
  resizeStartSize = currentPanelPx();
356
546
  resizePointerId = event.pointerId;
357
547
  resizing.value = true;
358
- document.body.style.cursor = isHorizontal.value ? "ew-resize" : "ns-resize";
359
- document.body.style.userSelect = "none";
548
+ refreshBounds();
549
+ if (typeof document !== "undefined") {
550
+ document.body.style.cursor = isHorizontal.value ? "ew-resize" : "ns-resize";
551
+ document.body.style.userSelect = "none";
552
+ }
360
553
  window.addEventListener("pointermove", onResizePointerMove);
361
554
  window.addEventListener("pointerup", onResizePointerUp);
362
555
  window.addEventListener("pointercancel", onResizePointerUp);
@@ -385,6 +578,17 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
385
578
  }
386
579
  function onResizeKeydown(event) {
387
580
  if (!enableResizable.value) return;
581
+ refreshBounds();
582
+ if (event.key === "Home") {
583
+ event.preventDefault();
584
+ commitResize(applyLiveSize(sizeBounds().min));
585
+ return;
586
+ }
587
+ if (event.key === "End") {
588
+ event.preventDefault();
589
+ commitResize(applyLiveSize(sizeBounds().max));
590
+ return;
591
+ }
388
592
  const step = event.shiftKey ? 48 : 16;
389
593
  let delta = 0;
390
594
  if (props.side === "right") {
@@ -404,92 +608,106 @@ var RsDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
404
608
  event.preventDefault();
405
609
  commitResize(applyLiveSize(currentPanelPx() + delta));
406
610
  }
611
+ function onContentAnimationEnd(event) {
612
+ if (event.target !== resolveContentEl()) return;
613
+ animating.value = false;
614
+ if (!open.value && motion.value === "closed") finishExit();
615
+ }
407
616
  __expose({
408
- /** 请求关闭(走 beforeClose) */
409
617
  close: (reason = "programmatic") => requestClose(reason),
410
- /** 打开抽屉 */
411
618
  openDrawer: () => {
412
619
  open.value = true;
413
- }
620
+ },
621
+ focus: () => focusPanel(true)
414
622
  });
415
623
  return (_ctx, _cache) => {
416
- return openBlock(), createBlock(unref(DialogRoot), {
417
- open: open.value,
418
- modal: isModal.value,
419
- "onUpdate:open": onUpdateOpen
420
- }, {
421
- default: withCtx(() => [createVNode(unref(DialogPortal), {
422
- disabled: __props.teleportTo === false,
423
- to: __props.teleportTo === false ? void 0 : __props.teleportTo
424
- }, {
425
- default: withCtx(() => [__props.showOverlay ? (openBlock(), createBlock(unref(DialogOverlay), {
426
- key: 0,
427
- class: normalizeClass(["rs-drawer__overlay rs-motion-reduce", { "rs-drawer__overlay--contained": contained.value }]),
428
- style: normalizeStyle(overlayStyle.value)
429
- }, null, 8, ["class", "style"])) : createCommentVNode("", true), createVNode(unref(DialogContent), {
430
- ref_key: "contentRef",
431
- ref: contentRef,
432
- class: normalizeClass(["rs-drawer__content rs-motion-reduce", contentClass.value]),
433
- style: normalizeStyle(contentStyle.value),
434
- onPointerDownOutside,
435
- onInteractOutside,
436
- onFocusOutside,
437
- onEscapeKeyDown
438
- }, {
439
- default: withCtx(() => [
440
- enableResizable.value ? (openBlock(), createElementBlock("button", {
441
- key: 0,
442
- type: "button",
443
- class: "rs-drawer__resize",
444
- "aria-label": unref(t)("drawer.resize"),
445
- "aria-orientation": isHorizontal.value ? "vertical" : "horizontal",
446
- "aria-valuenow": liveSizePx.value != null ? Math.round(liveSizePx.value) : void 0,
447
- onPointerdown: onResizePointerDown,
448
- onKeydown: onResizeKeydown
449
- }, null, 40, _hoisted_1)) : createCommentVNode("", true),
450
- __props.title || __props.description || __props.showClose || _ctx.$slots.header ? (openBlock(), createElementBlock("header", _hoisted_2, [renderSlot(_ctx.$slots, "header", {}, () => [createElementVNode("div", _hoisted_3, [__props.title ? (openBlock(), createBlock(unref(DialogTitle), {
451
- key: 0,
452
- class: "rs-drawer__title"
453
- }, {
454
- default: withCtx(() => [createTextVNode(toDisplayString(__props.title), 1)]),
455
- _: 1
456
- })) : createCommentVNode("", true), __props.description ? (openBlock(), createBlock(unref(DialogDescription), {
457
- key: 1,
458
- class: "rs-drawer__description"
459
- }, {
460
- default: withCtx(() => [createTextVNode(toDisplayString(__props.description), 1)]),
461
- _: 1
462
- })) : createCommentVNode("", true)])]), __props.showClose ? (openBlock(), createBlock(RsButton_default, {
463
- key: 0,
464
- variant: "ghost",
465
- size: "sm",
466
- icon: "x",
467
- tooltip: unref(t)("dialog.close"),
468
- onClick: onHeaderCloseClick
469
- }, null, 8, ["tooltip"])) : createCommentVNode("", true)])) : createCommentVNode("", true),
470
- _ctx.$slots.header || !__props.title ? (openBlock(), createBlock(unref(DialogTitle), {
471
- key: 2,
472
- class: "rs-drawer__title rs-drawer__title--sr-only"
473
- }, {
474
- default: withCtx(() => [createTextVNode(toDisplayString(__props.title || " "), 1)]),
475
- _: 1
476
- })) : createCommentVNode("", true),
477
- !__props.description || _ctx.$slots.header ? (openBlock(), createBlock(unref(DialogDescription), {
478
- key: 3,
479
- class: "rs-drawer__description rs-drawer__description--sr-only"
480
- }, {
481
- default: withCtx(() => [createTextVNode(toDisplayString(__props.description || __props.title || " "), 1)]),
482
- _: 1
483
- })) : createCommentVNode("", true),
484
- createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")]),
485
- _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", _hoisted_5, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true)
486
- ]),
487
- _: 3
488
- }, 8, ["class", "style"])]),
489
- _: 3
490
- }, 8, ["disabled", "to"])]),
491
- _: 3
492
- }, 8, ["open", "modal"]);
624
+ return openBlock(), createElementBlock(Fragment, null, [createElementVNode("span", {
625
+ ref_key: "anchorRef",
626
+ ref: anchorRef,
627
+ class: "rs-drawer__anchor",
628
+ hidden: "",
629
+ "aria-hidden": "true"
630
+ }, null, 512), (openBlock(), createBlock(Teleport, {
631
+ disabled: teleportDisabled.value,
632
+ to: teleportTarget.value
633
+ }, [__props.showOverlay && present.value ? (openBlock(), createElementBlock("div", {
634
+ key: 0,
635
+ class: normalizeClass(["rs-drawer__overlay rs-motion-reduce", {
636
+ "rs-drawer__overlay--contained": contained.value,
637
+ "rs-drawer__overlay--dormant": dormant.value
638
+ }]),
639
+ style: normalizeStyle([overlayStyle.value, zStyle.value]),
640
+ "data-state": motion.value,
641
+ "data-rs-theme": panelTheme.value,
642
+ dir: panelDir.value,
643
+ lang: panelLang.value,
644
+ "aria-hidden": "true"
645
+ }, null, 14, _hoisted_1)) : createCommentVNode("", true), present.value ? (openBlock(), createElementBlock("div", mergeProps({
646
+ key: 1,
647
+ id: __props.id,
648
+ ref_key: "contentRef",
649
+ ref: contentRef
650
+ }, _ctx.$attrs, {
651
+ class: ["rs-drawer rs-drawer__content rs-motion-reduce", contentClass.value],
652
+ style: [contentStyle.value, zStyle.value],
653
+ role: "dialog",
654
+ "aria-modal": isModal.value && motion.value === "open" ? "true" : "false",
655
+ "aria-labelledby": labelledBy.value,
656
+ "aria-describedby": describedBy.value,
657
+ "aria-hidden": motion.value === "open" ? void 0 : "true",
658
+ inert: motion.value === "open" ? void 0 : true,
659
+ "data-state": motion.value,
660
+ "data-rs-theme": panelTheme.value,
661
+ dir: panelDir.value,
662
+ lang: panelLang.value,
663
+ tabindex: "-1",
664
+ onKeydown: onContentKeydown,
665
+ onAnimationend: onContentAnimationEnd
666
+ }), [
667
+ __props.title || __props.description || __props.showClose || _ctx.$slots.header || _ctx.$slots.extra ? (openBlock(), createElementBlock("header", _hoisted_3, [renderSlot(_ctx.$slots, "header", {}, () => [createElementVNode("div", _hoisted_4, [__props.title ? (openBlock(), createElementBlock("h2", {
668
+ key: 0,
669
+ id: titleId.value,
670
+ class: "rs-drawer__title"
671
+ }, toDisplayString(__props.title), 9, _hoisted_5)) : createCommentVNode("", true), __props.description ? (openBlock(), createElementBlock("p", {
672
+ key: 1,
673
+ id: descId.value,
674
+ class: "rs-drawer__description"
675
+ }, toDisplayString(__props.description), 9, _hoisted_6)) : createCommentVNode("", true)])]), _ctx.$slots.extra || __props.showClose ? (openBlock(), createElementBlock("div", _hoisted_7, [_ctx.$slots.extra ? (openBlock(), createElementBlock("div", _hoisted_8, [renderSlot(_ctx.$slots, "extra")])) : createCommentVNode("", true), __props.showClose ? (openBlock(), createBlock(RsButton_default, {
676
+ key: 1,
677
+ class: "rs-drawer__close",
678
+ variant: "ghost",
679
+ size: "sm",
680
+ icon: "x",
681
+ tooltip: unref(t)("drawer.close"),
682
+ onClick: onHeaderCloseClick
683
+ }, null, 8, ["tooltip"])) : createCommentVNode("", true)])) : createCommentVNode("", true)])) : createCommentVNode("", true),
684
+ _ctx.$slots.header || !__props.title ? (openBlock(), createElementBlock("h2", {
685
+ key: 1,
686
+ id: titleId.value,
687
+ class: "rs-drawer__title rs-drawer__title--sr-only"
688
+ }, toDisplayString(__props.title || __props.ariaLabel || unref(t)("drawer.label")), 9, _hoisted_9)) : createCommentVNode("", true),
689
+ __props.description && _ctx.$slots.header ? (openBlock(), createElementBlock("p", {
690
+ key: 2,
691
+ id: descId.value,
692
+ class: "rs-drawer__description rs-drawer__description--sr-only"
693
+ }, toDisplayString(__props.description), 9, _hoisted_10)) : createCommentVNode("", true),
694
+ createElementVNode("div", _hoisted_11, [renderSlot(_ctx.$slots, "default")]),
695
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", _hoisted_12, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true),
696
+ enableResizable.value ? (openBlock(), createElementBlock("div", {
697
+ key: 4,
698
+ class: "rs-drawer__resize",
699
+ role: "separator",
700
+ tabindex: "0",
701
+ "aria-label": unref(t)("drawer.resize"),
702
+ "aria-orientation": isHorizontal.value ? "vertical" : "horizontal",
703
+ "aria-valuemin": boundMin.value,
704
+ "aria-valuemax": boundMax.value,
705
+ "aria-valuenow": liveSizePx.value != null ? Math.round(liveSizePx.value) : void 0,
706
+ "aria-controls": __props.id || void 0,
707
+ onPointerdown: onResizePointerDown,
708
+ onKeydown: onResizeKeydown
709
+ }, null, 40, _hoisted_13)) : createCommentVNode("", true)
710
+ ], 16, _hoisted_2)) : createCommentVNode("", true)], 8, ["disabled", "to"]))], 64);
493
711
  };
494
712
  }
495
713
  });