@soybeanjs/ui 0.15.0-beta.2 → 0.15.0-beta.4

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 (227) hide show
  1. package/dist/components/accordion/accordion.js +1 -1
  2. package/dist/components/accordion/variants.js +1 -1
  3. package/dist/components/affix/affix.js +1 -1
  4. package/dist/components/affix/affix.vue.d.ts +4 -2
  5. package/dist/components/affix/index.d.ts +1 -3
  6. package/dist/components/affix/types.d.ts +4 -5
  7. package/dist/components/alert/alert.js +1 -1
  8. package/dist/components/alert/alert.vue.d.ts +2 -15
  9. package/dist/components/alert/index.d.ts +1 -1
  10. package/dist/components/alert/types.d.ts +7 -15
  11. package/dist/components/anchor/anchor.js +1 -1
  12. package/dist/components/anchor/anchor.vue.d.ts +1 -1
  13. package/dist/components/anchor/index.d.ts +3 -3
  14. package/dist/components/anchor/types.d.ts +7 -24
  15. package/dist/components/autocomplete/autocomplete.js +1 -1
  16. package/dist/components/autocomplete/autocomplete.vue.d.ts +4 -26
  17. package/dist/components/autocomplete/index.d.ts +1 -1
  18. package/dist/components/autocomplete/types.d.ts +7 -85
  19. package/dist/components/autocomplete/variants.js +1 -1
  20. package/dist/components/backtop/backtop.js +1 -0
  21. package/dist/components/backtop/backtop.vue.d.ts +34 -0
  22. package/dist/components/backtop/index.d.ts +4 -0
  23. package/dist/components/backtop/index.js +1 -0
  24. package/dist/components/backtop/types.d.ts +33 -0
  25. package/dist/components/backtop/variants.js +1 -0
  26. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  27. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -33
  28. package/dist/components/breadcrumb/index.d.ts +1 -1
  29. package/dist/components/breadcrumb/types.d.ts +6 -38
  30. package/dist/components/breadcrumb/variants.js +1 -1
  31. package/dist/components/button/button-group.js +1 -1
  32. package/dist/components/button/button-icon.js +1 -1
  33. package/dist/components/button/button-loading.js +1 -1
  34. package/dist/components/button/button.js +1 -1
  35. package/dist/components/button/index.js +1 -1
  36. package/dist/components/button/variants.d.ts +1 -1
  37. package/dist/components/button/variants.js +1 -1
  38. package/dist/components/carousel/types.d.ts +1 -1
  39. package/dist/components/carousel/variants.js +1 -1
  40. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  41. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +4 -5
  42. package/dist/components/checkbox/checkbox-card.js +1 -1
  43. package/dist/components/checkbox/checkbox-card.vue.d.ts +3 -5
  44. package/dist/components/checkbox/checkbox-group.js +1 -1
  45. package/dist/components/checkbox/checkbox-group.vue.d.ts +4 -5
  46. package/dist/components/checkbox/checkbox.js +1 -1
  47. package/dist/components/checkbox/checkbox.vue.d.ts +2 -11
  48. package/dist/components/checkbox/index.d.ts +2 -4
  49. package/dist/components/checkbox/index.js +1 -1
  50. package/dist/components/checkbox/types.d.ts +31 -31
  51. package/dist/components/checkbox/variants.d.ts +3 -0
  52. package/dist/components/checkbox/variants.js +1 -1
  53. package/dist/components/clipboard/clipboard.js +1 -0
  54. package/dist/components/clipboard/clipboard.vue.d.ts +55 -0
  55. package/dist/components/clipboard/index.d.ts +3 -0
  56. package/dist/components/clipboard/index.js +1 -0
  57. package/dist/components/clipboard/types.d.ts +16 -0
  58. package/dist/components/clipboard/variants.d.ts +1 -0
  59. package/dist/components/color-area/color-area.vue.d.ts +2 -2
  60. package/dist/components/color-area/variants.js +1 -1
  61. package/dist/components/color-field/variants.js +1 -1
  62. package/dist/components/color-picker/color-picker.vue.d.ts +6 -6
  63. package/dist/components/color-slider/color-slider.vue.d.ts +2 -2
  64. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  65. package/dist/components/combobox/combobox.js +1 -1
  66. package/dist/components/combobox/combobox.vue.d.ts +5 -48
  67. package/dist/components/combobox/index.d.ts +3 -3
  68. package/dist/components/combobox/types.d.ts +6 -60
  69. package/dist/components/combobox/variants.js +1 -1
  70. package/dist/components/command/command.js +1 -1
  71. package/dist/components/command/command.vue.d.ts +3 -23
  72. package/dist/components/command/index.d.ts +4 -2
  73. package/dist/components/command/types.d.ts +8 -90
  74. package/dist/components/config-provider/config-provider.js +1 -1
  75. package/dist/components/config-provider/config-provider.vue.d.ts +2 -2
  76. package/dist/components/config-provider/types.d.ts +3 -2
  77. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  78. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +2 -2
  79. package/dist/components/context-menu/context-menu-radio.js +1 -1
  80. package/dist/components/context-menu/context-menu-radio.vue.d.ts +2 -2
  81. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  82. package/dist/components/context-menu/context-menu.js +1 -1
  83. package/dist/components/dialog/dialog-provider.js +1 -0
  84. package/dist/components/dialog/dialog-provider.vue.d.ts +7 -0
  85. package/dist/components/dialog/dialog.js +1 -1
  86. package/dist/components/dialog/dialog.vue.d.ts +9 -29
  87. package/dist/components/dialog/index.d.ts +4 -5
  88. package/dist/components/dialog/index.js +1 -1
  89. package/dist/components/dialog/types.d.ts +7 -34
  90. package/dist/components/dialog/variants.js +1 -1
  91. package/dist/components/drawer/drawer.js +1 -1
  92. package/dist/components/drawer/drawer.vue.d.ts +9 -29
  93. package/dist/components/drawer/index.d.ts +2 -3
  94. package/dist/components/drawer/index.js +1 -1
  95. package/dist/components/drawer/types.d.ts +4 -6
  96. package/dist/components/drawer/variants.js +1 -1
  97. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  98. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +2 -2
  99. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  100. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +2 -2
  101. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  102. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  103. package/dist/components/editable/variants.js +1 -1
  104. package/dist/components/empty/variants.js +1 -1
  105. package/dist/components/input/variants.js +1 -1
  106. package/dist/components/input-otp/index.d.ts +4 -0
  107. package/dist/components/input-otp/index.js +1 -0
  108. package/dist/components/input-otp/input-otp.js +1 -0
  109. package/dist/components/input-otp/input-otp.vue.d.ts +37 -0
  110. package/dist/components/input-otp/types.d.ts +16 -0
  111. package/dist/components/input-otp/variants.js +1 -0
  112. package/dist/components/kbd/types.d.ts +2 -2
  113. package/dist/components/layout/layout.js +1 -1
  114. package/dist/components/layout/variants.js +1 -1
  115. package/dist/components/menu/variants.js +1 -1
  116. package/dist/components/menubar/menubar.vue.d.ts +2 -2
  117. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +2 -2
  118. package/dist/components/navigation-menu/variants.js +1 -1
  119. package/dist/components/page-tabs/page-tabs.vue.d.ts +1 -1
  120. package/dist/components/pagination/variants.js +1 -1
  121. package/dist/components/popconfirm/popconfirm.js +1 -1
  122. package/dist/components/popconfirm/popconfirm.vue.d.ts +2 -2
  123. package/dist/components/popover/popover.js +1 -1
  124. package/dist/components/progress/index.d.ts +4 -6
  125. package/dist/components/progress/index.js +1 -1
  126. package/dist/components/progress/progress-circle.js +1 -1
  127. package/dist/components/progress/progress-provider.js +1 -0
  128. package/dist/components/progress/progress-provider.vue.d.ts +8 -0
  129. package/dist/components/progress/progress.js +1 -1
  130. package/dist/components/progress/types.d.ts +3 -23
  131. package/dist/components/progress/variants.js +1 -1
  132. package/dist/components/radio-group/index.d.ts +3 -3
  133. package/dist/components/radio-group/index.js +1 -1
  134. package/dist/components/radio-group/radio-group.js +1 -1
  135. package/dist/components/radio-group/types.d.ts +5 -14
  136. package/dist/components/radio-group/variants.js +1 -1
  137. package/dist/components/segment/index.d.ts +2 -1
  138. package/dist/components/segment/segment.js +1 -1
  139. package/dist/components/segment/segment.vue.d.ts +6 -11
  140. package/dist/components/segment/types.d.ts +6 -16
  141. package/dist/components/select/index.d.ts +1 -1
  142. package/dist/components/select/select.js +1 -1
  143. package/dist/components/select/select.vue.d.ts +4 -30
  144. package/dist/components/select/types.d.ts +6 -74
  145. package/dist/components/select/variants.js +1 -1
  146. package/dist/components/slider/variants.js +1 -1
  147. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  148. package/dist/components/splitter/variants.js +1 -1
  149. package/dist/components/stepper/variants.js +1 -1
  150. package/dist/components/switch/variants.js +1 -1
  151. package/dist/components/table/hooks.js +1 -1
  152. package/dist/components/table/variants.js +1 -1
  153. package/dist/components/tabs/index.d.ts +3 -3
  154. package/dist/components/tabs/tabs.js +1 -1
  155. package/dist/components/tabs/tabs.vue.d.ts +6 -15
  156. package/dist/components/tabs/types.d.ts +8 -18
  157. package/dist/components/tabs/variants.js +1 -1
  158. package/dist/components/tags-input/variants.js +1 -1
  159. package/dist/components/textarea/variants.js +1 -1
  160. package/dist/components/toast/styles.js +0 -4
  161. package/dist/components/toast/toaster.js +1 -1
  162. package/dist/components/toast/toaster.vue.d.ts +0 -1
  163. package/dist/components/toast/variants.js +1 -1
  164. package/dist/components/toggle/variants.js +1 -1
  165. package/dist/components/toggle-group/toggle-group.js +1 -1
  166. package/dist/components/toggle-group/variants.js +1 -1
  167. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  168. package/dist/constants/components.d.ts +3 -2
  169. package/dist/constants/components.js +1 -1
  170. package/dist/index.d.ts +134 -139
  171. package/dist/index.js +1 -1
  172. package/dist/styles.css +49 -32
  173. package/dist/theme/shared.js +1 -1
  174. package/package.json +15 -12
  175. package/dist/components/alert-dialog/alert-dialog-cancel.js +0 -1
  176. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +0 -25
  177. package/dist/components/alert-dialog/alert-dialog-confirm.js +0 -1
  178. package/dist/components/alert-dialog/alert-dialog-confirm.vue.d.ts +0 -22
  179. package/dist/components/alert-dialog/alert-dialog.js +0 -1
  180. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +0 -45
  181. package/dist/components/alert-dialog/context.d.ts +0 -5
  182. package/dist/components/alert-dialog/context.js +0 -1
  183. package/dist/components/alert-dialog/dialog-provider.js +0 -1
  184. package/dist/components/alert-dialog/index.d.ts +0 -7
  185. package/dist/components/alert-dialog/index.js +0 -1
  186. package/dist/components/alert-dialog/types.d.ts +0 -103
  187. package/dist/components/anchor/anchor-item.js +0 -1
  188. package/dist/components/anchor/context.js +0 -1
  189. package/dist/components/autocomplete/autocomplete-group-option.js +0 -1
  190. package/dist/components/autocomplete/autocomplete-option.js +0 -1
  191. package/dist/components/autocomplete/autocomplete-single-option.js +0 -1
  192. package/dist/components/autocomplete/context.js +0 -1
  193. package/dist/components/autocomplete/shared.js +0 -1
  194. package/dist/components/bottom-sheet/bottom-sheet-close.js +0 -1
  195. package/dist/components/bottom-sheet/bottom-sheet-close.vue.d.ts +0 -18
  196. package/dist/components/bottom-sheet/bottom-sheet.js +0 -1
  197. package/dist/components/bottom-sheet/bottom-sheet.vue.d.ts +0 -72
  198. package/dist/components/bottom-sheet/index.d.ts +0 -3
  199. package/dist/components/bottom-sheet/index.js +0 -1
  200. package/dist/components/bottom-sheet/types.d.ts +0 -31
  201. package/dist/components/bottom-sheet/variants.js +0 -1
  202. package/dist/components/breadcrumb/shared.js +0 -1
  203. package/dist/components/combobox/combobox-group-option.js +0 -1
  204. package/dist/components/combobox/combobox-option.js +0 -1
  205. package/dist/components/combobox/combobox-single-option.js +0 -1
  206. package/dist/components/combobox/shared.js +0 -1
  207. package/dist/components/command/command-group-option.js +0 -1
  208. package/dist/components/command/command-option.js +0 -1
  209. package/dist/components/command/command-single-option.js +0 -1
  210. package/dist/components/command/context.js +0 -1
  211. package/dist/components/command/shared.js +0 -1
  212. package/dist/components/dialog/dialog-close.js +0 -1
  213. package/dist/components/dialog/dialog-close.vue.d.ts +0 -18
  214. package/dist/components/dialog/dialog-pure.js +0 -1
  215. package/dist/components/dialog/dialog-pure.vue.d.ts +0 -47
  216. package/dist/components/drawer/drawer-close.js +0 -1
  217. package/dist/components/drawer/drawer-close.vue.d.ts +0 -18
  218. package/dist/components/progress/context.d.ts +0 -5
  219. package/dist/components/progress/context.js +0 -1
  220. package/dist/components/progress/loading-bar.js +0 -1
  221. package/dist/components/progress/loading-bar.vue.d.ts +0 -25
  222. package/dist/components/progress/shared.d.ts +0 -7
  223. package/dist/components/progress/shared.js +0 -1
  224. package/dist/components/select/select-group-option.js +0 -1
  225. package/dist/components/select/select-option.js +0 -1
  226. package/dist/components/select/select-single-option.js +0 -1
  227. package/dist/components/select/shared.js +0 -1
