@excalidraw/excalidraw 0.17.1-890ed9f → 0.17.1-96eeec5

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 (451) hide show
  1. package/CHANGELOG.md +15 -2
  2. package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js → blockDiagram-91b80b7a-H47FTXHA.js} +5 -5
  3. package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js → c4Diagram-b2a90758-NNJK6GKC.js} +3 -3
  4. package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js → chunk-4KQVEBHW.js} +3 -3
  5. package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js → chunk-53YI56GV.js} +4 -4
  6. package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js → chunk-A2WCJI4I.js} +3 -3
  7. package/dist/browser/dev/excalidraw-assets-dev/{chunk-WQFMSDPT.js → chunk-DEYXWPUO.js} +7503 -2575
  8. package/dist/browser/dev/excalidraw-assets-dev/chunk-DEYXWPUO.js.map +7 -0
  9. package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js → chunk-EFLPX7NE.js} +6 -6
  10. package/dist/browser/dev/excalidraw-assets-dev/{chunk-XOM7LNOU.js → chunk-EM6LVGFW.js} +27 -4
  11. package/dist/browser/dev/excalidraw-assets-dev/chunk-EM6LVGFW.js.map +7 -0
  12. package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js → chunk-JYIQCNWV.js} +2 -2
  13. package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js → chunk-LVIQQW6F.js} +2 -2
  14. package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js → chunk-PXLO3FOU.js} +2 -2
  15. package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js → chunk-TO2AW5PW.js} +2 -2
  16. package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js → chunk-VURILHLY.js} +2 -2
  17. package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js → chunk-ZAYGSUHF.js} +2 -2
  18. package/dist/browser/dev/excalidraw-assets-dev/{chunk-Z3PH3V2B.js → chunk-ZQR5ML6Y.js} +26 -26
  19. package/dist/browser/dev/excalidraw-assets-dev/chunk-ZQR5ML6Y.js.map +7 -0
  20. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js → classDiagram-30eddba6-CUYIJICN.js} +5 -5
  21. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js → classDiagram-v2-f2df5561-K6WW6K73.js} +8 -8
  22. package/dist/browser/dev/excalidraw-assets-dev/{dist-Z46EOVOL.js → dist-6QVAH5JA.js} +37 -15
  23. package/dist/browser/dev/excalidraw-assets-dev/dist-6QVAH5JA.js.map +7 -0
  24. package/dist/browser/dev/excalidraw-assets-dev/{en-TR4QLF5E.js → en-AZFA5HJJ.js} +4 -2
  25. package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js → erDiagram-47591fe2-XGAD7EEP.js} +4 -4
  26. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js → flowDiagram-5540d9b9-B6EOVNNO.js} +9 -9
  27. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js → flowDiagram-v2-3b53844e-NUG24FJH.js} +9 -9
  28. package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js → flowchart-elk-definition-5fe447d6-25Y7PCBL.js} +5 -5
  29. package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js → ganttDiagram-9a3bba1f-GNL6ZDTC.js} +2 -2
  30. package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js → gitGraphDiagram-96e6b4ee-HNW52NVO.js} +2 -2
  31. package/dist/browser/dev/excalidraw-assets-dev/{image-OIPMBJGR.js → image-5XCR4WHS.js} +2 -2
  32. package/dist/browser/dev/excalidraw-assets-dev/{image-OFRRV5MB.css → image-O66MQ7WQ.css} +1 -1
  33. package/dist/browser/dev/excalidraw-assets-dev/image-O66MQ7WQ.css.map +7 -0
  34. package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js → infoDiagram-bcd20f53-FWEUVFLT.js} +2 -2
  35. package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js → journeyDiagram-4fe6b3dc-RZIUI7UG.js} +3 -3
  36. package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js → mindmap-definition-f354de21-GBVN45GU.js} +3 -3
  37. package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js → pieDiagram-79897490-ECENNII6.js} +2 -2
  38. package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js → quadrantDiagram-62f64e94-ZMEOFVNL.js} +2 -2
  39. package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js → requirementDiagram-05bf5f74-FHZSFHCR.js} +4 -4
  40. package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js → sankeyDiagram-97764748-VDKIKTA6.js} +2 -2
  41. package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js → sequenceDiagram-acc0e65c-6JUSPVKX.js} +3 -3
  42. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js → stateDiagram-0ff1cf1a-L3AKWENF.js} +5 -5
  43. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js → stateDiagram-v2-9a9d610d-NU3GGMCH.js} +8 -8
  44. package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js → timeline-definition-fea2a41d-JGP7XCHW.js} +2 -2
  45. package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js → xychartDiagram-ab372869-HLFHHF2I.js} +3 -3
  46. package/dist/browser/dev/index.css +199 -77
  47. package/dist/browser/dev/index.css.map +3 -3
  48. package/dist/browser/dev/index.js +12477 -8028
  49. package/dist/browser/dev/index.js.map +4 -4
  50. package/dist/browser/prod/excalidraw-assets/{blockDiagram-91b80b7a-ONPS22AM.js → blockDiagram-91b80b7a-FVCRVGN5.js} +1 -1
  51. package/dist/browser/prod/excalidraw-assets/{c4Diagram-b2a90758-XMIQY7ZT.js → c4Diagram-b2a90758-56CXO7GA.js} +1 -1
  52. package/dist/browser/prod/excalidraw-assets/{chunk-GCHQBOKV.js → chunk-635MQ3CK.js} +1 -1
  53. package/dist/browser/prod/excalidraw-assets/{chunk-5SYIAZGL.js → chunk-7DXALCB2.js} +5 -5
  54. package/dist/browser/prod/excalidraw-assets/{chunk-P5M3G2RP.js → chunk-AIKXYJX3.js} +1 -1
  55. package/dist/browser/prod/excalidraw-assets/{chunk-E2YLWFZX.js → chunk-CR7VMNWC.js} +1 -1
  56. package/dist/browser/prod/excalidraw-assets/{chunk-WEYK4A2L.js → chunk-FFF2CSVG.js} +1 -1
  57. package/dist/browser/prod/excalidraw-assets/{chunk-R3HAIP6R.js → chunk-G4WDCSPE.js} +1 -1
  58. package/dist/browser/prod/excalidraw-assets/{chunk-HFOXJM22.js → chunk-HKZSHFLX.js} +1 -1
  59. package/dist/browser/prod/excalidraw-assets/{chunk-XIMFFJTE.js → chunk-IKCDYWMW.js} +1 -1
  60. package/dist/browser/prod/excalidraw-assets/{chunk-AHLLBBVJ.js → chunk-L5DS24G6.js} +1 -1
  61. package/dist/browser/prod/excalidraw-assets/{chunk-CQJF3C6G.js → chunk-MUNOKHUD.js} +1 -1
  62. package/dist/browser/prod/excalidraw-assets/chunk-ODWTVSS7.js +68 -0
  63. package/dist/browser/prod/excalidraw-assets/{chunk-NI6SYCUG.js → chunk-QOQYOOQ4.js} +1 -1
  64. package/dist/browser/prod/excalidraw-assets/{chunk-I2PZFXTK.js → chunk-ZTIWFPBM.js} +21 -21
  65. package/dist/browser/prod/excalidraw-assets/{classDiagram-30eddba6-IEJXXCVX.js → classDiagram-30eddba6-BCUTAUMD.js} +1 -1
  66. package/dist/browser/prod/excalidraw-assets/{classDiagram-v2-f2df5561-7LZDSWOS.js → classDiagram-v2-f2df5561-6SOXSGQ2.js} +1 -1
  67. package/dist/browser/prod/excalidraw-assets/dist-567JAXHK.js +7 -0
  68. package/dist/browser/prod/excalidraw-assets/en-6E7MYLWO.js +1 -0
  69. package/dist/browser/prod/excalidraw-assets/{erDiagram-47591fe2-E5V666CF.js → erDiagram-47591fe2-RE6HB7RM.js} +1 -1
  70. package/dist/browser/prod/excalidraw-assets/{flowDiagram-5540d9b9-GMBRCYVF.js → flowDiagram-5540d9b9-ZNJZBERW.js} +1 -1
  71. package/dist/browser/prod/excalidraw-assets/{flowDiagram-v2-3b53844e-Z4HUWP6B.js → flowDiagram-v2-3b53844e-LY44JLQJ.js} +1 -1
  72. package/dist/browser/prod/excalidraw-assets/{flowchart-elk-definition-5fe447d6-5ZCYTX5N.js → flowchart-elk-definition-5fe447d6-TMTJ6Z7O.js} +1 -1
  73. package/dist/browser/prod/excalidraw-assets/{ganttDiagram-9a3bba1f-WM32OMT5.js → ganttDiagram-9a3bba1f-5O6EA6LX.js} +1 -1
  74. package/dist/browser/prod/excalidraw-assets/{gitGraphDiagram-96e6b4ee-CAKZ2U6E.js → gitGraphDiagram-96e6b4ee-UHYNM5DI.js} +1 -1
  75. package/dist/browser/prod/excalidraw-assets/image-LQAMCFQI.js +1 -0
  76. package/dist/browser/prod/excalidraw-assets/{infoDiagram-bcd20f53-MUIKXGC4.js → infoDiagram-bcd20f53-BP77NQEH.js} +1 -1
  77. package/dist/browser/prod/excalidraw-assets/{journeyDiagram-4fe6b3dc-NYRV4HK2.js → journeyDiagram-4fe6b3dc-XMGKCMES.js} +1 -1
  78. package/dist/browser/prod/excalidraw-assets/{mindmap-definition-f354de21-MY55DRSM.js → mindmap-definition-f354de21-ZQRRBRWF.js} +1 -1
  79. package/dist/browser/prod/excalidraw-assets/{pieDiagram-79897490-47L6J6L2.js → pieDiagram-79897490-IGXEC2KX.js} +1 -1
  80. package/dist/browser/prod/excalidraw-assets/{quadrantDiagram-62f64e94-DF5C2GDT.js → quadrantDiagram-62f64e94-WTHHDYJL.js} +1 -1
  81. package/dist/browser/prod/excalidraw-assets/{requirementDiagram-05bf5f74-C4IMUBDN.js → requirementDiagram-05bf5f74-MV4OFRVW.js} +1 -1
  82. package/dist/browser/prod/excalidraw-assets/{sankeyDiagram-97764748-YHW7EUST.js → sankeyDiagram-97764748-ZGYUHEJT.js} +1 -1
  83. package/dist/browser/prod/excalidraw-assets/{sequenceDiagram-acc0e65c-H3XEHT32.js → sequenceDiagram-acc0e65c-IBSENK6W.js} +1 -1
  84. package/dist/browser/prod/excalidraw-assets/{stateDiagram-0ff1cf1a-Z5WB6Q3P.js → stateDiagram-0ff1cf1a-DB73XNZH.js} +1 -1
  85. package/dist/browser/prod/excalidraw-assets/{stateDiagram-v2-9a9d610d-T7OZETQC.js → stateDiagram-v2-9a9d610d-2OOBUPNR.js} +1 -1
  86. package/dist/browser/prod/excalidraw-assets/{timeline-definition-fea2a41d-VVC22BWF.js → timeline-definition-fea2a41d-P3NQQVDU.js} +1 -1
  87. package/dist/browser/prod/excalidraw-assets/{xychartDiagram-ab372869-JAXODQF7.js → xychartDiagram-ab372869-HI3XLK3Y.js} +1 -1
  88. package/dist/browser/prod/index.css +1 -1
  89. package/dist/browser/prod/index.js +69 -51
  90. package/dist/{prod/en-XW4JO6VX.json → dev/en-EB2MBPAV.json} +24 -3
  91. package/dist/dev/index.css +199 -77
  92. package/dist/dev/index.css.map +3 -3
  93. package/dist/dev/index.js +15120 -11334
  94. package/dist/dev/index.js.map +4 -4
  95. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +16 -7
  96. package/dist/excalidraw/actions/actionAddToLibrary.js +4 -3
  97. package/dist/excalidraw/actions/actionAlign.d.ts +22 -22
  98. package/dist/excalidraw/actions/actionAlign.js +7 -6
  99. package/dist/excalidraw/actions/actionBoundText.d.ts +18 -12
  100. package/dist/excalidraw/actions/actionBoundText.js +7 -4
  101. package/dist/excalidraw/actions/actionCanvas.d.ts +100 -64
  102. package/dist/excalidraw/actions/actionCanvas.js +17 -14
  103. package/dist/excalidraw/actions/actionClipboard.d.ts +52 -31
  104. package/dist/excalidraw/actions/actionClipboard.js +14 -13
  105. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +22 -13
  106. package/dist/excalidraw/actions/actionDeleteSelected.js +6 -3
  107. package/dist/excalidraw/actions/actionDistribute.d.ts +10 -10
  108. package/dist/excalidraw/actions/actionDistribute.js +3 -2
  109. package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +7 -8
  110. package/dist/excalidraw/actions/actionDuplicateSelection.js +4 -4
  111. package/dist/excalidraw/actions/actionElementLock.d.ts +17 -11
  112. package/dist/excalidraw/actions/actionElementLock.js +3 -2
  113. package/dist/excalidraw/actions/actionExport.d.ts +68 -41
  114. package/dist/excalidraw/actions/actionExport.js +15 -11
  115. package/dist/excalidraw/actions/actionFinalize.d.ts +17 -11
  116. package/dist/excalidraw/actions/actionFinalize.js +7 -3
  117. package/dist/excalidraw/actions/actionFlip.d.ts +10 -10
  118. package/dist/excalidraw/actions/actionFlip.js +9 -9
  119. package/dist/excalidraw/actions/actionFrame.d.ts +186 -21
  120. package/dist/excalidraw/actions/actionFrame.js +7 -6
  121. package/dist/excalidraw/actions/actionGroup.d.ts +24 -18
  122. package/dist/excalidraw/actions/actionGroup.js +7 -11
  123. package/dist/excalidraw/actions/actionHistory.d.ts +4 -3
  124. package/dist/excalidraw/actions/actionHistory.js +27 -31
  125. package/dist/excalidraw/actions/actionLinearEditor.d.ts +10 -5
  126. package/dist/excalidraw/actions/actionLinearEditor.js +21 -5
  127. package/dist/excalidraw/actions/actionLink.d.ts +9 -6
  128. package/dist/excalidraw/actions/actionLink.js +2 -1
  129. package/dist/excalidraw/actions/actionMenu.d.ts +20 -11
  130. package/dist/excalidraw/actions/actionMenu.js +4 -3
  131. package/dist/excalidraw/actions/actionNavigate.d.ts +12 -6
  132. package/dist/excalidraw/actions/actionNavigate.js +3 -2
  133. package/dist/excalidraw/actions/actionProperties.d.ts +86 -47
  134. package/dist/excalidraw/actions/actionProperties.js +19 -14
  135. package/dist/excalidraw/actions/actionSelectAll.d.ts +9 -6
  136. package/dist/excalidraw/actions/actionSelectAll.js +2 -1
  137. package/dist/excalidraw/actions/actionStyles.d.ts +15 -12
  138. package/dist/excalidraw/actions/actionStyles.js +4 -3
  139. package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  140. package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
  141. package/dist/excalidraw/actions/actionToggleGridMode.d.ts +9 -6
  142. package/dist/excalidraw/actions/actionToggleGridMode.js +2 -1
  143. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +8 -5
  144. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.js +2 -1
  145. package/dist/excalidraw/actions/actionToggleStats.d.ts +9 -5
  146. package/dist/excalidraw/actions/actionToggleStats.js +6 -4
  147. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +8 -5
  148. package/dist/excalidraw/actions/actionToggleViewMode.js +2 -1
  149. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +8 -5
  150. package/dist/excalidraw/actions/actionToggleZenMode.js +2 -1
  151. package/dist/excalidraw/actions/actionZindex.d.ts +20 -16
  152. package/dist/excalidraw/actions/actionZindex.js +9 -4
  153. package/dist/excalidraw/actions/manager.d.ts +5 -5
  154. package/dist/excalidraw/actions/register.d.ts +1 -1
  155. package/dist/excalidraw/actions/shortcuts.d.ts +2 -2
  156. package/dist/excalidraw/actions/types.d.ts +8 -8
  157. package/dist/excalidraw/align.d.ts +1 -1
  158. package/dist/excalidraw/animated-trail.d.ts +2 -2
  159. package/dist/excalidraw/appState.d.ts +9 -6
  160. package/dist/excalidraw/appState.js +6 -3
  161. package/dist/excalidraw/change.d.ts +191 -0
  162. package/dist/excalidraw/change.js +901 -0
  163. package/dist/excalidraw/charts.d.ts +1 -1
  164. package/dist/excalidraw/clients.d.ts +2 -2
  165. package/dist/excalidraw/clients.js +1 -1
  166. package/dist/excalidraw/clipboard.d.ts +3 -3
  167. package/dist/excalidraw/colors.d.ts +1 -1
  168. package/dist/excalidraw/components/Actions.d.ts +3 -3
  169. package/dist/excalidraw/components/Actions.js +9 -6
  170. package/dist/excalidraw/components/App.d.ts +19 -20
  171. package/dist/excalidraw/components/App.js +323 -195
  172. package/dist/excalidraw/components/ButtonIconSelect.js +1 -1
  173. package/dist/excalidraw/components/CheckboxItem.js +1 -1
  174. package/dist/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
  175. package/dist/excalidraw/components/ColorPicker/ColorInput.js +1 -1
  176. package/dist/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  177. package/dist/excalidraw/components/ColorPicker/ColorPicker.js +1 -1
  178. package/dist/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
  179. package/dist/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  180. package/dist/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
  181. package/dist/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  182. package/dist/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  183. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  184. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
  185. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  186. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.js +1 -1
  187. package/dist/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  188. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +5 -5
  189. package/dist/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
  190. package/dist/excalidraw/components/CommandPalette/types.d.ts +3 -3
  191. package/dist/excalidraw/components/ConfirmDialog.d.ts +1 -1
  192. package/dist/excalidraw/components/ContextMenu.d.ts +2 -2
  193. package/dist/excalidraw/components/ContextMenu.js +2 -2
  194. package/dist/excalidraw/components/DarkModeToggle.d.ts +1 -1
  195. package/dist/excalidraw/components/DefaultSidebar.d.ts +2 -2
  196. package/dist/excalidraw/components/Dialog.js +1 -1
  197. package/dist/excalidraw/components/DialogActionButton.d.ts +1 -1
  198. package/dist/excalidraw/components/EyeDropper.d.ts +2 -2
  199. package/dist/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  200. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  201. package/dist/excalidraw/components/HelpDialog.js +1 -1
  202. package/dist/excalidraw/components/HintViewer.d.ts +1 -1
  203. package/dist/excalidraw/components/IconPicker.js +2 -2
  204. package/dist/excalidraw/components/ImageExportDialog.d.ts +1 -1
  205. package/dist/excalidraw/components/InitializeApp.d.ts +2 -2
  206. package/dist/excalidraw/components/JSONExportDialog.d.ts +3 -3
  207. package/dist/excalidraw/components/LayerUI.d.ts +4 -4
  208. package/dist/excalidraw/components/LayerUI.js +10 -7
  209. package/dist/excalidraw/components/LibraryMenu.d.ts +2 -2
  210. package/dist/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
  211. package/dist/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  212. package/dist/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
  213. package/dist/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  214. package/dist/excalidraw/components/LibraryMenuSection.d.ts +5 -4
  215. package/dist/excalidraw/components/LibraryUnit.d.ts +2 -2
  216. package/dist/excalidraw/components/LoadingMessage.d.ts +1 -1
  217. package/dist/excalidraw/components/MagicSettings.js +2 -2
  218. package/dist/excalidraw/components/MobileMenu.d.ts +3 -3
  219. package/dist/excalidraw/components/MobileMenu.js +2 -6
  220. package/dist/excalidraw/components/Modal.d.ts +1 -1
  221. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  222. package/dist/excalidraw/components/PasteChartDialog.d.ts +1 -1
  223. package/dist/excalidraw/components/PasteChartDialog.js +1 -1
  224. package/dist/excalidraw/components/PublishLibrary.d.ts +1 -1
  225. package/dist/excalidraw/components/SVGLayer.d.ts +1 -1
  226. package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
  227. package/dist/excalidraw/components/Sidebar/Sidebar.js +1 -1
  228. package/dist/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
  229. package/dist/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
  230. package/dist/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  231. package/dist/excalidraw/components/Sidebar/common.d.ts +1 -1
  232. package/dist/excalidraw/components/Stack.d.ts +2 -2
  233. package/dist/excalidraw/components/Stats/Angle.d.ts +12 -0
  234. package/dist/excalidraw/components/Stats/Angle.js +52 -0
  235. package/dist/excalidraw/components/Stats/Collapsible.d.ts +9 -0
  236. package/dist/excalidraw/components/Stats/Collapsible.js +12 -0
  237. package/dist/excalidraw/components/Stats/Dimension.d.ts +12 -0
  238. package/dist/excalidraw/components/Stats/Dimension.js +67 -0
  239. package/dist/excalidraw/components/Stats/DragInput.d.ts +32 -0
  240. package/dist/excalidraw/components/Stats/DragInput.js +174 -0
  241. package/dist/excalidraw/components/Stats/FontSize.d.ts +12 -0
  242. package/dist/excalidraw/components/Stats/FontSize.js +50 -0
  243. package/dist/excalidraw/components/Stats/MultiAngle.d.ts +12 -0
  244. package/dist/excalidraw/components/Stats/MultiAngle.js +66 -0
  245. package/dist/excalidraw/components/Stats/MultiDimension.d.ts +15 -0
  246. package/dist/excalidraw/components/Stats/MultiDimension.js +197 -0
  247. package/dist/excalidraw/components/Stats/MultiFontSize.d.ts +13 -0
  248. package/dist/excalidraw/components/Stats/MultiFontSize.js +72 -0
  249. package/dist/excalidraw/components/Stats/MultiPosition.d.ts +15 -0
  250. package/dist/excalidraw/components/Stats/MultiPosition.js +100 -0
  251. package/dist/excalidraw/components/Stats/Position.d.ts +13 -0
  252. package/dist/excalidraw/components/Stats/Position.js +39 -0
  253. package/dist/excalidraw/components/Stats/index.d.ts +16 -0
  254. package/dist/excalidraw/components/Stats/index.js +78 -0
  255. package/dist/excalidraw/components/Stats/utils.d.ts +25 -0
  256. package/dist/excalidraw/components/Stats/utils.js +158 -0
  257. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
  258. package/dist/excalidraw/components/TTDDialog/TTDDialog.js +2 -2
  259. package/dist/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
  260. package/dist/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
  261. package/dist/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
  262. package/dist/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
  263. package/dist/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  264. package/dist/excalidraw/components/TTDDialog/common.d.ts +4 -4
  265. package/dist/excalidraw/components/TextField.d.ts +1 -1
  266. package/dist/excalidraw/components/Toast.d.ts +1 -1
  267. package/dist/excalidraw/components/ToolButton.d.ts +4 -2
  268. package/dist/excalidraw/components/ToolButton.js +1 -1
  269. package/dist/excalidraw/components/Trans.d.ts +1 -1
  270. package/dist/excalidraw/components/UserList.d.ts +1 -1
  271. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +5 -3
  272. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +5 -2
  273. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
  274. package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
  275. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +2 -2
  276. package/dist/excalidraw/components/footer/Footer.d.ts +2 -2
  277. package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  278. package/dist/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  279. package/dist/excalidraw/components/icons.d.ts +6 -2
  280. package/dist/excalidraw/components/icons.js +22 -6
  281. package/dist/excalidraw/constants.d.ts +11 -2
  282. package/dist/excalidraw/constants.js +14 -1
  283. package/dist/excalidraw/context/ui-appState.d.ts +1 -1
  284. package/dist/excalidraw/cursor.d.ts +1 -1
  285. package/dist/excalidraw/data/EditorLocalStorage.d.ts +2 -2
  286. package/dist/excalidraw/data/blob.d.ts +5 -5
  287. package/dist/excalidraw/data/filesystem.d.ts +2 -1
  288. package/dist/excalidraw/data/index.d.ts +4 -4
  289. package/dist/excalidraw/data/json.d.ts +3 -3
  290. package/dist/excalidraw/data/library.d.ts +3 -3
  291. package/dist/excalidraw/data/magic.d.ts +3 -3
  292. package/dist/excalidraw/data/reconcile.d.ts +3 -3
  293. package/dist/excalidraw/data/reconcile.js +1 -1
  294. package/dist/excalidraw/data/resave.d.ts +2 -2
  295. package/dist/excalidraw/data/restore.d.ts +3 -3
  296. package/dist/excalidraw/data/restore.js +17 -2
  297. package/dist/excalidraw/data/transform.d.ts +3 -3
  298. package/dist/excalidraw/data/types.d.ts +3 -3
  299. package/dist/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
  300. package/dist/excalidraw/element/binding.d.ts +48 -20
  301. package/dist/excalidraw/element/binding.js +354 -168
  302. package/dist/excalidraw/element/bounds.d.ts +3 -3
  303. package/dist/excalidraw/element/collision.d.ts +3 -3
  304. package/dist/excalidraw/element/collision.js +1 -1
  305. package/dist/excalidraw/element/containerCache.d.ts +1 -1
  306. package/dist/excalidraw/element/dragElements.d.ts +4 -4
  307. package/dist/excalidraw/element/dragElements.js +27 -3
  308. package/dist/excalidraw/element/embeddable.d.ts +10 -7
  309. package/dist/excalidraw/element/embeddable.js +2 -1
  310. package/dist/excalidraw/element/image.d.ts +2 -2
  311. package/dist/excalidraw/element/index.d.ts +2 -2
  312. package/dist/excalidraw/element/index.js +1 -1
  313. package/dist/excalidraw/element/linearElementEditor.d.ts +10 -7
  314. package/dist/excalidraw/element/linearElementEditor.js +9 -6
  315. package/dist/excalidraw/element/mutateElement.d.ts +3 -4
  316. package/dist/excalidraw/element/mutateElement.js +1 -1
  317. package/dist/excalidraw/element/newElement.d.ts +5 -8
  318. package/dist/excalidraw/element/newElement.js +16 -14
  319. package/dist/excalidraw/element/resizeElements.d.ts +12 -4
  320. package/dist/excalidraw/element/resizeElements.js +174 -98
  321. package/dist/excalidraw/element/resizeTest.d.ts +7 -7
  322. package/dist/excalidraw/element/resizeTest.js +53 -8
  323. package/dist/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
  324. package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
  325. package/dist/excalidraw/element/sizeHelpers.js +3 -0
  326. package/dist/excalidraw/element/sortElements.d.ts +1 -1
  327. package/dist/excalidraw/element/textElement.d.ts +6 -5
  328. package/dist/excalidraw/element/textElement.js +16 -7
  329. package/dist/excalidraw/element/textWysiwyg.d.ts +12 -6
  330. package/dist/excalidraw/element/textWysiwyg.js +38 -17
  331. package/dist/excalidraw/element/transformHandles.d.ts +24 -6
  332. package/dist/excalidraw/element/transformHandles.js +22 -11
  333. package/dist/excalidraw/element/typeChecks.d.ts +5 -5
  334. package/dist/excalidraw/element/types.d.ts +16 -8
  335. package/dist/excalidraw/emitter.d.ts +1 -1
  336. package/dist/excalidraw/fractionalIndex.d.ts +1 -1
  337. package/dist/excalidraw/fractionalIndex.js +2 -4
  338. package/dist/excalidraw/frame.d.ts +3 -3
  339. package/dist/excalidraw/gatransforms.d.ts +1 -1
  340. package/dist/excalidraw/gesture.d.ts +1 -1
  341. package/dist/excalidraw/groups.d.ts +6 -4
  342. package/dist/excalidraw/groups.js +17 -0
  343. package/dist/excalidraw/history.d.ts +35 -47
  344. package/dist/excalidraw/history.js +100 -167
  345. package/dist/excalidraw/hooks/useEmitter.d.ts +2 -0
  346. package/dist/excalidraw/hooks/useEmitter.js +13 -0
  347. package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  348. package/dist/excalidraw/i18n.d.ts +1 -1
  349. package/dist/excalidraw/index.d.ts +3 -1
  350. package/dist/excalidraw/index.js +2 -0
  351. package/dist/excalidraw/jotai.d.ts +1 -1
  352. package/dist/excalidraw/laser-trails.d.ts +3 -2
  353. package/dist/excalidraw/locales/en.json +24 -3
  354. package/dist/excalidraw/math.d.ts +4 -2
  355. package/dist/excalidraw/math.js +6 -0
  356. package/dist/excalidraw/mermaid.d.ts +2 -0
  357. package/dist/excalidraw/mermaid.js +28 -0
  358. package/dist/excalidraw/points.d.ts +1 -1
  359. package/dist/excalidraw/queue.d.ts +1 -1
  360. package/dist/excalidraw/renderer/helpers.d.ts +2 -2
  361. package/dist/excalidraw/renderer/interactiveScene.d.ts +2 -2
  362. package/dist/excalidraw/renderer/interactiveScene.js +38 -11
  363. package/dist/excalidraw/renderer/renderElement.d.ts +4 -4
  364. package/dist/excalidraw/renderer/renderElement.js +5 -5
  365. package/dist/excalidraw/renderer/renderSnaps.d.ts +1 -1
  366. package/dist/excalidraw/renderer/staticScene.d.ts +1 -1
  367. package/dist/excalidraw/renderer/staticScene.js +1 -1
  368. package/dist/excalidraw/renderer/staticSvgScene.d.ts +4 -4
  369. package/dist/excalidraw/scene/Fonts.d.ts +2 -4
  370. package/dist/excalidraw/scene/Fonts.js +12 -15
  371. package/dist/excalidraw/scene/Renderer.d.ts +4 -4
  372. package/dist/excalidraw/scene/Renderer.js +2 -3
  373. package/dist/excalidraw/scene/Scene.d.ts +17 -8
  374. package/dist/excalidraw/scene/Scene.js +19 -10
  375. package/dist/excalidraw/scene/Shape.d.ts +1 -1
  376. package/dist/excalidraw/scene/ShapeCache.d.ts +4 -4
  377. package/dist/excalidraw/scene/comparisons.d.ts +2 -2
  378. package/dist/excalidraw/scene/export.d.ts +2 -2
  379. package/dist/excalidraw/scene/export.js +2 -2
  380. package/dist/excalidraw/scene/scroll.d.ts +2 -2
  381. package/dist/excalidraw/scene/scrollbars.d.ts +3 -3
  382. package/dist/excalidraw/scene/selection.d.ts +2 -2
  383. package/dist/excalidraw/scene/types.d.ts +7 -8
  384. package/dist/excalidraw/scene/zoom.d.ts +1 -1
  385. package/dist/excalidraw/shapes.d.ts +7 -0
  386. package/dist/excalidraw/shapes.js +40 -0
  387. package/dist/excalidraw/snapping.d.ts +4 -4
  388. package/dist/excalidraw/snapping.js +2 -1
  389. package/dist/excalidraw/store.d.ts +129 -0
  390. package/dist/excalidraw/store.js +296 -0
  391. package/dist/excalidraw/types.d.ts +38 -20
  392. package/dist/excalidraw/utils.d.ts +10 -4
  393. package/dist/excalidraw/utils.js +7 -0
  394. package/dist/excalidraw/zindex.d.ts +2 -2
  395. package/dist/{dev/en-XW4JO6VX.json → prod/en-EB2MBPAV.json} +24 -3
  396. package/dist/prod/index.css +1 -1
  397. package/dist/prod/index.js +39 -39
  398. package/dist/utils/bbox.d.ts +2 -2
  399. package/dist/utils/collision.d.ts +1 -1
  400. package/dist/utils/export.d.ts +2 -2
  401. package/dist/utils/geometry/geometry.d.ts +1 -1
  402. package/dist/utils/geometry/shape.d.ts +2 -1
  403. package/dist/utils/geometry/shape.js +19 -0
  404. package/dist/utils/withinBounds.d.ts +1 -1
  405. package/history.ts +163 -218
  406. package/package.json +2 -2
  407. package/dist/browser/dev/excalidraw-assets-dev/chunk-WQFMSDPT.js.map +0 -7
  408. package/dist/browser/dev/excalidraw-assets-dev/chunk-XOM7LNOU.js.map +0 -7
  409. package/dist/browser/dev/excalidraw-assets-dev/chunk-Z3PH3V2B.js.map +0 -7
  410. package/dist/browser/dev/excalidraw-assets-dev/dist-Z46EOVOL.js.map +0 -7
  411. package/dist/browser/dev/excalidraw-assets-dev/image-OFRRV5MB.css.map +0 -7
  412. package/dist/browser/prod/excalidraw-assets/chunk-U3COIHDW.js +0 -55
  413. package/dist/browser/prod/excalidraw-assets/dist-PIPZXALV.js +0 -6
  414. package/dist/browser/prod/excalidraw-assets/en-7GPZE2Y2.js +0 -1
  415. package/dist/browser/prod/excalidraw-assets/image-ZLNYKWVQ.js +0 -1
  416. package/dist/excalidraw/components/Stats.d.ts +0 -11
  417. package/dist/excalidraw/components/Stats.js +0 -13
  418. /package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js.map → blockDiagram-91b80b7a-H47FTXHA.js.map} +0 -0
  419. /package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js.map → c4Diagram-b2a90758-NNJK6GKC.js.map} +0 -0
  420. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js.map → chunk-4KQVEBHW.js.map} +0 -0
  421. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js.map → chunk-53YI56GV.js.map} +0 -0
  422. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js.map → chunk-A2WCJI4I.js.map} +0 -0
  423. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js.map → chunk-EFLPX7NE.js.map} +0 -0
  424. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js.map → chunk-JYIQCNWV.js.map} +0 -0
  425. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js.map → chunk-LVIQQW6F.js.map} +0 -0
  426. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js.map → chunk-PXLO3FOU.js.map} +0 -0
  427. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js.map → chunk-TO2AW5PW.js.map} +0 -0
  428. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js.map → chunk-VURILHLY.js.map} +0 -0
  429. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js.map → chunk-ZAYGSUHF.js.map} +0 -0
  430. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js.map → classDiagram-30eddba6-CUYIJICN.js.map} +0 -0
  431. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js.map → classDiagram-v2-f2df5561-K6WW6K73.js.map} +0 -0
  432. /package/dist/browser/dev/excalidraw-assets-dev/{en-TR4QLF5E.js.map → en-AZFA5HJJ.js.map} +0 -0
  433. /package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js.map → erDiagram-47591fe2-XGAD7EEP.js.map} +0 -0
  434. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js.map → flowDiagram-5540d9b9-B6EOVNNO.js.map} +0 -0
  435. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js.map → flowDiagram-v2-3b53844e-NUG24FJH.js.map} +0 -0
  436. /package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js.map → flowchart-elk-definition-5fe447d6-25Y7PCBL.js.map} +0 -0
  437. /package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js.map → ganttDiagram-9a3bba1f-GNL6ZDTC.js.map} +0 -0
  438. /package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js.map → gitGraphDiagram-96e6b4ee-HNW52NVO.js.map} +0 -0
  439. /package/dist/browser/dev/excalidraw-assets-dev/{image-OIPMBJGR.js.map → image-5XCR4WHS.js.map} +0 -0
  440. /package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js.map → infoDiagram-bcd20f53-FWEUVFLT.js.map} +0 -0
  441. /package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js.map → journeyDiagram-4fe6b3dc-RZIUI7UG.js.map} +0 -0
  442. /package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js.map → mindmap-definition-f354de21-GBVN45GU.js.map} +0 -0
  443. /package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js.map → pieDiagram-79897490-ECENNII6.js.map} +0 -0
  444. /package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js.map → quadrantDiagram-62f64e94-ZMEOFVNL.js.map} +0 -0
  445. /package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js.map → requirementDiagram-05bf5f74-FHZSFHCR.js.map} +0 -0
  446. /package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js.map → sankeyDiagram-97764748-VDKIKTA6.js.map} +0 -0
  447. /package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js.map → sequenceDiagram-acc0e65c-6JUSPVKX.js.map} +0 -0
  448. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js.map → stateDiagram-0ff1cf1a-L3AKWENF.js.map} +0 -0
  449. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js.map → stateDiagram-v2-9a9d610d-NU3GGMCH.js.map} +0 -0
  450. /package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js.map → timeline-definition-fea2a41d-JGP7XCHW.js.map} +0 -0
  451. /package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js.map → xychartDiagram-ab372869-HLFHHF2I.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ExcalidrawElement } from "../element/types";
