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
Aakansha Doshi 4f0a2a9593
docs: add next js with app router example (#7552)
* move the existing example to with-script-in-browser

* Add example with next js app router

* disable ssr for excalidraw client comp

* typo

* update output dir

* don't include nextjs example in tsconfig

* remove meta.json

* lint

* remove example.ts

* port

* move the examples outside packages and use the deps as workspaces in examples

* update gitignore

* fix example

* update path of build dir

* fix

* fix scripts

* try local path

* fix

* update commands

* fix

* fix

* fix script

* skip ts

* disable ts

* add vercel.json

* install

* update tsconfig

* fix lint

* remove console.log

* lets see if this works

* revert

* remove ts nocheck

* add types and some utils in nextjs example

* fix types

* updatw example and remove nextjs dynamic syntax so we don't import excal twice

* move both examples to workspaces and create generic example to be used by browser and next js both

* copy the static assets to nextjs

* fix ts config

* render custom menu items

* fix custom footer

* fix types in browser example

* use regular imports for importing excal and import it using dynamic next js in app router instead

* Add example for pages router

* fix css discrepancies

* fix css

* configure output dir

* fix

* fix css

* rename to with-nextjs

* move components to examples/excalidraw/components
1 year ago
..
actions refactor: decoupling global Scene state part-1 (#7577) 1 year ago
assets build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
components docs: add next js with app router example (#7552) 1 year ago
context build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
css build: Welcome ESM and Bye Bye UMD (#7441) 1 year ago
data refactor: decoupling global Scene state part-1 (#7577) 1 year ago
element refactor: decoupling global Scene state part-1 (#7577) 1 year ago
hooks feat: move utils to utils package and make @excalidraw/utils a workspace (#7432) 1 year ago
locales feat: update X brand logo & tweak labels (#7518) 1 year ago
renderer docs: add next js with app router example (#7552) 1 year ago
scene fix: revert `mapElementIds` flag removal (#7594) 1 year ago
tests fix: filter out elements not overlapping frame on paste (#7591) 1 year 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: remove `ExcalidrawEmbeddableElement.validated` flag (#7539) 1 year ago
README.md build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
align.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
analytics.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
animated-trail.ts feat: add eraser tool trail (#7511) 1 year ago
animation-frame-handler.ts feat: add eraser tool trail (#7511) 1 year ago
appState.ts feat: follow mode (#6848) 1 year ago
charts.test.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
charts.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
clients.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
clipboard.test.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
clipboard.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
colors.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
constants.ts docs: add next js with app router example (#7552) 1 year ago
css.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
cursor.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
distribute.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
emitter.ts feat: support pen erasing (#7496) 1 year ago
env.cjs build: Welcome ESM and Bye Bye UMD (#7441) 1 year ago
errors.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
frame.test.tsx build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
frame.ts refactor: decoupling global Scene state part-1 (#7577) 1 year ago
ga.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
gadirections.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
galines.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
gapoints.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
gatransforms.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
gesture.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
global.d.ts refactor: editor events sub/unsub refactor (#7483) 1 year ago
groups.ts refactor: decoupling global Scene state part-1 (#7577) 1 year ago
history.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
i18n.ts build: Welcome ESM and Bye Bye UMD (#7441) 1 year ago
index-node.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
index.tsx docs: add next js with app router example (#7552) 1 year ago
jotai.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
keys.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
laser-trails.ts feat: add eraser tool trail (#7511) 1 year ago
math.test.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
math.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
package.json fix: move default to last so its compatible with nextjs (#7561) 1 year ago
points.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year 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
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 build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
snapping.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
tsconfig.json docs: add next js with app router example (#7552) 1 year ago
types.ts feat: remove `ExcalidrawEmbeddableElement.validated` flag (#7539) 1 year ago
utility-types.ts refactor: decoupling global Scene state part-1 (#7577) 1 year ago
utils.ts refactor: decoupling global Scene state part-1 (#7577) 1 year ago
vite-env.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 1 year ago
zindex.ts build: decouple package deps and introduce yarn workspaces (#7415) 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

Try here.

Integration

Head over to the docs

API

Head over to the docs

Contributing

Head over to the docs