Commit Graph

2416 Commits

Author SHA1 Message Date
77400c7b70 One more testimonial (#281) 2020-01-08 19:58:19 -08:00
4a044d3ace Show move and resize cursors on hover (#280)
* Change to move cursor on hover

* Show resize handlers on hover
2020-01-08 18:56:35 -08:00
a16cd3a34f Add font size and font familly option for selection (#278)
* Add font size and font familly option for selection

* Allow copy font style

* More clearner method name

* Update options size and font-familly
2020-01-08 17:29:41 -08:00
299e7e9099 Extract app and keys (#276)
* Extract app component from entrypoint (index)

- Use refs to refer to canvas and rough context
- Remove ReactDOM double rendering

* Extract keys and key related utils into their own module

* Move everything back to entrypoint
2020-01-09 02:00:59 +04:00
36ce6a26e6 Make panels collapsible (#239)
* Make panels collapsible

- Add Panel component with collapse logic
- Use the component in all the necessary panel groups

* Remove unnecessary container from PanelCanvas

* Add "hide property" to Pane component to hide Panel contents using a prop

- Instead of doing conditional rendering, pass the condition to Panel as props

* Change collapse icon rotation for closed

- Use one icon and use CSS transforms to rotate it

* Remove unnecessary imports from PanelSelection
2020-01-08 13:06:36 -08:00
e38f65dea7 Contenteditable wysiwyg (#274)
* Contenteditable wysiwyg

* Added comment about pasting multiline text
2020-01-09 02:04:53 +05:00
556843d9a2 Adding open collective sponsor (#275)
I just created an open collective for the project.
2020-01-08 13:04:13 -08:00
1739540f00 Creating a text near the center of a shape should put it in the center (#270)
* Snap to element center

* Fixed typo

* Added comment

* Reduced threshold to 30

* Skip snapping if alt key is pressed

* Fixed creating text with shape tool
2020-01-09 01:09:09 +05:00
068dca604f prevent commit on eslint warnings & fix lint (#268) 2020-01-08 20:08:43 +01:00
37934c0f8b Fixes text jumping on creation (#266)
* Fixes text jumping on creation

* Do not remove node on ESC

* Fixed typo
2020-01-09 00:06:25 +05:00
2122a9cf9f fix for duplicating elements (#261) 2020-01-08 19:54:42 +01:00
7f7f51f70b remove static/ from git & ignore (#265) 2020-01-08 19:18:17 +01:00
58ec6567ae ensure alt+drag duplicates all selected elems (#258) 2020-01-08 09:09:02 -08:00
08b804ac63 ensure only selected elems can be resized (fixes #256) 2020-01-08 18:06:04 +01:00
009412a093 improve typing for handlerRectangles 2020-01-08 17:05:00 +01:00
e7bf034fef duplicate element by alt dragging (#255) 2020-01-08 17:03:13 +01:00
4b7eb2f04a Add IDs to elements (#236)
* Add IDs to elements

- Move round rect function within the renderer

* Generate IDs using nanoid

* If element ID does not exist, add the ID during restoration
2020-01-07 23:49:39 +04:00
2f9aa0e3ca Async loading of TwitterPicker (#246) 2020-01-07 10:37:22 -08:00
2d66616e3f Fixed: Copy + Paste moves text inside rectangle #229 (#245) 2020-01-07 19:02:15 +01:00
846f427732 adding comments about diamond dimensions (#241) 2020-01-07 18:59:10 +01:00
10955f8bb0 Wysiwyg text 2.0 (#238)
* Fixed cleaning handlers after cleanup

* Double click to edit text

* Preserve text styles on change
2020-01-07 09:21:05 -08:00
ae982e9298 Revert "Save scene in URL (#220)" (#234)
This reverts commit db973c61e8.
2020-01-07 07:18:20 -08:00
829a65b8cb Refactor Element Functions (#233)
* Remove `generatedraw` from element object

- Create a function that renders a single element
- Refactor rendering selected elements

* Replace getElementAbsoluteXY with getElementAbsoluteCoords
2020-01-07 19:04:52 +04:00
85365e5bcb Extract Sidebar panels into separate components (#230)
* Extract Sidebar panels into separate components

* Add Jest TS types
2020-01-07 15:06:22 +04:00
2fb5c4cd13 Add styles copy and pasting in the context menu (#227) 2020-01-06 23:04:15 -08:00
f2665408fc Revert "Wysiwyg text (#200)" (#225)
This reverts commit abbc04df0e.
2020-01-06 19:50:37 -08:00
db973c61e8 Save scene in URL (#220)
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-06 19:08:23 -08:00
abbc04df0e Wysiwyg text (#200) 2020-01-06 19:03:05 -08:00
b2eb2807cc Use Ctrl instead of Cmd for keyboard shortcuts on Windows (#216)
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-06 18:57:38 -08:00
257f697a98 Context menu with some commands (#217) 2020-01-06 18:50:59 -08:00
9fe3fe5091 Fix URL in README (#222)
Looks like excalidraw.com is an SSL error, but www.excalidraw.com
works great.  It's possible the github pages config could be changed
to make both work, but this seemed easier to fix.
2020-01-06 15:42:37 -08:00
9305a33dba Copy and paste styles (#219)
* copy and paste styles

* save copied styles in memory
2020-01-06 23:22:48 +01:00
8a91f4fe7b One more testimonial (#221) 2020-01-06 13:57:04 -08:00
1443cf1cd5 implement shift+resize for all sides (#210) 2020-01-06 21:19:21 +01:00
b12ea7de3e paste inside the viewport (#214) 2020-01-06 20:36:48 +01:00
5ade8987e4 Fixes pasting colors in color picker (#215)
* improve lozenge dimensions

* fix pasting colors in color picker input
2020-01-06 20:28:14 +01:00
7bf0184499 Fixed ellipse hit test if sizes are negative (#205) 2020-01-06 23:06:54 +05:00
d0365933a9 Extract history (#213)
* Extract History into its own module

* Encapsulate undo and redo actions within history

* Encapsulate clearing redo stack within History

* Add private access modifiers to scene history class member variables

* Remove duplicate files
2020-01-06 21:58:48 +04:00
054669cfef Extract components and shapes into their respective modules (#212) 2020-01-06 21:29:44 +04:00
86a1c29eec Extract scene functions to their respective modules (#208)
- Also, extract utilities into utils module -- capitalizeString, getDateTime, isInputLike
2020-01-06 20:24:54 +04:00
01805f734d Extract element functions into modules (#207) 2020-01-06 19:34:22 +04:00
e3eef04e00 Move math and random files into their respective modules (#198)
* Move math and random files into their respective modules

- Move distanceBetweenPointAndSegment to math module
- Move LCG, randomSeed, and withCustomMathRandom to random module

* Add everything else back
2020-01-06 10:33:22 +01:00
b3667000e2 improve lozenge dimensions (#197) 2020-01-06 09:08:09 +01:00
ea534dd535 Implement redo (#191) 2020-01-05 19:58:54 -08:00
3bbcb9cbdc Improve Color Picker *2 (#195) 2020-01-05 19:57:50 -08:00
23cd62d148 Improve selection view (#192) 2020-01-05 19:11:35 -08:00
d5c6dd49a2 Styles fix (#190)
* Styles improvements

* Default values when restore elements
2020-01-05 18:17:24 -08:00
feefb14bf5 Double click to add text (#184)
* Double click to add text

* Remove duplicate code

* Add text improvements

* Cast element to text element
2020-01-05 17:38:19 -08:00
f360c3cb33 Change styles (#179)
* Fill style

* Roughness, opacity and more styles

* Remove duplicated options

* Support diamonds

* Remove unused import

* Fix typo and remove react import
2020-01-05 15:37:24 -08:00
4be88c9c58 Adding diamond shape (#159)
* Adding diamond shape

* hittest diamond shape

* fix x,y arguments

* renaming
2020-01-05 15:10:35 -08:00