overleaf/services/web/frontend/stylesheets/bootstrap-5/pages/editor/outline.scss
Tim Down 8e2ad427c8 Merge pull request #21502 from overleaf/td-bs5-file-outline-highlight
[BS5] Add highlight colours for file outline items

GitOrigin-RevId: e024d1bb093eb8bb56f63647d4753b2e626ec513
2024-11-05 09:05:34 +00:00

228 lines
4.7 KiB
SCSS

:root {
--outline-bg-color: var(--bg-dark-secondary);
--outline-border-color: var(--border-disabled-dark);
--outline-header-hover-bg: var(--bg-dark-primary);
--outline-item-hover-bg: var(--bg-dark-secondary);
--outline-line-guide-color: var(--border-primary);
--outline-container-color-bg: var(--bg-dark-tertiary);
--outline-content-color: var(--content-primary-dark);
--outline-item-highlight-color: var(--neutral-60);
}
@include theme('light') {
--outline-bg-color: var(--bg-light-primary);
--outline-border-color: var(--border-disabled);
--outline-item-hover-bg: var(--bg-light-tertiary);
--outline-header-hover-bg: var(--bg-light-tertiary);
--outline-line-guide-color: var(--border-disabled);
--outline-container-color-bg: var(--bg-light-primary);
--outline-content-color: var(--content-secondary);
--outline-item-highlight-color: var(--bg-light-secondary);
}
.outline-container {
width: 100%;
height: 100%;
background-color: var(--outline-container-color-bg);
}
.outline-pane {
@include body-sm;
display: flex;
flex-flow: column;
height: 100%;
color: var(--content-primary-dark);
}
.outline-pane-disabled {
opacity: 0.5;
}
.documentation-btn-container {
@include toolbar-sm-height;
background-color: var(--outline-bg-color);
display: flex;
align-items: center;
box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%);
& *,
& :hover {
color: var(--content-primary-dark);
text-decoration: none;
}
&:hover {
background-color: var(--bg-dark-primary);
}
}
.documentation-close {
padding: 0;
}
.outline-header {
@include toolbar-sm-height;
background-color: var(--outline-bg-color);
display: flex;
flex-shrink: 0;
border-bottom: 1px solid var(--outline-border-color);
border-top: 1px solid var(--outline-border-color);
}
.outline-header-expand-collapse-btn {
color: var(--outline-content-color);
display: flex;
align-items: center;
background-color: transparent;
border: 0;
padding: 0 var(--spacing-03) 0 0;
font-size: inherit;
vertical-align: inherit;
flex: 1 0 100%;
text-align: left;
white-space: nowrap;
box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%);
&:hover,
&:focus {
outline: 0;
}
&:hover {
background-color: var(--outline-header-hover-bg);
}
&:hover[disabled] {
background-color: transparent;
}
}
.outline-header-name {
@include body-sm;
color: var(--outline-content-color);
display: inline-block;
font-weight: 700;
margin: 0;
flex-grow: 1;
flex-shrink: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.outline-body {
background-color: var(--outline-container-color-bg);
overflow-y: auto;
padding-right: var(--spacing-03);
}
.outline-body-no-elements {
color: var(--outline-content-color);
text-align: center;
padding: var(--spacing-08) var(--spacing-08) var(--spacing-11)
var(--spacing-08);
margin-right: calc(var(--spacing-03) * -1);
}
.outline-body-link {
color: var(--outline-content-color);
display: block;
text-decoration: underline;
&:hover,
&:focus {
color: var(--outline-content-color);
text-decoration: underline;
}
}
.outline-item-list {
position: relative;
list-style: none;
padding-left: var(--spacing-08);
&::before {
content: '';
background-color: var(--outline-line-guide-color);
top: var(--spacing-03);
bottom: var(--spacing-03);
width: 1px;
left: var(--spacing-10);
position: absolute;
}
&.outline-item-list-root {
padding-left: 0;
&::before {
left: var(--spacing-05);
}
}
}
.outline-item-no-children {
padding-left: var(--spacing-07);
}
.outline-item-row {
display: flex;
overflow: hidden;
white-space: nowrap;
}
.outline-item-expand-collapse-btn {
background-color: var(--outline-container-color-bg);
display: inline;
border: 0;
padding: 0;
font-size: inherit;
vertical-align: inherit;
position: relative;
z-index: 1;
color: var(--content-disabled);
margin-right: calc(var(--spacing-03) * -1);
border-radius: var(--border-radius-base);
&:hover,
&:focus {
outline: 0;
}
&:hover {
background-color: var(--outline-item-hover-bg);
}
}
.outline-item-link {
@include text-truncate;
color: var(--outline-content-color);
display: inline;
background-color: transparent;
border: 0;
position: relative;
z-index: 1;
padding: 0 var(--spacing-03);
line-height: var(--spacing-08);
border-radius: var(--border-radius-base);
text-align: left;
&:hover,
&:focus {
background-color: var(--outline-item-hover-bg);
outline: 0;
}
}
.outline-item-link-highlight {
background-color: var(--outline-item-highlight-color);
}
.outline-caret-icon {
width: var(--spacing-08);
font-size: 17px;
text-align: center;
}