@dwelle/excalidraw 0.4.0-0beaa512 → 0.4.0-18dc70e

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 (216) hide show
  1. package/CHANGELOG.md +104 -757
  2. package/README.md +72 -16
  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-2002fe1b8862917b36c1.js +2 -0
  8. package/dist/excalidraw-assets/{vendor-ddc717b6da3bea42bb67.js.LICENSE.txt → vendor-2002fe1b8862917b36c1.js.LICENSE.txt} +0 -0
  9. package/dist/excalidraw-assets-dev/Assistant-Bold.woff2 +0 -0
  10. package/dist/excalidraw-assets-dev/Assistant-Medium.woff2 +0 -0
  11. package/dist/excalidraw-assets-dev/Assistant-Regular.woff2 +0 -0
  12. package/dist/excalidraw-assets-dev/Assistant-SemiBold.woff2 +0 -0
  13. package/dist/excalidraw-assets-dev/vendor-e6df8519da951026ff69.js +98 -0
  14. package/dist/excalidraw.development.js +668 -316
  15. package/dist/excalidraw.production.min.js +1 -1
  16. package/dist/excalidraw.production.min.js.LICENSE.txt +1 -8
  17. package/package.json +1 -1
  18. package/types/actions/actionAddToLibrary.d.ts +18 -18
  19. package/types/actions/actionAlign.d.ts +18 -6
  20. package/types/actions/actionBoundText.d.ts +6 -6
  21. package/types/actions/actionCanvas.d.ts +77 -63
  22. package/types/actions/actionClipboard.d.ts +40 -31
  23. package/types/actions/actionDeleteSelected.d.ts +31 -20
  24. package/types/actions/actionDistribute.d.ts +6 -2
  25. package/types/actions/actionDuplicateSelection.d.ts +3 -1
  26. package/types/actions/actionExport.d.ts +87 -71
  27. package/types/actions/actionFinalize.d.ts +15 -13
  28. package/types/actions/actionGroup.d.ts +6 -2
  29. package/types/actions/actionLinearEditor.d.ts +114 -0
  30. package/types/actions/actionMenu.d.ts +27 -21
  31. package/types/actions/actionNavigate.d.ts +3 -1
  32. package/types/actions/actionProperties.d.ts +119 -93
  33. package/types/actions/actionStyles.d.ts +6 -6
  34. package/types/actions/actionToggleGridMode.d.ts +6 -6
  35. package/types/actions/actionToggleLock.d.ts +6 -6
  36. package/types/actions/actionToggleStats.d.ts +6 -6
  37. package/types/actions/actionToggleViewMode.d.ts +6 -6
  38. package/types/actions/actionToggleZenMode.d.ts +6 -6
  39. package/types/actions/actionZindex.d.ts +12 -4
  40. package/types/actions/index.d.ts +1 -0
  41. package/types/actions/manager.d.ts +1 -1
  42. package/types/actions/shortcuts.d.ts +1 -1
  43. package/types/actions/types.d.ts +4 -2
  44. package/types/appState.d.ts +14 -14
  45. package/types/clients.d.ts +1 -1
  46. package/types/clipboard.d.ts +6 -1
  47. package/types/components/Actions.d.ts +3 -2
  48. package/types/components/App.d.ts +54 -2
  49. package/types/components/Avatar.d.ts +1 -1
  50. package/types/components/CollabButton.d.ts +2 -3
  51. package/types/components/DialogActionButton.d.ts +10 -0
  52. package/types/components/Footer.d.ts +2 -1
  53. package/types/components/HelpButton.d.ts +8 -0
  54. package/types/components/HintViewer.d.ts +3 -2
  55. package/types/components/HomeButton.d.ts +5 -0
  56. package/types/components/ImageExportDialog.d.ts +3 -1
  57. package/types/components/InitializeApp.d.ts +2 -0
  58. package/types/components/JSONExportDialog.d.ts +2 -2
  59. package/types/components/LayerUI.d.ts +6 -4
  60. package/types/components/LibraryButton.d.ts +1 -0
  61. package/types/components/LibraryMenu.d.ts +14 -5
  62. package/types/components/LibraryMenuBrowseButton.d.ts +7 -0
  63. package/types/components/LibraryMenuHeaderContent.d.ts +12 -0
  64. package/types/components/LibraryMenuItems.d.ts +5 -14
  65. package/types/components/LibraryUnit.d.ts +2 -3
  66. package/types/components/LoadingMessage.d.ts +2 -0
  67. package/types/components/MenuItem.d.ts +11 -0
  68. package/types/components/MenuUtils.d.ts +1 -0
  69. package/types/components/MobileMenu.d.ts +9 -8
  70. package/types/components/Sidebar/Sidebar.d.ts +12 -6
  71. package/types/components/Sidebar/common.d.ts +8 -3
  72. package/types/components/UserList.d.ts +0 -1
  73. package/types/components/WelcomeScreen.d.ts +10 -0
  74. package/types/components/WelcomeScreenDecor.d.ts +6 -0
  75. package/types/components/icons.d.ts +81 -122
  76. package/types/constants.d.ts +22 -7
  77. package/types/data/blob.d.ts +1 -1
  78. package/types/data/restore.d.ts +1 -1
  79. package/types/data/types.d.ts +16 -1
  80. package/types/element/Hyperlink.d.ts +9 -7
  81. package/types/element/bounds.d.ts +3 -2
  82. package/types/element/image.d.ts +1 -1
  83. package/types/element/index.d.ts +1 -1
  84. package/types/element/linearElementEditor.d.ts +55 -16
  85. package/types/element/newElement.d.ts +16 -3
  86. package/types/element/resizeElements.d.ts +0 -1
  87. package/types/element/textElement.d.ts +23 -4
  88. package/types/element/transformHandles.d.ts +3 -4
  89. package/types/element/typeChecks.d.ts +2 -0
  90. package/types/element/types.d.ts +12 -5
  91. package/types/hooks/useOutsideClick.d.ts +2 -0
  92. package/types/keys.d.ts +13 -3
  93. package/types/math.d.ts +9 -1
  94. package/types/packages/excalidraw/dist/{excalidraw-assets-dev/vendor-c0592035c3911af79359.d.ts → excalidraw-assets/vendor-2002fe1b8862917b36c1.d.ts} +0 -0
  95. package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-2811fad3dc3b42ee3357.d.ts → vendor-e6df8519da951026ff69.d.ts} +0 -0
  96. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +2 -4
  97. package/types/packages/excalidraw/example/App.d.ts +2 -1
  98. package/types/packages/excalidraw/index.d.ts +2 -1
  99. package/types/packages/excalidraw/webpack.dev.config.d.ts +72 -61
  100. package/types/packages/excalidraw/webpack.prod.config.d.ts +85 -70
  101. package/types/renderer/renderElement.d.ts +4 -3
  102. package/types/renderer/renderScene.d.ts +1 -1
  103. package/types/scene/Fonts.d.ts +21 -0
  104. package/types/scene/Scene.d.ts +15 -0
  105. package/types/scene/comparisons.d.ts +2 -3
  106. package/types/scene/index.d.ts +1 -1
  107. package/types/scene/types.d.ts +1 -0
  108. package/types/shapes.d.ts +27 -3
  109. package/types/types.d.ts +34 -17
  110. package/dist/excalidraw-assets/vendor-ddc717b6da3bea42bb67.js +0 -2
  111. package/dist/excalidraw-assets-dev/vendor-2811fad3dc3b42ee3357.js +0 -90
  112. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -9
  113. package/types/components/Card.d.ts +0 -7
  114. package/types/components/HelpIcon.d.ts +0 -8
  115. package/types/components/SidebarLockButton.d.ts +0 -8
  116. package/types/packages/common.webpack.dev.config.d.ts +0 -71
  117. package/types/packages/common.webpack.prod.config.d.ts +0 -83
  118. package/types/packages/excalidraw/dist/excalidraw-assets/locales/ar-SA-json-4ff31c0432fe4c84d726.d.ts +0 -0
  119. package/types/packages/excalidraw/dist/excalidraw-assets/locales/bg-BG-json-1c6eb789a5c90a61edf8.d.ts +0 -0
  120. package/types/packages/excalidraw/dist/excalidraw-assets/locales/bn-BD-json-aa99c5a33f005fb00c6b.d.ts +0 -0
  121. package/types/packages/excalidraw/dist/excalidraw-assets/locales/ca-ES-json-32cf66a0dfdbbafb6903.d.ts +0 -0
  122. package/types/packages/excalidraw/dist/excalidraw-assets/locales/cs-CZ-json-304d08cac870aa0684ec.d.ts +0 -0
  123. package/types/packages/excalidraw/dist/excalidraw-assets/locales/da-DK-json-80c7153473e1427a9a3b.d.ts +0 -0
  124. package/types/packages/excalidraw/dist/excalidraw-assets/locales/de-DE-json-9b88838b2648d7d61f1b.d.ts +0 -0
  125. package/types/packages/excalidraw/dist/excalidraw-assets/locales/el-GR-json-74f57c0f8b11ac1b6dde.d.ts +0 -0
  126. package/types/packages/excalidraw/dist/excalidraw-assets/locales/es-ES-json-ffb4e65453db2f3058d4.d.ts +0 -0
  127. package/types/packages/excalidraw/dist/excalidraw-assets/locales/eu-ES-json-a61838a778c9eacb61ec.d.ts +0 -0
  128. package/types/packages/excalidraw/dist/excalidraw-assets/locales/fa-IR-json-2d0cb1044744ed8e4139.d.ts +0 -0
  129. package/types/packages/excalidraw/dist/excalidraw-assets/locales/fi-FI-json-32bcb6481756ef8af590.d.ts +0 -0
  130. package/types/packages/excalidraw/dist/excalidraw-assets/locales/fr-FR-json-935424b03b86c1d82dcd.d.ts +0 -0
  131. package/types/packages/excalidraw/dist/excalidraw-assets/locales/gl-ES-json-5b417484d91976bce190.d.ts +0 -0
  132. package/types/packages/excalidraw/dist/excalidraw-assets/locales/he-IL-json-3f5bfefb1ad0baf19b6c.d.ts +0 -0
  133. package/types/packages/excalidraw/dist/excalidraw-assets/locales/hi-IN-json-71a38dbb2202baec2bad.d.ts +0 -0
  134. package/types/packages/excalidraw/dist/excalidraw-assets/locales/hu-HU-json-e1275f2b1e6ae6ef4427.d.ts +0 -0
  135. package/types/packages/excalidraw/dist/excalidraw-assets/locales/id-ID-json-da38cd847aaf195c3c20.d.ts +0 -0
  136. package/types/packages/excalidraw/dist/excalidraw-assets/locales/it-IT-json-10923c290e23bd31a5b4.d.ts +0 -0
  137. package/types/packages/excalidraw/dist/excalidraw-assets/locales/ja-JP-json-4c357f8206b88dc44840.d.ts +0 -0
  138. package/types/packages/excalidraw/dist/excalidraw-assets/locales/kab-KAB-json-8303afee283a95237f2b.d.ts +0 -0
  139. package/types/packages/excalidraw/dist/excalidraw-assets/locales/kk-KZ-json-ccf0876179807d1d685a.d.ts +0 -0
  140. package/types/packages/excalidraw/dist/excalidraw-assets/locales/ko-KR-json-f27d159b2556809076aa.d.ts +0 -0
  141. package/types/packages/excalidraw/dist/excalidraw-assets/locales/lt-LT-json-7277ad8dae6d3e6607b3.d.ts +0 -0
  142. package/types/packages/excalidraw/dist/excalidraw-assets/locales/lv-LV-json-cc5e03ed2a09f8f8b60b.d.ts +0 -0
  143. package/types/packages/excalidraw/dist/excalidraw-assets/locales/mr-IN-json-cb316f30d7b40d3e6766.d.ts +0 -0
  144. package/types/packages/excalidraw/dist/excalidraw-assets/locales/my-MM-json-5dcc8e9cb97a4aa1d8bc.d.ts +0 -0
  145. package/types/packages/excalidraw/dist/excalidraw-assets/locales/nb-NO-json-61192c4af6e2231d38ae.d.ts +0 -0
  146. package/types/packages/excalidraw/dist/excalidraw-assets/locales/nl-NL-json-861ac93c048b5296b791.d.ts +0 -0
  147. package/types/packages/excalidraw/dist/excalidraw-assets/locales/nn-NO-json-808362c0cd4eccb6a885.d.ts +0 -0
  148. package/types/packages/excalidraw/dist/excalidraw-assets/locales/oc-FR-json-d5706569ab4023f94c66.d.ts +0 -0
  149. package/types/packages/excalidraw/dist/excalidraw-assets/locales/pa-IN-json-eb38ce8bfc1b974c1455.d.ts +0 -0
  150. package/types/packages/excalidraw/dist/excalidraw-assets/locales/pl-PL-json-55d8dd8a44917364ef63.d.ts +0 -0
  151. package/types/packages/excalidraw/dist/excalidraw-assets/locales/pt-BR-json-686219f43cd76123b7fa.d.ts +0 -0
  152. package/types/packages/excalidraw/dist/excalidraw-assets/locales/pt-PT-json-be4502ca3a1250845c39.d.ts +0 -0
  153. package/types/packages/excalidraw/dist/excalidraw-assets/locales/ro-RO-json-232ea1e0c18745ec6ed9.d.ts +0 -0
  154. package/types/packages/excalidraw/dist/excalidraw-assets/locales/ru-RU-json-ce5fedd8812aa76a0b41.d.ts +0 -0
  155. package/types/packages/excalidraw/dist/excalidraw-assets/locales/si-LK-json-f48a64dfd1cb9c075d2e.d.ts +0 -0
  156. package/types/packages/excalidraw/dist/excalidraw-assets/locales/sk-SK-json-537132ec043d4db7f328.d.ts +0 -0
  157. package/types/packages/excalidraw/dist/excalidraw-assets/locales/sl-SI-json-b69c9fd9b85dac1310c6.d.ts +0 -0
  158. package/types/packages/excalidraw/dist/excalidraw-assets/locales/sv-SE-json-9a8520b202b7181625cf.d.ts +0 -0
  159. package/types/packages/excalidraw/dist/excalidraw-assets/locales/ta-IN-json-15175d03785f7a482568.d.ts +0 -0
  160. package/types/packages/excalidraw/dist/excalidraw-assets/locales/tr-TR-json-c53ae37e848043dd0b89.d.ts +0 -0
  161. package/types/packages/excalidraw/dist/excalidraw-assets/locales/uk-UA-json-15fda426e55236408ef9.d.ts +0 -0
  162. package/types/packages/excalidraw/dist/excalidraw-assets/locales/vi-VN-json-5c276b534d762658589c.d.ts +0 -0
  163. package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-CN-json-0e3236ea93581e6ac2d3.d.ts +0 -0
  164. package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-HK-json-9e8b36ecb4c8399449b1.d.ts +0 -0
  165. package/types/packages/excalidraw/dist/excalidraw-assets/locales/zh-TW-json-441a30840e0721d7f2e2.d.ts +0 -0
  166. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-52b1f3361986b6c6a4fe.d.ts +0 -0
  167. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-ddc717b6da3bea42bb67.d.ts +0 -0
  168. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ar-SA-json-c8fa653de4977a22dad1.d.ts +0 -2
  169. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/bg-BG-json-d7e517c7462119871c76.d.ts +0 -2
  170. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/bn-BD-json-02993b6dba9e7f115b53.d.ts +0 -2
  171. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ca-ES-json-7aabb5b31e7a995a90e3.d.ts +0 -2
  172. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/cs-CZ-json-a9cc158d187424de71d7.d.ts +0 -2
  173. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/da-DK-json-81b641c9b272e91762b8.d.ts +0 -2
  174. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/de-DE-json-e9f68b4434bb76d28151.d.ts +0 -2
  175. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/el-GR-json-2bc44d5450554154e110.d.ts +0 -2
  176. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/es-ES-json-9e5e962b234d2fa5aac2.d.ts +0 -2
  177. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/eu-ES-json-05199638b0e1e11061f3.d.ts +0 -2
  178. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fa-IR-json-2a69e87cf2308b8e78f5.d.ts +0 -2
  179. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fi-FI-json-6f0f0bcd3593bcc8930a.d.ts +0 -2
  180. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/fr-FR-json-f53c7082a6f8691b7258.d.ts +0 -2
  181. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/gl-ES-json-5295fdf24f032f998f75.d.ts +0 -2
  182. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/he-IL-json-19fae6e424c8b418735d.d.ts +0 -2
  183. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/hi-IN-json-f04242b20685f34378a5.d.ts +0 -2
  184. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/hu-HU-json-c8014a1b2a44d4885691.d.ts +0 -2
  185. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/id-ID-json-bcd3ce43f1dbefe3f4d0.d.ts +0 -2
  186. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/it-IT-json-946dc662ecab93b77e69.d.ts +0 -2
  187. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ja-JP-json-77b3461742458e757b59.d.ts +0 -2
  188. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/kab-KAB-json-5e733b113476a350e900.d.ts +0 -2
  189. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/kk-KZ-json-5ec5044574589896438e.d.ts +0 -2
  190. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ko-KR-json-09de6762eea271167b56.d.ts +0 -2
  191. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/lt-LT-json-a17971ff33b8929e96d3.d.ts +0 -2
  192. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/lv-LV-json-2d1a7d044c33d030ecca.d.ts +0 -2
  193. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/mr-IN-json-ed8cde2f50a5f3c08e85.d.ts +0 -2
  194. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/my-MM-json-600fc533d1a1c8d3e2f9.d.ts +0 -2
  195. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nb-NO-json-c7c63cfd529a92ac3510.d.ts +0 -2
  196. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nl-NL-json-7e7200dded88b465781e.d.ts +0 -2
  197. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/nn-NO-json-d654941277fcbace33bf.d.ts +0 -2
  198. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/oc-FR-json-2d347b7f54a867a5478f.d.ts +0 -2
  199. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pa-IN-json-63518bb328bf8b92790c.d.ts +0 -2
  200. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pl-PL-json-92de366ba93223fa3d6a.d.ts +0 -2
  201. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pt-BR-json-5e4c8cd83b785ed859c2.d.ts +0 -2
  202. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/pt-PT-json-a7f89a1c6f1c380141e5.d.ts +0 -2
  203. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ro-RO-json-6903d070f824f8b91709.d.ts +0 -2
  204. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ru-RU-json-110d8aec7823819bf4e3.d.ts +0 -2
  205. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/si-LK-json-ad2dff740d16a23684ff.d.ts +0 -2
  206. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sk-SK-json-209333495d21be527f89.d.ts +0 -2
  207. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sl-SI-json-76bdeb34579c5b1f944f.d.ts +0 -2
  208. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/sv-SE-json-6e768d07fff4e3ed6560.d.ts +0 -2
  209. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/ta-IN-json-059a459deba6d6230393.d.ts +0 -2
  210. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/tr-TR-json-7cc28f1f798ef2dd9864.d.ts +0 -2
  211. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/uk-UA-json-80b2990c3144c6bb1270.d.ts +0 -2
  212. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/vi-VN-json-670ecb0ad40c0453bdfd.d.ts +0 -2
  213. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-CN-json-26caa1a6379860230513.d.ts +0 -2
  214. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-HK-json-179f6dc61b14b96215fa.d.ts +0 -2
  215. package/types/packages/excalidraw/dist/excalidraw-assets-dev/locales/zh-TW-json-2aeeb73d79793ee69bfc.d.ts +0 -2
  216. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +0 -5
