@soybeanjs/ui 0.0.8 → 0.0.10

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 (226) hide show
  1. package/dist/components/accordion/accordion.js +1 -1
  2. package/dist/components/accordion/accordion.vue.d.ts +3 -3
  3. package/dist/components/accordion/index.d.ts +1 -1
  4. package/dist/components/accordion/types.d.ts +10 -6
  5. package/dist/components/alert/alert.js +1 -1
  6. package/dist/components/alert/alert.vue.d.ts +4 -4
  7. package/dist/components/alert/types.d.ts +7 -3
  8. package/dist/components/alert-dialog/alert-dialog-action.js +1 -1
  9. package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +3 -3
  10. package/dist/components/alert-dialog/alert-dialog-cancel.js +1 -1
  11. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +4 -4
  12. package/dist/components/alert-dialog/alert-dialog.js +1 -1
  13. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +4 -4
  14. package/dist/components/avatar/avatar.js +1 -1
  15. package/dist/components/avatar/avatar.vue.d.ts +7 -7
  16. package/dist/components/avatar/types.d.ts +5 -1
  17. package/dist/components/badge/badge.js +1 -1
  18. package/dist/components/badge/badge.vue.d.ts +4 -4
  19. package/dist/components/badge/types.d.ts +5 -1
  20. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  21. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
  22. package/dist/components/breadcrumb/types.d.ts +5 -1
  23. package/dist/components/button/button-group.js +1 -1
  24. package/dist/components/button/button-group.vue.d.ts +6 -6
  25. package/dist/components/button/button-icon.js +1 -1
  26. package/dist/components/button/button-icon.vue.d.ts +3 -3
  27. package/dist/components/button/button-link.js +1 -1
  28. package/dist/components/button/button-link.vue.d.ts +5 -5
  29. package/dist/components/button/button-loading.js +1 -1
  30. package/dist/components/button/button-loading.vue.d.ts +3 -3
  31. package/dist/components/button/button.js +1 -1
  32. package/dist/components/button/button.vue.d.ts +4 -4
  33. package/dist/components/button/types.d.ts +2 -1
  34. package/dist/components/card/card.js +1 -1
  35. package/dist/components/card/card.vue.d.ts +3 -3
  36. package/dist/components/card/types.d.ts +5 -1
  37. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  38. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
  39. package/dist/components/checkbox/checkbox-card.js +1 -1
  40. package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
  41. package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
  42. package/dist/components/checkbox/checkbox.js +1 -1
  43. package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
  44. package/dist/components/checkbox/index.d.ts +1 -1
  45. package/dist/components/checkbox/types.d.ts +7 -6
  46. package/dist/components/collapsible/collapsible.js +1 -1
  47. package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
  48. package/dist/components/command/command-group-option.js +1 -1
  49. package/dist/components/command/command-single-option.js +1 -1
  50. package/dist/components/command/command.js +1 -1
  51. package/dist/components/command/command.vue.d.ts +7 -7
  52. package/dist/components/command/context.js +1 -1
  53. package/dist/components/command/index.d.ts +1 -1
  54. package/dist/components/command/types.d.ts +11 -10
  55. package/dist/components/config-provider/config-provider.vue.d.ts +5 -5
  56. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  57. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +9 -9
  58. package/dist/components/context-menu/context-menu-radio.js +1 -1
  59. package/dist/components/context-menu/context-menu-radio.vue.d.ts +9 -9
  60. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  61. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +13 -13
  62. package/dist/components/context-menu/context-menu.js +1 -1
  63. package/dist/components/context-menu/context-menu.vue.d.ts +9 -9
  64. package/dist/components/context-menu/types.d.ts +23 -4
  65. package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
  66. package/dist/components/dialog/dialog-pure.js +1 -1
  67. package/dist/components/dialog/dialog-pure.vue.d.ts +12 -12
  68. package/dist/components/dialog/dialog.js +1 -1
  69. package/dist/components/dialog/dialog.vue.d.ts +12 -12
  70. package/dist/components/dialog/index.d.ts +1 -1
  71. package/dist/components/dialog/types.d.ts +5 -4
  72. package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
  73. package/dist/components/drawer/drawer.js +1 -1
  74. package/dist/components/drawer/drawer.vue.d.ts +12 -13
  75. package/dist/components/drawer/index.d.ts +1 -1
  76. package/dist/components/drawer/types.d.ts +6 -9
  77. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  78. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +9 -9
  79. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  80. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +9 -9
  81. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  82. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +14 -14
  83. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  84. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +9 -9
  85. package/dist/components/dropdown-menu/types.d.ts +18 -3
  86. package/dist/components/form/form-field-base.js +1 -0
  87. package/dist/components/form/form.js +1 -1
  88. package/dist/components/form/form.vue.d.ts +2 -2
  89. package/dist/components/form/index.d.ts +2 -3
  90. package/dist/components/form/types.d.ts +28 -14
  91. package/dist/components/form/use-form.d.ts +48 -0
  92. package/dist/components/form/use-form.js +1 -0
  93. package/dist/components/icon/icon.vue.d.ts +3 -3
  94. package/dist/components/input/input.js +1 -1
  95. package/dist/components/input/input.vue.d.ts +4 -4
  96. package/dist/components/input/types.d.ts +6 -2
  97. package/dist/components/kbd/kbd.js +1 -1
  98. package/dist/components/kbd/kbd.vue.d.ts +3 -3
  99. package/dist/components/kbd/types.d.ts +2 -1
  100. package/dist/components/label/label.js +1 -1
  101. package/dist/components/label/label.vue.d.ts +2 -2
  102. package/dist/components/label/types.d.ts +2 -1
  103. package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
  104. package/dist/components/layout/layout.js +1 -1
  105. package/dist/components/layout/layout.vue.d.ts +7 -4
  106. package/dist/components/layout/types.d.ts +2 -1
  107. package/dist/components/link/link.js +1 -1
  108. package/dist/components/link/link.vue.d.ts +6 -5
  109. package/dist/components/link/types.d.ts +8 -2
  110. package/dist/components/list/list-item.vue.d.ts +2 -2
  111. package/dist/components/list/list.js +1 -1
  112. package/dist/components/list/list.vue.d.ts +2 -2
  113. package/dist/components/list/types.d.ts +2 -1
  114. package/dist/components/menu/context.js +1 -1
  115. package/dist/components/menu/index.d.ts +1 -1
  116. package/dist/components/menu/menu-checkbox-options.js +1 -1
  117. package/dist/components/menu/menu-checkbox-options.vue.d.ts +3 -3
  118. package/dist/components/menu/menu-option.js +1 -1
  119. package/dist/components/menu/menu-option.vue.d.ts +9 -9
  120. package/dist/components/menu/menu-options.vue.d.ts +9 -9
  121. package/dist/components/menu/menu-radio-options.js +1 -1
  122. package/dist/components/menu/menu-radio-options.vue.d.ts +3 -3
  123. package/dist/components/menu/types.d.ts +4 -8
  124. package/dist/components/navigation-menu/context.js +1 -1
  125. package/dist/components/navigation-menu/index.d.ts +1 -1
  126. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  127. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  128. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  129. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +11 -11
  130. package/dist/components/navigation-menu/types.d.ts +5 -8
  131. package/dist/components/number-input/number-input.js +1 -1
  132. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  133. package/dist/components/number-input/types.d.ts +2 -1
  134. package/dist/components/pagination/pagination.js +1 -1
  135. package/dist/components/pagination/pagination.vue.d.ts +4 -4
  136. package/dist/components/pagination/types.d.ts +2 -1
  137. package/dist/components/password/password.js +1 -1
  138. package/dist/components/password/password.vue.d.ts +4 -4
  139. package/dist/components/password/types.d.ts +3 -2
  140. package/dist/components/popover/popover.js +1 -1
  141. package/dist/components/popover/popover.vue.d.ts +11 -11
  142. package/dist/components/popover/types.d.ts +5 -1
  143. package/dist/components/radio-group/index.d.ts +1 -1
  144. package/dist/components/radio-group/radio-card-group.js +1 -1
  145. package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
  146. package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
  147. package/dist/components/radio-group/radio-group.js +1 -1
  148. package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
  149. package/dist/components/radio-group/radio.vue.d.ts +2 -2
  150. package/dist/components/radio-group/types.d.ts +4 -3
  151. package/dist/components/segment/segment.js +1 -1
  152. package/dist/components/segment/segment.vue.d.ts +3 -3
  153. package/dist/components/segment/types.d.ts +2 -1
  154. package/dist/components/select/select.js +1 -1
  155. package/dist/components/select/select.vue.d.ts +7 -7
  156. package/dist/components/select/types.d.ts +5 -1
  157. package/dist/components/separator/separator.js +1 -1
  158. package/dist/components/separator/separator.vue.d.ts +5 -5
  159. package/dist/components/separator/types.d.ts +2 -1
  160. package/dist/components/switch/switch.js +1 -1
  161. package/dist/components/switch/switch.vue.d.ts +25 -25
  162. package/dist/components/switch/types.d.ts +2 -1
  163. package/dist/components/tabs/index.d.ts +1 -1
  164. package/dist/components/tabs/tabs.js +1 -1
  165. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  166. package/dist/components/tabs/types.d.ts +4 -3
  167. package/dist/components/tag/tag.js +1 -1
  168. package/dist/components/tag/tag.vue.d.ts +4 -4
  169. package/dist/components/tag/types.d.ts +2 -1
  170. package/dist/components/textarea/index.d.ts +1 -1
  171. package/dist/components/textarea/textarea.js +1 -1
  172. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  173. package/dist/components/textarea/types.d.ts +4 -3
  174. package/dist/components/toast/context.js +1 -1
  175. package/dist/components/toast/toast-provider.js +1 -1
  176. package/dist/components/toast/toast.js +1 -1
  177. package/dist/components/toast/types.d.ts +1 -0
  178. package/dist/components/tooltip/tooltip.js +1 -1
  179. package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
  180. package/dist/components/tooltip/types.d.ts +5 -1
  181. package/dist/components/tree/tree-virtualizer.vue.d.ts +5 -5
  182. package/dist/components/tree/tree.vue.d.ts +5 -5
  183. package/dist/components/tree-menu/context.js +1 -1
  184. package/dist/components/tree-menu/index.d.ts +2 -2
  185. package/dist/components/tree-menu/shared.js +1 -1
  186. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -0
  187. package/dist/components/tree-menu/tree-menu-option.js +1 -0
  188. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -0
  189. package/dist/components/tree-menu/tree-menu-styled-item.vue.d.ts +17 -0
  190. package/dist/components/tree-menu/tree-menu.js +1 -1
  191. package/dist/components/tree-menu/tree-menu.vue.d.ts +11 -22
  192. package/dist/components/tree-menu/types.d.ts +78 -45
  193. package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
  194. package/dist/constants/components.d.ts +13 -13
  195. package/dist/constants/components.js +1 -1
  196. package/dist/index.d.ts +50 -52
  197. package/dist/index.js +1 -1
  198. package/dist/styles.css +29 -25
  199. package/dist/theme/shared.js +1 -1
  200. package/dist/variants/alert.d.ts +24 -24
  201. package/dist/variants/alert.js +1 -1
  202. package/dist/variants/avatar.js +1 -1
  203. package/dist/variants/badge.d.ts +3 -3
  204. package/dist/variants/checkbox.js +1 -1
  205. package/dist/variants/drawer.js +1 -1
  206. package/dist/variants/form.js +1 -1
  207. package/dist/variants/layout.js +1 -1
  208. package/dist/variants/navigation-menu.js +1 -1
  209. package/dist/variants/pagination.d.ts +3 -3
  210. package/dist/variants/radio-group.d.ts +3 -3
  211. package/dist/variants/separator.d.ts +3 -3
  212. package/dist/variants/switch.d.ts +3 -3
  213. package/dist/variants/tabs.d.ts +3 -3
  214. package/dist/variants/tabs.js +1 -1
  215. package/dist/variants/tag.d.ts +3 -3
  216. package/dist/variants/textarea.d.ts +3 -3
  217. package/dist/variants/toast.d.ts +3 -3
  218. package/dist/variants/tree-menu.js +1 -1
  219. package/package.json +5 -3
  220. package/dist/components/form/form-field-array.js +0 -1
  221. package/dist/components/form/form-field-array.vue.d.ts +0 -71
  222. package/dist/components/form/form-field.js +0 -1
  223. package/dist/components/form/form-field.vue.d.ts +0 -27
  224. package/dist/components/tree-menu/tree-menu-item-wrapper.js +0 -1
  225. package/dist/components/tree-menu/tree-menu-item-wrapper.vue.d.ts +0 -17
  226. package/dist/components/tree-menu/tree-menu-item.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { DropdownMenuWrapperProps } from "./types.js";
