@soybeanjs/ui 0.15.5 → 0.17.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 (423) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +1 -0
  2. package/dist/components/accordion/accordion.js +1 -1
  3. package/dist/components/accordion/accordion.vue.d.ts +1 -1
  4. package/dist/components/accordion/index.d.ts +1 -2
  5. package/dist/components/accordion/types.d.ts +17 -1
  6. package/dist/components/affix/affix.js +1 -1
  7. package/dist/components/affix/index.d.ts +2 -1
  8. package/dist/components/affix/types.d.ts +10 -1
  9. package/dist/components/alert/alert.js +1 -1
  10. package/dist/components/alert/index.d.ts +1 -2
  11. package/dist/components/alert/types.d.ts +25 -1
  12. package/dist/components/anchor/anchor.js +1 -1
  13. package/dist/components/anchor/anchor.vue.d.ts +1 -1
  14. package/dist/components/anchor/index.d.ts +2 -3
  15. package/dist/components/anchor/types.d.ts +30 -3
  16. package/dist/components/autocomplete/autocomplete.js +1 -1
  17. package/dist/components/autocomplete/autocomplete.vue.d.ts +2 -1
  18. package/dist/components/autocomplete/index.d.ts +2 -3
  19. package/dist/components/autocomplete/types.d.ts +18 -4
  20. package/dist/components/autocomplete/variants.js +1 -1
  21. package/dist/components/avatar/avatar.js +1 -1
  22. package/dist/components/avatar/index.d.ts +1 -2
  23. package/dist/components/avatar/types.d.ts +23 -1
  24. package/dist/components/backtop/backtop.vue.d.ts +3 -3
  25. package/dist/components/backtop/index.d.ts +2 -2
  26. package/dist/components/backtop/types.d.ts +28 -1
  27. package/dist/components/badge/badge.js +1 -1
  28. package/dist/components/badge/index.d.ts +1 -2
  29. package/dist/components/badge/types.d.ts +26 -1
  30. package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
  31. package/dist/components/bottom-sheet/index.d.ts +2 -1
  32. package/dist/components/bottom-sheet/types.d.ts +17 -1
  33. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  34. package/dist/components/breadcrumb/index.d.ts +3 -2
  35. package/dist/components/breadcrumb/types.d.ts +16 -1
  36. package/dist/components/button/button-group.js +1 -1
  37. package/dist/components/button/button-icon.vue.d.ts +1 -1
  38. package/dist/components/button/button-link.vue.d.ts +1 -1
  39. package/dist/components/button/button-loading.vue.d.ts +1 -1
  40. package/dist/components/button/button.js +1 -1
  41. package/dist/components/button/types.d.ts +40 -3
  42. package/dist/components/calendar/calendar.js +1 -0
  43. package/dist/components/calendar/calendar.vue.d.ts +24 -0
  44. package/dist/components/calendar/index.d.ts +3 -0
  45. package/dist/components/calendar/index.js +1 -0
  46. package/dist/components/calendar/types.d.ts +32 -0
  47. package/dist/components/calendar/variants.js +1 -0
  48. package/dist/components/card/card-collapsible-trigger.js +1 -1
  49. package/dist/components/card/card-collapsible-trigger.vue.d.ts +1 -1
  50. package/dist/components/card/card.js +1 -1
  51. package/dist/components/card/index.d.ts +1 -2
  52. package/dist/components/card/types.d.ts +12 -10
  53. package/dist/components/carousel/carousel-content.js +1 -1
  54. package/dist/components/carousel/carousel-content.vue.d.ts +1 -1
  55. package/dist/components/carousel/carousel-item.js +1 -1
  56. package/dist/components/carousel/carousel-item.vue.d.ts +1 -1
  57. package/dist/components/carousel/carousel-next.js +1 -1
  58. package/dist/components/carousel/carousel-next.vue.d.ts +2 -1
  59. package/dist/components/carousel/carousel-previous.js +1 -1
  60. package/dist/components/carousel/carousel-previous.vue.d.ts +2 -1
  61. package/dist/components/carousel/carousel.js +1 -1
  62. package/dist/components/carousel/carousel.vue.d.ts +12 -1
  63. package/dist/components/carousel/index.d.ts +2 -3
  64. package/dist/components/carousel/types.d.ts +14 -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/index.d.ts +2 -1
  73. package/dist/components/clipboard/types.d.ts +22 -1
  74. package/dist/components/collapsible/collapsible.js +1 -1
  75. package/dist/components/collapsible/index.d.ts +3 -2
  76. package/dist/components/collapsible/types.d.ts +13 -1
  77. package/dist/components/color-area/color-area.vue.d.ts +2 -2
  78. package/dist/components/color-area/index.d.ts +1 -2
  79. package/dist/components/color-area/types.d.ts +23 -1
  80. package/dist/components/color-field/color-field.js +1 -1
  81. package/dist/components/color-field/index.d.ts +1 -2
  82. package/dist/components/color-field/types.d.ts +20 -1
  83. package/dist/components/color-picker/color-picker.vue.d.ts +7 -7
  84. package/dist/components/color-picker/index.d.ts +2 -1
  85. package/dist/components/color-picker/types.d.ts +96 -3
  86. package/dist/components/color-slider/color-slider.vue.d.ts +3 -3
  87. package/dist/components/color-slider/index.d.ts +1 -2
  88. package/dist/components/color-slider/types.d.ts +25 -1
  89. package/dist/components/color-swatch/index.d.ts +2 -4
  90. package/dist/components/color-swatch/types.d.ts +22 -1
  91. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  92. package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +2 -2
  93. package/dist/components/color-swatch-picker/index.d.ts +1 -2
  94. package/dist/components/color-swatch-picker/types.d.ts +38 -1
  95. package/dist/components/combobox/combobox.js +1 -1
  96. package/dist/components/combobox/index.d.ts +1 -2
  97. package/dist/components/combobox/types.d.ts +19 -1
  98. package/dist/components/command/command.js +1 -1
  99. package/dist/components/command/command.vue.d.ts +4 -3
  100. package/dist/components/command/index.d.ts +2 -3
  101. package/dist/components/command/types.d.ts +18 -4
  102. package/dist/components/config-provider/config-provider.js +1 -1
  103. package/dist/components/config-provider/config-provider.vue.d.ts +7 -10
  104. package/dist/components/config-provider/index.d.ts +2 -1
  105. package/dist/components/config-provider/types.d.ts +22 -17
  106. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  107. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +1 -1
  108. package/dist/components/context-menu/context-menu-radio.js +1 -1
  109. package/dist/components/context-menu/context-menu-radio.vue.d.ts +1 -1
  110. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  111. package/dist/components/context-menu/context-menu.js +1 -1
  112. package/dist/components/context-menu/context-menu.vue.d.ts +1 -1
  113. package/dist/components/context-menu/index.d.ts +2 -1
  114. package/dist/components/context-menu/types.d.ts +35 -1
  115. package/dist/components/date-field/date-field.js +1 -0
  116. package/dist/components/date-field/date-field.vue.d.ts +15 -0
  117. package/dist/components/date-field/index.d.ts +3 -0
  118. package/dist/components/date-field/index.js +1 -0
  119. package/dist/components/date-field/types.d.ts +28 -0
  120. package/dist/components/date-field/variants.js +1 -0
  121. package/dist/components/date-picker/date-picker.js +1 -0
  122. package/dist/components/date-picker/date-picker.vue.d.ts +26 -0
  123. package/dist/components/date-picker/index.d.ts +3 -0
  124. package/dist/components/date-picker/index.js +1 -0
  125. package/dist/components/date-picker/types.d.ts +32 -0
  126. package/dist/components/date-picker/variants.js +1 -0
  127. package/dist/components/date-range-field/date-range-field.js +1 -0
  128. package/dist/components/date-range-field/date-range-field.vue.d.ts +29 -0
  129. package/dist/components/date-range-field/index.d.ts +3 -0
  130. package/dist/components/date-range-field/index.js +1 -0
  131. package/dist/components/date-range-field/types.d.ts +76 -0
  132. package/dist/components/date-range-field/variants.js +1 -0
  133. package/dist/components/date-range-picker/date-range-picker.js +1 -0
  134. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +29 -0
  135. package/dist/components/date-range-picker/index.d.ts +3 -0
  136. package/dist/components/date-range-picker/index.js +1 -0
  137. package/dist/components/date-range-picker/types.d.ts +65 -0
  138. package/dist/components/date-range-picker/variants.js +1 -0
  139. package/dist/components/dialog/dialog-provider.js +1 -1
  140. package/dist/components/dialog/dialog.js +1 -1
  141. package/dist/components/dialog/dialog.vue.d.ts +4 -4
  142. package/dist/components/dialog/index.d.ts +2 -1
  143. package/dist/components/dialog/index.js +1 -1
  144. package/dist/components/dialog/types.d.ts +17 -1
  145. package/dist/components/drawer/drawer.js +1 -1
  146. package/dist/components/drawer/drawer.vue.d.ts +4 -4
  147. package/dist/components/drawer/types.d.ts +13 -1
  148. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  149. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +1 -1
  150. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  151. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +1 -1
  152. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  153. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  154. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +1 -1
  155. package/dist/components/dropdown-menu/index.d.ts +2 -1
  156. package/dist/components/dropdown-menu/types.d.ts +35 -1
  157. package/dist/components/editable/editable.js +1 -1
  158. package/dist/components/editable/index.d.ts +2 -3
  159. package/dist/components/editable/types.d.ts +42 -2
  160. package/dist/components/empty/empty.js +1 -1
  161. package/dist/components/empty/index.d.ts +1 -2
  162. package/dist/components/empty/types.d.ts +38 -1
  163. package/dist/components/form/form-field-base.js +1 -1
  164. package/dist/components/form/index.d.ts +2 -3
  165. package/dist/components/form/types.d.ts +102 -8
  166. package/dist/components/form/use-form.d.ts +2 -1
  167. package/dist/components/form/use-form.js +1 -1
  168. package/dist/components/hover-card/hover-card.js +1 -1
  169. package/dist/components/hover-card/index.d.ts +1 -2
  170. package/dist/components/hover-card/types.d.ts +35 -1
  171. package/dist/components/icon/types.d.ts +7 -1
  172. package/dist/components/input/index.d.ts +1 -2
  173. package/dist/components/input/input.js +1 -1
  174. package/dist/components/input/types.d.ts +14 -1
  175. package/dist/components/input-number/index.d.ts +2 -1
  176. package/dist/components/input-number/input-number.js +1 -1
  177. package/dist/components/input-number/types.d.ts +26 -1
  178. package/dist/components/input-otp/index.d.ts +1 -2
  179. package/dist/components/input-otp/index.js +1 -1
  180. package/dist/components/input-otp/input-otp.js +1 -1
  181. package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
  182. package/dist/components/input-otp/types.d.ts +19 -1
  183. package/dist/components/kbd/index.d.ts +4 -2
  184. package/dist/components/kbd/kbd.js +1 -1
  185. package/dist/components/kbd/types.d.ts +18 -2
  186. package/dist/components/label/label.js +1 -1
  187. package/dist/components/label/types.d.ts +11 -1
  188. package/dist/components/layout/index.d.ts +2 -1
  189. package/dist/components/layout/index.js +1 -1
  190. package/dist/components/layout/layout-classic.js +1 -1
  191. package/dist/components/layout/layout.js +1 -1
  192. package/dist/components/layout/types.d.ts +38 -1
  193. package/dist/components/link/index.d.ts +4 -2
  194. package/dist/components/link/link.js +1 -1
  195. package/dist/components/link/types.d.ts +8 -1
  196. package/dist/components/list/index.d.ts +3 -3
  197. package/dist/components/list/list-item.js +1 -1
  198. package/dist/components/list/list.js +1 -1
  199. package/dist/components/list/types.d.ts +32 -1
  200. package/dist/components/menu/context.js +1 -1
  201. package/dist/components/menu/index.d.ts +10 -2
  202. package/dist/components/menu/index.js +1 -1
  203. package/dist/components/menu/types.d.ts +14 -1
  204. package/dist/components/menubar/index.d.ts +2 -1
  205. package/dist/components/menubar/menubar.js +1 -1
  206. package/dist/components/menubar/menubar.vue.d.ts +1 -1
  207. package/dist/components/menubar/types.d.ts +20 -1
  208. package/dist/components/month-picker/index.d.ts +3 -0
  209. package/dist/components/month-picker/index.js +1 -0
  210. package/dist/components/month-picker/month-picker.js +1 -0
  211. package/dist/components/month-picker/month-picker.vue.d.ts +24 -0
  212. package/dist/components/month-picker/types.d.ts +86 -0
  213. package/dist/components/month-picker/variants.js +1 -0
  214. package/dist/components/month-range-picker/index.d.ts +3 -0
  215. package/dist/components/month-range-picker/index.js +1 -0
  216. package/dist/components/month-range-picker/month-range-picker.js +1 -0
  217. package/dist/components/month-range-picker/month-range-picker.vue.d.ts +29 -0
  218. package/dist/components/month-range-picker/types.d.ts +89 -0
  219. package/dist/components/month-range-picker/variants.js +1 -0
  220. package/dist/components/navigation-menu/index.d.ts +1 -2
  221. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  222. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  223. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  224. package/dist/components/navigation-menu/types.d.ts +85 -2
  225. package/dist/components/page-tabs/index.d.ts +2 -1
  226. package/dist/components/page-tabs/page-tabs.js +1 -1
  227. package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
  228. package/dist/components/page-tabs/types.d.ts +79 -3
  229. package/dist/components/pagination/index.d.ts +1 -2
  230. package/dist/components/pagination/pagination.js +1 -1
  231. package/dist/components/pagination/types.d.ts +11 -1
  232. package/dist/components/password/password.js +1 -1
  233. package/dist/components/password/types.d.ts +20 -1
  234. package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
  235. package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
  236. package/dist/components/popconfirm/popconfirm.js +1 -1
  237. package/dist/components/popconfirm/popconfirm.vue.d.ts +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 +3 -0
  256. package/dist/components/range-calendar/index.js +1 -0
  257. package/dist/components/range-calendar/range-calendar.js +1 -0
  258. package/dist/components/range-calendar/range-calendar.vue.d.ts +25 -0
  259. package/dist/components/range-calendar/types.d.ts +188 -0
  260. package/dist/components/range-calendar/variants.js +1 -0
  261. package/dist/components/scroll-area/index.d.ts +1 -2
  262. package/dist/components/scroll-area/scroll-area.js +1 -1
  263. package/dist/components/scroll-area/types.d.ts +29 -1
  264. package/dist/components/segment/index.d.ts +2 -1
  265. package/dist/components/segment/segment.js +1 -1
  266. package/dist/components/segment/types.d.ts +26 -1
  267. package/dist/components/select/index.d.ts +2 -3
  268. package/dist/components/select/select.js +1 -1
  269. package/dist/components/select/select.vue.d.ts +1 -1
  270. package/dist/components/select/types.d.ts +18 -3
  271. package/dist/components/separator/index.d.ts +1 -2
  272. package/dist/components/separator/separator.js +1 -1
  273. package/dist/components/separator/types.d.ts +26 -1
  274. package/dist/components/skeleton/skeleton.js +1 -1
  275. package/dist/components/skeleton/types.d.ts +14 -1
  276. package/dist/components/slider/index.d.ts +1 -2
  277. package/dist/components/slider/slider.js +1 -1
  278. package/dist/components/slider/types.d.ts +29 -1
  279. package/dist/components/spinner/types.d.ts +16 -1
  280. package/dist/components/splitter/index.d.ts +2 -3
  281. package/dist/components/splitter/splitter-group.js +1 -1
  282. package/dist/components/splitter/splitter-panel.js +1 -1
  283. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  284. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  285. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +1 -1
  286. package/dist/components/splitter/types.d.ts +43 -2
  287. package/dist/components/stepper/index.d.ts +1 -2
  288. package/dist/components/stepper/stepper.js +1 -1
  289. package/dist/components/stepper/types.d.ts +56 -1
  290. package/dist/components/switch/index.d.ts +1 -2
  291. package/dist/components/switch/switch.js +1 -1
  292. package/dist/components/switch/switch.vue.d.ts +4 -4
  293. package/dist/components/switch/types.d.ts +29 -1
  294. package/dist/components/table/hooks.js +1 -1
  295. package/dist/components/table/index.d.ts +2 -1
  296. package/dist/components/table/index.js +1 -1
  297. package/dist/components/table/table.js +1 -1
  298. package/dist/components/table/table.vue.d.ts +2 -2
  299. package/dist/components/table/types.d.ts +76 -1
  300. package/dist/components/tabs/index.d.ts +2 -3
  301. package/dist/components/tabs/tabs.js +1 -1
  302. package/dist/components/tabs/types.d.ts +19 -1
  303. package/dist/components/tag/tag.js +1 -1
  304. package/dist/components/tag/types.d.ts +26 -1
  305. package/dist/components/tags-input/index.d.ts +3 -2
  306. package/dist/components/tags-input/tags-input-item-delete.js +1 -1
  307. package/dist/components/tags-input/tags-input.js +1 -1
  308. package/dist/components/tags-input/tags-input.vue.d.ts +1 -1
  309. package/dist/components/tags-input/types.d.ts +17 -1
  310. package/dist/components/textarea/index.d.ts +1 -2
  311. package/dist/components/textarea/textarea.js +1 -1
  312. package/dist/components/textarea/types.d.ts +23 -1
  313. package/dist/components/time-field/index.d.ts +3 -0
  314. package/dist/components/time-field/index.js +1 -0
  315. package/dist/components/time-field/time-field.js +1 -0
  316. package/dist/components/time-field/time-field.vue.d.ts +22 -0
  317. package/dist/components/time-field/types.d.ts +61 -0
  318. package/dist/components/time-field/variants.js +1 -0
  319. package/dist/components/time-picker/index.d.ts +3 -0
  320. package/dist/components/time-picker/index.js +1 -0
  321. package/dist/components/time-picker/time-picker.js +1 -0
  322. package/dist/components/time-picker/time-picker.vue.d.ts +24 -0
  323. package/dist/components/time-picker/types.d.ts +68 -0
  324. package/dist/components/time-picker/variants.js +1 -0
  325. package/dist/components/time-range-field/index.d.ts +3 -0
  326. package/dist/components/time-range-field/index.js +1 -0
  327. package/dist/components/time-range-field/time-range-field.js +1 -0
  328. package/dist/components/time-range-field/time-range-field.vue.d.ts +28 -0
  329. package/dist/components/time-range-field/types.d.ts +76 -0
  330. package/dist/components/time-range-field/variants.js +1 -0
  331. package/dist/components/time-range-picker/index.d.ts +3 -0
  332. package/dist/components/time-range-picker/index.js +1 -0
  333. package/dist/components/time-range-picker/time-range-picker.js +1 -0
  334. package/dist/components/time-range-picker/time-range-picker.vue.d.ts +28 -0
  335. package/dist/components/time-range-picker/types.d.ts +71 -0
  336. package/dist/components/time-range-picker/variants.js +1 -0
  337. package/dist/components/toast/index.d.ts +3 -3
  338. package/dist/components/toast/toast-provider.js +1 -1
  339. package/dist/components/toast/types.d.ts +11 -2
  340. package/dist/components/toggle/toggle.js +1 -1
  341. package/dist/components/toggle/toggle.vue.d.ts +3 -3
  342. package/dist/components/toggle/types.d.ts +20 -1
  343. package/dist/components/toggle-group/index.d.ts +1 -2
  344. package/dist/components/toggle-group/toggle-group-item.js +1 -1
  345. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +1 -1
  346. package/dist/components/toggle-group/toggle-group.js +1 -1
  347. package/dist/components/toggle-group/toggle-group.vue.d.ts +1 -1
  348. package/dist/components/toggle-group/types.d.ts +23 -1
  349. package/dist/components/toolbar/index.d.ts +3 -2
  350. package/dist/components/toolbar/toolbar.js +1 -1
  351. package/dist/components/toolbar/types.d.ts +11 -1
  352. package/dist/components/tooltip/index.d.ts +1 -2
  353. package/dist/components/tooltip/tooltip.js +1 -1
  354. package/dist/components/tooltip/types.d.ts +38 -1
  355. package/dist/components/tree/index.d.ts +3 -2
  356. package/dist/components/tree/tree-virtualizer.js +1 -1
  357. package/dist/components/tree/tree-virtualizer.vue.d.ts +2 -1
  358. package/dist/components/tree/tree.js +1 -1
  359. package/dist/components/tree/tree.vue.d.ts +2 -1
  360. package/dist/components/tree/types.d.ts +15 -1
  361. package/dist/components/tree-menu/index.d.ts +2 -1
  362. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  363. package/dist/components/tree-menu/tree-menu-option.js +1 -1
  364. package/dist/components/tree-menu/tree-menu-options.js +1 -1
  365. package/dist/components/tree-menu/tree-menu.js +1 -1
  366. package/dist/components/tree-menu/types.d.ts +111 -6
  367. package/dist/components/virtualizer/index.d.ts +3 -2
  368. package/dist/components/virtualizer/types.d.ts +10 -1
  369. package/dist/components/virtualizer/virtualizer.js +1 -1
  370. package/dist/components/year-picker/index.d.ts +3 -0
  371. package/dist/components/year-picker/index.js +1 -0
  372. package/dist/components/year-picker/types.d.ts +86 -0
  373. package/dist/components/year-picker/variants.js +1 -0
  374. package/dist/components/year-picker/year-picker.js +1 -0
  375. package/dist/components/year-picker/year-picker.vue.d.ts +24 -0
  376. package/dist/components/year-range-picker/index.d.ts +3 -0
  377. package/dist/components/year-range-picker/index.js +1 -0
  378. package/dist/components/year-range-picker/types.d.ts +90 -0
  379. package/dist/components/year-range-picker/variants.js +1 -0
  380. package/dist/components/year-range-picker/year-range-picker.js +1 -0
  381. package/dist/components/year-range-picker/year-range-picker.vue.d.ts +29 -0
  382. package/dist/constants/components.d.ts +14 -0
  383. package/dist/constants/components.js +1 -1
  384. package/dist/index.d.ts +224 -152
  385. package/dist/index.js +1 -1
  386. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Alignment.d.ts +4 -0
  387. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Animations.d.ts +11 -0
  388. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Axis.d.ts +16 -0
  389. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Counter.d.ts +9 -0
  390. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragHandler.d.ts +13 -0
  391. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/DragTracker.d.ts +4 -0
  392. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EmblaCarousel.d.ts +31 -0
  393. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Engine.d.ts +67 -0
  394. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventHandler.d.ts +29 -0
  395. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/EventStore.d.ts +10 -0
  396. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Limit.d.ts +13 -0
  397. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/NodeRects.d.ts +11 -0
  398. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Options.d.ts +43 -0
  399. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/OptionsHandler.d.ts +11 -0
  400. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/PercentOfView.d.ts +6 -0
  401. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Plugins.d.ts +20 -0
  402. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ResizeHandler.d.ts +11 -0
  403. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBody.d.ts +14 -0
  404. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollBounds.d.ts +8 -0
  405. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollContain.d.ts +4 -0
  406. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollLooper.d.ts +6 -0
  407. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollProgress.d.ts +6 -0
  408. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTarget.d.ts +12 -0
  409. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/ScrollTo.d.ts +7 -0
  410. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideFocus.d.ts +10 -0
  411. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideLooper.d.ts +19 -0
  412. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlideRegistry.d.ts +6 -0
  413. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesHandler.d.ts +11 -0
  414. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesInView.d.ts +9 -0
  415. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/SlidesToScroll.d.ts +7 -0
  416. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Translate.d.ts +8 -0
  417. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/Vector1d.d.ts +9 -0
  418. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/components/utils.d.ts +4 -0
  419. package/dist/styles.css +99 -27
  420. package/dist/theme/merge.d.ts +1 -1
  421. package/dist/theme/shared.d.ts +1 -1
  422. package/dist/theme/shared.js +1 -1
  423. package/package.json +15 -12
