@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
@@ -1,17 +1,36 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { AlignSide, ClassValue, DefinedValue, MenubarCompactEmits, MenubarCompactProps, MenubarCompactSlots, MenubarUi } from "@soybeanjs/headless";
2
+ import { MenubarCompactEmits, MenubarCompactProps, MenubarCompactSlots, MenubarUi } from "@soybeanjs/headless/menubar";
3
+ import { AlignSide, ClassValue, DefinedValue } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/menubar/types.d.ts
6
+ /**
7
+ * Properties for the Menubar component.
8
+ */
5
9
  interface MenubarProps<T extends DefinedValue = DefinedValue> extends MenubarCompactProps<T> {
6
10
  /**
7
11
  * class of menubar root
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<MenubarUi>;
22
+ /**
23
+ * Indicator position.
24
+ */
12
25
  indicatorPosition?: AlignSide;
13
26
  }
27
+ /**
28
+ * Events for the Menubar component.
29
+ */
14
30
  type MenubarEmits<T extends DefinedValue = DefinedValue> = MenubarCompactEmits<T>;
31
+ /**
32
+ * Slots for the Menubar component.
33
+ */
15
34
  type MenubarSlots<T extends DefinedValue = DefinedValue> = MenubarCompactSlots<T>;
16
35
  //#endregion
17
36
  export { MenubarEmits, MenubarProps, MenubarSlots };
@@ -1,4 +1,3 @@
1
1
  import { MonthPickerEmits, MonthPickerProps, MonthPickerSlots } from "./types.js";
2
2
  import { _default } from "./month-picker.vue.js";
3
- import { MonthPickerPopupProps as MonthPickerPopupProps$1, MonthPickerRootEmits as MonthPickerRootEmits$1, MonthPickerRootProps as MonthPickerRootProps$1, MonthPickerTriggerProps as MonthPickerTriggerProps$1, MonthPickerUi as MonthPickerUi$1, MonthPickerUiSlot } from "@soybeanjs/headless/month-picker";
4
- export { type MonthPickerPopupProps$1 as MonthPickerPopupProps, type MonthPickerRootEmits$1 as MonthPickerRootEmits, type MonthPickerRootProps$1 as MonthPickerRootProps, type MonthPickerTriggerProps$1 as MonthPickerTriggerProps, type MonthPickerUi$1 as MonthPickerUi, type MonthPickerUiSlot };
3
+ export * from "@soybeanjs/headless/month-picker";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthPickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthPickerPopup as b,MonthPickerRoot as x,MonthPickerTrigger as S,provideMonthPickerUi as C}from"@soybeanjs/headless/month-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthPicker`,__name:`month-picker`,props:{class:{},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthPickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthPickerPopup as b,MonthPickerRoot as x,MonthPickerTrigger as S,provideMonthPickerUi as C}from"@soybeanjs/headless/month-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthPicker`,__name:`month-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
@@ -1,32 +1,71 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue } from "@soybeanjs/headless";
3
2
  import { MonthPickerPopupProps, MonthPickerRootEmits, MonthPickerRootProps, MonthPickerTriggerProps, MonthPickerUi } from "@soybeanjs/headless/month-picker";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
4
4
  import { DateValue } from "@internationalized/date";
5
5
 
6
6
  //#region src/components/month-picker/types.d.ts
