1
0
mirror of https://github.com/excalidraw/excalidraw.git synced 2024-11-10 11:35:52 +01:00
Commit Graph

374 Commits

Author SHA1 Message Date
Christopher Chedeau
3e381b75cb Remove image type description when saving to png (#566)
The description is the name of the file type in the dialog. This shouldn't be Excalidraw but the default one for a png.
2020-01-26 13:04:33 +01:00
Christopher Chedeau
e1ed40be65 Fix exported size when drawing to the left (#575)
If you scroll and draw to the left of the origin, when you export the scene, there's a weird whitespace on the right. This is because we do the min() computation starting at 0 and not -Infinity

This also fixes pasted elements and scrollbars.
2020-01-26 12:28:15 +01:00
Christopher Chedeau
4b0f788945
Proper error handling for creating a link without internet (#577)
* Proper error handling for creating a link without internet

* shuffle code a bit

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-26 03:06:37 -08:00
Christopher Chedeau
1d9cdf4d46 Use local fonts (#573)
This updates the way fonts are handled to not have to download the font from the internet.

If you do `./public/font.ttf` in the .scss file, unfortunately the bundle packages them somewhere that's different from the public folder that is used by the index.html to preload them.

The fix I used is to use absolute path `/font.ttf` so that both work. Unfortunately, this means that the website will only work if at the root of the domain. That's the case so far so it's okay but still annoying if we want to embed it somewhere.
2020-01-26 11:46:56 +01:00
Christopher Chedeau
c3e9f775e7 Disable escape when creating element (#576)
Problem:
- Select arrow
- Mouse down somewhere
- Mouse move somewhere to create an arrow
- Press escape
- Now you're in a weird situation where the shape is now "selection" but you're still dragging the arrow. If you mouse up, the arrow disappears

In order to solve this problem, we can avoid making escape do anything if you're currently dragging an element
2020-01-26 11:36:05 +01:00
Christopher Chedeau
94e18bd8e4 Untranslated lock icon (#568)
Sorry my OCD is kicking in... It's super weird that the base of the lock moves when we check / unckeck it. Instead, just the semi-circle shape should move (what this PR implements).
2020-01-26 11:34:15 +01:00
Christopher Chedeau
61f301c3e0 Cleanup saved json file (#578)
It turns out the only thing we need to save in the appState is the background color. All the rest is transient data.

I added `"type": "excalidraw"` at the beginning to explain where it was.

I removed `"source": "http://localhost:3000/"`. I don't think we want to leak on which webpage it was saved from.

I removed `isSelected` from the json

I added indentation so it's easier to read the content. I'm not 100% sure on this one, but I figure filesize doesn't matter too much those days. And if we want to shrink it, there are more effective ways than json.
2020-01-26 11:30:34 +01:00
Lipis
3901ad7dbe Adjust context menu and use open colors (#553)
* Adjust context menu and use open colors

* word wrap

* revert colors & padding

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-26 11:19:21 +01:00
Guillermo Peralta Scura
e4ff408f23
Accessible modals (#560)
Improve the accessibility of our modals (the color picker and the export dialog)

Implement a focus trap so that tapping through the controls inside them don't escape to outer elements, it also allows to close the modals with the "Escape" key.
2020-01-25 19:37:58 -03:00
Christopher Chedeau
ba13f88924
Do not trigger modal actions when not visible (#562)
Right now we're running useEffect block which runs getExportCanvasPreview on every state update, even if the modal is not visible (eg: when moving the mouse around!). This puts the modal code in its own component so that it doesn't trigger useEffect when not visible.

The code isn't very elegant as we're forwarding all the props, there's likely a better way to handle it (if anyone is interested, PR would be appreciated), but at least now it no longer double renders the scene.

Fixes #559
2020-01-25 14:11:26 -08:00
Christopher Chedeau
c697938350
Do not store cursor position in state (#557)
* Do not store cursor position in state

Storing it in state causes a full re-render. The only time we use the cursor position is for pasting. This halves the number of renders on drag.

* remove passive change
2020-01-25 11:38:08 -08:00
Christopher Chedeau
5b19aeafe9
Make color selection accessible (#556)
By changing from a `<div>` to a `<button>`, it's now possible to use the space key in order to select it
2020-01-25 10:11:57 -08:00
lissitz
1bae203a78 changing new shape property sets it as default (#520)
* changing new shape property sets it as default

* set correct opacity while editing new test

Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-25 09:58:57 -08:00
Guillermo Peralta Scura
69061e20ac Some a11y fixes (#534)
* Rename ToolIcon to ToolButton

It makes more semantic sense

* Label and keyboard shortcuts announcement

* Refactor common props for ToolButton

* Better doc outline and form controls

* Adjust color picker

* Styling fixes

Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-25 09:52:03 -08:00
Marco Kaul
5fd6c4d853 Add german translation (#550)
* Add german translation

* Add german language option

* Fix missing german translation

* Alphabetical order for languages

* Sort

Co-authored-by: Lipis <lipiridis@gmail.com>
2020-01-25 09:47:02 -08:00
Loris
413c387c7c Add onCancel callback to textWysiwyg for cleanup (#555) 2020-01-25 09:45:23 -08:00
Lipis
829e827dcf Scroll content to the center when loading from backend or file (#554)
* Scroll content to the center when loading from backend

* spread

* Load from file

* Return type
2020-01-25 17:41:23 +01:00
Lipis
1547b4a8d7 Add twitter badge to readme (#542)
* Add twitter badge to readme

* Update README.md
2020-01-25 15:30:01 +01:00
dependabot-preview[bot]
209bd84257 Bump lint-staged from 10.0.0 to 10.0.2 (#549)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.0.0 to 10.0.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.0.0...v10.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-25 06:20:07 +02:00
dependabot-preview[bot]
048d535b6e Bump browser-nativefs from 0.1.0 to 0.1.1 (#547)
Bumps [browser-nativefs](https://github.com/tomayac/browser-nativefs) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/tomayac/browser-nativefs/releases)
- [Commits](https://github.com/tomayac/browser-nativefs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-25 06:04:22 +02:00
dependabot-preview[bot]
6dcb88b8f6 Bump @types/react from 16.9.17 to 16.9.19 (#546)
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.17 to 16.9.19.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-25 06:04:03 +02:00
dependabot-preview[bot]
3cf9cad52e Bump husky from 4.0.10 to 4.2.1 (#545)
Bumps [husky](https://github.com/typicode/husky) from 4.0.10 to 4.2.1.
- [Release notes](https://github.com/typicode/husky/releases)
- [Changelog](https://github.com/typicode/husky/blob/master/CHANGELOG.md)
- [Commits](https://github.com/typicode/husky/compare/v4.0.10...v4.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-25 06:03:04 +02:00
dependabot-preview[bot]
62063ccb72 Bump nanoid from 2.1.9 to 2.1.10 (#544)
Bumps [nanoid](https://github.com/ai/nanoid) from 2.1.9 to 2.1.10.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/2.1.9...2.1.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-25 06:02:49 +02:00
dependabot-preview[bot]
41b384e6e6 Bump @types/react-dom from 16.9.4 to 16.9.5 (#548)
Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 16.9.4 to 16.9.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-25 06:02:38 +02:00
dependabot-preview[bot]
01c7796713 Bump @types/jest from 24.9.0 to 24.9.1 (#543)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 24.9.0 to 24.9.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-25 06:02:25 +02:00
Bakhtiiar Muzakparov
689c94151d fix: typos (#540) 2020-01-24 21:02:55 +01:00
David Luzar
afb1d6725f
Normalize dimensions (#527)
* normalize dimensions of non-linear elements

* fix element type check regression
2020-01-24 20:45:52 +01:00
Jilles Soeters
d65e90209c Allow multiline text (#535)
* Allow multiline text

* Figure out offset correctly

* Run prettier
2020-01-24 20:35:51 +02:00
Faustino Kialungila
54f9c296b5
Enhance language selection (#538)
* Enhance language selection

* remove top/left margin to limit unusable canvas area

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-24 19:10:44 +01:00
Lipis
ee68af0fd3
Set Trailing Cmma to (#525) 2020-01-24 12:04:54 +02:00
Faustino Kialungila
25202aec11
Adding Portuguese Translation (#528)
* Add Portuguese Translation

Adding PT translations

* Update src/i18n.ts

Co-Authored-By: Lipis <lipiridis@gmail.com>

Co-authored-by: Lipis <lipiridis@gmail.com>
2020-01-23 19:40:07 +01:00
Thibaut SABOT
990e064c13 Add french translation (#522)
* Add french translation

* improve fill translation

* forget accent on select translation
2020-01-23 19:00:30 +01:00
Thibaut SABOT
e8c909e35c Don't use translated value for shortcut (#526) 2020-01-23 18:28:05 +02:00
Thomas Steiner
d24b9c4d78 Update to browser-nativefs v0.1.0 (#523) 2020-01-23 18:15:44 +02:00
Günay Mert Karadoğan
926b4f24e6 Draw horizontal/vertical lines/arrows when shift pressed (#430)
* Draw horizontal/vertical lines/arrows when shift pressed

* Refactor resizing with delta

* Resize arrows/lines perfectly when shift pressed
2020-01-23 10:21:04 +01:00
Enzo Ferey
dfb7c2b744 Add app state to history (#309)
* Add app state to history.

* Pick missing state keys.

* Fix bug.

* Remove force update.
2020-01-22 21:32:43 +01:00
lissitz
3f1075cbcd fix: slider value resets to the default value when opacity is 0 (#516) 2020-01-22 20:51:56 +01:00
Lipis
48024c9116
Remove selected object when storing to backend (#506) 2020-01-22 18:27:44 +02:00
Fernando Alava Zambrano
a436e70764 Internationalization followup (#500)
* add translations in data.ts

* add language list
add spanish version

* fixes pr review

* add more translations

* remove unused label

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-22 16:25:04 +02:00
Timur Khazamov
362cd74a9b Render only visible elements (#415)
* Render only visible elements

* Fixed exporting as PNG

* Moved isVisibleElement to module scope

* rerun-ci

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-22 15:14:19 +01:00
David Luzar
4942a452e0
Lint tweaks (#502)
* lint json files & add lint ignore list

* lint against plain console logs

* Update .lintstagedrc.js

Co-Authored-By: Lipis <lipiridis@gmail.com>

* format .tsconfig

* don't lint against console.info

* change log to console.info

Co-authored-by: Lipis <lipiridis@gmail.com>
2020-01-22 15:13:00 +01:00
Bakhtiiar Muzakparov
bef279417e fix: cursor on keyboard tool toggle (#482)
* update events for GH actions to include PRs

* fix: cursor on keyboard tool toggle

* fix: change cursor type to constant

* fix: swap condition

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-22 14:36:08 +01:00
David Luzar
5bd1c8b3cd
update events for GH actions to include PRs (#511)
* update events for GH actions to include PRs

* change action events to pull_request only
2020-01-22 14:18:31 +01:00
Thomas Steiner
d1fb824369
Move file system operations to separate module (#510) 2020-01-22 13:55:13 +01:00
lissitz
dc0a4f4cb8 fix: Preview image is being stretched when the proportions are w… (#503)
Fixes #490. Preserves the ratio of the preview image when width / height reaches max-width/max-height
2020-01-22 12:09:49 +02:00
Dvir Azulay
a856ce06e9 Allow dragging transparent elements when selected (#508)
* Allow dragging transparent elements when selected

Addresses #339

* Update package.json
2020-01-21 21:10:49 -08:00
Lipis
d30498a289 Pointer for Tool icons (#501) 2020-01-21 22:07:09 +01:00
lissitz
3de48d2893 fix: Transparent backgrounds result in bleed (#499) 2020-01-21 09:07:08 -08:00
Max Stoiber
e657372ae4 Fix typo in "Opacity" (#489) 2020-01-21 18:39:39 +02:00
David Luzar
20cf1078fc
add top error boundary & reset localStorage on error (#493)
* add top error boundary & reset localStorage on error

* add issue tracker details and link

* add pointer cursor to buttons

* Update src/bug-issue-template.js

Co-Authored-By: Lipis <lipiridis@gmail.com>

* Update src/styles.scss

Co-Authored-By: Lipis <lipiridis@gmail.com>

* Update src/bug-issue-template.js

Co-Authored-By: Lipis <lipiridis@gmail.com>

* use open-color colors

* use Cascadia font

Co-authored-by: Lipis <lipiridis@gmail.com>
2020-01-21 15:50:25 +01:00