@soybeanjs/ui 0.0.9 → 0.0.11

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 (225) hide show
  1. package/dist/components/accordion/accordion.js +1 -1
  2. package/dist/components/accordion/accordion.vue.d.ts +3 -3
  3. package/dist/components/accordion/index.d.ts +1 -1
  4. package/dist/components/accordion/types.d.ts +10 -6
  5. package/dist/components/alert/alert.js +1 -1
  6. package/dist/components/alert/alert.vue.d.ts +4 -4
  7. package/dist/components/alert/types.d.ts +7 -3
  8. package/dist/components/alert-dialog/alert-dialog-action.js +1 -1
  9. package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +3 -3
  10. package/dist/components/alert-dialog/alert-dialog-cancel.js +1 -1
  11. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +3 -3
  12. package/dist/components/alert-dialog/alert-dialog.js +1 -1
  13. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +4 -4
  14. package/dist/components/avatar/avatar.js +1 -1
  15. package/dist/components/avatar/avatar.vue.d.ts +7 -7
  16. package/dist/components/avatar/types.d.ts +5 -1
  17. package/dist/components/badge/badge.js +1 -1
  18. package/dist/components/badge/badge.vue.d.ts +4 -4
  19. package/dist/components/badge/types.d.ts +5 -1
  20. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  21. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
  22. package/dist/components/breadcrumb/types.d.ts +5 -1
  23. package/dist/components/button/button-group.js +1 -1
  24. package/dist/components/button/button-group.vue.d.ts +6 -6
  25. package/dist/components/button/button-icon.js +1 -1
  26. package/dist/components/button/button-icon.vue.d.ts +3 -3
  27. package/dist/components/button/button-link.js +1 -1
  28. package/dist/components/button/button-link.vue.d.ts +4 -4
  29. package/dist/components/button/button-loading.js +1 -1
  30. package/dist/components/button/button-loading.vue.d.ts +3 -3
  31. package/dist/components/button/button.js +1 -1
  32. package/dist/components/button/button.vue.d.ts +4 -4
  33. package/dist/components/button/types.d.ts +4 -3
  34. package/dist/components/card/card.js +1 -1
  35. package/dist/components/card/card.vue.d.ts +3 -3
  36. package/dist/components/card/types.d.ts +5 -1
  37. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  38. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
  39. package/dist/components/checkbox/checkbox-card.js +1 -1
  40. package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
  41. package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
  42. package/dist/components/checkbox/checkbox.js +1 -1
  43. package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
  44. package/dist/components/checkbox/index.d.ts +1 -1
  45. package/dist/components/checkbox/types.d.ts +7 -6
  46. package/dist/components/collapsible/collapsible.js +1 -1
  47. package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
  48. package/dist/components/command/command-group-option.js +1 -1
  49. package/dist/components/command/command-single-option.js +1 -1
  50. package/dist/components/command/command.js +1 -1
  51. package/dist/components/command/command.vue.d.ts +7 -7
  52. package/dist/components/command/context.js +1 -1
  53. package/dist/components/command/index.d.ts +1 -1
  54. package/dist/components/command/types.d.ts +11 -10
  55. package/dist/components/config-provider/config-provider.vue.d.ts +5 -5
  56. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  57. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +9 -9
  58. package/dist/components/context-menu/context-menu-radio.js +1 -1
  59. package/dist/components/context-menu/context-menu-radio.vue.d.ts +9 -9
  60. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  61. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +13 -13
  62. package/dist/components/context-menu/context-menu.js +1 -1
  63. package/dist/components/context-menu/context-menu.vue.d.ts +9 -9
  64. package/dist/components/context-menu/types.d.ts +23 -4
  65. package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
  66. package/dist/components/dialog/dialog-pure.js +1 -1
  67. package/dist/components/dialog/dialog-pure.vue.d.ts +12 -12
  68. package/dist/components/dialog/dialog.js +1 -1
  69. package/dist/components/dialog/dialog.vue.d.ts +12 -12
  70. package/dist/components/dialog/index.d.ts +1 -1
  71. package/dist/components/dialog/types.d.ts +5 -4
  72. package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
  73. package/dist/components/drawer/drawer.js +1 -1
  74. package/dist/components/drawer/drawer.vue.d.ts +12 -13
  75. package/dist/components/drawer/index.d.ts +1 -1
  76. package/dist/components/drawer/types.d.ts +6 -9
  77. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  78. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +9 -9
  79. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  80. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +9 -9
  81. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  82. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +13 -13
  83. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  84. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +9 -9
  85. package/dist/components/dropdown-menu/types.d.ts +17 -3
  86. package/dist/components/form/form-field-base.js +1 -0
  87. package/dist/components/form/form.js +1 -1
  88. package/dist/components/form/form.vue.d.ts +2 -2
  89. package/dist/components/form/index.d.ts +2 -3
  90. package/dist/components/form/types.d.ts +28 -14
  91. package/dist/components/form/use-form.d.ts +44 -0
  92. package/dist/components/form/use-form.js +1 -0
  93. package/dist/components/icon/icon.vue.d.ts +4 -4
  94. package/dist/components/input/input.js +1 -1
  95. package/dist/components/input/input.vue.d.ts +4 -4
  96. package/dist/components/input/types.d.ts +6 -2
  97. package/dist/components/kbd/kbd.js +1 -1
  98. package/dist/components/kbd/kbd.vue.d.ts +3 -3
  99. package/dist/components/kbd/types.d.ts +2 -1
  100. package/dist/components/label/label.js +1 -1
  101. package/dist/components/label/label.vue.d.ts +2 -2
  102. package/dist/components/label/types.d.ts +2 -1
  103. package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
  104. package/dist/components/layout/layout.js +1 -1
  105. package/dist/components/layout/layout.vue.d.ts +7 -4
  106. package/dist/components/layout/types.d.ts +2 -1
  107. package/dist/components/link/link.js +1 -1
  108. package/dist/components/link/link.vue.d.ts +4 -3
  109. package/dist/components/link/types.d.ts +8 -2
  110. package/dist/components/list/list-item.vue.d.ts +2 -2
  111. package/dist/components/list/list.js +1 -1
  112. package/dist/components/list/list.vue.d.ts +2 -2
  113. package/dist/components/list/types.d.ts +2 -1
  114. package/dist/components/menu/context.js +1 -1
  115. package/dist/components/menu/index.d.ts +1 -1
  116. package/dist/components/menu/menu-checkbox-options.js +1 -1
  117. package/dist/components/menu/menu-checkbox-options.vue.d.ts +3 -3
  118. package/dist/components/menu/menu-option.js +1 -1
  119. package/dist/components/menu/menu-option.vue.d.ts +9 -9
  120. package/dist/components/menu/menu-options.vue.d.ts +9 -9
  121. package/dist/components/menu/menu-radio-options.js +1 -1
  122. package/dist/components/menu/menu-radio-options.vue.d.ts +3 -3
  123. package/dist/components/menu/types.d.ts +6 -10
  124. package/dist/components/navigation-menu/context.js +1 -1
  125. package/dist/components/navigation-menu/index.d.ts +1 -1
  126. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  127. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  128. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  129. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +11 -11
  130. package/dist/components/navigation-menu/types.d.ts +5 -8
  131. package/dist/components/number-input/number-input.js +1 -1
  132. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  133. package/dist/components/number-input/types.d.ts +2 -1
  134. package/dist/components/pagination/pagination.js +1 -1
  135. package/dist/components/pagination/pagination.vue.d.ts +4 -4
  136. package/dist/components/pagination/types.d.ts +2 -1
  137. package/dist/components/password/password.js +1 -1
  138. package/dist/components/password/password.vue.d.ts +4 -4
  139. package/dist/components/password/types.d.ts +3 -2
  140. package/dist/components/popover/popover.js +1 -1
  141. package/dist/components/popover/popover.vue.d.ts +11 -11
  142. package/dist/components/popover/types.d.ts +5 -1
  143. package/dist/components/radio-group/index.d.ts +1 -1
  144. package/dist/components/radio-group/radio-card-group.js +1 -1
  145. package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
  146. package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
  147. package/dist/components/radio-group/radio-group.js +1 -1
  148. package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
  149. package/dist/components/radio-group/radio.vue.d.ts +2 -2
  150. package/dist/components/radio-group/types.d.ts +4 -3
  151. package/dist/components/segment/segment.js +1 -1
  152. package/dist/components/segment/segment.vue.d.ts +3 -3
  153. package/dist/components/segment/types.d.ts +2 -1
  154. package/dist/components/select/select.js +1 -1
  155. package/dist/components/select/select.vue.d.ts +7 -7
  156. package/dist/components/select/types.d.ts +5 -1
  157. package/dist/components/separator/separator.js +1 -1
  158. package/dist/components/separator/separator.vue.d.ts +5 -5
  159. package/dist/components/separator/types.d.ts +2 -1
  160. package/dist/components/switch/switch.js +1 -1
  161. package/dist/components/switch/switch.vue.d.ts +25 -25
  162. package/dist/components/switch/types.d.ts +2 -1
  163. package/dist/components/tabs/index.d.ts +1 -1
  164. package/dist/components/tabs/tabs.js +1 -1
  165. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  166. package/dist/components/tabs/types.d.ts +4 -3
  167. package/dist/components/tag/tag.js +1 -1
  168. package/dist/components/tag/tag.vue.d.ts +4 -4
  169. package/dist/components/tag/types.d.ts +2 -1
  170. package/dist/components/textarea/index.d.ts +1 -1
  171. package/dist/components/textarea/textarea.js +1 -1
  172. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  173. package/dist/components/textarea/types.d.ts +4 -3
  174. package/dist/components/toast/context.js +1 -1
  175. package/dist/components/toast/toast-provider.js +1 -1
  176. package/dist/components/toast/toast.js +1 -1
  177. package/dist/components/toast/types.d.ts +1 -0
  178. package/dist/components/tooltip/tooltip.js +1 -1
  179. package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
  180. package/dist/components/tooltip/types.d.ts +5 -1
  181. package/dist/components/tree/tree-virtualizer.vue.d.ts +5 -5
  182. package/dist/components/tree/tree.vue.d.ts +5 -5
  183. package/dist/components/tree-menu/context.js +1 -1
  184. package/dist/components/tree-menu/index.d.ts +1 -1
  185. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  186. package/dist/components/tree-menu/tree-menu-option.js +1 -1
  187. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
  188. package/dist/components/tree-menu/tree-menu-styled-item.vue.d.ts +2 -2
  189. package/dist/components/tree-menu/tree-menu.js +1 -1
  190. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -3
  191. package/dist/components/tree-menu/types.d.ts +6 -6
  192. package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
  193. package/dist/constants/components.d.ts +13 -13
  194. package/dist/constants/components.js +1 -1
  195. package/dist/index.d.ts +50 -52
  196. package/dist/index.js +1 -1
  197. package/dist/styles.css +3 -3
  198. package/dist/theme/shared.js +1 -1
  199. package/dist/variants/alert.d.ts +24 -24
  200. package/dist/variants/alert.js +1 -1
  201. package/dist/variants/avatar.js +1 -1
  202. package/dist/variants/badge.d.ts +3 -3
  203. package/dist/variants/button.d.ts +3 -3
  204. package/dist/variants/checkbox.d.ts +3 -3
  205. package/dist/variants/checkbox.js +1 -1
  206. package/dist/variants/drawer.js +1 -1
  207. package/dist/variants/form.js +1 -1
  208. package/dist/variants/kbd.d.ts +3 -3
  209. package/dist/variants/layout.js +1 -1
  210. package/dist/variants/navigation-menu.js +1 -1
  211. package/dist/variants/pagination.d.ts +3 -3
  212. package/dist/variants/radio-group.d.ts +3 -3
  213. package/dist/variants/separator.d.ts +3 -3
  214. package/dist/variants/switch.d.ts +3 -3
  215. package/dist/variants/tabs.d.ts +3 -3
  216. package/dist/variants/tabs.js +1 -1
  217. package/dist/variants/tag.d.ts +3 -3
  218. package/dist/variants/textarea.d.ts +3 -3
  219. package/dist/variants/toast.d.ts +3 -3
  220. package/dist/variants/tree-menu.js +1 -1
  221. package/package.json +8 -6
  222. package/dist/components/form/form-field-array.js +0 -1
  223. package/dist/components/form/form-field-array.vue.d.ts +0 -71
  224. package/dist/components/form/form-field.js +0 -1
  225. package/dist/components/form/form-field.vue.d.ts +0 -27
