sparkdesign 0.4.8 → 0.4.9

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 (44) hide show
  1. package/cli/registry/AGENTS.md +1 -1
  2. package/cli/registry/agent-manifest.json +3996 -67
  3. package/cli/registry/basic/accordion.tsx +79 -0
  4. package/cli/registry/basic/badge.tsx +49 -0
  5. package/cli/registry/basic/button.tsx +19 -14
  6. package/cli/registry/basic/collapsible-card.tsx +10 -1
  7. package/cli/registry/basic/ellipsis-text.tsx +151 -0
  8. package/cli/registry/basic/form.tsx +186 -0
  9. package/cli/registry/basic/icon-button.tsx +12 -4
  10. package/cli/registry/basic/sidebar.tsx +665 -0
  11. package/cli/registry/basic/sonner.tsx +10 -10
  12. package/cli/registry/chat/chat-input/compound.tsx +1 -0
  13. package/cli/registry/chat/user-question/compound.tsx +2 -0
  14. package/cli/registry/meta.json +153 -0
  15. package/dist/registry/basic/accordion.d.ts +15 -0
  16. package/dist/registry/basic/badge.d.ts +23 -0
  17. package/dist/registry/basic/ellipsis-text.d.ts +45 -0
  18. package/dist/registry/basic/form.d.ts +23 -0
  19. package/dist/registry/basic/icon-button.d.ts +15 -2
  20. package/dist/registry/basic/item.d.ts +1 -1
  21. package/dist/registry/basic/sidebar.d.ts +72 -0
  22. package/dist/registry/basic/tag.d.ts +1 -1
  23. package/dist/spark-design.cjs.js +24 -27
  24. package/dist/spark-design.es.js +5353 -4470
  25. package/dist/sparkdesign.css +1 -1
  26. package/dist/src/components/basic/Accordion/index.d.ts +13 -0
  27. package/dist/src/components/basic/Badge/index.d.ts +13 -0
  28. package/dist/src/components/basic/EllipsisText/index.d.ts +4 -36
  29. package/dist/src/components/basic/Form/index.d.ts +12 -0
  30. package/dist/src/components/basic/Sidebar/index.d.ts +13 -0
  31. package/dist/src/components/index.d.ts +6 -2
  32. package/docs/agent/component-selection.md +106 -4
  33. package/package.json +8 -3
  34. package/registry/agent-manifest.json +3996 -67
  35. package/cli/registry/chat/user-question/UserQuestionCard.tsx +0 -198
  36. package/cli/registry/chat/user-question/UserQuestionFooter.tsx +0 -66
  37. package/cli/registry/chat/user-question/UserQuestionHeader.tsx +0 -64
  38. package/cli/registry/chat/user-question/useUserQuestionState.ts +0 -165
  39. package/dist/registry/chat/user-question/UserQuestionCard.d.ts +0 -36
  40. package/dist/registry/chat/user-question/UserQuestionFooter.d.ts +0 -24
  41. package/dist/registry/chat/user-question/UserQuestionHeader.d.ts +0 -26
  42. package/dist/registry/chat/user-question/useUserQuestionState.d.ts +0 -26
  43. package/dist/src/components/basic/CollapsibleSection/index.d.ts +0 -43
  44. package/dist/src/components/chat/Response/StreamingMarkdownBlock.d.ts +0 -12
@@ -208,6 +208,7 @@ export function ChatInputMoreButton() {
208
208
  icon={ctx.addLargeIcon ?? <MoreLine className="h-5 w-5" />}
209
209
  onClick={ctx.onMoreButtonClick}
210
210
  disabled={ctx.disabled}
211
+ aria-label="More actions"
211
212
  />
212
213
  )
213
214
  }
@@ -39,6 +39,7 @@ export function UserQuestionHeader({ className }: UserQuestionHeaderProps) {
39
39
  onClick={ctx.handlePrevious}
40
40
  disabled={ctx.currentQuestionIndex === 0}
41
41
  icon={ctx.arrowUpSIcon}
42
+ aria-label="Previous question"
42
43
  />
43
44
  <span className="text-xs leading-xs text-text-tertiary px-1">
44
45
  {ctx.currentQuestionIndex + 1} / {ctx.questions.length}
@@ -49,6 +50,7 @@ export function UserQuestionHeader({ className }: UserQuestionHeaderProps) {
49
50
  onClick={ctx.handleNext}
50
51
  disabled={ctx.currentQuestionIndex === ctx.questions.length - 1}
51
52
  icon={ctx.arrowDownSIcon}
53
+ aria-label="Next question"
52
54
  />
53
55
  </div>
54
56
  )}
