@kushagradhawan/kookie-ui 0.1.5 → 0.1.6

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.
Files changed (42) hide show
  1. package/components.css +100 -9
  2. package/dist/cjs/components/_internal/base-button.d.ts +2 -1
  3. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  4. package/dist/cjs/components/_internal/base-button.js +1 -1
  5. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  6. package/dist/cjs/components/checkbox-cards.js.map +1 -1
  7. package/dist/cjs/components/icon-button.d.ts +12 -1
  8. package/dist/cjs/components/icon-button.d.ts.map +1 -1
  9. package/dist/cjs/components/icon-button.js +1 -1
  10. package/dist/cjs/components/icon-button.js.map +2 -2
  11. package/dist/cjs/components/radio-cards.js.map +1 -1
  12. package/dist/cjs/components/toggle-icon-button.d.ts +16 -3
  13. package/dist/cjs/components/toggle-icon-button.d.ts.map +1 -1
  14. package/dist/cjs/components/toggle-icon-button.js +1 -1
  15. package/dist/cjs/components/toggle-icon-button.js.map +2 -2
  16. package/dist/esm/components/_internal/base-button.d.ts +2 -1
  17. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  18. package/dist/esm/components/_internal/base-button.js +1 -1
  19. package/dist/esm/components/_internal/base-button.js.map +3 -3
  20. package/dist/esm/components/checkbox-cards.js.map +1 -1
  21. package/dist/esm/components/icon-button.d.ts +12 -1
  22. package/dist/esm/components/icon-button.d.ts.map +1 -1
  23. package/dist/esm/components/icon-button.js +1 -1
  24. package/dist/esm/components/icon-button.js.map +2 -2
  25. package/dist/esm/components/radio-cards.js.map +1 -1
  26. package/dist/esm/components/toggle-icon-button.d.ts +16 -3
  27. package/dist/esm/components/toggle-icon-button.d.ts.map +1 -1
  28. package/dist/esm/components/toggle-icon-button.js +1 -1
  29. package/dist/esm/components/toggle-icon-button.js.map +2 -2
  30. package/package.json +1 -1
  31. package/src/components/_internal/base-button.css +118 -9
  32. package/src/components/_internal/base-button.tsx +26 -4
  33. package/src/components/checkbox-cards.tsx +4 -4
  34. package/src/components/icon-button.tsx +33 -5
  35. package/src/components/radio-cards.tsx +3 -3
  36. package/src/components/toggle-icon-button.tsx +44 -1
  37. package/src/styles/tokens/base.css +1 -0
  38. package/src/styles/tokens/shadow.css +4 -4
  39. package/src/styles/tokens/transition.css +43 -0
  40. package/styles.css +133 -13
  41. package/tokens/base.css +33 -4
  42. package/tokens.css +33 -4
@@ -1,11 +1,54 @@
1
1
  import * as React from 'react';
2
2
  import { Toggle } from 'radix-ui';
3
3
  import { IconButton } from './icon-button.js';
4
+ import type { BaseButtonProps } from './_internal/base-button.js';
4
5
 
5
- interface ToggleIconButtonProps extends React.ComponentPropsWithoutRef<typeof IconButton> {
6
+ // Extract the specific types we need
7
+ type ButtonVariant = 'classic' | 'solid' | 'soft' | 'surface' | 'outline' | 'ghost';
8
+ type ButtonSize = '1' | '2' | '3' | '4';
9
+ type ButtonColor =
10
+ | 'gray'
11
+ | 'gold'
12
+ | 'bronze'
13
+ | 'brown'
14
+ | 'yellow'
15
+ | 'amber'
16
+ | 'orange'
17
+ | 'tomato'
18
+ | 'red'
19
+ | 'ruby'
20
+ | 'crimson'
21
+ | 'pink'
22
+ | 'plum'
23
+ | 'purple'
24
+ | 'violet'
25
+ | 'iris'
26
+ | 'indigo'
27
+ | 'blue'
28
+ | 'cyan'
29
+ | 'teal'
30
+ | 'jade'
31
+ | 'green'
32
+ | 'grass'
33
+ | 'lime'
34
+ | 'mint'
35
+ | 'sky';
36
+ type ButtonRadius = 'none' | 'small' | 'medium' | 'large' | 'full';
37
+
38
+ interface ToggleIconButtonProps {
6
39
  pressed?: boolean;
7
40
  onPressedChange?: (pressed: boolean) => void;
8
41
  defaultPressed?: boolean;
42
+ 'aria-label': string;
43
+ variant?: ButtonVariant;
44
+ size?: ButtonSize;
45
+ color?: ButtonColor;
46
+ highContrast?: boolean;
47
+ radius?: ButtonRadius;
48
+ disabled?: boolean;
49
+ loading?: boolean;
50
+ className?: string;
51
+ children?: React.ReactNode;
9
52
  }
10
53
 
11
54
  type ToggleIconButtonElement = React.ElementRef<typeof IconButton>;
@@ -3,4 +3,5 @@
3
3
  @import './layout.css';
4
4
  @import './radius.css';
5
5
  @import './shadow.css';
6
+ @import './transition.css';
6
7
  @import './typography.css';
@@ -13,7 +13,7 @@
13
13
  0 1px 3px 0 var(--black-a1);
14
14
 
15
15
  --shadow-3:
16
- 0 0 0 1px var(--gray-a3),
16
+ 0 0 0 1px var(--gray-a4),
17
17
  0 2px 3px -2px var(--gray-a3),
18
18
  0 3px 12px -4px var(--black-a2),
19
19
  0 4px 16px -8px var(--black-a2);
@@ -51,7 +51,7 @@
51
51
  0 1px 3px 0 var(--black-a1);
52
52
 
53
53
  --shadow-3:
54
- 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%),
54
+ 0 0 0 1px color-mix(in oklab, var(--gray-a4), var(--gray-4) 25%),
55
55
  0 2px 3px -2px var(--gray-a3),