@@ -1 +1 @@
1
- import{accordionVariants as e}from"../../variants/accordion.js";import{mergeSlotVariants as t}from"../../theme/shared.js";import n from"../icon/icon.js";import{Fragment 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,mergeProps as f,normalizeClass as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,toHandlers as v,unref as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AccordionContent as C,AccordionHeader as w,AccordionItem as T,AccordionRoot as E,AccordionTrigger as D,provideAccordionThemeContext as O}from"@soybeanjs/headless";var k=d({name:`SAccordion`,__name:`accordion`,props:{collapsible:{type:Boolean},dir:{},disabled:{type:Boolean},orientation:{},unmountOnHide:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},size:{},ui:{},items:{},itemProps:{},headerProps:{},triggerProps:{},contentProps:{}},emits:[`update:modelValue`],setup(d,{emit:k}){let A=d,j=k,M=S(A,[`size`,`ui`,`items`,`itemProps`,`headerProps`,`triggerProps`,`contentProps`]),N=x(j),P=i(()=>t(e({size:A.size}),A.ui));return O({ui:P}),(e,t)=>(m(),a(y(E),f(y(M),v(y(N))),{default:b(()=>[(m(!0),s(r,null,h(A.items,t=>g(e.$slots,`item`,{key:t.value,item:t,modelValue:d.modelValue},()=>[u(y(T),f({ref_for:!0},A.itemProps,{value:t.value,disabled:t.disabled}),{default:b(({open:r})=>[u(y(w),f({ref_for:!0},A.headerProps),{default:b(()=>[u(y(D),f({ref_for:!0},A.triggerProps),{default:b(()=>[g(e.$slots,`leading`,{item:t,modelValue:d.modelValue,open:r},()=>[t.icon?(m(),a(n,{key:0,icon:t.icon,class:p(P.value.triggerLeadingIcon)},null,8,[`icon`,`class`])):o(`v-if`,!0)]),g(e.$slots,`title`,{item:t,modelValue:d.modelValue,open:r},()=>[l(_(t.title),1)]),g(e.$slots,`trigger-icon`,{item:t,modelValue:d.modelValue,open:r},()=>[u(n,{icon:`lucide:chevron-down`,class:p(P.value.triggerIcon)},null,8,[`class`])])]),_:2},1040)]),_:2},1040),u(y(C),f({ref_for:!0},A.contentProps),{default:b(()=>[g(e.$slots,`content`,{item:t,modelValue:d.modelValue,open:r},()=>[c(`p`,{class:p(P.value.description)},_(t.description),3)])]),_:2},1040)]),_:2},1040,[`value`,`disabled`])])),128))]),_:3},16))}});export{k as default};
1
+ import{accordionVariants as e}from"../../variants/accordion.js";import{mergeSlotVariants as t}from"../../theme/shared.js";import n from"../icon/icon.js";import{Fragment 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,mergeProps as f,normalizeClass as p,openBlock as m,renderList as h,renderSlot as g,toDisplayString as _,toHandlers as v,unref as y,withCtx as b}from"vue";import{useForwardListeners as x,useOmitProps as S}from"@soybeanjs/headless/composables";import{AccordionContent as C,AccordionHeader as w,AccordionItem as T,AccordionRoot as E,AccordionTrigger as D,provideAccordionUi as O}from"@soybeanjs/headless";var k=d({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(d,{emit:k}){let A=d,j=k,M=S(A,[`class`,`size`,`ui`,`items`,`itemProps`,`headerProps`,`triggerProps`,`contentProps`]),N=x(j),P=i(()=>t(e({size:A.size}),A.ui,{root:A.class}));return O(P),(e,t)=>(m(),a(y(E),f(y(M),v(y(N))),{default:b(()=>[(m(!0),s(r,null,h(A.items,t=>g(e.$slots,`item`,{key:t.value,item:t,modelValue:d.modelValue},()=>[u(y(T),f({ref_for:!0},A.itemProps,{value:t.value,disabled:t.disabled}),{default:b(({open:r})=>[u(y(w),f({ref_for:!0},A.headerProps),{default:b(()=>[u(y(D),f({ref_for:!0},A.triggerProps),{default:b(()=>[g(e.$slots,`leading`,{item:t,modelValue:d.modelValue,open:r},()=>[t.icon?(m(),a(n,{key:0,icon:t.icon,class:p(P.value.triggerLeadingIcon)},null,8,[`icon`,`class`])):o(`v-if`,!0)]),g(e.$slots,`title`,{item:t,modelValue:d.modelValue,open:r},()=>[l(_(t.title),1)]),g(e.$slots,`trigger-icon`,{item:t,modelValue:d.modelValue,open:r},()=>[u(n,{icon:`lucide:chevron-down`,class:p(P.value.triggerIcon)},null,8,[`class`])])]),_:2},1040)]),_:2},1040),u(y(C),f({ref_for:!0},A.contentProps),{default:b(()=>[g(e.$slots,`content`,{item:t,modelValue:d.modelValue,open:r},()=>[c(`p`,{class:p(P.value.description)},_(t.description),3)])]),_:2},1040)]),_:2},1040,[`value`,`disabled`])])),128))]),_:3},16))}});export{k as default};
@@ -1,9 +1,9 @@
1
1
  import { AccordionOptionData, AccordionProps } from "./types.js";
