@soybeanjs/ui 0.16.0 → 0.18.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 (412) hide show
  1. package/README.md +27 -5
  2. package/README.zh-CN.md +27 -5
  3. package/dist/_virtual/_rolldown/runtime.js +1 -0
  4. package/dist/components/accordion/accordion.js +1 -1
  5. package/dist/components/accordion/accordion.vue.d.ts +1 -1
  6. package/dist/components/accordion/index.d.ts +1 -2
  7. package/dist/components/accordion/types.d.ts +17 -1
  8. package/dist/components/affix/affix.js +1 -1
  9. package/dist/components/affix/index.d.ts +2 -1
  10. package/dist/components/affix/types.d.ts +10 -1
  11. package/dist/components/alert/alert.js +1 -1
  12. package/dist/components/alert/index.d.ts +1 -2
  13. package/dist/components/alert/types.d.ts +25 -1
  14. package/dist/components/anchor/anchor.js +1 -1
  15. package/dist/components/anchor/anchor.vue.d.ts +1 -1
  16. package/dist/components/anchor/index.d.ts +2 -3
  17. package/dist/components/anchor/types.d.ts +30 -3
  18. package/dist/components/autocomplete/autocomplete.js +1 -1
  19. package/dist/components/autocomplete/autocomplete.vue.d.ts +2 -1
  20. package/dist/components/autocomplete/index.d.ts +2 -3
  21. package/dist/components/autocomplete/types.d.ts +18 -4
  22. package/dist/components/avatar/avatar.js +1 -1
  23. package/dist/components/avatar/avatar.vue.d.ts +2 -8
  24. package/dist/components/avatar/index.d.ts +1 -2
  25. package/dist/components/avatar/types.d.ts +14 -12
  26. package/dist/components/backtop/backtop.js +1 -1
  27. package/dist/components/backtop/backtop.vue.d.ts +3 -3
  28. package/dist/components/backtop/index.d.ts +2 -2
  29. package/dist/components/backtop/types.d.ts +28 -1
  30. package/dist/components/backtop/variants.js +1 -1
  31. package/dist/components/badge/badge.js +1 -1
  32. package/dist/components/badge/badge.vue.d.ts +2 -6
  33. package/dist/components/badge/index.d.ts +1 -2
  34. package/dist/components/badge/types.d.ts +21 -4
  35. package/dist/components/badge/variants.js +1 -1
  36. package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
  37. package/dist/components/bottom-sheet/index.d.ts +2 -1
  38. package/dist/components/bottom-sheet/types.d.ts +17 -1
  39. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  40. package/dist/components/breadcrumb/index.d.ts +3 -2
  41. package/dist/components/breadcrumb/types.d.ts +16 -1
  42. package/dist/components/button/button-group.js +1 -1
  43. package/dist/components/button/button-icon.js +1 -1
  44. package/dist/components/button/button-icon.vue.d.ts +1 -1
  45. package/dist/components/button/button-link.js +1 -1
  46. package/dist/components/button/button-loading.js +1 -1
  47. package/dist/components/button/button-loading.vue.d.ts +1 -1
  48. package/dist/components/button/button.js +1 -1
  49. package/dist/components/button/button.vue.d.ts +2 -2
  50. package/dist/components/button/types.d.ts +40 -3
  51. package/dist/components/calendar/calendar.js +1 -1
  52. package/dist/components/calendar/index.d.ts +1 -2
  53. package/dist/components/calendar/types.d.ts +20 -1
  54. package/dist/components/card/card-collapsible-trigger.js +1 -1
  55. package/dist/components/card/card-collapsible-trigger.vue.d.ts +1 -1
  56. package/dist/components/card/card.js +1 -1
  57. package/dist/components/card/index.d.ts +1 -2
  58. package/dist/components/card/types.d.ts +11 -1
  59. package/dist/components/carousel/carousel.js +1 -1
  60. package/dist/components/carousel/carousel.vue.d.ts +16 -19
  61. package/dist/components/carousel/index.d.ts +2 -7
  62. package/dist/components/carousel/index.js +1 -1
  63. package/dist/components/carousel/types.d.ts +32 -4
  64. package/dist/components/carousel/variants.js +1 -1
  65. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  66. package/dist/components/checkbox/checkbox-card.js +1 -1
  67. package/dist/components/checkbox/checkbox-group.js +1 -1
  68. package/dist/components/checkbox/checkbox.js +1 -1
  69. package/dist/components/checkbox/index.d.ts +2 -1
  70. package/dist/components/checkbox/types.d.ts +80 -1
  71. package/dist/components/clipboard/clipboard.js +1 -1
  72. package/dist/components/clipboard/clipboard.vue.d.ts +2 -2
  73. package/dist/components/clipboard/index.d.ts +2 -1
  74. package/dist/components/clipboard/types.d.ts +22 -1
  75. package/dist/components/collapsible/collapsible.js +1 -1
  76. package/dist/components/collapsible/index.d.ts +3 -2
  77. package/dist/components/collapsible/types.d.ts +13 -1
  78. package/dist/components/color-area/color-area.js +1 -1
  79. package/dist/components/color-area/color-area.vue.d.ts +2 -2
  80. package/dist/components/color-area/index.d.ts +1 -2
  81. package/dist/components/color-area/types.d.ts +23 -1
  82. package/dist/components/color-field/color-field.js +1 -1
  83. package/dist/components/color-field/index.d.ts +1 -2
  84. package/dist/components/color-field/types.d.ts +20 -1
  85. package/dist/components/color-picker/color-picker.js +1 -1
  86. package/dist/components/color-picker/color-picker.vue.d.ts +8 -8
  87. package/dist/components/color-picker/index.d.ts +2 -1
  88. package/dist/components/color-picker/types.d.ts +96 -3
  89. package/dist/components/color-slider/color-slider.js +1 -1
  90. package/dist/components/color-slider/color-slider.vue.d.ts +3 -3
  91. package/dist/components/color-slider/index.d.ts +1 -2
  92. package/dist/components/color-slider/types.d.ts +25 -1
  93. package/dist/components/color-swatch/color-swatch.js +1 -1
  94. package/dist/components/color-swatch/index.d.ts +2 -4
  95. package/dist/components/color-swatch/types.d.ts +22 -1
  96. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  97. package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +2 -2
  98. package/dist/components/color-swatch-picker/index.d.ts +1 -2
  99. package/dist/components/color-swatch-picker/types.d.ts +38 -1
  100. package/dist/components/combobox/combobox.js +1 -1
  101. package/dist/components/combobox/index.d.ts +1 -2
  102. package/dist/components/combobox/types.d.ts +19 -1
  103. package/dist/components/command/command.js +1 -1
  104. package/dist/components/command/command.vue.d.ts +4 -3
  105. package/dist/components/command/index.d.ts +2 -3
  106. package/dist/components/command/types.d.ts +18 -4
  107. package/dist/components/config-provider/config-provider.js +1 -1
  108. package/dist/components/config-provider/config-provider.vue.d.ts +6 -9
  109. package/dist/components/config-provider/index.d.ts +2 -1
  110. package/dist/components/config-provider/types.d.ts +22 -17
  111. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  112. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +1 -1
  113. package/dist/components/context-menu/context-menu-radio.js +1 -1
  114. package/dist/components/context-menu/context-menu-radio.vue.d.ts +1 -1
  115. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  116. package/dist/components/context-menu/context-menu.js +1 -1
  117. package/dist/components/context-menu/context-menu.vue.d.ts +1 -1
  118. package/dist/components/context-menu/index.d.ts +5 -4
  119. package/dist/components/context-menu/index.js +1 -1
  120. package/dist/components/context-menu/types.d.ts +35 -1
  121. package/dist/components/date-field/date-field.js +1 -1
  122. package/dist/components/date-field/index.d.ts +1 -2
  123. package/dist/components/date-field/types.d.ts +16 -1
  124. package/dist/components/date-picker/date-picker.js +1 -1
  125. package/dist/components/date-picker/date-picker.vue.d.ts +3 -1
  126. package/dist/components/date-picker/index.d.ts +1 -2
  127. package/dist/components/date-picker/types.d.ts +23 -15
  128. package/dist/components/date-picker/variants.js +1 -1
  129. package/dist/components/date-range-field/date-range-field.js +1 -1
  130. package/dist/components/date-range-field/index.d.ts +1 -2
  131. package/dist/components/date-range-field/types.d.ts +47 -2
  132. package/dist/components/date-range-picker/date-range-picker.js +1 -1
  133. package/dist/components/date-range-picker/index.d.ts +1 -2
  134. package/dist/components/date-range-picker/types.d.ts +36 -2
  135. package/dist/components/dialog/dialog-provider.js +1 -1
  136. package/dist/components/dialog/dialog.js +1 -1
  137. package/dist/components/dialog/dialog.vue.d.ts +4 -4
  138. package/dist/components/dialog/index.d.ts +2 -1
  139. package/dist/components/dialog/index.js +1 -1
  140. package/dist/components/dialog/types.d.ts +17 -1
  141. package/dist/components/drawer/drawer.js +1 -1
  142. package/dist/components/drawer/drawer.vue.d.ts +4 -4
  143. package/dist/components/drawer/types.d.ts +13 -1
  144. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  145. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +1 -1
  146. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  147. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +1 -1
  148. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  149. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  150. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +1 -1
  151. package/dist/components/dropdown-menu/index.d.ts +2 -1
  152. package/dist/components/dropdown-menu/types.d.ts +35 -1
  153. package/dist/components/editable/editable.js +1 -1
  154. package/dist/components/editable/index.d.ts +2 -3
  155. package/dist/components/editable/types.d.ts +42 -2
  156. package/dist/components/empty/empty.js +1 -1
  157. package/dist/components/empty/empty.vue.d.ts +2 -8
  158. package/dist/components/empty/index.d.ts +2 -4
  159. package/dist/components/empty/types.d.ts +22 -14
  160. package/dist/components/empty/variants.js +1 -1
  161. package/dist/components/form/form-field-array.js +1 -0
  162. package/dist/components/form/form-field-base.js +1 -1
  163. package/dist/components/form/form-field-base.vue.d.ts +3 -16
  164. package/dist/components/form/form-field.js +1 -0
  165. package/dist/components/form/form.js +1 -1
  166. package/dist/components/form/form.vue.d.ts +2 -2
  167. package/dist/components/form/index.d.ts +2 -3
  168. package/dist/components/form/types.d.ts +36 -45
  169. package/dist/components/form/use-form.d.ts +3 -40
  170. package/dist/components/form/use-form.js +1 -1
  171. package/dist/components/form/variants.js +1 -1
  172. package/dist/components/hover-card/hover-card.js +1 -1
  173. package/dist/components/hover-card/index.d.ts +1 -2
  174. package/dist/components/hover-card/types.d.ts +35 -1
  175. package/dist/components/icon/types.d.ts +7 -1
  176. package/dist/components/input/index.d.ts +4 -3
  177. package/dist/components/input/index.js +1 -1
  178. package/dist/components/input/input.js +1 -1
  179. package/dist/components/input/input.vue.d.ts +2 -7
  180. package/dist/components/input/types.d.ts +18 -15
  181. package/dist/components/input/variants.js +1 -1
  182. package/dist/components/input-number/index.d.ts +2 -1
  183. package/dist/components/input-number/input-number.js +1 -1
  184. package/dist/components/input-number/types.d.ts +26 -1
  185. package/dist/components/input-otp/index.d.ts +1 -2
  186. package/dist/components/input-otp/index.js +1 -1
  187. package/dist/components/input-otp/input-otp.js +1 -1
  188. package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
  189. package/dist/components/input-otp/types.d.ts +19 -1
  190. package/dist/components/kbd/index.d.ts +4 -2
  191. package/dist/components/kbd/kbd.js +1 -1
  192. package/dist/components/kbd/types.d.ts +18 -2
  193. package/dist/components/label/label.js +1 -1
  194. package/dist/components/label/types.d.ts +11 -1
  195. package/dist/components/layout/index.d.ts +2 -1
  196. package/dist/components/layout/index.js +1 -1
  197. package/dist/components/layout/layout-classic.js +1 -1
  198. package/dist/components/layout/layout.js +1 -1
  199. package/dist/components/layout/types.d.ts +38 -1
  200. package/dist/components/link/index.d.ts +4 -2
  201. package/dist/components/link/link.js +1 -1
  202. package/dist/components/link/types.d.ts +8 -1
  203. package/dist/components/list/index.d.ts +3 -3
  204. package/dist/components/list/list-item.js +1 -1
  205. package/dist/components/list/list.js +1 -1
  206. package/dist/components/list/types.d.ts +32 -1
  207. package/dist/components/menu/context.js +1 -1
  208. package/dist/components/menu/index.d.ts +10 -2
  209. package/dist/components/menu/index.js +1 -1
  210. package/dist/components/menu/types.d.ts +14 -1
  211. package/dist/components/menubar/index.d.ts +2 -1
  212. package/dist/components/menubar/menubar.js +1 -1
  213. package/dist/components/menubar/menubar.vue.d.ts +1 -1
  214. package/dist/components/menubar/types.d.ts +20 -1
  215. package/dist/components/month-picker/index.d.ts +1 -2
  216. package/dist/components/month-picker/month-picker.js +1 -1
  217. package/dist/components/month-picker/types.d.ts +44 -2
  218. package/dist/components/month-range-picker/index.d.ts +1 -2
  219. package/dist/components/month-range-picker/month-range-picker.js +1 -1
  220. package/dist/components/month-range-picker/types.d.ts +44 -2
  221. package/dist/components/navigation-menu/index.d.ts +1 -2
  222. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  223. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  224. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  225. package/dist/components/navigation-menu/types.d.ts +85 -2
  226. package/dist/components/page-tabs/index.d.ts +2 -1
  227. package/dist/components/page-tabs/page-tabs.js +1 -1
  228. package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
  229. package/dist/components/page-tabs/types.d.ts +79 -3
  230. package/dist/components/pagination/index.d.ts +1 -2
  231. package/dist/components/pagination/pagination.js +1 -1
  232. package/dist/components/pagination/types.d.ts +18 -8
  233. package/dist/components/password/password.js +1 -1
  234. package/dist/components/password/types.d.ts +20 -1
  235. package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
  236. package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
  237. package/dist/components/popconfirm/popconfirm.js +1 -1
  238. package/dist/components/popconfirm/types.d.ts +143 -4
  239. package/dist/components/popover/index.d.ts +1 -2
  240. package/dist/components/popover/popover.js +1 -1
  241. package/dist/components/popover/types.d.ts +39 -2
  242. package/dist/components/progress/index.d.ts +6 -6
  243. package/dist/components/progress/progress-circle.js +1 -1
  244. package/dist/components/progress/progress-provider.js +1 -1
  245. package/dist/components/progress/progress.js +1 -1
  246. package/dist/components/progress/types.d.ts +43 -1
  247. package/dist/components/radio-group/index.d.ts +2 -3
  248. package/dist/components/radio-group/radio-card-group.js +1 -1
  249. package/dist/components/radio-group/radio-card-group.vue.d.ts +1 -1
  250. package/dist/components/radio-group/radio-card.js +1 -1
  251. package/dist/components/radio-group/radio-group.js +1 -1
  252. package/dist/components/radio-group/radio-group.vue.d.ts +1 -1
  253. package/dist/components/radio-group/radio.js +1 -1
  254. package/dist/components/radio-group/types.d.ts +76 -1
  255. package/dist/components/range-calendar/index.d.ts +1 -2
  256. package/dist/components/range-calendar/range-calendar.js +1 -1
  257. package/dist/components/range-calendar/types.d.ts +127 -1
  258. package/dist/components/scroll-area/index.d.ts +1 -2
  259. package/dist/components/scroll-area/scroll-area.js +1 -1
  260. package/dist/components/scroll-area/types.d.ts +29 -1
  261. package/dist/components/segment/index.d.ts +2 -1
  262. package/dist/components/segment/segment.js +1 -1
  263. package/dist/components/segment/types.d.ts +26 -1
  264. package/dist/components/select/index.d.ts +2 -3
  265. package/dist/components/select/select.js +1 -1
  266. package/dist/components/select/select.vue.d.ts +1 -1
  267. package/dist/components/select/types.d.ts +18 -3
  268. package/dist/components/separator/index.d.ts +1 -2
  269. package/dist/components/separator/separator.js +1 -1
  270. package/dist/components/separator/types.d.ts +26 -1
  271. package/dist/components/skeleton/skeleton.js +1 -1
  272. package/dist/components/skeleton/types.d.ts +14 -1
  273. package/dist/components/slider/index.d.ts +1 -2
  274. package/dist/components/slider/slider.js +1 -1
  275. package/dist/components/slider/types.d.ts +29 -1
  276. package/dist/components/spinner/spinner.js +1 -1
  277. package/dist/components/spinner/types.d.ts +16 -1
  278. package/dist/components/splitter/index.d.ts +2 -3
  279. package/dist/components/splitter/splitter-group.js +1 -1
  280. package/dist/components/splitter/splitter-panel.js +1 -1
  281. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  282. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  283. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +2 -2
  284. package/dist/components/splitter/types.d.ts +43 -2
  285. package/dist/components/stepper/index.d.ts +1 -2
  286. package/dist/components/stepper/stepper.js +1 -1
  287. package/dist/components/stepper/types.d.ts +56 -1
  288. package/dist/components/switch/index.d.ts +1 -2
  289. package/dist/components/switch/switch.js +1 -1
  290. package/dist/components/switch/switch.vue.d.ts +4 -4
  291. package/dist/components/switch/types.d.ts +29 -1
  292. package/dist/components/table/hooks.js +1 -1
  293. package/dist/components/table/index.d.ts +2 -1
  294. package/dist/components/table/index.js +1 -1
  295. package/dist/components/table/table.js +1 -1
  296. package/dist/components/table/types.d.ts +76 -1
  297. package/dist/components/tabs/index.d.ts +2 -3
  298. package/dist/components/tabs/tabs.js +1 -1
  299. package/dist/components/tabs/types.d.ts +19 -1
  300. package/dist/components/tag/tag.js +1 -1
  301. package/dist/components/tag/types.d.ts +26 -1
  302. package/dist/components/tags-input/index.d.ts +3 -2
  303. package/dist/components/tags-input/tags-input-item-delete.js +1 -1
  304. package/dist/components/tags-input/tags-input.js +1 -1
  305. package/dist/components/tags-input/tags-input.vue.d.ts +1 -1
  306. package/dist/components/tags-input/types.d.ts +17 -1
  307. package/dist/components/textarea/index.d.ts +1 -2
  308. package/dist/components/textarea/textarea.js +1 -1
  309. package/dist/components/textarea/types.d.ts +23 -1
  310. package/dist/components/time-field/index.d.ts +1 -2
  311. package/dist/components/time-field/time-field.js +1 -1
  312. package/dist/components/time-field/types.d.ts +38 -2
  313. package/dist/components/time-picker/index.d.ts +1 -2
  314. package/dist/components/time-picker/time-picker.js +1 -1
  315. package/dist/components/time-picker/types.d.ts +35 -2
  316. package/dist/components/time-range-field/index.d.ts +1 -2
  317. package/dist/components/time-range-field/time-range-field.js +1 -1
  318. package/dist/components/time-range-field/types.d.ts +47 -2
  319. package/dist/components/time-range-picker/index.d.ts +1 -2
  320. package/dist/components/time-range-picker/time-range-picker.js +1 -1
  321. package/dist/components/time-range-picker/types.d.ts +35 -2
  322. package/dist/components/toast/index.d.ts +3 -3
  323. package/dist/components/toast/toast-provider.js +1 -1
  324. package/dist/components/toast/types.d.ts +11 -2
  325. package/dist/components/toggle/toggle.js +1 -1
  326. package/dist/components/toggle/toggle.vue.d.ts +3 -3
  327. package/dist/components/toggle/types.d.ts +20 -1
  328. package/dist/components/toggle-group/index.d.ts +1 -2
  329. package/dist/components/toggle-group/toggle-group-item.js +1 -1
  330. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +1 -1
  331. package/dist/components/toggle-group/toggle-group.js +1 -1
  332. package/dist/components/toggle-group/toggle-group.vue.d.ts +1 -1
  333. package/dist/components/toggle-group/types.d.ts +23 -1
  334. package/dist/components/toolbar/index.d.ts +3 -2
  335. package/dist/components/toolbar/toolbar.js +1 -1
  336. package/dist/components/toolbar/types.d.ts +11 -1
  337. package/dist/components/tooltip/index.d.ts +1 -2
  338. package/dist/components/tooltip/tooltip.js +1 -1
  339. package/dist/components/tooltip/types.d.ts +38 -1
  340. package/dist/components/tree/index.d.ts +3 -2
  341. package/dist/components/tree/tree-virtualizer.js +1 -1
  342. package/dist/components/tree/tree-virtualizer.vue.d.ts +2 -1
  343. package/dist/components/tree/tree.js +1 -1
  344. package/dist/components/tree/tree.vue.d.ts +2 -1
  345. package/dist/components/tree/types.d.ts +15 -1
  346. package/dist/components/tree-menu/index.d.ts +2 -1
  347. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  348. package/dist/components/tree-menu/tree-menu-option.js +1 -1
  349. package/dist/components/tree-menu/tree-menu-options.js +1 -1
  350. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
  351. package/dist/components/tree-menu/tree-menu.js +1 -1
  352. package/dist/components/tree-menu/types.d.ts +111 -6
  353. package/dist/components/virtualizer/index.d.ts +3 -2
  354. package/dist/components/virtualizer/types.d.ts +10 -1
  355. package/dist/components/virtualizer/virtualizer.js +1 -1
  356. package/dist/components/year-picker/index.d.ts +1 -2
  357. package/dist/components/year-picker/types.d.ts +44 -2
  358. package/dist/components/year-picker/year-picker.js +1 -1
  359. package/dist/components/year-range-picker/index.d.ts +1 -2
  360. package/dist/components/year-range-picker/types.d.ts +44 -2
  361. package/dist/components/year-range-picker/year-range-picker.js +1 -1
  362. package/dist/constants/components.d.ts +18 -18
  363. package/dist/constants/components.js +1 -1
  364. package/dist/index.d.ts +206 -180
  365. package/dist/index.js +1 -1
  366. package/dist/styles.css +77 -52
  367. package/dist/theme/merge.d.ts +1 -1
  368. package/dist/theme/shared.d.ts +1 -1
  369. package/package.json +14 -8
  370. package/dist/components/carousel/carousel-content.js +0 -1
  371. package/dist/components/carousel/carousel-content.vue.d.ts +0 -18
  372. package/dist/components/carousel/carousel-item.js +0 -1
  373. package/dist/components/carousel/carousel-item.vue.d.ts +0 -18
  374. package/dist/components/carousel/carousel-next.js +0 -1
  375. package/dist/components/carousel/carousel-next.vue.d.ts +0 -22
  376. package/dist/components/carousel/carousel-previous.js +0 -1
  377. package/dist/components/carousel/carousel-previous.vue.d.ts +0 -22
  378. package/dist/components/empty/variants.d.ts +0 -57
  379. package/dist/components/form/context.js +0 -1
  380. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts +0 -4
  381. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts +0 -11
  382. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts +0 -16
  383. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts +0 -9
  384. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts +0 -13
  385. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts +0 -4
  386. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts +0 -31
  387. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts +0 -67
  388. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts +0 -29
  389. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts +0 -10
  390. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts +0 -13
  391. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts +0 -11
  392. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts +0 -43
  393. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts +0 -11
  394. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts +0 -6
  395. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts +0 -20
  396. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts +0 -11
  397. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts +0 -14
  398. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts +0 -8
  399. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts +0 -4
  400. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts +0 -6
  401. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts +0 -6
  402. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts +0 -12
  403. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts +0 -7
  404. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts +0 -10
  405. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts +0 -19
  406. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts +0 -6
  407. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts +0 -11
  408. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts +0 -9
  409. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts +0 -7
  410. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts +0 -8
  411. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts +0 -9
  412. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts +0 -4
