@xihan-ui/vue 1.0.0-alpha.2 → 1.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 (780) hide show
  1. package/CHANGELOG.md +2615 -0
  2. package/README.md +1 -1
  3. package/dist/backgrounds.d.ts.map +1 -1
  4. package/dist/backgrounds.js +1 -5
  5. package/dist/backgrounds.js.map +1 -1
  6. package/dist/behavior.d.ts +38 -0
  7. package/dist/behavior.d.ts.map +1 -0
  8. package/dist/behavior.js +74 -0
  9. package/dist/behavior.js.map +1 -0
  10. package/dist/components/accordion/accordion.d.ts.map +1 -1
  11. package/dist/components/accordion/accordion.js +15 -2
  12. package/dist/components/accordion/accordion.js.map +1 -1
  13. package/dist/components/accordion/context.js +2 -2
  14. package/dist/components/accordion/context.js.map +1 -1
  15. package/dist/components/accordion/use-accordion.d.ts +3 -0
  16. package/dist/components/accordion/use-accordion.d.ts.map +1 -1
  17. package/dist/components/accordion/use-accordion.js +14 -3
  18. package/dist/components/accordion/use-accordion.js.map +1 -1
  19. package/dist/components/affix/context.js +1 -1
  20. package/dist/components/affix/context.js.map +1 -1
  21. package/dist/components/alert/context.js +1 -1
  22. package/dist/components/alert/context.js.map +1 -1
  23. package/dist/components/anchor/anchor.d.ts +1 -1
  24. package/dist/components/anchor/context.js +1 -1
  25. package/dist/components/anchor/context.js.map +1 -1
  26. package/dist/components/avatar/context.js +1 -1
  27. package/dist/components/avatar/context.js.map +1 -1
  28. package/dist/components/avatar-group/avatar-group.d.ts.map +1 -1
  29. package/dist/components/avatar-group/avatar-group.js +2 -1
  30. package/dist/components/avatar-group/avatar-group.js.map +1 -1
  31. package/dist/components/avatar-group/context.js +1 -1
  32. package/dist/components/avatar-group/context.js.map +1 -1
  33. package/dist/components/back-top/back-top.d.ts +1 -1
  34. package/dist/components/back-top/context.js +1 -1
  35. package/dist/components/back-top/context.js.map +1 -1
  36. package/dist/components/badge/badge.d.ts +159 -11
  37. package/dist/components/badge/badge.d.ts.map +1 -1
  38. package/dist/components/badge/badge.js +68 -8
  39. package/dist/components/badge/badge.js.map +1 -1
  40. package/dist/components/badge/context.js +15 -0
  41. package/dist/components/badge/context.js.map +1 -0
  42. package/dist/components/breadcrumb/context.js +1 -1
  43. package/dist/components/breadcrumb/context.js.map +1 -1
  44. package/dist/components/button-group/button-group.d.ts.map +1 -1
  45. package/dist/components/button-group/button-group.js +2 -1
  46. package/dist/components/button-group/button-group.js.map +1 -1
  47. package/dist/components/button.d.ts +13 -6
  48. package/dist/components/button.d.ts.map +1 -1
  49. package/dist/components/button.js +11 -2
  50. package/dist/components/button.js.map +1 -1
  51. package/dist/components/calendar/calendar.d.ts +167 -7
  52. package/dist/components/calendar/calendar.d.ts.map +1 -1
  53. package/dist/components/calendar/calendar.js +125 -16
  54. package/dist/components/calendar/calendar.js.map +1 -1
  55. package/dist/components/calendar/context.js +2 -2
  56. package/dist/components/calendar/context.js.map +1 -1
  57. package/dist/components/calendar/use-calendar.d.ts +1 -1
  58. package/dist/components/calendar/use-calendar.d.ts.map +1 -1
  59. package/dist/components/calendar/use-calendar.js +3 -2
  60. package/dist/components/calendar/use-calendar.js.map +1 -1
  61. package/dist/components/card/card.d.ts +1 -1
  62. package/dist/components/card/card.d.ts.map +1 -1
  63. package/dist/components/card/card.js +2 -1
  64. package/dist/components/card/card.js.map +1 -1
  65. package/dist/components/card/context.js +1 -1
  66. package/dist/components/card/context.js.map +1 -1
  67. package/dist/components/carousel/context.js +1 -1
  68. package/dist/components/carousel/context.js.map +1 -1
  69. package/dist/components/cascader/cascader.d.ts +7 -4
  70. package/dist/components/cascader/cascader.d.ts.map +1 -1
  71. package/dist/components/cascader/cascader.js +28 -9
  72. package/dist/components/cascader/cascader.js.map +1 -1
  73. package/dist/components/cascader/context.js +2 -2
  74. package/dist/components/cascader/context.js.map +1 -1
  75. package/dist/components/cascader/use-cascader.d.ts +4 -0
  76. package/dist/components/cascader/use-cascader.d.ts.map +1 -1
  77. package/dist/components/cascader/use-cascader.js +15 -4
  78. package/dist/components/cascader/use-cascader.js.map +1 -1
  79. package/dist/components/checkbox/checkbox.d.ts +17 -3
  80. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  81. package/dist/components/checkbox/checkbox.js +12 -2
  82. package/dist/components/checkbox/checkbox.js.map +1 -1
  83. package/dist/components/checkbox-group/context.js +2 -2
  84. package/dist/components/checkbox-group/context.js.map +1 -1
  85. package/dist/components/clipboard/context.js +1 -1
  86. package/dist/components/clipboard/context.js.map +1 -1
  87. package/dist/components/code-block/code-block.d.ts +3 -0
  88. package/dist/components/code-block/code-block.d.ts.map +1 -1
  89. package/dist/components/code-block/code-block.js +2 -0
  90. package/dist/components/code-block/code-block.js.map +1 -1
  91. package/dist/components/collapsible/collapsible.d.ts +10 -2
  92. package/dist/components/collapsible/collapsible.d.ts.map +1 -1
  93. package/dist/components/collapsible/collapsible.js +21 -3
  94. package/dist/components/collapsible/collapsible.js.map +1 -1
  95. package/dist/components/collapsible/context.js +1 -1
  96. package/dist/components/collapsible/context.js.map +1 -1
  97. package/dist/components/collapsible/use-collapsible.d.ts +4 -1
  98. package/dist/components/collapsible/use-collapsible.d.ts.map +1 -1
  99. package/dist/components/collapsible/use-collapsible.js +22 -4
  100. package/dist/components/collapsible/use-collapsible.js.map +1 -1
  101. package/dist/components/color-picker/color-picker.d.ts +16 -4
  102. package/dist/components/color-picker/color-picker.d.ts.map +1 -1
  103. package/dist/components/color-picker/color-picker.js +21 -6
  104. package/dist/components/color-picker/color-picker.js.map +1 -1
  105. package/dist/components/color-picker/context.js +2 -2
  106. package/dist/components/color-picker/context.js.map +1 -1
  107. package/dist/components/color-picker/use-color-picker.d.ts +4 -0
  108. package/dist/components/color-picker/use-color-picker.d.ts.map +1 -1
  109. package/dist/components/color-picker/use-color-picker.js +14 -3
  110. package/dist/components/color-picker/use-color-picker.js.map +1 -1
  111. package/dist/components/combobox/combobox.d.ts +15 -1
  112. package/dist/components/combobox/combobox.d.ts.map +1 -1
  113. package/dist/components/combobox/combobox.js +26 -12
  114. package/dist/components/combobox/combobox.js.map +1 -1
  115. package/dist/components/combobox/context.js +3 -3
  116. package/dist/components/combobox/context.js.map +1 -1
  117. package/dist/components/combobox/use-combobox.d.ts +4 -0
  118. package/dist/components/combobox/use-combobox.d.ts.map +1 -1
  119. package/dist/components/combobox/use-combobox.js +15 -4
  120. package/dist/components/combobox/use-combobox.js.map +1 -1
  121. package/dist/components/composer/context.js +1 -1
  122. package/dist/components/composer/context.js.map +1 -1
  123. package/dist/components/context-menu/context-menu.d.ts +45 -4
  124. package/dist/components/context-menu/context-menu.d.ts.map +1 -1
  125. package/dist/components/context-menu/context-menu.js +63 -17
  126. package/dist/components/context-menu/context-menu.js.map +1 -1
  127. package/dist/components/context-menu/context.js +5 -5
  128. package/dist/components/context-menu/context.js.map +1 -1
  129. package/dist/components/context-menu/use-context-menu.d.ts +4 -0
  130. package/dist/components/context-menu/use-context-menu.d.ts.map +1 -1
  131. package/dist/components/context-menu/use-context-menu.js +15 -4
  132. package/dist/components/context-menu/use-context-menu.js.map +1 -1
  133. package/dist/components/date-field/context.js +1 -1
  134. package/dist/components/date-field/context.js.map +1 -1
  135. package/dist/components/date-field/date-field.d.ts +38 -10
  136. package/dist/components/date-field/date-field.d.ts.map +1 -1
  137. package/dist/components/date-field/date-field.js +35 -9
  138. package/dist/components/date-field/date-field.js.map +1 -1
  139. package/dist/components/date-picker/context.js +17 -8
  140. package/dist/components/date-picker/context.js.map +1 -1
  141. package/dist/components/date-picker/date-picker.d.ts +291 -16
  142. package/dist/components/date-picker/date-picker.d.ts.map +1 -1
  143. package/dist/components/date-picker/date-picker.js +248 -36
  144. package/dist/components/date-picker/date-picker.js.map +1 -1
  145. package/dist/components/date-picker/use-date-picker.d.ts +5 -1
  146. package/dist/components/date-picker/use-date-picker.d.ts.map +1 -1
  147. package/dist/components/date-picker/use-date-picker.js +15 -4
  148. package/dist/components/date-picker/use-date-picker.js.map +1 -1
  149. package/dist/components/descriptions/context.js +1 -1
  150. package/dist/components/descriptions/context.js.map +1 -1
  151. package/dist/components/descriptions/descriptions.d.ts.map +1 -1
  152. package/dist/components/descriptions/descriptions.js +6 -4
  153. package/dist/components/descriptions/descriptions.js.map +1 -1
  154. package/dist/components/dialog/context.js +1 -1
  155. package/dist/components/dialog/context.js.map +1 -1
  156. package/dist/components/dialog/dialog.d.ts +20 -3
  157. package/dist/components/dialog/dialog.d.ts.map +1 -1
  158. package/dist/components/dialog/dialog.js +23 -6
  159. package/dist/components/dialog/dialog.js.map +1 -1
  160. package/dist/components/dialog/use-dialog.d.ts +2 -0
  161. package/dist/components/dialog/use-dialog.d.ts.map +1 -1
  162. package/dist/components/dialog/use-dialog.js +9 -4
  163. package/dist/components/dialog/use-dialog.js.map +1 -1
  164. package/dist/components/download-trigger/download-trigger.d.ts +66 -0
  165. package/dist/components/download-trigger/download-trigger.d.ts.map +1 -0
  166. package/dist/components/download-trigger/download-trigger.js +56 -0
  167. package/dist/components/download-trigger/download-trigger.js.map +1 -0
  168. package/dist/components/download-trigger/use-download-trigger.d.ts +10 -0
  169. package/dist/components/download-trigger/use-download-trigger.d.ts.map +1 -0
  170. package/dist/components/download-trigger/use-download-trigger.js +16 -0
  171. package/dist/components/download-trigger/use-download-trigger.js.map +1 -0
  172. package/dist/components/drawer/context.js +1 -1
  173. package/dist/components/drawer/context.js.map +1 -1
  174. package/dist/components/drawer/drawer.d.ts +52 -4
  175. package/dist/components/drawer/drawer.d.ts.map +1 -1
  176. package/dist/components/drawer/drawer.js +39 -7
  177. package/dist/components/drawer/drawer.js.map +1 -1
  178. package/dist/components/drawer/use-drawer.d.ts +3 -1
  179. package/dist/components/drawer/use-drawer.d.ts.map +1 -1
  180. package/dist/components/drawer/use-drawer.js +11 -5
  181. package/dist/components/drawer/use-drawer.js.map +1 -1
  182. package/dist/components/dynamic-input/context.js +2 -2
  183. package/dist/components/dynamic-input/context.js.map +1 -1
  184. package/dist/components/dynamic-input/dynamic-input.d.ts +2 -2
  185. package/dist/components/dynamic-input/dynamic-input.d.ts.map +1 -1
  186. package/dist/components/dynamic-input/dynamic-input.js +4 -4
  187. package/dist/components/dynamic-input/dynamic-input.js.map +1 -1
  188. package/dist/components/editable/context.js +1 -1
  189. package/dist/components/editable/context.js.map +1 -1
  190. package/dist/components/ellipsis/ellipsis.d.ts +1 -1
  191. package/dist/components/empty-state/context.js +1 -1
  192. package/dist/components/empty-state/context.js.map +1 -1
  193. package/dist/components/empty-state/empty-state.d.ts.map +1 -1
  194. package/dist/components/empty-state/empty-state.js +2 -1
  195. package/dist/components/empty-state/empty-state.js.map +1 -1
  196. package/dist/components/field/context.d.ts +9 -0
  197. package/dist/components/field/context.d.ts.map +1 -0
  198. package/dist/components/field/context.js +6 -2
  199. package/dist/components/field/context.js.map +1 -1
  200. package/dist/components/field/field.d.ts +35 -2
  201. package/dist/components/field/field.d.ts.map +1 -1
  202. package/dist/components/field/field.js +31 -4
  203. package/dist/components/field/field.js.map +1 -1
  204. package/dist/components/field/use-field-control.d.ts +41 -0
  205. package/dist/components/field/use-field-control.d.ts.map +1 -0
  206. package/dist/components/field/use-field-control.js +77 -0
  207. package/dist/components/field/use-field-control.js.map +1 -0
  208. package/dist/components/fieldset/context.d.ts +6 -0
  209. package/dist/components/fieldset/context.d.ts.map +1 -0
  210. package/dist/components/fieldset/context.js +15 -0
  211. package/dist/components/fieldset/context.js.map +1 -0
  212. package/dist/components/fieldset/fieldset.d.ts +57 -0
  213. package/dist/components/fieldset/fieldset.d.ts.map +1 -0
  214. package/dist/components/fieldset/fieldset.js +56 -0
  215. package/dist/components/fieldset/fieldset.js.map +1 -0
  216. package/dist/components/fieldset/use-fieldset.d.ts +10 -0
  217. package/dist/components/fieldset/use-fieldset.d.ts.map +1 -0
  218. package/dist/components/fieldset/use-fieldset.js +14 -0
  219. package/dist/components/fieldset/use-fieldset.js.map +1 -0
  220. package/dist/components/file-upload/context.js +2 -2
  221. package/dist/components/file-upload/context.js.map +1 -1
  222. package/dist/components/file-upload/file-upload.d.ts +11 -3
  223. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  224. package/dist/components/file-upload/file-upload.js +15 -3
  225. package/dist/components/file-upload/file-upload.js.map +1 -1
  226. package/dist/components/flex/flex.d.ts +10 -1
  227. package/dist/components/flex/flex.d.ts.map +1 -1
  228. package/dist/components/flex/flex.js +4 -0
  229. package/dist/components/flex/flex.js.map +1 -1
  230. package/dist/components/float-button/context.js +1 -1
  231. package/dist/components/float-button/context.js.map +1 -1
  232. package/dist/components/float-button/float-button.d.ts +2 -2
  233. package/dist/components/floating-panel/context.d.ts +6 -0
  234. package/dist/components/floating-panel/context.d.ts.map +1 -0
  235. package/dist/components/floating-panel/context.js +15 -0
  236. package/dist/components/floating-panel/context.js.map +1 -0
  237. package/dist/components/floating-panel/floating-panel.d.ts +216 -0
  238. package/dist/components/floating-panel/floating-panel.d.ts.map +1 -0
  239. package/dist/components/floating-panel/floating-panel.js +202 -0
  240. package/dist/components/floating-panel/floating-panel.js.map +1 -0
  241. package/dist/components/floating-panel/use-floating-panel.d.ts +18 -0
  242. package/dist/components/floating-panel/use-floating-panel.d.ts.map +1 -0
  243. package/dist/components/floating-panel/use-floating-panel.js +28 -0
  244. package/dist/components/floating-panel/use-floating-panel.js.map +1 -0
  245. package/dist/components/form/context.js +2 -2
  246. package/dist/components/form/context.js.map +1 -1
  247. package/dist/components/form/form.d.ts +1 -1
  248. package/dist/components/grid/context.js +1 -1
  249. package/dist/components/grid/context.js.map +1 -1
  250. package/dist/components/heatmap/context.d.ts +7 -0
  251. package/dist/components/heatmap/context.d.ts.map +1 -0
  252. package/dist/components/heatmap/context.js +32 -0
  253. package/dist/components/heatmap/context.js.map +1 -0
  254. package/dist/components/heatmap/heatmap.d.ts +352 -0
  255. package/dist/components/heatmap/heatmap.d.ts.map +1 -0
  256. package/dist/components/heatmap/heatmap.js +374 -0
  257. package/dist/components/heatmap/heatmap.js.map +1 -0
  258. package/dist/components/heatmap/use-heatmap.d.ts +13 -0
  259. package/dist/components/heatmap/use-heatmap.d.ts.map +1 -0
  260. package/dist/components/heatmap/use-heatmap.js +20 -0
  261. package/dist/components/heatmap/use-heatmap.js.map +1 -0
  262. package/dist/components/hotkeys/hotkeys.d.ts +89 -0
  263. package/dist/components/hotkeys/hotkeys.d.ts.map +1 -0
  264. package/dist/components/hotkeys/hotkeys.js +83 -0
  265. package/dist/components/hotkeys/hotkeys.js.map +1 -0
  266. package/dist/components/hotkeys/use-hotkeys.d.ts +31 -0
  267. package/dist/components/hotkeys/use-hotkeys.d.ts.map +1 -0
  268. package/dist/components/hotkeys/use-hotkeys.js +60 -0
  269. package/dist/components/hotkeys/use-hotkeys.js.map +1 -0
  270. package/dist/components/hover-card/context.js +1 -1
  271. package/dist/components/hover-card/context.js.map +1 -1
  272. package/dist/components/hover-card/hover-card.d.ts +11 -3
  273. package/dist/components/hover-card/hover-card.d.ts.map +1 -1
  274. package/dist/components/hover-card/hover-card.js +27 -11
  275. package/dist/components/hover-card/hover-card.js.map +1 -1
  276. package/dist/components/hover-card/use-hover-card.d.ts +4 -0
  277. package/dist/components/hover-card/use-hover-card.d.ts.map +1 -1
  278. package/dist/components/hover-card/use-hover-card.js +15 -4
  279. package/dist/components/hover-card/use-hover-card.js.map +1 -1
  280. package/dist/components/icon/icon.d.ts.map +1 -1
  281. package/dist/components/icon/icon.js +2 -1
  282. package/dist/components/icon/icon.js.map +1 -1
  283. package/dist/components/icon-wrapper/icon-wrapper.d.ts.map +1 -1
  284. package/dist/components/icon-wrapper/icon-wrapper.js +2 -1
  285. package/dist/components/icon-wrapper/icon-wrapper.js.map +1 -1
  286. package/dist/components/image/context.js +1 -1
  287. package/dist/components/image/context.js.map +1 -1
  288. package/dist/components/image-cropper/context.d.ts +6 -0
  289. package/dist/components/image-cropper/context.d.ts.map +1 -0
  290. package/dist/components/image-cropper/context.js +15 -0
  291. package/dist/components/image-cropper/context.js.map +1 -0
  292. package/dist/components/image-cropper/image-cropper.d.ts +195 -0
  293. package/dist/components/image-cropper/image-cropper.d.ts.map +1 -0
  294. package/dist/components/image-cropper/image-cropper.js +165 -0
  295. package/dist/components/image-cropper/image-cropper.js.map +1 -0
  296. package/dist/components/image-cropper/use-image-cropper.d.ts +15 -0
  297. package/dist/components/image-cropper/use-image-cropper.d.ts.map +1 -0
  298. package/dist/components/image-cropper/use-image-cropper.js +22 -0
  299. package/dist/components/image-cropper/use-image-cropper.js.map +1 -0
  300. package/dist/components/image-viewer/context.js +1 -1
  301. package/dist/components/image-viewer/context.js.map +1 -1
  302. package/dist/components/image-viewer/image-viewer.d.ts +13 -5
  303. package/dist/components/image-viewer/image-viewer.d.ts.map +1 -1
  304. package/dist/components/image-viewer/image-viewer.js +29 -16
  305. package/dist/components/image-viewer/image-viewer.js.map +1 -1
  306. package/dist/components/image-viewer/use-image-viewer.d.ts +2 -0
  307. package/dist/components/image-viewer/use-image-viewer.d.ts.map +1 -1
  308. package/dist/components/image-viewer/use-image-viewer.js +9 -4
  309. package/dist/components/image-viewer/use-image-viewer.js.map +1 -1
  310. package/dist/components/infinite-scroll/context.js +1 -1
  311. package/dist/components/infinite-scroll/context.js.map +1 -1
  312. package/dist/components/json-viewer/json-viewer.d.ts +129 -0
  313. package/dist/components/json-viewer/json-viewer.d.ts.map +1 -0
  314. package/dist/components/json-viewer/json-viewer.js +132 -0
  315. package/dist/components/json-viewer/json-viewer.js.map +1 -0
  316. package/dist/components/json-viewer/use-json-viewer.d.ts +13 -0
  317. package/dist/components/json-viewer/use-json-viewer.d.ts.map +1 -0
  318. package/dist/components/json-viewer/use-json-viewer.js +19 -0
  319. package/dist/components/json-viewer/use-json-viewer.js.map +1 -0
  320. package/dist/components/layout/context.js +1 -1
  321. package/dist/components/layout/context.js.map +1 -1
  322. package/dist/components/list/context.js +1 -1
  323. package/dist/components/list/context.js.map +1 -1
  324. package/dist/components/list/list.d.ts +1 -1
  325. package/dist/components/list/list.d.ts.map +1 -1
  326. package/dist/components/list/list.js +6 -4
  327. package/dist/components/list/list.js.map +1 -1
  328. package/dist/components/listbox/context.js +3 -3
  329. package/dist/components/listbox/context.js.map +1 -1
  330. package/dist/components/loading-bar/context.js +1 -1
  331. package/dist/components/loading-bar/context.js.map +1 -1
  332. package/dist/components/log/context.js +1 -1
  333. package/dist/components/log/context.js.map +1 -1
  334. package/dist/components/marquee/context.js +1 -1
  335. package/dist/components/marquee/context.js.map +1 -1
  336. package/dist/components/masonry/masonry.d.ts +41 -0
  337. package/dist/components/masonry/masonry.d.ts.map +1 -0
  338. package/dist/components/masonry/masonry.js +159 -0
  339. package/dist/components/masonry/masonry.js.map +1 -0
  340. package/dist/components/mention/context.js +2 -2
  341. package/dist/components/mention/context.js.map +1 -1
  342. package/dist/components/mention/mention.d.ts +7 -1
  343. package/dist/components/mention/mention.d.ts.map +1 -1
  344. package/dist/components/mention/mention.js +18 -8
  345. package/dist/components/mention/mention.js.map +1 -1
  346. package/dist/components/mention/use-mention.d.ts +4 -0
  347. package/dist/components/mention/use-mention.d.ts.map +1 -1
  348. package/dist/components/mention/use-mention.js +14 -3
  349. package/dist/components/mention/use-mention.js.map +1 -1
  350. package/dist/components/menu/context.d.ts +9 -1
  351. package/dist/components/menu/context.d.ts.map +1 -1
  352. package/dist/components/menu/context.js +13 -4
  353. package/dist/components/menu/context.js.map +1 -1
  354. package/dist/components/menu/menu.d.ts +72 -4
  355. package/dist/components/menu/menu.d.ts.map +1 -1
  356. package/dist/components/menu/menu.js +80 -20
  357. package/dist/components/menu/menu.js.map +1 -1
  358. package/dist/components/menu/use-menu.d.ts +4 -0
  359. package/dist/components/menu/use-menu.d.ts.map +1 -1
  360. package/dist/components/menu/use-menu.js +15 -4
  361. package/dist/components/menu/use-menu.js.map +1 -1
  362. package/dist/components/menubar/context.d.ts +21 -0
  363. package/dist/components/menubar/context.d.ts.map +1 -0
  364. package/dist/components/menubar/context.js +23 -5
  365. package/dist/components/menubar/context.js.map +1 -1
  366. package/dist/components/menubar/menubar.d.ts +128 -1
  367. package/dist/components/menubar/menubar.d.ts.map +1 -1
  368. package/dist/components/menubar/menubar.js +152 -16
  369. package/dist/components/menubar/menubar.js.map +1 -1
  370. package/dist/components/menubar/use-menubar.d.ts +2 -0
  371. package/dist/components/menubar/use-menubar.d.ts.map +1 -1
  372. package/dist/components/menubar/use-menubar.js +9 -3
  373. package/dist/components/menubar/use-menubar.js.map +1 -1
  374. package/dist/components/navigation-menu/context.js +1 -1
  375. package/dist/components/navigation-menu/context.js.map +1 -1
  376. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  377. package/dist/components/navigation-menu/navigation-menu.js +22 -3
  378. package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
  379. package/dist/components/navigation-menu/use-navigation-menu.d.ts +2 -0
  380. package/dist/components/navigation-menu/use-navigation-menu.d.ts.map +1 -1
  381. package/dist/components/navigation-menu/use-navigation-menu.js +22 -2
  382. package/dist/components/navigation-menu/use-navigation-menu.js.map +1 -1
  383. package/dist/components/notification/context.d.ts +23 -0
  384. package/dist/components/notification/context.d.ts.map +1 -0
  385. package/dist/components/notification/context.js +28 -0
  386. package/dist/components/notification/context.js.map +1 -0
  387. package/dist/components/notification/notification.d.ts +249 -0
  388. package/dist/components/notification/notification.d.ts.map +1 -0
  389. package/dist/components/notification/notification.js +179 -0
  390. package/dist/components/notification/notification.js.map +1 -0
  391. package/dist/components/notification/use-notification.d.ts +14 -0
  392. package/dist/components/notification/use-notification.d.ts.map +1 -0
  393. package/dist/components/notification/use-notification.js +42 -0
  394. package/dist/components/notification/use-notification.js.map +1 -0
  395. package/dist/components/number-animation/number-animation.d.ts +1 -1
  396. package/dist/components/number-field/context.js +1 -1
  397. package/dist/components/number-field/context.js.map +1 -1
  398. package/dist/components/number-field/number-field.d.ts +23 -2
  399. package/dist/components/number-field/number-field.d.ts.map +1 -1
  400. package/dist/components/number-field/number-field.js +23 -2
  401. package/dist/components/number-field/number-field.js.map +1 -1
  402. package/dist/components/page-header/context.js +1 -1
  403. package/dist/components/page-header/context.js.map +1 -1
  404. package/dist/components/page-header/page-header.d.ts.map +1 -1
  405. package/dist/components/page-header/page-header.js +2 -1
  406. package/dist/components/page-header/page-header.js.map +1 -1
  407. package/dist/components/pagination/context.js +1 -1
  408. package/dist/components/pagination/context.js.map +1 -1
  409. package/dist/components/pagination/pagination.d.ts +58 -4
  410. package/dist/components/pagination/pagination.d.ts.map +1 -1
  411. package/dist/components/pagination/pagination.js +85 -5
  412. package/dist/components/pagination/pagination.js.map +1 -1
  413. package/dist/components/pagination/use-pagination.d.ts +12 -2
  414. package/dist/components/pagination/use-pagination.d.ts.map +1 -1
  415. package/dist/components/pagination/use-pagination.js +50 -5
  416. package/dist/components/pagination/use-pagination.js.map +1 -1
  417. package/dist/components/password-input/context.d.ts +6 -0
  418. package/dist/components/password-input/context.d.ts.map +1 -0
  419. package/dist/components/password-input/context.js +15 -0
  420. package/dist/components/password-input/context.js.map +1 -0
  421. package/dist/components/password-input/password-input.d.ts +179 -0
  422. package/dist/components/password-input/password-input.d.ts.map +1 -0
  423. package/dist/components/password-input/password-input.js +147 -0
  424. package/dist/components/password-input/password-input.js.map +1 -0
  425. package/dist/components/password-input/use-password-input.d.ts +10 -0
  426. package/dist/components/password-input/use-password-input.d.ts.map +1 -0
  427. package/dist/components/password-input/use-password-input.js +18 -0
  428. package/dist/components/password-input/use-password-input.js.map +1 -0
  429. package/dist/components/pin-input/context.js +1 -1
  430. package/dist/components/pin-input/context.js.map +1 -1
  431. package/dist/components/pin-input/pin-input.d.ts +9 -0
  432. package/dist/components/pin-input/pin-input.d.ts.map +1 -1
  433. package/dist/components/pin-input/pin-input.js +4 -0
  434. package/dist/components/pin-input/pin-input.js.map +1 -1
  435. package/dist/components/popconfirm/context.js +1 -1
  436. package/dist/components/popconfirm/context.js.map +1 -1
  437. package/dist/components/popconfirm/popconfirm.d.ts +11 -3
  438. package/dist/components/popconfirm/popconfirm.d.ts.map +1 -1
  439. package/dist/components/popconfirm/popconfirm.js +25 -11
  440. package/dist/components/popconfirm/popconfirm.js.map +1 -1
  441. package/dist/components/popconfirm/use-popconfirm.d.ts +4 -0
  442. package/dist/components/popconfirm/use-popconfirm.d.ts.map +1 -1
  443. package/dist/components/popconfirm/use-popconfirm.js +14 -3
  444. package/dist/components/popconfirm/use-popconfirm.js.map +1 -1
  445. package/dist/components/popover/context.js +1 -1
  446. package/dist/components/popover/context.js.map +1 -1
  447. package/dist/components/popover/popover.d.ts +12 -4
  448. package/dist/components/popover/popover.d.ts.map +1 -1
  449. package/dist/components/popover/popover.js +27 -11
  450. package/dist/components/popover/popover.js.map +1 -1
  451. package/dist/components/popover/use-popover.d.ts +4 -0
  452. package/dist/components/popover/use-popover.d.ts.map +1 -1
  453. package/dist/components/popover/use-popover.js +15 -4
  454. package/dist/components/popover/use-popover.js.map +1 -1
  455. package/dist/components/popselect/context.js +2 -2
  456. package/dist/components/popselect/context.js.map +1 -1
  457. package/dist/components/popselect/popselect.d.ts +30 -5
  458. package/dist/components/popselect/popselect.d.ts.map +1 -1
  459. package/dist/components/popselect/popselect.js +51 -13
  460. package/dist/components/popselect/popselect.js.map +1 -1
  461. package/dist/components/popselect/use-popselect.d.ts +6 -1
  462. package/dist/components/popselect/use-popselect.d.ts.map +1 -1
  463. package/dist/components/popselect/use-popselect.js +24 -12
  464. package/dist/components/popselect/use-popselect.js.map +1 -1
  465. package/dist/components/progress/progress.d.ts +5 -2
  466. package/dist/components/progress/progress.d.ts.map +1 -1
  467. package/dist/components/progress/progress.js +4 -1
  468. package/dist/components/progress/progress.js.map +1 -1
  469. package/dist/components/qr-code/context.js +1 -1
  470. package/dist/components/qr-code/context.js.map +1 -1
  471. package/dist/components/radio-group/context.js +2 -2
  472. package/dist/components/radio-group/context.js.map +1 -1
  473. package/dist/components/radio-group/radio-group.d.ts +9 -0
  474. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  475. package/dist/components/radio-group/radio-group.js +3 -0
  476. package/dist/components/radio-group/radio-group.js.map +1 -1
  477. package/dist/components/rating/context.js +1 -1
  478. package/dist/components/rating/context.js.map +1 -1
  479. package/dist/components/result/context.js +1 -1
  480. package/dist/components/result/context.js.map +1 -1
  481. package/dist/components/result/result.d.ts.map +1 -1
  482. package/dist/components/result/result.js +3 -1
  483. package/dist/components/result/result.js.map +1 -1
  484. package/dist/components/scroll-area/context.js +2 -2
  485. package/dist/components/scroll-area/context.js.map +1 -1
  486. package/dist/components/scroll-area/scroll-area.d.ts +28 -9
  487. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
  488. package/dist/components/scroll-area/scroll-area.js +24 -4
  489. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  490. package/dist/components/scroll-area/use-scroll-area.d.ts +10 -8
  491. package/dist/components/scroll-area/use-scroll-area.d.ts.map +1 -1
  492. package/dist/components/scroll-area/use-scroll-area.js +24 -10
  493. package/dist/components/scroll-area/use-scroll-area.js.map +1 -1
  494. package/dist/components/scrollbar/context.d.ts +7 -0
  495. package/dist/components/scrollbar/context.d.ts.map +1 -0
  496. package/dist/components/scrollbar/context.js +15 -0
  497. package/dist/components/scrollbar/context.js.map +1 -0
  498. package/dist/components/scrollbar/scrollbar.d.ts +162 -0
  499. package/dist/components/scrollbar/scrollbar.d.ts.map +1 -0
  500. package/dist/components/scrollbar/scrollbar.js +129 -0
  501. package/dist/components/scrollbar/scrollbar.js.map +1 -0
  502. package/dist/components/scrollbar/use-scrollbar.d.ts +23 -0
  503. package/dist/components/scrollbar/use-scrollbar.d.ts.map +1 -0
  504. package/dist/components/scrollbar/use-scrollbar.js +43 -0
  505. package/dist/components/scrollbar/use-scrollbar.js.map +1 -0
  506. package/dist/components/segmented/context.d.ts +13 -0
  507. package/dist/components/segmented/context.d.ts.map +1 -0
  508. package/dist/components/segmented/context.js +24 -0
  509. package/dist/components/segmented/context.js.map +1 -0
  510. package/dist/components/segmented/segmented.d.ts +185 -0
  511. package/dist/components/segmented/segmented.d.ts.map +1 -0
  512. package/dist/components/segmented/segmented.js +165 -0
  513. package/dist/components/segmented/segmented.js.map +1 -0
  514. package/dist/components/segmented/use-segmented.d.ts +15 -0
  515. package/dist/components/segmented/use-segmented.d.ts.map +1 -0
  516. package/dist/components/segmented/use-segmented.js +22 -0
  517. package/dist/components/segmented/use-segmented.js.map +1 -0
  518. package/dist/components/select/context.js +3 -3
  519. package/dist/components/select/context.js.map +1 -1
  520. package/dist/components/select/select.d.ts +26 -4
  521. package/dist/components/select/select.d.ts.map +1 -1
  522. package/dist/components/select/select.js +45 -17
  523. package/dist/components/select/select.js.map +1 -1
  524. package/dist/components/select/use-select.d.ts +4 -0
  525. package/dist/components/select/use-select.d.ts.map +1 -1
  526. package/dist/components/select/use-select.js +14 -3
  527. package/dist/components/select/use-select.js.map +1 -1
  528. package/dist/components/separator/separator.d.ts.map +1 -1
  529. package/dist/components/separator/separator.js +11 -2
  530. package/dist/components/separator/separator.js.map +1 -1
  531. package/dist/components/side-nav/context.js +2 -2
  532. package/dist/components/side-nav/context.js.map +1 -1
  533. package/dist/components/side-nav/side-nav.d.ts +6 -3
  534. package/dist/components/side-nav/side-nav.d.ts.map +1 -1
  535. package/dist/components/side-nav/side-nav.js +32 -4
  536. package/dist/components/side-nav/side-nav.js.map +1 -1
  537. package/dist/components/side-nav/use-side-nav.d.ts +5 -0
  538. package/dist/components/side-nav/use-side-nav.d.ts.map +1 -1
  539. package/dist/components/side-nav/use-side-nav.js +12 -1
  540. package/dist/components/side-nav/use-side-nav.js.map +1 -1
  541. package/dist/components/signature-pad/context.d.ts +6 -0
  542. package/dist/components/signature-pad/context.d.ts.map +1 -0
  543. package/dist/components/signature-pad/context.js +15 -0
  544. package/dist/components/signature-pad/context.js.map +1 -0
  545. package/dist/components/signature-pad/signature-pad.d.ts +108 -0
  546. package/dist/components/signature-pad/signature-pad.d.ts.map +1 -0
  547. package/dist/components/signature-pad/signature-pad.js +118 -0
  548. package/dist/components/signature-pad/signature-pad.js.map +1 -0
  549. package/dist/components/signature-pad/use-signature-pad.d.ts +14 -0
  550. package/dist/components/signature-pad/use-signature-pad.d.ts.map +1 -0
  551. package/dist/components/signature-pad/use-signature-pad.js +24 -0
  552. package/dist/components/signature-pad/use-signature-pad.js.map +1 -0
  553. package/dist/components/skeleton/context.js +1 -1
  554. package/dist/components/skeleton/context.js.map +1 -1
  555. package/dist/components/slider/context.js +2 -2
  556. package/dist/components/slider/context.js.map +1 -1
  557. package/dist/components/space/context.d.ts +10 -0
  558. package/dist/components/space/context.d.ts.map +1 -0
  559. package/dist/components/space/context.js +15 -0
  560. package/dist/components/space/context.js.map +1 -0
  561. package/dist/components/space/space.d.ts +75 -0
  562. package/dist/components/space/space.d.ts.map +1 -0
  563. package/dist/components/space/space.js +91 -0
  564. package/dist/components/space/space.js.map +1 -0
  565. package/dist/components/spinner/context.js +1 -1
  566. package/dist/components/spinner/context.js.map +1 -1
  567. package/dist/components/splitter/context.js +1 -1
  568. package/dist/components/splitter/context.js.map +1 -1
  569. package/dist/components/splitter/splitter.d.ts +1 -1
  570. package/dist/components/statistic/context.js +1 -1
  571. package/dist/components/statistic/context.js.map +1 -1
  572. package/dist/components/statistic/statistic.d.ts.map +1 -1
  573. package/dist/components/statistic/statistic.js +2 -1
  574. package/dist/components/statistic/statistic.js.map +1 -1
  575. package/dist/components/steps/context.js +2 -2
  576. package/dist/components/steps/context.js.map +1 -1
  577. package/dist/components/steps/steps.d.ts +1 -1
  578. package/dist/components/switch/switch.d.ts +9 -0
  579. package/dist/components/switch/switch.d.ts.map +1 -1
  580. package/dist/components/switch/switch.js +11 -2
  581. package/dist/components/switch/switch.js.map +1 -1
  582. package/dist/components/table/context.js +4 -4
  583. package/dist/components/table/context.js.map +1 -1
  584. package/dist/components/table/table.d.ts +70 -2
  585. package/dist/components/table/table.d.ts.map +1 -1
  586. package/dist/components/table/table.js +40 -1
  587. package/dist/components/table/table.js.map +1 -1
  588. package/dist/components/table/use-table.d.ts +1 -1
  589. package/dist/components/table/use-table.d.ts.map +1 -1
  590. package/dist/components/table/use-table.js +3 -2
  591. package/dist/components/table/use-table.js.map +1 -1
  592. package/dist/components/tabs/context.js +1 -1
  593. package/dist/components/tabs/context.js.map +1 -1
  594. package/dist/components/tag/context.d.ts +6 -0
  595. package/dist/components/tag/context.d.ts.map +1 -0
  596. package/dist/components/tag/context.js +15 -0
  597. package/dist/components/tag/context.js.map +1 -0
  598. package/dist/components/tag/tag.d.ts +71 -0
  599. package/dist/components/tag/tag.d.ts.map +1 -0
  600. package/dist/components/tag/tag.js +61 -0
  601. package/dist/components/tag/tag.js.map +1 -0
  602. package/dist/components/tag/use-tag.d.ts +10 -0
  603. package/dist/components/tag/use-tag.d.ts.map +1 -0
  604. package/dist/components/tag/use-tag.js +28 -0
  605. package/dist/components/tag/use-tag.js.map +1 -0
  606. package/dist/components/tags-input/context.js +2 -2
  607. package/dist/components/tags-input/context.js.map +1 -1
  608. package/dist/components/tags-input/tags-input.d.ts +2 -2
  609. package/dist/components/tags-input/tags-input.d.ts.map +1 -1
  610. package/dist/components/tags-input/tags-input.js +7 -1
  611. package/dist/components/tags-input/tags-input.js.map +1 -1
  612. package/dist/components/text-field/context.js +1 -1
  613. package/dist/components/text-field/context.js.map +1 -1
  614. package/dist/components/text-field/text-field.d.ts +24 -3
  615. package/dist/components/text-field/text-field.d.ts.map +1 -1
  616. package/dist/components/text-field/text-field.js +23 -4
  617. package/dist/components/text-field/text-field.js.map +1 -1
  618. package/dist/components/thread/context.d.ts +7 -0
  619. package/dist/components/thread/context.d.ts.map +1 -0
  620. package/dist/components/thread/context.js +1 -1
  621. package/dist/components/thread/context.js.map +1 -1
  622. package/dist/components/time/time.d.ts +4 -4
  623. package/dist/components/time/time.d.ts.map +1 -1
  624. package/dist/components/time/time.js.map +1 -1
  625. package/dist/components/time-field/context.js +1 -1
  626. package/dist/components/time-field/context.js.map +1 -1
  627. package/dist/components/time-field/time-field.d.ts +18 -3
  628. package/dist/components/time-field/time-field.d.ts.map +1 -1
  629. package/dist/components/time-field/time-field.js +20 -1
  630. package/dist/components/time-field/time-field.js.map +1 -1
  631. package/dist/components/time-picker/context.js +2 -2
  632. package/dist/components/time-picker/context.js.map +1 -1
  633. package/dist/components/time-picker/time-picker.d.ts +93 -6
  634. package/dist/components/time-picker/time-picker.d.ts.map +1 -1
  635. package/dist/components/time-picker/time-picker.js +89 -9
  636. package/dist/components/time-picker/time-picker.js.map +1 -1
  637. package/dist/components/time-picker/use-time-picker.d.ts +5 -0
  638. package/dist/components/time-picker/use-time-picker.d.ts.map +1 -1
  639. package/dist/components/time-picker/use-time-picker.js +17 -3
  640. package/dist/components/time-picker/use-time-picker.js.map +1 -1
  641. package/dist/components/timeline/context.js +2 -2
  642. package/dist/components/timeline/context.js.map +1 -1
  643. package/dist/components/timeline/timeline.d.ts.map +1 -1
  644. package/dist/components/timeline/timeline.js +2 -1
  645. package/dist/components/timeline/timeline.js.map +1 -1
  646. package/dist/components/timer/context.d.ts +6 -0
  647. package/dist/components/timer/context.d.ts.map +1 -0
  648. package/dist/components/timer/context.js +15 -0
  649. package/dist/components/timer/context.js.map +1 -0
  650. package/dist/components/timer/timer.d.ts +110 -0
  651. package/dist/components/timer/timer.d.ts.map +1 -0
  652. package/dist/components/timer/timer.js +139 -0
  653. package/dist/components/timer/timer.js.map +1 -0
  654. package/dist/components/timer/use-timer.d.ts +13 -0
  655. package/dist/components/timer/use-timer.d.ts.map +1 -0
  656. package/dist/components/timer/use-timer.js +19 -0
  657. package/dist/components/timer/use-timer.js.map +1 -0
  658. package/dist/components/toast/context.js +1 -1
  659. package/dist/components/toast/context.js.map +1 -1
  660. package/dist/components/toast/toast.d.ts +3 -15
  661. package/dist/components/toast/toast.d.ts.map +1 -1
  662. package/dist/components/toast/toast.js +1 -12
  663. package/dist/components/toast/toast.js.map +1 -1
  664. package/dist/components/toast/use-toast.d.ts.map +1 -1
  665. package/dist/components/toast/use-toast.js +1 -7
  666. package/dist/components/toast/use-toast.js.map +1 -1
  667. package/dist/components/toggle-group/context.js +1 -1
  668. package/dist/components/toggle-group/context.js.map +1 -1
  669. package/dist/components/toggle-group/toggle-group.d.ts +10 -1
  670. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -1
  671. package/dist/components/toggle-group/toggle-group.js +4 -0
  672. package/dist/components/toggle-group/toggle-group.js.map +1 -1
  673. package/dist/components/toolbar/context.js +1 -1
  674. package/dist/components/toolbar/context.js.map +1 -1
  675. package/dist/components/tooltip/context.js +1 -1
  676. package/dist/components/tooltip/context.js.map +1 -1
  677. package/dist/components/tooltip/tooltip.d.ts +11 -3
  678. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  679. package/dist/components/tooltip/tooltip.js +31 -12
  680. package/dist/components/tooltip/tooltip.js.map +1 -1
  681. package/dist/components/tooltip/use-tooltip.d.ts +6 -0
  682. package/dist/components/tooltip/use-tooltip.d.ts.map +1 -1
  683. package/dist/components/tooltip/use-tooltip.js +36 -5
  684. package/dist/components/tooltip/use-tooltip.js.map +1 -1
  685. package/dist/components/tour/context.js +1 -1
  686. package/dist/components/tour/context.js.map +1 -1
  687. package/dist/components/tour/tour.d.ts +3 -3
  688. package/dist/components/tour/tour.d.ts.map +1 -1
  689. package/dist/components/tour/tour.js +20 -11
  690. package/dist/components/tour/tour.js.map +1 -1
  691. package/dist/components/tour/use-tour.d.ts +6 -0
  692. package/dist/components/tour/use-tour.d.ts.map +1 -1
  693. package/dist/components/tour/use-tour.js +18 -3
  694. package/dist/components/tour/use-tour.js.map +1 -1
  695. package/dist/components/transfer/context.js +3 -3
  696. package/dist/components/transfer/context.js.map +1 -1
  697. package/dist/components/transfer/transfer.d.ts +10 -10
  698. package/dist/components/transfer/transfer.d.ts.map +1 -1
  699. package/dist/components/transfer/transfer.js +8 -8
  700. package/dist/components/transfer/transfer.js.map +1 -1
  701. package/dist/components/tree/context.js +2 -2
  702. package/dist/components/tree/context.js.map +1 -1
  703. package/dist/components/tree/tree.d.ts +36 -10
  704. package/dist/components/tree/tree.d.ts.map +1 -1
  705. package/dist/components/tree/tree.js +31 -6
  706. package/dist/components/tree/tree.js.map +1 -1
  707. package/dist/components/tree-select/context.js +2 -2
  708. package/dist/components/tree-select/context.js.map +1 -1
  709. package/dist/components/tree-select/tree-select.d.ts +23 -3
  710. package/dist/components/tree-select/tree-select.d.ts.map +1 -1
  711. package/dist/components/tree-select/tree-select.js +60 -12
  712. package/dist/components/tree-select/tree-select.js.map +1 -1
  713. package/dist/components/tree-select/use-tree-select.d.ts +4 -0
  714. package/dist/components/tree-select/use-tree-select.d.ts.map +1 -1
  715. package/dist/components/tree-select/use-tree-select.js +15 -4
  716. package/dist/components/tree-select/use-tree-select.js.map +1 -1
  717. package/dist/components/typography/context.js +1 -1
  718. package/dist/components/typography/context.js.map +1 -1
  719. package/dist/components/typography/typography.d.ts.map +1 -1
  720. package/dist/components/typography/typography.js +2 -1
  721. package/dist/components/typography/typography.js.map +1 -1
  722. package/dist/components/virtualizer/context.js +1 -1
  723. package/dist/components/virtualizer/context.js.map +1 -1
  724. package/dist/components/watermark/context.js +1 -1
  725. package/dist/components/watermark/context.js.map +1 -1
  726. package/dist/config/config.d.ts +26 -10
  727. package/dist/config/config.d.ts.map +1 -1
  728. package/dist/config/config.js +42 -15
  729. package/dist/config/config.js.map +1 -1
  730. package/dist/index.d.ts +75 -29
  731. package/dist/index.js +74 -28
  732. package/dist/package.js +6 -0
  733. package/dist/package.js.map +1 -0
  734. package/dist/runtime/as-child.js +66 -0
  735. package/dist/runtime/as-child.js.map +1 -0
  736. package/dist/runtime/config-defaults.js +19 -0
  737. package/dist/runtime/config-defaults.js.map +1 -0
  738. package/dist/runtime/normalize-props.d.ts.map +1 -1
  739. package/dist/runtime/normalize-props.js +5 -1
  740. package/dist/runtime/normalize-props.js.map +1 -1
  741. package/dist/runtime/use-machine.d.ts.map +1 -1
  742. package/dist/runtime/use-machine.js +17 -1
  743. package/dist/runtime/use-machine.js.map +1 -1
  744. package/dist/runtime/use-overlay-exit.js +40 -0
  745. package/dist/runtime/use-overlay-exit.js.map +1 -0
  746. package/dist/runtime/use-scrollbars.js +66 -0
  747. package/dist/runtime/use-scrollbars.js.map +1 -0
  748. package/dist/services/dialog-service.d.ts +43 -8
  749. package/dist/services/dialog-service.d.ts.map +1 -1
  750. package/dist/services/dialog-service.js +47 -20
  751. package/dist/services/dialog-service.js.map +1 -1
  752. package/dist/services/glyph.js +93 -20
  753. package/dist/services/glyph.js.map +1 -1
  754. package/dist/services/loading-bar-service.d.ts +46 -0
  755. package/dist/services/loading-bar-service.d.ts.map +1 -0
  756. package/dist/services/loading-bar-service.js +70 -0
  757. package/dist/services/loading-bar-service.js.map +1 -0
  758. package/dist/services/mount-host.js +35 -0
  759. package/dist/services/mount-host.js.map +1 -0
  760. package/dist/services/notification-service.d.ts +46 -0
  761. package/dist/services/notification-service.d.ts.map +1 -0
  762. package/dist/services/notification-service.js +91 -0
  763. package/dist/services/notification-service.js.map +1 -0
  764. package/dist/services/service-config.js +16 -0
  765. package/dist/services/service-config.js.map +1 -0
  766. package/dist/services/toast-service.d.ts +23 -9
  767. package/dist/services/toast-service.d.ts.map +1 -1
  768. package/dist/services/toast-service.js +103 -48
  769. package/dist/services/toast-service.js.map +1 -1
  770. package/package.json +18 -14
  771. package/dist/components/toaster/context.js +0 -19
  772. package/dist/components/toaster/context.js.map +0 -1
  773. package/dist/components/toaster/toaster.d.ts +0 -135
  774. package/dist/components/toaster/toaster.d.ts.map +0 -1
  775. package/dist/components/toaster/toaster.js +0 -91
  776. package/dist/components/toaster/toaster.js.map +0 -1
  777. package/dist/components/toaster/use-toaster.d.ts +0 -15
  778. package/dist/components/toaster/use-toaster.d.ts.map +0 -1
  779. package/dist/components/toaster/use-toaster.js +0 -23
  780. package/dist/components/toaster/use-toaster.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","names":[],"sources":["../../../src/components/transfer/transfer.ts"],"sourcesContent":["import type {\n TransferCheckState,\n TransferFilter,\n TransferItem,\n TransferItemProps,\n TransferPanelProps,\n TransferSchema,\n TransferSide,\n} from '@xihan-ui/headless'\nimport type { Direction } from '@xihan-ui/kernel'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport {\n provideTransfer,\n provideTransferItem,\n provideTransferPanel,\n useTransferContext,\n useTransferItemContext,\n useTransferPanelContext,\n} from './context'\nimport { useTransfer } from './use-transfer'\n\ntype TransferProps = TransferSchema['props']\n\n/** 默认插槽的载荷:目标侧的值与两侧的勾选、两侧当下可见的条目,以及勾选、写值与搬运的动作。 */\nexport interface TransferRootSlotProps {\n value: string[]\n selected: string[]\n sourceItems: readonly TransferItem[]\n targetItems: readonly TransferItem[]\n canMove: (to: TransferSide) => boolean\n checkState: (side: TransferSide) => TransferCheckState\n isChecked: (value: string) => boolean\n setValue: (next: string[]) => void\n setSelected: (next: string[]) => void\n toggle: (value: string) => void\n toggleAll: (side: TransferSide) => void\n move: (to: TransferSide) => void\n}\n\n/** 面板默认插槽的载荷:这一侧的身份、当下可见的条目、这一侧的全选三态与搜索词。 */\nexport interface TransferPanelSlotProps {\n side: TransferSide\n items: readonly TransferItem[]\n checkState: TransferCheckState\n query: string\n}\n\n/** 源/目标两个面板部件共用的插槽集合。 */\ninterface TransferPanelSlots {\n default?: (props: TransferPanelSlotProps) => VNode[]\n}\n\nexport const XhTransferRoot = defineComponent({\n name: 'XhTransferRoot',\n // 有 connect 兜底的 prop 一律 default: undefined\n props: {\n collection: { type: Array as PropType<TransferItem[]>, default: undefined },\n value: { type: Array as PropType<string[]>, default: undefined },\n defaultValue: { type: Array as PropType<string[]>, default: undefined },\n selected: { type: Array as PropType<string[]>, default: undefined },\n defaultSelected: { type: Array as PropType<string[]>, default: undefined },\n searchable: Boolean,\n filter: { type: Function as PropType<TransferFilter>, default: undefined },\n disabled: Boolean,\n oneWay: Boolean,\n loop: { type: Boolean, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n },\n // *-change 携带 details 对象,update:* 携带裸集合以支持 v-model\n emits: {\n 'value-change': (_details: PayloadOf<TransferProps, 'onValueChange'>) => true,\n 'selection-change': (_details: PayloadOf<TransferProps, 'onSelectionChange'>) => true,\n 'update:value': (_value: PayloadOf<TransferProps, 'onValueChange'>['value']) => true,\n 'update:selected': (_selected: PayloadOf<TransferProps, 'onSelectionChange'>['selected']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TransferRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notifyValue: TransferProps['onValueChange'] = (details) => {\n emit('value-change', details)\n emit('update:value', details.value)\n }\n const notifySelected: TransferProps['onSelectionChange'] = (details) => {\n emit('selection-change', details)\n emit('update:selected', details.selected)\n }\n const ctx = useTransfer(props as TransferProps, {\n onValueChange: notifyValue,\n onSelectionChange: notifySelected,\n })\n provideTransfer(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n value: ctx.api.value.value,\n selected: ctx.api.value.selected,\n sourceItems: ctx.api.value.visibleItems('source'),\n targetItems: ctx.api.value.visibleItems('target'),\n canMove: ctx.api.value.canMove,\n checkState: ctx.api.value.checkState,\n isChecked: ctx.api.value.isChecked,\n setValue: ctx.api.value.setValue,\n setSelected: ctx.api.value.setSelected,\n toggle: ctx.api.value.toggle,\n toggleAll: ctx.api.value.toggleAll,\n move: ctx.api.value.move,\n }))\n },\n})\n\n/** 生成源/目标面板共用的 setup,两侧只在 side 上不同 */\nfunction panelSetup(side: TransferSide): (props: unknown, ctx: { slots: TransferPanelSlots }) => () => VNode {\n return (_: unknown, { slots }: { slots: TransferPanelSlots }) => {\n const ctx = useTransferContext()\n const panel = computed<TransferPanelProps>(() => ({ side }))\n provideTransferPanel({ panel })\n return () => h('div', ctx.api.value.getPanelProps(panel.value) as Record<string, unknown>, slots.default?.({\n side,\n // 这一侧当下看得见的条目(分侧 + 搜索之后),不是数据入口:入口叫 collection,是整份全集\n items: ctx.api.value.visibleItems(side),\n checkState: ctx.api.value.checkState(side),\n query: ctx.api.value.query(side),\n }))\n }\n}\n\nexport const XhTransferSourcePanel = defineComponent({\n name: 'XhTransferSourcePanel',\n slots: Object as SlotsType<TransferPanelSlots>,\n setup: panelSetup('source'),\n})\n\nexport const XhTransferTargetPanel = defineComponent({\n name: 'XhTransferTargetPanel',\n slots: Object as SlotsType<TransferPanelSlots>,\n setup: panelSetup('target'),\n})\n\nexport const XhTransferPanelHeader = defineComponent({\n name: 'XhTransferPanelHeader',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('div', ctx.api.value.getPanelHeaderProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferPanelTitle = defineComponent({\n name: 'XhTransferPanelTitle',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('span', ctx.api.value.getPanelTitleProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferPanelCount = defineComponent({\n name: 'XhTransferPanelCount',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n // 只带 data-checked-count / data-count 属性,文案由作者或皮肤层提供\n return () => h('span', ctx.api.value.getPanelCountProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferSearch = defineComponent({\n name: 'XhTransferSearch',\n setup() {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('input', ctx.api.value.getSearchProps(panel.value) as Record<string, unknown>)\n },\n})\n\nexport const XhTransferList = defineComponent({\n name: 'XhTransferList',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('div', ctx.api.value.getListProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferSelectAllTrigger = defineComponent({\n name: 'XhTransferSelectAllTrigger',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n // 用原生 button,激活与禁用交给平台\n return () => h('button', ctx.api.value.getSelectAllTriggerProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferItem = defineComponent({\n name: 'XhTransferItem',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n // 条目只报值与所属面板,禁用与标签回 collection 里查;同一 value 的两侧节点靠 side 分身份\n const item = computed<TransferItemProps>(() => ({ value: props.value, side: panel.value.side }))\n provideTransferItem({ item })\n // 本条目持有焦点时,value 变更重报焦点条目,卸载时上报列表失焦\n const itemEl = ref<HTMLElement | null>(null)\n watch(() => props.value, (next, prev) => {\n if (next === prev)\n return\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'ITEM.FOCUS', side: panel.value.side, value: next })\n })\n onBeforeUnmount(() => {\n const { service } = ctx\n // 整组一起卸载时根部件先停机,此刻送事件会在 dev 下抛\n if (service.getStatus() !== 'Started')\n return\n // 按「本节点当下正持有焦点」判定,不按 value 比对\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'LIST.BLUR', side: panel.value.side })\n })\n return () => h(\n 'div',\n { ...ctx.api.value.getItemProps(item.value) as Record<string, unknown>, ref: itemEl },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTransferItemText = defineComponent({\n name: 'XhTransferItemText',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { item } = useTransferItemContext()\n return () => h('span', ctx.api.value.getItemTextProps(item.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferItemCheckbox = defineComponent({\n name: 'XhTransferItemCheckbox',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { item } = useTransferItemContext()\n return () => h('span', ctx.api.value.getItemCheckboxProps(item.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferToTargetTrigger = defineComponent({\n name: 'XhTransferToTargetTrigger',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n // 用原生 button,激活与禁用交给平台\n return () => h('button', ctx.api.value.getToTargetTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferToSourceTrigger = defineComponent({\n name: 'XhTransferToSourceTrigger',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n return () => h('button', ctx.api.value.getToSourceTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","names":[],"sources":["../../../src/components/transfer/transfer.ts"],"sourcesContent":["import type {\n TransferCheckState,\n TransferFilter,\n TransferItem,\n TransferItemProps,\n TransferPanelProps,\n TransferSchema,\n TransferSide,\n} from '@xihan-ui/headless'\nimport type { Direction } from '@xihan-ui/kernel'\nimport type { PropType, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport {\n provideTransfer,\n provideTransferItem,\n provideTransferPanel,\n useTransferContext,\n useTransferItemContext,\n useTransferPanelContext,\n} from './context'\nimport { useTransfer } from './use-transfer'\n\ntype TransferProps = TransferSchema['props']\n\n/** 默认插槽的载荷:目标侧的值与两侧的勾选、两侧当下可见的条目,以及勾选、写值与搬运的动作。 */\nexport interface TransferRootSlotProps {\n value: string[]\n selection: string[]\n sourceItems: readonly TransferItem[]\n targetItems: readonly TransferItem[]\n canMove: (to: TransferSide) => boolean\n checkState: (side: TransferSide) => TransferCheckState\n isChecked: (value: string) => boolean\n setValue: (next: string[]) => void\n setSelection: (next: string[]) => void\n toggle: (value: string) => void\n toggleAll: (side: TransferSide) => void\n move: (to: TransferSide) => void\n}\n\n/** 面板默认插槽的载荷:这一侧的身份、当下可见的条目、这一侧的全选三态与搜索词。 */\nexport interface TransferPanelSlotProps {\n side: TransferSide\n items: readonly TransferItem[]\n checkState: TransferCheckState\n query: string\n}\n\n/** 源/目标两个面板部件共用的插槽集合。 */\ninterface TransferPanelSlots {\n default?: (props: TransferPanelSlotProps) => VNode[]\n}\n\nexport const XhTransferRoot = defineComponent({\n name: 'XhTransferRoot',\n // 有 connect 兜底的 prop 一律 default: undefined\n props: {\n collection: { type: Array as PropType<TransferItem[]>, default: undefined },\n value: { type: Array as PropType<string[]>, default: undefined },\n defaultValue: { type: Array as PropType<string[]>, default: undefined },\n selection: { type: Array as PropType<string[]>, default: undefined },\n defaultSelection: { type: Array as PropType<string[]>, default: undefined },\n searchable: Boolean,\n filter: { type: Function as PropType<TransferFilter>, default: undefined },\n disabled: Boolean,\n oneWay: Boolean,\n loop: { type: Boolean, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n },\n // *-change 携带 details 对象,update:* 携带裸集合以支持 v-model\n emits: {\n 'value-change': (_details: PayloadOf<TransferProps, 'onValueChange'>) => true,\n 'selection-change': (_details: PayloadOf<TransferProps, 'onSelectionChange'>) => true,\n 'update:value': (_value: PayloadOf<TransferProps, 'onValueChange'>['value']) => true,\n 'update:selection': (_value: PayloadOf<TransferProps, 'onSelectionChange'>['value']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TransferRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const notifyValue: TransferProps['onValueChange'] = (details) => {\n emit('value-change', details)\n emit('update:value', details.value)\n }\n const notifySelection: TransferProps['onSelectionChange'] = (details) => {\n emit('selection-change', details)\n emit('update:selection', details.value)\n }\n const ctx = useTransfer(props as TransferProps, {\n onValueChange: notifyValue,\n onSelectionChange: notifySelection,\n })\n provideTransfer(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n value: ctx.api.value.value,\n selection: ctx.api.value.selection,\n sourceItems: ctx.api.value.visibleItems('source'),\n targetItems: ctx.api.value.visibleItems('target'),\n canMove: ctx.api.value.canMove,\n checkState: ctx.api.value.checkState,\n isChecked: ctx.api.value.isChecked,\n setValue: ctx.api.value.setValue,\n setSelection: ctx.api.value.setSelection,\n toggle: ctx.api.value.toggle,\n toggleAll: ctx.api.value.toggleAll,\n move: ctx.api.value.move,\n }))\n },\n})\n\n/** 生成源/目标面板共用的 setup,两侧只在 side 上不同 */\nfunction panelSetup(side: TransferSide): (props: unknown, ctx: { slots: TransferPanelSlots }) => () => VNode {\n return (_: unknown, { slots }: { slots: TransferPanelSlots }) => {\n const ctx = useTransferContext()\n const panel = computed<TransferPanelProps>(() => ({ side }))\n provideTransferPanel({ panel })\n return () => h('div', ctx.api.value.getPanelProps(panel.value) as Record<string, unknown>, slots.default?.({\n side,\n // 这一侧当下看得见的条目(分侧 + 搜索之后),不是数据入口:入口叫 collection,是整份全集\n items: ctx.api.value.visibleItems(side),\n checkState: ctx.api.value.checkState(side),\n query: ctx.api.value.query(side),\n }))\n }\n}\n\nexport const XhTransferSourcePanel = defineComponent({\n name: 'XhTransferSourcePanel',\n slots: Object as SlotsType<TransferPanelSlots>,\n setup: panelSetup('source'),\n})\n\nexport const XhTransferTargetPanel = defineComponent({\n name: 'XhTransferTargetPanel',\n slots: Object as SlotsType<TransferPanelSlots>,\n setup: panelSetup('target'),\n})\n\nexport const XhTransferPanelHeader = defineComponent({\n name: 'XhTransferPanelHeader',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('div', ctx.api.value.getPanelHeaderProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferPanelTitle = defineComponent({\n name: 'XhTransferPanelTitle',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('span', ctx.api.value.getPanelTitleProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferPanelCount = defineComponent({\n name: 'XhTransferPanelCount',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n // 只带 data-checked-count / data-count 属性,文案由作者或皮肤层提供\n return () => h('span', ctx.api.value.getPanelCountProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferSearch = defineComponent({\n name: 'XhTransferSearch',\n setup() {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('input', ctx.api.value.getSearchProps(panel.value) as Record<string, unknown>)\n },\n})\n\nexport const XhTransferList = defineComponent({\n name: 'XhTransferList',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n return () => h('div', ctx.api.value.getListProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferSelectAllTrigger = defineComponent({\n name: 'XhTransferSelectAllTrigger',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n // 用原生 button,激活与禁用交给平台\n return () => h('button', ctx.api.value.getSelectAllTriggerProps(panel.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferItem = defineComponent({\n name: 'XhTransferItem',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTransferContext()\n const { panel } = useTransferPanelContext()\n // 条目只报值与所属面板,禁用与标签回 collection 里查;同一 value 的两侧节点靠 side 分身份\n const item = computed<TransferItemProps>(() => ({ value: props.value, side: panel.value.side }))\n provideTransferItem({ item })\n // 本条目持有焦点时,value 变更重报焦点条目,卸载时上报列表失焦\n const itemEl = ref<HTMLElement | null>(null)\n watch(() => props.value, (next, prev) => {\n if (next === prev)\n return\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'ITEM.FOCUS', side: panel.value.side, value: next })\n })\n onBeforeUnmount(() => {\n const { service } = ctx\n // 整组一起卸载时根部件先停机,此刻送事件会在 dev 下抛\n if (service.getStatus() !== 'Started')\n return\n // 按「本节点当下正持有焦点」判定,不按 value 比对\n if (itemEl.value && service.scope.getActiveElement() === itemEl.value)\n service.send({ type: 'LIST.BLUR', side: panel.value.side })\n })\n return () => h(\n 'div',\n { ...ctx.api.value.getItemProps(item.value) as Record<string, unknown>, ref: itemEl },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTransferItemText = defineComponent({\n name: 'XhTransferItemText',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { item } = useTransferItemContext()\n return () => h('span', ctx.api.value.getItemTextProps(item.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferItemCheckbox = defineComponent({\n name: 'XhTransferItemCheckbox',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n const { item } = useTransferItemContext()\n return () => h('span', ctx.api.value.getItemCheckboxProps(item.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferToTargetTrigger = defineComponent({\n name: 'XhTransferToTargetTrigger',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n // 用原生 button,激活与禁用交给平台\n return () => h('button', ctx.api.value.getToTargetTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTransferToSourceTrigger = defineComponent({\n name: 'XhTransferToSourceTrigger',\n setup(_, { slots }) {\n const ctx = useTransferContext()\n return () => h('button', ctx.api.value.getToSourceTriggerProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { inject, provide } from "vue";
2
2
  //#region src/components/tree/context.ts
3
- const KEY = Symbol("xh-tree");
4
- const NODE_KEY = Symbol("xh-tree-node");
3
+ const KEY = Symbol.for("xh-tree");
4
+ const NODE_KEY = Symbol.for("xh-tree-node");
5
5
  function provideTree(ctx) {
6
6
  provide(KEY, ctx);
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tree/context.ts"],"sourcesContent":["import type { TreeNodeProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { TreeContext } from './use-tree'\nimport { inject, provide } from 'vue'\n\n/** 节点自报的值,供 item / branch 的子部件复用同一份声明;层级、禁用与标签回 collection 里查。 */\nexport interface TreeNodeContext {\n node: ComputedRef<TreeNodeProps>\n}\n\nconst KEY: InjectionKey<TreeContext> = Symbol('xh-tree')\nconst NODE_KEY: InjectionKey<TreeNodeContext> = Symbol('xh-tree-node')\n\nexport function provideTree(ctx: TreeContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTreeContext(): TreeContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Tree 部件必须用在 XhTreeRoot 内')\n return ctx\n}\n\nexport function provideTreeNode(ctx: TreeNodeContext): void {\n provide(NODE_KEY, ctx)\n}\n\nexport function useTreeNodeContext(): TreeNodeContext {\n const ctx = inject(NODE_KEY, null)\n if (!ctx)\n throw new Error('[xh] Tree 节点子部件必须用在 XhTreeItem 或 XhTreeBranch 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAiC,OAAO,SAAS;AACvD,MAAM,WAA0C,OAAO,cAAc;AAErE,SAAgB,YAAY,KAAwB;CAClD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,iBAA8B;CAC5C,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,+BAA+B;CACjD,OAAO;AACT;AAEA,SAAgB,gBAAgB,KAA4B;CAC1D,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,qBAAsC;CACpD,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,iDAAiD;CACnE,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tree/context.ts"],"sourcesContent":["import type { TreeNodeProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { TreeContext } from './use-tree'\nimport { inject, provide } from 'vue'\n\n/** 节点自报的值,供 item / branch 的子部件复用同一份声明;层级、禁用与标签回 collection 里查。 */\nexport interface TreeNodeContext {\n node: ComputedRef<TreeNodeProps>\n}\n\nconst KEY: InjectionKey<TreeContext> = Symbol.for('xh-tree')\nconst NODE_KEY: InjectionKey<TreeNodeContext> = Symbol.for('xh-tree-node')\n\nexport function provideTree(ctx: TreeContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTreeContext(): TreeContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Tree 部件必须用在 XhTreeRoot 内')\n return ctx\n}\n\nexport function provideTreeNode(ctx: TreeNodeContext): void {\n provide(NODE_KEY, ctx)\n}\n\nexport function useTreeNodeContext(): TreeNodeContext {\n const ctx = inject(NODE_KEY, null)\n if (!ctx)\n throw new Error('[xh] Tree 节点子部件必须用在 XhTreeItem 或 XhTreeBranch 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAiC,OAAO,IAAI,SAAS;AAC3D,MAAM,WAA0C,OAAO,IAAI,cAAc;AAEzE,SAAgB,YAAY,KAAwB;CAClD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,iBAA8B;CAC5C,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,+BAA+B;CACjD,OAAO;AACT;AAEA,SAAgB,gBAAgB,KAA4B;CAC1D,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,qBAAsC;CACpD,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,iDAAiD;CACnE,OAAO;AACT"}
@@ -5,7 +5,7 @@ import { Direction } from "@xihan-ui/kernel";
5
5
  //#region src/components/tree/tree.d.ts
6
6
  type TreeProps = TreeSchema['props'];
7
7
  /** 默认插槽的载荷:可见行序列与展开、选中、焦点状态,以及按值判定与展开、收起、选中的动作。 */
8
- type TreeRootSlotProps = Pick<TreeApi, 'visibleNodes' | 'expandedValue' | 'selectedValue' | 'focusedValue' | 'isExpanded' | 'isSelected' | 'isIndeterminate' | 'expand' | 'collapse' | 'select'>;
8
+ type TreeRootSlotProps = Pick<TreeApi, 'visibleNodes' | 'expandedValue' | 'selection' | 'focusedValue' | 'isExpanded' | 'isSelected' | 'isIndeterminate' | 'expand' | 'collapse' | 'select'>;
9
9
  declare const XhTreeRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
10
  collection: {
11
11
  type: PropType<TreeNode[]>;
@@ -19,14 +19,23 @@ declare const XhTreeRoot: import("vue").DefineComponent<import("vue").ExtractPro
19
19
  type: PropType<string[]>;
20
20
  default: undefined;
21
21
  };
22
- selectedValue: {
22
+ selection: {
23
23
  type: PropType<string[]>;
24
24
  default: undefined;
25
25
  };
26
- defaultSelectedValue: {
26
+ defaultSelection: {
27
27
  type: PropType<string[]>;
28
28
  default: undefined;
29
29
  };
30
+ multiple: {
31
+ type: BooleanConstructor;
32
+ default: undefined;
33
+ };
34
+ /** 末端那一层怎么排,默认 vertical;horizontal 让子节点全是叶子的那层并排铺开。 */
35
+ leafOrientation: {
36
+ type: PropType<TreeProps["leafOrientation"]>;
37
+ default: undefined;
38
+ };
30
39
  selectionMode: {
31
40
  type: PropType<TreeSelectionMode>;
32
41
  default: undefined;
@@ -59,7 +68,7 @@ declare const XhTreeRoot: import("vue").DefineComponent<import("vue").ExtractPro
59
68
  'expanded-change': (_details: PayloadOf<TreeProps, "onExpandedChange">) => true;
60
69
  'update:expandedValue': (_value: PayloadOf<TreeProps, "onExpandedChange">["value"]) => true;
61
70
  'selection-change': (_details: PayloadOf<TreeProps, "onSelectionChange">) => true;
62
- 'update:selectedValue': (_value: PayloadOf<TreeProps, "onSelectionChange">["value"]) => true;
71
+ 'update:selection': (_value: PayloadOf<TreeProps, "onSelectionChange">["value"]) => true;
63
72
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
64
73
  collection: {
65
74
  type: PropType<TreeNode[]>;
@@ -73,14 +82,23 @@ declare const XhTreeRoot: import("vue").DefineComponent<import("vue").ExtractPro
73
82
  type: PropType<string[]>;
74
83
  default: undefined;
75
84
  };
76
- selectedValue: {
85
+ selection: {
77
86
  type: PropType<string[]>;
78
87
  default: undefined;
79
88
  };
80
- defaultSelectedValue: {
89
+ defaultSelection: {
81
90
  type: PropType<string[]>;
82
91
  default: undefined;
83
92
  };
93
+ multiple: {
94
+ type: BooleanConstructor;
95
+ default: undefined;
96
+ };
97
+ /** 末端那一层怎么排,默认 vertical;horizontal 让子节点全是叶子的那层并排铺开。 */
98
+ leafOrientation: {
99
+ type: PropType<TreeProps["leafOrientation"]>;
100
+ default: undefined;
101
+ };
84
102
  selectionMode: {
85
103
  type: PropType<TreeSelectionMode>;
86
104
  default: undefined;
@@ -111,8 +129,9 @@ declare const XhTreeRoot: import("vue").DefineComponent<import("vue").ExtractPro
111
129
  "onExpanded-change"?: ((_details: import("@xihan-ui/headless").TreeExpandedChangeDetails) => any) | undefined;
112
130
  "onUpdate:expandedValue"?: ((_value: string[]) => any) | undefined;
113
131
  "onSelection-change"?: ((_details: import("@xihan-ui/headless").TreeSelectionChangeDetails) => any) | undefined;
114
- "onUpdate:selectedValue"?: ((_value: string[]) => any) | undefined;
132
+ "onUpdate:selection"?: ((_value: string[]) => any) | undefined;
115
133
  }>, {
134
+ multiple: boolean;
116
135
  collection: TreeNode[];
117
136
  dir: Direction;
118
137
  disabled: boolean;
@@ -123,8 +142,9 @@ declare const XhTreeRoot: import("vue").DefineComponent<import("vue").ExtractPro
123
142
  typeahead: boolean;
124
143
  expandedValue: string[];
125
144
  defaultExpandedValue: string[];
126
- selectedValue: string[];
127
- defaultSelectedValue: string[];
145
+ selection: string[];
146
+ defaultSelection: string[];
147
+ leafOrientation: import("@xihan-ui/kernel").Orientation | undefined;
128
148
  expandOnClick: boolean;
129
149
  }, SlotsType<{
130
150
  default?: (props: TreeRootSlotProps) => VNode[];
@@ -151,6 +171,12 @@ declare const XhTreeItem: import("vue").DefineComponent<import("vue").ExtractPro
151
171
  declare const XhTreeItemText: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
152
172
  [key: string]: any;
153
173
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
174
+ declare const XhTreeItemCheckbox: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
175
+ [key: string]: any;
176
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
177
+ declare const XhTreeBranchCheckbox: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
178
+ [key: string]: any;
179
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
154
180
  declare const XhTreeItemIndicator: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
155
181
  [key: string]: any;
156
182
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -183,5 +209,5 @@ declare const XhTreeBranchContent: import("vue").DefineComponent<{}, () => VNode
183
209
  [key: string]: any;
184
210
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
185
211
  //#endregion
186
- export { TreeRootSlotProps, XhTreeBranch, XhTreeBranchContent, XhTreeBranchControl, XhTreeBranchIndicator, XhTreeBranchText, XhTreeBranchTrigger, XhTreeItem, XhTreeItemIndicator, XhTreeItemText, XhTreeLabel, XhTreeRoot, XhTreeTree };
212
+ export { TreeRootSlotProps, XhTreeBranch, XhTreeBranchCheckbox, XhTreeBranchContent, XhTreeBranchControl, XhTreeBranchIndicator, XhTreeBranchText, XhTreeBranchTrigger, XhTreeItem, XhTreeItemCheckbox, XhTreeItemIndicator, XhTreeItemText, XhTreeLabel, XhTreeRoot, XhTreeTree };
187
213
  //# sourceMappingURL=tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","names":[],"sources":["../../../src/components/tree/tree.ts"],"mappings":";;;;;KASK,YAAY;;KAGL,oBAAoB,KAC9B;cAmCW,0BAAU,8BAAA;;IAIU,MAAA,SAAS;;;;IACN,MAAA;;;;IACO,MAAA;;;;IACP,MAAA;;;;IACO,MAAA;;;;IACN,MAAA,SAAS;;;;;IAEP,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKrB,MAAA,SAAS;;;;;;EAIF,oBAAA,UAAA,UAAU;EACP,yBAAA,QAAA,UAAU;EACZ,qBAAA,UAAA,UAAU;EACR,yBAAA,QAAA,UAAU;;;IAnBd,MAAA,SAAS;;;;IACN,MAAA;;;;IACO,MAAA;;;;IACP,MAAA;;;;IACO,MAAA;;;;IACN,MAAA,SAAS;;;;;IAEP,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKrB,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;EAUtB,WAAC,OAAO,sBAAsB;kCA0B1C;cAEW,2BAAW,0BAAA,oBAAA,4BAAA;;8BAMtB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0BAAU,0BAAA,oBAAA,4BAAA;;8BAMrB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0BAAU,8BAAA;;;;;;;;;;;;MAiBrB,oDAAA;cAEW,8BAAc,0BAAA,oBAAA,4BAAA;;8BAOzB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,4BAAY,8BAAA;;;;;;;;;;;;MAkBvB,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAOhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAO3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAQ9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"tree.d.ts","names":[],"sources":["../../../src/components/tree/tree.ts"],"mappings":";;;;;KASK,YAAY;;KAGL,oBAAoB,KAC9B;cAmCW,0BAAU,8BAAA;;IAIU,MAAA,SAAS;;;;IACN,MAAA;;;;IACO,MAAA;;;;IACX,MAAA;;;;IACO,MAAA;;;;;;;;;IAGA,MAAA,SAAS;;;;IACX,MAAA,SAAS;;;;;IAEP,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKrB,MAAA,SAAS;;;;;;EAIF,oBAAA,UAAA,UAAU;EACP,yBAAA,QAAA,UAAU;EACZ,qBAAA,UAAA,UAAU;EACZ,qBAAA,QAAA,UAAU;;;IAtBV,MAAA,SAAS;;;;IACN,MAAA;;;;IACO,MAAA;;;;IACX,MAAA;;;;IACO,MAAA;;;;;;;;;IAGA,MAAA,SAAS;;;;IACX,MAAA,SAAS;;;;;IAEP,MAAA,SAAS;;;;;;;;;;;;;;;;;IAKrB,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;EAUtB,WAAC,OAAO,sBAAsB;kCA0B1C;cAEW,2BAAW,0BAAA,oBAAA,4BAAA;;8BAMtB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0BAAU,0BAAA,oBAAA,4BAAA;;8BAMrB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0BAAU,8BAAA;;;;;;;;;;;;MAiBrB,oDAAA;cAEW,8BAAc,0BAAA,oBAAA,4BAAA;;8BAOzB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAO7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAO/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,4BAAY,8BAAA;;;;;;;;;;;;MAkBvB,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAOhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAO3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAQ9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -34,14 +34,23 @@ const XhTreeRoot = defineComponent({
34
34
  type: Array,
35
35
  default: void 0
36
36
  },
37
- selectedValue: {
37
+ selection: {
38
38
  type: Array,
39
39
  default: void 0
40
40
  },
41
- defaultSelectedValue: {
41
+ defaultSelection: {
42
42
  type: Array,
43
43
  default: void 0
44
44
  },
45
+ multiple: {
46
+ type: Boolean,
47
+ default: void 0
48
+ },
49
+ /** 末端那一层怎么排,默认 vertical;horizontal 让子节点全是叶子的那层并排铺开。 */
50
+ leafOrientation: {
51
+ type: String,
52
+ default: void 0
53
+ },
45
54
  selectionMode: {
46
55
  type: String,
47
56
  default: void 0
@@ -73,7 +82,7 @@ const XhTreeRoot = defineComponent({
73
82
  "expanded-change": (_details) => true,
74
83
  "update:expandedValue": (_value) => true,
75
84
  "selection-change": (_details) => true,
76
- "update:selectedValue": (_value) => true
85
+ "update:selection": (_value) => true
77
86
  },
78
87
  slots: Object,
79
88
  setup(props, { slots, emit }) {
@@ -83,14 +92,14 @@ const XhTreeRoot = defineComponent({
83
92
  };
84
93
  const onSelectionChange = (details) => {
85
94
  emit("selection-change", details);
86
- emit("update:selectedValue", details.value);
95
+ emit("update:selection", details.value);
87
96
  };
88
97
  const ctx = useTree(props, onExpandedChange, onSelectionChange);
89
98
  provideTree(ctx);
90
99
  return () => h("div", ctx.api.value.getRootProps(), slots.default?.({
91
100
  visibleNodes: ctx.api.value.visibleNodes,
92
101
  expandedValue: ctx.api.value.expandedValue,
93
- selectedValue: ctx.api.value.selectedValue,
102
+ selection: ctx.api.value.selection,
94
103
  focusedValue: ctx.api.value.focusedValue,
95
104
  isExpanded: ctx.api.value.isExpanded,
96
105
  isSelected: ctx.api.value.isSelected,
@@ -141,6 +150,22 @@ const XhTreeItemText = defineComponent({
141
150
  return () => h("span", ctx.api.value.getItemTextProps(node.value), slots.default?.());
142
151
  }
143
152
  });
153
+ const XhTreeItemCheckbox = defineComponent({
154
+ name: "XhTreeItemCheckbox",
155
+ setup(_, { slots }) {
156
+ const ctx = useTreeContext();
157
+ const { node } = useTreeNodeContext();
158
+ return () => h("span", ctx.api.value.getItemCheckboxProps(node.value), slots.default?.());
159
+ }
160
+ });
161
+ const XhTreeBranchCheckbox = defineComponent({
162
+ name: "XhTreeBranchCheckbox",
163
+ setup(_, { slots }) {
164
+ const ctx = useTreeContext();
165
+ const { node } = useTreeNodeContext();
166
+ return () => h("span", ctx.api.value.getBranchCheckboxProps(node.value), slots.default?.());
167
+ }
168
+ });
144
169
  const XhTreeItemIndicator = defineComponent({
145
170
  name: "XhTreeItemIndicator",
146
171
  setup(_, { slots }) {
@@ -208,6 +233,6 @@ const XhTreeBranchContent = defineComponent({
208
233
  }
209
234
  });
210
235
  //#endregion
211
- export { XhTreeBranch, XhTreeBranchContent, XhTreeBranchControl, XhTreeBranchIndicator, XhTreeBranchText, XhTreeBranchTrigger, XhTreeItem, XhTreeItemIndicator, XhTreeItemText, XhTreeLabel, XhTreeRoot, XhTreeTree };
236
+ export { XhTreeBranch, XhTreeBranchCheckbox, XhTreeBranchContent, XhTreeBranchControl, XhTreeBranchIndicator, XhTreeBranchText, XhTreeBranchTrigger, XhTreeItem, XhTreeItemCheckbox, XhTreeItemIndicator, XhTreeItemText, XhTreeLabel, XhTreeRoot, XhTreeTree };
212
237
 
213
238
  //# sourceMappingURL=tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","names":[],"sources":["../../../src/components/tree/tree.ts"],"sourcesContent":["import type { TreeApi, TreeNode, TreeNodeProps, TreeSchema, TreeSelectionMode } from '@xihan-ui/headless'\nimport type { Direction } from '@xihan-ui/kernel'\nimport type { PropType, Ref, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport type { TreeContext } from './use-tree'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport { provideTree, provideTreeNode, useTreeContext, useTreeNodeContext } from './context'\nimport { useTree } from './use-tree'\n\ntype TreeProps = TreeSchema['props']\n\n/** 默认插槽的载荷:可见行序列与展开、选中、焦点状态,以及按值判定与展开、收起、选中的动作。 */\nexport type TreeRootSlotProps = Pick<\n TreeApi,\n | 'visibleNodes'\n | 'expandedValue'\n | 'selectedValue'\n | 'focusedValue'\n | 'isExpanded'\n | 'isSelected'\n | 'isIndeterminate'\n | 'expand'\n | 'collapse'\n | 'select'\n>\n\n/** 本节点持有焦点时,value 变更重报焦点节点,卸载时上报整树失焦 */\nfunction reportNodeFocus(ctx: TreeContext, el: Ref<HTMLElement | null>, value: () => string): void {\n watch(value, (next, prev) => {\n if (next === prev)\n return\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n if (el.value && service.scope.getActiveElement() === el.value)\n service.send({ type: 'NODE.FOCUS', value: next })\n })\n onBeforeUnmount(() => {\n const { service } = ctx\n // 整组一起卸载时根部件先停机,此刻送事件会在 dev 下抛\n if (service.getStatus() !== 'Started')\n return\n // 按「本节点当下正持有焦点」判定,不按 value 比对\n if (el.value && service.scope.getActiveElement() === el.value)\n service.send({ type: 'TREE.BLUR' })\n })\n}\n\nexport const XhTreeRoot = defineComponent({\n name: 'XhTreeRoot',\n // 有 connect 兜底的 prop 一律 default: undefined\n props: {\n collection: { type: Array as PropType<TreeNode[]>, default: undefined },\n expandedValue: { type: Array as PropType<string[]>, default: undefined },\n defaultExpandedValue: { type: Array as PropType<string[]>, default: undefined },\n selectedValue: { type: Array as PropType<string[]>, default: undefined },\n defaultSelectedValue: { type: Array as PropType<string[]>, default: undefined },\n selectionMode: { type: String as PropType<TreeSelectionMode>, default: undefined },\n cascade: Boolean,\n checkedStrategy: { type: String as PropType<TreeProps['checkedStrategy']>, default: undefined },\n expandOnClick: { type: Boolean, default: undefined },\n disabled: Boolean,\n loop: { type: Boolean, default: undefined },\n typeahead: { type: Boolean, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n },\n // *-change 携带 { value },update:* 携带裸集合;回传值恒为数组,单选时长度 ≤ 1\n emits: {\n 'expanded-change': (_details: PayloadOf<TreeProps, 'onExpandedChange'>) => true,\n 'update:expandedValue': (_value: PayloadOf<TreeProps, 'onExpandedChange'>['value']) => true,\n 'selection-change': (_details: PayloadOf<TreeProps, 'onSelectionChange'>) => true,\n 'update:selectedValue': (_value: PayloadOf<TreeProps, 'onSelectionChange'>['value']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TreeRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const onExpandedChange: TreeProps['onExpandedChange'] = (details) => {\n emit('expanded-change', details)\n emit('update:expandedValue', details.value)\n }\n const onSelectionChange: TreeProps['onSelectionChange'] = (details) => {\n emit('selection-change', details)\n emit('update:selectedValue', details.value)\n }\n const ctx = useTree(props as TreeProps, onExpandedChange, onSelectionChange)\n provideTree(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n visibleNodes: ctx.api.value.visibleNodes,\n expandedValue: ctx.api.value.expandedValue,\n selectedValue: ctx.api.value.selectedValue,\n focusedValue: ctx.api.value.focusedValue,\n isExpanded: ctx.api.value.isExpanded,\n isSelected: ctx.api.value.isSelected,\n isIndeterminate: ctx.api.value.isIndeterminate,\n expand: ctx.api.value.expand,\n collapse: ctx.api.value.collapse,\n select: ctx.api.value.select,\n }))\n },\n})\n\nexport const XhTreeLabel = defineComponent({\n name: 'XhTreeLabel',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n return () => h('span', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeTree = defineComponent({\n name: 'XhTreeTree',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n return () => h('div', ctx.api.value.getTreeProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeItem = defineComponent({\n name: 'XhTreeItem',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTreeContext()\n const node = computed<TreeNodeProps>(() => ({ value: props.value }))\n provideTreeNode({ node })\n const el = ref<HTMLElement | null>(null)\n reportNodeFocus(ctx, el, () => props.value)\n return () => h(\n 'div',\n { ...ctx.api.value.getItemProps(node.value) as Record<string, unknown>, ref: el },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTreeItemText = defineComponent({\n name: 'XhTreeItemText',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getItemTextProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeItemIndicator = defineComponent({\n name: 'XhTreeItemIndicator',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getItemIndicatorProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranch = defineComponent({\n name: 'XhTreeBranch',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTreeContext()\n const node = computed<TreeNodeProps>(() => ({ value: props.value }))\n // 分支自身也是 treeitem,供其子部件读取;子节点各自再 provide 一层\n provideTreeNode({ node })\n const el = ref<HTMLElement | null>(null)\n reportNodeFocus(ctx, el, () => props.value)\n return () => h(\n 'div',\n { ...ctx.api.value.getBranchProps(node.value) as Record<string, unknown>, ref: el },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTreeBranchControl = defineComponent({\n name: 'XhTreeBranchControl',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('div', ctx.api.value.getBranchControlProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchTrigger = defineComponent({\n name: 'XhTreeBranchTrigger',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getBranchTriggerProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchIndicator = defineComponent({\n name: 'XhTreeBranchIndicator',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getBranchIndicatorProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchText = defineComponent({\n name: 'XhTreeBranchText',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getBranchTextProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchContent = defineComponent({\n name: 'XhTreeBranchContent',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n // 收起只加 hidden,不卸载子树节点\n return () => h('div', ctx.api.value.getBranchContentProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","names":[],"sources":["../../../src/components/tree/tree.ts"],"sourcesContent":["import type { TreeApi, TreeNode, TreeNodeProps, TreeSchema, TreeSelectionMode } from '@xihan-ui/headless'\nimport type { Direction } from '@xihan-ui/kernel'\nimport type { PropType, Ref, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport type { TreeContext } from './use-tree'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport { provideTree, provideTreeNode, useTreeContext, useTreeNodeContext } from './context'\nimport { useTree } from './use-tree'\n\ntype TreeProps = TreeSchema['props']\n\n/** 默认插槽的载荷:可见行序列与展开、选中、焦点状态,以及按值判定与展开、收起、选中的动作。 */\nexport type TreeRootSlotProps = Pick<\n TreeApi,\n | 'visibleNodes'\n | 'expandedValue'\n | 'selection'\n | 'focusedValue'\n | 'isExpanded'\n | 'isSelected'\n | 'isIndeterminate'\n | 'expand'\n | 'collapse'\n | 'select'\n>\n\n/** 本节点持有焦点时,value 变更重报焦点节点,卸载时上报整树失焦 */\nfunction reportNodeFocus(ctx: TreeContext, el: Ref<HTMLElement | null>, value: () => string): void {\n watch(value, (next, prev) => {\n if (next === prev)\n return\n const { service } = ctx\n if (service.getStatus() !== 'Started')\n return\n if (el.value && service.scope.getActiveElement() === el.value)\n service.send({ type: 'NODE.FOCUS', value: next })\n })\n onBeforeUnmount(() => {\n const { service } = ctx\n // 整组一起卸载时根部件先停机,此刻送事件会在 dev 下抛\n if (service.getStatus() !== 'Started')\n return\n // 按「本节点当下正持有焦点」判定,不按 value 比对\n if (el.value && service.scope.getActiveElement() === el.value)\n service.send({ type: 'TREE.BLUR' })\n })\n}\n\nexport const XhTreeRoot = defineComponent({\n name: 'XhTreeRoot',\n // 有 connect 兜底的 prop 一律 default: undefined\n props: {\n collection: { type: Array as PropType<TreeNode[]>, default: undefined },\n expandedValue: { type: Array as PropType<string[]>, default: undefined },\n defaultExpandedValue: { type: Array as PropType<string[]>, default: undefined },\n selection: { type: Array as PropType<string[]>, default: undefined },\n defaultSelection: { type: Array as PropType<string[]>, default: undefined },\n multiple: { type: Boolean, default: undefined },\n /** 末端那一层怎么排,默认 vertical;horizontal 让子节点全是叶子的那层并排铺开。 */\n leafOrientation: { type: String as PropType<TreeProps['leafOrientation']>, default: undefined },\n selectionMode: { type: String as PropType<TreeSelectionMode>, default: undefined },\n cascade: Boolean,\n checkedStrategy: { type: String as PropType<TreeProps['checkedStrategy']>, default: undefined },\n expandOnClick: { type: Boolean, default: undefined },\n disabled: Boolean,\n loop: { type: Boolean, default: undefined },\n typeahead: { type: Boolean, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n },\n // *-change 携带 { value },update:* 携带裸集合;回传值恒为数组,单选时长度 ≤ 1\n emits: {\n 'expanded-change': (_details: PayloadOf<TreeProps, 'onExpandedChange'>) => true,\n 'update:expandedValue': (_value: PayloadOf<TreeProps, 'onExpandedChange'>['value']) => true,\n 'selection-change': (_details: PayloadOf<TreeProps, 'onSelectionChange'>) => true,\n 'update:selection': (_value: PayloadOf<TreeProps, 'onSelectionChange'>['value']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TreeRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const onExpandedChange: TreeProps['onExpandedChange'] = (details) => {\n emit('expanded-change', details)\n emit('update:expandedValue', details.value)\n }\n const onSelectionChange: TreeProps['onSelectionChange'] = (details) => {\n emit('selection-change', details)\n emit('update:selection', details.value)\n }\n const ctx = useTree(props as TreeProps, onExpandedChange, onSelectionChange)\n provideTree(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n visibleNodes: ctx.api.value.visibleNodes,\n expandedValue: ctx.api.value.expandedValue,\n selection: ctx.api.value.selection,\n focusedValue: ctx.api.value.focusedValue,\n isExpanded: ctx.api.value.isExpanded,\n isSelected: ctx.api.value.isSelected,\n isIndeterminate: ctx.api.value.isIndeterminate,\n expand: ctx.api.value.expand,\n collapse: ctx.api.value.collapse,\n select: ctx.api.value.select,\n }))\n },\n})\n\nexport const XhTreeLabel = defineComponent({\n name: 'XhTreeLabel',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n return () => h('span', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeTree = defineComponent({\n name: 'XhTreeTree',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n return () => h('div', ctx.api.value.getTreeProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeItem = defineComponent({\n name: 'XhTreeItem',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTreeContext()\n const node = computed<TreeNodeProps>(() => ({ value: props.value }))\n provideTreeNode({ node })\n const el = ref<HTMLElement | null>(null)\n reportNodeFocus(ctx, el, () => props.value)\n return () => h(\n 'div',\n { ...ctx.api.value.getItemProps(node.value) as Record<string, unknown>, ref: el },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTreeItemText = defineComponent({\n name: 'XhTreeItemText',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getItemTextProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeItemCheckbox = defineComponent({\n name: 'XhTreeItemCheckbox',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getItemCheckboxProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchCheckbox = defineComponent({\n name: 'XhTreeBranchCheckbox',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getBranchCheckboxProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeItemIndicator = defineComponent({\n name: 'XhTreeItemIndicator',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getItemIndicatorProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranch = defineComponent({\n name: 'XhTreeBranch',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTreeContext()\n const node = computed<TreeNodeProps>(() => ({ value: props.value }))\n // 分支自身也是 treeitem,供其子部件读取;子节点各自再 provide 一层\n provideTreeNode({ node })\n const el = ref<HTMLElement | null>(null)\n reportNodeFocus(ctx, el, () => props.value)\n return () => h(\n 'div',\n { ...ctx.api.value.getBranchProps(node.value) as Record<string, unknown>, ref: el },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTreeBranchControl = defineComponent({\n name: 'XhTreeBranchControl',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('div', ctx.api.value.getBranchControlProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchTrigger = defineComponent({\n name: 'XhTreeBranchTrigger',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getBranchTriggerProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchIndicator = defineComponent({\n name: 'XhTreeBranchIndicator',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getBranchIndicatorProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchText = defineComponent({\n name: 'XhTreeBranchText',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n return () => h('span', ctx.api.value.getBranchTextProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTreeBranchContent = defineComponent({\n name: 'XhTreeBranchContent',\n setup(_, { slots }) {\n const ctx = useTreeContext()\n const { node } = useTreeNodeContext()\n // 收起只加 hidden,不卸载子树节点\n return () => h('div', ctx.api.value.getBranchContentProps(node.value) as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;AA2BA,SAAS,gBAAgB,KAAkB,IAA6B,OAA2B;CACjG,MAAM,QAAQ,MAAM,SAAS;EAC3B,IAAI,SAAS,MACX;EACF,MAAM,EAAE,YAAY;EACpB,IAAI,QAAQ,UAAU,MAAM,WAC1B;EACF,IAAI,GAAG,SAAS,QAAQ,MAAM,iBAAiB,MAAM,GAAG,OACtD,QAAQ,KAAK;GAAE,MAAM;GAAc,OAAO;EAAK,CAAC;CACpD,CAAC;CACD,sBAAsB;EACpB,MAAM,EAAE,YAAY;EAEpB,IAAI,QAAQ,UAAU,MAAM,WAC1B;EAEF,IAAI,GAAG,SAAS,QAAQ,MAAM,iBAAiB,MAAM,GAAG,OACtD,QAAQ,KAAK,EAAE,MAAM,YAAY,CAAC;CACtC,CAAC;AACH;AAEA,MAAa,aAAa,gBAAgB;CACxC,MAAM;CAEN,OAAO;EACL,YAAY;GAAE,MAAM;GAA+B,SAAS,KAAA;EAAU;EACtE,eAAe;GAAE,MAAM;GAA6B,SAAS,KAAA;EAAU;EACvE,sBAAsB;GAAE,MAAM;GAA6B,SAAS,KAAA;EAAU;EAC9E,WAAW;GAAE,MAAM;GAA6B,SAAS,KAAA;EAAU;EACnE,kBAAkB;GAAE,MAAM;GAA6B,SAAS,KAAA;EAAU;EAC1E,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;;EAE9C,iBAAiB;GAAE,MAAM;GAAkD,SAAS,KAAA;EAAU;EAC9F,eAAe;GAAE,MAAM;GAAuC,SAAS,KAAA;EAAU;EACjF,SAAS;EACT,iBAAiB;GAAE,MAAM;GAAkD,SAAS,KAAA;EAAU;EAC9F,eAAe;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EACnD,UAAU;EACV,MAAM;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC1C,WAAW;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC/C,KAAK;GAAE,MAAM;GAA+B,SAAS,KAAA;EAAU;CACjE;CAEA,OAAO;EACL,oBAAoB,aAAuD;EAC3E,yBAAyB,WAA8D;EACvF,qBAAqB,aAAwD;EAC7E,qBAAqB,WAA+D;CACtF;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,OAAO,QAAQ;EAC5B,MAAM,oBAAmD,YAAY;GACnE,KAAK,mBAAmB,OAAO;GAC/B,KAAK,wBAAwB,QAAQ,KAAK;EAC5C;EACA,MAAM,qBAAqD,YAAY;GACrE,KAAK,oBAAoB,OAAO;GAChC,KAAK,oBAAoB,QAAQ,KAAK;EACxC;EACA,MAAM,MAAM,QAAQ,OAAoB,kBAAkB,iBAAiB;EAC3E,YAAY,GAAG;EACf,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU;GAC7F,cAAc,IAAI,IAAI,MAAM;GAC5B,eAAe,IAAI,IAAI,MAAM;GAC7B,WAAW,IAAI,IAAI,MAAM;GACzB,cAAc,IAAI,IAAI,MAAM;GAC5B,YAAY,IAAI,IAAI,MAAM;GAC1B,YAAY,IAAI,IAAI,MAAM;GAC1B,iBAAiB,IAAI,IAAI,MAAM;GAC/B,QAAQ,IAAI,IAAI,MAAM;GACtB,UAAU,IAAI,IAAI,MAAM;GACxB,QAAQ,IAAI,IAAI,MAAM;EACxB,CAAC,CAAC;CACJ;AACF,CAAC;AAED,MAAa,cAAc,gBAAgB;CACzC,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACpG;AACF,CAAC;AAED,MAAa,aAAa,gBAAgB;CACxC,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CAClG;AACF,CAAC;AAED,MAAa,aAAa,gBAAgB;CACxC,MAAM;CACN,OAAO,EACL,OAAO;EAAE,MAAM;EAAQ,UAAU;CAAK,EACxC;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,eAAe;EAC3B,MAAM,OAAO,gBAA+B,EAAE,OAAO,MAAM,MAAM,EAAE;EACnE,gBAAgB,EAAE,KAAK,CAAC;EACxB,MAAM,KAAK,IAAwB,IAAI;EACvC,gBAAgB,KAAK,UAAU,MAAM,KAAK;EAC1C,aAAa,EACX,OACA;GAAE,GAAG,IAAI,IAAI,MAAM,aAAa,KAAK,KAAK;GAA8B,KAAK;EAAG,GAChF,MAAM,UAAU,CAClB;CACF;AACF,CAAC;AAED,MAAa,iBAAiB,gBAAgB;CAC5C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,iBAAiB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACjH;AACF,CAAC;AAED,MAAa,qBAAqB,gBAAgB;CAChD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,qBAAqB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACrH;AACF,CAAC;AAED,MAAa,uBAAuB,gBAAgB;CAClD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,uBAAuB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACvH;AACF,CAAC;AAED,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,sBAAsB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACtH;AACF,CAAC;AAED,MAAa,eAAe,gBAAgB;CAC1C,MAAM;CACN,OAAO,EACL,OAAO;EAAE,MAAM;EAAQ,UAAU;CAAK,EACxC;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,eAAe;EAC3B,MAAM,OAAO,gBAA+B,EAAE,OAAO,MAAM,MAAM,EAAE;EAEnE,gBAAgB,EAAE,KAAK,CAAC;EACxB,MAAM,KAAK,IAAwB,IAAI;EACvC,gBAAgB,KAAK,UAAU,MAAM,KAAK;EAC1C,aAAa,EACX,OACA;GAAE,GAAG,IAAI,IAAI,MAAM,eAAe,KAAK,KAAK;GAA8B,KAAK;EAAG,GAClF,MAAM,UAAU,CAClB;CACF;AACF,CAAC;AAED,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,sBAAsB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACrH;AACF,CAAC;AAED,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,sBAAsB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACtH;AACF,CAAC;AAED,MAAa,wBAAwB,gBAAgB;CACnD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,wBAAwB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACxH;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EACpC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,mBAAmB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACnH;AACF,CAAC;AAED,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,eAAe;EAC3B,MAAM,EAAE,SAAS,mBAAmB;EAEpC,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,sBAAsB,KAAK,KAAK,GAA8B,MAAM,UAAU,CAAC;CACrH;AACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { inject, provide } from "vue";
2
2
  //#region src/components/tree-select/context.ts
3
- const KEY = Symbol("xh-tree-select");
4
- const NODE_KEY = Symbol("xh-tree-select-node");
3
+ const KEY = Symbol.for("xh-tree-select");
4
+ const NODE_KEY = Symbol.for("xh-tree-select-node");
5
5
  function provideTreeSelect(ctx) {
6
6
  provide(KEY, ctx);
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tree-select/context.ts"],"sourcesContent":["import type { TreeSelectNodeProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { TreeSelectContext } from './use-tree-select'\nimport { inject, provide } from 'vue'\n\n/** 节点自报的值,供 item / branch 的子部件复用同一份声明;层级、禁用与标签回 collection 里查。 */\nexport interface TreeSelectNodeContext {\n node: ComputedRef<TreeSelectNodeProps>\n}\n\nconst KEY: InjectionKey<TreeSelectContext> = Symbol('xh-tree-select')\nconst NODE_KEY: InjectionKey<TreeSelectNodeContext> = Symbol('xh-tree-select-node')\n\nexport function provideTreeSelect(ctx: TreeSelectContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTreeSelectContext(): TreeSelectContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] TreeSelect 部件必须用在 XhTreeSelectRoot 内')\n return ctx\n}\n\nexport function provideTreeSelectNode(ctx: TreeSelectNodeContext): void {\n provide(NODE_KEY, ctx)\n}\n\nexport function useTreeSelectNodeContext(): TreeSelectNodeContext {\n const ctx = inject(NODE_KEY, null)\n if (!ctx)\n throw new Error('[xh] TreeSelect 节点子部件必须用在 XhTreeSelectItem 或 XhTreeSelectBranch 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAuC,OAAO,gBAAgB;AACpE,MAAM,WAAgD,OAAO,qBAAqB;AAElF,SAAgB,kBAAkB,KAA8B;CAC9D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,uBAA0C;CACxD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,2CAA2C;CAC7D,OAAO;AACT;AAEA,SAAgB,sBAAsB,KAAkC;CACtE,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,2BAAkD;CAChE,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,mEAAmE;CACrF,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/tree-select/context.ts"],"sourcesContent":["import type { TreeSelectNodeProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { TreeSelectContext } from './use-tree-select'\nimport { inject, provide } from 'vue'\n\n/** 节点自报的值,供 item / branch 的子部件复用同一份声明;层级、禁用与标签回 collection 里查。 */\nexport interface TreeSelectNodeContext {\n node: ComputedRef<TreeSelectNodeProps>\n}\n\nconst KEY: InjectionKey<TreeSelectContext> = Symbol.for('xh-tree-select')\nconst NODE_KEY: InjectionKey<TreeSelectNodeContext> = Symbol.for('xh-tree-select-node')\n\nexport function provideTreeSelect(ctx: TreeSelectContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTreeSelectContext(): TreeSelectContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] TreeSelect 部件必须用在 XhTreeSelectRoot 内')\n return ctx\n}\n\nexport function provideTreeSelectNode(ctx: TreeSelectNodeContext): void {\n provide(NODE_KEY, ctx)\n}\n\nexport function useTreeSelectNodeContext(): TreeSelectNodeContext {\n const ctx = inject(NODE_KEY, null)\n if (!ctx)\n throw new Error('[xh] TreeSelect 节点子部件必须用在 XhTreeSelectItem 或 XhTreeSelectBranch 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAuC,OAAO,IAAI,gBAAgB;AACxE,MAAM,WAAgD,OAAO,IAAI,qBAAqB;AAEtF,SAAgB,kBAAkB,KAA8B;CAC9D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,uBAA0C;CACxD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,2CAA2C;CAC7D,OAAO;AACT;AAEA,SAAgB,sBAAsB,KAAkC;CACtE,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,2BAAkD;CAChE,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,mEAAmE;CACrF,OAAO;AACT"}
@@ -11,6 +11,13 @@ declare const XhTreeSelectRoot: import("vue").DefineComponent<import("vue").Extr
11
11
  type: PropType<TreeNode[]>;
12
12
  default: undefined;
13
13
  };
14
+ /** 标题文字。给了它就不必再写 label 部件;要放别的内容改用 label 插槽。 */
15
+ label: {
16
+ type: StringConstructor;
17
+ default: undefined;
18
+ };
19
+ /** 自动渲染树里是否带清空按钮;手写部件不看它,写了节点即可清。 */
20
+ clearable: BooleanConstructor;
14
21
  value: {
15
22
  type: PropType<string | string[]>;
16
23
  default: undefined;
@@ -95,6 +102,13 @@ declare const XhTreeSelectRoot: import("vue").DefineComponent<import("vue").Extr
95
102
  type: PropType<TreeNode[]>;
96
103
  default: undefined;
97
104
  };
105
+ /** 标题文字。给了它就不必再写 label 部件;要放别的内容改用 label 插槽。 */
106
+ label: {
107
+ type: StringConstructor;
108
+ default: undefined;
109
+ };
110
+ /** 自动渲染树里是否带清空按钮;手写部件不看它,写了节点即可清。 */
111
+ clearable: BooleanConstructor;
98
112
  value: {
99
113
  type: PropType<string | string[]>;
100
114
  default: undefined;
@@ -175,6 +189,7 @@ declare const XhTreeSelectRoot: import("vue").DefineComponent<import("vue").Extr
175
189
  }>, {
176
190
  name: string;
177
191
  invalid: boolean;
192
+ label: string;
178
193
  value: string | string[];
179
194
  multiple: boolean;
180
195
  collection: TreeNode[];
@@ -183,10 +198,10 @@ declare const XhTreeSelectRoot: import("vue").DefineComponent<import("vue").Extr
183
198
  tone: Tone;
184
199
  size: Size;
185
200
  disabled: boolean;
201
+ offset: number;
202
+ translations: Partial<import("@xihan-ui/headless").TreeSelectTranslations> | undefined;
186
203
  open: boolean;
187
204
  defaultOpen: boolean;
188
- translations: Partial<import("@xihan-ui/headless").TreeSelectTranslations> | undefined;
189
- offset: number;
190
205
  variant: ControlVariant;
191
206
  readOnly: boolean;
192
207
  loop: boolean;
@@ -194,14 +209,19 @@ declare const XhTreeSelectRoot: import("vue").DefineComponent<import("vue").Extr
194
209
  cascade: boolean;
195
210
  placeholder: string;
196
211
  placement: Placement;
212
+ clearable: boolean;
197
213
  expandedValue: string[];
198
214
  defaultExpandedValue: string[];
199
215
  }, SlotsType<{
200
216
  default?: (props: TreeSelectRootSlotProps) => VNode[];
217
+ label?: () => VNode[];
201
218
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
202
219
  declare const XhTreeSelectLabel: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
203
220
  [key: string]: any;
204
221
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
222
+ declare const XhTreeSelectControl: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
223
+ [key: string]: any;
224
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
205
225
  declare const XhTreeSelectTrigger: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
206
226
  [key: string]: any;
207
227
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -274,5 +294,5 @@ declare const XhTreeSelectHiddenInput: import("vue").DefineComponent<{}, () => V
274
294
  [key: string]: any;
275
295
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
276
296
  //#endregion
277
- export { TreeSelectRootSlotProps, XhTreeSelectBranch, XhTreeSelectBranchContent, XhTreeSelectBranchControl, XhTreeSelectBranchIndicator, XhTreeSelectBranchText, XhTreeSelectBranchTrigger, XhTreeSelectClearTrigger, XhTreeSelectContent, XhTreeSelectHiddenInput, XhTreeSelectIndicator, XhTreeSelectItem, XhTreeSelectItemIndicator, XhTreeSelectItemText, XhTreeSelectLabel, XhTreeSelectPositioner, XhTreeSelectRoot, XhTreeSelectTree, XhTreeSelectTrigger, XhTreeSelectValueText };
297
+ export { TreeSelectRootSlotProps, XhTreeSelectBranch, XhTreeSelectBranchContent, XhTreeSelectBranchControl, XhTreeSelectBranchIndicator, XhTreeSelectBranchText, XhTreeSelectBranchTrigger, XhTreeSelectClearTrigger, XhTreeSelectContent, XhTreeSelectControl, XhTreeSelectHiddenInput, XhTreeSelectIndicator, XhTreeSelectItem, XhTreeSelectItemIndicator, XhTreeSelectItemText, XhTreeSelectLabel, XhTreeSelectPositioner, XhTreeSelectRoot, XhTreeSelectTree, XhTreeSelectTrigger, XhTreeSelectValueText };
278
298
  //# sourceMappingURL=tree-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-select.d.ts","names":[],"sources":["../../../src/components/tree-select/tree-select.ts"],"mappings":";;;;;KASK,kBAAkB;;KAGX,0BAA0B,KACpC;cA0CW,gCAAgB,8BAAA;;IAII,MAAA,SAAS;;;;IACJ,MAAA;;;;IACO,MAAA;;;;IACT,MAAA;;;;IACO,MAAA;;;;;;;;;;;IAKJ,MAAA,SAAS;;;;;;;IAIjB,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;;;IAED,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;;;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;EAKL,iBAAA,UAAA,UAAU;EACP,oBAAA,UAAA,UAAU;EACd,gBAAA,UAAA,UAAU;EACX,iBAAA,QAAA,UAAU;EACF,yBAAA,QAAA,UAAU;EACpB,gBAAA,OAAA,UAAU;;;IA/BJ,MAAA,SAAS;;;;IACJ,MAAA;;;;IACO,MAAA;;;;IACT,MAAA;;;;IACO,MAAA;;;;;;;;;;;IAKJ,MAAA,SAAS;;;;;;;IAIjB,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;;;IAED,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;;;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAatB,WAAC,OAAO,4BAA4B;kCA0ChD;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAS9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAWhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAMhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAMnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,sCAAsB,0BAAA,oBAAA,4BAAA;;8BASjC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAU9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAM3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,8BAAA;;;;;;;;;;;;MAiB3B,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAO/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAOpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,8BAAA;;;;;;;;;;;;MAkB7B,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAOpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAOpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,2CAA2B,0BAAA,oBAAA,4BAAA;;8BAOtC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,sCAAsB,0BAAA,oBAAA,4BAAA;;8BAOjC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAQpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAOlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"tree-select.d.ts","names":[],"sources":["../../../src/components/tree-select/tree-select.ts"],"mappings":";;;;;KAYK,kBAAkB;;KAGX,0BAA0B,KACpC;cA0CW,gCAAgB,8BAAA;;IAII,MAAA,SAAS;;;;;;;;;;;IAKJ,MAAA;;;;IACO,MAAA;;;;IACT,MAAA;;;;IACO,MAAA;;;;;;;;;;;IAKJ,MAAA,SAAS;;;;;;;IAIjB,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;;;IAED,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;;;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;EAKL,iBAAA,UAAA,UAAU;EACP,oBAAA,UAAA,UAAU;EACd,gBAAA,UAAA,UAAU;EACX,iBAAA,QAAA,UAAU;EACF,yBAAA,QAAA,UAAU;EACpB,gBAAA,OAAA,UAAU;;;IAnCJ,MAAA,SAAS;;;;;;;;;;;IAKJ,MAAA;;;;IACO,MAAA;;;;IACT,MAAA;;;;IACO,MAAA;;;;;;;;;;;IAKJ,MAAA,SAAS;;;;;;;IAIjB,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;;;IAED,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;;;;;;;;;IAGf,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAatB,WAAC,OAAO,4BAA4B;EACtC,cAAM;kCAkDhB;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAc9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAWhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAMhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAMnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,sCAAsB,0BAAA,oBAAA,4BAAA;;8BAsBjC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAa9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAM3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,8BAAA;;;;;;;;;;;;MAiB3B,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAO/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAOpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,8BAAA;;;;;;;;;;;;MAkB7B,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAOpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAOpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,2CAA2B,0BAAA,oBAAA,4BAAA;;8BAOtC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,sCAAsB,0BAAA,oBAAA,4BAAA;;8BAOjC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,yCAAyB,0BAAA,oBAAA,4BAAA;;8BAQpC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAOlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -1,6 +1,9 @@
1
+ import { withXhConfig } from "../../config/config.js";
2
+ import { useScrollbars } from "../../runtime/use-scrollbars.js";
3
+ import { useFieldLabelWiring, useFieldStateWiring } from "../field/use-field-control.js";
1
4
  import { provideTreeSelect, provideTreeSelectNode, useTreeSelectContext, useTreeSelectNodeContext } from "./context.js";
2
5
  import { useTreeSelect } from "./use-tree-select.js";
3
- import { computed, defineComponent, h, onBeforeUnmount, ref, watch } from "vue";
6
+ import { Teleport, computed, defineComponent, h, mergeProps, onBeforeUnmount, ref, watch } from "vue";
4
7
  //#region src/components/tree-select/tree-select.ts
5
8
  /** 本节点持有焦点时,value 变更重报焦点节点,卸载时上报焦点丢失 */
6
9
  function reportNodeFocus(ctx, el, value) {
@@ -26,6 +29,13 @@ const XhTreeSelectRoot = defineComponent({
26
29
  type: Array,
27
30
  default: void 0
28
31
  },
32
+ /** 标题文字。给了它就不必再写 label 部件;要放别的内容改用 label 插槽。 */
33
+ label: {
34
+ type: String,
35
+ default: void 0
36
+ },
37
+ /** 自动渲染树里是否带清空按钮;手写部件不看它,写了节点即可清。 */
38
+ clearable: Boolean,
29
39
  value: {
30
40
  type: [String, Array],
31
41
  default: void 0
@@ -119,13 +129,13 @@ const XhTreeSelectRoot = defineComponent({
119
129
  emit("open-change", details);
120
130
  emit("update:open", details.open);
121
131
  };
122
- const ctx = useTreeSelect(props, {
132
+ const ctx = useTreeSelect(withXhConfig("tree-select", props), {
123
133
  onValueChange: notifyValue,
124
134
  onExpandedChange: notifyExpanded,
125
135
  onOpenChange: notifyOpen
126
136
  });
127
137
  provideTreeSelect(ctx);
128
- return () => h("div", ctx.api.value.getRootProps(), slots.default?.({
138
+ return () => h("div", ctx.api.value.getRootProps(), slots.default ? slots.default({
129
139
  open: ctx.api.value.open,
130
140
  value: ctx.api.value.value,
131
141
  expandedValue: ctx.api.value.expandedValue,
@@ -143,7 +153,7 @@ const XhTreeSelectRoot = defineComponent({
143
153
  collapse: ctx.api.value.collapse,
144
154
  select: ctx.api.value.select,
145
155
  clear: ctx.api.value.clear
146
- }));
156
+ }) : props.collection ? renderDefaultTree(ctx.api.value.collection, slots.label?.() ?? (props.label != null ? [props.label] : null), props.clearable) : []);
147
157
  }
148
158
  });
149
159
  const XhTreeSelectLabel = defineComponent({
@@ -153,16 +163,26 @@ const XhTreeSelectLabel = defineComponent({
153
163
  return () => h("span", ctx.api.value.getLabelProps(), slots.default?.());
154
164
  }
155
165
  });
166
+ const XhTreeSelectControl = defineComponent({
167
+ name: "XhTreeSelectControl",
168
+ setup(_, { slots }) {
169
+ const ctx = useTreeSelectContext();
170
+ return () => h("div", ctx.api.value.getControlProps(), slots.default?.());
171
+ }
172
+ });
156
173
  const XhTreeSelectTrigger = defineComponent({
157
174
  name: "XhTreeSelectTrigger",
158
175
  setup(_, { slots }) {
176
+ const fieldWiring = useFieldStateWiring();
177
+ const fieldLabel = useFieldLabelWiring();
159
178
  const ctx = useTreeSelectContext();
160
- return () => h("button", {
179
+ return () => h("button", fieldLabel.value({
161
180
  ...ctx.api.value.getTriggerProps(),
162
181
  ref: (el) => {
163
182
  ctx.triggerRef.value = el;
164
- }
165
- }, slots.default?.());
183
+ },
184
+ ...fieldWiring.value
185
+ }), slots.default?.());
166
186
  }
167
187
  });
168
188
  const XhTreeSelectValueText = defineComponent({
@@ -188,14 +208,20 @@ const XhTreeSelectClearTrigger = defineComponent({
188
208
  });
189
209
  const XhTreeSelectPositioner = defineComponent({
190
210
  name: "XhTreeSelectPositioner",
191
- setup(_, { slots }) {
211
+ inheritAttrs: false,
212
+ setup(_, { slots, attrs }) {
192
213
  const ctx = useTreeSelectContext();
193
- return () => h("div", {
194
- ...ctx.api.value.getPositionerProps(),
214
+ const bars = useScrollbars({
215
+ scrollable: () => ctx.contentRef.value,
216
+ axes: ["vertical", "horizontal"],
217
+ props: () => ({ dir: ctx.api.value.getPositionerProps().dir })
218
+ });
219
+ return () => h(Teleport, { to: ctx.portalTarget.value }, [h("div", {
220
+ ...mergeProps(ctx.api.value.getPositionerProps(), attrs),
195
221
  ref: (el) => {
196
222
  ctx.positionerRef.value = el;
197
223
  }
198
- }, slots.default?.());
224
+ }, [...slots.default?.() ?? [], ...bars.render()])]);
199
225
  }
200
226
  });
201
227
  const XhTreeSelectContent = defineComponent({
@@ -204,6 +230,7 @@ const XhTreeSelectContent = defineComponent({
204
230
  const ctx = useTreeSelectContext();
205
231
  return () => h("div", {
206
232
  ...ctx.api.value.getContentProps(),
233
+ style: ctx.visible.value ? void 0 : { display: "none" },
207
234
  ref: (el) => {
208
235
  ctx.contentRef.value = el;
209
236
  }
@@ -316,7 +343,28 @@ const XhTreeSelectHiddenInput = defineComponent({
316
343
  return () => h("input", ctx.api.value.getHiddenInputProps());
317
344
  }
318
345
  });
346
+ /** 按 collection 递归铺节点:带 children 的落成 branch,其余落成 item。 */
347
+ function renderNodes(nodes) {
348
+ return nodes.map((node) => node.children ? h(XhTreeSelectBranch, {
349
+ key: node.value,
350
+ value: node.value
351
+ }, () => [h(XhTreeSelectBranchControl, null, () => [h(XhTreeSelectBranchTrigger), h(XhTreeSelectBranchText, null, () => node.label ?? node.value)]), h(XhTreeSelectBranchContent, null, () => renderNodes(node.children))]) : h(XhTreeSelectItem, {
352
+ key: node.value,
353
+ value: node.value
354
+ }, () => [h(XhTreeSelectItemIndicator), h(XhTreeSelectItemText, null, () => node.label ?? node.value)]));
355
+ }
356
+ /**
357
+ * 没写默认插槽时按 collection 铺开的整套结构,作者只交数据。
358
+ * 与手写部件产出的 DOM 完全一致,要改结构就写默认插槽,行为不变。
359
+ */
360
+ function renderDefaultTree(collection, label, clearable) {
361
+ return [
362
+ ...label ? [h(XhTreeSelectLabel, null, () => label)] : [],
363
+ h(XhTreeSelectControl, null, () => [h(XhTreeSelectTrigger, null, () => [h(XhTreeSelectValueText), h(XhTreeSelectIndicator)]), ...clearable ? [h(XhTreeSelectClearTrigger)] : []]),
364
+ h(XhTreeSelectPositioner, null, () => [h(XhTreeSelectContent, null, () => h(XhTreeSelectTree, null, () => renderNodes(collection)))])
365
+ ];
366
+ }
319
367
  //#endregion
320
- export { XhTreeSelectBranch, XhTreeSelectBranchContent, XhTreeSelectBranchControl, XhTreeSelectBranchIndicator, XhTreeSelectBranchText, XhTreeSelectBranchTrigger, XhTreeSelectClearTrigger, XhTreeSelectContent, XhTreeSelectHiddenInput, XhTreeSelectIndicator, XhTreeSelectItem, XhTreeSelectItemIndicator, XhTreeSelectItemText, XhTreeSelectLabel, XhTreeSelectPositioner, XhTreeSelectRoot, XhTreeSelectTree, XhTreeSelectTrigger, XhTreeSelectValueText };
368
+ export { XhTreeSelectBranch, XhTreeSelectBranchContent, XhTreeSelectBranchControl, XhTreeSelectBranchIndicator, XhTreeSelectBranchText, XhTreeSelectBranchTrigger, XhTreeSelectClearTrigger, XhTreeSelectContent, XhTreeSelectControl, XhTreeSelectHiddenInput, XhTreeSelectIndicator, XhTreeSelectItem, XhTreeSelectItemIndicator, XhTreeSelectItemText, XhTreeSelectLabel, XhTreeSelectPositioner, XhTreeSelectRoot, XhTreeSelectTree, XhTreeSelectTrigger, XhTreeSelectValueText };
321
369
 
322
370
  //# sourceMappingURL=tree-select.js.map