2
- import * as vue10 from "vue";
2
+ import * as vue0 from "vue";
3
3
 
4
4
  //#region src/components/accordion/accordion.vue.d.ts
5
5
  declare const __VLS_export: <T extends AccordionOptionData = AccordionOptionData, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
- props: vue10.PublicProps & __VLS_PrettifyLocal<AccordionProps<T, M> & {
6
+ props: vue0.PublicProps & __VLS_PrettifyLocal<AccordionProps<T, M> & {
7
7
  "onUpdate:modelValue"?: ((value: M extends true ? string[] : string) => any) | undefined;
8
8
  }> & (typeof globalThis extends {
9
9
  __VLS_PROPS_FALLBACK: infer P;
@@ -41,7 +41,7 @@ declare const __VLS_export: <T extends AccordionOptionData = AccordionOptionData
41
41
  }) => any;
42
42
  };
43
43
  emit: (evt: "update:modelValue", value: M extends true ? string[] : string) => void;
44
- }>) => vue10.VNode & {
44
+ }>) => vue0.VNode & {
45
45
  __ctx?: Awaited<typeof __VLS_setup>;
46
46
  };
47
47
  declare const _default: typeof __VLS_export;
@@ -1,4 +1,4 @@
1
- import { AccordionEmits, AccordionExtendedUi, AccordionExtraThemeSlot, AccordionOptionData, AccordionProps } from "./types.js";
1
+ import { AccordionEmits, AccordionExtendedUi, AccordionExtraUiSlot, AccordionOptionData, AccordionProps } from "./types.js";
2
2
  import { _default } from "./accordion.vue.js";
3
3
  import { AccordionContentProps, AccordionHeaderProps, AccordionItemProps, AccordionRootEmits, AccordionRootProps, AccordionTriggerProps } from "@soybeanjs/headless/accordion";
4
4
  export { type AccordionContentProps, type AccordionHeaderProps, type AccordionItemProps, type AccordionRootEmits, type AccordionRootProps, type AccordionTriggerProps };
@@ -1,7 +1,7 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { IconValue } from "../icon/types.js";
4
- import { AccordionContentProps, AccordionHeaderProps, AccordionItemProps, AccordionRootEmits, AccordionRootProps, AccordionTriggerProps, AccordionUi, ClassValue } from "@soybeanjs/headless";
4
+ import { AccordionContentProps, AccordionHeaderProps, AccordionItemProps, AccordionRootEmits, AccordionRootProps, AccordionTriggerProps, AccordionUiSlot, ClassValue, UiClass } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/accordion/types.d.ts
7
7
  interface AccordionOptionData extends Pick<AccordionItemProps, 'value' | 'disabled'> {
@@ -16,9 +16,13 @@ interface AccordionOptionData extends Pick<AccordionItemProps, 'value' | 'disabl
16
16
  */
17
17
  icon?: IconValue;
18
18
  }
19
- type AccordionExtraThemeSlot = 'triggerLeadingIcon' | 'triggerIcon';
20
- type AccordionExtendedUi = AccordionUi & Record<AccordionExtraThemeSlot, ClassValue>;
21
- type AccordionProps<T extends AccordionOptionData = AccordionOptionData, M extends boolean = false> = AccordionRootProps<M> & {
19
+ type AccordionExtraUiSlot = 'triggerLeadingIcon' | 'triggerIcon';
20
+ type AccordionExtendedUi = UiClass<AccordionUiSlot | AccordionExtraUiSlot>;
21
+ interface AccordionProps<T extends AccordionOptionData = AccordionOptionData, M extends boolean = false> extends AccordionRootProps<M> {
22
+ /**
23
+ * root class
24
+ */
25
+ class?: ClassValue;
22
26
  size?: ThemeSize;
23
27
  ui?: Partial<AccordionExtendedUi>;
24
28
  items: T[];
@@ -26,7 +30,7 @@ type AccordionProps<T extends AccordionOptionData = AccordionOptionData, M exten
26
30
  headerProps?: AccordionHeaderProps;
27
31
  triggerProps?: AccordionTriggerProps;
28
32
  contentProps?: AccordionContentProps;
29
- };
33
+ }
30
34
  type AccordionEmits<M extends boolean = false> = AccordionRootEmits<M>;
31
35
  //#endregion