@@ -1,49 +1,17 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { IconValue } from "../icon/types.js";
3
- import { BreadcrumbEllipsisProps, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbRootProps, BreadcrumbSeparatorProps, BreadcrumbUi, ClassValue, LinkBaseProps } from "@soybeanjs/headless";
2
+ import { ClassValue } from "@soybeanjs/headless";
3
+ import { BreadcrumbCompactEmits, BreadcrumbCompactProps, BreadcrumbCompactSlots, BreadcrumbOptionData, BreadcrumbOptionData as BreadcrumbOptionData$1, BreadcrumbUi } from "@soybeanjs/headless/breadcrumb";
4
4
 
5
5
  //#region src/components/breadcrumb/types.d.ts
6
- interface BreadcrumbOptionData extends LinkBaseProps {
7
- /** The value of the option. */
8
- value?: string;
9
- /** The label to display in the option. */
10
- label: string;
11
- /**
12
- * The icon of the option.
13
- *
14
- * if it is a string, it will be used as the icon name of the iconify.
15
- */
16
- icon?: IconValue;
17
- /** Whether the option is disabled. */
18
- disabled?: boolean;
19
- }
20
- interface BreadcrumbProps<T extends BreadcrumbOptionData = BreadcrumbOptionData> extends Omit<BreadcrumbRootProps, 'onClick'> {
6
+ interface BreadcrumbProps<T extends BreadcrumbOptionData = BreadcrumbOptionData> extends BreadcrumbCompactProps<T> {
21
7
  /**
22
8
  * root class
23
9
  */
24
10
  class?: ClassValue;
25
11
  size?: ThemeSize;
26
12
  ui?: Partial<BreadcrumbUi>;
27
- items: T[];
28
- /**
29
- * the range of items to show ellipsis
30
- *
31
- * when the item count is greater than 4, we will show ellipsis
32
- *
33
- * start: the start index of the ellipsis
34
- *
35
- * end: the end index of the ellipsis.
36
- */
37
- ellipsis?: true | [number, number] | null;
38
- listProps?: BreadcrumbListProps;
39
- itemProps?: BreadcrumbItemProps;
40
- linkProps?: BreadcrumbLinkProps;
41
- pageProps?: BreadcrumbPageProps;
42
- separatorProps?: BreadcrumbSeparatorProps;
43
- ellipsisProps?: BreadcrumbEllipsisProps;
44
13
  }
45
- type BreadcrumbEmits<T extends BreadcrumbOptionData> = {
46
- (e: 'click', item: T): void;
47
- };
14
+ type BreadcrumbEmits<T extends BreadcrumbOptionData = BreadcrumbOptionData> = BreadcrumbCompactEmits<T>;
15
+ type BreadcrumbSlots<T extends BreadcrumbOptionData = BreadcrumbOptionData> = BreadcrumbCompactSlots<T>;
48
16
  //#endregion
49
- export { BreadcrumbEmits, BreadcrumbOptionData, BreadcrumbProps };
17
+ export { BreadcrumbEmits, type BreadcrumbOptionData$1 as BreadcrumbOptionData, BreadcrumbProps, BreadcrumbSlots };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:``,list:`flex flex-wrap items-center my-0 px-0 break-words text-muted-foreground`,item:`inline-flex items-center list-none`,page:`font-normal text-foreground`,separator:`text-muted-foreground flex-shrink-0 list-none`,ellipsis:`flex items-center justify-center`,link:`decoration-none hover:text-foreground transition-colors-200 rounded-sm focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-primary/30`},variants:{size:{xs:{root:`text-2xs`,list:`gap-2`,item:`gap-1.5`},sm:{root:`text-xs`,list:`gap-2.5`,item:`gap-1.75`},md:{root:`text-sm`,list:`gap-3`,item:`gap-2`},lg:{root:`text-base`,list:`gap-3.5`,item:`gap-2.5`},xl:{root:`text-lg`,list:`gap-4`,item:`gap-3`},"2xl":{root:`text-xl`,list:`gap-4.5`,item:`gap-3.5`}}},defaultVariants:{size:`md`}});export{t as breadcrumbVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:``,list:`flex flex-wrap items-center my-0 px-0 break-words text-muted-foreground`,item:`inline-flex items-center list-none`,page:`font-normal text-foreground`,separator:`text-muted-foreground flex-shrink-0 list-none`,ellipsis:`flex items-center justify-center`,link:`decoration-none hover:text-foreground transition-colors-200 rounded-sm outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-primary/30`},variants:{size:{xs:{root:`text-2xs`,list:`gap-2`,item:`gap-1.5`},sm:{root:`text-xs`,list:`gap-2.5`,item:`gap-1.75`},md:{root:`text-sm`,list:`gap-3`,item:`gap-2`},lg:{root:`text-base`,list:`gap-3.5`,item:`gap-2.5`},xl:{root:`text-lg`,list:`gap-4`,item:`gap-3`},"2xl":{root:`text-xl`,list:`gap-4.5`,item:`gap-3.5`}}},defaultVariants:{size:`md`}});export{t as breadcrumbVariants};
@@ -1 +1 @@
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},type:{},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
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonGroupVariants as t}from"./variants.js";import{useConfigProvider as n}from"../config-provider/context.js";import"../config-provider/index.js";import{provideButtonGroupContext as r}from"./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";const h=o({name:`SButtonGroup`,__name:`button-group`,props:{orientation:{default:`horizontal`},dir:{default:`ltr`},class:{},color:{},size:{},variant:{},shape:{},shadow:{},fitContent:{type:Boolean},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(o){let h=o,g=f(h,[`class`,`orientation`,`color`,`size`,`variant`,`shape`,`shadow`,`disabled`]),_=n(`ButtonGroup`),v=i(()=>e(t({orientation:h.orientation}),h.class)),y=i(()=>h.dir??_.dir.value);return r(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 +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";const f=i({name:`SButtonIcon`,__name:`button-icon`,props:{icon:{},iconClass:{},iconProps:{},class:{},color:{default:`accent`},size:{},variant:{default:`ghost`},shape:{default:`square`},shadow:{},fitContent:{type:Boolean,default:!0},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let f=d(i,[`icon`,`iconClass`,`iconProps`]);return(d,p)=>(c(),n(e,s(a(l(f))),{default:u(()=>[r(t,o(i.iconProps,{icon:i.icon,class:i.iconClass}),null,16,[`icon`,`class`])]),_:1},16))}});export{f as default};
1
+ import e from"../icon/icon.js";import t from"./button.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";const f=i({name:`SButtonIcon`,__name:`button-icon`,props:{icon:{},iconClass:{},iconProps:{},class:{},color:{default:`accent`},size:{},variant:{default:`ghost`},shape:{default:`square`},shadow:{},fitContent:{type:Boolean,default:!0},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let f=d(i,[`icon`,`iconClass`,`iconProps`]);return(d,p)=>(c(),n(t,s(a(l(f))),{default:u(()=>[r(e,o(i.iconProps,{icon:i.icon,class:i.iconClass}),null,16,[`icon`,`class`])]),_:1},16))}});export{f as default};
@@ -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`}},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},type:{},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"../icon/icon.js";import t from"./button.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`}},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},type:{},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(t,l(m(O),{disabled:E.value,style:{position:`relative`},onClick:D}),{leading:_(()=>[T.value&&c.loadingPosition===`start`?(u(),r(e,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(e,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(e,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 +1 @@
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},type:{},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
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonVariants as t}from"./variants.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},type:{},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 +1 @@
1
- import"./button.js";import"./button-icon.js";import"./button-loading.js";import"./button-link.js";import"./button-group.js";
1
+ import"./button.js";import"./button-loading.js";import"./button-icon.js";import"./button-link.js";import"./button-group.js";
@@ -143,4 +143,4 @@ type ButtonVariant = NonNullable<ButtonVariants['variant']>;
143
143
  type ButtonShape = NonNullable<ButtonVariants['shape']>;
144
144
  type ButtonShadow = NonNullable<ButtonVariants['shadow']>;
145
145
  //#endregion
146
- export { ButtonShadow, ButtonShape, ButtonVariant };
146
+ export { ButtonShadow, ButtonShape, ButtonVariant, buttonVariants };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({base:[`inline-flex items-center justify-center font-medium transition-all-150`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],variants:{color:{primary:`focus-visible:ring-primary/30`,destructive:`focus-visible:ring-destructive/30`,success:`focus-visible:ring-success/30`,warning:`focus-visible:ring-warning/30`,info:`focus-visible:ring-info/30`,carbon:`focus-visible:ring-carbon/30`,secondary:`focus-visible:ring-secondary-foreground/20`,accent:`focus-visible:ring-accent-foreground/20`},variant:{solid:`bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary-600`,pure:`border border-border bg-background text-accent-foreground hover:bg-accent/60 active:bg-accent`,plain:`border border-border bg-background text-foreground`,outline:`border bg-background`,dashed:`border border-dashed bg-background`,soft:`bg-primary/10 hover:bg-primary/10 active:bg-primary/20`,ghost:`bg-transparent`,link:`bg-transparent underline-offset-4 hover:underline`},size:{xs:`gap-1 text-2xs`,sm:`gap-2 text-xs`,md:`gap-3 text-sm`,lg:`gap-4 text-base`,xl:`gap-5 text-lg`,"2xl":`gap-6 text-xl`},shape:{auto:`rounded-md`,rounded:`rounded-full`,square:`h-8 w-8 p-0 gap-0 rounded-md`,circle:`h-8 w-8 p-0 gap-0 rounded-full`},shadow:{none:`shadow-none`,sm:`shadow-sm`,md:`shadow-md`,lg:`shadow-lg`},fitContent:{true:`w-fit h-fit`,false:``}},compoundVariants:[{color:`destructive`,variant:`solid`,class:`bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive-600`},{color:`success`,variant:`solid`,class:`bg-success text-success-foreground hover:bg-success/80 active:bg-success-600`},{color:`warning`,variant:`solid`,class:`bg-warning text-warning-foreground hover:bg-warning/80 active:bg-warning-600`},{color:`info`,variant:`solid`,class:`bg-info text-info-foreground hover:bg-info/80 active:bg-info-600`},{color:`carbon`,variant:`solid`,class:`bg-carbon text-carbon-foreground hover:bg-carbon/80 active:bg-carbon-600`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary-foreground/20`},{color:`accent`,variant:`solid`,class:`bg-accent text-accent-foreground hover:bg-accent/80 active:bg-accent-foreground/20`},{color:`primary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-primary`},{color:`destructive`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-destructive`},{color:`success`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-success`},{color:`warning`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-warning`},{color:`info`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-info`},{color:`carbon`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-carbon`},{color:`secondary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-primary/10 active:bg-primary/20`},{color:`destructive`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{color:`primary`,variant:`plain`,class:`hover:border-primary hover:text-primary`},{color:`destructive`,variant:`plain`,class:`hover:border-destructive hover:text-destructive`},{color:`success`,variant:`plain`,class:`hover:border-success hover:text-success`},{color:`warning`,variant:`plain`,class:`hover:border-warning hover:text-warning`},{color:`info`,variant:`plain`,class:`hover:border-info hover:text-info`},{color:`carbon`,variant:`plain`,class:`hover:border-carbon hover:text-carbon`},{color:`secondary`,variant:`plain`,class:`hover:border-secondary-foreground hover:text-secondary-foreground`},{color:`accent`,variant:`plain`,class:`hover:border-accent-foreground hover:text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`],class:`border-primary`},{color:`destructive`,variant:[`outline`,`dashed`],class:`border-destructive`},{color:`success`,variant:[`outline`,`dashed`],class:`border-success`},{color:`warning`,variant:[`outline`,`dashed`],class:`border-warning`},{color:`info`,variant:[`outline`,`dashed`],class:`border-info`},{color:`carbon`,variant:[`outline`,`dashed`],class:`border-carbon`},{color:`secondary`,variant:[`outline`,`dashed`],class:`border-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`],class:`border-accent-foreground`},{color:`destructive`,variant:`soft`,class:`bg-destructive/10 hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:`soft`,class:`bg-success/10 hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:`soft`,class:`bg-warning/10 hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:`soft`,class:`bg-info/10 hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:`soft`,class:`bg-carbon/10 hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:`soft`,class:`bg-secondary-foreground/10 hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:`soft`,class:`bg-accent-foreground/10 hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{size:`xs`,fitContent:!0,class:`p-0.75`},{size:`sm`,fitContent:!0,class:`p-0.875`},{size:`md`,fitContent:!0,class:`p-1`},{size:`lg`,fitContent:!0,class:`p-1.25`},{size:`xl`,fitContent:!0,class:`p-1.5`},{size:`2xl`,fitContent:!0,class:`p-1.75`},{size:`xs`,fitContent:!1,class:`h-6 px-1.5`},{size:`sm`,fitContent:!1,class:`h-7 px-2`},{size:`md`,fitContent:!1,class:`h-8 px-4`},{size:`lg`,fitContent:!1,class:`h-9 px-6`},{size:`xl`,fitContent:!1,class:`h-10 px-8`},{size:`2xl`,fitContent:!1,class:`h-12 px-10`},{size:`xs`,fitContent:!1,shape:[`square`,`circle`],class:`w-6`},{size:`sm`,fitContent:!1,shape:[`square`,`circle`],class:`w-7`},{size:`lg`,fitContent:!1,shape:[`square`,`circle`],class:`w-9`},{size:`xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-10`},{size:`2xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-12`},{variant:[`ghost`,`link`],shadow:[`sm`,`md`,`lg`],class:`shadow-none`},{variant:`plain`,shadow:`sm`,class:`active:shadow-md`},{variant:`plain`,shadow:`md`,class:`active:shadow-lg`},{variant:`plain`,shadow:`lg`,class:`active:shadow-xl`},{variant:`pure`,shadow:`sm`,class:`active:shadow-sm`},{variant:`pure`,shadow:`md`,class:`active:shadow-md`},{variant:`pure`,shadow:`lg`,class:`active:shadow-lg`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`,shape:`auto`,shadow:`sm`,fitContent:!1}}),n=e({base:`[&>*]:relative focus-visible:[&>*]:z-2 not-first:not-last:[&>*]:rd-0`,variants:{orientation:{horizontal:`inline-flex not-last:[&>*]:border-r-0 focus-visible:[&>*]:border-r first:[&>*]:rd-r-0 last:[&>*]:rd-l-0 rtl:flex-row-reverse`,vertical:`flex flex-col not-last:[&>*]:border-b-0 focus-visible:[&>*]:border-b first:[&>*]:rd-b-0 last:[&>*]:rd-t-0`}},defaultVariants:{orientation:`horizontal`}});export{n as buttonGroupVariants,t as buttonVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({base:[`inline-flex items-center justify-center font-medium transition-all-150`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],variants:{color:{primary:`focus-visible:ring-primary/30`,destructive:`focus-visible:ring-destructive/30`,success:`focus-visible:ring-success/30`,warning:`focus-visible:ring-warning/30`,info:`focus-visible:ring-info/30`,carbon:`focus-visible:ring-carbon/30`,secondary:`focus-visible:ring-secondary-foreground/20`,accent:`focus-visible:ring-accent-foreground/20`},variant:{solid:`bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary-600`,pure:`border border-border bg-background text-accent-foreground hover:bg-accent/60 active:bg-accent`,plain:`border border-border bg-background text-foreground`,outline:`border bg-background`,dashed:`border border-dashed bg-background`,soft:`bg-primary/10 hover:bg-primary/10 active:bg-primary/20`,ghost:`bg-transparent`,link:`bg-transparent underline-offset-4 hover:underline`},size:{xs:`gap-1 text-2xs`,sm:`gap-2 text-xs`,md:`gap-3 text-sm`,lg:`gap-4 text-base`,xl:`gap-5 text-lg`,"2xl":`gap-6 text-xl`},shape:{auto:`rounded-md`,rounded:`rounded-full`,square:`h-8 w-8 p-0 gap-0 rounded-md`,circle:`h-8 w-8 p-0 gap-0 rounded-full`},shadow:{none:`shadow-none`,sm:`shadow-sm`,md:`shadow-md`,lg:`shadow-lg`},fitContent:{true:`w-fit h-fit`,false:``}},compoundVariants:[{color:`destructive`,variant:`solid`,class:`bg-destructive text-destructive-foreground hover:bg-destructive/80 active:bg-destructive-600`},{color:`success`,variant:`solid`,class:`bg-success text-success-foreground hover:bg-success/80 active:bg-success-600`},{color:`warning`,variant:`solid`,class:`bg-warning text-warning-foreground hover:bg-warning/80 active:bg-warning-600`},{color:`info`,variant:`solid`,class:`bg-info text-info-foreground hover:bg-info/80 active:bg-info-600`},{color:`carbon`,variant:`solid`,class:`bg-carbon text-carbon-foreground hover:bg-carbon/80 active:bg-carbon-600`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary-foreground/20`},{color:`accent`,variant:`solid`,class:`bg-accent text-accent-foreground hover:bg-accent/80 active:bg-accent-foreground/20`},{color:`primary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-primary`},{color:`destructive`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-destructive`},{color:`success`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-success`},{color:`warning`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-warning`},{color:`info`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-info`},{color:`carbon`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-carbon`},{color:`secondary`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`,`soft`,`ghost`,`link`],class:`text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-primary/10 active:bg-primary/20`},{color:`destructive`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:[`outline`,`dashed`,`ghost`],class:`hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{color:`primary`,variant:`plain`,class:`hover:border-primary hover:text-primary`},{color:`destructive`,variant:`plain`,class:`hover:border-destructive hover:text-destructive`},{color:`success`,variant:`plain`,class:`hover:border-success hover:text-success`},{color:`warning`,variant:`plain`,class:`hover:border-warning hover:text-warning`},{color:`info`,variant:`plain`,class:`hover:border-info hover:text-info`},{color:`carbon`,variant:`plain`,class:`hover:border-carbon hover:text-carbon`},{color:`secondary`,variant:`plain`,class:`hover:border-secondary-foreground hover:text-secondary-foreground`},{color:`accent`,variant:`plain`,class:`hover:border-accent-foreground hover:text-accent-foreground`},{color:`primary`,variant:[`outline`,`dashed`],class:`border-primary`},{color:`destructive`,variant:[`outline`,`dashed`],class:`border-destructive`},{color:`success`,variant:[`outline`,`dashed`],class:`border-success`},{color:`warning`,variant:[`outline`,`dashed`],class:`border-warning`},{color:`info`,variant:[`outline`,`dashed`],class:`border-info`},{color:`carbon`,variant:[`outline`,`dashed`],class:`border-carbon`},{color:`secondary`,variant:[`outline`,`dashed`],class:`border-secondary-foreground`},{color:`accent`,variant:[`outline`,`dashed`],class:`border-accent-foreground`},{color:`destructive`,variant:`soft`,class:`bg-destructive/10 hover:bg-destructive/10 active:bg-destructive/20`},{color:`success`,variant:`soft`,class:`bg-success/10 hover:bg-success/10 active:bg-success/20`},{color:`warning`,variant:`soft`,class:`bg-warning/10 hover:bg-warning/10 active:bg-warning/20`},{color:`info`,variant:`soft`,class:`bg-info/10 hover:bg-info/10 active:bg-info/20`},{color:`carbon`,variant:`soft`,class:`bg-carbon/10 hover:bg-carbon/10 active:bg-carbon/20`},{color:`secondary`,variant:`soft`,class:`bg-secondary-foreground/10 hover:bg-secondary-foreground/10 active:bg-secondary-foreground/20`},{color:`accent`,variant:`soft`,class:`bg-accent-foreground/10 hover:bg-accent-foreground/10 active:bg-accent-foreground/20`},{size:`xs`,fitContent:!0,class:`p-0.75`},{size:`sm`,fitContent:!0,class:`p-0.875`},{size:`md`,fitContent:!0,class:`p-1`},{size:`lg`,fitContent:!0,class:`p-1.25`},{size:`xl`,fitContent:!0,class:`p-1.5`},{size:`2xl`,fitContent:!0,class:`p-1.75`},{size:`xs`,fitContent:!1,class:`h-6 px-1.5`},{size:`sm`,fitContent:!1,class:`h-7 px-2`},{size:`md`,fitContent:!1,class:`h-8 px-4`},{size:`lg`,fitContent:!1,class:`h-9 px-6`},{size:`xl`,fitContent:!1,class:`h-10 px-8`},{size:`2xl`,fitContent:!1,class:`h-12 px-10`},{size:`xs`,fitContent:!1,shape:[`square`,`circle`],class:`w-6`},{size:`sm`,fitContent:!1,shape:[`square`,`circle`],class:`w-7`},{size:`lg`,fitContent:!1,shape:[`square`,`circle`],class:`w-9`},{size:`xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-10`},{size:`2xl`,fitContent:!1,shape:[`square`,`circle`],class:`w-12`},{variant:[`ghost`,`link`],shadow:[`sm`,`md`,`lg`],class:`shadow-none`},{variant:`plain`,shadow:`sm`,class:`active:shadow-md`},{variant:`plain`,shadow:`md`,class:`active:shadow-lg`},{variant:`plain`,shadow:`lg`,class:`active:shadow-xl`},{variant:`pure`,shadow:`sm`,class:`active:shadow-sm`},{variant:`pure`,shadow:`md`,class:`active:shadow-md`},{variant:`pure`,shadow:`lg`,class:`active:shadow-lg`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`,shape:`auto`,shadow:`sm`,fitContent:!1}}),n=e({base:`[&>*]:relative focus-visible:[&>*]:z-2 not-first:not-last:[&>*]:rd-0`,variants:{orientation:{horizontal:`inline-flex not-last:[&>*]:border-r-0 focus-visible:[&>*]:border-r first:[&>*]:rd-r-0 last:[&>*]:rd-l-0 rtl:flex-row-reverse`,vertical:`flex flex-col not-last:[&>*]:border-b-0 focus-visible:[&>*]:border-b first:[&>*]:rd-b-0 last:[&>*]:rd-t-0`}},defaultVariants:{orientation:`horizontal`}});export{n as buttonGroupVariants,t as buttonVariants};
@@ -1,7 +1,7 @@
1
1
  import { CarouselRootEmits, CarouselRootProps, CarouselUi, ClassValue } from "@soybeanjs/headless";
2
2
 
3
3
  //#region src/components/carousel/types.d.ts
4
- interface CarouselProps extends Omit<CarouselRootProps, 'class'> {
4
+ interface CarouselProps extends CarouselRootProps {
5
5
  class?: ClassValue;
6
6
  ui?: Partial<CarouselUi>;
7
7
  }
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative`,content:`overflow-hidden`,container:`flex -ml-4 rtl:ml-0 rtl:-mr-4`,item:`min-w-0 shrink-0 grow-0 basis-full pl-4 rtl:pl-0 rtl:pr-4`,previous:[`absolute z-1 size-8 inline-flex items-center justify-center rounded-full border bg-background shadow-sm transition-colors`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-ring/50`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`top-1/2 -left-12 -translate-y-1/2 rtl:left-auto rtl:-right-12`],next:[`absolute z-1 size-8 inline-flex items-center justify-center rounded-full border bg-background shadow-sm transition-colors`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-ring/50`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`top-1/2 -right-12 -translate-y-1/2 rtl:right-auto rtl:-left-12`]},variants:{orientation:{horizontal:{},vertical:{container:`-mt-4 h-full flex-col ml-0 rtl:mr-0 rtl:ml-0`,item:`pt-4 pl-0 rtl:pr-0 rtl:pl-0`,previous:`-top-12 left-1/2 right-auto -translate-x-1/2 translate-y-0 rtl:left-1/2 rtl:right-auto`,next:`top-auto -bottom-12 left-1/2 right-auto -translate-x-1/2 translate-y-0 rtl:left-1/2 rtl:right-auto`}}},defaultVariants:{orientation:`horizontal`}});export{t as carouselVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative`,content:`overflow-hidden`,container:`flex -ml-4 rtl:ml-0 rtl:-mr-4`,item:`min-w-0 shrink-0 grow-0 basis-full pl-4 rtl:pl-0 rtl:pr-4`,previous:[`absolute z-1 size-8 inline-flex items-center justify-center rounded-full border bg-background shadow-sm transition-colors`,`outline-none focus-visible:ring-3 focus-visible:ring-ring/50`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`top-1/2 -left-12 -translate-y-1/2 rtl:left-auto rtl:-right-12`],next:[`absolute z-1 size-8 inline-flex items-center justify-center rounded-full border bg-background shadow-sm transition-colors`,`outline-none focus-visible:ring-3 focus-visible:ring-ring/50`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`top-1/2 -right-12 -translate-y-1/2 rtl:right-auto rtl:-left-12`]},variants:{orientation:{horizontal:{},vertical:{container:`-mt-4 h-full flex-col ml-0 rtl:mr-0 rtl:ml-0`,item:`pt-4 pl-0 rtl:pr-0 rtl:pl-0`,previous:`-top-12 left-1/2 right-auto -translate-x-1/2 translate-y-0 rtl:left-1/2 rtl:right-auto`,next:`top-auto -bottom-12 left-1/2 right-auto -translate-x-1/2 translate-y-0 rtl:left-1/2 rtl:right-auto`}}},defaultVariants:{orientation:`horizontal`}});export{t as carouselVariants};
@@ -1 +1 @@
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
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{CheckboxCardGroupCompact as l,provideCheckboxCardUi as u}from"@soybeanjs/headless";const d=i({name:`SCheckboxCardGroup`,__name:`checkbox-card-group`,props:{class:{},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(i,{emit:d}){let f=i,p=d,m=c(f,[`class`,`ui`,`color`,`size`,`shape`]),h=n(()=>e(t({color:f.color,size:f.size,shape:f.shape}),f.ui,{groupRoot:f.class}));return u(h),(e,t)=>(o(),r(s(l),a(s(m),{"content-class":h.value.content,"text-content-class":h.value.textContent,"icon-class":h.value.icon,"description-class":h.value.description,"onUpdate:modelValue":t[0]||=e=>p(`update:modelValue`,e)}),null,16,[`content-class`,`text-content-class`,`icon-class`,`description-class`]))}});export{d as default};
@@ -1,18 +1,17 @@
1
1
  import { CheckboxCardGroupOptionData, CheckboxCardGroupProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { DefinedValue } from "@soybeanjs/headless";
4
3
 
5
4
  //#region src/components/checkbox/checkbox-card-group.vue.d.ts
6
- declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends CheckboxCardGroupOptionData<T> = CheckboxCardGroupOptionData<T>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
- props: _$vue.PublicProps & __VLS_PrettifyLocal<CheckboxCardGroupProps<T, S> & {
8
- "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
5
+ declare const __VLS_export: <T extends CheckboxCardGroupOptionData = CheckboxCardGroupOptionData>(__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: _$vue.PublicProps & __VLS_PrettifyLocal<CheckboxCardGroupProps<T> & {
7
+ "onUpdate:modelValue"?: ((value: T["value"][]) => any) | undefined;
9
8
  }> & (typeof globalThis extends {
10
9
  __VLS_PROPS_FALLBACK: infer P;
11
10
  } ? P : {});
12
11
  expose: (exposed: {}) => void;
13
12
  attrs: any;
14
13
  slots: {};
15
- emit: (evt: "update:modelValue", value: T[]) => void;
14
+ emit: (evt: "update:modelValue", value: T["value"][]) => void;
16
15
  }>) => _$vue.VNode & {
17
16
  __ctx?: Awaited<typeof __VLS_setup>;
18
17
  };
@@ -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.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{checkboxCardVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{useOmitProps as u}from"@soybeanjs/headless/composables";import{CheckboxCardCompact as d,provideCheckboxCardUi as f}from"@soybeanjs/headless";const p=i({name:`SCheckboxCard`,__name:`checkbox-card`,props:{class:{},ui:{},color:{},size:{},shape:{},icon:{},description:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`class`,`ui`,`color`,`size`,`shape`]);return f(n(()=>e(t({color:m.color,size:m.size,shape:m.shape}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{"onUpdate:modelValue":t[0]||=e=>h(`update:modelValue`,e)}),{description:l(()=>[s(e.$slots,`description`)]),default:l(()=>[s(e.$slots,`default`)]),_:3},16))}});export{p as default};
@@ -3,13 +3,11 @@ import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/checkbox/checkbox-card.vue.d.ts
6
- declare var __VLS_21: {
7
- id: string;
8
- }, __VLS_29: {};
6
+ declare var __VLS_11: {}, __VLS_13: {};
9
7
  type __VLS_Slots = {} & {
10
- default?: (props: typeof __VLS_21) => any;
8
+ description?: (props: typeof __VLS_11) => any;
11
9
  } & {
12
- description?: (props: typeof __VLS_29) => any;
10
+ default?: (props: typeof __VLS_13) => any;
13
11
  };
14
12
  declare const __VLS_base: _$vue.DefineComponent<CheckboxCardProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
15
13
  "update:modelValue": (value: _$_soybeanjs_headless0.CheckedState | null) => any;
@@ -1 +1 @@
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
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,unref as s}from"vue";import{useOmitProps as c}from"@soybeanjs/headless/composables";import{CheckboxGroupCompact as l,provideCheckboxUi as u}from"@soybeanjs/headless";const d=i({name:`SCheckboxGroup`,__name:`checkbox-group`,props:{class:{},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(i,{emit:d}){let f=i,p=d,m=c(f,[`class`,`ui`,`color`,`size`,`shape`]);return u(n(()=>e(t({color:f.color,size:f.size,shape:f.shape,orientation:f.orientation}),f.ui,{groupRoot:f.class}))),(e,t)=>(o(),r(s(l),a(s(m),{"onUpdate:modelValue":t[0]||=e=>p(`update:modelValue`,e)}),null,16))}});export{d as default};
@@ -1,18 +1,17 @@
1
1
  import { CheckboxGroupOptionData, CheckboxGroupProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { DefinedValue } from "@soybeanjs/headless";
4
3
 
5
4
  //#region src/components/checkbox/checkbox-group.vue.d.ts
6
- declare const __VLS_export: <T extends DefinedValue = DefinedValue, S extends CheckboxGroupOptionData<T> = CheckboxGroupOptionData<T>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
- props: _$vue.PublicProps & __VLS_PrettifyLocal<CheckboxGroupProps<T, S> & {
8
- "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
5
+ declare const __VLS_export: <T extends CheckboxGroupOptionData = CheckboxGroupOptionData>(__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: _$vue.PublicProps & __VLS_PrettifyLocal<CheckboxGroupProps<T> & {
7
+ "onUpdate:modelValue"?: ((value: T["value"][]) => any) | undefined;
9
8
  }> & (typeof globalThis extends {
10
9
  __VLS_PROPS_FALLBACK: infer P;
11
10
  } ? P : {});
12
11
  expose: (exposed: {}) => void;
13
12
  attrs: any;
14
13
  slots: {};
15
- emit: (evt: "update:modelValue", value: T[]) => void;
14
+ emit: (evt: "update:modelValue", value: T["value"][]) => void;
16
15
  }>) => _$vue.VNode & {
17
16
  __ctx?: Awaited<typeof __VLS_setup>;
18
17
  };
@@ -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.js";import{Transition as r,computed as i,createBlock as a,createCommentVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,guardReactiveProps as u,mergeProps as d,normalizeProps as f,openBlock as p,renderSlot as m,toDisplayString as h,unref as g,useId as _,withCtx as v}from"vue";import{useOmitProps as y}from"@soybeanjs/headless/composables";import{CheckboxControl as b,CheckboxIndicator as x,CheckboxLabel as S,CheckboxRoot as C,provideCheckboxUi as w}from"@soybeanjs/headless";const T=l({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(l,{emit:T}){let E=l,D=T,O=y(E,[`color`,`size`,`ui`,`label`,`controlProps`,`indicatorProps`,`labelProps`]),k=_(),A=i(()=>E.id||`checkbox-${k}`);return w(i(()=>e(n({color:E.color,size:E.size,shape:E.shape}),E.ui))),(e,n)=>(p(),a(g(C),d(g(O),{"onUpdate:modelValue":n[0]||=e=>D(`update:modelValue`,e)}),{default:v(n=>[c(g(b),d(l.controlProps,{id:A.value}),{default:v(()=>[c(r,{"enter-active-class":`transition-50`,"enter-from-class":`opacity-0 scale-0`},{default:v(()=>[c(g(x),f(u(l.indicatorProps)),{default:v(()=>[m(e.$slots,`indicator`,f(u(n)),()=>[c(t,{icon:n.state===`indeterminate`?`lucide:minus`:`lucide:check`,class:`size-full`},null,8,[`icon`])])]),_:2},1040)]),_:2},1024)]),_:2},1040,[`id`]),e.$slots.default||l.label?(p(),a(g(S),d({key:0},l.labelProps,{for:A.value}),{default:v(()=>[m(e.$slots,`default`,d(n,{id:A.value}),()=>[s(h(l.label),1)])]),_:2},1040,[`for`])):o(`v-if`,!0)]),_:3},16))}});export{T as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{checkboxVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,unref as c,withCtx as l}from"vue";import{useOmitProps as u}from"@soybeanjs/headless/composables";import{CheckboxCompact as d,provideCheckboxUi as f}from"@soybeanjs/headless";const p=i({name:`SCheckbox`,__name:`checkbox`,props:{class:{},ui:{},color:{},size:{},shape:{},label:{},controlProps:{},indicatorProps:{},labelProps:{},id:{},modelValue:{type:[Boolean,String,null],default:void 0},defaultValue:{type:[Boolean,String]},value:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(i,{emit:p}){let m=i,h=p,g=u(m,[`class`,`ui`,`color`,`size`,`shape`]);return f(n(()=>e(t({color:m.color,size:m.size,shape:m.shape}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),{"onUpdate:modelValue":t[0]||=e=>h(`update:modelValue`,e)}),{default:l(()=>[s(e.$slots,`default`)]),_:3},16))}});export{p as default};
@@ -3,18 +3,9 @@ import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/checkbox/checkbox.vue.d.ts
6
- declare var __VLS_28: {
7
- modelValue: _$_soybeanjs_headless0.CheckedState | null | undefined;
8
- state: _$_soybeanjs_headless0.CheckedState;
9
- }, __VLS_41: {
10
- id: string;
11
- modelValue: _$_soybeanjs_headless0.CheckedState | null | undefined;
12
- state: _$_soybeanjs_headless0.CheckedState;
13
- };
6
+ declare var __VLS_10: {};
14
7
  type __VLS_Slots = {} & {
15
- indicator?: (props: typeof __VLS_28) => any;
16
- } & {
17
- default?: (props: typeof __VLS_41) => any;
8
+ default?: (props: typeof __VLS_10) => any;
18
9
  };
19
10
  declare const __VLS_base: _$vue.DefineComponent<CheckboxProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
20
11
  "update:modelValue": (value: _$_soybeanjs_headless0.CheckedState | null) => any;
@@ -1,7 +1,5 @@
1
- import { CheckboxCardEmits, CheckboxCardGroupEmits, CheckboxCardGroupOptionData, CheckboxCardGroupProps, CheckboxCardProps, CheckboxCardUi, CheckboxCardUiSlot, CheckboxEmits, CheckboxGroupEmits, CheckboxGroupOptionData, CheckboxGroupProps, CheckboxProps } from "./types.js";
1
+ import { CheckboxCardEmits, CheckboxCardGroupEmits, CheckboxCardGroupOptionData, CheckboxCardGroupProps, CheckboxCardProps, CheckboxEmits, CheckboxGroupEmits, CheckboxGroupOptionData, CheckboxGroupProps, CheckboxProps } from "./types.js";
2
2
  import { _default } from "./checkbox-group.vue.js";
3
3
  import { _default as _default$1 } from "./checkbox.vue.js";
4
4
  import { _default as _default$2 } from "./checkbox-card-group.vue.js";
5
- import { _default as _default$3 } from "./checkbox-card.vue.js";
6
- import { CheckboxControlProps, CheckboxGroupRootEmits, CheckboxGroupRootProps, CheckboxIndicatorProps, CheckboxLabelProps, CheckboxRootEmits, CheckboxRootProps } from "@soybeanjs/headless/checkbox";
7
- export { type CheckboxControlProps, type CheckboxGroupRootEmits, type CheckboxGroupRootProps, type CheckboxIndicatorProps, type CheckboxLabelProps, type CheckboxRootEmits, type CheckboxRootProps };
5
+ import { _default as _default$3 } from "./checkbox-card.vue.js";
@@ -1 +1 @@
1
- import"./checkbox.js";import"./checkbox-group.js";import"./checkbox-card.js";import"./checkbox-card-group.js";
1
+ import"./checkbox-group.js";import"./checkbox.js";import"./checkbox-card-group.js";import"./checkbox-card.js";
@@ -1,53 +1,53 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import { CheckboxShape } from "./variants.js";
3
- import { CheckboxControlProps, CheckboxGroupRootEmits, CheckboxGroupRootProps, CheckboxIndicatorProps, CheckboxLabelProps, CheckboxRootEmits, CheckboxRootProps, CheckboxUi, CheckboxUiSlot, ClassValue, DefinedValue, UiClass } from "@soybeanjs/headless";
3
+ import { CheckboxCardCompactEmits, CheckboxCardCompactProps, CheckboxCardGroupCompactEmits, CheckboxCardGroupCompactProps, CheckboxCardGroupOptionData, CheckboxCardUi, CheckboxCompactEmits, CheckboxCompactProps, CheckboxGroupCompactEmits, CheckboxGroupCompactProps, CheckboxGroupOptionData, CheckboxUi, ClassValue, DefinedValue } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/checkbox/types.d.ts
6
- interface CheckboxProps extends CheckboxRootProps {
6
+ interface CheckboxProps extends CheckboxCompactProps {
7
+ /**
8
+ * the class of root element
9
+ */
10
+ class?: ClassValue;
7
11
  ui?: Partial<CheckboxUi>;
8
12
  color?: ThemeColor;
9
13
  size?: ThemeSize;
10
14
  shape?: CheckboxShape;
11
- label?: string;
12
- controlProps?: CheckboxControlProps;
13
- indicatorProps?: CheckboxIndicatorProps;
14
- labelProps?: CheckboxLabelProps;
15
15
  }
16
- type CheckboxEmits = CheckboxRootEmits;
17
- type CheckboxCardUiSlot = CheckboxUiSlot | 'content' | 'textContent' | 'icon' | 'description';
18
- type CheckboxCardUi = UiClass<CheckboxCardUiSlot>;
19
- interface CheckboxCardProps extends CheckboxProps {
16
+ type CheckboxEmits = CheckboxCompactEmits;
17
+ interface CheckboxCardProps extends CheckboxCardCompactProps {
18
+ /**
19
+ * the class of root element
20
+ */
21
+ class?: ClassValue;
20
22
  ui?: Partial<CheckboxCardUi>;
23
+ color?: ThemeColor;
24
+ size?: ThemeSize;
25
+ shape?: CheckboxShape;
21
26
  icon?: string;
22
27
  description?: string;
23
28
  }
24
- type CheckboxCardEmits = CheckboxEmits;
25
- interface CheckboxGroupOptionData<T extends DefinedValue = DefinedValue> {
26
- value: T;
27
- label: string;
28
- disabled?: boolean;
29
- }
30
- interface CheckboxGroupProps<T extends DefinedValue = DefinedValue, S extends CheckboxGroupOptionData<T> = CheckboxGroupOptionData<T>> extends CheckboxGroupRootProps<T> {
29
+ type CheckboxCardEmits = CheckboxCardCompactEmits;
30
+ interface CheckboxGroupProps<T extends CheckboxGroupOptionData = CheckboxGroupOptionData> extends CheckboxGroupCompactProps<T> {
31
+ /**
32
+ * the class of group root element
33
+ */
34
+ class?: ClassValue;
31
35
  ui?: Partial<CheckboxUi>;
32
36
  color?: ThemeColor;
33
37
  size?: ThemeSize;
34
38
  shape?: CheckboxShape;
35
- items: S[];
36
- rootProps?: CheckboxRootProps;
37
- controlProps?: CheckboxControlProps;
38
- indicatorProps?: CheckboxIndicatorProps;
39
- labelProps?: CheckboxLabelProps;
40
39
  }
41
- type CheckboxGroupEmits<T extends DefinedValue = DefinedValue> = CheckboxGroupRootEmits<T>;
42
- interface CheckboxCardGroupOptionData<T extends DefinedValue = DefinedValue> extends CheckboxGroupOptionData<T> {
43
- icon?: string;
44
- description?: string;
45
- }
46
- interface CheckboxCardGroupProps<T extends DefinedValue = DefinedValue, S extends CheckboxCardGroupOptionData<T> = CheckboxCardGroupOptionData<T>> extends CheckboxGroupProps<T, S> {
40
+ type CheckboxGroupEmits<T extends DefinedValue = DefinedValue> = CheckboxGroupCompactEmits<T>;
41
+ interface CheckboxCardGroupProps<T extends CheckboxCardGroupOptionData = CheckboxCardGroupOptionData> extends CheckboxCardGroupCompactProps<T> {
42
+ /**
43
+ * the class of group root element
44
+ */
47
45
  class?: ClassValue;
48
46
  ui?: Partial<CheckboxCardUi>;
49
- items: S[];
47
+ color?: ThemeColor;
48
+ size?: ThemeSize;
49
+ shape?: CheckboxShape;
50
50
  }
51
- type CheckboxCardGroupEmits<T extends DefinedValue = DefinedValue> = CheckboxGroupEmits<T>;
51
+ type CheckboxCardGroupEmits<T extends DefinedValue = DefinedValue> = CheckboxCardGroupCompactEmits<T>;
52
52
  //#endregion
53
- export { CheckboxCardEmits, CheckboxCardGroupEmits, CheckboxCardGroupOptionData, CheckboxCardGroupProps, CheckboxCardProps, CheckboxCardUi, CheckboxCardUiSlot, CheckboxEmits, CheckboxGroupEmits, CheckboxGroupOptionData, CheckboxGroupProps, CheckboxProps };
53
+ export { CheckboxCardEmits, CheckboxCardGroupEmits, type CheckboxCardGroupOptionData, CheckboxCardGroupProps, CheckboxCardProps, CheckboxEmits, CheckboxGroupEmits, type CheckboxGroupOptionData, CheckboxGroupProps, CheckboxProps };
@@ -82,6 +82,7 @@ declare const checkboxVariants: _$tailwind_variants0.TVReturnType<{
82
82
  root: string;
83
83
  control: string[];
84
84
  indicator: string;
85
+ 'indicator-icon': string;
85
86
  label: string;
86
87
  }, undefined, {
87
88
  color: {
@@ -163,6 +164,7 @@ declare const checkboxVariants: _$tailwind_variants0.TVReturnType<{
163
164
  root: string;
164
165
  control: string[];
165
166
  indicator: string;
167
+ 'indicator-icon': string;
166
168
  label: string;
167
169
  }, _$tailwind_variants0.TVReturnType<{
168
170
  color: {
@@ -244,6 +246,7 @@ declare const checkboxVariants: _$tailwind_variants0.TVReturnType<{
244
246
  root: string;
245
247
  control: string[];
246
248
  indicator: string;
249
+ 'indicator-icon': string;
247
250
  label: string;
248
251
  }, undefined, unknown, unknown, undefined>>;
249
252
  type CheckboxProps = VariantProps<typeof checkboxVariants>;
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{groupRoot:`flex`,root:`flex items-center w-fit`,control:[`peer shrink-0 border shadow transition-all-150`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`],indicator:`w-full h-full flex items-center justify-center text-current`,label:``},variants:{color:{primary:{control:`border-primary focus-visible:ring-primary/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`},destructive:{control:`border-destructive focus-visible:ring-destructive/30 data-[state=checked]:bg-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:text-destructive-foreground`},success:{control:`border-success focus-visible:ring-success/30 data-[state=checked]:bg-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:text-success-foreground`},warning:{control:`border-warning focus-visible:ring-warning/30 data-[state=checked]:bg-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:text-warning-foreground`},info:{control:`border-info focus-visible:ring-info/30 data-[state=checked]:bg-info data-[state=checked]:text-info-foreground data-[state=indeterminate]:bg-info data-[state=indeterminate]:text-info-foreground`},carbon:{control:`border-carbon focus-visible:ring-carbon/30 data-[state=checked]:bg-carbon data-[state=checked]:text-carbon-foreground data-[state=indeterminate]:bg-carbon data-[state=indeterminate]:text-carbon-foreground`},secondary:{control:`border-secondary-foreground/50 focus-visible:ring-secondary-foreground/20 data-[state=checked]:bg-secondary-foreground/5 data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary-foreground/5 data-[state=indeterminate]:text-secondary-foreground`},accent:{control:`border-accent-foreground/50 focus-visible:ring-accent-foreground/20 data-[state=checked]:bg-accent-foreground/5 data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent-foreground/5 data-[state=indeterminate]:text-accent-foreground`}},size:{xs:{groupRoot:`gap-x-2 gap-y-1.5`,root:`gap-1.5`,control:`size-3`},sm:{groupRoot:`gap-x-2.5 gap-y-1.75`,root:`gap-1.75`,control:`size-3.5`},md:{groupRoot:`gap-x-3 gap-y-2`,root:`gap-2`,control:`size-4`},lg:{groupRoot:`gap-x-3.5 gap-y-2.5`,root:`gap-2.5`,control:`size-4.5`},xl:{groupRoot:`gap-x-4 gap-y-3`,root:`gap-3`,control:`size-5`},"2xl":{groupRoot:`gap-x-4.5 gap-y-3.5`,root:`gap-3.5`,control:`size-6`}},orientation:{horizontal:{groupRoot:`items-center`},vertical:{groupRoot:`flex-col`}},shape:{square:{control:`rounded-sm`},rounded:{control:`rounded-full`}}},defaultVariants:{color:`primary`,size:`md`,orientation:`horizontal`,shape:`square`}}),n=e({slots:{groupRoot:`flex`,root:`relative inline-flex border border-solid border-border rounded-md`,content:`flex items-center grow`,textContent:`flex flex-col`,icon:`shrink-0`,label:`font-medium`,description:`text-muted-foreground`,control:[`peer shrink-0 border shadow transition-all-150`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,`order-1 after:absolute after:inset-0 after:content-empty`],indicator:`w-full h-full flex items-center justify-center text-current`},variants:{color:{primary:{root:`data-[state=checked]:border-primary`,control:`border-primary focus-visible:ring-primary/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`},destructive:{root:`data-[state=checked]:border-destructive`,control:`border-destructive focus-visible:ring-destructive/30 data-[state=checked]:bg-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:text-destructive-foreground`},success:{root:`data-[state=checked]:border-success`,control:`border-success focus-visible:ring-success/30 data-[state=checked]:bg-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:text-success-foreground`},warning:{root:`data-[state=checked]:border-warning`,control:`border-warning focus-visible:ring-warning/30 data-[state=checked]:bg-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:text-warning-foreground`},info:{root:`data-[state=checked]:border-info`,control:`border-info focus-visible:ring-info/30 data-[state=checked]:bg-info data-[state=checked]:text-info-foreground data-[state=indeterminate]:bg-info data-[state=indeterminate]:text-info-foreground`},carbon:{root:`data-[state=checked]:border-carbon`,control:`border-carbon focus-visible:ring-carbon/30 data-[state=checked]:bg-carbon data-[state=checked]:text-carbon-foreground data-[state=indeterminate]:bg-carbon data-[state=indeterminate]:text-carbon-foreground`},secondary:{root:`data-[state=checked]:border-secondary-foreground/50`,control:`border-secondary-foreground/50 focus-visible:ring-secondary-foreground/20 data-[state=checked]:bg-secondary-foreground/5 data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary-foreground/5 data-[state=indeterminate]:text-secondary-foreground`},accent:{root:`data-[state=checked]:border-accent-foreground/50`,control:`border-accent-foreground/50 focus-visible:ring-accent-foreground/20 data-[state=checked]:bg-accent-foreground/5 data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent-foreground/5 data-[state=indeterminate]:text-accent-foreground`}},size:{xs:{groupRoot:`gap-x-2 gap-y-1.5`,root:`gap-2 text-2xs p-2`,content:`gap-2`,textContent:`gap-0.5`,icon:`text-3`,description:`text-3xs`,control:`size-3`},sm:{groupRoot:`gap-x-2.5 gap-y-1.75`,root:`gap-2.5 text-xs p-2.5`,content:`gap-2.5`,textContent:`gap-0.75`,icon:`text-4`,description:`text-2xs`,control:`size-3.5`},md:{groupRoot:`gap-x-3 gap-y-2`,root:`gap-3 text-sm p-3`,content:`gap-3`,textContent:`gap-1`,icon:`text-5`,description:`text-xs`,control:`size-4`},lg:{groupRoot:`gap-x-3.5 gap-y-2.5`,root:`gap-4 text-base p-4`,content:`gap-4`,textContent:`gap-1.5`,icon:`text-6`,description:`text-sm`,control:`size-4.5`},xl:{groupRoot:`gap-x-4 gap-y-3`,root:`gap-5 text-lg p-5`,content:`gap-5`,textContent:`gap-2`,icon:`text-7`,description:`text-base`,control:`size-5`},"2xl":{groupRoot:`gap-x-4.5 gap-y-3.5`,root:`gap-6 text-xl p-6`,content:`gap-6`,textContent:`gap-2.5`,icon:`text-8`,description:`text-lg`,control:`size-6`}},shape:{square:{control:`rounded-sm`},rounded:{control:`rounded-full`}}},defaultVariants:{color:`primary`,size:`md`,shape:`square`}});export{n as checkboxCardVariants,t as checkboxVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{groupRoot:`flex`,root:`flex items-center w-fit`,control:[`peer shrink-0 border shadow transition-all-150`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`],indicator:`w-full h-full flex items-center justify-center text-current`,"indicator-icon":`size-full`,label:``},variants:{color:{primary:{control:`border-primary focus-visible:ring-primary/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`},destructive:{control:`border-destructive focus-visible:ring-destructive/30 data-[state=checked]:bg-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:text-destructive-foreground`},success:{control:`border-success focus-visible:ring-success/30 data-[state=checked]:bg-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:text-success-foreground`},warning:{control:`border-warning focus-visible:ring-warning/30 data-[state=checked]:bg-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:text-warning-foreground`},info:{control:`border-info focus-visible:ring-info/30 data-[state=checked]:bg-info data-[state=checked]:text-info-foreground data-[state=indeterminate]:bg-info data-[state=indeterminate]:text-info-foreground`},carbon:{control:`border-carbon focus-visible:ring-carbon/30 data-[state=checked]:bg-carbon data-[state=checked]:text-carbon-foreground data-[state=indeterminate]:bg-carbon data-[state=indeterminate]:text-carbon-foreground`},secondary:{control:`border-secondary-foreground/50 focus-visible:ring-secondary-foreground/20 data-[state=checked]:bg-secondary-foreground/5 data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary-foreground/5 data-[state=indeterminate]:text-secondary-foreground`},accent:{control:`border-accent-foreground/50 focus-visible:ring-accent-foreground/20 data-[state=checked]:bg-accent-foreground/5 data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent-foreground/5 data-[state=indeterminate]:text-accent-foreground`}},size:{xs:{groupRoot:`gap-x-2 gap-y-1.5`,root:`gap-1.5`,control:`size-3`},sm:{groupRoot:`gap-x-2.5 gap-y-1.75`,root:`gap-1.75`,control:`size-3.5`},md:{groupRoot:`gap-x-3 gap-y-2`,root:`gap-2`,control:`size-4`},lg:{groupRoot:`gap-x-3.5 gap-y-2.5`,root:`gap-2.5`,control:`size-4.5`},xl:{groupRoot:`gap-x-4 gap-y-3`,root:`gap-3`,control:`size-5`},"2xl":{groupRoot:`gap-x-4.5 gap-y-3.5`,root:`gap-3.5`,control:`size-6`}},orientation:{horizontal:{groupRoot:`items-center`},vertical:{groupRoot:`flex-col`}},shape:{square:{control:`rounded-sm`},rounded:{control:`rounded-full`}}},defaultVariants:{color:`primary`,size:`md`,orientation:`horizontal`,shape:`square`}}),n=e({slots:{groupRoot:`flex`,root:`relative inline-flex border border-solid border-border rounded-md`,content:`flex items-center grow`,textContent:`flex flex-col`,icon:`shrink-0`,label:`font-medium`,description:`text-muted-foreground`,control:[`peer shrink-0 border shadow transition-all-150`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,`order-1 after:absolute after:inset-0 after:content-empty`],indicator:`w-full h-full flex items-center justify-center text-current`,"indicator-icon":`size-full`},variants:{color:{primary:{root:`data-[state=checked]:border-primary`,control:`border-primary focus-visible:ring-primary/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`},destructive:{root:`data-[state=checked]:border-destructive`,control:`border-destructive focus-visible:ring-destructive/30 data-[state=checked]:bg-destructive data-[state=checked]:text-destructive-foreground data-[state=indeterminate]:bg-destructive data-[state=indeterminate]:text-destructive-foreground`},success:{root:`data-[state=checked]:border-success`,control:`border-success focus-visible:ring-success/30 data-[state=checked]:bg-success data-[state=checked]:text-success-foreground data-[state=indeterminate]:bg-success data-[state=indeterminate]:text-success-foreground`},warning:{root:`data-[state=checked]:border-warning`,control:`border-warning focus-visible:ring-warning/30 data-[state=checked]:bg-warning data-[state=checked]:text-warning-foreground data-[state=indeterminate]:bg-warning data-[state=indeterminate]:text-warning-foreground`},info:{root:`data-[state=checked]:border-info`,control:`border-info focus-visible:ring-info/30 data-[state=checked]:bg-info data-[state=checked]:text-info-foreground data-[state=indeterminate]:bg-info data-[state=indeterminate]:text-info-foreground`},carbon:{root:`data-[state=checked]:border-carbon`,control:`border-carbon focus-visible:ring-carbon/30 data-[state=checked]:bg-carbon data-[state=checked]:text-carbon-foreground data-[state=indeterminate]:bg-carbon data-[state=indeterminate]:text-carbon-foreground`},secondary:{root:`data-[state=checked]:border-secondary-foreground/50`,control:`border-secondary-foreground/50 focus-visible:ring-secondary-foreground/20 data-[state=checked]:bg-secondary-foreground/5 data-[state=checked]:text-secondary-foreground data-[state=indeterminate]:bg-secondary-foreground/5 data-[state=indeterminate]:text-secondary-foreground`},accent:{root:`data-[state=checked]:border-accent-foreground/50`,control:`border-accent-foreground/50 focus-visible:ring-accent-foreground/20 data-[state=checked]:bg-accent-foreground/5 data-[state=checked]:text-accent-foreground data-[state=indeterminate]:bg-accent-foreground/5 data-[state=indeterminate]:text-accent-foreground`}},size:{xs:{groupRoot:`gap-x-2 gap-y-1.5`,root:`gap-2 text-2xs p-2`,content:`gap-2`,textContent:`gap-0.5`,icon:`text-3`,description:`text-3xs`,control:`size-3`},sm:{groupRoot:`gap-x-2.5 gap-y-1.75`,root:`gap-2.5 text-xs p-2.5`,content:`gap-2.5`,textContent:`gap-0.75`,icon:`text-4`,description:`text-2xs`,control:`size-3.5`},md:{groupRoot:`gap-x-3 gap-y-2`,root:`gap-3 text-sm p-3`,content:`gap-3`,textContent:`gap-1`,icon:`text-5`,description:`text-xs`,control:`size-4`},lg:{groupRoot:`gap-x-3.5 gap-y-2.5`,root:`gap-4 text-base p-4`,content:`gap-4`,textContent:`gap-1.5`,icon:`text-6`,description:`text-sm`,control:`size-4.5`},xl:{groupRoot:`gap-x-4 gap-y-3`,root:`gap-5 text-lg p-5`,content:`gap-5`,textContent:`gap-2`,icon:`text-7`,description:`text-base`,control:`size-5`},"2xl":{groupRoot:`gap-x-4.5 gap-y-3.5`,root:`gap-6 text-xl p-6`,content:`gap-6`,textContent:`gap-2.5`,icon:`text-8`,description:`text-lg`,control:`size-6`}},shape:{square:{control:`rounded-sm`},rounded:{control:`rounded-full`}}},defaultVariants:{color:`primary`,size:`md`,shape:`square`}});export{n as checkboxCardVariants,t as checkboxVariants};
@@ -0,0 +1 @@
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{buttonVariants as t}from"../button/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,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{Clipboard as h}from"@soybeanjs/headless";const g=i({name:`SClipboard`,__name:`clipboard`,props:{class:{},color:{},size:{},variant:{},shape:{},fitContent:{type:Boolean},value:{},copiedDuration:{},legacy:{type:Boolean},copyIcon:{},copiedIcon:{},copyText:{},copiedText:{},type:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`click`,`copied`,`copyError`],setup(i,{emit:g}){let _=i,v=p(g),y=m(_,[`class`,`color`,`size`,`variant`,`shape`,`fitContent`]),b=n(()=>e(t({color:_.color,size:_.size,variant:_.variant,shape:_.shape,fitContent:_.fitContent}),_.class));return(e,t)=>(c(),r(d(h),o(d(y),{class:b.value},u(d(v))),{leading:f(t=>[l(e.$slots,`leading`,s(a(t)))]),default:f(t=>[l(e.$slots,`default`,s(a(t)))]),trailing:f(t=>[l(e.$slots,`trailing`,s(a(t)))]),_:3},16,[`class`]))}});export{g as default};
@@ -0,0 +1,55 @@
1
+ import { ClipboardProps } from "./types.js";
2
+ import * as _$vue from "vue";
3
+ import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
+
5
+ //#region src/components/clipboard/clipboard.vue.d.ts
6
+ declare var __VLS_9: {
7
+ copied: boolean;
8
+ disabled: boolean;
9
+ icon: _$_soybeanjs_headless0.IconValue;
10
+ supported: boolean;
11
+ state: _$_soybeanjs_headless0.ClipboardState;
12
+ text: string;
13
+ copy: () => Promise<void>;
14
+ }, __VLS_12: {
15
+ copied: boolean;
16
+ disabled: boolean;
17
+ icon: _$_soybeanjs_headless0.IconValue;
18
+ supported: boolean;
19
+ state: _$_soybeanjs_headless0.ClipboardState;
20
+ text: string;
21
+ copy: () => Promise<void>;
22
+ }, __VLS_15: {
23
+ copied: boolean;
24
+ disabled: boolean;
25
+ icon: _$_soybeanjs_headless0.IconValue;
26
+ supported: boolean;
27
+ state: _$_soybeanjs_headless0.ClipboardState;
28
+ text: string;
29
+ copy: () => Promise<void>;
30
+ };
31
+ type __VLS_Slots = {} & {
32
+ leading?: (props: typeof __VLS_9) => any;
33
+ } & {
34
+ default?: (props: typeof __VLS_12) => any;
35
+ } & {
36
+ trailing?: (props: typeof __VLS_15) => any;
37
+ };
38
+ declare const __VLS_base: _$vue.DefineComponent<ClipboardProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
39
+ click: (event: MouseEvent) => any;
40
+ copied: (value: string) => any;
41
+ copyError: (error: unknown) => any;
42
+ }, string, _$vue.PublicProps, Readonly<ClipboardProps> & Readonly<{
43
+ onClick?: ((event: MouseEvent) => any) | undefined;
44
+ onCopied?: ((value: string) => any) | undefined;
45
+ onCopyError?: ((error: unknown) => any) | undefined;
46
+ }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
47
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
48
+ declare const _default: typeof __VLS_export;
49
+ type __VLS_WithSlots<T, S> = T & {
50
+ new (): {
51
+ $slots: S;
52
+ };
53
+ };
54
+ //#endregion
55
+ export { _default };
@@ -0,0 +1,3 @@
1
+ import { ButtonShape, ButtonVariant } from "../button/variants.js";
2
+ import { ClipboardEmits, ClipboardProps, ClipboardSlotProps } from "./types.js";
3
+ import { _default } from "./clipboard.vue.js";
@@ -0,0 +1 @@
1
+ import"./clipboard.js";
@@ -0,0 +1,16 @@
1
+ import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
+ import { ButtonShape, ButtonVariant } from "../button/variants.js";
3
+ import { ClassValue } from "@soybeanjs/headless";
4
+ import { ClipboardEmits, ClipboardProps, ClipboardSlotProps } from "@soybeanjs/headless/clipboard";
5
+
6
+ //#region src/components/clipboard/types.d.ts
7
+ interface ClipboardProps$1 extends ClipboardProps {
8
+ class?: ClassValue;
9
+ color?: ThemeColor;
10
+ size?: ThemeSize;
11
+ variant?: ButtonVariant;
12
+ shape?: ButtonShape;
13
+ fitContent?: boolean;
14
+ }
15
+ //#endregion
16
+ export { type ClipboardEmits, ClipboardProps$1 as ClipboardProps, type ClipboardSlotProps };
@@ -0,0 +1 @@
1
+ import { ButtonShape, ButtonVariant, buttonVariants } from "../button/variants.js";
@@ -4,14 +4,14 @@ import * as _$_soybeanjs_headless_shared0 from "@soybeanjs/headless/shared";
4
4
 
5
5
  //#region src/components/color-area/color-area.vue.d.ts
6
6
  declare const __VLS_export: _$vue.DefineComponent<ColorAreaProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
+ change: (value: string) => any;
7
8
  "update:modelValue": (value: string) => any;
8
9
  "update:color": (value: _$_soybeanjs_headless_shared0.NormalizedColor) => any;
9
- change: (value: string) => any;
10
10
  changeEnd: (value: string) => any;
11
11
  }, string, _$vue.PublicProps, Readonly<ColorAreaProps> & Readonly<{
12
+ onChange?: ((value: string) => any) | undefined;
12
13
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
14
  "onUpdate:color"?: ((value: _$_soybeanjs_headless_shared0.NormalizedColor) => any) | undefined;
14
- onChange?: ((value: string) => any) | undefined;
15
15
  onChangeEnd?: ((value: string) => any) | undefined;
16
16
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
17
17
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative select-none`,area:[`relative overflow-hidden min-w-25 min-h-25 w-full h-full rounded-xl border border-input shadow-inner outline-none`,`focus-visible:ring-3 focus-visible:ring-primary/20 data-[disabled]:opacity-60`],thumb:[`absolute block rounded-full border-2 border-white bg-transparent shadow-lg`,`ring-1 ring-black/20 transition-[transform,box-shadow] duration-150`,`hover:scale-105 focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-primary/25`]},variants:{size:{xs:{root:`text-2xs`,thumb:`size-3`},sm:{root:`text-xs`,thumb:`size-3.5`},md:{root:`text-sm`,thumb:`size-4`},lg:{root:`text-base`,thumb:`size-4.5`},xl:{root:`text-lg`,thumb:`size-5`},"2xl":{root:`text-xl`,thumb:`size-6`}}},defaultVariants:{size:`md`}});export{t as colorAreaVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`relative select-none`,area:[`relative overflow-hidden min-w-25 min-h-25 w-full h-full rounded-xl border border-input shadow-inner outline-none`,`focus-visible:ring-3 focus-visible:ring-primary/20 data-[disabled]:opacity-60`],thumb:[`absolute block rounded-full border-2 border-white bg-transparent shadow-lg`,`ring-1 ring-black/20 transition-[transform,box-shadow] duration-150`,`hover:scale-105 outline-none focus-visible:ring-4 focus-visible:ring-primary/25`]},variants:{size:{xs:{root:`text-2xs`,thumb:`size-3`},sm:{root:`text-xs`,thumb:`size-3.5`},md:{root:`text-sm`,thumb:`size-4`},lg:{root:`text-base`,thumb:`size-4.5`},xl:{root:`text-lg`,thumb:`size-5`},"2xl":{root:`text-xl`,thumb:`size-6`}}},defaultVariants:{size:`md`}});export{t as colorAreaVariants};