@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
package/README.md CHANGED
@@ -123,7 +123,7 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
123
123
 
124
124
  ✅: Completed ✨: Implemented
125
125
 
126
- ✅ 48 / total: 109
126
+ ✅ 48 / total: 108
127
127
 
128
128
  | No | Priority | Name | Status | Alias | 📝 Note |
129
129
  | --- | -------- | --------------- | ------------ | -------------------- | ------------------------ |
@@ -224,18 +224,17 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
224
224
  | 95 | 4 | Mention | | | element-plus |
225
225
  | 96 | 4 | Navbar | | | |
226
226
  | 97 | 4 | NumberAnimation | | | naive-ui |
227
- | 98 | 4 | PageTab | | | |
228
- | 99 | 4 | QRCode | | | |
229
- | 100 | 4 | Rating | | Rate | element-plus |
230
- | 101 | 4 | Result | | | |
231
- | 102 | 4 | Spinner | | Loader, Spin | github ldrs |
232
- | 103 | 4 | Statistic | | | |
233
- | 104 | 4 | Tour | | | |
234
- | 105 | 4 | Transfer | | | |
235
- | 106 | 4 | TreeSelect | | | |
236
- | 107 | 4 | Typography | | | shadcn-ui |
237
- | 108 | 4 | Upload | | FileUpload, Dropfile | |
238
- | 109 | 4 | Watermark | | | |
227
+ | 98 | 4 | QRCode | | | |
228
+ | 99 | 4 | Rating | | Rate | element-plus |
229
+ | 100 | 4 | Result | | | |
230
+ | 101 | 4 | Spinner | | Loader, Spin | github ldrs |
231
+ | 102 | 4 | Statistic | | | |
232
+ | 103 | 4 | Tour | | | |
233
+ | 104 | 4 | Transfer | | | |
234
+ | 105 | 4 | TreeSelect | | | |
235
+ | 106 | 4 | Typography | | | shadcn-ui |
236
+ | 107 | 4 | Upload | | FileUpload, Dropfile | |
237
+ | 108 | 4 | Watermark | | | |
239
238
 
240
239
  ### Utilities
241
240
 
package/README.zh-CN.md CHANGED
@@ -123,7 +123,7 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
123
123
 
124
124
  ✅: 已完成 ✨: 已实现
125
125
 
126
- ✅ 48 / 总计: 109
126
+ ✅ 48 / 总计: 108
127
127
 
128
128
  | No | Priority | Name | Status | Alias | 📝 Note |
129
129
  | --- | -------- | --------------- | ------------ | -------------------- | ------------------------ |
@@ -224,18 +224,17 @@ import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from
224
224
  | 95 | 4 | Mention | | | element-plus |
225
225
  | 96 | 4 | Navbar | | | |
226
226
  | 97 | 4 | NumberAnimation | | | naive-ui |
227
- | 98 | 4 | PageTab | | | |
228
- | 99 | 4 | QRCode | | | |
229
- | 100 | 4 | Rating | | Rate | element-plus |
230
- | 101 | 4 | Result | | | |
231
- | 102 | 4 | Spinner | | Loader, Spin | github ldrs |
232
- | 103 | 4 | Statistic | | | |
233
- | 104 | 4 | Tour | | | |
234
- | 105 | 4 | Transfer | | | |
235
- | 106 | 4 | TreeSelect | | | |
236
- | 107 | 4 | Typography | | | shadcn-ui |
237
- | 108 | 4 | Upload | | FileUpload, Dropfile | |
238
- | 109 | 4 | Watermark | | | |
227
+ | 98 | 4 | QRCode | | | |
228
+ | 99 | 4 | Rating | | Rate | element-plus |
229
+ | 100 | 4 | Result | | | |
230
+ | 101 | 4 | Spinner | | Loader, Spin | github ldrs |
231
+ | 102 | 4 | Statistic | | | |
232
+ | 103 | 4 | Tour | | | |
233
+ | 104 | 4 | Transfer | | | |
234
+ | 105 | 4 | TreeSelect | | | |
235
+ | 106 | 4 | Typography | | | shadcn-ui |
236
+ | 107 | 4 | Upload | | FileUpload, Dropfile | |
237
+ | 108 | 4 | Watermark | | | |
239
238
 
240
239
  ### Utilities
241
240
 
@@ -1 +1 @@
1
- import{accordionVariants as e}from"../../variants/accordion.js";import{mergeSlotVariants as t}from"../../theme/shared.js";import"../../theme/index.js";import n from"../icon/icon.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,withCtx as y}from"vue";import{useForwardListeners as b,useOmitProps as x}from"@soybeanjs/headless/composables";import{AccordionContent as S,AccordionHeader as C,AccordionItem as w,AccordionRoot as T,AccordionTrigger as E,provideAccordionUi as D}from"@soybeanjs/headless";const O=u({name:`SAccordion`,__name:`accordion`,props:{class:{},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{}},emits:[`update:modelValue`],setup(u,{emit:O}){let k=u,A=O,j=x(k,[`class`,`size`,`ui`,`items`,`itemProps`,`headerProps`,`triggerProps`,`contentProps`]),M=b(A),N=i(()=>t(e({size:k.size}),k.ui,{root:k.class}));return D(N),(e,t)=>(p(),a(v(T),d(v(j),_(v(M))),{default:y(()=>[(p(!0),o(r,null,m(k.items,t=>h(e.$slots,`item`,{key:t.value,item:t,modelValue:u.modelValue},()=>[l(v(w),d({ref_for:!0},k.itemProps,{value:t.value,disabled:t.disabled}),{default:y(({open:r})=>[l(v(C),d({ref_for:!0},k.headerProps),{default:y(()=>[l(v(E),d({ref_for:!0},k.triggerProps),{default:y(()=>[h(e.$slots,`leading`,{item:t,modelValue:u.modelValue,open:r},()=>[l(n,{icon:t.icon,class:f(N.value.triggerLeadingIcon)},null,8,[`icon`,`class`])]),h(e.$slots,`title`,{item:t,modelValue:u.modelValue,open:r},()=>[c(g(t.title),1)]),h(e.$slots,`trigger-icon`,{item:t,modelValue:u.modelValue,open:r},()=>[l(n,{icon:`lucide:chevron-down`,class:f(N.value.triggerIcon)},null,8,[`class`])])]),_:2},1040)]),_:2},1040),l(v(S),d({ref_for:!0},k.contentProps),{default:y(()=>[h(e.$slots,`content`,{item:t,modelValue:u.modelValue,open:r},()=>[s(`p`,{class:f(N.value.description)},g(t.description),3)])]),_:2},1040)]),_:2},1040,[`value`,`disabled`])])),128))]),_: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{accordionVariants as n}from"./variants.js";import{Fragment as r,computed as i,createBlock as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,mergeProps as d,normalizeClass as f,openBlock as p,renderList as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,withCtx as y}from"vue";import{useForwardListeners as b,useOmitProps as x}from"@soybeanjs/headless/composables";import{AccordionContent as S,AccordionHeader as C,AccordionItem as w,AccordionRoot as T,AccordionTrigger as E,provideAccordionUi as D}from"@soybeanjs/headless";const O=u({name:`SAccordion`,__name:`accordion`,props:{class:{},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{},collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{}},emits:[`update:modelValue`],setup(u,{emit:O}){let k=u,A=O,j=x(k,[`class`,`size`,`ui`,`items`,`itemProps`,`headerProps`,`triggerProps`,`contentProps`]),M=b(A),N=i(()=>e(n({size:k.size}),k.ui,{root:k.class}));return D(N),(e,n)=>(p(),a(v(T),d(v(j),_(v(M))),{default:y(()=>[(p(!0),o(r,null,m(k.items,n=>h(e.$slots,`item`,{key:n.value,item:n,modelValue:u.modelValue},()=>[l(v(w),d({ref_for:!0},k.itemProps,{value:n.value,disabled:n.disabled}),{default:y(({open:r})=>[l(v(C),d({ref_for:!0},k.headerProps),{default:y(()=>[l(v(E),d({ref_for:!0},k.triggerProps),{default:y(()=>[h(e.$slots,`leading`,{item:n,modelValue:u.modelValue,open:r},()=>[l(t,{icon:n.icon,class:f(N.value.triggerLeadingIcon)},null,8,[`icon`,`class`])]),h(e.$slots,`title`,{item:n,modelValue:u.modelValue,open:r},()=>[c(g(n.title),1)]),h(e.$slots,`trigger-icon`,{item:n,modelValue:u.modelValue,open:r},()=>[l(t,{icon:`lucide:chevron-down`,class:f(N.value.triggerIcon)},null,8,[`class`])])]),_:2},1040)]),_:2},1040),l(v(S),d({ref_for:!0},k.contentProps),{default:y(()=>[h(e.$slots,`content`,{item:n,modelValue:u.modelValue,open:r},()=>[s(`p`,{class:f(N.value.description)},g(n.description),3)])]),_:2},1040)]),_:2},1040,[`value`,`disabled`])])),128))]),_:3},16))}});export{O as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../button/button-icon.js";import n from"../icon/icon.js";import{alertVariants as r}from"../../variants/alert.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,useSlots as v,withCtx as y}from"vue";import{AlertClose as b,AlertContent as x,AlertDescription as S,AlertRoot as C,AlertTitle as w,provideAlertUi as T}from"@soybeanjs/headless";const E=l({name:`SAlert`,__name:`alert`,props:{class:{},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(l,{emit:E}){let D=l,O=E,k=v(),A=i(()=>e(r({size:D.size,color:D.color,variant:D.variant}),D.ui,{root:D.class}));return T(A),(e,r)=>(m(),a(_(C),{open:l.open,"onUpdate:open":r[0]||=e=>O(`update:open`,e)},{default:y(()=>[h(e.$slots,`leading`,{},()=>[c(n,{icon:l.icon,class:f(A.value.icon)},null,8,[`icon`,`class`])]),c(_(x),p(u(l.contentProps)),{default:y(()=>[_(k).title||l.title?(m(),a(_(w),p(d({key:0},l.titleProps)),{default:y(()=>[h(e.$slots,`title`,{},()=>[s(g(l.title),1)])]),_:3},16)):o(`v-if`,!0),_(k).description||l.description?(m(),a(_(S),p(d({key:1},l.descriptionProps)),{default:y(()=>[h(e.$slots,`description`,{},()=>[s(g(l.description),1)])]),_:3},16)):o(`v-if`,!0),h(e.$slots,`default`)]),_:3},16),h(e.$slots,`trailing`),l.closable?(m(),a(_(b),d({key:0},l.closeProps,{"as-child":``}),{default:y(()=>[h(e.$slots,`close`,{},()=>[c(t,{icon:`lucide:x`,size:l.size},null,8,[`size`])])]),_:3},16)):o(`v-if`,!0)]),_:3},8,[`open`]))}});export{E as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../button/button-icon.js";import n from"../icon/icon.js";import{alertVariants as r}from"./variants.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,unref as _,useSlots as v,withCtx as y}from"vue";import{AlertClose as b,AlertContent as x,AlertDescription as S,AlertRoot as C,AlertTitle as w,provideAlertUi as T}from"@soybeanjs/headless";const E=l({name:`SAlert`,__name:`alert`,props:{class:{},size:{},color:{},variant:{},ui:{},title:{},description:{},icon:{},closable:{type:Boolean},contentProps:{},titleProps:{},descriptionProps:{},closeProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(l,{emit:E}){let D=l,O=E,k=v(),A=i(()=>e(r({size:D.size,color:D.color,variant:D.variant}),D.ui,{root:D.class}));return T(A),(e,r)=>(m(),a(_(C),{open:l.open,"onUpdate:open":r[0]||=e=>O(`update:open`,e)},{default:y(()=>[h(e.$slots,`leading`,{},()=>[c(n,{icon:l.icon,class:f(A.value.icon)},null,8,[`icon`,`class`])]),c(_(x),p(u(l.contentProps)),{default:y(()=>[_(k).title||l.title?(m(),a(_(w),p(d({key:0},l.titleProps)),{default:y(()=>[h(e.$slots,`title`,{},()=>[s(g(l.title),1)])]),_:3},16)):o(`v-if`,!0),_(k).description||l.description?(m(),a(_(S),p(d({key:1},l.descriptionProps)),{default:y(()=>[h(e.$slots,`description`,{},()=>[s(g(l.description),1)])]),_:3},16)):o(`v-if`,!0),h(e.$slots,`default`)]),_:3},16),h(e.$slots,`trailing`),l.closable?(m(),a(_(b),d({key:0},l.closeProps,{"as-child":``}),{default:y(()=>[h(e.$slots,`close`,{},()=>[c(t,{icon:`lucide:x`,size:l.size},null,8,[`size`])])]),_:3},16)):o(`v-if`,!0)]),_:3},8,[`open`]))}});export{E as default};
@@ -1,4 +1,4 @@
1
- import { AlertVariant } from "../../variants/alert.js";
1
+ import { AlertVariant } from "./variants.js";
2
2
  import { AlertEmits, AlertExtendedUi, AlertProps } from "./types.js";