32
- export { AccordionEmits, AccordionExtendedUi, AccordionExtraThemeSlot, AccordionOptionData, AccordionProps };
36
+ export { AccordionEmits, AccordionExtendedUi, AccordionExtraUiSlot, AccordionOptionData, AccordionProps };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.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,provideAlertThemeContext as T}from"@soybeanjs/headless";var E=l({name:`SAlert`,__name:`alert`,props:{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));return T({ui:A}),(e,r)=>(m(),a(_(C),{open:l.open,"onUpdate:open":r[0]||=e=>O(`update:open`,e)},{default:y(()=>[h(e.$slots,`leading`,{},()=>[l.icon?(m(),a(n,{key:0,icon:l.icon,class:f(A.value.icon)},null,8,[`icon`,`class`])):o(`v-if`,!0)]),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 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";var 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`,{},()=>[l.icon?(m(),a(n,{key:0,icon:l.icon,class:f(A.value.icon)},null,8,[`icon`,`class`])):o(`v-if`,!0)]),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,5 +1,5 @@
1
1
  import { AlertProps } from "./types.js";
2
- import * as vue12 from "vue";
2
+ import * as vue93 from "vue";
3
3
 
4
4
  //#region src/components/alert/alert.vue.d.ts
5
5
  declare var __VLS_10: {}, __VLS_29: {}, __VLS_37: {}, __VLS_39: {}, __VLS_41: {}, __VLS_49: {};
@@ -16,13 +16,13 @@ type __VLS_Slots = {} & {
16
16
  } & {
17
17
  close?: (props: typeof __VLS_49) => any;
18
18
  };
19
- declare const __VLS_base: vue12.DefineComponent<AlertProps, {}, {}, {}, {}, vue12.ComponentOptionsMixin, vue12.ComponentOptionsMixin, {
19
+ declare const __VLS_base: vue93.DefineComponent<AlertProps, {}, {}, {}, {}, vue93.ComponentOptionsMixin, vue93.ComponentOptionsMixin, {
20
20
  "update:open": (open: boolean) => any;
21
- }, string, vue12.PublicProps, Readonly<AlertProps> & Readonly<{
21
+ }, string, vue93.PublicProps, Readonly<AlertProps> & Readonly<{
22
22
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
23
23
  }>, {
24
24
  open: boolean;
25
- }, {}, {}, {}, string, vue12.ComponentProvideOptions, false, {}, any>;
25
+ }, {}, {}, {}, string, vue93.ComponentProvideOptions, false, {}, any>;
26
26
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
27
  declare const _default: typeof __VLS_export;
28
28
  type __VLS_WithSlots<T, S> = T & {
@@ -2,12 +2,16 @@ import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { IconValue } from "../icon/types.js";
4
4
  import { AlertVariant } from "../../variants/alert.js";
5
- import { AlertCloseProps, AlertContentProps, AlertDescriptionProps, AlertRootEmits, AlertRootProps, AlertTitleProps, AlertUi, ClassValue } from "@soybeanjs/headless";
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
8
- type AlertExtraThemeSlot = 'icon';
9
- type AlertExtendedUi = AlertUi & Record<AlertExtraThemeSlot, ClassValue>;
8
+ type AlertExtraUiSlot = 'icon';
9
+ type AlertExtendedUi = UiClass<AlertUiSlot | AlertExtraUiSlot>;
10
10
  interface AlertProps extends AlertRootProps {
11
+ /**
12
+ * root class
13
+ */
14
+ class?: ClassValue;
11
15
  size?: ThemeSize;
12
16
  color?: ThemeColor;
13
17
  variant?: AlertVariant;
@@ -1 +1 @@
1
- import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogAction`,__name:`alert-dialog-action`,props:{text:{default:`Confirm`},beforeClose:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogAction`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
1
+ import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogAction`,__name:`alert-dialog-action`,props:{text:{default:`Confirm`},beforeClose:{},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogAction`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
@@ -1,5 +1,5 @@
1
1
  import { AlertDialogActionProps } from "./types.js";
2
- import * as vue27 from "vue";
2
+ import * as vue103 from "vue";
3
3
 
4
4
  //#region src/components/alert-dialog/alert-dialog-action.vue.d.ts
5
5
  declare var __VLS_8: {}, __VLS_16: {};
@@ -8,9 +8,9 @@ type __VLS_Slots = {} & {
8
8
  } & {
9
9
  default?: (props: typeof __VLS_16) => any;
10
10
  };
11
- declare const __VLS_base: vue27.DefineComponent<AlertDialogActionProps, {}, {}, {}, {}, vue27.ComponentOptionsMixin, vue27.ComponentOptionsMixin, {}, string, vue27.PublicProps, Readonly<AlertDialogActionProps> & Readonly<{}>, {
11
+ declare const __VLS_base: vue103.DefineComponent<AlertDialogActionProps, {}, {}, {}, {}, vue103.ComponentOptionsMixin, vue103.ComponentOptionsMixin, {}, string, vue103.PublicProps, Readonly<AlertDialogActionProps> & Readonly<{}>, {
12
12
  text: string;
13
- }, {}, {}, {}, string, vue27.ComponentProvideOptions, false, {}, any>;
13
+ }, {}, {}, {}, string, vue103.ComponentProvideOptions, false, {}, any>;
14
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
15
  declare const _default: typeof __VLS_export;
16
16
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogCancel`,__name:`alert-dialog-cancel`,props:{text:{default:`Cancel`},beforeClose:{},color:{},size:{},variant:{default:`plain`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogCancel`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
1
+ import{useSizeContext as e}from"../../theme/context.js";import t from"../button/button.js";import{createBlock as n,createTextVNode as r,createVNode as i,defineComponent as a,mergeProps as o,openBlock as s,renderSlot as c,toDisplayString as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{AlertDialogClose as p}from"@soybeanjs/headless";var m=a({name:`SAlertDialogCancel`,__name:`alert-dialog-cancel`,props:{text:{default:`Cancel`},beforeClose:{},class:{},color:{},size:{},variant:{default:`plain`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=f(a,[`text`]),{size:h}=e(`AlertDialogCancel`);return(e,f)=>(s(),n(u(p),{"as-child":``,"before-close":a.beforeClose},{default:d(()=>[c(e.$slots,`content`,{},()=>[i(t,o(u(m),{size:u(h)}),{default:d(()=>[c(e.$slots,`default`,{},()=>[r(l(a.text),1)])]),_:3},16,[`size`])])]),_:3},8,[`before-close`]))}});export{m as default};
@@ -1,7 +1,7 @@
1
1
  import { ButtonVariant } from "../../variants/button.js";
2
2
  import { AlertDialogCancelProps } from "./types.js";
3
3
  import "../button/index.js";
4
- import * as vue22 from "vue";
4
+ import * as vue108 from "vue";
5
5
 
6
6
  //#region src/components/alert-dialog/alert-dialog-cancel.vue.d.ts
7
7
  declare var __VLS_8: {}, __VLS_16: {};
@@ -10,10 +10,10 @@ type __VLS_Slots = {} & {
10
10
  } & {
11
11
  default?: (props: typeof __VLS_16) => any;
12
12
  };
13
- declare const __VLS_base: vue22.DefineComponent<AlertDialogCancelProps, {}, {}, {}, {}, vue22.ComponentOptionsMixin, vue22.ComponentOptionsMixin, {}, string, vue22.PublicProps, Readonly<AlertDialogCancelProps> & Readonly<{}>, {
13
+ declare const __VLS_base: vue108.DefineComponent<AlertDialogCancelProps, {}, {}, {}, {}, vue108.ComponentOptionsMixin, vue108.ComponentOptionsMixin, {}, string, vue108.PublicProps, Readonly<AlertDialogCancelProps> & Readonly<{}>, {
14
14
  text: string;
15
15
  variant: ButtonVariant;
16
- }, {}, {}, {}, string, vue22.ComponentProvideOptions, false, {}, any>;
16
+ }, {}, {}, {}, string, vue108.ComponentProvideOptions, false, {}, any>;
17
17
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
18
  declare const _default: typeof __VLS_export;
19
19
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{provideSizeContext as t}from"../../theme/context.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,provideDialogThemeContext as M}from"@soybeanjs/headless";var 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({ui: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{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";var 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,5 +1,5 @@
1
1
  import { AlertDialogProps } from "./types.js";
2
- import * as vue17 from "vue";
2
+ import * as vue98 from "vue";
3
3
 
4
4
  //#region src/components/alert-dialog/alert-dialog.vue.d.ts
5
5
  declare var __VLS_16: {}, __VLS_52: {
@@ -26,15 +26,15 @@ type __VLS_Slots = {} & {
26
26
  } & {
27
27
  footer?: (props: typeof __VLS_70) => any;
28
28
  };
29
- declare const __VLS_base: vue17.DefineComponent<AlertDialogProps, {}, {}, {}, {}, vue17.ComponentOptionsMixin, vue17.ComponentOptionsMixin, {
29
+ declare const __VLS_base: vue98.DefineComponent<AlertDialogProps, {}, {}, {}, {}, vue98.ComponentOptionsMixin, vue98.ComponentOptionsMixin, {
30
30
  "update:open": (value: boolean) => any;
31
- }, string, vue17.PublicProps, Readonly<AlertDialogProps> & Readonly<{
31
+ }, string, vue98.PublicProps, Readonly<AlertDialogProps> & Readonly<{
32
32
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
33
33
  }>, {
34
34
  open: boolean;
35
35
  defaultOpen: boolean;
36
36
  showIcon: boolean;
37
- }, {}, {}, {}, string, vue17.ComponentProvideOptions, false, {}, any>;
37
+ }, {}, {}, {}, string, vue98.ComponentProvideOptions, false, {}, any>;
38
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
39
39
  declare const _default: typeof __VLS_export;
40
40
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.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,provideAvatarThemeContext as y}from"@soybeanjs/headless";var b=o({name:`SAvatar`,__name:`avatar`,props:{size:{},ui:{},src:{},delayMs:{},fallbackLabel:{},imageProps:{},fallbackProps:{}},emits:[`loadingStatusChange`],setup(o,{emit:b}){let x=o,S=b,C=h(x,[`size`,`ui`,`fallbackLabel`,`imageProps`,`fallbackProps`]);y({ui:n(()=>e(t({size:x.size}),x.ui))});let w=n(()=>({src:x.src,...x.imageProps})),T=n(()=>({delayMs:x.delayMs,...x.fallbackProps}));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{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";var 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,6 +1,6 @@
1
1
  import { AvatarProps } from "./types.js";
2
- import * as vue162 from "vue";
3
- import * as _soybeanjs_headless83 from "@soybeanjs/headless";
2
+ import * as vue1 from "vue";
3
+ import * as _soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/avatar/avatar.vue.d.ts
6
6
  declare var __VLS_8: {}, __VLS_10: {}, __VLS_25: {};
@@ -11,11 +11,11 @@ type __VLS_Slots = {} & {
11
11
  } & {
12
12
  fallback?: (props: typeof __VLS_25) => any;
13
13
  };
14
- declare const __VLS_base: vue162.DefineComponent<AvatarProps, {}, {}, {}, {}, vue162.ComponentOptionsMixin, vue162.ComponentOptionsMixin, {
15
- loadingStatusChange: (status: _soybeanjs_headless83.ImageLoadingStatus) => any;
16
- }, string, vue162.PublicProps, Readonly<AvatarProps> & Readonly<{
17
- onLoadingStatusChange?: ((status: _soybeanjs_headless83.ImageLoadingStatus) => any) | undefined;
18
- }>, {}, {}, {}, {}, string, vue162.ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_base: vue1.DefineComponent<AvatarProps, {}, {}, {}, {}, vue1.ComponentOptionsMixin, vue1.ComponentOptionsMixin, {
15
+ loadingStatusChange: (status: _soybeanjs_headless0.ImageLoadingStatus) => any;
16
+ }, string, vue1.PublicProps, Readonly<AvatarProps> & Readonly<{
17
+ onLoadingStatusChange?: ((status: _soybeanjs_headless0.ImageLoadingStatus) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, vue1.ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
21
21
  type __VLS_WithSlots<T, S> = T & {
@@ -1,9 +1,13 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { AvatarFallbackProps, AvatarImageEmits, AvatarImageProps, AvatarRootProps, AvatarUi } from "@soybeanjs/headless";
3
+ import { AvatarFallbackProps, AvatarImageEmits, AvatarImageProps, AvatarRootProps, AvatarUi, ClassValue } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/avatar/types.d.ts
6
6
  interface AvatarProps extends AvatarRootProps {
7
+ /**
8
+ * root class
9
+ */
10
+ class?: ClassValue;
7
11
  size?: ThemeSize;
8
12
  ui?: Partial<AvatarUi>;
9
13
  /** The image source URL */
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.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,useAttrs as p,withCtx as m}from"vue";import{BadgeContent as h,BadgeRoot as g,provideBadgeThemeContext as _}from"@soybeanjs/headless";var v=o({name:`SBadge`,__name:`badge`,props:{color:{},size:{},ui:{},position:{},content:{},contentProps:{},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(o,{emit:v}){let y=o,b=v,x=p();return _({ui:n(()=>e(t({color:y.color,size:y.size,position:y.position}),y.ui,x.class))}),(e,t)=>(l(),r(f(g),{open:o.open,"onUpdate:open":t[0]||=e=>b(`update:open`,e)},{default:m(()=>[u(e.$slots,`default`),a(f(h),c(s(o.contentProps)),{default:m(()=>[u(e.$slots,`content`,{},()=>[i(d(o.content),1)])]),_:3},16)]),_:3},8,[`open`]))}});export{v as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.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";var _=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,5 +1,5 @@
1
1
  import { BadgeProps } from "./types.js";
2
- import * as vue5 from "vue";
2
+ import * as vue113 from "vue";
3
3
 
4
4
  //#region src/components/badge/badge.vue.d.ts
5
5
  declare var __VLS_10: {}, __VLS_18: {};
@@ -8,13 +8,13 @@ type __VLS_Slots = {} & {
8
8
  } & {
9
9
  content?: (props: typeof __VLS_18) => any;
10
10
  };
11
- declare const __VLS_base: vue5.DefineComponent<BadgeProps, {}, {}, {}, {}, vue5.ComponentOptionsMixin, vue5.ComponentOptionsMixin, {
11
+ declare const __VLS_base: vue113.DefineComponent<BadgeProps, {}, {}, {}, {}, vue113.ComponentOptionsMixin, vue113.ComponentOptionsMixin, {
12
12
  "update:open": (open: boolean) => any;
13
- }, string, vue5.PublicProps, Readonly<BadgeProps> & Readonly<{
13
+ }, string, vue113.PublicProps, Readonly<BadgeProps> & Readonly<{
14
14
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
15
15
  }>, {
16
16
  open: boolean;
17
- }, {}, {}, {}, string, vue5.ComponentProvideOptions, false, {}, any>;
17
+ }, {}, {}, {}, string, vue113.ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
20
20
  type __VLS_WithSlots<T, S> = T & {
@@ -1,10 +1,14 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { BadgePosition } from "../../variants/badge.js";
4
- import { BadgeContentProps, BadgeRootEmits, BadgeRootProps, BadgeUi } from "@soybeanjs/headless";
4
+ import { BadgeContentProps, BadgeRootEmits, BadgeRootProps, BadgeUi, ClassValue } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/badge/types.d.ts
7
7
  interface BadgeProps extends BadgeRootProps {
8
+ /**
9
+ * root class
10
+ */
11
+ class?: ClassValue;
8
12
  color?: ThemeColor;
9
13
  size?: ThemeSize;
10
14
  ui?: Partial<BadgeUi>;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.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,provideBreadcrumbThemeContext as k}from"@soybeanjs/headless";var A=d({name:`SBreadcrumb`,__name:`breadcrumb`,props:{size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(d,{emit:A}){let j=d,M=A,N=x(j,[`size`,`ui`,`items`,`ellipsis`,`listProps`,`itemProps`,`pageProps`,`separatorProps`,`ellipsisProps`]),P=a(()=>e(n({size:j.size}),j.ui)),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({ui: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},()=>[n.icon?(h(),o(t,{key:0,icon:n.icon},null,8,[`icon`])):s(`v-if`,!0)]),_(e.$slots,`default`,{item:n},()=>[n.linkProps?(h(),o(y(w),p({key:0,ref_for:!0},n.linkProps),{default:b(()=>[_(e.$slots,`item-link`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040)):(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 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";var A=d({name:`SBreadcrumb`,__name:`breadcrumb`,props:{class:{},size:{},ui:{},items:{},ellipsis:{type:[Boolean,Array,null]},listProps:{},itemProps:{},pageProps:{},separatorProps:{},ellipsisProps:{}},emits:[`click`],setup(d,{emit:A}){let j=d,M=A,N=x(j,[`class`,`size`,`ui`,`items`,`ellipsis`,`listProps`,`itemProps`,`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},()=>[n.icon?(h(),o(t,{key:0,icon:n.icon},null,8,[`icon`])):s(`v-if`,!0)]),_(e.$slots,`default`,{item:n},()=>[n.linkProps?(h(),o(y(w),p({key:0,ref_for:!0},n.linkProps),{default:b(()=>[_(e.$slots,`item-link`,{item:n},()=>[l(v(n.label),1)])]),_:2},1040)):(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,9 +1,9 @@
1
1
  import { BreadcrumbEmits, BreadcrumbOptionData, BreadcrumbProps } from "./types.js";
2
- import * as vue32 from "vue";
2
+ import * as vue118 from "vue";
3
3
 
4
4
  //#region src/components/breadcrumb/breadcrumb.vue.d.ts
5
5
  declare const __VLS_export: <T extends BreadcrumbOptionData = BreadcrumbOptionData>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
6
- props: vue32.PublicProps & __VLS_PrettifyLocal<BreadcrumbProps<T> & {
6
+ props: vue118.PublicProps & __VLS_PrettifyLocal<BreadcrumbProps<T> & {
7
7
  onClick?: ((item: T) => any) | undefined;
8
8
  }> & (typeof globalThis extends {
9
9
  __VLS_PROPS_FALLBACK: infer P;
@@ -42,7 +42,7 @@ declare const __VLS_export: <T extends BreadcrumbOptionData = BreadcrumbOptionDa
42
42
  separator?: (props: {}) => any;
43
43
  };
44
44
  emit: BreadcrumbEmits<T>;
45
- }>) => vue32.VNode & {
45
+ }>) => vue118.VNode & {
46
46
  __ctx?: Awaited<typeof __VLS_setup>;
47
47
  };
48
48
  declare const _default: typeof __VLS_export;
@@ -1,7 +1,7 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { IconValue } from "../icon/types.js";
4
- import { BreadcrumbEllipsisProps, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbRootProps, BreadcrumbSeparatorProps, BreadcrumbUi } from "@soybeanjs/headless";
4
+ import { BreadcrumbEllipsisProps, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbRootProps, BreadcrumbSeparatorProps, BreadcrumbUi, ClassValue } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/breadcrumb/types.d.ts
7
7
  interface BreadcrumbOptionData {
@@ -25,6 +25,10 @@ interface BreadcrumbOptionData {
25
25
  linkProps?: BreadcrumbLinkProps;
26
26
  }
27
27
  interface BreadcrumbProps<T extends BreadcrumbOptionData = BreadcrumbOptionData> extends Omit<BreadcrumbRootProps, 'onClick'> {
28
+ /**
29
+ * root class
30
+ */
31
+ class?: ClassValue;
28
32
  size?: ThemeSize;
29
33
  ui?: Partial<BreadcrumbUi>;
30
34
  items: T[];
@@ -1 +1 @@
1
- import{buttonGroupVariants as e}from"../../variants/button.js";import{provideButtonGroupContext as t}from"./context.js";import{useConfigProvider as n}from"../config-provider/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{Primitive as f}from"@soybeanjs/headless";import{transformPropsToContext as p}from"@soybeanjs/headless/shared";var m=a({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{default:`ltr`},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(a){let m=a,h=d(m,[`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),g=n(`ButtonGroup`),_=r(()=>e({orientation:m.orientation})),v=r(()=>m.dir??g.dir.value);return t(p(m,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`,`disabled`])),(e,t)=>(s(),i(l(f),o(l(h),{class:_.value,dir:v.value}),{default:u(()=>[c(e.$slots,`default`)]),_:3},16,[`class`,`dir`]))}});export{m as default};
1
+ import{cn as e}from"../../theme/merge.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{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";var 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,16 +1,16 @@
1
1
  import { ButtonGroupProps } from "./types.js";
2
- import * as vue54 from "vue";
3
- import * as _soybeanjs_headless1 from "@soybeanjs/headless";
2
+ import * as vue130 from "vue";
3
+ import * as _soybeanjs_headless44 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/button/button-group.vue.d.ts
6
6
  declare var __VLS_8: {};
7
7
  type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_8) => any;
9
9
  };
10
- declare const __VLS_base: vue54.DefineComponent<ButtonGroupProps, {}, {}, {}, {}, vue54.ComponentOptionsMixin, vue54.ComponentOptionsMixin, {}, string, vue54.PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
11
- dir: _soybeanjs_headless1.Direction;
12
- orientation: _soybeanjs_headless1.DataOrientation;
13
- }, {}, {}, {}, string, vue54.ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_base: vue130.DefineComponent<ButtonGroupProps, {}, {}, {}, {}, vue130.ComponentOptionsMixin, vue130.ComponentOptionsMixin, {}, string, vue130.PublicProps, Readonly<ButtonGroupProps> & Readonly<{}>, {
11
+ dir: _soybeanjs_headless44.Direction;
12
+ orientation: _soybeanjs_headless44.DataOrientation;
13
+ }, {}, {}, {}, string, vue130.ComponentProvideOptions, false, {}, any>;
14
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
15
  declare const _default: typeof __VLS_export;
16
16
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import e from"./button.js";import t from"../icon/icon.js";import{createBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";var f=i({name:`SButtonIcon`,__name:`button-icon`,props:{icon:{},iconProps:{},color:{default:`accent`},size:{},variant:{default:`ghost`},shape:{default:`square`},shadow:{},fitContent:{type:Boolean,default:!0},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let f=d(i,[`icon`,`iconProps`]);return(d,p)=>(c(),n(e,s(a(l(f))),{default:u(()=>[r(t,o({icon:i.icon},i.iconProps),null,16,[`icon`])]),_:1},16))}});export{f as default};
1
+ import e from"./button.js";import t from"../icon/icon.js";import{createBlock as n,createVNode as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,unref as l,withCtx as u}from"vue";import{useOmitProps as d}from"@soybeanjs/headless/composables";var f=i({name:`SButtonIcon`,__name:`button-icon`,props:{icon:{},iconProps:{},class:{},color:{default:`accent`},size:{},variant:{default:`ghost`},shape:{default:`square`},shadow:{},fitContent:{type:Boolean,default:!0},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let f=d(i,[`icon`,`iconProps`]);return(d,p)=>(c(),n(e,s(a(l(f))),{default:u(()=>[r(t,o({icon:i.icon},i.iconProps),null,16,[`icon`])]),_:1},16))}});export{f as default};
@@ -2,15 +2,15 @@ import { ThemeColor } from "../../theme/types.js";
2
2
  import { ButtonShape, ButtonVariant } from "../../variants/button.js";
3
3
  import { ButtonIconProps } from "./types.js";
4
4
  import "../../index.js";
5
- import * as vue49 from "vue";
5
+ import * as vue125 from "vue";
6
6
 
7
7
  //#region src/components/button/button-icon.vue.d.ts
8
- declare const __VLS_export: vue49.DefineComponent<ButtonIconProps, {}, {}, {}, {}, vue49.ComponentOptionsMixin, vue49.ComponentOptionsMixin, {}, string, vue49.PublicProps, Readonly<ButtonIconProps> & Readonly<{}>, {
8
+ declare const __VLS_export: vue125.DefineComponent<ButtonIconProps, {}, {}, {}, {}, vue125.ComponentOptionsMixin, vue125.ComponentOptionsMixin, {}, string, vue125.PublicProps, Readonly<ButtonIconProps> & Readonly<{}>, {
9
9
  color: ThemeColor;
10
10
  variant: ButtonVariant;
11
11
  shape: ButtonShape;
12
12
  fitContent: boolean;
13
- }, {}, {}, {}, string, vue49.ComponentProvideOptions, false, {}, any>;
13
+ }, {}, {}, {}, string, vue125.ComponentProvideOptions, false, {}, any>;
14
14
  declare const _default: typeof __VLS_export;
15
15
  //#endregion
16
16
  export { _default };
@@ -1 +1 @@
1
- import e from"./button.js";import t from"../link/link.js";import{createBlock as n,createVNode 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,usePickProps as p}from"@soybeanjs/headless/composables";var m=i({name:`SButtonLink`,__name:`button-link`,props:{color:{},size:{},variant:{default:`link`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean,default:void 0},asChild:{type:Boolean},as:{},to:{},href:{},inactiveClass:{},external:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetchedClass:{},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},custom:{type:Boolean},activeClass:{},exactActiveClass:{},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},replace:{type:Boolean,default:void 0}},setup(i){let m=i,h=p(m,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`]),g=f(m,[`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`]);return(i,f)=>(c(),n(e,o(u(h),{"as-child":``}),{default:d(()=>[r(t,s(a(u(g))),{default:d(e=>[l(i.$slots,`default`,s(a(e)))]),_:3},16)]),_:3},16))}});export{m as default};
1
+ import e from"./button.js";import t from"../link/link.js";import{createBlock as n,createVNode 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,usePickProps as p}from"@soybeanjs/headless/composables";var m=i({name:`SButtonLink`,__name:`button-link`,props:{class:{},color:{},size:{},variant:{default:`link`},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean,default:void 0},asChild:{type:Boolean},as:{},to:{},href:{},inactiveClass:{},external:{type:Boolean,default:void 0},target:{},rel:{},noRel:{type:Boolean,default:void 0},prefetchedClass:{},prefetch:{type:Boolean,default:void 0},prefetchOn:{},noPrefetch:{type:Boolean,default:void 0},trailingSlash:{},custom:{type:Boolean},activeClass:{},exactActiveClass:{},ariaCurrentValue:{},viewTransition:{type:Boolean,default:void 0},replace:{type:Boolean,default:void 0}},setup(i){let m=i,h=[`class`,`color`,`size`,`variant`,`shape`,`shadow`,`fitContent`],g=p(m,[...h]),_=f(m,[...h]);return(i,f)=>(c(),n(e,o(u(g),{"as-child":``}),{default:d(()=>[r(t,s(a(u(_))),{default:d(e=>[l(i.$slots,`default`,s(a(e)))]),_:3},16)]),_:3},16))}});export{m as default};
@@ -1,6 +1,6 @@
1
1
  import { ButtonVariant } from "../../variants/button.js";
2
2
  import { ButtonLinkProps } from "./types.js";
3
- import * as vue59 from "vue";
3
+ import * as vue120 from "vue";
4
4
 
5
5
  //#region src/components/button/button-link.vue.d.ts
6
6
  declare var __VLS_14: {
@@ -9,16 +9,16 @@ declare var __VLS_14: {
9
9
  type __VLS_Slots = {} & {
10
10
  default?: (props: typeof __VLS_14) => any;
11
11
  };
12
- declare const __VLS_base: vue59.DefineComponent<ButtonLinkProps, {}, {}, {}, {}, vue59.ComponentOptionsMixin, vue59.ComponentOptionsMixin, {}, string, vue59.PublicProps, Readonly<ButtonLinkProps> & Readonly<{}>, {
12
+ declare const __VLS_base: vue120.DefineComponent<ButtonLinkProps, {}, {}, {}, {}, vue120.ComponentOptionsMixin, vue120.ComponentOptionsMixin, {}, string, vue120.PublicProps, Readonly<ButtonLinkProps> & Readonly<{}>, {
13
13
  disabled: boolean;
14
- replace: boolean;
15
14
  variant: ButtonVariant;
15
+ replace: boolean;
16
16
  viewTransition: boolean;
17
17
  external: boolean;
18
18
  noRel: boolean;
19
19
  prefetch: boolean;
20
20
  noPrefetch: boolean;
21
- }, {}, {}, {}, string, vue59.ComponentProvideOptions, false, {}, any>;
21
+ }, {}, {}, {}, string, vue120.ComponentProvideOptions, false, {}, any>;
22
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
23
  declare const _default: typeof __VLS_export;
24
24
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import e from"./button.js";import t from"../icon/icon.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,openBlock as u,ref as d,renderSlot as f,toDisplayString as p,unref as m,useAttrs as h,watchEffect as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";const y={key:0,style:{display:`contents`}},b={style:{position:`absolute`,inset:`0`,"justify-content":`center`,"align-items":`center`,display:`flex`,gap:`0.25rem`,"z-index":`1`}},x={key:0},S={style:{visibility:`hidden`,display:`contents`}};var C=c({name:`SButtonLoading`,inheritAttrs:!1,__name:`button-loading`,props:{loading:{type:Boolean},loadingText:{},loadingDuration:{},autoLoading:{type:Boolean},loadingIcon:{default:`svg-spinners:270-ring`},loadingIconProps:{},loadingPosition:{default:`start`},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(c){let C=c,w=h(),T=d(!1),E=n(()=>C.disabled||T.value),D=async e=>{C.autoLoading&&(T.value=!0);try{(Array.isArray(w.onClick)?w.onClick:[w.onClick]).forEach(t=>t?.(e))}finally{C.autoLoading&&(C.loadingDuration&&await new Promise(e=>{setTimeout(e,C.loadingDuration)}),T.value=!1)}},O=v(C,[`loading`,`loadingText`,`loadingDuration`,`autoLoading`,`loadingIcon`,`loadingIconProps`,`loadingPosition`],w,{onClick:D});return g(()=>{T.value=C.loading}),(n,d)=>(u(),r(e,l(m(O),{disabled:E.value,style:{position:`relative`},onClick:D}),{leading:_(()=>[T.value&&c.loadingPosition===`start`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`leading`,{key:1})]),trailing:_(()=>[T.value&&c.loadingPosition===`end`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`trailing`,{key:1})]),default:_(()=>[T.value&&c.loadingPosition===`center`?(u(),a(`span`,y,[o(`span`,b,[s(t,l({icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`]),c.loadingText?(u(),a(`span`,x,p(c.loadingText),1)):i(`v-if`,!0)]),o(`span`,S,[f(n.$slots,`default`,{loading:T.value})])])):f(n.$slots,`default`,{key:1,loading:T.value})]),_:3},16,[`disabled`]))}});export{C as default};
1
+ import e from"./button.js";import t from"../icon/icon.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createVNode as s,defineComponent as c,mergeProps as l,openBlock as u,ref as d,renderSlot as f,toDisplayString as p,unref as m,useAttrs as h,watchEffect as g,withCtx as _}from"vue";import{useOmitProps as v}from"@soybeanjs/headless/composables";const y={key:0,style:{display:`contents`}},b={style:{position:`absolute`,inset:`0`,"justify-content":`center`,"align-items":`center`,display:`flex`,gap:`0.25rem`,"z-index":`1`}},x={key:0},S={style:{visibility:`hidden`,display:`contents`}};var C=c({name:`SButtonLoading`,inheritAttrs:!1,__name:`button-loading`,props:{loading:{type:Boolean},loadingText:{},loadingDuration:{},autoLoading:{type:Boolean},loadingIcon:{default:`svg-spinners:270-ring`},loadingIconProps:{},loadingPosition:{default:`start`},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(c){let C=c,w=h(),T=d(!1),E=n(()=>C.disabled||T.value),D=async e=>{C.autoLoading&&(T.value=!0);try{(Array.isArray(w.onClick)?w.onClick:[w.onClick]).forEach(t=>t?.(e))}finally{C.autoLoading&&(C.loadingDuration&&await new Promise(e=>{setTimeout(e,C.loadingDuration)}),T.value=!1)}},O=v(C,[`loading`,`loadingText`,`loadingDuration`,`autoLoading`,`loadingIcon`,`loadingIconProps`,`loadingPosition`],w,{onClick:D});return g(()=>{T.value=C.loading}),(n,d)=>(u(),r(e,l(m(O),{disabled:E.value,style:{position:`relative`},onClick:D}),{leading:_(()=>[T.value&&c.loadingPosition===`start`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`leading`,{key:1})]),trailing:_(()=>[T.value&&c.loadingPosition===`end`?(u(),r(t,l({key:0,icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`])):f(n.$slots,`trailing`,{key:1})]),default:_(()=>[T.value&&c.loadingPosition===`center`?(u(),a(`span`,y,[o(`span`,b,[s(t,l({icon:c.loadingIcon},c.loadingIconProps),null,16,[`icon`]),c.loadingText?(u(),a(`span`,x,p(c.loadingText),1)):i(`v-if`,!0)]),o(`span`,S,[f(n.$slots,`default`,{loading:T.value})])])):f(n.$slots,`default`,{key:1,loading:T.value})]),_:3},16,[`disabled`]))}});export{C as default};
@@ -1,5 +1,5 @@
1
1
  import { ButtonLoadingProps } from "./types.js";
2
- import * as vue44 from "vue";
2
+ import * as vue135 from "vue";
3
3
  import { Align } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/button/button-loading.vue.d.ts
@@ -17,10 +17,10 @@ type __VLS_Slots = {} & {
17
17
  } & {
18
18
  trailing?: (props: typeof __VLS_33) => any;
19
19
  };
20
- declare const __VLS_base: vue44.DefineComponent<ButtonLoadingProps, {}, {}, {}, {}, vue44.ComponentOptionsMixin, vue44.ComponentOptionsMixin, {}, string, vue44.PublicProps, Readonly<ButtonLoadingProps> & Readonly<{}>, {
20
+ declare const __VLS_base: vue135.DefineComponent<ButtonLoadingProps, {}, {}, {}, {}, vue135.ComponentOptionsMixin, vue135.ComponentOptionsMixin, {}, string, vue135.PublicProps, Readonly<ButtonLoadingProps> & Readonly<{}>, {
21
21
  loadingIcon: string;
22
22
  loadingPosition: Align;
23
- }, {}, {}, {}, string, vue44.ComponentProvideOptions, false, {}, any>;
23
+ }, {}, {}, {}, string, vue135.ComponentProvideOptions, false, {}, any>;
24
24
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
25
  declare const _default: typeof __VLS_export;
26
26
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.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";var p=a({name:`SButton`,__name:`button`,props:{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,[`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{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";var 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,5 +1,5 @@
1
1
  import { ButtonProps } from "./types.js";
2
- import * as vue39 from "vue";
2
+ import * as vue140 from "vue";
3
3
 
4
4
  //#region src/components/button/button.vue.d.ts
5
5
  declare var __VLS_10: {}, __VLS_12: {}, __VLS_14: {};
@@ -10,11 +10,11 @@ type __VLS_Slots = {} & {
10
10
  } & {
11
11
  trailing?: (props: typeof __VLS_14) => any;
12
12
  };
13
- declare const __VLS_base: vue39.DefineComponent<ButtonProps, {}, {}, {}, {}, vue39.ComponentOptionsMixin, vue39.ComponentOptionsMixin, {
13
+ declare const __VLS_base: vue140.DefineComponent<ButtonProps, {}, {}, {}, {}, vue140.ComponentOptionsMixin, vue140.ComponentOptionsMixin, {
14
14
  click: (event: MouseEvent) => any;
15
- }, string, vue39.PublicProps, Readonly<ButtonProps> & Readonly<{
15
+ }, string, vue140.PublicProps, Readonly<ButtonProps> & Readonly<{
16
16
  onClick?: ((event: MouseEvent) => any) | undefined;
17
- }>, {}, {}, {}, {}, string, vue39.ComponentProvideOptions, false, {}, any>;
17
+ }>, {}, {}, {}, {}, string, vue140.ComponentProvideOptions, false, {}, any>;
18
18
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
19
  declare const _default: typeof __VLS_export;
20
20
  type __VLS_WithSlots<T, S> = T & {
@@ -2,11 +2,12 @@ import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { IconProps } from "../icon/types.js";
4
4
  import { ButtonShadow, ButtonShape, ButtonVariant } from "../../variants/button.js";
5
- import { LinkProps } from "../link/types.js";
6
- import { Align, ButtonEmits, ButtonProps, DataOrientation, Direction, PropsToContext } from "@soybeanjs/headless";
5
+ import { LinkProps as LinkProps$1 } from "../link/types.js";
6
+ import { Align, ButtonEmits, ButtonProps, ClassValue, DataOrientation, Direction, PropsToContext } from "@soybeanjs/headless";
7
7
 
8
8
  //#region src/components/button/types.d.ts
9
9
  interface ButtonProps$1 extends ButtonProps {
10
+ class?: ClassValue;
10
11
  color?: ThemeColor;
11
12
  size?: ThemeSize;
12
13
  variant?: ButtonVariant;
@@ -61,7 +62,7 @@ interface ButtonLoadingProps extends ButtonProps$1 {
61
62
  */
62
63
  loadingPosition?: Align;
63
64
  }
64
- type ButtonLinkProps = ButtonProps$1 & LinkProps;
65
+ type ButtonLinkProps = ButtonProps$1 & LinkProps$1;
65
66
  interface ButtonGroupProps extends ButtonProps$1 {
66
67
  /**
67
68
  * The orientation of the button group.