@cupcodev/ui 1.0.2 → 1.2.1

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/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@cupcodev/ui",
3
3
  "private": false,
4
- "version": "1.0.2",
4
+ "version": "1.2.1",
5
+ "packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264",
5
6
  "type": "module",
6
7
  "main": "./dist/index.cjs",
7
8
  "module": "./dist/index.js",
@@ -9,14 +10,19 @@
9
10
  "license": "UNLICENSED",
10
11
  "exports": {
11
12
  ".": {
13
+ "types": "./dist/index.d.ts",
12
14
  "import": "./dist/index.js",
13
15
  "require": "./dist/index.cjs"
14
16
  },
15
17
  "./styles/global.css": "./styles/global.css",
18
+ "./styles/base.css": "./styles/base.css",
16
19
  "./styles/tokens.css": "./styles/tokens.css",
17
20
  "./styles/dock.css": "./styles/dock.css",
21
+ "./styles/index.css": "./styles/index.css",
22
+ "./styles.css": "./styles/index.css",
18
23
  "./tailwind-preset.cjs": "./tailwind-preset.cjs",
19
24
  "./charts": {
25
+ "types": "./dist/charts.d.ts",
20
26
  "import": "./dist/charts.js",
21
27
  "require": "./dist/charts.cjs"
22
28
  }
@@ -27,18 +33,26 @@
27
33
  "tailwind-preset.cjs"
28
34
  ],
29
35
  "engines": {
30
- "node": ">=22.0.0"
36
+ "node": ">=18.18.0"
31
37
  },
32
- "sideEffects": false,
38
+ "sideEffects": [
39
+ "**/*.css"
40
+ ],
33
41
  "scripts": {
34
42
  "dev": "vite",
35
- "build": "tsup && vite build",
36
- "build:app": "vite build",
43
+ "build": "npm run build:lib",
44
+ "build:lib": "tsup",
45
+ "build:site": "vite build",
46
+ "build:app": "npm run build:site",
37
47
  "build:dev": "vite build --mode development",
38
- "lint": "eslint .",
48
+ "typecheck": "tsc -b",
49
+ "check:release": "npm run lint && npm run typecheck && npm run build:lib",
50
+ "check:quality": "npm run check:release && npm run build:site",
51
+ "test:consumer": "node ./scripts/consumer-smoke.mjs",
52
+ "lint": "eslint . --max-warnings=0",
53
+ "prepublishOnly": "npm run check:release",
39
54
  "preview": "vite preview"
40
55
  },
41
- "dependencies": {},
42
56
  "devDependencies": {
43
57
  "@eslint/js": "^9.32.0",
44
58
  "@radix-ui/react-accordion": "^1.2.11",
@@ -71,13 +85,15 @@
71
85
  "@tailwindcss/typography": "^0.5.16",
72
86
  "@tanstack/react-query": "^5.83.0",
73
87
  "@types/node": "^22.16.5",
74
- "@types/react": "^18.3.23",
75
- "@types/react-dom": "^18.3.7",
88
+ "@types/react": "^19.2.13",
89
+ "@types/react-dom": "^19.2.3",
76
90
  "@vitejs/plugin-react-swc": "^3.11.0",
91
+ "@supabase/supabase-js": "^2.91.0",
77
92
  "autoprefixer": "^10.4.21",
78
93
  "class-variance-authority": "^0.7.1",
79
94
  "clsx": "^2.1.1",
80
95
  "cmdk": "^1.1.1",
96
+ "date-fns": "^3.6.0",
81
97
  "embla-carousel-react": "^8.6.0",
82
98
  "eslint": "^9.32.0",
83
99
  "eslint-plugin-react-hooks": "^5.2.0",
@@ -86,10 +102,9 @@
86
102
  "input-otp": "^1.4.2",
87
103
  "lovable-tagger": "^1.1.10",
88
104
  "lucide-react": "^0.462.0",
89
- "next-themes": "^0.3.0",
90
- "postcss-selector-parser": "6.0.10",
91
105
  "postcss": "^8.5.6",
92
- "react-day-picker": "^8.10.1",
106
+ "postcss-selector-parser": "6.0.10",
107
+ "react-day-picker": "^9.13.0",
93
108
  "react-hook-form": "^7.61.1",
94
109
  "react-resizable-panels": "^2.1.9",
95
110
  "react-router-dom": "^6.30.1",
@@ -100,7 +115,7 @@
100
115
  "tsup": "^8.2.4",
101
116
  "typescript": "^5.8.3",
102
117
  "typescript-eslint": "^8.38.0",
103
- "vaul": "^0.9.9",
118
+ "vaul": "^1.1.2",
104
119
  "vite": "^5.4.19"
105
120
  },