package/README.md CHANGED
@@ -35,15 +35,17 @@ SoybeanUI is built on a strict **two-layer separation** model:
35
35
 
36
36
  ### Packages
37
37
 
38
- | Package | Role | Components |
39
- | ----------------------- | --------------------------------- | ----------------------------- |
40
- | **@soybeanjs/headless** | Logic, state, a11y. Zero styles. | 50 primitives, 26 composables |
41
- | **@soybeanjs/ui** | Styled wrappers. UnoCSS + `tv()`. | 48 `S`-prefixed components |
38
+ | Package | Role | Components |
39
+ | ----------------------- | --------------------------------- | --------------------------------- |
40
+ | **@soybeanjs/headless** | Logic, state, a11y. Zero styles. | 95 component dirs, 25 composables |
41
+ | **@soybeanjs/ui** | Styled wrappers. UnoCSS + `tv()`. | 91 `S`-prefixed components |
42
42
 
43
43
  **Data flow is strictly one-way**: `headless` → `src`. The styled layer never imports from headless's internals — it injects style tokens via `provideXUi(computedUi)` which headless components read through `useUiContext()`.
44
44
 
45
45
  Some multi-slot headless components also expose `Compact` aggregators, such as `AccordionCompact` and `TableCompact`. They keep item iteration and default content/icon composition inside headless, while the UI layer stays focused on styling and prop forwarding.
