@dwelle/excalidraw 0.5.0-b8a955d → 0.5.0-ba41ca2

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 (563) hide show
  1. package/CHANGELOG.md +201 -0
  2. package/README.md +111 -14
  3. package/dist/dev/{chunk-KB3DXHSJ.js → chunk-63SUNQT5.js} +11160 -6728
  4. package/dist/dev/chunk-63SUNQT5.js.map +7 -0
  5. package/dist/dev/chunk-72CYJXY3.js +69 -0
  6. package/dist/dev/chunk-72CYJXY3.js.map +7 -0
  7. package/dist/dev/{chunk-VHBP2L6P.js → chunk-GLSDDV5C.js} +2 -2
  8. package/dist/dev/{chunk-XIXZ3HJO.js → chunk-ZKWD6VD3.js} +58 -10
  9. package/dist/dev/chunk-ZKWD6VD3.js.map +7 -0
  10. package/dist/dev/components/TTDDialog/CodeMirrorEditor-YNPNZUA4.js +259 -0
  11. package/dist/dev/components/TTDDialog/CodeMirrorEditor-YNPNZUA4.js.map +7 -0
  12. package/dist/dev/data/{image-YTAF2QAV.js → image-LSHTDYDI.js} +3 -3
  13. package/dist/dev/index.css +955 -752
  14. package/dist/dev/index.css.map +3 -3
  15. package/dist/dev/index.js +13606 -7440
  16. package/dist/dev/index.js.map +4 -4
  17. package/dist/dev/locales/{ar-SA-JK5MQ7TT.js → ar-SA-EW44IW4V.js} +127 -28
  18. package/dist/dev/locales/ar-SA-EW44IW4V.js.map +7 -0
  19. package/dist/dev/locales/{az-AZ-2PAD62G4.js → az-AZ-AI7WAYA2.js} +103 -4
  20. package/dist/dev/locales/az-AZ-AI7WAYA2.js.map +7 -0
  21. package/dist/dev/locales/{bg-BG-HUKVYCRK.js → bg-BG-43ZNGDXF.js} +104 -5
  22. package/dist/dev/locales/bg-BG-43ZNGDXF.js.map +7 -0
  23. package/dist/dev/locales/{bn-BD-V2CQI46P.js → bn-BD-PU4CN7NP.js} +103 -4
  24. package/dist/dev/locales/bn-BD-PU4CN7NP.js.map +7 -0
  25. package/dist/dev/locales/{bn-IN-MBEO4C3J.js → bn-IN-54CF43JL.js} +103 -4
  26. package/dist/dev/locales/bn-IN-54CF43JL.js.map +7 -0
  27. package/dist/dev/locales/{ca-ES-KWEKW4C3.js → ca-ES-RHJO3QDO.js} +105 -6
  28. package/dist/dev/locales/ca-ES-RHJO3QDO.js.map +7 -0
  29. package/dist/dev/locales/{cs-CZ-W5AHZB5H.js → cs-CZ-ZRSAO3BA.js} +104 -5
  30. package/dist/dev/locales/cs-CZ-ZRSAO3BA.js.map +7 -0
  31. package/dist/dev/locales/{da-DK-ITTM6YM4.js → da-DK-OAB6DEJX.js} +103 -4
  32. package/dist/dev/locales/da-DK-OAB6DEJX.js.map +7 -0
  33. package/dist/dev/locales/{de-CH-OAWPDQFJ.js → de-CH-QF7JLXTF.js} +181 -82
  34. package/dist/dev/locales/de-CH-QF7JLXTF.js.map +7 -0
  35. package/dist/dev/locales/{de-DE-ZRDYEPMS.js → de-DE-5ZO4KOPT.js} +175 -76
  36. package/dist/dev/locales/de-DE-5ZO4KOPT.js.map +7 -0
  37. package/dist/dev/locales/{el-GR-QXASZLPE.js → el-GR-F74ZSUEO.js} +105 -6
  38. package/dist/dev/locales/el-GR-F74ZSUEO.js.map +7 -0
  39. package/dist/dev/locales/{en-RTISGYJB.js → en-JNOPSYVP.js} +6 -2
  40. package/dist/dev/locales/{es-ES-VLQBB7FJ.js → es-ES-3B3IENPS.js} +162 -63
  41. package/dist/dev/locales/es-ES-3B3IENPS.js.map +7 -0
  42. package/dist/dev/locales/{eu-ES-TF2DGTZU.js → eu-ES-NH447TVU.js} +221 -122
  43. package/dist/dev/locales/eu-ES-NH447TVU.js.map +7 -0
  44. package/dist/dev/locales/{fa-IR-ITKFQ7QV.js → fa-IR-GHKV6Q2J.js} +110 -11
  45. package/dist/dev/locales/fa-IR-GHKV6Q2J.js.map +7 -0
  46. package/dist/dev/locales/{fi-FI-UWZRVXFI.js → fi-FI-ZXSYWCC4.js} +104 -5
  47. package/dist/dev/locales/fi-FI-ZXSYWCC4.js.map +7 -0
  48. package/dist/dev/locales/{fr-FR-A72LKGCO.js → fr-FR-RJSOSEYS.js} +105 -6
  49. package/dist/dev/locales/fr-FR-RJSOSEYS.js.map +7 -0
  50. package/dist/dev/locales/{gl-ES-2QCVIBFP.js → gl-ES-NAUVMVFY.js} +104 -5
  51. package/dist/dev/locales/gl-ES-NAUVMVFY.js.map +7 -0
  52. package/dist/dev/locales/{he-IL-WJNUHU26.js → he-IL-JBKWWR75.js} +162 -63
  53. package/dist/dev/locales/he-IL-JBKWWR75.js.map +7 -0
  54. package/dist/dev/locales/{hi-IN-XGMO235V.js → hi-IN-SD773MVZ.js} +113 -14
  55. package/dist/dev/locales/hi-IN-SD773MVZ.js.map +7 -0
  56. package/dist/dev/locales/{hu-HU-37FDQFIS.js → hu-HU-OTA7GOAV.js} +193 -94
  57. package/dist/dev/locales/hu-HU-OTA7GOAV.js.map +7 -0
  58. package/dist/dev/locales/{id-ID-EJIDCO4E.js → id-ID-2JAZWVTQ.js} +155 -56
  59. package/dist/dev/locales/id-ID-2JAZWVTQ.js.map +7 -0
  60. package/dist/dev/locales/{it-IT-X34PIOJ2.js → it-IT-GHWUAT77.js} +105 -6
  61. package/dist/dev/locales/it-IT-GHWUAT77.js.map +7 -0
  62. package/dist/dev/locales/{ja-JP-37FC23PR.js → ja-JP-YMGRGBPS.js} +207 -108
  63. package/dist/dev/locales/ja-JP-YMGRGBPS.js.map +7 -0
  64. package/dist/dev/locales/{kaa-7ZYDFVKA.js → kaa-RRE7XUCW.js} +103 -4
  65. package/dist/dev/locales/kaa-RRE7XUCW.js.map +7 -0
  66. package/dist/dev/locales/{kab-KAB-MILWXBA6.js → kab-KAB-ZCYVOJU4.js} +104 -5
  67. package/dist/dev/locales/kab-KAB-ZCYVOJU4.js.map +7 -0
  68. package/dist/dev/locales/{kk-KZ-7BWTPIAV.js → kk-KZ-TO6XEFJC.js} +103 -4
  69. package/dist/dev/locales/kk-KZ-TO6XEFJC.js.map +7 -0
  70. package/dist/dev/locales/{km-KH-BV4P2KSZ.js → km-KH-3HTDL5HB.js} +104 -5
  71. package/dist/dev/locales/km-KH-3HTDL5HB.js.map +7 -0
  72. package/dist/dev/locales/{ko-KR-TSXE5P7B.js → ko-KR-O4L4O7L6.js} +184 -85
  73. package/dist/dev/locales/ko-KR-O4L4O7L6.js.map +7 -0
  74. package/dist/dev/locales/{ku-TR-ASSXNN3U.js → ku-TR-AFJWDY67.js} +104 -5
  75. package/dist/dev/locales/ku-TR-AFJWDY67.js.map +7 -0
  76. package/dist/dev/locales/{lt-LT-G7RZYQQU.js → lt-LT-7QOT2VDQ.js} +103 -4
  77. package/dist/dev/locales/lt-LT-7QOT2VDQ.js.map +7 -0
  78. package/dist/dev/locales/{lv-LV-DXNPBJZU.js → lv-LV-WV6C4NYF.js} +104 -5
  79. package/dist/dev/locales/lv-LV-WV6C4NYF.js.map +7 -0
  80. package/dist/dev/locales/{mr-IN-7F2ZCTCF.js → mr-IN-3TLYWOEI.js} +106 -7
  81. package/dist/dev/locales/mr-IN-3TLYWOEI.js.map +7 -0
  82. package/dist/dev/locales/{my-MM-NBI3KQGW.js → my-MM-NNL2QJT3.js} +103 -4
  83. package/dist/dev/locales/my-MM-NNL2QJT3.js.map +7 -0
  84. package/dist/dev/locales/{nb-NO-4DCTQT6L.js → nb-NO-PG3XLMEV.js} +105 -6
  85. package/dist/dev/locales/nb-NO-PG3XLMEV.js.map +7 -0
  86. package/dist/dev/locales/{nl-NL-XGZJ7V2V.js → nl-NL-MMOYEKKQ.js} +109 -10
  87. package/dist/dev/locales/nl-NL-MMOYEKKQ.js.map +7 -0
  88. package/dist/dev/locales/{nn-NO-FR534JV5.js → nn-NO-AAC2I2YX.js} +103 -4
  89. package/dist/dev/locales/nn-NO-AAC2I2YX.js.map +7 -0
  90. package/dist/dev/locales/{oc-FR-YQCIKZIK.js → oc-FR-SR6MFB4N.js} +105 -6
  91. package/dist/dev/locales/oc-FR-SR6MFB4N.js.map +7 -0
  92. package/dist/dev/locales/{pa-IN-UM43JGD2.js → pa-IN-ADGMQLQI.js} +104 -5
  93. package/dist/dev/locales/pa-IN-ADGMQLQI.js.map +7 -0
  94. package/dist/dev/locales/{percentages-OGWD7R2K.js → percentages-DKKGPYTW.js} +2 -2
  95. package/dist/dev/locales/{pl-PL-2UGKA6HK.js → pl-PL-FNIPTMVP.js} +105 -6
  96. package/dist/dev/locales/pl-PL-FNIPTMVP.js.map +7 -0
  97. package/dist/dev/locales/{pt-BR-H23QFYE3.js → pt-BR-67FMCDNE.js} +154 -55
  98. package/dist/dev/locales/pt-BR-67FMCDNE.js.map +7 -0
  99. package/dist/dev/locales/{pt-PT-RHKJH5I5.js → pt-PT-4G3GI4SF.js} +153 -54
  100. package/dist/dev/locales/pt-PT-4G3GI4SF.js.map +7 -0
  101. package/dist/dev/locales/{ro-RO-IIFONL3T.js → ro-RO-CUZFN555.js} +108 -9
  102. package/dist/dev/locales/ro-RO-CUZFN555.js.map +7 -0
  103. package/dist/dev/locales/{ru-RU-QEP6D7GK.js → ru-RU-4GHINTII.js} +107 -8
  104. package/dist/dev/locales/ru-RU-4GHINTII.js.map +7 -0
  105. package/dist/dev/locales/{si-LK-LZYJQLHF.js → si-LK-SSNT7T4A.js} +105 -6
  106. package/dist/dev/locales/si-LK-SSNT7T4A.js.map +7 -0
  107. package/dist/dev/locales/{sk-SK-RWC6UWGY.js → sk-SK-J7TKZQEH.js} +105 -6
  108. package/dist/dev/locales/sk-SK-J7TKZQEH.js.map +7 -0
  109. package/dist/dev/locales/{sl-SI-QJT2CAUO.js → sl-SI-SIBF67NE.js} +105 -6
  110. package/dist/dev/locales/sl-SI-SIBF67NE.js.map +7 -0
  111. package/dist/dev/locales/{sv-SE-3MAT3NDX.js → sv-SE-YTR46NVM.js} +149 -50
  112. package/dist/dev/locales/sv-SE-YTR46NVM.js.map +7 -0
  113. package/dist/dev/locales/{ta-IN-J7XOYF2T.js → ta-IN-7AW6CTGA.js} +103 -4
  114. package/dist/dev/locales/ta-IN-7AW6CTGA.js.map +7 -0
  115. package/dist/dev/locales/{th-TH-2OI52EOQ.js → th-TH-DTLYJYKV.js} +134 -35
  116. package/dist/dev/locales/th-TH-DTLYJYKV.js.map +7 -0
  117. package/dist/dev/locales/{tr-TR-G7TAUHUI.js → tr-TR-UDQGNXAG.js} +145 -46
  118. package/dist/dev/locales/tr-TR-UDQGNXAG.js.map +7 -0
  119. package/dist/dev/locales/{uk-UA-IVSVBJIG.js → uk-UA-25HL2NCU.js} +126 -27
  120. package/dist/dev/locales/uk-UA-25HL2NCU.js.map +7 -0
  121. package/dist/dev/locales/{uz-UZ-KCVDUVDE.js → uz-UZ-OPSBAY4H.js} +103 -4
  122. package/dist/dev/locales/uz-UZ-OPSBAY4H.js.map +7 -0
  123. package/dist/dev/locales/{vi-VN-KBZAVWP5.js → vi-VN-DK367UGA.js} +103 -4
  124. package/dist/dev/locales/vi-VN-DK367UGA.js.map +7 -0
  125. package/dist/dev/locales/{zh-CN-IS26RG2D.js → zh-CN-QCVKNWUH.js} +106 -7
  126. package/dist/dev/locales/zh-CN-QCVKNWUH.js.map +7 -0
  127. package/dist/dev/locales/{zh-HK-KBWQ6SJC.js → zh-HK-WFGYHWPG.js} +103 -4
  128. package/dist/dev/locales/zh-HK-WFGYHWPG.js.map +7 -0
  129. package/dist/dev/locales/{zh-TW-JKJWJQ4J.js → zh-TW-WHQS4ZSD.js} +151 -52
  130. package/dist/dev/locales/zh-TW-WHQS4ZSD.js.map +7 -0
  131. package/dist/dev/subset-shared.chunk.js +1 -1
  132. package/dist/dev/subset-worker.chunk.js +1 -1
  133. package/dist/prod/chunk-5XKZK2GL.js +1 -0
  134. package/dist/prod/chunk-6XMTGF46.js +34 -0
  135. package/dist/prod/chunk-7L3NUBYQ.js +12 -0
  136. package/dist/prod/{chunk-GTEFJJHD.js → chunk-FUN3GFKR.js} +1 -1
  137. package/dist/prod/components/TTDDialog/CodeMirrorEditor-T6RKT6RA.js +1 -0
  138. package/dist/prod/data/image-UAXVGXRE.js +1 -0
  139. package/dist/prod/index.css +1 -1
  140. package/dist/prod/index.js +65 -89
  141. package/dist/prod/locales/ar-SA-5WIASEJP.js +10 -0
  142. package/dist/prod/locales/az-AZ-V5EUQD6C.js +1 -0
  143. package/dist/prod/locales/bg-BG-EXASCMTR.js +5 -0
  144. package/dist/prod/locales/bn-BD-U4SYNFCO.js +3 -0
  145. package/dist/prod/locales/bn-IN-HKDJIITE.js +3 -0
  146. package/dist/prod/locales/ca-ES-2KGUU5XB.js +8 -0
  147. package/dist/prod/locales/cs-CZ-VUCGPRML.js +7 -0
  148. package/dist/prod/locales/da-DK-NNDP2IVP.js +2 -0
  149. package/dist/prod/locales/de-CH-I7RAVIZN.js +11 -0
  150. package/dist/prod/locales/de-DE-WBQ3DQLR.js +11 -0
  151. package/dist/prod/locales/el-GR-TYQHVGXW.js +7 -0
  152. package/dist/prod/locales/en-E6R7JWZO.js +1 -0
  153. package/dist/prod/locales/es-ES-JEUOREKJ.js +12 -0
  154. package/dist/prod/locales/eu-ES-SO5DEEAN.js +8 -0
  155. package/dist/prod/locales/fa-IR-FIYUE2GQ.js +9 -0
  156. package/dist/prod/locales/fi-FI-REAEF6HQ.js +6 -0
  157. package/dist/prod/locales/fr-FR-SUCL7J6B.js +12 -0
  158. package/dist/prod/locales/gl-ES-KHCSOGVH.js +6 -0
  159. package/dist/prod/locales/he-IL-JYXVXV2Q.js +9 -0
  160. package/dist/prod/locales/hi-IN-BU52H3BO.js +3 -0
  161. package/dist/prod/locales/hu-HU-OWADXDQ3.js +3 -0
  162. package/dist/prod/locales/id-ID-EOMR5R3I.js +8 -0
  163. package/dist/prod/locales/it-IT-FC2VTM3L.js +12 -0
  164. package/dist/prod/locales/ja-JP-JBNTKYP4.js +12 -0
  165. package/dist/prod/locales/kaa-TC3VIB7V.js +1 -0
  166. package/dist/prod/locales/kab-KAB-UOUDSQKM.js +4 -0
  167. package/dist/prod/locales/kk-KZ-P5H2X7YS.js +1 -0
  168. package/dist/prod/locales/km-KH-IHMV2US7.js +7 -0
  169. package/dist/prod/locales/ko-KR-ZTMANIDF.js +5 -0
  170. package/dist/prod/locales/ku-TR-GPJTRB5G.js +6 -0
  171. package/dist/prod/locales/lt-LT-V3XDOK3P.js +3 -0
  172. package/dist/prod/locales/lv-LV-DVQ3FADO.js +4 -0
  173. package/dist/prod/locales/mr-IN-VZ6HH5FE.js +9 -0
  174. package/dist/prod/locales/my-MM-XYKWHRK6.js +1 -0
  175. package/dist/prod/locales/nb-NO-UNO2GGZJ.js +8 -0
  176. package/dist/prod/locales/nl-NL-76EFHT4P.js +13 -0
  177. package/dist/prod/locales/nn-NO-CFKD7ABE.js +4 -0
  178. package/dist/prod/locales/oc-FR-YBJTCJ3J.js +4 -0
  179. package/dist/prod/locales/pa-IN-SNOXSMRV.js +4 -0
  180. package/dist/prod/locales/percentages-Q7USCRWZ.js +1 -0
  181. package/dist/prod/locales/pl-PL-BSY6YFZ3.js +12 -0
  182. package/dist/prod/locales/pt-BR-CZDV62R3.js +10 -0
  183. package/dist/prod/locales/pt-PT-JO57XJJW.js +12 -0
  184. package/dist/prod/locales/ro-RO-UZ5ICYYN.js +12 -0
  185. package/dist/prod/locales/ru-RU-AN7JPREC.js +10 -0
  186. package/dist/prod/locales/si-LK-7CBLD6QQ.js +1 -0
  187. package/dist/prod/locales/sk-SK-SWR6DKBI.js +7 -0
  188. package/dist/prod/locales/sl-SI-JRML4FIH.js +6 -0
  189. package/dist/prod/locales/sv-SE-4ZPKFFXF.js +12 -0
  190. package/dist/prod/locales/ta-IN-V6NHHU6Z.js +6 -0
  191. package/dist/prod/locales/th-TH-P7CTMGDK.js +1 -0
  192. package/dist/prod/locales/tr-TR-GUFYG22B.js +4 -0
  193. package/dist/prod/locales/uk-UA-K6SV5NFQ.js +6 -0
  194. package/dist/prod/locales/uz-UZ-TVKTZO2G.js +1 -0
  195. package/dist/prod/locales/vi-VN-7FKFXJNO.js +7 -0
  196. package/dist/prod/locales/zh-CN-AOKVLNNK.js +11 -0
  197. package/dist/prod/locales/zh-HK-CDKPF5DC.js +1 -0
  198. package/dist/prod/locales/zh-TW-ZVGYESGW.js +13 -0
  199. package/dist/prod/subset-shared.chunk.js +1 -1
  200. package/dist/prod/subset-worker.chunk.js +1 -1
  201. package/dist/types/common/debug.d.ts +21 -0
  202. package/dist/types/common/src/appEventBus.d.ts +27 -0
  203. package/dist/types/common/src/colors.d.ts +16 -2
  204. package/dist/types/common/src/constants.d.ts +16 -7
  205. package/dist/types/common/src/index.d.ts +3 -0
  206. package/dist/types/common/src/keys.d.ts +2 -0
  207. package/dist/types/common/src/points.d.ts +1 -1
  208. package/dist/types/common/src/utils.d.ts +5 -50
  209. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  210. package/dist/types/element/src/Scene.d.ts +8 -4
  211. package/dist/types/element/src/align.d.ts +2 -2
  212. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  213. package/dist/types/element/src/arrowheads.d.ts +3 -0
  214. package/dist/types/element/src/arrows/focus.d.ts +30 -0
  215. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  216. package/dist/types/element/src/binding.d.ts +29 -15
  217. package/dist/types/element/src/bounds.d.ts +23 -8
  218. package/dist/types/element/src/bucketFill.d.ts +110 -0
  219. package/dist/types/element/src/collision.d.ts +4 -3
  220. package/dist/types/element/src/comparisons.d.ts +5 -4
  221. package/dist/types/element/src/convertToShape.d.ts +23 -0
  222. package/dist/types/element/src/distribute.d.ts +3 -2
  223. package/dist/types/element/src/dragElements.d.ts +27 -0
  224. package/dist/types/element/src/duplicate.d.ts +4 -3
  225. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  226. package/dist/types/element/src/embeddable.d.ts +2 -2
  227. package/dist/types/element/src/flowchart.d.ts +7 -7
  228. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  229. package/dist/types/element/src/frame.d.ts +9 -8
  230. package/dist/types/element/src/groups.d.ts +9 -9
  231. package/dist/types/element/src/index.d.ts +7 -1
  232. package/dist/types/element/src/linearElementEditor.d.ts +22 -10
  233. package/dist/types/element/src/mutateElement.d.ts +2 -0
  234. package/dist/types/element/src/newElement.d.ts +14 -0
  235. package/dist/types/element/src/renderElement.d.ts +0 -3
  236. package/dist/types/element/src/resizeElements.d.ts +2 -2
  237. package/dist/types/element/src/selection.d.ts +12 -8
  238. package/dist/types/element/src/shape.d.ts +13 -1
  239. package/dist/types/element/src/sortElements.d.ts +10 -0
  240. package/dist/types/element/src/textElement.d.ts +13 -10
  241. package/dist/types/element/src/textWrapping.d.ts +26 -0
  242. package/dist/types/element/src/transform.d.ts +2 -2
  243. package/dist/types/element/src/typeChecks.d.ts +26 -25
  244. package/dist/types/element/src/types.d.ts +13 -3
  245. package/dist/types/element/src/utils.d.ts +6 -4
  246. package/dist/types/element/src/zindex.d.ts +2 -2
  247. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +83 -56
  248. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  249. package/dist/types/excalidraw/actions/actionBoundText.d.ts +57 -39
  250. package/dist/types/excalidraw/actions/actionCanvas.d.ts +355 -811
  251. package/dist/types/excalidraw/actions/actionClipboard.d.ts +56 -38
  252. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +28 -19
  253. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +89 -59
  254. package/dist/types/excalidraw/actions/actionDeselect.d.ts +165 -0
  255. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  256. package/dist/types/excalidraw/actions/actionElementLink.d.ts +24 -19
  257. package/dist/types/excalidraw/actions/actionElementLock.d.ts +57 -39
  258. package/dist/types/excalidraw/actions/actionExport.d.ts +152 -409
  259. package/dist/types/excalidraw/actions/actionFrame.d.ts +95 -240
  260. package/dist/types/excalidraw/actions/actionGroup.d.ts +72 -54
  261. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +34 -21
  262. package/dist/types/excalidraw/actions/actionLink.d.ts +29 -20
  263. package/dist/types/excalidraw/actions/actionMenu.d.ts +24 -19
  264. package/dist/types/excalidraw/actions/actionProperties.d.ts +84 -54
  265. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +33 -24
  266. package/dist/types/excalidraw/actions/actionStyles.d.ts +28 -18
  267. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  268. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleArrowBinding.d.ts} +43 -33
  269. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +32 -24
  270. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +181 -0
  271. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +29 -20
  272. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +28 -24
  273. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  274. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +29 -20
  275. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +30 -21
  276. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +29 -20
  277. package/dist/types/excalidraw/actions/index.d.ts +4 -2
  278. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  279. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  280. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  281. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  282. package/dist/types/excalidraw/appState.d.ts +33 -24
  283. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  284. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  285. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  286. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  287. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  288. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  289. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  290. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  291. package/dist/types/excalidraw/clipboard.d.ts +6 -7
  292. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  293. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  294. package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
  295. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  296. package/dist/types/excalidraw/components/App.cursor.d.ts +30 -0
  297. package/dist/types/excalidraw/components/App.d.ts +418 -85
  298. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  299. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  300. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  301. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  302. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  303. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  304. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -1
  305. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  306. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  307. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  308. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  309. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  310. package/dist/types/excalidraw/components/ColorPicker/topPicksDnD.d.ts +31 -0
  311. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  312. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +1 -1
  313. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  314. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  315. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  316. package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
  317. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  318. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  319. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  320. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -3
  321. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  322. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  323. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  324. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  325. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  326. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  327. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  328. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  329. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  330. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  331. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  332. package/dist/types/excalidraw/components/Range.d.ts +10 -4
  333. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  334. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  335. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  336. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  337. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  338. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  339. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  340. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  341. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  342. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  343. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  344. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +2 -6
  345. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +2 -1
  346. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  347. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
  348. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +11 -7
  349. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  350. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +4 -1
  351. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  352. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +2 -1
  353. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  354. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +4 -0
  355. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
  356. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +2 -1
  357. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  358. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  359. package/dist/types/excalidraw/components/Toast.d.ts +8 -4
  360. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  361. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  362. package/dist/types/excalidraw/components/Tools.d.ts +146 -0
  363. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  364. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  365. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +4 -1
  366. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
  367. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  368. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +30 -16
  369. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +3 -2
  370. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +11 -12
  371. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  372. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +2 -1
  373. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  374. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  375. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  376. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  377. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +1 -1
  378. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  379. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  380. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  381. package/dist/types/excalidraw/components/icons.d.ts +29 -10
  382. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +24 -3
  383. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +23 -14
  384. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  385. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  386. package/dist/types/excalidraw/data/blob.d.ts +179 -160
  387. package/dist/types/excalidraw/data/filesystem.d.ts +3 -5
  388. package/dist/types/excalidraw/data/index.d.ts +6 -7
  389. package/dist/types/excalidraw/data/json.d.ts +98 -80
  390. package/dist/types/excalidraw/data/library.d.ts +1 -1
  391. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  392. package/dist/types/excalidraw/data/restore.d.ts +1 -1
  393. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  394. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  395. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  396. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  397. package/dist/types/excalidraw/index.d.ts +35 -9
  398. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  399. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  400. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  401. package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
  402. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +1 -3
  403. package/dist/types/excalidraw/scene/Renderer.d.ts +426 -19
  404. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  405. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  406. package/dist/types/excalidraw/scene/types.d.ts +4 -4
  407. package/dist/types/excalidraw/snapping.d.ts +7 -7
  408. package/dist/types/excalidraw/textAutoResizeHandle.d.ts +15 -0
  409. package/dist/types/excalidraw/types.d.ts +512 -77
  410. package/dist/types/excalidraw/viewport.d.ts +275 -0
  411. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +6 -3
  412. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  413. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  414. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  415. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  416. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  417. package/dist/types/math/src/constants.d.ts +0 -1
  418. package/dist/types/math/src/curve.d.ts +4 -1
  419. package/dist/types/math/src/index.d.ts +1 -0
  420. package/dist/types/math/src/pca.d.ts +79 -0
  421. package/dist/types/math/src/point.d.ts +8 -2
  422. package/dist/types/math/src/polygon.d.ts +25 -1
  423. package/dist/types/math/src/types.d.ts +25 -1
  424. package/package.json +9 -6
  425. package/dist/dev/chunk-DJHLEOOZ.js +0 -69
  426. package/dist/dev/chunk-DJHLEOOZ.js.map +0 -7
  427. package/dist/dev/chunk-KB3DXHSJ.js.map +0 -7
  428. package/dist/dev/chunk-XIXZ3HJO.js.map +0 -7
  429. package/dist/dev/locales/ar-SA-JK5MQ7TT.js.map +0 -7
  430. package/dist/dev/locales/az-AZ-2PAD62G4.js.map +0 -7
  431. package/dist/dev/locales/bg-BG-HUKVYCRK.js.map +0 -7
  432. package/dist/dev/locales/bn-BD-V2CQI46P.js.map +0 -7
  433. package/dist/dev/locales/bn-IN-MBEO4C3J.js.map +0 -7
  434. package/dist/dev/locales/ca-ES-KWEKW4C3.js.map +0 -7
  435. package/dist/dev/locales/cs-CZ-W5AHZB5H.js.map +0 -7
  436. package/dist/dev/locales/da-DK-ITTM6YM4.js.map +0 -7
  437. package/dist/dev/locales/de-CH-OAWPDQFJ.js.map +0 -7
  438. package/dist/dev/locales/de-DE-ZRDYEPMS.js.map +0 -7
  439. package/dist/dev/locales/el-GR-QXASZLPE.js.map +0 -7
  440. package/dist/dev/locales/es-ES-VLQBB7FJ.js.map +0 -7
  441. package/dist/dev/locales/eu-ES-TF2DGTZU.js.map +0 -7
  442. package/dist/dev/locales/fa-IR-ITKFQ7QV.js.map +0 -7
  443. package/dist/dev/locales/fi-FI-UWZRVXFI.js.map +0 -7
  444. package/dist/dev/locales/fr-FR-A72LKGCO.js.map +0 -7
  445. package/dist/dev/locales/gl-ES-2QCVIBFP.js.map +0 -7
  446. package/dist/dev/locales/he-IL-WJNUHU26.js.map +0 -7
  447. package/dist/dev/locales/hi-IN-XGMO235V.js.map +0 -7
  448. package/dist/dev/locales/hu-HU-37FDQFIS.js.map +0 -7
  449. package/dist/dev/locales/id-ID-EJIDCO4E.js.map +0 -7
  450. package/dist/dev/locales/it-IT-X34PIOJ2.js.map +0 -7
  451. package/dist/dev/locales/ja-JP-37FC23PR.js.map +0 -7
  452. package/dist/dev/locales/kaa-7ZYDFVKA.js.map +0 -7
  453. package/dist/dev/locales/kab-KAB-MILWXBA6.js.map +0 -7
  454. package/dist/dev/locales/kk-KZ-7BWTPIAV.js.map +0 -7
  455. package/dist/dev/locales/km-KH-BV4P2KSZ.js.map +0 -7
  456. package/dist/dev/locales/ko-KR-TSXE5P7B.js.map +0 -7
  457. package/dist/dev/locales/ku-TR-ASSXNN3U.js.map +0 -7
  458. package/dist/dev/locales/lt-LT-G7RZYQQU.js.map +0 -7
  459. package/dist/dev/locales/lv-LV-DXNPBJZU.js.map +0 -7
  460. package/dist/dev/locales/mr-IN-7F2ZCTCF.js.map +0 -7
  461. package/dist/dev/locales/my-MM-NBI3KQGW.js.map +0 -7
  462. package/dist/dev/locales/nb-NO-4DCTQT6L.js.map +0 -7
  463. package/dist/dev/locales/nl-NL-XGZJ7V2V.js.map +0 -7
  464. package/dist/dev/locales/nn-NO-FR534JV5.js.map +0 -7
  465. package/dist/dev/locales/oc-FR-YQCIKZIK.js.map +0 -7
  466. package/dist/dev/locales/pa-IN-UM43JGD2.js.map +0 -7
  467. package/dist/dev/locales/pl-PL-2UGKA6HK.js.map +0 -7
  468. package/dist/dev/locales/pt-BR-H23QFYE3.js.map +0 -7
  469. package/dist/dev/locales/pt-PT-RHKJH5I5.js.map +0 -7
  470. package/dist/dev/locales/ro-RO-IIFONL3T.js.map +0 -7
  471. package/dist/dev/locales/ru-RU-QEP6D7GK.js.map +0 -7
  472. package/dist/dev/locales/si-LK-LZYJQLHF.js.map +0 -7
  473. package/dist/dev/locales/sk-SK-RWC6UWGY.js.map +0 -7
  474. package/dist/dev/locales/sl-SI-QJT2CAUO.js.map +0 -7
  475. package/dist/dev/locales/sv-SE-3MAT3NDX.js.map +0 -7
  476. package/dist/dev/locales/ta-IN-J7XOYF2T.js.map +0 -7
  477. package/dist/dev/locales/th-TH-2OI52EOQ.js.map +0 -7
  478. package/dist/dev/locales/tr-TR-G7TAUHUI.js.map +0 -7
  479. package/dist/dev/locales/uk-UA-IVSVBJIG.js.map +0 -7
  480. package/dist/dev/locales/uz-UZ-KCVDUVDE.js.map +0 -7
  481. package/dist/dev/locales/vi-VN-KBZAVWP5.js.map +0 -7
  482. package/dist/dev/locales/zh-CN-IS26RG2D.js.map +0 -7
  483. package/dist/dev/locales/zh-HK-KBWQ6SJC.js.map +0 -7
  484. package/dist/dev/locales/zh-TW-JKJWJQ4J.js.map +0 -7
  485. package/dist/prod/chunk-2INXXNZN.js +0 -12
  486. package/dist/prod/chunk-7ECCIQPE.js +0 -33
  487. package/dist/prod/chunk-AJI3LATG.js +0 -1
  488. package/dist/prod/data/image-E5KTZOPE.js +0 -1
  489. package/dist/prod/locales/ar-SA-IYHKZRSE.js +0 -8
  490. package/dist/prod/locales/az-AZ-WL5GYRHK.js +0 -1
  491. package/dist/prod/locales/bg-BG-FXZYTRPD.js +0 -5
  492. package/dist/prod/locales/bn-BD-KO6YL5G2.js +0 -3
  493. package/dist/prod/locales/bn-IN-PC6JHKYB.js +0 -3
  494. package/dist/prod/locales/ca-ES-AREX5NEO.js +0 -8
  495. package/dist/prod/locales/cs-CZ-HXAZMFYH.js +0 -7
  496. package/dist/prod/locales/da-DK-5X7ZLFU3.js +0 -2
  497. package/dist/prod/locales/de-CH-76ZNVSOF.js +0 -7
  498. package/dist/prod/locales/de-DE-G3JVZ4MQ.js +0 -7
  499. package/dist/prod/locales/el-GR-4AZTZGY6.js +0 -7
  500. package/dist/prod/locales/en-YGAMZJ7C.js +0 -1
  501. package/dist/prod/locales/es-ES-ART7BI3G.js +0 -7
  502. package/dist/prod/locales/eu-ES-BIF4XBMT.js +0 -7
  503. package/dist/prod/locales/fa-IR-D4HHKAAI.js +0 -9
  504. package/dist/prod/locales/fi-FI-O35ZY7UI.js +0 -6
  505. package/dist/prod/locales/fr-FR-XEFNCM4I.js +0 -12
  506. package/dist/prod/locales/gl-ES-U4NYM3X5.js +0 -6
  507. package/dist/prod/locales/he-IL-656ABAVQ.js +0 -8
  508. package/dist/prod/locales/hi-IN-Z55GAFFR.js +0 -3
  509. package/dist/prod/locales/hu-HU-UJ62DVIW.js +0 -3
  510. package/dist/prod/locales/id-ID-FLZFU3OO.js +0 -8
  511. package/dist/prod/locales/it-IT-GIGIGIBJ.js +0 -12
  512. package/dist/prod/locales/ja-JP-43VXGDWI.js +0 -7
  513. package/dist/prod/locales/kaa-L3IMSDYL.js +0 -1
  514. package/dist/prod/locales/kab-KAB-XKPWJLNL.js +0 -4
  515. package/dist/prod/locales/kk-KZ-SXPDDY2H.js +0 -1
  516. package/dist/prod/locales/km-KH-DOS4CPGC.js +0 -7
  517. package/dist/prod/locales/ko-KR-BGC6VCY4.js +0 -5
  518. package/dist/prod/locales/ku-TR-J7IUITIA.js +0 -6
  519. package/dist/prod/locales/lt-LT-AC3LV5KG.js +0 -3
  520. package/dist/prod/locales/lv-LV-I6AY7QG2.js +0 -4
  521. package/dist/prod/locales/mr-IN-5SP4HV5B.js +0 -9
  522. package/dist/prod/locales/my-MM-S7ECRBYZ.js +0 -1
  523. package/dist/prod/locales/nb-NO-6PNHTF4R.js +0 -8
  524. package/dist/prod/locales/nl-NL-R4C4SUIG.js +0 -13
  525. package/dist/prod/locales/nn-NO-3TFXTM7Y.js +0 -4
  526. package/dist/prod/locales/oc-FR-IK6GIE7H.js +0 -4
  527. package/dist/prod/locales/pa-IN-YAKHYJET.js +0 -4
  528. package/dist/prod/locales/percentages-OL6W367U.js +0 -1
  529. package/dist/prod/locales/pl-PL-BIY22ZWU.js +0 -12
  530. package/dist/prod/locales/pt-BR-Q23NUPD6.js +0 -6
  531. package/dist/prod/locales/pt-PT-LOPEJLPJ.js +0 -8
  532. package/dist/prod/locales/ro-RO-W3D2ZATV.js +0 -12
  533. package/dist/prod/locales/ru-RU-DCTW7QSH.js +0 -10
  534. package/dist/prod/locales/si-LK-FYRRHO3C.js +0 -1
  535. package/dist/prod/locales/sk-SK-MC7UOHQO.js +0 -7
  536. package/dist/prod/locales/sl-SI-L6B6HFY5.js +0 -6
  537. package/dist/prod/locales/sv-SE-KMY6L2BA.js +0 -8
  538. package/dist/prod/locales/ta-IN-ZQCYE2JK.js +0 -6
  539. package/dist/prod/locales/th-TH-WS7ECBAV.js +0 -1
  540. package/dist/prod/locales/tr-TR-S5FI7JRW.js +0 -4
  541. package/dist/prod/locales/uk-UA-4EZUWUSQ.js +0 -6
  542. package/dist/prod/locales/uz-UZ-OKHL6AFA.js +0 -1
  543. package/dist/prod/locales/vi-VN-K34TWHF7.js +0 -7
  544. package/dist/prod/locales/zh-CN-JE4UZWNO.js +0 -11
  545. package/dist/prod/locales/zh-HK-RM35YDXX.js +0 -1
  546. package/dist/prod/locales/zh-TW-ONGLV6Y5.js +0 -9
  547. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  548. package/dist/types/excalidraw/charts.d.ts +0 -27
  549. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  550. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  551. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
  552. package/dist/types/excalidraw/components/shapes.d.ts +0 -190
  553. package/dist/types/excalidraw/cursor.d.ts +0 -5
  554. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  555. package/dist/types/excalidraw/scene/scrollConstraints.d.ts +0 -46
  556. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  557. package/dist/types/utils/src/bbox.d.ts +0 -9
  558. package/dist/types/utils/src/index.d.ts +0 -4
  559. package/dist/types/utils/src/withinBounds.d.ts +0 -19
  560. /package/dist/dev/{chunk-VHBP2L6P.js.map → chunk-GLSDDV5C.js.map} +0 -0
  561. /package/dist/dev/data/{image-YTAF2QAV.js.map → image-LSHTDYDI.js.map} +0 -0
  562. /package/dist/dev/locales/{en-RTISGYJB.js.map → en-JNOPSYVP.js.map} +0 -0
  563. /package/dist/dev/locales/{percentages-OGWD7R2K.js.map → percentages-DKKGPYTW.js.map} +0 -0
