@soybeanjs/ui 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +1 -0
  2. package/dist/components/accordion/accordion.js +1 -1
  3. package/dist/components/accordion/accordion.vue.d.ts +1 -1
  4. package/dist/components/accordion/index.d.ts +1 -2
  5. package/dist/components/accordion/types.d.ts +17 -1
  6. package/dist/components/affix/affix.js +1 -1
  7. package/dist/components/affix/index.d.ts +2 -1
  8. package/dist/components/affix/types.d.ts +10 -1
  9. package/dist/components/alert/alert.js +1 -1
  10. package/dist/components/alert/index.d.ts +1 -2
  11. package/dist/components/alert/types.d.ts +25 -1
  12. package/dist/components/anchor/anchor.js +1 -1
  13. package/dist/components/anchor/anchor.vue.d.ts +1 -1
  14. package/dist/components/anchor/index.d.ts +2 -3
  15. package/dist/components/anchor/types.d.ts +30 -3
  16. package/dist/components/autocomplete/autocomplete.js +1 -1
  17. package/dist/components/autocomplete/autocomplete.vue.d.ts +2 -1
  18. package/dist/components/autocomplete/index.d.ts +2 -3
  19. package/dist/components/autocomplete/types.d.ts +18 -4
  20. package/dist/components/avatar/avatar.js +1 -1
  21. package/dist/components/avatar/index.d.ts +1 -2
  22. package/dist/components/avatar/types.d.ts +23 -1
  23. package/dist/components/backtop/backtop.vue.d.ts +3 -3
  24. package/dist/components/backtop/index.d.ts +2 -2
  25. package/dist/components/backtop/types.d.ts +28 -1
  26. package/dist/components/badge/badge.js +1 -1
  27. package/dist/components/badge/index.d.ts +1 -2
  28. package/dist/components/badge/types.d.ts +26 -1
  29. package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
  30. package/dist/components/bottom-sheet/index.d.ts +2 -1
  31. package/dist/components/bottom-sheet/types.d.ts +17 -1
  32. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  33. package/dist/components/breadcrumb/index.d.ts +3 -2
  34. package/dist/components/breadcrumb/types.d.ts +16 -1
  35. package/dist/components/button/button-group.js +1 -1
  36. package/dist/components/button/button-icon.vue.d.ts +1 -1
  37. package/dist/components/button/button-link.vue.d.ts +1 -1
  38. package/dist/components/button/button-loading.vue.d.ts +1 -1
  39. package/dist/components/button/button.js +1 -1
  40. package/dist/components/button/types.d.ts +40 -3
  41. package/dist/components/calendar/calendar.js +1 -1
  42. package/dist/components/calendar/index.d.ts +1 -2
  43. package/dist/components/calendar/types.d.ts +20 -1
  44. package/dist/components/card/card-collapsible-trigger.js +1 -1
  45. package/dist/components/card/card-collapsible-trigger.vue.d.ts +1 -1
  46. package/dist/components/card/card.js +1 -1
  47. package/dist/components/card/index.d.ts +1 -2
  48. package/dist/components/card/types.d.ts +11 -1
  49. package/dist/components/carousel/carousel-content.js +1 -1
  50. package/dist/components/carousel/carousel-content.vue.d.ts +1 -1
  51. package/dist/components/carousel/carousel-item.js +1 -1
  52. package/dist/components/carousel/carousel-item.vue.d.ts +1 -1
  53. package/dist/components/carousel/carousel-next.js +1 -1
  54. package/dist/components/carousel/carousel-next.vue.d.ts +2 -1
  55. package/dist/components/carousel/carousel-previous.js +1 -1
  56. package/dist/components/carousel/carousel-previous.vue.d.ts +2 -1
  57. package/dist/components/carousel/carousel.js +1 -1
  58. package/dist/components/carousel/index.d.ts +1 -2
  59. package/dist/components/carousel/types.d.ts +14 -1
  60. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  61. package/dist/components/checkbox/checkbox-card.js +1 -1
  62. package/dist/components/checkbox/checkbox-group.js +1 -1
  63. package/dist/components/checkbox/checkbox.js +1 -1
  64. package/dist/components/checkbox/index.d.ts +2 -1
  65. package/dist/components/checkbox/types.d.ts +80 -1
  66. package/dist/components/clipboard/clipboard.js +1 -1
  67. package/dist/components/clipboard/index.d.ts +2 -1
  68. package/dist/components/clipboard/types.d.ts +22 -1
  69. package/dist/components/collapsible/collapsible.js +1 -1
  70. package/dist/components/collapsible/index.d.ts +3 -2
  71. package/dist/components/collapsible/types.d.ts +13 -1
  72. package/dist/components/color-area/color-area.vue.d.ts +2 -2
  73. package/dist/components/color-area/index.d.ts +1 -2
  74. package/dist/components/color-area/types.d.ts +23 -1
  75. package/dist/components/color-field/color-field.js +1 -1
  76. package/dist/components/color-field/index.d.ts +1 -2
  77. package/dist/components/color-field/types.d.ts +20 -1
  78. package/dist/components/color-picker/color-picker.vue.d.ts +8 -8
  79. package/dist/components/color-picker/index.d.ts +2 -1
  80. package/dist/components/color-picker/types.d.ts +96 -3
  81. package/dist/components/color-slider/color-slider.vue.d.ts +3 -3
  82. package/dist/components/color-slider/index.d.ts +1 -2
  83. package/dist/components/color-slider/types.d.ts +25 -1
  84. package/dist/components/color-swatch/index.d.ts +2 -4
  85. package/dist/components/color-swatch/types.d.ts +22 -1
  86. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  87. package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +2 -2
  88. package/dist/components/color-swatch-picker/index.d.ts +1 -2
  89. package/dist/components/color-swatch-picker/types.d.ts +38 -1
  90. package/dist/components/combobox/combobox.js +1 -1
  91. package/dist/components/combobox/index.d.ts +1 -2
  92. package/dist/components/combobox/types.d.ts +19 -1
  93. package/dist/components/command/command.js +1 -1
  94. package/dist/components/command/command.vue.d.ts +4 -3
  95. package/dist/components/command/index.d.ts +2 -3
  96. package/dist/components/command/types.d.ts +18 -4
  97. package/dist/components/config-provider/config-provider.js +1 -1
  98. package/dist/components/config-provider/config-provider.vue.d.ts +7 -10
  99. package/dist/components/config-provider/index.d.ts +2 -1
  100. package/dist/components/config-provider/types.d.ts +22 -17
  101. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  102. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +1 -1
  103. package/dist/components/context-menu/context-menu-radio.js +1 -1
  104. package/dist/components/context-menu/context-menu-radio.vue.d.ts +1 -1
  105. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  106. package/dist/components/context-menu/context-menu.js +1 -1
  107. package/dist/components/context-menu/context-menu.vue.d.ts +1 -1
  108. package/dist/components/context-menu/index.d.ts +2 -1
  109. package/dist/components/context-menu/types.d.ts +35 -1
  110. package/dist/components/date-field/index.d.ts +1 -2
  111. package/dist/components/date-field/types.d.ts +16 -1
  112. package/dist/components/date-picker/date-picker.js +1 -1
  113. package/dist/components/date-picker/date-picker.vue.d.ts +3 -1
  114. package/dist/components/date-picker/index.d.ts +1 -2
  115. package/dist/components/date-picker/types.d.ts +23 -15
  116. package/dist/components/date-picker/variants.js +1 -1
  117. package/dist/components/date-range-field/index.d.ts +1 -2
  118. package/dist/components/date-range-field/types.d.ts +47 -2
  119. package/dist/components/date-range-picker/index.d.ts +1 -2
  120. package/dist/components/date-range-picker/types.d.ts +36 -2
  121. package/dist/components/dialog/dialog-provider.js +1 -1
  122. package/dist/components/dialog/dialog.js +1 -1
  123. package/dist/components/dialog/dialog.vue.d.ts +4 -4
  124. package/dist/components/dialog/index.d.ts +2 -1
  125. package/dist/components/dialog/index.js +1 -1
  126. package/dist/components/dialog/types.d.ts +17 -1
  127. package/dist/components/drawer/drawer.js +1 -1
  128. package/dist/components/drawer/drawer.vue.d.ts +4 -4
  129. package/dist/components/drawer/types.d.ts +13 -1
  130. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  131. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +1 -1
  132. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  133. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +1 -1
  134. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  135. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  136. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +1 -1
  137. package/dist/components/dropdown-menu/index.d.ts +2 -1
  138. package/dist/components/dropdown-menu/types.d.ts +35 -1
  139. package/dist/components/editable/editable.js +1 -1
  140. package/dist/components/editable/index.d.ts +2 -3
  141. package/dist/components/editable/types.d.ts +42 -2
  142. package/dist/components/empty/empty.js +1 -1
  143. package/dist/components/empty/index.d.ts +1 -2
  144. package/dist/components/empty/types.d.ts +38 -1
  145. package/dist/components/form/form-field-base.js +1 -1
  146. package/dist/components/form/index.d.ts +2 -3
  147. package/dist/components/form/types.d.ts +102 -8
  148. package/dist/components/form/use-form.d.ts +2 -1
  149. package/dist/components/form/use-form.js +1 -1
  150. package/dist/components/hover-card/hover-card.js +1 -1
  151. package/dist/components/hover-card/index.d.ts +1 -2
  152. package/dist/components/hover-card/types.d.ts +35 -1
  153. package/dist/components/icon/types.d.ts +7 -1
  154. package/dist/components/input/index.d.ts +1 -2
  155. package/dist/components/input/input.js +1 -1
  156. package/dist/components/input/types.d.ts +14 -1
  157. package/dist/components/input-number/index.d.ts +2 -1
  158. package/dist/components/input-number/input-number.js +1 -1
  159. package/dist/components/input-number/types.d.ts +26 -1
  160. package/dist/components/input-otp/index.d.ts +1 -2
  161. package/dist/components/input-otp/index.js +1 -1
  162. package/dist/components/input-otp/input-otp.js +1 -1
  163. package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
  164. package/dist/components/input-otp/types.d.ts +19 -1
  165. package/dist/components/kbd/index.d.ts +4 -2
  166. package/dist/components/kbd/kbd.js +1 -1
  167. package/dist/components/kbd/types.d.ts +18 -2
  168. package/dist/components/label/label.js +1 -1
  169. package/dist/components/label/types.d.ts +11 -1
  170. package/dist/components/layout/index.d.ts +2 -1
  171. package/dist/components/layout/index.js +1 -1
  172. package/dist/components/layout/layout-classic.js +1 -1
  173. package/dist/components/layout/layout.js +1 -1
  174. package/dist/components/layout/types.d.ts +38 -1
  175. package/dist/components/link/index.d.ts +4 -2
  176. package/dist/components/link/link.js +1 -1
  177. package/dist/components/link/types.d.ts +8 -1
  178. package/dist/components/list/index.d.ts +3 -3
  179. package/dist/components/list/list-item.js +1 -1
  180. package/dist/components/list/list.js +1 -1
  181. package/dist/components/list/types.d.ts +32 -1
  182. package/dist/components/menu/context.js +1 -1
  183. package/dist/components/menu/index.d.ts +10 -2
  184. package/dist/components/menu/index.js +1 -1
  185. package/dist/components/menu/types.d.ts +14 -1
  186. package/dist/components/menubar/index.d.ts +2 -1
  187. package/dist/components/menubar/menubar.js +1 -1
  188. package/dist/components/menubar/menubar.vue.d.ts +1 -1
  189. package/dist/components/menubar/types.d.ts +20 -1
  190. package/dist/components/month-picker/index.d.ts +1 -2
  191. package/dist/components/month-picker/types.d.ts +44 -2
  192. package/dist/components/month-range-picker/index.d.ts +1 -2
  193. package/dist/components/month-range-picker/types.d.ts +44 -2
  194. package/dist/components/navigation-menu/index.d.ts +1 -2
  195. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  196. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  197. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  198. package/dist/components/navigation-menu/types.d.ts +85 -2
  199. package/dist/components/page-tabs/index.d.ts +2 -1
  200. package/dist/components/page-tabs/page-tabs.js +1 -1
  201. package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
  202. package/dist/components/page-tabs/types.d.ts +79 -3
  203. package/dist/components/pagination/index.d.ts +1 -2
  204. package/dist/components/pagination/pagination.js +1 -1
  205. package/dist/components/pagination/types.d.ts +11 -1
  206. package/dist/components/password/password.js +1 -1
  207. package/dist/components/password/types.d.ts +20 -1
  208. package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
  209. package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
  210. package/dist/components/popconfirm/popconfirm.js +1 -1
  211. package/dist/components/popconfirm/types.d.ts +143 -4
  212. package/dist/components/popover/index.d.ts +1 -2
  213. package/dist/components/popover/popover.js +1 -1
  214. package/dist/components/popover/types.d.ts +39 -2
  215. package/dist/components/progress/index.d.ts +6 -6
  216. package/dist/components/progress/progress-circle.js +1 -1
  217. package/dist/components/progress/progress-provider.js +1 -1
  218. package/dist/components/progress/progress.js +1 -1
  219. package/dist/components/progress/types.d.ts +43 -1
  220. package/dist/components/radio-group/index.d.ts +2 -3
  221. package/dist/components/radio-group/radio-card-group.js +1 -1
  222. package/dist/components/radio-group/radio-card-group.vue.d.ts +1 -1
  223. package/dist/components/radio-group/radio-card.js +1 -1
  224. package/dist/components/radio-group/radio-group.js +1 -1
  225. package/dist/components/radio-group/radio-group.vue.d.ts +1 -1
  226. package/dist/components/radio-group/radio.js +1 -1
  227. package/dist/components/radio-group/types.d.ts +76 -1
  228. package/dist/components/range-calendar/index.d.ts +1 -2
  229. package/dist/components/range-calendar/types.d.ts +127 -1
  230. package/dist/components/scroll-area/index.d.ts +1 -2
  231. package/dist/components/scroll-area/scroll-area.js +1 -1
  232. package/dist/components/scroll-area/types.d.ts +29 -1
  233. package/dist/components/segment/index.d.ts +2 -1
  234. package/dist/components/segment/segment.js +1 -1
  235. package/dist/components/segment/types.d.ts +26 -1
  236. package/dist/components/select/index.d.ts +2 -3
  237. package/dist/components/select/select.js +1 -1
  238. package/dist/components/select/select.vue.d.ts +1 -1
  239. package/dist/components/select/types.d.ts +18 -3
  240. package/dist/components/separator/index.d.ts +1 -2
  241. package/dist/components/separator/separator.js +1 -1
  242. package/dist/components/separator/types.d.ts +26 -1
  243. package/dist/components/skeleton/skeleton.js +1 -1
  244. package/dist/components/skeleton/types.d.ts +14 -1
  245. package/dist/components/slider/index.d.ts +1 -2
  246. package/dist/components/slider/slider.js +1 -1
  247. package/dist/components/slider/types.d.ts +29 -1
  248. package/dist/components/spinner/types.d.ts +16 -1
  249. package/dist/components/splitter/index.d.ts +2 -3
  250. package/dist/components/splitter/splitter-group.js +1 -1
  251. package/dist/components/splitter/splitter-panel.js +1 -1
  252. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  253. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  254. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +1 -1
  255. package/dist/components/splitter/types.d.ts +43 -2
  256. package/dist/components/stepper/index.d.ts +1 -2
  257. package/dist/components/stepper/stepper.js +1 -1
  258. package/dist/components/stepper/types.d.ts +56 -1
  259. package/dist/components/switch/index.d.ts +1 -2
  260. package/dist/components/switch/switch.js +1 -1
  261. package/dist/components/switch/switch.vue.d.ts +4 -4
  262. package/dist/components/switch/types.d.ts +29 -1
  263. package/dist/components/table/hooks.js +1 -1
  264. package/dist/components/table/index.d.ts +2 -1
  265. package/dist/components/table/index.js +1 -1
  266. package/dist/components/table/table.js +1 -1
  267. package/dist/components/table/table.vue.d.ts +2 -2
  268. package/dist/components/table/types.d.ts +76 -1
  269. package/dist/components/tabs/index.d.ts +2 -3
  270. package/dist/components/tabs/tabs.js +1 -1
  271. package/dist/components/tabs/types.d.ts +19 -1
  272. package/dist/components/tag/tag.js +1 -1
  273. package/dist/components/tag/types.d.ts +26 -1
  274. package/dist/components/tags-input/index.d.ts +3 -2
  275. package/dist/components/tags-input/tags-input-item-delete.js +1 -1
  276. package/dist/components/tags-input/tags-input.js +1 -1
  277. package/dist/components/tags-input/tags-input.vue.d.ts +1 -1
  278. package/dist/components/tags-input/types.d.ts +17 -1
  279. package/dist/components/textarea/index.d.ts +1 -2
  280. package/dist/components/textarea/textarea.js +1 -1
  281. package/dist/components/textarea/types.d.ts +23 -1
  282. package/dist/components/time-field/index.d.ts +1 -2
  283. package/dist/components/time-field/types.d.ts +38 -2
  284. package/dist/components/time-picker/index.d.ts +1 -2
  285. package/dist/components/time-picker/types.d.ts +35 -2
  286. package/dist/components/time-range-field/index.d.ts +1 -2
  287. package/dist/components/time-range-field/types.d.ts +47 -2
  288. package/dist/components/time-range-picker/index.d.ts +1 -2
  289. package/dist/components/time-range-picker/types.d.ts +35 -2
  290. package/dist/components/toast/index.d.ts +3 -3
  291. package/dist/components/toast/toast-provider.js +1 -1
  292. package/dist/components/toast/types.d.ts +11 -2
  293. package/dist/components/toggle/toggle.js +1 -1
  294. package/dist/components/toggle/toggle.vue.d.ts +3 -3
  295. package/dist/components/toggle/types.d.ts +20 -1
  296. package/dist/components/toggle-group/index.d.ts +1 -2
  297. package/dist/components/toggle-group/toggle-group-item.js +1 -1
  298. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +1 -1
  299. package/dist/components/toggle-group/toggle-group.js +1 -1
  300. package/dist/components/toggle-group/toggle-group.vue.d.ts +1 -1
  301. package/dist/components/toggle-group/types.d.ts +23 -1
  302. package/dist/components/toolbar/index.d.ts +3 -2
  303. package/dist/components/toolbar/toolbar.js +1 -1
  304. package/dist/components/toolbar/types.d.ts +11 -1
  305. package/dist/components/tooltip/index.d.ts +1 -2
  306. package/dist/components/tooltip/tooltip.js +1 -1
  307. package/dist/components/tooltip/types.d.ts +38 -1
  308. package/dist/components/tree/index.d.ts +3 -2
  309. package/dist/components/tree/tree-virtualizer.js +1 -1
  310. package/dist/components/tree/tree-virtualizer.vue.d.ts +2 -1
  311. package/dist/components/tree/tree.js +1 -1
  312. package/dist/components/tree/tree.vue.d.ts +2 -1
  313. package/dist/components/tree/types.d.ts +15 -1
  314. package/dist/components/tree-menu/index.d.ts +2 -1
  315. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  316. package/dist/components/tree-menu/tree-menu-option.js +1 -1
  317. package/dist/components/tree-menu/tree-menu-options.js +1 -1
  318. package/dist/components/tree-menu/tree-menu.js +1 -1
  319. package/dist/components/tree-menu/types.d.ts +111 -6
  320. package/dist/components/virtualizer/index.d.ts +3 -2
  321. package/dist/components/virtualizer/types.d.ts +10 -1
  322. package/dist/components/virtualizer/virtualizer.js +1 -1
  323. package/dist/components/year-picker/index.d.ts +1 -2
  324. package/dist/components/year-picker/types.d.ts +44 -2
  325. package/dist/components/year-range-picker/index.d.ts +1 -2
  326. package/dist/components/year-range-picker/types.d.ts +44 -2
  327. package/dist/index.d.ts +103 -73
  328. package/dist/index.js +1 -1
  329. package/dist/theme/merge.d.ts +1 -1
  330. package/dist/theme/shared.d.ts +1 -1
  331. package/package.json +7 -5
