@dust-tt/sparkle 0.2.646 → 0.2.648

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 (112) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/AssistantCard.d.ts +1 -0
  3. package/dist/esm/components/AssistantCard.d.ts.map +1 -1
  4. package/dist/esm/components/AssistantCard.js +5 -5
  5. package/dist/esm/components/AssistantCard.js.map +1 -1
  6. package/dist/esm/components/AttachmentChip.js +1 -1
  7. package/dist/esm/components/AttachmentChip.js.map +1 -1
  8. package/dist/esm/components/Button.d.ts +1 -0
  9. package/dist/esm/components/Button.d.ts.map +1 -1
  10. package/dist/esm/components/Button.js +2 -2
  11. package/dist/esm/components/Button.js.map +1 -1
  12. package/dist/esm/components/Card.d.ts +2 -0
  13. package/dist/esm/components/Card.d.ts.map +1 -1
  14. package/dist/esm/components/Card.js +3 -3
  15. package/dist/esm/components/Card.js.map +1 -1
  16. package/dist/esm/components/Citation.js +2 -2
  17. package/dist/esm/components/Citation.js.map +1 -1
  18. package/dist/esm/components/ContentMessage.js +1 -1
  19. package/dist/esm/components/ContentMessage.js.map +1 -1
  20. package/dist/esm/components/Counter.js +13 -13
  21. package/dist/esm/components/Counter.js.map +1 -1
  22. package/dist/esm/components/DataTable.js +1 -1
  23. package/dist/esm/components/DataTable.js.map +1 -1
  24. package/dist/esm/components/Dialog.d.ts +1 -0
  25. package/dist/esm/components/Dialog.d.ts.map +1 -1
  26. package/dist/esm/components/Dialog.js +2 -2
  27. package/dist/esm/components/Dialog.js.map +1 -1
  28. package/dist/esm/components/Dropdown.js +3 -3
  29. package/dist/esm/components/Dropdown.js.map +1 -1
  30. package/dist/esm/components/EmptyCTA.d.ts +1 -0
  31. package/dist/esm/components/EmptyCTA.d.ts.map +1 -1
  32. package/dist/esm/components/EmptyCTA.js +2 -2
  33. package/dist/esm/components/EmptyCTA.js.map +1 -1
  34. package/dist/esm/components/LinkWrapper.d.ts +1 -0
  35. package/dist/esm/components/LinkWrapper.d.ts.map +1 -1
  36. package/dist/esm/components/LinkWrapper.js +2 -2
  37. package/dist/esm/components/LinkWrapper.js.map +1 -1
  38. package/dist/esm/components/MultiPageDialog.d.ts +1 -0
  39. package/dist/esm/components/MultiPageDialog.d.ts.map +1 -1
  40. package/dist/esm/components/MultiPageDialog.js +3 -3
  41. package/dist/esm/components/MultiPageDialog.js.map +1 -1
  42. package/dist/esm/components/NavigationList.d.ts +1 -0
  43. package/dist/esm/components/NavigationList.d.ts.map +1 -1
  44. package/dist/esm/components/NavigationList.js +3 -3
  45. package/dist/esm/components/NavigationList.js.map +1 -1
  46. package/dist/esm/components/Notification.js +1 -1
  47. package/dist/esm/components/Notification.js.map +1 -1
  48. package/dist/esm/components/PriceTable.d.ts +2 -1
  49. package/dist/esm/components/PriceTable.d.ts.map +1 -1
  50. package/dist/esm/components/PriceTable.js +2 -2
  51. package/dist/esm/components/PriceTable.js.map +1 -1
  52. package/dist/esm/components/Sheet.d.ts +1 -0
  53. package/dist/esm/components/Sheet.d.ts.map +1 -1
  54. package/dist/esm/components/Sheet.js +2 -2
  55. package/dist/esm/components/Sheet.js.map +1 -1
  56. package/dist/esm/components/Tabs.d.ts +1 -0
  57. package/dist/esm/components/Tabs.d.ts.map +1 -1
  58. package/dist/esm/components/Tabs.js +2 -2
  59. package/dist/esm/components/Tabs.js.map +1 -1
  60. package/dist/esm/components/ToolCard.js +1 -1
  61. package/dist/esm/components/ToolCard.js.map +1 -1
  62. package/dist/esm/components/ValueCard.js +1 -1
  63. package/dist/esm/components/ValueCard.js.map +1 -1
  64. package/dist/esm/icons/actions/Atom.js +1 -1
  65. package/dist/esm/icons/actions/Atom.js.map +1 -1
  66. package/dist/esm/icons/app/ArrowDownDash.d.ts +5 -0
  67. package/dist/esm/icons/app/ArrowDownDash.d.ts.map +1 -0
  68. package/dist/esm/icons/app/ArrowDownDash.js +6 -0
  69. package/dist/esm/icons/app/ArrowDownDash.js.map +1 -0
  70. package/dist/esm/icons/app/Atom.js +1 -1
  71. package/dist/esm/icons/app/Atom.js.map +1 -1
  72. package/dist/esm/icons/app/index.d.ts +1 -0
  73. package/dist/esm/icons/app/index.d.ts.map +1 -1
  74. package/dist/esm/icons/app/index.js +1 -0
  75. package/dist/esm/icons/app/index.js.map +1 -1
  76. package/dist/esm/icons/src/app/arrow-down-dash.svg +3 -0
  77. package/dist/esm/logo/platforms/Discord.d.ts.map +1 -1
  78. package/dist/esm/logo/platforms/Discord.js +2 -2
  79. package/dist/esm/logo/platforms/Discord.js.map +1 -1
  80. package/dist/esm/logo/src/platforms/Discord.svg +3 -0
  81. package/dist/esm/stories/Chip.stories.d.ts +1 -0
  82. package/dist/esm/stories/Chip.stories.d.ts.map +1 -1
  83. package/dist/sparkle.css +365 -352
  84. package/package.json +1 -1
  85. package/src/components/AssistantCard.tsx +36 -27
  86. package/src/components/AttachmentChip.tsx +1 -1
  87. package/src/components/Button.tsx +3 -0
  88. package/src/components/Card.tsx +4 -0
  89. package/src/components/Citation.tsx +2 -2
  90. package/src/components/ContentMessage.tsx +1 -1
  91. package/src/components/Counter.tsx +13 -13
  92. package/src/components/DataTable.tsx +1 -1
  93. package/src/components/Dialog.tsx +3 -0
  94. package/src/components/Dropdown.tsx +3 -3
  95. package/src/components/EmptyCTA.tsx +11 -1
  96. package/src/components/LinkWrapper.tsx +26 -19
  97. package/src/components/MultiPageDialog.tsx +4 -1
  98. package/src/components/NavigationList.tsx +4 -1
  99. package/src/components/Notification.tsx +1 -1
  100. package/src/components/PriceTable.tsx +3 -0
  101. package/src/components/Sheet.tsx +3 -0
  102. package/src/components/Tabs.tsx +3 -0
  103. package/src/components/ToolCard.tsx +1 -1
  104. package/src/components/ValueCard.tsx +1 -1
  105. package/src/icons/actions/Atom.tsx +1 -1
  106. package/src/icons/app/ArrowDownDash.tsx +18 -0
  107. package/src/icons/app/Atom.tsx +1 -1
  108. package/src/icons/app/index.ts +1 -0
  109. package/src/icons/src/app/arrow-down-dash.svg +3 -0
  110. package/src/logo/platforms/Discord.tsx +6 -8
  111. package/src/logo/src/platforms/Discord.svg +3 -0
  112. package/src/stories/Citation.stories.tsx +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.2.646",
