@soybeanjs/ui 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/dist/components/accordion/accordion.js +1 -1
  2. package/dist/components/accordion/accordion.vue.d.ts +3 -3
  3. package/dist/components/accordion/index.d.ts +1 -1
  4. package/dist/components/accordion/types.d.ts +10 -6
  5. package/dist/components/alert/alert.js +1 -1
  6. package/dist/components/alert/alert.vue.d.ts +4 -4
  7. package/dist/components/alert/types.d.ts +7 -3
  8. package/dist/components/alert-dialog/alert-dialog-action.js +1 -1
  9. package/dist/components/alert-dialog/alert-dialog-action.vue.d.ts +3 -3
  10. package/dist/components/alert-dialog/alert-dialog-cancel.js +1 -1
  11. package/dist/components/alert-dialog/alert-dialog-cancel.vue.d.ts +3 -3
  12. package/dist/components/alert-dialog/alert-dialog.js +1 -1
  13. package/dist/components/alert-dialog/alert-dialog.vue.d.ts +4 -4
  14. package/dist/components/avatar/avatar.js +1 -1
  15. package/dist/components/avatar/avatar.vue.d.ts +7 -7
  16. package/dist/components/avatar/types.d.ts +5 -1
  17. package/dist/components/badge/badge.js +1 -1
  18. package/dist/components/badge/badge.vue.d.ts +4 -4
  19. package/dist/components/badge/types.d.ts +5 -1
  20. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  21. package/dist/components/breadcrumb/breadcrumb.vue.d.ts +3 -3
  22. package/dist/components/breadcrumb/types.d.ts +5 -1
  23. package/dist/components/button/button-group.js +1 -1
  24. package/dist/components/button/button-group.vue.d.ts +3 -3
  25. package/dist/components/button/button-icon.js +1 -1
  26. package/dist/components/button/button-icon.vue.d.ts +3 -3
  27. package/dist/components/button/button-link.js +1 -1
  28. package/dist/components/button/button-link.vue.d.ts +4 -4
  29. package/dist/components/button/button-loading.js +1 -1
  30. package/dist/components/button/button-loading.vue.d.ts +3 -3
  31. package/dist/components/button/button.js +1 -1
  32. package/dist/components/button/button.vue.d.ts +4 -4
  33. package/dist/components/button/types.d.ts +4 -3
  34. package/dist/components/card/card.js +1 -1
  35. package/dist/components/card/card.vue.d.ts +3 -3
  36. package/dist/components/card/types.d.ts +5 -1
  37. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  38. package/dist/components/checkbox/checkbox-card-group.vue.d.ts +3 -3
  39. package/dist/components/checkbox/checkbox-card.js +1 -1
  40. package/dist/components/checkbox/checkbox-card.vue.d.ts +8 -8
  41. package/dist/components/checkbox/checkbox-group.vue.d.ts +3 -3
  42. package/dist/components/checkbox/checkbox.js +1 -1
  43. package/dist/components/checkbox/checkbox.vue.d.ts +12 -12
  44. package/dist/components/checkbox/index.d.ts +1 -1
  45. package/dist/components/checkbox/types.d.ts +7 -6
  46. package/dist/components/collapsible/collapsible.js +1 -1
  47. package/dist/components/collapsible/collapsible.vue.d.ts +4 -4
  48. package/dist/components/command/command-group-option.js +1 -1
  49. package/dist/components/command/command-single-option.js +1 -1
  50. package/dist/components/command/command.js +1 -1
  51. package/dist/components/command/command.vue.d.ts +3 -3
  52. package/dist/components/command/context.js +1 -1
  53. package/dist/components/command/index.d.ts +1 -1
  54. package/dist/components/command/types.d.ts +11 -10
  55. package/dist/components/config-provider/config-provider.vue.d.ts +5 -5
  56. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  57. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +9 -9
  58. package/dist/components/context-menu/context-menu-radio.js +1 -1
  59. package/dist/components/context-menu/context-menu-radio.vue.d.ts +9 -9
  60. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  61. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +11 -11
  62. package/dist/components/context-menu/context-menu.js +1 -1
  63. package/dist/components/context-menu/context-menu.vue.d.ts +8 -8
  64. package/dist/components/context-menu/types.d.ts +23 -4
  65. package/dist/components/dialog/dialog-close.vue.d.ts +2 -2
  66. package/dist/components/dialog/dialog-pure.js +1 -1
  67. package/dist/components/dialog/dialog-pure.vue.d.ts +13 -13
  68. package/dist/components/dialog/dialog.js +1 -1
  69. package/dist/components/dialog/dialog.vue.d.ts +13 -13
  70. package/dist/components/dialog/index.d.ts +1 -1
  71. package/dist/components/dialog/types.d.ts +5 -4
  72. package/dist/components/drawer/drawer-close.vue.d.ts +2 -2
  73. package/dist/components/drawer/drawer.js +1 -1
  74. package/dist/components/drawer/drawer.vue.d.ts +13 -14
  75. package/dist/components/drawer/index.d.ts +1 -1
  76. package/dist/components/drawer/types.d.ts +6 -9
  77. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  78. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +9 -9
  79. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  80. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +9 -9
  81. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  82. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +12 -12
  83. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  84. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +8 -8
  85. package/dist/components/dropdown-menu/types.d.ts +17 -3
  86. package/dist/components/form/form-field-base.js +1 -0
  87. package/dist/components/form/form.js +1 -1
  88. package/dist/components/form/form.vue.d.ts +2 -2
  89. package/dist/components/form/index.d.ts +2 -3
  90. package/dist/components/form/types.d.ts +28 -14
  91. package/dist/components/form/use-form.d.ts +48 -0
  92. package/dist/components/form/use-form.js +1 -0
  93. package/dist/components/icon/icon.vue.d.ts +4 -4
  94. package/dist/components/input/input.js +1 -1
  95. package/dist/components/input/input.vue.d.ts +4 -4
  96. package/dist/components/input/types.d.ts +6 -2
  97. package/dist/components/kbd/kbd.js +1 -1
  98. package/dist/components/kbd/kbd.vue.d.ts +3 -3
  99. package/dist/components/kbd/types.d.ts +2 -1
  100. package/dist/components/label/label.js +1 -1
  101. package/dist/components/label/label.vue.d.ts +2 -2
  102. package/dist/components/label/types.d.ts +2 -1
  103. package/dist/components/layout/layout-trigger.vue.d.ts +2 -2
  104. package/dist/components/layout/layout.js +1 -1
  105. package/dist/components/layout/layout.vue.d.ts +7 -4
  106. package/dist/components/layout/types.d.ts +2 -1
  107. package/dist/components/link/link.js +1 -1
  108. package/dist/components/link/link.vue.d.ts +4 -3
  109. package/dist/components/link/types.d.ts +8 -2
  110. package/dist/components/list/list-item.vue.d.ts +2 -2
  111. package/dist/components/list/list.js +1 -1
  112. package/dist/components/list/list.vue.d.ts +2 -2
  113. package/dist/components/list/types.d.ts +2 -1
  114. package/dist/components/menu/context.js +1 -1
  115. package/dist/components/menu/index.d.ts +1 -1
  116. package/dist/components/menu/menu-checkbox-options.js +1 -1
  117. package/dist/components/menu/menu-checkbox-options.vue.d.ts +3 -3
  118. package/dist/components/menu/menu-option.js +1 -1
  119. package/dist/components/menu/menu-option.vue.d.ts +8 -8
  120. package/dist/components/menu/menu-options.vue.d.ts +8 -8
  121. package/dist/components/menu/menu-radio-options.js +1 -1
  122. package/dist/components/menu/menu-radio-options.vue.d.ts +3 -3
  123. package/dist/components/menu/types.d.ts +6 -10
  124. package/dist/components/navigation-menu/context.js +1 -1
  125. package/dist/components/navigation-menu/index.d.ts +1 -1
  126. package/dist/components/navigation-menu/navigation-menu-option.js +1 -1
  127. package/dist/components/navigation-menu/navigation-menu-sub-option.js +1 -1
  128. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  129. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +11 -11
  130. package/dist/components/navigation-menu/types.d.ts +5 -8
  131. package/dist/components/number-input/number-input.js +1 -1
  132. package/dist/components/number-input/number-input.vue.d.ts +4 -4
  133. package/dist/components/number-input/types.d.ts +2 -1
  134. package/dist/components/pagination/pagination.js +1 -1
  135. package/dist/components/pagination/pagination.vue.d.ts +4 -4
  136. package/dist/components/pagination/types.d.ts +2 -1
  137. package/dist/components/password/password.js +1 -1
  138. package/dist/components/password/password.vue.d.ts +4 -4
  139. package/dist/components/password/types.d.ts +3 -2
  140. package/dist/components/popover/popover.js +1 -1
  141. package/dist/components/popover/popover.vue.d.ts +11 -11
  142. package/dist/components/popover/types.d.ts +5 -1
  143. package/dist/components/radio-group/index.d.ts +1 -1
  144. package/dist/components/radio-group/radio-card-group.js +1 -1
  145. package/dist/components/radio-group/radio-card-group.vue.d.ts +3 -3
  146. package/dist/components/radio-group/radio-card.vue.d.ts +2 -2
  147. package/dist/components/radio-group/radio-group.js +1 -1
  148. package/dist/components/radio-group/radio-group.vue.d.ts +3 -3
  149. package/dist/components/radio-group/radio.vue.d.ts +2 -2
  150. package/dist/components/radio-group/types.d.ts +4 -3
  151. package/dist/components/segment/segment.js +1 -1
  152. package/dist/components/segment/segment.vue.d.ts +3 -3
  153. package/dist/components/segment/types.d.ts +2 -1
  154. package/dist/components/select/select.js +1 -1
  155. package/dist/components/select/select.vue.d.ts +8 -8
  156. package/dist/components/select/types.d.ts +5 -1
  157. package/dist/components/separator/separator.js +1 -1
  158. package/dist/components/separator/separator.vue.d.ts +5 -5
  159. package/dist/components/separator/types.d.ts +2 -1
  160. package/dist/components/switch/switch.js +1 -1
  161. package/dist/components/switch/switch.vue.d.ts +25 -25
  162. package/dist/components/switch/types.d.ts +2 -1
  163. package/dist/components/tabs/index.d.ts +1 -1
  164. package/dist/components/tabs/tabs.js +1 -1
  165. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  166. package/dist/components/tabs/types.d.ts +4 -3
  167. package/dist/components/tag/tag.js +1 -1
  168. package/dist/components/tag/tag.vue.d.ts +4 -4
  169. package/dist/components/tag/types.d.ts +2 -1
  170. package/dist/components/textarea/index.d.ts +1 -1
  171. package/dist/components/textarea/textarea.js +1 -1
  172. package/dist/components/textarea/textarea.vue.d.ts +4 -4
  173. package/dist/components/textarea/types.d.ts +4 -3
  174. package/dist/components/toast/context.js +1 -1
  175. package/dist/components/toast/toast-provider.js +1 -1
  176. package/dist/components/toast/toast.js +1 -1
  177. package/dist/components/toast/types.d.ts +1 -0
  178. package/dist/components/tooltip/tooltip.js +1 -1
  179. package/dist/components/tooltip/tooltip.vue.d.ts +7 -7
  180. package/dist/components/tooltip/types.d.ts +5 -1
  181. package/dist/components/tree/tree-virtualizer.vue.d.ts +5 -5
  182. package/dist/components/tree/tree.vue.d.ts +5 -5
  183. package/dist/components/tree-menu/context.js +1 -1
  184. package/dist/components/tree-menu/index.d.ts +1 -1
  185. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  186. package/dist/components/tree-menu/tree-menu-option.js +1 -1
  187. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
  188. package/dist/components/tree-menu/tree-menu-styled-item.vue.d.ts +2 -2
  189. package/dist/components/tree-menu/tree-menu.js +1 -1
  190. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -3
  191. package/dist/components/tree-menu/types.d.ts +5 -6
  192. package/dist/components/virtualizer/virtualizer.vue.d.ts +3 -3
  193. package/dist/constants/components.d.ts +13 -13
  194. package/dist/constants/components.js +1 -1
  195. package/dist/index.d.ts +50 -52
  196. package/dist/index.js +1 -1
  197. package/dist/styles.css +2 -2
  198. package/dist/theme/shared.js +1 -1
  199. package/dist/variants/alert.d.ts +24 -24
  200. package/dist/variants/alert.js +1 -1
  201. package/dist/variants/avatar.js +1 -1
  202. package/dist/variants/badge.d.ts +3 -3
  203. package/dist/variants/button.d.ts +3 -3
  204. package/dist/variants/checkbox.d.ts +3 -3
  205. package/dist/variants/checkbox.js +1 -1
  206. package/dist/variants/drawer.js +1 -1
  207. package/dist/variants/form.js +1 -1
  208. package/dist/variants/kbd.d.ts +3 -3
  209. package/dist/variants/layout.js +1 -1
  210. package/dist/variants/navigation-menu.js +1 -1
  211. package/dist/variants/pagination.d.ts +3 -3
  212. package/dist/variants/separator.d.ts +3 -3
  213. package/dist/variants/tabs.js +1 -1
  214. package/dist/variants/tag.d.ts +3 -3
  215. package/dist/variants/textarea.d.ts +3 -3
  216. package/dist/variants/toast.d.ts +3 -3
  217. package/dist/variants/tree-menu.js +1 -1
  218. package/package.json +5 -3
  219. package/dist/components/form/form-field-array.js +0 -1
  220. package/dist/components/form/form-field-array.vue.d.ts +0 -71
  221. package/dist/components/form/form-field.js +0 -1
  222. package/dist/components/form/form-field.vue.d.ts +0 -27
