@sproutsocial/seeds-react-theme 4.3.1 → 4.5.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 +17 -4
- package/commonjs/builders/buildTailwindV4.js +32 -14
- package/commonjs/builders/utils.js +39 -19
- 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 +188 -0
- package/dist/theme-dark.css +94 -0
- package/dist/theme.css +94 -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 +5 -0
- 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 +10 -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 +18 -5
- package/lib/builders/buildTailwindV4.js +32 -14
- package/lib/builders/utils.js +38 -20
- package/lib/dark/theme.js +6 -1
- package/lib/light/theme.js +10 -1
- package/package.json +6 -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)
|
|
@@ -4,10 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.buildCSSVariables = buildCSSVariables;
|
|
7
|
+
exports.generateCombinedCSS = generateCombinedCSS;
|
|
7
8
|
var _fs = _interopRequireDefault(require("fs"));
|
|
8
9
|
var _path = _interopRequireDefault(require("path"));
|
|
9
|
-
var _theme = _interopRequireDefault(require("../light/theme"));
|
|
10
|
-
var _theme2 = _interopRequireDefault(require("../dark/theme"));
|
|
10
|
+
var _theme = _interopRequireDefault(require("../extendedThemes/sproutTheme/light/theme"));
|
|
11
|
+
var _theme2 = _interopRequireDefault(require("../extendedThemes/sproutTheme/dark/theme"));
|
|
11
12
|
var _utils = require("./utils");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
@@ -26,7 +27,13 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
26
27
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
27
28
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /**
|
|
28
29
|
* Build CSS custom properties (variables) from Seeds theme objects
|
|
29
|
-
*/
|
|
30
|
+
*/ // Source the full production theme (base + extended sproutTheme namespaces:
|
|
31
|
+
// growth, ai, navigation, datePicker, analytics, listening, cardControl, tags),
|
|
32
|
+
// not the base theme alone. The styled-system shim resolves color props to
|
|
33
|
+
// var(--color-...) references and is theme-agnostic, so every namespace must
|
|
34
|
+
// have a real CSS var wherever the shim runs. Both sprout themes spread the
|
|
35
|
+
// base theme, so all non-color fields (space, typography, radii, ...) are
|
|
36
|
+
// unchanged and base color tokens keep identical values.
|
|
30
37
|
/**
|
|
31
38
|
* Convert a flat object into CSS custom properties
|
|
32
39
|
*/
|
|
@@ -123,6 +130,11 @@ function generateCSSVariables(themeObj, mode) {
|
|
|
123
130
|
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(radii, "radius")));
|
|
124
131
|
console.log(" - Mapped ".concat(Object.keys(radii).length, " border radius values"));
|
|
125
132
|
|
|
133
|
+
// Border width
|
|
134
|
+
var borderWidths = (0, _utils.flattenBorderWidths)(themeObj.borderWidths);
|
|
135
|
+
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(borderWidths, "border-width")));
|
|
136
|
+
console.log(" - Mapped ".concat(Object.keys(borderWidths).length, " border width values"));
|
|
137
|
+
|
|
126
138
|
// Shadows
|
|
127
139
|
var shadows = (0, _utils.flattenShadows)(themeObj.shadows);
|
|
128
140
|
variables.push.apply(variables, _toConsumableArray(objectToCSSVariables(shadows, "shadow")));
|
|
@@ -143,7 +155,8 @@ function generateCSSVariables(themeObj, mode) {
|
|
|
143
155
|
}
|
|
144
156
|
|
|
145
157
|
/**
|
|
146
|
-
* Build a combined CSS file with both light and dark themes
|
|
158
|
+
* Build a combined CSS file with both light and dark themes. Exported so tests
|
|
159
|
+
* can assert the source theme (extended sproutTheme) actually feeds the output.
|
|
147
160
|
*/
|
|
148
161
|
function generateCombinedCSS() {
|
|
149
162
|
console.log("Building combined CSS with light and dark themes...");
|
|
@@ -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("}");
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.abbreviate = abbreviate;
|
|
6
7
|
exports.filterComplexColors = filterComplexColors;
|
|
8
|
+
exports.flattenBorderWidths = flattenBorderWidths;
|
|
7
9
|
exports.flattenColors = flattenColors;
|
|
8
10
|
exports.flattenDuration = flattenDuration;
|
|
9
11
|
exports.flattenEasing = flattenEasing;
|
|
@@ -38,7 +40,9 @@ var ABBREVIATIONS = {
|
|
|
38
40
|
};
|
|
39
41
|
|
|
40
42
|
/**
|
|
41
|
-
* Apply abbreviation rules to a
|
|
43
|
+
* Apply abbreviation rules to a single token-path segment. Shared by the CSS
|
|
44
|
+
* var generator (`flattenObject`) and the seeds-react-system-props shim's
|
|
45
|
+
* color-prop fallback, so the `--color-*` names each side produces can't drift.
|
|
42
46
|
*/
|
|
43
47
|
function abbreviate(key) {
|
|
44
48
|
return ABBREVIATIONS[key] || key;
|
|
@@ -134,11 +138,11 @@ function flattenRadii(radii) {
|
|
|
134
138
|
}
|
|
135
139
|
|
|
136
140
|
/**
|
|
137
|
-
* Flatten
|
|
141
|
+
* Flatten border widths
|
|
138
142
|
*/
|
|
139
|
-
function
|
|
143
|
+
function flattenBorderWidths(borderWidths) {
|
|
140
144
|
var flattened = {};
|
|
141
|
-
for (var _i5 = 0, _Object$entries5 = Object.entries(
|
|
145
|
+
for (var _i5 = 0, _Object$entries5 = Object.entries(borderWidths); _i5 < _Object$entries5.length; _i5++) {
|
|
142
146
|
var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i5], 2),
|
|
143
147
|
key = _Object$entries5$_i[0],
|
|
144
148
|
value = _Object$entries5$_i[1];
|
|
@@ -150,15 +154,15 @@ function flattenShadows(shadows) {
|
|
|
150
154
|
}
|
|
151
155
|
|
|
152
156
|
/**
|
|
153
|
-
* Flatten
|
|
157
|
+
* Flatten shadows
|
|
154
158
|
*/
|
|
155
|
-
function
|
|
159
|
+
function flattenShadows(shadows) {
|
|
156
160
|
var flattened = {};
|
|
157
|
-
for (var _i6 = 0, _Object$entries6 = Object.entries(
|
|
161
|
+
for (var _i6 = 0, _Object$entries6 = Object.entries(shadows); _i6 < _Object$entries6.length; _i6++) {
|
|
158
162
|
var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i6], 2),
|
|
159
163
|
key = _Object$entries6$_i[0],
|
|
160
164
|
value = _Object$entries6$_i[1];
|
|
161
|
-
if (typeof value === "string"
|
|
165
|
+
if (typeof value === "string") {
|
|
162
166
|
flattened[key] = value;
|
|
163
167
|
}
|
|
164
168
|
}
|
|
@@ -166,15 +170,15 @@ function flattenFontWeights(fontWeights) {
|
|
|
166
170
|
}
|
|
167
171
|
|
|
168
172
|
/**
|
|
169
|
-
* Flatten
|
|
173
|
+
* Flatten font weights
|
|
170
174
|
*/
|
|
171
|
-
function
|
|
175
|
+
function flattenFontWeights(fontWeights) {
|
|
172
176
|
var flattened = {};
|
|
173
|
-
for (var _i7 = 0, _Object$entries7 = Object.entries(
|
|
177
|
+
for (var _i7 = 0, _Object$entries7 = Object.entries(fontWeights); _i7 < _Object$entries7.length; _i7++) {
|
|
174
178
|
var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i7], 2),
|
|
175
179
|
key = _Object$entries7$_i[0],
|
|
176
180
|
value = _Object$entries7$_i[1];
|
|
177
|
-
if (typeof value === "string") {
|
|
181
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
178
182
|
flattened[key] = value;
|
|
179
183
|
}
|
|
180
184
|
}
|
|
@@ -182,11 +186,11 @@ function flattenEasing(easing) {
|
|
|
182
186
|
}
|
|
183
187
|
|
|
184
188
|
/**
|
|
185
|
-
* Flatten
|
|
189
|
+
* Flatten easing (transition timing functions)
|
|
186
190
|
*/
|
|
187
|
-
function
|
|
191
|
+
function flattenEasing(easing) {
|
|
188
192
|
var flattened = {};
|
|
189
|
-
for (var _i8 = 0, _Object$entries8 = Object.entries(
|
|
193
|
+
for (var _i8 = 0, _Object$entries8 = Object.entries(easing); _i8 < _Object$entries8.length; _i8++) {
|
|
190
194
|
var _Object$entries8$_i = _slicedToArray(_Object$entries8[_i8], 2),
|
|
191
195
|
key = _Object$entries8$_i[0],
|
|
192
196
|
value = _Object$entries8$_i[1];
|
|
@@ -197,6 +201,22 @@ function flattenDuration(duration) {
|
|
|
197
201
|
return flattened;
|
|
198
202
|
}
|
|
199
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Flatten duration (transition durations)
|
|
206
|
+
*/
|
|
207
|
+
function flattenDuration(duration) {
|
|
208
|
+
var flattened = {};
|
|
209
|
+
for (var _i9 = 0, _Object$entries9 = Object.entries(duration); _i9 < _Object$entries9.length; _i9++) {
|
|
210
|
+
var _Object$entries9$_i = _slicedToArray(_Object$entries9[_i9], 2),
|
|
211
|
+
key = _Object$entries9$_i[0],
|
|
212
|
+
value = _Object$entries9$_i[1];
|
|
213
|
+
if (typeof value === "string") {
|
|
214
|
+
flattened[key] = value;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return flattened;
|
|
218
|
+
}
|
|
219
|
+
|
|
200
220
|
/**
|
|
201
221
|
* Check if a value is a valid CSS color
|
|
202
222
|
* Filters out complex values like color-mix() which may not work everywhere
|
|
@@ -210,10 +230,10 @@ function isSimpleColor(value) {
|
|
|
210
230
|
*/
|
|
211
231
|
function filterComplexColors(colors) {
|
|
212
232
|
var filtered = {};
|
|
213
|
-
for (var
|
|
214
|
-
var _Object$
|
|
215
|
-
key = _Object$
|
|
216
|
-
value = _Object$
|
|
233
|
+
for (var _i0 = 0, _Object$entries0 = Object.entries(colors); _i0 < _Object$entries0.length; _i0++) {
|
|
234
|
+
var _Object$entries0$_i = _slicedToArray(_Object$entries0[_i0], 2),
|
|
235
|
+
key = _Object$entries0$_i[0],
|
|
236
|
+
value = _Object$entries0$_i[1];
|
|
217
237
|
if (isSimpleColor(value)) {
|
|
218
238
|
filtered[key] = value;
|
|
219
239
|
} 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;
|
|
@@ -421,6 +424,94 @@
|
|
|
421
424
|
--color-DATAVIZ_COLORS_MAP-19: #0ca750;
|
|
422
425
|
--color-DATAVIZ_COLORS_MAP-20: #ba7506;
|
|
423
426
|
--color-PLACEHOLDER: #c8cccc;
|
|
427
|
+
--color-ai-feature-decorative-primary: #067c7c;
|
|
428
|
+
--color-ai-feature-decorative-secondary: #0c3f89;
|
|
429
|
+
--color-ai-feature-bg-primary: #067c7c;
|
|
430
|
+
--color-ai-feature-bg-secondary: #0c3f89;
|
|
431
|
+
--color-ai-feature-bg-default-primary: #067c7c;
|
|
432
|
+
--color-ai-feature-bg-default-secondary: #0c3f89;
|
|
433
|
+
--color-ai-feature-bg-inverse-primary: #cdf7ef;
|
|
434
|
+
--color-ai-feature-bg-inverse-secondary: #c7dbf9;
|
|
435
|
+
--color-navigation-main-bg-base: #273333;
|
|
436
|
+
--color-navigation-main-bg-overflowGradient: #162020;
|
|
437
|
+
--color-navigation-main-border-base: #162020;
|
|
438
|
+
--color-navigation-secondary-bg-base: #364141;
|
|
439
|
+
--color-navigation-secondary-widget-bg-base: #162020;
|
|
440
|
+
--color-navigation-secondary-accordion-bg-base: #273333;
|
|
441
|
+
--color-navigation-settings-listItem-bg-base: transparent;
|
|
442
|
+
--color-navigation-settings-listItem-bg-hover: #dee1e1;
|
|
443
|
+
--color-navigation-settings-listItem-bg-selected: #FFFFFF;
|
|
444
|
+
--color-navigation-text-base: #FFFFFF;
|
|
445
|
+
--color-navigation-text-hover: #FFFFFF;
|
|
446
|
+
--color-navigation-icon-base: #FFFFFF;
|
|
447
|
+
--color-navigation-icon-hover: #FFFFFF;
|
|
448
|
+
--color-navigation-listItem-bg-base: #364141;
|
|
449
|
+
--color-navigation-listItem-bg-hover: #162020;
|
|
450
|
+
--color-navigation-listItem-bg-selected: #515e5f;
|
|
451
|
+
--color-datePicker-comparison-bg-base: #b0b6b7;
|
|
452
|
+
--color-datePicker-comparison-text-base: #364141;
|
|
453
|
+
--color-analytics-trend-positive: #067c7c;
|
|
454
|
+
--color-analytics-trend-neutral: #364141;
|
|
455
|
+
--color-analytics-trend-negative: #364141;
|
|
456
|
+
--color-analytics-overlay-bg-base: color-mix(in srgb, #FFFFFF, transparent 20%);
|
|
457
|
+
--color-listening-chart-indicator-default-primary: #b0b6b7;
|
|
458
|
+
--color-listening-chart-indicator-default-secondary: #FFFFFF;
|
|
459
|
+
--color-listening-chart-indicator-hover-primary: #162020;
|
|
460
|
+
--color-listening-chart-indicator-hover-secondary: #FFFFFF;
|
|
461
|
+
--color-listening-chart-spike-bg-base: #08c4b2;
|
|
462
|
+
--color-listening-chart-spike-icon-base: #FFFFFF;
|
|
463
|
+
--color-listening-topicTypes-customTopic: #679eff;
|
|
464
|
+
--color-listening-topicTypes-brandHealth: #ff7f6e;
|
|
465
|
+
--color-listening-topicTypes-industryInsights: #75dd66;
|
|
466
|
+
--color-listening-topicTypes-competitiveAnalysis: #ffd943;
|
|
467
|
+
--color-listening-topicTypes-campaignAnalysis: #f282f5;
|
|
468
|
+
--color-listening-topicTypes-eventMonitoring: #33d6e2;
|
|
469
|
+
--color-listening-topicTypes-featuredTopic: #75dd66;
|
|
470
|
+
--color-listening-worldMap-empty: #dee1e1;
|
|
471
|
+
--color-listening-worldMap-q0: #d8d7f9;
|
|
472
|
+
--color-listening-worldMap-q1: #c1c1f7;
|
|
473
|
+
--color-listening-worldMap-q2: #a193f2;
|
|
474
|
+
--color-listening-worldMap-q3: #9180f4;
|
|
475
|
+
--color-listening-worldMap-q4: #816fea;
|
|
476
|
+
--color-listening-worldMap-q5: #6f5ed3;
|
|
477
|
+
--color-listening-worldMap-q6: #5e4eba;
|
|
478
|
+
--color-listening-worldMap-q7: #483a9c;
|
|
479
|
+
--color-growth-carousel-indicator-active: #2b68d3;
|
|
480
|
+
--color-growth-carousel-indicator-inactive: #c8cccc;
|
|
481
|
+
--color-growth-education-decorative-aqua: #0797ae;
|
|
482
|
+
--color-growth-education-decorative-teal: #0b968f;
|
|
483
|
+
--color-growth-opportunity-bg-base: #6f5ed3;
|
|
484
|
+
--color-growth-opportunity-bg-secondary: #273333;
|
|
485
|
+
--color-growth-opportunity-bg-hover: #c1c1f7;
|
|
486
|
+
--color-growth-opportunity-button-primary-base: #6f5ed3;
|
|
487
|
+
--color-growth-opportunity-button-primary-hover: #5e4eba;
|
|
488
|
+
--color-growth-opportunity-badge-bg-base: #d8d7f9;
|
|
489
|
+
--color-growth-opportunity-badge-bg-active: #5e4eba;
|
|
490
|
+
--color-growth-opportunity-badge-icon-base: #6f5ed3;
|
|
491
|
+
--color-growth-opportunity-badge-icon-active: #eaeaf9;
|
|
492
|
+
--color-growth-opportunity-badge-text-base: #6f5ed3;
|
|
493
|
+
--color-growth-opportunity-decorative-green: #0ca750;
|
|
494
|
+
--color-growth-opportunity-decorative-lightAqua: #0797ae;
|
|
495
|
+
--color-growth-opportunity-decorative-darkAqua: #002838;
|
|
496
|
+
--color-growth-opportunity-decorative-purple: #6f5ed3;
|
|
497
|
+
--color-growth-featuredDemo-bg-primary-base: #205bc3;
|
|
498
|
+
--color-growth-featuredDemo-bg-primary-hover: #0c3f89;
|
|
499
|
+
--color-growth-featuredDemo-bg-secondary-base: #5e4eba;
|
|
500
|
+
--color-growth-featuredDemo-bg-secondary-hover: #5e4eba;
|
|
501
|
+
--color-growth-darkModal-bg-base: #002838;
|
|
502
|
+
--color-growth-darkModal-text-base: #FFFFFF;
|
|
503
|
+
--color-growth-darkModal-cards-bg-base: #FFFFFF;
|
|
504
|
+
--color-growth-darkModal-cards-bg-hover: #eaeaf9;
|
|
505
|
+
--color-growth-darkModal-cards-text-base: #364141;
|
|
506
|
+
--color-growth-darkModal-cards-text-hover: #273333;
|
|
507
|
+
--color-growth-darkModal-cards-border-base: #FFFFFF;
|
|
508
|
+
--color-growth-darkModal-cards-border-hover: #6f5ed3;
|
|
509
|
+
--color-growth-user-status-online: #0ca750;
|
|
510
|
+
--color-cardControl-bg-base: #FFFFFF;
|
|
511
|
+
--color-cardControl-bg-selected: #364141;
|
|
512
|
+
--color-cardControl-bg-hover: #f3f4f4;
|
|
513
|
+
--color-cardControl-text-selected: #FFFFFF;
|
|
514
|
+
--color-tags-collections-bg-base: #f3f4f4;
|
|
424
515
|
--space-0: 0px;
|
|
425
516
|
--space-100: 2px;
|
|
426
517
|
--space-200: 4px;
|
|
@@ -468,6 +559,9 @@
|
|
|
468
559
|
--radius-inner: 6px;
|
|
469
560
|
--radius-outer: 8px;
|
|
470
561
|
--radius-pill: 999999px;
|
|
562
|
+
--border-width-500: 1px;
|
|
563
|
+
--border-width-600: 2px;
|
|
564
|
+
--border-width-700: 3px;
|
|
471
565
|
--shadow-low: 0px 2px 4px #2733333D;
|
|
472
566
|
--shadow-medium: 0px 8px 16px #2733333D;
|
|
473
567
|
--shadow-high: 0px 16px 32px #2733333D;
|
|
@@ -531,6 +625,9 @@
|
|
|
531
625
|
--color-container-border-ai_generated: #6f5ed3;
|
|
532
626
|
--color-gradient-ai: radial-gradient(circle at bottom left, #679eff 0%, #b984ff 61%, #f282f5 100%);
|
|
533
627
|
--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%);
|
|
628
|
+
--color-gradient-ai-stop-1: #679eff;
|
|
629
|
+
--color-gradient-ai-stop-2: #b984ff;
|
|
630
|
+
--color-gradient-ai-stop-3: #f282f5;
|
|
534
631
|
--color-button-primary-bg-base: #679eff;
|
|
535
632
|
--color-button-primary-bg-hover: #a1c2f8;
|
|
536
633
|
--color-button-primary-bg-active: #c7dbf9;
|
|
@@ -902,6 +999,94 @@
|
|
|
902
999
|
--color-DATAVIZ_COLORS_MAP-19: #c2f2bd;
|
|
903
1000
|
--color-DATAVIZ_COLORS_MAP-20: #ffe99a;
|
|
904
1001
|
--color-PLACEHOLDER: #364141;
|
|
1002
|
+
--color-navigation-main-bg-base: #162020;
|
|
1003
|
+
--color-navigation-main-bg-overflowGradient: #040404;
|
|
1004
|
+
--color-navigation-main-border-base: #040404;
|
|
1005
|
+
--color-navigation-secondary-bg-base: #273333;
|
|
1006
|
+
--color-navigation-secondary-widget-bg-base: #364141;
|
|
1007
|
+
--color-navigation-secondary-accordion-bg-base: #162020A3;
|
|
1008
|
+
--color-navigation-settings-listItem-bg-base: transparent;
|
|
1009
|
+
--color-navigation-settings-listItem-bg-hover: #040404;
|
|
1010
|
+
--color-navigation-settings-listItem-bg-selected: #364141;
|
|
1011
|
+
--color-navigation-text-base: #FFFFFF;
|
|
1012
|
+
--color-navigation-text-hover: #FFFFFF;
|
|
1013
|
+
--color-navigation-icon-base: #FFFFFF;
|
|
1014
|
+
--color-navigation-icon-hover: #FFFFFF;
|
|
1015
|
+
--color-navigation-listItem-bg-base: #162020;
|
|
1016
|
+
--color-navigation-listItem-bg-hover: #040404;
|
|
1017
|
+
--color-navigation-listItem-bg-selected: #515e5f;
|
|
1018
|
+
--color-datePicker-comparison-bg-base: #b0b6b7;
|
|
1019
|
+
--color-datePicker-comparison-text-base: #364141;
|
|
1020
|
+
--color-ai-feature-decorative-primary: #067c7c;
|
|
1021
|
+
--color-ai-feature-decorative-secondary: #0c3f89;
|
|
1022
|
+
--color-ai-feature-bg-primary: #cdf7ef;
|
|
1023
|
+
--color-ai-feature-bg-secondary: #c7dbf9;
|
|
1024
|
+
--color-ai-feature-bg-default-primary: #cdf7ef;
|
|
1025
|
+
--color-ai-feature-bg-default-secondary: #c7dbf9;
|
|
1026
|
+
--color-ai-feature-bg-inverse-primary: #067c7c;
|
|
1027
|
+
--color-ai-feature-bg-inverse-secondary: #0c3f89;
|
|
1028
|
+
--color-analytics-trend-positive: #08c4b2;
|
|
1029
|
+
--color-analytics-trend-neutral: #f3f4f4;
|
|
1030
|
+
--color-analytics-trend-negative: #f3f4f4;
|
|
1031
|
+
--color-analytics-overlay-bg-base: color-mix(in srgb, #273333, transparent 20%);
|
|
1032
|
+
--color-listening-chart-indicator-default-primary: #f3f4f4;
|
|
1033
|
+
--color-listening-chart-indicator-default-secondary: #273333;
|
|
1034
|
+
--color-listening-chart-indicator-hover-primary: #c8cccc;
|
|
1035
|
+
--color-listening-chart-indicator-hover-secondary: #FFFFFF;
|
|
1036
|
+
--color-listening-chart-spike-bg-base: #08c4b2;
|
|
1037
|
+
--color-listening-chart-spike-icon-base: #FFFFFF;
|
|
1038
|
+
--color-listening-topicTypes-customTopic: #24e0c5;
|
|
1039
|
+
--color-listening-topicTypes-brandHealth: #ff7f6e;
|
|
1040
|
+
--color-listening-topicTypes-industryInsights: #75dd66;
|
|
1041
|
+
--color-listening-topicTypes-competitiveAnalysis: #ffd943;
|
|
1042
|
+
--color-listening-topicTypes-campaignAnalysis: #f282f5;
|
|
1043
|
+
--color-listening-topicTypes-eventMonitoring: #33d6e2;
|
|
1044
|
+
--color-listening-topicTypes-featuredTopic: #75dd66;
|
|
1045
|
+
--color-listening-worldMap-empty: #dee1e1;
|
|
1046
|
+
--color-listening-worldMap-q0: #d8d7f9;
|
|
1047
|
+
--color-listening-worldMap-q1: #c1c1f7;
|
|
1048
|
+
--color-listening-worldMap-q2: #a193f2;
|
|
1049
|
+
--color-listening-worldMap-q3: #9180f4;
|
|
1050
|
+
--color-listening-worldMap-q4: #816fea;
|
|
1051
|
+
--color-listening-worldMap-q5: #6f5ed3;
|
|
1052
|
+
--color-listening-worldMap-q6: #5e4eba;
|
|
1053
|
+
--color-listening-worldMap-q7: #483a9c;
|
|
1054
|
+
--color-growth-carousel-indicator-active: #2b68d3;
|
|
1055
|
+
--color-growth-carousel-indicator-inactive: #c8cccc;
|
|
1056
|
+
--color-growth-education-decorative-aqua: #0797ae;
|
|
1057
|
+
--color-growth-education-decorative-teal: #08c4b2;
|
|
1058
|
+
--color-growth-opportunity-bg-base: #6f5ed3;
|
|
1059
|
+
--color-growth-opportunity-bg-secondary: #515e5f;
|
|
1060
|
+
--color-growth-opportunity-bg-hover: #9180f4;
|
|
1061
|
+
--color-growth-opportunity-button-primary-base: #a193f2;
|
|
1062
|
+
--color-growth-opportunity-button-primary-hover: #c1c1f7;
|
|
1063
|
+
--color-growth-opportunity-badge-bg-base: #6f5ed3;
|
|
1064
|
+
--color-growth-opportunity-badge-bg-active: #eaeaf9;
|
|
1065
|
+
--color-growth-opportunity-badge-icon-base: #d8d7f9;
|
|
1066
|
+
--color-growth-opportunity-badge-icon-active: #5e4eba;
|
|
1067
|
+
--color-growth-opportunity-badge-text-base: #d8d7f9;
|
|
1068
|
+
--color-growth-opportunity-decorative-green: #0ca750;
|
|
1069
|
+
--color-growth-opportunity-decorative-lightAqua: #0797ae;
|
|
1070
|
+
--color-growth-opportunity-decorative-darkAqua: #002838;
|
|
1071
|
+
--color-growth-opportunity-decorative-purple: #6f5ed3;
|
|
1072
|
+
--color-growth-featuredDemo-bg-primary-base: #679eff;
|
|
1073
|
+
--color-growth-featuredDemo-bg-primary-hover: #deebfe;
|
|
1074
|
+
--color-growth-featuredDemo-bg-secondary-base: #9180f4;
|
|
1075
|
+
--color-growth-featuredDemo-bg-secondary-hover: #eaeaf9;
|
|
1076
|
+
--color-growth-darkModal-bg-base: #002838;
|
|
1077
|
+
--color-growth-darkModal-text-base: #FFFFFF;
|
|
1078
|
+
--color-growth-darkModal-cards-bg-base: #FFFFFF;
|
|
1079
|
+
--color-growth-darkModal-cards-bg-hover: #eaeaf9;
|
|
1080
|
+
--color-growth-darkModal-cards-text-base: #364141;
|
|
1081
|
+
--color-growth-darkModal-cards-text-hover: #273333;
|
|
1082
|
+
--color-growth-darkModal-cards-border-base: #FFFFFF;
|
|
1083
|
+
--color-growth-darkModal-cards-border-hover: #6f5ed3;
|
|
1084
|
+
--color-growth-user-status-online: #0ca750;
|
|
1085
|
+
--color-cardControl-bg-base: #273333;
|
|
1086
|
+
--color-cardControl-bg-selected: #515e5f;
|
|
1087
|
+
--color-cardControl-bg-hover: #364141;
|
|
1088
|
+
--color-cardControl-text-selected: #f3f4f4;
|
|
1089
|
+
--color-tags-collections-bg-base: #364141;
|
|
905
1090
|
--space-0: 0px;
|
|
906
1091
|
--space-100: 2px;
|
|
907
1092
|
--space-200: 4px;
|
|
@@ -949,6 +1134,9 @@
|
|
|
949
1134
|
--radius-inner: 6px;
|
|
950
1135
|
--radius-outer: 8px;
|
|
951
1136
|
--radius-pill: 999999px;
|
|
1137
|
+
--border-width-500: 1px;
|
|
1138
|
+
--border-width-600: 2px;
|
|
1139
|
+
--border-width-700: 3px;
|
|
952
1140
|
--shadow-low: 0px 2px 4px #040404FF;
|
|
953
1141
|
--shadow-medium: 0px 8px 16px #040404FF;
|
|
954
1142
|
--shadow-high: 0px 16px 32px #040404FF;
|