@excalidraw/excalidraw 0.18.0-508de2f3a → 0.18.0-51ad895

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 (426) hide show
  1. package/dist/dev/{chunk-BVDPDK7J.js → chunk-CP5DND7P.js} +2 -2
  2. package/dist/dev/{chunk-BVDPDK7J.js.map → chunk-CP5DND7P.js.map} +1 -1
  3. package/dist/dev/{chunk-QF5FRM6O.js → chunk-OCFTI2BU.js} +49 -26
  4. package/dist/dev/chunk-OCFTI2BU.js.map +7 -0
  5. package/dist/dev/{chunk-3JWCK6AW.js → chunk-SJTAY27F.js} +164 -376
  6. package/dist/dev/chunk-SJTAY27F.js.map +7 -0
  7. package/dist/dev/chunk-WCM2OLWY.js +69 -0
  8. package/dist/dev/chunk-WCM2OLWY.js.map +7 -0
  9. package/dist/dev/data/{image-CNYZRAWA.js → image-S2GFZH7W.js} +3 -3
  10. package/dist/dev/index.css +1107 -665
  11. package/dist/dev/index.css.map +3 -3
  12. package/dist/dev/index.js +10020 -6943
  13. package/dist/dev/index.js.map +4 -4
  14. package/dist/dev/locales/{ar-SA-XORAP2EK.js → ar-SA-JK5MQ7TT.js} +300 -142
  15. package/dist/dev/locales/ar-SA-JK5MQ7TT.js.map +7 -0
  16. package/dist/dev/locales/{az-AZ-NAUU3Z4Y.js → az-AZ-2PAD62G4.js} +241 -83
  17. package/dist/dev/locales/az-AZ-2PAD62G4.js.map +7 -0
  18. package/dist/dev/locales/{bg-BG-AAABLFCY.js → bg-BG-HUKVYCRK.js} +229 -71
  19. package/dist/dev/locales/bg-BG-HUKVYCRK.js.map +7 -0
  20. package/dist/dev/locales/{bn-BD-PM4AC5WG.js → bn-BD-V2CQI46P.js} +209 -51
  21. package/dist/dev/locales/bn-BD-V2CQI46P.js.map +7 -0
  22. package/dist/dev/locales/bn-IN-MBEO4C3J.js +744 -0
  23. package/dist/dev/locales/bn-IN-MBEO4C3J.js.map +7 -0
  24. package/dist/dev/locales/{ca-ES-YNNMFRQX.js → ca-ES-KWEKW4C3.js} +275 -117
  25. package/dist/dev/locales/ca-ES-KWEKW4C3.js.map +7 -0
  26. package/dist/dev/locales/{cs-CZ-DGZA5IKG.js → cs-CZ-W5AHZB5H.js} +229 -71
  27. package/dist/dev/locales/cs-CZ-W5AHZB5H.js.map +7 -0
  28. package/dist/dev/locales/{da-DK-N76F4QAJ.js → da-DK-ITTM6YM4.js} +298 -140
  29. package/dist/dev/locales/da-DK-ITTM6YM4.js.map +7 -0
  30. package/dist/dev/locales/de-CH-OAWPDQFJ.js +744 -0
  31. package/dist/dev/locales/de-CH-OAWPDQFJ.js.map +7 -0
  32. package/dist/dev/locales/{de-DE-DMRXZ2SZ.js → de-DE-HE4SJIAA.js} +199 -41
  33. package/dist/dev/locales/de-DE-HE4SJIAA.js.map +7 -0
  34. package/dist/dev/locales/{el-GR-HIKPLEXI.js → el-GR-QXASZLPE.js} +274 -116
  35. package/dist/dev/locales/el-GR-QXASZLPE.js.map +7 -0
  36. package/dist/dev/locales/{en-SMAPCEOQ.js → en-MLZIHOCR.js} +4 -2
  37. package/dist/dev/locales/{es-ES-AQYVXC32.js → es-ES-EDA76ZAF.js} +212 -54
  38. package/dist/dev/locales/es-ES-EDA76ZAF.js.map +7 -0
  39. package/dist/dev/locales/{eu-ES-3TOEU5DE.js → eu-ES-TF2DGTZU.js} +210 -52
  40. package/dist/dev/locales/eu-ES-TF2DGTZU.js.map +7 -0
  41. package/dist/dev/locales/{fa-IR-527GAKUP.js → fa-IR-ITKFQ7QV.js} +286 -128
  42. package/dist/dev/locales/fa-IR-ITKFQ7QV.js.map +7 -0
  43. package/dist/dev/locales/{fi-FI-M3WLVDFP.js → fi-FI-UWZRVXFI.js} +240 -82
  44. package/dist/dev/locales/fi-FI-UWZRVXFI.js.map +7 -0
  45. package/dist/dev/locales/{fr-FR-YE4VDJFI.js → fr-FR-Z3SBW42Y.js} +203 -45
  46. package/dist/dev/locales/fr-FR-Z3SBW42Y.js.map +7 -0
  47. package/dist/dev/locales/{gl-ES-KMXUYGUN.js → gl-ES-2QCVIBFP.js} +212 -54
  48. package/dist/dev/locales/gl-ES-2QCVIBFP.js.map +7 -0
  49. package/dist/dev/locales/he-IL-WJNUHU26.js +744 -0
  50. package/dist/dev/locales/he-IL-WJNUHU26.js.map +7 -0
  51. package/dist/dev/locales/hi-IN-XGMO235V.js +744 -0
  52. package/dist/dev/locales/hi-IN-XGMO235V.js.map +7 -0
  53. package/dist/dev/locales/{hu-HU-VIYZI3X4.js → hu-HU-37FDQFIS.js} +238 -80
  54. package/dist/dev/locales/hu-HU-37FDQFIS.js.map +7 -0
  55. package/dist/dev/locales/{id-ID-22TWZNLA.js → id-ID-EJIDCO4E.js} +245 -87
  56. package/dist/dev/locales/id-ID-EJIDCO4E.js.map +7 -0
  57. package/dist/dev/locales/{it-IT-MDEQ2SG3.js → it-IT-HD26UZNF.js} +202 -44
  58. package/dist/dev/locales/it-IT-HD26UZNF.js.map +7 -0
  59. package/dist/dev/locales/{ja-JP-K2DI4W6B.js → ja-JP-37FC23PR.js} +247 -89
  60. package/dist/dev/locales/ja-JP-37FC23PR.js.map +7 -0
  61. package/dist/dev/locales/{kaa-6BPSNM3R.js → kaa-7ZYDFVKA.js} +202 -44
  62. package/dist/dev/locales/kaa-7ZYDFVKA.js.map +7 -0
  63. package/dist/dev/locales/{kab-KAB-2S7ZURK7.js → kab-KAB-MILWXBA6.js} +210 -52
  64. package/dist/dev/locales/kab-KAB-MILWXBA6.js.map +7 -0
  65. package/dist/dev/locales/{kk-KZ-UJPYGRQQ.js → kk-KZ-7BWTPIAV.js} +175 -17
  66. package/dist/dev/locales/kk-KZ-7BWTPIAV.js.map +7 -0
  67. package/dist/dev/locales/{km-KH-M5T5JKUE.js → km-KH-BV4P2KSZ.js} +198 -40
  68. package/dist/dev/locales/km-KH-BV4P2KSZ.js.map +7 -0
  69. package/dist/dev/locales/{ko-KR-RQX37SNF.js → ko-KR-TSXE5P7B.js} +218 -60
  70. package/dist/dev/locales/ko-KR-TSXE5P7B.js.map +7 -0
  71. package/dist/dev/locales/{ku-TR-5XJDIERL.js → ku-TR-ASSXNN3U.js} +198 -40
  72. package/dist/dev/locales/ku-TR-ASSXNN3U.js.map +7 -0
  73. package/dist/dev/locales/{lt-LT-MGUBX6CA.js → lt-LT-G7RZYQQU.js} +179 -21
  74. package/dist/dev/locales/lt-LT-G7RZYQQU.js.map +7 -0
  75. package/dist/dev/locales/{lv-LV-MD7N5VHD.js → lv-LV-DXNPBJZU.js} +196 -38
  76. package/dist/dev/locales/lv-LV-DXNPBJZU.js.map +7 -0
  77. package/dist/dev/locales/{mr-IN-4XWMNGQC.js → mr-IN-7F2ZCTCF.js} +204 -46
  78. package/dist/dev/locales/mr-IN-7F2ZCTCF.js.map +7 -0
  79. package/dist/dev/locales/{my-MM-O4Z74GN5.js → my-MM-NBI3KQGW.js} +181 -23
  80. package/dist/dev/locales/my-MM-NBI3KQGW.js.map +7 -0
  81. package/dist/dev/locales/{nb-NO-BMB73KRH.js → nb-NO-4DCTQT6L.js} +220 -62
  82. package/dist/dev/locales/nb-NO-4DCTQT6L.js.map +7 -0
  83. package/dist/dev/locales/{nl-NL-F2257BLQ.js → nl-NL-RCSOXLW3.js} +218 -60
  84. package/dist/dev/locales/nl-NL-RCSOXLW3.js.map +7 -0
  85. package/dist/dev/locales/{nn-NO-NCORG7TS.js → nn-NO-FR534JV5.js} +201 -43
  86. package/dist/dev/locales/nn-NO-FR534JV5.js.map +7 -0
  87. package/dist/dev/locales/{oc-FR-ATFBDMF6.js → oc-FR-YQCIKZIK.js} +220 -62
  88. package/dist/dev/locales/oc-FR-YQCIKZIK.js.map +7 -0
  89. package/dist/dev/locales/{pa-IN-D2I375G4.js → pa-IN-UM43JGD2.js} +190 -32
  90. package/dist/dev/locales/pa-IN-UM43JGD2.js.map +7 -0
  91. package/dist/dev/locales/{percentages-YKFLWNK2.js → percentages-TR7IWPFY.js} +2 -2
  92. package/dist/dev/locales/{pl-PL-YJHOWAAW.js → pl-PL-2UGKA6HK.js} +214 -56
  93. package/dist/dev/locales/pl-PL-2UGKA6HK.js.map +7 -0
  94. package/dist/dev/locales/{pt-BR-APOPYZJ7.js → pt-BR-H23QFYE3.js} +237 -79
  95. package/dist/dev/locales/pt-BR-H23QFYE3.js.map +7 -0
  96. package/dist/dev/locales/pt-PT-RHKJH5I5.js +744 -0
  97. package/dist/dev/locales/pt-PT-RHKJH5I5.js.map +7 -0
  98. package/dist/dev/locales/{ro-RO-L575VRQA.js → ro-RO-IIFONL3T.js} +203 -45
  99. package/dist/dev/locales/ro-RO-IIFONL3T.js.map +7 -0
  100. package/dist/dev/locales/{ru-RU-BLG6HZG5.js → ru-RU-QEP6D7GK.js} +253 -95
  101. package/dist/dev/locales/ru-RU-QEP6D7GK.js.map +7 -0
  102. package/dist/dev/locales/si-LK-LZYJQLHF.js +744 -0
  103. package/dist/dev/locales/si-LK-LZYJQLHF.js.map +7 -0
  104. package/dist/dev/locales/{sk-SK-DY6IPO5U.js → sk-SK-G2J6PSCB.js} +200 -42
  105. package/dist/dev/locales/sk-SK-G2J6PSCB.js.map +7 -0
  106. package/dist/dev/locales/{sl-SI-5DZSRA47.js → sl-SI-QJT2CAUO.js} +197 -39
  107. package/dist/dev/locales/sl-SI-QJT2CAUO.js.map +7 -0
  108. package/dist/dev/locales/{sv-SE-V32YHALQ.js → sv-SE-3MAT3NDX.js} +202 -44
  109. package/dist/dev/locales/sv-SE-3MAT3NDX.js.map +7 -0
  110. package/dist/dev/locales/{ta-IN-5JRAGQAO.js → ta-IN-J7XOYF2T.js} +257 -99
  111. package/dist/dev/locales/ta-IN-J7XOYF2T.js.map +7 -0
  112. package/dist/dev/locales/{th-TH-55ACRHDJ.js → th-TH-2OI52EOQ.js} +289 -131
  113. package/dist/dev/locales/th-TH-2OI52EOQ.js.map +7 -0
  114. package/dist/dev/locales/{tr-TR-7QYBXDBO.js → tr-TR-G7TAUHUI.js} +257 -99
  115. package/dist/dev/locales/tr-TR-G7TAUHUI.js.map +7 -0
  116. package/dist/dev/locales/{uk-UA-TJS2TMRH.js → uk-UA-IVSVBJIG.js} +229 -71
  117. package/dist/dev/locales/uk-UA-IVSVBJIG.js.map +7 -0
  118. package/dist/dev/locales/{si-LK-KT7GGO6D.js → uz-UZ-KCVDUVDE.js} +212 -54
  119. package/dist/dev/locales/uz-UZ-KCVDUVDE.js.map +7 -0
  120. package/dist/dev/locales/vi-VN-XF3AYKJ7.js +744 -0
  121. package/dist/dev/locales/vi-VN-XF3AYKJ7.js.map +7 -0
  122. package/dist/dev/locales/{zh-CN-4MXUOFTH.js → zh-CN-IS26RG2D.js} +199 -41
  123. package/dist/dev/locales/zh-CN-IS26RG2D.js.map +7 -0
  124. package/dist/dev/locales/{zh-HK-RBTGIU3U.js → zh-HK-KBWQ6SJC.js} +175 -17
  125. package/dist/dev/locales/zh-HK-KBWQ6SJC.js.map +7 -0
  126. package/dist/dev/locales/{zh-TW-U5VF4CCU.js → zh-TW-JKJWJQ4J.js} +204 -46
  127. package/dist/dev/locales/zh-TW-JKJWJQ4J.js.map +7 -0
  128. package/dist/dev/subset-shared.chunk.js +1 -1
  129. package/dist/dev/subset-worker.chunk.js +1 -1
  130. package/dist/prod/{chunk-XRPJNYI4.js → chunk-A66AFZZU.js} +1 -1
  131. package/dist/prod/chunk-Q7BNPSJU.js +1 -0
  132. package/dist/prod/chunk-QNG5NH6R.js +12 -0
  133. package/dist/prod/chunk-XJNFOLHK.js +4 -0
  134. package/dist/prod/data/image-SMWA6JLH.js +1 -0
  135. package/dist/prod/index.css +1 -1
  136. package/dist/prod/index.js +23 -23
  137. package/dist/prod/locales/ar-SA-IYHKZRSE.js +8 -0
  138. package/dist/prod/locales/az-AZ-WL5GYRHK.js +1 -0
  139. package/dist/prod/locales/bg-BG-FXZYTRPD.js +5 -0
  140. package/dist/prod/locales/bn-BD-KO6YL5G2.js +3 -0
  141. package/dist/prod/locales/bn-IN-PC6JHKYB.js +3 -0
  142. package/dist/prod/locales/ca-ES-AREX5NEO.js +8 -0
  143. package/dist/prod/locales/cs-CZ-HXAZMFYH.js +7 -0
  144. package/dist/prod/locales/da-DK-5X7ZLFU3.js +2 -0
  145. package/dist/prod/locales/de-CH-76ZNVSOF.js +7 -0
  146. package/dist/prod/locales/de-DE-KU2ABQRN.js +7 -0
  147. package/dist/prod/locales/el-GR-4AZTZGY6.js +7 -0
  148. package/dist/prod/locales/en-BARVNJLJ.js +1 -0
  149. package/dist/prod/locales/es-ES-MXQVAWTQ.js +7 -0
  150. package/dist/prod/locales/eu-ES-BIF4XBMT.js +7 -0
  151. package/dist/prod/locales/fa-IR-D4HHKAAI.js +9 -0
  152. package/dist/prod/locales/fi-FI-O35ZY7UI.js +6 -0
  153. package/dist/prod/locales/fr-FR-PJOMXPCV.js +12 -0
  154. package/dist/prod/locales/gl-ES-U4NYM3X5.js +6 -0
  155. package/dist/prod/locales/he-IL-656ABAVQ.js +8 -0
  156. package/dist/prod/locales/hi-IN-Z55GAFFR.js +3 -0
  157. package/dist/prod/locales/hu-HU-UJ62DVIW.js +3 -0
  158. package/dist/prod/locales/id-ID-FLZFU3OO.js +8 -0
  159. package/dist/prod/locales/it-IT-DQZT3VFE.js +12 -0
  160. package/dist/prod/locales/ja-JP-43VXGDWI.js +7 -0
  161. package/dist/prod/locales/kaa-L3IMSDYL.js +1 -0
  162. package/dist/prod/locales/kab-KAB-XKPWJLNL.js +4 -0
  163. package/dist/prod/locales/kk-KZ-SXPDDY2H.js +1 -0
  164. package/dist/prod/locales/km-KH-DOS4CPGC.js +7 -0
  165. package/dist/prod/locales/ko-KR-BGC6VCY4.js +5 -0
  166. package/dist/prod/locales/ku-TR-J7IUITIA.js +6 -0
  167. package/dist/prod/locales/lt-LT-AC3LV5KG.js +3 -0
  168. package/dist/prod/locales/lv-LV-I6AY7QG2.js +4 -0
  169. package/dist/prod/locales/mr-IN-5SP4HV5B.js +9 -0
  170. package/dist/prod/locales/my-MM-S7ECRBYZ.js +1 -0
  171. package/dist/prod/locales/nb-NO-6PNHTF4R.js +8 -0
  172. package/dist/prod/locales/nl-NL-AVTAYVB7.js +7 -0
  173. package/dist/prod/locales/nn-NO-3TFXTM7Y.js +4 -0
  174. package/dist/prod/locales/oc-FR-IK6GIE7H.js +4 -0
  175. package/dist/prod/locales/pa-IN-YAKHYJET.js +4 -0
  176. package/dist/prod/locales/percentages-FZSTHYWV.js +1 -0
  177. package/dist/prod/locales/pl-PL-BIY22ZWU.js +12 -0
  178. package/dist/prod/locales/pt-BR-Q23NUPD6.js +6 -0
  179. package/dist/prod/locales/pt-PT-LOPEJLPJ.js +8 -0
  180. package/dist/prod/locales/ro-RO-W3D2ZATV.js +12 -0
  181. package/dist/prod/locales/ru-RU-DCTW7QSH.js +10 -0
  182. package/dist/prod/locales/si-LK-FYRRHO3C.js +1 -0
  183. package/dist/prod/locales/sk-SK-2KAMKFW5.js +7 -0
  184. package/dist/prod/locales/sl-SI-L6B6HFY5.js +6 -0
  185. package/dist/prod/locales/sv-SE-KMY6L2BA.js +8 -0
  186. package/dist/prod/locales/ta-IN-ZQCYE2JK.js +6 -0
  187. package/dist/prod/locales/th-TH-WS7ECBAV.js +1 -0
  188. package/dist/prod/locales/tr-TR-S5FI7JRW.js +4 -0
  189. package/dist/prod/locales/uk-UA-4EZUWUSQ.js +6 -0
  190. package/dist/prod/locales/uz-UZ-OKHL6AFA.js +1 -0
  191. package/dist/prod/locales/vi-VN-I6Q2YS4S.js +7 -0
  192. package/dist/prod/locales/zh-CN-JE4UZWNO.js +11 -0
  193. package/dist/prod/locales/zh-HK-RM35YDXX.js +1 -0
  194. package/dist/prod/locales/zh-TW-ONGLV6Y5.js +9 -0
  195. package/dist/prod/subset-shared.chunk.js +1 -1
  196. package/dist/prod/subset-worker.chunk.js +1 -1
  197. package/dist/types/common/src/constants.d.ts +20 -15
  198. package/dist/types/common/src/editorInterface.d.ts +34 -0
  199. package/dist/types/common/src/index.d.ts +2 -0
  200. package/dist/types/common/src/utils.d.ts +9 -3
  201. package/dist/types/common/src/visualdebug.d.ts +41 -0
  202. package/dist/types/element/src/binding.d.ts +55 -43
  203. package/dist/types/element/src/bounds.d.ts +1 -1
  204. package/dist/types/element/src/collision.d.ts +6 -2
  205. package/dist/types/element/src/delta.d.ts +4 -5
  206. package/dist/types/element/src/index.d.ts +1 -3
  207. package/dist/types/element/src/linearElementEditor.d.ts +15 -18
  208. package/dist/types/element/src/mutateElement.d.ts +0 -1
  209. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  210. package/dist/types/element/src/renderElement.d.ts +5 -2
  211. package/dist/types/element/src/resizeTest.d.ts +5 -4
  212. package/dist/types/element/src/store.d.ts +5 -0
  213. package/dist/types/element/src/textElement.d.ts +1 -1
  214. package/dist/types/element/src/transformHandles.d.ts +5 -4
  215. package/dist/types/element/src/typeChecks.d.ts +2 -3
  216. package/dist/types/element/src/types.d.ts +7 -11
  217. package/dist/types/element/src/utils.d.ts +2 -1
  218. package/dist/types/element/src/zindex.d.ts +7 -1
  219. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +34 -13
  220. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  221. package/dist/types/excalidraw/actions/actionBoundText.d.ts +25 -11
  222. package/dist/types/excalidraw/actions/actionCanvas.d.ts +153 -262
  223. package/dist/types/excalidraw/actions/actionClipboard.d.ts +46 -773
  224. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +12 -5
  225. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +42 -23
  226. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -2
  227. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  228. package/dist/types/excalidraw/actions/actionElementLink.d.ts +11 -6
  229. package/dist/types/excalidraw/actions/actionElementLock.d.ts +23 -9
  230. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +12 -5
  231. package/dist/types/excalidraw/actions/actionExport.d.ts +68 -943
  232. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -393
  233. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -2
  234. package/dist/types/excalidraw/actions/actionFrame.d.ts +50 -24
  235. package/dist/types/excalidraw/actions/actionGroup.d.ts +24 -10
  236. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +22 -19
  237. package/dist/types/excalidraw/actions/actionLink.d.ts +9 -2
  238. package/dist/types/excalidraw/actions/actionMenu.d.ts +10 -371
  239. package/dist/types/excalidraw/actions/actionNavigate.d.ts +21 -359
  240. package/dist/types/excalidraw/actions/actionProperties.d.ts +87 -2403
  241. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +12 -5
  242. package/dist/types/excalidraw/actions/actionStyles.d.ts +13 -6
  243. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  244. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +11 -4
  245. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +11 -4
  246. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +10 -5
  247. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  248. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +11 -4
  249. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +11 -4
  250. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +12 -5
  251. package/dist/types/excalidraw/actions/actionZindex.d.ts +2 -2
  252. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  253. package/dist/types/excalidraw/actions/manager.d.ts +1 -1
  254. package/dist/types/excalidraw/actions/register.d.ts +1 -1
  255. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  256. package/dist/types/excalidraw/appState.d.ts +9 -4
  257. package/dist/types/excalidraw/clipboard.d.ts +64 -1
  258. package/dist/types/excalidraw/components/Actions.d.ts +21 -4
  259. package/dist/types/excalidraw/components/App.d.ts +36 -27
  260. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  261. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  262. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  263. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  264. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +1 -2
  265. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -1
  266. package/dist/types/excalidraw/components/FilledButton.d.ts +1 -1
  267. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  268. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  269. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  270. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  271. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  272. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  273. package/dist/types/excalidraw/components/LinkButton.d.ts +4 -0
  274. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  275. package/dist/types/excalidraw/components/MobileToolBar.d.ts +11 -0
  276. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  277. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -0
  278. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  279. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -2
  280. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  281. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  282. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +6 -3
  283. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +4 -2
  284. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +2 -1
  285. package/dist/types/excalidraw/components/icons.d.ts +10 -0
  286. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +13 -1
  287. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +0 -3
  288. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  289. package/dist/types/excalidraw/data/blob.d.ts +3 -7
  290. package/dist/types/excalidraw/data/restore.d.ts +3 -3
  291. package/dist/types/excalidraw/data/types.d.ts +4 -1
  292. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  293. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +3 -1
  294. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  295. package/dist/types/excalidraw/index.d.ts +2 -3
  296. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  297. package/dist/types/excalidraw/renderer/helpers.d.ts +1 -5
  298. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +5 -13
  299. package/dist/types/excalidraw/scene/types.d.ts +15 -3
  300. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  301. package/dist/types/excalidraw/types.d.ts +32 -21
  302. package/dist/types/math/src/segment.d.ts +1 -0
  303. package/package.json +6 -6
  304. package/dist/dev/chunk-3JWCK6AW.js.map +0 -7
  305. package/dist/dev/chunk-MFAYKRVR.js +0 -66
  306. package/dist/dev/chunk-MFAYKRVR.js.map +0 -7
  307. package/dist/dev/chunk-QF5FRM6O.js.map +0 -7
  308. package/dist/dev/locales/ar-SA-XORAP2EK.js.map +0 -7
  309. package/dist/dev/locales/az-AZ-NAUU3Z4Y.js.map +0 -7
  310. package/dist/dev/locales/bg-BG-AAABLFCY.js.map +0 -7
  311. package/dist/dev/locales/bn-BD-PM4AC5WG.js.map +0 -7
  312. package/dist/dev/locales/ca-ES-YNNMFRQX.js.map +0 -7
  313. package/dist/dev/locales/cs-CZ-DGZA5IKG.js.map +0 -7
  314. package/dist/dev/locales/da-DK-N76F4QAJ.js.map +0 -7
  315. package/dist/dev/locales/de-DE-DMRXZ2SZ.js.map +0 -7
  316. package/dist/dev/locales/el-GR-HIKPLEXI.js.map +0 -7
  317. package/dist/dev/locales/es-ES-AQYVXC32.js.map +0 -7
  318. package/dist/dev/locales/eu-ES-3TOEU5DE.js.map +0 -7
  319. package/dist/dev/locales/fa-IR-527GAKUP.js.map +0 -7
  320. package/dist/dev/locales/fi-FI-M3WLVDFP.js.map +0 -7
  321. package/dist/dev/locales/fr-FR-YE4VDJFI.js.map +0 -7
  322. package/dist/dev/locales/gl-ES-KMXUYGUN.js.map +0 -7
  323. package/dist/dev/locales/he-IL-4MU5N22B.js +0 -586
  324. package/dist/dev/locales/he-IL-4MU5N22B.js.map +0 -7
  325. package/dist/dev/locales/hi-IN-ZHZNZWFC.js +0 -586
  326. package/dist/dev/locales/hi-IN-ZHZNZWFC.js.map +0 -7
  327. package/dist/dev/locales/hu-HU-VIYZI3X4.js.map +0 -7
  328. package/dist/dev/locales/id-ID-22TWZNLA.js.map +0 -7
  329. package/dist/dev/locales/it-IT-MDEQ2SG3.js.map +0 -7
  330. package/dist/dev/locales/ja-JP-K2DI4W6B.js.map +0 -7
  331. package/dist/dev/locales/kaa-6BPSNM3R.js.map +0 -7
  332. package/dist/dev/locales/kab-KAB-2S7ZURK7.js.map +0 -7
  333. package/dist/dev/locales/kk-KZ-UJPYGRQQ.js.map +0 -7
  334. package/dist/dev/locales/km-KH-M5T5JKUE.js.map +0 -7
  335. package/dist/dev/locales/ko-KR-RQX37SNF.js.map +0 -7
  336. package/dist/dev/locales/ku-TR-5XJDIERL.js.map +0 -7
  337. package/dist/dev/locales/lt-LT-MGUBX6CA.js.map +0 -7
  338. package/dist/dev/locales/lv-LV-MD7N5VHD.js.map +0 -7
  339. package/dist/dev/locales/mr-IN-4XWMNGQC.js.map +0 -7
  340. package/dist/dev/locales/my-MM-O4Z74GN5.js.map +0 -7
  341. package/dist/dev/locales/nb-NO-BMB73KRH.js.map +0 -7
  342. package/dist/dev/locales/nl-NL-F2257BLQ.js.map +0 -7
  343. package/dist/dev/locales/nn-NO-NCORG7TS.js.map +0 -7
  344. package/dist/dev/locales/oc-FR-ATFBDMF6.js.map +0 -7
  345. package/dist/dev/locales/pa-IN-D2I375G4.js.map +0 -7
  346. package/dist/dev/locales/pl-PL-YJHOWAAW.js.map +0 -7
  347. package/dist/dev/locales/pt-BR-APOPYZJ7.js.map +0 -7
  348. package/dist/dev/locales/pt-PT-W56WCN7P.js +0 -586
  349. package/dist/dev/locales/pt-PT-W56WCN7P.js.map +0 -7
  350. package/dist/dev/locales/ro-RO-L575VRQA.js.map +0 -7
  351. package/dist/dev/locales/ru-RU-BLG6HZG5.js.map +0 -7
  352. package/dist/dev/locales/si-LK-KT7GGO6D.js.map +0 -7
  353. package/dist/dev/locales/sk-SK-DY6IPO5U.js.map +0 -7
  354. package/dist/dev/locales/sl-SI-5DZSRA47.js.map +0 -7
  355. package/dist/dev/locales/sv-SE-V32YHALQ.js.map +0 -7
  356. package/dist/dev/locales/ta-IN-5JRAGQAO.js.map +0 -7
  357. package/dist/dev/locales/th-TH-55ACRHDJ.js.map +0 -7
  358. package/dist/dev/locales/tr-TR-7QYBXDBO.js.map +0 -7
  359. package/dist/dev/locales/uk-UA-TJS2TMRH.js.map +0 -7
  360. package/dist/dev/locales/vi-VN-Y5CQ2EKQ.js +0 -586
  361. package/dist/dev/locales/vi-VN-Y5CQ2EKQ.js.map +0 -7
  362. package/dist/dev/locales/zh-CN-4MXUOFTH.js.map +0 -7
  363. package/dist/dev/locales/zh-HK-RBTGIU3U.js.map +0 -7
  364. package/dist/dev/locales/zh-TW-U5VF4CCU.js.map +0 -7
  365. package/dist/prod/chunk-2HQY2INW.js +0 -4
  366. package/dist/prod/chunk-I4UNSFV6.js +0 -12
  367. package/dist/prod/chunk-Z3N5DIM6.js +0 -1
  368. package/dist/prod/data/image-DYRE7ZKS.js +0 -1
  369. package/dist/prod/locales/ar-SA-G6X2FPQ2.js +0 -10
  370. package/dist/prod/locales/az-AZ-76LH7QW2.js +0 -1
  371. package/dist/prod/locales/bg-BG-XCXSNQG7.js +0 -5
  372. package/dist/prod/locales/bn-BD-2XOGV67Q.js +0 -5
  373. package/dist/prod/locales/ca-ES-6MX7JW3Y.js +0 -8
  374. package/dist/prod/locales/cs-CZ-2BRQDIVT.js +0 -11
  375. package/dist/prod/locales/da-DK-5WZEPLOC.js +0 -5
  376. package/dist/prod/locales/de-DE-XR44H4JA.js +0 -8
  377. package/dist/prod/locales/el-GR-BZB4AONW.js +0 -10
  378. package/dist/prod/locales/en-TYY6KWIJ.js +0 -1
  379. package/dist/prod/locales/es-ES-U4NZUMDT.js +0 -9
  380. package/dist/prod/locales/eu-ES-A7QVB2H4.js +0 -11
  381. package/dist/prod/locales/fa-IR-HGAKTJCU.js +0 -8
  382. package/dist/prod/locales/fi-FI-Z5N7JZ37.js +0 -6
  383. package/dist/prod/locales/fr-FR-RHASNOE6.js +0 -9
  384. package/dist/prod/locales/gl-ES-HMX3MZ6V.js +0 -10
  385. package/dist/prod/locales/he-IL-6SHJWFNN.js +0 -10
  386. package/dist/prod/locales/hi-IN-IWLTKZ5I.js +0 -4
  387. package/dist/prod/locales/hu-HU-A5ZG7DT2.js +0 -7
  388. package/dist/prod/locales/id-ID-SAP4L64H.js +0 -10
  389. package/dist/prod/locales/it-IT-JPQ66NNP.js +0 -11
  390. package/dist/prod/locales/ja-JP-DBVTYXUO.js +0 -8
  391. package/dist/prod/locales/kaa-6HZHGXH3.js +0 -1
  392. package/dist/prod/locales/kab-KAB-ZGHBKWFO.js +0 -8
  393. package/dist/prod/locales/kk-KZ-P5N5QNE5.js +0 -1
  394. package/dist/prod/locales/km-KH-HSX4SM5Z.js +0 -11
  395. package/dist/prod/locales/ko-KR-MTYHY66A.js +0 -9
  396. package/dist/prod/locales/ku-TR-6OUDTVRD.js +0 -9
  397. package/dist/prod/locales/lt-LT-XHIRWOB4.js +0 -3
  398. package/dist/prod/locales/lv-LV-5QDEKY6T.js +0 -7
  399. package/dist/prod/locales/mr-IN-CRQNXWMA.js +0 -13
  400. package/dist/prod/locales/my-MM-5M5IBNSE.js +0 -1
  401. package/dist/prod/locales/nb-NO-T6EIAALU.js +0 -10
  402. package/dist/prod/locales/nl-NL-IS3SIHDZ.js +0 -8
  403. package/dist/prod/locales/nn-NO-6E72VCQL.js +0 -8
  404. package/dist/prod/locales/oc-FR-POXYY2M6.js +0 -8
  405. package/dist/prod/locales/pa-IN-N4M65BXN.js +0 -4
  406. package/dist/prod/locales/percentages-BXMCSKIN.js +0 -1
  407. package/dist/prod/locales/pl-PL-T2D74RX3.js +0 -9
  408. package/dist/prod/locales/pt-BR-5N22H2LF.js +0 -9
  409. package/dist/prod/locales/pt-PT-UZXXM6DQ.js +0 -9
  410. package/dist/prod/locales/ro-RO-JPDTUUEW.js +0 -11
  411. package/dist/prod/locales/ru-RU-B4JR7IUQ.js +0 -9
  412. package/dist/prod/locales/si-LK-N5RQ5JYF.js +0 -1
  413. package/dist/prod/locales/sk-SK-C5VTKIMK.js +0 -6
  414. package/dist/prod/locales/sl-SI-NN7IZMDC.js +0 -6
  415. package/dist/prod/locales/sv-SE-XGPEYMSR.js +0 -10
  416. package/dist/prod/locales/ta-IN-2NMHFXQM.js +0 -9
  417. package/dist/prod/locales/th-TH-HPSO5L25.js +0 -2
  418. package/dist/prod/locales/tr-TR-DEFEU3FU.js +0 -7
  419. package/dist/prod/locales/uk-UA-QMV73CPH.js +0 -6
  420. package/dist/prod/locales/vi-VN-M7AON7JQ.js +0 -5
  421. package/dist/prod/locales/zh-CN-LNUGB5OW.js +0 -10
  422. package/dist/prod/locales/zh-HK-E62DVLB3.js +0 -1
  423. package/dist/prod/locales/zh-TW-RAJ6MFWO.js +0 -9
  424. /package/dist/dev/data/{image-CNYZRAWA.js.map → image-S2GFZH7W.js.map} +0 -0
  425. /package/dist/dev/locales/{en-SMAPCEOQ.js.map → en-MLZIHOCR.js.map} +0 -0
  426. /package/dist/dev/locales/{percentages-YKFLWNK2.js.map → percentages-TR7IWPFY.js.map} +0 -0