@@ -1,10 +1,10 @@
1
1
  import { TabsOptionData, TabsProps } from "./types.js";
2
- import * as vue291 from "vue";
2
+ import * as vue277 from "vue";
3
3
  import { AcceptableValue } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/tabs/tabs.vue.d.ts
6
6
  declare const __VLS_export: <T extends AcceptableValue = AcceptableValue, S extends TabsOptionData<NonNullable<T>> = TabsOptionData<NonNullable<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: vue291.PublicProps & __VLS_PrettifyLocal<TabsProps<T, S> & {
7
+ props: vue277.PublicProps & __VLS_PrettifyLocal<TabsProps<T, S> & {
8
8
  "onUpdate:modelValue"?: ((payload: NonNullable<T>) => any) | undefined;
9
9
  }> & (typeof globalThis extends {
10
10
  __VLS_PROPS_FALLBACK: infer P;
@@ -21,7 +21,7 @@ declare const __VLS_export: <T extends AcceptableValue = AcceptableValue, S exte
21
21
  }) => any;
22
22
  };
23
23
  emit: (evt: "update:modelValue", payload: NonNullable<T>) => void;
24
- }>) => vue291.VNode & {
24
+ }>) => vue277.VNode & {
25
25
  __ctx?: Awaited<typeof __VLS_setup>;
26
26
  };
27
27
  declare const _default: typeof __VLS_export;
@@ -9,9 +9,10 @@ interface TabsOptionData<T extends DefinedValue = DefinedValue> {
9
9
  label: string;
10
10
  disabled?: boolean;
11
11
  }
12
- type TabsExtraThemeSlot = 'indicatorContent';
13
- type TabsExtendedUi = TabsUi & Record<TabsExtraThemeSlot, ClassValue>;
12
+ type TabsExtraUiSlot = 'indicatorContent';
13
+ type TabsExtendedUi = TabsUi & Record<TabsExtraUiSlot, ClassValue>;
14
14
  interface TabsProps<T extends AcceptableValue, S extends TabsOptionData<NonNullable<T>> = TabsOptionData<NonNullable<T>>> extends TabsRootProps<T> {
15
+ class?: ClassValue;
15
16
  size?: ThemeSize;
16
17
  ui?: Partial<TabsExtendedUi>;
17
18
  items: S[];
@@ -24,4 +25,4 @@ interface TabsProps<T extends AcceptableValue, S extends TabsOptionData<NonNulla
24
25
  }
25
26
  type TabsEmits<T = AcceptableValue> = TabsRootEmits<T>;
26
27
  //#endregion
27
- export { TabsEmits, TabsExtendedUi, TabsExtraThemeSlot, TabsOptionData, TabsProps };
28
+ export { TabsEmits, TabsExtendedUi, TabsExtraUiSlot, TabsOptionData, TabsProps };
@@ -1 +1 @@
1
- import e from"../icon/icon.js";import{tagVariants as t}from"../../variants/tag.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,createVNode as o,defineComponent as s,normalizeClass as c,openBlock as l,renderSlot as u,toDisplayString as d,unref as f,withCtx as p}from"vue";import{Tag as m}from"@soybeanjs/headless";var h=s({name:`STag`,__name:`tag`,props:{color:{},size:{},variant:{},shape:{},content:{},closable:{type:Boolean},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(s,{emit:h}){let g=s,_=h,v=n(()=>t({color:g.color,size:g.size,variant:g.variant,shape:g.shape}));return(t,n)=>(l(),r(f(m),{open:s.open,class:c(v.value),"onUpdate:open":n[0]||=e=>_(`update:open`,e)},{default:p(({close:n})=>[u(t.$slots,`leading`),u(t.$slots,`default`,{},()=>[a(d(s.content),1)]),u(t.$slots,`trailing`),s.closable?u(t.$slots,`close`,{key:0,close:n},()=>[o(e,{icon:`lucide:x`,style:{"flex-shrink":`0`,cursor:`pointer`},onClick:n},null,8,[`onClick`])]):i(`v-if`,!0)]),_:3},8,[`open`,`class`]))}});export{h as default};
1
+ import{cn as e}from"../../theme/merge.js";import t from"../icon/icon.js";import{tagVariants as n}from"../../variants/tag.js";import{computed as r,createBlock as i,createCommentVNode as a,createTextVNode as o,createVNode as s,defineComponent as c,normalizeClass as l,openBlock as u,renderSlot as d,toDisplayString as f,unref as p,withCtx as m}from"vue";import{Tag as h}from"@soybeanjs/headless";var g=c({name:`STag`,__name:`tag`,props:{class:{},color:{},size:{},variant:{},shape:{},content:{},closable:{type:Boolean},open:{type:Boolean,default:void 0}},emits:[`update:open`],setup(c,{emit:g}){let _=c,v=g,y=r(()=>e(n({color:_.color,size:_.size,variant:_.variant,shape:_.shape}),_.class));return(e,n)=>(u(),i(p(h),{open:c.open,class:l(y.value),"onUpdate:open":n[0]||=e=>v(`update:open`,e)},{default:m(({close:n})=>[d(e.$slots,`leading`),d(e.$slots,`default`,{},()=>[o(f(c.content),1)]),d(e.$slots,`trailing`),c.closable?d(e.$slots,`close`,{key:0,close:n},()=>[s(t,{icon:`lucide:x`,style:{"flex-shrink":`0`,cursor:`pointer`},onClick:n},null,8,[`onClick`])]):a(`v-if`,!0)]),_:3},8,[`open`,`class`]))}});export{g as default};
@@ -1,5 +1,5 @@
1
1
  import { TagProps } from "./types.js";
2
- import * as vue286 from "vue";
2
+ import * as vue279 from "vue";
3
3
 
4
4
  //#region src/components/tag/tag.vue.d.ts
