David Luzar
9ba7ca3845
feat: hide penMode button on reload if not enabled ( #4992 )
2022-03-30 10:53:22 +02:00
zsviczian
734bb4d2ed
fix: decouple actionFinalize and actionErase ( #4984 )
...
* Update actionCanvas.tsx
* Update actionFinalize.tsx
* lint
* remove Escape trigger from actionErase
* revert to lastActiveTool only if coming from eraser tool
* unrelated: fix restoring `appState.activeTool`
* one more restoring fix
* fix tests
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-29 21:37:09 +02:00
David Luzar
f2d2f97546
fix: using stale state when switching tools ( #4989 )
2022-03-29 17:00:19 +02:00
Aakansha Doshi
2fa69ddc32
refactor: move elementLocked to activeTool.locked ( #4983 )
...
* refactor: move elementLocked to activeTool.locked
* fix
* fix snap
* update docs
* Update src/packages/excalidraw/CHANGELOG.md
* revert
* make lastActiveToolBeforeEraser required and nullable
* fix snap
2022-03-29 17:10:19 +05:30
zsviczian
1331cffe93
feat: Eraser toggle to switch back to the previous tool ( #4981 )
...
* add typeBeforeEraser
* ESC to switch to lastActiveToolBeforeEraser
2022-03-28 21:33:32 +02:00
David Luzar
f242721f3b
chore: add ga for most actions ( #4829 )
2022-03-28 14:46:40 +02:00
zsviczian
e940aeb1a3
fix: updateWysiwygStyle updatedElement is undefined TypeError ( #4980 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-28 00:14:04 +02:00
connorhanafee
580e719580
fix: adding check for link length to prevent early return ( #4982 )
...
Co-authored-by: Connor Hanafee <connorp@Connors-MacBook-Pro.local>
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-27 23:50:41 +02:00
Aakansha Doshi
127af9db23
refactor: rename elementType to activeTool and make it an object ( #4968 )
...
* refactor: rename elementType to activeTool
* update docs
* fix snap
* update activeToll to be an object and review fixes
* fix tests
* fix
2022-03-25 20:46:01 +05:30
Aakansha Doshi
2209e2c1e8
fix: show link icon for bound text containers ( #4960 )
2022-03-23 00:45:08 +05:30
zsviczian
ed31980f84
feat: Save penDetected and penMode, and detect pen already on ToolButton click ( #4955 )
...
* save penMode and penDetected to browser cache
* added on pointer down
* added onPointerDown
* factor out and merge handlers
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-22 13:29:27 +01:00
Aakansha Doshi
db28595302
fix: cancel erase elements on pointer up if eraser is not active on pointer up ( #4956 )
...
* fix: erase elements on pointer up if present
* cancel erase on pointer up if eraser is not active
2022-03-22 17:14:07 +05:30
Aakansha Doshi
cded1cd63d
fix: restore original opacities when alt pressed while erasing ( #4954 )
2022-03-22 16:40:28 +05:30
Aakansha Doshi
8e447b4c32
fix: don't bind text to container if already present ( #4946 )
...
* fix: don't bind text to container if already present
* Add specs and update condition
2022-03-22 15:32:49 +05:30
dependabot[bot]
e29d3fc5e6
chore(deps-dev): bump mini-css-extract-plugin ( #4872 )
...
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin ) from 2.4.6 to 2.6.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases )
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.4.6...v2.6.0 )
---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-22 13:07:14 +05:30
Aakansha Doshi
625ecc64ed
feat: Support binding text to container via context menu ( #4935 )
...
* feat: Support binding text to closest container
* Bind text to selected container
* show bind action in canvas and selected container after binding
* allow binding if container has no bound text
* fix
* move logic to show/hide bind actions to contextMenuPredicate
* don't show bind action when clicking on bounding box and not elemnts
2022-03-21 17:54:54 +05:30
Aakansha Doshi
ceb43ed8fb
fix: erase all elements which are hit with single point click ( #4934 )
2022-03-17 21:03:59 +05:30
zsviczian
192debd829
fix: Add multiElement-edit finalize action to Desktop (currently only visible in Mobile view) ( #4764 )
...
* add finalize action to Desktop UI
* Update LayerUI.tsx
* add size to panel component
* finzalize button style
* add finalize button
* changed isMobile to DeviceInfo, added isTouchScreen
* cleanup
* rename deviceInfo to deviceType
* rename deviceInfo to deviceType
* added updateObject
* Update App.tsx
2022-03-16 15:59:30 +01:00
Aakansha Doshi
1cfb4dfd8b
feat: Map shortcut O to ellipse and Add eraser shortcut E ( #4930 )
...
* feat: Add erase shortcut Shift+E
* map o to ellipse and E to Eraser
* fix tests
* use key
* move eraser to tools and rename shape to tools
2022-03-16 18:31:20 +05:30
dependabot[bot]
fb32886355
chore(deps-dev): bump ts-loader in /src/packages/excalidraw ( #4912 )
...
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader ) from 9.2.6 to 9.2.8.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases )
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md )
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.6...v9.2.8 )
---
updated-dependencies:
- dependency-name: ts-loader
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-16 13:25:36 +05:30
Aakansha Doshi
065df495ba
fix: Hide eraser in view mode in desktop ( #4929 )
2022-03-16 13:09:34 +05:30
Aakansha Doshi
558227f744
feat: update eraser cursor ( #4922 )
...
* feat: update eraser cursor
* fix dark theme
* check before adding active class
* use custom cursor instead of DOM manipulation
* cache canvas and redraw only when theme changes
* use oc colors
* remove
* cache preview data url
* increase linwidth
* update coords for cursor
* add white 2px outline
* improvements
* use 1px line width 6px radius for outer
* improve
2022-03-15 20:56:39 +05:30
Aakansha Doshi
6d45430344
fix: undo when erasing elements by clicking ( #4921 )
...
* fix: undo when erasing elements by clicking
* newline remove
2022-03-14 14:59:55 +05:30
dependabot[bot]
3aa0c5ebc0
chore(deps-dev): bump css-loader in /src/packages/excalidraw ( #4911 )
...
Bumps [css-loader](https://github.com/webpack-contrib/css-loader ) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases )
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v6.6.0...v6.7.1 )
---
updated-dependencies:
- dependency-name: css-loader
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-14 14:47:01 +05:30
dependabot[bot]
e940993e0e
chore(deps-dev): bump css-loader in /src/packages/utils ( #4914 )
...
Bumps [css-loader](https://github.com/webpack-contrib/css-loader ) from 6.5.1 to 6.7.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases )
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v6.5.1...v6.7.1 )
---
updated-dependencies:
- dependency-name: css-loader
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-14 14:45:33 +05:30
dependabot[bot]
8f90aeb8d5
chore(deps-dev): bump ts-loader in /src/packages/utils ( #4913 )
...
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader ) from 9.2.6 to 9.2.8.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases )
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md )
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v9.2.6...v9.2.8 )
---
updated-dependencies:
- dependency-name: ts-loader
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-14 14:45:02 +05:30
Aakansha Doshi
e92d133973
fix: undo when erasing ( #4900 )
2022-03-11 20:44:17 +05:30
David Luzar
b682d88167
fix: incorrectly erasing on mobile ( #4899 )
...
* fix: incorrectly erasing on mobile
* reintroduce fix for erasing on single-point click
* fix snaps
2022-03-11 15:45:59 +01:00
Aakansha Doshi
7daf1a7944
feat: Add Eraser 🎉 ( #4887 )
...
* feat: Add Eraser 🎉
* Eraser working
* remove unused state
* fix
* toggle eraser
* Support deselect with Alt/Option
* rename actionDelete -> actionErase
* Add util isEraserActive
* show eraser in mobile
* render eraser conditionally in mobile
* use selection if eraser in local storage state
* Add sampling to erase accurately
* use pointerDownState
* set eraser to false in AllowedExcalidrawElementTypes
* rename/reword fixes
* don't use updateScene
* handle bound text when erasing
* fix hover state in mobile
* consider all hitElements instead of a single
* code improvements
* revert to select if eraser active and elements selected
* show eraser in zenmode
* erase element when clicked on element while eraser active
* set groupIds to empty when eraser active
* fix test
* remove dragged distance
2022-03-11 19:53:42 +05:30
Excalidraw Bot
5c0eff50a0
chore: Update translations from Crowdin ( #4729 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-09 12:21:26 +01:00
Milos Vetesnik
19056d635b
feat: added optional REACT_APP_WS_SERVER_URL for forks usecases ( #4889 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-09 12:13:59 +01:00
Tom Milligan
4d5f00ff08
fix: don't crash on drop highlighted text onto canvas ( #4890 )
2022-03-09 11:51:13 +01:00
David Luzar
20de06ef50
fix: paste styles shortcut ( #4886 )
...
Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com>
2022-03-09 10:59:44 +01:00
zsviczian
1849ff6ee2
fix: freedraw element's background fill color missing from SVG when exporting with package API exportToSvg() ( #4871 )
2022-03-06 23:35:16 +01:00
Milos Vetesnik
6765fc16be
fix: improve pointer syncing performance ( #4883 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-06 22:11:14 +00:00
Milos Vetesnik
5ca4f5bbf4
feat: rewrite collab server connecting ( #4881 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-06 22:43:02 +01:00
David Luzar
9392ec276d
fix: collab room initialization ( #4882 )
2022-03-06 15:59:56 +01:00
Aakansha Doshi
b26e4fcf99
build: support runtime React Jsx in @excalidraw/utils ( #4866 )
...
* build: support runtime React Jsx
* revert version
* upgrade
2022-03-04 10:58:02 +05:30
David Luzar
45f3410da8
build: release @excalidraw/utils 0.1.1 ( #4862 )
2022-03-03 14:59:08 +01:00
David Luzar
94b387ef7b
fix: ensure verticalAlign properties not shown when no element selected ( #4860 )
...
* fix: ensure verticalAlign properties not shown when no element selected
* show verticalAlign prop if selection contains at least one applicable element
* simplify
2022-03-02 23:56:20 +01:00
David Luzar
6d0716eb6b
fix: binding text to non-bindable containers and not always preferring selection ( #4655 )
2022-03-02 17:04:09 +01:00
Aakansha Doshi
8e26d5b500
feat: support vertical text align for bound containers ( #4852 )
...
* feat: support vertical text align for bound containers
* update icons
* use const
* fix lint
* rename to and show when text editor active
* don't update vertical align if not center
* fix svgs
* fix y coords when vertical align bottm
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-03-02 20:06:07 +05:30
luzpaz
c5a7723185
chore: fix various typos ( #4857 )
...
Found via `codespell -q 3 -S ./src/locales,./yarn.lock,./src/packages/excalidraw/yarn.lock -L afterall,doubleclick,originaly,reenable,whats,sur`
2022-03-02 11:37:12 +05:30
Aakansha Doshi
49172ac2d3
feat: support custom colors 🎉 ( #4843 )
...
* feat: support custom colors 🎉
* remove canvasBackground
* fix tests
* Remove custom color when elements deleted
* persist custom color across sessions
* Choose 5 latest custom colors when populating from elements
* fix tests
* styling
* don't use up/down arrow for custom colors
* Always push latest color to the begining
* don't check if valid in custom color
* calculate custom colors on color picker open
* revert unnecessary changes
* remove newlines
* simplify state
* tweak label
* fix custom color shortcuts throwing if color not exists
* fix
* early return
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-02-28 19:04:26 +05:30
Aakansha Doshi
d9f49ffd67
fix: Don't show align icons for single bound container element ( #4846 )
...
* fix: Don't show align icons for single bound container element
* check 2nd element as well
2022-02-28 11:08:28 +05:30
Jesse Jurman
46e43baad1
feat: Support Links in Exported SVG ( #4791 )
2022-02-25 21:42:10 +01:00
Aakansha Doshi
bd35b682fa
fix: redraw text bounding box when pasting styles ( #4845 )
2022-02-25 15:36:56 +05:30
Aakansha Doshi
1acfaf6b6e
feat: Scale font size when bound text containers resized with shift pressed ( #4828 )
...
* feat: Scale font size when bound text containers resized with shift pressed
* revert fontsize once shift pressed/released after resize
* make slightly more typesafe
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-02-22 18:45:59 +05:30
Aakansha Doshi
5cf7087754
fix: restore cursor position after bound text container value updated ( #4836 )
...
* fix: restore cursor position after bound text container value updated
* only restore cursor when the cursor is not at the end of the line
* compute diff before setting the cursor
2022-02-22 18:24:06 +05:30
Aakansha Doshi
21e9fcb2f5
chore: Add tracking for hyperlinks ( #4703 )
...
* chore: Add tracking for hyperlinks
* update
* fix
* remove
* tweak
* disable ga logging in dev again
* add logging for hyperlink `edit` & support for tracking in manager
* event label tweaks
* fix tests & make more typesafe
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-02-21 17:44:28 +05:30