@soybeanjs/ui 0.1.8 → 0.1.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 (96) hide show
  1. package/dist/components/accordion/accordion.vue.d.ts +3 -3
  2. package/dist/components/alert/alert.vue.d.ts +4 -4
  3. package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +3 -3
  4. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +3 -3
  5. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +4 -4
  6. package/dist/components/avatar/avatar.vue.d.ts +7 -7
  7. package/dist/components/badge/badge.vue.d.ts +4 -4
  8. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  9. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
  10. package/dist/components/breadcrumb/types.d.ts +3 -8
  11. package/dist/components/button/button-group.vue.d.ts +6 -6
  12. package/dist/components/button/button-icon.vue.d.ts +3 -3
  13. package/dist/components/button/button-link.vue.d.ts +4 -4
  14. package/dist/components/button/button-loading.vue.d.ts +3 -3
  15. package/dist/components/button/button.vue.d.ts +4 -4
  16. package/dist/components/card/card.vue.d.ts +3 -3
  17. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
  18. package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
  19. package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
  20. package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
  21. package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
  22. package/dist/components/command/command.vue.d.ts +7 -7
  23. package/dist/components/config-provider/config-provider.vue.d.ts +5 -5
  24. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +9 -9
  25. package/dist/components/context-menu/context-menu-radio.vue.d.ts +9 -9
  26. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +13 -13
  27. package/dist/components/context-menu/context-menu.js +1 -1
  28. package/dist/components/context-menu/context-menu.vue.d.ts +9 -9
  29. package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
  30. package/dist/components/dialog/dialog-pure.vue.d.ts +11 -11
  31. package/dist/components/dialog/dialog.vue.d.ts +11 -11
  32. package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
  33. package/dist/components/drawer/drawer.vue.d.ts +11 -11
  34. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +9 -9
  35. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +9 -9
  36. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +13 -13
  37. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  38. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +9 -9
  39. package/dist/components/form/form.vue.d.ts +2 -2
  40. package/dist/components/form/use-form.d.ts +22 -22
  41. package/dist/components/icon/icon.vue.d.ts +2 -2
  42. package/dist/components/input/input.vue.d.ts +4 -4
  43. package/dist/components/kbd/kbd.vue.d.ts +3 -3
  44. package/dist/components/label/label.vue.d.ts +2 -2
  45. package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
  46. package/dist/components/layout/layout.vue.d.ts +5 -5
  47. package/dist/components/link/link.vue.d.ts +3 -3
  48. package/dist/components/list/list-item.vue.d.ts +2 -2
  49. package/dist/components/list/list.vue.d.ts +2 -2
  50. package/dist/components/menu/menu-checkbox-options.vue.d.ts +3 -3
  51. package/dist/components/menu/menu-option.js +1 -1
  52. package/dist/components/menu/menu-option.vue.d.ts +9 -9
  53. package/dist/components/menu/menu-options.js +1 -1
  54. package/dist/components/menu/menu-options.vue.d.ts +9 -9
  55. package/dist/components/menu/menu-radio-options.vue.d.ts +3 -3
  56. package/dist/components/menu/types.d.ts +3 -8
  57. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  58. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  59. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  60. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +11 -11
  61. package/dist/components/navigation-menu/types.d.ts +4 -8
  62. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  63. package/dist/components/pagination/pagination.vue.d.ts +4 -4
  64. package/dist/components/password/password.vue.d.ts +4 -4
  65. package/dist/components/popover/popover.vue.d.ts +11 -11
  66. package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
  67. package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
  68. package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
  69. package/dist/components/radio-group/radio.vue.d.ts +2 -2
  70. package/dist/components/segment/segment.vue.d.ts +3 -3
  71. package/dist/components/select/select.vue.d.ts +7 -7
  72. package/dist/components/separator/separator.vue.d.ts +5 -5
  73. package/dist/components/switch/switch.vue.d.ts +25 -25
  74. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  75. package/dist/components/tag/tag.vue.d.ts +4 -4
  76. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  77. package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
  78. package/dist/components/tree/tree-virtualizer.vue.d.ts +5 -5
  79. package/dist/components/tree/tree.vue.d.ts +5 -5
  80. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  81. package/dist/components/tree-menu/tree-menu-option.js +1 -1
  82. package/dist/components/tree-menu/tree-menu-styled-item.vue.d.ts +2 -2
  83. package/dist/components/tree-menu/tree-menu.js +1 -1
  84. package/dist/components/tree-menu/tree-menu.vue.d.ts +7 -4
  85. package/dist/components/tree-menu/types.d.ts +13 -5
  86. package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
  87. package/dist/variants/badge.d.ts +3 -3
  88. package/dist/variants/button.d.ts +3 -3
  89. package/dist/variants/checkbox.d.ts +3 -3
  90. package/dist/variants/radio-group.d.ts +3 -3
  91. package/dist/variants/separator.d.ts +3 -3
  92. package/dist/variants/switch.d.ts +3 -3
  93. package/dist/variants/tabs.d.ts +3 -3
  94. package/dist/variants/tag.d.ts +3 -3
  95. package/dist/variants/textarea.d.ts +3 -3
  96. package/package.json +2 -2
