@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
@@ -11,6 +11,7 @@ export declare class ActionManager {
11
11
  constructor(updater: UpdaterFn, getAppState: () => AppState, getElementsIncludingDeleted: () => readonly OrderedExcalidrawElement[], app: AppClassProperties);
12
12
  registerAction(action: Action): void;
13
13
  registerAll(actions: readonly Action[]): void;
14
+ private isActionBlockedByViewportTransition;
14
15
  handleKeyDown(event: React.KeyboardEvent | KeyboardEvent): boolean;
15
16
  executeAction<T extends Action>(action: T, source?: ActionSource, value?: Parameters<T["perform"]>[2]): void;
16
17
  /**
@@ -1,4 +1,4 @@
1
1
  import type { SubtypeOf } from "@excalidraw/common/utility-types";
2
2
  import type { ActionName } from "./types";
3
- export type ShortcutName = SubtypeOf<ActionName, "toggleTheme" | "loadScene" | "clearCanvas" | "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "group" | "ungroup" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical" | "hyperlink" | "toggleElementLock" | "resetZoom" | "zoomOut" | "zoomIn" | "zoomToFit" | "zoomToFitSelectionInViewport" | "zoomToFitSelection" | "toggleEraserTool" | "toggleHandTool" | "setFrameAsActiveTool" | "saveFileToDisk" | "saveToActiveFile" | "toggleShortcuts" | "wrapSelectionInFrame"> | "saveScene" | "imageExport" | "commandPalette" | "searchMenu";
3
+ export type ShortcutName = SubtypeOf<ActionName, "toggleTheme" | "loadScene" | "clearCanvas" | "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "group" | "ungroup" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical" | "hyperlink" | "toggleElementLock" | "resetZoom" | "zoomOut" | "zoomIn" | "zoomToFit" | "zoomToFitSelectionInViewport" | "zoomToFitSelection" | "saveFileToDisk" | "saveToActiveFile" | "toggleShortcuts" | "wrapSelectionInFrame"> | "saveScene" | "imageExport" | "commandPalette" | "searchMenu" | "toolLock";
4
4
  export declare const getShortcutFromShortcutName: (name: ShortcutName, idx?: number) => string;
@@ -14,10 +14,10 @@ export type ActionResult = {
14
14
  type ActionFn<TData = any> = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: TData | undefined, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
15
15
  export type UpdaterFn = (res: ActionResult) => void;
16
16
  export type ActionFilterFn = (action: Action) => void;
17
- export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
17
+ export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "arrowBinding" | "midpointSnapping" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeBucketFillBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeSloppiness" | "changeFreedrawMode" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "deselect" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleShapeSwitch" | "togglePolygon";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly ExcalidrawElement[];
20
- appState: AppState;
20
+ appState: UIAppState;
21
21
  updateData: <T = any>(formData?: T) => void;
22
22
  appProps: ExcalidrawProps;
23
23
  data?: Record<string, any>;
@@ -26,7 +26,7 @@ export type PanelComponentProps = {
26
26
  };
27
27
  export interface Action<TData = any> {
28
28
  name: ActionName;
29
- label: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, app: AppClassProperties) => string);
29
+ label: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<UIAppState>, app: AppClassProperties) => string);
30
30
  keywords?: string[];
31
31
  icon?: React.ReactNode | ((appState: UIAppState, elements: readonly ExcalidrawElement[]) => React.ReactNode);
32
32
  PanelComponent?: React.FC<PanelComponentProps>;
@@ -34,7 +34,7 @@ export interface Action<TData = any> {
34
34
  keyPriority?: number;
35
35
  keyTest?: (event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean;
36
36
  predicate?: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: ExcalidrawProps, app: AppClassProperties) => boolean;
37
- checked?: (appState: Readonly<AppState>) => boolean;
37
+ checked?: (appState: Readonly<UIAppState>) => boolean;
38
38
  trackEvent: false | {
39
39
  category: "toolbar" | "element" | "canvas" | "export" | "history" | "menu" | "collab" | "hyperlink" | "search_menu" | "shape_switch";
40
40
  action?: string;
@@ -43,5 +43,9 @@ export interface Action<TData = any> {
43
43
  /** if set to `true`, allow action to be performed in viewMode.
44
44
  * Defaults to `false` */
45
45
  viewMode?: boolean;
46
+ /** if set to `true`, the action counts as canvas navigation and remains
47
+ * available in the non-interactive editor when
48
+ * `interaction: { enabled: { navigation: true } }`. Defaults to `false` */
49
+ navigation?: boolean;
46
50
  }
