sonance-brand-mcp 1.3.110 → 1.3.112

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 (84) hide show
  1. package/dist/assets/api/sonance-ai-edit/route.ts +30 -7
  2. package/dist/assets/api/sonance-save-image/route.ts +625 -0
  3. package/dist/assets/api/sonance-vision-apply/image-styling-detection.ts +1360 -0
  4. package/dist/assets/api/sonance-vision-apply/route.ts +1020 -64
  5. package/dist/assets/api/sonance-vision-apply/styling-detection.ts +730 -0
  6. package/dist/assets/api/sonance-vision-apply/theme-discovery.ts +1 -1
  7. package/dist/assets/api/sonance-vision-edit/route.ts +33 -8
  8. package/dist/assets/brand-system.ts +13 -12
  9. package/dist/assets/components/accordion.tsx +15 -7
  10. package/dist/assets/components/alert-dialog.tsx +35 -10
  11. package/dist/assets/components/alert.tsx +11 -10
  12. package/dist/assets/components/avatar.tsx +4 -4
  13. package/dist/assets/components/badge.tsx +16 -12
  14. package/dist/assets/components/button.stories.tsx +3 -3
  15. package/dist/assets/components/button.tsx +50 -31
  16. package/dist/assets/components/calendar.tsx +12 -8
  17. package/dist/assets/components/card.tsx +35 -29
  18. package/dist/assets/components/checkbox.tsx +9 -8
  19. package/dist/assets/components/code.tsx +19 -11
  20. package/dist/assets/components/command.tsx +32 -13
  21. package/dist/assets/components/context-menu.tsx +37 -16
  22. package/dist/assets/components/dialog.tsx +8 -5
  23. package/dist/assets/components/divider.tsx +15 -5
  24. package/dist/assets/components/drawer.tsx +4 -3
  25. package/dist/assets/components/dropdown-menu.tsx +15 -13
  26. package/dist/assets/components/hover-card.tsx +4 -1
  27. package/dist/assets/components/image.tsx +1 -1
  28. package/dist/assets/components/input.tsx +29 -14
  29. package/dist/assets/components/kbd.stories.tsx +3 -3
  30. package/dist/assets/components/kbd.tsx +29 -13
  31. package/dist/assets/components/listbox.tsx +8 -8
  32. package/dist/assets/components/menubar.tsx +50 -23
  33. package/dist/assets/components/navbar.stories.tsx +140 -13
  34. package/dist/assets/components/navbar.tsx +22 -5
  35. package/dist/assets/components/navigation-menu.tsx +28 -6
  36. package/dist/assets/components/pagination.tsx +10 -10
  37. package/dist/assets/components/popover.tsx +10 -8
  38. package/dist/assets/components/progress.tsx +6 -4
  39. package/dist/assets/components/radio-group.tsx +5 -5
  40. package/dist/assets/components/select.tsx +49 -29
  41. package/dist/assets/components/separator.tsx +3 -3
  42. package/dist/assets/components/sheet.tsx +4 -4
  43. package/dist/assets/components/sidebar.tsx +10 -10
  44. package/dist/assets/components/skeleton.tsx +13 -5
  45. package/dist/assets/components/slider.tsx +12 -10
  46. package/dist/assets/components/switch.tsx +4 -4
  47. package/dist/assets/components/table.tsx +5 -5
  48. package/dist/assets/components/tabs.tsx +8 -8
  49. package/dist/assets/components/textarea.tsx +11 -9
  50. package/dist/assets/components/toast.tsx +7 -7
  51. package/dist/assets/components/toggle.tsx +27 -7
  52. package/dist/assets/components/tooltip.tsx +10 -8
  53. package/dist/assets/components/user.tsx +8 -6
  54. package/dist/assets/dev-tools/SonanceDevTools.tsx +851 -708
  55. package/dist/assets/dev-tools/components/ApplyFirstPreview.tsx +10 -10
  56. package/dist/assets/dev-tools/components/ChatHistory.tsx +145 -0
  57. package/dist/assets/dev-tools/components/ChatInterface.tsx +444 -295
  58. package/dist/assets/dev-tools/components/ChatTabBar.tsx +82 -0
  59. package/dist/assets/dev-tools/components/DiffPreview.tsx +1 -1
  60. package/dist/assets/dev-tools/components/InlineDiffPreview.tsx +528 -0
  61. package/dist/assets/dev-tools/components/InspectorOverlay.tsx +21 -18
  62. package/dist/assets/dev-tools/components/PropertiesPanel.tsx +1345 -0
  63. package/dist/assets/dev-tools/components/ScreenshotAnnotator.tsx +1 -1
  64. package/dist/assets/dev-tools/components/SectionHighlight.tsx +1 -1
  65. package/dist/assets/dev-tools/components/VisionDiffPreview.tsx +7 -7
  66. package/dist/assets/dev-tools/components/VisionModeBorder.tsx +12 -63
  67. package/dist/assets/dev-tools/constants.ts +38 -6
  68. package/dist/assets/dev-tools/hooks/index.ts +69 -0
  69. package/dist/assets/dev-tools/hooks/useComponentDetection.ts +132 -0
  70. package/dist/assets/dev-tools/hooks/useComputedStyles.ts +471 -0
  71. package/dist/assets/dev-tools/hooks/useContentHash.ts +212 -0
  72. package/dist/assets/dev-tools/hooks/useElementScanner.ts +398 -0
  73. package/dist/assets/dev-tools/hooks/useImageDetection.ts +162 -0
  74. package/dist/assets/dev-tools/hooks/useTextDetection.ts +217 -0
  75. package/dist/assets/dev-tools/index.ts +3 -0
  76. package/dist/assets/dev-tools/panels/AnalysisPanel.tsx +32 -32
  77. package/dist/assets/dev-tools/panels/ComponentsPanel.tsx +384 -131
  78. package/dist/assets/dev-tools/panels/TextPanel.tsx +10 -10
  79. package/dist/assets/dev-tools/types.ts +93 -2
  80. package/dist/assets/globals.css +225 -9
  81. package/dist/assets/styles/brand-overrides.css +3 -2
  82. package/dist/assets/utils.ts +2 -1
  83. package/dist/index.js +22 -3
  84. package/package.json +2 -1
