You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
success/packages/excalidraw
David Luzar c8f4a4cb41
feat: add `props.onDuplicate` (#9117)
* feat: add `props.onDuplicate`

* docs

* clarify docs

* fix docs
2 weeks ago
..
actions feat: add `props.onDuplicate` (#9117) 2 weeks ago
components feat: add `props.onDuplicate` (#9117) 2 weeks ago
context feat: update jotai (#9015) 1 month ago
css feat: tweak slider colors to be more muted (#9076) 3 weeks ago
data fix: hyperlinks html entities (#9063) 3 weeks ago
element fix: IFrame and elbow arrow interaction fix (#9101) 2 weeks ago
fonts fix: fonts not loading on export (again) (#9064) 3 weeks ago
hooks feat: update jotai (#9015) 1 month ago
locales feat: add action to wrap selected items in a frame (#9005) 1 month ago
renderer perf: reduce unnecessary frame clippings (#8980) 1 month ago
scene fix: IFrame and elbow arrow interaction fix (#9101) 2 weeks ago
subset fix: Comic Shanns issues, new fonts structure (#8641) 4 months ago
tests fix: duplicating/removing frame while children selected (#9079) 2 weeks ago
.gitignore docs: add next js with app router example (#7552) 1 year ago
.size-limit.json build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
CHANGELOG.md feat: add first-class support for CJK (#8530) 4 months ago
README.md build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
align.ts fix: align arrows bound to elements excalidraw#8833 (#8998) 4 weeks ago
analytics.ts feat: subset font glyphs for SVG export (#8384) 6 months ago
animated-trail.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
animation-frame-handler.ts feat: add eraser tool trail (#7511) 1 year ago
appState.ts feat: in canvas links between shapes (#8812) 3 months ago
binaryheap.ts feat: Orthogonal (elbow) arrows for diagramming (#8299) 7 months ago
change.ts feat: image cropping (#8613) 4 months ago
charts.test.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
charts.ts refactor: `point()` -> `pointFrom()` to fix compiler issue (#8578) 5 months ago
clients.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
clipboard.test.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
clipboard.ts fix: right-click paste for images in clipboard (Issue #8826) (#8845) 2 months ago
colors.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
constants.ts fix: duplicating/removing frame while children selected (#9079) 2 weeks ago
css.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
cursor.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
deburr.ts feat: command palette (#7804) 11 months ago
distribute.ts fix: make getBoundTextElement and related helpers pure (#7601) 1 year ago
editor-jotai.ts feat: update jotai (#9015) 1 month ago
emitter.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
env.cjs build: Welcome ESM and Bye Bye UMD (#7441) 1 year ago
errors.ts feat: export scene to e+ on workspace creation/redemption (#8514) 4 months ago
fractionalIndex.ts feat: Elbow arrow segment fixing & positioning (#8952) 1 month ago
frame.test.tsx fix: duplicating/removing frame while children selected (#9079) 2 weeks ago
frame.ts feat: box select frame & children to allow resizing at the same time (#9031) 3 weeks ago
gesture.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
global.d.ts feat: multiple fonts fallbacks (#8286) 7 months ago
groups.ts feat: do not delete frame children on frame delete (#9011) 1 month ago
history.ts chore: Refactor and remove scene from elbow arrow generation (#8342) 7 months ago
i18n.ts feat: update jotai (#9015) 1 month ago
index-node.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
index.tsx feat: add `props.onDuplicate` (#9117) 2 weeks ago
keys.test.ts fix: undo/redo action for international keyboard layouts (#8649) 4 months ago
keys.ts fix: undo/redo action for international keyboard layouts (#8649) 4 months ago
laser-trails.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
mermaid.test.ts feat: improve mermaid detection on paste (#8287) 7 months ago
mermaid.ts feat: improve mermaid detection on paste (#8287) 7 months ago
package.json fix: duplicating/removing frame while children selected (#9079) 2 weeks ago
points.ts chore: Unify math types, utils and functions (#8389) 6 months ago
polyfill.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
pwacompat.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
queue.test.ts feat: store library to IndexedDB & support storage adapters (#7655) 12 months ago
queue.ts build: enable consistent type imports eslint rule (#7992) 10 months ago
random.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
react-app-env.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
reactUtils.ts fix: decouple react and react-dom imports from utils and make it treeshakeable (#7527) 1 year ago
shapes.tsx refactor: `point()` -> `pointFrom()` to fix compiler issue (#8578) 5 months ago
snapping.ts refactor: `point()` -> `pointFrom()` to fix compiler issue (#8578) 5 months ago
store.ts feat: image cropping (#8613) 4 months ago
tsconfig.json docs: add next js with app router example (#7552) 1 year ago
types.ts feat: add `props.onDuplicate` (#9117) 2 weeks ago
utility-types.ts fix: duplicating/removing frame while children selected (#9079) 2 weeks ago
utils.ts fix: duplicating/removing frame while children selected (#9079) 2 weeks ago
visualdebug.ts feat: Elbow arrow segment fixing & positioning (#8952) 1 month ago
vite-env.d.ts refactor: remove unused env variable (#8457) 6 months ago
workers.ts fix: Comic Shanns issues, new fonts structure (#8641) 4 months ago
zindex.ts fix: z-index change by one causes app to freeze (#8314) 7 months 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

Try here.

Integration

Head over to the docs

API

Head over to the docs

Contributing

Head over to the docs