@xihan-ui/vue 2.0.0 → 3.0.0

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 (669) hide show
  1. package/CHANGELOG.md +1593 -0
  2. package/README.md +1 -1
  3. package/dist/components/accordion/accordion.d.ts +6 -0
  4. package/dist/components/accordion/accordion.d.ts.map +1 -1
  5. package/dist/components/accordion/accordion.js +4 -2
  6. package/dist/components/accordion/accordion.js.map +1 -1
  7. package/dist/components/alert/alert.d.ts +9 -0
  8. package/dist/components/alert/alert.d.ts.map +1 -1
  9. package/dist/components/alert/alert.js +4 -0
  10. package/dist/components/alert/alert.js.map +1 -1
  11. package/dist/components/anchor/anchor.d.ts +2 -2
  12. package/dist/components/anchor/anchor.d.ts.map +1 -1
  13. package/dist/components/anchor/anchor.js +2 -2
  14. package/dist/components/anchor/anchor.js.map +1 -1
  15. package/dist/components/anchor/use-anchor.d.ts +2 -2
  16. package/dist/components/anchor/use-anchor.js +3 -3
  17. package/dist/components/anchor/use-anchor.js.map +1 -1
  18. package/dist/components/approval/approval.d.ts +8 -1
  19. package/dist/components/approval/approval.d.ts.map +1 -1
  20. package/dist/components/approval/approval.js +10 -1
  21. package/dist/components/approval/approval.js.map +1 -1
  22. package/dist/components/avatar/avatar.d.ts +8 -0
  23. package/dist/components/avatar/avatar.d.ts.map +1 -1
  24. package/dist/components/avatar/avatar.js +3 -1
  25. package/dist/components/avatar/avatar.js.map +1 -1
  26. package/dist/components/avatar/use-avatar.d.ts.map +1 -1
  27. package/dist/components/avatar/use-avatar.js +3 -1
  28. package/dist/components/avatar/use-avatar.js.map +1 -1
  29. package/dist/components/avatar-group/avatar-group.d.ts.map +1 -1
  30. package/dist/components/avatar-group/avatar-group.js +2 -1
  31. package/dist/components/avatar-group/avatar-group.js.map +1 -1
  32. package/dist/components/back-top/use-back-top.d.ts.map +1 -1
  33. package/dist/components/back-top/use-back-top.js +3 -1
  34. package/dist/components/back-top/use-back-top.js.map +1 -1
  35. package/dist/components/badge/badge.d.ts +22 -0
  36. package/dist/components/badge/badge.d.ts.map +1 -1
  37. package/dist/components/badge/badge.js +11 -2
  38. package/dist/components/badge/badge.js.map +1 -1
  39. package/dist/components/breadcrumb/breadcrumb.d.ts +11 -1
  40. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  41. package/dist/components/breadcrumb/breadcrumb.js +28 -9
  42. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  43. package/dist/components/calendar-picker/calendar-picker.d.ts +16 -0
  44. package/dist/components/calendar-picker/calendar-picker.d.ts.map +1 -1
  45. package/dist/components/calendar-picker/calendar-picker.js +4 -0
  46. package/dist/components/calendar-picker/calendar-picker.js.map +1 -1
  47. package/dist/components/calendar-range-picker/calendar-range-picker.d.ts +16 -0
  48. package/dist/components/calendar-range-picker/calendar-range-picker.d.ts.map +1 -1
  49. package/dist/components/calendar-range-picker/calendar-range-picker.js +4 -0
  50. package/dist/components/calendar-range-picker/calendar-range-picker.js.map +1 -1
  51. package/dist/components/card/card.d.ts +37 -2
  52. package/dist/components/card/card.d.ts.map +1 -1
  53. package/dist/components/card/card.js +42 -3
  54. package/dist/components/card/card.js.map +1 -1
  55. package/dist/components/carousel/carousel.d.ts +7 -1
  56. package/dist/components/carousel/carousel.d.ts.map +1 -1
  57. package/dist/components/carousel/carousel.js +1 -0
  58. package/dist/components/carousel/carousel.js.map +1 -1
  59. package/dist/components/carousel/use-carousel.d.ts.map +1 -1
  60. package/dist/components/carousel/use-carousel.js +3 -1
  61. package/dist/components/carousel/use-carousel.js.map +1 -1
  62. package/dist/components/cartesian-chart/cartesian-chart.d.ts +262 -0
  63. package/dist/components/cartesian-chart/cartesian-chart.d.ts.map +1 -0
  64. package/dist/components/cartesian-chart/cartesian-chart.js +293 -0
  65. package/dist/components/cartesian-chart/cartesian-chart.js.map +1 -0
  66. package/dist/components/cartesian-chart/context.js +15 -0
  67. package/dist/components/cartesian-chart/context.js.map +1 -0
  68. package/dist/components/cartesian-chart/use-cartesian-chart.d.ts +21 -0
  69. package/dist/components/cartesian-chart/use-cartesian-chart.d.ts.map +1 -0
  70. package/dist/components/cartesian-chart/use-cartesian-chart.js +29 -0
  71. package/dist/components/cartesian-chart/use-cartesian-chart.js.map +1 -0
  72. package/dist/components/cascader/cascader.d.ts +72 -3
  73. package/dist/components/cascader/cascader.d.ts.map +1 -1
  74. package/dist/components/cascader/cascader.js +125 -7
  75. package/dist/components/cascader/cascader.js.map +1 -1
  76. package/dist/components/cascader/context.js +10 -1
  77. package/dist/components/cascader/context.js.map +1 -1
  78. package/dist/components/cascader/use-cascader.d.ts +2 -1
  79. package/dist/components/cascader/use-cascader.d.ts.map +1 -1
  80. package/dist/components/cascader/use-cascader.js +4 -1
  81. package/dist/components/cascader/use-cascader.js.map +1 -1
  82. package/dist/components/checkbox/checkbox.js +1 -1
  83. package/dist/components/checkbox-group/checkbox-group.d.ts +24 -3
  84. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -1
  85. package/dist/components/checkbox-group/checkbox-group.js +20 -3
  86. package/dist/components/checkbox-group/checkbox-group.js.map +1 -1
  87. package/dist/components/citation/citation.d.ts +211 -0
  88. package/dist/components/citation/citation.d.ts.map +1 -0
  89. package/dist/components/citation/citation.js +222 -0
  90. package/dist/components/citation/citation.js.map +1 -0
  91. package/dist/components/citation/context.d.ts +11 -0
  92. package/dist/components/citation/context.d.ts.map +1 -0
  93. package/dist/components/citation/context.js +24 -0
  94. package/dist/components/citation/context.js.map +1 -0
  95. package/dist/components/citation/use-citation.d.ts +19 -0
  96. package/dist/components/citation/use-citation.d.ts.map +1 -0
  97. package/dist/components/citation/use-citation.js +51 -0
  98. package/dist/components/citation/use-citation.js.map +1 -0
  99. package/dist/components/code-view/code-view.d.ts +21 -0
  100. package/dist/components/code-view/code-view.d.ts.map +1 -1
  101. package/dist/components/code-view/code-view.js +23 -4
  102. package/dist/components/code-view/code-view.js.map +1 -1
  103. package/dist/components/collapsible/collapsible.d.ts +6 -0
  104. package/dist/components/collapsible/collapsible.d.ts.map +1 -1
  105. package/dist/components/collapsible/collapsible.js +4 -2
  106. package/dist/components/collapsible/collapsible.js.map +1 -1
  107. package/dist/components/color-field/color-field.d.ts +2 -2
  108. package/dist/components/color-field/color-field.js +1 -1
  109. package/dist/components/color-field/color-field.js.map +1 -1
  110. package/dist/components/color-picker/color-picker.d.ts +41 -3
  111. package/dist/components/color-picker/color-picker.d.ts.map +1 -1
  112. package/dist/components/color-picker/color-picker.js +33 -4
  113. package/dist/components/color-picker/color-picker.js.map +1 -1
  114. package/dist/components/color-picker/use-color-picker.d.ts +3 -1
  115. package/dist/components/color-picker/use-color-picker.d.ts.map +1 -1
  116. package/dist/components/color-picker/use-color-picker.js +8 -2
  117. package/dist/components/color-picker/use-color-picker.js.map +1 -1
  118. package/dist/components/color-slider/color-slider.d.ts +2 -2
  119. package/dist/components/color-slider/color-slider.js +1 -1
  120. package/dist/components/color-slider/color-slider.js.map +1 -1
  121. package/dist/components/combobox/combobox.d.ts +66 -4
  122. package/dist/components/combobox/combobox.d.ts.map +1 -1
  123. package/dist/components/combobox/combobox.js +107 -6
  124. package/dist/components/combobox/combobox.js.map +1 -1
  125. package/dist/components/combobox/context.js +10 -1
  126. package/dist/components/combobox/context.js.map +1 -1
  127. package/dist/components/command/command.d.ts +23 -2
  128. package/dist/components/command/command.d.ts.map +1 -1
  129. package/dist/components/command/command.js +48 -6
  130. package/dist/components/command/command.js.map +1 -1
  131. package/dist/components/command/use-command.d.ts.map +1 -1
  132. package/dist/components/command/use-command.js +9 -30
  133. package/dist/components/command/use-command.js.map +1 -1
  134. package/dist/components/context-menu/context-menu.d.ts +63 -18
  135. package/dist/components/context-menu/context-menu.d.ts.map +1 -1
  136. package/dist/components/context-menu/context-menu.js +141 -57
  137. package/dist/components/context-menu/context-menu.js.map +1 -1
  138. package/dist/components/context-menu/context.js +1 -1
  139. package/dist/components/context-menu/context.js.map +1 -1
  140. package/dist/components/context-menu/use-context-menu.d.ts +1 -1
  141. package/dist/components/context-menu/use-context-menu.d.ts.map +1 -1
  142. package/dist/components/context-menu/use-context-menu.js +4 -2
  143. package/dist/components/context-menu/use-context-menu.js.map +1 -1
  144. package/dist/components/date-field/date-field.d.ts +9 -1
  145. package/dist/components/date-field/date-field.d.ts.map +1 -1
  146. package/dist/components/date-field/date-field.js +2 -0
  147. package/dist/components/date-field/date-field.js.map +1 -1
  148. package/dist/components/date-picker/date-picker.d.ts +41 -1
  149. package/dist/components/date-picker/date-picker.d.ts.map +1 -1
  150. package/dist/components/date-picker/date-picker.js +16 -3
  151. package/dist/components/date-picker/date-picker.js.map +1 -1
  152. package/dist/components/date-range-picker/date-range-picker.d.ts +77 -2
  153. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  154. package/dist/components/date-range-picker/date-range-picker.js +102 -5
  155. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  156. package/dist/components/date-range-picker/use-date-range-picker.d.ts +1 -1
  157. package/dist/components/date-range-picker/use-date-range-picker.js.map +1 -1
  158. package/dist/components/descriptions/descriptions.d.ts +38 -7
  159. package/dist/components/descriptions/descriptions.d.ts.map +1 -1
  160. package/dist/components/descriptions/descriptions.js +38 -4
  161. package/dist/components/descriptions/descriptions.js.map +1 -1
  162. package/dist/components/dialog/dialog.d.ts +16 -1
  163. package/dist/components/dialog/dialog.d.ts.map +1 -1
  164. package/dist/components/dialog/dialog.js +15 -2
  165. package/dist/components/dialog/dialog.js.map +1 -1
  166. package/dist/components/dialog/use-dialog.d.ts.map +1 -1
  167. package/dist/components/dialog/use-dialog.js +9 -27
  168. package/dist/components/dialog/use-dialog.js.map +1 -1
  169. package/dist/components/diff-view/diff-view.d.ts +22 -2
  170. package/dist/components/diff-view/diff-view.d.ts.map +1 -1
  171. package/dist/components/diff-view/diff-view.js +37 -14
  172. package/dist/components/diff-view/diff-view.js.map +1 -1
  173. package/dist/components/diff-view/use-diff-view.d.ts +7 -2
  174. package/dist/components/diff-view/use-diff-view.d.ts.map +1 -1
  175. package/dist/components/diff-view/use-diff-view.js +12 -5
  176. package/dist/components/diff-view/use-diff-view.js.map +1 -1
  177. package/dist/components/drawer/drawer.d.ts +46 -1
  178. package/dist/components/drawer/drawer.d.ts.map +1 -1
  179. package/dist/components/drawer/drawer.js +28 -4
  180. package/dist/components/drawer/drawer.js.map +1 -1
  181. package/dist/components/drawer/use-drawer.d.ts +1 -1
  182. package/dist/components/drawer/use-drawer.d.ts.map +1 -1
  183. package/dist/components/drawer/use-drawer.js +12 -29
  184. package/dist/components/drawer/use-drawer.js.map +1 -1
  185. package/dist/components/empty-state/empty-state.js +4 -1
  186. package/dist/components/empty-state/empty-state.js.map +1 -1
  187. package/dist/components/empty-state/use-empty-state.js +12 -3
  188. package/dist/components/empty-state/use-empty-state.js.map +1 -1
  189. package/dist/components/field/field.js +1 -1
  190. package/dist/components/field-array/field-array.d.ts +1 -1
  191. package/dist/components/field-array/field-array.d.ts.map +1 -1
  192. package/dist/components/field-array/field-array.js +5 -1
  193. package/dist/components/field-array/field-array.js.map +1 -1
  194. package/dist/components/field-array/use-field-array.d.ts +3 -1
  195. package/dist/components/field-array/use-field-array.d.ts.map +1 -1
  196. package/dist/components/field-array/use-field-array.js +5 -2
  197. package/dist/components/field-array/use-field-array.js.map +1 -1
  198. package/dist/components/file-upload/file-upload.d.ts +24 -1
  199. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  200. package/dist/components/file-upload/file-upload.js +12 -2
  201. package/dist/components/file-upload/file-upload.js.map +1 -1
  202. package/dist/components/file-upload/use-file-upload.d.ts +1 -1
  203. package/dist/components/file-upload/use-file-upload.d.ts.map +1 -1
  204. package/dist/components/file-upload/use-file-upload.js.map +1 -1
  205. package/dist/components/flex/flex.d.ts +1 -1
  206. package/dist/components/flex/flex.d.ts.map +1 -1
  207. package/dist/components/flex/flex.js +4 -4
  208. package/dist/components/flex/flex.js.map +1 -1
  209. package/dist/components/form/form.d.ts +18 -4
  210. package/dist/components/form/form.d.ts.map +1 -1
  211. package/dist/components/form/form.js +21 -7
  212. package/dist/components/form/form.js.map +1 -1
  213. package/dist/components/form/use-form.d.ts +6 -0
  214. package/dist/components/form/use-form.d.ts.map +1 -1
  215. package/dist/components/form/use-form.js +4 -0
  216. package/dist/components/form/use-form.js.map +1 -1
  217. package/dist/components/funnel-chart/context.js +15 -0
  218. package/dist/components/funnel-chart/context.js.map +1 -0
  219. package/dist/components/funnel-chart/funnel-chart.d.ts +175 -0
  220. package/dist/components/funnel-chart/funnel-chart.d.ts.map +1 -0
  221. package/dist/components/funnel-chart/funnel-chart.js +188 -0
  222. package/dist/components/funnel-chart/funnel-chart.js.map +1 -0
  223. package/dist/components/funnel-chart/use-funnel-chart.d.ts +19 -0
  224. package/dist/components/funnel-chart/use-funnel-chart.d.ts.map +1 -0
  225. package/dist/components/funnel-chart/use-funnel-chart.js +26 -0
  226. package/dist/components/funnel-chart/use-funnel-chart.js.map +1 -0
  227. package/dist/components/graph-chart/context.js +15 -0
  228. package/dist/components/graph-chart/context.js.map +1 -0
  229. package/dist/components/graph-chart/graph-chart.d.ts +194 -0
  230. package/dist/components/graph-chart/graph-chart.d.ts.map +1 -0
  231. package/dist/components/graph-chart/graph-chart.js +219 -0
  232. package/dist/components/graph-chart/graph-chart.js.map +1 -0
  233. package/dist/components/graph-chart/use-graph-chart.d.ts +19 -0
  234. package/dist/components/graph-chart/use-graph-chart.d.ts.map +1 -0
  235. package/dist/components/graph-chart/use-graph-chart.js +26 -0
  236. package/dist/components/graph-chart/use-graph-chart.js.map +1 -0
  237. package/dist/components/grid/grid.d.ts +7 -0
  238. package/dist/components/grid/grid.d.ts.map +1 -1
  239. package/dist/components/grid/grid.js +7 -1
  240. package/dist/components/grid/grid.js.map +1 -1
  241. package/dist/components/grid-list/context.d.ts +9 -0
  242. package/dist/components/grid-list/context.d.ts.map +1 -0
  243. package/dist/components/grid-list/context.js +24 -0
  244. package/dist/components/grid-list/context.js.map +1 -0
  245. package/dist/components/grid-list/grid-list.d.ts +149 -0
  246. package/dist/components/grid-list/grid-list.d.ts.map +1 -0
  247. package/dist/components/grid-list/grid-list.js +118 -0
  248. package/dist/components/grid-list/grid-list.js.map +1 -0
  249. package/dist/components/grid-list/use-grid-list.d.ts +12 -0
  250. package/dist/components/grid-list/use-grid-list.d.ts.map +1 -0
  251. package/dist/components/grid-list/use-grid-list.js +20 -0
  252. package/dist/components/grid-list/use-grid-list.js.map +1 -0
  253. package/dist/components/heatmap/heatmap.d.ts +45 -4
  254. package/dist/components/heatmap/heatmap.d.ts.map +1 -1
  255. package/dist/components/heatmap/heatmap.js +40 -14
  256. package/dist/components/heatmap/heatmap.js.map +1 -1
  257. package/dist/components/heatmap/use-heatmap.d.ts +4 -2
  258. package/dist/components/heatmap/use-heatmap.d.ts.map +1 -1
  259. package/dist/components/heatmap/use-heatmap.js +8 -4
  260. package/dist/components/heatmap/use-heatmap.js.map +1 -1
  261. package/dist/components/hierarchy-chart/context.js +15 -0
  262. package/dist/components/hierarchy-chart/context.js.map +1 -0
  263. package/dist/components/hierarchy-chart/hierarchy-chart.d.ts +201 -0
  264. package/dist/components/hierarchy-chart/hierarchy-chart.d.ts.map +1 -0
  265. package/dist/components/hierarchy-chart/hierarchy-chart.js +228 -0
  266. package/dist/components/hierarchy-chart/hierarchy-chart.js.map +1 -0
  267. package/dist/components/hierarchy-chart/use-hierarchy-chart.d.ts +19 -0
  268. package/dist/components/hierarchy-chart/use-hierarchy-chart.d.ts.map +1 -0
  269. package/dist/components/hierarchy-chart/use-hierarchy-chart.js +26 -0
  270. package/dist/components/hierarchy-chart/use-hierarchy-chart.js.map +1 -0
  271. package/dist/components/hover-card/hover-card.js +2 -2
  272. package/dist/components/icon/icon.d.ts +7 -1
  273. package/dist/components/icon/icon.d.ts.map +1 -1
  274. package/dist/components/icon/icon.js +1 -0
  275. package/dist/components/icon/icon.js.map +1 -1
  276. package/dist/components/image/use-image.d.ts.map +1 -1
  277. package/dist/components/image/use-image.js +3 -1
  278. package/dist/components/image/use-image.js.map +1 -1
  279. package/dist/components/image-cropper/image-cropper.d.ts +35 -4
  280. package/dist/components/image-cropper/image-cropper.d.ts.map +1 -1
  281. package/dist/components/image-cropper/image-cropper.js +34 -5
  282. package/dist/components/image-cropper/image-cropper.js.map +1 -1
  283. package/dist/components/image-cropper/use-image-cropper.d.ts +3 -1
  284. package/dist/components/image-cropper/use-image-cropper.d.ts.map +1 -1
  285. package/dist/components/image-cropper/use-image-cropper.js +4 -1
  286. package/dist/components/image-cropper/use-image-cropper.js.map +1 -1
  287. package/dist/components/image-viewer/image-viewer.js +1 -1
  288. package/dist/components/image-viewer/use-image-viewer.d.ts.map +1 -1
  289. package/dist/components/image-viewer/use-image-viewer.js +9 -27
  290. package/dist/components/image-viewer/use-image-viewer.js.map +1 -1
  291. package/dist/components/infinite-scroll/infinite-scroll.d.ts +9 -1
  292. package/dist/components/infinite-scroll/infinite-scroll.d.ts.map +1 -1
  293. package/dist/components/infinite-scroll/infinite-scroll.js +2 -0
  294. package/dist/components/infinite-scroll/infinite-scroll.js.map +1 -1
  295. package/dist/components/input-group/input-group.d.ts.map +1 -1
  296. package/dist/components/input-group/input-group.js +2 -1
  297. package/dist/components/input-group/input-group.js.map +1 -1
  298. package/dist/components/json-viewer/json-viewer.d.ts +17 -2
  299. package/dist/components/json-viewer/json-viewer.d.ts.map +1 -1
  300. package/dist/components/json-viewer/json-viewer.js +26 -8
  301. package/dist/components/json-viewer/json-viewer.js.map +1 -1
  302. package/dist/components/kbd/kbd.d.ts.map +1 -1
  303. package/dist/components/kbd/kbd.js +27 -10
  304. package/dist/components/kbd/kbd.js.map +1 -1
  305. package/dist/components/listbox/listbox.d.ts +25 -2
  306. package/dist/components/listbox/listbox.d.ts.map +1 -1
  307. package/dist/components/listbox/listbox.js +39 -4
  308. package/dist/components/listbox/listbox.js.map +1 -1
  309. package/dist/components/loading-bar/use-loading-bar.d.ts.map +1 -1
  310. package/dist/components/loading-bar/use-loading-bar.js +3 -1
  311. package/dist/components/loading-bar/use-loading-bar.js.map +1 -1
  312. package/dist/components/log/log.d.ts +41 -2
  313. package/dist/components/log/log.d.ts.map +1 -1
  314. package/dist/components/log/log.js +25 -3
  315. package/dist/components/log/log.js.map +1 -1
  316. package/dist/components/log/use-log.d.ts +1 -1
  317. package/dist/components/log/use-log.d.ts.map +1 -1
  318. package/dist/components/log/use-log.js +4 -1
  319. package/dist/components/log/use-log.js.map +1 -1
  320. package/dist/components/markdown-stream/markdown-stream.d.ts +22 -2
  321. package/dist/components/markdown-stream/markdown-stream.d.ts.map +1 -1
  322. package/dist/components/markdown-stream/markdown-stream.js +43 -4
  323. package/dist/components/markdown-stream/markdown-stream.js.map +1 -1
  324. package/dist/components/marquee/marquee.d.ts +68 -12
  325. package/dist/components/marquee/marquee.d.ts.map +1 -1
  326. package/dist/components/marquee/marquee.js +52 -7
  327. package/dist/components/marquee/marquee.js.map +1 -1
  328. package/dist/components/mention/mention.d.ts +43 -7
  329. package/dist/components/mention/mention.d.ts.map +1 -1
  330. package/dist/components/mention/mention.js +50 -8
  331. package/dist/components/mention/mention.js.map +1 -1
  332. package/dist/components/menu/context.js +1 -1
  333. package/dist/components/menu/context.js.map +1 -1
  334. package/dist/components/menu/menu.d.ts +92 -28
  335. package/dist/components/menu/menu.d.ts.map +1 -1
  336. package/dist/components/menu/menu.js +162 -54
  337. package/dist/components/menu/menu.js.map +1 -1
  338. package/dist/components/menu/use-menu.d.ts +1 -1
  339. package/dist/components/menu/use-menu.d.ts.map +1 -1
  340. package/dist/components/menu/use-menu.js +8 -6
  341. package/dist/components/menu/use-menu.js.map +1 -1
  342. package/dist/components/menubar/context.js +1 -1
  343. package/dist/components/menubar/context.js.map +1 -1
  344. package/dist/components/menubar/menubar.d.ts +52 -19
  345. package/dist/components/menubar/menubar.d.ts.map +1 -1
  346. package/dist/components/menubar/menubar.js +137 -56
  347. package/dist/components/menubar/menubar.js.map +1 -1
  348. package/dist/components/menubar/use-menubar.d.ts +1 -1
  349. package/dist/components/menubar/use-menubar.d.ts.map +1 -1
  350. package/dist/components/menubar/use-menubar.js +4 -2
  351. package/dist/components/menubar/use-menubar.js.map +1 -1
  352. package/dist/components/message-feed/message-feed.d.ts +13 -1
  353. package/dist/components/message-feed/message-feed.d.ts.map +1 -1
  354. package/dist/components/message-feed/message-feed.js +25 -1
  355. package/dist/components/message-feed/message-feed.js.map +1 -1
  356. package/dist/components/navigation-menu/navigation-menu.d.ts +58 -1
  357. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  358. package/dist/components/navigation-menu/navigation-menu.js +82 -10
  359. package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
  360. package/dist/components/notification/context.d.ts +5 -1
  361. package/dist/components/notification/context.d.ts.map +1 -1
  362. package/dist/components/notification/context.js.map +1 -1
  363. package/dist/components/notification/notification.d.ts +39 -23
  364. package/dist/components/notification/notification.d.ts.map +1 -1
  365. package/dist/components/notification/notification.js +27 -9
  366. package/dist/components/notification/notification.js.map +1 -1
  367. package/dist/components/notification/use-item-exit.js +22 -0
  368. package/dist/components/notification/use-item-exit.js.map +1 -0
  369. package/dist/components/notification/use-notification.d.ts +3 -3
  370. package/dist/components/notification/use-notification.d.ts.map +1 -1
  371. package/dist/components/notification/use-notification.js +20 -5
  372. package/dist/components/notification/use-notification.js.map +1 -1
  373. package/dist/components/number-animation/number-animation.d.ts +14 -2
  374. package/dist/components/number-animation/number-animation.d.ts.map +1 -1
  375. package/dist/components/number-animation/number-animation.js +5 -1
  376. package/dist/components/number-animation/number-animation.js.map +1 -1
  377. package/dist/components/number-field/number-field.d.ts +16 -1
  378. package/dist/components/number-field/number-field.d.ts.map +1 -1
  379. package/dist/components/number-field/number-field.js +6 -0
  380. package/dist/components/number-field/number-field.js.map +1 -1
  381. package/dist/components/page-header/page-header.d.ts.map +1 -1
  382. package/dist/components/page-header/page-header.js +2 -1
  383. package/dist/components/page-header/page-header.js.map +1 -1
  384. package/dist/components/pagination/pagination.d.ts +22 -2
  385. package/dist/components/pagination/pagination.d.ts.map +1 -1
  386. package/dist/components/pagination/pagination.js +22 -1
  387. package/dist/components/pagination/pagination.js.map +1 -1
  388. package/dist/components/pagination/use-pagination.js +1 -0
  389. package/dist/components/pagination/use-pagination.js.map +1 -1
  390. package/dist/components/pie-chart/context.js +15 -0
  391. package/dist/components/pie-chart/context.js.map +1 -0
  392. package/dist/components/pie-chart/pie-chart.d.ts +203 -0
  393. package/dist/components/pie-chart/pie-chart.d.ts.map +1 -0
  394. package/dist/components/pie-chart/pie-chart.js +236 -0
  395. package/dist/components/pie-chart/pie-chart.js.map +1 -0
  396. package/dist/components/pie-chart/use-pie-chart.d.ts +19 -0
  397. package/dist/components/pie-chart/use-pie-chart.d.ts.map +1 -0
  398. package/dist/components/pie-chart/use-pie-chart.js +26 -0
  399. package/dist/components/pie-chart/use-pie-chart.js.map +1 -0
  400. package/dist/components/popconfirm/popconfirm.js +2 -2
  401. package/dist/components/popover/popover.d.ts +11 -0
  402. package/dist/components/popover/popover.d.ts.map +1 -1
  403. package/dist/components/popover/popover.js +7 -2
  404. package/dist/components/popover/popover.js.map +1 -1
  405. package/dist/components/progress/progress.d.ts +63 -3
  406. package/dist/components/progress/progress.d.ts.map +1 -1
  407. package/dist/components/progress/progress.js +55 -3
  408. package/dist/components/progress/progress.js.map +1 -1
  409. package/dist/components/question-flow/question-flow.d.ts +40 -1
  410. package/dist/components/question-flow/question-flow.d.ts.map +1 -1
  411. package/dist/components/question-flow/question-flow.js +37 -1
  412. package/dist/components/question-flow/question-flow.js.map +1 -1
  413. package/dist/components/radar-chart/context.js +15 -0
  414. package/dist/components/radar-chart/context.js.map +1 -0
  415. package/dist/components/radar-chart/radar-chart.d.ts +189 -0
  416. package/dist/components/radar-chart/radar-chart.d.ts.map +1 -0
  417. package/dist/components/radar-chart/radar-chart.js +220 -0
  418. package/dist/components/radar-chart/radar-chart.js.map +1 -0
  419. package/dist/components/radar-chart/use-radar-chart.d.ts +19 -0
  420. package/dist/components/radar-chart/use-radar-chart.d.ts.map +1 -0
  421. package/dist/components/radar-chart/use-radar-chart.js +26 -0
  422. package/dist/components/radar-chart/use-radar-chart.js.map +1 -0
  423. package/dist/components/radio-group/radio-group.d.ts +37 -2
  424. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  425. package/dist/components/radio-group/radio-group.js +54 -8
  426. package/dist/components/radio-group/radio-group.js.map +1 -1
  427. package/dist/components/radio-group/use-radio-group.d.ts +3 -1
  428. package/dist/components/radio-group/use-radio-group.d.ts.map +1 -1
  429. package/dist/components/radio-group/use-radio-group.js +7 -3
  430. package/dist/components/radio-group/use-radio-group.js.map +1 -1
  431. package/dist/components/reasoning/reasoning.d.ts.map +1 -1
  432. package/dist/components/reasoning/reasoning.js +1 -0
  433. package/dist/components/reasoning/reasoning.js.map +1 -1
  434. package/dist/components/sankey-chart/context.js +15 -0
  435. package/dist/components/sankey-chart/context.js.map +1 -0
  436. package/dist/components/sankey-chart/sankey-chart.d.ts +161 -0
  437. package/dist/components/sankey-chart/sankey-chart.d.ts.map +1 -0
  438. package/dist/components/sankey-chart/sankey-chart.js +208 -0
  439. package/dist/components/sankey-chart/sankey-chart.js.map +1 -0
  440. package/dist/components/sankey-chart/use-sankey-chart.d.ts +19 -0
  441. package/dist/components/sankey-chart/use-sankey-chart.d.ts.map +1 -0
  442. package/dist/components/sankey-chart/use-sankey-chart.js +26 -0
  443. package/dist/components/sankey-chart/use-sankey-chart.js.map +1 -0
  444. package/dist/components/scroll-area/scroll-area.d.ts +13 -5
  445. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
  446. package/dist/components/scroll-area/scroll-area.js +17 -3
  447. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  448. package/dist/components/select/select.d.ts +25 -2
  449. package/dist/components/select/select.d.ts.map +1 -1
  450. package/dist/components/select/select.js +48 -6
  451. package/dist/components/select/select.js.map +1 -1
  452. package/dist/components/select/use-select.js +2 -1
  453. package/dist/components/select/use-select.js.map +1 -1
  454. package/dist/components/side-nav/context.js +17 -1
  455. package/dist/components/side-nav/context.js.map +1 -1
  456. package/dist/components/side-nav/side-nav.d.ts +51 -7
  457. package/dist/components/side-nav/side-nav.d.ts.map +1 -1
  458. package/dist/components/side-nav/side-nav.js +152 -13
  459. package/dist/components/side-nav/side-nav.js.map +1 -1
  460. package/dist/components/side-nav/use-side-nav.d.ts +4 -2
  461. package/dist/components/side-nav/use-side-nav.d.ts.map +1 -1
  462. package/dist/components/side-nav/use-side-nav.js +5 -3
  463. package/dist/components/side-nav/use-side-nav.js.map +1 -1
  464. package/dist/components/signature-pad/signature-pad.d.ts +26 -4
  465. package/dist/components/signature-pad/signature-pad.d.ts.map +1 -1
  466. package/dist/components/signature-pad/signature-pad.js +32 -4
  467. package/dist/components/signature-pad/signature-pad.js.map +1 -1
  468. package/dist/components/signature-pad/use-signature-pad.d.ts +1 -1
  469. package/dist/components/signature-pad/use-signature-pad.d.ts.map +1 -1
  470. package/dist/components/signature-pad/use-signature-pad.js.map +1 -1
  471. package/dist/components/skeleton/use-skeleton.js +6 -2
  472. package/dist/components/skeleton/use-skeleton.js.map +1 -1
  473. package/dist/components/slider/slider.d.ts +27 -0
  474. package/dist/components/slider/slider.d.ts.map +1 -1
  475. package/dist/components/slider/slider.js +12 -0
  476. package/dist/components/slider/slider.js.map +1 -1
  477. package/dist/components/sortable/sortable.d.ts +18 -0
  478. package/dist/components/sortable/sortable.d.ts.map +1 -1
  479. package/dist/components/sortable/sortable.js +7 -2
  480. package/dist/components/sortable/sortable.js.map +1 -1
  481. package/dist/components/sortable/use-sortable.d.ts +1 -1
  482. package/dist/components/sortable/use-sortable.d.ts.map +1 -1
  483. package/dist/components/sortable/use-sortable.js +2 -1
  484. package/dist/components/sortable/use-sortable.js.map +1 -1
  485. package/dist/components/sparkline/sparkline.d.ts +101 -0
  486. package/dist/components/sparkline/sparkline.d.ts.map +1 -0
  487. package/dist/components/sparkline/sparkline.js +54 -0
  488. package/dist/components/sparkline/sparkline.js.map +1 -0
  489. package/dist/components/sparkline/use-sparkline.d.ts +15 -0
  490. package/dist/components/sparkline/use-sparkline.d.ts.map +1 -0
  491. package/dist/components/sparkline/use-sparkline.js +21 -0
  492. package/dist/components/sparkline/use-sparkline.js.map +1 -0
  493. package/dist/components/spinner/spinner.d.ts +8 -0
  494. package/dist/components/spinner/spinner.d.ts.map +1 -1
  495. package/dist/components/spinner/spinner.js +2 -0
  496. package/dist/components/spinner/spinner.js.map +1 -1
  497. package/dist/components/spinner/use-spinner.js +4 -2
  498. package/dist/components/spinner/use-spinner.js.map +1 -1
  499. package/dist/components/statistic/statistic.d.ts.map +1 -1
  500. package/dist/components/statistic/statistic.js +2 -1
  501. package/dist/components/statistic/statistic.js.map +1 -1
  502. package/dist/components/steps/steps.d.ts +28 -1
  503. package/dist/components/steps/steps.d.ts.map +1 -1
  504. package/dist/components/steps/steps.js +11 -2
  505. package/dist/components/steps/steps.js.map +1 -1
  506. package/dist/components/switch/switch.js +1 -1
  507. package/dist/components/table/context.js +9 -1
  508. package/dist/components/table/context.js.map +1 -1
  509. package/dist/components/table/table.d.ts +52 -3
  510. package/dist/components/table/table.d.ts.map +1 -1
  511. package/dist/components/table/table.js +40 -11
  512. package/dist/components/table/table.js.map +1 -1
  513. package/dist/components/table/use-table.d.ts +3 -1
  514. package/dist/components/table/use-table.d.ts.map +1 -1
  515. package/dist/components/table/use-table.js +5 -2
  516. package/dist/components/table/use-table.js.map +1 -1
  517. package/dist/components/tabs/tabs.d.ts +51 -3
  518. package/dist/components/tabs/tabs.d.ts.map +1 -1
  519. package/dist/components/tabs/tabs.js +60 -8
  520. package/dist/components/tabs/tabs.js.map +1 -1
  521. package/dist/components/tag/use-tag.d.ts.map +1 -1
  522. package/dist/components/tag/use-tag.js +3 -1
  523. package/dist/components/tag/use-tag.js.map +1 -1
  524. package/dist/components/tag-group/tag-group.js +1 -1
  525. package/dist/components/tag-group/tag-group.js.map +1 -1
  526. package/dist/components/tags-input/tags-input.d.ts +10 -2
  527. package/dist/components/tags-input/tags-input.d.ts.map +1 -1
  528. package/dist/components/tags-input/tags-input.js +11 -4
  529. package/dist/components/tags-input/tags-input.js.map +1 -1
  530. package/dist/components/tags-input/use-tags-input.d.ts +4 -2
  531. package/dist/components/tags-input/use-tags-input.d.ts.map +1 -1
  532. package/dist/components/tags-input/use-tags-input.js +5 -2
  533. package/dist/components/tags-input/use-tags-input.js.map +1 -1
  534. package/dist/components/time-picker/time-picker.d.ts +11 -7
  535. package/dist/components/time-picker/time-picker.d.ts.map +1 -1
  536. package/dist/components/time-picker/time-picker.js +4 -2
  537. package/dist/components/time-picker/time-picker.js.map +1 -1
  538. package/dist/components/time-range-picker/time-range-picker.d.ts +11 -7
  539. package/dist/components/time-range-picker/time-range-picker.d.ts.map +1 -1
  540. package/dist/components/time-range-picker/time-range-picker.js +4 -2
  541. package/dist/components/time-range-picker/time-range-picker.js.map +1 -1
  542. package/dist/components/timeline/timeline.d.ts.map +1 -1
  543. package/dist/components/timeline/timeline.js +2 -1
  544. package/dist/components/timeline/timeline.js.map +1 -1
  545. package/dist/components/timestamp/timestamp.d.ts +20 -1
  546. package/dist/components/timestamp/timestamp.d.ts.map +1 -1
  547. package/dist/components/timestamp/timestamp.js +16 -5
  548. package/dist/components/timestamp/timestamp.js.map +1 -1
  549. package/dist/components/toolbar/toolbar.d.ts +17 -2
  550. package/dist/components/toolbar/toolbar.d.ts.map +1 -1
  551. package/dist/components/toolbar/toolbar.js +31 -4
  552. package/dist/components/toolbar/toolbar.js.map +1 -1
  553. package/dist/components/toolbar/use-toolbar.d.ts +4 -2
  554. package/dist/components/toolbar/use-toolbar.d.ts.map +1 -1
  555. package/dist/components/toolbar/use-toolbar.js +5 -2
  556. package/dist/components/toolbar/use-toolbar.js.map +1 -1
  557. package/dist/components/tooltip/context.d.ts +21 -0
  558. package/dist/components/tooltip/context.d.ts.map +1 -0
  559. package/dist/components/tooltip/context.js +10 -1
  560. package/dist/components/tooltip/context.js.map +1 -1
  561. package/dist/components/tooltip/tooltip.d.ts +53 -1
  562. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  563. package/dist/components/tooltip/tooltip.js +34 -3
  564. package/dist/components/tooltip/tooltip.js.map +1 -1
  565. package/dist/components/tooltip/use-tooltip.d.ts +3 -18
  566. package/dist/components/tooltip/use-tooltip.d.ts.map +1 -1
  567. package/dist/components/tooltip/use-tooltip.js +2 -0
  568. package/dist/components/tooltip/use-tooltip.js.map +1 -1
  569. package/dist/components/tour/tour.d.ts +8 -0
  570. package/dist/components/tour/tour.d.ts.map +1 -1
  571. package/dist/components/tour/tour.js +2 -0
  572. package/dist/components/tour/tour.js.map +1 -1
  573. package/dist/components/transfer/transfer.d.ts +30 -2
  574. package/dist/components/transfer/transfer.d.ts.map +1 -1
  575. package/dist/components/transfer/transfer.js +29 -3
  576. package/dist/components/transfer/transfer.js.map +1 -1
  577. package/dist/components/tree/tree.d.ts +43 -8
  578. package/dist/components/tree/tree.d.ts.map +1 -1
  579. package/dist/components/tree/tree.js +28 -15
  580. package/dist/components/tree/tree.js.map +1 -1
  581. package/dist/components/tree-select/context.js +10 -1
  582. package/dist/components/tree-select/context.js.map +1 -1
  583. package/dist/components/tree-select/tree-select.d.ts +78 -6
  584. package/dist/components/tree-select/tree-select.d.ts.map +1 -1
  585. package/dist/components/tree-select/tree-select.js +127 -12
  586. package/dist/components/tree-select/tree-select.js.map +1 -1
  587. package/dist/components/tree-select/use-tree-select.d.ts +3 -0
  588. package/dist/components/tree-select/use-tree-select.d.ts.map +1 -1
  589. package/dist/components/tree-select/use-tree-select.js +6 -1
  590. package/dist/components/tree-select/use-tree-select.js.map +1 -1
  591. package/dist/components/truncate/truncate.d.ts +25 -4
  592. package/dist/components/truncate/truncate.d.ts.map +1 -1
  593. package/dist/components/truncate/truncate.js +29 -14
  594. package/dist/components/truncate/truncate.js.map +1 -1
  595. package/dist/components/truncate/use-truncate.d.ts.map +1 -1
  596. package/dist/components/truncate/use-truncate.js +3 -1
  597. package/dist/components/truncate/use-truncate.js.map +1 -1
  598. package/dist/components/typography/typography.d.ts +35 -2
  599. package/dist/components/typography/typography.d.ts.map +1 -1
  600. package/dist/components/typography/typography.js +23 -4
  601. package/dist/components/typography/typography.js.map +1 -1
  602. package/dist/components/virtualizer/virtualizer.d.ts +26 -2
  603. package/dist/components/virtualizer/virtualizer.d.ts.map +1 -1
  604. package/dist/components/virtualizer/virtualizer.js +20 -3
  605. package/dist/components/virtualizer/virtualizer.js.map +1 -1
  606. package/dist/components/watermark/watermark.d.ts +14 -1
  607. package/dist/components/watermark/watermark.d.ts.map +1 -1
  608. package/dist/components/watermark/watermark.js +20 -5
  609. package/dist/components/watermark/watermark.js.map +1 -1
  610. package/dist/config/config.d.ts +1 -1
  611. package/dist/config/config.d.ts.map +1 -1
  612. package/dist/config/config.js +2 -1
  613. package/dist/config/config.js.map +1 -1
  614. package/dist/index.d.ts +65 -50
  615. package/dist/index.js +59 -44
  616. package/dist/package.js +1 -1
  617. package/dist/runtime/as-child.js +3 -2
  618. package/dist/runtime/as-child.js.map +1 -1
  619. package/dist/runtime/hydration.js +14 -0
  620. package/dist/runtime/hydration.js.map +1 -0
  621. package/dist/runtime/use-machine.js +3 -2
  622. package/dist/runtime/use-machine.js.map +1 -1
  623. package/dist/runtime/use-overlay-exit.js +0 -1
  624. package/dist/runtime/use-overlay-exit.js.map +1 -1
  625. package/dist/runtime/use-scrollbars.js +3 -1
  626. package/dist/runtime/use-scrollbars.js.map +1 -1
  627. package/dist/services/notification-service.d.ts +26 -7
  628. package/dist/services/notification-service.d.ts.map +1 -1
  629. package/dist/services/notification-service.js +35 -8
  630. package/dist/services/notification-service.js.map +1 -1
  631. package/dist/sound.d.ts +6 -7
  632. package/dist/sound.d.ts.map +1 -1
  633. package/dist/sound.js +6 -6
  634. package/dist/sound.js.map +1 -1
  635. package/package.json +15 -14
  636. package/dist/components/gradient-text/gradient-text.d.ts +0 -36
  637. package/dist/components/gradient-text/gradient-text.d.ts.map +0 -1
  638. package/dist/components/gradient-text/gradient-text.js +0 -20
  639. package/dist/components/gradient-text/gradient-text.js.map +0 -1
  640. package/dist/components/icon-wrapper/icon-wrapper.d.ts +0 -29
  641. package/dist/components/icon-wrapper/icon-wrapper.d.ts.map +0 -1
  642. package/dist/components/icon-wrapper/icon-wrapper.js +0 -20
  643. package/dist/components/icon-wrapper/icon-wrapper.js.map +0 -1
  644. package/dist/components/segmented/context.d.ts +0 -13
  645. package/dist/components/segmented/context.d.ts.map +0 -1
  646. package/dist/components/segmented/context.js +0 -24
  647. package/dist/components/segmented/context.js.map +0 -1
  648. package/dist/components/segmented/segmented.d.ts +0 -161
  649. package/dist/components/segmented/segmented.d.ts.map +0 -1
  650. package/dist/components/segmented/segmented.js +0 -142
  651. package/dist/components/segmented/segmented.js.map +0 -1
  652. package/dist/components/segmented/use-segmented.d.ts +0 -15
  653. package/dist/components/segmented/use-segmented.d.ts.map +0 -1
  654. package/dist/components/segmented/use-segmented.js +0 -22
  655. package/dist/components/segmented/use-segmented.js.map +0 -1
  656. package/dist/components/toast/context.js +0 -15
  657. package/dist/components/toast/context.js.map +0 -1
  658. package/dist/components/toast/toast.d.ts +0 -123
  659. package/dist/components/toast/toast.d.ts.map +0 -1
  660. package/dist/components/toast/toast.js +0 -112
  661. package/dist/components/toast/toast.js.map +0 -1
  662. package/dist/components/toast/use-toast.d.ts +0 -10
  663. package/dist/components/toast/use-toast.d.ts.map +0 -1
  664. package/dist/components/toast/use-toast.js +0 -17
  665. package/dist/components/toast/use-toast.js.map +0 -1
  666. package/dist/services/toast-service.d.ts +0 -69
  667. package/dist/services/toast-service.d.ts.map +0 -1
  668. package/dist/services/toast-service.js +0 -161
  669. package/dist/services/toast-service.js.map +0 -1