56
56
  0 3px 12px -4px var(--black-a2),
57
57
  0 4px 16px -8px var(--black-a2);
@@ -91,7 +91,7 @@
91
91
  0 1px 3px 0 var(--black-a5);
92
92
 
93
93
  --shadow-3:
94
- 0 0 0 1px var(--gray-a6),
94
+ 0 0 0 1px var(--gray-a7),
95
95
  0 2px 3px -2px var(--black-a3),
96
96
  0 3px 8px -2px var(--black-a6),
97
97
  0 4px 12px -4px var(--black-a7);
@@ -131,7 +131,7 @@
131
131
  0 1px 3px 0 var(--black-a5);
132
132
 
133
133
  --shadow-3:
134
- 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%),
134
+ 0 0 0 1px color-mix(in oklab, var(--gray-a7), var(--gray-7) 25%),
135
135
  0 2px 3px -2px var(--black-a3),
136
136
  0 3px 8px -2px var(--black-a6),
137
137
  0 4px 12px -4px var(--black-a7);
@@ -0,0 +1,43 @@
1
+ .radix-themes {
2
+ /* Duration tokens */
3
+ --duration-1: 100ms; /* Micro interactions */
4
+ --duration-2: 150ms; /* Fast transitions */
5
+ --duration-3: 200ms; /* Standard transitions */
6
+ --duration-4: 300ms; /* Slower transitions */
7
+ --duration-5: 500ms; /* Slow animations */
8
+
9
+ /* Easing tokens */
10
+ --ease-1: ease-out; /* Fast start, slow end */
11
+ --ease-2: ease-in-out; /* Smooth both ways */
12
+ --ease-3: cubic-bezier(0.4, 0, 0.2, 1); /* Material Design standard */
13
+ --ease-4: cubic-bezier(0.25, 0.46, 0.45, 0.94); /* Ease out back */
14
+ --ease-5: cubic-bezier(0.68, -0.55, 0.265, 1.55); /* Bounce */
15
+
16
+ /* Common transition combinations */
17
+ --transition-fast: var(--duration-2) var(--ease-1);
18
+ --transition-standard: var(--duration-3) var(--ease-2);
19
+ --transition-slow: var(--duration-4) var(--ease-3);
20
+
21
+ /* Specific component transitions */
22
+ --transition-button:
23
+ background var(--duration-2) var(--ease-1), box-shadow var(--duration-2) var(--ease-1),
24
+ filter var(--duration-2) var(--ease-1), transform var(--duration-1) var(--ease-1);
25
+
26
+ --transition-focus: outline var(--duration-2) var(--ease-1), outline-offset var(--duration-2) var(--ease-1);
27
+ }
28
+
29
+ /* Respect user preference for reduced motion */
30
+ @media (prefers-reduced-motion: reduce) {
31
+ .radix-themes {
32
+ --duration-1: 0ms;
33
+ --duration-2: 0ms;
34
+ --duration-3: 0ms;
35
+ --duration-4: 0ms;
36
+ --duration-5: 0ms;
37
+ --transition-fast: none;
38
+ --transition-standard: none;
39
+ --transition-slow: none;
40
+ --transition-button: none;
41
+ --transition-focus: none;
42
+ }
43
+ }
package/styles.css CHANGED
@@ -3360,7 +3360,7 @@
3360
3360
  --color-transparent: rgb(0 0 0 / 0);
3361
3361
  --shadow-1: inset 0 0 0 1px var(--gray-a5), inset 0 1.5px 2px 0 var(--gray-a2), inset 0 1.5px 2px 0 var(--black-a2);
3362
3362
  --shadow-2: 0 0 0 1px var(--gray-a3), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a2), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
3363
- --shadow-3: 0 0 0 1px var(--gray-a3), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
3363
+ --shadow-3: 0 0 0 1px var(--gray-a4), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
3364
3364
  --shadow-4: 0 0 0 1px var(--gray-a3), 0 8px 40px var(--black-a1), 0 12px 32px -16px var(--gray-a3);
3365
3365
  --shadow-5: 0 0 0 1px var(--gray-a3), 0 12px 60px var(--black-a3), 0 12px 32px -16px var(--gray-a5);
3366
3366
  --shadow-6: 0 0 0 1px var(--gray-a3), 0 12px 60px var(--black-a3), 0 16px 64px var(--gray-a2), 0 16px 36px -20px var(--gray-a7);
@@ -3368,6 +3368,8 @@
3368
3368
  --base-button-classic-hover-shadow: var(--shadow-3);
3369
3369
  --base-button-classic-active-shadow: var(--shadow-2);
3370
3370
  --base-button-classic-disabled-shadow: none;
