@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
@@ -13,6 +13,10 @@ declare const XhFieldRoot: import("vue").DefineComponent<import("vue").ExtractPr
13
13
  type: BooleanConstructor;
14
14
  default: undefined;
15
15
  };
16
+ readOnly: {
17
+ type: BooleanConstructor;
18
+ default: undefined;
19
+ };
16
20
  controlId: {
17
21
  type: StringConstructor;
18
22
  default: undefined;
@@ -32,6 +36,10 @@ declare const XhFieldRoot: import("vue").DefineComponent<import("vue").ExtractPr
32
36
  type: BooleanConstructor;
33
37
  default: undefined;
34
38
  };
39
+ readOnly: {
40
+ type: BooleanConstructor;
41
+ default: undefined;
42
+ };
35
43
  controlId: {
36
44
  type: StringConstructor;
37
45
  default: undefined;
@@ -40,6 +48,7 @@ declare const XhFieldRoot: import("vue").DefineComponent<import("vue").ExtractPr
40
48
  required: boolean;
41
49
  invalid: boolean;
42
50
  disabled: boolean;
51
+ readOnly: boolean;
43
52
  controlId: string;
44
53
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
45
54
  declare const XhFieldLabel: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -47,11 +56,35 @@ declare const XhFieldLabel: import("vue").DefineComponent<{}, () => VNode<import
47
56
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
48
57
  /** 默认插槽的载荷:控件节点该挂的那组属性,作者把它交给自己渲染的控件。 */
49
58
  type FieldControlSlotProps = Record<string, unknown>;
50
- declare const XhFieldControl: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
59
+ declare const XhFieldControl: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
60
+ /**
61
+ * 把接线属性合到唯一的子节点上,缺省开。
62
+ *
63
+ * 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,
64
+ * 由封装内部调 useFieldControl 绑到真控件上。
65
+ */
66
+ asChild: {
67
+ type: BooleanConstructor;
68
+ default: boolean;
69
+ };
70
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
51
71
  [key: string]: any;
52
72
  }> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
53
73
  [key: string]: any;
