@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
package/README.md CHANGED
@@ -66,7 +66,7 @@ provideAccordionUi(ui); // headless reads this via useAccordionUi()
66
66
 
67
67
  - **`ThemeColor`** — 8 semantic colors: `primary` · `destructive` · `success` · `warning` · `info` · `carbon` · `secondary` · `accent`
68
68
  - **`ThemeSize`** — 6 sizes: `xs` · `sm` · `md` · `lg` · `xl` · `2xl` (base 16px at `md`)
69
- - **`ConfigProvider`** — sets global `dir`, `locale`, `nonce`, and default `tooltip` config for the entire component tree
69
+ - **`ConfigProvider`** — sets global `dir`, `locale`, `nonce`, and default `tooltip` config for the entire component tree, including RTL layout switching
70
70
  - **`cn()`** — Tailwind-aware class merge (`clsx` + `tailwind-merge`), used for conflict-free class composition
71
71
 
72
72
  ### Package Exports
@@ -194,6 +194,7 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
194
194
  ## ✨ Features
195
195
 
196
196
  - **Accessible**: Follows WAI-ARIA patterns for roles, focus management, and keyboard navigation.
197
+ - **RTL ready**: Switch supported components between LTR and RTL layouts with `ConfigProvider`.
197
198
  - **Headless-first**: Logic and styles are fully separated — use `@soybeanjs/headless` alone to build any design system.
198
199
  - **Type Safe**: Written in strict TypeScript. All props, emits, slots, and context values are typed.
199
200
  - **Customizable at every level**: Override individual slot classes via the `ui` prop, or swap the entire style layer.
package/README.zh-CN.md CHANGED
@@ -66,7 +66,7 @@ provideAccordionUi(ui); // headless 通过 useAccordionUi() 读取
66
66
 
67
67
  - **`ThemeColor`** — 8 种语义色:`primary` · `destructive` · `success` · `warning` · `info` · `carbon` · `secondary` · `accent`
68
68
  - **`ThemeSize`** — 6 种尺寸:`xs` · `sm` · `md` · `lg` · `xl` · `2xl`(基准尺寸 `md` = 16px)
69
- - **`ConfigProvider`** — 全局设置 `dir`、`locale`、`nonce` 及默认 `tooltip` 配置,应用于整个组件树
69
+ - **`ConfigProvider`** — 全局设置 `dir`、`locale`、`nonce` 及默认 `tooltip` 配置,应用于整个组件树,并支持 RTL 布局切换
70
70
  - **`cn()`** — Tailwind 感知的类名合并工具(`clsx` + `tailwind-merge`),解决类名冲突
71
71
 
72
72
  ### 包导出
@@ -194,6 +194,7 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
194
194
  ## ✨ 特性
195
195
 
196
196
  - **可访问性**:遵循 WAI-ARIA 模式,内置角色、焦点管理与键盘导航。
197
+ - **RTL 就绪**:通过 `ConfigProvider` 即可在已支持组件间切换 LTR / RTL 布局。
197
198
  - **Headless 优先**:逻辑与样式完全分离—单独使用 `@soybeanjs/headless` 可构建任意设计系统。
198
199
  - **类型安全**:严格 TypeScript 编写,所有 props、emits、slot 及 context 均有完整类型。