@@ -1,59 +1,153 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import { ComponentOptionsMixin, CreateComponentPublicInstanceWithMixins, EmitsOptions, FormHTMLAttributes, PublicProps, SlotsType } from "vue";
3
- import { ClassValue, FormControlProps, FormDescriptionProps, FormErrorProps, FormFieldArrayStates, FormFieldProps, FormFieldState, FormFieldUi, FormLabelProps, FormRegisterOptions, FormValues, Path, PathValue, PropsToContext } from "@soybeanjs/headless";
3
+ import { FormControlProps, FormDescriptionProps, FormErrorProps, FormFieldArrayStates, FormFieldProps, FormFieldState, FormFieldUi, FormLabelProps, FormRegisterOptions, FormValues } from "@soybeanjs/headless/form";
4
+ import { ClassValue, Path, PathValue, PropsToContext } from "@soybeanjs/headless/types";
4
5
 
5
6
  //#region src/components/form/types.d.ts
7
+ /**
8
+ * Props for the form field base component.
9
+ */
6
10
  interface FormFieldBaseProps extends Omit<FormFieldProps, 'class'> {
11
+ /**
12
+ * Additional class names applied to the root element.
13
+ */
7
14
  class?: ClassValue;
15
+ /**
16
+ * Visual size of the component.
17
+ */
8
18
  size?: ThemeSize;
19
+ /**
20
+ * Per-slot class overrides for the component.
21
+ */
9
22
  ui?: Partial<FormFieldUi>;
10
23
  /**
11
24
  * Whether the label is inline with the control.
12
25
  */
13
26
  inline?: boolean;
27
+ /**
28
+ * Label text rendered by the component.
29
+ */
14
30
  label?: string;
31
+ /**
32
+ * Description text rendered by the component.
33
+ */
15
34
  description?: string;
35
+ /**
36
+ * Props forwarded to the label element.
37
+ */
16
38
  labelProps?: FormLabelProps;
39
+ /**
40
+ * Props forwarded to the control element.
41
+ */
17
42
  controlProps?: FormControlProps;
43
+ /**
44
+ * Props forwarded to the description element.
45
+ */
18
46
  descriptionProps?: FormDescriptionProps;
47
+ /**
48
+ * Props forwarded to the error element.
49
+ */
19
50
  errorProps?: FormErrorProps;
20
51
  }
