Commit Graph

3431 Commits

Author SHA1 Message Date
Thomas Steiner 7ddc206b8c
Add Native File System API saving/exporting and opening (#388)
* Add Native File System API saving/exporting

* Add Native File System API opening

* Add origin trial token placeholder

* Reuse an opened file handle for better saving experience

* Fix file handle reuse to only kick in for Excalidraw files

* Remove reference
2020-01-17 11:25:05 +01:00
Lipis f4d4b323e1 Update colors from open colors (#406)
* Update to open colors

* Update more

* More colors

* Dahh

* More

* Border none

* More

* Update
2020-01-16 16:54:21 -08:00
Lipis aa9e98e52b Update the name in package.json (#410) 2020-01-16 16:53:38 -08:00
Günay Mert Karadoğan 8bc049a0b9 Remove resized element if it is invisibly small (#405) 2020-01-16 23:16:11 +01:00
Lipis 4234cd849c
Fix linting (#403) 2020-01-17 00:06:19 +02:00
Lipis 86eadf379d
Update Prettier scripts and supported files (#402) 2020-01-16 23:50:02 +02:00
JavaScript Joe 03e4a70be2
fix: use full url for og:image (#401)
* fix: use full url for og:image

* fix: add twitter card tags

* fix: update og:image to use full URL

* fix: add twitter card tags again

* fix: remove twitter creator meta tag
2020-01-16 14:40:26 -07:00
JavaScript Joe e5e0e37f23 feat: update font file and add meta tags (#400)
* fix: add new, smaller FG_Virgil file

* fix: update with new codesandbox font file link

* feat: add og-image and meta tags

* feat: add pr template

* fix: update pr template

* fix: remove pr template

* refactor: remove twitter meta in favor of og:image

* fix: add og:image:width

* refactor: update image

* refactor: use image in readme
2020-01-16 21:32:40 +01:00
Lipis 8154ccd907 No named colors and lowercase hex (#395)
* No named colors and lowercase hex

* consistent
2020-01-16 10:16:08 -08:00
JavaScript Joe 1ae3c64860 fix(font): modify exclamation point in font (#394)
* fix: add new modified FG_Virgil font

* fix: update codesandbox links to use modified virgil font

* fix: typo in Contributing
2020-01-16 09:59:43 -08:00
Lipis cb8d866c33 Open colors (#378)
* Add open colors

* More colors

* Update colors

* Shade 0
2020-01-16 18:14:00 +01:00
Günay Mert Karadoğan 4ecc734659 Fix #360 prevent creating invisibly small elements (#387) 2020-01-16 08:27:18 -08:00
Jilles Soeters 2a8e562e98 Add numeric hotkeys (#380)
* Add numeric hotkeys

* Nit: add space after comma
2020-01-15 18:39:15 -08:00
Brady Madden a3aa57d98b
Add AppState to export json to fix various import bugs (#358)
* export background, app state

* review comments
2020-01-15 21:08:52 -05:00
David Luzar 0e56cd4f56 pan canvas on wheel button drag (#375)
* pan canvas on wheel button drag

* make mousemove passive
2020-01-15 15:21:39 -08:00
Shane O'Sullivan 80cee4d3c0 Add a title for the Export button as it was missing one (#376) 2020-01-15 15:16:43 -08:00
Bakhtiiar Muzakparov 8db8827c6f feat: add line shape (#371)
* feat: add line shape

* fix: align line tool

* fix: hitbox bug sw to ne

* fix: add stroke width n sloppiness  for line

* fix: center line inside a panel box

* fix: use color as a unique key
2020-01-16 00:07:19 +05:00
David Luzar 42968ef44d enable curveFitting & bump roughjs (#373) 2020-01-15 20:01:50 +01:00
Faustino Kialungila 657014466c Active styles bg color (#372)
* Active styles bg color

* fix whitespace

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-15 19:57:58 +01:00
Timur Khazamov 79aee53ff6 Redesign idea (#343)
* Redisign idea

* Code cleanup

* Fixed to right container

* Reoredered layout

* Reordering panels

* Export dialog

* Removed redunant code

* Fixed not removing temp canvas

* Fixed preview not using only selected elements

* Returned file name on export

* Toggle export selected/all elements

* Hide copy to clipboard button if no support of clipboard

* Added border to swatches

* Fixed modal flickering
2020-01-15 07:42:02 -08:00
David Luzar 8104c8525d ensure contextMenu doesn't overflow viewport (#364) 2020-01-14 09:44:18 +01:00
Preet d2a3ed7931 Bump roughjs version to fix ellipse fills (#367) 2020-01-13 21:39:42 -08:00
Preet 8dbd1b80df Update to rough.js 4.0.1 (#363)
* upgrade to latest rough.js

* remove random.ts because roughjs now supports seeding.
2020-01-13 11:04:28 -08:00
Timur Khazamov bc2bae2a9a Shift drag to add to selection (#355)
* Shift drag to add to selection

* Inlined variable
2020-01-12 15:32:25 -08:00
Guillermo Peralta Scura 4c62cbf57e Don't show resize cursor if multiple elements are selected (#353) 2020-01-12 12:24:11 -08:00
Christopher Chedeau f91b708abb
Revert "Shift drag to add to selection (#350)" (#352)
This reverts commit ce467f7b65.
2020-01-12 12:08:18 -08:00
Timur Khazamov ce467f7b65 Shift drag to add to selection (#350) 2020-01-12 11:56:10 -08:00
David Luzar 58ad6d741d fix selecting elem inside already selected element (#349) 2020-01-12 11:43:31 -08:00
David Luzar 5887be6eda select filled elements by clicking inside (#340) 2020-01-12 11:16:48 -08:00
Guillermo Peralta Scura c67435719f Use cursor delta to resize shape (#341) 2020-01-12 09:05:08 -08:00
Jeremy Press abf2aaa102 "Select All" only appears when clicking outside of a shape via actionFilter (#329)
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-12 07:10:15 -08:00
Enzo Ferey 88a9cee8bb History improvements (#337)
* Simplified redoOnce.

* Help mental model.

* Move clear redo stack where it belongs.

* Not needed anymore as we check for same state.
2020-01-12 03:19:24 -08:00
Gasim Gasimzada ba8bc10431 Remove element shape object from local storage save (#336) 2020-01-12 15:08:47 +05:00
Christopher Chedeau bc909b76da
Move copy paste handler to document (#334)
Hopefully it should resolve the copy pasting issues

Fixes #249
2020-01-11 21:39:16 -08:00
Christopher Chedeau aad6e8f434
Reset to selection after creating a text (#333)
Fixes #252

Test plan:
- Click on text icon
- Click anywhere to start entering text
- Add a letter
- Make sure the cursor is selection and not text
- Click anywhere else, make sure it completes the text and not create a new one
2020-01-11 21:00:55 -08:00
Christopher Chedeau 44657efe71
Fix undoOnce (#332)
I just pasted @enzoferey's implementation and it fixed the bug reported by @dwelle

Fixes #307
2020-01-11 20:45:56 -08:00
Christopher Chedeau dd2a7eb597
Fix copy-paste on input (#331)
If the input is active, we shouldn't override copy paste behavior
2020-01-11 20:41:47 -08:00
Christopher Chedeau d45f48e60f
Set shape background to be transparent by default (#330)
Also makes "Clear canvas" reset the entire app state
2020-01-11 20:34:21 -08:00
Christopher Chedeau 3db7d69849
Debounce localstorage save (#328)
I profiled dragging and it looks like it takes ~3ms to save to localStorage a smallish scene and we're doing it twice per mousemove. Let's debounce so we don't pay that cost on every mouse move.

Stole the implementation from #220 which got reverted.
2020-01-11 20:15:41 -08:00
Christopher Chedeau c745fd4e5e
Prevent cmd-r from selecting rectangle (#327)
I keep adding empty rectangles because I reload with cmd-r which enables rectangle :p Let's only make the shortcut work if there's no modifier enabled
2020-01-11 19:42:34 -08:00
Christopher Chedeau 407f00bbd5
Fix alt-duplicate (#326)
We need to unselect all the previous elements and select all the new ones. Also made sure that the shape is regenerated when the element is duplicated
2020-01-11 19:35:06 -08:00
Christopher Chedeau 8785bef523
Support transparent background + inline picker (#325)
Unfortunately, react-color has a bug where transparent color doesn't trigger onChange. I've been annoyed by the huge dependency anyway so decided to take the generated html (which is awesome) and reimplement a specific component for it.

I also made sure that we don't actually render anything when the background is transparent on rough (I looked at the generated path and made sure it didn't have the commands for the background)
2020-01-11 19:10:41 -08:00
Christopher Chedeau 157f0eae0c
Export to canvas only selected elements (#323)
Fixes #308
2020-01-11 16:15:26 -08:00
Christopher Chedeau 9fa69448e4
Remove Delete from panel (#322)
Now that we have context menu, we don't need it there
2020-01-11 16:11:21 -08:00
Christopher Chedeau 5bdd0a35f6
Fix cmd-a drawing arrows (#321)
We need to quit if we have either elements OR appState, not both.
2020-01-11 16:06:25 -08:00
Gasim Gasimzada 74764b06eb Regenerate roughjs shape only when the item is updated (#316)
* Regenerate roughjs shape only when the item is updated

* Remove shape object during export and history undo/redo

* Remove shape element during copying

* Fix shape generation during creation
2020-01-11 16:00:00 -08:00
Christopher Chedeau 1bf18fe4ed
Tweak context menu style (#320)
- Move the context menu right next to the mouse so it's not so far away. But 1px out so that nothing is selected until you move your mouse
- Change the colors to be closer to the macos one. Unfortunately, macos has a 0.5px border that I'm not able to reproduce without some annoying hacks, 1px it'll be.
2020-01-11 15:59:42 -08:00
Christopher Chedeau b481a29024
Remove console.log (#317) 2020-01-11 15:21:24 -08:00
Enzo Ferey c6accd9fc7 Improve color suggestions (#304)
* Add palettes for each type of color picker.

* Add white canvas background and black element stroke.

* Add white for element background.
2020-01-11 14:58:44 -08:00
Christopher Chedeau 6399b1f318
Remove zindex options from panel (#315)
Now that they are in the context menu, we don't need to have them in the panel anymore.

Fixes #242
2020-01-11 14:58:11 -08:00