106
121
  "peerDependencies": {
@@ -135,29 +150,23 @@
135
150
  "class-variance-authority": "^0.7.1",
136
151
  "clsx": "^2.1.1",
137
152
  "cmdk": "^1.1.1",
153
+ "date-fns": "^3.6.0",
138
154
  "embla-carousel-react": "^8.6.0",
139
155
  "input-otp": "^1.4.2",
140
156
  "lucide-react": "^0.462.0",
141
- "next-themes": "^0.3.0",
142
- "react": "^18.3.1",
143
- "react-day-picker": "^8.10.1",
144
- "react-dom": "^18.3.1",
157
+ "react": "^18.3.1 || ^19.0.0",
158
+ "react-day-picker": "^9.13.0",
159
+ "react-dom": "^18.3.1 || ^19.0.0",
145
160
  "react-hook-form": "^7.61.1",
146
161
  "react-resizable-panels": "^2.1.9",
147
- "react-router-dom": "^6.30.1",
148
162
  "recharts": "^2.15.4",
149
163
  "sonner": "^1.7.4",
150
164
  "tailwind-merge": "^2.6.0",
151
165
  "tailwindcss": "^3.4.17",
152
166
  "tailwindcss-animate": "^1.0.7",
153
- "vaul": "^0.9.9"
167
+ "vaul": "^1.1.2"
154
168
  },
155
169
  "publishConfig": {
156
170
  "access": "public"
157
- },
158
- "pnpm": {
159
- "overrides": {
160
- "postcss-selector-parser": "6.0.10"
161
- }
162
171
  }
163
172
  }
@@ -0,0 +1,150 @@
1
+ @import url("https://fonts.googleapis.com/css2?family=Tomorrow:wght@100;200;300;400;500;600;700;800;900&display=swap");
2
+ @import "./tokens.css";
3
+
4
+ /* Base leve: tokens + tipografia + fundo/foreground sem dependencias de @tailwind/@apply. */
5
+ html {
6
+ min-width: 380px;
7
+ }
8
+
9
+ body {
10
+ margin: 0;
11
+ background: hsl(var(--background));
12
+ color: hsl(var(--foreground));
13
+ font-family: var(--font-ui);
14
+ }
15
+
16
+ html {
17
+ scrollbar-gutter: stable both-edges;
18
+ }
19
+
20
+ * {
21
+ scrollbar-width: thin;
22
+ scrollbar-color: var(--cc-scrollbar-thumb) var(--cc-scrollbar-track);
23
+ }
24
+
25
+ *::-webkit-scrollbar {
26
+ width: var(--cc-scrollbar-size);
27
+ height: var(--cc-scrollbar-size);
28
+ }
29
+
30
+ *::-webkit-scrollbar-track {
31
+ border-radius: var(--cc-scrollbar-radius);
32
+ background: var(--cc-scrollbar-track);
33
+ border: 1px solid var(--cc-scrollbar-thumb-border);
34
+ backdrop-filter: blur(14px);
35
+ -webkit-backdrop-filter: blur(14px);
36
+ }
37
+
38
+ *::-webkit-scrollbar-thumb {
39
+ border-radius: var(--cc-scrollbar-radius);
40
+ border: 1px solid var(--cc-scrollbar-thumb-border);
41
+ background: linear-gradient(180deg, var(--cc-scrollbar-thumb-highlight), var(--cc-scrollbar-thumb));
42
+ box-shadow: 0 10px 24px -14px var(--cc-scrollbar-glow);
43
+ backdrop-filter: blur(20px);
44
+ -webkit-backdrop-filter: blur(20px);
45
+ }
46
+
47
+ *::-webkit-scrollbar-thumb:hover {
48
+ background: linear-gradient(180deg, var(--cc-scrollbar-thumb-highlight), var(--cc-scrollbar-thumb-hover));
49
+ box-shadow: 0 12px 28px -14px var(--cc-scrollbar-glow);
50
+ }
51
+
52
+ *::-webkit-scrollbar-corner {
53
+ background: transparent;
54
+ }
55
+
56
+ .cc-scrollbar {
57
+ scrollbar-width: thin;
58
+ scrollbar-color: var(--cc-scrollbar-thumb) var(--cc-scrollbar-track);
59
+ }
60
+
61
+ .cc-scrollbar-purple {
62
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.08);
63
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.26);
64
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
65
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.34);
66
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
67
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.35);
68
+ }
69
+
70
+ .dark .cc-scrollbar-purple {
71
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.16);
72
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.42);
73
+ --cc-scrollbar-thumb-highlight: rgba(237, 30, 121, 0.24);
74
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.55);
75
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.2);
76
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.5);
77
+ }
78
+
79
+ .cc-scrollbar-pink {
80
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.08);
81
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.26);
82
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
83
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.35);
84
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
85
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.36);
86
+ }
87
+
88
+ .dark .cc-scrollbar-pink {
89
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.18);
90
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.45);
91
+ --cc-scrollbar-thumb-highlight: rgba(149, 29, 219, 0.3);
92
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.6);
93
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.22);
94
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.58);
95
+ }
96
+
97
+ .cc-scrollbar-theme-light {
98
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.08);
99
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.26);
100
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
101
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.34);
102
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
103
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.35);
104
+ }
105
+
106
+ .cc-scrollbar-theme-dark {
107
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.16);
108
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.42);
109
+ --cc-scrollbar-thumb-highlight: rgba(237, 30, 121, 0.24);
110
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.55);
111
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.2);
112
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.5);
113
+ }
114
+
115
+ .cc-scrollbar-pink.cc-scrollbar-theme-light {
116
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.08);
117
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.26);
118
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
119
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.35);
120
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
121
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.36);
122
+ }
123
+
124
+ .cc-scrollbar-pink.cc-scrollbar-theme-dark {
125
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.18);
126
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.45);
127
+ --cc-scrollbar-thumb-highlight: rgba(149, 29, 219, 0.3);
128
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.6);
129
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.22);
130
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.58);
131
+ }
132
+
133
+ .cc-scrollbar-hide {
134
+ scrollbar-width: none;
135
+ -ms-overflow-style: none;
136
+ }
137
+
138
+ .cc-scrollbar-hide::-webkit-scrollbar {
139
+ display: none;
140
+ }
141
+
142
+ h1,
143
+ h2,
144
+ h3,
145
+ h4,
146
+ h5,
147
+ h6 {
148
+ font-family: var(--font-display);
149
+ font-weight: 700;
150
+ }
package/styles/dock.css CHANGED
@@ -219,6 +219,23 @@
219
219
  padding: 1px;