3371
+ --base-button-classic-hover-filter: brightness(1.08) saturate(1.02) contrast(1.02);
3372
+ --base-button-classic-active-filter: brightness(0.88) saturate(1.05) contrast(1.1);
3371
3373
  --base-button-solid-active-filter: brightness(0.92) saturate(1.1);
3372
3374
  --base-button-solid-high-contrast-hover-filter: contrast(0.88) saturate(1.1) brightness(1.1);
3373
3375
  --base-button-solid-high-contrast-active-filter: contrast(0.82) saturate(1.2) brightness(1.16);
@@ -3403,7 +3405,7 @@
3403
3405
  --color-surface: rgba(0, 0, 0, 0.25);
3404
3406
  --shadow-1: inset 0 -1px 1px 0 var(--gray-a3), inset 0 0 0 1px var(--gray-a3), inset 0 3px 4px 0 var(--black-a5), inset 0 0 0 1px var(--gray-a4);
3405
3407
  --shadow-2: 0 0 0 1px var(--gray-a6), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
3406
- --shadow-3: 0 0 0 1px var(--gray-a6), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
3408
+ --shadow-3: 0 0 0 1px var(--gray-a7), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
3407
3409
  --shadow-4: 0 0 0 1px var(--gray-a6), 0 8px 40px var(--black-a3), 0 12px 32px -16px var(--black-a5);
3408
3410
  --shadow-5: 0 0 0 1px var(--gray-a6), 0 12px 60px var(--black-a5), 0 12px 32px -16px var(--black-a7);
3409
3411
  --shadow-6: 0 0 0 1px var(--gray-a6), 0 12px 60px var(--black-a4), 0 16px 64px var(--black-a6), 0 16px 36px -20px var(--black-a11);
@@ -3411,6 +3413,8 @@
3411
3413
  --base-button-classic-hover-shadow: var(--shadow-3);
3412
3414
  --base-button-classic-active-shadow: var(--shadow-2);
3413
3415
  --base-button-classic-disabled-shadow: none;
3416
+ --base-button-classic-hover-filter: brightness(1.12) saturate(1.05) contrast(1.02);
3417
+ --base-button-classic-active-filter: brightness(0.92) saturate(1.1) contrast(1.05);
3414
3418
  --base-button-solid-active-filter: brightness(1.08);
3415
3419
  --base-button-solid-high-contrast-hover-filter: contrast(0.88) saturate(1.3) brightness(1.18);
3416
3420
  --base-button-solid-high-contrast-active-filter: brightness(0.95) saturate(1.2);
@@ -4433,6 +4437,21 @@
4433
4437
  --space-7: calc(40px * var(--scaling));
4434
4438
  --space-8: calc(48px * var(--scaling));
4435
4439
  --space-9: calc(64px * var(--scaling));
4440
+ --duration-1: 100ms;
4441
+ --duration-2: 150ms;
4442
+ --duration-3: 200ms;
4443
+ --duration-4: 300ms;
4444
+ --duration-5: 500ms;
4445
+ --ease-1: ease-out;
4446
+ --ease-2: ease-in-out;
4447
+ --ease-3: cubic-bezier(0.4, 0, 0.2, 1);
4448
+ --ease-4: cubic-bezier(0.25, 0.46, 0.45, 0.94);
4449
+ --ease-5: cubic-bezier(0.68, -0.55, 0.265, 1.55);
4450
+ --transition-fast: var(--duration-2) var(--ease-1);
4451
+ --transition-standard: var(--duration-3) var(--ease-2);
4452
+ --transition-slow: var(--duration-4) var(--ease-3);
4453
+ --transition-button: background var(--duration-2) var(--ease-1), box-shadow var(--duration-2) var(--ease-1), filter var(--duration-2) var(--ease-1), transform var(--duration-1) var(--ease-1);
4454
+ --transition-focus: outline var(--duration-2) var(--ease-1), outline-offset var(--duration-2) var(--ease-1);
4436
4455
  --font-size-0: calc(10px * var(--scaling));
4437
4456
  --font-size-1: calc(12px * var(--scaling));
4438
4457
  --font-size-2: calc(14px * var(--scaling));
@@ -4600,7 +4619,7 @@
4600
4619
  :where(.radix-themes) {
4601
4620
  --shadow-1: inset 0 0 0 1px var(--gray-a5), inset 0 1.5px 2px 0 var(--gray-a2), inset 0 1.5px 2px 0 var(--black-a2);
4602
4621
  --shadow-2: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a2), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
4603
- --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
4622
+ --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a4), var(--gray-4) 25%), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
4604
4623
  --shadow-4: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 8px 40px var(--black-a1), 0 12px 32px -16px var(--gray-a3);
4605
4624
  --shadow-5: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 12px 60px var(--black-a3), 0 12px 32px -16px var(--gray-a5);
4606
4625
  --shadow-6: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 12px 60px var(--black-a3), 0 16px 64px var(--gray-a2), 0 16px 36px -20px var(--gray-a7);
@@ -4617,12 +4636,26 @@
4617
4636
  :is(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) {
4618
4637
  --shadow-1: inset 0 -1px 1px 0 var(--gray-a3), inset 0 0 0 1px var(--gray-a3), inset 0 3px 4px 0 var(--black-a5), inset 0 0 0 1px var(--gray-a4);
4619
4638
  --shadow-2: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
4620
- --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
4639
+ --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a7), var(--gray-7) 25%), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
4621
4640
  --shadow-4: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 8px 40px var(--black-a3), 0 12px 32px -16px var(--black-a5);