@@ -1 +1 @@
1
- import e from"../link/link.js";import t from"../dropdown-menu/dropdown-menu.js";import n from"../tooltip/tooltip.js";import{useTreeMenuContext as r,useTreeMenuExtraUi as i}from"./context.js";import a from"./tree-menu-option-slot.js";import{isChildActive as o}from"./shared.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as p,createVNode as m,defineComponent as h,guardReactiveProps as g,mergeProps as _,normalizeClass as v,normalizeProps as y,openBlock as b,renderList as x,renderSlot as S,resolveComponent as C,resolveDynamicComponent as w,unref as T,useSlots as E,withCtx as D}from"vue";import{TreeMenuButton as O,TreeMenuCollapsible as k,TreeMenuItem as A,TreeMenuSub as j,useTreeMenuRootContext as M}from"@soybeanjs/headless";var N=h({name:`STreeMenuOption`,__name:`tree-menu-option`,props:{as:{default:`li`},item:{}},emits:[`selectDropdown`],setup(h,{emit:N}){let P=h,F=N,I=E(),{collapsed:L,modelValue:R,onModelValueChange:z}=M(`TreeMenuOption`),{size:B,side:V}=r(`TreeMenuOption`),H=i(`itemAbsolute`),U=c(()=>Object.keys(I)),W=c(()=>!!P.item.children?.length),G=c(()=>o(P.item,R.value)),K=c(()=>!!(P.item.to||P.item.href)),q=c(()=>{let{disabled:e,to:t,href:n,target:r,external:i}=P.item;return K.value?{disabled:e,to:t,href:n,target:r,external:i}:{}}),J=c(()=>L.value&&W.value),Y=c(()=>L.value&&!J.value?P.item.label:void 0),X=c(()=>V.value===`left`?`right`:`left`),Z=c(()=>({...P.item.tooltipProps,placement:P.item.tooltipProps?.placement??X.value})),Q=c(()=>({...P.item.dropdownMenuProps,trigger:P.item.dropdownMenuProps?.trigger??`hover`,placement:P.item.dropdownMenuProps?.placement??X.value})),$=()=>{P.item.disabled||z(P.item.value)},ee=e=>{P.item.disabled||(z(e.value),F(`selectDropdown`,e.value))};return(r,i)=>{let o=C(`STreeMenuOption`);return W.value?(b(),l(T(A),{key:1,"as-child":``,value:h.item.value,disabled:h.item.disabled},{default:D(()=>[m(T(k),{as:h.as,"disabled-collapsible":T(L)},{trigger:D(()=>[m(T(O),{"disabled-active":``,"data-child-active":G.value},{default:D(()=>[m(a,{item:h.item},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},8,[`data-child-active`])]),extra:D(()=>[J.value?(b(),l(t,_({key:0},Q.value,{items:h.item.children??[],disabled:h.item.disabled,size:T(B),"data-menu":h.item.label,onSelect:ee}),{trigger:D(()=>[f(`div`,{class:v(T(H))},null,2)]),_:1},16,[`items`,`disabled`,`size`,`data-menu`])):u(`v-if`,!0)]),default:D(()=>[m(T(j),null,{default:D(()=>[(b(!0),d(s,null,x(h.item.children,e=>(b(),l(o,{key:e.value,item:e},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,_({ref_for:!0},t))])}))]),1032,[`item`]))),128))]),_:3})]),_:3},8,[`as`,`disabled-collapsible`])]),_:3},8,[`value`,`disabled`])):(b(),l(T(A),{key:0,as:h.as,value:h.item.value,disabled:h.item.disabled},{default:D(()=>[K.value?(b(),l(T(O),{key:0,"as-child":``},{default:D(()=>[m(e,y(g(q.value)),{default:D(({isHref:e})=>[m(a,{item:h.item,"show-link-icon":e},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`,`show-link-icon`])]),_:3},16)]),_:3})):(b(),l(T(O),{key:1},{default:D(()=>[m(a,{item:h.item},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3})),Y.value?(b(),l(n,_({key:2},Z.value,{size:T(B),content:Y.value}),{trigger:D(()=>[(b(),l(w(K.value?e:`div`),_(q.value,{class:T(H),onClick:$}),null,16,[`class`]))]),_:1},16,[`size`,`content`])):u(`v-if`,!0)]),_:3},8,[`as`,`value`,`disabled`]))}}});export{N as default};
1
+ import e from"../link/link.js";import t from"../dropdown-menu/dropdown-menu.js";import n from"../tooltip/tooltip.js";import{useTreeMenuContext as r,useTreeMenuExtraUi as i}from"./context.js";import a from"./tree-menu-option-slot.js";import{isChildActive as o}from"./shared.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as p,createVNode as m,defineComponent as h,guardReactiveProps as g,mergeProps as _,normalizeClass as v,normalizeProps as y,openBlock as b,renderList as x,renderSlot as S,resolveComponent as C,resolveDynamicComponent as w,unref as T,useSlots as E,withCtx as D}from"vue";import{useOmitProps as O}from"@soybeanjs/headless/composables";import{TreeMenuButton as k,TreeMenuCollapsible as A,TreeMenuItem as j,TreeMenuSub as M,useTreeMenuRootContext as N}from"@soybeanjs/headless";var P=h({name:`STreeMenuOption`,__name:`tree-menu-option`,props:{as:{default:`li`},item:{},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`selectDropdown`],setup(h,{emit:P}){let F=h,I=P,L=E(),R=O(F,[`as`,`item`]),{collapsed:z,modelValue:B,onModelValueChange:V}=N(`TreeMenuOption`),{size:H,side:U}=r(`TreeMenuOption`),W=i(`itemAbsolute`),G=c(()=>Object.keys(L)),K=c(()=>!!F.item.children?.length),q=c(()=>o(F.item,B.value)),J=c(()=>!!(F.item.to||F.item.href)),Y=c(()=>{let{disabled:e,to:t,href:n,target:r,external:i}=F.item;return J.value?{disabled:e,to:t,href:n,target:r,external:i}:{}}),X=c(()=>z.value&&K.value),Z=c(()=>z.value&&!X.value?F.item.label:void 0),Q=c(()=>U.value===`left`?`right`:`left`),$=c(()=>({...F.item.tooltipProps,placement:F.item.tooltipProps?.placement??Q.value})),ee=c(()=>({...F.item.dropdownMenuProps,trigger:F.item.dropdownMenuProps?.trigger??`hover`,placement:F.item.dropdownMenuProps?.placement??Q.value})),te=()=>{F.item.disabled||V(F.item.value)},ne=e=>{F.item.disabled||(V(e.value),I(`selectDropdown`,e.value))};return(r,i)=>{let o=C(`STreeMenuOption`);return K.value?(b(),l(T(j),_({key:1},h.itemProps,{"as-child":``,value:h.item.value,disabled:h.item.disabled}),{default:D(()=>[m(T(A),_(h.collapsibleProps,{as:h.as,"disabled-collapsible":T(z)}),{trigger:D(()=>[m(T(k),_(h.buttonProps,{"disabled-active":``,"data-child-active":q.value}),{default:D(()=>[m(a,{item:h.item},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},16,[`data-child-active`])]),extra:D(()=>[X.value?(b(),l(t,_({key:0},ee.value,{items:h.item.children??[],disabled:h.item.disabled,size:T(H),"data-menu":h.item.label,onSelect:ne}),{trigger:D(()=>[f(`div`,{class:v(T(W))},null,2)]),_:1},16,[`items`,`disabled`,`size`,`data-menu`])):u(`v-if`,!0)]),default:D(()=>[m(T(M),y(g(h.subProps)),{default:D(()=>[(b(!0),d(s,null,x(h.item.children,e=>(b(),l(o,_({key:e.value},{ref_for:!0},T(R),{item:e}),p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,_({ref_for:!0},t))])}))]),1040,[`item`]))),128))]),_:3},16)]),_:3},16,[`as`,`disabled-collapsible`])]),_:3},16,[`value`,`disabled`])):(b(),l(T(j),_({key:0},h.itemProps,{as:h.as,value:h.item.value,disabled:h.item.disabled}),{default:D(()=>[J.value?(b(),l(T(k),_({key:0},h.buttonProps,{"as-child":``}),{default:D(()=>[m(e,y(g(Y.value)),{default:D(({isHref:e})=>[m(a,{item:h.item,"show-link-icon":e},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`,`show-link-icon`])]),_:3},16)]),_:3},16)):(b(),l(T(k),y(_({key:1},h.buttonProps)),{default:D(()=>[m(a,{item:h.item},p({_:2},[x(G.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},16)),Z.value?(b(),l(n,_({key:2},$.value,{size:T(H),content:Z.value}),{trigger:D(()=>[(b(),l(w(J.value?e:`div`),_(Y.value,{class:T(W),onClick:te}),null,16,[`class`]))]),_:1},16,[`size`,`content`])):u(`v-if`,!0)]),_:3},16,[`as`,`value`,`disabled`]))}}});export{P as default};
@@ -1,12 +1,12 @@
1
1
  import { TreeMenuStyledItemProps } from "./types.js";
