@dust-tt/sparkle 0.2.617-rc-1 → 0.2.617

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 (96) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/Avatar.d.ts +1 -1
  3. package/dist/esm/components/Avatar.js +4 -4
  4. package/dist/esm/components/Avatar.js.map +1 -1
  5. package/dist/esm/components/Button.d.ts +3 -0
  6. package/dist/esm/components/Button.d.ts.map +1 -1
  7. package/dist/esm/components/Button.js +21 -10
  8. package/dist/esm/components/Button.js.map +1 -1
  9. package/dist/esm/components/Card.d.ts +1 -0
  10. package/dist/esm/components/Card.d.ts.map +1 -1
  11. package/dist/esm/components/ConversationMessage.d.ts +4 -0
  12. package/dist/esm/components/ConversationMessage.d.ts.map +1 -1
  13. package/dist/esm/components/ConversationMessage.js +9 -4
  14. package/dist/esm/components/ConversationMessage.js.map +1 -1
  15. package/dist/esm/components/DataTable.d.ts.map +1 -1
  16. package/dist/esm/components/DataTable.js +12 -50
  17. package/dist/esm/components/DataTable.js.map +1 -1
  18. package/dist/esm/components/NavigationList.d.ts +4 -1
  19. package/dist/esm/components/NavigationList.d.ts.map +1 -1
  20. package/dist/esm/components/NavigationList.js +2 -2
  21. package/dist/esm/components/NavigationList.js.map +1 -1
  22. package/dist/esm/components/ScrollArea.d.ts +1 -0
  23. package/dist/esm/components/ScrollArea.d.ts.map +1 -1
  24. package/dist/esm/components/ScrollArea.js +7 -4
  25. package/dist/esm/components/ScrollArea.js.map +1 -1
  26. package/dist/esm/components/Spinner.d.ts +1 -1
  27. package/dist/esm/components/Spinner.js +7 -7
  28. package/dist/esm/components/Spinner.js.map +1 -1
  29. package/dist/esm/components/ToolCard.d.ts +6 -0
  30. package/dist/esm/components/ToolCard.d.ts.map +1 -1
  31. package/dist/esm/components/ToolCard.js +18 -11
  32. package/dist/esm/components/ToolCard.js.map +1 -1
  33. package/dist/esm/components/Tooltip.d.ts.map +1 -1
  34. package/dist/esm/components/Tooltip.js.map +1 -1
  35. package/dist/esm/components/WindowUtility.d.ts +3 -2
  36. package/dist/esm/components/WindowUtility.d.ts.map +1 -1
  37. package/dist/esm/components/WindowUtility.js +25 -17
  38. package/dist/esm/components/WindowUtility.js.map +1 -1
  39. package/dist/esm/components/markdown/CodeBlock.d.ts +2 -1
  40. package/dist/esm/components/markdown/CodeBlock.d.ts.map +1 -1
  41. package/dist/esm/components/markdown/CodeBlock.js +9 -2
  42. package/dist/esm/components/markdown/CodeBlock.js.map +1 -1
  43. package/dist/esm/icons/app/Mic.d.ts +5 -0
  44. package/dist/esm/icons/app/Mic.d.ts.map +1 -0
  45. package/dist/esm/icons/app/Mic.js +6 -0
  46. package/dist/esm/icons/app/Mic.js.map +1 -0
  47. package/dist/esm/icons/app/index.d.ts +1 -0
  48. package/dist/esm/icons/app/index.d.ts.map +1 -1
  49. package/dist/esm/icons/app/index.js +1 -0
  50. package/dist/esm/icons/app/index.js.map +1 -1
  51. package/dist/esm/icons/src/app/mic.svg +3 -0
  52. package/dist/esm/index.d.ts +1 -0
  53. package/dist/esm/index.d.ts.map +1 -1
  54. package/dist/esm/index.js +1 -0
  55. package/dist/esm/index.js.map +1 -1
  56. package/dist/esm/stories/Avatar.stories.js +4 -4
  57. package/dist/esm/stories/CodeBlock.stories.d.ts +17 -0
  58. package/dist/esm/stories/CodeBlock.stories.d.ts.map +1 -0
  59. package/dist/esm/stories/CodeBlock.stories.js +125 -0
  60. package/dist/esm/stories/CodeBlock.stories.js.map +1 -0
  61. package/dist/esm/stories/ConversationMessage.stories.d.ts.map +1 -1
  62. package/dist/esm/stories/ConversationMessage.stories.js +3 -3
  63. package/dist/esm/stories/ConversationMessage.stories.js.map +1 -1
  64. package/dist/esm/stories/MultiPageDialog.stories.js +1 -1
  65. package/dist/esm/stories/MultiPageDialog.stories.js.map +1 -1
  66. package/dist/esm/stories/Playground.stories.d.ts.map +1 -1
  67. package/dist/esm/stories/Playground.stories.js +166 -29
  68. package/dist/esm/stories/Playground.stories.js.map +1 -1
  69. package/dist/esm/stories/Spinner.stories.js +3 -3
  70. package/dist/esm/stories/ToolCard.stories.d.ts.map +1 -1
  71. package/dist/esm/stories/ToolCard.stories.js +14 -6
  72. package/dist/esm/stories/ToolCard.stories.js.map +1 -1
  73. package/dist/sparkle.css +100 -0
  74. package/package.json +1 -1
  75. package/src/components/Avatar.tsx +4 -4
  76. package/src/components/Button.tsx +35 -7
  77. package/src/components/ConversationMessage.tsx +26 -7
  78. package/src/components/DataTable.tsx +7 -46
  79. package/src/components/NavigationList.tsx +7 -2
  80. package/src/components/ScrollArea.tsx +9 -3
  81. package/src/components/Spinner.tsx +7 -7
  82. package/src/components/ToolCard.tsx +60 -35
  83. package/src/components/Tooltip.tsx +49 -38
  84. package/src/components/WindowUtility.tsx +11 -18
  85. package/src/components/markdown/CodeBlock.tsx +10 -0
  86. package/src/icons/app/Mic.tsx +18 -0
  87. package/src/icons/app/index.ts +1 -0
  88. package/src/icons/src/app/mic.svg +3 -0
  89. package/src/index.ts +1 -0
  90. package/src/stories/Avatar.stories.tsx +4 -4
  91. package/src/stories/CodeBlock.stories.tsx +361 -0
  92. package/src/stories/ConversationMessage.stories.tsx +6 -0
  93. package/src/stories/MultiPageDialog.stories.tsx +1 -1
  94. package/src/stories/Playground.stories.tsx +311 -56
  95. package/src/stories/Spinner.stories.tsx +3 -3
  96. package/src/stories/ToolCard.stories.tsx +49 -35
