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,74 +1,85 @@
1
1
  import { RS_COMPONENT_SIZE_ICON_PX } from "../../../theme/types.js";
2
- import { PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger } from "../../_shared/src/reka.js";
3
2
  import { useRsI18n } from "../../../composables/useRsI18n.js";
4
3
  import RsIcon_default from "../../icon/src/RsIcon.js";
5
4
  import { buildLocalInputRules, runFormFieldRules } from "../../form/src/form-rules.js";
6
5
  import { isRsFormItemBoundControl, useRsFormContext, useRsFormField, useRsFormItemContext } from "../../form/src/form-utils.js";
7
6
  import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
8
- import { EMPTY_DATE_RANGE, compareDates, extractTimeFromDateTime, formatDateDisplay, formatDateParts, formatDateRangeLabel, formatDateTimeDisplay, formatDateTimeParts, formatDateTimeRangeLabel, formatTimestampValue, fromInternalPickerValue, getNextMonth, getNowDateTime, getTodayDate, isDateRangeEmpty, isDateRangeOrdered, isDateWithinBounds, isTimestampRange, normalizeShortcutValue, parseDateTimeValue, parseDateValue, parseTimestampValue, toInternalPickerValue, toRangeEndpointString } from "./date-picker-utils.js";
7
+ import { rsRadiusCss, useResolvedRsRadius } from "../../_shared/src/resolve-radius.js";
8
+ import RsButton_default from "../../button/src/RsButton.js";
9
+ import { placeAnchoredPopup } from "../../_shared/src/overlay-utils.js";
10
+ import { EMPTY_DATE_RANGE, compareDates, extractTimeFromDateTime, formatDateParts, formatDateTimeParts, formatPickerDisplay, formatTimestampValue, fromInternalPickerValue, getNextMonth, getNowDateTime, getTodayDate, isDateRangeEmpty, isDateRangeOrdered, isDateWithinBounds, isTimestampRange, normalizeShortcutValue, parseDateTimeValue, parseDateValue, parseTimestampValue, resolveDatePickerPortalTarget, resolveWeekStartsOn, toInternalPickerValue, toRangeEndpointString } from "./date-picker-utils.js";
9
11
  import RsCalendarGrid_default from "../../calendar-grid/src/RsCalendarGrid.js";
10
- import { formatTimeParts } from "../../time-picker/src/time-picker-utils.js";
12
+ import { containOverlayWheel, formatTimeParts, isTimeColumnScrollTarget } from "../../time-picker/src/time-picker-utils.js";
11
13
  import RsTimePicker_default from "../../time-picker/src/RsTimePicker.js";
12
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, openBlock, ref, renderList, toDisplayString, unref, useAttrs, useId, useModel, watch, withCtx } from "vue";
14
+ import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, openBlock, ref, renderList, toDisplayString, unref, useAttrs, useId, useModel, useTemplateRef, watch, withModifiers } from "vue";
13
15
  //#region src/components/date-picker/src/RsDatePicker.vue?vue&type=script&setup=true&lang.ts
