* new collision api * isPointOnShape * removed redundant code * new collision methods in app * curve shape takes starting point * clean up geometry * curve rotation * freedraw * inside curve * improve ellipse inside check * ellipse distance func * curve inside * include frame name bounds * replace previous private methods for getting elements at x,y * arrow bound text hit detection * keep iframes on top * remove dependence on old collision methods from app * remove old collision functions * move some hit functions outside of app * code refactor * type * text collision from inside * fix context menu test * highest z-index collision * fix 1px away binding test * strictly less * remove unused imports * lint * 'ignore' resize flipping test * more lint fix * skip 'flips while resizing' test * more test * fix merge errors * fix selection in resize test * added a bit more comment --------- Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com> |
10 months ago | |
---|---|---|
.. | ||
actions | 10 months ago | |
components | 10 months ago | |
context | 1 year ago | |
css | 11 months ago | |
data | 11 months ago | |
element | 10 months ago | |
hooks | 11 months ago | |
locales | 11 months ago | |
renderer | 10 months ago | |
scene | 11 months ago | |
tests | 10 months ago | |
.gitignore | 1 year ago | |
.size-limit.json | 1 year ago | |
CHANGELOG.md | 11 months ago | |
README.md | 1 year ago | |
align.ts | 1 year ago | |
analytics.ts | 1 year ago | |
animated-trail.ts | 1 year ago | |
animation-frame-handler.ts | 1 year ago | |
appState.ts | 12 months ago | |
charts.test.ts | 1 year ago | |
charts.ts | 1 year ago | |
clients.ts | 11 months ago | |
clipboard.test.ts | 1 year ago | |
clipboard.ts | 12 months ago | |
colors.ts | 1 year ago | |
constants.ts | 11 months ago | |
css.d.ts | 1 year ago | |
cursor.ts | 1 year ago | |
deburr.ts | 11 months ago | |
distribute.ts | 1 year ago | |
emitter.ts | 1 year ago | |
env.cjs | 1 year ago | |
errors.ts | 1 year ago | |
frame.test.tsx | 1 year ago | |
frame.ts | 12 months ago | |
ga.ts | 1 year ago | |
gadirections.ts | 1 year ago | |
galines.ts | 1 year ago | |
gapoints.ts | 1 year ago | |
gatransforms.ts | 1 year ago | |
gesture.ts | 1 year ago | |
global.d.ts | 1 year ago | |
groups.ts | 1 year ago | |
history.ts | 1 year ago | |
i18n.ts | 1 year ago | |
index-node.ts | 1 year ago | |
index.tsx | 11 months ago | |
jotai.ts | 1 year ago | |
keys.ts | 11 months ago | |
laser-trails.ts | 11 months ago | |
math.test.ts | 1 year ago | |
math.ts | 1 year ago | |
package.json | 11 months ago | |
points.ts | 1 year ago | |
polyfill.ts | 1 year ago | |
pwacompat.d.ts | 1 year ago | |
queue.test.ts | 11 months ago | |
queue.ts | 11 months ago | |
random.ts | 1 year ago | |
react-app-env.d.ts | 1 year ago | |
reactUtils.ts | 1 year ago | |
shapes.tsx | 1 year ago | |
snapping.ts | 12 months ago | |
tsconfig.json | 1 year ago | |
types.ts | 10 months ago | |
utility-types.ts | 11 months ago | |
utils.ts | 11 months ago | |
vite-env.d.ts | 1 year ago | |
zindex.ts | 1 year ago |
README.md
Excalidraw
Excalidraw is exported as a component to directly embed in your projects.
Installation
You can use npm
npm install react react-dom @excalidraw/excalidraw
or via yarn
yarn add react react-dom @excalidraw/excalidraw
After installation you will see a folder excalidraw-assets
and excalidraw-assets-dev
in dist
directory which contains the assets needed for this app in prod and dev mode respectively.
Move the folder excalidraw-assets
and excalidraw-assets-dev
to the path where your assets are served.
By default it will try to load the files from https://unpkg.com/@excalidraw/excalidraw/dist/
If you want to load assets from a different path you can set a variable window.EXCALIDRAW_ASSET_PATH
depending on environment (for example if you have different URL's for dev and prod) to the url from where you want to load the assets.
Note
If you don't want to wait for the next stable release and try out the unreleased changes you can use @excalidraw/excalidraw@next
.
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
Integration
Head over to the docs
API
Head over to the docs
Contributing
Head over to the docs