|
1 | | -/* General Styling */ |
| 1 | +/* General Toggle Styling */ |
2 | 2 | .toggle { |
3 | 3 | display: inline-flex; |
4 | 4 | align-items: center; |
|
22 | 22 | outline: none; |
23 | 23 | border-radius: var(--radius-full); |
24 | 24 | cursor: pointer; |
25 | | - transition: background-color 0.35s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.35s cubic-bezier(0.25, 1, 0.5, 1); |
| 25 | + transition: background-color var(--transition-all), box-shadow var(--transition-all); |
26 | 26 | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3); |
27 | 27 | } |
28 | 28 |
|
|
37 | 37 | top: 50%; |
38 | 38 | left: 0.25rem; |
39 | 39 | transform: translateY(-50%); |
40 | | - transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.35s ease-in-out, box-shadow 0.3s ease-in-out; |
| 40 | + transition: transform var(--transition-all), background-color var(--transition-all), box-shadow var(--transition-all); |
41 | 41 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); |
42 | 42 | z-index: 1; |
43 | 43 | } |
|
53 | 53 | background-color: var(--primary); |
54 | 54 | } |
55 | 55 |
|
56 | | -/* Simulated Light Versions */ |
57 | | -.toggle-success input[type="checkbox"]:checked { |
58 | | - background-color: rgba(16, 185, 129, 0.2); /* Light green */ |
| 56 | +/* Variant Colors */ |
| 57 | +[data-variant="success"] input[type="checkbox"]:checked { |
| 58 | + background-color: rgba(16, 185, 129, 0.2); |
59 | 59 | } |
60 | | - |
61 | | -.toggle-danger input[type="checkbox"]:checked { |
62 | | - background-color: rgba(239, 68, 68, 0.2); /* Light red */ |
63 | | -} |
64 | | - |
65 | | -.toggle-warning input[type="checkbox"]:checked { |
66 | | - background-color: rgba(245, 158, 11, 0.2); /* Light yellow */ |
67 | | -} |
68 | | - |
69 | | -.toggle-info input[type="checkbox"]:checked { |
70 | | - background-color: rgba(59, 130, 246, 0.2); /* Light blue */ |
71 | | -} |
72 | | - |
73 | | -/* Icon Color Adjustments */ |
74 | | -.toggle-success input[type="checkbox"]:checked::before { |
| 60 | +[data-variant="success"] input[type="checkbox"]:checked::before { |
75 | 61 | background-color: var(--success); |
76 | 62 | } |
77 | 63 |
|
78 | | -.toggle-danger input[type="checkbox"]:checked::before { |
| 64 | +[data-variant="danger"] input[type="checkbox"]:checked { |
| 65 | + background-color: rgba(239, 68, 68, 0.2); |
| 66 | +} |
| 67 | +[data-variant="danger"] input[type="checkbox"]:checked::before { |
79 | 68 | background-color: var(--danger); |
80 | 69 | } |
81 | 70 |
|
82 | | -.toggle-warning input[type="checkbox"]:checked::before { |
| 71 | +[data-variant="warning"] input[type="checkbox"]:checked { |
| 72 | + background-color: rgba(245, 158, 11, 0.2); |
| 73 | +} |
| 74 | +[data-variant="warning"] input[type="checkbox"]:checked::before { |
83 | 75 | background-color: var(--warning); |
84 | 76 | } |
85 | 77 |
|
86 | | -.toggle-info input[type="checkbox"]:checked::before { |
| 78 | +[data-variant="info"] input[type="checkbox"]:checked { |
| 79 | + background-color: rgba(59, 130, 246, 0.2); |
| 80 | +} |
| 81 | +[data-variant="info"] input[type="checkbox"]:checked::before { |
87 | 82 | background-color: var(--info); |
88 | 83 | } |
89 | 84 |
|
90 | 85 | /* Primary, Secondary, and Accent Variants */ |
91 | | -.toggle-primary input[type="checkbox"]:checked { |
| 86 | +[data-variant="primary"] input[type="checkbox"]:checked { |
92 | 87 | background-color: var(--primary-light); |
93 | 88 | } |
94 | | - |
95 | | -.toggle-secondary input[type="checkbox"]:checked { |
96 | | - background-color: var(--secondary-light); |
97 | | -} |
98 | | - |
99 | | -.toggle-primary input[type="checkbox"]:checked::before { |
| 89 | +[data-variant="primary"] input[type="checkbox"]:checked::before { |
100 | 90 | background-color: var(--primary); |
101 | 91 | } |
102 | 92 |
|
103 | | -.toggle-secondary input[type="checkbox"]:checked::before { |
| 93 | +[data-variant="secondary"] input[type="checkbox"]:checked { |
| 94 | + background-color: var(--secondary-light); |
| 95 | +} |
| 96 | +[data-variant="secondary"] input[type="checkbox"]:checked::before { |
104 | 97 | background-color: var(--secondary); |
105 | 98 | } |
106 | 99 |
|
|
110 | 103 | cursor: not-allowed; |
111 | 104 | opacity: 0.6; |
112 | 105 | } |
113 | | - |
114 | 106 | .toggle input[type="checkbox"]:disabled::before { |
115 | 107 | background-color: var(--neutral-400); |
116 | 108 | } |
117 | | - |
118 | 109 | .toggle input[type="checkbox"]:disabled:checked { |
119 | 110 | background-color: var(--neutral-300); |
120 | 111 | } |
121 | | - |
122 | 112 | .toggle input[type="checkbox"]:disabled:checked::before { |
123 | 113 | background-color: var(--neutral-400); |
124 | 114 | } |
125 | 115 |
|
126 | 116 | /* Readonly State */ |
127 | | -.toggle-readonly { |
| 117 | +[data-state="readonly"] .toggle { |
128 | 118 | pointer-events: none; |
129 | 119 | } |
130 | 120 |
|
|
0 commit comments