@excalidraw/excalidraw 0.18.0-b9d27d3 → 0.18.0-c141960

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 (411) hide show
  1. package/dist/dev/{chunk-QF5FRM6O.js → chunk-AWYOLLYX.js} +49 -26
  2. package/dist/dev/chunk-AWYOLLYX.js.map +7 -0
  3. package/dist/dev/chunk-PMQWN2AA.js +69 -0
  4. package/dist/dev/chunk-PMQWN2AA.js.map +7 -0
  5. package/dist/dev/{chunk-WWDIUJ2Q.js → chunk-SJTAY27F.js} +159 -366
  6. package/dist/dev/chunk-SJTAY27F.js.map +7 -0
  7. package/dist/dev/data/{image-VTYIFRQE.js → image-S2GFZH7W.js} +2 -2
  8. package/dist/dev/index.css +1107 -665
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +9974 -7038
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{ar-SA-XORAP2EK.js → ar-SA-USQAA427.js} +299 -142
  13. package/dist/dev/locales/ar-SA-USQAA427.js.map +7 -0
  14. package/dist/dev/locales/{az-AZ-NAUU3Z4Y.js → az-AZ-CVQRXULV.js} +240 -83
  15. package/dist/dev/locales/az-AZ-CVQRXULV.js.map +7 -0
  16. package/dist/dev/locales/{bg-BG-AAABLFCY.js → bg-BG-E4I2JVOQ.js} +228 -71
  17. package/dist/dev/locales/bg-BG-E4I2JVOQ.js.map +7 -0
  18. package/dist/dev/locales/{bn-BD-PM4AC5WG.js → bn-BD-O55ROP2R.js} +208 -51
  19. package/dist/dev/locales/bn-BD-O55ROP2R.js.map +7 -0
  20. package/dist/dev/locales/bn-IN-OL7OUKTP.js +743 -0
  21. package/dist/dev/locales/bn-IN-OL7OUKTP.js.map +7 -0
  22. package/dist/dev/locales/{ca-ES-YNNMFRQX.js → ca-ES-73KY52DM.js} +274 -117
  23. package/dist/dev/locales/ca-ES-73KY52DM.js.map +7 -0
  24. package/dist/dev/locales/{cs-CZ-DGZA5IKG.js → cs-CZ-2YGHPQ24.js} +228 -71
  25. package/dist/dev/locales/cs-CZ-2YGHPQ24.js.map +7 -0
  26. package/dist/dev/locales/{da-DK-N76F4QAJ.js → da-DK-OEIZIPJU.js} +297 -140
  27. package/dist/dev/locales/da-DK-OEIZIPJU.js.map +7 -0
  28. package/dist/dev/locales/de-CH-4GJTW23D.js +743 -0
  29. package/dist/dev/locales/de-CH-4GJTW23D.js.map +7 -0
  30. package/dist/dev/locales/{de-DE-DMRXZ2SZ.js → de-DE-YRH6WMM5.js} +198 -41
  31. package/dist/dev/locales/de-DE-YRH6WMM5.js.map +7 -0
  32. package/dist/dev/locales/{el-GR-HIKPLEXI.js → el-GR-W7S64QNM.js} +273 -116
  33. package/dist/dev/locales/el-GR-W7S64QNM.js.map +7 -0
  34. package/dist/dev/locales/{en-SMAPCEOQ.js → en-ZO6QSABV.js} +4 -2
  35. package/dist/dev/locales/{es-ES-AQYVXC32.js → es-ES-7JEN5PTZ.js} +211 -54
  36. package/dist/dev/locales/es-ES-7JEN5PTZ.js.map +7 -0
  37. package/dist/dev/locales/{eu-ES-3TOEU5DE.js → eu-ES-HQNHU6VR.js} +209 -52
  38. package/dist/dev/locales/eu-ES-HQNHU6VR.js.map +7 -0
  39. package/dist/dev/locales/{fa-IR-527GAKUP.js → fa-IR-IN6XOPA6.js} +285 -128
  40. package/dist/dev/locales/fa-IR-IN6XOPA6.js.map +7 -0
  41. package/dist/dev/locales/{fi-FI-M3WLVDFP.js → fi-FI-5BAAYJDZ.js} +239 -82
  42. package/dist/dev/locales/fi-FI-5BAAYJDZ.js.map +7 -0
  43. package/dist/dev/locales/{fr-FR-YE4VDJFI.js → fr-FR-KCXBY2R4.js} +202 -45
  44. package/dist/dev/locales/fr-FR-KCXBY2R4.js.map +7 -0
  45. package/dist/dev/locales/{gl-ES-KMXUYGUN.js → gl-ES-5OPGWS6N.js} +211 -54
  46. package/dist/dev/locales/gl-ES-5OPGWS6N.js.map +7 -0
  47. package/dist/dev/locales/he-IL-3A6ZWK6L.js +743 -0
  48. package/dist/dev/locales/he-IL-3A6ZWK6L.js.map +7 -0
  49. package/dist/dev/locales/hi-IN-HZTBH6EG.js +743 -0
  50. package/dist/dev/locales/hi-IN-HZTBH6EG.js.map +7 -0
  51. package/dist/dev/locales/{hu-HU-VIYZI3X4.js → hu-HU-52IRZEAZ.js} +237 -80
  52. package/dist/dev/locales/hu-HU-52IRZEAZ.js.map +7 -0
  53. package/dist/dev/locales/{id-ID-22TWZNLA.js → id-ID-W6HBGXTS.js} +244 -87
  54. package/dist/dev/locales/id-ID-W6HBGXTS.js.map +7 -0
  55. package/dist/dev/locales/{it-IT-MDEQ2SG3.js → it-IT-AV75ICYT.js} +201 -44
  56. package/dist/dev/locales/it-IT-AV75ICYT.js.map +7 -0
  57. package/dist/dev/locales/{ja-JP-K2DI4W6B.js → ja-JP-SS4G3ZXF.js} +246 -89
  58. package/dist/dev/locales/ja-JP-SS4G3ZXF.js.map +7 -0
  59. package/dist/dev/locales/{kaa-6BPSNM3R.js → kaa-Y5BBB3IW.js} +201 -44
  60. package/dist/dev/locales/kaa-Y5BBB3IW.js.map +7 -0
  61. package/dist/dev/locales/{kab-KAB-2S7ZURK7.js → kab-KAB-KDVZQXBT.js} +209 -52
  62. package/dist/dev/locales/kab-KAB-KDVZQXBT.js.map +7 -0
  63. package/dist/dev/locales/{kk-KZ-UJPYGRQQ.js → kk-KZ-762YODLJ.js} +174 -17
  64. package/dist/dev/locales/kk-KZ-762YODLJ.js.map +7 -0
  65. package/dist/dev/locales/{km-KH-M5T5JKUE.js → km-KH-K2TE5MIK.js} +197 -40
  66. package/dist/dev/locales/km-KH-K2TE5MIK.js.map +7 -0
  67. package/dist/dev/locales/{ko-KR-RQX37SNF.js → ko-KR-75RUMBCO.js} +217 -60
  68. package/dist/dev/locales/ko-KR-75RUMBCO.js.map +7 -0
  69. package/dist/dev/locales/{ku-TR-5XJDIERL.js → ku-TR-E6DJ6LYM.js} +197 -40
  70. package/dist/dev/locales/ku-TR-E6DJ6LYM.js.map +7 -0
  71. package/dist/dev/locales/{lt-LT-MGUBX6CA.js → lt-LT-BYS5DA45.js} +178 -21
  72. package/dist/dev/locales/lt-LT-BYS5DA45.js.map +7 -0
  73. package/dist/dev/locales/{lv-LV-MD7N5VHD.js → lv-LV-SPQ2VWX3.js} +195 -38
  74. package/dist/dev/locales/lv-LV-SPQ2VWX3.js.map +7 -0
  75. package/dist/dev/locales/{mr-IN-4XWMNGQC.js → mr-IN-2HLK6LUA.js} +203 -46
  76. package/dist/dev/locales/mr-IN-2HLK6LUA.js.map +7 -0
  77. package/dist/dev/locales/{my-MM-O4Z74GN5.js → my-MM-P2LR44WR.js} +180 -23
  78. package/dist/dev/locales/my-MM-P2LR44WR.js.map +7 -0
  79. package/dist/dev/locales/{nb-NO-BMB73KRH.js → nb-NO-7YZHFFVS.js} +219 -62
  80. package/dist/dev/locales/nb-NO-7YZHFFVS.js.map +7 -0
  81. package/dist/dev/locales/{nl-NL-F2257BLQ.js → nl-NL-TF2OVIKN.js} +217 -60
  82. package/dist/dev/locales/nl-NL-TF2OVIKN.js.map +7 -0
  83. package/dist/dev/locales/{nn-NO-NCORG7TS.js → nn-NO-2BWEL2IS.js} +200 -43
  84. package/dist/dev/locales/nn-NO-2BWEL2IS.js.map +7 -0
  85. package/dist/dev/locales/{oc-FR-ATFBDMF6.js → oc-FR-5JYIFGLE.js} +212 -55
  86. package/dist/dev/locales/oc-FR-5JYIFGLE.js.map +7 -0
  87. package/dist/dev/locales/{pa-IN-D2I375G4.js → pa-IN-KBBGER76.js} +189 -32
  88. package/dist/dev/locales/pa-IN-KBBGER76.js.map +7 -0
  89. package/dist/dev/locales/{percentages-YKFLWNK2.js → percentages-2RAYDWNS.js} +2 -2
  90. package/dist/dev/locales/{pl-PL-YJHOWAAW.js → pl-PL-BWZ2X734.js} +213 -56
  91. package/dist/dev/locales/pl-PL-BWZ2X734.js.map +7 -0
  92. package/dist/dev/locales/{pt-BR-APOPYZJ7.js → pt-BR-ERVIQI63.js} +236 -79
  93. package/dist/dev/locales/pt-BR-ERVIQI63.js.map +7 -0
  94. package/dist/dev/locales/pt-PT-ZNJ5NB5S.js +743 -0
  95. package/dist/dev/locales/pt-PT-ZNJ5NB5S.js.map +7 -0
  96. package/dist/dev/locales/{ro-RO-L575VRQA.js → ro-RO-UYNXGUB7.js} +202 -45
  97. package/dist/dev/locales/ro-RO-UYNXGUB7.js.map +7 -0
  98. package/dist/dev/locales/{ru-RU-BLG6HZG5.js → ru-RU-F7LPIMGQ.js} +252 -95
  99. package/dist/dev/locales/ru-RU-F7LPIMGQ.js.map +7 -0
  100. package/dist/dev/locales/si-LK-5GF2DJUH.js +743 -0
  101. package/dist/dev/locales/si-LK-5GF2DJUH.js.map +7 -0
  102. package/dist/dev/locales/{sk-SK-DY6IPO5U.js → sk-SK-H6WE7IJX.js} +199 -42
  103. package/dist/dev/locales/sk-SK-H6WE7IJX.js.map +7 -0
  104. package/dist/dev/locales/{sl-SI-5DZSRA47.js → sl-SI-4PJ6LBI7.js} +196 -39
  105. package/dist/dev/locales/sl-SI-4PJ6LBI7.js.map +7 -0
  106. package/dist/dev/locales/{sv-SE-V32YHALQ.js → sv-SE-E5VQLCRE.js} +201 -44
  107. package/dist/dev/locales/sv-SE-E5VQLCRE.js.map +7 -0
  108. package/dist/dev/locales/{ta-IN-5JRAGQAO.js → ta-IN-2YWIVLKF.js} +256 -99
  109. package/dist/dev/locales/ta-IN-2YWIVLKF.js.map +7 -0
  110. package/dist/dev/locales/{th-TH-55ACRHDJ.js → th-TH-IV7RUTDK.js} +288 -131
  111. package/dist/dev/locales/th-TH-IV7RUTDK.js.map +7 -0
  112. package/dist/dev/locales/{tr-TR-7QYBXDBO.js → tr-TR-LEQWIQH7.js} +256 -99
  113. package/dist/dev/locales/tr-TR-LEQWIQH7.js.map +7 -0
  114. package/dist/dev/locales/{uk-UA-TJS2TMRH.js → uk-UA-DWVOQPTB.js} +228 -71
  115. package/dist/dev/locales/uk-UA-DWVOQPTB.js.map +7 -0
  116. package/dist/dev/locales/{si-LK-KT7GGO6D.js → uz-UZ-CKXQ3QKG.js} +211 -54
  117. package/dist/dev/locales/uz-UZ-CKXQ3QKG.js.map +7 -0
  118. package/dist/dev/locales/vi-VN-3P6DZOGS.js +743 -0
  119. package/dist/dev/locales/vi-VN-3P6DZOGS.js.map +7 -0
  120. package/dist/dev/locales/{zh-CN-4MXUOFTH.js → zh-CN-XXVG53TQ.js} +198 -41
  121. package/dist/dev/locales/zh-CN-XXVG53TQ.js.map +7 -0
  122. package/dist/dev/locales/{zh-HK-RBTGIU3U.js → zh-HK-JCHGKEUE.js} +174 -17
  123. package/dist/dev/locales/zh-HK-JCHGKEUE.js.map +7 -0
  124. package/dist/dev/locales/{zh-TW-U5VF4CCU.js → zh-TW-ARVT7RZU.js} +203 -46
  125. package/dist/dev/locales/zh-TW-ARVT7RZU.js.map +7 -0
  126. package/dist/prod/chunk-KRJFZ5JQ.js +1 -0
  127. package/dist/prod/chunk-N7QNUCIG.js +12 -0
  128. package/dist/prod/chunk-XJNFOLHK.js +4 -0
  129. package/dist/prod/data/{image-YQ6UXXDA.js → image-SMWA6JLH.js} +1 -1
  130. package/dist/prod/index.css +1 -1
  131. package/dist/prod/index.js +23 -23
  132. package/dist/prod/locales/ar-SA-F62BVQMB.js +8 -0
  133. package/dist/prod/locales/az-AZ-7PGSKYOB.js +1 -0
  134. package/dist/prod/locales/bg-BG-AAEXMUQ4.js +5 -0
  135. package/dist/prod/locales/bn-BD-ONOFQYIQ.js +3 -0
  136. package/dist/prod/locales/bn-IN-YT3I2M3F.js +3 -0
  137. package/dist/prod/locales/ca-ES-GG4YH2FN.js +8 -0
  138. package/dist/prod/locales/cs-CZ-IS5VTBOP.js +7 -0
  139. package/dist/prod/locales/da-DK-VPQ2KWAY.js +2 -0
  140. package/dist/prod/locales/de-CH-G4Y2G6IS.js +7 -0
  141. package/dist/prod/locales/de-DE-RAT2LIDI.js +7 -0
  142. package/dist/prod/locales/el-GR-DNJB2AZO.js +7 -0
  143. package/dist/prod/locales/en-FOCNVEEU.js +1 -0
  144. package/dist/prod/locales/es-ES-IMTENLBU.js +7 -0
  145. package/dist/prod/locales/eu-ES-XLOS36YS.js +7 -0
  146. package/dist/prod/locales/fa-IR-J6Z2YOGX.js +9 -0
  147. package/dist/prod/locales/fi-FI-B2IQ7SBP.js +6 -0
  148. package/dist/prod/locales/fr-FR-N5BRDCMI.js +12 -0
  149. package/dist/prod/locales/gl-ES-BOYALFRN.js +6 -0
  150. package/dist/prod/locales/he-IL-H7M7HGY5.js +8 -0
  151. package/dist/prod/locales/hi-IN-7AB5CA2Q.js +3 -0
  152. package/dist/prod/locales/hu-HU-ZZM7UJLP.js +3 -0
  153. package/dist/prod/locales/id-ID-RZ7JNCXA.js +8 -0
  154. package/dist/prod/locales/it-IT-ZX7HN56D.js +8 -0
  155. package/dist/prod/locales/ja-JP-NBNBUHIR.js +7 -0
  156. package/dist/prod/locales/kaa-QWYSGEM7.js +1 -0
  157. package/dist/prod/locales/kab-KAB-Q3HBKQ5I.js +4 -0
  158. package/dist/prod/locales/kk-KZ-HF2NTCRX.js +1 -0
  159. package/dist/prod/locales/km-KH-CN6HHF5U.js +7 -0
  160. package/dist/prod/locales/ko-KR-SJQMUXM7.js +5 -0
  161. package/dist/prod/locales/ku-TR-VM4BHTPC.js +6 -0
  162. package/dist/prod/locales/lt-LT-QIWZQ7AG.js +3 -0
  163. package/dist/prod/locales/lv-LV-YQFCB4WZ.js +4 -0
  164. package/dist/prod/locales/mr-IN-GR2ZJPSQ.js +9 -0
  165. package/dist/prod/locales/my-MM-M5XJDJQ2.js +1 -0
  166. package/dist/prod/locales/nb-NO-2RU2YF7H.js +8 -0
  167. package/dist/prod/locales/nl-NL-MUHXDQFK.js +7 -0
  168. package/dist/prod/locales/nn-NO-72RCA552.js +4 -0
  169. package/dist/prod/locales/oc-FR-65ITQYQ2.js +4 -0
  170. package/dist/prod/locales/pa-IN-WESENMFH.js +4 -0
  171. package/dist/prod/locales/percentages-OEPNEGCM.js +1 -0
  172. package/dist/prod/locales/pl-PL-7C4NGVUA.js +12 -0
  173. package/dist/prod/locales/pt-BR-QH23C2IX.js +6 -0
  174. package/dist/prod/locales/pt-PT-O5XBATXI.js +8 -0
  175. package/dist/prod/locales/ro-RO-QHCHEGM5.js +12 -0
  176. package/dist/prod/locales/ru-RU-FUMQ2LLB.js +6 -0
  177. package/dist/prod/locales/si-LK-JYUINGNN.js +1 -0
  178. package/dist/prod/locales/sk-SK-R25O52BS.js +7 -0
  179. package/dist/prod/locales/sl-SI-5KPVX4FS.js +6 -0
  180. package/dist/prod/locales/sv-SE-MVMXV6O4.js +8 -0
  181. package/dist/prod/locales/ta-IN-A32FQB4D.js +6 -0
  182. package/dist/prod/locales/th-TH-CXMWNVBY.js +1 -0
  183. package/dist/prod/locales/tr-TR-YHFI3W2D.js +4 -0
  184. package/dist/prod/locales/uk-UA-UTJIIKT5.js +6 -0
  185. package/dist/prod/locales/uz-UZ-H4EGTR7D.js +1 -0
  186. package/dist/prod/locales/vi-VN-XBV2ESZM.js +7 -0
  187. package/dist/prod/locales/zh-CN-CKCJ4HAO.js +11 -0
  188. package/dist/prod/locales/zh-HK-ISASRRMF.js +1 -0
  189. package/dist/prod/locales/zh-TW-KYRW5V3R.js +9 -0
  190. package/dist/types/common/src/constants.d.ts +9 -13
  191. package/dist/types/common/src/editorInterface.d.ts +34 -0
  192. package/dist/types/common/src/index.d.ts +2 -0
  193. package/dist/types/common/src/utils.d.ts +9 -3
  194. package/dist/types/common/src/visualdebug.d.ts +41 -0
  195. package/dist/types/element/src/binding.d.ts +55 -43
  196. package/dist/types/element/src/collision.d.ts +6 -2
  197. package/dist/types/element/src/index.d.ts +0 -3
  198. package/dist/types/element/src/linearElementEditor.d.ts +15 -18
  199. package/dist/types/element/src/renderElement.d.ts +5 -2
  200. package/dist/types/element/src/resizeTest.d.ts +5 -4
  201. package/dist/types/element/src/transformHandles.d.ts +5 -4
  202. package/dist/types/element/src/typeChecks.d.ts +2 -3
  203. package/dist/types/element/src/types.d.ts +7 -11
  204. package/dist/types/element/src/utils.d.ts +2 -1
  205. package/dist/types/element/src/zindex.d.ts +7 -1
  206. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +34 -13
  207. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  208. package/dist/types/excalidraw/actions/actionBoundText.d.ts +25 -11
  209. package/dist/types/excalidraw/actions/actionCanvas.d.ts +152 -275
  210. package/dist/types/excalidraw/actions/actionClipboard.d.ts +46 -773
  211. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +12 -5
  212. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +42 -23
  213. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -2
  214. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  215. package/dist/types/excalidraw/actions/actionElementLink.d.ts +11 -6
  216. package/dist/types/excalidraw/actions/actionElementLock.d.ts +23 -9
  217. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +12 -5
  218. package/dist/types/excalidraw/actions/actionExport.d.ts +68 -943
  219. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -393
  220. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -2
  221. package/dist/types/excalidraw/actions/actionFrame.d.ts +50 -24
  222. package/dist/types/excalidraw/actions/actionGroup.d.ts +24 -10
  223. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +22 -19
  224. package/dist/types/excalidraw/actions/actionLink.d.ts +9 -2
  225. package/dist/types/excalidraw/actions/actionMenu.d.ts +10 -371
  226. package/dist/types/excalidraw/actions/actionNavigate.d.ts +21 -359
  227. package/dist/types/excalidraw/actions/actionProperties.d.ts +87 -2403
  228. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +12 -5
  229. package/dist/types/excalidraw/actions/actionStyles.d.ts +13 -6
  230. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  231. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +11 -4
  232. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +11 -4
  233. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +10 -5
  234. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  235. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +11 -4
  236. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +11 -4
  237. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +12 -5
  238. package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -2
  239. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  240. package/dist/types/excalidraw/actions/manager.d.ts +1 -1
  241. package/dist/types/excalidraw/actions/register.d.ts +1 -1
  242. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  243. package/dist/types/excalidraw/appState.d.ts +9 -4
  244. package/dist/types/excalidraw/clipboard.d.ts +2 -0
  245. package/dist/types/excalidraw/components/Actions.d.ts +21 -4
  246. package/dist/types/excalidraw/components/App.d.ts +26 -19
  247. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  248. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  249. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  250. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  251. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +1 -2
  252. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -1
  253. package/dist/types/excalidraw/components/FilledButton.d.ts +1 -1
  254. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  255. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  256. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  257. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  258. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  259. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  260. package/dist/types/excalidraw/components/LinkButton.d.ts +4 -0
  261. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  262. package/dist/types/excalidraw/components/MobileToolBar.d.ts +11 -0
  263. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  264. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -0
  265. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  266. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -2
  267. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  268. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  269. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +6 -3
  270. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +4 -2
  271. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +2 -1
  272. package/dist/types/excalidraw/components/icons.d.ts +10 -0
  273. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +13 -1
  274. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +0 -3
  275. package/dist/types/excalidraw/data/blob.d.ts +2 -2
  276. package/dist/types/excalidraw/data/restore.d.ts +3 -3
  277. package/dist/types/excalidraw/data/types.d.ts +4 -1
  278. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  279. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +3 -1
  280. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  281. package/dist/types/excalidraw/index.d.ts +2 -3
  282. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  283. package/dist/types/excalidraw/renderer/helpers.d.ts +1 -5
  284. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +5 -13
  285. package/dist/types/excalidraw/scene/types.d.ts +15 -3
  286. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  287. package/dist/types/excalidraw/types.d.ts +31 -21
  288. package/dist/types/math/src/segment.d.ts +1 -0
  289. package/package.json +5 -5
  290. package/dist/dev/chunk-MFAYKRVR.js +0 -66
  291. package/dist/dev/chunk-MFAYKRVR.js.map +0 -7
  292. package/dist/dev/chunk-QF5FRM6O.js.map +0 -7
  293. package/dist/dev/chunk-WWDIUJ2Q.js.map +0 -7
  294. package/dist/dev/locales/ar-SA-XORAP2EK.js.map +0 -7
  295. package/dist/dev/locales/az-AZ-NAUU3Z4Y.js.map +0 -7
  296. package/dist/dev/locales/bg-BG-AAABLFCY.js.map +0 -7
  297. package/dist/dev/locales/bn-BD-PM4AC5WG.js.map +0 -7
  298. package/dist/dev/locales/ca-ES-YNNMFRQX.js.map +0 -7
  299. package/dist/dev/locales/cs-CZ-DGZA5IKG.js.map +0 -7
  300. package/dist/dev/locales/da-DK-N76F4QAJ.js.map +0 -7
  301. package/dist/dev/locales/de-DE-DMRXZ2SZ.js.map +0 -7
  302. package/dist/dev/locales/el-GR-HIKPLEXI.js.map +0 -7
  303. package/dist/dev/locales/es-ES-AQYVXC32.js.map +0 -7
  304. package/dist/dev/locales/eu-ES-3TOEU5DE.js.map +0 -7
  305. package/dist/dev/locales/fa-IR-527GAKUP.js.map +0 -7
  306. package/dist/dev/locales/fi-FI-M3WLVDFP.js.map +0 -7
  307. package/dist/dev/locales/fr-FR-YE4VDJFI.js.map +0 -7
  308. package/dist/dev/locales/gl-ES-KMXUYGUN.js.map +0 -7
  309. package/dist/dev/locales/he-IL-4MU5N22B.js +0 -586
  310. package/dist/dev/locales/he-IL-4MU5N22B.js.map +0 -7
  311. package/dist/dev/locales/hi-IN-ZHZNZWFC.js +0 -586
  312. package/dist/dev/locales/hi-IN-ZHZNZWFC.js.map +0 -7
  313. package/dist/dev/locales/hu-HU-VIYZI3X4.js.map +0 -7
  314. package/dist/dev/locales/id-ID-22TWZNLA.js.map +0 -7
  315. package/dist/dev/locales/it-IT-MDEQ2SG3.js.map +0 -7
  316. package/dist/dev/locales/ja-JP-K2DI4W6B.js.map +0 -7
  317. package/dist/dev/locales/kaa-6BPSNM3R.js.map +0 -7
  318. package/dist/dev/locales/kab-KAB-2S7ZURK7.js.map +0 -7
  319. package/dist/dev/locales/kk-KZ-UJPYGRQQ.js.map +0 -7
  320. package/dist/dev/locales/km-KH-M5T5JKUE.js.map +0 -7
  321. package/dist/dev/locales/ko-KR-RQX37SNF.js.map +0 -7
  322. package/dist/dev/locales/ku-TR-5XJDIERL.js.map +0 -7
  323. package/dist/dev/locales/lt-LT-MGUBX6CA.js.map +0 -7
  324. package/dist/dev/locales/lv-LV-MD7N5VHD.js.map +0 -7
  325. package/dist/dev/locales/mr-IN-4XWMNGQC.js.map +0 -7
  326. package/dist/dev/locales/my-MM-O4Z74GN5.js.map +0 -7
  327. package/dist/dev/locales/nb-NO-BMB73KRH.js.map +0 -7
  328. package/dist/dev/locales/nl-NL-F2257BLQ.js.map +0 -7
  329. package/dist/dev/locales/nn-NO-NCORG7TS.js.map +0 -7
  330. package/dist/dev/locales/oc-FR-ATFBDMF6.js.map +0 -7
  331. package/dist/dev/locales/pa-IN-D2I375G4.js.map +0 -7
  332. package/dist/dev/locales/pl-PL-YJHOWAAW.js.map +0 -7
  333. package/dist/dev/locales/pt-BR-APOPYZJ7.js.map +0 -7
  334. package/dist/dev/locales/pt-PT-W56WCN7P.js +0 -586
  335. package/dist/dev/locales/pt-PT-W56WCN7P.js.map +0 -7
  336. package/dist/dev/locales/ro-RO-L575VRQA.js.map +0 -7
  337. package/dist/dev/locales/ru-RU-BLG6HZG5.js.map +0 -7
  338. package/dist/dev/locales/si-LK-KT7GGO6D.js.map +0 -7
  339. package/dist/dev/locales/sk-SK-DY6IPO5U.js.map +0 -7
  340. package/dist/dev/locales/sl-SI-5DZSRA47.js.map +0 -7
  341. package/dist/dev/locales/sv-SE-V32YHALQ.js.map +0 -7
  342. package/dist/dev/locales/ta-IN-5JRAGQAO.js.map +0 -7
  343. package/dist/dev/locales/th-TH-55ACRHDJ.js.map +0 -7
  344. package/dist/dev/locales/tr-TR-7QYBXDBO.js.map +0 -7
  345. package/dist/dev/locales/uk-UA-TJS2TMRH.js.map +0 -7
  346. package/dist/dev/locales/vi-VN-Y5CQ2EKQ.js +0 -586
  347. package/dist/dev/locales/vi-VN-Y5CQ2EKQ.js.map +0 -7
  348. package/dist/dev/locales/zh-CN-4MXUOFTH.js.map +0 -7
  349. package/dist/dev/locales/zh-HK-RBTGIU3U.js.map +0 -7
  350. package/dist/dev/locales/zh-TW-U5VF4CCU.js.map +0 -7
  351. package/dist/prod/chunk-I4UNSFV6.js +0 -12
  352. package/dist/prod/chunk-VTWWEYSQ.js +0 -4
  353. package/dist/prod/chunk-Z3N5DIM6.js +0 -1
  354. package/dist/prod/locales/ar-SA-G6X2FPQ2.js +0 -10
  355. package/dist/prod/locales/az-AZ-76LH7QW2.js +0 -1
  356. package/dist/prod/locales/bg-BG-XCXSNQG7.js +0 -5
  357. package/dist/prod/locales/bn-BD-2XOGV67Q.js +0 -5
  358. package/dist/prod/locales/ca-ES-6MX7JW3Y.js +0 -8
  359. package/dist/prod/locales/cs-CZ-2BRQDIVT.js +0 -11
  360. package/dist/prod/locales/da-DK-5WZEPLOC.js +0 -5
  361. package/dist/prod/locales/de-DE-XR44H4JA.js +0 -8
  362. package/dist/prod/locales/el-GR-BZB4AONW.js +0 -10
  363. package/dist/prod/locales/en-TYY6KWIJ.js +0 -1
  364. package/dist/prod/locales/es-ES-U4NZUMDT.js +0 -9
  365. package/dist/prod/locales/eu-ES-A7QVB2H4.js +0 -11
  366. package/dist/prod/locales/fa-IR-HGAKTJCU.js +0 -8
  367. package/dist/prod/locales/fi-FI-Z5N7JZ37.js +0 -6
  368. package/dist/prod/locales/fr-FR-RHASNOE6.js +0 -9
  369. package/dist/prod/locales/gl-ES-HMX3MZ6V.js +0 -10
  370. package/dist/prod/locales/he-IL-6SHJWFNN.js +0 -10
  371. package/dist/prod/locales/hi-IN-IWLTKZ5I.js +0 -4
  372. package/dist/prod/locales/hu-HU-A5ZG7DT2.js +0 -7
  373. package/dist/prod/locales/id-ID-SAP4L64H.js +0 -10
  374. package/dist/prod/locales/it-IT-JPQ66NNP.js +0 -11
  375. package/dist/prod/locales/ja-JP-DBVTYXUO.js +0 -8
  376. package/dist/prod/locales/kaa-6HZHGXH3.js +0 -1
  377. package/dist/prod/locales/kab-KAB-ZGHBKWFO.js +0 -8
  378. package/dist/prod/locales/kk-KZ-P5N5QNE5.js +0 -1
  379. package/dist/prod/locales/km-KH-HSX4SM5Z.js +0 -11
  380. package/dist/prod/locales/ko-KR-MTYHY66A.js +0 -9
  381. package/dist/prod/locales/ku-TR-6OUDTVRD.js +0 -9
  382. package/dist/prod/locales/lt-LT-XHIRWOB4.js +0 -3
  383. package/dist/prod/locales/lv-LV-5QDEKY6T.js +0 -7
  384. package/dist/prod/locales/mr-IN-CRQNXWMA.js +0 -13
  385. package/dist/prod/locales/my-MM-5M5IBNSE.js +0 -1
  386. package/dist/prod/locales/nb-NO-T6EIAALU.js +0 -10
  387. package/dist/prod/locales/nl-NL-IS3SIHDZ.js +0 -8
  388. package/dist/prod/locales/nn-NO-6E72VCQL.js +0 -8
  389. package/dist/prod/locales/oc-FR-POXYY2M6.js +0 -8
  390. package/dist/prod/locales/pa-IN-N4M65BXN.js +0 -4
  391. package/dist/prod/locales/percentages-BXMCSKIN.js +0 -1
  392. package/dist/prod/locales/pl-PL-T2D74RX3.js +0 -9
  393. package/dist/prod/locales/pt-BR-5N22H2LF.js +0 -9
  394. package/dist/prod/locales/pt-PT-UZXXM6DQ.js +0 -9
  395. package/dist/prod/locales/ro-RO-JPDTUUEW.js +0 -11
  396. package/dist/prod/locales/ru-RU-B4JR7IUQ.js +0 -9
  397. package/dist/prod/locales/si-LK-N5RQ5JYF.js +0 -1
  398. package/dist/prod/locales/sk-SK-C5VTKIMK.js +0 -6
  399. package/dist/prod/locales/sl-SI-NN7IZMDC.js +0 -6
  400. package/dist/prod/locales/sv-SE-XGPEYMSR.js +0 -10
  401. package/dist/prod/locales/ta-IN-2NMHFXQM.js +0 -9
  402. package/dist/prod/locales/th-TH-HPSO5L25.js +0 -2
  403. package/dist/prod/locales/tr-TR-DEFEU3FU.js +0 -7
  404. package/dist/prod/locales/uk-UA-QMV73CPH.js +0 -6
  405. package/dist/prod/locales/vi-VN-M7AON7JQ.js +0 -5
  406. package/dist/prod/locales/zh-CN-LNUGB5OW.js +0 -10
  407. package/dist/prod/locales/zh-HK-E62DVLB3.js +0 -1
  408. package/dist/prod/locales/zh-TW-RAJ6MFWO.js +0 -9
  409. /package/dist/dev/data/{image-VTYIFRQE.js.map → image-S2GFZH7W.js.map} +0 -0
  410. /package/dist/dev/locales/{en-SMAPCEOQ.js.map → en-ZO6QSABV.js.map} +0 -0
  411. /package/dist/dev/locales/{percentages-YKFLWNK2.js.map → percentages-2RAYDWNS.js.map} +0 -0