46
46
 
47
+ Current Compact-style coverage also includes flows such as card, date-field, dialog, editable, hover-card, layout, navigation-menu, pagination, popover, and stepper, when those structures are stable enough to live in headless.
48
+
47
49
  ### Style Injection
48
50
 
49
51
  Every multi-slot headless component exposes a `provide{Name}Ui` function. The styled wrapper computes classes using `tailwind-variants` and injects them:
@@ -73,10 +75,12 @@ provideAccordionUi(ui); // headless reads this via useAccordionUi()
73
75
 
74
76
  ```ts
75
77
  import { AccordionRoot } from '@soybeanjs/headless'; // all components
76
- import { useControllableState } from '@soybeanjs/headless/composables'; // 26 composables
78
+ import { useControllableState } from '@soybeanjs/headless/composables'; // 25 composables
77
79
  import { transformPropsToContext } from '@soybeanjs/headless/shared'; // pure TS utils
80
+ import { createMonth } from '@soybeanjs/headless/date'; // shared date helpers
78
81
  import * as Headless from '@soybeanjs/headless/namespaced'; // namespace object
79
82
  import type { AccordionUiSlot } from '@soybeanjs/headless/accordion'; // per-component
83
+ import type { UiClass } from '@soybeanjs/headless/types'; // shared type surface
80
84
  ```