220
220
  }
221
221
 
222
+ .tabbar li .bg-img-menu-fix-mob.dock-fallback {
223
+ display: grid;
224
+ place-items: center;
225
+ border-radius: 1rem;
226
+ background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.2) 45%, rgba(149, 29, 219, 0.22) 75%);
227
+ color: var(--lg-text);
228
+ font-weight: 700;
229
+ font-size: 0.85rem;
230
+ letter-spacing: 0.04em;
231
+ text-transform: uppercase;
232
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35), 0 6px 12px rgba(24, 1, 58, 0.18);
233
+ }
234
+
235
+ .tabbar li .bg-img-menu-fix-mob.dock-fallback .dock-fallback-icon {
236
+ line-height: 1;
237
+ }
238
+
222
239
  .tabbar li.mn-sobre-nos .bg-img-menu-fix-mob {
223
240
  padding: 5px;
224
241
  }
package/styles/global.css CHANGED
@@ -1,9 +1,8 @@
1
+ @import url("https://fonts.googleapis.com/css2?family=Tomorrow:wght@100;200;300;400;500;600;700;800;900&display=swap");
1
2
  @tailwind base;
2
3
  @tailwind components;
3
4
  @tailwind utilities;
4
5
 
5
- @import "./tokens.css";
6
-
7
6
  @layer base {
8
7
  * {
9
8
  @apply border-border;
@@ -17,6 +16,47 @@
17
16
  @apply bg-background text-foreground;
18
17
  font-family: var(--font-ui);
19
18
  }
19
+
20
+ html {
21
+ scrollbar-gutter: stable both-edges;
22
+ }
23
+
24
+ * {
25
+ scrollbar-width: thin;
26
+ scrollbar-color: var(--cc-scrollbar-thumb) var(--cc-scrollbar-track);
27
+ }
28
+
29
+ *::-webkit-scrollbar {
30
+ width: var(--cc-scrollbar-size);
31
+ height: var(--cc-scrollbar-size);
32
+ }
33
+
34
+ *::-webkit-scrollbar-track {
35
+ border-radius: var(--cc-scrollbar-radius);
36
+ background: var(--cc-scrollbar-track);
37
+ border: 1px solid var(--cc-scrollbar-thumb-border);
38
+ backdrop-filter: blur(14px);
39
+ -webkit-backdrop-filter: blur(14px);
40
+ }
41
+
42
+ *::-webkit-scrollbar-thumb {
43
+ border-radius: var(--cc-scrollbar-radius);
44
+ border: 1px solid var(--cc-scrollbar-thumb-border);
45
+ background: linear-gradient(180deg, var(--cc-scrollbar-thumb-highlight), var(--cc-scrollbar-thumb));
46
+ box-shadow: 0 10px 24px -14px var(--cc-scrollbar-glow);
47
+ backdrop-filter: blur(20px);
48
+ -webkit-backdrop-filter: blur(20px);
49
+ transition: background 160ms var(--ease-natural), box-shadow 160ms var(--ease-natural);
50
+ }
51
+
52
+ *::-webkit-scrollbar-thumb:hover {
53
+ background: linear-gradient(180deg, var(--cc-scrollbar-thumb-highlight), var(--cc-scrollbar-thumb-hover));
54
+ box-shadow: 0 12px 28px -14px var(--cc-scrollbar-glow);
55
+ }
56
+
57
+ *::-webkit-scrollbar-corner {
58
+ background: transparent;
59
+ }
20
60
 
21
61
  h1, h2, h3, h4, h5, h6 {
22
62
  font-family: var(--font-display);
@@ -76,10 +116,13 @@
76
116
  }
77
117
 
78
118
  .glass-subtle {
79
- background: var(--glass-bg-subtle);
119
+ background: hsl(var(--card) / 0.72);
80
120
  backdrop-filter: blur(var(--glass-blur-sm));
81
121
  -webkit-backdrop-filter: blur(var(--glass-blur-sm));
82
- border: 1px solid var(--glass-border-subtle);
122
+ border: 1px solid hsl(var(--border) / 0.55);
123
+ box-shadow:
124
+ 0 8px 24px hsl(var(--foreground) / 0.06),
125
+ inset 0 1px 0 hsl(var(--background) / 0.65);
83
126
  }
84
127
 
85
128
  .glass-strong {
@@ -107,6 +150,92 @@
107
150
  inset 0 0 20px 10px rgba(255, 255, 255, 1);
108
151
  position: relative;
109
152
  }
153
+
154
+ .cc-scrollbar {
155
+ scrollbar-width: thin;
156
+ scrollbar-color: var(--cc-scrollbar-thumb) var(--cc-scrollbar-track);
157
+ }
158
+
159
+ .cc-scrollbar-purple {
160
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.08);
161
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.26);
162
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
163
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.34);
164
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
165
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.35);
166
+ }
167
+
168
+ .dark .cc-scrollbar-purple {
169
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.16);
170
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.42);
171
+ --cc-scrollbar-thumb-highlight: rgba(237, 30, 121, 0.24);
172
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.55);
173
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.2);
174
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.5);
175
+ }
176
+
177
+ .cc-scrollbar-pink {
178
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.08);
179
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.26);
180
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
181
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.35);
182
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
183
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.36);
184
+ }
185
+
186
+ .dark .cc-scrollbar-pink {
187
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.18);
188
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.45);
189
+ --cc-scrollbar-thumb-highlight: rgba(149, 29, 219, 0.3);
190
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.6);
191
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.22);
192
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.58);
193
+ }
194
+
195
+ .cc-scrollbar-theme-light {
196
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.08);
197
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.26);
198
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
199
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.34);
200
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
201
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.35);
202
+ }
203
+
204
+ .cc-scrollbar-theme-dark {
205
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.16);
206
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.42);
207
+ --cc-scrollbar-thumb-highlight: rgba(237, 30, 121, 0.24);
208
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.55);
209
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.2);
210
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.5);
211
+ }
212
+
213
+ .cc-scrollbar-pink.cc-scrollbar-theme-light {
214
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.08);
215
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.26);
216
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
217
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.35);
218
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
219
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.36);
220
+ }
221
+
222
+ .cc-scrollbar-pink.cc-scrollbar-theme-dark {
223
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.18);
224
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.45);
225
+ --cc-scrollbar-thumb-highlight: rgba(149, 29, 219, 0.3);
226
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.6);
227
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.22);
228
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.58);
229
+ }
230
+
231
+ .cc-scrollbar-hide {
232
+ scrollbar-width: none;
233
+ -ms-overflow-style: none;
234
+ }
235
+
236
+ .cc-scrollbar-hide::-webkit-scrollbar {
237
+ display: none;
238
+ }
110
239
 