@@ -9,7 +9,7 @@ export declare const actionSelectAll: {
9
9
  category: "canvas";
10
10
  };
11
11
  viewMode: false;
12
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => false | {
12
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: unknown, app: import("../types").AppClassProperties) => false | {
13
13
  appState: {
14
14
  selectedLinearElement: LinearElementEditor | null;
15
15
  editingGroupId: string | null;
@@ -37,7 +37,7 @@ export declare const actionSelectAll: {
37
37
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
38
38
  isBindingEnabled: boolean;
39
39
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
40
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
40
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
41
41
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
42
42
  frameRendering: {
43
43
  enabled: boolean;
@@ -53,6 +53,10 @@ export declare const actionSelectAll: {
53
53
  locked: boolean;
54
54
  fromSelection: boolean;
55
55
  } & import("../types").ActiveTool;
56
+ preferredSelectionTool: {
57
+ type: "selection" | "lasso";
58
+ initialized: boolean;
59
+ };
56
60
  penMode: boolean;
57
61
  penDetected: boolean;
58
62
  exportBackground: boolean;
@@ -85,8 +89,8 @@ export declare const actionSelectAll: {
85
89
  zoom: Readonly<{
86
90
  value: import("../types").NormalizedZoomValue;
87
91
  }>;
88
- openMenu: "canvas" | "shape" | null;
89
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
92
+ openMenu: "canvas" | null;
93
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
90
94
  openSidebar: {
91
95
  name: string;
92
96
  tab?: string | undefined;
@@ -98,6 +102,8 @@ export declare const actionSelectAll: {
98
102
  tab: "mermaid" | "text-to-diagram";
99
103
  } | {
100
104
  name: "commandPalette";
105
+ } | {
106
+ name: "settings";
101
107
  } | {
102
108
  name: "elementLinkSelector";
103
109
  sourceElementId: string;
@@ -160,7 +166,7 @@ export declare const actionSelectAll: {
160
166
  shown: true;
161
167
  data: import("../charts").Spreadsheet;
162
168
  };
163
- showHyperlinkPopup: false | "editor" | "info";
169
+ showHyperlinkPopup: false | "info" | "editor";
164
170
  snapLines: readonly import("../snapping").SnapLine[];
165
171
  originSnapOffset: {
166
172
  x: number;
@@ -179,6 +185,7 @@ export declare const actionSelectAll: {
179
185
  lockedMultiSelections: {
180
186
  [groupId: string]: true;
181
187
  };
188
+ bindMode: import("@excalidraw/element/types").BindMode;
182
189
  };
183
190
  captureUpdate: "IMMEDIATELY";
184
191
  };
@@ -7,7 +7,7 @@ export declare const actionCopyStyles: {
7
7
  trackEvent: {
8
8
  category: "element";
9
9
  };
10
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, formData: any, app: import("../types").AppClassProperties) => {
10
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, formData: unknown, app: import("../types").AppClassProperties) => {
11
11
  appState: {
12
12
  toast: {
13
13
  message: string;
@@ -30,7 +30,7 @@ export declare const actionCopyStyles: {
30
30
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
31
31
  isBindingEnabled: boolean;
32
32
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
33
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
34
34
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
35
35
  frameRendering: {
36
36
  enabled: boolean;
@@ -46,6 +46,10 @@ export declare const actionCopyStyles: {
46
46
  locked: boolean;
47
47
  fromSelection: boolean;
48
48
  } & import("../types").ActiveTool;
49
+ preferredSelectionTool: {
50
+ type: "selection" | "lasso";
51
+ initialized: boolean;
52
+ };
49
53
  penMode: boolean;
50
54
  penDetected: boolean;
51
55
  exportBackground: boolean;
@@ -78,8 +82,8 @@ export declare const actionCopyStyles: {
78
82
  zoom: Readonly<{
79
83
  value: import("../types").NormalizedZoomValue;
80
84
  }>;
81
- openMenu: "canvas" | "shape" | null;
82
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
85
+ openMenu: "canvas" | null;
86
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
83
87
  openSidebar: {
84
88
  name: string;
85
89
  tab?: string | undefined;
@@ -91,6 +95,8 @@ export declare const actionCopyStyles: {
91
95
  tab: "mermaid" | "text-to-diagram";
92
96
  } | {
93
97
  name: "commandPalette";
98
+ } | {
99
+ name: "settings";
94
100
  } | {
95
101
  name: "elementLinkSelector";
96
102
  sourceElementId: string;
@@ -155,7 +161,7 @@ export declare const actionCopyStyles: {
155
161
  shown: true;
156
162
  data: import("../charts").Spreadsheet;
157
163
  };
158
- showHyperlinkPopup: false | "editor" | "info";
164
+ showHyperlinkPopup: false | "info" | "editor";
159
165
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
160
166
  snapLines: readonly import("../snapping").SnapLine[];
161
167
  originSnapOffset: {
@@ -175,6 +181,7 @@ export declare const actionCopyStyles: {
175
181
  lockedMultiSelections: {
176
182
  [groupId: string]: true;
177
183
  };
184
+ bindMode: import("@excalidraw/element/types").BindMode;
178
185
  };
179
186
  captureUpdate: "EVENTUALLY";
180
187
  };
@@ -189,7 +196,7 @@ export declare const actionPasteStyles: {
189
196
  trackEvent: {
190
197
  category: "element";
191
198
  };
192
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, formData: any, app: import("../types").AppClassProperties) => {
199
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, formData: unknown, app: import("../types").AppClassProperties) => {
193
200
  elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
194
201
  captureUpdate: "EVENTUALLY";
195
202
  } | {
@@ -7,7 +7,7 @@ export declare const actionTextAutoResize: {
7
7
  category: "element";
8
8
  };
9
9
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, _: unknown, app: AppClassProperties) => boolean;
10
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: AppClassProperties) => {
10
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: AppClassProperties) => {
11
11
  appState: Readonly<import("../types").AppState>;
12
12
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
13
13
  captureUpdate: "IMMEDIATELY";
@@ -32,7 +32,7 @@ export declare const actionToggleGridMode: {
32
32
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
33
  isBindingEnabled: boolean;
34
34
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
35
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
35
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
36
36
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
37
37
  frameRendering: {
38
38
  enabled: boolean;
@@ -48,6 +48,10 @@ export declare const actionToggleGridMode: {
48
48
  locked: boolean;
49
49
  fromSelection: boolean;
50
50
  } & import("../types").ActiveTool;
51
+ preferredSelectionTool: {
52
+ type: "selection" | "lasso";
53
+ initialized: boolean;
54
+ };
51
55
  penMode: boolean;
52
56
  penDetected: boolean;
53
57
  exportBackground: boolean;
@@ -80,8 +84,8 @@ export declare const actionToggleGridMode: {
80
84
  zoom: Readonly<{
81
85
  value: import("../types").NormalizedZoomValue;
82
86
  }>;
83
- openMenu: "canvas" | "shape" | null;
84
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
87
+ openMenu: "canvas" | null;
88
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
85
89
  openSidebar: {
86
90
  name: string;
87
91
  tab?: string | undefined;
@@ -93,6 +97,8 @@ export declare const actionToggleGridMode: {
93
97
  tab: "mermaid" | "text-to-diagram";
94
98
  } | {
95
99
  name: "commandPalette";
100
+ } | {
101
+ name: "settings";
96
102
  } | {
97
103
  name: "elementLinkSelector";
98
104
  sourceElementId: string;
@@ -161,7 +167,7 @@ export declare const actionToggleGridMode: {
161
167
  shown: true;
162
168
  data: import("../charts").Spreadsheet;
163
169
  };
164
- showHyperlinkPopup: false | "editor" | "info";
170
+ showHyperlinkPopup: false | "info" | "editor";
165
171
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
166
172
  snapLines: readonly import("../snapping").SnapLine[];
167
173
  originSnapOffset: {
@@ -180,6 +186,7 @@ export declare const actionToggleGridMode: {
180
186
  lockedMultiSelections: {
181
187
  [groupId: string]: true;
182
188
  };
189
+ bindMode: import("@excalidraw/element/types").BindMode;
183
190
  };
184
191
  captureUpdate: "EVENTUALLY";
185
192
  };
@@ -30,7 +30,7 @@ export declare const actionToggleObjectsSnapMode: {
30
30
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
31
31
  isBindingEnabled: boolean;
32
32
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
33
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
34
34
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
35
35
  frameRendering: {
36
36
  enabled: boolean;
@@ -46,6 +46,10 @@ export declare const actionToggleObjectsSnapMode: {
46
46
  locked: boolean;
47
47
  fromSelection: boolean;
48
48
  } & import("../types").ActiveTool;
49
+ preferredSelectionTool: {
50
+ type: "selection" | "lasso";
51
+ initialized: boolean;
52
+ };
49
53
  penMode: boolean;
50
54
  penDetected: boolean;
51
55
  exportBackground: boolean;
@@ -78,8 +82,8 @@ export declare const actionToggleObjectsSnapMode: {
78
82
  zoom: Readonly<{
79
83
  value: import("../types").NormalizedZoomValue;
80
84
  }>;
81
- openMenu: "canvas" | "shape" | null;
82
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
85
+ openMenu: "canvas" | null;
86
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
83
87
  openSidebar: {
84
88
  name: string;
85
89
  tab?: string | undefined;
@@ -91,6 +95,8 @@ export declare const actionToggleObjectsSnapMode: {
91
95
  tab: "mermaid" | "text-to-diagram";
92
96
  } | {
93
97
  name: "commandPalette";
98
+ } | {
99
+ name: "settings";
94
100
  } | {
95
101
  name: "elementLinkSelector";
96
102
  sourceElementId: string;
@@ -159,7 +165,7 @@ export declare const actionToggleObjectsSnapMode: {
159
165
  shown: true;
160
166
  data: import("../charts").Spreadsheet;
161
167
  };
162
- showHyperlinkPopup: false | "editor" | "info";
168
+ showHyperlinkPopup: false | "info" | "editor";
163
169
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
164
170
  snapLines: readonly import("../snapping").SnapLine[];
165
171
  originSnapOffset: {
@@ -178,6 +184,7 @@ export declare const actionToggleObjectsSnapMode: {
178
184
  lockedMultiSelections: {
179
185
  [groupId: string]: true;
180
186
  };
187
+ bindMode: import("@excalidraw/element/types").BindMode;
181
188
  };
182
189
  captureUpdate: "EVENTUALLY";
183
190
  };
@@ -11,7 +11,7 @@ export declare const actionToggleSearchMenu: {
11
11
  action: string;
12
12
  predicate: (appState: Readonly<AppState>) => boolean;
13
13
  };
14
- perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties): false | {
14
+ perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties): false | {
15
15
  appState: {
16
16
  openSidebar: {
17
17
  name: "default";
@@ -36,7 +36,7 @@ export declare const actionToggleSearchMenu: {
36
36
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
37
37
  isBindingEnabled: boolean;
38
38
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
39
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
39
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
40
40
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
41
41
  frameRendering: {
42
42
  enabled: boolean;
@@ -52,6 +52,10 @@ export declare const actionToggleSearchMenu: {
52
52
  locked: boolean;
53
53
  fromSelection: boolean;
54
54
  } & import("../types").ActiveTool;
55
+ preferredSelectionTool: {
56
+ type: "selection" | "lasso";
57
+ initialized: boolean;
58
+ };
55
59
  penMode: boolean;
56
60
  penDetected: boolean;
57
61
  exportBackground: boolean;
@@ -84,8 +88,8 @@ export declare const actionToggleSearchMenu: {
84
88
  zoom: Readonly<{
85
89
  value: import("../types").NormalizedZoomValue;
86
90
  }>;
87
- openMenu: "canvas" | "shape" | null;
88
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
91
+ openMenu: "canvas" | null;
92
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
89
93
  defaultSidebarDockedPreference: boolean;
90
94
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
91
95
  selectedElementIds: Readonly<{
@@ -151,7 +155,7 @@ export declare const actionToggleSearchMenu: {
151
155
  shown: true;
152
156
  data: import("../charts").Spreadsheet;
153
157
  };
154
- showHyperlinkPopup: false | "editor" | "info";
158
+ showHyperlinkPopup: false | "info" | "editor";
155
159
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
156
160
  snapLines: readonly import("../snapping").SnapLine[];
157
161
  originSnapOffset: {
@@ -171,6 +175,7 @@ export declare const actionToggleSearchMenu: {
171
175
  lockedMultiSelections: {
172
176
  [groupId: string]: true;
173
177
  };
178
+ bindMode: import("@excalidraw/element/types").BindMode;
174
179
  };
175
180
  captureUpdate: "EVENTUALLY";
176
181
  };
@@ -9,7 +9,7 @@ export declare const actionToggleShapeSwitch: {
9
9
  action: string;
10
10
  };
11
11
  keywords: string[];
12
- perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties): {
12
+ perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties): {
13
13
  captureUpdate: "NEVER";
14
14
  };
15
15
  checked: (appState: Readonly<import("../types").AppState>) => boolean;
@@ -32,7 +32,7 @@ export declare const actionToggleStats: {
32
32
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
33
33
  isBindingEnabled: boolean;
34
34
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
35
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
35
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
36
36
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
37
37
  frameRendering: {
38
38
  enabled: boolean;
@@ -48,6 +48,10 @@ export declare const actionToggleStats: {
48
48
  locked: boolean;
49
49
  fromSelection: boolean;
50
50
  } & import("../types").ActiveTool;
51
+ preferredSelectionTool: {
52
+ type: "selection" | "lasso";
53
+ initialized: boolean;
54
+ };
51
55
  penMode: boolean;
52
56
  penDetected: boolean;
53
57
  exportBackground: boolean;
@@ -80,8 +84,8 @@ export declare const actionToggleStats: {
80
84
  zoom: Readonly<{
81
85
  value: import("../types").NormalizedZoomValue;
82
86
  }>;
83
- openMenu: "canvas" | "shape" | null;
84
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
87
+ openMenu: "canvas" | null;
88
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
85
89
  openSidebar: {
86
90
  name: string;
87
91
  tab?: string | undefined;
@@ -93,6 +97,8 @@ export declare const actionToggleStats: {
93
97
  tab: "mermaid" | "text-to-diagram";
94
98
  } | {
95
99
  name: "commandPalette";
100
+ } | {
101
+ name: "settings";
96
102
  } | {
97
103
  name: "elementLinkSelector";
98
104
  sourceElementId: string;
@@ -158,7 +164,7 @@ export declare const actionToggleStats: {
158
164
  shown: true;
159
165
  data: import("../charts").Spreadsheet;
160
166
  };
161
- showHyperlinkPopup: false | "editor" | "info";
167
+ showHyperlinkPopup: false | "info" | "editor";
162
168
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
163
169
  snapLines: readonly import("../snapping").SnapLine[];
164
170
  originSnapOffset: {
@@ -178,6 +184,7 @@ export declare const actionToggleStats: {
178
184
  lockedMultiSelections: {
179
185
  [groupId: string]: true;
180
186
  };
187
+ bindMode: import("@excalidraw/element/types").BindMode;
181
188
  };
182
189
  captureUpdate: "EVENTUALLY";
183
190
  };
@@ -29,7 +29,7 @@ export declare const actionToggleViewMode: {
29
29
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
30
  isBindingEnabled: boolean;
31
31
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
32
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
32
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
33
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
34
34
  frameRendering: {
35
35
  enabled: boolean;
@@ -45,6 +45,10 @@ export declare const actionToggleViewMode: {
45
45
  locked: boolean;
46
46
  fromSelection: boolean;
47
47
  } & import("../types").ActiveTool;
48
+ preferredSelectionTool: {
49
+ type: "selection" | "lasso";
50
+ initialized: boolean;
51
+ };
48
52
  penMode: boolean;
49
53
  penDetected: boolean;
50
54
  exportBackground: boolean;
@@ -77,8 +81,8 @@ export declare const actionToggleViewMode: {
77
81
  zoom: Readonly<{
78
82
  value: import("../types").NormalizedZoomValue;
79
83
  }>;
80
- openMenu: "canvas" | "shape" | null;
81
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
84
+ openMenu: "canvas" | null;
85
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
82
86
  openSidebar: {
83
87
  name: string;
84
88
  tab?: string | undefined;
@@ -90,6 +94,8 @@ export declare const actionToggleViewMode: {
90
94
  tab: "mermaid" | "text-to-diagram";
91
95
  } | {
92
96
  name: "commandPalette";
97
+ } | {
98
+ name: "settings";
93
99
  } | {
94
100
  name: "elementLinkSelector";
95
101
  sourceElementId: string;
@@ -158,7 +164,7 @@ export declare const actionToggleViewMode: {
158
164
  shown: true;
159
165
  data: import("../charts").Spreadsheet;
160
166
  };
161
- showHyperlinkPopup: false | "editor" | "info";
167
+ showHyperlinkPopup: false | "info" | "editor";
162
168
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
163
169
  snapLines: readonly import("../snapping").SnapLine[];
164
170
  originSnapOffset: {
@@ -178,6 +184,7 @@ export declare const actionToggleViewMode: {
178
184
  lockedMultiSelections: {
179
185
  [groupId: string]: true;
180
186
  };
187
+ bindMode: import("@excalidraw/element/types").BindMode;
181
188
  };
182
189
  captureUpdate: "EVENTUALLY";
183
190
  };
@@ -29,7 +29,7 @@ export declare const actionToggleZenMode: {
29
29
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
30
  isBindingEnabled: boolean;
31
31
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
32
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
32
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
33
33
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
34
34
  frameRendering: {
35
35
  enabled: boolean;
@@ -45,6 +45,10 @@ export declare const actionToggleZenMode: {
45
45
  locked: boolean;
46
46
  fromSelection: boolean;
47
47
  } & import("../types").ActiveTool;
48
+ preferredSelectionTool: {
49
+ type: "selection" | "lasso";
50
+ initialized: boolean;
51
+ };
48
52
  penMode: boolean;
49
53
  penDetected: boolean;
50
54
  exportBackground: boolean;
@@ -77,8 +81,8 @@ export declare const actionToggleZenMode: {
77
81
  zoom: Readonly<{
78
82
  value: import("../types").NormalizedZoomValue;
79
83
  }>;
80
- openMenu: "canvas" | "shape" | null;
81
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
84
+ openMenu: "canvas" | null;
85
+ openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
82
86
  openSidebar: {
83
87
  name: string;
84
88
  tab?: string | undefined;
@@ -90,6 +94,8 @@ export declare const actionToggleZenMode: {
90
94
  tab: "mermaid" | "text-to-diagram";
91
95
  } | {
92
96
  name: "commandPalette";
97
+ } | {
98
+ name: "settings";
93
99
  } | {
94
100
  name: "elementLinkSelector";
95
101
  sourceElementId: string;
@@ -158,7 +164,7 @@ export declare const actionToggleZenMode: {
158
164
  shown: true;
159
165
  data: import("../charts").Spreadsheet;
160
166
  };
161
- showHyperlinkPopup: false | "editor" | "info";
167
+ showHyperlinkPopup: false | "info" | "editor";
162
168
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
163
169
  snapLines: readonly import("../snapping").SnapLine[];
164
170
  originSnapOffset: {
@@ -178,11 +184,12 @@ export declare const actionToggleZenMode: {
178
184
  lockedMultiSelections: {
179
185
  [groupId: string]: true;
180
186
  };
187
+ bindMode: import("@excalidraw/element/types").BindMode;
181
188
  };
182
189
  captureUpdate: "EVENTUALLY";
183
190
  };
184
191
  checked: (appState: Readonly<import("../types").AppState>) => boolean;
185
- predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
192
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
186
193
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
187
194
  } & {
188
195
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -7,7 +7,7 @@ export declare const actionSendBackward: {
7
7
  trackEvent: {
8
8
  category: "element";
9
9
  };
10
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
10
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: unknown, app: import("../types").AppClassProperties) => {
11
11
  elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
12
12
  appState: Readonly<import("../types").AppState>;
13
13
  captureUpdate: "IMMEDIATELY";
@@ -26,7 +26,7 @@ export declare const actionBringForward: {
26
26
  trackEvent: {
27
27
  category: "element";
28
28
  };
29
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
29
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: unknown, app: import("../types").AppClassProperties) => {
30
30
  elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
31
31
  appState: Readonly<import("../types").AppState>;
32
32
  captureUpdate: "IMMEDIATELY";
@@ -2,13 +2,13 @@ export { actionDeleteSelected } from "./actionDeleteSelected";
2
2
  export { actionBringForward, actionBringToFront, actionSendBackward, actionSendToBack, } from "./actionZindex";
3
3
  export { actionSelectAll } from "./actionSelectAll";
4
4
  export { actionDuplicateSelection } from "./actionDuplicateSelection";
5
- export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, actionChangeVerticalAlign, } from "./actionProperties";
5
+ export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, actionChangeVerticalAlign, actionChangeArrowProperties, } from "./actionProperties";
6
6
  export { actionChangeViewBackgroundColor, actionClearCanvas, actionZoomIn, actionZoomOut, actionResetZoom, actionZoomToFit, actionToggleTheme, } from "./actionCanvas";
7
7
  export { actionSetEmbeddableAsActiveTool } from "./actionEmbeddable";
8
8
  export { actionFinalize } from "./actionFinalize";
9
9
  export { actionChangeProjectName, actionChangeExportBackground, actionSaveToActiveFile, actionSaveFileToDisk, actionLoadScene, } from "./actionExport";
10
10
  export { actionCopyStyles, actionPasteStyles } from "./actionStyles";
11
- export { actionToggleCanvasMenu, actionToggleEditMenu, actionShortcuts, } from "./actionMenu";
11
+ export { actionShortcuts } from "./actionMenu";
12
12
  export { actionGroup, actionUngroup } from "./actionGroup";
13
13
  export { actionGoToCollaborator } from "./actionNavigate";
14
14
  export { actionAddToLibrary } from "./actionAddToLibrary";
@@ -3,7 +3,7 @@ import type { OrderedExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { AppClassProperties, AppState } from "../types";
4
4
  import type { Action, UpdaterFn, ActionName, ActionResult, PanelComponentProps, ActionSource } from "./types";
5
5
  export declare class ActionManager {
6
- actions: Record<ActionName, Action>;
6
+ actions: Record<ActionName, Action<any>>;
7
7
  updater: (actionResult: ActionResult | Promise<ActionResult>) => void;
8
8
  getAppState: () => Readonly<AppState>;
9
9
  getElementsIncludingDeleted: () => readonly OrderedExcalidrawElement[];
@@ -1,5 +1,5 @@
1
1
  import type { Action } from "./types";
2
2
  export declare let actions: readonly Action[];
3
- export declare const register: <T extends Action>(action: T) => T & {
3
+ export declare const register: <TData extends unknown, T extends Action<TData> = Action<TData>>(action: T) => T & {
4
4
  keyTest?: (unknown extends T["keyTest"] ? never : T["keyTest"]) | undefined;
5
5
  };
@@ -11,10 +11,10 @@ export type ActionResult = {
11
11
  captureUpdate: CaptureUpdateActionType;
12
12
  replaceFiles?: boolean;
13
13
  } | false;
14
- type ActionFn = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: any, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
14
+ type ActionFn<TData = any> = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: TData | undefined, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
15
15
  export type UpdaterFn = (res: ActionResult) => void;
16
16
  export type ActionFilterFn = (action: Action) => void;
17
- export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
17
+ export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly ExcalidrawElement[];
20
20
  appState: AppState;
@@ -24,13 +24,13 @@ export type PanelComponentProps = {
24
24
  app: AppClassProperties;
25
25
  renderAction: (name: ActionName, data?: PanelComponentProps["data"]) => React.JSX.Element | null;
26
26
  };
27
- export interface Action {
27
+ export interface Action<TData = any> {
28
28
  name: ActionName;
29
29
  label: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, app: AppClassProperties) => string);
30
30
  keywords?: string[];
31
31
  icon?: React.ReactNode | ((appState: UIAppState, elements: readonly ExcalidrawElement[]) => React.ReactNode);
32
32
  PanelComponent?: React.FC<PanelComponentProps>;
33
- perform: ActionFn;
33
+ perform: ActionFn<TData>;
34
34
  keyPriority?: number;
35
35
  keyTest?: (event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean;
36
36
  predicate?: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: ExcalidrawProps, app: AppClassProperties) => boolean;