UNPKG

funda-ui

Version:

React components using pure Bootstrap 5+ which does not contain any external style and script libraries.

152 lines (150 loc) 3.87 kB
/* ====================================================== <!-- Dropdown Menu --> /* ====================================================== */ /* Do not use <a> tag */ .dd-menu-default { display: inline-block; cursor: pointer; position: relative; } .dd-menu-default .dd-menu__icon, .dd-menu-default .dd-menu__trigger { display: inline-block; } .dd-menu-default strong { font-weight: normal; display: inline-block; margin-left: 0.3rem; } @keyframes dd-menu-display { 0% { opacity: 0; transform: scale(0.98) translateY(-0.6em); } 100% { opacity: 1; transform: scale(1) translateY(0); } } @keyframes dd-menu-icon-display { 0% { opacity: 0; } 100% { opacity: 1; } } .dd-menu-list__wrapper { --dd-menu-ul-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); --dd-menu-ul-bg: #fff; --dd-menu-ulbefore-box-shadow: 2px -2px 6px rgba(0, 0, 0, 0.05); --dd-menu-ulbefore-border-color: #fff; --dd-menu-li-bg: #fff; --dd-menu-li-hover-bg: #FAFAFA; --dd-menu-link-border-color: rgba(0, 0, 0, 0.05); --dd-menu-link-color: #333; --dd-menu-link-size: 0.75rem; display: none; margin-top: 8px; min-width: 50px; position: absolute; z-index: 1055; /* --bs-modal-zindex */ } .dd-menu-list__wrapper ul, .dd-menu-list__wrapper li { margin: 0; padding: 0; list-style: none; } .dd-menu-list__wrapper .dd-menu-list__icon { display: block; position: absolute; opacity: 0; top: -3px; left: 10px; width: 0; height: 0; transition: 0.1s ease-in-out; box-shadow: var(--dd-menu-ulbefore-box-shadow); border-top: 4px solid var(--dd-menu-ulbefore-border-color); border-right: 4px solid var(--dd-menu-ulbefore-border-color); border-bottom: 4px solid transparent; border-left: 4px solid transparent; transform: rotate(-45deg); } .dd-menu-list__wrapper .dd-menu-list__icon.active { animation-name: dd-menu-icon-display; animation-duration: 0.4s; animation-timing-function: cubic-bezier(0.73, 0.005, 0.22, 1); animation-delay: 0.1s; animation-iteration-count: 1; animation-fill-mode: forwards; } .dd-menu-list__wrapper > ul { display: none; white-space: nowrap; border-radius: 4px; text-align: left; box-shadow: var(--dd-menu-ul-box-shadow); background: var(--dd-menu-ul-bg); transition: 0.1s ease-in-out; /* Prevent the hover threshold from failing */ } .dd-menu-list__wrapper > ul::after { content: ""; display: block; background-color: transparent; position: absolute; top: -10px; left: 0; width: 100%; height: 20px; } .dd-menu-list__wrapper > ul li { z-index: 1; position: relative; background: var(--dd-menu-li-bg); padding: 0 0.75rem; } .dd-menu-list__wrapper > ul li:hover { background: var(--dd-menu-li-hover-bg); } .dd-menu-list__wrapper > ul li a { display: block; border-bottom: 1px solid var(--dd-menu-link-border-color); padding: 0.75rem 0; color: var(--dd-menu-link-color); font-size: var(--dd-menu-link-size); text-decoration: none; } .dd-menu-list__wrapper > ul li a svg, .dd-menu-list__wrapper > ul li a i { display: none; } .dd-menu-list__wrapper > ul li:first-child { border-radius: 4px 4px 0 0; } .dd-menu-list__wrapper > ul li:last-child { border-radius: 0 0 4px 4px; } .dd-menu-list__wrapper > ul li:last-child a { border-bottom: 0; } .dd-menu-list__wrapper.pos-top { margin-top: auto; margin-bottom: 8px; } .dd-menu-list__wrapper.pos-top .dd-menu-list__icon { top: auto; bottom: -3px; border-bottom: 4px solid var(--dd-menu-ulbefore-border-color); border-left: 4px solid var(--dd-menu-ulbefore-border-color); border-top: 4px solid transparent; border-right: 4px solid transparent; } .dd-menu-list__wrapper.active { display: block !important; } .dd-menu-list__wrapper.active > ul { animation: dd-menu-display 0.4s cubic-bezier(0.73, 0.005, 0.22, 1); display: block !important; }