* Three dot menu implementation Co-authored-by: Deep Tailor <deep.j.tailor@nasa.gov> Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov>
165 lines
3.8 KiB
SCSS
165 lines
3.8 KiB
SCSS
.c-so-view {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
/*************************** HEADER */
|
|
&__header {
|
|
flex: 0 0 auto;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: $interiorMarginSm;
|
|
padding: 3px;
|
|
|
|
.c-object-label {
|
|
font-size: 1.05em;
|
|
&__type-icon {
|
|
opacity: $objectLabelTypeIconOpacity;
|
|
}
|
|
|
|
&__name {
|
|
filter: $objectLabelNameFilter;
|
|
}
|
|
}
|
|
}
|
|
|
|
&:not(.c-so-view--no-frame) {
|
|
border: $browseFrameBorder;
|
|
padding: 0 $interiorMarginSm;
|
|
|
|
.is-editing & {
|
|
background: rgba($colorBodyBg, 0.8);
|
|
}
|
|
}
|
|
|
|
/*************************** FRAME CONTROLS */
|
|
&__frame-controls {
|
|
display: flex;
|
|
|
|
&__btns,
|
|
&__more {
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.is-in-small-container &,
|
|
.c-fl-frame & {
|
|
[class*="__label"] {
|
|
// button labels
|
|
display: none;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
/*************************** HIDDEN FRAME */
|
|
&--no-frame {
|
|
> .c-so-view__header {
|
|
visibility: hidden;
|
|
pointer-events: none;
|
|
position: absolute;
|
|
top: 0; right: 0; bottom: auto; left: 0;
|
|
z-index: 2;
|
|
|
|
.c-object-label {
|
|
visibility: hidden;
|
|
}
|
|
|
|
.c-so-view__frame-controls {
|
|
background: $frameControlsColorBg;
|
|
border-radius: $controlCr;
|
|
box-shadow: $frameControlsShdw;
|
|
padding: 1px;
|
|
pointer-events: all;
|
|
|
|
.c-icon-button {
|
|
color: $frameControlsColorFg;
|
|
|
|
&:hover {
|
|
background: rgba($frameControlsColorFg, 0.3);
|
|
}
|
|
}
|
|
|
|
&__btns {
|
|
display: none;
|
|
}
|
|
|
|
&:hover {
|
|
[class*="__btns"] {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
[class*="__label"] {
|
|
// button labels
|
|
display: none;
|
|
|
|
}
|
|
}
|
|
}
|
|
&.c-so-view--layout {
|
|
// For sub-layouts with hidden frames, completely hide the header to avoid overlapping buttons
|
|
> .c-so-view__header {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* HOVERS */
|
|
&:hover {
|
|
> .c-so-view__header {
|
|
visibility: visible;
|
|
}
|
|
}
|
|
|
|
&[class*='is-status'] {
|
|
border: $borderMissing;
|
|
}
|
|
}
|
|
|
|
/*************************** OBJECT VIEW */
|
|
&__object-view {
|
|
flex: 1 1 auto;
|
|
height: 0; // Chrome 73 overflow bug fix
|
|
overflow: auto;
|
|
|
|
.u-fills-container {
|
|
// Expand component types that fill a container
|
|
@include abs();
|
|
}
|
|
}
|
|
|
|
.c-click-icon,
|
|
.c-button,
|
|
.c-icon-button {
|
|
// Shrink buttons a bit when they appear in a frame
|
|
border-radius: $smallCr !important;
|
|
font-size: 0.9em;
|
|
padding: 5px;
|
|
}
|
|
|
|
&.has-complex-content {
|
|
> .c-so-view__view-large { display: block; }
|
|
}
|
|
|
|
&.is-status--missing {
|
|
border: $borderMissing;
|
|
}
|
|
|
|
&__object-view {
|
|
display: flex;
|
|
flex: 1 1 auto;
|
|
overflow: auto;
|
|
|
|
.u-fills-container {
|
|
// Expand component types that fill a container
|
|
@include abs();
|
|
}
|
|
}
|
|
}
|
|
|
|
.l-angular-ov-wrapper {
|
|
// This element is the recipient for object styling; cannot be display: contents
|
|
flex: 1 1 auto;
|
|
overflow: hidden;
|
|
display: contents;
|
|
}
|