excalidraw/packages/excalidraw
2025-01-29 17:41:42 +01:00
..
actions Offline support with increments peristed and restored to / from indexedb 2025-01-29 17:41:32 +01:00
cloudflare Fix auto-reconnection & slider value sync 2025-01-29 17:41:42 +01:00
components Applying & emitting increments on undo / redo 2025-01-29 17:40:50 +01:00
context feat: update jotai (#9015) 2025-01-16 16:59:11 +01:00
css feat: canvas search (#8438) 2024-09-09 17:12:07 +02:00
data feat: allow installing libs from excal github (#9041) 2025-01-23 16:50:47 +01:00
element fix: excalidraw issue #9045 flowcharts: align attributes of new node (#9047) 2025-01-25 17:05:50 +01:00
fonts chore: simplify line-break regexes, separate text wrapping (#8715) 2024-10-30 14:24:12 +01:00
hooks Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
locales feat: add action to wrap selected items in a frame (#9005) 2025-01-13 15:03:56 +00:00
renderer Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
scene feat: box select frame & children to allow resizing at the same time (#9031) 2025-01-28 22:10:16 +01:00
subset Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
sync Custom room, various fixes 2025-01-29 17:41:42 +01:00
tests Custom room, various fixes 2025-01-29 17:41:42 +01:00
.gitignore WIP sync client 2025-01-29 17:38:03 +01:00
.size-limit.json build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
align.ts fix: align arrows bound to elements excalidraw#8833 (#8998) 2025-01-25 17:00:39 +01:00
analytics.ts feat: subset font glyphs for SVG export (#8384) 2024-08-30 22:26:06 +02:00
animated-trail.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
animation-frame-handler.ts feat: add eraser tool trail (#7511) 2024-01-11 16:10:15 +00:00
appState.ts feat: in canvas links between shapes (#8812) 2024-11-26 18:53:25 +01:00
binaryheap.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
change.ts Don't strip seed 2025-01-29 17:41:42 +01:00
CHANGELOG.md feat: add first-class support for CJK (#8530) 2024-10-17 20:14:17 +02:00
charts.test.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
charts.ts refactor: point() -> pointFrom() to fix compiler issue (#8578) 2024-10-01 21:27:17 +02:00
clients.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
clipboard.test.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
clipboard.ts fix: right-click paste for images in clipboard (Issue #8826) (#8845) 2024-12-10 20:10:34 +00:00
colors.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
constants.ts fix: right-click paste for images in clipboard (Issue #8826) (#8845) 2024-12-10 20:10:34 +00:00
css.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
cursor.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
deburr.ts feat: command palette (#7804) 2024-03-28 16:16:32 +00:00
distribute.ts fix: make getBoundTextElement and related helpers pure (#7601) 2024-01-26 11:29:07 +05:30
editor-jotai.ts feat: update jotai (#9015) 2025-01-16 16:59:11 +01:00
emitter.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
env.cjs build: Welcome ESM and Bye Bye UMD (#7441) 2024-01-01 20:18:44 +05:30
errors.ts feat: export scene to e+ on workspace creation/redemption (#8514) 2024-11-04 22:35:45 +00:00
fractionalIndex.ts feat: Elbow arrow segment fixing & positioning (#8952) 2025-01-17 18:07:03 +01:00
frame.test.tsx chore: bump @testing-library/react 12.1.5 -> 16.0.0 (#8322) 2024-08-06 15:17:42 +02:00
frame.ts feat: box select frame & children to allow resizing at the same time (#9031) 2025-01-28 22:10:16 +01:00
gesture.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
global.d.ts feat: multiple fonts fallbacks (#8286) 2024-07-30 10:34:40 +02:00
groups.ts feat: do not delete frame children on frame delete (#9011) 2025-01-14 21:08:25 +01:00
history.ts Offline support with increments peristed and restored to / from indexedb 2025-01-29 17:41:32 +01:00
i18n.ts feat: update jotai (#9015) 2025-01-16 16:59:11 +01:00
index-node.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
index.tsx Expose store, a bit 2025-01-29 17:37:55 +01:00
keys.test.ts fix: undo/redo action for international keyboard layouts (#8649) 2024-10-21 17:08:39 +02:00
keys.ts fix: undo/redo action for international keyboard layouts (#8649) 2024-10-21 17:08:39 +02:00
laser-trails.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
mermaid.test.ts feat: improve mermaid detection on paste (#8287) 2024-07-27 12:36:54 +02:00
mermaid.ts feat: improve mermaid detection on paste (#8287) 2024-07-27 12:36:54 +02:00
package.json Various sync & time travel fixes 2025-01-29 17:41:42 +01:00
points.ts chore: Unify math types, utils and functions (#8389) 2024-09-02 22:23:38 +00:00
polyfill.ts Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
pwacompat.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
queue.test.ts feat: store library to IndexedDB & support storage adapters (#7655) 2024-03-08 22:29:19 +01:00
queue.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
random.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
react-app-env.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
reactUtils.ts fix: decouple react and react-dom imports from utils and make it treeshakeable (#7527) 2024-01-08 21:01:47 +05:30
README.md build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
shapes.tsx refactor: point() -> pointFrom() to fix compiler issue (#8578) 2024-10-01 21:27:17 +02:00
snapping.ts refactor: point() -> pointFrom() to fix compiler issue (#8578) 2024-10-01 21:27:17 +02:00
store.ts Offline support with increments peristed and restored to / from indexedb 2025-01-29 17:41:32 +01:00
tsconfig.json Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
types.ts Applying & emitting increments on undo / redo 2025-01-29 17:40:50 +01:00
utility-types.ts Offline support with increments peristed and restored to / from indexedb 2025-01-29 17:41:32 +01:00
utils.ts feat: make HTML attribute sanitization stricter (#8977) 2025-01-05 21:45:04 +01:00
visualdebug.ts feat: Elbow arrow segment fixing & positioning (#8952) 2025-01-17 18:07:03 +01:00
vite-env.d.ts refactor: remove unused env variable (#8457) 2024-09-02 00:25:12 +02:00
worker-configuration.d.ts Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
worker-runtime.d.ts Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
workers.ts fix: Comic Shanns issues, new fonts structure (#8641) 2024-10-21 00:11:53 +02:00
wrangler.toml Temporarily move sync into package 2025-01-29 17:38:03 +01:00
zindex.ts fix: z-index change by one causes app to freeze (#8314) 2024-08-09 15:26:08 +02:00

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

Try here.

Integration

Head over to the docs

API

Head over to the docs

Contributing

Head over to the docs