3
+ "version": "0.2.648",
4
4
  "scripts": {
5
5
  "build": "rm -rf dist && npm run tailwind && npm run build:esm && npm run build:cjs",
6
6
  "tailwind": "tailwindcss -i ./src/styles/tailwind.css -o dist/sparkle.css",
@@ -19,6 +19,7 @@ interface BaseAssistantCardProps {
19
19
  onClick?: () => void;
20
20
  onContextMenu?: (event: React.MouseEvent) => void;
21
21
  variant?: CardVariantType;
22
+ dataAnalytics?: string;
22
23
  }
23
24
 
24
25
  type AssistantCardMore = Omit<MiniButtonProps, "icon" | "size">;
@@ -50,6 +51,7 @@ export const AssistantCard = React.forwardRef<
50
51
  subtitle,
51
52
  action,
52
53
  variant = "primary",
54
+ dataAnalytics,
53
55
  },
54
56
  ref
55
57
  ) => {
@@ -62,6 +64,7 @@ export const AssistantCard = React.forwardRef<
62
64
  onContextMenu={onContextMenu}
63
65
  action={action}
64
66
  variant={variant}
67
+ dataAnalytics={dataAnalytics}
65
68
  >
66
69
  <div className="s-flex s-gap-3">
67
70
  <Avatar visual={pictureUrl} size="md" />
@@ -102,35 +105,41 @@ interface LargeAssistantCardProps extends BaseAssistantCardProps {}
102
105
  export const LargeAssistantCard = React.forwardRef<
103
106
  HTMLDivElement,
104
107
  LargeAssistantCardProps
105
- >(({ className, onClick, title, description, pictureUrl }, ref) => {
106
- return (
107
- <Card
108
- ref={ref}
109
- size="lg"
110
- className={className}
111
- onClick={onClick}
112
- variant="tertiary"
113
- >
114
- <div className="s-flex s-gap-3">
115
- <Avatar visual={pictureUrl} size="lg" />
116
- <div
117
- className={cn(
118
- "s-flex s-flex-col s-gap-2 s-text-base",
119
- "s-text-foreground dark:s-text-foreground-night"
120
- )}
121
- >
122
- <h3 className="s-font-semibold">{title}</h3>
123
- <p
108
+ >(
109
+ (
110
+ { className, onClick, title, description, pictureUrl, dataAnalytics },
111
+ ref
112
+ ) => {
113
+ return (
114
+ <Card
115
+ ref={ref}
116
+ size="lg"
117
+ className={className}
118
+ onClick={onClick}
119
+ variant="tertiary"
120
+ dataAnalytics={dataAnalytics}
121
+ >
122
+ <div className="s-flex s-gap-3">
123
+ <Avatar visual={pictureUrl} size="lg" />
124
+ <div
124
125
  className={cn(
125
- "s-line-clamp-5 s-overflow-hidden s-text-ellipsis",
126
- "s-text-muted-foreground dark:s-text-muted-foreground-night"
126
+ "s-flex s-flex-col s-gap-2 s-text-base",
127
+ "s-text-foreground dark:s-text-foreground-night"
127
128
  )}
128
129
  >
129
- {description}
130
- </p>
130
+ <h3 className="s-heading-base">{title}</h3>
131
+ <p
132
+ className={cn(
133
+ "s-line-clamp-5 s-overflow-hidden s-text-ellipsis",
134
+ "s-text-muted-foreground dark:s-text-muted-foreground-night"
135
+ )}
136
+ >
137
+ {description}
138
+ </p>
139
+ </div>
131
140
  </div>
132
- </div>
133
- </Card>
134
- );
135
- });
141
+ </Card>
142
+ );
143
+ }
144
+ );
136
145
  LargeAssistantCard.displayName = "LargeAssistantCard";
@@ -8,7 +8,7 @@ import { LinkWrapper, LinkWrapperProps } from "./LinkWrapper";
8
8
 
9
9
  const attachmentChipVariants = cva(
10
10
  cn(
11
- "s-box-border s-inline-flex s-items-center s-gap-1.5 s-rounded-lg s-px-2 s-py-1 s-text-sm s-font-semibold",
11
+ "s-box-border s-inline-flex s-items-center s-gap-1.5 s-rounded-lg s-px-2 s-py-1 s-heading-sm",
12
12
  "s-border-border s-bg-background",
13
13
  "dark:s-border-border-night dark:s-bg-background-night",
14
14
  "s-text-foreground dark:s-text-foreground-night",
@@ -225,6 +225,7 @@ type CommonButtonProps = Omit<MetaButtonProps, "children"> &
225
225
  isCounter?: boolean;
226
226
  counterValue?: string;
227
227
  isRounded?: boolean;
228
+ dataAnalytics?: string;
228
229
  };
229
230
 
230
231
  export type MiniButtonProps = CommonButtonProps & {
@@ -263,6 +264,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
263
264
  replace,
264
265
  shallow,
265
266
  "aria-label": ariaLabel,
267
+ dataAnalytics,
266
268
  ...props
267
269
  },
268
270
  ref
@@ -372,6 +374,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
372
374
  className
373
375
  )}
