UNPKG

@dabapps/roe

Version:

A Collection of React Components for Project Development

170 lines (141 loc) 3.25 kB
/* @group Transition */ .modal-transition-enter, .modal-transition-appear { &.modal-container { opacity: 0.01; } .modal { transform: translate3d(0, -50px, 0); } } .modal-transition-enter.modal-transition-enter-active, .modal-transition-appear.modal-transition-appear-active { &.modal-container { opacity: 0.99; transition: opacity 0.3s ease-in; } .modal { transform: translate3d(0, 0, 0); transition: transform 0.3s ease-in-out; } } .modal-transition-leave { &.modal-container { opacity: 0.99; } .modal { transform: translate3d(0, 0, 0); } } .modal-transition-leave.modal-transition-leave-active { &.modal-container { opacity: 0.01; transition: opacity 0.2s ease-in; } .modal { transform: translate3d(0, -50px, 0); transition: transform 0.2s ease-in-out; } } /* @end Transition */ .modal-overlay, .modal-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1001; opacity: 1; } .modal-overlay { background-color: rgba(0, 0, 0, 0.2); z-index: 0; } .modal-container { overflow: auto; } .modal-position { padding: 0 @gutter-width / 2; margin: 0 auto; @modal-margins: @margin-large * 2; @modal-header-and-footer-margins: (@margin-large * 2) * 2; @modal-header-and-footer-content: 50px * 2; // Magic number to allow slightly larger content @modal-header-and-footer-space: @modal-margins + @modal-header-and-footer-margins + @modal-header-and-footer-content; &.scrollable { .modal-body { max-height: ~'calc(100vh - @{modal-header-and-footer-space})'; overflow: auto; } } @media all and (min-width: @screen-sm) { width: @screen-sm; } @media all and (min-width: @screen-md) { width: @screen-md; } &.small { @media all and (min-width: @screen-md) { width: @screen-sm; } } &.large { @media all and (min-width: @screen-lg) { width: @screen-lg; } @media all and (min-width: @screen-xl) { width: @screen-xl; } } &.fill { width: 100%; } } .modal { .content-box(); position: relative; z-index: 1; transform: translate3d(0, 0, 0); background-color: @modal-background; } .modal-close-icon { float: right; width: 24px; height: 24px; margin: @padding-large; margin-right: 0; fill: @primary; color: @primary; cursor: pointer; text-align: center; font-size: 24px; } .modal-header { .content-box-header(); background-color: @modal-header-background; border-bottom: @modal-header-border; } .modal-body { .row(); padding-left: @gutter-width / 2; padding-right: @gutter-width / 2; background-color: @modal-background; &:first-child { border-top-left-radius: @border-radius-base; border-top-right-radius: @border-radius-base; } &:last-child { border-bottom-left-radius: @border-radius-base; border-bottom-right-radius: @border-radius-base; } } .modal-footer { .content-box-header(); background-color: @modal-footer-background; border-top: @modal-footer-border; border-bottom: @border-none; text-align: right; border-radius: 0; border-bottom-left-radius: @border-radius-base; border-bottom-right-radius: @border-radius-base; }