@soybeanjs/ui 0.18.0 → 0.19.0

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 (285) hide show
  1. package/dist/components/accordion/accordion.js +1 -1
  2. package/dist/components/affix/affix.js +1 -1
  3. package/dist/components/alert/alert.js +1 -1
  4. package/dist/components/alert/alert.vue.d.ts +2 -0
  5. package/dist/components/anchor/anchor.js +1 -1
  6. package/dist/components/autocomplete/autocomplete.js +1 -1
  7. package/dist/components/avatar/avatar.js +1 -1
  8. package/dist/components/backtop/backtop.js +1 -1
  9. package/dist/components/badge/badge.js +1 -1
  10. package/dist/components/bottom-sheet/bottom-sheet.js +1 -1
  11. package/dist/components/bottom-sheet/variants.js +1 -1
  12. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  13. package/dist/components/button/types.d.ts +1 -1
  14. package/dist/components/button/variants.js +1 -1
  15. package/dist/components/calendar/calendar.js +1 -1
  16. package/dist/components/calendar-range/calendar-range.js +1 -0
  17. package/dist/components/{range-calendar/range-calendar.vue.d.ts → calendar-range/calendar-range.vue.d.ts} +5 -5
  18. package/dist/components/calendar-range/index.d.ts +3 -0
  19. package/dist/components/calendar-range/index.js +1 -0
  20. package/dist/components/calendar-range/types.d.ts +32 -0
  21. package/dist/components/calendar-range/variants.js +1 -0
  22. package/dist/components/card/card-collapsible-trigger.js +1 -1
  23. package/dist/components/card/card.js +1 -1
  24. package/dist/components/carousel/carousel.js +1 -1
  25. package/dist/components/checkbox/checkbox-card-group.js +1 -1
  26. package/dist/components/checkbox/checkbox-card.js +1 -1
  27. package/dist/components/checkbox/checkbox-group.js +1 -1
  28. package/dist/components/checkbox/checkbox.js +1 -1
  29. package/dist/components/collapsible/collapsible.js +1 -1
  30. package/dist/components/collapsible/collapsible.vue.d.ts +1 -1
  31. package/dist/components/color-area/color-area.js +1 -1
  32. package/dist/components/color-area/color-area.vue.d.ts +5 -5
  33. package/dist/components/color-area/types.d.ts +3 -11
  34. package/dist/components/color-field/color-field.js +1 -1
  35. package/dist/components/color-field/color-field.vue.d.ts +3 -3
  36. package/dist/components/color-field/types.d.ts +3 -7
  37. package/dist/components/color-field/variants.js +1 -1
  38. package/dist/components/color-picker/color-picker.js +1 -1
  39. package/dist/components/color-picker/color-picker.vue.d.ts +21 -36
  40. package/dist/components/color-picker/index.d.ts +1 -1
  41. package/dist/components/color-picker/types.d.ts +6 -118
  42. package/dist/components/color-picker/variants.js +1 -1
  43. package/dist/components/color-slider/color-slider.js +1 -1
  44. package/dist/components/color-slider/color-slider.vue.d.ts +5 -5
  45. package/dist/components/color-slider/types.d.ts +3 -11
  46. package/dist/components/color-swatch/color-swatch.js +1 -1
  47. package/dist/components/color-swatch/color-swatch.vue.d.ts +2 -5
  48. package/dist/components/color-swatch/index.d.ts +3 -2
  49. package/dist/components/color-swatch/types.d.ts +9 -13
  50. package/dist/components/color-swatch-picker/color-swatch-picker.js +1 -1
  51. package/dist/components/color-swatch-picker/color-swatch-picker.vue.d.ts +6 -6
  52. package/dist/components/color-swatch-picker/types.d.ts +3 -19
  53. package/dist/components/color-swatch-picker/variants.d.ts +9 -9
  54. package/dist/components/color-swatch-picker/variants.js +1 -1
  55. package/dist/components/combobox/combobox.js +1 -1
  56. package/dist/components/command/command.js +1 -1
  57. package/dist/components/command/command.vue.d.ts +1 -1
  58. package/dist/components/config-provider/config-provider.js +1 -1
  59. package/dist/components/config-provider/types.d.ts +2 -4
  60. package/dist/components/context-menu/context-menu-checkbox.vue.d.ts +1 -1
  61. package/dist/components/context-menu/context-menu-radio.vue.d.ts +3 -3
  62. package/dist/components/context-menu/context-menu.vue.d.ts +1 -1
  63. package/dist/components/date-field/date-field.js +1 -1
  64. package/dist/components/date-field/date-field.vue.d.ts +4 -4
  65. package/dist/components/date-field/variants.js +1 -1
  66. package/dist/components/date-picker/date-picker.js +1 -1
  67. package/dist/components/date-picker/date-picker.vue.d.ts +17 -11
  68. package/dist/components/date-picker/index.d.ts +1 -1
  69. package/dist/components/date-picker/types.d.ts +7 -6
  70. package/dist/components/date-picker/variants.js +1 -1
  71. package/dist/components/date-range-field/date-range-field.js +1 -1
  72. package/dist/components/date-range-field/date-range-field.vue.d.ts +1 -3
  73. package/dist/components/date-range-field/index.d.ts +1 -1
  74. package/dist/components/date-range-field/types.d.ts +5 -49
  75. package/dist/components/date-range-field/variants.js +1 -1
  76. package/dist/components/date-range-picker/date-range-picker.js +1 -1
  77. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +20 -14
  78. package/dist/components/date-range-picker/index.d.ts +1 -1
  79. package/dist/components/date-range-picker/types.d.ts +7 -39
  80. package/dist/components/dialog/dialog-provider.js +1 -1
  81. package/dist/components/dialog/dialog.js +1 -1
  82. package/dist/components/dialog/dialog.vue.d.ts +2 -0
  83. package/dist/components/drawer/drawer.js +1 -1
  84. package/dist/components/drawer/drawer.vue.d.ts +2 -0
  85. package/dist/components/dropdown-menu/dropdown-menu-checkbox.vue.d.ts +1 -1
  86. package/dist/components/dropdown-menu/dropdown-menu-radio.vue.d.ts +3 -3
  87. package/dist/components/dropdown-menu/dropdown-menu.vue.d.ts +1 -1
  88. package/dist/components/editable/editable.js +1 -1
  89. package/dist/components/editable/editable.vue.d.ts +6 -6
  90. package/dist/components/empty/empty.js +1 -1
  91. package/dist/components/form/form-field-array.js +1 -1
  92. package/dist/components/form/form-field-base.js +1 -1
  93. package/dist/components/form/form-field.js +1 -1
  94. package/dist/components/form/form.js +1 -1
  95. package/dist/components/hover-card/hover-card.js +1 -1
  96. package/dist/components/icon/types.d.ts +1 -1
  97. package/dist/components/input/input.js +1 -1
  98. package/dist/components/input/variants.js +1 -1
  99. package/dist/components/input-number/index.d.ts +1 -1
  100. package/dist/components/input-number/input-number.js +1 -1
  101. package/dist/components/input-number/input-number.vue.d.ts +6 -13
  102. package/dist/components/input-number/types.d.ts +8 -24
  103. package/dist/components/input-number/variants.js +1 -1
  104. package/dist/components/input-otp/input-otp.js +1 -1
  105. package/dist/components/input-otp/input-otp.vue.d.ts +2 -2
  106. package/dist/components/layout/layout-classic.js +1 -1
  107. package/dist/components/layout/layout.js +1 -1
  108. package/dist/components/list/list.js +1 -1
  109. package/dist/components/menu/context.js +1 -1
  110. package/dist/components/menu/index.d.ts +1 -8
  111. package/dist/components/menubar/menubar.js +1 -1
  112. package/dist/components/menubar/menubar.vue.d.ts +1 -1
  113. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  114. package/dist/components/page-tabs/index.d.ts +1 -1
  115. package/dist/components/page-tabs/page-tabs.js +1 -1
  116. package/dist/components/page-tabs/page-tabs.vue.d.ts +6 -4
  117. package/dist/components/page-tabs/types.d.ts +10 -117
  118. package/dist/components/page-tabs/variants.js +1 -1
  119. package/dist/components/pagination/pagination.js +1 -1
  120. package/dist/components/password/index.d.ts +3 -2
  121. package/dist/components/password/password.js +1 -1
  122. package/dist/components/password/password.vue.d.ts +2 -12
  123. package/dist/components/password/types.d.ts +8 -25
  124. package/dist/components/popconfirm/index.d.ts +3 -5
  125. package/dist/components/popconfirm/index.js +1 -1
  126. package/dist/components/popconfirm/popconfirm.js +1 -1
  127. package/dist/components/popconfirm/popconfirm.vue.d.ts +6 -27
  128. package/dist/components/popconfirm/types.d.ts +8 -209
  129. package/dist/components/popconfirm/variants.js +1 -1
  130. package/dist/components/popover/index.d.ts +1 -1
  131. package/dist/components/popover/popover.js +1 -1
  132. package/dist/components/popover/popover.vue.d.ts +2 -9
  133. package/dist/components/popover/types.d.ts +9 -37
  134. package/dist/components/popover/variants.js +1 -1
  135. package/dist/components/progress/index.d.ts +11 -3
  136. package/dist/components/progress/progress-circle.js +1 -1
  137. package/dist/components/progress/progress-circle.vue.d.ts +2 -10
  138. package/dist/components/progress/progress-provider.js +1 -1
  139. package/dist/components/progress/progress-provider.vue.d.ts +1 -1
  140. package/dist/components/progress/progress.js +1 -1
  141. package/dist/components/progress/progress.vue.d.ts +2 -11
  142. package/dist/components/progress/types.d.ts +16 -16
  143. package/dist/components/progress/variants.js +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 -2
  146. package/dist/components/radio-group/radio-group.js +1 -1
  147. package/dist/components/radio-group/radio-group.vue.d.ts +2 -2
  148. package/dist/components/scroll-area/scroll-area.js +1 -1
  149. package/dist/components/scroll-area/scroll-area.vue.d.ts +2 -2
  150. package/dist/components/scroll-area/types.d.ts +3 -23
  151. package/dist/components/segment/segment.js +1 -1
  152. package/dist/components/segment/segment.vue.d.ts +2 -2
  153. package/dist/components/select/select.js +1 -1
  154. package/dist/components/select/select.vue.d.ts +1 -1
  155. package/dist/components/separator/separator.js +1 -1
  156. package/dist/components/separator/separator.vue.d.ts +11 -1
  157. package/dist/components/separator/types.d.ts +2 -10
  158. package/dist/components/separator/variants.js +1 -1
  159. package/dist/components/slider/slider.js +1 -1
  160. package/dist/components/slider/slider.vue.d.ts +6 -7
  161. package/dist/components/slider/types.d.ts +3 -15
  162. package/dist/components/splitter/splitter-group.js +1 -1
  163. package/dist/components/splitter/splitter-panel.js +1 -1
  164. package/dist/components/splitter/splitter-panel.vue.d.ts +2 -2
  165. package/dist/components/splitter/splitter-resize-handle.js +1 -1
  166. package/dist/components/stepper/stepper.js +1 -1
  167. package/dist/components/stepper/stepper.vue.d.ts +5 -5
  168. package/dist/components/switch/index.d.ts +1 -1
  169. package/dist/components/switch/switch.js +1 -1
  170. package/dist/components/switch/switch.vue.d.ts +2 -638
  171. package/dist/components/switch/types.d.ts +8 -12
  172. package/dist/components/switch/variants.d.ts +2 -2
  173. package/dist/components/switch/variants.js +1 -1
  174. package/dist/components/table/hooks.d.ts +3 -3
  175. package/dist/components/table/table-filter-popover.js +1 -1
  176. package/dist/components/table/table.js +1 -1
  177. package/dist/components/tabs/tabs.js +1 -1
  178. package/dist/components/tabs/tabs.vue.d.ts +2 -2
  179. package/dist/components/tags-input/index.d.ts +3 -4
  180. package/dist/components/tags-input/index.js +1 -1
  181. package/dist/components/tags-input/tags-input.js +1 -1
  182. package/dist/components/tags-input/tags-input.vue.d.ts +18 -22
  183. package/dist/components/tags-input/types.d.ts +8 -4
  184. package/dist/components/tags-input/variants.js +1 -1
  185. package/dist/components/textarea/index.d.ts +4 -2
  186. package/dist/components/textarea/index.js +1 -1
  187. package/dist/components/textarea/textarea.js +1 -1
  188. package/dist/components/textarea/textarea.vue.d.ts +4 -10
  189. package/dist/components/textarea/types.d.ts +9 -28
  190. package/dist/components/textarea/variants.d.ts +21 -21
  191. package/dist/components/textarea/variants.js +1 -1
  192. package/dist/components/time-field/index.d.ts +1 -1
  193. package/dist/components/time-field/time-field.js +1 -1
  194. package/dist/components/time-field/time-field.vue.d.ts +2 -9
  195. package/dist/components/time-field/types.d.ts +4 -37
  196. package/dist/components/time-range-field/index.d.ts +1 -1
  197. package/dist/components/time-range-field/time-range-field.js +1 -1
  198. package/dist/components/time-range-field/time-range-field.vue.d.ts +1 -3
  199. package/dist/components/time-range-field/types.d.ts +5 -49
  200. package/dist/components/toast/styles.js +36 -36
  201. package/dist/components/toast/toast-provider.js +1 -1
  202. package/dist/components/toggle/toggle.js +1 -1
  203. package/dist/components/toggle-group/index.d.ts +3 -2
  204. package/dist/components/toggle-group/index.js +1 -1
  205. package/dist/components/toggle-group/toggle-group.js +1 -1
  206. package/dist/components/toolbar/toolbar.js +1 -1
  207. package/dist/components/tooltip/index.d.ts +1 -1
  208. package/dist/components/tooltip/tooltip.js +1 -1
  209. package/dist/components/tooltip/tooltip.vue.d.ts +2 -7
  210. package/dist/components/tooltip/types.d.ts +9 -37
  211. package/dist/components/tree/tree-virtualizer.vue.d.ts +1 -1
  212. package/dist/components/tree/tree.vue.d.ts +2 -2
  213. package/dist/components/tree-menu/index.d.ts +1 -1
  214. package/dist/components/tree-menu/tree-menu-styled-item.js +1 -1
  215. package/dist/components/tree-menu/tree-menu.js +1 -1
  216. package/dist/components/tree-menu/tree-menu.vue.d.ts +3 -17
  217. package/dist/components/tree-menu/types.d.ts +12 -204
  218. package/dist/components/tree-menu/variants.js +1 -1
  219. package/dist/constants/components.d.ts +1 -7
  220. package/dist/constants/components.js +1 -1
  221. package/dist/index.d.ts +135 -152
  222. package/dist/index.js +1 -1
  223. package/dist/styles.css +35 -43
  224. package/dist/theme/shared.js +1 -1
  225. package/package.json +8 -8
  226. package/dist/components/color-picker/shared.js +0 -1
  227. package/dist/components/date-range-picker/variants.js +0 -1
  228. package/dist/components/month-picker/index.d.ts +0 -3
  229. package/dist/components/month-picker/index.js +0 -1
  230. package/dist/components/month-picker/month-picker.js +0 -1
  231. package/dist/components/month-picker/month-picker.vue.d.ts +0 -24
  232. package/dist/components/month-picker/types.d.ts +0 -86
  233. package/dist/components/month-picker/variants.js +0 -1
  234. package/dist/components/month-range-picker/index.d.ts +0 -3
  235. package/dist/components/month-range-picker/index.js +0 -1
  236. package/dist/components/month-range-picker/month-range-picker.js +0 -1
  237. package/dist/components/month-range-picker/month-range-picker.vue.d.ts +0 -29
  238. package/dist/components/month-range-picker/types.d.ts +0 -89
  239. package/dist/components/month-range-picker/variants.js +0 -1
  240. package/dist/components/page-tabs/hooks.js +0 -1
  241. package/dist/components/popconfirm/context.js +0 -1
  242. package/dist/components/popconfirm/popconfirm-cancel.js +0 -1
  243. package/dist/components/popconfirm/popconfirm-cancel.vue.d.ts +0 -25
  244. package/dist/components/popconfirm/popconfirm-confirm.js +0 -1
  245. package/dist/components/popconfirm/popconfirm-confirm.vue.d.ts +0 -22
  246. package/dist/components/range-calendar/index.d.ts +0 -3
  247. package/dist/components/range-calendar/index.js +0 -1
  248. package/dist/components/range-calendar/range-calendar.js +0 -1
  249. package/dist/components/range-calendar/types.d.ts +0 -188
  250. package/dist/components/range-calendar/variants.js +0 -1
  251. package/dist/components/tags-input/tags-input-item-delete.js +0 -1
  252. package/dist/components/tags-input/tags-input-item-delete.vue.d.ts +0 -18
  253. package/dist/components/time-field/variants.js +0 -1
  254. package/dist/components/time-picker/index.d.ts +0 -3
  255. package/dist/components/time-picker/index.js +0 -1
  256. package/dist/components/time-picker/time-picker.js +0 -1
  257. package/dist/components/time-picker/time-picker.vue.d.ts +0 -24
  258. package/dist/components/time-picker/types.d.ts +0 -68
  259. package/dist/components/time-picker/variants.js +0 -1
  260. package/dist/components/time-range-field/variants.js +0 -1
  261. package/dist/components/time-range-picker/index.d.ts +0 -3
  262. package/dist/components/time-range-picker/index.js +0 -1
  263. package/dist/components/time-range-picker/time-range-picker.js +0 -1
  264. package/dist/components/time-range-picker/time-range-picker.vue.d.ts +0 -28
  265. package/dist/components/time-range-picker/types.d.ts +0 -71
  266. package/dist/components/time-range-picker/variants.js +0 -1
  267. package/dist/components/toggle-group/toggle-group-item.js +0 -1
  268. package/dist/components/toggle-group/toggle-group-item.vue.d.ts +0 -22
  269. package/dist/components/tree-menu/context.js +0 -1
  270. package/dist/components/tree-menu/shared.js +0 -1
  271. package/dist/components/tree-menu/tree-menu-option-slot.js +0 -1
  272. package/dist/components/tree-menu/tree-menu-option.js +0 -1
  273. package/dist/components/tree-menu/tree-menu-options.js +0 -1
  274. package/dist/components/year-picker/index.d.ts +0 -3
  275. package/dist/components/year-picker/index.js +0 -1
  276. package/dist/components/year-picker/types.d.ts +0 -86
  277. package/dist/components/year-picker/variants.js +0 -1
  278. package/dist/components/year-picker/year-picker.js +0 -1
  279. package/dist/components/year-picker/year-picker.vue.d.ts +0 -24
  280. package/dist/components/year-range-picker/index.d.ts +0 -3
  281. package/dist/components/year-range-picker/index.js +0 -1
  282. package/dist/components/year-range-picker/types.d.ts +0 -90
  283. package/dist/components/year-range-picker/variants.js +0 -1
  284. package/dist/components/year-range-picker/year-range-picker.js +0 -1
  285. package/dist/components/year-range-picker/year-range-picker.vue.d.ts +0 -29
