Files
worldquant-alpha-system/frontend/src/components/sidebar.css
T

285 lines
5.6 KiB
CSS

.workspace {
--sidebar-width: 230px;
padding-left: var(--sidebar-width);
transition: padding-left 200ms ease-out;
}
.workspace.sidebar-collapsed {
--sidebar-width: 64px;
}
.app-sidebar {
position: fixed;
inset: 0 auto 0 0;
z-index: 30;
width: var(--sidebar-width);
display: flex;
flex-direction: column;
background: var(--semi-color-bg-1);
border-right: 1px solid var(--semi-color-border);
color: var(--semi-color-text-1);
transition: width 200ms ease-out;
}
.app-sidebar button,
.sidebar-user-menu button,
.command-items button {
display: flex;
align-items: center;
gap: 12px;
border: 0;
background: transparent;
color: inherit;
text-align: left;
border-radius: var(--semi-border-radius-large);
}
.app-sidebar button:hover,
.sidebar-user-menu button:hover,
.command-items button:hover {
background: var(--semi-color-fill-0);
color: var(--semi-color-text-0);
}
.app-sidebar button:focus-visible {
outline: 2px solid var(--semi-color-primary-light-active);
outline-offset: -2px;
}
.sidebar-user-row {
height: 56px;
padding: 0 12px;
display: flex;
align-items: center;
flex-shrink: 0;
}
.sidebar-user-trigger {
width: 100%;
height: 44px;
padding: 0 8px;
}
.sidebar-user-trigger .semi-avatar {
flex-shrink: 0;
}
.sidebar-user-trigger .account-name {
flex: 1;
min-width: 0;
font-size: 14px;
font-weight: 600;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.sidebar-command {
padding: 0 12px 12px;
flex-shrink: 0;
}
.sidebar-command button {
height: 36px;
padding: 0 8px;
width: 100%;
border: 1px solid var(--semi-color-border);
border-radius: var(--semi-border-radius-medium);
color: var(--semi-color-text-2);
}
.sidebar-command button > span:not(.semi-icon) {
flex: 1;
}
.sidebar-command kbd {
font-size: 11px;
line-height: 20px;
font-family: inherit;
padding: 0 6px;
border: 1px solid var(--semi-color-border);
border-radius: 4px;
}
.sidebar-nav {
flex: 1;
min-height: 0;
overflow-y: auto;
padding: 0 8px 8px;
}
.sidebar-nav-item {
width: 100%;
height: 40px;
margin-bottom: 4px;
padding: 0 12px;
font-weight: 500;
}
.sidebar-nav-item > span:last-child,
.recent-link > span:last-child {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.sidebar-nav-item .semi-icon {
flex-shrink: 0;
color: var(--semi-color-text-2);
}
.app-sidebar .active,
.app-sidebar .active:hover,
.app-sidebar .active .semi-icon {
background: var(--semi-color-primary-light-default);
color: var(--semi-color-primary);
}
.sidebar-footer {
flex-shrink: 0;
border-top: 1px solid var(--semi-color-border);
padding: 8px;
}
.recent-heading {
height: 32px;
padding: 0 8px;
display: flex;
align-items: center;
justify-content: space-between;
color: var(--semi-color-text-2);
font-size: 12px;
}
.recent-heading button {
height: 28px;
padding: 0 4px;
font-size: 12px;
}
.recent-item {
height: 36px;
margin-bottom: 4px;
display: flex;
align-items: center;
border-radius: var(--semi-border-radius-medium);
}
.recent-link {
flex: 1;
min-width: 0;
height: 36px;
padding: 0 8px;
gap: 8px !important;
font-size: 12px;
}
.recent-close {
width: 24px;
height: 24px;
padding: 0;
margin-right: 4px;
justify-content: center;
opacity: 0;
}
.recent-item:hover .recent-close,
.recent-close:focus-visible {
opacity: 1;
}
.recent-close:disabled {
cursor: default;
opacity: 0;
}
.sidebar-collapse {
margin-top: 12px;
border-top: 1px solid var(--semi-color-border);
padding-top: 12px;
}
.sidebar-collapse button {
height: 40px;
width: 100%;
padding: 0 12px;
font-weight: 500;
}
.is-collapsed .sidebar-user-trigger {
height: 40px;
width: 40px;
padding: 0;
justify-content: center;
}
.is-collapsed .sidebar-nav {
padding-bottom: 12px;
}
.is-collapsed .sidebar-nav-item,
.is-collapsed .recent-link,
.is-collapsed .sidebar-collapse button {
padding: 0;
justify-content: center;
}
.sidebar-user-menu {
min-width: 208px;
max-width: 300px;
padding: 4px;
background: var(--semi-color-bg-3);
box-shadow: var(--semi-shadow-elevated);
border-radius: var(--semi-border-radius-medium);
}
.sidebar-user-details {
display: flex;
flex-direction: column;
gap: 6px;
padding: 12px 8px;
overflow-wrap: anywhere;
}
.sidebar-user-details span {
font-size: 12px;
color: var(--semi-color-text-2);
}
.sidebar-user-menu button,
.command-items button {
min-height: 36px;
width: 100%;
padding: 0 8px;
}
.main-shell {
padding-top: 36px;
}
.workspace-tools {
position: fixed;
top: 0;
right: var(--chat-space, 0px);
z-index: 1002;
background: var(--surface);
display: flex;
align-items: center;
justify-content: flex-end;
gap: 4px;
height: 36px;
flex-shrink: 0;
padding: 2px 16px;
}
.workspace-tools .semi-button {
width: 28px;
height: 28px;
padding: 0;
}
.main-shell .page-content {
padding-top: 0;
}
@media (max-width: 760px) {
.workspace,
.workspace.sidebar-collapsed {
padding-left: 0;
}
.app-sidebar {
display: none;
}
.workspace-tools {
padding-right: 12px;
}
}
@media (prefers-reduced-motion: reduce) {
.workspace,
.app-sidebar {
transition: none;
}
}
.settings-drawer .ai-settings-grid {
grid-template-columns: minmax(0, 1fr);
}
.settings-drawer .ai-settings {
min-width: 0;
}
.settings-drawer .workspace-preferences {
margin-top: 24px;
padding-top: 24px;
border-top: 1px solid var(--line);
}
.settings-drawer .preferences-form {
flex-direction: column;
align-items: stretch;
}
.settings-drawer .preferences-grid {
grid-template-columns: minmax(0, 1fr);
}
.settings-drawer .preferences-form > .semi-button {
align-self: flex-start;
}