@@ -1,13 +1,32 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import { ToggleShape, ToggleVariant } from "./variants.js";
3
- import { ClassValue, ToggleEmits, ToggleProps } from "@soybeanjs/headless";
3
+ import { ToggleEmits, ToggleProps } from "@soybeanjs/headless/toggle";
4
+ import { ClassValue } from "@soybeanjs/headless/types";
4
5
 
5
6
  //#region src/components/toggle/types.d.ts
7
+ /**
8
+ * Props for the toggle component.
9
+ */
6
10
  interface ToggleProps$1 extends ToggleProps {
11
+ /**
12
+ * Additional class names applied to the root element.
13
+ */
7
14
  class?: ClassValue;
15
+ /**
16
+ * Theme color of the component.
17
+ */
8
18
  color?: ThemeColor;
19
+ /**
20
+ * Visual size of the component.
21
+ */
9
22
  size?: ThemeSize;
23
+ /**
24
+ * Visual variant of the component.
25
+ */
10
26
  variant?: ToggleVariant;
27
+ /**
28
+ * Shape of the component.
29
+ */
11
30
  shape?: ToggleShape;
12
31
  }
13
32
  //#endregion
@@ -2,5 +2,4 @@ import { ToggleGroupVariant } from "./variants.js";
2
2
  import { ToggleGroupEmits, ToggleGroupProps } from "./types.js";