21
- interface FormFieldBaseSlotProps {
22
- formFieldId: string;
23
- ariaDescribedBy: string;
24
- ariaInvalid: boolean;
25
- }
52
+ /**
53
+ * Props for the form field component.
54
+ */
26
55
  interface FormFieldProps$1<Values extends FormValues, Name extends Path<Values>> extends Omit<FormFieldBaseProps, 'error' | 'fieldArray'>, FormRegisterOptions<PathValue<Values, Name>> {
56
+ /**
57
+ * Name.
58
+ */
27
59
  name: Name;
28
60
  }
61
+ /**
62
+ * Slots for the form field component.
63
+ */
29
64
  type FormFieldSlots<Values extends FormValues, Name extends Path<Values>> = SlotsType<{
65
+ /**
66
+ * Custom content for the default slot.
67
+ */
30
68
  default: (props: FormFieldState<Values, Name>) => any;
69
+ /**
70
+ * Custom content for the label slot.
71
+ */
31
72
  label: (props: FormFieldState<Values, Name>) => any;
73
+ /**
74
+ * Custom content for the description slot.
75
+ */
32
76
  description: (props: FormFieldState<Values, Name>) => any;
33
77
  }>;
78
+ /**
79
+ * Type information for the form field component component.
80
+ */
34
81
  type FormFieldComponent<Values extends FormValues> = new <Name extends Path<Values>>(props: FormFieldProps$1<Values, Name> & PublicProps) => CreateComponentPublicInstanceWithMixins<FormFieldProps$1<Values, Name>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, FormFieldSlots<Values, Name>>;
