@dwelle/excalidraw 0.4.0-b5b3e87 → 0.4.0-b89fa18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +651 -2
  2. package/README.md +18 -1366
  3. package/dist/excalidraw-assets/Assistant-Bold.woff2 +0 -0
  4. package/dist/excalidraw-assets/Assistant-Medium.woff2 +0 -0
  5. package/dist/excalidraw-assets/Assistant-Regular.woff2 +0 -0
  6. package/dist/excalidraw-assets/Assistant-SemiBold.woff2 +0 -0
  7. package/dist/excalidraw-assets/{vendor-c9192fb8837b50bd2d52.js → vendor-2002fe1b8862917b36c1.js} +2 -2
  8. package/dist/excalidraw-assets-dev/Assistant-Bold.woff2 +0 -0
  9. package/dist/excalidraw-assets-dev/Assistant-Medium.woff2 +0 -0
  10. package/dist/excalidraw-assets-dev/Assistant-Regular.woff2 +0 -0
  11. package/dist/excalidraw-assets-dev/Assistant-SemiBold.woff2 +0 -0
  12. package/dist/excalidraw-assets-dev/{vendor-9cf40f11018f8c6ff4c6.js → vendor-e6df8519da951026ff69.js} +9 -1
  13. package/dist/excalidraw.development.js +2586 -806
  14. package/dist/excalidraw.production.min.js +1 -1
  15. package/dist/excalidraw.production.min.js.LICENSE.txt +22 -0
  16. package/package.json +3 -3
  17. package/types/actions/actionAddToLibrary.d.ts +101 -49
  18. package/types/actions/actionAlign.d.ts +12 -6
  19. package/types/actions/actionBoundText.d.ts +172 -21
  20. package/types/actions/actionCanvas.d.ts +669 -150
  21. package/types/actions/actionClipboard.d.ts +193 -81
  22. package/types/actions/actionDeleteSelected.d.ts +110 -50
  23. package/types/actions/actionDistribute.d.ts +2 -2
  24. package/types/actions/actionDuplicateSelection.d.ts +1 -1
  25. package/types/actions/actionElementLock.d.ts +264 -0
  26. package/types/actions/actionExport.d.ts +318 -164
  27. package/types/actions/actionFinalize.d.ts +68 -34
  28. package/types/actions/actionFlip.d.ts +2 -4
  29. package/types/actions/actionFrame.d.ts +412 -0
  30. package/types/actions/actionGroup.d.ts +4 -4
  31. package/types/actions/actionHistory.d.ts +1 -1
  32. package/types/actions/{actionToggleLock.d.ts → actionLinearEditor.d.ts} +46 -29
  33. package/types/actions/actionMenu.d.ts +105 -54
  34. package/types/actions/actionNavigate.d.ts +2 -1
  35. package/types/actions/actionProperties.d.ts +447 -226
  36. package/types/actions/actionStyles.d.ts +34 -17
  37. package/types/actions/actionToggleGridMode.d.ts +36 -17
  38. package/types/actions/actionToggleStats.d.ts +35 -17
  39. package/types/actions/actionToggleViewMode.d.ts +36 -17
  40. package/types/actions/actionToggleZenMode.d.ts +36 -17
  41. package/types/actions/actionZindex.d.ts +4 -4
  42. package/types/actions/index.d.ts +2 -1
  43. package/types/actions/manager.d.ts +2 -1
  44. package/types/actions/shortcuts.d.ts +2 -1
  45. package/types/actions/types.d.ts +12 -8
  46. package/types/appState.d.ts +30 -25
  47. package/types/charts.d.ts +2 -2
  48. package/types/clients.d.ts +5 -6
  49. package/types/clipboard.d.ts +8 -3
  50. package/types/colors.d.ts +60 -5
  51. package/types/components/Actions.d.ts +6 -5
  52. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  53. package/types/components/App.d.ts +75 -23
  54. package/types/components/Avatar.d.ts +2 -3
  55. package/types/components/BraveMeasureTextError.d.ts +2 -0
  56. package/types/components/Button.d.ts +17 -0
  57. package/types/components/ButtonIconSelect.d.ts +11 -3
  58. package/types/components/ColorPicker/ColorInput.d.ts +7 -0
  59. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  60. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  61. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  62. package/types/components/ColorPicker/Picker.d.ts +18 -0
  63. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  64. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  65. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  66. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  67. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  68. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +21 -0
  69. package/types/components/ContextMenu.d.ts +9 -22
  70. package/types/components/DefaultSidebar.d.ts +30 -0
  71. package/types/components/Dialog.d.ts +3 -4
  72. package/types/components/DialogActionButton.d.ts +10 -0
  73. package/types/components/ErrorDialog.d.ts +3 -2
  74. package/types/components/EyeDropper.d.ts +18 -0
  75. package/types/components/FilledButton.d.ts +17 -0
  76. package/types/components/FixedSideContainer.d.ts +1 -1
  77. package/types/components/HandButton.d.ts +10 -0
  78. package/types/components/HelpButton.d.ts +7 -0
  79. package/types/components/HintViewer.d.ts +4 -3
  80. package/types/components/HomeButton.d.ts +5 -0
  81. package/types/components/ImageExportDialog.d.ts +8 -11
  82. package/types/components/InitializeApp.d.ts +2 -0
  83. package/types/components/Island.d.ts +1 -1
  84. package/types/components/JSONExportDialog.d.ts +7 -5
  85. package/types/components/LayerUI.d.ts +8 -14
  86. package/types/components/LibraryMenu.d.ts +15 -7
  87. package/types/components/LibraryMenuBrowseButton.d.ts +7 -0
  88. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  89. package/types/components/LibraryMenuHeaderContent.d.ts +18 -0
  90. package/types/components/LibraryMenuItems.d.ts +4 -14
  91. package/types/components/LibraryMenuSection.d.ts +22 -0
  92. package/types/components/LibraryUnit.d.ts +8 -5
  93. package/types/components/LoadingMessage.d.ts +2 -0
  94. package/types/components/LockButton.d.ts +1 -2
  95. package/types/components/MobileMenu.d.ts +10 -12
  96. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  97. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  98. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  99. package/types/components/PasteChartDialog.d.ts +4 -5
  100. package/types/components/PenModeButton.d.ts +1 -1
  101. package/types/components/Popover.d.ts +1 -1
  102. package/types/components/ProjectName.d.ts +2 -1
  103. package/types/components/PublishLibrary.d.ts +2 -2
  104. package/types/components/RadioGroup.d.ts +12 -0
  105. package/types/components/Sidebar/Sidebar.d.ts +76 -0
  106. package/types/components/Sidebar/SidebarHeader.d.ts +7 -0
  107. package/types/components/Sidebar/SidebarTab.d.ts +9 -0
  108. package/types/components/Sidebar/SidebarTabTrigger.d.ts +10 -0
  109. package/types/components/Sidebar/SidebarTabTriggers.d.ts +7 -0
  110. package/types/components/Sidebar/SidebarTabs.d.ts +7 -0
  111. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  112. package/types/components/Sidebar/common.d.ts +33 -0
  113. package/types/components/Spinner.d.ts +2 -1
  114. package/types/components/Stack.d.ts +4 -3
  115. package/types/components/Stats.d.ts +3 -3
  116. package/types/components/Switch.d.ts +9 -0
  117. package/types/components/ToolButton.d.ts +6 -5
  118. package/types/components/Tooltip.d.ts +1 -1
  119. package/types/components/Trans.d.ts +8 -0
  120. package/types/components/UserList.d.ts +0 -3
  121. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -0
  122. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  123. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  124. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  125. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  126. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  127. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  128. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  129. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -0
  130. package/types/components/dropdownMenu/common.d.ts +6 -0
  131. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  132. package/types/components/footer/Footer.d.ts +12 -0
  133. package/types/components/footer/FooterCenter.d.ts +8 -0
  134. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  135. package/types/components/icons.d.ts +94 -123
  136. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
  137. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  138. package/types/components/main-menu/MainMenu.d.ts +61 -0
  139. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  140. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  141. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -0
  142. package/types/constants.d.ts +86 -21
  143. package/types/context/tunnels.d.ts +19 -0
  144. package/types/context/ui-appState.d.ts +4 -0
  145. package/types/data/blob.d.ts +3 -2
  146. package/types/data/encode.d.ts +1 -1
  147. package/types/data/filesystem.d.ts +2 -1
  148. package/types/data/index.d.ts +1 -1
  149. package/types/data/library.d.ts +3 -45
  150. package/types/data/restore.d.ts +10 -4
  151. package/types/data/types.d.ts +14 -1
  152. package/types/data/url.d.ts +2 -0
  153. package/types/element/Hyperlink.d.ts +37 -22
  154. package/types/element/binding.d.ts +3 -3
  155. package/types/element/bounds.d.ts +34 -8
  156. package/types/element/collision.d.ts +7 -7
  157. package/types/element/dragElements.d.ts +2 -1
  158. package/types/element/image.d.ts +11 -1
  159. package/types/element/index.d.ts +4 -3
  160. package/types/element/linearElementEditor.d.ts +69 -24
  161. package/types/element/mutateElement.d.ts +2 -1
  162. package/types/element/newElement.d.ts +49 -10
  163. package/types/element/resizeElements.d.ts +1 -1
  164. package/types/element/showSelectedShapeActions.d.ts +2 -2
  165. package/types/element/sortElements.d.ts +2 -0
  166. package/types/element/textElement.d.ts +62 -8
  167. package/types/element/textWysiwyg.d.ts +6 -1
  168. package/types/element/transformHandles.d.ts +15 -9
  169. package/types/element/typeChecks.d.ts +13 -2
  170. package/types/element/types.d.ts +55 -35
  171. package/types/emitter.d.ts +1 -1
  172. package/types/errors.d.ts +1 -1
  173. package/types/frame.d.ts +40 -0
  174. package/types/ga.d.ts +5 -5
  175. package/types/groups.d.ts +5 -1
  176. package/types/history.d.ts +3 -3
  177. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  178. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  179. package/types/hooks/useOutsideClick.d.ts +20 -0
  180. package/types/hooks/useScrollPosition.d.ts +2 -0
  181. package/types/hooks/useTransition.d.ts +2 -0
  182. package/types/i18n.d.ts +7 -1
  183. package/types/jotai.d.ts +20 -108
  184. package/types/keys.d.ts +18 -7
  185. package/types/math.d.ts +4 -1
  186. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +2 -4
  187. package/types/packages/excalidraw/example/App.d.ts +9 -2
  188. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  189. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  190. package/types/packages/excalidraw/example/initialData.d.ts +6 -0
  191. package/types/packages/excalidraw/example/sidebar/{Sidebar.d.ts → ExampleSidebar.d.ts} +1 -1
  192. package/types/packages/excalidraw/index.d.ts +19 -3
  193. package/types/packages/excalidraw/webpack.dev.config.d.ts +72 -61
  194. package/types/packages/excalidraw/webpack.prod.config.d.ts +85 -70
  195. package/types/packages/utils.d.ts +26 -25
  196. package/types/renderer/renderElement.d.ts +9 -6
  197. package/types/renderer/renderScene.d.ts +14 -7
  198. package/types/renderer/roundRect.d.ts +1 -1
  199. package/types/scene/Fonts.d.ts +21 -0
  200. package/types/scene/Scene.d.ts +27 -5
  201. package/types/scene/comparisons.d.ts +2 -3
  202. package/types/scene/export.d.ts +157 -10
  203. package/types/scene/index.d.ts +1 -1
  204. package/types/scene/selection.d.ts +25 -5
  205. package/types/scene/types.d.ts +14 -5
  206. package/types/shapes.d.ts +27 -3
  207. package/types/types.d.ts +150 -78
  208. package/types/utility-types.d.ts +22 -0
  209. package/types/utils.d.ts +67 -9
  210. package/types/zindex.d.ts +4 -4
  211. package/types/components/ActiveFile.d.ts +0 -7
  212. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -9
  213. package/types/components/ClearCanvas.d.ts +0 -4
  214. package/types/components/CollabButton.d.ts +0 -7
  215. package/types/components/ColorPicker.d.ts +0 -14
  216. package/types/components/Footer.d.ts +0 -9
  217. package/types/components/HelpIcon.d.ts +0 -8
  218. package/types/components/LibraryButton.d.ts +0 -7
  219. package/types/components/SidebarLockButton.d.ts +0 -8
  220. package/types/components/SingleLibraryItem.d.ts +0 -10
  221. package/types/packages/common.webpack.dev.config.d.ts +0 -71
  222. package/types/packages/common.webpack.prod.config.d.ts +0 -83
  223. /package/dist/excalidraw-assets/{vendor-c9192fb8837b50bd2d52.js.LICENSE.txt → vendor-2002fe1b8862917b36c1.js.LICENSE.txt} +0 -0
  224. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-c9192fb8837b50bd2d52.d.ts → vendor-2002fe1b8862917b36c1.d.ts} +0 -0
  225. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-9cf40f11018f8c6ff4c6.d.ts → vendor-e6df8519da951026ff69.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -13,17 +13,666 @@ Please add the latest change on the top under the correct section.