4622
4641
  --shadow-5: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a5), 0 12px 32px -16px var(--black-a7);
4623
4642
  --shadow-6: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a4), 0 16px 64px var(--black-a6), 0 16px 36px -20px var(--black-a11);
4624
4643
  }
4625
4644
  }
4645
+ @media (prefers-reduced-motion: reduce) {
4646
+ .radix-themes {
4647
+ --duration-1: 0ms;
4648
+ --duration-2: 0ms;
4649
+ --duration-3: 0ms;
4650
+ --duration-4: 0ms;
4651
+ --duration-5: 0ms;
4652
+ --transition-fast: none;
4653
+ --transition-standard: none;
4654
+ --transition-slow: none;
4655
+ --transition-button: none;
4656
+ --transition-focus: none;
4657
+ }
4658
+ }
4626
4659
  @font-face {
4627
4660
  font-family: 'Segoe UI (Custom)';
4628
4661
  font-weight: 300;
@@ -6535,13 +6568,18 @@
6535
6568
  padding-left: min(var(--space-5), max(var(--space-3), 0.5em));
6536
6569
  }
6537
6570
  .rt-BaseButton {
6571
+ all: unset;
6572
+ box-sizing: border-box;
6538
6573
  display: inline-flex;
6539
6574
  align-items: center;
6540
6575
  justify-content: center;
6541
6576
  flex-shrink: 0;
6542
6577
  -webkit-user-select: none;
6543
6578
  user-select: none;
6544
- vertical-align: top;
6579
+ position: relative;
6580
+ cursor: default;
6581
+ gap: var(--base-button-gap);
6582
+ transition: var(--transition-button);
6545
6583
  font-family: var(--default-font-family);
6546
6584
  font-style: normal;
6547
6585
  text-align: center;
@@ -6549,9 +6587,23 @@
6549
6587
  }
6550
6588
  .rt-BaseButton:where([data-disabled]) {
6551
6589
  --spinner-opacity: 1;
6590
+ cursor: not-allowed;
6591
+ pointer-events: none;
6552
6592
  }
6553
6593
  .rt-BaseButton:where(.rt-loading) {
6554
6594
  position: relative;
6595
+ cursor: wait;
6596
+ }
6597
+ .rt-BaseButton:where(:active:not([data-disabled], [data-state='open'])) {
6598
+ transform: scale(0.98);
6599
+ }
6600
+ @media (prefers-reduced-motion: reduce) {
6601
+ .rt-BaseButton {
6602
+ transition: none;
6603
+ }
6604
+ .rt-BaseButton:where(:active:not([data-disabled], [data-state='open'])) {
6605
+ transform: none;
6606
+ }
6555
6607
  }
6556
6608
  .rt-BaseButton:where(.rt-full-width) {
6557
6609
  display: flex;
@@ -6711,8 +6763,9 @@
6711
6763
  }
6712
6764
  @media (hover: hover) {
6713
6765
  .rt-BaseButton:where(.rt-variant-classic):where(:hover) {
6714
- background: linear-gradient(to bottom, var(--accent-10), var(--accent-11));
6766
+ background: linear-gradient(to bottom, var(--accent-9), var(--accent-10));
6715
6767
  box-shadow: var(--base-button-classic-hover-shadow);
6768
+ filter: var(--base-button-classic-hover-filter);
6716
6769
  }
6717
6770
  .rt-BaseButton:where(.rt-variant-classic):where(:hover):where(.rt-high-contrast) {
6718
6771
  background: linear-gradient(to bottom, var(--accent-11), var(--accent-12));
@@ -6723,8 +6776,9 @@
6723
6776
  }
6724
6777
  }
6725
6778
  .rt-BaseButton:where(.rt-variant-classic):where([data-state='open']) {
6726
- background: linear-gradient(to bottom, var(--accent-10), var(--accent-11));
6779
+ background: linear-gradient(to bottom, var(--accent-9), var(--accent-10));
6727
6780
  box-shadow: var(--base-button-classic-hover-shadow);
6781
+ filter: var(--base-button-classic-hover-filter);
6728
6782
  }
6729
6783
  .rt-BaseButton:where(.rt-variant-classic):where([data-state='open']):where(.rt-high-contrast) {
6730
6784
  background: linear-gradient(to bottom, var(--accent-11), var(--accent-12));
@@ -6734,11 +6788,12 @@
6734
6788
  background: var(--accent-12);
6735
6789
  }
6736
6790
  .rt-BaseButton:where(.rt-variant-classic):where(:active:not([data-state='open'], [data-disabled])) {
6737
- background: linear-gradient(to bottom, var(--accent-10), var(--accent-9));
6791
+ background: linear-gradient(to bottom, var(--accent-9), var(--accent-10));
6738
6792
  box-shadow: var(--base-button-classic-active-shadow);
6793
+ filter: var(--base-button-classic-active-filter);
6739
6794
  }
6740
6795
  .rt-BaseButton:where(.rt-variant-classic):where(:active:not([data-state='open'], [data-disabled])):where(.rt-high-contrast) {
6741
- background: linear-gradient(to bottom, var(--accent-12), var(--accent-11));
6796
+ background: linear-gradient(to bottom, var(--accent-11), var(--accent-12));
6742
6797
  filter: contrast(0.82) saturate(1.2) brightness(1.16);
6743
6798
  }
