@web-atoms/core
Version:
160 lines (150 loc) • 3.94 kB
CSS
[data-popup-window=popup-window] {
position: absolute;
border: solid 1px lightgray;
border-radius: 5px;
background-color: canvas;
color: canvastext;
box-shadow: 0 0 20px 1px rgba(0 0 0 / 75%);
display: grid;
align-items: stretch;
justify-items: stretch;
grid-template-rows: auto auto 1fr auto;
grid-template-columns: auto 1fr auto;
opacity: 0;
transition: opacity 0.3s cubic-bezier(0.55, 0.09, 0.97, 0.32) ;
overflow: hidden;
&[not-ready] {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
[data-window-modal-background=background] {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
&[data-no-width=true] {
max-width: 95%;
min-width: 300px;
}
&[data-no-height=true] {
max-height: 95%;
min-height: 100px;
}
&[data-maximize=true] {
width: 90%;
height: 90%;
}
&[data-ready=true] {
opacity: 1;
}
&[data-dragging=true] {
opacity: 0.5;
}
& > [data-window-element=icon] {
grid-row: 1;
grid-column: 1;
z-index: 2;
}
& > [data-window-element=title] {
grid-row: 1;
grid-column: 2;
font-size: medium;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
cursor: move;
padding: var(--spacing, 5px);
color: var(--accent-text-color, #424242);
z-index: 2;
}
& > [data-window-element=close] {
grid-row: 1;
grid-column: 3;
color: white;
background-color: red;
border-radius: 9999px;
border: none;
outline: none;
/* padding: 5px; */
font-family: monospace;
height: 20px;
width: 20px;
margin: 5px;
cursor: pointer;
text-transform: capitalize;
z-index: 2;
}
& > [data-window-element=action-bar] {
grid-row: 1;
grid-column: 1 / span 3;
align-self: stretch;
justify-self: stretch;
background-color: var(--accent-color, rgba(211, 211, 211, 0.2));
border-top-left-radius: 5px;
border-top-right-radius: 5px;
z-index: 1;
}
& > [data-window-element=header] {
margin-top: 5px;
grid-row: 2;
grid-column: 1 / span 3;
}
& > [data-window-element=content] {
margin-top: 5px;
grid-row: 3;
grid-column: 1 / span 3;
position: relative;
overflow: auto;
padding: var(--spacing-medium, 7px);
&[data-maximize=true] {
width: 90vw;
height: 90vh;
}
}
& > [data-window-element=footer] {
margin-top: 5px;
grid-row: 4;
grid-column: 1 / span 3;
padding-top: 5px;
padding-bottom: 5px;
background-color: var(--command-bar-color, #80808025);
& > button, & > * > button {
border-radius: 9999px;
padding: 5px;
padding-left: 20px;
padding-right: 20px;
border-width: 1px;
border-color: transparent;
margin: 5px;
margin-left: 10px;
}
}
}
body > div[data-popup-window=popup-window], body > div[data-window-modal-background] {
position: fixed;
}
[data-confirm-popup=confirm-popup] {
& >[data-window-element=content] > [data-element=details] {
margin-top: 5px;
overflow: auto;
max-width: 80vw;
max-height: 50vh;
}
& > [data-window-element=footer] {
& > .yes {
background-color: #01af01;
color: white;
}
& > .no {
background-color: red;
color: white;
}
& > .cancel {
background-color: gray;
color: white;
}
}
}