excalidraw/src/packages/excalidraw/CHANGELOG.md
Aakansha Doshi 00ac804dd8
fix: Allow copy of excalidraw elements only when inside excalidraw (#3206)
* fix: Allow copy event only inside canvas

* use pointerdown

* use document.getSelection

* remove poiterdown

* remove keyTest

* update changelog
2021-03-09 11:52:28 +05:30

16 KiB

Changelog

Unreleased

Excalidraw API

Fixes

  • Allow copy of excalidraw elements only when inside excalidraw #3206.
  • Position text editor absolute and fix the offsets so it doesn't remain fixed when the container is scrolled #3200.
  • Scope CSS variables so that host CSS vars don't clash with excalidraw #3199.

0.4.2

Excalidraw API

Fixes

  • Wrap excalidraw in position relative so host need not do it anymore & hide scrollbars in zen mode #3174.
  • Reduce the scroll debounce timeout to 100ms so offsets gets updated faster if changed when container scrolled #3182.
  • Rerender UI on renderFooter prop change #3183

Excalidraw Library

Fixes

  • Temporarily downgrade browser-fs-access to fix legacy FS API #3172

0.4.1

Excalidraw API

Fixes

  • Use Array.from when spreading over set so that typescript transpiles correctly in the umd build#3165.

Excalidraw Library

Features

  • Add export info on copy PNG to clipboard toast message #3159.
  • Use the latest version of Virgil #3124.
  • Support exporting with dark mode #3046.

Fixes

  • Cursor being leaked outside of canvas #3161.
  • Hide scrollbars in zenMode #3144.

0.4.0

Excalidraw API

Features

  • Expose window.EXCALIDRAW_ASSET_PATH which host can use to load assets from a different URL. By default it will be loaded from https://unpkg.com/@excalidraw/excalidraw{currentVersion}/dist/#3068.

    Also now the assets will have a hash in filename so cache bursting can easily happen with version bump.

  • Add support for scrollToCenter in initialData so host can control whether to scroll to center on mount #3070.

  • Export restore, restoreAppState and restoreElements to host #3049

Fixes

  • Show user state only when userState is passed on remote pointers during collaboration #3050

Excalidraw Library

Features

  • Adjust line-confirm-threshold based on zoom #2884

Fixes

  • Hide scrollbars on mobile #3044

0.3.1

Excalidraw API

Fixes

  • Support Excalidraw inside scrollable container #3018

Excalidraw Library

Fixes

  • Allow to toggle between modes when view only mode to make UI consistent #3009

0.3.0

Excalidraw API

Features

  • Allow host to pass color for collaborator #2943. The unused prop user is now removed.
  • Add zenModeEnabled and gridModeEnabled prop which enables zen mode and grid mode respectively #2901. When this prop is used, the zen mode / grid mode will be fully controlled by the host app.
  • Allow host to pass userState for collaborator to show the current user state #2877.
  • Add viewModeEnabled prop which enabled the view mode #2840. When this prop is used, the view mode will not show up in context menu is so it is fully controlled by host.
  • Expose getAppState on excalidrawRef #2834.

Build

  • Remove publicPath so host can use __webpack_public_path__ to host the assets#2835

Excalidraw Library

Features

  • Add the ability to clear library #2997
  • Updates to Collaboration and RTL UX #2994
  • Show toast when saving to existing file #2988
  • Support supplying custom scale when exporting canvas #2904
  • Show version in the stats dialog #2908
  • Add idle detection to collaboration feature #2877
  • Add view mode in Excalidraw #2840
  • Increase max zoom #2881
  • Remove copy & paste from context menu on desktop #2872
  • Add separators on context menu #2659
  • Add ctrl-y to redo #2831
  • Add view mode #2840.
  • Remove copy, cut, and paste actions from contextmenu #2872
  • Support Ctrl-Y shortcut to redo on Windows #2831.

Fixes

  • Refresh wysiwyg position on canvas resize #3008
  • Update the lang attribute with the current lang. #2995
  • Rename 'Grid mode' to 'Show grid' #2944
  • Deal with users on systems that don't handle emoji #2941
  • Mobile toolbar tooltip regression #2939
  • Hide collaborator list on mobile if empty #2938
  • Toolbar unnecessarily eats too much width #2924
  • Mistakenly hardcoding scale #2925
  • Text editor not visible in dark mode #2920
  • Incorrect z-index of text editor #2914
  • Make scrollbars draggable when offsets are set #2916
  • Pointer-events being disabled on free-draw #2912
  • Track zenmode and grid mode usage #2900
  • Disable UI pointer-events on canvas drag #2856
  • Stop flooring scroll positions #2883
  • Apply initialData appState for zenmode and grid stats and refactor check param for actions #2871
  • Show correct state of Nerd stats in context menu when nerd stats dialog closed #2874
  • Remote pointers not accounting for offset #2855
  • Toggle help dialog when "shift+?" is pressed #2828
  • Add safe check for process so Excalidraw can be loaded via script #2824
  • Fix UI pointer-events not disabled when dragging on canvas #2856.
  • Fix remote pointers not accounting for offset #2855.

Refactor

  • Remove duplicate key handling #2878
  • Reuse scss variables in js for SSOT #2867
  • Rename browser-nativefs to browser-fs-access #2862
  • Rewrite collabWrapper to remove TDZs and simplify #2834

Chore

  • Use Sentence case for Live collaboration

0.2.1

Excalidraw API

Build

  • Bundle css files with js #2819. The host would not need to import css files separately.

0.2.0

Excalidraw API

Features

  • Exported few Extra API's which can be used by the host to communicate with Excalidraw.

  • Remove language picker, and add langCode, renderFooter #2644:

    • BREAKING: removed the language picker from UI. It is now the host app's responsibility to implement a language picker if desirable, using the newly added renderFooter prop. The reasoning is that the i18n should be controlled by the app itself, not by the nested Excalidraw component.
    • Added langCode prop to control the UI language.
  • Add support for exportToBackend prop to allow host apps to implement shareable links #2612

Fixes

  • Hide collaboration button when the prop onCollabButtonClick is not provided #2598

Excalidraw Library

Features

  • Add toast #2772
  • Add cmd+o shortcut to load scene #2732
  • Require use of a preset dialog size; adjust dialog sizing #2684
  • Add line chart and paste dialog selection #2670
  • Tweak editing behavior #2668
  • Change title to Excalidraw after a timeout
  • Checkmark to toggle context-menu-items #2645
  • Add zoom to selection #2522
  • Insert Library items in the middle of the screen #2527
  • Show shortcut context menu #2501
  • Aligns arrowhead schemas #2517
  • Add Cut to menus #2511
  • More Arrowheads: dot, bar #2486
  • Support CSV graphs and improve the look and feel #2495

Fixes

  • Fix compile error #2685
  • Center zoom on iPhone and iPad #2642
  • Allow text-selecting in dialogs & reset cursor #2783
  • Don't render due to zoom after unmount #2779
  • Track the chart type correctly #2773
  • Fix late-render due to debounced zoom #2779
  • Fix initialization when browser tab not focused #2677
  • Consistent case for export locale strings #2622
  • Remove unnecessary console.error as it was polluting Sentry #2637
  • Fix scroll-to-center on init for non-zero canvas offsets #2445
  • Fix resizing the pasted charts #2586
  • Fix element visibility and zoom on cursor when canvas offset isn't 0. #2534
  • Fix Library Menu Layout #2502
  • Support number with commas in charts #2636
  • Don't break zoom when zooming in on UI #2638

Improvements

  • Added Zen Mode to the context menu #2734
  • Do not reset to selection for draw tool [#2721]((https://github.com/excalidraw/excalidraw/pull/2721)
  • Make dialogs look more like dialogs #2686
  • Browse libraries styles fixed #2694
  • Change hint for 2-point lines on resize #2655
  • Align items in context menu #2640
  • Do not reset to selection when using the draw tool #2721
  • Display proper tooltip for 2-point lines during resize, and normalize modifier key labels in hints #2655
  • Improve error message around importing images #2619
  • Add tooltip with icon for embedding scenes #2532
  • RTL support for the stats dialog #2530
  • Expand canvas padding based on zoom. #2515
  • Hide shortcuts on pickers for mobile #2508
  • Hide stats and scrollToContent-button when mobile menus open #2509

Refactor

  • refactor: Converting span to kbd tag #2774
  • Media queries #2680
  • Remove duplicate entry from en.json#2654
  • Remove the word toggle from labels #2648

Docs

  • Document some of the more exotic element props #2673

0.1.1

Fix

  • Update the homepage URL so it redirects to correct readme #2498

0.1.0

First release of @excalidraw/excalidraw