@@ -1,13 +1,13 @@
1
1
  import { ThemeColor, ThemeSize } from "../../theme/types.js";
2
2
  import { SwitchShape } from "./variants.js";
3
- import { SwitchControlProps, SwitchRootEmits, SwitchRootProps, SwitchThumbProps, SwitchUi } from "@soybeanjs/headless/switch";
3
+ import { SwitchCompactEmits, SwitchCompactProps, SwitchCompactSlots, SwitchUi } from "@soybeanjs/headless/switch";
4
4
  import { AcceptableBooleanValue, ClassValue } from "@soybeanjs/headless/types";
5
5
 
6
6
  //#region src/components/switch/types.d.ts
7
7
  /**
8
8
  * Properties for the Switch component.
9
9
  */
10
- interface SwitchProps<T extends AcceptableBooleanValue = boolean> extends SwitchRootProps<T> {
10
+ interface SwitchProps<T extends AcceptableBooleanValue = boolean> extends SwitchCompactProps<T> {
11
11
  /**
12
12
  * Additional class names applied to the root element.
13
13
  */
@@ -28,18 +28,14 @@ interface SwitchProps<T extends AcceptableBooleanValue = boolean> extends Switch
28
28
  * Shape of the component.
29
29
  */
30
30
  shape?: SwitchShape;
31
- /**
32
- * Properties forwarded to the control element.
33
- */
34
- controlProps?: SwitchControlProps;
35
- /**
36
- * Properties forwarded to the thumb element.
37
- */
38
- thumbProps?: SwitchThumbProps;
39
31
  }
40
32
  /**
41
33
  * Events for the Switch component.
42
34
  */
43
- type SwitchEmits<T extends AcceptableBooleanValue = boolean> = SwitchRootEmits<T>;
35
+ type SwitchEmits<T extends AcceptableBooleanValue = boolean> = SwitchCompactEmits<T>;
36
+ /**
37
+ * Slots for the Switch component.
38
+ */
39
+ type SwitchSlots<T extends AcceptableBooleanValue = boolean> = SwitchCompactSlots<T>;
44
40
  //#endregion
45
- export { SwitchEmits, SwitchProps };
41
+ export { SwitchEmits, SwitchProps, SwitchSlots };
@@ -69,7 +69,7 @@ declare const switchVariants: _$tailwind_variants0.TVReturnType<{
69
69
  root: string;
70
70
  control: string[];
71
71
  thumb: string;
72
- }, never[], {
72
+ }, undefined, {
73
73
  color: {
74
74
  primary: {
75
75
  control: string;
@@ -203,7 +203,7 @@ declare const switchVariants: _$tailwind_variants0.TVReturnType<{
203
203
  root: string;
204
204
  control: string[];
205
205
  thumb: string;
206
- }, never[], unknown, unknown, undefined>>;
206
+ }, undefined, unknown, unknown, undefined>>;
207
207
  type SwitchVariants = VariantProps<typeof switchVariants>;
208
208
  type SwitchShape = NonNullable<SwitchVariants['shape']>;
209
209
  //#endregion
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({base:[],slots:{root:`inline-flex`,control:[`peer shrink-0 inline-flex items-center rounded-full border-0 shadow-sm transition-colors-200`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-input`],thumb:`flex justify-center items-center rounded-full shadow-lg transition-transform-200 bg-background pointer-events-none data-[state=unchecked]:translate-x-0.5`},variants:{color:{primary:{control:`data-[state=checked]:bg-primary focus-visible:ring-primary/30`},destructive:{control:`data-[state=checked]:bg-destructive focus-visible:ring-destructive/30`},success:{control:`data-[state=checked]:bg-success focus-visible:ring-success/30`},warning:{control:`data-[state=checked]:bg-warning focus-visible:ring-warning/30`},info:{control:`data-[state=checked]:bg-info focus-visible:ring-info/30`},carbon:{control:`data-[state=checked]:bg-carbon focus-visible:ring-carbon/30`},secondary:{control:`data-[state=checked]:bg-secondary-foreground/20 focus-visible:ring-secondary-foreground/20`},accent:{control:`data-[state=checked]:bg-accent-foreground/20 focus-visible:ring-accent-foreground/20`}},size:{xs:{control:`h-4 w-7`,thumb:`size-3 data-[state=checked]:translate-x-3.5`},sm:{control:`h-4.5 w-8`,thumb:`size-3.5 data-[state=checked]:translate-x-4`},md:{control:`h-5 w-9`,thumb:`size-4 data-[state=checked]:translate-x-4.5`},lg:{control:`h-5.5 w-10`,thumb:`size-4.5 data-[state=checked]:translate-x-5`},xl:{control:`h-6 w-11`,thumb:`size-5 data-[state=checked]:translate-x-5.5`},"2xl":{control:`h-7 w-13`,thumb:`size-6 data-[state=checked]:translate-x-6.5`}},shape:{rounded:{control:`rounded-full`,thumb:`rounded-full`},square:{control:`rounded-md`,thumb:`rounded-sm`}}},defaultVariants:{color:`primary`,size:`md`,shape:`rounded`}});export{t as switchVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:`inline-flex`,control:[`peer shrink-0 inline-flex items-center rounded-full border-0 shadow-sm transition-colors-200`,`outline-none focus-visible:ring-3 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-input`],thumb:`flex justify-center items-center rounded-full shadow-lg transition-transform-200 bg-background pointer-events-none data-[state=unchecked]:translate-x-0.5`},variants:{color:{primary:{control:`data-[state=checked]:bg-primary focus-visible:ring-primary/30`},destructive:{control:`data-[state=checked]:bg-destructive focus-visible:ring-destructive/30`},success:{control:`data-[state=checked]:bg-success focus-visible:ring-success/30`},warning:{control:`data-[state=checked]:bg-warning focus-visible:ring-warning/30`},info:{control:`data-[state=checked]:bg-info focus-visible:ring-info/30`},carbon:{control:`data-[state=checked]:bg-carbon focus-visible:ring-carbon/30`},secondary:{control:`data-[state=checked]:bg-secondary-foreground/20 focus-visible:ring-secondary-foreground/20`},accent:{control:`data-[state=checked]:bg-accent-foreground/20 focus-visible:ring-accent-foreground/20`}},size:{xs:{control:`h-4 w-7`,thumb:`size-3 data-[state=checked]:translate-x-3.5`},sm:{control:`h-4.5 w-8`,thumb:`size-3.5 data-[state=checked]:translate-x-4`},md:{control:`h-5 w-9`,thumb:`size-4 data-[state=checked]:translate-x-4.5`},lg:{control:`h-5.5 w-10`,thumb:`size-4.5 data-[state=checked]:translate-x-5`},xl:{control:`h-6 w-11`,thumb:`size-5 data-[state=checked]:translate-x-5.5`},"2xl":{control:`h-7 w-13`,thumb:`size-6 data-[state=checked]:translate-x-6.5`}},shape:{rounded:{control:`rounded-full`,thumb:`rounded-full`},square:{control:`rounded-md`,thumb:`rounded-sm`}}},defaultVariants:{color:`primary`,size:`md`,shape:`rounded`}});export{t as switchVariants};
@@ -17,11 +17,11 @@ type UsePaginatedTableOptions<ResponseData, ApiData extends TableBaseData> = Use
17
17
  page?: number;
18
18
  pageSize?: number;
19
19
  /**
20
- * Whether to fetch data when page or pageSize changes. [是否在 page 或 pageSize 变化时自动请求数据]
20
+ * Whether to fetch data when page or pageSize changes.
21
21
  *
22
- * Set this to `false` if you want to handle pagination change manually, such as fetching data in a parent component. [如果你想手动处理分页变化,比如在父组件中请求数据,可以将此项设置为 `false`]
22
+ * Set this to `false` if you want to handle pagination change manually, such as fetching data in a parent component.
23
23
  *
24
- * In this case, you can listen to `update:page` and `update:pageSize` events to get the current page and page size. [在这种情况下,你可以监听 `update:page` 和 `update:pageSize` 事件来获取当前页码和每页条数]
24
+ * In this case, you can listen to `update:page` and `update:pageSize` events to get the current page and page size.
25
25
  *
26
26
  * @default true
27
27
  */
@@ -1 +1 @@
1
- import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../button/button.js";import n from"../button/button-icon.js";import r from"../checkbox/checkbox.js";import i from"../popover/popover.js";import a from"../input/input.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createTextVNode as f,createVNode as p,defineComponent as m,normalizeClass as h,openBlock as g,renderList as _,toDisplayString as v,withCtx as y}from"vue";const b=m({name:`STableFilterPopover`,__name:`table-filter-popover`,props:{size:{},ui:{},column:{},filterValue:{},filterValues:{},filterState:{},filtered:{type:Boolean},filterOptions:{},setFilterValue:{type:Function},setFilterValues:{type:Function},setFilterState:{type:Function},toggleFilterOption:{type:Function},isFilterOptionSelected:{type:Function},clearFilter:{type:Function}},setup(m){let b=m,x=s(()=>b.column.title??b.column.key??b.column.dataIndex??`column`),S=s(()=>{let e=b.filterValue.trim().toLowerCase();return e?b.filterOptions.filter(t=>t.label.toLowerCase().includes(e)||t.value.toLowerCase().includes(e)):b.filterOptions}),C=s(()=>S.value.length>0),w=s(()=>b.filterValues.length>0?`${b.filterValues.length} selected`:b.filterValue.trim().length>0?`Keyword active`:b.filterOptions.length>0?`${b.filterOptions.length} options`:`No filter options`),T=s(()=>b.filtered?`Edit filter for ${x.value}`:`Filter ${x.value}`),E=s(()=>`Search filter options for ${x.value}`),D=s(()=>e[b.size??`md`]);function O(e){b.setFilterValue(String(e??``))}return(e,s)=>(g(),c(i,{class:h(m.ui.filterPopup),size:m.size,placement:`bottom-end`,"show-arrow":!1},{trigger:y(()=>[p(n,{icon:`lucide:funnel`,"data-filtered":b.filtered?``:void 0,class:h(m.ui.filterTrigger),size:D.value,"aria-label":T.value,"aria-pressed":m.filtered||void 0},null,8,[`data-filtered`,`class`,`size`,`aria-label`,`aria-pressed`])]),default:y(()=>[p(a,{class:h(m.ui.filterSearch),size:D.value,"model-value":m.filterValue,"control-props":{"aria-label":E.value,placeholder:`Search ${x.value}`},"onUpdate:modelValue":O},null,8,[`class`,`size`,`model-value`,`control-props`]),m.filterOptions.length>0?(g(),u(`div`,{key:0,class:h(m.ui.filterOptions)},[(g(!0),u(o,null,_(S.value,e=>(g(),c(r,{key:e.value,class:h(m.ui.filterOption),size:D.value,disabled:e.disabled,"model-value":m.isFilterOptionSelected(e.value),label:e.label,ui:{label:m.ui.filterOptionLabel},"control-props":{"aria-label":`Select ${e.label}`},"onUpdate:modelValue":t=>m.toggleFilterOption(e.value)},null,8,[`class`,`size`,`disabled`,`model-value`,`label`,`ui`,`control-props`,`onUpdate:modelValue`]))),128)),C.value?l(`v-if`,!0):(g(),u(`div`,{key:0,class:h(m.ui.filterEmpty)},`No matching options`,2))],2)):l(`v-if`,!0),d(`div`,{class:h(m.ui.filterFooter)},[d(`span`,{class:h(m.ui.filterCount)},v(w.value),3),m.filtered?(g(),c(t,{key:0,variant:`ghost`,color:`accent`,"fit-content":``,size:D.value,class:h(m.ui.filterAction),onClick:m.clearFilter},{default:y(()=>[...s[0]||=[f(` Clear `,-1)]]),_:1},8,[`size`,`class`,`onClick`])):l(`v-if`,!0)],2)]),_:1},8,[`class`,`size`]))}});export{b as default};
1
+ import{miniSizeMap as e}from"../../theme/config.js";import"../../theme/index.js";import t from"../button/button.js";import n from"../button/button-icon.js";import r from"../checkbox/checkbox.js";import i from"../input/input.js";import a from"../popover/popover.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createTextVNode as f,createVNode as p,defineComponent as m,normalizeClass as h,openBlock as g,renderList as _,toDisplayString as v,withCtx as y}from"vue";const b=m({name:`STableFilterPopover`,__name:`table-filter-popover`,props:{size:{},ui:{},column:{},filterValue:{},filterValues:{},filterState:{},filtered:{type:Boolean},filterOptions:{},setFilterValue:{type:Function},setFilterValues:{type:Function},setFilterState:{type:Function},toggleFilterOption:{type:Function},isFilterOptionSelected:{type:Function},clearFilter:{type:Function}},setup(m){let b=m,x=s(()=>b.column.title??b.column.key??b.column.dataIndex??`column`),S=s(()=>{let e=b.filterValue.trim().toLowerCase();return e?b.filterOptions.filter(t=>t.label.toLowerCase().includes(e)||t.value.toLowerCase().includes(e)):b.filterOptions}),C=s(()=>S.value.length>0),w=s(()=>b.filterValues.length>0?`${b.filterValues.length} selected`:b.filterValue.trim().length>0?`Keyword active`:b.filterOptions.length>0?`${b.filterOptions.length} options`:`No filter options`),T=s(()=>b.filtered?`Edit filter for ${x.value}`:`Filter ${x.value}`),E=s(()=>`Search filter options for ${x.value}`),D=s(()=>e[b.size??`md`]);function O(e){b.setFilterValue(String(e??``))}return(e,s)=>(g(),c(a,{class:h(m.ui.filterPopup),size:m.size,placement:`bottom-end`,"show-arrow":!1},{trigger:y(()=>[p(n,{icon:`lucide:funnel`,"data-filtered":b.filtered?``:void 0,class:h(m.ui.filterTrigger),size:D.value,"aria-label":T.value,"aria-pressed":m.filtered||void 0},null,8,[`data-filtered`,`class`,`size`,`aria-label`,`aria-pressed`])]),default:y(()=>[p(i,{class:h(m.ui.filterSearch),size:D.value,"model-value":m.filterValue,"control-props":{"aria-label":E.value,placeholder:`Search ${x.value}`},"onUpdate:modelValue":O},null,8,[`class`,`size`,`model-value`,`control-props`]),m.filterOptions.length>0?(g(),u(`div`,{key:0,class:h(m.ui.filterOptions)},[(g(!0),u(o,null,_(S.value,e=>(g(),c(r,{key:e.value,class:h(m.ui.filterOption),size:D.value,disabled:e.disabled,"model-value":m.isFilterOptionSelected(e.value),label:e.label,ui:{label:m.ui.filterOptionLabel},"control-props":{"aria-label":`Select ${e.label}`},"onUpdate:modelValue":t=>m.toggleFilterOption(e.value)},null,8,[`class`,`size`,`disabled`,`model-value`,`label`,`ui`,`control-props`,`onUpdate:modelValue`]))),128)),C.value?l(`v-if`,!0):(g(),u(`div`,{key:0,class:h(m.ui.filterEmpty)},`No matching options`,2))],2)):l(`v-if`,!0),d(`div`,{class:h(m.ui.filterFooter)},[d(`span`,{class:h(m.ui.filterCount)},v(w.value),3),m.filtered?(g(),c(t,{key:0,variant:`ghost`,color:`accent`,"fit-content":``,size:D.value,class:h(m.ui.filterAction),onClick:m.clearFilter},{default:y(()=>[...s[0]||=[f(` Clear `,-1)]]),_:1},8,[`size`,`class`,`onClick`])):l(`v-if`,!0)],2)]),_:1},8,[`class`,`size`]))}});export{b as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import n from"../button/button-icon.js";import r from"../checkbox/checkbox.js";import i from"../empty/empty.js";import a from"./table-filter-popover.js";import{tableVariants as o}from"./variants.js";import s from"./table-radio.js";import{computed as c,createBlock as l,createCommentVNode as u,createElementVNode as d,createSlots as f,createVNode as p,defineComponent as m,guardReactiveProps as h,mergeProps as g,normalizeClass as _,normalizeProps as v,openBlock as y,renderList as b,renderSlot 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{TableCompact as O,provideTableUi as k}from"@soybeanjs/headless/table";const A=[`aria-label`,`aria-pressed`,`data-resizing`,`onPointerdown`,`onKeydown`],j=m({name:`STable`,__name:`table`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},variant:{},bordered:{type:Boolean},rounded:{type:Boolean,default:!0},striped:{type:Boolean},columns:{},data:{},rowKey:{},defaultSortState:{},sortState:{},defaultFilterState:{},filterState:{},defaultColumnWidths:{},columnWidths:{},getChildren:{},indent:{},virtual:{type:Boolean},height:{},estimateSize:{},virtualizerOptions:{},defaultExpanded:{},expanded:{},defaultExpandAll:{type:Boolean},contentProps:{},headerProps:{},bodyProps:{},footerProps:{},headProps:{},rowProps:{},cellProps:{},dir:{},defaultSelected:{},selected:{},multiple:{default:!0}},emits:[`update:sortState`,`update:filterState`,`update:columnWidths`,`update:expanded`,`update:selected`],setup(m,{emit:j}){let M=m,N=j,P=w(),F=D(M,[`class`,`ui`,`size`,`variant`,`bordered`,`rounded`,`striped`]),I=E(N),L=c(()=>Object.keys(P)),R=c(()=>e(o({size:M.size,variant:M.variant,bordered:M.bordered,rounded:M.rounded,striped:M.striped}),M.ui,{root:M.class})),z=c(()=>t[M.size??`md`]),B=e=>e===`asc`?`lucide:arrow-up`:e===`desc`?`lucide:arrow-down`:`lucide:arrow-up-down`;return k(R),(e,t)=>(y(),l(C(O),g(C(F),S(C(I))),f({_:2},[b(L.value,t=>({name:t,fn:T(n=>[x(e.$slots,t,v(h(n)))])})),P[`header-selection`]?void 0:{name:`header-selection`,fn:T(({checked:e,disabled:t,multiple:n,updateChecked:i})=>[n?(y(),l(r,{key:0,disabled:t,"model-value":e,class:_(R.value.selection),"control-props":{"aria-label":`Select all rows`},"onUpdate:modelValue":i},null,8,[`disabled`,`model-value`,`class`,`onUpdate:modelValue`])):u(`v-if`,!0)]),key:`0`},P.selection?void 0:{name:`selection`,fn:T(({checked:e,multiple:t,ariaLabel:n,toggleSelect:i})=>[t?(y(),l(r,{key:0,class:_(R.value.selection),"model-value":e,"control-props":{"aria-label":n},"onUpdate:modelValue":e=>i()},null,8,[`class`,`model-value`,`control-props`,`onUpdate:modelValue`])):(y(),l(s,{key:1,size:m.size,checked:e,"aria-label":n,onClick:e=>i()},null,8,[`size`,`checked`,`aria-label`,`onClick`]))]),key:`1`},P[`header-sort`]?void 0:{name:`header-sort`,fn:T(({sortOrder:e,ariaLabel:t,toggleSort:r})=>[p(n,{icon:B(e),class:_(R.value.sortTrigger),size:z.value,"aria-label":t,"data-sorted":e?``:void 0,onClick:e=>r()},null,8,[`icon`,`class`,`size`,`aria-label`,`data-sorted`,`onClick`])]),key:`2`},P[`header-filter`]?void 0:{name:`header-filter`,fn:T(e=>[p(a,g(e,{ui:R.value,size:m.size}),null,16,[`ui`,`size`])]),key:`3`},P[`header-resize`]?void 0:{name:`header-resize`,fn:T(({resizing:e,ariaLabel:t,onPointerdown:n,onKeydown:r})=>[d(`button`,{type:`button`,class:_(R.value.resizeHandle),"aria-label":t,"aria-pressed":e,"data-resizing":e||void 0,onPointerdown:n,onKeydown:r},null,42,A)]),key:`4`},P[`tree-toggle`]?void 0:{name:`tree-toggle`,fn:T(({expanded:e,ariaLabel:t,toggleExpand:r})=>[p(n,{class:_(R.value.treeToggle),size:z.value,"aria-expanded":e,"aria-label":t,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,onClick:e=>r()},null,8,[`class`,`size`,`aria-expanded`,`aria-label`,`icon`,`onClick`])]),key:`5`},P.expand?void 0:{name:`expand`,fn:T(({expanded:e,ariaLabel:t,hasChildren:r,toggleExpand:i})=>[r||P[`expanded-row`]?(y(),l(n,{key:0,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,class:_(R.value.treeToggle),size:z.value,"aria-expanded":e,"aria-label":t,"data-expanded":e?``:void 0,onClick:e=>i()},null,8,[`icon`,`class`,`size`,`aria-expanded`,`aria-label`,`data-expanded`,`onClick`])):u(`v-if`,!0)]),key:`6`},P.empty?void 0:{name:`empty`,fn:T(()=>[p(i,{title:`No data`,description:`There is no data to display.`,icon:`lucide:inbox`,"media-variant":`icon`})]),key:`7`}]),1040))}});export{j as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import n from"../button/button-icon.js";import r from"../checkbox/checkbox.js";import i from"../empty/empty.js";import a from"./table-filter-popover.js";import{tableVariants as o}from"./variants.js";import s from"./table-radio.js";import{computed as c,createBlock as l,createCommentVNode as u,createElementVNode as d,createSlots as f,createVNode as p,defineComponent as m,guardReactiveProps as h,mergeProps as g,normalizeClass as _,normalizeProps as v,openBlock as y,renderList as b,renderSlot 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{useLocaleMessages as O}from"@soybeanjs/headless";import{TableCompact as k,provideTableUi as A}from"@soybeanjs/headless/table";const j=[`aria-label`,`aria-pressed`,`data-resizing`,`onPointerdown`,`onKeydown`],M=m({name:`STable`,__name:`table`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},variant:{},bordered:{type:Boolean},rounded:{type:Boolean,default:!0},striped:{type:Boolean},columns:{},data:{},rowKey:{},defaultSortState:{},sortState:{},defaultFilterState:{},filterState:{},defaultColumnWidths:{},columnWidths:{},getChildren:{},indent:{},virtual:{type:Boolean},height:{},estimateSize:{},virtualizerOptions:{},defaultExpanded:{},expanded:{},defaultExpandAll:{type:Boolean},contentProps:{},headerProps:{},bodyProps:{},footerProps:{},headProps:{},rowProps:{},cellProps:{},dir:{},defaultSelected:{},selected:{},multiple:{default:!0}},emits:[`update:sortState`,`update:filterState`,`update:columnWidths`,`update:expanded`,`update:selected`],setup(m,{emit:M}){let N=m,P=M,F=w(),I=D(N,[`class`,`ui`,`size`,`variant`,`bordered`,`rounded`,`striped`]),L=E(P),R=c(()=>Object.keys(F)),z=c(()=>e(o({size:N.size,variant:N.variant,bordered:N.bordered,rounded:N.rounded,striped:N.striped}),N.ui,{root:N.class})),B=c(()=>t[N.size??`md`]),V=O(),H=e=>e===`asc`?`lucide:arrow-up`:e===`desc`?`lucide:arrow-down`:`lucide:arrow-up-down`;return A(z),(e,t)=>(y(),l(C(k),g(C(I),S(C(L))),f({_:2},[b(R.value,t=>({name:t,fn:T(n=>[x(e.$slots,t,v(h(n)))])})),F[`header-selection`]?void 0:{name:`header-selection`,fn:T(({checked:e,disabled:t,multiple:n,ariaLabel:i,updateChecked:a})=>[n?(y(),l(r,{key:0,disabled:t,"model-value":e,class:_(z.value.selection),"control-props":{"aria-label":i},"onUpdate:modelValue":a},null,8,[`disabled`,`model-value`,`class`,`control-props`,`onUpdate:modelValue`])):u(`v-if`,!0)]),key:`0`},F.selection?void 0:{name:`selection`,fn:T(({checked:e,multiple:t,ariaLabel:n,toggleSelect:i})=>[t?(y(),l(r,{key:0,class:_(z.value.selection),"model-value":e,"control-props":{"aria-label":n},"onUpdate:modelValue":e=>i()},null,8,[`class`,`model-value`,`control-props`,`onUpdate:modelValue`])):(y(),l(s,{key:1,size:m.size,checked:e,"aria-label":n,onClick:e=>i()},null,8,[`size`,`checked`,`aria-label`,`onClick`]))]),key:`1`},F[`header-sort`]?void 0:{name:`header-sort`,fn:T(({sortOrder:e,ariaLabel:t,toggleSort:r})=>[p(n,{icon:H(e),class:_(z.value.sortTrigger),size:B.value,"aria-label":t,"data-sorted":e?``:void 0,onClick:e=>r()},null,8,[`icon`,`class`,`size`,`aria-label`,`data-sorted`,`onClick`])]),key:`2`},F[`header-filter`]?void 0:{name:`header-filter`,fn:T(e=>[p(a,g(e,{ui:z.value,size:m.size}),null,16,[`ui`,`size`])]),key:`3`},F[`header-resize`]?void 0:{name:`header-resize`,fn:T(({resizing:e,ariaLabel:t,onPointerdown:n,onKeydown:r})=>[d(`button`,{type:`button`,class:_(z.value.resizeHandle),"aria-label":t,"aria-pressed":e,"data-resizing":e||void 0,onPointerdown:n,onKeydown:r},null,42,j)]),key:`4`},F[`tree-toggle`]?void 0:{name:`tree-toggle`,fn:T(({expanded:e,ariaLabel:t,toggleExpand:r})=>[p(n,{class:_(z.value.treeToggle),size:B.value,"aria-expanded":e,"aria-label":t,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,onClick:e=>r()},null,8,[`class`,`size`,`aria-expanded`,`aria-label`,`icon`,`onClick`])]),key:`5`},F.expand?void 0:{name:`expand`,fn:T(({expanded:e,ariaLabel:t,hasChildren:r,toggleExpand:i})=>[r||F[`expanded-row`]?(y(),l(n,{key:0,icon:e?`lucide:chevron-down`:`lucide:chevron-right`,class:_(z.value.treeToggle),size:B.value,"aria-expanded":e,"aria-label":t,"data-expanded":e?``:void 0,onClick:e=>i()},null,8,[`icon`,`class`,`size`,`aria-expanded`,`aria-label`,`data-expanded`,`onClick`])):u(`v-if`,!0)]),key:`6`},F.empty?void 0:{name:`empty`,fn:T(()=>[p(i,{title:C(V).table.emptyTitle,description:C(V).table.emptyDescription,icon:`lucide:inbox`,"media-variant":`icon`},null,8,[`title`,`description`])]),key:`7`}]),1040))}});export{M as default};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tabsVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{TabsCompact as b,provideTabsUi as x}from"@soybeanjs/headless/tabs";const S=o({name:`STabs`,__name:`tabs`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},fill:{default:`full`},items:{},enableIndicator:{type:Boolean,default:!0},listProps:{},triggerProps:{},contentProps:{},indicatorProps:{},modelValue:{default:void 0},defaultValue:{},activationMode:{},unmountOnHide:{type:Boolean,default:!0},orientation:{},dir:{},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`,`fill`]),D=_(w),O=n(()=>y(T));return x(n(()=>e(t({size:C.size,orientation:C.orientation,fill:C.fill,enableIndicator:C.enableIndicator}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(b),c(m(E),{items:o.items},p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040,[`items`]))}});export{S as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tabsVariants as t}from"./variants.js";import{computed as n,createBlock as r,createCommentVNode as i,createSlots as a,defineComponent as o,guardReactiveProps as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{keysOf as y}from"@soybeanjs/utils";import{TabsCompact as b,provideTabsUi as x}from"@soybeanjs/headless/tabs";const S=o({name:`STabs`,__name:`tabs`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},fill:{default:`full`},items:{},enableIndicator:{type:Boolean,default:!0},listProps:{},triggerProps:{},contentProps:{},indicatorProps:{},modelValue:{default:void 0},defaultValue:{},activationMode:{},unmountOnHide:{type:Boolean,default:!0},orientation:{},dir:{},loop:{type:Boolean,default:!0}},emits:[`update:modelValue`],setup(o,{emit:S}){let C=o,w=S,T=h(),E=v(C,[`class`,`size`,`ui`,`fill`]),D=_(w),O=n(()=>y(T));return x(n(()=>e(t({size:C.size,orientation:C.orientation,fill:C.fill,enableIndicator:C.enableIndicator}),C.ui,{root:C.class}))),(e,t)=>(u(),r(m(b),c(m(E),{items:o.items},p(m(D))),a({_:2},[d(O.value,t=>({name:t,fn:g(n=>[i(` @vue-ignore ignore vue slot props type `),f(e.$slots,t,l(s(n)))])}))]),1040,[`items`]))}});export{S as default};
@@ -4,14 +4,14 @@ import * as _$vue from "vue";
4
4
  //#region src/components/tabs/tabs.vue.d.ts
5
5
  declare const __VLS_export: <T extends TabsOptionData = TabsOptionData>(__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
6
  props: _$vue.PublicProps & __VLS_PrettifyLocal<TabsProps<T> & {
7
- "onUpdate:modelValue"?: ((payload: T["value"]) => any) | undefined;
7
+ "onUpdate:modelValue"?: ((payload: Exclude<T["value"], undefined>) => any) | undefined;
8
8
  }> & (typeof globalThis extends {
9
9
  __VLS_PROPS_FALLBACK: infer P;
10
10
  } ? P : {});
11
11
  expose: (exposed: {}) => void;
12
12
  attrs: any;
13
13
  slots: TabsSlots<T>;
14
- emit: (evt: "update:modelValue", payload: T["value"]) => void;
14
+ emit: (evt: "update:modelValue", payload: Exclude<T["value"], undefined>) => void;
15
15
  }>) => _$vue.VNode & {
16
16
  __ctx?: Awaited<typeof __VLS_setup>;
17
17
  };
@@ -1,6 +1,5 @@
1
- import { TagsInputEmits, TagsInputProps } from "./types.js";
1
+ import { TagsInputEmits, TagsInputProps, TagsInputSlots } from "./types.js";
2
2
  import { _default } from "./tags-input.vue.js";
3
- import { _default as _default$1 } from "./tags-input-item-delete.vue.js";
4
- import { TagsInputClear as STagsInputClear, TagsInputInput as STagsInputInput, TagsInputItem as STagsInputItem, TagsInputItemText as STagsInputItemText } from "@soybeanjs/headless/tags-input";
3
+ import { TagsInputItemDelete as STagsInputItemDelete, TagsInputItemText as STagsInputItemText } from "@soybeanjs/headless/tags-input";
5
4
  export * from "@soybeanjs/headless/tags-input";
6
- export { STagsInputClear, STagsInputInput, STagsInputItem, STagsInputItemText };
5
+ export { STagsInputItemDelete, STagsInputItemText };
@@ -1 +1 @@
1
- import"./tags-input.js";import"./tags-input-item-delete.js";import{TagsInputClear as e,TagsInputInput as t,TagsInputItem as n,TagsInputItemText as r}from"@soybeanjs/headless/tags-input";export{e as STagsInputClear,t as STagsInputInput,n as STagsInputItem,r as STagsInputItemText};
1
+ import"./tags-input.js";import{TagsInputItemDelete as e,TagsInputItemText as t}from"@soybeanjs/headless/tags-input";export{e as STagsInputItemDelete,t as STagsInputItemText};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{tagsInputVariants 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,toHandlers as u,unref as d,withCtx as f}from"vue";import{useForwardListeners as p,useOmitProps as m}from"@soybeanjs/headless/composables";import{TagsInputRoot as h,provideTagsInputUi as g}from"@soybeanjs/headless/tags-input";const _=i({name:`STagsInput`,__name:`tags-input`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},id:{},modelValue:{},defaultValue:{},addOnPaste:{type:Boolean},addOnTab:{type:Boolean},addOnBlur:{type:Boolean},duplicate:{type:Boolean},disabled:{type:Boolean},delimiter:{},dir:{},max:{},convertValue:{type:Function},displayValue:{type:Function},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`invalid`,`addTag`,`removeTag`],setup(i,{emit:_}){let v=i,y=_,b=m(v,[`class`,`size`,`ui`,`onInvalid`]),x=p(y);return g(n(()=>e(t({size:v.size}),v.ui,{root:v.class}))),(e,t)=>(c(),r(d(h),o(d(b),u(d(x))),{default:f(t=>[l(e.$slots,`default`,s(a(t)))]),_:3},16))}});export{_ as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import{buttonIconVariants as n}from"../button/variants.js";import{tagsInputVariants as r}from"./variants.js";import{computed as i,createBlock as a,createSlots as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderSlot as f,toHandlers as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useForwardListeners as _,useOmitProps as v}from"@soybeanjs/headless/composables";import{TagsInputCompact as y,provideTagsInputUi as b}from"@soybeanjs/headless/tags-input";const x=s({name:`STagsInput`,__name:`tags-input`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},clearable:{type:Boolean},controlProps:{},clearProps:{},itemProps:{},itemTextProps:{},itemDeleteProps:{},dir:{},modelValue:{},defaultValue:{},addOnPaste:{type:Boolean},addOnTab:{type:Boolean},addOnBlur:{type:Boolean},duplicate:{type:Boolean},delimiter:{},max:{},displayValue:{type:Function},id:{},autofocus:{type:Boolean},disabled:{type:Boolean},maxlength:{},minlength:{},pattern:{},placeholder:{},readonly:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`invalid`,`addTag`,`removeTag`],setup(s,{emit:x}){let S=s,C=x,w=h(),T=v(S,[`class`,`size`,`ui`]),E=_(C);return b(i(()=>{let i=t[S.size||`md`];return e(Object.assign(r({size:S.size}),{$base:{itemDelete:n({size:i,shape:`circle`}),clear:n({size:S.size})}}),S.ui,{root:S.class})})),(e,t)=>(d(),a(m(y),l(m(T),p(m(E))),o({_:2},[w.item?{name:`item`,fn:g(t=>[f(e.$slots,`item`,u(c(t)))]),key:`0`}:void 0]),1040))}});export{x as default};
@@ -1,29 +1,25 @@
1
- import { TagsInputProps } from "./types.js";
1
+ import { TagsInputProps, TagsInputSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
- import { TagsInputAcceptableValue } from "@soybeanjs/headless/tags-input";
4
3
 
5
4
  //#region src/components/tags-input/tags-input.vue.d.ts
6
- declare const __VLS_export: <T extends TagsInputAcceptableValue = 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<TagsInputProps<T> & {
8
- "onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
9
- onInvalid?: ((value: T) => any) | undefined;
10
- onAddTag?: ((value: T) => any) | undefined;
11
- onRemoveTag?: ((value: T) => any) | undefined;
12
- }> & (typeof globalThis extends {
13
- __VLS_PROPS_FALLBACK: infer P;
14
- } ? P : {});
15
- expose: (exposed: {}) => void;
16
- attrs: any;
17
- slots: {
18
- default?: (props: {
19
- modelValue: TagsInputAcceptableValue[] | undefined;
20
- }) => any;
5
+ type __VLS_Slots = TagsInputSlots;
6
+ declare const __VLS_base: _$vue.DefineComponent<TagsInputProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
+ invalid: (value: string) => any;
8
+ "update:modelValue": (value: string[]) => any;
9
+ addTag: (value: string) => any;
10
+ removeTag: (value: string) => any;
11
+ }, string, _$vue.PublicProps, Readonly<TagsInputProps> & Readonly<{
12
+ onInvalid?: ((value: string) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
14
+ onAddTag?: ((value: string) => any) | undefined;
15
+ onRemoveTag?: ((value: string) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
21
22
  };
22
- emit: ((evt: "update:modelValue", value: T[]) => void) & ((evt: "invalid", value: T) => void) & ((evt: "addTag", value: T) => void) & ((evt: "removeTag", value: T) => void);
23
- }>) => _$vue.VNode & {
24
- __ctx?: Awaited<typeof __VLS_setup>;
25
23
  };
26
- declare const _default: typeof __VLS_export;
27
- type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
28
24
  //#endregion
29
25
  export { _default };
@@ -1,12 +1,12 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
- import { TagsInputRootEmits, TagsInputRootProps, TagsInputUi } from "@soybeanjs/headless/tags-input";
2
+ import { TagsInputCompactEmits, TagsInputCompactProps, TagsInputCompactSlots, TagsInputUi } from "@soybeanjs/headless/tags-input";
3
3
  import { ClassValue } from "@soybeanjs/headless/types";
4
4
 
5
5
  //#region src/components/tags-input/types.d.ts
6
6
  /**
7
7
  * Properties for the TagsInput component.
8
8
  */
9
- interface TagsInputProps<T = string> extends TagsInputRootProps<T> {
9
+ interface TagsInputProps extends TagsInputCompactProps {
10
10
  /**
11
11
  * Additional class names applied to the root element.
12
12
  */
@@ -23,6 +23,10 @@ interface TagsInputProps<T = string> extends TagsInputRootProps<T> {
23
23
  /**
24
24
  * Events for the TagsInput component.
25
25
  */
26
- type TagsInputEmits<T = string> = TagsInputRootEmits<T>;
26
+ type TagsInputEmits = TagsInputCompactEmits;
27
+ /**
28
+ * Slots for the TagsInput component.
29
+ */
30
+ type TagsInputSlots = TagsInputCompactSlots;
27
31
  //#endregion
28
- export { TagsInputEmits, TagsInputProps };
32
+ export { TagsInputEmits, TagsInputProps, TagsInputSlots };
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`flex w-full flex-wrap items-center rounded-md border border-input bg-background shadow-xs transition-[color,box-shadow]`,`focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50`,`data-[invalid]:border-destructive data-[invalid]:ring-3 data-[invalid]:ring-destructive/20`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],item:[`inline-flex items-center rounded-md bg-secondary ring-offset-background transition-[box-shadow,background-color]`,`data-[state=active]:ring-2 data-[state=active]:ring-ring data-[state=active]:ring-offset-2`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemText:`rounded bg-transparent`,itemDelete:[`inline-flex items-center justify-center rounded bg-transparent text-muted-foreground transition-colors`,`hover:text-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`],input:[`min-w-24 flex-1 bg-transparent text-foreground outline-none`,`placeholder:text-muted-foreground disabled:cursor-not-allowed`],clear:[`inline-flex items-center justify-center rounded-md text-muted-foreground transition-colors`,`hover:text-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`]},variants:{size:{xs:{root:`gap-1 px-1.5 py-1 text-2xs`,item:`min-h-5 gap-0.5`,itemText:`px-1.5 py-0.5 text-2xs`,itemDelete:`me-0.5 size-4`,input:`min-h-5 px-1 text-2xs`,clear:`size-4 text-xs`},sm:{root:`gap-1.5 px-2 py-1 text-xs`,item:`min-h-5 gap-0.75`,itemText:`px-1.5 py-0.5 text-xs`,itemDelete:`me-0.5 size-4`,input:`min-h-5 px-1 text-xs`,clear:`size-4 text-xs`},md:{root:`gap-2 px-2 py-1 text-sm`,item:`min-h-5 gap-1`,itemText:`px-2 py-0.5 text-sm`,itemDelete:`me-1 size-4`,input:`min-h-5 px-1 text-sm`,clear:`size-4 text-sm`},lg:{root:`gap-2 px-2.5 py-1.5 text-base`,item:`min-h-6 gap-1`,itemText:`px-2 py-0.5 text-base`,itemDelete:`me-1 size-4.5`,input:`min-h-6 px-1 text-base`,clear:`size-4.5 text-base`},xl:{root:`gap-2.5 px-3 py-2 text-lg`,item:`min-h-7 gap-1.5`,itemText:`px-2.5 py-1 text-lg`,itemDelete:`me-1 size-5`,input:`min-h-7 px-1.5 text-lg`,clear:`size-5 text-lg`},"2xl":{root:`gap-3 px-3.5 py-2.5 text-xl`,item:`min-h-8 gap-1.5`,itemText:`px-3 py-1 text-xl`,itemDelete:`me-1.5 size-5.5`,input:`min-h-8 px-1.5 text-xl`,clear:`size-5.5 text-xl`}}},defaultVariants:{size:`md`}});export{t as tagsInputVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group relative flex w-full flex-wrap items-center rounded-md border border-input bg-background shadow-sm transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`,`data-[invalid]:focus-within:ring-destructive/30`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],item:[`inline-flex items-center rounded-md bg-accent ring-offset-background transition-[box-shadow,background-color]`,`data-[state=active]:ring-2 data-[state=active]:ring-primary/30 data-[state=active]:ring-offset-2`,`data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`],itemText:`rounded bg-transparent`,itemDelete:``,control:[`grow min-w-0 bg-transparent text-foreground outline-none`,`placeholder:text-muted-foreground disabled:cursor-not-allowed`],clear:`absolute opacity-0 transition-opacity group-data-[has-value]:opacity-100`},variants:{size:{xs:{root:`gap-1 px-1.5 py-1 text-2xs`,item:`min-h-4 gap-0.5`,itemText:`px-1.5 py-0.5`,itemDelete:`me-0.5`,input:`min-h-5 px-0.5`,clear:`end-0.5 top-0.5`},sm:{root:`gap-1.5 px-2 py-1 text-xs`,item:`min-h-4.5 gap-0.75`,itemText:`px-1.5 py-0.5`,itemDelete:`me-0.5`,input:`min-h-5 px-0.75`,clear:`end-0.75 top-0.75`},md:{root:`gap-2 px-2 py-1 text-sm`,item:`min-h-5 gap-1`,itemText:`px-2 py-0.5`,itemDelete:`me-1`,input:`min-h-5 px-1`,clear:`end-1 top-1`},lg:{root:`gap-2 px-2.5 py-1.5 text-base`,item:`min-h-6 gap-1`,itemText:`px-2 py-0.5`,itemDelete:`me-1`,input:`min-h-6 px-1.25`,clear:`end-1.25 top-1.25`},xl:{root:`gap-2.5 px-3 py-2 text-lg`,item:`min-h-7 gap-1.5`,itemText:`px-2.5 py-1`,itemDelete:`me-1`,input:`min-h-7 px-1.5`,clear:`end-1.5 top-1.5`},"2xl":{root:`gap-3 px-3.5 py-2.5 text-xl`,item:`min-h-8 gap-1.5`,itemText:`px-3 py-1`,itemDelete:`me-1.5`,input:`min-h-8 px-2`,clear:`end-2 top-2`}}},defaultVariants:{size:`md`}});export{t as tagsInputVariants};
@@ -1,4 +1,6 @@
1
1
  import { TextareaResize } from "./variants.js";
2
- import { TextareaEmits, TextareaExtraUiSlot, TextareaProps } from "./types.js";
2
+ import { TextareaEmits, TextareaProps, TextareaSlots } from "./types.js";
3
3
  import { _default } from "./textarea.vue.js";
4
- export * from "@soybeanjs/headless/textarea";
4
+ import { TextareaClear as STextareaClear } from "@soybeanjs/headless/textarea";
5
+ export * from "@soybeanjs/headless/textarea";
6
+ export { STextareaClear };
@@ -1 +1 @@
1
- import"./textarea.js";
1
+ import"./textarea.js";import{TextareaClear as e}from"@soybeanjs/headless/textarea";export{e as STextareaClear};
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import t from"../icon/icon.js";import{textareaVariants as n}from"./variants.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/textarea";const S=s({name:`STextarea`,__name:`textarea`,props:{class:{type:[Boolean,null,String,Object,Array]},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
+ import{mergeVariants as e}from"../../theme/shared.js";import{miniSizeMap as t}from"../../theme/config.js";import"../../theme/index.js";import{buttonIconVariants as n}from"../button/variants.js";import{textareaVariants as r}from"./variants.js";import{computed as i,createBlock as a,createSlots as o,defineComponent as s,guardReactiveProps as c,mergeProps as l,normalizeProps as u,openBlock as d,renderList as f,renderSlot as p,unref as m,useSlots as h,withCtx as g}from"vue";import{useOmitProps as _}from"@soybeanjs/headless/composables";import{keysOf as v}from"@soybeanjs/utils";import{TextareaCompact as y,provideTextareaUi as b}from"@soybeanjs/headless/textarea";const x=s({name:`STextarea`,__name:`textarea`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},resize:{},textareaRef:{type:Function},clearable:{type:Boolean},showCounter:{type:Boolean},controlProps:{},clearProps:{},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`,`clear`],setup(s,{emit:x}){let S=s,C=x,w=_(S,[`class`,`size`,`ui`,`resize`]),T=h(),E=i(()=>v(T));return b(i(()=>{let i=t[S.size??`md`];return e(Object.assign(r({size:S.size,resize:S.autosize?!1:S.resize}),{$base:{clear:n({size:i,shape:`circle`})}}),S.ui,{root:S.class})})),(e,t)=>(d(),a(m(y),l(m(w),{"onUpdate:modelValue":t[0]||=e=>C(`update:modelValue`,e)}),o({_:2},[f(E.value,t=>({name:t,fn:g(n=>[p(e.$slots,t,u(c(n)))])}))]),1040))}});export{x as default};
@@ -1,19 +1,13 @@
1
- import { TextareaProps } from "./types.js";
1
+ import { TextareaProps, TextareaSlots } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/textarea/textarea.vue.d.ts
5
- declare var __VLS_28: {
6
- count: number;
7
- maxlength: number | undefined;
8
- }, __VLS_30: {};
9
- type __VLS_Slots = {} & {
10
- counter?: (props: typeof __VLS_28) => any;
11
- } & {
12
- footer?: (props: typeof __VLS_30) => any;
13
- };
5
+ type __VLS_Slots = TextareaSlots;
14
6
  declare const __VLS_base: _$vue.DefineComponent<TextareaProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
