@soybeanjs/ui 0.14.0 → 0.15.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/README.md +79 -147
  2. package/README.zh-CN.md +79 -147
  3. package/dist/components/accordion/accordion.js +1 -1
  4. package/dist/components/accordion/accordion.vue.d.ts +3 -31
  5. package/dist/components/accordion/index.d.ts +3 -3
  6. package/dist/components/accordion/types.d.ts +6 -25
  7. package/dist/components/affix/affix.js +1 -0
  8. package/dist/components/affix/affix.vue.d.ts +22 -0
  9. package/dist/components/affix/index.d.ts +4 -0
  10. package/dist/components/affix/index.js +1 -0
  11. package/dist/components/affix/types.d.ts +15 -0
  12. package/dist/components/affix/variants.js +1 -0
  13. package/dist/components/alert/alert.js +1 -1
  14. package/dist/components/anchor/anchor-item.js +1 -0
  15. package/dist/components/anchor/anchor.js +1 -0
  16. package/dist/components/anchor/anchor.vue.d.ts +23 -0
  17. package/dist/components/anchor/context.js +1 -0
  18. package/dist/components/anchor/index.d.ts +4 -0
  19. package/dist/components/anchor/index.js +1 -0
  20. package/dist/components/anchor/types.d.ts +34 -0
  21. package/dist/components/anchor/variants.js +1 -0
  22. package/dist/components/autocomplete/autocomplete-group-option.js +1 -0
  23. package/dist/components/autocomplete/autocomplete-option.js +1 -0
  24. package/dist/components/autocomplete/autocomplete-single-option.js +1 -0
  25. package/dist/components/autocomplete/autocomplete.js +1 -0
  26. package/dist/components/autocomplete/autocomplete.vue.d.ts +47 -0
  27. package/dist/components/autocomplete/context.js +1 -0
  28. package/dist/components/autocomplete/index.d.ts +4 -0
  29. package/dist/components/autocomplete/index.js +1 -0
  30. package/dist/components/autocomplete/shared.js +1 -0
  31. package/dist/components/autocomplete/types.d.ts +94 -0
  32. package/dist/components/autocomplete/variants.js +1 -0
  33. package/dist/components/bottom-sheet/bottom-sheet-close.js +1 -0
  34. package/dist/components/bottom-sheet/bottom-sheet-close.vue.d.ts +18 -0
  35. package/dist/components/bottom-sheet/bottom-sheet.js +1 -0
  36. package/dist/components/bottom-sheet/bottom-sheet.vue.d.ts +72 -0
  37. package/dist/components/bottom-sheet/index.d.ts +3 -0
  38. package/dist/components/bottom-sheet/index.js +1 -0
  39. package/dist/components/bottom-sheet/types.d.ts +31 -0
  40. package/dist/components/bottom-sheet/variants.js +1 -0
  41. package/dist/components/button/button-link.vue.d.ts +1 -1
  42. package/dist/components/carousel/carousel-content.js +1 -0
  43. package/dist/components/carousel/carousel-content.vue.d.ts +18 -0
  44. package/dist/components/carousel/carousel-item.js +1 -0
  45. package/dist/components/carousel/carousel-item.vue.d.ts +18 -0
  46. package/dist/components/carousel/carousel-next.js +1 -0
  47. package/dist/components/carousel/carousel-next.vue.d.ts +22 -0
  48. package/dist/components/carousel/carousel-previous.js +1 -0
  49. package/dist/components/carousel/carousel-previous.vue.d.ts +22 -0
  50. package/dist/components/carousel/carousel.js +1 -0
  51. package/dist/components/carousel/carousel.vue.d.ts +15 -0
  52. package/dist/components/carousel/index.d.ts +8 -0
  53. package/dist/components/carousel/index.js +1 -0
  54. package/dist/components/carousel/types.d.ts +10 -0
  55. package/dist/components/carousel/variants.js +1 -0
  56. package/dist/components/color-area/color-area.js +1 -0
  57. package/dist/components/color-area/color-area.vue.d.ts +19 -0
  58. package/dist/components/color-area/index.d.ts +4 -0
  59. package/dist/components/color-area/index.js +1 -0
  60. package/dist/components/color-area/types.d.ts +14 -0
  61. package/dist/components/color-area/variants.js +1 -0
  62. package/dist/components/color-field/color-field.js +1 -0
  63. package/dist/components/color-field/color-field.vue.d.ts +15 -0
  64. package/dist/components/color-field/index.d.ts +4 -0
  65. package/dist/components/color-field/index.js +1 -0
  66. package/dist/components/color-field/types.d.ts +13 -0
  67. package/dist/components/color-field/variants.js +1 -0
  68. package/dist/components/color-picker/color-picker.js +1 -0
  69. package/dist/components/color-picker/color-picker.vue.d.ts +55 -0
  70. package/dist/components/color-picker/index.d.ts +2 -0
  71. package/dist/components/color-picker/index.js +1 -0
  72. package/dist/components/color-picker/shared.js +1 -0
  73. package/dist/components/color-picker/types.d.ts +47 -0
  74. package/dist/components/color-picker/variants.js +1 -0
  75. package/dist/components/color-slider/color-slider.js +1 -0
  76. package/dist/components/color-slider/color-slider.vue.d.ts +23 -0
  77. package/dist/components/color-slider/index.d.ts +4 -0
  78. package/dist/components/color-slider/index.js +1 -0
  79. package/dist/components/color-slider/types.d.ts +16 -0
  80. package/dist/components/color-swatch/color-swatch.js +1 -0
  81. package/dist/components/color-swatch/color-swatch.vue.d.ts +18 -0
  82. package/dist/components/color-swatch/index.d.ts +5 -0
  83. package/dist/components/color-swatch/index.js +1 -0
  84. package/dist/components/color-swatch/types.d.ts +16 -0
  85. package/dist/components/color-swatch/variants.d.ts +108 -0
  86. package/dist/components/color-swatch/variants.js +1 -0
  87. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -0
  88. package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +39 -0
  89. package/dist/components/color-swatch-picker/index.d.ts +5 -0
  90. package/dist/components/color-swatch-picker/index.js +1 -0
  91. package/dist/components/color-swatch-picker/types.d.ts +20 -0
  92. package/dist/components/color-swatch-picker/variants.d.ts +153 -0
  93. package/dist/components/color-swatch-picker/variants.js +1 -0
  94. package/dist/components/combobox/combobox-group-option.js +1 -0
  95. package/dist/components/combobox/combobox-option.js +1 -0
  96. package/dist/components/combobox/combobox-single-option.js +1 -0
  97. package/dist/components/combobox/combobox.js +1 -0
  98. package/dist/components/combobox/combobox.vue.d.ts +76 -0
  99. package/dist/components/combobox/index.d.ts +4 -0
  100. package/dist/components/combobox/index.js +1 -0
  101. package/dist/components/combobox/shared.js +1 -0
  102. package/dist/components/combobox/types.d.ts +68 -0
  103. package/dist/components/combobox/variants.js +1 -0
  104. package/dist/components/config-provider/config-provider.js +1 -1
  105. package/dist/components/config-provider/context.js +1 -1
  106. package/dist/components/config-provider/types.d.ts +14 -2
  107. package/dist/components/context-menu/context-menu-checkbox.js +1 -1
  108. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +8 -15
  109. package/dist/components/context-menu/context-menu-radio.js +1 -1
  110. package/dist/components/context-menu/context-menu-radio.vue.d.ts +8 -15
  111. package/dist/components/context-menu/context-menu-wrapper.js +1 -1
  112. package/dist/components/context-menu/context-menu-wrapper.vue.d.ts +5 -5
  113. package/dist/components/context-menu/context-menu.js +1 -1
  114. package/dist/components/context-menu/context-menu.vue.d.ts +7 -15
  115. package/dist/components/context-menu/index.d.ts +5 -7
  116. package/dist/components/context-menu/types.d.ts +14 -42
  117. package/dist/components/dialog/dialog-pure.vue.d.ts +1 -1
  118. package/dist/components/dialog/dialog.vue.d.ts +1 -1
  119. package/dist/components/drawer/drawer.vue.d.ts +1 -1
  120. package/dist/components/dropdown-menu/dropdown-menu-checkbox.js +1 -1
  121. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +8 -15
  122. package/dist/components/dropdown-menu/dropdown-menu-radio.js +1 -1
  123. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +8 -15
  124. package/dist/components/dropdown-menu/dropdown-menu-wrapper.js +1 -1
  125. package/dist/components/dropdown-menu/dropdown-menu-wrapper.vue.d.ts +5 -5
  126. package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
  127. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +7 -15
  128. package/dist/components/dropdown-menu/index.d.ts +2 -4
  129. package/dist/components/dropdown-menu/index.js +1 -1
  130. package/dist/components/dropdown-menu/types.d.ts +14 -38
  131. package/dist/components/editable/editable.js +1 -0
  132. package/dist/components/editable/editable.vue.d.ts +85 -0
  133. package/dist/components/editable/index.d.ts +4 -0
  134. package/dist/components/editable/index.js +1 -0
  135. package/dist/components/editable/types.d.ts +20 -0
  136. package/dist/components/editable/variants.js +1 -0
  137. package/dist/components/empty/empty.js +1 -0
  138. package/dist/components/empty/empty.vue.d.ts +21 -0
  139. package/dist/components/empty/index.d.ts +5 -0
  140. package/dist/components/empty/index.js +1 -0
  141. package/dist/components/empty/types.d.ts +20 -0
  142. package/dist/components/empty/variants.d.ts +57 -0
  143. package/dist/components/empty/variants.js +1 -0
  144. package/dist/components/hover-card/hover-card.js +1 -0
  145. package/dist/components/hover-card/hover-card.vue.d.ts +35 -0
  146. package/dist/components/hover-card/index.d.ts +4 -0
  147. package/dist/components/hover-card/index.js +1 -0
  148. package/dist/components/hover-card/types.d.ts +22 -0
  149. package/dist/components/hover-card/variants.js +1 -0
  150. package/dist/components/icon/types.d.ts +3 -4
  151. package/dist/components/link/link.vue.d.ts +1 -1
  152. package/dist/components/menu/context.js +1 -1
  153. package/dist/components/menu/index.d.ts +2 -7
  154. package/dist/components/menu/index.js +1 -1
  155. package/dist/components/menu/types.d.ts +9 -86
  156. package/dist/components/menu/variants.js +1 -1
  157. package/dist/components/menubar/index.d.ts +2 -0
  158. package/dist/components/menubar/index.js +1 -0
  159. package/dist/components/menubar/menubar.js +1 -0
  160. package/dist/components/{menu/menu-option.vue.d.ts → menubar/menubar.vue.d.ts} +8 -24
  161. package/dist/components/menubar/types.d.ts +17 -0
  162. package/dist/components/menubar/variants.js +1 -0
  163. package/dist/components/navigation-menu/navigation-menu.vue.d.ts +2 -2
  164. package/dist/components/page-tabs/page-tabs.vue.d.ts +2 -2
  165. package/dist/components/page-tabs/types.d.ts +1 -1
  166. package/dist/components/popconfirm/popconfirm-cancel.js +1 -1
  167. package/dist/components/popconfirm/popconfirm-confirm.js +1 -1
  168. package/dist/components/popconfirm/popconfirm.vue.d.ts +1 -1
  169. package/dist/components/popover/popover.js +1 -1
  170. package/dist/components/progress/context.d.ts +5 -0
  171. package/dist/components/progress/context.js +1 -0
  172. package/dist/components/progress/index.d.ts +8 -0
  173. package/dist/components/progress/index.js +1 -0
  174. package/dist/components/progress/loading-bar.js +1 -0
  175. package/dist/components/progress/loading-bar.vue.d.ts +25 -0
  176. package/dist/components/progress/progress-circle.js +1 -0
  177. package/dist/components/progress/progress-circle.vue.d.ts +29 -0
  178. package/dist/components/progress/progress.js +1 -0
  179. package/dist/components/progress/progress.vue.d.ts +30 -0
  180. package/dist/components/progress/shared.d.ts +7 -0
  181. package/dist/components/progress/shared.js +1 -0
  182. package/dist/components/progress/types.d.ts +43 -0
  183. package/dist/components/progress/variants.js +1 -0
  184. package/dist/components/scroll-area/index.d.ts +4 -0
  185. package/dist/components/scroll-area/index.js +1 -0
  186. package/dist/components/scroll-area/scroll-area.js +1 -0
  187. package/dist/components/scroll-area/scroll-area.vue.d.ts +18 -0
  188. package/dist/components/scroll-area/types.d.ts +15 -0
  189. package/dist/components/scroll-area/variants.js +1 -0
  190. package/dist/components/select/select.vue.d.ts +2 -2
  191. package/dist/components/skeleton/index.d.ts +3 -0
  192. package/dist/components/skeleton/index.js +1 -0
  193. package/dist/components/skeleton/skeleton.js +1 -0
  194. package/dist/components/skeleton/skeleton.vue.d.ts +20 -0
  195. package/dist/components/skeleton/types.d.ts +16 -0
  196. package/dist/components/skeleton/variants.d.ts +60 -0
  197. package/dist/components/skeleton/variants.js +1 -0
  198. package/dist/components/slider/index.d.ts +4 -0
  199. package/dist/components/slider/index.js +1 -0
  200. package/dist/components/slider/slider.js +1 -0
  201. package/dist/components/slider/slider.vue.d.ts +28 -0
  202. package/dist/components/slider/types.d.ts +16 -0
  203. package/dist/components/slider/variants.js +1 -0
  204. package/dist/components/spinner/index.d.ts +2 -0
  205. package/dist/components/spinner/index.js +1 -0
  206. package/dist/components/spinner/spinner.js +1 -0
  207. package/dist/components/spinner/spinner.vue.d.ts +10 -0
  208. package/dist/components/spinner/types.d.ts +19 -0
  209. package/dist/components/spinner/variants.js +1 -0
  210. package/dist/components/splitter/index.d.ts +5 -0
  211. package/dist/components/splitter/index.js +1 -0
  212. package/dist/components/splitter/splitter-group.js +1 -0
  213. package/dist/components/splitter/splitter-group.vue.d.ts +22 -0
  214. package/dist/components/splitter/splitter-panel.js +1 -0
  215. package/dist/components/splitter/splitter-panel.vue.d.ts +32 -0
  216. package/dist/components/splitter/splitter-resize-handle.js +1 -0
  217. package/dist/components/splitter/splitter-resize-handle.vue.d.ts +415 -0
  218. package/dist/components/splitter/types.d.ts +12 -0
  219. package/dist/components/splitter/variants.js +1 -0
  220. package/dist/components/stepper/index.d.ts +4 -0
  221. package/dist/components/stepper/index.js +1 -0
  222. package/dist/components/stepper/stepper.js +1 -0
  223. package/dist/components/stepper/stepper.vue.d.ts +121 -0
  224. package/dist/components/stepper/types.d.ts +26 -0
  225. package/dist/components/stepper/variants.js +1 -0
  226. package/dist/components/table/hooks.d.ts +5 -5
  227. package/dist/components/table/hooks.js +1 -1
  228. package/dist/components/table/index.d.ts +1 -1
  229. package/dist/components/table/table-filter-popover.js +1 -0
  230. package/dist/components/table/table-radio.js +1 -1
  231. package/dist/components/table/table.js +1 -1
  232. package/dist/components/table/table.vue.d.ts +7 -3
  233. package/dist/components/table/types.d.ts +25 -83
  234. package/dist/components/table/variants.js +1 -1
  235. package/dist/components/tags-input/index.d.ts +5 -0
  236. package/dist/components/tags-input/index.js +1 -0
  237. package/dist/components/tags-input/tags-input-item-delete.js +1 -0
  238. package/dist/components/tags-input/tags-input-item-delete.vue.d.ts +18 -0
  239. package/dist/components/tags-input/tags-input.js +1 -0
  240. package/dist/components/tags-input/tags-input.vue.d.ts +29 -0
  241. package/dist/components/tags-input/types.d.ts +12 -0
  242. package/dist/components/tags-input/variants.js +1 -0
  243. package/dist/components/toast/index.d.ts +4 -5
  244. package/dist/components/toast/index.js +1 -1
  245. package/dist/components/toast/styles.js +274 -0
  246. package/dist/components/toast/toaster.js +1 -0
  247. package/dist/components/toast/toaster.vue.d.ts +22 -0
  248. package/dist/components/toast/types.d.ts +5 -55
  249. package/dist/components/toast/variants.js +1 -1
  250. package/dist/components/toggle/index.d.ts +3 -0
  251. package/dist/components/toggle/index.js +1 -0
  252. package/dist/components/toggle/toggle.js +1 -0
  253. package/dist/components/toggle/toggle.vue.d.ts +30 -0
  254. package/dist/components/toggle/types.d.ts +14 -0
  255. package/dist/components/toggle/variants.d.ts +100 -0
  256. package/dist/components/toggle/variants.js +1 -0
  257. package/dist/components/toggle-group/index.d.ts +6 -0
  258. package/dist/components/toggle-group/index.js +1 -0
  259. package/dist/components/toggle-group/toggle-group-item.js +1 -0
  260. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +22 -0
  261. package/dist/components/toggle-group/toggle-group.js +1 -0
  262. package/dist/components/toggle-group/toggle-group.vue.d.ts +24 -0
  263. package/dist/components/toggle-group/types.d.ts +15 -0
  264. package/dist/components/toggle-group/variants.d.ts +216 -0
  265. package/dist/components/toggle-group/variants.js +1 -0
  266. package/dist/components/toolbar/index.d.ts +4 -0
  267. package/dist/components/toolbar/index.js +1 -0
  268. package/dist/components/toolbar/toolbar.js +1 -0
  269. package/dist/components/toolbar/toolbar.vue.d.ts +18 -0
  270. package/dist/components/toolbar/types.d.ts +9 -0
  271. package/dist/components/toolbar/variants.js +1 -0
  272. package/dist/components/tree-menu/tree-menu-option-slot.js +1 -1
  273. package/dist/components/tree-menu/types.d.ts +1 -1
  274. package/dist/components/tree-menu/variants.js +1 -1
  275. package/dist/constants/components.d.ts +27 -0
  276. package/dist/constants/components.js +1 -1
  277. package/dist/index.d.ts +179 -94
  278. package/dist/index.js +1 -1
  279. package/dist/styles.css +597 -111
  280. package/dist/theme/config.js +1 -1
  281. package/package.json +21 -18
  282. package/dist/components/menu/menu-checkbox-options.js +0 -1
  283. package/dist/components/menu/menu-checkbox-options.vue.d.ts +0 -28
  284. package/dist/components/menu/menu-item-slot.js +0 -1
  285. package/dist/components/menu/menu-option.js +0 -1
  286. package/dist/components/menu/menu-options.js +0 -1
  287. package/dist/components/menu/menu-options.vue.d.ts +0 -48
  288. package/dist/components/menu/menu-radio-options.js +0 -1
  289. package/dist/components/menu/menu-radio-options.vue.d.ts +0 -28
  290. package/dist/components/menu/shared.js +0 -1
  291. package/dist/components/table/shared.js +0 -1
  292. package/dist/components/toast/context.d.ts +0 -5
  293. package/dist/components/toast/context.js +0 -1
  294. package/dist/components/toast/shared.js +0 -1
  295. package/dist/components/toast/toast-provider.js +0 -1
  296. package/dist/components/toast/toast.js +0 -1
  297. package/dist/components/toast/toast.vue.d.ts +0 -21
  298. package/dist/components/toast/variants.d.ts +0 -60