6744
6799
  .rt-BaseButton:where(.rt-variant-classic):where(:active:not([data-state='open'], [data-disabled])):where(.rt-high-contrast):where(:not([data-accent-color='gray'])) {
@@ -6750,6 +6805,8 @@
6750
6805
  box-shadow: var(--base-button-classic-disabled-shadow);
6751
6806
  outline: none;
6752
6807
  filter: none;
6808
+ cursor: not-allowed;
6809
+ pointer-events: none;
6753
6810
  }
6754
6811
  .rt-BaseButton:where(.rt-variant-solid) {
6755
6812
  background-color: var(--accent-9);
@@ -6800,6 +6857,8 @@
6800
6857
  background-color: var(--gray-a3);
6801
6858
  outline: none;
6802
6859
  filter: none;
6860
+ cursor: not-allowed;
6861
+ pointer-events: none;
6803
6862
  }
6804
6863
  .rt-BaseButton:where(.rt-variant-soft, .rt-variant-ghost) {
6805
6864
  color: var(--accent-a11);
@@ -6810,6 +6869,8 @@
6810
6869
  .rt-BaseButton:where(.rt-variant-soft, .rt-variant-ghost):where([data-disabled]) {
6811
6870
  color: var(--gray-a8);
6812
6871
  background-color: var(--gray-a3);
6872
+ cursor: not-allowed;
6873
+ pointer-events: none;
6813
6874
  }
6814
6875
  .rt-BaseButton:where(.rt-variant-soft) {
6815
6876
  background-color: var(--accent-a3);
@@ -6832,6 +6893,8 @@
6832
6893
  .rt-BaseButton:where(.rt-variant-soft):where([data-disabled]) {
6833
6894
  color: var(--gray-a8);
6834
6895
  background-color: var(--gray-a3);
6896
+ cursor: not-allowed;
6897
+ pointer-events: none;
6835
6898
  }
6836
6899
  @media (hover: hover) {
6837
6900
  .rt-BaseButton:where(.rt-variant-ghost):where(:hover) {
@@ -6851,6 +6914,8 @@
6851
6914
  .rt-BaseButton:where(.rt-variant-ghost):where([data-disabled]) {
6852
6915
  color: var(--gray-a8);
6853
6916
  background-color: transparent;
6917
+ cursor: not-allowed;
6918
+ pointer-events: none;
6854
6919
  }
6855
6920
  .rt-BaseButton:where(.rt-variant-outline) {
6856
6921
  box-shadow: inset 0 0 0 1px var(--accent-a8);
@@ -6879,6 +6944,8 @@
6879
6944
  color: var(--gray-a8);
6880
6945
  box-shadow: inset 0 0 0 1px var(--gray-a7);
6881
6946
  background-color: transparent;
6947
+ cursor: not-allowed;
6948
+ pointer-events: none;
6882
6949
  }
6883
6950
  .rt-BaseButton:where(.rt-variant-surface) {
6884
6951
  background-color: var(--accent-surface);
@@ -6908,24 +6975,36 @@
6908
6975
  color: var(--gray-a8);
6909
6976
  box-shadow: inset 0 0 0 1px var(--gray-a6);
6910
6977
  background-color: var(--gray-a2);
6978
+ cursor: not-allowed;
6979
+ pointer-events: none;
6980
+ }
6981
+ .rt-BaseButton:where([data-state='on']) {
6982
+ transform: scale(0.98);
6983
+ }
6984
+ @media (prefers-reduced-motion: reduce) {
6985
+ .rt-BaseButton:where([data-state='on']) {
6986
+ transform: none;
6987
+ }
6911
6988
  }
6912
6989
  .rt-BaseButton:where([data-state='on']):where(.rt-variant-classic) {
6913
- background: linear-gradient(to bottom, var(--accent-10), var(--accent-11));
6914
- box-shadow: var(--base-button-classic-hover-shadow);
6990
+ background: linear-gradient(to bottom, var(--accent-9), var(--accent-10));
6991
+ box-shadow: var(--base-button-classic-active-shadow);
6992
+ filter: var(--base-button-classic-active-filter);
6915
6993
  }
6916
6994
  .rt-BaseButton:where([data-state='on']):where(.rt-variant-classic):where(.rt-high-contrast) {
6917
6995
  background: linear-gradient(to bottom, var(--accent-11), var(--accent-12));
6918
- filter: contrast(0.88) saturate(1.1) brightness(1.1);
6996
+ filter: contrast(0.82) saturate(1.2) brightness(1.16);
6919
6997
  }
6920
6998
  .rt-BaseButton:where([data-state='on']):where(.rt-variant-classic):where(.rt-high-contrast):where(:not([data-accent-color='gray'])) {
6921
6999
  background: var(--accent-12);
6922
7000
  }
6923
7001
  .rt-BaseButton:where([data-state='on']):where(.rt-variant-solid) {
6924
7002
  background-color: var(--accent-10);
7003
+ filter: var(--base-button-solid-active-filter);
6925
7004
  }
6926
7005
  .rt-BaseButton:where([data-state='on']):where(.rt-variant-solid):where(.rt-high-contrast) {
6927
7006
  background-color: var(--accent-12);
6928
- filter: var(--base-button-solid-high-contrast-hover-filter);
7007
+ filter: var(--base-button-solid-high-contrast-active-filter);
6929
7008
  }
6930
7009
  .rt-BaseButton:where([data-state='on']):where(.rt-variant-soft) {
6931
7010
  background-color: var(--accent-a5);
@@ -6940,6 +7019,47 @@
6940
7019
  background-color: var(--accent-a3);
6941
7020
  box-shadow: inset 0 0 0 1px var(--accent-a8);
6942
7021
  }
7022
+ .rt-BaseButton:where([disabled][aria-pressed]) {
7023
+ transform: none;
7024
+ color: var(--gray-a8);
7025
+ background-color: var(--gray-a3);
7026
+ background: var(--gray-a3);
7027
+ box-shadow: none;
7028
+ filter: none;
7029
+ opacity: 0.6;
7030
+ cursor: not-allowed;
7031
+ pointer-events: none;
7032
+ }
7033
+ .rt-BaseButton:where([disabled][aria-pressed]):where([data-state='on']) {
7034
+ transform: none;
7035
+ background: var(--gray-a3);
7036
+ background-color: var(--gray-a3);
7037
+ box-shadow: none;
7038
+ filter: none;
7039
+ }
7040
+ .rt-BaseButton:where([disabled][aria-pressed]):where(.rt-variant-classic) {
7041
+ background: var(--gray-a3);
7042
+ box-shadow: none;
7043
+ filter: none;
7044
+ }
7045
+ .rt-BaseButton:where([disabled][aria-pressed]):where(.rt-variant-solid) {
7046
+ background-color: var(--gray-a3);
7047
+ filter: none;
7048
+ }
7049
+ .rt-BaseButton:where([disabled][aria-pressed]):where(.rt-variant-soft) {
7050
+ background-color: var(--gray-a3);
7051
+ }
7052
+ .rt-BaseButton:where([disabled][aria-pressed]):where(.rt-variant-ghost) {
7053
+ background-color: var(--gray-a3);
7054
+ }
7055
+ .rt-BaseButton:where([disabled][aria-pressed]):where(.rt-variant-outline) {
7056
+ background-color: var(--gray-a3);
7057
+ box-shadow: none;
7058
+ }
7059
+ .rt-BaseButton:where([disabled][aria-pressed]):where(.rt-variant-surface) {
7060
+ background-color: var(--gray-a3);
7061
+ box-shadow: none;
7062
+ }
6943
7063
  .rt-Button:where(:not(.rt-variant-ghost)) :where(svg) {
6944
7064
  opacity: 0.9;
6945
7065
  }
package/tokens/base.css CHANGED
@@ -63,7 +63,7 @@
63
63
  --color-transparent: rgb(0 0 0 / 0);
64
64
  --shadow-1: inset 0 0 0 1px var(--gray-a5), inset 0 1.5px 2px 0 var(--gray-a2), inset 0 1.5px 2px 0 var(--black-a2);
65
65
  --shadow-2: 0 0 0 1px var(--gray-a3), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a2), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
66
- --shadow-3: 0 0 0 1px var(--gray-a3), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
66
+ --shadow-3: 0 0 0 1px var(--gray-a4), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
67
67
  --shadow-4: 0 0 0 1px var(--gray-a3), 0 8px 40px var(--black-a1), 0 12px 32px -16px var(--gray-a3);
68
68
  --shadow-5: 0 0 0 1px var(--gray-a3), 0 12px 60px var(--black-a3), 0 12px 32px -16px var(--gray-a5);
69
69
  --shadow-6: 0 0 0 1px var(--gray-a3), 0 12px 60px var(--black-a3), 0 16px 64px var(--gray-a2), 0 16px 36px -20px var(--gray-a7);
@@ -77,7 +77,7 @@
77
77
  --color-surface: rgba(0, 0, 0, 0.25);
78
78
  --shadow-1: inset 0 -1px 1px 0 var(--gray-a3), inset 0 0 0 1px var(--gray-a3), inset 0 3px 4px 0 var(--black-a5), inset 0 0 0 1px var(--gray-a4);
79
79
  --shadow-2: 0 0 0 1px var(--gray-a6), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
80
- --shadow-3: 0 0 0 1px var(--gray-a6), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
80
+ --shadow-3: 0 0 0 1px var(--gray-a7), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
81
81
  --shadow-4: 0 0 0 1px var(--gray-a6), 0 8px 40px var(--black-a3), 0 12px 32px -16px var(--black-a5);
82
82
  --shadow-5: 0 0 0 1px var(--gray-a6), 0 12px 60px var(--black-a5), 0 12px 32px -16px var(--black-a7);
83
83
  --shadow-6: 0 0 0 1px var(--gray-a6), 0 12px 60px var(--black-a4), 0 16px 64px var(--black-a6), 0 16px 36px -20px var(--black-a11);
@@ -1087,6 +1087,21 @@
1087
1087
  --space-7: calc(40px * var(--scaling));
1088
1088
  --space-8: calc(48px * var(--scaling));
1089
1089
  --space-9: calc(64px * var(--scaling));
1090
+ --duration-1: 100ms;
1091
+ --duration-2: 150ms;
1092
+ --duration-3: 200ms;
1093
+ --duration-4: 300ms;
1094
+ --duration-5: 500ms;
1095
+ --ease-1: ease-out;
1096
+ --ease-2: ease-in-out;
1097
+ --ease-3: cubic-bezier(0.4, 0, 0.2, 1);
1098
+ --ease-4: cubic-bezier(0.25, 0.46, 0.45, 0.94);
1099
+ --ease-5: cubic-bezier(0.68, -0.55, 0.265, 1.55);
1100
+ --transition-fast: var(--duration-2) var(--ease-1);
1101
+ --transition-standard: var(--duration-3) var(--ease-2);
1102
+ --transition-slow: var(--duration-4) var(--ease-3);
1103
+ --transition-button: background var(--duration-2) var(--ease-1), box-shadow var(--duration-2) var(--ease-1), filter var(--duration-2) var(--ease-1), transform var(--duration-1) var(--ease-1);
1104
+ --transition-focus: outline var(--duration-2) var(--ease-1), outline-offset var(--duration-2) var(--ease-1);
1090
1105
  --font-size-0: calc(10px * var(--scaling));
1091
1106
  --font-size-1: calc(12px * var(--scaling));
1092
1107
  --font-size-2: calc(14px * var(--scaling));
@@ -1239,7 +1254,7 @@
1239
1254
  :where(.radix-themes) {
1240
1255
  --shadow-1: inset 0 0 0 1px var(--gray-a5), inset 0 1.5px 2px 0 var(--gray-a2), inset 0 1.5px 2px 0 var(--black-a2);
1241
1256
  --shadow-2: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a2), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
1242
- --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
1257
+ --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a4), var(--gray-4) 25%), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
1243
1258
  --shadow-4: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 8px 40px var(--black-a1), 0 12px 32px -16px var(--gray-a3);
1244
1259
  --shadow-5: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 12px 60px var(--black-a3), 0 12px 32px -16px var(--gray-a5);
1245
1260
  --shadow-6: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 12px 60px var(--black-a3), 0 16px 64px var(--gray-a2), 0 16px 36px -20px var(--gray-a7);
@@ -1250,12 +1265,26 @@
1250
1265
  :is(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) {
1251
1266
  --shadow-1: inset 0 -1px 1px 0 var(--gray-a3), inset 0 0 0 1px var(--gray-a3), inset 0 3px 4px 0 var(--black-a5), inset 0 0 0 1px var(--gray-a4);
1252
1267
  --shadow-2: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
1253
- --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
1268
+ --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a7), var(--gray-7) 25%), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
1254
1269
  --shadow-4: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 8px 40px var(--black-a3), 0 12px 32px -16px var(--black-a5);
