
* lasso without 'real' shape detection * select a single linear el * improve ux * feed segments to worker * simplify path threshold adaptive to zoom * add a tiny threshold for checks * refactor code * lasso tests * fix: ts * do not capture lasso tool * try worker-loader in next config * update config * refactor * lint * feat: show active tool when using "more tools" * keep lasso if selected from toolbar * fix incorrect checks for resetting to selection * shift for additive selection * bound text related fixes * lint * keep alt toggled lasso selection if shift pressed * fix regression * fix 'dead' lassos * lint * use workerpool and polyfill * fix worker bundled with window related code * refactor * add file extension for worker constructor error * another attempt at constructor error * attempt at build issue * attempt with dynamic import * test not importing from math * narrow down imports * Reusing existing workers infrastructure (fallback to the main thread, type-safety) * Points on curve inside the shared chunk * Give up on experimental code splitting * Remove potentially unnecessary optimisation * Removing workers as the complexit is much worse, while perf. does not seem to be much better * fix selecting text containers and containing frames together * render fill directly from animated trail * do not re-render static when setting selected element ids in lasso * remove unnecessary property * tweak trail animation * slice points to remove notch * always start alt-lasso from initial point * revert build & worker changes (unused) * remove `lasso` from `hasStrokeColor` * label change * remove unused props * remove unsafe optimization * snaps --------- Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com> Co-authored-by: Marcel Mraz <marcel@excalidraw.com>
Excalidraw
Excalidraw is exported as a component to be directly embedded in your project.
Installation
Use npm
or yarn
to install the package.
npm install react react-dom @excalidraw/excalidraw
# or
yarn add react react-dom @excalidraw/excalidraw
Note
: If you don't want to wait for the next stable release and try out the unreleased changes, use
@excalidraw/excalidraw@next
.
Self-hosting fonts
By default, Excalidraw will try to download all the used fonts from the CDN.
For self-hosting purposes, you'll have to copy the content of the folder node_modules/@excalidraw/excalidraw/dist/prod/fonts
to the path where your assets should be served from (i.e. public/
directory in your project). In that case, you should also set window.EXCALIDRAW_ASSET_PATH
to the very same path, i.e. /
in case it's in the root:
<script>window.EXCALIDRAW_ASSET_PATH = "/";</script>
Dimensions of Excalidraw
Excalidraw takes 100% of width
and height
of the containing block so make sure the container in which you render Excalidraw has non zero dimensions.
Demo
Go to CodeSandbox example.
Integration
Head over to the docs.
API
Head over to the docs.
Contributing
Head over to the docs.