2
- import * as vue304 from "vue";
2
+ import * as vue233 from "vue";
3
3
 
4
4
  //#region src/components/tree-menu/tree-menu-styled-item.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: vue304.DefineComponent<TreeMenuStyledItemProps, {}, {}, {}, {}, vue304.ComponentOptionsMixin, vue304.ComponentOptionsMixin, {}, string, vue304.PublicProps, Readonly<TreeMenuStyledItemProps> & Readonly<{}>, {}, {}, {}, {}, string, vue304.ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_base: vue233.DefineComponent<TreeMenuStyledItemProps, {}, {}, {}, {}, vue233.ComponentOptionsMixin, vue233.ComponentOptionsMixin, {}, string, vue233.PublicProps, Readonly<TreeMenuStyledItemProps> & Readonly<{}>, {}, {}, {}, {}, string, vue233.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{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import r from"../icon/icon.js";import{treeMenuVariants as i}from"../../variants/tree-menu.js";import{provideTreeMenuContext as a,provideTreeMenuExtraUi as o}from"./context.js";import{isGroupTreeMenu as s,treeMenuCssVars as c}from"./shared.js";import l from"./tree-menu-option.js";import{Fragment as u,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createSlots as g,createVNode as _,defineComponent as v,mergeProps as y,openBlock as b,renderList as x,renderSlot as S,toDisplayString as C,toHandlers as w,unref as T,useSlots as E,withCtx as D}from"vue";import{useForwardListeners as O,useOmitProps as k}from"@soybeanjs/headless/composables";import{TreeMenuGroup as A,TreeMenuGroupLabel as j,TreeMenuGroupRoot as M,TreeMenuRoot as N,provideTreeMenuUi as P}from"@soybeanjs/headless";import{transformPropsToContext as F}from"@soybeanjs/headless/shared";var I=v({name:`STreeMenu`,__name:`tree-menu`,props:{class:{},size:{default:`md`},ui:{},side:{default:`left`},items:{},collapsedWidth:{default:50},indent:{default:16},groupRootProps:{},groupProps:{},groupLabelProps:{},buttonProps:{},collapsibleProps:{},subProps:{},modelValue:{},defaultValue:{},expanded:{},defaultExpanded:{},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean}},emits:[`update:modelValue`,`update:expanded`,`update:collapsed`,`selectDropdown`],setup(v,{emit:I}){let L=v,R=I,z=E(),B=d(()=>Object.keys(z).filter(e=>e.startsWith(`item-`))),V=k(L,[`class`,`size`,`side`,`ui`,`items`,`collapsedWidth`,`indent`,`groupRootProps`,`groupProps`,`groupLabelProps`,`buttonProps`,`collapsibleProps`,`subProps`]),H=O(R),U=d(()=>{let e=L.collapsedWidth*n[L.size],r=L.indent*n[L.size];return{[c.collapsedWidth]:`${e/t.md}rem`,[c.indent]:`${r/t.md}rem`}}),W=d(()=>e(i({size:L.size}),L.ui,{root:L.class}));return P(W),o(W),a(F(L,[`size`,`side`])),(e,t)=>(b(),f(T(N),y(T(V),{style:U.value},w(T(H))),{default:D(()=>[S(e.$slots,`top`),(b(!0),m(u,null,x(v.items,t=>(b(),m(u,{key:t.value},[T(s)(t)?(b(),f(T(M),{key:0},{default:D(()=>[_(T(j),null,{default:D(()=>[t.icon?(b(),f(r,{key:0,icon:t.icon},null,8,[`icon`])):p(`v-if`,!0),h(`span`,null,C(t.label),1)]),_:2},1024),_(T(A),null,{default:D(()=>[(b(!0),m(u,null,x(t.children,t=>(b(),f(l,{key:t.value,item:t},g({_:2},[x(B.value,t=>({name:t,fn:D(n=>[S(e.$slots,t,y({ref_for:!0},n))])}))]),1032,[`item`]))),128))]),_:2},1024)]),_:2},1024)):(b(),f(l,{key:1,as:`div`,item:t},g({_:2},[x(B.value,t=>({name:t,fn:D(n=>[S(e.$slots,t,y({ref_for:!0},n))])}))]),1032,[`item`]))],64))),128)),S(e.$slots,`bottom`)]),_:3},16,[`style`]))}});export{I as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import r from"../icon/icon.js";import{treeMenuVariants as i}from"../../variants/tree-menu.js";import{provideTreeMenuContext as a,provideTreeMenuExtraUi as o}from"./context.js";import{isGroupTreeMenu as s,treeMenuCssVars as c}from"./shared.js";import l from"./tree-menu-option.js";import{Fragment as u,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createSlots as g,createVNode as _,defineComponent as v,mergeProps as y,openBlock as b,renderList as x,renderSlot as S,toDisplayString as C,toHandlers as w,unref as T,useSlots as E,withCtx as D}from"vue";import{useForwardListeners as O,useOmitProps as k,usePickProps as A}from"@soybeanjs/headless/composables";import{TreeMenuGroup as j,TreeMenuGroupLabel as M,TreeMenuGroupRoot as N,TreeMenuRoot as P,provideTreeMenuUi as F}from"@soybeanjs/headless";import{transformPropsToContext as I}from"@soybeanjs/headless/shared";var L=v({name:`STreeMenu`,__name:`tree-menu`,props:{class:{},size:{default:`md`},ui:{},side:{default:`left`},items:{},collapsedWidth:{default:50},indent:{default:16},showGroupIcon:{type:Boolean},groupRootProps:{},groupProps:{},groupLabelProps:{},modelValue:{},defaultValue:{},expanded:{},defaultExpanded:{},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},emits:[`update:modelValue`,`update:expanded`,`update:collapsed`,`selectDropdown`],setup(v,{emit:L}){let R=v,z=L,B=E(),V=d(()=>Object.keys(B).filter(e=>e.startsWith(`item-`))),H=k(R,[`class`,`size`,`side`,`ui`,`items`,`collapsedWidth`,`indent`,`showGroupIcon`,`groupRootProps`,`groupProps`,`groupLabelProps`,`itemProps`,`buttonProps`,`linkProps`,`collapsibleProps`,`subProps`]),U=A(R,[`itemProps`,`buttonProps`,`linkProps`,`collapsibleProps`,`subProps`]),W=O(z),G=d(()=>{let e=R.collapsedWidth*n[R.size],r=R.indent*n[R.size];return{[c.collapsedWidth]:`${e/t.md}rem`,[c.indent]:`${r/t.md}rem`}}),K=d(()=>e(i({size:R.size}),R.ui,{root:R.class}));return F(K),o(K),a(I(R,[`size`,`side`])),(e,t)=>(b(),f(T(P),y(T(H),{style:G.value},w(T(W))),{default:D(()=>[S(e.$slots,`top`),(b(!0),m(u,null,x(v.items,t=>(b(),m(u,{key:t.value},[T(s)(t)?(b(),f(T(N),y({key:0,ref_for:!0},v.groupRootProps),{default:D(()=>[_(T(M),y({ref_for:!0},v.groupLabelProps),{default:D(()=>[S(e.$slots,`group-label`,{item:t},()=>[v.showGroupIcon&&t.icon?(b(),f(r,{key:0,icon:t.icon},null,8,[`icon`])):p(`v-if`,!0),h(`span`,null,C(t.label),1)])]),_:2},1040),_(T(j),y({ref_for:!0},v.groupProps),{default:D(()=>[(b(!0),m(u,null,x(t.children,t=>(b(),f(l,y({key:t.value},{ref_for:!0},T(U),{item:t}),g({_:2},[x(V.value,t=>({name:t,fn:D(n=>[S(e.$slots,t,y({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:2},1040)]),_:2},1040)):(b(),f(l,y({key:1,as:`div`},{ref_for:!0},T(U),{item:t}),g({_:2},[x(V.value,t=>({name:t,fn:D(n=>[S(e.$slots,t,y({ref_for:!0},n))])}))]),1040,[`item`]))],64))),128)),S(e.$slots,`bottom`)]),_:3},16,[`style`]))}});export{L as default};