111
240
  /* ===== ELEVATION UTILITIES ===== */
112
241
  .elevation-0 { box-shadow: var(--elevation-0); }
@@ -0,0 +1,3 @@
1
+ @import "./tokens.css";
2
+ @import "./global.css";
3
+ @import "./dock.css";
package/styles/tokens.css CHANGED
@@ -69,6 +69,16 @@
69
69
  --glass-blur-md: 16px;
70
70
  --glass-blur-lg: 24px;
71
71
  --glass-blur-xl: 40px;
72
+
73
+ /* Scrollbar tokens (default: purple + light) */
74
+ --cc-scrollbar-size: 10px;
75
+ --cc-scrollbar-radius: 999px;
76
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.08);
77
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.26);
78
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
79
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.34);
80
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
81
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.35);
72
82
 
73
83
  /* Border radius */
74
84
  --radius-sm: 10px;
@@ -274,6 +284,14 @@
274
284
  --glass-border-subtle: rgba(149, 29, 219, 0.15);
275
285
  --glass-highlight: rgba(255, 255, 255, 0.1);
276
286
  --glass-ambient: rgba(237, 30, 121, 0.08); /* Pink ambient glow */
287
+
288
+ /* Scrollbar tokens (default: purple + dark) */
289
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.16);
290
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.42);
291
+ --cc-scrollbar-thumb-highlight: rgba(237, 30, 121, 0.24);
292
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.55);
293
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.2);
294
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.5);
277
295
 