81
85
 
82
86
  **@soybeanjs/ui** exports:
@@ -87,6 +91,24 @@ import '@soybeanjs/ui/styles.css'; // pre-built UnoCSS stylesheet
87
91
  // Also: @soybeanjs/ui/nuxt · @soybeanjs/ui/resolver
88
92
  ```
89
93
 
94
+ ## 🛠 Development Workflow
95
+
96
+ If you contribute new public components, exports, or API descriptions, keep generated surfaces in sync through the official scripts instead of editing generated files by hand.
97
+
98
+ ```bash
99
+ pnpm gen:headless # sync headless component names and namespaced exports
100
+ pnpm gen:ui # sync ui component names
101
+ pnpm gen:api # regenerate docs api json and locale baseline data
102
+ pnpm gen:api:i18n # refresh api locale template data only
103
+ pnpm gen:changelog # regenerate docs changelog json and locale baseline data
104
+ pnpm translate:api:i18n -- --locale zh-CN
105
+ pnpm translate:changelog:i18n -- --locale zh-CN
106
+ ```
107
+
108
+ The docs site now renders component docs through `UsageCode`, `PlaygroundGallery`, and `ComponentApi`. Component detail pages and `/releases` also read generated changelog data from `docs/src/generated/changelog/` and `docs/src/generated/changelog-locales/`.
109
+
110
+ Public API or demo delivery changes should keep docs, playground examples, and generated API data aligned. Changelog mapping, release presentation, and changelog locale template changes should keep generated changelog data aligned as well.
111
+
90
112
  ## 📦 Installation
91
113
 
92
114
  ### Using the Styled UI Library (Recommended)
package/README.zh-CN.md CHANGED
@@ -35,15 +35,17 @@ SoybeanUI 采用严格的**双层分离**设计:
35
35
 
36
36
  ### 包结构
37
37
 
38
- | 包 | 职责 | 组件数量 |
39
- | ----------------------- | --------------------------- | ----------------------------- |
40
- | **@soybeanjs/headless** | 逻辑、状态、a11y,零样式 | 50 个原语件,26 个 composable |
41
- | **@soybeanjs/ui** | 样式包装层。UnoCSS + `tv()` | 48 个带 `S` 前缀的组件 |
38
+ | 包 | 职责 | 组件数量 |
39
+ | ----------------------- | --------------------------- | ------------------------------- |
40
+ | **@soybeanjs/headless** | 逻辑、状态、a11y,零样式 | 95 个组件目录,25 个 composable |
41
+ | **@soybeanjs/ui** | 样式包装层。UnoCSS + `tv()` | 91 个带 `S` 前缀的组件 |
42
42
 
43
43
  **数据流严格单向**:`headless` → `src`。样式层不会导入 headless 的内部实现,而是通过 `provideXUi(computedUi)` 注入样式 token,headless 组件再通过 `useUiContext()` 读取。
44
44
 
45
45
  部分多插槽 headless 组件还会暴露 `Compact` 聚合层,例如 `AccordionCompact` 和 `TableCompact`。它们把条目遍历以及默认内容 / 图标组合放在 headless 层完成,而 UI 层只负责样式和 props 转发。
46
46
 
47
+ 目前采用这类 Compact 约定式组合的能力还覆盖了 card、date-field、dialog、editable、hover-card、layout、navigation-menu、pagination、popover、stepper 等稳定结构场景。
48
+
47
49
  ### 样式注入机制
48
50
 
49
51
  每个多橪位的 headless 组件都有对应的 `provide{Name}Ui` 函数。样式层通过 `tailwind-variants` 计算类名后注入:
@@ -73,10 +75,12 @@ provideAccordionUi(ui); // headless 通过 useAccordionUi() 读取
73
75
 
74
76
  ```ts
75
77
  import { AccordionRoot } from '@soybeanjs/headless'; // 所有组件
76
- import { useControllableState } from '@soybeanjs/headless/composables'; // 26 个 composable
78
+ import { useControllableState } from '@soybeanjs/headless/composables'; // 25 个 composable
77
79
  import { transformPropsToContext } from '@soybeanjs/headless/shared'; // 纯 TS 工具
80
+ import { createMonth } from '@soybeanjs/headless/date'; // 日期工具
78
81
  import * as Headless from '@soybeanjs/headless/namespaced'; // 命名空间导入
79
82
  import type { AccordionUiSlot } from '@soybeanjs/headless/accordion'; // 单组件类型
83
+ import type { UiClass } from '@soybeanjs/headless/types'; // 共享类型导出
80
84
  ```
81
85
 
82
86
  **@soybeanjs/ui** 导出:
@@ -87,6 +91,24 @@ import '@soybeanjs/ui/styles.css'; // 预构建的 UnoCSS 样式表
87
91
  // 同时提供:@soybeanjs/ui/nuxt · @soybeanjs/ui/resolver
88
92
  ```
89
93
 
94
+ ## 🛠 开发工作流
95
+
96
+ 如果您在仓库内新增公共组件、调整导出入口或修改 API 描述,请通过官方脚本同步生成产物,而不是手动编辑生成文件。
97
+
98
+ ```bash
99
+ pnpm gen:headless # 同步 headless 组件名称与命名空间导出
100
+ pnpm gen:ui # 同步 ui 组件名称
101
+ pnpm gen:api # 重新生成 docs api json 与 locale 英文基线数据
102
+ pnpm gen:api:i18n # 仅刷新 api locale 模板数据
103
+ pnpm gen:changelog # 重新生成 docs changelog json 与 locale 英文基线数据
104
+ pnpm translate:api:i18n -- --locale zh-CN
105
+ pnpm translate:changelog:i18n -- --locale zh-CN
106
+ ```
107
+
108
+ 当前文档站默认通过 `UsageCode`、`PlaygroundGallery` 与 `ComponentApi` 渲染组件文档;组件详情页与 `/releases` 还会消费 `docs/src/generated/changelog/` 和 `docs/src/generated/changelog-locales/` 下的版本日志生成数据。
109
+
110
+ 因此,一旦公共 API 或示例交付面变化,也要同步维护 docs、playground 示例和 API 生成数据;如果调整了 changelog 映射、发布页展示或 changelog locale 模板,也要同步更新 changelog 生成数据。
111
+
90
112
  ## 📦 安装
91
113
 
92
114
  ### 使用带样式的 UI 库 (推荐)