3
3
  import { _default } from "./toggle-group.vue.js";
4
4
  import { _default as _default$1 } from "./toggle-group-item.vue.js";
5
- import { ToggleGroupItemProps as ToggleGroupItemProps$1, ToggleGroupRootEmits, ToggleGroupRootProps, ToggleGroupUi, ToggleGroupUiSlot } from "@soybeanjs/headless/toggle-group";
6
- export { type ToggleGroupItemProps$1 as ToggleGroupItemProps, type ToggleGroupRootEmits, type ToggleGroupRootProps, type ToggleGroupUi, type ToggleGroupUiSlot };
5
+ export * from "@soybeanjs/headless/toggle-group";
@@ -1 +1 @@
1
- import{createBlock as e,defineComponent as t,mergeProps as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";import{useOmitProps as s}from"@soybeanjs/headless/composables";import{ToggleGroupItem as c}from"@soybeanjs/headless";const l=t({name:`SToggleGroupItem`,__name:`toggle-group-item`,props:{value:{},disabled:{type:Boolean},type:{},asChild:{type:Boolean},as:{}},setup(t){let l=t,u=s(l,[`class`]);return(t,s)=>(r(),e(a(c),n(a(u),{class:l.class}),{default:o(()=>[i(t.$slots,`default`)]),_:3},16,[`class`]))}});export{l as default};
1
+ import{createBlock as e,defineComponent as t,mergeProps as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";import{useOmitProps as s}from"@soybeanjs/headless/composables";import{ToggleGroupItem as c}from"@soybeanjs/headless/toggle-group";const l=t({name:`SToggleGroupItem`,__name:`toggle-group-item`,props:{value:{},disabled:{type:Boolean},type:{},asChild:{type:Boolean},as:{}},setup(t){let l=t,u=s(l,[`class`]);return(t,s)=>(r(),e(a(c),n(a(u),{class:l.class}),{default:o(()=>[i(t.$slots,`default`)]),_:3},16,[`class`]))}});export{l as default};
@@ -1,6 +1,6 @@
1
1
  import * as _$vue from "vue";
2
- import { DefinedValue } from "@soybeanjs/headless";
3
2
  import { ToggleGroupItemProps } from "@soybeanjs/headless/toggle-group";
3
+ import { DefinedValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/toggle-group/toggle-group-item.vue.d.ts
6
6
  declare const __VLS_export: <T extends DefinedValue = string>(__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 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toggleGroupVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,toHandlers as c,unref as l,withCtx as u}from"vue";import{useForwardListeners as d,useOmitProps as f}from"@soybeanjs/headless/composables";import{ToggleGroupRoot as p,provideToggleGroupUi as m}from"@soybeanjs/headless";const h=i({name:`SToggleGroup`,__name:`toggle-group`,props:{class:{},color:{},size:{},variant:{},ui:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},clearable:{type:Boolean},selectionBehavior:{},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`color`,`size`,`variant`,`ui`]),y=d(_);return m(n(()=>e(t({color:g.color,size:g.size,variant:g.variant,orientation:g.orientation}),g.ui,{root:g.class}))),(e,t)=>(o(),r(l(p),a(l(v),c(l(y))),{default:u(()=>[s(e.$slots,`default`)]),_:3},16))}});export{h as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toggleGroupVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,toHandlers as c,unref as l,withCtx as u}from"vue";import{useForwardListeners as d,useOmitProps as f}from"@soybeanjs/headless/composables";import{ToggleGroupRoot as p,provideToggleGroupUi as m}from"@soybeanjs/headless/toggle-group";const h=i({name:`SToggleGroup`,__name:`toggle-group`,props:{class:{},color:{},size:{},variant:{},ui:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},clearable:{type:Boolean},selectionBehavior:{},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`color`,`size`,`variant`,`ui`]),y=d(_);return m(n(()=>e(t({color:g.color,size:g.size,variant:g.variant,orientation:g.orientation}),g.ui,{root:g.class}))),(e,t)=>(o(),r(l(p),a(l(v),c(l(y))),{default:u(()=>[s(e.$slots,`default`)]),_:3},16))}});export{h as default};
