@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
@@ -5,6 +5,7 @@ import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
5
5
  //#region src/components/drawer/drawer.vue.d.ts
6
6
  type __VLS_Slots = DrawerSlots;
7
7
  declare const __VLS_base: _$vue.DefineComponent<DrawerProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8
+ click: (event: PointerEvent) => any;
8
9
  close: (event: MouseEvent) => any;
9
10
  cancel: (event: MouseEvent) => any;
10
11
  confirm: (event: MouseEvent) => any;
@@ -16,6 +17,7 @@ declare const __VLS_base: _$vue.DefineComponent<DrawerProps, {}, {}, {}, {}, _$v
16
17
  openAutoFocus: (event: Event) => any;
17
18
  closeAutoFocus: (event: Event) => any;
18
19
  }, string, _$vue.PublicProps, Readonly<DrawerProps> & Readonly<{
20
+ onClick?: ((event: PointerEvent) => any) | undefined;
19
21
  onClose?: ((event: MouseEvent) => any) | undefined;
20
22
  onCancel?: ((event: MouseEvent) => any) | undefined;
21
23
  onConfirm?: ((event: MouseEvent) => any) | undefined;
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{popup:[`fixed z-50 flex flex-col justify-between items-stretch border bg-background rounded-md outline-none transition ease-in-out`,`data-[state=open]:animate-in data-[state=open]:duration-500`,`data-[state=closed]:animate-out data-[state=closed]:duration-300`]},variants:{size:{xs:{popup:`gap-y-1.5 px-2 py-1.5 text-2xs`},sm:{popup:`gap-y-2 px-3 py-2 text-xs`},md:{popup:`gap-y-3 px-4 py-3 text-sm`},lg:{popup:`gap-y-4 px-5 py-4 text-base`},xl:{popup:`gap-y-5 px-6 py-5 text-lg`},"2xl":{popup:`gap-y-6 px-7 py-6 text-xl`}},side:{top:{popup:`inset-x-0 top-0 border-b rounded-t-0 data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top`},bottom:{popup:`inset-x-0 bottom-0 border-t rounded-b-0 data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom`},left:{popup:`inset-y-0 left-0 h-full w-3/4 border-r rounded-l-0 data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left sm:max-w-sm`},right:{popup:`inset-y-0 right-0 h-full w-3/4 border-l rounded-r-0 data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right sm:max-w-sm`}}},defaultVariants:{size:`md`,side:`right`}});export{t as drawerVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{popup:[`fixed z-50 flex flex-col justify-between items-stretch border bg-background outline-none transition ease-in-out`,`data-[state=open]:animate-in data-[state=open]:duration-500`,`data-[state=closed]:animate-out data-[state=closed]:duration-300`]},variants:{size:{xs:{popup:`gap-y-1.5 px-2 py-1.5 text-2xs`},sm:{popup:`gap-y-2 px-3 py-2 text-xs`},md:{popup:`gap-y-3 px-4 py-3 text-sm`},lg:{popup:`gap-y-4 px-5 py-4 text-base`},xl:{popup:`gap-y-5 px-6 py-5 text-lg`},"2xl":{popup:`gap-y-6 px-7 py-6 text-xl`}},side:{top:{popup:`inset-x-0 top-0 border-b rounded-b-md data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top`},bottom:{popup:`inset-x-0 bottom-0 border-t rounded-t-md data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom`},left:{popup:[`inset-y-0 start-0 h-full w-3/4 border-e rounded-e-md sm:max-w-sm`,`data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left`,`[&[dir=rtl]]:data-[state=open]:slide-in-from-right [&[dir=rtl]]:data-[state=closed]:slide-out-to-right`]},right:{popup:[`inset-y-0 end-0 h-full w-3/4 border-s rounded-s-md sm:max-w-sm`,`data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right`,`[&[dir=rtl]]:data-[state=open]:slide-in-from-left [&[dir=rtl]]:data-[state=closed]:slide-out-to-left`]}}},defaultVariants:{size:`md`,side:`right`}});export{t as drawerVariants};
@@ -1,7 +1,7 @@
1
1
  import { DropdownMenuCheckboxProps, DropdownMenuCheckboxSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { DefinedValue } from "@soybeanjs/headless/types";
4
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
+ import { DefinedValue } from "@soybeanjs/headless/types";
5
5
 
6
6
  //#region src/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts
7
7
  declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -1,7 +1,7 @@
1
1
  import { DropdownMenuRadioProps, DropdownMenuRadioSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { AcceptableBooleanValue } from "@soybeanjs/headless/types";
4
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
+ import { AcceptableBooleanValue } from "@soybeanjs/headless/types";
5
5
 
6
6
  //#region src/components/dropdown-menu/dropdown-menu-radio.vue.d.ts
7
7
  declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBooleanValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -14,7 +14,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
14
14
  onInteractOutside?: ((event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
15
15
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
16
16
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
17
- "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((payload: Exclude<T, undefined>) => any) | undefined;
18
18
  onEntryFocus?: ((event: Event) => any) | undefined;
19
19
  }> & (typeof globalThis extends {
20
20
  __VLS_PROPS_FALLBACK: infer P;
@@ -22,7 +22,7 @@ declare const __VLS_export: <T extends AcceptableBooleanValue = AcceptableBoolea
22
22
  expose: (exposed: {}) => void;
23
23
  attrs: any;
24
24
  slots: DropdownMenuRadioSlots<T>;
25
- emit: ((evt: "select", item: _$_soybeanjs_headless0.MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", payload: NonNullable<T>) => void) & ((evt: "entryFocus", event: Event) => void);
25
+ emit: ((evt: "select", item: _$_soybeanjs_headless0.MenuRadioOptionData<T>, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _$_soybeanjs_headless0.PointerDownOutsideEvent | _$_soybeanjs_headless0.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "update:modelValue", payload: Exclude<T, undefined>) => void) & ((evt: "entryFocus", event: Event) => void);
26
26
  }>) => _$vue.VNode & {
27
27
  __ctx?: Awaited<typeof __VLS_setup>;
28
28
  };
@@ -1,7 +1,7 @@
1
1
  import { DropdownMenuProps, DropdownMenuSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { DefinedValue } from "@soybeanjs/headless/types";
4
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
+ import { DefinedValue } from "@soybeanjs/headless/types";
5
5
 
6
6
  //#region src/components/dropdown-menu/dropdown-menu.vue.d.ts
7
7
  declare const __VLS_export: <T extends DefinedValue = DefinedValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{editableVariants as n}from"./variants.js";import{computed as r,createBlock as i,createElementVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{EditableArea as y,EditableCancelTrigger as b,EditableEditTrigger as x,EditableInput as S,EditablePreview as C,EditableRoot as w,EditableSubmitTrigger as T,provideEditableUi as E}from"@soybeanjs/headless/editable";const D=s({name:`SEditable`,__name:`editable`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},areaProps:{},previewProps:{},inputProps:{},editTriggerProps:{},submitTriggerProps:{},cancelTriggerProps:{},defaultValue:{},modelValue:{},placeholder:{},dir:{},disabled:{type:Boolean},readonly:{type:Boolean},activationMode:{},selectOnFocus:{type:Boolean},submitMode:{},startWithEditMode:{type:Boolean},maxLength:{},autoResize:{type:Boolean},id:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`submit`,`update:state`],setup(s,{emit:D}){let O=s,k=D,A=v(O,[`class`,`size`,`ui`,`areaProps`,`previewProps`,`inputProps`,`editTriggerProps`,`submitTriggerProps`,`cancelTriggerProps`]),j=_(k),M=r(()=>e(n({size:O.size}),O.ui,{root:O.class}));return E(M),(e,n)=>(f(),i(h(w),l(h(A),m(h(j))),{default:g(n=>[p(e.$slots,`default`,d(c(n)),()=>[o(h(y),d(c(s.areaProps)),{default:g(()=>[p(e.$slots,`preview`,d(c(n)),()=>[o(h(C),d(c(s.previewProps)),null,16)]),p(e.$slots,`input`,d(c(n)),()=>[o(h(S),d(c(s.inputProps)),null,16)]),a(`div`,{class:u(M.value.controls)},[p(e.$slots,`edit-trigger`,d(c(n)),()=>[o(h(x),d(c(s.editTriggerProps)),{default:g(()=>[o(t,{icon:`lucide:pencil-line`,"aria-hidden":!0})]),_:1},16)]),p(e.$slots,`submit-trigger`,d(c(n)),()=>[o(h(T),d(c(s.submitTriggerProps)),{default:g(()=>[o(t,{icon:`lucide:check`,"aria-hidden":!0})]),_:1},16)]),p(e.$slots,`cancel-trigger`,d(c(n)),()=>[o(h(b),d(c(s.cancelTriggerProps)),{default:g(()=>[o(t,{icon:`lucide:x`,"aria-hidden":!0})]),_:1},16)])],2)]),_:2},1040)])]),_:3},16))}});export{D as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{editableVariants as t}from"./variants.js";import{computed as n,createBlock as r,createSlots as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderList as u,renderSlot as d,toHandlers as f,unref as p,useSlots as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{keysOf as v}from"@soybeanjs/utils";import{EditableCompact as y,provideEditableUi as b}from"@soybeanjs/headless/editable";const x=a({name:`SEditable`,__name:`editable`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},areaProps:{},previewProps:{},inputProps:{},editTriggerProps:{},submitTriggerProps:{},cancelTriggerProps:{},defaultValue:{},modelValue:{},placeholder:{},dir:{},disabled:{type:Boolean},readonly:{type:Boolean},activationMode:{},selectOnFocus:{type:Boolean},submitMode:{},startWithEditMode:{type:Boolean},maxLength:{},autoResize:{type:Boolean},id:{},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`submit`,`update:state`],setup(a,{emit:x}){let S=a,C=x,w=m(),T=_(S,[`class`,`size`,`ui`]),E=g(C),D=n(()=>v(w));return b(n(()=>e(t({size:S.size}),S.ui,{root:S.class}))),(e,t)=>(l(),r(p(y),s(p(T),f(p(E))),i({_:2},[u(D.value,t=>({name:t,fn:h(n=>[d(e.$slots,t,c(o(n)))])}))]),1040))}});export{x as default};
@@ -1,70 +1,9 @@
1
- import { EditableProps } from "./types.js";
1
+ import { EditableProps, EditableSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/editable/editable.vue.d.ts
6
- declare var __VLS_8: {
7
- modelValue: string | undefined;
8
- inputValue: string;
9
- isEditing: boolean;
10
- isEmpty: boolean;
11
- edit: () => void;
12
- cancel: () => void;
13
- submit: () => void;
14
- }, __VLS_16: {
15
- modelValue: string | undefined;
16
- inputValue: string;
17
- isEditing: boolean;
18
- isEmpty: boolean;
19
- edit: () => void;
20
- cancel: () => void;
21
- submit: () => void;
22
- }, __VLS_23: {
23
- modelValue: string | undefined;
24
- inputValue: string;
25
- isEditing: boolean;
26
- isEmpty: boolean;
27
- edit: () => void;
28
- cancel: () => void;
29
- submit: () => void;
30
- }, __VLS_30: {
31
- modelValue: string | undefined;
32
- inputValue: string;
33
- isEditing: boolean;
34
- isEmpty: boolean;
35
- edit: () => void;
36
- cancel: () => void;
37
- submit: () => void;
38
- }, __VLS_43: {
39
- modelValue: string | undefined;
40
- inputValue: string;
41
- isEditing: boolean;
42
- isEmpty: boolean;
43
- edit: () => void;
44
- cancel: () => void;
45
- submit: () => void;
46
- }, __VLS_56: {
47
- modelValue: string | undefined;
48
- inputValue: string;
49
- isEditing: boolean;
50
- isEmpty: boolean;
51
- edit: () => void;
52
- cancel: () => void;
53
- submit: () => void;
54
- };
55
- type __VLS_Slots = {} & {
56
- default?: (props: typeof __VLS_8) => any;
57
- } & {
58
- preview?: (props: typeof __VLS_16) => any;
59
- } & {
60
- input?: (props: typeof __VLS_23) => any;
61
- } & {
62
- 'edit-trigger'?: (props: typeof __VLS_30) => any;
63
- } & {
64
- 'submit-trigger'?: (props: typeof __VLS_43) => any;
65
- } & {
66
- 'cancel-trigger'?: (props: typeof __VLS_56) => any;
67
- };
6
+ type __VLS_Slots = EditableSlots;
68
7
  declare const __VLS_base: _$vue.DefineComponent<EditableProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
69
8
  submit: (value: string) => any;
70
9
  "update:modelValue": (value: string) => any;
@@ -1,3 +1,3 @@
1
- import { EditableEmits, EditableExtendedUi, EditableExtraUiSlot, EditableProps, EditableUi } from "./types.js";
1
+ import { EditableEmits, EditableProps, EditableSlots } from "./types.js";
2
2
  import { _default } from "./editable.vue.js";
3
3
  export * from "@soybeanjs/headless/editable";
@@ -1,20 +1,12 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { EditableAreaProps, EditableCancelTriggerProps, EditableEditTriggerProps, EditableInputProps, EditablePreviewProps, EditableRootEmits, EditableRootProps, EditableSubmitTriggerProps, EditableUi, EditableUiSlot } from "@soybeanjs/headless/editable";
3
- import { ClassValue, UiClass } from "@soybeanjs/headless/types";
2
+ import { EditableCompactEmits, EditableCompactProps, EditableCompactSlots, EditableUi } from "@soybeanjs/headless/editable";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/editable/types.d.ts
6
- /**
7
- * Additional UI slots for the editable component.
8
- */
9
- type EditableExtraUiSlot = 'controls';
10
- /**
11
- * Extended UI class overrides for the Editable component.
12
- */
13
- type EditableExtendedUi = UiClass<EditableUiSlot | EditableExtraUiSlot>;
14
6
  /**
15
7
  * Properties for the Editable component.
16
8
  */
17
- interface EditableProps extends EditableRootProps {
9
+ interface EditableProps extends EditableCompactProps {
18
10
  /**
19
11
  * Additional class names applied to the root element.
20
12
  */
@@ -26,35 +18,15 @@ interface EditableProps extends EditableRootProps {
26
18
  /**
27
19
  * Per-slot class overrides for the component.
28
20
  */
29
- ui?: Partial<EditableExtendedUi>;
30
- /**
31
- * Properties forwarded to the area element.
32
- */
33
- areaProps?: EditableAreaProps;
34
- /**
35
- * Properties forwarded to the preview element.
36
- */
37
- previewProps?: EditablePreviewProps;
38
- /**
39
- * Properties forwarded to the input element.
40
- */
41
- inputProps?: EditableInputProps;
42
- /**
43
- * Properties forwarded to the edit trigger element.
44
- */
45
- editTriggerProps?: EditableEditTriggerProps;
46
- /**
47
- * Properties forwarded to the submit trigger element.
48
- */
49
- submitTriggerProps?: EditableSubmitTriggerProps;
50
- /**
51
- * Properties forwarded to the cancel trigger element.
52
- */
53
- cancelTriggerProps?: EditableCancelTriggerProps;
21
+ ui?: Partial<EditableUi>;
54
22
  }
55
23
  /**
56
24
  * Events for the Editable component.
57
25
  */
58
- type EditableEmits = EditableRootEmits;
26
+ type EditableEmits = EditableCompactEmits;
27
+ /**
28
+ * Slot properties for the Editable component.
29
+ */
30
+ type EditableSlots = EditableCompactSlots;
59
31
  //#endregion
60
- export { EditableEmits, EditableExtendedUi, EditableExtraUiSlot, EditableProps, type EditableUi };
32
+ export { EditableEmits, EditableProps, EditableSlots };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{emptyVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{EmptyCompact as g,provideEmptyUi as _}from"@soybeanjs/headless/empty";const v=a({name:`SEmpty`,__name:`empty`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},title:{},description:{},icon:{},headerProps:{},mediaProps:{},contentProps:{},titleProps:{},descriptionProps:{}},setup(a){let v=a,y=m(v,[`class`,`ui`,`size`]),b=f(),x=n(()=>h(b));return _(n(()=>e(t({size:v.size}),v.ui,{root:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(y))),i({_:2},[l(x.value,t=>({name:t,fn:p(()=>[u(e.$slots,t)])}))]),1040))}});export{v as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{emptyVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{EmptyCompact as g,provideEmptyUi as _}from"@soybeanjs/headless/empty";const v=a({name:`SEmpty`,__name:`empty`,props:{class:{type:[Boolean,null,String,Object,Array]},ui:{},size:{},title:{},description:{},icon:{},headerProps:{},mediaProps:{},contentProps:{},titleProps:{},descriptionProps:{}},setup(a){let v=a,y=m(v,[`class`,`ui`,`size`]),b=f(),x=n(()=>h(b));return _(n(()=>e(t({size:v.size}),v.ui,{root:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(y))),i({_:2},[l(x.value,t=>({name:t,fn:p(()=>[u(e.$slots,t)])}))]),1040))}});export{v as default};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex flex-col items-center justify-center min-w-0 grow rounded-md border border-dashed text-center`,header:`flex flex-col items-center max-w-sm text-center`,media:`flex shrink-0 items-center justify-center rounded-md bg-muted text-foreground`,title:`font-medium tracking-tight`,description:`leading-relaxed text-muted-foreground`,content:`flex w-full min-w-0 max-w-sm flex-col items-center`},variants:{size:{xs:{root:`text-2xs gap-3`,title:`text-xs`,header:`gap-1.5`,media:`mb-1.5`},sm:{root:`text-xs gap-3.5`,title:`text-sm`,header:`gap-1.75`,media:`mb-1.75`},md:{root:`text-sm gap-4`,title:`text-base`,header:`gap-2`,media:`mb-2 size-10`},lg:{root:`text-base gap-4.5`,title:`text-lg`,header:`gap-2.5`,media:`mb-2.5`},xl:{root:`text-lg gap-5`,title:`text-xl`,header:`gap-3`,media:`mb-3`},"2xl":{root:`text-xl gap-6`,title:`text-2xl`,header:`gap-3.5`,media:`mb-3.5`}}},defaultVariants:{size:`md`}});export{t as emptyVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`flex flex-col items-center justify-center min-w-0 grow rounded-md border border-dashed text-center`,header:`flex flex-col items-center max-w-sm text-center`,media:`flex shrink-0 items-center justify-center rounded-md bg-muted text-foreground`,title:`font-medium tracking-tight`,description:`leading-relaxed text-muted-foreground`,content:`flex w-full min-w-0 max-w-sm flex-col items-center`},variants:{size:{xs:{root:`text-2xs gap-3`,title:`text-xs`,header:`gap-1.5`,media:`my-1.5`},sm:{root:`text-xs gap-3.5`,title:`text-sm`,header:`gap-1.75`,media:`my-1.75`},md:{root:`text-sm gap-4`,title:`text-base`,header:`gap-2`,media:`my-2 size-10`},lg:{root:`text-base gap-4.5`,title:`text-lg`,header:`gap-2.5`,media:`my-2.5`},xl:{root:`text-lg gap-5`,title:`text-xl`,header:`gap-3`,media:`my-3`},"2xl":{root:`text-xl gap-6`,title:`text-2xl`,header:`gap-3.5`,media:`my-3.5`}}},defaultVariants:{size:`md`}});export{t as emptyVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{FormFieldArrayCompact as g,provideFormFieldUi as _}from"@soybeanjs/headless/form";const v=a({name:`SFormFieldArray`,__name:`form-field-array`,props:{name:{},orientation:{},label:{},description:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{},validate:{type:Function},reset:{type:Function},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(a){let v=a,y=f(),b=m(v,[`class`,`ui`,`size`]),x=n(()=>h(y));return _(n(()=>e(t({size:v.size}),v.ui,{field:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(b))),i({_:2},[l(x.value,t=>({name:t,fn:p(n=>[u(e.$slots,t,s(o(n)))])}))]),1040))}});export{v as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{FormFieldArrayCompact as g,provideFormFieldUi as _}from"@soybeanjs/headless/form";const v=a({name:`SFormFieldArray`,__name:`form-field-array`,props:{name:{},orientation:{},label:{},description:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{},validate:{type:Function},reset:{type:Function},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(a){let v=a,y=f(),b=m(v,[`class`,`ui`,`size`]),x=n(()=>h(y));return _(n(()=>e(t({size:v.size}),v.ui,{field:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(b))),i({_:2},[l(x.value,t=>({name:t,fn:p(n=>[u(e.$slots,t,s(o(n)))])}))]),1040))}});export{v as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{FormFieldBaseCompact as g,provideFormFieldUi as _}from"@soybeanjs/headless/form";const v=a({name:`SFormFieldBase`,__name:`form-field-base`,props:{error:{},isFieldArray:{type:Boolean},orientation:{},label:{},description:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(a){let v=a,y=f(),b=m(v,[`class`,`ui`,`size`]),x=n(()=>h(y));return _(n(()=>e(t({size:v.size}),v.ui,{field:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(b))),i({_:2},[l(x.value,t=>({name:t,fn:p(()=>[u(e.$slots,t)])}))]),1040))}});export{v as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{FormFieldBaseCompact as g,provideFormFieldUi as _}from"@soybeanjs/headless/form";const v=a({name:`SFormFieldBase`,__name:`form-field-base`,props:{error:{},isFieldArray:{type:Boolean},orientation:{},label:{},description:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(a){let v=a,y=f(),b=m(v,[`class`,`ui`,`size`]),x=n(()=>h(y));return _(n(()=>e(t({size:v.size}),v.ui,{field:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(b))),i({_:2},[l(x.value,t=>({name:t,fn:p(()=>[u(e.$slots,t)])}))]),1040))}});export{v as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{FormFieldCompact as g,provideFormFieldUi as _}from"@soybeanjs/headless/form";const v=a({name:`SFormField`,__name:`form-field`,props:{name:{},orientation:{},label:{},description:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{},validate:{type:Function},reset:{type:Function},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(a){let v=a,y=f(),b=m(v,[`class`,`ui`,`size`]),x=n(()=>h(y));return _(n(()=>e(t({size:v.size}),v.ui,{field:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(b))),i({_:2},[l(x.value,t=>({name:t,fn:p(n=>[u(e.$slots,t,s(o(n)))])}))]),1040))}});export{v as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants 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,renderList as l,renderSlot as u,unref as d,useSlots as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{keysOf as h}from"@soybeanjs/utils";import{FormFieldCompact as g,provideFormFieldUi as _}from"@soybeanjs/headless/form";const v=a({name:`SFormField`,__name:`form-field`,props:{name:{},orientation:{},label:{},description:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{},validate:{type:Function},reset:{type:Function},class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{}},setup(a){let v=a,y=f(),b=m(v,[`class`,`ui`,`size`]),x=n(()=>h(y));return _(n(()=>e(t({size:v.size}),v.ui,{field:v.class}))),(e,t)=>(c(),r(d(g),s(o(d(b))),i({_:2},[l(x.value,t=>({name:t,fn:p(n=>[u(e.$slots,t,s(o(n)))])}))]),1040))}});export{v as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,normalizeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{FormCompact as f,provideFormUi as p}from"@soybeanjs/headless/form";const m=i({name:`SForm`,__name:`form`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},fieldProps:{},fieldArrayProps:{},orientation:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{}},setup(i){let m=i,h=d(m,[`ui`,`class`,`size`]);return p(n(()=>e(t({size:m.size}),m.ui,{form:m.class}))),(e,t)=>(s(),r(l(f),o(a(l(h))),{default:u(()=>[c(e.$slots,`default`)]),_:3},16))}});export{m as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,normalizeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{FormCompact as f,provideFormUi as p}from"@soybeanjs/headless/form";const m=i({name:`SForm`,__name:`form`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},fieldProps:{},fieldArrayProps:{},orientation:{},labelProps:{},controlProps:{},descriptionProps:{},errorProps:{}},setup(i){let m=i,h=d(m,[`ui`,`class`,`size`]);return p(n(()=>e(t({size:m.size}),m.ui,{form:m.class}))),(e,t)=>(s(),r(l(f),o(a(l(h))),{default:u(()=>[c(e.$slots,`default`)]),_:3},16))}});export{m as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{hoverCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toHandlers as f,unref as p,withCtx as m}from"vue";import{useForwardListeners as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{HoverCardArrow as _,HoverCardPopup as v,HoverCardPortal as y,HoverCardPositioner as b,HoverCardRoot as x,HoverCardTrigger as S,provideHoverCardUi as C}from"@soybeanjs/headless/hover-card";const w=o({name:`SHoverCard`,__name:`hover-card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},openDelay:{},closeDelay:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`],setup(o,{emit:w}){let T=o,E=w,D=g(T,[`class`,`size`,`ui`,`placement`,`showArrow`,`positionerProps`,`popupProps`,`triggerProps`,`portalProps`,`arrowProps`]),O=h(E),k=n(()=>e(t({size:T.size}),T.ui,{popup:T.class})),A=n(()=>({...T.positionerProps,placement:T.placement??T.positionerProps?.placement}));return C(k),(e,t)=>(u(),r(p(x),c(p(D),{"onUpdate:open":t[0]||=e=>E(`update:open`,e)}),{default:m(()=>[a(p(S),c(o.triggerProps,{"as-child":``}),{default:m(()=>[d(e.$slots,`trigger`)]),_:3},16),a(p(y),l(s(o.portalProps)),{default:m(()=>[a(p(b),c(A.value,f(p(O))),{default:m(()=>[a(p(v),l(s(o.popupProps)),{default:m(()=>[d(e.$slots,`default`),o.showArrow?(u(),r(p(_),l(c({key:0},o.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{w as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{hoverCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,toHandlers as c,unref as l,withCtx as u}from"vue";import{useForwardListeners as d,useOmitProps as f}from"@soybeanjs/headless/composables";import{HoverCardCompact as p,provideHoverCardUi as m}from"@soybeanjs/headless/hover-card";const h=i({name:`SHoverCard`,__name:`hover-card`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},triggerProps:{},portalProps:{},positionerProps:{},popupProps:{},arrowProps:{},defaultOpen:{type:Boolean},open:{type:Boolean,default:void 0},openDelay:{},closeDelay:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`size`,`ui`]),y=d(_);return m(n(()=>e(t({size:g.size}),g.ui,{popup:g.class}))),(e,t)=>(o(),r(l(p),a(l(v),c(l(y))),{trigger:u(()=>[s(e.$slots,`trigger`)]),default:u(()=>[s(e.$slots,`default`)]),_:3},16))}});export{h as default};
@@ -1,14 +1,9 @@
1
- import { HoverCardProps } from "./types.js";
1
+ import { HoverCardProps, HoverCardSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/hover-card/hover-card.vue.d.ts
6
- declare var __VLS_16: {}, __VLS_36: {};
7
- type __VLS_Slots = {} & {
8
- trigger?: (props: typeof __VLS_16) => any;
9
- } & {
10
- default?: (props: typeof __VLS_36) => any;
11
- };
6
+ type __VLS_Slots = HoverCardSlots;
12
7
  declare const __VLS_base: _$vue.DefineComponent<HoverCardProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
13
8
  "update:open": (value: boolean) => any;
14
9
  escapeKeyDown: (event: KeyboardEvent) => any;
@@ -21,7 +16,6 @@ declare const __VLS_base: _$vue.DefineComponent<HoverCardProps, {}, {}, {}, {},
21
16
  onFocusOutside?: ((event: _$_soybeanjs_headless0.FocusOutsideEvent) => any) | undefined;
22
17
  }>, {
23
18
  open: boolean;
24
- defaultOpen: boolean;
25
19
  showArrow: boolean;
26
20
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
27
21
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,3 +1,3 @@
1
- import { HoverCardEmits, HoverCardProps } from "./types.js";
1
+ import { HoverCardEmits, HoverCardProps, HoverCardSlots } from "./types.js";
2
2
  import { _default } from "./hover-card.vue.js";
3
3
  export * from "@soybeanjs/headless/hover-card";
@@ -1,12 +1,12 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { HoverCardArrowProps, HoverCardPopupProps, HoverCardPortalProps, HoverCardPositionerEmits, HoverCardPositionerProps, HoverCardRootEmits, HoverCardRootProps, HoverCardTriggerProps, HoverCardUi } from "@soybeanjs/headless/hover-card";
3
- import { ClassValue, Placement } from "@soybeanjs/headless/types";
2
+ import { HoverCardCompactEmits, HoverCardCompactProps, HoverCardCompactSlots, HoverCardUi } from "@soybeanjs/headless/hover-card";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/hover-card/types.d.ts
6
6
  /**
7
7
  * Properties for the HoverCard component.
8
8
  */
9
- interface HoverCardProps extends HoverCardRootProps {
9
+ interface HoverCardProps extends HoverCardCompactProps {
10
10
  /**
11
11
  * class of popup
12
12
  */
@@ -19,38 +19,14 @@ interface HoverCardProps extends HoverCardRootProps {
19
19
  * Per-slot class overrides for the component.
20
20
  */
21
21
  ui?: Partial<HoverCardUi>;
22
- /**
23
- * Placement.
24
- */
25
- placement?: Placement;
26
- /**
27
- * Whether to show an arrow.
28
- */
29
- showArrow?: boolean;
30
- /**
31
- * Properties forwarded to the positioner element.
32
- */
33
- positionerProps?: HoverCardPositionerProps;
34
- /**
35
- * Properties forwarded to the popup element.
36
- */
37
- popupProps?: HoverCardPopupProps;
38
- /**
39
- * Properties forwarded to the trigger element.
40
- */
41
- triggerProps?: HoverCardTriggerProps;
42
- /**
43
- * Properties forwarded to the portal element.
44
- */
45
- portalProps?: HoverCardPortalProps;
46
- /**
47
- * Properties forwarded to the arrow element.
48
- */
49
- arrowProps?: HoverCardArrowProps;
50
22
  }
51
23
  /**
52
24
  * Events for the HoverCard component.
53
25
  */
54
- type HoverCardEmits = HoverCardRootEmits & HoverCardPositionerEmits;
26
+ type HoverCardEmits = HoverCardCompactEmits;
27
+ /**
28
+ * Slots for the HoverCard component.
29
+ */
30
+ type HoverCardSlots = HoverCardCompactSlots;
55
31
  //#endregion
56
- export { HoverCardEmits, HoverCardProps };
32
+ export { HoverCardEmits, HoverCardProps, HoverCardSlots };
@@ -1,5 +1,5 @@
1
1
  import { IconProps } from "@iconify/vue";
2
- import { IconValue } from "@soybeanjs/headless/_icon";
2
+ import { IconValue } from "@soybeanjs/headless";
3
3
 
4
4
  //#region src/components/icon/types.d.ts
5
5
  /**
@@ -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{inputVariants as i}from"./variants.js";import{computed as a,createBlock as o,createSlots as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderList as p,renderSlot as m,unref as h,useSlots as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{InputCompact as b,provideInputUi as x}from"@soybeanjs/headless/input";const S=c({name:`SInput`,__name:`input`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},clearProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(c,{emit:S}){let C=c,w=S,T=v(C,[`class`,`size`,`ui`]),E=g(),D=a(()=>y(E));return x(a(()=>{let a=i({size:C.size}),o=n[C.size??`md`];return t(e(a,{clearable:r({size:o,color:`accent`,variant:`ghost`,shape:`circle`,fitContent:!0})}),C.ui,{root:C.class})})),(e,t)=>(f(),o(h(b),u(h(T),{"onUpdate:modelValue":t[0]||=e=>w(`update:modelValue`,e)}),s({_:2},[p(D.value,t=>({name:t,fn:_(n=>[m(e.$slots,t,d(l(n)))])}))]),1040))}});export{S 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{inputVariants 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,unref as m,useSlots as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{keysOf as v}from"@soybeanjs/utils";import{InputCompact as y,provideInputUi as b}from"@soybeanjs/headless/input";const x=s({name:`SInput`,__name:`input`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},inputRef:{type:Function},clearable:{type:Boolean},controlProps:{},clearProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:x}){let S=s,C=x,w=_(S,[`class`,`size`,`ui`]),T=h(),E=i(()=>v(T));return b(i(()=>{let i=t[S.size??`md`];return e(Object.assign(r({size:S.size}),{$base:{clear:n({size:i,shape:`circle`})}}),S.ui,{root:S.class})})),(e,t)=>(d(),a(m(y),l(m(w),{"onUpdate:modelValue":t[0]||=e=>C(`update:modelValue`,e)}),o({_:2},[f(E.value,t=>({name:t,fn:g(n=>[p(e.$slots,t,u(c(n)))])}))]),1040))}});export{x as default};
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group flex items-center w-full rounded-md border border-solid border-input bg-background transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`],control:[`grow bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`,`file:border-0 file:bg-transparent file:font-medium`],clearable:[`hidden shrink-0 opacity-50`,`group-hover:inline-flex group-focus-within:inline-flex hover:opacity-100 focus-visible:opacity-100`],visible:`cursor-pointer`},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`,control:`file:py-1.25`},sm:{root:`h-7 px-2 text-xs gap-1.5`,control:`file:py-1.25`},md:{root:`h-8 px-2.5 text-sm gap-2`,control:`file:py-1.25`},lg:{root:`h-9 px-3 text-base gap-2.5`,control:`file:py-1.25`},xl:{root:`h-10 px-3.5 text-lg gap-3`,control:`file:py-1.25`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`,control:`file:py-2`}}},defaultVariants:{size:`md`}});export{t as inputVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group flex items-center w-full rounded-md border border-solid border-input bg-background transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`],control:[`grow min-w-0 h-full bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`,`file:border-0 file:bg-transparent file:font-medium`],clear:[`hidden shrink-0 opacity-50`,`group-hover:inline-flex group-focus-within:inline-flex hover:opacity-100 focus-visible:opacity-100`],visible:`shrink-0 cursor-pointer`},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`,control:`file:py-1.25`},sm:{root:`h-7 px-2 text-xs gap-1.5`,control:`file:py-1.25`},md:{root:`h-8 px-2.5 text-sm gap-2`,control:`file:py-1.25`},lg:{root:`h-9 px-3 text-base gap-2.5`,control:`file:py-1.25`},xl:{root:`h-10 px-3.5 text-lg gap-3`,control:`file:py-1.25`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`,control:`file:py-2`}}},defaultVariants:{size:`md`}});export{t as inputVariants};
@@ -1,3 +1,3 @@
1
- import { InputNumberEmits, InputNumberProps } from "./types.js";
1
+ import { InputNumberEmits, InputNumberProps, InputNumberSlots } from "./types.js";
2
2
  import { _default } from "./input-number.vue.js";
3
3
  export * from "@soybeanjs/headless/input-number";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputNumberVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{InputNumberControl as v,InputNumberDecrement as y,InputNumberIncrement as b,InputNumberRoot as x,provideInputNumberUi as S}from"@soybeanjs/headless/input-number";const C=s({name:`SInputNumber`,__name:`input-number`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},center:{type:Boolean},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},incrementProps:{},decrementProps:{},defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:C}){let w=s,T=C,[E,D]=g(e=>w.inputRef?.(e)),O=_(w,[`class`,`size`,`ui`,`center`,`clearable`,`inputRef`,`controlProps`,`incrementProps`,`decrementProps`]),k=r(()=>e(n({size:w.size,center:w.center}),w.ui,{root:w.class}));return S(k),(e,n)=>(f(),i(m(x),l(m(O),{"onUpdate:modelValue":n[0]||=e=>T(`update:modelValue`,e)}),{default:h(({clear:n})=>[p(e.$slots,`leading`),o(m(v),l(s.controlProps,{ref:m(D)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(k.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),p(e.$slots,`trailing`),o(m(y),d(c(s.decrementProps)),{default:h(()=>[p(e.$slots,`decrement`,{},()=>[o(t,{icon:`lucide:minus`})])]),_:3},16),o(m(b),d(c(s.incrementProps)),{default:h(()=>[p(e.$slots,`increment`,{},()=>[o(t,{icon:`lucide:plus`})])]),_:3},16)]),_:3},16))}});export{C 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{inputNumberVariants 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,unref as m,useSlots as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{keysOf as v}from"@soybeanjs/utils";import{InputNumberCompact as y,provideInputNumberUi as b}from"@soybeanjs/headless/input-number";const x=s({name:`SInputNumber`,__name:`input-number`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},center:{type:Boolean},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},incrementProps:{},decrementProps:{},clearProps:{},defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`clear`],setup(s,{emit:x}){let S=s,C=x,w=_(S,[`class`,`size`,`ui`,`center`]),T=h(),E=i(()=>v(T));return b(i(()=>{let i=t[S.size??`md`];return e(Object.assign(r({size:S.size,center:S.center}),{$base:{decrement:n({size:i}),increment:n({size:i}),clear:n({size:i,shape:`circle`})}}),S.ui,{root:S.class})})),(e,t)=>(d(),a(m(y),l(m(w),{"onUpdate:modelValue":t[0]||=e=>C(`update:modelValue`,e)}),o({_:2},[f(E.value,t=>({name:t,fn:g(n=>[p(e.$slots,t,u(c(n)))])}))]),1040))}});export{x as default};
@@ -1,21 +1,14 @@
1
- import { InputNumberProps } from "./types.js";
1
+ import { InputNumberProps, InputNumberSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/input-number/input-number.vue.d.ts
5
- declare var __VLS_10: {}, __VLS_24: {}, __VLS_32: {}, __VLS_45: {};
6
- type __VLS_Slots = {} & {
7
- leading?: (props: typeof __VLS_10) => any;
8
- } & {
9
- trailing?: (props: typeof __VLS_24) => any;
10
- } & {
11
- decrement?: (props: typeof __VLS_32) => any;
12
- } & {
13
- increment?: (props: typeof __VLS_45) => any;
14
- };
5
+ type __VLS_Slots = InputNumberSlots;
15
6
  declare const __VLS_base: _$vue.DefineComponent<InputNumberProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
16
- "update:modelValue": (val: number) => any;
7
+ clear: (event: PointerEvent) => any;
8
+ "update:modelValue": (val: number | null) => any;
17
9
  }, string, _$vue.PublicProps, Readonly<InputNumberProps> & Readonly<{
18
- "onUpdate:modelValue"?: ((val: number) => any) | undefined;
10
+ onClear?: ((event: PointerEvent) => any) | undefined;
11
+ "onUpdate:modelValue"?: ((val: number | null) => any) | undefined;
19
12
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
20
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
14
  declare const _default: typeof __VLS_export;
@@ -1,12 +1,12 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { InputNumberControlProps, InputNumberDecrementProps, InputNumberIncrementProps, InputNumberRootEmits, InputNumberRootProps, InputNumberUi } from "@soybeanjs/headless/input-number";
2
+ import { InputNumberCompactEmits, InputNumberCompactProps, InputNumberCompactSlots, InputNumberUi } from "@soybeanjs/headless/input-number";
3
3
  import { ClassValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/input-number/types.d.ts
6
6
  /**
7
7
  * Properties for the InputNumber component.
8
8
  */
9
- interface InputNumberProps extends InputNumberRootProps {
9
+ interface InputNumberProps extends InputNumberCompactProps {
10
10
  /**
11
11
  * Additional class names applied to the root element.
12
12
  */
@@ -25,30 +25,14 @@ interface InputNumberProps extends InputNumberRootProps {
25
25
  * @defaultValue false
26
26
  */
27
27
  center?: boolean;
28
- /** Whether to show the clear icon */
29
- clearable?: boolean;
30
- /**
31
- * The function to set the input element.
32
- *
33
- * @param el - The input element.
34
- */
35
- inputRef?: (el: HTMLInputElement) => void;
36
- /**
37
- * Properties forwarded to the control element.
38
- */
39
- controlProps?: InputNumberControlProps;
40
- /**
41
- * Properties forwarded to the increment element.
42
- */
43
- incrementProps?: InputNumberIncrementProps;
44
- /**
45
- * Properties forwarded to the decrement element.
46
- */
47
- decrementProps?: InputNumberDecrementProps;
48
28
  }
49
29
  /**
50
30
  * Events for the InputNumber component.
51
31
  */
52
- type InputNumberEmits = InputNumberRootEmits;
32
+ type InputNumberEmits = InputNumberCompactEmits;
33
+ /**
34
+ * Slots for the InputNumber component.
35
+ */
36
+ type InputNumberSlots = InputNumberCompactSlots;
53
37
  //#endregion
54
- export { InputNumberEmits, InputNumberProps };
38
+ export { InputNumberEmits, InputNumberProps, InputNumberSlots };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group flex items-center w-full rounded-md border border-input bg-background transition-all-150 focus-within:border-input focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30 disabled:cursor-not-allowed disabled:opacity-50`,decrement:`flex h-full shrink-0 items-center justify-center text-muted-foreground bg-transparent outline-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-20`,increment:`flex h-full shrink-0 items-center justify-center text-muted-foreground bg-transparent outline-none cursor-pointer disabled:cursor-not-allowed disabled:opacity-20`,control:[`h-full w-full grow bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`],clearable:`hidden group-hover:block size-1em cursor-pointer opacity-50 hover:opacity-100`},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`,decrement:`p-0.75`,increment:`p-0.75`},sm:{root:`h-7 px-2 text-xs gap-1.5`,decrement:`p-1`,increment:`p-1`},md:{root:`h-8 px-2.5 text-sm gap-2`,decrement:`p-1.25`,increment:`p-1.25`},lg:{root:`h-9 px-3 text-base gap-2.5`,decrement:`p-1.5`,increment:`p-1.5`},xl:{root:`h-10 px-3.5 text-lg gap-3`,decrement:`p-1.75`,increment:`p-1.75`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`,decrement:`p-2`,increment:`p-2`}},center:{true:{decrement:`-order-1`,control:`text-center`}}},defaultVariants:{size:`md`,center:!1}});export{t as inputNumberVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`group flex items-center w-full rounded-md border border-input bg-background transition-all-150 focus-within:border-input focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30 disabled:cursor-not-allowed disabled:opacity-50`,decrement:`shrink-0`,increment:`shrink-0`,control:[`grow min-w-0 h-full bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`],clear:[`hidden shrink-0 opacity-50`,`group-hover:inline-flex group-focus-within:inline-flex hover:opacity-100 focus-visible:opacity-100`]},variants:{size:{xs:{root:`h-6 px-1.5 text-2xs gap-1`},sm:{root:`h-7 px-2 text-xs gap-1.5`},md:{root:`h-8 px-2.5 text-sm gap-2`},lg:{root:`h-9 px-3 text-base gap-2.5`},xl:{root:`h-10 px-3.5 text-lg gap-3`},"2xl":{root:`h-12 px-4 text-xl gap-3.5`}},center:{true:{decrement:`-order-1`,control:`text-center`}}},defaultVariants:{size:`md`,center:!1}});export{t as inputNumberVariants};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{inputOtpVariants 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{InputOtpCompact as h,provideInputOtpUi as g}from"@soybeanjs/headless/input-otp";const _=i({name:`SInputOtp`,__name:`input-otp`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},align:{},ui:{},id:{},autocomplete:{},autofocus:{type:Boolean},disabled:{type:Boolean},minlength:{},placeholder:{},readonly:{type:Boolean},"aria-label":{},modelValue:{},defaultValue:{},maxlength:{},inputmode:{},pattern:{},pushPasswordManagerStrategy:{},pasteTransformer:{type:Function},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`complete`,`input`,`change`,`select`,`focus`,`blur`,`mouseover`,`mouseleave`,`paste`],setup(i,{emit:_}){let v=i,y=p(_),b=m(v,[`class`,`size`,`align`,`ui`]);return g(n(()=>e(t({size:v.size,align:v.align}),v.ui,{root:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(y))),{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{inputOtpVariants 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{InputOtpCompact as h,provideInputOtpUi as g}from"@soybeanjs/headless/input-otp";const _=i({name:`SInputOtp`,__name:`input-otp`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},align:{},ui:{},id:{},autocomplete:{},autofocus:{type:Boolean},disabled:{type:Boolean},minlength:{},placeholder:{},readonly:{type:Boolean},"aria-label":{},modelValue:{},defaultValue:{},maxlength:{},inputmode:{},pattern:{},pushPasswordManagerStrategy:{},pasteTransformer:{type:Function},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`complete`,`input`,`change`,`select`,`focus`,`blur`,`mouseover`,`mouseleave`,`paste`],setup(i,{emit:_}){let v=i,y=p(_),b=m(v,[`class`,`size`,`align`,`ui`]);return g(n(()=>e(t({size:v.size,align:v.align}),v.ui,{root:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(y))),{default:f(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{_ as default};
@@ -6,24 +6,24 @@ type __VLS_Slots = InputOtpSlots;
6
6
  declare const __VLS_base: _$vue.DefineComponent<InputOtpProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
7
  input: (value: string) => any;
8
8
  select: (event: Event) => any;
9
- "update:modelValue": (value: string) => any;
10
9
  blur: (event: FocusEvent) => any;
11
10
  change: (event: Event) => any;
12
11
  focus: (event: FocusEvent) => any;
13
12
  mouseleave: (event: MouseEvent) => any;
14
13
  mouseover: (event: MouseEvent) => any;
15
14
  paste: (event: ClipboardEvent) => any;
15
+ "update:modelValue": (value: string) => any;
16
16
  complete: (value: string) => any;
17
17
  }, string, _$vue.PublicProps, Readonly<InputOtpProps> & Readonly<{
18
18
  onInput?: ((value: string) => any) | undefined;
19
19
  onSelect?: ((event: Event) => any) | undefined;
20
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
21
20
  onBlur?: ((event: FocusEvent) => any) | undefined;
22
21
  onChange?: ((event: Event) => any) | undefined;
23
22
  onFocus?: ((event: FocusEvent) => any) | undefined;
24
23
  onMouseleave?: ((event: MouseEvent) => any) | undefined;
25
24
  onMouseover?: ((event: MouseEvent) => any) | undefined;
26
25
  onPaste?: ((event: ClipboardEvent) => any) | undefined;
26
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
27
27
  onComplete?: ((value: string) => any) | undefined;
28
28
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
29
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{themeSizeMap as n,themeSizeRatio as r}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as i}from"../button/variants.js";import{drawerVariants as a}from"../drawer/variants.js";import{layoutClassicVariants 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,unref as _,useSlots as v,withCtx as y}from"vue";import{useOmitProps as b}from"@soybeanjs/headless/composables";import{keysOf as x}from"@soybeanjs/utils";import{LayoutClassicCompact as S,provideLayoutClassicUi as C}from"@soybeanjs/headless/layout";const w=u({name:`SLayoutClassic`,__name:`layout-classic`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`md`},ui:{},orientation:{},scrollBehavior:{},scrollId:{},baseZIndex:{},fixedTop:{type:Boolean,default:!0},fixedFooter:{type:Boolean},stretchFooter:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!0},side:{},sidebarVisible:{type:Boolean,default:!0},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerVisible:{type:Boolean,default:!0},headerHeight:{},tabVisible:{type:Boolean,default:!0},tabHeight:{},footerVisible:{type:Boolean,default:!0},footerHeight:{},fullContent:{type:Boolean},pxToRem:{},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{}},emits:[`update:open`],setup(u,{emit:w}){let T=u,E=w,D=v(),O=b(T,[`class`,`size`,`ui`,`pxToRem`]),k=s(()=>x(D).filter(e=>e!==`sidebar`)),A=e=>T.pxToRem?T.pxToRem(e):e*r[T.size]/n.md;return C(s(()=>{let n=o({size:T.size,side:T.side,fullContent:T.fullContent}),r=a({size:T.size,side:T.side}),s=i({size:T.size,color:`accent`,variant:`ghost`,shape:`square`,fitContent:!0});return t(e(n,{mobileDrawer:r.popup(),trigger:s}),T.ui,{root:T.class})})),(e,t)=>(m(),c(_(S),f(_(O),{"px-to-rem":A,"onUpdate:open":t[0]||=e=>E(`update:open`,e)}),l({sidebar:y(t=>[g(e.$slots,`sidebar`,p(d(t)))]),_:2},[h(k.value,t=>({name:t,fn:y(()=>[g(e.$slots,t)])}))]),1040))}});export{w as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import"../../theme/index.js";import{buttonIconVariants as r}from"../button/variants.js";import{drawerVariants as i}from"../drawer/variants.js";import{layoutClassicVariants as a}from"./variants.js";import{computed as o,createBlock as s,createSlots as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,useSlots as _,withCtx as v}from"vue";import{useOmitProps as y}from"@soybeanjs/headless/composables";import{keysOf as b}from"@soybeanjs/utils";import{LayoutClassicCompact as x,provideLayoutClassicUi as S}from"@soybeanjs/headless/layout";const C=l({name:`SLayoutClassic`,__name:`layout-classic`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`md`},ui:{},orientation:{},scrollBehavior:{},scrollId:{},baseZIndex:{},fixedTop:{type:Boolean,default:!0},fixedFooter:{type:Boolean},stretchFooter:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!0},side:{},sidebarVisible:{type:Boolean,default:!0},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerVisible:{type:Boolean,default:!0},headerHeight:{},tabVisible:{type:Boolean,default:!0},tabHeight:{},footerVisible:{type:Boolean,default:!0},footerHeight:{},fullContent:{type:Boolean},pxToRem:{},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{}},emits:[`update:open`],setup(l,{emit:C}){let w=l,T=C,E=_(),D=y(w,[`class`,`size`,`ui`,`pxToRem`]),O=o(()=>b(E).filter(e=>e!==`sidebar`)),k=e=>w.pxToRem?w.pxToRem(e):e*n[w.size]/t.md;return S(o(()=>e(Object.assign(a({size:w.size,side:w.side,fullContent:w.fullContent}),{$base:{trigger:r({size:w.size})},$alias:{variants:{...i({size:w.size,side:w.side})},map:{popup:`mobileDrawer`}}}),w.ui,{root:w.class}))),(e,t)=>(p(),s(g(x),d(g(D),{"px-to-rem":k,"onUpdate:open":t[0]||=e=>T(`update:open`,e)}),c({sidebar:v(t=>[h(e.$slots,`sidebar`,f(u(t)))]),_:2},[m(O.value,t=>({name:t,fn:v(()=>[h(e.$slots,t)])}))]),1040))}});export{C as default};
@@ -1 +1 @@
1
- import{mergeBaseVariants as e,mergeSlotVariants as t}from"../../theme/shared.js";import{themeSizeMap as n,themeSizeRatio as r}from"../../theme/config.js";import"../../theme/index.js";import{buttonVariants as i}from"../button/variants.js";import{drawerVariants as a}from"../drawer/variants.js";import{layoutVariants 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,unref as _,useSlots as v,withCtx as y}from"vue";import{useOmitProps as b}from"@soybeanjs/headless/composables";import{keysOf as x}from"@soybeanjs/utils";import{LayoutCompact as S,provideLayoutUi as C}from"@soybeanjs/headless/layout";const w=u({name:`SLayout`,__name:`layout`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`md`},ui:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!0},side:{},variant:{},collapsible:{},sidebarVisible:{type:Boolean,default:!0},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerVisible:{type:Boolean,default:!0},headerHeight:{},tabVisible:{type:Boolean,default:!0},tabHeight:{},footerVisible:{type:Boolean,default:!0},footerHeight:{},fullContent:{type:Boolean},pxToRem:{},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{}},emits:[`update:open`],setup(u,{emit:w}){let T=u,E=w,D=v(),O=b(T,[`class`,`size`,`ui`,`pxToRem`]),k=s(()=>x(D).filter(e=>e!==`sidebar`)),A=e=>T.pxToRem?T.pxToRem(e):e*r[T.size]/n.md;return C(s(()=>{let n=o({size:T.size,variant:T.variant,side:T.side,collapsible:T.collapsible,fullContent:T.fullContent}),r=a({size:T.size,side:T.side}),s=i({size:T.size,color:`accent`,variant:`ghost`,shape:`square`,fitContent:!0});return t(e(n,{mobileDrawer:r.popup(),trigger:s}),T.ui,{root:T.class})})),(e,t)=>(m(),c(_(S),f(_(O),{"px-to-rem":A,"onUpdate:open":t[0]||=e=>E(`update:open`,e)}),l({sidebar:y(t=>[g(e.$slots,`sidebar`,p(d(t)))]),_:2},[h(k.value,t=>({name:t,fn:y(()=>[g(e.$slots,t)])}))]),1040))}});export{w as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import"../../theme/index.js";import{buttonIconVariants as r}from"../button/variants.js";import{drawerVariants as i}from"../drawer/variants.js";import{layoutVariants as a}from"./variants.js";import{computed as o,createBlock as s,createSlots as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,useSlots as _,withCtx as v}from"vue";import{useOmitProps as y}from"@soybeanjs/headless/composables";import{keysOf as b}from"@soybeanjs/utils";import{LayoutCompact as x,provideLayoutUi as S}from"@soybeanjs/headless/layout";const C=l({name:`SLayout`,__name:`layout`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{default:`md`},ui:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!0},side:{},variant:{},collapsible:{},sidebarVisible:{type:Boolean,default:!0},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerVisible:{type:Boolean,default:!0},headerHeight:{},tabVisible:{type:Boolean,default:!0},tabHeight:{},footerVisible:{type:Boolean,default:!0},footerHeight:{},fullContent:{type:Boolean},pxToRem:{},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{}},emits:[`update:open`],setup(l,{emit:C}){let w=l,T=C,E=_(),D=y(w,[`class`,`size`,`ui`,`pxToRem`]),O=o(()=>b(E).filter(e=>e!==`sidebar`)),k=e=>w.pxToRem?w.pxToRem(e):e*n[w.size]/t.md;return S(o(()=>e(Object.assign(a({size:w.size,variant:w.variant,side:w.side,collapsible:w.collapsible,fullContent:w.fullContent}),{$base:{trigger:r({size:w.size})},$alias:{variants:{...i({size:w.size,side:w.side})},map:{popup:`mobileDrawer`}}}),w.ui,{root:w.class}))),(e,t)=>(p(),s(g(x),d(g(D),{"px-to-rem":k,"onUpdate:open":t[0]||=e=>T(`update:open`,e)}),c({sidebar:v(t=>[h(e.$slots,`sidebar`,f(u(t)))]),_:2},[m(O.value,t=>({name:t,fn:v(()=>[h(e.$slots,t)])}))]),1040))}});export{C as default};