@@ -0,0 +1 @@
1
+ var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},a=(i,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(var c=n(a),l=0,u=c.length,d;l<u;l++)d=c[l],!r.call(i,d)&&d!==o&&e(i,d,{get:(e=>a[e]).bind(null,d),enumerable:!(s=t(a,d))||s.enumerable});return i},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`));export{i as __exportAll,o as __reExport};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{accordionVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{AccordionCompact as v,provideAccordionUi as y}from"@soybeanjs/headless";import{keysOf as b}from"@soybeanjs/utils";const x=a({name:`SAccordion`,__name:`accordion`,props:{class:{},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},descriptionProps:{},collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},clearable:{type:Boolean},selectionBehavior:{}},emits:[`update:modelValue`],setup(a,{emit:x}){let S=a,C=x,w=m(),T=_(S,[`class`,`size`,`ui`]),E=g(C),D=n(()=>b(w).filter(e=>e!==`item`));return y(n(()=>e(t({size:S.size}),S.ui,{root:S.class}))),(e,t)=>(l(),r(p(v),s(p(T),f(p(E))),i({item:h(t=>[d(e.$slots,`item`,c(o(t)))]),_:2},[u(D.value,t=>({name:t,fn:h(n=>[d(e.$slots,t,c(o(n)))])}))]),1040))}});export{x as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{accordionVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{AccordionCompact as g,provideAccordionUi as _}from"@soybeanjs/headless/accordion";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{keysOf as b}from"@soybeanjs/utils";const x=a({name:`SAccordion`,__name:`accordion`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},descriptionProps:{},collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},clearable:{type:Boolean},selectionBehavior:{}},emits:[`update:modelValue`],setup(a,{emit:x}){let S=a,C=x,w=m(),T=y(S,[`class`,`size`,`ui`]),E=v(C),D=n(()=>b(w).filter(e=>e!==`item`));return _(n(()=>e(t({size:S.size}),S.ui,{root:S.class}))),(e,t)=>(l(),r(p(g),s(p(T),f(p(E))),i({item:h(t=>[d(e.$slots,`item`,c(o(t)))]),_:2},[u(D.value,t=>({name:t,fn:h(n=>[d(e.$slots,t,c(o(n)))])}))]),1040))}});export{x as default};
@@ -1,6 +1,6 @@
1
1
  import { AccordionProps, AccordionSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { AccordionOptionData } from "@soybeanjs/headless";
3
+ import { AccordionOptionData } from "@soybeanjs/headless/accordion";
4
4
 
5
5
  //#region src/components/accordion/accordion.vue.d.ts
6
6
  declare const __VLS_export: <T extends AccordionOptionData = AccordionOptionData, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -1,4 +1,3 @@
1
1
  import { AccordionEmits, AccordionProps, AccordionSlots } from "./types.js";
2
2
  import { _default } from "./accordion.vue.js";
3
- import { AccordionContentProps, AccordionHeaderProps, AccordionItemProps, AccordionOptionData, AccordionRootEmits, AccordionRootProps, AccordionTriggerProps } from "@soybeanjs/headless/accordion";
4
- export { type AccordionContentProps, type AccordionHeaderProps, type AccordionItemProps, type AccordionOptionData, type AccordionRootEmits, type AccordionRootProps, type AccordionTriggerProps };
3
+ export * from "@soybeanjs/headless/accordion";
@@ -1,16 +1,32 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { AccordionCompactEmits, AccordionCompactProps, AccordionCompactSlots, AccordionOptionData, AccordionUi, ClassValue } from "@soybeanjs/headless";
2
+ import { AccordionCompactEmits, AccordionCompactProps, AccordionCompactSlots, AccordionOptionData, AccordionUi } from "@soybeanjs/headless/accordion";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/accordion/types.d.ts
6
+ /**
7
+ * Properties for the Accordion component.
8
+ */
5
9
  interface AccordionProps<T extends AccordionOptionData = AccordionOptionData, M extends boolean = false> extends AccordionCompactProps<T, M> {
6
10
  /**
7
11
  * root class
8
12
  */
9
13
  class?: ClassValue;
14
+ /**
15
+ * Visual size of the component.
16
+ */
10
17
  size?: ThemeSize;
18
+ /**
19
+ * Per-slot class overrides for the component.
20
+ */
11
21
  ui?: Partial<AccordionUi>;
12
22
  }
23
+ /**
24
+ * Events for the Accordion component.
25
+ */
13
26
  type AccordionEmits<M extends boolean = false> = AccordionCompactEmits<M>;
27
+ /**
28
+ * Slots for the Accordion component.
29
+ */
14
30
  type AccordionSlots<T extends AccordionOptionData = AccordionOptionData, M extends boolean = false> = AccordionCompactSlots<T, M>;
15
31
  //#endregion
16
32
  export { AccordionEmits, AccordionProps, AccordionSlots };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{affixVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{AffixCompact as h,provideAffixUi as g}from"@soybeanjs/headless";const _=i({name:`SAffix`,__name:`affix`,props:{class:{},ui:{},placeholderProps:{},contentProps:{},offsetTop:{},offsetBottom:{},target:{type:[String,Function,null]}},emits:[`change`],setup(i,{emit:_}){let v=i,y=_,b=m(v,[`class`,`ui`]),x=p(y);return g(n(()=>e(t(),v.ui,{content:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(x))),{default:f(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{_ as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{affixVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{AffixCompact as h,provideAffixUi as g}from"@soybeanjs/headless/affix";const _=i({name:`SAffix`,__name:`affix`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},placeholderProps:{},contentProps:{},offsetTop:{},offsetBottom:{},target:{type:[String,Function,null]}},emits:[`change`],setup(i,{emit:_}){let v=i,y=_,b=m(v,[`class`,`ui`]),x=p(y);return g(n(()=>e(t(),v.ui,{content:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(x))),{default:f(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{_ as default};
@@ -1,2 +1,3 @@
1
1
  import { AffixEmits, AffixProps } from "./types.js";
2
- import { _default } from "./affix.vue.js";
2
+ import { _default } from "./affix.vue.js";
3
+ export * from "@soybeanjs/headless/affix";
@@ -1,14 +1,23 @@
1
- import { ClassValue } from "@soybeanjs/headless";
2
1
  import { AffixCompactEmits, AffixCompactProps, AffixUi } from "@soybeanjs/headless/affix";
2
+ import { ClassValue } from "@soybeanjs/headless/types";
3
3
 
4
4
  //#region src/components/affix/types.d.ts
5
+ /**
6
+ * Properties for the Affix component.
7
+ */
5
8
  interface AffixProps extends AffixCompactProps {
6
9
  /**
7
10
  * Additional class names to apply to the content element.
8
11
  */
9
12
  class?: ClassValue;
13
+ /**
14
+ * Per-slot class overrides for the component.
15
+ */
10
16
  ui?: Partial<AffixUi>;
11
17
  }
18
+ /**
19
+ * Events for the Affix component.
20
+ */
12
21
  type AffixEmits = AffixCompactEmits;
13
22
  //#endregion
14
23
  export { AffixEmits, AffixProps };
@@ -1 +1 @@
1
- import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{alertVariants as r}from"./variants.js";import{buttonVariants as i}from"../button/variants.js";import{computed as a,createBlock as o,createSlots as s,defineComponent as c,mergeProps as l,openBlock as u,renderList as d,renderSlot as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useOmitProps as g}from"@soybeanjs/headless/composables";import{AlertCompact as _,provideAlertUi as v}from"@soybeanjs/headless";import{keysOf as y}from"@soybeanjs/utils";const b=c({name:`SAlert`,__name:`alert`,props:{class:{},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(c,{emit:b}){let x=c,S=b,C=m(),w=g(x,[`class`,`size`,`color`,`variant`,`ui`]),T=a(()=>y(C));return v(a(()=>t(e(r({size:x.size,color:x.color,variant:x.variant}),{close:i({variant:`ghost`,color:`accent`,size:n[x.size??`md`],shape:`square`,fitContent:!0})}),x.ui,{root:x.class}))),(e,t)=>(u(),o(p(_),l(p(w),{"onUpdate:open":t[0]||=e=>S(`update:open`,e)}),s({_:2},[d(T.value,t=>({name:t,fn:h(()=>[f(e.$slots,t)])}))]),1040))}});export{b as default};
1
+ import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{alertVariants as r}from"./variants.js";import{buttonVariants as i}from"../button/variants.js";import{computed as a,createBlock as o,createSlots as s,defineComponent as c,mergeProps as l,openBlock as u,renderList as d,renderSlot as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useOmitProps as g}from"@soybeanjs/headless/composables";import{keysOf as _}from"@soybeanjs/utils";import{AlertCompact as v,provideAlertUi as y}from"@soybeanjs/headless/alert";const b=c({name:`SAlert`,__name:`alert`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(c,{emit:b}){let x=c,S=b,C=m(),w=g(x,[`class`,`size`,`color`,`variant`,`ui`]),T=a(()=>_(C));return y(a(()=>t(e(r({size:x.size,color:x.color,variant:x.variant}),{close:i({variant:`ghost`,color:`accent`,size:n[x.size??`md`],shape:`square`,fitContent:!0})}),x.ui,{root:x.class}))),(e,t)=>(u(),o(p(v),l(p(w),{"onUpdate:open":t[0]||=e=>S(`update:open`,e)}),s({_:2},[d(T.value,t=>({name:t,fn:h(()=>[f(e.$slots,t)])}))]),1040))}});export{b as default};
@@ -1,5 +1,4 @@
1
1
  import { AlertVariant } from "./variants.js";
2
2
  import { AlertEmits, AlertExtendedUi, AlertProps, AlertSlots } from "./types.js";
3
3
  import { _default } from "./alert.vue.js";
4
- import { AlertCloseProps, AlertContentProps, AlertDescriptionProps, AlertRootEmits, AlertRootProps, AlertTitleProps } from "@soybeanjs/headless/alert";
5
- export { type AlertCloseProps, type AlertContentProps, type AlertDescriptionProps, type AlertRootEmits, type AlertRootProps, type AlertTitleProps };
4
+ export * from "@soybeanjs/headless/alert";
@@ -1,21 +1,45 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import { AlertVariant } from "./variants.js";
3
- import { ClassValue } from "@soybeanjs/headless";
4
3
  import { AlertCompactEmits, AlertCompactProps, AlertCompactSlots, AlertUi } from "@soybeanjs/headless/alert";
4
+ import { ClassValue } from "@soybeanjs/headless/types";
5
5
 
6
6
  //#region src/components/alert/types.d.ts
7
+ /**
8
+ * Extended UI class overrides for the Alert component.
9
+ */
7
10
  type AlertExtendedUi = AlertUi;
11
+ /**
12
+ * Properties for the Alert component.
13
+ */
8
14
  interface AlertProps extends AlertCompactProps {
9
15
  /**
10
16
  * root class
11
17
  */
12
18
  class?: ClassValue;
19
+ /**
20
+ * Visual size of the component.
21
+ */
13
22
  size?: ThemeSize;
23
+ /**
24
+ * Theme color of the component.
25
+ */
14
26
  color?: ThemeColor;
27
+ /**
28
+ * Visual variant of the component.
29
+ */
15
30
  variant?: AlertVariant;
31
+ /**
32
+ * Per-slot class overrides for the component.
33
+ */
16
34
  ui?: Partial<AlertExtendedUi>;
17
35
  }
36
+ /**
37
+ * Events for the Alert component.
38
+ */
18
39
  type AlertEmits = AlertCompactEmits;
40
+ /**
41
+ * Slots for the Alert component.
42
+ */
19
43
  type AlertSlots = AlertCompactSlots;
20
44
  //#endregion
21
45
  export { AlertEmits, AlertExtendedUi, AlertProps, AlertSlots };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{anchorVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,toHandlers as s,unref as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{AnchorCompact as d,provideAnchorUi as f}from"@soybeanjs/headless";const p=i({name:`SAnchor`,__name:`anchor`,props:{color:{},size:{},ui:{},class:{},sticky:{type:Boolean,default:!0},items:{},linkProps:{},indicatorProps:{},titleProps:{},subProps:{},bounds:{},dir:{},getContainer:{},getCurrentAnchor:{},modelValue:{},offsetTop:{default:0},orientation:{},replace:{type:Boolean},targetOffset:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`activeChange`,`itemSelect`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`color`,`size`,`ui`,`class`,`sticky`]),_=l(h),v=n(()=>({"--soybean-anchor-offset-top":`${m.offsetTop}px`}));return f(n(()=>e(t({color:m.color,orientation:m.orientation,size:m.size,sticky:m.sticky}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{items:i.items,style:v.value},s(c(_))),null,16,[`items`,`style`]))}});export{p as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{anchorVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,toHandlers as s,unref as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{AnchorCompact as d,provideAnchorUi as f}from"@soybeanjs/headless/anchor";const p=i({name:`SAnchor`,__name:`anchor`,props:{color:{},size:{},ui:{},class:{type:[Boolean,null,String,Object,Array]},sticky:{type:Boolean,default:!0},items:{},linkProps:{},indicatorProps:{},titleProps:{},subProps:{},bounds:{},dir:{},getContainer:{},getCurrentAnchor:{},modelValue:{},offsetTop:{default:0},orientation:{},replace:{type:Boolean},targetOffset:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`activeChange`,`itemSelect`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`color`,`size`,`ui`,`class`,`sticky`]),_=l(h),v=n(()=>({"--soybean-anchor-offset-top":`${m.offsetTop}px`}));return f(n(()=>e(t({color:m.color,orientation:m.orientation,size:m.size,sticky:m.sticky}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{items:i.items,style:v.value},s(c(_))),null,16,[`items`,`style`]))}});export{p as default};
@@ -15,8 +15,8 @@ declare const __VLS_export: _$vue.DefineComponent<AnchorProps, {}, {}, {}, {}, _
15
15
  href: string;
16
16
  }) => any) | undefined;
17
17
  }>, {
18
- offsetTop: number;
19
18
  sticky: boolean;
19
+ offsetTop: number;
20
20
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
21
21
  declare const _default: typeof __VLS_export;
22
22
  //#endregion
@@ -1,4 +1,3 @@
1
- import { AnchorEmits, AnchorExtendedUi, AnchorExtraUiSlot, AnchorItemData, AnchorProps } from "./types.js";
1
+ import { AnchorEmits, AnchorExtendedUi, AnchorExtraUiSlot, AnchorProps } from "./types.js";
2
2
  import { _default } from "./anchor.vue.js";
3
- import { AnchorContainer, AnchorLinkProps, AnchorRootEmits, AnchorRootProps, AnchorUi, AnchorUiSlot as AnchorUiSlot$1 } from "@soybeanjs/headless/anchor";
4
- export { type AnchorContainer, type AnchorLinkProps, type AnchorRootEmits, type AnchorRootProps, type AnchorUi, type AnchorUiSlot$1 as AnchorUiSlot };
3
+ export * from "@soybeanjs/headless/anchor";
@@ -1,17 +1,44 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
- import { ClassValue, UiClass } from "@soybeanjs/headless";
3
- import { AnchorCompactEmits, AnchorCompactProps, AnchorItemData, AnchorUiSlot } from "@soybeanjs/headless/anchor";
2
+ import { AnchorCompactEmits, AnchorCompactProps, AnchorUiSlot } from "@soybeanjs/headless/anchor";
3
+ import { ClassValue, UiClass } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/anchor/types.d.ts
6
+ /**
7
+ * Additional UI slots for the anchor component.
8
+ */
6
9
  type AnchorExtraUiSlot = Exclude<AnchorUiSlot, 'root' | 'link'>;
10
+ /**
11
+ * Extended UI class overrides for the Anchor component.
12
+ */
7
13
  type AnchorExtendedUi = UiClass<AnchorUiSlot>;
14
+ /**
15
+ * Properties for the Anchor component.
16
+ */
8
17
  interface AnchorProps extends AnchorCompactProps {
18
+ /**
19
+ * Theme color of the component.
20
+ */
9
21
  color?: ThemeColor;
22
+ /**
23
+ * Visual size of the component.
24
+ */
10
25
  size?: ThemeSize;
26
+ /**
27
+ * Per-slot class overrides for the component.
28
+ */
11
29
  ui?: Partial<AnchorExtendedUi>;
30
+ /**
31
+ * Additional class names applied to the root element.
32
+ */
12
33
  class?: ClassValue;
34
+ /**
35
+ * Whether sticky.
36
+ */
13
37
  sticky?: boolean;
14
38
  }
39
+ /**
40
+ * Events for the Anchor component.
41
+ */
15
42
  type AnchorEmits = AnchorCompactEmits;
16
43
  //#endregion
17
- export { AnchorEmits, AnchorExtendedUi, AnchorExtraUiSlot, type AnchorItemData, AnchorProps };
44
+ export { AnchorEmits, AnchorExtendedUi, AnchorExtraUiSlot, AnchorProps };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{autocompleteVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{AutocompleteCompact as y,provideAutocompleteUi as b}from"@soybeanjs/headless";import{keysOf as x}from"@soybeanjs/utils";const S=o({name:`SAutocomplete`,__name:`autocomplete`,props:{class:{},size:{},ui:{},modelValue:{default:void 0},defaultValue:{},items:{},placeholder:{},clearable:{type:Boolean,default:!1},clearLabel:{default:`Clear input`},emptyLabel:{default:`No results found.`},fuseOptions:{},anchorProps:{},inputProps:{},triggerProps:{},portalProps:{},contentProps:{},viewportProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean},openOnFocus:{type:Boolean},openOnClick:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`highlight`,`select`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`]),D=_(w),O=n(()=>x(T));return b(n(()=>e(t({size:C.size}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(y),c(m(E),{items:o.items},p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040,[`items`]))}});export{S as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{autocompleteVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{AutocompleteCompact as b,provideAutocompleteUi as x}from"@soybeanjs/headless/autocomplete";const S=o({name:`SAutocomplete`,__name:`autocomplete`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},modelValue:{default:void 0},defaultValue:{},items:{},placeholder:{},clearable:{type:Boolean,default:!1},clearLabel:{default:`Clear input`},emptyLabel:{default:`No results found.`},fuseOptions:{},anchorProps:{},inputProps:{},triggerProps:{},portalProps:{},contentProps:{},viewportProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean},openOnFocus:{type:Boolean},openOnClick:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`highlight`,`select`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`]),D=_(w),O=n(()=>y(T));return x(n(()=>e(t({size:C.size}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(b),c(m(E),{items:o.items},p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040,[`items`]))}});export{S as default};
@@ -1,5 +1,6 @@
1
- import { AutocompleteProps, AutocompleteSingleOptionData, AutocompleteSlots } from "./types.js";
1
+ import { AutocompleteProps, AutocompleteSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
+ import { AutocompleteSingleOptionData } from "@soybeanjs/headless/autocomplete";
3
4
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
5
 
5
6
  //#region src/components/autocomplete/autocomplete.vue.d.ts
@@ -1,4 +1,3 @@
1
- import { AutocompleteEmits, AutocompleteGroupOptionData, AutocompleteOptionData, AutocompleteProps, AutocompleteSearchOptionData, AutocompleteSingleOptionData as AutocompleteSingleOptionData$1, AutocompleteSlots, AutocompleteUi } from "./types.js";
1
+ import { AutocompleteEmits, AutocompleteProps, AutocompleteSlots } from "./types.js";
2
2
  import { _default } from "./autocomplete.vue.js";
3
- import { AutocompleteAnchorProps, AutocompleteContentProps, AutocompleteGroupLabelProps, AutocompleteGroupProps, AutocompleteHighlightPayload, AutocompleteInputProps, AutocompleteItemEmits, AutocompleteItemIndicatorProps, AutocompleteItemProps, AutocompletePortalProps, AutocompleteRootEmits, AutocompleteRootProps, AutocompleteSeparatorProps, AutocompleteTriggerProps, AutocompleteUi as HeadlessAutocompleteUi, AutocompleteUiSlot, AutocompleteViewportProps } from "@soybeanjs/headless/autocomplete";
4
- export { type AutocompleteAnchorProps, type AutocompleteContentProps, type AutocompleteGroupLabelProps, type AutocompleteGroupProps, type AutocompleteHighlightPayload, type AutocompleteInputProps, type AutocompleteItemEmits, type AutocompleteItemIndicatorProps, type AutocompleteItemProps, type AutocompletePortalProps, type AutocompleteRootEmits, type AutocompleteRootProps, type AutocompleteSeparatorProps, type AutocompleteTriggerProps, type AutocompleteUiSlot, type AutocompleteViewportProps, type HeadlessAutocompleteUi };
3
+ export * from "@soybeanjs/headless/autocomplete";
@@ -1,16 +1,30 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue } from "@soybeanjs/headless";
3
- import { AutocompleteCompactEmits, AutocompleteCompactProps, AutocompleteCompactSlots, AutocompleteGroupOptionData, AutocompleteOptionData, AutocompleteSearchOptionData, AutocompleteSingleOptionData, AutocompleteSingleOptionData as AutocompleteSingleOptionData$1, AutocompleteUi as HeadlessAutocompleteUi } from "@soybeanjs/headless/autocomplete";
2
+ import { AutocompleteCompactEmits, AutocompleteCompactProps, AutocompleteCompactSlots, AutocompleteSingleOptionData, AutocompleteUi } from "@soybeanjs/headless/autocomplete";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/autocomplete/types.d.ts
6
- type AutocompleteUi = HeadlessAutocompleteUi;
6
+ /**
7
+ * Properties for the Autocomplete component.
8
+ */
7
9
  interface AutocompleteProps<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> extends AutocompleteCompactProps<T> {
8
10
  /** Root class. */
9
11
  class?: ClassValue;
12
+ /**
13
+ * Visual size of the component.
14
+ */
10
15
  size?: ThemeSize;
16
+ /**
17
+ * Per-slot class overrides for the component.
18
+ */
11
19
  ui?: Partial<AutocompleteUi>;
12
20
  }
21
+ /**
22
+ * Events for the Autocomplete component.
23
+ */
13
24
  type AutocompleteEmits<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> = AutocompleteCompactEmits<T>;
25
+ /**
26
+ * Slots for the Autocomplete component.
27
+ */
14
28
  type AutocompleteSlots<T extends AutocompleteSingleOptionData = AutocompleteSingleOptionData> = AutocompleteCompactSlots<T>;
15
29
  //#endregion
16
- export { AutocompleteEmits, type AutocompleteGroupOptionData, type AutocompleteOptionData, AutocompleteProps, type AutocompleteSearchOptionData, type AutocompleteSingleOptionData$1 as AutocompleteSingleOptionData, AutocompleteSlots, AutocompleteUi };
30
+ export { AutocompleteEmits, AutocompleteProps, AutocompleteSlots };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{avatarVariants as t}from"./variants.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{AvatarFallback as g,AvatarImage as _,AvatarRoot as v,provideAvatarUi as y}from"@soybeanjs/headless";const b=o({name:`SAvatar`,__name:`avatar`,props:{class:{},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(o,{emit:b}){let x=o,S=b,C=h(x,[`class`,`size`,`ui`,`fallbackLabel`,`imageProps`,`fallbackProps`]);y(n(()=>e(t({size:x.size}),x.ui,{root:x.class})));let w=n(()=>({...x.imageProps,src:x.src})),T=n(()=>({...x.fallbackProps,delayMs:x.delayMs}));return(e,t)=>(u(),r(p(v),l(s(p(C))),{default:m(()=>[d(e.$slots,`default`,{},()=>[d(e.$slots,`image`,{},()=>[a(p(_),c(w.value,{onLoadingStatusChange:t[0]||=e=>S(`loadingStatusChange`,e)}),null,16)]),a(p(g),l(s(T.value)),{default:m(()=>[d(e.$slots,`fallback`,{},()=>[i(f(o.fallbackLabel),1)])]),_:3},16)])]),_:3},16))}});export{b as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{avatarVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{keysOf as m}from"@soybeanjs/utils";import{AvatarCompact as h,provideAvatarUi as g}from"@soybeanjs/headless/avatar";const _=a({name:`SAvatar`,__name:`avatar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(a,{emit:_}){let v=a,y=_,b=d(),x=p(v,[`class`,`size`,`ui`]),S=n(()=>m(b));return g(n(()=>e(t({size:v.size}),v.ui,{root:v.class}))),(e,t)=>(s(),r(u(h),o(u(x),{onLoadingStatusChange:t[0]||=e=>y(`loadingStatusChange`,e)}),i({_:2},[c(S.value,t=>({name:t,fn:f(()=>[l(e.$slots,t)])}))]),1040))}});export{_ as default};
@@ -3,14 +3,8 @@ import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/avatar/avatar.vue.d.ts
6
- declare var __VLS_8: {}, __VLS_10: {}, __VLS_25: {};
7
- type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_8) => any;
9
- } & {
10
- image?: (props: typeof __VLS_10) => any;
11
- } & {
12
- fallback?: (props: typeof __VLS_25) => any;
13
- };
6
+ declare var __VLS_12: string | number, __VLS_13: {};
7
+ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_12>]?: (props: typeof __VLS_13) => any };
14
8
  declare const __VLS_base: _$vue.DefineComponent<AvatarProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