@@ -18,18 +18,25 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
18
18
  } | undefined;
19
19
  selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
20
20
  zenModeEnabled?: boolean | undefined;
21
+ shouldCacheIgnoreZoom?: boolean | undefined;
22
+ exportScale?: number | undefined;
23
+ bindMode?: import("@excalidraw/element/types").BindMode | undefined;
24
+ gridSize?: number | undefined;
21
25
  showWelcomeScreen?: boolean | undefined;
22
26
  activeTool?: ({
23
27
  lastActiveTool: import("./types").ActiveTool | null;
24
28
  locked: boolean;
25
29
  fromSelection: boolean;
26
30
  } & import("./types").ActiveTool) | undefined;
31
+ preferredSelectionTool?: {
32
+ type: "selection" | "lasso";
33
+ initialized: boolean;
34
+ } | undefined;
27
35
  penMode?: boolean | undefined;
28
36
  penDetected?: boolean | undefined;
29
37
  exportBackground?: boolean | undefined;
30
38
  exportEmbedScene?: boolean | undefined;
31
39
  exportWithDarkMode?: boolean | undefined;
32
- exportScale?: number | undefined;
33
40
  currentItemStrokeColor?: string | undefined;
34
41
  currentItemBackgroundColor?: string | undefined;
35
42
  currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
