mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-09-01 14:46:57 +02:00

* feat: integrate mermaidToExcalidraw * create mermaid to excal dialog * allow mermaid syntax and export in preview * fix * fix webpack config * fix markdown error by using named export * center preview * set elements as selected when inserted onto canvas * persist mermaid data to storage * store canvas data in refs * load mermaid lazily * tweak design * compute width, height correctly for arrows * fix undefined vertex issue * add mermaid icon in dropdown * add a note in dialog * reset preview when error * show error in preview when error * show mermaid error messgae react way * design tweaks * add example and docs link * fix * tweak design to remove scroll bar * show a spinner unless mermaid loaded * regenerate ids when needed via programmatic api, this makes sure for mermaid diagrams ids are regenerated * tweak * add option to transform viewport to scene coords in transform api * make opts optional and use 100% zoom when inserting to canvas * fix arrow bindings in safari and firefox * fix elements insert position and viewport centering * fix: Update start/end points by 0.5 so bindings don't overlap with start/end bound element coordinates. * defer rendering the preview * tweak text * fix tests * remove only * make design responsive * fix: show extra tools dropdown in mobile * fix mobile css * width auto * upgrade mermaid-to-excalidraw * don't pass appState in deps as its not used * upgrade mermaid-to-excalidraw to fix firefox issue * use types from mermaid-to-excalidraw * upgrade mermaid-to-excalidraw * use stable version of mermaid-to-excalidraw * upgrade mermaid-to-excalidraw * fix width of shapes toolbar for smaller screen size and also fix regression of mobile menu * use i18n * better api * enable test coverage in ui * Add tests * use common utils to update and get text editor * updgrade mermaid-to-excalidraw to support sequence diagrams * fix test * don't update arrow container height anytime in when redrawing text bounding box * increase size limit * increase size limit of vendor to 900kb * use openDialog for mermaid * upgrade mermaid-to-excalidraw * update frame id post generation * upgrade mermaid-to-excalidraw to add entity codes support * update size limit * upgrade mermaid-to-excalidraw package with frame api changes * upgrade mermaid-to-excalidraw to remove directive and use config * don't highlight mermaid tool and remove unused api setSelection * stop using loading state to update text area * move some styling to scss * review fixes * use modifiedTableIcon props and remove stale snap * css * dialog css * fix snap * use dialog border * change mermaidToExcalidrawLib to state * better styling of errors * make modal bigger * fix mobile * update snaps * fix icon color * fix dark mode insert button color * horizontally center spinner * render canvas conditionally on loaded state * rd tweaks * tweak class names * remove max height * typo in example * upgrade mermaid-to-excalidraw * simplify error state * fix height & overflow on vertical breakpoint * fix lint * show errors in overlay * set textarea font family * reduce opacity * update snap * upgrade to mermaid 0.1.2 --------- Co-authored-by: dwelle <luzar.david@gmail.com>
184 lines
3.4 KiB
SCSS
184 lines
3.4 KiB
SCSS
@import "open-color/open-color.scss";
|
|
@import "../css/variables.module";
|
|
|
|
.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;
|
|
|
|
&__hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
@include toolbarButtonColorStates;
|
|
}
|
|
|
|
.ToolIcon--plain {
|
|
background-color: transparent;
|
|
.ToolIcon__icon {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
}
|
|
}
|
|
|
|
.ToolIcon_type_radio,
|
|
.ToolIcon_type_checkbox {
|
|
position: absolute;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.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);
|
|
|
|
& + .ToolIcon__label {
|
|
margin-inline-start: 0;
|
|
}
|
|
|
|
svg {
|
|
position: relative;
|
|
width: var(--default-icon-size);
|
|
height: var(--default-icon-size);
|
|
color: var(--icon-fill-color);
|
|
}
|
|
}
|
|
|
|
.ToolIcon__label {
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--icon-fill-color);
|
|
font-family: var(--ui-font);
|
|
margin: 0 0.8em;
|
|
text-overflow: ellipsis;
|
|
|
|
.Spinner {
|
|
margin-left: 0.6em;
|
|
}
|
|
}
|
|
|
|
.ToolIcon_size_small .ToolIcon__icon {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.ToolIcon_type_button,
|
|
.Modal .ToolIcon_type_button,
|
|
.ToolIcon_type_button {
|
|
padding: 0;
|
|
border: none;
|
|
margin: 0;
|
|
font-size: inherit;
|
|
background-color: initial;
|
|
|
|
&:focus-visible {
|
|
box-shadow: 0 0 0 2px var(--focus-highlight-color);
|
|
}
|
|
|
|
&.ToolIcon--selected {
|
|
background-color: var(--button-gray-2);
|
|
|
|
&:active {
|
|
background-color: var(--button-gray-3);
|
|
}
|
|
}
|
|
|
|
&:active {
|
|
background-color: var(--button-gray-3);
|
|
}
|
|
|
|
&--show {
|
|
visibility: visible;
|
|
}
|
|
|
|
&--hide {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
.ToolIcon_type_floating {
|
|
background-color: transparent;
|
|
|
|
&:hover {
|
|
background-color: transparent;
|
|
}
|
|
|
|
&:active {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.ToolIcon__icon {
|
|
background-color: var(--button-gray-1);
|
|
&:hover {
|
|
background-color: var(--button-gray-2);
|
|
}
|
|
&:active {
|
|
background-color: var(--button-gray-3);
|
|
}
|
|
|
|
width: 2rem;
|
|
height: 2rem;
|
|
}
|
|
}
|
|
|
|
.ToolIcon__keybinding {
|
|
position: absolute;
|
|
bottom: 2px;
|
|
right: 3px;
|
|
font-size: 0.625rem;
|
|
color: var(--keybinding-color);
|
|
font-family: var(--ui-font);
|
|
user-select: none;
|
|
}
|
|
|
|
.unlocked-icon {
|
|
:root[dir="ltr"] & {
|
|
left: 2px;
|
|
}
|
|
|
|
:root[dir="rtl"] & {
|
|
right: 2px;
|
|
}
|
|
}
|
|
|
|
.App-toolbar-container {
|
|
.ToolIcon__icon {
|
|
width: var(--lg-button-size);
|
|
height: var(--lg-button-size);
|
|
|
|
@media screen and (max-width: 450px) {
|
|
width: 1.8rem;
|
|
height: 1.8rem;
|
|
}
|
|
@media screen and (max-width: 379px) {
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
}
|
|
|
|
svg {
|
|
width: var(--lg-icon-size);
|
|
height: var(--lg-icon-size);
|
|
}
|
|
}
|
|
|
|
.ToolIcon__LaserPointer .ToolIcon__icon {
|
|
width: var(--default-button-size);
|
|
height: var(--default-button-size);
|
|
}
|
|
}
|
|
}
|