15
9
  loadingStatusChange: (status: _$_soybeanjs_headless0.ImageLoadingStatus) => any;
16
10
  }, string, _$vue.PublicProps, Readonly<AvatarProps> & Readonly<{
@@ -1,4 +1,3 @@
1
1
  import { AvatarEmits, AvatarProps } from "./types.js";
2
2
  import { _default } from "./avatar.vue.js";
3
- import { AvatarFallbackProps, AvatarImageEmits, AvatarImageProps, AvatarRootProps } from "@soybeanjs/headless/avatar";
4
- export { type AvatarFallbackProps, type AvatarImageEmits, type AvatarImageProps, type AvatarRootProps };
3
+ export * from "@soybeanjs/headless/avatar";
@@ -1,26 +1,28 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { AvatarFallbackProps, AvatarImageEmits, AvatarImageProps, AvatarRootProps, AvatarUi, ClassValue } from "@soybeanjs/headless";
2
+ import { AvatarCompactProps, AvatarImageEmits, AvatarUi } from "@soybeanjs/headless/avatar";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/avatar/types.d.ts
5
- interface AvatarProps extends AvatarRootProps {
6
+ /**
7
+ * Properties for the Avatar component.
8
+ */
9
+ interface AvatarProps extends AvatarCompactProps {
6
10
  /**
7
11
  * root class
8
12
  */
9
13
  class?: ClassValue;
14
+ /**
15
+ * Visual size of the component.
16
+ */
10
17
  size?: ThemeSize;
11
- ui?: Partial<AvatarUi>;
12
- /** The image source URL */
13
- src: string;
14
18
  /**
15
- * Useful for delaying rendering so it only appears for those with slower connections.
16
- *
17
- * @defaultValue undefined
19
+ * Per-slot class overrides for the component.
18
20
  */
19
- delayMs?: number;
20
- fallbackLabel?: string;
21
- imageProps?: Omit<AvatarImageProps, 'src'>;
22
- fallbackProps?: Omit<AvatarFallbackProps, 'delayMs'>;
21
+ ui?: Partial<AvatarUi>;
23
22
  }
23
+ /**
24
+ * Events for the Avatar component.
25
+ */
24
26
  type AvatarEmits = AvatarImageEmits;
25
27
  //#endregion
26
28
  export { AvatarEmits, AvatarProps };
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonVariants as t}from"../button/variants.js";import n from"../icon/icon.js";import{backtopVariants as r}from"./variants.js";import{computed as i,createBlock as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{Backtop as g}from"@soybeanjs/headless/backtop";const _=s({name:`SBacktop`,__name:`backtop`,props:{class:{},color:{default:`primary`},size:{default:`lg`},variant:{default:`solid`},shape:{default:`circle`},shadow:{default:`lg`},fitContent:{type:Boolean,default:!0},icon:{default:`lucide:arrow-up`},iconClass:{},iconProps:{},visibilityHeight:{},target:{},duration:{}},emits:[`change`,`click`],setup(s,{emit:_}){let v=s,y=_,b=h(v,[`class`,`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`icon`,`iconClass`,`iconProps`]),x=m(y),S=i(()=>e(r(),t({color:v.color,size:v.size,variant:v.variant,shape:v.shape,shadow:v.shadow,fitContent:v.fitContent}),v.class));return(e,t)=>(l(),a(f(g),c(f(b),{class:S.value},d(f(x))),{default:p(()=>[u(e.$slots,`default`,{},()=>[o(n,c(s.iconProps,{icon:s.icon,class:s.iconClass}),null,16,[`icon`,`class`])])]),_:3},16,[`class`]))}});export{_ as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonVariants as t}from"../button/variants.js";import n from"../icon/icon.js";import{backtopVariants as r}from"./variants.js";import{computed as i,createBlock as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{Backtop as g}from"@soybeanjs/headless/backtop";const _=s({name:`SBacktop`,__name:`backtop`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{default:`primary`},size:{default:`lg`},variant:{default:`solid`},shape:{default:`circle`},shadow:{default:`lg`},fitContent:{type:Boolean,default:!0},icon:{default:`lucide:arrow-up`},iconClass:{type:[Boolean,null,String,Object,Array]},iconProps:{},visibilityHeight:{},target:{},duration:{}},emits:[`change`,`click`],setup(s,{emit:_}){let v=s,y=_,b=h(v,[`class`,`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`icon`,`iconClass`,`iconProps`]),x=m(y),S=i(()=>{let n=r({size:v.size});return e(t({color:v.color,size:v.size,variant:v.variant,shape:v.shape,shadow:v.shadow,fitContent:v.fitContent}),n,v.class)});return(e,t)=>(l(),a(f(g),c(f(b),{class:S.value},d(f(x))),{default:p(()=>[u(e.$slots,`default`,{},()=>[o(n,c(s.iconProps,{icon:s.icon,class:s.iconClass}),null,16,[`icon`,`class`])])]),_:3},16,[`class`]))}});export{_ as default};
@@ -9,16 +9,16 @@ type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_8) => any;
10
10
  };
