|
3 | 3 | * Includes responsive design and print media queries |
4 | 4 | */ |
5 | 5 |
|
6 | | -/* Copy Button Wrapper */ |
7 | 6 | .memori-copy-button-wrapper { |
| 7 | + --memori-copy-border: color-mix(in oklch, var(--memori-border-color) 82%, transparent); |
| 8 | + --memori-copy-surface: color-mix(in oklch, var(--memori-main-background) 94%, var(--memori-text-color) 6%); |
| 9 | + --memori-copy-surface-hover: color-mix(in oklch, var(--memori-main-background) 88%, var(--memori-primary) 12%); |
| 10 | + --memori-copy-surface-pressed: color-mix(in oklch, var(--memori-main-background) 82%, var(--memori-primary) 18%); |
| 11 | + --memori-copy-text-muted: color-mix(in oklch, var(--memori-text-color) 72%, transparent); |
| 12 | + --memori-copy-shadow: 0 10px 25px -5px color-mix(in srgb, var(--memori-text-color) 14%, transparent), |
| 13 | + 0 10px 10px -5px color-mix(in srgb, var(--memori-text-color) 8%, transparent); |
8 | 14 | position: relative; |
9 | 15 | display: inline-block; |
10 | 16 | } |
|
23 | 29 | min-height: 36px; |
24 | 30 | align-items: center; |
25 | 31 | padding: var(--memori-spacing-sm) var(--memori-spacing-md); |
26 | | - border: 1px solid #e1e5e9; |
| 32 | + border: 1px solid var(--memori-copy-border); |
27 | 33 | border-radius: 0.5rem; |
| 34 | + background: var(--memori-copy-surface); |
28 | 35 | border-bottom-right-radius: 0px; |
29 | 36 | border-top-right-radius: 0px; |
30 | 37 | color: var(--memori-text-color); |
|
42 | 49 | } |
43 | 50 |
|
44 | 51 | .memori-copy-button:focus-visible { |
45 | | - outline: 2px solid #3b82f6; |
| 52 | + outline: 2px solid var(--memori-primary); |
46 | 53 | outline-offset: 2px; |
47 | 54 | } |
48 | 55 |
|
49 | 56 | .memori-copy-button:hover:not(:disabled) { |
50 | | - border-color: #d1d5db; |
51 | | - background: #f9fafb; |
| 57 | + border-color: color-mix(in oklch, var(--memori-primary) 28%, var(--memori-border-color)); |
| 58 | + background: var(--memori-copy-surface-hover); |
52 | 59 | } |
53 | 60 |
|
54 | 61 | .memori-copy-button:active:not(:disabled) { |
55 | | - border-color: #9ca3af; |
56 | | - background: #f3f4f6; |
| 62 | + border-color: color-mix(in oklch, var(--memori-primary) 40%, var(--memori-border-color)); |
| 63 | + background: var(--memori-copy-surface-pressed); |
57 | 64 | } |
58 | 65 |
|
59 | 66 | .memori-copy-button--success { |
60 | 67 | border-color: #22c55e; |
61 | | - background: #f0fdf4; |
| 68 | + background: color-mix(in oklch, var(--memori-main-background) 82%, #22c55e 18%); |
62 | 69 | color: var(--memori-text-color); |
63 | 70 | } |
64 | 71 |
|
65 | 72 | .memori-copy-button--error { |
66 | 73 | border-color: #ef4444; |
67 | | - background: #fef2f2; |
| 74 | + background: color-mix(in oklch, var(--memori-main-background) 84%, #ef4444 16%); |
68 | 75 | color: var(--memori-text-color); |
69 | 76 | } |
70 | 77 |
|
|
85 | 92 | align-items: center; |
86 | 93 | padding: var(--memori-spacing-sm) var(--memori-spacing-md); |
87 | 94 | padding-right: calc(var(--memori-spacing-sm) + var(--memori-spacing-xs)); |
88 | | - border: 1px solid #e1e5e9; |
| 95 | + border: 1px solid var(--memori-copy-border); |
89 | 96 | border-radius: 0.5rem; |
| 97 | + background: var(--memori-copy-surface); |
90 | 98 | border-bottom-left-radius: 0px !important; |
91 | 99 | border-top-left-radius: 0px !important; |
92 | 100 | color: var(--memori-text-color); |
|
110 | 118 | } |
111 | 119 |
|
112 | 120 | .memori-copy-button-icon--error { |
113 | | - color: var(--memori-text-color); |
| 121 | + color: #ef4444; |
114 | 122 | } |
115 | 123 |
|
116 | 124 | .memori-copy-button-chevron { |
|
137 | 145 | .memori-copy-button-spinner { |
138 | 146 | width: 12px; |
139 | 147 | height: 12px; |
140 | | - border: 2px solid #e5e7eb; |
| 148 | + border: 2px solid color-mix(in oklch, var(--memori-border-color) 70%, transparent); |
141 | 149 | border-radius: 50%; |
| 150 | + border-top-color: var(--memori-primary); |
142 | 151 | animation: memori-copy-spin 1s linear infinite; |
143 | 152 | } |
144 | 153 |
|
|
172 | 181 | overflow: hidden; |
173 | 182 | min-width: 280px; |
174 | 183 | max-width: 320px; |
175 | | - border: 1px solid #e1e5e9; |
| 184 | + border: 1px solid var(--memori-copy-border); |
176 | 185 | border-radius: 0.5rem; |
177 | 186 | margin-top: var(--memori-spacing-xs); |
178 | | - box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); |
| 187 | + background: var(--memori-copy-surface); |
| 188 | + box-shadow: var(--memori-copy-shadow); |
179 | 189 | } |
180 | 190 |
|
181 | 191 | /* Responsive positioning */ |
|
223 | 233 |
|
224 | 234 | .memori-copy-dropdown-header { |
225 | 235 | padding: var(--memori-spacing-sm) var(--memori-spacing-md) var(--memori-spacing-xs); |
226 | | - border-bottom: 1px solid #f3f4f6; |
| 236 | + border-bottom: 1px solid var(--memori-copy-border); |
227 | 237 | margin-bottom: var(--memori-spacing-xs); |
228 | 238 | } |
229 | 239 |
|
|
258 | 268 | align-items: center; |
259 | 269 | padding: calc(var(--memori-spacing-sm) + var(--memori-spacing-xs)) var(--memori-spacing-md); |
260 | 270 | border: none; |
261 | | - background: none; |
| 271 | + background: transparent; |
262 | 272 | color: var(--memori-text-color); |
263 | 273 | cursor: pointer; |
264 | 274 | font-size: var(--memori-text-size-small); |
265 | 275 | text-align: left; |
266 | | - transition: background-color 0.15s ease; |
| 276 | + transition: background-color 0.15s ease, color 0.15s ease; |
267 | 277 | } |
268 | 278 |
|
269 | 279 | .memori-copy-menu-item:disabled { |
|
272 | 282 | } |
273 | 283 |
|
274 | 284 | .memori-copy-menu-item:focus-visible { |
275 | | - outline: 2px solid #3b82f6; |
| 285 | + outline: 2px solid var(--memori-primary); |
276 | 286 | outline-offset: -2px; |
277 | 287 | } |
278 | 288 |
|
| 289 | +.memori-copy-menu-item:hover:not(:disabled), |
| 290 | +.memori-copy-menu-item--active { |
| 291 | + background: color-mix(in oklch, var(--memori-main-background) 86%, var(--memori-primary) 14%); |
| 292 | +} |
| 293 | + |
279 | 294 | .memori-copy-menu-item:active:not(:disabled) { |
280 | | - background: #f3f4f6; |
| 295 | + background: var(--memori-copy-surface-pressed); |
281 | 296 | } |
282 | 297 |
|
283 | 298 | .memori-copy-menu-item--loading { |
|
325 | 340 | .memori-copy-menu-item-spinner { |
326 | 341 | width: 12px; |
327 | 342 | height: 12px; |
328 | | - border: 2px solid #e5e7eb; |
| 343 | + border: 2px solid color-mix(in oklch, var(--memori-border-color) 70%, transparent); |
329 | 344 | border-radius: 50%; |
330 | | - border-top: 2px solid #3b82f6; |
| 345 | + border-top: 2px solid var(--memori-primary); |
331 | 346 | animation: memori-copy-spin 1s linear infinite; |
332 | 347 | } |
333 | 348 |
|
|
343 | 358 | } |
344 | 359 |
|
345 | 360 | .memori-copy-menu-item-description { |
346 | | - color: var(--memori-text-color); |
| 361 | + color: var(--memori-copy-text-muted); |
347 | 362 | font-size: 0.75rem; |
348 | 363 | line-height: 1.3; |
349 | 364 | } |
|
356 | 371 | display: inline-block; |
357 | 372 | padding: calc(var(--memori-spacing-xs) / 2) calc(var(--memori-spacing-xs) + 2px); |
358 | 373 | border-radius: 0.5rem; |
359 | | - background: #dbeafe; |
| 374 | + background: color-mix(in oklch, var(--memori-main-background) 78%, var(--memori-primary) 22%); |
360 | 375 | color: var(--memori-text-color); |
361 | 376 | font-size: 10px; |
362 | 377 | font-weight: var(--memori-text-weight-semibold); |
|
376 | 391 | padding: calc(var(--memori-spacing-sm) + var(--memori-spacing-xs)) var(--memori-spacing-md); |
377 | 392 | border-radius: 0.5rem; |
378 | 393 | animation: memori-copy-toast-enter 0.3s ease-out; |
379 | | - box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); |
| 394 | + box-shadow: var(--memori-copy-shadow); |
380 | 395 | font-size: var(--memori-text-size-small); |
381 | 396 | font-weight: var(--memori-text-weight-medium); |
382 | 397 | gap: var(--memori-spacing-sm); |
|
395 | 410 |
|
396 | 411 | .memori-copy-toast--success { |
397 | 412 | border: 1px solid #22c55e; |
398 | | - background: #f0fdf4; |
| 413 | + background: color-mix(in oklch, var(--memori-main-background) 82%, #22c55e 18%); |
399 | 414 | color: var(--memori-text-color); |
400 | 415 | } |
401 | 416 |
|
402 | 417 | .memori-copy-toast--error { |
403 | 418 | border: 1px solid #ef4444; |
404 | | - background: #fef2f2; |
| 419 | + background: color-mix(in oklch, var(--memori-main-background) 84%, #ef4444 16%); |
405 | 420 | color: var(--memori-text-color); |
406 | 421 | } |
407 | 422 |
|
|
460 | 475 | } |
461 | 476 |
|
462 | 477 | .memori-copy-menu-item:hover:not(:disabled) { |
463 | | - background: #000000; |
| 478 | + background: var(--memori-copy-surface-pressed); |
464 | 479 | color: var(--memori-text-color); |
465 | 480 | } |
466 | 481 | } |
|
0 commit comments