2
+ import type { ExcalidrawElement } from "../element/types";
3
3
  export declare const actionToggleElementLock: {
4
4
  name: "toggleElementLock";
5
5
  label: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.elementLock.unlock" | "labels.elementLock.lock" | "labels.elementLock.lockAll" | "labels.elementLock.unlockAll";
@@ -8,8 +8,8 @@ export declare const actionToggleElementLock: {
8
8
  category: "element";
9
9
  };
10
10
  predicate: (elements: readonly ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
11
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => false | {
12
- elements: ExcalidrawElement[];
11
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => false | {
12
+ elements: import("../element/types").OrderedExcalidrawElement[];
13
13
  appState: {
14
14
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
15
15
  contextMenu: {
@@ -142,7 +142,10 @@ export declare const actionToggleElementLock: {
142
142
  isSpeaking?: boolean | undefined;
143
143
  isMuted?: boolean | undefined;
144
144
  }>>;
145
- showStats: boolean;
145
+ stats: {
146
+ open: boolean;
147
+ panels: number;
148
+ };
146
149
  currentChartType: import("../element/types").ChartType;
147
150
  pasteDialog: {
148
151
  shown: false;
@@ -162,11 +165,11 @@ export declare const actionToggleElementLock: {
162
165
  userToFollow: import("../types").UserToFollow | null;
163
166
  followedBy: Set<import("../types").SocketId>;
164
167
  };
165
- commitToHistory: true;
168
+ storeAction: "capture";
166
169
  };
167
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean;
170
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean;
168
171
  } & {
169
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
172
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: import("../types").AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
170
173
  };
171
174
  export declare const actionUnlockAllElements: {
172
175
  name: "unlockAllElements";
@@ -177,8 +180,8 @@ export declare const actionUnlockAllElements: {
177
180
  viewMode: false;
178
181
  icon: JSX.Element;
179
182
  predicate: (elements: readonly ExcalidrawElement[], appState: import("../types").AppState) => boolean;
180
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
181
- elements: ExcalidrawElement[];
183
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
184
+ elements: import("../element/types").OrderedExcalidrawElement[];
182
185
  appState: {
183
186
  selectedElementIds: {
184
187
  [k: string]: true;
@@ -310,7 +313,10 @@ export declare const actionUnlockAllElements: {
310
313
  isSpeaking?: boolean | undefined;
311
314
  isMuted?: boolean | undefined;
312
315
  }>>;
313
- showStats: boolean;
316
+ stats: {
317
+ open: boolean;
318
+ panels: number;
319
+ };
314
320
  currentChartType: import("../element/types").ChartType;
315
321
  pasteDialog: {
316
322
  shown: false;
@@ -331,7 +337,7 @@ export declare const actionUnlockAllElements: {
331
337
  userToFollow: import("../types").UserToFollow | null;
332
338
  followedBy: Set<import("../types").SocketId>;
333
339
  };
334
- commitToHistory: true;
340
+ storeAction: "capture";
335
341
  };
336
342
  label: string;
337
343
  } & {
@@ -3,6 +3,7 @@ import { newElementWith } from "../element/mutateElement";
3
3
  import { isFrameLikeElement } from "../element/typeChecks";
4
4
  import { KEYS } from "../keys";
5
5
  import { getSelectedElements } from "../scene";
6
+ import { StoreAction } from "../store";
6
7
  import { arrayToMap } from "../utils";
7
8
  import { register } from "./register";
8
9
  const shouldLock = (elements) => elements.every((el) => !el.locked);
@@ -56,7 +57,7 @@ export const actionToggleElementLock = register({
56
57
  ? null
57
58
  : appState.selectedLinearElement,
58
59
  },
59
- commitToHistory: true,
60
+ storeAction: StoreAction.CAPTURE,
60
61
  };
61
62
  },
62
63
  keyTest: (event, appState, elements, app) => {
@@ -93,7 +94,7 @@ export const actionUnlockAllElements = register({
93
94
  ...appState,
94
95
  selectedElementIds: Object.fromEntries(lockedElements.map((el) => [el.id, true])),
95
96
  },
96
- commitToHistory: true,
97
+ storeAction: StoreAction.CAPTURE,
97
98
  };
98
99
  },
99
100
  label: "labels.elementLock.unlockAll",
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { Theme } from "../element/types";
2
+ import type { Theme } from "../element/types";
3
3
  import "../components/ToolIcon.scss";
4
4
  export declare const actionChangeProjectName: {
5
5
  name: "changeProjectName";
6
6
  label: string;
7
7
  trackEvent: false;
8
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
8
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
9
9
  appState: {
10
10
  name: any;
11
11
  contextMenu: {
@@ -137,7 +137,10 @@ export declare const actionChangeProjectName: {
137
137
  isSpeaking?: boolean | undefined;
138
138
  isMuted?: boolean | undefined;
139
139
  }>>;
140
- showStats: boolean;
140
+ stats: {
141
+ open: boolean;
142
+ panels: number;
143
+ };
141
144
  currentChartType: import("../element/types").ChartType;
142
145
  pasteDialog: {
143
146
  shown: false;
@@ -158,7 +161,7 @@ export declare const actionChangeProjectName: {
158
161
  userToFollow: import("../types").UserToFollow | null;
159
162
  followedBy: Set<import("../types").SocketId>;
160
163
  };
161
- commitToHistory: false;
164
+ storeAction: "none";
162
165
  };
163
166
  PanelComponent: ({ appState, updateData, appProps, data, app }: import("./types").PanelComponentProps) => JSX.Element;
164
167
  } & {
@@ -171,7 +174,7 @@ export declare const actionChangeExportScale: {
171
174
  category: "export";
172
175
  action: string;
173
176
  };
174
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
177
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
175
178
  appState: {
176
179
  exportScale: any;
177
180
  contextMenu: {
@@ -303,7 +306,10 @@ export declare const actionChangeExportScale: {
303
306
  isSpeaking?: boolean | undefined;
304
307
  isMuted?: boolean | undefined;
305
308
  }>>;
306
- showStats: boolean;
309
+ stats: {
310
+ open: boolean;
311
+ panels: number;
312
+ };
307
313
  currentChartType: import("../element/types").ChartType;
308
314
  pasteDialog: {
309
315
  shown: false;
@@ -324,7 +330,7 @@ export declare const actionChangeExportScale: {
324
330
  userToFollow: import("../types").UserToFollow | null;
325
331
  followedBy: Set<import("../types").SocketId>;
326
332
  };
327
- commitToHistory: false;
333
+ storeAction: "none";
328
334
  };
329
335
  PanelComponent: ({ elements: allElements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
330
336
  } & {
@@ -337,7 +343,7 @@ export declare const actionChangeExportBackground: {
337
343
  category: "export";
338
344
  action: string;
339
345
  };
340
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
346
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
341
347
  appState: {
342
348
  exportBackground: any;
343
349
  contextMenu: {
@@ -469,7 +475,10 @@ export declare const actionChangeExportBackground: {
469
475
  isSpeaking?: boolean | undefined;
470
476
  isMuted?: boolean | undefined;
471
477
  }>>;
472
- showStats: boolean;
478
+ stats: {
479
+ open: boolean;
480
+ panels: number;
481
+ };
473
482
  currentChartType: import("../element/types").ChartType;
474
483
  pasteDialog: {
475
484
  shown: false;
@@ -490,7 +499,7 @@ export declare const actionChangeExportBackground: {
490
499
  userToFollow: import("../types").UserToFollow | null;
491
500
  followedBy: Set<import("../types").SocketId>;
492
501
  };
493
- commitToHistory: false;
502
+ storeAction: "none";
494
503
  };
495
504
  PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
496
505
  } & {
@@ -503,7 +512,7 @@ export declare const actionChangeExportEmbedScene: {
503
512
  category: "export";
504
513
  action: string;
505
514
  };
506
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
515
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
507
516
  appState: {
508
517
  exportEmbedScene: any;
509
518
  contextMenu: {
@@ -635,7 +644,10 @@ export declare const actionChangeExportEmbedScene: {
635
644
  isSpeaking?: boolean | undefined;
636
645
  isMuted?: boolean | undefined;
637
646
  }>>;
638
- showStats: boolean;
647
+ stats: {
648
+ open: boolean;
649
+ panels: number;
650
+ };
639
651
  currentChartType: import("../element/types").ChartType;
640
652
  pasteDialog: {
641
653
  shown: false;
@@ -656,7 +668,7 @@ export declare const actionChangeExportEmbedScene: {
656
668
  userToFollow: import("../types").UserToFollow | null;
657
669
  followedBy: Set<import("../types").SocketId>;
658
670
  };
659
- commitToHistory: false;
671
+ storeAction: "none";
660
672
  };
661
673
  PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
662
674
  } & {
@@ -670,8 +682,8 @@ export declare const actionSaveToActiveFile: {
670
682
  category: "export";
671
683
  };
672
684
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
673
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
674
- commitToHistory: false;
685
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
686
+ storeAction: "none";
675
687
  appState: {
676
688
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
677
689
  toast: {
@@ -801,7 +813,10 @@ export declare const actionSaveToActiveFile: {
801
813
  isSpeaking?: boolean | undefined;
802
814
  isMuted?: boolean | undefined;
803
815
  }>>;
804
- showStats: boolean;
816
+ stats: {
817
+ open: boolean;
818
+ panels: number;
819
+ };
805
820
  currentChartType: import("../element/types").ChartType;
806
821
  pasteDialog: {
807
822
  shown: false;
@@ -823,12 +838,12 @@ export declare const actionSaveToActiveFile: {
823
838
  followedBy: Set<import("../types").SocketId>;
824
839
  };
825
840
  } | {
826
- commitToHistory: false;
841
+ storeAction: "none";
827
842
  appState?: undefined;
828
843
  }>;
829
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
844
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
830
845
  } & {
831
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
846
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
832
847
  };
833
848
  export declare const actionSaveFileToDisk: {
834
849
  name: "saveFileToDisk";
@@ -838,8 +853,8 @@ export declare const actionSaveFileToDisk: {
838
853
  trackEvent: {
839
854
  category: "export";
840
855
  };
841
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
842
- commitToHistory: false;
856
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => Promise<{
857
+ storeAction: "none";
843
858
  appState: {
844
859
  openDialog: null;
845
860
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
@@ -958,7 +973,10 @@ export declare const actionSaveFileToDisk: {
958
973
  isSpeaking?: boolean | undefined;
959
974
  isMuted?: boolean | undefined;
960
975
  }>>;
961
- showStats: boolean;
976
+ stats: {
977
+ open: boolean;
978
+ panels: number;
979
+ };
962
980
  currentChartType: import("../element/types").ChartType;
963
981
  pasteDialog: {
964
982
  shown: false;
@@ -980,13 +998,13 @@ export declare const actionSaveFileToDisk: {
980
998
  followedBy: Set<import("../types").SocketId>;
981
999
  };
982
1000
  } | {
983
- commitToHistory: false;
1001
+ storeAction: "none";
984
1002
  appState?: undefined;
985
1003
  }>;
986
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1004
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
987
1005
  PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => JSX.Element;
988
1006
  } & {
989
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1007
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
990
1008
  };
991
1009
  export declare const actionLoadScene: {
992
1010
  name: "loadScene";
@@ -995,9 +1013,14 @@ export declare const actionLoadScene: {
995
1013
  category: "export";
996
1014
  };
997
1015
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
998
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<false | {
1016
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<false | {
999
1017
  elements: import("../element/types").OrderedExcalidrawElement[];
1000
1018
  appState: {
1019
+ viewModeEnabled: boolean;
1020
+ zenModeEnabled: boolean;
1021
+ objectsSnapModeEnabled: boolean;
1022
+ theme: Theme;
1023
+ name: string | null;
1001
1024
  contextMenu: {
1002
1025
  items: import("../components/ContextMenu").ContextMenuItems;
1003
1026
  top: number;
@@ -1056,7 +1079,6 @@ export declare const actionLoadScene: {
1056
1079
  scrollY: number;
1057
1080
  cursorButton: "up" | "down";
1058
1081
  scrolledOutside: boolean;
1059
- name: string | null;
1060
1082
  isResizing: boolean;
1061
1083
  isRotating: boolean;
1062
1084
  zoom: Readonly<{
@@ -1095,10 +1117,7 @@ export declare const actionLoadScene: {
1095
1117
  closable?: boolean | undefined;
1096
1118
  duration?: number | undefined;
1097
1119
  } | null;
1098
- zenModeEnabled: boolean;
1099
- theme: Theme;
1100
1120
  gridSize: number | null;
1101
- viewModeEnabled: boolean;
1102
1121
  selectedGroupIds: {
1103
1122
  [groupId: string]: boolean;
1104
1123
  };
@@ -1124,7 +1143,10 @@ export declare const actionLoadScene: {
1124
1143
  isSpeaking?: boolean | undefined;
1125
1144
  isMuted?: boolean | undefined;
1126
1145
  }>>;
1127
- showStats: boolean;
1146
+ stats: {
1147
+ open: boolean;
1148
+ panels: number;
1149
+ };
1128
1150
  currentChartType: import("../element/types").ChartType;
1129
1151
  pasteDialog: {
1130
1152
  shown: false;
@@ -1141,14 +1163,13 @@ export declare const actionLoadScene: {
1141
1163
  x: number;
1142
1164
  y: number;
1143
1165
  } | null;
1144
- objectsSnapModeEnabled: boolean;
1145
1166
  userToFollow: import("../types").UserToFollow | null;
1146
1167
  followedBy: Set<import("../types").SocketId>;
1147
1168
  };
1148
1169
  files: import("../types").BinaryFiles;
1149
- commitToHistory: true;
1170
+ storeAction: "capture";
1150
1171
  } | {
1151
- elements: readonly import("../element/types").ExcalidrawElement[];
1172
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
1152
1173
  appState: {
1153
1174
  errorMessage: any;
1154
1175
  contextMenu: {
@@ -1280,7 +1301,10 @@ export declare const actionLoadScene: {
1280
1301
  isSpeaking?: boolean | undefined;
1281
1302
  isMuted?: boolean | undefined;
1282
1303
  }>>;
1283
- showStats: boolean;
1304
+ stats: {
1305
+ open: boolean;
1306
+ panels: number;
1307
+ };
1284
1308
  currentChartType: import("../element/types").ChartType;
1285
1309
  pasteDialog: {
1286
1310
  shown: false;
@@ -1302,11 +1326,11 @@ export declare const actionLoadScene: {
1302
1326
  followedBy: Set<import("../types").SocketId>;
1303
1327
  };
1304
1328
  files: import("../types").BinaryFiles;
1305
- commitToHistory: false;
1329
+ storeAction: "none";
1306
1330
  }>;
1307
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1331
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1308
1332
  } & {
1309
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1333
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1310
1334
  };
1311
1335
  export declare const actionExportWithDarkMode: {
1312
1336
  name: "exportWithDarkMode";
@@ -1315,7 +1339,7 @@ export declare const actionExportWithDarkMode: {
1315
1339
  category: "export";
1316
1340
  action: string;
1317
1341
  };
1318
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
1342
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any) => {
1319
1343
  appState: {
1320
1344
  exportWithDarkMode: any;
1321
1345
  contextMenu: {
@@ -1447,7 +1471,10 @@ export declare const actionExportWithDarkMode: {
1447
1471
  isSpeaking?: boolean | undefined;
1448
1472
  isMuted?: boolean | undefined;
1449
1473
  }>>;
1450
- showStats: boolean;
1474
+ stats: {
1475
+ open: boolean;
1476
+ panels: number;
1477
+ };
1451
1478
  currentChartType: import("../element/types").ChartType;
1452
1479
  pasteDialog: {
1453
1480
  shown: false;
@@ -1468,7 +1495,7 @@ export declare const actionExportWithDarkMode: {
1468
1495
  userToFollow: import("../types").UserToFollow | null;
1469
1496
  followedBy: Set<import("../types").SocketId>;
1470
1497
  };
1471
- commitToHistory: false;
1498
+ storeAction: "none";
1472
1499
  };
1473
1500
  PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1474
1501
  } & {
@@ -18,12 +18,16 @@ import { getNonDeletedElements } from "../element";
18
18
  import { isImageFileHandle } from "../data/blob";
19
19
  import { nativeFileSystemSupported } from "../data/filesystem";
20
20
  import "../components/ToolIcon.scss";
21
+ import { StoreAction } from "../store";
21
22
  export const actionChangeProjectName = register({
22
23
  name: "changeProjectName",
23
24
  label: "labels.fileTitle",
24
25
  trackEvent: false,
25
26
  perform: (_elements, appState, value) => {
26
- return { appState: { ...appState, name: value }, commitToHistory: false };
27
+ return {
28
+ appState: { ...appState, name: value },
29
+ storeAction: StoreAction.NONE,
30
+ };
27
31
  },
28
32
  PanelComponent: ({ appState, updateData, appProps, data, app }) => (_jsx(ProjectName, { label: t("labels.fileTitle"), value: app.getName(), onChange: (name) => updateData(name), ignoreFocus: data?.ignoreFocus ?? false })),
29
33
  });
@@ -34,7 +38,7 @@ export const actionChangeExportScale = register({
34
38
  perform: (_elements, appState, value) => {
35
39
  return {
36
40
  appState: { ...appState, exportScale: value },
37
- commitToHistory: false,
41
+ storeAction: StoreAction.NONE,
38
42
  };
39
43
  },
40
44
  PanelComponent: ({ elements: allElements, appState, updateData }) => {
@@ -57,7 +61,7 @@ export const actionChangeExportBackground = register({
57
61
  perform: (_elements, appState, value) => {
58
62
  return {
59
63
  appState: { ...appState, exportBackground: value },
60
- commitToHistory: false,
64
+ storeAction: StoreAction.NONE,
61
65
  };
62
66
  },
63
67
  PanelComponent: ({ appState, updateData }) => (_jsx(CheckboxItem, { checked: appState.exportBackground, onChange: (checked) => updateData(checked), children: t("imageExportDialog.label.withBackground") })),
@@ -69,7 +73,7 @@ export const actionChangeExportEmbedScene = register({
69
73
  perform: (_elements, appState, value) => {
70
74
  return {
71
75
  appState: { ...appState, exportEmbedScene: value },
72
- commitToHistory: false,
76
+ storeAction: StoreAction.NONE,
73
77
  };
74
78
  },
75
79
  PanelComponent: ({ appState, updateData }) => (_jsxs(CheckboxItem, { checked: appState.exportEmbedScene, onChange: (checked) => updateData(checked), children: [t("imageExportDialog.label.embedScene"), _jsx(Tooltip, { label: t("imageExportDialog.tooltip.embedScene"), long: true, children: _jsx("div", { className: "excalidraw-tooltip-icon", children: questionCircle }) })] })),
@@ -91,7 +95,7 @@ export const actionSaveToActiveFile = register({
91
95
  ? await resaveAsImageWithScene(elements, appState, app.files, app.getName())
92
96
  : await saveAsJSON(elements, appState, app.files, app.getName());
93
97
  return {
94
- commitToHistory: false,
98
+ storeAction: StoreAction.NONE,
95
99
  appState: {
96
100
  ...appState,
97
101
  fileHandle,
@@ -112,7 +116,7 @@ export const actionSaveToActiveFile = register({
112
116
  else {
113
117
  console.warn(error);
114
118
  }
115
- return { commitToHistory: false };
119
+ return { storeAction: StoreAction.NONE };
116
120
  }
117
121
  },
118
122
  keyTest: (event) => event.key === KEYS.S && event[KEYS.CTRL_OR_CMD] && !event.shiftKey,
@@ -130,7 +134,7 @@ export const actionSaveFileToDisk = register({
130
134
  fileHandle: null,
131
135
  }, app.files, app.getName());
132
136
  return {
133
- commitToHistory: false,
137
+ storeAction: StoreAction.NONE,
134
138
  appState: {
135
139
  ...appState,
136
140
  openDialog: null,
@@ -146,7 +150,7 @@ export const actionSaveFileToDisk = register({
146
150
  else {
147
151
  console.warn(error);
148
152
  }
149
- return { commitToHistory: false };
153
+ return { storeAction: StoreAction.NONE };
150
154
  }
151
155
  },
152
156
  keyTest: (event) => event.key === KEYS.S && event.shiftKey && event[KEYS.CTRL_OR_CMD],
@@ -166,7 +170,7 @@ export const actionLoadScene = register({
166
170
  elements: loadedElements,
167
171
  appState: loadedAppState,
168
172
  files,
169
- commitToHistory: true,
173
+ storeAction: StoreAction.CAPTURE,
170
174
  };
171
175
  }
172
176
  catch (error) {
@@ -178,7 +182,7 @@ export const actionLoadScene = register({
178
182
  elements,
179
183
  appState: { ...appState, errorMessage: error.message },
180
184
  files: app.files,
181
- commitToHistory: false,
185
+ storeAction: StoreAction.NONE,
182
186
  };
183
187
  }
184
188
  },
@@ -191,7 +195,7 @@ export const actionExportWithDarkMode = register({
191
195
  perform: (_elements, appState, value) => {
192
196
  return {
193
197
  appState: { ...appState, exportWithDarkMode: value },
194
- commitToHistory: false,
198
+ storeAction: StoreAction.NONE,
195
199
  };
196
200
  },
197
201
  PanelComponent: ({ appState, updateData }) => (_jsx("div", { style: {
@@ -1,15 +1,16 @@
1
1
  /// <reference types="react" />
2
2
  import { LinearElementEditor } from "../element/linearElementEditor";
3
- import { AppState } from "../types";
3
+ import type { AppState } from "../types";
4
4
  export declare const actionFinalize: {
5
5
  name: "finalize";
6
6
  label: string;
7
7
  trackEvent: false;
8
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
9
- elements: import("../element/types").ExcalidrawElement[] | undefined;
8
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
9
+ elements: import("../element/types").OrderedExcalidrawElement[] | undefined;
10
10
  appState: {
11
11
  cursorButton: "up";
12
12
  editingLinearElement: null;
13
+ selectedLinearElement: null;
13
14
  contextMenu: {
14
15
  items: import("../components/ContextMenu").ContextMenuItems;
15
16
  top: number;
@@ -138,7 +139,10 @@ export declare const actionFinalize: {
138
139
  isSpeaking?: boolean | undefined;
139
140
  isMuted?: boolean | undefined;
140
141
  }>>;
141
- showStats: boolean;
142
+ stats: {
143
+ open: boolean;
144
+ panels: number;
145
+ };
142
146
  currentChartType: import("../element/types").ChartType;
143
147
  pasteDialog: {
144
148
  shown: false;
@@ -149,7 +153,6 @@ export declare const actionFinalize: {
149
153
  };
150
154
  pendingImageElementId: string | null;
151
155
  showHyperlinkPopup: false | "info" | "editor";
152
- selectedLinearElement: LinearElementEditor | null;
153
156
  snapLines: readonly import("../snapping").SnapLine[];
154
157
  originSnapOffset: {
155
158
  x: number;
@@ -159,9 +162,9 @@ export declare const actionFinalize: {
159
162
  userToFollow: import("../types").UserToFollow | null;
160
163
  followedBy: Set<import("../types").SocketId>;
161
164
  };
162
- commitToHistory: true;
165
+ storeAction: "capture";
163
166
  } | {
164
- elements: readonly import("../element/types").ExcalidrawElement[];
167
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
165
168
  appState: {
166
169
  cursorButton: "up";
167
170
  activeTool: {
@@ -292,7 +295,10 @@ export declare const actionFinalize: {
292
295
  isSpeaking?: boolean | undefined;
293
296
  isMuted?: boolean | undefined;
294
297
  }>>;
295
- showStats: boolean;
298
+ stats: {
299
+ open: boolean;
300
+ panels: number;
301
+ };
296
302
  currentChartType: import("../element/types").ChartType;
297
303
  pasteDialog: {
298
304
  shown: false;
@@ -311,10 +317,10 @@ export declare const actionFinalize: {
311
317
  userToFollow: import("../types").UserToFollow | null;
312
318
  followedBy: Set<import("../types").SocketId>;
313
319
  };
314
- commitToHistory: boolean;
320
+ storeAction: "capture";
315
321
  };
316
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState) => boolean;
322
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean;
317
323
  PanelComponent: ({ appState, updateData, data }: import("./types").PanelComponentProps) => JSX.Element;
318
324
  } & {
319
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState) => boolean) | undefined;
325
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean) | undefined;
320
326
  };
@@ -12,6 +12,7 @@ import { LinearElementEditor } from "../element/linearElementEditor";
12
12
  import { maybeBindLinearElement, bindOrUnbindLinearElement, } from "../element/binding";
13
13
  import { isBindingElement, isLinearElement } from "../element/typeChecks";
14
14
  import { resetCursor } from "../cursor";
15
+ import { StoreAction } from "../store";
15
16
  export const actionFinalize = register({
16
17
  name: "finalize",
17
18
  label: "",
@@ -34,8 +35,9 @@ export const actionFinalize = register({
34
35
  ...appState,
35
36
  cursorButton: "up",
36
37
  editingLinearElement: null,
38
+ selectedLinearElement: null,
37
39
  },
38
- commitToHistory: true,
40
+ storeAction: StoreAction.CAPTURE,
39
41
  };
40
42
  }
41
43
  }
@@ -66,6 +68,7 @@ export const actionFinalize = register({
66
68
  }
67
69
  }
68
70
  if (isInvisiblySmallElement(multiPointElement)) {
71
+ // TODO: #7348 in theory this gets recorded by the store, so the invisible elements could be restored by the undo/redo, which might be not what we would want
69
72
  newElements = newElements.filter((el) => el.id !== multiPointElement.id);
70
73
  }
71
74
  // If the multi point line closes the loop,
@@ -88,7 +91,7 @@ export const actionFinalize = register({
88
91
  !isLoop &&
89
92
  multiPointElement.points.length > 1) {
90
93
  const [x, y] = LinearElementEditor.getPointAtIndexGlobalCoordinates(multiPointElement, -1, arrayToMap(elements));
91
- maybeBindLinearElement(multiPointElement, appState, { x, y }, app);
94
+ maybeBindLinearElement(multiPointElement, appState, { x, y }, elementsMap);
92
95
  }
93
96
  }
94
97
  if ((!appState.activeTool.locked &&
@@ -140,7 +143,8 @@ export const actionFinalize = register({
140
143
  : appState.selectedLinearElement,
141
144
  pendingImageElementId: null,
142
145
  },
143
- commitToHistory: appState.activeTool.type === "freedraw",
146
+ // TODO: #7348 we should not capture everything, but if we don't, it leads to incosistencies -> revisit
147
+ storeAction: StoreAction.CAPTURE,
144
148
  };
145
149
  },
146
150
  keyTest: (event, appState) => (event.key === KEYS.ESCAPE &&