.menu { @apply relative inline-block text-left; & .button { @apply inline-flex justify-center items-center w-full py-2 text-neutral-100 rounded-md; @apply transition-all duration-100; &:hover, &[aria-expanded="true"] { @apply bg-neutral-600 text-white; } &:focus, &:focus-within, &:active { @apply ring-2 ring-opacity-50 ring-neutral-300 text-white; } & svg { @apply w-5 h-5 transition-transform duration-75; } &[aria-expanded="true"] svg[data-animated="true"] { @apply rotate-180; } } & .items_container { @apply absolute right-0 mt-2 origin-top-right bg-neutral-900 rounded z-10; } } .menu_item { @apply flex items-center rounded w-full px-2 py-2; & svg { @apply w-4 h-4 mr-4 text-neutral-300; } &:hover, &:focus { @apply bg-blue-500 text-blue-50; & svg { @apply text-blue-50; } } &.danger { &:hover, &:focus { @apply bg-red-500 text-red-50; & svg { @apply text-red-50; } } } &.disabled { @apply cursor-not-allowed hover:bg-neutral-800 opacity-30 focus:bg-transparent focus:hover:bg-neutral-800; } }