@@ -1,9 +1,9 @@
1
- import { TreeMenuBaseOptionData, TreeMenuProps } from "./types.js";
2
- import * as vue302 from "vue";
1
+ import { TreeMenuBaseOptionData, TreeMenuGroupOptionData, TreeMenuProps } from "./types.js";
2
+ import * as vue231 from "vue";
3
3
 
4
4
  //#region src/components/tree-menu/tree-menu.vue.d.ts
5
5
  declare const __VLS_export: <T extends TreeMenuBaseOptionData = TreeMenuBaseOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
- props: vue302.PublicProps & __VLS_PrettifyLocal<TreeMenuProps<T> & {
6
+ props: vue231.PublicProps & __VLS_PrettifyLocal<TreeMenuProps<T> & {
7
7
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
8
8
  "onUpdate:expanded"?: ((value: string[]) => any) | undefined;
9
9
  "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
@@ -25,9 +25,12 @@ declare const __VLS_export: <T extends TreeMenuBaseOptionData = TreeMenuBaseOpti
25
25
  'item-trailing': (props: {
26
26
  item: T;
27
27
  }) => any;
28
+ 'group-label': (props: {
29
+ item: TreeMenuGroupOptionData<T>;
30
+ }) => any;
28
31
  };
29
32
  emit: ((evt: "update:modelValue", value: string) => void) & ((evt: "update:expanded", value: string[]) => void) & ((evt: "update:collapsed", value: boolean) => void) & ((evt: "selectDropdown", value: string) => void);
30
- }>) => vue302.VNode & {
33
+ }>) => vue231.VNode & {
31
34
  __ctx?: Awaited<typeof __VLS_setup>;
32
35
  };
