@soybeanjs/ui 0.18.0 → 0.20.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 (340) hide show
  1. package/README.md +2 -1
  2. package/README.zh-CN.md +2 -1
  3. package/dist/components/accordion/accordion.js +1 -1
  4. package/dist/components/accordion/variants.js +1 -1
  5. package/dist/components/affix/affix.js +1 -1
  6. package/dist/components/alert/alert.js +1 -1
  7. package/dist/components/alert/alert.vue.d.ts +2 -0
  8. package/dist/components/alert/variants.js +1 -1
  9. package/dist/components/anchor/anchor.js +1 -1
  10. package/dist/components/autocomplete/autocomplete.js +1 -1
  11. package/dist/components/autocomplete/variants.js +1 -1
  12. package/dist/components/avatar/avatar.js +1 -1
  13. package/dist/components/backtop/backtop.js +1 -1
  14. package/dist/components/badge/badge.js +1 -1
  15. package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
  16. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  17. package/dist/components/button/button-group.js +1 -1
  18. package/dist/components/button/button-group.vue.d.ts +0 -1
  19. package/dist/components/button/types.d.ts +1 -1
  20. package/dist/components/button/variants.js +1 -1
  21. package/dist/components/calendar/calendar.js +1 -1
  22. package/dist/components/calendar/variants.js +1 -1
  23. package/dist/components/calendar-range/calendar-range.js +1 -0
  24. package/dist/components/{range-calendar/range-calendar.vue.d.ts → calendar-range/calendar-range.vue.d.ts} +5 -5
  25. package/dist/components/calendar-range/index.d.ts +3 -0
  26. package/dist/components/calendar-range/index.js +1 -0
  27. package/dist/components/calendar-range/types.d.ts +32 -0
  28. package/dist/components/calendar-range/variants.js +1 -0
  29. package/dist/components/card/card-collapsible-trigger.js +1 -1
  30. package/dist/components/card/card.js +1 -1
  31. package/dist/components/carousel/carousel.js +1 -1
  32. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  33. package/dist/components/checkbox/checkbox-card.js +1 -1
  34. package/dist/components/checkbox/checkbox-group.js +1 -1
  35. package/dist/components/checkbox/checkbox.js +1 -1
  36. package/dist/components/collapsible/collapsible.js +1 -1
  37. package/dist/components/collapsible/collapsible.vue.d.ts +1 -1
  38. package/dist/components/color-area/color-area.js +1 -1
  39. package/dist/components/color-area/color-area.vue.d.ts +5 -5
  40. package/dist/components/color-area/types.d.ts +3 -11
  41. package/dist/components/color-field/color-field.js +1 -1
  42. package/dist/components/color-field/color-field.vue.d.ts +3 -3
  43. package/dist/components/color-field/types.d.ts +3 -7
  44. package/dist/components/color-field/variants.js +1 -1
  45. package/dist/components/color-picker/color-picker.js +1 -1
  46. package/dist/components/color-picker/color-picker.vue.d.ts +21 -36
  47. package/dist/components/color-picker/index.d.ts +1 -1
  48. package/dist/components/color-picker/types.d.ts +6 -118
  49. package/dist/components/color-picker/variants.js +1 -1
  50. package/dist/components/color-slider/color-slider.js +1 -1
  51. package/dist/components/color-slider/color-slider.vue.d.ts +5 -5
  52. package/dist/components/color-slider/types.d.ts +3 -11
  53. package/dist/components/color-swatch/color-swatch.js +1 -1
  54. package/dist/components/color-swatch/color-swatch.vue.d.ts +2 -5
  55. package/dist/components/color-swatch/index.d.ts +3 -2
  56. package/dist/components/color-swatch/types.d.ts +9 -13
  57. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  58. package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +6 -6
  59. package/dist/components/color-swatch-picker/types.d.ts +3 -19
  60. package/dist/components/color-swatch-picker/variants.d.ts +9 -9
  61. package/dist/components/color-swatch-picker/variants.js +1 -1
  62. package/dist/components/combobox/combobox.js +1 -1
  63. package/dist/components/command/command.js +1 -1
  64. package/dist/components/command/command.vue.d.ts +1 -1
  65. package/dist/components/command/variants.js +1 -1
  66. package/dist/components/config-provider/config-provider.js +1 -1
  67. package/dist/components/config-provider/types.d.ts +2 -4
  68. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +1 -1
  69. package/dist/components/context-menu/context-menu-radio.vue.d.ts +3 -3
  70. package/dist/components/context-menu/context-menu.vue.d.ts +1 -1
  71. package/dist/components/date-field/date-field.js +1 -1
  72. package/dist/components/date-field/date-field.vue.d.ts +4 -4
  73. package/dist/components/date-field/variants.js +1 -1
  74. package/dist/components/date-picker/date-picker.js +1 -1
  75. package/dist/components/date-picker/date-picker.vue.d.ts +17 -11
  76. package/dist/components/date-picker/index.d.ts +1 -1
  77. package/dist/components/date-picker/types.d.ts +7 -6
  78. package/dist/components/date-picker/variants.js +1 -1
  79. package/dist/components/date-range-field/date-range-field.js +1 -1
  80. package/dist/components/date-range-field/date-range-field.vue.d.ts +1 -3
  81. package/dist/components/date-range-field/index.d.ts +1 -1
  82. package/dist/components/date-range-field/types.d.ts +5 -49
  83. package/dist/components/date-range-field/variants.js +1 -1
  84. package/dist/components/date-range-picker/date-range-picker.js +1 -1
  85. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +20 -14
  86. package/dist/components/date-range-picker/index.d.ts +1 -1
  87. package/dist/components/date-range-picker/types.d.ts +7 -39
  88. package/dist/components/dialog/dialog-provider.js +1 -1
  89. package/dist/components/dialog/dialog.js +1 -1
  90. package/dist/components/dialog/dialog.vue.d.ts +2 -0
  91. package/dist/components/dialog/variants.js +1 -1
  92. package/dist/components/drawer/drawer.js +1 -1
  93. package/dist/components/drawer/drawer.vue.d.ts +2 -0
  94. package/dist/components/drawer/variants.js +1 -1
  95. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +1 -1
  96. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +3 -3
  97. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +1 -1
  98. package/dist/components/editable/editable.js +1 -1
  99. package/dist/components/editable/editable.vue.d.ts +2 -63
  100. package/dist/components/editable/index.d.ts +1 -1
  101. package/dist/components/editable/types.d.ts +10 -38
  102. package/dist/components/empty/empty.js +1 -1
  103. package/dist/components/empty/variants.js +1 -1
  104. package/dist/components/form/form-field-array.js +1 -1
  105. package/dist/components/form/form-field-base.js +1 -1
  106. package/dist/components/form/form-field.js +1 -1
  107. package/dist/components/form/form.js +1 -1
  108. package/dist/components/hover-card/hover-card.js +1 -1
  109. package/dist/components/hover-card/hover-card.vue.d.ts +2 -8
  110. package/dist/components/hover-card/index.d.ts +1 -1
  111. package/dist/components/hover-card/types.d.ts +9 -33
  112. package/dist/components/icon/types.d.ts +1 -1
  113. package/dist/components/input/input.js +1 -1
  114. package/dist/components/input/variants.js +1 -1
  115. package/dist/components/input-number/index.d.ts +1 -1
  116. package/dist/components/input-number/input-number.js +1 -1
  117. package/dist/components/input-number/input-number.vue.d.ts +6 -13
  118. package/dist/components/input-number/types.d.ts +8 -24
  119. package/dist/components/input-number/variants.js +1 -1
  120. package/dist/components/input-otp/input-otp.js +1 -1
  121. package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
  122. package/dist/components/layout/layout-classic.js +1 -1
  123. package/dist/components/layout/layout.js +1 -1
  124. package/dist/components/layout/variants.js +1 -1
  125. package/dist/components/link/index.d.ts +2 -2
  126. package/dist/components/list/list.js +1 -1
  127. package/dist/components/menu/context.js +1 -1
  128. package/dist/components/menu/index.d.ts +1 -8
  129. package/dist/components/menu/variants.js +1 -1
  130. package/dist/components/menubar/menubar.js +1 -1
  131. package/dist/components/menubar/menubar.vue.d.ts +1 -1
  132. package/dist/components/navigation-menu/index.d.ts +1 -1
  133. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  134. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +2 -23
  135. package/dist/components/navigation-menu/types.d.ts +10 -115
  136. package/dist/components/navigation-menu/variants.js +1 -1
  137. package/dist/components/page-tabs/index.d.ts +1 -1
  138. package/dist/components/page-tabs/page-tabs.js +1 -1
  139. package/dist/components/page-tabs/page-tabs.vue.d.ts +6 -4
  140. package/dist/components/page-tabs/types.d.ts +10 -117
  141. package/dist/components/page-tabs/variants.js +1 -1
  142. package/dist/components/pagination/index.d.ts +1 -1
  143. package/dist/components/pagination/pagination.js +1 -1
  144. package/dist/components/pagination/pagination.vue.d.ts +2 -17
  145. package/dist/components/pagination/types.d.ts +8 -20
  146. package/dist/components/pagination/variants.js +1 -1
  147. package/dist/components/password/index.d.ts +3 -2
  148. package/dist/components/password/password.js +1 -1
  149. package/dist/components/password/password.vue.d.ts +2 -12
  150. package/dist/components/password/types.d.ts +8 -25
  151. package/dist/components/popconfirm/index.d.ts +3 -5
  152. package/dist/components/popconfirm/index.js +1 -1
  153. package/dist/components/popconfirm/popconfirm.js +1 -1
  154. package/dist/components/popconfirm/popconfirm.vue.d.ts +6 -27
  155. package/dist/components/popconfirm/types.d.ts +8 -209
  156. package/dist/components/popconfirm/variants.js +1 -1
  157. package/dist/components/popover/index.d.ts +1 -1
  158. package/dist/components/popover/popover.js +1 -1
  159. package/dist/components/popover/popover.vue.d.ts +2 -9
  160. package/dist/components/popover/types.d.ts +9 -37
  161. package/dist/components/popover/variants.js +1 -1
  162. package/dist/components/progress/index.d.ts +11 -3
  163. package/dist/components/progress/progress-circle.js +1 -1
  164. package/dist/components/progress/progress-circle.vue.d.ts +2 -10
  165. package/dist/components/progress/progress-provider.js +1 -1
  166. package/dist/components/progress/progress-provider.vue.d.ts +1 -1
  167. package/dist/components/progress/progress.js +1 -1
  168. package/dist/components/progress/progress.vue.d.ts +2 -11
  169. package/dist/components/progress/types.d.ts +16 -16
  170. package/dist/components/progress/variants.js +1 -1
  171. package/dist/components/radio-group/index.d.ts +2 -4
  172. package/dist/components/radio-group/index.js +1 -1
  173. package/dist/components/radio-group/radio-group-card.js +1 -0
  174. package/dist/components/radio-group/radio-group-card.vue.d.ts +22 -0
  175. package/dist/components/radio-group/radio-group.js +1 -1
  176. package/dist/components/radio-group/radio-group.vue.d.ts +6 -6
  177. package/dist/components/radio-group/types.d.ts +24 -67
  178. package/dist/components/radio-group/variants.js +1 -1
  179. package/dist/components/scroll-area/scroll-area.js +1 -1
  180. package/dist/components/scroll-area/scroll-area.vue.d.ts +2 -2
  181. package/dist/components/scroll-area/types.d.ts +3 -23
  182. package/dist/components/scroll-area/variants.js +1 -1
  183. package/dist/components/segment/segment.js +1 -1
  184. package/dist/components/segment/segment.vue.d.ts +2 -2
  185. package/dist/components/select/select.js +1 -1
  186. package/dist/components/select/select.vue.d.ts +1 -1
  187. package/dist/components/select/variants.js +1 -1
  188. package/dist/components/separator/separator.js +1 -1
  189. package/dist/components/separator/separator.vue.d.ts +11 -1
  190. package/dist/components/separator/types.d.ts +2 -10
  191. package/dist/components/separator/variants.js +1 -1
  192. package/dist/components/slider/slider.js +1 -1
  193. package/dist/components/slider/slider.vue.d.ts +6 -7
  194. package/dist/components/slider/types.d.ts +3 -15
  195. package/dist/components/splitter/splitter-group.js +1 -1
  196. package/dist/components/splitter/splitter-panel.js +1 -1
  197. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  198. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  199. package/dist/components/splitter/variants.js +1 -1
  200. package/dist/components/stepper/index.d.ts +1 -1
  201. package/dist/components/stepper/stepper.js +1 -1
  202. package/dist/components/stepper/stepper.vue.d.ts +2 -104
  203. package/dist/components/stepper/types.d.ts +10 -55
  204. package/dist/components/stepper/variants.js +1 -1
  205. package/dist/components/switch/index.d.ts +1 -1
  206. package/dist/components/switch/switch.js +1 -1
  207. package/dist/components/switch/switch.vue.d.ts +2 -638
  208. package/dist/components/switch/types.d.ts +8 -12
  209. package/dist/components/switch/variants.d.ts +5 -5
  210. package/dist/components/switch/variants.js +1 -1
  211. package/dist/components/table/hooks.d.ts +3 -3
  212. package/dist/components/table/table-filter-popover.js +1 -1
  213. package/dist/components/table/table.js +1 -1
  214. package/dist/components/table/variants.js +1 -1
  215. package/dist/components/tabs/tabs.js +1 -1
  216. package/dist/components/tabs/tabs.vue.d.ts +2 -2
  217. package/dist/components/tabs/variants.js +1 -1
  218. package/dist/components/tags-input/index.d.ts +3 -4
  219. package/dist/components/tags-input/index.js +1 -1
  220. package/dist/components/tags-input/tags-input.js +1 -1
  221. package/dist/components/tags-input/tags-input.vue.d.ts +18 -22
  222. package/dist/components/tags-input/types.d.ts +8 -4
  223. package/dist/components/tags-input/variants.js +1 -1
  224. package/dist/components/textarea/index.d.ts +4 -2
  225. package/dist/components/textarea/index.js +1 -1
  226. package/dist/components/textarea/textarea.js +1 -1
  227. package/dist/components/textarea/textarea.vue.d.ts +4 -10
  228. package/dist/components/textarea/types.d.ts +9 -28
  229. package/dist/components/textarea/variants.d.ts +21 -21
  230. package/dist/components/textarea/variants.js +1 -1
  231. package/dist/components/time-field/index.d.ts +1 -1
  232. package/dist/components/time-field/time-field.js +1 -1
  233. package/dist/components/time-field/time-field.vue.d.ts +2 -9
  234. package/dist/components/time-field/types.d.ts +4 -37
  235. package/dist/components/time-range-field/index.d.ts +1 -1
  236. package/dist/components/time-range-field/time-range-field.js +1 -1
  237. package/dist/components/time-range-field/time-range-field.vue.d.ts +1 -3
  238. package/dist/components/time-range-field/types.d.ts +5 -49
  239. package/dist/components/toast/styles.js +36 -36
  240. package/dist/components/toast/toast-provider.js +1 -1
  241. package/dist/components/toast/variants.js +1 -1
  242. package/dist/components/toggle/toggle.js +1 -1
  243. package/dist/components/toggle-group/index.d.ts +3 -2
  244. package/dist/components/toggle-group/index.js +1 -1
  245. package/dist/components/toggle-group/toggle-group.js +1 -1
  246. package/dist/components/toggle-group/variants.js +1 -1
  247. package/dist/components/toolbar/toolbar.js +1 -1
  248. package/dist/components/toolbar/types.d.ts +5 -0
  249. package/dist/components/toolbar/variants.js +1 -1
  250. package/dist/components/tooltip/index.d.ts +1 -1
  251. package/dist/components/tooltip/tooltip.js +1 -1
  252. package/dist/components/tooltip/tooltip.vue.d.ts +2 -7
  253. package/dist/components/tooltip/types.d.ts +9 -37
  254. package/dist/components/tooltip/variants.js +1 -1
  255. package/dist/components/tree/tree-virtualizer.vue.d.ts +1 -1
  256. package/dist/components/tree/tree.vue.d.ts +2 -2
  257. package/dist/components/tree-menu/index.d.ts +1 -1
  258. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
  259. package/dist/components/tree-menu/tree-menu.js +1 -1
  260. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -17
  261. package/dist/components/tree-menu/types.d.ts +12 -204
  262. package/dist/components/tree-menu/variants.js +1 -1
  263. package/dist/constants/components.d.ts +1 -7
  264. package/dist/constants/components.js +1 -1
  265. package/dist/index.d.ts +139 -158
  266. package/dist/index.js +1 -1
  267. package/dist/styles.css +250 -218
  268. package/dist/theme/shared.js +1 -1
  269. package/package.json +14 -14
  270. package/dist/components/color-picker/shared.js +0 -1
  271. package/dist/components/date-range-picker/variants.js +0 -1
  272. package/dist/components/month-picker/index.d.ts +0 -3
  273. package/dist/components/month-picker/index.js +0 -1
  274. package/dist/components/month-picker/month-picker.js +0 -1
  275. package/dist/components/month-picker/month-picker.vue.d.ts +0 -24
  276. package/dist/components/month-picker/types.d.ts +0 -86
  277. package/dist/components/month-picker/variants.js +0 -1
  278. package/dist/components/month-range-picker/index.d.ts +0 -3
  279. package/dist/components/month-range-picker/index.js +0 -1
  280. package/dist/components/month-range-picker/month-range-picker.js +0 -1
  281. package/dist/components/month-range-picker/month-range-picker.vue.d.ts +0 -29
  282. package/dist/components/month-range-picker/types.d.ts +0 -89
  283. package/dist/components/month-range-picker/variants.js +0 -1
  284. package/dist/components/navigation-menu/context.js +0 -1
  285. package/dist/components/navigation-menu/navigation-menu-item-slot.js +0 -1
  286. package/dist/components/navigation-menu/navigation-menu-option.js +0 -1
  287. package/dist/components/navigation-menu/navigation-menu-sub-option.js +0 -1
  288. package/dist/components/navigation-menu/shared.js +0 -1
  289. package/dist/components/page-tabs/hooks.js +0 -1
  290. package/dist/components/popconfirm/context.js +0 -1
  291. package/dist/components/popconfirm/popconfirm-cancel.js +0 -1
  292. package/dist/components/popconfirm/popconfirm-cancel.vue.d.ts +0 -25
  293. package/dist/components/popconfirm/popconfirm-confirm.js +0 -1
  294. package/dist/components/popconfirm/popconfirm-confirm.vue.d.ts +0 -22
  295. package/dist/components/radio-group/radio-card-group.js +0 -1
  296. package/dist/components/radio-group/radio-card-group.vue.d.ts +0 -22
  297. package/dist/components/radio-group/radio-card.js +0 -1
  298. package/dist/components/radio-group/radio-card.vue.d.ts +0 -22
  299. package/dist/components/radio-group/radio.js +0 -1
  300. package/dist/components/radio-group/radio.vue.d.ts +0 -18
  301. package/dist/components/range-calendar/index.d.ts +0 -3
  302. package/dist/components/range-calendar/index.js +0 -1
  303. package/dist/components/range-calendar/range-calendar.js +0 -1
  304. package/dist/components/range-calendar/types.d.ts +0 -188
  305. package/dist/components/range-calendar/variants.js +0 -1
  306. package/dist/components/tags-input/tags-input-item-delete.js +0 -1
  307. package/dist/components/tags-input/tags-input-item-delete.vue.d.ts +0 -18
  308. package/dist/components/time-field/variants.js +0 -1
  309. package/dist/components/time-picker/index.d.ts +0 -3
  310. package/dist/components/time-picker/index.js +0 -1
  311. package/dist/components/time-picker/time-picker.js +0 -1
  312. package/dist/components/time-picker/time-picker.vue.d.ts +0 -24
  313. package/dist/components/time-picker/types.d.ts +0 -68
  314. package/dist/components/time-picker/variants.js +0 -1
  315. package/dist/components/time-range-field/variants.js +0 -1
  316. package/dist/components/time-range-picker/index.d.ts +0 -3
  317. package/dist/components/time-range-picker/index.js +0 -1
  318. package/dist/components/time-range-picker/time-range-picker.js +0 -1
  319. package/dist/components/time-range-picker/time-range-picker.vue.d.ts +0 -28
  320. package/dist/components/time-range-picker/types.d.ts +0 -71
  321. package/dist/components/time-range-picker/variants.js +0 -1
  322. package/dist/components/toggle-group/toggle-group-item.js +0 -1
  323. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +0 -22
  324. package/dist/components/tree-menu/context.js +0 -1
  325. package/dist/components/tree-menu/shared.js +0 -1
  326. package/dist/components/tree-menu/tree-menu-option-slot.js +0 -1
  327. package/dist/components/tree-menu/tree-menu-option.js +0 -1
  328. package/dist/components/tree-menu/tree-menu-options.js +0 -1
  329. package/dist/components/year-picker/index.d.ts +0 -3
  330. package/dist/components/year-picker/index.js +0 -1
  331. package/dist/components/year-picker/types.d.ts +0 -86
  332. package/dist/components/year-picker/variants.js +0 -1
  333. package/dist/components/year-picker/year-picker.js +0 -1
  334. package/dist/components/year-picker/year-picker.vue.d.ts +0 -24
  335. package/dist/components/year-range-picker/index.d.ts +0 -3
  336. package/dist/components/year-range-picker/index.js +0 -1
  337. package/dist/components/year-range-picker/types.d.ts +0 -90
  338. package/dist/components/year-range-picker/variants.js +0 -1
  339. package/dist/components/year-range-picker/year-range-picker.js +0 -1
  340. package/dist/components/year-range-picker/year-range-picker.vue.d.ts +0 -29
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group relative flex w-full h-full data-[side=right]:flex-row-reverse`,sidebarRoot:`h-full block lt-md:hidden`,sidebarWrapper:`absolute inset-y-0 z-10 flex h-full w-[--soybean-sidebar-width] transition-[left,right,width,opacity] duration-200 ease-linear lt-md:hidden`,sidebar:[`flex flex-col w-full h-full bg-sidebar`,`group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:border-solid group-data-[variant=floating]:shadow`],sidebarGapHandler:[`relative h-full w-[--soybean-sidebar-width] bg-transparent transition-width duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`],mobileDrawer:`w-[--soybean-sidebar-width] bg-sidebar p-0`,mobileOverlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],mobile:`flex flex-col w-full h-full`,rail:[`absolute inset-y-0 z-20 flex w-[--soybean-layout-spacing] -translate-x-1/2 transition-all ease-linear lt-sm:hidden`,`after:absolute after:inset-y-0 after:left-1/2 after:content-empty after:w-[calc(var(--soybean-layout-spacing)/8)] hover:after:bg-sidebar-border`],trigger:``,main:`relative flex flex-1 flex-col items-stretch bg-background overflow-hidden`,header:`relative flex items-center shrink-0 h-[--soybean-layout-header-height]`,tab:`shrink-0 h-[--soybean-layout-tab-height] bg-background`,content:`grow overflow-auto bg-background`,footer:`shrink-0 h-[--soybean-layout-footer-height]`},variants:{size:{xs:{root:`text-2xs [--soybean-layout-spacing:0.75rem]`},sm:{root:`text-xs [--soybean-layout-spacing:0.875rem]`},md:{root:`text-sm [--soybean-layout-spacing:1rem]`},lg:{root:`text-base [--soybean-layout-spacing:1.25rem]`},xl:{root:`text-lg [--soybean-layout-spacing:1.5rem]`},"2xl":{root:`text-xl [--soybean-layout-spacing:1.75rem]`}},variant:{sidebar:{sidebarGapHandler:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width]`,sidebarWrapper:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width] group-data-[side=left]:border-r group-data-[side=right]:border-l`},floating:{sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`},inset:{root:`bg-sidebar`,sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,main:`md:m-[calc(var(--soybean-layout-spacing)/2)] md:ms-0 md:rounded-xl md:shadow`}},side:{left:{sidebarWrapper:`start-0 group-data-[collapsible=offcanvas]:start-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-w-resize group-data-[state=collapsed]:cursor-e-resize -end-[var(--soybean-layout-spacing)]`},right:{sidebarWrapper:`end-0 group-data-[collapsible=offcanvas]:end-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-e-resize group-data-[state=collapsed]:cursor-w-resize start-0`}},collapsible:{offcanvas:{sidebarWrapper:`group-data-[state=collapsed]:opacity-0`,rail:`translate-x-0 after:start-full hover:bg-sidebar`},icon:{}},fullContent:{true:{tab:`fixed left-0 top-0 z-49 w-full`,content:`fixed inset-0 z-49 group-data-[tab-visible=true]:mt-[--soybean-layout-tab-height]`},false:{content:`relative`}}},compoundVariants:[{side:`left`,collapsible:`offcanvas`,class:{rail:`-end-[var(--soybean-layout-spacing)/2]`}},{side:`right`,collapsible:`offcanvas`,class:{rail:`-start-[var(--soybean-layout-spacing)/2]`}},{side:`left`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:end-0`}},{side:`right`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:start-0`}},{side:`left`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:end-[calc(var(--soybean-layout-spacing)/2)]`}},{side:`right`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:start-[calc(var(--soybean-layout-spacing)/2)]`}},{variant:`inset`,collapsible:`offcanvas`,class:{main:`md:group-data-[state=collapsed]:ms-[calc(var(--soybean-layout-spacing)/2)]`}}],defaultVariants:{variant:`sidebar`,side:`left`,collapsible:`icon`}}),n=e({slots:{root:`group relative h-full transition-all-300`,main:`flex flex-col h-full group-data-[scroll-behavior=wrapper]:overflow-y-auto transition-all-300`,sidebarRoot:`lt-md:hidden`,sidebarWrapper:[`absolute inset-y-0 z-[--soybean-layout-sidebar-z-index] flex h-full w-[--soybean-sidebar-width] transition-[inset-inline-start,inset-inline-end,width,opacity] duration-200 ease-linear lt-md:hidden`,`group-data-[state=collapsed]:w-[--soybean-collapsed-sidebar-width] pt-[--soybean-layout-sidebar-top-gap] pb-[--soybean-layout-sidebar-bottom-gap]`],sidebar:[`flex flex-col w-full h-full bg-sidebar`,`group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:border-solid group-data-[variant=floating]:shadow`],mobileDrawer:`w-[--soybean-sidebar-width] bg-sidebar p-0`,mobileOverlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],mobile:`flex flex-col w-full h-full`,rail:[`absolute inset-y-0 z-20 flex w-[--soybean-layout-spacing] -translate-x-1/2 transition-all ease-linear lt-sm:hidden`,`after:absolute after:inset-y-0 after:start-1/2 after:content-empty after:w-[calc(var(--soybean-layout-spacing)/8)] hover:after:bg-sidebar-border`],trigger:``,header:[`shrink-0 flex items-center h-[--soybean-layout-header-height]`,`group-data-[fixed-top=true]:absolute group-data-[fixed-top=true]:z-[--soybean-layout-header-z-index] group-data-[fixed-top=true]:top-0 group-data-[fixed-top=true]:inset-x-0`],headerPlaceholder:`shrink-0 h-[--soybean-layout-header-height] overflow-hidden`,tab:`shrink-0 h-[--soybean-layout-tab-height] group-data-[fixed-top=true]:z-[--soybean-layout-tab-z-index]`,tabPlaceholder:`shrink-0 h-[--soybean-layout-tab-height] overflow-hidden`,content:`grow bg-background group-data-[scroll-behavior=content]:overflow-y-auto`,footer:[`shrink-0 h-[--soybean-layout-footer-height]`,`group-data-[fixed-footer=true]:absolute group-data-[fixed-footer=true]:z-[--soybean-layout-footer-z-index] group-data-[fixed-footer=true]:bottom-0 group-data-[fixed-footer=true]:inset-x-0`],footerPlaceholder:`shrink-0 h-[--soybean-layout-footer-height] overflow-hidden`},variants:{size:{xs:{root:`text-2xs [--soybean-layout-spacing:0.75rem]`},sm:{root:`text-xs [--soybean-layout-spacing:0.875rem]`},md:{root:`text-sm [--soybean-layout-spacing:1rem]`},lg:{root:`text-base [--soybean-layout-spacing:1.25rem]`},xl:{root:`text-lg [--soybean-layout-spacing:1.5rem]`},"2xl":{root:`text-xl [--soybean-layout-spacing:1.75rem]`}},side:{left:{main:`ps-[--soybean-layout-start-gap]`,sidebarWrapper:`start-0 border-r`,rail:`cursor-w-resize group-data-[state=collapsed]:cursor-e-resize -end-[var(--soybean-layout-spacing)]`,header:`group-data-[fixed-top=true]:ps-[--soybean-layout-header-start-gap]`,footer:`group-data-[fixed-footer=true]:ps-[--soybean-layout-footer-start-gap]`},right:{main:`pe-[--soybean-layout-start-gap]`,sidebarWrapper:`end-0 border-l`,rail:`cursor-e-resize group-data-[state=collapsed]:cursor-w-resize start-0`,header:`group-data-[fixed-top=true]:pe-[--soybean-layout-header-start-gap]`,footer:`group-data-[fixed-footer=true]:pe-[--soybean-layout-footer-start-gap]`}},fullContent:{true:{tab:`fixed start-0 top-0 z-[--soybean-layout-base-z-index] w-full`,content:`fixed inset-0 z-[--soybean-layout-base-z-index] group-data-[tab-visible=true]:mt-[--soybean-layout-tab-height] overflow-auto`},false:{tab:`group-data-[fixed-top=true]:absolute group-data-[fixed-top=true]:inset-x-0 group-data-[fixed-top=true]:top-[--soybean-layout-header-height]`,content:`relative`}}},compoundVariants:[{side:`left`,fullContent:!1,class:{tab:`group-data-[fixed-top=true]:ps-[--soybean-layout-start-gap]`}},{side:`right`,fullContent:!1,class:{tab:`group-data-[fixed-top=true]:pe-[--soybean-layout-start-gap]`}}],defaultVariants:{size:`md`,side:`left`,fullContent:!1}});export{n as layoutClassicVariants,t as layoutVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group relative flex w-full h-full data-[side=right]:flex-row-reverse`,sidebarRoot:`h-full block lt-md:hidden`,sidebarWrapper:`absolute inset-y-0 z-10 flex h-full w-[--soybean-sidebar-width] transition-[left,right,width,opacity] duration-200 ease-linear lt-md:hidden`,sidebar:[`flex flex-col w-full h-full bg-sidebar`,`group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:border-solid group-data-[variant=floating]:shadow`],sidebarGapHandler:[`relative h-full w-[--soybean-sidebar-width] bg-transparent transition-width duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`],mobileDrawer:`w-[--soybean-sidebar-width] bg-sidebar p-0`,mobileOverlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],mobile:`flex flex-col w-full h-full`,rail:[`absolute inset-y-0 z-20 flex w-[--soybean-layout-spacing] -translate-x-1/2 rtl:translate-x-1/2 transition-all ease-linear lt-sm:hidden`,`after:absolute after:inset-y-0 after:start-1/2 after:content-empty after:w-[calc(var(--soybean-layout-spacing)/8)] hover:after:bg-sidebar-border`],trigger:``,main:`relative flex flex-1 flex-col items-stretch bg-background overflow-hidden`,header:`relative flex items-center shrink-0 h-[--soybean-layout-header-height]`,tab:`shrink-0 h-[--soybean-layout-tab-height] bg-background`,content:`grow overflow-auto bg-background`,footer:`shrink-0 h-[--soybean-layout-footer-height]`},variants:{size:{xs:{root:`text-2xs [--soybean-layout-spacing:0.75rem]`},sm:{root:`text-xs [--soybean-layout-spacing:0.875rem]`},md:{root:`text-sm [--soybean-layout-spacing:1rem]`},lg:{root:`text-base [--soybean-layout-spacing:1.25rem]`},xl:{root:`text-lg [--soybean-layout-spacing:1.5rem]`},"2xl":{root:`text-xl [--soybean-layout-spacing:1.75rem]`}},variant:{sidebar:{sidebarGapHandler:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width]`,sidebarWrapper:`group-data-[collapsible=icon]:w-[--soybean-collapsed-sidebar-width] group-data-[side=left]:border-e group-data-[side=right]:border-s`},floating:{sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`},inset:{root:`bg-sidebar`,sidebarGapHandler:`w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,sidebarWrapper:`p-[calc(var(--soybean-layout-spacing)/2)] w-[calc(var(--soybean-sidebar-width)+var(--soybean-layout-spacing))] group-data-[collapsible=icon]:w-[calc(var(--soybean-collapsed-sidebar-width)+var(--soybean-layout-spacing))]`,main:`md:m-[calc(var(--soybean-layout-spacing)/2)] md:ms-0 md:rounded-xl md:shadow`}},side:{left:{sidebarWrapper:`start-0 group-data-[collapsible=offcanvas]:start-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-w-resize group-data-[state=collapsed]:cursor-e-resize -end-[var(--soybean-layout-spacing)]`},right:{sidebarWrapper:`end-0 group-data-[collapsible=offcanvas]:end-[calc(var(--soybean-sidebar-width)*-1)]`,rail:`cursor-e-resize group-data-[state=collapsed]:cursor-w-resize start-0`}},collapsible:{offcanvas:{sidebarWrapper:`group-data-[state=collapsed]:opacity-0`,rail:`translate-x-0 after:start-full hover:bg-sidebar`},icon:{}},fullContent:{true:{tab:`fixed start-0 top-0 z-49 w-full`,content:`fixed inset-0 z-49 group-data-[tab-visible=true]:mt-[--soybean-layout-tab-height]`},false:{content:`relative`}}},compoundVariants:[{side:`left`,collapsible:`offcanvas`,class:{rail:`-end-[var(--soybean-layout-spacing)/2]`}},{side:`right`,collapsible:`offcanvas`,class:{rail:`-start-[var(--soybean-layout-spacing)/2]`}},{side:`left`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:end-0`}},{side:`right`,variant:`inset`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:start-0`}},{side:`left`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:end-[calc(var(--soybean-layout-spacing)/2)]`}},{side:`right`,variant:`floating`,collapsible:`offcanvas`,class:{rail:`group-data-[state=collapsed]:start-[calc(var(--soybean-layout-spacing)/2)]`}},{variant:`inset`,collapsible:`offcanvas`,class:{main:`md:group-data-[state=collapsed]:ms-[calc(var(--soybean-layout-spacing)/2)]`}}],defaultVariants:{variant:`sidebar`,side:`left`,collapsible:`icon`}}),n=e({slots:{root:`group relative h-full transition-all-300`,main:`flex flex-col h-full group-data-[scroll-behavior=wrapper]:overflow-y-auto transition-all-300`,sidebarRoot:`lt-md:hidden`,sidebarWrapper:[`absolute inset-y-0 z-[--soybean-layout-sidebar-z-index] flex h-full w-[--soybean-sidebar-width] transition-[inset-inline-start,inset-inline-end,width,opacity] duration-200 ease-linear lt-md:hidden`,`group-data-[state=collapsed]:w-[--soybean-collapsed-sidebar-width] pt-[--soybean-layout-sidebar-top-gap] pb-[--soybean-layout-sidebar-bottom-gap]`],sidebar:[`flex flex-col w-full h-full bg-sidebar`,`group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:border-solid group-data-[variant=floating]:shadow`],mobileDrawer:`w-[--soybean-sidebar-width] bg-sidebar p-0`,mobileOverlay:[`fixed inset-0 z-50 bg-black/80`,`data-[state=open]:animate-in data-[state=open]:fade-in-0`,`data-[state=closed]:animate-out data-[state=closed]:fade-out-0`],mobile:`flex flex-col w-full h-full`,rail:[`absolute inset-y-0 z-20 flex w-[--soybean-layout-spacing] -translate-x-1/2 transition-all ease-linear lt-sm:hidden`,`after:absolute after:inset-y-0 after:start-1/2 after:content-empty after:w-[calc(var(--soybean-layout-spacing)/8)] hover:after:bg-sidebar-border`],trigger:``,header:[`shrink-0 flex items-center h-[--soybean-layout-header-height]`,`group-data-[fixed-top=true]:absolute group-data-[fixed-top=true]:z-[--soybean-layout-header-z-index] group-data-[fixed-top=true]:top-0 group-data-[fixed-top=true]:inset-x-0`],headerPlaceholder:`shrink-0 h-[--soybean-layout-header-height] overflow-hidden`,tab:`shrink-0 h-[--soybean-layout-tab-height] group-data-[fixed-top=true]:z-[--soybean-layout-tab-z-index]`,tabPlaceholder:`shrink-0 h-[--soybean-layout-tab-height] overflow-hidden`,content:`grow bg-background group-data-[scroll-behavior=content]:overflow-y-auto`,footer:[`shrink-0 h-[--soybean-layout-footer-height]`,`group-data-[fixed-footer=true]:absolute group-data-[fixed-footer=true]:z-[--soybean-layout-footer-z-index] group-data-[fixed-footer=true]:bottom-0 group-data-[fixed-footer=true]:inset-x-0`],footerPlaceholder:`shrink-0 h-[--soybean-layout-footer-height] overflow-hidden`},variants:{size:{xs:{root:`text-2xs [--soybean-layout-spacing:0.75rem]`},sm:{root:`text-xs [--soybean-layout-spacing:0.875rem]`},md:{root:`text-sm [--soybean-layout-spacing:1rem]`},lg:{root:`text-base [--soybean-layout-spacing:1.25rem]`},xl:{root:`text-lg [--soybean-layout-spacing:1.5rem]`},"2xl":{root:`text-xl [--soybean-layout-spacing:1.75rem]`}},side:{left:{main:`ps-[--soybean-layout-start-gap]`,sidebarWrapper:`start-0 border-e`,rail:`cursor-w-resize group-data-[state=collapsed]:cursor-e-resize -end-[var(--soybean-layout-spacing)]`,header:`group-data-[fixed-top=true]:ps-[--soybean-layout-header-start-gap]`,footer:`group-data-[fixed-footer=true]:ps-[--soybean-layout-footer-start-gap]`},right:{main:`pe-[--soybean-layout-start-gap]`,sidebarWrapper:`end-0 border-s`,rail:`cursor-e-resize group-data-[state=collapsed]:cursor-w-resize start-0`,header:`group-data-[fixed-top=true]:pe-[--soybean-layout-header-start-gap]`,footer:`group-data-[fixed-footer=true]:pe-[--soybean-layout-footer-start-gap]`}},fullContent:{true:{tab:`fixed start-0 top-0 z-[--soybean-layout-base-z-index] w-full`,content:`fixed inset-0 z-[--soybean-layout-base-z-index] group-data-[tab-visible=true]:mt-[--soybean-layout-tab-height] overflow-auto`},false:{tab:`group-data-[fixed-top=true]:absolute group-data-[fixed-top=true]:inset-x-0 group-data-[fixed-top=true]:top-[--soybean-layout-header-height]`,content:`relative`}}},compoundVariants:[{side:`left`,fullContent:!1,class:{tab:`group-data-[fixed-top=true]:ps-[--soybean-layout-start-gap]`}},{side:`right`,fullContent:!1,class:{tab:`group-data-[fixed-top=true]:pe-[--soybean-layout-start-gap]`}}],defaultVariants:{size:`md`,side:`left`,fullContent:!1}});export{n as layoutClassicVariants,t as layoutVariants};
@@ -1,4 +1,4 @@
1
1
  import { LinkProps as LinkProps$1 } from "./types.js";
2
2
  import { _default } from "./link.vue.js";
3
- import { LinkBaseProps as LinkBaseProps$1, LinkExtraProps } from "@soybeanjs/headless/link";
4
- export { type LinkBaseProps$1 as LinkBaseProps, type LinkExtraProps };
3
+ import { LinkBaseProps, LinkExtraProps } from "@soybeanjs/headless/link";
4
+ export { type LinkBaseProps, type LinkExtraProps };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{listVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{ListRoot as l,provideListUi as u}from"@soybeanjs/headless/list";const d=i({name:`SList`,__name:`list`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(i){let d=i;return u(n(()=>e(t({size:d.size}),d.ui,{root:d.class}))),(e,t)=>(a(),r(s(l),null,{default:c(()=>[o(e.$slots,`default`)]),_:3}))}});export{d as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{listVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{ListRoot as l,provideListUi as u}from"@soybeanjs/headless/list";const d=i({name:`SList`,__name:`list`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(i){let d=i;return u(n(()=>e(t({size:d.size}),d.ui,{root:d.class}))),(e,t)=>(a(),r(s(l),null,{default:c(()=>[o(e.$slots,`default`)]),_:3}))}});export{d as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{kbdVariants as t}from"../kbd/variants.js";import{menuVariants as n}from"./variants.js";import{computed as r,toValue as i}from"vue";import{provideMenuUi as a}from"@soybeanjs/headless/menu";const o=o=>{a(r(()=>{let r=i(o),a=n({size:r.size,indicatorPosition:r.indicatorPosition}),s=t({size:r.size}),c=a.shortcut;return a.shortcut=()=>`${c()} ${s}`,e(a,r.ui,{popup:r.class})}))};export{o as provideMenuUi};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{kbdVariants as t}from"../kbd/variants.js";import{menuVariants as n}from"./variants.js";import{computed as r,toValue as i}from"vue";import{provideMenuUi as a}from"@soybeanjs/headless/menu";const o=o=>{a(r(()=>{let r=i(o),a=n({size:r.size,indicatorPosition:r.indicatorPosition}),s=t({size:r.size}),c=a.shortcut;return a.shortcut=()=>`${c()} ${s}`,e(a,r.ui,{popup:r.class})}))};export{o as provideMenuUi};
@@ -1,10 +1,3 @@
1
1
  import { MenuCheckboxOptionsCompact as SMenuCheckboxOptions, MenuOptionsCompact as SMenuOptions, MenuRadioOptionsCompact as SMenuRadioOptions } from "@soybeanjs/headless/menu";
2
2
  export * from "@soybeanjs/headless/menu";
3
-
4
- //#region src/components/menu/index.d.ts
5
- declare namespace index_d_exports {
6
- export { SMenuCheckboxOptions, SMenuOptions, SMenuRadioOptions };
7
- }
8
- import * as import__soybeanjs_headless_menu from "@soybeanjs/headless/menu";
9
- //#endregion
10
- export { SMenuCheckboxOptions, SMenuOptions, SMenuRadioOptions, index_d_exports };
3
+ export { SMenuCheckboxOptions, SMenuOptions, SMenuRadioOptions };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{positioner:``,popup:[`z-50 min-w-max rounded-md border bg-popover text-popover-foreground shadow-md will-change-transform outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],arrow:`w-1em h-0.5em fill-popover stroke-border`,subPositioner:``,subPopup:[`z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg will-change-transform outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],group:``,groupLabel:`flex items-center font-medium text-muted-foreground`,checkboxGroup:``,radioGroup:``,item:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,`data-[active=true]:bg-primary/10 data-[active=true]:text-primary`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`],itemIcon:`shrink-0 text-muted-foreground`,itemLink:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none decoration-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemLinkIcon:`shrink-0 self-start text-muted-foreground`,subTrigger:`group/trigger flex items-center rounded-sm outline-none cursor-pointer select-none focus:bg-accent data-[state=open]:bg-accent data-[child-active]:text-primary`,subTriggerIcon:`ml-auto text-muted-foreground group-data-[child-active]/trigger:text-primary`,shortcut:`ml-auto tracking-widest opacity-60`,separator:`h-px bg-border`,checkboxItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemIndicator:`absolute flex items-center justify-center text-primary`,radioItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`]},variants:{size:{xs:{popup:`text-2xs p-0.75`,groupLabel:`gap-1 p-1 text-3xs`,item:`gap-1 px-1 py-1`,itemLink:`gap-1 px-1 py-1`,itemLinkIcon:`size-2 -ml-1`,separator:`-mx-0.75 my-0.75`,subTrigger:`gap-1 px-1 py-1`,subPopup:`text-2xs p-0.75`,checkboxItem:`gap-1 py-1`,radioItem:`gap-1 py-1`},sm:{popup:`text-xs p-0.875`,groupLabel:`gap-1.25 p-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1`,itemLink:`gap-1.5 px-1.5 py-1`,itemLinkIcon:`size-2.5 -ml-1.5`,separator:`-mx-0.875 my-0.875`,subTrigger:`gap-1.5 px-1.5 py-1`,subPopup:`text-xs p-0.875`,checkboxItem:`gap-1.5 py-1`,radioItem:`gap-1.5 py-1`},md:{popup:`text-sm p-1`,groupLabel:`gap-1.75 p-1.75 text-xs`,item:`gap-2 px-2 py-1.5`,itemLink:`gap-2 px-2 py-1.5`,itemLinkIcon:`size-3 -ml-2`,separator:`-mx-1 my-1`,subTrigger:`gap-2 px-2 py-1.5`,subPopup:`text-sm p-1`,checkboxItem:`gap-2 py-1.5`,radioItem:`gap-2 py-1.5`},lg:{popup:`text-base p-1.25`,groupLabel:`gap-2 p-2 text-sm`,item:`gap-2.5 px-2.5 py-1.5`,itemLink:`gap-2.5 px-2.5 py-1.5`,itemLinkIcon:`size-3.5 -ml-2.5`,separator:`-mx-1.25 my-1.25`,subTrigger:`gap-2.5 px-2.5 py-1.5`,subPopup:`text-base p-1.25`,checkboxItem:`gap-2.5 py-1.5`,radioItem:`gap-2.5 py-1.5`},xl:{popup:`text-lg p-1.5`,groupLabel:`gap-2.5 p-2.5 text-base`,item:`gap-3 px-3 py-2`,itemLink:`gap-3 px-3 py-2`,itemLinkIcon:`size-4 -ml-3`,separator:`-mx-1.5 my-1.5`,subTrigger:`gap-3 px-3 py-2`,subPopup:`text-lg p-1.5`,checkboxItem:`gap-3 py-2`,radioItem:`gap-3 py-2`},"2xl":{popup:`text-xl p-1.75`,groupLabel:`gap-3 p-3 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,itemLink:`gap-3.5 px-3.5 py-2.5`,itemLinkIcon:`size-4.5 -ml-3.5`,separator:`-mx-1.75 my-1.75`,subTrigger:`gap-3.5 px-3.5 py-2.5`,subPopup:`text-xl p-1.75`,checkboxItem:`gap-3.5 py-2.5`,radioItem:`gap-3.5 py-2.5`}},indicatorPosition:{start:{itemIndicator:`left-2`,checkboxItem:`pl-8 pr-2`,radioItem:`pl-8 pr-2`},end:{itemIndicator:`right-2`,checkboxItem:`pl-2 pr-8`,radioItem:`pl-2 pr-8`}}},compoundVariants:[{indicatorPosition:`start`,size:`xs`,class:{itemIndicator:`left-1`,checkboxItem:`pl-6 pr-1`,radioItem:`pl-6 pr-1`}},{indicatorPosition:`end`,size:`xs`,class:{itemIndicator:`right-1`,checkboxItem:`pl-1 pr-6`,radioItem:`pl-1 pr-6`}},{indicatorPosition:`start`,size:`sm`,class:{itemIndicator:`left-1.5`,checkboxItem:`pl-7 pr-1.5`,radioItem:`pl-7 pr-1.5`}},{indicatorPosition:`end`,size:`sm`,class:{itemIndicator:`right-1.5`,checkboxItem:`pl-1.5 pr-7`,radioItem:`pl-1.5 pr-7`}},{indicatorPosition:`start`,size:`lg`,class:{itemIndicator:`left-2.5`,checkboxItem:`pl-9 pr-2.5`,radioItem:`pl-9 pr-2.5`}},{indicatorPosition:`end`,size:`lg`,class:{itemIndicator:`right-2.5`,checkboxItem:`pl-2.5 pr-9`,radioItem:`pl-2.5 pr-9`}},{indicatorPosition:`start`,size:`xl`,class:{itemIndicator:`left-3`,checkboxItem:`pl-10 pr-3`,radioItem:`pl-10 pr-3`}},{indicatorPosition:`end`,size:`xl`,class:{itemIndicator:`right-3`,checkboxItem:`pl-3 pr-10`,radioItem:`pl-3 pr-10`}},{indicatorPosition:`start`,size:`2xl`,class:{itemIndicator:`left-3.5`,checkboxItem:`pl-12 pr-3.5`,radioItem:`pl-12 pr-3.5`}},{indicatorPosition:`end`,size:`2xl`,class:{itemIndicator:`right-3.5`,checkboxItem:`pl-3.5 pr-12`,radioItem:`pl-3.5 pr-12`}}],defaultVariants:{size:`md`,indicatorPosition:`start`}});export{t as menuVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{positioner:``,popup:[`z-50 min-w-max rounded-md border bg-popover text-popover-foreground shadow-md will-change-transform outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],arrow:`w-1em h-0.5em fill-popover stroke-border`,subPositioner:``,subPopup:[`z-50 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg will-change-transform outline-none`,`data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`],group:``,groupLabel:`flex items-center font-medium text-muted-foreground`,checkboxGroup:``,radioGroup:``,item:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,`data-[active=true]:bg-primary/10 data-[active=true]:text-primary`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`],itemIcon:`shrink-0 text-muted-foreground`,itemLink:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none decoration-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemLinkIcon:`shrink-0 self-start text-muted-foreground rtl:rotate-270`,subTrigger:`group/trigger flex items-center rounded-sm outline-none cursor-pointer select-none focus:bg-accent data-[state=open]:bg-accent data-[child-active]:text-primary`,subTriggerIcon:`ms-auto text-muted-foreground group-data-[child-active]/trigger:text-primary`,shortcut:`ms-auto tracking-widest opacity-60`,separator:`h-px bg-border`,checkboxItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemIndicator:`absolute flex items-center justify-center text-primary`,radioItem:[`relative flex items-center rounded-sm outline-none transition-colors-200 cursor-pointer select-none`,`focus:bg-accent focus:text-accent-foreground data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`]},variants:{size:{xs:{popup:`text-2xs p-0.75`,groupLabel:`gap-1 p-1 text-3xs`,item:`gap-1 px-1 py-1`,itemLink:`gap-1 px-1 py-1`,itemLinkIcon:`size-2 -ms-1`,separator:`-mx-0.75 my-0.75`,subTrigger:`gap-1 px-1 py-1`,subPopup:`text-2xs p-0.75`,checkboxItem:`gap-1 py-1`,radioItem:`gap-1 py-1`},sm:{popup:`text-xs p-0.875`,groupLabel:`gap-1.25 p-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1`,itemLink:`gap-1.5 px-1.5 py-1`,itemLinkIcon:`size-2.5 -ms-1.5`,separator:`-mx-0.875 my-0.875`,subTrigger:`gap-1.5 px-1.5 py-1`,subPopup:`text-xs p-0.875`,checkboxItem:`gap-1.5 py-1`,radioItem:`gap-1.5 py-1`},md:{popup:`text-sm p-1`,groupLabel:`gap-1.75 p-1.75 text-xs`,item:`gap-2 px-2 py-1.5`,itemLink:`gap-2 px-2 py-1.5`,itemLinkIcon:`size-3 -ms-2`,separator:`-mx-1 my-1`,subTrigger:`gap-2 px-2 py-1.5`,subPopup:`text-sm p-1`,checkboxItem:`gap-2 py-1.5`,radioItem:`gap-2 py-1.5`},lg:{popup:`text-base p-1.25`,groupLabel:`gap-2 p-2 text-sm`,item:`gap-2.5 px-2.5 py-1.5`,itemLink:`gap-2.5 px-2.5 py-1.5`,itemLinkIcon:`size-3.5 -ms-2.5`,separator:`-mx-1.25 my-1.25`,subTrigger:`gap-2.5 px-2.5 py-1.5`,subPopup:`text-base p-1.25`,checkboxItem:`gap-2.5 py-1.5`,radioItem:`gap-2.5 py-1.5`},xl:{popup:`text-lg p-1.5`,groupLabel:`gap-2.5 p-2.5 text-base`,item:`gap-3 px-3 py-2`,itemLink:`gap-3 px-3 py-2`,itemLinkIcon:`size-4 -ms-3`,separator:`-mx-1.5 my-1.5`,subTrigger:`gap-3 px-3 py-2`,subPopup:`text-lg p-1.5`,checkboxItem:`gap-3 py-2`,radioItem:`gap-3 py-2`},"2xl":{popup:`text-xl p-1.75`,groupLabel:`gap-3 p-3 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,itemLink:`gap-3.5 px-3.5 py-2.5`,itemLinkIcon:`size-4.5 -ms-3.5`,separator:`-mx-1.75 my-1.75`,subTrigger:`gap-3.5 px-3.5 py-2.5`,subPopup:`text-xl p-1.75`,checkboxItem:`gap-3.5 py-2.5`,radioItem:`gap-3.5 py-2.5`}},indicatorPosition:{start:{itemIndicator:`start-2`,checkboxItem:`ps-8 pe-2`,radioItem:`ps-8 pe-2`},end:{itemIndicator:`end-2`,checkboxItem:`ps-2 pe-8`,radioItem:`ps-2 pe-8`}}},compoundVariants:[{indicatorPosition:`start`,size:`xs`,class:{itemIndicator:`start-1`,checkboxItem:`ps-6 pe-1`,radioItem:`ps-6 pe-1`}},{indicatorPosition:`end`,size:`xs`,class:{itemIndicator:`end-1`,checkboxItem:`ps-1 pe-6`,radioItem:`ps-1 pe-6`}},{indicatorPosition:`start`,size:`sm`,class:{itemIndicator:`start-1.5`,checkboxItem:`ps-7 pe-1.5`,radioItem:`ps-7 pe-1.5`}},{indicatorPosition:`end`,size:`sm`,class:{itemIndicator:`end-1.5`,checkboxItem:`ps-1.5 pe-7`,radioItem:`ps-1.5 pe-7`}},{indicatorPosition:`start`,size:`lg`,class:{itemIndicator:`start-2.5`,checkboxItem:`ps-9 pe-2.5`,radioItem:`ps-9 pe-2.5`}},{indicatorPosition:`end`,size:`lg`,class:{itemIndicator:`end-2.5`,checkboxItem:`ps-2.5 pe-9`,radioItem:`ps-2.5 pe-9`}},{indicatorPosition:`start`,size:`xl`,class:{itemIndicator:`start-3`,checkboxItem:`ps-10 pe-3`,radioItem:`ps-10 pe-3`}},{indicatorPosition:`end`,size:`xl`,class:{itemIndicator:`end-3`,checkboxItem:`ps-3 pe-10`,radioItem:`ps-3 pe-10`}},{indicatorPosition:`start`,size:`2xl`,class:{itemIndicator:`start-3.5`,checkboxItem:`ps-12 pe-3.5`,radioItem:`ps-12 pe-3.5`}},{indicatorPosition:`end`,size:`2xl`,class:{itemIndicator:`end-3.5`,checkboxItem:`ps-3.5 pe-12`,radioItem:`ps-3.5 pe-12`}}],defaultVariants:{size:`md`,indicatorPosition:`start`}});export{t as menuVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideMenuUi as t}from"../menu/context.js";import{menubarVariants as n}from"./variants.js";import{computed as r,createBlock as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{MenubarCompact as b,provideMenubarUi as x}from"@soybeanjs/headless/menubar";const S=o({name:`SMenubar`,__name:`menubar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},modelValue:{},defaultValue:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:open`,`select`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`,`indicatorPosition`]),D=_(w),O=r(()=>y(T));return x(r(()=>e(n({size:C.size}),C.ui,{root:C.class}))),t(()=>C),(e,t)=>(u(),i(m(b),c(m(E),p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[f(e.$slots,t,l(s(n)))])}))]),1040))}});export{S as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideMenuUi as t}from"../menu/context.js";import{menubarVariants as n}from"./variants.js";import{computed as r,createBlock as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{MenubarCompact as b,provideMenubarUi as x}from"@soybeanjs/headless/menubar";const S=o({name:`SMenubar`,__name:`menubar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},indicatorPosition:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},modelValue:{},defaultValue:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},items:{},activeValue:{},itemProps:{},linkProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`update:open`,`select`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`,`indicatorPosition`]),D=_(w),O=r(()=>y(T));return x(r(()=>e(n({size:C.size}),C.ui,{root:C.class}))),t(()=>C),(e,t)=>(u(),i(m(b),c(m(E),p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[f(e.$slots,t,l(s(n)))])}))]),1040))}});export{S as default};
@@ -1,7 +1,7 @@
1
1
  import { MenubarProps, MenubarSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { DefinedValue } from "@soybeanjs/headless/types";
4
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
+ import { DefinedValue } from "@soybeanjs/headless/types";
5
5
 
6
6
  //#region src/components/menubar/menubar.vue.d.ts
7
7
  declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__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,3 +1,3 @@
1
- import { NavigationMenuEmits, NavigationMenuExtendedUi, NavigationMenuExtraUi, NavigationMenuExtraUiSlot, NavigationMenuOptionData, NavigationMenuOptionEmits, NavigationMenuOptionProps, NavigationMenuProps, NavigationMenuSubOptionEmits, NavigationMenuSubOptionProps } from "./types.js";
1
+ import { NavigationMenuEmits, NavigationMenuProps, NavigationMenuSlots } from "./types.js";
2
2
  import { _default } from "./navigation-menu.vue.js";
3
3
  export * from "@soybeanjs/headless/navigation-menu";
@@ -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/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
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{navigationMenuVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{keysOf as v}from"@soybeanjs/utils";import{NavigationMenuCompact as y,provideNavigationMenuUi as b}from"@soybeanjs/headless/navigation-menu";const x=a({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(a,{emit:x}){let S=a,C=x,w=m(),T=_(S,[`class`,`size`,`ui`]),E=g(C),D=n(()=>v(w));return b(n(()=>e(t({size:S.size}),S.ui,{root:S.class}))),(e,t)=>(l(),r(p(y),s(p(T),f(p(E))),i({_:2},[u(D.value,t=>({name:t,fn:h(n=>[d(e.$slots,t,c(o(n)))])}))]),1040))}});export{x as default};
@@ -1,30 +1,9 @@
1
- import { NavigationMenuOptionData, NavigationMenuProps } from "./types.js";
1
+ import { NavigationMenuProps, NavigationMenuSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/navigation-menu/navigation-menu.vue.d.ts
6
- type Slots = {
7
- item: (props: {
8
- item: NavigationMenuOptionData;
9
- isTrigger?: boolean;
10
- }) => any;
11
- 'item-leading': (props: {
12
- item: NavigationMenuOptionData;
13
- }) => any;
14
- 'item-trailing': (props: {
15
- item: NavigationMenuOptionData;
16
- }) => any;
17
- 'item-children': (props: {
18
- item: NavigationMenuOptionData;
19
- }) => any;
20
- 'item-trigger-icon': (props: {
21
- item: NavigationMenuOptionData;
22
- }) => any;
23
- 'item-link-icon': (props: {
24
- item: NavigationMenuOptionData;
25
- }) => any;
26
- };
27
- type __VLS_Slots = Slots;
6
+ type __VLS_Slots = NavigationMenuSlots;
28
7
  declare const __VLS_base: _$vue.DefineComponent<NavigationMenuProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
29
8
  select: (payload: CustomEvent<{
30
9
  originalEvent: Event;
@@ -1,117 +1,12 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { IconValue } from "../icon/types.js";
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";
2
+ import { NavigationMenuCompactEmits, NavigationMenuCompactProps, NavigationMenuCompactSlots, NavigationMenuUi } from "@soybeanjs/headless/navigation-menu";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
6
4
 
7
5
  //#region src/components/navigation-menu/types.d.ts
8
- /**
9
- * Option data for the NavigationMenu component.
10
- */
11
- interface NavigationMenuOptionData extends LinkBaseProps {
12
- /** The value of the option. */
13
- value: string;
14
- /** The label to display in the option. */
15
- label: string;
16
- /** The description of the option. */
17
- description?: string;
18
- /**
19
- * The icon of the option.
20
- *
21
- * if it is a string, it will be used as the icon name of the iconify.
22
- */
23
- icon?: IconValue;
24
- /** Whether the option is disabled. */
25
- disabled?: boolean;
26
- /** The children of the option. */
27
- children?: NavigationMenuOptionData[];
28
- }
29
- /**
30
- * Additional UI slots for the navigation menu component.
31
- */
32
- type NavigationMenuExtraUiSlot = 'triggerIcon' | 'linkIcon' | 'arrow' | 'viewportRoot' | 'subItemContent' | 'subLinkContent' | 'subLinkLabel' | 'subLinkDescription';
33
- /**
34
- * UI class overrides for the NavigationMenuExtra component.
35
- */
36
- type NavigationMenuExtraUi = UiClass<NavigationMenuExtraUiSlot>;
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
- */
44
- interface NavigationMenuSubOptionProps {
45
- /**
46
- * Sub item.
47
- */
48
- subItem: NavigationMenuOptionData;
49
- /**
50
- * Properties forwarded to the sub item element.
51
- */
52
- subItemProps?: NavigationMenuItemProps;
53
- /**
54
- * Properties forwarded to the link element.
55
- */
56
- linkProps?: NavigationMenuLinkProps;
57
- }
58
- /**
59
- * Events for the NavigationMenuSubOption component.
60
- */
61
- type NavigationMenuSubOptionEmits = NavigationMenuLinkEmits;
62
- /**
63
- * Properties for the NavigationMenuOption component.
64
- */
65
- interface NavigationMenuOptionProps {
66
- /**
67
- * Current item data.
68
- */
69
- item: NavigationMenuOptionData;
70
- /**
71
- * Properties forwarded to the item element.
72
- */
73
- itemProps?: NavigationMenuItemProps;
74
- /**
75
- * Properties forwarded to the link element.
76
- */
77
- linkProps?: NavigationMenuLinkProps;
78
- /**
79
- * Properties forwarded to the trigger element.
80
- */
81
- triggerProps?: NavigationMenuTriggerProps;
82
- /**
83
- * Properties forwarded to the content element.
84
- */
85
- contentProps?: NavigationMenuContentProps;
86
- /**
87
- * Properties forwarded to the viewport element.
88
- */
89
- viewportProps?: NavigationMenuViewportProps;
90
- /**
91
- * Properties forwarded to the indicator element.
92
- */
93
- indicatorProps?: NavigationMenuIndicatorProps;
94
- /**
95
- * Properties forwarded to the list element.
96
- */
97
- listProps?: NavigationMenuListProps;
98
- /**
99
- * Properties forwarded to the sub list element.
100
- */
101
- subListProps?: NavigationMenuListProps;
102
- /**
103
- * Properties forwarded to the sub item element.
104
- */
105
- subItemProps?: NavigationMenuItemProps;
106
- }
107
- /**
108
- * Events for the NavigationMenuOption component.
109
- */
110
- type NavigationMenuOptionEmits = NavigationMenuSubEmits & NavigationMenuContentEmits & NavigationMenuLinkEmits;
111
6
  /**
112
7
  * Properties for the NavigationMenu component.
113
8
  */
114
- interface NavigationMenuProps extends NavigationMenuRootProps, Omit<NavigationMenuOptionProps, 'item'> {
9
+ interface NavigationMenuProps extends NavigationMenuCompactProps {
115
10
  /**
116
11
  * Additional class names applied to the root element.
117
12
  */
@@ -123,15 +18,15 @@ interface NavigationMenuProps extends NavigationMenuRootProps, Omit<NavigationMe
123
18
  /**
124
19
  * Per-slot class overrides for the component.
125
20
  */
126
- ui?: Partial<NavigationMenuExtendedUi>;
127
- /**
128
- * Items rendered by the component.
129
- */
130
- items: NavigationMenuOptionData[];
21
+ ui?: Partial<NavigationMenuUi>;
131
22
  }
132
23
  /**
133
24
  * Events for the NavigationMenu component.
134
25
  */
135
- type NavigationMenuEmits = NavigationMenuRootEmits & NavigationMenuOptionEmits;
26
+ type NavigationMenuEmits = NavigationMenuCompactEmits;
27
+ /**
28
+ * Slots for the NavigationMenu component.
29
+ */
30
+ type NavigationMenuSlots = NavigationMenuCompactSlots;
136
31
  //#endregion
137
- export { NavigationMenuEmits, NavigationMenuExtendedUi, NavigationMenuExtraUi, NavigationMenuExtraUiSlot, NavigationMenuOptionData, NavigationMenuOptionEmits, NavigationMenuOptionProps, NavigationMenuProps, NavigationMenuSubOptionEmits, NavigationMenuSubOptionProps };
32
+ export { NavigationMenuEmits, NavigationMenuProps, NavigationMenuSlots };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group relative z-2`,viewportRoot:`perspective-2000px absolute top-full left-0 flex w-auto justify-center group-data-[orientation=vertical]:top-0 group-data-[orientation=vertical]:left-full`,viewport:[`origin-top-center relative overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg`,`h-[--soybean-navigation-menu-viewport-height] w-[--soybean-navigation-menu-viewport-width]`,`data-[state=open]:animate-in data-[state=open]:zoom-in-90 data-[state=closed]:animate-out data-[state=closed]:zoom-out-95`,`group-data-[orientation=vertical]:mt-0`],content:[`left-0 top-0 w-auto md:absolute lt-md:w-full`,`data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in`,`data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out`,`data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52`],arrow:`relative top-70% rotate-45 border border-border bg-background rounded-0.5`,list:[`group grow flex items-center justify-center my-0 list-none`,`group-data-[orientation=vertical]:flex-col group-data-[orientation=vertical]:items-stretch`],subList:`grid grid-cols-[auto_auto] list-none my-0`,item:`list-none m-0`,subItem:`list-none m-0`,itemIcon:`shrink-0 text-muted-foreground`,trigger:[`group inline-flex items-center rounded-md bg-background font-medium transition-colors-200 decoration-none outline-none`,`hover:bg-accent hover:text-accent-foreground`,`focus:bg-accent focus:text-accent-foreground`,`disabled:pointer-events-none disabled:opacity-50`,`data-[active]:bg-accent/50`,`data-[state=open]:bg-accent/50`],subItemContent:`flex items-start rounded-md outline-none cursor-default select-none`,triggerIcon:`ml-auto transition duration-200 group-data-[state=open]:rotate-180`,indicator:[`absolute top-full z-2 flex mt-0.25 w-[--soybean-navigation-menu-indicator-size] items-end justify-center overflow-hidden transition-transform-200 ease-out translate-x-[--soybean-navigation-menu-indicator-position]`,`data-[state=visible]:animate-in data-[state=visible]:fade-in-0 data-[state=hidden]:animate-out data-[state=hidden]:fade-out-0`,`group-data-[orientation=vertical]:top-[calc(var(--soybean-navigation-menu-indicator-size)/2)] group-data-[orientation=vertical]:left-full`,`group-data-[orientation=vertical]:translate-y-[--soybean-navigation-menu-indicator-position]`,`group-data-[orientation=vertical]:-rotate-90`,`group-data-[orientation=vertical]:mt-0`],link:[`group relative w-full flex items-center rounded-md font-medium outline-none cursor-pointer decoration-none`,`focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],subLink:[`flex items-start select-none rounded-md no-underline outline-none transition-colors-200 cursor-pointer decoration-none`,`focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],linkIcon:`shrink-0 self-start text-muted-foreground`,subLinkContent:`grow flex flex-col items-start`,subLinkLabel:`font-medium leading-none`,subLinkDescription:`line-clamp-2 text-muted-foreground leading-snug m-0`},variants:{size:{xs:{viewport:`mt-1.75 group-data-[orientation=vertical]:ml-1.75`,list:`gap-1 text-2xs`,subList:`gap-1.5 p-1.5 text-2xs`,trigger:`gap-1 px-1 py-1`,indicator:`h-1.75 group-data-[orientation=vertical]:-translate-x-1.75`,arrow:`size-2.25`,link:`gap-1 px-1 py-1`,subItemContent:`gap-1 px-1 py-1`,subLink:`gap-1 px-1 py-1`,linkIcon:`size-2 -ml-1`,subLinkDescription:`mt-1.25`},sm:{viewport:`mt-2 group-data-[orientation=vertical]:ml-2`,list:`gap-1.25 text-xs`,subList:`gap-1.75 p-1.75 text-xs`,trigger:`gap-1.5 px-1.5 py-1`,indicator:`h-2 group-data-[orientation=vertical]:-translate-x-2`,arrow:`size-2.5`,link:`gap-1.5 px-1.5 py-1`,subItemContent:`gap-1.5 px-1.5 py-1`,subLink:`gap-1.5 px-1.5 py-1`,linkIcon:`size-2.5 -ml-1.5`,subLinkDescription:`mt-1.25`},md:{viewport:`mt-2.5 group-data-[orientation=vertical]:ml-2.5`,list:`gap-1.5 text-sm`,subList:`gap-2 p-2 text-sm`,trigger:`gap-2 px-2 py-1.5`,indicator:`h-2.5 group-data-[orientation=vertical]:-translate-x-2.5`,arrow:`size-3`,link:`gap-2 px-2 py-1.5`,subItemContent:`gap-2 px-2 py-1.5`,subLink:`gap-2 px-2 py-1.5`,linkIcon:`size-3 -ml-2`,subLinkDescription:`mt-1.5`},lg:{viewport:`mt-3 group-data-[orientation=vertical]:ml-3`,list:`gap-1.75 text-base`,subList:`gap-2.5 p-2.5 text-base`,trigger:`gap-2.5 px-2.5 py-1.5`,indicator:`h-3 group-data-[orientation=vertical]:-translate-x-3`,arrow:`size-3.5`,link:`gap-2.5 px-2.5 py-1.5`,subItemContent:`gap-2.5 px-2.5 py-1.5`,subLink:`gap-2.5 px-2.5 py-1.5`,linkIcon:`size-3.5 -ml-2.5`,subLinkDescription:`mt-1.75`},xl:{viewport:`mt-3.5 group-data-[orientation=vertical]:ml-3.5`,list:`gap-2 text-lg`,subList:`gap-3 p-3 text-lg`,trigger:`gap-3 px-3 py-2`,indicator:`h-3.5 group-data-[orientation=vertical]:-translate-x-3.5`,arrow:`size-4`,link:`gap-3 px-3 py-2`,subItemContent:`gap-3 px-3 py-2`,subLink:`gap-3 px-3 py-2`,linkIcon:`size-4 -ml-3`,subLinkDescription:`mt-2`},"2xl":{viewport:`mt-4 group-data-[orientation=vertical]:ml-4`,list:`gap-2.5 text-xl`,subList:`gap-3.5 p-3.5 text-xl`,trigger:`gap-3.5 px-3.5 py-2.5`,indicator:`h-4 group-data-[orientation=vertical]:-translate-x-4`,arrow:`size-4.5`,link:`gap-3.5 px-3.5 py-2.5`,subItemContent:`gap-3.5 px-3.5 py-2.5`,subLink:`gap-3.5 px-3.5 py-2.5`,linkIcon:`size-4.5 -ml-3.5`,subLinkDescription:`mt-2.5`}}},defaultVariants:{size:`md`}});export{t as navigationMenuVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group`,viewport:[`fixed z-50 origin-top-center overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg`,`start-[--soybean-navigation-menu-viewport-left] top-[--soybean-navigation-menu-viewport-top]`,`h-[--soybean-navigation-menu-viewport-height] w-[--soybean-navigation-menu-viewport-width]`,`data-[state=open]:animate-in data-[state=open]:zoom-in-90 data-[state=closed]:animate-out data-[state=closed]:zoom-out-95`,`group-data-[orientation=vertical]:mt-0`],content:[`start-0 top-0 w-auto md:absolute lt-md:w-full`,`data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in`,`data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out`,`data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52`,`rtl:data-[motion=from-end]:slide-in-from-left-52 rtl:data-[motion=from-start]:slide-in-from-right-52 rtl:data-[motion=to-end]:slide-out-to-left-52 rtl:data-[motion=to-start]:slide-out-to-right-52`],arrow:`w-1em h-0.5em fill-popover stroke-border rotate-180 group-data-[orientation=vertical]:rotate-90`,list:[`group grow flex items-center justify-center my-0 list-none`,`group-data-[orientation=vertical]:flex-col group-data-[orientation=vertical]:items-stretch`],subList:`grid grid-cols-[auto_auto] list-none my-0`,item:`list-none m-0`,subItem:`list-none m-0`,itemIcon:`shrink-0 text-muted-foreground`,trigger:[`group inline-flex items-center rounded-md bg-background font-medium transition-colors-200 decoration-none outline-none`,`hover:bg-accent hover:text-accent-foreground`,`focus:bg-accent focus:text-accent-foreground`,`disabled:pointer-events-none disabled:opacity-50`,`data-[active]:bg-accent/50`,`data-[state=open]:bg-accent/50`],subItemContent:`flex items-start rounded-md outline-none cursor-default select-none`,triggerIcon:`ms-auto transition duration-200 group-data-[state=open]:rotate-180`,indicator:[`fixed start-[--soybean-navigation-menu-indicator-left] top-[--soybean-navigation-menu-indicator-top] z-50`,`flex w-[--soybean-navigation-menu-indicator-size] items-end justify-center overflow-hidden transition-transform-200 ease-out`,`data-[state=visible]:animate-in data-[state=visible]:fade-in-0 data-[state=hidden]:animate-out data-[state=hidden]:fade-out-0`,`data-[orientation=vertical]:-rotate-90 [&[dir=rtl]]:data-[orientation=vertical]:rotate-90`],link:[`group relative w-full flex items-center rounded-md font-medium outline-none cursor-pointer decoration-none`,`focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],subLink:[`flex items-start select-none rounded-md no-underline outline-none transition-colors-200 cursor-pointer decoration-none`,`focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],linkIcon:`shrink-0 self-start text-muted-foreground rtl:rotate-270`,subLinkContent:`grow flex flex-col items-start`,subLinkLabel:`font-medium leading-none`,subLinkDescription:`line-clamp-2 text-muted-foreground leading-snug m-0`},variants:{size:{xs:{viewport:`mt-1.75 group-data-[orientation=vertical]:ms-3.5`,list:`gap-1 text-2xs`,subList:`gap-1.5 p-1.5 text-2xs`,trigger:`gap-1 px-1 py-1`,indicator:`h-1.75`,arrow:`size-2.25`,link:`gap-1 px-1 py-1`,subItemContent:`gap-1 px-1 py-1`,subLink:`gap-1 px-1 py-1`,linkIcon:`size-2 -ms-1`,subLinkDescription:`mt-1.25`},sm:{viewport:`mt-2 group-data-[orientation=vertical]:ms-4`,list:`gap-1.25 text-xs`,subList:`gap-1.75 p-1.75 text-xs`,trigger:`gap-1.5 px-1.5 py-1`,indicator:`h-2`,arrow:`size-2.5`,link:`gap-1.5 px-1.5 py-1`,subItemContent:`gap-1.5 px-1.5 py-1`,subLink:`gap-1.5 px-1.5 py-1`,linkIcon:`size-2.5 -ms-1.5`,subLinkDescription:`mt-1.25`},md:{viewport:`mt-[calc(0.625rem-1px)] group-data-[orientation=vertical]:ms-5`,list:`gap-1.5 text-sm`,subList:`gap-2 p-2 text-sm`,trigger:`gap-2 px-2 py-1.5`,indicator:`h-2.5`,arrow:`size-3`,link:`gap-2 px-2 py-1.5`,subItemContent:`gap-2 px-2 py-1.5`,subLink:`gap-2 px-2 py-1.5`,linkIcon:`size-3 -ms-2`,subLinkDescription:`mt-1.5`},lg:{viewport:`mt-3 group-data-[orientation=vertical]:ms-6`,list:`gap-1.75 text-base`,subList:`gap-2.5 p-2.5 text-base`,trigger:`gap-2.5 px-2.5 py-1.5`,indicator:`h-3`,arrow:`size-3.5`,link:`gap-2.5 px-2.5 py-1.5`,subItemContent:`gap-2.5 px-2.5 py-1.5`,subLink:`gap-2.5 px-2.5 py-1.5`,linkIcon:`size-3.5 -ms-2.5`,subLinkDescription:`mt-1.75`},xl:{viewport:`mt-3.5 group-data-[orientation=vertical]:ms-7`,list:`gap-2 text-lg`,subList:`gap-3 p-3 text-lg`,trigger:`gap-3 px-3 py-2`,indicator:`h-3.5`,arrow:`size-4`,link:`gap-3 px-3 py-2`,subItemContent:`gap-3 px-3 py-2`,subLink:`gap-3 px-3 py-2`,linkIcon:`size-4 -ms-3`,subLinkDescription:`mt-2`},"2xl":{viewport:`mt-4 group-data-[orientation=vertical]:ms-8`,list:`gap-2.5 text-xl`,subList:`gap-3.5 p-3.5 text-xl`,trigger:`gap-3.5 px-3.5 py-2.5`,indicator:`h-4`,arrow:`size-4.5`,link:`gap-3.5 px-3.5 py-2.5`,subItemContent:`gap-3.5 px-3.5 py-2.5`,subLink:`gap-3.5 px-3.5 py-2.5`,linkIcon:`size-4.5 -ms-3.5`,subLinkDescription:`mt-2.5`}}},defaultVariants:{size:`md`}});export{t as navigationMenuVariants};
@@ -1,4 +1,4 @@
1
1
  import { PageTabsVariant } from "./variants.js";
2
- import { PageTabsContextMenuOptionData, PageTabsEmits, PageTabsExtendedUi, PageTabsExtraUiSlot, PageTabsOptionData, PageTabsProps, PageTabsState } from "./types.js";
2
+ import { PageTabsEmits, PageTabsProps, PageTabsSlots } from "./types.js";
3
3
  import { _default } from "./page-tabs.vue.js";
4
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/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};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideMenuUi as t}from"../menu/context.js";import{pageTabsVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createSlots as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeClass as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toHandlers as v,unref as y,useSlots as b,withCtx as x}from"vue";import{useForwardListeners as S,useOmitProps as C}from"@soybeanjs/headless/composables";import{keysOf as w}from"@soybeanjs/utils";import{PageTabsCompact as T,providePageTabsUi as E}from"@soybeanjs/headless/page-tabs";const D=u({name:`SPageTabs`,__name:`page-tabs`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{},itemProps:{},pinProps:{},closeProps:{},contextMenuProps:{},modelValue:{},middleClickClose:{type:Boolean},dir:{},loop:{type:Boolean,default:!0},currentTabStopId:{},defaultCurrentTabStopId:{},preventScrollOnEntryFocus:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`selectContextMenu`],setup(u,{emit:D}){let O=u,k=D,A=b(),j=C(O,[`class`,`size`,`ui`,`onClick`,`onContextmenu`]),M=S(k),N=i(()=>w(A).filter(e=>e!==`indicator`)),P=i(()=>e(n({size:O.size,variant:O.variant}),O.ui,{root:O.class}));return t(()=>({size:O.size})),E(P),(e,t)=>(h(),a(y(T),f(y(j),v(y(M))),l({indicator:x(()=>[u.variant===`chrome`?(h(),s(r,{key:0},[(h(),s(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:p(P.value.chromeBgLeft)},[...t[0]||=[c(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(h(),s(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:p(P.value.chromeBgRight)},[...t[1]||=[c(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):o(`v-if`,!0),u.variant===`slider`?(h(),s(`div`,{key:1,class:p(P.value.sliderIndicator)},null,2)):o(`v-if`,!0)]),_:2},[g(N.value,t=>({name:t,fn:x(n=>[o(` @vue-expect-error ignore slot type `),_(e.$slots,t,m(d(n)))])}))]),1040))}});export{D as default};
@@ -1,8 +1,10 @@
1
- import { PageTabsContextMenuOptionData, PageTabsEmits, PageTabsOptionData, PageTabsProps } from "./types.js";
1
+ import { PageTabsEmits, PageTabsProps, PageTabsSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
+ import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
+ import { PageTabsOptionData } from "@soybeanjs/headless/page-tabs";
3
5
 
4
6
  //#region src/components/page-tabs/page-tabs.vue.d.ts
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<{
7
+ declare const __VLS_export: <T extends PageTabsOptionData = 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
8
  props: _$vue.PublicProps & __VLS_PrettifyLocal<PageTabsProps<T> & {
7
9
  onClick?: ((tab: T) => any) | undefined;
8
10
  onContextmenu?: ((tab: T) => any) | undefined;
@@ -10,13 +12,13 @@ declare const __VLS_export: <T extends PageTabsOptionData>(__VLS_props: NonNulla
10
12
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
11
13
  "onUpdate:items"?: ((items: T[]) => any) | undefined;
12
14
  onPin?: ((tab: T) => any) | undefined;
13
- onSelectContextMenu?: ((menu: PageTabsContextMenuOptionData, tab: T) => any) | undefined;
15
+ onSelectContextMenu?: ((menu: _$_soybeanjs_headless0.PageTabsContextMenuOptionData, tab: T) => any) | undefined;
14
16
  }> & (typeof globalThis extends {
15
17
  __VLS_PROPS_FALLBACK: infer P;
16
18
  } ? P : {});
17
19
  expose: (exposed: {}) => void;
18
20
  attrs: any;
19
- slots: {};
21
+ slots: PageTabsSlots<T>;
20
22
  emit: PageTabsEmits<T>;
21
23
  }>) => _$vue.VNode & {
22
24
  __ctx?: Awaited<typeof __VLS_setup>;
@@ -1,102 +1,13 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { IconValue } from "../icon/types.js";
3
- import { index_d_exports } from "../menu/index.js";
4
2
  import { PageTabsVariant } from "./variants.js";
5
- import { PageTabsItemProps, PageTabsRootEmits, PageTabsRootProps, PageTabsUiSlot } from "@soybeanjs/headless/page-tabs";
6
- import { ClassValue, MaybePromise } from "@soybeanjs/headless/types";
3
+ import { PageTabsCompactEmits, PageTabsCompactProps, PageTabsCompactSlots, PageTabsOptionData, PageTabsUi } from "@soybeanjs/headless/page-tabs";
4
+ import { ClassValue } from "@soybeanjs/headless/types";
7
5
 
8
6
  //#region src/components/page-tabs/types.d.ts
9
- /**
10
- * Option data for the PageTabs component.
11
- */
12
- interface PageTabsOptionData extends PageTabsItemProps {
13
- /**
14
- * Label text rendered by the component.
15
- */
16
- label: string;
17
- /**
18
- * Icon rendered by the component.
19
- */
20
- icon?: IconValue;
21
- /**
22
- * Whether to hide the pinned icon on the tab
23
- */
24
- hidePinnedIcon?: boolean;
25
- }
26
- /**
27
- * Additional UI slots for the page tabs component.
28
- */
29
- type PageTabsExtraUiSlot = 'itemText' | 'chromeBgLeft' | 'chromeBgRight' | 'sliderIndicator';
30
- /**
31
- * Extended UI class overrides for the PageTabs component.
32
- */
33
- type PageTabsExtendedUi = Record<PageTabsUiSlot | PageTabsExtraUiSlot, ClassValue>;
34
- /**
35
- * State values for PageTabsState.
36
- */
37
- interface PageTabsState {
38
- /**
39
- * Pin.
40
- */
41
- pin: () => void;
42
- /**
43
- * Unpin.
44
- */
45
- unpin: () => void;
46
- /**
47
- * Whether the component can be closed.
48
- */
49
- closable: boolean;
50
- /**
51
- * Close.
52
- */
53
- close: () => Promise<void>;
54
- /**
55
- * Whether left closable.
56
- */
57
- leftClosable: boolean;
58
- /**
59
- * Close left.
60
- */
61
- closeLeft: () => void;
62
- /**
63
- * Whether right closable.
64
- */
65
- rightClosable: boolean;
66
- /**
67
- * Close right.
68
- */
69
- closeRight: () => void;
70
- /**
71
- * Whether other closable.
72
- */
73
- otherClosable: boolean;
74
- /**
75
- * Close other.
76
- */
77
- closeOther: () => void;
78
- /**
79
- * Whether all closable.
80
- */
81
- allClosable: boolean;
82
- /**
83
- * Close all.
84
- */
85
- closeAll: () => void;
86
- }
87
- /**
88
- * Option data for the PageTabsContextMenu component.
89
- */
90
- interface PageTabsContextMenuOptionData extends index_d_exports.MenuOptionData<string> {
91
- /**
92
- * Action to perform when the menu item is selected.
93
- */
94
- action?: () => MaybePromise<void>;
95
- }
96
7
  /**
97
8
  * Properties for the PageTabs component.
98
9
  */
99
- interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps {
10
+ interface PageTabsProps<T extends PageTabsOptionData = PageTabsOptionData> extends PageTabsCompactProps<T> {
100
11
  /**
101
12
  * root element class
102
13
  */
@@ -112,33 +23,15 @@ interface PageTabsProps<T extends PageTabsOptionData> extends PageTabsRootProps
112
23
  /**
113
24
  * Per-slot class overrides for the component.
114
25
  */
115
- ui?: Partial<PageTabsExtendedUi>;
116
- /**
117
- * Items rendered by the component.
118
- */
119
- items: T[];
120
- /**
121
- * A factory function to generate context menu options for each tab.
122
- * @param tab The tab data
123
- * @param state The current state and operations for the tab
124
- */
125
- menuFactory?: (tab: T, state: PageTabsState) => PageTabsContextMenuOptionData[];
126
- /**
127
- * Callback invoked before closing the tab. Return `false` or a promise that resolves to `false` to prevent closing.
128
- * @param value
129
- */
130
- beforeClose?: (value: string) => MaybePromise<boolean | void>;
26
+ ui?: Partial<PageTabsUi>;
131
27
  }
132
28
  /**
133
29
  * Events for the PageTabs component.
134
30
  */
135
- type PageTabsEmits<T> = PageTabsRootEmits & {
136
- (e: 'update:items', items: T[]): void;
137
- (e: 'click', tab: T): void;
138
- (e: 'close', tab: T): void;
139
- (e: 'pin', tab: T): void;
140
- (e: 'contextmenu', tab: T): void;
141
- (e: 'selectContextMenu', menu: PageTabsContextMenuOptionData, tab: T): void;
142
- };
31
+ type PageTabsEmits<T extends PageTabsOptionData = PageTabsOptionData> = PageTabsCompactEmits<T>;
32
+ /**
33
+ * Slots for the PageTabs component.
34
+ */
35
+ type PageTabsSlots<T extends PageTabsOptionData = PageTabsOptionData> = PageTabsCompactSlots<T>;
143
36
  //#endregion
144
- export { PageTabsContextMenuOptionData, PageTabsEmits, PageTabsExtendedUi, PageTabsExtraUiSlot, PageTabsOptionData, PageTabsProps, PageTabsState };
37
+ export { PageTabsEmits, PageTabsProps, PageTabsSlots };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex`,item:[`group/item relative flex items-center cursor-pointer select-none outline-none`,`data-[active=true]:bg-primary-50 data-[active=true]:text-primary data-[active=true]:z-2`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`,`dark:data-[active=true]:bg-accent dark:data-[active=true]:text-foreground`],itemText:`grow truncate`,close:[`rounded-full hover:text-muted group-data-[active=true]/item:hover:bg-primary/50`,`group-data-[active=false]/item:hover:bg-accent-foreground/20`,`dark:hover:text-foreground dark:group-data-[active=true]/item:hover:bg-accent-foreground/20`],pin:``,chromeBgLeft:[`absolute right-full bottom-0 fill-transparent`,`group-hover/item:fill-accent group-data-[active=true]/item:fill-primary-50 dark:group-data-[active=true]/item:fill-accent group-data-[active=true]/item:z-2`],chromeBgRight:[`absolute left-full bottom-0 fill-transparent`,`group-hover/item:fill-accent group-data-[active=true]/item:fill-primary-50 dark:group-data-[active=true]/item:fill-accent group-data-[active=true]/item:z-2`],sliderIndicator:`absolute bottom-0 left-0 w-full h-0.5 group-data-[active=true]/item:bg-primary`},variants:{size:{xs:{root:`text-2xs`,item:`gap-2 px-1 py-1`,itemText:`max-w-50`},sm:{root:`text-xs`,item:`gap-2.5 px-1.5 py-1`,itemText:`max-w-55`},md:{root:`text-sm`,item:`gap-3 px-2 py-1.5`,itemText:`max-w-60`,chromeBgLeft:`w-2 h-2`,chromeBgRight:`w-2 h-2`},lg:{root:`text-base`,item:`gap-3.5 px-2.5 py-1.5`,itemText:`max-w-65`},xl:{root:`text-lg`,item:`gap-4 px-3 py-2`,itemText:`max-w-70`},"2xl":{root:`text-xl`,item:`gap-4.5 px-3.5 py-2.5`,itemText:`max-w-75`}},variant:{chrome:{root:`items-end`,item:`rounded-t-md`},card:{root:`items-center gap-2`,item:`rounded-md shadow-sm border border-border`},slider:{root:`items-end`,item:`rounded-t-md`}}},defaultVariants:{size:`md`,variant:`chrome`}});export{t as pageTabsVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex`,item:[`group/item relative flex items-center cursor-pointer select-none outline-none`,`data-[active=true]:bg-primary-50 data-[active=true]:text-primary data-[active=true]:z-2`,`data-[active=false]:hover:bg-accent data-[active=false]:focus:bg-accent`,`dark:data-[active=true]:bg-accent dark:data-[active=true]:text-foreground`],itemText:`grow truncate`,close:[`outline-none rounded-full hover:text-muted group-data-[active=true]/item:hover:bg-primary/50`,`group-data-[active=false]/item:hover:bg-accent-foreground/20`,`dark:hover:text-foreground dark:group-data-[active=true]/item:hover:bg-accent-foreground/20`],pin:`outline-none`,chromeBgLeft:[`absolute end-full bottom-0 fill-transparent`,`group-hover/item:fill-accent group-data-[active=true]/item:fill-primary-50 dark:group-data-[active=true]/item:fill-accent group-data-[active=true]/item:z-2`],chromeBgRight:[`absolute start-full bottom-0 fill-transparent`,`group-hover/item:fill-accent group-data-[active=true]/item:fill-primary-50 dark:group-data-[active=true]/item:fill-accent group-data-[active=true]/item:z-2`],sliderIndicator:`absolute bottom-0 start-0 w-full h-0.5 group-data-[active=true]/item:bg-primary`},variants:{size:{xs:{root:`text-2xs`,item:`gap-2 px-1 py-1`,itemText:`max-w-50`},sm:{root:`text-xs`,item:`gap-2.5 px-1.5 py-1`,itemText:`max-w-55`},md:{root:`text-sm`,item:`gap-3 px-2 py-1.5`,itemText:`max-w-60`,chromeBgLeft:`w-2 h-2`,chromeBgRight:`w-2 h-2`},lg:{root:`text-base`,item:`gap-3.5 px-2.5 py-1.5`,itemText:`max-w-65`},xl:{root:`text-lg`,item:`gap-4 px-3 py-2`,itemText:`max-w-70`},"2xl":{root:`text-xl`,item:`gap-4.5 px-3.5 py-2.5`,itemText:`max-w-75`}},variant:{chrome:{root:`items-end`,item:`rounded-t-md`},card:{root:`items-center gap-2`,item:`rounded-md shadow-sm border border-border`},slider:{root:`items-end`,item:`rounded-t-md`}}},defaultVariants:{size:`md`,variant:`chrome`}});export{t as pageTabsVariants};
@@ -1,3 +1,3 @@
1
- import { PaginationEmits, PaginationProps } from "./types.js";
1
+ import { PaginationEmits, PaginationProps, PaginationSlots } from "./types.js";
2
2
  import { _default } from "./pagination.vue.js";
3
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/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};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{paginationVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,toHandlers as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{keysOf as g}from"@soybeanjs/utils";import{PaginationCompact as _,providePaginationUi as v}from"@soybeanjs/headless/pagination";const y=a({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(a,{emit:y}){let b=a,x=y,S=f(),C=h(b,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`]),w=m(x),T=n(()=>g(S));return v(n(()=>{let n=t({size:b.size,variant:b.variant,shape:b.shape,actionAsSelected:b.actionAsSelected}),{button:r,navigationButton:i}=n;return e({...n,listItem:r,first:i,prev:i,next:i,last:i},b.ui,{root:b.class})})),(e,t)=>(s(),r(d(_),o(d(C),u(d(w))),i({_:2},[c(T.value,t=>({name:t,fn:p(()=>[l(e.$slots,t)])}))]),1040))}});export{y as default};