@dwelle/excalidraw 0.5.0-2dbdd6f → 0.5.0-2e5786f

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 (553) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/README.md +111 -14
  3. package/dist/dev/{chunk-EWKWI3K7.js → chunk-IUKF2BNN.js} +59 -5
  4. package/dist/dev/chunk-IUKF2BNN.js.map +7 -0
  5. package/dist/dev/chunk-Q67DF2PJ.js +69 -0
  6. package/dist/dev/chunk-Q67DF2PJ.js.map +7 -0
  7. package/dist/dev/{chunk-JBODKHIT.js → chunk-XFZZLSOF.js} +16745 -11631
  8. package/dist/dev/chunk-XFZZLSOF.js.map +7 -0
  9. package/dist/dev/{chunk-NYLL7DNJ.js → chunk-XRXU5XOA.js} +2 -2
  10. package/dist/dev/components/TTDDialog/{CodeMirrorEditor-PY5ZVWKQ.js → CodeMirrorEditor-GYLDZZSD.js} +2 -2
  11. package/dist/dev/data/{image-WSL7K3G4.js → image-KVOR7M3R.js} +3 -3
  12. package/dist/dev/index.css +1065 -724
  13. package/dist/dev/index.css.map +3 -3
  14. package/dist/dev/index.js +16584 -10255
  15. package/dist/dev/index.js.map +4 -4
  16. package/dist/dev/locales/{ar-SA-AGVJN2FU.js → ar-SA-EW44IW4V.js} +91 -46
  17. package/dist/dev/locales/ar-SA-EW44IW4V.js.map +7 -0
  18. package/dist/dev/locales/{az-AZ-62IXPX5D.js → az-AZ-AI7WAYA2.js} +49 -4
  19. package/dist/dev/locales/az-AZ-AI7WAYA2.js.map +7 -0
  20. package/dist/dev/locales/{bg-BG-UBDZF4KA.js → bg-BG-43ZNGDXF.js} +49 -4
  21. package/dist/dev/locales/bg-BG-43ZNGDXF.js.map +7 -0
  22. package/dist/dev/locales/{bn-BD-4TAUVZOD.js → bn-BD-PU4CN7NP.js} +49 -4
  23. package/dist/dev/locales/bn-BD-PU4CN7NP.js.map +7 -0
  24. package/dist/dev/locales/{bn-IN-PUGL2LDE.js → bn-IN-54CF43JL.js} +49 -4
  25. package/dist/dev/locales/bn-IN-54CF43JL.js.map +7 -0
  26. package/dist/dev/locales/{ca-ES-GEEW5L7T.js → ca-ES-RHJO3QDO.js} +50 -5
  27. package/dist/dev/locales/ca-ES-RHJO3QDO.js.map +7 -0
  28. package/dist/dev/locales/{cs-CZ-LNVE3QM5.js → cs-CZ-ZRSAO3BA.js} +49 -4
  29. package/dist/dev/locales/cs-CZ-ZRSAO3BA.js.map +7 -0
  30. package/dist/dev/locales/{da-DK-CAYJG7FJ.js → da-DK-OAB6DEJX.js} +49 -4
  31. package/dist/dev/locales/da-DK-OAB6DEJX.js.map +7 -0
  32. package/dist/dev/locales/{de-CH-GCXOD4LK.js → de-CH-QF7JLXTF.js} +157 -112
  33. package/dist/dev/locales/de-CH-QF7JLXTF.js.map +7 -0
  34. package/dist/dev/locales/{de-DE-CGDBECYD.js → de-DE-5ZO4KOPT.js} +157 -112
  35. package/dist/dev/locales/de-DE-5ZO4KOPT.js.map +7 -0
  36. package/dist/dev/locales/{el-GR-G5QZC24A.js → el-GR-F74ZSUEO.js} +50 -5
  37. package/dist/dev/locales/el-GR-F74ZSUEO.js.map +7 -0
  38. package/dist/dev/locales/{en-A3UOWEYW.js → en-BC4BNQRX.js} +8 -2
  39. package/dist/dev/locales/{es-ES-UMEOH76W.js → es-ES-3B3IENPS.js} +144 -99
  40. package/dist/dev/locales/es-ES-3B3IENPS.js.map +7 -0
  41. package/dist/dev/locales/{eu-ES-IWRZXJC5.js → eu-ES-NH447TVU.js} +203 -158
  42. package/dist/dev/locales/eu-ES-NH447TVU.js.map +7 -0
  43. package/dist/dev/locales/{fa-IR-QOYVIIJA.js → fa-IR-V44PNTTK.js} +68 -23
  44. package/dist/dev/locales/fa-IR-V44PNTTK.js.map +7 -0
  45. package/dist/dev/locales/{fi-FI-BXRW65OA.js → fi-FI-ZXSYWCC4.js} +49 -4
  46. package/dist/dev/locales/fi-FI-ZXSYWCC4.js.map +7 -0
  47. package/dist/dev/locales/{fr-FR-R2QH5VCW.js → fr-FR-RJSOSEYS.js} +88 -43
  48. package/dist/dev/locales/fr-FR-RJSOSEYS.js.map +7 -0
  49. package/dist/dev/locales/{gl-ES-4ES3ZADP.js → gl-ES-NAUVMVFY.js} +49 -4
  50. package/dist/dev/locales/gl-ES-NAUVMVFY.js.map +7 -0
  51. package/dist/dev/locales/{he-IL-TRQRRYPH.js → he-IL-JBKWWR75.js} +145 -100
  52. package/dist/dev/locales/he-IL-JBKWWR75.js.map +7 -0
  53. package/dist/dev/locales/{hi-IN-U46BOJEC.js → hi-IN-SD773MVZ.js} +50 -5
  54. package/dist/dev/locales/hi-IN-SD773MVZ.js.map +7 -0
  55. package/dist/dev/locales/{hu-HU-JDULJ6XL.js → hu-HU-OTA7GOAV.js} +49 -4
  56. package/dist/dev/locales/hu-HU-OTA7GOAV.js.map +7 -0
  57. package/dist/dev/locales/{id-ID-BLIXNCUT.js → id-ID-KGCGQFTT.js} +139 -94
  58. package/dist/dev/locales/id-ID-KGCGQFTT.js.map +7 -0
  59. package/dist/dev/locales/{it-IT-6TBW7RUK.js → it-IT-EWGEXMVK.js} +54 -9
  60. package/dist/dev/locales/it-IT-EWGEXMVK.js.map +7 -0
  61. package/dist/dev/locales/{ja-JP-6HYAQFYX.js → ja-JP-YMGRGBPS.js} +189 -144
  62. package/dist/dev/locales/ja-JP-YMGRGBPS.js.map +7 -0
  63. package/dist/dev/locales/{kaa-Z5UP62XJ.js → kaa-RRE7XUCW.js} +49 -4
  64. package/dist/dev/locales/kaa-RRE7XUCW.js.map +7 -0
  65. package/dist/dev/locales/{kab-KAB-Z7STWQKS.js → kab-KAB-ZCYVOJU4.js} +49 -4
  66. package/dist/dev/locales/kab-KAB-ZCYVOJU4.js.map +7 -0
  67. package/dist/dev/locales/{kk-KZ-BWHY45DX.js → kk-KZ-TO6XEFJC.js} +49 -4
  68. package/dist/dev/locales/kk-KZ-TO6XEFJC.js.map +7 -0
  69. package/dist/dev/locales/{km-KH-HGLNWNRU.js → km-KH-3HTDL5HB.js} +49 -4
  70. package/dist/dev/locales/km-KH-3HTDL5HB.js.map +7 -0
  71. package/dist/dev/locales/{ko-KR-CO36WKPC.js → ko-KR-O4L4O7L6.js} +133 -88
  72. package/dist/dev/locales/ko-KR-O4L4O7L6.js.map +7 -0
  73. package/dist/dev/locales/{ku-TR-AACVIARC.js → ku-TR-AFJWDY67.js} +49 -4
  74. package/dist/dev/locales/ku-TR-AFJWDY67.js.map +7 -0
  75. package/dist/dev/locales/{lt-LT-CFYYFLDV.js → lt-LT-7QOT2VDQ.js} +49 -4
  76. package/dist/dev/locales/lt-LT-7QOT2VDQ.js.map +7 -0
  77. package/dist/dev/locales/{lv-LV-QCBBOFFU.js → lv-LV-WV6C4NYF.js} +49 -4
  78. package/dist/dev/locales/lv-LV-WV6C4NYF.js.map +7 -0
  79. package/dist/dev/locales/{mr-IN-B2CM5GK5.js → mr-IN-3TLYWOEI.js} +52 -7
  80. package/dist/dev/locales/mr-IN-3TLYWOEI.js.map +7 -0
  81. package/dist/dev/locales/{my-MM-756BNN36.js → my-MM-NNL2QJT3.js} +49 -4
  82. package/dist/dev/locales/my-MM-NNL2QJT3.js.map +7 -0
  83. package/dist/dev/locales/{nb-NO-5BLHQI4J.js → nb-NO-PG3XLMEV.js} +50 -5
  84. package/dist/dev/locales/nb-NO-PG3XLMEV.js.map +7 -0
  85. package/dist/dev/locales/{nl-NL-225BLGAH.js → nl-NL-MMOYEKKQ.js} +59 -14
  86. package/dist/dev/locales/nl-NL-MMOYEKKQ.js.map +7 -0
  87. package/dist/dev/locales/{nn-NO-4J7MR6GH.js → nn-NO-AAC2I2YX.js} +49 -4
  88. package/dist/dev/locales/nn-NO-AAC2I2YX.js.map +7 -0
  89. package/dist/dev/locales/{oc-FR-XCETH7KF.js → oc-FR-SR6MFB4N.js} +50 -5
  90. package/dist/dev/locales/oc-FR-SR6MFB4N.js.map +7 -0
  91. package/dist/dev/locales/{pa-IN-32NBAN5L.js → pa-IN-ADGMQLQI.js} +49 -4
  92. package/dist/dev/locales/pa-IN-ADGMQLQI.js.map +7 -0
  93. package/dist/dev/locales/{percentages-ZRLRVMSI.js → percentages-X2QIQ6XJ.js} +2 -2
  94. package/dist/dev/locales/{pl-PL-R6OJ54BT.js → pl-PL-FNIPTMVP.js} +50 -5
  95. package/dist/dev/locales/pl-PL-FNIPTMVP.js.map +7 -0
  96. package/dist/dev/locales/{pt-BR-7AFGAKGR.js → pt-BR-67FMCDNE.js} +136 -91
  97. package/dist/dev/locales/pt-BR-67FMCDNE.js.map +7 -0
  98. package/dist/dev/locales/{pt-PT-S6BMW6MY.js → pt-PT-4G3GI4SF.js} +135 -90
  99. package/dist/dev/locales/pt-PT-4G3GI4SF.js.map +7 -0
  100. package/dist/dev/locales/{ro-RO-4JVGQHS2.js → ro-RO-CUZFN555.js} +54 -9
  101. package/dist/dev/locales/ro-RO-CUZFN555.js.map +7 -0
  102. package/dist/dev/locales/{ru-RU-IESI752T.js → ru-RU-4GHINTII.js} +56 -11
  103. package/dist/dev/locales/ru-RU-4GHINTII.js.map +7 -0
  104. package/dist/dev/locales/{si-LK-H75E7PKD.js → si-LK-SSNT7T4A.js} +50 -5
  105. package/dist/dev/locales/si-LK-SSNT7T4A.js.map +7 -0
  106. package/dist/dev/locales/{sk-SK-EUK2NR2F.js → sk-SK-J7TKZQEH.js} +87 -42
  107. package/dist/dev/locales/sk-SK-J7TKZQEH.js.map +7 -0
  108. package/dist/dev/locales/{sl-SI-AKW7R5PW.js → sl-SI-SIBMLDYY.js} +135 -90
  109. package/dist/dev/locales/sl-SI-SIBMLDYY.js.map +7 -0
  110. package/dist/dev/locales/{sv-SE-QIBOOXLJ.js → sv-SE-6GYGFZNL.js} +132 -87
  111. package/dist/dev/locales/sv-SE-6GYGFZNL.js.map +7 -0
  112. package/dist/dev/locales/{ta-IN-LBK2NQ5K.js → ta-IN-7AW6CTGA.js} +49 -4
  113. package/dist/dev/locales/ta-IN-7AW6CTGA.js.map +7 -0
  114. package/dist/dev/locales/{th-TH-YJ2E6GVT.js → th-TH-FP7ULYYM.js} +98 -53
  115. package/dist/dev/locales/th-TH-FP7ULYYM.js.map +7 -0
  116. package/dist/dev/locales/{tr-TR-Y5GO2XJW.js → tr-TR-UDQGNXAG.js} +126 -81
  117. package/dist/dev/locales/tr-TR-UDQGNXAG.js.map +7 -0
  118. package/dist/dev/locales/{uk-UA-XYAFHHJW.js → uk-UA-25HL2NCU.js} +109 -64
  119. package/dist/dev/locales/uk-UA-25HL2NCU.js.map +7 -0
  120. package/dist/dev/locales/{uz-UZ-LF3CBRYE.js → uz-UZ-OPSBAY4H.js} +49 -4
  121. package/dist/dev/locales/uz-UZ-OPSBAY4H.js.map +7 -0
  122. package/dist/dev/locales/{vi-VN-WDPZEUOJ.js → vi-VN-DK367UGA.js} +49 -4
  123. package/dist/dev/locales/vi-VN-DK367UGA.js.map +7 -0
  124. package/dist/dev/locales/{zh-CN-SZ37453H.js → zh-CN-QCVKNWUH.js} +88 -43
  125. package/dist/dev/locales/zh-CN-QCVKNWUH.js.map +7 -0
  126. package/dist/dev/locales/{zh-HK-QDQ5QNBC.js → zh-HK-WFGYHWPG.js} +49 -4
  127. package/dist/dev/locales/zh-HK-WFGYHWPG.js.map +7 -0
  128. package/dist/dev/locales/{zh-TW-CYU6GFBV.js → zh-TW-WHQS4ZSD.js} +134 -89
  129. package/dist/dev/locales/zh-TW-WHQS4ZSD.js.map +7 -0
  130. package/dist/dev/subset-shared.chunk.js +1 -1
  131. package/dist/dev/subset-worker.chunk.js +1 -1
  132. package/dist/prod/chunk-DYU5D34O.js +1 -0
  133. package/dist/prod/chunk-FZAZBDSE.js +12 -0
  134. package/dist/prod/chunk-OKMKEMDC.js +35 -0
  135. package/dist/prod/{chunk-ZV7TQH6J.js → chunk-RX4U73MO.js} +1 -1
  136. package/dist/prod/components/TTDDialog/{CodeMirrorEditor-M5ZUJBXD.js → CodeMirrorEditor-TTO5E5XX.js} +1 -1
  137. package/dist/prod/data/image-QH2OFXIG.js +1 -0
  138. package/dist/prod/index.css +1 -1
  139. package/dist/prod/index.js +67 -98
  140. package/dist/prod/locales/ar-SA-5WIASEJP.js +10 -0
  141. package/dist/prod/locales/az-AZ-V5EUQD6C.js +1 -0
  142. package/dist/prod/locales/bg-BG-EXASCMTR.js +5 -0
  143. package/dist/prod/locales/bn-BD-U4SYNFCO.js +3 -0
  144. package/dist/prod/locales/bn-IN-HKDJIITE.js +3 -0
  145. package/dist/prod/locales/ca-ES-2KGUU5XB.js +8 -0
  146. package/dist/prod/locales/cs-CZ-VUCGPRML.js +7 -0
  147. package/dist/prod/locales/da-DK-NNDP2IVP.js +2 -0
  148. package/dist/prod/locales/de-CH-I7RAVIZN.js +11 -0
  149. package/dist/prod/locales/de-DE-WBQ3DQLR.js +11 -0
  150. package/dist/prod/locales/el-GR-TYQHVGXW.js +7 -0
  151. package/dist/prod/locales/en-R7FWCZ5G.js +1 -0
  152. package/dist/prod/locales/es-ES-JEUOREKJ.js +12 -0
  153. package/dist/prod/locales/eu-ES-SO5DEEAN.js +8 -0
  154. package/dist/prod/locales/fa-IR-I4JNTJHK.js +9 -0
  155. package/dist/prod/locales/fi-FI-REAEF6HQ.js +6 -0
  156. package/dist/prod/locales/fr-FR-SUCL7J6B.js +12 -0
  157. package/dist/prod/locales/gl-ES-KHCSOGVH.js +6 -0
  158. package/dist/prod/locales/he-IL-JYXVXV2Q.js +9 -0
  159. package/dist/prod/locales/hi-IN-BU52H3BO.js +3 -0
  160. package/dist/prod/locales/hu-HU-OWADXDQ3.js +3 -0
  161. package/dist/prod/locales/id-ID-2WY7E4VX.js +8 -0
  162. package/dist/prod/locales/it-IT-INVHSAJF.js +12 -0
  163. package/dist/prod/locales/ja-JP-JBNTKYP4.js +12 -0
  164. package/dist/prod/locales/kaa-TC3VIB7V.js +1 -0
  165. package/dist/prod/locales/kab-KAB-UOUDSQKM.js +4 -0
  166. package/dist/prod/locales/kk-KZ-P5H2X7YS.js +1 -0
  167. package/dist/prod/locales/km-KH-IHMV2US7.js +7 -0
  168. package/dist/prod/locales/ko-KR-ZTMANIDF.js +5 -0
  169. package/dist/prod/locales/ku-TR-GPJTRB5G.js +6 -0
  170. package/dist/prod/locales/lt-LT-V3XDOK3P.js +3 -0
  171. package/dist/prod/locales/lv-LV-DVQ3FADO.js +4 -0
  172. package/dist/prod/locales/mr-IN-VZ6HH5FE.js +9 -0
  173. package/dist/prod/locales/my-MM-XYKWHRK6.js +1 -0
  174. package/dist/prod/locales/nb-NO-UNO2GGZJ.js +8 -0
  175. package/dist/prod/locales/nl-NL-76EFHT4P.js +13 -0
  176. package/dist/prod/locales/nn-NO-CFKD7ABE.js +4 -0
  177. package/dist/prod/locales/oc-FR-YBJTCJ3J.js +4 -0
  178. package/dist/prod/locales/pa-IN-SNOXSMRV.js +4 -0
  179. package/dist/prod/locales/percentages-LWOC67ZH.js +1 -0
  180. package/dist/prod/locales/pl-PL-BSY6YFZ3.js +12 -0
  181. package/dist/prod/locales/pt-BR-CZDV62R3.js +10 -0
  182. package/dist/prod/locales/pt-PT-JO57XJJW.js +12 -0
  183. package/dist/prod/locales/ro-RO-UZ5ICYYN.js +12 -0
  184. package/dist/prod/locales/ru-RU-AN7JPREC.js +10 -0
  185. package/dist/prod/locales/si-LK-7CBLD6QQ.js +1 -0
  186. package/dist/prod/locales/sk-SK-SWR6DKBI.js +7 -0
  187. package/dist/prod/locales/sl-SI-QY5KCFGA.js +8 -0
  188. package/dist/prod/locales/sv-SE-O3OFCY3J.js +12 -0
  189. package/dist/prod/locales/ta-IN-V6NHHU6Z.js +6 -0
  190. package/dist/prod/locales/th-TH-WLSZUSBX.js +1 -0
  191. package/dist/prod/locales/tr-TR-GUFYG22B.js +4 -0
  192. package/dist/prod/locales/uk-UA-K6SV5NFQ.js +6 -0
  193. package/dist/prod/locales/uz-UZ-TVKTZO2G.js +1 -0
  194. package/dist/prod/locales/vi-VN-7FKFXJNO.js +7 -0
  195. package/dist/prod/locales/zh-CN-AOKVLNNK.js +11 -0
  196. package/dist/prod/locales/zh-HK-CDKPF5DC.js +1 -0
  197. package/dist/prod/locales/zh-TW-ZVGYESGW.js +13 -0
  198. package/dist/prod/subset-shared.chunk.js +1 -1
  199. package/dist/prod/subset-worker.chunk.js +1 -1
  200. package/dist/types/common/src/appEventBus.d.ts +27 -0
  201. package/dist/types/common/src/colors.d.ts +23 -1
  202. package/dist/types/common/src/constants.d.ts +66 -7
  203. package/dist/types/common/src/index.d.ts +2 -0
  204. package/dist/types/common/src/keys.d.ts +4 -0
  205. package/dist/types/common/src/points.d.ts +1 -1
  206. package/dist/types/common/src/random.d.ts +7 -0
  207. package/dist/types/common/src/utils.d.ts +7 -46
  208. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  209. package/dist/types/element/src/Scene.d.ts +7 -5
  210. package/dist/types/element/src/align.d.ts +2 -2
  211. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  212. package/dist/types/element/src/arrows/focus.d.ts +5 -2
  213. package/dist/types/element/src/binding.d.ts +28 -13
  214. package/dist/types/element/src/bounds.d.ts +22 -7
  215. package/dist/types/element/src/bucketFill.d.ts +110 -0
  216. package/dist/types/element/src/collision.d.ts +14 -5
  217. package/dist/types/element/src/comparisons.d.ts +8 -5
  218. package/dist/types/element/src/convertToShape.d.ts +23 -0
  219. package/dist/types/element/src/delta.d.ts +23 -1
  220. package/dist/types/element/src/distribute.d.ts +2 -2
  221. package/dist/types/element/src/dragElements.d.ts +27 -0
  222. package/dist/types/element/src/duplicate.d.ts +64 -3
  223. package/dist/types/element/src/embeddable.d.ts +2 -2
  224. package/dist/types/element/src/flowchart.d.ts +11 -7
  225. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  226. package/dist/types/element/src/frame.d.ts +11 -10
  227. package/dist/types/element/src/groups.d.ts +9 -9
  228. package/dist/types/element/src/index.d.ts +6 -1
  229. package/dist/types/element/src/linearElementEditor.d.ts +27 -10
  230. package/dist/types/element/src/listMarker.d.ts +34 -0
  231. package/dist/types/element/src/mutateElement.d.ts +1 -1
  232. package/dist/types/element/src/newElement.d.ts +53 -3
  233. package/dist/types/element/src/renderElement.d.ts +21 -7
  234. package/dist/types/element/src/resizeElements.d.ts +2 -2
  235. package/dist/types/element/src/selection.d.ts +7 -7
  236. package/dist/types/element/src/shape.d.ts +27 -1
  237. package/dist/types/element/src/sizeHelpers.d.ts +6 -0
  238. package/dist/types/element/src/sortElements.d.ts +10 -0
  239. package/dist/types/element/src/stickyNote.d.ts +183 -0
  240. package/dist/types/element/src/textElement.d.ts +20 -9
  241. package/dist/types/element/src/transform.d.ts +26 -7
  242. package/dist/types/element/src/typeChecks.d.ts +29 -27
  243. package/dist/types/element/src/types.d.ts +43 -7
  244. package/dist/types/element/src/utils.d.ts +15 -4
  245. package/dist/types/element/src/zindex.d.ts +2 -2
  246. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +92 -26
  247. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  248. package/dist/types/excalidraw/actions/actionBoundText.d.ts +62 -18
  249. package/dist/types/excalidraw/actions/actionCanvas.d.ts +385 -753
  250. package/dist/types/excalidraw/actions/actionClipboard.d.ts +62 -18
  251. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +31 -9
  252. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +96 -29
  253. package/dist/types/excalidraw/actions/actionDeselect.d.ts +182 -0
  254. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  255. package/dist/types/excalidraw/actions/actionElementLink.d.ts +31 -9
  256. package/dist/types/excalidraw/actions/actionElementLock.d.ts +63 -19
  257. package/dist/types/excalidraw/actions/actionExport.d.ts +165 -395
  258. package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
  259. package/dist/types/excalidraw/actions/actionFrame.d.ts +156 -213
  260. package/dist/types/excalidraw/actions/actionGroup.d.ts +77 -33
  261. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +86 -12
  262. package/dist/types/excalidraw/actions/actionLink.d.ts +32 -10
  263. package/dist/types/excalidraw/actions/actionMenu.d.ts +31 -9
  264. package/dist/types/excalidraw/actions/actionProperties.d.ts +100 -40
  265. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +37 -15
  266. package/dist/types/excalidraw/actions/actionStyles.d.ts +31 -9
  267. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  268. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +32 -10
  269. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +35 -14
  270. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +32 -10
  271. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +32 -10
  272. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +35 -14
  273. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  274. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleShowHints.d.ts} +47 -22
  275. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +32 -10
  276. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +33 -11
  277. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +32 -10
  278. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  279. package/dist/types/excalidraw/actions/index.d.ts +3 -2
  280. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  281. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  282. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  283. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  284. package/dist/types/excalidraw/appState.d.ts +51 -27
  285. package/dist/types/excalidraw/clipboard.d.ts +2 -3
  286. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  287. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  288. package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
  289. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  290. package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
  291. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  292. package/dist/types/excalidraw/components/App.d.ts +342 -123
  293. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  294. package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
  295. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  296. package/dist/types/excalidraw/components/App.modifiers.d.ts +38 -0
  297. package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
  298. package/dist/types/excalidraw/components/App.selectionTool.d.ts +57 -0
  299. package/dist/types/excalidraw/components/App.text.d.ts +146 -0
  300. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  301. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  302. package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
  303. package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
  304. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  305. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  306. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  307. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
  308. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  309. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  310. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  311. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  312. package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
  313. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  314. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  315. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  316. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  317. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  318. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  319. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
  320. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
  321. package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
  322. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  323. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  324. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  325. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -3
  326. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  327. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
  328. package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
  329. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  330. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  331. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  332. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  333. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  334. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  335. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  336. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  337. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  338. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  339. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  340. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  341. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  342. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  343. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  344. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  345. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  346. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  347. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  348. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
  349. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
  350. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +2 -1
  351. package/dist/types/excalidraw/components/Toast.d.ts +8 -4
  352. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  353. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  354. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  355. package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
  356. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
  357. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
  358. package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
  359. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  360. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  361. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
  362. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  363. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  364. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  365. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  366. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  367. package/dist/types/excalidraw/components/icons.d.ts +7 -1
  368. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +10 -4
  369. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  370. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  371. package/dist/types/excalidraw/data/blob.d.ts +201 -156
  372. package/dist/types/excalidraw/data/filesystem.d.ts +3 -5
  373. package/dist/types/excalidraw/data/index.d.ts +6 -7
  374. package/dist/types/excalidraw/data/json.d.ts +109 -78
  375. package/dist/types/excalidraw/data/library.d.ts +1 -1
  376. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  377. package/dist/types/excalidraw/data/restore.d.ts +1 -1
  378. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  379. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  380. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  381. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  382. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  383. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
  384. package/dist/types/excalidraw/index.d.ts +33 -8
  385. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  386. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  387. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  388. package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
  389. package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
  390. package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
  391. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +2 -4
  392. package/dist/types/excalidraw/scene/Renderer.d.ts +489 -20
  393. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  394. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  395. package/dist/types/excalidraw/scene/types.d.ts +7 -5
  396. package/dist/types/excalidraw/snapping.d.ts +7 -7
  397. package/dist/types/excalidraw/types.d.ts +601 -72
  398. package/dist/types/excalidraw/viewport.d.ts +302 -0
  399. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +13 -3
  400. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  401. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  402. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  403. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  404. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  405. package/dist/types/math/src/constants.d.ts +0 -1
  406. package/dist/types/math/src/curve.d.ts +23 -13
  407. package/dist/types/math/src/index.d.ts +1 -0
  408. package/dist/types/math/src/pca.d.ts +79 -0
  409. package/dist/types/math/src/point.d.ts +1 -0
  410. package/dist/types/math/src/polygon.d.ts +25 -1
  411. package/dist/types/math/src/segment.d.ts +6 -0
  412. package/dist/types/utils/src/shape.d.ts +2 -2
  413. package/package.json +4 -5
  414. package/dist/dev/chunk-EWKWI3K7.js.map +0 -7
  415. package/dist/dev/chunk-JBODKHIT.js.map +0 -7
  416. package/dist/dev/chunk-URPEKBQ3.js +0 -69
  417. package/dist/dev/chunk-URPEKBQ3.js.map +0 -7
  418. package/dist/dev/locales/ar-SA-AGVJN2FU.js.map +0 -7
  419. package/dist/dev/locales/az-AZ-62IXPX5D.js.map +0 -7
  420. package/dist/dev/locales/bg-BG-UBDZF4KA.js.map +0 -7
  421. package/dist/dev/locales/bn-BD-4TAUVZOD.js.map +0 -7
  422. package/dist/dev/locales/bn-IN-PUGL2LDE.js.map +0 -7
  423. package/dist/dev/locales/ca-ES-GEEW5L7T.js.map +0 -7
  424. package/dist/dev/locales/cs-CZ-LNVE3QM5.js.map +0 -7
  425. package/dist/dev/locales/da-DK-CAYJG7FJ.js.map +0 -7
  426. package/dist/dev/locales/de-CH-GCXOD4LK.js.map +0 -7
  427. package/dist/dev/locales/de-DE-CGDBECYD.js.map +0 -7
  428. package/dist/dev/locales/el-GR-G5QZC24A.js.map +0 -7
  429. package/dist/dev/locales/es-ES-UMEOH76W.js.map +0 -7
  430. package/dist/dev/locales/eu-ES-IWRZXJC5.js.map +0 -7
  431. package/dist/dev/locales/fa-IR-QOYVIIJA.js.map +0 -7
  432. package/dist/dev/locales/fi-FI-BXRW65OA.js.map +0 -7
  433. package/dist/dev/locales/fr-FR-R2QH5VCW.js.map +0 -7
  434. package/dist/dev/locales/gl-ES-4ES3ZADP.js.map +0 -7
  435. package/dist/dev/locales/he-IL-TRQRRYPH.js.map +0 -7
  436. package/dist/dev/locales/hi-IN-U46BOJEC.js.map +0 -7
  437. package/dist/dev/locales/hu-HU-JDULJ6XL.js.map +0 -7
  438. package/dist/dev/locales/id-ID-BLIXNCUT.js.map +0 -7
  439. package/dist/dev/locales/it-IT-6TBW7RUK.js.map +0 -7
  440. package/dist/dev/locales/ja-JP-6HYAQFYX.js.map +0 -7
  441. package/dist/dev/locales/kaa-Z5UP62XJ.js.map +0 -7
  442. package/dist/dev/locales/kab-KAB-Z7STWQKS.js.map +0 -7
  443. package/dist/dev/locales/kk-KZ-BWHY45DX.js.map +0 -7
  444. package/dist/dev/locales/km-KH-HGLNWNRU.js.map +0 -7
  445. package/dist/dev/locales/ko-KR-CO36WKPC.js.map +0 -7
  446. package/dist/dev/locales/ku-TR-AACVIARC.js.map +0 -7
  447. package/dist/dev/locales/lt-LT-CFYYFLDV.js.map +0 -7
  448. package/dist/dev/locales/lv-LV-QCBBOFFU.js.map +0 -7
  449. package/dist/dev/locales/mr-IN-B2CM5GK5.js.map +0 -7
  450. package/dist/dev/locales/my-MM-756BNN36.js.map +0 -7
  451. package/dist/dev/locales/nb-NO-5BLHQI4J.js.map +0 -7
  452. package/dist/dev/locales/nl-NL-225BLGAH.js.map +0 -7
  453. package/dist/dev/locales/nn-NO-4J7MR6GH.js.map +0 -7
  454. package/dist/dev/locales/oc-FR-XCETH7KF.js.map +0 -7
  455. package/dist/dev/locales/pa-IN-32NBAN5L.js.map +0 -7
  456. package/dist/dev/locales/pl-PL-R6OJ54BT.js.map +0 -7
  457. package/dist/dev/locales/pt-BR-7AFGAKGR.js.map +0 -7
  458. package/dist/dev/locales/pt-PT-S6BMW6MY.js.map +0 -7
  459. package/dist/dev/locales/ro-RO-4JVGQHS2.js.map +0 -7
  460. package/dist/dev/locales/ru-RU-IESI752T.js.map +0 -7
  461. package/dist/dev/locales/si-LK-H75E7PKD.js.map +0 -7
  462. package/dist/dev/locales/sk-SK-EUK2NR2F.js.map +0 -7
  463. package/dist/dev/locales/sl-SI-AKW7R5PW.js.map +0 -7
  464. package/dist/dev/locales/sv-SE-QIBOOXLJ.js.map +0 -7
  465. package/dist/dev/locales/ta-IN-LBK2NQ5K.js.map +0 -7
  466. package/dist/dev/locales/th-TH-YJ2E6GVT.js.map +0 -7
  467. package/dist/dev/locales/tr-TR-Y5GO2XJW.js.map +0 -7
  468. package/dist/dev/locales/uk-UA-XYAFHHJW.js.map +0 -7
  469. package/dist/dev/locales/uz-UZ-LF3CBRYE.js.map +0 -7
  470. package/dist/dev/locales/vi-VN-WDPZEUOJ.js.map +0 -7
  471. package/dist/dev/locales/zh-CN-SZ37453H.js.map +0 -7
  472. package/dist/dev/locales/zh-HK-QDQ5QNBC.js.map +0 -7
  473. package/dist/dev/locales/zh-TW-CYU6GFBV.js.map +0 -7
  474. package/dist/prod/chunk-33L4EPXN.js +0 -34
  475. package/dist/prod/chunk-3PELD44J.js +0 -1
  476. package/dist/prod/chunk-DF5Y7EC7.js +0 -12
  477. package/dist/prod/data/image-57VVPCM3.js +0 -1
  478. package/dist/prod/locales/ar-SA-NXDWD63E.js +0 -8
  479. package/dist/prod/locales/az-AZ-MXSORGZV.js +0 -1
  480. package/dist/prod/locales/bg-BG-O6MV2KSF.js +0 -5
  481. package/dist/prod/locales/bn-BD-T2VJNT7N.js +0 -3
  482. package/dist/prod/locales/bn-IN-MMW2ORAC.js +0 -3
  483. package/dist/prod/locales/ca-ES-MKBCGNOG.js +0 -8
  484. package/dist/prod/locales/cs-CZ-V77HGUP7.js +0 -7
  485. package/dist/prod/locales/da-DK-I5RFNTM4.js +0 -2
  486. package/dist/prod/locales/de-CH-WLRDEVBV.js +0 -7
  487. package/dist/prod/locales/de-DE-DTI4WUSC.js +0 -7
  488. package/dist/prod/locales/el-GR-ZXDJ2OS4.js +0 -7
  489. package/dist/prod/locales/en-QI57FMQH.js +0 -1
  490. package/dist/prod/locales/es-ES-DYQHAD43.js +0 -7
  491. package/dist/prod/locales/eu-ES-QDSYU5Y3.js +0 -7
  492. package/dist/prod/locales/fa-IR-26LZG4PM.js +0 -9
  493. package/dist/prod/locales/fi-FI-6YS4KDE4.js +0 -6
  494. package/dist/prod/locales/fr-FR-BRLLPTZC.js +0 -12
  495. package/dist/prod/locales/gl-ES-OKUZTLYG.js +0 -6
  496. package/dist/prod/locales/he-IL-26MGYIU7.js +0 -8
  497. package/dist/prod/locales/hi-IN-Q4ZOGTP2.js +0 -3
  498. package/dist/prod/locales/hu-HU-P2OXPSN5.js +0 -3
  499. package/dist/prod/locales/id-ID-2EIKXYN6.js +0 -8
  500. package/dist/prod/locales/it-IT-4CFKVXI2.js +0 -12
  501. package/dist/prod/locales/ja-JP-MAND2Z4V.js +0 -7
  502. package/dist/prod/locales/kaa-HQRTCXTJ.js +0 -1
  503. package/dist/prod/locales/kab-KAB-JKIKKTGH.js +0 -4
  504. package/dist/prod/locales/kk-KZ-HXQ63ZFC.js +0 -1
  505. package/dist/prod/locales/km-KH-PKL3LSGX.js +0 -7
  506. package/dist/prod/locales/ko-KR-KXLREZX3.js +0 -5
  507. package/dist/prod/locales/ku-TR-MJ4IER3X.js +0 -6
  508. package/dist/prod/locales/lt-LT-H6WFQ6FJ.js +0 -3
  509. package/dist/prod/locales/lv-LV-GOCK6SJW.js +0 -4
  510. package/dist/prod/locales/mr-IN-IXVLDMEQ.js +0 -9
  511. package/dist/prod/locales/my-MM-YG6MYTTD.js +0 -1
  512. package/dist/prod/locales/nb-NO-XGWJISD2.js +0 -8
  513. package/dist/prod/locales/nl-NL-XVDVCPNC.js +0 -13
  514. package/dist/prod/locales/nn-NO-EMX5MJX5.js +0 -4
  515. package/dist/prod/locales/oc-FR-ROEINTVO.js +0 -4
  516. package/dist/prod/locales/pa-IN-ZYN6SUDY.js +0 -4
  517. package/dist/prod/locales/percentages-5DKR754L.js +0 -1
  518. package/dist/prod/locales/pl-PL-6VTG7PHC.js +0 -12
  519. package/dist/prod/locales/pt-BR-5YFKRR5G.js +0 -6
  520. package/dist/prod/locales/pt-PT-GEIXXZ67.js +0 -8
  521. package/dist/prod/locales/ro-RO-E2P6TFZI.js +0 -12
  522. package/dist/prod/locales/ru-RU-YBIIY43T.js +0 -10
  523. package/dist/prod/locales/si-LK-673C2CI2.js +0 -1
  524. package/dist/prod/locales/sk-SK-CKZHQ4AP.js +0 -7
  525. package/dist/prod/locales/sl-SI-557H2GWM.js +0 -6
  526. package/dist/prod/locales/sv-SE-XOPKKDWS.js +0 -8
  527. package/dist/prod/locales/ta-IN-XBH7DQI3.js +0 -6
  528. package/dist/prod/locales/th-TH-TOCWH3R4.js +0 -1
  529. package/dist/prod/locales/tr-TR-GXW6CYY5.js +0 -4
  530. package/dist/prod/locales/uk-UA-IJKTNUDG.js +0 -6
  531. package/dist/prod/locales/uz-UZ-TBZZEA4V.js +0 -1
  532. package/dist/prod/locales/vi-VN-MULSGNVB.js +0 -7
  533. package/dist/prod/locales/zh-CN-MVX3E32U.js +0 -11
  534. package/dist/prod/locales/zh-HK-JNU5RLIE.js +0 -1
  535. package/dist/prod/locales/zh-TW-LENVCA6T.js +0 -9
  536. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  537. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  538. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  539. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
  540. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  541. package/dist/types/excalidraw/components/shapes.d.ts +0 -263
  542. package/dist/types/excalidraw/cursor.d.ts +0 -5
  543. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  544. package/dist/types/excalidraw/scene/scrollConstraints.d.ts +0 -46
  545. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  546. package/dist/types/utils/src/bbox.d.ts +0 -9
  547. package/dist/types/utils/src/index.d.ts +0 -4
  548. package/dist/types/utils/src/withinBounds.d.ts +0 -19
  549. /package/dist/dev/{chunk-NYLL7DNJ.js.map → chunk-XRXU5XOA.js.map} +0 -0
  550. /package/dist/dev/components/TTDDialog/{CodeMirrorEditor-PY5ZVWKQ.js.map → CodeMirrorEditor-GYLDZZSD.js.map} +0 -0
  551. /package/dist/dev/data/{image-WSL7K3G4.js.map → image-KVOR7M3R.js.map} +0 -0
  552. /package/dist/dev/locales/{en-A3UOWEYW.js.map → en-BC4BNQRX.js.map} +0 -0
  553. /package/dist/dev/locales/{percentages-ZRLRVMSI.js.map → percentages-X2QIQ6XJ.js.map} +0 -0
