added reactstrap

This commit is contained in:
cyril lopez 2017-07-21 12:03:41 +02:00
parent 18b26f0a3c
commit a79af33b42
3 changed files with 74 additions and 71 deletions

View File

@ -2,7 +2,7 @@
opacity: 0; opacity: 0;
transition: opacity .15s linear; transition: opacity .15s linear;
&.in { &.in, &.show {
opacity: 1; opacity: 1;
} }
} }

View File

@ -1,109 +1,116 @@
// .modal-open - body class for killing the scroll
// .modal - container to scroll within
// .modal-dialog - positioning shell for the actual modal
// .modal-content - actual modal w/ bg and corners and shit
// Kill the scroll on the body
.modal-open { .modal-open {
overflow: hidden; overflow: hidden;
} }
// Container that the modal scrolls within
.modal { .modal {
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: $zindex-modal; z-index: 1050;
display: none; display: none;
overflow: hidden; overflow: hidden;
// Prevent Chrome on Windows from adding a focus outline. For details, see
// https://github.com/twbs/bootstrap/pull/10951.
outline: 0; outline: 0;
-webkit-overflow-scrolling: touch;
// When fading in the modal, animate it to slide down
&.fade .modal-dialog {
transition: transform .3s ease-out;
transform: translate(0, -25%);
}
&.in .modal-dialog { transform: translate(0, 0); }
} }
.modal.fade .modal-dialog {
transition: -webkit-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
-webkit-transform: translate(0, -25%);
transform: translate(0, -25%);
}
.modal.show .modal-dialog {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
.modal-open .modal { .modal-open .modal {
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
} }
// Shell div to position the modal with bottom padding
.modal-dialog { .modal-dialog {
position: relative; position: relative;
width: auto; width: auto;
margin: $modal-dialog-margin; margin: 10px;
} }
// Actual modal
.modal-content { .modal-content {
position: relative; position: relative;
background-color: $modal-content-bg; display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
background-clip: padding-box; background-clip: padding-box;
border: $modal-content-border-width solid $modal-content-border-color; border: 1px solid rgba(0, 0, 0, 0.2);
@include border-radius($border-radius-lg); border-radius: 0.3rem;
@include box-shadow($modal-content-xs-box-shadow);
// Remove focus outline from opened modal
outline: 0; outline: 0;
} }
// Modal background
.modal-backdrop { .modal-backdrop {
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: $zindex-modal-bg; z-index: 1040;
background-color: $modal-backdrop-bg; background-color: #000;
}
// Fade for backdrop
&.fade { opacity: 0; } .modal-backdrop.fade {
&.in { opacity: $modal-backdrop-opacity; } opacity: 0;
}
.modal-backdrop.show {
opacity: 0.5;
} }
// Modal header
// Top section of the modal w/ title and dismiss
.modal-header { .modal-header {
padding: $modal-title-padding; display: -ms-flexbox;
border-bottom: $modal-header-border-width solid $modal-header-border-color; display: flex;
@include clearfix; -ms-flex-align: center;
} align-items: center;
// Close icon -ms-flex-pack: justify;
.modal-header .close { justify-content: space-between;
margin-top: -2px; padding: 15px;
border-bottom: 1px solid #e9ecef;
} }
// Title text within header
.modal-title { .modal-title {
margin: 0; margin-bottom: 0;
line-height: $modal-title-line-height; line-height: 1.5;
} }
// Modal body
// Where all modal content resides (sibling of .modal-header and .modal-footer)
.modal-body { .modal-body {
position: relative; position: relative;
padding: $modal-inner-padding; -ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 15px;
} }
// Footer (for actions)
.modal-footer { .modal-footer {
padding: $modal-inner-padding; display: -ms-flexbox;
text-align: right; // right align buttons display: flex;
border-top: $modal-footer-border-width solid $modal-footer-border-color; -ms-flex-align: center;
@include clearfix(); // clear it in case folks use .pull-* classes on buttons align-items: center;
-ms-flex-pack: end;
justify-content: flex-end;
padding: 15px;
border-top: 1px solid #e9ecef;
}
.modal-footer > :not(:first-child) {
margin-left: .25rem;
}
.modal-footer > :not(:last-child) {
margin-right: .25rem;
} }
// Measure scrollbar width for padding body during modal show/hide
.modal-scrollbar-measure { .modal-scrollbar-measure {
position: absolute; position: absolute;
top: -9999px; top: -9999px;
@ -112,21 +119,18 @@
overflow: scroll; overflow: scroll;
} }
// Scale up the modal @media (min-width: 576px) {
@include media-breakpoint-up(sm) {
// Automatically set modal's width for larger viewports
.modal-dialog { .modal-dialog {
max-width: $modal-md; max-width: 500px;
margin: $modal-dialog-sm-up-margin-y auto; margin: 30px auto;
} }
.modal-sm {
.modal-content { max-width: 300px;
@include box-shadow($modal-content-sm-up-box-shadow);
} }
.modal-sm { max-width: $modal-sm; }
} }
@include media-breakpoint-up(lg) { @media (min-width: 992px) {
.modal-lg { max-width: $modal-lg; } .modal-lg {
max-width: 800px;
}
} }

View File

@ -1,5 +1,4 @@
{ {
"app.components.LeftMenuFooter.poweredBy": "Propulsé par", "app.components.LeftMenuFooter.poweredBy": "Propulsé par",
"app.components.NotFoundPage.description": "Page introuvable", "app.components.NotFoundPage.description": "Page introuvable"
"app.containers.ComingSoonPage.header": "Bientôt disponible."
} }