@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,6 +1,6 @@
1
1
  import { inject, provide } from "vue";
2
2
  //#region src/components/splitter/context.ts
3
- const KEY = Symbol("xh-splitter");
3
+ const KEY = Symbol.for("xh-splitter");
4
4
  function provideSplitter(ctx) {
5
5
  provide(KEY, ctx);
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/splitter/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { SplitterContext } from './use-splitter'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<SplitterContext> = Symbol('xh-splitter')\n\nexport function provideSplitter(ctx: SplitterContext): void {\n provide(KEY, ctx)\n}\n\nexport function useSplitterContext(): SplitterContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Splitter 部件必须用在 XhSplitterRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAqC,OAAO,aAAa;AAE/D,SAAgB,gBAAgB,KAA4B;CAC1D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,qBAAsC;CACpD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,uCAAuC;CACzD,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/splitter/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { SplitterContext } from './use-splitter'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<SplitterContext> = Symbol.for('xh-splitter')\n\nexport function provideSplitter(ctx: SplitterContext): void {\n provide(KEY, ctx)\n}\n\nexport function useSplitterContext(): SplitterContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Splitter 部件必须用在 XhSplitterRoot 内')\n return ctx\n}\n"],"mappings":";;AAIA,MAAM,MAAqC,OAAO,IAAI,aAAa;AAEnE,SAAgB,gBAAgB,KAA4B;CAC1D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,qBAAsC;CACpD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,uCAAuC;CACzD,OAAO;AACT"}
@@ -89,11 +89,11 @@ declare const XhSplitterRoot: import("vue").DefineComponent<import("vue").Extrac
89
89
  orientation: Orientation;
90
90
  dir: Direction;
91
91
  disabled: boolean;
92
+ panels: SplitterPanelProps[];
92
93
  step: number;
93
94
  largeStep: number;
94
95
  sizes: number[];
95
96
  defaultSizes: number[];
96
- panels: SplitterPanelProps[];
97
97
  }, SlotsType<{
98
98
  default?: (props: SplitterRootSlotProps) => VNode[];
99
99
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1,6 +1,6 @@
1
1
  import { inject, provide } from "vue";
2
2
  //#region src/components/statistic/context.ts
3
- const KEY = Symbol("xh-statistic");
3
+ const KEY = Symbol.for("xh-statistic");
4
4
  function provideStatistic(ctx) {
5
5
  provide(KEY, ctx);
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/statistic/context.ts"],"sourcesContent":["import type { StatisticApi } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport { inject, provide } from 'vue'\n\nexport interface StatisticContext {\n api: ComputedRef<StatisticApi>\n}\n\nconst KEY: InjectionKey<StatisticContext> = Symbol('xh-statistic')\n\nexport function provideStatistic(ctx: StatisticContext): void {\n provide(KEY, ctx)\n}\n\nexport function useStatisticContext(): StatisticContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Statistic 部件必须用在 XhStatisticRoot 内')\n return ctx\n}\n"],"mappings":";;AAQA,MAAM,MAAsC,OAAO,cAAc;AAEjE,SAAgB,iBAAiB,KAA6B;CAC5D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,sBAAwC;CACtD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,yCAAyC;CAC3D,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/statistic/context.ts"],"sourcesContent":["import type { StatisticApi } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport { inject, provide } from 'vue'\n\nexport interface StatisticContext {\n api: ComputedRef<StatisticApi>\n}\n\nconst KEY: InjectionKey<StatisticContext> = Symbol.for('xh-statistic')\n\nexport function provideStatistic(ctx: StatisticContext): void {\n provide(KEY, ctx)\n}\n\nexport function useStatisticContext(): StatisticContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Statistic 部件必须用在 XhStatisticRoot 内')\n return ctx\n}\n"],"mappings":";;AAQA,MAAM,MAAsC,OAAO,IAAI,cAAc;AAErE,SAAgB,iBAAiB,KAA6B;CAC5D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,sBAAwC;CACtD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,yCAAyC;CAC3D,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"statistic.d.ts","names":[],"sources":["../../../src/components/statistic/statistic.ts"],"mappings":";;;cAQa,+BAAe,8BAAA;;IAIA,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;;IADT,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;qCAOnC;cAGW,gCAAgB,wCAAA,oBAAA,4BAAA;;8BAM3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAGW,gCAAgB,wCAAA,oBAAA,4BAAA;;8BAM3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,wCAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,wCAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"statistic.d.ts","names":[],"sources":["../../../src/components/statistic/statistic.ts"],"mappings":";;;cASa,+BAAe,8BAAA;;IAIA,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;;IADT,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;;;qCAOnC;cAGW,gCAAgB,wCAAA,oBAAA,4BAAA;;8BAM3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAGW,gCAAgB,wCAAA,oBAAA,4BAAA;;8BAM3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,wCAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,iCAAiB,wCAAA,oBAAA,4BAAA;;8BAM5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -1,4 +1,5 @@
1
1
  import { vueNormalize } from "../../runtime/normalize-props.js";
2
+ import { withXhConfig } from "../../config/config.js";
2
3
  import { provideStatistic, useStatisticContext } from "./context.js";
3
4
  import { computed, defineComponent, h } from "vue";
4
5
  import { connectStatistic } from "@xihan-ui/headless";
@@ -16,7 +17,7 @@ const XhStatisticRoot = defineComponent({
16
17
  }
17
18
  },