82
+ /**
83
+ * Props for the form field array component.
84
+ */
35
85
  type FormFieldArrayProps<Values extends FormValues, Name extends Path<Values>> = FormFieldProps$1<Values, Name>;
86
+ /**
87
+ * Slots for the form field array component.
88
+ */
36
89
  type FormFieldArraySlots<Values extends FormValues, Name extends Path<Values>> = SlotsType<{
90
+ /**
91
+ * Custom content for the default slot.
92
+ */
37
93
  default: (props: FormFieldArrayStates<Values, Name>) => any;
94
+ /**
95
+ * Custom content for the label slot.
96
+ */
38
97
  label: (props: FormFieldArrayStates<Values, Name>) => any;
98
+ /**
99
+ * Custom content for the description slot.
100
+ */
39
101
  description: (props: FormFieldArrayStates<Values, Name>) => any;
40
102
  }>;
103
+ /**
104
+ * Type information for the form field array component component.
105
+ */
41
106
  type FormFieldArrayComponent<Values extends FormValues> = new <Name extends Path<Values>>(props: FormFieldArrayProps<Values, Name> & PublicProps) => CreateComponentPublicInstanceWithMixins<FormFieldArrayProps<Values, Name>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, FormFieldArraySlots<Values, Name>>;
107
+ /**
108
+ * Props for the form component.
109
+ */
42
110
  interface FormProps extends /** @vue-ignore */FormHTMLAttributes {
111
+ /**
112
+ * Additional class names applied to the root element.
113
+ */
43
114
  class?: ClassValue;
115
+ /**
116
+ * Visual size of the component.
117
+ */
44
118
  size?: ThemeSize;
119
+ /**
120
+ * Per-slot class overrides for the component.
121
+ */
45
122
  ui?: Partial<FormFieldUi>;
46
123
  /**
47
124
  * Whether the label is inline with the control.
48
125
  */
49
126
  inline?: boolean;
127
+ /**
128
+ * Props forwarded to the field element.
129
+ */
50
130
  fieldProps?: FormFieldBaseProps;
131
+ /**
132
+ * Props forwarded to the field array element.
133
+ */
51
134
  fieldArrayProps?: FormFieldBaseProps;
135
+ /**
136
+ * Props forwarded to the label element.
137
+ */
52
138
  labelProps?: FormLabelProps;
139
+ /**
140
+ * Props forwarded to the control element.
141
+ */
53
142
  controlProps?: FormControlProps;
143
+ /**
144
+ * Props forwarded to the description element.
145
+ */
54
146
  descriptionProps?: FormDescriptionProps;
147
+ /**
148
+ * Props forwarded to the error element.
149
+ */
55
150
  errorProps?: FormErrorProps;
56
151
  }
