@soybeanjs/ui 0.7.1 → 0.8.1

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 (135) hide show
  1. package/README.md +12 -13
  2. package/README.zh-CN.md +12 -13
  3. package/dist/components/accordion/accordion.js +1 -1
  4. package/dist/components/alert/alert.js +1 -1
  5. package/dist/components/alert/index.d.ts +1 -1
  6. package/dist/components/alert/types.d.ts +1 -1
  7. package/dist/{variants/alert.d.ts → components/alert/variants.d.ts} +1 -1
  8. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +1 -1
  9. package/dist/components/alert-dialog/alert-dialog.js +1 -1
  10. package/dist/components/avatar/avatar.js +1 -1
  11. package/dist/components/badge/badge.js +1 -1
  12. package/dist/components/badge/index.d.ts +1 -1
  13. package/dist/components/badge/types.d.ts +1 -1
  14. package/dist/{variants/badge.d.ts → components/badge/variants.d.ts} +1 -1
  15. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  16. package/dist/components/button/button-group.js +1 -1
  17. package/dist/components/button/button-icon.vue.d.ts +1 -1
  18. package/dist/components/button/button-link.vue.d.ts +1 -1
  19. package/dist/components/button/button.js +1 -1
  20. package/dist/components/button/index.d.ts +1 -1
  21. package/dist/components/button/types.d.ts +1 -1
  22. package/dist/{variants/button.d.ts → components/button/variants.d.ts} +1 -1
  23. package/dist/components/card/card.js +1 -1
  24. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  25. package/dist/components/checkbox/checkbox-card.js +1 -1
  26. package/dist/components/checkbox/checkbox-group.js +1 -1
  27. package/dist/components/checkbox/checkbox.js +1 -1
  28. package/dist/components/checkbox/types.d.ts +1 -1
  29. package/dist/{variants/checkbox.d.ts → components/checkbox/variants.d.ts} +1 -1
  30. package/dist/components/collapsible/collapsible.js +1 -1
  31. package/dist/components/command/command.js +1 -1
  32. package/dist/components/command/command.vue.d.ts +2 -2
  33. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  34. package/dist/components/dialog/dialog-pure.js +1 -1
  35. package/dist/components/dialog/dialog-pure.vue.d.ts +2 -2
  36. package/dist/components/dialog/dialog.js +1 -1
  37. package/dist/components/dialog/dialog.vue.d.ts +2 -2
  38. package/dist/components/drawer/drawer.js +1 -1
  39. package/dist/components/drawer/drawer.vue.d.ts +2 -2
  40. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  41. package/dist/components/form/form-field-base.js +1 -1
  42. package/dist/components/form/form.js +1 -1
  43. package/dist/components/input/input.js +1 -1
  44. package/dist/components/kbd/index.d.ts +1 -1
  45. package/dist/components/kbd/kbd.js +1 -1
  46. package/dist/components/kbd/types.d.ts +1 -1
  47. package/dist/{variants/kbd.d.ts → components/kbd/variants.d.ts} +1 -1
  48. package/dist/components/label/label.js +1 -1
  49. package/dist/components/layout/layout.js +1 -1
  50. package/dist/components/link/link.js +1 -1
  51. package/dist/components/list/list.js +1 -1
  52. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  53. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  54. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  55. package/dist/components/number-input/number-input.js +1 -1
  56. package/dist/components/page-tabs/index.d.ts +1 -1
  57. package/dist/components/page-tabs/page-tabs.js +1 -1
  58. package/dist/components/page-tabs/types.d.ts +1 -1
  59. package/dist/{variants/page-tabs.d.ts → components/page-tabs/variants.d.ts} +1 -1
  60. package/dist/components/pagination/pagination.js +1 -1
  61. package/dist/components/pagination/types.d.ts +1 -1
  62. package/dist/{variants/pagination.d.ts → components/pagination/variants.d.ts} +1 -1
  63. package/dist/components/password/password.js +1 -1
  64. package/dist/components/popover/popover.js +1 -1
  65. package/dist/components/radio-group/radio-card-group.js +1 -1
  66. package/dist/components/radio-group/radio-group.js +1 -1
  67. package/dist/components/radio-group/types.d.ts +1 -1
  68. package/dist/{variants/radio-group.d.ts → components/radio-group/variants.d.ts} +1 -1
  69. package/dist/components/segment/segment.js +1 -1
  70. package/dist/components/segment/types.d.ts +1 -1
  71. package/dist/components/select/select.js +1 -1
  72. package/dist/components/separator/separator.js +1 -1
  73. package/dist/components/separator/types.d.ts +1 -1
  74. package/dist/{variants/separator.d.ts → components/separator/variants.d.ts} +1 -1
  75. package/dist/components/switch/index.d.ts +1 -1
  76. package/dist/components/switch/switch.js +1 -1
  77. package/dist/components/switch/switch.vue.d.ts +1 -1
  78. package/dist/components/switch/types.d.ts +1 -1
  79. package/dist/{variants/switch.d.ts → components/switch/variants.d.ts} +1 -1
  80. package/dist/components/tabs/tabs.js +1 -1
  81. package/dist/components/tabs/types.d.ts +1 -1
  82. package/dist/{variants/tabs.d.ts → components/tabs/variants.d.ts} +1 -1
  83. package/dist/components/tag/index.d.ts +1 -1
  84. package/dist/components/tag/tag.js +1 -1
  85. package/dist/components/tag/types.d.ts +1 -1
  86. package/dist/{variants/tag.d.ts → components/tag/variants.d.ts} +1 -1
  87. package/dist/components/textarea/index.d.ts +1 -1
  88. package/dist/components/textarea/textarea.js +1 -1
  89. package/dist/components/textarea/types.d.ts +1 -1
  90. package/dist/{variants/textarea.d.ts → components/textarea/variants.d.ts} +1 -1
  91. package/dist/components/toast/toast-provider.js +1 -1
  92. package/dist/components/toast/toast.js +1 -1
  93. package/dist/components/toast/types.d.ts +1 -1
  94. package/dist/{variants/toast.d.ts → components/toast/variants.d.ts} +1 -1
  95. package/dist/components/tooltip/tooltip.js +1 -1
  96. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
  97. package/dist/components/tree-menu/tree-menu.js +1 -1
  98. package/dist/index.d.ts +8 -8
  99. package/dist/styles.css +14 -219
  100. package/package.json +4 -4
  101. /package/dist/{variants/accordion.js → components/accordion/variants.js} +0 -0
  102. /package/dist/{variants/alert.js → components/alert/variants.js} +0 -0
  103. /package/dist/{variants/avatar.js → components/avatar/variants.js} +0 -0
  104. /package/dist/{variants/badge.js → components/badge/variants.js} +0 -0
  105. /package/dist/{variants/breadcrumb.js → components/breadcrumb/variants.js} +0 -0
  106. /package/dist/{variants/button.js → components/button/variants.js} +0 -0
  107. /package/dist/{variants/card.js → components/card/variants.js} +0 -0
  108. /package/dist/{variants/checkbox.js → components/checkbox/variants.js} +0 -0
  109. /package/dist/{variants/collapsible.js → components/collapsible/variants.js} +0 -0
  110. /package/dist/{variants/command.js → components/command/variants.js} +0 -0
  111. /package/dist/{variants/dialog.js → components/dialog/variants.js} +0 -0
  112. /package/dist/{variants/drawer.js → components/drawer/variants.js} +0 -0
  113. /package/dist/{variants/form.js → components/form/variants.js} +0 -0
  114. /package/dist/{variants/input.js → components/input/variants.js} +0 -0
  115. /package/dist/{variants/kbd.js → components/kbd/variants.js} +0 -0
  116. /package/dist/{variants/label.js → components/label/variants.js} +0 -0
  117. /package/dist/{variants/layout.js → components/layout/variants.js} +0 -0
  118. /package/dist/{variants/link.js → components/link/variants.js} +0 -0
  119. /package/dist/{variants/list.js → components/list/variants.js} +0 -0
  120. /package/dist/{variants/menu.js → components/menu/variants.js} +0 -0
  121. /package/dist/{variants/navigation-menu.js → components/navigation-menu/variants.js} +0 -0
  122. /package/dist/{variants/number-input.js → components/number-input/variants.js} +0 -0
  123. /package/dist/{variants/page-tabs.js → components/page-tabs/variants.js} +0 -0
  124. /package/dist/{variants/pagination.js → components/pagination/variants.js} +0 -0
  125. /package/dist/{variants/popover.js → components/popover/variants.js} +0 -0
  126. /package/dist/{variants/radio-group.js → components/radio-group/variants.js} +0 -0
  127. /package/dist/{variants/select.js → components/select/variants.js} +0 -0
  128. /package/dist/{variants/separator.js → components/separator/variants.js} +0 -0
  129. /package/dist/{variants/switch.js → components/switch/variants.js} +0 -0
  130. /package/dist/{variants/tabs.js → components/tabs/variants.js} +0 -0
  131. /package/dist/{variants/tag.js → components/tag/variants.js} +0 -0
  132. /package/dist/{variants/textarea.js → components/textarea/variants.js} +0 -0
  133. /package/dist/{variants/toast.js → components/toast/variants.js} +0 -0
  134. /package/dist/{variants/tooltip.js → components/tooltip/variants.js} +0 -0
  135. /package/dist/{variants/tree-menu.js → components/tree-menu/variants.js} +0 -0
@@ -1,3 +1,3 @@
1
- import { KbdVariant } from "../../variants/kbd.js";
1
+ import { KbdVariant } from "./variants.js";
2
2
  import { KbdProps, KbdValue } from "./types.js";