2
- import * as vue155 from "vue";
3
- import * as _soybeanjs_headless92 from "@soybeanjs/headless";
2
+ import * as vue162 from "vue";
3
+ import * as _soybeanjs_headless91 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts
6
6
  declare var __VLS_16: {}, __VLS_30: {};
@@ -9,28 +9,28 @@ type __VLS_Slots = {} & {
9
9
  } & {
10
10
  default?: (props: typeof __VLS_30) => any;
11
11
  };
12
- declare const __VLS_base: vue155.DefineComponent<DropdownMenuWrapperProps, {}, {}, {}, {}, vue155.ComponentOptionsMixin, vue155.ComponentOptionsMixin, {
12
+ declare const __VLS_base: vue162.DefineComponent<DropdownMenuWrapperProps, {}, {}, {}, {}, vue162.ComponentOptionsMixin, vue162.ComponentOptionsMixin, {
13
13
  "update:open": (value: boolean) => any;
14
+ entryFocus: (event: Event) => any;
14
15
  escapeKeyDown: (event: KeyboardEvent) => any;
15
- pointerDownOutside: (event: _soybeanjs_headless92.PointerDownOutsideEvent) => any;
16
- focusOutside: (event: _soybeanjs_headless92.FocusOutsideEvent) => any;
17
- interactOutside: (event: _soybeanjs_headless92.PointerDownOutsideEvent | _soybeanjs_headless92.FocusOutsideEvent) => any;
16
+ pointerDownOutside: (event: _soybeanjs_headless91.PointerDownOutsideEvent) => any;
17
+ focusOutside: (event: _soybeanjs_headless91.FocusOutsideEvent) => any;
18
+ interactOutside: (event: _soybeanjs_headless91.PointerDownOutsideEvent | _soybeanjs_headless91.FocusOutsideEvent) => any;
18
19
  openAutoFocus: (event: Event) => any;
19
20
  closeAutoFocus: (event: Event) => any;
20
- entryFocus: (event: Event) => any;
21
- }, string, vue155.PublicProps, Readonly<DropdownMenuWrapperProps> & Readonly<{
21
+ }, string, vue162.PublicProps, Readonly<DropdownMenuWrapperProps> & Readonly<{
22
22
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
23
+ onEntryFocus?: ((event: Event) => any) | undefined;
23
24
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
24
- onPointerDownOutside?: ((event: _soybeanjs_headless92.PointerDownOutsideEvent) => any) | undefined;
25
- onFocusOutside?: ((event: _soybeanjs_headless92.FocusOutsideEvent) => any) | undefined;
26
- onInteractOutside?: ((event: _soybeanjs_headless92.PointerDownOutsideEvent | _soybeanjs_headless92.FocusOutsideEvent) => any) | undefined;
25
+ onPointerDownOutside?: ((event: _soybeanjs_headless91.PointerDownOutsideEvent) => any) | undefined;
26
+ onFocusOutside?: ((event: _soybeanjs_headless91.FocusOutsideEvent) => any) | undefined;
27
+ onInteractOutside?: ((event: _soybeanjs_headless91.PointerDownOutsideEvent | _soybeanjs_headless91.FocusOutsideEvent) => any) | undefined;
27
28
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
28
29
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
29
- onEntryFocus?: ((event: Event) => any) | undefined;
30
30
  }>, {
31
- open: boolean;
32
31
  modal: boolean;
33
- }, {}, {}, {}, string, vue155.ComponentProvideOptions, false, {}, any>;
32
+ open: boolean;
33
+ }, {}, {}, {}, string, vue162.ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
35
  declare const _default: typeof __VLS_export;
