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,43 +1,65 @@
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
- import { isRsFormItemBoundControl, useRsFormItemContext } from "../../form/src/form-utils.js";
4
+ import { buildLocalInputRules, runFormFieldRules } from "../../form/src/form-rules.js";
5
+ import { isRsFormItemBoundControl, useRsFormContext, useRsFormField, useRsFormItemContext } from "../../form/src/form-utils.js";
6
6
  import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
7
- import { EMPTY_TIME_RANGE, formatTimeFromParts, formatTimeRangeDisplay, getCurrentTime, isTimeRangeEmpty, isTimeRangeOrderedValues, isTimeWithinBounds, parseTimeValue, pickEarlierTime, pickLaterTime } from "./time-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_TIME_RANGE, containOverlayWheel, formatTimeDisplay, formatTimeFromParts, formatTimeRangeDisplay, getCurrentTime, isTimeColumnScrollTarget, isTimeRangeEmpty, isTimeRangeOrderedValues, isTimeWithinBounds, parseTimeValue, pickEarlierTime, pickLaterTime, resolveTimePickerPortalTarget } from "./time-picker-utils.js";
8
11
  import RsTimePickerColumns_default from "./RsTimePickerColumns.js";
9
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, openBlock, ref, resolveComponent, toDisplayString, unref, useAttrs, useId, useModel, useTemplateRef, watch, withCtx } from "vue";
12
+ import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, openBlock, ref, renderList, resolveComponent, toDisplayString, unref, useAttrs, useId, useModel, useTemplateRef, watch, withModifiers } from "vue";
10
13
  //#region src/components/time-picker/src/RsTimePicker.vue?vue&type=script&setup=true&lang.ts
11
- var _hoisted_1 = {
14
+ var _hoisted_1 = ["for"];
15
+ var _hoisted_2 = {
12
16
  key: 0,
13
- class: "rs-field__label"
14
- };
15
- var _hoisted_2 = ["for"];
16
- var _hoisted_3 = {
17
- key: 2,
18
17
  class: "rs-field__required",
19
18
  "aria-hidden": "true"
20
19
  };
21
- var _hoisted_4 = { class: "rs-time-picker" };
20
+ var _hoisted_3 = { class: "rs-time-picker" };
21
+ var _hoisted_4 = [
22
+ "id",
23
+ "disabled",
24
+ "aria-invalid",
25
+ "aria-label",
26
+ "aria-expanded",
27
+ "aria-controls",
28
+ "aria-readonly"
29
+ ];
22
30
  var _hoisted_5 = { class: "rs-time-picker__leading" };
23
31
  var _hoisted_6 = { class: "rs-time-picker__value" };
24
- var _hoisted_7 = {
25
- key: 0,
26
- class: "rs-time-picker__panel"
27
- };
28
- var _hoisted_8 = {
32
+ var _hoisted_7 = [
33
+ "id",
34
+ "data-placement",
35
+ "data-rs-theme",
36
+ "aria-label"
37
+ ];
38
+ var _hoisted_8 = { class: "rs-time-picker__panel" };
39
+ var _hoisted_9 = {
29
40
  key: 0,
30
41
  class: "rs-time-picker__range-grid"
31
42
  };
32
- var _hoisted_9 = { class: "rs-time-picker__range-pane" };
33
- var _hoisted_10 = { class: "rs-time-picker__pane-title" };
34
- var _hoisted_11 = { class: "rs-time-picker__range-pane" };
35
- var _hoisted_12 = { class: "rs-time-picker__pane-title" };
36
- var _hoisted_13 = { class: "rs-time-picker__footer" };
37
- var _hoisted_14 = { class: "rs-time-picker__actions" };
38
- var _hoisted_15 = ["disabled"];
43
+ var _hoisted_10 = { class: "rs-time-picker__range-pane" };
44
+ var _hoisted_11 = { class: "rs-time-picker__pane-title" };
45
+ var _hoisted_12 = { class: "rs-time-picker__range-pane" };
46
+ var _hoisted_13 = { class: "rs-time-picker__pane-title" };
47
+ var _hoisted_14 = { class: "rs-time-picker__footer" };
48
+ var _hoisted_15 = { class: "rs-time-picker__footer-start" };
39
49
  var _hoisted_16 = {
50
+ key: 0,
51
+ class: "rs-time-picker__shortcuts"
52
+ };
53
+ var _hoisted_17 = ["disabled", "onClick"];
54
+ var _hoisted_18 = { class: "rs-time-picker__actions" };
55
+ var _hoisted_19 = ["disabled"];
56
+ var _hoisted_20 = {
40
57
  key: 1,
58
+ class: "rs-time-picker-field__error",
59
+ role: "alert"
60
+ };
61
+ var _hoisted_21 = {
62
+ key: 2,
41
63
  class: "rs-field__hint"
42
64
  };
43
65
  var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -45,6 +67,7 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
45
67
  inheritAttrs: false,
46
68
  __name: "RsTimePicker",
47
69
  props: /*@__PURE__*/ mergeModels({
70
+ name: {},
48
71
  label: {},
49
72
  hint: {},
50
73
  placeholder: {},
@@ -72,8 +95,27 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
72
95
  },
73
96
  labelPosition: { default: "top" },
74
97
  size: {},
98
+ radius: {},
75
99
  id: {},
76
- invalid: { type: Boolean }
100
+ invalid: { type: Boolean },
101
+ showValidateMessage: {
102
+ type: Boolean,
103
+ default: true
104
+ },
105
+ clearable: {
106
+ type: Boolean,
107
+ default: false
108
+ },
109
+ readonly: {
110
+ type: Boolean,
111
+ default: false
112
+ },
113
+ ariaLabel: {},
114
+ hourCycle: { default: 24 },
115
+ minuteStep: { default: 1 },
116
+ disabledTime: {},
117
+ shortcuts: {},
118
+ getPopupContainer: {}
77
119
  }, {
78
120
  "modelValue": { default: "" },
79
121
  "modelModifiers": {},
@@ -83,24 +125,52 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
83
125
  },
84
126
  "openModifiers": {}
85
127
  }),