@@ -46,7 +53,7 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
46
53
  currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
47
54
  cursorButton?: "up" | "down" | undefined;
48
55
  scrolledOutside?: boolean | undefined;
49
- openMenu?: "canvas" | "shape" | null | undefined;
56
+ openMenu?: "canvas" | null | undefined;
50
57
  openSidebar?: {
51
58
  name: string;
52
59
  tab?: string | undefined;
@@ -56,8 +63,6 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
56
63
  previousSelectedElementIds?: {
57
64
  [id: string]: true;
58
65
  } | undefined;
59
- shouldCacheIgnoreZoom?: boolean | undefined;
60
- gridSize?: number | undefined;
61
66
  gridStep?: number | undefined;
62
67
  gridModeEnabled?: boolean | undefined;
63
68
  stats?: {
@@ -1,5 +1,8 @@
1
1
  import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
2
+ import type { ValueOf } from "@excalidraw/common/utility-types";
3
+ import type { IMAGE_MIME_TYPES, STRING_MIME_TYPES } from "@excalidraw/common";
2
4
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
5
+ import type { FileSystemHandle } from "./data/filesystem";
3
6
  import type { Spreadsheet } from "./charts";
4
7
  import type { BinaryFiles } from "./types";
5
8
  export type PastedMixedContent = {
@@ -57,10 +60,70 @@ export declare const readSystemClipboard: () => Promise<{
57
60
  "image/avif"?: string | File | undefined;
58
61
  "image/jfif"?: string | File | undefined;
59
62
  }>;
63
+ type AllowedParsedDataTransferItem = {
64
+ type: ValueOf<typeof IMAGE_MIME_TYPES>;
65
+ kind: "file";
66
+ file: File;
67
+ fileHandle: FileSystemHandle | null;
68
+ } | {
69
+ type: ValueOf<typeof STRING_MIME_TYPES>;
70
+ kind: "string";
71
+ value: string;
72
+ };
73
+ type ParsedDataTransferItem = {
74
+ type: string;
75
+ kind: "file";
76
+ file: File;
77
+ fileHandle: FileSystemHandle | null;
78
+ } | {
79
+ type: string;
80
+ kind: "string";
81
+ value: string;
82
+ };
83
+ type ParsedDataTransferItemType<T extends AllowedParsedDataTransferItem["type"]> = AllowedParsedDataTransferItem & {
84
+ type: T;
85
+ };
86
+ export type ParsedDataTransferFile = Extract<AllowedParsedDataTransferItem, {
87
+ kind: "file";
88
+ }>;
89
+ type ParsedDataTranferList = ParsedDataTransferItem[] & {
90
+ /**
91
+ * Only allows filtering by known `string` data types, since `file`
92
+ * types can have multiple items of the same type (e.g. multiple image files)
93
+ * unlike `string` data transfer items.
94
+ */
95
+ findByType: typeof findDataTransferItemType;
96
+ /**
97
+ * Only allows filtering by known `string` data types, since `file`
98
+ * types can have multiple items of the same type (e.g. multiple image files)
99
+ * unlike `string` data transfer items.
100
+ */
101
+ getData: typeof getDataTransferItemData;
102
+ getFiles: typeof getDataTransferFiles;
103
+ };
104
+ declare const findDataTransferItemType: <T extends ValueOf<{
105
+ readonly text: "text/plain";
106
+ readonly html: "text/html";
107
+ readonly json: "application/json";
108
+ readonly excalidraw: "application/vnd.excalidraw+json";
109
+ readonly excalidrawlib: "application/vnd.excalidrawlib+json";
110
+ readonly excalidrawlibIds: "application/vnd.excalidrawlib.ids+json";
111
+ }>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<T> | null;
112
+ declare const getDataTransferItemData: <T extends ValueOf<{
113
+ readonly text: "text/plain";
114
+ readonly html: "text/html";
115
+ readonly json: "application/json";
116
+ readonly excalidraw: "application/vnd.excalidraw+json";
117
+ readonly excalidrawlib: "application/vnd.excalidrawlib+json";
118
+ readonly excalidrawlibIds: "application/vnd.excalidrawlib.ids+json";
119
+ }>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<ValueOf<typeof STRING_MIME_TYPES>>["value"] | null;
120
+ declare const getDataTransferFiles: (this: ParsedDataTranferList) => ParsedDataTransferFile[];
121
+ export declare const parseDataTransferEvent: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Promise<ParsedDataTranferList>;
60
122
  /**
61
123
  * Attempts to parse clipboard event.
62
124
  */
63
- export declare const parseClipboard: (event: ClipboardEvent, isPlainPaste?: boolean) => Promise<ClipboardData>;
125
+ export declare const parseClipboard: (dataList: ParsedDataTranferList, isPlainPaste?: boolean) => Promise<ClipboardData>;
64
126
  export declare const copyBlobToClipboardAsPng: (blob: Blob | Promise<Blob>) => Promise<void>;
65
127
  export declare const copyTextToSystemClipboard: (text: string | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
128
+ export declare const isClipboardEvent: (event: React.SyntheticEvent | Event) => event is ClipboardEvent;
66
129
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
2
  import "./Actions.scss";
3
- import type { AppClassProperties, AppProps, UIAppState, Zoom } from "../types";
3
+ import type { AppClassProperties, AppProps, UIAppState, Zoom, AppState } from "../types";
4
4
  import type { ActionManager } from "../actions/manager";
5
5
  export declare const canChangeStrokeColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
6
6
  export declare const canChangeBackgroundColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
@@ -10,9 +10,23 @@ export declare const SelectedShapeActions: ({ appState, elementsMap, renderActio
10
10
  renderAction: ActionManager["renderAction"];
11
11
  app: AppClassProperties;
12
12
  }) => import("react/jsx-runtime").JSX.Element;
13
- export declare const ShapesSwitcher: ({ activeTool, appState, app, UIOptions, }: {
14
- activeTool: UIAppState["activeTool"];
13
+ export declare const CompactShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
15
14
  appState: UIAppState;
15
+ elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
16
+ renderAction: ActionManager["renderAction"];
17
+ app: AppClassProperties;
18
+ setAppState: React.Component<any, AppState>["setState"];
19
+ }) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const MobileShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
21
+ appState: UIAppState;
22
+ elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
23
+ renderAction: ActionManager["renderAction"];
24
+ app: AppClassProperties;
25
+ setAppState: React.Component<any, AppState>["setState"];
26
+ }) => 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"];
16
30
  app: AppClassProperties;
17
31
  UIOptions: AppProps["UIOptions"];
18
32
  }) => import("react/jsx-runtime").JSX.Element;
