excalidraw/packages/excalidraw
Márk Tolmács c641860cb1
fix: CVE-2023-45133 (#7988)
* Upgrade @babel/* versions to 7.24 to ensure non-vulnerable Babel versions
* Pinning React version to 18.2.0 exactly, avoiding test-utils type version clashes
* Fix warning message on yarn start
* Moving react to peer dependencies
* Moving app dependencies from workspace into app
* Bump vitest to 1.6.0 to fix history.test.tsx breaking

---------

Signed-off-by: Mark Tolmacs <mark@lazycat.hu>
2024-08-02 14:44:38 +02:00
..
actions feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
components feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
context build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
css feat: introduce font picker (#8012) 2024-07-25 18:55:55 +02:00
data fix: throttle fractional indices validation (#8306) 2024-08-02 11:55:15 +02:00
element fix: allow binding elbow arrows to frame children (#8309) 2024-08-01 19:40:54 +02:00
fonts fix: skip registering font faces for local fonts (#8303) 2024-08-01 11:32:16 +02:00
hooks build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
locales feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
renderer feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
scene fix: throttle fractional indices validation (#8306) 2024-08-02 11:55:15 +02:00
tests fix: throttle fractional indices validation (#8306) 2024-08-02 11:55:15 +02:00
.gitignore docs: add next js with app router example (#7552) 2024-01-24 17:07:54 +05:30
.size-limit.json build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
align.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
analytics.ts fix: log allowed events (#8224) 2024-07-09 12:16:14 +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: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
binaryheap.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
change.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
CHANGELOG.md feat: introduce font picker (#8012) 2024-07-25 18:55:55 +02:00
charts.test.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
charts.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +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 build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
colors.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
constants.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02: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
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: fractional indexing (#7359) 2024-04-04 13:51:11 +01:00
fractionalIndex.ts fix: throttle fractional indices validation (#8306) 2024-08-02 11:55:15 +02:00
frame.test.tsx build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
frame.ts feat: remove automatic frame naming (#8302) 2024-07-31 13:56:11 +02:00
ga.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
gadirections.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
galines.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
gapoints.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
gatransforms.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
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: editable element stats (#6382) 2024-06-12 19:49:46 +02:00
history.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
i18n.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
index-node.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
index.tsx feat: introduce font picker (#8012) 2024-07-25 18:55:55 +02:00
jotai.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
keys.ts feat: command palette (#7804) 2024-03-28 16:16:32 +00:00
laser-trails.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
math.test.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
math.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
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 fix: CVE-2023-45133 (#7988) 2024-08-02 14:44:38 +02:00
points.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
polyfill.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
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 fix: linear elements not selected on pointer up from hitting its bound text (#8285) 2024-07-27 13:02:00 +00:00
snapping.ts feat: create new text with width (#8038) 2024-05-28 15:53:52 +02:00
store.ts docs: fix updateScene storeAction default tsdoc & document types (#8048) 2024-05-22 13:40:23 +02:00
tsconfig.json docs: add next js with app router example (#7552) 2024-01-24 17:07:54 +05:30
types.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
utility-types.ts feat: store library to IndexedDB & support storage adapters (#7655) 2024-03-08 22:29:19 +01:00
utils.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 2024-08-01 18:39:03 +02:00
vite-env.d.ts fix: log allowed events (#8224) 2024-07-09 12:16:14 +02:00
zindex.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30

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