18
19
  setup(props, { slots }) {
19
- const api = computed(() => connectStatistic(props, vueNormalize));
20
+ const api = computed(() => connectStatistic(withXhConfig("statistic", props), vueNormalize));
20
21
  provideStatistic({ api });
21
22
  return () => h("div", api.value.getRootProps(), slots.default?.());
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"statistic.js","names":[],"sources":["../../../src/components/statistic/statistic.ts"],"sourcesContent":["import type { StatisticProps } from '@xihan-ui/headless'\nimport type { Size, Tone } from '@xihan-ui/kernel'\nimport type { PropType } from 'vue'\nimport { connectStatistic } from '@xihan-ui/headless'\nimport { computed, defineComponent, h } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { provideStatistic, useStatisticContext } from './context'\n\nexport const XhStatisticRoot = defineComponent({\n name: 'XhStatisticRoot',\n // 有 connect 兜底的 prop 一律 default: undefined\n props: {\n size: { type: String as PropType<Size>, default: undefined },\n tone: { type: String as PropType<Tone>, default: undefined },\n },\n setup(props, { slots }) {\n const api = computed(() => connectStatistic(props as StatisticProps, vueNormalize))\n provideStatistic({ api })\n return () => h('div', api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n// 标签渲染为 span 而不是 label:它不关联任何表单控件\nexport const XhStatisticLabel = defineComponent({\n name: 'XhStatisticLabel',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n// 数值由作者格式化好再塞进来,组件只负责排版\nexport const XhStatisticValue = defineComponent({\n name: 'XhStatisticValue',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getValueProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhStatisticPrefix = defineComponent({\n name: 'XhStatisticPrefix',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getPrefixProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhStatisticSuffix = defineComponent({\n name: 'XhStatisticSuffix',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getSuffixProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;AAQA,MAAa,kBAAkB,gBAAgB;CAC7C,MAAM;CAEN,OAAO;EACL,MAAM;GAAE,MAAM;GAA0B,SAAS,KAAA;EAAU;EAC3D,MAAM;GAAE,MAAM;GAA0B,SAAS,KAAA;EAAU;CAC7D;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,eAAe,iBAAiB,OAAyB,YAAY,CAAC;EAClF,iBAAiB,EAAE,IAAI,CAAC;EACxB,aAAa,EAAE,OAAO,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CAC9F;AACF,CAAC;AAGD,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACpG;AACF,CAAC;AAGD,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACpG;AACF,CAAC;AAED,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,eAAe,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC;AAED,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,eAAe,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC"}
1
+ {"version":3,"file":"statistic.js","names":[],"sources":["../../../src/components/statistic/statistic.ts"],"sourcesContent":["import type { StatisticProps } from '@xihan-ui/headless'\nimport type { Size, Tone } from '@xihan-ui/kernel'\nimport type { PropType } from 'vue'\nimport { connectStatistic } from '@xihan-ui/headless'\nimport { computed, defineComponent, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { provideStatistic, useStatisticContext } from './context'\n\nexport const XhStatisticRoot = defineComponent({\n name: 'XhStatisticRoot',\n // 有 connect 兜底的 prop 一律 default: undefined\n props: {\n size: { type: String as PropType<Size>, default: undefined },\n tone: { type: String as PropType<Tone>, default: undefined },\n },\n setup(props, { slots }) {\n const api = computed(() => connectStatistic(withXhConfig('statistic', props) as StatisticProps, vueNormalize))\n provideStatistic({ api })\n return () => h('div', api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n// 标签渲染为 span 而不是 label:它不关联任何表单控件\nexport const XhStatisticLabel = defineComponent({\n name: 'XhStatisticLabel',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n// 数值由作者格式化好再塞进来,组件只负责排版\nexport const XhStatisticValue = defineComponent({\n name: 'XhStatisticValue',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getValueProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhStatisticPrefix = defineComponent({\n name: 'XhStatisticPrefix',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getPrefixProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhStatisticSuffix = defineComponent({\n name: 'XhStatisticSuffix',\n setup(_, { slots }) {\n const ctx = useStatisticContext()\n return () => h('span', ctx.api.value.getSuffixProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;;AASA,MAAa,kBAAkB,gBAAgB;CAC7C,MAAM;CAEN,OAAO;EACL,MAAM;GAAE,MAAM;GAA0B,SAAS,KAAA;EAAU;EAC3D,MAAM;GAAE,MAAM;GAA0B,SAAS,KAAA;EAAU;CAC7D;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,eAAe,iBAAiB,aAAa,aAAa,KAAK,GAAqB,YAAY,CAAC;EAC7G,iBAAiB,EAAE,IAAI,CAAC;EACxB,aAAa,EAAE,OAAO,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CAC9F;AACF,CAAC;AAGD,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACpG;AACF,CAAC;AAGD,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACpG;AACF,CAAC;AAED,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,eAAe,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC;AAED,MAAa,oBAAoB,gBAAgB;CAC/C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,oBAAoB;EAChC,aAAa,EAAE,QAAQ,IAAI,IAAI,MAAM,eAAe,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { inject, provide } from "vue";
2
2
  //#region src/components/steps/context.ts
3
- const KEY = Symbol("xh-steps");
3
+ const KEY = Symbol.for("xh-steps");
4
4
  /** 条目身份下传给 trigger/indicator/title/description/separator,用 getter 以跟随 value/disabled 变更。 */
5
- const ITEM_KEY = Symbol("xh-steps-item");
5
+ const ITEM_KEY = Symbol.for("xh-steps-item");
6
6
  function provideSteps(ctx) {
7
7
  provide(KEY, ctx);
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/steps/context.ts"],"sourcesContent":["import type { StepsItemProps } from '@xihan-ui/headless'\nimport type { InjectionKey } from 'vue'\nimport type { StepsContext } from './use-steps'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<StepsContext> = Symbol('xh-steps')\n/** 条目身份下传给 trigger/indicator/title/description/separator,用 getter 以跟随 value/disabled 变更。 */\nconst ITEM_KEY: InjectionKey<() => StepsItemProps> = Symbol('xh-steps-item')\n\nexport function provideSteps(ctx: StepsContext): void {\n provide(KEY, ctx)\n}\n\nexport function useStepsContext(): StepsContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Steps 部件必须用在 XhStepsRoot 内')\n return ctx\n}\n\nexport function provideStepsItem(item: () => StepsItemProps): void {\n provide(ITEM_KEY, item)\n}\n\nexport function useStepsItem(): () => StepsItemProps {\n const item = inject(ITEM_KEY, null)\n if (!item)\n throw new Error('[xh] Steps 条目部件必须用在 XhStepsItem 内')\n return item\n}\n"],"mappings":";;AAKA,MAAM,MAAkC,OAAO,UAAU;;AAEzD,MAAM,WAA+C,OAAO,eAAe;AAE3E,SAAgB,aAAa,KAAyB;CACpD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,kBAAgC;CAC9C,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,iCAAiC;CACnD,OAAO;AACT;AAEA,SAAgB,iBAAiB,MAAkC;CACjE,QAAQ,UAAU,IAAI;AACxB;AAEA,SAAgB,eAAqC;CACnD,MAAM,OAAO,OAAO,UAAU,IAAI;CAClC,IAAI,CAAC,MACH,MAAM,IAAI,MAAM,mCAAmC;CACrD,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/steps/context.ts"],"sourcesContent":["import type { StepsItemProps } from '@xihan-ui/headless'\nimport type { InjectionKey } from 'vue'\nimport type { StepsContext } from './use-steps'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<StepsContext> = Symbol.for('xh-steps')\n/** 条目身份下传给 trigger/indicator/title/description/separator,用 getter 以跟随 value/disabled 变更。 */\nconst ITEM_KEY: InjectionKey<() => StepsItemProps> = Symbol.for('xh-steps-item')\n\nexport function provideSteps(ctx: StepsContext): void {\n provide(KEY, ctx)\n}\n\nexport function useStepsContext(): StepsContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Steps 部件必须用在 XhStepsRoot 内')\n return ctx\n}\n\nexport function provideStepsItem(item: () => StepsItemProps): void {\n provide(ITEM_KEY, item)\n}\n\nexport function useStepsItem(): () => StepsItemProps {\n const item = inject(ITEM_KEY, null)\n if (!item)\n throw new Error('[xh] Steps 条目部件必须用在 XhStepsItem 内')\n return item\n}\n"],"mappings":";;AAKA,MAAM,MAAkC,OAAO,IAAI,UAAU;;AAE7D,MAAM,WAA+C,OAAO,IAAI,eAAe;AAE/E,SAAgB,aAAa,KAAyB;CACpD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,kBAAgC;CAC9C,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,iCAAiC;CACnD,OAAO;AACT;AAEA,SAAgB,iBAAiB,MAAkC;CACjE,QAAQ,UAAU,IAAI;AACxB;AAEA,SAAgB,eAAqC;CACnD,MAAM,OAAO,OAAO,UAAU,IAAI;CAClC,IAAI,CAAC,MACH,MAAM,IAAI,MAAM,mCAAmC;CACrD,OAAO;AACT"}
@@ -95,9 +95,9 @@ declare const XhStepsRoot: import("vue").DefineComponent<import("vue").ExtractPr
95
95
  size: Size;
96
96
  disabled: boolean;
97
97
  count: number;
98
- linear: boolean;
99
98
  step: number;
100
99
  defaultStep: number;
100
+ linear: boolean;
101
101
  }, SlotsType<{
102
102
  default?: (props: StepsRootSlotProps) => VNode[];
103
103
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -11,6 +11,9 @@ declare const XhSwitch: import("vue").DefineComponent<import("vue").ExtractPropT
11
11
  };
12
12
  defaultChecked: BooleanConstructor;
13
13
  disabled: BooleanConstructor;
14
+ readOnly: BooleanConstructor;
15
+ invalid: BooleanConstructor;
16
+ required: BooleanConstructor;
14
17
  loading: {
15
18
  type: BooleanConstructor;
16
19
  default: undefined;
@@ -38,6 +41,9 @@ declare const XhSwitch: import("vue").DefineComponent<import("vue").ExtractPropT
38
41
  };
39
42
  defaultChecked: BooleanConstructor;
40
43
  disabled: BooleanConstructor;
44
+ readOnly: BooleanConstructor;
45
+ invalid: BooleanConstructor;
46
+ required: BooleanConstructor;
41
47
  loading: {
42
48
  type: BooleanConstructor;
43
49
  default: undefined;
@@ -57,10 +63,13 @@ declare const XhSwitch: import("vue").DefineComponent<import("vue").ExtractPropT
57
63
  "onChecked-change"?: ((_details: import("@xihan-ui/headless").SwitchCheckedChangeDetails) => any) | undefined;
58
64
  "onUpdate:checked"?: ((_checked: boolean) => any) | undefined;
59
65
  }>, {
66
+ required: boolean;
60
67
  name: string;
68
+ invalid: boolean;
61
69
  value: string;
62
70
  disabled: boolean;
63
71
  loading: boolean;
72
+ readOnly: boolean;
64
73
  checked: boolean;
65
74
  defaultChecked: boolean;
66
75
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","names":[],"sources":["../../../src/components/switch/switch.ts"],"mappings":";;;;;KAOK,cAAc;cAEN,wBAAQ,8BAAA;;;;;;;;;;;;;;;;;;;;EAUD,MAAA,SAAS;EACT,MAAA,SAAS;;;;EAII,mBAAA,UAAA,UAAU;EACV,mBAAA,UAAA,UAAU;;;;;;;;;;;;;;;;;;;;;EANvB,MAAA,SAAS;EACT,MAAA,SAAS;;;;;;;;;;;qCAoB3B"}
1
+ {"version":3,"file":"switch.d.ts","names":[],"sources":["../../../src/components/switch/switch.ts"],"mappings":";;;;;KAQK,cAAc;cAEN,wBAAQ,8BAAA;;;;;;;;;;;;;;;;;;;;;;;EAaD,MAAA,SAAS;EACT,MAAA,SAAS;;;;EAII,mBAAA,UAAA,UAAU;EACV,mBAAA,UAAA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;EANvB,MAAA,SAAS;EACT,MAAA,SAAS;;;;;;;;;;;;;;qCA8B3B"}
@@ -1,3 +1,4 @@
1
+ import { slotPaints } from "../../runtime/slot-content.js";
1
2
  import { useSwitch } from "./use-switch.js";
2
3
  import { defineComponent, h } from "vue";
3
4
  //#region src/components/switch/switch.ts
@@ -10,6 +11,9 @@ const XhSwitch = defineComponent({
10
11
  },
11
12
  defaultChecked: Boolean,
12
13
  disabled: Boolean,
14
+ readOnly: Boolean,
15
+ invalid: Boolean,
16
+ required: Boolean,
13
17
  loading: {
14
18
  type: Boolean,
15
19
  default: void 0
@@ -30,13 +34,18 @@ const XhSwitch = defineComponent({
30
34
  "checked-change": (_details) => true,
31
35
  "update:checked": (_checked) => true
32
36
  },
33
- setup(props, { emit }) {
37
+ setup(props, { emit, slots }) {
34
38
  const notify = (details) => {
35
39
  emit("checked-change", details);
36
40
  emit("update:checked", details.checked);
37
41
  };
38
42
  const { api } = useSwitch(props, notify);
39
- return () => h("button", api.value.getRootProps(), [h("span", api.value.getThumbProps()), props.name === void 0 ? null : h("input", api.value.getHiddenInputProps())]);
43
+ return () => {
44
+ const track = h("button", api.value.getRootProps(), [h("span", api.value.getThumbProps()), props.name === void 0 ? null : h("input", api.value.getHiddenInputProps())]);
45
+ const text = slots.default?.();
46
+ if (!slotPaints(text)) return track;
47
+ return h("label", api.value.getLabelProps(), [track, h("span", api.value.getTextProps(), text)]);
48
+ };
40
49
  }
41
50
  });
42
51
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","names":[],"sources":["../../../src/components/switch/switch.ts"],"sourcesContent":["import type { SwitchSchema } from '@xihan-ui/headless'\nimport type { Size, Tone } from '@xihan-ui/kernel'\nimport type { PropType } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h } from 'vue'\nimport { useSwitch } from './use-switch'\n\ntype SwitchProps = SwitchSchema['props']\n\nexport const XhSwitch = defineComponent({\n name: 'XhSwitch',\n props: {\n checked: { type: Boolean, default: undefined },\n defaultChecked: Boolean,\n disabled: Boolean,\n loading: { type: Boolean, default: undefined },\n /** 表单字段名;给了 hidden-input 才带 name 并参与提交 */\n name: { type: String, default: undefined },\n value: { type: String, default: undefined },\n tone: String as PropType<Tone>,\n size: String as PropType<Size>,\n },\n // checked-change 携带 { checked },update:checked 携带裸布尔\n emits: {\n 'checked-change': (_details: PayloadOf<SwitchProps, 'onCheckedChange'>) => true,\n 'update:checked': (_checked: PayloadOf<SwitchProps, 'onCheckedChange'>['checked']) => true,\n },\n setup(props, { emit }) {\n const notify: SwitchProps['onCheckedChange'] = (details) => {\n emit('checked-change', details)\n emit('update:checked', details.checked)\n }\n const { api } = useSwitch(props as SwitchProps, notify)\n // 表单影子由组件自己渲染:单体控件没有子部件插槽,作者递不进来。\n // 给了 name 才有这个节点——type=hidden 不是交互内容,放进 button 里是合法的\n return () => h('button', api.value.getRootProps() as Record<string, unknown>, [\n h('span', api.value.getThumbProps() as Record<string, unknown>),\n props.name === undefined ? null : h('input', api.value.getHiddenInputProps() as Record<string, unknown>),\n ])\n },\n})\n"],"mappings":";;;AASA,MAAa,WAAW,gBAAgB;CACtC,MAAM;CACN,OAAO;EACL,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,gBAAgB;EAChB,UAAU;EACV,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;;EAE7C,MAAM;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EACzC,OAAO;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC1C,MAAM;EACN,MAAM;CACR;CAEA,OAAO;EACL,mBAAmB,aAAwD;EAC3E,mBAAmB,aAAmE;CACxF;CACA,MAAM,OAAO,EAAE,QAAQ;EACrB,MAAM,UAA0C,YAAY;GAC1D,KAAK,kBAAkB,OAAO;GAC9B,KAAK,kBAAkB,QAAQ,OAAO;EACxC;EACA,MAAM,EAAE,QAAQ,UAAU,OAAsB,MAAM;EAGtD,aAAa,EAAE,UAAU,IAAI,MAAM,aAAa,GAA8B,CAC5E,EAAE,QAAQ,IAAI,MAAM,cAAc,CAA4B,GAC9D,MAAM,SAAS,KAAA,IAAY,OAAO,EAAE,SAAS,IAAI,MAAM,oBAAoB,CAA4B,CACzG,CAAC;CACH;AACF,CAAC"}
1
+ {"version":3,"file":"switch.js","names":[],"sources":["../../../src/components/switch/switch.ts"],"sourcesContent":["import type { SwitchSchema } from '@xihan-ui/headless'\nimport type { Size, Tone } from '@xihan-ui/kernel'\nimport type { PropType } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport { defineComponent, h } from 'vue'\nimport { slotPaints } from '../../runtime/slot-content'\nimport { useSwitch } from './use-switch'\n\ntype SwitchProps = SwitchSchema['props']\n\nexport const XhSwitch = defineComponent({\n name: 'XhSwitch',\n props: {\n checked: { type: Boolean, default: undefined },\n defaultChecked: Boolean,\n disabled: Boolean,\n readOnly: Boolean,\n invalid: Boolean,\n required: Boolean,\n loading: { type: Boolean, default: undefined },\n /** 表单字段名;给了 hidden-input 才带 name 并参与提交 */\n name: { type: String, default: undefined },\n value: { type: String, default: undefined },\n tone: String as PropType<Tone>,\n size: String as PropType<Size>,\n },\n // checked-change 携带 { checked },update:checked 携带裸布尔\n emits: {\n 'checked-change': (_details: PayloadOf<SwitchProps, 'onCheckedChange'>) => true,\n 'update:checked': (_checked: PayloadOf<SwitchProps, 'onCheckedChange'>['checked']) => true,\n },\n setup(props, { emit, slots }) {\n const notify: SwitchProps['onCheckedChange'] = (details) => {\n emit('checked-change', details)\n emit('update:checked', details.checked)\n }\n const { api } = useSwitch(props as SwitchProps, notify)\n // 表单影子由组件自己渲染:单体控件的轨道里没有子部件插槽,作者递不进来。\n // 给了 name 才有这个节点——type=hidden 不是交互内容,放进 button 里是合法的\n return () => {\n const track = h('button', api.value.getRootProps() as Record<string, unknown>, [\n h('span', api.value.getThumbProps() as Record<string, unknown>),\n props.name === undefined ? null : h('input', api.value.getHiddenInputProps() as Record<string, unknown>),\n ])\n // 默认插槽是轨道旁的文字:<label> 包住两者,点文字即切换。没给文字就只有轨道\n const text = slots.default?.()\n if (!slotPaints(text))\n return track\n return h('label', api.value.getLabelProps() as Record<string, unknown>, [\n track,\n h('span', api.value.getTextProps() as Record<string, unknown>, text),\n ])\n }\n },\n})\n"],"mappings":";;;;AAUA,MAAa,WAAW,gBAAgB;CACtC,MAAM;CACN,OAAO;EACL,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,gBAAgB;EAChB,UAAU;EACV,UAAU;EACV,SAAS;EACT,UAAU;EACV,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;;EAE7C,MAAM;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EACzC,OAAO;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;EAC1C,MAAM;EACN,MAAM;CACR;CAEA,OAAO;EACL,mBAAmB,aAAwD;EAC3E,mBAAmB,aAAmE;CACxF;CACA,MAAM,OAAO,EAAE,MAAM,SAAS;EAC5B,MAAM,UAA0C,YAAY;GAC1D,KAAK,kBAAkB,OAAO;GAC9B,KAAK,kBAAkB,QAAQ,OAAO;EACxC;EACA,MAAM,EAAE,QAAQ,UAAU,OAAsB,MAAM;EAGtD,aAAa;GACX,MAAM,QAAQ,EAAE,UAAU,IAAI,MAAM,aAAa,GAA8B,CAC7E,EAAE,QAAQ,IAAI,MAAM,cAAc,CAA4B,GAC9D,MAAM,SAAS,KAAA,IAAY,OAAO,EAAE,SAAS,IAAI,MAAM,oBAAoB,CAA4B,CACzG,CAAC;GAED,MAAM,OAAO,MAAM,UAAU;GAC7B,IAAI,CAAC,WAAW,IAAI,GAClB,OAAO;GACT,OAAO,EAAE,SAAS,IAAI,MAAM,cAAc,GAA8B,CACtE,OACA,EAAE,QAAQ,IAAI,MAAM,aAAa,GAA8B,IAAI,CACrE,CAAC;EACH;CACF;AACF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { inject, provide } from "vue";
2
2
  //#region src/components/table/context.ts
3
- const KEY = Symbol("xh-table");
4
- const SECTION_KEY = Symbol("xh-table-section");
5
- const ROW_KEY = Symbol("xh-table-row");
6
- const COLUMN_KEY = Symbol("xh-table-column");
3
+ const KEY = Symbol.for("xh-table");
4
+ const SECTION_KEY = Symbol.for("xh-table-section");
5
+ const ROW_KEY = Symbol.for("xh-table-row");
6
+ const COLUMN_KEY = Symbol.for("xh-table-column");
7
7
  function provideTable(ctx) {
8
8
  provide(KEY, ctx);
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/table/context.ts"],"sourcesContent":["import type { TableColumnProps, TableRowProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { TableContext } from './use-table'\nimport { inject, provide } from 'vue'\n\n/** 行所在的区段,决定同一个 row 部件渲染成表头行、数据行还是脚注行。 */\nexport type TableSection = 'header' | 'body' | 'footer'\n\n/** 行自报的值,供行内的把手与单元格复用同一份声明。 */\nexport interface TableRowContext {\n row: ComputedRef<TableRowProps>\n}\n\n/** 列自报的值,供列标题里的排序把手复用同一份声明。 */\nexport interface TableColumnContext {\n column: ComputedRef<TableColumnProps>\n}\n\nconst KEY: InjectionKey<TableContext> = Symbol('xh-table')\nconst SECTION_KEY: InjectionKey<TableSection> = Symbol('xh-table-section')\nconst ROW_KEY: InjectionKey<TableRowContext> = Symbol('xh-table-row')\nconst COLUMN_KEY: InjectionKey<TableColumnContext> = Symbol('xh-table-column')\n\nexport function provideTable(ctx: TableContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTableContext(): TableContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Table 部件必须用在 XhTableRoot 内')\n return ctx\n}\n\nexport function provideTableSection(section: TableSection): void {\n provide(SECTION_KEY, section)\n}\n\n/** 取所在区段,无区段声明时按数据行处理。 */\nexport function useTableSection(): TableSection {\n return inject(SECTION_KEY, 'body')\n}\n\nexport function provideTableRow(ctx: TableRowContext): void {\n provide(ROW_KEY, ctx)\n}\n\nexport function useTableRowContext(): TableRowContext {\n const ctx = inject(ROW_KEY, null)\n if (!ctx)\n throw new Error('[xh] Table 行内部件必须用在 XhTableRow 或 XhTableExpandedRow 内')\n return ctx\n}\n\n/** 注入行上下文,表头与脚注单元格不在行内时返回 null。 */\nexport function useOptionalTableRowContext(): TableRowContext | null {\n return inject(ROW_KEY, null)\n}\n\nexport function provideTableColumn(ctx: TableColumnContext): void {\n provide(COLUMN_KEY, ctx)\n}\n\nexport function useTableColumnContext(): TableColumnContext {\n const ctx = inject(COLUMN_KEY, null)\n if (!ctx)\n throw new Error('[xh] Table 排序把手必须用在 XhTableColumnHeader 内')\n return ctx\n}\n"],"mappings":";;AAkBA,MAAM,MAAkC,OAAO,UAAU;AACzD,MAAM,cAA0C,OAAO,kBAAkB;AACzE,MAAM,UAAyC,OAAO,cAAc;AACpE,MAAM,aAA+C,OAAO,iBAAiB;AAE7E,SAAgB,aAAa,KAAyB;CACpD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,kBAAgC;CAC9C,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,iCAAiC;CACnD,OAAO;AACT;AAEA,SAAgB,oBAAoB,SAA6B;CAC/D,QAAQ,aAAa,OAAO;AAC9B;;AAGA,SAAgB,kBAAgC;CAC9C,OAAO,OAAO,aAAa,MAAM;AACnC;AAEA,SAAgB,gBAAgB,KAA4B;CAC1D,QAAQ,SAAS,GAAG;AACtB;AAEA,SAAgB,qBAAsC;CACpD,MAAM,MAAM,OAAO,SAAS,IAAI;CAChC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,uDAAuD;CACzE,OAAO;AACT;;AAGA,SAAgB,6BAAqD;CACnE,OAAO,OAAO,SAAS,IAAI;AAC7B;AAEA,SAAgB,mBAAmB,KAA+B;CAChE,QAAQ,YAAY,GAAG;AACzB;AAEA,SAAgB,wBAA4C;CAC1D,MAAM,MAAM,OAAO,YAAY,IAAI;CACnC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,2CAA2C;CAC7D,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/table/context.ts"],"sourcesContent":["import type { TableColumnProps, TableRowProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { TableContext } from './use-table'\nimport { inject, provide } from 'vue'\n\n/** 行所在的区段,决定同一个 row 部件渲染成表头行、数据行还是脚注行。 */\nexport type TableSection = 'header' | 'body' | 'footer'\n\n/** 行自报的值,供行内的把手与单元格复用同一份声明。 */\nexport interface TableRowContext {\n row: ComputedRef<TableRowProps>\n}\n\n/** 列自报的值,供列标题里的排序把手复用同一份声明。 */\nexport interface TableColumnContext {\n column: ComputedRef<TableColumnProps>\n}\n\nconst KEY: InjectionKey<TableContext> = Symbol.for('xh-table')\nconst SECTION_KEY: InjectionKey<TableSection> = Symbol.for('xh-table-section')\nconst ROW_KEY: InjectionKey<TableRowContext> = Symbol.for('xh-table-row')\nconst COLUMN_KEY: InjectionKey<TableColumnContext> = Symbol.for('xh-table-column')\n\nexport function provideTable(ctx: TableContext): void {\n provide(KEY, ctx)\n}\n\nexport function useTableContext(): TableContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Table 部件必须用在 XhTableRoot 内')\n return ctx\n}\n\nexport function provideTableSection(section: TableSection): void {\n provide(SECTION_KEY, section)\n}\n\n/** 取所在区段,无区段声明时按数据行处理。 */\nexport function useTableSection(): TableSection {\n return inject(SECTION_KEY, 'body')\n}\n\nexport function provideTableRow(ctx: TableRowContext): void {\n provide(ROW_KEY, ctx)\n}\n\nexport function useTableRowContext(): TableRowContext {\n const ctx = inject(ROW_KEY, null)\n if (!ctx)\n throw new Error('[xh] Table 行内部件必须用在 XhTableRow 或 XhTableExpandedRow 内')\n return ctx\n}\n\n/** 注入行上下文,表头与脚注单元格不在行内时返回 null。 */\nexport function useOptionalTableRowContext(): TableRowContext | null {\n return inject(ROW_KEY, null)\n}\n\nexport function provideTableColumn(ctx: TableColumnContext): void {\n provide(COLUMN_KEY, ctx)\n}\n\nexport function useTableColumnContext(): TableColumnContext {\n const ctx = inject(COLUMN_KEY, null)\n if (!ctx)\n throw new Error('[xh] Table 排序把手必须用在 XhTableColumnHeader 内')\n return ctx\n}\n"],"mappings":";;AAkBA,MAAM,MAAkC,OAAO,IAAI,UAAU;AAC7D,MAAM,cAA0C,OAAO,IAAI,kBAAkB;AAC7E,MAAM,UAAyC,OAAO,IAAI,cAAc;AACxE,MAAM,aAA+C,OAAO,IAAI,iBAAiB;AAEjF,SAAgB,aAAa,KAAyB;CACpD,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,kBAAgC;CAC9C,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,iCAAiC;CACnD,OAAO;AACT;AAEA,SAAgB,oBAAoB,SAA6B;CAC/D,QAAQ,aAAa,OAAO;AAC9B;;AAGA,SAAgB,kBAAgC;CAC9C,OAAO,OAAO,aAAa,MAAM;AACnC;AAEA,SAAgB,gBAAgB,KAA4B;CAC1D,QAAQ,SAAS,GAAG;AACtB;AAEA,SAAgB,qBAAsC;CACpD,MAAM,MAAM,OAAO,SAAS,IAAI;CAChC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,uDAAuD;CACzE,OAAO;AACT;;AAGA,SAAgB,6BAAqD;CACnE,OAAO,OAAO,SAAS,IAAI;AAC7B;AAEA,SAAgB,mBAAmB,KAA+B;CAChE,QAAQ,YAAY,GAAG;AACzB;AAEA,SAAgB,wBAA4C;CAC1D,MAAM,MAAM,OAAO,YAAY,IAAI;CACnC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,2CAA2C;CAC7D,OAAO;AACT"}
@@ -1,11 +1,11 @@
1
1
  import { PayloadOf } from "../../runtime/payload.js";
2
2
  import { PropType, SlotsType, VNode } from "vue";
3
- import { TableApi, TableColumnDef, TableRowDef, TableSchema, TableSelection, TableSelectionMode, TableSortDescriptor } from "@xihan-ui/headless";
3
+ import { TableApi, TableColumnDef, TableColumnKind, TableColumnPreference, TableRowDef, TableSchema, TableSelection, TableSelectionMode, TableSortDescriptor } from "@xihan-ui/headless";
4
4
  import { Direction, Size } from "@xihan-ui/kernel";
5
5
  //#region src/components/table/table.d.ts
6
6
  type TableProps = TableSchema['props'];
7
7
  /** 默认插槽的载荷:可见行与排序、选中、展开三态,以及逐行查询与改写它们的句柄。 */
8
- type TableRootSlotProps = Pick<TableApi, 'visibleRows' | 'sort' | 'selection' | 'selectionState' | 'expandedValue' | 'focusedRow' | 'empty' | 'loading' | 'isSelected' | 'isExpanded' | 'sortDirection' | 'sortPriority' | 'toggleSort' | 'selectRow' | 'toggleSelectAll' | 'toggleExpandRow'>;
8
+ type TableRootSlotProps = Pick<TableApi, 'columns' | 'columnPreference' | 'setColumnHidden' | 'moveColumn' | 'setColumnWidth' | 'setColumnPreference' | 'rowNumber' | 'visibleRows' | 'sort' | 'selection' | 'selectionState' | 'expandedValue' | 'focusedRow' | 'empty' | 'loading' | 'isSelected' | 'isExpanded' | 'sortDirection' | 'sortPriority' | 'toggleSort' | 'selectRow' | 'toggleSelectAll' | 'toggleExpandRow'>;
9
9
  declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
10
  columns: {
11
11
  type: PropType<TableColumnDef[]>;
@@ -35,6 +35,29 @@ declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPr
35
35
  type: PropType<TableSelectionMode>;
36
36
  default: undefined;
37
37
  };
38
+ /** 要哪几列前缀列(序号 / 多选 / 展开),按给定顺序插在最前面并占住列号。 */
39
+ prefixColumns: {
40
+ type: PropType<TableColumnKind[]>;
41
+ default: undefined;
42
+ };
43
+ /** 当前页码与每页条数:只用来算序号,不参与切片。 */
44
+ /** 列偏好:给定即受控。持久化归使用者,库只负责把它算进生效列。 */
45
+ columnPreference: {
46
+ type: PropType<TableColumnPreference>;
47
+ default: undefined;
48
+ };
49
+ defaultColumnPreference: {
50
+ type: PropType<TableColumnPreference>;
51
+ default: undefined;
52
+ };
53
+ page: {
54
+ type: NumberConstructor;
55
+ default: undefined;
56
+ };
57
+ pageSize: {
58
+ type: NumberConstructor;
59
+ default: undefined;
60
+ };
38
61
  expanded: {
39
62
  type: PropType<string[]>;
40
63
  default: undefined;
@@ -49,6 +72,9 @@ declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPr
49
72
  default: undefined;
50
73
  };
51
74
  stickyHeader: BooleanConstructor;
75
+ striped: BooleanConstructor;
76
+ borderless: BooleanConstructor;
77
+ ruled: BooleanConstructor;
52
78
  footer: BooleanConstructor;
53
79
  loop: {
54
80
  type: BooleanConstructor;
@@ -65,6 +91,10 @@ declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPr
65
91
  }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
66
92
  [key: string]: any;
67
93
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
94
+ 'column-preference-change': (_details: {
95
+ value: TableColumnPreference;
96
+ }) => true;
97
+ 'update:columnPreference': (_value: TableColumnPreference) => true;
68
98
  'sort-change': (_details: PayloadOf<TableProps, "onSortChange">) => true;
69
99
  'update:sort': (_sort: PayloadOf<TableProps, "onSortChange">["value"]) => true;
70
100
  'selection-change': (_details: PayloadOf<TableProps, "onSelectionChange">) => true;
@@ -100,6 +130,29 @@ declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPr
100
130
  type: PropType<TableSelectionMode>;
101
131
  default: undefined;
102
132
  };
133
+ /** 要哪几列前缀列(序号 / 多选 / 展开),按给定顺序插在最前面并占住列号。 */
134
+ prefixColumns: {
135
+ type: PropType<TableColumnKind[]>;
136
+ default: undefined;
137
+ };
138
+ /** 当前页码与每页条数:只用来算序号,不参与切片。 */
139
+ /** 列偏好:给定即受控。持久化归使用者,库只负责把它算进生效列。 */
140
+ columnPreference: {
141
+ type: PropType<TableColumnPreference>;
142
+ default: undefined;
143
+ };
144
+ defaultColumnPreference: {
145
+ type: PropType<TableColumnPreference>;
146
+ default: undefined;
147
+ };
148
+ page: {
149
+ type: NumberConstructor;
150
+ default: undefined;
151
+ };
152
+ pageSize: {
153
+ type: NumberConstructor;
154
+ default: undefined;
155
+ };
103
156
  expanded: {
104
157
  type: PropType<string[]>;
105
158
  default: undefined;
@@ -114,6 +167,9 @@ declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPr
114
167
  default: undefined;
115
168
  };
116
169
  stickyHeader: BooleanConstructor;
170
+ striped: BooleanConstructor;
171
+ borderless: BooleanConstructor;
172
+ ruled: BooleanConstructor;
117
173
  footer: BooleanConstructor;
118
174
  loop: {
119
175
  type: BooleanConstructor;
@@ -130,6 +186,10 @@ declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPr
130
186
  }>> & Readonly<{
131
187
  "onExpanded-change"?: ((_details: import("@xihan-ui/headless").TableExpandedChangeDetails) => any) | undefined;
132
188
  "onUpdate:expanded"?: ((_expanded: string[]) => any) | undefined;
189
+ "onColumn-preference-change"?: ((_details: {
190
+ value: TableColumnPreference;
191
+ }) => any) | undefined;
192
+ "onUpdate:columnPreference"?: ((_value: TableColumnPreference) => any) | undefined;
133
193
  "onSort-change"?: ((_details: import("@xihan-ui/headless").TableSortChangeDetails) => any) | undefined;
134
194
  "onUpdate:sort"?: ((_sort: TableSortDescriptor[]) => any) | undefined;
135
195
  "onSelection-change"?: ((_details: import("@xihan-ui/headless").TableSelectionChangeDetails) => any) | undefined;
@@ -141,16 +201,24 @@ declare const XhTableRoot: import("vue").DefineComponent<import("vue").ExtractPr
141
201
  size: Size;
142
202
  loading: boolean;
143
203
  selectionMode: TableSelectionMode;
204
+ page: number;
144
205
  loop: boolean;
145
206
  empty: boolean;
146
207
  columns: TableColumnDef[];
147
208
  expanded: string[];
148
209
  defaultExpanded: string[];
149
210
  rows: TableRowDef[];
211
+ columnPreference: TableColumnPreference;
150
212
  selection: TableSelection;
151
213
  stickyHeader: boolean;
214
+ striped: boolean;
215
+ borderless: boolean;
216
+ ruled: boolean;
152
217
  defaultSort: TableSortDescriptor[];
153
218
  defaultSelection: TableSelection;
219
+ prefixColumns: TableColumnKind[];
220
+ defaultColumnPreference: TableColumnPreference;
221
+ pageSize: number;
154
222
  }, SlotsType<{
155
223
  default?: (props: TableRootSlotProps) => VNode[];
156
224
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","names":[],"sources":["../../../src/components/table/table.ts"],"mappings":";;;;;KA6BK,aAAa;;KAyBN,qBAAqB,KAC/B;cAmBW,2BAAW,8BAAA;;IAIM,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACD,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACrB,MAAA,SAAS;;;;IACf,MAAA;;;;IACO,MAAA;;;;;;;;;;;;;;;IAMX,MAAA,SAAS;;;;IACR,MAAA,SAAS;;;;;;EAIP,gBAAA,UAAA,UAAU;EACb,gBAAA,OAAA,UAAU;EACF,qBAAA,UAAA,UAAU;EACR,qBAAA,YAAA,UAAU;EACb,oBAAA,UAAA,UAAU;EACT,oBAAA,WAAA,UAAU;;;IAxBf,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACD,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACrB,MAAA,SAAS;;;;IACf,MAAA;;;;IACO,MAAA;;;;;;;;;;;;;;;IAMX,MAAA,SAAS;;;;IACR,MAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYvB,WAAC,OAAO,uBAAuB;kCAoC3C;cAEW,8BAAc,0BAAA,oBAAA,4BAAA;;8BAMzB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6BAAa,0BAAA,oBAAA,4BAAA;;8BAOxB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,2BAAW,0BAAA,oBAAA,4BAAA;;8BAQtB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6BAAa,0BAAA,oBAAA,4BAAA;;8BAOxB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0BAAU,8BAAA;;;;;;;;;;;;;;;;qCA6BrB;cAEW,mCAAmB,8BAAA;;;;;;;;;;;;MAe9B,oDAAA;cAEW,2BAAW,8BAAA;;;;;;;;IAMiB,MAAA;;;;;;;;;;;;;IAAA,MAAA;;;;;qCAgBvC;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAUlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAWlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAW7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAW/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,8BAAA;;;;;;;;;;;;;;MAgB7B,oDAAA;cAEW,4BAAY,0BAAA,oBAAA,4BAAA;;8BAMvB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"table.d.ts","names":[],"sources":["../../../src/components/table/table.ts"],"mappings":";;;;;KA+BK,aAAa;;KAyBN,qBAAqB,KAC/B;cA0BW,2BAAW,8BAAA;;IAIM,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACD,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACrB,MAAA,SAAS;;;;;IAEV,MAAA,SAAS;;;;;;IAGL,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;;;;;;;;;IAGzB,MAAA;;;;IACO,MAAA;;;;;;;;;;;;;;;;;;IASX,MAAA,SAAS;;;;IACR,MAAA,SAAS;;;;;;EAIM,6BAAA;IAAE,OAAO;;EACZ,4BAAA,QAAA;EACV,gBAAA,UAAA,UAAU;EACb,gBAAA,OAAA,UAAU;EACF,qBAAA,UAAA,UAAU;EACR,qBAAA,YAAA,UAAU;EACb,oBAAA,UAAA,UAAU;EACT,oBAAA,WAAA,UAAU;;;IArCf,MAAA,SAAS;;;;IACZ,MAAA,SAAS;;;;IACT,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACD,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACrB,MAAA,SAAS;;;;;IAEV,MAAA,SAAS;;;;;;IAGL,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;;;;;;;;;IAGzB,MAAA;;;;IACO,MAAA;;;;;;;;;;;;;;;;;;IASX,MAAA,SAAS;;;;IACR,MAAA,SAAS;;;;;;;IAIe,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtC,WAAC,OAAO,uBAAuB;kCA+C3C;cAEW,8BAAc,0BAAA,oBAAA,4BAAA;;8BAMzB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6BAAa,0BAAA,oBAAA,4BAAA;;8BAOxB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,2BAAW,0BAAA,oBAAA,4BAAA;;8BAQtB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6BAAa,0BAAA,oBAAA,4BAAA;;8BAOxB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,0BAAU,8BAAA;;;;;;;;;;;;;;;;qCA6BrB;cAEW,mCAAmB,8BAAA;;;;;;;;;;;;MAe9B,oDAAA;cAEW,2BAAW,8BAAA;;;;;;;;IAMiB,MAAA;;;;;;;;;;;;;IAAA,MAAA;;;;;qCAgBvC;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAUlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAWlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAW7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAW/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,kCAAkB,8BAAA;;;;;;;;;;;;;;MAgB7B,oDAAA;cAEW,4BAAY,0BAAA,oBAAA,4BAAA;;8BAMvB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -50,6 +50,29 @@ const XhTableRoot = defineComponent({
50
50
  type: String,
51
51
  default: void 0
52
52
  },
53
+ /** 要哪几列前缀列(序号 / 多选 / 展开),按给定顺序插在最前面并占住列号。 */
54
+ prefixColumns: {
55
+ type: Array,
56
+ default: void 0
57
+ },
58
+ /** 当前页码与每页条数:只用来算序号,不参与切片。 */
59
+ /** 列偏好:给定即受控。持久化归使用者,库只负责把它算进生效列。 */
60
+ columnPreference: {
61
+ type: Object,
62
+ default: void 0
63
+ },
64
+ defaultColumnPreference: {
65
+ type: Object,
66
+ default: void 0
67
+ },
68
+ page: {
69
+ type: Number,
70
+ default: void 0
71
+ },
72
+ pageSize: {
73
+ type: Number,
74
+ default: void 0
75
+ },
53
76
  expanded: {
54
77
  type: Array,
55
78
  default: void 0
@@ -64,6 +87,9 @@ const XhTableRoot = defineComponent({
64
87
  default: void 0
65
88
  },
66
89
  stickyHeader: Boolean,
90
+ striped: Boolean,
91
+ borderless: Boolean,
92
+ ruled: Boolean,
67
93
  footer: Boolean,
68
94
  loop: {
69
95
  type: Boolean,
@@ -79,6 +105,8 @@ const XhTableRoot = defineComponent({
79
105
  }
80
106
  },
81
107
  emits: {
108
+ "column-preference-change": (_details) => true,
109
+ "update:columnPreference": (_value) => true,
82
110
  "sort-change": (_details) => true,
83
111
  "update:sort": (_sort) => true,
84
112
  "selection-change": (_details) => true,
@@ -88,6 +116,10 @@ const XhTableRoot = defineComponent({
88
116
  },
89
117
  slots: Object,
90
118
  setup(props, { slots, emit }) {
119
+ const onColumnPreferenceChange = (details) => {
120
+ emit("column-preference-change", details);
121
+ emit("update:columnPreference", details.value);
122
+ };
91
123
  const onSortChange = (details) => {
92
124
  emit("sort-change", details);
93
125
  emit("update:sort", details.value);
@@ -100,9 +132,16 @@ const XhTableRoot = defineComponent({
100
132
  emit("expanded-change", details);
101
133
  emit("update:expanded", details.value);
102
134
  };
103
- const ctx = useTable(props, onSortChange, onSelectionChange, onExpandedChange);
135
+ const ctx = useTable(props, onSortChange, onSelectionChange, onExpandedChange, onColumnPreferenceChange);
104
136
  provideTable(ctx);
105
137
  return () => h("div", ctx.api.value.getRootProps(), slots.default?.({
138
+ columns: ctx.api.value.columns,
139
+ columnPreference: ctx.api.value.columnPreference,
140
+ setColumnHidden: ctx.api.value.setColumnHidden,
141
+ moveColumn: ctx.api.value.moveColumn,
142
+ setColumnWidth: ctx.api.value.setColumnWidth,
143
+ setColumnPreference: ctx.api.value.setColumnPreference,
144
+ rowNumber: ctx.api.value.rowNumber,
106
145
  visibleRows: ctx.api.value.visibleRows,
107
146
  sort: ctx.api.value.sort,
108
147
  selection: ctx.api.value.selection,
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","names":[],"sources":["../../../src/components/table/table.ts"],"sourcesContent":["import type {\n TableApi,\n TableColumnDef,\n TableColumnProps,\n TableRowDef,\n TableRowProps,\n TableSchema,\n TableSelection,\n TableSelectionMode,\n TableSortDescriptor,\n} from '@xihan-ui/headless'\nimport type { Direction, Size } from '@xihan-ui/kernel'\nimport type { PropType, Ref, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport type { TableContext } from './use-table'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport {\n provideTable,\n provideTableColumn,\n provideTableRow,\n provideTableSection,\n useOptionalTableRowContext,\n useTableColumnContext,\n useTableContext,\n useTableRowContext,\n useTableSection,\n} from './context'\nimport { useTable } from './use-table'\n\ntype TableProps = TableSchema['props']\n\n/** 本行持有焦点时,value 变更重报焦点行,卸载时上报表体失焦 */\nfunction reportRowFocus(ctx: TableContext, 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: 'ROW.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: 'TABLE.BLUR' })\n })\n}\n\n/** 默认插槽的载荷:可见行与排序、选中、展开三态,以及逐行查询与改写它们的句柄。 */\nexport type TableRootSlotProps = Pick<\n TableApi,\n | 'visibleRows'\n | 'sort'\n | 'selection'\n | 'selectionState'\n | 'expandedValue'\n | 'focusedRow'\n | 'empty'\n | 'loading'\n | 'isSelected'\n | 'isExpanded'\n | 'sortDirection'\n | 'sortPriority'\n | 'toggleSort'\n | 'selectRow'\n | 'toggleSelectAll'\n | 'toggleExpandRow'\n>\n\nexport const XhTableRoot = defineComponent({\n name: 'XhTableRoot',\n // 有机器侧兜底的 prop 一律 default: undefined,缺省值由 connect 与机器决定\n props: {\n columns: { type: Array as PropType<TableColumnDef[]>, default: undefined },\n rows: { type: Array as PropType<TableRowDef[]>, default: undefined },\n sort: { type: Array as PropType<TableSortDescriptor[]>, default: undefined },\n defaultSort: { type: Array as PropType<TableSortDescriptor[]>, default: undefined },\n selection: { type: [Array, String] as PropType<TableSelection>, default: undefined },\n defaultSelection: { type: [Array, String] as PropType<TableSelection>, default: undefined },\n selectionMode: { type: String as PropType<TableSelectionMode>, default: undefined },\n expanded: { type: Array as PropType<string[]>, default: undefined },\n defaultExpanded: { type: Array as PropType<string[]>, default: undefined },\n loading: Boolean,\n empty: { type: Boolean, default: undefined },\n stickyHeader: Boolean,\n footer: Boolean,\n loop: { type: Boolean, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n size: { type: String as PropType<Size>, default: undefined },\n },\n // *-change 携带 { value },update:* 携带裸值以支持 v-model\n emits: {\n 'sort-change': (_details: PayloadOf<TableProps, 'onSortChange'>) => true,\n 'update:sort': (_sort: PayloadOf<TableProps, 'onSortChange'>['value']) => true,\n 'selection-change': (_details: PayloadOf<TableProps, 'onSelectionChange'>) => true,\n 'update:selection': (_selection: PayloadOf<TableProps, 'onSelectionChange'>['value']) => true,\n 'expanded-change': (_details: PayloadOf<TableProps, 'onExpandedChange'>) => true,\n 'update:expanded': (_expanded: PayloadOf<TableProps, 'onExpandedChange'>['value']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TableRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const onSortChange: TableProps['onSortChange'] = (details) => {\n emit('sort-change', details)\n emit('update:sort', details.value)\n }\n const onSelectionChange: TableProps['onSelectionChange'] = (details) => {\n emit('selection-change', details)\n emit('update:selection', details.value)\n }\n const onExpandedChange: TableProps['onExpandedChange'] = (details) => {\n emit('expanded-change', details)\n emit('update:expanded', details.value)\n }\n const ctx = useTable(props as TableProps, onSortChange, onSelectionChange, onExpandedChange)\n provideTable(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n visibleRows: ctx.api.value.visibleRows,\n sort: ctx.api.value.sort,\n selection: ctx.api.value.selection,\n selectionState: ctx.api.value.selectionState,\n expandedValue: ctx.api.value.expandedValue,\n focusedRow: ctx.api.value.focusedRow,\n empty: ctx.api.value.empty,\n loading: ctx.api.value.loading,\n isSelected: ctx.api.value.isSelected,\n isExpanded: ctx.api.value.isExpanded,\n sortDirection: ctx.api.value.sortDirection,\n sortPriority: ctx.api.value.sortPriority,\n toggleSort: ctx.api.value.toggleSort,\n selectRow: ctx.api.value.selectRow,\n toggleSelectAll: ctx.api.value.toggleSelectAll,\n toggleExpandRow: ctx.api.value.toggleExpandRow,\n }))\n },\n})\n\nexport const XhTableCaption = defineComponent({\n name: 'XhTableCaption',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h('div', ctx.api.value.getCaptionProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableHeader = defineComponent({\n name: 'XhTableHeader',\n setup(_, { slots }) {\n const ctx = useTableContext()\n provideTableSection('header')\n return () => h('div', ctx.api.value.getHeaderProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableBody = defineComponent({\n name: 'XhTableBody',\n setup(_, { slots }) {\n const ctx = useTableContext()\n provideTableSection('body')\n // 键盘与 roving 的兜底 Tab 位落在表体上,不在 root 上\n return () => h('div', ctx.api.value.getBodyProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableFooter = defineComponent({\n name: 'XhTableFooter',\n setup(_, { slots }) {\n const ctx = useTableContext()\n provideTableSection('footer')\n return () => h('div', ctx.api.value.getFooterProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableRow = defineComponent({\n name: 'XhTableRow',\n props: {\n /** 行 id:数据行必给,表头行与脚注行省略。 */\n value: { type: String, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n const section = useTableSection()\n if (section !== 'body') {\n return () => h(\n 'div',\n (section === 'header'\n ? ctx.api.value.getHeaderRowProps()\n : ctx.api.value.getFooterRowProps()) as Record<string, unknown>,\n slots.default?.(),\n )\n }\n const row = computed<TableRowProps>(() => ({ value: props.value ?? '' }))\n // 供行内的把手与单元格读取行 id\n provideTableRow({ row })\n const el = ref<HTMLElement | null>(null)\n reportRowFocus(ctx, el, () => row.value.value)\n return () => h(\n 'div',\n { ...ctx.api.value.getRowProps(row.value) as Record<string, unknown>, ref: el },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableColumnHeader = defineComponent({\n name: 'XhTableColumnHeader',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n const column = computed<TableColumnProps>(() => ({ value: props.value }))\n provideTableColumn({ column })\n return () => h(\n 'div',\n ctx.api.value.getColumnHeaderProps(column.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableCell = defineComponent({\n name: 'XhTableCell',\n props: {\n /** 列 id。 */\n value: { type: String, required: true },\n /** 跨列数,从 value 那一列往后算。 */\n colspan: { type: [String, Number] as PropType<string | number>, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n // 行上下文可选:脚注单元格不属于任何数据行\n const rowCtx = useOptionalTableRowContext()\n return () => h(\n 'div',\n ctx.api.value.getCellProps({\n value: props.value,\n row: rowCtx?.row.value.value,\n colSpan: props.colspan == null ? undefined : Number(props.colspan),\n }) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableSelectAllTrigger = defineComponent({\n name: 'XhTableSelectAllTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h(\n 'span',\n ctx.api.value.getSelectAllTriggerProps() as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableRowSelectTrigger = defineComponent({\n name: 'XhTableRowSelectTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n const { row } = useTableRowContext()\n return () => h(\n 'span',\n ctx.api.value.getRowSelectTriggerProps(row.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableSortTrigger = defineComponent({\n name: 'XhTableSortTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n const { column } = useTableColumnContext()\n return () => h(\n 'span',\n ctx.api.value.getSortTriggerProps(column.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableExpandTrigger = defineComponent({\n name: 'XhTableExpandTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n const { row } = useTableRowContext()\n return () => h(\n 'span',\n ctx.api.value.getExpandTriggerProps(row.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableExpandedRow = defineComponent({\n name: 'XhTableExpandedRow',\n props: {\n /** 所属数据行的 id。 */\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n const row = computed<TableRowProps>(() => ({ value: props.value }))\n // 不 provide 行上下文;收起只加 hidden,不卸载内部节点\n return () => h(\n 'div',\n ctx.api.value.getExpandedRowProps(row.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableEmpty = defineComponent({\n name: 'XhTableEmpty',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h('div', ctx.api.value.getEmptyProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableLoadingState = defineComponent({\n name: 'XhTableLoadingState',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h('div', ctx.api.value.getLoadingStateProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","names":[],"sources":["../../../src/components/table/table.ts"],"sourcesContent":["import type {\n TableApi,\n TableColumnDef,\n TableColumnKind,\n TableColumnPreference,\n TableColumnProps,\n TableRowDef,\n TableRowProps,\n TableSchema,\n TableSelection,\n TableSelectionMode,\n TableSortDescriptor,\n} from '@xihan-ui/headless'\nimport type { Direction, Size } from '@xihan-ui/kernel'\nimport type { PropType, Ref, SlotsType, VNode } from 'vue'\nimport type { PayloadOf } from '../../runtime/payload'\nimport type { TableContext } from './use-table'\nimport { computed, defineComponent, h, onBeforeUnmount, ref, watch } from 'vue'\nimport {\n provideTable,\n provideTableColumn,\n provideTableRow,\n provideTableSection,\n useOptionalTableRowContext,\n useTableColumnContext,\n useTableContext,\n useTableRowContext,\n useTableSection,\n} from './context'\nimport { useTable } from './use-table'\n\ntype TableProps = TableSchema['props']\n\n/** 本行持有焦点时,value 变更重报焦点行,卸载时上报表体失焦 */\nfunction reportRowFocus(ctx: TableContext, 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: 'ROW.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: 'TABLE.BLUR' })\n })\n}\n\n/** 默认插槽的载荷:可见行与排序、选中、展开三态,以及逐行查询与改写它们的句柄。 */\nexport type TableRootSlotProps = Pick<\n TableApi,\n | 'columns'\n | 'columnPreference'\n | 'setColumnHidden'\n | 'moveColumn'\n | 'setColumnWidth'\n | 'setColumnPreference'\n | 'rowNumber'\n | 'visibleRows'\n | 'sort'\n | 'selection'\n | 'selectionState'\n | 'expandedValue'\n | 'focusedRow'\n | 'empty'\n | 'loading'\n | 'isSelected'\n | 'isExpanded'\n | 'sortDirection'\n | 'sortPriority'\n | 'toggleSort'\n | 'selectRow'\n | 'toggleSelectAll'\n | 'toggleExpandRow'\n>\n\nexport const XhTableRoot = defineComponent({\n name: 'XhTableRoot',\n // 有机器侧兜底的 prop 一律 default: undefined,缺省值由 connect 与机器决定\n props: {\n columns: { type: Array as PropType<TableColumnDef[]>, default: undefined },\n rows: { type: Array as PropType<TableRowDef[]>, default: undefined },\n sort: { type: Array as PropType<TableSortDescriptor[]>, default: undefined },\n defaultSort: { type: Array as PropType<TableSortDescriptor[]>, default: undefined },\n selection: { type: [Array, String] as PropType<TableSelection>, default: undefined },\n defaultSelection: { type: [Array, String] as PropType<TableSelection>, default: undefined },\n selectionMode: { type: String as PropType<TableSelectionMode>, default: undefined },\n /** 要哪几列前缀列(序号 / 多选 / 展开),按给定顺序插在最前面并占住列号。 */\n prefixColumns: { type: Array as PropType<TableColumnKind[]>, default: undefined },\n /** 当前页码与每页条数:只用来算序号,不参与切片。 */\n /** 列偏好:给定即受控。持久化归使用者,库只负责把它算进生效列。 */\n columnPreference: { type: Object as PropType<TableColumnPreference>, default: undefined },\n defaultColumnPreference: { type: Object as PropType<TableColumnPreference>, default: undefined },\n page: { type: Number, default: undefined },\n pageSize: { type: Number, default: undefined },\n expanded: { type: Array as PropType<string[]>, default: undefined },\n defaultExpanded: { type: Array as PropType<string[]>, default: undefined },\n loading: Boolean,\n empty: { type: Boolean, default: undefined },\n stickyHeader: Boolean,\n striped: Boolean,\n borderless: Boolean,\n ruled: Boolean,\n footer: Boolean,\n loop: { type: Boolean, default: undefined },\n dir: { type: String as PropType<Direction>, default: undefined },\n size: { type: String as PropType<Size>, default: undefined },\n },\n // *-change 携带 { value },update:* 携带裸值以支持 v-model\n emits: {\n 'column-preference-change': (_details: { value: TableColumnPreference }) => true,\n 'update:columnPreference': (_value: TableColumnPreference) => true,\n 'sort-change': (_details: PayloadOf<TableProps, 'onSortChange'>) => true,\n 'update:sort': (_sort: PayloadOf<TableProps, 'onSortChange'>['value']) => true,\n 'selection-change': (_details: PayloadOf<TableProps, 'onSelectionChange'>) => true,\n 'update:selection': (_selection: PayloadOf<TableProps, 'onSelectionChange'>['value']) => true,\n 'expanded-change': (_details: PayloadOf<TableProps, 'onExpandedChange'>) => true,\n 'update:expanded': (_expanded: PayloadOf<TableProps, 'onExpandedChange'>['value']) => true,\n },\n slots: Object as SlotsType<{\n default?: (props: TableRootSlotProps) => VNode[]\n }>,\n setup(props, { slots, emit }) {\n const onColumnPreferenceChange: TableProps['onColumnPreferenceChange'] = (details) => {\n emit('column-preference-change', details)\n emit('update:columnPreference', details.value)\n }\n const onSortChange: TableProps['onSortChange'] = (details) => {\n emit('sort-change', details)\n emit('update:sort', details.value)\n }\n const onSelectionChange: TableProps['onSelectionChange'] = (details) => {\n emit('selection-change', details)\n emit('update:selection', details.value)\n }\n const onExpandedChange: TableProps['onExpandedChange'] = (details) => {\n emit('expanded-change', details)\n emit('update:expanded', details.value)\n }\n const ctx = useTable(props as TableProps, onSortChange, onSelectionChange, onExpandedChange, onColumnPreferenceChange)\n provideTable(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.({\n columns: ctx.api.value.columns,\n columnPreference: ctx.api.value.columnPreference,\n setColumnHidden: ctx.api.value.setColumnHidden,\n moveColumn: ctx.api.value.moveColumn,\n setColumnWidth: ctx.api.value.setColumnWidth,\n setColumnPreference: ctx.api.value.setColumnPreference,\n rowNumber: ctx.api.value.rowNumber,\n visibleRows: ctx.api.value.visibleRows,\n sort: ctx.api.value.sort,\n selection: ctx.api.value.selection,\n selectionState: ctx.api.value.selectionState,\n expandedValue: ctx.api.value.expandedValue,\n focusedRow: ctx.api.value.focusedRow,\n empty: ctx.api.value.empty,\n loading: ctx.api.value.loading,\n isSelected: ctx.api.value.isSelected,\n isExpanded: ctx.api.value.isExpanded,\n sortDirection: ctx.api.value.sortDirection,\n sortPriority: ctx.api.value.sortPriority,\n toggleSort: ctx.api.value.toggleSort,\n selectRow: ctx.api.value.selectRow,\n toggleSelectAll: ctx.api.value.toggleSelectAll,\n toggleExpandRow: ctx.api.value.toggleExpandRow,\n }))\n },\n})\n\nexport const XhTableCaption = defineComponent({\n name: 'XhTableCaption',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h('div', ctx.api.value.getCaptionProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableHeader = defineComponent({\n name: 'XhTableHeader',\n setup(_, { slots }) {\n const ctx = useTableContext()\n provideTableSection('header')\n return () => h('div', ctx.api.value.getHeaderProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableBody = defineComponent({\n name: 'XhTableBody',\n setup(_, { slots }) {\n const ctx = useTableContext()\n provideTableSection('body')\n // 键盘与 roving 的兜底 Tab 位落在表体上,不在 root 上\n return () => h('div', ctx.api.value.getBodyProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableFooter = defineComponent({\n name: 'XhTableFooter',\n setup(_, { slots }) {\n const ctx = useTableContext()\n provideTableSection('footer')\n return () => h('div', ctx.api.value.getFooterProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableRow = defineComponent({\n name: 'XhTableRow',\n props: {\n /** 行 id:数据行必给,表头行与脚注行省略。 */\n value: { type: String, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n const section = useTableSection()\n if (section !== 'body') {\n return () => h(\n 'div',\n (section === 'header'\n ? ctx.api.value.getHeaderRowProps()\n : ctx.api.value.getFooterRowProps()) as Record<string, unknown>,\n slots.default?.(),\n )\n }\n const row = computed<TableRowProps>(() => ({ value: props.value ?? '' }))\n // 供行内的把手与单元格读取行 id\n provideTableRow({ row })\n const el = ref<HTMLElement | null>(null)\n reportRowFocus(ctx, el, () => row.value.value)\n return () => h(\n 'div',\n { ...ctx.api.value.getRowProps(row.value) as Record<string, unknown>, ref: el },\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableColumnHeader = defineComponent({\n name: 'XhTableColumnHeader',\n props: {\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n const column = computed<TableColumnProps>(() => ({ value: props.value }))\n provideTableColumn({ column })\n return () => h(\n 'div',\n ctx.api.value.getColumnHeaderProps(column.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableCell = defineComponent({\n name: 'XhTableCell',\n props: {\n /** 列 id。 */\n value: { type: String, required: true },\n /** 跨列数,从 value 那一列往后算。 */\n colspan: { type: [String, Number] as PropType<string | number>, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n // 行上下文可选:脚注单元格不属于任何数据行\n const rowCtx = useOptionalTableRowContext()\n return () => h(\n 'div',\n ctx.api.value.getCellProps({\n value: props.value,\n row: rowCtx?.row.value.value,\n colSpan: props.colspan == null ? undefined : Number(props.colspan),\n }) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableSelectAllTrigger = defineComponent({\n name: 'XhTableSelectAllTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h(\n 'span',\n ctx.api.value.getSelectAllTriggerProps() as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableRowSelectTrigger = defineComponent({\n name: 'XhTableRowSelectTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n const { row } = useTableRowContext()\n return () => h(\n 'span',\n ctx.api.value.getRowSelectTriggerProps(row.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableSortTrigger = defineComponent({\n name: 'XhTableSortTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n const { column } = useTableColumnContext()\n return () => h(\n 'span',\n ctx.api.value.getSortTriggerProps(column.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableExpandTrigger = defineComponent({\n name: 'XhTableExpandTrigger',\n setup(_, { slots }) {\n const ctx = useTableContext()\n const { row } = useTableRowContext()\n return () => h(\n 'span',\n ctx.api.value.getExpandTriggerProps(row.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableExpandedRow = defineComponent({\n name: 'XhTableExpandedRow',\n props: {\n /** 所属数据行的 id。 */\n value: { type: String, required: true },\n },\n setup(props, { slots }) {\n const ctx = useTableContext()\n const row = computed<TableRowProps>(() => ({ value: props.value }))\n // 不 provide 行上下文;收起只加 hidden,不卸载内部节点\n return () => h(\n 'div',\n ctx.api.value.getExpandedRowProps(row.value) as Record<string, unknown>,\n slots.default?.(),\n )\n },\n})\n\nexport const XhTableEmpty = defineComponent({\n name: 'XhTableEmpty',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h('div', ctx.api.value.getEmptyProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhTableLoadingState = defineComponent({\n name: 'XhTableLoadingState',\n setup(_, { slots }) {\n const ctx = useTableContext()\n return () => h('div', ctx.api.value.getLoadingStateProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ interface TableContext {
7
7
  /** 机器实例,供部件上报 DOM 侧的事实(如行卸载带走了焦点)。 */
8
8
  service: Service<TableSchema>;
9
9
  }
10
- declare function useTable(props: TableSchema['props'], onSortChange?: TableSchema['props']['onSortChange'], onSelectionChange?: TableSchema['props']['onSelectionChange'], onExpandedChange?: TableSchema['props']['onExpandedChange']): TableContext;
10
+ declare function useTable(props: TableSchema['props'], onSortChange?: TableSchema['props']['onSortChange'], onSelectionChange?: TableSchema['props']['onSelectionChange'], onExpandedChange?: TableSchema['props']['onExpandedChange'], onColumnPreferenceChange?: TableSchema['props']['onColumnPreferenceChange']): TableContext;
11
11
  //#endregion
12
12
  export { TableContext, useTable };
13
13
  //# sourceMappingURL=use-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.d.ts","names":[],"sources":["../../../src/components/table/use-table.ts"],"mappings":";;;;UAUiB;EACf,KAAK,YAAY;;EAEjB,SAAS,QAAQ;;iBAGH,SACd,OAAO,sBACP,eAAe,sCACf,oBAAoB,2CACpB,mBAAmB,2CAClB"}
1
+ {"version":3,"file":"use-table.d.ts","names":[],"sources":["../../../src/components/table/use-table.ts"],"mappings":";;;;UAUiB;EACf,KAAK,YAAY;;EAEjB,SAAS,QAAQ;;iBAGH,SACd,OAAO,sBACP,eAAe,sCACf,oBAAoB,2CACpB,mBAAmB,0CACnB,2BAA2B,mDAC1B"}
@@ -5,12 +5,13 @@ import { computed } from "vue";
5
5
  import { connectTable, tableMachine } from "@xihan-ui/headless";
6
6
  import { createScope } from "@xihan-ui/kernel";
7
7
  //#region src/components/table/use-table.ts
8
- function useTable(props, onSortChange, onSelectionChange, onExpandedChange) {
8
+ function useTable(props, onSortChange, onSelectionChange, onExpandedChange, onColumnPreferenceChange) {
9
9
  const service = useMachine(tableMachine, () => ({
10
10
  ...props,
11
11
  onSortChange,
12
12
  onSelectionChange,
13
- onExpandedChange
13
+ onExpandedChange,
14
+ onColumnPreferenceChange
14
15
  }), createScope(null, createVueIdGenerator()));
15
16
  return {
16
17
  api: computed(() => connectTable(service, vueNormalize)),
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.js","names":[],"sources":["../../../src/components/table/use-table.ts"],"sourcesContent":["import type { TableApi, TableSchema } from '@xihan-ui/headless'\nimport type { Service } from '@xihan-ui/machine'\nimport type { ComputedRef } from 'vue'\nimport { connectTable, tableMachine } from '@xihan-ui/headless'\nimport { createScope } from '@xihan-ui/kernel'\nimport { computed } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\n\nexport interface TableContext {\n api: ComputedRef<TableApi>\n /** 机器实例,供部件上报 DOM 侧的事实(如行卸载带走了焦点)。 */\n service: Service<TableSchema>\n}\n\nexport function useTable(\n props: TableSchema['props'],\n onSortChange?: TableSchema['props']['onSortChange'],\n onSelectionChange?: TableSchema['props']['onSelectionChange'],\n onExpandedChange?: TableSchema['props']['onExpandedChange'],\n): TableContext {\n const idGen = createVueIdGenerator()\n const scope = createScope(null, idGen)\n const service = useMachine(\n tableMachine,\n () => ({ ...props, onSortChange, onSelectionChange, onExpandedChange }),\n scope,\n )\n const api = computed(() => connectTable(service, vueNormalize))\n return { api, service }\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,SACd,OACA,cACA,mBACA,kBACc;CAGd,MAAM,UAAU,WACd,qBACO;EAAE,GAAG;EAAO;EAAc;EAAmB;CAAiB,IAHzD,YAAY,MADZ,qBACsB,CAI9B,CACN;CAEA,OAAO;EAAE,KADG,eAAe,aAAa,SAAS,YAAY,CAClD;EAAG;CAAQ;AACxB"}
1
+ {"version":3,"file":"use-table.js","names":[],"sources":["../../../src/components/table/use-table.ts"],"sourcesContent":["import type { TableApi, TableSchema } from '@xihan-ui/headless'\nimport type { Service } from '@xihan-ui/machine'\nimport type { ComputedRef } from 'vue'\nimport { connectTable, tableMachine } from '@xihan-ui/headless'\nimport { createScope } from '@xihan-ui/kernel'\nimport { computed } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { useMachine } from '../../runtime/use-machine'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\n\nexport interface TableContext {\n api: ComputedRef<TableApi>\n /** 机器实例,供部件上报 DOM 侧的事实(如行卸载带走了焦点)。 */\n service: Service<TableSchema>\n}\n\nexport function useTable(\n props: TableSchema['props'],\n onSortChange?: TableSchema['props']['onSortChange'],\n onSelectionChange?: TableSchema['props']['onSelectionChange'],\n onExpandedChange?: TableSchema['props']['onExpandedChange'],\n onColumnPreferenceChange?: TableSchema['props']['onColumnPreferenceChange'],\n): TableContext {\n const idGen = createVueIdGenerator()\n const scope = createScope(null, idGen)\n const service = useMachine(\n tableMachine,\n () => ({ ...props, onSortChange, onSelectionChange, onExpandedChange, onColumnPreferenceChange }),\n scope,\n )\n const api = computed(() => connectTable(service, vueNormalize))\n return { api, service }\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,SACd,OACA,cACA,mBACA,kBACA,0BACc;CAGd,MAAM,UAAU,WACd,qBACO;EAAE,GAAG;EAAO;EAAc;EAAmB;EAAkB;CAAyB,IAHnF,YAAY,MADZ,qBACsB,CAI9B,CACN;CAEA,OAAO;EAAE,KADG,eAAe,aAAa,SAAS,YAAY,CAClD;EAAG;CAAQ;AACxB"}