package/CHANGELOG.md CHANGED
@@ -13,106 +13,27 @@ Please add the latest change on the top under the correct section.
13
13
 
14
14
  ## Unreleased
15
15
 
16
- ### Excalidraw API
17
-
18
- #### Features
19
-
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.
22
-
23
- #### Breaking Changes
16
+ ### Excalidraw schema
24
17
 
25
- - `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`.
18
+ - 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).
26
19
 
27
- ## 0.12.0 (2022-07-07)
20
+ ## 0.13.0 (2022-10-27)
28
21
 
29
22
  ### Excalidraw API
30
23
 
31
24
  #### Features
32
25
 
33
- - [`loadLibraryFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadLibraryFromBlob) now takes an additional parameter `defaultStatus` which sets the default status of library item if not present, defaults to `unpublished` [#5067](https://github.com/excalidraw/excalidraw/pull/5067).
34
-
35
- - Add [`UIOptions.dockedSidebarBreakpoint`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#dockedSidebarBreakpoint) to customize at which point to break from the docked sidebar [#5274](https://github.com/excalidraw/excalidraw/pull/5274).
36
-
37
- - Added support for supplying user `id` in the Collaborator object (see `collaborators` in [`updateScene()`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateScene)), which will be used to deduplicate users when rendering collaborator avatar list. Cursors will still be rendered for every user. [#5309](https://github.com/excalidraw/excalidraw/pull/5309)
38
-
39
- - Export API to [set](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#setCursor) and [reset](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#resetCursor) mouse cursor on the canvas [#5215](https://github.com/excalidraw/excalidraw/pull/5215).
40
-
41
- - Export [`sceneCoordsToViewportCoords`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPointerDown) and [`viewportCoordsToSceneCoords`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPointerDown) utilities [#5187](https://github.com/excalidraw/excalidraw/pull/5187).
42
-
43
- - Added [`useHandleLibrary`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#useHandleLibrary) hook to automatically handle importing of libraries when `#addLibrary` URL hash key is present, and potentially for initializing library as well [#5115](https://github.com/excalidraw/excalidraw/pull/5115).
44
-
45
- Also added [`parseLibraryTokensFromUrl`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#parseLibraryTokensFromUrl) to help in manually importing library from URL if desired.
46
-
47
- ##### BREAKING CHANGE
48
-
49
- - Libraries are no longer automatically initialized from URL when `#addLibrary` hash key is present. Host apps now need to handle this themselves with the help of either of the above APIs (`useHandleLibrary` is recommended).
50
-
51
- - Added [`updateLibrary`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateLibrary) API to update (replace/merge) the library [#5115](https://github.com/excalidraw/excalidraw/pull/5115).
52
-
53
- ##### BREAKING CHANGE
54
-
55
- - `updateScene` API no longer supports passing `libraryItems`. Instead, use the `updateLibrary` API.
56
-
57
- - Add support for integrating custom elements [#5164](https://github.com/excalidraw/excalidraw/pull/5164).
58
-
59
- - Add [`onPointerDown`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPointerDown) callback which gets triggered on pointer down events.
60
- - Add [`onScrollChange`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onScrollChange) callback which gets triggered when scrolling the canvas.
61
- - Add API [`setActiveTool`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#setActiveTool) which host can call to set the active tool.
62
-
63
- - Exported [`loadSceneOrLibraryFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadSceneOrLibraryFromBlob) function [#5057](https://github.com/excalidraw/excalidraw/pull/5057).
64
- - Export [`MIME_TYPES`](https://github.com/excalidraw/excalidraw/blob/master/src/constants.ts#L92) supported by Excalidraw [#5135](https://github.com/excalidraw/excalidraw/pull/5135).
65
- - Support [`avatarUrl`](https://github.com/excalidraw/excalidraw/blob/master/src/types.ts#L50) for collaborators. Now onwards host can pass `avatarUrl` to render the customized avatar for collaborators [#5114](https://github.com/excalidraw/excalidraw/pull/5114), renamed in [#5177](https://github.com/excalidraw/excalidraw/pull/5177).
66
- - Support `libraryItems` argument in `initialData.libraryItems` and `updateScene({ libraryItems })` to be a Promise resolving to `LibraryItems`, and support functional update of `libraryItems` in [`updateScene({ libraryItems })`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateScene). [#5101](https://github.com/excalidraw/excalidraw/pull/5101).
67
- - Expose util [`mergeLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#mergeLibraryItems) [#5101](https://github.com/excalidraw/excalidraw/pull/5101).
68
- - Expose util [`exportToClipboard`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToClipboard) which allows to copy the scene contents to clipboard as `svg`, `png` or `json` [#5103](https://github.com/excalidraw/excalidraw/pull/5103).
69
- - Expose `window.EXCALIDRAW_EXPORT_SOURCE` which you can use to overwrite the `source` field in exported data [#5095](https://github.com/excalidraw/excalidraw/pull/5095).
70
- - The `exportToBlob` utility now supports the `exportEmbedScene` option when generating a png image [#5047](https://github.com/excalidraw/excalidraw/pull/5047).
71
- - Exported [`restoreLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreLibraryItems) API [#4995](https://github.com/excalidraw/excalidraw/pull/4995).
72
-
73
- #### Fixes
26
+ - `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).
27
+ - 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)).
28
+ - 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/excalidrafiw/excalidraw/pull/5663)).
29
+ - 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).
30
+ - 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].
31
+ - 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`.
74
32
 
75
- - Allow returning `null ` in [`renderFooter`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderFooter) prop [#5282](https://github.com/excalidraw/excalidraw/pull/5282).
76
-
77
- - Transpile `browser-fs-access` dependency so that its `for await` syntax doesn't force `es2018` requirement onto dependent projects [#5041](https://github.com/excalidraw/excalidraw/pull/5041).
78
-
79
- - Use `window.EXCALIDRAW_ASSET_PATH` for fonts when exporting to svg [#5065](https://github.com/excalidraw/excalidraw/pull/5065).
80
- - Library menu now properly rerenders if open when library is updated using `updateScene({ libraryItems })` [#4995](https://github.com/excalidraw/excalidraw/pull/4995).
81
-
82
- #### Refactor
83
-
84
- - Rename `appState.elementLocked` to `appState.activeTool.locked` [#4983](https://github.com/excalidraw/excalidraw/pull/4983).
85
- - Expose [`serializeLibraryAsJSON`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#serializeLibraryAsJSON) helper that we use when saving Excalidraw Library to a file.
86
-
87
- ##### BREAKING CHANGE
88
-
89
- You will need to pass `activeTool.locked` instead of `elementType` from now onwards in `appState`.
90
-
91
- - Rename `appState.elementType` to [`appState.activeTool`](https://github.com/excalidraw/excalidraw/blob/master/src/types.ts#L80) which is now an object [#4698](https://github.com/excalidraw/excalidraw/pull/4968).
92
-
93
- ##### BREAKING CHANGE
94
-
95
- You will need to pass `activeTool` instead of `elementType` from now onwards in `appState`
96
-
97
- ### Build
98
-
99
- - Use only named exports [#5045](https://github.com/excalidraw/excalidraw/pull/5045).
100
-
101
- #### BREAKING CHANGE
102
-
103
- You will need to import the named export from now onwards to use the component
104
-
105
- Using bundler :point_down:
106
-
107
- ```js
108
- import { Excalidraw } from "@excalidraw/excalidraw";
109
- ```
110
-
111
- In Browser :point_down:
33
+ #### Breaking Changes
112
34
 
113
- ```js
114
- React.createElement(ExcalidrawLib.Excalidraw, opts);
115
- ```
35
+ - `props.UIOptions.canvasActions.theme` is now renamed to `props.UIOptions.canvasActions.toggleTheme` [#5660](https://github.com/excalidraw/excalidraw/pull/5660).
36
+ - `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`.
116
37
 
117
38
  ## Excalidraw Library
118
39
 
@@ -120,775 +41,201 @@ React.createElement(ExcalidrawLib.Excalidraw, opts);
120
41
 
121
42
  ### Features
122
43
 
123
- - Throttle scene rendering to animation framerate [#5422](https://github.com/excalidraw/excalidraw/pull/5422)
124
-
125
- - Make toast closable and allow custom duration [#5308](https://github.com/excalidraw/excalidraw/pull/5308)
126
-
127
- - Collab component state handling rewrite & fixes [#5046](https://github.com/excalidraw/excalidraw/pull/5046)
128
-
129
- - Support debugging PWA in dev [#4853](https://github.com/excalidraw/excalidraw/pull/4853)
44
+ - Render library into `Sidebar` on mobile [#5774](https://github.com/excalidraw/excalidraw/pull/5774)
130
45
 
131
- - Redirect vscode.excalidraw.com to vscode marketplace [#5285](https://github.com/excalidraw/excalidraw/pull/5285)
46
+ - Additional drag and drop image format support (webp, bmp, ico) [#5749](https://github.com/excalidraw/excalidraw/pull/5749)
132
47
 
133
- - Go-to-excalidrawplus button [#5202](https://github.com/excalidraw/excalidraw/pull/5202)
48
+ - Enter and Exit line editor via context menu [#5719](https://github.com/excalidraw/excalidraw/pull/5719)
134
49
 
135
- - Autoredirect to Excalidraw+ if special cookie is present [#5183](https://github.com/excalidraw/excalidraw/pull/5183)
50
+ - Further reduce darkmode init flash [#5701](https://github.com/excalidraw/excalidraw/pull/5701)
136
51
 
137
- - Support resubmitting published library items [#5174](https://github.com/excalidraw/excalidraw/pull/5174)
52
+ - Support segment midpoints in line editor [#5641](https://github.com/excalidraw/excalidraw/pull/5641)
138
53
 
139
- - Support adding multiple library items on canvas [#5116](https://github.com/excalidraw/excalidraw/pull/5116)
54
+ - Added exportPadding to PNG (blob) export in @excalidraw/utils [#5626](https://github.com/excalidraw/excalidraw/pull/5626)
140
55
 
141
- - Support customType in activeTool [#5144](https://github.com/excalidraw/excalidraw/pull/5144)
56
+ - Introduce ExcalidrawElements and ExcalidrawAppState provider [#5463](https://github.com/excalidraw/excalidraw/pull/5463)
142
57
 
143
- - Stop event propagation when key handled [#5091](https://github.com/excalidraw/excalidraw/pull/5091)
58
+ - Enable midpoint inside linear element editor [#5564](https://github.com/excalidraw/excalidraw/pull/5564)
144
59
 
145
- - Rewrite library state management & related refactor [#5067](https://github.com/excalidraw/excalidraw/pull/5067)
60
+ - Show a mid point for linear elements [#5534](https://github.com/excalidraw/excalidraw/pull/5534)
146
61
 
147
- - Delay initial loading message & tweak design [#5049](https://github.com/excalidraw/excalidraw/pull/5049)
62
+ - Lock angle when editing linear elements with shift pressed [#5527](https://github.com/excalidraw/excalidraw/pull/5527)
148
63
 
149
- - Reconcile when saving to firebase [#4991](https://github.com/excalidraw/excalidraw/pull/4991)
64
+ - Redesign linear elements 🎉 [#5501](https://github.com/excalidraw/excalidraw/pull/5501)
150
65
 
151
- - Hide trash button during collaboration [#5037](https://github.com/excalidraw/excalidraw/pull/5037)
66
+ - Cursor alignment when creating linear elements with shift pressed [#5518](https://github.com/excalidraw/excalidraw/pull/5518)
152
67
 
153
- - Refactor local persistence & fix race condition on SW reload [#5032](https://github.com/excalidraw/excalidraw/pull/5032)
68
+ - Shift-clamp when creating multi-point lines/arrows [#5500](https://github.com/excalidraw/excalidraw/pull/5500)
154
69
 
155
- - Element locking [#4964](https://github.com/excalidraw/excalidraw/pull/4964)
70
+ - Cursor alignment when creating generic elements [#5516](https://github.com/excalidraw/excalidraw/pull/5516)
156
71
 
157
- - Copy to clipboard all text nodes as text [#5013](https://github.com/excalidraw/excalidraw/pull/5013)
158
-
159
- - Create and expose serializeLibraryAsJSON [#5009](https://github.com/excalidraw/excalidraw/pull/5009)
160
-
161
- - Hide penMode button on reload if not enabled [#4992](https://github.com/excalidraw/excalidraw/pull/4992)
162
-
163
- - Eraser toggle to switch back to the previous tool [#4981](https://github.com/excalidraw/excalidraw/pull/4981)
164
-
165
- - Save penDetected and penMode, and detect pen already on ToolButton click [#4955](https://github.com/excalidraw/excalidraw/pull/4955)
166
-
167
- - Support binding text to container via context menu [#4935](https://github.com/excalidraw/excalidraw/pull/4935)
168
-
169
- - Map shortcut O to ellipse and Add eraser shortcut E [#4930](https://github.com/excalidraw/excalidraw/pull/4930)
170
-
171
- - Update eraser cursor [#4922](https://github.com/excalidraw/excalidraw/pull/4922)
172
-
173
- - Add Eraser 🎉 [#4887](https://github.com/excalidraw/excalidraw/pull/4887)
174
-
175
- - Added optional REACT_APP_WS_SERVER_URL for forks usecases [#4889](https://github.com/excalidraw/excalidraw/pull/4889)
176
-
177
- - Rewrite collab server connecting [#4881](https://github.com/excalidraw/excalidraw/pull/4881)
178
-
179
- - Support vertical text align for bound containers [#4852](https://github.com/excalidraw/excalidraw/pull/4852)
180
-
181
- - Support custom colors 🎉 [#4843](https://github.com/excalidraw/excalidraw/pull/4843)
182
-
183
- - Support Links in Exported SVG [#4791](https://github.com/excalidraw/excalidraw/pull/4791)
184
-
185
- - Scale font size when bound text containers resized with shift pressed [#4828](https://github.com/excalidraw/excalidraw/pull/4828)
72
+ - Make context menu scrollable [#4030](https://github.com/excalidraw/excalidraw/pull/4030)
186
73
 
187
74
  ### Fixes
188
75
 
189
- - Autorelease job name [#5412](https://github.com/excalidraw/excalidraw/pull/5412)
190
-
191
- - Action name for autorelease [#5411](https://github.com/excalidraw/excalidraw/pull/5411)
192
-
193
- - Typecast file to fix the build [#5410](https://github.com/excalidraw/excalidraw/pull/5410)
194
-
195
- - File handle not persisted when importing excalidraw files [#5372](https://github.com/excalidraw/excalidraw/pull/5372)
196
-
197
- - Library not scrollable when no published items installed [#5352](https://github.com/excalidraw/excalidraw/pull/5352)
198
-
199
- - Focus traps inside popovers [#5317](https://github.com/excalidraw/excalidraw/pull/5317)
200
-
201
- - Unable to use cmd/ctrl-delete/backspace in inputs [#5348](https://github.com/excalidraw/excalidraw/pull/5348)
202
-
203
- - Delay loading until language imported [#5344](https://github.com/excalidraw/excalidraw/pull/5344)
204
-
205
- - Command to trigger release [#5347](https://github.com/excalidraw/excalidraw/pull/5347)
206
-
207
- - Remove unnecessary options passed to language detector [#5336](https://github.com/excalidraw/excalidraw/pull/5336)
76
+ - Ungroup short cut key [#5779](https://github.com/excalidraw/excalidraw/pull/5779)
208
77
 
209
- - Stale `appState.pendingImageElement` [#5322](https://github.com/excalidraw/excalidraw/pull/5322)
78
+ - Replaced KeyboardEvent.code with KeyboardEvent.key for all letters [#5523](https://github.com/excalidraw/excalidraw/pull/5523)
210
79
 
211
- - Non-letter shortcuts being swallowed by color picker [#5316](https://github.com/excalidraw/excalidraw/pull/5316)
80
+ - Free draw flip not scaling correctly [#5752](https://github.com/excalidraw/excalidraw/pull/5752)
212
81
 
213
- - Bind text to correct container when nested [#5307](https://github.com/excalidraw/excalidraw/pull/5307)
82
+ - Wait for window focus until prompting for library install [#5751](https://github.com/excalidraw/excalidraw/pull/5751)
214
83
 
215
- - Copy bound text style when copying element having bound text [#5305](https://github.com/excalidraw/excalidraw/pull/5305)
84
+ - Update perfect freehand library to fix extra dot [#5727](https://github.com/excalidraw/excalidraw/pull/5727)
216
85
 
217
- - Copy arrow head when using copy styles [#5303](https://github.com/excalidraw/excalidraw/pull/5303)
86
+ - RestoreElementWithProperties drops "parent" property [#5742](https://github.com/excalidraw/excalidraw/pull/5742)
218
87
 
219
- - Unsafely accessing draggingElement [#5216](https://github.com/excalidraw/excalidraw/pull/5216)
88
+ - Horizontal text alignment for bound text when resizing [#5721](https://github.com/excalidraw/excalidraw/pull/5721)
220
89
 
221
- - Library load button does not work [#5205](https://github.com/excalidraw/excalidraw/pull/5205)
90
+ - Set the dimensions of bound text correctly [#5710](https://github.com/excalidraw/excalidraw/pull/5710)
222
91
 
223
- - Do not deselect when not zooming using touchscreen pinch [#5181](https://github.com/excalidraw/excalidraw/pull/5181)
92
+ - Image-mirroring in export preview and in exported svg [#5700](https://github.com/excalidraw/excalidraw/pull/5700)
224
93
 
225
- - Wheel zoom normalization [#5165](https://github.com/excalidraw/excalidraw/pull/5165)
94
+ - Double state update incorrectly resetting state [#5704](https://github.com/excalidraw/excalidraw/pull/5704)
226
95
 
227
- - Hide sidebar when `custom` tool active [#5179](https://github.com/excalidraw/excalidraw/pull/5179)
96
+ - Remove no longer used code related to collab room loading [#5699](https://github.com/excalidraw/excalidraw/pull/5699)
228
97
 
229
- - Don't save deleted ExcalidrawElements to Firebase [#5108](https://github.com/excalidraw/excalidraw/pull/5108)
98
+ - Revert webpack deduping to fix `@next` runtime [#5695](https://github.com/excalidraw/excalidraw/pull/5695)
230
99
 
231
- - Eraser removed deleted elements [#5155](https://github.com/excalidraw/excalidraw/pull/5155)
100
+ - Move to release notes for v0.9.0 and after [#5686](https://github.com/excalidraw/excalidraw/pull/5686)
232
101
 
233
- - Handle `ColorPicker` parentSelector being undefined [#5152](https://github.com/excalidraw/excalidraw/pull/5152)
102
+ - Zen-mode exit button not working [#5682](https://github.com/excalidraw/excalidraw/pull/5682)
234
103
 
235
- - Library multiselect not accounting for published state [#5132](https://github.com/excalidraw/excalidraw/pull/5132)
104
+ - Buttons jump around on the mobile menu [#5658](https://github.com/excalidraw/excalidraw/pull/5658)
236
105
 
237
- - Chart display fix [#5154](https://github.com/excalidraw/excalidraw/pull/5154)
106
+ - #5622 - prevent session theme reset during collaboration [#5640](https://github.com/excalidraw/excalidraw/pull/5640)
238
107
 
239
- - Update opacity of bound text when opacity of container updated [#5142](https://github.com/excalidraw/excalidraw/pull/5142)
108
+ - Library actions inside the sidebar [#5638](https://github.com/excalidraw/excalidraw/pull/5638)
240
109
 
241
- - Jumping of text when typing single line in bound text [#5139](https://github.com/excalidraw/excalidraw/pull/5139)
110
+ - Don't render library menu twice for mobile [#5636](https://github.com/excalidraw/excalidraw/pull/5636)
242
111
 
243
- - Remove opacity scroll wheel interaction [#5111](https://github.com/excalidraw/excalidraw/pull/5111)
112
+ - Reintroduce help dialog button [#5631](https://github.com/excalidraw/excalidraw/pull/5631)
244
113
 
245
- - Propagate keydown events from excalidraw-wysiwyg inputs [#5099](https://github.com/excalidraw/excalidraw/pull/5099)
114
+ - Add display name to components so it doesn't show as anonymous [#5616](https://github.com/excalidraw/excalidraw/pull/5616)
246
115
 
247
- - Don't bind text to container if double clicked else instead of center [#5105](https://github.com/excalidraw/excalidraw/pull/5105)
116
+ - Improve solveQuadratic when a = 0 [#5618](https://github.com/excalidraw/excalidraw/pull/5618)
248
117
 
249
- - ToolIcon height not using rem [#5092](https://github.com/excalidraw/excalidraw/pull/5092)
118
+ - Add random tiny offsets to avoid linear elements from being clipped [#5615](https://github.com/excalidraw/excalidraw/pull/5615)
250
119
 
251
- - Excalidraw named export type [#5078](https://github.com/excalidraw/excalidraw/pull/5078)
120
+ - Crash when adding a new point in the line editor #5602 [#5606](https://github.com/excalidraw/excalidraw/pull/5606)
252
121
 
253
- - BoundElementIds when arrows bound to elements are deleted [#5077](https://github.com/excalidraw/excalidraw/pull/5077)
122
+ - Allow box selection of points when inside editor [#5594](https://github.com/excalidraw/excalidraw/pull/5594)
254
123
 
255
- - Don't merge libraryItems on updateScene [#5076](https://github.com/excalidraw/excalidraw/pull/5076)
124
+ - Remove unnecessary conditions in pointerup for linear elements [#5575](https://github.com/excalidraw/excalidraw/pull/5575)
256
125
 
257
- - SVG metadata extraction regex on multiline elements [#5074](https://github.com/excalidraw/excalidraw/pull/5074)
126
+ - Check if hitting link in handleSelectionOnPointerDown [#5589](https://github.com/excalidraw/excalidraw/pull/5589)
258
127
 
259
- - Eraser cursor showing on theme change when not using eraser [#4990](https://github.com/excalidraw/excalidraw/pull/4990)
128
+ - Points not being normalized on single-elem resize [#5581](https://github.com/excalidraw/excalidraw/pull/5581)
260
129
 
261
- - Update `storage.rules` [#5020](https://github.com/excalidraw/excalidraw/pull/5020)
130
+ - Deselect linear element when clicked inside bounding box outside editor [#5579](https://github.com/excalidraw/excalidraw/pull/5579)
262
131
 
263
- - Add image button not working on iPad [#5038](https://github.com/excalidraw/excalidraw/pull/5038)
132
+ - Resize multiple elements from center [#5560](https://github.com/excalidraw/excalidraw/pull/5560)
264
133
 
265
- - Ensure svg image dimensions are always set [#5044](https://github.com/excalidraw/excalidraw/pull/5044)
134
+ - Call static methods via class instead of instance in linearElementEditor [#5561](https://github.com/excalidraw/excalidraw/pull/5561)
266
135
 
267
- - Pinch zoom in view mode [#5001](https://github.com/excalidraw/excalidraw/pull/5001)
136
+ - Show bounding box for 3 or more linear point elements [#5554](https://github.com/excalidraw/excalidraw/pull/5554)
268
137
 
269
- - Select whole group on righclick & few lock-related fixes [#5022](https://github.com/excalidraw/excalidraw/pull/5022)
138
+ - Cleanup the condition for dragging elements [#5555](https://github.com/excalidraw/excalidraw/pull/5555)
270
139
 
271
- - Export serializeLibraryAsJSON from the package [#5017](https://github.com/excalidraw/excalidraw/pull/5017)
140
+ - Shareable links being merged with current scene data [#5547](https://github.com/excalidraw/excalidraw/pull/5547)
272
141
 
273
- - Support copying PNG to clipboard on Safari [#3746](https://github.com/excalidraw/excalidraw/pull/3746)
142
+ - Scene lookup failing when looking up by id [#5542](https://github.com/excalidraw/excalidraw/pull/5542)
274
143
 
275
- - More copyText fixes [#5016](https://github.com/excalidraw/excalidraw/pull/5016)
144
+ - Remove rounding to fix jitter when shift-editing [#5543](https://github.com/excalidraw/excalidraw/pull/5543)
276
145
 
277
- - Copy to clipboard all text nodes as text [#5014](https://github.com/excalidraw/excalidraw/pull/5014)
146
+ - Line deselected when shift-dragging point outside editor [#5540](https://github.com/excalidraw/excalidraw/pull/5540)
278
147
 
279
- - Update cursorButton once freedraw is released [#4996](https://github.com/excalidraw/excalidraw/pull/4996)
148
+ - Flip linear elements after redesign [#5538](https://github.com/excalidraw/excalidraw/pull/5538)
280
149
 
281
- - Decouple actionFinalize and actionErase [#4984](https://github.com/excalidraw/excalidraw/pull/4984)
150
+ - Disable locking aspect ratio for box-selection [#5525](https://github.com/excalidraw/excalidraw/pull/5525)
282
151
 
283
- - Using stale state when switching tools [#4989](https://github.com/excalidraw/excalidraw/pull/4989)
152
+ - Add `title` attribute to the modal close button [#5521](https://github.com/excalidraw/excalidraw/pull/5521)
284
153
 
285
- - UpdateWysiwygStyle updatedElement is undefined TypeError [#4980](https://github.com/excalidraw/excalidraw/pull/4980)
154
+ - Context menu positioning when component has offsets [#5520](https://github.com/excalidraw/excalidraw/pull/5520)
286
155
 
287
- - Adding check for link length to prevent early return [#4982](https://github.com/excalidraw/excalidraw/pull/4982)
156
+ - Resolve paths in prebuild.js script [#5498](https://github.com/excalidraw/excalidraw/pull/5498)
288
157
 
289
- - Show link icon for bound text containers [#4960](https://github.com/excalidraw/excalidraw/pull/4960)
158
+ - Use flushSync when moving line editor since we need to read previous value after setting state [#5508](https://github.com/excalidraw/excalidraw/pull/5508)
290
159
 
291
- - Cancel erase elements on pointer up if eraser is not active on pointer up [#4956](https://github.com/excalidraw/excalidraw/pull/4956)
160
+ - UseLayout effect cleanup in dev mode for charts [#5505](https://github.com/excalidraw/excalidraw/pull/5505)
292
161
 
293
- - Restore original opacities when alt pressed while erasing [#4954](https://github.com/excalidraw/excalidraw/pull/4954)
162
+ - Revert browser toast for high/low zoom [#5495](https://github.com/excalidraw/excalidraw/pull/5495)
294
163
 
295
- - Don't bind text to container if already present [#4946](https://github.com/excalidraw/excalidraw/pull/4946)
164
+ - Fixing push to DockerHub [#5468](https://github.com/excalidraw/excalidraw/pull/5468)
296
165
 
297
- - Erase all elements which are hit with single point click [#4934](https://github.com/excalidraw/excalidraw/pull/4934)
166
+ - Incorrectly rendering freedraw elements [#5481](https://github.com/excalidraw/excalidraw/pull/5481)
298
167
 
299
- - Add multiElement-edit finalize action to Desktop (currently only visible in Mobile view) [#4764](https://github.com/excalidraw/excalidraw/pull/4764)
168
+ - Generate types when building example [#5480](https://github.com/excalidraw/excalidraw/pull/5480)
300
169
 
301
- - Hide eraser in view mode in desktop [#4929](https://github.com/excalidraw/excalidraw/pull/4929)
170
+ - Use React.FC as react-dom is not able to infer types of Modal [#5479](https://github.com/excalidraw/excalidraw/pull/5479)
302
171
 
303
- - Undo when erasing elements by clicking [#4921](https://github.com/excalidraw/excalidraw/pull/4921)
172
+ - Missing translation for "Scale" to Export Dialog [#5456](https://github.com/excalidraw/excalidraw/pull/5456)
304
173
 
305
- - Undo when erasing [#4900](https://github.com/excalidraw/excalidraw/pull/4900)
174
+ - Add display name for Excalidraw component so it doesn't show as anonymous [#5464](https://github.com/excalidraw/excalidraw/pull/5464)
306
175
 
307
- - Incorrectly erasing on mobile [#4899](https://github.com/excalidraw/excalidraw/pull/4899)
176
+ - Account for safe area for floating buttons on mobile [#5420](https://github.com/excalidraw/excalidraw/pull/5420)
308
177
 
309
- - Don't crash on drop highlighted text onto canvas [#4890](https://github.com/excalidraw/excalidraw/pull/4890)
178
+ - Attribute warnings in comment svg example [#5465](https://github.com/excalidraw/excalidraw/pull/5465)
310
179
 
311
- - Paste styles shortcut [#4886](https://github.com/excalidraw/excalidraw/pull/4886)
180
+ - Check for ctrl key when wheel event triggered to only disable zooming [#5459](https://github.com/excalidraw/excalidraw/pull/5459)
312
181
 
313
- - Freedraw element's background fill color missing from SVG when exporting with package API exportToSvg() [#4871](https://github.com/excalidraw/excalidraw/pull/4871)
182
+ - Disable render throttling by default & during resize [#5451](https://github.com/excalidraw/excalidraw/pull/5451)
314
183
 
315
- - Improve pointer syncing performance [#4883](https://github.com/excalidraw/excalidraw/pull/4883)
184
+ - Attach wheel event to exscalidraw container only [#5443](https://github.com/excalidraw/excalidraw/pull/5443)
316
185
 
317
- - Collab room initialization [#4882](https://github.com/excalidraw/excalidraw/pull/4882)
186
+ - Show toast when browser zoom is not 100% [#5304](https://github.com/excalidraw/excalidraw/pull/5304)
318
187
 
319
- - Ensure verticalAlign properties not shown when no element selected [#4860](https://github.com/excalidraw/excalidraw/pull/4860)
188
+ - Prevent browser zoom inside Excalidraw [#5426](https://github.com/excalidraw/excalidraw/pull/5426)
320
189
 
321
- - Binding text to non-bindable containers and not always preferring selection [#4655](https://github.com/excalidraw/excalidraw/pull/4655)
322
-
323
- - Don't show align icons for single bound container element [#4846](https://github.com/excalidraw/excalidraw/pull/4846)
324
-
325
- - Redraw text bounding box when pasting styles [#4845](https://github.com/excalidraw/excalidraw/pull/4845)
326
-
327
- - Restore cursor position after bound text container value updated [#4836](https://github.com/excalidraw/excalidraw/pull/4836)
328
-
329
- - Support resizing multiple bound text containers [#4824](https://github.com/excalidraw/excalidraw/pull/4824)
330
-
331
- - Also check overflowY: overlay in detectScroll [#4806](https://github.com/excalidraw/excalidraw/pull/4806)
332
-
333
- - Stuck resizing when resizing bound text container very fast beyond threshold [#4804](https://github.com/excalidraw/excalidraw/pull/4804)
190
+ - Typo in changelog [#5425](https://github.com/excalidraw/excalidraw/pull/5425)
334
191
 
335
192
  ### Refactor
336
193
 
337
- - Don't pass array to handleBindTextResize [#4826](https://github.com/excalidraw/excalidraw/pull/4826)
194
+ - Create a util to compute container dimensions for bound text container [#5708](https://github.com/excalidraw/excalidraw/pull/5708)
338
195
 
339
- ### Build
340
-
341
- - Extract all i18n files into locales folder [#5419](https://github.com/excalidraw/excalidraw/pull/5419)
342
-
343
- - Automate release step fully [#5414](https://github.com/excalidraw/excalidraw/pull/5414)
196
+ - Reuse common ui dialogs and message for mobile and LayerUI [#5611](https://github.com/excalidraw/excalidraw/pull/5611)
344
197
 
345
- - Use next and preview tags instead of separate packages for next and preview release [#5346](https://github.com/excalidraw/excalidraw/pull/5346)
198
+ - Stats component [#5610](https://github.com/excalidraw/excalidraw/pull/5610)
346
199
 
347
- - Support runtime React Jsx in @excalidraw/utils [#4866](https://github.com/excalidraw/excalidraw/pull/4866)
200
+ - Move footer to its own component [#5609](https://github.com/excalidraw/excalidraw/pull/5609)
348
201
 
349
- - Release @excalidraw/utils 0.1.1 [#4862](https://github.com/excalidraw/excalidraw/pull/4862)
350
-
351
- - Remove build packages workflow [#4835](https://github.com/excalidraw/excalidraw/pull/4835)
352
-
353
- ---
354
-
355
- ## 0.11.0 (2022-02-17)
356
-
357
- ## Excalidraw API
358
-
359
- ### Features
360
-
361
- - Add `onLinkOpen` prop which will be triggered when clicked on element hyperlink if present [#4694](https://github.com/excalidraw/excalidraw/pull/4694).
362
- - Support updating library using [`updateScene`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#updateScene) API [#4546](https://github.com/excalidraw/excalidraw/pull/4546).
363
-
364
- - Introduced primary colors to the app. The colors can be overridden. Check [readme](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#customizing-styles) on how to do so [#4387](https://github.com/excalidraw/excalidraw/pull/4387).
365
-
366
- - [`exportToBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToBlob) now automatically sets `appState.exportBackground` to `true` if exporting to `image/jpeg` MIME type (to ensure that alpha channel is not compressed to black color) [#4342](https://github.com/excalidraw/excalidraw/pull/4342).
367
-
368
- #### BREAKING CHANGE
202
+ - Remove unused attribute hasHitElementInside from pointerDownState [#5591](https://github.com/excalidraw/excalidraw/pull/5591)
369
203
 
370
- Remove `getElementMap` util [#4306](https://github.com/excalidraw/excalidraw/pull/4306).
204
+ - Cleanup renderScene [#5573](https://github.com/excalidraw/excalidraw/pull/5573)
371
205
 
372
- - Changes to [`exportToCanvas`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToCanvas) util function [#4321](https://github.com/excalidraw/excalidraw/pull/4321):
206
+ - Rename docs to dev-docs [#5487](https://github.com/excalidraw/excalidraw/pull/5487)
373
207
 
374
- - Add `maxWidthOrHeight?: number` attribute.
375
- - `scale` returned from `getDimensions()` is now optional (default to `1`).
208
+ - Remove unnecessary if condition for linear element onKeyDown [#5486](https://github.com/excalidraw/excalidraw/pull/5486)
376
209
 
377
- - Image support added for host [PR](https://github.com/excalidraw/excalidraw/pull/4011)
210
+ - Improve typing & check [#5415](https://github.com/excalidraw/excalidraw/pull/5415)
378
211
 
379
- General notes:
380
-
381
- - File data are encoded as DataURLs (base64) for portability reasons.
382
-
383
- [ExcalidrawAPI](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onLibraryChange):
384
-
385
- - added `getFiles()` to get current `BinaryFiles` (`Record<FileId, BinaryFileData>`). It may contain files that aren't referenced by any element, so if you're persisting the files to a storage, you should compare them against stored elements.
386
-
387
- Excalidraw app props:
388
-
389
- - added `generateIdForFile(file: File)` optional prop so you can generate your own ids for added files.
390
- - `onChange(elements, appState, files)` prop callback is now passed `BinaryFiles` as third argument.
391
- - `onPaste(data, event)` data prop should contain `data.files` (`BinaryFiles`) if the elements pasted are referencing new files.
392
- - `initialData` object now supports additional `files` (`BinaryFiles`) attribute.
393
-
394
- Other notes:
395
-
396
- - `.excalidraw` files may now contain top-level `files` key in format of `Record<FileId, BinaryFileData>` when exporting any (image) elements.
397
- - Changes were made to various export utilities exported from the package so that they take `files`, you can refer to the docs for the same.
398
-
399
- - Export [`isLinearElement`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#isLinearElement) and [`getNonDeletedElements`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#getNonDeletedElements) [#4072](https://github.com/excalidraw/excalidraw/pull/4072).
400
-
401
- - Support [`renderTopRightUI`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#renderTopRightUI) in mobile UI [#4065](https://github.com/excalidraw/excalidraw/pull/4065).
402
-
403
- - Export `THEME` constant from the package so host can use this when passing the theme [#4055](https://github.com/excalidraw/excalidraw/pull/4055).
404
-
405
- #### BREAKING CHANGE
406
-
407
- The `Appearance` type is now removed and renamed to `Theme` so `Theme` type needs to be used.
408
-
409
- ### Fixes
410
-
411
- - Reset `unmounted` state on the component once component mounts to fix the mounting/unmounting repeatedly when used with `useEffect` [#4682](https://github.com/excalidraw/excalidraw/pull/4682).
412
- - Panning the canvas using `mousewheel-drag` and `space-drag` now prevents the browser from scrolling the container/page [#4489](https://github.com/excalidraw/excalidraw/pull/4489).
413
- - Scope drag and drop events to Excalidraw container to prevent overriding host application drag and drop events [#4445](https://github.com/excalidraw/excalidraw/pull/4445).
212
+ - Don't pass zenModeEnable, viewModeEnabled and toggleZenMode props to LayerUI [#5444](https://github.com/excalidraw/excalidraw/pull/5444)
414
213
 
415
214
  ### Build
416
215
 
417
- - Release preview package [@excalidraw/excalidraw-preview](https://www.npmjs.com/package/@excalidraw/excalidraw-preview) when triggered via comment
418
-
419
- ```
420
- @excalibot trigger release
421
- ```
422
-
423
- [#4750](https://github.com/excalidraw/excalidraw/pull/4750).
216
+ - Add missing dependencies: pica, lodash [#5656](https://github.com/excalidraw/excalidraw/pull/5656)
424
217
 
425
- - Added an example to test and develop the package [locally](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#Development) using `yarn start` [#4488](https://github.com/excalidraw/excalidraw/pull/4488)
426
-
427
- - Remove `file-loader` so font assets are not duplicated by webpack and use webpack asset modules for font generation [#4380](https://github.com/excalidraw/excalidraw/pull/4380).
428
-
429
- - We're now compiling to `es2017` target. Notably, `async/await` is not compiled down to generators. [#4341](https://github.com/excalidraw/excalidraw/pull/4341).
218
+ - Move dotenv to dev deps [#5472](https://github.com/excalidraw/excalidraw/pull/5472)
430
219
 
431
220
  ---
432
221
 
433
- ## Excalidraw Library
434
-
435
- **_This section lists the updates made to the excalidraw library and will not affect the integration._**
436
-
437
- ### Features
438
-
439
- - Show group/group and link action in mobile [#4795](https://github.com/excalidraw/excalidraw/pull/4795)
440
-
441
- - Support background fill for freedraw shapes [#4610](https://github.com/excalidraw/excalidraw/pull/4610)
442
-
443
- - Keep selected tool on canvas reset [#4728](https://github.com/excalidraw/excalidraw/pull/4728)
444
-
445
- - Make whole element clickable in view mode when it has hyperlink [#4735](https://github.com/excalidraw/excalidraw/pull/4735)
446
-
447
- - Allow any precision when zooming [#4730](https://github.com/excalidraw/excalidraw/pull/4730)
448
-
449
- - Throttle `pointermove` events per framerate [#4727](https://github.com/excalidraw/excalidraw/pull/4727)
450
-
451
- - Support hyperlinks 🔥 [#4620](https://github.com/excalidraw/excalidraw/pull/4620)
452
-
453
- - Added penMode for palm rejection [#4657](https://github.com/excalidraw/excalidraw/pull/4657)
454
-
455
- - Support unbinding bound text [#4686](https://github.com/excalidraw/excalidraw/pull/4686)
456
-
457
- - Sync local storage state across tabs when out of sync [#4545](https://github.com/excalidraw/excalidraw/pull/4545)
458
-
459
- - Support contextMenuLabel to be of function type to support dynamic labels [#4654](https://github.com/excalidraw/excalidraw/pull/4654)
460
-
461
- - Support decreasing/increasing `fontSize` via keyboard [#4553](https://github.com/excalidraw/excalidraw/pull/4553)
462
-
463
- - Link to new LP for excalidraw plus [#4549](https://github.com/excalidraw/excalidraw/pull/4549)
464
-
465
- - Update stroke color of bounded text along with container [#4541](https://github.com/excalidraw/excalidraw/pull/4541)
466
-
467
- - Hints and shortcuts help around deep selection [#4502](https://github.com/excalidraw/excalidraw/pull/4502)
468
-
469
- - Support updating text properties by clicking on container [#4499](https://github.com/excalidraw/excalidraw/pull/4499)
470
-
471
- - Bind text to shapes when pressing enter and support sticky notes 🎉 [#4343](https://github.com/excalidraw/excalidraw/pull/4343)
472
-
473
- - Change `boundElementIds` → `boundElements` [#4404](https://github.com/excalidraw/excalidraw/pull/4404)
474
-
475
- - Support selecting multiple points when editing line [#4373](https://github.com/excalidraw/excalidraw/pull/4373)
476
-
477
- - Horizontally center toolbar menu [commit link](https://github.com/excalidraw/excalidraw/commit/9b8ee3cacfec239617c357693cf2a3ca9972d2cb)
478
-
479
- - Add support for rounded corners in diamond [#4369](https://github.com/excalidraw/excalidraw/pull/4369)
480
-
481
- - Allow zooming up to 3000% [#4358](https://github.com/excalidraw/excalidraw/pull/4358)
482
-
483
- - Stop discarding precision when rendering [#4357](https://github.com/excalidraw/excalidraw/pull/4357)
484
-
485
- - Support Image binding [#4347](https://github.com/excalidraw/excalidraw/pull/4347)
486
-
487
- - Add `element.updated` [#4070](https://github.com/excalidraw/excalidraw/pull/4070)
488
-
489
- - Compress shareLink data when uploading to json server [#4225](https://github.com/excalidraw/excalidraw/pull/4225)
490
-
491
- - Supply `version` param when installing libraries [#4305](https://github.com/excalidraw/excalidraw/pull/4305)
492
-
493
- - Log FS abortError to console [#4279](https://github.com/excalidraw/excalidraw/pull/4279)
494
-
495
- - Add validation for website and remove validation for library item name [#4269](https://github.com/excalidraw/excalidraw/pull/4269)
496
-
497
- - Allow publishing libraries from UI [#4115](https://github.com/excalidraw/excalidraw/pull/4115)
498
-
499
- - Create confirm dialog to use instead of window.confirm [#4256](https://github.com/excalidraw/excalidraw/pull/4256)
500
-
501
- - Allow letters in IDs for storing files in backend [#4224](https://github.com/excalidraw/excalidraw/pull/4224)
502
-
503
- - Remove support for V1 unencrypted backend [#4189](https://github.com/excalidraw/excalidraw/pull/4189)
504
-
505
- - Use separate backend for local storage [#4187](https://github.com/excalidraw/excalidraw/pull/4187)
506
-
507
- - Add hint around canvas panning [#4159](https://github.com/excalidraw/excalidraw/pull/4159)
508
-
509
- - Stop using production services for development [#4113](https://github.com/excalidraw/excalidraw/pull/4113)
510
-
511
- - Add triangle arrowhead [#4024](https://github.com/excalidraw/excalidraw/pull/4024)
512
-
513
- - Add rewrite to webex landing page [#4102](https://github.com/excalidraw/excalidraw/pull/4102)
514
-
515
- - Switch collab server [#4092](https://github.com/excalidraw/excalidraw/pull/4092)
516
-
517
- - Use dialog component for clear canvas instead of window confirm [#4075](https://github.com/excalidraw/excalidraw/pull/4075)
518
-
519
- ### Fixes
520
-
521
- - Rename --color-primary-chubb to --color-primary-contrast-offset and fallback to primary color if not present [#4803](https://github.com/excalidraw/excalidraw/pull/4803)
522
-
523
- - Add commits directly pushed to master in changelog [#4798](https://github.com/excalidraw/excalidraw/pull/4798)
524
-
525
- - Don't bump element version when adding files data [#4794](https://github.com/excalidraw/excalidraw/pull/4794)
526
-
527
- - Mobile link click [#4742](https://github.com/excalidraw/excalidraw/pull/4742)
528
-
529
- - ContextMenu timer & pointers not correctly reset on iOS [#4765](https://github.com/excalidraw/excalidraw/pull/4765)
530
-
531
- - Use absolute coords when rendering link popover [#4753](https://github.com/excalidraw/excalidraw/pull/4753)
532
-
533
- - Changing font size when text is not selected or edited [#4751](https://github.com/excalidraw/excalidraw/pull/4751)
534
-
535
- - Disable contextmenu on non-secondary `pen` events or `touch` [#4675](https://github.com/excalidraw/excalidraw/pull/4675)
536
-
537
- - Mobile context menu won't show on long press [#4741](https://github.com/excalidraw/excalidraw/pull/4741)
538
-
539
- - Do not open links twice [#4738](https://github.com/excalidraw/excalidraw/pull/4738)
540
-
541
- - Make link icon clickable in mobile [#4736](https://github.com/excalidraw/excalidraw/pull/4736)
542
-
543
- - Apple Pen missing strokes [#4705](https://github.com/excalidraw/excalidraw/pull/4705)
544
-
545
- - Freedraw slow movement jittery lines [#4726](https://github.com/excalidraw/excalidraw/pull/4726)
546
-
547
- - Disable three finger pinch zoom in penMode [#4725](https://github.com/excalidraw/excalidraw/pull/4725)
548
-
549
- - Remove click listener for opening popup [#4700](https://github.com/excalidraw/excalidraw/pull/4700)
550
-
551
- - Link popup position not accounting for offsets [#4695](https://github.com/excalidraw/excalidraw/pull/4695)
552
-
553
- - PenMode darkmode style [#4692](https://github.com/excalidraw/excalidraw/pull/4692)
554
-
555
- - Typing `_+` in wysiwyg not working [#4681](https://github.com/excalidraw/excalidraw/pull/4681)
556
-
557
- - Keyboard-zooming in wysiwyg should zoom canvas [#4676](https://github.com/excalidraw/excalidraw/pull/4676)
558
-
559
- - SceneCoordsToViewportCoords, jumping text when there is an offset [#4413](https://github.com/excalidraw/excalidraw/pull/4413) (#4630)
560
-
561
- - Right-click object menu displays partially off-screen [#4572](https://github.com/excalidraw/excalidraw/pull/4572) (#4631)
562
-
563
- - Support collaboration in bound text [#4573](https://github.com/excalidraw/excalidraw/pull/4573)
564
-
565
- - Cmd/ctrl native browser behavior blocked in inputs [#4589](https://github.com/excalidraw/excalidraw/pull/4589)
566
-
567
- - Use cached width when calculating min width during resize [#4585](https://github.com/excalidraw/excalidraw/pull/4585)
568
-
569
- - Support collaboration in bounded text [#4580](https://github.com/excalidraw/excalidraw/pull/4580)
570
-
571
- - Port for collab server and update docs [#4569](https://github.com/excalidraw/excalidraw/pull/4569)
572
-
573
- - Don't mutate the bounded text if not updated when submitted [#4543](https://github.com/excalidraw/excalidraw/pull/4543)
574
-
575
- - Prevent canvas drag while editing text [#4552](https://github.com/excalidraw/excalidraw/pull/4552)
576
-
577
- - Support shift+P for freedraw [#4550](https://github.com/excalidraw/excalidraw/pull/4550)
578
-
579
- - Prefer spreadsheet data over image [#4533](https://github.com/excalidraw/excalidraw/pull/4533)
580
-
581
- - Show text properties button states correctly for bounded text [#4542](https://github.com/excalidraw/excalidraw/pull/4542)
582
-
583
- - Rotate bounded text when container is rotated before typing [#4535](https://github.com/excalidraw/excalidraw/pull/4535)
584
-
585
- - Undo should work when selecting bounded textr [#4537](https://github.com/excalidraw/excalidraw/pull/4537)
586
-
587
- - Reduce padding to 5px for bounded text [#4530](https://github.com/excalidraw/excalidraw/pull/4530)
588
-
589
- - Bound text doesn't inherit container [#4521](https://github.com/excalidraw/excalidraw/pull/4521)
590
-
591
- - Text wrapping with grid [#4505](https://github.com/excalidraw/excalidraw/pull/4505) (#4506)
592
-
593
- - Check if process is defined before using so it works in browser [#4497](https://github.com/excalidraw/excalidraw/pull/4497)
594
-
595
- - Pending review fixes for sticky notes [#4493](https://github.com/excalidraw/excalidraw/pull/4493)
596
-
597
- - Pasted elements except binded text once paste action is complete [#4472](https://github.com/excalidraw/excalidraw/pull/4472)
598
-
599
- - Don't select binded text when ungrouping [#4470](https://github.com/excalidraw/excalidraw/pull/4470)
600
-
601
- - Set height correctly when text properties updated while editing in container until first submit [#4469](https://github.com/excalidraw/excalidraw/pull/4469)
602
-
603
- - Align and distribute binded text in container and cleanup [#4468](https://github.com/excalidraw/excalidraw/pull/4468)
604
-
605
- - Move binded text when moving container using keyboard [#4466](https://github.com/excalidraw/excalidraw/pull/4466)
606
-
607
- - Support dragging binded text in container selected in a group [#4462](https://github.com/excalidraw/excalidraw/pull/4462)
608
-
609
- - Vertically align single line when deleting text in bounded container [#4460](https://github.com/excalidraw/excalidraw/pull/4460)
610
-
611
- - Update height correctly when updating text properties in binded text [#4459](https://github.com/excalidraw/excalidraw/pull/4459)
612
-
613
- - Align library item previews to center [#4447](https://github.com/excalidraw/excalidraw/pull/4447)
614
-
615
- - Vertically center align text when text deleted [#4457](https://github.com/excalidraw/excalidraw/pull/4457)
616
-
617
- - Vertically center the first line as user starts typing in container [#4454](https://github.com/excalidraw/excalidraw/pull/4454)
618
-
619
- - Switch cursor to center of container when adding text when dimensions are too small [#4452](https://github.com/excalidraw/excalidraw/pull/4452)
620
-
621
- - Vertically center align the bounded text correctly when zoomed [#4444](https://github.com/excalidraw/excalidraw/pull/4444)
622
-
623
- - Support updating stroke color for text by typing in color picker input [#4415](https://github.com/excalidraw/excalidraw/pull/4415)
624
-
625
- - Bound text not atomic with container when changing z-index [#4414](https://github.com/excalidraw/excalidraw/pull/4414)
626
-
627
- - Update viewport coords correctly when editing text [#4416](https://github.com/excalidraw/excalidraw/pull/4416)
628
-
629
- - Use word-break break-word only and update text editor height only when binded to container [#4410](https://github.com/excalidraw/excalidraw/pull/4410)
630
-
631
- - Husky not able to execute pre-commit on windows [#4370](https://github.com/excalidraw/excalidraw/pull/4370)
632
-
633
- - Make firebase config parsing not fail on undefined env [#4381](https://github.com/excalidraw/excalidraw/pull/4381)
634
-
635
- - Adding to library via contextmenu when no image is selected [#4356](https://github.com/excalidraw/excalidraw/pull/4356)
636
-
637
- - Export scale quality regression [#4316](https://github.com/excalidraw/excalidraw/pull/4316)
638
-
639
- - Remove `100%` height from tooltip container to fix layout issues [#3980](https://github.com/excalidraw/excalidraw/pull/3980)
640
-
641
- - Inline ENV variables when building excalidraw package [#4311](https://github.com/excalidraw/excalidraw/pull/4311)
642
-
643
- - SVG export in dark mode with embedded bitmap image [#4285](https://github.com/excalidraw/excalidraw/pull/4285)
644
-
645
- - New FS API not working on Linux [#4280](https://github.com/excalidraw/excalidraw/pull/4280)
646
-
647
- - Url -> URL for consistency [#4277](https://github.com/excalidraw/excalidraw/pull/4277)
648
-
649
- - Prevent adding images to library via contextMenu [#4264](https://github.com/excalidraw/excalidraw/pull/4264)
650
-
651
- - Account for libraries v2 when prompting [#4263](https://github.com/excalidraw/excalidraw/pull/4263)
652
-
653
- - Skia rendering issues [#4200](https://github.com/excalidraw/excalidraw/pull/4200)
654
-
655
- - Ellipse roughness when `0` [#4194](https://github.com/excalidraw/excalidraw/pull/4194)
656
-
657
- - Proper string for invalid SVG [#4191](https://github.com/excalidraw/excalidraw/pull/4191)
658
-
659
- - Images not initialized correctly [#4157](https://github.com/excalidraw/excalidraw/pull/4157)
660
-
661
- - Image-related fixes [#4147](https://github.com/excalidraw/excalidraw/pull/4147)
662
-
663
- - Rewrite collab element reconciliation to fix z-index issues [#4076](https://github.com/excalidraw/excalidraw/pull/4076)
664
-
665
- - Redirect excalidraw.com/about to for-webex.excalidraw.com [#4104](https://github.com/excalidraw/excalidraw/pull/4104)
666
-
667
- - Redirect to webex LP instead of rewrite to fix SW [#4103](https://github.com/excalidraw/excalidraw/pull/4103)
668
-
669
- - Clear image/shape cache of affected elements when adding files [#4089](https://github.com/excalidraw/excalidraw/pull/4089)
670
-
671
- - Clear `LibraryUnit` DOM on unmount [#4084](https://github.com/excalidraw/excalidraw/pull/4084)
672
-
673
- - Pasting images on firefox [#4085](https://github.com/excalidraw/excalidraw/pull/4085)
674
-
675
- ### Refactor
676
-
677
- - Simplify zoom by removing `zoom.translation` [#4477](https://github.com/excalidraw/excalidraw/pull/4477)
678
-
679
- - Deduplicate encryption helpers [#4146](https://github.com/excalidraw/excalidraw/pull/4146)
680
-
681
- ### Performance
682
-
683
- - Cache approx line height in textwysiwg [#4651](https://github.com/excalidraw/excalidraw/pull/4651)
684
-
685
- ### Build
686
-
687
- - Rename release command to 'release package' [#4783](https://github.com/excalidraw/excalidraw/pull/4783)
688
-
689
- - Deploy excalidraw package example [#4762](https://github.com/excalidraw/excalidraw/pull/4762)
690
-
691
- - Allow package.json changes when autoreleasing next [#4068](https://github.com/excalidraw/excalidraw/pull/4068)
692
-
693
- ---
694
-
695
- ## 0.10.0 (2021-10-13)
696
-
697
- ## Excalidraw API
698
-
699
- ### Fixes
700
-
701
- - Don't show save file to disk button in export dialog when `saveFileToDisk` passed as `false` in [`UIOptions.canvasActions.export`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportOpts) [#4073](https://github.com/excalidraw/excalidraw/pull/4073).
702
-
703
- - [`onPaste`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPaste) prop should return false to prevent the native excalidraw paste action [#3974](https://github.com/excalidraw/excalidraw/pull/3974).
704
-
705
- #### BREAKING CHANGE
706
-
707
- - Earlier the paste action was prevented when the prop [`onPaste`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#onPaste) returned true, but now it should return false to prevent the paste action. This was done to make it semantically more correct and intuitive.
708
-
709
- ### Build
710
-
711
- - Enable jsx transform in webpack [#4049](https://github.com/excalidraw/excalidraw/pull/4049)
712
-
713
- ### Docs
714
-
715
- - Correct exportToBackend in README to onExportToBackend [#3952](https://github.com/excalidraw/excalidraw/pull/3952)
222
+ ## 0.12.0 (2022-07-07)
716
223
 
717
- ## Excalidraw Library
224
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.12.0) )
718
225
 
719
226
  **_This section lists the updates made to the excalidraw library and will not affect the integration._**
720
227
 
721
- ### Features
722
-
723
- - Improve freedraw shape [#3984](https://github.com/excalidraw/excalidraw/pull/3984)
724
-
725
- - Make color ARIA labels better [#3871](https://github.com/excalidraw/excalidraw/pull/3871)
726
-
727
- - Add origin trial tokens [#3853](https://github.com/excalidraw/excalidraw/pull/3853)
728
-
729
- - Re-order zoom buttons [#3837](https://github.com/excalidraw/excalidraw/pull/3837)
730
-
731
- - Add undo/redo buttons & tweak footer [#3832](https://github.com/excalidraw/excalidraw/pull/3832)
732
-
733
- - Resave to png/svg with metadata if you loaded your scene from a png/svg file [#3645](https://github.com/excalidraw/excalidraw/pull/3645)
734
-
735
- ### Fixes
736
-
737
- - Abstract and fix legacy fs [#4032](https://github.com/excalidraw/excalidraw/pull/4032)
738
-
739
- - Context menu positioning [#4025](https://github.com/excalidraw/excalidraw/pull/4025)
740
-
741
- - Added alert for bad encryption key [#3998](https://github.com/excalidraw/excalidraw/pull/3998)
742
-
743
- - OnPaste should return false to prevent paste action [#3974](https://github.com/excalidraw/excalidraw/pull/3974)
744
-
745
- - Help-icon now visible on Safari [#3939](https://github.com/excalidraw/excalidraw/pull/3939)
746
-
747
- - Permanent zoom mode [#3931](https://github.com/excalidraw/excalidraw/pull/3931)
228
+ ## 0.11.0 (2022-02-17)
748
229
 
749
- - Undo/redo buttons gap in Safari [#3836](https://github.com/excalidraw/excalidraw/pull/3836)
230
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.11.0)
750
231
 
751
- - Prevent gradual canvas misalignment [#3833](https://github.com/excalidraw/excalidraw/pull/3833)
232
+ ## 0.10.0 (2021-10-13)
752
233
 
753
- - Color picker shortcuts not working when elements selected [#3817](https://github.com/excalidraw/excalidraw/pull/3817)
754
-
755
- ---
234
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.10.0)
756
235
 
757
236
  ## 0.9.0 (2021-07-10)
758
237
 
759
- ## Excalidraw API
760
-
761
- ### Features
762
-
763
- - [`restore(data, localAppState, localElements)`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restore) and [`restoreElements(elements, localElements)`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreElements) now take `localElements` argument which will be used to ensure existing elements' versions are used and incremented. This fixes an issue where importing the same file would resolve to elements with older versions, potentially causing issues when reconciling [#3797](https://github.com/excalidraw/excalidraw/pull/3797).
764
-
765
- #### BREAKING CHANGE
766
-
767
- - `localElements` argument is mandatory (can be `null`/`undefined`) if using TypeScript.
768
-
769
- - Support `appState.exportEmbedScene` attribute in [`exportToSvg`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToSvg) which allows to embed the scene data [#3777](https://github.com/excalidraw/excalidraw/pull/3777).
770
-
771
- #### BREAKING CHANGE
772
-
773
- - The attribute `metadata` is now removed as `metadata` was only used to embed scene data which is now supported with the `appState.exportEmbedScene` attribute.
774
- - [`exportToSvg`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportToSvg) now resolves to a promise which resolves to `svg` of the exported drawing.
775
-
776
- - Expose [`loadLibraryFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadLibraryFromBlobY), [`loadFromBlob`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#loadFromBlob), and [`getFreeDrawSvgPath`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#getFreeDrawSvgPath) [#3764](https://github.com/excalidraw/excalidraw/pull/3764).
777
-
778
- - Expose [`FONT_FAMILY`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#FONT_FAMILY) so that consumer can use when passing `initialData.appState.currentItemFontFamily` [#3710](https://github.com/excalidraw/excalidraw/pull/3710).
779
-
780
- - Added prop [`autoFocus`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#autoFocus) to focus the excalidraw component on page load when enabled, defaults to false [#3691](https://github.com/excalidraw/excalidraw/pull/3691).
781
-
782
- Note: Earlier Excalidraw component was focused by default on page load, you need to enable `autoFocus` prop to retain the same behaviour.
783
-
784
- - Added prop `UIOptions.canvasActions.export.renderCustomUI` to support Custom UI rendering inside export dialog [#3666](https://github.com/excalidraw/excalidraw/pull/3666).
785
- - Added prop `UIOptions.canvasActions.saveAsImage` to show/hide the **Save as image** button in the canvas actions. Defaults to `true` hence the **Save as Image** button is rendered [#3662](https://github.com/excalidraw/excalidraw/pull/3662).
786
-
787
- - Export dialog can be customised with [`UiOptions.canvasActions.export`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#exportOpts) [#3658](https://github.com/excalidraw/excalidraw/pull/3658).
788
-
789
- Also, [`UIOptions`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#UIOptions) is now memoized to avoid unnecessary rerenders.
790
-
791
- #### BREAKING CHANGE
792
-
793
- - `UIOptions.canvasActions.saveAsScene` is now renamed to `UiOptions.canvasActions.export.saveFileToDisk`. Defaults to `true` hence the **save file to disk** button is rendered inside the export dialog.
794
- - `exportToBackend` is now renamed to `UIOptions.canvasActions.export.exportToBackend`. If this prop is not passed, the **shareable-link** button will not be rendered, same as before.
795
-
796
- ### Fixes
797
-
798
- - Use excalidraw Id in elements so every element has unique id [#3696](https://github.com/excalidraw/excalidraw/pull/3696).
799
-
800
- ### Refactor
801
-
802
- - #### BREAKING CHANGE
803
- - Rename `UIOptions.canvasActions.saveScene` to `UIOptions.canvasActions.saveToActiveFile`[#3657](https://github.com/excalidraw/excalidraw/pull/3657).
804
- - Removed `shouldAddWatermark: boolean` attribute from options for [export](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#export-utilities) APIs [#3639](https://github.com/excalidraw/excalidraw/pull/3639).
805
- - Removed `appState.shouldAddWatermark` so in case you were passing `shouldAddWatermark` in [initialData.AppState](https://github.com/excalidraw/excalidraw/blob/master/src/types.ts#L42) it will not work anymore.
806
-
807
- ## Excalidraw Library
808
-
809
- **_This section lists the updates made to the excalidraw library and will not affect the integration._**
810
-
811
- ### Features
812
-
813
- - Switch to selection tool on library item insert [#3773](https://github.com/excalidraw/excalidraw/pull/3773)
814
-
815
- - Show active file name when saving to current file [#3733](https://github.com/excalidraw/excalidraw/pull/3733)
816
-
817
- - Add hint around text editing [#3708](https://github.com/excalidraw/excalidraw/pull/3708)
818
-
819
- - Change library icon to be more clear [#3583](https://github.com/excalidraw/excalidraw/pull/3583)
820
-
821
- - Pass current `theme` when installing libraries [#3701](https://github.com/excalidraw/excalidraw/pull/3701)
822
-
823
- - Update virgil font [#3692](https://github.com/excalidraw/excalidraw/pull/3692)
824
-
825
- - Support exporting json to excalidraw plus [#3678](https://github.com/excalidraw/excalidraw/pull/3678)
826
-
827
- - Save exportScale in AppState [#3580](https://github.com/excalidraw/excalidraw/pull/3580)
828
-
829
- - Add shortcuts for stroke and background color picker [#3318](https://github.com/excalidraw/excalidraw/pull/3318)
830
-
831
- - Exporting redesign [#3613](https://github.com/excalidraw/excalidraw/pull/3613)
832
-
833
- - Auto-position tooltip and support overflowing container [#3631](https://github.com/excalidraw/excalidraw/pull/3631)
834
-
835
- - Auto release @excalidraw/excalidraw-next on every change [#3614](https://github.com/excalidraw/excalidraw/pull/3614)
836
-
837
- - Allow inner-drag-selecting with cmd/ctrl [#3603](https://github.com/excalidraw/excalidraw/pull/3603)
838
-
839
- ### Fixes
840
-
841
- - view mode cursor adjustments [#3809](https://github.com/excalidraw/excalidraw/pull/3809).
842
-
843
- - Pass next release to updatePackageVersion & replace ## unreleased with new version [#3806](https://github.com/excalidraw/excalidraw/pull/3806)
844
-
845
- - Include deleted elements when passing to restore [#3802](https://github.com/excalidraw/excalidraw/pull/3802)
846
-
847
- - Import React before using jsx [#3804](https://github.com/excalidraw/excalidraw/pull/3804)
848
-
849
- - Ensure `s` and `g` shortcuts work on no selection [#3800](https://github.com/excalidraw/excalidraw/pull/3800)
850
-
851
- - Keep binding for attached arrows after changing text [#3754](https://github.com/excalidraw/excalidraw/pull/3754)
852
-
853
- - Deselect elements on viewMode toggle [#3741](https://github.com/excalidraw/excalidraw/pull/3741)
854
-
855
- - Allow pointer events for disable zen mode button [#3743](https://github.com/excalidraw/excalidraw/pull/3743)
856
-
857
- - Use rgba instead of shorthand alpha [#3688](https://github.com/excalidraw/excalidraw/pull/3688)
858
-
859
- - Color pickers not opening on mobile [#3676](https://github.com/excalidraw/excalidraw/pull/3676)
860
-
861
- - On contextMenu, use selected element regardless of z-index [#3668](https://github.com/excalidraw/excalidraw/pull/3668)
862
-
863
- - SelectedGroupIds not being stored in history [#3630](https://github.com/excalidraw/excalidraw/pull/3630)
864
-
865
- - Overscroll on touch devices [#3663](https://github.com/excalidraw/excalidraw/pull/3663)
866
-
867
- - Small UI issues around image export dialog [#3642](https://github.com/excalidraw/excalidraw/pull/3642)
868
-
869
- - Normalize linear element points on restore [#3633](https://github.com/excalidraw/excalidraw/pull/3633)
870
-
871
- - Disable pointer-events on footer-center container [#3629](https://github.com/excalidraw/excalidraw/pull/3629)
872
-
873
- ### Refactor
874
-
875
- - Delete React SyntheticEvent persist [#3700](https://github.com/excalidraw/excalidraw/pull/3700)
876
-
877
- - Code clean up [#3681](https://github.com/excalidraw/excalidraw/pull/3681)
878
-
879
- ### Performance
880
-
881
- - Improve arrow head sizing [#3480](https://github.com/excalidraw/excalidraw/pull/3480)
882
-
883
- ### Build
884
-
885
- - Add release script to update relevant files and commit for next release [#3805](https://github.com/excalidraw/excalidraw/pull/3805)
886
-
887
- - Add script to update changelog before a stable release [#3784](https://github.com/excalidraw/excalidraw/pull/3784)
888
-
889
- - Add script to update readme before stable release [#3781](https://github.com/excalidraw/excalidraw/pull/3781)
890
-
891
- ---
238
+ Check out the [release notes](https://github.com/excalidraw/excalidraw/releases/tag/v0.9.0)
892
239
 
893
240
  ## 0.8.0 (2021-05-15)
894
241