@matteoaliano/forest-ui 0.2.9 → 0.2.11

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.
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Stamps the current package version into all guideline .md files.
5
+ * Replaces lines matching `> **forest-ui v*.**` with the version from package.json.
6
+ *
7
+ * Run automatically before sync and publish via npm scripts.
8
+ */
9
+
10
+ import { readFileSync, writeFileSync, readdirSync, existsSync } from "node:fs";
11
+ import { resolve, dirname } from "node:path";
12
+ import { fileURLToPath } from "node:url";
13
+
14
+ const __dirname = dirname(fileURLToPath(import.meta.url));
15
+ const pkgPath = resolve(__dirname, "..", "package.json");
16
+ const version = JSON.parse(readFileSync(pkgPath, "utf-8")).version;
17
+
18
+ const guidelinesDir = resolve(__dirname, "..", "guidelines");
19
+ const themesDir = resolve(guidelinesDir, "themes");
20
+
21
+ const versionRe = />\s*\*\*forest-ui v[^*]*\*\*/;
22
+ const replacement = `> **forest-ui v${version}**`;
23
+
24
+ function stampFile(filePath) {
25
+ const content = readFileSync(filePath, "utf-8");
26
+ if (!versionRe.test(content)) return false;
27
+ const updated = content.replace(versionRe, replacement);
28
+ if (updated === content) return false;
29
+ writeFileSync(filePath, updated, "utf-8");
30
+ return true;
31
+ }
32
+
33
+ let stamped = 0;
34
+
35
+ // Stamp top-level guideline files
36
+ for (const f of readdirSync(guidelinesDir)) {
37
+ if (!f.endsWith(".md")) continue;
38
+ if (stampFile(resolve(guidelinesDir, f))) stamped++;
39
+ }
40
+
41
+ // Stamp theme files
42
+ if (existsSync(themesDir)) {
43
+ for (const f of readdirSync(themesDir)) {
44
+ if (!f.endsWith(".md")) continue;
45
+ if (stampFile(resolve(themesDir, f))) stamped++;
46
+ }
47
+ }
48
+
49
+ if (stamped > 0) {
50
+ console.log(` Stamped v${version} into ${stamped} guideline file(s)`);
51
+ } else {
52
+ console.log(` All guideline files already at v${version}`);
53
+ }
package/bin/sync.mjs CHANGED
@@ -14,61 +14,48 @@
14
14
  * .antigravity/rules.md — Antigravity
15
15
  *
16
16
  * Guideline categories:
17
- * - FOREST_AI_GUIDELINES.md — Design system components, tokens, patterns
18
- * - FOREST_DEV_GUIDELINES.md Development best practices
19
- * - themes/FOREST_THEME_<NAME>.md Theme-specific guidelines (auto-discovered)
17
+ * - FOREST_UI_GUIDELINES.md — Design system components, tokens, patterns
18
+ * - FOREST_FE_GUIDELINES.md Next.js frontend best practices
19
+ * - FOREST_BE_GUIDELINES.md FastAPI backend best practices
20
20
  */
21
21
 
22
- import { readFileSync, writeFileSync, mkdirSync, existsSync, readdirSync } from "node:fs";
22
+ import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs";
23
23
  import { resolve, dirname, basename } from "node:path";
24
24
  import { fileURLToPath } from "node:url";
25
25
 
26
26
  const __filename = fileURLToPath(import.meta.url);
27
27
  const __dirname = dirname(__filename);
28
28
 
29
+ const pkgPath = resolve(__dirname, "..", "package.json");
30
+ const pkgVersion = JSON.parse(readFileSync(pkgPath, "utf-8")).version;
31
+
29
32
  const guidelinesDir = resolve(__dirname, "..", "guidelines");
30
- const themesDir = resolve(guidelinesDir, "themes");
31
33
 
32
34
  // Static guideline entries
