insomnia/app/ui/css/components/modal.less
Gregory Schier 461a36dec6 Finalize {% response ... %} Tag (#224)
* Some improvements to the response tag

* Add tests for XPath response queries

* Refactor conditional element syntax

* Update nunjucks-tags.js
2017-05-17 12:02:09 -07:00

149 lines
2.8 KiB
Plaintext

@import '../constants/dimensions';
@import '../constants/colors';
.modal {
// Hidden state
opacity: 0;
z-index: -999999; // Component updates this manually
transition: opacity 250ms;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
padding: @padding-lg;
&.modal--open {
opacity: 1;
}
&:focus {
outline: 0;
}
.modal__backdrop {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;
}
.modal__content__wrapper {
top: 1rem;
width: @modal-width;
max-width: 100%;
max-height: 100%;
margin: auto;
position: relative;
transform: scale(0.95);
transition: transform 150ms ease-out, top 200ms ease-out;
}
&.modal--fixed-height .modal__content__wrapper {
height: 100%;
}
&.modal--open .modal__content__wrapper {
transform: scale(1);
top: 0;
}
&.modal--wide .modal__content__wrapper {
width: @modal-width-wide;
}
.modal__content {
display: grid;
grid-template-columns: 100%;
grid-template-rows: auto minmax(0, 1fr) auto;
border-radius: @radius-md;
overflow: visible;
box-sizing: border-box;
box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.2);
max-width: 100%;
max-height: 100%;
height: 100%;
width: 100%;
background-color: var(--color-bg);
color: var(--color-font);
border: 1px solid @hl-sm;
}
.modal__header {
border-bottom: 1px solid @hl-md;
height: @line-height-md;
font-size: @font-size-lg;
line-height: @line-height-md;
background-color: var(--color-bg);
color: var(--color-font);
display: flex;
flex-direction: row;
.modal__header__children {
padding-left: @padding-md;
width: 100%;
& > * {
display: inline-block;
}
}
.modal__close-btn {
height: 100%;
}
}
&.modal--noescape .modal__close-btn {
display: none;
}
.modal__body {
overflow: auto;
min-height: 2rem;
box-sizing: border-box;
max-width: 100%;
background-color: var(--color-bg);
color: var(--color-font);
&.modal__body--no-scroll {
overflow: visible;
height: 100%;
}
}
.modal__footer {
border-top: 1px solid @hl-md;
background-color: var(--color-bg);
color: var(--color-font);
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 1px;
}
.modal__footer > *:last-child {
// Push last item of footer to right. This is very important to pull right
// if there is only a single item in the footer.
margin-left: auto;
}
.modal__content > *:last-child {
border-bottom-left-radius: @radius-md;
border-bottom-right-radius: @radius-md;
}
.modal__content > *:first-child {
border-top-left-radius: @radius-md;
border-top-right-radius: @radius-md;
}
}
.modals {
width: 0;
height: 0;
}