@@ -1,8 +1,9 @@
1
1
  import { PayloadOf } from "../../runtime/payload.js";
2
2
  import { PropType, SlotsType, VNode } from "vue";
3
- import { NotificationDedupe, NotificationItemApi, NotificationOptions, NotificationPlacement, NotificationRecord, NotificationSchema, NotificationTranslations, ResolvedNotification, ToastSchema, ToastTone } from "@xihan-ui/headless";
3
+ import { NotificationDedupe, NotificationItemApi, NotificationItemSchema, NotificationOptions, NotificationPlacement, NotificationPreset, NotificationRecord, NotificationSchema, NotificationTone, NotificationTranslations, ResolvedNotification } from "@xihan-ui/headless";
4
4
  //#region src/components/notification/notification.d.ts
5
5
  type NotificationProps = NotificationSchema['props'];
6
+ type NotificationItemProps = NotificationItemSchema['props'];
6
7
  /** 默认插槽的载荷:当前可见的通知队列与它的落位分组,以及入队、改写、关闭的命令。 */
7
8
  interface NotificationRootSlotProps {
8
9
  items: ResolvedNotification[];
@@ -21,6 +22,9 @@ declare const XhNotificationRoot: import("vue").DefineComponent<import("vue").Ex
21
22
  defaultItems: {
22
23
  type: PropType<NotificationRecord[]>;
23
24
  };
25
+ preset: {
26
+ type: PropType<NotificationPreset>;
27
+ };
24
28
  placement: {
25
29
  type: PropType<NotificationPlacement>;
26
30
  };
@@ -36,8 +40,9 @@ declare const XhNotificationRoot: import("vue").DefineComponent<import("vue").Ex
36
40
  duration: {
37
41
  type: NumberConstructor;
38
42
  };
39
- removeDelay: {
40
- type: NumberConstructor;
43
+ stacked: {
44
+ type: BooleanConstructor;
45
+ default: undefined;
41
46
  };
42
47
  pauseOnPageIdle: {
43
48
  type: BooleanConstructor;
@@ -58,6 +63,9 @@ declare const XhNotificationRoot: import("vue").DefineComponent<import("vue").Ex
58
63
  defaultItems: {
59
64
  type: PropType<NotificationRecord[]>;
60
65
  };
66
+ preset: {
67
+ type: PropType<NotificationPreset>;
68
+ };
61
69
  placement: {
62
70
  type: PropType<NotificationPlacement>;
63
71
  };
@@ -73,8 +81,9 @@ declare const XhNotificationRoot: import("vue").DefineComponent<import("vue").Ex
73
81
  duration: {
74
82
  type: NumberConstructor;
75
83
  };
76
- removeDelay: {
77
- type: NumberConstructor;
84
+ stacked: {
85
+ type: BooleanConstructor;
86
+ default: undefined;
78
87
  };
79
88
  pauseOnPageIdle: {
80
89
  type: BooleanConstructor;
@@ -87,6 +96,7 @@ declare const XhNotificationRoot: import("vue").DefineComponent<import("vue").Ex
87
96
  "onItems-change"?: ((_details: import("@xihan-ui/headless").NotificationItemsChangeDetails) => any) | undefined;
88
97
  "onUpdate:items"?: ((_items: NotificationRecord[]) => any) | undefined;
89
98
  }>, {
99
+ stacked: boolean;
90
100
  pauseOnPageIdle: boolean;
91
101
  }, SlotsType<{
92
102
  default?: (props: NotificationRootSlotProps) => VNode[];
@@ -108,11 +118,18 @@ declare const XhNotificationGroup: import("vue").DefineComponent<import("vue").E
108
118
  }>> & Readonly<{}>, {}, SlotsType<{
109
119
  default?: (props: NotificationGroupSlotProps) => VNode[];
110
120
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
111
- /** 单条卡片。生命周期复用 toast 的状态机:会自动消失的卡片,该行为与消息来源无关。 */
121
+ /** 默认插槽的载荷:该卡片自己的 api。 */
122
+ interface NotificationItemSlotProps {
123
+ item: NotificationItemApi;
124
+ }
125
+ /** 单条卡片:到期自行消失的一条消息,计时、暂停、按压与退场都在它自己身上。 */
112
126
  declare const XhNotificationItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
113
127
  id: {
114
128
  type: StringConstructor;
115
129
  };
130
+ preset: {
131
+ type: PropType<NotificationPreset>;
132
+ };
116
133
  title: {
117
134
  type: StringConstructor;
118
135
  };
@@ -120,7 +137,7 @@ declare const XhNotificationItem: import("vue").DefineComponent<import("vue").Ex
120
137
  type: StringConstructor;
121
138
  };
122
139
  tone: {
123
- type: PropType<ToastTone>;
140
+ type: PropType<NotificationTone>;
124
141
  };
125
142
  loading: {
126
143
  type: BooleanConstructor;
@@ -129,9 +146,6 @@ declare const XhNotificationItem: import("vue").DefineComponent<import("vue").Ex
129
146
  duration: {
130
147
  type: NumberConstructor;
131
148
  };
132
- removeDelay: {
133
- type: NumberConstructor;
134
- };
135
149
  closable: {
136
150
  type: BooleanConstructor;
137
151
  default: undefined;
@@ -150,12 +164,15 @@ declare const XhNotificationItem: import("vue").DefineComponent<import("vue").Ex
150
164
  }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
151
165
  [key: string]: any;
152
166
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
153
- 'status-change': (_details: PayloadOf<ToastSchema["props"], "onStatusChange">) => true;
154
- action: () => true;
167
+ 'status-change': (_details: PayloadOf<NotificationItemProps, "onStatusChange">) => true;
168
+ action: (_details: PayloadOf<NotificationItemProps, "onAction">) => true;
155
169
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
156
170
  id: {
157
171
  type: StringConstructor;
158
172
  };
173
+ preset: {
174
+ type: PropType<NotificationPreset>;
175
+ };
159
176
  title: {
160
177
  type: StringConstructor;
161
178
  };
@@ -163,7 +180,7 @@ declare const XhNotificationItem: import("vue").DefineComponent<import("vue").Ex
163
180
  type: StringConstructor;
164
181
  };
165
182
  tone: {
166
- type: PropType<ToastTone>;
183
+ type: PropType<NotificationTone>;
167
184
  };
168
185
  loading: {
169
186
  type: BooleanConstructor;
@@ -172,9 +189,6 @@ declare const XhNotificationItem: import("vue").DefineComponent<import("vue").Ex
172
189
  duration: {
173
190
  type: NumberConstructor;
174
191
  };
175
- removeDelay: {
176
- type: NumberConstructor;
177
- };
178
192
  closable: {
179
193
  type: BooleanConstructor;
180
194
  default: undefined;
@@ -191,22 +205,24 @@ declare const XhNotificationItem: import("vue").DefineComponent<import("vue").Ex
191
205
  type: PropType<Partial<NotificationTranslations>>;
192
206
  };
193
207
  }>> & Readonly<{
194
- "onStatus-change"?: ((_details: import("@xihan-ui/headless").ToastStatusChangeDetails) => any) | undefined;
195
- onAction?: (() => any) | undefined;
208
+ "onStatus-change"?: ((_details: import("@xihan-ui/headless").NotificationStatusChangeDetails) => any) | undefined;
209
+ onAction?: ((_details: import("@xihan-ui/headless").NotificationActionDetails) => any) | undefined;
196
210
  }>, {
197
211
  closable: boolean;
198
212
  loading: boolean;
199
213
  paused: boolean;
200
214
  pauseOnPageIdle: boolean;
201
215
  }, SlotsType<{
202
- default?: (props: {
203
- item: NotificationItemApi;
204
- }) => VNode[];
216
+ default?: (props: NotificationItemSlotProps) => VNode[];
205
217
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
206
- /** 语气指示符。作者未写内容时由皮肤按 data-tone 绘制兜底字形,data-loading 时换为加载指示。 */
218
+ /** 语气指示符。作者未写内容时由皮肤按 data-tone 绘制兜底字形,data-loading 时换为加载环。 */
207
219
  declare const XhNotificationItemIndicator: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
208
220
  [key: string]: any;
209
221
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
222
+ /** 标题与说明的文本列。 */
223
+ declare const XhNotificationItemContent: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
224
+ [key: string]: any;
225
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
210
226
  declare const XhNotificationItemTitle: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
211
227
  [key: string]: any;
212
228
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -223,5 +239,5 @@ declare const XhNotificationItemCloseTrigger: import("vue").DefineComponent<{},
223
239
  [key: string]: any;
224
240
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
225
241
  //#endregion
226
- export { NotificationGroupSlotProps, NotificationRootSlotProps, XhNotificationGroup, XhNotificationItem, XhNotificationItemActionTrigger, XhNotificationItemCloseTrigger, XhNotificationItemDescription, XhNotificationItemIndicator, XhNotificationItemProgress, XhNotificationItemTitle, XhNotificationRoot };
242
+ export { NotificationGroupSlotProps, NotificationItemSlotProps, NotificationRootSlotProps, XhNotificationGroup, XhNotificationItem, XhNotificationItemActionTrigger, XhNotificationItemCloseTrigger, XhNotificationItemContent, XhNotificationItemDescription, XhNotificationItemIndicator, XhNotificationItemProgress, XhNotificationItemTitle, XhNotificationRoot };
227
243
  //# sourceMappingURL=notification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","names":[],"sources":["../../../src/components/notification/notification.ts"],"mappings":";;;;KAeK,oBAAoB;;UAGR;EACf,OAAO;EACP,YAAY;EACZ;EACA,sBAAsB,WAAW,0BAA0B;EAC3D,SAAS,UAAU;EACnB,SAAS,YAAY,SAAS,QAAQ;EACtC,UAAU;EACV;;cAGW,kCAAkB,8BAAA;;IAIH,MAAA,SAAS;;;IACF,MAAA,SAAS;;;IACX,MAAA,SAAS;;;;;;IAEZ,MAAA,SAAS;;;;;;;;;;;;;;;;IAKH,MAAA,SAAS,QAAQ;;;;;EAItB,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;;;IAdX,MAAA,SAAS;;;IACF,MAAA,SAAS;;;IACX,MAAA,SAAS;;;;;;IAEZ,MAAA,SAAS;;;;;;;;;;;;;;;;IAKH,MAAA,SAAS,QAAQ;;;;;;;;EAQvC,WAAC,OAAO,8BAA8B;kCAqBlD;;UAGe;EACf,MAAM;;cAGK,mCAAmB,8BAAA;;IAIC,MAAA,SAAS;;;;;;IAAT,MAAA,SAAS;;;EAG5B,WAAC,OAAO,+BAA+B;kCAkBnD;;cAGW,kCAAkB,8BAAA;;;;;;;;;;;IAOH,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;IAQD,MAAA,SAAS,QAAQ;;;;;EAGrB,kBAAA,UAAA,UAAU;;;;;;;;;;;;;IAXd,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;IAQD,MAAA,SAAS,QAAQ;;;;;;;;;;;EAOvC,WAAC;IAAS,MAAM;QAA0B;kCAiBtD;;cAGW,2CAA2B,0BAAA,oBAAA,4BAAA;;8BAMtC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAWlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAUxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,+CAA+B,0BAAA,oBAAA,4BAAA;;8BAM1C,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0CAA0B,0BAAA,oBAAA,4BAAA;;8BAMrC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,8CAA8B,0BAAA,oBAAA,4BAAA;;8BAMzC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"notification.d.ts","names":[],"sources":["../../../src/components/notification/notification.ts"],"mappings":";;;;KA2BK,oBAAoB;KACpB,wBAAwB;;UAGZ;EACf,OAAO;EACP,YAAY;EACZ;EACA,sBAAsB,WAAW,0BAA0B;EAC3D,SAAS,UAAU;EACnB,SAAS,YAAY,SAAS,QAAQ;EACtC,UAAU;EACV;;cAGW,kCAAkB,8BAAA;;IAIH,MAAA,SAAS;;;IACF,MAAA,SAAS;;;IACd,MAAA,SAAS;;;IACN,MAAA,SAAS;;;;;;IAEZ,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKH,MAAA,SAAS,QAAQ;;;;;EAItB,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;;;IAfX,MAAA,SAAS;;;IACF,MAAA,SAAS;;;IACd,MAAA,SAAS;;;IACN,MAAA,SAAS;;;;;;IAEZ,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKH,MAAA,SAAS,QAAQ;;;;;;;;;EAQvC,WAAC,OAAO,8BAA8B;kCAqBlD;;UAGe;EACf,MAAM;;cAGK,mCAAmB,8BAAA;;IAIC,MAAA,SAAS;;;;;;IAAT,MAAA,SAAS;;;EAG5B,WAAC,OAAO,+BAA+B;kCAkBnD;;UAGe;EACf,MAAM;;;cAIK,kCAAkB,8BAAA;;;;;IAMD,MAAA,SAAS;;;;;;;;;IAGX,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;IAOD,MAAA,SAAS,QAAQ;;;;;EAIrB,kBAAA,UAAA,UAAU;EACjB,SAAA,UAAA,UAAU;;;;;;IAfL,MAAA,SAAS;;;;;;;;;IAGX,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;IAOD,MAAA,SAAS,QAAQ;;;;;;;;;;;EAQvC,WAAC,OAAO,8BAA8B;kCAelD;;cAGW,2CAA2B,0BAAA,oBAAA,4BAAA;;8BAMtC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;;cAGW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAMpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAWlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAUxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,+CAA+B,0BAAA,oBAAA,4BAAA;;8BAO1C,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0CAA0B,0BAAA,oBAAA,4BAAA;;8BAMrC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,8CAA8B,0BAAA,oBAAA,4BAAA;;8BAMzC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -8,12 +8,16 @@ const XhNotificationRoot = defineComponent({
8
8
  props: {
9
9
  items: { type: Array },
10
10
  defaultItems: { type: Array },
11
+ preset: { type: String },
11
12
  placement: { type: String },
12
13
  max: { type: Number },
13
14
  dedupe: { type: String },
14
15
  gap: { type: Number },
15
16
  duration: { type: Number },
16
- removeDelay: { type: Number },
17
+ stacked: {
18
+ type: Boolean,
19
+ default: void 0
20
+ },
17
21
  pauseOnPageIdle: {
18
22
  type: Boolean,
19
23
  default: void 0
@@ -32,7 +36,10 @@ const XhNotificationRoot = defineComponent({
32
36
  };
33
37
  const ctx = useNotification(withXhConfig("notification", props), notify);
34
38
  provideNotification(ctx);
35
- return () => h("div", ctx.api.value.getRootProps(), slots.default?.({
39
+ return () => h("div", {
40
+ ...ctx.api.value.getRootProps(),
41
+ ref: ctx.rootRef
42
+ }, slots.default?.({
36
43
  items: ctx.api.value.visibleNotifications,
37
44
  placements: ctx.api.value.placements,
38
45
  count: ctx.api.value.count,
@@ -59,11 +66,12 @@ const XhNotificationGroup = defineComponent({
59
66
  };
60
67
  }
61
68
  });
62
- /** 单条卡片。生命周期复用 toast 的状态机:会自动消失的卡片,该行为与消息来源无关。 */
69
+ /** 单条卡片:到期自行消失的一条消息,计时、暂停、按压与退场都在它自己身上。 */
63
70
  const XhNotificationItem = defineComponent({
64
71
  name: "XhNotificationItem",
65
72
  props: {
66
73
  id: { type: String },
74
+ preset: { type: String },
67
75
  title: { type: String },
68
76
  description: { type: String },
69
77
  tone: { type: String },
@@ -72,7 +80,6 @@ const XhNotificationItem = defineComponent({
72
80
  default: void 0
73
81
  },
74
82
  duration: { type: Number },
75
- removeDelay: { type: Number },
76
83
  closable: {
77
84
  type: Boolean,
78
85
  default: void 0
@@ -89,16 +96,19 @@ const XhNotificationItem = defineComponent({
89
96
  },
90
97
  emits: {
91
98
  "status-change": (_details) => true,
92
- "action": () => true
99
+ "action": (_details) => true
93
100
  },
94
101
  slots: Object,
95
102
  setup(props, { slots, emit }) {
96
- const ctx = useNotificationItem(withXhConfig("notification", props), (details) => emit("status-change", details), () => emit("action"));
103
+ const ctx = useNotificationItem(withXhConfig("notification", props), (details) => emit("status-change", details), (details) => emit("action", details));
97
104
  provideNotificationItem(ctx);
98
- return () => h("div", ctx.api.value.getItemProps(), slots.default?.({ item: ctx.api.value }));
105
+ return () => h("div", {
106
+ ...ctx.api.value.getItemProps(),
107
+ ref: ctx.rootRef
108
+ }, slots.default?.({ item: ctx.api.value }));
99
109
  }
100
110
  });
101
- /** 语气指示符。作者未写内容时由皮肤按 data-tone 绘制兜底字形,data-loading 时换为加载指示。 */
111
+ /** 语气指示符。作者未写内容时由皮肤按 data-tone 绘制兜底字形,data-loading 时换为加载环。 */
102
112
  const XhNotificationItemIndicator = defineComponent({
103
113
  name: "XhNotificationItemIndicator",
104
114
  setup(_, { slots }) {
@@ -106,6 +116,14 @@ const XhNotificationItemIndicator = defineComponent({
106
116
  return () => h("span", ctx.api.value.getItemIndicatorProps(), slots.default?.());
107
117
  }
108
118
  });
119
+ /** 标题与说明的文本列。 */
120
+ const XhNotificationItemContent = defineComponent({
121
+ name: "XhNotificationItemContent",
122
+ setup(_, { slots }) {
123
+ const ctx = useNotificationItemContext();
124
+ return () => h("div", ctx.api.value.getItemContentProps(), slots.default?.());
125
+ }
126
+ });
109
127
  const XhNotificationItemTitle = defineComponent({
110
128
  name: "XhNotificationItemTitle",
111
129
  setup(_, { slots }) {
@@ -142,6 +160,6 @@ const XhNotificationItemCloseTrigger = defineComponent({
142
160
  }
143
161
  });
144
162
  //#endregion
145
- export { XhNotificationGroup, XhNotificationItem, XhNotificationItemActionTrigger, XhNotificationItemCloseTrigger, XhNotificationItemDescription, XhNotificationItemIndicator, XhNotificationItemProgress, XhNotificationItemTitle, XhNotificationRoot };
163
+ export { XhNotificationGroup, XhNotificationItem, XhNotificationItemActionTrigger, XhNotificationItemCloseTrigger, XhNotificationItemContent, XhNotificationItemDescription, XhNotificationItemIndicator, XhNotificationItemProgress, XhNotificationItemTitle, XhNotificationRoot };
146
164
 
147
165
  //# sourceMappingURL=notification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","names":[],"sources":["../../../src/components/notification/notification.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 notification 相关实现。\n\nimport type { NotificationDedupe, NotificationItemApi, NotificationOptions, NotificationPlacement, NotificationRecord, NotificationSchema, NotificationTranslations, ResolvedNotification, ToastSchema, ToastTone } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, Fragment, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { provideNotification, provideNotificationItem, useNotificationContext, useNotificationItemContext } from './context'\nimport { useNotification, useNotificationItem } from './use-notification'\n\ntype NotificationProps = NotificationSchema['props']\n\n/** 默认插槽的载荷:当前可见的通知队列与它的落位分组,以及入队、改写、关闭的命令。 */\nexport interface NotificationRootSlotProps {\n items: ResolvedNotification[]\n placements: NotificationPlacement[]\n count: number\n getItemsByPlacement: (placement: NotificationPlacement) => ResolvedNotification[]\n create: (options?: NotificationOptions) => string\n update: (id: string, options: Partial<NotificationOptions>) => void\n dismiss: (id: string) => void\n dismissAll: () => void\n}\n\nexport const XhNotificationRoot = defineComponent({\n name: 'XhNotificationRoot',\n // 缺省值由 connect 决定;普通类型省略 default,Boolean 显式保留 undefined\n props: {\n items: { type: Array as PropType<NotificationRecord[]> },\n defaultItems: { type: Array as PropType<NotificationRecord[]> },\n placement: { type: String as PropType<NotificationPlacement> },\n max: { type: Number },\n dedupe: { type: String as PropType<NotificationDedupe> },\n gap: { type: Number },\n duration: { type: Number },\n removeDelay: { type: Number },\n pauseOnPageIdle: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<Partial<NotificationTranslations>> },\n },\n // items-change 携带 { items },update:items 携带裸队列以支持 v-model:items\n emits: {\n 'items-change': (_details: PayloadOf<NotificationProps, 'onItemsChange'>) => true,\n 'update:items': (_items: PayloadOf<NotificationProps, 'onItemsChange'>['items']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: NotificationRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notify: NotificationProps['onItemsChange'] = (details) => {\n emit('items-change', details)\n emit('update:items', details.items)\n }\n const ctx = useNotification(withXhConfig('notification', props) as NotificationProps, notify)\n provideNotification(ctx)\n // 根节点是地标容器,插槽作用域里一并暴露队列与增删改命令\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n items: ctx.api.value.visibleNotifications,\n placements: ctx.api.value.placements,\n count: ctx.api.value.count,\n getItemsByPlacement: ctx.api.value.getItemsByPlacement,\n create: ctx.create,\n update: ctx.update,\n dismiss: ctx.dismiss,\n dismissAll: ctx.dismissAll,\n }))\n },\n})\n\n/** 默认插槽的载荷:该组中逐条铺开的通知。 */\nexport interface NotificationGroupSlotProps {\n item: ResolvedNotification\n}\n\nexport const XhNotificationGroup = defineComponent({\n name: 'XhNotificationGroup',\n props: {\n // 不写就用 notification 的 placement;写了就只收这个位置上的条目\n placement: { type: String as PropType<NotificationPlacement> },\n },\n slots: Object as SlotsType<{\n default?: (props: NotificationGroupSlotProps) => VNode[]\n }>,\n setup(props, { slots }) {\n const ctx = useNotificationContext()\n return () => {\n const api = ctx.api.value\n const groupProps = api.getGroupProps({ placement: props.placement }) as Record<string, unknown>\n // 落位从 group 自己的产出里读回,不在这边重算缺省\n const placement = groupProps['data-placement'] as NotificationPlacement\n const list = api.getItemsByPlacement(placement)\n // 每条通知按队列身份 id 给 key,避免节点被就地复用\n return h(\n 'div',\n groupProps,\n slots.default ? list.map(item => h(Fragment, { key: item.id }, slots.default!({ item }))) : undefined,\n )\n }\n },\n})\n\n/** 单条卡片。生命周期复用 toast 的状态机:会自动消失的卡片,该行为与消息来源无关。 */\nexport const XhNotificationItem = defineComponent({\n name: 'XhNotificationItem',\n // 缺省值由 connect 决定;普通类型省略 default,Boolean 显式保留 undefined\n props: {\n id: { type: String },\n title: { type: String },\n description: { type: String },\n tone: { type: String as PropType<ToastTone> },\n loading: { type: Boolean, default: undefined },\n duration: { type: Number },\n removeDelay: { type: Number },\n closable: { type: Boolean, default: undefined },\n pauseOnPageIdle: { type: Boolean, default: undefined },\n // 由宿主整摞一起按住计时;与指针、焦点那几路并存,最后一个松开才继续走\n paused: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<Partial<NotificationTranslations>> },\n },\n emits: {\n 'status-change': (_details: PayloadOf<ToastSchema['props'], 'onStatusChange'>) => true,\n 'action': () => true,\n },\n slots: Object as SlotsType<{\n default?: (props: { item: NotificationItemApi }) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n // 桶名写 notification 而不是 toast:卡片跑的虽然是 toast 那台机器,\n // 但它的文案该跟着通知走——写 toast 的话,改这颗叉的读屏名会连所有轻提示一起改\n const ctx = useNotificationItem(\n withXhConfig('notification', props) as ToastSchema['props'],\n details => emit('status-change', details),\n () => emit('action'),\n )\n provideNotificationItem(ctx)\n return () => h(\n 'div',\n ctx.api.value.getItemProps() as Record<string, unknown>,\n slots.default?.({ item: ctx.api.value }),\n )\n },\n})\n\n/** 语气指示符。作者未写内容时由皮肤按 data-tone 绘制兜底字形,data-loading 时换为加载指示。 */\nexport const XhNotificationItemIndicator = defineComponent({\n name: 'XhNotificationItemIndicator',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('span', ctx.api.value.getItemIndicatorProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhNotificationItemTitle = defineComponent({\n name: 'XhNotificationItemTitle',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n // 作者没写内容就用队列里那条记录的标题\n return () => h(\n 'div',\n ctx.api.value.getItemTitleProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.title,\n )\n },\n})\n\nexport const XhNotificationItemDescription = defineComponent({\n name: 'XhNotificationItemDescription',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h(\n 'div',\n ctx.api.value.getItemDescriptionProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.description,\n )\n },\n})\n\nexport const XhNotificationItemActionTrigger = defineComponent({\n name: 'XhNotificationItemActionTrigger',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('button', ctx.api.value.getItemActionTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhNotificationItemProgress = defineComponent({\n name: 'XhNotificationItemProgress',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('div', ctx.api.value.getItemProgressProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhNotificationItemCloseTrigger = defineComponent({\n name: 'XhNotificationItemCloseTrigger',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('button', ctx.api.value.getItemCloseTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"notification.js","names":[],"sources":["../../../src/components/notification/notification.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 notification 相关实现。\n\nimport type {\n NotificationDedupe,\n NotificationItemApi,\n NotificationItemSchema,\n NotificationOptions,\n NotificationPlacement,\n NotificationPreset,\n NotificationRecord,\n NotificationSchema,\n NotificationTone,\n NotificationTranslations,\n ResolvedNotification,\n} from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, Fragment, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { provideNotification, provideNotificationItem, useNotificationContext, useNotificationItemContext } from './context'\nimport { useNotification, useNotificationItem } from './use-notification'\n\ntype NotificationProps = NotificationSchema['props']\ntype NotificationItemProps = NotificationItemSchema['props']\n\n/** 默认插槽的载荷:当前可见的通知队列与它的落位分组,以及入队、改写、关闭的命令。 */\nexport interface NotificationRootSlotProps {\n items: ResolvedNotification[]\n placements: NotificationPlacement[]\n count: number\n getItemsByPlacement: (placement: NotificationPlacement) => ResolvedNotification[]\n create: (options?: NotificationOptions) => string\n update: (id: string, options: Partial<NotificationOptions>) => void\n dismiss: (id: string) => void\n dismissAll: () => void\n}\n\nexport const XhNotificationRoot = defineComponent({\n name: 'XhNotificationRoot',\n // 缺省值由 connect 决定;普通类型省略 default,Boolean 显式保留 undefined\n props: {\n items: { type: Array as PropType<NotificationRecord[]> },\n defaultItems: { type: Array as PropType<NotificationRecord[]> },\n preset: { type: String as PropType<NotificationPreset> },\n placement: { type: String as PropType<NotificationPlacement> },\n max: { type: Number },\n dedupe: { type: String as PropType<NotificationDedupe> },\n gap: { type: Number },\n duration: { type: Number },\n stacked: { type: Boolean, default: undefined },\n pauseOnPageIdle: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<Partial<NotificationTranslations>> },\n },\n // items-change 携带 { items },update:items 携带裸队列以支持 v-model:items\n emits: {\n 'items-change': (_details: PayloadOf<NotificationProps, 'onItemsChange'>) => true,\n 'update:items': (_items: PayloadOf<NotificationProps, 'onItemsChange'>['items']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: NotificationRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notify: NotificationProps['onItemsChange'] = (details) => {\n emit('items-change', details)\n emit('update:items', details.items)\n }\n const ctx = useNotification(withXhConfig('notification', props) as NotificationProps, notify)\n provideNotification(ctx)\n // 根节点是地标容器,插槽作用域里一并暴露队列与增删改命令\n return () => h('div', { ...ctx.api.value.getRootProps() as Record<string, unknown>, ref: ctx.rootRef }, slots.default?.({\n items: ctx.api.value.visibleNotifications,\n placements: ctx.api.value.placements,\n count: ctx.api.value.count,\n getItemsByPlacement: ctx.api.value.getItemsByPlacement,\n create: ctx.create,\n update: ctx.update,\n dismiss: ctx.dismiss,\n dismissAll: ctx.dismissAll,\n }))\n },\n})\n\n/** 默认插槽的载荷:该组中逐条铺开的通知。 */\nexport interface NotificationGroupSlotProps {\n item: ResolvedNotification\n}\n\nexport const XhNotificationGroup = defineComponent({\n name: 'XhNotificationGroup',\n props: {\n // 不写就用 notification 的 placement;写了就只收这个位置上的条目\n placement: { type: String as PropType<NotificationPlacement> },\n },\n slots: Object as SlotsType<{\n default?: (props: NotificationGroupSlotProps) => VNode[]\n }>,\n setup(props, { slots }) {\n const ctx = useNotificationContext()\n return () => {\n const api = ctx.api.value\n const groupProps = api.getGroupProps({ placement: props.placement }) as Record<string, unknown>\n // 落位从 group 自己的产出里读回,不在这边重算缺省\n const placement = groupProps['data-placement'] as NotificationPlacement\n const list = api.getItemsByPlacement(placement)\n // 每条通知按队列身份 id 给 key,避免节点被就地复用\n return h(\n 'div',\n groupProps,\n slots.default ? list.map(item => h(Fragment, { key: item.id }, slots.default!({ item }))) : undefined,\n )\n }\n },\n})\n\n/** 默认插槽的载荷:该卡片自己的 api。 */\nexport interface NotificationItemSlotProps {\n item: NotificationItemApi\n}\n\n/** 单条卡片:到期自行消失的一条消息,计时、暂停、按压与退场都在它自己身上。 */\nexport const XhNotificationItem = defineComponent({\n name: 'XhNotificationItem',\n // 缺省值由 connect 决定;普通类型省略 default,Boolean 显式保留 undefined\n props: {\n // 队列身份,不是 DOM id;不给则回落到实例的 scope id\n id: { type: String },\n preset: { type: String as PropType<NotificationPreset> },\n title: { type: String },\n description: { type: String },\n tone: { type: String as PropType<NotificationTone> },\n loading: { type: Boolean, default: undefined },\n duration: { type: Number },\n closable: { type: Boolean, default: undefined },\n pauseOnPageIdle: { type: Boolean, default: undefined },\n // 由宿主整摞一起按住计时;与指针、焦点那几路并存,最后一个松开才继续走\n paused: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<Partial<NotificationTranslations>> },\n },\n // status-change 携带 { id, status },action 携带 { id }\n emits: {\n 'status-change': (_details: PayloadOf<NotificationItemProps, 'onStatusChange'>) => true,\n 'action': (_details: PayloadOf<NotificationItemProps, 'onAction'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: NotificationItemSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const ctx = useNotificationItem(\n withXhConfig('notification', props) as NotificationItemProps,\n details => emit('status-change', details),\n details => emit('action', details),\n )\n provideNotificationItem(ctx)\n return () => h(\n 'div',\n { ...ctx.api.value.getItemProps() as Record<string, unknown>, ref: ctx.rootRef },\n slots.default?.({ item: ctx.api.value }),\n )\n },\n})\n\n/** 语气指示符。作者未写内容时由皮肤按 data-tone 绘制兜底字形,data-loading 时换为加载环。 */\nexport const XhNotificationItemIndicator = defineComponent({\n name: 'XhNotificationItemIndicator',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('span', ctx.api.value.getItemIndicatorProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n/** 标题与说明的文本列。 */\nexport const XhNotificationItemContent = defineComponent({\n name: 'XhNotificationItemContent',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('div', ctx.api.value.getItemContentProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhNotificationItemTitle = defineComponent({\n name: 'XhNotificationItemTitle',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n // 作者没写内容就用队列里那条记录的标题\n return () => h(\n 'div',\n ctx.api.value.getItemTitleProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.title,\n )\n },\n})\n\nexport const XhNotificationItemDescription = defineComponent({\n name: 'XhNotificationItemDescription',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h(\n 'div',\n ctx.api.value.getItemDescriptionProps() as Record<string, unknown>,\n slots.default?.() ?? ctx.api.value.description,\n )\n },\n})\n\nexport const XhNotificationItemActionTrigger = defineComponent({\n name: 'XhNotificationItemActionTrigger',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n // 原生 <button>,激活行为交给平台\n return () => h('button', ctx.api.value.getItemActionTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhNotificationItemProgress = defineComponent({\n name: 'XhNotificationItemProgress',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('div', ctx.api.value.getItemProgressProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhNotificationItemCloseTrigger = defineComponent({\n name: 'XhNotificationItemCloseTrigger',\n setup(_, { slots }) {\n const ctx = useNotificationItemContext()\n return () => h('button', ctx.api.value.getItemCloseTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;AA0CA,MAAa,qBAAqB,gBAAgB;CAChD,MAAM;CAEN,OAAO;EACL,OAAO,EAAE,MAAM,MAAwC;EACvD,cAAc,EAAE,MAAM,MAAwC;EAC9D,QAAQ,EAAE,MAAM,OAAuC;EACvD,WAAW,EAAE,MAAM,OAA0C;EAC7D,KAAK,EAAE,MAAM,OAAO;EACpB,QAAQ,EAAE,MAAM,OAAuC;EACvD,KAAK,EAAE,MAAM,OAAO;EACpB,UAAU,EAAE,MAAM,OAAO;EACzB,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,iBAAiB;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EACrD,cAAc,EAAE,MAAM,OAAsD;CAC9E;CAEA,OAAO;EACL,iBAAiB,aAA4D;EAC7E,iBAAiB,WAAmE;CACtF;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,UAA8C,YAAY;GAC9D,KAAK,gBAAgB,OAAO;GAC5B,KAAK,gBAAgB,QAAQ,KAAK;EACpC;EACA,MAAM,MAAM,gBAAgB,aAAa,gBAAgB,KAAK,GAAwB,MAAM;EAC5F,oBAAoB,GAAG;EAEvB,aAAa,EAAE,OAAO;GAAE,GAAG,IAAI,IAAI,MAAM,aAAa;GAA8B,KAAK,IAAI;EAAQ,GAAG,MAAM,UAAU;GACtH,OAAO,IAAI,IAAI,MAAM;GACrB,YAAY,IAAI,IAAI,MAAM;GAC1B,OAAO,IAAI,IAAI,MAAM;GACrB,qBAAqB,IAAI,IAAI,MAAM;GACnC,QAAQ,IAAI;GACZ,QAAQ,IAAI;GACZ,SAAS,IAAI;GACb,YAAY,IAAI;EAClB,CAAC,CAAC;CACJ;AACF,CAAC;AAOD,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,OAAO,EAEL,WAAW,EAAE,MAAM,OAA0C,EAC/D;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,uBAAuB;EACnC,aAAa;GACX,MAAM,MAAM,IAAI,IAAI;GACpB,MAAM,aAAa,IAAI,cAAc,EAAE,WAAW,MAAM,UAAU,CAAC;GAEnE,MAAM,YAAY,WAAW;GAC7B,MAAM,OAAO,IAAI,oBAAoB,SAAS;GAE9C,OAAO,EACL,OACA,YACA,MAAM,UAAU,KAAK,KAAI,SAAQ,EAAE,UAAU,EAAE,KAAK,KAAK,GAAG,GAAG,MAAM,QAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,KAAA,CAC9F;EACF;CACF;AACF,CAAC;;AAQD,MAAa,qBAAqB,gBAAgB;CAChD,MAAM;CAEN,OAAO;EAEL,IAAI,EAAE,MAAM,OAAO;EACnB,QAAQ,EAAE,MAAM,OAAuC;EACvD,OAAO,EAAE,MAAM,OAAO;EACtB,aAAa,EAAE,MAAM,OAAO;EAC5B,MAAM,EAAE,MAAM,OAAqC;EACnD,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,UAAU,EAAE,MAAM,OAAO;EACzB,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,iBAAiB;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAErD,QAAQ;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC5C,cAAc,EAAE,MAAM,OAAsD;CAC9E;CAEA,OAAO;EACL,kBAAkB,aAAiE;EACnF,WAAW,aAA2D;CACxE;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,MAAM,oBACV,aAAa,gBAAgB,KAAK,IAClC,YAAW,KAAK,iBAAiB,OAAO,IACxC,YAAW,KAAK,UAAU,OAAO,CACnC;EACA,wBAAwB,GAAG;EAC3B,aAAa,EACX,OACA;GAAE,GAAG,IAAI,IAAI,MAAM,aAAa;GAA8B,KAAK,IAAI;EAAQ,GAC/E,MAAM,UAAU,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,CACzC;CACF;AACF,CAAC;;AAGD,MAAa,8BAA8B,gBAAgB;CACzD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,2BAA2B;EACvC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,sBAAsB,GAA8B,MAAM,UAAU,CAAC;CAC5G;AACF,CAAC;;AAGD,MAAa,4BAA4B,gBAAgB;CACvD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,2BAA2B;EACvC,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,oBAAoB,GAA8B,MAAM,UAAU,CAAC;CACzG;AACF,CAAC;AAED,MAAa,0BAA0B,gBAAgB;CACrD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,2BAA2B;EAEvC,aAAa,EACX,OACA,IAAI,IAAI,MAAM,kBAAkB,GAChC,MAAM,UAAU,KAAK,IAAI,IAAI,MAAM,KACrC;CACF;AACF,CAAC;AAED,MAAa,gCAAgC,gBAAgB;CAC3D,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,2BAA2B;EACvC,aAAa,EACX,OACA,IAAI,IAAI,MAAM,wBAAwB,GACtC,MAAM,UAAU,KAAK,IAAI,IAAI,MAAM,WACrC;CACF;AACF,CAAC;AAED,MAAa,kCAAkC,gBAAgB;CAC7D,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,2BAA2B;EAEvC,aAAa,EAAE,UAAU,IAAI,IAAI,MAAM,0BAA0B,GAA8B,MAAM,UAAU,CAAC;CAClH;AACF,CAAC;AAED,MAAa,6BAA6B,gBAAgB;CACxD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,2BAA2B;EACvC,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,qBAAqB,GAA8B,MAAM,UAAU,CAAC;CAC1G;AACF,CAAC;AAED,MAAa,iCAAiC,gBAAgB;CAC5D,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,2BAA2B;EACvC,aAAa,EAAE,UAAU,IAAI,IAAI,MAAM,yBAAyB,GAA8B,MAAM,UAAU,CAAC;CACjH;AACF,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { useOverlayExit } from "../../runtime/use-overlay-exit.js";
2
+ import { createRuntimeConfig } from "@xihan-ui/core";
3
+ //#region src/components/notification/use-item-exit.ts
4
+ /**
5
+ * 进入 dismissing 之后,卡片的机器等这里交给它的 Presence 把卡片上真实的退场动画播完再转 unmounted。
6
+ * 服务端没有 DOM,不接闸门,机器下一拍自行收起。
7
+ */
8
+ function useNotificationItemExit(options) {
9
+ const { service } = options;
10
+ let config = null;
11
+ if (typeof document !== "undefined") config = createRuntimeConfig({ scope: service.scope });
12
+ useOverlayExit({
13
+ config,
14
+ isOpen: options.isOpen,
15
+ contentRef: options.rootRef,
16
+ onPresence: (presence) => service.refs.set("presence", presence)
17
+ });
18
+ }
19
+ //#endregion
20
+ export { useNotificationItemExit };
21
+
22
+ //# sourceMappingURL=use-item-exit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-item-exit.js","names":[],"sources":["../../../src/components/notification/use-item-exit.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供通知卡片的退场闸门接线。\n\nimport type { RuntimeConfig, Service } from '@xihan-ui/core'\nimport type { NotificationItemSchema } from '@xihan-ui/headless'\nimport type { Ref } from 'vue'\nimport { createRuntimeConfig } from '@xihan-ui/core'\nimport { useOverlayExit } from '../../runtime/use-overlay-exit'\n\nexport interface NotificationItemExitOptions {\n service: Service<NotificationItemSchema>\n /** 还在台上:dismissing 与 unmounted 之外的状态。 */\n isOpen: () => boolean\n /** 卡片根节点,退场动画从它上面探测。 */\n rootRef: Ref<HTMLElement | null>\n}\n\n/**\n * 进入 dismissing 之后,卡片的机器等这里交给它的 Presence 把卡片上真实的退场动画播完再转 unmounted。\n * 服务端没有 DOM,不接闸门,机器下一拍自行收起。\n */\nexport function useNotificationItemExit(options: NotificationItemExitOptions): void {\n const { service } = options\n let config: RuntimeConfig | null = null\n if (typeof document !== 'undefined')\n config = createRuntimeConfig({ scope: service.scope })\n\n useOverlayExit({\n config,\n isOpen: options.isOpen,\n contentRef: options.rootRef,\n onPresence: presence => service.refs.set('presence', presence),\n })\n}\n"],"mappings":";;;;;;;AAyBA,SAAgB,wBAAwB,SAA4C;CAClF,MAAM,EAAE,YAAY;CACpB,IAAI,SAA+B;CACnC,IAAI,OAAO,aAAa,aACtB,SAAS,oBAAoB,EAAE,OAAO,QAAQ,MAAM,CAAC;CAEvD,eAAe;EACb;EACA,QAAQ,QAAQ;EAChB,YAAY,QAAQ;EACpB,aAAY,aAAY,QAAQ,KAAK,IAAI,YAAY,QAAQ;CAC/D,CAAC;AACH"}
@@ -1,14 +1,14 @@
1
1
  import { NotificationContext, NotificationItemContext } from "./context.js";
2
2
  import { MaybeRefOrGetter } from "vue";
3
- import { NotificationSchema, ToastSchema } from "@xihan-ui/headless";
3
+ import { NotificationItemSchema, NotificationSchema } from "@xihan-ui/headless";
4
4
  //#region src/components/notification/use-notification.d.ts
5
5
  /** props 接收 ref/getter 时每帧现取,文案等值可以在运行期更换。 */
6
6
  declare function useNotification(props: MaybeRefOrGetter<NotificationSchema['props']>, onItemsChange?: NotificationSchema['props']['onItemsChange']): NotificationContext;
7
7
  /**
8
- * 单条卡片。生命周期复用 toast 的状态机:那是会自动消失的卡片这一通用行为。
8
+ * 单条卡片:计时、暂停、按压与退场都在它自己的机器上。
9
9
  * 退场完成后由这里通知队列删除记录:队列在外层,卡片自身不知道它。
10
10
  */
11
- declare function useNotificationItem(props: ToastSchema['props'], onStatusChange?: ToastSchema['props']['onStatusChange'], onAction?: ToastSchema['props']['onAction']): NotificationItemContext;
11
+ declare function useNotificationItem(props: NotificationItemSchema['props'], onStatusChange?: NotificationItemSchema['props']['onStatusChange'], onAction?: NotificationItemSchema['props']['onAction']): NotificationItemContext;
12
12
  //#endregion
13
13
  export { useNotification, useNotificationItem };
14
14
  //# sourceMappingURL=use-notification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-notification.d.ts","names":[],"sources":["../../../src/components/notification/use-notification.ts"],"mappings":";;;;;iBAiBgB,gBACd,OAAO,iBAAiB,8BACxB,gBAAgB,+CACf;;;;;iBAiBa,oBACd,OAAO,sBACP,iBAAiB,wCACjB,WAAW,mCACV"}
1
+ {"version":3,"file":"use-notification.d.ts","names":[],"sources":["../../../src/components/notification/use-notification.ts"],"mappings":";;;;;iBAkBgB,gBACd,OAAO,iBAAiB,8BACxB,gBAAgB,+CACf;;;;;iBAqBa,oBACd,OAAO,iCACP,iBAAiB,mDACjB,WAAW,8CACV"}
@@ -1,8 +1,9 @@
1
1
  import { vueNormalize } from "../../runtime/normalize-props.js";
2
2
  import { useMachine } from "../../runtime/use-machine.js";
3
3
  import { useNotificationContextOptional } from "./context.js";
4
- import { computed, toValue } from "vue";
5
- import { connectNotification, connectNotificationItem, notificationMachine, toastMachine } from "@xihan-ui/headless";
4
+ import { useNotificationItemExit } from "./use-item-exit.js";
5
+ import { computed, ref, toValue } from "vue";
6
+ import { connectNotification, connectNotificationItem, notificationItemMachine, notificationMachine } from "@xihan-ui/headless";
6
7
  //#region src/components/notification/use-notification.ts
7
8
  /** props 接收 ref/getter 时每帧现取,文案等值可以在运行期更换。 */
8
9
  function useNotification(props, onItemsChange) {
@@ -11,8 +12,11 @@ function useNotification(props, onItemsChange) {
11
12
  onItemsChange
12
13
  }));
13
14
  const api = computed(() => connectNotification(service, vueNormalize));
15
+ const rootRef = ref(null);
16
+ service.refs.set("getRootEl", () => rootRef.value);
14
17
  return {
15
18
  api,
19
+ rootRef,
16
20
  create: (options) => api.value.create(options),
17
21
  update: (id, options) => api.value.update(id, options),
18
22
  dismiss: (id) => api.value.dismiss(id),
@@ -20,7 +24,7 @@ function useNotification(props, onItemsChange) {
20
24
  };
21
25
  }
22
26
  /**
23
- * 单条卡片。生命周期复用 toast 的状态机:那是会自动消失的卡片这一通用行为。
27
+ * 单条卡片:计时、暂停、按压与退场都在它自己的机器上。
24
28
  * 退场完成后由这里通知队列删除记录:队列在外层,卡片自身不知道它。
25
29
  */
26
30
  function useNotificationItem(props, onStatusChange, onAction) {
@@ -29,12 +33,23 @@ function useNotificationItem(props, onStatusChange, onAction) {
29
33
  onStatusChange?.(details);
30
34
  if (details.status === "unmounted") queue?.dismiss(details.id);
31
35
  };
32
- const service = useMachine(toastMachine, () => ({
36
+ const service = useMachine(notificationItemMachine, () => ({
33
37
  ...props,
34
38
  onStatusChange: notifyStatus,
35
39
  onAction
36
40
  }));
37
- return { api: computed(() => connectNotificationItem(service, vueNormalize)) };
41
+ const api = computed(() => connectNotificationItem(service, vueNormalize));
42
+ const rootRef = ref(null);
43
+ service.refs.set("getRootEl", () => rootRef.value);
44
+ useNotificationItemExit({
45
+ service,
46
+ isOpen: () => api.value.status === "visible",
47
+ rootRef
48
+ });
49
+ return {
50
+ api,
51
+ rootRef
52
+ };
38
53
  }
39
54
  //#endregion
40
55
  export { useNotification, useNotificationItem };
@@ -1 +1 @@
1
- {"version":3,"file":"use-notification.js","names":[],"sources":["../../../src/components/notification/use-notification.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 use notification 相关实现。\n\nimport type { NotificationSchema, ToastSchema } from '@xihan-ui/headless'\nimport type { MaybeRefOrGetter } from 'vue'\nimport type { NotificationContext, NotificationItemContext } from './context'\nimport { connectNotification, connectNotificationItem, notificationMachine, toastMachine } from '@xihan-ui/headless'\nimport { computed, toValue } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\nimport { useNotificationContextOptional } from './context'\n\n/** props 接收 ref/getter 时每帧现取,文案等值可以在运行期更换。 */\nexport function useNotification(\n props: MaybeRefOrGetter<NotificationSchema['props']>,\n onItemsChange?: NotificationSchema['props']['onItemsChange'],\n): NotificationContext {\n const service = useMachine(notificationMachine, () => ({ ...toValue(props), onItemsChange }))\n const api = computed(() => connectNotification(service, vueNormalize))\n // 四个命令在顶层摊平,函数身份稳定,可解构后随时调用且不读取队列\n return {\n api,\n create: options => api.value.create(options),\n update: (id, options) => api.value.update(id, options),\n dismiss: id => api.value.dismiss(id),\n dismissAll: () => api.value.dismissAll(),\n }\n}\n\n/**\n * 单条卡片。生命周期复用 toast 的状态机:那是会自动消失的卡片这一通用行为。\n * 退场完成后由这里通知队列删除记录:队列在外层,卡片自身不知道它。\n */\nexport function useNotificationItem(\n props: ToastSchema['props'],\n onStatusChange?: ToastSchema['props']['onStatusChange'],\n onAction?: ToastSchema['props']['onAction'],\n): NotificationItemContext {\n const queue = useNotificationContextOptional()\n const notifyStatus: ToastSchema['props']['onStatusChange'] = (details) => {\n onStatusChange?.(details)\n if (details.status === 'unmounted')\n queue?.dismiss(details.id)\n }\n const service = useMachine(toastMachine, () => ({ ...props, onStatusChange: notifyStatus, onAction }))\n const api = computed(() => connectNotificationItem(service, vueNormalize))\n return { api }\n}\n"],"mappings":";;;;;;;AAiBA,SAAgB,gBACd,OACA,eACqB;CACrB,MAAM,UAAU,WAAW,4BAA4B;EAAE,GAAG,QAAQ,KAAK;EAAG;CAAc,EAAE;CAC5F,MAAM,MAAM,eAAe,oBAAoB,SAAS,YAAY,CAAC;CAErE,OAAO;EACL;EACA,SAAQ,YAAW,IAAI,MAAM,OAAO,OAAO;EAC3C,SAAS,IAAI,YAAY,IAAI,MAAM,OAAO,IAAI,OAAO;EACrD,UAAS,OAAM,IAAI,MAAM,QAAQ,EAAE;EACnC,kBAAkB,IAAI,MAAM,WAAW;CACzC;AACF;;;;;AAMA,SAAgB,oBACd,OACA,gBACA,UACyB;CACzB,MAAM,QAAQ,+BAA+B;CAC7C,MAAM,gBAAwD,YAAY;EACxE,iBAAiB,OAAO;EACxB,IAAI,QAAQ,WAAW,aACrB,OAAO,QAAQ,QAAQ,EAAE;CAC7B;CACA,MAAM,UAAU,WAAW,qBAAqB;EAAE,GAAG;EAAO,gBAAgB;EAAc;CAAS,EAAE;CAErG,OAAO,EAAE,KADG,eAAe,wBAAwB,SAAS,YAAY,CAC7D,EAAE;AACf"}
1
+ {"version":3,"file":"use-notification.js","names":[],"sources":["../../../src/components/notification/use-notification.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 use notification 相关实现。\n\nimport type { NotificationItemSchema, NotificationSchema } from '@xihan-ui/headless'\nimport type { MaybeRefOrGetter } from 'vue'\nimport type { NotificationContext, NotificationItemContext } from './context'\nimport { connectNotification, connectNotificationItem, notificationItemMachine, notificationMachine } from '@xihan-ui/headless'\nimport { computed, ref, toValue } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\nimport { useNotificationContextOptional } from './context'\nimport { useNotificationItemExit } from './use-item-exit'\n\n/** props 接收 ref/getter 时每帧现取,文案等值可以在运行期更换。 */\nexport function useNotification(\n props: MaybeRefOrGetter<NotificationSchema['props']>,\n onItemsChange?: NotificationSchema['props']['onItemsChange'],\n): NotificationContext {\n const service = useMachine(notificationMachine, () => ({ ...toValue(props), onItemsChange }))\n const api = computed(() => connectNotification(service, vueNormalize))\n const rootRef = ref<HTMLElement | null>(null)\n // 传 getter 而非节点本身,ref 在挂载后才有值\n service.refs.set('getRootEl', () => rootRef.value)\n // 四个命令在顶层摊平,函数身份稳定,可解构后随时调用且不读取队列\n return {\n api,\n rootRef,\n create: options => api.value.create(options),\n update: (id, options) => api.value.update(id, options),\n dismiss: id => api.value.dismiss(id),\n dismissAll: () => api.value.dismissAll(),\n }\n}\n\n/**\n * 单条卡片:计时、暂停、按压与退场都在它自己的机器上。\n * 退场完成后由这里通知队列删除记录:队列在外层,卡片自身不知道它。\n */\nexport function useNotificationItem(\n props: NotificationItemSchema['props'],\n onStatusChange?: NotificationItemSchema['props']['onStatusChange'],\n onAction?: NotificationItemSchema['props']['onAction'],\n): NotificationItemContext {\n const queue = useNotificationContextOptional()\n const notifyStatus: NotificationItemSchema['props']['onStatusChange'] = (details) => {\n onStatusChange?.(details)\n if (details.status === 'unmounted')\n queue?.dismiss(details.id)\n }\n const service = useMachine(notificationItemMachine, () => ({ ...props, onStatusChange: notifyStatus, onAction }))\n const api = computed(() => connectNotificationItem(service, vueNormalize))\n const rootRef = ref<HTMLElement | null>(null)\n // 传 getter 而非节点本身,ref 在挂载后才有值;叠摞展开的追踪从它找所在的那一摞\n service.refs.set('getRootEl', () => rootRef.value)\n useNotificationItemExit({ service, isOpen: () => api.value.status === 'visible', rootRef })\n return { api, rootRef }\n}\n"],"mappings":";;;;;;;;AAkBA,SAAgB,gBACd,OACA,eACqB;CACrB,MAAM,UAAU,WAAW,4BAA4B;EAAE,GAAG,QAAQ,KAAK;EAAG;CAAc,EAAE;CAC5F,MAAM,MAAM,eAAe,oBAAoB,SAAS,YAAY,CAAC;CACrE,MAAM,UAAU,IAAwB,IAAI;CAE5C,QAAQ,KAAK,IAAI,mBAAmB,QAAQ,KAAK;CAEjD,OAAO;EACL;EACA;EACA,SAAQ,YAAW,IAAI,MAAM,OAAO,OAAO;EAC3C,SAAS,IAAI,YAAY,IAAI,MAAM,OAAO,IAAI,OAAO;EACrD,UAAS,OAAM,IAAI,MAAM,QAAQ,EAAE;EACnC,kBAAkB,IAAI,MAAM,WAAW;CACzC;AACF;;;;;AAMA,SAAgB,oBACd,OACA,gBACA,UACyB;CACzB,MAAM,QAAQ,+BAA+B;CAC7C,MAAM,gBAAmE,YAAY;EACnF,iBAAiB,OAAO;EACxB,IAAI,QAAQ,WAAW,aACrB,OAAO,QAAQ,QAAQ,EAAE;CAC7B;CACA,MAAM,UAAU,WAAW,gCAAgC;EAAE,GAAG;EAAO,gBAAgB;EAAc;CAAS,EAAE;CAChH,MAAM,MAAM,eAAe,wBAAwB,SAAS,YAAY,CAAC;CACzE,MAAM,UAAU,IAAwB,IAAI;CAE5C,QAAQ,KAAK,IAAI,mBAAmB,QAAQ,KAAK;CACjD,wBAAwB;EAAE;EAAS,cAAc,IAAI,MAAM,WAAW;EAAW;CAAQ,CAAC;CAC1F,OAAO;EAAE;EAAK;CAAQ;AACxB"}
@@ -1,10 +1,10 @@
1
1
  import { PayloadOf } from "../../runtime/payload.js";
2
2
  import { PropType, SlotsType, VNode } from "vue";
3
3
  import { Size, Tone } from "@xihan-ui/core";
4
- import { NumberAnimationApi, NumberAnimationCompleteDetails, NumberAnimationEasing, NumberAnimationLive, NumberAnimationSchema } from "@xihan-ui/headless";
4
+ import { NumberAnimationApi, NumberAnimationCompleteDetails, NumberAnimationEasing, NumberAnimationFormatOptions, NumberAnimationLive, NumberAnimationSchema } from "@xihan-ui/headless";
5
5
  //#region src/components/number-animation/number-animation.d.ts
6
6
  type NumberAnimationProps = NumberAnimationSchema['props'];
7
- /** 默认插槽的载荷:当前帧的数值,以及它按 precision 与 separator 格式化后的文本。 */
7
+ /** 默认插槽的载荷:当前帧的数值,以及它按 locale、precision、separator 与 formatOptions 格式化后的文本。 */
8
8
  type NumberAnimationSlotProps = Pick<NumberAnimationApi, 'value' | 'text'>;
9
9
  /**
10
10
  * 一段自动变化的数字:从 from 补间到 to,逐帧计算值,格式化后写入根中。
@@ -31,6 +31,12 @@ declare const XhNumberAnimation: import("vue").DefineComponent<import("vue").Ext
31
31
  separator: {
32
32
  type: StringConstructor;
33
33
  };
34
+ locale: {
35
+ type: StringConstructor;
36
+ };
37
+ formatOptions: {
38
+ type: PropType<NumberAnimationFormatOptions>;
39
+ };
34
40
  active: {
35
41
  type: BooleanConstructor;
36
42
  default: undefined;
@@ -67,6 +73,12 @@ declare const XhNumberAnimation: import("vue").DefineComponent<import("vue").Ext
67
73
  separator: {
68
74
  type: StringConstructor;
69
75
  };
76
+ locale: {
77
+ type: StringConstructor;
78
+ };
79
+ formatOptions: {
80
+ type: PropType<NumberAnimationFormatOptions>;
81
+ };
70
82
  active: {
71
83
  type: BooleanConstructor;
72
84
  default: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"number-animation.d.ts","names":[],"sources":["../../../src/components/number-animation/number-animation.ts"],"mappings":";;;;;KAiBK,uBAAuB;;KAGhB,2BAA2B,KAAK;;;;;;;cAQ/B,iCAAiB,8BAAA;;;;;;;;;;;IAOA,MAAA,SAAS;;;;;;;;;;;;;IAIX,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACT,MAAA,SAAS;;;;;EAGZ,WAAA,UAAA,UAAU;;;;;;;;;;;;IATL,MAAA,SAAS;;;;;;;;;;;;;IAIX,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACT,MAAA,SAAS;;;;;;;EAMvB,WAAC,OAAO,6BAA6B;kCAoBjD"}
1
+ {"version":3,"file":"number-animation.d.ts","names":[],"sources":["../../../src/components/number-animation/number-animation.ts"],"mappings":";;;;;KAmBK,uBAAuB;;KAGhB,2BAA2B,KAAK;;;;;;;cAQ/B,iCAAiB,8BAAA;;;;;;;;;;;IAOA,MAAA,SAAS;;;;;;;;;;;;IAIF,MAAA,SAAS;;;;;;;IAElB,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACT,MAAA,SAAS;;;;;EAGZ,WAAA,UAAA,UAAU;;;;;;;;;;;;IAXL,MAAA,SAAS;;;;;;;;;;;;IAIF,MAAA,SAAS;;;;;;;IAElB,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACT,MAAA,SAAS;;;;;;;EAMvB,WAAC,OAAO,6BAA6B;kCAoBjD"}
@@ -1,7 +1,9 @@
1
1
  import { vueNormalize } from "../../runtime/normalize-props.js";
2
2
  import { useMachine } from "../../runtime/use-machine.js";
3
+ import { createVueIdGenerator } from "../../runtime/vue-id.js";
3
4
  import { slotPaints } from "../../runtime/slot-content.js";
4
5
  import { computed, defineComponent, h } from "vue";
6
+ import { createScope } from "@xihan-ui/core";
5
7
  import { connectNumberAnimation, numberAnimationMachine } from "@xihan-ui/headless";
6
8
  //#region src/components/number-animation/number-animation.ts
7
9
  /**
@@ -19,6 +21,8 @@ const XhNumberAnimation = defineComponent({
19
21
  easing: { type: String },
20
22
  precision: { type: Number },
21
23
  separator: { type: String },
24
+ locale: { type: String },
25
+ formatOptions: { type: Object },
22
26
  active: {
23
27
  type: Boolean,
24
28
  default: void 0
@@ -36,7 +40,7 @@ const XhNumberAnimation = defineComponent({
36
40
  const service = useMachine(numberAnimationMachine, () => ({
37
41
  ...props,
38
42
  onComplete: notify
39
- }));
43
+ }), createScope(null, createVueIdGenerator()));
40
44
  const api = computed(() => connectNumberAnimation(service, vueNormalize));
41
45
  return () => {
42
46
  const current = api.value;
@@ -1 +1 @@
1
- {"version":3,"file":"number-animation.js","names":[],"sources":["../../../src/components/number-animation/number-animation.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 number animation 相关实现。\n\nimport type { Size, Tone } from '@xihan-ui/core'\nimport type { NumberAnimationApi, NumberAnimationCompleteDetails, NumberAnimationEasing, NumberAnimationLive, NumberAnimationSchema } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { connectNumberAnimation, numberAnimationMachine } from '@xihan-ui/headless'\nimport { computed, defineComponent, h } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { slotPaints } from '../../runtime/slot-content'\nimport { useMachine } from '../../runtime/use-machine'\n\ntype NumberAnimationProps = NumberAnimationSchema['props']\n\n/** 默认插槽的载荷:当前帧的数值,以及它按 precision 与 separator 格式化后的文本。 */\nexport type NumberAnimationSlotProps = Pick<NumberAnimationApi, 'value' | 'text'>\n\n/**\n * 一段自动变化的数字:从 from 补间到 to,逐帧计算值,格式化后写入根中。\n *\n * 默认插槽可得到 `{ value, text }`,插入内容后由作者自行排版;\n * 未插入任何内容时根中即为格式化后的文本。\n */\nexport const XhNumberAnimation = defineComponent({\n name: 'XhNumberAnimation',\n // 缺省值由机器与 connect 给出;普通类型省略 default,Boolean 显式保留 undefined\n props: {\n from: { type: Number },\n to: { type: Number },\n duration: { type: Number },\n easing: { type: String as PropType<NumberAnimationEasing> },\n precision: { type: Number },\n separator: { type: String },\n active: { type: Boolean, default: undefined },\n size: { type: String as PropType<Size> },\n tone: { type: String as PropType<Tone> },\n live: { type: String as PropType<NumberAnimationLive> },\n },\n emits: {\n complete: (_details: PayloadOf<NumberAnimationProps, 'onComplete'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: NumberAnimationSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notify: NumberAnimationProps['onComplete'] = (details: NumberAnimationCompleteDetails) => {\n emit('complete', details)\n }\n const service = useMachine(numberAnimationMachine, () => ({ ...props, onComplete: notify }))\n const api = computed(() => connectNumberAnimation(service, vueNormalize))\n\n return () => {\n const current = api.value\n const content = slots.default?.({ value: current.value, text: current.text })\n return h(\n 'span',\n current.getRootProps() as Record<string, unknown>,\n // 插槽为空(含 v-if 落空只剩注释节点)时退回组件自己铺好的那串字\n slotPaints(content) ? content : current.text,\n )\n }\n },\n})\n"],"mappings":";;;;;;;;;;;;AA4BA,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CAEN,OAAO;EACL,MAAM,EAAE,MAAM,OAAO;EACrB,IAAI,EAAE,MAAM,OAAO;EACnB,UAAU,EAAE,MAAM,OAAO;EACzB,QAAQ,EAAE,MAAM,OAA0C;EAC1D,WAAW,EAAE,MAAM,OAAO;EAC1B,WAAW,EAAE,MAAM,OAAO;EAC1B,QAAQ;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC5C,MAAM,EAAE,MAAM,OAAyB;EACvC,MAAM,EAAE,MAAM,OAAyB;EACvC,MAAM,EAAE,MAAM,OAAwC;CACxD;CACA,OAAO,EACL,WAAW,aAA4D,KACzE;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,UAA8C,YAA4C;GAC9F,KAAK,YAAY,OAAO;EAC1B;EACA,MAAM,UAAU,WAAW,+BAA+B;GAAE,GAAG;GAAO,YAAY;EAAO,EAAE;EAC3F,MAAM,MAAM,eAAe,uBAAuB,SAAS,YAAY,CAAC;EAExE,aAAa;GACX,MAAM,UAAU,IAAI;GACpB,MAAM,UAAU,MAAM,UAAU;IAAE,OAAO,QAAQ;IAAO,MAAM,QAAQ;GAAK,CAAC;GAC5E,OAAO,EACL,QACA,QAAQ,aAAa,GAErB,WAAW,OAAO,IAAI,UAAU,QAAQ,IAC1C;EACF;CACF;AACF,CAAC"}
1
+ {"version":3,"file":"number-animation.js","names":[],"sources":["../../../src/components/number-animation/number-animation.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-Present XiHanFun and contributors.\n * Licensed under the MIT License. See LICENSE in the project root for license information.\n */\n\n// 提供 number animation 相关实现。\n\nimport type { Size, Tone } from '@xihan-ui/core'\nimport type { NumberAnimationApi, NumberAnimationCompleteDetails, NumberAnimationEasing, NumberAnimationFormatOptions, NumberAnimationLive, NumberAnimationSchema } from '@xihan-ui/headless'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { createScope } from '@xihan-ui/core'\nimport { connectNumberAnimation, numberAnimationMachine } from '@xihan-ui/headless'\nimport { computed, defineComponent, h } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { slotPaints } from '../../runtime/slot-content'\nimport { useMachine } from '../../runtime/use-machine'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\n\ntype NumberAnimationProps = NumberAnimationSchema['props']\n\n/** 默认插槽的载荷:当前帧的数值,以及它按 locale、precision、separator 与 formatOptions 格式化后的文本。 */\nexport type NumberAnimationSlotProps = Pick<NumberAnimationApi, 'value' | 'text'>\n\n/**\n * 一段自动变化的数字:从 from 补间到 to,逐帧计算值,格式化后写入根中。\n *\n * 默认插槽可得到 `{ value, text }`,插入内容后由作者自行排版;\n * 未插入任何内容时根中即为格式化后的文本。\n */\nexport const XhNumberAnimation = defineComponent({\n name: 'XhNumberAnimation',\n // 缺省值由机器与 connect 给出;普通类型省略 default,Boolean 显式保留 undefined\n props: {\n from: { type: Number },\n to: { type: Number },\n duration: { type: Number },\n easing: { type: String as PropType<NumberAnimationEasing> },\n precision: { type: Number },\n separator: { type: String },\n locale: { type: String },\n formatOptions: { type: Object as PropType<NumberAnimationFormatOptions> },\n active: { type: Boolean, default: undefined },\n size: { type: String as PropType<Size> },\n tone: { type: String as PropType<Tone> },\n live: { type: String as PropType<NumberAnimationLive> },\n },\n emits: {\n complete: (_details: PayloadOf<NumberAnimationProps, 'onComplete'>) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: NumberAnimationSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notify: NumberAnimationProps['onComplete'] = (details: NumberAnimationCompleteDetails) => {\n emit('complete', details)\n }\n const service = useMachine(numberAnimationMachine, () => ({ ...props, onComplete: notify }), createScope(null, createVueIdGenerator()))\n const api = computed(() => connectNumberAnimation(service, vueNormalize))\n\n return () => {\n const current = api.value\n const content = slots.default?.({ value: current.value, text: current.text })\n return h(\n 'span',\n current.getRootProps() as Record<string, unknown>,\n // 插槽为空(含 v-if 落空只剩注释节点)时退回组件自己铺好的那串字\n slotPaints(content) ? content : current.text,\n )\n }\n },\n})\n"],"mappings":";;;;;;;;;;;;;;AA8BA,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CAEN,OAAO;EACL,MAAM,EAAE,MAAM,OAAO;EACrB,IAAI,EAAE,MAAM,OAAO;EACnB,UAAU,EAAE,MAAM,OAAO;EACzB,QAAQ,EAAE,MAAM,OAA0C;EAC1D,WAAW,EAAE,MAAM,OAAO;EAC1B,WAAW,EAAE,MAAM,OAAO;EAC1B,QAAQ,EAAE,MAAM,OAAO;EACvB,eAAe,EAAE,MAAM,OAAiD;EACxE,QAAQ;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC5C,MAAM,EAAE,MAAM,OAAyB;EACvC,MAAM,EAAE,MAAM,OAAyB;EACvC,MAAM,EAAE,MAAM,OAAwC;CACxD;CACA,OAAO,EACL,WAAW,aAA4D,KACzE;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,UAA8C,YAA4C;GAC9F,KAAK,YAAY,OAAO;EAC1B;EACA,MAAM,UAAU,WAAW,+BAA+B;GAAE,GAAG;GAAO,YAAY;EAAO,IAAI,YAAY,MAAM,qBAAqB,CAAC,CAAC;EACtI,MAAM,MAAM,eAAe,uBAAuB,SAAS,YAAY,CAAC;EAExE,aAAa;GACX,MAAM,UAAU,IAAI;GACpB,MAAM,UAAU,MAAM,UAAU;IAAE,OAAO,QAAQ;IAAO,MAAM,QAAQ;GAAK,CAAC;GAC5E,OAAO,EACL,QACA,QAAQ,aAAa,GAErB,WAAW,OAAO,IAAI,UAAU,QAAQ,IAC1C;EACF;CACF;AACF,CAAC"}
@@ -5,7 +5,7 @@ import { NumberFieldApi, NumberFieldSchema } from "@xihan-ui/headless";
5
5
  //#region src/components/number-field/number-field.d.ts
6
6
  type NumberFieldProps = NumberFieldSchema['props'];
7
7
  /** 默认插槽的载荷:原始输入串与其数值、增减是否仍可进行,以及写值、增减的命令。 */
8
- type NumberFieldRootSlotProps = Pick<NumberFieldApi, 'value' | 'valueAsNumber' | 'empty' | 'canIncrement' | 'canDecrement' | 'setValue' | 'increment' | 'decrement'>;
8
+ type NumberFieldRootSlotProps = Pick<NumberFieldApi, 'value' | 'valueAsNumber' | 'empty' | 'canIncrement' | 'canDecrement' | 'outOfRange' | 'setValue' | 'increment' | 'decrement'>;
9
9
  declare const XhNumberFieldRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
10
  value: {
11
11
  type: StringConstructor;
@@ -50,6 +50,13 @@ declare const XhNumberFieldRoot: import("vue").DefineComponent<import("vue").Ext
50
50
  changeInterval: {
51
51
  type: NumberConstructor;
52
52
  };
53
+ minChangeInterval: {
54
+ type: NumberConstructor;
55
+ };
56
+ clampValueOnBlur: {
57
+ type: BooleanConstructor;
58
+ default: undefined;
59
+ };
53
60
  variant: {
54
61
  type: PropType<ControlVariant>;
55
62
  };
@@ -114,6 +121,13 @@ declare const XhNumberFieldRoot: import("vue").DefineComponent<import("vue").Ext
114
121
  changeInterval: {
115
122
  type: NumberConstructor;
116
123
  };
124
+ minChangeInterval: {
125
+ type: NumberConstructor;
126
+ };
127
+ clampValueOnBlur: {
128
+ type: BooleanConstructor;
129
+ default: undefined;
130
+ };
117
131
  variant: {
118
132
  type: PropType<ControlVariant>;
119
133
  };
@@ -137,6 +151,7 @@ declare const XhNumberFieldRoot: import("vue").DefineComponent<import("vue").Ext
137
151
  invalid: boolean;
138
152
  disabled: boolean;
139
153
  readOnly: boolean;
154
+ clampValueOnBlur: boolean;
140
155
  }, SlotsType<{
141
156
  default?: (props: NumberFieldRootSlotProps) => VNode[];
142
157
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"number-field.d.ts","names":[],"sources":["../../../src/components/number-field/number-field.ts"],"mappings":";;;;;KAiBK,mBAAmB;;KAGZ,2BAA2B,KACrC;cAIW,iCAAiB,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBC,MAAA,SAAS;;;IACZ,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACN,MAAA,SAAS;;;IACR,MAAA,SAAS;;;;;EAIV,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IATR,MAAA,SAAS;;;IACZ,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACN,MAAA,SAAS;;;IACR,MAAA,SAAS;;;;;;;;;;;EAQ3B,WAAC,OAAO,6BAA6B;kCAoBjD;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAM7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAO/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAU7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAMxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAMxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"number-field.d.ts","names":[],"sources":["../../../src/components/number-field/number-field.ts"],"mappings":";;;;;KAiBK,mBAAmB;;KAGZ,2BAA2B,KACrC;cAIW,iCAAiB,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBC,MAAA,SAAS;;;IACZ,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACN,MAAA,SAAS;;;IACR,MAAA,SAAS;;;;;EAIV,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IATR,MAAA,SAAS;;;IACZ,MAAA,SAAS;;;IACT,MAAA,SAAS;;;IACN,MAAA,SAAS;;;IACR,MAAA,SAAS;;;;;;;;;;;;EAQ3B,WAAC,OAAO,6BAA6B;kCAqBjD;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAM7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAO/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAU7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAMxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAMxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}