@@ -13,26 +13,22 @@
13
13
  .excalidraw .ToolIcon__hidden {
14
14
  display: none !important;
15
15
  }
16
- .excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked + .ToolIcon__icon,
17
- .excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked + .ToolIcon__icon {
16
+ .excalidraw .ToolIcon.fillable.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon {
18
17
  --icon-fill-color: var(--color-on-primary-container);
19
18
  }
20
- .excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked + .ToolIcon__icon svg,
21
- .excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked + .ToolIcon__icon svg {
19
+ .excalidraw .ToolIcon.fillable.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon svg {
22
20
  fill: var(--icon-fill-color);
23
21
  }
24
- .excalidraw .ToolIcon .ToolIcon_type_radio:checked + .ToolIcon__icon,
25
- .excalidraw .ToolIcon .ToolIcon_type_checkbox:checked + .ToolIcon__icon {
22
+ .excalidraw .ToolIcon.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon {
26
23
  background: var(--color-surface-primary-container);
27
24
  --keybinding-color: var(--color-on-primary-container);
28
25
  }
29
- .excalidraw .ToolIcon .ToolIcon_type_radio:checked + .ToolIcon__icon svg,
30
- .excalidraw .ToolIcon .ToolIcon_type_checkbox:checked + .ToolIcon__icon svg {
26
+ .excalidraw .ToolIcon.ToolIcon_type_toggle.ToolIcon--checked .ToolIcon__icon svg {
31
27
  color: var(--color-on-primary-container);
32
28
  }
33
29
  .excalidraw .ToolIcon .ToolIcon__keybinding {
34
- bottom: 4px;
35
- right: 4px;
30
+ bottom: 2px;
31
+ right: 3px;
36
32
  }
37
33
  .excalidraw .ToolIcon .ToolIcon__icon:hover {
38
34
  background: var(--button-hover-bg);
@@ -51,6 +47,22 @@
51
47
  .excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] svg {
52
48
  color: var(--color-disabled);
53
49
  }
50
+ .excalidraw .ToolIcon.ToolIcon_type_toggle:disabled {
51
+ cursor: default;
52
+ --keybinding-color: var(--color-disabled);
53
+ }
54
+ .excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon svg {
55
+ color: var(--color-disabled);
56
+ }
57
+ .excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:hover,
58
+ .excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:active {
59
+ background: initial;
60
+ border: none;
61
+ }
62
+ .excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:hover svg,
63
+ .excalidraw .ToolIcon.ToolIcon_type_toggle:disabled .ToolIcon__icon:active svg {
64
+ color: var(--color-disabled);
65
+ }
54
66
  .excalidraw .ToolIcon--plain {
55
67
  background-color: transparent;
56
68
  }
@@ -58,11 +70,18 @@
58
70
  width: 2rem;
59
71
  height: 2rem;
60
72
  }
61
- .excalidraw .ToolIcon_type_radio,
62
- .excalidraw .ToolIcon_type_checkbox {
63
- position: absolute;
64
- opacity: 0;
65
- pointer-events: none;
73
+ .excalidraw .ToolIcon_type_toggle {
74
+ appearance: none;
75
+ margin: 0;
76
+ padding: 0;
77
+ border: none;
78
+ background-color: transparent;
79
+ font: inherit;
80
+ color: inherit;
81
+ text-align: inherit;
82
+ }
83
+ .excalidraw .ToolIcon_type_toggle:focus-visible {
84
+ box-shadow: 0 0 0 2px var(--focus-highlight-color);
66
85
  }
67
86
  .excalidraw .ToolIcon__icon {
68
87
  box-sizing: border-box;
@@ -111,14 +130,6 @@
111
130
  .excalidraw .Modal .ToolIcon_type_button:focus-visible {
112
131
  box-shadow: 0 0 0 2px var(--focus-highlight-color);
113
132
  }
114
- .excalidraw .ToolIcon_type_button.ToolIcon--selected,
115
- .excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected {
116
- background-color: var(--button-gray-2);
117
- }
118
- .excalidraw .ToolIcon_type_button.ToolIcon--selected:active,
119
- .excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active {
120
- background-color: var(--button-gray-3);
121
- }
122
133
  .excalidraw .ToolIcon_type_button:active,
123
134
  .excalidraw .Modal .ToolIcon_type_button:active {
124
135
  background-color: var(--button-gray-3);
@@ -250,320 +261,12 @@
250
261
  }
251
262
  }
252
263
 
253
- /* components/ButtonIcon.scss */
254
- .excalidraw,
255
- .exc-style {
256
- --theme-filter: none;
257
- --button-destructive-bg-color: #ffe3e3;
258
- --button-destructive-color: #c92a2a;
259
- --button-gray-1: #e9ecef;
260
- --button-gray-2: #ced4da;
261
- --button-gray-3: #adb5bd;
262
- --mobile-action-button-bg: rgba(255, 255, 255, 0.35);
263
- --mobile-color-border: var(--default-border-color);
264
- --button-special-active-bg-color: #ebfbee;
265
- --dialog-border-color: var(--color-gray-20);
266
- --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
267
- --focus-highlight-color: #a5d8ff;
268
- --icon-fill-color: var(--color-on-surface);
269
- --icon-green-fill-color: #2b8a3e;
270
- --default-bg-color: #fff;
271
- --input-bg-color: #fff;
272
- --input-border-color: #ced4da;
273
- --input-hover-bg-color: #f1f3f5;
274
- --input-label-color: #495057;
275
- --island-bg-color: #ffffff;
276
- --island-bg-color-alt: #fff;
277
- --keybinding-color: var(--color-gray-40);
278
- --link-color: #1c7ed6;
279
- --link-color-hover: #1971c2;
280
- --link-color-active: #a5d8ff;
281
- --overlay-bg-color: rgba(255, 255, 255, 0.88);
282
- --popup-bg-color: var(--island-bg-color);
283
- --popup-secondary-bg-color: #f1f3f5;
284
- --popup-text-color: #000;
285
- --popup-text-inverted-color: #fff;
286
- --select-highlight-color: #339af0;
287
- --shadow-island:
288
- 0px 0px 1px 0px rgba(0, 0, 0, 0.17),
289
- 0px 0px 3px 0px rgba(0, 0, 0, 0.08),
290
- 0px 7px 14px 0px rgba(0, 0, 0, 0.05);
291
- --shadow-island-stronger:
292
- 0px 0px 1px 0px rgba(0, 0, 0, 0.17),
293
- 0px 0px 3px 0px rgba(0, 0, 0, 0.08),
294
- 0px 7px 14px 0px rgb(0 0 0 / 18%);
295
- --button-hover-bg: var(--color-surface-high);
296
- --button-active-bg: var(--color-surface-high);
297
- --button-active-border: var(--color-brand-active);
298
- --default-border-color: var(--color-surface-high);
299
- --default-button-size: 2rem;
300
- --default-icon-size: 1rem;
301
- --lg-button-size: 2.25rem;
302
- --lg-icon-size: 1rem;
303
- --editor-container-padding: 1rem;
304
- --mobile-action-button-size: 2rem;
305
- --scrollbar-thumb: var(--button-gray-2);
306
- --scrollbar-thumb-hover: var(--button-gray-3);
307
- --color-slider-track: hsl(240, 100%, 90%);
308
- --color-slider-thumb: var(--color-gray-80);
309
- --modal-shadow:
310
- 0px 100px 80px rgba(0, 0, 0, 0.07),
311
- 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
312
- 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
313
- 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
314
- 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
315
- 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
316
- --avatar-border-color: var(--color-gray-20);
317
- --sidebar-shadow:
318
- 0px 100px 80px rgba(0, 0, 0, 0.07),
319
- 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
320
- 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
321
- 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
322
- 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
323
- 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
324
- --sidebar-border-color: var(--color-surface-high);
325
- --sidebar-bg-color: var(--island-bg-color);
326
- --library-dropdown-shadow:
327
- 0px 15px 6px rgba(0, 0, 0, 0.01),
328
- 0px 8px 5px rgba(0, 0, 0, 0.05),
329
- 0px 4px 4px rgba(0, 0, 0, 0.09),
330
- 0px 1px 2px rgba(0, 0, 0, 0.1),
331
- 0px 0px 0px rgba(0, 0, 0, 0.1);
332
- --chat-msg-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
333
- --space-factor: 0.25rem;
334
- --text-primary-color: var(--color-on-surface);
335
- --color-selection: #6965db;
336
- --color-icon-white: #fff;
337
- --color-primary: #6965db;
338
- --color-primary-darker: #5b57d1;
339
- --color-primary-darkest: #4a47b1;
340
- --color-primary-light: #e3e2fe;
341
- --color-primary-light-darker: #d7d5ff;
342
- --color-primary-hover: #5753d0;
343
- --color-gray-10: #f5f5f5;
344
- --color-gray-20: #ebebeb;
345
- --color-gray-30: #d6d6d6;
346
- --color-gray-40: #b8b8b8;
347
- --color-gray-50: #999999;
348
- --color-gray-60: #7a7a7a;
349
- --color-gray-70: #5c5c5c;
350
- --color-gray-80: #3d3d3d;
351
- --color-gray-85: #242424;
352
- --color-gray-90: #1e1e1e;
353
- --color-gray-100: #121212;
354
- --color-disabled: var(--color-gray-40);
355
- --color-warning: #fceeca;
356
- --color-warning-dark: #f5c354;
357
- --color-warning-darker: #f3ab2c;
358
- --color-warning-darkest: #ec8b14;
359
- --color-text-warning: var(--text-primary-color);
360
- --color-danger: #db6965;
361
- --color-danger-dark: #db6965;
362
- --color-danger-darker: #d65550;
363
- --color-danger-darkest: #d1413c;
364
- --color-danger-text: black;
365
- --color-danger-background: #fff0f0;
366
- --color-danger-icon-background: #ffdad6;
367
- --color-danger-color: #700000;
368
- --color-danger-icon-color: #700000;
369
- --color-warning-background: var(--color-warning);
370
- --color-warning-icon-background: var(--color-warning-dark);
371
- --color-warning-color: var(--text-primary-color);
372
- --color-warning-icon-color: var(--text-primary-color);
373
- --color-muted: var(--color-gray-30);
374
- --color-muted-darker: var(--color-gray-60);
375
- --color-muted-darkest: var(--color-gray-100);
376
- --color-muted-background: var(--color-gray-80);
377
- --color-muted-background-darker: var(--color-gray-100);
378
- --color-promo: var(--color-primary);
379
- --color-success: #cafccc;
380
- --color-success-darker: #bafabc;
381
- --color-success-darkest: #a5eba8;
382
- --color-success-text: #268029;
383
- --color-success-contrast: #65bb6a;
384
- --color-success-contrast-hover: #6bcf70;
385
- --color-success-contrast-active: #6edf74;
386
- --color-logo-icon: var(--color-primary);
387
- --color-logo-text: #190064;
388
- --border-radius-md: 0.375rem;
389
- --border-radius-lg: 0.5rem;
390
- --color-surface-high: #f1f0ff;
391
- --color-surface-mid: #f6f6f9;
392
- --color-surface-low: #ececf4;
393
- --color-surface-lowest: #ffffff;
394
- --color-on-surface: #1b1b1f;
395
- --color-brand-hover: #5753d0;
396
- --color-on-primary-container: #030064;
397
- --color-surface-primary-container: #e0dfff;
398
- --color-brand-active: #4440bf;
399
- --color-border-outline: #767680;
400
- --color-border-outline-variant: #c5c5d0;
401
- --color-surface-primary-container: #e0dfff;
402
- --color-badge: #0b6513;
403
- --background-color-badge: #d3ffd2;
404
- }
405
- .excalidraw--mobile.excalidraw,
406
- .exc-style {
407
- --editor-container-padding: 0.75rem;
408
- }
409
- @media screen and (min-device-width: 1921px) {
410
- .excalidraw,
411
- .exc-style {
412
- --lg-button-size: 2.5rem;
413
- --lg-icon-size: 1.25rem;
414
- --default-button-size: 2.25rem;
415
- --default-icon-size: 1.25rem;
416
- }
417
- }
418
- .excalidraw.theme--dark.theme--dark-background-none,
419
- .dark .excalidraw.theme--dark-background-none,
420
- .exc-style.theme--dark.theme--dark-background-none,
421
- .dark .exc-style.theme--dark-background-none {
422
- background: none;
423
- }
424
- .excalidraw.theme--dark,
425
- .dark .excalidraw,
426
- .exc-style.theme--dark,
427
- .dark .exc-style {
428
- --theme-filter: invert(93%) hue-rotate(180deg);
429
- --button-destructive-bg-color: #5a0000;
430
- --button-destructive-color: #ffa8a8;
431
- --button-gray-1: #363636;
432
- --button-gray-2: #272727;
433
- --button-gray-3: #222;
434
- --mobile-action-button-bg: var(--island-bg-color);
435
- --mobile-color-border: rgba(255, 255, 255, 0.85);
436
- --button-special-active-bg-color: #204624;
437
- --dialog-border-color: var(--color-gray-80);
438
- --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
439
- --focus-highlight-color: #228be6;
440
- --icon-green-fill-color: #69db7c;
441
- --default-bg-color: #121212;
442
- --input-bg-color: #121212;
443
- --input-border-color: #2e2e2e;
444
- --input-hover-bg-color: #181818;
445
- --input-label-color: #e9ecef;
446
- --island-bg-color: #232329;
447
- --island-bg-color-alt: hsl(240, 12%, 12%);
448
- --keybinding-color: var(--color-gray-60);
449
- --link-color: #4dabf7;
450
- --overlay-bg-color: rgba(52, 58, 64, 0.12);
451
- --popup-secondary-bg-color: #222;
452
- --popup-text-color: #ced4da;
453
- --popup-text-inverted-color: #2c2c2c;
454
- --select-highlight-color: #4dabf7;
455
- --modal-shadow:
456
- 0px 100px 80px rgba(0, 0, 0, 0.07),
457
- 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
458
- 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
459
- 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
460
- 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
461
- 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
462
- --avatar-border-color: var(--color-gray-85);
463
- --scrollbar-thumb: #343a40;
464
- --scrollbar-thumb-hover: #495057;
465
- --color-slider-track: hsl(244, 23%, 39%);
466
- --color-selection: #3530c4;
467
- --color-icon-white: var(--color-gray-90);
468
- --color-primary: #a8a5ff;
469
- --color-primary-darker: #b2aeff;
470
- --color-primary-darkest: #beb9ff;
471
- --color-primary-light: #4f4d6f;
472
- --color-primary-light-darker: #43415e;
473
- --color-primary-hover: #bbb8ff;
474
- --color-disabled: var(--color-gray-70);
475
- --color-text-warning: var(--color-gray-80);
476
- --color-danger: #ffa8a5;
477
- --color-danger-dark: #672120;
478
- --color-danger-darker: #8f2625;
479
- --color-danger-darkest: #ac2b29;
480
- --color-danger-text: #fbcbcc;
481
- --color-danger-background: #fbcbcc;
482
- --color-danger-icon-background: #672120;
483
- --color-danger-color: #261919;
484
- --color-danger-icon-color: #fbcbcc;
485
- --color-warning-background: var(--color-warning);
486
- --color-warning-icon-background: var(--color-warning-dark);
487
- --color-warning-color: var(--color-gray-80);
488
- --color-warning-icon-color: var(--color-gray-80);
489
- --color-muted: var(--color-gray-80);
490
- --color-muted-darker: var(--color-gray-60);
491
- --color-muted-darkest: var(--color-gray-20);
492
- --color-muted-background: var(--color-gray-40);
493
- --color-muted-background-darker: var(--color-gray-20);
494
- --color-logo-text: #e2dfff;
495
- --color-surface-high: #2e2d39;
496
- --color-surface-low: hsl(240, 8%, 15%);
497
- --color-surface-mid: hsl(240 6% 10%);
498
- --color-surface-lowest: hsl(0, 0%, 7%);
499
- --color-on-surface: #e3e3e8;
500
- --color-brand-hover: #bbb8ff;
501
- --color-on-primary-container: #e0dfff;
502
- --color-surface-primary-container: #403e6a;
503
- --color-brand-active: #d0ccff;
504
- --color-border-outline: #8e8d9c;
505
- --color-border-outline-variant: #46464f;
506
- --color-surface-primary-container: #403e6a;
507
- }
508
- .excalidraw button.standalone {
509
- display: flex;
510
- justify-content: center;
511
- align-items: center;
512
- padding: 0.625rem;
513
- width: var(--button-width, var(--default-button-size));
514
- height: var(--button-height, var(--default-button-size));
515
- box-sizing: border-box;
516
- border-width: 1px;
517
- border-style: solid;
518
- border-color: var(--button-border, var(--default-border-color));
519
- border-radius: var(--border-radius-lg);
520
- cursor: pointer;
521
- background-color: var(--button-bg, var(--island-bg-color));
522
- color: var(--button-color, var(--color-on-surface));
523
- font-family: var(--ui-font);
524
- }
525
- .excalidraw button.standalone svg {
526
- width: var(--button-width, var(--lg-icon-size));
527
- height: var(--button-height, var(--lg-icon-size));
528
- }
529
- .excalidraw button.standalone:hover {
530
- background-color: var(--button-hover-bg, var(--island-bg-color));
531
- border-color: var(--button-hover-border, var(--button-border, var(--default-border-color)));
532
- color: var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)));
533
- }
534
- .excalidraw button.standalone:active {
535
- background-color: var(--button-active-bg, var(--island-bg-color));
536
- border-color: var(--button-active-border, var(--color-primary-darkest));
537
- }
538
- .excalidraw button.standalone.active {
539
- background-color: var(--button-selected-bg, var(--color-surface-primary-container));
540
- border-color: var(--button-selected-border, var(--color-surface-primary-container));
541
- }
542
- .excalidraw button.standalone.active:hover {
543
- background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
544
- }
545
- .excalidraw button.standalone.active svg {
546
- color: var(--button-color, var(--color-on-primary-container));
547
- }
548
- .excalidraw--mobile.excalidraw button.standalone {
549
- width: var(--mobile-action-button-size, var(--default-button-size));
550
- height: var(--mobile-action-button-size, var(--default-button-size));
551
- }
552
- .excalidraw button.standalone {
553
- padding: 0;
554
- }
555
- .excalidraw button.standalone svg {
556
- width: var(--default-icon-size);
557
- height: var(--default-icon-size);
558
- }
559
- .excalidraw button.standalone > * {
560
- pointer-events: none;
561
- }
562
-
563
264
  /* components/EyeDropper.scss */
564
265
  .excalidraw .excalidraw-eye-dropper-container,
565
266
  .excalidraw .excalidraw-eye-dropper-backdrop {
566
267
  position: absolute;
268
+ top: 0;
269
+ left: 0;
567
270
  width: 100%;
568
271
  height: 100%;
569
272
  z-index: var(--zIndex-eyeDropperBackdrop);
@@ -577,13 +280,13 @@
577
280
  }
578
281
  .excalidraw .excalidraw-eye-dropper-preview {
579
282
  pointer-events: none;
580
- width: 3rem;
581
- height: 3rem;
582
- position: fixed;
283
+ width: 2rem;
284
+ height: 2rem;
285
+ position: absolute;
583
286
  z-index: var(--zIndex-eyeDropperPreview);
584
- border-radius: 1rem;
585
- border: 1px solid var(--default-border-color);
586
- filter: var(--theme-filter);
287
+ border-radius: 50%;
288
+ border: 1px solid var(--eye-dropper-preview-border-color, #222);
289
+ box-shadow: 2px 2px 0 0 rgba(73, 73, 73, 0.4862745098);
587
290
  }
588
291
  .excalidraw .excalidraw-eye-dropper-trigger {
589
292
  width: 1.25rem;
@@ -612,13 +315,174 @@
612
315
  border-radius: var(--border-radius-lg);
613
316
  padding: calc(var(--padding) * var(--space-factor));
614
317
  position: relative;
615
- transition: box-shadow 0.5s ease-in-out;
616
318
  }
617
- .excalidraw .Island.zen-mode {
618
- box-shadow: none;
319
+ .excalidraw .Island.zen-mode {
320
+ box-shadow: none;
321
+ }
322
+
323
+ /* components/TopPicksDnD/TopPicksDnD.scss */
324
+ .excalidraw .top-picks-dnd {
325
+ position: relative;
326
+ }
327
+ .excalidraw .top-picks-dnd__pick {
328
+ touch-action: none;
329
+ }
330
+ .excalidraw .top-picks-dnd.is-dnd-active .top-picks-dnd__pick {
331
+ pointer-events: none;
332
+ transition:
333
+ transform 0.14s ease,
334
+ opacity 0.14s ease,
335
+ box-shadow 0.14s ease;
336
+ }
337
+ .excalidraw .top-picks-dnd__outline {
338
+ position: absolute;
339
+ top: -5px;
340
+ left: -5px;
341
+ width: calc(100% + 10px);
342
+ height: calc(100% + 10px);
343
+ pointer-events: none;
344
+ overflow: visible;
345
+ }
346
+ .excalidraw .top-picks-dnd__outline rect {
347
+ x: 0.5px;
348
+ y: 0.5px;
349
+ rx: 6px;
350
+ width: calc(100% - 1px);
351
+ height: calc(100% - 1px);
352
+ fill: none;
353
+ stroke: var(--color-primary);
354
+ stroke-width: 1;
355
+ stroke-dasharray: 4 4;
356
+ animation: excalidraw-top-picks-dnd-march 0.8s linear infinite;
357
+ }
358
+ @media (prefers-reduced-motion: reduce) {
359
+ .excalidraw .top-picks-dnd__outline rect {
360
+ animation: none;
361
+ }
362
+ }
363
+ @keyframes excalidraw-top-picks-dnd-march {
364
+ to {
365
+ stroke-dashoffset: -8;
366
+ }
367
+ }
368
+ .excalidraw .top-picks-dnd__pick.is-dnd-source {
369
+ opacity: 0.3;
370
+ }
371
+ .excalidraw .top-picks-dnd__pick.is-dnd-duplicate {
372
+ animation: excalidraw-top-picks-dnd-duplicate 0.45s ease-in-out infinite alternate;
373
+ }
374
+ @keyframes excalidraw-top-picks-dnd-duplicate {
375
+ from {
376
+ box-shadow: 0 0 0 2px var(--color-danger, #e03131);
377
+ transform: scale(1);
378
+ }
379
+ to {
380
+ box-shadow: 0 0 0 3px var(--color-danger, #e03131);
381
+ transform: scale(1.12);
382
+ }
383
+ }
384
+ .excalidraw .top-picks-dnd__tip {
385
+ padding: 0 0.5rem;
386
+ font-size: 0.6875rem;
387
+ line-height: 1.4;
388
+ text-align: left;
389
+ color: var(--color-gray-60);
390
+ }
391
+ .excalidraw .top-picks-dnd__tip-reset {
392
+ padding: 0;
393
+ margin: 0;
394
+ border: 0;
395
+ background: none;
396
+ font: inherit;
397
+ color: var(--color-primary);
398
+ cursor: pointer;
399
+ }
400
+ .excalidraw .top-picks-dnd__tip-reset:hover {
401
+ text-decoration: underline;
402
+ }
403
+ .excalidraw .top-picks-dnd__context-menu {
404
+ background: var(--popup-bg-color);
405
+ border-radius: var(--border-radius-lg);
406
+ box-shadow: var(--shadow-island);
407
+ padding: 0.25rem;
408
+ }
409
+ .excalidraw .top-picks-dnd__context-menu-item {
410
+ font-size: 0.75rem;
411
+ padding: 0.375rem 0.625rem;
412
+ border-radius: var(--border-radius-md);
413
+ color: var(--text-primary-color);
414
+ cursor: pointer;
415
+ outline: none;
416
+ user-select: none;
417
+ }
418
+ .excalidraw .top-picks-dnd__context-menu-item[data-highlighted],
419
+ .excalidraw .top-picks-dnd__context-menu-item:not([data-disabled]):hover {
420
+ background: var(--button-hover-bg);
421
+ }
422
+ .excalidraw .top-picks-dnd__context-menu-item[data-disabled] {
423
+ opacity: 0.5;
424
+ pointer-events: none;
425
+ }
426
+ .excalidraw-top-picks-dnd-ghost {
427
+ position: fixed;
428
+ top: 0;
429
+ left: 0;
430
+ z-index: 10000;
431
+ pointer-events: none;
432
+ will-change: transform;
433
+ transition: width 0.15s ease, height 0.15s ease;
434
+ }
435
+ .excalidraw-top-picks-dnd-ghost__content {
436
+ width: 100%;
437
+ height: 100%;
438
+ box-sizing: border-box;
439
+ box-shadow: var(--top-picks-dnd-ghost-ring, 0 0 transparent);
440
+ transition:
441
+ transform 0.15s ease,
442
+ opacity 0.15s ease,
443
+ box-shadow 0.15s ease;
444
+ }
445
+ .excalidraw-top-picks-dnd-ghost--lifted .excalidraw-top-picks-dnd-ghost__content {
446
+ transform: scale(1.2);
447
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25), var(--top-picks-dnd-ghost-ring, 0 0 transparent);
448
+ }
449
+ .excalidraw-top-picks-dnd-ghost--over .excalidraw-top-picks-dnd-ghost__content {
450
+ transform: scale(1.05);
451
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2), var(--top-picks-dnd-ghost-ring, 0 0 transparent);
452
+ }
453
+ .excalidraw-top-picks-dnd-ghost--blocked .excalidraw-top-picks-dnd-ghost__content {
454
+ opacity: 0.4;
455
+ transform: scale(0.85);
456
+ }
457
+ .excalidraw-top-picks-dnd-ghost--dropping {
458
+ transition:
459
+ transform 0.18s cubic-bezier(0.2, 0.8, 0.3, 1),
460
+ width 0.18s ease,
461
+ height 0.18s ease;
462
+ }
463
+ .excalidraw-top-picks-dnd-ghost--dropping .excalidraw-top-picks-dnd-ghost__content {
464
+ transform: scale(1);
465
+ box-shadow: var(--top-picks-dnd-ghost-ring, 0 0 transparent);
466
+ }
467
+ .excalidraw-top-picks-dnd-ghost--fade .excalidraw-top-picks-dnd-ghost__content {
468
+ opacity: 0;
469
+ }
470
+ body.excalidraw-top-picks-dnd-active {
471
+ user-select: none !important;
472
+ -webkit-user-select: none !important;
473
+ }
474
+ body.excalidraw-top-picks-dnd-active,
475
+ body.excalidraw-top-picks-dnd-active * {
476
+ cursor: grabbing !important;
619
477
  }
620
478
 
621
479
  /* components/ColorPicker/ColorPicker.scss */
480
+ .excalidraw {
481
+ --color-outline: var(--color-gray-20);
482
+ }
483
+ .excalidraw.theme--dark {
484
+ --color-outline: var(--color-gray-80);
485
+ }
622
486
  .excalidraw .focus-visible-none:focus-visible {
623
487
  outline: none !important;
624
488
  }
@@ -634,7 +498,7 @@
634
498
  }
635
499
  .excalidraw .color-picker-container {
636
500
  display: grid;
637
- grid-template-columns: 1fr 20px 1.625rem;
501
+ grid-template-columns: 1fr 15px 1.625rem;
638
502
  padding: 0.25rem 0px;
639
503
  align-items: center;
640
504
  }
@@ -650,6 +514,7 @@
650
514
  display: flex;
651
515
  justify-content: space-between;
652
516
  align-items: center;
517
+ gap: 5px;
653
518
  }
654
519
  .excalidraw .color-picker__button {
655
520
  --radius: 4px;
@@ -660,7 +525,6 @@
660
525
  height: var(--size);
661
526
  border: 0;
662
527
  border-radius: var(--radius);
663
- filter: var(--theme-filter);
664
528
  background-color: var(--swatch-color);
665
529
  background-position: left center;
666
530
  position: relative;
@@ -668,21 +532,19 @@
668
532
  box-sizing: border-box;
669
533
  }
670
534
  .excalidraw .color-picker__button.has-outline {
671
- box-shadow: inset 0 0 0 1px #d9d9d9;
535
+ box-shadow: 0 0 0 1px var(--color-outline);
672
536
  }
673
- .excalidraw .color-picker__button:hover:not(.active):not(.color-picker__button--large) {
674
- transform: scale(1.075);
537
+ .excalidraw .color-picker__button:hover:not(.active).color-picker__button--large {
538
+ box-shadow: inset 0 0 0 1px var(--color-primary);
675
539
  }
676
- .excalidraw .color-picker__button:hover:not(.active).color-picker__button--large::after {
677
- content: "";
678
- position: absolute;
679
- top: -1px;
680
- left: -1px;
681
- right: -1px;
682
- bottom: -1px;
683
- box-shadow: 0 0 0 1px var(--color-gray-30);
684
- border-radius: var(--radius);
685
- filter: var(--theme-filter);
540
+ .excalidraw .color-picker__button:active {
541
+ box-shadow: 0 0 0 1px var(--color-primary) !important;
542
+ }
543
+ .excalidraw .color-picker__button:active.color-picker__button--large {
544
+ box-shadow: none !important;
545
+ }
546
+ .excalidraw .color-picker__button:active.color-picker__button--large.has-outline {
547
+ box-shadow: 0 0 0 1px var(--color-outline) !important;
686
548
  }
687
549
  .excalidraw .color-picker__button .color-picker__button-outline {
688
550
  display: flex;
@@ -703,7 +565,7 @@
703
565
  width: 100%;
704
566
  height: 100%;
705
567
  }
706
- .excalidraw .color-picker__button.active .color-picker__button-outline {
568
+ .excalidraw .color-picker__button.active:not(:active) .color-picker__button-outline {
707
569
  position: absolute;
708
570
  --offset: -1px;
709
571
  top: var(--offset);
@@ -713,7 +575,6 @@
713
575
  box-shadow: 0 0 0 1px var(--color-primary-darkest);
714
576
  z-index: 1;
715
577
  border-radius: var(--radius);
716
- filter: var(--theme-filter);
717
578
  }
718
579
  .excalidraw .color-picker__button:focus-visible {
719
580
  outline: none;
@@ -732,7 +593,7 @@
732
593
  display: none;
733
594
  }
734
595
  .excalidraw .color-picker__button--large {
735
- --radius: 0.5rem;
596
+ --radius: 6px;
736
597
  width: 1.875rem;
737
598
  height: 1.875rem;
738
599
  }
@@ -758,14 +619,14 @@
758
619
  height: var(--mobile-action-button-size);
759
620
  }
760
621
  .excalidraw .color-picker__button.mobile-border {
761
- border: 1px solid var(--mobile-color-border);
622
+ border: 1px solid var(--default-border-color);
762
623
  }
763
624
  .excalidraw .color-picker__button__hotkey-label {
764
625
  position: absolute;
765
- right: 5px;
766
- bottom: 3px;
767
- filter: none;
768
- font-size: 11px;
626
+ right: 4px;
627
+ bottom: 2px;
628
+ font-size: 10px;
629
+ font-family: monospace;
769
630
  font-weight: 500;
770
631
  }
771
632
  .excalidraw .color-picker {
@@ -855,41 +716,9 @@
855
716
  .excalidraw .color-picker-content--canvas-colors {
856
717
  padding: 0.5rem 0;
857
718
  }
858
- .excalidraw .color-picker-content--canvas-colors .color-picker-swatch {
859
- margin: 0 0.25rem;
860
- }
861
719
  .excalidraw .color-picker-content .color-input-container {
862
720
  grid-column: 1/span 5;
863
721
  }
864
- .excalidraw .color-picker-swatch {
865
- position: relative;
866
- height: 1.875rem;
867
- width: 1.875rem;
868
- cursor: pointer;
869
- border-radius: 4px;
870
- margin: 0;
871
- box-sizing: border-box;
872
- border: 1px solid #ddd;
873
- background-color: currentColor !important;
874
- filter: var(--theme-filter);
875
- }
876
- .excalidraw .color-picker-swatch:focus {
877
- box-shadow: 0 0 4px 1px currentColor;
878
- border-color: var(--select-highlight-color);
879
- }
880
- .excalidraw .color-picker-transparent {
881
- border-radius: 4px;
882
- box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px inset;
883
- position: absolute;
884
- top: 0;
885
- right: 0;
886
- bottom: 0;
887
- left: 0;
888
- }
889
- .excalidraw .color-picker-transparent,
890
- .excalidraw .color-picker-label-swatch {
891
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;
892
- }
893
722
  .excalidraw .color-picker-hash {
894
723
  height: var(--default-button-size);
895
724
  flex-shrink: 0;
@@ -918,6 +747,11 @@
918
747
  box-shadow: 0 0 0 1px var(--color-primary-darkest);
919
748
  border-radius: var(--border-radius-lg);
920
749
  }
750
+ .excalidraw .color-picker__input-label-container {
751
+ display: flex;
752
+ flex-direction: column;
753
+ gap: 4px;
754
+ }
921
755
  .excalidraw .color-picker__input-label {
922
756
  display: grid;
923
757
  grid-template-columns: auto 1fr auto auto;
@@ -933,9 +767,22 @@
933
767
  box-shadow: 0 0 0 1px var(--color-primary-darkest);
934
768
  border-radius: var(--border-radius-lg);
935
769
  }
770
+ .excalidraw .color-picker__input-label.has-error {
771
+ border-color: var(--color-danger, #e03131);
772
+ }
773
+ .excalidraw .color-picker__input-label.has-error:focus-within {
774
+ box-shadow: 0 0 0 1px var(--color-danger, #e03131);
775
+ }
936
776
  .excalidraw .color-picker__input-hash {
937
777
  padding: 0 0.25rem;
938
778
  }
779
+ .excalidraw .color-picker__error-message {
780
+ color: var(--color-danger, #e03131);
781
+ font-size: 0.75rem;
782
+ padding: 0 8px 4px 8px;
783
+ text-align: left;
784
+ line-height: 1.3;
785
+ }
939
786
  .excalidraw .color-picker-input {
940
787
  box-sizing: border-box;
941
788
  width: 100%;
@@ -965,103 +812,18 @@
965
812
  .excalidraw .color-picker-input:focus-visible {
966
813
  box-shadow: none;
967
814
  }
968
- .excalidraw .color-picker-label-swatch-container {
969
- border: 1px solid var(--default-border-color);
970
- border-radius: var(--border-radius-lg);
971
- width: var(--default-button-size);
972
- height: var(--default-button-size);
973
- box-sizing: border-box;
974
- overflow: hidden;
975
- }
976
- .excalidraw .color-picker-label-swatch {
977
- display: flex;
978
- justify-content: center;
979
- align-items: center;
980
- padding: 0.625rem;
981
- width: var(--button-width, var(--default-button-size));
982
- height: var(--button-height, var(--default-button-size));
983
- box-sizing: border-box;
984
- border-width: 1px;
985
- border-style: solid;
986
- border-color: var(--button-border, var(--default-border-color));
987
- border-radius: var(--border-radius-lg);
988
- cursor: pointer;
989
- background-color: var(--button-bg, var(--island-bg-color));
990
- color: var(--button-color, var(--color-on-surface));
991
- font-family: var(--ui-font);
992
- background-color: var(--swatch-color) !important;
993
- overflow: hidden;
994
- position: relative;
995
- filter: var(--theme-filter);
996
- border: 0 !important;
997
- }
998
- .excalidraw .color-picker-label-swatch svg {
999
- width: var(--button-width, var(--lg-icon-size));
1000
- height: var(--button-height, var(--lg-icon-size));
1001
- }
1002
- .excalidraw .color-picker-label-swatch:hover {
1003
- background-color: var(--button-hover-bg, var(--island-bg-color));
1004
- border-color: var(--button-hover-border, var(--button-border, var(--default-border-color)));
1005
- color: var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)));
1006
- }
1007
- .excalidraw .color-picker-label-swatch:active {
1008
- background-color: var(--button-active-bg, var(--island-bg-color));
1009
- border-color: var(--button-active-border, var(--color-primary-darkest));
1010
- }
1011
- .excalidraw .color-picker-label-swatch.active {
1012
- background-color: var(--button-selected-bg, var(--color-surface-primary-container));
1013
- border-color: var(--button-selected-border, var(--color-surface-primary-container));
1014
- }
1015
- .excalidraw .color-picker-label-swatch.active:hover {
1016
- background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
1017
- }
1018
- .excalidraw .color-picker-label-swatch.active svg {
1019
- color: var(--button-color, var(--color-on-primary-container));
1020
- }
1021
- .excalidraw--mobile.excalidraw .color-picker-label-swatch {
1022
- width: var(--mobile-action-button-size, var(--default-button-size));
1023
- height: var(--mobile-action-button-size, var(--default-button-size));
1024
- }
1025
- .excalidraw .color-picker-label-swatch:after {
1026
- content: "";
1027
- position: absolute;
1028
- top: 0;
1029
- left: 0;
1030
- width: 100%;
1031
- height: 100%;
1032
- background: var(--swatch-color);
1033
- }
1034
- .excalidraw .color-picker-keybinding {
1035
- position: absolute;
1036
- bottom: 2px;
1037
- font-size: 0.7em;
1038
- }
1039
- :root[dir=ltr] .excalidraw .color-picker-keybinding {
1040
- right: 2px;
1041
- }
1042
- :root[dir=rtl] .excalidraw .color-picker-keybinding {
1043
- left: 2px;
1044
- }
1045
- .excalidraw--mobile.excalidraw .color-picker-keybinding {
1046
- display: none;
1047
- }
1048
- .excalidraw .color-picker-type-canvasBackground .color-picker-keybinding {
1049
- color: #aaa;
1050
- }
1051
- .excalidraw .color-picker-type-elementBackground .color-picker-keybinding {
1052
- color: #fff;
1053
- }
1054
- .excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding {
1055
- color: #aaa;
1056
- }
1057
- .excalidraw .color-picker-type-elementStroke .color-picker-keybinding {
1058
- color: #d4d4d4;
815
+ .excalidraw .color-picker__button.is-dnd-target {
816
+ transform: scale(1.2);
817
+ box-shadow: 0 0 0 1px var(--color-primary-darkest);
1059
818
  }
1060
- .excalidraw.theme--dark .color-picker-type-elementBackground .color-picker-keybinding {
1061
- color: #000;
819
+ .excalidraw-color-dnd-ghost-swatch {
820
+ --top-picks-dnd-ghost-ring: 0 0 0 1px rgba(0, 0, 0, 0.08);
821
+ border-radius: 4px;
1062
822
  }
1063
- .excalidraw.theme--dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding {
1064
- color: #000;
823
+ .excalidraw-color-dnd-ghost-swatch.is-transparent {
824
+ background-color: #fff;
825
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==);
826
+ background-position: left center;
1065
827
  }
1066
828
 
1067
829
  /* components/QuickSearch.scss */
@@ -1140,6 +902,26 @@
1140
902
  display: block;
1141
903
  grid-template-columns: none;
1142
904
  }
905
+ .excalidraw .FontPicker__top-picks-slots {
906
+ display: flex;
907
+ gap: inherit;
908
+ }
909
+ .excalidraw .FontPicker__top-picks .top-picks-dnd__pick.is-dnd-target {
910
+ transform: scale(1.1);
911
+ border-color: var(--color-primary);
912
+ }
913
+ .excalidraw .FontPicker__top-pick-sample {
914
+ font-size: 1rem;
915
+ line-height: 1;
916
+ }
917
+ .excalidraw .FontPicker__tip {
918
+ margin-top: 0.5rem;
919
+ }
920
+ .excalidraw-font-dnd-ghost-tile {
921
+ display: flex;
922
+ align-items: center;
923
+ justify-content: center;
924
+ }
1143
925
 
1144
926
  /* components/IconPicker.scss */
1145
927
  .excalidraw .picker {
@@ -1250,15 +1032,21 @@
1250
1032
  --slider-thumb-size: 16px;
1251
1033
  }
1252
1034
  .excalidraw .range-wrapper {
1035
+ --range-progress: 0;
1253
1036
  position: relative;
1254
1037
  padding-top: 10px;
1255
1038
  padding-bottom: 25px;
1256
1039
  }
1257
1040
  .excalidraw .range-input {
1258
1041
  width: 100%;
1042
+ margin-inline: 0;
1259
1043
  height: 4px;
1260
1044
  -webkit-appearance: none;
1261
- background: var(--color-slider-track);
1045
+ background:
1046
+ linear-gradient(
1047
+ to right,
1048
+ var(--color-slider-track) calc(var(--range-progress) * 100%),
1049
+ var(--button-bg) calc(var(--range-progress) * 100%));
1262
1050
  border-radius: 2px;
1263
1051
  outline: none;
1264
1052
  }
@@ -1283,6 +1071,7 @@
1283
1071
  .excalidraw .value-bubble {
1284
1072
  position: absolute;
1285
1073
  bottom: 0;
1074
+ left: calc(var(--slider-thumb-size) / 2 + (100% - var(--slider-thumb-size)) * var(--range-progress));
1286
1075
  transform: translateX(-50%);
1287
1076
  font-size: 12px;
1288
1077
  color: var(--text-primary-color);
@@ -1340,6 +1129,21 @@
1340
1129
  display: none;
1341
1130
  }
1342
1131
 
1132
+ /* components/ToolPopover.scss */
1133
+ .excalidraw .tool-popover-content {
1134
+ display: flex;
1135
+ flex-direction: row;
1136
+ gap: 0.25rem;
1137
+ border-radius: 0.5rem;
1138
+ background: var(--island-bg-color);
1139
+ box-shadow: var(--shadow-island);
1140
+ padding: 0.5rem;
1141
+ z-index: var(--zIndex-layerUI);
1142
+ }
1143
+ .excalidraw:focus {
1144
+ outline: none;
1145
+ }
1146
+
1343
1147
  /* components/CheckboxItem.scss */
1344
1148
  .excalidraw .Checkbox {
1345
1149
  margin: 4px 0.3em;
@@ -1434,6 +1238,62 @@
1434
1238
  background: none;
1435
1239
  }
1436
1240
 
1241
+ /* components/Toast.scss */
1242
+ .excalidraw .Toast {
1243
+ animation: Toast-fade-in 0.5s;
1244
+ min-width: 220px;
1245
+ max-width: min(360px, 100vw - 32px);
1246
+ border-radius: var(--border-radius-lg);
1247
+ border: 1px solid var(--default-border-color);
1248
+ background-color: var(--island-bg-color);
1249
+ color: var(--text-primary-color);
1250
+ padding: 0.5rem 0.75rem;
1251
+ box-shadow: 0 0 0 1px var(--color-surface-lowest);
1252
+ box-sizing: border-box;
1253
+ cursor: default;
1254
+ pointer-events: none;
1255
+ }
1256
+ .excalidraw .Toast .Toast__message {
1257
+ font-family: var(--ui-font);
1258
+ font-size: 0.75rem;
1259
+ line-height: 1.25rem;
1260
+ text-align: center;
1261
+ padding: 0 1.6rem;
1262
+ white-space: pre-wrap;
1263
+ }
1264
+ .excalidraw .Toast .Toast__progress-bar {
1265
+ margin-top: 0.35rem;
1266
+ width: 100%;
1267
+ height: 4px;
1268
+ border-radius: 999px;
1269
+ background-color: var(--button-gray-2);
1270
+ overflow: hidden;
1271
+ }
1272
+ .excalidraw .Toast .Toast__progress-bar-fill {
1273
+ height: 100%;
1274
+ border-radius: inherit;
1275
+ background-color: var(--color-primary);
1276
+ }
1277
+ .excalidraw .Toast .close {
1278
+ position: absolute;
1279
+ top: 0;
1280
+ right: 0;
1281
+ padding: 0.4rem;
1282
+ pointer-events: auto;
1283
+ }
1284
+ .excalidraw .Toast .close .ToolIcon__icon {
1285
+ width: 1.2rem;
1286
+ height: 1.2rem;
1287
+ }
1288
+ @keyframes Toast-fade-in {
1289
+ from {
1290
+ opacity: 0;
1291
+ }
1292
+ to {
1293
+ opacity: 1;
1294
+ }
1295
+ }
1296
+
1437
1297
  /* components/Avatar.scss */
1438
1298
  .excalidraw .Avatar {
1439
1299
  width: var(--avatar-size, 1.5rem);
@@ -1766,7 +1626,7 @@
1766
1626
 
1767
1627
  /* components/dropdownMenu/DropdownMenu.scss */
1768
1628
  .excalidraw .dropdown-menu {
1769
- max-width: 16rem;
1629
+ max-width: 20rem;
1770
1630
  z-index: 1;
1771
1631
  }
1772
1632
  .excalidraw .dropdown-menu--placement-top {
@@ -1853,6 +1713,12 @@
1853
1713
  .excalidraw .dropdown-menu.fonts .dropdown-menu-item-base {
1854
1714
  display: inline-flex;
1855
1715
  }
1716
+ .excalidraw .dropdown-menu.fonts .dropdown-menu-item:focus-visible {
1717
+ box-shadow: inset 0 0 0 1px var(--color-brand-hover);
1718
+ }
1719
+ .excalidraw .dropdown-menu.fonts .dropdown-menu-item:active {
1720
+ box-shadow: inset 0 0 0 1px var(--color-brand-active);
1721
+ }
1856
1722
  .excalidraw .dropdown-menu.fonts .dropdown-menu-group:not(:first-child) {
1857
1723
  margin-top: 1rem;
1858
1724
  }
@@ -1983,14 +1849,17 @@
1983
1849
  background-color: var(--button-active-bg, var(--island-bg-color));
1984
1850
  border-color: var(--button-active-border, var(--color-primary-darkest));
1985
1851
  }
1986
- .excalidraw .dropdown-menu-button.active {
1852
+ .excalidraw .dropdown-menu-button.active,
1853
+ .excalidraw .dropdown-menu-button.ToolIcon--checked {
1987
1854
  background-color: var(--button-selected-bg, var(--color-surface-primary-container));
1988
1855
  border-color: var(--button-selected-border, var(--color-surface-primary-container));
1989
1856
  }
1990
- .excalidraw .dropdown-menu-button.active:hover {
1857
+ .excalidraw .dropdown-menu-button.active:hover,
1858
+ .excalidraw .dropdown-menu-button.ToolIcon--checked:hover {
1991
1859
  background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
1992
1860
  }
1993
- .excalidraw .dropdown-menu-button.active svg {
1861
+ .excalidraw .dropdown-menu-button.active svg,
1862
+ .excalidraw .dropdown-menu-button.ToolIcon--checked svg {
1994
1863
  color: var(--button-color, var(--color-on-primary-container));
1995
1864
  }
1996
1865
  .excalidraw--mobile.excalidraw .dropdown-menu-button {
@@ -2090,6 +1959,42 @@
2090
1959
  max-height: 100%;
2091
1960
  max-width: 100%;
2092
1961
  }
1962
+ .excalidraw .library-unit--named {
1963
+ width: 100%;
1964
+ height: auto;
1965
+ aspect-ratio: 1;
1966
+ }
1967
+ .excalidraw .library-unit--named .library-unit__dragger {
1968
+ flex-direction: column;
1969
+ gap: 0.25rem;
1970
+ padding: 0.5rem;
1971
+ box-sizing: border-box;
1972
+ }
1973
+ .excalidraw .library-unit__preview {
1974
+ flex: 1 1 0;
1975
+ min-height: 0;
1976
+ width: 100%;
1977
+ display: flex;
1978
+ align-items: center;
1979
+ justify-content: center;
1980
+ }
1981
+ .excalidraw .library-unit__preview > svg {
1982
+ filter: var(--theme-filter);
1983
+ width: 100%;
1984
+ height: 100%;
1985
+ }
1986
+ .excalidraw .library-unit__name {
1987
+ flex: none;
1988
+ width: 100%;
1989
+ font-size: 0.75rem;
1990
+ line-height: 1rem;
1991
+ height: 1rem;
1992
+ text-align: center;
1993
+ white-space: nowrap;
1994
+ overflow: hidden;
1995
+ text-overflow: ellipsis;
1996
+ color: var(--text-primary-color);
1997
+ }
2093
1998
  .excalidraw .library-unit__checkbox-container,
2094
1999
  .excalidraw .library-unit__checkbox-container:hover,
2095
2000
  .excalidraw .library-unit__checkbox-container:active {
@@ -2253,6 +2158,7 @@
2253
2158
  flex: 1;
2254
2159
  overflow-y: auto;
2255
2160
  overflow-x: hidden;
2161
+ scrollbar-gutter: stable;
2256
2162
  }
2257
2163
  .excalidraw .library-menu-items-container__header {
2258
2164
  display: flex;
@@ -2285,6 +2191,11 @@
2285
2191
  grid-template-columns: 1fr 1fr 1fr 1fr;
2286
2192
  grid-gap: 1rem;
2287
2193
  }
2194
+ .excalidraw .library-menu-items-container__grid--named {
2195
+ width: 100%;
2196
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2197
+ grid-gap: 0.5rem;
2198
+ }
2288
2199
  .excalidraw .library-menu-items-container__search {
2289
2200
  flex: 1 1 auto;
2290
2201
  margin: 0;
@@ -2324,7 +2235,6 @@
2324
2235
  --button-gray-2: #ced4da;
2325
2236
  --button-gray-3: #adb5bd;
2326
2237
  --mobile-action-button-bg: rgba(255, 255, 255, 0.35);
2327
- --mobile-color-border: var(--default-border-color);
2328
2238
  --button-special-active-bg-color: #ebfbee;
2329
2239
  --dialog-border-color: var(--color-gray-20);
2330
2240
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -2342,7 +2252,7 @@
2342
2252
  --link-color: #1c7ed6;
2343
2253
  --link-color-hover: #1971c2;
2344
2254
  --link-color-active: #a5d8ff;
2345
- --overlay-bg-color: rgba(255, 255, 255, 0.88);
2255
+ --overlay-bg-color: rgba(12, 12, 14, 0.35);
2346
2256
  --popup-bg-color: var(--island-bg-color);
2347
2257
  --popup-secondary-bg-color: #f1f3f5;
2348
2258
  --popup-text-color: #000;
@@ -2473,7 +2383,7 @@
2473
2383
  @media screen and (min-device-width: 1921px) {
2474
2384
  .excalidraw,
2475
2385
  .exc-style {
2476
- --lg-button-size: 2.5rem;
2386
+ --lg-button-size: 2.375rem;
2477
2387
  --lg-icon-size: 1.25rem;
2478
2388
  --default-button-size: 2.25rem;
2479
2389
  --default-icon-size: 1.25rem;
@@ -2496,7 +2406,6 @@
2496
2406
  --button-gray-2: #272727;
2497
2407
  --button-gray-3: #222;
2498
2408
  --mobile-action-button-bg: var(--island-bg-color);
2499
- --mobile-color-border: rgba(255, 255, 255, 0.85);
2500
2409
  --button-special-active-bg-color: #204624;
2501
2410
  --dialog-border-color: var(--color-gray-80);
2502
2411
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -2511,7 +2420,7 @@
2511
2420
  --island-bg-color-alt: hsl(240, 12%, 12%);
2512
2421
  --keybinding-color: var(--color-gray-60);
2513
2422
  --link-color: #4dabf7;
2514
- --overlay-bg-color: rgba(52, 58, 64, 0.12);
2423
+ --overlay-bg-color: rgba(12, 12, 14, 0.65);
2515
2424
  --popup-secondary-bg-color: #222;
2516
2425
  --popup-text-color: #ced4da;
2517
2426
  --popup-text-inverted-color: #2c2c2c;
@@ -2527,7 +2436,7 @@
2527
2436
  --scrollbar-thumb: #343a40;
2528
2437
  --scrollbar-thumb-hover: #495057;
2529
2438
  --color-slider-track: hsl(244, 23%, 39%);
2530
- --color-selection: #3530c4;
2439
+ --color-selection: #b4b0ff;
2531
2440
  --color-icon-white: var(--color-gray-90);
2532
2441
  --color-primary: #a8a5ff;
2533
2442
  --color-primary-darker: #b2aeff;
@@ -2608,19 +2517,28 @@
2608
2517
  border-color: var(--button-active-border, var(--color-primary-darkest));
2609
2518
  }
2610
2519
  .excalidraw .excalidraw-button.active,
2520
+ .excalidraw .excalidraw-button.ToolIcon--checked,
2611
2521
  .exc-style.excalidraw-button.active,
2612
- .exc-style .excalidraw-button.active {
2522
+ .exc-style.excalidraw-button.ToolIcon--checked,
2523
+ .exc-style .excalidraw-button.active,
2524
+ .exc-style .excalidraw-button.ToolIcon--checked {
2613
2525
  background-color: var(--button-selected-bg, var(--color-surface-primary-container));
2614
2526
  border-color: var(--button-selected-border, var(--color-surface-primary-container));
2615
2527
  }
2616
2528
  .excalidraw .excalidraw-button.active:hover,
2529
+ .excalidraw .excalidraw-button.ToolIcon--checked:hover,
2617
2530
  .exc-style.excalidraw-button.active:hover,
2618
- .exc-style .excalidraw-button.active:hover {
2531
+ .exc-style.excalidraw-button.ToolIcon--checked:hover,
2532
+ .exc-style .excalidraw-button.active:hover,
2533
+ .exc-style .excalidraw-button.ToolIcon--checked:hover {
2619
2534
  background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
2620
2535
  }
2621
2536
  .excalidraw .excalidraw-button.active svg,
2537
+ .excalidraw .excalidraw-button.ToolIcon--checked svg,
2622
2538
  .exc-style.excalidraw-button.active svg,
2623
- .exc-style .excalidraw-button.active svg {
2539
+ .exc-style.excalidraw-button.ToolIcon--checked svg,
2540
+ .exc-style .excalidraw-button.active svg,
2541
+ .exc-style .excalidraw-button.ToolIcon--checked svg {
2624
2542
  color: var(--button-color, var(--color-on-primary-container));
2625
2543
  }
2626
2544
  .excalidraw--mobile.excalidraw .excalidraw-button,
@@ -2886,7 +2804,7 @@
2886
2804
  right: 0;
2887
2805
  bottom: 0;
2888
2806
  z-index: 1;
2889
- background-color: rgba(18, 18, 18, 0.2);
2807
+ background-color: var(--overlay-bg-color);
2890
2808
  animation: Modal__background__fade-in 0.1s linear forwards;
2891
2809
  }
2892
2810
  .excalidraw .Modal__content {
@@ -3004,14 +2922,13 @@
3004
2922
  /* components/Actions.scss */
3005
2923
  .zoom-actions,
3006
2924
  .undo-redo-buttons {
3007
- background-color: var(--island-bg-color);
2925
+ background-color: var(--color-surface-low);
3008
2926
  border-radius: var(--border-radius-lg);
3009
2927
  box-shadow: 0 0 0 1px var(--color-surface-lowest);
3010
2928
  }
3011
2929
  .zoom-button,
3012
2930
  .undo-redo-buttons button {
3013
2931
  border-radius: 0 !important;
3014
- background-color: var(--color-surface-low) !important;
3015
2932
  font-size: 0.875rem !important;
3016
2933
  width: var(--lg-button-size);
3017
2934
  height: var(--lg-button-size);
@@ -3034,6 +2951,16 @@
3034
2951
  justify-content: center;
3035
2952
  color: var(--text-primary-color);
3036
2953
  }
2954
+ .zoom-actions .reset-zoom-button:hover:not(:active) {
2955
+ background-color: var(--button-hover-bg);
2956
+ }
2957
+ .reset-zoom-button-wrapper {
2958
+ transition: transform var(--zen-mode-transition-duration) ease-in-out;
2959
+ }
2960
+ .zoom-out-button-wrapper,
2961
+ .zoom-in-button-wrapper {
2962
+ transition: opacity var(--zen-mode-transition-duration) ease-in-out, visibility var(--zen-mode-transition-duration);
2963
+ }
3037
2964
  .zoom-out-button {
3038
2965
  border-top-left-radius: var(--border-radius-lg) !important;
3039
2966
  border-bottom-left-radius: var(--border-radius-lg) !important;
@@ -3079,6 +3006,16 @@
3079
3006
  border-top-left-radius: 0 !important;
3080
3007
  border-bottom-left-radius: 0 !important;
3081
3008
  }
3009
+ .align-buttons {
3010
+ display: flex;
3011
+ flex-direction: column;
3012
+ gap: 0.5rem;
3013
+ }
3014
+ .align-buttons__row {
3015
+ display: flex;
3016
+ flex-wrap: wrap;
3017
+ gap: 0.5rem;
3018
+ }
3082
3019
  .compact-shape-actions {
3083
3020
  display: flex;
3084
3021
  flex-direction: column;
@@ -3170,21 +3107,6 @@
3170
3107
  --button-bg: var(--color-surface-high);
3171
3108
  }
3172
3109
 
3173
- /* components/ToolPopover.scss */
3174
- .excalidraw .tool-popover-content {
3175
- display: flex;
3176
- flex-direction: row;
3177
- gap: 0.25rem;
3178
- border-radius: 0.5rem;
3179
- background: var(--island-bg-color);
3180
- box-shadow: var(--shadow-island);
3181
- padding: 0.5rem;
3182
- z-index: var(--zIndex-layerUI);
3183
- }
3184
- .excalidraw:focus {
3185
- outline: none;
3186
- }
3187
-
3188
3110
  /* components/CommandPalette/CommandPalette.scss */
3189
3111
  .excalidraw .command-palette-dialog {
3190
3112
  user-select: none;
@@ -3334,7 +3256,6 @@
3334
3256
  .excalidraw .popover {
3335
3257
  position: absolute;
3336
3258
  z-index: 10;
3337
- padding: 5px 0 5px;
3338
3259
  outline: none;
3339
3260
  }
3340
3261
 
@@ -3346,10 +3267,9 @@
3346
3267
  position: relative;
3347
3268
  border-radius: 4px;
3348
3269
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
3349
- padding: 0;
3350
3270
  list-style: none;
3351
3271
  user-select: none;
3352
- margin: -0.25rem 0 0 0.125rem;
3272
+ margin: 0;
3353
3273
  padding: 0.5rem 0;
3354
3274
  background-color: var(--popup-secondary-bg-color);
3355
3275
  border: 1px solid var(--button-gray-3);
@@ -3420,59 +3340,226 @@
3420
3340
  border-top: 1px solid #adb5bd;
3421
3341
  }
3422
3342
 
3423
- /* components/FollowMode/FollowMode.scss */
3424
- .excalidraw .follow-mode {
3343
+ /* components/FileDropOverlay.scss */
3344
+ .excalidraw .file-drop-overlay {
3425
3345
  position: absolute;
3426
- box-sizing: border-box;
3427
- pointer-events: none;
3428
- border: 2px solid var(--color-primary-hover);
3429
- z-index: 9999;
3346
+ inset: 0;
3347
+ z-index: var(--zIndex-fileDropOverlay);
3430
3348
  display: flex;
3431
- align-items: flex-end;
3349
+ align-items: center;
3432
3350
  justify-content: center;
3351
+ padding: 1rem;
3352
+ box-sizing: border-box;
3353
+ pointer-events: none;
3354
+ background: var(--overlay-bg-color);
3355
+ animation: file-drop-overlay-appear 120ms ease-out;
3356
+ }
3357
+ .excalidraw .file-drop-overlay__card {
3358
+ width: 30rem;
3359
+ max-width: 100%;
3360
+ box-sizing: border-box;
3361
+ padding: 2rem 1.5rem 1.5rem;
3362
+ border: 1px solid var(--color-primary-light-darker);
3363
+ border-radius: 1.5rem;
3364
+ background: var(--island-bg-color);
3365
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
3366
+ text-align: center;
3367
+ }
3368
+ .excalidraw .file-drop-overlay__title {
3369
+ color: var(--text-primary-color);
3370
+ font-size: 1.5rem;
3371
+ font-weight: 700;
3372
+ line-height: 1.3;
3373
+ }
3374
+ .excalidraw .file-drop-overlay__hint {
3375
+ margin-top: 0.5rem;
3376
+ color: var(--text-primary-color);
3377
+ opacity: 0.7;
3378
+ font-size: 0.875rem;
3379
+ line-height: 1.75;
3380
+ }
3381
+ .excalidraw .file-drop-overlay__hint kbd {
3382
+ padding: 0.125rem 0.375rem;
3383
+ border: 1px solid var(--default-border-color);
3384
+ border-radius: 0.25rem;
3385
+ background: var(--color-surface-low);
3386
+ font: inherit;
3387
+ }
3388
+ .excalidraw .file-drop-overlay__hint--secondary {
3389
+ margin-top: 0;
3390
+ opacity: 0.45;
3391
+ font-size: 0.75rem;
3392
+ }
3393
+ .excalidraw .file-drop-overlay__illustration {
3394
+ position: relative;
3395
+ height: 10rem;
3396
+ margin-top: 1.75rem;
3397
+ color: var(--color-primary);
3398
+ }
3399
+ .excalidraw .file-drop-overlay__file {
3400
+ position: absolute;
3401
+ top: 0.5rem;
3402
+ left: calc(50% - 3rem);
3403
+ width: 6rem;
3404
+ height: 8rem;
3405
+ overflow: visible;
3406
+ stroke: currentColor;
3407
+ stroke-width: 2.5;
3408
+ stroke-linecap: round;
3409
+ stroke-linejoin: round;
3410
+ animation: file-drop-overlay-float 3.6s ease-in-out infinite;
3411
+ }
3412
+ .excalidraw .file-drop-overlay__file--back {
3413
+ --file-x: -1.5rem;
3414
+ --file-angle: -18deg;
3415
+ top: 1rem;
3416
+ color: var(--color-primary-light-darker);
3417
+ }
3418
+ .excalidraw .file-drop-overlay__file--front {
3419
+ --file-x: 1.5rem;
3420
+ --file-angle: 12deg;
3421
+ animation-delay: -1.8s;
3433
3422
  }
3434
- .excalidraw .follow-mode__badge {
3435
- background-color: var(--color-primary-hover);
3423
+ .excalidraw .file-drop-overlay__paper {
3424
+ fill: var(--island-bg-color);
3425
+ }
3426
+ .excalidraw .file-drop-overlay__lines {
3427
+ opacity: 0.35;
3428
+ }
3429
+ .excalidraw .file-drop-overlay__cross {
3430
+ stroke-width: 4;
3431
+ }
3432
+ .excalidraw .file-drop-overlay:not(.file-drop-overlay--keep) .file-drop-overlay__file--back .file-drop-overlay__lines {
3433
+ opacity: 0;
3434
+ }
3435
+ .excalidraw .file-drop-overlay--keep .file-drop-overlay__file--back {
3436
+ color: var(--color-primary);
3437
+ }
3438
+ .excalidraw .file-drop-overlay--keep .file-drop-overlay__cross {
3439
+ opacity: 0;
3440
+ }
3441
+ @keyframes file-drop-overlay-appear {
3442
+ from {
3443
+ opacity: 0;
3444
+ }
3445
+ to {
3446
+ opacity: 1;
3447
+ }
3448
+ }
3449
+ @keyframes file-drop-overlay-float {
3450
+ 0%, 100% {
3451
+ transform: translate(var(--file-x), 0) rotate(var(--file-angle));
3452
+ }
3453
+ 50% {
3454
+ transform: translate(var(--file-x), -0.375rem) rotate(calc(var(--file-angle) + 3deg));
3455
+ }
3456
+ }
3457
+ @media (prefers-reduced-motion: reduce) {
3458
+ .excalidraw .file-drop-overlay,
3459
+ .excalidraw .file-drop-overlay__file {
3460
+ animation: none;
3461
+ }
3462
+ .excalidraw .file-drop-overlay__file {
3463
+ transform: translate(var(--file-x), 0) rotate(var(--file-angle));
3464
+ }
3465
+ }
3466
+ @media (max-height: 420px) {
3467
+ .excalidraw .file-drop-overlay__card {
3468
+ padding: 1.25rem;
3469
+ }
3470
+ .excalidraw .file-drop-overlay__illustration {
3471
+ height: 7rem;
3472
+ margin-top: 0.75rem;
3473
+ }
3474
+ .excalidraw .file-drop-overlay__file {
3475
+ width: 4.5rem;
3476
+ height: 6rem;
3477
+ left: calc(50% - 2.25rem);
3478
+ }
3479
+ }
3480
+
3481
+ /* components/ViewportStatusFrame/ViewportStatusFrame.scss */
3482
+ .excalidraw .viewport-status-frame__border {
3483
+ position: absolute;
3484
+ inset: 0;
3485
+ box-sizing: border-box;
3486
+ pointer-events: none;
3487
+ border: 4px solid;
3488
+ z-index: var(--zIndex-viewportStatusFrame);
3489
+ }
3490
+ .excalidraw .viewport-status-frame__badge {
3491
+ position: relative;
3492
+ z-index: var(--zIndex-viewportStatusFrame);
3493
+ pointer-events: all;
3494
+ background-color: var(--viewport-status-frame-badge-background);
3436
3495
  color: var(--color-primary-light);
3437
- padding: 0.25rem 0.5rem;
3438
- margin-bottom: 0.5rem;
3439
3496
  border-radius: 0.5rem;
3440
- pointer-events: all;
3441
3497
  font-size: 0.75rem;
3442
3498
  display: flex;
3443
- gap: 0.5rem;
3444
3499
  align-items: center;
3500
+ overflow: hidden;
3501
+ }
3502
+ .excalidraw--mobile.excalidraw .viewport-status-frame__badge {
3503
+ background: linear-gradient(var(--viewport-status-frame-badge-background), var(--viewport-status-frame-badge-background)), var(--island-bg-color);
3504
+ }
3505
+ .excalidraw .viewport-status-frame__badge--clickable {
3506
+ cursor: pointer;
3507
+ }
3508
+ .excalidraw .viewport-status-frame__badge--clickable:active {
3509
+ transform: scale(0.96);
3510
+ }
3511
+ .excalidraw .viewport-status-frame__badge-action {
3512
+ position: absolute;
3513
+ inset: 0;
3514
+ margin: 0;
3515
+ border: 0;
3516
+ padding: 0;
3517
+ background: transparent;
3518
+ cursor: inherit;
3445
3519
  }
3446
- .excalidraw .follow-mode__badge__label {
3520
+ .excalidraw .viewport-status-frame__badge-action:focus-visible {
3521
+ outline: 2px solid currentColor;
3522
+ outline-offset: -2px;
3523
+ border-radius: 0.5rem;
3524
+ }
3525
+ .excalidraw .viewport-status-frame__badge-label {
3526
+ position: relative;
3447
3527
  display: flex;
3528
+ align-items: center;
3529
+ gap: 0.25rem;
3530
+ padding: 0.25rem 0.5rem;
3448
3531
  white-space: pre-wrap;
3449
3532
  line-height: 1;
3533
+ pointer-events: none;
3450
3534
  }
3451
- .excalidraw .follow-mode__badge__username {
3452
- display: block;
3453
- white-space: nowrap;
3454
- overflow: hidden;
3455
- text-overflow: ellipsis;
3456
- max-width: 100px;
3535
+ .excalidraw .viewport-status-frame__badge-icon {
3536
+ display: flex;
3537
+ align-items: center;
3538
+ }
3539
+ .excalidraw .viewport-status-frame__badge-icon svg {
3540
+ width: 1rem;
3541
+ height: 1rem;
3457
3542
  }
3458
- .excalidraw .follow-mode__disconnect-btn {
3543
+ .excalidraw .viewport-status-frame__badge-close {
3459
3544
  all: unset;
3460
3545
  cursor: pointer;
3461
3546
  border-radius: 0.25rem;
3547
+ margin-right: 0.5rem;
3548
+ position: relative;
3462
3549
  }
3463
- .excalidraw .follow-mode__disconnect-btn:hover {
3550
+ .excalidraw .viewport-status-frame__badge-close:hover {
3464
3551
  background-color: var(--color-primary-darker);
3465
3552
  }
3466
- .excalidraw .follow-mode__disconnect-btn:active {
3553
+ .excalidraw .viewport-status-frame__badge-close:active {
3467
3554
  background-color: var(--color-primary-darkest);
3468
3555
  }
3469
- .excalidraw .follow-mode__disconnect-btn svg {
3556
+ .excalidraw .viewport-status-frame__badge-close svg {
3470
3557
  display: block;
3471
3558
  width: 1rem;
3472
3559
  height: 1rem;
3473
3560
  }
3474
3561
 
3475
- /* components/MobileToolBar.scss */
3562
+ /* components/MobileToolbar.scss */
3476
3563
  .excalidraw .mobile-toolbar {
3477
3564
  display: flex;
3478
3565
  flex: 1;
@@ -3504,9 +3591,8 @@
3504
3591
  .excalidraw .mobile-toolbar .ToolIcon .ToolIcon__icon:hover {
3505
3592
  background-color: transparent;
3506
3593
  }
3507
- .excalidraw .mobile-toolbar .ToolIcon.active {
3508
- background: var(--color-surface-primary-container, var(--island-bg-color));
3509
- border-color: var(--button-active-border, var(--color-primary-darkest));
3594
+ .excalidraw .mobile-toolbar .ToolIcon.ToolIcon--checked .ToolIcon__icon:hover {
3595
+ background-color: var(--color-surface-primary-container);
3510
3596
  }
3511
3597
  .excalidraw .mobile-toolbar .ToolIcon svg {
3512
3598
  width: 1rem;
@@ -3675,7 +3761,7 @@
3675
3761
  pointer-events: none;
3676
3762
  padding: var(--userList-padding);
3677
3763
  display: flex;
3678
- flex-wrap: wrap;
3764
+ flex-wrap: nowrap;
3679
3765
  justify-content: flex-end;
3680
3766
  align-items: center;
3681
3767
  gap: var(--avatarList-gap);
@@ -3688,66 +3774,52 @@
3688
3774
  pointer-events: var(--ui-pointerEvents);
3689
3775
  }
3690
3776
  .excalidraw .UserList_mobile {
3777
+ flex-direction: column;
3778
+ align-items: stretch;
3691
3779
  padding: 0;
3692
3780
  justify-content: normal;
3693
3781
  margin: 0.5rem 0;
3694
3782
  max-width: none;
3695
3783
  max-height: none;
3696
3784
  }
3697
- .excalidraw .UserList__more {
3698
- width: var(--avatar-size, 1.5rem);
3699
- height: var(--avatar-size, 1.5rem);
3700
- position: relative;
3701
- border-radius: 100%;
3702
- outline-offset: 2px;
3785
+ .excalidraw .UserList_mobile__avatars {
3703
3786
  display: flex;
3704
- justify-content: center;
3787
+ flex-wrap: wrap;
3705
3788
  align-items: center;
3706
- cursor: pointer;
3707
- font-size: 0.75rem;
3708
- font-weight: 700;
3709
- line-height: 1;
3710
- color: var(--color-gray-90);
3711
- flex: 0 0 auto;
3712
- }
3713
- .excalidraw .UserList__more:active {
3714
- transform: scale(0.94);
3715
- }
3716
- .excalidraw .UserList__more-img {
3717
- width: 100%;
3718
- height: 100%;
3719
- border-radius: 100%;
3720
- }
3721
- .excalidraw .UserList__more::before {
3722
- content: "";
3723
- position: absolute;
3724
- top: -3px;
3725
- right: -3px;
3726
- bottom: -3px;
3727
- left: -3px;
3728
- border-radius: 100%;
3729
- }
3730
- .excalidraw .UserList__more.is-followed::before {
3731
- border-color: var(--color-primary-hover);
3732
- box-shadow: 0 0 0 1px var(--color-primary-hover);
3733
- }
3734
- .excalidraw .UserList__more.is-current-user {
3735
- cursor: auto;
3789
+ gap: var(--avatarList-gap);
3736
3790
  }
3737
- .excalidraw .UserList__more {
3738
- background-color: var(--color-gray-20);
3739
- border: 0 !important;
3740
- font-size: 0.625rem;
3741
- font-weight: 400;
3742
- flex-shrink: 0;
3743
- color: var(--color-gray-100);
3744
- font-weight: bold;
3791
+ .excalidraw .UserList_mobile__avatars > .is-current-user {
3792
+ order: -1;
3745
3793
  }
3746
3794
  .excalidraw .UserList__collaborator-name {
3747
3795
  text-overflow: ellipsis;
3748
3796
  overflow: hidden;
3749
3797
  white-space: nowrap;
3750
3798
  }
3799
+ .excalidraw .UserList__pill {
3800
+ display: flex;
3801
+ align-items: center;
3802
+ padding: 0 0.25rem 0 0;
3803
+ border-radius: 1.25rem;
3804
+ background-color: var(--color-surface-low);
3805
+ border: 1px solid var(--color-gray-20);
3806
+ cursor: pointer;
3807
+ pointer-events: var(--ui-pointerEvents);
3808
+ }
3809
+ .excalidraw .UserList__pill:hover {
3810
+ background-color: var(--color-surface-high);
3811
+ }
3812
+ .excalidraw .UserList__pill-chevron {
3813
+ display: flex;
3814
+ align-items: center;
3815
+ color: var(--color-gray-50);
3816
+ width: 15px;
3817
+ height: 15px;
3818
+ }
3819
+ .excalidraw .UserList__pill-chevron svg {
3820
+ width: 100%;
3821
+ height: 100%;
3822
+ }
3751
3823
  .excalidraw .UserList__collaborator--avatar-only {
3752
3824
  position: relative;
3753
3825
  display: flex;
@@ -3776,6 +3848,9 @@
3776
3848
  justify-content: flex-end;
3777
3849
  display: flex;
3778
3850
  }
3851
+ .excalidraw .UserList__collaborator.is-current-user {
3852
+ pointer-events: none;
3853
+ }
3779
3854
  .excalidraw .UserList__collaborator.is-muted .UserList__collaborator-status-icon-microphone-muted {
3780
3855
  color: var(--color-danger);
3781
3856
  filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0.5));
@@ -3812,8 +3887,23 @@
3812
3887
  }
3813
3888
  }
3814
3889
  .excalidraw .UserList__collaborators {
3890
+ display: flex;
3891
+ flex-direction: column;
3815
3892
  top: auto;
3816
3893
  max-height: 50vh;
3894
+ padding: 2px;
3895
+ box-sizing: border-box;
3896
+ }
3897
+ .excalidraw .UserList__collaborators > .hint {
3898
+ order: -2;
3899
+ }
3900
+ .excalidraw .UserList__collaborators > .is-current-user {
3901
+ order: -1;
3902
+ }
3903
+ .excalidraw .UserList__menu-divider {
3904
+ height: 1px;
3905
+ background-color: var(--userlist-collaborators-border-color);
3906
+ margin: 0.25rem 0;
3817
3907
  }
3818
3908
 
3819
3909
  /* components/Sidebar/SidebarTrigger.scss */
@@ -3858,14 +3948,17 @@
3858
3948
  background-color: var(--button-active-bg, var(--island-bg-color));
3859
3949
  border-color: var(--button-active-border, var(--color-primary-darkest));
3860
3950
  }
3861
- .excalidraw .sidebar-trigger.active {
3951
+ .excalidraw .sidebar-trigger.active,
3952
+ .excalidraw .sidebar-trigger.ToolIcon--checked {
3862
3953
  background-color: var(--button-selected-bg, var(--color-surface-primary-container));
3863
3954
  border-color: var(--button-selected-border, var(--color-surface-primary-container));
3864
3955
  }
3865
- .excalidraw .sidebar-trigger.active:hover {
3956
+ .excalidraw .sidebar-trigger.active:hover,
3957
+ .excalidraw .sidebar-trigger.ToolIcon--checked:hover {
3866
3958
  background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
3867
3959
  }
3868
- .excalidraw .sidebar-trigger.active svg {
3960
+ .excalidraw .sidebar-trigger.active svg,
3961
+ .excalidraw .sidebar-trigger.ToolIcon--checked svg {
3869
3962
  color: var(--button-color, var(--color-on-primary-container));
3870
3963
  }
3871
3964
  .excalidraw--mobile.excalidraw .sidebar-trigger {
@@ -3885,6 +3978,14 @@
3885
3978
  }
3886
3979
  .excalidraw .sidebar-trigger__label-element {
3887
3980
  align-self: flex-start;
3981
+ appearance: none;
3982
+ margin: 0;
3983
+ padding: 0;
3984
+ border: none;
3985
+ background-color: transparent;
3986
+ font: inherit;
3987
+ color: inherit;
3988
+ text-align: inherit;
3888
3989
  }
3889
3990
  .excalidraw .default-sidebar-trigger .sidebar-trigger__label {
3890
3991
  display: block;
@@ -3983,14 +4084,17 @@
3983
4084
  background-color: var(--button-active-bg, var(--island-bg-color));
3984
4085
  border-color: var(--button-active-border, var(--color-primary-darkest));
3985
4086
  }
3986
- .excalidraw .sidebar__header__buttons button.active {
4087
+ .excalidraw .sidebar__header__buttons button.active,
4088
+ .excalidraw .sidebar__header__buttons button.ToolIcon--checked {
3987
4089
  background-color: var(--button-selected-bg, var(--color-surface-primary-container));
3988
4090
  border-color: var(--button-selected-border, var(--color-surface-primary-container));
3989
4091
  }
3990
- .excalidraw .sidebar__header__buttons button.active:hover {
4092
+ .excalidraw .sidebar__header__buttons button.active:hover,
4093
+ .excalidraw .sidebar__header__buttons button.ToolIcon--checked:hover {
3991
4094
  background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
3992
4095
  }
3993
- .excalidraw .sidebar__header__buttons button.active svg {
4096
+ .excalidraw .sidebar__header__buttons button.active svg,
4097
+ .excalidraw .sidebar__header__buttons button.ToolIcon--checked svg {
3994
4098
  color: var(--button-color, var(--color-on-primary-container));
3995
4099
  }
3996
4100
  .excalidraw--mobile.excalidraw .sidebar__header__buttons button {
@@ -4091,14 +4195,17 @@
4091
4195
  border-radius: 10px;
4092
4196
  background: var(--RadioGroup-background);
4093
4197
  border: 1px solid var(--RadioGroup-border);
4198
+ gap: 2px;
4094
4199
  }
4095
4200
  .excalidraw .RadioGroup__choice {
4201
+ box-sizing: content-box;
4096
4202
  position: relative;
4097
4203
  display: flex;
4098
4204
  align-items: center;
4099
4205
  justify-content: center;
4100
- width: 32px;
4206
+ min-width: 20px;
4101
4207
  height: 24px;
4208
+ padding: 0 0.375rem;
4102
4209
  color: var(--RadioGroup-choice-color-off);
4103
4210
  background: var(--RadioGroup-choice-background-off);
4104
4211
  border-radius: 8px;
@@ -4109,12 +4216,11 @@
4109
4216
  line-height: 100%;
4110
4217
  user-select: none;
4111
4218
  letter-spacing: 0.4px;
4112
- transition: all 75ms ease-out;
4113
4219
  }
4114
4220
  .excalidraw .RadioGroup__choice:hover {
4115
4221
  color: var(--RadioGroup-choice-color-off-hover);
4116
4222
  }
4117
- .excalidraw .RadioGroup__choice:active {
4223
+ .excalidraw .RadioGroup__choice:not(.active):active {
4118
4224
  background: var(--RadioGroup-choice-background-off-active);
4119
4225
  }
4120
4226
  .excalidraw .RadioGroup__choice.active {
@@ -5919,46 +6025,6 @@
5919
6025
  line-height: 1;
5920
6026
  }
5921
6027
 
5922
- /* components/HintViewer.scss */
5923
- .excalidraw .HintViewer {
5924
- pointer-events: none;
5925
- box-sizing: border-box;
5926
- position: absolute;
5927
- display: flex;
5928
- flex-direction: column;
5929
- justify-content: center;
5930
- left: 0;
5931
- top: 100%;
5932
- max-width: 100%;
5933
- width: 100%;
5934
- margin-top: 0.5rem;
5935
- text-align: center;
5936
- color: var(--color-gray-40);
5937
- font-size: 0.75rem;
5938
- }
5939
- .excalidraw--mobile.excalidraw .HintViewer {
5940
- position: static;
5941
- padding-right: 2rem;
5942
- }
5943
- .excalidraw .HintViewer > span {
5944
- padding: 0.25rem;
5945
- }
5946
- .excalidraw .HintViewer kbd {
5947
- display: inline-block;
5948
- margin: 0 1px;
5949
- font-family: monospace;
5950
- border: 1px solid var(--color-gray-40);
5951
- border-radius: 4px;
5952
- padding: 1px 3px;
5953
- font-size: 10px;
5954
- }
5955
- .excalidraw.theme--dark .HintViewer {
5956
- color: var(--color-gray-60);
5957
- }
5958
- .excalidraw.theme--dark .HintViewer kbd {
5959
- border-color: var(--color-gray-60);
5960
- }
5961
-
5962
6028
  /* components/Switch.scss */
5963
6029
  .excalidraw {
5964
6030
  --Switch-disabled-color: var(--color-border-outline);
@@ -6253,6 +6319,9 @@
6253
6319
  max-width: calc(100% - var(--preview-padding) * 2);
6254
6320
  max-height: 25rem;
6255
6321
  }
6322
+ .excalidraw.theme--dark .ExportDialog__preview canvas {
6323
+ filter: none;
6324
+ }
6256
6325
  .excalidraw .ExportDialog__actions {
6257
6326
  width: 100%;
6258
6327
  display: flex;
@@ -6336,6 +6405,46 @@
6336
6405
  width: 0.9em;
6337
6406
  }
6338
6407
 
6408
+ /* components/HintViewer.scss */
6409
+ .excalidraw .HintViewer {
6410
+ pointer-events: none;
6411
+ box-sizing: border-box;
6412
+ position: absolute;
6413
+ display: flex;
6414
+ flex-direction: column;
6415
+ justify-content: center;
6416
+ left: 0;
6417
+ top: 100%;
6418
+ max-width: 100%;
6419
+ width: 100%;
6420
+ margin-top: 0.5rem;
6421
+ text-align: center;
6422
+ color: var(--color-gray-40);
6423
+ font-size: 0.75rem;
6424
+ }
6425
+ .excalidraw--mobile.excalidraw .HintViewer {
6426
+ position: static;
6427
+ padding-right: 2rem;
6428
+ }
6429
+ .excalidraw .HintViewer > span {
6430
+ padding: 0.25rem;
6431
+ }
6432
+ .excalidraw .HintViewer kbd {
6433
+ display: inline-block;
6434
+ margin: 0 1px;
6435
+ font-family: monospace;
6436
+ border: 1px solid var(--color-gray-40);
6437
+ border-radius: 4px;
6438
+ padding: 1px 3px;
6439
+ font-size: 10px;
6440
+ }
6441
+ .excalidraw.theme--dark .HintViewer {
6442
+ color: var(--color-gray-60);
6443
+ }
6444
+ .excalidraw.theme--dark .HintViewer kbd {
6445
+ border-color: var(--color-gray-60);
6446
+ }
6447
+
6339
6448
  /* components/LayerUI.scss */
6340
6449
  .excalidraw .layer-ui__wrapper.animate {
6341
6450
  transition: width 0.1s ease-in-out;
@@ -6368,22 +6477,21 @@
6368
6477
  display: flex;
6369
6478
  }
6370
6479
  .excalidraw .layer-ui__wrapper .zen-mode-transition {
6371
- transition: transform 0.5s ease-in-out;
6372
- }
6373
- :root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left {
6374
- transform: translate(-999px, 0);
6375
- }
6376
- :root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right {
6377
- transform: translate(999px, 0);
6378
- }
6379
- :root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left {
6380
- transform: translate(999px, 0);
6381
- }
6382
- :root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right {
6383
- transform: translate(-999px, 0);
6480
+ transition: opacity var(--zen-mode-transition-duration) ease-in-out, visibility var(--zen-mode-transition-duration);
6384
6481
  }
6482
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left,
6483
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right,
6385
6484
  .excalidraw .layer-ui__wrapper .zen-mode-transition.layer-ui__wrapper__footer-left--transition-bottom {
6386
- transform: translate(0, 92px);
6485
+ opacity: 0;
6486
+ visibility: hidden;
6487
+ }
6488
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left,
6489
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left *,
6490
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right,
6491
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right *,
6492
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.layer-ui__wrapper__footer-left--transition-bottom,
6493
+ .excalidraw .layer-ui__wrapper .zen-mode-transition.layer-ui__wrapper__footer-left--transition-bottom * {
6494
+ pointer-events: none !important;
6387
6495
  }
6388
6496
  .excalidraw .layer-ui__wrapper .disable-zen-mode {
6389
6497
  padding: 10px;
@@ -6429,6 +6537,19 @@
6429
6537
  margin-top: auto;
6430
6538
  margin-bottom: auto;
6431
6539
  }
6540
+ .excalidraw .App-menu_top__left > .ToolIcon__penMode {
6541
+ justify-self: start;
6542
+ margin-left: calc((48px - var(--lg-button-size)) / 2);
6543
+ }
6544
+ .excalidraw .App-menu_top__left > .ToolIcon__penMode .ToolIcon__icon {
6545
+ width: var(--lg-button-size);
6546
+ height: var(--lg-button-size);
6547
+ background-color: var(--island-bg-color);
6548
+ box-shadow: var(--shadow-island);
6549
+ }
6550
+ .excalidraw .App-menu_top__left > .ToolIcon__penMode.ToolIcon--checked .ToolIcon__icon {
6551
+ box-shadow: none;
6552
+ }
6432
6553
  .excalidraw .disable-view-mode {
6433
6554
  display: flex;
6434
6555
  justify-content: center;
@@ -6475,18 +6596,11 @@
6475
6596
  .excalidraw .App-toolbar--compact .ToolIcon__keybinding {
6476
6597
  display: none;
6477
6598
  }
6478
- .excalidraw .App-toolbar--compact .App-toolbar__divider {
6479
- margin: 0;
6480
- }
6481
6599
  .excalidraw .App-toolbar__divider {
6482
6600
  width: 1px;
6483
6601
  height: 1.5rem;
6484
6602
  align-self: center;
6485
6603
  background-color: var(--default-border-color);
6486
- margin: 0 0.25rem;
6487
- }
6488
- .excalidraw--mobile.excalidraw .App-toolbar__divider {
6489
- margin: 0;
6490
6604
  }
6491
6605
  .excalidraw .App-toolbar__extra-tools-trigger {
6492
6606
  box-shadow: none;
@@ -6502,8 +6616,8 @@
6502
6616
  }
6503
6617
  .excalidraw .App-toolbar__extra-tools-trigger--selected,
6504
6618
  .excalidraw .App-toolbar__extra-tools-trigger--selected:hover {
6505
- background: var(--color-primary-light);
6506
- color: var(--color-primary);
6619
+ background: var(--color-surface-primary-container);
6620
+ color: var(--color-on-primary-container);
6507
6621
  }
6508
6622
  .excalidraw .App-toolbar__extra-tools-dropdown {
6509
6623
  margin-top: 0.375rem;
@@ -6532,38 +6646,32 @@
6532
6646
  left: 0;
6533
6647
  }
6534
6648
 
6535
- /* components/Toast.scss */
6536
- .excalidraw .Toast {
6537
- animation: fade-in 0.5s;
6538
- background-color: var(--button-gray-1);
6539
- border-radius: 4px;
6540
- bottom: 10px;
6541
- box-sizing: border-box;
6542
- cursor: default;
6543
- left: 50%;
6544
- margin-left: -150px;
6545
- padding: 4px 0;
6546
- position: absolute;
6547
- text-align: center;
6548
- width: 300px;
6549
- z-index: 999999;
6550
- }
6551
- .excalidraw .Toast .Toast__message {
6552
- padding: 0 1.6rem;
6553
- color: var(--popup-text-color);
6554
- white-space: pre-wrap;
6555
- }
6556
- .excalidraw .Toast .close {
6649
+ /* components/CursorHint.scss */
6650
+ .excalidraw .CursorHint {
6557
6651
  position: absolute;
6558
6652
  top: 0;
6559
- right: 0;
6560
- padding: 0.4rem;
6653
+ left: 0;
6654
+ z-index: var(--zIndex-cursorHint);
6655
+ pointer-events: none;
6656
+ display: flex;
6657
+ align-items: center;
6658
+ justify-content: center;
6659
+ padding: 0.375rem;
6660
+ background-color: #232329;
6661
+ color: #e3e3e8;
6662
+ box-shadow: var(--shadow-island);
6663
+ border-radius: var(--border-radius-md);
6664
+ animation: CursorHint-fade-in 100ms ease-out;
6665
+ transition: opacity 100ms ease-out;
6561
6666
  }
6562
- .excalidraw .Toast .close .ToolIcon__icon {
6563
- width: 1.2rem;
6564
- height: 1.2rem;
6667
+ .excalidraw .CursorHint--fade-out {
6668
+ opacity: 0;
6669
+ }
6670
+ .excalidraw .CursorHint svg {
6671
+ width: 1rem;
6672
+ height: 1rem;
6565
6673
  }
6566
- @keyframes fade-in {
6674
+ @keyframes CursorHint-fade-in {
6567
6675
  from {
6568
6676
  opacity: 0;
6569
6677
  }
@@ -6972,7 +7080,6 @@
6972
7080
  --button-gray-2: #ced4da;
6973
7081
  --button-gray-3: #adb5bd;
6974
7082
  --mobile-action-button-bg: rgba(255, 255, 255, 0.35);
6975
- --mobile-color-border: var(--default-border-color);
6976
7083
  --button-special-active-bg-color: #ebfbee;
6977
7084
  --dialog-border-color: var(--color-gray-20);
6978
7085
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -6990,7 +7097,7 @@
6990
7097
  --link-color: #1c7ed6;
6991
7098
  --link-color-hover: #1971c2;
6992
7099
  --link-color-active: #a5d8ff;
6993
- --overlay-bg-color: rgba(255, 255, 255, 0.88);
7100
+ --overlay-bg-color: rgba(12, 12, 14, 0.35);
6994
7101
  --popup-bg-color: var(--island-bg-color);
6995
7102
  --popup-secondary-bg-color: #f1f3f5;
6996
7103
  --popup-text-color: #000;
@@ -7121,7 +7228,7 @@
7121
7228
  @media screen and (min-device-width: 1921px) {
7122
7229
  .excalidraw,
7123
7230
  .exc-style {
7124
- --lg-button-size: 2.5rem;
7231
+ --lg-button-size: 2.375rem;
7125
7232
  --lg-icon-size: 1.25rem;
7126
7233
  --default-button-size: 2.25rem;
7127
7234
  --default-icon-size: 1.25rem;
@@ -7144,7 +7251,6 @@
7144
7251
  --button-gray-2: #272727;
7145
7252
  --button-gray-3: #222;
7146
7253
  --mobile-action-button-bg: var(--island-bg-color);
7147
- --mobile-color-border: rgba(255, 255, 255, 0.85);
7148
7254
  --button-special-active-bg-color: #204624;
7149
7255
  --dialog-border-color: var(--color-gray-80);
7150
7256
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -7159,7 +7265,7 @@
7159
7265
  --island-bg-color-alt: hsl(240, 12%, 12%);
7160
7266
  --keybinding-color: var(--color-gray-60);
7161
7267
  --link-color: #4dabf7;
7162
- --overlay-bg-color: rgba(52, 58, 64, 0.12);
7268
+ --overlay-bg-color: rgba(12, 12, 14, 0.65);
7163
7269
  --popup-secondary-bg-color: #222;
7164
7270
  --popup-text-color: #ced4da;
7165
7271
  --popup-text-inverted-color: #2c2c2c;
@@ -7175,7 +7281,7 @@
7175
7281
  --scrollbar-thumb: #343a40;
7176
7282
  --scrollbar-thumb-hover: #495057;
7177
7283
  --color-slider-track: hsl(244, 23%, 39%);
7178
- --color-selection: #3530c4;
7284
+ --color-selection: #b4b0ff;
7179
7285
  --color-icon-white: var(--color-gray-90);
7180
7286
  --color-primary: #a8a5ff;
7181
7287
  --color-primary-darker: #b2aeff;
@@ -7224,15 +7330,18 @@
7224
7330
  --zIndex-wysiwyg: 3;
7225
7331
  --zIndex-canvasButtons: 3;
7226
7332
  --zIndex-layerUI: 4;
7333
+ --zIndex-viewportStatusFrame: 5;
7227
7334
  --zIndex-eyeDropperBackdrop: 5;
7228
7335
  --zIndex-eyeDropperPreview: 6;
7229
7336
  --zIndex-hyperlinkContainer: 7;
7337
+ --zIndex-cursorHint: 8;
7230
7338
  --zIndex-ui-bottom: 60;
7231
7339
  --zIndex-ui-context-menu: 90;
7232
7340
  --zIndex-ui-styles-popup: 100;
7233
7341
  --zIndex-ui-top: 100;
7234
7342
  --zIndex-ui-main-menu: 110;
7235
7343
  --zIndex-ui-library: 120;
7344
+ --zIndex-fileDropOverlay: 130;
7236
7345
  --zIndex-modal: 1000;
7237
7346
  --zIndex-popup: 1001;
7238
7347
  --zIndex-toast: 999999;
@@ -7259,6 +7368,7 @@ body.excalidraw-cursor-resize * {
7259
7368
  Helvetica,
7260
7369
  Arial,
7261
7370
  sans-serif;
7371
+ --viewport-status-frame-border-width: 0px;
7262
7372
  font-family: var(--ui-font);
7263
7373
  position: relative;
7264
7374
  overflow: hidden;
@@ -7272,6 +7382,10 @@ body.excalidraw-cursor-resize * {
7272
7382
  width: 100%;
7273
7383
  user-select: none;
7274
7384
  }
7385
+ .exc-style.excalidraw--viewport-status-border,
7386
+ .excalidraw.excalidraw--viewport-status-border {
7387
+ --viewport-status-frame-border-width: 4px;
7388
+ }
7275
7389
  .exc-style button,
7276
7390
  .excalidraw button {
7277
7391
  font-size: 0.8333rem;
@@ -7335,7 +7449,6 @@ body.excalidraw-cursor-resize * {
7335
7449
  }
7336
7450
  .excalidraw canvas.interactive {
7337
7451
  z-index: var(--zIndex-interactiveCanvas);
7338
- filter: var(--theme-filter);
7339
7452
  }
7340
7453
  .excalidraw__canvas-wrapper,
7341
7454
  .excalidraw__canvas.static {
@@ -7344,6 +7457,18 @@ body.excalidraw-cursor-resize * {
7344
7457
  .excalidraw__canvas {
7345
7458
  position: absolute;
7346
7459
  }
7460
+ .excalidraw .excalidraw-textEditorContainer {
7461
+ position: absolute;
7462
+ top: 0;
7463
+ right: 0;
7464
+ bottom: 0;
7465
+ left: 0;
7466
+ overflow: hidden;
7467
+ pointer-events: none;
7468
+ }
7469
+ .excalidraw .excalidraw-textEditorContainer > textarea {
7470
+ pointer-events: auto;
7471
+ }
7347
7472
  .excalidraw__embeddable {
7348
7473
  width: 100%;
7349
7474
  height: 100%;
@@ -7368,7 +7493,8 @@ body.excalidraw-cursor-resize * {
7368
7493
  .excalidraw .selected-shape-actions {
7369
7494
  display: flex;
7370
7495
  flex-direction: column;
7371
- row-gap: 0.75rem;
7496
+ row-gap: 0.5rem;
7497
+ --default-button-size: 2rem;
7372
7498
  }
7373
7499
  .excalidraw .selected-shape-actions h3,
7374
7500
  .excalidraw .selected-shape-actions legend,
@@ -7476,19 +7602,28 @@ body.excalidraw-cursor-resize * {
7476
7602
  border-color: var(--button-active-border, var(--color-primary-darkest));
7477
7603
  }
7478
7604
  .excalidraw .buttonList label.active,
7605
+ .excalidraw .buttonList label.ToolIcon--checked,
7479
7606
  .excalidraw .buttonList button.active,
7480
- .excalidraw .buttonList .zIndexButton.active {
7607
+ .excalidraw .buttonList button.ToolIcon--checked,
7608
+ .excalidraw .buttonList .zIndexButton.active,
7609
+ .excalidraw .buttonList .zIndexButton.ToolIcon--checked {
7481
7610
  background-color: var(--button-selected-bg, var(--color-surface-primary-container));
7482
7611
  border-color: var(--button-selected-border, var(--color-surface-primary-container));
7483
7612
  }
7484
7613
  .excalidraw .buttonList label.active:hover,
7614
+ .excalidraw .buttonList label.ToolIcon--checked:hover,
7485
7615
  .excalidraw .buttonList button.active:hover,
7486
- .excalidraw .buttonList .zIndexButton.active:hover {
7616
+ .excalidraw .buttonList button.ToolIcon--checked:hover,
7617
+ .excalidraw .buttonList .zIndexButton.active:hover,
7618
+ .excalidraw .buttonList .zIndexButton.ToolIcon--checked:hover {
7487
7619
  background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
7488
7620
  }
7489
7621
  .excalidraw .buttonList label.active svg,
7622
+ .excalidraw .buttonList label.ToolIcon--checked svg,
7490
7623
  .excalidraw .buttonList button.active svg,
7491
- .excalidraw .buttonList .zIndexButton.active svg {
7624
+ .excalidraw .buttonList button.ToolIcon--checked svg,
7625
+ .excalidraw .buttonList .zIndexButton.active svg,
7626
+ .excalidraw .buttonList .zIndexButton.ToolIcon--checked svg {
7492
7627
  color: var(--button-color, var(--color-on-primary-container));
7493
7628
  }
7494
7629
  .excalidraw--mobile.excalidraw .buttonList label,
@@ -7508,11 +7643,80 @@ body.excalidraw-cursor-resize * {
7508
7643
  width: var(--default-icon-size);
7509
7644
  height: var(--default-icon-size);
7510
7645
  }
7646
+ .excalidraw button.standalone {
7647
+ display: flex;
7648
+ justify-content: center;
7649
+ align-items: center;
7650
+ padding: 0.625rem;
7651
+ width: var(--button-width, var(--default-button-size));
7652
+ height: var(--button-height, var(--default-button-size));
7653
+ box-sizing: border-box;
7654
+ border-width: 1px;
7655
+ border-style: solid;
7656
+ border-color: var(--button-border, var(--default-border-color));
7657
+ border-radius: var(--border-radius-lg);
7658
+ cursor: pointer;
7659
+ background-color: var(--button-bg, var(--island-bg-color));
7660
+ color: var(--button-color, var(--color-on-surface));
7661
+ font-family: var(--ui-font);
7662
+ }
7663
+ .excalidraw button.standalone svg {
7664
+ width: var(--button-width, var(--lg-icon-size));
7665
+ height: var(--button-height, var(--lg-icon-size));
7666
+ }
7667
+ .excalidraw button.standalone:hover {
7668
+ background-color: var(--button-hover-bg, var(--island-bg-color));
7669
+ border-color: var(--button-hover-border, var(--button-border, var(--default-border-color)));
7670
+ color: var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)));
7671
+ }
7672
+ .excalidraw button.standalone:active {
7673
+ background-color: var(--button-active-bg, var(--island-bg-color));
7674
+ border-color: var(--button-active-border, var(--color-primary-darkest));
7675
+ }
7676
+ .excalidraw button.standalone.active,
7677
+ .excalidraw button.standalone.ToolIcon--checked {
7678
+ background-color: var(--button-selected-bg, var(--color-surface-primary-container));
7679
+ border-color: var(--button-selected-border, var(--color-surface-primary-container));
7680
+ }
7681
+ .excalidraw button.standalone.active:hover,
7682
+ .excalidraw button.standalone.ToolIcon--checked:hover {
7683
+ background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
7684
+ }
7685
+ .excalidraw button.standalone.active svg,
7686
+ .excalidraw button.standalone.ToolIcon--checked svg {
7687
+ color: var(--button-color, var(--color-on-primary-container));
7688
+ }
7689
+ .excalidraw--mobile.excalidraw button.standalone {
7690
+ width: var(--mobile-action-button-size, var(--default-button-size));
7691
+ height: var(--mobile-action-button-size, var(--default-button-size));
7692
+ }
7693
+ .excalidraw button.standalone {
7694
+ padding: 0;
7695
+ }
7696
+ .excalidraw button.standalone svg {
7697
+ width: var(--default-icon-size);
7698
+ height: var(--default-icon-size);
7699
+ }
7700
+ .excalidraw button.standalone .ToolIcon__icon {
7701
+ all: unset !important;
7702
+ display: flex !important;
7703
+ }
7704
+ .excalidraw button.standalone > * {
7705
+ pointer-events: none;
7706
+ }
7511
7707
  .excalidraw .App-top-bar {
7512
7708
  z-index: var(--zIndex-ui-top);
7513
7709
  display: flex;
7514
7710
  flex-direction: column;
7515
7711
  }
7712
+ .excalidraw .viewport-status-frame__badge-row {
7713
+ position: absolute;
7714
+ top: calc(var(--viewport-status-frame-border-width) + 0.5rem);
7715
+ left: 50%;
7716
+ transform: translateX(-50%);
7717
+ z-index: var(--zIndex-viewportStatusFrame);
7718
+ pointer-events: none;
7719
+ }
7516
7720
  .excalidraw .App-welcome-screen {
7517
7721
  z-index: var(--zIndex-layerUI);
7518
7722
  }
@@ -7601,8 +7805,23 @@ body.excalidraw-cursor-resize * {
7601
7805
  grid-gap: 3rem;
7602
7806
  }
7603
7807
  }
7604
- .excalidraw .App-menu_top > *:first-child {
7605
- justify-self: flex-start;
7808
+ .excalidraw .App-menu_top > .App-menu_top__left {
7809
+ grid-column: 1;
7810
+ justify-self: start;
7811
+ pointer-events: none;
7812
+ }
7813
+ .excalidraw .App-menu_top > .App-menu_top__left .selected-shape-actions-container,
7814
+ .excalidraw .App-menu_top > .App-menu_top__left .ToolIcon__penMode {
7815
+ pointer-events: var(--ui-pointerEvents);
7816
+ }
7817
+ .excalidraw .App-menu_top > .App-menu_top__left .excalidraw-ui-top-left {
7818
+ pointer-events: none;
7819
+ }
7820
+ .excalidraw .App-menu_top > .App-menu_top__left .excalidraw-ui-top-left > * {
7821
+ pointer-events: var(--ui-pointerEvents);
7822
+ }
7823
+ .excalidraw .App-menu_top > .shapes-section {
7824
+ grid-column: 2;
7606
7825
  }
7607
7826
  .excalidraw .selected-shape-actions-container {
7608
7827
  width: fit-content;
@@ -7610,8 +7829,9 @@ body.excalidraw-cursor-resize * {
7610
7829
  .excalidraw .selected-shape-actions-container--compact {
7611
7830
  min-width: 48px;
7612
7831
  }
7613
- .excalidraw .App-menu_top > *:last-child {
7614
- justify-self: flex-end;
7832
+ .excalidraw .App-menu_top > .layer-ui__wrapper__top-right {
7833
+ grid-column: 3;
7834
+ justify-self: end;
7615
7835
  }
7616
7836
  .excalidraw .App-menu_bottom {
7617
7837
  position: absolute;
@@ -7647,7 +7867,7 @@ body.excalidraw-cursor-resize * {
7647
7867
  .excalidraw .App-menu__left {
7648
7868
  overflow-y: auto;
7649
7869
  padding: 0.75rem;
7650
- width: 12.5rem;
7870
+ max-width: 12.5rem;
7651
7871
  box-sizing: border-box;
7652
7872
  position: absolute;
7653
7873
  }
@@ -7700,6 +7920,8 @@ body.excalidraw-cursor-resize * {
7700
7920
  left: 50%;
7701
7921
  bottom: 30px;
7702
7922
  transform: translateX(-50%);
7923
+ box-sizing: border-box;
7924
+ max-width: calc(100% - var(--viewport-status-frame-border-width) - var(--viewport-status-frame-border-width));
7703
7925
  pointer-events: var(--ui-pointerEvents);
7704
7926
  font-family: inherit;
7705
7927
  }
@@ -7709,6 +7931,32 @@ body.excalidraw-cursor-resize * {
7709
7931
  .excalidraw .scroll-back-to-content:active {
7710
7932
  border: 1px solid var(--button-active-border);
7711
7933
  }
7934
+ .excalidraw .floating-status-stack {
7935
+ position: absolute;
7936
+ left: var(--viewport-status-frame-border-width);
7937
+ right: var(--viewport-status-frame-border-width);
7938
+ bottom: calc(0.5rem + var(--viewport-status-frame-border-width));
7939
+ display: flex;
7940
+ flex-direction: column;
7941
+ align-items: center;
7942
+ gap: 0.5rem;
7943
+ pointer-events: none;
7944
+ }
7945
+ .excalidraw .floating-status-stack .scroll-back-to-content {
7946
+ position: static;
7947
+ left: auto;
7948
+ bottom: auto;
7949
+ transform: none;
7950
+ max-width: 100%;
7951
+ pointer-events: var(--ui-pointerEvents);
7952
+ }
7953
+ .excalidraw .App-bottom-bar > .floating-status-stack {
7954
+ position: static;
7955
+ left: auto;
7956
+ right: auto;
7957
+ bottom: auto;
7958
+ margin-bottom: 0.5rem;
7959
+ }
7712
7960
  .excalidraw .help-icon {
7713
7961
  display: flex;
7714
7962
  justify-content: center;
@@ -7744,14 +7992,17 @@ body.excalidraw-cursor-resize * {
7744
7992
  background-color: var(--button-active-bg, var(--island-bg-color));
7745
7993
  border-color: var(--button-active-border, var(--color-primary-darkest));
7746
7994
  }
7747
- .excalidraw .help-icon.active {
7995
+ .excalidraw .help-icon.active,
7996
+ .excalidraw .help-icon.ToolIcon--checked {
7748
7997
  background-color: var(--button-selected-bg, var(--color-surface-primary-container));
7749
7998
  border-color: var(--button-selected-border, var(--color-surface-primary-container));
7750
7999
  }
7751
- .excalidraw .help-icon.active:hover {
8000
+ .excalidraw .help-icon.active:hover,
8001
+ .excalidraw .help-icon.ToolIcon--checked:hover {
7752
8002
  background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
7753
8003
  }
7754
- .excalidraw .help-icon.active svg {
8004
+ .excalidraw .help-icon.active svg,
8005
+ .excalidraw .help-icon.ToolIcon--checked svg {
7755
8006
  color: var(--button-color, var(--color-on-primary-container));
7756
8007
  }
7757
8008
  .excalidraw--mobile.excalidraw .help-icon {
@@ -7791,9 +8042,9 @@ body.excalidraw-cursor-resize * {
7791
8042
  .excalidraw--mobile.excalidraw aside {
7792
8043
  display: none;
7793
8044
  }
7794
- .excalidraw--mobile.excalidraw .scroll-back-to-content {
7795
- bottom: calc(100px + var(--sab, 0));
7796
- z-index: -1;
8045
+ .excalidraw--mobile.excalidraw .floating-status-stack {
8046
+ bottom: calc(30px + var(--sab, 0));
8047
+ z-index: var(--zIndex-ui-bottom);
7797
8048
  }
7798
8049
  :root[dir=rtl] .excalidraw .rtl-mirror {
7799
8050
  transform: scaleX(-1);
@@ -7812,6 +8063,48 @@ body.excalidraw-cursor-resize * {
7812
8063
  width: 0;
7813
8064
  transition: opacity 0.5s;
7814
8065
  }
8066
+ .excalidraw.excalidraw--zen-mode .App-toolbar,
8067
+ .excalidraw.excalidraw--zen-mode .zoom-actions {
8068
+ background-color: transparent;
8069
+ box-shadow: none;
8070
+ }
8071
+ .excalidraw.excalidraw--zen-mode .main-menu-trigger:not(:active, :focus-visible),
8072
+ .excalidraw.excalidraw--zen-mode .scroll-back-to-content:not(:active, :focus-visible),
8073
+ .excalidraw.excalidraw--zen-mode .disable-zen-mode:not(:active, :focus-visible) {
8074
+ border-color: transparent;
8075
+ box-shadow: none;
8076
+ }
8077
+ .excalidraw.excalidraw--zen-mode .main-menu-trigger:not(:hover, :active),
8078
+ .excalidraw.excalidraw--zen-mode .scroll-back-to-content:not(:hover, :active),
8079
+ .excalidraw.excalidraw--zen-mode .disable-zen-mode:not(:hover, :active) {
8080
+ background-color: transparent !important;
8081
+ }
8082
+ .excalidraw.excalidraw--zen-mode .zoom-out-button-wrapper,
8083
+ .excalidraw.excalidraw--zen-mode .zoom-in-button-wrapper {
8084
+ opacity: 0;
8085
+ visibility: hidden;
8086
+ pointer-events: none;
8087
+ }
8088
+ .excalidraw.excalidraw--zen-mode .reset-zoom-button {
8089
+ border-radius: var(--border-radius-lg) !important;
8090
+ }
8091
+ .excalidraw.excalidraw--zen-mode .reset-zoom-button-wrapper {
8092
+ transform: translateX(calc(-1 * var(--lg-button-size)));
8093
+ }
8094
+ :root[dir=rtl] .excalidraw.excalidraw--zen-mode .reset-zoom-button-wrapper {
8095
+ transform: translateX(var(--lg-button-size));
8096
+ }
8097
+ .excalidraw[data-zen-mode-transition] .App-toolbar,
8098
+ .excalidraw[data-zen-mode-transition] .zoom-actions,
8099
+ .excalidraw[data-zen-mode-transition] .main-menu-trigger,
8100
+ .excalidraw[data-zen-mode-transition] .scroll-back-to-content {
8101
+ transition:
8102
+ background-color var(--zen-mode-transition-duration) ease-in-out,
8103
+ border-color var(--zen-mode-transition-duration) ease-in-out,
8104
+ box-shadow var(--zen-mode-transition-duration) ease-in-out,
8105
+ opacity var(--zen-mode-transition-duration) ease-in-out,
8106
+ visibility var(--zen-mode-transition-duration);
8107
+ }
7815
8108
  .excalidraw .disable-pointerEvents {
7816
8109
  pointer-events: none !important;
7817
8110
  }
@@ -7819,6 +8112,25 @@ body.excalidraw-cursor-resize * {
7819
8112
  display: flex;
7820
8113
  justify-content: space-between;
7821
8114
  }
8115
+ .excalidraw.excalidraw--non-interactive {
8116
+ user-select: none;
8117
+ }
8118
+ .excalidraw.excalidraw--non-interactive canvas {
8119
+ touch-action: pan-x pan-y;
8120
+ cursor: default;
8121
+ }
8122
+ .excalidraw.excalidraw--non-interactive.excalidraw--allow-browser-zoom canvas {
8123
+ touch-action: auto;
8124
+ }
8125
+ .excalidraw.excalidraw--non-interactive.excalidraw--navigation canvas {
8126
+ touch-action: none;
8127
+ }
8128
+ .excalidraw.excalidraw--non-interactive.excalidraw--tools canvas {
8129
+ touch-action: none;
8130
+ }
8131
+ .excalidraw.excalidraw--non-interactive:not(.excalidraw--embeds) .excalidraw__embeddable-container__inner {
8132
+ pointer-events: none !important;
8133
+ }
7822
8134
  .excalidraw input.is-redacted {
7823
8135
  -webkit-text-security: disc;
7824
8136
  }
@@ -8009,17 +8321,46 @@ body.excalidraw-cursor-resize * {
8009
8321
  font-size: 0.8em;
8010
8322
  }
8011
8323
  .excalidraw__embeddable-container .excalidraw__embeddable-container__inner {
8324
+ position: relative;
8012
8325
  overflow: hidden;
8013
8326
  display: flex;
8014
8327
  align-items: center;
8015
8328
  justify-content: center;
8016
8329
  border-radius: var(--embeddable-radius);
8017
8330
  }
8331
+ .excalidraw__embeddable-container .excalidraw__embeddable__generating {
8332
+ position: absolute;
8333
+ z-index: 1;
8334
+ bottom: 1rem;
8335
+ right: 1rem;
8336
+ display: flex;
8337
+ align-items: center;
8338
+ gap: 0.5rem;
8339
+ padding: 0.375rem 0.75rem;
8340
+ border-radius: 12px;
8341
+ background: rgba(0, 0, 0, 0.5);
8342
+ color: #fff;
8343
+ font-size: 0.875rem;
8344
+ font-family: "Assistant";
8345
+ pointer-events: none;
8346
+ }
8347
+ .excalidraw__embeddable-container .excalidraw__embeddable__generating .Spinner {
8348
+ --spinner-color: #fff;
8349
+ flex: 0 0 auto;
8350
+ height: auto;
8351
+ margin: 0;
8352
+ }
8018
8353
  .excalidraw__embeddable-container .excalidraw__embeddable__outer {
8019
8354
  width: 100%;
8020
8355
  height: 100%;
8021
8356
  }
8022
- .excalidraw__embeddable-container .excalidraw__embeddable__outer > * {
8357
+ .excalidraw__embeddable-container .excalidraw__embeddable__content {
8358
+ width: 100%;
8359
+ height: 100%;
8360
+ transform-origin: top left;
8361
+ }
8362
+ .excalidraw__embeddable-container .excalidraw__embeddable__content,
8363
+ .excalidraw__embeddable-container .excalidraw__embeddable__content > * {
8023
8364
  border-radius: var(--embeddable-radius);
8024
8365
  }
8025
8366
  .excalidraw__embeddable-container .excalidraw__embeddable-hint {