33
36
  declare const _default: typeof __VLS_export;
@@ -7,7 +7,7 @@ import { DropdownMenuProps } from "../dropdown-menu/types.js";
7
7
  import { TagProps as TagProps$1 } from "../tag/types.js";
8
8
  import { TooltipProps } from "../tooltip/types.js";
9
9
  import { HTMLAttributes } from "vue";
10
- import { AsTag, ClassValue, HorizontalSide, LinkBaseProps, PropsToContext, TreeMenuBaseItemProps, TreeMenuButtonProps, TreeMenuCollapsibleProps, TreeMenuGroupLabelProps, TreeMenuGroupProps, TreeMenuGroupRootProps, TreeMenuRootEmits, TreeMenuRootProps, TreeMenuSubProps, TreeMenuUiSlot, UiClass } from "@soybeanjs/headless";
10
+ import { AsTag, ClassValue, HorizontalSide, LinkBaseProps, LinkProps, PropsToContext, TreeMenuBaseItemProps, TreeMenuButtonProps, TreeMenuCollapsibleProps, TreeMenuGroupLabelProps, TreeMenuGroupProps, TreeMenuGroupRootProps, TreeMenuItemProps, TreeMenuRootEmits, TreeMenuRootProps, TreeMenuSubProps, TreeMenuUiSlot, UiClass } from "@soybeanjs/headless";
11
11
 
