v0.11.0
版本发布时间: 2022-02-17 21:23:06
excalidraw/excalidraw最新发布版本:v0.17.3(2024-02-09 22:08:24)
Excalidraw API
Features
-
Add
onLinkOpen
prop which will be triggered when clicked on element hyperlink if present #4694. -
Support updating library using
updateScene
API #4546. -
Introduced primary colors to the app. The colors can be overriden. Check readme on how to do so #4387.
-
exportToBlob
now automatically setsappState.exportBackground
totrue
if exporting toimage/jpeg
MIME type (to ensure that alpha channel is not compressed to black color) #4342.BREAKING CHANGE
Remove
getElementMap
util #4306. -
Changes to
exportToCanvas
util function #4321:- Add
maxWidthOrHeight?: number
attribute. -
scale
returned fromgetDimensions()
is now optional (default to1
).
- Add
-
Image support added for host PR
General notes:
- File data are encoded as DataURLs (base64) for portability reasons.
- added
getFiles()
to get currentBinaryFiles
(Record<FileId, BinaryFileData>
). It may contain files that aren't referenced by any element, so if you're persisting the files to a storage, you should compare them against stored elements.
Excalidraw app props:
- added
generateIdForFile(file: File)
optional prop so you can generate your own ids for added files. -
onChange(elements, appState, files)
prop callback is now passedBinaryFiles
as third argument. -
onPaste(data, event)
data prop should containdata.files
(BinaryFiles
) if the elements pasted are referencing new files. -
initialData
object now supports additionalfiles
(BinaryFiles
) attribute.
Other notes:
-
.excalidraw
files may now contain top-levelfiles
key in format ofRecord<FileId, BinaryFileData>
when exporting any (image) elements. - Changes were made to various export utilities exported from the package so that they take
files
, you can refer to the docs for the same.
-
Export
isLinearElement
andgetNonDeletedElements
#4072. -
Support
renderTopRightUI
in mobile UI #4065. -
Export
THEME
constant from the package so host can use this when passing the theme #4055.BREAKING CHANGE
The
Appearance
type is now removed and renamed toTheme
soTheme
type needs to be used.
Fixes
- Reset
unmounted
state on the component once component mounts to fix the mounting/unmounting repeatedly when used withuseEffect
#4682. - Panning the canvas using
mousewheel-drag
andspace-drag
now prevents the browser from scrolling the container/page #4489. - Scope drag and drop events to Excalidraw container to prevent overriding host application drag and drop events #4445.
Build
- Release preview package @excalidraw/excalidraw-preview when triggered via comment
@excalibot trigger release
-
Added an example to test and develop the package locally using
yarn start
#4488 -
Remove
file-loader
so font assets are not duplicated by webpack and use webpack asset modules for font generation #4380. -
We're now compiling to
es2017
target. Notably,async/await
is not compiled down to generators. #4341.
Excalidraw Library
This section lists the updates made to the excalidraw library and will not affect the integration.
Features
-
Show group/group and link action in mobile #4795
-
Support background fill for freedraw shapes #4610
-
Keep selected tool on canvas reset #4728
-
Make whole element clickable in view mode when it has hyperlink #4735
-
Allow any precision when zooming #4730
-
Throttle
pointermove
events per framerate #4727 -
Support hyperlinks 🔥 #4620
-
Added penMode for palm rejection #4657
-
Support unbinding bound text #4686
-
Sync local storage state across tabs when out of sync #4545
-
Support contextMenuLabel to be of function type to support dynmaic labels #4654
-
Support decreasing/increasing
fontSize
via keyboard #4553 -
Link to new LP for excalidraw plus #4549
-
Update stroke color of bounded text along with container #4541
-
Hints and shortcuts help around deep selection #4502
-
Support updating text properties by clicking on container #4499
-
Bind text to shapes when pressing enter and support sticky notes 🎉 #4343
-
Change
boundElementIds
→boundElements
#4404 -
Support selecting multiple points when editing line #4373
-
Horizontally center toolbar menu commit link
-
Add support for rounded corners in diamond #4369
-
Allow zooming up to 3000% #4358
-
Stop discarding precision when rendering #4357
-
Support Image binding #4347
-
Add
element.updated
#4070 -
Compress shareLink data when uploading to json server #4225
-
Supply
version
param when installing libraries #4305 -
Log FS abortError to console #4279
-
Add validation for website and remove validation for library item name #4269
-
Allow publishing libraries from UI #4115
-
Create confirm dialog to use instead of window.confirm #4256
-
Allow letters in IDs for storing files in backend #4224
-
Remove support for V1 unencrypted backend #4189
-
Use separate backend for local storage #4187
-
Add hint around canvas panning #4159
-
Stop using production services for development #4113
-
Add triangle arrowhead #4024
-
Add rewrite to webex landing page #4102
-
Switch collab server #4092
-
Use dialog component for clear canvas instead of window confirm #4075
Fixes
-
Rename --color-primary-chubb to --color-primary-contrast-offset and fallback to primary color if not present #4803
-
Add commits directly pushed to master in changelog #4798
-
Don't bump element version when adding files data #4794
-
Mobile link click #4742
-
ContextMenu timer & pointers not correctly reset on iOS #4765
-
Use absolute coords when rendering link popover #4753
-
Changing font size when text is not selected or edited #4751
-
Disable contextmenu on non-secondary
pen
events ortouch
#4675 -
Mobile context menu won't show on long press #4741
-
Do not open links twice #4738
-
Make link icon clickable in mobile #4736
-
Apple Pen missing strokes #4705
-
Freedraw slow movement jittery lines #4726
-
Disable three finger pinch zoom in penMode #4725
-
Remove click listener for opening popup #4700
-
Link popup position not accounting for offsets #4695
-
PenMode darkmode style #4692
-
Typing
_+
in wysiwyg not working #4681 -
Keyboard-zooming in wysiwyg should zoom canvas #4676
-
SceneCoordsToViewportCoords, jumping text when there is an offset #4413 (#4630)
-
Right-click object menu displays partially off-screen #4572 (#4631)
-
Support collaboration in bound text #4573
-
Cmd/ctrl native browser behavior blocked in inputs #4589
-
Use cached width when calculating min width during resize #4585
-
Support collaboration in bounded text #4580
-
Port for collab server and update docs #4569
-
Don't mutate the bounded text if not updated when submitted #4543
-
Prevent canvas drag while editing text #4552
-
Support shift+P for freedraw #4550
-
Prefer spreadsheet data over image #4533
-
Show text properties button states correctly for bounded text #4542
-
Rotate bounded text when container is rotated before typing #4535
-
Undo should work when selecting bounded textr #4537
-
Reduce padding to 5px for bounded text #4530
-
Bound text doesn't inherit container #4521
-
Text wrapping with grid #4505 (#4506)
-
Check if process is defined before using so it works in browser #4497
-
Pending review fixes for sticky notes #4493
-
Pasted elements except binded text once paste action is complete #4472
-
Don't select binded text when ungrouping #4470
-
Set height correctly when text properties updated while editing in container until first submit #4469
-
Align and distribute binded text in container and cleanup #4468
-
Move binded text when moving container using keyboard #4466
-
Support dragging binded text in container selected in a group #4462
-
Vertically align single line when deleting text in bounded container #4460
-
Update height correctly when updating text properties in binded text #4459
-
Align library item previews to center #4447
-
Vertically center align text when text deleted #4457
-
Vertically center the first line as user starts typing in container #4454
-
Switch cursor to center of container when adding text when dimensions are too small #4452
-
Vertically center align the bounded text correctly when zoomed #4444
-
Support updating stroke color for text by typing in color picker input #4415
-
Bound text not atomic with container when changing z-index #4414
-
Update viewport coords correctly when editing text #4416
-
Use word-break break-word only and update text editor height only when binded to container #4410
-
Husky not able to execute pre-commit on windows #4370
-
Make firebase config parsing not fail on undefined env #4381
-
Adding to library via contextmenu when no image is selected #4356
-
Export scale quality regression #4316
-
Remove
100%
height from tooltip container to fix layout issues #3980 -
Inline ENV variables when building excalidraw package #4311
-
SVG export in dark mode with embedded bitmap image #4285
-
New FS API not working on Linux #4280
-
Url -> URL for consistency #4277
-
Prevent adding images to library via contextMenu #4264
-
Account for libraries v2 when prompting #4263
-
Skia rendering issues #4200
-
Ellipse roughness when
0
#4194 -
Proper string for invalid SVG #4191
-
Images not initialized correctly #4157
-
Image-related fixes #4147
-
Rewrite collab element reconciliation to fix z-index issues #4076
-
Redirect excalidraw.com/about to for-webex.excalidraw.com #4104
-
Redirect to webex LP instead of rewrite to fix SW #4103
-
Clear image/shape cache of affected elements when adding files #4089
-
Clear
LibraryUnit
DOM on unmount #4084 -
Pasting images on firefox #4085
Refactor
Performance
- Cache approx line height in textwysiwg #4651
Build
1、 excalidraw-excalidraw-0.10.0.tgz 1.73MB