278
296
  /* Shadow tokens (Dark Mode) */
279
297
  --shadow-sm: 0 1px 4px rgba(237, 30, 121, 0.2);
@@ -302,4 +320,61 @@
302
320
  0 24px 64px rgba(149, 29, 219, 0.4);
303
321
  }
304
322
 
323
+ /* Global scrollbar color override: pink + auto theme */
324
+ html[data-cc-scrollbar-color="pink"] {
325
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.08);
326
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.26);
327
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
328
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.35);
329
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
330
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.36);
331
+ }
332
+
333
+ html.dark[data-cc-scrollbar-color="pink"] {
334
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.18);
335
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.45);
336
+ --cc-scrollbar-thumb-highlight: rgba(149, 29, 219, 0.3);
337
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.6);
338
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.22);
339
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.58);
340
+ }
341
+
342
+ /* Forced theme: light */
343
+ html[data-cc-scrollbar-theme="light"] {
344
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.08);
345
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.26);
346
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
347
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.34);
348
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
349
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.35);
350
+ }
351
+
352
+ html[data-cc-scrollbar-theme="light"][data-cc-scrollbar-color="pink"] {
353
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.08);
354
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.26);
355
+ --cc-scrollbar-thumb-highlight: rgba(255, 255, 255, 0.35);
356
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.35);
357
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.34);
358
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.36);
359
+ }
360
+
361
+ /* Forced theme: dark */
362
+ html[data-cc-scrollbar-theme="dark"] {
363
+ --cc-scrollbar-track: rgba(149, 29, 219, 0.16);
364
+ --cc-scrollbar-thumb: rgba(149, 29, 219, 0.42);
365
+ --cc-scrollbar-thumb-highlight: rgba(237, 30, 121, 0.24);
366
+ --cc-scrollbar-thumb-hover: rgba(149, 29, 219, 0.55);
367
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.2);
368
+ --cc-scrollbar-glow: rgba(149, 29, 219, 0.5);
369
+ }
370
+
371
+ html[data-cc-scrollbar-theme="dark"][data-cc-scrollbar-color="pink"] {
372
+ --cc-scrollbar-track: rgba(237, 30, 121, 0.18);
373
+ --cc-scrollbar-thumb: rgba(237, 30, 121, 0.45);
374
+ --cc-scrollbar-thumb-highlight: rgba(149, 29, 219, 0.3);
375
+ --cc-scrollbar-thumb-hover: rgba(237, 30, 121, 0.6);
376
+ --cc-scrollbar-thumb-border: rgba(255, 255, 255, 0.22);
377
+ --cc-scrollbar-glow: rgba(237, 30, 121, 0.58);
378
+ }
379
+
305
380
  }