@dust-tt/sparkle 0.2.454 → 0.2.455

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 (49) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/AnimatedText.d.ts +1 -1
  3. package/dist/esm/components/AnimatedText.d.ts.map +1 -1
  4. package/dist/esm/components/AnimatedText.js +32 -8
  5. package/dist/esm/components/AnimatedText.js.map +1 -1
  6. package/dist/esm/components/Avatar.d.ts.map +1 -1
  7. package/dist/esm/components/Avatar.js +8 -24
  8. package/dist/esm/components/Avatar.js.map +1 -1
  9. package/dist/esm/components/Button.d.ts +1 -1
  10. package/dist/esm/components/Chip.d.ts +1 -1
  11. package/dist/esm/components/Chip.d.ts.map +1 -1
  12. package/dist/esm/components/Chip.js +36 -10
  13. package/dist/esm/components/Chip.js.map +1 -1
  14. package/dist/esm/components/ColorPicker.js +1 -1
  15. package/dist/esm/components/ColorPicker.js.map +1 -1
  16. package/dist/esm/components/ContentMessage.d.ts +1 -1
  17. package/dist/esm/components/ContentMessage.d.ts.map +1 -1
  18. package/dist/esm/components/ContentMessage.js +59 -14
  19. package/dist/esm/components/ContentMessage.js.map +1 -1
  20. package/dist/esm/components/Counter.d.ts +1 -1
  21. package/dist/esm/components/Hoverable.d.ts +1 -1
  22. package/dist/esm/components/PriceTable.d.ts.map +1 -1
  23. package/dist/esm/components/PriceTable.js +0 -7
  24. package/dist/esm/components/PriceTable.js.map +1 -1
  25. package/dist/esm/stories/Avatar.stories.js +3 -3
  26. package/dist/esm/stories/Avatar.stories.js.map +1 -1
  27. package/dist/esm/stories/Chip.stories.d.ts +3 -3
  28. package/dist/esm/stories/ColorPalette.stories.d.ts +2 -1
  29. package/dist/esm/stories/ColorPalette.stories.d.ts.map +1 -1
  30. package/dist/esm/stories/ColorPalette.stories.js +65 -13
  31. package/dist/esm/stories/ColorPalette.stories.js.map +1 -1
  32. package/dist/esm/stories/ColorPicker.stories.d.ts.map +1 -1
  33. package/dist/esm/stories/ColorPicker.stories.js +48 -128
  34. package/dist/esm/stories/ColorPicker.stories.js.map +1 -1
  35. package/dist/esm/stories/ContentMessage.stories.js +8 -8
  36. package/dist/esm/stories/ContentMessage.stories.js.map +1 -1
  37. package/dist/esm/stories/IconButton.stories.d.ts +1 -1
  38. package/dist/sparkle.css +340 -1437
  39. package/package.json +1 -1
  40. package/src/components/AnimatedText.tsx +64 -19
  41. package/src/components/Avatar.tsx +8 -24
  42. package/src/components/Chip.tsx +72 -22
  43. package/src/components/ColorPicker.tsx +1 -1
  44. package/src/components/ContentMessage.tsx +68 -14
  45. package/src/components/PriceTable.tsx +0 -8
  46. package/src/stories/Avatar.stories.tsx +3 -3
  47. package/src/stories/ColorPalette.stories.tsx +83 -2
  48. package/src/stories/ColorPicker.stories.tsx +48 -128
  49. package/src/stories/ContentMessage.stories.tsx +8 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dust-tt/sparkle",
3
- "version": "0.2.454",
3
+ "version": "0.2.455",
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",
@@ -4,30 +4,75 @@ import React, { ReactNode } from "react";
4
4
  import { cn } from "@sparkle/lib/utils";
5
5
 
6
6
  const ANIMATED_TEXT_VARIANTS = [
7
+ "primary",
7
8
  "muted",
9
+ "white",
8
10
  "highlight",
11
+ "success",
12
+ "warning",
13
+ "info",
14
+ "green",
15
+ "blue",
16
+ "rose",
17
+ "golden",
18
+ //to be removed
9
19
  "emerald",
10
20
  "amber",
11
21
  "slate",
12
22
  "purple",
13
- "warning",
14
23
  "sky",
15
24
  "pink",
16
25
  "red",
17
- "white",
18
26
  ] as const;
19
27
 
20
28
  type AnimatedTextVariantType = (typeof ANIMATED_TEXT_VARIANTS)[number];
21
29
 