@@ -1,8 +1,6 @@
1
- import { type SceneBounds } from "@excalidraw/element";
2
- import type { ExcalidrawElement } from "@excalidraw/element/types";
3
- import type { AppState, Offsets } from "../types";
1
+ import type { AppState } from "../types";
4
2
  export declare const actionChangeViewBackgroundColor: import("./types").Action<Partial<AppState>> & {
5
- keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
3
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
6
4
  };
7
5
  export declare const actionClearCanvas: {
8
6
  name: "clearCanvas";
@@ -11,7 +9,7 @@ export declare const actionClearCanvas: {
11
9
  trackEvent: {
12
10
  category: "canvas";
13
11
  };
14
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
12
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
15
13
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
16
14
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
17
15
  appState: {
@@ -28,12 +26,10 @@ export declare const actionClearCanvas: {
28
26
  open: boolean;
29
27
  panels: number;
30
28
  };
31
- pasteDialog: {
32
- shown: false;
33
- data: null;
34
- } | {
35
- shown: true;
36
- data: import("../charts").Spreadsheet;
29
+ colorTopPicks: {
30
+ elementStroke: readonly string[] | null;
31
+ elementBackground: readonly string[] | null;
32
+ bucketFill: readonly string[] | null;
37
33
  };
38
34
  activeTool: {
39
35
  lastActiveTool: import("../types").ActiveTool | null;
@@ -47,9 +43,74 @@ export declare const actionClearCanvas: {
47
43
  clip: boolean;
48
44
  };
49
45
  viewBackgroundColor: string;
46
+ name: string | null;
47
+ zoom: import("../types").Zoom;
50
48
  scrollX: number;
51
49
  scrollY: number;
52
- zoom: import("../types").Zoom;
50
+ viewModeEnabled: boolean;
51
+ openDialog: null | {
52
+ name: "imageExport" | "help" | "jsonExport";
53
+ } | {
54
+ name: "ttd";
55
+ tab: "text-to-diagram" | "mermaid";
56
+ } | {
57
+ name: "commandPalette";
58
+ } | {
59
+ name: "settings";
60
+ } | {
61
+ name: "elementLinkSelector";
62
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
63
+ } | {
64
+ name: "charts";
65
+ data: import("../charts").Spreadsheet;
66
+ rawText: string;
67
+ };
68
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
69
+ selectedElementIds: Readonly<{
70
+ [id: string]: true;
71
+ }>;
72
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
73
+ activeEmbeddable: {
74
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
75
+ state: "hover" | "active";
76
+ } | null;
77
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
78
+ selectedGroupIds: {
79
+ [groupId: string]: boolean;
80
+ };
81
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
82
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
83
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
84
+ isBindingEnabled: boolean;
85
+ isMidpointSnappingEnabled: boolean;
86
+ suggestedBinding: {
87
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
88
+ midPoint?: import("@excalidraw/math").GlobalPoint;
89
+ } | null;
90
+ hoveredArrowTextAnchor: {
91
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
92
+ anchor: "start" | "end" | "label";
93
+ } | null;
94
+ isRotating: boolean;
95
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
96
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
97
+ snapLines: readonly import("../snapping").SnapLine[];
98
+ zenModeEnabled: boolean;
99
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
100
+ isCropping: boolean;
101
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
102
+ searchMatches: Readonly<{
103
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
104
+ matches: readonly import("../types").SearchMatch[];
105
+ }> | null;
106
+ activeLockedId: string | null;
107
+ hoveredElementIds: Readonly<{
108
+ [id: string]: true;
109
+ }>;
110
+ shouldCacheIgnoreZoom: boolean;
111
+ exportScale: number;
112
+ currentItemArrowType: "sharp" | "round" | "elbow";
113
+ bindMode: import("@excalidraw/element/types").BindMode;
53
114
  contextMenu: {
54
115
  items: import("../components/ContextMenu").ContextMenuItems;
55
116
  top: number;
@@ -58,33 +119,22 @@ export declare const actionClearCanvas: {
58
119
  showWelcomeScreen: boolean;
59
120
  isLoading: boolean;
60
121
  errorMessage: React.ReactNode;
61
- activeEmbeddable: {
62
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
63
- state: "hover" | "active";
64
- } | null;
65
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
66
122
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
67
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
68
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
69
- isBindingEnabled: boolean;
70
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
71
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
72
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
73
- editingFrame: string | null;
74
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
75
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
123
+ boxSelectionMode: import("../types").BoxSelectionMode;
124
+ bindingPreference: "enabled" | "disabled";
125
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
76
126
  preferredSelectionTool: {
77
127
  type: "selection" | "lasso";
78
128
  initialized: boolean;
79
129
  };
80
130
  exportWithDarkMode: boolean;
81
- exportScale: number;
82
131
  currentItemStrokeColor: string;
83
132
  currentItemBackgroundColor: string;
84
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
85
- currentItemStrokeWidth: number;
86
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
133
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
134
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
135
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
87
136
  currentItemRoughness: number;
137
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
88
138
  currentItemOpacity: number;
89
139
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
90
140
  currentItemFontSize: number;
@@ -93,79 +143,37 @@ export declare const actionClearCanvas: {
93
143
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
94
144
  currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
95
145
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
96
- currentItemArrowType: "sharp" | "round" | "elbow";
146
+ scrollConstraints: import("../types").ScrollConstraints | null;
97
147
  cursorButton: "up" | "down";
98
148
  scrolledOutside: boolean;
99
- name: string | null;
100
149
  isResizing: boolean;
101
- isRotating: boolean;
102
150
  openMenu: "canvas" | null;
103
151
  openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
104
152
  openSidebar: {
105
153
  name: import("../types").SidebarName;
106
154
  tab?: import("../types").SidebarTabName;
107
155
  } | null;
108
- openDialog: null | {
109
- name: "imageExport" | "help" | "jsonExport";
110
- } | {
111
- name: "ttd";
112
- tab: "text-to-diagram" | "mermaid";
113
- } | {
114
- name: "commandPalette";
115
- } | {
116
- name: "settings";
117
- } | {
118
- name: "elementLinkSelector";
119
- sourceElementId: ExcalidrawElement["id"];
120
- };
121
156
  defaultSidebarDockedPreference: boolean;
122
157
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
123
- selectedElementIds: Readonly<{
124
- [id: string]: true;
125
- }>;
126
- hoveredElementIds: Readonly<{
127
- [id: string]: true;
128
- }>;
129
158
  previousSelectedElementIds: {
130
159
  [id: string]: true;
131
160
  };
132
161
  selectedElementsAreBeingDragged: boolean;
133
- shouldCacheIgnoreZoom: boolean;
134
162
  toast: {
135
- message: string;
163
+ message: React.ReactNode;
136
164
  closable?: boolean;
137
165
  duration?: number;
138
166
  } | null;
139
- zenModeEnabled: boolean;
140
- viewModeEnabled: boolean;
141
- selectedGroupIds: {
142
- [groupId: string]: boolean;
143
- };
144
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
145
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
146
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
147
- currentChartType: import("@excalidraw/element/types").ChartType;
167
+ fileHandle: FileSystemFileHandle | null;
148
168
  showHyperlinkPopup: false | "info" | "editor";
149
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
150
- snapLines: readonly import("../snapping").SnapLine[];
151
169
  originSnapOffset: {
152
170
  x: number;
153
171
  y: number;
154
172
  } | null;
155
173
  objectsSnapModeEnabled: boolean;
156
- userToFollow: import("../types").UserToFollow | null;
157
- followedBy: Set<import("../types").SocketId>;
158
- isCropping: boolean;
159
- croppingElementId: ExcalidrawElement["id"] | null;
160
- searchMatches: Readonly<{
161
- focusedId: ExcalidrawElement["id"] | null;
162
- matches: readonly import("../types").SearchMatch[];
163
- }> | null;
164
- activeLockedId: string | null;
165
174
  lockedMultiSelections: {
166
175
  [groupId: string]: true;
167
176
  };
168
- bindMode: import("@excalidraw/element/types").BindMode;
169
177
  };
170
178
  captureUpdate: "IMMEDIATELY";
171
179
  };
@@ -176,52 +184,17 @@ export declare const actionZoomIn: {
176
184
  name: "zoomIn";
177
185
  label: string;
178
186
  viewMode: true;
187
+ navigation: true;
179
188
  icon: import("react/jsx-runtime").JSX.Element;
180
189
  trackEvent: {
181
190
  category: "canvas";
182
191
  };
183
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
184
- appState: AppState;
185
- captureUpdate: "EVENTUALLY";
186
- };
187
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
188
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
189
- } & {
190
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
191
- };
192
- export declare const actionZoomOut: {
193
- name: "zoomOut";
194
- label: string;
195
- icon: import("react/jsx-runtime").JSX.Element;
196
- viewMode: true;
197
- trackEvent: {
198
- category: "canvas";
199
- };
200
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
201
- appState: AppState;
202
- captureUpdate: "EVENTUALLY";
203
- };
204
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
205
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
206
- } & {
207
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
208
- };
209
- export declare const actionResetZoom: {
210
- name: "resetZoom";
211
- label: string;
212
- icon: import("react/jsx-runtime").JSX.Element;
213
- viewMode: true;
214
- trackEvent: {
215
- category: "canvas";
216
- };
192
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
217
193
  perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
218
194
  appState: {
219
- userToFollow: null;
195
+ zoom: import("../types").Zoom;
220
196
  scrollX: number;
221
197
  scrollY: number;
222
- zoom: {
223
- value: import("../types").NormalizedZoomValue;
224
- };
225
198
  contextMenu: {
226
199
  items: import("../components/ContextMenu").ContextMenuItems;
227
200
  top: number;
@@ -239,8 +212,17 @@ export declare const actionResetZoom: {
239
212
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
240
213
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
241
214
  isBindingEnabled: boolean;
242
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
243
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
215
+ boxSelectionMode: import("../types").BoxSelectionMode;
216
+ bindingPreference: "enabled" | "disabled";
217
+ isMidpointSnappingEnabled: boolean;
218
+ suggestedBinding: {
219
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
220
+ midPoint?: import("@excalidraw/math").GlobalPoint;
221
+ } | null;
222
+ hoveredArrowTextAnchor: {
223
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
224
+ anchor: "start" | "end" | "label";
225
+ } | null;
244
226
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
245
227
  frameRendering: {
246
228
  enabled: boolean;
@@ -248,9 +230,9 @@ export declare const actionResetZoom: {
248
230
  outline: boolean;
249
231
  clip: boolean;
250
232
  };
251
- editingFrame: string | null;
252
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
253
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
233
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
234
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
235
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
254
236
  activeTool: {
255
237
  lastActiveTool: import("../types").ActiveTool | null;
256
238
  locked: boolean;
@@ -268,10 +250,11 @@ export declare const actionResetZoom: {
268
250
  exportScale: number;
269
251
  currentItemStrokeColor: string;
270
252
  currentItemBackgroundColor: string;
271
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
272
- currentItemStrokeWidth: number;
273
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
253
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
254
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
255
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
274
256
  currentItemRoughness: number;
257
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
275
258
  currentItemOpacity: number;
276
259
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
277
260
  currentItemFontSize: number;
@@ -282,6 +265,7 @@ export declare const actionResetZoom: {
282
265
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
283
266
  currentItemArrowType: "sharp" | "round" | "elbow";
284
267
  viewBackgroundColor: string;
268
+ scrollConstraints: import("../types").ScrollConstraints | null;
285
269
  cursorButton: "up" | "down";
286
270
  scrolledOutside: boolean;
287
271
  name: string | null;
@@ -304,7 +288,11 @@ export declare const actionResetZoom: {
304
288
  name: "settings";
305
289
  } | {
306
290
  name: "elementLinkSelector";
307
- sourceElementId: ExcalidrawElement["id"];
291
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
292
+ } | {
293
+ name: "charts";
294
+ data: import("../charts").Spreadsheet;
295
+ rawText: string;
308
296
  };
309
297
  defaultSidebarDockedPreference: boolean;
310
298
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -320,7 +308,7 @@ export declare const actionResetZoom: {
320
308
  selectedElementsAreBeingDragged: boolean;
321
309
  shouldCacheIgnoreZoom: boolean;
322
310
  toast: {
323
- message: string;
311
+ message: React.ReactNode;
324
312
  closable?: boolean;
325
313
  duration?: number;
326
314
  } | null;
@@ -338,20 +326,12 @@ export declare const actionResetZoom: {
338
326
  height: number;
339
327
  offsetTop: number;
340
328
  offsetLeft: number;
341
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
329
+ fileHandle: FileSystemFileHandle | null;
342
330
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
343
331
  stats: {
344
332
  open: boolean;
345
333
  panels: number;
346
334
  };
347
- currentChartType: import("@excalidraw/element/types").ChartType;
348
- pasteDialog: {
349
- shown: false;
350
- data: null;
351
- } | {
352
- shown: true;
353
- data: import("../charts").Spreadsheet;
354
- };
355
335
  showHyperlinkPopup: false | "info" | "editor";
356
336
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
357
337
  snapLines: readonly import("../snapping").SnapLine[];
@@ -360,12 +340,10 @@ export declare const actionResetZoom: {
360
340
  y: number;
361
341
  } | null;
362
342
  objectsSnapModeEnabled: boolean;
363
- followedBy: Set<import("../types").SocketId>;
364
- scrollConstraints: import("../types").ScrollConstraints | null;
365
343
  isCropping: boolean;
366
- croppingElementId: ExcalidrawElement["id"] | null;
344
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
367
345
  searchMatches: Readonly<{
368
- focusedId: ExcalidrawElement["id"] | null;
346
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
369
347
  matches: readonly import("../types").SearchMatch[];
370
348
  }> | null;
371
349
  activeLockedId: string | null;
@@ -373,372 +351,34 @@ export declare const actionResetZoom: {
373
351
  [groupId: string]: true;
374
352
  };
375
353
  bindMode: import("@excalidraw/element/types").BindMode;
354
+ colorTopPicks: {
355
+ elementStroke: readonly string[] | null;
356
+ elementBackground: readonly string[] | null;
357
+ bucketFill: readonly string[] | null;
358
+ };
376
359
  };
377
360
  captureUpdate: "EVENTUALLY";
378
361
  };
379
- PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
362
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
380
363
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
381
364
  } & {
382
365
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
383
366
  };
384
- export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
385
- bounds: SceneBounds;
386
- canvasOffsets?: Offsets;
387
- appState: Readonly<AppState>;
388
- /** whether to fit content to viewport (beyond >100%) */
389
- fitToViewport: boolean;
390
- /** zoom content to cover X of the viewport, when fitToViewport=true */
391
- viewportZoomFactor?: number;
392
- minZoom?: number;
393
- maxZoom?: number;
394
- }) => {
395
- appState: {
396
- scrollX: number;
397
- scrollY: number;
398
- zoom: {
399
- value: import("../types").NormalizedZoomValue;
400
- };
401
- contextMenu: {
402
- items: import("../components/ContextMenu").ContextMenuItems;
403
- top: number;
404
- left: number;
405
- } | null;
406
- showWelcomeScreen: boolean;
407
- isLoading: boolean;
408
- errorMessage: React.ReactNode;
409
- activeEmbeddable: {
410
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
411
- state: "hover" | "active";
412
- } | null;
413
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
414
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
415
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
416
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
417
- isBindingEnabled: boolean;
418
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
419
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
420
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
421
- frameRendering: {
422
- enabled: boolean;
423
- name: boolean;
424
- outline: boolean;
425
- clip: boolean;
426
- };
427
- editingFrame: string | null;
428
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
429
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
430
- activeTool: {
431
- lastActiveTool: import("../types").ActiveTool | null;
432
- locked: boolean;
433
- fromSelection: boolean;
434
- } & import("../types").ActiveTool;
435
- preferredSelectionTool: {
436
- type: "selection" | "lasso";
437
- initialized: boolean;
438
- };
439
- penMode: boolean;
440
- penDetected: boolean;
441
- exportBackground: boolean;
442
- exportEmbedScene: boolean;
443
- exportWithDarkMode: boolean;
444
- exportScale: number;
445
- currentItemStrokeColor: string;
446
- currentItemBackgroundColor: string;
447
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
448
- currentItemStrokeWidth: number;
449
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
450
- currentItemRoughness: number;
451
- currentItemOpacity: number;
452
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
453
- currentItemFontSize: number;
454
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
455
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
456
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
457
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
458
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
459
- currentItemArrowType: "sharp" | "round" | "elbow";
460
- viewBackgroundColor: string;
461
- cursorButton: "up" | "down";
462
- scrolledOutside: boolean;
463
- name: string | null;
464
- isResizing: boolean;
465
- isRotating: boolean;
466
- openMenu: "canvas" | null;
467
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
468
- openSidebar: {
469
- name: import("../types").SidebarName;
470
- tab?: import("../types").SidebarTabName;
471
- } | null;
472
- openDialog: null | {
473
- name: "imageExport" | "help" | "jsonExport";
474
- } | {
475
- name: "ttd";
476
- tab: "text-to-diagram" | "mermaid";
477
- } | {
478
- name: "commandPalette";
479
- } | {
480
- name: "settings";
481
- } | {
482
- name: "elementLinkSelector";
483
- sourceElementId: ExcalidrawElement["id"];
484
- };
485
- defaultSidebarDockedPreference: boolean;
486
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
487
- selectedElementIds: Readonly<{
488
- [id: string]: true;
489
- }>;
490
- hoveredElementIds: Readonly<{
491
- [id: string]: true;
492
- }>;
493
- previousSelectedElementIds: {
494
- [id: string]: true;
495
- };
496
- selectedElementsAreBeingDragged: boolean;
497
- shouldCacheIgnoreZoom: boolean;
498
- toast: {
499
- message: string;
500
- closable?: boolean;
501
- duration?: number;
502
- } | null;
503
- zenModeEnabled: boolean;
504
- theme: import("@excalidraw/element/types").Theme;
505
- gridSize: number;
506
- gridStep: number;
507
- gridModeEnabled: boolean;
508
- viewModeEnabled: boolean;
509
- selectedGroupIds: {
510
- [groupId: string]: boolean;
511
- };
512
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
513
- width: number;
514
- height: number;
515
- offsetTop: number;
516
- offsetLeft: number;
517
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
518
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
519
- stats: {
520
- open: boolean;
521
- panels: number;
522
- };
523
- currentChartType: import("@excalidraw/element/types").ChartType;
524
- pasteDialog: {
525
- shown: false;
526
- data: null;
527
- } | {
528
- shown: true;
529
- data: import("../charts").Spreadsheet;
530
- };
531
- showHyperlinkPopup: false | "info" | "editor";
532
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
533
- snapLines: readonly import("../snapping").SnapLine[];
534
- originSnapOffset: {
535
- x: number;
536
- y: number;
537
- } | null;
538
- objectsSnapModeEnabled: boolean;
539
- userToFollow: import("../types").UserToFollow | null;
540
- followedBy: Set<import("../types").SocketId>;
541
- scrollConstraints: import("../types").ScrollConstraints | null;
542
- isCropping: boolean;
543
- croppingElementId: ExcalidrawElement["id"] | null;
544
- searchMatches: Readonly<{
545
- focusedId: ExcalidrawElement["id"] | null;
546
- matches: readonly import("../types").SearchMatch[];
547
- }> | null;
548
- activeLockedId: string | null;
549
- lockedMultiSelections: {
550
- [groupId: string]: true;
551
- };
552
- bindMode: import("@excalidraw/element/types").BindMode;
553
- };
554
- captureUpdate: "EVENTUALLY";
555
- };
556
- export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
557
- canvasOffsets?: Offsets;
558
- targetElements: readonly ExcalidrawElement[];
559
- appState: Readonly<AppState>;
560
- /** whether to fit content to viewport (beyond >100%) */
561
- fitToViewport: boolean;
562
- /** zoom content to cover X of the viewport, when fitToViewport=true */
563
- viewportZoomFactor?: number;
564
- minZoom?: number;
565
- maxZoom?: number;
566
- }) => {
567
- appState: {
568
- scrollX: number;
569
- scrollY: number;
570
- zoom: {
571
- value: import("../types").NormalizedZoomValue;
572
- };
573
- contextMenu: {
574
- items: import("../components/ContextMenu").ContextMenuItems;
575
- top: number;
576
- left: number;
577
- } | null;
578
- showWelcomeScreen: boolean;
579
- isLoading: boolean;
580
- errorMessage: React.ReactNode;
581
- activeEmbeddable: {
582
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
583
- state: "hover" | "active";
584
- } | null;
585
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
586
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
587
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
588
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
589
- isBindingEnabled: boolean;
590
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
591
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
592
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
593
- frameRendering: {
594
- enabled: boolean;
595
- name: boolean;
596
- outline: boolean;
597
- clip: boolean;
598
- };
599
- editingFrame: string | null;
600
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
601
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
602
- activeTool: {
603
- lastActiveTool: import("../types").ActiveTool | null;
604
- locked: boolean;
605
- fromSelection: boolean;
606
- } & import("../types").ActiveTool;
607
- preferredSelectionTool: {
608
- type: "selection" | "lasso";
609
- initialized: boolean;
610
- };
611
- penMode: boolean;
612
- penDetected: boolean;
613
- exportBackground: boolean;
614
- exportEmbedScene: boolean;
615
- exportWithDarkMode: boolean;
616
- exportScale: number;
617
- currentItemStrokeColor: string;
618
- currentItemBackgroundColor: string;
619
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
620
- currentItemStrokeWidth: number;
621
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
622
- currentItemRoughness: number;
623
- currentItemOpacity: number;
624
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
625
- currentItemFontSize: number;
626
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
627
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
628
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
629
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
630
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
631
- currentItemArrowType: "sharp" | "round" | "elbow";
632
- viewBackgroundColor: string;
633
- cursorButton: "up" | "down";
634
- scrolledOutside: boolean;
635
- name: string | null;
636
- isResizing: boolean;
637
- isRotating: boolean;
638
- openMenu: "canvas" | null;
639
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
640
- openSidebar: {
641
- name: import("../types").SidebarName;
642
- tab?: import("../types").SidebarTabName;
643
- } | null;
644
- openDialog: null | {
645
- name: "imageExport" | "help" | "jsonExport";
646
- } | {
647
- name: "ttd";
648
- tab: "text-to-diagram" | "mermaid";
649
- } | {
650
- name: "commandPalette";
651
- } | {
652
- name: "settings";
653
- } | {
654
- name: "elementLinkSelector";
655
- sourceElementId: ExcalidrawElement["id"];
656
- };
657
- defaultSidebarDockedPreference: boolean;
658
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
659
- selectedElementIds: Readonly<{
660
- [id: string]: true;
661
- }>;
662
- hoveredElementIds: Readonly<{
663
- [id: string]: true;
664
- }>;
665
- previousSelectedElementIds: {
666
- [id: string]: true;
667
- };
668
- selectedElementsAreBeingDragged: boolean;
669
- shouldCacheIgnoreZoom: boolean;
670
- toast: {
671
- message: string;
672
- closable?: boolean;
673
- duration?: number;
674
- } | null;
675
- zenModeEnabled: boolean;
676
- theme: import("@excalidraw/element/types").Theme;
677
- gridSize: number;
678
- gridStep: number;
679
- gridModeEnabled: boolean;
680
- viewModeEnabled: boolean;
681
- selectedGroupIds: {
682
- [groupId: string]: boolean;
683
- };
684
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
685
- width: number;
686
- height: number;
687
- offsetTop: number;
688
- offsetLeft: number;
689
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
690
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
691
- stats: {
692
- open: boolean;
693
- panels: number;
694
- };
695
- currentChartType: import("@excalidraw/element/types").ChartType;
696
- pasteDialog: {
697
- shown: false;
698
- data: null;
699
- } | {
700
- shown: true;
701
- data: import("../charts").Spreadsheet;
702
- };
703
- showHyperlinkPopup: false | "info" | "editor";
704
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
705
- snapLines: readonly import("../snapping").SnapLine[];
706
- originSnapOffset: {
707
- x: number;
708
- y: number;
709
- } | null;
710
- objectsSnapModeEnabled: boolean;
711
- userToFollow: import("../types").UserToFollow | null;
712
- followedBy: Set<import("../types").SocketId>;
713
- scrollConstraints: import("../types").ScrollConstraints | null;
714
- isCropping: boolean;
715
- croppingElementId: ExcalidrawElement["id"] | null;
716
- searchMatches: Readonly<{
717
- focusedId: ExcalidrawElement["id"] | null;
718
- matches: readonly import("../types").SearchMatch[];
719
- }> | null;
720
- activeLockedId: string | null;
721
- lockedMultiSelections: {
722
- [groupId: string]: true;
723
- };
724
- bindMode: import("@excalidraw/element/types").BindMode;
725
- };
726
- captureUpdate: "EVENTUALLY";
727
- };
728
- export declare const actionZoomToFitSelectionInViewport: {
729
- name: "zoomToFitSelectionInViewport";
367
+ export declare const actionZoomOut: {
368
+ name: "zoomOut";
730
369
  label: string;
731
370
  icon: import("react/jsx-runtime").JSX.Element;
371
+ viewMode: true;
372
+ navigation: true;
732
373
  trackEvent: {
733
374
  category: "canvas";
734
375
  };
735
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
376
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
377
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
736
378
  appState: {
379
+ zoom: import("../types").Zoom;
737
380
  scrollX: number;
738
381
  scrollY: number;
739
- zoom: {
740
- value: import("../types").NormalizedZoomValue;
741
- };
742
382
  contextMenu: {
743
383
  items: import("../components/ContextMenu").ContextMenuItems;
744
384
  top: number;
@@ -756,8 +396,17 @@ export declare const actionZoomToFitSelectionInViewport: {
756
396
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
757
397
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
758
398
  isBindingEnabled: boolean;
759
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
760
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
399
+ boxSelectionMode: import("../types").BoxSelectionMode;
400
+ bindingPreference: "enabled" | "disabled";
401
+ isMidpointSnappingEnabled: boolean;
402
+ suggestedBinding: {
403
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
404
+ midPoint?: import("@excalidraw/math").GlobalPoint;
405
+ } | null;
406
+ hoveredArrowTextAnchor: {
407
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
408
+ anchor: "start" | "end" | "label";
409
+ } | null;
761
410
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
762
411
  frameRendering: {
763
412
  enabled: boolean;
@@ -765,9 +414,9 @@ export declare const actionZoomToFitSelectionInViewport: {
765
414
  outline: boolean;
766
415
  clip: boolean;
767
416
  };
768
- editingFrame: string | null;
769
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
770
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
417
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
418
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
419
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
771
420
  activeTool: {
772
421
  lastActiveTool: import("../types").ActiveTool | null;
773
422
  locked: boolean;
@@ -785,10 +434,11 @@ export declare const actionZoomToFitSelectionInViewport: {
785
434
  exportScale: number;
786
435
  currentItemStrokeColor: string;
787
436
  currentItemBackgroundColor: string;
788
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
789
- currentItemStrokeWidth: number;
790
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
437
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
438
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
439
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
791
440
  currentItemRoughness: number;
441
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
792
442
  currentItemOpacity: number;
793
443
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
794
444
  currentItemFontSize: number;
@@ -799,6 +449,7 @@ export declare const actionZoomToFitSelectionInViewport: {
799
449
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
800
450
  currentItemArrowType: "sharp" | "round" | "elbow";
801
451
  viewBackgroundColor: string;
452
+ scrollConstraints: import("../types").ScrollConstraints | null;
802
453
  cursorButton: "up" | "down";
803
454
  scrolledOutside: boolean;
804
455
  name: string | null;
@@ -821,7 +472,11 @@ export declare const actionZoomToFitSelectionInViewport: {
821
472
  name: "settings";
822
473
  } | {
823
474
  name: "elementLinkSelector";
824
- sourceElementId: ExcalidrawElement["id"];
475
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
476
+ } | {
477
+ name: "charts";
478
+ data: import("../charts").Spreadsheet;
479
+ rawText: string;
825
480
  };
826
481
  defaultSidebarDockedPreference: boolean;
827
482
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -837,7 +492,7 @@ export declare const actionZoomToFitSelectionInViewport: {
837
492
  selectedElementsAreBeingDragged: boolean;
838
493
  shouldCacheIgnoreZoom: boolean;
839
494
  toast: {
840
- message: string;
495
+ message: React.ReactNode;
841
496
  closable?: boolean;
842
497
  duration?: number;
843
498
  } | null;
@@ -855,20 +510,12 @@ export declare const actionZoomToFitSelectionInViewport: {
855
510
  height: number;
856
511
  offsetTop: number;
857
512
  offsetLeft: number;
858
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
513
+ fileHandle: FileSystemFileHandle | null;
859
514
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
860
515
  stats: {
861
516
  open: boolean;
862
517
  panels: number;
863
518
  };
864
- currentChartType: import("@excalidraw/element/types").ChartType;
865
- pasteDialog: {
866
- shown: false;
867
- data: null;
868
- } | {
869
- shown: true;
870
- data: import("../charts").Spreadsheet;
871
- };
872
519
  showHyperlinkPopup: false | "info" | "editor";
873
520
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
874
521
  snapLines: readonly import("../snapping").SnapLine[];
@@ -877,13 +524,10 @@ export declare const actionZoomToFitSelectionInViewport: {
877
524
  y: number;
878
525
  } | null;
879
526
  objectsSnapModeEnabled: boolean;
880
- userToFollow: import("../types").UserToFollow | null;
881
- followedBy: Set<import("../types").SocketId>;
882
- scrollConstraints: import("../types").ScrollConstraints | null;
883
527
  isCropping: boolean;
884
- croppingElementId: ExcalidrawElement["id"] | null;
528
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
885
529
  searchMatches: Readonly<{
886
- focusedId: ExcalidrawElement["id"] | null;
530
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
887
531
  matches: readonly import("../types").SearchMatch[];
888
532
  }> | null;
889
533
  activeLockedId: string | null;
@@ -891,27 +535,34 @@ export declare const actionZoomToFitSelectionInViewport: {
891
535
  [groupId: string]: true;
892
536
  };
893
537
  bindMode: import("@excalidraw/element/types").BindMode;
538
+ colorTopPicks: {
539
+ elementStroke: readonly string[] | null;
540
+ elementBackground: readonly string[] | null;
541
+ bucketFill: readonly string[] | null;
542
+ };
894
543
  };
895
544
  captureUpdate: "EVENTUALLY";
896
545
  };
546
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
897
547
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
898
548
  } & {
899
549
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
900
550
  };
901
- export declare const actionZoomToFitSelection: {
902
- name: "zoomToFitSelection";
551
+ export declare const actionResetZoom: {
552
+ name: "resetZoom";
903
553
  label: string;
904
554
  icon: import("react/jsx-runtime").JSX.Element;
555
+ viewMode: true;
556
+ navigation: true;
905
557
  trackEvent: {
906
558
  category: "canvas";
907
559
  };
908
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
560
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
561
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
909
562
  appState: {
563
+ zoom: import("../types").Zoom;
910
564
  scrollX: number;
911
565
  scrollY: number;
912
- zoom: {
913
- value: import("../types").NormalizedZoomValue;
914
- };
915
566
  contextMenu: {
916
567
  items: import("../components/ContextMenu").ContextMenuItems;
917
568
  top: number;
@@ -929,8 +580,17 @@ export declare const actionZoomToFitSelection: {
929
580
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
930
581
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
931
582
  isBindingEnabled: boolean;
932
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
933
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
583
+ boxSelectionMode: import("../types").BoxSelectionMode;
584
+ bindingPreference: "enabled" | "disabled";
585
+ isMidpointSnappingEnabled: boolean;
586
+ suggestedBinding: {
587
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
588
+ midPoint?: import("@excalidraw/math").GlobalPoint;
589
+ } | null;
590
+ hoveredArrowTextAnchor: {
591
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
592
+ anchor: "start" | "end" | "label";
593
+ } | null;
934
594
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
935
595
  frameRendering: {
936
596
  enabled: boolean;
@@ -938,9 +598,9 @@ export declare const actionZoomToFitSelection: {
938
598
  outline: boolean;
939
599
  clip: boolean;
940
600
  };
941
- editingFrame: string | null;
942
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
943
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
601
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
602
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
603
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
944
604
  activeTool: {
945
605
  lastActiveTool: import("../types").ActiveTool | null;
946
606
  locked: boolean;
@@ -958,10 +618,11 @@ export declare const actionZoomToFitSelection: {
958
618
  exportScale: number;
959
619
  currentItemStrokeColor: string;
960
620
  currentItemBackgroundColor: string;
961
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
962
- currentItemStrokeWidth: number;
963
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
621
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
622
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
623
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
964
624
  currentItemRoughness: number;
625
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
965
626
  currentItemOpacity: number;
966
627
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
967
628
  currentItemFontSize: number;
@@ -972,6 +633,7 @@ export declare const actionZoomToFitSelection: {
972
633
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
973
634
  currentItemArrowType: "sharp" | "round" | "elbow";
974
635
  viewBackgroundColor: string;
636
+ scrollConstraints: import("../types").ScrollConstraints | null;
975
637
  cursorButton: "up" | "down";
976
638
  scrolledOutside: boolean;
977
639
  name: string | null;
@@ -994,7 +656,11 @@ export declare const actionZoomToFitSelection: {
994
656
  name: "settings";
995
657
  } | {
996
658
  name: "elementLinkSelector";
997
- sourceElementId: ExcalidrawElement["id"];
659
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
660
+ } | {
661
+ name: "charts";
662
+ data: import("../charts").Spreadsheet;
663
+ rawText: string;
998
664
  };
999
665
  defaultSidebarDockedPreference: boolean;
1000
666
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -1010,7 +676,7 @@ export declare const actionZoomToFitSelection: {
1010
676
  selectedElementsAreBeingDragged: boolean;
1011
677
  shouldCacheIgnoreZoom: boolean;
1012
678
  toast: {
1013
- message: string;
679
+ message: React.ReactNode;
1014
680
  closable?: boolean;
1015
681
  duration?: number;
1016
682
  } | null;
@@ -1028,20 +694,12 @@ export declare const actionZoomToFitSelection: {
1028
694
  height: number;
1029
695
  offsetTop: number;
1030
696
  offsetLeft: number;
1031
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
697
+ fileHandle: FileSystemFileHandle | null;
1032
698
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1033
699
  stats: {
1034
700
  open: boolean;
1035
701
  panels: number;
1036
702
  };
1037
- currentChartType: import("@excalidraw/element/types").ChartType;
1038
- pasteDialog: {
1039
- shown: false;
1040
- data: null;
1041
- } | {
1042
- shown: true;
1043
- data: import("../charts").Spreadsheet;
1044
- };
1045
703
  showHyperlinkPopup: false | "info" | "editor";
1046
704
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1047
705
  snapLines: readonly import("../snapping").SnapLine[];
@@ -1050,13 +708,10 @@ export declare const actionZoomToFitSelection: {
1050
708
  y: number;
1051
709
  } | null;
1052
710
  objectsSnapModeEnabled: boolean;
1053
- userToFollow: import("../types").UserToFollow | null;
1054
- followedBy: Set<import("../types").SocketId>;
1055
- scrollConstraints: import("../types").ScrollConstraints | null;
1056
711
  isCropping: boolean;
1057
- croppingElementId: ExcalidrawElement["id"] | null;
712
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1058
713
  searchMatches: Readonly<{
1059
- focusedId: ExcalidrawElement["id"] | null;
714
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1060
715
  matches: readonly import("../types").SearchMatch[];
1061
716
  }> | null;
1062
717
  activeLockedId: string | null;
@@ -1064,28 +719,34 @@ export declare const actionZoomToFitSelection: {
1064
719
  [groupId: string]: true;
1065
720
  };
1066
721
  bindMode: import("@excalidraw/element/types").BindMode;
722
+ colorTopPicks: {
723
+ elementStroke: readonly string[] | null;
724
+ elementBackground: readonly string[] | null;
725
+ bucketFill: readonly string[] | null;
726
+ };
1067
727
  };
1068
728
  captureUpdate: "EVENTUALLY";
1069
729
  };
730
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
1070
731
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1071
732
  } & {
1072
733
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1073
734
  };
1074
- export declare const actionZoomToFit: {
1075
- name: "zoomToFit";
735
+ export declare const actionZoomToFitSelectionInViewport: {
736
+ name: "zoomToFitSelectionInViewport";
1076
737
  label: string;
1077
738
  icon: import("react/jsx-runtime").JSX.Element;
1078
739
  viewMode: true;
740
+ navigation: true;
1079
741
  trackEvent: {
1080
742
  category: "canvas";
1081
743
  };
744
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1082
745
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1083
746
  appState: {
747
+ zoom: import("../types").Zoom;
1084
748
  scrollX: number;
1085
749
  scrollY: number;
1086
- zoom: {
1087
- value: import("../types").NormalizedZoomValue;
1088
- };
1089
750
  contextMenu: {
1090
751
  items: import("../components/ContextMenu").ContextMenuItems;
1091
752
  top: number;
@@ -1103,8 +764,17 @@ export declare const actionZoomToFit: {
1103
764
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1104
765
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1105
766
  isBindingEnabled: boolean;
1106
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1107
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
767
+ boxSelectionMode: import("../types").BoxSelectionMode;
768
+ bindingPreference: "enabled" | "disabled";
769
+ isMidpointSnappingEnabled: boolean;
770
+ suggestedBinding: {
771
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
772
+ midPoint?: import("@excalidraw/math").GlobalPoint;
773
+ } | null;
774
+ hoveredArrowTextAnchor: {
775
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
776
+ anchor: "start" | "end" | "label";
777
+ } | null;
1108
778
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1109
779
  frameRendering: {
1110
780
  enabled: boolean;
@@ -1112,9 +782,9 @@ export declare const actionZoomToFit: {
1112
782
  outline: boolean;
1113
783
  clip: boolean;
1114
784
  };
1115
- editingFrame: string | null;
1116
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1117
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
785
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
786
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
787
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1118
788
  activeTool: {
1119
789
  lastActiveTool: import("../types").ActiveTool | null;
1120
790
  locked: boolean;
@@ -1132,10 +802,11 @@ export declare const actionZoomToFit: {
1132
802
  exportScale: number;
1133
803
  currentItemStrokeColor: string;
1134
804
  currentItemBackgroundColor: string;
1135
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1136
- currentItemStrokeWidth: number;
1137
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
805
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
806
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
807
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1138
808
  currentItemRoughness: number;
809
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1139
810
  currentItemOpacity: number;
1140
811
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1141
812
  currentItemFontSize: number;
@@ -1146,6 +817,7 @@ export declare const actionZoomToFit: {
1146
817
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1147
818
  currentItemArrowType: "sharp" | "round" | "elbow";
1148
819
  viewBackgroundColor: string;
820
+ scrollConstraints: import("../types").ScrollConstraints | null;
1149
821
  cursorButton: "up" | "down";
1150
822
  scrolledOutside: boolean;
1151
823
  name: string | null;
@@ -1168,7 +840,11 @@ export declare const actionZoomToFit: {
1168
840
  name: "settings";
1169
841
  } | {
1170
842
  name: "elementLinkSelector";
1171
- sourceElementId: ExcalidrawElement["id"];
843
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
844
+ } | {
845
+ name: "charts";
846
+ data: import("../charts").Spreadsheet;
847
+ rawText: string;
1172
848
  };
1173
849
  defaultSidebarDockedPreference: boolean;
1174
850
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -1184,7 +860,7 @@ export declare const actionZoomToFit: {
1184
860
  selectedElementsAreBeingDragged: boolean;
1185
861
  shouldCacheIgnoreZoom: boolean;
1186
862
  toast: {
1187
- message: string;
863
+ message: React.ReactNode;
1188
864
  closable?: boolean;
1189
865
  duration?: number;
1190
866
  } | null;
@@ -1202,20 +878,12 @@ export declare const actionZoomToFit: {
1202
878
  height: number;
1203
879
  offsetTop: number;
1204
880
  offsetLeft: number;
1205
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
881
+ fileHandle: FileSystemFileHandle | null;
1206
882
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1207
883
  stats: {
1208
884
  open: boolean;
1209
885
  panels: number;
1210
886
  };
1211
- currentChartType: import("@excalidraw/element/types").ChartType;
1212
- pasteDialog: {
1213
- shown: false;
1214
- data: null;
1215
- } | {
1216
- shown: true;
1217
- data: import("../charts").Spreadsheet;
1218
- };
1219
887
  showHyperlinkPopup: false | "info" | "editor";
1220
888
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1221
889
  snapLines: readonly import("../snapping").SnapLine[];
@@ -1224,13 +892,10 @@ export declare const actionZoomToFit: {
1224
892
  y: number;
1225
893
  } | null;
1226
894
  objectsSnapModeEnabled: boolean;
1227
- userToFollow: import("../types").UserToFollow | null;
1228
- followedBy: Set<import("../types").SocketId>;
1229
- scrollConstraints: import("../types").ScrollConstraints | null;
1230
895
  isCropping: boolean;
1231
- croppingElementId: ExcalidrawElement["id"] | null;
896
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1232
897
  searchMatches: Readonly<{
1233
- focusedId: ExcalidrawElement["id"] | null;
898
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1234
899
  matches: readonly import("../types").SearchMatch[];
1235
900
  }> | null;
1236
901
  activeLockedId: string | null;
@@ -1238,6 +903,11 @@ export declare const actionZoomToFit: {
1238
903
  [groupId: string]: true;
1239
904
  };
1240
905
  bindMode: import("@excalidraw/element/types").BindMode;
906
+ colorTopPicks: {
907
+ elementStroke: readonly string[] | null;
908
+ elementBackground: readonly string[] | null;
909
+ bucketFill: readonly string[] | null;
910
+ };
1241
911
  };
1242
912
  captureUpdate: "EVENTUALLY";
1243
913
  };
@@ -1245,25 +915,21 @@ export declare const actionZoomToFit: {
1245
915
  } & {
1246
916
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1247
917
  };
1248
- export declare const actionToggleTheme: import("./types").Action<import("@excalidraw/element/types").Theme> & {
1249
- keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
1250
- };
1251
- export declare const actionToggleEraserTool: {
1252
- name: "toggleEraserTool";
918
+ export declare const actionZoomToFitSelection: {
919
+ name: "zoomToFitSelection";
1253
920
  label: string;
921
+ icon: import("react/jsx-runtime").JSX.Element;
922
+ viewMode: true;
923
+ navigation: true;
1254
924
  trackEvent: {
1255
- category: "toolbar";
925
+ category: "canvas";
1256
926
  };
927
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1257
928
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1258
929
  appState: {
1259
- selectedElementIds: {};
1260
- selectedGroupIds: {};
1261
- activeEmbeddable: null;
1262
- activeTool: {
1263
- lastActiveTool: import("../types").ActiveTool | null;
1264
- locked: boolean;
1265
- fromSelection: boolean;
1266
- } & import("../types").ActiveTool;
930
+ zoom: import("../types").Zoom;
931
+ scrollX: number;
932
+ scrollY: number;
1267
933
  contextMenu: {
1268
934
  items: import("../components/ContextMenu").ContextMenuItems;
1269
935
  top: number;
@@ -1272,13 +938,26 @@ export declare const actionToggleEraserTool: {
1272
938
  showWelcomeScreen: boolean;
1273
939
  isLoading: boolean;
1274
940
  errorMessage: React.ReactNode;
941
+ activeEmbeddable: {
942
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
943
+ state: "hover" | "active";
944
+ } | null;
1275
945
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1276
946
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1277
947
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1278
948
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1279
949
  isBindingEnabled: boolean;
1280
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1281
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
950
+ boxSelectionMode: import("../types").BoxSelectionMode;
951
+ bindingPreference: "enabled" | "disabled";
952
+ isMidpointSnappingEnabled: boolean;
953
+ suggestedBinding: {
954
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
955
+ midPoint?: import("@excalidraw/math").GlobalPoint;
956
+ } | null;
957
+ hoveredArrowTextAnchor: {
958
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
959
+ anchor: "start" | "end" | "label";
960
+ } | null;
1282
961
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1283
962
  frameRendering: {
1284
963
  enabled: boolean;
@@ -1286,9 +965,14 @@ export declare const actionToggleEraserTool: {
1286
965
  outline: boolean;
1287
966
  clip: boolean;
1288
967
  };
1289
- editingFrame: string | null;
1290
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1291
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
968
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
969
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
970
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
971
+ activeTool: {
972
+ lastActiveTool: import("../types").ActiveTool | null;
973
+ locked: boolean;
974
+ fromSelection: boolean;
975
+ } & import("../types").ActiveTool;
1292
976
  preferredSelectionTool: {
1293
977
  type: "selection" | "lasso";
1294
978
  initialized: boolean;
@@ -1301,10 +985,11 @@ export declare const actionToggleEraserTool: {
1301
985
  exportScale: number;
1302
986
  currentItemStrokeColor: string;
1303
987
  currentItemBackgroundColor: string;
1304
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1305
- currentItemStrokeWidth: number;
1306
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
988
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
989
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
990
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1307
991
  currentItemRoughness: number;
992
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1308
993
  currentItemOpacity: number;
1309
994
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1310
995
  currentItemFontSize: number;
@@ -1315,14 +1000,12 @@ export declare const actionToggleEraserTool: {
1315
1000
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1316
1001
  currentItemArrowType: "sharp" | "round" | "elbow";
1317
1002
  viewBackgroundColor: string;
1318
- scrollX: number;
1319
- scrollY: number;
1003
+ scrollConstraints: import("../types").ScrollConstraints | null;
1320
1004
  cursorButton: "up" | "down";
1321
1005
  scrolledOutside: boolean;
1322
1006
  name: string | null;
1323
1007
  isResizing: boolean;
1324
1008
  isRotating: boolean;
1325
- zoom: import("../types").Zoom;
1326
1009
  openMenu: "canvas" | null;
1327
1010
  openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1328
1011
  openSidebar: {
@@ -1340,10 +1023,17 @@ export declare const actionToggleEraserTool: {
1340
1023
  name: "settings";
1341
1024
  } | {
1342
1025
  name: "elementLinkSelector";
1343
- sourceElementId: ExcalidrawElement["id"];
1026
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1027
+ } | {
1028
+ name: "charts";
1029
+ data: import("../charts").Spreadsheet;
1030
+ rawText: string;
1344
1031
  };
1345
1032
  defaultSidebarDockedPreference: boolean;
1346
1033
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1034
+ selectedElementIds: Readonly<{
1035
+ [id: string]: true;
1036
+ }>;
1347
1037
  hoveredElementIds: Readonly<{
1348
1038
  [id: string]: true;
1349
1039
  }>;
@@ -1353,7 +1043,7 @@ export declare const actionToggleEraserTool: {
1353
1043
  selectedElementsAreBeingDragged: boolean;
1354
1044
  shouldCacheIgnoreZoom: boolean;
1355
1045
  toast: {
1356
- message: string;
1046
+ message: React.ReactNode;
1357
1047
  closable?: boolean;
1358
1048
  duration?: number;
1359
1049
  } | null;
@@ -1363,25 +1053,20 @@ export declare const actionToggleEraserTool: {
1363
1053
  gridStep: number;
1364
1054
  gridModeEnabled: boolean;
1365
1055
  viewModeEnabled: boolean;
1056
+ selectedGroupIds: {
1057
+ [groupId: string]: boolean;
1058
+ };
1366
1059
  editingGroupId: import("@excalidraw/element/types").GroupId | null;
1367
1060
  width: number;
1368
1061
  height: number;
1369
1062
  offsetTop: number;
1370
1063
  offsetLeft: number;
1371
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1064
+ fileHandle: FileSystemFileHandle | null;
1372
1065
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1373
1066
  stats: {
1374
1067
  open: boolean;
1375
1068
  panels: number;
1376
1069
  };
1377
- currentChartType: import("@excalidraw/element/types").ChartType;
1378
- pasteDialog: {
1379
- shown: false;
1380
- data: null;
1381
- } | {
1382
- shown: true;
1383
- data: import("../charts").Spreadsheet;
1384
- };
1385
1070
  showHyperlinkPopup: false | "info" | "editor";
1386
1071
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1387
1072
  snapLines: readonly import("../snapping").SnapLine[];
@@ -1390,13 +1075,10 @@ export declare const actionToggleEraserTool: {
1390
1075
  y: number;
1391
1076
  } | null;
1392
1077
  objectsSnapModeEnabled: boolean;
1393
- userToFollow: import("../types").UserToFollow | null;
1394
- followedBy: Set<import("../types").SocketId>;
1395
- scrollConstraints: import("../types").ScrollConstraints | null;
1396
1078
  isCropping: boolean;
1397
- croppingElementId: ExcalidrawElement["id"] | null;
1079
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1398
1080
  searchMatches: Readonly<{
1399
- focusedId: ExcalidrawElement["id"] | null;
1081
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1400
1082
  matches: readonly import("../types").SearchMatch[];
1401
1083
  }> | null;
1402
1084
  activeLockedId: string | null;
@@ -1404,31 +1086,33 @@ export declare const actionToggleEraserTool: {
1404
1086
  [groupId: string]: true;
1405
1087
  };
1406
1088
  bindMode: import("@excalidraw/element/types").BindMode;
1089
+ colorTopPicks: {
1090
+ elementStroke: readonly string[] | null;
1091
+ elementBackground: readonly string[] | null;
1092
+ bucketFill: readonly string[] | null;
1093
+ };
1407
1094
  };
1408
- captureUpdate: "IMMEDIATELY";
1095
+ captureUpdate: "EVENTUALLY";
1409
1096
  };
1410
1097
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1411
1098
  } & {
1412
1099
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1413
1100
  };
1414
- export declare const actionToggleLassoTool: {
1415
- name: "toggleLassoTool";
1101
+ export declare const actionZoomToFit: {
1102
+ name: "zoomToFit";
1416
1103
  label: string;
1417
1104
  icon: import("react/jsx-runtime").JSX.Element;
1105
+ viewMode: true;
1106
+ navigation: true;
1418
1107
  trackEvent: {
1419
- category: "toolbar";
1108
+ category: "canvas";
1420
1109
  };
1421
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1110
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1422
1111
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1423
1112
  appState: {
1424
- selectedElementIds: {};
1425
- selectedGroupIds: {};
1426
- activeEmbeddable: null;
1427
- activeTool: {
1428
- lastActiveTool: import("../types").ActiveTool | null;
1429
- locked: boolean;
1430
- fromSelection: boolean;
1431
- } & import("../types").ActiveTool;
1113
+ zoom: import("../types").Zoom;
1114
+ scrollX: number;
1115
+ scrollY: number;
1432
1116
  contextMenu: {
1433
1117
  items: import("../components/ContextMenu").ContextMenuItems;
1434
1118
  top: number;
@@ -1437,13 +1121,26 @@ export declare const actionToggleLassoTool: {
1437
1121
  showWelcomeScreen: boolean;
1438
1122
  isLoading: boolean;
1439
1123
  errorMessage: React.ReactNode;
1124
+ activeEmbeddable: {
1125
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1126
+ state: "hover" | "active";
1127
+ } | null;
1440
1128
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1441
1129
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1442
1130
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1443
1131
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1444
1132
  isBindingEnabled: boolean;
1445
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1446
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1133
+ boxSelectionMode: import("../types").BoxSelectionMode;
1134
+ bindingPreference: "enabled" | "disabled";
1135
+ isMidpointSnappingEnabled: boolean;
1136
+ suggestedBinding: {
1137
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1138
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1139
+ } | null;
1140
+ hoveredArrowTextAnchor: {
1141
+ elementId: import("@excalidraw/element/types").ExcalidrawArrowElement["id"];
1142
+ anchor: "start" | "end" | "label";
1143
+ } | null;
1447
1144
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1448
1145
  frameRendering: {
1449
1146
  enabled: boolean;
@@ -1451,173 +1148,14 @@ export declare const actionToggleLassoTool: {
1451
1148
  outline: boolean;
1452
1149
  clip: boolean;
1453
1150
  };
1454
- editingFrame: string | null;
1455
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1456
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1457
- preferredSelectionTool: {
1458
- type: "selection" | "lasso";
1459
- initialized: boolean;
1460
- };
1461
- penMode: boolean;
1462
- penDetected: boolean;
1463
- exportBackground: boolean;
1464
- exportEmbedScene: boolean;
1465
- exportWithDarkMode: boolean;
1466
- exportScale: number;
1467
- currentItemStrokeColor: string;
1468
- currentItemBackgroundColor: string;
1469
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1470
- currentItemStrokeWidth: number;
1471
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1472
- currentItemRoughness: number;
1473
- currentItemOpacity: number;
1474
- currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1475
- currentItemFontSize: number;
1476
- currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1477
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1478
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1479
- currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1480
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1481
- currentItemArrowType: "sharp" | "round" | "elbow";
1482
- viewBackgroundColor: string;
1483
- scrollX: number;
1484
- scrollY: number;
1485
- cursorButton: "up" | "down";
1486
- scrolledOutside: boolean;
1487
- name: string | null;
1488
- isResizing: boolean;
1489
- isRotating: boolean;
1490
- zoom: import("../types").Zoom;
1491
- openMenu: "canvas" | null;
1492
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1493
- openSidebar: {
1494
- name: import("../types").SidebarName;
1495
- tab?: import("../types").SidebarTabName;
1496
- } | null;
1497
- openDialog: null | {
1498
- name: "imageExport" | "help" | "jsonExport";
1499
- } | {
1500
- name: "ttd";
1501
- tab: "text-to-diagram" | "mermaid";
1502
- } | {
1503
- name: "commandPalette";
1504
- } | {
1505
- name: "settings";
1506
- } | {
1507
- name: "elementLinkSelector";
1508
- sourceElementId: ExcalidrawElement["id"];
1509
- };
1510
- defaultSidebarDockedPreference: boolean;
1511
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1512
- hoveredElementIds: Readonly<{
1513
- [id: string]: true;
1514
- }>;
1515
- previousSelectedElementIds: {
1516
- [id: string]: true;
1517
- };
1518
- selectedElementsAreBeingDragged: boolean;
1519
- shouldCacheIgnoreZoom: boolean;
1520
- toast: {
1521
- message: string;
1522
- closable?: boolean;
1523
- duration?: number;
1524
- } | null;
1525
- zenModeEnabled: boolean;
1526
- theme: import("@excalidraw/element/types").Theme;
1527
- gridSize: number;
1528
- gridStep: number;
1529
- gridModeEnabled: boolean;
1530
- viewModeEnabled: boolean;
1531
- editingGroupId: import("@excalidraw/element/types").GroupId | null;
1532
- width: number;
1533
- height: number;
1534
- offsetTop: number;
1535
- offsetLeft: number;
1536
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1537
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1538
- stats: {
1539
- open: boolean;
1540
- panels: number;
1541
- };
1542
- currentChartType: import("@excalidraw/element/types").ChartType;
1543
- pasteDialog: {
1544
- shown: false;
1545
- data: null;
1546
- } | {
1547
- shown: true;
1548
- data: import("../charts").Spreadsheet;
1549
- };
1550
- showHyperlinkPopup: false | "info" | "editor";
1551
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1552
- snapLines: readonly import("../snapping").SnapLine[];
1553
- originSnapOffset: {
1554
- x: number;
1555
- y: number;
1556
- } | null;
1557
- objectsSnapModeEnabled: boolean;
1558
- userToFollow: import("../types").UserToFollow | null;
1559
- followedBy: Set<import("../types").SocketId>;
1560
- scrollConstraints: import("../types").ScrollConstraints | null;
1561
- isCropping: boolean;
1562
- croppingElementId: ExcalidrawElement["id"] | null;
1563
- searchMatches: Readonly<{
1564
- focusedId: ExcalidrawElement["id"] | null;
1565
- matches: readonly import("../types").SearchMatch[];
1566
- }> | null;
1567
- activeLockedId: string | null;
1568
- lockedMultiSelections: {
1569
- [groupId: string]: true;
1570
- };
1571
- bindMode: import("@excalidraw/element/types").BindMode;
1572
- };
1573
- captureUpdate: "NEVER";
1574
- };
1575
- } & {
1576
- keyTest?: undefined;
1577
- };
1578
- export declare const actionToggleHandTool: {
1579
- name: "toggleHandTool";
1580
- label: string;
1581
- trackEvent: {
1582
- category: "toolbar";
1583
- };
1584
- icon: import("react/jsx-runtime").JSX.Element;
1585
- viewMode: false;
1586
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1587
- appState: {
1588
- selectedElementIds: {};
1589
- selectedGroupIds: {};
1590
- activeEmbeddable: null;
1151
+ editingFrame: import("@excalidraw/element/types").ExcalidrawFrameLikeElement["id"] | null;
1152
+ elementsToHighlight: readonly import("@excalidraw/element/types").NonDeletedExcalidrawElement[] | null;
1153
+ editingTextElement: import("@excalidraw/element/types").ExcalidrawTextElement | null;
1591
1154
  activeTool: {
1592
1155
  lastActiveTool: import("../types").ActiveTool | null;
1593
1156
  locked: boolean;
1594
1157
  fromSelection: boolean;
1595
1158
  } & import("../types").ActiveTool;
1596
- contextMenu: {
1597
- items: import("../components/ContextMenu").ContextMenuItems;
1598
- top: number;
1599
- left: number;
1600
- } | null;
1601
- showWelcomeScreen: boolean;
1602
- isLoading: boolean;
1603
- errorMessage: React.ReactNode;
1604
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1605
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1606
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1607
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1608
- isBindingEnabled: boolean;
1609
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1610
- suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1611
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1612
- frameRendering: {
1613
- enabled: boolean;
1614
- name: boolean;
1615
- outline: boolean;
1616
- clip: boolean;
1617
- };
1618
- editingFrame: string | null;
1619
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1620
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1621
1159
  preferredSelectionTool: {
1622
1160
  type: "selection" | "lasso";
1623
1161
  initialized: boolean;
@@ -1630,10 +1168,11 @@ export declare const actionToggleHandTool: {
1630
1168
  exportScale: number;
1631
1169
  currentItemStrokeColor: string;
1632
1170
  currentItemBackgroundColor: string;
1633
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
1634
- currentItemStrokeWidth: number;
1635
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1171
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
1172
+ currentItemStrokeWidthKey: import("@excalidraw/common").StrokeWidthKey;
1173
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
1636
1174
  currentItemRoughness: number;
1175
+ currentItemStrokeVariability: import("@excalidraw/element/types").StrokeVariability;
1637
1176
  currentItemOpacity: number;
1638
1177
  currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1639
1178
  currentItemFontSize: number;
@@ -1644,14 +1183,12 @@ export declare const actionToggleHandTool: {
1644
1183
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1645
1184
  currentItemArrowType: "sharp" | "round" | "elbow";
1646
1185
  viewBackgroundColor: string;
1647
- scrollX: number;
1648
- scrollY: number;
1186
+ scrollConstraints: import("../types").ScrollConstraints | null;
1649
1187
  cursorButton: "up" | "down";
1650
1188
  scrolledOutside: boolean;
1651
1189
  name: string | null;
1652
1190
  isResizing: boolean;
1653
1191
  isRotating: boolean;
1654
- zoom: import("../types").Zoom;
1655
1192
  openMenu: "canvas" | null;
1656
1193
  openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1657
1194
  openSidebar: {
@@ -1669,10 +1206,17 @@ export declare const actionToggleHandTool: {
1669
1206
  name: "settings";
1670
1207
  } | {
1671
1208
  name: "elementLinkSelector";
1672
- sourceElementId: ExcalidrawElement["id"];
1209
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
1210
+ } | {
1211
+ name: "charts";
1212
+ data: import("../charts").Spreadsheet;
1213
+ rawText: string;
1673
1214
  };
1674
1215
  defaultSidebarDockedPreference: boolean;
1675
1216
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1217
+ selectedElementIds: Readonly<{
1218
+ [id: string]: true;
1219
+ }>;
1676
1220
  hoveredElementIds: Readonly<{
1677
1221
  [id: string]: true;
1678
1222
  }>;
@@ -1682,7 +1226,7 @@ export declare const actionToggleHandTool: {
1682
1226
  selectedElementsAreBeingDragged: boolean;
1683
1227
  shouldCacheIgnoreZoom: boolean;
1684
1228
  toast: {
1685
- message: string;
1229
+ message: React.ReactNode;
1686
1230
  closable?: boolean;
1687
1231
  duration?: number;
1688
1232
  } | null;
@@ -1692,25 +1236,20 @@ export declare const actionToggleHandTool: {
1692
1236
  gridStep: number;
1693
1237
  gridModeEnabled: boolean;
1694
1238
  viewModeEnabled: boolean;
1239
+ selectedGroupIds: {
1240
+ [groupId: string]: boolean;
1241
+ };
1695
1242
  editingGroupId: import("@excalidraw/element/types").GroupId | null;
1696
1243
  width: number;
1697
1244
  height: number;
1698
1245
  offsetTop: number;
1699
1246
  offsetLeft: number;
1700
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1247
+ fileHandle: FileSystemFileHandle | null;
1701
1248
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1702
1249
  stats: {
1703
1250
  open: boolean;
1704
1251
  panels: number;
1705
1252
  };
1706
- currentChartType: import("@excalidraw/element/types").ChartType;
1707
- pasteDialog: {
1708
- shown: false;
1709
- data: null;
1710
- } | {
1711
- shown: true;
1712
- data: import("../charts").Spreadsheet;
1713
- };
1714
1253
  showHyperlinkPopup: false | "info" | "editor";
1715
1254
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1716
1255
  snapLines: readonly import("../snapping").SnapLine[];
@@ -1719,13 +1258,10 @@ export declare const actionToggleHandTool: {
1719
1258
  y: number;
1720
1259
  } | null;
1721
1260
  objectsSnapModeEnabled: boolean;
1722
- userToFollow: import("../types").UserToFollow | null;
1723
- followedBy: Set<import("../types").SocketId>;
1724
- scrollConstraints: import("../types").ScrollConstraints | null;
1725
1261
  isCropping: boolean;
1726
- croppingElementId: ExcalidrawElement["id"] | null;
1262
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1727
1263
  searchMatches: Readonly<{
1728
- focusedId: ExcalidrawElement["id"] | null;
1264
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
1729
1265
  matches: readonly import("../types").SearchMatch[];
1730
1266
  }> | null;
1731
1267
  activeLockedId: string | null;
@@ -1733,10 +1269,18 @@ export declare const actionToggleHandTool: {
1733
1269
  [groupId: string]: true;
1734
1270
  };
1735
1271
  bindMode: import("@excalidraw/element/types").BindMode;
1272
+ colorTopPicks: {
1273
+ elementStroke: readonly string[] | null;
1274
+ elementBackground: readonly string[] | null;
1275
+ bucketFill: readonly string[] | null;
1276
+ };
1736
1277
  };
1737
- captureUpdate: "IMMEDIATELY";
1278
+ captureUpdate: "EVENTUALLY";
1738
1279
  };
1739
1280
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1740
1281
  } & {
1741
1282
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1742
1283
  };
1284
+ export declare const actionToggleTheme: import("./types").Action<import("@excalidraw/element/types").Theme> & {
1285
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
1286
+ };