2023-07-21 12:48:23 -04:00
|
|
|
.toggle {
|
2023-07-26 11:47:18 -05:00
|
|
|
@apply flex items-center gap-2 w-fit;
|
|
|
|
--toggle-size: 1.25rem;
|
|
|
|
--padding: 0.25rem;
|
2023-07-21 12:48:23 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
.toggle:focus-within > span {
|
2023-07-26 11:47:18 -05:00
|
|
|
@apply outline-none ring-2;
|
2023-07-21 12:48:23 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
.toggle input {
|
2023-07-26 11:47:18 -05:00
|
|
|
@apply sr-only;
|
2023-07-21 12:48:23 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
.toggle > span {
|
2023-08-18 10:27:01 -04:00
|
|
|
@apply relative rounded border border-chalkboard-110 hover:border-chalkboard-100 cursor-pointer;
|
2023-07-26 11:47:18 -05:00
|
|
|
width: calc(2 * (var(--toggle-size) + var(--padding)));
|
|
|
|
height: calc(var(--toggle-size) + var(--padding));
|
2023-07-21 12:48:23 -04:00
|
|
|
}
|
|
|
|
|
2023-07-31 06:33:10 -04:00
|
|
|
:global(.dark) .toggle > span {
|
2023-08-18 10:27:01 -04:00
|
|
|
@apply border-chalkboard-40 hover:border-chalkboard-30;
|
2023-07-31 06:33:10 -04:00
|
|
|
}
|
|
|
|
|
2023-07-21 12:48:23 -04:00
|
|
|
.toggle > span::after {
|
2023-07-26 11:47:18 -05:00
|
|
|
content: '';
|
|
|
|
@apply absolute w-4 h-4 rounded-sm bg-chalkboard-110;
|
|
|
|
top: 50%;
|
|
|
|
left: 50%;
|
|
|
|
translate: calc(-100% - var(--padding)) -50%;
|
|
|
|
transition: translate 0.08s ease-out;
|
2023-07-21 12:48:23 -04:00
|
|
|
}
|
|
|
|
|
2023-07-31 06:33:10 -04:00
|
|
|
:global(.dark) .toggle > span::after {
|
|
|
|
@apply bg-chalkboard-10;
|
|
|
|
}
|
|
|
|
|
2023-07-21 12:48:23 -04:00
|
|
|
.toggle input:checked + span::after {
|
2023-07-26 11:47:18 -05:00
|
|
|
translate: calc(50% - var(--padding)) -50%;
|
|
|
|
}
|