complete Complete User Request Submission section RAD-1
This commit is contained in:
@@ -0,0 +1,227 @@
|
||||
.ui-input-dropdown-wrapper {
|
||||
@apply relative overflow-visible w-full;
|
||||
}
|
||||
|
||||
.ui-input-prefix-dropdown-button {
|
||||
@apply flex items-center px-3 py-2 pr-2 text-sm font-medium bg-transparent border-0 cursor-pointer transition-all duration-300 gap-1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.ui-input-prefix-icon {
|
||||
@apply text-base w-5 h-4;
|
||||
}
|
||||
|
||||
.ui-input-prefix-text {
|
||||
@apply font-normal text-dominant-700 text-[13px];
|
||||
direction: ltr
|
||||
}
|
||||
|
||||
.ui-input-dropdown-menu {
|
||||
@apply absolute bg-white h-[16rem] overflow-y-hidden border border-dominant-100 rounded-xl z-[9999] overflow-visible w-full;
|
||||
transform-origin: top center;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
@keyframes dropdownSlideIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(-8px) scale(0.96);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes dropdownSlideOut {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: translateY(-4px) scale(0.98);
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-enter-active {
|
||||
animation: dropdownSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.dropdown-leave-active {
|
||||
animation: dropdownSlideOut 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.dropdown-enter-from,
|
||||
.dropdown-leave-to {
|
||||
opacity: 0;
|
||||
transform: translateY(-4px) scale(0.98);
|
||||
}
|
||||
|
||||
.ui-input-dropdown-menu--bottom {
|
||||
@apply top-full mt-3;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-menu--top {
|
||||
@apply bottom-full mb-3;
|
||||
}
|
||||
|
||||
.ui-input-dropdown--rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
|
||||
.ui-input-dropdown--ltr {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-search {
|
||||
@apply p-3;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-search-input {
|
||||
@apply w-full text-sm !font-normal border border-dominant-200 rounded px-3 !h-[2.2rem] !pb-2.5 focus:outline-none focus:ring-2 focus:ring-dominant-500 focus:border-transparent placeholder:!text-dominant-200;
|
||||
transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
animation: searchInputSlideIn 0.5s ease-out;
|
||||
}
|
||||
|
||||
@keyframes searchInputSlideIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(-3px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.ui-input-dropdown-list {
|
||||
@apply max-h-60 overflow-y-auto relative pl-4 pr-2;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #d1d5db transparent;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-list::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-list::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-list::-webkit-scrollbar-thumb {
|
||||
background: #d1d5db;
|
||||
border-radius: 3px;
|
||||
transition: background 0.2s ease;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-list::-webkit-scrollbar-thumb:hover {
|
||||
background: #9ca3af;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item {
|
||||
@apply w-full flex items-center content-center gap-1 text-sm bg-transparent border-0 cursor-pointer transition-all duration-300 mb-3 relative;
|
||||
animation: itemFadeIn 0.3s ease-out;
|
||||
animation-fill-mode: both;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item:nth-child(1) { animation-delay: 0.05s; }
|
||||
.ui-input-dropdown-item:nth-child(2) { animation-delay: 0.1s; }
|
||||
.ui-input-dropdown-item:nth-child(3) { animation-delay: 0.15s; }
|
||||
.ui-input-dropdown-item:nth-child(4) { animation-delay: 0.2s; }
|
||||
.ui-input-dropdown-item:nth-child(5) { animation-delay: 0.25s; }
|
||||
.ui-input-dropdown-item:nth-child(6) { animation-delay: 0.3s; }
|
||||
.ui-input-dropdown-item:nth-child(7) { animation-delay: 0.35s; }
|
||||
.ui-input-dropdown-item:nth-child(8) { animation-delay: 0.4s; }
|
||||
.ui-input-dropdown-item:nth-child(9) { animation-delay: 0.45s; }
|
||||
.ui-input-dropdown-item:nth-child(10) { animation-delay: 0.5s; }
|
||||
|
||||
@keyframes itemFadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateX(-5px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item-selected {
|
||||
@apply text-dominant-700 relative flex items-center content-center h-[1.8rem];
|
||||
animation: selectedItemPulse 0.3s ease-out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@keyframes selectedItemPulse {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
transform: scale(1.02);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item-selected::before {
|
||||
content: '';
|
||||
@apply rounded-l-2xl flex items-center justify-center w-1 h-[1.6rem] bg-dominant-500;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item-selected::after {
|
||||
content: '';
|
||||
@apply absolute top-1/2 !right-0 w-2 h-2 bg-dominant-500 rounded-full;
|
||||
transform: translateY(-50%);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item-icon {
|
||||
@apply text-base flex-shrink-0 w-5 h-4;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item-prefix {
|
||||
@apply font-normal text-dominant-600 flex-shrink-0 mt-0.5;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item-label {
|
||||
@apply text-gray-700 mt-0.5;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-item-en-label {
|
||||
@apply text-gray-500 text-xs mt-0.5;
|
||||
}
|
||||
|
||||
.ui-input-dropdown-loading {
|
||||
@apply flex items-center justify-center py-8;
|
||||
animation: loadingPulse 1.5s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes loadingPulse {
|
||||
0%, 100% {
|
||||
opacity: 0.6;
|
||||
}
|
||||
50% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.ui-input-dropdown-empty {
|
||||
@apply flex items-center justify-center py-8 text-gray-500 text-sm;
|
||||
animation: emptyStateFadeIn 0.5s ease-out;
|
||||
}
|
||||
|
||||
@keyframes emptyStateFadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(10px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user