@@ -24,7 +38,10 @@ export declare const UndoRedoActions: ({ renderAction, className, }: {
24
38
  renderAction: ActionManager["renderAction"];
25
39
  className?: string | undefined;
26
40
  }) => import("react/jsx-runtime").JSX.Element;
27
- export declare const ExitZenModeAction: ({ actionManager, showExitZenModeBtn, }: {
41
+ export declare const ExitZenModeButton: ({ actionManager, showExitZenModeBtn, }: {
28
42
  actionManager: ActionManager;
29
43
  showExitZenModeBtn: boolean;
30
44
  }) => import("react/jsx-runtime").JSX.Element;
45
+ export declare const ExitViewModeButton: ({ actionManager, }: {
46
+ actionManager: ActionManager;
47
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
3
- import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta } from "@excalidraw/element";
4
- import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, OrderedExcalidrawElement, SceneElementsMap } from "@excalidraw/element/types";
2
+ import { type EXPORT_IMAGE_TYPES, Emitter, type EditorInterface, type StylesPanelMode } from "@excalidraw/common";
3
+ import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
4
+ import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, SceneElementsMap } from "@excalidraw/element/types";
5
5
  import type { Mutable } from "@excalidraw/common/utility-types";
6
6
  import { ActionManager } from "../actions/manager";
7
7
  import { AnimationFrameHandler } from "../animation-frame-handler";
@@ -14,7 +14,7 @@ import { LassoTrail } from "../lasso";
14
14
  import { EraserTrail } from "../eraser";
15
15
  import type { ExportedElements } from "../data";
16
16
  import type { FileSystemHandle } from "../data/filesystem";
17
- import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets, ApplyDeltasOptions } from "../types";
17
+ import type { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, FrameNameBoundsCache, SidebarName, SidebarTabName, ToolType, OnUserFollowedPayload, GenerateDiagramToCode, NullableGridSize, Offsets } from "../types";
18
18
  import type { RoughCanvas } from "roughjs/bin/canvas";