374
376
  aria-label={ariaLabel || tooltip || label}
377
+ data-analytics={dataAnalytics}
375
378
  style={
376
379
  {
377
380
  "--pulse-color": "#93C5FD",
@@ -78,6 +78,7 @@ interface CommonProps {
78
78
  variant?: CardVariantType;
79
79
  size?: CardSizeType;
80
80
  className?: string;
81
+ dataAnalytics?: string;
81
82
  }
82
83
 
83
84
  interface CardLinkProps extends CommonProps, LinkWrapperProps {
@@ -109,6 +110,7 @@ const InnerCard = React.forwardRef<HTMLDivElement, InnerCardProps>(
109
110
  rel = "",
110
111
  replace,
111
112
  shallow,
113
+ dataAnalytics,
112
114
  ...props
113
115
  },
114
116
  ref
@@ -135,6 +137,7 @@ const InnerCard = React.forwardRef<HTMLDivElement, InnerCardProps>(
135
137
  shallow={shallow}
136
138
  target={target}
137
139
  rel={rel}
140
+ data-analytics={dataAnalytics}
138
141
  >
139
142
  {children}
140
143
  </Link>
@@ -146,6 +149,7 @@ const InnerCard = React.forwardRef<HTMLDivElement, InnerCardProps>(
146
149
  ref={ref}
147
150
  className={cardButtonClassNames}
148
151
  onClick={onClick}
152
+ data-analytics={dataAnalytics}
149
153
  {...props}
150
154
  >
151
155
  {children}
@@ -85,7 +85,7 @@ const CitationIndex = React.forwardRef<
85
85
  ref={ref}
86
86
  className={cn(
87
87
  "s-z-10",
88
- "s-flex s-h-4 s-w-4 s-items-center s-justify-center s-rounded-full s-text-xs s-font-semibold",
88
+ "s-heading-xs s-flex s-h-4 s-w-4 s-items-center s-justify-center s-rounded-full",
89
89
  "s-text-primary-200 dark:s-text-primary-200-night",
90
90
  "s-bg-primary-600 dark:s-bg-primary-600-night",
91
91
  className
@@ -247,7 +247,7 @@ const CitationTitle = React.forwardRef<HTMLDivElement, CitationTitleProps>(
247
247
  className={cn(
248
248
  "s-z-10",
249
249
  "s-line-clamp-1 s-overflow-hidden s-text-ellipsis s-break-all",
250
- "s-text-sm s-font-semibold",
250
+ "s-heading-sm",
251
251
  "s-text-foreground dark:s-text-foreground-night",
252
252
  className
253
253
  )}
@@ -86,7 +86,7 @@ const iconVariants = cva("s-shrink-0", {
86
86
  },
87
87
  });
88
88
 
89
- const titleVariants = cva("s-text-sm s-font-semibold", {
89
+ const titleVariants = cva("s-heading-sm", {
90
90
  variants: {
91
91
  variant: {
92
92
  primary: "s-text-foreground dark:s-text-foreground-night",
@@ -10,9 +10,9 @@ const counterVariants = cva(
10
10
  {
11
11
  variants: {
12
12
  size: {
13
- xs: "s-h-5 s-min-w-[20px] s-px-1 s-text-xs",
14
- sm: "s-h-6 s-min-w-[24px] s-px-1.5 s-text-sm",
15
- md: "s-h-7 s-min-w-[28px] s-px-2 s-text-base",
13
+ xs: "s-h-5 s-min-w-[20px] s-px-1 s-heading-xs",
14
+ sm: "s-h-6 s-min-w-[24px] s-px-1.5 s-heading-sm",
15
+ md: "s-h-7 s-min-w-[28px] s-px-2 s-heading-base",
16
16
  },
17
17
  variant: {
18
18
  primary: "",
@@ -32,55 +32,55 @@ const counterVariants = cva(
32
32
  isInButton: false,
33
33
  variant: "primary",
34
34
  className:
35
- "s-bg-primary dark:s-bg-primary-night s-text-primary-50 dark:s-text-primary-800 s-font-medium",
35
+ "s-bg-primary dark:s-bg-primary-night s-text-primary-50 dark:s-text-primary-800",
36
36
  },
37
37
  {
38
38
  isInButton: false,
39
39
  variant: "highlight",
40
- className: "s-bg-highlight s-text-white s-font-medium",
40
+ className: "s-bg-highlight s-text-white",
41
41
  },
42
42
  {
43
43
  isInButton: false,
44
44
  variant: "warning",
45
- className: "s-bg-warning s-text-white s-font-medium",
45
+ className: "s-bg-warning s-text-white",
46
46
  },
47
47
  {
48
48
  isInButton: false,
49
49
  variant: "outline",
50
- className: "s-bg-primary-200 s-text-primary-900 s-font-medium",
50
+ className: "s-bg-primary-150 s-text-primary-900",
51
51
  },
52
52
  {
53
53
  isInButton: false,
54
54
  variant: ["ghost", "ghost-secondary"],
55
- className: "s-text-primary dark:s-text-primary-night s-font-medium",
55
+ className: "s-text-primary dark:s-text-primary-night",
56
56
  },
57
57
  {
58
58
  isInButton: true,
59
59
  variant: "primary",
60
60
  className:
61
- "s-bg-primary-600 dark:s-bg-primary-400 s-text-white dark:s-text-primary-900 s-font-semibold",
61
+ "s-bg-primary-600 dark:s-bg-primary-400 s-text-white dark:s-text-primary-900",
62
62
  },
63
63
  {
64
64
  isInButton: true,
65
65
  variant: "highlight",
66
- className: "s-bg-highlight-400 s-text-white s-font-semibold",
66
+ className: "s-bg-highlight-400 s-text-white",
67
67
  },
68
68
  {
69
69
  isInButton: true,
70
70
  variant: "warning",
71
- className: "s-bg-warning-400 s-text-white s-font-semibold",
71
+ className: "s-bg-warning-400 s-text-white",
72
72
  },
73
73
  {
74
74
  isInButton: true,
75
75
  variant: "outline",
76
76
  className:
77
- "s-bg-primary-200 dark:s-bg-primary-700 s-text-primary-700 dark:s-text-primary-300 s-font-semibold",
77
+ "s-bg-primary-150 dark:s-bg-primary-800 s-text-primary-700 dark:s-text-primary-300",
78
78
  },
79
79
  {
80
80
  isInButton: true,
81
81
  variant: ["ghost", "ghost-secondary"],
82
82
  className:
83
- "s-bg-primary-200 dark:s-bg-primary-700 s-text-primary-700 dark:s-text-primary-300 s-font-semibold",
83
+ "s-bg-primary-150 dark:s-bg-primary-800 s-text-primary-700 dark:s-text-primary-300",
84
84
  },
85
85
  ],
86
86
  defaultVariants: {
@@ -753,7 +753,7 @@ DataTable.Head = function Head({
753
753
  return (
754
754
  <th
755
755
  className={cn(
756
- "s-py-2 s-pl-2 s-pr-3 s-text-left s-text-xs s-font-semibold s-capitalize",
756
+ "s-heading-xs s-py-2 s-pl-2 s-pr-3 s-text-left s-capitalize",
757
757
  "s-text-foreground dark:s-text-foreground-night",
758
758
  column.columnDef.meta?.className,
759
759
  className
@@ -80,6 +80,7 @@ interface DialogContentProps
80
80
  isAlertDialog?: boolean;
81
81
  preventAutoFocusOnClose?: boolean;
82
82
  mountPortalContainer?: HTMLElement;
83
+ dataAnalytics?: string;
83
84
  }
84
85
 
85
86
  const DialogContent = React.forwardRef<
@@ -97,6 +98,7 @@ const DialogContent = React.forwardRef<
97
98
  preventAutoFocusOnClose = true,
98
99
  onCloseAutoFocus,
99
100
  mountPortalContainer,
101
+ dataAnalytics,
100
102
  ...props
101
103
  },
102
104
  ref
@@ -124,6 +126,7 @@ const DialogContent = React.forwardRef<
124
126
  : props.onInteractOutside
125
127
  }
126
128
  onCloseAutoFocus={handleCloseAutoFocus}
129
+ data-analytics={dataAnalytics}
127
130
  {...props}
128
131
  >
129
132
  {children}
@@ -27,7 +27,7 @@ export const menuStyleClasses = {
27
27
  ),
28
28
  item: cva(
29
29
  cn(
30
- "s-relative s-flex s-gap-2 s-cursor-pointer s-select-none s-items-center s-outline-none s-rounded-md s-text-sm s-font-semibold s-transition-colors s-duration-300 data-[disabled]:s-pointer-events-none",
30
+ "s-relative s-flex s-gap-2 s-cursor-pointer s-select-none s-items-center s-outline-none s-rounded-md s-heading-sm s-transition-colors s-duration-300 data-[disabled]:s-pointer-events-none",
31
31
  "data-[disabled]:s-text-primary-400 dark:data-[disabled]:s-text-primary-400-night"
32
32
  ),
33
33
  {
@@ -67,7 +67,7 @@ export const menuStyleClasses = {
67
67
  span: "s-absolute s-left-2 s-flex s-h-3.5 s-w-3.5 s-items-center s-justify-center",
68
68
  },
69
69
  label: cn(
70
- "s-font-semibold s-px-2 s-py-2 s-text-xs",
70
+ "s-px-2 s-py-2 s-heading-xs",
71
71
  "s-text-muted-foreground dark:s-text-muted-foreground-night"
72
72
  ),
73
73
  description: cn(
@@ -698,7 +698,7 @@ const DropdownMenuStaticItem = React.forwardRef<
698
698
  className
699
699
  )}
700
700
  >
701
- <span className="s-grow s-font-semibold">{label}</span>
701
+ <span className="s-grow s-font-medium">{label}</span>
702
702
  {value && (
703
703
  <span
704
704
  className={cn(
@@ -42,14 +42,24 @@ EmptyCTA.displayName = "EmptyCTA";
42
42
  interface EmptyCTAButtonProps extends RegularButtonProps {
43
43
  icon: React.ComponentType;
44
44
  label: string;
45
+ dataAnalytics?: string;
45
46
  }
46
47
 
47
48
  const EmptyCTAButton: React.FC<EmptyCTAButtonProps> = ({
48
49
  icon,
49
50
  label,
50
51
  variant = "highlight",
52
+ dataAnalytics,
51
53
  ...props
52
- }) => <Button icon={icon} label={label} variant={variant} {...props} />;
54
+ }) => (
55
+ <Button
56
+ icon={icon}
57
+ label={label}
58
+ variant={variant}
59
+ dataAnalytics={dataAnalytics}
60
+ {...props}
61
+ />
62
+ );
53
63
 
54
64
  EmptyCTAButton.displayName = "EmptyCTAButton";
55
65
 
@@ -10,29 +10,36 @@ export interface LinkWrapperProps {
10
10
  shallow?: boolean;
11
11
  target?: string;
12
12
  prefetch?: boolean;
13
+ dataAnalytics?: string;
13
14
  }
14
15
 
15
16
  export const LinkWrapper = React.forwardRef<
16
17
  HTMLAnchorElement,
17
18
  LinkWrapperProps
18
- >(({ children, href, rel, replace, shallow, target, prefetch }, ref) => {
19
- const { components } = React.useContext(SparkleContext);
19
+ >(
20
+ (
21
+ { children, href, rel, replace, shallow, target, prefetch, dataAnalytics },
22
+ ref
23
+ ) => {
24
+ const { components } = React.useContext(SparkleContext);
20
25
 
21
- if (href) {
22
- return (
23
- <components.link
24
- ref={ref}
25
- href={href}
26
- target={target}
27
- rel={rel}
28
- replace={replace}
29
- shallow={shallow}
30
- prefetch={prefetch}
31
- >
32
- {children}
33
- </components.link>
34
- );
35
- }
26
+ if (href) {
27
+ return (
28
+ <components.link
29
+ ref={ref}
30
+ href={href}
31
+ target={target}
32
+ rel={rel}
33
+ replace={replace}
34
+ shallow={shallow}
35
+ prefetch={prefetch}
36
+ data-analytics={dataAnalytics}
37
+ >
38
+ {children}
39
+ </components.link>
40
+ );
41
+ }
36
42
 
37
- return children;
38
- });
43
+ return children;
44
+ }
45
+ );
@@ -99,6 +99,7 @@ interface MultiPageDialogProps {
99
99
  footerContent?: React.ReactNode;
100
100
  addFooterSeparator?: boolean;
101
101
  hideCloseButton?: boolean;
102
+ dataAnalytics?: string;
102
103
  }
103
104
 
104
105
  interface MultiPageDialogContentProps extends MultiPageDialogProps {
@@ -129,6 +130,7 @@ const MultiPageDialogContent = React.forwardRef<
129
130
  rightButton,
130
131
  footerContent,
131
132
  hideCloseButton,
133
+ dataAnalytics,
132
134
  ...props
133
135
  },
134
136
  ref
@@ -188,6 +190,7 @@ const MultiPageDialogContent = React.forwardRef<
188
190
  isAlertDialog={isAlertDialog}
189
191
  preventAutoFocusOnClose={preventAutoFocusOnClose}
190
192
  className={className}
193
+ dataAnalytics={dataAnalytics}
191
194
  {...props}
192
195
  >
193
196
  <div className={cn(multiPageDialogLayoutVariants())}>
@@ -259,7 +262,7 @@ const MultiPageDialogContent = React.forwardRef<
259
262
  {showNavigation && pages.length > 1 && (
260
263
  <div
261
264
  className={cn(
262
- "s-text-xs s-font-semibold s-text-muted-foreground-night",
265
+ "s-heading-xs s-text-muted-foreground-night",
263
266
  !hideCloseButton && "s-pr-8"
264
267
  )}
265
268
  >
@@ -71,6 +71,7 @@ interface NavigationListItemProps
71
71
  icon?: React.ComponentType;
72
72
  moreMenu?: React.ReactNode;
73
73
  status?: "idle" | "unread" | "blocked";
74
+ dataAnalytics?: string;
74
75
  }
75
76
 
76
77
  const NavigationListItem = React.forwardRef<
@@ -90,6 +91,7 @@ const NavigationListItem = React.forwardRef<
90
91
  shallow,
91
92
  moreMenu,
92
93
  status = "idle",
94
+ dataAnalytics,
93
95
  ...props
94
96
  },
95
97
  ref
@@ -129,6 +131,7 @@ const NavigationListItem = React.forwardRef<
129
131
  rel={rel}
130
132
  replace={replace}
131
133
  shallow={shallow}
134
+ dataAnalytics={dataAnalytics}
132
135
  >
133
136
  <div
134
137
  className={cn(
@@ -216,7 +219,7 @@ const variantStyles = cva("", {
216
219
  });
217
220
 
218
221
  const labelStyles = cva(
219
- "s-font-semibold s-pt-4 s-pb-2 s-text-xs s-whitespace-nowrap s-overflow-hidden s-text-ellipsis"
222
+ "s-pt-4 s-pb-2 s-heading-xs s-whitespace-nowrap s-overflow-hidden s-text-ellipsis"
220
223
  );
221
224
 
222
225
  interface NavigationListLabelProps
@@ -71,7 +71,7 @@ function NotificationContent({
71
71
  <div className="s-flex s-min-w-0 s-flex-grow s-flex-col">
72
72
  <div
73
73
  className={cn(
74
- "s-text-md s-line-clamp-1 s-h-6 s-grow s-font-semibold",
74
+ "s-heading-md s-line-clamp-1 s-h-6 s-grow",
75
75
  variantClassName({ type })
76
76
  )}
77
77
  >
@@ -14,6 +14,7 @@ interface PriceTableProps {
14
14
  className?: string;
15
15
  children: ReactNode;
16
16
  magnified?: boolean;
17
+ dataAnalytics?: string;
17
18
  }
18
19
 
19
20
  const colorTable = {
@@ -45,6 +46,7 @@ export function PriceTable({
45
46
  priceLabel = "",
46
47
  className = "",
47
48
  magnified = true,
49
+ dataAnalytics,
48
50
  children, // Use children instead of tableItems
49
51
  }: PriceTableProps) {
50
52
  // Pass size prop to all PriceTable.Item children
@@ -73,6 +75,7 @@ export function PriceTable({
73
75
  colorTable[color],
74
76
  className
75
77
  )}
78
+ data-analytics={dataAnalytics}
76
79
  >
77
80
  <div
78
81
  className={classNames(
@@ -89,6 +89,7 @@ interface SheetContentProps
89
89
  side?: SheetSideType;
90
90
  preventAutoFocusOnClose?: boolean;
91
91
  preventAutoFocusOnOpen?: boolean;
92
+ dataAnalytics?: string;
92
93
  }
93
94
 
94
95
  const SheetContent = React.forwardRef<
@@ -106,6 +107,7 @@ const SheetContent = React.forwardRef<
106
107
  preventAutoFocusOnOpen = true,
107
108
  onCloseAutoFocus,
108
109
  onOpenAutoFocus,
110
+ dataAnalytics,
109
111
  ...props
110
112
  },
111
113
  ref
@@ -160,6 +162,7 @@ const SheetContent = React.forwardRef<
160
162
  onCloseAutoFocus={handleCloseAutoFocus}
161
163
  onOpenAutoFocus={handleOpenAutoFocus}
162
164
  onKeyDownCapture={onKeyDownCapture}
165
+ data-analytics={dataAnalytics}
163
166
  {...props}
164
167
  >
165
168
  {children}
@@ -52,6 +52,7 @@ const TabsTrigger = React.forwardRef<
52
52
  >
53
53
  > & {
54
54
  isLoading?: boolean;
55
+ dataAnalytics?: string;
55
56
  } & Omit<LinkWrapperProps, "children" | "className">
56
57
  >(
57
58
  (
@@ -69,6 +70,7 @@ const TabsTrigger = React.forwardRef<
69
70
  variant = "ghost",
70
71
  isCounter = false,
71
72
  counterValue,
73
+ dataAnalytics,
72
74
  ...props
73
75
  },
74
76
  ref
@@ -95,6 +97,7 @@ const TabsTrigger = React.forwardRef<
95
97
  shallow={shallow}
96
98
  isCounter={isCounter}
97
99
  counterValue={counterValue}
100
+ dataAnalytics={dataAnalytics}
98
101
  className={cn(
99
102
  "s-relative",
100
103
  "after:s-absolute after:s-bottom-[-9px] after:s-left-1/2 after:s-h-[2px] after:s-w-full after:s--translate-x-1/2",
@@ -100,7 +100,7 @@ export const ToolCard = React.forwardRef<HTMLDivElement, ToolCardProps>(
100
100
  e.stopPropagation();
101
101
  toolInfo.onClick();
102
102
  }}
103
- className="s-cursor-pointer s-text-sm s-font-semibold s-text-muted-foreground hover:s-text-highlight-light hover:s-underline hover:s-underline-offset-2 dark:s-text-muted-foreground-night dark:hover:s-text-highlight-light-night"
103
+ className="s-heading-sm s-cursor-pointer s-text-muted-foreground hover:s-text-highlight-light hover:s-underline hover:s-underline-offset-2 dark:s-text-muted-foreground-night dark:hover:s-text-highlight-light-night"
104
104
  >
105
105
  {toolInfo.label}
106
106
  </a>
@@ -30,7 +30,7 @@ interface CardTitleProps {
30
30
  const Title = ({ className, children }: CardTitleProps) => (
31
31
  <div
32
32
  className={cn(
33
- "s-text-sm s-font-semibold",
33
+ "s-heading-sm",
34
34
  "s-text-foreground dark:s-text-foreground-night",
35
35
  className
36
36
  )}
@@ -10,7 +10,7 @@ const SvgAtom = (props: SVGProps<SVGSVGElement>) => (
10
10
  {...props}
11
11
  >
12
12
  <path
13
- fill="currentColor"
13
+ fill="#000"
14
14
  fillRule="evenodd"
15
15
  d="M14.974 2.284c.831-.248 1.733-.268 2.526.19.793.458 1.227 1.249 1.428 2.093.2.841.196 1.827.047 2.866-.029.196-.065.396-.104.599.196.068.387.137.571.21.975.39 1.83.88 2.46 1.474C22.531 10.313 23 11.084 23 12c0 .915-.468 1.687-1.099 2.283-.628.594-1.484 1.084-2.459 1.473-.184.074-.375.143-.57.211.038.204.074.404.103.6.15 1.039.153 2.025-.047 2.866-.201.844-.635 1.635-1.428 2.093-.793.458-1.695.438-2.526.19-.83-.247-1.681-.743-2.506-1.392a12.997 12.997 0 0 1-.468-.389c-.157.136-.312.266-.468.389-.825.649-1.677 1.145-2.506 1.392-.831.248-1.733.268-2.526-.19-.793-.458-1.227-1.249-1.428-2.093-.2-.841-.196-1.827-.047-2.866.029-.196.064-.396.103-.6a13.01 13.01 0 0 1-.57-.21c-.975-.39-1.83-.88-2.46-1.474C1.469 13.687 1 12.915 1 12c0-.916.468-1.687 1.099-2.284.628-.594 1.484-1.083 2.459-1.473.184-.074.374-.143.57-.211-.04-.203-.074-.403-.103-.599-.15-1.039-.153-2.025.047-2.866.201-.844.635-1.635 1.428-2.093.793-.458 1.695-.438 2.526-.19.83.247 1.681.743 2.506 1.392.156.123.312.253.468.388.156-.135.312-.265.468-.388.825-.649 1.677-1.145 2.506-1.392ZM7.06 16.502a10.7 10.7 0 0 0-.056.35c-.128.89-.11 1.605.013 2.118.121.51.319.73.482.825.163.094.452.155.955.005.506-.15 1.134-.492 1.84-1.049.092-.07.182-.146.274-.223a21.574 21.574 0 0 1-1.368-1.683 21.558 21.558 0 0 1-2.14-.343Zm9.878 0c-.677.145-1.394.26-2.141.343a21.577 21.577 0 0 1-1.368 1.683c.092.077.183.152.274.224.707.556 1.335.898 1.84 1.048.504.15.793.089.956-.006.163-.094.36-.314.482-.824.123-.513.141-1.229.013-2.119a10.715 10.715 0 0 0-.056-.35ZM12 17l-.114-.002.113.127.114-.127L12 17Zm0-8c-.582 0-1.15.022-1.698.061A23.841 23.841 0 0 0 8.605 12a23.888 23.888 0 0 0 1.697 2.939 23.855 23.855 0 0 0 3.395 0 23.915 23.915 0 0 0 1.697-2.94 23.902 23.902 0 0 0-1.697-2.937A23.853 23.853 0 0 0 12 9Zm4.33 5.5c-.019.033-.04.065-.058.098l.168-.035-.054-.163c-.02.033-.037.067-.056.1Zm-8.77.063.168.034-.058-.097-.057-.1-.053.163Zm10.808-4.59c-.212.66-.47 1.338-.772 2.027.301.688.56 1.366.772 2.025.113-.041.224-.082.331-.125.835-.334 1.445-.708 1.828-1.07.381-.36.473-.642.473-.83 0-.19-.092-.47-.473-.83-.383-.363-.993-.737-1.828-1.07a10.657 10.657 0 0 0-.33-.127Zm-12.737 0c-.113.041-.223.083-.33.126-.835.334-1.445.708-1.828 1.07-.381.36-.473.642-.473.83 0 .19.092.47.473.83.383.363.993.737 1.828 1.071.107.043.217.084.33.125.212-.659.471-1.337.772-2.025a21.546 21.546 0 0 1-.772-2.027Zm1.929-.537.053.162.057-.098.058-.098-.168.034Zm8.77.064.056.098.053-.162-.168-.035.06.099ZM8.455 4.2c-.503-.15-.792-.089-.955.006-.163.094-.36.314-.482.824-.123.513-.141 1.229-.013 2.119.016.114.035.23.056.349a21.543 21.543 0 0 1 2.14-.345c.446-.605.904-1.17 1.368-1.683-.091-.077-.183-.15-.273-.221-.707-.557-1.335-.898-1.84-1.05Zm8.045.006c-.163-.095-.452-.156-.955-.006-.506.15-1.134.492-1.84 1.049-.091.07-.184.144-.275.221a21.56 21.56 0 0 1 1.368 1.683c.747.083 1.464.199 2.14.345.021-.119.04-.235.057-.349.128-.89.11-1.606-.013-2.12-.121-.51-.319-.73-.482-.823ZM11.887 7 12 7h.112A17.69 17.69 0 0 0 12 6.874L11.887 7Z"
16
16
  clipRule="evenodd"
@@ -0,0 +1,18 @@
1
+ import type { SVGProps } from "react";
2
+ import * as React from "react";
3
+ const SvgArrowDownDash = (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="m13.5 17.5 5-5 2 2L12 23l-8.5-8.5 2-2 5 5V7h3v10.5ZM16 5H8V2h8v3Z"
15
+ />
16
+ </svg>
17
+ );
18
+ export default SvgArrowDownDash;
@@ -10,7 +10,7 @@ const SvgAtom = (props: SVGProps<SVGSVGElement>) => (
10
10
  {...props}
11
11
  >
12
12
  <path
13
- fill="currentColor"
13
+ fill="#000"
14
14
  fillRule="evenodd"
15
15
  d="M14.974 2.284c.831-.248 1.733-.268 2.526.19.793.458 1.227 1.249 1.428 2.093.2.841.196 1.827.047 2.866-.029.196-.065.396-.104.599.196.068.387.137.571.21.975.39 1.83.88 2.46 1.474C22.531 10.313 23 11.084 23 12c0 .915-.468 1.687-1.099 2.283-.628.594-1.484 1.084-2.459 1.473-.184.074-.375.143-.57.211.038.204.074.404.103.6.15 1.039.153 2.025-.047 2.866-.201.844-.635 1.635-1.428 2.093-.793.458-1.695.438-2.526.19-.83-.247-1.681-.743-2.506-1.392a12.997 12.997 0 0 1-.468-.389c-.157.136-.312.266-.468.389-.825.649-1.677 1.145-2.506 1.392-.831.248-1.733.268-2.526-.19-.793-.458-1.227-1.249-1.428-2.093-.2-.841-.196-1.827-.047-2.866.029-.196.064-.396.103-.6a13.01 13.01 0 0 1-.57-.21c-.975-.39-1.83-.88-2.46-1.474C1.469 13.687 1 12.915 1 12c0-.916.468-1.687 1.099-2.284.628-.594 1.484-1.083 2.459-1.473.184-.074.374-.143.57-.211-.04-.203-.074-.403-.103-.599-.15-1.039-.153-2.025.047-2.866.201-.844.635-1.635 1.428-2.093.793-.458 1.695-.438 2.526-.19.83.247 1.681.743 2.506 1.392.156.123.312.253.468.388.156-.135.312-.265.468-.388.825-.649 1.677-1.145 2.506-1.392ZM7.06 16.502a10.7 10.7 0 0 0-.056.35c-.128.89-.11 1.605.013 2.118.121.51.319.73.482.825.163.094.452.155.955.005.506-.15 1.134-.492 1.84-1.049.092-.07.182-.146.274-.223a21.574 21.574 0 0 1-1.368-1.683 21.558 21.558 0 0 1-2.14-.343Zm9.878 0c-.677.145-1.394.26-2.141.343a21.577 21.577 0 0 1-1.368 1.683c.092.077.183.152.274.224.707.556 1.335.898 1.84 1.048.504.15.793.089.956-.006.163-.094.36-.314.482-.824.123-.513.141-1.229.013-2.119a10.715 10.715 0 0 0-.056-.35ZM12 17l-.114-.002.113.127.114-.127L12 17Zm0-8c-.582 0-1.15.022-1.698.061A23.841 23.841 0 0 0 8.605 12a23.888 23.888 0 0 0 1.697 2.939 23.855 23.855 0 0 0 3.395 0 23.915 23.915 0 0 0 1.697-2.94 23.902 23.902 0 0 0-1.697-2.937A23.853 23.853 0 0 0 12 9Zm4.33 5.5c-.019.033-.04.065-.058.098l.168-.035-.054-.163c-.02.033-.037.067-.056.1Zm-8.77.063.168.034-.058-.097-.057-.1-.053.163Zm10.808-4.59c-.212.66-.47 1.338-.772 2.027.301.688.56 1.366.772 2.025.113-.041.224-.082.331-.125.835-.334 1.445-.708 1.828-1.07.381-.36.473-.642.473-.83 0-.19-.092-.47-.473-.83-.383-.363-.993-.737-1.828-1.07a10.657 10.657 0 0 0-.33-.127Zm-12.737 0c-.113.041-.223.083-.33.126-.835.334-1.445.708-1.828 1.07-.381.36-.473.642-.473.83 0 .19.092.47.473.83.383.363.993.737 1.828 1.071.107.043.217.084.33.125.212-.659.471-1.337.772-2.025a21.546 21.546 0 0 1-.772-2.027Zm1.929-.537.053.162.057-.098.058-.098-.168.034Zm8.77.064.056.098.053-.162-.168-.035.06.099ZM8.455 4.2c-.503-.15-.792-.089-.955.006-.163.094-.36.314-.482.824-.123.513-.141 1.229-.013 2.119.016.114.035.23.056.349a21.543 21.543 0 0 1 2.14-.345c.446-.605.904-1.17 1.368-1.683-.091-.077-.183-.15-.273-.221-.707-.557-1.335-.898-1.84-1.05Zm8.045.006c-.163-.095-.452-.156-.955-.006-.506.15-1.134.492-1.84 1.049-.091.07-.184.144-.275.221a21.56 21.56 0 0 1 1.368 1.683c.747.083 1.464.199 2.14.345.021-.119.04-.235.057-.349.128-.89.11-1.606-.013-2.12-.121-.51-.319-.73-.482-.823ZM11.887 7 12 7h.112A17.69 17.69 0 0 0 12 6.874L11.887 7Z"
16
16
  clipRule="evenodd"
@@ -1,6 +1,7 @@
1
1
  export { default as ArrowCircleIcon } from "./ArrowCircle";
2
2
  export { default as ArrowDownIcon } from "./ArrowDown";
3
3
  export { default as ArrowDownCircleIcon } from "./ArrowDownCircle";
4
+ export { default as ArrowDownDashIcon } from "./ArrowDownDash";
4
5
  export { default as ArrowDownOnSquareIcon } from "./ArrowDownOnSquare";
5
6
  export { default as ArrowDownSIcon } from "./ArrowDownS";
6
7
  export { default as ArrowGoBackIcon } from "./ArrowGoBack";
@@ -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="M13.5 17.5L18.5 12.5L20.5 14.5L12 23L3.5 14.5L5.5 12.5L10.5 17.5V7H13.5V17.5ZM16 5H8V2H16V5Z" fill="#111418"/>
3
+ </svg>