| // Copyright (C) 2019 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| @import "widgets/theme"; |
| |
| // The opacity changes are only transitional. Once the `modalFadeOut` animation |
| // reaches the end, the Mithril component that renders .modal-backdrop |
| // (and .modal-dialog) is fully destroyed and removed from the DOM. |
| // We use keyframes+animation, rather than transition, because the former allow |
| // hooking the onanimationend events to synchronize the Mithril removal with |
| // the end of the CSS animation. |
| @keyframes modalFadeOut { |
| from { |
| opacity: 1; |
| } |
| to { |
| opacity: 0; |
| } |
| } |
| |
| @keyframes modalFadeIn { |
| from { |
| opacity: 0; |
| } |
| to { |
| opacity: 1; |
| } |
| } |
| |
| .modal-backdrop { |
| position: absolute; |
| z-index: 99; |
| background-color: rgba(0, 0, 0, 0.6); |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| backdrop-filter: blur(2px); |
| animation: modalFadeIn 0.25s var(--anim-easing); |
| animation-fill-mode: both; |
| |
| &.modal-fadeout { |
| animation: modalFadeOut 0.25s var(--anim-easing); |
| animation-fill-mode: both; |
| } |
| } |
| |
| .modal-dialog { |
| position: absolute; |
| z-index: 100; |
| background-color: #fff; |
| margin: auto; |
| min-width: 25vw; |
| min-height: 10vh; |
| padding: 30px; |
| max-width: 90vw; |
| max-height: 90vh; |
| border-radius: $pf-border-radius; |
| overflow-y: auto; |
| top: 50%; |
| left: 50%; |
| transform: translate(-50%, -50%); |
| font-family: Roboto, sans-serif; |
| font-weight: 300; |
| |
| &.modal-dialog-valign-top { |
| top: 1rem; |
| transform: translate(-50%, 0); |
| } |
| |
| > header { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| |
| h2 { |
| margin-top: 0; |
| margin-bottom: 0; |
| font-family: "Roboto", sans-serif; |
| font-weight: 600; |
| font-size: 1.25rem; |
| line-height: 1.25; |
| color: #262f3c; |
| box-sizing: border-box; |
| } |
| |
| button { |
| background: transparent; |
| border: 0; |
| } |
| } // header |
| |
| main { |
| font-size: 1rem; |
| margin-top: 2rem; |
| line-height: 1.5; |
| color: rgba(0, 0, 0, 0.8); |
| |
| .small-font { |
| font-size: 0.9rem; |
| } |
| } |
| |
| footer { |
| display: flex; |
| justify-content: space-around; |
| margin-top: 2rem; |
| } // footer |
| |
| .modal-btn { |
| font-size: 0.875rem; |
| padding-left: 1rem; |
| padding-right: 1rem; |
| padding-top: 0.5rem; |
| padding-bottom: 0.5rem; |
| background-color: #e6e6e6; |
| color: rgba(0, 0, 0, 0.8); |
| border: 2px solid transparent; |
| border-radius: $pf-border-radius; |
| cursor: pointer; |
| text-transform: none; |
| overflow: visible; |
| margin: 5px; |
| width: fit-content; |
| transition: |
| border-color 0.25s var(--anim-easing), |
| background-color 0.25s var(--anim-easing); |
| |
| &:focus { |
| border-color: #03a9f4; |
| } |
| &:hover { |
| background-color: #ececec; |
| } |
| } |
| |
| .modal-btn-primary { |
| background-color: hsl(215deg, 22%, 19%); |
| color: #fff; |
| &:hover { |
| background-color: hsl(215deg, 22%, 35%); |
| } |
| } |
| } |
| |
| .help { |
| table { |
| margin-bottom: 15px; |
| td { |
| min-width: 250px; |
| } |
| td:first-child { |
| font-family: var(--monospace-font); |
| } |
| } |
| h2 { |
| font: inherit; |
| font-weight: bold; |
| } |
| } |
| |
| .modal-pre { |
| white-space: pre-line; |
| font-size: 13px; |
| } |
| |
| .modal-logs, |
| .modal-bash { |
| white-space: pre-wrap; |
| border: 1px solid #999; |
| background: #eee; |
| font-size: 10px; |
| font-family: var(--monospace-font); |
| margin-top: 10px; |
| margin-bottom: 10px; |
| min-height: 50px; |
| max-height: 40vh; |
| overflow: auto; |
| } |
| |
| .modal-bash { |
| margin: 0; |
| padding: 5px 0; |
| overflow: auto; |
| min-height: 0; |
| } |
| |
| .modal-textarea { |
| display: block; |
| margin-top: 10px; |
| margin-bottom: 10px; |
| width: 100%; |
| } |
| |
| .modal-small { |
| font-size: 0.75rem; |
| } |