UNPKG

geeks-ui-framework

Version:

A modern, lightweight CSS framework with 15+ components for developers. Build beautiful interfaces with minimal effort.

145 lines (120 loc) 2.96 kB
/* Accordion Component */ .accordion { border: 1px solid var(--border-color, #dee2e6); border-radius: 0.375rem; overflow: hidden; margin: 1rem 0; } .accordion-item { border-bottom: 1px solid var(--border-color, #dee2e6); } .accordion-item:last-child { border-bottom: none; } .accordion-header { margin: 0; } .accordion-button { width: 100%; padding: 1rem 1.25rem; background: var(--light-color, #f8f9fa); border: none; text-align: left; cursor: pointer; font-size: 1rem; font-weight: 500; color: var(--dark-color, #212529); transition: all 0.3s ease; position: relative; display: flex; align-items: center; justify-content: space-between; } .accordion-button:hover { background: var(--secondary-light, #e9ecef); color: var(--primary-color, #667eea); } .accordion-button:focus { outline: none; box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25); } .accordion-button::after { content: '+'; font-size: 1.25rem; font-weight: bold; transition: transform 0.3s ease; line-height: 1; } .accordion-button[aria-expanded="true"]::after { content: '−'; transform: rotate(180deg); } .accordion-button.collapsed::after { content: '+'; transform: rotate(0deg); } .accordion-body { padding: 1.25rem; background: white; border-top: 1px solid var(--border-color, #dee2e6); animation: slideDown 0.3s ease; } .accordion-collapse { overflow: hidden; transition: height 0.3s ease; } .accordion-collapse:not(.show) { height: 0; } .accordion-collapse.show { height: auto; } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* Accordion Variants */ .accordion-flush { border: none; border-radius: 0; } .accordion-flush .accordion-item { border-left: none; border-right: none; border-radius: 0; } .accordion-flush .accordion-button { border-radius: 0; background: transparent; } /* Accordion with Icons */ .accordion-icon .accordion-button::before { content: '📁'; margin-right: 0.75rem; font-size: 1.1rem; } .accordion-icon .accordion-button[aria-expanded="true"]::before { content: '📂'; } /* Custom Color Accordion */ .accordion-primary .accordion-button { background: rgba(102, 126, 234, 0.1); color: var(--primary-color, #667eea); } .accordion-primary .accordion-button:hover { background: rgba(102, 126, 234, 0.2); } .accordion-success .accordion-button { background: rgba(40, 167, 69, 0.1); color: var(--success-color, #28a745); } .accordion-warning .accordion-button { background: rgba(255, 193, 7, 0.1); color: var(--warning-color, #ffc107); }