@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.
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/AnimatedText.d.ts +1 -1
- package/dist/esm/components/AnimatedText.d.ts.map +1 -1
- package/dist/esm/components/AnimatedText.js +32 -8
- package/dist/esm/components/AnimatedText.js.map +1 -1
- package/dist/esm/components/Avatar.d.ts.map +1 -1
- package/dist/esm/components/Avatar.js +8 -24
- package/dist/esm/components/Avatar.js.map +1 -1
- package/dist/esm/components/Button.d.ts +1 -1
- package/dist/esm/components/Chip.d.ts +1 -1
- package/dist/esm/components/Chip.d.ts.map +1 -1
- package/dist/esm/components/Chip.js +36 -10
- package/dist/esm/components/Chip.js.map +1 -1
- package/dist/esm/components/ColorPicker.js +1 -1
- package/dist/esm/components/ColorPicker.js.map +1 -1
- package/dist/esm/components/ContentMessage.d.ts +1 -1
- package/dist/esm/components/ContentMessage.d.ts.map +1 -1
- package/dist/esm/components/ContentMessage.js +59 -14
- package/dist/esm/components/ContentMessage.js.map +1 -1
- package/dist/esm/components/Counter.d.ts +1 -1
- package/dist/esm/components/Hoverable.d.ts +1 -1
- package/dist/esm/components/PriceTable.d.ts.map +1 -1
- package/dist/esm/components/PriceTable.js +0 -7
- package/dist/esm/components/PriceTable.js.map +1 -1
- package/dist/esm/stories/Avatar.stories.js +3 -3
- package/dist/esm/stories/Avatar.stories.js.map +1 -1
- package/dist/esm/stories/Chip.stories.d.ts +3 -3
- package/dist/esm/stories/ColorPalette.stories.d.ts +2 -1
- package/dist/esm/stories/ColorPalette.stories.d.ts.map +1 -1
- package/dist/esm/stories/ColorPalette.stories.js +65 -13
- package/dist/esm/stories/ColorPalette.stories.js.map +1 -1
- package/dist/esm/stories/ColorPicker.stories.d.ts.map +1 -1
- package/dist/esm/stories/ColorPicker.stories.js +48 -128
- package/dist/esm/stories/ColorPicker.stories.js.map +1 -1
- package/dist/esm/stories/ContentMessage.stories.js +8 -8
- package/dist/esm/stories/ContentMessage.stories.js.map +1 -1
- package/dist/esm/stories/IconButton.stories.d.ts +1 -1
- package/dist/sparkle.css +340 -1437
- package/package.json +1 -1
- package/src/components/AnimatedText.tsx +64 -19
- package/src/components/Avatar.tsx +8 -24
- package/src/components/Chip.tsx +72 -22
- package/src/components/ColorPicker.tsx +1 -1
- package/src/components/ContentMessage.tsx +68 -14
- package/src/components/PriceTable.tsx +0 -8
- package/src/stories/Avatar.stories.tsx +3 -3
- package/src/stories/ColorPalette.stories.tsx +83 -2
- package/src/stories/ColorPicker.stories.tsx +48 -128
- package/src/stories/ContentMessage.stories.tsx +8 -8
package/package.json
CHANGED
|
@@ -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
|
-
|
|
40
|
-
"s-from-
|
|
41
|
-
"dark:s-from-
|
|
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-
|
|
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-
|
|
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
|
};
|
package/src/components/Chip.tsx
CHANGED
|
@@ -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
|
-
"
|
|
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
|
-
|
|
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
|
|
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:
|
|
31
|
-
|
|
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:
|
|
35
|
-
|
|
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:
|
|
39
|
-
|
|
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: "
|
|
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-
|
|
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-
|
|
54
|
-
<Avatar size="xxl" emoji="👕" backgroundColor="s-bg-
|
|
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
|
|
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
|
-
{
|
|
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
|
+
};
|