13
13
 
14
14
  ## Unreleased
15
15
 
16
+ ### Features
17
+
18
+ - Add support for `opts.fitToViewport` and `opts.viewportZoomFactor` in the [`ExcalidrawAPI.scrollToContent`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/ref#scrolltocontent) API. [#6581](https://github.com/excalidraw/excalidraw/pull/6581).
19
+ - Properly sanitize element `link` urls. [#6728](https://github.com/excalidraw/excalidraw/pull/6728).
20
+ - Sidebar component now supports tabs — for more detailed description of new behavior and breaking changes, see the linked PR. [#6213](https://github.com/excalidraw/excalidraw/pull/6213)
21
+ - Exposed `DefaultSidebar` component to allow modifying the default sidebar, such as adding custom tabs to it. [#6213](https://github.com/excalidraw/excalidraw/pull/6213)
22
+
23
+ #### BREAKING CHANGES
24
+
25
+ - `props.renderSidebar` is removed in favor of rendering as `children`.
26
+ - `appState.isSidebarDocked` replaced with `appState.defaultSidebarDockedPreference` with slightly different semantics, and relating only to the default sidebar. You need to handle `docked` state for your custom sidebars yourself.
27
+ - Sidebar `props.dockable` is removed. To indicate dockability, supply `props.onDock()` alongside setting `props.docked`.
28
+ - `Sidebar.Header` is no longer rendered by default. You need to render it yourself.
29
+ - `props.onClose` replaced with `props.onStateChange`.
30
+ - `restore()`/`restoreAppState()` now retains `appState.openSidebar` regardless of docked state.
31
+
32
+ ## 0.15.2 (2023-04-20)
33
+
34
+ ### Docs
35
+
36
+ - Fix docs link in readme [#6486](https://github.com/excalidraw/excalidraw/pull/6486)
37
+
38
+ ## Excalidraw Library
39
+
40
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
41
+
42
+ ### Fixes
43
+
44
+ - Rotate the text element when binding to a rotated container [#6477](https://github.com/excalidraw/excalidraw/pull/6477)
45
+
46
+ - Support breaking words containing hyphen - [#6014](https://github.com/excalidraw/excalidraw/pull/6014)
47
+
48
+ - Incorrect background fill button active state [#6491](https://github.com/excalidraw/excalidraw/pull/6491)
49
+
50
+ ---
51
+
52
+ ## 0.15.1 (2023-04-18)
53
+
54
+ ### Docs
55
+
56
+ - Add the readme back to the package which was mistakenly removed [#6484](https://github.com/excalidraw/excalidraw/pull/6484)
57
+
58
+ ## Excalidraw Library
59
+
60
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
61
+
62
+ ---
63
+
64
+ ## 0.15.0 (2023-04-18)
65
+
66
+ ### Features
67
+
68
+ - [`ExcalidrawAPI.scrollToContent`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/ref#scrolltocontent) has new opts object allowing you to fit viewport to content, and animate the scrolling. [#6319](https://github.com/excalidraw/excalidraw/pull/6319)
69
+
70
+ - Expose `useI18n()` hook return an object containing `t()` i18n helper and current `langCode`. You can use this in components you render as `<Excalidraw>` children to render any of our i18n locale strings. [#6224](https://github.com/excalidraw/excalidraw/pull/6224)
71
+
72
+ - [`restoreElements`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/utils/restore#restoreelements) API now takes an optional parameter `opts` which currently supports the below attributes
73
+
74
+ ```js
75
+ { refreshDimensions?: boolean, repairBindings?: boolean }
76
+ ```
77
+
78
+ The same `opts` param has been added to [`restore`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/utils/restore#restore) API as well.
79
+
80
+ For more details refer to the [docs](https://docs.excalidraw.com)
81
+
82
+ #### BREAKING CHANGE
83
+
84
+ - The optional parameter `refreshDimensions` in [`restoreElements`](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/utils/restore#restoreelements) has been removed and can be enabled via `opts`
85
+
86
+ ### Fixes
87
+
88
+ - Exporting labelled arrows via export utils [#6443](https://github.com/excalidraw/excalidraw/pull/6443)
89
+
90
+ ## Excalidraw Library
91
+
92
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
93
+
94
+ ### Features
95
+
96
+ - Constrain export dialog preview size [#6475](https://github.com/excalidraw/excalidraw/pull/6475)
97
+
98
+ - Zigzag fill easter egg [#6439](https://github.com/excalidraw/excalidraw/pull/6439)
99
+
100
+ - Add container to multiple text elements [#6428](https://github.com/excalidraw/excalidraw/pull/6428)
101
+
102
+ - Starting migration from GA to Matomo for better privacy [#6398](https://github.com/excalidraw/excalidraw/pull/6398)
103
+
104
+ - Add line height attribute to text element [#6360](https://github.com/excalidraw/excalidraw/pull/6360)
105
+
106
+ - Add thai lang support [#6314](https://github.com/excalidraw/excalidraw/pull/6314)
107
+
108
+ - Create bound container from text [#6301](https://github.com/excalidraw/excalidraw/pull/6301)
109
+
110
+ - Improve text measurements in bound containers [#6187](https://github.com/excalidraw/excalidraw/pull/6187)
111
+
112
+ - Bind text to container if double clicked on filled shape or stroke [#6250](https://github.com/excalidraw/excalidraw/pull/6250)
113
+
114
+ - Make repair and refreshDimensions configurable in restoreElements [#6238](https://github.com/excalidraw/excalidraw/pull/6238)
115
+
116
+ - Show error message when not connected to internet while collabo… [#6165](https://github.com/excalidraw/excalidraw/pull/6165)
117
+
118
+ - Shortcut for clearCanvas confirmDialog [#6114](https://github.com/excalidraw/excalidraw/pull/6114)
119
+
120
+ - Disable canvas smoothing (antialiasing) for right-angled elements [#6186](https://github.com/excalidraw/excalidraw/pull/6186)Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com>
121
+
122
+ ### Fixes
123
+
124
+ - Center align text when wrapped in container via context menu [#6480](https://github.com/excalidraw/excalidraw/pull/6480)
125
+
126
+ - Restore original container height when unbinding text which was binded via context menu [#6444](https://github.com/excalidraw/excalidraw/pull/6444)
127
+
128
+ - Mark more props as optional for element [#6448](https://github.com/excalidraw/excalidraw/pull/6448)
129
+
130
+ - Improperly cache-busting on canvas scale instead of zoom [#6473](https://github.com/excalidraw/excalidraw/pull/6473)
131
+
132
+ - Incorrectly duplicating items on paste/library insert [#6467](https://github.com/excalidraw/excalidraw/pull/6467)
133
+
134
+ - Library ids cross-contamination on multiple insert [#6466](https://github.com/excalidraw/excalidraw/pull/6466)
135
+
136
+ - Color picker keyboard handling not working [#6464](https://github.com/excalidraw/excalidraw/pull/6464)
137
+
138
+ - Abort freedraw line if second touch is detected [#6440](https://github.com/excalidraw/excalidraw/pull/6440)
139
+
140
+ - Utils leaking Scene state [#6461](https://github.com/excalidraw/excalidraw/pull/6461)
141
+
142
+ - Split "Edit selected shape" shortcut [#6457](https://github.com/excalidraw/excalidraw/pull/6457)
143
+
144
+ - Center align text when bind to container via context menu [#6451](https://github.com/excalidraw/excalidraw/pull/6451)
145
+
146
+ - Update coords when text unbinded from its container [#6445](https://github.com/excalidraw/excalidraw/pull/6445)
147
+
148
+ - Autoredirect to plus in prod only [#6446](https://github.com/excalidraw/excalidraw/pull/6446)
149
+
150
+ - Fixing popover overflow on small screen [#6433](https://github.com/excalidraw/excalidraw/pull/6433)
151
+
152
+ - Introduce baseline to fix the layout shift when switching to text editor [#6397](https://github.com/excalidraw/excalidraw/pull/6397)
153
+
154
+ - Don't refresh dimensions for deleted text elements [#6438](https://github.com/excalidraw/excalidraw/pull/6438)
155
+
156
+ - Element vanishes when zoomed in [#6417](https://github.com/excalidraw/excalidraw/pull/6417)
157
+
158
+ - Don't jump text to end when out of viewport in safari [#6416](https://github.com/excalidraw/excalidraw/pull/6416)
159
+
160
+ - GetDefaultLineHeight should return default font family line height for unknown font [#6399](https://github.com/excalidraw/excalidraw/pull/6399)
161
+
162
+ - Revert use `ideographic` textBaseline to improve layout shift when editing text" [#6400](https://github.com/excalidraw/excalidraw/pull/6400)
163
+
164
+ - Call stack size exceeded when paste large text [#6373](https://github.com/excalidraw/excalidraw/pull/6373) (#6396)
165
+
166
+ - Use `ideographic` textBaseline to improve layout shift when editing text [#6384](https://github.com/excalidraw/excalidraw/pull/6384)
167
+
168
+ - Chrome crashing when embedding scene on chrome arm [#6383](https://github.com/excalidraw/excalidraw/pull/6383)
169
+
170
+ - Division by zero in findFocusPointForEllipse leads to infinite loop in wrapText freezing Excalidraw [#6377](https://github.com/excalidraw/excalidraw/pull/6377)
171
+
172
+ - Containerizing text incorrectly updates arrow bindings [#6369](https://github.com/excalidraw/excalidraw/pull/6369)
173
+
174
+ - Ensure export preview is centered [#6337](https://github.com/excalidraw/excalidraw/pull/6337)
175
+
176
+ - Hide text align for labelled arrows [#6339](https://github.com/excalidraw/excalidraw/pull/6339)
177
+
178
+ - Refresh dimensions when elements loaded from shareable link and blob [#6333](https://github.com/excalidraw/excalidraw/pull/6333)
179
+
180
+ - Show error message when measureText API breaks in brave [#6336](https://github.com/excalidraw/excalidraw/pull/6336)
181
+
182
+ - Add an offset of 0.5px for text editor in containers [#6328](https://github.com/excalidraw/excalidraw/pull/6328)
183
+
184
+ - Move utility types out of `.d.ts` file to fix exported declaration files [#6315](https://github.com/excalidraw/excalidraw/pull/6315)
185
+
186
+ - More jotai scopes missing [#6313](https://github.com/excalidraw/excalidraw/pull/6313)
187
+
188
+ - Provide HelpButton title prop [#6209](https://github.com/excalidraw/excalidraw/pull/6209)
189
+
190
+ - Respect text align when wrapping in a container [#6310](https://github.com/excalidraw/excalidraw/pull/6310)
191
+
192
+ - Compute bounding box correctly for text element when multiple element resizing [#6307](https://github.com/excalidraw/excalidraw/pull/6307)
193
+
194
+ - Use jotai scope for editor-specific atoms [#6308](https://github.com/excalidraw/excalidraw/pull/6308)
195
+
196
+ - Consider arrow for bound text element [#6297](https://github.com/excalidraw/excalidraw/pull/6297)
197
+
198
+ - Text never goes beyond max width for unbound text elements [#6288](https://github.com/excalidraw/excalidraw/pull/6288)
199
+
200
+ - Svg text baseline [#6285](https://github.com/excalidraw/excalidraw/pull/6273)
201
+
202
+ - Compute container height from bound text correctly [#6273](https://github.com/excalidraw/excalidraw/pull/6273)
203
+
204
+ - Fit mobile toolbar and make scrollable [#6270](https://github.com/excalidraw/excalidraw/pull/6270)
205
+
206
+ - Indenting via `tab` clashing with IME compositor [#6258](https://github.com/excalidraw/excalidraw/pull/6258)
207
+
208
+ - Improve text wrapping inside rhombus and more fixes [#6265](https://github.com/excalidraw/excalidraw/pull/6265)
209
+
210
+ - Improve text wrapping in ellipse and alignment [#6172](https://github.com/excalidraw/excalidraw/pull/6172)
211
+
212
+ - Don't allow blank space in collab name [#6211](https://github.com/excalidraw/excalidraw/pull/6211)
213
+
214
+ - Docker build architecture:linux/amd64 error occur on linux/arm64 instance [#6197](https://github.com/excalidraw/excalidraw/pull/6197)
215
+
216
+ - Sort bound text elements to fix text duplication z-index error [#5130](https://github.com/excalidraw/excalidraw/pull/5130)
217
+
218
+ - Hide welcome screen on mobile once user interacts [#6185](https://github.com/excalidraw/excalidraw/pull/6185)
219
+
220
+ - Edit link in docs [#6182](https://github.com/excalidraw/excalidraw/pull/6182)
221
+
222
+ ### Refactor
223
+
224
+ - Inline `SingleLibraryItem` into `PublishLibrary` [#6462](https://github.com/excalidraw/excalidraw/pull/6462)
225
+
226
+ - Make the example React app reusable without duplication [#6188](https://github.com/excalidraw/excalidraw/pull/6188)
227
+
228
+ ### Performance
229
+
230
+ - Break early if the line width <= max width of the container [#6347](https://github.com/excalidraw/excalidraw/pull/6347)
231
+
232
+ ### Build
233
+
234
+ - Move TS and types to devDependencies [#6346](https://github.com/excalidraw/excalidraw/pull/6346)
235
+
236
+ ---
237
+
238
+ ## 0.14.2 (2023-02-01)
239
+
240
+ ### Features
241
+
242
+ - Welcome screen no longer renders by default, and you need to render it yourself. `UIOptions.welcomeScreen` option is now deprecated. [#6117](https://github.com/excalidraw/excalidraw/pull/6117)
243
+ - `MainMenu`, `MainMenu.Item`, and `MainMenu.ItemLink` components now all support `onSelect(event: Event): void` callback. If you call `event.preventDefault()`, it will prevent the menu from closing when an item is selected (clicked on). [#6152](https://github.com/excalidraw/excalidraw/pull/6152)
244
+
245
+ ### Fixes
246
+
247
+ - declare css variable for font in excalidraw so its available in host [#6160](https://github.com/excalidraw/excalidraw/pull/6160)
248
+
249
+ ## Excalidraw Library
250
+
251
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
252
+
253
+ ### Features
254
+
255
+ - Add hand/panning tool [#6141](https://github.com/excalidraw/excalidraw/pull/6141)
256
+
257
+ - Show copy-as-png export button on firefox and show steps how to enable it [#6125](https://github.com/excalidraw/excalidraw/pull/6125)
258
+
259
+ ### Fixes
260
+
261
+ - Horizontal padding when aligning bound text containers [#6180](https://github.com/excalidraw/excalidraw/pull/6180)
262
+
263
+ - Make tunnels work in multi-instance scenarios [#6178](https://github.com/excalidraw/excalidraw/pull/6178)
264
+
265
+ - Add 1px width to the container to calculate more accurately [#6174](https://github.com/excalidraw/excalidraw/pull/6174)
266
+
267
+ - Quick typo fix [#6167](https://github.com/excalidraw/excalidraw/pull/6167)
268
+
269
+ - Set the width correctly using measureText in editor [#6162](https://github.com/excalidraw/excalidraw/pull/6162)
270
+
271
+ - :bug: broken emojis when wrap text [#6153](https://github.com/excalidraw/excalidraw/pull/6153)
272
+
273
+ - Button background and svg sizes [#6155](https://github.com/excalidraw/excalidraw/pull/6155)
274
+
275
+ ### Styles
276
+
277
+ - Change in ExportButton style [#6147](https://github.com/excalidraw/excalidraw/pull/6147) (#6148)
278
+
279
+ ### Build
280
+
281
+ - Temporarily disable pre-commit [#6132](https://github.com/excalidraw/excalidraw/pull/6132)
282
+
283
+ ---
284
+
285
+ ## 0.14.1 (2023-01-16)
286
+
287
+ ### Fixes
288
+
289
+ - remove overflow hidden from button [#6110](https://github.com/excalidraw/excalidraw/pull/6110). This fixes the collaborator count css in the [LiveCollaborationTrigger](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#LiveCollaborationTrigger) component.
290
+
291
+ ## 0.14.0 (2023-01-13)
292
+
293
+ ### Features
294
+
295
+ - Support customization for the editor [welcome screen](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#WelcomeScreen) [#6048](https://github.com/excalidraw/excalidraw/pull/6048).
296
+
297
+ - Expose component API for the Excalidraw main menu [#6034](https://github.com/excalidraw/excalidraw/pull/6034), You can read more about its usage [here](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#MainMenu)
298
+
299
+ - Support customization for the Excalidraw [main menu](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#MainMenu) [#6034](https://github.com/excalidraw/excalidraw/pull/6034).
300
+
301
+ - [Footer](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#Footer) is now rendered as child component instead of passed as a render prop [#5970](https://github.com/excalidraw/excalidraw/pull/5970).
302
+
303
+ - Any top-level children passed to the `<Excalidraw/>` component that do not belong to one of the officially supported Excalidraw children components are now rendered directly inside the Excalidraw container (previously, they weren't rendered at all) [#6096](https://github.com/excalidraw/excalidraw/pull/6096).
304
+
305
+ - Expose [LiveCollaborationTrigger](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#LiveCollaborationTrigger) component. Replaces `props.onCollabButtonClick` [#6104](https://github.com/excalidraw/excalidraw/pull/6104).
306
+
307
+ #### BREAKING CHANGES
308
+
309
+ - `props.onCollabButtonClick` is now removed. You need to render the main menu item yourself, and optionally also render the `<LiveCollaborationTrigger>` component using [renderTopRightUI](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderTopRightUI) prop if you want to retain the canvas button at top-right.
310
+ - The prop `renderFooter` is now removed in favor of rendering as a child component.
311
+
312
+ ### Excalidraw schema
313
+
314
+ - Merged `appState.currentItemStrokeSharpness` and `appState.currentItemLinearStrokeSharpness` into `appState.currentItemRoundness`. Renamed `changeSharpness` action to `changeRoundness`. Excalidraw element's `strokeSharpness` was changed to `roundness`. Check the PR for types and more details [#5553](https://github.com/excalidraw/excalidraw/pull/5553).
315
+
316
+ ## Excalidraw Library
317
+
318
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
319
+
320
+ ### Features
321
+
322
+ - Generic button export [#6092](https://github.com/excalidraw/excalidraw/pull/6092)
323
+
324
+ - Scroll using PageUp and PageDown [#6038](https://github.com/excalidraw/excalidraw/pull/6038)
325
+
326
+ - Support shrinking text containers to original height when text removed [#6025](https://github.com/excalidraw/excalidraw/pull/6025)
327
+
328
+ - Move contextMenu into the component tree and control via appState [#6021](https://github.com/excalidraw/excalidraw/pull/6021)
329
+
330
+ - Allow readonly actions to be used in viewMode [#5982](https://github.com/excalidraw/excalidraw/pull/5982)
331
+
332
+ - Support labels for arrow 🔥 [#5723](https://github.com/excalidraw/excalidraw/pull/5723)
333
+
334
+ - Don't add midpoint until dragged beyond a threshold [#5927](https://github.com/excalidraw/excalidraw/pull/5927)
335
+
336
+ - Changed text copy/paste behaviour [#5786](https://github.com/excalidraw/excalidraw/pull/5786)
337
+
338
+ - Reintroduce `x` shortcut for `freedraw` [#5840](https://github.com/excalidraw/excalidraw/pull/5840)
339
+
340
+ - Tweak toolbar shortcuts & remove library shortcut [#5832](https://github.com/excalidraw/excalidraw/pull/5832)
341
+
342
+ - Clean unused images only after 24hrs (local-only) [#5839](https://github.com/excalidraw/excalidraw/pull/5839)
343
+
344
+ - Refetch errored/pending images on collab room init load [#5833](https://github.com/excalidraw/excalidraw/pull/5833)
345
+
346
+ - Stop deleting whole line when no point select in line editor [#5676](https://github.com/excalidraw/excalidraw/pull/5676)
347
+
348
+ - Editor redesign 🔥 [#5780](https://github.com/excalidraw/excalidraw/pull/5780)
349
+
350
+ ### Fixes
351
+
352
+ - Mobile tools positioning [#6107](https://github.com/excalidraw/excalidraw/pull/6107)
353
+
354
+ - Renamed folder MainMenu->main-menu and support rest props [#6103](https://github.com/excalidraw/excalidraw/pull/6103)
355
+
356
+ - Use position absolute for mobile misc tools [#6099](https://github.com/excalidraw/excalidraw/pull/6099)
357
+
358
+ - React.memo resolvers not accounting for all props [#6042](https://github.com/excalidraw/excalidraw/pull/6042)
359
+
360
+ - Image horizontal flip fix + improved tests [#5799](https://github.com/excalidraw/excalidraw/pull/5799)
361
+
362
+ - Png-exporting does not preserve angles correctly for flipped images [#6085](https://github.com/excalidraw/excalidraw/pull/6085)
363
+
364
+ - Stale appState of MainMenu defaultItems rendered from Actions [#6074](https://github.com/excalidraw/excalidraw/pull/6074)
365
+
366
+ - HelpDialog [#6072](https://github.com/excalidraw/excalidraw/pull/6072)
367
+
368
+ - Show error message on collab save failure [#6063](https://github.com/excalidraw/excalidraw/pull/6063)
369
+
370
+ - Remove ga from docker build [#6059](https://github.com/excalidraw/excalidraw/pull/6059)
371
+
372
+ - Use displayName since name gets stripped off when uglifying/minifiyng in production [#6036](https://github.com/excalidraw/excalidraw/pull/6036)
373
+
374
+ - Remove background from wysiwyg when editing arrow label [#6033](https://github.com/excalidraw/excalidraw/pull/6033)
375
+
376
+ - Use canvas measureText to calculate width in measureText [#6030](https://github.com/excalidraw/excalidraw/pull/6030)
377
+
378
+ - Restoring deleted bindings [#6029](https://github.com/excalidraw/excalidraw/pull/6029)
379
+
380
+ - ColorPicker getColor [#5949](https://github.com/excalidraw/excalidraw/pull/5949)
381
+
382
+ - Don't push whitespace to next line when exceeding max width during wrapping and make sure to use same width of text editor on DOM when measuring dimensions [#5996](https://github.com/excalidraw/excalidraw/pull/5996)
383
+
384
+ - Showing `grabbing` cursor when holding `spacebar` [#6015](https://github.com/excalidraw/excalidraw/pull/6015)
385
+
386
+ - Resize sometimes throwing on missing null-checks [#6013](https://github.com/excalidraw/excalidraw/pull/6013)
387
+
388
+ - PWA not working after CRA@5 update [#6012](https://github.com/excalidraw/excalidraw/pull/6012)
389
+
390
+ - Not properly restoring element stroke and bg colors [#6002](https://github.com/excalidraw/excalidraw/pull/6002)
391
+
392
+ - Avatar outline on safari & center [#5997](https://github.com/excalidraw/excalidraw/pull/5997)
393
+
394
+ - Chart pasting not working due to removing tab characters [#5987](https://github.com/excalidraw/excalidraw/pull/5987)
395
+
396
+ - Apply the right type of roundness when pasting styles [#5979](https://github.com/excalidraw/excalidraw/pull/5979)
397
+
398
+ - Remove editor onpaste handler [#5971](https://github.com/excalidraw/excalidraw/pull/5971)
399
+
400
+ - Remove blank space [#5950](https://github.com/excalidraw/excalidraw/pull/5950)
401
+
402
+ - Galego and Kurdî missing in languages plus two locale typos [#5954](https://github.com/excalidraw/excalidraw/pull/5954)
403
+
404
+ - `ExcalidrawArrowElement` rather than `ExcalidrawArrowEleement` [#5955](https://github.com/excalidraw/excalidraw/pull/5955)
405
+
406
+ - RenderFooter styling [#5962](https://github.com/excalidraw/excalidraw/pull/5962)
407
+
408
+ - Repair element bindings on restore [#5956](https://github.com/excalidraw/excalidraw/pull/5956)
409
+
410
+ - Don't allow whitespaces for bound text [#5939](https://github.com/excalidraw/excalidraw/pull/5939)
411
+
412
+ - Bindings do not survive history serialization [#5942](https://github.com/excalidraw/excalidraw/pull/5942)
413
+
414
+ - Dedupe boundElement ids when container duplicated with alt+drag [#5938](https://github.com/excalidraw/excalidraw/pull/5938)
415
+
416
+ - Scale font correctly when using shift [#5935](https://github.com/excalidraw/excalidraw/pull/5935)
417
+
418
+ - Always bind to container selected by user [#5880](https://github.com/excalidraw/excalidraw/pull/5880)
419
+
420
+ - Fonts not rendered on init if `loadingdone` not fired [#5923](https://github.com/excalidraw/excalidraw/pull/5923)
421
+
422
+ - Stop replacing `del` word with `Delete` [#5897](https://github.com/excalidraw/excalidraw/pull/5897)
423
+
424
+ - Remove legacy React.render() from the editor [#5893](https://github.com/excalidraw/excalidraw/pull/5893)
425
+
426
+ - Allow adding text via enter only for text containers [#5891](https://github.com/excalidraw/excalidraw/pull/5891)
427
+
428
+ - Stop font `loadingdone` loop when rendering element SVGs [#5883](https://github.com/excalidraw/excalidraw/pull/5883)
429
+
430
+ - Refresh text dimensions only after font load done [#5878](https://github.com/excalidraw/excalidraw/pull/5878)
431
+
432
+ - Correctly paste contents parsed by `JSON.parse()` as text. [#5868](https://github.com/excalidraw/excalidraw/pull/5868)
433
+
434
+ - SVG element attributes in icons.tsx [#5871](https://github.com/excalidraw/excalidraw/pull/5871)
435
+
436
+ - Merge existing text with new when pasted [#5856](https://github.com/excalidraw/excalidraw/pull/5856)
437
+
438
+ - Disable FAST_REFRESH to fix live reload [#5852](https://github.com/excalidraw/excalidraw/pull/5852)
439
+
440
+ - Paste clipboard contents into unbound text elements [#5849](https://github.com/excalidraw/excalidraw/pull/5849)
441
+
442
+ - Compute dimensions of container correctly when text pasted on container [#5845](https://github.com/excalidraw/excalidraw/pull/5845)
443
+
444
+ - Line editor points rendering below elements [#5781](https://github.com/excalidraw/excalidraw/pull/5781)
445
+
446
+ - Syncing 1-point lines to remote clients [#5677](https://github.com/excalidraw/excalidraw/pull/5677)
447
+
448
+ - Incorrectly selecting linear elements on creation while tool-locked [#5785](https://github.com/excalidraw/excalidraw/pull/5785)
449
+
450
+ - Corrected typo in toggle theme shortcut [#5813](https://github.com/excalidraw/excalidraw/pull/5813)
451
+
452
+ - Hide canvas-modifying UI in view mode [#5815](https://github.com/excalidraw/excalidraw/pull/5815)
453
+
454
+ - Fix vertical/horizntal centering icons [#5812](https://github.com/excalidraw/excalidraw/pull/5812)
455
+
456
+ - Consistent use of ZOOM_STEP [#5801](https://github.com/excalidraw/excalidraw/pull/5801)
457
+
458
+ - Multiple elements resizing regressions [#5586](https://github.com/excalidraw/excalidraw/pull/5586)
459
+
460
+ - Changelog typo [#5795](https://github.com/excalidraw/excalidraw/pull/5795)
461
+
462
+ ### Refactor
463
+
464
+ - Remove unnecessary code [#5933](https://github.com/excalidraw/excalidraw/pull/5933)
465
+
466
+ ### Build
467
+
468
+ - Move release scripts to use release branch [#5958](https://github.com/excalidraw/excalidraw/pull/5958)
469
+
470
+ - Stops ignoring .env files from docker context so env variables get set during react app build. [#5809](https://github.com/excalidraw/excalidraw/pull/5809)
471
+
472
+ ---
473
+
474
+ ## 0.13.0 (2022-10-27)
475
+
16
476
  ### Excalidraw API
17
477
 
18
478
  #### Features
19
479
 
20
- - Added support for storing [`customData`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#storing-custom-data-to-excalidraw-elements) on Excalidraw elements [#5592].
21
- - Added `exportPadding?: number;` to [exportToCanvas](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exporttocanvas) and [exportToBlob](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exporttoblob). The default value of the padding is 10.
480
+ - `restoreElements()` now takes an optional parameter to indicate whether we should also recalculate text element dimensions. Defaults to `true`, but since this is a potentially costly operation, you may want to disable it if you restore elements in tight loops, such as during collaboration [#5432](https://github.com/excalidraw/excalidraw/pull/5432).
481
+ - Support rendering custom sidebar using [`renderSidebar`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderSidebar) prop ([#5663](https://github.com/excalidraw/excalidraw/pull/5663)).
482
+ - Add [`toggleMenu`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#toggleMenu) prop to toggle specific menu open/close state ([#5663](https://github.com/excalidraw/excalidraw/pull/5663)).
483
+ - Support [theme](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#theme) to be semi-controlled [#5660](https://github.com/excalidraw/excalidraw/pull/5660).
484
+ - Added support for storing [`customData`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#storing-custom-data-on-excalidraw-elements) on Excalidraw elements [#5592].
485
+ - Added `exportPadding?: number;` to [exportToCanvas](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exporttocanvas) and [exportToBlob](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exporttoblob). The default value of the padding is `10`.
22
486
 
23
487
  #### Breaking Changes
24
488
 
489
+ - `props.UIOptions.canvasActions.theme` is now renamed to `props.UIOptions.canvasActions.toggleTheme` [#5660](https://github.com/excalidraw/excalidraw/pull/5660).
25
490
  - `setToastMessage` API is now renamed to `setToast` API and the function signature is also updated [#5427](https://github.com/excalidraw/excalidraw/pull/5427). You can also pass `duration` and `closable` attributes along with `message`.
26
491
 
492
+ ## Excalidraw Library
493
+
494
+ **_This section lists the updates made to the excalidraw library and will not affect the integration._**
495
+
496
+ ### Features
497
+
498
+ - Render library into `Sidebar` on mobile [#5774](https://github.com/excalidraw/excalidraw/pull/5774)
499
+
500
+ - Additional drag and drop image format support (webp, bmp, ico) [#5749](https://github.com/excalidraw/excalidraw/pull/5749)
501
+
502
+ - Enter and Exit line editor via context menu [#5719](https://github.com/excalidraw/excalidraw/pull/5719)
503
+
504
+ - Further reduce darkmode init flash [#5701](https://github.com/excalidraw/excalidraw/pull/5701)
505
+
506
+ - Support segment midpoints in line editor [#5641](https://github.com/excalidraw/excalidraw/pull/5641)
507
+
508
+ - Added exportPadding to PNG (blob) export in @excalidraw/utils [#5626](https://github.com/excalidraw/excalidraw/pull/5626)
509
+
510
+ - Introduce ExcalidrawElements and ExcalidrawAppState provider [#5463](https://github.com/excalidraw/excalidraw/pull/5463)
511
+
512
+ - Enable midpoint inside linear element editor [#5564](https://github.com/excalidraw/excalidraw/pull/5564)
513
+
514
+ - Show a mid point for linear elements [#5534](https://github.com/excalidraw/excalidraw/pull/5534)
515
+
516
+ - Lock angle when editing linear elements with shift pressed [#5527](https://github.com/excalidraw/excalidraw/pull/5527)
517
+
518
+ - Redesign linear elements 🎉 [#5501](https://github.com/excalidraw/excalidraw/pull/5501)
519
+
520
+ - Cursor alignment when creating linear elements with shift pressed [#5518](https://github.com/excalidraw/excalidraw/pull/5518)
521
+
522
+ - Shift-clamp when creating multi-point lines/arrows [#5500](https://github.com/excalidraw/excalidraw/pull/5500)
523
+
524
+ - Cursor alignment when creating generic elements [#5516](https://github.com/excalidraw/excalidraw/pull/5516)
525
+
526
+ - Make context menu scrollable [#4030](https://github.com/excalidraw/excalidraw/pull/4030)
527
+
528
+ ### Fixes
529
+
530
+ - Ungroup short cut key [#5779](https://github.com/excalidraw/excalidraw/pull/5779)
531
+
532
+ - Replaced KeyboardEvent.code with KeyboardEvent.key for all letters [#5523](https://github.com/excalidraw/excalidraw/pull/5523)
533
+
534
+ - Free draw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)
535
+
536
+ - Wait for window focus until prompting for library install [#5751](https://github.com/excalidraw/excalidraw/pull/5751)
537
+
538
+ - Update perfect freehand library to fix extra dot [#5727](https://github.com/excalidraw/excalidraw/pull/5727)
539
+
540
+ - RestoreElementWithProperties drops "parent" property [#5742](https://github.com/excalidraw/excalidraw/pull/5742)
541
+
542
+ - Horizontal text alignment for bound text when resizing [#5721](https://github.com/excalidraw/excalidraw/pull/5721)
543
+
544
+ - Set the dimensions of bound text correctly [#5710](https://github.com/excalidraw/excalidraw/pull/5710)
545
+
546
+ - Image-mirroring in export preview and in exported svg [#5700](https://github.com/excalidraw/excalidraw/pull/5700)
547
+
548
+ - Double state update incorrectly resetting state [#5704](https://github.com/excalidraw/excalidraw/pull/5704)
549
+
550
+ - Remove no longer used code related to collab room loading [#5699](https://github.com/excalidraw/excalidraw/pull/5699)
551
+
552
+ - Revert webpack deduping to fix `@next` runtime [#5695](https://github.com/excalidraw/excalidraw/pull/5695)
553
+
554
+ - Move to release notes for v0.9.0 and after [#5686](https://github.com/excalidraw/excalidraw/pull/5686)
555
+
556
+ - Zen-mode exit button not working [#5682](https://github.com/excalidraw/excalidraw/pull/5682)
557
+
558
+ - Buttons jump around on the mobile menu [#5658](https://github.com/excalidraw/excalidraw/pull/5658)
559
+
560
+ - #5622 - prevent session theme reset during collaboration [#5640](https://github.com/excalidraw/excalidraw/pull/5640)
561
+
562
+ - Library actions inside the sidebar [#5638](https://github.com/excalidraw/excalidraw/pull/5638)
563
+
564
+ - Don't render library menu twice for mobile [#5636](https://github.com/excalidraw/excalidraw/pull/5636)
565
+
566
+ - Reintroduce help dialog button [#5631](https://github.com/excalidraw/excalidraw/pull/5631)
567
+
568
+ - Add display name to components so it doesn't show as anonymous [#5616](https://github.com/excalidraw/excalidraw/pull/5616)
569
+
570
+ - Improve solveQuadratic when a = 0 [#5618](https://github.com/excalidraw/excalidraw/pull/5618)
571
+
572
+ - Add random tiny offsets to avoid linear elements from being clipped [#5615](https://github.com/excalidraw/excalidraw/pull/5615)
573
+
574
+ - Crash when adding a new point in the line editor #5602 [#5606](https://github.com/excalidraw/excalidraw/pull/5606)
575
+
576
+ - Allow box selection of points when inside editor [#5594](https://github.com/excalidraw/excalidraw/pull/5594)
577
+
578
+ - Remove unnecessary conditions in pointerup for linear elements [#5575](https://github.com/excalidraw/excalidraw/pull/5575)
579
+
580
+ - Check if hitting link in handleSelectionOnPointerDown [#5589](https://github.com/excalidraw/excalidraw/pull/5589)
581
+
582
+ - Points not being normalized on single-elem resize [#5581](https://github.com/excalidraw/excalidraw/pull/5581)
583
+
584
+ - Deselect linear element when clicked inside bounding box outside editor [#5579](https://github.com/excalidraw/excalidraw/pull/5579)
585
+
586
+ - Resize multiple elements from center [#5560](https://github.com/excalidraw/excalidraw/pull/5560)
587
+
588
+ - Call static methods via class instead of instance in linearElementEditor [#5561](https://github.com/excalidraw/excalidraw/pull/5561)
589
+
590
+ - Show bounding box for 3 or more linear point elements [#5554](https://github.com/excalidraw/excalidraw/pull/5554)
591
+
592
+ - Cleanup the condition for dragging elements [#5555](https://github.com/excalidraw/excalidraw/pull/5555)
593
+
594
+ - Shareable links being merged with current scene data [#5547](https://github.com/excalidraw/excalidraw/pull/5547)
595
+
596
+ - Scene lookup failing when looking up by id [#5542](https://github.com/excalidraw/excalidraw/pull/5542)
597
+
598
+ - Remove rounding to fix jitter when shift-editing [#5543](https://github.com/excalidraw/excalidraw/pull/5543)
599
+
600
+ - Line deselected when shift-dragging point outside editor [#5540](https://github.com/excalidraw/excalidraw/pull/5540)
601
+
602
+ - Flip linear elements after redesign [#5538](https://github.com/excalidraw/excalidraw/pull/5538)
603
+
604
+ - Disable locking aspect ratio for box-selection [#5525](https://github.com/excalidraw/excalidraw/pull/5525)
605
+
606
+ - Add `title` attribute to the modal close button [#5521](https://github.com/excalidraw/excalidraw/pull/5521)
607
+
608
+ - Context menu positioning when component has offsets [#5520](https://github.com/excalidraw/excalidraw/pull/5520)
609
+
610
+ - Resolve paths in prebuild.js script [#5498](https://github.com/excalidraw/excalidraw/pull/5498)
611
+
612
+ - Use flushSync when moving line editor since we need to read previous value after setting state [#5508](https://github.com/excalidraw/excalidraw/pull/5508)
613
+
614
+ - UseLayout effect cleanup in dev mode for charts [#5505](https://github.com/excalidraw/excalidraw/pull/5505)
615
+
616
+ - Revert browser toast for high/low zoom [#5495](https://github.com/excalidraw/excalidraw/pull/5495)
617
+
618
+ - Fixing push to DockerHub [#5468](https://github.com/excalidraw/excalidraw/pull/5468)
619
+
620
+ - Incorrectly rendering freedraw elements [#5481](https://github.com/excalidraw/excalidraw/pull/5481)
621
+
622
+ - Generate types when building example [#5480](https://github.com/excalidraw/excalidraw/pull/5480)
623
+
624
+ - Use React.FC as react-dom is not able to infer types of Modal [#5479](https://github.com/excalidraw/excalidraw/pull/5479)
625
+
626
+ - Missing translation for "Scale" to Export Dialog [#5456](https://github.com/excalidraw/excalidraw/pull/5456)
627
+
628
+ - Add display name for Excalidraw component so it doesn't show as anonymous [#5464](https://github.com/excalidraw/excalidraw/pull/5464)
629
+
630
+ - Account for safe area for floating buttons on mobile [#5420](https://github.com/excalidraw/excalidraw/pull/5420)
631
+
632
+ - Attribute warnings in comment svg example [#5465](https://github.com/excalidraw/excalidraw/pull/5465)
633
+
634
+ - Check for ctrl key when wheel event triggered to only disable zooming [#5459](https://github.com/excalidraw/excalidraw/pull/5459)
635
+
636
+ - Disable render throttling by default & during resize [#5451](https://github.com/excalidraw/excalidraw/pull/5451)
637
+
638
+ - Attach wheel event to exscalidraw container only [#5443](https://github.com/excalidraw/excalidraw/pull/5443)
639
+
640
+ - Show toast when browser zoom is not 100% [#5304](https://github.com/excalidraw/excalidraw/pull/5304)
641
+
642
+ - Prevent browser zoom inside Excalidraw [#5426](https://github.com/excalidraw/excalidraw/pull/5426)
643
+
644
+ - Typo in changelog [#5425](https://github.com/excalidraw/excalidraw/pull/5425)
645
+
646
+ ### Refactor
647
+
648
+ - Create a util to compute container dimensions for bound text container [#5708](https://github.com/excalidraw/excalidraw/pull/5708)
649
+
650
+ - Reuse common ui dialogs and message for mobile and LayerUI [#5611](https://github.com/excalidraw/excalidraw/pull/5611)
651
+
652
+ - Stats component [#5610](https://github.com/excalidraw/excalidraw/pull/5610)
653
+
654
+ - Move footer to its own component [#5609](https://github.com/excalidraw/excalidraw/pull/5609)
655
+
656
+ - Remove unused attribute hasHitElementInside from pointerDownState [#5591](https://github.com/excalidraw/excalidraw/pull/5591)
657
+
658
+ - Cleanup renderScene [#5573](https://github.com/excalidraw/excalidraw/pull/5573)
659
+
660
+ - Rename docs to dev-docs [#5487](https://github.com/excalidraw/excalidraw/pull/5487)
661
+
662
+ - Remove unnecessary if condition for linear element onKeyDown [#5486](https://github.com/excalidraw/excalidraw/pull/5486)
663
+
664
+ - Improve typing & check [#5415](https://github.com/excalidraw/excalidraw/pull/5415)
665
+
666
+ - Don't pass zenModeEnable, viewModeEnabled and toggleZenMode props to LayerUI [#5444](https://github.com/excalidraw/excalidraw/pull/5444)
667
+
668
+ ### Build
669
+
670
+ - Add missing dependencies: pica, lodash [#5656](https://github.com/excalidraw/excalidraw/pull/5656)
671
+
672
+ - Move dotenv to dev deps [#5472](https://github.com/excalidraw/excalidraw/pull/5472)
673
+
674
+ ---
675
+
27
676
  ## 0.12.0 (2022-07-07)
28
677
 
29
678
  Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.12.0) )