open-nomad/ui/app/styles/components/recommendation-card.scss
Buck Doyle 20ec481090
Add DAS subroute and copy button (#9201)
This continues iteration on the DAS UI by adding the ability to directly
navigate to a recommendation summary by (namespaced) slug and a copy
button for the direct navigation link.

It includes a change to CopyButton allowing it to take a block that’s
rendered within the button.

It also changes some instances of multi-relationship traversal to use
in-summary attributes, such as summary.jobNamespace instead of
summary.job.namespace.name.
2020-11-04 12:22:24 -06:00

226 lines
3.5 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.recommendation-card {
display: grid;
grid-template-columns: [overview] 55% [active-task] 45%;
grid-template-rows: [top] auto [headings] auto [diffs] auto [narrative] auto [main] auto [actions];
border: 1px solid $ui-gray-200;
margin-bottom: 1.5em;
.overview {
grid-column: overview;
border-right: 1px solid $ui-gray-200;
}
.active-task {
grid-column: active-task;
}
.active-task-group {
// Allow the active task section to be in a grouped test selector container
display: contents;
}
.top {
grid-row: top;
&.active-task {
display: flex;
justify-content: flex-end;
.accordion-toggle {
margin-left: 1em;
}
}
}
header {
grid-row: headings;
}
.diffs {
grid-row: diffs;
}
.main {
grid-row: main;
&.overview {
display: flex;
flex-direction: column;
justify-content: center;
}
&.active-task {
> li:first-child {
margin-bottom: 2em;
}
}
}
.actions {
grid-row: actions;
.button {
margin-bottom: 2em;
margin-right: 0.5em;
}
}
h3 {
font-size: $size-4;
font-weight: $weight-semibold;
.group {
color: $cool-gray-500;
font-weight: $weight-normal;
&:before {
content: '/';
padding: 0 0.25em 0 0.1em;
}
}
}
.namespace {
color: $cool-gray-500;
.namespace-label {
font-weight: $weight-semibold;
}
}
.increase {
color: $red-500;
}
.decrease {
color: $teal-500;
}
.inner-container {
padding: 1em 2em;
&.task-toggles {
padding-right: 0;
}
}
.diffs-table {
th,
td {
padding-right: 0.5em;
}
td.diff {
color: $cool-gray-500;
}
}
.active-task th.diff {
display: none;
}
.copy-button {
display: flex;
flex-direction: row-reverse;
.button {
display: flex;
flex-direction: row-reverse;
color: $ui-gray-400;
.icon {
margin-left: 0.75em;
}
}
}
.task-toggles {
table {
width: calc(100% + 1px); // To remove a mysterious 1px gap between this and the pane border
}
th {
vertical-align: bottom;
font-size: $size-7;
&.toggle-cell .toggle {
display: flex;
flex-direction: column-reverse;
align-items: center;
padding-bottom: 2px;
.label-wrapper {
margin-bottom: 6px;
}
}
}
.toggle-all {
text-align: right;
}
tr {
border-bottom: 1px solid $ui-gray-200;
}
tbody tr:not(.active):hover {
background: $ui-gray-100;
cursor: pointer;
}
tr.active {
color: $blue;
font-weight: bold;
// When theres only one task, it doesnt need highlighting
&:first-child:last-child {
color: inherit;
font-weight: inherit;
}
td:last-child {
position: relative;
}
svg {
position: absolute;
top: -1px;
left: calc(100% - 1px); // To balance out the table width calc above
.border-cover {
fill: white;
width: 2px;
}
.triangle {
fill: transparent;
stroke: $ui-gray-200;
}
}
}
th,
td {
padding: 0.75em 0;
&:first-child {
padding-left: 5px;
}
&:last-child {
padding-right: 2em;
}
}
.task-cell {
width: 100%;
}
.toggle-cell {
text-align: center;
padding: 0.75em;
}
}
}