@excalidraw/excalidraw 0.17.1-1d71f84 → 0.17.1-22b3927

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 (447) hide show
  1. package/CHANGELOG.md +14 -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-IX4V72YG.js → chunk-EFLPX7NE.js} +6 -6
  8. package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js → chunk-JYIQCNWV.js} +2 -2
  9. package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js → chunk-LVIQQW6F.js} +2 -2
  10. package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js → chunk-PXLO3FOU.js} +2 -2
  11. package/dist/browser/dev/excalidraw-assets-dev/{chunk-AK7SWNLN.js → chunk-Q6A4M3MN.js} +9 -5
  12. package/dist/browser/dev/excalidraw-assets-dev/chunk-Q6A4M3MN.js.map +7 -0
  13. package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js → chunk-TO2AW5PW.js} +2 -2
  14. package/dist/browser/dev/excalidraw-assets-dev/{chunk-RWZVJAQU.js → chunk-VC7RRIDZ.js} +4657 -2673
  15. package/dist/browser/dev/excalidraw-assets-dev/chunk-VC7RRIDZ.js.map +7 -0
  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-5TCZHGGJ.js → en-Y27YPU72.js} +2 -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-EDKQZH7Z.js → image-J7S3ALXP.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 +72 -28
  47. package/dist/browser/dev/index.css.map +3 -3
  48. package/dist/browser/dev/index.js +2387 -1934
  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-P5M3G2RP.js → chunk-AIKXYJX3.js} +1 -1
  54. package/dist/browser/prod/excalidraw-assets/{chunk-E2YLWFZX.js → chunk-CR7VMNWC.js} +1 -1
  55. package/dist/browser/prod/excalidraw-assets/chunk-CWO763YJ.js +55 -0
  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-CTYINSWT.js → chunk-IZMZ6RPD.js} +2 -2
  61. package/dist/browser/prod/excalidraw-assets/{chunk-AHLLBBVJ.js → chunk-L5DS24G6.js} +1 -1
  62. package/dist/browser/prod/excalidraw-assets/{chunk-CQJF3C6G.js → chunk-MUNOKHUD.js} +1 -1
  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-LROPV2RN.js → en-GSUSWMSH.js} +1 -1
  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-SZBFRCU2.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 +24 -24
  90. package/dist/dev/{en-II4GK66F.json → en-OIPCBIOA.json} +8 -4
  91. package/dist/dev/index.css +72 -28
  92. package/dist/dev/index.css.map +3 -3
  93. package/dist/dev/index.js +5866 -3499
  94. package/dist/dev/index.js.map +4 -4
  95. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +4 -4
  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 +10 -10
  100. package/dist/excalidraw/actions/actionBoundText.js +11 -5
  101. package/dist/excalidraw/actions/actionCanvas.d.ts +52 -52
  102. package/dist/excalidraw/actions/actionCanvas.js +19 -14
  103. package/dist/excalidraw/actions/actionClipboard.d.ts +24 -24
  104. package/dist/excalidraw/actions/actionClipboard.js +14 -13
  105. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +10 -10
  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 +7 -3
  111. package/dist/excalidraw/actions/actionElementLock.d.ts +9 -9
  112. package/dist/excalidraw/actions/actionElementLock.js +3 -2
  113. package/dist/excalidraw/actions/actionExport.d.ts +33 -33
  114. package/dist/excalidraw/actions/actionExport.js +15 -11
  115. package/dist/excalidraw/actions/actionFinalize.d.ts +9 -9
  116. package/dist/excalidraw/actions/actionFinalize.js +9 -5
  117. package/dist/excalidraw/actions/actionFlip.d.ts +10 -10
  118. package/dist/excalidraw/actions/actionFlip.js +12 -12
  119. package/dist/excalidraw/actions/actionFrame.d.ts +171 -18
  120. package/dist/excalidraw/actions/actionFrame.js +7 -6
  121. package/dist/excalidraw/actions/actionGroup.d.ts +16 -16
  122. package/dist/excalidraw/actions/actionGroup.js +9 -11
  123. package/dist/excalidraw/actions/actionHistory.d.ts +4 -3
  124. package/dist/excalidraw/actions/actionHistory.js +27 -28
  125. package/dist/excalidraw/actions/actionLinearEditor.d.ts +6 -4
  126. package/dist/excalidraw/actions/actionLinearEditor.js +21 -5
  127. package/dist/excalidraw/actions/actionLink.d.ts +5 -5
  128. package/dist/excalidraw/actions/actionLink.js +2 -1
  129. package/dist/excalidraw/actions/actionMenu.d.ts +8 -8
  130. package/dist/excalidraw/actions/actionMenu.js +4 -3
  131. package/dist/excalidraw/actions/actionNavigate.d.ts +4 -4
  132. package/dist/excalidraw/actions/actionNavigate.js +3 -2
  133. package/dist/excalidraw/actions/actionProperties.d.ts +34 -34
  134. package/dist/excalidraw/actions/actionProperties.js +19 -14
  135. package/dist/excalidraw/actions/actionSelectAll.d.ts +5 -5
  136. package/dist/excalidraw/actions/actionSelectAll.js +2 -1
  137. package/dist/excalidraw/actions/actionStyles.d.ts +11 -11
  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 +7 -5
  142. package/dist/excalidraw/actions/actionToggleGridMode.js +6 -2
  143. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
  144. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.js +2 -1
  145. package/dist/excalidraw/actions/actionToggleStats.d.ts +4 -4
  146. package/dist/excalidraw/actions/actionToggleStats.js +2 -1
  147. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
  148. package/dist/excalidraw/actions/actionToggleViewMode.js +2 -1
  149. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
  150. package/dist/excalidraw/actions/actionToggleZenMode.js +2 -1
  151. package/dist/excalidraw/actions/actionZindex.d.ts +23 -19
  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/shortcuts.js +1 -1
  157. package/dist/excalidraw/actions/types.d.ts +8 -8
  158. package/dist/excalidraw/align.d.ts +1 -1
  159. package/dist/excalidraw/analytics.js +1 -1
  160. package/dist/excalidraw/animated-trail.d.ts +2 -2
  161. package/dist/excalidraw/appState.d.ts +5 -5
  162. package/dist/excalidraw/change.d.ts +191 -0
  163. package/dist/excalidraw/change.js +901 -0
  164. package/dist/excalidraw/charts.d.ts +1 -1
  165. package/dist/excalidraw/clients.d.ts +2 -2
  166. package/dist/excalidraw/clients.js +1 -1
  167. package/dist/excalidraw/clipboard.d.ts +3 -3
  168. package/dist/excalidraw/colors.d.ts +1 -1
  169. package/dist/excalidraw/components/Actions.d.ts +3 -3
  170. package/dist/excalidraw/components/Actions.js +9 -6
  171. package/dist/excalidraw/components/App.d.ts +28 -14
  172. package/dist/excalidraw/components/App.js +491 -204
  173. package/dist/excalidraw/components/ButtonIconSelect.js +1 -1
  174. package/dist/excalidraw/components/CheckboxItem.js +1 -1
  175. package/dist/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
  176. package/dist/excalidraw/components/ColorPicker/ColorInput.js +1 -1
  177. package/dist/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  178. package/dist/excalidraw/components/ColorPicker/ColorPicker.js +1 -1
  179. package/dist/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
  180. package/dist/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  181. package/dist/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
  182. package/dist/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  183. package/dist/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  184. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  185. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
  186. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  187. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.js +1 -1
  188. package/dist/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  189. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +30 -15
  190. package/dist/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
  191. package/dist/excalidraw/components/CommandPalette/types.d.ts +3 -3
  192. package/dist/excalidraw/components/ConfirmDialog.d.ts +1 -1
  193. package/dist/excalidraw/components/ContextMenu.d.ts +2 -2
  194. package/dist/excalidraw/components/ContextMenu.js +2 -2
  195. package/dist/excalidraw/components/DarkModeToggle.d.ts +1 -1
  196. package/dist/excalidraw/components/DarkModeToggle.js +3 -1
  197. package/dist/excalidraw/components/DefaultSidebar.d.ts +2 -2
  198. package/dist/excalidraw/components/Dialog.js +1 -1
  199. package/dist/excalidraw/components/DialogActionButton.d.ts +1 -1
  200. package/dist/excalidraw/components/EyeDropper.d.ts +2 -2
  201. package/dist/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  202. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  203. package/dist/excalidraw/components/HelpDialog.js +8 -6
  204. package/dist/excalidraw/components/HintViewer.d.ts +1 -1
  205. package/dist/excalidraw/components/IconPicker.js +2 -2
  206. package/dist/excalidraw/components/ImageExportDialog.d.ts +1 -1
  207. package/dist/excalidraw/components/InitializeApp.d.ts +2 -2
  208. package/dist/excalidraw/components/JSONExportDialog.d.ts +3 -3
  209. package/dist/excalidraw/components/LayerUI.d.ts +4 -4
  210. package/dist/excalidraw/components/LayerUI.js +2 -2
  211. package/dist/excalidraw/components/LibraryMenu.d.ts +2 -2
  212. package/dist/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
  213. package/dist/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  214. package/dist/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
  215. package/dist/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  216. package/dist/excalidraw/components/LibraryMenuSection.d.ts +5 -4
  217. package/dist/excalidraw/components/LibraryUnit.d.ts +2 -2
  218. package/dist/excalidraw/components/LoadingMessage.d.ts +1 -1
  219. package/dist/excalidraw/components/MagicSettings.js +2 -2
  220. package/dist/excalidraw/components/MobileMenu.d.ts +3 -3
  221. package/dist/excalidraw/components/MobileMenu.js +1 -1
  222. package/dist/excalidraw/components/Modal.d.ts +1 -1
  223. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  224. package/dist/excalidraw/components/PasteChartDialog.d.ts +1 -1
  225. package/dist/excalidraw/components/PasteChartDialog.js +1 -1
  226. package/dist/excalidraw/components/PublishLibrary.d.ts +1 -1
  227. package/dist/excalidraw/components/RadioGroup.d.ts +2 -1
  228. package/dist/excalidraw/components/RadioGroup.js +1 -1
  229. package/dist/excalidraw/components/SVGLayer.d.ts +1 -1
  230. package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
  231. package/dist/excalidraw/components/Sidebar/Sidebar.js +1 -1
  232. package/dist/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
  233. package/dist/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
  234. package/dist/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  235. package/dist/excalidraw/components/Sidebar/common.d.ts +1 -1
  236. package/dist/excalidraw/components/Stack.d.ts +2 -2
  237. package/dist/excalidraw/components/Stats.d.ts +2 -2
  238. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
  239. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.js +6 -2
  240. package/dist/excalidraw/components/TTDDialog/TTDDialog.js +2 -2
  241. package/dist/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
  242. package/dist/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
  243. package/dist/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
  244. package/dist/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
  245. package/dist/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  246. package/dist/excalidraw/components/TTDDialog/common.d.ts +4 -4
  247. package/dist/excalidraw/components/TextField.d.ts +1 -1
  248. package/dist/excalidraw/components/Toast.d.ts +1 -1
  249. package/dist/excalidraw/components/ToolButton.d.ts +4 -2
  250. package/dist/excalidraw/components/ToolButton.js +1 -1
  251. package/dist/excalidraw/components/Trans.d.ts +1 -1
  252. package/dist/excalidraw/components/UserList.d.ts +1 -1
  253. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +5 -3
  254. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +5 -2
  255. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
  256. package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
  257. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +2 -2
  258. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -0
  259. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.js +9 -0
  260. package/dist/excalidraw/components/footer/Footer.d.ts +2 -2
  261. package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  262. package/dist/excalidraw/components/hyperlink/Hyperlink.js +3 -3
  263. package/dist/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  264. package/dist/excalidraw/components/hyperlink/helpers.js +2 -3
  265. package/dist/excalidraw/components/icons.d.ts +6 -1
  266. package/dist/excalidraw/components/icons.js +23 -5
  267. package/dist/excalidraw/components/main-menu/DefaultItems.d.ts +12 -2
  268. package/dist/excalidraw/components/main-menu/DefaultItems.js +38 -7
  269. package/dist/excalidraw/constants.d.ts +6 -5
  270. package/dist/excalidraw/constants.js +11 -3
  271. package/dist/excalidraw/context/ui-appState.d.ts +1 -1
  272. package/dist/excalidraw/cursor.d.ts +1 -1
  273. package/dist/excalidraw/data/EditorLocalStorage.d.ts +2 -2
  274. package/dist/excalidraw/data/blob.d.ts +5 -5
  275. package/dist/excalidraw/data/filesystem.d.ts +2 -1
  276. package/dist/excalidraw/data/index.d.ts +4 -4
  277. package/dist/excalidraw/data/json.d.ts +3 -3
  278. package/dist/excalidraw/data/library.d.ts +3 -3
  279. package/dist/excalidraw/data/magic.d.ts +3 -3
  280. package/dist/excalidraw/data/magic.js +2 -1
  281. package/dist/excalidraw/data/reconcile.d.ts +6 -0
  282. package/dist/excalidraw/data/reconcile.js +49 -0
  283. package/dist/excalidraw/data/resave.d.ts +2 -2
  284. package/dist/excalidraw/data/restore.d.ts +5 -5
  285. package/dist/excalidraw/data/restore.js +9 -7
  286. package/dist/excalidraw/data/transform.d.ts +4 -4
  287. package/dist/excalidraw/data/transform.js +12 -3
  288. package/dist/excalidraw/data/types.d.ts +3 -3
  289. package/dist/excalidraw/data/url.d.ts +1 -0
  290. package/dist/excalidraw/data/url.js +4 -1
  291. package/dist/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
  292. package/dist/excalidraw/element/binding.d.ts +50 -9
  293. package/dist/excalidraw/element/binding.js +712 -155
  294. package/dist/excalidraw/element/bounds.d.ts +3 -4
  295. package/dist/excalidraw/element/bounds.js +0 -3
  296. package/dist/excalidraw/element/collision.d.ts +14 -19
  297. package/dist/excalidraw/element/collision.js +36 -713
  298. package/dist/excalidraw/element/containerCache.d.ts +1 -1
  299. package/dist/excalidraw/element/dragElements.d.ts +4 -4
  300. package/dist/excalidraw/element/dragElements.js +27 -3
  301. package/dist/excalidraw/element/embeddable.d.ts +9 -6
  302. package/dist/excalidraw/element/embeddable.js +98 -62
  303. package/dist/excalidraw/element/image.d.ts +2 -2
  304. package/dist/excalidraw/element/index.d.ts +2 -3
  305. package/dist/excalidraw/element/index.js +1 -2
  306. package/dist/excalidraw/element/linearElementEditor.d.ts +12 -12
  307. package/dist/excalidraw/element/linearElementEditor.js +7 -5
  308. package/dist/excalidraw/element/mutateElement.d.ts +4 -5
  309. package/dist/excalidraw/element/mutateElement.js +5 -3
  310. package/dist/excalidraw/element/newElement.d.ts +6 -9
  311. package/dist/excalidraw/element/newElement.js +18 -15
  312. package/dist/excalidraw/element/resizeElements.d.ts +4 -4
  313. package/dist/excalidraw/element/resizeElements.js +172 -96
  314. package/dist/excalidraw/element/resizeTest.d.ts +7 -7
  315. package/dist/excalidraw/element/resizeTest.js +53 -8
  316. package/dist/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
  317. package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
  318. package/dist/excalidraw/element/sizeHelpers.js +3 -0
  319. package/dist/excalidraw/element/sortElements.d.ts +1 -1
  320. package/dist/excalidraw/element/textElement.d.ts +6 -6
  321. package/dist/excalidraw/element/textElement.js +16 -37
  322. package/dist/excalidraw/element/textWysiwyg.d.ts +12 -6
  323. package/dist/excalidraw/element/textWysiwyg.js +38 -17
  324. package/dist/excalidraw/element/transformHandles.d.ts +24 -6
  325. package/dist/excalidraw/element/transformHandles.js +22 -11
  326. package/dist/excalidraw/element/typeChecks.d.ts +4 -4
  327. package/dist/excalidraw/element/types.d.ts +33 -10
  328. package/dist/excalidraw/emitter.d.ts +1 -1
  329. package/dist/excalidraw/errors.d.ts +3 -0
  330. package/dist/excalidraw/errors.js +3 -0
  331. package/dist/excalidraw/fractionalIndex.d.ts +40 -0
  332. package/dist/excalidraw/fractionalIndex.js +239 -0
  333. package/dist/excalidraw/frame.d.ts +4 -4
  334. package/dist/excalidraw/gatransforms.d.ts +1 -1
  335. package/dist/excalidraw/gesture.d.ts +1 -1
  336. package/dist/excalidraw/groups.d.ts +5 -3
  337. package/dist/excalidraw/groups.js +17 -0
  338. package/dist/excalidraw/history.d.ts +35 -47
  339. package/dist/excalidraw/history.js +100 -167
  340. package/dist/excalidraw/hooks/useCreatePortalContainer.js +2 -1
  341. package/dist/excalidraw/hooks/useEmitter.d.ts +2 -0
  342. package/dist/excalidraw/hooks/useEmitter.js +13 -0
  343. package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  344. package/dist/excalidraw/i18n.d.ts +1 -1
  345. package/dist/excalidraw/index.d.ts +3 -1
  346. package/dist/excalidraw/index.js +2 -0
  347. package/dist/excalidraw/jotai.d.ts +1 -1
  348. package/dist/excalidraw/laser-trails.d.ts +3 -2
  349. package/dist/excalidraw/locales/en.json +8 -4
  350. package/dist/excalidraw/math.d.ts +2 -2
  351. package/dist/excalidraw/mermaid.d.ts +2 -0
  352. package/dist/excalidraw/mermaid.js +28 -0
  353. package/dist/excalidraw/points.d.ts +1 -1
  354. package/dist/excalidraw/queue.d.ts +1 -1
  355. package/dist/excalidraw/renderer/helpers.d.ts +2 -2
  356. package/dist/excalidraw/renderer/helpers.js +2 -2
  357. package/dist/excalidraw/renderer/interactiveScene.d.ts +2 -2
  358. package/dist/excalidraw/renderer/interactiveScene.js +38 -11
  359. package/dist/excalidraw/renderer/renderElement.d.ts +4 -4
  360. package/dist/excalidraw/renderer/renderElement.js +7 -7
  361. package/dist/excalidraw/renderer/renderSnaps.d.ts +1 -1
  362. package/dist/excalidraw/renderer/renderSnaps.js +2 -1
  363. package/dist/excalidraw/renderer/staticScene.d.ts +1 -1
  364. package/dist/excalidraw/renderer/staticScene.js +14 -3
  365. package/dist/excalidraw/renderer/staticSvgScene.d.ts +4 -4
  366. package/dist/excalidraw/renderer/staticSvgScene.js +10 -0
  367. package/dist/excalidraw/scene/Fonts.d.ts +2 -4
  368. package/dist/excalidraw/scene/Fonts.js +6 -12
  369. package/dist/excalidraw/scene/Renderer.d.ts +4 -4
  370. package/dist/excalidraw/scene/Renderer.js +2 -3
  371. package/dist/excalidraw/scene/Scene.d.ts +19 -12
  372. package/dist/excalidraw/scene/Scene.js +44 -23
  373. package/dist/excalidraw/scene/Shape.d.ts +1 -1
  374. package/dist/excalidraw/scene/ShapeCache.d.ts +4 -4
  375. package/dist/excalidraw/scene/comparisons.d.ts +2 -2
  376. package/dist/excalidraw/scene/export.d.ts +2 -2
  377. package/dist/excalidraw/scene/export.js +6 -5
  378. package/dist/excalidraw/scene/scroll.d.ts +2 -2
  379. package/dist/excalidraw/scene/scrollbars.d.ts +3 -3
  380. package/dist/excalidraw/scene/selection.d.ts +2 -2
  381. package/dist/excalidraw/scene/types.d.ts +7 -5
  382. package/dist/excalidraw/scene/zoom.d.ts +1 -1
  383. package/dist/excalidraw/snapping.d.ts +4 -4
  384. package/dist/excalidraw/snapping.js +2 -1
  385. package/dist/excalidraw/store.d.ts +129 -0
  386. package/dist/excalidraw/store.js +296 -0
  387. package/dist/excalidraw/types.d.ts +34 -19
  388. package/dist/excalidraw/utils.d.ts +11 -4
  389. package/dist/excalidraw/utils.js +8 -0
  390. package/dist/excalidraw/zindex.d.ts +4 -4
  391. package/dist/excalidraw/zindex.js +9 -13
  392. package/dist/prod/{en-II4GK66F.json → en-OIPCBIOA.json} +8 -4
  393. package/dist/prod/index.css +1 -1
  394. package/dist/prod/index.js +44 -44
  395. package/dist/utils/bbox.d.ts +2 -2
  396. package/dist/utils/collision.d.ts +4 -0
  397. package/dist/utils/collision.js +48 -0
  398. package/dist/utils/export.d.ts +2 -2
  399. package/dist/utils/geometry/geometry.d.ts +71 -0
  400. package/dist/utils/geometry/geometry.js +674 -0
  401. package/dist/utils/geometry/shape.d.ts +56 -0
  402. package/dist/utils/geometry/shape.js +168 -0
  403. package/dist/utils/withinBounds.d.ts +1 -1
  404. package/history.ts +163 -218
  405. package/package.json +3 -2
  406. package/dist/browser/dev/excalidraw-assets-dev/chunk-AK7SWNLN.js.map +0 -7
  407. package/dist/browser/dev/excalidraw-assets-dev/chunk-RWZVJAQU.js.map +0 -7
  408. package/dist/browser/dev/excalidraw-assets-dev/chunk-Z3PH3V2B.js.map +0 -7
  409. package/dist/browser/dev/excalidraw-assets-dev/dist-Z46EOVOL.js.map +0 -7
  410. package/dist/browser/dev/excalidraw-assets-dev/image-OFRRV5MB.css.map +0 -7
  411. package/dist/browser/prod/excalidraw-assets/chunk-LL4GORAM.js +0 -55
  412. package/dist/browser/prod/excalidraw-assets/dist-PIPZXALV.js +0 -6
  413. package/dist/browser/prod/excalidraw-assets/image-EFCJDJH3.js +0 -1
  414. /package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js.map → blockDiagram-91b80b7a-H47FTXHA.js.map} +0 -0
  415. /package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js.map → c4Diagram-b2a90758-NNJK6GKC.js.map} +0 -0
  416. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js.map → chunk-4KQVEBHW.js.map} +0 -0
  417. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js.map → chunk-53YI56GV.js.map} +0 -0
  418. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js.map → chunk-A2WCJI4I.js.map} +0 -0
  419. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js.map → chunk-EFLPX7NE.js.map} +0 -0
  420. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js.map → chunk-JYIQCNWV.js.map} +0 -0
  421. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js.map → chunk-LVIQQW6F.js.map} +0 -0
  422. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js.map → chunk-PXLO3FOU.js.map} +0 -0
  423. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js.map → chunk-TO2AW5PW.js.map} +0 -0
  424. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js.map → chunk-VURILHLY.js.map} +0 -0
  425. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js.map → chunk-ZAYGSUHF.js.map} +0 -0
  426. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js.map → classDiagram-30eddba6-CUYIJICN.js.map} +0 -0
  427. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js.map → classDiagram-v2-f2df5561-K6WW6K73.js.map} +0 -0
  428. /package/dist/browser/dev/excalidraw-assets-dev/{en-5TCZHGGJ.js.map → en-Y27YPU72.js.map} +0 -0
  429. /package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js.map → erDiagram-47591fe2-XGAD7EEP.js.map} +0 -0
  430. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js.map → flowDiagram-5540d9b9-B6EOVNNO.js.map} +0 -0
  431. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js.map → flowDiagram-v2-3b53844e-NUG24FJH.js.map} +0 -0
  432. /package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js.map → flowchart-elk-definition-5fe447d6-25Y7PCBL.js.map} +0 -0
  433. /package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js.map → ganttDiagram-9a3bba1f-GNL6ZDTC.js.map} +0 -0
  434. /package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js.map → gitGraphDiagram-96e6b4ee-HNW52NVO.js.map} +0 -0
  435. /package/dist/browser/dev/excalidraw-assets-dev/{image-EDKQZH7Z.js.map → image-J7S3ALXP.js.map} +0 -0
  436. /package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js.map → infoDiagram-bcd20f53-FWEUVFLT.js.map} +0 -0
  437. /package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js.map → journeyDiagram-4fe6b3dc-RZIUI7UG.js.map} +0 -0
  438. /package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js.map → mindmap-definition-f354de21-GBVN45GU.js.map} +0 -0
  439. /package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js.map → pieDiagram-79897490-ECENNII6.js.map} +0 -0
  440. /package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js.map → quadrantDiagram-62f64e94-ZMEOFVNL.js.map} +0 -0
  441. /package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js.map → requirementDiagram-05bf5f74-FHZSFHCR.js.map} +0 -0
  442. /package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js.map → sankeyDiagram-97764748-VDKIKTA6.js.map} +0 -0
  443. /package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js.map → sequenceDiagram-acc0e65c-6JUSPVKX.js.map} +0 -0
  444. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js.map → stateDiagram-0ff1cf1a-L3AKWENF.js.map} +0 -0
  445. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js.map → stateDiagram-v2-9a9d610d-NU3GGMCH.js.map} +0 -0
  446. /package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js.map → timeline-definition-fea2a41d-JGP7XCHW.js.map} +0 -0
  447. /package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js.map → xychartDiagram-ab372869-HLFHHF2I.js.map} +0 -0
