$bar-color: #f8f8f8 !default; $bar-stroke: #8d99a6 !default; $border-right-color: #515256 !default; $border-color: #b0b0b2 !default; $light-bg: rgba(51, 51, 51, 0.325) !default; $light-border-color: #ebeff2 !default; $light-yellow: #fcf8e3 !default; $text-muted: #666 !default; $text-light: #555 !default; $text-color: #fff !default; $blue: #a4c6ff !default; $handle-color: #ddd !default; .wrapper { display: flex; position: relative; } .table-container { flex: 1; overflow: auto; table { min-width: 100%; color: $text-color; font-weight: 400; font-size: 12px; border-collapse: collapse; table-layout: fixed; border-spacing: 0; .table-body { tr { &:first-child { height: 37px !important; } &:nth-child(odd) { background-color: $light-bg; } &.dragging { opacity: 0.5; border: 2px dashed red; } } } .table-header tr th, .table-body tr td { max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; -ms-text-overflow: ellipsis; padding: 9px 7px; box-sizing: border-box; } .table-body tr td { border-right: 2px solid $border-right-color; @for $i from 1 through 3 { &.indent-#{$i} { padding-left: 20px * $i; } } } } } .split-bar { position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 9; width: 5px; height: 100%; border-radius: 2.5px; background-color: $border-right-color; cursor: col-resize; &:hover { background-color: $blue; } } .gantt { .grid-background { fill: transparent; } .grid-header { fill: transparent; } .grid-row { fill: transparent; } .grid-row:nth-child(odd) { fill: $light-bg; } .row-line { stroke: $light-border-color; } .tick { stroke: $border-color; stroke-width: 0.2; &.thick { stroke-width: 0.4; } } .today-highlight { fill: $light-yellow; opacity: 0.5; } .arrow { fill: none; stroke: $text-muted; stroke-width: 1.4; } .bar { fill: $bar-color; stroke: $bar-stroke; stroke-width: 0; transition: stroke-width 0.3s ease; user-select: none; } .bar-progress { fill: $blue; } .bar-invalid { fill: transparent; stroke: $bar-stroke; stroke-width: 1; stroke-dasharray: 5; & ~ .bar-label { fill: $text-light; } } .bar-label { fill: #333; dominant-baseline: central; text-anchor: middle; font-size: 12px; font-weight: lighter; &.big { fill: $handle-color; text-anchor: start; } } .handle { fill: $handle-color; cursor: ew-resize; opacity: 0; visibility: hidden; transition: opacity 0.3s ease; } .bar-wrapper { cursor: pointer; outline: none; &:hover { .bar { fill: darken($bar-color, 5); } .bar-progress { fill: darken($blue, 5); } .handle { visibility: visible; opacity: 1; } } &.active { .bar { fill: darken($bar-color, 5); } .bar-progress { fill: darken($blue, 5); } } } .lower-text, .upper-text { font-size: 12px; text-anchor: middle; } .hide { display: none; } } .gantt-container { flex: 1; position: relative; overflow: auto; font-size: 12px; .popup-wrapper { position: absolute; top: 0; left: 0; background: rgba(0, 0, 0, 0.8); padding: 0; color: #959da5; border-radius: 3px; .title { border-bottom: 3px solid $blue; padding: 10px; } .subtitle { padding: 10px; color: #dfe2e5; } .pointer { position: absolute; height: 5px; margin: 0 0 0 -5px; border: 5px solid transparent; border-top-color: rgba(0, 0, 0, 0.8); } } }