1255
1270
  --shadow-5: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a5), 0 12px 32px -16px var(--black-a7);
1256
1271
  --shadow-6: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a4), 0 16px 64px var(--black-a6), 0 16px 36px -20px var(--black-a11);
1257
1272
  }
1258
1273
  }
1274
+ @media (prefers-reduced-motion: reduce) {
1275
+ .radix-themes {
1276
+ --duration-1: 0ms;
1277
+ --duration-2: 0ms;
1278
+ --duration-3: 0ms;
1279
+ --duration-4: 0ms;
1280
+ --duration-5: 0ms;
1281
+ --transition-fast: none;
1282
+ --transition-standard: none;
1283
+ --transition-slow: none;
1284
+ --transition-button: none;
1285
+ --transition-focus: none;
1286
+ }
1287
+ }
1259
1288
  @font-face {
1260
1289
  font-family: 'Segoe UI (Custom)';
1261
1290
  font-weight: 300;
package/tokens.css CHANGED
@@ -3344,7 +3344,7 @@
3344
3344
  --color-transparent: rgb(0 0 0 / 0);
3345
3345
  --shadow-1: inset 0 0 0 1px var(--gray-a5), inset 0 1.5px 2px 0 var(--gray-a2), inset 0 1.5px 2px 0 var(--black-a2);
3346
3346
  --shadow-2: 0 0 0 1px var(--gray-a3), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a2), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