19
19
  import type { ActionResult } from "../actions/types";
20
20
  export declare const ExcalidrawContainerContext: React.Context<{
@@ -23,17 +23,18 @@ export declare const ExcalidrawContainerContext: React.Context<{
23
23
  }>;
24
24
  export declare const useApp: () => AppClassProperties;
25
25
  export declare const useAppProps: () => AppProps;
26
- export declare const useDevice: () => Readonly<{
27
- viewport: {
28
- isMobile: boolean;
29
- isLandscape: boolean;
30
- };
31
- editor: {
32
- isMobile: boolean;
33
- canFitSidebar: boolean;
34
- };
26
+ export declare const useEditorInterface: () => Readonly<{
27
+ formFactor: "phone" | "tablet" | "desktop";
28
+ desktopUIMode: "compact" | "full";
29
+ userAgent: Readonly<{
30
+ isMobileDevice: boolean;
31
+ platform: "other" | "ios" | "android" | "unknown";
32
+ }>;
35
33
  isTouchScreen: boolean;
34
+ canFitSidebar: boolean;
35
+ isLandscape: boolean;
36
36
  }>;
37
+ export declare const useStylesPanelMode: () => StylesPanelMode;
37
38
  export declare const useExcalidrawContainer: () => {
38
39
  container: HTMLDivElement | null;
39
40
  id: string | null;
@@ -48,14 +49,14 @@ declare class App extends React.Component<AppProps, AppState> {
48
49
  rc: RoughCanvas;
49
50
  unmounted: boolean;
50
51
  actionManager: ActionManager;
51
- device: Device;
52
+ editorInterface: EditorInterface;
53
+ private stylesPanelMode;
52
54
  private excalidrawContainerRef;
53
55
  scene: Scene;
54
56
  fonts: Fonts;
55
57
  renderer: Renderer;
56
58
  visibleElements: readonly NonDeletedExcalidrawElement[];
57
59
  private resizeObserver;
58
- private nearestScrollableContainer;
59
60
  library: AppClassProperties["library"];
60
61
  libraryItemsFromStorage: LibraryItems | undefined;
61
62
  id: string;
@@ -82,6 +83,7 @@ declare class App extends React.Component<AppProps, AppState> {
82
83
  private elementsPendingErasure;
83
84
  flowChartCreator: FlowChartCreator;
84
85
  private flowChartNavigator;
86
+ bindModeHandler: ReturnType<typeof setTimeout> | null;
85
87
  hitLinkElement?: NonDeletedExcalidrawElement;
86
88
  lastPointerDownEvent: React.PointerEvent<HTMLElement> | null;
87
89
  lastPointerUpEvent: React.PointerEvent<HTMLElement> | PointerEvent | null;
@@ -153,6 +155,7 @@ declare class App extends React.Component<AppProps, AppState> {
153
155
  x: number;
154
156
  y: number;
155
157
  };
158
+ blockDragging: boolean;
156
159
  };
157
160
  eventListeners: {
158
161
  onMove: {
@@ -222,6 +225,7 @@ declare class App extends React.Component<AppProps, AppState> {
222
225
  x: number;
223
226
  y: number;
224
227
  };
228
+ blockDragging: boolean;
225
229
  };
226
230
  eventListeners: {
227
231
  onMove: {
@@ -246,6 +250,10 @@ declare class App extends React.Component<AppProps, AppState> {
246
250
  constructor(props: AppProps);
247
251
  updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
248
252
  private onWindowMessage;
253
+ private handleSkipBindMode;
254
+ private resetDelayedBindMode;
255
+ private previousHoveredBindableElement;
256
+ private handleDelayedBindModeChange;
249
257
  private cacheEmbeddableRef;
250
258
  /**
251
259
  * Returns gridSize taking into account `gridModeEnabled`.
@@ -265,7 +273,7 @@ declare class App extends React.Component<AppProps, AppState> {
265
273
  private toggleOverscrollBehavior;
266
274
  render(): import("react/jsx-runtime").JSX.Element;
267
275
  focusContainer: AppClassProperties["focusContainer"];
268
- getSceneElementsIncludingDeleted: () => readonly OrderedExcalidrawElement[];
276
+ getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
269
277
  getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
270
278
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
271
279
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
@@ -297,9 +305,11 @@ declare class App extends React.Component<AppProps, AppState> {
297
305
  */
298
306
  private resetScene;
299
307
  private initializeScene;
300
- private isMobileBreakpoint;
301
- private refreshViewportBreakpoints;
302
- private refreshEditorBreakpoints;
308
+ private getFormFactor;
309
+ refreshEditorInterface: () => void;
310
+ private reconcileStylesPanelMode;
311
+ /** TO BE USED LATER */
312
+ private setDesktopUIMode;
303
313
  private clearImageShapeCache;
304
314
  componentDidMount(): Promise<void>;
305
315
  componentWillUnmount(): void;
@@ -316,6 +326,7 @@ declare class App extends React.Component<AppProps, AppState> {
316
326
  private static resetTapTwice;
317
327
  private onTouchStart;
318
328
  private onTouchEnd;
329
+ private insertClipboardContent;
319
330
  pasteFromClipboard: (event: ClipboardEvent) => Promise<void>;
320
331
  addElementsFromPasteOrLibrary: (opts: {
321
332
  elements: readonly ExcalidrawElement[];
@@ -397,7 +408,7 @@ declare class App extends React.Component<AppProps, AppState> {
397
408
  */
398
409
  captureUpdate?: SceneData["captureUpdate"];
399
410
  }) => void;
400
- applyDeltas: (deltas: StoreDelta[], options?: ApplyDeltasOptions) => [SceneElementsMap, AppState, boolean];
411
+ applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
401
412
  mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
402
413
  private triggerRender;
403
414
  /**
@@ -489,7 +500,7 @@ declare class App extends React.Component<AppProps, AppState> {
489
500
  sceneY: number;
490
501
  link: string;
491
502
  }) => NonDeleted<ExcalidrawEmbeddableElement> | undefined;
492
- private createImageElement;
503
+ private newImagePlaceholder;
493
504
  private handleLinearElementOnPointerDown;
494
505
  private getCurrentItemRoundness;
495
506
  private createGenericElementOnPointerDown;
@@ -510,11 +521,7 @@ declare class App extends React.Component<AppProps, AppState> {
510
521
  * and when you don't want to loose those modifications
511
522
  */
512
523
  private getLatestInitializedImageElement;
513
- /**
514
- * inserts image into elements array and rerenders
515
- */
516
- private insertImageElement;
517
- private onImageAction;
524
+ private onImageToolbarButtonClick;
518
525
  private getImageNaturalDimensions;
519
526
  /** updates image cache, refreshing updated elements and/or setting status
520
527
  to error for images that fail during <img> element creation */
@@ -525,9 +532,9 @@ declare class App extends React.Component<AppProps, AppState> {
525
532
  * to render new images. This is just a failsafe */
526
533
  private scheduleImageRefresh;
527
534
  private updateBindingEnabledOnPointerMove;
528
- private maybeSuggestBindingAtCursor;
529
535
  private clearSelection;
530
536
  private handleInteractiveCanvasRef;
537
+ private insertImages;
531
538
  private handleAppOnDrop;
532
539
  loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
533
540
  private handleCanvasContextMenu;
@@ -542,6 +549,7 @@ declare class App extends React.Component<AppProps, AppState> {
542
549
  private updateDOMRect;
543
550
  refresh: () => void;
544
551
  private getCanvasOffsets;
552
+ watchState: () => void;
545
553
  private updateLanguage;
546
554
  }
547
555
  declare global {
@@ -551,6 +559,7 @@ declare global {
551
559
  elements: readonly ExcalidrawElement[];
552
560
  state: AppState;
553
561
  setState: React.Component<any, AppState>["setState"];
562
+ watchState: (prev: any, next: any) => void | undefined;
554
563
  app: InstanceType<typeof App>;
555
564
  history: History;
556
565
  store: Store;
@@ -10,8 +10,10 @@ interface PickerProps {
10
10
  palette: ColorPaletteCustom;
11
11
  updateData: (formData?: any) => void;
12
12
  children?: React.ReactNode;
13
+ showTitle?: boolean;
13
14
  onEyeDropperToggle: (force?: boolean) => void;
14
15
  onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
16
+ showHotKey?: boolean;
15
17
  }
16
18
  export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
17
19
  export {};
@@ -4,6 +4,7 @@ interface PickerColorListProps {
4
4
  color: string | null;
5
5
  onChange: (color: string) => void;
6
6
  activeShade: number;
7
+ showHotKey?: boolean;
7
8
  }
8
- declare const PickerColorList: ({ palette, color, onChange, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const PickerColorList: ({ palette, color, onChange, activeShade, showHotKey, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export default PickerColorList;
@@ -3,6 +3,7 @@ interface ShadeListProps {
3
3
  color: string | null;
4
4
  onChange: (color: string) => void;
5
5
  palette: ColorPaletteCustom;
6
+ showHotKey?: boolean;
6
7
  }
7
- export declare const ShadeList: ({ color, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const ShadeList: ({ color, onChange, palette, showHotKey, }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -8,6 +8,7 @@ export declare const DEFAULT_CATEGORIES: {
8
8
  editor: string;
9
9
  elements: string;
10
10
  links: string;
11
+ library: string;
11
12
  };
12
13
  type CommandPaletteProps = {
13
14
  customCommandPaletteItems?: CommandPaletteItem[];
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { ActionManager } from "../../actions/manager";
3
3
  import type { Action } from "../../actions/types";
4
- import type { UIAppState } from "../../types";
5
4
  export type CommandPaletteItem = {
6
5
  label: string;
7
6
  /** additional keywords to match against
@@ -12,7 +11,7 @@ export type CommandPaletteItem = {
12
11
  * (deburred name + keywords)
13
12
  */
14
13
  haystack?: string;
15
- icon?: React.ReactNode | ((appState: UIAppState) => React.ReactNode);
14
+ icon?: Action["icon"];
16
15
  category: string;
17
16
  order?: number;
18
17
  predicate?: boolean | Action["predicate"];
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import "./ExcalidrawLogo.scss";
3
- type LogoSize = "xs" | "small" | "normal" | "large" | "custom";
3
+ type LogoSize = "xs" | "small" | "normal" | "large" | "custom" | "mobile";
4
4
  interface LogoProps {
5
5
  size?: LogoSize;
6
6
  withText?: boolean;
@@ -4,7 +4,7 @@ export type ButtonVariant = "filled" | "outlined" | "icon";
4
4
  export type ButtonColor = "primary" | "danger" | "warning" | "muted" | "success";
5
5
  export type ButtonSize = "medium" | "large";
6
6
  export type FilledButtonProps = {
7
- label: string;
7
+ label?: string;
8
8
  children?: React.ReactNode;
9
9
  onClick?: (event: React.MouseEvent) => void;
10
10
  status?: null | "loading" | "success";
@@ -16,6 +16,7 @@ interface FontPickerProps {
16
16
  onHover: (fontFamily: FontFamilyValues) => void;
17
17
  onLeave: () => void;
18
18
  onPopupChange: (open: boolean) => void;
19
+ compactMode?: boolean;
19
20
  }
20
- export declare const FontPicker: React.MemoExoticComponent<({ isOpened, selectedFontFamily, hoveredFontFamily, onSelect, onHover, onLeave, onPopupChange, }: FontPickerProps) => import("react/jsx-runtime").JSX.Element>;
21
+ export declare const FontPicker: React.MemoExoticComponent<({ isOpened, selectedFontFamily, hoveredFontFamily, onSelect, onHover, onLeave, onPopupChange, compactMode, }: FontPickerProps) => import("react/jsx-runtime").JSX.Element>;
21
22
  export {};
@@ -1,6 +1,8 @@
1
1
  import type { FontFamilyValues } from "@excalidraw/element/types";
2
2
  interface FontPickerTriggerProps {
3
3
  selectedFontFamily: FontFamilyValues | null;
4
+ isOpened?: boolean;
5
+ compactMode?: boolean;
4
6
  }
5
- export declare const FontPickerTrigger: ({ selectedFontFamily, }: FontPickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FontPickerTrigger: ({ selectedFontFamily, isOpened, compactMode, }: FontPickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1,10 +1,11 @@
1
+ import type { EditorInterface } from "@excalidraw/common";
1
2
  import "./HintViewer.scss";
2
- import type { AppClassProperties, Device, UIAppState } from "../types";
3
+ import type { AppClassProperties, UIAppState } from "../types";
3
4
  interface HintViewerProps {
4
5
  appState: UIAppState;
5
6
  isMobile: boolean;
6
- device: Device;
7
+ editorInterface: EditorInterface;
7
8
  app: AppClassProperties;
8
9
  }
9
- export declare const HintViewer: ({ appState, isMobile, device, app, }: HintViewerProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ export declare const HintViewer: ({ appState, isMobile, editorInterface, app, }: HintViewerProps) => import("react/jsx-runtime").JSX.Element | null;
10
11
  export {};
@@ -1,3 +1,5 @@
1
- export declare const InlineIcon: ({ icon }: {
1
+ export declare const InlineIcon: ({ className, icon, size, }: {
2
+ className?: string | undefined;
2
3
  icon: React.ReactNode;
4
+ size?: string | undefined;
3
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -17,6 +17,7 @@ interface LayerUIProps {
17
17
  onPenModeToggle: AppClassProperties["togglePenMode"];
18
18
  showExitZenModeBtn: boolean;
19
19
  langCode: Language["code"];
20
+ renderTopLeftUI?: ExcalidrawProps["renderTopLeftUI"];
20
21
  renderTopRightUI?: ExcalidrawProps["renderTopRightUI"];
21
22
  renderCustomStats?: ExcalidrawProps["renderCustomStats"];
22
23
  UIOptions: AppProps["UIOptions"];
@@ -27,5 +28,5 @@ interface LayerUIProps {
27
28
  isCollaborating: boolean;
28
29
  generateLinkForSelection?: AppProps["generateLinkForSelection"];
29
30
  }
30
- declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, elements, canvas, onLockToggle, onHandToolToggle, onPenModeToggle, showExitZenModeBtn, renderTopRightUI, renderCustomStats, UIOptions, onExportImage, renderWelcomeScreen, children, app, isCollaborating, generateLinkForSelection, }: LayerUIProps) => import("react/jsx-runtime").JSX.Element>;
31
+ declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, elements, canvas, onLockToggle, onHandToolToggle, onPenModeToggle, showExitZenModeBtn, renderTopLeftUI, renderTopRightUI, renderCustomStats, UIOptions, onExportImage, renderWelcomeScreen, children, app, isCollaborating, generateLinkForSelection, }: LayerUIProps) => import("react/jsx-runtime").JSX.Element>;
31
32
  export default _default;
@@ -3,7 +3,7 @@ import type { ExcalidrawElement, NonDeleted } from "@excalidraw/element/types";
3
3
  import type { SvgCache } from "../hooks/useLibraryItemSvg";
4
4
  import type { LibraryItem } from "../types";
5
5
  import type { ReactNode } from "react";
6
- type LibraryOrPendingItem = (LibraryItem | /* pending library item */ {
6
+ type LibraryOrPendingItem = readonly (LibraryItem | /* pending library item */ {
7
7
  id: null;
8
8
  elements: readonly NonDeleted<ExcalidrawElement>[];
9
9
  })[];
@@ -0,0 +1,4 @@
1
+ export declare const LinkButton: ({ children, href, }: {
2
+ href: string;
3
+ children: React.ReactNode;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { ActionManager } from "../actions/manager";
4
- import type { AppClassProperties, AppProps, AppState, Device, ExcalidrawProps, UIAppState } from "../types";
4
+ import type { AppClassProperties, AppProps, AppState, UIAppState } from "../types";
5
5
  import type { JSX } from "react";
6
6
  type MobileMenuProps = {
7
7
  appState: UIAppState;
@@ -10,16 +10,14 @@ type MobileMenuProps = {
10
10
  renderImageExportDialog: () => React.ReactNode;
11
11
  setAppState: React.Component<any, AppState>["setState"];
12
12
  elements: readonly NonDeletedExcalidrawElement[];
13
- onLockToggle: () => void;
14
13
  onHandToolToggle: () => void;
15
14
  onPenModeToggle: AppClassProperties["togglePenMode"];
16
15
  renderTopRightUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
17
- renderCustomStats?: ExcalidrawProps["renderCustomStats"];
16
+ renderTopLeftUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
18
17
  renderSidebars: () => JSX.Element | null;
19
- device: Device;
20
18
  renderWelcomeScreen: boolean;
21
19
  UIOptions: AppProps["UIOptions"];
22
20
  app: AppClassProperties;
23
21
  };
24
- export declare const MobileMenu: ({ appState, elements, actionManager, setAppState, onLockToggle, onHandToolToggle, onPenModeToggle, renderTopRightUI, renderCustomStats, renderSidebars, device, renderWelcomeScreen, UIOptions, app, }: MobileMenuProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const MobileMenu: ({ appState, elements, actionManager, setAppState, onHandToolToggle, renderTopLeftUI, renderTopRightUI, renderSidebars, renderWelcomeScreen, UIOptions, app, onPenModeToggle, }: MobileMenuProps) => import("react/jsx-runtime").JSX.Element;
25
23
  export {};
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import "./ToolIcon.scss";
3
+ import "./MobileToolBar.scss";
4
+ import type { AppClassProperties, UIAppState } from "../types";
5
+ type MobileToolBarProps = {
6
+ app: AppClassProperties;
7
+ onHandToolToggle: () => void;
8
+ setAppState: React.Component<any, UIAppState>["setState"];
9
+ };
10
+ export declare const MobileToolBar: ({ app, onHandToolToggle, setAppState, }: MobileToolBarProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -10,6 +10,7 @@ type Props = {
10
10
  offsetTop?: number;
11
11
  viewportWidth?: number;
12
12
  viewportHeight?: number;
13
+ className?: string;
13
14
  };
14
- export declare const Popover: ({ children, left, top, onCloseRequest, fitInViewport, offsetLeft, offsetTop, viewportWidth, viewportHeight, }: Props) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const Popover: ({ children, left, top, onCloseRequest, fitInViewport, offsetLeft, offsetTop, viewportWidth, viewportHeight, className, }: Props) => import("react/jsx-runtime").JSX.Element;
15
16
  export {};
@@ -10,6 +10,7 @@ interface PropertiesPopoverProps {
10
10
  onPointerLeave?: React.PointerEventHandler<HTMLDivElement>;
11
11
  onFocusOutside?: Popover.PopoverContentProps["onFocusOutside"];
12
12
  onPointerDownOutside?: Popover.PopoverContentProps["onPointerDownOutside"];
13
+ preventAutoFocusOnTouch?: boolean;
13
14
  }
14
15
  export declare const PropertiesPopover: React.ForwardRefExoticComponent<PropertiesPopoverProps & React.RefAttributes<HTMLDivElement>>;
15
16
  export {};
@@ -15,5 +15,5 @@ export declare const newOrigin: (x1: number, y1: number, w1: number, h1: number,
15
15
  x: number;
16
16
  y: number;
17
17
  };
18
- export declare const moveElement: (newTopLeftX: number, newTopLeftY: number, originalElement: ExcalidrawElement, scene: Scene, originalElementsMap: ElementsMap, shouldInformMutation?: boolean) => void;
18
+ export declare const moveElement: (newTopLeftX: number, newTopLeftY: number, originalElement: ExcalidrawElement, scene: Scene, appState: AppState, originalElementsMap: ElementsMap, shouldInformMutation?: boolean) => void;
19
19
  export declare const getAtomicUnits: (targetElements: readonly ExcalidrawElement[], appState: AppState) => AtomicUnit[];
@@ -1,5 +1,4 @@
1
- import type { ReactNode } from "react";
2
- import type { JSX } from "react";
1
+ import type { JSX, ReactNode } from "react";
3
2
  export declare const TTDDialogTrigger: {
4
3
  ({ children, icon, }: {
5
4
  children?: ReactNode;
@@ -12,6 +12,7 @@ type TextFieldProps = {
12
12
  className?: string;
13
13
  placeholder?: string;
14
14
  isRedacted?: boolean;
15
+ type?: "text" | "search";
15
16
  } & ({
16
17
  value: string;
17
18
  } | {
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import "./ToolPopover.scss";
3
+ import type { AppClassProperties } from "../types";
4
+ type ToolOption = {
5
+ type: string;
6
+ icon: React.ReactNode;
7
+ title?: string;
8
+ };
9
+ type ToolPopoverProps = {
10
+ app: AppClassProperties;
11
+ options: readonly ToolOption[];
12
+ activeTool: {
13
+ type: string;
14
+ };
15
+ defaultOption: string;
16
+ className?: string;
17
+ namePrefix: string;
18
+ title: string;
19
+ "data-testid": string;
20
+ onToolChange: (type: string) => void;
21
+ displayedOption: ToolOption;
22
+ fillable?: boolean;
23
+ };
24
+ export declare const ToolPopover: ({ app, options, activeTool, defaultOption, className, namePrefix, title, "data-testid": dataTestId, onToolChange, displayedOption, fillable, }: ToolPopoverProps) => import("react/jsx-runtime").JSX.Element;
25
+ export {};