54
- }>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, SlotsType<{
74
+ }>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
75
+ /**
76
+ * 把接线属性合到唯一的子节点上,缺省开。
77
+ *
78
+ * 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,
79
+ * 由封装内部调 useFieldControl 绑到真控件上。
80
+ */
81
+ asChild: {
82
+ type: BooleanConstructor;
83
+ default: boolean;
84
+ };
85
+ }>> & Readonly<{}>, {
86
+ asChild: boolean;
87
+ }, SlotsType<{
55
88
  default?: (props: FieldControlSlotProps) => VNode[];
56
89
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
90
  declare const XhFieldDescription: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","names":[],"sources":["../../../src/components/field/field.ts"],"mappings":";;cAYa,2BAAW,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAgCtB;cAEW,4BAAY,0BAAA,oBAAA,4BAAA;;8BAMvB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;;KAGU,wBAAwB;cAEvB,8BAAc,0BAAA,oBAAA,4BAAA;;;;;EAGb,WAAC,OAAO,0BAA0B;kCAa9C;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAM7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAe3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"field.d.ts","names":[],"sources":["../../../src/components/field/field.ts"],"mappings":";;cAaa,2BAAW,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAoCtB;cAEW,4BAAY,0BAAA,oBAAA,4BAAA;;8BAMvB,qCAAA,iDAAA,aAAA,eAAA,oDAAA;;KAGU,wBAAwB;cAYvB,8BAAc,8BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYb,WAAC,OAAO,0BAA0B;kCAiB9C;cAEW,kCAAkB,0BAAA,oBAAA,4BAAA;;8BAM7B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,0BAAA,oBAAA,4BAAA;;8BAe3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -1,5 +1,6 @@
1
- import { useOptionalFormContext, useOptionalFormField } from "../form/context.js";
2
1
  import { provideField, useFieldContext } from "./context.js";
2
+ import { carriesOwnAnatomy } from "../../runtime/as-child.js";
3
+ import { useOptionalFormContext, useOptionalFormField } from "../form/context.js";
3
4
  import { useField } from "./use-field.js";
4
5
  import { Comment, Text, cloneVNode, defineComponent, h } from "vue";
5
6
  //#region src/components/field/field.ts
@@ -22,6 +23,10 @@ const XhFieldRoot = defineComponent({
22
23
  type: Boolean,
23
24
  default: void 0
24
25
  },
26
+ readOnly: {
27
+ type: Boolean,
28
+ default: void 0
29
+ },
25
30
  controlId: {
26
31
  type: String,
27
32
  default: void 0
@@ -40,6 +45,9 @@ const XhFieldRoot = defineComponent({
40
45
  get disabled() {
41
46
  return props.disabled ?? (form && handle ? form.api.value.disabled : void 0);
42
47
  },
48
+ get readOnly() {
49
+ return props.readOnly ?? (form && handle ? form.api.value.readOnly : void 0);
50
+ },
43
51
  get controlId() {
44
52
  return props.controlId;
45
53
  }
@@ -55,16 +63,35 @@ const XhFieldLabel = defineComponent({
55
63
  return () => h("label", ctx.api.value.getLabelProps(), slots.default?.());
56
64
  }
57
65
  });
66
+ /** 去掉角色标记,只留接线属性(id 与 aria-*)。 */
67
+ function wiringOnly(controlProps) {
68
+ const rest = {};
69
+ for (const [key, value] of Object.entries(controlProps)) if (key !== "data-scope" && key !== "data-part") rest[key] = value;
70
+ return rest;
71
+ }
58
72
  const XhFieldControl = defineComponent({
59
73
  name: "XhFieldControl",
74
+ props: {
75
+ /**
76
+ * 把接线属性合到唯一的子节点上,缺省开。
77
+ *
78
+ * 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,
79
+ * 由封装内部调 useFieldControl 绑到真控件上。
80
+ */
81
+ asChild: {
82
+ type: Boolean,
83
+ default: true
84
+ } },
60
85
  slots: Object,
61
- setup(_, { slots }) {
86
+ setup(props, { slots }) {
62
87
  const ctx = useFieldContext();
63
88
  return () => {
64
89
  const controlProps = ctx.api.value.getControlProps();
65
90
  const children = slots.default?.(controlProps) ?? [];
66
91
  const nodes = attributable(children);
67
- return nodes.length === 1 ? cloneVNode(nodes[0], controlProps) : children;
92
+ if (!props.asChild || nodes.length !== 1) return children;
93
+ const node = nodes[0];
94
+ return cloneVNode(node, carriesOwnAnatomy(node) ? wiringOnly(controlProps) : controlProps);
68
95
  };
69
96
  }
70
97
  });
@@ -89,6 +116,6 @@ const XhFieldErrorText = defineComponent({
89
116
  }
90
117
  });
91
118
  //#endregion
92
- export { XhFieldControl, XhFieldDescription, XhFieldErrorText, XhFieldLabel, XhFieldRoot };
119
+ export { XhFieldControl, XhFieldDescription, XhFieldErrorText, XhFieldLabel, XhFieldRoot, wiringOnly };
93
120
 
94
121
  //# sourceMappingURL=field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.ts"],"sourcesContent":["import type { FieldProps } from '@xihan-ui/headless'\nimport type { SlotsType, VNode } from 'vue'\nimport { cloneVNode, Comment, defineComponent, h, Text } from 'vue'\nimport { useOptionalFormContext, useOptionalFormField } from '../form/context'\nimport { provideField, useFieldContext } from './context'\nimport { useField } from './use-field'\n\n/** 滤掉注释与纯文本节点,只留能挂属性的节点。 */\nfunction attributable(nodes: readonly VNode[]): VNode[] {\n return nodes.filter(node => node.type !== Comment && node.type !== Text)\n}\n\nexport const XhFieldRoot = defineComponent({\n name: 'XhFieldRoot',\n // 三个布尔缺省 undefined:在 XhFormFieldGroup 里没写就从表单上下文自取,写了以写的为准\n props: {\n invalid: { type: Boolean, default: undefined },\n required: { type: Boolean, default: undefined },\n disabled: { type: Boolean, default: undefined },\n // 控件节点的 id,不占用根节点自己的 DOM id\n controlId: { type: String, default: undefined },\n },\n setup(props, { slots }) {\n const form = useOptionalFormContext()\n const handle = useOptionalFormField()\n // getter 透传保住响应性:props 与表单 api 谁变都会带动 connect 重算\n const merged: FieldProps = {\n get invalid() {\n return props.invalid ?? (form && handle ? form.api.value.isFieldInvalid(handle.name()) : undefined)\n },\n get required() {\n return props.required ?? (form && handle ? form.api.value.isFieldRequired(handle.name()) : undefined)\n },\n get disabled() {\n return props.disabled ?? (form && handle ? form.api.value.disabled : undefined)\n },\n get controlId() {\n return props.controlId\n },\n }\n const ctx = useField(merged)\n provideField(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldLabel = defineComponent({\n name: 'XhFieldLabel',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => h('label', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n/** 默认插槽的载荷:控件节点该挂的那组属性,作者把它交给自己渲染的控件。 */\nexport type FieldControlSlotProps = Record<string, unknown>\n\nexport const XhFieldControl = defineComponent({\n name: 'XhFieldControl',\n slots: Object as SlotsType<{\n default?: (props: FieldControlSlotProps) => VNode[]\n }>,\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => {\n const controlProps = ctx.api.value.getControlProps() as Record<string, unknown>\n // control props 经 slot props 交给作者,控件节点由作者渲染\n const children = slots.default?.(controlProps) ?? []\n const nodes = attributable(children)\n // 单个节点直接合并属性,多个节点视为作者已用 slot props 自行接线\n return nodes.length === 1 ? cloneVNode(nodes[0]!, controlProps) : children\n }\n },\n})\n\nexport const XhFieldDescription = defineComponent({\n name: 'XhFieldDescription',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => h('p', ctx.api.value.getDescriptionProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldErrorText = defineComponent({\n name: 'XhFieldErrorText',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n const form = useOptionalFormContext()\n const handle = useOptionalFormField()\n // 节点常挂,靠 hidden 显隐;插槽没给内容时在表单里自取该字段的错误文案\n return () => {\n const kids = slots.default?.()\n const auto = (!kids || kids.length === 0) && form && handle\n ? form.api.value.getFieldError(handle.name())\n : undefined\n return h('p', ctx.api.value.getErrorTextProps() as Record<string, unknown>, kids?.length ? kids : auto)\n }\n },\n})\n"],"mappings":";;;;;;AAQA,SAAS,aAAa,OAAkC;CACtD,OAAO,MAAM,QAAO,SAAQ,KAAK,SAAS,WAAW,KAAK,SAAS,IAAI;AACzE;AAEA,MAAa,cAAc,gBAAgB;CACzC,MAAM;CAEN,OAAO;EACL,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAE9C,WAAW;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;CAChD;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,OAAO,uBAAuB;EACpC,MAAM,SAAS,qBAAqB;EAgBpC,MAAM,MAAM,SAAS;GAbnB,IAAI,UAAU;IACZ,OAAO,MAAM,YAAY,QAAQ,SAAS,KAAK,IAAI,MAAM,eAAe,OAAO,KAAK,CAAC,IAAI,KAAA;GAC3F;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,gBAAgB,OAAO,KAAK,CAAC,IAAI,KAAA;GAC7F;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,WAAW,KAAA;GACvE;GACA,IAAI,YAAY;IACd,OAAO,MAAM;GACf;EAEwB,CAAC;EAC3B,aAAa,GAAG;EAChB,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CAClG;AACF,CAAC;AAED,MAAa,eAAe,gBAAgB;CAC1C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,SAAS,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC;AAKD,MAAa,iBAAiB,gBAAgB;CAC5C,MAAM;CACN,OAAO;CAGP,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa;GACX,MAAM,eAAe,IAAI,IAAI,MAAM,gBAAgB;GAEnD,MAAM,WAAW,MAAM,UAAU,YAAY,KAAK,CAAC;GACnD,MAAM,QAAQ,aAAa,QAAQ;GAEnC,OAAO,MAAM,WAAW,IAAI,WAAW,MAAM,IAAK,YAAY,IAAI;EACpE;CACF;AACF,CAAC;AAED,MAAa,qBAAqB,gBAAgB;CAChD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,oBAAoB,GAA8B,MAAM,UAAU,CAAC;CACvG;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,MAAM,OAAO,uBAAuB;EACpC,MAAM,SAAS,qBAAqB;EAEpC,aAAa;GACX,MAAM,OAAO,MAAM,UAAU;GAC7B,MAAM,QAAQ,CAAC,QAAQ,KAAK,WAAW,MAAM,QAAQ,SACjD,KAAK,IAAI,MAAM,cAAc,OAAO,KAAK,CAAC,IAC1C,KAAA;GACJ,OAAO,EAAE,KAAK,IAAI,IAAI,MAAM,kBAAkB,GAA8B,MAAM,SAAS,OAAO,IAAI;EACxG;CACF;AACF,CAAC"}
1
+ {"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.ts"],"sourcesContent":["import type { FieldProps } from '@xihan-ui/headless'\nimport type { SlotsType, VNode } from 'vue'\nimport { cloneVNode, Comment, defineComponent, h, Text } from 'vue'\nimport { carriesOwnAnatomy } from '../../runtime/as-child'\nimport { useOptionalFormContext, useOptionalFormField } from '../form/context'\nimport { provideField, useFieldContext } from './context'\nimport { useField } from './use-field'\n\n/** 滤掉注释与纯文本节点,只留能挂属性的节点。 */\nfunction attributable(nodes: readonly VNode[]): VNode[] {\n return nodes.filter(node => node.type !== Comment && node.type !== Text)\n}\n\nexport const XhFieldRoot = defineComponent({\n name: 'XhFieldRoot',\n // 三个布尔缺省 undefined:在 XhFormFieldGroup 里没写就从表单上下文自取,写了以写的为准\n props: {\n invalid: { type: Boolean, default: undefined },\n required: { type: Boolean, default: undefined },\n disabled: { type: Boolean, default: undefined },\n readOnly: { type: Boolean, default: undefined },\n // 控件节点的 id,不占用根节点自己的 DOM id\n controlId: { type: String, default: undefined },\n },\n setup(props, { slots }) {\n const form = useOptionalFormContext()\n const handle = useOptionalFormField()\n // getter 透传保住响应性:props 与表单 api 谁变都会带动 connect 重算\n const merged: FieldProps = {\n get invalid() {\n return props.invalid ?? (form && handle ? form.api.value.isFieldInvalid(handle.name()) : undefined)\n },\n get required() {\n return props.required ?? (form && handle ? form.api.value.isFieldRequired(handle.name()) : undefined)\n },\n get disabled() {\n return props.disabled ?? (form && handle ? form.api.value.disabled : undefined)\n },\n get readOnly() {\n return props.readOnly ?? (form && handle ? form.api.value.readOnly : undefined)\n },\n get controlId() {\n return props.controlId\n },\n }\n const ctx = useField(merged)\n provideField(ctx)\n return () => h('div', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldLabel = defineComponent({\n name: 'XhFieldLabel',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => h('label', ctx.api.value.getLabelProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\n/** 默认插槽的载荷:控件节点该挂的那组属性,作者把它交给自己渲染的控件。 */\nexport type FieldControlSlotProps = Record<string, unknown>\n\n/** 去掉角色标记,只留接线属性(id 与 aria-*)。 */\nexport function wiringOnly(controlProps: Record<string, unknown>): Record<string, unknown> {\n const rest: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(controlProps)) {\n if (key !== 'data-scope' && key !== 'data-part')\n rest[key] = value\n }\n return rest\n}\n\nexport const XhFieldControl = defineComponent({\n name: 'XhFieldControl',\n props: {\n /**\n * 把接线属性合到唯一的子节点上,缺省开。\n *\n * 子节点是薄封装(根不是可聚焦元素)时关掉它:属性只经插槽载荷交出去,\n * 由封装内部调 useFieldControl 绑到真控件上。\n */\n asChild: { type: Boolean, default: true },\n },\n slots: Object as SlotsType<{\n default?: (props: FieldControlSlotProps) => VNode[]\n }>,\n setup(props, { slots }) {\n const ctx = useFieldContext()\n return () => {\n const controlProps = ctx.api.value.getControlProps() as Record<string, unknown>\n // control props 经 slot props 交给作者,控件节点由作者渲染\n const children = slots.default?.(controlProps) ?? []\n const nodes = attributable(children)\n // 关了 asChild、或不止一个节点:都视为作者已用 slot props 自行接线\n if (!props.asChild || nodes.length !== 1)\n return children\n const node = nodes[0]!\n // 单个节点合并属性;它自带角色标记时不覆盖,只落接线属性\n return cloneVNode(node, carriesOwnAnatomy(node) ? wiringOnly(controlProps) : controlProps)\n }\n },\n})\n\nexport const XhFieldDescription = defineComponent({\n name: 'XhFieldDescription',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n return () => h('p', ctx.api.value.getDescriptionProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldErrorText = defineComponent({\n name: 'XhFieldErrorText',\n setup(_, { slots }) {\n const ctx = useFieldContext()\n const form = useOptionalFormContext()\n const handle = useOptionalFormField()\n // 节点常挂,靠 hidden 显隐;插槽没给内容时在表单里自取该字段的错误文案\n return () => {\n const kids = slots.default?.()\n const auto = (!kids || kids.length === 0) && form && handle\n ? form.api.value.getFieldError(handle.name())\n : undefined\n return h('p', ctx.api.value.getErrorTextProps() as Record<string, unknown>, kids?.length ? kids : auto)\n }\n },\n})\n"],"mappings":";;;;;;;AASA,SAAS,aAAa,OAAkC;CACtD,OAAO,MAAM,QAAO,SAAQ,KAAK,SAAS,WAAW,KAAK,SAAS,IAAI;AACzE;AAEA,MAAa,cAAc,gBAAgB;CACzC,MAAM;CAEN,OAAO;EACL,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAE9C,WAAW;GAAE,MAAM;GAAQ,SAAS,KAAA;EAAU;CAChD;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,OAAO,uBAAuB;EACpC,MAAM,SAAS,qBAAqB;EAmBpC,MAAM,MAAM,SAAS;GAhBnB,IAAI,UAAU;IACZ,OAAO,MAAM,YAAY,QAAQ,SAAS,KAAK,IAAI,MAAM,eAAe,OAAO,KAAK,CAAC,IAAI,KAAA;GAC3F;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,gBAAgB,OAAO,KAAK,CAAC,IAAI,KAAA;GAC7F;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,WAAW,KAAA;GACvE;GACA,IAAI,WAAW;IACb,OAAO,MAAM,aAAa,QAAQ,SAAS,KAAK,IAAI,MAAM,WAAW,KAAA;GACvE;GACA,IAAI,YAAY;IACd,OAAO,MAAM;GACf;EAEwB,CAAC;EAC3B,aAAa,GAAG;EAChB,aAAa,EAAE,OAAO,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CAClG;AACF,CAAC;AAED,MAAa,eAAe,gBAAgB;CAC1C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,SAAS,IAAI,IAAI,MAAM,cAAc,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC;;AAMD,SAAgB,WAAW,cAAgE;CACzF,MAAM,OAAgC,CAAC;CACvC,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,YAAY,GACpD,IAAI,QAAQ,gBAAgB,QAAQ,aAClC,KAAK,OAAO;CAEhB,OAAO;AACT;AAEA,MAAa,iBAAiB,gBAAgB;CAC5C,MAAM;CACN,OAAO;;;;;;;AAOL,SAAS;EAAE,MAAM;EAAS,SAAS;CAAK,EAC1C;CACA,OAAO;CAGP,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,gBAAgB;EAC5B,aAAa;GACX,MAAM,eAAe,IAAI,IAAI,MAAM,gBAAgB;GAEnD,MAAM,WAAW,MAAM,UAAU,YAAY,KAAK,CAAC;GACnD,MAAM,QAAQ,aAAa,QAAQ;GAEnC,IAAI,CAAC,MAAM,WAAW,MAAM,WAAW,GACrC,OAAO;GACT,MAAM,OAAO,MAAM;GAEnB,OAAO,WAAW,MAAM,kBAAkB,IAAI,IAAI,WAAW,YAAY,IAAI,YAAY;EAC3F;CACF;AACF,CAAC;AAED,MAAa,qBAAqB,gBAAgB;CAChD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,oBAAoB,GAA8B,MAAM,UAAU,CAAC;CACvG;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,gBAAgB;EAC5B,MAAM,OAAO,uBAAuB;EACpC,MAAM,SAAS,qBAAqB;EAEpC,aAAa;GACX,MAAM,OAAO,MAAM,UAAU;GAC7B,MAAM,QAAQ,CAAC,QAAQ,KAAK,WAAW,MAAM,QAAQ,SACjD,KAAK,IAAI,MAAM,cAAc,OAAO,KAAK,CAAC,IAC1C,KAAA;GACJ,OAAO,EAAE,KAAK,IAAI,IAAI,MAAM,kBAAkB,GAA8B,MAAM,SAAS,OAAO,IAAI;EACxG;CACF;AACF,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { ComputedRef } from "vue";
2
+ //#region src/components/field/use-field-control.d.ts
3
+ /**
4
+ * 在薄封装内部取字段的控件接线属性(id 与 aria-*),把它们绑到真正可聚焦的那个节点上。
5
+ *
6
+ * XhFieldControl 默认把属性合到它唯一的子节点上,而子节点是组件时合的是组件根——
7
+ * 封装的根往往是个 div,label 的 for 指过去就聚不到焦(for 只对可标注元素生效),
8
+ * 而且这种失效不报错。封装内部调一次本组合式,接线就落在该落的节点上。
9
+ *
10
+ * 外层要写 `<XhFieldControl :as-child="false">`,否则属性会被合两遍。
11
+ * 不在字段里时返回空对象,封装照样能单独用。
12
+ */
13
+ declare function useFieldControl(): ComputedRef<Record<string, unknown>>;
14
+ /**
15
+ * 只取字段的「状态接线」(说明、校验、只读),不含 id 与名字。
16
+ *
17
+ * 给库自己的薄封装用:XhFieldControl 默认把整套属性合到封装根上,id 与
18
+ * aria-labelledby 落在那里是对的(label 的 for 得指得到一个真节点);但
19
+ * aria-describedby 与 aria-invalid 落在根上就等于没落——焦点进的是里面那个
20
+ * input / button,读屏只念焦点所在节点的描述,说明与错误文本因此播报不出来。
21
+ * 封装把这几条补到真控件上,两边不冲突:id 只有一份,描述有两份不影响播报。
22
+ *
23
+ * 作者自己写封装时用上面那个 useFieldControl(配 `:as-child="false"`),
24
+ * 那条路整套属性都落到真控件上。
25
+ */
26
+ declare function useFieldStateWiring(): ComputedRef<Record<string, unknown>>;
27
+ /**
28
+ * 把字段标签的 id 并进这份属性里的名字链,供库自己的薄封装包在渲染属性外面。
29
+ *
30
+ * 复合控件的可聚焦部件自带 aria-labelledby,指的是它自己的 label 部件。套进字段时
31
+ * 作者用的是字段的标签、组件那个 label 部件根本没渲染,这条引用于是指向一个不存在的
32
+ * 节点——按 accname 规则悬空 IDREF 直接跳过,而名字也回退不到 label 的 for:for 指的
33
+ * 是封装根那个 div,只对可标注元素生效。结果是焦点所在的那个控件一个名字都没有。
34
+ *
35
+ * 字段的标签排在最前,控件自己的那截(值文本这类)跟在后面,两边都念得到。
36
+ * 不在字段里时属性原样返回。
37
+ */
38
+ declare function useFieldLabelWiring(): ComputedRef<(props: Record<string, unknown>) => Record<string, unknown>>;
39
+ //#endregion
40
+ export { useFieldControl, useFieldLabelWiring, useFieldStateWiring };
41
+ //# sourceMappingURL=use-field-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-field-control.d.ts","names":[],"sources":["../../../src/components/field/use-field-control.ts"],"mappings":";;;;;;;;;;;;iBAegB,mBAAmB,YAAY;;;;;;;;;;;;;iBAqB/B,uBAAuB,YAAY;;;;;;;;;;;;iBA0BnC,uBAAuB,aAAa,OAAO,4BAA4B"}
@@ -0,0 +1,77 @@
1
+ import { useOptionalFieldContext } from "./context.js";
2
+ import { wiringOnly } from "./field.js";
3
+ import { computed } from "vue";
4
+ //#region src/components/field/use-field-control.ts
5
+ /**
6
+ * 在薄封装内部取字段的控件接线属性(id 与 aria-*),把它们绑到真正可聚焦的那个节点上。
7
+ *
8
+ * XhFieldControl 默认把属性合到它唯一的子节点上,而子节点是组件时合的是组件根——
9
+ * 封装的根往往是个 div,label 的 for 指过去就聚不到焦(for 只对可标注元素生效),
10
+ * 而且这种失效不报错。封装内部调一次本组合式,接线就落在该落的节点上。
11
+ *
12
+ * 外层要写 `<XhFieldControl :as-child="false">`,否则属性会被合两遍。
13
+ * 不在字段里时返回空对象,封装照样能单独用。
14
+ */
15
+ function useFieldControl() {
16
+ const ctx = useOptionalFieldContext();
17
+ return computed(() => {
18
+ if (!ctx) return {};
19
+ return wiringOnly(ctx.api.value.getControlProps());
20
+ });
21
+ }
22
+ /**
23
+ * 只取字段的「状态接线」(说明、校验、只读),不含 id 与名字。
24
+ *
25
+ * 给库自己的薄封装用:XhFieldControl 默认把整套属性合到封装根上,id 与
26
+ * aria-labelledby 落在那里是对的(label 的 for 得指得到一个真节点);但
27
+ * aria-describedby 与 aria-invalid 落在根上就等于没落——焦点进的是里面那个
28
+ * input / button,读屏只念焦点所在节点的描述,说明与错误文本因此播报不出来。
29
+ * 封装把这几条补到真控件上,两边不冲突:id 只有一份,描述有两份不影响播报。
30
+ *
31
+ * 作者自己写封装时用上面那个 useFieldControl(配 `:as-child="false"`),
32
+ * 那条路整套属性都落到真控件上。
33
+ */
34
+ function useFieldStateWiring() {
35
+ const ctx = useOptionalFieldContext();
36
+ return computed(() => {
37
+ if (!ctx) return {};
38
+ const control = ctx.api.value.getControlProps();
39
+ const wiring = {};
40
+ for (const key of [
41
+ "aria-describedby",
42
+ "aria-invalid",
43
+ "aria-required",
44
+ "aria-readonly"
45
+ ]) if (control[key] !== void 0) wiring[key] = control[key];
46
+ return wiring;
47
+ });
48
+ }
49
+ /**
50
+ * 把字段标签的 id 并进这份属性里的名字链,供库自己的薄封装包在渲染属性外面。
51
+ *
52
+ * 复合控件的可聚焦部件自带 aria-labelledby,指的是它自己的 label 部件。套进字段时
53
+ * 作者用的是字段的标签、组件那个 label 部件根本没渲染,这条引用于是指向一个不存在的
54
+ * 节点——按 accname 规则悬空 IDREF 直接跳过,而名字也回退不到 label 的 for:for 指的
55
+ * 是封装根那个 div,只对可标注元素生效。结果是焦点所在的那个控件一个名字都没有。
56
+ *
57
+ * 字段的标签排在最前,控件自己的那截(值文本这类)跟在后面,两边都念得到。
58
+ * 不在字段里时属性原样返回。
59
+ */
60
+ function useFieldLabelWiring() {
61
+ const ctx = useOptionalFieldContext();
62
+ return computed(() => {
63
+ const labelId = ctx?.api.value.labelId;
64
+ return (props) => {
65
+ if (!labelId) return props;
66
+ const own = props["aria-labelledby"];
67
+ return {
68
+ ...props,
69
+ "aria-labelledby": typeof own === "string" && own ? `${labelId} ${own}` : labelId
70
+ };
71
+ };
72
+ });
73
+ }
74
+ //#endregion
75
+ export { useFieldControl, useFieldLabelWiring, useFieldStateWiring };
76
+
77
+ //# sourceMappingURL=use-field-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-field-control.js","names":[],"sources":["../../../src/components/field/use-field-control.ts"],"sourcesContent":["import type { ComputedRef } from 'vue'\nimport { computed } from 'vue'\nimport { useOptionalFieldContext } from './context'\nimport { wiringOnly } from './field'\n\n/**\n * 在薄封装内部取字段的控件接线属性(id 与 aria-*),把它们绑到真正可聚焦的那个节点上。\n *\n * XhFieldControl 默认把属性合到它唯一的子节点上,而子节点是组件时合的是组件根——\n * 封装的根往往是个 div,label 的 for 指过去就聚不到焦(for 只对可标注元素生效),\n * 而且这种失效不报错。封装内部调一次本组合式,接线就落在该落的节点上。\n *\n * 外层要写 `<XhFieldControl :as-child=\"false\">`,否则属性会被合两遍。\n * 不在字段里时返回空对象,封装照样能单独用。\n */\nexport function useFieldControl(): ComputedRef<Record<string, unknown>> {\n const ctx = useOptionalFieldContext()\n return computed(() => {\n if (!ctx)\n return {}\n return wiringOnly(ctx.api.value.getControlProps() as Record<string, unknown>)\n })\n}\n\n/**\n * 只取字段的「状态接线」(说明、校验、只读),不含 id 与名字。\n *\n * 给库自己的薄封装用:XhFieldControl 默认把整套属性合到封装根上,id 与\n * aria-labelledby 落在那里是对的(label 的 for 得指得到一个真节点);但\n * aria-describedby 与 aria-invalid 落在根上就等于没落——焦点进的是里面那个\n * input / button,读屏只念焦点所在节点的描述,说明与错误文本因此播报不出来。\n * 封装把这几条补到真控件上,两边不冲突:id 只有一份,描述有两份不影响播报。\n *\n * 作者自己写封装时用上面那个 useFieldControl(配 `:as-child=\"false\"`),\n * 那条路整套属性都落到真控件上。\n */\nexport function useFieldStateWiring(): ComputedRef<Record<string, unknown>> {\n const ctx = useOptionalFieldContext()\n return computed(() => {\n if (!ctx)\n return {}\n const control = ctx.api.value.getControlProps() as Record<string, unknown>\n const wiring: Record<string, unknown> = {}\n for (const key of ['aria-describedby', 'aria-invalid', 'aria-required', 'aria-readonly']) {\n if (control[key] !== undefined)\n wiring[key] = control[key]\n }\n return wiring\n })\n}\n\n/**\n * 把字段标签的 id 并进这份属性里的名字链,供库自己的薄封装包在渲染属性外面。\n *\n * 复合控件的可聚焦部件自带 aria-labelledby,指的是它自己的 label 部件。套进字段时\n * 作者用的是字段的标签、组件那个 label 部件根本没渲染,这条引用于是指向一个不存在的\n * 节点——按 accname 规则悬空 IDREF 直接跳过,而名字也回退不到 label 的 for:for 指的\n * 是封装根那个 div,只对可标注元素生效。结果是焦点所在的那个控件一个名字都没有。\n *\n * 字段的标签排在最前,控件自己的那截(值文本这类)跟在后面,两边都念得到。\n * 不在字段里时属性原样返回。\n */\nexport function useFieldLabelWiring(): ComputedRef<(props: Record<string, unknown>) => Record<string, unknown>> {\n const ctx = useOptionalFieldContext()\n return computed(() => {\n const labelId = ctx?.api.value.labelId\n return (props: Record<string, unknown>) => {\n if (!labelId)\n return props\n const own = props['aria-labelledby']\n return {\n ...props,\n 'aria-labelledby': typeof own === 'string' && own ? `${labelId} ${own}` : labelId,\n }\n }\n })\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,SAAgB,kBAAwD;CACtE,MAAM,MAAM,wBAAwB;CACpC,OAAO,eAAe;EACpB,IAAI,CAAC,KACH,OAAO,CAAC;EACV,OAAO,WAAW,IAAI,IAAI,MAAM,gBAAgB,CAA4B;CAC9E,CAAC;AACH;;;;;;;;;;;;;AAcA,SAAgB,sBAA4D;CAC1E,MAAM,MAAM,wBAAwB;CACpC,OAAO,eAAe;EACpB,IAAI,CAAC,KACH,OAAO,CAAC;EACV,MAAM,UAAU,IAAI,IAAI,MAAM,gBAAgB;EAC9C,MAAM,SAAkC,CAAC;EACzC,KAAK,MAAM,OAAO;GAAC;GAAoB;GAAgB;GAAiB;EAAe,GACrF,IAAI,QAAQ,SAAS,KAAA,GACnB,OAAO,OAAO,QAAQ;EAE1B,OAAO;CACT,CAAC;AACH;;;;;;;;;;;;AAaA,SAAgB,sBAAgG;CAC9G,MAAM,MAAM,wBAAwB;CACpC,OAAO,eAAe;EACpB,MAAM,UAAU,KAAK,IAAI,MAAM;EAC/B,QAAQ,UAAmC;GACzC,IAAI,CAAC,SACH,OAAO;GACT,MAAM,MAAM,MAAM;GAClB,OAAO;IACL,GAAG;IACH,mBAAmB,OAAO,QAAQ,YAAY,MAAM,GAAG,QAAQ,GAAG,QAAQ;GAC5E;EACF;CACF,CAAC;AACH"}
@@ -0,0 +1,6 @@
1
+ import { FieldsetContext } from "./use-fieldset.js";
2
+ //#region src/components/fieldset/context.d.ts
3
+ declare function useFieldsetContext(): FieldsetContext;
4
+ //#endregion
5
+ export { useFieldsetContext };
6
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../../../src/components/fieldset/context.ts"],"mappings":";;iBAUgB,sBAAsB"}
@@ -0,0 +1,15 @@
1
+ import { inject, provide } from "vue";
2
+ //#region src/components/fieldset/context.ts
3
+ const KEY = Symbol.for("xh-fieldset");
4
+ function provideFieldset(ctx) {
5
+ provide(KEY, ctx);
6
+ }
7
+ function useFieldsetContext() {
8
+ const ctx = inject(KEY, null);
9
+ if (!ctx) throw new Error("[xh] Fieldset 部件必须用在 XhFieldsetRoot 内");
10
+ return ctx;
11
+ }
12
+ //#endregion
13
+ export { provideFieldset, useFieldsetContext };
14
+
15
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/fieldset/context.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport type { FieldsetContext } from './use-fieldset'\nimport { inject, provide } from 'vue'\n\nconst KEY: InjectionKey<FieldsetContext> = Symbol.for('xh-fieldset')\n\nexport function provideFieldset(ctx: FieldsetContext): void {\n provide(KEY, ctx)\n}\n\nexport function useFieldsetContext(): FieldsetContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] Fieldset 部件必须用在 XhFieldsetRoot 内')\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"}
@@ -0,0 +1,57 @@
1
+ import { PropType } from "vue";
2
+ import { FieldsetTranslations } from "@xihan-ui/headless";
3
+ //#region src/components/fieldset/fieldset.d.ts
4
+ declare const XhFieldsetRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ disabled: {
6
+ type: BooleanConstructor;
7
+ default: undefined;
8
+ };
9
+ invalid: {
10
+ type: BooleanConstructor;
11
+ default: undefined;
12
+ };
13
+ required: {
14
+ type: BooleanConstructor;
15
+ default: undefined;
16
+ };
17
+ translations: {
18
+ type: PropType<Partial<FieldsetTranslations>>;
19
+ default: undefined;
20
+ };
21
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
22
+ [key: string]: any;
23
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
+ disabled: {
25
+ type: BooleanConstructor;
26
+ default: undefined;
27
+ };
28
+ invalid: {
29
+ type: BooleanConstructor;
30
+ default: undefined;
31
+ };
32
+ required: {
33
+ type: BooleanConstructor;
34
+ default: undefined;
35
+ };
36
+ translations: {
37
+ type: PropType<Partial<FieldsetTranslations>>;
38
+ default: undefined;
39
+ };
40
+ }>> & Readonly<{}>, {
41
+ required: boolean;
42
+ invalid: boolean;
43
+ disabled: boolean;
44
+ translations: Partial<FieldsetTranslations>;
45
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
46
+ declare const XhFieldsetLegend: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
47
+ [key: string]: any;
48
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
49
+ declare const XhFieldsetHelperText: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
50
+ [key: string]: any;
51
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
52
+ declare const XhFieldsetErrorText: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
53
+ [key: string]: any;
54
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
55
+ //#endregion
56
+ export { XhFieldsetErrorText, XhFieldsetHelperText, XhFieldsetLegend, XhFieldsetRoot };
57
+ //# sourceMappingURL=fieldset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldset.d.ts","names":[],"sources":["../../../src/components/fieldset/fieldset.ts"],"mappings":";;;cAOa,8BAAc,8BAAA;;;;;;;;;;;;;;IAOS,MAAA,SAAS,QAAQ;;;;;;;;;;;;;;;;;;;IAAjB,MAAA,SAAS,QAAQ;;;;;;;;qCAQnD;cAEW,gCAAgB,wCAAA,oBAAA,4BAAA;;8BAO3B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,wCAAA,oBAAA,4BAAA;;8BAM/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,wCAAA,oBAAA,4BAAA;;8BAO9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -0,0 +1,56 @@
1
+ import { withXhConfig } from "../../config/config.js";
2
+ import { provideFieldset, useFieldsetContext } from "./context.js";
3
+ import { useFieldset } from "./use-fieldset.js";
4
+ import { defineComponent, h } from "vue";
5
+ //#region src/components/fieldset/fieldset.ts
6
+ const XhFieldsetRoot = defineComponent({
7
+ name: "XhFieldsetRoot",
8
+ props: {
9
+ disabled: {
10
+ type: Boolean,
11
+ default: void 0
12
+ },
13
+ invalid: {
14
+ type: Boolean,
15
+ default: void 0
16
+ },
17
+ required: {
18
+ type: Boolean,
19
+ default: void 0
20
+ },
21
+ translations: {
22
+ type: Object,
23
+ default: void 0
24
+ }
25
+ },
26
+ setup(props, { slots }) {
27
+ const ctx = useFieldset(withXhConfig("fieldset", props));
28
+ provideFieldset(ctx);
29
+ return () => h("fieldset", ctx.api.value.getRootProps(), slots.default?.());
30
+ }
31
+ });
32
+ const XhFieldsetLegend = defineComponent({
33
+ name: "XhFieldsetLegend",
34
+ setup(_, { slots }) {
35
+ const ctx = useFieldsetContext();
36
+ return () => h("legend", ctx.api.value.getLegendProps(), slots.default?.());
37
+ }
38
+ });
39
+ const XhFieldsetHelperText = defineComponent({
40
+ name: "XhFieldsetHelperText",
41
+ setup(_, { slots }) {
42
+ const ctx = useFieldsetContext();
43
+ return () => h("p", ctx.api.value.getHelperTextProps(), slots.default?.());
44
+ }
45
+ });
46
+ const XhFieldsetErrorText = defineComponent({
47
+ name: "XhFieldsetErrorText",
48
+ setup(_, { slots }) {
49
+ const ctx = useFieldsetContext();
50
+ return () => h("p", ctx.api.value.getErrorTextProps(), slots.default?.());
51
+ }
52
+ });
53
+ //#endregion
54
+ export { XhFieldsetErrorText, XhFieldsetHelperText, XhFieldsetLegend, XhFieldsetRoot };
55
+
56
+ //# sourceMappingURL=fieldset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldset.js","names":[],"sources":["../../../src/components/fieldset/fieldset.ts"],"sourcesContent":["import type { FieldsetProps, FieldsetTranslations } from '@xihan-ui/headless'\nimport type { PropType } from 'vue'\nimport { defineComponent, h } from 'vue'\nimport { withXhConfig } from '../../config/config'\nimport { provideFieldset, useFieldsetContext } from './context'\nimport { useFieldset } from './use-fieldset'\n\nexport const XhFieldsetRoot = defineComponent({\n name: 'XhFieldsetRoot',\n // 三个布尔缺省 undefined:缺省值的事实源在 connect,写死 false 会挡住将来从上下文取值\n props: {\n disabled: { type: Boolean, default: undefined },\n invalid: { type: Boolean, default: undefined },\n required: { type: Boolean, default: undefined },\n translations: { type: Object as PropType<Partial<FieldsetTranslations>>, default: undefined },\n },\n setup(props, { slots }) {\n const ctx = useFieldset(withXhConfig('fieldset', props) as FieldsetProps)\n provideFieldset(ctx)\n // 必须是原生 <fieldset>:整组禁用连坐组内控件是浏览器给的,换成 div 就只剩一层灰样式\n return () => h('fieldset', ctx.api.value.getRootProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldsetLegend = defineComponent({\n name: 'XhFieldsetLegend',\n setup(_, { slots }) {\n const ctx = useFieldsetContext()\n // 原生 <legend> 只有作为 <fieldset> 的首个子节点时才充当这一组的名字\n return () => h('legend', ctx.api.value.getLegendProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldsetHelperText = defineComponent({\n name: 'XhFieldsetHelperText',\n setup(_, { slots }) {\n const ctx = useFieldsetContext()\n return () => h('p', ctx.api.value.getHelperTextProps() as Record<string, unknown>, slots.default?.())\n },\n})\n\nexport const XhFieldsetErrorText = defineComponent({\n name: 'XhFieldsetErrorText',\n setup(_, { slots }) {\n const ctx = useFieldsetContext()\n // 节点常挂,靠 hidden 显隐:翻转时 role=alert 才播报得出来,卸载重挂读屏读不到\n return () => h('p', ctx.api.value.getErrorTextProps() as Record<string, unknown>, slots.default?.())\n },\n})\n"],"mappings":";;;;;AAOA,MAAa,iBAAiB,gBAAgB;CAC5C,MAAM;CAEN,OAAO;EACL,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,SAAS;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC7C,UAAU;GAAE,MAAM;GAAS,SAAS,KAAA;EAAU;EAC9C,cAAc;GAAE,MAAM;GAAmD,SAAS,KAAA;EAAU;CAC9F;CACA,MAAM,OAAO,EAAE,SAAS;EACtB,MAAM,MAAM,YAAY,aAAa,YAAY,KAAK,CAAkB;EACxE,gBAAgB,GAAG;EAEnB,aAAa,EAAE,YAAY,IAAI,IAAI,MAAM,aAAa,GAA8B,MAAM,UAAU,CAAC;CACvG;AACF,CAAC;AAED,MAAa,mBAAmB,gBAAgB;CAC9C,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,mBAAmB;EAE/B,aAAa,EAAE,UAAU,IAAI,IAAI,MAAM,eAAe,GAA8B,MAAM,UAAU,CAAC;CACvG;AACF,CAAC;AAED,MAAa,uBAAuB,gBAAgB;CAClD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,mBAAmB;EAC/B,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,mBAAmB,GAA8B,MAAM,UAAU,CAAC;CACtG;AACF,CAAC;AAED,MAAa,sBAAsB,gBAAgB;CACjD,MAAM;CACN,MAAM,GAAG,EAAE,SAAS;EAClB,MAAM,MAAM,mBAAmB;EAE/B,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,kBAAkB,GAA8B,MAAM,UAAU,CAAC;CACrG;AACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ComputedRef } from "vue";
2
+ import { FieldsetApi, FieldsetProps } from "@xihan-ui/headless";
3
+ //#region src/components/fieldset/use-fieldset.d.ts
4
+ interface FieldsetContext {
5
+ api: ComputedRef<FieldsetApi>;
6
+ }
7
+ declare function useFieldset(props: FieldsetProps): FieldsetContext;
8
+ //#endregion
9
+ export { FieldsetContext, useFieldset };
10
+ //# sourceMappingURL=use-fieldset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fieldset.d.ts","names":[],"sources":["../../../src/components/fieldset/use-fieldset.ts"],"mappings":";;;UAQiB;EACf,KAAK,YAAY;;iBAIH,YAAY,OAAO,gBAAgB"}
@@ -0,0 +1,14 @@
1
+ import { vueNormalize } from "../../runtime/normalize-props.js";
2
+ import { createVueIdGenerator } from "../../runtime/vue-id.js";
3
+ import { computed } from "vue";
4
+ import { connectFieldset } from "@xihan-ui/headless";
5
+ import { createScope } from "@xihan-ui/kernel";
6
+ //#region src/components/fieldset/use-fieldset.ts
7
+ function useFieldset(props) {
8
+ const scope = createScope(null, createVueIdGenerator());
9
+ return { api: computed(() => connectFieldset(props, scope, vueNormalize)) };
10
+ }
11
+ //#endregion
12
+ export { useFieldset };
13
+
14
+ //# sourceMappingURL=use-fieldset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fieldset.js","names":[],"sources":["../../../src/components/fieldset/use-fieldset.ts"],"sourcesContent":["import type { FieldsetApi, FieldsetProps } from '@xihan-ui/headless'\nimport type { ComputedRef } from 'vue'\nimport { connectFieldset } from '@xihan-ui/headless'\nimport { createScope } from '@xihan-ui/kernel'\nimport { computed } from 'vue'\nimport { vueNormalize } from '../../runtime/normalize-props'\nimport { createVueIdGenerator } from '../../runtime/vue-id'\n\nexport interface FieldsetContext {\n api: ComputedRef<FieldsetApi>\n}\n\n// Fieldset 无状态机,只用一份实例级 scope 派生 part id,props 变了由 computed 重算属性\nexport function useFieldset(props: FieldsetProps): FieldsetContext {\n const idGen = createVueIdGenerator()\n const scope = createScope(null, idGen)\n const api = computed(() => connectFieldset(props, scope, vueNormalize))\n return { api }\n}\n"],"mappings":";;;;;;AAaA,SAAgB,YAAY,OAAuC;CAEjE,MAAM,QAAQ,YAAY,MADZ,qBACsB,CAAC;CAErC,OAAO,EAAE,KADG,eAAe,gBAAgB,OAAO,OAAO,YAAY,CAC1D,EAAE;AACf"}
@@ -1,7 +1,7 @@
1
1
  import { inject, provide } from "vue";
2
2
  //#region src/components/file-upload/context.ts
3
- const KEY = Symbol("xh-file-upload");
4
- const ITEM_KEY = Symbol("xh-file-upload-item");
3
+ const KEY = Symbol.for("xh-file-upload");
4
+ const ITEM_KEY = Symbol.for("xh-file-upload-item");
5
5
  function provideFileUpload(ctx) {
6
6
  provide(KEY, ctx);
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/file-upload/context.ts"],"sourcesContent":["import type { FileUploadItemProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { FileUploadContext } from './use-file-upload'\nimport { inject, provide } from 'vue'\n\n/** 条目自报的文件,供 item-name / item-size-text / 删除按钮这些子部件复用同一份声明。 */\nexport interface FileUploadItemContext {\n item: ComputedRef<FileUploadItemProps>\n}\n\nconst KEY: InjectionKey<FileUploadContext> = Symbol('xh-file-upload')\nconst ITEM_KEY: InjectionKey<FileUploadItemContext> = Symbol('xh-file-upload-item')\n\nexport function provideFileUpload(ctx: FileUploadContext): void {\n provide(KEY, ctx)\n}\n\nexport function useFileUploadContext(): FileUploadContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 部件必须用在 XhFileUploadRoot 内')\n return ctx\n}\n\nexport function provideFileUploadItem(ctx: FileUploadItemContext): void {\n provide(ITEM_KEY, ctx)\n}\n\nexport function useFileUploadItemContext(): FileUploadItemContext {\n const ctx = inject(ITEM_KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 条目子部件必须用在 XhFileUploadItem 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAuC,OAAO,gBAAgB;AACpE,MAAM,WAAgD,OAAO,qBAAqB;AAElF,SAAgB,kBAAkB,KAA8B;CAC9D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,uBAA0C;CACxD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,2CAA2C;CAC7D,OAAO;AACT;AAEA,SAAgB,sBAAsB,KAAkC;CACtE,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,2BAAkD;CAChE,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,8CAA8C;CAChE,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/file-upload/context.ts"],"sourcesContent":["import type { FileUploadItemProps } from '@xihan-ui/headless'\nimport type { ComputedRef, InjectionKey } from 'vue'\nimport type { FileUploadContext } from './use-file-upload'\nimport { inject, provide } from 'vue'\n\n/** 条目自报的文件,供 item-name / item-size-text / 删除按钮这些子部件复用同一份声明。 */\nexport interface FileUploadItemContext {\n item: ComputedRef<FileUploadItemProps>\n}\n\nconst KEY: InjectionKey<FileUploadContext> = Symbol.for('xh-file-upload')\nconst ITEM_KEY: InjectionKey<FileUploadItemContext> = Symbol.for('xh-file-upload-item')\n\nexport function provideFileUpload(ctx: FileUploadContext): void {\n provide(KEY, ctx)\n}\n\nexport function useFileUploadContext(): FileUploadContext {\n const ctx = inject(KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 部件必须用在 XhFileUploadRoot 内')\n return ctx\n}\n\nexport function provideFileUploadItem(ctx: FileUploadItemContext): void {\n provide(ITEM_KEY, ctx)\n}\n\nexport function useFileUploadItemContext(): FileUploadItemContext {\n const ctx = inject(ITEM_KEY, null)\n if (!ctx)\n throw new Error('[xh] FileUpload 条目子部件必须用在 XhFileUploadItem 内')\n return ctx\n}\n"],"mappings":";;AAUA,MAAM,MAAuC,OAAO,IAAI,gBAAgB;AACxE,MAAM,WAAgD,OAAO,IAAI,qBAAqB;AAEtF,SAAgB,kBAAkB,KAA8B;CAC9D,QAAQ,KAAK,GAAG;AAClB;AAEA,SAAgB,uBAA0C;CACxD,MAAM,MAAM,OAAO,KAAK,IAAI;CAC5B,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,2CAA2C;CAC7D,OAAO;AACT;AAEA,SAAgB,sBAAsB,KAAkC;CACtE,QAAQ,UAAU,GAAG;AACvB;AAEA,SAAgB,2BAAkD;CAChE,MAAM,MAAM,OAAO,UAAU,IAAI;CACjC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,8CAA8C;CAChE,OAAO;AACT"}
@@ -4,7 +4,7 @@ import { FileUploadApi, FileUploadFile, FileUploadRemoteFile, FileUploadSchema,
4
4
  //#region src/components/file-upload/file-upload.d.ts
5
5
  type FileUploadProps = FileUploadSchema['props'];
6
6
  /** 默认插槽的载荷:文件清单与传输快照、投放区与数量状态,与增删清空、开传、拉起选择器等命令。 */
7
- type FileUploadRootSlotProps = Pick<FileUploadApi, 'acceptedFiles' | 'remoteFiles' | 'allFiles' | 'uploadOf' | 'startUpload' | 'dragging' | 'empty' | 'disabled' | 'maxFiles' | 'getFileSizeText' | 'setFiles' | 'addFiles' | 'deleteFile' | 'clearFiles' | 'openFilePicker'>;
7
+ type FileUploadRootSlotProps = Pick<FileUploadApi, 'acceptedFiles' | 'remoteFiles' | 'allFiles' | 'uploadOf' | 'startUpload' | 'dragging' | 'empty' | 'disabled' | 'maxFiles' | 'getFileSizeText' | 'setFiles' | 'addFiles' | 'deleteFile' | 'clear' | 'openFilePicker'>;
8
8
  declare const XhFileUploadRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
9
9
  files: {
10
10
  type: PropType<File[]>;
@@ -172,9 +172,17 @@ declare const XhFileUploadLabel: import("vue").DefineComponent<{}, () => VNode<i
172
172
  declare const XhFileUploadDropzone: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
173
173
  [key: string]: any;
174
174
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
175
- declare const XhFileUploadTrigger: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
175
+ declare const XhFileUploadTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
176
+ /** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
177
+ asChild: BooleanConstructor;
178
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
176
179
  [key: string]: any;
177
- }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
180
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
181
+ /** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
182
+ asChild: BooleanConstructor;
183
+ }>> & Readonly<{}>, {
184
+ asChild: boolean;
185
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
178
186
  declare const XhFileUploadHiddenInput: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
179
187
  [key: string]: any;
180
188
  }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.d.ts","names":[],"sources":["../../../src/components/file-upload/file-upload.ts"],"mappings":";;;;KAQK,kBAAkB;;KAGX,0BAA0B,KACpC;cAkBW,gCAAgB,8BAAA;;IAKD,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACV,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IAClB,MAAA,SAAS;;;;;;;;IAEF,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,MAAA;;;;IACK,MAAA,SAAS,QAAQ;;;;;;EAItB,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;EACT,gBAAA,UAAA,UAAU;EACV,gBAAA,UAAA,UAAU;EACF,wBAAA,UAAA,UAAU;EACb,uBAAA,QAAA,UAAU;EACX,oBAAA,UAAA,UAAU;EACb,iBAAA,UAAA,UAAU;;;IA3Bb,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACV,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IAClB,MAAA,SAAS;;;;;;;;IAEF,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,MAAA;;;;IACK,MAAA,SAAS,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcvC,WAAC,OAAO,4BAA4B;kCAmChD;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAO5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAM/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,0BAAA,oBAAA,4BAAA;;8BAM9B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAMlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAMhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,8BAAA;;;IAID,MAAA,SAAS;;;;;IAEE,MAAA;;;;;;;;IAFX,MAAA,SAAS;;;;;IAEE,MAAA;;;;;;qCAqBrC;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAY/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAYnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAOlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAWxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAMnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
1
+ {"version":3,"file":"file-upload.d.ts","names":[],"sources":["../../../src/components/file-upload/file-upload.ts"],"mappings":";;;;KASK,kBAAkB;;KAGX,0BAA0B,KACpC;cAkBW,gCAAgB,8BAAA;;IAKD,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACV,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IAClB,MAAA,SAAS;;;;;;;;IAEF,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,MAAA;;;;IACK,MAAA,SAAS,QAAQ;;;;;;EAItB,iBAAA,UAAA,UAAU;EACZ,iBAAA,QAAA,UAAU;EACT,gBAAA,UAAA,UAAU;EACV,gBAAA,UAAA,UAAU;EACF,wBAAA,UAAA,UAAU;EACb,uBAAA,QAAA,UAAU;EACX,oBAAA,UAAA,UAAU;EACb,iBAAA,UAAA,UAAU;;;IA3Bb,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IACV,MAAA,SAAS;;;;IACF,MAAA,SAAS;;;;IAClB,MAAA,SAAS;;;;;;;;IAEF,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IASR,MAAA;;;;IACK,MAAA,SAAS,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcvC,WAAC,OAAO,4BAA4B;kCAmChD;cAEW,iCAAiB,0BAAA,oBAAA,4BAAA;;8BAO5B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAM/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,mCAAmB,8BAAA;;;;;;;;;;qCAoB9B;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAMlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,qCAAqB,0BAAA,oBAAA,4BAAA;;8BAMhC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,gCAAgB,8BAAA;;;IAID,MAAA,SAAS;;;;;IAEE,MAAA;;;;;;;;IAFX,MAAA,SAAS;;;;;IAEE,MAAA;;;;;;qCAqBrC;cAEW,oCAAoB,0BAAA,oBAAA,4BAAA;;8BAY/B,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAYnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,uCAAuB,0BAAA,oBAAA,4BAAA;;8BAOlC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,6CAA6B,0BAAA,oBAAA,4BAAA;;8BAWxC,qCAAA,iDAAA,aAAA,eAAA,oDAAA;cAEW,wCAAwB,0BAAA,oBAAA,4BAAA;;8BAMnC,qCAAA,iDAAA,aAAA,eAAA,oDAAA"}
@@ -1,4 +1,5 @@
1
1
  import { withXhConfig } from "../../config/config.js";
2
+ import { mergeIntoChild } from "../../runtime/as-child.js";
2
3
  import { provideFileUpload, provideFileUploadItem, useFileUploadContext, useFileUploadItemContext } from "./context.js";
3
4
  import { useFileUpload } from "./use-file-upload.js";
4
5
  import { computed, defineComponent, h } from "vue";
@@ -113,7 +114,7 @@ const XhFileUploadRoot = defineComponent({
113
114
  setFiles: ctx.api.value.setFiles,
114
115
  addFiles: ctx.api.value.addFiles,
115
116
  deleteFile: ctx.api.value.deleteFile,
116
- clearFiles: ctx.api.value.clearFiles,
117
+ clear: ctx.api.value.clear,
117
118
  openFilePicker: ctx.api.value.openFilePicker
118
119
  }));
119
120
  }
@@ -134,9 +135,20 @@ const XhFileUploadDropzone = defineComponent({
134
135
  });
135
136
  const XhFileUploadTrigger = defineComponent({
136
137
  name: "XhFileUploadTrigger",
137
- setup(_, { slots }) {
138
+ props: {
139
+ /** 借用作者的子节点当触发器,不再渲染自己的包裹元素;子节点须恰好一个。 */
140
+ asChild: Boolean },
141
+ setup(props, { slots }) {
138
142
  const ctx = useFileUploadContext();
139
- return () => h("button", ctx.api.value.getTriggerProps(), slots.default?.());
143
+ return () => {
144
+ const attrs = ctx.api.value.getTriggerProps();
145
+ const children = slots.default?.();
146
+ if (props.asChild) {
147
+ const merged = mergeIntoChild(children, attrs, "file-upload");
148
+ if (merged) return merged;
149
+ }
150
+ return h("button", attrs, children);
151
+ };
140
152
  }
141
153
  });
142
154
  const XhFileUploadHiddenInput = defineComponent({