11
11
  declare const __VLS_base: _$vue.DefineComponent<BacktopProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
12
+ click: (event: PointerEvent) => any;
12
13
  change: (visible: boolean) => any;
13
- click: (event: MouseEvent) => any;
14
14
  }, string, _$vue.PublicProps, Readonly<BacktopProps> & Readonly<{
15
+ onClick?: ((event: PointerEvent) => any) | undefined;
15
16
  onChange?: ((visible: boolean) => any) | undefined;
16
- onClick?: ((event: MouseEvent) => any) | undefined;
17
17
  }>, {
18
18
  icon: string;
19
+ color: ThemeColor;
19
20
  size: ThemeSize;
20
21
  variant: ButtonVariant;
21
- color: ThemeColor;
22
22
  shape: ButtonShape;
23
23
  shadow: ButtonShadow;
24
24
  fitContent: boolean;
@@ -1,4 +1,4 @@
1
1
  import { BacktopEmits as BacktopEmits$1, BacktopProps as BacktopProps$1 } from "./types.js";
2
2
  import { _default } from "./backtop.vue.js";
3
- import { BacktopExposed, BacktopTarget } from "@soybeanjs/headless/backtop";
4
- export { type BacktopExposed, type BacktopTarget };
3
+ import { BacktopState, BacktopTarget } from "@soybeanjs/headless/backtop";
4
+ export { type BacktopState, type BacktopTarget };
@@ -1,17 +1,41 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import { IconProps } from "../icon/types.js";
3
3
  import { ButtonShadow, ButtonShape, ButtonVariant } from "../button/variants.js";
4
- import { ClassValue } from "@soybeanjs/headless";
5
4
  import { BacktopEmits, BacktopProps } from "@soybeanjs/headless/backtop";
5
+ import { ClassValue } from "@soybeanjs/headless/types";
6
6
 
7
7
  //#region src/components/backtop/types.d.ts
8
+ /**
9
+ * Properties for the Backtop component.
10
+ */
8
11
  interface BacktopProps$1 extends BacktopProps {
12
+ /**
13
+ * Additional class names applied to the root element.
14
+ */
9
15
  class?: ClassValue;
16
+ /**
17
+ * Theme color of the component.
18
+ */
10
19
  color?: ThemeColor;
20
+ /**
21
+ * Visual size of the component.
22
+ */
11
23
  size?: ThemeSize;
24
+ /**
25
+ * Visual variant of the component.
26
+ */
12
27
  variant?: ButtonVariant;
28
+ /**
29
+ * Shape of the component.
30
+ */
13
31
  shape?: ButtonShape;
32
+ /**
33
+ * Shadow style of the component.
34
+ */
14
35
  shadow?: ButtonShadow;
36
+ /**
37
+ * Whether the component should fit its content width.
38
+ */
15
39
  fitContent?: boolean;
16
40
  /**
17
41
  * The icon name of iconify.
@@ -28,6 +52,9 @@ interface BacktopProps$1 extends BacktopProps {
28
52
  */
29
53
  iconProps?: Partial<IconProps>;
30
54
  }
55
+ /**
56
+ * Events for the Backtop component.
57
+ */
31
58
  type BacktopEmits$1 = BacktopEmits;
32
59
  //#endregion
33
60
  export { BacktopEmits$1 as BacktopEmits, BacktopProps$1 as BacktopProps };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({base:`fixed bottom-6 end-6 z-50`});export{t as backtopVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({base:`fixed z-50`,variants:{size:{xs:`bottom-4 end-4`,sm:`bottom-5 end-5`,md:`bottom-6 end-6`,lg:`bottom-7 end-7`,xl:`bottom-8 end-8`,"2xl":`bottom-10 end-10`}},defaultVariants:{size:`md`}});export{t as backtopVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{badgeVariants as t}from"./variants.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{BadgeContent as m,BadgeRoot as h,provideBadgeUi as g}from"@soybeanjs/headless";const _=o({name:`SBadge`,__name:`badge`,props:{class:{},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(o,{emit:_}){let v=o,y=_;return g(n(()=>e(t({color:v.color,size:v.size,position:v.position}),v.ui,{root:v.class}))),(e,t)=>(l(),r(f(h),{open:o.open,"onUpdate:open":t[0]||=e=>y(`update:open`,e)},{default:p(()=>[u(e.$slots,`default`),a(f(m),c(s(o.contentProps)),{default:p(()=>[u(e.$slots,`content`,{},()=>[i(d(o.content),1)])]),_:3},16)]),_:3},8,[`open`]))}});export{_ as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{badgeVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{keysOf as m}from"@soybeanjs/utils";import{BadgeCompact as h,provideBadgeUi as g}from"@soybeanjs/headless/badge";const _=a({name:`SBadge`,__name:`badge`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(a,{emit:_}){let v=a,y=_,b=d(),x=p(v,[`class`,`color`,`size`,`ui`,`position`]),S=n(()=>m(b));return g(n(()=>e(t({color:v.color,size:v.size,position:v.position}),v.ui,{root:v.class}))),(e,t)=>(s(),r(u(h),o(u(x),{"onUpdate:open":t[0]||=e=>y(`update:open`,e)}),i({_:2},[c(S.value,t=>({name:t,fn:f(()=>[l(e.$slots,t)])}))]),1040))}});export{_ as default};