@@ -1,4 +1,17 @@
1
1
  {
2
+ "accordion": {
3
+ "files": [
4
+ "basic/accordion.tsx",
5
+ "basic/icons-inline.tsx"
6
+ ],
7
+ "dependencies": [
8
+ "@radix-ui/react-accordion"
9
+ ],
10
+ "peerDependencies": [
11
+ "react",
12
+ "react-dom"
13
+ ]
14
+ },
2
15
  "alert": {
3
16
  "files": [
4
17
  "basic/alert.tsx"
@@ -69,6 +82,19 @@
69
82
  "react-dom"
70
83
  ]
71
84
  },
85
+ "badge": {
86
+ "files": [
87
+ "basic/badge.tsx"
88
+ ],
89
+ "dependencies": [
90
+ "@radix-ui/react-slot",
91
+ "class-variance-authority"
92
+ ],
93
+ "peerDependencies": [
94
+ "react",
95
+ "react-dom"
96
+ ]
97
+ },
72
98
  "breadcrumb": {
73
99
  "files": [
74
100
  "basic/breadcrumb.tsx",
@@ -456,6 +482,22 @@
456
482
  "react-dom"
457
483
  ]
458
484
  },
485
+ "ellipsis-text": {
486
+ "files": [
487
+ "basic/ellipsis-text.tsx",
488
+ "basic/tooltip.tsx",
489
+ "basic/theme-from-document.ts"
490
+ ],
491
+ "dependencies": [
492
+ "@radix-ui/react-tooltip",
493
+ "clsx",
494
+ "framer-motion"
495
+ ],
496
+ "peerDependencies": [
497
+ "react",
498
+ "react-dom"
499
+ ]
500
+ },
459
501
  "empty": {
460
502
  "files": [
461
503
  "basic/empty.tsx"
@@ -542,6 +584,21 @@
542
584
  "react-dom"
543
585
  ]
544
586
  },
587
+ "form": {
588
+ "files": [
589
+ "basic/form.tsx",
590
+ "basic/label.tsx"
591
+ ],
592
+ "dependencies": [
593
+ "@radix-ui/react-label",
594
+ "@radix-ui/react-slot",
595
+ "react-hook-form"
596
+ ],
597
+ "peerDependencies": [
598
+ "react",
599
+ "react-dom"
600
+ ]
601
+ },
545
602
  "generated-images-grid": {
546
603
  "files": [
547
604
  "chat/generated-images-grid.tsx"
@@ -1084,6 +1141,35 @@
1084
1141
  "react-dom"
1085
1142
  ]
1086
1143
  },
1144
+ "sidebar": {
1145
+ "files": [
1146
+ "basic/sidebar.tsx",
1147
+ "basic/button.tsx",
1148
+ "basic/spinner.tsx",
1149
+ "basic/icons-inline.tsx",
1150
+ "basic/input.tsx",
1151
+ "basic/separator.tsx",
1152
+ "basic/sheet.tsx",
1153
+ "basic/drawer.tsx",
1154
+ "basic/theme-from-document.ts",
1155
+ "basic/skeleton.tsx",
1156
+ "basic/tooltip.tsx"
1157
+ ],
1158
+ "dependencies": [
1159
+ "@radix-ui/react-dialog",
1160
+ "@radix-ui/react-separator",
1161
+ "@radix-ui/react-slot",
1162
+ "@radix-ui/react-tooltip",
1163
+ "class-variance-authority",
1164
+ "framer-motion",
1165
+ "lucide-react",
1166
+ "radix-ui"
1167
+ ],
1168
+ "peerDependencies": [
1169
+ "react",
1170
+ "react-dom"
1171
+ ]
1172
+ },
1087
1173
  "sidebar-menu": {
1088
1174
  "files": [
1089
1175
  "basic/sidebar-menu.tsx",
@@ -1125,6 +1211,19 @@
1125
1211
  "react-dom"
1126
1212
  ]
1127
1213
  },
1214
+ "sonner": {
1215
+ "files": [
1216
+ "basic/sonner.tsx",
1217
+ "basic/theme-from-document.ts"
1218
+ ],
1219
+ "dependencies": [
1220
+ "sonner"
1221
+ ],
1222
+ "peerDependencies": [
1223
+ "react",
1224
+ "react-dom"
1225
+ ]
1226
+ },
1128
1227
  "spinner": {
1129
1228
  "files": [
1130
1229
  "basic/spinner.tsx",
@@ -1260,6 +1359,19 @@
1260
1359
  "react-dom"
1261
1360
  ]
1262
1361
  },
1362
+ "toast": {
1363
+ "files": [
1364
+ "basic/sonner.tsx",
1365
+ "basic/theme-from-document.ts"
1366
+ ],
1367
+ "dependencies": [
1368
+ "sonner"
1369
+ ],
1370
+ "peerDependencies": [
1371
+ "react",
1372
+ "react-dom"
1373
+ ]
1374
+ },
1263
1375
  "toggle": {
1264
1376
  "files": [
1265
1377
  "basic/toggle.tsx"
@@ -1274,6 +1386,20 @@
1274
1386
  "react-dom"
1275
1387
  ]
1276
1388
  },
1389
+ "toggle-group": {
1390
+ "files": [
1391
+ "basic/toggle.tsx"
1392
+ ],
1393
+ "dependencies": [
1394
+ "@radix-ui/react-toggle",
1395
+ "@radix-ui/react-toggle-group",
1396
+ "class-variance-authority"
1397
+ ],
1398
+ "peerDependencies": [
1399
+ "react",
1400
+ "react-dom"
1401
+ ]
1402
+ },
1277
1403
  "tool-invocation-card": {
1278
1404
  "files": [
1279
1405
  "chat/tool-invocation-card.tsx",
@@ -1331,5 +1457,32 @@
1331
1457
  "react",
1332
1458
  "react-dom"
1333
1459
  ]
1460
+ },
1461
+ "user-question-part": {
1462
+ "files": [
1463
+ "chat/user-question/index.tsx",
1464
+ "chat/user-question/context.tsx",
1465
+ "basic/icons-inline.tsx",
1466
+ "chat/user-question/types.ts",
1467
+ "chat/user-question/compound.tsx",
1468
+ "lib/utils.ts",
1469
+ "basic/icon-button.tsx",
1470
+ "basic/button.tsx",
1471
+ "basic/spinner.tsx",
1472
+ "basic/option-list.tsx",
1473
+ "basic/scrollbar.tsx",
1474
+ "chat/user-question/useUserQuestionKeyboard.ts"
1475
+ ],
1476
+ "dependencies": [
1477
+ "class-variance-authority",
1478
+ "clsx",
1479
+ "framer-motion",
1480
+ "radix-ui",
1481
+ "tailwind-merge"
1482
+ ],
1483
+ "peerDependencies": [
1484
+ "react",
1485
+ "react-dom"
1486
+ ]
1334
1487
  }
1335
1488
  }
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
3
+ declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
4
+ declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & {
6
+ chevronIcon?: React.ReactNode;
7
+ } & React.RefAttributes<HTMLButtonElement>>;
8
+ declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ export type AccordionProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;
10
+ export type AccordionItemProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>;
11
+ export type AccordionTriggerProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {
12
+ chevronIcon?: React.ReactNode;
13
+ };
14
+ export type AccordionContentProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>;
15
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * [WHO]: Badge component for compact labels and statuses.
3
+ * [FROM]: React, @radix-ui/react-slot, class-variance-authority, registry/lib/utils.
4
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
5
+ * [HERE]: registry/basic/badge.tsx — tokenized status/category badge primitive.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from "react";
13
+ import { type VariantProps } from "class-variance-authority";
14
+ declare const badgeVariants: (props?: ({
15
+ variant?: "default" | "secondary" | "outline" | "destructive" | null | undefined;
16
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
17
+ declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
18
+ asChild?: boolean;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ export type BadgeProps = React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
21
+ asChild?: boolean;
22
+ };
23
+ export { Badge, badgeVariants };
@@ -0,0 +1,45 @@
1
+ /**
2
+ * [WHO]: EllipsisText — overflow-aware text with optional tooltip disclosure.
3
+ * [FROM]: react, clsx, registry/basic/tooltip.
4
+ * [TO]: sparkdesign package consumers; CLI `add ellipsis-text`; Showcase demos.
5
+ * [HERE]: registry/basic/ellipsis-text.tsx — canonical source for copied and packaged EllipsisText.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import { type ReactNode, type CSSProperties } from 'react';
13
+ export interface EllipsisTextProps {
14
+ /** Text or inline content to display. */
15
+ children: ReactNode;
16
+ /**
17
+ * Maximum visible lines before truncation.
18
+ * @default 1
19
+ */
20
+ lines?: number;
21
+ /** Extra className for the text node. */
22
+ className?: string;
23
+ /**
24
+ * Tooltip placement when overflow is detected.
25
+ * @default 'top'
26
+ */
27
+ placement?: 'top' | 'bottom' | 'left' | 'right';
28
+ /** Extra className for Tooltip content. */
29
+ tooltipClassName?: string;
30
+ /** Custom tooltip content. Defaults to children. */
31
+ tooltipContent?: ReactNode;
32
+ /**
33
+ * Disable tooltip even when content overflows.
34
+ * @default false
35
+ */
36
+ disabled?: boolean;
37
+ /** Inline style for the text node. */
38
+ style?: CSSProperties;
39
+ /**
40
+ * Rendered text element.
41
+ * @default 'span'
42
+ */
43
+ as?: 'span' | 'div' | 'p';
44
+ }
45
+ export declare const EllipsisText: import("react").ForwardRefExoticComponent<EllipsisTextProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ import { type ControllerProps, type FieldPath, type FieldValues } from "react-hook-form";
4
+ declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
5
+ declare function FormField<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
6
+ declare function useFormField(): {
7
+ invalid: boolean;
8
+ isDirty: boolean;
9
+ isTouched: boolean;
10
+ isValidating: boolean;
11
+ error?: import("react-hook-form").FieldError;
12
+ id: string;
13
+ name: string;
14
+ formItemId: string;
15
+ formDescriptionId: string;
16
+ formMessageId: string;
17
+ };
18
+ declare const FormItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
19
+ declare const FormLabel: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
20
+ declare const FormControl: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-slot").SlotProps & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
21
+ declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
22
+ declare const FormMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
23
+ export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, };
@@ -5,9 +5,22 @@ declare const iconButtonVariants: (props?: ({
5
5
  rounded?: "square" | "pill" | null | undefined;
6
6
  size?: "sm" | "md" | "lg" | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
- export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof iconButtonVariants> {
8
+ type IconButtonAccessibleName = {
9
+ 'aria-label': string;
10
+ 'aria-labelledby'?: string;
11
+ title?: string;
12
+ } | {
13
+ 'aria-label'?: string;
14
+ 'aria-labelledby': string;
15
+ title?: string;
16
+ } | {
17
+ 'aria-label'?: string;
18
+ 'aria-labelledby'?: string;
19
+ title: string;
20
+ };
21
+ export type IconButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-label' | 'aria-labelledby' | 'title'> & VariantProps<typeof iconButtonVariants> & IconButtonAccessibleName & {
9
22
  icon: ReactNode;
10
23
  asChild?: boolean;
11
- }
24
+ };
12
25
  export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
13
26
  export { iconButtonVariants };
@@ -11,7 +11,7 @@ declare function Item({ className, variant, size, asChild, ...props }: React.Com
11
11
  asChild?: boolean;
12
12
  }): import("react/jsx-runtime").JSX.Element;
13
13
  declare const itemMediaVariants: (props?: ({
14
- variant?: "default" | "icon" | "image" | null | undefined;
14
+ variant?: "default" | "image" | "icon" | null | undefined;
15
15
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
16
  declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>): import("react/jsx-runtime").JSX.Element;
17
17
  declare function ItemContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,72 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { Button } from "./button";
4
+ import { Input } from "./input";
5
+ import { Separator } from "./separator";
6
+ import { Tooltip } from "./tooltip";
7
+ type SidebarContextValue = {
8
+ state: "expanded" | "collapsed";
9
+ open: boolean;
10
+ setOpen: (open: boolean) => void;
11
+ openMobile: boolean;
12
+ setOpenMobile: (open: boolean) => void;
13
+ isMobile: boolean;
14
+ toggleSidebar: () => void;
15
+ };
16
+ declare function useSidebar(): SidebarContextValue;
17
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<"div"> & {
18
+ defaultOpen?: boolean;
19
+ open?: boolean;
20
+ onOpenChange?: (open: boolean) => void;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ declare function Sidebar({ side, variant, collapsible, className, children, ...props }: React.ComponentProps<"div"> & {
23
+ side?: "left" | "right";
24
+ variant?: "sidebar" | "floating" | "inset";
25
+ collapsible?: "offcanvas" | "icon" | "none";
26
+ }): import("react/jsx-runtime").JSX.Element;
27
+ declare function SidebarTrigger({ className, onClick, children, ...props }: Omit<React.ComponentProps<typeof Button>, "children" | "variant" | "size"> & {
28
+ children?: React.ReactNode;
29
+ }): import("react/jsx-runtime").JSX.Element;
30
+ declare function SidebarRail({ className, ...props }: React.ComponentProps<"button">): import("react/jsx-runtime").JSX.Element;
31
+ declare function SidebarInset({ className, ...props }: React.ComponentProps<"main">): import("react/jsx-runtime").JSX.Element;
32
+ declare function SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>): import("react/jsx-runtime").JSX.Element;
33
+ declare function SidebarHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
34
+ declare function SidebarFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
35
+ declare function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
36
+ declare function SidebarContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
37
+ declare function SidebarGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
38
+ declare function SidebarGroupLabel({ className, asChild, ...props }: React.ComponentProps<"div"> & {
39
+ asChild?: boolean;
40
+ }): import("react/jsx-runtime").JSX.Element;
41
+ declare function SidebarGroupAction({ className, asChild, ...props }: React.ComponentProps<"button"> & {
42
+ asChild?: boolean;
43
+ }): import("react/jsx-runtime").JSX.Element;
44
+ declare function SidebarGroupContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
45
+ declare function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
46
+ declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
47
+ declare const sidebarMenuButtonVariants: (props?: ({
48
+ variant?: "default" | "outline" | null | undefined;
49
+ size?: "default" | "sm" | "lg" | null | undefined;
50
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
51
+ declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<"button"> & {
52
+ asChild?: boolean;
53
+ isActive?: boolean;
54
+ tooltip?: string | Omit<React.ComponentProps<typeof Tooltip>, "children">;
55
+ } & VariantProps<typeof sidebarMenuButtonVariants>): import("react/jsx-runtime").JSX.Element;
56
+ declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React.ComponentProps<"button"> & {
57
+ asChild?: boolean;
58
+ showOnHover?: boolean;
59
+ }): import("react/jsx-runtime").JSX.Element;
60
+ declare function SidebarMenuBadge({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
61
+ declare function SidebarMenuSkeleton({ className, showIcon, width, ...props }: React.ComponentProps<"div"> & {
62
+ showIcon?: boolean;
63
+ width?: string;
64
+ }): import("react/jsx-runtime").JSX.Element;
65
+ declare function SidebarMenuSub({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
66
+ declare function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
67
+ declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React.ComponentProps<"a"> & {
68
+ asChild?: boolean;
69
+ size?: "sm" | "md";
70
+ isActive?: boolean;
71
+ }): import("react/jsx-runtime").JSX.Element;
72
+ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, sidebarMenuButtonVariants, useSidebar, };
@@ -13,7 +13,7 @@ import * as React from 'react';
13
13
  import { type VariantProps } from 'class-variance-authority';
14
14
  declare const tagVariants: (props?: ({
15
15
  appearance?: "outline" | "filled" | null | undefined;
16
- color?: "link" | "primary" | "blue" | "lavender" | "orange" | "pink" | "purple" | "teal" | "yellow" | "error" | "warning" | "success" | "info" | "mauve" | "slate" | "sage" | null | undefined;
16
+ color?: "link" | "primary" | "error" | "blue" | "lavender" | "orange" | "pink" | "purple" | "teal" | "yellow" | "warning" | "success" | "info" | "mauve" | "slate" | "sage" | null | undefined;
17
17
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
18
18
  export interface TagProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>, VariantProps<typeof tagVariants> {
19
19
  closable?: boolean;