3
3
  import { _default } from "./kbd.vue.js";
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.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";const 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
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{kbdVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{Kbd as l}from"@soybeanjs/headless";const u=i({name:`SKbd`,__name:`kbd`,props:{class:{},size:{},variant:{},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,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { KbdVariant } from "../../variants/kbd.js";
3
+ import { KbdVariant } from "./variants.js";
4
4
  import { ClassValue, KbdProps, KbdValue as KbdValue$1 } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/kbd/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/kbd.d.ts
4
+ //#region src/components/kbd/variants.d.ts
5
5
  declare const kbdVariants: tailwind_variants0.TVReturnType<{
6
6
  variant: {
7
7
  solid: string;
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.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";const d=i({name:`SLabel`,__name:`label`,props:{class:{},size:{},for:{}},setup(i){let d=i,f=n(()=>e(t({size:d.size}),d.class));return(e,t)=>(o(),r(c(u),{for:d.for,class:a(f.value)},{default:l(()=>[s(e.$slots,`default`)]),_:3},8,[`for`,`class`]))}});export{d as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{labelVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,normalizeClass as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{Label as u}from"@soybeanjs/headless";const d=i({name:`SLabel`,__name:`label`,props:{class:{},size:{},for:{}},setup(i){let d=i,f=n(()=>e(t({size:d.size}),d.class));return(e,t)=>(o(),r(c(u),{for:d.for,class:a(f.value)},{default:l(()=>[s(e.$slots,`default`)]),_:3},8,[`for`,`class`]))}});export{d as default};
@@ -1 +1 @@
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"../../theme/index.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{LayoutContent as v,LayoutFooter as y,LayoutHeader as b,LayoutMain as x,LayoutRail as S,LayoutRoot as C,LayoutSidebar as w,LayoutTab as T,provideLayoutUi as E}from"@soybeanjs/headless";const D=l({name:`SLayout`,__name:`layout`,props:{class:{},size:{default:`md`},ui:{},fullContent:{type:Boolean},tabVisible:{type:Boolean,default:!0},footerVisible:{type:Boolean,default:!0},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},side:{},variant:{},collapsible:{},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerHeight:{},tabHeight:{},footerHeight:{},pxToRem:{}},emits:[`update:open`],setup(l,{emit:D}){let O=l,k=D,A=_(O,[`class`,`size`,`ui`,`pxToRem`,`fullContent`,`tabVisible`,`footerVisible`,`sidebarProps`,`headerProps`,`mainProps`,`tabProps`,`footerProps`,`railProps`,`mobileProps`]),j=e=>O.pxToRem?O.pxToRem(e):e*n[O.size]/t.md;return E(o(()=>{let t=a({size:O.size,variant:O.variant,side:O.side,collapsible:O.collapsible,tabVisible:O.tabVisible,fullContent:O.fullContent}),n=i({size:O.size,side:O.side});return e({...t,mobileDrawer:n.content},O.ui,{root:O.class})})),r(()=>O.size),(e,t)=>(p(),s(h(C),d(h(A),{"px-to-rem":j,"onUpdate:open":t[0]||=e=>k(`update:open`,e)}),{default:g(t=>[c(h(w),f(u(l.sidebarProps)),{default:g(()=>[m(e.$slots,`sidebar`,f(u(t))),c(h(S),f(u(l.railProps)),null,16)]),_:2},1040),c(h(x),f(u(l.mainProps)),{default:g(()=>[c(h(b),f(u(l.headerProps)),{default:g(()=>[m(e.$slots,`header`)]),_:3},16),c(h(T),f(u(l.tabProps)),{default:g(()=>[m(e.$slots,`tab`)]),_:3},16),c(h(v),f(u(l.contentProps)),{default:g(()=>[m(e.$slots,`default`)]),_:3},16),c(h(y),f(u(l.footerProps)),{default:g(()=>[m(e.$slots,`footer`)]),_:3},16)]),_:3},16)]),_:3},16))}});export{D 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"../../theme/index.js";import{drawerVariants as i}from"../drawer/variants.js";import{layoutVariants as a}from"./variants.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{LayoutContent as v,LayoutFooter as y,LayoutHeader as b,LayoutMain as x,LayoutRail as S,LayoutRoot as C,LayoutSidebar as w,LayoutTab as T,provideLayoutUi as E}from"@soybeanjs/headless";const D=l({name:`SLayout`,__name:`layout`,props:{class:{},size:{default:`md`},ui:{},fullContent:{type:Boolean},tabVisible:{type:Boolean,default:!0},footerVisible:{type:Boolean,default:!0},sidebarProps:{},railProps:{},mainProps:{},headerProps:{},tabProps:{},contentProps:{},footerProps:{},mobileProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},side:{},variant:{},collapsible:{},sidebarWidth:{},collapsedSidebarWidth:{},isMobile:{type:Boolean},mobileSidebarWidth:{},headerHeight:{},tabHeight:{},footerHeight:{},pxToRem:{}},emits:[`update:open`],setup(l,{emit:D}){let O=l,k=D,A=_(O,[`class`,`size`,`ui`,`pxToRem`,`fullContent`,`tabVisible`,`footerVisible`,`sidebarProps`,`headerProps`,`mainProps`,`tabProps`,`footerProps`,`railProps`,`mobileProps`]),j=e=>O.pxToRem?O.pxToRem(e):e*n[O.size]/t.md;return E(o(()=>{let t=a({size:O.size,variant:O.variant,side:O.side,collapsible:O.collapsible,tabVisible:O.tabVisible,fullContent:O.fullContent}),n=i({size:O.size,side:O.side});return e({...t,mobileDrawer:n.content},O.ui,{root:O.class})})),r(()=>O.size),(e,t)=>(p(),s(h(C),d(h(A),{"px-to-rem":j,"onUpdate:open":t[0]||=e=>k(`update:open`,e)}),{default:g(t=>[c(h(w),f(u(l.sidebarProps)),{default:g(()=>[m(e.$slots,`sidebar`,f(u(t))),c(h(S),f(u(l.railProps)),null,16)]),_:2},1040),c(h(x),f(u(l.mainProps)),{default:g(()=>[c(h(b),f(u(l.headerProps)),{default:g(()=>[m(e.$slots,`header`)]),_:3},16),c(h(T),f(u(l.tabProps)),{default:g(()=>[m(e.$slots,`tab`)]),_:3},16),c(h(v),f(u(l.contentProps)),{default:g(()=>[m(e.$slots,`default`)]),_:3},16),c(h(y),f(u(l.footerProps)),{default:g(()=>[m(e.$slots,`footer`)]),_:3},16)]),_:3},16)]),_:3},16))}});export{D as default};
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{linkVariants as t}from"../../variants/link.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{Link as f}from"@soybeanjs/headless";const p=i({name:`SLink`,__name:`link`,props:{class:{},to:{},replace:{type:Boolean,default:void 0},href:{},disabled:{type:Boolean,default:void 0},activeClass:{},exactActiveClass:{},inactiveClass:{},prefetchedClass:{},external:{type:Boolean,default:void 0},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},asChild:{type:Boolean},as:{}},setup(i){let p=i,m=t(),h=n(()=>e(m,p.class));return(e,t)=>(c(),r(u(f),o(p,{class:h.value}),{default:d(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16,[`class`]))}});export{p as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{linkVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{Link as f}from"@soybeanjs/headless";const p=i({name:`SLink`,__name:`link`,props:{class:{},to:{},replace:{type:Boolean,default:void 0},href:{},disabled:{type:Boolean,default:void 0},activeClass:{},exactActiveClass:{},inactiveClass:{},prefetchedClass:{},external:{type:Boolean,default:void 0},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},asChild:{type:Boolean},as:{}},setup(i){let p=i,m=t(),h=n(()=>e(m,p.class));return(e,t)=>(c(),r(u(f),o(p,{class:h.value}),{default:d(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16,[`class`]))}});export{p as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.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";const 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};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{listVariants as t}from"./variants.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";const 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};
@@ -1 +1 @@
1
- import e from"../icon/icon.js";import t from"./navigation-menu-item-slot.js";import{useNavigationMenuExtraUi as n}from"./context.js";import{useCommonSlotKeys as r}from"./shared.js";import i from"./navigation-menu-sub-option.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeClass as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E}from"@soybeanjs/headless/composables";import{NavigationMenuContent as D,NavigationMenuItem as O,NavigationMenuLink as k,NavigationMenuSubList as A,NavigationMenuTrigger as j}from"@soybeanjs/headless";const M=f({name:`SNavigationMenuOption`,__name:`navigation-menu-option`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(f,{emit:M}){let N=f,P=M,F=w(),I=E(P),L=o(()=>Object.keys(F)),R=r(F),z=n(),B=o(()=>!!(N.item.to||N.item.href)),V=o(()=>B.value?{...N.linkProps,disabled:N.item.disabled,to:N.item.to,href:N.item.href,target:N.item.target,external:N.item.external}:{});return(n,r)=>(_(),s(C(O),m(f.itemProps,{value:f.item.value}),{default:T(()=>[f.item.children?.length?(_(),c(a,{key:1},[d(C(j),m(f.triggerProps,{disabled:f.item.disabled,"as-child":B.value}),{default:T(()=>[(_(),s(b(B.value?C(k):`template`),m(V.value,{onSelect:r[1]||=e=>P(`select`,e)}),{default:T(()=>[d(t,{icon:f.item.icon},u({"trigger-icon":T(()=>[y(n.$slots,`item-trigger-icon`,{item:f.item},()=>[d(e,{icon:`lucide:chevron-down`,class:h(C(z).triggerIcon)},null,8,[`class`])])]),default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(n.$slots,e,{item:f.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),d(C(D),m(f.contentProps,S(C(I))),{default:T(()=>[d(C(A),g(p(f.subListProps)),{default:T(()=>[(_(!0),c(a,null,v(f.item.children,e=>(_(),s(i,{key:e.value,"sub-item":e,"sub-item-props":f.subItemProps,onSelect:r[2]||=e=>P(`select`,e)},u({"item-children":T(e=>[y(n.$slots,`item-children`,{item:e.item})]),_:2},[v(L.value,t=>({name:t,fn:T(()=>[y(n.$slots,t,{item:e})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(_(),s(C(k),m({key:0},V.value,{onSelect:r[0]||=e=>P(`select`,e)}),{default:T(({isHref:r})=>[d(t,{icon:f.item.icon},u({default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(n.$slots,e,{item:f.item})])})),r?{name:`link-icon`,fn:T(()=>[y(n.$slots,`item-link-icon`,{item:f.item},()=>[d(e,{icon:`lucide:arrow-up-right`,class:h(C(z).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{M as default};
1
+ import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import i from"./navigation-menu-sub-option.js";import{Fragment as a,computed as o,createBlock as s,createElementBlock as c,createElementVNode as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeClass as h,normalizeProps as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E}from"@soybeanjs/headless/composables";import{NavigationMenuContent as D,NavigationMenuItem as O,NavigationMenuLink as k,NavigationMenuSubList as A,NavigationMenuTrigger as j}from"@soybeanjs/headless";const M=f({name:`SNavigationMenuOption`,__name:`navigation-menu-option`,props:{item:{},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(f,{emit:M}){let N=f,P=M,F=w(),I=E(P),L=o(()=>Object.keys(F)),R=r(F),z=t(),B=o(()=>!!(N.item.to||N.item.href)),V=o(()=>B.value?{...N.linkProps,disabled:N.item.disabled,to:N.item.to,href:N.item.href,target:N.item.target,external:N.item.external}:{});return(t,r)=>(_(),s(C(O),m(f.itemProps,{value:f.item.value}),{default:T(()=>[f.item.children?.length?(_(),c(a,{key:1},[d(C(j),m(f.triggerProps,{disabled:f.item.disabled,"as-child":B.value}),{default:T(()=>[(_(),s(b(B.value?C(k):`template`),m(V.value,{onSelect:r[1]||=e=>P(`select`,e)}),{default:T(()=>[d(n,{icon:f.item.icon},u({"trigger-icon":T(()=>[y(t.$slots,`item-trigger-icon`,{item:f.item},()=>[d(e,{icon:`lucide:chevron-down`,class:h(C(z).triggerIcon)},null,8,[`class`])])]),default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item,isTrigger:!0})])}))]),1032,[`icon`])]),_:3},16))]),_:3},16,[`disabled`,`as-child`]),d(C(D),m(f.contentProps,S(C(I))),{default:T(()=>[d(C(A),g(p(f.subListProps)),{default:T(()=>[(_(!0),c(a,null,v(f.item.children,e=>(_(),s(i,{key:e.value,"sub-item":e,"sub-item-props":f.subItemProps,onSelect:r[2]||=e=>P(`select`,e)},u({"item-children":T(e=>[y(t.$slots,`item-children`,{item:e.item})]),_:2},[v(L.value,n=>({name:n,fn:T(()=>[y(t.$slots,n,{item:e})])}))]),1032,[`sub-item`,`sub-item-props`]))),128))]),_:3},16)]),_:3},16)],64)):(_(),s(C(k),m({key:0},V.value,{onSelect:r[0]||=e=>P(`select`,e)}),{default:T(({isHref:r})=>[d(n,{icon:f.item.icon},u({default:T(()=>[l(`span`,null,x(f.item.label),1)]),_:2},[v(C(R),e=>({name:e,fn:T(()=>[y(t.$slots,e,{item:f.item})])})),r?{name:`link-icon`,fn:T(()=>[y(t.$slots,`item-link-icon`,{item:f.item},()=>[d(e,{icon:`lucide:arrow-up-right`,class:h(C(z).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16))]),_:3},16,[`value`]))}});export{M as default};
@@ -1 +1 @@
1
- import e from"../icon/icon.js";import t from"./navigation-menu-item-slot.js";import{useNavigationMenuExtraUi as n}from"./context.js";import{useCommonSlotKeys as r}from"./shared.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementVNode as s,createSlots as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{NavigationMenuItem as x,NavigationMenuLink as S}from"@soybeanjs/headless";const C=u({name:`SNavigationMenuSubOption`,__name:`navigation-menu-sub-option`,props:{subItem:{},subItemProps:{},linkProps:{}},emits:[`select`],setup(u,{emit:C}){let w=u,T=C,E=r(y()),D=n(),O=i(()=>!!(w.subItem.to||w.subItem.href)),k=i(()=>O.value?{...w.linkProps,disabled:w.subItem.disabled,to:w.subItem.to,href:w.subItem.href,target:w.subItem.target,external:w.subItem.external}:{});return(n,r)=>(p(),a(v(x),d(u.subItemProps,{value:u.subItem.value}),{default:b(()=>[(p(),a(g(O.value?v(S):`div`),d(k.value,{onSelect:r[0]||=e=>T(`select`,e)}),{default:b(r=>[l(t,{icon:u.subItem.icon},c({default:b(()=>[s(`div`,{class:f(v(D).subLinkContent)},[s(`span`,{class:f(v(D).subLinkLabel)},_(u.subItem.label),3),s(`p`,{class:f(v(D).subLinkDescription)},_(u.subItem.description),3)],2)]),_:2},[m(v(E),e=>({name:e,fn:b(()=>[h(n.$slots,e,{item:u.subItem})])})),r?.isHref?{name:`link-icon`,fn:b(()=>[h(n.$slots,`item-link-icon`,{item:u.subItem},()=>[l(e,{icon:`lucide:arrow-up-right`,class:f(v(D).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16)),u.subItem.children?.length?h(n.$slots,`item-children`,{key:0,item:u.subItem}):o(`v-if`,!0)]),_:3},16,[`value`]))}});export{C as default};
1
+ import e from"../icon/icon.js";import{useNavigationMenuExtraUi as t}from"./context.js";import n from"./navigation-menu-item-slot.js";import{useCommonSlotKeys as r}from"./shared.js";import{computed as i,createBlock as a,createCommentVNode as o,createElementVNode as s,createSlots as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,resolveDynamicComponent as g,toDisplayString as _,unref as v,useSlots as y,withCtx as b}from"vue";import{NavigationMenuItem as x,NavigationMenuLink as S}from"@soybeanjs/headless";const C=u({name:`SNavigationMenuSubOption`,__name:`navigation-menu-sub-option`,props:{subItem:{},subItemProps:{},linkProps:{}},emits:[`select`],setup(u,{emit:C}){let w=u,T=C,E=r(y()),D=t(),O=i(()=>!!(w.subItem.to||w.subItem.href)),k=i(()=>O.value?{...w.linkProps,disabled:w.subItem.disabled,to:w.subItem.to,href:w.subItem.href,target:w.subItem.target,external:w.subItem.external}:{});return(t,r)=>(p(),a(v(x),d(u.subItemProps,{value:u.subItem.value}),{default:b(()=>[(p(),a(g(O.value?v(S):`div`),d(k.value,{onSelect:r[0]||=e=>T(`select`,e)}),{default:b(r=>[l(n,{icon:u.subItem.icon},c({default:b(()=>[s(`div`,{class:f(v(D).subLinkContent)},[s(`span`,{class:f(v(D).subLinkLabel)},_(u.subItem.label),3),s(`p`,{class:f(v(D).subLinkDescription)},_(u.subItem.description),3)],2)]),_:2},[m(v(E),e=>({name:e,fn:b(()=>[h(t.$slots,e,{item:u.subItem})])})),r?.isHref?{name:`link-icon`,fn:b(()=>[h(t.$slots,`item-link-icon`,{item:u.subItem},()=>[l(e,{icon:`lucide:arrow-up-right`,class:f(v(D).linkIcon)},null,8,[`class`])])]),key:`0`}:void 0]),1032,[`icon`])]),_:3},16)),u.subItem.children?.length?h(t.$slots,`item-children`,{key:0,item:u.subItem}):o(`v-if`,!0)]),_:3},16,[`value`]))}});export{C as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{navigationMenuVariants as t}from"../../variants/navigation-menu.js";import{provideNavigationMenuExtraUi as n}from"./context.js";import r from"./navigation-menu-option.js";import{Fragment as i,computed as a,createBlock as o,createElementBlock as s,createElementVNode as c,createSlots as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w,usePickProps as T}from"@soybeanjs/headless/composables";import{NavigationMenuIndicator as E,NavigationMenuList as D,NavigationMenuRoot as O,NavigationMenuViewport as k,provideNavigationMenuUi as A}from"@soybeanjs/headless";const j=d({name:`SNavigationMenu`,__name:`navigation-menu`,props:{class:{},size:{},ui:{},items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],I=w(M,[`class`,`size`,`ui`,`items`,...F]),L=T(M,[...F]),R=C(N),z=a(()=>Object.keys(P)),B=a(()=>e(t({size:M.size}),M.ui,{root:M.class}));return A(B),n(B),(e,t)=>(g(),o(b(O),p(b(I),{"onUpdate:modelValue":t[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[u(b(D),h(f(d.listProps)),{default:S(()=>[(g(!0),s(i,null,_(d.items,t=>(g(),o(r,p({key:t.value},{ref_for:!0},b(L),{item:t},y(b(R))),l({"item-children":S(t=>[v(e.$slots,`item-children`,{item:t.item})]),_:2},[_(z.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),u(b(E),h(f(d.indicatorProps)),{default:S(()=>[c(`div`,{class:m(B.value?.arrow)},null,2)]),_:1},16),c(`div`,{class:m(B.value?.viewportRoot)},[u(b(k),h(f(d.viewportProps)),null,16)],2)]),_:3},16))}});export{j as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideNavigationMenuExtraUi as t}from"./context.js";import{navigationMenuVariants as n}from"./variants.js";import r from"./navigation-menu-option.js";import{Fragment as i,computed as a,createBlock as o,createElementBlock as s,createElementVNode as c,createSlots as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w,usePickProps as T}from"@soybeanjs/headless/composables";import{NavigationMenuIndicator as E,NavigationMenuList as D,NavigationMenuRoot as O,NavigationMenuViewport as k,provideNavigationMenuUi as A}from"@soybeanjs/headless";const j=d({name:`SNavigationMenu`,__name:`navigation-menu`,props:{class:{},size:{},ui:{},items:{},modelValue:{},defaultValue:{},dir:{},orientation:{},delayDuration:{},skipDelayDuration:{},disableClickTrigger:{type:Boolean},disableHoverTrigger:{type:Boolean},disablePointerLeaveClose:{type:Boolean},unmountOnHide:{type:Boolean},itemProps:{},linkProps:{},triggerProps:{},contentProps:{},viewportProps:{},indicatorProps:{},listProps:{},subListProps:{},subItemProps:{}},emits:[`update:modelValue`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`select`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=[`itemProps`,`linkProps`,`triggerProps`,`contentProps`,`viewportProps`,`indicatorProps`,`listProps`,`subListProps`,`subItemProps`],I=w(M,[`class`,`size`,`ui`,`items`,...F]),L=T(M,[...F]),R=C(N),z=a(()=>Object.keys(P)),B=a(()=>e(n({size:M.size}),M.ui,{root:M.class}));return A(B),t(B),(e,t)=>(g(),o(b(O),p(b(I),{"onUpdate:modelValue":t[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[u(b(D),h(f(d.listProps)),{default:S(()=>[(g(!0),s(i,null,_(d.items,t=>(g(),o(r,p({key:t.value},{ref_for:!0},b(L),{item:t},y(b(R))),l({"item-children":S(t=>[v(e.$slots,`item-children`,{item:t.item})]),_:2},[_(z.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,p({ref_for:!0},n))])}))]),1040,[`item`]))),128))]),_:3},16),u(b(E),h(f(d.indicatorProps)),{default:S(()=>[c(`div`,{class:m(B.value?.arrow)},null,2)]),_:1},16),c(`div`,{class:m(B.value?.viewportRoot)},[u(b(k),h(f(d.viewportProps)),null,16)],2)]),_:3},16))}});export{j as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{numberInputVariants as n}from"../../variants/number-input.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{NumberInputControl as v,NumberInputDecrement as y,NumberInputIncrement as b,NumberInputRoot as x,provideNumberInputUi as S}from"@soybeanjs/headless";const C=s({name:`SNumberInput`,__name:`number-input`,props:{class:{},size:{},ui:{},center:{type:Boolean},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},incrementProps:{},decrementProps:{},defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:C}){let w=s,T=C,[E,D]=g(e=>w.inputRef?.(e)),O=_(w,[`class`,`size`,`ui`,`center`,`clearable`,`inputRef`,`controlProps`,`incrementProps`,`decrementProps`]),k=r(()=>e(n({size:w.size,center:w.center}),w.ui,{root:w.class}));return S(k),(e,n)=>(f(),i(m(x),l(m(O),{"onUpdate:modelValue":n[0]||=e=>T(`update:modelValue`,e)}),{default:h(({clear:n})=>[p(e.$slots,`leading`),o(m(v),l(s.controlProps,{ref:m(D)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(k.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),p(e.$slots,`trailing`),o(m(y),d(c(s.decrementProps)),{default:h(()=>[p(e.$slots,`decrement`,{},()=>[o(t,{icon:`lucide:minus`})])]),_:3},16),o(m(b),d(c(s.incrementProps)),{default:h(()=>[p(e.$slots,`increment`,{},()=>[o(t,{icon:`lucide:plus`})])]),_:3},16)]),_:3},16))}});export{C as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{numberInputVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{NumberInputControl as v,NumberInputDecrement as y,NumberInputIncrement as b,NumberInputRoot as x,provideNumberInputUi as S}from"@soybeanjs/headless";const C=s({name:`SNumberInput`,__name:`number-input`,props:{class:{},size:{},ui:{},center:{type:Boolean},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},incrementProps:{},decrementProps:{},defaultValue:{},modelValue:{},min:{},max:{},step:{},stepSnapping:{type:Boolean},focusOnChange:{type:Boolean},formatOptions:{},locale:{},disableWheelChange:{type:Boolean},invertWheelChange:{type:Boolean},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:C}){let w=s,T=C,[E,D]=g(e=>w.inputRef?.(e)),O=_(w,[`class`,`size`,`ui`,`center`,`clearable`,`inputRef`,`controlProps`,`incrementProps`,`decrementProps`]),k=r(()=>e(n({size:w.size,center:w.center}),w.ui,{root:w.class}));return S(k),(e,n)=>(f(),i(m(x),l(m(O),{"onUpdate:modelValue":n[0]||=e=>T(`update:modelValue`,e)}),{default:h(({clear:n})=>[p(e.$slots,`leading`),o(m(v),l(s.controlProps,{ref:m(D)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(k.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),p(e.$slots,`trailing`),o(m(y),d(c(s.decrementProps)),{default:h(()=>[p(e.$slots,`decrement`,{},()=>[o(t,{icon:`lucide:minus`})])]),_:3},16),o(m(b),d(c(s.incrementProps)),{default:h(()=>[p(e.$slots,`increment`,{},()=>[o(t,{icon:`lucide:plus`})])]),_:3},16)]),_:3},16))}});export{C as default};
@@ -1,3 +1,3 @@
1
- import { PageTabsVariant } from "../../variants/page-tabs.js";
1
+ import { PageTabsVariant } from "./variants.js";
2
2
  import { PageTabsContextMenuOptionData, PageTabsEmits, PageTabsExtendedUi, PageTabsExtraUiSlot, PageTabsOptionData, PageTabsProps, PageTabsState } from "./types.js";
3
3
  import { _default } from "./page-tabs.vue.js";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{pageTabsVariants as r}from"../../variants/page-tabs.js";import{usePageTabsState as i}from"./hooks.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`select-context-menu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=i({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`select-context-menu`,e,B.value))},q=o(()=>e(r({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m({ref:`root`},b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import n from"../context-menu/context-menu.js";import{usePageTabsState as r}from"./hooks.js";import{pageTabsVariants as i}from"./variants.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,defineComponent as f,isRef as p,mergeProps as m,normalizeClass as h,openBlock as g,renderList as _,shallowRef as v,toDisplayString as y,unref as b,watchEffect as x,withCtx as S}from"vue";import{useControllableState as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{PageTabsClose as T,PageTabsItem as E,PageTabsPin as D,PageTabsRoot as O,providePageTabsUi as k}from"@soybeanjs/headless";const A=f({name:`SPageTabs`,__name:`page-tabs`,props:{class:{},size:{},variant:{default:`chrome`},ui:{},items:{},menuFactory:{},beforeClose:{type:Function,default:()=>!0},modelValue:{},middleClickClose:{type:Boolean}},emits:[`update:modelValue`,`update:items`,`click`,`close`,`pin`,`contextmenu`,`select-context-menu`],setup(f,{emit:A}){let j=f,M=A,N=w(j,[`class`,`size`,`variant`,`ui`,`modelValue`,`items`,`menuFactory`,`beforeClose`]),P=C(()=>j.modelValue,e=>{M(`update:modelValue`,e??``)},``),F=C(()=>j.items,e=>{M(`update:items`,e)},[]),{closeTab:I,pinTab:L,sortTabs:R,getState:z}=r({items:F,modelValue:P,beforeClose:j.beforeClose}),B=v(null),V=v(null),H=o(()=>{if(!B.value||!j.menuFactory)return[];let e=z(B.value);return j.menuFactory(B.value,e)}),U=e=>{I(e.value,()=>{M(`close`,e)})},W=(e,t)=>{L(e,t),M(`pin`,e)},G=(e,t)=>{V.value=e.currentTarget,B.value=t,M(`contextmenu`,t)},K=async e=>{B.value&&(await e.action?.(),M(`select-context-menu`,e,B.value))},q=o(()=>e(i({size:j.size,variant:j.variant}),j.ui,{root:j.class}));return x(()=>{R()}),k(q),(e,r)=>(g(),s(b(O),m({ref:`root`},b(N),{modelValue:b(P),"onUpdate:modelValue":r[0]||=e=>p(P)?P.value=e:null}),{default:S(()=>[(g(!0),l(a,null,_(b(F),e=>(g(),s(b(E),{key:e.value,value:e.value,pinned:e.pinned,onClick:t=>M(`click`,e),onClose:t=>U(e),onPin:t=>W(e,t),onPointerenter:t=>G(t,e)},{default:S(()=>[d(t,{icon:e.icon},null,8,[`icon`]),u(`span`,{class:h(q.value.itemText)},y(e.label),3),e.hidePinnedIcon?c(`v-if`,!0):(g(),s(b(D),{key:0,"as-child":``},{default:S(()=>[d(t,{icon:`lucide:pin`})]),_:1})),d(b(T),{"as-child":``},{default:S(()=>[d(t,{icon:`lucide:x`})]),_:1}),f.variant===`chrome`?(g(),l(a,{key:1},[(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgLeft)},[...r[1]||=[u(`path`,{d:`M 0 8 A 8 8 0 0 0 8 0 L 8 8 Z`},null,-1)]],2)),(g(),l(`svg`,{height:`100%`,width:`100%`,viewBox:`0 0 8 8`,class:h(q.value.chromeBgRight)},[...r[2]||=[u(`path`,{d:`M 0 0 A 8 8 0 0 0 8 8 L 0 8 Z`},null,-1)]],2))],64)):c(`v-if`,!0),f.variant===`slider`?(g(),l(`div`,{key:2,class:h(q.value.sliderIndicator)},null,2)):c(`v-if`,!0)]),_:2},1032,[`value`,`pinned`,`onClick`,`onClose`,`onPin`,`onPointerenter`]))),128)),H.value.length?(g(),s(n,{key:0,modal:!1,items:H.value,"trigger-props":{reference:V.value},onSelect:K},null,8,[`items`,`trigger-props`])):c(`v-if`,!0)]),_:1},16,[`modelValue`]))}});export{A as default};
@@ -2,7 +2,7 @@ import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { IconValue } from "../icon/types.js";
4
4
  import { MenuOptionData } from "../menu/types.js";
5
- import { PageTabsVariant } from "../../variants/page-tabs.js";
5
+ import { PageTabsVariant } from "./variants.js";
6
6
  import { ClassValue, MaybePromise, PageTabsItemProps, PageTabsRootEmits, PageTabsRootProps, PageTabsUiSlot } from "@soybeanjs/headless";
7
7
 
8
8
  //#region src/components/page-tabs/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/page-tabs.d.ts
4
+ //#region src/components/page-tabs/variants.d.ts
5
5
  declare const pageTabsVariants: tailwind_variants0.TVReturnType<{
6
6
  size: {
7
7
  xs: {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"../../variants/pagination.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},itemsPerPage:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e)}),{default:_(()=>[c(g(S),f(u(k.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},k.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(k.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},k.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},k.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(k.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},k.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16)]),_:3},16))}});export{O as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{paginationVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{PaginationEllipsis as y,PaginationFirst as b,PaginationLast as x,PaginationList as S,PaginationListItem as C,PaginationNext as w,PaginationPrev as T,PaginationRoot as E,providePaginationUi as D}from"@soybeanjs/headless";const O=l({name:`SPagination`,__name:`pagination`,props:{class:{},ui:{},size:{},variant:{},shape:{},actionAsSelected:{type:Boolean},showFirstOrLast:{type:Boolean,default:!0},listProps:{},listItemProps:{},ellipsisProps:{},firstProps:{},prevProps:{},nextProps:{},lastProps:{},page:{},defaultPage:{},itemsPerPage:{},total:{},siblingCount:{},disabled:{type:Boolean},showEdges:{type:Boolean}},emits:[`update:page`],setup(l,{emit:O}){let k=l,A=O,j=v(k,[`class`,`ui`,`size`,`variant`,`shape`,`actionAsSelected`,`showFirstOrLast`,`listProps`,`listItemProps`,`ellipsisProps`,`firstProps`,`prevProps`,`nextProps`,`lastProps`]),M=i(()=>k.actionAsSelected?``:void 0);return D(i(()=>{let t=n({size:k.size,variant:k.variant,shape:k.shape,actionAsSelected:k.actionAsSelected}),{button:r,navigationButton:i}=t;return e({...t,listItem:r,first:i,prev:i,next:i,last:i},k.ui,{root:k.class})})),(e,n)=>(p(),a(g(E),d(g(j),{"onUpdate:page":n[0]||=e=>A(`update:page`,e)}),{default:_(()=>[c(g(S),f(u(k.listProps)),{default:_(({items:n})=>[l.showFirstOrLast?(p(),a(g(b),d({key:0},k.firstProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`first`,{},()=>[c(t,{icon:`lucide:chevrons-left`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0),c(g(T),d(k.prevProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`prev`,{},()=>[c(t,{icon:`lucide:chevron-left`})])]),_:3},16,[`data-selected`]),(p(!0),s(r,null,m(n,n=>(p(),s(r,{key:n},[n.type===`page`?(p(),a(g(C),d({key:0,ref_for:!0},k.listItemProps,{value:n.value}),null,16,[`value`])):n.type===`ellipsis`?(p(),a(g(y),d({key:1,ref_for:!0},k.ellipsisProps),{default:_(()=>[h(e.$slots,`ellipsis`,{},()=>[c(t,{icon:`lucide:ellipsis`})])]),_:3},16)):o(`v-if`,!0)],64))),128)),c(g(w),d(k.nextProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`next`,{},()=>[c(t,{icon:`lucide:chevron-right`})])]),_:3},16,[`data-selected`]),l.showFirstOrLast?(p(),a(g(x),d({key:1},k.lastProps,{"data-selected":M.value}),{default:_(()=>[h(e.$slots,`last`,{},()=>[c(t,{icon:`lucide:chevrons-right`})])]),_:3},16,[`data-selected`])):o(`v-if`,!0)]),_:3},16)]),_:3},16))}});export{O as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { PaginationShape, PaginationVariant } from "../../variants/pagination.js";
3
+ import { PaginationShape, PaginationVariant } from "./variants.js";
4
4
  import { ClassValue, PaginationButtonProps, PaginationEllipsisProps, PaginationListItemProps, PaginationListProps, PaginationRootEmits, PaginationRootProps, PaginationUi } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/pagination/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/pagination.d.ts
4
+ //#region src/components/pagination/variants.d.ts
5
5
  declare const paginationVariants: tailwind_variants0.TVReturnType<{
6
6
  size: {
7
7
  xs: {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputVariants as n}from"../../variants/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{useControllableState as m,useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless";const b=s({name:`SPassword`,__name:`password`,props:{class:{},size:{},ui:{},visible:{type:Boolean,default:void 0},clearable:{type:Boolean},inputRef:{},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:visible`],setup(s,{emit:b}){let x=s,S=b,[C,w]=h(e=>x.inputRef?.(e)),T=g(x,[`class`,`size`,`ui`,`clearable`,`visible`,`inputRef`,`controlProps`]),E=m(()=>x.visible,e=>{S(`update:visible`,e)},!1),D=()=>{E.value=!E.value},O=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(O),(e,n)=>(u(),i(f(v),c(f(T),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:p(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c(s.controlProps,{ref:f(w),type:f(E)?`text`:`password`}),null,16,[`type`]),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`),d(e.$slots,`visible`,{visible:f(E),toggle:D},()=>[o(t,{icon:f(E)?`lucide:eye`:`lucide:eye-off`,class:l(O.value.visible),onClick:D},null,8,[`icon`,`class`])])]),_:3},16))}});export{b as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputVariants as n}from"../input/variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,mergeProps as c,normalizeClass as l,openBlock as u,renderSlot as d,unref as f,withCtx as p}from"vue";import{useControllableState as m,useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless";const b=s({name:`SPassword`,__name:`password`,props:{class:{},size:{},ui:{},visible:{type:Boolean,default:void 0},clearable:{type:Boolean},inputRef:{},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:visible`],setup(s,{emit:b}){let x=s,S=b,[C,w]=h(e=>x.inputRef?.(e)),T=g(x,[`class`,`size`,`ui`,`clearable`,`visible`,`inputRef`,`controlProps`]),E=m(()=>x.visible,e=>{S(`update:visible`,e)},!1),D=()=>{E.value=!E.value},O=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(O),(e,n)=>(u(),i(f(v),c(f(T),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:p(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c(s.controlProps,{ref:f(w),type:f(E)?`text`:`password`}),null,16,[`type`]),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`),d(e.$slots,`visible`,{visible:f(E),toggle:D},()=>[o(t,{icon:f(E)?`lucide:eye`:`lucide:eye-off`,class:l(O.value.visible),onClick:D},null,8,[`icon`,`class`])])]),_:3},16))}});export{b as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{popoverVariants as t}from"../../variants/popover.js";import{computed as n,createBlock as r,createCommentVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toHandlers as f,unref as p,withCtx as m}from"vue";import{useForwardListeners as h,usePickProps as g}from"@soybeanjs/headless/composables";import{PopoverArrow as _,PopoverClose as v,PopoverPopup as y,PopoverPortal as b,PopoverPositioner as x,PopoverRoot as S,PopoverTrigger as C,providePopoverUi as w}from"@soybeanjs/headless";const T=o({name:`SPopover`,__name:`popover`,props:{class:{},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(o,{emit:T}){let E=o,D=T,O=g(E,[`defaultOpen`,`open`,`modal`]),k=h(D),A=n(()=>e(t({size:E.size}),E.ui,{popup:E.class})),j=n(()=>({placement:E.placement,...E.positionerProps}));return w(A),(e,t)=>(u(),r(p(S),c(p(O),{"onUpdate:open":t[0]||=e=>D(`update:open`,e)}),{default:m(()=>[a(p(C),{"as-child":``},{default:m(()=>[d(e.$slots,`trigger`)]),_:3}),a(p(b),l(s(o.portalProps)),{default:m(()=>[a(p(x),c(j.value,f(p(k))),{default:m(()=>[a(p(y),l(s(o.popupProps)),{default:m(()=>[d(e.$slots,`default`),o.showArrow?(u(),r(p(_),l(c({key:0},o.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16),e.$slots.close?(u(),r(p(v),{key:0,"as-child":``},{default:m(()=>[d(e.$slots,`close`)]),_:3})):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16))}});export{T as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{popoverVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toHandlers as f,unref as p,withCtx as m}from"vue";import{useForwardListeners as h,usePickProps as g}from"@soybeanjs/headless/composables";import{PopoverArrow as _,PopoverClose as v,PopoverPopup as y,PopoverPortal as b,PopoverPositioner as x,PopoverRoot as S,PopoverTrigger as C,providePopoverUi as w}from"@soybeanjs/headless";const T=o({name:`SPopover`,__name:`popover`,props:{class:{},size:{},ui:{},placement:{},showArrow:{type:Boolean,default:!0},positionerProps:{},popupProps:{},triggerProps:{},closeProps:{},portalProps:{},arrowProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(o,{emit:T}){let E=o,D=T,O=g(E,[`defaultOpen`,`open`,`modal`]),k=h(D),A=n(()=>e(t({size:E.size}),E.ui,{popup:E.class})),j=n(()=>({placement:E.placement,...E.positionerProps}));return w(A),(e,t)=>(u(),r(p(S),c(p(O),{"onUpdate:open":t[0]||=e=>D(`update:open`,e)}),{default:m(()=>[a(p(C),{"as-child":``},{default:m(()=>[d(e.$slots,`trigger`)]),_:3}),a(p(b),l(s(o.portalProps)),{default:m(()=>[a(p(x),c(j.value,f(p(k))),{default:m(()=>[a(p(y),l(s(o.popupProps)),{default:m(()=>[d(e.$slots,`default`),o.showArrow?(u(),r(p(_),l(c({key:0},o.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16),e.$slots.close?(u(),r(p(v),{key:0,"as-child":``},{default:m(()=>[d(e.$slots,`close`)]),_:3})):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16))}});export{T as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioCardGroupVariants as t}from"../../variants/radio-group.js";import n from"./radio-card.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{RadioGroupRoot as m,provideRadioGroupUi as h}from"@soybeanjs/headless";const g=s({name:`SRadioCardGroup`,__name:`radio-card-group`,props:{ui:{},items:{},class:{},variant:{},color:{},size:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:g}){let _=s,v=g,y=p(_,[`class`,`ui`,`variant`,`color`,`size`,`items`,`itemProps`,`controlProps`,`indicatorProps`,`labelProps`]),b=i(()=>e(t({variant:_.variant,color:_.color,size:_.size}),_.ui,{root:_.class}));return h(b),(e,t)=>(l(),a(d(m),c(d(y),{"onUpdate:modelValue":t[0]||=e=>v(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,e=>(l(),a(n,c({key:String(e.value)},{ref_for:!0},s.itemProps,{ui:b.value,variant:s.variant,size:s.size,value:e.value,label:e.label,disabled:s.disabled||e.disabled,icon:e.icon,description:e.description,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`ui`,`variant`,`size`,`value`,`label`,`disabled`,`icon`,`description`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16))}});export{g as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioCardGroupVariants as t}from"./variants.js";import n from"./radio-card.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{RadioGroupRoot as m,provideRadioGroupUi as h}from"@soybeanjs/headless";const g=s({name:`SRadioCardGroup`,__name:`radio-card-group`,props:{ui:{},items:{},class:{},variant:{},color:{},size:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:g}){let _=s,v=g,y=p(_,[`class`,`ui`,`variant`,`color`,`size`,`items`,`itemProps`,`controlProps`,`indicatorProps`,`labelProps`]),b=i(()=>e(t({variant:_.variant,color:_.color,size:_.size}),_.ui,{root:_.class}));return h(b),(e,t)=>(l(),a(d(m),c(d(y),{"onUpdate:modelValue":t[0]||=e=>v(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,e=>(l(),a(n,c({key:String(e.value)},{ref_for:!0},s.itemProps,{ui:b.value,variant:s.variant,size:s.size,value:e.value,label:e.label,disabled:s.disabled||e.disabled,icon:e.icon,description:e.description,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`ui`,`variant`,`size`,`value`,`label`,`disabled`,`icon`,`description`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16))}});export{g as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioGroupVariants as t}from"../../variants/radio-group.js";import n from"./radio.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{RadioGroupRoot as m,provideRadioGroupUi as h}from"@soybeanjs/headless";const g=s({name:`SRadioGroup`,__name:`radio-group`,props:{class:{},ui:{},variant:{},color:{},size:{},items:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:g}){let _=s,v=g,y=p(_,[`class`,`ui`,`variant`,`color`,`size`,`items`,`itemProps`,`controlProps`,`indicatorProps`,`labelProps`]);return h(i(()=>e(t({variant:_.variant,color:_.color,size:_.size}),_.ui,{root:_.class}))),(e,t)=>(l(),a(d(m),c(d(y),{"onUpdate:modelValue":t[0]||=e=>v(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,e=>(l(),a(n,c({key:String(e.value)},{ref_for:!0},s.itemProps,{color:s.color,size:s.size,value:e.value,label:e.label,disabled:s.disabled||e.disabled,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`color`,`size`,`value`,`label`,`disabled`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16))}});export{g as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{radioGroupVariants as t}from"./variants.js";import n from"./radio.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,defineComponent as s,mergeProps as c,openBlock as l,renderList as u,unref as d,withCtx as f}from"vue";import{useOmitProps as p}from"@soybeanjs/headless/composables";import{RadioGroupRoot as m,provideRadioGroupUi as h}from"@soybeanjs/headless";const g=s({name:`SRadioGroup`,__name:`radio-group`,props:{class:{},ui:{},variant:{},color:{},size:{},items:{},itemProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:g}){let _=s,v=g,y=p(_,[`class`,`ui`,`variant`,`color`,`size`,`items`,`itemProps`,`controlProps`,`indicatorProps`,`labelProps`]);return h(i(()=>e(t({variant:_.variant,color:_.color,size:_.size}),_.ui,{root:_.class}))),(e,t)=>(l(),a(d(m),c(d(y),{"onUpdate:modelValue":t[0]||=e=>v(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,e=>(l(),a(n,c({key:String(e.value)},{ref_for:!0},s.itemProps,{color:s.color,size:s.size,value:e.value,label:e.label,disabled:s.disabled||e.disabled,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`color`,`size`,`value`,`label`,`disabled`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16))}});export{g as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { RadioGroupVariant } from "../../variants/radio-group.js";
3
+ import { RadioGroupVariant } from "./variants.js";
4
4
  import { AcceptableBooleanValue, ClassValue, RadioGroupControlProps, RadioGroupIndicatorProps, RadioGroupItemProps, RadioGroupLabelProps, RadioGroupRootEmits, RadioGroupRootProps, RadioGroupUi } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/radio-group/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/radio-group.d.ts
4
+ //#region src/components/radio-group/variants.d.ts
5
5
  declare const radioGroupVariants: tailwind_variants0.TVReturnType<{
6
6
  color: {
7
7
  primary: {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tabsVariants as t}from"../../variants/tabs.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeClass as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,withCtx as x}from"vue";import{useForwardListeners as S,useOmitProps as C}from"@soybeanjs/headless/composables";import{TabsIndicator as w,TabsList as T,TabsRoot as E,TabsTrigger as D,provideTabsUi as O}from"@soybeanjs/headless";const k=u({name:`SSegment`,__name:`segment`,props:{class:{},ui:{},size:{},shape:{},items:{},fill:{default:`auto`},enableIndicator:{type:Boolean,default:!0},listProps:{},triggerProps:{},indicatorProps:{},modelValue:{default:void 0},defaultValue:{},activationMode:{},unmountOnHide:{type:Boolean,default:!0},orientation:{},dir:{},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(u,{emit:k}){let A=u,j=k,M=C(A,[`class`,`size`,`ui`,`items`,`fill`,`enableIndicator`,`listProps`,`triggerProps`,`indicatorProps`]),N=S(j),P=r(()=>e(t({size:A.size,orientation:A.orientation,shape:A.shape,fill:A.fill,enableIndicator:A.enableIndicator}),A.ui,{root:A.class}));return O(P),(e,t)=>(h(),i(b(E),f(b(M),y(b(N))),{default:x(()=>[l(b(T),m(d(u.listProps)),{default:x(()=>[(h(!0),o(n,null,g(u.items,t=>(h(),i(b(D),f({ref_for:!0},u.triggerProps,{key:String(t.value),value:t.value,disabled:t.disabled}),{default:x(n=>[_(e.$slots,`item`,f({ref_for:!0},{...t,...n}),()=>[c(v(t.label),1)])]),_:2},1040,[`value`,`disabled`]))),128)),u.enableIndicator?(h(),i(b(w),m(f({key:0},u.indicatorProps)),{default:x(()=>[s(`div`,{class:p(P.value.indicatorContent)},null,2)]),_:1},16)):a(`v-if`,!0)]),_:3},16)]),_:3},16))}});export{k as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tabsVariants as t}from"../tabs/variants.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeClass as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,withCtx as x}from"vue";import{useForwardListeners as S,useOmitProps as C}from"@soybeanjs/headless/composables";import{TabsIndicator as w,TabsList as T,TabsRoot as E,TabsTrigger as D,provideTabsUi as O}from"@soybeanjs/headless";const k=u({name:`SSegment`,__name:`segment`,props:{class:{},ui:{},size:{},shape:{},items:{},fill:{default:`auto`},enableIndicator:{type:Boolean,default:!0},listProps:{},triggerProps:{},indicatorProps:{},modelValue:{default:void 0},defaultValue:{},activationMode:{},unmountOnHide:{type:Boolean,default:!0},orientation:{},dir:{},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(u,{emit:k}){let A=u,j=k,M=C(A,[`class`,`size`,`ui`,`items`,`fill`,`enableIndicator`,`listProps`,`triggerProps`,`indicatorProps`]),N=S(j),P=r(()=>e(t({size:A.size,orientation:A.orientation,shape:A.shape,fill:A.fill,enableIndicator:A.enableIndicator}),A.ui,{root:A.class}));return O(P),(e,t)=>(h(),i(b(E),f(b(M),y(b(N))),{default:x(()=>[l(b(T),m(d(u.listProps)),{default:x(()=>[(h(!0),o(n,null,g(u.items,t=>(h(),i(b(D),f({ref_for:!0},u.triggerProps,{key:String(t.value),value:t.value,disabled:t.disabled}),{default:x(n=>[_(e.$slots,`item`,f({ref_for:!0},{...t,...n}),()=>[c(v(t.label),1)])]),_:2},1040,[`value`,`disabled`]))),128)),u.enableIndicator?(h(),i(b(w),m(f({key:0},u.indicatorProps)),{default:x(()=>[s(`div`,{class:p(P.value.indicatorContent)},null,2)]),_:1},16)):a(`v-if`,!0)]),_:3},16)]),_:3},16))}});export{k as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { TabsFill, TabsShape } from "../../variants/tabs.js";
3
+ import { TabsFill, TabsShape } from "../tabs/variants.js";
4
4
  import { TabsExtendedUi } from "../tabs/types.js";
5
5
  import { AcceptableValue, ClassValue, DefinedValue, TabsIndicatorProps, TabsListProps, TabsRootProps, TabsTriggerProps } from "@soybeanjs/headless";
6
6
 
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{selectVariants as n}from"../../variants/select.js";import{isGroupOption as r}from"./shared.js";import i from"./select-option.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{SelectArrow as T,SelectContent as E,SelectPortal as D,SelectRoot as O,SelectScrollDownButton as k,SelectScrollUpButton as A,SelectTrigger as j,SelectTriggerIcon as M,SelectValue as N,SelectViewport as P,provideSelectUi as F}from"@soybeanjs/headless";const I=f({name:`SSelect`,inheritAttrs:!1,__name:`select`,props:{class:{},ui:{},size:{},items:{},showArrow:{type:Boolean},triggerProps:{},triggerIconProps:{},placeholder:{},valueProps:{},portalProps:{},contentProps:{},placement:{},popupProps:{},viewportProps:{},scrollDownButtonProps:{},scrollUpButtonProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemTextProps:{},itemIndicatorProps:{},separatorProps:{},arrowProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},autocomplete:{},disabled:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`,`select`],setup(f,{emit:I}){let L=f,R=I,z=x(),B=o(()=>Object.keys(z).filter(e=>e.startsWith(`item-`)||e===`group-label`)),V=w(L,[`class`,`ui`,`size`,`items`,`triggerProps`,`triggerIconProps`,`placeholder`,`valueProps`,`portalProps`,`contentProps`,`popupProps`,`placement`,`viewportProps`,`scrollDownButtonProps`,`scrollUpButtonProps`,`groupProps`,`groupLabelProps`,`itemProps`,`itemTextProps`,`itemIndicatorProps`,`separatorProps`,`arrowProps`]),H=C(R),U=e=>r(e)?`group-${e.label}`:e.value,W=o(()=>e(n({size:L.size}),L.ui,{trigger:L.class})),G=o(()=>({...L.valueProps,placeholder:L.placeholder??L.valueProps?.placeholder})),K=o(()=>({...L.contentProps,placement:L.placement??L.contentProps?.placement,popupProps:L.popupProps??L.contentProps?.popupProps}));return F(W),(e,n)=>(g(),s(b(O),m(b(V),{"onUpdate:modelValue":n[1]||=e=>R(`update:modelValue`,e)}),{default:S(()=>[d(b(j),h(p(f.triggerProps)),{default:S(()=>[v(e.$slots,`trigger-leading`),d(b(N),h(p(G.value)),{default:S(t=>[v(e.$slots,`trigger-value`,h(p(t)))]),_:3},16),v(e.$slots,`trigger-trailing`),d(b(M),h(p(f.triggerIconProps)),{default:S(()=>[v(e.$slots,`trigger-icon`,{},()=>[d(t,{icon:`lucide:chevrons-up-down`})])]),_:3},16)]),_:3},16),d(b(D),h(p(f.portalProps)),{default:S(()=>[d(b(E),m(K.value,y(b(H))),{default:S(()=>[d(b(A),h(p(f.scrollUpButtonProps)),{default:S(()=>[v(e.$slots,`scroll-up-button`,{},()=>[d(t,{icon:`lucide:chevron-up`})])]),_:3},16),d(b(P),h(p(f.viewportProps)),{default:S(()=>[(g(!0),l(a,null,_(f.items,t=>(g(),s(i,{key:U(t),item:t,"group-props":f.groupProps,"group-label-props":f.groupLabelProps,"item-props":f.itemProps,"item-text-props":f.itemTextProps,"item-indicator-props":f.itemIndicatorProps,"separator-props":f.separatorProps,onSelect:n[0]||=e=>R(`select`,e)},u({_:2},[_(B.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,m({ref_for:!0},n))])}))]),1032,[`item`,`group-props`,`group-label-props`,`item-props`,`item-text-props`,`item-indicator-props`,`separator-props`]))),128))]),_:3},16),d(b(k),h(p(f.scrollDownButtonProps)),{default:S(()=>[v(e.$slots,`scroll-down-button`,{},()=>[d(t,{icon:`lucide:chevron-down`})])]),_:3},16),f.showArrow?(g(),s(b(T),h(m({key:0},f.arrowProps)),null,16)):c(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16))}});export{I as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{selectVariants as n}from"./variants.js";import{isGroupOption as r}from"./shared.js";import i from"./select-option.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createSlots as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,openBlock as g,renderList as _,renderSlot as v,toHandlers as y,unref as b,useSlots as x,withCtx as S}from"vue";import{useForwardListeners as C,useOmitProps as w}from"@soybeanjs/headless/composables";import{SelectArrow as T,SelectContent as E,SelectPortal as D,SelectRoot as O,SelectScrollDownButton as k,SelectScrollUpButton as A,SelectTrigger as j,SelectTriggerIcon as M,SelectValue as N,SelectViewport as P,provideSelectUi as F}from"@soybeanjs/headless";const I=f({name:`SSelect`,inheritAttrs:!1,__name:`select`,props:{class:{},ui:{},size:{},items:{},showArrow:{type:Boolean},triggerProps:{},triggerIconProps:{},placeholder:{},valueProps:{},portalProps:{},contentProps:{},placement:{},popupProps:{},viewportProps:{},scrollDownButtonProps:{},scrollUpButtonProps:{},groupProps:{},groupLabelProps:{},itemProps:{},itemTextProps:{},itemIndicatorProps:{},separatorProps:{},arrowProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},dir:{},autocomplete:{},disabled:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`,`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`,`select`],setup(f,{emit:I}){let L=f,R=I,z=x(),B=o(()=>Object.keys(z).filter(e=>e.startsWith(`item-`)||e===`group-label`)),V=w(L,[`class`,`ui`,`size`,`items`,`triggerProps`,`triggerIconProps`,`placeholder`,`valueProps`,`portalProps`,`contentProps`,`popupProps`,`placement`,`viewportProps`,`scrollDownButtonProps`,`scrollUpButtonProps`,`groupProps`,`groupLabelProps`,`itemProps`,`itemTextProps`,`itemIndicatorProps`,`separatorProps`,`arrowProps`]),H=C(R),U=e=>r(e)?`group-${e.label}`:e.value,W=o(()=>e(n({size:L.size}),L.ui,{trigger:L.class})),G=o(()=>({...L.valueProps,placeholder:L.placeholder??L.valueProps?.placeholder})),K=o(()=>({...L.contentProps,placement:L.placement??L.contentProps?.placement,popupProps:L.popupProps??L.contentProps?.popupProps}));return F(W),(e,n)=>(g(),s(b(O),m(b(V),{"onUpdate:modelValue":n[1]||=e=>R(`update:modelValue`,e)}),{default:S(()=>[d(b(j),h(p(f.triggerProps)),{default:S(()=>[v(e.$slots,`trigger-leading`),d(b(N),h(p(G.value)),{default:S(t=>[v(e.$slots,`trigger-value`,h(p(t)))]),_:3},16),v(e.$slots,`trigger-trailing`),d(b(M),h(p(f.triggerIconProps)),{default:S(()=>[v(e.$slots,`trigger-icon`,{},()=>[d(t,{icon:`lucide:chevrons-up-down`})])]),_:3},16)]),_:3},16),d(b(D),h(p(f.portalProps)),{default:S(()=>[d(b(E),m(K.value,y(b(H))),{default:S(()=>[d(b(A),h(p(f.scrollUpButtonProps)),{default:S(()=>[v(e.$slots,`scroll-up-button`,{},()=>[d(t,{icon:`lucide:chevron-up`})])]),_:3},16),d(b(P),h(p(f.viewportProps)),{default:S(()=>[(g(!0),l(a,null,_(f.items,t=>(g(),s(i,{key:U(t),item:t,"group-props":f.groupProps,"group-label-props":f.groupLabelProps,"item-props":f.itemProps,"item-text-props":f.itemTextProps,"item-indicator-props":f.itemIndicatorProps,"separator-props":f.separatorProps,onSelect:n[0]||=e=>R(`select`,e)},u({_:2},[_(B.value,t=>({name:t,fn:S(n=>[v(e.$slots,t,m({ref_for:!0},n))])}))]),1032,[`item`,`group-props`,`group-label-props`,`item-props`,`item-text-props`,`item-indicator-props`,`separator-props`]))),128))]),_:3},16),d(b(k),h(p(f.scrollDownButtonProps)),{default:S(()=>[v(e.$slots,`scroll-down-button`,{},()=>[d(t,{icon:`lucide:chevron-down`})])]),_:3},16),f.showArrow?(g(),s(b(T),h(m({key:0},f.arrowProps)),null,16)):c(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16))}});export{I as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{separatorVariants as t}from"../../variants/separator.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,toDisplayString as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{SeparatorLabel as g,SeparatorRoot as _,provideSeparatorUi as v}from"@soybeanjs/headless";const y=o({name:`SSeparator`,__name:`separator`,props:{class:{},size:{},ui:{},align:{},border:{},label:{},labelProps:{},orientation:{default:`horizontal`},decorative:{type:Boolean}},setup(o){let y=o,b=p(),x=h(y,[`class`,`size`,`ui`,`align`,`border`,`label`,`labelProps`]),S=n(()=>y.orientation===`horizontal`&&(b.default||y.label));return v(n(()=>e(t({size:y.size,orientation:y.orientation,align:y.align,border:y.border}),y.ui,{root:y.class}))),(e,t)=>(u(),r(f(_),l(s(f(x))),{default:m(()=>[S.value?(u(),r(f(g),l(c({key:0},o.labelProps)),{default:m(()=>[a(d(o.label),1)]),_:1},16)):i(`v-if`,!0)]),_:1},16))}});export{y as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{separatorVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,toDisplayString as d,unref as f,useSlots as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{SeparatorLabel as g,SeparatorRoot as _,provideSeparatorUi as v}from"@soybeanjs/headless";const y=o({name:`SSeparator`,__name:`separator`,props:{class:{},size:{},ui:{},align:{},border:{},label:{},labelProps:{},orientation:{default:`horizontal`},decorative:{type:Boolean}},setup(o){let y=o,b=p(),x=h(y,[`class`,`size`,`ui`,`align`,`border`,`label`,`labelProps`]),S=n(()=>y.orientation===`horizontal`&&(b.default||y.label));return v(n(()=>e(t({size:y.size,orientation:y.orientation,align:y.align,border:y.border}),y.ui,{root:y.class}))),(e,t)=>(u(),r(f(_),l(s(f(x))),{default:m(()=>[S.value?(u(),r(f(g),l(c({key:0},o.labelProps)),{default:m(()=>[a(d(o.label),1)]),_:1},16)):i(`v-if`,!0)]),_:1},16))}});export{y as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { SeparatorBorder } from "../../variants/separator.js";
3
+ import { SeparatorBorder } from "./variants.js";
4
4
  import { Align, ClassValue, SeparatorLabelProps, SeparatorRootProps, SeparatorUi } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/separator/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/separator.d.ts
4
+ //#region src/components/separator/variants.d.ts
5
5
  declare const separatorVariants: tailwind_variants0.TVReturnType<{
6
6
  size: {
7
7
  xs: {
@@ -1,4 +1,4 @@
1
- import { SwitchShape } from "../../variants/switch.js";
1
+ import { SwitchShape } from "./variants.js";
2
2
  import { SwitchEmits, SwitchProps } from "./types.js";
3
3
  import { _default } from "./switch.vue.js";
4
4
  import { SwitchControlProps, SwitchRootEmits, SwitchRootProps, SwitchThumbProps } from "@soybeanjs/headless/switch";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{switchVariants as t}from"../../variants/switch.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderSlot as u,unref as d,useId as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{SwitchControl as h,SwitchRoot as g,SwitchThumb as _,provideSwitchUi as v}from"@soybeanjs/headless";const y=a({name:`SSwitch`,__name:`switch`,props:{class:{},ui:{},color:{},size:{},shape:{},controlProps:{},thumbProps:{},defaultValue:{},modelValue:{default:void 0},disabled:{type:Boolean},value:{},name:{},required:{type:Boolean},trueValue:{default:!0},falseValue:{default:!1}},emits:[`update:modelValue`],setup(a,{emit:y}){let b=a,x=y,S=m(b,[`class`,`ui`,`color`,`size`,`shape`,`controlProps`,`thumbProps`]),C=f(),w=n(()=>b.id||`switch-${C}`);return v(n(()=>e(t({color:b.color,size:b.size,shape:b.shape}),b.ui,{root:b.class}))),(e,t)=>(l(),r(d(g),s(d(S),{"onUpdate:modelValue":t[0]||=e=>x(`update:modelValue`,e)}),{default:p(t=>[u(e.$slots,`leading`,c(o(t))),i(d(h),s(a.controlProps,{id:w.value}),{default:p(()=>[i(d(_),c(o(a.thumbProps)),{default:p(()=>[u(e.$slots,`default`,c(o(t)))]),_:2},1040)]),_:2},1040,[`id`]),u(e.$slots,`trailing`,c(o(t)))]),_:3},16))}});export{y as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{switchVariants as t}from"./variants.js";import{computed as n,createBlock as r,createVNode as i,defineComponent as a,guardReactiveProps as o,mergeProps as s,normalizeProps as c,openBlock as l,renderSlot as u,unref as d,useId as f,withCtx as p}from"vue";import{useOmitProps as m}from"@soybeanjs/headless/composables";import{SwitchControl as h,SwitchRoot as g,SwitchThumb as _,provideSwitchUi as v}from"@soybeanjs/headless";const y=a({name:`SSwitch`,__name:`switch`,props:{class:{},ui:{},color:{},size:{},shape:{},controlProps:{},thumbProps:{},defaultValue:{},modelValue:{default:void 0},disabled:{type:Boolean},value:{},name:{},required:{type:Boolean},trueValue:{default:!0},falseValue:{default:!1}},emits:[`update:modelValue`],setup(a,{emit:y}){let b=a,x=y,S=m(b,[`class`,`ui`,`color`,`size`,`shape`,`controlProps`,`thumbProps`]),C=f(),w=n(()=>b.id||`switch-${C}`);return v(n(()=>e(t({color:b.color,size:b.size,shape:b.shape}),b.ui,{root:b.class}))),(e,t)=>(l(),r(d(g),s(d(S),{"onUpdate:modelValue":t[0]||=e=>x(`update:modelValue`,e)}),{default:p(t=>[u(e.$slots,`leading`,c(o(t))),i(d(h),s(a.controlProps,{id:w.value}),{default:p(()=>[i(d(_),c(o(a.thumbProps)),{default:p(()=>[u(e.$slots,`default`,c(o(t)))]),_:2},1040)]),_:2},1040,[`id`]),u(e.$slots,`trailing`,c(o(t)))]),_:3},16))}});export{y as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { SwitchShape } from "../../variants/switch.js";
3
+ import { SwitchShape } from "./variants.js";
4
4
  import { SwitchProps } from "./types.js";
5
5
  import * as vue from "vue";
6
6
  import * as _soybeanjs_headless0 from "@soybeanjs/headless";
@@ -1,6 +1,6 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { SwitchShape } from "../../variants/switch.js";
3
+ import { SwitchShape } from "./variants.js";
4
4
  import { AcceptableBooleanValue, ClassValue, SwitchControlProps, SwitchRootEmits, SwitchRootProps, SwitchThumbProps, SwitchUi } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/switch/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/switch.d.ts
4
+ //#region src/components/switch/variants.d.ts
5
5
  declare const switchVariants: tailwind_variants0.TVReturnType<{
6
6
  color: {
7
7
  primary: {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tabsVariants as t}from"../../variants/tabs.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeClass as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,withCtx as x}from"vue";import{useForwardListeners as S,useOmitProps as C}from"@soybeanjs/headless/composables";import{TabsContent as w,TabsIndicator as T,TabsList as E,TabsRoot as D,TabsTrigger as O,provideTabsUi as k}from"@soybeanjs/headless";const A=u({name:`STabs`,__name:`tabs`,props:{class:{},size:{},ui:{},items:{},fill:{default:`full`},enableIndicator:{type:Boolean,default:!0},listProps:{},triggerProps:{},contentProps:{},indicatorProps:{},modelValue:{default:void 0},defaultValue:{},activationMode:{},unmountOnHide:{type:Boolean,default:!0},orientation:{},dir:{},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(u,{emit:A}){let j=u,M=A,N=C(j,[`class`,`size`,`ui`,`items`,`fill`,`loop`,`enableIndicator`,`listProps`,`triggerProps`,`contentProps`,`indicatorProps`]),P=S(M),F=r(()=>e(t({size:j.size,orientation:j.orientation,fill:j.fill,enableIndicator:j.enableIndicator}),j.ui,{root:j.class}));return k(F),(e,t)=>(h(),i(b(D),f(b(N),y(b(P))),{default:x(()=>[l(b(E),m(d(u.listProps)),{default:x(()=>[(h(!0),o(n,null,g(u.items,t=>(h(),i(b(O),f({ref_for:!0},u.triggerProps,{key:String(t.value),value:t.value,disabled:t.disabled}),{default:x(n=>[_(e.$slots,`trigger`,f({ref_for:!0},{...t,...n}),()=>[c(v(t.label),1)])]),_:2},1040,[`value`,`disabled`]))),128)),u.enableIndicator?(h(),i(b(T),m(f({key:0},u.indicatorProps)),{default:x(()=>[s(`div`,{class:p(F.value.indicatorContent)},null,2)]),_:1},16)):a(`v-if`,!0)]),_:3},16),(h(!0),o(n,null,g(u.items,t=>(h(),i(b(w),f({ref_for:!0},u.contentProps,{key:String(t.value),value:t.value}),{default:x(n=>[_(e.$slots,`content`,f({ref_for:!0},{...t,...n}))]),_:2},1040,[`value`]))),128))]),_:3},16))}});export{A as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tabsVariants as t}from"./variants.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,guardReactiveProps as d,mergeProps as f,normalizeClass as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,toHandlers as y,unref as b,withCtx as x}from"vue";import{useForwardListeners as S,useOmitProps as C}from"@soybeanjs/headless/composables";import{TabsContent as w,TabsIndicator as T,TabsList as E,TabsRoot as D,TabsTrigger as O,provideTabsUi as k}from"@soybeanjs/headless";const A=u({name:`STabs`,__name:`tabs`,props:{class:{},size:{},ui:{},items:{},fill:{default:`full`},enableIndicator:{type:Boolean,default:!0},listProps:{},triggerProps:{},contentProps:{},indicatorProps:{},modelValue:{default:void 0},defaultValue:{},activationMode:{},unmountOnHide:{type:Boolean,default:!0},orientation:{},dir:{},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(u,{emit:A}){let j=u,M=A,N=C(j,[`class`,`size`,`ui`,`items`,`fill`,`loop`,`enableIndicator`,`listProps`,`triggerProps`,`contentProps`,`indicatorProps`]),P=S(M),F=r(()=>e(t({size:j.size,orientation:j.orientation,fill:j.fill,enableIndicator:j.enableIndicator}),j.ui,{root:j.class}));return k(F),(e,t)=>(h(),i(b(D),f(b(N),y(b(P))),{default:x(()=>[l(b(E),m(d(u.listProps)),{default:x(()=>[(h(!0),o(n,null,g(u.items,t=>(h(),i(b(O),f({ref_for:!0},u.triggerProps,{key:String(t.value),value:t.value,disabled:t.disabled}),{default:x(n=>[_(e.$slots,`trigger`,f({ref_for:!0},{...t,...n}),()=>[c(v(t.label),1)])]),_:2},1040,[`value`,`disabled`]))),128)),u.enableIndicator?(h(),i(b(T),m(f({key:0},u.indicatorProps)),{default:x(()=>[s(`div`,{class:p(F.value.indicatorContent)},null,2)]),_:1},16)):a(`v-if`,!0)]),_:3},16),(h(!0),o(n,null,g(u.items,t=>(h(),i(b(w),f({ref_for:!0},u.contentProps,{key:String(t.value),value:t.value}),{default:x(n=>[_(e.$slots,`content`,f({ref_for:!0},{...t,...n}))]),_:2},1040,[`value`]))),128))]),_:3},16))}});export{A as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { TabsFill } from "../../variants/tabs.js";
3
+ import { TabsFill } from "./variants.js";
4
4
  import { AcceptableValue, ClassValue, DefinedValue, TabsContentProps, TabsIndicatorProps, TabsListProps, TabsRootEmits, TabsRootProps, TabsTriggerProps, TabsUi } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/tabs/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/tabs.d.ts
4
+ //#region src/components/tabs/variants.d.ts
5
5
  declare const tabsVariants: tailwind_variants0.TVReturnType<{
6
6
  size: {
7
7
  xs: {
@@ -1,3 +1,3 @@
1
- import { TagShape, TagVariant } from "../../variants/tag.js";
1
+ import { TagShape, TagVariant } from "./variants.js";
2
2
  import { TagEmits, TagProps } from "./types.js";
3
3
  import { _default } from "./tag.vue.js";
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import t from"../icon/icon.js";import{tagVariants as n}from"../../variants/tag.js";import{computed as r,createBlock as i,createCommentVNode as a,createTextVNode as o,createVNode as s,defineComponent as c,normalizeClass as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{Tag as h}from"@soybeanjs/headless";const g=c({name:`STag`,__name:`tag`,props:{class:{},color:{},size:{},variant:{},shape:{},content:{},closable:{type:Boolean},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(c,{emit:g}){let _=c,v=g,y=r(()=>e(n({color:_.color,size:_.size,variant:_.variant,shape:_.shape}),_.class));return(e,n)=>(u(),i(p(h),{open:c.open,class:l(y.value),"onUpdate:open":n[0]||=e=>v(`update:open`,e)},{default:m(({close:n})=>[d(e.$slots,`leading`),d(e.$slots,`default`,{},()=>[o(f(c.content),1)]),d(e.$slots,`trailing`),c.closable?d(e.$slots,`close`,{key:0,close:n},()=>[s(t,{icon:`lucide:x`,style:{"flex-shrink":`0`,cursor:`pointer`},onClick:n},null,8,[`onClick`])]):a(`v-if`,!0)]),_:3},8,[`open`,`class`]))}});export{g as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import t from"../icon/icon.js";import{tagVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createTextVNode as o,createVNode as s,defineComponent as c,normalizeClass as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{Tag as h}from"@soybeanjs/headless";const g=c({name:`STag`,__name:`tag`,props:{class:{},color:{},size:{},variant:{},shape:{},content:{},closable:{type:Boolean},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(c,{emit:g}){let _=c,v=g,y=r(()=>e(n({color:_.color,size:_.size,variant:_.variant,shape:_.shape}),_.class));return(e,n)=>(u(),i(p(h),{open:c.open,class:l(y.value),"onUpdate:open":n[0]||=e=>v(`update:open`,e)},{default:m(({close:n})=>[d(e.$slots,`leading`),d(e.$slots,`default`,{},()=>[o(f(c.content),1)]),d(e.$slots,`trailing`),c.closable?d(e.$slots,`close`,{key:0,close:n},()=>[s(t,{icon:`lucide:x`,style:{"flex-shrink":`0`,cursor:`pointer`},onClick:n},null,8,[`onClick`])]):a(`v-if`,!0)]),_:3},8,[`open`,`class`]))}});export{g as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { TagShape, TagVariant } from "../../variants/tag.js";
3
+ import { TagShape, TagVariant } from "./variants.js";
4
4
  import { ClassValue, TagEmits, TagProps } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/tag/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/tag.d.ts
4
+ //#region src/components/tag/variants.d.ts
5
5
  declare const tagVariants: tailwind_variants0.TVReturnType<{
6
6
  color: {
7
7
  primary: string;
@@ -1,4 +1,4 @@
1
- import { TextareaResize } from "../../variants/textarea.js";
1
+ import { TextareaResize } from "./variants.js";
2
2
  import { TextareaEmits, TextareaExtraUiSlot, TextareaProps } from "./types.js";
3
3
  import { _default } from "./textarea.vue.js";
4
4
  import { TextareaControlProps, TextareaCounterProps, TextareaRootEmits, TextareaRootProps } from "@soybeanjs/headless/textarea";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{textareaVariants as n}from"../../variants/textarea.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{TextareaControl as v,TextareaCounter as y,TextareaRoot as b,provideTextareaUi as x}from"@soybeanjs/headless";const S=s({name:`STextarea`,__name:`textarea`,props:{class:{},size:{},ui:{},resize:{},clearable:{type:Boolean},showCounter:{type:Boolean},textareaRef:{type:Function},controlProps:{},counterProps:{},defaultValue:{},modelValue:{},autosize:{type:[Boolean,Object]},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:S}){let C=s,w=S,[T,E]=g(e=>C.textareaRef?.(e)),D=_(C,[`class`,`size`,`ui`,`resize`,`clearable`,`showCounter`,`textareaRef`,`controlProps`,`counterProps`]),O=r(()=>e(n({size:C.size,resize:C.autosize?!1:C.resize}),C.ui,{root:C.class}));return x(O),(e,n)=>(f(),i(m(b),l(m(D),{"onUpdate:modelValue":n[0]||=e=>w(`update:modelValue`,e)}),{default:h(({clear:n})=>[o(m(v),l(s.controlProps,{ref:m(E)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),s.showCounter?(f(),i(m(y),{key:1},{default:h(t=>[p(e.$slots,`counter`,d(c(t)))]),_:3})):a(`v-if`,!0),p(e.$slots,`footer`)]),_:3},16))}});export{S as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{textareaVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{TextareaControl as v,TextareaCounter as y,TextareaRoot as b,provideTextareaUi as x}from"@soybeanjs/headless";const S=s({name:`STextarea`,__name:`textarea`,props:{class:{},size:{},ui:{},resize:{},clearable:{type:Boolean},showCounter:{type:Boolean},textareaRef:{type:Function},controlProps:{},counterProps:{},defaultValue:{},modelValue:{},autosize:{type:[Boolean,Object]},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:S}){let C=s,w=S,[T,E]=g(e=>C.textareaRef?.(e)),D=_(C,[`class`,`size`,`ui`,`resize`,`clearable`,`showCounter`,`textareaRef`,`controlProps`,`counterProps`]),O=r(()=>e(n({size:C.size,resize:C.autosize?!1:C.resize}),C.ui,{root:C.class}));return x(O),(e,n)=>(f(),i(m(b),l(m(D),{"onUpdate:modelValue":n[0]||=e=>w(`update:modelValue`,e)}),{default:h(({clear:n})=>[o(m(v),l(s.controlProps,{ref:m(E)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),s.showCounter?(f(),i(m(y),{key:1},{default:h(t=>[p(e.$slots,`counter`,d(c(t)))]),_:3})):a(`v-if`,!0),p(e.$slots,`footer`)]),_:3},16))}});export{S as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { TextareaResize } from "../../variants/textarea.js";
3
+ import { TextareaResize } from "./variants.js";
4
4
  import { ClassValue, TextareaControlProps, TextareaCounterProps, TextareaRootEmits, TextareaRootProps, TextareaUi } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/textarea/types.d.ts
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/textarea.d.ts
4
+ //#region src/components/textarea/variants.d.ts
5
5
  declare const textareaVariants: tailwind_variants0.TVReturnType<{
6
6
  size: {
7
7
  xs: {
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{toastViewportVariants as t}from"../../variants/toast.js";import{useThemeSize as n}from"../config-provider/context.js";import{provideToastProviderContext as r}from"./context.js";import i from"./toast.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createSlots as u,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeProps as g,onBeforeUnmount as _,openBlock as v,renderList as y,renderSlot as b,resolveDynamicComponent as x,toDisplayString as S,unref as C,withCtx as w}from"vue";import{useOmitProps as T}from"@soybeanjs/headless/composables";import{ToastProvider as E,ToastViewport as D,provideToastViewportUi as O}from"@soybeanjs/headless";import{transformPropsToContext as k}from"@soybeanjs/headless/shared";const A=p({name:`SToast`,__name:`toast-provider`,props:{ui:{default:()=>({})},limits:{default:3},removeDelay:{default:5e3},position:{default:`top-right`},viewportProps:{},label:{},duration:{},swipeDirection:{},swipeThreshold:{}},setup(p){let A=p,j=T(A,[`ui`,`limits`,`removeDelay`,`position`,`viewportProps`]),{states:M,ids:N,clear:P,position:F}=r(k(A,[`ui`,`limits`,`removeDelay`,`position`])),I=n();return O(o(()=>e(t({size:I.value,position:F.value}),A.ui?.viewport))),_(()=>{P()}),(e,t)=>(v(),s(C(E),g(m(C(j))),{default:w(()=>[f(C(D),g(m(p.viewportProps)),null,16),(v(!0),l(a,null,y(C(M),({id:e,title:t,description:n,content:r,onClose:o,...f})=>(v(),s(i,h({key:e},{ref_for:!0},f,{open:C(N).includes(e),"onUpdate:open":o}),u({default:w(()=>[r?(v(),s(x(r),{key:0})):c(`v-if`,!0)]),_:2},[t?{name:`title`,fn:w(()=>[typeof t==`string`?(v(),l(a,{key:0},[d(S(t),1)],64)):(v(),s(x(t),{key:1}))]),key:`0`}:void 0,n?{name:`description`,fn:w(()=>[typeof n==`string`?(v(),l(a,{key:0},[d(S(n),1)],64)):(v(),s(x(n),{key:1}))]),key:`1`}:void 0]),1040,[`open`,`onUpdate:open`]))),128)),b(e.$slots,`default`)]),_:3},16))}});export{A as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{useThemeSize as t}from"../config-provider/context.js";import{provideToastProviderContext as n}from"./context.js";import{toastViewportVariants as r}from"./variants.js";import i from"./toast.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createSlots as u,createTextVNode as d,createVNode as f,defineComponent as p,guardReactiveProps as m,mergeProps as h,normalizeProps as g,onBeforeUnmount as _,openBlock as v,renderList as y,renderSlot as b,resolveDynamicComponent as x,toDisplayString as S,unref as C,withCtx as w}from"vue";import{useOmitProps as T}from"@soybeanjs/headless/composables";import{ToastProvider as E,ToastViewport as D,provideToastViewportUi as O}from"@soybeanjs/headless";import{transformPropsToContext as k}from"@soybeanjs/headless/shared";const A=p({name:`SToast`,__name:`toast-provider`,props:{ui:{default:()=>({})},limits:{default:3},removeDelay:{default:5e3},position:{default:`top-right`},viewportProps:{},label:{},duration:{},disableSwipe:{type:Boolean},swipeDirection:{},swipeThreshold:{}},setup(p){let A=p,j=T(A,[`ui`,`limits`,`removeDelay`,`position`,`viewportProps`]),{states:M,ids:N,clear:P,position:F}=n(k(A,[`ui`,`limits`,`removeDelay`,`position`])),I=t();return O(o(()=>e(r({size:I.value,position:F.value}),A.ui?.viewport))),_(()=>{P()}),(e,t)=>(v(),s(C(E),g(m(C(j))),{default:w(()=>[f(C(D),g(m(p.viewportProps)),null,16),(v(!0),l(a,null,y(C(M),({id:e,title:t,description:n,content:r,onClose:o,...f})=>(v(),s(i,h({key:e},{ref_for:!0},f,{open:C(N).includes(e),"onUpdate:open":o}),u({default:w(()=>[r?(v(),s(x(r),{key:0})):c(`v-if`,!0)]),_:2},[t?{name:`title`,fn:w(()=>[typeof t==`string`?(v(),l(a,{key:0},[d(S(t),1)],64)):(v(),s(x(t),{key:1}))]),key:`0`}:void 0,n?{name:`description`,fn:w(()=>[typeof n==`string`?(v(),l(a,{key:0},[d(S(n),1)],64)):(v(),s(x(n),{key:1}))]),key:`1`}:void 0]),1040,[`open`,`onUpdate:open`]))),128)),b(e.$slots,`default`)]),_:3},16))}});export{A as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toastVariants as t}from"../../variants/toast.js";import n from"../button/button-icon.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeClass as d,normalizeProps as f,openBlock as p,renderSlot as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{ToastClose as b,ToastDescription as x,ToastRoot as S,ToastTitle as C,provideToastUi as w}from"@soybeanjs/headless";const T=c({name:`SToast`,__name:`toast`,props:{class:{},size:{},ui:{},type:{},color:{},position:{},showIcon:{type:Boolean,default:!0},titleProps:{},descriptionProps:{},liveType:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},duration:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(c,{emit:T}){let E=c,D=T,O=y(E,[`class`,`size`,`ui`,`color`,`titleProps`,`descriptionProps`]),k=v(D),A=i(()=>e(t({color:E.color,size:E.size}),E.ui,{root:E.class})),j={destructive:{icon:`lucide:circle-x`,class:`text-destructive`},success:{icon:`lucide:circle-check`,class:`text-success`},warning:{icon:`lucide:circle-alert`,class:`text-warning`},info:{icon:`lucide:info`,class:`text-info`}},M=i(()=>E.type?j[E.type]:null);return w(A),(e,t)=>(p(),a(g(S),u(g(O),h(g(k))),{default:_(()=>[s(g(C),f(l(c.titleProps)),{default:_(()=>[c.showIcon&&M.value?(p(),a(r,{key:0,icon:M.value.icon,class:d(M.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),m(e.$slots,`title`)]),_:3},16),s(g(x),f(l(c.descriptionProps)),{default:_(()=>[m(e.$slots,`description`)]),_:3},16),s(g(b),{"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(n,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3}),m(e.$slots,`default`)]),_:3},16))}});export{T as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toastVariants as t}from"./variants.js";import n from"../button/button-icon.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeClass as d,normalizeProps as f,openBlock as p,renderSlot as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{ToastClose as b,ToastDescription as x,ToastRoot as S,ToastTitle as C,provideToastUi as w}from"@soybeanjs/headless";const T=c({name:`SToast`,__name:`toast`,props:{class:{},size:{},ui:{},type:{},color:{},position:{},showIcon:{type:Boolean,default:!0},titleProps:{},descriptionProps:{},liveType:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},duration:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(c,{emit:T}){let E=c,D=T,O=y(E,[`class`,`size`,`ui`,`color`,`titleProps`,`descriptionProps`]),k=v(D),A=i(()=>e(t({color:E.color,size:E.size}),E.ui,{root:E.class})),j={destructive:{icon:`lucide:circle-x`,class:`text-destructive`},success:{icon:`lucide:circle-check`,class:`text-success`},warning:{icon:`lucide:circle-alert`,class:`text-warning`},info:{icon:`lucide:info`,class:`text-info`}},M=i(()=>E.type?j[E.type]:null);return w(A),(e,t)=>(p(),a(g(S),u(g(O),h(g(k))),{default:_(()=>[s(g(C),f(l(c.titleProps)),{default:_(()=>[c.showIcon&&M.value?(p(),a(r,{key:0,icon:M.value.icon,class:d(M.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),m(e.$slots,`title`)]),_:3},16),s(g(x),f(l(c.descriptionProps)),{default:_(()=>[m(e.$slots,`description`)]),_:3},16),s(g(b),{"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(n,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3}),m(e.$slots,`default`)]),_:3},16))}});export{T as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { ToastPosition } from "../../variants/toast.js";
3
+ import { ToastPosition } from "./variants.js";
4
4
  import { VNode } from "vue";
5
5
  import { ClassValue, PropsToContext, ToastDescriptionProps, ToastProviderProps, ToastRootProps, ToastTitleProps, ToastUi, ToastViewportProps } from "@soybeanjs/headless";
6
6
 
@@ -1,7 +1,7 @@
1
1
  import * as tailwind_variants0 from "tailwind-variants";
2
2
  import { VariantProps } from "tailwind-variants";
3
3
 
4
- //#region src/variants/toast.d.ts
4
+ //#region src/components/toast/variants.d.ts
5
5
  declare const toastViewportVariants: tailwind_variants0.TVReturnType<{
6
6
  size: {
7
7
  xs: string;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tooltipVariants as t}from"../../variants/tooltip.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{TooltipArrow as y,TooltipPopup as b,TooltipPortal as x,TooltipPositioner as S,TooltipRoot as C,TooltipTrigger as w,provideTooltipUi as T}from"@soybeanjs/headless";const E=s({name:`STooltip`,__name:`tooltip`,props:{class:{},size:{},ui:{},content:{},placement:{},showArrow:{type:Boolean,default:!0},popupProps:{},positionerProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`],setup(s,{emit:E}){let D=s,O=E,k=v(D,[`class`,`size`,`ui`,`content`,`showArrow`,`popupProps`,`positionerProps`,`triggerProps`,`portalProps`,`arrowProps`]),A=_(O),j=n(()=>e(t({size:D.size}),D.ui,{popup:D.class})),M=n(()=>({placement:D.placement,...D.positionerProps}));return T(j),(e,t)=>(d(),r(h(C),l(h(k),{"onUpdate:open":t[0]||=e=>O(`update:open`,e)}),{default:g(()=>[o(h(w),{"as-child":``},{default:g(()=>[f(e.$slots,`trigger`)]),_:3}),o(h(x),u(c(s.portalProps)),{default:g(()=>[o(h(S),l(M.value,m(h(A))),{default:g(()=>[o(h(b),u(c(s.popupProps)),{default:g(()=>[f(e.$slots,`default`,{},()=>[a(p(s.content),1)]),s.showArrow?(d(),r(h(y),u(l({key:0},s.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{E as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tooltipVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{TooltipArrow as y,TooltipPopup as b,TooltipPortal as x,TooltipPositioner as S,TooltipRoot as C,TooltipTrigger as w,provideTooltipUi as T}from"@soybeanjs/headless";const E=s({name:`STooltip`,__name:`tooltip`,props:{class:{},size:{},ui:{},content:{},placement:{},showArrow:{type:Boolean,default:!0},popupProps:{},positionerProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`],setup(s,{emit:E}){let D=s,O=E,k=v(D,[`class`,`size`,`ui`,`content`,`showArrow`,`popupProps`,`positionerProps`,`triggerProps`,`portalProps`,`arrowProps`]),A=_(O),j=n(()=>e(t({size:D.size}),D.ui,{popup:D.class})),M=n(()=>({placement:D.placement,...D.positionerProps}));return T(j),(e,t)=>(d(),r(h(C),l(h(k),{"onUpdate:open":t[0]||=e=>O(`update:open`,e)}),{default:g(()=>[o(h(w),{"as-child":``},{default:g(()=>[f(e.$slots,`trigger`)]),_:3}),o(h(x),u(c(s.portalProps)),{default:g(()=>[o(h(S),l(M.value,m(h(A))),{default:g(()=>[o(h(b),u(c(s.popupProps)),{default:g(()=>[f(e.$slots,`default`,{},()=>[a(p(s.content),1)]),s.showArrow?(d(),r(h(y),u(l({key:0},s.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{E as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{treeMenuVariants as t}from"../../variants/tree-menu.js";import{computed as n,createElementBlock as r,createElementVNode as i,defineComponent as a,normalizeClass as o,openBlock as s,renderSlot as c}from"vue";const l=a({name:`STreeMenuStyledItem`,__name:`tree-menu-styled-item`,props:{class:{},size:{},ui:{}},setup(a){let l=a,u=n(()=>e(t({size:l.size}),l.ui,{item:l.class}));return(e,t)=>(s(),r(`div`,{class:o(u.value.item)},[i(`button`,{class:o(u.value.button)},[c(e.$slots,`default`)],2)],2))}});export{l as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{treeMenuVariants as t}from"./variants.js";import{computed as n,createElementBlock as r,createElementVNode as i,defineComponent as a,normalizeClass as o,openBlock as s,renderSlot as c}from"vue";const l=a({name:`STreeMenuStyledItem`,__name:`tree-menu-styled-item`,props:{class:{},size:{},ui:{}},setup(a){let l=a,u=n(()=>e(t({size:l.size}),l.ui,{item:l.class}));return(e,t)=>(s(),r(`div`,{class:o(u.value.item)},[i(`button`,{class:o(u.value.button)},[c(e.$slots,`default`)],2)],2))}});export{l as default};