86
- emits: ["update:modelValue", "update:open"],
87
- setup(__props) {
128
+ emits: /*@__PURE__*/ mergeModels([
129
+ "change",
130
+ "openChange",
131
+ "clear",
132
+ "focus",
133
+ "blur"
134
+ ], ["update:modelValue", "update:open"]),
135
+ setup(__props, { expose: __expose, emit: __emit }) {
88
136
  function isTimeRangeModel(value) {
89
137
  return typeof value === "object" && value !== null && ("start" in value || "end" in value);
90
138
  }
91
139
  const model = useModel(__props, "modelValue");
92
140
  const open = useModel(__props, "open");
93
141
  const props = __props;
94
- const fieldId = useId();
142
+ const emit = __emit;
143
+ const fallbackId = useId();
144
+ const panelId = useId();
95
145
  const attrs = useAttrs();
96
- const { t } = useRsI18n();
146
+ const { t, locale } = useRsI18n();
147
+ const formContext = useRsFormContext();
97
148
  const formItem = useRsFormItemContext();
98
- const boundToItem = computed(() => isRsFormItemBoundControl(formItem, { id: props.id }));
99
- const isInvalid = computed(() => Boolean(props.invalid || boundToItem.value && formItem?.invalid.value));
100
- const triggerId = computed(() => props.id || fieldId);
149
+ const boundToItem = computed(() => isRsFormItemBoundControl(formItem, {
150
+ id: props.id,
151
+ name: props.name
152
+ }));
153
+ const autoMessage = ref("");
154
+ const isInvalid = computed(() => Boolean(props.invalid || boundToItem.value && formItem?.invalid.value || !boundToItem.value && autoMessage.value));
155
+ const triggerId = computed(() => props.id || fallbackId);
156
+ const visibleMessage = computed(() => props.embedded || boundToItem.value || props.showValidateMessage === false ? "" : autoMessage.value);
101
157
  const resolvedSize = useResolvedRsComponentSize(() => props.size);
158
+ const resolvedRadius = useResolvedRsRadius(() => props.radius, "sm");
102
159
  const triggerIconSize = computed(() => RS_COMPONENT_SIZE_ICON_PX[resolvedSize.value]);
160
+ const clearIconSize = computed(() => Math.max(12, triggerIconSize.value - 2));
161
+ const resolvedDisabled = computed(() => props.disabled || Boolean(formContext?.disabled.value));
162
+ const canInteract = computed(() => !resolvedDisabled.value && !props.readonly);
103
163
  const columnsRef = useTemplateRef("columnsRef");
164
+ const rootRef = useTemplateRef("rootRef");
165
+ const triggerRef = useTemplateRef("triggerRef");
166
+ const contentRef = useTemplateRef("contentRef");
167
+ const panelTheme = ref();
168
+ const popup = ref({
169
+ top: 0,
170
+ left: 0,
171
+ width: 0,
172
+ placement: "bottom"
173
+ });
104
174
  const draftHour = ref(0);
105
175
  const draftMinute = ref(0);
106
176
  const draftSecond = ref(0);
@@ -127,14 +197,22 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
127
197
  const startMaxTime = computed(() => pickEarlierTime(props.maxTime, draftEndTime.value, props.withSeconds));
128
198
  const endMinTime = computed(() => pickLaterTime(props.minTime, draftStartTime.value, props.withSeconds));
129
199
  const isEmpty = computed(() => props.range ? isTimeRangeEmpty(rangeModel.value) : !singleModel.value);
200
+ const displayOptions = computed(() => ({
201
+ hourCycle: props.hourCycle,
202
+ withSeconds: props.withSeconds,
203
+ locale: locale.value
204
+ }));
130
205
  const displayValue = computed(() => {
131
206
  if (props.range) {
132
- const formatted = formatTimeRangeDisplay(rangeModel.value, { separator: t("timePicker.separator") });
207
+ const formatted = formatTimeRangeDisplay(rangeModel.value, {
208
+ separator: t("timePicker.separator"),
209
+ ...displayOptions.value
210
+ });
133
211
  if (formatted) return formatted;
134
212
  return props.placeholder ?? t("timePicker.rangePlaceholder");
135
213
  }
136
214
  if (!singleModel.value) return props.placeholder ?? (props.embedded ? t("timePicker.embeddedPlaceholder") : t("timePicker.placeholder"));
137
- return singleModel.value;
215
+ return formatTimeDisplay(singleModel.value, displayOptions.value);
138
216
  });
139
217
  const draftTime = computed({
140
218
  get() {
@@ -148,6 +226,14 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
148
226
  draftSecond.value = parsed.second;
149
227
  }
150
228
  });
229
+ const showClear = computed(() => props.clearable && !isEmpty.value && canInteract.value && !props.embedded);
230
+ const portalTarget = computed(() => resolveTimePickerPortalTarget(props.getPopupContainer, triggerRef.value));
231
+ const panelStyle = computed(() => ({
232
+ top: `${popup.value.top}px`,
233
+ left: `${popup.value.left}px`,
234
+ "--rs-time-picker-radius": rsRadiusCss(resolvedRadius.value)
235
+ }));
236
+ const rootStyle = computed(() => ({ "--rs-time-picker-radius": rsRadiusCss(resolvedRadius.value) }));
151
237
  function syncSingleDraft() {
152
238
  const parsed = parseTimeValue(singleModel.value, props.withSeconds);
153
239
  if (parsed) {
@@ -176,12 +262,16 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
176
262
  syncSingleDraft();
177
263
  }
178
264
  function isUnitDisabled(unit, value) {
265
+ if (props.disabledTime?.(unit, value)) return true;
179
266
  return !isTimeWithinBounds(unit === "hour" ? value : draftHour.value, unit === "minute" ? value : draftMinute.value, unit === "second" ? value : draftSecond.value, {
180
267
  minTime: props.minTime,
181
268
  maxTime: props.maxTime,
182
269
  withSeconds: props.withSeconds
183
270
  });
184
271
  }
272
+ function emitChange() {
273
+ emit("change", model.value);
274
+ }
185
275
  function confirmSingleSelection() {
186
276
  if (!isTimeWithinBounds(draftHour.value, draftMinute.value, draftSecond.value, {
187
277
  minTime: props.minTime,
@@ -190,6 +280,7 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
190
280
  })) return;
191
281
  singleModel.value = formatTimeFromParts(draftHour.value, draftMinute.value, draftSecond.value, props.withSeconds);
192
282
  open.value = false;
283
+ emitChange();
193
284
  }
194
285
  function confirmRangeSelection() {
195
286
  const start = draftStartTime.value;
@@ -212,6 +303,7 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
212
303
  end
213
304
  };
214
305
  open.value = false;
306
+ emitChange();
215
307
  }
216
308
  function confirmSelection() {
217
309
  if (props.range) {
@@ -224,6 +316,27 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
224
316
  if (props.range) rangeModel.value = { ...EMPTY_TIME_RANGE };
225
317
  else singleModel.value = "";
226
318
  open.value = false;
319
+ emit("clear");
320
+ emitChange();
321
+ }
322
+ function applyShortcut(shortcut) {
323
+ if (!canInteract.value) return;
324
+ const next = shortcut.value();
325
+ if (props.range) {
326
+ if (typeof next === "string" || !next.start || !next.end) return;
327
+ if (!isTimeRangeOrderedValues(next.start, next.end, props.withSeconds)) return;
328
+ rangeModel.value = {
329
+ start: next.start,
330
+ end: next.end
331
+ };
332
+ open.value = false;
333
+ emitChange();
334
+ return;
335
+ }
336
+ if (typeof next !== "string" || !parseTimeValue(next, props.withSeconds)) return;
337
+ singleModel.value = next;
338
+ open.value = false;
339
+ emitChange();
227
340
  }
228
341
  function selectPreset() {
229
342
  if (props.range) {
@@ -238,135 +351,386 @@ var RsTimePicker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
238
351
  draftSecond.value = current.second;
239
352
  confirmSingleSelection();
240
353
  }
241
- watch(open, async (isOpen) => {
242
- if (!isOpen) return;
243
- syncDraftFromModel();
244
- if (!props.range) {
245
- await nextTick();
246
- columnsRef.value?.scrollToSelectionAfterPaint();
354
+ function clearValidation() {
355
+ autoMessage.value = "";
356
+ }
357
+ function setFieldValue(value) {
358
+ if (props.range) {
359
+ if (isTimeRangeModel(value)) {
360
+ model.value = value;
361
+ return;
362
+ }
363
+ if (Array.isArray(value) && value.length >= 2) {
364
+ model.value = {
365
+ start: String(value[0] ?? ""),
366
+ end: String(value[1] ?? "")
367
+ };
368
+ return;
369
+ }
370
+ model.value = { ...EMPTY_TIME_RANGE };
371
+ return;
372
+ }
373
+ model.value = value == null ? "" : String(value);
374
+ }
375
+ function focus() {
376
+ triggerRef.value?.focus();
377
+ }
378
+ function blur() {
379
+ triggerRef.value?.blur();
380
+ }
381
+ function toggleOpen() {
382
+ if (!canInteract.value) return;
383
+ open.value = !open.value;
384
+ }
385
+ function onTriggerKeydown(event) {
386
+ if (!canInteract.value || event.isComposing) return;
387
+ if (event.key === "Escape" && open.value) {
388
+ event.preventDefault();
389
+ open.value = false;
390
+ return;
247
391
  }
392
+ if (open.value) return;
393
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
394
+ event.preventDefault();
395
+ open.value = true;
396
+ }
397
+ }
398
+ function syncPanelTheme() {
399
+ const el = triggerRef.value ?? rootRef.value;
400
+ if (!el) {
401
+ panelTheme.value = void 0;
402
+ return;
403
+ }
404
+ const themed = el.closest("[data-rs-theme]");
405
+ panelTheme.value = themed instanceof HTMLElement ? themed.dataset.rsTheme : void 0;
406
+ }
407
+ function placePopup() {
408
+ const trigger = triggerRef.value;
409
+ const content = contentRef.value;
410
+ if (!trigger || !open.value || typeof window === "undefined") return;
411
+ const anchor = trigger.getBoundingClientRect();
412
+ const measured = content?.getBoundingClientRect();
413
+ const prefWidth = props.range ? Math.max(anchor.width, measured?.width || Math.min(448, window.innerWidth - 32)) : Math.max(anchor.width, measured?.width || Math.min(288, window.innerWidth - 32));
414
+ popup.value = placeAnchoredPopup({
415
+ top: anchor.top,
416
+ left: anchor.left,
417
+ height: anchor.height,
418
+ width: anchor.width
419
+ }, {
420
+ width: prefWidth,
421
+ height: measured?.height || 280
422
+ }, {
423
+ width: window.innerWidth,
424
+ height: window.innerHeight
425
+ }, 6);
426
+ }
427
+ let frame = 0;
428
+ let overlayBound = false;
429
+ let openWatchReady = false;
430
+ let panelResize;
431
+ function requestPlace() {
432
+ if (typeof window === "undefined") return;
433
+ if (frame) return;
434
+ frame = window.requestAnimationFrame(() => {
435
+ frame = 0;
436
+ placePopup();
437
+ });
438
+ }
439
+ function onDocPointerDown(event) {
440
+ const target = event.target;
441
+ if (!(target instanceof Node)) return;
442
+ if (rootRef.value?.contains(target)) return;
443
+ if (contentRef.value?.contains(target)) return;
444
+ if (target instanceof Element && target.closest(".rs-time-picker__content")) return;
445
+ open.value = false;
446
+ }
447
+ function onWindowChange(event) {
448
+ if (!open.value) return;
449
+ if (event?.type === "scroll" && isTimeColumnScrollTarget(event.target)) return;
450
+ requestPlace();
451
+ }
452
+ function attachPanelObserver() {
453
+ if (typeof ResizeObserver === "undefined") return;
454
+ panelResize?.disconnect();
455
+ if (!contentRef.value) return;
456
+ panelResize = new ResizeObserver(() => requestPlace());
457
+ panelResize.observe(contentRef.value);
458
+ }
459
+ function attachPanelWheel() {
460
+ contentRef.value?.addEventListener("wheel", containOverlayWheel, { passive: false });
461
+ }
462
+ function detachPanelWheel() {
463
+ contentRef.value?.removeEventListener("wheel", containOverlayWheel);
464
+ }
465
+ function attachOverlay() {
466
+ if (overlayBound || typeof window === "undefined") return;
467
+ overlayBound = true;
468
+ if (typeof document !== "undefined") document.addEventListener("pointerdown", onDocPointerDown);
469
+ window.addEventListener("resize", onWindowChange);
470
+ window.addEventListener("scroll", onWindowChange, true);
471
+ }
472
+ function detachOverlay() {
473
+ detachPanelWheel();
474
+ panelResize?.disconnect();
475
+ panelResize = void 0;
476
+ if (frame && typeof window !== "undefined") {
477
+ window.cancelAnimationFrame(frame);
478
+ frame = 0;
479
+ }
480
+ if (!overlayBound) return;
481
+ overlayBound = false;
482
+ if (typeof document !== "undefined") document.removeEventListener("pointerdown", onDocPointerDown);
483
+ if (typeof window !== "undefined") {
484
+ window.removeEventListener("resize", onWindowChange);
485
+ window.removeEventListener("scroll", onWindowChange, true);
486
+ }
487
+ }
488
+ async function runValidate(trigger = "submit") {
489
+ const formRules = formContext?.getFieldRules(props.name) ?? [];
490
+ const localRules = buildLocalInputRules({ required: props.required });
491
+ const rules = [...formRules, ...localRules];
492
+ if (!rules.length) {
493
+ autoMessage.value = "";
494
+ return {
495
+ valid: true,
496
+ name: props.name
497
+ };
498
+ }
499
+ const result = await runFormFieldRules(model.value, rules, { trigger });
500
+ autoMessage.value = result.message ?? "";
501
+ return {
502
+ valid: result.valid,
503
+ message: result.message,
504
+ name: props.name
505
+ };
506
+ }
507
+ useRsFormField(() => ({
508
+ get name() {
509
+ return props.name;
510
+ },
511
+ getValue: () => model.value,
512
+ setValue: setFieldValue,
513
+ validate: (trigger) => runValidate(trigger ?? "submit"),
514
+ clearValidation,
515
+ setError: (message) => {
516
+ autoMessage.value = message;
517
+ }
518
+ }));
519
+ __expose({
520
+ setValue: setFieldValue,
521
+ clearValidation,
522
+ setError: (message) => {
523
+ autoMessage.value = message;
524
+ },
525
+ validate: runValidate,
526
+ focus,
527
+ blur
248
528
  });
529
+ watch(open, (isOpen) => {
530
+ const skipEvent = !openWatchReady;
531
+ openWatchReady = true;
532
+ if (typeof document === "undefined" || typeof window === "undefined") return;
533
+ if (isOpen) {
534
+ if (!canInteract.value) {
535
+ open.value = false;
536
+ return;
537
+ }
538
+ syncDraftFromModel();
539
+ syncPanelTheme();
540
+ attachOverlay();
541
+ nextTick(async () => {
542
+ requestPlace();
543
+ attachPanelObserver();
544
+ attachPanelWheel();
545
+ if (!props.range) {
546
+ await nextTick();
547
+ columnsRef.value?.scrollToSelectionAfterPaint();
548
+ }
549
+ });
550
+ if (!skipEvent) emit("openChange", true);
551
+ return;
552
+ }
553
+ detachOverlay();
554
+ if (!skipEvent) {
555
+ emit("openChange", false);
556
+ if (props.name) runValidate("change");
557
+ }
558
+ }, { immediate: true });
559
+ watch(resolvedDisabled, (disabled) => {
560
+ if (disabled && open.value) open.value = false;
561
+ });
562
+ onBeforeUnmount(detachOverlay);
249
563
  return (_ctx, _cache) => {
250
564
  const _component_RsTimePicker = resolveComponent("RsTimePicker", true);
251
- return openBlock(), createElementBlock("div", { class: normalizeClass([
252
- __props.embedded ? "rs-time-picker-embedded" : "rs-field",
253
- `rs-time-picker--${unref(resolvedSize)}`,
254
- !__props.embedded && `rs-field--label-${__props.labelPosition}`
255
- ]) }, [
256
- !__props.embedded && __props.label ? (openBlock(), createElementBlock("span", _hoisted_1, [__props.labelPosition === "left" ? (openBlock(), createElementBlock("label", {
565
+ return openBlock(), createElementBlock("div", {
566
+ ref_key: "rootRef",
567
+ ref: rootRef,
568
+ class: normalizeClass([
569
+ __props.embedded ? "rs-time-picker-embedded" : "rs-field",
570
+ `rs-time-picker--${unref(resolvedSize)}`,
571
+ !__props.embedded && `rs-field--label-${__props.labelPosition}`,
572
+ { "rs-time-picker-wrap--clearable": showClear.value }
573
+ ]),
574
+ style: normalizeStyle(rootStyle.value)
575
+ }, [
576
+ !__props.embedded && __props.label ? (openBlock(), createElementBlock("label", {
577
+ key: 0,
578
+ class: "rs-field__label",
579
+ for: triggerId.value
580
+ }, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_2, "*")) : createCommentVNode("", true)], 8, _hoisted_1)) : createCommentVNode("", true),
581
+ createElementVNode("div", _hoisted_3, [createElementVNode("button", mergeProps(__props.embedded ? void 0 : unref(attrs), {
582
+ id: __props.embedded ? void 0 : triggerId.value,
583
+ ref_key: "triggerRef",
584
+ ref: triggerRef,
585
+ type: "button",
586
+ class: ["rs-time-picker__trigger", {
587
+ "rs-time-picker__trigger--placeholder": isEmpty.value,
588
+ "rs-time-picker__trigger--embedded": __props.embedded,
589
+ "rs-time-picker__trigger--invalid": !__props.embedded && isInvalid.value
590
+ }],
591
+ disabled: resolvedDisabled.value,
592
+ "aria-invalid": !__props.embedded && isInvalid.value ? true : void 0,
593
+ "aria-label": __props.ariaLabel,
594
+ "aria-haspopup": "dialog",
595
+ "aria-expanded": open.value ? "true" : "false",
596
+ "aria-controls": open.value ? unref(panelId) : void 0,
597
+ "aria-readonly": __props.readonly || void 0,
598
+ onClick: toggleOpen,
599
+ onKeydown: onTriggerKeydown,
600
+ onFocus: _cache[0] || (_cache[0] = ($event) => emit("focus")),
601
+ onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur"))
602
+ }), [createElementVNode("span", _hoisted_5, [!__props.embedded ? (openBlock(), createBlock(RsIcon_default, {
603
+ key: 0,
604
+ name: "clock",
605
+ size: triggerIconSize.value,
606
+ class: "rs-time-picker__icon",
607
+ "aria-hidden": "true"
608
+ }, null, 8, ["size"])) : createCommentVNode("", true), createElementVNode("span", _hoisted_6, toDisplayString(displayValue.value), 1)]), createVNode(RsIcon_default, {
609
+ name: "chevron-down",
610
+ size: triggerIconSize.value,
611
+ class: "rs-time-picker__chevron",
612
+ "aria-hidden": "true"
613
+ }, null, 8, ["size"])], 16, _hoisted_4), showClear.value ? (openBlock(), createBlock(RsButton_default, {
614
+ key: 0,
615
+ class: "rs-time-picker__clear",
616
+ variant: "text",
617
+ bordered: false,
618
+ size: "ssm",
619
+ radius: "full",
620
+ icon: "x",
621
+ "icon-size": clearIconSize.value,
622
+ "icon-only": "",
623
+ "aria-label": __props.range ? unref(t)("timePicker.rangeClear") : unref(t)("timePicker.clear"),
624
+ onPointerdown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"])),
625
+ onClick: withModifiers(clearSelection, ["stop"])
626
+ }, null, 8, ["icon-size", "aria-label"])) : createCommentVNode("", true)]),
627
+ (openBlock(), createBlock(Teleport, { to: portalTarget.value }, [open.value && canInteract.value ? (openBlock(), createElementBlock("div", {
257
628
  key: 0,
258
- for: unref(fieldId)
259
- }, 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),
260
- createElementVNode("div", _hoisted_4, [createVNode(unref(PopoverRoot), {
261
- open: open.value,
262
- "onUpdate:open": _cache[3] || (_cache[3] = ($event) => open.value = $event),
263
- modal: !__props.embedded
264
- }, {
265
- default: withCtx(() => [createVNode(unref(PopoverTrigger), mergeProps(__props.embedded ? void 0 : unref(attrs), {
266
- id: __props.embedded ? void 0 : triggerId.value,
629
+ id: unref(panelId),
630
+ ref_key: "contentRef",
631
+ ref: contentRef,
632
+ class: normalizeClass(["rs-time-picker__content", {
633
+ "rs-time-picker__content--range": __props.range && !__props.embedded,
634
+ "rs-time-picker__content--embedded": __props.embedded
635
+ }]),
636
+ "data-placement": popup.value.placement,
637
+ "data-rs-theme": panelTheme.value,
638
+ style: normalizeStyle(panelStyle.value),
639
+ role: "dialog",
640
+ "aria-label": __props.label || __props.ariaLabel || (__props.range ? unref(t)("timePicker.rangePlaceholder") : unref(t)("timePicker.placeholder"))
641
+ }, [createElementVNode("div", _hoisted_8, [__props.range ? (openBlock(), createElementBlock("div", _hoisted_9, [createElementVNode("section", _hoisted_10, [createElementVNode("span", _hoisted_11, toDisplayString(unref(t)("timePicker.rangeStart")), 1), createVNode(_component_RsTimePicker, {
642
+ modelValue: draftStartTime.value,
643
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => draftStartTime.value = $event),
644
+ embedded: "",
645
+ size: unref(resolvedSize),
646
+ radius: unref(resolvedRadius),
647
+ "with-seconds": __props.withSeconds,
648
+ "hour-cycle": __props.hourCycle,
649
+ "minute-step": __props.minuteStep,
650
+ "min-time": __props.minTime,
651
+ "max-time": startMaxTime.value,
652
+ disabled: resolvedDisabled.value,
653
+ "disabled-time": __props.disabledTime
654
+ }, null, 8, [
655
+ "modelValue",
656
+ "size",
657
+ "radius",
658
+ "with-seconds",
659
+ "hour-cycle",
660
+ "minute-step",
661
+ "min-time",
662
+ "max-time",
663
+ "disabled",
664
+ "disabled-time"
665
+ ])]), createElementVNode("section", _hoisted_12, [createElementVNode("span", _hoisted_13, toDisplayString(unref(t)("timePicker.rangeEnd")), 1), createVNode(_component_RsTimePicker, {
666
+ modelValue: draftEndTime.value,
667
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => draftEndTime.value = $event),
668
+ embedded: "",
669
+ size: unref(resolvedSize),
670
+ radius: unref(resolvedRadius),
671
+ "with-seconds": __props.withSeconds,
672
+ "hour-cycle": __props.hourCycle,
673
+ "minute-step": __props.minuteStep,
674
+ "min-time": endMinTime.value,
675
+ "max-time": __props.maxTime,
676
+ disabled: resolvedDisabled.value,
677
+ "disabled-time": __props.disabledTime
678
+ }, null, 8, [
679
+ "modelValue",
680
+ "size",
681
+ "radius",
682
+ "with-seconds",
683
+ "hour-cycle",
684
+ "minute-step",
685
+ "min-time",
686
+ "max-time",
687
+ "disabled",
688
+ "disabled-time"
689
+ ])])])) : (openBlock(), createBlock(RsTimePickerColumns_default, {
690
+ key: 1,
691
+ ref_key: "columnsRef",
692
+ ref: columnsRef,
693
+ modelValue: draftTime.value,
694
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => draftTime.value = $event),
695
+ second: __props.withSeconds,
696
+ size: unref(resolvedSize),
697
+ disabled: resolvedDisabled.value,
698
+ "hour-cycle": __props.hourCycle,
699
+ "minute-step": __props.minuteStep,
700
+ "is-unit-disabled": isUnitDisabled
701
+ }, null, 8, [
702
+ "modelValue",
703
+ "second",
704
+ "size",
705
+ "disabled",
706
+ "hour-cycle",
707
+ "minute-step"
708
+ ])), createElementVNode("footer", _hoisted_14, [createElementVNode("div", _hoisted_15, [__props.shortcuts?.length ? (openBlock(), createElementBlock("div", _hoisted_16, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.shortcuts, (item, index) => {
709
+ return openBlock(), createElementBlock("button", {
710
+ key: `${item.label}-${index}`,
267
711
  type: "button",
268
- class: ["rs-time-picker__trigger", {
269
- "rs-time-picker__trigger--placeholder": isEmpty.value,
270
- "rs-time-picker__trigger--embedded": __props.embedded,
271
- "rs-time-picker__trigger--invalid": !__props.embedded && isInvalid.value
272
- }],
273
- disabled: __props.disabled,
274
- "aria-invalid": !__props.embedded && isInvalid.value ? true : void 0
275
- }), {
276
- default: withCtx(() => [createElementVNode("span", _hoisted_5, [!__props.embedded ? (openBlock(), createBlock(RsIcon_default, {
277
- key: 0,
278
- name: "clock",
279
- size: triggerIconSize.value,
280
- class: "rs-time-picker__icon"
281
- }, null, 8, ["size"])) : createCommentVNode("", true), createElementVNode("span", _hoisted_6, toDisplayString(displayValue.value), 1)]), createVNode(RsIcon_default, {
282
- name: "chevron-down",
283
- size: triggerIconSize.value,
284
- class: "rs-time-picker__chevron"
285
- }, null, 8, ["size"])]),
286
- _: 1
287
- }, 16, [
288
- "id",
289
- "class",
290
- "disabled",
291
- "aria-invalid"
292
- ]), createVNode(unref(PopoverPortal), null, {
293
- default: withCtx(() => [createVNode(unref(PopoverContent), {
294
- class: normalizeClass(["rs-time-picker__content", {
295
- "rs-time-picker__content--range": __props.range && !__props.embedded,
296
- "rs-time-picker__content--embedded": __props.embedded
297
- }]),
298
- "side-offset": 6,
299
- align: "start"
300
- }, {
301
- default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_7, [__props.range ? (openBlock(), createElementBlock("div", _hoisted_8, [createElementVNode("section", _hoisted_9, [createElementVNode("span", _hoisted_10, toDisplayString(unref(t)("timePicker.rangeStart")), 1), createVNode(_component_RsTimePicker, {
302
- modelValue: draftStartTime.value,
303
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => draftStartTime.value = $event),
304
- embedded: "",
305
- size: unref(resolvedSize),
306
- "with-seconds": __props.withSeconds,
307
- "min-time": __props.minTime,
308
- "max-time": startMaxTime.value,
309
- disabled: __props.disabled
310
- }, null, 8, [
311
- "modelValue",
312
- "size",
313
- "with-seconds",
314
- "min-time",
315
- "max-time",
316
- "disabled"
317
- ])]), createElementVNode("section", _hoisted_11, [createElementVNode("span", _hoisted_12, toDisplayString(unref(t)("timePicker.rangeEnd")), 1), createVNode(_component_RsTimePicker, {
318
- modelValue: draftEndTime.value,
319
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => draftEndTime.value = $event),
320
- embedded: "",
321
- size: unref(resolvedSize),
322
- "with-seconds": __props.withSeconds,
323
- "min-time": endMinTime.value,
324
- "max-time": __props.maxTime,
325
- disabled: __props.disabled
326
- }, null, 8, [
327
- "modelValue",
328
- "size",
329
- "with-seconds",
330
- "min-time",
331
- "max-time",
332
- "disabled"
333
- ])])])) : (openBlock(), createBlock(RsTimePickerColumns_default, {
334
- key: 1,
335
- ref_key: "columnsRef",
336
- ref: columnsRef,
337
- modelValue: draftTime.value,
338
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => draftTime.value = $event),
339
- second: __props.withSeconds,
340
- size: unref(resolvedSize),
341
- disabled: __props.disabled,
342
- "is-unit-disabled": isUnitDisabled
343
- }, null, 8, [
344
- "modelValue",
345
- "second",
346
- "size",
347
- "disabled"
348
- ])), createElementVNode("footer", _hoisted_13, [createElementVNode("button", {
349
- type: "button",
350
- class: "rs-time-picker__link",
351
- onClick: selectPreset
352
- }, toDisplayString(__props.range ? unref(t)("timePicker.rangePreset") : unref(t)("timePicker.now")), 1), createElementVNode("div", _hoisted_14, [createElementVNode("button", {
353
- type: "button",
354
- class: "rs-time-picker__ghost",
355
- onClick: clearSelection
356
- }, toDisplayString(__props.range ? unref(t)("timePicker.rangeClear") : unref(t)("timePicker.clear")), 1), createElementVNode("button", {
357
- type: "button",
358
- class: "rs-time-picker__confirm",
359
- disabled: __props.range && (!draftStartTime.value || !draftEndTime.value),
360
- onClick: confirmSelection
361
- }, toDisplayString(unref(t)("timePicker.confirm")), 9, _hoisted_15)])])])) : createCommentVNode("", true)]),
362
- _: 1
363
- }, 8, ["class"])]),
364
- _: 1
365
- })]),
366
- _: 1
367
- }, 8, ["open", "modal"])]),
368
- !__props.embedded && __props.hint ? (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
369
- ], 2);
712
+ class: "rs-time-picker__shortcut",
713
+ disabled: resolvedDisabled.value,
714
+ onClick: ($event) => applyShortcut(item)
715
+ }, toDisplayString(item.label), 9, _hoisted_17);
716
+ }), 128))])) : (openBlock(), createElementBlock("button", {
717
+ key: 1,
718
+ type: "button",
719
+ class: "rs-time-picker__link",
720
+ onClick: selectPreset
721
+ }, toDisplayString(__props.range ? unref(t)("timePicker.rangePreset") : unref(t)("timePicker.now")), 1))]), createElementVNode("div", _hoisted_18, [createElementVNode("button", {
722
+ type: "button",
723
+ class: "rs-time-picker__ghost",
724
+ onClick: clearSelection
725
+ }, toDisplayString(__props.range ? unref(t)("timePicker.rangeClear") : unref(t)("timePicker.clear")), 1), createElementVNode("button", {
726
+ type: "button",
727
+ class: "rs-time-picker__confirm",
728
+ disabled: __props.range && (!draftStartTime.value || !draftEndTime.value),
729
+ onClick: confirmSelection
730
+ }, toDisplayString(unref(t)("timePicker.confirm")), 9, _hoisted_19)])])])], 14, _hoisted_7)) : createCommentVNode("", true)], 8, ["to"])),
731
+ visibleMessage.value ? (openBlock(), createElementBlock("p", _hoisted_20, toDisplayString(visibleMessage.value), 1)) : createCommentVNode("", true),
732
+ !__props.embedded && __props.hint ? (openBlock(), createElementBlock("span", _hoisted_21, toDisplayString(__props.hint), 1)) : createCommentVNode("", true)
733
+ ], 6);
370
734
  };
371
735
  }
372
736
  });