57
- interface FormContext extends PropsToContext<FormProps> {}
58
152
  //#endregion
59
- export { FormContext, FormFieldArrayComponent, FormFieldArrayProps, FormFieldArraySlots, FormFieldBaseProps, FormFieldBaseSlotProps, FormFieldComponent, FormFieldProps$1 as FormFieldProps, FormFieldSlots, FormProps };
153
+ export { FormFieldArrayComponent, FormFieldBaseProps, FormFieldComponent, FormProps };
@@ -1,7 +1,8 @@
1
1
  import { FormFieldArrayComponent, FormFieldComponent } from "./types.js";
2
2
  import * as _$vue from "vue";
3
+ import { FormValues, InferStandardSchemaInput, StandardSchemaV1, UseFormOptions } from "@soybeanjs/headless/form";
4
+ import { Path } from "@soybeanjs/headless/types";
3
5
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
- import { FormValues, InferStandardSchemaInput, Path, StandardSchemaV1, UseFormOptions } from "@soybeanjs/headless";
5
6
 
6
7
  //#region src/components/form/use-form.d.ts
7
8
  declare function useForm$1<S extends StandardSchemaV1<FormValues, FormValues>>(options: UseFormOptions<S>): {
@@ -1 +1 @@
1
- import e from"./form-field-base.js";import{defineComponent as t,h as n}from"vue";import{Slot as r,useForm as i}from"@soybeanjs/headless";function a(a){let o=i(a),s=t((t,{slots:i})=>{let a=o.useField(t.name,{validate:t.validate,reset:t.reset});return()=>n(e,{error:a.value.meta.error,...t},{label:()=>i.label?.(a.value),description:i.description?()=>i.description(a.value):void 0,default:e=>n(r,{size:t.size,id:e.formFieldId,ariaDescribedBy:e.ariaDescribedBy,ariaInvalid:e.ariaInvalid,name:t.name,modelValue:a.value.value,"onUpdate:modelValue":e=>o.setFieldValue(t.name,e),onBlur:e=>a.value.onBlur(e,t.name),onChange:()=>a.value.onChange(),onInput:()=>a.value.onInput()},{default:()=>i.default?.(a.value)})})},{name:`SFormField`,props:[`name`]}),c=t((t,{slots:r})=>{let i=o.useFieldArray(t.name,{validate:t.validate,reset:t.reset});return()=>n(e,{error:i.value.meta.error,...t,isFieldArray:!0},{label:()=>r.label?.(i.value),description:r.description?()=>r.description(i.value):void 0,default:()=>r.default?.(i.value)})},{name:`SFormFieldArray`,props:[`name`]});return{...o,SFormField:s,SFormFieldArray:c}}export{a as useForm};
1
+ import e from"./form-field-base.js";import{defineComponent as t,h as n}from"vue";import{useForm as r}from"@soybeanjs/headless/form";import{Slot as i}from"@soybeanjs/headless/slot";function a(a){let o=r(a),s=t((t,{slots:r})=>{let a=o.useField(t.name,{validate:t.validate,reset:t.reset});return()=>n(e,{error:a.value.meta.error,...t},{label:()=>r.label?.(a.value),description:r.description?()=>r.description(a.value):void 0,default:e=>n(i,{size:t.size,id:e.formFieldId,ariaDescribedBy:e.ariaDescribedBy,ariaInvalid:e.ariaInvalid,name:t.name,modelValue:a.value.value,"onUpdate:modelValue":e=>o.setFieldValue(t.name,e),onBlur:e=>a.value.onBlur(e,t.name),onChange:()=>a.value.onChange(),onInput:()=>a.value.onInput()},{default:()=>r.default?.(a.value)})})},{name:`SFormField`,props:[`name`]}),c=t((t,{slots:r})=>{let i=o.useFieldArray(t.name,{validate:t.validate,reset:t.reset});return()=>n(e,{error:i.value.meta.error,...t,isFieldArray:!0},{label:()=>r.label?.(i.value),description:r.description?()=>r.description(i.value):void 0,default:()=>r.default?.(i.value)})},{name:`SFormFieldArray`,props:[`name`]});return{...o,SFormField:s,SFormFieldArray:c}}export{a as useForm};
@@ -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";const w=o({name:`SHoverCard`,__name:`hover-card`,props:{class:{},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{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:{},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,4 +1,3 @@
1
1
  import { HoverCardEmits, HoverCardProps } from "./types.js";
2
2
  import { _default } from "./hover-card.vue.js";
3
- import { HoverCardArrowProps, HoverCardPopupProps, HoverCardPortalProps, HoverCardPositionerEmits, HoverCardPositionerProps, HoverCardRootEmits, HoverCardRootProps, HoverCardTriggerProps, HoverCardUi, HoverCardUiSlot } from "@soybeanjs/headless/hover-card";
4
- export { type HoverCardArrowProps, type HoverCardPopupProps, type HoverCardPortalProps, type HoverCardPositionerEmits, type HoverCardPositionerProps, type HoverCardRootEmits, type HoverCardRootProps, type HoverCardTriggerProps, type HoverCardUi, type HoverCardUiSlot };
3
+ export * from "@soybeanjs/headless/hover-card";
@@ -1,22 +1,56 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue, HoverCardArrowProps, HoverCardPopupProps, HoverCardPortalProps, HoverCardPositionerEmits, HoverCardPositionerProps, HoverCardRootEmits, HoverCardRootProps, HoverCardTriggerProps, HoverCardUi, Placement } from "@soybeanjs/headless";
2
+ import { HoverCardArrowProps, HoverCardPopupProps, HoverCardPortalProps, HoverCardPositionerEmits, HoverCardPositionerProps, HoverCardRootEmits, HoverCardRootProps, HoverCardTriggerProps, HoverCardUi } from "@soybeanjs/headless/hover-card";
3
+ import { ClassValue, Placement } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/hover-card/types.d.ts
6
+ /**
7
+ * Props for the hover card component.
8
+ */
5
9
  interface HoverCardProps extends HoverCardRootProps {
6
10
  /**
7
11
  * class of popup
8
12
  */
9
13
  class?: ClassValue;
14
+ /**
15
+ * Visual size of the component.
16
+ */
10
17
  size?: ThemeSize;
18
+ /**
19
+ * Per-slot class overrides for the component.
20
+ */
11
21
  ui?: Partial<HoverCardUi>;
22
+ /**
23
+ * Placement.
24
+ */
12
25
  placement?: Placement;
26
+ /**
27
+ * Whether to show an arrow.
28
+ */
13
29
  showArrow?: boolean;
30
+ /**
31
+ * Props forwarded to the positioner element.
32
+ */
14
33
  positionerProps?: HoverCardPositionerProps;
34
+ /**
35
+ * Props forwarded to the popup element.
36
+ */
15
37
  popupProps?: HoverCardPopupProps;
38
+ /**
39
+ * Props forwarded to the trigger element.
40
+ */
16
41
  triggerProps?: HoverCardTriggerProps;
42
+ /**
43
+ * Props forwarded to the portal element.
44
+ */
17
45
  portalProps?: HoverCardPortalProps;
46
+ /**
47
+ * Props forwarded to the arrow element.
48
+ */
18
49
  arrowProps?: HoverCardArrowProps;
19
50
  }
