UNPKG

@zohodesk/docs-builder

Version:

docs-builder is used to build your own docs

356 lines (304 loc) 6.58 kB
/* Shuttle Theme - Main sidebar container */ .sidebar { width: 280px; height: 100vh; background: #081224; /* Darker deep space blue */ color: #e0e7ff; /* Lighter text for better contrast */ display: flex; flex-direction: column; box-shadow: 0 0 20px rgba(0, 10, 50, 0.5); /* Subtle space glow */ transition: all 0.3s ease; overflow: hidden; flex-shrink: 0; } .sidebarContent { display: flex; flex-direction: column; height: 100%; } /* Logo section */ .logoContainer { display: flex; align-items: center; padding: 18px; background: #081224; /* Darker than main background */ /* border-bottom: 1px solid rgba(100, 150, 255, 0.15); */ /* Subtle blue border */ text-decoration: none; color: inherit; } .logo { width: 28px; height: 28px; object-fit: contain; filter: drop-shadow(0 0 3px rgba(120, 190, 255, 0.6)); /* Subtle glow effect */ } .docsVersion { margin-left: 12px; font-size: 14px; font-weight: 500; color: #a0b8d8; /* Softer blue-gray */ flex-grow: 1; } .homeIcon { font-size: 16px; color: #64b5f6; /* Bright blue */ opacity: 0.9; transition: opacity 0.2s ease, transform 0.3s ease; } .logoContainer:hover .homeIcon { opacity: 1; transform: scale(1.1); } /* Navigation container */ .navigationContainer { display: flex; flex-direction: column; flex-grow: 1; overflow: hidden; } /* Search section */ .searchContainer { position: relative; padding: 16px; background: #081224; } .searchInput { width: 100%; padding: 10px 36px; border-radius: 20px; /* Rounded like a porthole */ border: 1px solid rgba(100, 150, 255, 0.2); background: rgba(15, 30, 60, 0.4); /* Deeper blue with transparency */ color: #e0e7ff; font-size: 14px; outline: none; transition: all 0.3s ease; } .searchInput:focus { border-color: #64b5f6; box-shadow: 0 0 0 3px rgba(100, 181, 246, 0.2), 0 0 15px rgba(100, 181, 246, 0.1); } .searchInput::placeholder { color: rgba(160, 184, 216, 0.6); } .searchIcon { position: absolute; left: 26px; top: 50%; transform: translateY(-50%); color: rgba(160, 184, 216, 0.7); font-size: 14px; } .clearButton { position: absolute; right: 26px; top: 50%; transform: translateY(-50%); background: none; border: none; color: rgba(160, 184, 216, 0.7); cursor: pointer; font-size: 12px; display: flex; align-items: center; justify-content: center; padding: 4px; border-radius: 50%; transition: all 0.2s ease; } .clearButton:hover { background: rgba(100, 150, 255, 0.15); color: #e0e7ff; } /* Component list */ .componentList { flex-grow: 1; overflow-y: auto; padding: 10px 0; } .componentList::-webkit-scrollbar { width: 5px; } .componentList::-webkit-scrollbar-track { background: rgba(15, 30, 60, 0.2); border-radius: 3px; } .componentList::-webkit-scrollbar-thumb { background-color: rgba(100, 150, 255, 0.3); border-radius: 3px; } .componentList::-webkit-scrollbar-thumb:hover { background-color: rgba(100, 150, 255, 0.5); } /* Folder styling */ .folder { margin-bottom: 3px; } .folderHeader { display: flex; align-items: center; padding: 12px 16px; cursor: pointer; transition: all 0.2s ease; border-radius: 0 8px 8px 0; margin-right: 8px; } .folderHeader:hover { background: rgba(100, 150, 255, 0.1); } .folder.folderOpen>.folderHeader { background: rgba(100, 150, 255, 0.15); } .folderIcon { color: #90caf9; /* Lighter blue */ font-size: 14px; margin-right: 12px; transition: transform 0.2s ease; } .folder.folderOpen .folderIcon { transform: translateY(-1px); } .folderName { flex-grow: 1; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .itemCount { background: rgba(100, 150, 255, 0.15); color: rgba(224, 231, 255, 0.8); border-radius: 12px; font-size: 11px; padding: 2px 8px; margin-right: 8px; } .chevron { font-size: 10px; color: rgba(160, 184, 216, 0.8); transition: transform 0.3s ease; } .chevronOpen { transform: rotate(90deg); } /* Group styling */ .groupsContainer { padding-left: 12px; } .groupHeader { display: flex; align-items: center; padding: 10px 16px; cursor: pointer; transition: all 0.2s ease; border-radius: 0 8px 8px 0; margin-right: 8px; } .groupHeader:hover { background: rgba(100, 150, 255, 0.08); } .group.groupOpen>.groupHeader { background: rgba(100, 150, 255, 0.12); } .groupIcon { color: rgba(160, 184, 216, 0.9); font-size: 12px; margin-right: 12px; } .groupName { flex-grow: 1; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* Component styling */ .componentsContainer { padding-left: 12px; } .component { display: flex; align-items: center; padding: 8px 16px 8px 28px; cursor: pointer; transition: all 0.2s ease; border-radius: 0 8px 8px 0; margin: 2px 8px 2px 0; } .component:hover { background: rgba(100, 150, 255, 0.1); } .componentActive { background: linear-gradient(90deg, #64b5f6, #42a5f5); /* Gradient for active state */ color: #000; box-shadow: 0 2px 8px rgba(66, 165, 245, 0.4); } .componentActive:hover { background: linear-gradient(90deg, #64b5f6, #42a5f5); } .componentIcon { color: #90caf9; /* React blue */ font-size: 13px; margin-right: 10px; transition: transform 0.2s ease; } .component:hover .componentIcon { transform: rotate(20deg); } .componentActive .componentIcon { color: #000; } .componentName { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* Animation for transitions */ @keyframes fadeIn { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } } .groupsContainer, .componentsContainer { animation: fadeIn 0.3s ease-out; } /* Subtle hover pulse animation */ @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.01); } 100% { transform: scale(1); } } .component:hover { animation: pulse 1s infinite; } /* Responsive adjustments */ @media (max-width: 768px) { .sidebar { width: 240px; } }