12
12
  //#region src/components/tree-menu/types.d.ts
13
13
  interface TreeMenuBaseOptionData extends TreeMenuBaseItemProps, LinkBaseProps {
@@ -71,10 +71,15 @@ type TreeMenuOptionData<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionDat
71
71
  interface TreeMenuOptionProps {
72
72
  as?: AsTag;
73
73
  item: TreeMenuBaseOptionData;
74
+ itemProps?: TreeMenuItemProps;
75
+ buttonProps?: TreeMenuButtonProps;
76
+ linkProps?: LinkProps;
77
+ collapsibleProps?: TreeMenuCollapsibleProps;
78
+ subProps?: TreeMenuSubProps;
74
79
  }
75
80
  type TreeMenuExtraUiSlot = 'itemLabel' | 'itemAbsolute' | 'itemBadge' | 'itemTag' | 'itemAction' | 'itemLinkIcon' | 'collapsibleIcon';
76
81
  type TreeMenuExtendedUi = UiClass<TreeMenuUiSlot | TreeMenuExtraUiSlot>;
77
- interface TreeMenuProps<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionData> extends TreeMenuRootProps {
82
+ interface TreeMenuProps<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionData> extends TreeMenuRootProps, Omit<TreeMenuOptionProps, 'as' | 'item'> {
78
83
  class?: ClassValue;
79
84
  size?: ThemeSize;
80
85
  ui?: Partial<TreeMenuExtendedUi>;
@@ -97,12 +102,15 @@ interface TreeMenuProps<T extends TreeMenuBaseOptionData = TreeMenuBaseOptionDat
97
102
  * @default 16
98
103
  */
99
104
  indent?: number;
105
+ /**
106
+ * Whether to show the group icon.
107
+ *
108
+ * @default false
109
+ */
110
+ showGroupIcon?: boolean;
100
111
  groupRootProps?: TreeMenuGroupRootProps;
101
112
  groupProps?: TreeMenuGroupProps;
102
113
  groupLabelProps?: TreeMenuGroupLabelProps;
103
- buttonProps?: Omit<TreeMenuButtonProps, 'disabledActive'>;
104
- collapsibleProps?: Omit<TreeMenuCollapsibleProps, 'as' | 'asChild'>;
105
- subProps?: Omit<TreeMenuSubProps, 'as' | 'asChild'>;
106
114
  }
107
115
  interface TreeMenuOptionSlotProps extends TreeMenuOptionProps {
108
116
  showLinkIcon?: boolean;
@@ -1,10 +1,10 @@
1
1
  import { VirtualizerProps } from "./types.js";
2
- import * as vue36 from "vue";
2
+ import * as vue229 from "vue";
3
3
  import * as _tanstack_vue_virtual0 from "@tanstack/vue-virtual";
4
4
 
5
5
  //#region src/components/virtualizer/virtualizer.vue.d.ts
6
6
  declare const __VLS_export: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
- props: vue36.PublicProps & __VLS_PrettifyLocal<VirtualizerProps<T>> & (typeof globalThis extends {
7
+ props: vue229.PublicProps & __VLS_PrettifyLocal<VirtualizerProps<T>> & (typeof globalThis extends {
8
8
  __VLS_PROPS_FALLBACK: infer P;
9
9
  } ? P : {});
10
10
  expose: (exposed: {}) => void;
@@ -17,7 +17,7 @@ declare const __VLS_export: <T extends Record<string, any>>(__VLS_props: NonNull
17
17
  }) => any;
18
18
  };
19
19
  emit: {};
20
- }>) => vue36.VNode & {
20
+ }>) => vue229.VNode & {
21
21
  __ctx?: Awaited<typeof __VLS_setup>;
22
22
  };