@@ -0,0 +1,22 @@
1
+ import { ToasterProps } from "./types.js";
2
+ import * as _$vue from "vue";
3
+
4
+ //#region src/components/toast/toaster.vue.d.ts
5
+ declare var __VLS_8: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_8) => any;
8
+ };
9
+ declare const __VLS_base: _$vue.DefineComponent<ToasterProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ToasterProps> & Readonly<{}>, {
10
+ iconRender: (name: string) => _$vue.VNode;
11
+ showIcon: boolean;
12
+ showClose: boolean;
13
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
21
+ //#endregion
22
+ export { _default };
@@ -1,60 +1,10 @@
1
- import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
- import { ToastPosition } from "./variants.js";
3
- import { VNode } from "vue";
4
- import { ClassValue, PropsToContext, ToastDescriptionProps, ToastProviderProps, ToastRootProps, ToastTitleProps, ToastUi, ToastViewportProps } from "@soybeanjs/headless";
1
+ import { ThemeSize } from "../../theme/types.js";
2
+ import { SwipeDirection, ToastPosition, ToastType, ToastUi, ToasterProps } from "@soybeanjs/headless";
5
3
 
6
4
  //#region src/components/toast/types.d.ts
7
- type ToastExtraSlot = 'viewport';
8
- type ToastExtendedTheme = ToastUi & Record<ToastExtraSlot, ClassValue>;
9
- interface ToastProviderProps$1 extends ToastProviderProps {
10
- ui?: Partial<ToastExtendedTheme>;
11
- /**
12
- * The maximum number of toasts that can be displayed at the same time.
13
- *
14
- * @defaultValue 3
15
- */
16
- limits?: number;
17
- /**
18
- * The delay time before removing the toast.
19
- *
20
- * @defaultValue 5000 (ms)
21
- */
22
- removeDelay?: number;
23
- /**
24
- * The position of the toast.
25
- *
26
- * @defaultValue 'top-right'
27
- */
28
- position?: ToastPosition;
29
- viewportProps?: ToastViewportProps;
30
- }
31
- type ToastColor = 'default' | ThemeColor;
32
- type ToastType = Extract<ThemeColor, 'destructive' | 'success' | 'warning' | 'info'>;
33
- interface ToastProps extends ToastRootProps {
34
- class?: ClassValue;
5
+ interface ToasterProps$1 extends ToasterProps {
35
6
  size?: ThemeSize;
36
- ui?: Partial<ToastUi>;
37
- type?: ToastType;
38
- color?: ToastColor;
39
- /**
40
- * The position of the toast.
41
- *
42
- * @defaultValue 'top-right'
43
- */
44
- position?: ToastPosition;
45
- showIcon?: boolean;
46
- titleProps?: ToastTitleProps;
47
- descriptionProps?: ToastDescriptionProps;
48
- }
49
- interface UseToastOptions extends Pick<ToastProps, 'size' | 'ui' | 'type' | 'color' | 'showIcon' | 'duration' | 'forceMount' | 'liveType' | 'position'> {
50
- title?: string | VNode;
51
- description?: string | VNode;
52
- content?: VNode;
53
- onClose?: () => void;
54
- }
55
- interface UseToastReturn extends Record<ToastType, (options: Omit<UseToastOptions, 'type'>) => void> {
56
- (options: UseToastOptions): void;
57
- clear: () => void;
7
+ ui?: ToastUi;
58
8
  }
59
9
  //#endregion
60
- export { ToastColor, ToastProps, ToastProviderProps$1 as ToastProviderProps, UseToastOptions, UseToastReturn };
10
+ export { type SwipeDirection, type ToastPosition, type ToastType, ToasterProps$1 as ToasterProps };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group pointer-events-auto relative flex flex-col w-full overflow-hidden rounded-md border shadow-lg transition-all-200 dark:bg-background`,`data-[swipe=cancel]:translate-x-0`,`data-[swipe=end]:translate-x-[var(--soybean-toast-swipe-end-x)] data-[swipe=end]:animate-out`,`data-[swipe=move]:translate-x-[var(--soybean-toast-swipe-move-x)] data-[swipe=move]:transition-none`,`data-[state=open]:slide-in-from-top-full sm:slide-in-from-bottom-full data-[state=open]:animate-in`,`data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=closed]:animate-out`],title:`flex items-center font-medium tracking-tight`,description:`[&_p]:leading-relaxed`,close:`absolute`,action:``},variants:{size:{xs:{root:`gap-0.75 px-2 py-1.75 text-2xs`,title:`gap-1.5 leading-3.125`,close:`right-1 top-1`},sm:{root:`gap-1 px-3 py-2.5 text-xs`,title:`gap-1.75 leading-3.75`,close:`right-1.25 top-1.25`},md:{root:`gap-1 px-4 py-3 text-sm`,title:`gap-2 leading-4.375`,close:`right-1.5 top-1.5`},lg:{root:`gap-1.25 px-5 py-3.5 text-base`,title:`gap-2.5 leading-5`,close:`right-1.75 top-1.75`},xl:{root:`gap-1.5 px-6 py-4 text-lg`,title:`gap-3 leading-5.625`,close:`right-2 top-2`},"2xl":{root:`gap-2 px-7 py-4.5 text-xl`,title:`gap-4 leading-6.25`,close:`right-2.5 top-2.5`}},color:{default:{root:`bg-background`},primary:{root:`border-primary bg-primary-100 text-primary`},destructive:{root:`border-destructive bg-destructive-100 text-destructive`},success:{root:`border-success bg-success-100 text-success`},info:{root:`border-info bg-info-100 text-info`},warning:{root:`border-warning bg-warning-100 text-warning`},carbon:{root:`border-carbon bg-carbon-100 text-carbon`},secondary:{root:`border-secondary bg-secondary text-secondary-foreground`},accent:{root:`border-accent bg-accent text-accent-foreground`}}},defaultVariants:{size:`md`,color:`default`}}),n=e({base:[`fixed top-0 z-100 flex max-h-screen w-full flex-col-reverse pointer-events-none`,`focus-visible:outline-none md:max-w-105`],variants:{size:{xs:`gap-1 p-3`,sm:`gap-1.5 p-3.5`,md:`gap-2 p-4`,lg:`gap-2.5 p-4.5`,xl:`gap-3 p-5`,"2xl":`gap-4 p-6`},position:{"top-left":`top-0 left-0`,top:`top-0 left-1/2 -translate-x-1/2`,"top-right":`top-0 right-0`,bottom:`bottom-0 left-1/2 -translate-x-1/2`,"bottom-left":`bottom-0 left-0`,"bottom-right":`bottom-0 right-0`}},defaultVariants:{size:`md`,position:`top-right`}});export{t as toastVariants,n as toastViewportVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{toaster:[`fixed z-[--z-index] list-none outline-none transition-transform-400 ease`,`data-[x-position=right]:end-[--offset-right] data-[x-position=left]:start-[--offset-left] data-[x-position=center]:left-1/2 data-[x-position=center]:-translate-x-1/2`,`data-[y-position=top]:top-[--offset-top] data-[y-position=bottom]:bottom-[--offset-bottom]`],toast:[`group absolute w-full rounded-md bg-popover text-popover-foreground border border-transparent opacity-0 outline-none touch-none`,`data-[y-position=top]:top-0 data-[y-position=top]:[--y:translateY(-100%)]`,`data-[y-position=bottom]:[--lift:-1] data-[y-position=bottom]:bottom-0`,`data-[x-position=left]:start-0 data-[x-position=right]:end-0`],wrapper:`flex flex-col items-stretch`,content:``,title:`flex items-center font-semibold`,description:`text-muted-foreground`,icon:[`group-data-[type=info]:text-info group-data-[type=success]:text-success group-data-[type=warning]:text-warning group-data-[type=error]:text-destructive`],footer:`flex justify-end items-center`,action:``,cancel:``,close:[`absolute w-fit rounded-md bg-transparent text-accent-foreground hover:bg-accent-foreground/10 active:bg-accent-foreground/20`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-offset-background focus-visible:ring-accent-foreground/20`,`group-data-[inverted=true]:text-accent group-data-[inverted=true]:hover:bg-accent/15`]},variants:{size:{xs:{toaster:`w-80 text-2xs`,toast:`p-3`,wrapper:`gap-1`,title:`gap-1.25`,footer:`gap-1.25`,close:`top-1 end-1 p-0.75`},sm:{toaster:`w-85 text-xs`,toast:`p-3.5`,wrapper:`gap-1.25`,title:`gap-1.5`,footer:`gap-1.5`,close:`top-1.25 end-1.25 p-0.875`},md:{toaster:`w-90 text-sm`,toast:`p-4`,wrapper:`gap-1.5`,title:`gap-2`,footer:`gap-2`,close:`top-1.5 end-1.5 p-1`},lg:{toaster:`w-95 text-base`,toast:`p-4.5`,wrapper:`gap-1.75`,title:`gap-2.5`,footer:`gap-2.5`,close:`top-1.75 end-1.75 p-1.25`},xl:{toaster:`w-100 text-lg`,toast:`p-5`,wrapper:`gap-2`,title:`gap-3`,footer:`gap-3`,close:`top-2 end-2 p-1.5`},"2xl":{toaster:`w-110 text-xl`,toast:`p-6`,wrapper:`gap-2.5`,title:`gap-4`,footer:`gap-4`,close:`top-2.5 end-2.5 p-1.75`}}},defaultVariants:{size:`md`}});export{t as toastVariants};
@@ -0,0 +1,3 @@
1
+ import { ToggleShape, ToggleVariant } from "./variants.js";
2
+ import { ToggleEmits, ToggleProps } from "./types.js";
3
+ import { _default } from "./toggle.vue.js";
@@ -0,0 +1 @@
1
+ import"./toggle.js";
@@ -0,0 +1 @@
1
+ import{cn as e}from"../../theme/merge.js";import"../../theme/index.js";import{toggleVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,mergeProps as o,normalizeProps as s,openBlock as c,renderSlot as l,unref as u,withCtx as d}from"vue";import{useOmitProps as f}from"@soybeanjs/headless/composables";import{Toggle as p}from"@soybeanjs/headless";const m=i({name:`SToggle`,__name:`toggle`,props:{class:{},color:{},size:{},variant:{},shape:{},defaultValue:{type:Boolean},modelValue:{type:Boolean,default:void 0},disabled:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(i,{emit:m}){let h=i,g=m,_=f(h,[`class`,`color`,`variant`,`size`,`shape`]),v=n(()=>e(t({color:h.color,variant:h.variant,size:h.size,shape:h.shape}),h.class));return(e,t)=>(c(),r(u(p),o(u(_),{class:v.value,"onUpdate:modelValue":t[0]||=e=>g(`update:modelValue`,e)}),{default:d(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16,[`class`]))}});export{m as default};
@@ -0,0 +1,30 @@
1
+ import { ToggleProps as ToggleProps$1 } from "./types.js";
2
+ import * as _$vue from "vue";
3
+ import * as _$_soybeanjs_headless0 from "@soybeanjs/headless";
4
+
5
+ //#region src/components/toggle/toggle.vue.d.ts
6
+ declare var __VLS_10: {
7
+ modelValue: boolean;
8
+ pressed: boolean;
9
+ state: _$_soybeanjs_headless0.ToggleState;
10
+ disabled: boolean;
11
+ };
12
+ type __VLS_Slots = {} & {
13
+ default?: (props: typeof __VLS_10) => any;
14
+ };
15
+ declare const __VLS_base: _$vue.DefineComponent<ToggleProps$1, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
16
+ "update:modelValue": (value: boolean) => any;
17
+ }, string, _$vue.PublicProps, Readonly<ToggleProps$1> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
19
+ }>, {
20
+ modelValue: boolean;
21
+ }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
22
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
+ declare const _default: typeof __VLS_export;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
29
+ //#endregion
30
+ export { _default };
@@ -0,0 +1,14 @@
1
+ import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
+ import { ToggleShape, ToggleVariant } from "./variants.js";
3
+ import { ClassValue, ToggleEmits, ToggleProps } from "@soybeanjs/headless";
4
+
5
+ //#region src/components/toggle/types.d.ts
6
+ interface ToggleProps$1 extends ToggleProps {
7
+ class?: ClassValue;
8
+ color?: ThemeColor;
9
+ size?: ThemeSize;
10
+ variant?: ToggleVariant;
11
+ shape?: ToggleShape;
12
+ }
13
+ //#endregion
14
+ export { type ToggleEmits, ToggleProps$1 as ToggleProps };
@@ -0,0 +1,100 @@
1
+ import * as _$tailwind_variants0 from "tailwind-variants";
2
+ import { VariantProps } from "tailwind-variants";
3
+
4
+ //#region src/components/toggle/variants.d.ts
5
+ declare const toggleVariants: _$tailwind_variants0.TVReturnType<{
6
+ color: {
7
+ primary: string;
8
+ destructive: string;
9
+ success: string;
10
+ warning: string;
11
+ info: string;
12
+ carbon: string;
13
+ secondary: string;
14
+ accent: string;
15
+ };
16
+ variant: {
17
+ outline: string;
18
+ soft: string;
19
+ ghost: string;
20
+ };
21
+ size: {
22
+ xs: string;
23
+ sm: string;
24
+ md: string;
25
+ lg: string;
26
+ xl: string;
27
+ '2xl': string;
28
+ };
29
+ shape: {
30
+ auto: string;
31
+ rounded: string;
32
+ square: string;
33
+ circle: string;
34
+ };
35
+ }, undefined, string[], {
36
+ color: {
37
+ primary: string;
38
+ destructive: string;
39
+ success: string;
40
+ warning: string;
41
+ info: string;
42
+ carbon: string;
43
+ secondary: string;
44
+ accent: string;
45
+ };
46
+ variant: {
47
+ outline: string;
48
+ soft: string;
49
+ ghost: string;
50
+ };
51
+ size: {
52
+ xs: string;
53
+ sm: string;
54
+ md: string;
55
+ lg: string;
56
+ xl: string;
57
+ '2xl': string;
58
+ };
59
+ shape: {
60
+ auto: string;
61
+ rounded: string;
62
+ square: string;
63
+ circle: string;
64
+ };
65
+ }, undefined, _$tailwind_variants0.TVReturnType<{
66
+ color: {
67
+ primary: string;
68
+ destructive: string;
69
+ success: string;
70
+ warning: string;
71
+ info: string;
72
+ carbon: string;
73
+ secondary: string;
74
+ accent: string;
75
+ };
76
+ variant: {
77
+ outline: string;
78
+ soft: string;
79
+ ghost: string;
80
+ };
81
+ size: {
82
+ xs: string;
83
+ sm: string;
84
+ md: string;
85
+ lg: string;
86
+ xl: string;
87
+ '2xl': string;
88
+ };
89
+ shape: {
90
+ auto: string;
91
+ rounded: string;
92
+ square: string;
93
+ circle: string;
94
+ };
95
+ }, undefined, string[], unknown, unknown, undefined>>;
96
+ type ToggleVariants = VariantProps<typeof toggleVariants>;
97
+ type ToggleVariant = NonNullable<ToggleVariants['variant']>;
98
+ type ToggleShape = NonNullable<ToggleVariants['shape']>;
99
+ //#endregion
100
+ export { ToggleShape, ToggleVariant };
@@ -0,0 +1 @@
1
+ import{tv as e}from"tailwind-variants";const t=e({base:[`inline-flex items-center justify-center rounded-md whitespace-nowrap 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`,`[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4`],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:{outline:`border border-border bg-background text-foreground hover:bg-accent data-[state=on]:bg-accent`,soft:`bg-accent data-[state=off]:hover:bg-accent`,ghost:`bg-transparent data-[state=off]:hover:bg-accent`},size:{xs:`gap-1 h-6 px-1.5 text-2xs`,sm:`gap-2 h-7 px-2 text-xs`,md:`gap-3 h-8 px-4 text-sm`,lg:`gap-4 h-9 px-6 text-base`,xl:`gap-5 h-10 px-8 text-lg`,"2xl":`gap-6 h-12 px-10 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`}},compoundVariants:[{color:`primary`,variant:`soft`,class:`data-[state=on]:bg-primary/20 data-[state=on]:text-primary`},{color:`destructive`,variant:`soft`,class:`data-[state=on]:bg-destructive/20 data-[state=on]:text-destructive`},{color:`success`,variant:`soft`,class:`data-[state=on]:bg-success/20 data-[state=on]:text-success`},{color:`warning`,variant:`soft`,class:`data-[state=on]:bg-warning/20 data-[state=on]:text-warning`},{color:`info`,variant:`soft`,class:`data-[state=on]:bg-info/20 data-[state=on]:text-info`},{color:`carbon`,variant:`soft`,class:`data-[state=on]:bg-carbon/20 data-[state=on]:text-carbon`},{color:`secondary`,variant:`soft`,class:`data-[state=on]:bg-secondary-foreground/10 data-[state=on]:text-secondary-foreground`},{color:`accent`,variant:`soft`,class:`data-[state=on]:bg-accent-foreground/10 data-[state=on]:text-accent-foreground`},{color:`primary`,variant:`ghost`,class:`data-[state=on]:bg-primary/20 data-[state=on]:text-primary`},{color:`destructive`,variant:`ghost`,class:`data-[state=on]:bg-destructive/20 data-[state=on]:text-destructive`},{color:`success`,variant:`ghost`,class:`data-[state=on]:bg-success/20 data-[state=on]:text-success`},{color:`warning`,variant:`ghost`,class:`data-[state=on]:bg-warning/20 data-[state=on]:text-warning`},{color:`info`,variant:`ghost`,class:`data-[state=on]:bg-info/20 data-[state=on]:text-info`},{color:`carbon`,variant:`ghost`,class:`data-[state=on]:bg-carbon/20 data-[state=on]:text-carbon`},{color:`secondary`,variant:`ghost`,class:`data-[state=on]:bg-secondary-foreground/10 data-[state=on]:text-secondary-foreground`},{color:`accent`,variant:`ghost`,class:`data-[state=on]:bg-accent-foreground/10 data-[state=on]:text-accent-foreground`},{size:`xs`,shape:[`square`,`circle`],class:`w-6`},{size:`sm`,shape:[`square`,`circle`],class:`w-7`},{size:`md`,shape:[`square`,`circle`],class:`w-8`},{size:`lg`,shape:[`square`,`circle`],class:`w-9`},{size:`xl`,shape:[`square`,`circle`],class:`w-10`},{size:`2xl`,shape:[`square`,`circle`],class:`w-12`}],defaultVariants:{color:`accent`,variant:`ghost`,size:`md`,shape:`auto`}});export{t as toggleVariants};
@@ -0,0 +1,6 @@
1
+ import { ToggleGroupVariant } from "./variants.js";
2
+ import { ToggleGroupEmits, ToggleGroupProps } from "./types.js";
3
+ import { _default } from "./toggle-group.vue.js";
4
+ import { _default as _default$1 } from "./toggle-group-item.vue.js";
5
+ import { ToggleGroupItemProps as ToggleGroupItemProps$1, ToggleGroupRootEmits, ToggleGroupRootProps, ToggleGroupUi, ToggleGroupUiSlot } from "@soybeanjs/headless/toggle-group";
6
+ export { type ToggleGroupItemProps$1 as ToggleGroupItemProps, type ToggleGroupRootEmits, type ToggleGroupRootProps, type ToggleGroupUi, type ToggleGroupUiSlot };
@@ -0,0 +1 @@
1
+ import"./toggle-group.js";import"./toggle-group-item.js";
@@ -0,0 +1 @@
1
+ import{createBlock as e,defineComponent as t,mergeProps as n,openBlock as r,renderSlot as i,unref as a,withCtx as o}from"vue";import{useOmitProps as s}from"@soybeanjs/headless/composables";import{ToggleGroupItem as c}from"@soybeanjs/headless";const l=t({name:`SToggleGroupItem`,__name:`toggle-group-item`,props:{value:{},disabled:{type:Boolean},type:{},asChild:{type:Boolean},as:{}},setup(t){let l=t,u=s(l,[`class`]);return(t,s)=>(r(),e(a(c),n(a(u),{class:l.class}),{default:o(()=>[i(t.$slots,`default`)]),_:3},16,[`class`]))}});export{l as default};
@@ -0,0 +1,22 @@
1
+ import * as _$vue from "vue";
2
+ import { DefinedValue } from "@soybeanjs/headless";
3
+ import { ToggleGroupItemProps } from "@soybeanjs/headless/toggle-group";
4
+
5
+ //#region src/components/toggle-group/toggle-group-item.vue.d.ts
6
+ declare const __VLS_export: <T extends DefinedValue = string>(__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<ToggleGroupItemProps<T>> & (typeof globalThis extends {
8
+ __VLS_PROPS_FALLBACK: infer P;
9
+ } ? P : {});
10
+ expose: (exposed: {}) => void;
11
+ attrs: any;
12
+ slots: {
13
+ default?: (props: {}) => any;
14
+ };
15
+ emit: {};
16
+ }>) => _$vue.VNode & {
17
+ __ctx?: Awaited<typeof __VLS_setup>;
18
+ };
19
+ declare const _default: typeof __VLS_export;
20
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
21
+ //#endregion
22
+ export { _default };
@@ -0,0 +1 @@
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toggleGroupVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,renderSlot as s,toHandlers as c,unref as l,withCtx as u}from"vue";import{useForwardListeners as d,useOmitProps as f}from"@soybeanjs/headless/composables";import{ToggleGroupRoot as p,provideToggleGroupUi as m}from"@soybeanjs/headless";const h=i({name:`SToggleGroup`,__name:`toggle-group`,props:{class:{},color:{},size:{},variant:{},ui:{},rovingFocus:{type:Boolean},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},modelValue:{},defaultValue:{},multiple:{},singleClearable:{type:Boolean},name:{},required:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`],setup(i,{emit:h}){let g=i,_=h,v=f(g,[`class`,`color`,`size`,`variant`,`ui`]),y=d(_);return m(n(()=>e(t({color:g.color,size:g.size,variant:g.variant,orientation:g.orientation}),g.ui,{root:g.class}))),(e,t)=>(o(),r(l(p),a(l(v),c(l(y))),{default:u(()=>[s(e.$slots,`default`)]),_:3},16))}});export{h as default};
@@ -0,0 +1,24 @@
1
+ import { ToggleGroupProps } from "./types.js";
2
+ import * as _$vue from "vue";
3
+ import { DefinedValue } from "@soybeanjs/headless";
4
+
5
+ //#region src/components/toggle-group/toggle-group.vue.d.ts
6
+ declare const __VLS_export: <M extends boolean = false, T extends DefinedValue = string>(__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<ToggleGroupProps<M, T> & {
8
+ "onUpdate:modelValue"?: ((value: M extends true ? T[] : T) => any) | undefined;
9
+ }> & (typeof globalThis extends {
10
+ __VLS_PROPS_FALLBACK: infer P;
11
+ } ? P : {});
12
+ expose: (exposed: {}) => void;
13
+ attrs: any;
14
+ slots: {
15
+ default?: (props: {}) => any;
16
+ };
17
+ emit: (evt: "update:modelValue", value: M extends true ? T[] : T) => void;
18
+ }>) => _$vue.VNode & {
19
+ __ctx?: Awaited<typeof __VLS_setup>;
20
+ };
21
+ declare const _default: typeof __VLS_export;
22
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
23
+ //#endregion
24
+ export { _default };
@@ -0,0 +1,15 @@
1
+ import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
+ import { ToggleGroupVariant } from "./variants.js";
3
+ import { ClassValue, DefinedValue, ToggleGroupRootEmits, ToggleGroupRootProps, ToggleGroupUi } from "@soybeanjs/headless";
4
+
5
+ //#region src/components/toggle-group/types.d.ts
6
+ interface ToggleGroupProps<M extends boolean = false, T extends DefinedValue = string> extends ToggleGroupRootProps<M, T> {
7
+ class?: ClassValue;
8
+ color?: ThemeColor;
9
+ size?: ThemeSize;
10
+ variant?: ToggleGroupVariant;
11
+ ui?: Partial<ToggleGroupUi>;
12
+ }
13
+ type ToggleGroupEmits<M extends boolean = false, T extends DefinedValue = string> = ToggleGroupRootEmits<M, T>;
14
+ //#endregion
15
+ export { ToggleGroupEmits, ToggleGroupProps };
@@ -0,0 +1,216 @@
1
+ import * as _$tailwind_variants0 from "tailwind-variants";
2
+ import { VariantProps } from "tailwind-variants";
3
+
4
+ //#region src/components/toggle-group/variants.d.ts
5
+ declare const toggleGroupVariants: _$tailwind_variants0.TVReturnType<{
6
+ color: {
7
+ primary: {
8
+ item: string;
9
+ };
10
+ destructive: {
11
+ item: string;
12
+ };
13
+ success: {
14
+ item: string;
15
+ };
16
+ warning: {
17
+ item: string;
18
+ };
19
+ info: {
20
+ item: string;
21
+ };
22
+ carbon: {
23
+ item: string;
24
+ };
25
+ secondary: {
26
+ item: string;
27
+ };
28
+ accent: {
29
+ item: string;
30
+ };
31
+ };
32
+ orientation: {
33
+ horizontal: {
34
+ root: string[];
35
+ };
36
+ vertical: {
37
+ root: string[];
38
+ };
39
+ };
40
+ variant: {
41
+ outline: {
42
+ item: string[];
43
+ };
44
+ soft: {
45
+ item: string[];
46
+ };
47
+ ghost: {
48
+ item: string[];
49
+ };
50
+ };
51
+ size: {
52
+ xs: {
53
+ item: string;
54
+ };
55
+ sm: {
56
+ item: string;
57
+ };
58
+ md: {
59
+ item: string;
60
+ };
61
+ lg: {
62
+ item: string;
63
+ };
64
+ xl: {
65
+ item: string;
66
+ };
67
+ '2xl': {
68
+ item: string;
69
+ };
70
+ };
71
+ }, {
72
+ root: string[];
73
+ item: string[];
74
+ }, undefined, {
75
+ color: {
76
+ primary: {
77
+ item: string;
78
+ };
79
+ destructive: {
80
+ item: string;
81
+ };
82
+ success: {
83
+ item: string;
84
+ };
85
+ warning: {
86
+ item: string;
87
+ };
88
+ info: {
89
+ item: string;
90
+ };
91
+ carbon: {
92
+ item: string;
93
+ };
94
+ secondary: {
95
+ item: string;
96
+ };
97
+ accent: {
98
+ item: string;
99
+ };
100
+ };
101
+ orientation: {
102
+ horizontal: {
103
+ root: string[];
104
+ };
105
+ vertical: {
106
+ root: string[];
107
+ };
108
+ };
109
+ variant: {
110
+ outline: {
111
+ item: string[];
112
+ };
113
+ soft: {
114
+ item: string[];
115
+ };
116
+ ghost: {
117
+ item: string[];
118
+ };
119
+ };
120
+ size: {
121
+ xs: {
122
+ item: string;
123
+ };
124
+ sm: {
125
+ item: string;
126
+ };
127
+ md: {
128
+ item: string;
129
+ };
130
+ lg: {
131
+ item: string;
132
+ };
133
+ xl: {
134
+ item: string;
135
+ };
136
+ '2xl': {
137
+ item: string;
138
+ };
139
+ };
140
+ }, {
141
+ root: string[];
142
+ item: string[];
143
+ }, _$tailwind_variants0.TVReturnType<{
144
+ color: {
145
+ primary: {
146
+ item: string;
147
+ };
148
+ destructive: {
149
+ item: string;
150
+ };
151
+ success: {
152
+ item: string;
153
+ };
154
+ warning: {
155
+ item: string;
156
+ };
157
+ info: {
158
+ item: string;
159
+ };
160
+ carbon: {
161
+ item: string;
162
+ };
163
+ secondary: {
164
+ item: string;
165
+ };
166
+ accent: {
167
+ item: string;
168
+ };
169
+ };
170
+ orientation: {
171
+ horizontal: {
172
+ root: string[];
173
+ };
174
+ vertical: {
175
+ root: string[];
176
+ };
177
+ };
178
+ variant: {
179
+ outline: {
180
+ item: string[];
181
+ };
182
+ soft: {
183
+ item: string[];
184
+ };
185
+ ghost: {
186
+ item: string[];
187
+ };
188
+ };
189
+ size: {
190
+ xs: {
191
+ item: string;
192
+ };
193
+ sm: {
194
+ item: string;
195
+ };
196
+ md: {
197
+ item: string;
198
+ };
199
+ lg: {
200
+ item: string;
201
+ };
202
+ xl: {
203
+ item: string;
204
+ };
205
+ '2xl': {
206
+ item: string;
207
+ };
208
+ };
209
+ }, {
210
+ root: string[];
211
+ item: string[];
212
+ }, undefined, unknown, unknown, undefined>>;
213
+ type ToggleGroupVariants = VariantProps<typeof toggleGroupVariants>;
214
+ type ToggleGroupVariant = NonNullable<ToggleGroupVariants['variant']>;
215
+ //#endregion
216
+ export { ToggleGroupVariant };
@@ -0,0 +1 @@
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`w-fit [&>*]:relative focus-visible:[&>*]:z-2`,`[&>*:not(:first-child):not(:last-child)]:!rounded-none`,`[&>*:not(:first-child):not(:last-child)>*]:!rounded-none`,`data-[orientation=vertical]:items-stretch`],item:[`inline-flex items-center justify-center whitespace-nowrap rounded-md font-medium transition-all-150`,`focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-primary/30 focus-visible:ring-offset-background`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4`]},variants:{color:{primary:{item:`focus-visible:ring-primary/30`},destructive:{item:`focus-visible:ring-destructive/30`},success:{item:`focus-visible:ring-success/30`},warning:{item:`focus-visible:ring-warning/30`},info:{item:`focus-visible:ring-info/30`},carbon:{item:`focus-visible:ring-carbon/30`},secondary:{item:`focus-visible:ring-secondary-foreground/20`},accent:{item:`focus-visible:ring-accent-foreground/20`}},orientation:{horizontal:{root:[`inline-flex flex-row rtl:flex-row-reverse`,`[&>*:not(:last-child)]:border-r-0 [&>*:not(:last-child)>*]:border-r-0`,`focus-visible:[&>*]:border-r focus-visible:[&>*>*]:border-r`,`[&>*:first-child]:!rounded-r-none [&>*:first-child>*]:!rounded-r-none`,`[&>*:last-child]:!rounded-l-none [&>*:last-child>*]:!rounded-l-none`]},vertical:{root:[`flex flex-col`,`[&>*:not(:last-child)]:border-b-0 [&>*:not(:last-child)>*]:border-b-0`,`focus-visible:[&>*]:border-b focus-visible:[&>*>*]:border-b`,`[&>*:first-child]:!rounded-b-none [&>*:first-child>*]:!rounded-b-none`,`[&>*:last-child]:!rounded-t-none [&>*:last-child>*]:!rounded-t-none`]}},variant:{outline:{item:[`border border-border bg-background text-foreground`,`data-[state=off]:hover:bg-accent data-[state=on]:bg-accent data-[state=on]:text-accent-foreground`]},soft:{item:[`bg-accent text-foreground`,`data-[state=off]:hover:bg-accent`]},ghost:{item:[`bg-transparent text-foreground`,`data-[state=off]:hover:bg-accent`]}},size:{xs:{item:`h-6 gap-1 px-1.5 text-2xs`},sm:{item:`h-7 gap-2 px-2 text-xs`},md:{item:`h-8 gap-3 px-4 text-sm`},lg:{item:`h-9 gap-4 px-6 text-base`},xl:{item:`h-10 gap-5 px-8 text-lg`},"2xl":{item:`h-12 gap-6 px-10 text-xl`}}},compoundVariants:[{color:`primary`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-primary/20 data-[state=on]:text-primary`}},{color:`destructive`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-destructive/20 data-[state=on]:text-destructive`}},{color:`success`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-success/20 data-[state=on]:text-success`}},{color:`warning`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-warning/20 data-[state=on]:text-warning`}},{color:`info`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-info/20 data-[state=on]:text-info`}},{color:`carbon`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-carbon/20 data-[state=on]:text-carbon`}},{color:`secondary`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-secondary-foreground/10 data-[state=on]:text-secondary-foreground`}},{color:`accent`,variant:[`soft`,`ghost`],class:{item:`data-[state=on]:bg-accent-foreground/10 data-[state=on]:text-accent-foreground`}}],defaultVariants:{color:`accent`,orientation:`horizontal`,variant:`ghost`,size:`md`}});export{t as toggleGroupVariants};
@@ -0,0 +1,4 @@
1
+ import { ToolbarProps } from "./types.js";
2
+ import { _default } from "./toolbar.vue.js";
3
+ import { ToolbarButton as SToolbarButton, ToolbarButtonEmits, ToolbarButtonProps, ToolbarLink as SToolbarLink, ToolbarLinkProps, ToolbarRootProps, ToolbarSeparator as SToolbarSeparator, ToolbarSeparatorProps, ToolbarToggleGroup as SToolbarToggleGroup, ToolbarToggleGroupEmits, ToolbarToggleGroupProps, ToolbarToggleItem as SToolbarToggleItem, ToolbarToggleItemProps, ToolbarUi, ToolbarUiSlot } from "@soybeanjs/headless/toolbar";
4
+ export { SToolbarButton, SToolbarLink, SToolbarSeparator, SToolbarToggleGroup, SToolbarToggleItem, type ToolbarButtonEmits, type ToolbarButtonProps, type ToolbarLinkProps, type ToolbarRootProps, type ToolbarSeparatorProps, type ToolbarToggleGroupEmits, type ToolbarToggleGroupProps, type ToolbarToggleItemProps, type ToolbarUi, type ToolbarUiSlot };
@@ -0,0 +1 @@
1
+ import"./toolbar.js";import{ToolbarButton as e,ToolbarLink as t,ToolbarSeparator as n,ToolbarToggleGroup as r,ToolbarToggleItem as i}from"@soybeanjs/headless/toolbar";export{e as SToolbarButton,t as SToolbarLink,n as SToolbarSeparator,r as SToolbarToggleGroup,i as SToolbarToggleItem};
@@ -0,0 +1 @@
1
+ import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{toolbarVariants as t}from"./variants.js";import{computed as n,createBlock as r,defineComponent as i,guardReactiveProps as a,normalizeProps 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{ToolbarRoot as f,provideToolbarUi as p}from"@soybeanjs/headless";const m=i({name:`SToolbar`,__name:`toolbar`,props:{class:{},ui:{},orientation:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{}},setup(i){let m=i,h=d(m,[`class`,`ui`]);return p(n(()=>e(t(),m.ui,{root:m.class}))),(e,t)=>(s(),r(l(f),o(a(l(h))),{default:u(()=>[c(e.$slots,`default`)]),_:3},16))}});export{m as default};
@@ -0,0 +1,18 @@
1
+ import { ToolbarProps } from "./types.js";
2
+ import * as _$vue from "vue";
3
+
4
+ //#region src/components/toolbar/toolbar.vue.d.ts
5
+ declare var __VLS_8: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_8) => any;
8
+ };
9
+ declare const __VLS_base: _$vue.DefineComponent<ToolbarProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<ToolbarProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
17
+ //#endregion
18
+ export { _default };
@@ -0,0 +1,9 @@
1
+ import { ClassValue, ToolbarRootProps, ToolbarUi } from "@soybeanjs/headless";
2
+
3
+ //#region src/components/toolbar/types.d.ts
4
+ interface ToolbarProps extends ToolbarRootProps {
5
+ class?: ClassValue;
6
+ ui?: Partial<ToolbarUi>;
7
+ }
8
+ //#endregion
9
+ export { ToolbarProps };
@@ -0,0 +1 @@
1
+ import{tv as e}from"tailwind-variants";const t=[`inline-flex h-7 min-w-7 items-center justify-center gap-1 rounded-sm px-2 text-sm font-medium transition-colors`,`outline-none hover:bg-accent hover:text-accent-foreground`,`focus-visible:ring-3 focus-visible:ring-primary/30`,`data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,`aria-disabled:pointer-events-none aria-disabled:opacity-50`,`[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4`],n=e({slots:{root:[`inline-flex items-center gap-1 rounded-md border border-border bg-background p-1 shadow-xs`,`data-[orientation=vertical]:h-auto data-[orientation=vertical]:w-fit data-[orientation=vertical]:flex-col`,`data-[orientation=horizontal]:h-9`],button:t,link:[...t,`select-none no-underline`],separator:[`shrink-0 bg-border data-[orientation=vertical]:mx-1 data-[orientation=vertical]:h-4 data-[orientation=vertical]:w-px`,`data-[orientation=horizontal]:my-1 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full`],toggleGroup:`inline-flex items-center gap-1 data-[orientation=vertical]:flex-col`,toggleItem:[...t,`data-[state=on]:bg-accent data-[state=on]:text-accent-foreground`]}});export{n as toolbarVariants};
@@ -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,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";const w=m({name:`STreeMenuOptionSlot`,__name:`tree-menu-option-slot`,props:{showLinkIcon:{type:Boolean},as:{},item:{},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},setup(m){let w=m,{collapsed:T}=C(`TreeMenuOptionSlot`),{size:E}=a(`TreeMenuOptionSlot`),D=o(),O=c(()=>!!w.item.children?.filter(e=>!e.hidden)?.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},()=>[p(t,{icon:m.item.icon},null,8,[`icon`])]),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"../icon/icon.js";import t from"../button/button-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";const w=m({name:`STreeMenuOptionSlot`,__name:`tree-menu-option-slot`,props:{showLinkIcon:{type:Boolean},as:{},item:{},itemProps:{},buttonProps:{},linkProps:{},collapsibleProps:{},subProps:{}},setup(m){let w=m,{collapsed:T}=C(`TreeMenuOptionSlot`),{size:E}=a(`TreeMenuOptionSlot`),D=o(),O=c(()=>!!w.item.children?.filter(e=>!e.hidden)?.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},()=>[p(e,{icon:m.item.icon},null,8,[`icon`])]),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(e,{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(t,{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(e,{key:3,icon:`lucide:chevron-right`,class:g(b(D).collapsibleIcon)},null,8,[`class`])):u(`v-if`,!0)],64))}});export{w as default};