3347
- --shadow-3: 0 0 0 1px var(--gray-a3), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
3347
+ --shadow-3: 0 0 0 1px var(--gray-a4), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
3348
3348
  --shadow-4: 0 0 0 1px var(--gray-a3), 0 8px 40px var(--black-a1), 0 12px 32px -16px var(--gray-a3);
3349
3349
  --shadow-5: 0 0 0 1px var(--gray-a3), 0 12px 60px var(--black-a3), 0 12px 32px -16px var(--gray-a5);
3350
3350
  --shadow-6: 0 0 0 1px var(--gray-a3), 0 12px 60px var(--black-a3), 0 16px 64px var(--gray-a2), 0 16px 36px -20px var(--gray-a7);
@@ -3358,7 +3358,7 @@
3358
3358
  --color-surface: rgba(0, 0, 0, 0.25);
3359
3359
  --shadow-1: inset 0 -1px 1px 0 var(--gray-a3), inset 0 0 0 1px var(--gray-a3), inset 0 3px 4px 0 var(--black-a5), inset 0 0 0 1px var(--gray-a4);
3360
3360
  --shadow-2: 0 0 0 1px var(--gray-a6), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
3361
- --shadow-3: 0 0 0 1px var(--gray-a6), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
3361
+ --shadow-3: 0 0 0 1px var(--gray-a7), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
3362
3362
  --shadow-4: 0 0 0 1px var(--gray-a6), 0 8px 40px var(--black-a3), 0 12px 32px -16px var(--black-a5);