7
- interface MonthPickerProps extends /* @vue-ignore */MonthPickerRootProps {
7
+ /**
8
+ * Properties for the MonthPicker component.
9
+ */
10
+ interface MonthPickerProps extends /** @vue-ignore */MonthPickerRootProps {
11
+ /**
12
+ * Additional class names applied to the root element.
13
+ */
8
14
  class?: ClassValue;
15
+ /**
16
+ * Visual size of the component.
17
+ */
9
18
  size?: ThemeSize;
19
+ /**
20
+ * Per-slot class overrides for the component.
21
+ */
10
22
  ui?: Partial<MonthPickerUi>;
23
+ /**
24
+ * Properties forwarded to the trigger element.
25
+ */
11
26
  triggerProps?: MonthPickerTriggerProps;
27
+ /**
28
+ * Properties forwarded to the popup element.
29
+ */
12
30
  popupProps?: MonthPickerPopupProps;
13
31
  }
32
+ /**
33
+ * Events for the MonthPicker component.
34
+ */
14
35
  type MonthPickerEmits = MonthPickerRootEmits;
36
+ /**
37
+ * Slots for the MonthPicker component.
38
+ */
15
39
  interface MonthPickerSlots {
40
+ /**
41
+ * Custom content for the trigger slot.
42
+ */
16
43
  trigger?: (props: {
17
44
  displayValue: string;
18
45
  modelValue: DateValue | undefined;
19
46
  open: boolean;
20
47
  }) => any;
48
+ /**
49
+ * Custom content for the heading slot.
50
+ */
21
51
  heading?: (props: {
22
52
  headingValue: string;
23
53
  }) => any;
54
+ /**
55
+ * Custom content for the prev slot.
56
+ */
24
57
  prev?: (props: {
25
58
  disabled: boolean;
26
59
  }) => any;
60
+ /**
61
+ * Custom content for the next slot.
62
+ */
27
63
  next?: (props: {
28
64
  disabled: boolean;
29
65
  }) => any;
66
+ /**
67
+ * Custom content for the month slot.
68
+ */
30
69
  month?: (props: {
31
70
  date: DateValue;
32
71
  label: string;
@@ -34,6 +73,9 @@ interface MonthPickerSlots {
34
73
  focused: boolean;
35
74
  selected: boolean;
36
75
  }) => any;
76
+ /**
77
+ * Custom content for the default slot.
78
+ */
37
79
  default?: (props: {
38
80
  displayValue: string;
39
81
  modelValue: DateValue | undefined;
@@ -1,4 +1,3 @@
1
1
  import { MonthRangePickerEmits, MonthRangePickerProps, MonthRangePickerSlots } from "./types.js";
2
2
  import { _default } from "./month-range-picker.vue.js";
3
- import { MonthRangePickerPopupProps as MonthRangePickerPopupProps$1, MonthRangePickerRootEmits as MonthRangePickerRootEmits$1, MonthRangePickerRootProps as MonthRangePickerRootProps$1, MonthRangePickerTriggerProps as MonthRangePickerTriggerProps$1, MonthRangePickerUi as MonthRangePickerUi$1, MonthRangePickerUiSlot } from "@soybeanjs/headless/month-range-picker";
4
- export { type MonthRangePickerPopupProps$1 as MonthRangePickerPopupProps, type MonthRangePickerRootEmits$1 as MonthRangePickerRootEmits, type MonthRangePickerRootProps$1 as MonthRangePickerRootProps, type MonthRangePickerTriggerProps$1 as MonthRangePickerTriggerProps, type MonthRangePickerUi$1 as MonthRangePickerUi, type MonthRangePickerUiSlot };
3
+ export * from "@soybeanjs/headless/month-range-picker";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthRangePickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthRangePickerPopup as b,MonthRangePickerRoot as x,MonthRangePickerTrigger as S,provideMonthRangePickerUi as C}from"@soybeanjs/headless/month-range-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthRangePicker`,__name:`month-range-picker`,props:{class:{},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`,`update:endValue`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month range`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{monthRangePickerVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{MonthRangePickerPopup as b,MonthRangePickerRoot as x,MonthRangePickerTrigger as S,provideMonthRangePickerUi as C}from"@soybeanjs/headless/month-range-picker";const w={key:0},T={key:1,class:`text-muted-foreground`},E=c({name:`SMonthRangePicker`,__name:`month-range-picker`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},triggerProps:{},popupProps:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`,`update:endValue`,`update:open`],setup(c,{emit:E}){let D=c,O=v(E),k=y(D,[`class`,`size`,`ui`,`triggerProps`,`popupProps`]);return C(r(()=>e(n({size:D.size}),D.ui,{root:D.class}))),(e,n)=>(f(),i(g(x),u(g(k),h(g(O))),{default:_(n=>[s(g(S),d(l(c.triggerProps)),{default:_(()=>[p(e.$slots,`trigger`,{displayValue:n.displayValue,modelValue:n.modelValue,open:n.open},()=>[s(t,{class:`size-4`,icon:`lucide:calendar-range`}),n.displayValue?(f(),a(`span`,w,m(n.displayValue),1)):(f(),a(`span`,T,`Pick a month range`))])]),_:2},1040),s(g(b),d(l(c.popupProps)),{heading:_(t=>[p(e.$slots,`heading`,d(l(t)),()=>[o(m(t.headingValue),1)])]),prev:_(n=>[p(e.$slots,`prev`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-left`})])]),next:_(n=>[p(e.$slots,`next`,d(l(n)),()=>[s(t,{class:`size-4 rtl:rotate-180`,icon:`lucide:chevron-right`})])]),month:_(t=>[p(e.$slots,`month`,d(l(t)),()=>[o(m(t.label),1)])]),_:3},16),p(e.$slots,`default`,d(l(n)))]),_:3},16))}});export{E as default};
@@ -1,32 +1,71 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue } from "@soybeanjs/headless";
3
2
  import { MonthRangePickerPopupProps, MonthRangePickerRootEmits, MonthRangePickerRootProps, MonthRangePickerTriggerProps, MonthRangePickerUi } from "@soybeanjs/headless/month-range-picker";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
4
4
  import { DateRange, DateValue } from "@soybeanjs/headless/date";
5
5
 
6
6
  //#region src/components/month-range-picker/types.d.ts
7
- interface MonthRangePickerProps extends /* @vue-ignore */MonthRangePickerRootProps {
7
+ /**
8
+ * Properties for the MonthRangePicker component.
9
+ */
10
+ interface MonthRangePickerProps extends /** @vue-ignore */MonthRangePickerRootProps {
11
+ /**
12
+ * Additional class names applied to the root element.
13
+ */
8
14
  class?: ClassValue;
15
+ /**
16
+ * Visual size of the component.
17
+ */
9
18
  size?: ThemeSize;
19
+ /**
20
+ * Per-slot class overrides for the component.
21
+ */
10
22
  ui?: Partial<MonthRangePickerUi>;
23
+ /**
24
+ * Properties forwarded to the trigger element.
25
+ */
11
26
  triggerProps?: MonthRangePickerTriggerProps;
27
+ /**
28
+ * Properties forwarded to the popup element.
29
+ */
12
30
  popupProps?: MonthRangePickerPopupProps;
13
31
  }
32
+ /**
33
+ * Events for the MonthRangePicker component.
34
+ */
14
35
  type MonthRangePickerEmits = MonthRangePickerRootEmits;
36
+ /**
37
+ * Slots for the MonthRangePicker component.
38
+ */
15
39
  interface MonthRangePickerSlots {
40
+ /**
41
+ * Custom content for the trigger slot.
42
+ */
16
43
  trigger?: (props: {
17
44
  displayValue: string;
18
45
  modelValue: DateRange;
19
46
  open: boolean;
20
47
  }) => any;
48
+ /**
49
+ * Custom content for the heading slot.
50
+ */
21
51
  heading?: (props: {
22
52
  headingValue: string;
23
53
  }) => any;
54
+ /**
55
+ * Custom content for the prev slot.
56
+ */
24
57
  prev?: (props: {
25
58
  disabled: boolean;
26
59
  }) => any;
60
+ /**
61
+ * Custom content for the next slot.
62
+ */
27
63
  next?: (props: {
28
64
  disabled: boolean;
29
65
  }) => any;
66
+ /**
67
+ * Custom content for the month slot.
68
+ */
30
69
  month?: (props: {
31
70
  date: DateValue;
32
71
  label: string;
@@ -37,6 +76,9 @@ interface MonthRangePickerSlots {
37
76
  rangeStart: boolean;
38
77
  selected: boolean;
39
78
  }) => any;
79
+ /**
80
+ * Custom content for the default slot.
81
+ */
40
82
  default?: (props: {
41
83
  displayValue: string;
42
84
  modelValue: DateRange;
@@ -1,4 +1,3 @@
1
1
  import { NavigationMenuEmits, NavigationMenuExtendedUi, NavigationMenuExtraUi, NavigationMenuExtraUiSlot, NavigationMenuOptionData, NavigationMenuOptionEmits, NavigationMenuOptionProps, NavigationMenuProps, NavigationMenuSubOptionEmits, NavigationMenuSubOptionProps } from "./types.js";
2
2
  import { _default } from "./navigation-menu.vue.js";
3
- import { NavigationMenuContentEmits, NavigationMenuContentProps, NavigationMenuIndicatorProps, NavigationMenuItemProps, NavigationMenuLinkEmits, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootEmits, NavigationMenuRootProps, NavigationMenuSubEmits, NavigationMenuSubListProps, NavigationMenuSubProps, NavigationMenuTriggerProps, NavigationMenuViewportProps } from "@soybeanjs/headless/navigation-menu";
4
- export { type NavigationMenuContentEmits, type NavigationMenuContentProps, type NavigationMenuIndicatorProps, type NavigationMenuItemProps, type NavigationMenuLinkEmits, type NavigationMenuLinkProps, type NavigationMenuListProps, type NavigationMenuRootEmits, type NavigationMenuRootProps, type NavigationMenuSubEmits, type NavigationMenuSubListProps, type NavigationMenuSubProps, type NavigationMenuTriggerProps, type NavigationMenuViewportProps };
3
+ export * from "@soybeanjs/headless/navigation-menu";
@@ -1 +1 @@
1
- import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import i from"./navigation-menu-sub-option.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeClass as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E}from"@soybeanjs/headless/composables";import{NavigationMenuContent as D,NavigationMenuItem as O,NavigationMenuLink as k,NavigationMenuSubList as A,NavigationMenuTrigger as j}from"@soybeanjs/headless";const M=f({name:`SNavigationMenuOption`,__name:`navigation-menu-option`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(f,{emit:M}){let N=f,P=M,F=w(),I=E(P),L=o(()=>Object.keys(F)),R=r(F),z=t(),B=o(()=>!!(N.item.to||N.item.href)),V=o(()=>B.value?{...N.linkProps,disabled:N.item.disabled,to:N.item.to,href:N.item.href,target:N.item.target,external:N.item.external}:{});return(t,r)=>(_(),s(C(O),m(f.itemProps,{value:f.item.value}),{default:T(()=>[f.item.children?.length?(_(),c(a,{key:1},[d(C(j),m(f.triggerProps,{disabled:f.item.disabled,"as-child":B.value}),{default:T(()=>[(_(),s(b(B.value?C(k):`template`),m(V.value,{onSelect:r[1]||=e=>P(`select`,e)}),{default:T(()=>[d(n,{icon:f.item.icon},u({"trigger-icon":T(()=>[y(t.$slots,`item-trigger-icon`,{item:f.item},()=>[d(e,{icon:`lucide:chevron-down`,class:h(C(z).triggerIcon)},null,8,[`class`])])]),default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),d(C(D),m(f.contentProps,S(C(I))),{default:T(()=>[d(C(A),g(p(f.subListProps)),{default:T(()=>[(_(!0),c(a,null,v(f.item.children,e=>(_(),s(i,{key:e.value,"sub-item":e,"sub-item-props":f.subItemProps,onSelect:r[2]||=e=>P(`select`,e)},u({"item-children":T(e=>[y(t.$slots,`item-children`,{item:e.item})]),_:2},[v(L.value,n=>({name:n,fn:T(()=>[y(t.$slots,n,{item:e})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(_(),s(C(k),m({key:0},V.value,{onSelect:r[0]||=e=>P(`select`,e)}),{default:T(({isHref:r})=>[d(n,{icon:f.item.icon},u({default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item})])})),r?{name:`link-icon`,fn:T(()=>[y(t.$slots,`item-link-icon`,{item:f.item},()=>[d(e,{icon:`lucide:arrow-up-right`,class:h(C(z).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{M as default};
1
+ import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import i from"./navigation-menu-sub-option.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeClass as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E}from"@soybeanjs/headless/composables";import{NavigationMenuContent as D,NavigationMenuItem as O,NavigationMenuLink as k,NavigationMenuSubList as A,NavigationMenuTrigger as j}from"@soybeanjs/headless/navigation-menu";const M=f({name:`SNavigationMenuOption`,__name:`navigation-menu-option`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(f,{emit:M}){let N=f,P=M,F=w(),I=E(P),L=o(()=>Object.keys(F)),R=r(F),z=t(),B=o(()=>!!(N.item.to||N.item.href)),V=o(()=>B.value?{...N.linkProps,disabled:N.item.disabled,to:N.item.to,href:N.item.href,target:N.item.target,external:N.item.external}:{});return(t,r)=>(_(),s(C(O),m(f.itemProps,{value:f.item.value}),{default:T(()=>[f.item.children?.length?(_(),c(a,{key:1},[d(C(j),m(f.triggerProps,{disabled:f.item.disabled,"as-child":B.value}),{default:T(()=>[(_(),s(b(B.value?C(k):`template`),m(V.value,{onSelect:r[1]||=e=>P(`select`,e)}),{default:T(()=>[d(n,{icon:f.item.icon},u({"trigger-icon":T(()=>[y(t.$slots,`item-trigger-icon`,{item:f.item},()=>[d(e,{icon:`lucide:chevron-down`,class:h(C(z).triggerIcon)},null,8,[`class`])])]),default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),d(C(D),m(f.contentProps,S(C(I))),{default:T(()=>[d(C(A),g(p(f.subListProps)),{default:T(()=>[(_(!0),c(a,null,v(f.item.children,e=>(_(),s(i,{key:e.value,"sub-item":e,"sub-item-props":f.subItemProps,onSelect:r[2]||=e=>P(`select`,e)},u({"item-children":T(e=>[y(t.$slots,`item-children`,{item:e.item})]),_:2},[v(L.value,n=>({name:n,fn:T(()=>[y(t.$slots,n,{item:e})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(_(),s(C(k),m({key:0},V.value,{onSelect:r[0]||=e=>P(`select`,e)}),{default:T(({isHref:r})=>[d(n,{icon:f.item.icon},u({default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item})])})),r?{name:`link-icon`,fn:T(()=>[y(t.$slots,`item-link-icon`,{item:f.item},()=>[d(e,{icon:`lucide:arrow-up-right`,class:h(C(z).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{M as default};
@@ -1 +1 @@
1
- import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementVNode as s,createSlots as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{NavigationMenuItem as x,NavigationMenuLink as S}from"@soybeanjs/headless";const C=u({name:`SNavigationMenuSubOption`,__name:`navigation-menu-sub-option`,props:{subItem:{},subItemProps:{},linkProps:{}},emits:[`select`],setup(u,{emit:C}){let w=u,T=C,E=r(y()),D=t(),O=i(()=>!!(w.subItem.to||w.subItem.href)),k=i(()=>O.value?{...w.linkProps,disabled:w.subItem.disabled,to:w.subItem.to,href:w.subItem.href,target:w.subItem.target,external:w.subItem.external}:{});return(t,r)=>(p(),a(v(x),d(u.subItemProps,{value:u.subItem.value}),{default:b(()=>[(p(),a(g(O.value?v(S):`div`),d(k.value,{onSelect:r[0]||=e=>T(`select`,e)}),{default:b(r=>[l(n,{icon:u.subItem.icon},c({default:b(()=>[s(`div`,{class:f(v(D).subLinkContent)},[s(`span`,{class:f(v(D).subLinkLabel)},_(u.subItem.label),3),s(`p`,{class:f(v(D).subLinkDescription)},_(u.subItem.description),3)],2)]),_:2},[m(v(E),e=>({name:e,fn:b(()=>[h(t.$slots,e,{item:u.subItem})])})),r?.isHref?{name:`link-icon`,fn:b(()=>[h(t.$slots,`item-link-icon`,{item:u.subItem},()=>[l(e,{icon:`lucide:arrow-up-right`,class:f(v(D).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16)),u.subItem.children?.length?h(t.$slots,`item-children`,{key:0,item:u.subItem}):o(`v-if`,!0)]),_:3},16,[`value`]))}});export{C as default};
1
+ import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementVNode as s,createSlots as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{NavigationMenuItem as x,NavigationMenuLink as S}from"@soybeanjs/headless/navigation-menu";const C=u({name:`SNavigationMenuSubOption`,__name:`navigation-menu-sub-option`,props:{subItem:{},subItemProps:{},linkProps:{}},emits:[`select`],setup(u,{emit:C}){let w=u,T=C,E=r(y()),D=t(),O=i(()=>!!(w.subItem.to||w.subItem.href)),k=i(()=>O.value?{...w.linkProps,disabled:w.subItem.disabled,to:w.subItem.to,href:w.subItem.href,target:w.subItem.target,external:w.subItem.external}:{});return(t,r)=>(p(),a(v(x),d(u.subItemProps,{value:u.subItem.value}),{default:b(()=>[(p(),a(g(O.value?v(S):`div`),d(k.value,{onSelect:r[0]||=e=>T(`select`,e)}),{default:b(r=>[l(n,{icon:u.subItem.icon},c({default:b(()=>[s(`div`,{class:f(v(D).subLinkContent)},[s(`span`,{class:f(v(D).subLinkLabel)},_(u.subItem.label),3),s(`p`,{class:f(v(D).subLinkDescription)},_(u.subItem.description),3)],2)]),_:2},[m(v(E),e=>({name:e,fn:b(()=>[h(t.$slots,e,{item:u.subItem})])})),r?.isHref?{name:`link-icon`,fn:b(()=>[h(t.$slots,`item-link-icon`,{item:u.subItem},()=>[l(e,{icon:`lucide:arrow-up-right`,class:f(v(D).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16)),u.subItem.children?.length?h(t.$slots,`item-children`,{key:0,item:u.subItem}):o(`v-if`,!0)]),_:3},16,[`value`]))}});export{C as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideNavigationMenuExtraUi as t}from"./context.js";import{navigationMenuVariants as n}from"./variants.js";import r from"./navigation-menu-option.js";import{Fragment as i,computed as a,createBlock as o,createElementBlock as s,createElementVNode as c,createSlots as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass 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,useOmitProps as w,usePickProps as T}from"@soybeanjs/headless/composables";import{NavigationMenuIndicator as E,NavigationMenuList as D,NavigationMenuRoot as O,NavigationMenuViewport as k,provideNavigationMenuUi as A}from"@soybeanjs/headless";const j=d({name:`SNavigationMenu`,__name:`navigation-menu`,props:{class:{},size:{},ui:{},items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],I=w(M,[`class`,`size`,`ui`,`items`,...F]),L=T(M,[...F]),R=C(N),z=a(()=>Object.keys(P)),B=a(()=>e(n({size:M.size}),M.ui,{root:M.class}));return A(B),t(B),(e,t)=>(g(),o(b(O),p(b(I),{"onUpdate:modelValue":t[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[u(b(D),h(f(d.listProps)),{default:S(()=>[(g(!0),s(i,null,_(d.items,t=>(g(),o(r,p({key:t.value},{ref_for:!0},b(L),{item:t},y(b(R))),l({"item-children":S(t=>[v(e.$slots,`item-children`,{item:t.item})]),_:2},[_(z.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),u(b(E),h(f(d.indicatorProps)),{default:S(()=>[c(`div`,{class:m(B.value?.arrow)},null,2)]),_:1},16),c(`div`,{class:m(B.value?.viewportRoot)},[u(b(k),h(f(d.viewportProps)),null,16)],2)]),_:3},16))}});export{j as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideNavigationMenuExtraUi as t}from"./context.js";import{navigationMenuVariants as n}from"./variants.js";import r from"./navigation-menu-option.js";import{Fragment as i,computed as a,createBlock as o,createElementBlock as s,createElementVNode as c,createSlots as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass 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,useOmitProps as w,usePickProps as T}from"@soybeanjs/headless/composables";import{NavigationMenuIndicator as E,NavigationMenuList as D,NavigationMenuRoot as O,NavigationMenuViewport as k,provideNavigationMenuUi as A}from"@soybeanjs/headless/navigation-menu";const j=d({name:`SNavigationMenu`,__name:`navigation-menu`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],I=w(M,[`class`,`size`,`ui`,`items`,...F]),L=T(M,[...F]),R=C(N),z=a(()=>Object.keys(P)),B=a(()=>e(n({size:M.size}),M.ui,{root:M.class}));return A(B),t(B),(e,t)=>(g(),o(b(O),p(b(I),{"onUpdate:modelValue":t[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[u(b(D),h(f(d.listProps)),{default:S(()=>[(g(!0),s(i,null,_(d.items,t=>(g(),o(r,p({key:t.value},{ref_for:!0},b(L),{item:t},y(b(R))),l({"item-children":S(t=>[v(e.$slots,`item-children`,{item:t.item})]),_:2},[_(z.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),u(b(E),h(f(d.indicatorProps)),{default:S(()=>[c(`div`,{class:m(B.value?.arrow)},null,2)]),_:1},16),c(`div`,{class:m(B.value?.viewportRoot)},[u(b(k),h(f(d.viewportProps)),null,16)],2)]),_:3},16))}});export{j as default};
@@ -1,8 +1,13 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import { IconValue } from "../icon/types.js";
3
- import { ClassValue, LinkBaseProps, NavigationMenuContentEmits, NavigationMenuContentProps, NavigationMenuIndicatorProps, NavigationMenuItemProps, NavigationMenuLinkEmits, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootEmits, NavigationMenuRootProps, NavigationMenuSubEmits, NavigationMenuTriggerProps, NavigationMenuUi, NavigationMenuViewportProps, UiClass } from "@soybeanjs/headless";
3
+ import { LinkBaseProps } from "@soybeanjs/headless/link";
4
+ import { NavigationMenuContentEmits, NavigationMenuContentProps, NavigationMenuIndicatorProps, NavigationMenuItemProps, NavigationMenuLinkEmits, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootEmits, NavigationMenuRootProps, NavigationMenuSubEmits, NavigationMenuTriggerProps, NavigationMenuUiSlot, NavigationMenuViewportProps } from "@soybeanjs/headless/navigation-menu";
5
+ import { ClassValue, UiClass } from "@soybeanjs/headless/types";
4
6
 
5
7
  //#region src/components/navigation-menu/types.d.ts
8
+ /**
9
+ * Option data for the NavigationMenu component.
10
+ */
6
11
  interface NavigationMenuOptionData extends LinkBaseProps {
7
12
  /** The value of the option. */
8
13
  value: string;
@@ -21,34 +26,112 @@ interface NavigationMenuOptionData extends LinkBaseProps {
21
26
  /** The children of the option. */
22
27
  children?: NavigationMenuOptionData[];
23
28
  }
29
+ /**
30
+ * Additional UI slots for the navigation menu component.
31
+ */
24
32
  type NavigationMenuExtraUiSlot = 'triggerIcon' | 'linkIcon' | 'arrow' | 'viewportRoot' | 'subItemContent' | 'subLinkContent' | 'subLinkLabel' | 'subLinkDescription';
33
+ /**
34
+ * UI class overrides for the NavigationMenuExtra component.
35
+ */
25
36
  type NavigationMenuExtraUi = UiClass<NavigationMenuExtraUiSlot>;
26
- type NavigationMenuExtendedUi = NavigationMenuUi & NavigationMenuExtraUi;
37
+ /**
38
+ * Extended UI class overrides for the NavigationMenu component.
39
+ */
40
+ type NavigationMenuExtendedUi = UiClass<NavigationMenuUiSlot | NavigationMenuExtraUiSlot>;
41
+ /**
42
+ * Properties for the NavigationMenuSubOption component.
43
+ */
27
44
  interface NavigationMenuSubOptionProps {
45
+ /**
46
+ * Sub item.
47
+ */
28
48
  subItem: NavigationMenuOptionData;
49
+ /**
50
+ * Properties forwarded to the sub item element.
51
+ */
29
52
  subItemProps?: NavigationMenuItemProps;
53
+ /**
54
+ * Properties forwarded to the link element.
55
+ */
30
56
  linkProps?: NavigationMenuLinkProps;
31
57
  }
58
+ /**
59
+ * Events for the NavigationMenuSubOption component.
60
+ */
32
61
  type NavigationMenuSubOptionEmits = NavigationMenuLinkEmits;
62
+ /**
63
+ * Properties for the NavigationMenuOption component.
64
+ */
33
65
  interface NavigationMenuOptionProps {
66
+ /**
67
+ * Current item data.
68
+ */
34
69
  item: NavigationMenuOptionData;
70
+ /**
71
+ * Properties forwarded to the item element.
72
+ */
35
73
  itemProps?: NavigationMenuItemProps;
74
+ /**
75
+ * Properties forwarded to the link element.
76
+ */
36
77
  linkProps?: NavigationMenuLinkProps;
78
+ /**
79
+ * Properties forwarded to the trigger element.
80
+ */
37
81
  triggerProps?: NavigationMenuTriggerProps;
82
+ /**
83
+ * Properties forwarded to the content element.
84
+ */
38
85
  contentProps?: NavigationMenuContentProps;
86
+ /**
87
+ * Properties forwarded to the viewport element.
88
+ */
39
89
  viewportProps?: NavigationMenuViewportProps;
90
+ /**
91
+ * Properties forwarded to the indicator element.
92
+ */
40
93
  indicatorProps?: NavigationMenuIndicatorProps;
94
+ /**
95
+ * Properties forwarded to the list element.
96
+ */
41
97
  listProps?: NavigationMenuListProps;
98
+ /**
99
+ * Properties forwarded to the sub list element.
100
+ */
42
101
  subListProps?: NavigationMenuListProps;
102
+ /**
103
+ * Properties forwarded to the sub item element.
104
+ */
43
105
  subItemProps?: NavigationMenuItemProps;
44
106
  }
107
+ /**
108
+ * Events for the NavigationMenuOption component.
109
+ */
45
110
  type NavigationMenuOptionEmits = NavigationMenuSubEmits & NavigationMenuContentEmits & NavigationMenuLinkEmits;
111
+ /**
112
+ * Properties for the NavigationMenu component.
113
+ */
46
114
  interface NavigationMenuProps extends NavigationMenuRootProps, Omit<NavigationMenuOptionProps, 'item'> {
115
+ /**
116
+ * Additional class names applied to the root element.
117
+ */
47
118
  class?: ClassValue;
119
+ /**
120
+ * Visual size of the component.
121
+ */
48
122
  size?: ThemeSize;
123
+ /**
124
+ * Per-slot class overrides for the component.
125
+ */
49
126
  ui?: Partial<NavigationMenuExtendedUi>;
127
+ /**
128
+ * Items rendered by the component.
129
+ */
50
130
  items: NavigationMenuOptionData[];
51
131
  }
132
+ /**
133
+ * Events for the NavigationMenu component.
134
+ */
52
135
  type NavigationMenuEmits = NavigationMenuRootEmits & NavigationMenuOptionEmits;
53
136
  //#endregion
54
137
  export { NavigationMenuEmits, NavigationMenuExtendedUi, NavigationMenuExtraUi, NavigationMenuExtraUiSlot, NavigationMenuOptionData, NavigationMenuOptionEmits, NavigationMenuOptionProps, NavigationMenuProps, NavigationMenuSubOptionEmits, NavigationMenuSubOptionProps };
@@ -1,3 +1,4 @@
1
1
  import { PageTabsVariant } from "./variants.js";
2
2
  import { PageTabsContextMenuOptionData, PageTabsEmits, PageTabsExtendedUi, PageTabsExtraUiSlot, PageTabsOptionData, PageTabsProps, PageTabsState } from "./types.js";
3
- import { _default } from "./page-tabs.vue.js";
3
+ import { _default } from "./page-tabs.vue.js";
4
+ export * from "@soybeanjs/headless/page-tabs";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`selectContextMenu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m(b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless/page-tabs";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`selectContextMenu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m(b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
@@ -4,9 +4,9 @@ import * as _$vue from "vue";
4
4
  //#region src/components/page-tabs/page-tabs.vue.d.ts
5
5
  declare const __VLS_export: <T extends PageTabsOptionData>(__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<{
6
6
  props: _$vue.PublicProps & __VLS_PrettifyLocal<PageTabsProps<T> & {
7
+ onClick?: ((tab: T) => any) | undefined;
7
8
  onContextmenu?: ((tab: T) => any) | undefined;
8
9
  onClose?: ((tab: T) => any) | undefined;
9
- onClick?: ((tab: T) => any) | undefined;
10
10
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
11
11
  "onUpdate:items"?: ((items: T[]) => any) | undefined;
12
12
  onPin?: ((tab: T) => any) | undefined;
@@ -1,48 +1,121 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import { IconValue } from "../icon/types.js";
3
- import { MenuOptionData } from "../menu/index.js";
3
+ import { index_d_exports } from "../menu/index.js";
4
4
  import { PageTabsVariant } from "./variants.js";
5
- import { ClassValue, MaybePromise, PageTabsItemProps, PageTabsRootEmits, PageTabsRootProps, PageTabsUiSlot } from "@soybeanjs/headless";
5
+ import { PageTabsItemProps, PageTabsRootEmits, PageTabsRootProps, PageTabsUiSlot } from "@soybeanjs/headless/page-tabs";
6
+ import { ClassValue, MaybePromise } from "@soybeanjs/headless/types";
6
7
 
7
8
  //#region src/components/page-tabs/types.d.ts
9
+ /**
10
+ * Option data for the PageTabs component.
11
+ */
8
12
  interface PageTabsOptionData extends PageTabsItemProps {
13
+ /**
14
+ * Label text rendered by the component.
15
+ */
9
16
  label: string;
17
+ /**
18
+ * Icon rendered by the component.
19
+ */
10
20
  icon?: IconValue;
11
21
  /**
12
22
  * Whether to hide the pinned icon on the tab
13
23
  */
14
24
  hidePinnedIcon?: boolean;
15
25
  }
26
+ /**
27
+ * Additional UI slots for the page tabs component.
28
+ */
16
29
  type PageTabsExtraUiSlot = 'itemText' | 'chromeBgLeft' | 'chromeBgRight' | 'sliderIndicator';
30
+ /**
31
+ * Extended UI class overrides for the PageTabs component.
32
+ */
17
33
  type PageTabsExtendedUi = Record<PageTabsUiSlot | PageTabsExtraUiSlot, ClassValue>;
34
+ /**
35
+ * State values for PageTabsState.
36
+ */
18
37
  interface PageTabsState {
38
+ /**
39
+ * Pin.
40
+ */
19
41
  pin: () => void;
42
+ /**
43
+ * Unpin.
44
+ */
20
45
  unpin: () => void;
46
+ /**
47
+ * Whether the component can be closed.
48
+ */
21
49
  closable: boolean;
50
+ /**
51
+ * Close.
52
+ */
22
53
  close: () => Promise<void>;
54
+ /**
55
+ * Whether left closable.
56
+ */
23
57
  leftClosable: boolean;
58
+ /**
59
+ * Close left.
60
+ */
24
61
  closeLeft: () => void;
62
+ /**
63
+ * Whether right closable.
64
+ */
25
65
  rightClosable: boolean;
66
+ /**
67
+ * Close right.
68
+ */
26
69
  closeRight: () => void;
70
+ /**
71
+ * Whether other closable.
72
+ */
27
73
  otherClosable: boolean;
74
+ /**
75
+ * Close other.
76
+ */
28
77
  closeOther: () => void;
78
+ /**
79
+ * Whether all closable.
80
+ */
29
81
  allClosable: boolean;
82
+ /**
83
+ * Close all.
84
+ */
30
85
  closeAll: () => void;
31
86
  }
32
- interface PageTabsContextMenuOptionData extends MenuOptionData<string> {
87
+ /**
88
+ * Option data for the PageTabsContextMenu component.
89
+ */
90
+ interface PageTabsContextMenuOptionData extends index_d_exports.MenuOptionData<string> {
33
91
  /**
34
92
  * Action to perform when the menu item is selected.
35
93
  */
36
94
  action?: () => MaybePromise<void>;
37
95
  }
96
+ /**
97
+ * Properties for the PageTabs component.
98
+ */
38
99
  interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps {
39
100
  /**
40
101
  * root element class
41
102
  */
42
103
  class?: ClassValue;
104
+ /**
105
+ * Visual size of the component.
106
+ */
43
107
  size?: ThemeSize;
108
+ /**
109
+ * Visual variant of the component.
110
+ */
44
111
  variant?: PageTabsVariant;
112
+ /**
113
+ * Per-slot class overrides for the component.
114
+ */
45
115
  ui?: Partial<PageTabsExtendedUi>;
116
+ /**
117
+ * Items rendered by the component.
118
+ */
46
119
  items: T[];
47
120
  /**
48
121
  * A factory function to generate context menu options for each tab.
@@ -56,6 +129,9 @@ interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps
56
129
  */
57
130
  beforeClose?: (value: string) => MaybePromise<boolean | void>;
58
131
  }
132
+ /**
133
+ * Events for the PageTabs component.
134
+ */
59
135
  type PageTabsEmits<T> = PageTabsRootEmits & {
60
136
  (e: 'update:items', items: T[]): void;
61
137
  (e: 'click', tab: T): void;
@@ -1,4 +1,3 @@
1
1
  import { PaginationEmits, PaginationProps } from "./types.js";
2
2
  import { _default } from "./pagination.vue.js";
3
- import { PaginationButtonProps, PaginationEllipsisProps, PaginationListItemProps, PaginationListProps, PaginationRootEmits, PaginationRootProps } from "@soybeanjs/headless/pagination";
4
- export { type PaginationButtonProps, type PaginationEllipsisProps, type PaginationListItemProps, type PaginationListProps, type PaginationRootEmits, type PaginationRootProps };
3
+ export * from "@soybeanjs/headless/pagination";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},pageSize:{},defaultPageSize:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`,`update:pageSize`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e),"onUpdate:pageSize":n[1]||=e=>A(`update:pageSize`,e)}),{default:_(()=>[h(e.$slots,`leading`),c(g(S),f(u(l.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},l.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(l.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},l.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},l.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(l.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},l.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16),h(e.$slots,`trailing`)]),_:3},16))}});export{O as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless/pagination";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},pageSize:{},defaultPageSize:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`,`update:pageSize`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e),"onUpdate:pageSize":n[1]||=e=>A(`update:pageSize`,e)}),{default:_(()=>[h(e.$slots,`leading`),c(g(S),f(u(l.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},l.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(l.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},l.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},l.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(l.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},l.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16),h(e.$slots,`trailing`)]),_:3},16))}});export{O as default};