@@ -3,8 +3,8 @@ export declare const actionLink: {
3
3
  name: "hyperlink";
4
4
  label: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => "labels.link.editEmbed" | "labels.link.edit" | "labels.link.createEmbed" | "labels.link.create";
5
5
  icon: JSX.Element;
6
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => false | {
7
- elements: readonly import("../element/types").ExcalidrawElement[];
6
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => false | {
7
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
8
8
  appState: {
9
9
  showHyperlinkPopup: "editor";
10
10
  openMenu: null;
@@ -157,15 +157,15 @@ export declare const actionLink: {
157
157
  userToFollow: import("../types").UserToFollow | null;
158
158
  followedBy: Set<import("../types").SocketId>;
159
159
  };
160
- commitToHistory: true;
160
+ storeAction: "capture";
161
161
  };
162
162
  trackEvent: {
163
163
  category: "hyperlink";
164
164
  action: string;
165
165
  };
166
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
166
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
167
167
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
168
168
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
169
169
  } & {
170
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
170
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
171
171
  };
@@ -6,6 +6,7 @@ import { isEmbeddableElement } from "../element/typeChecks";
6
6
  import { t } from "../i18n";
7
7
  import { KEYS } from "../keys";
8
8
  import { getSelectedElements } from "../scene";
9
+ import { StoreAction } from "../store";
9
10
  import { getShortcutKey } from "../utils";
10
11
  import { register } from "./register";
11
12
  export const actionLink = register({
@@ -23,7 +24,7 @@ export const actionLink = register({
23
24
  showHyperlinkPopup: "editor",
24
25
  openMenu: null,
25
26
  },
26
- commitToHistory: true,
27
+ storeAction: StoreAction.CAPTURE,
27
28
  };
28
29
  },
29
30
  trackEvent: { category: "hyperlink", action: "click" },
@@ -5,7 +5,7 @@ export declare const actionToggleCanvasMenu: {
5
5
  trackEvent: {
6
6
  category: "menu";
7
7
  };
8
- perform: (_: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
8
+ perform: (_: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
9
9
  appState: {
10
10
  openMenu: "canvas" | null;
11
11
  contextMenu: {
@@ -158,7 +158,7 @@ export declare const actionToggleCanvasMenu: {
158
158
  userToFollow: import("../types").UserToFollow | null;
159
159
  followedBy: Set<import("../types").SocketId>;
160
160
  };
161
- commitToHistory: false;
161
+ storeAction: "none";
162
162
  };
163
163
  PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
164
164
  } & {
@@ -170,7 +170,7 @@ export declare const actionToggleEditMenu: {
170
170
  trackEvent: {
171
171
  category: "menu";
172
172
  };
173
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
173
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
174
174
  appState: {
175
175
  openMenu: "shape" | null;
176
176
  contextMenu: {
@@ -323,7 +323,7 @@ export declare const actionToggleEditMenu: {
323
323
  userToFollow: import("../types").UserToFollow | null;
324
324
  followedBy: Set<import("../types").SocketId>;
325
325
  };
326
- commitToHistory: false;
326
+ storeAction: "none";
327
327
  };
328
328
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
329
329
  } & {
@@ -338,7 +338,7 @@ export declare const actionShortcuts: {
338
338
  category: "menu";
339
339
  action: string;
340
340
  };
341
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { focusContainer }: import("../types").AppClassProperties) => {
341
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { focusContainer }: import("../types").AppClassProperties) => {
342
342
  appState: {
343
343
  openDialog: {
344
344
  name: "help";
@@ -482,9 +482,9 @@ export declare const actionShortcuts: {
482
482
  userToFollow: import("../types").UserToFollow | null;
483
483
  followedBy: Set<import("../types").SocketId>;
484
484
  };
485
- commitToHistory: false;
485
+ storeAction: "none";
486
486
  };
487
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
487
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
488
488
  } & {
489
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
489
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
490
490
  };
@@ -5,6 +5,7 @@ import { t } from "../i18n";
5
5
  import { showSelectedShapeActions, getNonDeletedElements } from "../element";
6
6
  import { register } from "./register";
7
7
  import { KEYS } from "../keys";
8
+ import { StoreAction } from "../store";
8
9
  export const actionToggleCanvasMenu = register({
9
10
  name: "toggleCanvasMenu",
10
11
  label: "buttons.menu",
@@ -14,7 +15,7 @@ export const actionToggleCanvasMenu = register({
14
15
  ...appState,
15
16
  openMenu: appState.openMenu === "canvas" ? null : "canvas",
16
17
  },
17
- commitToHistory: false,
18
+ storeAction: StoreAction.NONE,
18
19
  }),
19
20
  PanelComponent: ({ appState, updateData }) => (_jsx(ToolButton, { type: "button", icon: HamburgerMenuIcon, "aria-label": t("buttons.menu"), onClick: updateData, selected: appState.openMenu === "canvas" })),
20
21
  });
@@ -27,7 +28,7 @@ export const actionToggleEditMenu = register({
27
28
  ...appState,
28
29
  openMenu: appState.openMenu === "shape" ? null : "shape",
29
30
  },
30
- commitToHistory: false,
31
+ storeAction: StoreAction.NONE,
31
32
  }),
32
33
  PanelComponent: ({ elements, appState, updateData }) => (_jsx(ToolButton, { visible: showSelectedShapeActions(appState, getNonDeletedElements(elements)), type: "button", icon: palette, "aria-label": t("buttons.edit"), onClick: updateData, selected: appState.openMenu === "shape" })),
33
34
  });
@@ -50,7 +51,7 @@ export const actionShortcuts = register({
50
51
  name: "help",
51
52
  },
52
53
  },
53
- commitToHistory: false,
54
+ storeAction: StoreAction.NONE,
54
55
  };
55
56
  },
56
57
  keyTest: (event) => event.key === KEYS.QUESTION_MARK,
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { Collaborator } from "../types";
2
+ import type { Collaborator } from "../types";
3
3
  export declare const actionGoToCollaborator: {
4
4
  name: "goToCollaborator";
5
5
  label: string;
@@ -7,7 +7,7 @@ export declare const actionGoToCollaborator: {
7
7
  trackEvent: {
8
8
  category: "collab";
9
9
  };
10
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, collaborator: Collaborator) => {
10
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, collaborator: Collaborator) => {
11
11
  appState: {
12
12
  userToFollow: null;
13
13
  contextMenu: {
@@ -160,7 +160,7 @@ export declare const actionGoToCollaborator: {
160
160
  objectsSnapModeEnabled: boolean;
161
161
  followedBy: Set<import("../types").SocketId>;
162
162
  };
163
- commitToHistory: false;
163
+ storeAction: "none";
164
164
  } | {
165
165
  appState: {
166
166
  userToFollow: {
@@ -317,7 +317,7 @@ export declare const actionGoToCollaborator: {
317
317
  objectsSnapModeEnabled: boolean;
318
318
  followedBy: Set<import("../types").SocketId>;
319
319
  };
320
- commitToHistory: false;
320
+ storeAction: "none";
321
321
  };
322
322
  PanelComponent: ({ updateData, data, appState }: import("./types").PanelComponentProps) => JSX.Element;
323
323
  } & {
@@ -3,6 +3,7 @@ import { getClientColor } from "../clients";
3
3
  import { Avatar } from "../components/Avatar";
4
4
  import { eyeIcon, microphoneIcon, microphoneMutedIcon, } from "../components/icons";
5
5
  import { t } from "../i18n";
6
+ import { StoreAction } from "../store";
6
7
  import { register } from "./register";
7
8
  import clsx from "clsx";
8
9
  export const actionGoToCollaborator = register({
@@ -19,7 +20,7 @@ export const actionGoToCollaborator = register({
19
20
  ...appState,
20
21
  userToFollow: null,
21
22
  },
22
- commitToHistory: false,
23
+ storeAction: StoreAction.NONE,
23
24
  };
24
25
  }
25
26
  return {
@@ -32,7 +33,7 @@ export const actionGoToCollaborator = register({
32
33
  // Close mobile menu
33
34
  openMenu: appState.openMenu === "canvas" ? null : appState.openMenu,
34
35
  },
35
- commitToHistory: false,
36
+ storeAction: StoreAction.NONE,
36
37
  };
37
38
  },
38
39
  PanelComponent: ({ updateData, data, appState }) => {
@@ -1,13 +1,13 @@
1
1
  /// <reference types="react" />
2
- import { AppClassProperties, AppState, Primitive } from "../types";
3
- import { Arrowhead, ExcalidrawElement, ExcalidrawLinearElement } from "../element/types";
2
+ import type { AppClassProperties, AppState, Primitive } from "../types";
3
+ import type { Arrowhead, ExcalidrawElement, ExcalidrawLinearElement } from "../element/types";
4
4
  export declare const changeProperty: (elements: readonly ExcalidrawElement[], appState: AppState, callback: (element: ExcalidrawElement) => ExcalidrawElement, includeBoundText?: boolean) => ExcalidrawElement[];
5
5
  export declare const getFormValue: <T extends Primitive>(elements: readonly ExcalidrawElement[], appState: AppState, getAttribute: (element: ExcalidrawElement) => T, isRelevantElement: true | ((element: ExcalidrawElement) => boolean), defaultValue: T | ((isSomeElementSelected: boolean) => T)) => T;
6
6
  export declare const actionChangeStrokeColor: {
7
7
  name: "changeStrokeColor";
8
8
  label: string;
9
9
  trackEvent: false;
10
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
10
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
11
11
  PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
12
12
  } & {
13
13
  keyTest?: undefined;
@@ -16,7 +16,7 @@ export declare const actionChangeBackgroundColor: {
16
16
  name: "changeBackgroundColor";
17
17
  label: string;
18
18
  trackEvent: false;
19
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
19
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => any;
20
20
  PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => JSX.Element;
21
21
  } & {
22
22
  keyTest?: undefined;
@@ -25,7 +25,7 @@ export declare const actionChangeFillStyle: {
25
25
  name: "changeFillStyle";
26
26
  label: string;
27
27
  trackEvent: false;
28
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
28
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
29
29
  elements: ExcalidrawElement[];
30
30
  appState: {
31
31
  currentItemFillStyle: any;
@@ -179,7 +179,7 @@ export declare const actionChangeFillStyle: {
179
179
  userToFollow: import("../types").UserToFollow | null;
180
180
  followedBy: Set<import("../types").SocketId>;
181
181
  };
182
- commitToHistory: true;
182
+ storeAction: "capture";
183
183
  };
184
184
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
185
185
  } & {
@@ -189,7 +189,7 @@ export declare const actionChangeStrokeWidth: {
189
189
  name: "changeStrokeWidth";
190
190
  label: string;
191
191
  trackEvent: false;
192
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
192
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
193
193
  elements: ExcalidrawElement[];
194
194
  appState: {
195
195
  currentItemStrokeWidth: any;
@@ -343,7 +343,7 @@ export declare const actionChangeStrokeWidth: {
343
343
  userToFollow: import("../types").UserToFollow | null;
344
344
  followedBy: Set<import("../types").SocketId>;
345
345
  };
346
- commitToHistory: true;
346
+ storeAction: "capture";
347
347
  };
348
348
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
349
349
  } & {
@@ -353,7 +353,7 @@ export declare const actionChangeSloppiness: {
353
353
  name: "changeSloppiness";
354
354
  label: string;
355
355
  trackEvent: false;
356
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
356
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
357
357
  elements: ExcalidrawElement[];
358
358
  appState: {
359
359
  currentItemRoughness: any;
@@ -507,7 +507,7 @@ export declare const actionChangeSloppiness: {
507
507
  userToFollow: import("../types").UserToFollow | null;
508
508
  followedBy: Set<import("../types").SocketId>;
509
509
  };
510
- commitToHistory: true;
510
+ storeAction: "capture";
511
511
  };
512
512
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
513
513
  } & {
@@ -517,7 +517,7 @@ export declare const actionChangeStrokeStyle: {
517
517
  name: "changeStrokeStyle";
518
518
  label: string;
519
519
  trackEvent: false;
520
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
520
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
521
521
  elements: ExcalidrawElement[];
522
522
  appState: {
523
523
  currentItemStrokeStyle: any;
@@ -671,7 +671,7 @@ export declare const actionChangeStrokeStyle: {
671
671
  userToFollow: import("../types").UserToFollow | null;
672
672
  followedBy: Set<import("../types").SocketId>;
673
673
  };
674
- commitToHistory: true;
674
+ storeAction: "capture";
675
675
  };
676
676
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
677
677
  } & {
@@ -681,7 +681,7 @@ export declare const actionChangeOpacity: {
681
681
  name: "changeOpacity";
682
682
  label: string;
683
683
  trackEvent: false;
684
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
684
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
685
685
  elements: ExcalidrawElement[];
686
686
  appState: {
687
687
  currentItemOpacity: any;
@@ -835,7 +835,7 @@ export declare const actionChangeOpacity: {
835
835
  userToFollow: import("../types").UserToFollow | null;
836
836
  followedBy: Set<import("../types").SocketId>;
837
837
  };
838
- commitToHistory: true;
838
+ storeAction: "capture";
839
839
  };
840
840
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
841
841
  } & {
@@ -845,7 +845,7 @@ export declare const actionChangeFontSize: {
845
845
  name: "changeFontSize";
846
846
  label: string;
847
847
  trackEvent: false;
848
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
848
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
849
849
  elements: ExcalidrawElement[];
850
850
  appState: {
851
851
  currentItemFontSize: number;
@@ -999,7 +999,7 @@ export declare const actionChangeFontSize: {
999
999
  userToFollow: import("../types").UserToFollow | null;
1000
1000
  followedBy: Set<import("../types").SocketId>;
1001
1001
  };
1002
- commitToHistory: boolean;
1002
+ storeAction: "capture";
1003
1003
  };
1004
1004
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
1005
1005
  } & {
@@ -1010,7 +1010,7 @@ export declare const actionDecreaseFontSize: {
1010
1010
  label: string;
1011
1011
  icon: JSX.Element;
1012
1012
  trackEvent: false;
1013
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1013
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1014
1014
  elements: ExcalidrawElement[];
1015
1015
  appState: {
1016
1016
  currentItemFontSize: number;
@@ -1164,18 +1164,18 @@ export declare const actionDecreaseFontSize: {
1164
1164
  userToFollow: import("../types").UserToFollow | null;
1165
1165
  followedBy: Set<import("../types").SocketId>;
1166
1166
  };
1167
- commitToHistory: boolean;
1167
+ storeAction: "capture";
1168
1168
  };
1169
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1169
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1170
1170
  } & {
1171
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1171
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1172
1172
  };
1173
1173
  export declare const actionIncreaseFontSize: {
1174
1174
  name: "increaseFontSize";
1175
1175
  label: string;
1176
1176
  icon: JSX.Element;
1177
1177
  trackEvent: false;
1178
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1178
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1179
1179
  elements: ExcalidrawElement[];
1180
1180
  appState: {
1181
1181
  currentItemFontSize: number;
@@ -1329,17 +1329,17 @@ export declare const actionIncreaseFontSize: {
1329
1329
  userToFollow: import("../types").UserToFollow | null;
1330
1330
  followedBy: Set<import("../types").SocketId>;
1331
1331
  };
1332
- commitToHistory: boolean;
1332
+ storeAction: "capture";
1333
1333
  };
1334
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
1334
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1335
1335
  } & {
1336
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
1336
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1337
1337
  };
1338
1338
  export declare const actionChangeFontFamily: {
1339
1339
  name: "changeFontFamily";
1340
1340
  label: string;
1341
1341
  trackEvent: false;
1342
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1342
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1343
1343
  elements: ExcalidrawElement[];
1344
1344
  appState: {
1345
1345
  currentItemFontFamily: any;
@@ -1493,7 +1493,7 @@ export declare const actionChangeFontFamily: {
1493
1493
  userToFollow: import("../types").UserToFollow | null;
1494
1494
  followedBy: Set<import("../types").SocketId>;
1495
1495
  };
1496
- commitToHistory: true;
1496
+ storeAction: "capture";
1497
1497
  };
1498
1498
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
1499
1499
  } & {
@@ -1503,7 +1503,7 @@ export declare const actionChangeTextAlign: {
1503
1503
  name: "changeTextAlign";
1504
1504
  label: string;
1505
1505
  trackEvent: false;
1506
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1506
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1507
1507
  elements: ExcalidrawElement[];
1508
1508
  appState: {
1509
1509
  currentItemTextAlign: any;
@@ -1657,7 +1657,7 @@ export declare const actionChangeTextAlign: {
1657
1657
  userToFollow: import("../types").UserToFollow | null;
1658
1658
  followedBy: Set<import("../types").SocketId>;
1659
1659
  };
1660
- commitToHistory: true;
1660
+ storeAction: "capture";
1661
1661
  };
1662
1662
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
1663
1663
  } & {
@@ -1669,7 +1669,7 @@ export declare const actionChangeVerticalAlign: {
1669
1669
  trackEvent: {
1670
1670
  category: "element";
1671
1671
  };
1672
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1672
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any, app: AppClassProperties) => {
1673
1673
  elements: ExcalidrawElement[];
1674
1674
  appState: {
1675
1675
  contextMenu: {
@@ -1823,7 +1823,7 @@ export declare const actionChangeVerticalAlign: {
1823
1823
  userToFollow: import("../types").UserToFollow | null;
1824
1824
  followedBy: Set<import("../types").SocketId>;
1825
1825
  };
1826
- commitToHistory: true;
1826
+ storeAction: "capture";
1827
1827
  };
1828
1828
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
1829
1829
  } & {
@@ -1833,7 +1833,7 @@ export declare const actionChangeRoundness: {
1833
1833
  name: "changeRoundness";
1834
1834
  label: string;
1835
1835
  trackEvent: false;
1836
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1836
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1837
1837
  elements: ExcalidrawElement[];
1838
1838
  appState: {
1839
1839
  currentItemRoundness: any;
@@ -1987,7 +1987,7 @@ export declare const actionChangeRoundness: {
1987
1987
  userToFollow: import("../types").UserToFollow | null;
1988
1988
  followedBy: Set<import("../types").SocketId>;
1989
1989
  };
1990
- commitToHistory: true;
1990
+ storeAction: "capture";
1991
1991
  };
1992
1992
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
1993
1993
  } & {
@@ -1997,7 +1997,7 @@ export declare const actionChangeArrowhead: {
1997
1997
  name: "changeArrowhead";
1998
1998
  label: string;
1999
1999
  trackEvent: false;
2000
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, value: {
2000
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: {
2001
2001
  position: "start" | "end";
2002
2002
  type: Arrowhead;
2003
2003
  }) => {
@@ -2154,7 +2154,7 @@ export declare const actionChangeArrowhead: {
2154
2154
  userToFollow: import("../types").UserToFollow | null;
2155
2155
  followedBy: Set<import("../types").SocketId>;
2156
2156
  };
2157
- commitToHistory: true;
2157
+ storeAction: "capture";
2158
2158
  };
2159
2159
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
2160
2160
  } & {
@@ -20,6 +20,7 @@ import { canHaveArrowheads, getCommonAttributeOfSelectedElements, getSelectedEle
20
20
  import { hasStrokeColor } from "../scene/comparisons";
21
21
  import { arrayToMap, getShortcutKey } from "../utils";
22
22
  import { register } from "./register";
23
+ import { StoreAction } from "../store";
23
24
  const FONT_SIZE_RELATIVE_INCREASE_STEP = 0.1;
24
25
  export const changeProperty = (elements, appState, callback, includeBoundText = false) => {
25
26
  const selectedElementIds = arrayToMap(getSelectedElements(elements, appState, {
@@ -59,7 +60,7 @@ export const getFormValue = function (elements, appState, getAttribute, isReleva
59
60
  return ret;
60
61
  };
61
62
  const offsetElementAfterFontResize = (prevElement, nextElement) => {
62
- if (isBoundToContainer(nextElement)) {
63
+ if (isBoundToContainer(nextElement) || !nextElement.autoResize) {
63
64
  return nextElement;
64
65
  }
65
66
  return mutateElement(nextElement, {
@@ -97,7 +98,7 @@ const changeFontSize = (elements, appState, app, getNewFontSize, fallbackValue)
97
98
  ? [...newFontSizes][0]
98
99
  : fallbackValue ?? appState.currentItemFontSize,
99
100
  },
100
- commitToHistory: true,
101
+ storeAction: StoreAction.CAPTURE,
101
102
  };
102
103
  };
103
104
  // -----------------------------------------------------------------------------
@@ -120,7 +121,9 @@ export const actionChangeStrokeColor = register({
120
121
  ...appState,
121
122
  ...value,
122
123
  },
123
- commitToHistory: !!value.currentItemStrokeColor,
124
+ storeAction: !!value.currentItemStrokeColor
125
+ ? StoreAction.CAPTURE
126
+ : StoreAction.NONE,
124
127
  };
125
128
  },
126
129
  PanelComponent: ({ elements, appState, updateData, appProps }) => (_jsxs(_Fragment, { children: [_jsx("h3", { "aria-hidden": "true", children: t("labels.stroke") }), _jsx(ColorPicker, { topPicks: DEFAULT_ELEMENT_STROKE_PICKS, palette: DEFAULT_ELEMENT_STROKE_COLOR_PALETTE, type: "elementStroke", label: t("labels.stroke"), color: getFormValue(elements, appState, (element) => element.strokeColor, true, appState.currentItemStrokeColor), onChange: (color) => updateData({ currentItemStrokeColor: color }), elements: elements, appState: appState, updateData: updateData })] })),
@@ -140,7 +143,9 @@ export const actionChangeBackgroundColor = register({
140
143
  ...appState,
141
144
  ...value,
142
145
  },
143
- commitToHistory: !!value.currentItemBackgroundColor,
146
+ storeAction: !!value.currentItemBackgroundColor
147
+ ? StoreAction.CAPTURE
148
+ : StoreAction.NONE,
144
149
  };
145
150
  },
146
151
  PanelComponent: ({ elements, appState, updateData, appProps }) => (_jsxs(_Fragment, { children: [_jsx("h3", { "aria-hidden": "true", children: t("labels.background") }), _jsx(ColorPicker, { topPicks: DEFAULT_ELEMENT_BACKGROUND_PICKS, palette: DEFAULT_ELEMENT_BACKGROUND_COLOR_PALETTE, type: "elementBackground", label: t("labels.background"), color: getFormValue(elements, appState, (element) => element.backgroundColor, true, appState.currentItemBackgroundColor), onChange: (color) => updateData({ currentItemBackgroundColor: color }), elements: elements, appState: appState, updateData: updateData })] })),
@@ -156,7 +161,7 @@ export const actionChangeFillStyle = register({
156
161
  fillStyle: value,
157
162
  })),
158
163
  appState: { ...appState, currentItemFillStyle: value },
159
- commitToHistory: true,
164
+ storeAction: StoreAction.CAPTURE,
160
165
  };
161
166
  },
162
167
  PanelComponent: ({ elements, appState, updateData }) => {
@@ -203,7 +208,7 @@ export const actionChangeStrokeWidth = register({
203
208
  strokeWidth: value,
204
209
  })),
205
210
  appState: { ...appState, currentItemStrokeWidth: value },
206
- commitToHistory: true,
211
+ storeAction: StoreAction.CAPTURE,
207
212
  };
208
213
  },
209
214
  PanelComponent: ({ elements, appState, updateData }) => (_jsxs("fieldset", { children: [_jsx("legend", { children: t("labels.strokeWidth") }), _jsx(ButtonIconSelect, { group: "stroke-width", options: [
@@ -238,7 +243,7 @@ export const actionChangeSloppiness = register({
238
243
  roughness: value,
239
244
  })),
240
245
  appState: { ...appState, currentItemRoughness: value },
241
- commitToHistory: true,
246
+ storeAction: StoreAction.CAPTURE,
242
247
  };
243
248
  },
244
249
  PanelComponent: ({ elements, appState, updateData }) => (_jsxs("fieldset", { children: [_jsx("legend", { children: t("labels.sloppiness") }), _jsx(ButtonIconSelect, { group: "sloppiness", options: [
@@ -269,7 +274,7 @@ export const actionChangeStrokeStyle = register({
269
274
  strokeStyle: value,
270
275
  })),
271
276
  appState: { ...appState, currentItemStrokeStyle: value },
272
- commitToHistory: true,
277
+ storeAction: StoreAction.CAPTURE,
273
278
  };
274
279
  },
275
280
  PanelComponent: ({ elements, appState, updateData }) => (_jsxs("fieldset", { children: [_jsx("legend", { children: t("labels.strokeStyle") }), _jsx(ButtonIconSelect, { group: "strokeStyle", options: [
@@ -300,7 +305,7 @@ export const actionChangeOpacity = register({
300
305
  opacity: value,
301
306
  }), true),
302
307
  appState: { ...appState, currentItemOpacity: value },
303
- commitToHistory: true,
308
+ storeAction: StoreAction.CAPTURE,
304
309
  };
305
310
  },
306
311
  PanelComponent: ({ elements, appState, updateData }) => (_jsxs("label", { className: "control-label", children: [t("labels.opacity"), _jsx("input", { type: "range", min: "0", max: "100", step: "10", onChange: (event) => updateData(+event.target.value), value: getFormValue(elements, appState, (element) => element.opacity, true, appState.currentItemOpacity) ?? undefined })] })),
@@ -405,7 +410,7 @@ export const actionChangeFontFamily = register({
405
410
  ...appState,
406
411
  currentItemFontFamily: value,
407
412
  },
408
- commitToHistory: true,
413
+ storeAction: StoreAction.CAPTURE,
409
414
  };
410
415
  },
411
416
  PanelComponent: ({ elements, appState, updateData, app }) => {
@@ -462,7 +467,7 @@ export const actionChangeTextAlign = register({
462
467
  ...appState,
463
468
  currentItemTextAlign: value,
464
469
  },
465
- commitToHistory: true,
470
+ storeAction: StoreAction.CAPTURE,
466
471
  };
467
472
  },
468
473
  PanelComponent: ({ elements, appState, updateData, app }) => {
@@ -516,7 +521,7 @@ export const actionChangeVerticalAlign = register({
516
521
  appState: {
517
522
  ...appState,
518
523
  },
519
- commitToHistory: true,
524
+ storeAction: StoreAction.CAPTURE,
520
525
  };
521
526
  },
522
527
  PanelComponent: ({ elements, appState, updateData, app }) => {
@@ -571,7 +576,7 @@ export const actionChangeRoundness = register({
571
576
  ...appState,
572
577
  currentItemRoundness: value,
573
578
  },
574
- commitToHistory: true,
579
+ storeAction: StoreAction.CAPTURE,
575
580
  };
576
581
  },
577
582
  PanelComponent: ({ elements, appState, updateData }) => {
@@ -691,7 +696,7 @@ export const actionChangeArrowhead = register({
691
696
  ? "currentItemStartArrowhead"
692
697
  : "currentItemEndArrowhead"]: value.type,
693
698
  },
694
- commitToHistory: true,
699
+ storeAction: StoreAction.CAPTURE,
695
700
  };
696
701
  },
697
702
  PanelComponent: ({ elements, appState, updateData }) => {
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ExcalidrawElement } from "../element/types";
2
+ import type { ExcalidrawElement } from "../element/types";
3
3
  import { LinearElementEditor } from "../element/linearElementEditor";
4
4
  export declare const actionSelectAll: {
5
5
  name: "selectAll";
@@ -9,7 +9,7 @@ export declare const actionSelectAll: {
9
9
  category: "canvas";
10
10
  };
11
11
  viewMode: false;
12
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => false | {
12
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => false | {
13
13
  appState: {
14
14
  selectedLinearElement: LinearElementEditor | null;
15
15
  selectedElementIds: Readonly<{
@@ -162,9 +162,9 @@ export declare const actionSelectAll: {
162
162
  userToFollow: import("../types").UserToFollow | null;
163
163
  followedBy: Set<import("../types").SocketId>;
164
164
  };
165
- commitToHistory: true;
165
+ storeAction: "capture";
166
166
  };
167
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
167
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
168
168
  } & {
169
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
169
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
170
170
  };
@@ -6,6 +6,7 @@ import { isLinearElement } from "../element/typeChecks";
6
6
  import { LinearElementEditor } from "../element/linearElementEditor";
7
7
  import { excludeElementsInFramesFromSelection } from "../scene/selection";
8
8
  import { selectAllIcon } from "../components/icons";
9
+ import { StoreAction } from "../store";
9
10
  export const actionSelectAll = register({
10
11
  name: "selectAll",
11
12
  label: "labels.selectAll",
@@ -36,7 +37,7 @@ export const actionSelectAll = register({
36
37
  ? new LinearElementEditor(elements[0])
37
38
  : null,
38
39
  },
39
- commitToHistory: true,
40
+ storeAction: StoreAction.CAPTURE,
40
41
  };
41
42
  },
42
43
  keyTest: (event) => event[KEYS.CTRL_OR_CMD] && event.key === KEYS.A,