33
35
  const staticEntries = [
34
36
  {
35
- source: resolve(guidelinesDir, "FOREST_AI_GUIDELINES.md"),
37
+ source: resolve(guidelinesDir, "FOREST_UI_GUIDELINES.md"),
36
38
  claudeName: "forest-ui.md",
37
39
  geminiName: "forest-ui.md",
38
40
  cursorName: "forest-ui.mdc",
39
41
  cursorDescription: "Forest UI Design System guidelines — components, tokens, and patterns",
40
42
  },
41
43
  {
42
- source: resolve(guidelinesDir, "FOREST_DEV_GUIDELINES.md"),
43
- claudeName: "forest-dev.md",
44
- geminiName: "forest-dev.md",
45
- cursorName: "forest-dev.mdc",
46
- cursorDescription: "Forest UI development best practices",
44
+ source: resolve(guidelinesDir, "FOREST_FE_GUIDELINES.md"),
45
+ claudeName: "forest-fe.md",
46
+ geminiName: "forest-fe.md",
47
+ cursorName: "forest-fe.mdc",
48
+ cursorDescription: "Next.js frontend best practices",
49
+ },
50
+ {
51
+ source: resolve(guidelinesDir, "FOREST_BE_GUIDELINES.md"),
52
+ claudeName: "forest-be.md",
53
+ geminiName: "forest-be.md",
54
+ cursorName: "forest-be.mdc",
55
+ cursorDescription: "FastAPI backend requirements and best practices",
47
56
  },
48
57
  ];
49
58
 
50
- // Auto-discover theme files from guidelines/themes/
51
- function discoverThemeEntries() {
52
- if (!existsSync(themesDir)) return [];
53
-
54
- return readdirSync(themesDir)
55
- .filter((f) => /^FOREST_THEME_\w+\.md$/.test(f))
56
- .map((f) => {
57
- const themeName = f
58
- .replace(/^FOREST_THEME_/, "")
59
- .replace(/\.md$/, "")
60
- .toLowerCase();
61
-
62
- return {
63
- source: resolve(themesDir, f),
64
- claudeName: `forest-theme-${themeName}.md`,
65
- geminiName: `forest-theme-${themeName}.md`,
66
- cursorName: `forest-theme-${themeName}.mdc`,
67
- cursorDescription: `Forest UI theme guidelines — ${themeName}`,
68
- };
69
- });
70
- }
71
-
72
59
  // Find the consuming project root (walk up until we find package.json)
