@dwelle/excalidraw 0.5.0-da1c822 → 0.5.0-e8bcd96

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 (462) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-RHODGCTM.js → blockDiagram-91b80b7a-SWMOP5PL.js} +6 -6
  3. package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-W7NCR7LR.js → c4Diagram-b2a90758-N33A4OZ7.js} +4 -4
  4. package/dist/browser/dev/excalidraw-assets-dev/{chunk-TKRIVTWP.js → chunk-3XV32LTV.js} +3 -3
  5. package/dist/browser/dev/excalidraw-assets-dev/{chunk-B2MHJWXZ.js → chunk-CLMTS5EY.js} +2 -2
  6. package/dist/browser/dev/excalidraw-assets-dev/{chunk-QFS4M5OJ.js → chunk-DIDQ2KEW.js} +3 -3
  7. package/dist/browser/dev/excalidraw-assets-dev/{chunk-5747M6KP.js → chunk-G3PHSEXY.js} +3 -3
  8. package/dist/browser/dev/excalidraw-assets-dev/{chunk-PPHFJLL7.js → chunk-HCMMCBMX.js} +4 -4
  9. package/dist/browser/dev/excalidraw-assets-dev/{chunk-DQOPSCYA.js → chunk-K5QPOXOQ.js} +3 -3
  10. package/dist/browser/dev/excalidraw-assets-dev/{chunk-52OGG53V.js → chunk-KMSH7QAI.js} +3 -3
  11. package/dist/browser/dev/excalidraw-assets-dev/{chunk-SLLUETBM.js → chunk-TVSGJBCZ.js} +7 -7
  12. package/dist/browser/dev/excalidraw-assets-dev/{chunk-GPOYIZPX.js → chunk-UEFQKRSO.js} +28 -28
  13. package/dist/browser/dev/excalidraw-assets-dev/chunk-UEFQKRSO.js.map +7 -0
  14. package/dist/browser/dev/excalidraw-assets-dev/{chunk-BESQLMCW.js → chunk-UONPRRXT.js} +5 -5
  15. package/dist/browser/dev/excalidraw-assets-dev/{chunk-UETNA2WX.js → chunk-V6ITT7XZ.js} +7397 -5320
  16. package/dist/browser/dev/excalidraw-assets-dev/chunk-V6ITT7XZ.js.map +7 -0
  17. package/dist/browser/dev/excalidraw-assets-dev/{chunk-USLWOHUZ.js → chunk-VU32GUMX.js} +4 -4
  18. package/dist/browser/dev/excalidraw-assets-dev/{chunk-GF7VCOUM.js → chunk-WQNNVZHO.js} +3 -3
  19. package/dist/browser/dev/excalidraw-assets-dev/{chunk-GCA4S2OA.js → chunk-WXRCMPEJ.js} +3 -3
  20. package/dist/browser/dev/excalidraw-assets-dev/{chunk-J5HRUYQR.js → chunk-YGAE3YWH.js} +6 -4
  21. package/dist/browser/dev/excalidraw-assets-dev/chunk-YGAE3YWH.js.map +7 -0
  22. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-GJGBT4TV.js → classDiagram-30eddba6-HGXEWQY2.js} +6 -6
  23. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-LYWTIPJA.js → classDiagram-v2-f2df5561-ANW5DGKP.js} +9 -9
  24. package/dist/browser/dev/excalidraw-assets-dev/{directory-open-01563666-UREMLRIT.js → directory-open-01563666-67XPRP2W.js} +2 -2
  25. package/dist/browser/dev/excalidraw-assets-dev/{directory-open-4ed118d0-UN3BUDZZ.js → directory-open-4ed118d0-TZOVUMX3.js} +2 -2
  26. package/dist/browser/dev/excalidraw-assets-dev/dist-JWLY7ZTC.js +10 -0
  27. package/dist/browser/dev/excalidraw-assets-dev/{en-UW5C5KGW.js → en-RSUSLGPV.js} +2 -2
  28. package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-Z7U2XW2Y.js → erDiagram-47591fe2-HB4S6KST.js} +5 -5
  29. package/dist/browser/dev/excalidraw-assets-dev/{file-open-002ab408-4QG336MG.js → file-open-002ab408-ODQEDP24.js} +2 -2
  30. package/dist/browser/dev/excalidraw-assets-dev/{file-open-7c801643-3QI4ICCL.js → file-open-7c801643-RPLD6WZI.js} +2 -2
  31. package/dist/browser/dev/excalidraw-assets-dev/{file-save-3189631c-TNNERCWV.js → file-save-3189631c-63VHNBWZ.js} +2 -2
  32. package/dist/browser/dev/excalidraw-assets-dev/{file-save-745eba88-JFMH565P.js → file-save-745eba88-SJSX6XSD.js} +2 -2
  33. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-PARVG263.js → flowDiagram-5540d9b9-4QMRNUIV.js} +10 -10
  34. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-ZJOPVRMB.js → flowDiagram-v2-3b53844e-EH5O3NBM.js} +10 -10
  35. package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-ULPNBSZX.js → flowchart-elk-definition-5fe447d6-7HGYBXUA.js} +6 -6
  36. package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-ESSYVTJ4.js → ganttDiagram-9a3bba1f-V5WA3IP4.js} +3 -3
  37. package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-6V6VVNNP.js → gitGraphDiagram-96e6b4ee-6JA3Z4O2.js} +3 -3
  38. package/dist/browser/dev/excalidraw-assets-dev/{image-3LTGFHLF.js → image-GHNRJPTS.js} +6 -6
  39. package/dist/browser/dev/excalidraw-assets-dev/{image-ZNQQXS62.css → image-JYKIJPJC.css} +49 -29
  40. package/dist/browser/dev/excalidraw-assets-dev/image-JYKIJPJC.css.map +7 -0
  41. package/dist/browser/dev/excalidraw-assets-dev/{image-blob-reduce.esm-KTX27DAY.js → image-blob-reduce.esm-QYPUYIZK.js} +2 -2
  42. package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-I22FLFX3.js → infoDiagram-bcd20f53-24MBINO2.js} +3 -3
  43. package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-WAO6F52C.js → journeyDiagram-4fe6b3dc-KJ4YYJII.js} +4 -4
  44. package/dist/browser/dev/excalidraw-assets-dev/{katex-NWA2YFOP.js → katex-INYZI6LE.js} +2 -2
  45. package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-K74IKX4Y.js → mindmap-definition-f354de21-VZEH45PD.js} +4 -4
  46. package/dist/browser/dev/excalidraw-assets-dev/{pica-3TH2EGXR.js → pica-YQGHCBVI.js} +2 -2
  47. package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-DOB2LVE5.js → pieDiagram-79897490-Z2LCRKGQ.js} +3 -3
  48. package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-MJV2X7WI.js → quadrantDiagram-62f64e94-J3AFAFGX.js} +3 -3
  49. package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-H4YM3XN7.js → requirementDiagram-05bf5f74-M474HB6I.js} +5 -5
  50. package/dist/browser/dev/excalidraw-assets-dev/{roundRect-4S3QV2NZ.js → roundRect-ZCXXTYZ4.js} +2 -2
  51. package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-7X74ABAN.js → sankeyDiagram-97764748-TNQP5HMX.js} +3 -3
  52. package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-PPDIJFQP.js → sequenceDiagram-acc0e65c-3NIA26ZM.js} +4 -4
  53. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-JVBR7N35.js → stateDiagram-0ff1cf1a-V6UXRWCT.js} +6 -6
  54. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-QYAJLQJH.js → stateDiagram-v2-9a9d610d-7LTZXINB.js} +9 -9
  55. package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-GL7U3WDB.js → timeline-definition-fea2a41d-X4VGA6IX.js} +3 -3
  56. package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-4U4JE4TW.js → xychartDiagram-ab372869-UQCQVK6J.js} +4 -4
  57. package/dist/browser/dev/index.css +48 -28
  58. package/dist/browser/dev/index.css.map +2 -2
  59. package/dist/browser/dev/index.js +9 -5
  60. package/dist/browser/prod/excalidraw-assets/{blockDiagram-91b80b7a-BO7MW3VX.js → blockDiagram-91b80b7a-2ADOK2UH.js} +1 -1
  61. package/dist/browser/prod/excalidraw-assets/{c4Diagram-b2a90758-VCUPBVHR.js → c4Diagram-b2a90758-XJ3HR543.js} +1 -1
  62. package/dist/browser/prod/excalidraw-assets/{chunk-VXFFPRP2.js → chunk-4X2EVGJW.js} +1 -1
  63. package/dist/browser/prod/excalidraw-assets/{chunk-5PWM36DG.js → chunk-5ARJLPSL.js} +1 -1
  64. package/dist/browser/prod/excalidraw-assets/{chunk-B7CDQVNY.js → chunk-6RDIDVV6.js} +21 -21
  65. package/dist/browser/prod/excalidraw-assets/chunk-AWDUHWKA.js +269 -0
  66. package/dist/browser/prod/excalidraw-assets/{chunk-V7HUISEN.js → chunk-COMJOADH.js} +1 -1
  67. package/dist/browser/prod/excalidraw-assets/{chunk-NM5B2RBP.js → chunk-DHU3NMWJ.js} +1 -1
  68. package/dist/browser/prod/excalidraw-assets/{chunk-4JYQ3563.js → chunk-FKEWZS6G.js} +1 -1
  69. package/dist/browser/prod/excalidraw-assets/{chunk-3VCRCP5J.js → chunk-GID7HY42.js} +1 -1
  70. package/dist/browser/prod/excalidraw-assets/{chunk-7UJZVYSR.js → chunk-H4K7WCAG.js} +1 -1
  71. package/dist/browser/prod/excalidraw-assets/{chunk-3HZHH3PT.js → chunk-PDA7IERE.js} +1 -1
  72. package/dist/browser/prod/excalidraw-assets/{chunk-O77Z7CWL.js → chunk-SCYMUHNO.js} +1 -1
  73. package/dist/browser/prod/excalidraw-assets/{chunk-QLNFR4AJ.js → chunk-SCZE4QLN.js} +2 -2
  74. package/dist/browser/prod/excalidraw-assets/{chunk-HPA5W5VE.js → chunk-Y4AVKYKK.js} +1 -1
  75. package/dist/browser/prod/excalidraw-assets/{chunk-CVEF66PS.js → chunk-YFHFEESB.js} +1 -1
  76. package/dist/browser/prod/excalidraw-assets/{chunk-22FVL4I7.js → chunk-Z4B7QXT2.js} +1 -1
  77. package/dist/browser/prod/excalidraw-assets/{classDiagram-30eddba6-VXGNM3LI.js → classDiagram-30eddba6-RQ6VHNNF.js} +1 -1
  78. package/dist/browser/prod/excalidraw-assets/{classDiagram-v2-f2df5561-YALTASVE.js → classDiagram-v2-f2df5561-TL3XYHL6.js} +1 -1
  79. package/dist/browser/prod/excalidraw-assets/{directory-open-01563666-JWXY2QSC.js → directory-open-01563666-ORBUXLUB.js} +1 -1
  80. package/dist/browser/prod/excalidraw-assets/{directory-open-4ed118d0-6AL5X37W.js → directory-open-4ed118d0-HRBZ4CD4.js} +1 -1
  81. package/dist/browser/prod/excalidraw-assets/dist-IRBESAGJ.js +1 -0
  82. package/dist/browser/prod/excalidraw-assets/{en-CPU3UVKT.js → en-SOC7FEW5.js} +1 -1
  83. package/dist/browser/prod/excalidraw-assets/{erDiagram-47591fe2-GKYANCN7.js → erDiagram-47591fe2-PBCROW3M.js} +1 -1
  84. package/dist/browser/prod/excalidraw-assets/{file-open-002ab408-3EPJOH45.js → file-open-002ab408-SRGK55ER.js} +1 -1
  85. package/dist/browser/prod/excalidraw-assets/{file-open-7c801643-QIP6HK4D.js → file-open-7c801643-IAPRROWG.js} +1 -1
  86. package/dist/browser/prod/excalidraw-assets/{file-save-3189631c-4TQJBQCS.js → file-save-3189631c-LO2KPJNL.js} +1 -1
  87. package/dist/browser/prod/excalidraw-assets/{file-save-745eba88-C4L3ZGCC.js → file-save-745eba88-2DRIRHNX.js} +1 -1
  88. package/dist/browser/prod/excalidraw-assets/{flowDiagram-5540d9b9-QBRW5SLP.js → flowDiagram-5540d9b9-6MWFBLXS.js} +1 -1
  89. package/dist/browser/prod/excalidraw-assets/flowDiagram-v2-3b53844e-CD6XHMHV.js +1 -0
  90. package/dist/browser/prod/excalidraw-assets/{flowchart-elk-definition-5fe447d6-YYO2EYKS.js → flowchart-elk-definition-5fe447d6-4UPGJKHJ.js} +1 -1
  91. package/dist/browser/prod/excalidraw-assets/{ganttDiagram-9a3bba1f-3B2DUUUQ.js → ganttDiagram-9a3bba1f-PDRTJQZH.js} +1 -1
  92. package/dist/browser/prod/excalidraw-assets/{gitGraphDiagram-96e6b4ee-G6CKXXWQ.js → gitGraphDiagram-96e6b4ee-3J3YSPOQ.js} +1 -1
  93. package/dist/browser/prod/excalidraw-assets/image-U235TWVW.css +1 -0
  94. package/dist/browser/prod/excalidraw-assets/image-ZYZR4L6P.js +1 -0
  95. package/dist/browser/prod/excalidraw-assets/{image-blob-reduce.esm-5DTGAOOI.js → image-blob-reduce.esm-XVCS6NNL.js} +1 -1
  96. package/dist/browser/prod/excalidraw-assets/{infoDiagram-bcd20f53-WJTZJERL.js → infoDiagram-bcd20f53-DVJQEG4I.js} +1 -1
  97. package/dist/browser/prod/excalidraw-assets/{journeyDiagram-4fe6b3dc-JF22KXXQ.js → journeyDiagram-4fe6b3dc-ASSTFADN.js} +1 -1
  98. package/dist/browser/prod/excalidraw-assets/{katex-N6R5DPQX.js → katex-RDNZD65H.js} +1 -1
  99. package/dist/browser/prod/excalidraw-assets/{mindmap-definition-f354de21-7SH5STU3.js → mindmap-definition-f354de21-4Y6OYM5B.js} +1 -1
  100. package/dist/browser/prod/excalidraw-assets/{pica-KWHN2PJ6.js → pica-P43LGTW6.js} +1 -1
  101. package/dist/browser/prod/excalidraw-assets/{pieDiagram-79897490-5O5EBEQB.js → pieDiagram-79897490-XJXBVFLX.js} +1 -1
  102. package/dist/browser/prod/excalidraw-assets/{quadrantDiagram-62f64e94-JTY6WOKB.js → quadrantDiagram-62f64e94-PC5DTCKV.js} +1 -1
  103. package/dist/browser/prod/excalidraw-assets/{requirementDiagram-05bf5f74-TSFQFY5X.js → requirementDiagram-05bf5f74-ILVOGHRN.js} +1 -1
  104. package/dist/browser/prod/excalidraw-assets/{roundRect-PUCZURYS.js → roundRect-HU3IUMCJ.js} +1 -1
  105. package/dist/browser/prod/excalidraw-assets/{sankeyDiagram-97764748-7G2R6W67.js → sankeyDiagram-97764748-SC5VBCT5.js} +1 -1
  106. package/dist/browser/prod/excalidraw-assets/{sequenceDiagram-acc0e65c-CTANNZCO.js → sequenceDiagram-acc0e65c-MFG2JCTS.js} +1 -1
  107. package/dist/browser/prod/excalidraw-assets/{stateDiagram-0ff1cf1a-I5COLKZ4.js → stateDiagram-0ff1cf1a-2HXG5RCM.js} +1 -1
  108. package/dist/browser/prod/excalidraw-assets/{stateDiagram-v2-9a9d610d-IIHI3AJN.js → stateDiagram-v2-9a9d610d-PKXRQ3RV.js} +1 -1
  109. package/dist/browser/prod/excalidraw-assets/{timeline-definition-fea2a41d-CXTGKWI4.js → timeline-definition-fea2a41d-LOYYYOFB.js} +1 -1
  110. package/dist/browser/prod/excalidraw-assets/{xychartDiagram-ab372869-QZGPPHJP.js → xychartDiagram-ab372869-LYHM7ECI.js} +1 -1
  111. package/dist/browser/prod/index.css +1 -1
  112. package/dist/browser/prod/index.js +1 -1
  113. package/dist/dev/{en-R7FEFJGC.json → en-GM5O55AO.json} +5 -3
  114. package/dist/dev/index.css +48 -28
  115. package/dist/dev/index.css.map +2 -2
  116. package/dist/dev/index.js +5324 -3292
  117. package/dist/dev/index.js.map +4 -4
  118. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +4 -4
  119. package/dist/excalidraw/actions/actionAddToLibrary.js +4 -3
  120. package/dist/excalidraw/actions/actionAlign.d.ts +22 -22
  121. package/dist/excalidraw/actions/actionAlign.js +7 -6
  122. package/dist/excalidraw/actions/actionBoundText.d.ts +10 -10
  123. package/dist/excalidraw/actions/actionBoundText.js +11 -5
  124. package/dist/excalidraw/actions/actionCanvas.d.ts +52 -52
  125. package/dist/excalidraw/actions/actionCanvas.js +16 -13
  126. package/dist/excalidraw/actions/actionClipboard.d.ts +24 -24
  127. package/dist/excalidraw/actions/actionClipboard.js +14 -13
  128. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +10 -10
  129. package/dist/excalidraw/actions/actionDeleteSelected.js +6 -3
  130. package/dist/excalidraw/actions/actionDistribute.d.ts +10 -10
  131. package/dist/excalidraw/actions/actionDistribute.js +3 -2
  132. package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +7 -8
  133. package/dist/excalidraw/actions/actionDuplicateSelection.js +7 -3
  134. package/dist/excalidraw/actions/actionElementLock.d.ts +9 -9
  135. package/dist/excalidraw/actions/actionElementLock.js +3 -2
  136. package/dist/excalidraw/actions/actionExport.d.ts +37 -37
  137. package/dist/excalidraw/actions/actionExport.js +15 -11
  138. package/dist/excalidraw/actions/actionFinalize.d.ts +9 -9
  139. package/dist/excalidraw/actions/actionFinalize.js +9 -5
  140. package/dist/excalidraw/actions/actionFlip.d.ts +10 -10
  141. package/dist/excalidraw/actions/actionFlip.js +12 -12
  142. package/dist/excalidraw/actions/actionFrame.d.ts +16 -171
  143. package/dist/excalidraw/actions/actionFrame.js +7 -6
  144. package/dist/excalidraw/actions/actionGroup.d.ts +12 -322
  145. package/dist/excalidraw/actions/actionGroup.js +9 -11
  146. package/dist/excalidraw/actions/actionHistory.d.ts +4 -3
  147. package/dist/excalidraw/actions/actionHistory.js +27 -28
  148. package/dist/excalidraw/actions/actionLinearEditor.d.ts +6 -4
  149. package/dist/excalidraw/actions/actionLinearEditor.js +21 -5
  150. package/dist/excalidraw/actions/actionLink.d.ts +5 -5
  151. package/dist/excalidraw/actions/actionLink.js +2 -1
  152. package/dist/excalidraw/actions/actionMenu.d.ts +8 -8
  153. package/dist/excalidraw/actions/actionMenu.js +4 -3
  154. package/dist/excalidraw/actions/actionNavigate.d.ts +4 -4
  155. package/dist/excalidraw/actions/actionNavigate.js +3 -2
  156. package/dist/excalidraw/actions/actionProperties.d.ts +34 -34
  157. package/dist/excalidraw/actions/actionProperties.js +19 -14
  158. package/dist/excalidraw/actions/actionSelectAll.d.ts +5 -5
  159. package/dist/excalidraw/actions/actionSelectAll.js +2 -1
  160. package/dist/excalidraw/actions/actionStyles.d.ts +9 -12
  161. package/dist/excalidraw/actions/actionStyles.js +4 -3
  162. package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  163. package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
  164. package/dist/excalidraw/actions/actionToggleGridMode.d.ts +7 -5
  165. package/dist/excalidraw/actions/actionToggleGridMode.js +6 -2
  166. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
  167. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.js +2 -1
  168. package/dist/excalidraw/actions/actionToggleStats.d.ts +4 -4
  169. package/dist/excalidraw/actions/actionToggleStats.js +2 -1
  170. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
  171. package/dist/excalidraw/actions/actionToggleViewMode.js +2 -1
  172. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
  173. package/dist/excalidraw/actions/actionToggleZenMode.js +2 -1
  174. package/dist/excalidraw/actions/actionZindex.d.ts +23 -19
  175. package/dist/excalidraw/actions/actionZindex.js +9 -4
  176. package/dist/excalidraw/actions/manager.d.ts +5 -5
  177. package/dist/excalidraw/actions/register.d.ts +1 -1
  178. package/dist/excalidraw/actions/shortcuts.d.ts +2 -2
  179. package/dist/excalidraw/actions/types.d.ts +8 -8
  180. package/dist/excalidraw/align.d.ts +1 -1
  181. package/dist/excalidraw/animated-trail.d.ts +2 -2
  182. package/dist/excalidraw/appState.d.ts +6 -6
  183. package/dist/excalidraw/change.d.ts +191 -0
  184. package/dist/excalidraw/change.js +894 -0
  185. package/dist/excalidraw/charts.d.ts +1 -1
  186. package/dist/excalidraw/clients.d.ts +2 -2
  187. package/dist/excalidraw/clients.js +1 -1
  188. package/dist/excalidraw/clipboard.d.ts +3 -3
  189. package/dist/excalidraw/colors.d.ts +1 -1
  190. package/dist/excalidraw/components/Actions.d.ts +3 -3
  191. package/dist/excalidraw/components/Actions.js +8 -5
  192. package/dist/excalidraw/components/App.d.ts +28 -14
  193. package/dist/excalidraw/components/App.js +385 -177
  194. package/dist/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
  195. package/dist/excalidraw/components/ColorPicker/ColorInput.js +1 -1
  196. package/dist/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  197. package/dist/excalidraw/components/ColorPicker/ColorPicker.js +1 -1
  198. package/dist/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
  199. package/dist/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  200. package/dist/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
  201. package/dist/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  202. package/dist/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  203. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  204. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
  205. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  206. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.js +1 -1
  207. package/dist/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  208. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +6 -5
  209. package/dist/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
  210. package/dist/excalidraw/components/CommandPalette/types.d.ts +3 -3
  211. package/dist/excalidraw/components/ConfirmDialog.d.ts +1 -1
  212. package/dist/excalidraw/components/ContextMenu.d.ts +2 -2
  213. package/dist/excalidraw/components/ContextMenu.js +1 -1
  214. package/dist/excalidraw/components/DarkModeToggle.d.ts +1 -1
  215. package/dist/excalidraw/components/DefaultSidebar.d.ts +2 -2
  216. package/dist/excalidraw/components/DialogActionButton.d.ts +1 -1
  217. package/dist/excalidraw/components/EyeDropper.d.ts +2 -2
  218. package/dist/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  219. package/dist/excalidraw/components/HelpDialog.js +1 -1
  220. package/dist/excalidraw/components/HintViewer.d.ts +1 -1
  221. package/dist/excalidraw/components/ImageExportDialog.d.ts +1 -1
  222. package/dist/excalidraw/components/InitializeApp.d.ts +2 -2
  223. package/dist/excalidraw/components/JSONExportDialog.d.ts +3 -3
  224. package/dist/excalidraw/components/LayerUI.d.ts +4 -4
  225. package/dist/excalidraw/components/LayerUI.js +1 -1
  226. package/dist/excalidraw/components/LibraryMenu.d.ts +2 -2
  227. package/dist/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
  228. package/dist/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  229. package/dist/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
  230. package/dist/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  231. package/dist/excalidraw/components/LibraryMenuSection.d.ts +5 -4
  232. package/dist/excalidraw/components/LibraryUnit.d.ts +2 -2
  233. package/dist/excalidraw/components/LoadingMessage.d.ts +1 -1
  234. package/dist/excalidraw/components/MagicSettings.js +2 -2
  235. package/dist/excalidraw/components/MobileMenu.d.ts +3 -3
  236. package/dist/excalidraw/components/Modal.d.ts +1 -1
  237. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  238. package/dist/excalidraw/components/PasteChartDialog.d.ts +1 -1
  239. package/dist/excalidraw/components/PublishLibrary.d.ts +1 -1
  240. package/dist/excalidraw/components/SVGLayer.d.ts +1 -1
  241. package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
  242. package/dist/excalidraw/components/Sidebar/Sidebar.js +1 -1
  243. package/dist/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
  244. package/dist/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
  245. package/dist/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  246. package/dist/excalidraw/components/Sidebar/common.d.ts +1 -1
  247. package/dist/excalidraw/components/Stack.d.ts +2 -2
  248. package/dist/excalidraw/components/Stats.d.ts +2 -2
  249. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
  250. package/dist/excalidraw/components/TTDDialog/TTDDialog.js +2 -2
  251. package/dist/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
  252. package/dist/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
  253. package/dist/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
  254. package/dist/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
  255. package/dist/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  256. package/dist/excalidraw/components/TTDDialog/common.d.ts +4 -4
  257. package/dist/excalidraw/components/TextField.d.ts +1 -1
  258. package/dist/excalidraw/components/Toast.d.ts +1 -1
  259. package/dist/excalidraw/components/ToolButton.d.ts +4 -2
  260. package/dist/excalidraw/components/ToolButton.js +1 -1
  261. package/dist/excalidraw/components/Trans.d.ts +1 -1
  262. package/dist/excalidraw/components/UserList.d.ts +1 -1
  263. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -2
  264. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +3 -2
  265. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
  266. package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
  267. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +2 -2
  268. package/dist/excalidraw/components/footer/Footer.d.ts +2 -2
  269. package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  270. package/dist/excalidraw/components/hyperlink/Hyperlink.js +3 -3
  271. package/dist/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  272. package/dist/excalidraw/components/hyperlink/helpers.js +2 -3
  273. package/dist/excalidraw/components/icons.d.ts +4 -2
  274. package/dist/excalidraw/components/icons.js +20 -6
  275. package/dist/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  276. package/dist/excalidraw/constants.d.ts +5 -5
  277. package/dist/excalidraw/constants.js +6 -3
  278. package/dist/excalidraw/context/ui-appState.d.ts +1 -1
  279. package/dist/excalidraw/cursor.d.ts +1 -1
  280. package/dist/excalidraw/data/EditorLocalStorage.d.ts +2 -2
  281. package/dist/excalidraw/data/blob.d.ts +5 -5
  282. package/dist/excalidraw/data/filesystem.d.ts +2 -1
  283. package/dist/excalidraw/data/index.d.ts +4 -4
  284. package/dist/excalidraw/data/json.d.ts +3 -3
  285. package/dist/excalidraw/data/library.d.ts +3 -3
  286. package/dist/excalidraw/data/magic.d.ts +3 -3
  287. package/dist/excalidraw/data/reconcile.d.ts +6 -0
  288. package/dist/excalidraw/data/reconcile.js +49 -0
  289. package/dist/excalidraw/data/resave.d.ts +2 -2
  290. package/dist/excalidraw/data/resave.js +1 -1
  291. package/dist/excalidraw/data/restore.d.ts +5 -5
  292. package/dist/excalidraw/data/restore.js +7 -7
  293. package/dist/excalidraw/data/transform.d.ts +4 -4
  294. package/dist/excalidraw/data/transform.js +4 -3
  295. package/dist/excalidraw/data/types.d.ts +3 -3
  296. package/dist/excalidraw/data/url.d.ts +1 -0
  297. package/dist/excalidraw/data/url.js +4 -1
  298. package/dist/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
  299. package/dist/excalidraw/element/binding.d.ts +50 -9
  300. package/dist/excalidraw/element/binding.js +712 -155
  301. package/dist/excalidraw/element/bounds.d.ts +3 -4
  302. package/dist/excalidraw/element/bounds.js +0 -3
  303. package/dist/excalidraw/element/collision.d.ts +14 -19
  304. package/dist/excalidraw/element/collision.js +36 -713
  305. package/dist/excalidraw/element/containerCache.d.ts +1 -1
  306. package/dist/excalidraw/element/dragElements.d.ts +3 -3
  307. package/dist/excalidraw/element/embeddable.d.ts +9 -6
  308. package/dist/excalidraw/element/embeddable.js +88 -27
  309. package/dist/excalidraw/element/image.d.ts +2 -2
  310. package/dist/excalidraw/element/index.d.ts +2 -3
  311. package/dist/excalidraw/element/index.js +1 -2
  312. package/dist/excalidraw/element/linearElementEditor.d.ts +12 -12
  313. package/dist/excalidraw/element/linearElementEditor.js +7 -5
  314. package/dist/excalidraw/element/mutateElement.d.ts +4 -5
  315. package/dist/excalidraw/element/mutateElement.js +5 -3
  316. package/dist/excalidraw/element/newElement.d.ts +4 -9
  317. package/dist/excalidraw/element/newElement.js +17 -14
  318. package/dist/excalidraw/element/resizeElements.d.ts +4 -4
  319. package/dist/excalidraw/element/resizeElements.js +170 -97
  320. package/dist/excalidraw/element/resizeTest.d.ts +7 -7
  321. package/dist/excalidraw/element/resizeTest.js +53 -8
  322. package/dist/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
  323. package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
  324. package/dist/excalidraw/element/sizeHelpers.js +3 -0
  325. package/dist/excalidraw/element/sortElements.d.ts +1 -1
  326. package/dist/excalidraw/element/textElement.d.ts +5 -6
  327. package/dist/excalidraw/element/textElement.js +13 -37
  328. package/dist/excalidraw/element/textWysiwyg.d.ts +10 -5
  329. package/dist/excalidraw/element/textWysiwyg.js +6 -8
  330. package/dist/excalidraw/element/transformHandles.d.ts +24 -6
  331. package/dist/excalidraw/element/transformHandles.js +22 -11
  332. package/dist/excalidraw/element/typeChecks.d.ts +4 -4
  333. package/dist/excalidraw/element/types.d.ts +30 -10
  334. package/dist/excalidraw/emitter.d.ts +1 -1
  335. package/dist/excalidraw/errors.d.ts +3 -0
  336. package/dist/excalidraw/errors.js +3 -0
  337. package/dist/excalidraw/fractionalIndex.d.ts +40 -0
  338. package/dist/excalidraw/fractionalIndex.js +241 -0
  339. package/dist/excalidraw/frame.d.ts +4 -4
  340. package/dist/excalidraw/gatransforms.d.ts +1 -1
  341. package/dist/excalidraw/gesture.d.ts +1 -1
  342. package/dist/excalidraw/groups.d.ts +5 -3
  343. package/dist/excalidraw/groups.js +17 -0
  344. package/dist/excalidraw/history.d.ts +35 -47
  345. package/dist/excalidraw/history.js +100 -167
  346. package/dist/excalidraw/hooks/useEmitter.d.ts +2 -0
  347. package/dist/excalidraw/hooks/useEmitter.js +13 -0
  348. package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  349. package/dist/excalidraw/i18n.d.ts +1 -1
  350. package/dist/excalidraw/index.d.ts +3 -1
  351. package/dist/excalidraw/index.js +2 -0
  352. package/dist/excalidraw/jotai.d.ts +1 -1
  353. package/dist/excalidraw/laser-trails.d.ts +3 -2
  354. package/dist/excalidraw/locales/en.json +5 -3
  355. package/dist/excalidraw/math.d.ts +2 -2
  356. package/dist/excalidraw/points.d.ts +1 -1
  357. package/dist/excalidraw/queue.d.ts +1 -1
  358. package/dist/excalidraw/renderer/helpers.d.ts +2 -2
  359. package/dist/excalidraw/renderer/interactiveScene.d.ts +2 -2
  360. package/dist/excalidraw/renderer/interactiveScene.js +8 -7
  361. package/dist/excalidraw/renderer/renderElement.d.ts +3 -3
  362. package/dist/excalidraw/renderer/renderElement.js +2 -2
  363. package/dist/excalidraw/renderer/renderSnaps.d.ts +1 -1
  364. package/dist/excalidraw/renderer/staticScene.d.ts +1 -1
  365. package/dist/excalidraw/renderer/staticScene.js +14 -3
  366. package/dist/excalidraw/renderer/staticSvgScene.d.ts +4 -4
  367. package/dist/excalidraw/renderer/staticSvgScene.js +10 -0
  368. package/dist/excalidraw/scene/Fonts.d.ts +2 -4
  369. package/dist/excalidraw/scene/Fonts.js +6 -12
  370. package/dist/excalidraw/scene/Renderer.d.ts +4 -4
  371. package/dist/excalidraw/scene/Renderer.js +2 -3
  372. package/dist/excalidraw/scene/Scene.d.ts +19 -12
  373. package/dist/excalidraw/scene/Scene.js +44 -23
  374. package/dist/excalidraw/scene/Shape.d.ts +1 -1
  375. package/dist/excalidraw/scene/ShapeCache.d.ts +5 -4
  376. package/dist/excalidraw/scene/comparisons.d.ts +2 -2
  377. package/dist/excalidraw/scene/export.d.ts +3 -3
  378. package/dist/excalidraw/scene/export.js +4 -3
  379. package/dist/excalidraw/scene/scroll.d.ts +2 -2
  380. package/dist/excalidraw/scene/scrollbars.d.ts +3 -3
  381. package/dist/excalidraw/scene/selection.d.ts +2 -2
  382. package/dist/excalidraw/scene/types.d.ts +5 -4
  383. package/dist/excalidraw/scene/zoom.d.ts +1 -1
  384. package/dist/excalidraw/snapping.d.ts +4 -4
  385. package/dist/excalidraw/store.d.ts +99 -0
  386. package/dist/excalidraw/store.js +269 -0
  387. package/dist/excalidraw/types.d.ts +33 -19
  388. package/dist/excalidraw/utils.d.ts +10 -4
  389. package/dist/excalidraw/utils.js +7 -0
  390. package/dist/excalidraw/zindex.d.ts +4 -4
  391. package/dist/excalidraw/zindex.js +9 -13
  392. package/dist/prod/{en-R7FEFJGC.json → en-GM5O55AO.json} +5 -3
  393. package/dist/prod/index.css +1 -1
  394. package/dist/prod/index.js +44 -44
  395. package/dist/utils/bbox.d.ts +2 -2
  396. package/dist/utils/collision.d.ts +4 -0
  397. package/dist/utils/collision.js +48 -0
  398. package/dist/utils/export.d.ts +1 -1
  399. package/dist/utils/geometry/geometry.d.ts +71 -0
  400. package/dist/utils/geometry/geometry.js +674 -0
  401. package/dist/utils/geometry/shape.d.ts +56 -0
  402. package/dist/utils/geometry/shape.js +168 -0
  403. package/dist/utils/withinBounds.d.ts +1 -1
  404. package/history.ts +163 -218
  405. package/package.json +2 -1
  406. package/dist/browser/dev/excalidraw-assets-dev/chunk-GPOYIZPX.js.map +0 -7
  407. package/dist/browser/dev/excalidraw-assets-dev/chunk-J5HRUYQR.js.map +0 -7
  408. package/dist/browser/dev/excalidraw-assets-dev/chunk-UETNA2WX.js.map +0 -7
  409. package/dist/browser/dev/excalidraw-assets-dev/dist-Y7S5GOTG.js +0 -10
  410. package/dist/browser/dev/excalidraw-assets-dev/image-ZNQQXS62.css.map +0 -7
  411. package/dist/browser/prod/excalidraw-assets/chunk-EEN6AFMH.js +0 -269
  412. package/dist/browser/prod/excalidraw-assets/dist-7FHVDAZ2.js +0 -1
  413. package/dist/browser/prod/excalidraw-assets/flowDiagram-v2-3b53844e-CRHRHP7H.js +0 -1
  414. package/dist/browser/prod/excalidraw-assets/image-VXYNPVOG.js +0 -1
  415. package/dist/browser/prod/excalidraw-assets/image-WE6NA2G6.css +0 -1
  416. /package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-RHODGCTM.js.map → blockDiagram-91b80b7a-SWMOP5PL.js.map} +0 -0
  417. /package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-W7NCR7LR.js.map → c4Diagram-b2a90758-N33A4OZ7.js.map} +0 -0
  418. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-TKRIVTWP.js.map → chunk-3XV32LTV.js.map} +0 -0
  419. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-B2MHJWXZ.js.map → chunk-CLMTS5EY.js.map} +0 -0
  420. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-QFS4M5OJ.js.map → chunk-DIDQ2KEW.js.map} +0 -0
  421. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-5747M6KP.js.map → chunk-G3PHSEXY.js.map} +0 -0
  422. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-PPHFJLL7.js.map → chunk-HCMMCBMX.js.map} +0 -0
  423. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-DQOPSCYA.js.map → chunk-K5QPOXOQ.js.map} +0 -0
  424. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-52OGG53V.js.map → chunk-KMSH7QAI.js.map} +0 -0
  425. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-SLLUETBM.js.map → chunk-TVSGJBCZ.js.map} +0 -0
  426. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-BESQLMCW.js.map → chunk-UONPRRXT.js.map} +0 -0
  427. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-USLWOHUZ.js.map → chunk-VU32GUMX.js.map} +0 -0
  428. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-GF7VCOUM.js.map → chunk-WQNNVZHO.js.map} +0 -0
  429. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-GCA4S2OA.js.map → chunk-WXRCMPEJ.js.map} +0 -0
  430. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-GJGBT4TV.js.map → classDiagram-30eddba6-HGXEWQY2.js.map} +0 -0
  431. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-LYWTIPJA.js.map → classDiagram-v2-f2df5561-ANW5DGKP.js.map} +0 -0
  432. /package/dist/browser/dev/excalidraw-assets-dev/{directory-open-01563666-UREMLRIT.js.map → directory-open-01563666-67XPRP2W.js.map} +0 -0
  433. /package/dist/browser/dev/excalidraw-assets-dev/{directory-open-4ed118d0-UN3BUDZZ.js.map → directory-open-4ed118d0-TZOVUMX3.js.map} +0 -0
  434. /package/dist/browser/dev/excalidraw-assets-dev/{dist-Y7S5GOTG.js.map → dist-JWLY7ZTC.js.map} +0 -0
  435. /package/dist/browser/dev/excalidraw-assets-dev/{en-UW5C5KGW.js.map → en-RSUSLGPV.js.map} +0 -0
  436. /package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-Z7U2XW2Y.js.map → erDiagram-47591fe2-HB4S6KST.js.map} +0 -0
  437. /package/dist/browser/dev/excalidraw-assets-dev/{file-open-002ab408-4QG336MG.js.map → file-open-002ab408-ODQEDP24.js.map} +0 -0
  438. /package/dist/browser/dev/excalidraw-assets-dev/{file-open-7c801643-3QI4ICCL.js.map → file-open-7c801643-RPLD6WZI.js.map} +0 -0
  439. /package/dist/browser/dev/excalidraw-assets-dev/{file-save-3189631c-TNNERCWV.js.map → file-save-3189631c-63VHNBWZ.js.map} +0 -0
  440. /package/dist/browser/dev/excalidraw-assets-dev/{file-save-745eba88-JFMH565P.js.map → file-save-745eba88-SJSX6XSD.js.map} +0 -0
  441. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-PARVG263.js.map → flowDiagram-5540d9b9-4QMRNUIV.js.map} +0 -0
  442. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-ZJOPVRMB.js.map → flowDiagram-v2-3b53844e-EH5O3NBM.js.map} +0 -0
  443. /package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-ULPNBSZX.js.map → flowchart-elk-definition-5fe447d6-7HGYBXUA.js.map} +0 -0
  444. /package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-ESSYVTJ4.js.map → ganttDiagram-9a3bba1f-V5WA3IP4.js.map} +0 -0
  445. /package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-6V6VVNNP.js.map → gitGraphDiagram-96e6b4ee-6JA3Z4O2.js.map} +0 -0
  446. /package/dist/browser/dev/excalidraw-assets-dev/{image-3LTGFHLF.js.map → image-GHNRJPTS.js.map} +0 -0
  447. /package/dist/browser/dev/excalidraw-assets-dev/{image-blob-reduce.esm-KTX27DAY.js.map → image-blob-reduce.esm-QYPUYIZK.js.map} +0 -0
  448. /package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-I22FLFX3.js.map → infoDiagram-bcd20f53-24MBINO2.js.map} +0 -0
  449. /package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-WAO6F52C.js.map → journeyDiagram-4fe6b3dc-KJ4YYJII.js.map} +0 -0
  450. /package/dist/browser/dev/excalidraw-assets-dev/{katex-NWA2YFOP.js.map → katex-INYZI6LE.js.map} +0 -0
  451. /package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-K74IKX4Y.js.map → mindmap-definition-f354de21-VZEH45PD.js.map} +0 -0
  452. /package/dist/browser/dev/excalidraw-assets-dev/{pica-3TH2EGXR.js.map → pica-YQGHCBVI.js.map} +0 -0
  453. /package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-DOB2LVE5.js.map → pieDiagram-79897490-Z2LCRKGQ.js.map} +0 -0
  454. /package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-MJV2X7WI.js.map → quadrantDiagram-62f64e94-J3AFAFGX.js.map} +0 -0
  455. /package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-H4YM3XN7.js.map → requirementDiagram-05bf5f74-M474HB6I.js.map} +0 -0
  456. /package/dist/browser/dev/excalidraw-assets-dev/{roundRect-4S3QV2NZ.js.map → roundRect-ZCXXTYZ4.js.map} +0 -0
  457. /package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-7X74ABAN.js.map → sankeyDiagram-97764748-TNQP5HMX.js.map} +0 -0
  458. /package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-PPDIJFQP.js.map → sequenceDiagram-acc0e65c-3NIA26ZM.js.map} +0 -0
  459. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-JVBR7N35.js.map → stateDiagram-0ff1cf1a-V6UXRWCT.js.map} +0 -0
  460. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-QYAJLQJH.js.map → stateDiagram-v2-9a9d610d-7LTZXINB.js.map} +0 -0
  461. /package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-GL7U3WDB.js.map → timeline-definition-fea2a41d-X4VGA6IX.js.map} +0 -0
  462. /package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-4U4JE4TW.js.map → xychartDiagram-ab372869-UQCQVK6J.js.map} +0 -0