7
+ clear: (event: PointerEvent) => any;
15
8
  "update:modelValue": (value: string) => any;
16
9
  }, string, _$vue.PublicProps, Readonly<TextareaProps> & Readonly<{
10
+ onClear?: ((event: PointerEvent) => any) | undefined;
17
11
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
18
12
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
19
13
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,18 +1,13 @@
1
1
  import { ThemeSize } from "../../theme/types.js";
2
2
  import { TextareaResize } from "./variants.js";
3
- import { TextareaControlProps, TextareaCounterProps, TextareaRootEmits, TextareaRootProps, TextareaUi } from "@soybeanjs/headless/textarea";
3
+ import { TextareaCompactEmits, TextareaCompactProps, TextareaCompactSlots, TextareaUi } from "@soybeanjs/headless/textarea";
4
4
  import { ClassValue } from "@soybeanjs/headless/types";
5
5
 
6
6
  //#region src/components/textarea/types.d.ts
7
- /**
8
- * Additional UI slots for the textarea component.
9
- */
10
- type TextareaExtraUiSlot = 'clearable';
11
- type TextareaExtendedUi = TextareaUi & Record<TextareaExtraUiSlot, ClassValue>;
12
7
  /**
13
8
  * Properties for the Textarea component.
14
9
  */
15
- interface TextareaProps extends TextareaRootProps {
10
+ interface TextareaProps extends TextareaCompactProps {
16
11
  /**
17
12
  * Additional class names applied to the root element.
18
13
  */
@@ -24,35 +19,21 @@ interface TextareaProps extends TextareaRootProps {
24
19
  /**
25
20
  * Per-slot class overrides for the component.
26
21
  */
27
- ui?: Partial<TextareaExtendedUi>;
22
+ ui?: Partial<TextareaUi>;
28
23
  /**
29
24
  * The resize of the textarea
30
25
  *
31
26
  * if autosize is true, the resize will be ignored
32
27
  */
33
28
  resize?: TextareaResize;
34
- /** Whether to show the clear icon */
35
- clearable?: boolean;
36
- /** Whether to show the counter */
37
- showCounter?: boolean;
38
- /**
39
- * The function to set the textarea element.
40
- *
41
- * @param el - The textarea element.
42
- */
43
- textareaRef?: (el: HTMLTextAreaElement) => void;
44
- /**
45
- * The props of the textarea extra props.
46
- */
47
- controlProps?: TextareaControlProps;
48
- /**
49
- * Properties forwarded to the counter element.
50
- */
51
- counterProps?: TextareaCounterProps;
52
29
  }
53
30
  /**
54
31
  * Events for the Textarea component.
55
32
  */
56
- type TextareaEmits = TextareaRootEmits;
33
+ type TextareaEmits = TextareaCompactEmits;
34
+ /**
35
+ * Slots for the Textarea component.
36
+ */
37
+ type TextareaSlots = TextareaCompactSlots;
57
38
  //#endregion
58
- export { TextareaEmits, TextareaExtraUiSlot, TextareaProps };
39
+ export { TextareaEmits, TextareaProps, TextareaSlots };
@@ -8,37 +8,37 @@ declare const textareaVariants: _$tailwind_variants0.TVReturnType<{
8
8
  root: string;
9
9
  control: string;
10
10
  counter: string;
11
- clearable: string;
11
+ clear: string;
12
12
  };
13
13
  sm: {
14
14
  root: string;
15
15
  control: string;
16
16
  counter: string;
17
- clearable: string;
17
+ clear: string;
18
18
  };
19
19
  md: {
20
20
  root: string;
21
21
  control: string;
22
22
  counter: string;
23
- clearable: string;
23
+ clear: string;
24
24
  };
25
25
  lg: {
26
26
  root: string;
27
27
  control: string;
28
28
  counter: string;
29
- clearable: string;
29
+ clear: string;
30
30
  };
31
31
  xl: {
32
32
  root: string;
33
33
  control: string;
34
34
  counter: string;
35
- clearable: string;
35
+ clear: string;
36
36
  };
37
37
  '2xl': {
38
38
  root: string;
39
39
  control: string;
40
40
  counter: string;
41
- clearable: string;
41
+ clear: string;
42
42
  };
43
43
  };
44
44
  resize: {
@@ -59,44 +59,44 @@ declare const textareaVariants: _$tailwind_variants0.TVReturnType<{
59
59
  root: string[];
60
60
  control: string[];
61
61
  counter: string;
62
- clearable: string;
62
+ clear: string;
63
63
  }, undefined, {
64
64
  size: {
65
65
  xs: {
66
66
  root: string;
67
67
  control: string;
68
68
  counter: string;
69
- clearable: string;
69
+ clear: string;
70
70
  };
71
71
  sm: {
72
72
  root: string;
73
73
  control: string;
74
74
  counter: string;
75
- clearable: string;
75
+ clear: string;
76
76
  };
77
77
  md: {
78
78
  root: string;
79
79
  control: string;
80
80
  counter: string;
81
- clearable: string;
81
+ clear: string;
82
82
  };
83
83
  lg: {
84
84
  root: string;
85
85
  control: string;
86
86
  counter: string;
87
- clearable: string;
87
+ clear: string;
88
88
  };
89
89
  xl: {
90
90
  root: string;
91
91
  control: string;
92
92
  counter: string;
93
- clearable: string;
93
+ clear: string;
94
94
  };
95
95
  '2xl': {
96
96
  root: string;
97
97
  control: string;
98
98
  counter: string;
99
- clearable: string;
99
+ clear: string;
100
100
  };
101
101
  };
102
102
  resize: {
@@ -117,44 +117,44 @@ declare const textareaVariants: _$tailwind_variants0.TVReturnType<{
117
117
  root: string[];
118
118
  control: string[];
119
119
  counter: string;
120
- clearable: string;
120
+ clear: string;
121
121
  }, _$tailwind_variants0.TVReturnType<{
122
122
  size: {
123
123
  xs: {
124
124
  root: string;
125
125
  control: string;
126
126
  counter: string;
127
- clearable: string;
127
+ clear: string;
128
128
  };
129
129
  sm: {
130
130
  root: string;
131
131
  control: string;
132
132
  counter: string;
133
- clearable: string;
133
+ clear: string;
134
134
  };
135
135
  md: {
136
136
  root: string;
137
137
  control: string;
138
138
  counter: string;
139
- clearable: string;
139
+ clear: string;
140
140
  };
141
141
  lg: {
142
142
  root: string;
143
143
  control: string;
144
144
  counter: string;
145
- clearable: string;
145
+ clear: string;
146
146
  };
147
147
  xl: {
148
148
  root: string;
149
149
  control: string;
150
150
  counter: string;
151
- clearable: string;
151
+ clear: string;
152
152
  };
153
153
  '2xl': {
154
154
  root: string;
155
155
  control: string;
156
156
  counter: string;
157
- clearable: string;
157
+ clear: string;
158
158
  };
159
159
  };
160
160
  resize: {
@@ -175,7 +175,7 @@ declare const textareaVariants: _$tailwind_variants0.TVReturnType<{
175
175
  root: string[];
176
176
  control: string[];
177
177
  counter: string;
178
- clearable: string;
178
+ clear: string;
179
179
  }, undefined, unknown, unknown, undefined>>;
180
180
  type TextareaVariants = VariantProps<typeof textareaVariants>;
181
181
  type TextareaResize = NonNullable<TextareaVariants['resize']>;
@@ -1 +1 @@
1
- import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group relative flex flex-col`,`rounded-md border border-solid border-input bg-background transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`],control:[`w-full bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`],counter:`absolute z-2 leading-none text-muted-foreground`,clearable:`absolute hidden group-hover:block size-1em cursor-pointer opacity-50 hover:opacity-100`},variants:{size:{xs:{root:`text-2xs`,control:`min-h-6 px-1.5 py-1`,counter:`text-2xs right-1.75 bottom-1.5`,clearable:`right-1.5 top-1.5`},sm:{root:`text-xs`,control:`min-h-7 px-1.75 py-1`,counter:`text-xs right-2 bottom-1.75`,clearable:`right-1.75 top-1.75`},md:{root:`text-sm`,control:`min-h-8 px-2 py-1`,counter:`text-sm right-2.5 bottom-2`,clearable:`right-2 top-2`},lg:{root:`text-base`,control:`min-h-9 px-2.5 py-1`,counter:`text-base right-3 bottom-2.5`,clearable:`right-2.5 top-2.5`},xl:{root:`text-lg`,control:`min-h-10 px-3 py-1`,counter:`text-lg right-3.5 bottom-3`,clearable:`right-3 top-3`},"2xl":{root:`text-xl`,control:`min-h-12 px-4 py-2`,counter:`text-xl right-4 bottom-3.5`,clearable:`right-3.5 top-3.5`}},resize:{true:{control:`resize`},false:{control:`resize-none`},vertical:{control:`resize-y`},horizontal:{control:`resize-x`}}},defaultVariants:{size:`md`,resize:`vertical`}});export{t as textareaVariants};
1
+ import{tv as e}from"tailwind-variants";const t=e({slots:{root:[`group relative flex flex-col`,`rounded-md border border-solid border-input bg-background transition-all-150`,`outline-none focus-within:ring-3 focus-within:ring-offset-background focus-within:ring-primary/30`],control:[`w-full bg-transparent outline-none`,`placeholder:text-muted-foreground`,`disabled:cursor-not-allowed disabled:opacity-50`],counter:`absolute z-2 leading-none text-muted-foreground`,clear:`absolute hidden opacity-50 group-hover:inline-flex group-focus-within:inline-flex hover:opacity-100`},variants:{size:{xs:{root:`text-2xs`,control:`min-h-6 px-1.5 py-1`,counter:`text-2xs end-1.75 bottom-1.5`,clear:`end-1.5 top-1.5`},sm:{root:`text-xs`,control:`min-h-7 px-1.75 py-1`,counter:`text-xs end-2 bottom-1.75`,clear:`end-1.75 top-1.75`},md:{root:`text-sm`,control:`min-h-8 px-2 py-1`,counter:`text-sm end-2.5 bottom-2`,clear:`end-2 top-2`},lg:{root:`text-base`,control:`min-h-9 px-2.5 py-1`,counter:`text-base end-3 bottom-2.5`,clear:`end-2.5 top-2.5`},xl:{root:`text-lg`,control:`min-h-10 px-3 py-1`,counter:`text-lg end-3.5 bottom-3`,clear:`end-3 top-3`},"2xl":{root:`text-xl`,control:`min-h-12 px-4 py-2`,counter:`text-xl end-4 bottom-3.5`,clear:`end-3.5 top-3.5`}},resize:{true:{control:`resize`},false:{control:`resize-none`},vertical:{control:`resize-y`},horizontal:{control:`resize-x`}}},defaultVariants:{size:`md`,resize:`vertical`}});export{t as textareaVariants};
@@ -1,3 +1,3 @@
1
- import { TimeFieldEmits, TimeFieldProps, TimeFieldSlotProps, TimeFieldSlots } from "./types.js";
1
+ import { TimeFieldEmits, TimeFieldProps } from "./types.js";
2
2
  import { _default } from "./time-field.vue.js";
3
3
  export * from "@soybeanjs/headless/time-field";
@@ -1 +1 @@
1
- import{mergeSlotVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{timeFieldVariants as t}from"./variants.js";import{Fragment as n,computed as r,createBlock as i,createElementBlock as a,createTextVNode as o,defineComponent as s,mergeProps as c,normalizeProps as l,openBlock as u,renderList 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{TimeFieldInput as y,TimeFieldRoot as b,provideTimeFieldUi as x}from"@soybeanjs/headless/time-field";const S=s({name:`STimeField`,__name:`time-field`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},inputProps:{}},emits:[`update:modelValue`,`update:placeholder`],setup(s,{emit:S}){let C=s,w=_(S),T=v(C,[`class`,`size`,`ui`,`inputProps`]);return x(r(()=>e(t({size:C.size}),C.ui,{root:C.class}))),(e,t)=>(u(),i(h(b),c(h(T),m(h(w))),{default:g(t=>[e.$slots.default?f(e.$slots,`default`,l(c({key:0},t))):(u(!0),a(n,{key:1},d(t.segments,(e,t)=>(u(),i(h(y),c({key:`${e.part}-${t}`,part:e.part},{ref_for:!0},s.inputProps),{default:g(()=>[o(p(e.value),1)]),_:2},1040,[`part`]))),128))]),_:3},16))}});export{S as default};
1
+ import{mergeVariants as e}from"../../theme/shared.js";import"../../theme/index.js";import{dateFieldVariants as t}from"../date-field/variants.js";import{computed as n,createBlock as r,defineComponent as i,mergeProps as a,openBlock as o,toHandlers as s,unref as c}from"vue";import{useForwardListeners as l,useOmitProps as u}from"@soybeanjs/headless/composables";import{TimeFieldCompact as d,provideTimeFieldUi as f}from"@soybeanjs/headless/time-field";const p=i({name:`STimeField`,__name:`time-field`,props:{class:{type:[Boolean,null,String,Object,Array]},size:{},ui:{},inputProps:{},defaultValue:{},modelValue:{},defaultPlaceholder:{},placeholder:{},granularity:{},maxValue:{},minValue:{},isTimeUnavailable:{type:Function},id:{},hourCycle:{},step:{},hideTimeZone:{type:Boolean},name:{},required:{type:Boolean},dir:{},locale:{},disabled:{type:Boolean},readonly:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:modelValue`,`update:placeholder`],setup(i,{emit:p}){let m=i,h=l(p),g=u(m,[`class`,`size`,`ui`]);return f(n(()=>e(t({size:m.size}),m.ui,{root:m.class}))),(e,t)=>(o(),r(c(d),a(c(g),s(c(h))),null,16))}});export{p as default};
@@ -1,22 +1,15 @@
1
- import { TimeFieldProps, TimeFieldSlots } from "./types.js";
1
+ import { TimeFieldProps } from "./types.js";
2
2
  import * as _$vue from "vue";
3
3
  import * as _$_soybeanjs_headless_date0 from "@soybeanjs/headless/date";
4
4
 
5
5
  //#region src/components/time-field/time-field.vue.d.ts
6
- type __VLS_Slots = TimeFieldSlots;
7
- declare const __VLS_base: _$vue.DefineComponent<TimeFieldProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
6
+ declare const __VLS_export: _$vue.DefineComponent<TimeFieldProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8
7
  "update:modelValue": (time: _$_soybeanjs_headless_date0.TimeValue | undefined) => any;
9
8
  "update:placeholder": (time: _$_soybeanjs_headless_date0.TimeValue) => any;
10
9
  }, string, _$vue.PublicProps, Readonly<TimeFieldProps> & Readonly<{
11
10
  "onUpdate:modelValue"?: ((time: _$_soybeanjs_headless_date0.TimeValue | undefined) => any) | undefined;
12
11
  "onUpdate:placeholder"?: ((time: _$_soybeanjs_headless_date0.TimeValue) => any) | undefined;
13
12
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
14
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
13
  declare const _default: typeof __VLS_export;
16
- type __VLS_WithSlots<T, S> = T & {
17
- new (): {
18
- $slots: S;
19
- };
20
- };
21
14
  //#endregion
22
15
  export { _default };