aboutsummaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/components/Modal.scss
diff options
context:
space:
mode:
Diffstat (limited to 'packages/excalidraw/components/Modal.scss')
-rw-r--r--packages/excalidraw/components/Modal.scss136
1 files changed, 136 insertions, 0 deletions
diff --git a/packages/excalidraw/components/Modal.scss b/packages/excalidraw/components/Modal.scss
new file mode 100644
index 0000000..1a355e2
--- /dev/null
+++ b/packages/excalidraw/components/Modal.scss
@@ -0,0 +1,136 @@
+@import "../css/variables.module.scss";
+
+.excalidraw {
+ &.excalidraw-modal-container {
+ position: absolute;
+ z-index: var(--zIndex-modal);
+ }
+
+ .Modal {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ overflow: auto;
+ padding: calc(var(--space-factor) * 10);
+
+ display: flex;
+ flex-direction: column;
+
+ .Island {
+ padding: 2.5rem;
+ border: 0;
+ box-shadow: none;
+ border-radius: 0;
+ }
+
+ &.animations-disabled {
+ .Modal__background {
+ animation: none;
+ }
+
+ .Modal__content {
+ animation: none;
+ opacity: 1;
+ }
+ }
+ }
+
+ .Modal__background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 1;
+ background-color: rgba(#121212, 0.2);
+
+ animation: Modal__background__fade-in 0.1s linear forwards;
+ }
+
+ .Modal__content {
+ position: relative;
+ z-index: 2;
+ width: 100%;
+ max-width: var(--max-width);
+ max-height: 100%;
+
+ opacity: 0;
+ transform: translateY(10px);
+ animation: Modal__content_fade-in 0.025s ease-out 0s forwards;
+
+ position: relative;
+ overflow-y: auto;
+
+ // for modals, reset blurry bg
+ background: var(--island-bg-color);
+
+ border: 1px solid var(--dialog-border-color);
+ box-shadow: var(--modal-shadow);
+ border-radius: 0.75rem;
+ box-sizing: border-box;
+
+ &:focus {
+ outline: none;
+ }
+ }
+
+ @keyframes Modal__background__fade-in {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+ }
+
+ @keyframes Modal__content_fade-in {
+ from {
+ opacity: 0;
+ transform: scale(0.9);
+ }
+ to {
+ opacity: 1;
+ transform: scale(1);
+ }
+ }
+
+ .Modal__close {
+ color: var(--icon-fill-color);
+ margin: 0;
+ padding: 0.375rem;
+ position: absolute;
+ top: 1rem;
+ right: 1rem;
+ border: 0;
+ background-color: transparent;
+ line-height: 0;
+ cursor: pointer;
+
+ svg {
+ width: 1.5rem;
+ height: 1.5rem;
+ }
+ }
+
+ .Dialog--fullscreen {
+ .Modal {
+ padding: 0;
+ }
+
+ .Modal__content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ max-width: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ }
+}