UNPKG

select2-tailwindcss-theme

Version:
210 lines (170 loc) 8.68 kB
@charset "UTF-8"; /* Base container */ .select2-container--tailwindcss-3 { @apply block; } /* Dropdown */ .select2-container--tailwindcss-3.select2-container--open .select2-dropdown { @apply w-full py-1 mt-1 overflow-auto text-base bg-white border-none rounded-md shadow-lg max-h-60 ring-1 ring-black/5 ring-opacity-5 focus:outline-none sm:text-sm dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-indigo-600 dark:focus:border-indigo-600; } /* Dropdown position */ .select2-container--tailwindcss-3.select2-container--open .select2-dropdown--below { @apply origin-top; } .select2-container--tailwindcss-3.select2-container--open .select2-dropdown--above { @apply origin-bottom; } /* Search box */ .select2-container--tailwindcss-3 .select2-search--dropdown .select2-search__field { @apply block w-full px-3 py-1.5 text-base sm:text-sm/6 placeholder-gray-400 border-gray-300 border rounded-md shadow-sm focus:border-indigo-600 focus:outline-none focus:ring-1 focus:ring-indigo-600 dark:bg-gray-700; } /* Results container */ .select2-container--tailwindcss-3 .select2-results__options { @apply overflow-auto max-h-60; } /* Option items */ .select2-container--tailwindcss-3 .select2-results__option { @apply relative py-2 pl-3 text-gray-900 transition-colors duration-150 ease-in-out cursor-default select-none pr-9 dark:text-white; } /* Disabled option items */ .select2-container--tailwindcss-3 .select2-results__option--disabled { @apply text-gray-500 cursor-not-allowed bg-gray-50 border-gray-200 dark:bg-white/10 dark:border-white/5; } /* Hover state */ .select2-container--tailwindcss-3 .select2-results__option--highlighted { @apply text-white bg-indigo-600; } .select2-container--tailwindcss-3 .select2-results__option--highlighted::after { @apply text-white !important; } /* Selected state */ .select2-container--tailwindcss-3 .select2-results__option--selected { @apply font-semibold dark:text-white; } /* Selected with checkmark */ .select2-container--tailwindcss-3 .select2-results__option--selected::after { @apply absolute inset-y-0 flex items-center text-indigo-600 right-3; content: "✓"; } /* Group headers */ .select2-container--tailwindcss-3 .select2-results__group { @apply flex cursor-default bg-gray-50 px-3 py-1.5 text-xs font-medium uppercase tracking-wider text-gray-700 dark:bg-gray-800 dark:text-gray-300; } /* Group container */ .select2-container--tailwindcss-3 .select2-results__option--group { @apply px-0 py-0; } /* Input groups */ .input-group > * + select + .select2-container--tailwindcss-3 .select2-selection { @apply rounded-l-none border-l-0; } .input-group > .select2-container--tailwindcss-3:not(:last-child) .select2-selection { @apply rounded-r-none border-r-0; } /* Loading state */ .select2-container--tailwindcss-3 .select2-results__option--loading { @apply flex items-center justify-center py-4 text-gray-400; } /* Loading spinner */ .select2-container--tailwindcss-3 .select2-results__option--loading::after { @apply w-5 h-5 border-2 border-gray-300 rounded-full animate-spin border-t-indigo-600; content: ""; } /* Error states */ .field_with_errors .select2-container--tailwindcss-3 .select2-selection, select.is-invalid ~ .select2-container--tailwindcss-3 .select2-selection, select:invalid ~ .select2-container--tailwindcss-3 .select2-selection { @apply border-red-500 text-red-900; } .field_with_errors .select2-container--tailwindcss-3 .select2-container--focus, select.is-invalid ~ .select2-container--tailwindcss-3 .select2-container--focus, select:invalid ~ .select2-container--tailwindcss-3 .select2-container--focus { @apply ring-red-500 border-red-500 !important; } .field_with_errors .select2-container--tailwindcss-3 .select2-selection__placeholder, select.is-invalid ~ .select2-container--tailwindcss-3 .select2-selection__placeholder, select:invalid ~ .select2-container--tailwindcss-3 .select2-selection__placeholder { @apply text-red-300; } /* Single Selection */ .select2-container--tailwindcss-3 .select2-selection--single { @apply relative w-full h-auto min-h-[2.25rem] py-1.5 pl-3 pr-8 text-left text-base sm:text-sm/6 transition-colors duration-200 ease-in-out bg-white border border-gray-300 rounded-md cursor-pointer dark:bg-white/5 dark:text-white dark:border-white/10; } /* Rendered text */ .select2-container--tailwindcss-3 .select2-selection--single .select2-selection__rendered { @apply block pl-0 pr-0 text-gray-900 truncate dark:text-white; } /* Placeholder */ .select2-container--tailwindcss-3 .select2-selection--single .select2-selection__placeholder { @apply text-gray-400 dark:text-gray-500; } /* Arrow container */ .select2-container--tailwindcss-3 .select2-selection--single .select2-selection__arrow { @apply absolute inset-y-0 right-0 flex items-center pr-2; } /* Arrow */ .select2-container--tailwindcss-3 .select2-selection--single .select2-selection__arrow b { @apply w-5 h-5 text-gray-400 bg-center bg-no-repeat bg-contain; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); } /* Disabled state */ .select2-container--tailwindcss-3.select2-container--disabled .select2-selection--single { @apply text-gray-500 cursor-not-allowed bg-gray-50 border-gray-200 dark:bg-white/20 dark:border-white/5; } .select2-container--tailwindcss-3.select2-container--disabled.select2-container--focus .select2-selection--single { @apply ring-0 border-gray-200 dark:border-white/5; } /* Clear button */ .select2-container--tailwindcss-3 .select2-selection--single .select2-selection__clear { @apply font-bold absolute inset-y-0 right-0 flex items-center pr-[2rem] text-base sm:text-sm/6 text-gray-400 cursor-pointer hover:text-gray-700; } /* Focus styles for keyboard navigation */ .select2-container--tailwindcss-3.select2-container--focus .select2-selection--single { @apply ring-1 ring-indigo-600 border-indigo-600 outline-none; } /* RTL Support */ .select2-container--tailwindcss-3[dir=rtl] .select2-selection--single .select2-selection__rendered { @apply pl-10 pr-3; } /* Multiple selection */ .select2-container--tailwindcss-3 .select2-selection--multiple { @apply min-h-[2.25rem] h-auto rounded-md text-base sm:text-sm/6 bg-white py-1.5 px-3 border border-gray-300 cursor-default dark:bg-white/5 dark:text-white dark:border-white/10; } /* Multiple selection list */ .select2-container--tailwindcss-3 .select2-selection--multiple .select2-selection__rendered { @apply flex flex-row flex-wrap gap-2 m-0 p-0 list-none; } /* Multiple selection choices */ .select2-container--tailwindcss-3 .select2-selection--multiple .select2-selection__choice { @apply inline-flex items-center rounded-md bg-indigo-100 px-2.5 py-0.5 text-base sm:text-sm/6 font-medium text-indigo-800; } /* Remove button */ .select2-container--tailwindcss-3 .select2-selection--multiple .select2-selection__choice__remove { @apply -ml-1 mr-1.5 h-4 w-4 pb-[0.10rem] items-center flex justify-center rounded-full text-indigo-600 hover:bg-blue-200 hover:text-indigo-900; } /* Search field in multiple selection */ .select2-container--tailwindcss-3 .select2-selection--multiple .select2-search--inline { @apply block; } .select2-container--tailwindcss-3 .select2-selection--multiple .select2-search--inline .select2-search__field { @apply h-[1.5rem] p-0 m-0 text-base sm:text-sm/6 bg-transparent border-0 focus:outline-none focus:ring-0 dark:placeholder:text-gray-500 placeholder:text-gray-400; } /* Disabled state */ .select2-container--tailwindcss-3.select2-container--disabled .select2-selection--multiple { @apply text-gray-500 cursor-not-allowed bg-gray-50 border-gray-200 dark:bg-white/20 dark:border-white/5; } .select2-container--tailwindcss-3.select2-container--disabled.select2-container--focus .select2-selection--multiple { @apply ring-0 border-gray-200 dark:border-white/5; } /* Clearable state */ .select2-container--tailwindcss-3 .select2-selection--multiple.select2-selection--clearable { @apply pr-4; } /* Clear button */ .select2-container--tailwindcss-3 .select2-selection--multiple .select2-selection__clear { @apply font-bold absolute inset-y-0 right-0 flex items-center pr-4 text-base sm:text-sm/6 text-gray-400 cursor-pointer hover:text-gray-700; } /* Focus styles for keyboard navigation */ .select2-container--tailwindcss-3.select2-container--focus .select2-selection--multiple { @apply ring-1 ring-indigo-600 border-indigo-600 outline-none; }