14
- var _hoisted_1 = {
16
+ var _hoisted_1 = ["for"];
17
+ var _hoisted_2 = {
15
18
  key: 0,
16
- class: "rs-field__label"
17
- };
18
- var _hoisted_2 = ["for"];
19
- var _hoisted_3 = {
20
- key: 2,
21
19
  class: "rs-field__required",
22
20
  "aria-hidden": "true"
23
21
  };
22
+ var _hoisted_3 = [
23
+ "id",
24
+ "disabled",
25
+ "aria-invalid",
26
+ "aria-label",
27
+ "aria-expanded",
28
+ "aria-controls",
29
+ "aria-readonly"
30
+ ];
24
31
  var _hoisted_4 = { class: "rs-date-picker__leading" };
25
32
  var _hoisted_5 = { class: "rs-date-picker__value" };
26
- var _hoisted_6 = {
27
- key: 0,
28
- class: "rs-date-picker__panel"
29
- };
30
- var _hoisted_7 = {
33
+ var _hoisted_6 = [
34
+ "id",
35
+ "data-placement",
36
+ "data-rs-theme",
37
+ "aria-label"
38
+ ];
39
+ var _hoisted_7 = { class: "rs-date-picker__panel" };
40
+ var _hoisted_8 = {
31
41
  key: 0,
32
42
  class: "rs-date-picker__range-grid"
33
43
  };
34
- var _hoisted_8 = { class: "rs-date-picker__range-pane" };
35
- var _hoisted_9 = { class: "rs-date-picker__pane-title" };
36
- var _hoisted_10 = {
44
+ var _hoisted_9 = { class: "rs-date-picker__range-pane" };
45
+ var _hoisted_10 = { class: "rs-date-picker__pane-title" };
46
+ var _hoisted_11 = {
37
47
  key: 0,
38
48
  class: "rs-date-picker__time-row"
39
49
  };
40
- var _hoisted_11 = { class: "rs-date-picker__time-label" };
41
- var _hoisted_12 = { class: "rs-date-picker__range-pane" };
42
- var _hoisted_13 = { class: "rs-date-picker__pane-title" };
43
- var _hoisted_14 = {
50
+ var _hoisted_12 = { class: "rs-date-picker__time-label" };
51
+ var _hoisted_13 = { class: "rs-date-picker__range-pane" };
52
+ var _hoisted_14 = { class: "rs-date-picker__pane-title" };
53
+ var _hoisted_15 = {
44
54
  key: 0,
45
55
  class: "rs-date-picker__time-row"
46
56
  };
47
- var _hoisted_15 = { class: "rs-date-picker__time-label" };
48
- var _hoisted_16 = {
57
+ var _hoisted_16 = { class: "rs-date-picker__time-label" };
58
+ var _hoisted_17 = {
49
59
  key: 0,
50
60
  class: "rs-date-picker__time-row"
51
61
  };
52
- var _hoisted_17 = { class: "rs-date-picker__time-label" };
53
- var _hoisted_18 = { class: "rs-date-picker__footer" };
54
- var _hoisted_19 = { class: "rs-date-picker__footer-start" };
55
- var _hoisted_20 = {
62
+ var _hoisted_18 = { class: "rs-date-picker__time-label" };
63
+ var _hoisted_19 = { class: "rs-date-picker__footer" };
64
+ var _hoisted_20 = { class: "rs-date-picker__footer-start" };
65
+ var _hoisted_21 = {
56
66
  key: 0,
57
67
  class: "rs-date-picker__shortcuts"
58
68
  };
59
- var _hoisted_21 = ["disabled", "onClick"];
60
- var _hoisted_22 = { class: "rs-date-picker__actions" };
61
- var _hoisted_23 = ["disabled"];
62
- var _hoisted_24 = {
69
+ var _hoisted_22 = ["disabled", "onClick"];
70
+ var _hoisted_23 = { class: "rs-date-picker__actions" };
71
+ var _hoisted_24 = ["disabled"];
72
+ var _hoisted_25 = {
63
73
  key: 1,
64
74
  class: "rs-date-picker-field__error",
65
75
  role: "alert"
66
76
  };
67
- var _hoisted_25 = {
77
+ var _hoisted_26 = {
68
78
  key: 2,
69
79
  class: "rs-field__hint"
70
80
  };
71
81
  var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
82
+ name: "RsDatePicker",
72
83
  inheritAttrs: false,
73
84
  __name: "RsDatePicker",
74
85
  props: /*@__PURE__*/ mergeModels({
@@ -96,15 +107,30 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
96
107
  },
97
108
  withSeconds: { type: Boolean },
98
109
  valueFormat: { default: "string" },
110
+ format: {},
99
111
  labelPosition: { default: "top" },
100
112
  shortcuts: {},
101
113
  size: {},
114
+ radius: {},
102
115
  id: {},
103
116
  invalid: { type: Boolean },
104
117
  showValidateMessage: {
105
118
  type: Boolean,
106
119
  default: true
107
- }
120
+ },
121
+ clearable: {
122
+ type: Boolean,
123
+ default: false
124
+ },
125
+ readonly: {
126
+ type: Boolean,
127
+ default: false
128
+ },
129
+ ariaLabel: {},
130
+ weekStartsOn: {},
131
+ disabledDates: { default: () => [] },
132
+ disabledDate: {},
133
+ getPopupContainer: {}
108
134
  }, {
109
135
  "modelValue": { default: "" },
110
136
  "modelModifiers": {},
@@ -114,21 +140,32 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
114
140
  },
115
141
  "openModifiers": {}
116
142
  }),
117
- emits: ["update:modelValue", "update:open"],
118
- setup(__props, { expose: __expose }) {
143
+ emits: /*@__PURE__*/ mergeModels([
144
+ "change",
145
+ "openChange",
146
+ "clear",
147
+ "focus",
148
+ "blur"
149
+ ], ["update:modelValue", "update:open"]),
150
+ setup(__props, { expose: __expose, emit: __emit }) {
119
151
  function isRangeModel(value) {
120
152
  return typeof value === "object" && value !== null && !Array.isArray(value) && ("start" in value || "end" in value);
121
153
  }
122
154
  const model = useModel(__props, "modelValue");
123
155
  const open = useModel(__props, "open");
124
156
  const props = __props;
125
- const fieldId = useId();
157
+ const emit = __emit;
158
+ const fallbackId = useId();
159
+ const panelId = useId();
126
160
  const attrs = useAttrs();
127
- const { t } = useRsI18n();
161
+ const { t, locale } = useRsI18n();
128
162
  const resolvedSize = useResolvedRsComponentSize(() => props.size);
163
+ const resolvedRadius = useResolvedRsRadius(() => props.radius, "sm");
129
164
  const triggerIconSize = computed(() => RS_COMPONENT_SIZE_ICON_PX[resolvedSize.value]);
165
+ const clearIconSize = computed(() => Math.max(12, triggerIconSize.value - 2));
130
166
  /** withTime 默认带秒;显式 withSeconds 优先(勿与 prop 同名,避免模板取到未传 prop) */
131
167
  const resolvedWithSeconds = computed(() => props.withSeconds !== void 0 ? props.withSeconds : props.withTime);
168
+ const resolvedWeekStartsOn = computed(() => resolveWeekStartsOn(locale.value, props.weekStartsOn));
132
169
  const formContext = useRsFormContext();
133
170
  const formItem = useRsFormItemContext();
134
171
  const boundToItem = computed(() => isRsFormItemBoundControl(formItem, {
@@ -137,14 +174,27 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
137
174
  }));
138
175
  const autoMessage = ref("");
139
176
  const isInvalid = computed(() => Boolean(props.invalid || boundToItem.value && formItem?.invalid.value || !boundToItem.value && autoMessage.value));
140
- const triggerId = computed(() => props.id || fieldId);
177
+ const triggerId = computed(() => props.id || fallbackId);
141
178
  const visibleMessage = computed(() => boundToItem.value || props.showValidateMessage === false ? "" : autoMessage.value);
142
- const viewYear = ref(getTodayDate().year);
143
- const viewMonth = ref(getTodayDate().month);
144
- const startViewYear = ref(getTodayDate().year);
145
- const startViewMonth = ref(getTodayDate().month);
146
- const endViewYear = ref(getTodayDate().year);
147
- const endViewMonth = ref(getTodayDate().month);
179
+ const resolvedDisabled = computed(() => props.disabled || Boolean(formContext?.disabled.value));
180
+ const canInteract = computed(() => !resolvedDisabled.value && !props.readonly);
181
+ const rootRef = useTemplateRef("rootRef");
182
+ const triggerRef = useTemplateRef("triggerRef");
183
+ const contentRef = useTemplateRef("contentRef");
184
+ const panelTheme = ref();
185
+ const popup = ref({
186
+ top: 0,
187
+ left: 0,
188
+ width: 0,
189
+ placement: "bottom"
190
+ });
191
+ const todaySeed = getTodayDate();
192
+ const viewYear = ref(todaySeed.year);
193
+ const viewMonth = ref(todaySeed.month);
194
+ const startViewYear = ref(todaySeed.year);
195
+ const startViewMonth = ref(todaySeed.month);
196
+ const endViewYear = ref(todaySeed.year);
197
+ const endViewMonth = ref(todaySeed.month);
148
198
  const draftDate = ref(null);
149
199
  const draftStart = ref(null);
150
200
  const draftEnd = ref(null);
@@ -203,20 +253,37 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
203
253
  return formatDateParts(draftStart.value);
204
254
  });
205
255
  const isEmpty = computed(() => props.range ? isDateRangeEmpty(rangeModel.value) : !singleModel.value);
256
+ const displayOptions = computed(() => ({
257
+ format: props.format,
258
+ withTime: props.withTime
259
+ }));
206
260
  const displayValue = computed(() => {
207
261
  if (props.range) {
208
- const formatted = props.withTime ? formatDateTimeRangeLabel(rangeModel.value, t("datePicker.separator")) : formatDateRangeLabel(rangeModel.value, t("datePicker.separator"));
209
- if (formatted) return formatted;
262
+ const start = formatPickerDisplay(rangeModel.value.start, displayOptions.value);
263
+ const end = formatPickerDisplay(rangeModel.value.end, displayOptions.value);
264
+ if (start || end) {
265
+ const separator = t("datePicker.separator");
266
+ if (start && end) return `${start}${separator}${end}`;
267
+ return start || end;
268
+ }
210
269
  if (props.placeholder) return props.placeholder;
211
270
  return props.withTime ? t("dateTimePicker.rangePlaceholder") : t("datePicker.rangePlaceholder");
212
271
  }
213
272
  if (!singleModel.value) return props.placeholder ?? (props.withTime ? t("dateTimePicker.placeholder") : t("datePicker.placeholder"));
214
- return props.withTime ? formatDateTimeDisplay(singleModel.value) : formatDateDisplay(singleModel.value);
273
+ return formatPickerDisplay(singleModel.value, displayOptions.value);
215
274
  });
216
275
  const triggerIcon = computed(() => {
217
276
  if (props.range || props.withTime) return "calendar-clock";
218
277
  return "calendar-days";
219
278
  });
279
+ const showClear = computed(() => props.clearable && !isEmpty.value && canInteract.value);
280
+ const portalTarget = computed(() => resolveDatePickerPortalTarget(props.getPopupContainer, triggerRef.value));
281
+ const panelStyle = computed(() => ({
282
+ top: `${popup.value.top}px`,
283
+ left: `${popup.value.left}px`,
284
+ "--rs-date-picker-radius": rsRadiusCss(resolvedRadius.value)
285
+ }));
286
+ const rootStyle = computed(() => ({ "--rs-date-picker-radius": rsRadiusCss(resolvedRadius.value) }));
220
287
  function currentTimeValue() {
221
288
  const now = getNowDateTime();
222
289
  return formatTimeParts(now.hour, now.minute, resolvedWithSeconds.value ? now.second : void 0);
@@ -334,6 +401,9 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
334
401
  }
335
402
  syncSingleDraft();
336
403
  }
404
+ function emitChange() {
405
+ emit("change", model.value);
406
+ }
337
407
  function confirmSingleSelection() {
338
408
  if (!draftDate.value) return;
339
409
  if (props.withTime) {
@@ -341,6 +411,7 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
341
411
  if (!combined) return;
342
412
  singleModel.value = combined;
343
413
  open.value = false;
414
+ emitChange();
344
415
  return;
345
416
  }
346
417
  if (!isDateWithinBounds(draftDate.value.year, draftDate.value.month, draftDate.value.day, {
@@ -349,6 +420,7 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
349
420
  })) return;
350
421
  singleModel.value = formatDateParts(draftDate.value);
351
422
  open.value = false;
423
+ emitChange();
352
424
  }
353
425
  function confirmRangeSelection() {
354
426
  if (!draftStart.value || !draftEnd.value) return;
@@ -365,6 +437,7 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
365
437
  end
366
438
  };
367
439
  open.value = false;
440
+ emitChange();
368
441
  return;
369
442
  }
370
443
  const start = formatDateParts(draftStart.value);
@@ -385,6 +458,7 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
385
458
  end
386
459
  };
387
460
  open.value = false;
461
+ emitChange();
388
462
  }
389
463
  function confirmSelection() {
390
464
  if (props.range) {
@@ -394,7 +468,7 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
394
468
  confirmSingleSelection();
395
469
  }
396
470
  function applyShortcut(shortcut) {
397
- if (props.disabled) return;
471
+ if (!canInteract.value) return;
398
472
  const normalized = normalizeShortcutValue(shortcut.value(), { withTime: props.withTime });
399
473
  if (!normalized) return;
400
474
  if (props.range) {
@@ -406,11 +480,13 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
406
480
  if (!isDateRangeOrdered(rangeValue)) return;
407
481
  rangeModel.value = rangeValue;
408
482
  open.value = false;
483
+ emitChange();
409
484
  return;
410
485
  }
411
486
  if (typeof normalized !== "string") return;
412
487
  singleModel.value = normalized;
413
488
  open.value = false;
489
+ emitChange();
414
490
  }
415
491
  function clearSelection() {
416
492
  if (props.range) {
@@ -425,6 +501,8 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
425
501
  if (props.withTime) draftTime.value = currentTimeValue();
426
502
  }
427
503
  open.value = false;
504
+ emit("clear");
505
+ emitChange();
428
506
  }
429
507
  function selectToday() {
430
508
  const today = getTodayDate();
@@ -499,6 +577,121 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
499
577
  }
500
578
  model.value = value == null ? "" : value;
501
579
  }
580
+ function focus() {
581
+ triggerRef.value?.focus();
582
+ }
583
+ function blur() {
584
+ triggerRef.value?.blur();
585
+ }
586
+ function toggleOpen() {
587
+ if (!canInteract.value) return;
588
+ open.value = !open.value;
589
+ }
590
+ function onTriggerKeydown(event) {
591
+ if (!canInteract.value || event.isComposing) return;
592
+ if (event.key === "Escape" && open.value) {
593
+ event.preventDefault();
594
+ open.value = false;
595
+ return;
596
+ }
597
+ if (open.value) return;
598
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
599
+ event.preventDefault();
600
+ open.value = true;
601
+ }
602
+ }
603
+ function syncPanelTheme() {
604
+ const el = triggerRef.value ?? rootRef.value;
605
+ if (!el) {
606
+ panelTheme.value = void 0;
607
+ return;
608
+ }
609
+ const themed = el.closest("[data-rs-theme]");
610
+ panelTheme.value = themed instanceof HTMLElement ? themed.dataset.rsTheme : void 0;
611
+ }
612
+ function placePopup() {
613
+ const trigger = triggerRef.value;
614
+ const content = contentRef.value;
615
+ if (!trigger || !open.value || typeof window === "undefined") return;
616
+ const anchor = trigger.getBoundingClientRect();
617
+ const measured = content?.getBoundingClientRect();
618
+ const prefWidth = props.range ? Math.max(anchor.width, measured?.width || Math.min(672, window.innerWidth - 32)) : Math.max(anchor.width, measured?.width || Math.min(320, window.innerWidth - 32));
619
+ popup.value = placeAnchoredPopup({
620
+ top: anchor.top,
621
+ left: anchor.left,
622
+ height: anchor.height,
623
+ width: anchor.width
624
+ }, {
625
+ width: prefWidth,
626
+ height: measured?.height || 320
627
+ }, {
628
+ width: window.innerWidth,
629
+ height: window.innerHeight
630
+ }, 6);
631
+ }
632
+ let frame = 0;
633
+ let overlayBound = false;
634
+ let openWatchReady = false;
635
+ let panelResize;
636
+ function requestPlace() {
637
+ if (typeof window === "undefined") return;
638
+ if (frame) return;
639
+ frame = window.requestAnimationFrame(() => {
640
+ frame = 0;
641
+ placePopup();
642
+ });
643
+ }
644
+ function onDocPointerDown(event) {
645
+ const target = event.target;
646
+ if (!(target instanceof Node)) return;
647
+ if (rootRef.value?.contains(target)) return;
648
+ if (contentRef.value?.contains(target)) return;
649
+ if (target instanceof Element) {
650
+ if (target.closest(".rs-time-picker__content")) return;
651
+ }
652
+ open.value = false;
653
+ }
654
+ function onWindowChange(event) {
655
+ if (!open.value) return;
656
+ if (event?.type === "scroll" && isTimeColumnScrollTarget(event.target)) return;
657
+ requestPlace();
658
+ }
659
+ function attachPanelObserver() {
660
+ if (typeof ResizeObserver === "undefined") return;
661
+ panelResize?.disconnect();
662
+ if (!contentRef.value) return;
663
+ panelResize = new ResizeObserver(() => requestPlace());
664
+ panelResize.observe(contentRef.value);
665
+ }
666
+ function attachPanelWheel() {
667
+ contentRef.value?.addEventListener("wheel", containOverlayWheel, { passive: false });
668
+ }
669
+ function detachPanelWheel() {
670
+ contentRef.value?.removeEventListener("wheel", containOverlayWheel);
671
+ }
672
+ function attachOverlay() {
673
+ if (overlayBound || typeof window === "undefined") return;
674
+ overlayBound = true;
675
+ if (typeof document !== "undefined") document.addEventListener("pointerdown", onDocPointerDown);
676
+ window.addEventListener("resize", onWindowChange);
677
+ window.addEventListener("scroll", onWindowChange, true);
678
+ }
679
+ function detachOverlay() {
680
+ detachPanelWheel();
681
+ panelResize?.disconnect();
682
+ panelResize = void 0;
683
+ if (frame && typeof window !== "undefined") {
684
+ window.cancelAnimationFrame(frame);
685
+ frame = 0;
686
+ }
687
+ if (!overlayBound) return;
688
+ overlayBound = false;
689
+ if (typeof document !== "undefined") document.removeEventListener("pointerdown", onDocPointerDown);
690
+ if (typeof window !== "undefined") {
691
+ window.removeEventListener("resize", onWindowChange);
692
+ window.removeEventListener("scroll", onWindowChange, true);
693
+ }
694
+ }
502
695
  async function runValidate(trigger = "submit") {
503
696
  const formRules = formContext?.getFieldRules(props.name) ?? [];
504
697
  const localRules = buildLocalInputRules({ required: props.required });
@@ -533,185 +726,254 @@ var RsDatePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
533
726
  __expose({
534
727
  setValue: setFieldValue,
535
728
  clearValidation,
536
- validate: runValidate
729
+ setError: (message) => {
730
+ autoMessage.value = message;
731
+ },
732
+ validate: runValidate,
733
+ focus,
734
+ blur
537
735
  });
538
736
  watch(open, (isOpen) => {
539
- if (isOpen) syncDraftFromModel();
540
- if (!isOpen && props.name) runValidate("change");
737
+ const skipEvent = !openWatchReady;
738
+ openWatchReady = true;
739
+ if (typeof document === "undefined" || typeof window === "undefined") return;
740
+ if (isOpen) {
741
+ if (!canInteract.value) {
742
+ open.value = false;
743
+ return;
744
+ }
745
+ syncDraftFromModel();
746
+ syncPanelTheme();
747
+ attachOverlay();
748
+ nextTick(() => {
749
+ requestPlace();
750
+ attachPanelObserver();
751
+ attachPanelWheel();
752
+ });
753
+ if (!skipEvent) emit("openChange", true);
754
+ return;
755
+ }
756
+ detachOverlay();
757
+ if (!skipEvent) {
758
+ emit("openChange", false);
759
+ if (props.name) runValidate("change");
760
+ }
761
+ }, { immediate: true });
762
+ watch(resolvedDisabled, (disabled) => {
763
+ if (disabled && open.value) open.value = false;
541
764
  });
765
+ onBeforeUnmount(detachOverlay);
542
766
  return (_ctx, _cache) => {
543
- return openBlock(), createElementBlock("div", { class: normalizeClass(["rs-field", `rs-field--label-${__props.labelPosition}`]) }, [
544
- __props.label ? (openBlock(), createElementBlock("span", _hoisted_1, [__props.labelPosition === "left" ? (openBlock(), createElementBlock("label", {
767
+ return openBlock(), createElementBlock("div", {
768
+ ref_key: "rootRef",
769
+ ref: rootRef,
770
+ class: normalizeClass(["rs-field", [`rs-field--label-${__props.labelPosition}`, { "rs-date-picker-wrap--clearable": showClear.value }]]),
771
+ style: normalizeStyle(rootStyle.value)
772
+ }, [
773
+ __props.label ? (openBlock(), createElementBlock("label", {
774
+ key: 0,
775
+ class: "rs-field__label",
776
+ for: triggerId.value
777
+ }, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_2, "*")) : createCommentVNode("", true)], 8, _hoisted_1)) : createCommentVNode("", true),
778
+ createElementVNode("div", { class: normalizeClass(["rs-date-picker", `rs-date-picker--${unref(resolvedSize)}`]) }, [createElementVNode("button", mergeProps(unref(attrs), {
779
+ id: triggerId.value,
780
+ ref_key: "triggerRef",
781
+ ref: triggerRef,
782
+ type: "button",
783
+ class: ["rs-date-picker__trigger", {
784
+ "rs-date-picker__trigger--placeholder": isEmpty.value,
785
+ "rs-date-picker__trigger--invalid": isInvalid.value
786
+ }],
787
+ disabled: resolvedDisabled.value,
788
+ "aria-invalid": isInvalid.value || void 0,
789
+ "aria-label": __props.ariaLabel,
790
+ "aria-haspopup": "dialog",
791
+ "aria-expanded": open.value ? "true" : "false",
792
+ "aria-controls": open.value ? unref(panelId) : void 0,
793
+ "aria-readonly": __props.readonly || void 0,
794
+ onClick: toggleOpen,
795
+ onKeydown: onTriggerKeydown,
796
+ onFocus: _cache[0] || (_cache[0] = ($event) => emit("focus")),
797
+ onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur"))
798
+ }), [createElementVNode("span", _hoisted_4, [createVNode(RsIcon_default, {
799
+ name: triggerIcon.value,
800
+ size: triggerIconSize.value,
801
+ class: "rs-date-picker__icon",
802
+ "aria-hidden": "true"
803
+ }, null, 8, ["name", "size"]), createElementVNode("span", _hoisted_5, toDisplayString(displayValue.value), 1)]), createVNode(RsIcon_default, {
804
+ name: "chevron-down",
805
+ size: triggerIconSize.value,
806
+ class: "rs-date-picker__chevron",
807
+ "aria-hidden": "true"
808
+ }, null, 8, ["size"])], 16, _hoisted_3), showClear.value ? (openBlock(), createBlock(RsButton_default, {
809
+ key: 0,
810
+ class: "rs-date-picker__clear",
811
+ variant: "text",
812
+ bordered: false,
813
+ size: "ssm",
814
+ radius: "full",
815
+ icon: "x",
816
+ "icon-size": clearIconSize.value,
817
+ "icon-only": "",
818
+ "aria-label": __props.withTime ? unref(t)("dateTimePicker.clear") : unref(t)("datePicker.clear"),
819
+ onPointerdown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"])),
820
+ onClick: withModifiers(clearSelection, ["stop"])
821
+ }, null, 8, ["icon-size", "aria-label"])) : createCommentVNode("", true)], 2),
822
+ (openBlock(), createBlock(Teleport, { to: portalTarget.value }, [open.value && canInteract.value ? (openBlock(), createElementBlock("div", {
545
823
  key: 0,
546
- for: unref(fieldId)
547
- }, toDisplayString(__props.label), 9, _hoisted_2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(__props.label), 1)], 64)), __props.required ? (openBlock(), createElementBlock("span", _hoisted_3, "*")) : createCommentVNode("", true)])) : createCommentVNode("", true),
548
- createElementVNode("div", { class: normalizeClass(["rs-date-picker", `rs-date-picker--${unref(resolvedSize)}`]) }, [createVNode(unref(PopoverRoot), {
549
- open: open.value,
550
- "onUpdate:open": _cache[9] || (_cache[9] = ($event) => open.value = $event)
551
- }, {
552
- default: withCtx(() => [createVNode(unref(PopoverTrigger), mergeProps(unref(attrs), {
553
- id: triggerId.value,
824
+ id: unref(panelId),
825
+ ref_key: "contentRef",
826
+ ref: contentRef,
827
+ class: normalizeClass(["rs-date-picker__content", { "rs-date-picker__content--range": __props.range }]),
828
+ "data-placement": popup.value.placement,
829
+ "data-rs-theme": panelTheme.value,
830
+ style: normalizeStyle(panelStyle.value),
831
+ role: "dialog",
832
+ "aria-label": __props.label || __props.ariaLabel || (__props.withTime ? unref(t)("dateTimePicker.placeholder") : unref(t)("datePicker.placeholder"))
833
+ }, [createElementVNode("div", _hoisted_7, [__props.range ? (openBlock(), createElementBlock("div", _hoisted_8, [createElementVNode("section", _hoisted_9, [
834
+ createElementVNode("span", _hoisted_10, toDisplayString(__props.withTime ? unref(t)("dateTimePicker.rangeStart") : unref(t)("datePicker.rangeStart")), 1),
835
+ createVNode(RsCalendarGrid_default, {
836
+ "view-year": startViewYear.value,
837
+ "onUpdate:viewYear": _cache[3] || (_cache[3] = ($event) => startViewYear.value = $event),
838
+ "view-month": startViewMonth.value,
839
+ "onUpdate:viewMonth": _cache[4] || (_cache[4] = ($event) => startViewMonth.value = $event),
840
+ selected: draftStart.value,
841
+ "range-start": draftStart.value,
842
+ "range-end": draftEnd.value,
843
+ "min-date": __props.minDate,
844
+ "max-date": startMaxDate.value,
845
+ "disabled-dates": __props.disabledDates,
846
+ "disabled-date": __props.disabledDate,
847
+ "week-starts-on": resolvedWeekStartsOn.value,
848
+ onSelect: handleStartSelect
849
+ }, null, 8, [
850
+ "view-year",
851
+ "view-month",
852
+ "selected",
853
+ "range-start",
854
+ "range-end",
855
+ "min-date",
856
+ "max-date",
857
+ "disabled-dates",
858
+ "disabled-date",
859
+ "week-starts-on"
860
+ ]),
861
+ __props.withTime ? (openBlock(), createElementBlock("div", _hoisted_11, [createElementVNode("span", _hoisted_12, toDisplayString(unref(t)("dateTimePicker.time")), 1), createVNode(RsTimePicker_default, {
862
+ modelValue: draftStartTime.value,
863
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => draftStartTime.value = $event),
864
+ class: "rs-date-picker__time-picker",
865
+ embedded: "",
866
+ size: unref(resolvedSize),
867
+ "with-seconds": resolvedWithSeconds.value,
868
+ disabled: !draftStart.value || resolvedDisabled.value
869
+ }, null, 8, [
870
+ "modelValue",
871
+ "size",
872
+ "with-seconds",
873
+ "disabled"
874
+ ])])) : createCommentVNode("", true)
875
+ ]), createElementVNode("section", _hoisted_13, [
876
+ createElementVNode("span", _hoisted_14, toDisplayString(__props.withTime ? unref(t)("dateTimePicker.rangeEnd") : unref(t)("datePicker.rangeEnd")), 1),
877
+ createVNode(RsCalendarGrid_default, {
878
+ "view-year": endViewYear.value,
879
+ "onUpdate:viewYear": _cache[6] || (_cache[6] = ($event) => endViewYear.value = $event),
880
+ "view-month": endViewMonth.value,
881
+ "onUpdate:viewMonth": _cache[7] || (_cache[7] = ($event) => endViewMonth.value = $event),
882
+ selected: draftEnd.value,
883
+ "range-start": draftStart.value,
884
+ "range-end": draftEnd.value,
885
+ "min-date": endMinDate.value,
886
+ "max-date": __props.maxDate,
887
+ "disabled-dates": __props.disabledDates,
888
+ "disabled-date": __props.disabledDate,
889
+ "week-starts-on": resolvedWeekStartsOn.value,
890
+ onSelect: handleEndSelect
891
+ }, null, 8, [
892
+ "view-year",
893
+ "view-month",
894
+ "selected",
895
+ "range-start",
896
+ "range-end",
897
+ "min-date",
898
+ "max-date",
899
+ "disabled-dates",
900
+ "disabled-date",
901
+ "week-starts-on"
902
+ ]),
903
+ __props.withTime ? (openBlock(), createElementBlock("div", _hoisted_15, [createElementVNode("span", _hoisted_16, toDisplayString(unref(t)("dateTimePicker.time")), 1), createVNode(RsTimePicker_default, {
904
+ modelValue: draftEndTime.value,
905
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => draftEndTime.value = $event),
906
+ class: "rs-date-picker__time-picker",
907
+ embedded: "",
908
+ size: unref(resolvedSize),
909
+ "with-seconds": resolvedWithSeconds.value,
910
+ disabled: !draftEnd.value || resolvedDisabled.value
911
+ }, null, 8, [
912
+ "modelValue",
913
+ "size",
914
+ "with-seconds",
915
+ "disabled"
916
+ ])])) : createCommentVNode("", true)
917
+ ])])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createVNode(RsCalendarGrid_default, {
918
+ "view-year": viewYear.value,
919
+ "onUpdate:viewYear": _cache[9] || (_cache[9] = ($event) => viewYear.value = $event),
920
+ "view-month": viewMonth.value,
921
+ "onUpdate:viewMonth": _cache[10] || (_cache[10] = ($event) => viewMonth.value = $event),
922
+ selected: draftDate.value,
923
+ "min-date": __props.minDate,
924
+ "max-date": __props.maxDate,
925
+ "disabled-dates": __props.disabledDates,
926
+ "disabled-date": __props.disabledDate,
927
+ "week-starts-on": resolvedWeekStartsOn.value,
928
+ onSelect: handleDateSelect
929
+ }, null, 8, [
930
+ "view-year",
931
+ "view-month",
932
+ "selected",
933
+ "min-date",
934
+ "max-date",
935
+ "disabled-dates",
936
+ "disabled-date",
937
+ "week-starts-on"
938
+ ]), __props.withTime ? (openBlock(), createElementBlock("div", _hoisted_17, [createElementVNode("span", _hoisted_18, toDisplayString(unref(t)("dateTimePicker.time")), 1), createVNode(RsTimePicker_default, {
939
+ modelValue: draftTime.value,
940
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => draftTime.value = $event),
941
+ class: "rs-date-picker__time-picker",
942
+ embedded: "",
943
+ size: unref(resolvedSize),
944
+ "with-seconds": resolvedWithSeconds.value,
945
+ disabled: !draftDate.value || resolvedDisabled.value
946
+ }, null, 8, [
947
+ "modelValue",
948
+ "size",
949
+ "with-seconds",
950
+ "disabled"
951
+ ])])) : createCommentVNode("", true)], 64)), createElementVNode("footer", _hoisted_19, [createElementVNode("div", _hoisted_20, [__props.shortcuts?.length ? (openBlock(), createElementBlock("div", _hoisted_21, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.shortcuts, (item, index) => {
952
+ return openBlock(), createElementBlock("button", {
953
+ key: `${item.label}-${index}`,
554
954
  type: "button",
555
- class: ["rs-date-picker__trigger", {
556
- "rs-date-picker__trigger--placeholder": isEmpty.value,
557
- "rs-date-picker__trigger--invalid": isInvalid.value
558
- }],
559
- disabled: __props.disabled,
560
- "aria-invalid": isInvalid.value || void 0
561
- }), {
562
- default: withCtx(() => [createElementVNode("span", _hoisted_4, [createVNode(RsIcon_default, {
563
- name: triggerIcon.value,
564
- size: triggerIconSize.value,
565
- class: "rs-date-picker__icon"
566
- }, null, 8, ["name", "size"]), createElementVNode("span", _hoisted_5, toDisplayString(displayValue.value), 1)]), createVNode(RsIcon_default, {
567
- name: "chevron-down",
568
- size: triggerIconSize.value,
569
- class: "rs-date-picker__chevron"
570
- }, null, 8, ["size"])]),
571
- _: 1
572
- }, 16, [
573
- "id",
574
- "class",
575
- "disabled",
576
- "aria-invalid"
577
- ]), createVNode(unref(PopoverPortal), null, {
578
- default: withCtx(() => [createVNode(unref(PopoverContent), {
579
- class: normalizeClass(["rs-date-picker__content", { "rs-date-picker__content--range": __props.range }]),
580
- "side-offset": 6,
581
- align: "start"
582
- }, {
583
- default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_6, [__props.range ? (openBlock(), createElementBlock("div", _hoisted_7, [createElementVNode("section", _hoisted_8, [
584
- createElementVNode("span", _hoisted_9, toDisplayString(__props.withTime ? unref(t)("dateTimePicker.rangeStart") : unref(t)("datePicker.rangeStart")), 1),
585
- createVNode(RsCalendarGrid_default, {
586
- "view-year": startViewYear.value,
587
- "onUpdate:viewYear": _cache[0] || (_cache[0] = ($event) => startViewYear.value = $event),
588
- "view-month": startViewMonth.value,
589
- "onUpdate:viewMonth": _cache[1] || (_cache[1] = ($event) => startViewMonth.value = $event),
590
- selected: draftStart.value,
591
- "range-start": draftStart.value,
592
- "range-end": draftEnd.value,
593
- "min-date": __props.minDate,
594
- "max-date": startMaxDate.value,
595
- onSelect: handleStartSelect
596
- }, null, 8, [
597
- "view-year",
598
- "view-month",
599
- "selected",
600
- "range-start",
601
- "range-end",
602
- "min-date",
603
- "max-date"
604
- ]),
605
- __props.withTime ? (openBlock(), createElementBlock("div", _hoisted_10, [createElementVNode("span", _hoisted_11, toDisplayString(unref(t)("dateTimePicker.time")), 1), createVNode(RsTimePicker_default, {
606
- modelValue: draftStartTime.value,
607
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => draftStartTime.value = $event),
608
- class: "rs-date-picker__time-picker",
609
- embedded: "",
610
- size: unref(resolvedSize),
611
- "with-seconds": resolvedWithSeconds.value,
612
- disabled: !draftStart.value || __props.disabled
613
- }, null, 8, [
614
- "modelValue",
615
- "size",
616
- "with-seconds",
617
- "disabled"
618
- ])])) : createCommentVNode("", true)
619
- ]), createElementVNode("section", _hoisted_12, [
620
- createElementVNode("span", _hoisted_13, toDisplayString(__props.withTime ? unref(t)("dateTimePicker.rangeEnd") : unref(t)("datePicker.rangeEnd")), 1),
621
- createVNode(RsCalendarGrid_default, {
622
- "view-year": endViewYear.value,
623
- "onUpdate:viewYear": _cache[3] || (_cache[3] = ($event) => endViewYear.value = $event),
624
- "view-month": endViewMonth.value,
625
- "onUpdate:viewMonth": _cache[4] || (_cache[4] = ($event) => endViewMonth.value = $event),
626
- selected: draftEnd.value,
627
- "range-start": draftStart.value,
628
- "range-end": draftEnd.value,
629
- "min-date": endMinDate.value,
630
- "max-date": __props.maxDate,
631
- onSelect: handleEndSelect
632
- }, null, 8, [
633
- "view-year",
634
- "view-month",
635
- "selected",
636
- "range-start",
637
- "range-end",
638
- "min-date",
639
- "max-date"
640
- ]),
641
- __props.withTime ? (openBlock(), createElementBlock("div", _hoisted_14, [createElementVNode("span", _hoisted_15, toDisplayString(unref(t)("dateTimePicker.time")), 1), createVNode(RsTimePicker_default, {
642
- modelValue: draftEndTime.value,
643
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => draftEndTime.value = $event),
644
- class: "rs-date-picker__time-picker",
645
- embedded: "",
646
- size: unref(resolvedSize),
647
- "with-seconds": resolvedWithSeconds.value,
648
- disabled: !draftEnd.value || __props.disabled
649
- }, null, 8, [
650
- "modelValue",
651
- "size",
652
- "with-seconds",
653
- "disabled"
654
- ])])) : createCommentVNode("", true)
655
- ])])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createVNode(RsCalendarGrid_default, {
656
- "view-year": viewYear.value,
657
- "onUpdate:viewYear": _cache[6] || (_cache[6] = ($event) => viewYear.value = $event),
658
- "view-month": viewMonth.value,
659
- "onUpdate:viewMonth": _cache[7] || (_cache[7] = ($event) => viewMonth.value = $event),
660
- selected: draftDate.value,
661
- "min-date": __props.minDate,
662
- "max-date": __props.maxDate,
663
- onSelect: handleDateSelect
664
- }, null, 8, [
665
- "view-year",
666
- "view-month",
667
- "selected",
668
- "min-date",
669
- "max-date"
670
- ]), __props.withTime ? (openBlock(), createElementBlock("div", _hoisted_16, [createElementVNode("span", _hoisted_17, toDisplayString(unref(t)("dateTimePicker.time")), 1), createVNode(RsTimePicker_default, {
671
- modelValue: draftTime.value,
672
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => draftTime.value = $event),
673
- class: "rs-date-picker__time-picker",
674
- embedded: "",
675
- size: unref(resolvedSize),
676
- "with-seconds": resolvedWithSeconds.value,
677
- disabled: !draftDate.value || __props.disabled
678
- }, null, 8, [
679
- "modelValue",
680
- "size",
681
- "with-seconds",
682
- "disabled"
683
- ])])) : createCommentVNode("", true)], 64)), createElementVNode("footer", _hoisted_18, [createElementVNode("div", _hoisted_19, [__props.shortcuts?.length ? (openBlock(), createElementBlock("div", _hoisted_20, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.shortcuts, (item) => {
684
- return openBlock(), createElementBlock("button", {
685
- key: item.label,
686
- type: "button",
687
- class: "rs-date-picker__shortcut",
688
- disabled: __props.disabled,
689
- onClick: ($event) => applyShortcut(item)
690
- }, toDisplayString(item.label), 9, _hoisted_21);
691
- }), 128))])) : (openBlock(), createElementBlock("button", {
692
- key: 1,
693
- type: "button",
694
- class: "rs-date-picker__link",
695
- onClick: selectToday
696
- }, toDisplayString(__props.range ? __props.withTime ? unref(t)("dateTimePicker.now") : unref(t)("datePicker.rangeToday") : __props.withTime ? unref(t)("dateTimePicker.now") : unref(t)("datePicker.today")), 1))]), createElementVNode("div", _hoisted_22, [createElementVNode("button", {
697
- type: "button",
698
- class: "rs-date-picker__ghost",
699
- onClick: clearSelection
700
- }, toDisplayString(__props.withTime ? unref(t)("dateTimePicker.clear") : unref(t)("datePicker.clear")), 1), createElementVNode("button", {
701
- type: "button",
702
- class: "rs-date-picker__confirm",
703
- disabled: __props.range ? !draftStart.value || !draftEnd.value : !draftDate.value || __props.withTime && !draftTime.value,
704
- onClick: confirmSelection
705
- }, toDisplayString(unref(t)("datePicker.confirm")), 9, _hoisted_23)])])])) : createCommentVNode("", true)]),
706
- _: 1
707
- }, 8, ["class"])]),
708
- _: 1
709
- })]),
710
- _: 1
711
- }, 8, ["open"])], 2),
712
- visibleMessage.value ? (openBlock(), createElementBlock("p", _hoisted_24, toDisplayString(visibleMessage.value), 1)) : createCommentVNode("", true),
713
- __props.hint ? (openBlock(), createElementBlock("span", _hoisted_25, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
714
- ], 2);
955
+ class: "rs-date-picker__shortcut",
956
+ disabled: resolvedDisabled.value,
957
+ onClick: ($event) => applyShortcut(item)
958
+ }, toDisplayString(item.label), 9, _hoisted_22);
959
+ }), 128))])) : (openBlock(), createElementBlock("button", {
960
+ key: 1,
961
+ type: "button",
962
+ class: "rs-date-picker__link",
963
+ onClick: selectToday
964
+ }, toDisplayString(__props.range ? __props.withTime ? unref(t)("dateTimePicker.now") : unref(t)("datePicker.rangeToday") : __props.withTime ? unref(t)("dateTimePicker.now") : unref(t)("datePicker.today")), 1))]), createElementVNode("div", _hoisted_23, [createElementVNode("button", {
965
+ type: "button",
966
+ class: "rs-date-picker__ghost",
967
+ onClick: clearSelection
968
+ }, toDisplayString(__props.withTime ? unref(t)("dateTimePicker.clear") : unref(t)("datePicker.clear")), 1), createElementVNode("button", {
969
+ type: "button",
970
+ class: "rs-date-picker__confirm",
971
+ disabled: __props.range ? !draftStart.value || !draftEnd.value : !draftDate.value || __props.withTime && !draftTime.value,
972
+ onClick: confirmSelection
973
+ }, toDisplayString(unref(t)("datePicker.confirm")), 9, _hoisted_24)])])])], 14, _hoisted_6)) : createCommentVNode("", true)], 8, ["to"])),
974
+ visibleMessage.value ? (openBlock(), createElementBlock("p", _hoisted_25, toDisplayString(visibleMessage.value), 1)) : createCommentVNode("", true),
975
+ __props.hint ? (openBlock(), createElementBlock("span", _hoisted_26, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
976
+ ], 6);
715
977
  };
716
978
  }
717
979
  });