5
5
  declare var __VLS_10: {}, __VLS_12: {}, __VLS_14: {}, __VLS_16: {
@@ -14,13 +14,13 @@ type __VLS_Slots = {} & {
14
14
  } & {
15
15
  close?: (props: typeof __VLS_16) => any;
16
16
  };
17
- declare const __VLS_base: vue286.DefineComponent<TagProps, {}, {}, {}, {}, vue286.ComponentOptionsMixin, vue286.ComponentOptionsMixin, {
17
+ declare const __VLS_base: vue279.DefineComponent<TagProps, {}, {}, {}, {}, vue279.ComponentOptionsMixin, vue279.ComponentOptionsMixin, {
18
18
  "update:open": (open: boolean) => any;
19
- }, string, vue286.PublicProps, Readonly<TagProps> & Readonly<{
19
+ }, string, vue279.PublicProps, Readonly<TagProps> & Readonly<{
20
20
  "onUpdate:open"?: ((open: boolean) => any) | undefined;
21
21
  }>, {
22
22
  open: boolean;
23
- }, {}, {}, {}, string, vue286.ComponentProvideOptions, false, {}, any>;
23
+ }, {}, {}, {}, string, vue279.ComponentProvideOptions, false, {}, any>;
24
24
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
25
  declare const _default: typeof __VLS_export;
26
26
  type __VLS_WithSlots<T, S> = T & {
@@ -1,10 +1,11 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
3
  import { TagShape, TagVariant } from "../../variants/tag.js";
4
- import { TagEmits, TagProps } from "@soybeanjs/headless";
4
+ import { ClassValue, TagEmits, TagProps } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/tag/types.d.ts
7
7
  interface TagProps$1 extends TagProps {
8
+ class?: ClassValue;
8
9
  color?: ThemeColor;
9
10
  size?: ThemeSize;
10
11
  variant?: TagVariant;
@@ -1,5 +1,5 @@
1
1
  import { TextareaResize } from "../../variants/textarea.js";
2
- import { TextareaEmits, TextareaExtraThemeSlot, TextareaProps } from "./types.js";
2
+ import { TextareaEmits, TextareaExtraUiSlot, TextareaProps } from "./types.js";
3
3
  import { _default } from "./textarea.vue.js";
4
4
  import { TextareaControlProps, TextareaCounterProps, TextareaRootEmits, TextareaRootProps } from "@soybeanjs/headless/textarea";
5
5
  export { type TextareaControlProps, type TextareaCounterProps, type TextareaRootEmits, type TextareaRootProps };
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../icon/icon.js";import{textareaVariants as n}from"../../variants/textarea.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{TextareaControl as v,TextareaCounter as y,TextareaRoot as b,provideTextareaThemeContext as x}from"@soybeanjs/headless";var S=s({name:`STextarea`,__name:`textarea`,props:{size:{},ui:{},resize:{},clearable:{type:Boolean},showCounter:{type:Boolean},textareaRef:{type:Function},controlProps:{},counterProps:{},defaultValue:{},modelValue:{},autosize:{type:[Boolean,Object]},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:S}){let C=s,w=S,[T,E]=g(e=>C.textareaRef?.(e)),D=_(C,[`size`,`ui`,`resize`,`clearable`,`showCounter`,`textareaRef`,`controlProps`,`counterProps`]),O=r(()=>e(n({size:C.size,resize:C.autosize?!1:C.resize}),C.ui));return x({ui:O}),(e,n)=>(f(),i(m(b),l(m(D),{"onUpdate:modelValue":n[0]||=e=>w(`update:modelValue`,e)}),{default:h(({clear:n})=>[o(m(v),l(s.controlProps,{ref:m(E)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),s.showCounter?(f(),i(m(y),{key:1},{default:h(t=>[p(e.$slots,`counter`,d(c(t)))]),_:3})):a(`v-if`,!0),p(e.$slots,`footer`)]),_:3},16))}});export{S as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import t from"../icon/icon.js";import{textareaVariants as n}from"../../variants/textarea.js";import{computed as r,createBlock as i,createCommentVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeClass as u,normalizeProps as d,openBlock as f,renderSlot as p,unref as m,withCtx as h}from"vue";import{useForwardElement as g,useOmitProps as _}from"@soybeanjs/headless/composables";import{TextareaControl as v,TextareaCounter as y,TextareaRoot as b,provideTextareaUi as x}from"@soybeanjs/headless";var S=s({name:`STextarea`,__name:`textarea`,props:{class:{},size:{},ui:{},resize:{},clearable:{type:Boolean},showCounter:{type:Boolean},textareaRef:{type:Function},controlProps:{},counterProps:{},defaultValue:{},modelValue:{},autosize:{type:[Boolean,Object]},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`],setup(s,{emit:S}){let C=s,w=S,[T,E]=g(e=>C.textareaRef?.(e)),D=_(C,[`class`,`size`,`ui`,`resize`,`clearable`,`showCounter`,`textareaRef`,`controlProps`,`counterProps`]),O=r(()=>e(n({size:C.size,resize:C.autosize?!1:C.resize}),C.ui,{root:C.class}));return x(O),(e,n)=>(f(),i(m(b),l(m(D),{"onUpdate:modelValue":n[0]||=e=>w(`update:modelValue`,e)}),{default:h(({clear:n})=>[o(m(v),l(s.controlProps,{ref:m(E)}),null,16),s.clearable?(f(),i(t,{key:0,icon:`lucide:x`,class:u(O.value.clearable),onClick:n},null,8,[`class`,`onClick`])):a(`v-if`,!0),s.showCounter?(f(),i(m(y),{key:1},{default:h(t=>[p(e.$slots,`counter`,d(c(t)))]),_:3})):a(`v-if`,!0),p(e.$slots,`footer`)]),_:3},16))}});export{S as default};
@@ -1,5 +1,5 @@
1
1
  import { TextareaProps } from "./types.js";
2
- import * as vue150 from "vue";
2
+ import * as vue284 from "vue";
3
3
 
4
4
  //#region src/components/textarea/textarea.vue.d.ts
5
5
  declare var __VLS_28: {
@@ -11,11 +11,11 @@ type __VLS_Slots = {} & {
11
11
  } & {
12
12
  footer?: (props: typeof __VLS_30) => any;
13
13
  };
14
- declare const __VLS_base: vue150.DefineComponent<TextareaProps, {}, {}, {}, {}, vue150.ComponentOptionsMixin, vue150.ComponentOptionsMixin, {
14
+ declare const __VLS_base: vue284.DefineComponent<TextareaProps, {}, {}, {}, {}, vue284.ComponentOptionsMixin, vue284.ComponentOptionsMixin, {
15
15
  "update:modelValue": (value: string) => any;
16
- }, string, vue150.PublicProps, Readonly<TextareaProps> & Readonly<{
16
+ }, string, vue284.PublicProps, Readonly<TextareaProps> & Readonly<{
17
17
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
18
- }>, {}, {}, {}, {}, string, vue150.ComponentProvideOptions, false, {}, any>;
18
+ }>, {}, {}, {}, {}, string, vue284.ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
21
21
  type __VLS_WithSlots<T, S> = T & {
@@ -4,9 +4,10 @@ import { TextareaResize } from "../../variants/textarea.js";
4
4
  import { ClassValue, TextareaControlProps, TextareaCounterProps, TextareaRootEmits, TextareaRootProps, TextareaUi } from "@soybeanjs/headless";
5
5
 
6
6
  //#region src/components/textarea/types.d.ts
7
- type TextareaExtraThemeSlot = 'clearable';
8
- type TextareaExtendedUi = TextareaUi & Record<TextareaExtraThemeSlot, ClassValue>;
7
+ type TextareaExtraUiSlot = 'clearable';
8
+ type TextareaExtendedUi = TextareaUi & Record<TextareaExtraUiSlot, ClassValue>;
9
9
  interface TextareaProps extends TextareaRootProps {
10
+ class?: ClassValue;
10
11
  size?: ThemeSize;
11
12
  ui?: Partial<TextareaExtendedUi>;
12
13
  /**
@@ -33,4 +34,4 @@ interface TextareaProps extends TextareaRootProps {
33
34
  }
34
35
  type TextareaEmits = TextareaRootEmits;
35
36
  //#endregion
36
- export { TextareaEmits, TextareaExtraThemeSlot, TextareaProps };
37
+ export { TextareaEmits, TextareaExtraUiSlot, TextareaProps };
@@ -1 +1 @@
1
- import{mergeUi as e}from"../../theme/shared.js";import{toastTypes as t}from"./shared.js";import{computed as n,nextTick as r,shallowRef as i,watch as a}from"vue";import{useContext as o}from"@soybeanjs/headless/composables";import{useDebounceFn as s}from"@vueuse/core";const[c,l]=o(`UiToastProvider`,o=>{let{size:c,ui:l,limits:u,removeDelay:d}=o,f=i(o.position.value),p=i([]),m=n(()=>p.value.map(e=>e.id)),h=i([]),g=s(()=>{h.value=p.value},d.value);a(p,(e,t)=>{e.length>=t.length?h.value=p.value:g()});let _=e=>{p.value=[e,...p.value].slice(0,u.value)},v=e=>{p.value=p.value.filter(t=>t.id!==e)},y=()=>{p.value=[]},b=0,x=t=>{let{showIcon:n=!0,size:r=c.value,ui:i,...a}=t,o=b;return b++,{id:o,size:r,showIcon:n,ui:e(l.value,i??{}),...a}},S=e=>{let t=x(e),n=e.position??o.position.value;f.value!==n&&(f.value=n,y()),r(()=>{_(t)})},C=S;C.clear=y;for(let e of t)C[e]=t=>S({type:e,...t});return{useToast:C,clear:y,ids:m,states:n(()=>h.value),remove:v,position:f}}),u=()=>{let{useToast:e}=l(`UiToastConsumer`);return e};export{c as provideToastProviderContext,u as useToast};
1
+ import{mergeUi as e}from"../../theme/shared.js";import{toastTypes as t}from"./shared.js";import{computed as n,nextTick as r,shallowRef as i,watch as a}from"vue";import{useContext as o}from"@soybeanjs/headless/composables";import{useDebounceFn as s}from"@vueuse/core";const[c,l]=o(`UiToastProvider`,o=>{let{size:c,ui:l,limits:u,removeDelay:d}=o,f=i(o.position.value),p=i([]),m=n(()=>p.value.map(e=>e.id)),h=i([]),g=s(()=>{h.value=p.value},d.value);a(p,(e,t)=>{e.length>=t.length?h.value=p.value:g()});let _=e=>{p.value=[e,...p.value].slice(0,u.value)},v=e=>{p.value=p.value.filter(t=>t.id!==e)},y=()=>{p.value=[]},b=0,x=t=>{let{showIcon:n=!0,size:r=c.value,ui:i,...a}=t,o=b;return b++,{id:o,size:r,showIcon:n,ui:e(l.value,i),...a}},S=e=>{let t=x(e),n=e.position??o.position.value;f.value!==n&&(f.value=n,y()),r(()=>{_(t)})},C=S;C.clear=y;for(let e of t)C[e]=t=>S({type:e,...t});return{useToast:C,clear:y,ids:m,states:n(()=>h.value),remove:v,position:f}}),u=()=>{let{useToast:e}=l(`UiToastConsumer`);return e};export{c as provideToastProviderContext,u as useToast};
@@ -1 +1 @@
1
- import{cn as e}from"../../theme/merge.js";import{toastViewportVariants as t}from"../../variants/toast.js";import{provideToastProviderContext as n}from"./context.js";import r from"./toast.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createSlots as l,createTextVNode as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,onBeforeUnmount as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,unref as S,withCtx as C}from"vue";import{useOmitProps as w}from"@soybeanjs/headless/composables";import{ToastProvider as T,ToastViewport as E,provideToastViewportThemeContext as D}from"@soybeanjs/headless";import{transformPropsToContext as O}from"@soybeanjs/headless/shared";var k=f({name:`SToast`,__name:`toast-provider`,props:{size:{default:`md`},ui:{default:()=>({})},limits:{default:3},removeDelay:{default:5e3},position:{default:`top-right`},viewportProps:{},label:{},duration:{},swipeDirection:{},swipeThreshold:{}},setup(f){let k=f,A=w(k,[`size`,`ui`,`limits`,`removeDelay`,`position`,`viewportProps`]),{states:j,ids:M,clear:N,remove:P,position:F}=n(O(k,[`size`,`ui`,`limits`,`removeDelay`,`position`]));return D(a(()=>e(t({size:k.size,position:F.value}),k.ui?.viewport))),g(()=>{N()}),(e,t)=>(_(),o(S(T),h(p(S(A))),{default:C(()=>[d(S(E),h(p(f.viewportProps)),null,16),(_(!0),c(i,null,v(S(j),({id:e,title:t,description:n,content:a,...d})=>(_(),o(r,m({key:e},{ref_for:!0},d,{open:S(M).includes(e),"onUpdate:open":t=>S(P)(e)}),l({default:C(()=>[a?(_(),o(b(a),{key:0})):s(`v-if`,!0)]),_:2},[t?{name:`title`,fn:C(()=>[typeof t==`string`?(_(),c(i,{key:0},[u(x(t),1)],64)):(_(),o(b(t),{key:1}))]),key:`0`}:void 0,n?{name:`description`,fn:C(()=>[typeof n==`string`?(_(),c(i,{key:0},[u(x(n),1)],64)):(_(),o(b(n),{key:1}))]),key:`1`}:void 0]),1040,[`open`,`onUpdate:open`]))),128)),y(e.$slots,`default`)]),_:3},16))}});export{k as default};
1
+ import{cn as e}from"../../theme/merge.js";import{toastViewportVariants as t}from"../../variants/toast.js";import{provideToastProviderContext as n}from"./context.js";import r from"./toast.js";import{Fragment as i,computed as a,createBlock as o,createCommentVNode as s,createElementBlock as c,createSlots as l,createTextVNode as u,createVNode as d,defineComponent as f,guardReactiveProps as p,mergeProps as m,normalizeProps as h,onBeforeUnmount as g,openBlock as _,renderList as v,renderSlot as y,resolveDynamicComponent as b,toDisplayString as x,unref as S,withCtx as C}from"vue";import{useOmitProps as w}from"@soybeanjs/headless/composables";import{ToastProvider as T,ToastViewport as E,provideToastViewportUi as D}from"@soybeanjs/headless";import{transformPropsToContext as O}from"@soybeanjs/headless/shared";var k=f({name:`SToast`,__name:`toast-provider`,props:{size:{default:`md`},ui:{default:()=>({})},limits:{default:3},removeDelay:{default:5e3},position:{default:`top-right`},viewportProps:{},label:{},duration:{},swipeDirection:{},swipeThreshold:{}},setup(f){let k=f,A=w(k,[`size`,`ui`,`limits`,`removeDelay`,`position`,`viewportProps`]),{states:j,ids:M,clear:N,remove:P,position:F}=n(O(k,[`size`,`ui`,`limits`,`removeDelay`,`position`]));return D(a(()=>e(t({size:k.size,position:F.value}),k.ui?.viewport))),g(()=>{N()}),(e,t)=>(_(),o(S(T),h(p(S(A))),{default:C(()=>[d(S(E),h(p(f.viewportProps)),null,16),(_(!0),c(i,null,v(S(j),({id:e,title:t,description:n,content:a,...d})=>(_(),o(r,m({key:e},{ref_for:!0},d,{open:S(M).includes(e),"onUpdate:open":t=>S(P)(e)}),l({default:C(()=>[a?(_(),o(b(a),{key:0})):s(`v-if`,!0)]),_:2},[t?{name:`title`,fn:C(()=>[typeof t==`string`?(_(),c(i,{key:0},[u(x(t),1)],64)):(_(),o(b(t),{key:1}))]),key:`0`}:void 0,n?{name:`description`,fn:C(()=>[typeof n==`string`?(_(),c(i,{key:0},[u(x(n),1)],64)):(_(),o(b(n),{key:1}))]),key:`1`}:void 0]),1040,[`open`,`onUpdate:open`]))),128)),y(e.$slots,`default`)]),_:3},16))}});export{k as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{toastVariants as t}from"../../variants/toast.js";import n from"../button/button-icon.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeClass as d,normalizeProps as f,openBlock as p,renderSlot as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{ToastClose as b,ToastDescription as x,ToastRoot as S,ToastTitle as C,provideToastThemeContext as w}from"@soybeanjs/headless";var T=c({name:`SToast`,__name:`toast`,props:{size:{},ui:{},type:{},color:{},position:{},showIcon:{type:Boolean,default:!0},titleProps:{},descriptionProps:{},liveType:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},duration:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(c,{emit:T}){let E=c,D=T,O=y(E,[`size`,`ui`,`color`,`titleProps`,`descriptionProps`]),k=v(D),A=i(()=>e(t({color:E.color,size:E.size}),E.ui)),j={destructive:{icon:`lucide:circle-x`,class:`text-destructive`},success:{icon:`lucide:circle-check`,class:`text-success`},warning:{icon:`lucide:circle-alert`,class:`text-warning`},info:{icon:`lucide:info`,class:`text-info`}},M=i(()=>E.type?j[E.type]:null);return w({ui:A}),(e,t)=>(p(),a(g(S),u(g(O),h(g(k))),{default:_(()=>[s(g(C),f(l(c.titleProps)),{default:_(()=>[c.showIcon&&M.value?(p(),a(r,{key:0,icon:M.value.icon,class:d(M.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),m(e.$slots,`title`)]),_:3},16),s(g(x),f(l(c.descriptionProps)),{default:_(()=>[m(e.$slots,`description`)]),_:3},16),s(g(b),{"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(n,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3}),m(e.$slots,`default`)]),_:3},16))}});export{T as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{toastVariants as t}from"../../variants/toast.js";import n from"../button/button-icon.js";import r from"../icon/icon.js";import{computed as i,createBlock as a,createCommentVNode as o,createVNode as s,defineComponent as c,guardReactiveProps as l,mergeProps as u,normalizeClass as d,normalizeProps as f,openBlock as p,renderSlot as m,toHandlers as h,unref as g,withCtx as _}from"vue";import{useForwardListeners as v,useOmitProps as y}from"@soybeanjs/headless/composables";import{ToastClose as b,ToastDescription as x,ToastRoot as S,ToastTitle as C,provideToastUi as w}from"@soybeanjs/headless";var T=c({name:`SToast`,__name:`toast`,props:{class:{},size:{},ui:{},type:{},color:{},position:{},showIcon:{type:Boolean,default:!0},titleProps:{},descriptionProps:{},liveType:{},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean},duration:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pause`,`resume`,`swipeStart`,`swipeMove`,`swipeCancel`,`swipeEnd`,`update:open`],setup(c,{emit:T}){let E=c,D=T,O=y(E,[`class`,`size`,`ui`,`color`,`titleProps`,`descriptionProps`]),k=v(D),A=i(()=>e(t({color:E.color,size:E.size}),E.ui,{root:E.class})),j={destructive:{icon:`lucide:circle-x`,class:`text-destructive`},success:{icon:`lucide:circle-check`,class:`text-success`},warning:{icon:`lucide:circle-alert`,class:`text-warning`},info:{icon:`lucide:info`,class:`text-info`}},M=i(()=>E.type?j[E.type]:null);return w(A),(e,t)=>(p(),a(g(S),u(g(O),h(g(k))),{default:_(()=>[s(g(C),f(l(c.titleProps)),{default:_(()=>[c.showIcon&&M.value?(p(),a(r,{key:0,icon:M.value.icon,class:d(M.value.class)},null,8,[`icon`,`class`])):o(`v-if`,!0),m(e.$slots,`title`)]),_:3},16),s(g(x),f(l(c.descriptionProps)),{default:_(()=>[m(e.$slots,`description`)]),_:3},16),s(g(b),{"as-child":``},{default:_(()=>[m(e.$slots,`close`,{},()=>[s(n,{size:c.size,icon:`lucide:x`},null,8,[`size`])])]),_:3}),m(e.$slots,`default`)]),_:3},16))}});export{T as default};
@@ -33,6 +33,7 @@ interface ToastProviderProps$1 extends ToastProviderProps {
33
33
  type ToastColor = 'default' | ThemeColor;
34
34
  type ToastType = Extract<ThemeColor, 'destructive' | 'success' | 'warning' | 'info'>;
35
35
  interface ToastProps extends ToastRootProps {
36
+ class?: ClassValue;
36
37
  size?: ThemeSize;
37
38
  ui?: Partial<ToastUi>;
38
39
  type?: ToastType;
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{tooltipVariants as t}from"../../variants/tooltip.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{TooltipArrow as y,TooltipPopup as b,TooltipPortal as x,TooltipPositioner as S,TooltipRoot as C,TooltipTrigger as w,provideTooltipThemeContext as T}from"@soybeanjs/headless";var E=s({name:`STooltip`,__name:`tooltip`,props:{size:{},ui:{},content:{},placement:{},showArrow:{type:Boolean,default:!0},popupProps:{},positionerProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`],setup(s,{emit:E}){let D=s,O=E,k=v(D,[`size`,`ui`,`content`,`showArrow`,`popupProps`,`positionerProps`,`triggerProps`,`portalProps`,`arrowProps`]),A=_(O),j=n(()=>e(t({size:D.size}),D.ui)),M=n(()=>({placement:D.placement,...D.positionerProps}));return T({ui:j}),(e,t)=>(d(),r(h(C),l(h(k),{"onUpdate:open":t[0]||=e=>O(`update:open`,e)}),{default:g(()=>[o(h(w),{"as-child":``},{default:g(()=>[f(e.$slots,`trigger`)]),_:3}),o(h(x),u(c(s.portalProps)),{default:g(()=>[o(h(S),l(M.value,m(h(A))),{default:g(()=>[o(h(b),u(c(s.popupProps)),{default:g(()=>[f(e.$slots,`default`,{},()=>[a(p(s.content),1)]),s.showArrow?(d(),r(h(y),u(l({key:0},s.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{E as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{tooltipVariants as t}from"../../variants/tooltip.js";import{computed as n,createBlock as r,createCommentVNode as i,createTextVNode as a,createVNode as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toDisplayString as p,toHandlers as m,unref as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{TooltipArrow as y,TooltipPopup as b,TooltipPortal as x,TooltipPositioner as S,TooltipRoot as C,TooltipTrigger as w,provideTooltipUi as T}from"@soybeanjs/headless";var E=s({name:`STooltip`,__name:`tooltip`,props:{class:{},size:{},ui:{},content:{},placement:{},showArrow:{type:Boolean,default:!0},popupProps:{},positionerProps:{},triggerProps:{},portalProps:{},arrowProps:{},defaultOpen:{type:Boolean,default:!1},open:{type:Boolean,default:void 0},delayDuration:{},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`,`escapeKeyDown`,`pointerDownOutside`],setup(s,{emit:E}){let D=s,O=E,k=v(D,[`class`,`size`,`ui`,`content`,`showArrow`,`popupProps`,`positionerProps`,`triggerProps`,`portalProps`,`arrowProps`]),A=_(O),j=n(()=>e(t({size:D.size}),D.ui,{popup:D.class})),M=n(()=>({placement:D.placement,...D.positionerProps}));return T(j),(e,t)=>(d(),r(h(C),l(h(k),{"onUpdate:open":t[0]||=e=>O(`update:open`,e)}),{default:g(()=>[o(h(w),{"as-child":``},{default:g(()=>[f(e.$slots,`trigger`)]),_:3}),o(h(x),u(c(s.portalProps)),{default:g(()=>[o(h(S),l(M.value,m(h(A))),{default:g(()=>[o(h(b),u(c(s.popupProps)),{default:g(()=>[f(e.$slots,`default`,{},()=>[a(p(s.content),1)]),s.showArrow?(d(),r(h(y),u(l({key:0},s.arrowProps)),null,16)):i(`v-if`,!0)]),_:3},16)]),_:3},16)]),_:3},16)]),_:3},16))}});export{E as default};
@@ -1,6 +1,6 @@
1
1
  import { TooltipProps } from "./types.js";
2
- import * as vue305 from "vue";
3
- import * as _soybeanjs_headless154 from "@soybeanjs/headless";
2
+ import * as vue301 from "vue";
3
+ import * as _soybeanjs_headless180 from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/tooltip/tooltip.vue.d.ts
6
6
  declare var __VLS_16: {}, __VLS_36: {};
@@ -9,19 +9,19 @@ type __VLS_Slots = {} & {
9
9
  } & {
10
10
  default?: (props: typeof __VLS_36) => any;
11
11
  };
12
- declare const __VLS_base: vue305.DefineComponent<TooltipProps, {}, {}, {}, {}, vue305.ComponentOptionsMixin, vue305.ComponentOptionsMixin, {
12
+ declare const __VLS_base: vue301.DefineComponent<TooltipProps, {}, {}, {}, {}, vue301.ComponentOptionsMixin, vue301.ComponentOptionsMixin, {
13
13
  "update:open": (value: boolean) => any;
14
14
  escapeKeyDown: (event: KeyboardEvent) => any;
15
- pointerDownOutside: (event: _soybeanjs_headless154.PointerDownOutsideEvent) => any;
16
- }, string, vue305.PublicProps, Readonly<TooltipProps> & Readonly<{
15
+ pointerDownOutside: (event: _soybeanjs_headless180.PointerDownOutsideEvent) => any;
16
+ }, string, vue301.PublicProps, Readonly<TooltipProps> & Readonly<{
17
17
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
18
18
  onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
19
- onPointerDownOutside?: ((event: _soybeanjs_headless154.PointerDownOutsideEvent) => any) | undefined;
19
+ onPointerDownOutside?: ((event: _soybeanjs_headless180.PointerDownOutsideEvent) => any) | undefined;
20
20
  }>, {
21
21
  open: boolean;
22
22
  defaultOpen: boolean;
23
23
  showArrow: boolean;
24
- }, {}, {}, {}, string, vue305.ComponentProvideOptions, false, {}, any>;
24
+ }, {}, {}, {}, string, vue301.ComponentProvideOptions, false, {}, any>;
25
25
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
26
  declare const _default: typeof __VLS_export;
27
27
  type __VLS_WithSlots<T, S> = T & {
@@ -1,9 +1,13 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import "../../theme/index.js";
3
- import { Placement, TooltipArrowProps, TooltipPopupProps, TooltipPortalProps, TooltipPositionerEmits, TooltipPositionerProps, TooltipRootEmits, TooltipRootProps, TooltipTriggerProps, TooltipUi } from "@soybeanjs/headless";
3
+ import { ClassValue, Placement, TooltipArrowProps, TooltipPopupProps, TooltipPortalProps, TooltipPositionerEmits, TooltipPositionerProps, TooltipRootEmits, TooltipRootProps, TooltipTriggerProps, TooltipUi } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/tooltip/types.d.ts
6
6
  interface TooltipProps extends TooltipRootProps {
7
+ /**
8
+ * class of popup
9
+ */
10
+ class?: ClassValue;
7
11
  size?: ThemeSize;
8
12
  ui?: Partial<TooltipUi>;
9
13
  content?: string;
@@ -1,12 +1,12 @@
1
1
  import { TreeVirtualizerProps } from "./types.js";
2
- import * as vue3 from "vue";
3
- import * as _soybeanjs_headless0 from "@soybeanjs/headless";
2
+ import * as vue65 from "vue";
3
+ import * as _soybeanjs_headless8 from "@soybeanjs/headless";
4
4
  import { MaybeArray, TreeItemData } from "@soybeanjs/headless";
5
5
  import * as _tanstack_vue_virtual0 from "@tanstack/vue-virtual";
6
6
 
7
7
  //#region src/components/tree/tree-virtualizer.vue.d.ts
8
8
  declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string> | undefined, M extends boolean>(__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<{
9
- props: vue3.PublicProps & __VLS_PrettifyLocal<TreeVirtualizerProps<T, U, M> & {
9
+ props: vue65.PublicProps & __VLS_PrettifyLocal<TreeVirtualizerProps<T, U, M> & {
10
10
  "onUpdate:modelValue"?: ((value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => any) | undefined;
11
11
  "onUpdate:expanded"?: ((value: string[]) => any) | undefined;
12
12
  }> & (typeof globalThis extends {
@@ -18,13 +18,13 @@ declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string
18
18
  item?: (props: {
19
19
  key: number;
20
20
  virtualItem: _tanstack_vue_virtual0.VirtualItem;
21
- item: _soybeanjs_headless0.FlattenedItem<T>;
21
+ item: _soybeanjs_headless8.FlattenedItem<T>;
22
22
  modelValue: U;
23
23
  expanded: string[];
24
24
  }) => any;
25
25
  };
26
26
  emit: ((evt: "update:modelValue", value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => void) & ((evt: "update:expanded", value: string[]) => void);
27
- }>) => vue3.VNode & {
27
+ }>) => vue65.VNode & {
28
28
  __ctx?: Awaited<typeof __VLS_setup>;
29
29
  };
30
30
  declare const _default: typeof __VLS_export;
@@ -1,10 +1,10 @@
1
- import * as vue1 from "vue";
2
- import * as _soybeanjs_headless0 from "@soybeanjs/headless";
1
+ import * as vue63 from "vue";
2
+ import * as _soybeanjs_headless7 from "@soybeanjs/headless";
3
3
  import { MaybeArray, TreeItemData, TreeRootProps } from "@soybeanjs/headless";
4
4
 
5
5
  //#region src/components/tree/tree.vue.d.ts
6
6
  declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string> | undefined, M extends boolean>(__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: vue1.PublicProps & __VLS_PrettifyLocal<TreeRootProps<T, U, M> & {
7
+ props: vue63.PublicProps & __VLS_PrettifyLocal<TreeRootProps<T, U, M> & {
8
8
  "onUpdate:modelValue"?: ((value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => any) | undefined;
9
9
  "onUpdate:expanded"?: ((value: string[]) => any) | undefined;
10
10
  }> & (typeof globalThis extends {
@@ -17,7 +17,7 @@ declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string
17
17
  } & {
18
18
  item?: (props: {
19
19
  key: string;
20
- item: _soybeanjs_headless0.FlattenedItem<T>;
20
+ item: _soybeanjs_headless7.FlattenedItem<T>;
21
21
  modelValue: U | undefined;
22
22
  expanded: string[];
23
23
  }) => any;
@@ -25,7 +25,7 @@ declare const __VLS_export: <T extends TreeItemData, U extends MaybeArray<string
25
25
  bottom?: (props: {}) => any;
26
26
  };
27
27
  emit: ((evt: "update:modelValue", value: string | ((U extends string ? false : M extends true ? true : false) extends infer T_1 ? T_1 extends (U extends string ? false : M extends true ? true : false) ? T_1 extends true ? string[] : string : never : never)) => void) & ((evt: "update:expanded", value: string[]) => void);
28
- }>) => vue1.VNode & {
28
+ }>) => vue63.VNode & {
29
29
  __ctx?: Awaited<typeof __VLS_setup>;
30
30
  };
31
31
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- import{useContext as e}from"@soybeanjs/headless/composables";const[t,n]=e(`TreeMenu`,e=>e),[r,i]=e(`TreeMenuExtraTheme`,e=>e);export{t as provideTreeMenuContext,r as provideTreeMenuExtraThemeContext,n as useTreeMenuContext,i as useTreeMenuExtraThemeContext};
1
+ import{useContext as e,useUiContext as t}from"@soybeanjs/headless/composables";const[n,r]=e(`TreeMenu`,e=>e),[i,a]=t(`TreeMenuExtraUi`);export{n as provideTreeMenuContext,i as provideTreeMenuExtraUi,r as useTreeMenuContext,a as useTreeMenuExtraUi};
@@ -1,3 +1,3 @@
1
- import { TreeMenuBaseOptionData, TreeMenuContextParams, TreeMenuEmits, TreeMenuExtendedUi, TreeMenuExtraThemeContextParams, TreeMenuExtraThemeSlot, TreeMenuGroupOptionData, TreeMenuItemEmits, TreeMenuOptionData, TreeMenuOptionProps, TreeMenuOptionSlotProps, TreeMenuProps } from "./types.js";
1
+ import { TreeMenuBaseOptionData, TreeMenuContextParams, TreeMenuEmits, TreeMenuExtendedUi, TreeMenuExtraUiSlot, TreeMenuGroupOptionData, TreeMenuItemEmits, TreeMenuOptionData, TreeMenuOptionProps, TreeMenuOptionSlotProps, TreeMenuProps } from "./types.js";
2
2
  import { _default } from "./tree-menu.vue.js";
3
3
  import { _default as _default$1 } from "./tree-menu-styled-item.vue.js";
@@ -1 +1 @@
1
- import e from"../button/button-icon.js";import t from"../icon/icon.js";import n from"../badge/badge.js";import r from"../dropdown-menu/dropdown-menu.js";import i from"../tag/tag.js";import{useTreeMenuContext as a,useTreeMenuExtraThemeContext as o}from"./context.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createVNode as p,defineComponent as m,mergeProps as h,normalizeClass as g,openBlock as _,renderSlot as v,toDisplayString as y,unref as b,withCtx as x,withModifiers as S}from"vue";import{useTreeMenuRootContext as C}from"@soybeanjs/headless";var w=m({name:`STreeMenuOptionSlot`,__name:`tree-menu-option-slot`,props:{showLinkIcon:{type:Boolean},item:{}},setup(m){let w=m,{collapsed:T}=C(`TreeMenuOptionSlot`),{size:E}=a(`TreeMenuOptionSlot`),D=o(`TreeMenuOptionSlot`),O=c(()=>!!w.item.children?.length),k=c(()=>({color:`accent`,variant:`raw`,...w.item.tagProps,content:w.item.tag}));return(a,o)=>(_(),d(s,null,[v(a.$slots,`leading`,{item:m.item},()=>[m.item.icon?(_(),l(t,{key:0,icon:m.item.icon},null,8,[`icon`])):u(`v-if`,!0)]),v(a.$slots,`default`,{item:m.item},()=>[m.item.badge?(_(),l(n,h({key:0},m.item.badgeProps,{size:b(E),content:m.item.badge,class:b(D).itemBadge}),{default:x(()=>[f(`span`,{class:g(b(D).itemLabel)},y(m.item.label),3)]),_:1},16,[`size`,`content`,`class`])):(_(),d(`span`,{key:1,class:g(b(D).itemLabel)},y(m.item.label),3))]),m.showLinkIcon?(_(),l(t,{key:0,icon:`lucide:arrow-up-right`,class:g(b(D).itemLinkIcon)},null,8,[`class`])):u(`v-if`,!0),m.item.tag?(_(),l(i,h({key:1},k.value,{size:b(E),content:m.item.tag,class:b(D).itemTag}),null,16,[`size`,`content`,`class`])):u(`v-if`,!0),!b(T)&&m.item.actions?.length?(_(),l(r,h({key:2},m.item.actionMenuProps,{size:b(E),items:m.item.actions,onSelect:m.item.onActionSelect}),{trigger:x(()=>[p(e,{icon:`lucide:ellipsis`,size:b(E),class:g(b(D).itemAction),onClick:o[0]||=S(()=>{},[`stop`])},null,8,[`size`,`class`])]),_:1},16,[`size`,`items`,`onSelect`])):u(`v-if`,!0),v(a.$slots,`trailing`,{item:m.item}),O.value?(_(),l(t,{key:3,icon:`lucide:chevron-right`,class:g(b(D).collapsibleIcon)},null,8,[`class`])):u(`v-if`,!0)],64))}});export{w as default};
1
+ import e from"../button/button-icon.js";import t from"../icon/icon.js";import n from"../badge/badge.js";import r from"../dropdown-menu/dropdown-menu.js";import i from"../tag/tag.js";import{useTreeMenuContext as a,useTreeMenuExtraUi as o}from"./context.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createVNode as p,defineComponent as m,mergeProps as h,normalizeClass as g,openBlock as _,renderSlot as v,toDisplayString as y,unref as b,withCtx as x,withModifiers as S}from"vue";import{useTreeMenuRootContext as C}from"@soybeanjs/headless";var w=m({name:`STreeMenuOptionSlot`,__name:`tree-menu-option-slot`,props:{showLinkIcon:{type:Boolean},item:{}},setup(m){let w=m,{collapsed:T}=C(`TreeMenuOptionSlot`),{size:E}=a(`TreeMenuOptionSlot`),D=o(),O=c(()=>!!w.item.children?.length),k=c(()=>({color:`accent`,variant:`raw`,...w.item.tagProps,content:w.item.tag}));return(a,o)=>(_(),d(s,null,[v(a.$slots,`leading`,{item:m.item},()=>[m.item.icon?(_(),l(t,{key:0,icon:m.item.icon},null,8,[`icon`])):u(`v-if`,!0)]),v(a.$slots,`default`,{item:m.item},()=>[m.item.badge?(_(),l(n,h({key:0},m.item.badgeProps,{size:b(E),content:m.item.badge,class:b(D).itemBadge}),{default:x(()=>[f(`span`,{class:g(b(D).itemLabel)},y(m.item.label),3)]),_:1},16,[`size`,`content`,`class`])):(_(),d(`span`,{key:1,class:g(b(D).itemLabel)},y(m.item.label),3))]),m.showLinkIcon?(_(),l(t,{key:0,icon:`lucide:arrow-up-right`,class:g(b(D).itemLinkIcon)},null,8,[`class`])):u(`v-if`,!0),m.item.tag?(_(),l(i,h({key:1},k.value,{size:b(E),content:m.item.tag,class:b(D).itemTag}),null,16,[`size`,`content`,`class`])):u(`v-if`,!0),!b(T)&&m.item.actions?.length?(_(),l(r,h({key:2},m.item.actionMenuProps,{size:b(E),items:m.item.actions,onSelect:m.item.onActionSelect}),{trigger:x(()=>[p(e,{icon:`lucide:ellipsis`,size:b(E),class:g(b(D).itemAction),onClick:o[0]||=S(()=>{},[`stop`])},null,8,[`size`,`class`])]),_:1},16,[`size`,`items`,`onSelect`])):u(`v-if`,!0),v(a.$slots,`trailing`,{item:m.item}),O.value?(_(),l(t,{key:3,icon:`lucide:chevron-right`,class:g(b(D).collapsibleIcon)},null,8,[`class`])):u(`v-if`,!0)],64))}});export{w as default};
@@ -1 +1 @@
1
- import e from"../link/link.js";import t from"../dropdown-menu/dropdown-menu.js";import n from"../tooltip/tooltip.js";import{useTreeMenuContext as r,useTreeMenuExtraThemeContext as i}from"./context.js";import a from"./tree-menu-option-slot.js";import{isChildActive as o}from"./shared.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as p,createVNode as m,defineComponent as h,guardReactiveProps as g,mergeProps as _,normalizeClass as v,normalizeProps as y,openBlock as b,renderList as x,renderSlot as S,resolveComponent as C,resolveDynamicComponent as w,unref as T,useSlots as E,withCtx as D}from"vue";import{TreeMenuButton as O,TreeMenuCollapsible as k,TreeMenuItem as A,TreeMenuSub as j,useTreeMenuRootContext as M}from"@soybeanjs/headless";var N=h({name:`STreeMenuOption`,__name:`tree-menu-option`,props:{item:{}},emits:[`selectDropdown`],setup(h,{emit:N}){let P=h,F=N,I=E(),{collapsed:L,modelValue:R,onModelValueChange:z}=M(`TreeMenuOption`),{size:B,side:V}=r(`TreeMenuOption`),H=i(`TreeMenuOption`),U=c(()=>Object.keys(I)),W=c(()=>!!P.item.children?.length),G=c(()=>o(P.item,R.value)),K=c(()=>!!(P.item.to||P.item.href)),q=c(()=>{let{disabled:e,to:t,href:n,target:r,external:i}=P.item;return K.value?{disabled:e,to:t,href:n,target:r,external:i}:{}}),J=c(()=>L.value&&W.value),Y=c(()=>L.value&&!J.value?P.item.label:void 0),X=c(()=>V.value===`left`?`right`:`left`),Z=c(()=>({...P.item.tooltipProps,placement:P.item.tooltipProps?.placement??X.value})),Q=c(()=>({...P.item.dropdownMenuProps,trigger:P.item.dropdownMenuProps?.trigger??`hover`,placement:P.item.dropdownMenuProps?.placement??X.value})),$=()=>{P.item.disabled||z(P.item.value)},ee=e=>{P.item.disabled||(z(e.value),F(`selectDropdown`,e.value))};return(r,i)=>{let o=C(`STreeMenuOption`);return W.value?(b(),l(T(A),{key:1,"as-child":``,value:h.item.value,disabled:h.item.disabled},{default:D(()=>[m(T(k),{as:`li`,"disabled-collapsible":T(L)},{trigger:D(()=>[m(T(O),{"disabled-active":``,"data-child-active":G.value},{default:D(()=>[m(a,{item:h.item},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},8,[`data-child-active`])]),extra:D(()=>[J.value?(b(),l(t,_({key:0},Q.value,{items:h.item.children??[],disabled:h.item.disabled,size:T(B),"data-menu":h.item.label,onSelect:ee}),{trigger:D(()=>[f(`div`,{class:v(T(H).itemAbsolute)},null,2)]),_:1},16,[`items`,`disabled`,`size`,`data-menu`])):u(`v-if`,!0)]),default:D(()=>[m(T(j),null,{default:D(()=>[(b(!0),d(s,null,x(h.item.children,e=>(b(),l(o,{key:e.value,item:e},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,_({ref_for:!0},t))])}))]),1032,[`item`]))),128))]),_:3})]),_:3},8,[`disabled-collapsible`])]),_:3},8,[`value`,`disabled`])):(b(),l(T(A),{key:0,value:h.item.value,disabled:h.item.disabled},{default:D(()=>[K.value?(b(),l(T(O),{key:0,"as-child":``},{default:D(()=>[m(e,y(g(q.value)),{default:D(({isHref:e})=>[m(a,{item:h.item,"show-link-icon":e},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`,`show-link-icon`])]),_:3},16)]),_:3})):(b(),l(T(O),{key:1},{default:D(()=>[m(a,{item:h.item},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3})),Y.value?(b(),l(n,_({key:2},Z.value,{size:T(B),content:Y.value}),{trigger:D(()=>[(b(),l(w(K.value?e:`div`),_(q.value,{class:T(H).itemAbsolute,onClick:$}),null,16,[`class`]))]),_:1},16,[`size`,`content`])):u(`v-if`,!0)]),_:3},8,[`value`,`disabled`]))}}});export{N as default};
1
+ import e from"../link/link.js";import t from"../dropdown-menu/dropdown-menu.js";import n from"../tooltip/tooltip.js";import{useTreeMenuContext as r,useTreeMenuExtraUi as i}from"./context.js";import a from"./tree-menu-option-slot.js";import{isChildActive as o}from"./shared.js";import{Fragment as s,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as p,createVNode as m,defineComponent as h,guardReactiveProps as g,mergeProps as _,normalizeClass as v,normalizeProps as y,openBlock as b,renderList as x,renderSlot as S,resolveComponent as C,resolveDynamicComponent as w,unref as T,useSlots as E,withCtx as D}from"vue";import{TreeMenuButton as O,TreeMenuCollapsible as k,TreeMenuItem as A,TreeMenuSub as j,useTreeMenuRootContext as M}from"@soybeanjs/headless";var N=h({name:`STreeMenuOption`,__name:`tree-menu-option`,props:{item:{}},emits:[`selectDropdown`],setup(h,{emit:N}){let P=h,F=N,I=E(),{collapsed:L,modelValue:R,onModelValueChange:z}=M(`TreeMenuOption`),{size:B,side:V}=r(`TreeMenuOption`),H=i(`itemAbsolute`),U=c(()=>Object.keys(I)),W=c(()=>!!P.item.children?.length),G=c(()=>o(P.item,R.value)),K=c(()=>!!(P.item.to||P.item.href)),q=c(()=>{let{disabled:e,to:t,href:n,target:r,external:i}=P.item;return K.value?{disabled:e,to:t,href:n,target:r,external:i}:{}}),J=c(()=>L.value&&W.value),Y=c(()=>L.value&&!J.value?P.item.label:void 0),X=c(()=>V.value===`left`?`right`:`left`),Z=c(()=>({...P.item.tooltipProps,placement:P.item.tooltipProps?.placement??X.value})),Q=c(()=>({...P.item.dropdownMenuProps,trigger:P.item.dropdownMenuProps?.trigger??`hover`,placement:P.item.dropdownMenuProps?.placement??X.value})),$=()=>{P.item.disabled||z(P.item.value)},ee=e=>{P.item.disabled||(z(e.value),F(`selectDropdown`,e.value))};return(r,i)=>{let o=C(`STreeMenuOption`);return W.value?(b(),l(T(A),{key:1,"as-child":``,value:h.item.value,disabled:h.item.disabled},{default:D(()=>[m(T(k),{as:`li`,"disabled-collapsible":T(L)},{trigger:D(()=>[m(T(O),{"disabled-active":``,"data-child-active":G.value},{default:D(()=>[m(a,{item:h.item},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3},8,[`data-child-active`])]),extra:D(()=>[J.value?(b(),l(t,_({key:0},Q.value,{items:h.item.children??[],disabled:h.item.disabled,size:T(B),"data-menu":h.item.label,onSelect:ee}),{trigger:D(()=>[f(`div`,{class:v(T(H))},null,2)]),_:1},16,[`items`,`disabled`,`size`,`data-menu`])):u(`v-if`,!0)]),default:D(()=>[m(T(j),null,{default:D(()=>[(b(!0),d(s,null,x(h.item.children,e=>(b(),l(o,{key:e.value,item:e},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,_({ref_for:!0},t))])}))]),1032,[`item`]))),128))]),_:3})]),_:3},8,[`disabled-collapsible`])]),_:3},8,[`value`,`disabled`])):(b(),l(T(A),{key:0,value:h.item.value,disabled:h.item.disabled},{default:D(()=>[K.value?(b(),l(T(O),{key:0,"as-child":``},{default:D(()=>[m(e,y(g(q.value)),{default:D(({isHref:e})=>[m(a,{item:h.item,"show-link-icon":e},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`,`show-link-icon`])]),_:3},16)]),_:3})):(b(),l(T(O),{key:1},{default:D(()=>[m(a,{item:h.item},p({_:2},[x(U.value,e=>({name:e,fn:D(t=>[S(r.$slots,e,y(g(t)))])}))]),1032,[`item`])]),_:3})),Y.value?(b(),l(n,_({key:2},Z.value,{size:T(B),content:Y.value}),{trigger:D(()=>[(b(),l(w(K.value?e:`div`),_(q.value,{class:T(H),onClick:$}),null,16,[`class`]))]),_:1},16,[`size`,`content`])):u(`v-if`,!0)]),_:3},8,[`value`,`disabled`]))}}});export{N as default};
@@ -1 +1 @@
1
- import{createElementBlock as e,createElementVNode as t,defineComponent as n,normalizeClass as r,openBlock as i,renderSlot as a,unref as o}from"vue";import{useTreeMenuThemeContext as s}from"@soybeanjs/headless";var c=n({name:`STreeMenuStyledItem`,__name:`tree-menu-styled-item`,setup(n){let c=s(`TreeMenuStyledItem`);return(n,s)=>(i(),e(`li`,{class:r(o(c).item)},[t(`button`,{class:r(o(c).button)},[a(n.$slots,`default`)],2)],2))}});export{c as default};
1
+ import{createElementBlock as e,createElementVNode as t,defineComponent as n,normalizeClass as r,openBlock as i,renderSlot as a,unref as o}from"vue";import{useTreeMenuUi as s}from"@soybeanjs/headless";var c=n({name:`STreeMenuStyledItem`,__name:`tree-menu-styled-item`,setup(n){let c=s();return(n,s)=>(i(),e(`li`,{class:r(o(c).item)},[t(`button`,{class:r(o(c).button)},[a(n.$slots,`default`)],2)],2))}});export{c as default};
@@ -1,11 +1,11 @@
1
- import * as vue157 from "vue";
1
+ import * as vue308 from "vue";
2
2
 
3
3
  //#region src/components/tree-menu/tree-menu-styled-item.vue.d.ts
4
4
  declare var __VLS_1: {};
5
5
  type __VLS_Slots = {} & {
6
6
  default?: (props: typeof __VLS_1) => any;
7
7
  };
8
- declare const __VLS_base: vue157.DefineComponent<{}, {}, {}, {}, {}, vue157.ComponentOptionsMixin, vue157.ComponentOptionsMixin, {}, string, vue157.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue157.ComponentProvideOptions, true, {}, any>;
8
+ declare const __VLS_base: vue308.DefineComponent<{}, {}, {}, {}, {}, vue308.ComponentOptionsMixin, vue308.ComponentOptionsMixin, {}, string, vue308.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue308.ComponentProvideOptions, true, {}, any>;
9
9
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
10
  declare const _default: typeof __VLS_export;
11
11
  type __VLS_WithSlots<T, S> = T & {
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import{treeMenuVariants as r}from"../../variants/tree-menu.js";import{provideTreeMenuContext as i,provideTreeMenuExtraThemeContext as a}from"./context.js";import{isGroupTreeMenu as o,treeMenuCssVars as s}from"./shared.js";import c from"./tree-menu-option.js";import{Fragment as l,computed as u,createBlock as d,createElementBlock as f,createSlots as p,createTextVNode as m,createVNode as h,defineComponent as g,mergeProps as _,openBlock as v,renderList as y,renderSlot as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E,useOmitProps as D}from"@soybeanjs/headless/composables";import{TreeMenuGroup as O,TreeMenuGroupLabel as k,TreeMenuGroupRoot as A,TreeMenuRoot as j,provideTreeMenuThemeContext as M}from"@soybeanjs/headless";import{transformPropsToContext as N}from"@soybeanjs/headless/shared";var P=g({name:`STreeMenu`,__name:`tree-menu`,props:{size:{default:`md`},ui:{},side:{default:`left`},items:{},collapsedWidth:{default:50},indent:{default:16},groupRootProps:{},groupProps:{},groupLabelProps:{},buttonProps:{},collapsibleProps:{},subProps:{},modelValue:{},defaultValue:{},expanded:{},defaultExpanded:{},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean}},emits:[`update:modelValue`,`update:expanded`,`update:collapsed`,`selectDropdown`],setup(g,{emit:P}){let F=g,I=P,L=w(),R=u(()=>Object.keys(L).filter(e=>e.startsWith(`item-`))),z=D(F,[`size`,`side`,`ui`,`items`,`collapsedWidth`,`indent`,`groupRootProps`,`groupProps`,`groupLabelProps`,`buttonProps`,`collapsibleProps`,`subProps`]),B=E(I),V=u(()=>{let e=F.collapsedWidth*n[F.size],r=F.indent*n[F.size];return{[s.collapsedWidth]:`${e/t.md}rem`,[s.indent]:`${r/t.md}rem`}}),H=u(()=>e(r({size:F.size}),F.ui));return M(H),a(H),i(N(F,[`size`,`side`])),(e,t)=>(v(),d(C(j),_(C(z),{style:V.value},S(C(B))),{default:T(()=>[b(e.$slots,`top`),(v(!0),f(l,null,y(g.items,t=>(v(),f(l,{key:t.value},[C(o)(t)?(v(),d(C(A),{key:0},{default:T(()=>[h(C(k),null,{default:T(()=>[m(x(t.label),1)]),_:2},1024),h(C(O),null,{default:T(()=>[(v(!0),f(l,null,y(t.children,t=>(v(),d(c,{key:t.value,item:t},p({_:2},[y(R.value,t=>({name:t,fn:T(n=>[b(e.$slots,t,_({ref_for:!0},n))])}))]),1032,[`item`]))),128))]),_:2},1024)]),_:2},1024)):(v(),d(c,{key:1,item:t},p({_:2},[y(R.value,t=>({name:t,fn:T(n=>[b(e.$slots,t,_({ref_for:!0},n))])}))]),1032,[`item`]))],64))),128)),b(e.$slots,`bottom`)]),_:3},16,[`style`]))}});export{P as default};
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import{themeSizeMap as t,themeSizeRatio as n}from"../../theme/config.js";import{treeMenuVariants as r}from"../../variants/tree-menu.js";import{provideTreeMenuContext as i,provideTreeMenuExtraUi as a}from"./context.js";import{isGroupTreeMenu as o,treeMenuCssVars as s}from"./shared.js";import c from"./tree-menu-option.js";import{Fragment as l,computed as u,createBlock as d,createElementBlock as f,createSlots as p,createTextVNode as m,createVNode as h,defineComponent as g,mergeProps as _,openBlock as v,renderList as y,renderSlot as b,toDisplayString as x,toHandlers as S,unref as C,useSlots as w,withCtx as T}from"vue";import{useForwardListeners as E,useOmitProps as D}from"@soybeanjs/headless/composables";import{TreeMenuGroup as O,TreeMenuGroupLabel as k,TreeMenuGroupRoot as A,TreeMenuRoot as j,provideTreeMenuUi as M}from"@soybeanjs/headless";import{transformPropsToContext as N}from"@soybeanjs/headless/shared";var P=g({name:`STreeMenu`,__name:`tree-menu`,props:{class:{},size:{default:`md`},ui:{},side:{default:`left`},items:{},collapsedWidth:{default:50},indent:{default:16},groupRootProps:{},groupProps:{},groupLabelProps:{},buttonProps:{},collapsibleProps:{},subProps:{},modelValue:{},defaultValue:{},expanded:{},defaultExpanded:{},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean}},emits:[`update:modelValue`,`update:expanded`,`update:collapsed`,`selectDropdown`],setup(g,{emit:P}){let F=g,I=P,L=w(),R=u(()=>Object.keys(L).filter(e=>e.startsWith(`item-`))),z=D(F,[`class`,`size`,`side`,`ui`,`items`,`collapsedWidth`,`indent`,`groupRootProps`,`groupProps`,`groupLabelProps`,`buttonProps`,`collapsibleProps`,`subProps`]),B=E(I),V=u(()=>{let e=F.collapsedWidth*n[F.size],r=F.indent*n[F.size];return{[s.collapsedWidth]:`${e/t.md}rem`,[s.indent]:`${r/t.md}rem`}}),H=u(()=>e(r({size:F.size}),F.ui,{root:F.class}));return M(H),a(H),i(N(F,[`size`,`side`])),(e,t)=>(v(),d(C(j),_(C(z),{style:V.value},S(C(B))),{default:T(()=>[b(e.$slots,`top`),(v(!0),f(l,null,y(g.items,t=>(v(),f(l,{key:t.value},[C(o)(t)?(v(),d(C(A),{key:0},{default:T(()=>[h(C(k),null,{default:T(()=>[m(x(t.label),1)]),_:2},1024),h(C(O),null,{default:T(()=>[(v(!0),f(l,null,y(t.children,t=>(v(),d(c,{key:t.value,item:t},p({_:2},[y(R.value,t=>({name:t,fn:T(n=>[b(e.$slots,t,_({ref_for:!0},n))])}))]),1032,[`item`]))),128))]),_:2},1024)]),_:2},1024)):(v(),d(c,{key:1,item:t},p({_:2},[y(R.value,t=>({name:t,fn:T(n=>[b(e.$slots,t,_({ref_for:!0},n))])}))]),1032,[`item`]))],64))),128)),b(e.$slots,`bottom`)]),_:3},16,[`style`]))}});export{P as default};
@@ -1,9 +1,9 @@
1
1
  import { TreeMenuOptionData, TreeMenuProps } from "./types.js";
2
- import * as vue155 from "vue";
2
+ import * as vue306 from "vue";
3
3
 
4
4
  //#region src/components/tree-menu/tree-menu.vue.d.ts
5
5
  declare const __VLS_export: <T extends TreeMenuOptionData = TreeMenuOptionData>(__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: vue155.PublicProps & __VLS_PrettifyLocal<TreeMenuProps<T> & {
6
+ props: vue306.PublicProps & __VLS_PrettifyLocal<TreeMenuProps<T> & {
7
7
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
8
8
  "onUpdate:expanded"?: ((value: string[]) => any) | undefined;
9
9
  "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
@@ -27,7 +27,7 @@ declare const __VLS_export: <T extends TreeMenuOptionData = TreeMenuOptionData>(
27
27
  }) => any;
28
28
  };
29
29
  emit: ((evt: "update:modelValue", value: string) => void) & ((evt: "update:expanded", value: string[]) => void) & ((evt: "update:collapsed", value: boolean) => void) & ((evt: "selectDropdown", value: string) => void);
30
- }>) => vue155.VNode & {
30
+ }>) => vue306.VNode & {
31
31
  __ctx?: Awaited<typeof __VLS_setup>;
32
32
  };
33
33
  declare const _default: typeof __VLS_export;
@@ -6,8 +6,7 @@ import { MenuOptionData } from "../menu/types.js";
6
6
  import { DropdownMenuProps } from "../dropdown-menu/types.js";
7
7
  import { TagProps as TagProps$1 } from "../tag/types.js";
8
8
  import { TooltipProps } from "../tooltip/types.js";
9
- import { ComputedRef } from "vue";
10
- import { ClassValue, HorizontalSide, LinkBaseProps, PropsToContext, TreeMenuBaseItemProps, TreeMenuButtonProps, TreeMenuCollapsibleProps, TreeMenuGroupLabelProps, TreeMenuGroupProps, TreeMenuGroupRootProps, TreeMenuRootEmits, TreeMenuRootProps, TreeMenuSubProps, TreeMenuUi } from "@soybeanjs/headless";
9
+ import { ClassValue, HorizontalSide, LinkBaseProps, PropsToContext, TreeMenuBaseItemProps, TreeMenuButtonProps, TreeMenuCollapsibleProps, TreeMenuGroupLabelProps, TreeMenuGroupProps, TreeMenuGroupRootProps, TreeMenuRootEmits, TreeMenuRootProps, TreeMenuSubProps, TreeMenuUiSlot, UiClass } from "@soybeanjs/headless";
11
10
 
12
11
  //#region src/components/tree-menu/types.d.ts
13
12
  interface TreeMenuBaseOptionData extends TreeMenuBaseItemProps, LinkBaseProps {
@@ -70,9 +69,10 @@ type TreeMenuOptionData = TreeMenuBaseOptionData | TreeMenuGroupOptionData;
70
69
  interface TreeMenuOptionProps {
71
70
  item: TreeMenuBaseOptionData;
72
71
  }
73
- type TreeMenuExtraThemeSlot = 'itemLabel' | 'itemAbsolute' | 'itemBadge' | 'itemTag' | 'itemAction' | 'itemLinkIcon' | 'collapsibleIcon';
74
- type TreeMenuExtendedUi = TreeMenuUi & Record<TreeMenuExtraThemeSlot, ClassValue>;
72
+ type TreeMenuExtraUiSlot = 'itemLabel' | 'itemAbsolute' | 'itemBadge' | 'itemTag' | 'itemAction' | 'itemLinkIcon' | 'collapsibleIcon';
73
+ type TreeMenuExtendedUi = UiClass<TreeMenuUiSlot | TreeMenuExtraUiSlot>;
75
74
  interface TreeMenuProps<T extends TreeMenuOptionData = TreeMenuOptionData> extends TreeMenuRootProps {
75
+ class?: ClassValue;
76
76
  size?: ThemeSize;
77
77
  ui?: Partial<TreeMenuExtendedUi>;
78
78
  /**
@@ -109,6 +109,5 @@ type TreeMenuItemEmits = {
109
109
  };
110
110
  interface TreeMenuContextParams extends PropsToContext<TreeMenuProps, 'size' | 'side'> {}
111
111
  type TreeMenuEmits = TreeMenuRootEmits & TreeMenuItemEmits;
112
- type TreeMenuExtraThemeContextParams = ComputedRef<Partial<TreeMenuExtendedUi>>;
113
112
  //#endregion
114
- export { TreeMenuBaseOptionData, TreeMenuContextParams, TreeMenuEmits, TreeMenuExtendedUi, TreeMenuExtraThemeContextParams, TreeMenuExtraThemeSlot, TreeMenuGroupOptionData, TreeMenuItemEmits, TreeMenuOptionData, TreeMenuOptionProps, TreeMenuOptionSlotProps, TreeMenuProps };
113
+ export { TreeMenuBaseOptionData, TreeMenuContextParams, TreeMenuEmits, TreeMenuExtendedUi, TreeMenuExtraUiSlot, TreeMenuGroupOptionData, TreeMenuItemEmits, TreeMenuOptionData, TreeMenuOptionProps, TreeMenuOptionSlotProps, TreeMenuProps };
@@ -1,10 +1,10 @@
1
1
  import { VirtualizerProps } from "./types.js";
2
- import * as vue0 from "vue";
2
+ import * as vue67 from "vue";
3
3
  import * as _tanstack_vue_virtual0 from "@tanstack/vue-virtual";
4
4
 
5
5
  //#region src/components/virtualizer/virtualizer.vue.d.ts
6
6
  declare const __VLS_export: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
- props: vue0.PublicProps & __VLS_PrettifyLocal<VirtualizerProps<T>> & (typeof globalThis extends {
7
+ props: vue67.PublicProps & __VLS_PrettifyLocal<VirtualizerProps<T>> & (typeof globalThis extends {
8
8
  __VLS_PROPS_FALLBACK: infer P;
9
9
  } ? P : {});
10
10
  expose: (exposed: {}) => void;
@@ -17,7 +17,7 @@ declare const __VLS_export: <T extends Record<string, any>>(__VLS_props: NonNull
17
17
  }) => any;
18
18
  };
19
19
  emit: {};
20
- }>) => vue0.VNode & {
20
+ }>) => vue67.VNode & {
21
21
  __ctx?: Awaited<typeof __VLS_setup>;
22
22
  };
23
23
  declare const _default: typeof __VLS_export;
@@ -1,49 +1,49 @@
1
1
  //#region src/constants/components.d.ts
2
2
  declare const components: {
3
3
  accordion: string[];
4
- alertDialog: string[];
5
4
  alert: string[];
5
+ alertDialog: string[];
6
6
  arrow: string[];
7
+ aspectRatio: string[];
7
8
  avatar: string[];
8
- card: string[];
9
+ badge: string[];
9
10
  breadcrumb: string[];
11
+ button: string[];
12
+ card: string[];
10
13
  checkbox: string[];
11
- badge: string[];
12
14
  collapsible: string[];
13
- configProvider: string[];
14
- button: string[];
15
15
  command: string[];
16
- dialog: string[];
17
- aspectRatio: string[];
16
+ configProvider: string[];
18
17
  contextMenu: string[];
18
+ dialog: string[];
19
19
  drawer: string[];
20
- form: string[];
21
20
  dropdownMenu: string[];
21
+ form: string[];
22
22
  input: string[];
23
+ icon: string[];
23
24
  kbd: string[];
24
25
  label: string[];
25
- icon: string[];
26
26
  layout: string[];
27
27
  link: string[];
28
28
  list: string[];
29
29
  menu: string[];
30
30
  navigationMenu: string[];
31
- pagination: string[];
32
31
  numberInput: string[];
32
+ pagination: string[];
33
33
  password: string[];
34
34
  popover: string[];
35
35
  radioGroup: string[];
36
36
  segment: string[];
37
+ select: string[];
37
38
  separator: string[];
38
39
  switch: string[];
39
40
  tabs: string[];
40
- select: string[];
41
- textarea: string[];
42
41
  tag: string[];
42
+ textarea: string[];
43
43
  toast: string[];
44
44
  tooltip: string[];
45
- treeMenu: string[];
46
45
  tree: string[];
46
+ treeMenu: string[];
47
47
  virtualizer: string[];
48
48
  };
49
49
  //#endregion
@@ -1 +1 @@
1
- const e={accordion:[`SAccordion`],alertDialog:[`SAlertDialog`,`SAlertDialogCancel`,`SAlertDialogAction`],alert:[`SAlert`],arrow:[`SArrow`],avatar:[`SAvatar`],card:[`SCard`],breadcrumb:[`SBreadcrumb`,`SBreadcrumbPage`,`SBreadcrumbEllipsis`],checkbox:[`SCheckboxGroup`,`SCheckbox`,`SCheckboxCardGroup`,`SCheckboxCard`],badge:[`SBadge`],collapsible:[`SCollapsible`,`SCollapsibleContent`,`SCollapsibleTrigger`],configProvider:[`SConfigProvider`],button:[`SButton`,`SButtonLoading`,`SButtonIcon`,`SButtonLink`,`SButtonGroup`],command:[`SCommand`],dialog:[`SDialog`,`SDialogClose`,`SDialogPure`],aspectRatio:[`SAspectRatio`],contextMenu:[`SContextMenu`,`SContextMenuCheckbox`,`SContextMenuRadio`,`SContextMenuWrapper`],drawer:[`SDrawer`,`SDrawerClose`],form:[`SForm`,`SFormField`,`SFormFieldArray`],dropdownMenu:[`SDropdownMenu`,`SDropdownMenuCheckbox`,`SDropdownMenuRadio`,`SDropdownMenuWrapper`],input:[`SInput`],kbd:[`SKbd`],label:[`SLabel`],icon:[`SIcon`],layout:[`SLayout`,`SLayoutTrigger`],link:[`SLink`],list:[`SList`,`SListItem`],menu:[`SMenuOption`,`SMenuOptions`,`SMenuCheckboxOptions`,`SMenuRadioOptions`],navigationMenu:[`SNavigationMenu`],pagination:[`SPagination`],numberInput:[`SNumberInput`],password:[`SPassword`],popover:[`SPopover`],radioGroup:[`SRadioGroup`,`SRadio`,`SRadioCard`,`SRadioCardGroup`],segment:[`SSegment`],separator:[`SSeparator`],switch:[`SSwitch`],tabs:[`STabs`],select:[`SSelect`],textarea:[`STextarea`],tag:[`STag`],toast:[`SToast`,`SToastAction`,`SToastClose`],tooltip:[`STooltip`],treeMenu:[`STreeMenu`,`STreeMenuStyledItem`],tree:[`STree`,`STreeVirtualizer`],virtualizer:[`SVirtualizer`]};export{e as components};
1
+ const e={accordion:[`SAccordion`],alert:[`SAlert`],alertDialog:[`SAlertDialog`,`SAlertDialogCancel`,`SAlertDialogAction`],arrow:[`SArrow`],aspectRatio:[`SAspectRatio`],avatar:[`SAvatar`],badge:[`SBadge`],breadcrumb:[`SBreadcrumb`,`SBreadcrumbPage`,`SBreadcrumbEllipsis`],button:[`SButton`,`SButtonLoading`,`SButtonIcon`,`SButtonLink`,`SButtonGroup`],card:[`SCard`],checkbox:[`SCheckboxGroup`,`SCheckbox`,`SCheckboxCardGroup`,`SCheckboxCard`],collapsible:[`SCollapsible`,`SCollapsibleContent`,`SCollapsibleTrigger`],command:[`SCommand`],configProvider:[`SConfigProvider`],contextMenu:[`SContextMenu`,`SContextMenuCheckbox`,`SContextMenuRadio`,`SContextMenuWrapper`],dialog:[`SDialog`,`SDialogClose`,`SDialogPure`],drawer:[`SDrawer`,`SDrawerClose`],dropdownMenu:[`SDropdownMenu`,`SDropdownMenuCheckbox`,`SDropdownMenuRadio`,`SDropdownMenuWrapper`],form:[`SForm`,`SFormField`,`SFormFieldArray`],input:[`SInput`],icon:[`SIcon`],kbd:[`SKbd`],label:[`SLabel`],layout:[`SLayout`,`SLayoutTrigger`],link:[`SLink`],list:[`SList`,`SListItem`],menu:[`SMenuOption`,`SMenuOptions`,`SMenuCheckboxOptions`,`SMenuRadioOptions`],navigationMenu:[`SNavigationMenu`],numberInput:[`SNumberInput`],pagination:[`SPagination`],password:[`SPassword`],popover:[`SPopover`],radioGroup:[`SRadioGroup`,`SRadio`,`SRadioCard`,`SRadioCardGroup`],segment:[`SSegment`],select:[`SSelect`],separator:[`SSeparator`],switch:[`SSwitch`],tabs:[`STabs`],tag:[`STag`],textarea:[`STextarea`],toast:[`SToast`,`SToastAction`,`SToastClose`],tooltip:[`STooltip`],tree:[`STree`,`STreeVirtualizer`],treeMenu:[`STreeMenu`,`STreeMenuStyledItem`],virtualizer:[`SVirtualizer`]};export{e as components};