47
51
  export {};
@@ -1,6 +1,5 @@
1
1
  import { LaserPointer } from "@excalidraw/laser-pointer";
2
2
  import type { LaserPointerOptions } from "@excalidraw/laser-pointer";
3
- import type { AnimationFrameHandler } from "./animation-frame-handler";
4
3
  import type App from "./components/App";
5
4
  export interface Trail {
6
5
  start(container: SVGSVGElement): void;
@@ -15,7 +14,6 @@ export interface AnimatedTrailOptions {
15
14
  animateTrail?: boolean;
16
15
  }
17
16
  export declare class AnimatedTrail implements Trail {
18
- private animationFrameHandler;
19
17
  protected app: App;
20
18
  private options;
21
19
  private currentTrail?;
@@ -23,9 +21,12 @@ export declare class AnimatedTrail implements Trail {
23
21
  private container?;
24
22
  private trailElement;
25
23
  private trailAnimation?;
26
- constructor(animationFrameHandler: AnimationFrameHandler, app: App, options: Partial<LaserPointerOptions> & Partial<AnimatedTrailOptions>);
24
+ private key;
25
+ private static counter;
26
+ constructor(app: App, options: Partial<LaserPointerOptions> & Partial<AnimatedTrailOptions>);
27
27
  get hasCurrentTrail(): boolean;
28
28
  hasLastPoint(x: number, y: number): boolean;
29
+ private cleanup;
29
30
  start(container?: SVGSVGElement): void;
30
31
  stop(): void;
31
32
  startPath(x: number, y: number): void;
@@ -1,19 +1,39 @@
1
1
  import type { AppState } from "./types";
2
- export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height" | "scrollConstraints">;
2
+ export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
3
  export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
4
  theme?: import("@excalidraw/element/types").Theme | undefined;
5
5
  viewBackgroundColor?: string | undefined;
6
- scrollX?: number | undefined;
7
- scrollY?: number | undefined;
6
+ name?: string | null | undefined;
8
7
  zoom?: Readonly<{
9
8
  value: import("./types").NormalizedZoomValue;
10
9
  }> | undefined;
11
- showWelcomeScreen?: boolean | undefined;
10
+ scrollX?: number | undefined;
11
+ scrollY?: number | undefined;
12
+ editingGroupId?: string | null | undefined;
13
+ selectedElementIds?: Readonly<{
14
+ [id: string]: true;
15
+ }> | undefined;
12
16
  activeTool?: ({
13
17
  lastActiveTool: import("./types").ActiveTool | null;
14
18
  locked: boolean;
15
19
  fromSelection: boolean;
16
20
  } & import("./types").ActiveTool) | undefined;
21
+ selectedGroupIds?: {
22
+ [groupId: string]: boolean;
23
+ } | undefined;
24
+ selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
25
+ isBindingEnabled?: boolean | undefined;
26
+ isMidpointSnappingEnabled?: boolean | undefined;
27
+ gridModeEnabled?: boolean | undefined;
28
+ zenModeEnabled?: boolean | undefined;
29
+ shouldCacheIgnoreZoom?: boolean | undefined;
30
+ exportScale?: number | undefined;
31
+ currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
32
+ gridSize?: number | undefined;
33
+ bindMode?: import("@excalidraw/element/types").BindMode | undefined;
34
+ showWelcomeScreen?: boolean | undefined;
35
+ boxSelectionMode?: import("./types").BoxSelectionMode | undefined;
36
+ bindingPreference?: "enabled" | "disabled" | undefined;
17
37
  preferredSelectionTool?: {
18
38
  type: "selection" | "lasso";
19
39
  initialized: boolean;
@@ -23,13 +43,13 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
23
43
  exportBackground?: boolean | undefined;
24
44
  exportEmbedScene?: boolean | undefined;
25
45
  exportWithDarkMode?: boolean | undefined;
26
- exportScale?: number | undefined;
27
46
  currentItemStrokeColor?: string | undefined;
28
47
  currentItemBackgroundColor?: string | undefined;
29
48
  currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
30
- currentItemStrokeWidth?: number | undefined;
49
+ currentItemStrokeWidthKey?: import("@excalidraw/common").StrokeWidthKey | undefined;
31
50
  currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
32
51
  currentItemRoughness?: number | undefined;
52
+ currentItemStrokeVariability?: import("@excalidraw/element/types").StrokeVariability | undefined;
33
53
  currentItemOpacity?: number | undefined;
34
54
  currentItemFontFamily?: number | undefined;
35
55
  currentItemFontSize?: number | undefined;
@@ -37,10 +57,8 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
37
57
  currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
38
58
  currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
39
59
  currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
40
- currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
41
60
  cursorButton?: "up" | "down" | undefined;
42
61
  scrolledOutside?: boolean | undefined;
43
- name?: string | null | undefined;
44
62
  openMenu?: "canvas" | null | undefined;
45
63
  openSidebar?: {
46
64
  name: import("./types").SidebarName;
@@ -48,47 +66,38 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
48
66
  } | null | undefined;
49
67
  defaultSidebarDockedPreference?: boolean | undefined;
50
68
  lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
51
- selectedElementIds?: Readonly<{
52
- [id: string]: true;
53
- }> | undefined;
54
69
  previousSelectedElementIds?: {
55
70
  [id: string]: true;
56
71
  } | undefined;
57
- shouldCacheIgnoreZoom?: boolean | undefined;
58
- zenModeEnabled?: boolean | undefined;
59
- gridSize?: number | undefined;
60
72
  gridStep?: number | undefined;
61
- gridModeEnabled?: boolean | undefined;
62
- selectedGroupIds?: {
63
- [groupId: string]: boolean;
64
- } | undefined;
65
- editingGroupId?: string | null | undefined;
66
73
  stats?: {
67
74
  open: boolean;
68
75
  panels: number;
69
76
  } | undefined;
70
- currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
71
- selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
72
77
  objectsSnapModeEnabled?: boolean | undefined;
73
78
  lockedMultiSelections?: {
74
79
  [groupId: string]: true;
75
80
  } | undefined;
76
- bindMode?: import("@excalidraw/element/types").BindMode | undefined;
81
+ colorTopPicks?: {
82
+ elementStroke: readonly string[] | null;
83
+ elementBackground: readonly string[] | null;
84
+ bucketFill: readonly string[] | null;
85
+ } | undefined;
77
86
  };
78
87
  export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
79
88
  viewBackgroundColor?: string | undefined;
89
+ gridModeEnabled?: boolean | undefined;
80
90
  gridSize?: number | undefined;
81
91
  gridStep?: number | undefined;
82
- gridModeEnabled?: boolean | undefined;
83
92
  lockedMultiSelections?: {
84
93
  [groupId: string]: true;
85
94
  } | undefined;
86
95
  };
87
96
  export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
88
97
  viewBackgroundColor?: string | undefined;
98
+ gridModeEnabled?: boolean | undefined;
89
99
  gridSize?: number | undefined;
90
100
  gridStep?: number | undefined;
91
- gridModeEnabled?: boolean | undefined;
92
101
  lockedMultiSelections?: {
93
102
  [groupId: string]: true;
94
103
  } | undefined;
@@ -0,0 +1,2 @@
1
+ import type { ChartElements, Spreadsheet } from "./charts.types";
2
+ export declare const renderBarChart: (spreadsheet: Spreadsheet, x: number, y: number, colorSeed?: number) => ChartElements;
@@ -0,0 +1,48 @@
1
+ import type { Radians } from "@excalidraw/math";
2
+ export declare const CARTESIAN_BASE_SLOT_WIDTH = 44;
3
+ export declare const CARTESIAN_BAR_SLOT_EXTRA_PER_SERIES = 22;
4
+ export declare const CARTESIAN_BAR_SLOT_EXTRA_MAX = 66;
5
+ export declare const CARTESIAN_LINE_SLOT_WIDTH = 48;
6
+ export declare const CARTESIAN_GAP = 14;
7
+ export declare const CARTESIAN_BAR_HEIGHT = 304;
8
+ export declare const CARTESIAN_LINE_HEIGHT = 320;
9
+ export declare const CARTESIAN_LABEL_ROTATION: Radians;
10
+ export declare const CARTESIAN_LABEL_MIN_WIDTH = 28;
11
+ export declare const CARTESIAN_LABEL_SLOT_PADDING = 4;
12
+ export declare const CARTESIAN_LABEL_AXIS_CLEARANCE = 2;
13
+ export declare const CARTESIAN_LABEL_MAX_WIDTH_BUFFER = 10;
14
+ export declare const CARTESIAN_LABEL_ROTATED_WIDTH_BUFFER = 10;
15
+ export declare const CARTESIAN_LABEL_OVERFLOW_PREFERENCE_BUFFER = 8;
16
+ export declare const BAR_GAP = 12;
17
+ export declare const BAR_HEIGHT = 256;
18
+ export declare const GRID_OPACITY = 10;
19
+ export declare const RADAR_GRID_LEVELS = 4;
20
+ export declare const RADAR_LABEL_OFFSET: number;
21
+ export declare const RADAR_PADDING: number;
22
+ export declare const RADAR_SINGLE_SERIES_LOG_SCALE_THRESHOLD = 100;
23
+ export declare const RADAR_AXIS_LABEL_MAX_WIDTH = 140;
24
+ export declare const RADAR_AXIS_LABEL_ALIGNMENT_THRESHOLD = 0.35;
25
+ export declare const RADAR_AXIS_LABEL_CLEARANCE: number;
26
+ export declare const RADAR_LEGEND_SWATCH_SIZE = 20;
27
+ export declare const RADAR_LEGEND_ITEM_GAP: number;
28
+ export declare const RADAR_LEGEND_TEXT_GAP = 12;
29
+ export declare const commonProps: {
30
+ readonly fillStyle: "hachure";
31
+ readonly fontFamily: number;
32
+ readonly fontSize: 20;
33
+ readonly opacity: 100;
34
+ readonly roughness: 1;
35
+ readonly strokeColor: "#1e1e1e";
36
+ readonly roundness: null;
37
+ readonly strokeStyle: "solid";
38
+ readonly strokeWidth: 1;
39
+ readonly verticalAlign: string;
40
+ readonly locked: false;
41
+ };
42
+ export type CartesianChartType = "bar" | "line";
43
+ export type CartesianChartLayout = {
44
+ slotWidth: number;
45
+ gap: number;
46
+ chartHeight: number;
47
+ xLabelMaxWidth: number;
48
+ };
@@ -0,0 +1,32 @@
1
+ import { getFontString } from "@excalidraw/common";
2
+ import type { ChartType } from "@excalidraw/element/types";
3
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
4
+ import { type CartesianChartLayout, type CartesianChartType } from "./charts.constants";
5
+ import type { ChartElements, Spreadsheet, SpreadsheetSeries } from "./charts.types";
6
+ export declare const isSpreadsheetValidForChartType: (spreadsheet: Spreadsheet | null, chartType: ChartType) => boolean;
7
+ export declare const getCartesianChartLayout: (chartType: CartesianChartType, seriesCount: number) => CartesianChartLayout;
8
+ export declare const getChartDimensions: (spreadsheet: Spreadsheet, layout: CartesianChartLayout) => {
9
+ chartWidth: number;
10
+ chartHeight: number;
11
+ };
12
+ export declare const getRadarDimensions: () => {
13
+ chartWidth: number;
14
+ chartHeight: number;
15
+ };
16
+ export declare const getSeriesColors: (seriesCount: number, colorOffset: number) => readonly string[];
17
+ export declare const getColorOffset: (colorSeed?: number) => number;
18
+ export declare const getBackgroundColor: (colorOffset: number) => "#fff5f5" | "#ffc9c9" | "#ff8787" | "#fa5252" | "#e03131" | "#fff0f6" | "#fcc2d7" | "#f783ac" | "#e64980" | "#c2255c" | "#f8f0fc" | "#eebefa" | "#da77f2" | "#be4bdb" | "#9c36b5" | "#f3f0ff" | "#d0bfff" | "#9775fa" | "#7950f2" | "#6741d9" | "#e7f5ff" | "#a5d8ff" | "#4dabf7" | "#228be6" | "#1971c2" | "#e3fafc" | "#99e9f2" | "#3bc9db" | "#15aabf" | "#0c8599" | "#e6fcf5" | "#96f2d7" | "#38d9a9" | "#12b886" | "#099268" | "#ebfbee" | "#b2f2bb" | "#69db7c" | "#40c057" | "#2f9e44" | "#fff9db" | "#ffec99" | "#ffd43b" | "#fab005" | "#f08c00" | "#fff4e6" | "#ffd8a8" | "#ffa94d" | "#fd7e14" | "#e8590c";
19
+ export declare const getRadarValueScale: (series: SpreadsheetSeries[], _labelsLength: number) => {
20
+ renderSteps: boolean;
21
+ normalize: (value: number, _axisIndex: number) => number;
22
+ };
23
+ export declare const getRadarDisplayText: (text: string, fontString: ReturnType<typeof getFontString>, maxWidth: number) => string;
24
+ export declare const createRadarAxisLabels: (labels: readonly string[], angles: readonly number[], centerX: number, centerY: number, radius: number, backgroundColor: string) => {
25
+ axisLabels: ChartElements;
26
+ axisLabelTopY: number;
27
+ axisLabelBottomY: number;
28
+ };
29
+ export declare const createSeriesLegend: (series: SpreadsheetSeries[], seriesColors: readonly string[], centerX: number, minLegendTopY: number, fallbackLegendY: number, backgroundColor: string) => ChartElements;
30
+ export declare const getRotatedTextElementBottom: (element: NonDeletedExcalidrawElement) => number;
31
+ export declare const chartXLabels: (spreadsheet: Spreadsheet, x: number, y: number, backgroundColor: string, layout: CartesianChartLayout) => ChartElements;
32
+ export declare const chartBaseElements: (spreadsheet: Spreadsheet, x: number, y: number, backgroundColor: string, layout: CartesianChartLayout, maxValue?: number, debug?: boolean) => ChartElements;
@@ -0,0 +1,2 @@
1
+ import type { ChartElements, Spreadsheet } from "./charts.types";
2
+ export declare const renderLineChart: (spreadsheet: Spreadsheet, x: number, y: number, colorSeed?: number) => ChartElements;
@@ -0,0 +1,10 @@
1
+ import { type ParseSpreadsheetResult } from "./charts.types";
2
+ /**
3
+ * @private exported for testing
4
+ */
5
+ export declare const tryParseNumber: (s: string) => number | null;
6
+ /**
7
+ * @private exported for testing
8
+ */
9
+ export declare const tryParseCells: (cells: string[][]) => ParseSpreadsheetResult;
10
+ export declare const tryParseSpreadsheet: (text: string) => ParseSpreadsheetResult;
@@ -0,0 +1,2 @@
1
+ import type { ChartElements, Spreadsheet } from "./charts.types";
2
+ export declare const renderRadarChart: (spreadsheet: Spreadsheet, x: number, y: number, colorSeed?: number) => ChartElements | null;
@@ -0,0 +1,18 @@
1
+ import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
+ export type ChartElements = readonly NonDeletedExcalidrawElement[];
3
+ export interface Spreadsheet {
4
+ title: string | null;
5
+ labels: string[] | null;
6
+ series: SpreadsheetSeries[];
7
+ }
8
+ export interface SpreadsheetSeries {
9
+ title: string | null;
10
+ values: number[];
11
+ }
12
+ export type ParseSpreadsheetResult = {
13
+ ok: false;
14
+ reason: string;
15
+ } | {
16
+ ok: true;
17
+ data: Spreadsheet;
18
+ };
@@ -0,0 +1,7 @@
1
+ import type { ChartType } from "@excalidraw/element/types";
2
+ import { tryParseCells, tryParseNumber, tryParseSpreadsheet } from "./charts.parse";
3
+ import type { ChartElements, Spreadsheet } from "./charts.types";
4
+ export { type ParseSpreadsheetResult, type Spreadsheet, type SpreadsheetSeries, type ChartElements, } from "./charts.types";
5
+ export { isSpreadsheetValidForChartType } from "./charts.helpers";
6
+ export { tryParseCells, tryParseNumber, tryParseSpreadsheet };
7
+ export declare const renderSpreadsheet: (chartType: ChartType, spreadsheet: Spreadsheet, x: number, y: number, colorSeed?: number) => ChartElements | null;
@@ -2,15 +2,12 @@ import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
2
2
  import type { ValueOf } from "@excalidraw/common/utility-types";
3
3
  import type { IMAGE_MIME_TYPES, STRING_MIME_TYPES } from "@excalidraw/common";
4
4
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
5
- import type { FileSystemHandle } from "./data/filesystem";
6
- import type { Spreadsheet } from "./charts";
7
5
  import type { BinaryFiles } from "./types";
8
6
  export type PastedMixedContent = {
9
7
  type: "text" | "imageUrl";
10
8
  value: string;
11
9
  }[];
12
10
  export interface ClipboardData {
13
- spreadsheet?: Spreadsheet;
14
11
  elements?: readonly ExcalidrawElement[];
15
12
  files?: BinaryFiles;
16
13
  text?: string;
@@ -54,7 +51,7 @@ type AllowedParsedDataTransferItem = {
54
51
  type: ValueOf<typeof IMAGE_MIME_TYPES>;
55
52
  kind: "file";
56
53
  file: File;
57
- fileHandle: FileSystemHandle | null;
54
+ fileHandle: FileSystemFileHandle | null;
58
55
  } | {
59
56
  type: ValueOf<typeof STRING_MIME_TYPES>;
60
57
  kind: "string";
@@ -64,7 +61,7 @@ type ParsedDataTransferItem = {
64
61
  type: string;
65
62
  kind: "file";
66
63
  file: File;
67
- fileHandle: FileSystemHandle | null;
64
+ fileHandle: FileSystemFileHandle | null;
68
65
  } | {
69
66
  type: string;
70
67
  kind: "string";
@@ -76,7 +73,7 @@ type ParsedDataTransferItemType<T extends AllowedParsedDataTransferItem["type"]>
76
73
  export type ParsedDataTransferFile = Extract<AllowedParsedDataTransferItem, {
77
74
  kind: "file";
78
75
  }>;
79
- type ParsedDataTranferList = ParsedDataTransferItem[] & {
76
+ export type ParsedDataTranferList = ParsedDataTransferItem[] & {
80
77
  /**
81
78
  * Only allows filtering by known `string` data types, since `file`
82
79
  * types can have multiple items of the same type (e.g. multiple image files)
@@ -94,12 +91,14 @@ type ParsedDataTranferList = ParsedDataTransferItem[] & {
94
91
  declare const findDataTransferItemType: <T extends ValueOf<typeof STRING_MIME_TYPES>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<T> | null;
95
92
  declare const getDataTransferItemData: <T extends ValueOf<typeof STRING_MIME_TYPES>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<ValueOf<typeof STRING_MIME_TYPES>>["value"] | null;
96
93
  declare const getDataTransferFiles: (this: ParsedDataTranferList) => ParsedDataTransferFile[];
94
+ /** @returns list of MIME types, synchronously */
95
+ export declare const parseDataTransferEventMimeTypes: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Set<string>;
97
96
  export declare const parseDataTransferEvent: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Promise<ParsedDataTranferList>;
98
97
  /**
99
98
  * Attempts to parse clipboard event.
100
99
  */
101
100
  export declare const parseClipboard: (dataList: ParsedDataTranferList, isPlainPaste?: boolean) => Promise<ClipboardData>;
102
101
  export declare const copyBlobToClipboardAsPng: (blob: Blob | Promise<Blob>) => Promise<void>;
103
- export declare const copyTextToSystemClipboard: (text: string | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
102
+ export declare const copyTextToSystemClipboard: <MimeType extends ValueOf<typeof STRING_MIME_TYPES>>(text: string | { [K in MimeType]: string; } | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
104
103
  export declare const isClipboardEvent: (event: React.SyntheticEvent | Event) => event is ClipboardEvent;
105
104
  export {};
@@ -1,15 +1,22 @@
1
- import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
1
+ import type { NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
2
  import "./Actions.scss";
3
- import type { AppClassProperties, AppProps, UIAppState, Zoom, AppState } from "../types";
3
+ import type { AppClassProperties, UIAppState, AppState } from "../types";
4
4
  import type { ActionManager } from "../actions/manager";
5
- export declare const canChangeStrokeColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
6
- export declare const canChangeBackgroundColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
5
+ export { canChangeStrokeColor, canChangeBackgroundColor, } from "./shapeActionPredicates";
6
+ /**
7
+ * Full styles panel: the wide, always-expanded layout used on desktop when the
8
+ * UI is in "full" mode.
9
+ */
7
10
  export declare const SelectedShapeActions: ({ appState, elementsMap, renderAction, app, }: {
8
11
  appState: UIAppState;
9
12
  elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
10
13
  renderAction: ActionManager["renderAction"];
11
14
  app: AppClassProperties;
12
15
  }) => import("react/jsx-runtime").JSX.Element;
16
+ /**
17
+ * Compact styles panel — the collapsed, popover-driven layout used on tablets
18
+ * and on desktop when the UI is in "compact" mode.
19
+ */
13
20
  export declare const CompactShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
14
21
  appState: UIAppState;
15
22
  elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
@@ -17,6 +24,11 @@ export declare const CompactShapeActions: ({ appState, elementsMap, renderAction
17
24
  app: AppClassProperties;
18
25
  setAppState: React.Component<any, AppState>["setState"];
19
26
  }) => import("react/jsx-runtime").JSX.Element;
27
+ /**
28
+ * Mobile styles panel — the horizontal action bar used on phones, with an
29
+ * overflow measurement that promotes duplicate/delete out of the popover when
30
+ * there is room.
31
+ */
20
32
  export declare const MobileShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
21
33
  appState: UIAppState;
22
34
  elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
@@ -24,15 +36,8 @@ export declare const MobileShapeActions: ({ appState, elementsMap, renderAction,
24
36
  app: AppClassProperties;
25
37
  setAppState: React.Component<any, AppState>["setState"];
26
38
  }) => import("react/jsx-runtime").JSX.Element;
27
- export declare const ShapesSwitcher: ({ activeTool, setAppState, app, UIOptions, }: {
28
- activeTool: UIAppState["activeTool"];
29
- setAppState: React.Component<any, AppState>["setState"];
30
- app: AppClassProperties;
31
- UIOptions: AppProps["UIOptions"];
32
- }) => import("react/jsx-runtime").JSX.Element;
33
- export declare const ZoomActions: ({ renderAction, zoom, }: {
39
+ export declare const ZoomActions: ({ renderAction, }: {
34
40
  renderAction: ActionManager["renderAction"];
35
- zoom: Zoom;
36
41
  }) => import("react/jsx-runtime").JSX.Element;
37
42
  export declare const UndoRedoActions: ({ renderAction, className, }: {
38
43
  renderAction: ActionManager["renderAction"];
@@ -1,4 +1,4 @@
1
- export declare const activeConfirmDialogAtom: import("jotai/vanilla/atom").PrimitiveAtom<"clearCanvas" | null> & {
1
+ export declare const activeConfirmDialogAtom: import("jotai").PrimitiveAtom<"clearCanvas" | null> & {
2
2
  init: "clearCanvas" | null;
3
3
  };
4
4
  export declare const ActiveConfirmDialog: () => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,72 @@
1
+ import type { ArrowEndpoint } from "@excalidraw/element";
2
+ import type { ExcalidrawElement, ExcalidrawTextElement, FixedPoint, NonDeleted } from "@excalidraw/element/types";
3
+ import type App from "./App";
4
+ import type { AppState } from "../types";
5
+ /**
6
+ * The text tool's interaction with arrows: the hover affordance showing where
7
+ * a click would attach text to an arrow — a free endpoint (binds the arrow to
8
+ * a new text element positioned against that endpoint) or the arrow's midpoint
9
+ * (adds a label bound to the arrow) — and the endpoint-bound flavor of
10
+ * drag-sizing a new text.
11
+ *
12
+ * The scene-level logic lives in `@excalidraw/element`'s `arrowEndpointText.ts`.
13
+ */
14
+ export declare class AppArrowText {
15
+ private app;
16
+ constructor(app: App);
17
+ /**
18
+ * With the text tool active, an arrow under the cursor is a target for
19
+ * attaching text. Returns where the text would land (if anywhere), and keeps
20
+ * `appState.hoveredArrowTextAnchor` — which drives the highlight — in sync.
21
+ */
22
+ updateHoveredAnchor: (scenePointer: {
23
+ x: number;
24
+ y: number;
25
+ }) => AppState["hoveredArrowTextAnchor"];
26
+ /**
27
+ * Re-evaluates the hovered anchor at the last known pointer position — for
28
+ * events that change what a click would do without the pointer moving,
29
+ * i.e. the ctrl/cmd binding toggle. (Events that invalidate the anchor
30
+ * wholesale — tool switches, finalize, deselect — clear it directly
31
+ * instead.)
32
+ */
33
+ refresh: () => void;
34
+ /**
35
+ * A free arrow endpoint a new text could be bound to. Binding an endpoint is
36
+ * an arrow binding, so it follows the binding toggle (ctrl/cmd) like every
37
+ * other one — holding it makes the text tool drop plain text instead.
38
+ */
39
+ getBindableEndpointAtPosition(x: number, y: number): ArrowEndpoint | null;
40
+ /**
41
+ * Mirrors what `handleTextOnPointerDown` would do at this position, so the
42
+ * highlight can't promise something the click won't deliver.
43
+ */
44
+ private getAnchorAtPosition;
45
+ /**
46
+ * How a text should be created to read as a label for this endpoint — the
47
+ * side midpoint to bind, the alignment that pins it, and the scene position
48
+ * it must sit at. `targetStrokeWidth` is the caller's to provide so it can
49
+ * guarantee it matches the stroke width the text is then created with — the
50
+ * binding gap derives from it (see `getTextBindingForArrowEndpoint`).
51
+ */
52
+ getTextBinding({ arrow, startOrEnd }: ArrowEndpoint, targetStrokeWidth: number): {
53
+ fixedPoint: FixedPoint;
54
+ textAlign: import("@excalidraw/element/types").TextAlign;
55
+ verticalAlign: import("@excalidraw/element/types").VerticalAlign;
56
+ anchor: import("@excalidraw/math").GlobalPoint;
57
+ } | null;
58
+ /**
59
+ * Binds the arrow endpoint to the created text, at the side midpoint the
60
+ * placement resolved (`getTextBinding`'s `fixedPoint`).
61
+ */
62
+ bindText({ arrow, startOrEnd }: ArrowEndpoint, text: NonDeleted<ExcalidrawTextElement>, fixedPoint: FixedPoint): void;
63
+ /**
64
+ * A text bound to an arrow endpoint can't be positioned by the drag — the
65
+ * binding already placed it — so only its width is dragged out. Returns
66
+ * whether it owned the drag.
67
+ */
68
+ maybeDragNewText(newElement: ExcalidrawElement, pointerCoords: {
69
+ x: number;
70
+ y: number;
71
+ }): boolean;
72
+ }
@@ -0,0 +1,48 @@
1
+ import type { Theme } from "@excalidraw/element/types";
2
+ import type App from "./App";
3
+ type ScenePoint = {
4
+ x: number;
5
+ y: number;
6
+ };
7
+ /** Owns bucket-fill interaction and App-bound scene mutations. */
8
+ export declare class AppBucketFill {
9
+ private app;
10
+ constructor(app: App);
11
+ private temporaryEyeDropper;
12
+ /**
13
+ * The click armed on pointer down, committed on pointer up. Deferring the
14
+ * scene mutation to pointer up is what lets a pinch/pan second finger, a
15
+ * long-press context menu, or a pointercancel abort the fill — on pointer
16
+ * down the editor cannot yet know the gesture will stay a single-pointer
17
+ * click.
18
+ */
19
+ private pending;
20
+ /** Arm a fill at the pointer-down position; nothing mutates yet. */
21
+ handlePointerDown: (scenePointer: ScenePoint) => void;
22
+ /**
23
+ * Commit the armed fill, at the pointer-DOWN position (what the user
24
+ * aimed at). No-op when the gesture was aborted in the meantime.
25
+ */
26
+ handlePointerUp: () => void;
27
+ /** Abort the armed fill (second finger, context menu, pointercancel). */
28
+ cancel: () => void;
29
+ cycleBackgroundColor: () => void;
30
+ openTemporaryEyeDropper: () => void;
31
+ closeTemporaryEyeDropper: () => void;
32
+ /**
33
+ * Apply the current bucket fill settings to an existing fill-compatible
34
+ * element (no-op when nothing would change). One undoable step.
35
+ */
36
+ private restyle;
37
+ private fill;
38
+ /**
39
+ * The color the bucket fill tool actually fills with: the shared
40
+ * `currentItemBackgroundColor`, falling back to green when that is
41
+ * transparent (the tool's picker doesn't offer transparent, but the shared
42
+ * state can hold it from the generic shape picker).
43
+ */
44
+ getBucketFillBackgroundColor: (backgroundColor: string,
45
+ /** supply only for display purposes such as when applying to the cursor */
46
+ theme?: Theme) => string;
47
+ }
48
+ export {};
@@ -0,0 +1,30 @@
1
+ import type { AppState } from "../types";
2
+ import type App from "./App";
3
+ /**
4
+ * Captures all cursor management for the interactive canvas.
5
+ *
6
+ * The canvas cursor is set exclusively imperatively, through this class —
7
+ * never via inline styles or React-rendered `style.cursor`, which React
8
+ * would rewrite on rerender whenever the computed value changes, clobbering
9
+ * cursors set here.
10
+ */
11
+ export declare class AppCursor {
12
+ private app;
13
+ private toolCursorMemo;
14
+ private eraserCanvasCache;
15
+ private eraserPreviewDataURL;
16
+ constructor(app: App);
17
+ private get canvas();
18
+ set: (cursor: string) => void;
19
+ /**
20
+ * Resets to the resting cursor — the cursor shown when no interaction or
21
+ * hover affordance overrides it: the view-mode grab cursor when
22
+ * drag-to-pan applies, the active tool's cursor otherwise.
23
+ */
24
+ reset: () => void;
25
+ /** applies the given tool's cursor (defaults to the active tool) */
26
+ applyForTool: (activeTool?: AppState["activeTool"]) => void;
27
+ /** clears the inline cursor so the environment default (CSS) applies */
28
+ private clear;
29
+ private applyEraser;
30
+ }