199
200
  - **多级自定义**:通过 `ui` prop 覆盖单个橪位类名,也可替换整个样式层。
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{accordionVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{AccordionCompact as g,provideAccordionUi as _}from"@soybeanjs/headless/accordion";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{keysOf as b}from"@soybeanjs/utils";const x=a({name:`SAccordion`,__name:`accordion`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},descriptionProps:{},collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},clearable:{type:Boolean},selectionBehavior:{}},emits:[`update:modelValue`],setup(a,{emit:x}){let S=a,C=x,w=m(),T=y(S,[`class`,`size`,`ui`]),E=v(C),D=n(()=>b(w).filter(e=>e!==`item`));return _(n(()=>e(t({size:S.size}),S.ui,{root:S.class}))),(e,t)=>(l(),r(p(g),s(p(T),f(p(E))),i({item:h(t=>[d(e.$slots,`item`,c(o(t)))]),_:2},[u(D.value,t=>({name:t,fn:h(n=>[d(e.$slots,t,c(o(n)))])}))]),1040))}});export{x as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{accordionVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{AccordionCompact as g,provideAccordionUi as _}from"@soybeanjs/headless/accordion";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{keysOf as b}from"@soybeanjs/utils";const x=a({name:`SAccordion`,__name:`accordion`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},descriptionProps:{},collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},clearable:{type:Boolean},selectionBehavior:{}},emits:[`update:modelValue`],setup(a,{emit:x}){let S=a,C=x,w=m(),T=y(S,[`class`,`size`,`ui`]),E=v(C),D=n(()=>b(w).filter(e=>e!==`item`));return _(n(()=>e(t({size:S.size}),S.ui,{root:S.class}))),(e,t)=>(l(),r(p(g),s(p(T),f(p(E))),i({item:h(t=>[d(e.$slots,`item`,c(o(t)))]),_:2},[u(D.value,t=>({name:t,fn:h(n=>[d(e.$slots,t,c(o(n)))])}))]),1040))}});export{x as default};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:``,item:`border-b`,header:`flex`,content:[`overflow-hidden transition will-change-auto`,`data-[state=open]:animate-accordion-down data-[state=closed]:animate-accordion-up`],description:`m-0`,trigger:[`flex-1 flex items-center justify-start font-medium transition-all-200 bg-transparent`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-primary/30`,`hover:underline [&[data-state=open]>.trigger-icon]:rotate-180`],triggerLeadingIcon:`shrink-0`,triggerIcon:`trigger-icon ml-auto shrink-0 text-muted-foreground transition-transform-200`},variants:{size:{xs:{root:`text-2xs`,description:`pb-3`,trigger:`py-3 gap-2.5`},sm:{root:`text-xs`,description:`pb-3.5`,trigger:`py-3.5 gap-3`},md:{root:`text-sm`,description:`pb-4`,trigger:`py-4 gap-3.5`},lg:{root:`text-base`,description:`pb-4.5`,trigger:`py-4.5 gap-4`},xl:{root:`text-lg`,description:`pb-5`,trigger:`py-5 gap-4.5`},"2xl":{root:`text-2xl`,description:`pb-6`,trigger:`py-6 gap-5`}}},defaultVariants:{size:`md`}});export{t as accordionVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:``,item:`border-b`,header:`flex`,content:[`overflow-hidden transition will-change-auto`,`data-[state=open]:animate-accordion-down data-[state=closed]:animate-accordion-up`],description:`m-0`,trigger:[`flex-1 flex items-center justify-start font-medium transition-all-200 bg-transparent`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-primary/30`,`hover:underline [&[data-state=open]>.trigger-icon]:rotate-180`],triggerLeadingIcon:`shrink-0`,triggerIcon:`trigger-icon ms-auto shrink-0 text-muted-foreground transition-transform-200`},variants:{size:{xs:{root:`text-2xs`,description:`pb-3`,trigger:`py-3 gap-2.5`},sm:{root:`text-xs`,description:`pb-3.5`,trigger:`py-3.5 gap-3`},md:{root:`text-sm`,description:`pb-4`,trigger:`py-4 gap-3.5`},lg:{root:`text-base`,description:`pb-4.5`,trigger:`py-4.5 gap-4`},xl:{root:`text-lg`,description:`pb-5`,trigger:`py-5 gap-4.5`},"2xl":{root:`text-2xl`,description:`pb-6`,trigger:`py-6 gap-5`}}},defaultVariants:{size:`md`}});export{t as accordionVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{affixVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{AffixCompact as h,provideAffixUi as g}from"@soybeanjs/headless/affix";const _=i({name:`SAffix`,__name:`affix`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},placeholderProps:{},contentProps:{},offsetTop:{},offsetBottom:{},target:{type:[String,Function,null]}},emits:[`change`],setup(i,{emit:_}){let v=i,y=_,b=m(v,[`class`,`ui`]),x=p(y);return g(n(()=>e(t(),v.ui,{content:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(x))),{default:f(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{_ as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{affixVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{AffixCompact as h,provideAffixUi as g}from"@soybeanjs/headless/affix";const _=i({name:`SAffix`,__name:`affix`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},placeholderProps:{},contentProps:{},offsetTop:{},offsetBottom:{},target:{type:[String,Function,null]}},emits:[`change`],setup(i,{emit:_}){let v=i,y=_,b=m(v,[`class`,`ui`]),x=p(y);return g(n(()=>e(t(),v.ui,{content:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(x))),{default:f(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{_ as default};
@@ -1 +1 @@
1
- import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{alertVariants as r}from"./variants.js";import{buttonVariants as i}from"../button/variants.js";import{computed as a,createBlock as o,createSlots as s,defineComponent as c,mergeProps as l,openBlock as u,renderList as d,renderSlot as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useOmitProps as g}from"@soybeanjs/headless/composables";import{keysOf as _}from"@soybeanjs/utils";import{AlertCompact as v,provideAlertUi as y}from"@soybeanjs/headless/alert";const b=c({name:`SAlert`,__name:`alert`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(c,{emit:b}){let x=c,S=b,C=m(),w=g(x,[`class`,`size`,`color`,`variant`,`ui`]),T=a(()=>_(C));return y(a(()=>t(e(r({size:x.size,color:x.color,variant:x.variant}),{close:i({variant:`ghost`,color:`accent`,size:n[x.size??`md`],shape:`square`,fitContent:!0})}),x.ui,{root:x.class}))),(e,t)=>(u(),o(p(v),l(p(w),{"onUpdate:open":t[0]||=e=>S(`update:open`,e)}),s({_:2},[d(T.value,t=>({name:t,fn:h(()=>[f(e.$slots,t)])}))]),1040))}});export{b as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import{alertVariants as n}from"./variants.js";import{buttonIconVariants as r}from"../button/variants.js";import{computed as i,createBlock as a,createSlots as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,renderSlot as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{keysOf as g}from"@soybeanjs/utils";import{AlertCompact as _,provideAlertUi as v}from"@soybeanjs/headless/alert";const y=s({name:`SAlert`,__name:`alert`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`,`close`],setup(s,{emit:y}){let b=s,x=y,S=p(),C=h(b,[`class`,`size`,`color`,`variant`,`ui`]),w=i(()=>g(S));return v(i(()=>e({...n({size:b.size,color:b.color,variant:b.variant}),$base:{close:r({size:t[b.size??`md`]})}},b.ui,{root:b.class}))),(e,t)=>(l(),a(f(_),c(f(C),{"onUpdate:open":t[0]||=e=>x(`update:open`,e)}),o({_:2},[u(w.value,t=>({name:t,fn:m(()=>[d(e.$slots,t)])}))]),1040))}});export{y as default};
@@ -4,8 +4,10 @@ import * as _$vue from "vue";
4
4
  //#region src/components/alert/alert.vue.d.ts
5
5
  type __VLS_Slots = AlertSlots;
6
6
  declare const __VLS_base: _$vue.DefineComponent<AlertProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
+ close: (event: PointerEvent) => any;
7
8
  "update:open": (open: boolean) => any;
8
9
  }, string, _$vue.PublicProps, Readonly<AlertProps> & Readonly<{
10
+ onClose?: ((event: PointerEvent) => any) | undefined;
9
11
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
10
12
  }>, {
11
13
  open: boolean;
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative flex w-full rounded-lg border`,content:`flex-1 flex flex-col`,icon:`shrink-0`,title:`font-medium tracking-tight m-0`,description:`[&_p]:leading-relaxed m-0`,close:`absolute`},variants:{color:{primary:{root:`border-primary text-primary`,icon:`text-primary`},destructive:{root:`border-destructive text-destructive`,icon:`text-destructive`},success:{root:`border-success text-success`,icon:`text-success`},warning:{root:`border-warning text-warning`,icon:`text-warning`},info:{root:`border-info text-info`,icon:`text-info`},carbon:{root:`border-carbon text-carbon`,icon:`text-carbon`},secondary:{root:`border-secondary-foreground/50 text-secondary-foreground`,icon:`text-secondary-foreground`},accent:{root:`border-accent-foreground/50 text-accent-foreground`,icon:`text-accent-foreground`}},variant:{solid:{root:``},pure:{root:`bg-background text-foreground border-border`},outline:{root:`bg-background`},soft:{root:`border-transparent`},ghost:{root:``}},size:{xs:{root:`gap-2 px-2 py-1.75 text-2xs`,content:`gap-0.75`,title:`text-xs leading-3.125`,close:`top-1.25 right-1.25`},sm:{root:`gap-2.5 px-3 py-2.5 text-xs`,content:`gap-1`,title:`text-sm leading-3.75`,close:`top-1.875 right-1.875`},md:{root:`gap-3 px-4 py-3 text-sm`,content:`gap-1`,title:`text-base leading-4.375`,close:`top-2.25 right-2.25`},lg:{root:`gap-3.5 px-5 py-3.5 text-base`,content:`gap-1.25`,title:`text-lg leading-5`,close:`top-2.5 right-2.5`},xl:{root:`gap-4 px-6 py-4 text-lg`,content:`gap-1.5`,title:`text-xl leading-5.625`,close:`top-2.75 right-2.75`},"2xl":{root:`gap-4.5 px-7 py-4.5 text-xl`,content:`gap-2`,title:`text-2xl leading-6.25`,close:`top-3 right-3`}}},compoundVariants:[{color:`primary`,variant:`solid`,class:{root:`bg-primary text-primary-foreground`,icon:`text-primary-foreground`,close:`text-primary-foreground`}},{color:`destructive`,variant:`solid`,class:{root:`bg-destructive text-destructive-foreground`,icon:`text-destructive-foreground`,close:`text-destructive-foreground`}},{color:`success`,variant:`solid`,class:{root:`bg-success text-success-foreground`,icon:`text-success-foreground`,close:`text-success-foreground`}},{color:`warning`,variant:`solid`,class:{root:`bg-warning text-warning-foreground`,icon:`text-warning-foreground`,close:`text-warning-foreground`}},{color:`info`,variant:`solid`,class:{root:`bg-info text-info-foreground`,icon:`text-info-foreground`,close:`text-info-foreground`}},{color:`carbon`,variant:`solid`,class:{root:`bg-carbon text-carbon-foreground`,icon:`text-carbon-foreground`,close:`text-carbon-foreground`}},{color:`secondary`,variant:`solid`,class:{root:`bg-secondary text-secondary-foreground`,icon:`text-secondary-foreground`,close:`text-secondary-foreground`}},{color:`accent`,variant:`solid`,class:{root:`bg-accent text-accent-foreground`,icon:`text-accent-foreground`,close:`text-accent-foreground`}},{color:`primary`,variant:[`soft`,`ghost`],class:{root:`bg-primary/10`}},{color:`destructive`,variant:[`soft`,`ghost`],class:{root:`bg-destructive/10`}},{color:`success`,variant:[`soft`,`ghost`],class:{root:`bg-success/10`}},{color:`warning`,variant:[`soft`,`ghost`],class:{root:`bg-warning/10`}},{color:`info`,variant:[`soft`,`ghost`],class:{root:`bg-info/10`}},{color:`carbon`,variant:[`soft`,`ghost`],class:{root:`bg-carbon/10`}},{color:`secondary`,variant:[`soft`,`ghost`],class:{root:`bg-secondary-foreground/5`}},{color:`accent`,variant:[`soft`,`ghost`],class:{root:`bg-accent-foreground/5`}}],defaultVariants:{color:`primary`,variant:`ghost`,size:`md`}});export{t as alertVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative flex w-full rounded-lg border`,content:`flex-1 flex flex-col`,icon:`shrink-0`,title:`font-medium tracking-tight m-0`,description:`[&_p]:leading-relaxed m-0`,close:`absolute`},variants:{color:{primary:{root:`border-primary text-primary`,icon:`text-primary`},destructive:{root:`border-destructive text-destructive`,icon:`text-destructive`},success:{root:`border-success text-success`,icon:`text-success`},warning:{root:`border-warning text-warning`,icon:`text-warning`},info:{root:`border-info text-info`,icon:`text-info`},carbon:{root:`border-carbon text-carbon`,icon:`text-carbon`},secondary:{root:`border-secondary-foreground/50 text-secondary-foreground`,icon:`text-secondary-foreground`},accent:{root:`border-accent-foreground/50 text-accent-foreground`,icon:`text-accent-foreground`}},variant:{solid:{root:``},pure:{root:`bg-background text-foreground border-border`},outline:{root:`bg-background`},soft:{root:`border-transparent`},ghost:{root:``}},size:{xs:{root:`gap-2 px-2 py-1.75 text-2xs`,content:`gap-0.75`,title:`text-xs leading-3.125`,close:`top-1.25 end-1.25`},sm:{root:`gap-2.5 px-3 py-2.5 text-xs`,content:`gap-1`,title:`text-sm leading-3.75`,close:`top-1.875 end-1.875`},md:{root:`gap-3 px-4 py-3 text-sm`,content:`gap-1`,title:`text-base leading-4.375`,close:`top-2.25 end-2.25`},lg:{root:`gap-3.5 px-5 py-3.5 text-base`,content:`gap-1.25`,title:`text-lg leading-5`,close:`top-2.5 end-2.5`},xl:{root:`gap-4 px-6 py-4 text-lg`,content:`gap-1.5`,title:`text-xl leading-5.625`,close:`top-2.75 end-2.75`},"2xl":{root:`gap-4.5 px-7 py-4.5 text-xl`,content:`gap-2`,title:`text-2xl leading-6.25`,close:`top-3 end-3`}}},compoundVariants:[{color:`primary`,variant:`solid`,class:{root:`bg-primary text-primary-foreground`,icon:`text-primary-foreground`,close:`text-primary-foreground`}},{color:`destructive`,variant:`solid`,class:{root:`bg-destructive text-destructive-foreground`,icon:`text-destructive-foreground`,close:`text-destructive-foreground`}},{color:`success`,variant:`solid`,class:{root:`bg-success text-success-foreground`,icon:`text-success-foreground`,close:`text-success-foreground`}},{color:`warning`,variant:`solid`,class:{root:`bg-warning text-warning-foreground`,icon:`text-warning-foreground`,close:`text-warning-foreground`}},{color:`info`,variant:`solid`,class:{root:`bg-info text-info-foreground`,icon:`text-info-foreground`,close:`text-info-foreground`}},{color:`carbon`,variant:`solid`,class:{root:`bg-carbon text-carbon-foreground`,icon:`text-carbon-foreground`,close:`text-carbon-foreground`}},{color:`secondary`,variant:`solid`,class:{root:`bg-secondary text-secondary-foreground`,icon:`text-secondary-foreground`,close:`text-secondary-foreground`}},{color:`accent`,variant:`solid`,class:{root:`bg-accent text-accent-foreground`,icon:`text-accent-foreground`,close:`text-accent-foreground`}},{color:`primary`,variant:[`soft`,`ghost`],class:{root:`bg-primary/10`}},{color:`destructive`,variant:[`soft`,`ghost`],class:{root:`bg-destructive/10`}},{color:`success`,variant:[`soft`,`ghost`],class:{root:`bg-success/10`}},{color:`warning`,variant:[`soft`,`ghost`],class:{root:`bg-warning/10`}},{color:`info`,variant:[`soft`,`ghost`],class:{root:`bg-info/10`}},{color:`carbon`,variant:[`soft`,`ghost`],class:{root:`bg-carbon/10`}},{color:`secondary`,variant:[`soft`,`ghost`],class:{root:`bg-secondary-foreground/5`}},{color:`accent`,variant:[`soft`,`ghost`],class:{root:`bg-accent-foreground/5`}}],defaultVariants:{color:`primary`,variant:`ghost`,size:`md`}});export{t as alertVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{anchorVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,toHandlers as s,unref as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{AnchorCompact as d,provideAnchorUi as f}from"@soybeanjs/headless/anchor";const p=i({name:`SAnchor`,__name:`anchor`,props:{color:{},size:{},ui:{},class:{type:[Boolean,null,String,Object,Array]},sticky:{type:Boolean,default:!0},items:{},linkProps:{},indicatorProps:{},titleProps:{},subProps:{},bounds:{},dir:{},getContainer:{},getCurrentAnchor:{},modelValue:{},offsetTop:{default:0},orientation:{},replace:{type:Boolean},targetOffset:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`activeChange`,`itemSelect`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`color`,`size`,`ui`,`class`,`sticky`]),_=l(h),v=n(()=>({"--soybean-anchor-offset-top":`${m.offsetTop}px`}));return f(n(()=>e(t({color:m.color,orientation:m.orientation,size:m.size,sticky:m.sticky}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{items:i.items,style:v.value},s(c(_))),null,16,[`items`,`style`]))}});export{p as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{anchorVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,toHandlers as s,unref as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{AnchorCompact as d,provideAnchorUi as f}from"@soybeanjs/headless/anchor";const p=i({name:`SAnchor`,__name:`anchor`,props:{color:{},size:{},ui:{},class:{type:[Boolean,null,String,Object,Array]},sticky:{type:Boolean,default:!0},items:{},linkProps:{},indicatorProps:{},titleProps:{},subProps:{},bounds:{},dir:{},getContainer:{},getCurrentAnchor:{},modelValue:{},offsetTop:{default:0},orientation:{},replace:{type:Boolean},targetOffset:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`activeChange`,`itemSelect`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`color`,`size`,`ui`,`class`,`sticky`]),_=l(h),v=n(()=>({"--soybean-anchor-offset-top":`${m.offsetTop}px`}));return f(n(()=>e(t({color:m.color,orientation:m.orientation,size:m.size,sticky:m.sticky}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{items:i.items,style:v.value},s(c(_))),null,16,[`items`,`style`]))}});export{p as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{autocompleteVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{AutocompleteCompact as b,provideAutocompleteUi as x}from"@soybeanjs/headless/autocomplete";const S=o({name:`SAutocomplete`,__name:`autocomplete`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},modelValue:{default:void 0},defaultValue:{},items:{},placeholder:{},clearable:{type:Boolean,default:!1},clearLabel:{default:`Clear input`},emptyLabel:{default:`No results found.`},fuseOptions:{},anchorProps:{},inputProps:{},triggerProps:{},portalProps:{},contentProps:{},viewportProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean},openOnFocus:{type:Boolean},openOnClick:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`highlight`,`select`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`]),D=_(w),O=n(()=>y(T));return x(n(()=>e(t({size:C.size}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(b),c(m(E),{items:o.items},p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040,[`items`]))}});export{S as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{autocompleteVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{AutocompleteCompact as b,provideAutocompleteUi as x}from"@soybeanjs/headless/autocomplete";const S=o({name:`SAutocomplete`,__name:`autocomplete`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},modelValue:{default:void 0},defaultValue:{},items:{},placeholder:{},clearable:{type:Boolean,default:!1},clearLabel:{default:`Clear input`},emptyLabel:{default:`No results found.`},fuseOptions:{},anchorProps:{},inputProps:{},triggerProps:{},portalProps:{},contentProps:{},viewportProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemIndicatorProps:{},separatorProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},disabled:{type:Boolean},highlightOnHover:{type:Boolean},openOnFocus:{type:Boolean},openOnClick:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`highlight`,`select`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`]),D=_(w),O=n(()=>y(T));return x(n(()=>e(t({size:C.size}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(b),c(m(E),{items:o.items},p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040,[`items`]))}});export{S as default};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex w-full flex-col`,anchor:[`group flex w-full items-center rounded-md border border-input bg-background text-foreground shadow-xs transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],inputRoot:`flex min-w-0 grow items-center gap-2 bg-transparent`,inputControl:`min-w-0 grow border-0 bg-transparent px-0 outline-none placeholder:text-muted-foreground`,inputIcon:`shrink-0 text-muted-foreground`,inputClearable:[`flex shrink-0 items-center justify-center rounded-sm text-muted-foreground opacity-70 outline-none transition-opacity`,`hover:opacity-100 focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-1`,`disabled:cursor-not-allowed disabled:opacity-40`],trigger:`flex shrink-0 items-center justify-center text-muted-foreground outline-none disabled:cursor-not-allowed`,triggerIcon:`size-1em`,popup:[`relative z-50 min-w-[--soybean-popper-anchor-width] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md`,`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`],viewport:`max-h-80 overflow-y-auto overflow-x-hidden p-1`,empty:`py-6 text-center text-sm text-muted-foreground`,group:`overflow-hidden`,groupLabel:`px-2 py-1.5 text-xs font-medium text-muted-foreground`,item:[`relative flex w-full items-center rounded-sm outline-none select-none`,`data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`],itemIcon:`shrink-0 text-muted-foreground`,itemText:`grow truncate text-left`,itemIndicator:`ml-auto shrink-0 text-muted-foreground`,separator:`-mx-1 my-1 h-px bg-border`},variants:{size:{xs:{anchor:`min-h-6 gap-1 px-1.5 text-2xs`,inputRoot:`gap-1`,popup:`text-2xs`,viewport:`max-h-70 p-0.75`,groupLabel:`px-1 py-1 text-3xs`,item:`gap-1 px-1 py-1`,separator:`-mx-0.75 my-0.75`},sm:{anchor:`min-h-7 gap-1.5 px-2 text-xs`,inputRoot:`gap-1.5`,popup:`text-xs`,viewport:`max-h-75 p-0.875`,groupLabel:`px-1.5 py-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1.25`,separator:`-mx-0.875 my-0.875`},md:{anchor:`min-h-8 gap-2 px-2.5 text-sm`,inputRoot:`gap-2`,popup:`text-sm`,viewport:`max-h-80 p-1`,groupLabel:`px-2 py-1.5 text-xs`,item:`gap-2 px-2 py-1.5`,separator:`-mx-1 my-1`},lg:{anchor:`min-h-9 gap-2.5 px-3 text-base`,inputRoot:`gap-2.5`,popup:`text-base`,viewport:`max-h-90 p-1.25`,groupLabel:`px-2.5 py-1.75 text-sm`,item:`gap-2.5 px-2.5 py-1.75`,separator:`-mx-1.25 my-1.25`},xl:{anchor:`min-h-10 gap-3 px-3.5 text-lg`,inputRoot:`gap-3`,popup:`text-lg`,viewport:`max-h-100 p-1.5`,groupLabel:`px-3 py-2 text-base`,item:`gap-3 px-3 py-2`,separator:`-mx-1.5 my-1.5`},"2xl":{anchor:`min-h-12 gap-3.5 px-4 text-xl`,inputRoot:`gap-3.5`,popup:`text-xl`,viewport:`max-h-115 p-1.75`,groupLabel:`px-3.5 py-2.5 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,separator:`-mx-1.75 my-1.75`}}},defaultVariants:{size:`md`}});export{t as autocompleteVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex w-full flex-col`,anchor:[`group flex w-full items-center rounded-md border border-input bg-background text-foreground shadow-xs transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],inputRoot:`flex min-w-0 grow items-center gap-2 bg-transparent`,inputControl:`min-w-0 grow border-0 bg-transparent px-0 outline-none placeholder:text-muted-foreground`,inputIcon:`shrink-0 text-muted-foreground`,inputClearable:[`flex shrink-0 items-center justify-center rounded-sm text-muted-foreground opacity-70 outline-none transition-opacity`,`hover:opacity-100 focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-1`,`disabled:cursor-not-allowed disabled:opacity-40`],trigger:`flex shrink-0 items-center justify-center text-muted-foreground outline-none disabled:cursor-not-allowed`,triggerIcon:`size-1em`,popup:[`relative z-50 min-w-[--soybean-popper-anchor-width] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md`,`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`],viewport:`max-h-80 overflow-y-auto overflow-x-hidden p-1`,empty:`py-6 text-center text-sm text-muted-foreground`,group:`overflow-hidden`,groupLabel:`px-2 py-1.5 text-xs font-medium text-muted-foreground`,item:[`relative flex w-full items-center rounded-sm outline-none select-none`,`data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`],itemIcon:`shrink-0 text-muted-foreground`,itemText:`grow truncate text-start`,itemIndicator:`ms-auto shrink-0 text-muted-foreground`,separator:`-mx-1 my-1 h-px bg-border`},variants:{size:{xs:{anchor:`min-h-6 gap-1 px-1.5 text-2xs`,inputRoot:`gap-1`,popup:`text-2xs`,viewport:`max-h-70 p-0.75`,groupLabel:`px-1 py-1 text-3xs`,item:`gap-1 px-1 py-1`,separator:`-mx-0.75 my-0.75`},sm:{anchor:`min-h-7 gap-1.5 px-2 text-xs`,inputRoot:`gap-1.5`,popup:`text-xs`,viewport:`max-h-75 p-0.875`,groupLabel:`px-1.5 py-1.25 text-2xs`,item:`gap-1.5 px-1.5 py-1.25`,separator:`-mx-0.875 my-0.875`},md:{anchor:`min-h-8 gap-2 px-2.5 text-sm`,inputRoot:`gap-2`,popup:`text-sm`,viewport:`max-h-80 p-1`,groupLabel:`px-2 py-1.5 text-xs`,item:`gap-2 px-2 py-1.5`,separator:`-mx-1 my-1`},lg:{anchor:`min-h-9 gap-2.5 px-3 text-base`,inputRoot:`gap-2.5`,popup:`text-base`,viewport:`max-h-90 p-1.25`,groupLabel:`px-2.5 py-1.75 text-sm`,item:`gap-2.5 px-2.5 py-1.75`,separator:`-mx-1.25 my-1.25`},xl:{anchor:`min-h-10 gap-3 px-3.5 text-lg`,inputRoot:`gap-3`,popup:`text-lg`,viewport:`max-h-100 p-1.5`,groupLabel:`px-3 py-2 text-base`,item:`gap-3 px-3 py-2`,separator:`-mx-1.5 my-1.5`},"2xl":{anchor:`min-h-12 gap-3.5 px-4 text-xl`,inputRoot:`gap-3.5`,popup:`text-xl`,viewport:`max-h-115 p-1.75`,groupLabel:`px-3.5 py-2.5 text-lg`,item:`gap-3.5 px-3.5 py-2.5`,separator:`-mx-1.75 my-1.75`}}},defaultVariants:{size:`md`}});export{t as autocompleteVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{avatarVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{keysOf as m}from"@soybeanjs/utils";import{AvatarCompact as h,provideAvatarUi as g}from"@soybeanjs/headless/avatar";const _=a({name:`SAvatar`,__name:`avatar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(a,{emit:_}){let v=a,y=_,b=d(),x=p(v,[`class`,`size`,`ui`]),S=n(()=>m(b));return g(n(()=>e(t({size:v.size}),v.ui,{root:v.class}))),(e,t)=>(s(),r(u(h),o(u(x),{onLoadingStatusChange:t[0]||=e=>y(`loadingStatusChange`,e)}),i({_:2},[c(S.value,t=>({name:t,fn:f(()=>[l(e.$slots,t)])}))]),1040))}});export{_ as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{avatarVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{keysOf as m}from"@soybeanjs/utils";import{AvatarCompact as h,provideAvatarUi as g}from"@soybeanjs/headless/avatar";const _=a({name:`SAvatar`,__name:`avatar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(a,{emit:_}){let v=a,y=_,b=d(),x=p(v,[`class`,`size`,`ui`]),S=n(()=>m(b));return g(n(()=>e(t({size:v.size}),v.ui,{root:v.class}))),(e,t)=>(s(),r(u(h),o(u(x),{onLoadingStatusChange:t[0]||=e=>y(`loadingStatusChange`,e)}),i({_:2},[c(S.value,t=>({name:t,fn:f(()=>[l(e.$slots,t)])}))]),1040))}});export{_ as default};
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonVariants as t}from"../button/variants.js";import n from"../icon/icon.js";import{backtopVariants as r}from"./variants.js";import{computed as i,createBlock as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{Backtop as g}from"@soybeanjs/headless/backtop";const _=s({name:`SBacktop`,__name:`backtop`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{default:`primary`},size:{default:`lg`},variant:{default:`solid`},shape:{default:`circle`},shadow:{default:`lg`},fitContent:{type:Boolean,default:!0},icon:{default:`lucide:arrow-up`},iconClass:{type:[Boolean,null,String,Object,Array]},iconProps:{},visibilityHeight:{},target:{},duration:{}},emits:[`change`,`click`],setup(s,{emit:_}){let v=s,y=_,b=h(v,[`class`,`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`icon`,`iconClass`,`iconProps`]),x=m(y),S=i(()=>{let n=r({size:v.size});return e(t({color:v.color,size:v.size,variant:v.variant,shape:v.shape,shadow:v.shadow,fitContent:v.fitContent}),n,v.class)});return(e,t)=>(l(),a(f(g),c(f(b),{class:S.value},d(f(x))),{default:p(()=>[u(e.$slots,`default`,{},()=>[o(n,c(s.iconProps,{icon:s.icon,class:s.iconClass}),null,16,[`icon`,`class`])])]),_:3},16,[`class`]))}});export{_ as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonVariants as t}from"../button/variants.js";import n from"../icon/icon.js";import{backtopVariants as r}from"./variants.js";import{computed as i,createBlock as a,createVNode as o,defineComponent as s,mergeProps as c,openBlock as l,renderSlot as u,toHandlers as d,unref as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{Backtop as g}from"@soybeanjs/headless/backtop";const _=s({name:`SBacktop`,__name:`backtop`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{default:`primary`},size:{default:`lg`},variant:{default:`solid`},shape:{default:`circle`},shadow:{default:`lg`},fitContent:{type:Boolean,default:!0},icon:{default:`lucide:arrow-up`},iconClass:{type:[Boolean,null,String,Object,Array]},iconProps:{},visibilityHeight:{},target:{},duration:{},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`change`,`click`],setup(s,{emit:_}){let v=s,y=_,b=h(v,[`class`,`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`icon`,`iconClass`,`iconProps`]),x=m(y),S=i(()=>{let n=r({size:v.size});return e(t({color:v.color,size:v.size,variant:v.variant,shape:v.shape,shadow:v.shadow,fitContent:v.fitContent}),n,v.class)});return(e,t)=>(l(),a(f(g),c(f(b),{class:S.value},d(f(x))),{default:p(()=>[u(e.$slots,`default`,{},()=>[o(n,c(s.iconProps,{icon:s.icon,class:s.iconClass}),null,16,[`icon`,`class`])])]),_:3},16,[`class`]))}});export{_ as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{badgeVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{keysOf as m}from"@soybeanjs/utils";import{BadgeCompact as h,provideBadgeUi as g}from"@soybeanjs/headless/badge";const _=a({name:`SBadge`,__name:`badge`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(a,{emit:_}){let v=a,y=_,b=d(),x=p(v,[`class`,`color`,`size`,`ui`,`position`]),S=n(()=>m(b));return g(n(()=>e(t({color:v.color,size:v.size,position:v.position}),v.ui,{root:v.class}))),(e,t)=>(s(),r(u(h),o(u(x),{"onUpdate:open":t[0]||=e=>y(`update:open`,e)}),i({_:2},[c(S.value,t=>({name:t,fn:f(()=>[l(e.$slots,t)])}))]),1040))}});export{_ as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{badgeVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,mergeProps as o,openBlock as s,renderList as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{keysOf as m}from"@soybeanjs/utils";import{BadgeCompact as h,provideBadgeUi as g}from"@soybeanjs/headless/badge";const _=a({name:`SBadge`,__name:`badge`,props:{class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(a,{emit:_}){let v=a,y=_,b=d(),x=p(v,[`class`,`color`,`size`,`ui`,`position`]),S=n(()=>m(b));return g(n(()=>e(t({color:v.color,size:v.size,position:v.position}),v.ui,{root:v.class}))),(e,t)=>(s(),r(u(h),o(u(x),{"onUpdate:open":t[0]||=e=>y(`update:open`,e)}),i({_:2},[c(S.value,t=>({name:t,fn:f(()=>[l(e.$slots,t)])}))]),1040))}});export{_ as default};
@@ -1 +1 @@
1
- import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as r}from"../button/variants.js";import{dialogVariants as i}from"../dialog/variants.js";import{drawerVariants as a}from"../drawer/variants.js";import{bottomSheetVariants as o}from"./variants.js";import{computed as s,createBlock as c,createSlots as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,openBlock as m,renderList as h,renderSlot as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{keysOf as C}from"@soybeanjs/utils";import{BottomSheetCompact as w,provideBottomSheetUi as T}from"@soybeanjs/headless/bottom-sheet";const E=u({name:`SBottomSheet`,__name:`bottom-sheet`,props:{title:{},description:{},icon:{},showClose:{type:Boolean,default:!0},pure:{type:Boolean},showCancel:{type:[String,Boolean]},cancelText:{},showConfirm:{type:Boolean,default:!0},confirmText:{},triggerProps:{},overlayProps:{},portalProps:{},popupProps:{},headerProps:{},contentProps:{},footerProps:{},titleProps:{},descriptionProps:{},closeProps:{},cancelProps:{},confirmProps:{},isAlert:{type:Boolean},alertType:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},activeSnapPoint:{},closeThreshold:{},shouldScaleBackground:{type:Boolean,default:!0},setBackgroundColorOnScale:{type:Boolean,default:!0},scrollLockTimeout:{},fixed:{type:Boolean},dismissible:{type:Boolean,default:!0},nested:{type:Boolean},direction:{},noBodyStyles:{type:Boolean},handleOnly:{type:Boolean},preventScrollRestoration:{type:Boolean},snapPoints:{},fadeFromIndex:{},handleProps:{},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`confirm`,`cancel`,`drag`,`release`,`close`,`update:activeSnapPoint`],setup(u,{emit:E}){let D=u,O=E,k=y(),A=S(D,[`class`,`size`,`ui`]),j=x(O),M=s(()=>C(k));return T(s(()=>{let s=i({size:D.size,pure:D.pure}),c=a({size:D.size,side:`bottom`}),l=o({size:D.size});return t(e(Object.assign({},l,s,c),{cancel:r({variant:`pure`,size:n[D.size??`md`]}),confirm:r({variant:`solid`,size:n[D.size??`md`]}),close:r({variant:`ghost`,color:`accent`,size:n[D.size??`md`],shape:`square`,fitContent:!0})}),D.ui,{popup:D.class})})),(e,t)=>(m(),c(v(w),f(v(A),_(v(j))),l({_:2},[h(M.value,t=>({name:t,fn:b(n=>[g(e.$slots,t,p(d(n)))])}))]),1040))}});export{E as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import{buttonIconVariants as n,buttonVariants as r}from"../button/variants.js";import{dialogVariants as i}from"../dialog/variants.js";import{drawerVariants as a}from"../drawer/variants.js";import{bottomSheetVariants as o}from"./variants.js";import{computed as s,createBlock as c,createSlots as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,openBlock as m,renderList as h,renderSlot as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{keysOf as C}from"@soybeanjs/utils";import{BottomSheetCompact as w,provideBottomSheetUi as T}from"@soybeanjs/headless/bottom-sheet";const E=u({name:`SBottomSheet`,__name:`bottom-sheet`,props:{title:{},description:{},icon:{},showClose:{type:Boolean,default:!0},pure:{type:Boolean},showCancel:{type:[String,Boolean]},cancelText:{},showConfirm:{type:Boolean,default:!0},confirmText:{},triggerProps:{},overlayProps:{},portalProps:{},popupProps:{},headerProps:{},contentProps:{},footerProps:{},titleProps:{},descriptionProps:{},closeProps:{},cancelProps:{},confirmProps:{},dir:{},isAlert:{type:Boolean},alertType:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},activeSnapPoint:{},closeThreshold:{},shouldScaleBackground:{type:Boolean,default:!0},setBackgroundColorOnScale:{type:Boolean,default:!0},scrollLockTimeout:{},fixed:{type:Boolean},dismissible:{type:Boolean,default:!0},nested:{type:Boolean},direction:{},noBodyStyles:{type:Boolean},handleOnly:{type:Boolean},preventScrollRestoration:{type:Boolean},snapPoints:{},fadeFromIndex:{},handleProps:{},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},emits:[`update:open`,`click`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`confirm`,`cancel`,`drag`,`release`,`close`,`update:activeSnapPoint`],setup(u,{emit:E}){let D=u,O=E,k=y(),A=S(D,[`class`,`size`,`ui`]),j=x(O),M=s(()=>C(k));return T(s(()=>e(Object.assign(o({size:D.size}),i({size:D.size,pure:D.pure}),a({size:D.size,side:`bottom`}),{$base:{cancel:r({variant:`pure`,size:t[D.size??`md`]}),confirm:r({variant:`solid`,size:t[D.size??`md`]}),close:n({size:t[D.size??`md`]})}}),D.ui,{popup:D.class}))),(e,t)=>(m(),c(v(w),f(v(A),_(v(j))),l({_:2},[h(M.value,t=>({name:t,fn:b(n=>[g(e.$slots,t,p(d(n)))])}))]),1040))}});export{E as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{breadcrumbVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{BreadcrumbCompact as b,provideBreadcrumbUi as x}from"@soybeanjs/headless/breadcrumb";const S=o({name:`SBreadcrumb`,__name:`breadcrumb`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},linkProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`]),D=_(w),O=n(()=>y(T));return x(n(()=>e(t({size:C.size}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(b),c(m(E),p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040))}});export{S as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{breadcrumbVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{BreadcrumbCompact as b,provideBreadcrumbUi as x}from"@soybeanjs/headless/breadcrumb";const S=o({name:`SBreadcrumb`,__name:`breadcrumb`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},linkProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`]),D=_(w),O=n(()=>y(T));return x(n(()=>e(t({size:C.size}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(b),c(m(E),p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040))}});export{S as default};
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonGroupVariants as t}from"./variants.js";import{useConfigProvider as n}from"../config-provider/context.js";import"../config-provider/index.js";import{provideButtonGroupContext as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{Primitive as p}from"@soybeanjs/headless/primitive";import{transformPropsToContext as m}from"@soybeanjs/headless/shared";const h=o({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{default:`ltr`},class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(o){let h=o,g=f(h,[`class`,`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),_=n(`ButtonGroup`),v=i(()=>e(t({orientation:h.orientation}),h.class)),y=i(()=>h.dir??_.dir.value);return r(m(h,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`disabled`])),(e,t)=>(c(),a(u(p),s(u(g),{class:v.value,dir:y.value}),{default:d(()=>[l(e.$slots,`default`)]),_:3},16,[`class`,`dir`]))}});export{h as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonGroupVariants as t}from"./variants.js";import{useConfigProvider as n}from"../config-provider/context.js";import{provideButtonGroupContext as r}from"./context.js";import{computed as i,createBlock as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{Primitive as p}from"@soybeanjs/headless/primitive";import{transformPropsToContext as m}from"@soybeanjs/headless/shared";const h=o({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{},class:{type:[Boolean,null,String,Object,Array]},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(o){let h=o,g=f(h,[`class`,`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),_=n(`ButtonGroup`),v=i(()=>e(t({orientation:h.orientation}),h.class)),y=i(()=>h.dir??_.dir.value);return r(m(h,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`disabled`])),(e,t)=>(c(),a(u(p),s(u(g),{class:v.value,dir:y.value}),{default:d(()=>[l(e.$slots,`default`)]),_:3},16,[`class`,`dir`]))}});export{h as default};
@@ -8,7 +8,6 @@ type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_8) => any;
9
9
  };
10
10
  declare const __VLS_base: _$vue.DefineComponent<ButtonGroupProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
11
- dir: _$_soybeanjs_headless0.Direction;
12
11
  orientation: _$_soybeanjs_headless0.DataOrientation;
13
12
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
14
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -3,7 +3,7 @@ import { IconProps } from "../icon/types.js";
3
3
  import { LinkProps } from "../link/types.js";
4
4
  import { ButtonShadow, ButtonShape, ButtonVariant } from "./variants.js";
5
5
  import { ButtonEmits, ButtonProps } from "@soybeanjs/headless/button";
6
- import { Align, ClassValue, DataOrientation, Direction, PropsToContext } from "@soybeanjs/headless/types";
6
+ import { Align, ClassValue, DataOrientation, Direction } from "@soybeanjs/headless/types";
7
7
 
8
8
  //#region src/components/button/types.d.ts
9
9
  /**
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({base:[`inline-flex items-center justify-center font-medium transition-all-150`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],variants:{color:{primary:`focus-visible:ring-primary/30`,destructive:`focus-visible:ring-destructive/30`,success:`focus-visible:ring-success/30`,warning:`focus-visible:ring-warning/30`,info:`focus-visible:ring-info/30`,carbon:`focus-visible:ring-carbon/30`,secondary:`focus-visible:ring-secondary-foreground/20`,accent:`focus-visible:ring-accent-foreground/20`},variant:{solid:`bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary-600`,pure:`border border-border bg-background text-accent-foreground hover:bg-accent/60 active:bg-accent`,plain:`border border-border bg-background text-foreground`,outline:`border bg-background`,dashed:`border border-dashed bg-background`,soft:`bg-primary/10 hover:bg-primary/10 active:bg-primary/20`,ghost:`bg-transparent`,link:`bg-transparent underline-offset-4 hover:underline`},size:{xs:`gap-1 text-2xs`,sm:`gap-2 text-xs`,md:`gap-3 text-sm`,lg:`gap-4 text-base`,xl:`gap-5 text-lg`,"2xl":`gap-6 text-xl`},shape:{auto:`rounded-md`,rounded:`rounded-full`,square:`h-8 w-8 p-0 gap-0 rounded-md`,circle:`h-8 w-8 p-0 gap-0 rounded-full`},shadow:{none:`shadow-none`,sm:`shadow-sm`,md:`shadow-md`,lg:`shadow-lg`},fitContent:{true:`w-fit h-fit`,false:``}},compoundVariants:[{color:`destructive`,variant:`solid`,class:`bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive-600`},{color:`success`,variant:`solid`,class:`bg-success text-success-foreground hover:bg-success/80 active:bg-success-600`},{color:`warning`,variant:`solid`,class:`bg-warning text-warning-foreground hover:bg-warning/80 active:bg-warning-600`},{color:`info`,variant:`solid`,class:`bg-info text-info-foreground hover:bg-info/80 active:bg-info-600`},{color:`carbon`,variant:`solid`,class:`bg-carbon text-carbon-foreground hover:bg-carbon/80 active:bg-carbon-600`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary-foreground/20`},{color:`accent`,variant:`solid`,class:`bg-accent text-accent-foreground hover:bg-accent/80 active:bg-accent-foreground/20`},{color:`primary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-primary`},{color:`destructive`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-destructive`},{color:`success`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-success`},{color:`warning`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-warning`},{color:`info`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-info`},{color:`carbon`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-carbon`},{color:`secondary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-primary/10 active:bg-primary/20`},{color:`destructive`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{color:`primary`,variant:`plain`,class:`hover:border-primary hover:text-primary`},{color:`destructive`,variant:`plain`,class:`hover:border-destructive hover:text-destructive`},{color:`success`,variant:`plain`,class:`hover:border-success hover:text-success`},{color:`warning`,variant:`plain`,class:`hover:border-warning hover:text-warning`},{color:`info`,variant:`plain`,class:`hover:border-info hover:text-info`},{color:`carbon`,variant:`plain`,class:`hover:border-carbon hover:text-carbon`},{color:`secondary`,variant:`plain`,class:`hover:border-secondary-foreground hover:text-secondary-foreground`},{color:`accent`,variant:`plain`,class:`hover:border-accent-foreground hover:text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`],class:`border-primary`},{color:`destructive`,variant:[`outline`,`dashed`],class:`border-destructive`},{color:`success`,variant:[`outline`,`dashed`],class:`border-success`},{color:`warning`,variant:[`outline`,`dashed`],class:`border-warning`},{color:`info`,variant:[`outline`,`dashed`],class:`border-info`},{color:`carbon`,variant:[`outline`,`dashed`],class:`border-carbon`},{color:`secondary`,variant:[`outline`,`dashed`],class:`border-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`],class:`border-accent-foreground`},{color:`destructive`,variant:`soft`,class:`bg-destructive/10 hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:`soft`,class:`bg-success/10 hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:`soft`,class:`bg-warning/10 hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:`soft`,class:`bg-info/10 hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:`soft`,class:`bg-carbon/10 hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:`soft`,class:`bg-secondary-foreground/10 hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:`soft`,class:`bg-accent-foreground/10 hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{size:`xs`,fitContent:!0,class:`p-0.75`},{size:`sm`,fitContent:!0,class:`p-0.875`},{size:`md`,fitContent:!0,class:`p-1`},{size:`lg`,fitContent:!0,class:`p-1.25`},{size:`xl`,fitContent:!0,class:`p-1.5`},{size:`2xl`,fitContent:!0,class:`p-1.75`},{size:`xs`,fitContent:!1,class:`h-6 px-1.5`},{size:`sm`,fitContent:!1,class:`h-7 px-2`},{size:`md`,fitContent:!1,class:`h-8 px-4`},{size:`lg`,fitContent:!1,class:`h-9 px-6`},{size:`xl`,fitContent:!1,class:`h-10 px-8`},{size:`2xl`,fitContent:!1,class:`h-12 px-10`},{size:`xs`,fitContent:!1,shape:[`square`,`circle`],class:`w-6`},{size:`sm`,fitContent:!1,shape:[`square`,`circle`],class:`w-7`},{size:`lg`,fitContent:!1,shape:[`square`,`circle`],class:`w-9`},{size:`xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-10`},{size:`2xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-12`},{variant:[`ghost`,`link`],shadow:[`sm`,`md`,`lg`],class:`shadow-none`},{variant:`plain`,shadow:`sm`,class:`active:shadow-md`},{variant:`plain`,shadow:`md`,class:`active:shadow-lg`},{variant:`plain`,shadow:`lg`,class:`active:shadow-xl`},{variant:`pure`,shadow:`sm`,class:`active:shadow-sm`},{variant:`pure`,shadow:`md`,class:`active:shadow-md`},{variant:`pure`,shadow:`lg`,class:`active:shadow-lg`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`,shape:`auto`,shadow:`sm`,fitContent:!1}}),n=e({base:`[&>*]:relative focus-visible:[&>*]:z-2 not-first:not-last:[&>*]:rd-0`,variants:{orientation:{horizontal:`inline-flex not-last:[&>*]:border-r-0 focus-visible:[&>*]:border-r first:[&>*]:rd-r-0 last:[&>*]:rd-l-0 rtl:flex-row-reverse`,vertical:`flex flex-col not-last:[&>*]:border-b-0 focus-visible:[&>*]:border-b first:[&>*]:rd-b-0 last:[&>*]:rd-t-0`}},defaultVariants:{orientation:`horizontal`}});export{n as buttonGroupVariants,t as buttonVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({base:[`inline-flex items-center justify-center font-medium transition-all-150`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],variants:{color:{primary:`focus-visible:ring-primary/30`,destructive:`focus-visible:ring-destructive/30`,success:`focus-visible:ring-success/30`,warning:`focus-visible:ring-warning/30`,info:`focus-visible:ring-info/30`,carbon:`focus-visible:ring-carbon/30`,secondary:`focus-visible:ring-secondary-foreground/20`,accent:`focus-visible:ring-accent-foreground/20`},variant:{solid:`bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary-600`,pure:`border border-border bg-background text-accent-foreground hover:bg-accent/60 active:bg-accent`,plain:`border border-border bg-background text-foreground`,outline:`border bg-background`,dashed:`border border-dashed bg-background`,soft:`bg-primary/10 hover:bg-primary/10 active:bg-primary/20`,ghost:`bg-transparent`,link:`bg-transparent underline-offset-4 hover:underline`},size:{xs:`gap-1 text-2xs`,sm:`gap-2 text-xs`,md:`gap-3 text-sm`,lg:`gap-4 text-base`,xl:`gap-5 text-lg`,"2xl":`gap-6 text-xl`},shape:{auto:`rounded-md`,rounded:`rounded-full`,square:`h-8 w-8 p-0 gap-0 rounded-md`,circle:`h-8 w-8 p-0 gap-0 rounded-full`},shadow:{none:`shadow-none`,sm:`shadow-sm`,md:`shadow-md`,lg:`shadow-lg`},fitContent:{true:`w-fit h-fit`,false:``}},compoundVariants:[{color:`destructive`,variant:`solid`,class:`bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive-600`},{color:`success`,variant:`solid`,class:`bg-success text-success-foreground hover:bg-success/80 active:bg-success-600`},{color:`warning`,variant:`solid`,class:`bg-warning text-warning-foreground hover:bg-warning/80 active:bg-warning-600`},{color:`info`,variant:`solid`,class:`bg-info text-info-foreground hover:bg-info/80 active:bg-info-600`},{color:`carbon`,variant:`solid`,class:`bg-carbon text-carbon-foreground hover:bg-carbon/80 active:bg-carbon-600`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary-foreground/20`},{color:`accent`,variant:`solid`,class:`bg-accent text-accent-foreground hover:bg-accent/80 active:bg-accent-foreground/20`},{color:`primary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-primary`},{color:`destructive`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-destructive`},{color:`success`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-success`},{color:`warning`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-warning`},{color:`info`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-info`},{color:`carbon`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-carbon`},{color:`secondary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-primary/10 active:bg-primary/20`},{color:`destructive`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{color:`primary`,variant:`plain`,class:`hover:border-primary hover:text-primary`},{color:`destructive`,variant:`plain`,class:`hover:border-destructive hover:text-destructive`},{color:`success`,variant:`plain`,class:`hover:border-success hover:text-success`},{color:`warning`,variant:`plain`,class:`hover:border-warning hover:text-warning`},{color:`info`,variant:`plain`,class:`hover:border-info hover:text-info`},{color:`carbon`,variant:`plain`,class:`hover:border-carbon hover:text-carbon`},{color:`secondary`,variant:`plain`,class:`hover:border-secondary-foreground hover:text-secondary-foreground`},{color:`accent`,variant:`plain`,class:`hover:border-accent-foreground hover:text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`],class:`border-primary`},{color:`destructive`,variant:[`outline`,`dashed`],class:`border-destructive`},{color:`success`,variant:[`outline`,`dashed`],class:`border-success`},{color:`warning`,variant:[`outline`,`dashed`],class:`border-warning`},{color:`info`,variant:[`outline`,`dashed`],class:`border-info`},{color:`carbon`,variant:[`outline`,`dashed`],class:`border-carbon`},{color:`secondary`,variant:[`outline`,`dashed`],class:`border-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`],class:`border-accent-foreground`},{color:`destructive`,variant:`soft`,class:`bg-destructive/10 hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:`soft`,class:`bg-success/10 hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:`soft`,class:`bg-warning/10 hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:`soft`,class:`bg-info/10 hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:`soft`,class:`bg-carbon/10 hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:`soft`,class:`bg-secondary-foreground/10 hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:`soft`,class:`bg-accent-foreground/10 hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{size:`xs`,fitContent:!0,class:`p-0.75`},{size:`sm`,fitContent:!0,class:`p-0.875`},{size:`md`,fitContent:!0,class:`p-1`},{size:`lg`,fitContent:!0,class:`p-1.25`},{size:`xl`,fitContent:!0,class:`p-1.5`},{size:`2xl`,fitContent:!0,class:`p-1.75`},{size:`xs`,fitContent:!1,class:`h-6 px-1.5`},{size:`sm`,fitContent:!1,class:`h-7 px-2`},{size:`md`,fitContent:!1,class:`h-8 px-4`},{size:`lg`,fitContent:!1,class:`h-9 px-6`},{size:`xl`,fitContent:!1,class:`h-10 px-8`},{size:`2xl`,fitContent:!1,class:`h-12 px-10`},{size:`xs`,fitContent:!1,shape:[`square`,`circle`],class:`w-6`},{size:`sm`,fitContent:!1,shape:[`square`,`circle`],class:`w-7`},{size:`lg`,fitContent:!1,shape:[`square`,`circle`],class:`w-9`},{size:`xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-10`},{size:`2xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-12`},{variant:[`ghost`,`link`],shadow:[`sm`,`md`,`lg`],class:`shadow-none`},{variant:`plain`,shadow:`sm`,class:`active:shadow-md`},{variant:`plain`,shadow:`md`,class:`active:shadow-lg`},{variant:`plain`,shadow:`lg`,class:`active:shadow-xl`},{variant:`pure`,shadow:`sm`,class:`active:shadow-sm`},{variant:`pure`,shadow:`md`,class:`active:shadow-md`},{variant:`pure`,shadow:`lg`,class:`active:shadow-lg`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`,shape:`auto`,shadow:`sm`,fitContent:!1}}),n=e({base:`[&>*]:relative focus-visible:[&>*]:z-2 not-first:not-last:[&>*]:rounded-0`,variants:{orientation:{horizontal:`inline-flex not-last:[&>*]:border-e-0 focus-visible:[&>*]:border-e first:[&>*]:rounded-e-0 last:[&>*]:rounded-s-0`,vertical:`flex flex-col not-last:[&>*]:border-b-0 focus-visible:[&>*]:border-b first:[&>*]:rounded-b-0 last:[&>*]:rounded-t-0`}},defaultVariants:{orientation:`horizontal`}}),r=e=>t({size:`md`,color:`accent`,variant:`ghost`,shape:`square`,fitContent:!0,...e});export{n as buttonGroupVariants,r as buttonIconVariants,t as buttonVariants};
@@ -1 +1 @@
1
- import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{miniSizeMap as n}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as r}from"../button/variants.js";import i from"../icon/icon.js";import a from"../select/select.js";import{calendarVariants as o}from"./variants.js";import{computed as s,createBlock as c,createSlots as l,createTextVNode as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,withCtx as x}from"vue";import{useForwardListeners as S,useOmitProps as C}from"@soybeanjs/headless/composables";import{CalendarCompact as w,provideCalendarUi as T}from"@soybeanjs/headless/calendar";const E=f({name:`SCalendar`,__name:`calendar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},defaultValue:{},defaultPlaceholder:{},placeholder:{},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},locale:{},numberOfMonths:{},disabled:{type:Boolean},readonly:{type:Boolean},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},dir:{},nextPage:{type:Function},prevPage:{type:Function},modelValue:{},multiple:{},disableDaysOutsideCurrentView:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`],setup(f,{emit:E}){let D=f,O=E,k=C(D,[`class`,`size`,`ui`]),A=S(O),j=s(()=>t(e(o({size:D.size}),{prev:r({size:D.size,color:`accent`,variant:`pure`,fitContent:!0}),next:r({size:D.size,color:`accent`,variant:`pure`,fitContent:!0})}),D.ui,{root:D.class})),M=s(()=>n[D.size||`md`]);return T(j),(e,t)=>(g(),c(b(w),m(b(k),y(b(A))),l({prev:x(t=>[_(e.$slots,`prev`,h(p(t)),()=>[d(i,{icon:`lucide:chevron-left`})])]),next:x(t=>[_(e.$slots,`next`,h(p(t)),()=>[d(i,{icon:`lucide:chevron-right`})])]),"head-cell":x(t=>[_(e.$slots,`head-cell`,h(p(t)),()=>[u(v(t.label),1)])]),day:x(t=>[_(e.$slots,`day`,h(p(t)),()=>[u(v(t.dayValue),1)])]),default:x(t=>[_(e.$slots,`default`,h(p(t)))]),_:2},[e.$slots.heading?{name:`heading`,fn:x(t=>[_(e.$slots,`heading`,h(p(t)))]),key:`0`}:{name:`heading`,fn:x(e=>[d(a,{size:M.value,disabled:f.disabled,clearable:!1,items:e.monthOptions,"model-value":e.selectedMonth,"trigger-props":{"aria-label":`Select month`},ui:{trigger:`w-fit`},"onUpdate:modelValue":e.onMonthChange},null,8,[`size`,`disabled`,`items`,`model-value`,`onUpdate:modelValue`]),d(a,{size:M.value,disabled:f.disabled,clearable:!1,items:e.yearOptions,"model-value":e.selectedYear,"trigger-props":{"aria-label":`Select year`},ui:{popup:`max-h-72`,trigger:`w-fit`},"onUpdate:modelValue":e.onYearChange},null,8,[`size`,`disabled`,`items`,`model-value`,`onUpdate:modelValue`])]),key:`1`}]),1040))}});export{E as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import{buttonIconVariants as n}from"../button/variants.js";import r from"../icon/icon.js";import i from"../select/select.js";import{calendarVariants as a}from"./variants.js";import{computed as o,createBlock as s,createSlots as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeProps as m,openBlock as h,renderSlot as g,toDisplayString as _,toHandlers as v,unref as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{useLocaleMessages as C}from"@soybeanjs/headless";import{CalendarCompact as w,provideCalendarUi as T}from"@soybeanjs/headless/calendar";const E=d({name:`SCalendar`,__name:`calendar`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},dir:{},locale:{},modelValue:{},defaultValue:{},multiple:{},placeholder:{},defaultPlaceholder:{},disabled:{type:Boolean},readonly:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},numberOfMonths:{},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},nextPage:{type:Function},prevPage:{type:Function},disableDaysOutsideCurrentView:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`],setup(d,{emit:E}){let D=d,O=E,k=S(D,[`class`,`size`,`ui`]),A=x(O),j=C(),M=o(()=>({"aria-label":j.value.calendar.selectMonth})),N=o(()=>({"aria-label":j.value.calendar.selectYear})),P=o(()=>{let r=t[D.size||`md`];return e(Object.assign(a({size:D.size}),{$base:{prev:n({size:r,variant:`pure`}),next:n({size:r,variant:`pure`})}}),D.ui,{root:D.class})}),F=o(()=>t[D.size||`md`]);return T(P),(e,t)=>(h(),s(y(w),p(y(k),v(y(A))),c({prev:b(t=>[g(e.$slots,`prev`,m(f(t)),()=>[u(r,{icon:`lucide:chevron-left`})])]),next:b(t=>[g(e.$slots,`next`,m(f(t)),()=>[u(r,{icon:`lucide:chevron-right`})])]),"head-cell":b(t=>[g(e.$slots,`head-cell`,m(f(t)),()=>[l(_(t.label),1)])]),day:b(t=>[g(e.$slots,`day`,m(f(t)),()=>[l(_(t.dayValue),1)])]),default:b(t=>[g(e.$slots,`default`,m(f(t)))]),_:2},[e.$slots.heading?{name:`heading`,fn:b(t=>[g(e.$slots,`heading`,m(f(t)))]),key:`0`}:{name:`heading`,fn:b(({monthOptions:e,yearOptions:t,selectedMonth:n,selectedYear:r,onMonthChange:a,onYearChange:o})=>[u(i,{size:F.value,disabled:d.disabled,clearable:!1,items:e,"model-value":n,"trigger-props":M.value,ui:{trigger:`w-fit`},"onUpdate:modelValue":a},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`]),u(i,{size:F.value,disabled:d.disabled,clearable:!1,items:t,"model-value":r,"trigger-props":N.value,ui:{popup:`max-h-72`,trigger:`w-fit`},"onUpdate:modelValue":o},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`])]),key:`1`}]),1040))}});export{E as default};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex flex-col rounded-md border shadow-sm`,header:`flex items-center justify-between`,heading:`flex items-center justify-center font-medium`,prev:``,next:``,grid:`inline-table border-collapse`,gridHead:``,gridBody:``,gridRow:``,headCell:`rounded-md text-center font-normal text-muted-foreground`,cell:[`flex-1 text-center align-middle`,`focus-within:relative focus-within:z-20 [&:has([data-selected])]:rounded-md [&:has([data-selected])]:bg-accent`],cellTrigger:[`inline-flex items-center justify-center w-full h-full rounded-md transition-colors cursor-pointer`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-ring focus-visible:ring-primary/30`,`data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:font-medium`,`[&:not([data-selected]):hover]:bg-accent [&:not([data-selected]):hover]:text-accent-foreground`,`data-[disabled]:cursor-not-allowed data-[disabled]:text-muted-foreground data-[disabled]:opacity-50`,`[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground`,`data-[unavailable]:line-through data-[outside-view]:text-muted-foreground`]},variants:{size:{xs:{root:`gap-3 text-2xs p-2`,header:`gap-1.5`,gridRow:`mt-1.5`,heading:`gap-1.5`,headCell:`h-6 w-6 text-3xs`,cell:`h-6 w-6`},sm:{root:`gap-3.5 text-xs p-2.5`,header:`gap-2`,gridRow:`mt-1.75`,heading:`gap-2`,headCell:`h-7 w-7 text-2xs`,cell:`h-7 w-7`},md:{root:`gap-4 text-sm p-3`,header:`gap-2.5`,gridRow:`mt-2`,heading:`gap-2.5`,headCell:`h-8 w-8 text-xs`,cell:`h-8 w-8`},lg:{root:`gap-4.5 text-base p-3.5`,header:`gap-3`,gridRow:`mt-2.25`,heading:`gap-3`,headCell:`h-9 w-9 text-sm`,cell:`h-9 w-9`},xl:{root:`gap-5 text-lg p-4`,header:`gap-3.5`,gridRow:`mt-2.5`,heading:`gap-3.5`,headCell:`h-10 w-10 text-base`,cell:`h-10 w-10`},"2xl":{root:`gap-6 text-xl p-5`,header:`gap-4`,gridRow:`mt-3`,heading:`gap-4`,headCell:`h-12 w-12 text-lg`,cell:`h-12 w-12`}}},defaultVariants:{size:`md`}});export{t as calendarVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex flex-col rounded-md border shadow-sm`,header:`flex items-center justify-between`,heading:`flex items-center justify-center font-medium`,prev:`rtl:rotate-180`,next:`rtl:rotate-180`,grid:`inline-table border-collapse`,gridHead:``,gridBody:``,gridRow:``,headCell:`rounded-md text-center font-normal text-muted-foreground`,cell:[`flex-1 text-center align-middle`,`focus-within:relative focus-within:z-20 [&:has([data-selected])]:rounded-md [&:has([data-selected])]:bg-accent`],cellTrigger:[`inline-flex items-center justify-center w-full h-full rounded-md transition-colors cursor-pointer`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-ring focus-visible:ring-primary/30`,`data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:font-medium`,`[&:not([data-selected]):hover]:bg-accent [&:not([data-selected]):hover]:text-accent-foreground`,`data-[disabled]:cursor-not-allowed data-[disabled]:text-muted-foreground data-[disabled]:opacity-50`,`[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground`,`data-[unavailable]:line-through data-[outside-view]:text-muted-foreground`]},variants:{size:{xs:{root:`gap-3 text-2xs p-2`,header:`gap-1.5`,gridRow:`mt-1.5`,heading:`gap-1.5`,headCell:`h-6 w-6 text-3xs`,cell:`h-6 w-6`},sm:{root:`gap-3.5 text-xs p-2.5`,header:`gap-2`,gridRow:`mt-1.75`,heading:`gap-2`,headCell:`h-7 w-7 text-2xs`,cell:`h-7 w-7`},md:{root:`gap-4 text-sm p-3`,header:`gap-2.5`,gridRow:`mt-2`,heading:`gap-2.5`,headCell:`h-8 w-8 text-xs`,cell:`h-8 w-8`},lg:{root:`gap-4.5 text-base p-3.5`,header:`gap-3`,gridRow:`mt-2.25`,heading:`gap-3`,headCell:`h-9 w-9 text-sm`,cell:`h-9 w-9`},xl:{root:`gap-5 text-lg p-4`,header:`gap-3.5`,gridRow:`mt-2.5`,heading:`gap-3.5`,headCell:`h-10 w-10 text-base`,cell:`h-10 w-10`},"2xl":{root:`gap-6 text-xl p-5`,header:`gap-4`,gridRow:`mt-3`,heading:`gap-4`,headCell:`h-12 w-12 text-lg`,cell:`h-12 w-12`}}},defaultVariants:{size:`md`}});export{t as calendarVariants};
@@ -0,0 +1 @@
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as n}from"../button/variants.js";import r from"../select/select.js";import{calendarRangeVariants as i}from"./variants.js";import{computed as a,createBlock as o,createCommentVNode as s,createSlots as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeProps as p,openBlock as m,renderList as h,renderSlot as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{keysOf as C}from"@soybeanjs/utils";import{useLocaleMessages as w}from"@soybeanjs/headless";import{CalendarRangeCompact as T,provideCalendarRangeUi as E}from"@soybeanjs/headless/calendar-range";const D=u({name:`SCalendarRange`,__name:`calendar-range`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},headerProps:{},headingProps:{},prevProps:{},nextProps:{},gridProps:{},gridHeadProps:{},gridBodyProps:{},gridRowProps:{},headCellProps:{},cellProps:{},cellTriggerProps:{},defaultValue:{},defaultPlaceholder:{},placeholder:{},modelValue:{},allowNonContiguousRanges:{type:Boolean},pagedNavigation:{type:Boolean},preventDeselect:{type:Boolean},maximumDays:{},weekStartsOn:{},weekdayFormat:{},calendarLabel:{},fixedWeeks:{type:Boolean},maxValue:{},minValue:{},locale:{},numberOfMonths:{},disabled:{type:Boolean},readonly:{type:Boolean},initialFocus:{type:Boolean},isDateDisabled:{type:Function},isDateUnavailable:{type:Function},isDateHighlightable:{type:Function},dir:{},nextPage:{type:Function},prevPage:{type:Function},disableDaysOutsideCurrentView:{type:Boolean},fixedDate:{},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`,`update:startValue`],setup(u,{emit:D}){let O=u,k=D,A=y(),j=S(O,[`class`,`ui`,`size`]),M=x(k),N=w(),P=a(()=>({"aria-label":N.value.calendar.selectMonth})),F=a(()=>({"aria-label":N.value.calendar.selectYear})),I=a(()=>C(A).filter(e=>e!==`heading`)),L=a(()=>e(Object.assign(i({size:O.size}),{$base:{prev:n({size:O.size,variant:`pure`,fitContent:!0}),next:n({size:O.size,variant:`pure`,fitContent:!0})}}),O.ui,{root:O.class})),R=a(()=>t[O.size||`md`]);return E(L),(e,t)=>(m(),o(v(T),f(v(j),_(v(M))),c({_:2},[h(I.value,t=>({name:t,fn:b(n=>[s(` @vue-expect-error ignore slot props type `),g(e.$slots,t,p(d(n)))])})),e.$slots.heading?{name:`heading`,fn:b(t=>[g(e.$slots,`heading`,p(d(t)))]),key:`0`}:{name:`heading`,fn:b(({monthOptions:e,yearOptions:t,selectedMonth:n,selectedYear:i,onMonthChange:a,onYearChange:o})=>[l(r,{size:R.value,disabled:u.disabled,clearable:!1,items:e,"model-value":n,"trigger-props":P.value,ui:{trigger:`w-fit`},"onUpdate:modelValue":a},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`]),l(r,{size:R.value,disabled:u.disabled,clearable:!1,items:t,"model-value":i,"trigger-props":F.value,ui:{popup:`max-h-72`,trigger:`w-fit`},"onUpdate:modelValue":o},null,8,[`size`,`disabled`,`items`,`model-value`,`trigger-props`,`onUpdate:modelValue`])]),key:`1`}]),1040))}});export{D as default};
@@ -1,15 +1,15 @@
1
- import { RangeCalendarProps, RangeCalendarSlots } from "./types.js";
1
+ import { CalendarRangeProps, CalendarRangeSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
  import * as _$_internationalized_date0 from "@internationalized/date";
4
4
  import * as _$_soybeanjs_headless_date0 from "@soybeanjs/headless/date";
5
5
 
6
- //#region src/components/range-calendar/range-calendar.vue.d.ts
7
- type __VLS_Slots = RangeCalendarSlots;
8
- declare const __VLS_base: _$vue.DefineComponent<RangeCalendarProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
6
+ //#region src/components/calendar-range/calendar-range.vue.d.ts
7
+ type __VLS_Slots = CalendarRangeSlots;
8
+ declare const __VLS_base: _$vue.DefineComponent<CalendarRangeProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
9
9
  "update:modelValue": (range: _$_soybeanjs_headless_date0.DateRange) => any;
10
10
  "update:placeholder": (date: _$_internationalized_date0.DateValue) => any;
11
11
  "update:startValue": (date: _$_internationalized_date0.DateValue | undefined) => any;
12
- }, string, _$vue.PublicProps, Readonly<RangeCalendarProps> & Readonly<{
12
+ }, string, _$vue.PublicProps, Readonly<CalendarRangeProps> & Readonly<{
13
13
  "onUpdate:modelValue"?: ((range: _$_soybeanjs_headless_date0.DateRange) => any) | undefined;
14
14
  "onUpdate:placeholder"?: ((date: _$_internationalized_date0.DateValue) => any) | undefined;
15
15
  "onUpdate:startValue"?: ((date: _$_internationalized_date0.DateValue | undefined) => any) | undefined;
@@ -0,0 +1,3 @@
1
+ import { CalendarRangeEmits, CalendarRangeProps, CalendarRangeSlots } from "./types.js";
2
+ import { _default } from "./calendar-range.vue.js";
3
+ export * from "@soybeanjs/headless/calendar-range";
@@ -0,0 +1 @@
1
+ import"./calendar-range.js";
@@ -0,0 +1,32 @@
1
+ import { ThemeSize } from "../../theme/types.js";
2
+ import { CalendarRangeCompactEmits, CalendarRangeCompactProps, CalendarRangeCompactSlots, CalendarRangeUi } from "@soybeanjs/headless/calendar-range";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
4
+
5
+ //#region src/components/calendar-range/types.d.ts
6
+ /**
7
+ * Properties for the CalendarRange component.
8
+ */
9
+ interface CalendarRangeProps extends CalendarRangeCompactProps {
10
+ /**
11
+ * Additional class names applied to the root element.
12
+ */
13
+ class?: ClassValue;
14
+ /**
15
+ * Visual size of the component.
16
+ */
17
+ size?: ThemeSize;
18
+ /**
19
+ * Per-slot class overrides for the component.
20
+ */
21
+ ui?: Partial<CalendarRangeUi>;
22
+ }
23
+ /**
24
+ * Events for the CalendarRange component.
25
+ */
26
+ type CalendarRangeEmits = CalendarRangeCompactEmits;
27
+ /**
28
+ * Slots for the CalendarRange component.
29
+ */
30
+ type CalendarRangeSlots = CalendarRangeCompactSlots;
31
+ //#endregion
32
+ export { CalendarRangeEmits, CalendarRangeProps, CalendarRangeSlots };
@@ -0,0 +1 @@
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex flex-col gap-4 p-3 text-sm`,header:`flex items-center justify-between`,heading:`flex items-center justify-center font-medium`,prev:`rtl:rotate-180`,next:`rtl:rotate-180`,grid:`inline-table border-collapse`,gridHead:``,gridBody:``,gridRow:``,headCell:`rounded-md text-center font-normal text-muted-foreground`,cell:[`flex-1 text-center align-middle focus-within:relative focus-within:z-20`,`[&:has([data-selected])]:bg-accent first:[&:has([data-selected])]:rounded-s-md last:[&:has([data-selected])]:rounded-e-md`,`[&:has([data-selection-end])]:rounded-e-md [&:has([data-selection-start])]:rounded-s-md`],cellTrigger:[`inline-flex cursor-pointer items-center justify-center w-full h-full rounded-md font-normal transition-colors`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-ring focus-visible:ring-primary/30`,`[&[data-today]:not([data-selected])]:bg-accent [&[data-today]:not([data-selected])]:text-accent-foreground`,`data-[selected]:text-foreground`,`data-[selection-start]:bg-primary data-[selection-start]:text-primary-foreground`,`data-[selection-end]:bg-primary data-[selection-end]:text-primary-foreground`,`[&[data-selection-start]:hover]:bg-primary data-[selection-start]:hover:text-primary-foreground data-[selection-start]:focus-visible:bg-primary data-[selection-start]:focus-visible:text-primary-foreground`,`[&[data-selection-end]:hover]:bg-primary data-[selection-end]:hover:text-primary-foreground data-[selection-end]:focus-visible:bg-primary data-[selection-end]:focus-visible:text-primary-foreground`,`data-[highlighted]:bg-accent/80 data-[highlighted]:text-foreground`,`hover:bg-accent hover:text-accent-foreground data-[outside-view]:text-muted-foreground`,`data-[disabled]:pointer-events-none data-[disabled]:text-muted-foreground data-[disabled]:opacity-50`,`data-[unavailable]:line-through`]},variants:{size:{xs:{root:`gap-3 text-2xs p-2`,header:`gap-1.5`,gridRow:`mt-1.5`,heading:`gap-1.5`,headCell:`h-6 w-6 text-3xs`,cell:`h-6 w-6`},sm:{root:`gap-3.5 text-xs p-2.5`,header:`gap-2`,gridRow:`mt-1.75`,heading:`gap-2`,headCell:`h-7 w-7 text-2xs`,cell:`h-7 w-7`},md:{root:`gap-4 text-sm p-3`,header:`gap-2.5`,gridRow:`mt-2`,heading:`gap-2.5`,headCell:`h-8 w-8 text-xs`,cell:`h-8 w-8`},lg:{root:`gap-4.5 text-base p-3.5`,header:`gap-3`,gridRow:`mt-2.25`,heading:`gap-3`,headCell:`h-9 w-9 text-sm`,cell:`h-9 w-9`},xl:{root:`gap-5 text-lg p-4`,header:`gap-3.5`,gridRow:`mt-2.5`,heading:`gap-3.5`,headCell:`h-10 w-10 text-base`,cell:`h-10 w-10`},"2xl":{root:`gap-6 text-xl p-5`,header:`gap-4`,gridRow:`mt-3`,heading:`gap-4`,headCell:`h-12 w-12 text-lg`,cell:`h-12 w-12`}}},defaultVariants:{size:`md`}});export{t as calendarRangeVariants};
@@ -1 +1 @@
1
- import e from"../button/button-icon.js";import{createBlock as t,defineComponent as n,guardReactiveProps as r,normalizeProps as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{CardCollapsibleTrigger as l}from"@soybeanjs/headless/card";const u=n({name:`SCardCollapsibleTrigger`,__name:`card-collapsible-trigger`,props:{disabledCollapsible:{type:Boolean},asChild:{type:Boolean,default:!0},as:{}},setup(n){let u=n;return(n,d)=>(a(),t(s(l),i(r(u)),{default:c(({open:r})=>[o(n.$slots,`default`,{open:r},()=>[r?(a(),t(e,{key:0,icon:`lucide:chevron-down`})):(a(),t(e,{key:1,icon:`lucide:chevron-right`}))])]),_:3},16))}});export{u as default};
1
+ import e from"../button/button-icon.js";import{createBlock as t,defineComponent as n,guardReactiveProps as r,normalizeProps as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{CardCollapsibleTrigger as l}from"@soybeanjs/headless/card";const u=n({name:`SCardCollapsibleTrigger`,__name:`card-collapsible-trigger`,props:{disabledCollapsible:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean,default:!0},as:{}},setup(n){let u=n;return(n,d)=>(a(),t(s(l),i(r(u)),{default:c(({open:r})=>[o(n.$slots,`default`,{open:r},()=>[r?(a(),t(e,{key:0,icon:`lucide:chevron-down`})):(a(),t(e,{key:1,icon:`lucide:chevron-right`}))])]),_:3},16))}});export{u as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{cardVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{CardCompact as m,provideCardUi as h}from"@soybeanjs/headless/card";const g=a({name:`SCard`,__name:`card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},scrollable:{type:Boolean,default:!0},split:{type:Boolean},title:{},description:{},headerProps:{},contentProps:{},footerProps:{},titleRootProps:{},titleProps:{},descriptionProps:{},defaultOpen:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let g=a,_=p(g,[`class`,`size`,`ui`,`scrollable`,`split`]),v=d();return h(n(()=>e(t({size:g.size,scrollable:g.scrollable,split:g.split}),g.ui,{root:g.class}))),(e,t)=>(c(),r(u(m),s(o(u(_))),i({default:f(()=>[l(e.$slots,`default`)]),_:2},[v.header?{name:`header`,fn:f(()=>[l(e.$slots,`header`)]),key:`0`}:void 0,v[`title-leading`]?{name:`title-leading`,fn:f(()=>[l(e.$slots,`title-leading`)]),key:`1`}:void 0,v.title?{name:`title`,fn:f(()=>[l(e.$slots,`title`)]),key:`2`}:void 0,v[`title-trailing`]?{name:`title-trailing`,fn:f(()=>[l(e.$slots,`title-trailing`)]),key:`3`}:void 0,v.extra?{name:`extra`,fn:f(()=>[l(e.$slots,`extra`)]),key:`4`}:void 0,v.description?{name:`description`,fn:f(()=>[l(e.$slots,`description`)]),key:`5`}:void 0,v.footer?{name:`footer`,fn:f(()=>[l(e.$slots,`footer`)]),key:`6`}:void 0]),1040))}});export{g as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{cardVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,useSlots as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{CardCompact as m,provideCardUi as h}from"@soybeanjs/headless/card";const g=a({name:`SCard`,__name:`card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},scrollable:{type:Boolean,default:!0},split:{type:Boolean},title:{},description:{},headerProps:{},contentProps:{},footerProps:{},titleRootProps:{},titleProps:{},descriptionProps:{},defaultOpen:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let g=a,_=p(g,[`class`,`size`,`ui`,`scrollable`,`split`]),v=d();return h(n(()=>e(t({size:g.size,scrollable:g.scrollable,split:g.split}),g.ui,{root:g.class}))),(e,t)=>(c(),r(u(m),s(o(u(_))),i({default:f(()=>[l(e.$slots,`default`)]),_:2},[v.header?{name:`header`,fn:f(()=>[l(e.$slots,`header`)]),key:`0`}:void 0,v[`title-leading`]?{name:`title-leading`,fn:f(()=>[l(e.$slots,`title-leading`)]),key:`1`}:void 0,v.title?{name:`title`,fn:f(()=>[l(e.$slots,`title`)]),key:`2`}:void 0,v[`title-trailing`]?{name:`title-trailing`,fn:f(()=>[l(e.$slots,`title-trailing`)]),key:`3`}:void 0,v.extra?{name:`extra`,fn:f(()=>[l(e.$slots,`extra`)]),key:`4`}:void 0,v.description?{name:`description`,fn:f(()=>[l(e.$slots,`description`)]),key:`5`}:void 0,v.footer?{name:`footer`,fn:f(()=>[l(e.$slots,`footer`)]),key:`6`}:void 0]),1040))}});export{g as default};
@@ -1 +1 @@
1
- import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import"../../theme/index.js";import{buttonVariants as n}from"../button/variants.js";import{carouselVariants as r}from"./variants.js";import{computed as i,createBlock as a,createSlots as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,toHandlers as m,unref as h,useSlots as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{keysOf as b}from"@soybeanjs/utils";import{CarouselCompact as x,provideCarouselUi as S}from"@soybeanjs/headless/carousel";const C=s({name:`SCarousel`,__name:`carousel`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},floatNav:{type:Boolean},slides:{},contentProps:{},containerProps:{},itemProps:{},controlProps:{},navigationProps:{},previousProps:{},nextProps:{},dir:{},orientation:{},options:{},plugins:{}},emits:[`init`],setup(s,{emit:C}){let w=s,T=C,E=g(),D=y(w,[`class`,`ui`,`size`,`floatNav`]),O=v(T),k=i(()=>b(E).filter(e=>e!==`item`));return S(i(()=>t(e(r({size:w.size,orientation:w.orientation,floatNav:w.floatNav}),{previous:n({size:w.size,color:`accent`,variant:`pure`,shape:`circle`,fitContent:!0}),next:n({size:w.size,color:`accent`,variant:`pure`,shape:`circle`,fitContent:!0})}),w.ui,{root:w.class}))),(e,t)=>(d(),a(h(x),l(h(D),m(h(O))),o({item:_(t=>[p(e.$slots,`item`,u(c(t)))]),_:2},[f(k.value,t=>({name:t,fn:_(n=>[p(e.$slots,t,u(c(n)))])}))]),1040))}});export{C as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{buttonIconVariants as t}from"../button/variants.js";import{carouselVariants 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{CarouselCompact as b,provideCarouselUi as x}from"@soybeanjs/headless/carousel";const S=o({name:`SCarousel`,__name:`carousel`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},floatNav:{type:Boolean},slides:{},contentProps:{},containerProps:{},itemProps:{},controlProps:{},navigationProps:{},previousProps:{},nextProps:{},dir:{},orientation:{},options:{},plugins:{}},emits:[`init`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`ui`,`size`,`floatNav`]),D=_(w),O=r(()=>y(T).filter(e=>e!==`item`));return x(r(()=>e(Object.assign(n({size:C.size,orientation:C.orientation,floatNav:C.floatNav}),{$base:{previous:t({size:C.size,variant:`pure`,shape:`circle`}),next:t({size:C.size,variant:`pure`,shape:`circle`})}}),C.ui,{root:C.class}))),(e,t)=>(u(),i(m(b),c(m(E),p(m(D))),a({item:g(t=>[f(e.$slots,`item`,l(s(t)))]),_:2},[d(O.value,t=>({name:t,fn:g(n=>[f(e.$slots,t,l(s(n)))])}))]),1040))}});export{S as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{CheckboxCardGroupCompact as l,provideCheckboxCardUi as u}from"@soybeanjs/headless/checkbox";const d=i({name:`SCheckboxCardGroup`,__name:`checkbox-card-group`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:d}){let f=i,p=d,m=c(f,[`class`,`ui`,`color`,`size`,`shape`]),h=n(()=>e(t({color:f.color,size:f.size,shape:f.shape}),f.ui,{groupRoot:f.class}));return u(h),(e,t)=>(o(),r(s(l),a(s(m),{"content-class":h.value.content,"text-content-class":h.value.textContent,"icon-class":h.value.icon,"description-class":h.value.description,"onUpdate:modelValue":t[0]||=e=>p(`update:modelValue`,e)}),null,16,[`content-class`,`text-content-class`,`icon-class`,`description-class`]))}});export{d as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{CheckboxCardGroupCompact as l,provideCheckboxCardUi as u}from"@soybeanjs/headless/checkbox";const d=i({name:`SCheckboxCardGroup`,__name:`checkbox-card-group`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean,default:!0},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:d}){let f=i,p=d,m=c(f,[`class`,`ui`,`color`,`size`,`shape`]),h=n(()=>e(t({color:f.color,size:f.size,shape:f.shape}),f.ui,{groupRoot:f.class}));return u(h),(e,t)=>(o(),r(s(l),a(s(m),{"content-class":h.value.content,"text-content-class":h.value.textContent,"icon-class":h.value.icon,"description-class":h.value.description,"onUpdate:modelValue":t[0]||=e=>p(`update:modelValue`,e)}),null,16,[`content-class`,`text-content-class`,`icon-class`,`description-class`]))}});export{d as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{useOmitProps as u}from"@soybeanjs/headless/composables";import{CheckboxCardCompact as d,provideCheckboxCardUi as f}from"@soybeanjs/headless/checkbox";const p=i({name:`SCheckboxCard`,__name:`checkbox-card`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},icon:{},description:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`class`,`ui`,`color`,`size`,`shape`]);return f(n(()=>e(t({color:m.color,size:m.size,shape:m.shape}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{"onUpdate:modelValue":t[0]||=e=>h(`update:modelValue`,e)}),{description:l(()=>[s(e.$slots,`description`)]),default:l(()=>[s(e.$slots,`default`)]),_:3},16))}});export{p as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{useOmitProps as u}from"@soybeanjs/headless/composables";import{CheckboxCardCompact as d,provideCheckboxCardUi as f}from"@soybeanjs/headless/checkbox";const p=i({name:`SCheckboxCard`,__name:`checkbox-card`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},icon:{},description:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`class`,`ui`,`color`,`size`,`shape`]);return f(n(()=>e(t({color:m.color,size:m.size,shape:m.shape}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{"onUpdate:modelValue":t[0]||=e=>h(`update:modelValue`,e)}),{description:l(()=>[s(e.$slots,`description`)]),default:l(()=>[s(e.$slots,`default`)]),_:3},16))}});export{p as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{CheckboxGroupCompact as l,provideCheckboxUi as u}from"@soybeanjs/headless/checkbox";const d=i({name:`SCheckboxGroup`,__name:`checkbox-group`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:d}){let f=i,p=d,m=c(f,[`class`,`ui`,`color`,`size`,`shape`]);return u(n(()=>e(t({color:f.color,size:f.size,shape:f.shape,orientation:f.orientation}),f.ui,{groupRoot:f.class}))),(e,t)=>(o(),r(s(l),a(s(m),{"onUpdate:modelValue":t[0]||=e=>p(`update:modelValue`,e)}),null,16))}});export{d as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{CheckboxGroupCompact as l,provideCheckboxUi as u}from"@soybeanjs/headless/checkbox";const d=i({name:`SCheckboxGroup`,__name:`checkbox-group`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean,default:!0},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:d}){let f=i,p=d,m=c(f,[`class`,`ui`,`color`,`size`,`shape`]);return u(n(()=>e(t({color:f.color,size:f.size,shape:f.shape,orientation:f.orientation}),f.ui,{groupRoot:f.class}))),(e,t)=>(o(),r(s(l),a(s(m),{"onUpdate:modelValue":t[0]||=e=>p(`update:modelValue`,e)}),null,16))}});export{d as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{useOmitProps as u}from"@soybeanjs/headless/composables";import{CheckboxCompact as d,provideCheckboxUi as f}from"@soybeanjs/headless/checkbox";const p=i({name:`SCheckbox`,__name:`checkbox`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`class`,`ui`,`color`,`size`,`shape`]);return f(n(()=>e(t({color:m.color,size:m.size,shape:m.shape}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{"onUpdate:modelValue":t[0]||=e=>h(`update:modelValue`,e)}),{default:l(()=>[s(e.$slots,`default`)]),_:3},16))}});export{p as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{useOmitProps as u}from"@soybeanjs/headless/composables";import{CheckboxCompact as d,provideCheckboxUi as f}from"@soybeanjs/headless/checkbox";const p=i({name:`SCheckbox`,__name:`checkbox`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`class`,`ui`,`color`,`size`,`shape`]);return f(n(()=>e(t({color:m.color,size:m.size,shape:m.shape}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{"onUpdate:modelValue":t[0]||=e=>h(`update:modelValue`,e)}),{default:l(()=>[s(e.$slots,`default`)]),_:3},16))}});export{p as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{collapsibleVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{CollapsibleRoot as p,provideCollapsibleUi as m}from"@soybeanjs/headless/collapsible";const h=i({name:`SCollapsible`,__name:`collapsible`,props:{size:{},ui:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean,default:!0},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`size`,`ui`]);return m(n(()=>e(t({size:g.size}),g.ui))),(e,t)=>(c(),r(u(p),o(u(v),{"onUpdate:open":t[0]||=e=>_(`update:open`,e)}),{default:d(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{h as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{collapsibleVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{CollapsibleRoot as p,provideCollapsibleUi as m}from"@soybeanjs/headless/collapsible";const h=i({name:`SCollapsible`,__name:`collapsible`,props:{size:{},ui:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean,default:!0},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`size`,`ui`]);return m(n(()=>e(t({size:g.size}),g.ui))),(e,t)=>(c(),r(u(p),o(u(v),{"onUpdate:open":t[0]||=e=>_(`update:open`,e)}),{default:d(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{h as default};
@@ -3,7 +3,7 @@ import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/collapsible/collapsible.vue.d.ts
5
5
  declare var __VLS_10: {
6
- open: boolean | undefined;
6
+ open: boolean;
7
7
  };
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_10) => any;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{colorAreaVariants as t}from"./variants.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{ColorAreaArea as h,ColorAreaRoot as g,ColorAreaThumb as _,provideColorAreaUi as v}from"@soybeanjs/headless/color-area";const y=a({name:`SColorArea`,__name:`color-area`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},areaProps:{},thumbProps:{},modelValue:{},defaultValue:{},colorSpace:{},format:{},xChannel:{},yChannel:{},disabled:{type:Boolean},xName:{},yName:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:color`,`change`,`changeEnd`],setup(a,{emit:y}){let b=a,x=p(y),S=m(b,[`class`,`size`,`ui`,`areaProps`,`thumbProps`,`onChange`]);return v(n(()=>e(t({size:b.size}),b.ui,{root:b.class}))),(e,t)=>(l(),r(d(g),s(d(S),u(d(x))),{default:f(()=>[i(d(h),c(o(a.areaProps)),{default:f(()=>[i(d(_),c(o(a.thumbProps)),null,16)]),_:1},16)]),_:1},16))}});export{y as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{colorAreaVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,toHandlers as s,unref as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{ColorAreaCompact as d,provideColorAreaUi as f}from"@soybeanjs/headless/color-area";const p=i({name:`SColorArea`,__name:`color-area`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},areaProps:{},thumbProps:{},modelValue:{},defaultValue:{},colorSpace:{},format:{},xChannel:{},yChannel:{},disabled:{type:Boolean},xName:{},yName:{},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:color`,`change`,`changeEnd`],setup(i,{emit:p}){let m=i,h=l(p),g=u(m,[`class`,`size`,`ui`]);return f(n(()=>e(t({size:m.size}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),s(c(h))),null,16))}});export{p as default};
@@ -1,17 +1,17 @@
1
1
  import { ColorAreaProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import * as _$_soybeanjs_headless_shared0 from "@soybeanjs/headless/shared";
3
+ import * as _$_soybeanjs_headless_types0 from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/color-area/color-area.vue.d.ts
6
6
  declare const __VLS_export: _$vue.DefineComponent<ColorAreaProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
- "update:modelValue": (value: string) => any;
8
7
  change: (value: string) => any;
9
- "update:color": (value: _$_soybeanjs_headless_shared0.NormalizedColor) => any;
8
+ "update:modelValue": (value: string) => any;
9
+ "update:color": (value: _$_soybeanjs_headless_types0.NormalizedColor) => any;
10
10
  changeEnd: (value: string) => any;
11
11
  }, string, _$vue.PublicProps, Readonly<ColorAreaProps> & Readonly<{
12
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
12
  onChange?: ((value: string) => any) | undefined;
14
- "onUpdate:color"?: ((value: _$_soybeanjs_headless_shared0.NormalizedColor) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
14
+ "onUpdate:color"?: ((value: _$_soybeanjs_headless_types0.NormalizedColor) => any) | undefined;
15
15
  onChangeEnd?: ((value: string) => any) | undefined;
16
16
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
17
17
  declare const _default: typeof __VLS_export;
@@ -1,12 +1,12 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ColorAreaAreaProps, ColorAreaRootEmits, ColorAreaRootProps, ColorAreaThumbProps, ColorAreaUi } from "@soybeanjs/headless/color-area";
2
+ import { ColorAreaCompactEmits, ColorAreaCompactProps, ColorAreaUi } from "@soybeanjs/headless/color-area";
3
3
  import { ClassValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/color-area/types.d.ts
6
6
  /**
7
7
  * Properties for the ColorArea component.
8
8
  */
9
- interface ColorAreaProps extends ColorAreaRootProps {
9
+ interface ColorAreaProps extends ColorAreaCompactProps {
10
10
  /**
11
11
  * Additional class names applied to the root element.
12
12
  */
@@ -19,18 +19,10 @@ interface ColorAreaProps extends ColorAreaRootProps {
19
19
  * Per-slot class overrides for the component.
20
20
  */
21
21
  ui?: Partial<ColorAreaUi>;
22
- /**
23
- * Properties forwarded to the area element.
24
- */
25
- areaProps?: ColorAreaAreaProps;
26
- /**
27
- * Properties forwarded to the thumb element.
28
- */
29
- thumbProps?: ColorAreaThumbProps;
30
22
  }
31
23
  /**
32
24
  * Events for the ColorArea component.
33
25
  */
34
- type ColorAreaEmits = ColorAreaRootEmits;
26
+ type ColorAreaEmits = ColorAreaCompactEmits;
35
27
  //#endregion
36
28
  export { ColorAreaEmits, ColorAreaProps };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{colorFieldVariants as t}from"./variants.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,toHandlers as u,unref as d,useAttrs as f,withCtx as p}from"vue";import{useForwardListeners as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{ColorFieldInput as g,ColorFieldRoot as _,provideColorFieldUi as v}from"@soybeanjs/headless/color-field";const y=a({name:`SColorField`,inheritAttrs:!1,__name:`color-field`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},inputProps:{},modelValue:{},defaultValue:{},colorSpace:{},channel:{},format:{},placeholder:{},disabled:{type:Boolean},readonly:{type:Boolean},disableWheelChange:{type:Boolean},step:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:color`],setup(a,{emit:y}){let b=a,x=y,S=f(),C=m(x),w=h(b,[`class`,`size`,`ui`,`inputProps`]);return v(n(()=>e(t({size:b.size}),b.ui,{root:b.class}))),(e,t)=>(l(),r(d(_),s(d(w),u(d(C))),{default:p(()=>[i(d(g),c(o({...a.inputProps,...d(S)})),null,16)]),_:1},16))}});export{y as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{colorFieldVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,toHandlers as s,unref as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{ColorFieldCompact as d,provideColorFieldUi as f}from"@soybeanjs/headless/color-field";const p=i({name:`SColorField`,__name:`color-field`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},inputProps:{},modelValue:{},defaultValue:{},colorSpace:{},channel:{},format:{},placeholder:{},disabled:{type:Boolean},readonly:{type:Boolean},disableWheelChange:{type:Boolean},step:{},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:color`],setup(i,{emit:p}){let m=i,h=l(p),g=u(m,[`class`,`size`,`ui`]);return f(n(()=>e(t({size:m.size}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),s(c(h))),null,16))}});export{p as default};