@@ -13,7 +13,7 @@ import animLightLG from "@sparkle/lottie/spinnerLightLG";
13
13
  import animLightXS from "@sparkle/lottie/spinnerLightXS";
14
14
 
15
15
  type SpinnerSizeType = (typeof SPINNER_SIZES)[number];
16
- const SPINNER_SIZES = ["xs", "sm", "md", "lg", "xl", "xxl"] as const;
16
+ const SPINNER_SIZES = ["xs", "sm", "md", "lg", "xl", "2xl"] as const;
17
17
 
18
18
  type SpinnerVariant =
19
19
  | "mono"
@@ -43,7 +43,7 @@ const pxSizeClasses: Record<SpinnerSizeType, string> = {
43
43
  md: "24",
44
44
  lg: "32",
45
45
  xl: "128",
46
- xxl: "192",
46
+ "2xl": "192",
47
47
  };
48
48
 
49
49
  type LottieColorType = [number, number, number, number];
@@ -111,7 +111,7 @@ const Spinner: React.FC<SpinnerProps> = ({ size = "md", variant = "mono" }) => {
111
111
  anim = animLightXS;
112
112
  break;
113
113
  case "xl":
114
- case "xxl":
114
+ case "2xl":
115
115
  anim = animLightLG;
116
116
  break;
117
117
  default:
@@ -139,7 +139,7 @@ const Spinner: React.FC<SpinnerProps> = ({ size = "md", variant = "mono" }) => {
139
139
  anim = animColorXS;
140
140
  break;
141
141
  case "xl":
142
- case "xxl":
142
+ case "2xl":
143
143
  anim = animColorLG;
144
144
  break;
145
145
  default:
@@ -162,7 +162,7 @@ const Spinner: React.FC<SpinnerProps> = ({ size = "md", variant = "mono" }) => {
162
162
  anim = animLightXS;
163
163
  break;
164
164
  case "xl":
165
- case "xxl":
165
+ case "2xl":
166
166
  anim = animLightLG;
167
167
  break;
168
168
  default:
@@ -185,7 +185,7 @@ const Spinner: React.FC<SpinnerProps> = ({ size = "md", variant = "mono" }) => {
185
185
  anim = animDarkXS;
186
186
  break;
187
187
  case "xl":
188
- case "xxl":
188
+ case "2xl":
189
189
  anim = animDarkLG;
190
190
  break;
191
191
  default:
@@ -210,7 +210,7 @@ const Spinner: React.FC<SpinnerProps> = ({ size = "md", variant = "mono" }) => {
210
210
  darkAnim = animDarkXS;
211
211
  break;
212
212
  case "xl":
213
- case "xxl":
213
+ case "2xl":
214
214
  lightAnim = animLightLG;
215
215
  darkAnim = animDarkLG;
216
216
  break;
@@ -15,10 +15,13 @@ export interface ToolCardProps {
15
15
  isSelected: boolean;
16
16
  canAdd: boolean;
17
17
  cantAddReason?: string;
18
+ toolInfo?: { label: string; onClick: () => void };
18
19
  onClick?: () => void;
19
20
  className?: string;
21
+ cardContainerClassName?: string;
20
22
  mountPortal?: boolean;
21
23
  mountPortalContainer?: HTMLElement;
24
+ descriptionLineClamp?: number;
22
25
  }
23
26
 
24
27
  export const ToolCard = React.forwardRef<HTMLDivElement, ToolCardProps>(
@@ -30,10 +33,13 @@ export const ToolCard = React.forwardRef<HTMLDivElement, ToolCardProps>(
30
33
  isSelected,
31
34
  canAdd,
32
35
  cantAddReason,
36
+ toolInfo,
33
37
  onClick,
34
38
  className,
39
+ cardContainerClassName,
35
40
  mountPortal,
36
41
  mountPortalContainer,
42
+ descriptionLineClamp = 2,
37
43
  },
38
44
  ref
39
45
  ) => {
@@ -43,44 +49,63 @@ export const ToolCard = React.forwardRef<HTMLDivElement, ToolCardProps>(
43
49
  variant={isSelected ? "secondary" : "primary"}
44
50
  onClick={onClick}
45
51
  disabled={!canAdd}
46
- className={cn("s-h-24 s-p-3", className)}
52
+ containerClassName={cardContainerClassName}
53
+ className={cn("s-p-3", className)}
47
54
  >
48
- <div className="s-flex s-w-full s-flex-col">
49
- <div className="s-mb-2 s-flex s-items-start s-justify-between s-gap-2">
50
- <div className="s-flex s-items-center s-gap-2">
51
- <Avatar icon={icon} size="sm" />
52
- <span className="s-text-sm s-font-medium">{label}</span>
53
- {isSelected && (
54
- <Chip
55
- size="xs"
56
- color="green"
57
- label="ADDED"
58
- className={cn(FADE_TRANSITION_CLASSES, "s-opacity-100")}
59
- />
60
- )}
61
- </div>
62
- {canAdd && (
63
- <Button
64
- size="xs"
65
- variant="outline"
66
- icon={PlusIcon}
67
- label="Add"
68
- className={cn(FADE_TRANSITION_CLASSES, "s-flex-shrink-0")}
69
- />
70
- )}
71
- {cantAddReason && (
72
- <div className="s-flex-shrink-0 s-text-xs s-italic s-text-muted-foreground dark:s-text-muted-foreground-night">
73
- {cantAddReason}
55
+ <div className="s-flex s-h-full s-w-full s-flex-col s-justify-between">
56
+ <div className="s-flex s-flex-col">
57
+ <div className="s-mb-2 s-flex s-items-center s-justify-between s-gap-2">
58
+ <div className="s-flex s-items-center s-gap-2">
59
+ <Avatar icon={icon} size="sm" />
60
+ <span className="s-text-sm s-font-medium">{label}</span>
61
+ {isSelected && (
62
+ <Chip
63
+ size="xs"
64
+ color="green"
65
+ label="ADDED"
66
+ className={cn(FADE_TRANSITION_CLASSES, "s-opacity-100")}
67
+ />
68
+ )}
69
+ </div>
70
+ <div className="s-flex s-flex-shrink-0 s-items-center s-gap-2">
71
+ {canAdd && (
72
+ <Button
73
+ size="xs"
74
+ variant="outline"
75
+ icon={PlusIcon}
76
+ label="Add"
77
+ className={cn(FADE_TRANSITION_CLASSES, "s-flex-shrink-0")}
78
+ />
79
+ )}
80
+ {cantAddReason && (
81
+ <div className="s-flex-shrink-0 s-text-xs s-italic s-text-muted-foreground dark:s-text-muted-foreground-night">
82
+ {cantAddReason}
83
+ </div>
84
+ )}
74
85
  </div>
75
- )}
86
+ </div>
87
+ <TruncatedText
88
+ className="s-text-sm s-text-muted-foreground dark:s-text-muted-foreground-night"
89
+ mountPortal={mountPortal}
90
+ mountPortalContainer={mountPortalContainer}
91
+ lineClamp={descriptionLineClamp}
92
+ >
93
+ {description}
94
+ </TruncatedText>
76
95
  </div>
77
- <TruncatedText
78
- className="s-text-sm s-text-muted-foreground dark:s-text-muted-foreground-night"
79
- mountPortal={mountPortal}
80
- mountPortalContainer={mountPortalContainer}
81
- >
82
- {description}
83
- </TruncatedText>
96
+ {toolInfo && (
97
+ <div>
98
+ <a
99
+ onClick={(e) => {
100
+ e.stopPropagation();
101
+ toolInfo.onClick();
102
+ }}
103
+ className="hover:s-underline-offset-2 dark:s-text-muted-foreground-night s-cursor-pointer s-text-sm s-font-semibold s-text-muted-foreground hover:s-text-highlight-light hover:s-underline dark:hover:s-text-highlight-light-night"
104
+ >
105
+ {toolInfo.label}
106
+ </a>
107
+ </div>
108
+ )}
84
109
  </div>
85
110
  </Card>
86
111
  );
@@ -20,47 +20,58 @@ interface TooltipContentProps
20
20
  const TooltipContent = React.forwardRef<
21
21
  React.ElementRef<typeof TooltipPrimitive.Content>,
22
22
  TooltipContentProps
23
- >(({ className, sideOffset = 4, mountPortal = true, mountPortalContainer, ...props }, ref) => {
24
- const content = (
25
- <TooltipPrimitive.Content
26
- ref={ref}
27
- sideOffset={sideOffset}
28
- className={classNames(
29
- "s-z-50 s-max-w-sm s-overflow-hidden s-whitespace-pre-wrap s-break-words s-rounded-md s-border",
30
- "s-bg-background dark:s-bg-background-night",
31
- "s-text-foreground dark:s-text-foreground-night",
32
- "s-border-border dark:s-border-border-night",
33
- "s-px-3 s-py-1.5 s-text-sm s-shadow-md",
34
- "s-animate-in s-fade-in-0 s-zoom-in-95",
35
- "data-[state=closed]:s-animate-out data-[state=closed]:s-fade-out-0 data-[state=closed]:s-zoom-out-95 data-[side=bottom]:s-slide-in-from-top-2 data-[side=left]:s-slide-in-from-right-2 data-[side=right]:s-slide-in-from-left-2 data-[side=top]:s-slide-in-from-bottom-2",
36
- className || ""
37
- )}
38
- {...props}
39
- />
40
- );
23
+ >(
24
+ (
25
+ {
26
+ className,
27
+ sideOffset = 4,
28
+ mountPortal = true,
29
+ mountPortalContainer,
30
+ ...props
31
+ },
32
+ ref
33
+ ) => {
34
+ const content = (
35
+ <TooltipPrimitive.Content
36
+ ref={ref}
37
+ sideOffset={sideOffset}
38
+ className={classNames(
39
+ "s-z-50 s-max-w-sm s-overflow-hidden s-whitespace-pre-wrap s-break-words s-rounded-md s-border",
40
+ "s-bg-background dark:s-bg-background-night",
41
+ "s-text-foreground dark:s-text-foreground-night",
42
+ "s-border-border dark:s-border-border-night",
43
+ "s-px-3 s-py-1.5 s-text-sm s-shadow-md",
44
+ "s-animate-in s-fade-in-0 s-zoom-in-95",
45
+ "data-[state=closed]:s-animate-out data-[state=closed]:s-fade-out-0 data-[state=closed]:s-zoom-out-95 data-[side=bottom]:s-slide-in-from-top-2 data-[side=left]:s-slide-in-from-right-2 data-[side=right]:s-slide-in-from-left-2 data-[side=top]:s-slide-in-from-bottom-2",
46
+ className || ""
47
+ )}
48
+ {...props}
49
+ />
50
+ );
41
51
 
42
- const [container, setContainer] = useState<Element | undefined>(
43
- mountPortalContainer
44
- );
52
+ const [container, setContainer] = useState<Element | undefined>(
53
+ mountPortalContainer
54
+ );
45
55
 
46
- useEffect(() => {
47
- if (mountPortal && !container) {
48
- const dialogElements = document.querySelectorAll(
49
- ".s-sheet[role=dialog][data-state=open]"
50
- );
51
- const defaultContainer = dialogElements[dialogElements.length - 1];
52
- setContainer(defaultContainer);
53
- }
54
- }, [mountPortal, container]);
56
+ useEffect(() => {
57
+ if (mountPortal && !container) {
58
+ const dialogElements = document.querySelectorAll(
59
+ ".s-sheet[role=dialog][data-state=open]"
60
+ );
61
+ const defaultContainer = dialogElements[dialogElements.length - 1];
62
+ setContainer(defaultContainer);
63
+ }
64
+ }, [mountPortal, container]);
55
65
 
56
- return mountPortal ? (
57
- <TooltipPrimitive.Portal container={container}>
58
- {content}
59
- </TooltipPrimitive.Portal>
60
- ) : (
61
- content
62
- );
63
- });
66
+ return mountPortal ? (
67
+ <TooltipPrimitive.Portal container={container}>
68
+ {content}
69
+ </TooltipPrimitive.Portal>
70
+ ) : (
71
+ content
72
+ );
73
+ }
74
+ );
64
75
 
65
76
  interface TooltipProps extends TooltipContentProps {
66
77
  trigger: React.ReactNode;
@@ -2,30 +2,25 @@ import { useEffect, useState } from "react";
2
2
 
3
3
  // Define breakpoints
4
4
  export const breakpoints = {
5
- xs: 0,
5
+ xxs: 0,
6
+ xs: 512,
6
7
  sm: 640,
7
8
  md: 768,
8
9
  lg: 1024,
9
10
  xl: 1280,
10
- xxl: 1536,
11
+ "2xl": 1536,
11
12
  };
12
13
 
13
14
  // Helper function to determine active breakpoint
14
15
  function getActiveBreakpoint(width: number): keyof typeof breakpoints {
15
- if (width >= breakpoints.xxl) {
16
- return "xxl";
17
- }
18
- if (width >= breakpoints.xl) {
19
- return "xl";
20
- }
21
- if (width >= breakpoints.lg) {
22
- return "lg";
23
- }
24
- if (width >= breakpoints.md) {
25
- return "md";
26
- }
27
- if (width >= breakpoints.sm) {
28
- return "sm";
16
+ const breakpointEntries = Object.entries(breakpoints) as [keyof typeof breakpoints, number][];
17
+ // Sort breakpoints from largest to smallest
18
+ const sortedBreakpoints = breakpointEntries.sort(([, a], [, b]) => b - a);
19
+
20
+ for (const [breakpoint, minWidth] of sortedBreakpoints) {
21
+ if (width >= minWidth) {
22
+ return breakpoint;
23
+ }
29
24
  }
30
25
  return "xs";
31
26
  }
@@ -62,5 +57,3 @@ export function useWindowSize() {
62
57
 
63
58
  return windowSize;
64
59
  }
65
-
66
- export default useWindowSize;
@@ -34,6 +34,7 @@ type CodeBlockProps = {
34
34
  inline?: boolean;
35
35
  variant?: "surface";
36
36
  wrapLongLines?: boolean;
37
+ showLineNumber?: boolean;
37
38
  };
38
39
 
39
40
  export function CodeBlock({
@@ -42,6 +43,7 @@ export function CodeBlock({
42
43
  inline,
43
44
  variant = "surface",
44
45
  wrapLongLines = false,
46
+ showLineNumber = false,
45
47
  }: CodeBlockProps): JSX.Element {
46
48
  const match = /language-(\w+)/.exec(className || "");
47
49
  const language = match ? match[1] : "text";
@@ -63,6 +65,13 @@ export function CodeBlock({
63
65
  backgroundColor: "transparent",
64
66
  fontSize: "0.875rem",
65
67
  },
68
+ "hljs-ln": {
69
+ color: "var(--s-muted-foreground)",
70
+ fontSize: "0.75rem",
71
+ paddingRight: "1em",
72
+ textAlign: "right",
73
+ userSelect: "none",
74
+ },
66
75
  "hljs-keyword": {
67
76
  // function, const, let, if, return
68
77
  color: violet[500],
@@ -148,6 +157,7 @@ export function CodeBlock({
148
157
  <div className="s-text-foreground dark:s-text-foreground-night">
149
158
  <SyntaxHighlighter
150
159
  wrapLongLines={wrapLongLines}
160
+ showLineNumbers={showLineNumber}
151
161
  style={codeStyle}
152
162
  language={languageToUse}
153
163
  PreTag="div"
@@ -0,0 +1,18 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgMic = (props: SVGProps<SVGSVGElement>) => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ width="1em"
7
+ height="1em"
8
+ fill="none"
9
+ viewBox="0 0 24 24"
10
+ {...props}
11
+ >
12
+ <path
13
+ fill="currentColor"
14
+ d="M12 1a5 5 0 0 1 5 5v4a5 5 0 0 1-10 0V6a5 5 0 0 1 5-5ZM3.055 11H5.07a7.002 7.002 0 0 0 13.858 0h2.016A9.004 9.004 0 0 1 13 18.945V23h-2v-4.055A9.004 9.004 0 0 1 3.055 11Z"
15
+ />
16
+ </svg>
17
+ );
18
+ export default SvgMic;
@@ -93,6 +93,7 @@ export { default as LogoutIcon } from "./Logout";
93
93
  export { default as MagicIcon } from "./Magic";
94
94
  export { default as MagnifyingGlassIcon } from "./MagnifyingGlass";
95
95
  export { default as MenuIcon } from "./Menu";
96
+ export { default as MicIcon } from "./Mic";
96
97
  export { default as MoonIcon } from "./Moon";
97
98
  export { default as MoreIcon } from "./More";
98
99
  export { default as MovingMailIcon } from "./MovingMail";
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M11.9998 1C14.7612 1 16.9998 3.23858 16.9998 6V10C16.9998 12.7614 14.7612 15 11.9998 15C9.23833 15 6.99976 12.7614 6.99976 10V6C6.99976 3.23858 9.23833 1 11.9998 1ZM3.05469 11H5.07065C5.55588 14.3923 8.47329 17 11.9998 17C15.5262 17 18.4436 14.3923 18.9289 11H20.9448C20.4837 15.1716 17.1714 18.4839 12.9998 18.9451V23H10.9998V18.9451C6.82814 18.4839 3.51584 15.1716 3.05469 11Z" fill="#111418"/>
3
+ </svg>
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./components";
2
+ export * from "./components/WindowUtility";
2
3
  export { SparkleContext } from "./context";
3
4
  export * from "./hooks";
4
5
  export * from "./icons";
@@ -44,7 +44,7 @@ export const AvatarExample = () => (
44
44
  <Avatar size="md" />
45
45
  <Avatar size="lg" />
46
46
  <Avatar size="xl" />
47
- <Avatar size="xxl" />
47
+ <Avatar size="2xl" />
48
48
  </div>
49
49
  <div>With name</div>
50
50
  <div className="s-flex s-gap-4">
@@ -53,7 +53,7 @@ export const AvatarExample = () => (
53
53
  <Avatar size="md" name="Aria Doe" />
54
54
  <Avatar size="lg" name="Omar Doe" />
55
55
  <Avatar size="xl" name="Omar Doe" />
56
- <Avatar size="xxl" name="Omar Doe" />
56
+ <Avatar size="2xl" name="Omar Doe" />
57
57
  </div>
58
58
  <div>With emoji url</div>
59
59
  <div className="s-flex s-gap-4">
@@ -69,7 +69,7 @@ export const AvatarExample = () => (
69
69
  <Avatar size="md" emoji="😂" backgroundColor="s-bg-info-200" />
70
70
  <Avatar size="lg" emoji="🧑‍🚀" backgroundColor="s-bg-gray-200" />
71
71
  <Avatar size="xl" emoji="👕" backgroundColor="s-bg-blue-200" />
72
- <Avatar size="xxl" emoji="👕" backgroundColor="s-bg-blue-200" />
72
+ <Avatar size="2xl" emoji="👕" backgroundColor="s-bg-blue-200" />
73
73
  </div>
74
74
  <div className="s-flex s-gap-4">
75
75
  <Avatar size="sm" name="Eleanor Wright" />
@@ -126,7 +126,7 @@ export const AvatarExample = () => (
126
126
  <Avatar size="lg" icon={ActionFlagIcon} />
127
127
  <Avatar size="lg" icon={SlackLogo} hexBgColor="#421D51" />
128
128
  <Avatar size="xl" icon={ActionShirtIcon} />
129
- <Avatar size="xxl" icon={StarStrokeIcon} />
129
+ <Avatar size="2xl" icon={StarStrokeIcon} />
130
130
  </div>
131
131
  <div className="heading-2xl">Tools example</div>
132
132
  <div>Remote MCP Servers</div>