@@ -11,7 +11,7 @@ const getTrackStateStyles = (state?: SliderState) => {
11
11
 
12
12
  const stateMap: Record<string, string> = {
13
13
  hover: "",
14
- focus: "ring-2 ring-border-focus ring-offset-2 ring-offset-background",
14
+ focus: "ring-2 ring-[color:var(--sonance-blue)]/30 ring-offset-2 ring-offset-background",
15
15
  active: "",
16
16
  disabled: "opacity-50 cursor-not-allowed",
17
17
  };
@@ -23,9 +23,9 @@ const getThumbStateStyles = (state?: SliderState) => {
23
23
  if (!state || state === "default") return "";
24
24
 
25
25
  const stateMap: Record<string, string> = {
26
- hover: "scale-110",
27
- focus: "",
28
- active: "scale-110",
26
+ hover: "scale-110 shadow-[0_0_12px_var(--glow-primary)]",
27
+ focus: "shadow-[0_0_12px_var(--glow-primary)]",
28
+ active: "scale-110 shadow-[0_0_12px_var(--glow-primary)]",
29
29
  disabled: "hover:scale-100",
30
30
  };
31
31
 
@@ -158,24 +158,26 @@ export const Slider = forwardRef<HTMLDivElement, SliderProps>(
158
158
  onMouseDown={handleMouseDown}
159
159
  onKeyDown={handleKeyDown}
160
160
  className={cn(
161
- "relative h-2 w-full cursor-pointer rounded-full bg-background-secondary",
162
- "focus:outline-none focus:ring-2 focus:ring-border-focus focus:ring-offset-2 focus:ring-offset-background",
161
+ "relative h-2 w-full cursor-pointer rounded-full",
162
+ "bg-white/60 dark:bg-white/[0.05] backdrop-blur-sm",
163
+ "border border-black/5 dark:border-white/5",
164
+ "focus:outline-none focus:ring-2 focus:ring-[color:var(--sonance-blue)]/30 focus:ring-offset-2 focus:ring-offset-background",
163
165
  isDisabled && "cursor-not-allowed opacity-50",
164
166
  getTrackStateStyles(state)
165
167
  )}
166
168
  >
167
169
  {/* Filled track */}
168
170
  <div
169
- className="absolute left-0 top-0 h-full rounded-full bg-primary transition-all"
171
+ className="absolute left-0 top-0 h-full rounded-full bg-[color:var(--sonance-blue)] transition-all"
170
172
  style={{ width: `${percentage}%` }}
171
173
  />
172
174
  {/* Thumb */}
173
175
  <div data-sonance-name="slider"
174
176
  className={cn(
175
177
  "absolute top-1/2 h-5 w-5 -translate-x-1/2 -translate-y-1/2 rounded-full",
176
- "border-2 border-primary bg-background shadow-sm transition-all",
177
- "hover:scale-110",
178
- isDisabled && "hover:scale-100",
178
+ "border-2 border-[color:var(--sonance-blue)] bg-white dark:bg-white/90 shadow-md transition-all",
179
+ "hover:scale-110 hover:shadow-[0_0_12px_var(--glow-primary)]",
180
+ isDisabled && "hover:scale-100 hover:shadow-md",
179
181
  getThumbStateStyles(state)
180
182
  )}
181
183
  style={{ left: `${percentage}%` }}
@@ -7,7 +7,7 @@ import { cn } from "@/lib/utils";
7
7
  export type SwitchState = "default" | "hover" | "focus" | "checked" | "disabled";
8
8
 
9
9
  const switchTrackVariants = cva(
10
- "relative inline-flex shrink-0 cursor-pointer items-center rounded-full border border-border bg-input transition-all duration-200 has-[:checked]:border-primary has-[:checked]:bg-primary has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50 has-[:focus]:ring-2 has-[:focus]:ring-primary/20 has-[:focus]:ring-offset-2 has-[:focus]:ring-offset-background",
10
+ "relative inline-flex shrink-0 cursor-pointer items-center rounded-full border transition-all duration-200 backdrop-blur-sm bg-white/60 dark:bg-white/5 border-black/8 dark:border-white/8 has-[:checked]:border-[color:var(--sonance-blue)] has-[:checked]:bg-[color:var(--sonance-blue)] has-[:disabled]:cursor-not-allowed has-[:disabled]:opacity-50 has-[:focus]:ring-2 has-[:focus]:ring-[color:var(--sonance-blue)]/30 has-[:focus]:ring-offset-2 has-[:focus]:ring-offset-background",
11
11
  {
12
12
  variants: {
13
13
  size: {
@@ -43,9 +43,9 @@ const getTrackStateStyles = (state?: SwitchState) => {
43
43
  if (!state || state === "default") return "";
44
44
 
45
45
  const stateMap: Record<string, string> = {
46
- hover: "border-border-hover",
47
- focus: "ring-2 ring-primary/20 ring-offset-2 ring-offset-background",
48
- checked: "border-primary bg-primary",
46
+ hover: "border-black/15 dark:border-white/15",
47
+ focus: "ring-2 ring-[color:var(--sonance-blue)]/30 ring-offset-2 ring-offset-background",
48
+ checked: "border-[color:var(--sonance-blue)] bg-[color:var(--sonance-blue)]",
49
49
  disabled: "opacity-50 cursor-not-allowed",
50
50
  };
51
51
 
@@ -20,7 +20,7 @@ export const TableHeader = forwardRef<
20
20
  HTMLTableSectionElement,
21
21
  React.HTMLAttributes<HTMLTableSectionElement>
22
22
  >(({ className, ...props }, ref) => (
23
- <thead ref={ref} className={cn("[&_tr]:border-b", className)} data-sonance-name="table" {...props} />
23
+ <thead ref={ref} className={cn("[&_tr]:border-b [&_tr]:border-black/8 dark:[&_tr]:border-white/8 bg-white/50 dark:bg-white/[0.02]", className)} data-sonance-name="table" {...props} />
24
24
  ));
25
25
 
26
26
  TableHeader.displayName = "TableHeader";
@@ -45,7 +45,7 @@ export const TableFooter = forwardRef<
45
45
  <tfoot
46
46
  ref={ref}
47
47
  className={cn(
48
- "border-t border-border bg-background-secondary font-medium",
48
+ "border-t border-black/8 dark:border-white/8 bg-white/50 dark:bg-white/[0.02] font-medium",
49
49
  className
50
50
  )} data-sonance-name="table"
51
51
  {...props}
@@ -61,9 +61,9 @@ export const TableRow = forwardRef<
61
61
  <tr
62
62
  ref={ref}
63
63
  className={cn(
64
- "border-b border-border transition-colors",
65
- "hover:bg-card-hover",
66
- "data-[state=selected]:bg-secondary-hover",
64
+ "border-b border-black/8 dark:border-white/8 transition-colors",
65
+ "hover:bg-white/50 dark:hover:bg-white/[0.03]",
66
+ "data-[state=selected]:bg-white/60 dark:data-[state=selected]:bg-white/[0.05]",
67
67
  className
68
68
  )} data-sonance-name="table"
69
69
  {...props}
@@ -7,14 +7,14 @@ import { cn } from "@/lib/utils";
7
7
  export type TabsTriggerState = "default" | "hover" | "focus" | "active" | "disabled";
8
8
 
9
9
  const tabsTriggerVariants = cva(
10
- "relative font-medium transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary/20",
10
+ "relative font-medium transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--sonance-blue)]/30",
11
11
  {
12
12
  variants: {
13
13
  size: {
14
- xs: "px-2.5 py-1 text-[10px] rounded-md",
15
- sm: "px-3 py-1.5 text-xs rounded-lg",
16
- md: "px-3.5 py-2 text-sm rounded-lg",
17
- lg: "px-4 py-2.5 text-sm rounded-xl",
14
+ xs: "px-2.5 py-1 text-[10px] rounded-lg",
15
+ sm: "px-3 py-1.5 text-xs rounded-xl",
16
+ md: "px-3.5 py-2 text-sm rounded-xl",
17
+ lg: "px-4 py-2.5 text-sm rounded-2xl",
18
18
  },
19
19
  },
20
20
  defaultVariants: {
@@ -88,7 +88,7 @@ export function TabsList({ className, children }: TabsListProps) {
88
88
  <div data-sonance-name="tabs"
89
89
  role="tablist"
90
90
  className={cn(
91
- "inline-flex items-center gap-1 rounded-lg bg-muted/50 p-1",
91
+ "inline-flex items-center gap-1 rounded-xl bg-white/50 dark:bg-white/5 backdrop-blur-sm border border-black/5 dark:border-white/5 p-1",
92
92
  className
93
93
  )}
94
94
  >
@@ -129,8 +129,8 @@ export function TabsTrigger({
129
129
  className={cn(
130
130
  tabsTriggerVariants({ size: context.size }),
131
131
  isActive
132
- ? "text-foreground bg-background shadow-sm"
133
- : "text-foreground-muted hover:text-foreground hover:bg-background/50",
132
+ ? "text-foreground bg-white/80 dark:bg-white/10 shadow-sm backdrop-blur-sm"
133
+ : "text-foreground-muted hover:text-foreground hover:bg-white/50 dark:hover:bg-white/5",
134
134
  isDisabled && "cursor-not-allowed opacity-50",
135
135
  getStateStyles(state, isActive),
136
136
  className
@@ -15,10 +15,10 @@ const getStateStyles = (state?: TextareaState) => {
15
15
  if (!state || state === "default") return "";
16
16
 
17
17
  const stateMap: Record<string, string> = {
18
- hover: "border-border-hover",
19
- focus: "border-input-focus",
18
+ hover: "border-black/15 dark:border-white/15",
19
+ focus: "border-[color:var(--sonance-blue)] shadow-[0_0_20px_var(--glow-primary)]",
20
20
  error: "border-error",
21
- disabled: "opacity-50 cursor-not-allowed bg-secondary",
21
+ disabled: "opacity-50 cursor-not-allowed bg-white/30 dark:bg-white/[0.02]",
22
22
  };
23
23
 
24
24
  return stateMap[state] || "";
@@ -40,12 +40,14 @@ export const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(
40
40
  ref={ref}
41
41
  disabled={isDisabled}
42
42
  className={cn(
43
- "min-h-[120px] w-full resize-y border border-input-border bg-input px-4 py-3",
44
- "text-foreground placeholder:text-input-placeholder",
45
- "transition-colors duration-200",
46
- "hover:border-border-hover",
47
- "focus:border-input-focus focus:outline-none",
48
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-secondary",
43
+ "min-h-[120px] w-full resize-y rounded-xl px-4 py-3",
44
+ "bg-white/60 dark:bg-white/[0.03] backdrop-blur-sm",
45
+ "border border-black/8 dark:border-white/8",
46
+ "text-foreground placeholder:text-foreground-muted",
47
+ "transition-all duration-200",
48
+ "hover:border-black/15 dark:hover:border-white/15",
49
+ "focus:border-[color:var(--sonance-blue)] focus:shadow-[0_0_20px_var(--glow-primary)] focus:outline-none",
50
+ "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-white/30 dark:disabled:bg-white/[0.02]",
49
51
  hasError && "border-error",
50
52
  getStateStyles(state),
51
53
  className
@@ -7,15 +7,15 @@ import { cn } from "@/lib/utils";
7
7
 
8
8
  // Toast variants
9
9
  const toastVariants = cva(
10
- "relative flex items-start gap-3 w-full max-w-sm p-4 border shadow-lg animate-in slide-in-from-right-full duration-300",
10
+ "relative flex items-start gap-3 w-full max-w-sm p-4 rounded-2xl shadow-xl backdrop-blur-xl animate-in slide-in-from-right-full duration-300",
11
11
  {
12
12
  variants: {
13
13
  variant: {
14
- default: "bg-card border-border text-foreground",
15
- success: "bg-success-light border-success/30 text-success",
16
- error: "bg-error-light border-error/30 text-error",
17
- warning: "bg-warning-light border-warning/30 text-warning",
18
- info: "bg-info-light border-info/30 text-info",
14
+ default: "bg-white/90 dark:bg-black/80 border border-black/10 dark:border-white/10 text-foreground",
15
+ success: "bg-white/90 dark:bg-black/80 border border-success/30 text-success",
16
+ error: "bg-white/90 dark:bg-black/80 border border-error/30 text-error",
17
+ warning: "bg-white/90 dark:bg-black/80 border border-warning/30 text-warning",
18
+ info: "bg-white/90 dark:bg-black/80 border border-info/30 text-info",
19
19
  },
20
20
  },
21
21
  defaultVariants: {
@@ -67,7 +67,7 @@ export const Toast = forwardRef<HTMLDivElement, ToastProps>(
67
67
  {onClose && (
68
68
  <button
69
69
  onClick={onClose}
70
- className="shrink-0 p-1 opacity-70 hover:opacity-100 transition-opacity"
70
+ className="shrink-0 p-1.5 rounded-lg opacity-70 hover:opacity-100 hover:bg-white/50 dark:hover:bg-white/10 transition-all"
71
71
  >
72
72
  <X className="h-4 w-4" />
73
73
  <span id="icon-span-dismiss" className="sr-only">Dismiss</span>
@@ -6,14 +6,34 @@ import { cva, type VariantProps } from "class-variance-authority";
6
6
  import { cn } from "@/lib/utils";
7
7
 
8
8
  const toggleVariants = cva(
9
- "inline-flex items-center justify-center gap-2 rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
9
+ cn(
10
+ "inline-flex items-center justify-center gap-2 rounded-xl text-sm font-medium",
11
+ "transition-all duration-150 backdrop-blur-sm",
12
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--sonance-blue)]/30 focus-visible:ring-offset-2 focus-visible:ring-offset-background",
13
+ "disabled:pointer-events-none disabled:opacity-50",
14
+ "[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0"
15
+ ),
10
16
  {
11
17
  variants: {
12
18
  variant: {
13
- default:
14
- "bg-transparent hover:bg-secondary-hover text-foreground-secondary data-[state=on]:bg-secondary-hover data-[state=on]:text-foreground",
15
- outline:
16
- "border border-border bg-transparent hover:bg-secondary-hover hover:text-foreground data-[state=on]:bg-primary data-[state=on]:text-primary-foreground",
19
+ default: cn(
20
+ "bg-transparent text-foreground-muted",
21
+ "hover:bg-white/60 dark:hover:bg-white/10 hover:text-foreground",
22
+ "data-[state=on]:bg-white/70 dark:data-[state=on]:bg-white/10 data-[state=on]:text-foreground",
23
+ "data-[state=on]:shadow-[0_0_12px_var(--glow-primary-subtle)]"
24
+ ),
25
+ outline: cn(
26
+ "border border-black/10 dark:border-white/10 bg-transparent",
27
+ "hover:bg-white/50 dark:hover:bg-white/8 hover:text-foreground",
28
+ "data-[state=on]:bg-[color:var(--sonance-blue)]/90 data-[state=on]:text-white data-[state=on]:border-transparent",
29
+ "data-[state=on]:shadow-[0_0_20px_var(--glow-primary)]"
30
+ ),
31
+ glass: cn(
32
+ "bg-white/50 dark:bg-white/5 border border-black/8 dark:border-white/8",
33
+ "hover:bg-white/60 dark:hover:bg-white/8 hover:text-foreground",
34
+ "data-[state=on]:bg-white/80 dark:data-[state=on]:bg-white/15 data-[state=on]:text-foreground",
35
+ "data-[state=on]:shadow-[0_0_15px_var(--glow-primary-subtle)]"
36
+ ),
17
37
  },
18
38
  size: {
19
39
  default: "h-10 px-3 min-w-10",
@@ -33,7 +53,8 @@ const Toggle = React.forwardRef<
33
53
  React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &
34
54
  VariantProps<typeof toggleVariants>
35
55
  >(({ className, variant, size, ...props }, ref) => (
36
- <TogglePrimitive.Root data-sonance-name="toggle"
56
+ <TogglePrimitive.Root
57
+ data-sonance-name="toggle"
37
58
  ref={ref}
38
59
  className={cn(toggleVariants({ variant, size, className }))}
39
60
  {...props}
@@ -43,4 +64,3 @@ const Toggle = React.forwardRef<
43
64
  Toggle.displayName = TogglePrimitive.Root.displayName;
44
65
 
45
66
  export { Toggle, toggleVariants };
46
-
@@ -17,20 +17,22 @@ const tooltipContentVariants = cva(
17
17
  {
18
18
  variants: {
19
19
  size: {
20
- xs: "px-2 py-1 text-[10px] rounded-md",
21
- sm: "px-2.5 py-1 text-xs rounded-lg",
22
- md: "px-3 py-1.5 text-sm rounded-lg",
23
- lg: "px-3.5 py-2 text-sm rounded-xl",
20
+ xs: "px-2 py-1 text-[10px] rounded-lg",
21
+ sm: "px-2.5 py-1 text-xs rounded-xl",
22
+ md: "px-3 py-1.5 text-sm rounded-xl",
23
+ lg: "px-3.5 py-2 text-sm rounded-2xl",
24
24
  },
25
25
  tooltipVariant: {
26
- default: "bg-popover text-popover-foreground border-border",
27
- glass: "bg-popover/95 text-popover-foreground border-border/50 backdrop-blur-md",
28
- dark: "bg-foreground text-background border-foreground",
26
+ // Glass morphism - default style
27
+ default: "bg-white/90 dark:bg-black/80 text-foreground border-black/10 dark:border-white/10 backdrop-blur-xl shadow-[0_4px_16px_rgba(0,0,0,0.1)] dark:shadow-[0_4px_16px_rgba(0,0,0,0.4)]",
28
+ dark: "bg-foreground/95 text-background border-foreground/20 backdrop-blur-xl",
29
+ // Non-glass solid variant
30
+ solid: "bg-popover text-popover-foreground border-border backdrop-blur-none",
29
31
  },
30
32
  },
31
33
  defaultVariants: {
32
34
  size: "sm",
33
- tooltipVariant: "glass",
35
+ tooltipVariant: "default",
34
36
  },
35
37
  }
36
38
  )
@@ -100,8 +100,9 @@ export function UserCard({
100
100
  return (
101
101
  <div data-sonance-name="user"
102
102
  className={cn(
103
- "flex items-center justify-between gap-4 p-4",
104
- "border border-border bg-card",
103
+ "flex items-center justify-between gap-4 p-4 rounded-xl",
104
+ "bg-white/70 dark:bg-white/[0.03] backdrop-blur-sm",
105
+ "border border-black/8 dark:border-white/8",
105
106
  className
106
107
  )}
107
108
  >
@@ -136,13 +137,14 @@ export function UserListItem({
136
137
  return (
137
138
  <div
138
139
  onClick={onClick}
140
+ data-sonance-name="user"
139
141
  className={cn(
140
142
  "flex items-center justify-between gap-4 px-4 py-3",
141
- "transition-colors",
143
+ "transition-all duration-150",
142
144
  onClick && "cursor-pointer",
143
145
  selected
144
- ? "bg-primary text-primary-foreground"
145
- : "hover:bg-secondary-hover",
146
+ ? "bg-[color:var(--sonance-blue)] text-white"
147
+ : "hover:bg-white/50 dark:hover:bg-white/5",
146
148
  className
147
149
  )}
148
150
  >
@@ -159,7 +161,7 @@ export function UserListItem({
159
161
  id="user-list-item-span-description"
160
162
  className={cn(
161
163
  "text-xs truncate",
162
- selected ? "text-primary-foreground/70" : "text-foreground-muted"
164
+ selected ? "text-white/70" : "text-foreground-muted"
163
165
  )}
164
166
  >
165
167
  {description}