3363
3363
  --shadow-5: 0 0 0 1px var(--gray-a6), 0 12px 60px var(--black-a5), 0 12px 32px -16px var(--black-a7);
3364
3364
  --shadow-6: 0 0 0 1px var(--gray-a6), 0 12px 60px var(--black-a4), 0 16px 64px var(--black-a6), 0 16px 36px -20px var(--black-a11);
@@ -4368,6 +4368,21 @@
4368
4368
  --space-7: calc(40px * var(--scaling));
4369
4369
  --space-8: calc(48px * var(--scaling));
4370
4370
  --space-9: calc(64px * var(--scaling));
4371
+ --duration-1: 100ms;
4372
+ --duration-2: 150ms;
4373
+ --duration-3: 200ms;
4374
+ --duration-4: 300ms;
4375
+ --duration-5: 500ms;
4376
+ --ease-1: ease-out;
4377
+ --ease-2: ease-in-out;
4378
+ --ease-3: cubic-bezier(0.4, 0, 0.2, 1);
4379
+ --ease-4: cubic-bezier(0.25, 0.46, 0.45, 0.94);
4380
+ --ease-5: cubic-bezier(0.68, -0.55, 0.265, 1.55);
4381
+ --transition-fast: var(--duration-2) var(--ease-1);
4382
+ --transition-standard: var(--duration-3) var(--ease-2);
4383
+ --transition-slow: var(--duration-4) var(--ease-3);
4384
+ --transition-button: background var(--duration-2) var(--ease-1), box-shadow var(--duration-2) var(--ease-1), filter var(--duration-2) var(--ease-1), transform var(--duration-1) var(--ease-1);
4385
+ --transition-focus: outline var(--duration-2) var(--ease-1), outline-offset var(--duration-2) var(--ease-1);
4371
4386
  --font-size-0: calc(10px * var(--scaling));
4372
4387
  --font-size-1: calc(12px * var(--scaling));
4373
4388
  --font-size-2: calc(14px * var(--scaling));
@@ -4520,7 +4535,7 @@
4520
4535
  :where(.radix-themes) {
4521
4536
  --shadow-1: inset 0 0 0 1px var(--gray-a5), inset 0 1.5px 2px 0 var(--gray-a2), inset 0 1.5px 2px 0 var(--black-a2);
4522
4537
  --shadow-2: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 0 0 0.5px var(--black-a1), 0 1px 1px 0 var(--gray-a2), 0 2px 1px -1px var(--black-a1), 0 1px 3px 0 var(--black-a1);
4523
- --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
4538
+ --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a4), var(--gray-4) 25%), 0 2px 3px -2px var(--gray-a3), 0 3px 12px -4px var(--black-a2), 0 4px 16px -8px var(--black-a2);
4524
4539
  --shadow-4: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 8px 40px var(--black-a1), 0 12px 32px -16px var(--gray-a3);
4525
4540
  --shadow-5: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 12px 60px var(--black-a3), 0 12px 32px -16px var(--gray-a5);
4526
4541
  --shadow-6: 0 0 0 1px color-mix(in oklab, var(--gray-a3), var(--gray-3) 25%), 0 12px 60px var(--black-a3), 0 16px 64px var(--gray-a2), 0 16px 36px -20px var(--gray-a7);
@@ -4531,12 +4546,26 @@
4531
4546
  :is(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) {
4532
4547
  --shadow-1: inset 0 -1px 1px 0 var(--gray-a3), inset 0 0 0 1px var(--gray-a3), inset 0 3px 4px 0 var(--black-a5), inset 0 0 0 1px var(--gray-a4);
4533
4548
  --shadow-2: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 0 0 0.5px var(--black-a3), 0 1px 1px 0 var(--black-a6), 0 2px 1px -1px var(--black-a6), 0 1px 3px 0 var(--black-a5);
4534
- --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
4549
+ --shadow-3: 0 0 0 1px color-mix(in oklab, var(--gray-a7), var(--gray-7) 25%), 0 2px 3px -2px var(--black-a3), 0 3px 8px -2px var(--black-a6), 0 4px 12px -4px var(--black-a7);
4535
4550
  --shadow-4: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 8px 40px var(--black-a3), 0 12px 32px -16px var(--black-a5);
4536
4551
  --shadow-5: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a5), 0 12px 32px -16px var(--black-a7);
4537
4552
  --shadow-6: 0 0 0 1px color-mix(in oklab, var(--gray-a6), var(--gray-6) 25%), 0 12px 60px var(--black-a4), 0 16px 64px var(--black-a6), 0 16px 36px -20px var(--black-a11);
4538
4553
  }
4539
4554
  }
4555
+ @media (prefers-reduced-motion: reduce) {
4556
+ .radix-themes {
4557
+ --duration-1: 0ms;
4558
+ --duration-2: 0ms;
4559
+ --duration-3: 0ms;
4560
+ --duration-4: 0ms;
4561
+ --duration-5: 0ms;
4562
+ --transition-fast: none;
4563
+ --transition-standard: none;
4564
+ --transition-slow: none;
4565
+ --transition-button: none;
4566
+ --transition-focus: none;
4567
+ }
4568
+ }
4540
4569
  @font-face {
4541
4570
  font-family: 'Segoe UI (Custom)';
4542
4571
  font-weight: 300;