@@ -141,8 +141,8 @@ export const TTDDialogBase = withInternalFallback("TTDDialogBase", ({ tab, ...re
141
141
  marginLeft: "10px",
142
142
  fontSize: 10,
143
143
  borderRadius: "12px",
144
- background: "pink",
145
- color: "#000",
144
+ background: "var(--color-promo)",
145
+ color: "var(--color-surface-lowest)",
146
146
  }, children: "AI Beta" })] }) }), _jsx(TTDDialogTabTrigger, { tab: "mermaid", children: "Mermaid" })] })), _jsx(TTDDialogTab, { className: "ttd-dialog-content", tab: "mermaid", children: _jsx(MermaidToExcalidraw, { mermaidToExcalidrawLib: mermaidToExcalidrawLib }) }), !("__fallback" in rest) && (_jsxs(TTDDialogTab, { className: "ttd-dialog-content", tab: "text-to-diagram", children: [_jsx("div", { className: "ttd-dialog-desc", children: "Currently we use Mermaid as a middle step, so you'll get best results if you describe a diagram, workflow, flow chart, and similar." }), _jsxs(TTDDialogPanels, { children: [_jsx(TTDDialogPanel, { label: t("labels.prompt"), panelAction: {
147
147
  action: onGenerate,
148
148
  label: "Generate",
@@ -1,4 +1,4 @@
1
- import { ChangeEventHandler } from "react";
1
+ import type { ChangeEventHandler } from "react";
2
2
  interface TTDDialogInputProps {
3
3
  input: string;
4
4
  placeholder: string;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  interface TTDDialogPanelProps {
3
3
  label: string;
4
4
  children: ReactNode;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  export declare const TTDDialogPanels: ({ children }: {
3
3
  children: ReactNode;
4
4
  }) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  declare const TTDDialogTabs: {
3
3
  (props: {
4
4
  children: ReactNode;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
2
  export declare const TTDDialogTrigger: {
3
3
  ({ children, icon, }: {
4
4
  children?: ReactNode;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { MermaidOptions } from "@excalidraw/mermaid-to-excalidraw";
3
- import { MermaidToExcalidrawResult } from "@excalidraw/mermaid-to-excalidraw/dist/interfaces";
4
- import { NonDeletedExcalidrawElement } from "../../element/types";
5
- import { AppClassProperties, BinaryFiles } from "../../types";
2
+ import type { MermaidOptions } from "@excalidraw/mermaid-to-excalidraw";
3
+ import type { MermaidToExcalidrawResult } from "@excalidraw/mermaid-to-excalidraw/dist/interfaces";
4
+ import type { NonDeletedExcalidrawElement } from "../../element/types";
5
+ import type { AppClassProperties, BinaryFiles } from "../../types";
6
6
  export interface MermaidToExcalidrawLibProps {
7
7
  loaded: boolean;
8
8
  api: Promise<{
@@ -1,4 +1,4 @@
1
- import { KeyboardEvent } from "react";
1
+ import type { KeyboardEvent } from "react";
2
2
  import "./TextField.scss";
3
3
  type TextFieldProps = {
4
4
  onChange?: (value: string) => void;
@@ -1,4 +1,4 @@
1
- import { CSSProperties } from "react";
1
+ import type { CSSProperties } from "react";
2
2
  import "./Toast.scss";
3
3
  export declare const Toast: ({ message, onClose, closable, duration, style, }: {
4
4
  message: string;
@@ -1,6 +1,7 @@
1
1
  import "./ToolIcon.scss";
2
- import React, { CSSProperties } from "react";
3
- import { PointerType } from "../element/types";
2
+ import type { CSSProperties } from "react";
3
+ import React from "react";
4
+ import type { PointerType } from "../element/types";
4
5
  export type ToolButtonSize = "small" | "medium";
5
6
  type ToolButtonBaseProps = {
6
7
  icon?: React.ReactNode;
@@ -17,6 +18,7 @@ type ToolButtonBaseProps = {
17
18
  hidden?: boolean;
18
19
  visible?: boolean;
19
20
  selected?: boolean;
21
+ disabled?: boolean;
20
22
  className?: string;
21
23
  style?: CSSProperties;
22
24
  isLoading?: boolean;
@@ -52,7 +52,7 @@ export const ToolButton = React.forwardRef((props, ref) => {
52
52
  ToolIcon: !props.hidden,
53
53
  "ToolIcon--selected": props.selected,
54
54
  "ToolIcon--plain": props.type === "icon",
55
- }), style: props.style, "data-testid": props["data-testid"], hidden: props.hidden, title: props.title, "aria-label": props["aria-label"], type: type, onClick: onClick, ref: innerRef, disabled: isLoading || props.isLoading, children: [(props.icon || props.label) && (_jsxs("div", { className: "ToolIcon__icon", "aria-hidden": "true", children: [props.icon || props.label, props.keyBindingLabel && (_jsx("span", { className: "ToolIcon__keybinding", children: props.keyBindingLabel })), props.isLoading && _jsx(Spinner, {})] })), props.showAriaLabel && (_jsxs("div", { className: "ToolIcon__label", children: [props["aria-label"], " ", isLoading && _jsx(Spinner, {})] })), props.children] }));
55
+ }), style: props.style, "data-testid": props["data-testid"], hidden: props.hidden, title: props.title, "aria-label": props["aria-label"], type: type, onClick: onClick, ref: innerRef, disabled: isLoading || props.isLoading || !!props.disabled, children: [(props.icon || props.label) && (_jsxs("div", { className: "ToolIcon__icon", "aria-hidden": "true", "aria-disabled": !!props.disabled, children: [props.icon || props.label, props.keyBindingLabel && (_jsx("span", { className: "ToolIcon__keybinding", children: props.keyBindingLabel })), props.isLoading && _jsx(Spinner, {})] })), props.showAriaLabel && (_jsxs("div", { className: "ToolIcon__label", children: [props["aria-label"], " ", isLoading && _jsx(Spinner, {})] })), props.children] }));
56
56
  }
57
57
  return (_jsxs("label", { className: clsx("ToolIcon", props.className), title: props.title, onPointerDown: (event) => {
58
58
  lastPointerTypeRef.current = event.pointerType || null;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { TranslationKeys } from "../i18n";
2
+ import type { TranslationKeys } from "../i18n";
3
3
  declare const Trans: ({ i18nKey, children, ...props }: {
4
4
  [key: string]: React.ReactNode | ((el: React.ReactNode) => React.ReactNode);
5
5
  i18nKey: TranslationKeys;
@@ -1,6 +1,6 @@
1
1
  import "./UserList.scss";
2
2
  import React from "react";
3
- import { Collaborator, SocketId } from "../types";
3
+ import type { Collaborator, SocketId } from "../types";
4
4
  export type GoToCollaboratorComponentProps = {
5
5
  socketId: SocketId;
6
6
  collaborator: Collaborator;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import type { DOMAttributes } from "react";
3
- import type { InteractiveCanvasAppState } from "../../types";
3
+ import type { Device, InteractiveCanvasAppState } from "../../types";
4
4
  import type { RenderableElementsMap, RenderInteractiveSceneCallback } from "../../scene/types";
5
5
  import type { NonDeletedExcalidrawElement } from "../../element/types";
6
6
  type InteractiveCanvasProps = {
@@ -9,10 +9,11 @@ type InteractiveCanvasProps = {
9
9
  elementsMap: RenderableElementsMap;
10
10
  visibleElements: readonly NonDeletedExcalidrawElement[];
11
11
  selectedElements: readonly NonDeletedExcalidrawElement[];
12
- versionNonce: number | undefined;
12
+ sceneNonce: number | undefined;
13
13
  selectionNonce: number | undefined;
14
14
  scale: number;
15
15
  appState: InteractiveCanvasAppState;
16
+ device: Device;
16
17
  renderInteractiveSceneCallback: (data: RenderInteractiveSceneCallback) => void;
17
18
  handleCanvasRef: (canvas: HTMLCanvasElement | null) => void;
18
19
  onContextMenu: Exclude<DOMAttributes<HTMLCanvasElement | HTMLDivElement>["onContextMenu"], undefined>;
@@ -60,6 +60,7 @@ const InteractiveCanvas = (props) => {
60
60
  selectionColor,
61
61
  renderScrollbars: false,
62
62
  },
63
+ device: props.device,
63
64
  callback: props.renderInteractiveSceneCallback,
64
65
  }, isRenderThrottlingEnabled());
65
66
  });
@@ -102,10 +103,10 @@ const getRelevantAppStateProps = (appState) => ({
102
103
  const areEqual = (prevProps, nextProps) => {
103
104
  // This could be further optimised if needed, as we don't have to render interactive canvas on each scene mutation
104
105
  if (prevProps.selectionNonce !== nextProps.selectionNonce ||
105
- prevProps.versionNonce !== nextProps.versionNonce ||
106
+ prevProps.sceneNonce !== nextProps.sceneNonce ||
106
107
  prevProps.scale !== nextProps.scale ||
107
108
  // we need to memoize on elementsMap because they may have renewed
108
- // even if versionNonce didn't change (e.g. we filter elements out based
109
+ // even if sceneNonce didn't change (e.g. we filter elements out based
109
110
  // on appState)
110
111
  prevProps.elementsMap !== nextProps.elementsMap ||
111
112
  prevProps.visibleElements !== nextProps.visibleElements ||
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { RoughCanvas } from "roughjs/bin/canvas";
2
+ import type { RoughCanvas } from "roughjs/bin/canvas";
3
3
  import type { StaticCanvasAppState } from "../../types";
4
4
  import type { RenderableElementsMap, StaticCanvasRenderConfig } from "../../scene/types";
5
5
  import type { NonDeletedExcalidrawElement, NonDeletedSceneElementsMap } from "../../element/types";
@@ -9,7 +9,7 @@ type StaticCanvasProps = {
9
9
  elementsMap: RenderableElementsMap;
10
10
  allElementsMap: NonDeletedSceneElementsMap;
11
11
  visibleElements: readonly NonDeletedExcalidrawElement[];
12
- versionNonce: number | undefined;
12
+ sceneNonce: number | undefined;
13
13
  selectionNonce: number | undefined;
14
14
  scale: number;
15
15
  appState: StaticCanvasAppState;
@@ -69,10 +69,10 @@ const getRelevantAppStateProps = (appState) => ({
69
69
  editingGroupId: appState.editingGroupId,
70
70
  });
71
71
  const areEqual = (prevProps, nextProps) => {
72
- if (prevProps.versionNonce !== nextProps.versionNonce ||
72
+ if (prevProps.sceneNonce !== nextProps.sceneNonce ||
73
73
  prevProps.scale !== nextProps.scale ||
74
74
  // we need to memoize on elementsMap because they may have renewed
75
- // even if versionNonce didn't change (e.g. we filter elements out based
75
+ // even if sceneNonce didn't change (e.g. we filter elements out based
76
76
  // on appState)
77
77
  prevProps.elementsMap !== nextProps.elementsMap ||
78
78
  prevProps.visibleElements !== nextProps.visibleElements) {
@@ -11,10 +11,10 @@ export const DropDownMenuItemBadge = ({ children, }) => {
11
11
  display: "inline-flex",
12
12
  marginLeft: "auto",
13
13
  padding: "2px 4px",
14
- background: "pink",
14
+ background: "var(--color-promo)",
15
+ color: "var(--color-surface-lowest)",
15
16
  borderRadius: 6,
16
17
  fontSize: 9,
17
- color: "black",
18
18
  fontFamily: "Cascadia, monospace",
19
19
  }, children: children }));
20
20
  };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { ActionManager } from "../../actions/manager";
3
- import { UIAppState } from "../../types";
2
+ import type { ActionManager } from "../../actions/manager";
3
+ import type { UIAppState } from "../../types";
4
4
  declare const Footer: {
5
5
  ({ appState, actionManager, showExitZenModeBtn, renderWelcomeScreen, }: {
6
6
  appState: UIAppState;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { AppState, ExcalidrawProps, UIAppState } from "../../types";
3
- import { ElementsMap, ExcalidrawEmbeddableElement, NonDeletedExcalidrawElement } from "../../element/types";
2
+ import type { AppState, ExcalidrawProps, UIAppState } from "../../types";
3
+ import type { ElementsMap, ExcalidrawEmbeddableElement, NonDeletedExcalidrawElement } from "../../element/types";
4
4
  import "./Hyperlink.scss";
5
5
  export declare const Hyperlink: ({ element, elementsMap, setAppState, onLinkOpen, setToast, updateEmbedValidationStatus, }: {
6
6
  element: NonDeletedExcalidrawElement;
@@ -10,9 +10,9 @@ import clsx from "clsx";
10
10
  import { KEYS } from "../../keys";
11
11
  import { EVENT, HYPERLINK_TOOLTIP_DELAY } from "../../constants";
12
12
  import { getElementAbsoluteCoords } from "../../element/bounds";
13
- import { getTooltipDiv, updateTooltipPosition } from "../Tooltip";
13
+ import { getTooltipDiv, updateTooltipPosition } from "../../components/Tooltip";
14
14
  import { getSelectedElements } from "../../scene";
15
- import { isPointHittingElementBoundingBox } from "../../element/collision";
15
+ import { hitElementBoundingBox } from "../../element/collision";
16
16
  import { isLocalLink, normalizeLink } from "../../data/url";
17
17
  import "./Hyperlink.scss";
18
18
  import { trackEvent } from "../../analytics";
@@ -252,7 +252,7 @@ const shouldHideLinkPopup = (element, elementsMap, appState, [clientX, clientY])
252
252
  const { x: sceneX, y: sceneY } = viewportCoordsToSceneCoords({ clientX, clientY }, appState);
253
253
  const threshold = 15 / appState.zoom.value;
254
254
  // hitbox to prevent hiding when hovered in element bounding box
255
- if (isPointHittingElementBoundingBox(element, elementsMap, [sceneX, sceneY], threshold, null)) {
255
+ if (hitElementBoundingBox(sceneX, sceneY, element, elementsMap)) {
256
256
  return false;
257
257
  }
258
258
  const [x1, y1, x2] = getElementAbsoluteCoords(element, elementsMap);
@@ -1,6 +1,6 @@
1
- import { Bounds } from "../../element/bounds";
2
- import { ElementsMap, NonDeletedExcalidrawElement } from "../../element/types";
3
- import { AppState, UIAppState } from "../../types";
1
+ import type { Bounds } from "../../element/bounds";
2
+ import type { ElementsMap, NonDeletedExcalidrawElement } from "../../element/types";
3
+ import type { AppState, UIAppState } from "../../types";
4
4
  export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
5
5
  export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, appState: Pick<UIAppState, "zoom">) => Bounds;
6
6
  export declare const isPointHittingLinkIcon: (element: NonDeletedExcalidrawElement, elementsMap: ElementsMap, appState: AppState, [x, y]: readonly [number, number]) => boolean;
@@ -1,6 +1,6 @@
1
1
  import { MIME_TYPES } from "../../constants";
2
2
  import { getElementAbsoluteCoords } from "../../element/bounds";
3
- import { isPointHittingElementBoundingBox } from "../../element/collision";
3
+ import { hitElementBoundingBox } from "../../element/collision";
4
4
  import { rotate } from "../../math";
5
5
  import { DEFAULT_LINK_SIZE } from "../../renderer/renderElement";
6
6
  export const EXTERNAL_LINK_IMG = document.createElement("img");
@@ -39,10 +39,9 @@ export const isPointHittingLink = (element, elementsMap, appState, [x, y], isMob
39
39
  if (!element.link || appState.selectedElementIds[element.id]) {
40
40
  return false;
41
41
  }
42
- const threshold = 4 / appState.zoom.value;
43
42
  if (!isMobile &&
44
43
  appState.viewModeEnabled &&
45
- isPointHittingElementBoundingBox(element, elementsMap, [x, y], threshold, null)) {
44
+ hitElementBoundingBox(x, y, element, elementsMap)) {
46
45
  return true;
47
46
  }
48
47
  return isPointHittingLinkIcon(element, elementsMap, appState, [x, y]);
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Theme } from "../element/types";
2
+ import type { Theme } from "../element/types";
3
3
  export declare const iconFillColor: (theme: Theme) => string;
4
4
  type Opts = {
5
5
  width?: number;
@@ -195,6 +195,8 @@ export declare const pngIcon: JSX.Element;
195
195
  export declare const magnetIcon: JSX.Element;
196
196
  export declare const coffeeIcon: JSX.Element;
197
197
  export declare const DeviceDesktopIcon: JSX.Element;
198
- export declare const arrowBarToLeftIcon: JSX.Element;
198
+ export declare const loginIcon: JSX.Element;
199
199
  export declare const youtubeIcon: JSX.Element;
200
+ export declare const gridIcon: JSX.Element;
201
+ export declare const lineEditorIcon: JSX.Element;
200
202
  export {};
@@ -121,10 +121,22 @@ export const shareWindows = createIcon(_jsxs(_Fragment, { children: [_jsx("path"
121
121
  // Icon imported form Storybook
122
122
  // Storybook is licensed under MIT https://github.com/storybookjs/storybook/blob/next/LICENSE
123
123
  export const resetZoom = createIcon(_jsx("path", { stroke: "currentColor", strokeWidth: "40", fill: "currentColor", d: "M148 560a318 318 0 0 0 522 110 316 316 0 0 0 0-450 316 316 0 0 0-450 0c-11 11-21 22-30 34v4h47c25 0 46 21 46 46s-21 45-46 45H90c-13 0-25-6-33-14-9-9-14-20-14-33V156c0-25 20-45 45-45s45 20 45 45v32l1 1a401 401 0 0 1 623 509l212 212a42 42 0 0 1-59 59L698 757A401 401 0 0 1 65 570a42 42 0 0 1 83-10z" }), { width: 1024 });
124
- export const BringForwardIcon = createIcon(_jsxs(_Fragment, { children: [_jsxs("g", { clipPath: "url(#a)", stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M13.889 4.167H8.333c-.767 0-1.389.622-1.389 1.389v5.555c0 .767.622 1.389 1.39 1.389h5.555c.767 0 1.389-.622 1.389-1.389V5.556c0-.767-.622-1.39-1.39-1.39Z", fill: "currentColor" }), _jsx("path", { d: "M12.5 12.5v1.389a1.389 1.389 0 0 1-1.389 1.389H5.556a1.389 1.389 0 0 1-1.39-1.39V8.334a1.389 1.389 0 0 1 1.39-1.389h1.388" })] }), _jsx("defs", { children: _jsx("clipPath", { id: "a", children: _jsx("path", { fill: "#fff", d: "M0 0h20v20H0z" }) }) })] }), modifiedTablerIconProps);
125
- export const SendBackwardIcon = createIcon(_jsxs(_Fragment, { children: [_jsxs("g", { clipPath: "url(#a)", stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6.944 12.5H12.5v1.389a1.389 1.389 0 0 1-1.389 1.389H5.556a1.389 1.389 0 0 1-1.39-1.39V8.334a1.389 1.389 0 0 1 1.39-1.389h1.388", fill: "currentColor" }), _jsx("path", { d: "M13.889 4.167H8.333c-.767 0-1.389.621-1.389 1.389v5.555c0 .767.622 1.389 1.39 1.389h5.555c.767 0 1.389-.622 1.389-1.389V5.556c0-.768-.622-1.39-1.39-1.39Z" })] }), _jsx("defs", { children: _jsx("clipPath", { id: "a", children: _jsx("path", { fill: "#fff", d: "M0 0h20v20H0z" }) }) })] }), modifiedTablerIconProps);
126
- export const BringToFrontIcon = createIcon(_jsxs(_Fragment, { children: [_jsxs("g", { clipPath: "url(#a)", stroke: "currentColor", strokeWidth: "1.25", children: [_jsx("path", { d: "M8.775 6.458h2.45a2.316 2.316 0 0 1 2.317 2.316v2.452a2.316 2.316 0 0 1-2.316 2.316H8.774a2.316 2.316 0 0 1-2.317-2.316V8.774a2.316 2.316 0 0 1 2.317-2.316Z", fill: "currentColor" }), _jsx("path", { d: "M5.441 9.792h2.451a2.316 2.316 0 0 1 2.316 2.316v2.45a2.316 2.316 0 0 1-2.316 2.317h-2.45a2.316 2.316 0 0 1-2.317-2.316v-2.451a2.316 2.316 0 0 1 2.316-2.316ZM12.108 3.125h2.45a2.316 2.316 0 0 1 2.317 2.316v2.451a2.316 2.316 0 0 1-2.316 2.316h-2.451a2.316 2.316 0 0 1-2.316-2.316v-2.45a2.316 2.316 0 0 1 2.316-2.317Z" })] }), _jsx("defs", { children: _jsx("clipPath", { id: "a", children: _jsx("path", { fill: "#fff", d: "M0 0h20v20H0z" }) }) })] }), modifiedTablerIconProps);
127
- export const SendToBackIcon = createIcon(_jsxs(_Fragment, { children: [_jsxs("g", { clipPath: "url(#a)", children: [_jsx("path", { d: "M5.441 9.792h2.451a2.316 2.316 0 0 1 2.316 2.316v2.45a2.316 2.316 0 0 1-2.316 2.317h-2.45a2.316 2.316 0 0 1-2.317-2.316v-2.451a2.316 2.316 0 0 1 2.316-2.316Z", stroke: "currentColor", strokeWidth: "1.25" }), _jsx("path", { d: "M5.441 9.792h2.451a2.316 2.316 0 0 1 2.316 2.316v2.45a2.316 2.316 0 0 1-2.316 2.317h-2.45a2.316 2.316 0 0 1-2.317-2.316v-2.451a2.316 2.316 0 0 1 2.316-2.316Z", stroke: "currentColor", strokeWidth: "1.25" }), _jsx("mask", { id: "SendToBackIcon", fill: "#fff", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.167 5.833v2.06a2.941 2.941 0 0 0 2.94 2.94h2.06v.393a2.941 2.941 0 0 1-2.941 2.94h-.393v-2.058a2.941 2.941 0 0 0-2.94-2.941h-2.06v-.393a2.941 2.941 0 0 1 2.942-2.94h.392Z" }) }), _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.167 5.833v2.06a2.941 2.941 0 0 0 2.94 2.94h2.06v.393a2.941 2.941 0 0 1-2.941 2.94h-.393v-2.058a2.941 2.941 0 0 0-2.94-2.941h-2.06v-.393a2.941 2.941 0 0 1 2.942-2.94h.392Z", fill: "currentColor" }), _jsx("path", { d: "M9.167 5.833h1.25v-1.25h-1.25v1.25Zm5 5h1.25v-1.25h-1.25v1.25Zm-3.334 3.334h-1.25v1.25h1.25v-1.25Zm-5-5h-1.25v1.25h1.25v-1.25Zm2.084-3.334v2.06h2.5v-2.06h-2.5Zm0 2.06a4.191 4.191 0 0 0 4.19 4.19v-2.5a1.691 1.691 0 0 1-1.69-1.69h-2.5Zm4.19 4.19h2.06v-2.5h-2.06v2.5Zm.81-1.25v.393h2.5v-.393h-2.5Zm0 .393c0 .933-.758 1.69-1.691 1.69v2.5a4.191 4.191 0 0 0 4.19-4.19h-2.5Zm-1.691 1.69h-.393v2.5h.393v-2.5Zm.857 1.25v-2.058h-2.5v2.059h2.5Zm0-2.058a4.191 4.191 0 0 0-4.19-4.191v2.5c.933 0 1.69.757 1.69 1.69h2.5Zm-4.19-4.191h-2.06v2.5h2.06v-2.5Zm-.81 1.25v-.393h-2.5v.393h2.5Zm0-.393c0-.934.758-1.69 1.692-1.69v-2.5a4.191 4.191 0 0 0-4.192 4.19h2.5Zm1.692-1.69h.392v-2.5h-.392v2.5Z", fill: "currentColor", mask: "url(#SendToBackIcon)" }), _jsx("path", { d: "M12.108 3.125h2.45a2.316 2.316 0 0 1 2.317 2.316v2.451a2.316 2.316 0 0 1-2.316 2.316h-2.451a2.316 2.316 0 0 1-2.316-2.316v-2.45a2.316 2.316 0 0 1 2.316-2.317Z", stroke: "currentColor", strokeWidth: "1.25" })] }), _jsx("defs", { children: _jsx("clipPath", { id: "a", children: _jsx("path", { fill: "#fff", d: "M0 0h20v20H0z" }) }) })] }), modifiedTablerIconProps);
124
+ const arrowBarToTopJSX = (_jsxs("g", { strokeWidth: 1.5, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M12 10l0 10" }), _jsx("path", { d: "M12 10l4 4" }), _jsx("path", { d: "M12 10l-4 4" }), _jsx("path", { d: "M4 4l16 0" })] }));
125
+ const arrownNarrowUpJSX = (_jsxs("g", { strokeWidth: 1.5, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M12 5l0 14" }), _jsx("path", { d: "M16 9l-4 -4" }), _jsx("path", { d: "M8 9l4 -4" })] }));
126
+ export const BringForwardIcon = createIcon(arrownNarrowUpJSX, tablerIconProps);
127
+ export const SendBackwardIcon = createIcon(arrownNarrowUpJSX, {
128
+ ...tablerIconProps,
129
+ style: {
130
+ transform: "rotate(180deg)",
131
+ },
132
+ });
133
+ export const BringToFrontIcon = createIcon(arrowBarToTopJSX, tablerIconProps);
134
+ export const SendToBackIcon = createIcon(arrowBarToTopJSX, {
135
+ ...tablerIconProps,
136
+ style: {
137
+ transform: "rotate(180deg)",
138
+ },
139
+ });
128
140
  //
129
141
  // Align action icons created from scratch to match those of z-index actions
130
142
  // Note: vertical align icons are flipped so the larger item is always the
@@ -241,6 +253,8 @@ export const pngIcon = createIcon(_jsxs("g", { strokeWidth: 1.25, children: [_js
241
253
  export const magnetIcon = createIcon(_jsxs("g", { strokeWidth: 1.25, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M4 13v-8a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v8a2 2 0 0 0 6 0v-8a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v8a8 8 0 0 1 -16 0" }), _jsx("path", { d: "M4 8l5 0" }), _jsx("path", { d: "M15 8l4 0" })] }), tablerIconProps);
242
254
  export const coffeeIcon = createIcon(_jsxs("g", { strokeWidth: 1.25, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M3 14c.83 .642 2.077 1.017 3.5 1c1.423 .017 2.67 -.358 3.5 -1c.83 -.642 2.077 -1.017 3.5 -1c1.423 -.017 2.67 .358 3.5 1" }), _jsx("path", { d: "M8 3a2.4 2.4 0 0 0 -1 2a2.4 2.4 0 0 0 1 2" }), _jsx("path", { d: "M12 3a2.4 2.4 0 0 0 -1 2a2.4 2.4 0 0 0 1 2" }), _jsx("path", { d: "M3 10h14v5a6 6 0 0 1 -6 6h-2a6 6 0 0 1 -6 -6v-5z" }), _jsx("path", { d: "M16.746 16.726a3 3 0 1 0 .252 -5.555" })] }), tablerIconProps);
243
255
  export const DeviceDesktopIcon = createIcon(_jsxs("g", { stroke: "currentColor", children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M3 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-16a1 1 0 0 1-1-1v-10zM7 20h10M9 16v4M15 16v4" })] }), { ...tablerIconProps, strokeWidth: 1.5 });
244
- // arrow-bar-to-left
245
- export const arrowBarToLeftIcon = createIcon(_jsxs("g", { children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M10 12l10 0" }), _jsx("path", { d: "M10 12l4 4" }), _jsx("path", { d: "M10 12l4 -4" }), _jsx("path", { d: "M4 4l0 16" })] }), tablerIconProps);
256
+ // login
257
+ export const loginIcon = createIcon(_jsxs("g", { strokeWidth: 1.5, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M15 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2" }), _jsx("path", { d: "M21 12h-13l3 -3" }), _jsx("path", { d: "M11 15l-3 -3" })] }), tablerIconProps);
246
258
  export const youtubeIcon = createIcon(_jsxs("g", { children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z" }), _jsx("path", { d: "M10 9l5 3l-5 3z" })] }), tablerIconProps);
259
+ export const gridIcon = createIcon(_jsxs("g", { strokeWidth: 1.5, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M3 6h18" }), _jsx("path", { d: "M3 12h18" }), _jsx("path", { d: "M3 18h18" }), _jsx("path", { d: "M6 3v18" }), _jsx("path", { d: "M12 3v18" }), _jsx("path", { d: "M18 3v18" })] }), tablerIconProps);
260
+ export const lineEditorIcon = createIcon(_jsxs("g", { strokeWidth: 1.5, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M17 3m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z" }), _jsx("path", { d: "M3 17m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z" }), _jsx("path", { d: "M17 5c-6.627 0 -12 5.373 -12 12" })] }), tablerIconProps);
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import type { Theme } from "../../element/types";
3
2
  import "./DefaultItems.scss";
3
+ import { Theme } from "../../element/types";
4
4
  export declare const LoadScene: {
5
5
  (): JSX.Element | null;
6
6
  displayName: string;
@@ -1,5 +1,5 @@
1
- import { AppProps, NormalizedZoomValue } from "./types";
2
- import { ExcalidrawElement, FontFamilyValues } from "./element/types";
1
+ import type { AppProps, NormalizedZoomValue } from "./types";
2
+ import type { ExcalidrawElement, FontFamilyValues } from "./element/types";
3
3
  export declare const isDarwin: boolean;
4
4
  export declare const isWindows: boolean;
5
5
  export declare const isAndroid: boolean;
@@ -124,6 +124,8 @@ export declare const DEFAULT_ZOOM_VALUE: NormalizedZoomValue;
124
124
  export declare const COLOR_WHITE = "#ffffff";
125
125
  export declare const COLOR_CHARCOAL_BLACK = "#1e1e1e";
126
126
  export declare const COLOR_TRANSPARENT = "transparent";
127
+ export declare const SIDE_RESIZING_THRESHOLD: number;
128
+ export declare const DEFAULT_COLLISION_THRESHOLD: number;
127
129
  export declare const COLOR_VOICE_CALL = "#a2f1a6";
128
130
  export declare const CANVAS_ONLY_ACTIONS: string[];
129
131
  export declare const GRID_SIZE = 20;
@@ -176,6 +178,7 @@ export declare const VERSION_TIMEOUT = 30000;
176
178
  export declare const SCROLL_TIMEOUT = 100;
177
179
  export declare const ZOOM_STEP = 0.1;
178
180
  export declare const MIN_ZOOM = 0.1;
181
+ export declare const MAX_ZOOM = 30;
179
182
  export declare const HYPERLINK_TOOLTIP_DELAY = 300;
180
183
  export declare const IDLE_THRESHOLD = 60000;
181
184
  export declare const ACTIVE_THRESHOLD = 3000;
@@ -224,9 +227,6 @@ export declare const ROUNDNESS: {
224
227
  readonly PROPORTIONAL_RADIUS: 2;
225
228
  readonly ADAPTIVE_RADIUS: 3;
226
229
  };
227
- /** key containt id of precedeing elemnt id we use in reconciliation during
228
- * collaboration */
229
- export declare const PRECEDING_ELEMENT_KEY = "__precedingElement__";
230
230
  export declare const ROUGHNESS: {
231
231
  readonly architect: 0;
232
232
  readonly artist: 1;
@@ -132,6 +132,11 @@ export const COLOR_WHITE = "#ffffff";
132
132
  export const COLOR_CHARCOAL_BLACK = "#1e1e1e";
133
133
  export const COLOR_TRANSPARENT = "transparent";
134
134
  // -----------------------------------------------
135
+ export const SIDE_RESIZING_THRESHOLD = 2 * DEFAULT_TRANSFORM_HANDLE_SPACING;
136
+ // a small epsilon to make side resizing always take precedence
137
+ // (avoids an increase in renders and changes to tests)
138
+ const EPSILON = 0.00001;
139
+ export const DEFAULT_COLLISION_THRESHOLD = 2 * SIDE_RESIZING_THRESHOLD - EPSILON;
135
140
  // keep this in sync with CSS
136
141
  export const COLOR_VOICE_CALL = "#a2f1a6";
137
142
  export const CANVAS_ONLY_ACTIONS = ["selectAll"];
@@ -182,6 +187,7 @@ export const VERSION_TIMEOUT = 30000;
182
187
  export const SCROLL_TIMEOUT = 100;
183
188
  export const ZOOM_STEP = 0.1;
184
189
  export const MIN_ZOOM = 0.1;
190
+ export const MAX_ZOOM = 30.0;
185
191
  export const HYPERLINK_TOOLTIP_DELAY = 300;
186
192
  // Report a user inactive after IDLE_THRESHOLD milliseconds
187
193
  export const IDLE_THRESHOLD = 60_000;
@@ -266,9 +272,6 @@ export const ROUNDNESS = {
266
272
  // (see DEFAULT_ADAPTIVE_RADIUS constant)
267
273
  ADAPTIVE_RADIUS: 3,
268
274
  };
269
- /** key containt id of precedeing elemnt id we use in reconciliation during
270
- * collaboration */
271
- export const PRECEDING_ELEMENT_KEY = "__precedingElement__";
272
275
  export const ROUGHNESS = {
273
276
  architect: 0,
274
277
  artist: 1,
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- import { UIAppState } from "../types";
2
+ import type { UIAppState } from "../types";
3
3
  export declare const UIAppStateContext: React.Context<UIAppState>;
4
4
  export declare const useUIAppState: () => UIAppState;
@@ -1,4 +1,4 @@
1
- import { AppState } from "./types";
1
+ import type { AppState } from "./types";
2
2
  export declare const resetCursor: (interactiveCanvas: HTMLCanvasElement | null) => void;
3
3
  export declare const setCursor: (interactiveCanvas: HTMLCanvasElement | null, cursor: string) => void;
4
4
  export declare const setEraserCursor: (interactiveCanvas: HTMLCanvasElement | null, theme: AppState["theme"]) => void;
@@ -1,5 +1,5 @@
1
- import { EDITOR_LS_KEYS } from "../constants";
2
- import { JSONValue } from "../types";
1
+ import type { EDITOR_LS_KEYS } from "../constants";
2
+ import type { JSONValue } from "../types";
3
3
  export declare class EditorLocalStorage {
4
4
  static has(key: typeof EDITOR_LS_KEYS[keyof typeof EDITOR_LS_KEYS]): boolean;
5
5
  static get<T extends JSONValue>(key: typeof EDITOR_LS_KEYS[keyof typeof EDITOR_LS_KEYS]): T | null;
@@ -1,9 +1,9 @@
1
1
  import { IMAGE_MIME_TYPES, MIME_TYPES } from "../constants";
2
- import { ExcalidrawElement, FileId } from "../element/types";
3
- import { AppState, DataURL, LibraryItem } from "../types";
4
- import { ValueOf } from "../utility-types";
5
- import { FileSystemHandle } from "./filesystem";
6
- import { ImportedLibraryData } from "./types";
2
+ import type { ExcalidrawElement, FileId } from "../element/types";
3
+ import type { AppState, DataURL, LibraryItem } from "../types";
4
+ import type { ValueOf } from "../utility-types";
5
+ import type { FileSystemHandle } from "./filesystem";
6
+ import type { ImportedLibraryData } from "./types";
7
7
  export declare const getMimeType: (blob: Blob | string) => string;
8
8
  export declare const getFileHandleType: (handle: FileSystemHandle | null) => string | null;
9
9
  export declare const isImageFileHandleType: (type: string | null) => type is "png" | "svg";
@@ -1,4 +1,5 @@
1
- import { FileSystemHandle, supported as nativeFileSystemSupported } from "browser-fs-access";
1
+ import type { FileSystemHandle } from "browser-fs-access";
2
+ import { supported as nativeFileSystemSupported } from "browser-fs-access";
2
3
  import { MIME_TYPES } from "../constants";
3
4
  type FILE_EXTENSION = Exclude<keyof typeof MIME_TYPES, "binary">;
4
5
  export declare const fileOpen: <M extends boolean | undefined = false>(opts: {
@@ -1,7 +1,7 @@
1
- import { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "../element/types";
2
- import { ExportType } from "../scene/types";
3
- import { AppState, BinaryFiles } from "../types";
4
- import { FileSystemHandle } from "./filesystem";
1
+ import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "../element/types";
2
+ import type { ExportType } from "../scene/types";
3
+ import type { AppState, BinaryFiles } from "../types";
4
+ import type { FileSystemHandle } from "./filesystem";
5
5
  export { loadFromBlob } from "./blob";
6
6
  export { loadFromJSON, saveAsJSON } from "./json";
7
7
  export type ExportedElements = readonly NonDeletedExcalidrawElement[] & {
@@ -1,6 +1,6 @@
1
- import { ExcalidrawElement } from "../element/types";
2
- import { AppState, BinaryFiles, LibraryItems } from "../types";
3
- import { ImportedDataState, ImportedLibraryData } from "./types";
1
+ import type { ExcalidrawElement } from "../element/types";
2
+ import type { AppState, BinaryFiles, LibraryItems } from "../types";
3
+ import type { ImportedDataState, ImportedLibraryData } from "./types";
4
4
  export declare const serializeAsJSON: (elements: readonly ExcalidrawElement[], appState: Partial<AppState>, files: BinaryFiles, type: "local" | "database") => string;
5
5
  export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name?: string) => Promise<{
6
6
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
@@ -1,7 +1,7 @@
1
- import { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
1
+ import type { LibraryItems, ExcalidrawImperativeAPI, LibraryItemsSource, LibraryItems_anyVersion } from "../types";
2
2
  import type App from "../components/App";
3
- import { ExcalidrawElement } from "../element/types";
4
- import { MaybePromise } from "../utility-types";
3
+ import type { ExcalidrawElement } from "../element/types";
4
+ import type { MaybePromise } from "../utility-types";
5
5
  export type LibraryPersistedData = {
6
6
  libraryItems: LibraryItems;
7
7
  };
@@ -1,6 +1,6 @@
1
- import { Theme } from "../element/types";
2
- import { DataURL } from "../types";
3
- import { OpenAIOutput } from "./ai/types";
1
+ import type { Theme } from "../element/types";
2
+ import type { DataURL } from "../types";
3
+ import type { OpenAIOutput } from "./ai/types";
4
4
  export type MagicCacheData = {
5
5
  status: "pending";
6
6
  } | {
@@ -0,0 +1,6 @@
1
+ import type { OrderedExcalidrawElement } from "../element/types";
2
+ import type { AppState } from "../types";
3
+ import type { MakeBrand } from "../utility-types";
4
+ export type ReconciledExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"ReconciledElement">;
5
+ export type RemoteExcalidrawElement = OrderedExcalidrawElement & MakeBrand<"RemoteExcalidrawElement">;
6
+ export declare const reconcileElements: (localElements: readonly OrderedExcalidrawElement[], remoteElements: readonly RemoteExcalidrawElement[], localAppState: AppState) => ReconciledExcalidrawElement[];
@@ -0,0 +1,49 @@
1
+ import { orderByFractionalIndex, syncInvalidIndices } from "../fractionalIndex";
2
+ import { arrayToMap } from "../utils";
3
+ const shouldDiscardRemoteElement = (localAppState, local, remote) => {
4
+ if (local &&
5
+ // local element is being edited
6
+ (local.id === localAppState.editingElement?.id ||
7
+ local.id === localAppState.resizingElement?.id ||
8
+ local.id === localAppState.draggingElement?.id || // TODO: Is this still valid? As draggingElement is selection element, which is never part of the elements array
9
+ // local element is newer
10
+ local.version > remote.version ||
11
+ // resolve conflicting edits deterministically by taking the one with
12
+ // the lowest versionNonce
13
+ (local.version === remote.version &&
14
+ local.versionNonce < remote.versionNonce))) {
15
+ return true;
16
+ }
17
+ return false;
18
+ };
19
+ export const reconcileElements = (localElements, remoteElements, localAppState) => {
20
+ const localElementsMap = arrayToMap(localElements);
21
+ const reconciledElements = [];
22
+ const added = new Set();
23
+ // process remote elements
24
+ for (const remoteElement of remoteElements) {
25
+ if (!added.has(remoteElement.id)) {
26
+ const localElement = localElementsMap.get(remoteElement.id);
27
+ const discardRemoteElement = shouldDiscardRemoteElement(localAppState, localElement, remoteElement);
28
+ if (localElement && discardRemoteElement) {
29
+ reconciledElements.push(localElement);
30
+ added.add(localElement.id);
31
+ }
32
+ else {
33
+ reconciledElements.push(remoteElement);
34
+ added.add(remoteElement.id);
35
+ }
36
+ }
37
+ }
38
+ // process remaining local elements
39
+ for (const localElement of localElements) {
40
+ if (!added.has(localElement.id)) {
41
+ reconciledElements.push(localElement);
42
+ added.add(localElement.id);
43
+ }
44
+ }
45
+ const orderedElements = orderByFractionalIndex(reconciledElements);
46
+ // de-duplicate indices
47
+ syncInvalidIndices(orderedElements);
48
+ return orderedElements;
49
+ };
@@ -1,5 +1,5 @@
1
- import { ExcalidrawElement } from "../element/types";
2
- import { AppState, BinaryFiles } from "../types";
1
+ import type { ExcalidrawElement } from "../element/types";
2
+ import type { AppState, BinaryFiles } from "../types";
3
3
  export declare const resaveAsImageWithScene: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name: string) => Promise<{
4
4
  fileHandle: import("browser-fs-access").FileSystemHandle;
5
5
  }>;
@@ -1,5 +1,5 @@
1
- import { exportAsImage } from ".";
2
1
  import { prepareElementsForExport } from ".";
2
+ import { exportAsImage } from ".";
3
3
  import { getFileHandleType, isImageFileHandleType } from "./blob";
4
4
  export const resaveAsImageWithScene = async (elements, appState, files, name) => {
5
5
  const { exportBackground, viewBackgroundColor, fileHandle } = appState;