3
3
  import { _default } from "./alert.vue.js";
4
4
  import { AlertCloseProps, AlertContentProps, AlertDescriptionProps, AlertRootEmits, AlertRootProps, AlertTitleProps } from "@soybeanjs/headless/alert";
@@ -1,7 +1,7 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { IconValue } from "../icon/types.js";
4
- import { AlertVariant } from "../../variants/alert.js";
4
+ import { AlertVariant } from "./variants.js";
5
5
  import { AlertCloseProps, AlertContentProps, AlertDescriptionProps, AlertRootEmits, AlertRootProps, AlertTitleProps, AlertUiSlot, ClassValue, UiClass } from "@soybeanjs/headless";
6
6
 
7
7
  //#region src/components/alert/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/alert.d.ts
4
+ //#region src/components/alert/variants.d.ts
5
5
  declare const alertVariants: tailwind_variants0.TVReturnType<{
6
6
  color: {
7
7
  primary: {
@@ -1,4 +1,4 @@
1
- import { ButtonVariant } from "../../variants/button.js";
1
+ import { ButtonVariant } from "../button/variants.js";
2
2
  import { AlertDialogCancelProps } from "./types.js";
3
3
  import "../button/index.js";
4
4
  import * as vue from "vue";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../../variants/dialog.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AlertDialogContent as C,AlertDialogDescription as w,AlertDialogFooter as T,AlertDialogHeader as E,AlertDialogOverlay as D,AlertDialogPortal as O,AlertDialogRoot as k,AlertDialogTitle as A,AlertDialogTrigger as j,provideAlertDialogUi as M}from"@soybeanjs/headless";const N=l({name:`SAlertDialog`,__name:`alert-dialog`,props:{type:{},showIcon:{type:Boolean,default:!0},size:{},ui:{},title:{},description:{},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:[`update:open`],setup(l,{emit:N}){let P=l,F=S(P,[`size`,`ui`,`type`,`title`,`description`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),I=N,L=y(),R=x(I),z=i(()=>e(n({size:P.size}),P.ui)),B={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`}},V=i(()=>P.type?B[P.type]:null);return M(z),t(()=>P.size),(e,t)=>(m(),a(v(k),d(v(F),{"onUpdate:open":t[0]||=e=>I(`update:open`,e)}),{default:b(t=>[c(v(j),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(O),p(u(l.portalProps)),{default:b(()=>[c(v(D),p(u(l.overlayProps)),null,16),c(v(C),d(l.contentProps,_(v(R))),{default:b(()=>[c(v(E),p(u(l.headerProps)),{default:b(()=>[c(v(A),p(u(l.titleProps)),{default:b(()=>[l.showIcon&&V.value?(m(),a(r,{key:0,icon:V.value.icon,class:f(V.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(L).description||l.description?(m(),a(v(w),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(L).footer?(m(),a(v(T),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{N as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../dialog/variants.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AlertDialogContent as C,AlertDialogDescription as w,AlertDialogFooter as T,AlertDialogHeader as E,AlertDialogOverlay as D,AlertDialogPortal as O,AlertDialogRoot as k,AlertDialogTitle as A,AlertDialogTrigger as j,provideAlertDialogUi as M}from"@soybeanjs/headless";const N=l({name:`SAlertDialog`,__name:`alert-dialog`,props:{type:{},showIcon:{type:Boolean,default:!0},size:{},ui:{},title:{},description:{},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:[`update:open`],setup(l,{emit:N}){let P=l,F=S(P,[`size`,`ui`,`type`,`title`,`description`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),I=N,L=y(),R=x(I),z=i(()=>e(n({size:P.size}),P.ui)),B={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`}},V=i(()=>P.type?B[P.type]:null);return M(z),t(()=>P.size),(e,t)=>(m(),a(v(k),d(v(F),{"onUpdate:open":t[0]||=e=>I(`update:open`,e)}),{default:b(t=>[c(v(j),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(O),p(u(l.portalProps)),{default:b(()=>[c(v(D),p(u(l.overlayProps)),null,16),c(v(C),d(l.contentProps,_(v(R))),{default:b(()=>[c(v(E),p(u(l.headerProps)),{default:b(()=>[c(v(A),p(u(l.titleProps)),{default:b(()=>[l.showIcon&&V.value?(m(),a(r,{key:0,icon:V.value.icon,class:f(V.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(L).description||l.description?(m(),a(v(w),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(L).footer?(m(),a(v(T),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{N as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{avatarVariants as t}from"../../variants/avatar.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{AvatarFallback as g,AvatarImage as _,AvatarRoot as v,provideAvatarUi as y}from"@soybeanjs/headless";const b=o({name:`SAvatar`,__name:`avatar`,props:{class:{},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(o,{emit:b}){let x=o,S=b,C=h(x,[`class`,`size`,`ui`,`fallbackLabel`,`imageProps`,`fallbackProps`]);y(n(()=>e(t({size:x.size}),x.ui,{root:x.class})));let w=n(()=>({...x.imageProps,src:x.src})),T=n(()=>({...x.fallbackProps,delayMs:x.delayMs}));return(e,t)=>(u(),r(p(v),l(s(p(C))),{default:m(()=>[d(e.$slots,`default`,{},()=>[d(e.$slots,`image`,{},()=>[a(p(_),c(w.value,{onLoadingStatusChange:t[0]||=e=>S(`loadingStatusChange`,e)}),null,16)]),a(p(g),l(s(T.value)),{default:m(()=>[d(e.$slots,`fallback`,{},()=>[i(f(o.fallbackLabel),1)])]),_:3},16)])]),_:3},16))}});export{b as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{avatarVariants as t}from"./variants.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{useOmitProps as h}from"@soybeanjs/headless/composables";import{AvatarFallback as g,AvatarImage as _,AvatarRoot as v,provideAvatarUi as y}from"@soybeanjs/headless";const b=o({name:`SAvatar`,__name:`avatar`,props:{class:{},size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(o,{emit:b}){let x=o,S=b,C=h(x,[`class`,`size`,`ui`,`fallbackLabel`,`imageProps`,`fallbackProps`]);y(n(()=>e(t({size:x.size}),x.ui,{root:x.class})));let w=n(()=>({...x.imageProps,src:x.src})),T=n(()=>({...x.fallbackProps,delayMs:x.delayMs}));return(e,t)=>(u(),r(p(v),l(s(p(C))),{default:m(()=>[d(e.$slots,`default`,{},()=>[d(e.$slots,`image`,{},()=>[a(p(_),c(w.value,{onLoadingStatusChange:t[0]||=e=>S(`loadingStatusChange`,e)}),null,16)]),a(p(g),l(s(T.value)),{default:m(()=>[d(e.$slots,`fallback`,{},()=>[i(f(o.fallbackLabel),1)])]),_:3},16)])]),_:3},16))}});export{b as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{badgeVariants as t}from"../../variants/badge.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{BadgeContent as m,BadgeRoot as h,provideBadgeUi as g}from"@soybeanjs/headless";const _=o({name:`SBadge`,__name:`badge`,props:{class:{},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(o,{emit:_}){let v=o,y=_;return g(n(()=>e(t({color:v.color,size:v.size,position:v.position}),v.ui,{root:v.class}))),(e,t)=>(l(),r(f(h),{open:o.open,"onUpdate:open":t[0]||=e=>y(`update:open`,e)},{default:p(()=>[u(e.$slots,`default`),a(f(m),c(s(o.contentProps)),{default:p(()=>[u(e.$slots,`content`,{},()=>[i(d(o.content),1)])]),_:3},16)]),_:3},8,[`open`]))}});export{_ as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{badgeVariants as t}from"./variants.js";import{computed as n,createBlock as r,createTextVNode as i,createVNode as a,defineComponent as o,guardReactiveProps as s,normalizeProps as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{BadgeContent as m,BadgeRoot as h,provideBadgeUi as g}from"@soybeanjs/headless";const _=o({name:`SBadge`,__name:`badge`,props:{class:{},color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(o,{emit:_}){let v=o,y=_;return g(n(()=>e(t({color:v.color,size:v.size,position:v.position}),v.ui,{root:v.class}))),(e,t)=>(l(),r(f(h),{open:o.open,"onUpdate:open":t[0]||=e=>y(`update:open`,e)},{default:p(()=>[u(e.$slots,`default`),a(f(m),c(s(o.contentProps)),{default:p(()=>[u(e.$slots,`content`,{},()=>[i(d(o.content),1)])]),_:3},16)]),_:3},8,[`open`]))}});export{_ as default};
@@ -1,4 +1,4 @@
1
- import { BadgePosition } from "../../variants/badge.js";
1
+ import { BadgePosition } from "./variants.js";
2
2
  import { BadgeEmits, BadgeProps } from "./types.js";
3
3
  import { _default } from "./badge.vue.js";
4
4
  import { BadgeContentProps, BadgeRootEmits, BadgeRootProps } from "@soybeanjs/headless/badge";
@@ -1,6 +1,6 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { BadgePosition } from "../../variants/badge.js";
3
+ import { BadgePosition } from "./variants.js";
4
4
  import { BadgeContentProps, BadgeRootEmits, BadgeRootProps, BadgeUi, ClassValue } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/badge/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/badge.d.ts
4
+ //#region src/components/badge/variants.d.ts
5
5
  declare const badgeVariants: 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 t from"../icon/icon.js";import{breadcrumbVariants as n}from"../../variants/breadcrumb.js";import{getEllipsisRange as r}from"./shared.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,unref as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{BreadcrumbEllipsis as S,BreadcrumbItem as C,BreadcrumbLink as w,BreadcrumbList as T,BreadcrumbPage as E,BreadcrumbRoot as D,BreadcrumbSeparator as O,provideBreadcrumbUi as k}from"@soybeanjs/headless";const A=d({name:`SBreadcrumb`,__name:`breadcrumb`,props:{class:{},size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},linkProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(d,{emit:A}){let j=d,M=A,N=x(j,[`class`,`size`,`ui`,`items`,`ellipsis`,`listProps`,`itemProps`,`linkProps`,`pageProps`,`separatorProps`,`ellipsisProps`]),P=a(()=>e(n({size:j.size}),j.ui,{root:j.class})),F=a(()=>r(j.items,j.ellipsis)),I=a(()=>F.value?.[0]),L=a(()=>{if(!F.value)return j.items;let[e,t]=F.value;return[...j.items.slice(0,e),...j.items.slice(t)]}),R=a(()=>{if(!F.value)return[];let[e,t]=F.value;return j.items.slice(e,t)});function z(e){M(`click`,e)}return k(P),(e,n)=>(h(),o(y(D),m(f(y(N))),{default:b(()=>[u(y(T),m(f(d.listProps)),{default:b(()=>[(h(!0),c(i,null,g(L.value,(n,r)=>(h(),c(i,{key:n.value||r},[I.value&&r===I.value?(h(),c(i,{key:0},[_(e.$slots,`ellipsis`,{ellipsisItems:R.value},()=>[u(y(S),p({ref_for:!0},d.ellipsisProps),{default:b(()=>[_(e.$slots,`ellipsis-icon`,{},()=>[u(t,{icon:`lucide:ellipsis`})])]),_:3},16)]),u(y(O),p({ref_for:!0},d.separatorProps),{default:b(()=>[_(e.$slots,`separator`,{},()=>[u(t,{icon:`lucide:chevron-right`})])]),_:3},16)],64)):s(`v-if`,!0),u(y(C),p({ref_for:!0},d.itemProps,{onClick:e=>z(n)}),{default:b(()=>[_(e.$slots,`item-leading`,{item:n},()=>[u(t,{icon:n.icon},null,8,[`icon`])]),_(e.$slots,`default`,{item:n},()=>[n.to||n.href?(h(),o(y(w),p({key:0,ref_for:!0},d.linkProps,{disabled:n.disabled,to:n.to,href:n.href,target:n.target,external:n.external}),{default:b(()=>[_(e.$slots,`item-link`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040,[`disabled`,`to`,`href`,`target`,`external`])):(h(),o(y(E),p({key:1,ref_for:!0},d.pageProps),{default:b(()=>[_(e.$slots,`item-label`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040))]),_(e.$slots,`item-trailing`,{item:n})]),_:2},1040,[`onClick`]),r<L.value.length-1?(h(),o(y(O),p({key:1,ref_for:!0},d.separatorProps),{default:b(()=>[_(e.$slots,`separator`,{},()=>[u(t,{icon:`lucide:chevron-right`})])]),_:3},16)):s(`v-if`,!0)],64))),128))]),_:3},16)]),_:3},16))}});export{A as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{breadcrumbVariants as n}from"./variants.js";import{getEllipsisRange as r}from"./shared.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeProps as m,openBlock as h,renderList as g,renderSlot as _,toDisplayString as v,unref as y,withCtx as b}from"vue";import{useOmitProps as x}from"@soybeanjs/headless/composables";import{BreadcrumbEllipsis as S,BreadcrumbItem as C,BreadcrumbLink as w,BreadcrumbList as T,BreadcrumbPage as E,BreadcrumbRoot as D,BreadcrumbSeparator as O,provideBreadcrumbUi as k}from"@soybeanjs/headless";const A=d({name:`SBreadcrumb`,__name:`breadcrumb`,props:{class:{},size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},linkProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(d,{emit:A}){let j=d,M=A,N=x(j,[`class`,`size`,`ui`,`items`,`ellipsis`,`listProps`,`itemProps`,`linkProps`,`pageProps`,`separatorProps`,`ellipsisProps`]),P=a(()=>e(n({size:j.size}),j.ui,{root:j.class})),F=a(()=>r(j.items,j.ellipsis)),I=a(()=>F.value?.[0]),L=a(()=>{if(!F.value)return j.items;let[e,t]=F.value;return[...j.items.slice(0,e),...j.items.slice(t)]}),R=a(()=>{if(!F.value)return[];let[e,t]=F.value;return j.items.slice(e,t)});function z(e){M(`click`,e)}return k(P),(e,n)=>(h(),o(y(D),m(f(y(N))),{default:b(()=>[u(y(T),m(f(d.listProps)),{default:b(()=>[(h(!0),c(i,null,g(L.value,(n,r)=>(h(),c(i,{key:n.value||r},[I.value&&r===I.value?(h(),c(i,{key:0},[_(e.$slots,`ellipsis`,{ellipsisItems:R.value},()=>[u(y(S),p({ref_for:!0},d.ellipsisProps),{default:b(()=>[_(e.$slots,`ellipsis-icon`,{},()=>[u(t,{icon:`lucide:ellipsis`})])]),_:3},16)]),u(y(O),p({ref_for:!0},d.separatorProps),{default:b(()=>[_(e.$slots,`separator`,{},()=>[u(t,{icon:`lucide:chevron-right`})])]),_:3},16)],64)):s(`v-if`,!0),u(y(C),p({ref_for:!0},d.itemProps,{onClick:e=>z(n)}),{default:b(()=>[_(e.$slots,`item-leading`,{item:n},()=>[u(t,{icon:n.icon},null,8,[`icon`])]),_(e.$slots,`default`,{item:n},()=>[n.to||n.href?(h(),o(y(w),p({key:0,ref_for:!0},d.linkProps,{disabled:n.disabled,to:n.to,href:n.href,target:n.target,external:n.external}),{default:b(()=>[_(e.$slots,`item-link`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040,[`disabled`,`to`,`href`,`target`,`external`])):(h(),o(y(E),p({key:1,ref_for:!0},d.pageProps),{default:b(()=>[_(e.$slots,`item-label`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040))]),_(e.$slots,`item-trailing`,{item:n})]),_:2},1040,[`onClick`]),r<L.value.length-1?(h(),o(y(O),p({key:1,ref_for:!0},d.separatorProps),{default:b(()=>[_(e.$slots,`separator`,{},()=>[u(t,{icon:`lucide:chevron-right`})])]),_:3},16)):s(`v-if`,!0)],64))),128))]),_:3},16)]),_:3},16))}});export{A as default};
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonGroupVariants as t}from"../../variants/button.js";import{provideButtonGroupContext as n}from"./context.js";import{useConfigProvider as r}from"../config-provider/context.js";import"../config-provider/index.js";import{computed as i,createBlock as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{Primitive as p}from"@soybeanjs/headless";import{transformPropsToContext as m}from"@soybeanjs/headless/shared";const h=o({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{default:`ltr`},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(o){let h=o,g=f(h,[`class`,`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),_=r(`ButtonGroup`),v=i(()=>e(t({orientation:h.orientation}),h.class)),y=i(()=>h.dir??_.dir.value);return n(m(h,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`disabled`])),(e,t)=>(c(),a(u(p),s(u(g),{class:v.value,dir:y.value}),{default:d(()=>[l(e.$slots,`default`)]),_:3},16,[`class`,`dir`]))}});export{h as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{provideButtonGroupContext as t}from"./context.js";import{buttonGroupVariants as n}from"./variants.js";import{useConfigProvider as r}from"../config-provider/context.js";import"../config-provider/index.js";import{computed as i,createBlock as a,defineComponent as o,mergeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{Primitive as p}from"@soybeanjs/headless";import{transformPropsToContext as m}from"@soybeanjs/headless/shared";const h=o({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{default:`ltr`},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(o){let h=o,g=f(h,[`class`,`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),_=r(`ButtonGroup`),v=i(()=>e(n({orientation:h.orientation}),h.class)),y=i(()=>h.dir??_.dir.value);return t(m(h,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`disabled`])),(e,t)=>(c(),a(u(p),s(u(g),{class:v.value,dir:y.value}),{default:d(()=>[l(e.$slots,`default`)]),_:3},16,[`class`,`dir`]))}});export{h as default};
@@ -1,5 +1,5 @@
1
1
  import { ThemeColor } from "../../theme/types.js";
2
- import { ButtonShape, ButtonVariant } from "../../variants/button.js";
2
+ import { ButtonShape, ButtonVariant } from "./variants.js";
3
3
  import { ButtonIconProps } from "./types.js";
4
4
  import "../../index.js";
5
5
  import * as vue from "vue";
@@ -1,4 +1,4 @@
1
- import { ButtonVariant } from "../../variants/button.js";
1
+ import { ButtonVariant } from "./variants.js";
2
2
  import { ButtonLinkProps } from "./types.js";
3
3
  import * as vue from "vue";
4
4
 
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonVariants as t}from"../../variants/button.js";import{useButtonGroupContext as n}from"./context.js";import{computed as r,createBlock as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{Button as f}from"@soybeanjs/headless";const p=a({name:`SButton`,__name:`button`,props:{class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`click`],setup(a,{emit:p}){let m=a,h=p,g=n(),_=d(m,[`class`,`size`,`color`,`variant`,`shape`,`shadow`,`disabled`,`fitContent`]),v=r(()=>{let{size:n,color:r,variant:i,shape:a,shadow:o,fitContent:s}=g||{};return e(t({size:m.size||n?.value,color:m.color||r?.value,variant:m.variant||i?.value,shape:m.shape||a?.value,shadow:m.shadow||o?.value,fitContent:m.fitContent||s?.value}),m.class)}),y=r(()=>m.disabled||g?.disabled.value);return(e,t)=>(s(),i(l(f),o(l(_),{class:v.value,disabled:y.value,onClick:t[0]||=e=>h(`click`,e)}),{default:u(()=>[c(e.$slots,`leading`),c(e.$slots,`default`),c(e.$slots,`trailing`)]),_:3},16,[`class`,`disabled`]))}});export{p as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{useButtonGroupContext as t}from"./context.js";import{buttonVariants as n}from"./variants.js";import{computed as r,createBlock as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";import{Button as f}from"@soybeanjs/headless";const p=a({name:`SButton`,__name:`button`,props:{class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`click`],setup(a,{emit:p}){let m=a,h=p,g=t(),_=d(m,[`class`,`size`,`color`,`variant`,`shape`,`shadow`,`disabled`,`fitContent`]),v=r(()=>{let{size:t,color:r,variant:i,shape:a,shadow:o,fitContent:s}=g||{};return e(n({size:m.size||t?.value,color:m.color||r?.value,variant:m.variant||i?.value,shape:m.shape||a?.value,shadow:m.shadow||o?.value,fitContent:m.fitContent||s?.value}),m.class)}),y=r(()=>m.disabled||g?.disabled.value);return(e,t)=>(s(),i(l(f),o(l(_),{class:v.value,disabled:y.value,onClick:t[0]||=e=>h(`click`,e)}),{default:u(()=>[c(e.$slots,`leading`),c(e.$slots,`default`),c(e.$slots,`trailing`)]),_:3},16,[`class`,`disabled`]))}});export{p as default};
@@ -1,4 +1,4 @@
1
- import { ButtonShadow, ButtonShape, ButtonVariant } from "../../variants/button.js";
1
+ import { ButtonShadow, ButtonShape, ButtonVariant } from "./variants.js";
2
2
  import { ButtonEmits, ButtonGroupProps, ButtonIconProps, ButtonLinkProps, ButtonLoadingProps, ButtonProps } from "./types.js";
3
3
  import { _default } from "./button.vue.js";
4
4
  import { _default as _default$1 } from "./button-loading.vue.js";
@@ -1,8 +1,8 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { IconProps } from "../icon/types.js";
4
- import { ButtonShadow, ButtonShape, ButtonVariant } from "../../variants/button.js";
5
4
  import { LinkProps as LinkProps$1 } from "../link/types.js";
5
+ import { ButtonShadow, ButtonShape, ButtonVariant } from "./variants.js";
6
6
  import { Align, ButtonEmits, ButtonProps, ClassValue, DataOrientation, Direction, PropsToContext } from "@soybeanjs/headless";
7
7
 
8
8
  //#region src/components/button/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/button.d.ts
4
+ //#region src/components/button/variants.d.ts
5
5
  declare const buttonVariants: tailwind_variants0.TVReturnType<{
6
6
  color: {
7
7
  primary: string;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{cardVariants as t}from"../../variants/card.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,unref as m,useSlots as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{CardContent as v,CardDescription as y,CardFooter as b,CardHeader as x,CardRoot as S,CardTitle as C,CardTitleRoot as w,provideCardUi as T}from"@soybeanjs/headless";const E=s({name:`SCard`,__name:`card`,props:{class:{},size:{},ui:{},title:{},description:{},scrollable:{type:Boolean,default:!0},split:{type:Boolean},headerProps:{},contentProps:{},footerProps:{},titleRootProps:{},titleProps:{},descriptionProps:{}},setup(s){let E=s,D=_(E,[`class`,`size`,`ui`,`title`,`description`,`scrollable`,`split`,`headerProps`,`contentProps`,`footerProps`,`titleRootProps`,`titleProps`,`descriptionProps`]),O=h(),k=n(()=>!!(O.header||O.title||O.description||O.extra||E.title||E.description));return T(n(()=>e(t({size:E.size,scrollable:E.scrollable,split:E.split}),E.ui,{root:E.class}))),(e,t)=>(d(),r(m(S),u(c(m(D))),{default:g(()=>[k.value?(d(),r(m(x),u(l({key:0},E.headerProps)),{default:g(()=>[f(e.$slots,`header`,{},()=>[o(m(w),u(c(E.titleRootProps)),{default:g(()=>[f(e.$slots,`title-leading`),o(m(C),u(c(E.titleProps)),{default:g(()=>[f(e.$slots,`title`,{},()=>[a(p(s.title),1)])]),_:3},16),f(e.$slots,`title-trailing`)]),_:3},16),f(e.$slots,`extra`),O.description||s.description?(d(),r(m(y),u(l({key:0},E.descriptionProps)),{default:g(()=>[f(e.$slots,`description`,{},()=>[a(p(s.description),1)])]),_:3},16)):i(`v-if`,!0)])]),_:3},16)):i(`v-if`,!0),o(m(v),u(c(E.contentProps)),{default:g(()=>[f(e.$slots,`default`)]),_:3},16),O.footer?(d(),r(m(b),u(l({key:1},E.footerProps)),{default:g(()=>[f(e.$slots,`footer`)]),_:3},16)):i(`v-if`,!0)]),_:3},16))}});export{E as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{cardVariants 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,unref as m,useSlots as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{CardContent as v,CardDescription as y,CardFooter as b,CardHeader as x,CardRoot as S,CardTitle as C,CardTitleRoot as w,provideCardUi as T}from"@soybeanjs/headless";const E=s({name:`SCard`,__name:`card`,props:{class:{},size:{},ui:{},title:{},description:{},scrollable:{type:Boolean,default:!0},split:{type:Boolean},headerProps:{},contentProps:{},footerProps:{},titleRootProps:{},titleProps:{},descriptionProps:{}},setup(s){let E=s,D=_(E,[`class`,`size`,`ui`,`title`,`description`,`scrollable`,`split`,`headerProps`,`contentProps`,`footerProps`,`titleRootProps`,`titleProps`,`descriptionProps`]),O=h(),k=n(()=>!!(O.header||O.title||O.description||O.extra||E.title||E.description));return T(n(()=>e(t({size:E.size,scrollable:E.scrollable,split:E.split}),E.ui,{root:E.class}))),(e,t)=>(d(),r(m(S),u(c(m(D))),{default:g(()=>[k.value?(d(),r(m(x),u(l({key:0},E.headerProps)),{default:g(()=>[f(e.$slots,`header`,{},()=>[o(m(w),u(c(E.titleRootProps)),{default:g(()=>[f(e.$slots,`title-leading`),o(m(C),u(c(E.titleProps)),{default:g(()=>[f(e.$slots,`title`,{},()=>[a(p(s.title),1)])]),_:3},16),f(e.$slots,`title-trailing`)]),_:3},16),f(e.$slots,`extra`),O.description||s.description?(d(),r(m(y),u(l({key:0},E.descriptionProps)),{default:g(()=>[f(e.$slots,`description`,{},()=>[a(p(s.description),1)])]),_:3},16)):i(`v-if`,!0)])]),_:3},16)):i(`v-if`,!0),o(m(v),u(c(E.contentProps)),{default:g(()=>[f(e.$slots,`default`)]),_:3},16),O.footer?(d(),r(m(b),u(l({key:1},E.footerProps)),{default:g(()=>[f(e.$slots,`footer`)]),_:3},16)):i(`v-if`,!0)]),_:3},16))}});export{E as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxCardVariants as t}from"../../variants/checkbox.js";import n from"./checkbox-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{CheckboxGroupRoot as m}from"@soybeanjs/headless";const h=s({name:`SCheckboxCardGroup`,__name:`checkbox-card-group`,props:{class:{},ui:{},items:{},color:{},size:{},shape:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:h}){let g=s,_=h,v=p(g,[`class`,`ui`,`color`,`size`,`shape`,`items`,`rootProps`,`controlProps`,`indicatorProps`,`labelProps`]),y=i(()=>e(t(),g.ui,{groupRoot:g.class}));return(e,t)=>(l(),a(d(m),c(d(v),{class:y.value.groupRoot,"onUpdate:modelValue":t[0]||=e=>_(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,(e,t)=>(l(),a(n,c({key:t},{ref_for:!0},s.rootProps,{color:s.color,size:s.size,shape:s.shape,label:e.label,value:e.value,icon:e.icon,description:e.description,disabled:s.disabled||e.disabled,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`color`,`size`,`shape`,`label`,`value`,`icon`,`description`,`disabled`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16,[`class`]))}});export{h as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxCardVariants as t}from"./variants.js";import n from"./checkbox-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{CheckboxGroupRoot as m}from"@soybeanjs/headless";const h=s({name:`SCheckboxCardGroup`,__name:`checkbox-card-group`,props:{class:{},ui:{},items:{},color:{},size:{},shape:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:h}){let g=s,_=h,v=p(g,[`class`,`ui`,`color`,`size`,`shape`,`items`,`rootProps`,`controlProps`,`indicatorProps`,`labelProps`]),y=i(()=>e(t(),g.ui,{groupRoot:g.class}));return(e,t)=>(l(),a(d(m),c(d(v),{class:y.value.groupRoot,"onUpdate:modelValue":t[0]||=e=>_(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,(e,t)=>(l(),a(n,c({key:t},{ref_for:!0},s.rootProps,{color:s.color,size:s.size,shape:s.shape,label:e.label,value:e.value,icon:e.icon,description:e.description,disabled:s.disabled||e.disabled,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`color`,`size`,`shape`,`label`,`value`,`icon`,`description`,`disabled`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16,[`class`]))}});export{h as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{checkboxCardVariants as n}from"../../variants/checkbox.js";import{Transition as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString as v,unref as y,useId as b,useSlots as x,withCtx as S}from"vue";import{useOmitProps as C}from"@soybeanjs/headless/composables";import{CheckboxControl as w,CheckboxIndicator as T,CheckboxLabel as E,CheckboxRoot as D,Slot as O,provideCheckboxUi as k}from"@soybeanjs/headless";const A={key:0},j=d({name:`SCheckboxCard`,__name:`checkbox-card`,props:{ui:{},icon:{},description:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=C(M,[`ui`,`color`,`size`,`shape`,`label`,`icon`,`description`,`controlProps`,`indicatorProps`,`labelProps`]),I=b(),L=i(()=>M.id||`checkbox-${I}`),R=i(()=>M.modelValue===`indeterminate`),z=i(()=>e(n({color:M.color,size:M.size,shape:M.shape}),M.ui));return k(z),(e,n)=>(g(),a(y(D),p(y(F),{"onUpdate:modelValue":n[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[c(`div`,{class:m(z.value.content)},[u(t,{icon:d.icon,class:m(z.value.icon)},null,8,[`icon`,`class`]),c(`div`,{class:m(z.value.textContent)},[u(y(E),p(d.labelProps,{for:L.value}),{default:S(()=>[_(e.$slots,`default`,{id:L.value},()=>[l(v(d.label),1)])]),_:3},16,[`for`]),y(P).description||d.description?(g(),a(y(O),{key:0,class:m(z.value.description)},{default:S(()=>[_(e.$slots,`description`,{},()=>[d.description?(g(),s(`p`,A,v(d.description),1)):o(`v-if`,!0)])]),_:3},8,[`class`])):o(`v-if`,!0)],2)],2),u(y(w),p(d.controlProps,{id:L.value,class:`checkbox-control`}),{default:S(()=>[u(r,{"enter-active-class":`transition-50`,"enter-from-class":`opacity-0 scale-0`},{default:S(()=>[u(y(T),h(f(d.indicatorProps)),{default:S(()=>[u(t,{icon:R.value?`lucide:minus`:`lucide:check`,class:`size-full`},null,8,[`icon`])]),_:1},16)]),_:1})]),_:1},16,[`id`])]),_:3},16))}});export{j as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{checkboxCardVariants as n}from"./variants.js";import{Transition as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString as v,unref as y,useId as b,useSlots as x,withCtx as S}from"vue";import{useOmitProps as C}from"@soybeanjs/headless/composables";import{CheckboxControl as w,CheckboxIndicator as T,CheckboxLabel as E,CheckboxRoot as D,Slot as O,provideCheckboxUi as k}from"@soybeanjs/headless";const A={key:0},j=d({name:`SCheckboxCard`,__name:`checkbox-card`,props:{ui:{},icon:{},description:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(d,{emit:j}){let M=d,N=j,P=x(),F=C(M,[`ui`,`color`,`size`,`shape`,`label`,`icon`,`description`,`controlProps`,`indicatorProps`,`labelProps`]),I=b(),L=i(()=>M.id||`checkbox-${I}`),R=i(()=>M.modelValue===`indeterminate`),z=i(()=>e(n({color:M.color,size:M.size,shape:M.shape}),M.ui));return k(z),(e,n)=>(g(),a(y(D),p(y(F),{"onUpdate:modelValue":n[0]||=e=>N(`update:modelValue`,e)}),{default:S(()=>[c(`div`,{class:m(z.value.content)},[u(t,{icon:d.icon,class:m(z.value.icon)},null,8,[`icon`,`class`]),c(`div`,{class:m(z.value.textContent)},[u(y(E),p(d.labelProps,{for:L.value}),{default:S(()=>[_(e.$slots,`default`,{id:L.value},()=>[l(v(d.label),1)])]),_:3},16,[`for`]),y(P).description||d.description?(g(),a(y(O),{key:0,class:m(z.value.description)},{default:S(()=>[_(e.$slots,`description`,{},()=>[d.description?(g(),s(`p`,A,v(d.description),1)):o(`v-if`,!0)])]),_:3},8,[`class`])):o(`v-if`,!0)],2)],2),u(y(w),p(d.controlProps,{id:L.value,class:`checkbox-control`}),{default:S(()=>[u(r,{"enter-active-class":`transition-50`,"enter-from-class":`opacity-0 scale-0`},{default:S(()=>[u(y(T),h(f(d.indicatorProps)),{default:S(()=>[u(t,{icon:R.value?`lucide:minus`:`lucide:check`,class:`size-full`},null,8,[`icon`])]),_:1},16)]),_:1})]),_:1},16,[`id`])]),_:3},16))}});export{j as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"../../variants/checkbox.js";import n from"./checkbox.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{CheckboxGroupRoot as m}from"@soybeanjs/headless";const h=s({name:`SCheckboxGroup`,__name:`checkbox-group`,props:{ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:h}){let g=s,_=h,v=p(g,[`ui`,`color`,`size`,`shape`,`items`,`rootProps`,`controlProps`,`indicatorProps`,`labelProps`]),y=i(()=>e(t(),g.ui));return(e,t)=>(l(),a(d(m),c(d(v),{class:y.value.groupRoot,"onUpdate:modelValue":t[0]||=e=>_(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,(e,t)=>(l(),a(n,c({key:t},{ref_for:!0},s.rootProps,{color:s.color,size:s.size,shape:s.shape,label:e.label,value:e.value,disabled:s.disabled||e.disabled,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`color`,`size`,`shape`,`label`,`value`,`disabled`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16,[`class`]))}});export{h as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"./variants.js";import n from"./checkbox.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{CheckboxGroupRoot as m}from"@soybeanjs/headless";const h=s({name:`SCheckboxGroup`,__name:`checkbox-group`,props:{ui:{},color:{},size:{},shape:{},items:{},rootProps:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{},defaultValue:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:h}){let g=s,_=h,v=p(g,[`ui`,`color`,`size`,`shape`,`items`,`rootProps`,`controlProps`,`indicatorProps`,`labelProps`]),y=i(()=>e(t(),g.ui));return(e,t)=>(l(),a(d(m),c(d(v),{class:y.value.groupRoot,"onUpdate:modelValue":t[0]||=e=>_(`update:modelValue`,e)}),{default:f(()=>[(l(!0),o(r,null,u(s.items,(e,t)=>(l(),a(n,c({key:t},{ref_for:!0},s.rootProps,{color:s.color,size:s.size,shape:s.shape,label:e.label,value:e.value,disabled:s.disabled||e.disabled,"control-props":s.controlProps,"indicator-props":s.indicatorProps,"label-props":s.labelProps}),null,16,[`color`,`size`,`shape`,`label`,`value`,`disabled`,`control-props`,`indicator-props`,`label-props`]))),128))]),_:1},16,[`class`]))}});export{h as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{checkboxVariants as n}from"../../variants/checkbox.js";import{Transition as r,computed as i,createBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,unref as h,useId as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{CheckboxControl as y,CheckboxIndicator as b,CheckboxLabel as x,CheckboxRoot as S,provideCheckboxUi as C}from"@soybeanjs/headless";const w=c({name:`SCheckbox`,__name:`checkbox`,props:{ui:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(c,{emit:w}){let T=c,E=w,D=v(T,[`color`,`size`,`ui`,`label`,`controlProps`,`indicatorProps`,`labelProps`]),O=g(),k=i(()=>T.id||`checkbox-${O}`);return C(i(()=>e(n({color:T.color,size:T.size,shape:T.shape}),T.ui))),(e,n)=>(f(),a(h(S),u(h(D),{"onUpdate:modelValue":n[0]||=e=>E(`update:modelValue`,e)}),{default:_(n=>[s(h(y),u(c.controlProps,{id:k.value}),{default:_(()=>[s(r,{"enter-active-class":`transition-50`,"enter-from-class":`opacity-0 scale-0`},{default:_(()=>[s(h(b),d(l(c.indicatorProps)),{default:_(()=>[p(e.$slots,`indicator`,d(l(n)),()=>[s(t,{icon:n.state===`indeterminate`?`lucide:minus`:`lucide:check`,class:`size-full`},null,8,[`icon`])])]),_:2},1040)]),_:2},1024)]),_:2},1040,[`id`]),s(h(x),u(c.labelProps,{for:k.value}),{default:_(()=>[p(e.$slots,`default`,u(n,{id:k.value}),()=>[o(m(c.label),1)])]),_:2},1040,[`for`])]),_:3},16))}});export{w as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{checkboxVariants as n}from"./variants.js";import{Transition as r,computed as i,createBlock as a,createTextVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeProps as d,openBlock as f,renderSlot as p,toDisplayString as m,unref as h,useId as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{CheckboxControl as y,CheckboxIndicator as b,CheckboxLabel as x,CheckboxRoot as S,provideCheckboxUi as C}from"@soybeanjs/headless";const w=c({name:`SCheckbox`,__name:`checkbox`,props:{ui:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(c,{emit:w}){let T=c,E=w,D=v(T,[`color`,`size`,`ui`,`label`,`controlProps`,`indicatorProps`,`labelProps`]),O=g(),k=i(()=>T.id||`checkbox-${O}`);return C(i(()=>e(n({color:T.color,size:T.size,shape:T.shape}),T.ui))),(e,n)=>(f(),a(h(S),u(h(D),{"onUpdate:modelValue":n[0]||=e=>E(`update:modelValue`,e)}),{default:_(n=>[s(h(y),u(c.controlProps,{id:k.value}),{default:_(()=>[s(r,{"enter-active-class":`transition-50`,"enter-from-class":`opacity-0 scale-0`},{default:_(()=>[s(h(b),d(l(c.indicatorProps)),{default:_(()=>[p(e.$slots,`indicator`,d(l(n)),()=>[s(t,{icon:n.state===`indeterminate`?`lucide:minus`:`lucide:check`,class:`size-full`},null,8,[`icon`])])]),_:2},1040)]),_:2},1024)]),_:2},1040,[`id`]),s(h(x),u(c.labelProps,{for:k.value}),{default:_(()=>[p(e.$slots,`default`,u(n,{id:k.value}),()=>[o(m(c.label),1)])]),_:2},1040,[`for`])]),_:3},16))}});export{w as default};
@@ -1,6 +1,6 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { CheckboxShape } from "../../variants/checkbox.js";
3
+ import { CheckboxShape } from "./variants.js";
4
4
  import { CheckboxControlProps, CheckboxGroupRootEmits, CheckboxGroupRootProps, CheckboxIndicatorProps, CheckboxLabelProps, CheckboxRootEmits, CheckboxRootProps, CheckboxUi, CheckboxUiSlot, ClassValue, DefinedValue, UiClass } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/checkbox/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/checkbox.d.ts
4
+ //#region src/components/checkbox/variants.d.ts
5
5
  declare const checkboxVariants: 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{collapsibleVariants as t}from"../../variants/collapsible.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{useOmitProps as f}from"@soybeanjs/headless/composables";import{CollapsibleRoot as p,provideCollapsibleUi as m}from"@soybeanjs/headless";const h=i({name:`SCollapsible`,__name:`collapsible`,props:{size:{},ui:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean,default:!0},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`size`,`ui`]);return m(n(()=>e(t({size:g.size}),g.ui))),(e,t)=>(c(),r(u(p),o(u(v),{"onUpdate:open":t[0]||=e=>_(`update:open`,e)}),{default:d(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{h as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{collapsibleVariants 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{useOmitProps as f}from"@soybeanjs/headless/composables";import{CollapsibleRoot as p,provideCollapsibleUi as m}from"@soybeanjs/headless";const h=i({name:`SCollapsible`,__name:`collapsible`,props:{size:{},ui:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},disabled:{type:Boolean},unmountOnHide:{type:Boolean,default:!0},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`size`,`ui`]);return m(n(()=>e(t({size:g.size}),g.ui))),(e,t)=>(c(),r(u(p),o(u(v),{"onUpdate:open":t[0]||=e=>_(`update:open`,e)}),{default:d(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{h as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{commandVariants as n}from"../../variants/command.js";import{provideCommandExtraUi as r}from"./context.js";import i from"./command-option.js";import{getCommandHighlightSearchOption as a,getCommandItemOptions as o,getCommandSearchOptions as s}from"./shared.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createTextVNode as p,createVNode as m,defineComponent as h,guardReactiveProps as g,isRef as _,mergeProps as v,normalizeClass as y,normalizeProps as b,openBlock as x,renderList as S,renderSlot as C,toDisplayString as w,toHandlers as T,unref as E,withCtx as D}from"vue";import{useControllableState as O,useForwardListeners as k,useOmitProps as A,usePickProps as j}from"@soybeanjs/headless/composables";import{ListboxContent as M,ListboxFilter as N,ListboxRoot as P,provideListboxUi as F}from"@soybeanjs/headless";import{useFuse as I}from"@vueuse/integrations/useFuse";import{defu as L}from"defu";const R=h({name:`SCommand`,__name:`command`,props:{class:{},size:{},ui:{},items:{},placeholder:{},searchTerm:{},clearable:{type:Boolean},fuseOptions:{},listProps:{},itemProps:{},itemLabelProps:{},groupProps:{},groupLabelProps:{},shortcutProps:{},separatorProps:{},inputProps:{},emptyProps:{},emptyLabel:{},orientation:{},dir:{},disabled:{type:Boolean},selectionBehavior:{},highlightOnHover:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`highlight`,`entryFocus`,`leave`,`select`,`update:searchTerm`],setup(h,{emit:R}){let z=h,B=R,V=A(z,[`class`,`size`,`ui`,`items`,`placeholder`,`searchTerm`,`fuseOptions`,`emptyLabel`,`listProps`,`itemProps`,`itemLabelProps`,`groupProps`,`groupLabelProps`,`shortcutProps`,`separatorProps`,`inputProps`,`emptyProps`]),H=k(B),U=j(z,[`itemProps`,`itemLabelProps`,`groupProps`,`groupLabelProps`,`shortcutProps`,`separatorProps`]),W=O(()=>z.searchTerm,e=>{B(`update:searchTerm`,e)},z.inputProps?.defaultValue||``),G=l(()=>L(z.fuseOptions,{fuseOptions:{ignoreLocation:!0,threshold:.1,keys:[`label`]},resultLimit:12,matchAllWhenSearchEmpty:!0})),{results:K}=I(W,l(()=>s(z.items)),G),q=l(()=>o(K.value.map(e=>a(e.item,W.value)))),J=l(()=>e(n({size:z.size}),z.ui,{root:z.class})),Y=l(()=>({...J.value,content:J.value.list,filterRoot:J.value.inputRoot,filterControl:J.value.inputControl,itemIndicator:``,virtualizer:``})),X=l(()=>({...z.inputProps,placeholder:z.placeholder??z.inputProps?.placeholder}));return F(Y),r(J),(e,n)=>(x(),u(E(P),v(E(V),T(E(H))),{default:D(()=>[m(E(N),v(X.value,{modelValue:E(W),"onUpdate:modelValue":n[0]||=e=>_(W)?W.value=e:null,autofocus:``}),{leading:D(()=>[C(e.$slots,`input-leading`,{},()=>[m(t,{icon:`lucide:search`,class:y(J.value.inputIcon)},null,8,[`class`])])]),trailing:D(({clear:n})=>[h.clearable?(x(),u(t,{key:0,icon:`lucide:x`,class:y(J.value.inputClearable),onClick:n},null,8,[`class`,`onClick`])):d(`v-if`,!0),C(e.$slots,`input-trailing`)]),_:3},16,[`modelValue`]),m(E(M),b(g(h.listProps)),{default:D(()=>[q.value.length?d(`v-if`,!0):(x(),f(`div`,{key:0,class:y(J.value.empty)},[C(e.$slots,`empty`,{},()=>[p(w(h.emptyLabel),1)])],2)),(x(!0),f(c,null,S(q.value,(t,r)=>(x(),u(i,v({ref_for:!0},E(U),{key:r,item:t,onSelect:n[1]||=e=>B(`select`,e)}),{"item-leading":D(t=>[C(e.$slots,`item-leading`,{item:t.item})]),"item-trailing":D(t=>[C(e.$slots,`item-trailing`,{item:t.item})]),"item-label":D(t=>[C(e.$slots,`item-label`,{item:t.item})]),_:2},1040,[`item`]))),128))]),_:3},16),C(e.$slots,`bottom`)]),_:3},16))}});export{R as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{provideCommandExtraUi as n}from"./context.js";import{commandVariants as r}from"./variants.js";import i from"./command-option.js";import{getCommandHighlightSearchOption as a,getCommandItemOptions as o,getCommandSearchOptions as s}from"./shared.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createTextVNode as p,createVNode as m,defineComponent as h,guardReactiveProps as g,isRef as _,mergeProps as v,normalizeClass as y,normalizeProps as b,openBlock as x,renderList as S,renderSlot as C,toDisplayString as w,toHandlers as T,unref as E,withCtx as D}from"vue";import{useControllableState as O,useForwardListeners as k,useOmitProps as A,usePickProps as j}from"@soybeanjs/headless/composables";import{ListboxContent as M,ListboxFilter as N,ListboxRoot as P,provideListboxUi as F}from"@soybeanjs/headless";import{useFuse as I}from"@vueuse/integrations/useFuse";import{defu as L}from"defu";const R=h({name:`SCommand`,__name:`command`,props:{class:{},size:{},ui:{},items:{},placeholder:{},searchTerm:{},clearable:{type:Boolean},fuseOptions:{},listProps:{},itemProps:{},itemLabelProps:{},groupProps:{},groupLabelProps:{},shortcutProps:{},separatorProps:{},inputProps:{},emptyProps:{},emptyLabel:{},orientation:{},dir:{},disabled:{type:Boolean},selectionBehavior:{},highlightOnHover:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`highlight`,`entryFocus`,`leave`,`select`,`update:searchTerm`],setup(h,{emit:R}){let z=h,B=R,V=A(z,[`class`,`size`,`ui`,`items`,`placeholder`,`searchTerm`,`fuseOptions`,`emptyLabel`,`listProps`,`itemProps`,`itemLabelProps`,`groupProps`,`groupLabelProps`,`shortcutProps`,`separatorProps`,`inputProps`,`emptyProps`]),H=k(B),U=j(z,[`itemProps`,`itemLabelProps`,`groupProps`,`groupLabelProps`,`shortcutProps`,`separatorProps`]),W=O(()=>z.searchTerm,e=>{B(`update:searchTerm`,e)},z.inputProps?.defaultValue||``),G=l(()=>L(z.fuseOptions,{fuseOptions:{ignoreLocation:!0,threshold:.1,keys:[`label`]},resultLimit:12,matchAllWhenSearchEmpty:!0})),{results:K}=I(W,l(()=>s(z.items)),G),q=l(()=>o(K.value.map(e=>a(e.item,W.value)))),J=l(()=>e(r({size:z.size}),z.ui,{root:z.class})),Y=l(()=>({...J.value,content:J.value.list,filterRoot:J.value.inputRoot,filterControl:J.value.inputControl,itemIndicator:``,virtualizer:``})),X=l(()=>({...z.inputProps,placeholder:z.placeholder??z.inputProps?.placeholder}));return F(Y),n(J),(e,n)=>(x(),u(E(P),v(E(V),T(E(H))),{default:D(()=>[m(E(N),v(X.value,{modelValue:E(W),"onUpdate:modelValue":n[0]||=e=>_(W)?W.value=e:null,autofocus:``}),{leading:D(()=>[C(e.$slots,`input-leading`,{},()=>[m(t,{icon:`lucide:search`,class:y(J.value.inputIcon)},null,8,[`class`])])]),trailing:D(({clear:n})=>[h.clearable?(x(),u(t,{key:0,icon:`lucide:x`,class:y(J.value.inputClearable),onClick:n},null,8,[`class`,`onClick`])):d(`v-if`,!0),C(e.$slots,`input-trailing`)]),_:3},16,[`modelValue`]),m(E(M),b(g(h.listProps)),{default:D(()=>[q.value.length?d(`v-if`,!0):(x(),f(`div`,{key:0,class:y(J.value.empty)},[C(e.$slots,`empty`,{},()=>[p(w(h.emptyLabel),1)])],2)),(x(!0),f(c,null,S(q.value,(t,r)=>(x(),u(i,v({ref_for:!0},E(U),{key:r,item:t,onSelect:n[1]||=e=>B(`select`,e)}),{"item-leading":D(t=>[C(e.$slots,`item-leading`,{item:t.item})]),"item-trailing":D(t=>[C(e.$slots,`item-trailing`,{item:t.item})]),"item-label":D(t=>[C(e.$slots,`item-label`,{item:t.item})]),_:2},1040,[`item`]))),128))]),_:3},16),C(e.$slots,`bottom`)]),_:3},16))}});export{R as default};
@@ -8,8 +8,8 @@ declare const __VLS_export: <T extends CommandBaseOptionData = CommandBaseOption
8
8
  props: vue.PublicProps & __VLS_PrettifyLocal<CommandProps<T> & {
9
9
  onSelect?: ((event: _soybeanjs_headless0.SelectEvent<string>) => any) | undefined;
10
10
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
11
- onHighlight?: ((payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless0.ListboxCollectionItemData> | undefined) => any) | undefined;
12
11
  onEntryFocus?: ((event: CustomEvent<any>) => any) | undefined;
12
+ onHighlight?: ((payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless0.ListboxCollectionItemData> | undefined) => any) | undefined;
13
13
  onLeave?: ((event: Event) => any) | undefined;
14
14
  "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
15
15
  }> & (typeof globalThis extends {
@@ -38,7 +38,7 @@ declare const __VLS_export: <T extends CommandBaseOptionData = CommandBaseOption
38
38
  } & {
39
39
  bottom?: (props: {}) => any;
40
40
  };
41
- emit: ((evt: "select", event: _soybeanjs_headless0.SelectEvent<string>) => void) & ((evt: "update:modelValue", value: string) => void) & ((evt: "highlight", payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless0.ListboxCollectionItemData> | undefined) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "leave", event: Event) => void) & ((evt: "update:searchTerm", value: string) => void);
41
+ emit: ((evt: "select", event: _soybeanjs_headless0.SelectEvent<string>) => void) & ((evt: "update:modelValue", value: string) => void) & ((evt: "entryFocus", event: CustomEvent<any>) => void) & ((evt: "highlight", payload?: _soybeanjs_headless_composables0.CollectionItemData<_soybeanjs_headless0.ListboxCollectionItemData> | undefined) => void) & ((evt: "leave", event: Event) => void) & ((evt: "update:searchTerm", value: string) => void);
42
42
  }>) => vue.VNode & {
43
43
  __ctx?: Awaited<typeof __VLS_setup>;
44
44
  };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideMenuExtraUi as t}from"../menu/context.js";import{menuVariants as n}from"../../variants/menu.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toHandlers as p,unref as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{ContextMenuArrow as v,ContextMenuContent as y,ContextMenuPortal as b,ContextMenuRoot as x,ContextMenuTrigger as S,Slot as C,provideMenuUi as w}from"@soybeanjs/headless";const T=s({name:`SContextMenuWrapper`,__name:`context-menu-wrapper`,props:{class:{},size:{},ui:{},disabled:{type:Boolean},indicatorPosition:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},pressOpenDelay:{},dir:{},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(s,{emit:T}){let E=s,D=T,O=_(E,[`class`,`size`,`ui`,`disabled`,`indicatorPosition`,`showArrow`,`triggerProps`,`portalProps`,`contentProps`,`popupProps`,`arrowProps`]),k=g(D),A=r(()=>({...E.contentProps,popupProps:E.popupProps??E.contentProps?.popupProps})),j=r(()=>e(n({size:E.size,indicatorPosition:E.indicatorPosition}),E.ui,{popup:E.class}));return w(j),t(j),(e,t)=>(d(),i(m(x),l(m(O),{"onUpdate:open":t[0]||=e=>D(`update:open`,e)}),{default:h(()=>[o(m(S),l(s.triggerProps,{"as-child":``,disabled:s.disabled}),{default:h(()=>[o(m(C),{size:s.size},{default:h(()=>[f(e.$slots,`trigger`)]),_:3},8,[`size`])]),_:3},16,[`disabled`]),o(m(b),u(c(s.portalProps)),{default:h(()=>[o(m(y),l(A.value,p(m(k))),{default:h(()=>[f(e.$slots,`default`),s.showArrow?(d(),i(m(v),u(l({key:0},s.arrowProps)),null,16)):a(`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{provideMenuExtraUi as t}from"../menu/context.js";import{menuVariants as n}from"../menu/variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toHandlers as p,unref as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{ContextMenuArrow as v,ContextMenuContent as y,ContextMenuPortal as b,ContextMenuRoot as x,ContextMenuTrigger as S,Slot as C,provideMenuUi as w}from"@soybeanjs/headless";const T=s({name:`SContextMenuWrapper`,__name:`context-menu-wrapper`,props:{class:{},size:{},ui:{},disabled:{type:Boolean},indicatorPosition:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},pressOpenDelay:{},dir:{},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(s,{emit:T}){let E=s,D=T,O=_(E,[`class`,`size`,`ui`,`disabled`,`indicatorPosition`,`showArrow`,`triggerProps`,`portalProps`,`contentProps`,`popupProps`,`arrowProps`]),k=g(D),A=r(()=>({...E.contentProps,popupProps:E.popupProps??E.contentProps?.popupProps})),j=r(()=>e(n({size:E.size,indicatorPosition:E.indicatorPosition}),E.ui,{popup:E.class}));return w(j),t(j),(e,t)=>(d(),i(m(x),l(m(O),{"onUpdate:open":t[0]||=e=>D(`update:open`,e)}),{default:h(()=>[o(m(S),l(s.triggerProps,{"as-child":``,disabled:s.disabled}),{default:h(()=>[o(m(C),{size:s.size},{default:h(()=>[f(e.$slots,`trigger`)]),_:3},8,[`size`])]),_:3},16,[`disabled`]),o(m(b),u(c(s.portalProps)),{default:h(()=>[o(m(y),l(A.value,p(m(k))),{default:h(()=>[f(e.$slots,`default`),s.showArrow?(d(),i(m(v),u(l({key:0},s.arrowProps)),null,16)):a(`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{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../../variants/dialog.js";import r from"../button/button-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{DialogClose as b,DialogContent as x,DialogOverlay as S,DialogPortal as C,DialogRoot as w,DialogTrigger as T,provideDialogUi as E}from"@soybeanjs/headless";const D=c({name:`SDialogPure`,__name:`dialog-pure`,props:{size:{},ui:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(c,{emit:D}){let O=c,k=y(O,[`size`,`ui`,`closable`,`triggerProps`,`contentProps`,`overlayProps`,`portalProps`]),A=D,j=v(A),M=i(()=>e(n({size:O.size,pure:!0}),O.ui));return E(M),t(()=>O.size),(e,t)=>(p(),a(g(w),u(g(k),{"onUpdate:open":t[0]||=e=>A(`update:open`,e)}),{default:_(t=>[s(g(T),u(c.triggerProps,{size:c.size,"as-child":``}),{default:_(()=>[m(e.$slots,`trigger`)]),_:3},16,[`size`]),s(g(C),f(l(c.portalProps)),{default:_(()=>[s(g(S),f(l(c.overlayProps)),null,16),s(g(x),u(c.contentProps,h(g(j))),{default:_(()=>[m(e.$slots,`default`,f(l(t))),c.closable?(p(),a(g(b),{key:0,class:d(M.value.closable),"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(r,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{D as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-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{DialogClose as b,DialogContent as x,DialogOverlay as S,DialogPortal as C,DialogRoot as w,DialogTrigger as T,provideDialogUi as E}from"@soybeanjs/headless";const D=c({name:`SDialogPure`,__name:`dialog-pure`,props:{size:{},ui:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(c,{emit:D}){let O=c,k=y(O,[`size`,`ui`,`closable`,`triggerProps`,`contentProps`,`overlayProps`,`portalProps`]),A=D,j=v(A),M=i(()=>e(n({size:O.size,pure:!0}),O.ui));return E(M),t(()=>O.size),(e,t)=>(p(),a(g(w),u(g(k),{"onUpdate:open":t[0]||=e=>A(`update:open`,e)}),{default:_(t=>[s(g(T),u(c.triggerProps,{size:c.size,"as-child":``}),{default:_(()=>[m(e.$slots,`trigger`)]),_:3},16,[`size`]),s(g(C),f(l(c.portalProps)),{default:_(()=>[s(g(S),f(l(c.overlayProps)),null,16),s(g(x),u(c.contentProps,h(g(j))),{default:_(()=>[m(e.$slots,`default`,f(l(t))),c.closable?(p(),a(g(b),{key:0,class:d(M.value.closable),"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(r,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{D as default};
@@ -31,10 +31,10 @@ declare const __VLS_base: vue.DefineComponent<DialogPureProps, {}, {}, {}, {}, v
31
31
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
32
32
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
33
33
  }>, {
34
- closable: boolean;
35
34
  open: boolean;
36
- modal: boolean;
37
35
  defaultOpen: boolean;
36
+ closable: boolean;
37
+ modal: boolean;
38
38
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
39
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
40
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../../variants/dialog.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{DialogClose as C,DialogContent as w,DialogDescription as T,DialogFooter as E,DialogHeader as D,DialogOverlay as O,DialogPortal as k,DialogRoot as A,DialogTitle as j,DialogTrigger as M,provideDialogUi as N}from"@soybeanjs/headless";const P=l({name:`SDialog`,__name:`dialog`,props:{size:{},ui:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(l,{emit:P}){let F=l,I=S(F,[`size`,`ui`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),L=P,R=y(),z=x(L),B=i(()=>e(n({size:F.size}),F.ui));return N(B),t(()=>F.size),(e,t)=>(m(),a(v(A),d(v(I),{"onUpdate:open":t[0]||=e=>L(`update:open`,e)}),{default:b(t=>[c(v(M),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(k),p(u(l.portalProps)),{default:b(()=>[c(v(O),p(u(l.overlayProps)),null,16),c(v(w),d(l.contentProps,_(v(z))),{default:b(()=>[c(v(D),p(u(l.headerProps)),{default:b(()=>[c(v(j),p(u(l.titleProps)),{default:b(()=>[h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(R).description||l.description?(m(),a(v(T),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0),l.closable?(m(),a(v(C),{key:1,class:f(B.value.closable),"as-child":``},{default:b(()=>[h(e.$slots,`close`,{},()=>[c(r,{size:l.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(R).footer?(m(),a(v(E),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{P as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"./variants.js";import r from"../button/button-icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeClass as f,normalizeProps as p,openBlock as m,renderSlot as h,toDisplayString as g,toHandlers as _,unref as v,useSlots as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{DialogClose as C,DialogContent as w,DialogDescription as T,DialogFooter as E,DialogHeader as D,DialogOverlay as O,DialogPortal as k,DialogRoot as A,DialogTitle as j,DialogTrigger as M,provideDialogUi as N}from"@soybeanjs/headless";const P=l({name:`SDialog`,__name:`dialog`,props:{size:{},ui:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(l,{emit:P}){let F=l,I=S(F,[`size`,`ui`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),L=P,R=y(),z=x(L),B=i(()=>e(n({size:F.size}),F.ui));return N(B),t(()=>F.size),(e,t)=>(m(),a(v(A),d(v(I),{"onUpdate:open":t[0]||=e=>L(`update:open`,e)}),{default:b(t=>[c(v(M),d(l.triggerProps,{size:l.size,"as-child":``}),{default:b(()=>[h(e.$slots,`trigger`)]),_:3},16,[`size`]),c(v(k),p(u(l.portalProps)),{default:b(()=>[c(v(O),p(u(l.overlayProps)),null,16),c(v(w),d(l.contentProps,_(v(z))),{default:b(()=>[c(v(D),p(u(l.headerProps)),{default:b(()=>[c(v(j),p(u(l.titleProps)),{default:b(()=>[h(e.$slots,`title`,p(u(t)),()=>[s(g(l.title),1)])]),_:2},1040),v(R).description||l.description?(m(),a(v(T),p(d({key:0},l.descriptionProps)),{default:b(()=>[h(e.$slots,`description`,p(u(t)),()=>[s(g(l.description),1)])]),_:2},1040)):o(`v-if`,!0),l.closable?(m(),a(v(C),{key:1,class:f(B.value.closable),"as-child":``},{default:b(()=>[h(e.$slots,`close`,{},()=>[c(r,{size:l.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):o(`v-if`,!0)]),_:2},1040),h(e.$slots,`default`,p(u(t))),v(R).footer?(m(),a(v(E),p(d({key:0},l.footerProps)),{default:b(()=>[h(e.$slots,`footer`,p(u(t)))]),_:2},1040)):o(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{P as default};
@@ -46,10 +46,10 @@ declare const __VLS_base: vue.DefineComponent<DialogProps, {}, {}, {}, {}, vue.C
46
46
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
47
47
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
48
48
  }>, {
49
- closable: boolean;
50
49
  open: boolean;
51
- modal: boolean;
52
50
  defaultOpen: boolean;
51
+ closable: boolean;
52
+ modal: boolean;
53
53
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
54
54
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
55
55
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../../variants/dialog.js";import r from"../button/button-icon.js";import{drawerVariants as i}from"../../variants/drawer.js";import{computed as a,createBlock as o,createCommentVNode as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString 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{DialogClose as T,DialogContent as E,DialogDescription as D,DialogFooter as O,DialogHeader as k,DialogOverlay as A,DialogPortal as j,DialogRoot as M,DialogTitle as N,DialogTrigger as P,provideDialogUi as F}from"@soybeanjs/headless";const I=d({name:`SDrawer`,__name:`drawer`,props:{side:{},ui:{},size:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(d,{emit:I}){let L=d,R=w(L,[`size`,`ui`,`side`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),z=I,B=x(),V=C(z),H=a(()=>{let t=n({size:L.size}),r=i({size:L.size,side:L.side});return e({...t,...r},L.ui)});return F(H),t(()=>L.size),(e,t)=>(g(),o(b(M),p(b(R),{"onUpdate:open":t[0]||=e=>z(`update:open`,e)}),{default:S(t=>[u(b(P),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(b(j),h(f(d.portalProps)),{default:S(()=>[u(b(A),h(f(d.overlayProps)),null,16),u(b(E),p(d.contentProps,y(b(V))),{default:S(()=>[u(b(k),h(f(d.headerProps)),{default:S(()=>[u(b(N),h(f(d.titleProps)),{default:S(()=>[_(e.$slots,`title`,h(f(t)),()=>[l(v(d.title),1)])]),_:2},1040),b(B).description||d.description?(g(),o(b(D),h(p({key:0},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,h(f(t)),()=>[l(v(d.description),1)])]),_:2},1040)):s(`v-if`,!0),d.closable?(g(),o(b(T),{key:1,class:m(H.value.closable),"as-child":``},{default:S(()=>[_(e.$slots,`close`,{},()=>[u(r,{size:d.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):s(`v-if`,!0)]),_:2},1040),c(`div`,{class:m(H.value.main)},[_(e.$slots,`default`,h(f(t)))],2),b(B).footer?(g(),o(b(O),h(p({key:0},d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,h(f(t)))]),_:2},1040)):s(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.js";import"../../theme/index.js";import{dialogVariants as n}from"../dialog/variants.js";import r from"../button/button-icon.js";import{drawerVariants as i}from"./variants.js";import{computed as a,createBlock as o,createCommentVNode as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,guardReactiveProps as f,mergeProps as p,normalizeClass as m,normalizeProps as h,openBlock as g,renderSlot as _,toDisplayString 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{DialogClose as T,DialogContent as E,DialogDescription as D,DialogFooter as O,DialogHeader as k,DialogOverlay as A,DialogPortal as j,DialogRoot as M,DialogTitle as N,DialogTrigger as P,provideDialogUi as F}from"@soybeanjs/headless";const I=d({name:`SDrawer`,__name:`drawer`,props:{side:{},ui:{},size:{},title:{},description:{},closable:{type:Boolean,default:!0},triggerProps:{},contentProps:{},headerProps:{},footerProps:{},titleProps:{},descriptionProps:{},overlayProps:{},portalProps:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(d,{emit:I}){let L=d,R=w(L,[`size`,`ui`,`side`,`title`,`description`,`closable`,`triggerProps`,`contentProps`,`headerProps`,`footerProps`,`titleProps`,`descriptionProps`,`overlayProps`,`portalProps`]),z=I,B=x(),V=C(z),H=a(()=>{let t=n({size:L.size}),r=i({size:L.size,side:L.side});return e({...t,...r},L.ui)});return F(H),t(()=>L.size),(e,t)=>(g(),o(b(M),p(b(R),{"onUpdate:open":t[0]||=e=>z(`update:open`,e)}),{default:S(t=>[u(b(P),p(d.triggerProps,{size:d.size,"as-child":``}),{default:S(()=>[_(e.$slots,`trigger`)]),_:3},16,[`size`]),u(b(j),h(f(d.portalProps)),{default:S(()=>[u(b(A),h(f(d.overlayProps)),null,16),u(b(E),p(d.contentProps,y(b(V))),{default:S(()=>[u(b(k),h(f(d.headerProps)),{default:S(()=>[u(b(N),h(f(d.titleProps)),{default:S(()=>[_(e.$slots,`title`,h(f(t)),()=>[l(v(d.title),1)])]),_:2},1040),b(B).description||d.description?(g(),o(b(D),h(p({key:0},d.descriptionProps)),{default:S(()=>[_(e.$slots,`description`,h(f(t)),()=>[l(v(d.description),1)])]),_:2},1040)):s(`v-if`,!0),d.closable?(g(),o(b(T),{key:1,class:m(H.value.closable),"as-child":``},{default:S(()=>[_(e.$slots,`close`,{},()=>[u(r,{size:d.size,icon:`lucide:x`},null,8,[`size`])])]),_:3},8,[`class`])):s(`v-if`,!0)]),_:2},1040),c(`div`,{class:m(H.value.main)},[_(e.$slots,`default`,h(f(t)))],2),b(B).footer?(g(),o(b(O),h(p({key:0},d.footerProps)),{default:S(()=>[_(e.$slots,`footer`,h(f(t)))]),_:2},1040)):s(`v-if`,!0)]),_:2},1040)]),_:2},1040)]),_:3},16))}});export{I as default};
@@ -46,10 +46,10 @@ declare const __VLS_base: vue.DefineComponent<DrawerProps, {}, {}, {}, {}, vue.C
46
46
  onOpenAutoFocus?: ((event: Event) => any) | undefined;
47
47
  onCloseAutoFocus?: ((event: Event) => any) | undefined;
48
48
  }>, {
49
- closable: boolean;
50
49
  open: boolean;
51
- modal: boolean;
52
50
  defaultOpen: boolean;
51
+ closable: boolean;
52
+ modal: boolean;
53
53
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
54
54
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
55
55
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideMenuExtraUi as t}from"../menu/context.js";import{menuVariants as n}from"../../variants/menu.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toHandlers as p,unref as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{DropdownMenuArrow as v,DropdownMenuContent as y,DropdownMenuPortal as b,DropdownMenuRoot as x,DropdownMenuTrigger as S,provideMenuUi as C}from"@soybeanjs/headless";const w=s({name:`SDropdownMenuWrapper`,__name:`dropdown-menu-wrapper`,props:{class:{},size:{},ui:{},disabled:{type:Boolean},placement:{},indicatorPosition:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(s,{emit:w}){let T=s,E=w,D=_(T,[`class`,`size`,`ui`,`disabled`,`placement`,`indicatorPosition`,`showArrow`,`triggerProps`,`portalProps`,`contentProps`,`popupProps`,`arrowProps`]),O=g(E),k=r(()=>({...T.contentProps,popupProps:T.popupProps??T.contentProps?.popupProps,placement:T.placement??T.contentProps?.placement,sideOffset:T.contentProps?.sideOffset??(T.showArrow?0:8)})),A=r(()=>e(n({size:T.size,indicatorPosition:T.indicatorPosition}),T.ui,{popup:T.class}));return C(A),t(A),(e,t)=>(d(),i(m(x),l(m(D),{"onUpdate:open":t[0]||=e=>E(`update:open`,e)}),{default:h(()=>[o(m(S),l(s.triggerProps,{"as-child":``,disabled:s.disabled}),{default:h(()=>[f(e.$slots,`trigger`)]),_:3},16,[`disabled`]),o(m(b),u(c(s.portalProps)),{default:h(()=>[o(m(y),l(k.value,{"popup-props":s.popupProps},p(m(O))),{default:h(()=>[f(e.$slots,`default`),s.showArrow?(d(),i(m(v),u(l({key:0},s.arrowProps)),null,16)):a(`v-if`,!0)]),_:3},16,[`popup-props`])]),_:3},16)]),_:3},16))}});export{w as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{provideMenuExtraUi as t}from"../menu/context.js";import{menuVariants as n}from"../menu/variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toHandlers as p,unref as m,withCtx as h}from"vue";import{useForwardListeners as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{DropdownMenuArrow as v,DropdownMenuContent as y,DropdownMenuPortal as b,DropdownMenuRoot as x,DropdownMenuTrigger as S,provideMenuUi as C}from"@soybeanjs/headless";const w=s({name:`SDropdownMenuWrapper`,__name:`dropdown-menu-wrapper`,props:{class:{},size:{},ui:{},disabled:{type:Boolean},placement:{},indicatorPosition:{},showArrow:{type:Boolean},triggerProps:{},portalProps:{},contentProps:{},popupProps:{},arrowProps:{},trigger:{},delayDuration:{},skipDelayDuration:{},dir:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},modal:{type:Boolean,default:!0}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`,`entryFocus`],setup(s,{emit:w}){let T=s,E=w,D=_(T,[`class`,`size`,`ui`,`disabled`,`placement`,`indicatorPosition`,`showArrow`,`triggerProps`,`portalProps`,`contentProps`,`popupProps`,`arrowProps`]),O=g(E),k=r(()=>({...T.contentProps,popupProps:T.popupProps??T.contentProps?.popupProps,placement:T.placement??T.contentProps?.placement,sideOffset:T.contentProps?.sideOffset??(T.showArrow?0:8)})),A=r(()=>e(n({size:T.size,indicatorPosition:T.indicatorPosition}),T.ui,{popup:T.class}));return C(A),t(A),(e,t)=>(d(),i(m(x),l(m(D),{"onUpdate:open":t[0]||=e=>E(`update:open`,e)}),{default:h(()=>[o(m(S),l(s.triggerProps,{"as-child":``,disabled:s.disabled}),{default:h(()=>[f(e.$slots,`trigger`)]),_:3},16,[`disabled`]),o(m(b),u(c(s.portalProps)),{default:h(()=>[o(m(y),l(k.value,{"popup-props":s.popupProps},p(m(O))),{default:h(()=>[f(e.$slots,`default`),s.showArrow?(d(),i(m(v),u(l({key:0},s.arrowProps)),null,16)):a(`v-if`,!0)]),_:3},16,[`popup-props`])]),_:3},16)]),_:3},16))}});export{w as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants as t}from"../../variants/form.js";import{useFormContext as n}from"./context.js";import{computed as r,createBlock as i,createCommentVNode as a,createTextVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,unref as m,useSlots as h,withCtx as g,withDirectives as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{FormDescription as y,FormError as b,FormField as x,FormLabel as S,provideFormFieldUi as C}from"@soybeanjs/headless";import{vAutoAnimate as w}from"@formkit/auto-animate";const T=s({name:`SFormFieldBase`,__name:`form-field-base`,props:{class:{},size:{},ui:{},label:{},description:{},labelProps:{},descriptionProps:{},errorProps:{},error:{},isFieldArray:{type:Boolean}},setup(s){let T=s,E=h(),D=v(T,[`class`,`size`,`ui`,`label`,`description`,`labelProps`,`descriptionProps`,`errorProps`]),O=n(`FormField`),k=r(()=>T.size??O.size.value),A=r(()=>e(t({size:k.value}),O.ui.value,T.ui,{field:T.isFieldArray?void 0:T.class,fieldArray:T.isFieldArray?T.class:void 0})),j=r(()=>({...O.labelProps.value,...T.labelProps})),M=r(()=>({...O.descriptionProps.value,...T.descriptionProps})),N=r(()=>({...O.errorProps.value,...T.errorProps}));return C(A),(e,t)=>_((d(),i(m(x),u(c(m(D))),{default:g(t=>[m(E).label||s.label?(d(),i(m(S),u(l({key:0},j.value)),{default:g(()=>[f(e.$slots,`label`,{},()=>[o(p(s.label),1)])]),_:3},16)):a(`v-if`,!0),f(e.$slots,`default`,u(c(t))),m(E).description||s.description?(d(),i(m(y),u(l({key:1},M.value)),{default:g(()=>[f(e.$slots,`description`,{},()=>[o(p(s.description),1)])]),_:3},16)):a(`v-if`,!0),s.error?(d(),i(m(b),u(l({key:2},N.value)),{default:g(()=>[o(p(s.error),1)]),_:1},16)):a(`v-if`,!0)]),_:3},16)),[[m(w)]])}});export{T as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{formVariants as t}from"./variants.js";import{useFormContext as n}from"./context.js";import{computed as r,createBlock as i,createCommentVNode as a,createTextVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,unref as m,useSlots as h,withCtx as g,withDirectives as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";import{FormDescription as y,FormError as b,FormField as x,FormLabel as S,provideFormFieldUi as C}from"@soybeanjs/headless";import{vAutoAnimate as w}from"@formkit/auto-animate";const T=s({name:`SFormFieldBase`,__name:`form-field-base`,props:{class:{},size:{},ui:{},label:{},description:{},labelProps:{},descriptionProps:{},errorProps:{},error:{},isFieldArray:{type:Boolean}},setup(s){let T=s,E=h(),D=v(T,[`class`,`size`,`ui`,`label`,`description`,`labelProps`,`descriptionProps`,`errorProps`]),O=n(`FormField`),k=r(()=>T.size??O.size.value),A=r(()=>e(t({size:k.value}),O.ui.value,T.ui,{field:T.isFieldArray?void 0:T.class,fieldArray:T.isFieldArray?T.class:void 0})),j=r(()=>({...O.labelProps.value,...T.labelProps})),M=r(()=>({...O.descriptionProps.value,...T.descriptionProps})),N=r(()=>({...O.errorProps.value,...T.errorProps}));return C(A),(e,t)=>_((d(),i(m(x),u(c(m(D))),{default:g(t=>[m(E).label||s.label?(d(),i(m(S),u(l({key:0},j.value)),{default:g(()=>[f(e.$slots,`label`,{},()=>[o(p(s.label),1)])]),_:3},16)):a(`v-if`,!0),f(e.$slots,`default`,u(c(t))),m(E).description||s.description?(d(),i(m(y),u(l({key:1},M.value)),{default:g(()=>[f(e.$slots,`description`,{},()=>[o(p(s.description),1)])]),_:3},16)):a(`v-if`,!0),s.error?(d(),i(m(b),u(l({key:2},N.value)),{default:g(()=>[o(p(s.error),1)]),_:1},16)):a(`v-if`,!0)]),_:3},16)),[[m(w)]])}});export{T as default};
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{formVariants as t}from"../../variants/form.js";import{provideFormContext as n}from"./context.js";import{computed as r,createElementBlock as i,defineComponent as a,normalizeClass as o,openBlock as s,renderSlot as c}from"vue";import{transformPropsToContext as l}from"@soybeanjs/headless/shared";const u=a({name:`SForm`,__name:`form`,props:{class:{},size:{},ui:{},fieldProps:{},fieldArrayProps:{},labelProps:{},descriptionProps:{},errorProps:{}},setup(a){let u=a,d=r(()=>{let{form:n}=t({size:u.size});return e(n(),u.class)});return n(l(u)),(e,t)=>(s(),i(`form`,{class:o(d.value)},[c(e.$slots,`default`)],2))}});export{u as default};
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{formVariants as t}from"./variants.js";import{provideFormContext as n}from"./context.js";import{computed as r,createElementBlock as i,defineComponent as a,normalizeClass as o,openBlock as s,renderSlot as c}from"vue";import{transformPropsToContext as l}from"@soybeanjs/headless/shared";const u=a({name:`SForm`,__name:`form`,props:{class:{},size:{},ui:{},fieldProps:{},fieldArrayProps:{},labelProps:{},descriptionProps:{},errorProps:{}},setup(a){let u=a,d=r(()=>{let{form:n}=t({size:u.size});return e(n(),u.class)});return n(l(u)),(e,t)=>(s(),i(`form`,{class:o(d.value)},[c(e.$slots,`default`)],2))}});export{u as default};
@@ -1 +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,useAttrs as p,withCtx as m}from"vue";import{useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless";const b=s({name:`SInput`,inheritAttrs:!1,__name:`input`,props:{class:{},size:{},ui:{},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:b}){let x=s,S=b,C=p(),w=g(x,[`class`,`inputRef`,`size`,`ui`,`controlProps`,`clearable`]),[T,E]=h(e=>x.inputRef?.(e)),D=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(D),(e,n)=>(u(),i(f(v),c(f(w),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:m(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c({...s.controlProps,...f(C)},{ref:f(E)}),null,16),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(D.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`)]),_:3},16))}});export{b as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{inputVariants as n}from"./variants.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,mergeProps as c,normalizeClass as l,openBlock as u,renderSlot as d,unref as f,useAttrs as p,withCtx as m}from"vue";import{useForwardElement as h,useOmitProps as g}from"@soybeanjs/headless/composables";import{InputControl as _,InputRoot as v,provideInputUi as y}from"@soybeanjs/headless";const b=s({name:`SInput`,inheritAttrs:!1,__name:`input`,props:{class:{},size:{},ui:{},clearable:{type:Boolean},inputRef:{type:Function},controlProps:{},defaultValue:{},modelValue:{},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:b}){let x=s,S=b,C=p(),w=g(x,[`class`,`inputRef`,`size`,`ui`,`controlProps`,`clearable`]),[T,E]=h(e=>x.inputRef?.(e)),D=r(()=>e(n({size:x.size}),x.ui,{root:x.class}));return y(D),(e,n)=>(u(),i(f(v),c(f(w),{"onUpdate:modelValue":n[0]||=e=>S(`update:modelValue`,e)}),{default:m(({clear:n})=>[d(e.$slots,`leading`),o(f(_),c({...s.controlProps,...f(C)},{ref:f(E)}),null,16),s.clearable?(u(),i(t,{key:0,icon:`lucide:x`,class:l(D.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),d(e.$slots,`trailing`)]),_:3},16))}});export{b as default};