@excalidraw/excalidraw
Version:
Excalidraw as a React component
1,816 lines (1,791 loc) • 186 kB
CSS
@charset "UTF-8";
/* components/Spinner.scss */
.excalidraw .Spinner {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
margin-left: auto;
margin-right: auto;
--spinner-color: var(--icon-fill-color);
}
.excalidraw .Spinner svg {
animation: rotate 1.6s linear infinite;
animation-delay: var(--spinner-delay);
transform-origin: center center;
}
.excalidraw .Spinner circle {
stroke: var(--spinner-color);
animation: dash 1.6s linear 0s infinite;
stroke-linecap: round;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
@keyframes dash {
0% {
stroke-dasharray: 1, 300;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 150, 300;
stroke-dashoffset: -200;
}
100% {
stroke-dasharray: 1, 300;
stroke-dashoffset: -280;
}
}
/* components/ToolIcon.scss */
.excalidraw .ToolIcon {
border-radius: var(--border-radius-lg);
display: inline-flex;
align-items: center;
position: relative;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
user-select: none;
}
.excalidraw .ToolIcon__hidden {
display: none !important;
}
.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked + .ToolIcon__icon,
.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked + .ToolIcon__icon {
--icon-fill-color: var(--color-on-primary-container);
}
.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked + .ToolIcon__icon svg,
.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked + .ToolIcon__icon svg {
fill: var(--icon-fill-color);
}
.excalidraw .ToolIcon .ToolIcon_type_radio:checked + .ToolIcon__icon,
.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked + .ToolIcon__icon {
background: var(--color-surface-primary-container);
--keybinding-color: var(--color-on-primary-container);
}
.excalidraw .ToolIcon .ToolIcon_type_radio:checked + .ToolIcon__icon svg,
.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked + .ToolIcon__icon svg {
color: var(--color-on-primary-container);
}
.excalidraw .ToolIcon .ToolIcon__keybinding {
bottom: 4px;
right: 4px;
}
.excalidraw .ToolIcon .ToolIcon__icon:hover {
background: var(--button-hover-bg);
}
.excalidraw .ToolIcon .ToolIcon__icon:active {
background: var(--button-hover-bg);
border: 1px solid var(--button-active-border);
}
.excalidraw .ToolIcon .ToolIcon__icon:active svg {
color: var(--color-on-primary-container);
}
.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] {
background: initial;
border: none;
}
.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] svg {
color: var(--color-disabled);
}
.excalidraw .ToolIcon--plain {
background-color: transparent;
}
.excalidraw .ToolIcon--plain .ToolIcon__icon {
width: 2rem;
height: 2rem;
}
.excalidraw .ToolIcon_type_radio,
.excalidraw .ToolIcon_type_checkbox {
position: absolute;
opacity: 0;
pointer-events: none;
}
.excalidraw .ToolIcon__icon {
box-sizing: border-box;
width: var(--default-button-size);
height: var(--default-button-size);
color: var(--icon-fill-color);
display: flex;
justify-content: center;
align-items: center;
border-radius: var(--border-radius-lg);
}
.excalidraw .ToolIcon__icon + .ToolIcon__label {
margin-inline-start: 0;
}
.excalidraw .ToolIcon__icon svg {
position: relative;
width: var(--default-icon-size);
height: var(--default-icon-size);
color: var(--icon-fill-color);
}
.excalidraw .ToolIcon__label {
display: flex;
align-items: center;
color: var(--icon-fill-color);
font-family: var(--ui-font);
margin: 0 0.8em;
text-overflow: ellipsis;
}
.excalidraw .ToolIcon__label .Spinner {
margin-left: 0.6em;
}
.excalidraw .ToolIcon_size_small .ToolIcon__icon {
width: 2rem;
height: 2rem;
font-size: 0.8em;
}
.excalidraw .ToolIcon_type_button,
.excalidraw .Modal .ToolIcon_type_button {
padding: 0;
border: none;
margin: 0;
font-size: inherit;
background-color: initial;
}
.excalidraw .ToolIcon_type_button:focus-visible,
.excalidraw .Modal .ToolIcon_type_button:focus-visible {
box-shadow: 0 0 0 2px var(--focus-highlight-color);
}
.excalidraw .ToolIcon_type_button.ToolIcon--selected,
.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected {
background-color: var(--button-gray-2);
}
.excalidraw .ToolIcon_type_button.ToolIcon--selected:active,
.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active {
background-color: var(--button-gray-3);
}
.excalidraw .ToolIcon_type_button:active,
.excalidraw .Modal .ToolIcon_type_button:active {
background-color: var(--button-gray-3);
}
.excalidraw .ToolIcon_type_button:disabled,
.excalidraw .Modal .ToolIcon_type_button:disabled {
cursor: default;
}
.excalidraw .ToolIcon_type_button:disabled:active,
.excalidraw .ToolIcon_type_button:disabled:focus-visible,
.excalidraw .ToolIcon_type_button:disabled:hover,
.excalidraw .Modal .ToolIcon_type_button:disabled:active,
.excalidraw .Modal .ToolIcon_type_button:disabled:focus-visible,
.excalidraw .Modal .ToolIcon_type_button:disabled:hover {
background-color: initial;
border: none;
box-shadow: none;
}
.excalidraw .ToolIcon_type_button:disabled svg,
.excalidraw .Modal .ToolIcon_type_button:disabled svg {
color: var(--color-disabled);
}
.excalidraw .ToolIcon_type_button--show,
.excalidraw .Modal .ToolIcon_type_button--show {
visibility: visible;
}
.excalidraw .ToolIcon_type_button--hide,
.excalidraw .Modal .ToolIcon_type_button--hide {
display: none !important;
}
.excalidraw .ToolIcon_type_floating {
background-color: transparent;
}
.excalidraw .ToolIcon_type_floating:hover {
background-color: transparent;
}
.excalidraw .ToolIcon_type_floating:active {
background-color: transparent;
}
.excalidraw .ToolIcon_type_floating .ToolIcon__icon {
background-color: var(--button-gray-1);
width: 2rem;
height: 2rem;
}
.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover {
background-color: var(--button-gray-2);
}
.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active {
background-color: var(--button-gray-3);
}
.excalidraw .ToolIcon__keybinding {
position: absolute;
bottom: 2px;
right: 3px;
font-size: 0.625rem;
color: var(--keybinding-color);
font-family: var(--ui-font);
user-select: none;
}
:root[dir=ltr] .excalidraw .unlocked-icon {
left: 2px;
}
:root[dir=rtl] .excalidraw .unlocked-icon {
right: 2px;
}
.excalidraw .App-toolbar-container .ToolIcon__icon {
width: var(--lg-button-size);
height: var(--lg-button-size);
}
@media screen and (max-width: 450px) {
.excalidraw .App-toolbar-container .ToolIcon__icon {
width: 1.8rem;
height: 1.8rem;
}
}
@media screen and (max-width: 379px) {
.excalidraw .App-toolbar-container .ToolIcon__icon {
width: 1.5rem;
height: 1.5rem;
}
}
.excalidraw .App-toolbar-container .ToolIcon__icon svg {
width: var(--lg-icon-size);
height: var(--lg-icon-size);
}
.excalidraw .App-toolbar-container .ToolIcon__LaserPointer .ToolIcon__icon,
.excalidraw .App-toolbar-container .ToolIcon__MagicButton .ToolIcon__icon {
width: var(--default-button-size);
height: var(--default-button-size);
}
/* components/ButtonIcon.scss */
.excalidraw {
--theme-filter: none;
--button-destructive-bg-color: #ffe3e3;
--button-destructive-color: #c92a2a;
--button-gray-1: #e9ecef;
--button-gray-2: #ced4da;
--button-gray-3: #adb5bd;
--button-special-active-bg-color: #ebfbee;
--dialog-border-color: var(--color-gray-20);
--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
--focus-highlight-color: #a5d8ff;
--icon-fill-color: var(--color-on-surface);
--icon-green-fill-color: #2b8a3e;
--default-bg-color: #ffffff;
--input-bg-color: #ffffff;
--input-border-color: #ced4da;
--input-hover-bg-color: #f1f3f5;
--input-label-color: #495057;
--island-bg-color: #ffffff;
--keybinding-color: var(--color-gray-40);
--link-color: #1c7ed6;
--overlay-bg-color: rgba(255, 255, 255, 0.88);
--popup-bg-color: var(--island-bg-color);
--popup-secondary-bg-color: #f1f3f5;
--popup-text-color: #000000;
--popup-text-inverted-color: #ffffff;
--select-highlight-color: #339af0;
--shadow-island:
0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17),
0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08),
0px 7px 14px 0px rgba(0, 0, 0, 0.05);
--button-hover-bg: var(--color-surface-high);
--button-active-bg: var(--color-surface-high);
--button-active-border: var(--color-brand-active);
--default-border-color: var(--color-surface-high);
--default-button-size: 2rem;
--default-icon-size: 1rem;
--lg-button-size: 2.25rem;
--lg-icon-size: 1rem;
--editor-container-padding: 1rem;
--scrollbar-thumb: var(--button-gray-2);
--scrollbar-thumb-hover: var(--button-gray-3);
--color-slider-track: hsl(240, 100%, 90%);
--color-slider-thumb: var(--color-gray-80);
--modal-shadow:
0px 100px 80px rgba(0, 0, 0, 0.07),
0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
--avatar-border-color: var(--color-gray-20);
--sidebar-shadow:
0px 100px 80px rgba(0, 0, 0, 0.07),
0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
--sidebar-border-color: var(--color-surface-high);
--sidebar-bg-color: var(--island-bg-color);
--library-dropdown-shadow:
0px 15px 6px rgba(0, 0, 0, 0.01),
0px 8px 5px rgba(0, 0, 0, 0.05),
0px 4px 4px rgba(0, 0, 0, 0.09),
0px 1px 2px rgba(0, 0, 0, 0.1),
0px 0px 0px rgba(0, 0, 0, 0.1);
--space-factor: 0.25rem;
--text-primary-color: var(--color-on-surface);
--color-selection: #6965db;
--color-icon-white: #ffffff;
--color-primary: #6965db;
--color-primary-darker: #5b57d1;
--color-primary-darkest: #4a47b1;
--color-primary-light: #e3e2fe;
--color-primary-light-darker: #d7d5ff;
--color-primary-hover: #5753d0;
--color-gray-10: #f5f5f5;
--color-gray-20: #ebebeb;
--color-gray-30: #d6d6d6;
--color-gray-40: #b8b8b8;
--color-gray-50: #999999;
--color-gray-60: #7a7a7a;
--color-gray-70: #5c5c5c;
--color-gray-80: #3d3d3d;
--color-gray-85: #242424;
--color-gray-90: #1e1e1e;
--color-gray-100: #121212;
--color-disabled: var(--color-gray-40);
--color-warning: #fceeca;
--color-warning-dark: #f5c354;
--color-warning-darker: #f3ab2c;
--color-warning-darkest: #ec8b14;
--color-text-warning: var(--text-primary-color);
--color-danger: #db6965;
--color-danger-dark: #db6965;
--color-danger-darker: #d65550;
--color-danger-darkest: #d1413c;
--color-danger-text: black;
--color-danger-background: #fff0f0;
--color-danger-icon-background: #ffdad6;
--color-danger-color: #700000;
--color-danger-icon-color: #700000;
--color-warning-background: var(--color-warning);
--color-warning-icon-background: var(--color-warning-dark);
--color-warning-color: var(--text-primary-color);
--color-warning-icon-color: var(--text-primary-color);
--color-muted: var(--color-gray-30);
--color-muted-darker: var(--color-gray-60);
--color-muted-darkest: var(--color-gray-100);
--color-muted-background: var(--color-gray-80);
--color-muted-background-darker: var(--color-gray-100);
--color-promo: var(--color-primary);
--color-success: #cafccc;
--color-success-darker: #bafabc;
--color-success-darkest: #a5eba8;
--color-success-text: #268029;
--color-success-contrast: #65bb6a;
--color-success-contrast-hover: #6bcf70;
--color-success-contrast-active: #6edf74;
--color-logo-icon: var(--color-primary);
--color-logo-text: #190064;
--border-radius-md: 0.375rem;
--border-radius-lg: 0.5rem;
--color-surface-high: #f1f0ff;
--color-surface-mid: #f2f2f7;
--color-surface-low: #ececf4;
--color-surface-lowest: #ffffff;
--color-on-surface: #1b1b1f;
--color-brand-hover: #5753d0;
--color-on-primary-container: #030064;
--color-surface-primary-container: #e0dfff;
--color-brand-active: #4440bf;
--color-border-outline: #767680;
--color-border-outline-variant: #c5c5d0;
--color-surface-primary-container: #e0dfff;
--color-badge: #0b6513;
--background-color-badge: #d3ffd2;
}
@media screen and (min-device-width: 1921px) {
.excalidraw {
--lg-button-size: 2.5rem;
--lg-icon-size: 1.25rem;
--default-button-size: 2.25rem;
--default-icon-size: 1.25rem;
}
}
.excalidraw.theme--dark.theme--dark-background-none {
background: none;
}
.excalidraw.theme--dark {
--theme-filter: invert(93%) hue-rotate(180deg);
--button-destructive-bg-color: #5a0000;
--button-destructive-color: #ffa8a8;
--button-gray-1: #363636;
--button-gray-2: #272727;
--button-gray-3: #222;
--button-special-active-bg-color: #204624;
--dialog-border-color: var(--color-gray-80);
--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
--focus-highlight-color: #228be6;
--icon-green-fill-color: #69db7c;
--default-bg-color: #121212;
--input-bg-color: #121212;
--input-border-color: #2e2e2e;
--input-hover-bg-color: #181818;
--input-label-color: #e9ecef;
--island-bg-color: #232329;
--keybinding-color: var(--color-gray-60);
--link-color: #4dabf7;
--overlay-bg-color: rgba(52, 58, 64, 0.12);
--popup-secondary-bg-color: #222;
--popup-text-color: #ced4da;
--popup-text-inverted-color: #2c2c2c;
--select-highlight-color: #4dabf7;
--shadow-island:
0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17),
0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08),
0px 7px 14px 0px rgba(0, 0, 0, 0.05);
--modal-shadow:
0px 100px 80px rgba(0, 0, 0, 0.07),
0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
--avatar-border-color: var(--color-gray-85);
--scrollbar-thumb: #343a40;
--scrollbar-thumb-hover: #495057;
--color-slider-track: hsl(244, 23%, 39%);
--color-selection: #3530c4;
--color-icon-white: var(--color-gray-90);
--color-primary: #a8a5ff;
--color-primary-darker: #b2aeff;
--color-primary-darkest: #beb9ff;
--color-primary-light: #4f4d6f;
--color-primary-light-darker: #43415e;
--color-primary-hover: #bbb8ff;
--color-disabled: var(--color-gray-70);
--color-text-warning: var(--color-gray-80);
--color-danger: #ffa8a5;
--color-danger-dark: #672120;
--color-danger-darker: #8f2625;
--color-danger-darkest: #ac2b29;
--color-danger-text: #fbcbcc;
--color-danger-background: #fbcbcc;
--color-danger-icon-background: #672120;
--color-danger-color: #261919;
--color-danger-icon-color: #fbcbcc;
--color-warning-background: var(--color-warning);
--color-warning-icon-background: var(--color-warning-dark);
--color-warning-color: var(--color-gray-80);
--color-warning-icon-color: var(--color-gray-80);
--color-muted: var(--color-gray-80);
--color-muted-darker: var(--color-gray-60);
--color-muted-darkest: var(--color-gray-20);
--color-muted-background: var(--color-gray-40);
--color-muted-background-darker: var(--color-gray-20);
--color-logo-text: #e2dfff;
--color-surface-high: hsl(245, 10%, 21%);
--color-surface-low: hsl(240, 8%, 15%);
--color-surface-mid: hsl(240 6% 10%);
--color-surface-lowest: hsl(0, 0%, 7%);
--color-on-surface: #e3e3e8;
--color-brand-hover: #bbb8ff;
--color-on-primary-container: #e0dfff;
--color-surface-primary-container: #403e6a;
--color-brand-active: #d0ccff;
--color-border-outline: #8e8d9c;
--color-border-outline-variant: #46464f;
--color-surface-primary-container: #403e6a;
}
.excalidraw button.standalone {
display: flex;
justify-content: center;
align-items: center;
padding: 0.625rem;
width: var(--button-width, var(--default-button-size));
height: var(--button-height, var(--default-button-size));
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: var(--button-border, var(--default-border-color));
border-radius: var(--border-radius-lg);
cursor: pointer;
background-color: var(--button-bg, var(--island-bg-color));
color: var(--button-color, var(--color-on-surface));
font-family: var(--ui-font);
padding: 0;
}
.excalidraw button.standalone svg {
width: var(--button-width, var(--lg-icon-size));
height: var(--button-height, var(--lg-icon-size));
}
.excalidraw button.standalone:hover {
background-color: var(--button-hover-bg, var(--island-bg-color));
border-color: var(--button-hover-border, var(--button-border, var(--default-border-color)));
color: var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)));
}
.excalidraw button.standalone:active {
background-color: var(--button-active-bg, var(--island-bg-color));
border-color: var(--button-active-border, var(--color-primary-darkest));
}
.excalidraw button.standalone.active {
background-color: var(--button-selected-bg, var(--color-surface-primary-container));
border-color: var(--button-selected-border, var(--color-surface-primary-container));
}
.excalidraw button.standalone.active:hover {
background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
}
.excalidraw button.standalone.active svg {
color: var(--button-color, var(--color-on-primary-container));
}
.excalidraw button.standalone svg {
width: var(--default-icon-size);
height: var(--default-icon-size);
}
.excalidraw button.standalone > * {
pointer-events: none;
}
/* components/EyeDropper.scss */
.excalidraw .excalidraw-eye-dropper-container,
.excalidraw .excalidraw-eye-dropper-backdrop {
position: absolute;
width: 100%;
height: 100%;
z-index: var(--zIndex-eyeDropperBackdrop);
touch-action: none;
}
.excalidraw .excalidraw-eye-dropper-container {
pointer-events: none;
}
.excalidraw .excalidraw-eye-dropper-backdrop {
pointer-events: all;
}
.excalidraw .excalidraw-eye-dropper-preview {
pointer-events: none;
width: 3rem;
height: 3rem;
position: fixed;
z-index: var(--zIndex-eyeDropperPreview);
border-radius: 1rem;
border: 1px solid var(--default-border-color);
filter: var(--theme-filter);
}
.excalidraw .excalidraw-eye-dropper-trigger {
width: 1.25rem;
height: 1.25rem;
cursor: pointer;
padding: 4px;
margin-right: -4px;
margin-left: -2px;
border-radius: 0.5rem;
color: var(--icon-fill-color);
}
.excalidraw .excalidraw-eye-dropper-trigger:hover {
background: var(--button-hover-bg);
}
.excalidraw .excalidraw-eye-dropper-trigger.selected {
color: var(--color-primary);
background: var(--color-primary-light);
}
/* components/Island.scss */
.excalidraw .Island {
--padding: 0;
box-sizing: border-box;
background-color: var(--island-bg-color);
box-shadow: var(--shadow-island);
border-radius: var(--border-radius-lg);
padding: calc(var(--padding) * var(--space-factor));
position: relative;
transition: box-shadow 0.5s ease-in-out;
}
.excalidraw .Island.zen-mode {
box-shadow: none;
}
/* components/ColorPicker/ColorPicker.scss */
.excalidraw .focus-visible-none:focus-visible {
outline: none !important;
}
.excalidraw .color-picker__heading {
padding: 0 0.5rem;
font-size: 0.75rem;
text-align: left;
}
.excalidraw .color-picker-container {
display: grid;
grid-template-columns: 1fr 20px 1.625rem;
padding: 0.25rem 0px;
align-items: center;
}
.excalidraw--mobile.excalidraw .color-picker-container {
max-width: 11rem;
}
.excalidraw .color-picker__top-picks {
display: flex;
justify-content: space-between;
}
.excalidraw .color-picker__button {
--radius: 0.25rem;
padding: 0;
margin: 0;
width: 1.35rem;
height: 1.35rem;
border: 1px solid var(--color-gray-30);
border-radius: var(--radius);
filter: var(--theme-filter);
background-color: var(--swatch-color);
background-position: left center;
position: relative;
font-family: inherit;
box-sizing: border-box;
}
.excalidraw .color-picker__button:hover::after {
content: "";
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
box-shadow: 0 0 0 1px var(--color-gray-30);
border-radius: calc(var(--radius) + 1px);
filter: var(--theme-filter);
}
.excalidraw .color-picker__button.active .color-picker__button-outline {
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
box-shadow: 0 0 0 1px var(--color-primary-darkest);
z-index: 1;
border-radius: calc(var(--radius) + 1px);
filter: var(--theme-filter);
}
.excalidraw .color-picker__button:focus-visible {
outline: none;
}
.excalidraw .color-picker__button:focus-visible::after {
content: "";
position: absolute;
top: -4px;
right: -4px;
bottom: -4px;
left: -4px;
border: 3px solid var(--focus-highlight-color);
border-radius: calc(var(--radius) + 1px);
}
.excalidraw .color-picker__button:focus-visible.active .color-picker__button-outline {
display: none;
}
.excalidraw .color-picker__button--large {
--radius: 0.5rem;
width: 1.875rem;
height: 1.875rem;
}
.excalidraw .color-picker__button.is-transparent {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==);
}
.excalidraw .color-picker__button--no-focus-visible {
border: 0;
}
.excalidraw .color-picker__button--no-focus-visible::after {
display: none;
}
.excalidraw .color-picker__button--no-focus-visible:focus-visible {
outline: none !important;
}
.excalidraw .color-picker__button.active-color {
border-radius: calc(var(--radius) + 1px);
width: 1.625rem;
height: 1.625rem;
}
.excalidraw .color-picker__button__hotkey-label {
position: absolute;
right: 4px;
bottom: 4px;
filter: none;
font-size: 11px;
}
.excalidraw .color-picker {
background: var(--popup-bg-color);
border: 0 solid rgba(255, 255, 255, 0.25);
box-shadow: rgba(0, 0, 0, 0.25) 0 1px 4px;
border-radius: 4px;
position: absolute;
}
:root[dir=ltr] .excalidraw .color-picker {
left: -5.5px;
}
:root[dir=rtl] .excalidraw .color-picker {
right: -5.5px;
}
.excalidraw .color-picker-control-container {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
column-gap: 0.5rem;
}
.excalidraw .color-picker-control-container + .popover {
position: static;
}
.excalidraw .color-picker-popover-container {
margin-top: -0.25rem;
}
:root[dir=ltr] .excalidraw .color-picker-popover-container {
margin-left: 0.5rem;
}
:root[dir=rtl] .excalidraw .color-picker-popover-container {
margin-left: -3rem;
}
.excalidraw .color-picker-triangle {
width: 0;
height: 0;
border-style: solid;
border-width: 0 9px 10px;
border-color: transparent transparent var(--popup-bg-color);
position: absolute;
top: 10px;
}
:root[dir=ltr] .excalidraw .color-picker-triangle {
transform: rotate(270deg);
left: -14px;
}
:root[dir=rtl] .excalidraw .color-picker-triangle {
transform: rotate(90deg);
right: -14px;
}
.excalidraw .color-picker-triangle-shadow {
border-color: transparent transparent rgba(0, 0, 0, 0.1);
}
:root[dir=ltr] .excalidraw .color-picker-triangle-shadow {
left: -14px;
}
:root[dir=rtl] .excalidraw .color-picker-triangle-shadow {
right: -16px;
}
.excalidraw .color-picker-content {
display: flex;
flex-direction: column;
gap: 0.75rem;
outline: none;
}
.excalidraw .color-picker-content--default {
padding: 0.5rem;
display: grid;
grid-template-columns: repeat(5, 1.875rem);
grid-gap: 0.25rem;
border-radius: 4px;
}
.excalidraw .color-picker-content--default:focus {
outline: none;
box-shadow: 0 0 0 2px var(--focus-highlight-color);
}
.excalidraw .color-picker-content--canvas {
display: flex;
flex-direction: column;
padding: 0.25rem;
}
.excalidraw .color-picker-content--canvas-title {
color: #868e96;
font-size: 12px;
padding: 0 0.25rem;
}
.excalidraw .color-picker-content--canvas-colors {
padding: 0.5rem 0;
}
.excalidraw .color-picker-content--canvas-colors .color-picker-swatch {
margin: 0 0.25rem;
}
.excalidraw .color-picker-content .color-input-container {
grid-column: 1/span 5;
}
.excalidraw .color-picker-swatch {
position: relative;
height: 1.875rem;
width: 1.875rem;
cursor: pointer;
border-radius: 4px;
margin: 0;
box-sizing: border-box;
border: 1px solid #ddd;
background-color: currentColor !important;
filter: var(--theme-filter);
}
.excalidraw .color-picker-swatch:focus {
box-shadow: 0 0 4px 1px currentColor;
border-color: var(--select-highlight-color);
}
.excalidraw .color-picker-transparent {
border-radius: 4px;
box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px inset;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.excalidraw .color-picker-transparent,
.excalidraw .color-picker-label-swatch {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;
}
.excalidraw .color-picker-hash {
height: var(--default-button-size);
flex-shrink: 0;
padding: 0.5rem 0.5rem 0.5rem 0.75rem;
border: 1px solid var(--default-border-color);
border-right: 0;
box-sizing: border-box;
color: var(--input-label-color);
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
:root[dir=ltr] .excalidraw .color-picker-hash {
border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
}
:root[dir=rtl] .excalidraw .color-picker-hash {
border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
border-right: 1px solid var(--default-border-color);
border-left: 0;
}
.excalidraw .color-input-container {
display: flex;
}
.excalidraw .color-input-container:focus-within {
box-shadow: 0 0 0 1px var(--color-primary-darkest);
border-radius: var(--border-radius-lg);
}
.excalidraw .color-picker__input-label {
display: grid;
grid-template-columns: auto 1fr auto auto;
gap: 8px;
align-items: center;
border: 1px solid var(--default-border-color);
border-radius: 8px;
padding: 0 12px;
margin: 8px;
box-sizing: border-box;
}
.excalidraw .color-picker__input-label:focus-within {
box-shadow: 0 0 0 1px var(--color-primary-darkest);
border-radius: var(--border-radius-lg);
}
.excalidraw .color-picker__input-hash {
padding: 0 0.25rem;
}
.excalidraw .color-picker-input {
box-sizing: border-box;
width: 100%;
margin: 0;
font-size: 0.875rem;
font-family: inherit;
background-color: transparent;
color: var(--text-primary-color);
border: 0;
outline: none;
height: var(--default-button-size);
border: 1px solid var(--default-border-color);
border-left: 0;
letter-spacing: 0.4px;
padding: 0.5rem;
padding-left: 0.25rem;
appearance: none;
}
:root[dir=ltr] .excalidraw .color-picker-input {
border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
}
:root[dir=rtl] .excalidraw .color-picker-input {
border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
border-left: 1px solid var(--default-border-color);
border-right: 0;
}
.excalidraw .color-picker-input:focus-visible {
box-shadow: none;
}
.excalidraw .color-picker-label-swatch-container {
border: 1px solid var(--default-border-color);
border-radius: var(--border-radius-lg);
width: var(--default-button-size);
height: var(--default-button-size);
box-sizing: border-box;
overflow: hidden;
}
.excalidraw .color-picker-label-swatch {
display: flex;
justify-content: center;
align-items: center;
padding: 0.625rem;
width: var(--button-width, var(--default-button-size));
height: var(--button-height, var(--default-button-size));
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: var(--button-border, var(--default-border-color));
border-radius: var(--border-radius-lg);
cursor: pointer;
background-color: var(--button-bg, var(--island-bg-color));
color: var(--button-color, var(--color-on-surface));
font-family: var(--ui-font);
background-color: var(--swatch-color) !important;
overflow: hidden;
position: relative;
filter: var(--theme-filter);
border: 0 !important;
}
.excalidraw .color-picker-label-swatch svg {
width: var(--button-width, var(--lg-icon-size));
height: var(--button-height, var(--lg-icon-size));
}
.excalidraw .color-picker-label-swatch:hover {
background-color: var(--button-hover-bg, var(--island-bg-color));
border-color: var(--button-hover-border, var(--button-border, var(--default-border-color)));
color: var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)));
}
.excalidraw .color-picker-label-swatch:active {
background-color: var(--button-active-bg, var(--island-bg-color));
border-color: var(--button-active-border, var(--color-primary-darkest));
}
.excalidraw .color-picker-label-swatch.active {
background-color: var(--button-selected-bg, var(--color-surface-primary-container));
border-color: var(--button-selected-border, var(--color-surface-primary-container));
}
.excalidraw .color-picker-label-swatch.active:hover {
background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
}
.excalidraw .color-picker-label-swatch.active svg {
color: var(--button-color, var(--color-on-primary-container));
}
.excalidraw .color-picker-label-swatch:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--swatch-color);
}
.excalidraw .color-picker-keybinding {
position: absolute;
bottom: 2px;
font-size: 0.7em;
}
:root[dir=ltr] .excalidraw .color-picker-keybinding {
right: 2px;
}
:root[dir=rtl] .excalidraw .color-picker-keybinding {
left: 2px;
}
.excalidraw--mobile.excalidraw .color-picker-keybinding {
display: none;
}
.excalidraw .color-picker-type-canvasBackground .color-picker-keybinding {
color: #aaa;
}
.excalidraw .color-picker-type-elementBackground .color-picker-keybinding {
color: #ffffff;
}
.excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding {
color: #aaa;
}
.excalidraw .color-picker-type-elementStroke .color-picker-keybinding {
color: #d4d4d4;
}
.excalidraw.theme--dark .color-picker-type-elementBackground .color-picker-keybinding {
color: #000000;
}
.excalidraw.theme--dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding {
color: #000000;
}
/* components/IconPicker.scss */
.excalidraw .picker {
padding: 0.5rem;
background: var(--popup-bg-color);
border: 0 solid rgba(255, 255, 255, 0.25);
box-shadow: var(--shadow-island);
border-radius: 4px;
position: absolute;
}
:root[dir=rtl] .excalidraw .picker {
padding: 0.4rem;
}
.excalidraw .picker-container button,
.excalidraw .picker button {
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.excalidraw .picker-container button:focus-visible,
.excalidraw .picker button:focus-visible {
outline: transparent;
background-color: var(--button-gray-2);
}
.excalidraw .picker-container button:focus-visible svg,
.excalidraw .picker button:focus-visible svg {
opacity: 1;
}
.excalidraw .picker-container button:hover,
.excalidraw .picker button:hover {
background-color: var(--button-gray-2);
}
.excalidraw .picker-container button:active,
.excalidraw .picker button:active {
background-color: var(--button-gray-3);
}
.excalidraw .picker-container button:disabled,
.excalidraw .picker button:disabled {
cursor: not-allowed;
}
.excalidraw .picker-container button svg,
.excalidraw .picker button svg {
margin: 0;
width: 36px;
height: 18px;
pointer-events: none;
}
.excalidraw .picker button {
padding: 0.25rem 0.28rem 0.35rem 0.25rem;
}
.excalidraw .picker-content {
display: grid;
grid-template-columns: repeat(4, auto);
grid-gap: 0.5rem;
border-radius: 4px;
}
.excalidraw .picker-collapsible {
font-size: 0.75rem;
padding: 0.5rem 0;
}
.excalidraw .picker-keybinding {
position: absolute;
bottom: 2px;
font-size: 0.7em;
color: var(--keybinding-color);
}
:root[dir=ltr] .excalidraw .picker-keybinding {
right: 2px;
}
:root[dir=rtl] .excalidraw .picker-keybinding {
left: 2px;
}
.excalidraw--mobile.excalidraw .picker-keybinding {
display: none;
}
.excalidraw .picker-type-canvasBackground .picker-keybinding {
color: #aaa;
}
.excalidraw .picker-type-elementBackground .picker-keybinding {
color: #ffffff;
}
.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding {
color: #aaa;
}
.excalidraw .picker-type-elementStroke .picker-keybinding {
color: #d4d4d4;
}
.excalidraw.theme--dark .picker-type-elementBackground .picker-keybinding {
color: #000000;
}
.excalidraw.theme--dark .picker-swatch[aria-label=transparent] .picker-keybinding {
color: #000000;
}
/* components/QuickSearch.scss */
.excalidraw {
--list-border-color: var(--color-gray-20);
}
.excalidraw .QuickSearch__wrapper {
position: relative;
height: 2.6rem;
border-bottom: 1px solid var(--list-border-color);
}
.excalidraw .QuickSearch__wrapper svg {
position: absolute;
top: 47.5%;
transform: translateY(-50%);
left: 0.75rem;
width: 1.25rem;
height: 1.25rem;
color: var(--color-gray-40);
z-index: 1;
}
.excalidraw.theme--dark {
--list-border-color: var(--color-gray-80);
}
.excalidraw.theme--dark .QuickSearch__wrapper {
border-bottom: none;
}
.excalidraw .QuickSearch__input {
position: absolute;
top: 0;
left: 0;
width: 100%;
box-sizing: border-box;
border: 0 !important;
font-size: 0.875rem;
padding-left: 2.5rem !important;
padding-right: 0.75rem !important;
}
.excalidraw .QuickSearch__input::placeholder {
color: var(--color-gray-40);
}
.excalidraw .QuickSearch__input:focus {
box-shadow: none !important;
}
/* components/ScrollableList.scss */
.excalidraw .ScrollableList__wrapper {
position: static !important;
border: none;
font-size: 0.875rem;
overflow-y: auto;
}
.excalidraw .ScrollableList__wrapper > .empty,
.excalidraw .ScrollableList__wrapper > .hint {
display: flex;
justify-content: center;
align-items: center;
padding: 0.5rem;
font-size: 0.75rem;
color: var(--color-gray-60);
overflow: hidden;
text-align: center;
line-height: 150%;
}
/* components/FontPicker/FontPicker.scss */
.excalidraw .FontPicker__container {
display: grid;
grid-template-columns: calc(1rem + 3 * var(--default-button-size)) 1rem 1fr;
align-items: center;
}
.excalidraw--mobile.excalidraw .FontPicker__container {
max-width: calc(2rem + 4 * var(--default-button-size));
}
/* components/Range.scss */
.excalidraw {
--slider-thumb-size: 16px;
}
.excalidraw .range-wrapper {
position: relative;
padding-top: 10px;
padding-bottom: 30px;
}
.excalidraw .range-input {
width: 100%;
height: 4px;
-webkit-appearance: none;
background: var(--color-slider-track);
border-radius: 2px;
outline: none;
}
.excalidraw .range-input::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: var(--slider-thumb-size);
height: var(--slider-thumb-size);
background: var(--color-slider-thumb);
border-radius: 50%;
cursor: pointer;
border: none;
}
.excalidraw .range-input::-moz-range-thumb {
width: var(--slider-thumb-size);
height: var(--slider-thumb-size);
background: var(--color-slider-thumb);
border-radius: 50%;
cursor: pointer;
border: none;
}
.excalidraw .value-bubble {
position: absolute;
bottom: 0;
transform: translateX(-50%);
font-size: 12px;
color: var(--text-primary-color);
}
.excalidraw .zero-label {
position: absolute;
bottom: 0;
left: 4px;
font-size: 12px;
color: var(--text-primary-color);
}
/* components/Tooltip.scss */
.excalidraw-tooltip {
--ui-font:
Assistant,
system-ui,
BlinkMacSystemFont,
-apple-system,
Segoe UI,
Roboto,
Helvetica,
Arial,
sans-serif;
font-family: var(--ui-font);
position: fixed;
z-index: var(--zIndex-popup);
padding: 8px;
border-radius: 6px;
box-sizing: border-box;
pointer-events: none;
word-wrap: break-word;
background: #000000;
line-height: 1.5;
text-align: center;
font-size: 13px;
font-weight: 500;
color: #ffffff;
display: none;
}
.excalidraw-tooltip.excalidraw-tooltip--visible {
display: block;
}
.excalidraw-tooltip-wrapper {
display: flex;
}
.excalidraw-tooltip-icon {
width: 0.9em;
height: 0.9em;
margin-left: 5px;
margin-top: 1px;
display: flex;
}
.excalidraw--mobile.excalidraw-tooltip-icon {
display: none;
}
/* components/TextInput.scss */
.excalidraw .TextInput {
display: inline-block;
}
/* components/ProjectName.scss */
.ProjectName {
margin: auto;
display: flex;
align-items: center;
}
.ProjectName .TextInput {
height: calc(1rem - 3px);
width: 200px;
overflow: hidden;
text-align: center;
margin-left: 8px;
text-overflow: ellipsis;
}
.ProjectName .TextInput--readonly {
background: none;
border: none;
width: auto;
max-width: 200px;
padding-left: 2px;
}
.ProjectName .TextInput--readonly:hover {
background: none;
}
/* components/CheckboxItem.scss */
.excalidraw .Checkbox {
margin: 4px 0.3em;
display: flex;
align-items: center;
cursor: pointer;
user-select: none;
-webkit-tap-highlight-color: transparent;
}
.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus) {
box-shadow: 0 0 0 2px #4dabf7;
}
.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus) svg {
display: block;
opacity: 0.3;
}
.excalidraw .Checkbox:active .Checkbox-box {
box-shadow: 0 0 2px 1px inset #1c7ed6 !important;
}
.excalidraw .Checkbox:hover .Checkbox-box {
background-color: rgba(208, 235, 255, 0.2);
}
.excalidraw .Checkbox.is-checked .Checkbox-box {
background-color: #d0ebff;
}
.excalidraw .Checkbox.is-checked .Checkbox-box svg {
display: block;
}
.excalidraw .Checkbox.is-checked:hover .Checkbox-box {
background-color: #a5d8ff;
}
.excalidraw .Checkbox .Checkbox-box {
width: 22px;
height: 22px;
padding: 0;
flex: 0 0 auto;
margin: 0 1em;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 0 2px #1c7ed6;
background-color: transparent;
border-radius: 4px;
color: #1c7ed6;
border: 0;
}
.excalidraw .Checkbox .Checkbox-box:focus {
box-shadow: 0 0 0 3px #1c7ed6;
}
.excalidraw .Checkbox .Checkbox-box svg {
display: none;
width: 16px;
height: 16px;
stroke-width: 3px;
}
.excalidraw .Checkbox .Checkbox-label {
display: flex;
align-items: center;
}
.excalidraw .Checkbox .excalidraw-tooltip-icon {
width: 1em;
height: 1em;
}
/* components/Avatar.scss */
.excalidraw .Avatar {
width: var(--avatar-size, 1.5rem);
height: var(--avatar-size, 1.5rem);
position: relative;
border-radius: 100%;
outline-offset: 2px;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
font-size: 0.75rem;
font-weight: 700;
line-height: 1;
color: var(--color-gray-90);
flex: 0 0 auto;
}
.excalidraw .Avatar:active {
transform: scale(0.94);
}
.excalidraw .Avatar-img {
width: 100%;
height: 100%;
border-radius: 100%;
}
.excalidraw .Avatar::before {
content: "";
position: absolute;
top: -3px;
right: -3px;
bottom: -3px;
left: -3px;
border-radius: 100%;
}
.excalidraw .Avatar.is-followed::before {
border-color: var(--color-primary-hover);
box-shadow: 0 0 0 1px var(--color-primary-hover);
}
.excalidraw .Avatar.is-current-user {
cursor: auto;
}
/* components/hyperlink/Hyperlink.scss */
.excalidraw-hyperlinkContainer {
display: flex;
align-items: center;
justify-content: space-between;
position: absolute;
box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.3);
z-index: var(--zIndex-hyperlinkContainer);
background: var(--island-bg-color);
border-radius: var(--border-radius-md);
box-sizing: border-box;
min-height: 42px;
}
.excalidraw-hyperlinkContainer-input,
.excalidraw-hyperlinkContainer button {
z-index: 100;
}
.excalidraw-hyperlinkContainer-input,
.excalidraw-hyperlinkContainer-link {
height: 24px;
padding: 0 8px;
line-height: 24px;
font-size: 0.9rem;
font-weight: 500;
font-family: var(--ui-font);
}
.excalidraw-hyperlinkContainer-input {
width: 18rem;
border: none;
background-color: transparent;
color: var(--text-primary-color);
outline: none;
border: none;
box-shadow: none !important;
}
.excalidraw-hyperlinkContainer-link {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 15rem;
}
.excalidraw-hyperlinkContainer button {
color: #228be6;
background-color: transparent !important;
font-weight: 500;
}
.excalidraw-hyperlinkContainer button.excalidraw-hyperlinkContainer--remove {
color: #c92a2a;
}
.excalidraw-hyperlinkContainer--remove .ToolIcon__icon svg {
color: #fa5252;
}
.excalidraw-hyperlinkContainer .ToolIcon__icon {
width: 2rem;
height: 2rem;
}
.excalidraw-hyperlinkContainer__buttons {
flex: 0 0 auto;
}
/* components/Dialog.scss */
.excalidraw .Dialog {
user-select: text;
cursor: auto;
}
.excalidraw .Dialog__title {
margin: 0;
text-align: left;
font-size: 1.25rem;
border-bottom: 1px solid var(--dialog-border-color);
padding: 0 0 0.75rem;
margin-bottom: 1.5rem;
}
.excalidraw .Dialog__close {
color: var(--color-gray-40);
margin: 0;
position: absolute;
top: 0.75rem;
right: 0.5rem;
border: 0;
background-color: transparent;
line-height: 0;
cursor: pointer;
}
.excalidraw .Dialog__close:hover {
color: var(--color-gray-60);
}
.excalidraw .Dialog__close:active {
color: var(--color-gray-40);
}
.excalidraw .Dialog__close svg {
width: 1.5rem;
height: 1.5rem;
}
.excalidraw .Dialog__close + .Dialog__content {
--offset: 28px;
height: calc(100% - var(--offset)) !important;
margin-top: var(--offset) !important;
}
.excalidraw .Dialog--fullscreen .Dialog__close {
top: 1.25rem;
right: 1.25rem;
}
/* components/Modal.scss */
.excalidraw.excalidraw-modal-container {
position: absolute;
z-index: var(--zIndex-modal);
}
.excalidraw .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;
}
.excalidraw .Modal .Island {
padding: 2.5rem;
border: 0;
box-shadow: none;
border-radius: 0;
}
.excalidraw .Modal.animations-disabled .Modal__background {
animation: none;
}
.excalidraw .Modal.animations-disabled .Modal__content {
animation: none;
opacity: 1;
}
.excalidraw .Modal__background {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
background-color: rgba(18, 18, 18, 0.2);
animation: Modal__background__fade-in 0.1s linear forwards;
}
.excalidraw .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;
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;
}
.excalidraw .Modal__content: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);
}
}
.excalidraw .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;
}
.excalidraw .Modal__close svg {
width: 1.5rem;
height: 1.5rem;
}
.excalidraw .Dialog--fullscreen .Modal {
padding: 0;
}
.excalidraw .Dialog--fullscreen .Modal__content {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
max-width: 100%;
border: 0;
border-radius: 0;
}
/* components/Stack.scss */
.excalidraw .Stack {
--gap: 0;
display: grid;
gap: calc(var(--space-factor) * var(--gap));
}
.excalidraw .Stack_vertical {
grid-template-columns: auto;
grid-auto-flow: row;
grid-auto-rows: min-content;
}
.excalidraw .Stack_horizontal {
grid-template-rows: auto;
grid-auto-flow: column;
grid-auto-columns: min-content;
}
/* components/ConfirmDialog.scss */
.excalidraw .confirm-dialog-buttons {
display: flex;
column-gap: 0.5rem;
justify-content: flex-end;
}
/* components/DialogActionButton.scss */
.excalidraw .Dialog__action-button {
position: relative;
display: flex;
column-gap: 0.5rem;
align-items: center;
padding: 0.5rem 1.5rem;
border: 1px solid var(--default-border-color);
background-color: transparent;
height: 3rem;
border-radius: var(--border-radius-lg);
letter-spacing: 0.4px;
color: inherit;
font-family: inherit;
font-size: 0.875rem;
font-weight: 600;
user-select: none;
}
.excalidraw .Dialog__action-button svg {
display: block;
width: 1rem;
height: 1rem;
}
.excalidraw .Dialog__action-button--danger {
background-color: var(--color-danger);
border-color: var(--color-danger);
color: #fff;
}
.excalidraw .Dialog__action-button--primary {
background-color: var(--color-primary);
border-color: var(--color-primary);
color: #fff;
}
.excalidraw.theme--dark .Dialog__action-button--danger {
color: var(--color-gray-100);
}
.excalidraw.theme--dark .Dialog__action-button--primary {
color: var(--color-gray-100);
}
/* components/PublishLibrary.scss */
.excalidraw .publish-library__fields {
display: flex;
flex-direction: column;
}
.excalidraw .publish-library__fields label {
padding: 1em 0;
display: flex;
justify-content: space-between;
align-items: center;
}
.excalidraw .publish-library__fields label span {
font-weight: 500;
font-size: 1rem;
color: #868e96;
}
.excalidraw .publish-library__fields label input,
.excalidraw .publish-library__fields label textarea {
width: 70%;
padding: 0.6em;
font-family: var(--ui-font);
}
.excalidraw .publish-library__fields label .required {
color: #e03131;
margin: 0.2rem;
}
.excalidraw .publish-library__buttons {
display: flex;
padding: 0.2rem 0;
justify-content: flex-end;
gap: 0.5rem;
}
.excalidraw .publish-library__buttons .ToolIcon__icon {
min-width: 2.5rem;
width: auto;
font-size: 1rem;
}
.excalidraw .publish-library__buttons .ToolIcon_type_button {
margin-left: 1rem;
padding: 0 0.5rem;
}
.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button {
background-color: #228be6;
}
.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button:hover {
background-color: #1971c2;
}
.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button {
background-color: #adb5bd;
}
.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button:hover {
background-color: #868e96;
}
.excalidraw .publish-library__buttons .ToolIcon__icon {
color: #ffffff;
}
.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner {
--spinner-color: #fff;
}
.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner svg {
padding: 0.5rem;
}
.excalidraw .publish-library .selected-library-items {
display: flex;
flex-wrap: wrap;
}
.excalidraw .publish-library .selected-library-items .single-library-item-wrapper {
width: 9rem;
}
.excalidraw .publish-library-warning {
color: #fa5252;
}
.excalidraw .publish-library-note {
padding: 1em 0;
font-style: italic;
font-size: 14px;
display: block;
}
.excalidraw .single-library-item {
position: relative;
}
.excalidraw .single-library-item-status {
position: absolute;
top: 0.3rem;
left: 0.3rem;
font-size: 0.7rem;
color: #f03e3e;
background: rgba(255, 255, 255, 0.9);
padding: 0.1rem 0.2rem;
border-radius: 0.2rem;
}
.excalidraw .single-library-item__svg {
background-color: #ffffff;
padding: 0.3rem;
width: 7.5rem;
height: 7.5rem;
border: 1px solid var(--button-gray-2);
}
.excalidraw .single-library-item__svg svg {
width: 100%;
height: 100%;
}
.excalidraw .single-library-item .ToolIcon__icon {
background-color: #ffffff;
width: auto;
height: auto;
margin: 0 0.5rem;
}
.excalidraw .single-library-item .ToolIcon,
.excalidraw .single-library-item .ToolIcon_type_button:hover {
background-color: white;
}
.excalidraw .single-library-item .required,
.excalidraw .single-library-item .error {
color: #e03131;
font-weight: 700;
font-size: 1rem;
margin: 0.2rem;
}
.excalidraw .single-library-item .error {
font-weight: 500;
margin: 0;
padding: 0.3em 0;
}
.excalidraw .single-library-item--remove {
position: absolute;
top: 0.2rem;
right: 1rem;
}
.excalidraw .single-library-item--remove .ToolIcon__icon {
margin: 0;
}
.excalidraw .single-library-item--remove .ToolIcon__icon {
background-color: #fa5252;
}
.excalidraw .single-library-item--remove .ToolIcon__icon:hover {
background-color: #f03e3e;
}
.excalidraw .single-library-item--remove .ToolIcon__icon:active {
background-color: #e03131;
}
.excalidraw .single-library-item--remove svg {
color: #ffffff;
padding: 0.26rem;
border-radius: 0.3em;
width: 1rem;
height: 1rem;
}
/* components/dropdownMenu/DropdownMenu.scss */
.excalidraw .dropdown-menu {