23
23
  declare const _default: typeof __VLS_export;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants9 from "tailwind-variants";
1
+ import * as tailwind_variants1 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/badge.d.ts
5
- declare const badgeVariants: tailwind_variants9.TVReturnType<{
5
+ declare const badgeVariants: tailwind_variants1.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  content: string;
@@ -130,7 +130,7 @@ declare const badgeVariants: tailwind_variants9.TVReturnType<{
130
130
  }, {
131
131
  root: string;
132
132
  content: string;
133
- }, tailwind_variants9.TVReturnType<{
133
+ }, tailwind_variants1.TVReturnType<{
134
134
  color: {
135
135
  primary: {
136
136
  content: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants5 from "tailwind-variants";
1
+ import * as tailwind_variants3 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/button.d.ts
5
- declare const buttonVariants: tailwind_variants5.TVReturnType<{
5
+ declare const buttonVariants: tailwind_variants3.TVReturnType<{
6
6
  color: {
7
7
  primary: string;
8
8
  destructive: string;
@@ -92,7 +92,7 @@ declare const buttonVariants: tailwind_variants5.TVReturnType<{
92
92
  true: string;
93
93
  false: string;
94
94
  };
95
- }, undefined, tailwind_variants5.TVReturnType<{
95
+ }, undefined, tailwind_variants3.TVReturnType<{
96
96
  color: {
97
97
  primary: string;
98
98
  destructive: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants1 from "tailwind-variants";
1
+ import * as tailwind_variants7 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/checkbox.d.ts
5
- declare const checkboxVariants: tailwind_variants1.TVReturnType<{
5
+ declare const checkboxVariants: tailwind_variants7.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  control: string;
@@ -164,7 +164,7 @@ declare const checkboxVariants: tailwind_variants1.TVReturnType<{
164
164
  control: string[];
165
165
  indicator: string;
166
166
  label: string;
167
- }, tailwind_variants1.TVReturnType<{
167
+ }, tailwind_variants7.TVReturnType<{
168
168
  color: {
169
169
  primary: {
170
170
  control: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants17 from "tailwind-variants";
1
+ import * as tailwind_variants29 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/radio-group.d.ts
5
- declare const radioGroupVariants: tailwind_variants17.TVReturnType<{
5
+ declare const radioGroupVariants: tailwind_variants29.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  control: string;
@@ -180,7 +180,7 @@ declare const radioGroupVariants: tailwind_variants17.TVReturnType<{
180
180
  control: string[];
181
181
  indicator: string;
182
182
  label: string;
183
- }, tailwind_variants17.TVReturnType<{
183
+ }, tailwind_variants29.TVReturnType<{
184
184
  color: {
185
185
  primary: {
186
186
  control: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants27 from "tailwind-variants";
1
+ import * as tailwind_variants15 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/separator.d.ts
5
- declare const separatorVariants: tailwind_variants27.TVReturnType<{
5
+ declare const separatorVariants: tailwind_variants15.TVReturnType<{
6
6
  size: {
7
7
  xs: {
8
8
  label: string;
@@ -114,7 +114,7 @@ declare const separatorVariants: tailwind_variants27.TVReturnType<{
114
114
  }, {
115
115
  root: string;
116
116
  label: string;
117
- }, tailwind_variants27.TVReturnType<{
117
+ }, tailwind_variants15.TVReturnType<{
118
118
  size: {
119
119
  xs: {
120
120
  label: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants21 from "tailwind-variants";
1
+ import * as tailwind_variants17 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/switch.d.ts
5
- declare const switchVariants: tailwind_variants21.TVReturnType<{
5
+ declare const switchVariants: tailwind_variants17.TVReturnType<{
6
6
  color: {
7
7
  primary: {
8
8
  control: string;
@@ -136,7 +136,7 @@ declare const switchVariants: tailwind_variants21.TVReturnType<{
136
136
  root: string;
137
137
  control: string[];
138
138
  thumb: string;
139
- }, tailwind_variants21.TVReturnType<{
139
+ }, tailwind_variants17.TVReturnType<{
140
140
  color: {
141
141
  primary: {
142
142
  control: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants15 from "tailwind-variants";
1
+ import * as tailwind_variants21 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/tabs.d.ts
5
- declare const tabsVariants: tailwind_variants15.TVReturnType<{
5
+ declare const tabsVariants: tailwind_variants21.TVReturnType<{
6
6
  size: {
7
7
  xs: {
8
8
  root: string;
@@ -148,7 +148,7 @@ declare const tabsVariants: tailwind_variants15.TVReturnType<{
148
148
  indicator: string;
149
149
  indicatorContent: string;
150
150
  content: string;
151
- }, tailwind_variants15.TVReturnType<{
151
+ }, tailwind_variants21.TVReturnType<{
152
152
  size: {
153
153
  xs: {
154
154
  root: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants31 from "tailwind-variants";
1
+ import * as tailwind_variants19 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/tag.d.ts
5
- declare const tagVariants: tailwind_variants31.TVReturnType<{
5
+ declare const tagVariants: tailwind_variants19.TVReturnType<{
6
6
  color: {
7
7
  primary: string;
8
8
  destructive: string;
@@ -64,7 +64,7 @@ declare const tagVariants: tailwind_variants31.TVReturnType<{
64
64
  auto: string;
65
65
  rounded: string;
66
66
  };
67
- }, undefined, tailwind_variants31.TVReturnType<{
67
+ }, undefined, tailwind_variants19.TVReturnType<{
68
68
  color: {
69
69
  primary: string;
70
70
  destructive: string;
@@ -1,8 +1,8 @@
1
- import * as tailwind_variants29 from "tailwind-variants";
1
+ import * as tailwind_variants27 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
4
  //#region src/variants/textarea.d.ts
5
- declare const textareaVariants: tailwind_variants29.TVReturnType<{
5
+ declare const textareaVariants: tailwind_variants27.TVReturnType<{
6
6
  size: {
7
7
  xs: {
8
8
  root: string;
@@ -118,7 +118,7 @@ declare const textareaVariants: tailwind_variants29.TVReturnType<{
118
118
  control: string[];
119
119
  counter: string;
120
120
  clearable: string;
121
- }, tailwind_variants29.TVReturnType<{
121
+ }, tailwind_variants27.TVReturnType<{
122
122
  size: {
123
123
  xs: {
124
124
  root: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@soybeanjs/ui",
3
3
  "type": "module",
4
- "version": "0.1.8",
4
+ "version": "0.1.10",
5
5
  "description": "SoybeanUI is built on top of SoybeanHeadless, providing a collection of styled components for Vue 3.",
6
6
  "author": {
7
7
  "name": "Soybean",
@@ -55,7 +55,7 @@
55
55
  "tailwind-variants": "^3.2.2",
56
56
  "valibot": "^1.2.0",
57
57
  "zod": "^4.3.6",
58
- "@soybeanjs/headless": "^0.1.8"
58
+ "@soybeanjs/headless": "^0.1.10"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@soybeanjs/cli": "^1.4.4",