22
30
  const animatedVariants: Record<AnimatedTextVariantType, string> = {
31
+ primary: cn(
32
+ "s-from-primary-800 s-via-primary-950 s-via-50% s-to-primary-800",
33
+ "dark:s-from-primary-800-night dark:s-via-primary-950-night dark:s-via-50% dark:s-to-primary-800-night"
34
+ ),
23
35
  muted: cn(
24
36
  "s-from-transparent s-via-primary-950/80 s-via-50% s-to-transparent",
25
37
  "dark:s-from-transparent dark:s-via-primary-50/80 dark:s-via-50% dark:s-to-transparent"
26
38
  ),
39
+ white: cn(
40
+ "s-from-primary-600 s-via-primary-950 s-via-50% s-to-primary-600",
41
+ "dark:s-from-primary-600-night dark:s-via-primary-950-night dark:s-via-50% dark:s-to-primary-600-night"
42
+ ),
27
43
  highlight: cn(
28
44
  "s-from-highlight s-via-highlight-800 s-via-50% s-to-highlight",
29
45
  "dark:s-from-highlight-night dark:s-via-highlight-800-night dark:s-via-50% dark:s-to-highlight-night"
30
46
  ),
47
+ warning: cn(
48
+ "s-from-warning-800 s-via-warning-950 s-via-50% s-to-warning-800",
49
+ "dark:s-from-warning-800-night dark:s-via-warning-950-night dark:s-via-50% dark:s-to-warning-800-night"
50
+ ),
51
+ success: cn(
52
+ "s-from-success-800 s-via-success-950 s-via-50% s-to-success-800",
53
+ "dark:s-from-success-800-night dark:s-via-success-950-night dark:s-via-50% dark:s-to-success-800-night"
54
+ ),
55
+ info: cn(
56
+ "s-from-info-800 s-via-info-950 s-via-50% s-to-info-800",
57
+ "dark:s-from-info-800-night dark:s-via-info-950-night dark:s-via-50% dark:s-to-info-800-night"
58
+ ),
59
+ green: cn(
60
+ "s-from-emerald-800 s-via-emerald-950 s-via-50% s-to-emerald-800",
61
+ "dark:s-from-emerald-800-night dark:s-via-emerald-950-night dark:s-via-50% dark:s-to-emerald-800-night"
62
+ ),
63
+ blue: cn(
64
+ "s-from-sky-800 s-via-sky-950 s-via-50% s-to-sky-800",
65
+ "dark:s-from-sky-800-night dark:s-via-sky-950-night dark:s-via-50% dark:s-to-sky-800-night"
66
+ ),
67
+ rose: cn(
68
+ "s-from-rose-800 s-via-rose-950 s-via-50% s-to-rose-800",
69
+ "dark:s-from-rose-800-night dark:s-via-rose-950-night dark:s-via-50% dark:s-to-rose-800-night"
70
+ ),
71
+ golden: cn(
72
+ "s-from-golden-800 s-via-golden-950 s-via-50% s-to-golden-800",
73
+ "dark:s-from-golden-800-night dark:s-via-golden-950-night dark:s-via-50% dark:s-to-golden-800-night"
74
+ ),
75
+ // To be removed
31
76
  emerald: cn(
32
77
  "s-from-emerald-800 s-via-emerald-950 s-via-50% s-to-emerald-800",
33
78
  "dark:s-from-emerald-800-night dark:s-via-emerald-950-night dark:s-via-50% dark:s-to-emerald-800-night"
@@ -36,9 +81,13 @@ const animatedVariants: Record<AnimatedTextVariantType, string> = {
36
81
  "s-from-amber-800 s-via-amber-950 s-via-50% s-to-amber-800",
37
82
  "dark:s-from-amber-800-night dark:s-via-amber-950-night dark:s-via-50% dark:s-to-amber-800-night"
38
83
  ),
39
- white: cn(
40
- "s-from-primary-600 s-via-primary-950 s-via-50% s-to-primary-600",
41
- "dark:s-from-primary-600-night dark:s-via-primary-950-night dark:s-via-50% dark:s-to-primary-600-night"
84
+ red: cn(
85
+ "s-from-red-800 s-via-red-950 s-via-50% s-to-red-800",
86
+ "dark:s-from-red-800-night dark:s-via-red-950-night dark:s-via-50% dark:s-to-red-800-night"
87
+ ),
88
+ sky: cn(
89
+ "s-from-sky-800 s-via-sky-950 s-via-50% s-to-sky-800",
90
+ "dark:s-from-sky-800-night dark:s-via-sky-950-night dark:s-via-50% dark:s-to-sky-800-night"
42
91
  ),
43
92
  slate: cn(
44
93
  "s-from-primary-600 s-via-primary-950 s-via-50% s-to-primary-600",
@@ -48,22 +97,10 @@ const animatedVariants: Record<AnimatedTextVariantType, string> = {
48
97
  "s-from-purple-800 s-via-purple-950 s-via-50% s-to-purple-800",
49
98
  "dark:s-from-purple-800-night dark:s-via-purple-950-night dark:s-via-50% dark:s-to-purple-800-night"
50
99
  ),
51
- warning: cn(
52
- "s-from-warning-800 s-via-warning-950 s-via-50% s-to-warning-800",
53
- "dark:s-from-warning-800-night dark:s-via-warning-950-night dark:s-via-50% dark:s-to-warning-800-night"
54
- ),
55
- sky: cn(
56
- "s-from-sky-800 s-via-sky-950 s-via-50% s-to-sky-800",
57
- "dark:s-from-sky-800-night dark:s-via-sky-950-night dark:s-via-50% dark:s-to-sky-800-night"
58
- ),
59
100
  pink: cn(
60
101
  "s-from-pink-800 s-via-pink-950 s-via-50% s-to-pink-800",
61
102
  "dark:s-from-pink-800-night dark:s-via-pink-950-night dark:s-via-50% dark:s-to-pink-800-night"
62
103
  ),
63
- red: cn(
64
- "s-from-red-800 s-via-red-950 s-via-50% s-to-red-800",
65
- "dark:s-from-red-800-night dark:s-via-red-950-night dark:s-via-50% dark:s-to-red-800-night"
66
- ),
67
104
  };
68
105
 
69
106
  const animVariants = cva(
@@ -79,14 +116,22 @@ const animVariants = cva(
79
116
  );
80
117
 
81
118
  const animatedTextVariants: Record<AnimatedTextVariantType, string> = {
119
+ primary: "s-text-primary-800 dark:s-text-primary-800-night",
120
+ white: "s-text-muted-foreground dark:s-text-muted-foreground-night",
82
121
  muted: "s-text-muted-foreground dark:s-text-muted-foreground-night",
83
122
  highlight: "s-text-highlight dark:s-text-highlight-night",
123
+ success: "s-text-success-800 dark:s-text-success-800-night",
124
+ info: "s-text-info-800 dark:s-text-info-800-night",
125
+ warning: "s-text-warning-800 dark:s-text-warning-800-night",
126
+ green: "s-text-emerald-800 dark:s-text-emerald-800-night",
127
+ blue: "s-text-sky-800 dark:s-text-sky-800-night",
128
+ rose: "s-text-rose-800 dark:s-text-rose-800-night",
129
+ golden: "s-text-golden-800 dark:s-text-rose-golden-night",
130
+ //To be removed
84
131
  emerald: "s-text-emerald-800 dark:s-text-emerald-800-night",
85
132
  amber: "s-text-amber-800 dark:s-text-amber-800-night",
86
133
  slate: "s-text-muted-foreground dark:s-text-muted-foreground-night",
87
- white: "s-text-muted-foreground dark:s-text-muted-foreground-night",
88
134
  purple: "s-text-purple-800 dark:s-text-purple-800-night",
89
- warning: "s-text-warning-800 dark:s-text-warning-800-night",
90
135
  sky: "s-text-sky-800 dark:s-text-sky-800-night",
91
136
  pink: "s-text-pink-800 dark:s-text-pink-800-night",
92
137
  red: "s-text-red-800 dark:s-text-red-800-night",
@@ -106,22 +106,14 @@ const getColor = (name: string) => {
106
106
  hash = name.charCodeAt(i) + ((hash << 5) - hash);
107
107
  }
108
108
  const colors = [
109
+ "s-bg-blue-300",
110
+ "s-bg-violet-300",
111
+ "s-bg-pink-300",
109
112
  "s-bg-red-300",
110
113
  "s-bg-orange-300",
111
- "s-bg-amber-300",
112
- "s-bg-yellow-300",
114
+ "s-bg-golden-300",
113
115
  "s-bg-lime-300",
114
- "s-bg-green-300",
115
116
  "s-bg-emerald-300",
116
- "s-bg-teal-300",
117
- "s-bg-cyan-300",
118
- "s-bg-sky-300",
119
- "s-bg-blue-300",
120
- "s-bg-indigo-300",
121
- "s-bg-violet-300",
122
- "s-bg-purple-300",
123
- "s-bg-fuchsia-300",
124
- "s-bg-rose-300",
125
117
  ];
126
118
  return colors[Math.abs(hash) % colors.length];
127
119
  };
@@ -135,22 +127,14 @@ const getTextVariant = (name: string) => {
135
127
  hash = name.charCodeAt(i) + ((hash << 5) - hash);
136
128
  }
137
129
  const txtColors = [
130
+ "s-text-blue-700",
131
+ "s-text-violet-700",
132
+ "s-text-pink-700",
138
133
  "s-text-red-700",
139
134
  "s-text-orange-700",
140
- "s-text-amber-700",
141
- "s-text-yellow-700",
135
+ "s-text-golden-700",
142
136
  "s-text-lime-700",
143
- "s-text-green-700",
144
137
  "s-text-emerald-700",
145
- "s-text-teal-700",
146
- "s-text-cyan-700",
147
- "s-text-sky-700",
148
- "s-text-blue-700",
149
- "s-text-indigo-700",
150
- "s-text-violet-700",
151
- "s-text-purple-700",
152
- "s-text-fuchsia-700",
153
- "s-text-rose-700",
154
138
  ];
155
139
  return txtColors[Math.abs(hash) % txtColors.length];
156
140
  };
@@ -16,15 +16,23 @@ export const CHIP_SIZES = ["xs", "sm"] as const;
16
16
  type ChipSizeType = (typeof CHIP_SIZES)[number];
17
17
 
18
18
  export const CHIP_COLORS = [
19
+ "primary",
20
+ "white",
21
+ "success",
22
+ "warning",
23
+ "info",
24
+ "highlight",
25
+ "green",
26
+ "blue",
27
+ "rose",
28
+ "golden",
19
29
  "emerald",
20
30
  "amber",
21
31
  "slate",
22
- "purple",
23
- "warning",
24
32
  "sky",
25
33
  "pink",
26
34
  "red",
27
- "white",
35
+ "purple",
28
36
  ] as const;
29
37
 
30
38
  type ChipColorType = (typeof CHIP_COLORS)[number];
@@ -35,6 +43,55 @@ const sizeVariants: Record<ChipSizeType, string> = {
35
43
  };
36
44
 
37
45
  const backgroundVariants: Record<ChipColorType, string> = {
46
+ primary: cn(
47
+ "s-bg-muted-background s-border-border",
48
+ "dark:s-bg-muted-background-night dark:s-border-border-night"
49
+ ),
50
+ white: cn(
51
+ "s-bg-background s-border-border",
52
+ "dark:s-bg-muted-background-night dark:s-border-border-night"
53
+ ),
54
+ highlight: cn(
55
+ "s-bg-highlight-100 s-border-highlight-200",
56
+ "dark:s-bg-highlight-100-night dark:s-border-highlight-200-night"
57
+ ),
58
+ success: cn(
59
+ "s-bg-success-100 s-border-success-200",
60
+ "dark:s-bg-success-100-night dark:s-border-success-200-night"
61
+ ),
62
+ info: cn(
63
+ "s-bg-info-100 s-border-info-200",
64
+ "dark:s-bg-info-100-night dark:s-border-info-200-night"
65
+ ),
66
+ warning: cn(
67
+ "s-bg-warning-100 s-border-warning-200",
68
+ "dark:s-bg-warning-100-night dark:s-border-warning-200-night"
69
+ ),
70
+ green: cn(
71
+ "s-bg-green-100 s-border-green-200",
72
+ "dark:s-bg-green-100-night dark:s-border-green-200-night"
73
+ ),
74
+ blue: cn(
75
+ "s-bg-sky-100 s-border-sky-200",
76
+ "dark:s-bg-sky-100-night dark:s-border-sky-200-night"
77
+ ),
78
+ rose: cn(
79
+ "s-bg-rose-100 s-border-rose-200",
80
+ "dark:s-bg-rose-100-night dark:s-border-rose-200-night"
81
+ ),
82
+ golden: cn(
83
+ "s-bg-golden-100 s-border-golden-200",
84
+ "dark:s-bg-golden-100-night dark:s-border-golden-200-night"
85
+ ),
86
+ // To be removed
87
+ slate: cn(
88
+ "s-bg-muted-background s-border-border",
89
+ "dark:s-bg-muted-background-night dark:s-border-border-night"
90
+ ),
91
+ red: cn(
92
+ "s-bg-red-100 s-border-red-200",
93
+ "dark:s-bg-red-100-night dark:s-border-red-200-night"
94
+ ),
38
95
  emerald: cn(
39
96
  "s-bg-emerald-100 s-border-emerald-200",
40
97
  "dark:s-bg-emerald-100-night dark:s-border-emerald-200-night"
@@ -43,22 +100,10 @@ const backgroundVariants: Record<ChipColorType, string> = {
43
100
  "s-bg-amber-100 s-border-amber-200",
44
101
  "dark:s-bg-amber-100-night dark:s-border-amber-200-night"
45
102
  ),
46
- slate: cn(
47
- "s-bg-muted-background s-border-border",
48
- "dark:s-bg-muted-background-night dark:s-border-border-night"
49
- ),
50
103
  purple: cn(
51
104
  "s-bg-purple-100 s-border-purple-200",
52
105
  "dark:s-bg-purple-100-night dark:s-border-purple-200-night"
53
106
  ),
54
- white: cn(
55
- "s-bg-background s-border-border",
56
- "dark:s-bg-muted-background-night dark:s-border-border-night"
57
- ),
58
- warning: cn(
59
- "s-bg-warning-100 s-border-warning-200",
60
- "dark:s-bg-warning-100-night dark:s-border-warning-200-night"
61
- ),
62
107
  sky: cn(
63
108
  "s-bg-sky-100 s-border-sky-200",
64
109
  "dark:s-bg-sky-100-night dark:s-border-sky-200-night"
@@ -67,22 +112,27 @@ const backgroundVariants: Record<ChipColorType, string> = {
67
112
  "s-bg-pink-100 s-border-pink-200",
68
113
  "dark:s-bg-pink-100-night dark:s-border-pink-200-night"
69
114
  ),
70
- red: cn(
71
- "s-bg-red-100 s-border-red-200",
72
- "dark:s-bg-red-100-night dark:s-border-red-200-night"
73
- ),
74
115
  };
75
116
 
76
117
  const textVariants: Record<ChipColorType, string> = {
118
+ primary: "s-text-primary-900 dark:s-text-primary-900-night",
119
+ white: "s-text-foreground dark:s-text-foreground-night",
120
+ highlight: "s-text-highlight-900 dark:s-text-highlight-900-night",
121
+ success: "s-text-success-900 dark:s-text-success-900-night",
122
+ warning: "s-text-warning-900 dark:s-text-warning-900-night",
123
+ info: "s-text-info-900 dark:s-text-info-900-night",
124
+ green: "s-text-green-900 dark:s-text-green-900-night",
125
+ blue: "s-text-sky-900 dark:s-text-sky-900-night",
126
+ rose: "s-text-rose-900 dark:s-text-rose-900-night",
127
+ golden: "s-text-golden-900 dark:s-text-golden-900-night",
128
+ // To be removed
77
129
  emerald: "s-text-emerald-900 dark:s-text-emerald-900-night",
78
130
  amber: "s-text-amber-900 dark:s-text-amber-900-night",
79
131
  slate: "s-text-foreground dark:s-text-foreground-night",
80
- purple: "s-text-purple-900 dark:s-text-purple-900-night",
81
- warning: "s-text-warning-900 dark:s-text-warning-900-night",
82
132
  sky: "s-text-sky-900 dark:s-text-sky-900-night",
83
133
  pink: "s-text-pink-900 dark:s-text-pink-900-night",
84
134
  red: "s-text-red-900 dark:s-text-red-900-night",
85
- white: "s-text-foreground dark:s-text-foreground-night",
135
+ purple: "s-text-purple-900 dark:s-text-purple-900-night",
86
136
  };
87
137
 
88
138
  const chipVariants = cva("s-inline-flex s-box-border s-items-center", {
@@ -24,7 +24,7 @@ export function ColorPicker<T extends string>({
24
24
  onColorSelect,
25
25
  }: ColorPickerProps<T>) {
26
26
  return (
27
- <div className="s-grid-rows-20 w-auto s-grid s-grid-cols-8 s-gap-1.5 s-rounded s-p-2 s-shadow-lg">
27
+ <div className="s-grid-rows-20 w-auto s-grid s-grid-cols-8 s-gap-1.5 s-rounded s-p-2">
28
28
  {colors.map((color) => {
29
29
  return (
30
30
  <ColorSwatch
@@ -9,11 +9,20 @@ const CONTENT_MESSAGE_VARIANTS = [
9
9
  "amber",
10
10
  "slate",
11
11
  "purple",
12
- "warning",
13
12
  "sky",
14
13
  "pink",
15
14
  "action",
16
15
  "red",
16
+ //New variants
17
+ "primary",
18
+ "warning",
19
+ "success",
20
+ "highlight",
21
+ "info",
22
+ "green",
23
+ "blue",
24
+ "rose",
25
+ "golden",
17
26
  ] as const;
18
27
 
19
28
  type ContentMessageVariantType = (typeof CONTENT_MESSAGE_VARIANTS)[number];
@@ -23,20 +32,38 @@ const CONTENT_MESSAGE_SIZES = ["sm", "md", "lg"] as const;
23
32
  type ContentMessageSizeType = (typeof CONTENT_MESSAGE_SIZES)[number];
24
33
 
25
34
  const contentMessageVariants = cva(
26
- "s-flex s-flex-col s-gap-1 s-rounded-2xl s-p-4",
35
+ "s-flex s-flex-col s-gap-1 s-rounded-2xl s-p-4 s-border",
27
36
  {
28
37
  variants: {
29
38
  variant: {
30
- emerald: "s-bg-green-100 dark:s-bg-green-100-night",
31
- amber: "s-bg-golden-100 dark:s-bg-golden-100-night",
39
+ emerald:
40
+ "s-bg-green-100 dark:s-bg-green-100-night s-border-transparent",
41
+ amber:
42
+ "s-bg-golden-100 dark:s-bg-golden-100-night s-border-transparent",
32
43
  slate:
33
44
  "s-bg-muted-background dark:s-bg-muted-background-night s-border s-border-border dark:s-border-border-night",
34
- purple: "s-bg-purple-100 dark:s-bg-purple-100-night",
35
- warning: "s-bg-warning-100 dark:s-bg-warning-100-night",
36
- sky: "s-bg-sky-100 dark:s-bg-sky-100-night",
37
- pink: "s-bg-pink-100 dark:s-bg-pink-100-night",
38
- action: "s-bg-highlight-100 dark:s-bg-highlight-100-night",
39
- red: "s-bg-red-100 dark:s-bg-red-100-night",
45
+ purple:
46
+ "s-bg-purple-100 dark:s-bg-purple-100-night s-border-transparent",
47
+ sky: "s-bg-sky-100 dark:s-bg-sky-100-night s-border-transparent",
48
+ pink: "s-bg-pink-100 dark:s-bg-pink-100-night s-border-transparent",
49
+ action:
50
+ "s-bg-highlight-100 dark:s-bg-highlight-100-night s-border-transparent",
51
+ red: "s-bg-red-100 dark:s-bg-red-100-night s-border-transparent",
52
+ // tbr
53
+ primary:
54
+ "s-bg-muted-background dark:s-bg-muted-background-night s-border-border dark:s-border-border-night",
55
+ success:
56
+ "s-bg-success-100 dark:s-bg-success-100-night s-border-transparent",
57
+ warning:
58
+ "s-bg-warning-100 dark:s-bg-warning-100-night s-border-transparent",
59
+ highlight:
60
+ "s-bg-highlight-100 dark:s-bg-highlight-100-night s-border-transparent",
61
+ info: "s-bg-info-100 dark:s-bg-info-100-night s-border-transparent",
62
+ green: "s-bg-green-100 dark:s-bg-green-100-night s-border-transparent",
63
+ blue: "s-bg-blue-100 dark:s-bg-blue-100-night s-border-transparent",
64
+ rose: "s-bg-rose-100 dark:s-bg-rose-100-night s-border-transparent",
65
+ golden:
66
+ "s-bg-golden-100 dark:s-bg-golden-100-night s-border-transparent",
40
67
  },
41
68
  size: {
42
69
  lg: "",
@@ -45,7 +72,7 @@ const contentMessageVariants = cva(
45
72
  },
46
73
  },
47
74
  defaultVariants: {
48
- variant: "amber",
75
+ variant: "info",
49
76
  size: "md",
50
77
  },
51
78
  }
@@ -58,11 +85,20 @@ const iconVariants = cva("s-shrink-0", {
58
85
  amber: "s-text-golden-800 dark:s-text-golden-800-night",
59
86
  slate: "s-text-primary-800 dark:s-text-primary-800-night",
60
87
  purple: "s-text-purple-800 dark:s-text-purple-800-night",
61
- warning: "s-text-warning-800 dark:s-text-warning-800-night",
62
88
  sky: "s-text-sky-800 dark:s-text-sky-800-night",
63
89
  pink: "s-text-pink-800 dark:s-text-pink-800-night",
64
90
  action: "s-text-highlight-800 dark:s-text-highlight-800-night",
65
91
  red: "s-text-red-800 dark:s-text-red-800-night",
92
+ // tbr
93
+ primary: "s-text-primary-800 dark:s-text-primary-800-night",
94
+ warning: "s-text-warning-800 dark:s-text-warning-800-night",
95
+ success: "s-text-success-800 dark:s-text-success-800-night",
96
+ highlight: "s-text-highlight-800 dark:s-text-highlight-800-night",
97
+ info: "s-text-info-800 dark:s-text-info-800-night",
98
+ green: "s-text-green-800 dark:s-text-green-800-night",
99
+ blue: "s-text-blue-800 dark:s-text-blue-800-night",
100
+ rose: "s-text-rose-800 dark:s-text-rose-800-night",
101
+ golden: "s-text-golden-800 dark:s-text-golden-800-night",
66
102
  },
67
103
  },
68
104
  });
@@ -74,11 +110,20 @@ const titleVariants = cva("s-text-sm s-font-semibold", {
74
110
  amber: "s-text-golden-800 dark:s-text-golden-800-night",
75
111
  slate: "s-text-foreground dark:s-text-foreground-night",
76
112
  purple: "s-text-purple-800 dark:s-text-purple-800-night",
77
- warning: "s-text-warning-800 dark:s-text-warning-800-night",
78
113
  sky: "s-text-sky-800 dark:s-text-sky-800-night",
79
114
  pink: "s-text-pink-800 dark:s-text-pink-800-night",
80
115
  action: "s-text-highlight-800 dark:s-text-highlight-800-night",
81
116
  red: "s-text-red-800 dark:s-text-red-800-night",
117
+ // tbr
118
+ primary: "s-text-foreground dark:s-text-foreground-night",
119
+ warning: "s-text-warning-800 dark:s-text-warning-800-night",
120
+ success: "s-text-success-800 dark:s-text-success-800-night",
121
+ highlight: "s-text-highlight-800 dark:s-text-highlight-800-night",
122
+ info: "s-text-info-800 dark:s-text-info-800-night",
123
+ green: "s-text-green-800 dark:s-text-green-800-night",
124
+ blue: "s-text-blue-800 dark:s-text-blue-800-night",
125
+ rose: "s-text-rose-800 dark:s-text-rose-800-night",
126
+ golden: "s-text-golden-800 dark:s-text-golden-800-night",
82
127
  },
83
128
  },
84
129
  });
@@ -90,11 +135,20 @@ const textVariants = cva("s-text-sm", {
90
135
  amber: "s-text-golden-950 dark:s-text-golden-950-night",
91
136
  slate: "s-text-muted-foreground dark:s-text-muted-foreground-night",
92
137
  purple: "s-text-purple-950 dark:s-text-purple-950-night",
93
- warning: "s-text-warning-950 dark:s-text-warning-950-night",
94
138
  sky: "s-text-sky-950 dark:s-text-sky-950-night",
95
139
  pink: "s-text-pink-950 dark:s-text-pink-950-night",
96
140
  action: "s-text-highlight-950 dark:s-text-highlight-950-night",
97
141
  red: "s-text-red-950 dark:s-text-red-950-night",
142
+ // tbr
143
+ primary: "s-text-muted-foreground dark:s-text-muted-foreground-night",
144
+ warning: "s-text-warning-950 dark:s-text-warning-950-night",
145
+ success: "s-text-success-950 dark:s-text-success-950-night",
146
+ highlight: "s-text-highlight-950 dark:s-text-highlight-950-night",
147
+ info: "s-text-info-950 dark:s-text-info-950-night",
148
+ green: "s-text-green-950 dark:s-text-green-950-night",
149
+ blue: "s-text-blue-950 dark:s-text-blue-950-night",
150
+ rose: "s-text-rose-950 dark:s-text-rose-950-night",
151
+ golden: "s-text-golden-950 dark:s-text-golden-950-night",
98
152
  },
99
153
  },
100
154
  });
@@ -24,14 +24,6 @@ const colorTable = {
24
24
  emerald: "s-bg-brand-tea-green",
25
25
  };
26
26
 
27
- // const colorTable = {
28
- // pink: "s-bg-brand-support-rose",
29
- // amber: "s-bg-brand-support-golden ",
30
- // sky: "s-bg-brand-support-blue",
31
- // blue: "s-bg-brand-support-blue",
32
- // emerald: "s-bg-brand-support-green",
33
- // };
34
-
35
27
  const textColorTable = {
36
28
  pink: " s-text-brand-red-rose",
37
29
  amber: "s-text-brand-orange-golden",
@@ -48,10 +48,10 @@ export const AvatarExample = () => (
48
48
  <div className="s-flex s-gap-4">
49
49
  <Avatar size="xs" emoji="❤️" backgroundColor="s-bg-red-100" />
50
50
  <Avatar size="sm" emoji="💀" backgroundColor="s-bg-gray-800" />
51
- <Avatar size="md" emoji="😂" backgroundColor="s-bg-amber-200" />
51
+ <Avatar size="md" emoji="😂" backgroundColor="s-bg-info-200" />
52
52
  <Avatar size="lg" emoji="🧑‍🚀" backgroundColor="s-bg-gray-200" />
53
- <Avatar size="xl" emoji="👕" backgroundColor="s-bg-sky-200" />
54
- <Avatar size="xxl" emoji="👕" backgroundColor="s-bg-sky-200" />
53
+ <Avatar size="xl" emoji="👕" backgroundColor="s-bg-blue-200" />
54
+ <Avatar size="xxl" emoji="👕" backgroundColor="s-bg-blue-200" />
55
55
  </div>
56
56
  <div className="s-flex s-gap-4">
57
57
  <Avatar size="sm" name="Eleanor Wright" />
@@ -18,6 +18,16 @@ const semanticColorFamilies = [
18
18
  "warning",
19
19
  "info",
20
20
  ] as const;
21
+ const extendedColorFamilies = [
22
+ "blue",
23
+ "violet",
24
+ "pink",
25
+ "red",
26
+ "orange",
27
+ "golden",
28
+ "lime",
29
+ "emerald",
30
+ ] as const;
21
31
 
22
32
  // Shades to display for each color
23
33
  const shades = [
@@ -34,6 +44,21 @@ const shades = [
34
44
  "950",
35
45
  ] as const;
36
46
 
47
+ const semanticShades = [
48
+ "50",
49
+ "100",
50
+ "200",
51
+ "300",
52
+ "400",
53
+ "500",
54
+ "600",
55
+ "700",
56
+ "800",
57
+ "900",
58
+ "950",
59
+ "muted",
60
+ ] as const;
61
+
37
62
  const ColorSwatch = ({
38
63
  colorClass,
39
64
  label,
@@ -63,9 +88,15 @@ const ColorSwatch = ({
63
88
  </div>
64
89
  );
65
90
 
66
- export const ColorPalette = () => {
91
+ export const UIColorPalette = () => {
67
92
  return (
68
93
  <div className="s-flex s-flex-col s-gap-8">
94
+ <div className="s-flex s-flex-col s-gap-2">
95
+ <h2 className="s-text-xl s-font-semibold">UI Color Palette</h2>
96
+ <p className="s-text-sm s-text-primary-600 dark:s-text-primary-400">
97
+ Colors to use in the UI for all direct color references.
98
+ </p>
99
+ </div>
69
100
  {colorFamilies.map((family) => (
70
101
  <div key={family} className="s-flex s-flex-col s-gap-4">
71
102
  <h3 className="s-text-lg s-font-semibold s-capitalize">{family}</h3>
@@ -88,11 +119,17 @@ export const ColorPalette = () => {
88
119
  export const SemanticColorPalette = () => {
89
120
  return (
90
121
  <div className="s-flex s-flex-col s-gap-8">
122
+ <div className="s-flex s-flex-col s-gap-2">
123
+ <h2 className="s-text-xl s-font-semibold">Semantic Color Palette</h2>
124
+ <p className="s-text-sm s-text-primary-600 dark:s-text-primary-400">
125
+ Colors to use in the UI for all functional elements.
126
+ </p>
127
+ </div>
91
128
  {semanticColorFamilies.map((family) => (
92
129
  <div key={family} className="s-flex s-flex-col s-gap-4">
93
130
  <h3 className="s-text-lg s-font-semibold s-capitalize">{family}</h3>
94
131
  <div className="s-flex s-flex-wrap s-gap-4">
95
- {shades.map((shade) => (
132
+ {semanticShades.map((shade) => (
96
133
  <div key={shade}>
97
134
  <ColorSwatch
98
135
  colorClass={`s-bg-${family}-${shade} dark:s-bg-${family}-${shade}-night`}
@@ -153,6 +190,16 @@ const brandColorFamilies = [
153
190
  export const BrandColorPalette = () => {
154
191
  return (
155
192
  <div className="s-flex s-flex-col s-gap-8">
193
+ <div className="s-flex s-flex-col s-gap-2">
194
+ <h2 className="s-text-xl s-font-semibold">Brand Color Palette</h2>
195
+ <p className="s-text-sm s-text-primary-600 dark:s-text-primary-400">
196
+ Colors to use in Marketing / Brand situations:
197
+ </p>
198
+ <ul className="s-ml-4 s-list-disc s-text-sm s-text-primary-600 dark:s-text-primary-400">
199
+ <li>Block colors on the website</li>
200
+ <li>Communication in the product</li>
201
+ </ul>
202
+ </div>
156
203
  {brandColorFamilies.map((family) => (
157
204
  <div key={family.name} className="s-flex s-flex-col s-gap-4">
158
205
  <h3 className="s-text-lg s-font-semibold s-capitalize">
@@ -173,3 +220,37 @@ export const BrandColorPalette = () => {
173
220
  </div>
174
221
  );
175
222
  };
223
+
224
+ export const ExtendedColorPalette = () => {
225
+ return (
226
+ <div className="s-flex s-flex-col s-gap-8">
227
+ <div className="s-flex s-flex-col s-gap-2">
228
+ <h2 className="s-text-xl s-font-semibold">Extended Color Palette</h2>
229
+ <p className="s-text-sm s-text-primary-600 dark:s-text-primary-400">
230
+ These colors are available for product-specific use cases where
231
+ semantic colors might not be appropriate. Use them when you need to
232
+ create visual distinctions, such as:
233
+ </p>
234
+ <ul className="s-ml-4 s-list-disc s-text-sm s-text-primary-600 dark:s-text-primary-400">
235
+ <li>Avatar background colors</li>
236
+ <li>Data visualization</li>
237
+ </ul>
238
+ </div>
239
+ {extendedColorFamilies.map((family) => (
240
+ <div key={family} className="s-flex s-flex-col s-gap-4">
241
+ <h3 className="s-text-lg s-font-semibold s-capitalize">{family}</h3>
242
+ <div className="s-flex s-flex-wrap s-gap-4">
243
+ {shades.map((shade) => (
244
+ <div key={shade}>
245
+ <ColorSwatch
246
+ colorClass={`s-bg-${family}-${shade} dark:s-bg-${family}-${shade}-night`}
247
+ label={`${family}-${shade}`}
248
+ />
249
+ </div>
250
+ ))}
251
+ </div>
252
+ </div>
253
+ ))}
254
+ </div>
255
+ );
256
+ };