David Luzar
cd942c3e3b
feat: rewrite library state management & related refactor ( #5067 )
...
* support libraryItems promise for `updateScene()` and use `importLibrary`
* fix typing for `getLibraryItemsFromStorage()`
* remove `libraryItemsFromStorage` hack
if there was a point to it then I'm missing it, but this part will be rewritten anyway
* rewrite state handling
(temporarily removed loading states)
* add async support
* refactor and deduplicate library importing logic
* hide hints when library open
* fix snaps
* support promise in `initialData.libraryItems`
* add default to params instead
2022-04-20 14:40:03 +02:00
David Luzar
55ccd5b79b
feat: delay initial loading message & tweak design ( #5049 )
2022-04-19 19:08:13 +02:00
Excalidraw Bot
4348c55c31
chore: Update translations from Crowdin ( #4894 )
2022-04-18 00:16:43 +02:00
David Luzar
a3fbe40b26
fix: eraser cursor showing on theme change when not using eraser ( #4990 )
2022-04-17 22:47:36 +02:00
David Luzar
7431ca81d1
fix: update storage.rules
( #5020 )
2022-04-17 22:47:00 +02:00
David Luzar
4d13dbf625
feat: reconcile when saving to firebase ( #4991 )
...
* naming tweaks
* do not mark local element as duplicate when there's no remote counterpart
* merge instead of overwrite elements when saving to firebase & reconcile local state
* decouple syncing from persistence
* fix ts
* clarify doc
* fix reconciliation not removing duplicates
2022-04-17 22:40:39 +02:00
Achille Lacoin
3840e2f4e6
feat: embed scene support for png export in npm package ( #5047 )
...
* feat: embed scene support for png export in npm package
* move logic to the callback function
* add exportEmbedScene checkbox in package example
* update readme and changelog
* add PR link in changelog
* reverse sort changelog items
2022-04-16 16:30:11 +02:00
Aakansha Doshi
52d10bb41e
feat: hide trash button during collaboration ( #5037 )
...
* feat: hide trash button during collaboration
* visually hide the trash icon
* pointer events none
* tweak env docs
* fix typo
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-04-15 09:21:41 -07:00
Aakansha Doshi
96c87f920a
build: export only named exports from the package ( #5045 )
...
* build: export only named exports from the package
* update docs
* Update src/packages/excalidraw/CHANGELOG.md
* fix lint
2022-04-15 18:12:57 +05:30
zsviczian
7d4189c624
fix: Add image button not working on iPad ( #5038 )
2022-04-15 12:20:51 +02:00
David Luzar
f3e17c90d3
fix: ensure svg image dimensions are always set ( #5044 )
2022-04-15 12:05:10 +02:00
David Luzar
70b3a9de49
feat: library restoring changes ( #4995 )
...
* restore library items in all cases & refactor
* export `restoreLibraryItems` from package
* feat: rerender library menu when updating via API
* update readme & changelog
* fix changelog
2022-04-14 16:20:35 +02:00
zsviczian
bf6d0eeef7
fix: Pinch zoom in view mode ( #5001 )
2022-04-12 12:39:28 +02:00
David Luzar
5359e4fec9
feat: refactor local persistence & fix race condition on SW reload ( #5032 )
2022-04-11 22:15:49 +02:00
David Luzar
58fe639b8d
fix: select whole group on righclick & few lock-related fixes ( #5022 )
2022-04-07 17:53:55 +02:00
Tom Sherman
327ed0e2d1
feat: Element locking ( #4964 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
Co-authored-by: Zsolt Viczian <viczian.zsolt@gmail.com>
2022-04-07 13:43:29 +02:00
Achille Lacoin
c2fce6d8c4
fix: export serializeLibraryAsJSON from the package ( #5017 )
2022-04-07 12:35:44 +05:30
David Luzar
cb6b7559b4
fix: support copying PNG to clipboard on Safari ( #3746 )
2022-04-06 14:05:09 +02:00
David Luzar
77d789ed8e
fix: more copyText fixes ( #5016 )
2022-04-05 23:11:00 +02:00
Faustino Kialungila
89471094ce
fix: Copy to clipboard all text nodes as text ( #5014 )
...
* fix: Copy to clipboard all text nodes as text
* fix: support copying text even if there are selected elements that are no text
* patch: makes paragraphs betwen texts of each element
* patch: allow copying text for bound text
2022-04-05 21:48:59 +02:00
Faustino Kialungila
670ceafc84
feat: Copy to clipboard all text nodes as text ( #5013 )
...
* Copy to clipboard all text nodes as text
* fix: only show the option for text elements
2022-04-05 15:31:19 +02:00
Achille Lacoin
873afdacd3
feat: create and expose serializeLibraryAsJSON ( #5009 )
...
Co-authored-by: David Luzar <luzar.david@gmail.com>
2022-04-05 14:35:38 +02:00
Valerii Gusev
880e4feede
fix: update cursorButton once freedraw is released ( #4996 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2022-04-01 18:25:21 +02:00
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
dependabot[bot]
9da56e46f0
chore(deps-dev): bump lint-staged from 12.3.3 to 12.3.7 ( #4941 )
...
Bumps [lint-staged](https://github.com/okonet/lint-staged ) from 12.3.3 to 12.3.7.
- [Release notes](https://github.com/okonet/lint-staged/releases )
- [Commits](https://github.com/okonet/lint-staged/compare/v12.3.3...v12.3.7 )
---
updated-dependencies:
- dependency-name: lint-staged
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-22 13:06:48 +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
Ives van Hoorne
8c0a0415de
update README.md to show commands in code blocks ( #4932 )
2022-03-16 18:49:28 +01:00
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