36
36
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import e from"../menu/menu-options.js";import t from"./dropdown-menu-wrapper.js";import{computed as n,createBlock as r,createSlots as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v,usePickProps as y}from"@soybeanjs/headless/composables";var b=o({name:`SDropdownMenu`,__name:`dropdown-menu`,props:{size:{},ui:{},disabled:{type:Boolean},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},items:{},itemProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(o,{emit:b}){let x=o,S=b,C=h(),w=[`defaultOpen`,`open`,`dir`,`modal`,`trigger`,`delayDuration`,`skipDelayDuration`,`size`,`ui`,`disabled`,`showArrow`,`triggerProps`,`portalProps`,`contentProps`,`popupProps`,`arrowProps`],T=y(x,w),E=v(x,w),D=_(S),O=n(()=>Object.keys(C).filter(e=>e!==`trigger`));return(n,h)=>(u(),r(t,c(m(T),p(m(D))),{trigger:g(()=>[f(n.$slots,`trigger`)]),default:g(()=>[a(e,c(m(E),{"portal-props":o.portalProps},p(m(D))),i({_:2},[d(O.value,e=>({name:e,fn:g(t=>[f(n.$slots,e,l(s(t)))])}))]),1040,[`portal-props`])]),_:3},16))}});export{b as default};
1
+ import e from"../menu/menu-options.js";import t from"./dropdown-menu-wrapper.js";import{computed as n,createBlock as r,createSlots as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v,usePickProps as y}from"@soybeanjs/headless/composables";var b=o({name:`SDropdownMenu`,__name:`dropdown-menu`,props:{class:{},size:{},ui:{},disabled:{type:Boolean},placement:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0},items:{},itemProps:{},groupProps:{},groupLabelProps:{},subProps:{},subTriggerProps:{},subContentProps:{},separatorProps:{},shortcutProps:{}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`,`select`],setup(o,{emit:b}){let x=o,S=b,C=h(),w=[`class`,`defaultOpen`,`open`,`dir`,`modal`,`trigger`,`delayDuration`,`skipDelayDuration`,`size`,`ui`,`disabled`,`placement`,`showArrow`,`triggerProps`,`portalProps`,`contentProps`,`popupProps`,`arrowProps`],T=y(x,[...w]),E=v(x,[...w]),D=_(S),O=n(()=>Object.keys(C).filter(e=>e!==`trigger`));return(n,h)=>(u(),r(t,c(m(T),p(m(D))),{trigger:g(()=>[f(n.$slots,`trigger`)]),default:g(()=>[a(e,c(m(E),{"portal-props":o.portalProps},p(m(D))),i({_:2},[d(O.value,e=>({name:e,fn:g(t=>[f(n.$slots,e,l(s(t)))])}))]),1040,[`portal-props`])]),_:3},16))}});export{b as default};
@@ -1,21 +1,21 @@
1
1
  import { MenuOptionData } from "../menu/types.js";
2
2
  import { DropdownMenuProps } from "./types.js";
3
- import * as vue149 from "vue";
4
- import * as _soybeanjs_headless68 from "@soybeanjs/headless";
3
+ import * as vue156 from "vue";
4
+ import * as _soybeanjs_headless67 from "@soybeanjs/headless";
5
5
  import { DefinedValue } from "@soybeanjs/headless";
6
6
 
7
7
  //#region src/components/dropdown-menu/dropdown-menu.vue.d.ts
8
8
  declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends MenuOptionData<T> = MenuOptionData<T>>(__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<{
9
- props: vue149.PublicProps & __VLS_PrettifyLocal<DropdownMenuProps<T, S> & {
9
+ props: vue156.PublicProps & __VLS_PrettifyLocal<DropdownMenuProps<T, S> & {
10
10
  onSelect?: ((item: S, event: Event) => any) | undefined;
11
11
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
12
+ onEntryFocus?: ((event: Event) => any) | undefined;
12
13
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
13
- onPointerDownOutside?: ((event: _soybeanjs_headless68.PointerDownOutsideEvent) => any) | undefined;
14
- onFocusOutside?: ((event: _soybeanjs_headless68.FocusOutsideEvent) => any) | undefined;
15
- onInteractOutside?: ((event: _soybeanjs_headless68.PointerDownOutsideEvent | _soybeanjs_headless68.FocusOutsideEvent) => any) | undefined;
14
+ onPointerDownOutside?: ((event: _soybeanjs_headless67.PointerDownOutsideEvent) => any) | undefined;
15
+ onFocusOutside?: ((event: _soybeanjs_headless67.FocusOutsideEvent) => any) | undefined;
16
+ onInteractOutside?: ((event: _soybeanjs_headless67.PointerDownOutsideEvent | _soybeanjs_headless67.FocusOutsideEvent) => any) | undefined;
16
17
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
17
18
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
18
- onEntryFocus?: ((event: Event) => any) | undefined;
19
19
  }> & (typeof globalThis extends {
20
20
  __VLS_PROPS_FALLBACK: infer P;
21
21
  } ? P : {});
@@ -29,8 +29,8 @@ declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends Me
29
29
  'item-trigger': (props: MenuOptionData<T>) => any;
30
30
  'item-trigger-icon': (props: MenuOptionData<T>) => any;
31
31
  };
32
- emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless68.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless68.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless68.PointerDownOutsideEvent | _soybeanjs_headless68.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void) & ((evt: "entryFocus", event: Event) => void);
33
- }>) => vue149.VNode & {
32
+ emit: ((evt: "select", item: S, event: Event) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "entryFocus", event: Event) => void) & ((evt: "escapeKeyDown", event: KeyboardEvent) => void) & ((evt: "pointerDownOutside", event: _soybeanjs_headless67.PointerDownOutsideEvent) => void) & ((evt: "focusOutside", event: _soybeanjs_headless67.FocusOutsideEvent) => void) & ((evt: "interactOutside", event: _soybeanjs_headless67.PointerDownOutsideEvent | _soybeanjs_headless67.FocusOutsideEvent) => void) & ((evt: "openAutoFocus", event: Event) => void) & ((evt: "closeAutoFocus", event: Event) => void);
33
+ }>) => vue156.VNode & {
34
34
  __ctx?: Awaited<typeof __VLS_setup>;
35
35
  };
36
36
  declare const _default: typeof __VLS_export;
@@ -1,13 +1,18 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { MenuCheckboxOptionData, MenuCheckboxOptionsEmits, MenuCheckboxOptionsProps, MenuExtendedUi, MenuOptionData, MenuOptionsEmits, MenuOptionsProps, MenuRadioOptionData, MenuRadioOptionsEmits, MenuRadioOptionsProps } from "../menu/types.js";
4
- import { AcceptableBooleanValue, DefinedValue, DropdownMenuArrowProps, DropdownMenuContentEmits, DropdownMenuContentProps, DropdownMenuPopupProps, DropdownMenuPortalProps, DropdownMenuRootEmits, DropdownMenuRootProps, DropdownMenuTriggerProps } from "@soybeanjs/headless";
4
+ import { AcceptableBooleanValue, ClassValue, DefinedValue, DropdownMenuArrowProps, DropdownMenuContentEmits, DropdownMenuContentProps, DropdownMenuPopupProps, DropdownMenuPortalProps, DropdownMenuRootEmits, DropdownMenuRootProps, DropdownMenuTriggerProps, Placement } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/dropdown-menu/types.d.ts
7
7
  interface DropdownMenuWrapperProps extends DropdownMenuRootProps {
8
+ /**
9
+ * class of menu popup
10
+ */
11
+ class?: ClassValue;
8
12
  size?: ThemeSize;
9
13
  ui?: Partial<MenuExtendedUi>;
10
14
  disabled?: boolean;
15
+ placement?: Placement;
11
16
  showArrow?: boolean;
12
17
  triggerProps?: DropdownMenuTriggerProps;
13
18
  portalProps?: DropdownMenuPortalProps;
@@ -18,9 +23,19 @@ interface DropdownMenuWrapperProps extends DropdownMenuRootProps {
18
23
  type DropdownMenuWrapperEmits = DropdownMenuRootEmits & DropdownMenuContentEmits;
19
24
  interface DropdownMenuProps<T extends DefinedValue = DefinedValue, S extends MenuOptionData<T> = MenuOptionData<T>> extends DropdownMenuWrapperProps, MenuOptionsProps<T, S> {}
20
25
  type DropdownMenuEmits<T extends MenuOptionData = MenuOptionData> = DropdownMenuWrapperEmits & MenuOptionsEmits<T>;
21
- interface DropdownMenuCheckboxProps<T extends DefinedValue = DefinedValue, S extends MenuCheckboxOptionData<T> = MenuCheckboxOptionData<T>> extends DropdownMenuWrapperProps, MenuCheckboxOptionsProps<T, S> {}
26
+ interface DropdownMenuCheckboxProps<T extends DefinedValue = DefinedValue, S extends MenuCheckboxOptionData<T> = MenuCheckboxOptionData<T>> extends DropdownMenuWrapperProps, MenuCheckboxOptionsProps<T, S> {
27
+ /**
28
+ * class of menu popup
29
+ */
30
+ class?: ClassValue;
31
+ }
22
32
  type DropdownMenuCheckboxEmits<T extends DefinedValue = DefinedValue, S extends MenuCheckboxOptionData<T> = MenuCheckboxOptionData<T>> = DropdownMenuWrapperEmits & MenuCheckboxOptionsEmits<T, S>;
23
- interface DropdownMenuRadioProps<T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends MenuRadioOptionData<T> = MenuRadioOptionData<T>> extends DropdownMenuWrapperProps, MenuRadioOptionsProps<T, S> {}
33
+ interface DropdownMenuRadioProps<T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends MenuRadioOptionData<T> = MenuRadioOptionData<T>> extends DropdownMenuWrapperProps, MenuRadioOptionsProps<T, S> {
34
+ /**
35
+ * class of menu popup
36
+ */
37
+ class?: ClassValue;
38
+ }
24
39
  type DropdownMenuRadioEmits<T extends AcceptableBooleanValue = AcceptableBooleanValue, S extends MenuRadioOptionData<T> = MenuRadioOptionData<T>> = DropdownMenuWrapperEmits & MenuRadioOptionsEmits<T, S>;
25
40
  //#endregion
26
41
  export { DropdownMenuCheckboxEmits, DropdownMenuCheckboxProps, DropdownMenuEmits, DropdownMenuProps, DropdownMenuRadioEmits, DropdownMenuRadioProps, DropdownMenuWrapperEmits, DropdownMenuWrapperProps };
@@ -0,0 +1 @@
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{formVariants as t}from"../../variants/form.js";import{useFormContext as n}from"./context.js";import{computed as r,createBlock as i,createCommentVNode as a,createTextVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,unref as m,useSlots as h,withCtx as g,withDirectives as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{FormDescription as y,FormError as b,FormField as x,FormLabel as S,provideFormFieldUi as C}from"@soybeanjs/headless";import{vAutoAnimate as w}from"@formkit/auto-animate";var T=s({name:`SFormFieldBase`,__name:`form-field-base`,props:{class:{},size:{},ui:{},label:{},description:{},labelProps:{},descriptionProps:{},errorProps:{},error:{},isFieldArray:{type:Boolean}},setup(s){let T=s,E=h(),D=v(T,[`class`,`size`,`ui`,`label`,`description`,`labelProps`,`descriptionProps`,`errorProps`]),O=n(`FormField`),k=r(()=>T.size??O.size.value),A=r(()=>e(t({size:k.value}),O.ui.value,T.ui,{field:T.isFieldArray?void 0:T.class,fieldArray:T.isFieldArray?T.class:void 0})),j=r(()=>({...O.labelProps.value,...T.labelProps})),M=r(()=>({...O.descriptionProps.value,...T.descriptionProps})),N=r(()=>({...O.errorProps.value,...T.errorProps}));return C(A),(e,t)=>_((d(),i(m(x),u(c(m(D))),{default:g(t=>[m(E).label||s.label?(d(),i(m(S),u(l({key:0},j.value)),{default:g(()=>[f(e.$slots,`label`,{},()=>[o(p(s.label),1)])]),_:3},16)):a(`v-if`,!0),f(e.$slots,`default`,u(c(t))),m(E).description||s.description?(d(),i(m(y),u(l({key:1},M.value)),{default:g(()=>[f(e.$slots,`description`,{},()=>[o(p(s.description),1)])]),_:3},16)):a(`v-if`,!0),s.error?(d(),i(m(b),u(l({key:2},N.value)),{default:g(()=>[o(p(s.error),1)]),_:1},16)):a(`v-if`,!0)]),_:3},16)),[[m(w)]])}});export{T as default};
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import{formVariants as t}from"../../variants/form.js";import{provideFormContext as n}from"./context.js";import{computed as r,createElementBlock as i,defineComponent as a,normalizeClass as o,openBlock as s,renderSlot as c}from"vue";import{transformPropsToContext as l}from"@soybeanjs/headless/shared";var u=a({name:`SForm`,__name:`form`,props:{size:{},ui:{},fieldProps:{},fieldArrayProps:{},labelProps:{},descriptionProps:{},errorProps:{}},setup(a){let u=a,d=r(()=>{let{form:n}=t({size:u.size});return e(n(),u.class)});return n(l(u)),(e,t)=>(s(),i(`form`,{class:o(d.value)},[c(e.$slots,`default`)],2))}});export{u as default};
1
+ import{cn as e}from"../../theme/merge.js";import{formVariants as t}from"../../variants/form.js";import{provideFormContext as n}from"./context.js";import{computed as r,createElementBlock as i,defineComponent as a,normalizeClass as o,openBlock as s,renderSlot as c}from"vue";import{transformPropsToContext as l}from"@soybeanjs/headless/shared";var u=a({name:`SForm`,__name:`form`,props:{class:{},size:{},ui:{},fieldProps:{},fieldArrayProps:{},labelProps:{},descriptionProps:{},errorProps:{}},setup(a){let u=a,d=r(()=>{let{form:n}=t({size:u.size});return e(n(),u.class)});return n(l(u)),(e,t)=>(s(),i(`form`,{class:o(d.value)},[c(e.$slots,`default`)],2))}});export{u as default};
@@ -1,12 +1,12 @@
1
1
  import { FormProps } from "./types.js";
2
- import * as vue55 from "vue";
2
+ import * as vue115 from "vue";
3
3
 
4
4
  //#region src/components/form/form.vue.d.ts
5
5
  declare var __VLS_1: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
- declare const __VLS_base: vue55.DefineComponent<FormProps, {}, {}, {}, {}, vue55.ComponentOptionsMixin, vue55.ComponentOptionsMixin, {}, string, vue55.PublicProps, Readonly<FormProps> & Readonly<{}>, {}, {}, {}, {}, string, vue55.ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_base: vue115.DefineComponent<FormProps, {}, {}, {}, {}, vue115.ComponentOptionsMixin, vue115.ComponentOptionsMixin, {}, string, vue115.PublicProps, Readonly<FormProps> & Readonly<{}>, {}, {}, {}, {}, string, vue115.ComponentProvideOptions, false, {}, any>;
10
10
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
11
  declare const _default: typeof __VLS_export;
12
12
  type __VLS_WithSlots<T, S> = T & {
@@ -1,6 +1,5 @@
1
- import { FormContextParams, FormFieldArrayProps, FormFieldProps, FormProps } from "./types.js";
1
+ import { FormContextParams, FormFieldArrayComponent, FormFieldArrayProps, FormFieldArraySlots, FormFieldBaseProps, FormFieldBaseSlotProps, FormFieldComponent, FormFieldProps, FormFieldSlots, FormProps } from "./types.js";
2
2
  import { _default } from "./form.vue.js";
3
- import { _default as _default$1 } from "./form-field.vue.js";
4
- import { _default as _default$2 } from "./form-field-array.vue.js";
3
+ import { useForm } from "./use-form.js";
5
4
  import { FormDescriptionProps, FormErrorProps, FormLabelProps } from "@soybeanjs/headless/form";
6
5
  export { type FormDescriptionProps, type FormErrorProps, type FormLabelProps };
@@ -1,10 +1,11 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { FormHTMLAttributes } from "vue";
4
- import { FormDescriptionProps, FormErrorProps, FormFieldArrayProps, FormFieldProps, FormFieldUi, FormLabelProps, PropsToContext } from "@soybeanjs/headless";
3
+ import { ComponentOptionsMixin, CreateComponentPublicInstanceWithMixins, EmitsOptions, FormHTMLAttributes, PublicProps, SlotsType } from "vue";
4
+ import { ClassValue, FormDescriptionProps, FormErrorProps, FormFieldArrayStates, FormFieldProps, FormFieldState, FormFieldUi, FormLabelProps, FormRegisterOptions, FormValues, Path, PathValue, PropsToContext } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/form/types.d.ts
7
- interface FormFieldProps$1 extends FormFieldProps {
7
+ interface FormFieldBaseProps extends Omit<FormFieldProps, 'class'> {
8
+ class?: ClassValue;
8
9
  size?: ThemeSize;
9
10
  ui?: Partial<FormFieldUi>;
10
11
  label?: string;
@@ -13,24 +14,37 @@ interface FormFieldProps$1 extends FormFieldProps {
13
14
  descriptionProps?: FormDescriptionProps;
14
15
  errorProps?: FormErrorProps;
15
16
  }
16
- interface FormFieldArrayProps$1 extends FormFieldArrayProps {
17
- size?: ThemeSize;
18
- ui?: Partial<FormFieldUi>;
19
- label?: string;
20
- description?: string;
21
- labelProps?: FormLabelProps;
22
- descriptionProps?: FormDescriptionProps;
23
- errorProps?: FormErrorProps;
17
+ interface FormFieldBaseSlotProps {
18
+ formFieldId: string;
19
+ ariaDescribedBy: string;
20
+ ariaInvalid: boolean;
21
+ }
22
+ interface FormFieldProps$1<Values extends FormValues, Name extends Path<Values>> extends Omit<FormFieldBaseProps, 'error' | 'fieldArray'>, FormRegisterOptions<PathValue<Values, Name>> {
23
+ name: Name;
24
24
  }
25
+ type FormFieldSlots<Values extends FormValues, Name extends Path<Values>> = SlotsType<{
26
+ default: (props: FormFieldState<Values, Name>) => any;
27
+ label: (props: FormFieldState<Values, Name>) => any;
28
+ description: (props: FormFieldState<Values, Name>) => any;
29
+ }>;
30
+ 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>>;
31
+ type FormFieldArrayProps<Values extends FormValues, Name extends Path<Values>> = FormFieldProps$1<Values, Name>;
32
+ type FormFieldArraySlots<Values extends FormValues, Name extends Path<Values>> = SlotsType<{
33
+ default: (props: FormFieldArrayStates<Values, Name>) => any;
34
+ label: (props: FormFieldArrayStates<Values, Name>) => any;
35
+ description: (props: FormFieldArrayStates<Values, Name>) => any;
36
+ }>;
37
+ 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>>;
25
38
  interface FormProps extends /** @vue-ignore */FormHTMLAttributes {
39
+ class?: ClassValue;
26
40
  size?: ThemeSize;
27
41
  ui?: Partial<FormFieldUi>;
28
- fieldProps?: FormFieldProps$1;
29
- fieldArrayProps?: FormFieldArrayProps$1;
42
+ fieldProps?: FormFieldBaseProps;
43
+ fieldArrayProps?: FormFieldBaseProps;
30
44
  labelProps?: FormLabelProps;
31
45
  descriptionProps?: FormDescriptionProps;
32
46
  errorProps?: FormErrorProps;
33
47
  }
34
48
  interface FormContextParams extends PropsToContext<FormProps> {}
35
49
  //#endregion
36
- export { FormContextParams, FormFieldArrayProps$1 as FormFieldArrayProps, FormFieldProps$1 as FormFieldProps, FormProps };
50
+ export { FormContextParams, FormFieldArrayComponent, FormFieldArrayProps, FormFieldArraySlots, FormFieldBaseProps, FormFieldBaseSlotProps, FormFieldComponent, FormFieldProps$1 as FormFieldProps, FormFieldSlots, FormProps };
@@ -0,0 +1,48 @@
1
+ import { FormFieldArrayComponent, FormFieldComponent } from "./types.js";
2
+ import * as vue120 from "vue";
3
+ import * as _soybeanjs_headless28 from "@soybeanjs/headless";
4
+ import { FormValues, InferStandardSchemaInput, Path, StandardSchemaV1, UseFormOptions } from "@soybeanjs/headless";
5
+
6
+ //#region src/components/form/use-form.d.ts
7
+ declare function useForm$1<S extends StandardSchemaV1<FormValues, FormValues>>(options: UseFormOptions<S>): {
8
+ SFormField: FormFieldComponent<InferStandardSchemaInput<S>>;
9
+ SFormFieldArray: FormFieldArrayComponent<InferStandardSchemaInput<S>>;
10
+ handleSubmit: (event?: Event) => void;
11
+ handleReset: (event?: Event) => void;
12
+ useFieldArray: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name, opts?: _soybeanjs_headless28.FormRegisterOptions<_soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>> | undefined) => vue120.Ref<_soybeanjs_headless28.FormFieldArrayStates<InferStandardSchemaInput<S>, Name>, _soybeanjs_headless28.FormFieldArrayStates<InferStandardSchemaInput<S>, Name>>;
13
+ useField: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name, opts?: _soybeanjs_headless28.FormRegisterOptions<_soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>> | undefined) => vue120.Ref<_soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>, _soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>>;
14
+ dirty: vue120.ComputedRef<boolean>;
15
+ setSubmitting: (isSubmitting: boolean) => void;
16
+ registerField: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name, opts?: _soybeanjs_headless28.FormRegisterOptions<_soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>> | undefined) => vue120.Ref<_soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>, _soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>>;
17
+ registerFieldArray: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name, opts?: _soybeanjs_headless28.FormRegisterOptions<_soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>> | undefined) => vue120.Ref<_soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>, _soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>>;
18
+ validateField: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name) => Promise<string | undefined | void>;
19
+ getFieldValue: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name) => vue120.WritableComputedRef<_soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>, _soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>>;
20
+ getFieldMeta: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name) => vue120.Ref<{
21
+ dirty: boolean;
22
+ error: string | undefined;
23
+ touched: boolean | undefined;
24
+ }>;
25
+ getFieldError: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name) => string | undefined;
26
+ getFieldTouched: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name) => boolean | undefined;
27
+ getFieldDirty: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name) => boolean;
28
+ getFieldState: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name) => vue120.Ref<_soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>, _soybeanjs_headless28.FormFieldState<InferStandardSchemaInput<S>, Name>>;
29
+ setValues: (values: InferStandardSchemaInput<S>, shouldValidate?: boolean) => Promise<void> | Promise<{ [K in keyof Path<InferStandardSchemaInput<S>>]?: string | undefined }>;
30
+ setErrors: (errors: { [K in keyof Path<InferStandardSchemaInput<S>>]?: string | undefined }) => void;
31
+ setFieldValue: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name, value: _soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>, shouldValidate?: boolean) => Promise<void> | Promise<{ [K in keyof Path<InferStandardSchemaInput<S>>]?: string | undefined }>;
32
+ setFieldTouched: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name, touched: boolean) => void;
33
+ setFieldError: <Name extends Path<InferStandardSchemaInput<S>>>(name: Name, error: string | undefined) => void;
34
+ setFieldArrayValue: <Name extends Path<InferStandardSchemaInput<S>>, Method extends (...args: any) => any>(name: Name, value: _soybeanjs_headless28.PathValue<InferStandardSchemaInput<S>, Name>, method: Method, args?: Partial<{
35
+ argA: Parameters<Method>[1];
36
+ argB: Parameters<Method>[2];
37
+ }> | undefined, shouldSetValue?: boolean) => Promise<void> | Promise<{ [K in keyof Path<InferStandardSchemaInput<S>>]?: string | undefined }>;
38
+ validateForm: (values?: InferStandardSchemaInput<S> | undefined) => Promise<{ [K in keyof Path<InferStandardSchemaInput<S>>]?: string | undefined }>;
39
+ resetForm: (nextState?: _soybeanjs_headless28.FormResetState<InferStandardSchemaInput<S>> | undefined) => void;
40
+ values: InferStandardSchemaInput<S>;
41
+ touched: vue120.Ref<{ [K in keyof Path<InferStandardSchemaInput<S>>]?: boolean | undefined }, { [K in keyof Path<InferStandardSchemaInput<S>>]?: boolean | undefined }>;
42
+ errors: vue120.Ref<{ [K_1 in keyof Path<InferStandardSchemaInput<S>>]?: string | undefined }, { [K_1 in keyof Path<InferStandardSchemaInput<S>>]?: string | undefined }>;
43
+ submitCount: vue120.ShallowRef<number>;
44
+ isSubmitting: vue120.ShallowRef<boolean>;
45
+ isValidating: vue120.ShallowRef<boolean>;
46
+ };
47
+ //#endregion
48
+ export { useForm$1 as useForm };
@@ -0,0 +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?.(a.value),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?.(i.value),default:()=>r.default?.(i.value)})},{name:`SFormFieldArray`,props:[`name`]});return{...o,SFormField:s,SFormFieldArray:c}}export{a as useForm};
@@ -1,12 +1,12 @@
1
1
  import { IconProps as IconProps$1 } from "./types.js";
2
- import * as vue160 from "vue";
2
+ import * as vue110 from "vue";
3
3
  import * as _iconify_vue0 from "@iconify/vue";
4
4
 
5
5
  //#region src/components/icon/icon.vue.d.ts
6
- declare const __VLS_export: vue160.DefineComponent<IconProps$1, {}, {}, {}, {}, vue160.ComponentOptionsMixin, vue160.ComponentOptionsMixin, {}, string, vue160.PublicProps, Readonly<IconProps$1> & Readonly<{}>, {
6
+ declare const __VLS_export: vue110.DefineComponent<IconProps$1, {}, {}, {}, {}, vue110.ComponentOptionsMixin, vue110.ComponentOptionsMixin, {}, string, vue110.PublicProps, Readonly<IconProps$1> & Readonly<{}>, {
7
7
  width: _iconify_vue0.IconifyIconSize;
8
8
  height: _iconify_vue0.IconifyIconSize;
9
- }, {}, {}, {}, string, vue160.ComponentProvideOptions, false, {}, any>;
9
+ }, {}, {}, {}, string, vue110.ComponentProvideOptions, false, {}, any>;
10
10
  declare const _default: typeof __VLS_export;
11
11
  //#endregion
12
12
  export { _default };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../icon/icon.js";import{inputVariants as n}from"../../variants/input.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,withCtx as p}from"vue";import{useForwardElement as m,useOmitProps as h}from"@soybeanjs/headless/composables";import{InputControl as g,InputRoot as _,provideInputThemeContext as v}from"@soybeanjs/headless";var y=s({name:`SInput`,__name:`input`,props:{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:y}){let b=s,x=y,[S,C]=m(e=>b.inputRef?.(e)),w=h(b,[`inputRef`,`size`,`ui`,`controlProps`,`clearable`]),T=r(()=>e(n({size:b.size}),b.ui));return v({ui:T}),(e,n)=>(u(),i(f(_),c(f(w),{"onUpdate:modelValue":n[0]||=e=>x(`update:modelValue`,e)}),{default:p(({clear:n})=>[d(e.$slots,`leading`),o(f(g),c(s.controlProps,{ref:f(C)}),null,16),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(T.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`)]),_:3},16))}});export{y as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../icon/icon.js";import{inputVariants as n}from"../../variants/input.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";var 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,5 +1,5 @@
1
1
  import { InputProps } from "./types.js";
2
- import * as vue50 from "vue";
2
+ import * as vue172 from "vue";
3
3
 
4
4
  //#region src/components/input/input.vue.d.ts
5
5
  declare var __VLS_10: {}, __VLS_24: {};
@@ -8,11 +8,11 @@ type __VLS_Slots = {} & {
8
8
  } & {
9
9
  trailing?: (props: typeof __VLS_24) => any;
10
10
  };
11
- declare const __VLS_base: vue50.DefineComponent<InputProps, {}, {}, {}, {}, vue50.ComponentOptionsMixin, vue50.ComponentOptionsMixin, {
11
+ declare const __VLS_base: vue172.DefineComponent<InputProps, {}, {}, {}, {}, vue172.ComponentOptionsMixin, vue172.ComponentOptionsMixin, {
12
12
  "update:modelValue": (value: string) => any;
13
- }, string, vue50.PublicProps, Readonly<InputProps> & Readonly<{
13
+ }, string, vue172.PublicProps, Readonly<InputProps> & Readonly<{
14
14
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
15
- }>, {}, {}, {}, {}, string, vue50.ComponentProvideOptions, false, {}, any>;
15
+ }>, {}, {}, {}, {}, string, vue172.ComponentProvideOptions, false, {}, any>;
16
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
17
  declare const _default: typeof __VLS_export;
18
18
  type __VLS_WithSlots<T, S> = T & {
@@ -3,9 +3,13 @@ import "../../theme/index.js";
3
3
  import { ClassValue, InputControlProps, InputRootEmits, InputRootProps, InputUi } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/input/types.d.ts
6
- type InputExtraThemeSlot = 'clearable';
7
- type InputExtendedUi = InputUi & Record<InputExtraThemeSlot, ClassValue>;
6
+ type InputExtraUiSlot = 'clearable';
7
+ type InputExtendedUi = InputUi & Record<InputExtraUiSlot, ClassValue>;
8
8
  interface InputProps extends InputRootProps {
9
+ /**
10
+ * root class
11
+ */
12
+ class?: ClassValue;
9
13
  size?: ThemeSize;
10
14
  ui?: Partial<InputExtendedUi>;
11
15
  /** Whether to show the clear icon */
@@ -1 +1 @@
1
- import{kbdVariants as e}from"../../variants/kbd.js";import{computed as t,createBlock as n,defineComponent as r,mergeProps as i,openBlock as a,unref as o}from"vue";import{useOmitProps as s}from"@soybeanjs/headless/composables";import{Kbd as c}from"@soybeanjs/headless";var l=r({name:`SKbd`,__name:`kbd`,props:{size:{},variant:{},value:{},symbolize:{type:Boolean,default:!0}},setup(r){let l=r,u=s(l,[`class`,`size`,`variant`]),d=t(()=>e({size:l.size,variant:l.variant}));return(e,t)=>(a(),n(o(c),i(o(u),{class:d.value}),null,16,[`class`]))}});export{l as default};
1
+ import{cn as e}from"../../theme/merge.js";import{kbdVariants as t}from"../../variants/kbd.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";var u=i({name:`SKbd`,__name:`kbd`,props:{class:{},size:{},variant:{},value:{},symbolize:{type:Boolean,default:!0}},setup(i){let u=i,d=c(u,[`class`,`size`,`variant`]),f=n(()=>e(t({size:u.size,variant:u.variant}),u.class));return(e,t)=>(o(),r(s(l),a(s(d),{class:f.value}),null,16,[`class`]))}});export{u as default};
@@ -1,10 +1,10 @@
1
1
  import { KbdProps } from "./types.js";
2
- import * as vue175 from "vue";
2
+ import * as vue167 from "vue";
3
3
 
4
4
  //#region src/components/kbd/kbd.vue.d.ts
5
- declare const __VLS_export: vue175.DefineComponent<KbdProps, {}, {}, {}, {}, vue175.ComponentOptionsMixin, vue175.ComponentOptionsMixin, {}, string, vue175.PublicProps, Readonly<KbdProps> & Readonly<{}>, {
5
+ declare const __VLS_export: vue167.DefineComponent<KbdProps, {}, {}, {}, {}, vue167.ComponentOptionsMixin, vue167.ComponentOptionsMixin, {}, string, vue167.PublicProps, Readonly<KbdProps> & Readonly<{}>, {
6
6
  symbolize: boolean;
7
- }, {}, {}, {}, string, vue175.ComponentProvideOptions, false, {}, any>;
7
+ }, {}, {}, {}, string, vue167.ComponentProvideOptions, false, {}, any>;
8
8
  declare const _default: typeof __VLS_export;
9
9
  //#endregion
10
10
  export { _default };
@@ -1,10 +1,11 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { KbdVariant } from "../../variants/kbd.js";
4
- import { KbdProps, KbdValue as KbdValue$1 } from "@soybeanjs/headless";
4
+ import { ClassValue, KbdProps, KbdValue as KbdValue$1 } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/kbd/types.d.ts
7
7
  interface KbdProps$1 extends KbdProps {
8
+ class?: ClassValue;
8
9
  size?: ThemeSize;
9
10
  variant?: KbdVariant;
10
11
  }
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import{labelVariants as t}from"../../variants/label.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";var d=i({name:`SLabel`,__name:`label`,props:{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{labelVariants as t}from"../../variants/label.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";var 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,12 +1,12 @@
1
1
  import { LabelProps } from "./types.js";
2
- import * as vue190 from "vue";
2
+ import * as vue58 from "vue";
3
3
 
4
4
  //#region src/components/label/label.vue.d.ts
5
5
  declare var __VLS_8: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_8) => any;
8
8
  };
9
- declare const __VLS_base: vue190.DefineComponent<LabelProps, {}, {}, {}, {}, vue190.ComponentOptionsMixin, vue190.ComponentOptionsMixin, {}, string, vue190.PublicProps, Readonly<LabelProps> & Readonly<{}>, {}, {}, {}, {}, string, vue190.ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_base: vue58.DefineComponent<LabelProps, {}, {}, {}, {}, vue58.ComponentOptionsMixin, vue58.ComponentOptionsMixin, {}, string, vue58.PublicProps, Readonly<LabelProps> & Readonly<{}>, {}, {}, {}, {}, string, vue58.ComponentProvideOptions, false, {}, any>;
10
10
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
11
  declare const _default: typeof __VLS_export;
12
12
  type __VLS_WithSlots<T, S> = T & {
@@ -1,9 +1,10 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { LabelProps } from "@soybeanjs/headless";
3
+ import { ClassValue, LabelProps } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/label/types.d.ts
6
6
  interface LabelProps$1 extends LabelProps {
7
+ class?: ClassValue;
7
8
  size?: ThemeSize;
8
9
  }
9
10
  //#endregion
@@ -1,4 +1,4 @@
1
- import * as vue200 from "vue";
1
+ import * as vue193 from "vue";
2
2
  import { LayoutTriggerProps } from "@soybeanjs/headless";
3
3
 
4
4
  //#region src/components/layout/layout-trigger.vue.d.ts
@@ -6,7 +6,7 @@ declare var __VLS_8: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_8) => any;
8
8
  };
9
- declare const __VLS_base: vue200.DefineComponent<LayoutTriggerProps, {}, {}, {}, {}, vue200.ComponentOptionsMixin, vue200.ComponentOptionsMixin, {}, string, vue200.PublicProps, Readonly<LayoutTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, vue200.ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_base: vue193.DefineComponent<LayoutTriggerProps, {}, {}, {}, {}, vue193.ComponentOptionsMixin, vue193.ComponentOptionsMixin, {}, string, vue193.PublicProps, Readonly<LayoutTriggerProps> & Readonly<{}>, {}, {}, {}, {}, string, vue193.ComponentProvideOptions, false, {}, any>;
10
10
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
11
  declare const _default: typeof __VLS_export;
12
12
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeRatio as t}from"../../theme/config.js";import{provideSizeContext as n}from"../../theme/context.js";import{drawerContentVariants as r}from"../../variants/drawer.js";import{layoutVariants as i}from"../../variants/layout.js";import{computed as a,createBlock as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useOmitProps as g}from"@soybeanjs/headless/composables";import{LayoutFooter as _,LayoutHeader as v,LayoutMain as y,LayoutRail as b,LayoutRoot as x,LayoutSidebar as S,LayoutTab as C,provideLayoutThemeContext as w}from"@soybeanjs/headless";var T=c({name:`SLayout`,__name:`layout`,props:{size:{},ui:{},sidebarProps:{},headerProps:{},mainProps:{},tabProps:{},footerProps:{},railProps:{},mobileProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},side:{},variant:{},collapsible:{},sidebarWidth:{},collapsedSidebarWidth:{},mobileMediaQuery:{},mobileSidebarWidth:{},sizeRatio:{}},emits:[`update:open`],setup(c,{emit:T}){let E=c,D=T,O=g(E,[`size`,`ui`,`sidebarProps`,`headerProps`,`mainProps`,`tabProps`,`footerProps`,`railProps`,`mobileProps`]),k=a(()=>t[E.size||`md`]);return w({ui:a(()=>{let t=i({size:E.size,variant:E.variant,side:E.side,collapsible:E.collapsible}),n=r({size:E.size,side:E.side});return t.mobileDrawer=()=>n,e(t,E.ui)})}),n(()=>E.size),(e,t)=>(f(),o(m(x),u(m(O),{"size-ratio":k.value,"onUpdate:open":t[0]||=e=>D(`update:open`,e)}),{default:h(t=>[s(m(S),d(l(c.sidebarProps)),{default:h(()=>[p(e.$slots,`sidebar`,d(l(t))),s(m(b),d(l(c.railProps)),null,16)]),_:2},1040),s(m(y),d(l(c.mainProps)),{default:h(()=>[s(m(v),d(l(c.headerProps)),{default:h(()=>[p(e.$slots,`header`)]),_:3},16),s(m(C),d(l(c.tabProps)),{default:h(()=>[p(e.$slots,`tab`)]),_:3},16),p(e.$slots,`default`),s(m(_),d(l(c.footerProps)),{default:h(()=>[p(e.$slots,`footer`)]),_:3},16)]),_:3},16)]),_:3},16,[`size-ratio`]))}});export{T as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import{provideSizeContext as r}from"../../theme/context.js";import{drawerVariants as i}from"../../variants/drawer.js";import{layoutVariants as a}from"../../variants/layout.js";import{computed as o,createBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderSlot as m,unref as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{LayoutFooter as v,LayoutHeader as y,LayoutMain as b,LayoutRail as x,LayoutRoot as S,LayoutSidebar as C,LayoutTab as w,provideLayoutUi as T}from"@soybeanjs/headless";var E=l({name:`SLayout`,__name:`layout`,props:{class:{},size:{default:`md`},ui:{},sidebarProps:{},headerProps:{},mainProps:{},tabProps:{},footerProps:{},railProps:{},mobileProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},side:{},variant:{},collapsible:{},sidebarWidth:{},collapsedSidebarWidth:{},mobileMediaQuery:{},mobileSidebarWidth:{},pxToRem:{}},emits:[`update:open`],setup(l,{emit:E}){let D=l,O=E,k=_(D,[`class`,`size`,`ui`,`pxToRem`,`sidebarProps`,`headerProps`,`mainProps`,`tabProps`,`footerProps`,`railProps`,`mobileProps`]),A=e=>D.pxToRem?D.pxToRem(e):e*n[D.size]/t.md;return T(o(()=>{let t=a({size:D.size,variant:D.variant,side:D.side,collapsible:D.collapsible}),n=i({size:D.size,side:D.side});return e({...t,mobileDrawer:n.content},D.ui,{root:D.class})})),r(()=>D.size),(e,t)=>(p(),s(h(S),d(h(k),{"px-to-rem":A,"onUpdate:open":t[0]||=e=>O(`update:open`,e)}),{default:g(t=>[c(h(C),f(u(l.sidebarProps)),{default:g(()=>[m(e.$slots,`sidebar`,f(u(t))),c(h(x),f(u(l.railProps)),null,16)]),_:2},1040),c(h(b),f(u(l.mainProps)),{default:g(()=>[c(h(y),f(u(l.headerProps)),{default:g(()=>[m(e.$slots,`header`)]),_:3},16),c(h(w),f(u(l.tabProps)),{default:g(()=>[m(e.$slots,`tab`)]),_:3},16),m(e.$slots,`default`),c(h(v),f(u(l.footerProps)),{default:g(()=>[m(e.$slots,`footer`)]),_:3},16)]),_:3},16)]),_:3},16))}});export{E as default};
@@ -1,5 +1,7 @@
1
+ import { ThemeSize } from "../../theme/types.js";
2
+ import "../../theme/index.js";
1
3
  import { LayoutProps } from "./types.js";
2
- import * as vue195 from "vue";
4
+ import * as vue188 from "vue";
3
5
 
4
6
  //#region src/components/layout/layout.vue.d.ts
5
7
  declare var __VLS_16: {
@@ -17,13 +19,14 @@ type __VLS_Slots = {} & {
17
19
  } & {
18
20
  footer?: (props: typeof __VLS_53) => any;
19
21
  };
20
- declare const __VLS_base: vue195.DefineComponent<LayoutProps, {}, {}, {}, {}, vue195.ComponentOptionsMixin, vue195.ComponentOptionsMixin, {
22
+ declare const __VLS_base: vue188.DefineComponent<LayoutProps, {}, {}, {}, {}, vue188.ComponentOptionsMixin, vue188.ComponentOptionsMixin, {
21
23
  "update:open": (open: boolean) => any;
22
- }, string, vue195.PublicProps, Readonly<LayoutProps> & Readonly<{
24
+ }, string, vue188.PublicProps, Readonly<LayoutProps> & Readonly<{
23
25
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
24
26
  }>, {
27
+ size: ThemeSize;
25
28
  open: boolean;
26
- }, {}, {}, {}, string, vue195.ComponentProvideOptions, false, {}, any>;
29
+ }, {}, {}, {}, string, vue188.ComponentProvideOptions, false, {}, any>;
27
30
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
31
  declare const _default: typeof __VLS_export;
29
32
  type __VLS_WithSlots<T, S> = T & {
@@ -1,9 +1,10 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { LayoutFooterProps, LayoutHeaderProps, LayoutMainProps, LayoutMobileProps, LayoutRailProps, LayoutRootEmits, LayoutRootProps, LayoutSidebarProps, LayoutTabProps, LayoutUi } from "@soybeanjs/headless";
3
+ import { ClassValue, LayoutFooterProps, LayoutHeaderProps, LayoutMainProps, LayoutMobileProps, LayoutRailProps, LayoutRootEmits, LayoutRootProps, LayoutSidebarProps, LayoutTabProps, LayoutUi } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/layout/types.d.ts
6
6
  interface LayoutProps extends LayoutRootProps {
7
+ class?: ClassValue;
7
8
  size?: ThemeSize;
8
9
  ui?: Partial<LayoutUi>;
9
10
  sidebarProps?: LayoutSidebarProps;
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import{linkVariants as t}from"../../variants/link.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{Link as u}from"@soybeanjs/headless";var d=i({name:`SLink`,__name:`link`,props:{to:{},href:{},disabled:{type:Boolean,default:void 0},inactiveClass:{},external:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetchedClass:{},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},asChild:{type:Boolean},as:{},custom:{type:Boolean},activeClass:{},exactActiveClass:{},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},replace:{type:Boolean,default:void 0}},setup(i){let d=i,f=t(),p=n(()=>e(f,d.class));return(e,t)=>(o(),r(c(u),a(d,{class:p.value}),{default:l(({isHref:t})=>[s(e.$slots,`default`,{isHref:t})]),_:3},16,[`class`]))}});export{d as default};
1
+ import{cn as e}from"../../theme/merge.js";import{linkVariants as t}from"../../variants/link.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{Link as u}from"@soybeanjs/headless";var d=i({name:`SLink`,__name:`link`,props:{class:{},to:{},href:{},disabled:{type:Boolean,default:void 0},inactiveClass:{},external:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetchedClass:{},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},asChild:{type:Boolean},as:{},custom:{type:Boolean,default:void 0},activeClass:{},exactActiveClass:{},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},replace:{type:Boolean,default:void 0}},setup(i){let d=i,f=t(),p=n(()=>e(f,d.class));return(e,t)=>(o(),r(c(u),a(d,{class:p.value}),{default:l(({isHref:t})=>[s(e.$slots,`default`,{isHref:t})]),_:3},16,[`class`]))}});export{d as default};
@@ -1,5 +1,5 @@
1
1
  import { LinkProps } from "./types.js";
2
- import * as vue75 from "vue";
2
+ import * as vue198 from "vue";
3
3
 
4
4
  //#region src/components/link/link.vue.d.ts
5
5
  declare var __VLS_8: {
@@ -8,15 +8,16 @@ declare var __VLS_8: {
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_8) => any;
10
10
  };
11
- declare const __VLS_base: vue75.DefineComponent<LinkProps, {}, {}, {}, {}, vue75.ComponentOptionsMixin, vue75.ComponentOptionsMixin, {}, string, vue75.PublicProps, Readonly<LinkProps> & Readonly<{}>, {
12
- viewTransition: boolean;
13
- replace: boolean;
11
+ declare const __VLS_base: vue198.DefineComponent<LinkProps, {}, {}, {}, {}, vue198.ComponentOptionsMixin, vue198.ComponentOptionsMixin, {}, string, vue198.PublicProps, Readonly<LinkProps> & Readonly<{}>, {
14
12
  disabled: boolean;
13
+ replace: boolean;
14
+ custom: boolean;
15
+ viewTransition: boolean;
15
16
  external: boolean;
16
17
  noRel: boolean;
17
18
  prefetch: boolean;
18
19
  noPrefetch: boolean;
19
- }, {}, {}, {}, string, vue75.ComponentProvideOptions, false, {}, any>;
20
+ }, {}, {}, {}, string, vue198.ComponentProvideOptions, false, {}, any>;
20
21
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
22
  declare const _default: typeof __VLS_export;
22
23
  type __VLS_WithSlots<T, S> = T & {
@@ -1,2 +1,8 @@
1
- import { LinkProps as LinkProps$1 } from "@soybeanjs/headless";
2
- export { type LinkProps$1 as LinkProps };
1
+ import { ClassValue, LinkProps } from "@soybeanjs/headless";
2
+
3
+ //#region src/components/link/types.d.ts
4
+ interface LinkProps$1 extends LinkProps {
5
+ class?: ClassValue;
6
+ }
7
+ //#endregion
8
+ export { LinkProps$1 as LinkProps };
@@ -1,5 +1,5 @@
1
1
  import { ListItemProps } from "./types.js";
2
- import * as vue185 from "vue";
2
+ import * as vue218 from "vue";
3
3
 
4
4
  //#region src/components/list/list-item.vue.d.ts
5
5
  declare var __VLS_8: {}, __VLS_22: {}, __VLS_30: {}, __VLS_32: {}, __VLS_34: {};
@@ -14,7 +14,7 @@ type __VLS_Slots = {} & {
14
14
  } & {
15
15
  trailing?: (props: typeof __VLS_34) => any;
16
16
  };
17
- declare const __VLS_base: vue185.DefineComponent<ListItemProps, {}, {}, {}, {}, vue185.ComponentOptionsMixin, vue185.ComponentOptionsMixin, {}, string, vue185.PublicProps, Readonly<ListItemProps> & Readonly<{}>, {}, {}, {}, {}, string, vue185.ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_base: vue218.DefineComponent<ListItemProps, {}, {}, {}, {}, vue218.ComponentOptionsMixin, vue218.ComponentOptionsMixin, {}, string, vue218.PublicProps, Readonly<ListItemProps> & Readonly<{}>, {}, {}, {}, {}, string, vue218.ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
20
20
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{listVariants as t}from"../../variants/list.js";import{computed as n,createBlock as r,defineComponent as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{ListRoot as l,provideListThemeContext as u}from"@soybeanjs/headless";var d=i({name:`SList`,__name:`list`,props:{size:{},ui:{}},setup(i){let d=i;return u({ui:n(()=>e(t({size:d.size}),d.ui))}),(e,t)=>(a(),r(s(l),null,{default:c(()=>[o(e.$slots,`default`)]),_:3}))}});export{d as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{listVariants as t}from"../../variants/list.js";import{computed as n,createBlock as r,defineComponent as i,openBlock as a,renderSlot as o,unref as s,withCtx as c}from"vue";import{ListRoot as l,provideListUi as u}from"@soybeanjs/headless";var d=i({name:`SList`,__name:`list`,props:{class:{},size:{},ui:{}},setup(i){let d=i;return u(n(()=>e(t({size:d.size}),d.ui,{root:d.class}))),(e,t)=>(a(),r(s(l),null,{default:c(()=>[o(e.$slots,`default`)]),_:3}))}});export{d as default};