@kadoui/css
Version:
Kadoui TailwindCSS styles
125 lines (98 loc) • 2.53 kB
CSS
/* Toggle */
@utility toggle {
@apply relative inline-flex cursor-pointer;
@apply focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2;
@apply disabled:cursor-not-allowed disabled:opacity-50;
@apply transition-colors duration-200;
width: 2.75rem; /* 44px */
height: 1.5rem; /* 24px */
}
/* --- */
/* Sizes */
@utility toggle-sm {
width: 2rem; /* 32px */
height: 1rem; /* 16px */
}
@utility toggle-lg {
width: 3.5rem; /* 56px */
height: 1.75rem; /* 28px */
}
/* --- */
/* Track */
@utility toggle-track {
@apply absolute inset-0 rounded-full;
@apply border-2 border-transparent;
@apply transition-colors duration-200;
}
/* Track variants */
@utility toggle-track-off {
@apply toggle-track; /* Extend */
@apply bg-gray-200 dark:bg-gray-700;
}
@utility toggle-track-on {
@apply toggle-track; /* Extend */
@apply bg-blue-600 dark:bg-blue-500;
}
/* --- */
/* Thumb */
@utility toggle-thumb {
@apply absolute bg-white rounded-full;
@apply transition-transform duration-200 ease-in-out;
@apply shadow-sm border border-gray-300 dark:border-gray-600;
width: 1rem; /* 16px */
height: 1rem; /* 16px */
top: 0.125rem; /* 2px */
left: 0.125rem; /* 2px */
}
/* Thumb variants */
@utility toggle-thumb-off {
@apply toggle-thumb; /* Extend */
transform: translateX(0);
}
@utility toggle-thumb-on {
@apply toggle-thumb; /* Extend */
transform: translateX(1.25rem); /* 20px */
}
/* --- */
/* Small size thumb */
@utility toggle-sm .toggle-thumb {
width: 0.75rem; /* 12px */
height: 0.75rem; /* 12px */
top: 0.125rem; /* 2px */
left: 0.125rem; /* 2px */
}
@utility toggle-sm .toggle-thumb-on {
transform: translateX(1rem); /* 16px */
}
/* Large size thumb */
@utility toggle-lg .toggle-thumb {
width: 1.25rem; /* 20px */
height: 1.25rem; /* 20px */
top: 0.125rem; /* 2px */
left: 0.125rem; /* 2px */
}
@utility toggle-lg .toggle-thumb-on {
transform: translateX(1.75rem); /* 28px */
}
/* --- */
/* Label */
@utility toggle-label {
@apply ml-3 text-sm font-medium text-gray-900 dark:text-gray-100;
@apply cursor-pointer select-none;
}
/* Description */
@utility toggle-description {
@apply ml-3 text-sm text-gray-500 dark:text-gray-400;
}
/* --- */
/* Variants */
@utility toggle-success .toggle-track-on {
@apply bg-green-600 dark:bg-green-500;
}
@utility toggle-warning .toggle-track-on {
@apply bg-yellow-600 dark:bg-yellow-500;
}
@utility toggle-danger .toggle-track-on {
@apply bg-red-600 dark:bg-red-500;
}
/* --- */