@sproutsocial/seeds-react-theme 4.3.1 → 4.4.0
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/README.md +21 -14
- package/commonjs/builders/buildCSS.js +5 -0
- package/commonjs/builders/buildTailwindV4.js +32 -14
- package/commonjs/builders/utils.js +35 -18
- package/commonjs/dark/theme.js +6 -1
- package/commonjs/light/theme.js +10 -1
- package/dist/tailwind-preset.css +5 -0
- package/dist/theme-all.css +12 -0
- package/dist/theme-dark.css +6 -0
- package/dist/theme.css +6 -0
- package/dist/themes/dark/theme.scss +8 -2
- package/dist/themes/extendedThemes/sproutTheme/dark/theme.scss +4 -1
- package/dist/themes/extendedThemes/sproutTheme/light/theme.scss +4 -1
- package/dist/themes/light/theme.scss +8 -2
- package/dist/types/builders/buildCSS.d.ts.map +1 -1
- package/dist/types/builders/buildTailwindV4.d.ts.map +1 -1
- package/dist/types/builders/utils.d.ts +4 -0
- package/dist/types/builders/utils.d.ts.map +1 -1
- package/dist/types/dark/theme.d.ts +6 -0
- package/dist/types/dark/theme.d.ts.map +1 -1
- package/dist/types/light/theme.d.ts +6 -0
- package/dist/types/light/theme.d.ts.map +1 -1
- package/lib/builders/buildCSS.js +6 -1
- package/lib/builders/buildTailwindV4.js +32 -14
- package/lib/builders/utils.js +34 -18
- package/lib/dark/theme.js +6 -1
- package/lib/light/theme.js +10 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,8 +26,8 @@ yarn add @sproutsocial/seeds-react-theme
|
|
|
26
26
|
### React (styled-components)
|
|
27
27
|
|
|
28
28
|
```jsx
|
|
29
|
-
import { ThemeProvider } from
|
|
30
|
-
import theme from
|
|
29
|
+
import { ThemeProvider } from "styled-components";
|
|
30
|
+
import theme from "@sproutsocial/seeds-react-theme";
|
|
31
31
|
|
|
32
32
|
function App() {
|
|
33
33
|
return (
|
|
@@ -47,11 +47,9 @@ See [MULTI_FRAMEWORK_GUIDE.md](./MULTI_FRAMEWORK_GUIDE.md) for complete document
|
|
|
47
47
|
```javascript
|
|
48
48
|
// tailwind.config.js
|
|
49
49
|
module.exports = {
|
|
50
|
-
presets: [
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
content: ['./src/**/*.{js,jsx,ts,tsx}'],
|
|
54
|
-
}
|
|
50
|
+
presets: [require("@sproutsocial/seeds-react-theme/dist/tailwind-preset")],
|
|
51
|
+
content: ["./src/**/*.{js,jsx,ts,tsx}"],
|
|
52
|
+
};
|
|
55
53
|
```
|
|
56
54
|
|
|
57
55
|
```jsx
|
|
@@ -63,14 +61,19 @@ module.exports = {
|
|
|
63
61
|
### CSS Custom Properties
|
|
64
62
|
|
|
65
63
|
```html
|
|
66
|
-
<link
|
|
64
|
+
<link
|
|
65
|
+
rel="stylesheet"
|
|
66
|
+
href="node_modules/@sproutsocial/seeds-react-theme/dist/theme.css"
|
|
67
|
+
/>
|
|
67
68
|
|
|
68
|
-
<button
|
|
69
|
+
<button
|
|
70
|
+
style="
|
|
69
71
|
background: var(--color-button-primary-bg-base);
|
|
70
72
|
color: var(--color-button-primary-text-base);
|
|
71
73
|
padding: var(--space-400);
|
|
72
74
|
border-radius: var(--radius-500);
|
|
73
|
-
"
|
|
75
|
+
"
|
|
76
|
+
>
|
|
74
77
|
Primary Button
|
|
75
78
|
</button>
|
|
76
79
|
```
|
|
@@ -109,9 +112,9 @@ Use the dark mode preset:
|
|
|
109
112
|
```javascript
|
|
110
113
|
module.exports = {
|
|
111
114
|
presets: [
|
|
112
|
-
require(
|
|
115
|
+
require("@sproutsocial/seeds-react-theme/dist/tailwind-preset-dark"),
|
|
113
116
|
],
|
|
114
|
-
}
|
|
117
|
+
};
|
|
115
118
|
```
|
|
116
119
|
|
|
117
120
|
### CSS Variables
|
|
@@ -128,15 +131,16 @@ Toggle with JavaScript:
|
|
|
128
131
|
|
|
129
132
|
```javascript
|
|
130
133
|
// Enable dark mode
|
|
131
|
-
document.documentElement.setAttribute(
|
|
134
|
+
document.documentElement.setAttribute("data-theme", "dark");
|
|
132
135
|
|
|
133
136
|
// Disable dark mode
|
|
134
|
-
document.documentElement.removeAttribute(
|
|
137
|
+
document.documentElement.removeAttribute("data-theme");
|
|
135
138
|
```
|
|
136
139
|
|
|
137
140
|
## Available Tokens
|
|
138
141
|
|
|
139
142
|
### Colors
|
|
143
|
+
|
|
140
144
|
- Button colors (primary, secondary, destructive, etc.)
|
|
141
145
|
- Text colors (headline, body, subtext, inverse)
|
|
142
146
|
- Link colors
|
|
@@ -145,14 +149,17 @@ document.documentElement.removeAttribute('data-theme');
|
|
|
145
149
|
- Icon colors
|
|
146
150
|
|
|
147
151
|
### Spacing
|
|
152
|
+
|
|
148
153
|
- `0`, `100`, `200`, `300`, `350`, `400`, `450`, `500`, `600`
|
|
149
154
|
|
|
150
155
|
### Typography
|
|
156
|
+
|
|
151
157
|
- Font sizes and line heights (`100` - `1200`)
|
|
152
158
|
- Font families
|
|
153
159
|
- Font weights (normal, semibold, bold, extrabold)
|
|
154
160
|
|
|
155
161
|
### Other
|
|
162
|
+
|
|
156
163
|
- Border radius values
|
|
157
164
|
- Box shadows
|
|
158
165
|
- Motion (easing, duration)
|
|
@@ -123,6 +123,11 @@ function generateCSSVariables(themeObj, mode) {
|
|
|
123
123
|
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(radii, "radius")));
|
|
124
124
|
console.log(" - Mapped ".concat(Object.keys(radii).length, " border radius values"));
|
|
125
125
|
|
|
126
|
+
// Border width
|
|
127
|
+
var borderWidths = (0, _utils.flattenBorderWidths)(themeObj.borderWidths);
|
|
128
|
+
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(borderWidths, "border-width")));
|
|
129
|
+
console.log(" - Mapped ".concat(Object.keys(borderWidths).length, " border width values"));
|
|
130
|
+
|
|
126
131
|
// Shadows
|
|
127
132
|
var shadows = (0, _utils.flattenShadows)(themeObj.shadows);
|
|
128
133
|
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(shadows, "shadow")));
|
|
@@ -42,7 +42,7 @@ function buildTailwindV4Preset() {
|
|
|
42
42
|
}
|
|
43
43
|
function _buildTailwindV4Preset() {
|
|
44
44
|
_buildTailwindV4Preset = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
45
|
-
var distDir, lines, spacingMap, _i, _Object$entries, _Object$entries$_i, key, value, radiusMap, _i2, _Object$entries2, _Object$entries2$_i, _key, _value,
|
|
45
|
+
var distDir, lines, spacingMap, _i, _Object$entries, _Object$entries$_i, key, value, radiusMap, _i2, _Object$entries2, _Object$entries2$_i, _key, _value, borderWidthMap, _i3, _Object$entries3, _Object$entries3$_i, _key2, _value2, typographyScales, _i4, _typographyScales, scale, _key3, val, buttonColors, _i5, _Object$entries4, _Object$entries4$_i, _key4, _value3, semanticColors, _i6, _Object$entries5, _Object$entries5$_i, _key5, _value4, darkButtonColors, _i7, _Object$entries6, _Object$entries6$_i, _key6, _value5, css, outPath;
|
|
46
46
|
return _regenerator().w(function (_context) {
|
|
47
47
|
while (1) switch (_context.n) {
|
|
48
48
|
case 0:
|
|
@@ -99,16 +99,34 @@ function _buildTailwindV4Preset() {
|
|
|
99
99
|
console.log(" - Mapped ".concat(Object.keys(radiusMap).length, " border radius tokens"));
|
|
100
100
|
lines.push("");
|
|
101
101
|
|
|
102
|
+
// -------------------------------------------------------------------------
|
|
103
|
+
// Border width — from @sproutsocial/seeds-border
|
|
104
|
+
// Seeds' own `border-w-{key}` utility (not Tailwind's numeric border-<n>
|
|
105
|
+
// scale) — see seeds-react-system-props/src/scales.ts SCALE_PROPS.borderWidth
|
|
106
|
+
// -------------------------------------------------------------------------
|
|
107
|
+
lines.push(" /* Border width — from @sproutsocial/seeds-border */");
|
|
108
|
+
borderWidthMap = {
|
|
109
|
+
500: BORDER.BORDER_WIDTH_500,
|
|
110
|
+
600: BORDER.BORDER_WIDTH_600,
|
|
111
|
+
700: BORDER.BORDER_WIDTH_700
|
|
112
|
+
};
|
|
113
|
+
for (_i3 = 0, _Object$entries3 = Object.entries(borderWidthMap); _i3 < _Object$entries3.length; _i3++) {
|
|
114
|
+
_Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2), _key2 = _Object$entries3$_i[0], _value2 = _Object$entries3$_i[1];
|
|
115
|
+
lines.push(" --border-width-".concat(_key2, ": ").concat(_value2, ";"));
|
|
116
|
+
}
|
|
117
|
+
console.log(" - Mapped ".concat(Object.keys(borderWidthMap).length, " border width tokens"));
|
|
118
|
+
lines.push("");
|
|
119
|
+
|
|
102
120
|
// -------------------------------------------------------------------------
|
|
103
121
|
// Font size — from @sproutsocial/seeds-typography
|
|
104
122
|
// Tailwind v4: --text-{key}--font-size + --text-{key}--line-height → text-{key}
|
|
105
123
|
// -------------------------------------------------------------------------
|
|
106
124
|
lines.push(" /* Font size — from @sproutsocial/seeds-typography */");
|
|
107
125
|
typographyScales = [100, 200, 300, 400, 500, 600, 700];
|
|
108
|
-
for (
|
|
109
|
-
scale = _typographyScales[
|
|
110
|
-
|
|
111
|
-
val = TYPOGRAPHY[
|
|
126
|
+
for (_i4 = 0, _typographyScales = typographyScales; _i4 < _typographyScales.length; _i4++) {
|
|
127
|
+
scale = _typographyScales[_i4];
|
|
128
|
+
_key3 = "TYPOGRAPHY_SIZE_".concat(scale);
|
|
129
|
+
val = TYPOGRAPHY[_key3];
|
|
112
130
|
if (val && val.fontSize && val.lineHeight) {
|
|
113
131
|
// Tailwind v4 uses --text-*--font-size and --text-*--line-height for
|
|
114
132
|
// the two-value tuple equivalent
|
|
@@ -154,9 +172,9 @@ function _buildTailwindV4Preset() {
|
|
|
154
172
|
"color-button-placeholder-text-hover": COLORS.COLOR_BLUE_800,
|
|
155
173
|
"color-button-placeholder-border-base": COLORS.COLOR_NEUTRAL_500
|
|
156
174
|
};
|
|
157
|
-
for (
|
|
158
|
-
_Object$
|
|
159
|
-
lines.push(" --".concat(
|
|
175
|
+
for (_i5 = 0, _Object$entries4 = Object.entries(buttonColors); _i5 < _Object$entries4.length; _i5++) {
|
|
176
|
+
_Object$entries4$_i = _slicedToArray(_Object$entries4[_i5], 2), _key4 = _Object$entries4$_i[0], _value3 = _Object$entries4$_i[1];
|
|
177
|
+
lines.push(" --".concat(_key4, ": ").concat(_value3, ";"));
|
|
160
178
|
}
|
|
161
179
|
console.log(" - Mapped ".concat(Object.keys(buttonColors).length, " button color tokens"));
|
|
162
180
|
lines.push("");
|
|
@@ -186,9 +204,9 @@ function _buildTailwindV4Preset() {
|
|
|
186
204
|
"color-form-border-selected": "var(--color-form-border-selected)",
|
|
187
205
|
"color-form-placeholder-base": "var(--color-form-placeholder-base)"
|
|
188
206
|
};
|
|
189
|
-
for (
|
|
190
|
-
_Object$
|
|
191
|
-
lines.push(" --".concat(
|
|
207
|
+
for (_i6 = 0, _Object$entries5 = Object.entries(semanticColors); _i6 < _Object$entries5.length; _i6++) {
|
|
208
|
+
_Object$entries5$_i = _slicedToArray(_Object$entries5[_i6], 2), _key5 = _Object$entries5$_i[0], _value4 = _Object$entries5$_i[1];
|
|
209
|
+
lines.push(" --".concat(_key5, ": ").concat(_value4, ";"));
|
|
192
210
|
}
|
|
193
211
|
console.log(" - Mapped ".concat(Object.keys(semanticColors).length, " semantic color tokens"));
|
|
194
212
|
|
|
@@ -217,9 +235,9 @@ function _buildTailwindV4Preset() {
|
|
|
217
235
|
"color-button-placeholder-text-base-dark": COLORS.COLOR_BLUE_400,
|
|
218
236
|
"color-button-placeholder-text-hover-dark": COLORS.COLOR_BLUE_300
|
|
219
237
|
};
|
|
220
|
-
for (
|
|
221
|
-
_Object$
|
|
222
|
-
lines.push(" --".concat(
|
|
238
|
+
for (_i7 = 0, _Object$entries6 = Object.entries(darkButtonColors); _i7 < _Object$entries6.length; _i7++) {
|
|
239
|
+
_Object$entries6$_i = _slicedToArray(_Object$entries6[_i7], 2), _key6 = _Object$entries6$_i[0], _value5 = _Object$entries6$_i[1];
|
|
240
|
+
lines.push(" --".concat(_key6, ": ").concat(_value5, ";"));
|
|
223
241
|
}
|
|
224
242
|
console.log(" - Mapped ".concat(Object.keys(darkButtonColors).length, " dark mode button color tokens"));
|
|
225
243
|
lines.push("}");
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.filterComplexColors = filterComplexColors;
|
|
7
|
+
exports.flattenBorderWidths = flattenBorderWidths;
|
|
7
8
|
exports.flattenColors = flattenColors;
|
|
8
9
|
exports.flattenDuration = flattenDuration;
|
|
9
10
|
exports.flattenEasing = flattenEasing;
|
|
@@ -134,11 +135,11 @@ function flattenRadii(radii) {
|
|
|
134
135
|
}
|
|
135
136
|
|
|
136
137
|
/**
|
|
137
|
-
* Flatten
|
|
138
|
+
* Flatten border widths
|
|
138
139
|
*/
|
|
139
|
-
function
|
|
140
|
+
function flattenBorderWidths(borderWidths) {
|
|
140
141
|
var flattened = {};
|
|
141
|
-
for (var _i5 = 0, _Object$entries5 = Object.entries(
|
|
142
|
+
for (var _i5 = 0, _Object$entries5 = Object.entries(borderWidths); _i5 < _Object$entries5.length; _i5++) {
|
|
142
143
|
var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i5], 2),
|
|
143
144
|
key = _Object$entries5$_i[0],
|
|
144
145
|
value = _Object$entries5$_i[1];
|
|
@@ -150,15 +151,15 @@ function flattenShadows(shadows) {
|
|
|
150
151
|
}
|
|
151
152
|
|
|
152
153
|
/**
|
|
153
|
-
* Flatten
|
|
154
|
+
* Flatten shadows
|
|
154
155
|
*/
|
|
155
|
-
function
|
|
156
|
+
function flattenShadows(shadows) {
|
|
156
157
|
var flattened = {};
|
|
157
|
-
for (var _i6 = 0, _Object$entries6 = Object.entries(
|
|
158
|
+
for (var _i6 = 0, _Object$entries6 = Object.entries(shadows); _i6 < _Object$entries6.length; _i6++) {
|
|
158
159
|
var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i6], 2),
|
|
159
160
|
key = _Object$entries6$_i[0],
|
|
160
161
|
value = _Object$entries6$_i[1];
|
|
161
|
-
if (typeof value === "string"
|
|
162
|
+
if (typeof value === "string") {
|
|
162
163
|
flattened[key] = value;
|
|
163
164
|
}
|
|
164
165
|
}
|
|
@@ -166,15 +167,15 @@ function flattenFontWeights(fontWeights) {
|
|
|
166
167
|
}
|
|
167
168
|
|
|
168
169
|
/**
|
|
169
|
-
* Flatten
|
|
170
|
+
* Flatten font weights
|
|
170
171
|
*/
|
|
171
|
-
function
|
|
172
|
+
function flattenFontWeights(fontWeights) {
|
|
172
173
|
var flattened = {};
|
|
173
|
-
for (var _i7 = 0, _Object$entries7 = Object.entries(
|
|
174
|
+
for (var _i7 = 0, _Object$entries7 = Object.entries(fontWeights); _i7 < _Object$entries7.length; _i7++) {
|
|
174
175
|
var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i7], 2),
|
|
175
176
|
key = _Object$entries7$_i[0],
|
|
176
177
|
value = _Object$entries7$_i[1];
|
|
177
|
-
if (typeof value === "string") {
|
|
178
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
178
179
|
flattened[key] = value;
|
|
179
180
|
}
|
|
180
181
|
}
|
|
@@ -182,11 +183,11 @@ function flattenEasing(easing) {
|
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
/**
|
|
185
|
-
* Flatten
|
|
186
|
+
* Flatten easing (transition timing functions)
|
|
186
187
|
*/
|
|
187
|
-
function
|
|
188
|
+
function flattenEasing(easing) {
|
|
188
189
|
var flattened = {};
|
|
189
|
-
for (var _i8 = 0, _Object$entries8 = Object.entries(
|
|
190
|
+
for (var _i8 = 0, _Object$entries8 = Object.entries(easing); _i8 < _Object$entries8.length; _i8++) {
|
|
190
191
|
var _Object$entries8$_i = _slicedToArray(_Object$entries8[_i8], 2),
|
|
191
192
|
key = _Object$entries8$_i[0],
|
|
192
193
|
value = _Object$entries8$_i[1];
|
|
@@ -197,6 +198,22 @@ function flattenDuration(duration) {
|
|
|
197
198
|
return flattened;
|
|
198
199
|
}
|
|
199
200
|
|
|
201
|
+
/**
|
|
202
|
+
* Flatten duration (transition durations)
|
|
203
|
+
*/
|
|
204
|
+
function flattenDuration(duration) {
|
|
205
|
+
var flattened = {};
|
|
206
|
+
for (var _i9 = 0, _Object$entries9 = Object.entries(duration); _i9 < _Object$entries9.length; _i9++) {
|
|
207
|
+
var _Object$entries9$_i = _slicedToArray(_Object$entries9[_i9], 2),
|
|
208
|
+
key = _Object$entries9$_i[0],
|
|
209
|
+
value = _Object$entries9$_i[1];
|
|
210
|
+
if (typeof value === "string") {
|
|
211
|
+
flattened[key] = value;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return flattened;
|
|
215
|
+
}
|
|
216
|
+
|
|
200
217
|
/**
|
|
201
218
|
* Check if a value is a valid CSS color
|
|
202
219
|
* Filters out complex values like color-mix() which may not work everywhere
|
|
@@ -210,10 +227,10 @@ function isSimpleColor(value) {
|
|
|
210
227
|
*/
|
|
211
228
|
function filterComplexColors(colors) {
|
|
212
229
|
var filtered = {};
|
|
213
|
-
for (var
|
|
214
|
-
var _Object$
|
|
215
|
-
key = _Object$
|
|
216
|
-
value = _Object$
|
|
230
|
+
for (var _i0 = 0, _Object$entries0 = Object.entries(colors); _i0 < _Object$entries0.length; _i0++) {
|
|
231
|
+
var _Object$entries0$_i = _slicedToArray(_Object$entries0[_i0], 2),
|
|
232
|
+
key = _Object$entries0$_i[0],
|
|
233
|
+
value = _Object$entries0$_i[1];
|
|
217
234
|
if (isSimpleColor(value)) {
|
|
218
235
|
filtered[key] = value;
|
|
219
236
|
} else {
|
package/commonjs/dark/theme.js
CHANGED
|
@@ -96,7 +96,12 @@ var colors = exports.colors = _objectSpread(_objectSpread({}, _theme.default.col
|
|
|
96
96
|
// contrast against the dark surface (Figma Sprout Variables, "Trellis" dark).
|
|
97
97
|
gradient: {
|
|
98
98
|
ai: "radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%)",
|
|
99
|
-
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)"
|
|
99
|
+
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)",
|
|
100
|
+
// Discrete stops for SVG paint servers — see the light theme for why these
|
|
101
|
+
// exist alongside the composed gradient strings.
|
|
102
|
+
"ai-stop-1": "#679eff",
|
|
103
|
+
"ai-stop-2": "#b984ff",
|
|
104
|
+
"ai-stop-3": "#f282f5"
|
|
100
105
|
},
|
|
101
106
|
button: {
|
|
102
107
|
primary: {
|
package/commonjs/light/theme.js
CHANGED
|
@@ -105,7 +105,16 @@ var colors = exports.colors = _objectSpread(_objectSpread({
|
|
|
105
105
|
ai: "radial-gradient(circle at bottom left, #205bc3 0%, #9747ff 61%, #f282f5 100%)",
|
|
106
106
|
// 20% tint — AI secondary (composited over a white base in CSS).
|
|
107
107
|
// Kebab key so it flattens to --color-gradient-ai-subtle.
|
|
108
|
-
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)"
|
|
108
|
+
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)",
|
|
109
|
+
// The same three stops as discrete colors, flattening to
|
|
110
|
+
// --color-gradient-ai-stop-{1,2,3}. SVG needs a real <radialGradient> with
|
|
111
|
+
// separate <stop> elements to use as a paint server, and a CSS
|
|
112
|
+
// radial-gradient() string can't be decomposed back into stops. Consumed by
|
|
113
|
+
// seeds-react-icon's gradient defs (see icon.css) so gradient-filled icons
|
|
114
|
+
// pick up dark mode through the usual .dark variable swap.
|
|
115
|
+
"ai-stop-1": "#205bc3",
|
|
116
|
+
"ai-stop-2": "#9747ff",
|
|
117
|
+
"ai-stop-3": "#f282f5"
|
|
109
118
|
},
|
|
110
119
|
button: {
|
|
111
120
|
primary: {
|
package/dist/tailwind-preset.css
CHANGED
|
@@ -32,6 +32,11 @@
|
|
|
32
32
|
--radius-inner: 4px;
|
|
33
33
|
--radius-outer: 8px;
|
|
34
34
|
|
|
35
|
+
/* Border width — from @sproutsocial/seeds-border */
|
|
36
|
+
--border-width-500: 1px;
|
|
37
|
+
--border-width-600: 2px;
|
|
38
|
+
--border-width-700: 3px;
|
|
39
|
+
|
|
35
40
|
/* Font size — from @sproutsocial/seeds-typography */
|
|
36
41
|
--text-100--font-size: 11px;
|
|
37
42
|
--text-100--line-height: 18.666666666666668px;
|
package/dist/theme-all.css
CHANGED
|
@@ -50,6 +50,9 @@
|
|
|
50
50
|
--color-container-border-ai_generated: #6f5ed3;
|
|
51
51
|
--color-gradient-ai: radial-gradient(circle at bottom left, #205bc3 0%, #9747ff 61%, #f282f5 100%);
|
|
52
52
|
--color-gradient-ai-subtle: radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%);
|
|
53
|
+
--color-gradient-ai-stop-1: #205bc3;
|
|
54
|
+
--color-gradient-ai-stop-2: #9747ff;
|
|
55
|
+
--color-gradient-ai-stop-3: #f282f5;
|
|
53
56
|
--color-button-primary-bg-base: #205bc3;
|
|
54
57
|
--color-button-primary-bg-hover: #1150aa;
|
|
55
58
|
--color-button-primary-bg-active: #0c3f89;
|
|
@@ -468,6 +471,9 @@
|
|
|
468
471
|
--radius-inner: 6px;
|
|
469
472
|
--radius-outer: 8px;
|
|
470
473
|
--radius-pill: 999999px;
|
|
474
|
+
--border-width-500: 1px;
|
|
475
|
+
--border-width-600: 2px;
|
|
476
|
+
--border-width-700: 3px;
|
|
471
477
|
--shadow-low: 0px 2px 4px #2733333D;
|
|
472
478
|
--shadow-medium: 0px 8px 16px #2733333D;
|
|
473
479
|
--shadow-high: 0px 16px 32px #2733333D;
|
|
@@ -531,6 +537,9 @@
|
|
|
531
537
|
--color-container-border-ai_generated: #6f5ed3;
|
|
532
538
|
--color-gradient-ai: radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%);
|
|
533
539
|
--color-gradient-ai-subtle: radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%);
|
|
540
|
+
--color-gradient-ai-stop-1: #679eff;
|
|
541
|
+
--color-gradient-ai-stop-2: #b984ff;
|
|
542
|
+
--color-gradient-ai-stop-3: #f282f5;
|
|
534
543
|
--color-button-primary-bg-base: #679eff;
|
|
535
544
|
--color-button-primary-bg-hover: #a1c2f8;
|
|
536
545
|
--color-button-primary-bg-active: #c7dbf9;
|
|
@@ -949,6 +958,9 @@
|
|
|
949
958
|
--radius-inner: 6px;
|
|
950
959
|
--radius-outer: 8px;
|
|
951
960
|
--radius-pill: 999999px;
|
|
961
|
+
--border-width-500: 1px;
|
|
962
|
+
--border-width-600: 2px;
|
|
963
|
+
--border-width-700: 3px;
|
|
952
964
|
--shadow-low: 0px 2px 4px #040404FF;
|
|
953
965
|
--shadow-medium: 0px 8px 16px #040404FF;
|
|
954
966
|
--shadow-high: 0px 16px 32px #040404FF;
|
package/dist/theme-dark.css
CHANGED
|
@@ -50,6 +50,9 @@
|
|
|
50
50
|
--color-container-border-ai_generated: #6f5ed3;
|
|
51
51
|
--color-gradient-ai: radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%);
|
|
52
52
|
--color-gradient-ai-subtle: radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%);
|
|
53
|
+
--color-gradient-ai-stop-1: #679eff;
|
|
54
|
+
--color-gradient-ai-stop-2: #b984ff;
|
|
55
|
+
--color-gradient-ai-stop-3: #f282f5;
|
|
53
56
|
--color-button-primary-bg-base: #679eff;
|
|
54
57
|
--color-button-primary-bg-hover: #a1c2f8;
|
|
55
58
|
--color-button-primary-bg-active: #c7dbf9;
|
|
@@ -468,6 +471,9 @@
|
|
|
468
471
|
--radius-inner: 6px;
|
|
469
472
|
--radius-outer: 8px;
|
|
470
473
|
--radius-pill: 999999px;
|
|
474
|
+
--border-width-500: 1px;
|
|
475
|
+
--border-width-600: 2px;
|
|
476
|
+
--border-width-700: 3px;
|
|
471
477
|
--shadow-low: 0px 2px 4px #040404FF;
|
|
472
478
|
--shadow-medium: 0px 8px 16px #040404FF;
|
|
473
479
|
--shadow-high: 0px 16px 32px #040404FF;
|
package/dist/theme.css
CHANGED
|
@@ -50,6 +50,9 @@
|
|
|
50
50
|
--color-container-border-ai_generated: #6f5ed3;
|
|
51
51
|
--color-gradient-ai: radial-gradient(circle at bottom left, #205bc3 0%, #9747ff 61%, #f282f5 100%);
|
|
52
52
|
--color-gradient-ai-subtle: radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%);
|
|
53
|
+
--color-gradient-ai-stop-1: #205bc3;
|
|
54
|
+
--color-gradient-ai-stop-2: #9747ff;
|
|
55
|
+
--color-gradient-ai-stop-3: #f282f5;
|
|
53
56
|
--color-button-primary-bg-base: #205bc3;
|
|
54
57
|
--color-button-primary-bg-hover: #1150aa;
|
|
55
58
|
--color-button-primary-bg-active: #0c3f89;
|
|
@@ -468,6 +471,9 @@
|
|
|
468
471
|
--radius-inner: 6px;
|
|
469
472
|
--radius-outer: 8px;
|
|
470
473
|
--radius-pill: 999999px;
|
|
474
|
+
--border-width-500: 1px;
|
|
475
|
+
--border-width-600: 2px;
|
|
476
|
+
--border-width-700: 3px;
|
|
471
477
|
--shadow-low: 0px 2px 4px #2733333D;
|
|
472
478
|
--shadow-medium: 0px 8px 16px #2733333D;
|
|
473
479
|
--shadow-high: 0px 16px 32px #2733333D;
|
|
@@ -60,7 +60,10 @@ $theme: (
|
|
|
60
60
|
),
|
|
61
61
|
"gradient": (
|
|
62
62
|
"ai": radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%),
|
|
63
|
-
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)
|
|
63
|
+
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%),
|
|
64
|
+
"ai-stop-1": #679eff,
|
|
65
|
+
"ai-stop-2": #b984ff,
|
|
66
|
+
"ai-stop-3": #f282f5
|
|
64
67
|
),
|
|
65
68
|
"button": (
|
|
66
69
|
"primary": (
|
|
@@ -629,7 +632,10 @@ $theme: (
|
|
|
629
632
|
),
|
|
630
633
|
"gradient": (
|
|
631
634
|
"ai": radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%),
|
|
632
|
-
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)
|
|
635
|
+
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%),
|
|
636
|
+
"ai-stop-1": #679eff,
|
|
637
|
+
"ai-stop-2": #b984ff,
|
|
638
|
+
"ai-stop-3": #f282f5
|
|
633
639
|
),
|
|
634
640
|
"button": (
|
|
635
641
|
"primary": (
|
|
@@ -114,7 +114,10 @@ $theme: (
|
|
|
114
114
|
),
|
|
115
115
|
"gradient": (
|
|
116
116
|
"ai": radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%),
|
|
117
|
-
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)
|
|
117
|
+
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%),
|
|
118
|
+
"ai-stop-1": #679eff,
|
|
119
|
+
"ai-stop-2": #b984ff,
|
|
120
|
+
"ai-stop-3": #f282f5
|
|
118
121
|
),
|
|
119
122
|
"button": (
|
|
120
123
|
"primary": (
|
|
@@ -114,7 +114,10 @@ $theme: (
|
|
|
114
114
|
),
|
|
115
115
|
"gradient": (
|
|
116
116
|
"ai": radial-gradient(circle at bottom left, #205bc3 0%, #9747ff 61%, #f282f5 100%),
|
|
117
|
-
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)
|
|
117
|
+
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%),
|
|
118
|
+
"ai-stop-1": #205bc3,
|
|
119
|
+
"ai-stop-2": #9747ff,
|
|
120
|
+
"ai-stop-3": #f282f5
|
|
118
121
|
),
|
|
119
122
|
"button": (
|
|
120
123
|
"primary": (
|
|
@@ -71,7 +71,10 @@ $theme: (
|
|
|
71
71
|
),
|
|
72
72
|
"gradient": (
|
|
73
73
|
"ai": radial-gradient(circle at bottom left, #205bc3 0%, #9747ff 61%, #f282f5 100%),
|
|
74
|
-
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)
|
|
74
|
+
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%),
|
|
75
|
+
"ai-stop-1": #205bc3,
|
|
76
|
+
"ai-stop-2": #9747ff,
|
|
77
|
+
"ai-stop-3": #f282f5
|
|
75
78
|
),
|
|
76
79
|
"button": (
|
|
77
80
|
"primary": (
|
|
@@ -640,7 +643,10 @@ $theme: (
|
|
|
640
643
|
),
|
|
641
644
|
"gradient": (
|
|
642
645
|
"ai": radial-gradient(circle at bottom left, #205bc3 0%, #9747ff 61%, #f282f5 100%),
|
|
643
|
-
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)
|
|
646
|
+
"ai-subtle": radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%),
|
|
647
|
+
"ai-stop-1": #205bc3,
|
|
648
|
+
"ai-stop-2": #9747ff,
|
|
649
|
+
"ai-stop-3": #f282f5
|
|
644
650
|
),
|
|
645
651
|
"button": (
|
|
646
652
|
"primary": (
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCSS.d.ts","sourceRoot":"","sources":["../../../src/builders/buildCSS.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"buildCSS.d.ts","sourceRoot":"","sources":["../../../src/builders/buildCSS.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoKH;;GAEG;AACH,wBAAsB,iBAAiB,kBAkCtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTailwindV4.d.ts","sourceRoot":"","sources":["../../../src/builders/buildTailwindV4.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH;;GAEG;AACH,wBAAsB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"buildTailwindV4.d.ts","sourceRoot":"","sources":["../../../src/builders/buildTailwindV4.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH;;GAEG;AACH,wBAAsB,qBAAqB,kBAgP1C"}
|
|
@@ -25,6 +25,10 @@ export declare function flattenTypography(typography: any): Record<string, [stri
|
|
|
25
25
|
* Flatten radii (border radius)
|
|
26
26
|
*/
|
|
27
27
|
export declare function flattenRadii(radii: any): Record<string, string>;
|
|
28
|
+
/**
|
|
29
|
+
* Flatten border widths
|
|
30
|
+
*/
|
|
31
|
+
export declare function flattenBorderWidths(borderWidths: any): Record<string, string>;
|
|
28
32
|
/**
|
|
29
33
|
* Flatten shadows
|
|
30
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/builders/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,MAAM,GAAE,MAAW,EACnB,SAAS,GAAE,MAAY,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,GACd,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAkBlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,GAAG,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAUjC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/builders/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,MAAM,GAAE,MAAW,EACnB,SAAS,GAAE,MAAY,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,GACd,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAkBlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,GAAG,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAUjC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB"}
|
|
@@ -91,6 +91,9 @@ export declare const colors: {
|
|
|
91
91
|
gradient: {
|
|
92
92
|
ai: string;
|
|
93
93
|
"ai-subtle": string;
|
|
94
|
+
"ai-stop-1": string;
|
|
95
|
+
"ai-stop-2": string;
|
|
96
|
+
"ai-stop-3": string;
|
|
94
97
|
};
|
|
95
98
|
button: {
|
|
96
99
|
primary: {
|
|
@@ -662,6 +665,9 @@ declare const darkTheme: {
|
|
|
662
665
|
gradient: {
|
|
663
666
|
ai: string;
|
|
664
667
|
"ai-subtle": string;
|
|
668
|
+
"ai-stop-1": string;
|
|
669
|
+
"ai-stop-2": string;
|
|
670
|
+
"ai-stop-3": string;
|
|
665
671
|
};
|
|
666
672
|
button: {
|
|
667
673
|
primary: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/dark/theme.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AAIF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAeb,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;YA8BnD,mDAAmD
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/dark/theme.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AAIF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAeb,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;YA8BnD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2MrD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGtD,CAAC;AAEF,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAjVT,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;gBA8BnD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2MrD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6GtD,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -249,6 +249,9 @@ export declare const colors: {
|
|
|
249
249
|
gradient: {
|
|
250
250
|
ai: string;
|
|
251
251
|
"ai-subtle": string;
|
|
252
|
+
"ai-stop-1": string;
|
|
253
|
+
"ai-stop-2": string;
|
|
254
|
+
"ai-stop-3": string;
|
|
252
255
|
};
|
|
253
256
|
button: {
|
|
254
257
|
primary: {
|
|
@@ -923,6 +926,9 @@ declare const theme: {
|
|
|
923
926
|
gradient: {
|
|
924
927
|
ai: string;
|
|
925
928
|
"ai-subtle": string;
|
|
929
|
+
"ai-stop-1": string;
|
|
930
|
+
"ai-stop-2": string;
|
|
931
|
+
"ai-stop-3": string;
|
|
926
932
|
};
|
|
927
933
|
button: {
|
|
928
934
|
primary: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/light/theme.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,WAAW;;;;;CAGvB,CAAC;AAMF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAcb,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;YA6BnD,mDAAmD
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/light/theme.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,WAAW;;;;;CAGvB,CAAC;AAMF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAcb,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;YA6BnD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkNrD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ItD,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAatB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAarB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAavB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE1C,eAAO,MAAM,UAAU,QAA+B,CAAC;AAEvD,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;CAUjB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;CAUjB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;CAInB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAEF,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA7eL,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;gBA6BnD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkNrD,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6RtD,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/lib/builders/buildCSS.js
CHANGED
|
@@ -21,7 +21,7 @@ import fs from "fs";
|
|
|
21
21
|
import path from "path";
|
|
22
22
|
import lightTheme from "../light/theme";
|
|
23
23
|
import darkTheme from "../dark/theme";
|
|
24
|
-
import { flattenColors, flattenSpacing, flattenRadii, flattenShadows, flattenFontWeights, flattenEasing, flattenDuration } from "./utils";
|
|
24
|
+
import { flattenColors, flattenSpacing, flattenRadii, flattenBorderWidths, flattenShadows, flattenFontWeights, flattenEasing, flattenDuration } from "./utils";
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Convert a flat object into CSS custom properties
|
|
@@ -119,6 +119,11 @@ function generateCSSVariables(themeObj, mode) {
|
|
|
119
119
|
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(radii, "radius")));
|
|
120
120
|
console.log(" - Mapped ".concat(Object.keys(radii).length, " border radius values"));
|
|
121
121
|
|
|
122
|
+
// Border width
|
|
123
|
+
var borderWidths = flattenBorderWidths(themeObj.borderWidths);
|
|
124
|
+
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(borderWidths, "border-width")));
|
|
125
|
+
console.log(" - Mapped ".concat(Object.keys(borderWidths).length, " border width values"));
|
|
126
|
+
|
|
122
127
|
// Shadows
|
|
123
128
|
var shadows = flattenShadows(themeObj.shadows);
|
|
124
129
|
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(shadows, "shadow")));
|
|
@@ -37,7 +37,7 @@ export function buildTailwindV4Preset() {
|
|
|
37
37
|
}
|
|
38
38
|
function _buildTailwindV4Preset() {
|
|
39
39
|
_buildTailwindV4Preset = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
40
|
-
var distDir, lines, spacingMap, _i, _Object$entries, _Object$entries$_i, key, value, radiusMap, _i2, _Object$entries2, _Object$entries2$_i, _key, _value,
|
|
40
|
+
var distDir, lines, spacingMap, _i, _Object$entries, _Object$entries$_i, key, value, radiusMap, _i2, _Object$entries2, _Object$entries2$_i, _key, _value, borderWidthMap, _i3, _Object$entries3, _Object$entries3$_i, _key2, _value2, typographyScales, _i4, _typographyScales, scale, _key3, val, buttonColors, _i5, _Object$entries4, _Object$entries4$_i, _key4, _value3, semanticColors, _i6, _Object$entries5, _Object$entries5$_i, _key5, _value4, darkButtonColors, _i7, _Object$entries6, _Object$entries6$_i, _key6, _value5, css, outPath;
|
|
41
41
|
return _regenerator().w(function (_context) {
|
|
42
42
|
while (1) switch (_context.n) {
|
|
43
43
|
case 0:
|
|
@@ -94,16 +94,34 @@ function _buildTailwindV4Preset() {
|
|
|
94
94
|
console.log(" - Mapped ".concat(Object.keys(radiusMap).length, " border radius tokens"));
|
|
95
95
|
lines.push("");
|
|
96
96
|
|
|
97
|
+
// -------------------------------------------------------------------------
|
|
98
|
+
// Border width — from @sproutsocial/seeds-border
|
|
99
|
+
// Seeds' own `border-w-{key}` utility (not Tailwind's numeric border-<n>
|
|
100
|
+
// scale) — see seeds-react-system-props/src/scales.ts SCALE_PROPS.borderWidth
|
|
101
|
+
// -------------------------------------------------------------------------
|
|
102
|
+
lines.push(" /* Border width — from @sproutsocial/seeds-border */");
|
|
103
|
+
borderWidthMap = {
|
|
104
|
+
500: BORDER.BORDER_WIDTH_500,
|
|
105
|
+
600: BORDER.BORDER_WIDTH_600,
|
|
106
|
+
700: BORDER.BORDER_WIDTH_700
|
|
107
|
+
};
|
|
108
|
+
for (_i3 = 0, _Object$entries3 = Object.entries(borderWidthMap); _i3 < _Object$entries3.length; _i3++) {
|
|
109
|
+
_Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2), _key2 = _Object$entries3$_i[0], _value2 = _Object$entries3$_i[1];
|
|
110
|
+
lines.push(" --border-width-".concat(_key2, ": ").concat(_value2, ";"));
|
|
111
|
+
}
|
|
112
|
+
console.log(" - Mapped ".concat(Object.keys(borderWidthMap).length, " border width tokens"));
|
|
113
|
+
lines.push("");
|
|
114
|
+
|
|
97
115
|
// -------------------------------------------------------------------------
|
|
98
116
|
// Font size — from @sproutsocial/seeds-typography
|
|
99
117
|
// Tailwind v4: --text-{key}--font-size + --text-{key}--line-height → text-{key}
|
|
100
118
|
// -------------------------------------------------------------------------
|
|
101
119
|
lines.push(" /* Font size — from @sproutsocial/seeds-typography */");
|
|
102
120
|
typographyScales = [100, 200, 300, 400, 500, 600, 700];
|
|
103
|
-
for (
|
|
104
|
-
scale = _typographyScales[
|
|
105
|
-
|
|
106
|
-
val = TYPOGRAPHY[
|
|
121
|
+
for (_i4 = 0, _typographyScales = typographyScales; _i4 < _typographyScales.length; _i4++) {
|
|
122
|
+
scale = _typographyScales[_i4];
|
|
123
|
+
_key3 = "TYPOGRAPHY_SIZE_".concat(scale);
|
|
124
|
+
val = TYPOGRAPHY[_key3];
|
|
107
125
|
if (val && val.fontSize && val.lineHeight) {
|
|
108
126
|
// Tailwind v4 uses --text-*--font-size and --text-*--line-height for
|
|
109
127
|
// the two-value tuple equivalent
|
|
@@ -149,9 +167,9 @@ function _buildTailwindV4Preset() {
|
|
|
149
167
|
"color-button-placeholder-text-hover": COLORS.COLOR_BLUE_800,
|
|
150
168
|
"color-button-placeholder-border-base": COLORS.COLOR_NEUTRAL_500
|
|
151
169
|
};
|
|
152
|
-
for (
|
|
153
|
-
_Object$
|
|
154
|
-
lines.push(" --".concat(
|
|
170
|
+
for (_i5 = 0, _Object$entries4 = Object.entries(buttonColors); _i5 < _Object$entries4.length; _i5++) {
|
|
171
|
+
_Object$entries4$_i = _slicedToArray(_Object$entries4[_i5], 2), _key4 = _Object$entries4$_i[0], _value3 = _Object$entries4$_i[1];
|
|
172
|
+
lines.push(" --".concat(_key4, ": ").concat(_value3, ";"));
|
|
155
173
|
}
|
|
156
174
|
console.log(" - Mapped ".concat(Object.keys(buttonColors).length, " button color tokens"));
|
|
157
175
|
lines.push("");
|
|
@@ -181,9 +199,9 @@ function _buildTailwindV4Preset() {
|
|
|
181
199
|
"color-form-border-selected": "var(--color-form-border-selected)",
|
|
182
200
|
"color-form-placeholder-base": "var(--color-form-placeholder-base)"
|
|
183
201
|
};
|
|
184
|
-
for (
|
|
185
|
-
_Object$
|
|
186
|
-
lines.push(" --".concat(
|
|
202
|
+
for (_i6 = 0, _Object$entries5 = Object.entries(semanticColors); _i6 < _Object$entries5.length; _i6++) {
|
|
203
|
+
_Object$entries5$_i = _slicedToArray(_Object$entries5[_i6], 2), _key5 = _Object$entries5$_i[0], _value4 = _Object$entries5$_i[1];
|
|
204
|
+
lines.push(" --".concat(_key5, ": ").concat(_value4, ";"));
|
|
187
205
|
}
|
|
188
206
|
console.log(" - Mapped ".concat(Object.keys(semanticColors).length, " semantic color tokens"));
|
|
189
207
|
|
|
@@ -212,9 +230,9 @@ function _buildTailwindV4Preset() {
|
|
|
212
230
|
"color-button-placeholder-text-base-dark": COLORS.COLOR_BLUE_400,
|
|
213
231
|
"color-button-placeholder-text-hover-dark": COLORS.COLOR_BLUE_300
|
|
214
232
|
};
|
|
215
|
-
for (
|
|
216
|
-
_Object$
|
|
217
|
-
lines.push(" --".concat(
|
|
233
|
+
for (_i7 = 0, _Object$entries6 = Object.entries(darkButtonColors); _i7 < _Object$entries6.length; _i7++) {
|
|
234
|
+
_Object$entries6$_i = _slicedToArray(_Object$entries6[_i7], 2), _key6 = _Object$entries6$_i[0], _value5 = _Object$entries6$_i[1];
|
|
235
|
+
lines.push(" --".concat(_key6, ": ").concat(_value5, ";"));
|
|
218
236
|
}
|
|
219
237
|
console.log(" - Mapped ".concat(Object.keys(darkButtonColors).length, " dark mode button color tokens"));
|
|
220
238
|
lines.push("}");
|
package/lib/builders/utils.js
CHANGED
|
@@ -118,11 +118,11 @@ export function flattenRadii(radii) {
|
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
/**
|
|
121
|
-
* Flatten
|
|
121
|
+
* Flatten border widths
|
|
122
122
|
*/
|
|
123
|
-
export function
|
|
123
|
+
export function flattenBorderWidths(borderWidths) {
|
|
124
124
|
var flattened = {};
|
|
125
|
-
for (var _i5 = 0, _Object$entries5 = Object.entries(
|
|
125
|
+
for (var _i5 = 0, _Object$entries5 = Object.entries(borderWidths); _i5 < _Object$entries5.length; _i5++) {
|
|
126
126
|
var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i5], 2),
|
|
127
127
|
key = _Object$entries5$_i[0],
|
|
128
128
|
value = _Object$entries5$_i[1];
|
|
@@ -134,15 +134,15 @@ export function flattenShadows(shadows) {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
/**
|
|
137
|
-
* Flatten
|
|
137
|
+
* Flatten shadows
|
|
138
138
|
*/
|
|
139
|
-
export function
|
|
139
|
+
export function flattenShadows(shadows) {
|
|
140
140
|
var flattened = {};
|
|
141
|
-
for (var _i6 = 0, _Object$entries6 = Object.entries(
|
|
141
|
+
for (var _i6 = 0, _Object$entries6 = Object.entries(shadows); _i6 < _Object$entries6.length; _i6++) {
|
|
142
142
|
var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i6], 2),
|
|
143
143
|
key = _Object$entries6$_i[0],
|
|
144
144
|
value = _Object$entries6$_i[1];
|
|
145
|
-
if (typeof value === "string"
|
|
145
|
+
if (typeof value === "string") {
|
|
146
146
|
flattened[key] = value;
|
|
147
147
|
}
|
|
148
148
|
}
|
|
@@ -150,15 +150,15 @@ export function flattenFontWeights(fontWeights) {
|
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
/**
|
|
153
|
-
* Flatten
|
|
153
|
+
* Flatten font weights
|
|
154
154
|
*/
|
|
155
|
-
export function
|
|
155
|
+
export function flattenFontWeights(fontWeights) {
|
|
156
156
|
var flattened = {};
|
|
157
|
-
for (var _i7 = 0, _Object$entries7 = Object.entries(
|
|
157
|
+
for (var _i7 = 0, _Object$entries7 = Object.entries(fontWeights); _i7 < _Object$entries7.length; _i7++) {
|
|
158
158
|
var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i7], 2),
|
|
159
159
|
key = _Object$entries7$_i[0],
|
|
160
160
|
value = _Object$entries7$_i[1];
|
|
161
|
-
if (typeof value === "string") {
|
|
161
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
162
162
|
flattened[key] = value;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
@@ -166,11 +166,11 @@ export function flattenEasing(easing) {
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
/**
|
|
169
|
-
* Flatten
|
|
169
|
+
* Flatten easing (transition timing functions)
|
|
170
170
|
*/
|
|
171
|
-
export function
|
|
171
|
+
export function flattenEasing(easing) {
|
|
172
172
|
var flattened = {};
|
|
173
|
-
for (var _i8 = 0, _Object$entries8 = Object.entries(
|
|
173
|
+
for (var _i8 = 0, _Object$entries8 = Object.entries(easing); _i8 < _Object$entries8.length; _i8++) {
|
|
174
174
|
var _Object$entries8$_i = _slicedToArray(_Object$entries8[_i8], 2),
|
|
175
175
|
key = _Object$entries8$_i[0],
|
|
176
176
|
value = _Object$entries8$_i[1];
|
|
@@ -181,6 +181,22 @@ export function flattenDuration(duration) {
|
|
|
181
181
|
return flattened;
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
+
/**
|
|
185
|
+
* Flatten duration (transition durations)
|
|
186
|
+
*/
|
|
187
|
+
export function flattenDuration(duration) {
|
|
188
|
+
var flattened = {};
|
|
189
|
+
for (var _i9 = 0, _Object$entries9 = Object.entries(duration); _i9 < _Object$entries9.length; _i9++) {
|
|
190
|
+
var _Object$entries9$_i = _slicedToArray(_Object$entries9[_i9], 2),
|
|
191
|
+
key = _Object$entries9$_i[0],
|
|
192
|
+
value = _Object$entries9$_i[1];
|
|
193
|
+
if (typeof value === "string") {
|
|
194
|
+
flattened[key] = value;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return flattened;
|
|
198
|
+
}
|
|
199
|
+
|
|
184
200
|
/**
|
|
185
201
|
* Check if a value is a valid CSS color
|
|
186
202
|
* Filters out complex values like color-mix() which may not work everywhere
|
|
@@ -194,10 +210,10 @@ export function isSimpleColor(value) {
|
|
|
194
210
|
*/
|
|
195
211
|
export function filterComplexColors(colors) {
|
|
196
212
|
var filtered = {};
|
|
197
|
-
for (var
|
|
198
|
-
var _Object$
|
|
199
|
-
key = _Object$
|
|
200
|
-
value = _Object$
|
|
213
|
+
for (var _i0 = 0, _Object$entries0 = Object.entries(colors); _i0 < _Object$entries0.length; _i0++) {
|
|
214
|
+
var _Object$entries0$_i = _slicedToArray(_Object$entries0[_i0], 2),
|
|
215
|
+
key = _Object$entries0$_i[0],
|
|
216
|
+
value = _Object$entries0$_i[1];
|
|
201
217
|
if (isSimpleColor(value)) {
|
|
202
218
|
filtered[key] = value;
|
|
203
219
|
} else {
|
package/lib/dark/theme.js
CHANGED
|
@@ -91,7 +91,12 @@ export var colors = _objectSpread(_objectSpread({}, lightTheme.colors), {}, {
|
|
|
91
91
|
// contrast against the dark surface (Figma Sprout Variables, "Trellis" dark).
|
|
92
92
|
gradient: {
|
|
93
93
|
ai: "radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%)",
|
|
94
|
-
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)"
|
|
94
|
+
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #679eff, transparent 80%) 0%, color-mix(in srgb, #b984ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)",
|
|
95
|
+
// Discrete stops for SVG paint servers — see the light theme for why these
|
|
96
|
+
// exist alongside the composed gradient strings.
|
|
97
|
+
"ai-stop-1": "#679eff",
|
|
98
|
+
"ai-stop-2": "#b984ff",
|
|
99
|
+
"ai-stop-3": "#f282f5"
|
|
95
100
|
},
|
|
96
101
|
button: {
|
|
97
102
|
primary: {
|
package/lib/light/theme.js
CHANGED
|
@@ -100,7 +100,16 @@ export var colors = _objectSpread(_objectSpread({
|
|
|
100
100
|
ai: "radial-gradient(circle at bottom left, #205bc3 0%, #9747ff 61%, #f282f5 100%)",
|
|
101
101
|
// 20% tint — AI secondary (composited over a white base in CSS).
|
|
102
102
|
// Kebab key so it flattens to --color-gradient-ai-subtle.
|
|
103
|
-
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)"
|
|
103
|
+
"ai-subtle": "radial-gradient(circle at bottom left, color-mix(in srgb, #205bc3, transparent 80%) 0%, color-mix(in srgb, #9747ff, transparent 80%) 61%, color-mix(in srgb, #f282f5, transparent 80%) 100%)",
|
|
104
|
+
// The same three stops as discrete colors, flattening to
|
|
105
|
+
// --color-gradient-ai-stop-{1,2,3}. SVG needs a real <radialGradient> with
|
|
106
|
+
// separate <stop> elements to use as a paint server, and a CSS
|
|
107
|
+
// radial-gradient() string can't be decomposed back into stops. Consumed by
|
|
108
|
+
// seeds-react-icon's gradient defs (see icon.css) so gradient-filled icons
|
|
109
|
+
// pick up dark mode through the usual .dark variable swap.
|
|
110
|
+
"ai-stop-1": "#205bc3",
|
|
111
|
+
"ai-stop-2": "#9747ff",
|
|
112
|
+
"ai-stop-3": "#f282f5"
|
|
104
113
|
},
|
|
105
114
|
button: {
|
|
106
115
|
primary: {
|