51
+ /**
52
+ * Emits for the hover card component.
53
+ */
20
54
  type HoverCardEmits = HoverCardRootEmits & HoverCardPositionerEmits;
21
55
  //#endregion
22
56
  export { HoverCardEmits, HoverCardProps };
@@ -1,8 +1,14 @@
1
- import { IconValue } from "@soybeanjs/headless";
2
1
  import { IconProps } from "@iconify/vue";
2
+ import { IconValue } from "@soybeanjs/headless/_icon";
3
3
 
4
4
  //#region src/components/icon/types.d.ts
5
+ /**
6
+ * Props for the icon component.
7
+ */
5
8
  interface IconProps$1 extends Omit<IconProps, 'icon'> {
9
+ /**
10
+ * Icon rendered by the component.
11
+ */
6
12
  icon: IconValue;
7
13
  }
8
14
  //#endregion
@@ -1,4 +1,3 @@
1
1
  import { InputEmits, InputProps } from "./types.js";
2
2
  import { _default } from "./input.vue.js";
3
- import { InputControlProps, InputRootEmits, InputRootProps } from "@soybeanjs/headless/input";
4
- export { type InputControlProps, type InputRootEmits, type InputRootProps };
3
+ export * from "@soybeanjs/headless/input";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,mergeProps as c,normalizeClass as l,openBlock as u,renderSlot as d,unref as f,useAttrs as p,withCtx as m}from"vue";import{useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless";const b=s({name:`SInput`,inheritAttrs:!1,__name:`input`,props:{class:{},size:{},ui:{},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},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:b}){let x=s,S=b,C=p(),w=g(x,[`class`,`inputRef`,`size`,`ui`,`controlProps`,`clearable`]),[T,E]=h(e=>x.inputRef?.(e)),D=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(D),(e,n)=>(u(),i(f(v),c(f(w),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:m(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c({...s.controlProps,...f(C)},{ref:f(E)}),null,16),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(D.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`)]),_:3},16))}});export{b as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,mergeProps as c,normalizeClass as l,openBlock as u,renderSlot as d,unref as f,useAttrs as p,withCtx as m}from"vue";import{useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless/input";const b=s({name:`SInput`,inheritAttrs:!1,__name:`input`,props:{class:{},size:{},ui:{},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},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:b}){let x=s,S=b,C=p(),w=g(x,[`class`,`inputRef`,`size`,`ui`,`controlProps`,`clearable`]),[T,E]=h(e=>x.inputRef?.(e)),D=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(D),(e,n)=>(u(),i(f(v),c(f(w),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:m(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c({...s.controlProps,...f(C)},{ref:f(E)}),null,16),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(D.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`)]),_:3},16))}});export{b as default};
@@ -1,15 +1,25 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue, InputControlProps, InputRootEmits, InputRootProps, InputUi } from "@soybeanjs/headless";
2
+ import { InputControlProps, InputRootEmits, InputRootProps, InputUi } from "@soybeanjs/headless/input";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/input/types.d.ts
5
6
  type InputExtraUiSlot = 'clearable';
6
7
  type InputExtendedUi = InputUi & Record<InputExtraUiSlot, ClassValue>;
8
+ /**
9
+ * Props for the input component.
10
+ */
7
11
  interface InputProps extends InputRootProps {
8
12
  /**
9
13
  * root class
10
14
  */
11
15
  class?: ClassValue;
16
+ /**
17
+ * Visual size of the component.
18
+ */
12
19
  size?: ThemeSize;
20
+ /**
21
+ * Per-slot class overrides for the component.
22
+ */
13
23
  ui?: Partial<InputExtendedUi>;
14
24
  /** Whether to show the clear icon */
15
25
  clearable?: boolean;
@@ -24,6 +34,9 @@ interface InputProps extends InputRootProps {
24
34
  */
25
35
  controlProps?: InputControlProps;
26
36
  }
37
+ /**
38
+ * Emits for the input component.
39
+ */
27
40
  type InputEmits = InputRootEmits;
28
41
  //#endregion
29
42
  export { InputEmits, InputProps };
@@ -1,2 +1,3 @@
1
1
  import { InputNumberEmits, InputNumberProps } from "./types.js";
2
- import { _default } from "./input-number.vue.js";
2
+ import { _default } from "./input-number.vue.js";
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";const C=s({name:`SInputNumber`,__name:`input-number`,props:{class:{},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{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:{},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,10 +1,23 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue, InputNumberControlProps, InputNumberDecrementProps, InputNumberIncrementProps, InputNumberRootEmits, InputNumberRootProps, InputNumberUi } from "@soybeanjs/headless";
2
+ import { InputNumberControlProps, InputNumberDecrementProps, InputNumberIncrementProps, InputNumberRootEmits, InputNumberRootProps, InputNumberUi } from "@soybeanjs/headless/input-number";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/input-number/types.d.ts
6
+ /**
7
+ * Props for the input number component.
8
+ */
5
9
  interface InputNumberProps extends InputNumberRootProps {
10
+ /**
11
+ * Additional class names applied to the root element.
12
+ */
6
13
  class?: ClassValue;
14
+ /**
15
+ * Visual size of the component.
16
+ */
7
17
  size?: ThemeSize;
18
+ /**
19
+ * Per-slot class overrides for the component.
20
+ */
8
21
  ui?: Partial<InputNumberUi>;
9
22
  /**
10
23
  * Whether to center the input.
@@ -20,10 +33,22 @@ interface InputNumberProps extends InputNumberRootProps {
20
33
  * @param el - The input element.
21
34
  */
22
35
  inputRef?: (el: HTMLInputElement) => void;
36
+ /**
37
+ * Props forwarded to the control element.
38
+ */
23
39
  controlProps?: InputNumberControlProps;
40
+ /**
41
+ * Props forwarded to the increment element.
42
+ */
24
43
  incrementProps?: InputNumberIncrementProps;
44
+ /**
45
+ * Props forwarded to the decrement element.
46
+ */
25
47
  decrementProps?: InputNumberDecrementProps;
26
48
  }
49
+ /**
50
+ * Emits for the input number component.
51
+ */
27
52
  type InputNumberEmits = InputNumberRootEmits;
28
53
  //#endregion
29
54
  export { InputNumberEmits, InputNumberProps };
@@ -1,4 +1,3 @@
1
1
  import { InputOtpEmits, InputOtpProps, InputOtpSlots } from "./types.js";
2
2
  import { _default } from "./input-otp.vue.js";
3
- import { InputOtpCompactEmits as InputOtpCompactEmits$1, InputOtpCompactProps as InputOtpCompactProps$1, InputOtpCompactSlots as InputOtpCompactSlots$1, InputOtpInputMode, InputOtpInputProps, InputOtpPositionerProps, InputOtpPushPasswordManagerStrategy, InputOtpRootEmits, InputOtpRootProps, InputOtpRootSlotProps, InputOtpSlotProps, InputOtpUi as InputOtpUi$1, InputOtpUiSlot, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS } from "@soybeanjs/headless/input-otp";
4
- export { type InputOtpCompactEmits$1 as InputOtpCompactEmits, type InputOtpCompactProps$1 as InputOtpCompactProps, type InputOtpCompactSlots$1 as InputOtpCompactSlots, type InputOtpInputMode, type InputOtpInputProps, type InputOtpPositionerProps, type InputOtpPushPasswordManagerStrategy, type InputOtpRootEmits, type InputOtpRootProps, type InputOtpRootSlotProps, type InputOtpSlotProps, type InputOtpUi$1 as InputOtpUi, type InputOtpUiSlot, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS };
3
+ export * from "@soybeanjs/headless/input-otp";
@@ -1 +1 @@
1
- import"./input-otp.js";import{REGEXP_ONLY_CHARS as e,REGEXP_ONLY_DIGITS as t,REGEXP_ONLY_DIGITS_AND_CHARS as n}from"@soybeanjs/headless/input-otp";export{e as REGEXP_ONLY_CHARS,t as REGEXP_ONLY_DIGITS,n as REGEXP_ONLY_DIGITS_AND_CHARS};
1
+ import"./input-otp.js";
@@ -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";const _=i({name:`SInputOtp`,__name:`input-otp`,props:{class:{},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{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:{},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,9 +6,9 @@ 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
- change: (event: Event) => any;
10
9
  "update:modelValue": (value: string) => any;
11
10
  blur: (event: FocusEvent) => any;
11
+ change: (event: Event) => any;
12
12
  focus: (event: FocusEvent) => any;
13
13
  mouseleave: (event: MouseEvent) => any;
14
14
  mouseover: (event: MouseEvent) => any;
@@ -17,9 +17,9 @@ declare const __VLS_base: _$vue.DefineComponent<InputOtpProps, {}, {}, {}, {}, _
17
17
  }, string, _$vue.PublicProps, Readonly<InputOtpProps> & Readonly<{
18
18
  onInput?: ((value: string) => any) | undefined;
19
19
  onSelect?: ((event: Event) => any) | undefined;
20
- onChange?: ((event: Event) => any) | undefined;
21
20
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
22
21
  onBlur?: ((event: FocusEvent) => any) | undefined;
22
+ onChange?: ((event: Event) => any) | undefined;
23
23
  onFocus?: ((event: FocusEvent) => any) | undefined;
24
24
  onMouseleave?: ((event: MouseEvent) => any) | undefined;
25
25
  onMouseover?: ((event: MouseEvent) => any) | undefined;
@@ -1,16 +1,34 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { Align, ClassValue } from "@soybeanjs/headless";
3
2
  import { InputOtpCompactEmits, InputOtpCompactProps, InputOtpCompactSlots, InputOtpUi } from "@soybeanjs/headless/input-otp";
3
+ import { Align, ClassValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/input-otp/types.d.ts
6
+ /**
7
+ * Props for the input otp component.
8
+ */
6
9
  interface InputOtpProps extends InputOtpCompactProps {
7
10
  /** Root class. */
8
11
  class?: ClassValue;
12
+ /**
13
+ * Visual size of the component.
14
+ */
9
15
  size?: ThemeSize;
16
+ /**
17
+ * Align.
18
+ */
10
19
  align?: Align;
20
+ /**
21
+ * Per-slot class overrides for the component.
22
+ */
11
23
  ui?: Partial<InputOtpUi>;
12
24
  }
25
+ /**
26
+ * Emits for the input otp component.
27
+ */
13
28
  type InputOtpEmits = InputOtpCompactEmits;
29
+ /**
30
+ * Slots for the input otp component.
31
+ */
14
32
  type InputOtpSlots = InputOtpCompactSlots;
15
33
  //#endregion
16
34
  export { InputOtpEmits, InputOtpProps, InputOtpSlots };
@@ -1,3 +1,5 @@
1
1
  import { KbdVariant } from "./variants.js";
2
- import { KbdProps, KbdValue } from "./types.js";
3
- import { _default } from "./kbd.vue.js";
2
+ import { KbdProps as KbdProps$1 } from "./types.js";
3
+ import { _default } from "./kbd.vue.js";
4
+ import { KbdValue } from "@soybeanjs/headless/kbd";
5
+ export { type KbdValue };
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{kbdVariants 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{Kbd as l}from"@soybeanjs/headless";const u=i({name:`SKbd`,__name:`kbd`,props:{class:{},size:{},variant:{},raised:{type:Boolean,default:!0},value:{},symbolize:{type:Boolean,default:!0}},setup(i){let u=i,d=c(u,[`class`,`size`,`variant`,`raised`]),f=n(()=>e(t({size:u.size,variant:u.variant,raised:u.raised}),u.class));return(e,t)=>(o(),r(s(l),a(s(d),{class:f.value}),null,16,[`class`]))}});export{u as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{kbdVariants 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{Kbd as l}from"@soybeanjs/headless/kbd";const u=i({name:`SKbd`,__name:`kbd`,props:{class:{},size:{},variant:{},raised:{type:Boolean,default:!0},value:{},symbolize:{type:Boolean,default:!0}},setup(i){let u=i,d=c(u,[`class`,`size`,`variant`,`raised`]),f=n(()=>e(t({size:u.size,variant:u.variant,raised:u.raised}),u.class));return(e,t)=>(o(),r(s(l),a(s(d),{class:f.value}),null,16,[`class`]))}});export{u as default};
@@ -1,13 +1,29 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import { KbdVariant } from "./variants.js";
3
- import { ClassValue, KbdProps, KbdValue } from "@soybeanjs/headless";
3
+ import { KbdProps } from "@soybeanjs/headless/kbd";
4
+ import { ClassValue } from "@soybeanjs/headless/types";
4
5
 
5
6
  //#region src/components/kbd/types.d.ts
7
+ /**
8
+ * Props for the kbd component.
9
+ */
6
10
  interface KbdProps$1 extends KbdProps {
11
+ /**
12
+ * Additional class names applied to the root element.
13
+ */
7
14
  class?: ClassValue;
15
+ /**
16
+ * Visual size of the component.
17
+ */
8
18
  size?: ThemeSize;
19
+ /**
20
+ * Visual variant of the component.
21
+ */
9
22
  variant?: KbdVariant;
23
+ /**
24
+ * Whether raised.
25
+ */
10
26
  raised?: boolean;
11
27
  }
12
28
  //#endregion
13
- export { KbdProps$1 as KbdProps, type KbdValue };
29
+ export { KbdProps$1 as KbdProps };
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{labelVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,normalizeClass as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{Label as u}from"@soybeanjs/headless";const d=i({name:`SLabel`,__name:`label`,props:{class:{},size:{},for:{}},setup(i){let d=i,f=n(()=>e(t({size:d.size}),d.class));return(e,t)=>(o(),r(c(u),{for:d.for,class:a(f.value)},{default:l(()=>[s(e.$slots,`default`)]),_:3},8,[`for`,`class`]))}});export{d as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{labelVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,normalizeClass as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{Label as u}from"@soybeanjs/headless/label";const d=i({name:`SLabel`,__name:`label`,props:{class:{},size:{},for:{}},setup(i){let d=i,f=n(()=>e(t({size:d.size}),d.class));return(e,t)=>(o(),r(c(u),{for:d.for,class:a(f.value)},{default:l(()=>[s(e.$slots,`default`)]),_:3},8,[`for`,`class`]))}});export{d as default};
@@ -1,9 +1,19 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { ClassValue, LabelProps } from "@soybeanjs/headless";
2
+ import { LabelProps } from "@soybeanjs/headless/label";
3
+ import { ClassValue } from "@soybeanjs/headless/types";
3
4
 
4
5
  //#region src/components/label/types.d.ts
6
+ /**
7
+ * Props for the label component.
8
+ */
5
9
  interface LabelProps$1 extends LabelProps {
10
+ /**
11
+ * Additional class names applied to the root element.
12
+ */
6
13
  class?: ClassValue;
14
+ /**
15
+ * Visual size of the component.
16
+ */
7
17
  size?: ThemeSize;
8
18
  }
9
19
  //#endregion
@@ -1,5 +1,6 @@
1
1
  import { LayoutClassicEmits, LayoutClassicProps, LayoutClassicScrollBehavior, LayoutClassicSlots, LayoutCollapsible, LayoutEmits, LayoutProps, LayoutSide, LayoutSlots, LayoutVariant } from "./types.js";
2
2
  import { _default } from "./layout.vue.js";
3
3
  import { _default as _default$1 } from "./layout-classic.vue.js";
4
- import { LayoutTrigger as SLayoutTrigger } from "@soybeanjs/headless";
4
+ import { LayoutTrigger as SLayoutTrigger } from "@soybeanjs/headless/layout";
5
+ export * from "@soybeanjs/headless/layout";
5
6
  export { SLayoutTrigger };
@@ -1 +1 @@
1
- import"./layout.js";import"./layout-classic.js";import{LayoutTrigger as e}from"@soybeanjs/headless";export{e as SLayoutTrigger};
1
+ import"./layout.js";import"./layout-classic.js";import{LayoutTrigger as e}from"@soybeanjs/headless/layout";export{e as SLayoutTrigger};
@@ -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{LayoutClassicCompact as x,provideLayoutClassicUi as S}from"@soybeanjs/headless";import{keysOf as C}from"@soybeanjs/utils";const w=u({name:`SLayoutClassic`,__name:`layout-classic`,props:{class:{},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(()=>C(D).filter(e=>e!==`sidebar`)),A=e=>T.pxToRem?T.pxToRem(e):e*r[T.size]/n.md;return S(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(_(x),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{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:{},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 +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{LayoutCompact as x,provideLayoutUi as S}from"@soybeanjs/headless";import{keysOf as C}from"@soybeanjs/utils";const w=u({name:`SLayout`,__name:`layout`,props:{class:{},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(()=>C(D).filter(e=>e!==`sidebar`)),A=e=>T.pxToRem?T.pxToRem(e):e*r[T.size]/n.md;return S(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(_(x),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{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:{},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};