@@ -1,6 +1,6 @@
1
1
  import { ToggleGroupProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { DefinedValue } from "@soybeanjs/headless";
3
+ import { DefinedValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/toggle-group/toggle-group.vue.d.ts
6
6
  declare const __VLS_export: <M extends boolean = false, T extends DefinedValue = string>(__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,15 +1,37 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import { ToggleGroupVariant } from "./variants.js";
3
- import { ClassValue, DefinedValue, ToggleGroupRootEmits, ToggleGroupRootProps, ToggleGroupUi } from "@soybeanjs/headless";
3
+ import { ToggleGroupRootEmits, ToggleGroupRootProps, ToggleGroupUi } from "@soybeanjs/headless/toggle-group";
4
+ import { ClassValue, DefinedValue } from "@soybeanjs/headless/types";
4
5
 
5
6
  //#region src/components/toggle-group/types.d.ts
7
+ /**
8
+ * Props for the toggle group component.
9
+ */
6
10
  interface ToggleGroupProps<M extends boolean = false, T extends DefinedValue = string> extends ToggleGroupRootProps<M, T> {
11
+ /**
12
+ * Additional class names applied to the root element.
13
+ */
7
14
  class?: ClassValue;
15
+ /**
16
+ * Theme color of the component.
17
+ */
8
18
  color?: ThemeColor;
19
+ /**
20
+ * Visual size of the component.
21
+ */
9
22
  size?: ThemeSize;
23
+ /**
24
+ * Visual variant of the component.
25
+ */
10
26
  variant?: ToggleGroupVariant;
27
+ /**
28
+ * Per-slot class overrides for the component.
29
+ */
11
30
  ui?: Partial<ToggleGroupUi>;
12
31
  }
32
+ /**
33
+ * Emits for the toggle group component.
34
+ */
13
35
  type ToggleGroupEmits<M extends boolean = false, T extends DefinedValue = string> = ToggleGroupRootEmits<M, T>;
14
36
  //#endregion
15
37
  export { ToggleGroupEmits, ToggleGroupProps };
@@ -1,4 +1,5 @@
1
1
  import { ToolbarProps } from "./types.js";
2
2
  import { _default } from "./toolbar.vue.js";
3
- import { ToolbarButton as SToolbarButton, ToolbarButtonEmits, ToolbarButtonProps, ToolbarLink as SToolbarLink, ToolbarLinkProps, ToolbarRootProps, ToolbarSeparator as SToolbarSeparator, ToolbarSeparatorProps, ToolbarToggleGroup as SToolbarToggleGroup, ToolbarToggleGroupEmits, ToolbarToggleGroupProps, ToolbarToggleItem as SToolbarToggleItem, ToolbarToggleItemProps, ToolbarUi, ToolbarUiSlot } from "@soybeanjs/headless/toolbar";
4
- export { SToolbarButton, SToolbarLink, SToolbarSeparator, SToolbarToggleGroup, SToolbarToggleItem, type ToolbarButtonEmits, type ToolbarButtonProps, type ToolbarLinkProps, type ToolbarRootProps, type ToolbarSeparatorProps, type ToolbarToggleGroupEmits, type ToolbarToggleGroupProps, type ToolbarToggleItemProps, type ToolbarUi, type ToolbarUiSlot };
3
+ import { ToolbarButton as SToolbarButton, ToolbarLink as SToolbarLink, ToolbarSeparator as SToolbarSeparator, ToolbarToggleGroup as SToolbarToggleGroup, ToolbarToggleItem as SToolbarToggleItem } from "@soybeanjs/headless/toolbar";
4
+ export * from "@soybeanjs/headless/toolbar";
5
+ export { SToolbarButton, SToolbarLink, SToolbarSeparator, SToolbarToggleGroup, SToolbarToggleItem };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toolbarVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,normalizeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{ToolbarRoot as f,provideToolbarUi as p}from"@soybeanjs/headless";const m=i({name:`SToolbar`,__name:`toolbar`,props:{class:{},ui:{},orientation:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let m=i,h=d(m,[`class`,`ui`]);return p(n(()=>e(t(),m.ui,{root:m.class}))),(e,t)=>(s(),r(l(f),o(a(l(h))),{default:u(()=>[c(e.$slots,`default`)]),_:3},16))}});export{m as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toolbarVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,normalizeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{ToolbarRoot as f,provideToolbarUi as p}from"@soybeanjs/headless/toolbar";const m=i({name:`SToolbar`,__name:`toolbar`,props:{class:{},ui:{},orientation:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let m=i,h=d(m,[`class`,`ui`]);return p(n(()=>e(t(),m.ui,{root:m.class}))),(e,t)=>(s(),r(l(f),o(a(l(h))),{default:u(()=>[c(e.$slots,`default`)]),_:3},16))}});export{m as default};
@@ -1,8 +1,18 @@
1
- import { ClassValue, ToolbarRootProps, ToolbarUi } from "@soybeanjs/headless";
1
+ import { ToolbarRootProps, ToolbarUi } from "@soybeanjs/headless/toolbar";
2
+ import { ClassValue } from "@soybeanjs/headless/types";
2
3
 
3
4
  //#region src/components/toolbar/types.d.ts
5
+ /**
6
+ * Props for the toolbar component.
7
+ */
4
8
  interface ToolbarProps extends ToolbarRootProps {
9
+ /**
10
+ * Additional class names applied to the root element.
11
+ */
5
12
  class?: ClassValue;
13
+ /**
14
+ * Per-slot class overrides for the component.
15
+ */
6
16
  ui?: Partial<ToolbarUi>;
7
17
  }
8
18
  //#endregion
@@ -1,4 +1,3 @@
1
1
  import { TooltipEmits, TooltipProps } from "./types.js";
2
2
  import { _default } from "./tooltip.vue.js";
3
- import { TooltipArrowProps, TooltipPopupProps, TooltipPortalProps, TooltipPositionerEmits, TooltipPositionerProps, TooltipProviderProps, TooltipRootEmits, TooltipRootProps, TooltipTriggerProps } from "@soybeanjs/headless/tooltip";
4
- export { type TooltipArrowProps, type TooltipPopupProps, type TooltipPortalProps, type TooltipPositionerEmits, type TooltipPositionerProps, type TooltipProviderProps, type TooltipRootEmits, type TooltipRootProps, type TooltipTriggerProps };
3
+ export * from "@soybeanjs/headless/tooltip";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tooltipVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{TooltipArrow as y,TooltipPopup as b,TooltipPortal as x,TooltipPositioner as S,TooltipRoot as C,TooltipTrigger as w,provideTooltipUi as T}from"@soybeanjs/headless";const E=s({name:`STooltip`,__name:`tooltip`,props:{class:{},size:{},ui:{},content:{},placement:{},showArrow:{type:Boolean,default:!0},popupProps:{},positionerProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`],setup(s,{emit:E}){let D=s,O=E,k=v(D,[`class`,`size`,`ui`,`content`,`showArrow`,`popupProps`,`positionerProps`,`triggerProps`,`portalProps`,`arrowProps`]),A=_(O),j=n(()=>e(t({size:D.size}),D.ui,{popup:D.class})),M=n(()=>({placement:D.placement,...D.positionerProps}));return T(j),(e,t)=>(d(),r(h(C),l(h(k),{"onUpdate:open":t[0]||=e=>O(`update:open`,e)}),{default:g(()=>[o(h(w),l(s.triggerProps,{"as-child":``}),{default:g(()=>[f(e.$slots,`trigger`)]),_:3},16),o(h(x),u(c(s.portalProps)),{default:g(()=>[o(h(S),l(M.value,m(h(A))),{default:g(()=>[o(h(b),u(c(s.popupProps)),{default:g(()=>[f(e.$slots,`default`,{},()=>[a(p(s.content),1)]),s.showArrow?(d(),r(h(y),u(l({key:0},s.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{E as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tooltipVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{TooltipArrow as y,TooltipPopup as b,TooltipPortal as x,TooltipPositioner as S,TooltipRoot as C,TooltipTrigger as w,provideTooltipUi as T}from"@soybeanjs/headless/tooltip";const E=s({name:`STooltip`,__name:`tooltip`,props:{class:{},size:{},ui:{},content:{},placement:{},showArrow:{type:Boolean,default:!0},popupProps:{},positionerProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`],setup(s,{emit:E}){let D=s,O=E,k=v(D,[`class`,`size`,`ui`,`content`,`showArrow`,`popupProps`,`positionerProps`,`triggerProps`,`portalProps`,`arrowProps`]),A=_(O),j=n(()=>e(t({size:D.size}),D.ui,{popup:D.class})),M=n(()=>({placement:D.placement,...D.positionerProps}));return T(j),(e,t)=>(d(),r(h(C),l(h(k),{"onUpdate:open":t[0]||=e=>O(`update:open`,e)}),{default:g(()=>[o(h(w),l(s.triggerProps,{"as-child":``}),{default:g(()=>[f(e.$slots,`trigger`)]),_:3},16),o(h(x),u(c(s.portalProps)),{default:g(()=>[o(h(S),l(M.value,m(h(A))),{default:g(()=>[o(h(b),u(c(s.popupProps)),{default:g(()=>[f(e.$slots,`default`,{},()=>[a(p(s.content),1)]),s.showArrow?(d(),r(h(y),u(l({key:0},s.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{E as default};
@@ -1,23 +1,60 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue, Placement, TooltipArrowProps, TooltipPopupProps, TooltipPortalProps, TooltipPositionerEmits, TooltipPositionerProps, TooltipRootEmits, TooltipRootProps, TooltipTriggerProps, TooltipUi } from "@soybeanjs/headless";
2
+ import { TooltipArrowProps, TooltipPopupProps, TooltipPortalProps, TooltipPositionerEmits, TooltipPositionerProps, TooltipRootEmits, TooltipRootProps, TooltipTriggerProps, TooltipUi } from "@soybeanjs/headless/tooltip";
3
+ import { ClassValue, Placement } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/tooltip/types.d.ts
6
+ /**
7
+ * Props for the tooltip component.
8
+ */
5
9
  interface TooltipProps extends TooltipRootProps {
6
10
  /**
7
11
  * class of popup
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<TooltipUi>;
22
+ /**
23
+ * Content.
24
+ */
12
25
  content?: string;
26
+ /**
27
+ * Placement.
28
+ */
13
29
  placement?: Placement;
30
+ /**
31
+ * Whether to show an arrow.
32
+ */
14
33
  showArrow?: boolean;
34
+ /**
35
+ * Props forwarded to the popup element.
36
+ */
15
37
  popupProps?: TooltipPopupProps;
38
+ /**
39
+ * Props forwarded to the positioner element.
40
+ */
16
41
  positionerProps?: TooltipPositionerProps;
42
+ /**
43
+ * Props forwarded to the trigger element.
44
+ */
17
45
  triggerProps?: TooltipTriggerProps;
46
+ /**
47
+ * Props forwarded to the portal element.
48
+ */
18
49
  portalProps?: TooltipPortalProps;
50
+ /**
51
+ * Props forwarded to the arrow element.
52
+ */
19
53
  arrowProps?: TooltipArrowProps;
20
54
  }
55
+ /**
56
+ * Emits for the tooltip component.
57
+ */
21
58
  type TooltipEmits = TooltipRootEmits & TooltipPositionerEmits;
22
59
  //#endregion
23
60
  export { TooltipEmits, TooltipProps };
@@ -1,5 +1,6 @@
1
1
  import { _default } from "./tree.vue.js";
2
2
  import { TreeVirtualizerEmits, TreeVirtualizerProps } from "./types.js";
3
3
  import { _default as _default$1 } from "./tree-virtualizer.vue.js";
4
- import { FlattenedItem, TreeItem as STreeItem, TreeItemBaseData, TreeItemData, TreeItemEmits, TreeItemProps, TreeRootEmits, TreeRootProps, TreeSelectBehavior, TreeToggleBehavior, TreeVirtualizerItem as STreeVirtualizerItem, TreeVirtualizerItemEmits, TreeVirtualizerItemProps, TreeVirtualizerRootEmits, TreeVirtualizerRootProps } from "@soybeanjs/headless/tree";
5
- export { type FlattenedItem, STreeItem, STreeVirtualizerItem, type TreeItemBaseData, type TreeItemData, type TreeItemEmits, type TreeItemProps, type TreeRootEmits, type TreeRootProps, type TreeSelectBehavior, type TreeToggleBehavior, type TreeVirtualizerItemEmits, type TreeVirtualizerItemProps, type TreeVirtualizerRootEmits, type TreeVirtualizerRootProps };
4
+ import { TreeItem as STreeItem, TreeVirtualizerItem as STreeVirtualizerItem } from "@soybeanjs/headless/tree";
5
+ export * from "@soybeanjs/headless/tree";
6
+ export { STreeItem, STreeVirtualizerItem };
@@ -1 +1 @@
1
- import{Fragment as e,createBlock as t,createElementBlock as n,createVNode as r,defineComponent as i,mergeProps as a,openBlock as o,renderList as s,renderSlot as c,toHandlers as l,unref as u,withCtx as d}from"vue";import{useForwardListeners as f,useOmitProps as p}from"@soybeanjs/headless/composables";import{TreeVirtualizerRoot as m,VirtualizerContent as h}from"@soybeanjs/headless";const g=i({name:`STreeVirtualizer`,__name:`tree-virtualizer`,props:{contentProps:{},dynamicContentProps:{},modelValue:{},defaultValue:{},multiple:{},items:{},expanded:{},defaultExpanded:{},selectionBehavior:{},toggleBehavior:{},dir:{},loop:{type:Boolean},disabled:{type:Boolean},propagateSelect:{type:Boolean},bubbleSelect:{type:Boolean},allowParentSelect:{type:Boolean},asChild:{type:Boolean},as:{},height:{},options:{},dynamic:{type:Boolean}},emits:[`update:modelValue`,`update:expanded`],setup(i,{emit:g}){let _=i,v=g,y=p(_,[`contentProps`,`dynamicContentProps`]),b=f(v);return(f,p)=>(o(),t(u(m),a(u(y),l(u(b))),{default:d(({virtualItems:t,flattenItems:l,modelValue:p,expanded:m})=>[r(u(h),a(i.contentProps,{"dynamic-content-props":i.dynamicContentProps}),{default:d(()=>[(o(!0),n(e,null,s(t,e=>c(f.$slots,`item`,{key:e.index,virtualItem:e,item:l[e.index],modelValue:p,expanded:m})),128))]),_:2},1040,[`dynamic-content-props`])]),_:3},16))}});export{g as default};
1
+ import{Fragment as e,createBlock as t,createElementBlock as n,createVNode as r,defineComponent as i,mergeProps as a,openBlock as o,renderList as s,renderSlot as c,toHandlers as l,unref as u,withCtx as d}from"vue";import{useForwardListeners as f,useOmitProps as p}from"@soybeanjs/headless/composables";import{TreeVirtualizerRoot as m}from"@soybeanjs/headless/tree";import{VirtualizerContent as h}from"@soybeanjs/headless/virtualizer";const g=i({name:`STreeVirtualizer`,__name:`tree-virtualizer`,props:{contentProps:{},dynamicContentProps:{},modelValue:{},defaultValue:{},multiple:{},items:{},expanded:{},defaultExpanded:{},selectionBehavior:{},toggleBehavior:{},dir:{},loop:{type:Boolean},disabled:{type:Boolean},propagateSelect:{type:Boolean},bubbleSelect:{type:Boolean},allowParentSelect:{type:Boolean},asChild:{type:Boolean},as:{},height:{},options:{},dynamic:{type:Boolean}},emits:[`update:modelValue`,`update:expanded`],setup(i,{emit:g}){let _=i,v=g,y=p(_,[`contentProps`,`dynamicContentProps`]),b=f(v);return(f,p)=>(o(),t(u(m),a(u(y),l(u(b))),{default:d(({virtualItems:t,flattenItems:l,modelValue:p,expanded:m})=>[r(u(h),a(i.contentProps,{"dynamic-content-props":i.dynamicContentProps}),{default:d(()=>[(o(!0),n(e,null,s(t,e=>c(f.$slots,`item`,{key:e.index,virtualItem:e,item:l[e.index],modelValue:p,expanded:m})),128))]),_:2},1040,[`dynamic-content-props`])]),_:3},16))}});export{g as default};
@@ -1,7 +1,8 @@
1
1
  import { TreeVirtualizerProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
+ import { TreeItemData } from "@soybeanjs/headless/tree";
4
+ import { MaybeArray } from "@soybeanjs/headless/types";
3
5
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
- import { MaybeArray, TreeItemData } from "@soybeanjs/headless";
5
6
  import * as _$_tanstack_vue_virtual0 from "@tanstack/vue-virtual";
6
7
 
7
8
  //#region src/components/tree/tree-virtualizer.vue.d.ts
@@ -1 +1 @@
1
- import{Fragment as e,createBlock as t,createElementBlock as n,defineComponent as r,mergeProps as i,openBlock as a,renderList as o,renderSlot as s,toHandlers as c,unref as l,withCtx as u,withDirectives as d}from"vue";import{useForwardListeners as f}from"@soybeanjs/headless/composables";import{TreeRoot as p}from"@soybeanjs/headless";import{vAutoAnimate as m}from"@formkit/auto-animate";const h=r({name:`STree`,__name:`tree`,props:{modelValue:{},defaultValue:{},multiple:{},items:{},expanded:{},defaultExpanded:{},selectionBehavior:{},toggleBehavior:{},dir:{},loop:{type:Boolean,default:!0},disabled:{type:Boolean},propagateSelect:{type:Boolean},bubbleSelect:{type:Boolean},allowParentSelect:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:expanded`],setup(r,{emit:h}){let g=r,_=f(h);return(r,f)=>d((a(),t(l(p),i(g,c(l(_))),{default:u(({flattenItems:t,modelValue:i,expanded:c})=>[s(r.$slots,`top`),(a(!0),n(e,null,o(t,e=>s(r.$slots,`item`,{key:e.value,item:e,modelValue:i,expanded:c})),128)),s(r.$slots,`bottom`)]),_:3},16)),[[l(m)]])}});export{h as default};
1
+ import{Fragment as e,createBlock as t,createElementBlock as n,defineComponent as r,mergeProps as i,openBlock as a,renderList as o,renderSlot as s,toHandlers as c,unref as l,withCtx as u,withDirectives as d}from"vue";import{useForwardListeners as f}from"@soybeanjs/headless/composables";import{vAutoAnimate as p}from"@formkit/auto-animate";import{TreeRoot as m}from"@soybeanjs/headless/tree";const h=r({name:`STree`,__name:`tree`,props:{modelValue:{},defaultValue:{},multiple:{},items:{},expanded:{},defaultExpanded:{},selectionBehavior:{},toggleBehavior:{},dir:{},loop:{type:Boolean,default:!0},disabled:{type:Boolean},propagateSelect:{type:Boolean},bubbleSelect:{type:Boolean},allowParentSelect:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:expanded`],setup(r,{emit:h}){let g=r,_=f(h);return(r,f)=>d((a(),t(l(m),i(g,c(l(_))),{default:u(({flattenItems:t,modelValue:i,expanded:c})=>[s(r.$slots,`top`),(a(!0),n(e,null,o(t,e=>s(r.$slots,`item`,{key:e.value,item:e,modelValue:i,expanded:c})),128)),s(r.$slots,`bottom`)]),_:3},16)),[[l(p)]])}});export{h as default};
@@ -1,6 +1,7 @@
1
1
  import * as _$vue from "vue";
2
+ import { TreeItemData, TreeRootProps } from "@soybeanjs/headless/tree";
3
+ import { MaybeArray } from "@soybeanjs/headless/types";
2
4
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
3
- import { MaybeArray, TreeItemData, TreeRootProps } from "@soybeanjs/headless";
4
5
 
5
6
  //#region src/components/tree/tree.vue.d.ts
6
7
  declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string> | undefined, M extends boolean>(__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,10 +1,24 @@
1
- import { MaybeArray, TreeItemData, TreeVirtualizerRootEmits, TreeVirtualizerRootProps, VirtualizerContentProps, VirtualizerDynamicContentProps } from "@soybeanjs/headless";
1
+ import { TreeItemData, TreeVirtualizerRootEmits, TreeVirtualizerRootProps } from "@soybeanjs/headless/tree";
2
+ import { VirtualizerContentProps, VirtualizerDynamicContentProps } from "@soybeanjs/headless/virtualizer";
3
+ import { MaybeArray } from "@soybeanjs/headless/types";
2
4
 
3
5
  //#region src/components/tree/types.d.ts
6
+ /**
7
+ * Props for the tree virtualizer component.
8
+ */
4
9
  interface TreeVirtualizerProps<T extends TreeItemData, U extends MaybeArray<string> | undefined, M extends boolean> extends TreeVirtualizerRootProps<T, U, M> {
10
+ /**
11
+ * Props forwarded to the content element.
12
+ */
5
13
  contentProps?: VirtualizerContentProps;
14
+ /**
15
+ * Props forwarded to the dynamic content element.
16
+ */
6
17
  dynamicContentProps?: VirtualizerDynamicContentProps;
7
18
  }
19
+ /**
20
+ * Emits for the tree virtualizer component.
21
+ */
8
22
  type TreeVirtualizerEmits<M extends boolean | undefined> = TreeVirtualizerRootEmits<M>;
9
23
  //#endregion
10
24
  export { TreeVirtualizerEmits, TreeVirtualizerProps };
@@ -1,3 +1,4 @@
1
1
  import { TreeMenuBaseOptionData, TreeMenuContext, TreeMenuEmits, TreeMenuExtendedUi, TreeMenuExtraUiSlot, TreeMenuOptionData, TreeMenuOptionEmits, TreeMenuOptionProps, TreeMenuOptionSlotProps, TreeMenuOptionsContext, TreeMenuOptionsEmits, TreeMenuOptionsProps, TreeMenuProps, TreeMenuStyledItemProps } from "./types.js";
2
2
  import { _default } from "./tree-menu.vue.js";
3
- import { _default as _default$1 } from "./tree-menu-styled-item.vue.js";
3
+ import { _default as _default$1 } from "./tree-menu-styled-item.vue.js";
4
+ export * from "@soybeanjs/headless/tree-menu";
@@ -1 +1 @@
1
- import e from"../icon/icon.js";import t from"../badge/badge.js";import n from"../button/button-icon.js";import r from"../dropdown-menu/dropdown-menu.js";import i from"../tag/tag.js";import{useTreeMenuContext as a,useTreeMenuExtraUi as o}from"./context.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createVNode as p,defineComponent as m,mergeProps as h,normalizeClass as g,openBlock as _,renderSlot as v,toDisplayString as y,unref as b,withCtx as x,withModifiers as S}from"vue";import{useTreeMenuRootContext as C}from"@soybeanjs/headless";const w=m({name:`STreeMenuOptionSlot`,__name:`tree-menu-option-slot`,props:{showLinkIcon:{type:Boolean},as:{},item:{},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},setup(m){let w=m,{collapsed:T}=C(`TreeMenuOptionSlot`),{size:E}=a(`TreeMenuOptionSlot`),D=o(),O=c(()=>!!w.item.children?.filter(e=>!e.hidden)?.length),k=c(()=>({color:`accent`,variant:`raw`,...w.item.tagProps,content:w.item.tag}));return(a,o)=>(_(),d(s,null,[v(a.$slots,`leading`,{item:m.item},()=>[p(e,{icon:m.item.icon},null,8,[`icon`])]),v(a.$slots,`default`,{item:m.item},()=>[m.item.badge?(_(),l(t,h({key:0},m.item.badgeProps,{size:b(E),content:m.item.badge,class:b(D).itemBadge}),{default:x(()=>[f(`span`,{class:g(b(D).itemLabel)},y(m.item.label),3)]),_:1},16,[`size`,`content`,`class`])):(_(),d(`span`,{key:1,class:g(b(D).itemLabel)},y(m.item.label),3))]),m.showLinkIcon?(_(),l(e,{key:0,icon:`lucide:arrow-up-right`,class:g(b(D).itemLinkIcon)},null,8,[`class`])):u(`v-if`,!0),m.item.tag?(_(),l(i,h({key:1},k.value,{size:b(E),content:m.item.tag,class:b(D).itemTag}),null,16,[`size`,`content`,`class`])):u(`v-if`,!0),!b(T)&&m.item.actions?.length?(_(),l(r,h({key:2},m.item.actionMenuProps,{size:b(E),items:m.item.actions,onSelect:m.item.onActionSelect}),{trigger:x(()=>[p(n,{icon:`lucide:ellipsis`,size:b(E),class:g(b(D).itemAction),onClick:o[0]||=S(()=>{},[`stop`])},null,8,[`size`,`class`])]),_:1},16,[`size`,`items`,`onSelect`])):u(`v-if`,!0),v(a.$slots,`trailing`,{item:m.item}),O.value?(_(),l(e,{key:3,icon:`lucide:chevron-right`,class:g(b(D).collapsibleIcon)},null,8,[`class`])):u(`v-if`,!0)],64))}});export{w as default};
1
+ import e from"../icon/icon.js";import t from"../badge/badge.js";import n from"../button/button-icon.js";import r from"../dropdown-menu/dropdown-menu.js";import i from"../tag/tag.js";import{useTreeMenuContext as a,useTreeMenuExtraUi as o}from"./context.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createVNode as p,defineComponent as m,mergeProps as h,normalizeClass as g,openBlock as _,renderSlot as v,toDisplayString as y,unref as b,withCtx as x,withModifiers as S}from"vue";import{useTreeMenuRootContext as C}from"@soybeanjs/headless/tree-menu";const w=m({name:`STreeMenuOptionSlot`,__name:`tree-menu-option-slot`,props:{showLinkIcon:{type:Boolean},as:{},item:{},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},setup(m){let w=m,{collapsed:T}=C(`TreeMenuOptionSlot`),{size:E}=a(`TreeMenuOptionSlot`),D=o(),O=c(()=>!!w.item.children?.filter(e=>!e.hidden)?.length),k=c(()=>({color:`accent`,variant:`raw`,...w.item.tagProps,content:w.item.tag}));return(a,o)=>(_(),d(s,null,[v(a.$slots,`leading`,{item:m.item},()=>[p(e,{icon:m.item.icon},null,8,[`icon`])]),v(a.$slots,`default`,{item:m.item},()=>[m.item.badge?(_(),l(t,h({key:0},m.item.badgeProps,{size:b(E),content:m.item.badge,class:b(D).itemBadge}),{default:x(()=>[f(`span`,{class:g(b(D).itemLabel)},y(m.item.label),3)]),_:1},16,[`size`,`content`,`class`])):(_(),d(`span`,{key:1,class:g(b(D).itemLabel)},y(m.item.label),3))]),m.showLinkIcon?(_(),l(e,{key:0,icon:`lucide:arrow-up-right`,class:g(b(D).itemLinkIcon)},null,8,[`class`])):u(`v-if`,!0),m.item.tag?(_(),l(i,h({key:1},k.value,{size:b(E),content:m.item.tag,class:b(D).itemTag}),null,16,[`size`,`content`,`class`])):u(`v-if`,!0),!b(T)&&m.item.actions?.length?(_(),l(r,h({key:2},m.item.actionMenuProps,{size:b(E),items:m.item.actions,onSelect:m.item.onActionSelect}),{trigger:x(()=>[p(n,{icon:`lucide:ellipsis`,size:b(E),class:g(b(D).itemAction),onClick:o[0]||=S(()=>{},[`stop`])},null,8,[`size`,`class`])]),_:1},16,[`size`,`items`,`onSelect`])):u(`v-if`,!0),v(a.$slots,`trailing`,{item:m.item}),O.value?(_(),l(e,{key:3,icon:`lucide:chevron-right`,class:g(b(D).collapsibleIcon)},null,8,[`class`])):u(`v-if`,!0)],64))}});export{w as default};
@@ -1 +1 @@
1
- import e from"../link/link.js";import t from"../dropdown-menu/dropdown-menu.js";import n from"../tooltip/tooltip.js";import{useTreeMenuContext as r,useTreeMenuExtraUi as i,useTreeMenuOptionsContext as a}from"./context.js";import o from"./tree-menu-option-slot.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as p,createVNode as m,defineComponent as h,guardReactiveProps as g,mergeProps as _,normalizeClass as v,normalizeProps as y,openBlock as b,renderList as x,renderSlot as S,resolveComponent as C,resolveDynamicComponent as w,unref as T,useSlots as E,withCtx as D}from"vue";import{useOmitProps as O}from"@soybeanjs/headless/composables";import{TreeMenuButton as k,TreeMenuCollapsible as A,TreeMenuItem as j,TreeMenuSub as M,useTreeMenuRootContext as N}from"@soybeanjs/headless";const P=h({name:`STreeMenuOption`,__name:`tree-menu-option`,props:{as:{default:`li`},item:{},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`selectDropdown`],setup(h,{emit:P}){let F=h,I=P,L=E(),ee=O(F,[`as`,`item`]),{collapsed:R,modelValue:z,onModelValueChange:B}=N(`TreeMenuOption`),{size:V,side:H}=r(`TreeMenuOption`),{activePaths:U}=a(`TreeMenuOption`),W=i(`itemAbsolute`),G=c(()=>Object.keys(L)),K=c(()=>F.item.children??[]),q=c(()=>!!K.value.length),J=c(()=>{let e=F.item.value;return z.value===e?!1:U.value.includes(e)}),Y=c(()=>!!(F.item.to||F.item.href)),X=c(()=>{let{disabled:e,to:t,href:n,target:r,external:i}=F.item;return Y.value?{disabled:e,to:t,href:n,target:r,external:i}:{}}),Z=c(()=>R.value&&q.value),Q=c(()=>R.value&&!Z.value?F.item.label:void 0),$=c(()=>H.value===`left`?`right`:`left`),te=c(()=>({...F.item.tooltipProps,placement:F.item.tooltipProps?.placement??$.value})),ne=c(()=>({...F.item.dropdownMenuProps,trigger:F.item.dropdownMenuProps?.trigger??`hover`,placement:F.item.dropdownMenuProps?.placement??$.value})),re=()=>{F.item.disabled||B(F.item.value)},ie=e=>{F.item.disabled||(B(e.value),I(`selectDropdown`,e.value))};return(r,i)=>{let a=C(`STreeMenuOption`);return q.value?(b(),l(T(j),_({key:1},h.itemProps,{"as-child":``,value:h.item.value,disabled:h.item.disabled}),{default:D(()=>[m(T(A),_(h.collapsibleProps,{as:h.as,"disabled-collapsible":T(R)}),{trigger:D(()=>[m(T(k),_(h.buttonProps,{"disabled-active":``,"data-child-active":J.value?``:void 0}),{default:D(()=>[m(o,{item:h.item},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},16,[`data-child-active`])]),extra:D(()=>[Z.value?(b(),l(t,_({key:0},ne.value,{items:K.value,disabled:h.item.disabled,size:T(V),"data-menu":h.item.label,"active-value":T(z),onSelect:ie}),{trigger:D(()=>[f(`div`,{class:v(T(W))},null,2)]),_:1},16,[`items`,`disabled`,`size`,`data-menu`,`active-value`])):u(`v-if`,!0)]),default:D(()=>[m(T(M),y(g(h.subProps)),{default:D(()=>[(b(!0),d(s,null,x(K.value,e=>(b(),l(a,_({key:e.value,ref_for:!0},T(ee),{item:e}),p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,_({ref_for:!0},t))])}))]),1040,[`item`]))),128))]),_:3},16)]),_:3},16,[`as`,`disabled-collapsible`])]),_:3},16,[`value`,`disabled`])):(b(),l(T(j),_({key:0},h.itemProps,{as:h.as,value:h.item.value,disabled:h.item.disabled}),{default:D(()=>[Y.value?(b(),l(T(k),_({key:0},h.buttonProps,{"as-child":``}),{default:D(()=>[m(e,y(g(X.value)),{default:D(({isHref:e})=>[m(o,{item:h.item,"show-link-icon":e},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`,`show-link-icon`])]),_:3},16)]),_:3},16)):(b(),l(T(k),y(_({key:1},h.buttonProps)),{default:D(()=>[m(o,{item:h.item},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},16)),Q.value?(b(),l(n,_({key:2},te.value,{size:T(V),content:Q.value}),{trigger:D(()=>[(b(),l(w(Y.value?e:`div`),_(X.value,{class:T(W),onClick:re}),null,16,[`class`]))]),_:1},16,[`size`,`content`])):u(`v-if`,!0)]),_:3},16,[`as`,`value`,`disabled`]))}}});export{P as default};
1
+ import e from"../link/link.js";import t from"../dropdown-menu/dropdown-menu.js";import n from"../tooltip/tooltip.js";import{useTreeMenuContext as r,useTreeMenuExtraUi as i,useTreeMenuOptionsContext as a}from"./context.js";import o from"./tree-menu-option-slot.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as p,createVNode as m,defineComponent as h,guardReactiveProps as g,mergeProps as _,normalizeClass as v,normalizeProps as y,openBlock as b,renderList as x,renderSlot as S,resolveComponent as C,resolveDynamicComponent as w,unref as T,useSlots as E,withCtx as D}from"vue";import{useOmitProps as O}from"@soybeanjs/headless/composables";import{TreeMenuButton as k,TreeMenuCollapsible as A,TreeMenuItem as j,TreeMenuSub as M,useTreeMenuRootContext as N}from"@soybeanjs/headless/tree-menu";const P=h({name:`STreeMenuOption`,__name:`tree-menu-option`,props:{as:{default:`li`},item:{},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`selectDropdown`],setup(h,{emit:P}){let F=h,I=P,L=E(),ee=O(F,[`as`,`item`]),{collapsed:R,modelValue:z,onModelValueChange:B}=N(`TreeMenuOption`),{size:V,side:H}=r(`TreeMenuOption`),{activePaths:U}=a(`TreeMenuOption`),W=i(`itemAbsolute`),G=c(()=>Object.keys(L)),K=c(()=>F.item.children??[]),q=c(()=>!!K.value.length),J=c(()=>{let e=F.item.value;return z.value===e?!1:U.value.includes(e)}),Y=c(()=>!!(F.item.to||F.item.href)),X=c(()=>{let{disabled:e,to:t,href:n,target:r,external:i}=F.item;return Y.value?{disabled:e,to:t,href:n,target:r,external:i}:{}}),Z=c(()=>R.value&&q.value),Q=c(()=>R.value&&!Z.value?F.item.label:void 0),$=c(()=>H.value===`left`?`right`:`left`),te=c(()=>({...F.item.tooltipProps,placement:F.item.tooltipProps?.placement??$.value})),ne=c(()=>({...F.item.dropdownMenuProps,trigger:F.item.dropdownMenuProps?.trigger??`hover`,placement:F.item.dropdownMenuProps?.placement??$.value})),re=()=>{F.item.disabled||B(F.item.value)},ie=e=>{F.item.disabled||(B(e.value),I(`selectDropdown`,e.value))};return(r,i)=>{let a=C(`STreeMenuOption`);return q.value?(b(),l(T(j),_({key:1},h.itemProps,{"as-child":``,value:h.item.value,disabled:h.item.disabled}),{default:D(()=>[m(T(A),_(h.collapsibleProps,{as:h.as,"disabled-collapsible":T(R)}),{trigger:D(()=>[m(T(k),_(h.buttonProps,{"disabled-active":``,"data-child-active":J.value?``:void 0}),{default:D(()=>[m(o,{item:h.item},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},16,[`data-child-active`])]),extra:D(()=>[Z.value?(b(),l(t,_({key:0},ne.value,{items:K.value,disabled:h.item.disabled,size:T(V),"data-menu":h.item.label,"active-value":T(z),onSelect:ie}),{trigger:D(()=>[f(`div`,{class:v(T(W))},null,2)]),_:1},16,[`items`,`disabled`,`size`,`data-menu`,`active-value`])):u(`v-if`,!0)]),default:D(()=>[m(T(M),y(g(h.subProps)),{default:D(()=>[(b(!0),d(s,null,x(K.value,e=>(b(),l(a,_({key:e.value,ref_for:!0},T(ee),{item:e}),p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,_({ref_for:!0},t))])}))]),1040,[`item`]))),128))]),_:3},16)]),_:3},16,[`as`,`disabled-collapsible`])]),_:3},16,[`value`,`disabled`])):(b(),l(T(j),_({key:0},h.itemProps,{as:h.as,value:h.item.value,disabled:h.item.disabled}),{default:D(()=>[Y.value?(b(),l(T(k),_({key:0},h.buttonProps,{"as-child":``}),{default:D(()=>[m(e,y(g(X.value)),{default:D(({isHref:e})=>[m(o,{item:h.item,"show-link-icon":e},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`,`show-link-icon`])]),_:3},16)]),_:3},16)):(b(),l(T(k),y(_({key:1},h.buttonProps)),{default:D(()=>[m(o,{item:h.item},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},16)),Q.value?(b(),l(n,_({key:2},te.value,{size:T(V),content:Q.value}),{trigger:D(()=>[(b(),l(w(Y.value?e:`div`),_(X.value,{class:T(W),onClick:re}),null,16,[`class`]))]),_:1},16,[`size`,`content`])):u(`v-if`,!0)]),_:3},16,[`as`,`value`,`disabled`]))}}});export{P as default};
@@ -1 +1 @@
1
- import e from"../icon/icon.js";import{provideTreeMenuOptionsContext as t}from"./context.js";import n from"./tree-menu-option.js";import{filterHiddenMenus as r}from"./shared.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,mergeProps as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{usePickProps as x}from"@soybeanjs/headless/composables";import{TreeMenuGroup as S,TreeMenuGroupLabel as C,TreeMenuGroupRoot as w,useTreeMenuRootContext as T}from"@soybeanjs/headless";import{getTreePaths as E}from"@soybeanjs/headless/shared";const D=f({name:`STreeMenuOptions`,__name:`tree-menu-options`,props:{items:{},groupRootProps:{},groupProps:{},groupLabelProps:{},showGroupIcon:{type:Boolean},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`selectDropdown`],setup(f,{emit:D}){let O=f,k=D,A=y(),j={item:`default`,"item-leading":`leading`,"item-trailing":`trailing`},M=a(()=>Object.keys(A).filter(e=>e.startsWith(`item`)).map(e=>({key:e,map:j[e]}))),N=x(O,[`itemProps`,`buttonProps`,`linkProps`,`collapsibleProps`,`subProps`]),{modelValue:P}=T(`TreeMenuOptions`),F=a(()=>r(O.items));return t({activePaths:a(()=>E(P.value,F.value))}),(t,r)=>(m(!0),c(i,null,h(F.value,a=>(m(),c(i,{key:a.value},[a.isGroup?(m(),o(v(w),p({key:0,ref_for:!0},f.groupRootProps),{default:b(()=>[d(v(C),p({ref_for:!0},f.groupLabelProps),{default:b(()=>[g(t.$slots,`group-label`,{item:a},()=>[f.showGroupIcon?(m(),o(e,{key:0,icon:a.icon},null,8,[`icon`])):s(`v-if`,!0),l(`span`,null,_(a.label),1)])]),_:2},1040),d(v(S),p({ref_for:!0},f.groupProps),{default:b(()=>[(m(!0),c(i,null,h(a.children,e=>(m(),o(n,p({key:e.value},{ref_for:!0},v(N),{item:e,onSelectDropdown:r[0]||=e=>k(`selectDropdown`,e)}),u({_:2},[h(M.value,e=>({name:e.map,fn:b(n=>[g(t.$slots,e.key,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:2},1040)]),_:2},1040)):(m(),o(n,p({key:1,as:`div`},{ref_for:!0},v(N),{item:a,onSelectDropdown:r[1]||=e=>k(`selectDropdown`,e)}),u({_:2},[h(M.value,e=>({name:e.map,fn:b(n=>[g(t.$slots,e.key,p({ref_for:!0},n))])}))]),1040,[`item`]))],64))),128))}});export{D as default};
1
+ import e from"../icon/icon.js";import{provideTreeMenuOptionsContext as t}from"./context.js";import n from"./tree-menu-option.js";import{filterHiddenMenus as r}from"./shared.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,mergeProps as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{usePickProps as x}from"@soybeanjs/headless/composables";import{getTreePaths as S}from"@soybeanjs/headless/shared";import{TreeMenuGroup as C,TreeMenuGroupLabel as w,TreeMenuGroupRoot as T,useTreeMenuRootContext as E}from"@soybeanjs/headless/tree-menu";const D=f({name:`STreeMenuOptions`,__name:`tree-menu-options`,props:{items:{},groupRootProps:{},groupProps:{},groupLabelProps:{},showGroupIcon:{type:Boolean},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`selectDropdown`],setup(f,{emit:D}){let O=f,k=D,A=y(),j={item:`default`,"item-leading":`leading`,"item-trailing":`trailing`},M=a(()=>Object.keys(A).filter(e=>e.startsWith(`item`)).map(e=>({key:e,map:j[e]}))),N=x(O,[`itemProps`,`buttonProps`,`linkProps`,`collapsibleProps`,`subProps`]),{modelValue:P}=E(`TreeMenuOptions`),F=a(()=>r(O.items));return t({activePaths:a(()=>S(P.value,F.value))}),(t,r)=>(m(!0),c(i,null,h(F.value,a=>(m(),c(i,{key:a.value},[a.isGroup?(m(),o(v(T),p({key:0,ref_for:!0},f.groupRootProps),{default:b(()=>[d(v(w),p({ref_for:!0},f.groupLabelProps),{default:b(()=>[g(t.$slots,`group-label`,{item:a},()=>[f.showGroupIcon?(m(),o(e,{key:0,icon:a.icon},null,8,[`icon`])):s(`v-if`,!0),l(`span`,null,_(a.label),1)])]),_:2},1040),d(v(C),p({ref_for:!0},f.groupProps),{default:b(()=>[(m(!0),c(i,null,h(a.children,e=>(m(),o(n,p({key:e.value},{ref_for:!0},v(N),{item:e,onSelectDropdown:r[0]||=e=>k(`selectDropdown`,e)}),u({_:2},[h(M.value,e=>({name:e.map,fn:b(n=>[g(t.$slots,e.key,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:2},1040)]),_:2},1040)):(m(),o(n,p({key:1,as:`div`},{ref_for:!0},v(N),{item:a,onSelectDropdown:r[1]||=e=>k(`selectDropdown`,e)}),u({_:2},[h(M.value,e=>({name:e.map,fn:b(n=>[g(t.$slots,e.key,p({ref_for:!0},n))])}))]),1040,[`item`]))],64))),128))}});export{D as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import"../../theme/index.js";import{provideTreeMenuContext as r,provideTreeMenuExtraUi as i}from"./context.js";import{treeMenuVariants as a}from"./variants.js";import{treeMenuCssVars as o}from"./shared.js";import s from"./tree-menu-options.js";import{computed as c,createBlock as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,usePickProps as w}from"@soybeanjs/headless/composables";import{TreeMenuRoot as T,provideTreeMenuUi as E}from"@soybeanjs/headless";import{transformPropsToContext as D}from"@soybeanjs/headless/shared";const O=f({name:`STreeMenu`,__name:`tree-menu`,props:{class:{},size:{default:`md`},ui:{},side:{default:`left`},collapsedWidth:{default:50},indent:{default:16},modelValue:{},defaultValue:{},expanded:{},defaultExpanded:{},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean},items:{},groupRootProps:{},groupProps:{},groupLabelProps:{},showGroupIcon:{type:Boolean},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`update:modelValue`,`update:expanded`,`update:collapsed`,`selectDropdown`],setup(f,{emit:O}){let k=f,A=O,j=x(),M=c(()=>Object.keys(j).filter(e=>e.startsWith(`item`))),N=w(k,[`modelValue`,`defaultValue`,`expanded`,`defaultExpanded`,`collapsed`,`defaultCollapsed`]),P=w(k,[`items`,`groupRootProps`,`groupProps`,`groupLabelProps`,`showGroupIcon`,`itemProps`,`buttonProps`,`linkProps`,`collapsibleProps`,`subProps`]),F=C(A),I=c(()=>{let e=k.collapsedWidth*n[k.size],r=k.indent*n[k.size];return{[o.collapsedWidth]:`${e/t.md}rem`,[o.indent]:`${r/t.md}rem`}}),L=c(()=>e(a({size:k.size}),k.ui,{root:k.class}));return E(L),i(L),r(D(k,[`size`,`side`])),(e,t)=>(g(),l(b(T),m(b(N),{style:I.value},y(b(F))),{default:S(()=>[v(e.$slots,`top`),d(s,m(b(P),{onSelectDropdown:t[0]||=e=>A(`selectDropdown`,e)}),u({_:2},[_(M.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,h(p(n)))])}))]),1040),v(e.$slots,`bottom`)]),_:3},16,[`style`]))}});export{O as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import"../../theme/index.js";import{provideTreeMenuContext as r,provideTreeMenuExtraUi as i}from"./context.js";import{treeMenuVariants as a}from"./variants.js";import{treeMenuCssVars as o}from"./shared.js";import s from"./tree-menu-options.js";import{computed as c,createBlock as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,usePickProps as w}from"@soybeanjs/headless/composables";import{transformPropsToContext as T}from"@soybeanjs/headless/shared";import{TreeMenuRoot as E,provideTreeMenuUi as D}from"@soybeanjs/headless/tree-menu";const O=f({name:`STreeMenu`,__name:`tree-menu`,props:{class:{},size:{default:`md`},ui:{},side:{default:`left`},collapsedWidth:{default:50},indent:{default:16},modelValue:{},defaultValue:{},expanded:{},defaultExpanded:{},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean},items:{},groupRootProps:{},groupProps:{},groupLabelProps:{},showGroupIcon:{type:Boolean},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`update:modelValue`,`update:expanded`,`update:collapsed`,`selectDropdown`],setup(f,{emit:O}){let k=f,A=O,j=x(),M=c(()=>Object.keys(j).filter(e=>e.startsWith(`item`))),N=w(k,[`modelValue`,`defaultValue`,`expanded`,`defaultExpanded`,`collapsed`,`defaultCollapsed`]),P=w(k,[`items`,`groupRootProps`,`groupProps`,`groupLabelProps`,`showGroupIcon`,`itemProps`,`buttonProps`,`linkProps`,`collapsibleProps`,`subProps`]),F=C(A),I=c(()=>{let e=k.collapsedWidth*n[k.size],r=k.indent*n[k.size];return{[o.collapsedWidth]:`${e/t.md}rem`,[o.indent]:`${r/t.md}rem`}}),L=c(()=>e(a({size:k.size}),k.ui,{root:k.class}));return D(L),i(L),r(T(k,[`size`,`side`])),(e,t)=>(g(),l(b(E),m(b(N),{style:I.value},y(b(F))),{default:S(()=>[v(e.$slots,`top`),d(s,m(b(P),{onSelectDropdown:t[0]||=e=>A(`selectDropdown`,e)}),u({_:2},[_(M.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,h(p(n)))])}))]),1040),v(e.$slots,`bottom`)]),_:3},16,[`style`]))}});export{O as default};
@@ -2,13 +2,19 @@ import { ThemeSize } from "../../theme/types.js";
2
2
  import { IconValue } from "../icon/types.js";
3
3
  import { BadgeProps } from "../badge/types.js";
4
4
  import { DropdownMenuProps } from "../dropdown-menu/types.js";
5
- import { MenuOptionData } from "../menu/index.js";
6
- import { TagProps as TagProps$1 } from "../tag/types.js";
5
+ import { index_d_exports } from "../menu/index.js";
6
+ import { TagProps } from "../tag/types.js";
7
7
  import { TooltipProps } from "../tooltip/types.js";
8
8
  import { ComputedRef, HTMLAttributes } from "vue";
9
- import { AsTag, ClassValue, HorizontalSide, LinkBaseProps, LinkProps, PropsToContext, TreeMenuBaseItemProps, TreeMenuButtonProps, TreeMenuCollapsibleProps, TreeMenuGroupLabelProps, TreeMenuGroupProps, TreeMenuGroupRootProps, TreeMenuItemProps, TreeMenuRootEmits, TreeMenuRootProps, TreeMenuSubProps, TreeMenuUiSlot, UiClass } from "@soybeanjs/headless";
9
+ import { AsTag } from "@soybeanjs/headless/primitive";
10
+ import { LinkBaseProps, LinkProps } from "@soybeanjs/headless/link";
11
+ import { TreeMenuBaseItemProps, TreeMenuButtonProps, TreeMenuCollapsibleProps, TreeMenuGroupLabelProps, TreeMenuGroupProps, TreeMenuGroupRootProps, TreeMenuItemProps, TreeMenuRootEmits, TreeMenuRootProps, TreeMenuSubProps, TreeMenuUiSlot } from "@soybeanjs/headless/tree-menu";
12
+ import { ClassValue, HorizontalSide, PropsToContext, UiClass } from "@soybeanjs/headless/types";
10
13
 
11
14
  //#region src/components/tree-menu/types.d.ts
15
+ /**
16
+ * Option data for the tree menu component.
17
+ */
12
18
  interface TreeMenuBaseOptionData extends TreeMenuBaseItemProps, LinkBaseProps {
13
19
  /**
14
20
  * Whether the option is a group. only the first-level options can be groups.
@@ -41,7 +47,7 @@ interface TreeMenuBaseOptionData extends TreeMenuBaseItemProps, LinkBaseProps {
41
47
  /**
42
48
  * The tag props of the option.
43
49
  */
44
- tagProps?: Omit<TagProps$1, 'content'>;
50
+ tagProps?: Omit<TagProps, 'content'>;
45
51
  /**
46
52
  * The tooltip props of the option.
47
53
  */
@@ -53,7 +59,7 @@ interface TreeMenuBaseOptionData extends TreeMenuBaseItemProps, LinkBaseProps {
53
59
  /**
54
60
  * The actions of the option.
55
61
  */
56
- actions?: MenuOptionData[];
62
+ actions?: index_d_exports.MenuOptionData[];
57
63
  /**
58
64
  * The action menu props of the option.
59
65
  */
@@ -61,33 +67,87 @@ interface TreeMenuBaseOptionData extends TreeMenuBaseItemProps, LinkBaseProps {
61
67
  /**
62
68
  * The callback function when an action is selected.
63
69
  */
64
- onActionSelect?: (action: MenuOptionData) => void;
70
+ onActionSelect?: (action: index_d_exports.MenuOptionData) => void;
65
71
  }
72
+ /**
73
+ * Option data for the tree menu component.
74
+ */
66
75
  type TreeMenuOptionData<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionData> = T & {
67
76
  /**
68
77
  * The children of the option.
69
78
  */
70
79
  children?: TreeMenuOptionData<T>[];
71
80
  };
81
+ /**
82
+ * Slot props for the tree menu component.
83
+ */
72
84
  interface TreeMenuOptionSlotProps extends TreeMenuOptionProps {
85
+ /**
86
+ * Whether to show the link icon.
87
+ */
73
88
  showLinkIcon?: boolean;
74
89
  }
90
+ /**
91
+ * Props for the tree menu option component.
92
+ */
75
93
  interface TreeMenuOptionProps {
94
+ /**
95
+ * Rendered element tag.
96
+ */
76
97
  as?: AsTag;
98
+ /**
99
+ * Current item data.
100
+ */
77
101
  item: TreeMenuOptionData;
102
+ /**
103
+ * Props forwarded to the item element.
104
+ */
78
105
  itemProps?: TreeMenuItemProps;
106
+ /**
107
+ * Props forwarded to the button element.
108
+ */
79
109
  buttonProps?: TreeMenuButtonProps;
110
+ /**
111
+ * Props forwarded to the link element.
112
+ */
80
113
  linkProps?: LinkProps;
114
+ /**
115
+ * Props forwarded to the collapsible element.
116
+ */
81
117
  collapsibleProps?: TreeMenuCollapsibleProps;
118
+ /**
119
+ * Props forwarded to the sub element.
120
+ */
82
121
  subProps?: TreeMenuSubProps;
83
122
  }
123
+ /**
124
+ * Emits for the tree menu option component.
125
+ */
84
126
  type TreeMenuOptionEmits = {
127
+ /**
128
+ * Emitted when select dropdown occurs.
129
+ */
85
130
  selectDropdown: [value: string];
86
131
  };
132
+ /**
133
+ * Props for the tree menu options component.
134
+ */
87
135
  interface TreeMenuOptionsProps<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionData> extends Omit<TreeMenuOptionProps, 'as' | 'item'> {
136
+ /**
137
+ * Items rendered by the component.
138
+ */
88
139
  items: TreeMenuOptionData<T>[];
140
+ /**
141
+ * Props forwarded to the group root element.
142
+ */
89
143
  groupRootProps?: TreeMenuGroupRootProps;
144
+ /**
145
+ * Props forwarded to the group element.
146
+ */
90
147
  groupProps?: TreeMenuGroupProps;
148
+ /**
149
+ * Props forwarded to the group label element.
150
+ */
91
151
  groupLabelProps?: TreeMenuGroupLabelProps;
92
152
  /**
93
153
  * Whether to show the group icon.
@@ -96,12 +156,33 @@ interface TreeMenuOptionsProps<T extends TreeMenuBaseOptionData = TreeMenuBaseOp
96
156
  */
97
157
  showGroupIcon?: boolean;
98
158
  }
159
+ /**
160
+ * Emits for the tree menu options component.
161
+ */
99
162
  type TreeMenuOptionsEmits = TreeMenuOptionEmits;
163
+ /**
164
+ * Additional UI slots for the tree menu component.
165
+ */
100
166
  type TreeMenuExtraUiSlot = 'itemLabel' | 'itemAbsolute' | 'itemBadge' | 'itemTag' | 'itemAction' | 'itemLinkIcon' | 'collapsibleIcon';
167
+ /**
168
+ * Extended UI class overrides for the tree menu component.
169
+ */
101
170
  type TreeMenuExtendedUi = UiClass<TreeMenuUiSlot | TreeMenuExtraUiSlot>;
171
+ /**
172
+ * Props for the tree menu component.
173
+ */
102
174
  interface TreeMenuProps<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionData> extends TreeMenuRootProps, TreeMenuOptionsProps<T> {
175
+ /**
176
+ * Additional class names applied to the root element.
177
+ */
103
178
  class?: ClassValue;
179
+ /**
180
+ * Visual size of the component.
181
+ */
104
182
  size?: ThemeSize;
183
+ /**
184
+ * Per-slot class overrides for the component.
185
+ */
105
186
  ui?: Partial<TreeMenuExtendedUi>;
106
187
  /**
107
188
  * The side of the tree menu.
@@ -122,14 +203,38 @@ interface TreeMenuProps<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionDat
122
203
  */
123
204
  indent?: number;
124
205
  }
206
+ /**
207
+ * Emits for the tree menu component.
208
+ */
125
209
  type TreeMenuEmits = TreeMenuRootEmits & TreeMenuOptionEmits;
210
+ /**
211
+ * Props for the tree menu styled item component.
212
+ */
126
213
  interface TreeMenuStyledItemProps extends /** @vue-ignore */HTMLAttributes {
214
+ /**
215
+ * Additional class names applied to the root element.
216
+ */
127
217
  class?: ClassValue;
218
+ /**
219
+ * Visual size of the component.
220
+ */
128
221
  size?: ThemeSize;
222
+ /**
223
+ * Per-slot class overrides for the component.
224
+ */
129
225
  ui?: Partial<Pick<TreeMenuExtendedUi, 'item' | 'button'>>;
130
226
  }
227
+ /**
228
+ * Context for the tree menu component.
229
+ */
131
230
  interface TreeMenuContext extends PropsToContext<TreeMenuProps, 'size' | 'side'> {}
231
+ /**
232
+ * Context for the tree menu options component.
233
+ */
132
234
  interface TreeMenuOptionsContext {
235
+ /**
236
+ * Active paths tracked by the component context.
237
+ */
133
238
  activePaths: ComputedRef<string[]>;
134
239
  }
135
240
  //#endregion
@@ -1,4 +1,5 @@
1
1
  import { VirtualizerProps } from "./types.js";
2
2
  import { _default } from "./virtualizer.vue.js";
3
- import { VirtualizerContentProps, VirtualizerDynamicContentProps, VirtualizerItem as SVirtualizerItem, VirtualizerItemProps, VirtualizerOptions, VirtualizerRootProps } from "@soybeanjs/headless/virtualizer";
4
- export { SVirtualizerItem, type VirtualizerContentProps, type VirtualizerDynamicContentProps, type VirtualizerItemProps, type VirtualizerOptions, type VirtualizerRootProps };
3
+ import { VirtualizerItem as SVirtualizerItem } from "@soybeanjs/headless/virtualizer";
4
+ export * from "@soybeanjs/headless/virtualizer";
5
+ export { SVirtualizerItem };
@@ -1,8 +1,17 @@
1
- import { VirtualizerContentProps, VirtualizerDynamicContentProps, VirtualizerRootProps } from "@soybeanjs/headless";
1
+ import { VirtualizerContentProps, VirtualizerDynamicContentProps, VirtualizerRootProps } from "@soybeanjs/headless/virtualizer";
2
2
 
3
3
  //#region src/components/virtualizer/types.d.ts
4
+ /**
5
+ * Props for the virtualizer component.
6
+ */
4
7
  interface VirtualizerProps<T extends Record<string, any>> extends VirtualizerRootProps<T> {
8
+ /**
9
+ * Props forwarded to the content element.
10
+ */
5
11
  contentProps?: VirtualizerContentProps;
12
+ /**
13
+ * Props forwarded to the dynamic content element.
14
+ */
6
15
  dynamicContentProps?: VirtualizerDynamicContentProps;
7
16
  }
8
17
  //#endregion
@@ -1 +1 @@
1
- import{Fragment as e,createBlock as t,createElementBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{VirtualizerContent as m,VirtualizerRoot as h}from"@soybeanjs/headless";const g=i({name:`SVirtualizer`,__name:`virtualizer`,props:{contentProps:{},dynamicContentProps:{},height:{},items:{},options:{},dynamic:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let g=p(i,[`contentProps`,`dynamicContentProps`]);return(p,_)=>(c(),t(d(h),s(a(d(g))),{default:f(({virtualItems:t,items:a})=>[r(d(m),o(i.contentProps,{"dynamic-content-props":i.dynamicContentProps}),{default:f(()=>[(c(!0),n(e,null,l(t,e=>u(p.$slots,`item`,{virtualItem:e,index:e.index,item:a[e.index]})),256))]),_:2},1040,[`dynamic-content-props`])]),_:3},16))}});export{g as default};
1
+ import{Fragment as e,createBlock as t,createElementBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderList as l,renderSlot as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{VirtualizerContent as m,VirtualizerRoot as h}from"@soybeanjs/headless/virtualizer";const g=i({name:`SVirtualizer`,__name:`virtualizer`,props:{contentProps:{},dynamicContentProps:{},height:{},items:{},options:{},dynamic:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let g=p(i,[`contentProps`,`dynamicContentProps`]);return(p,_)=>(c(),t(d(h),s(a(d(g))),{default:f(({virtualItems:t,items:a})=>[r(d(m),o(i.contentProps,{"dynamic-content-props":i.dynamicContentProps}),{default:f(()=>[(c(!0),n(e,null,l(t,e=>u(p.$slots,`item`,{virtualItem:e,index:e.index,item:a[e.index]})),256))]),_:2},1040,[`dynamic-content-props`])]),_:3},16))}});export{g as default};
@@ -0,0 +1,3 @@
1
+ import { YearPickerEmits, YearPickerProps, YearPickerSlots } from "./types.js";
2
+ import { _default } from "./year-picker.vue.js";
3
+ export * from "@soybeanjs/headless/year-picker";