73
60
  function findProjectRoot(startDir) {
74
61
  let dir = startDir;
@@ -87,7 +74,7 @@ function findProjectRoot(startDir) {
87
74
  }
88
75
 
89
76
  const projectRoot = findProjectRoot(process.cwd());
90
- const entries = [...staticEntries, ...discoverThemeEntries()];
77
+ const entries = [...staticEntries];
91
78
 
92
79
  console.log(`\n🌲 Forest UI — Syncing AI guidelines\n`);
93
80
  console.log(` Project root: ${projectRoot}`);
@@ -102,7 +89,11 @@ for (const entry of entries) {
102
89
  continue;
103
90
  }
104
91
 
105
- const content = readFileSync(entry.source, "utf-8");
92
+ const raw = readFileSync(entry.source, "utf-8");
93
+ const content = raw.replace(
94
+ />\s*\*\*forest-ui v[^*]*\*\*/,
95
+ `> **forest-ui v${pkgVersion}**`,
96
+ );
106
97
 
107
98
  // Claude Code target
108
99
  const claudeDir = resolve(projectRoot, ".claude");
@@ -94,14 +94,19 @@ var colors = {
94
94
  950: "#102a56"
95
95
  },
96
96
  teal: {
97
+ 50: "#f0fdf9",
97
98
  100: "#ccfbef",
98
99
  200: "#99f6e0",
100
+ 300: "#5fe9d0",
101
+ 400: "#2ed3b7",
99
102
  600: "#0e9384",
100
103
  700: "#107569"
101
104
  },
102
105
  orange: {
103
106
  100: "#fdead7",
104
107
  200: "#f9dbaf",
108
+ 300: "#f7b27a",
109
+ 400: "#f38744",
105
110
  600: "#e04f16",
106
111
  700: "#b93815"
107
112
  },
@@ -114,24 +119,31 @@ var colors = {
114
119
  pink: {
115
120
  100: "#fce7f6",
116
121
  200: "#fcceee",
122
+ 400: "#f670c7",
123
+ 500: "#ee46bc",
117
124
  600: "#dd2590",
118
125
  700: "#c11574"
119
126
  },
120
127
  fuchsia: {
121
128
  100: "#fbe8ff",
122
129
  200: "#f6d0fe",
130
+ 400: "#e478fa",
131
+ 500: "#d444f1",
123
132
  600: "#ba24d5",
124
133
  700: "#9f1ab1"
125
134
  },
126
135
  orangeDark: {
127
136
  100: "#ffe6d5",
128
137
  200: "#ffd6ae",
138
+ 400: "#ff692e",
139
+ 500: "#ff4405",
129
140
  600: "#e62e05",
130
141
  700: "#bc1b06"
131
142
  },
132
143
  green: {
133
144
  100: "#d3f8df",
134
145
  200: "#aaf0c4",
146
+ 500: "#16b364",
135
147
  600: "#099250",
136
148
  700: "#087443"
137
149
  },
@@ -140,6 +152,30 @@ var colors = {
140
152
  200: "#c7d7fe",
141
153
  600: "#444ce7",
142
154
  700: "#3538cd"
155
+ },
156
+ violet: {
157
+ 100: "#ece9fe",
158
+ 200: "#ddd6fe",
159
+ 500: "#875bf7",
160
+ 600: "#7839ee"
161
+ },
162
+ rose: {
163
+ 100: "#ffe4e8",
164
+ 200: "#fecdd6",
165
+ 400: "#fd6f8e",
166
+ 500: "#f63d68"
167
+ },
168
+ blueLight: {
169
+ 100: "#e0f2fe",
170
+ 200: "#b9e6fe",
171
+ 400: "#36bffa",
172
+ 500: "#0ba5ec"
173
+ },
174
+ cyan: {
175
+ 100: "#cff9fe",
176
+ 200: "#a5f0fc",
177
+ 600: "#088ab2",
178
+ 700: "#0e7090"
143
179
  }
144
180
  };
145
181
  var spacing = {
@@ -436,7 +472,7 @@ var toggleColors = {
436
472
  buttonFgDisabled: colors.gray[50]
437
473
  };
438
474
  var chartColors = {
439
- axisFg: colors.gray[200],
475
+ axisFg: colors.gray[100],
440
476
  gridlineFg: colors.gray[100],
441
477
  labelFg: colors.gray[600],
442
478
  labelFgEmphasis: colors.gray[700],
@@ -445,47 +481,21 @@ var chartColors = {
445
481
  tooltipBg: colors.gray[950],
446
482
  tooltipFg: colors.base.white,
447
483
  crosshairFg: colors.gray[500],
448
- legendFg: colors.gray[700],
449
- series1Fg: colors.blue[600],
450
- series1FgHover: colors.blue[700],
451
- series1Bg: colors.blue[100],
452
- series1BgHover: colors.blue[200],
453
- series2Fg: colors.brand[600],
454
- series2FgHover: colors.brand[700],
455
- series2Bg: colors.brand[100],
456
- series2BgHover: colors.brand[200],
457
- series3Fg: colors.teal[600],
458
- series3FgHover: colors.teal[700],
459
- series3Bg: colors.teal[100],
460
- series3BgHover: colors.teal[200],
461
- series4Fg: colors.orange[600],
462
- series4FgHover: colors.orange[700],
463
- series4Bg: colors.orange[100],
464
- series4BgHover: colors.orange[200],
465
- series5Fg: colors.purple[600],
466
- series5FgHover: colors.purple[700],
467
- series5Bg: colors.purple[100],
468
- series5BgHover: colors.purple[200],
469
- series6Fg: colors.pink[600],
470
- series6FgHover: colors.pink[700],
471
- series6Bg: colors.pink[100],
472
- series6BgHover: colors.pink[200],
473
- series7Fg: colors.fuchsia[600],
474
- series7FgHover: colors.fuchsia[700],
475
- series7Bg: colors.fuchsia[100],
476
- series7BgHover: colors.fuchsia[200],
477
- series8Fg: colors.orangeDark[600],
478
- series8FgHover: colors.orangeDark[700],
479
- series8Bg: colors.orangeDark[100],
480
- series8BgHover: colors.orangeDark[200],
481
- series9Fg: colors.green[600],
482
- series9FgHover: colors.green[700],
483
- series9Bg: colors.green[100],
484
- series9BgHover: colors.green[200],
485
- series10Fg: colors.indigo[600],
486
- series10FgHover: colors.indigo[700],
487
- series10Bg: colors.indigo[100],
488
- series10BgHover: colors.indigo[200]
484
+ legendFg: text.tertiary,
485
+ series: [
486
+ { fg: colors.violet[500], fgHover: colors.violet[600], bg: colors.violet[100], bgHover: colors.violet[200] },
487
+ { fg: colors.orangeDark[400], fgHover: colors.orangeDark[500], bg: colors.orangeDark[100], bgHover: colors.orangeDark[200] },
488
+ { fg: colors.teal[300], fgHover: colors.teal[400], bg: colors.teal[50], bgHover: colors.teal[100] },
489
+ { fg: colors.warning[400], fgHover: colors.warning[500], bg: colors.warning[100], bgHover: colors.warning[200] },
490
+ { fg: colors.rose[400], fgHover: colors.rose[500], bg: colors.rose[100], bgHover: colors.rose[200] },
491
+ { fg: colors.blueLight[400], fgHover: colors.blueLight[500], bg: colors.blueLight[100], bgHover: colors.blueLight[200] },
492
+ { fg: colors.orange[300], fgHover: colors.orange[400], bg: colors.orange[100], bgHover: colors.orange[200] },
493
+ { fg: colors.cyan[600], fgHover: colors.cyan[700], bg: colors.cyan[100], bgHover: colors.cyan[200] },
494
+ { fg: colors.green[500], fgHover: colors.green[600], bg: colors.green[100], bgHover: colors.green[200] },
495
+ { fg: colors.pink[400], fgHover: colors.pink[500], bg: colors.pink[100], bgHover: colors.pink[200] },
496
+ { fg: colors.fuchsia[400], fgHover: colors.fuchsia[500], bg: colors.fuchsia[100], bgHover: colors.fuchsia[200] },
497
+ { fg: colors.teal[600], fgHover: colors.teal[700], bg: colors.teal[100], bgHover: colors.teal[200] }
498
+ ]
489
499
  };
490
500
  var alpha = {
491
501
  white: {
@@ -869,18 +879,21 @@ function buildComponents(tokens) {
869
879
  }
870
880
  }
871
881
  },
872
- // ─── Select ─────────────────────────────────────────────────────
873
- MuiSelect: {
882
+ // ─── Menu ──────────────────────────────────────────────────────
883
+ MuiMenu: {
874
884
  defaultProps: {
875
- MenuProps: {
876
- autoFocus: false,
877
- slotProps: {
878
- backdrop: {
879
- sx: { backgroundColor: "transparent" }
880
- }
885
+ autoFocus: false
886
+ },
887
+ styleOverrides: {
888
+ root: {
889
+ "& .MuiBackdrop-root": {
890
+ backgroundColor: "transparent"
881
891
  }
882
892
  }
883
- },
893
+ }
894
+ },
895
+ // ─── Select ─────────────────────────────────────────────────────
896
+ MuiSelect: {
884
897
  styleOverrides: {
885
898
  select: {
886
899
  "&.MuiSelect-select": {
@@ -1899,20 +1912,8 @@ var forestPreset = {
1899
1912
  };
1900
1913
 
1901
1914
  // src/theme/presets/alkemy-plus.ts
1902
- var red = {
1903
- 50: "#fef2f2",
1904
- 100: "#fee2e2",
1905
- 200: "#fecaca",
1906
- 600: "#dc2626",
1907
- 700: "#b91c1c",
1908
- 800: "#991b1b",
1909
- 900: "#7f1d1d"};
1910
1915
  var colors2 = {
1911
- base: {
1912
- white: "#ffffff",
1913
- black: "#000000",
1914
- transparent: "#ffffff00"
1915
- },
1916
+ ...colors,
1916
1917
  /** Brand scale — black-based for primary actions */
1917
1918
  brand: {
1918
1919
  25: "#fafafa",
@@ -1942,36 +1943,7 @@ var colors2 = {
1942
1943
  800: "#27272a",
1943
1944
  900: "#18181b",
1944
1945
  950: "#09090b"
1945
- },
1946
- /** Error — forest defaults (standard UX red) */
1947
- error: colors.error,
1948
- /** Warning — orange/yellow tones from Alkemy+ palette */
1949
- warning: {
1950
- 25: "#fffcf5",
1951
- 50: "#fff7ed",
1952
- 100: "#ffedd5",
1953
- 200: "#fed7aa",
1954
- 300: "#fdba74",
1955
- 400: "#fb923c",
1956
- 500: "#f08828",
1957
- 600: "#ea580c",
1958
- 700: "#c2410c",
1959
- 800: "#9a3412",
1960
- 900: "#7c2d12",
1961
- 950: "#431407"
1962
- },
1963
- /** Success — forest defaults (standard UX green) */
1964
- success: colors.success,
1965
- /** Blue (info) — forest defaults (standard UX) */
1966
- blue: colors.blue,
1967
- teal: colors.teal,
1968
- orange: colors.orange,
1969
- purple: colors.purple,
1970
- pink: colors.pink,
1971
- fuchsia: colors.fuchsia,
1972
- orangeDark: colors.orangeDark,
1973
- green: colors.green,
1974
- indigo: colors.indigo
1946
+ }
1975
1947
  };
1976
1948
  var radius2 = {
1977
1949
  ...radius,
@@ -1996,10 +1968,10 @@ var text2 = {
1996
1968
  placeholder: colors2.gray[500],
1997
1969
  placeholderSubtle: colors2.gray[300],
1998
1970
  white: colors2.base.white,
1999
- brandPrimary: red[900],
2000
- brandSecondary: red[700],
2001
- brandTertiary: red[600],
2002
- brandTertiaryAlt: red[600],
1971
+ brandPrimary: colors2.brand[900],
1972
+ brandSecondary: colors2.brand[700],
1973
+ brandTertiary: colors2.brand[600],
1974
+ brandTertiaryAlt: colors2.brand[600],
2003
1975
  primaryOnBrand: colors2.base.white,
2004
1976
  secondaryOnBrand: colors2.brand[200],
2005
1977
  tertiaryOnBrand: colors2.brand[200],
@@ -2011,22 +1983,22 @@ var text2 = {
2011
1983
  var bg2 = {
2012
1984
  primary: colors2.gray[50],
2013
1985
  primaryAlt: colors2.gray[50],
2014
- primaryHover: colors2.gray[50],
1986
+ primaryHover: colors2.gray[100],
2015
1987
  primarySolid: colors2.gray[950],
2016
1988
  secondary: colors2.base.white,
2017
1989
  secondaryAlt: colors2.base.white,
2018
1990
  secondarySubtle: colors2.gray[25],
2019
- secondaryHover: colors2.gray[100],
1991
+ secondaryHover: colors2.gray[50],
2020
1992
  secondarySolid: colors2.gray[600],
2021
1993
  tertiary: colors2.gray[100],
2022
1994
  quaternary: colors2.gray[200],
2023
- active: colors2.gray[50],
1995
+ active: colors2.gray[200],
2024
1996
  disabled: colors2.gray[100],
2025
1997
  disabledSubtle: colors2.gray[50],
2026
1998
  overlay: colors2.gray[950],
2027
- brandPrimary: colors2.brand[100],
2028
- brandPrimaryAlt: colors2.brand[100],
2029
- brandSecondary: colors2.brand[200],
1999
+ brandPrimary: colors2.brand[50],
2000
+ brandPrimaryAlt: colors2.brand[50],
2001
+ brandSecondary: colors2.brand[100],
2030
2002
  brandSolid: colors2.brand[600],
2031
2003
  brandSolidHover: colors2.brand[700],
2032
2004
  brandSection: colors2.brand[800],
@@ -2078,7 +2050,6 @@ var border2 = {
2078
2050
  errorSolid: colors2.error[600]
2079
2051
  };
2080
2052
  var buttonColors2 = {
2081
- /** Primary buttons — black */
2082
2053
  primary: {
2083
2054
  bg: colors2.brand[600],
2084
2055
  bgHover: colors2.brand[700],
@@ -2095,7 +2066,6 @@ var buttonColors2 = {
2095
2066
  border: colors2.gray[300],
2096
2067
  borderHover: colors2.gray[300]
2097
2068
  },
2098
- /** Outlined accent buttons — dark */
2099
2069
  secondaryColor: {
2100
2070
  bg: colors2.base.white,
2101
2071
  bgHover: colors2.brand[50],
@@ -2109,11 +2079,10 @@ var buttonColors2 = {
2109
2079
  fgHover: colors2.gray[700],
2110
2080
  bgHover: colors2.gray[50]
2111
2081
  },
2112
- /** Text accent buttons — red */
2113
2082
  tertiaryColor: {
2114
- fg: red[700],
2115
- fgHover: red[800],
2116
- bgHover: red[50]
2083
+ fg: colors2.brand[700],
2084
+ fgHover: colors2.brand[800],
2085
+ bgHover: colors2.brand[50]
2117
2086
  },
2118
2087
  primaryError: {
2119
2088
  bg: colors2.error[600],
@@ -2142,22 +2111,23 @@ var avatarColors2 = {
2142
2111
  contrastBorder: "#00000014",
2143
2112
  profilePhotoBorder: colors2.base.white,
2144
2113
  focusBorder: "#a0a0a624"
2114
+ // gray[400] + 14% alpha
2145
2115
  };
2146
2116
  var breadcrumbColors2 = {
2147
2117
  fg: colors2.gray[600],
2148
2118
  fgHover: colors2.gray[700],
2149
2119
  bgHover: colors2.gray[50],
2150
- brandBgHover: red[50],
2151
- brandFgHover: red[700],
2120
+ brandBgHover: colors2.brand[50],
2121
+ brandFgHover: colors2.brand[700],
2152
2122
  iconFg: colors2.gray[500],
2153
2123
  iconFgHover: colors2.gray[700],
2154
- brandIconFgHover: red[700]
2124
+ brandIconFgHover: colors2.brand[700]
2155
2125
  };
2156
2126
  var iconColors2 = {
2157
- fgBrand: red[600],
2158
- fgBrandOnBrand: red[200],
2127
+ fgBrand: colors2.brand[600],
2128
+ fgBrandOnBrand: colors2.brand[200],
2159
2129
  featuredModernBorder: colors2.gray[200],
2160
- featuredLightFgBrand: red[600],
2130
+ featuredLightFgBrand: colors2.brand[600],
2161
2131
  featuredLightFgGray: colors2.gray[500],
2162
2132
  featuredLightFgError: colors2.error[600],
2163
2133
  featuredLightFgWarning: colors2.warning[600],
@@ -2170,19 +2140,19 @@ var iconColors2 = {
2170
2140
  };
2171
2141
  var navColors2 = {
2172
2142
  itemIconFg: colors2.gray[500],
2173
- itemIconFgActive: colors2.gray[500],
2143
+ itemIconFgActive: colors2.gray[700],
2174
2144
  itemButtonIconFg: colors2.gray[500],
2175
2145
  itemButtonIconFgActive: colors2.gray[700]
2176
2146
  };
2177
2147
  var sliderColors2 = {
2178
- handleBorder: red[600],
2148
+ handleBorder: colors2.brand[600],
2179
2149
  handleBg: colors2.base.white
2180
2150
  };
2181
2151
  var toggleColors2 = {
2182
2152
  buttonFgDisabled: colors2.gray[50]
2183
2153
  };
2184
2154
  var chartColors2 = {
2185
- axisFg: colors2.gray[200],
2155
+ axisFg: colors2.gray[100],
2186
2156
  gridlineFg: colors2.gray[100],
2187
2157
  labelFg: colors2.gray[600],
2188
2158
  labelFgEmphasis: colors2.gray[700],
@@ -2191,52 +2161,26 @@ var chartColors2 = {
2191
2161
  tooltipBg: colors2.gray[950],
2192
2162
  tooltipFg: colors2.base.white,
2193
2163
  crosshairFg: colors2.gray[500],
2194
- legendFg: colors2.gray[700],
2195
- series1Fg: colors2.brand[600],
2196
- series1FgHover: colors2.brand[700],
2197
- series1Bg: colors2.brand[100],
2198
- series1BgHover: colors2.brand[200],
2199
- series2Fg: red[600],
2200
- series2FgHover: red[700],
2201
- series2Bg: red[100],
2202
- series2BgHover: red[200],
2203
- series3Fg: colors2.teal[600],
2204
- series3FgHover: colors2.teal[700],
2205
- series3Bg: colors2.teal[100],
2206
- series3BgHover: colors2.teal[200],
2207
- series4Fg: colors2.orange[600],
2208
- series4FgHover: colors2.orange[700],
2209
- series4Bg: colors2.orange[100],
2210
- series4BgHover: colors2.orange[200],
2211
- series5Fg: colors2.purple[600],
2212
- series5FgHover: colors2.purple[700],
2213
- series5Bg: colors2.purple[100],
2214
- series5BgHover: colors2.purple[200],
2215
- series6Fg: colors2.pink[600],
2216
- series6FgHover: colors2.pink[700],
2217
- series6Bg: colors2.pink[100],
2218
- series6BgHover: colors2.pink[200],
2219
- series7Fg: colors2.fuchsia[600],
2220
- series7FgHover: colors2.fuchsia[700],
2221
- series7Bg: colors2.fuchsia[100],
2222
- series7BgHover: colors2.fuchsia[200],
2223
- series8Fg: colors2.orangeDark[600],
2224
- series8FgHover: colors2.orangeDark[700],
2225
- series8Bg: colors2.orangeDark[100],
2226
- series8BgHover: colors2.orangeDark[200],
2227
- series9Fg: colors2.green[600],
2228
- series9FgHover: colors2.green[700],
2229
- series9Bg: colors2.green[100],
2230
- series9BgHover: colors2.green[200],
2231
- series10Fg: colors2.indigo[600],
2232
- series10FgHover: colors2.indigo[700],
2233
- series10Bg: colors2.indigo[100],
2234
- series10BgHover: colors2.indigo[200]
2164
+ legendFg: text2.tertiary,
2165
+ series: [
2166
+ { fg: colors2.violet[500], fgHover: colors2.violet[600], bg: colors2.violet[100], bgHover: colors2.violet[200] },
2167
+ { fg: colors2.orangeDark[400], fgHover: colors2.orangeDark[500], bg: colors2.orangeDark[100], bgHover: colors2.orangeDark[200] },
2168
+ { fg: colors2.teal[300], fgHover: colors2.teal[400], bg: colors2.teal[50], bgHover: colors2.teal[100] },
2169
+ { fg: colors2.warning[400], fgHover: colors2.warning[500], bg: colors2.warning[100], bgHover: colors2.warning[200] },
2170
+ { fg: colors2.rose[400], fgHover: colors2.rose[500], bg: colors2.rose[100], bgHover: colors2.rose[200] },
2171
+ { fg: colors2.blueLight[400], fgHover: colors2.blueLight[500], bg: colors2.blueLight[100], bgHover: colors2.blueLight[200] },
2172
+ { fg: colors2.orange[300], fgHover: colors2.orange[400], bg: colors2.orange[100], bgHover: colors2.orange[200] },
2173
+ { fg: colors2.cyan[600], fgHover: colors2.cyan[700], bg: colors2.cyan[100], bgHover: colors2.cyan[200] },
2174
+ { fg: colors2.green[500], fgHover: colors2.green[600], bg: colors2.green[100], bgHover: colors2.green[200] },
2175
+ { fg: colors2.pink[400], fgHover: colors2.pink[500], bg: colors2.pink[100], bgHover: colors2.pink[200] },
2176
+ { fg: colors2.fuchsia[400], fgHover: colors2.fuchsia[500], bg: colors2.fuchsia[100], bgHover: colors2.fuchsia[200] },
2177
+ { fg: colors2.teal[600], fgHover: colors2.teal[700], bg: colors2.teal[100], bgHover: colors2.teal[200] }
2178
+ ]
2235
2179
  };
2236
2180
  var focusRings2 = {
2237
- brand: "0px 0px 0px 4px #f040403d",
2238
- brandShadowXs: "0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f040403d",
2239
- brandShadowSm: "0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #f040403d",
2181
+ brand: "0px 0px 0px 4px #4040403d",
2182
+ brandShadowXs: "0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #4040403d",
2183
+ brandShadowSm: "0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #4040403d",
2240
2184
  gray: "0px 0px 0px 4px #a0a0a624",
2241
2185
  grayShadowXs: "0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624",
2242
2186
  grayShadowSm: "0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624",
@@ -2306,5 +2250,5 @@ var forestThemeOptions = {
2306
2250
  var forestTheme = createTheme(forestThemeOptions);
2307
2251
 
2308
2252
  export { alkemyPlusPreset, alpha, avatarColors, bg, border, breadcrumbColors, buildTheme, buildThemeOptions, buttonColors, chartColors, colors, components, container, display, fg, focusRings, fontFamily, fontSize, fontWeight, forestPreset, forestTheme, forestThemeOptions, getAvailablePresets, getPreset, iconColors, lineHeight, navColors, palette, radius, registerPreset, shadows, shadows2, sliderColors, spacing, text, toggleColors, typography, widths };
2309
- //# sourceMappingURL=chunk-QF5T6J4D.mjs.map
2310
- //# sourceMappingURL=chunk-QF5T6J4D.mjs.map
2253
+ //# sourceMappingURL=chunk-6W3RIXXY.mjs.map
2254
+ //# sourceMappingURL=chunk-6W3RIXXY.mjs.map