@excalidraw/excalidraw 0.17.1-550a388 → 0.17.1-62228e0

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 (552) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/dist/browser/dev/excalidraw-assets-dev/CascadiaMono-Regular-NWCXRPUG.woff2 +0 -0
  3. package/dist/browser/dev/excalidraw-assets-dev/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  4. package/dist/browser/dev/excalidraw-assets-dev/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  5. package/dist/browser/dev/excalidraw-assets-dev/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  6. package/dist/browser/dev/excalidraw-assets-dev/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  7. package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js → blockDiagram-91b80b7a-H47FTXHA.js} +5 -5
  8. package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js → c4Diagram-b2a90758-NNJK6GKC.js} +3 -3
  9. package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js → chunk-4KQVEBHW.js} +3 -3
  10. package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js → chunk-53YI56GV.js} +4 -4
  11. package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js → chunk-A2WCJI4I.js} +3 -3
  12. package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js → chunk-EFLPX7NE.js} +6 -6
  13. package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js → chunk-JYIQCNWV.js} +2 -2
  14. package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js → chunk-LVIQQW6F.js} +2 -2
  15. package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js → chunk-PXLO3FOU.js} +2 -2
  16. package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js → chunk-TO2AW5PW.js} +2 -2
  17. package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js → chunk-VURILHLY.js} +2 -2
  18. package/dist/browser/dev/excalidraw-assets-dev/{chunk-AK7SWNLN.js → chunk-XDYNNNIZ.js} +48 -10
  19. package/dist/browser/dev/excalidraw-assets-dev/chunk-XDYNNNIZ.js.map +7 -0
  20. package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js → chunk-ZAYGSUHF.js} +2 -2
  21. package/dist/browser/dev/excalidraw-assets-dev/{chunk-Z3PH3V2B.js → chunk-ZQR5ML6Y.js} +26 -26
  22. package/dist/browser/dev/excalidraw-assets-dev/chunk-ZQR5ML6Y.js.map +7 -0
  23. package/dist/browser/dev/excalidraw-assets-dev/{chunk-RWZVJAQU.js → chunk-ZYC7SDAJ.js} +13172 -7476
  24. package/dist/browser/dev/excalidraw-assets-dev/chunk-ZYC7SDAJ.js.map +7 -0
  25. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js → classDiagram-30eddba6-CUYIJICN.js} +5 -5
  26. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js → classDiagram-v2-f2df5561-K6WW6K73.js} +8 -8
  27. package/dist/browser/dev/excalidraw-assets-dev/{dist-Z46EOVOL.js → dist-DNSPZDOZ.js} +67 -33
  28. package/dist/browser/dev/excalidraw-assets-dev/dist-DNSPZDOZ.js.map +7 -0
  29. package/dist/browser/dev/excalidraw-assets-dev/{en-5TCZHGGJ.js → en-RAFN4KPD.js} +8 -2
  30. package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js → erDiagram-47591fe2-XGAD7EEP.js} +4 -4
  31. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js → flowDiagram-5540d9b9-B6EOVNNO.js} +9 -9
  32. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js → flowDiagram-v2-3b53844e-NUG24FJH.js} +9 -9
  33. package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js → flowchart-elk-definition-5fe447d6-25Y7PCBL.js} +5 -5
  34. package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js → ganttDiagram-9a3bba1f-GNL6ZDTC.js} +2 -2
  35. package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js → gitGraphDiagram-96e6b4ee-HNW52NVO.js} +2 -2
  36. package/dist/browser/dev/excalidraw-assets-dev/{image-OFRRV5MB.css → image-WDHYGKKP.css} +1 -1
  37. package/dist/browser/dev/excalidraw-assets-dev/image-WDHYGKKP.css.map +7 -0
  38. package/dist/browser/dev/excalidraw-assets-dev/{image-EDKQZH7Z.js → image-ZNLDWTK3.js} +2 -2
  39. package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js → infoDiagram-bcd20f53-FWEUVFLT.js} +2 -2
  40. package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js → journeyDiagram-4fe6b3dc-RZIUI7UG.js} +3 -3
  41. package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js → mindmap-definition-f354de21-GBVN45GU.js} +3 -3
  42. package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js → pieDiagram-79897490-ECENNII6.js} +2 -2
  43. package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js → quadrantDiagram-62f64e94-ZMEOFVNL.js} +2 -2
  44. package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js → requirementDiagram-05bf5f74-FHZSFHCR.js} +4 -4
  45. package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js → sankeyDiagram-97764748-VDKIKTA6.js} +2 -2
  46. package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js → sequenceDiagram-acc0e65c-6JUSPVKX.js} +3 -3
  47. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js → stateDiagram-0ff1cf1a-L3AKWENF.js} +5 -5
  48. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js → stateDiagram-v2-9a9d610d-NU3GGMCH.js} +8 -8
  49. package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js → timeline-definition-fea2a41d-JGP7XCHW.js} +2 -2
  50. package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js → xychartDiagram-ab372869-HLFHHF2I.js} +3 -3
  51. package/dist/browser/dev/index.css +668 -191
  52. package/dist/browser/dev/index.css.map +3 -3
  53. package/dist/browser/dev/index.js +14529 -9273
  54. package/dist/browser/dev/index.js.map +4 -4
  55. package/dist/browser/prod/excalidraw-assets/CascadiaMono-Regular-NWCXRPUG.woff2 +0 -0
  56. package/dist/browser/prod/excalidraw-assets/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  57. package/dist/browser/prod/excalidraw-assets/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  58. package/dist/browser/prod/excalidraw-assets/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  59. package/dist/browser/prod/excalidraw-assets/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  60. package/dist/browser/prod/excalidraw-assets/{blockDiagram-91b80b7a-ONPS22AM.js → blockDiagram-91b80b7a-FVCRVGN5.js} +1 -1
  61. package/dist/browser/prod/excalidraw-assets/{c4Diagram-b2a90758-XMIQY7ZT.js → c4Diagram-b2a90758-56CXO7GA.js} +1 -1
  62. package/dist/browser/prod/excalidraw-assets/{chunk-GCHQBOKV.js → chunk-635MQ3CK.js} +1 -1
  63. package/dist/browser/prod/excalidraw-assets/{chunk-P5M3G2RP.js → chunk-AIKXYJX3.js} +1 -1
  64. package/dist/browser/prod/excalidraw-assets/{chunk-E2YLWFZX.js → chunk-CR7VMNWC.js} +1 -1
  65. package/dist/browser/prod/excalidraw-assets/chunk-F3JN4YS2.js +61 -0
  66. package/dist/browser/prod/excalidraw-assets/{chunk-WEYK4A2L.js → chunk-FFF2CSVG.js} +1 -1
  67. package/dist/browser/prod/excalidraw-assets/{chunk-R3HAIP6R.js → chunk-G4WDCSPE.js} +1 -1
  68. package/dist/browser/prod/excalidraw-assets/{chunk-HFOXJM22.js → chunk-HKZSHFLX.js} +1 -1
  69. package/dist/browser/prod/excalidraw-assets/{chunk-XIMFFJTE.js → chunk-IKCDYWMW.js} +1 -1
  70. package/dist/browser/prod/excalidraw-assets/{chunk-AHLLBBVJ.js → chunk-L5DS24G6.js} +1 -1
  71. package/dist/browser/prod/excalidraw-assets/{chunk-CQJF3C6G.js → chunk-MUNOKHUD.js} +1 -1
  72. package/dist/browser/prod/excalidraw-assets/{chunk-CTYINSWT.js → chunk-MXFM2KIK.js} +5 -5
  73. package/dist/browser/prod/excalidraw-assets/{chunk-NI6SYCUG.js → chunk-QOQYOOQ4.js} +1 -1
  74. package/dist/browser/prod/excalidraw-assets/{chunk-I2PZFXTK.js → chunk-ZTIWFPBM.js} +21 -21
  75. package/dist/browser/prod/excalidraw-assets/{classDiagram-30eddba6-IEJXXCVX.js → classDiagram-30eddba6-BCUTAUMD.js} +1 -1
  76. package/dist/browser/prod/excalidraw-assets/{classDiagram-v2-f2df5561-7LZDSWOS.js → classDiagram-v2-f2df5561-6SOXSGQ2.js} +1 -1
  77. package/dist/browser/prod/excalidraw-assets/dist-NLUQPPQQ.js +7 -0
  78. package/dist/browser/prod/excalidraw-assets/en-SQSS4H2K.js +1 -0
  79. package/dist/browser/prod/excalidraw-assets/{erDiagram-47591fe2-E5V666CF.js → erDiagram-47591fe2-RE6HB7RM.js} +1 -1
  80. package/dist/browser/prod/excalidraw-assets/{flowDiagram-5540d9b9-GMBRCYVF.js → flowDiagram-5540d9b9-ZNJZBERW.js} +1 -1
  81. package/dist/browser/prod/excalidraw-assets/{flowDiagram-v2-3b53844e-Z4HUWP6B.js → flowDiagram-v2-3b53844e-LY44JLQJ.js} +1 -1
  82. package/dist/browser/prod/excalidraw-assets/{flowchart-elk-definition-5fe447d6-5ZCYTX5N.js → flowchart-elk-definition-5fe447d6-TMTJ6Z7O.js} +1 -1
  83. package/dist/browser/prod/excalidraw-assets/{ganttDiagram-9a3bba1f-WM32OMT5.js → ganttDiagram-9a3bba1f-5O6EA6LX.js} +1 -1
  84. package/dist/browser/prod/excalidraw-assets/{gitGraphDiagram-96e6b4ee-CAKZ2U6E.js → gitGraphDiagram-96e6b4ee-UHYNM5DI.js} +1 -1
  85. package/dist/browser/prod/excalidraw-assets/image-CMH7O36X.js +1 -0
  86. package/dist/browser/prod/excalidraw-assets/{infoDiagram-bcd20f53-MUIKXGC4.js → infoDiagram-bcd20f53-BP77NQEH.js} +1 -1
  87. package/dist/browser/prod/excalidraw-assets/{journeyDiagram-4fe6b3dc-NYRV4HK2.js → journeyDiagram-4fe6b3dc-XMGKCMES.js} +1 -1
  88. package/dist/browser/prod/excalidraw-assets/{mindmap-definition-f354de21-MY55DRSM.js → mindmap-definition-f354de21-ZQRRBRWF.js} +1 -1
  89. package/dist/browser/prod/excalidraw-assets/{pieDiagram-79897490-47L6J6L2.js → pieDiagram-79897490-IGXEC2KX.js} +1 -1
  90. package/dist/browser/prod/excalidraw-assets/{quadrantDiagram-62f64e94-DF5C2GDT.js → quadrantDiagram-62f64e94-WTHHDYJL.js} +1 -1
  91. package/dist/browser/prod/excalidraw-assets/{requirementDiagram-05bf5f74-C4IMUBDN.js → requirementDiagram-05bf5f74-MV4OFRVW.js} +1 -1
  92. package/dist/browser/prod/excalidraw-assets/{sankeyDiagram-97764748-YHW7EUST.js → sankeyDiagram-97764748-ZGYUHEJT.js} +1 -1
  93. package/dist/browser/prod/excalidraw-assets/{sequenceDiagram-acc0e65c-H3XEHT32.js → sequenceDiagram-acc0e65c-IBSENK6W.js} +1 -1
  94. package/dist/browser/prod/excalidraw-assets/{stateDiagram-0ff1cf1a-Z5WB6Q3P.js → stateDiagram-0ff1cf1a-DB73XNZH.js} +1 -1
  95. package/dist/browser/prod/excalidraw-assets/{stateDiagram-v2-9a9d610d-T7OZETQC.js → stateDiagram-v2-9a9d610d-2OOBUPNR.js} +1 -1
  96. package/dist/browser/prod/excalidraw-assets/{timeline-definition-fea2a41d-VVC22BWF.js → timeline-definition-fea2a41d-P3NQQVDU.js} +1 -1
  97. package/dist/browser/prod/excalidraw-assets/{xychartDiagram-ab372869-JAXODQF7.js → xychartDiagram-ab372869-HI3XLK3Y.js} +1 -1
  98. package/dist/browser/prod/index.css +1 -1
  99. package/dist/browser/prod/index.js +70 -51
  100. package/dist/dev/CascadiaMono-Regular-NWCXRPUG.woff2 +0 -0
  101. package/dist/dev/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  102. package/dist/dev/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  103. package/dist/dev/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  104. package/dist/dev/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  105. package/dist/{prod/en-II4GK66F.json → dev/en-HDAPS7XK.json} +41 -9
  106. package/dist/dev/index.css +668 -191
  107. package/dist/dev/index.css.map +3 -3
  108. package/dist/dev/index.js +22026 -16675
  109. package/dist/dev/index.js.map +4 -4
  110. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +22 -10
  111. package/dist/excalidraw/actions/actionAddToLibrary.js +4 -3
  112. package/dist/excalidraw/actions/actionAlign.d.ts +22 -22
  113. package/dist/excalidraw/actions/actionAlign.js +7 -6
  114. package/dist/excalidraw/actions/actionBoundText.d.ts +22 -14
  115. package/dist/excalidraw/actions/actionBoundText.js +11 -5
  116. package/dist/excalidraw/actions/actionCanvas.d.ts +124 -76
  117. package/dist/excalidraw/actions/actionCanvas.js +20 -15
  118. package/dist/excalidraw/actions/actionClipboard.d.ts +66 -38
  119. package/dist/excalidraw/actions/actionClipboard.js +14 -13
  120. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +28 -16
  121. package/dist/excalidraw/actions/actionDeleteSelected.js +6 -3
  122. package/dist/excalidraw/actions/actionDistribute.d.ts +10 -10
  123. package/dist/excalidraw/actions/actionDistribute.js +3 -2
  124. package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +7 -8
  125. package/dist/excalidraw/actions/actionDuplicateSelection.js +7 -3
  126. package/dist/excalidraw/actions/actionElementLock.d.ts +21 -13
  127. package/dist/excalidraw/actions/actionElementLock.js +3 -2
  128. package/dist/excalidraw/actions/actionExport.d.ts +87 -51
  129. package/dist/excalidraw/actions/actionExport.js +15 -11
  130. package/dist/excalidraw/actions/actionFinalize.d.ts +21 -13
  131. package/dist/excalidraw/actions/actionFinalize.js +9 -5
  132. package/dist/excalidraw/actions/actionFlip.d.ts +10 -10
  133. package/dist/excalidraw/actions/actionFlip.js +12 -12
  134. package/dist/excalidraw/actions/actionFrame.d.ts +193 -24
  135. package/dist/excalidraw/actions/actionFrame.js +7 -6
  136. package/dist/excalidraw/actions/actionGroup.d.ts +28 -20
  137. package/dist/excalidraw/actions/actionGroup.js +9 -11
  138. package/dist/excalidraw/actions/actionHistory.d.ts +4 -3
  139. package/dist/excalidraw/actions/actionHistory.js +27 -28
  140. package/dist/excalidraw/actions/actionLinearEditor.d.ts +12 -6
  141. package/dist/excalidraw/actions/actionLinearEditor.js +21 -5
  142. package/dist/excalidraw/actions/actionLink.d.ts +11 -7
  143. package/dist/excalidraw/actions/actionLink.js +2 -1
  144. package/dist/excalidraw/actions/actionMenu.d.ts +26 -14
  145. package/dist/excalidraw/actions/actionMenu.js +4 -3
  146. package/dist/excalidraw/actions/actionNavigate.d.ts +16 -8
  147. package/dist/excalidraw/actions/actionNavigate.js +3 -2
  148. package/dist/excalidraw/actions/actionProperties.d.ts +272 -62
  149. package/dist/excalidraw/actions/actionProperties.js +261 -59
  150. package/dist/excalidraw/actions/actionSelectAll.d.ts +11 -7
  151. package/dist/excalidraw/actions/actionSelectAll.js +2 -1
  152. package/dist/excalidraw/actions/actionStyles.d.ts +17 -13
  153. package/dist/excalidraw/actions/actionStyles.js +7 -5
  154. package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  155. package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
  156. package/dist/excalidraw/actions/actionToggleGridMode.d.ts +13 -7
  157. package/dist/excalidraw/actions/actionToggleGridMode.js +6 -2
  158. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +10 -6
  159. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.js +2 -1
  160. package/dist/excalidraw/actions/actionToggleStats.d.ts +11 -6
  161. package/dist/excalidraw/actions/actionToggleStats.js +6 -4
  162. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +10 -6
  163. package/dist/excalidraw/actions/actionToggleViewMode.js +2 -1
  164. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +10 -6
  165. package/dist/excalidraw/actions/actionToggleZenMode.js +2 -1
  166. package/dist/excalidraw/actions/actionZindex.d.ts +23 -19
  167. package/dist/excalidraw/actions/actionZindex.js +9 -4
  168. package/dist/excalidraw/actions/manager.d.ts +5 -5
  169. package/dist/excalidraw/actions/register.d.ts +1 -1
  170. package/dist/excalidraw/actions/shortcuts.d.ts +2 -2
  171. package/dist/excalidraw/actions/shortcuts.js +1 -1
  172. package/dist/excalidraw/actions/types.d.ts +8 -8
  173. package/dist/excalidraw/align.d.ts +1 -1
  174. package/dist/excalidraw/analytics.js +9 -7
  175. package/dist/excalidraw/animated-trail.d.ts +2 -2
  176. package/dist/excalidraw/appState.d.ts +9 -6
  177. package/dist/excalidraw/appState.js +8 -3
  178. package/dist/excalidraw/change.d.ts +191 -0
  179. package/dist/excalidraw/change.js +901 -0
  180. package/dist/excalidraw/charts.d.ts +1 -1
  181. package/dist/excalidraw/clients.d.ts +2 -2
  182. package/dist/excalidraw/clients.js +1 -1
  183. package/dist/excalidraw/clipboard.d.ts +3 -3
  184. package/dist/excalidraw/colors.d.ts +1 -1
  185. package/dist/excalidraw/components/Actions.d.ts +3 -3
  186. package/dist/excalidraw/components/Actions.js +10 -7
  187. package/dist/excalidraw/components/App.d.ts +26 -16
  188. package/dist/excalidraw/components/App.js +490 -217
  189. package/dist/excalidraw/components/ButtonIcon.d.ts +15 -0
  190. package/dist/excalidraw/components/ButtonIcon.js +8 -0
  191. package/dist/excalidraw/components/ButtonIconSelect.js +2 -3
  192. package/dist/excalidraw/components/ButtonSeparator.d.ts +2 -0
  193. package/dist/excalidraw/components/ButtonSeparator.js +7 -0
  194. package/dist/excalidraw/components/CheckboxItem.js +1 -1
  195. package/dist/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
  196. package/dist/excalidraw/components/ColorPicker/ColorInput.js +1 -1
  197. package/dist/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  198. package/dist/excalidraw/components/ColorPicker/ColorPicker.js +48 -80
  199. package/dist/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
  200. package/dist/excalidraw/components/ColorPicker/Picker.js +1 -1
  201. package/dist/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  202. package/dist/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
  203. package/dist/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  204. package/dist/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  205. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  206. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
  207. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  208. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.js +1 -1
  209. package/dist/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  210. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +33 -18
  211. package/dist/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
  212. package/dist/excalidraw/components/CommandPalette/types.d.ts +3 -3
  213. package/dist/excalidraw/components/ConfirmDialog.d.ts +1 -1
  214. package/dist/excalidraw/components/ContextMenu.d.ts +2 -2
  215. package/dist/excalidraw/components/ContextMenu.js +2 -2
  216. package/dist/excalidraw/components/DarkModeToggle.d.ts +1 -1
  217. package/dist/excalidraw/components/DarkModeToggle.js +3 -1
  218. package/dist/excalidraw/components/DefaultSidebar.d.ts +2 -2
  219. package/dist/excalidraw/components/Dialog.js +1 -1
  220. package/dist/excalidraw/components/DialogActionButton.d.ts +1 -1
  221. package/dist/excalidraw/components/EyeDropper.d.ts +2 -2
  222. package/dist/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  223. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  224. package/dist/excalidraw/components/FontPicker/FontPicker.d.ts +21 -0
  225. package/dist/excalidraw/components/FontPicker/FontPicker.js +49 -0
  226. package/dist/excalidraw/components/FontPicker/FontPickerList.d.ts +25 -0
  227. package/dist/excalidraw/components/FontPicker/FontPickerList.js +119 -0
  228. package/dist/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +7 -0
  229. package/dist/excalidraw/components/FontPicker/FontPickerTrigger.js +13 -0
  230. package/dist/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -0
  231. package/dist/excalidraw/components/FontPicker/keyboardNavHandlers.js +38 -0
  232. package/dist/excalidraw/components/HelpDialog.js +9 -7
  233. package/dist/excalidraw/components/HintViewer.d.ts +1 -1
  234. package/dist/excalidraw/components/IconPicker.js +2 -2
  235. package/dist/excalidraw/components/ImageExportDialog.d.ts +1 -1
  236. package/dist/excalidraw/components/InitializeApp.d.ts +2 -2
  237. package/dist/excalidraw/components/JSONExportDialog.d.ts +3 -3
  238. package/dist/excalidraw/components/LayerUI.d.ts +4 -4
  239. package/dist/excalidraw/components/LayerUI.js +10 -7
  240. package/dist/excalidraw/components/LibraryMenu.d.ts +2 -2
  241. package/dist/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
  242. package/dist/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  243. package/dist/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
  244. package/dist/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  245. package/dist/excalidraw/components/LibraryMenuSection.d.ts +5 -4
  246. package/dist/excalidraw/components/LibraryUnit.d.ts +2 -2
  247. package/dist/excalidraw/components/LoadingMessage.d.ts +1 -1
  248. package/dist/excalidraw/components/MagicSettings.js +2 -2
  249. package/dist/excalidraw/components/MobileMenu.d.ts +3 -3
  250. package/dist/excalidraw/components/MobileMenu.js +2 -6
  251. package/dist/excalidraw/components/Modal.d.ts +1 -1
  252. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  253. package/dist/excalidraw/components/PasteChartDialog.d.ts +1 -1
  254. package/dist/excalidraw/components/PasteChartDialog.js +1 -1
  255. package/dist/excalidraw/components/PropertiesPopover.d.ts +15 -0
  256. package/dist/excalidraw/components/PropertiesPopover.js +31 -0
  257. package/dist/excalidraw/components/PublishLibrary.d.ts +1 -1
  258. package/dist/excalidraw/components/QuickSearch.d.ts +9 -0
  259. package/dist/excalidraw/components/QuickSearch.js +8 -0
  260. package/dist/excalidraw/components/RadioGroup.d.ts +2 -1
  261. package/dist/excalidraw/components/RadioGroup.js +1 -1
  262. package/dist/excalidraw/components/SVGLayer.d.ts +1 -1
  263. package/dist/excalidraw/components/ScrollableList.d.ts +9 -0
  264. package/dist/excalidraw/components/ScrollableList.js +8 -0
  265. package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
  266. package/dist/excalidraw/components/Sidebar/Sidebar.js +1 -1
  267. package/dist/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
  268. package/dist/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
  269. package/dist/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  270. package/dist/excalidraw/components/Sidebar/common.d.ts +1 -1
  271. package/dist/excalidraw/components/Stack.d.ts +2 -2
  272. package/dist/excalidraw/components/Stats/Angle.d.ts +12 -0
  273. package/dist/excalidraw/components/Stats/Angle.js +52 -0
  274. package/dist/excalidraw/components/Stats/Collapsible.d.ts +9 -0
  275. package/dist/excalidraw/components/Stats/Collapsible.js +12 -0
  276. package/dist/excalidraw/components/Stats/Dimension.d.ts +12 -0
  277. package/dist/excalidraw/components/Stats/Dimension.js +67 -0
  278. package/dist/excalidraw/components/Stats/DragInput.d.ts +32 -0
  279. package/dist/excalidraw/components/Stats/DragInput.js +174 -0
  280. package/dist/excalidraw/components/Stats/FontSize.d.ts +12 -0
  281. package/dist/excalidraw/components/Stats/FontSize.js +50 -0
  282. package/dist/excalidraw/components/Stats/MultiAngle.d.ts +12 -0
  283. package/dist/excalidraw/components/Stats/MultiAngle.js +66 -0
  284. package/dist/excalidraw/components/Stats/MultiDimension.d.ts +15 -0
  285. package/dist/excalidraw/components/Stats/MultiDimension.js +197 -0
  286. package/dist/excalidraw/components/Stats/MultiFontSize.d.ts +13 -0
  287. package/dist/excalidraw/components/Stats/MultiFontSize.js +72 -0
  288. package/dist/excalidraw/components/Stats/MultiPosition.d.ts +15 -0
  289. package/dist/excalidraw/components/Stats/MultiPosition.js +100 -0
  290. package/dist/excalidraw/components/Stats/Position.d.ts +13 -0
  291. package/dist/excalidraw/components/Stats/Position.js +39 -0
  292. package/dist/excalidraw/components/Stats/index.d.ts +16 -0
  293. package/dist/excalidraw/components/Stats/index.js +78 -0
  294. package/dist/excalidraw/components/Stats/utils.d.ts +25 -0
  295. package/dist/excalidraw/components/Stats/utils.js +158 -0
  296. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
  297. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.js +6 -2
  298. package/dist/excalidraw/components/TTDDialog/TTDDialog.js +2 -2
  299. package/dist/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
  300. package/dist/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
  301. package/dist/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
  302. package/dist/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
  303. package/dist/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  304. package/dist/excalidraw/components/TTDDialog/common.d.ts +5 -5
  305. package/dist/excalidraw/components/TTDDialog/common.js +3 -7
  306. package/dist/excalidraw/components/TextField.d.ts +1 -1
  307. package/dist/excalidraw/components/Toast.d.ts +1 -1
  308. package/dist/excalidraw/components/ToolButton.d.ts +4 -2
  309. package/dist/excalidraw/components/ToolButton.js +1 -1
  310. package/dist/excalidraw/components/Trans.d.ts +1 -1
  311. package/dist/excalidraw/components/UserList.d.ts +1 -1
  312. package/dist/excalidraw/components/UserList.js +22 -22
  313. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +5 -3
  314. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +5 -2
  315. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
  316. package/dist/excalidraw/components/canvases/StaticCanvas.js +3 -2
  317. package/dist/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +12 -3
  318. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +24 -4
  319. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +55 -14
  320. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +2 -1
  321. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContent.js +2 -2
  322. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -0
  323. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.js +9 -0
  324. package/dist/excalidraw/components/dropdownMenu/common.d.ts +1 -1
  325. package/dist/excalidraw/components/dropdownMenu/common.js +3 -2
  326. package/dist/excalidraw/components/footer/Footer.d.ts +2 -2
  327. package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  328. package/dist/excalidraw/components/hyperlink/Hyperlink.js +3 -3
  329. package/dist/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  330. package/dist/excalidraw/components/hyperlink/helpers.js +2 -3
  331. package/dist/excalidraw/components/icons.d.ts +10 -1
  332. package/dist/excalidraw/components/icons.js +27 -5
  333. package/dist/excalidraw/components/main-menu/DefaultItems.d.ts +12 -2
  334. package/dist/excalidraw/components/main-menu/DefaultItems.js +38 -7
  335. package/dist/excalidraw/components/main-menu/MainMenu.d.ts +12 -3
  336. package/dist/excalidraw/components/welcome-screen/WelcomeScreen.Center.js +2 -2
  337. package/dist/excalidraw/components/welcome-screen/WelcomeScreen.Hints.js +3 -3
  338. package/dist/excalidraw/constants.d.ts +24 -6
  339. package/dist/excalidraw/constants.js +29 -7
  340. package/dist/excalidraw/context/ui-appState.d.ts +1 -1
  341. package/dist/excalidraw/cursor.d.ts +1 -1
  342. package/dist/excalidraw/data/EditorLocalStorage.d.ts +2 -2
  343. package/dist/excalidraw/data/blob.d.ts +5 -5
  344. package/dist/excalidraw/data/filesystem.d.ts +2 -1
  345. package/dist/excalidraw/data/index.d.ts +4 -4
  346. package/dist/excalidraw/data/json.d.ts +3 -3
  347. package/dist/excalidraw/data/library.d.ts +3 -3
  348. package/dist/excalidraw/data/magic.d.ts +3 -3
  349. package/dist/excalidraw/data/magic.js +2 -1
  350. package/dist/excalidraw/data/reconcile.d.ts +6 -0
  351. package/dist/excalidraw/data/reconcile.js +49 -0
  352. package/dist/excalidraw/data/resave.d.ts +2 -2
  353. package/dist/excalidraw/data/restore.d.ts +5 -5
  354. package/dist/excalidraw/data/restore.js +25 -10
  355. package/dist/excalidraw/data/transform.d.ts +4 -4
  356. package/dist/excalidraw/data/transform.js +15 -5
  357. package/dist/excalidraw/data/types.d.ts +3 -3
  358. package/dist/excalidraw/data/url.d.ts +1 -0
  359. package/dist/excalidraw/data/url.js +4 -1
  360. package/dist/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
  361. package/dist/excalidraw/element/binding.d.ts +49 -8
  362. package/dist/excalidraw/element/binding.js +716 -153
  363. package/dist/excalidraw/element/bounds.d.ts +3 -4
  364. package/dist/excalidraw/element/bounds.js +0 -3
  365. package/dist/excalidraw/element/collision.d.ts +14 -19
  366. package/dist/excalidraw/element/collision.js +36 -713
  367. package/dist/excalidraw/element/containerCache.d.ts +1 -1
  368. package/dist/excalidraw/element/dragElements.d.ts +4 -4
  369. package/dist/excalidraw/element/dragElements.js +27 -3
  370. package/dist/excalidraw/element/embeddable.d.ts +15 -8
  371. package/dist/excalidraw/element/embeddable.js +98 -62
  372. package/dist/excalidraw/element/image.d.ts +2 -2
  373. package/dist/excalidraw/element/index.d.ts +2 -3
  374. package/dist/excalidraw/element/index.js +1 -2
  375. package/dist/excalidraw/element/linearElementEditor.d.ts +18 -14
  376. package/dist/excalidraw/element/linearElementEditor.js +12 -7
  377. package/dist/excalidraw/element/mutateElement.d.ts +4 -5
  378. package/dist/excalidraw/element/mutateElement.js +5 -3
  379. package/dist/excalidraw/element/newElement.d.ts +6 -9
  380. package/dist/excalidraw/element/newElement.js +21 -17
  381. package/dist/excalidraw/element/resizeElements.d.ts +12 -4
  382. package/dist/excalidraw/element/resizeElements.js +174 -98
  383. package/dist/excalidraw/element/resizeTest.d.ts +7 -7
  384. package/dist/excalidraw/element/resizeTest.js +53 -8
  385. package/dist/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
  386. package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
  387. package/dist/excalidraw/element/sizeHelpers.js +3 -0
  388. package/dist/excalidraw/element/sortElements.d.ts +1 -1
  389. package/dist/excalidraw/element/textElement.d.ts +7 -30
  390. package/dist/excalidraw/element/textElement.js +68 -144
  391. package/dist/excalidraw/element/textWysiwyg.d.ts +12 -6
  392. package/dist/excalidraw/element/textWysiwyg.js +75 -62
  393. package/dist/excalidraw/element/transformHandles.d.ts +24 -6
  394. package/dist/excalidraw/element/transformHandles.js +22 -11
  395. package/dist/excalidraw/element/typeChecks.d.ts +5 -5
  396. package/dist/excalidraw/element/types.d.ts +33 -10
  397. package/dist/excalidraw/emitter.d.ts +1 -1
  398. package/dist/excalidraw/errors.d.ts +3 -0
  399. package/dist/excalidraw/errors.js +3 -0
  400. package/dist/excalidraw/fonts/ExcalidrawFont.d.ts +17 -0
  401. package/dist/excalidraw/fonts/ExcalidrawFont.js +50 -0
  402. package/dist/excalidraw/fonts/index.d.ts +45 -0
  403. package/dist/excalidraw/fonts/index.js +202 -0
  404. package/dist/excalidraw/fonts/metadata.d.ts +34 -0
  405. package/dist/excalidraw/fonts/metadata.js +90 -0
  406. package/dist/excalidraw/fractionalIndex.d.ts +40 -0
  407. package/dist/excalidraw/fractionalIndex.js +239 -0
  408. package/dist/excalidraw/frame.d.ts +4 -4
  409. package/dist/excalidraw/gatransforms.d.ts +1 -1
  410. package/dist/excalidraw/gesture.d.ts +1 -1
  411. package/dist/excalidraw/groups.d.ts +6 -4
  412. package/dist/excalidraw/groups.js +17 -0
  413. package/dist/excalidraw/history.d.ts +35 -47
  414. package/dist/excalidraw/history.js +100 -167
  415. package/dist/excalidraw/hooks/useCreatePortalContainer.js +2 -1
  416. package/dist/excalidraw/hooks/useEmitter.d.ts +2 -0
  417. package/dist/excalidraw/hooks/useEmitter.js +13 -0
  418. package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  419. package/dist/excalidraw/i18n.d.ts +1 -1
  420. package/dist/excalidraw/index.d.ts +4 -2
  421. package/dist/excalidraw/index.js +5 -3
  422. package/dist/excalidraw/jotai.d.ts +1 -1
  423. package/dist/excalidraw/laser-trails.d.ts +3 -2
  424. package/dist/excalidraw/locales/en.json +41 -9
  425. package/dist/excalidraw/math.d.ts +4 -2
  426. package/dist/excalidraw/math.js +6 -0
  427. package/dist/excalidraw/mermaid.d.ts +2 -0
  428. package/dist/excalidraw/mermaid.js +28 -0
  429. package/dist/excalidraw/points.d.ts +1 -1
  430. package/dist/excalidraw/queue.d.ts +1 -1
  431. package/dist/excalidraw/renderer/helpers.d.ts +2 -2
  432. package/dist/excalidraw/renderer/helpers.js +2 -2
  433. package/dist/excalidraw/renderer/interactiveScene.d.ts +2 -2
  434. package/dist/excalidraw/renderer/interactiveScene.js +38 -11
  435. package/dist/excalidraw/renderer/renderElement.d.ts +6 -4
  436. package/dist/excalidraw/renderer/renderElement.js +81 -61
  437. package/dist/excalidraw/renderer/renderSnaps.d.ts +1 -1
  438. package/dist/excalidraw/renderer/renderSnaps.js +2 -1
  439. package/dist/excalidraw/renderer/staticScene.d.ts +1 -1
  440. package/dist/excalidraw/renderer/staticScene.js +14 -3
  441. package/dist/excalidraw/renderer/staticSvgScene.d.ts +4 -4
  442. package/dist/excalidraw/renderer/staticSvgScene.js +12 -1
  443. package/dist/excalidraw/scene/Renderer.d.ts +4 -4
  444. package/dist/excalidraw/scene/Renderer.js +2 -3
  445. package/dist/excalidraw/scene/Scene.d.ts +22 -12
  446. package/dist/excalidraw/scene/Scene.js +47 -23
  447. package/dist/excalidraw/scene/Shape.d.ts +1 -1
  448. package/dist/excalidraw/scene/ShapeCache.d.ts +4 -4
  449. package/dist/excalidraw/scene/comparisons.d.ts +2 -2
  450. package/dist/excalidraw/scene/export.d.ts +3 -2
  451. package/dist/excalidraw/scene/export.js +40 -29
  452. package/dist/excalidraw/scene/scroll.d.ts +2 -2
  453. package/dist/excalidraw/scene/scrollbars.d.ts +3 -3
  454. package/dist/excalidraw/scene/selection.d.ts +2 -2
  455. package/dist/excalidraw/scene/types.d.ts +7 -8
  456. package/dist/excalidraw/scene/zoom.d.ts +1 -1
  457. package/dist/excalidraw/shapes.d.ts +7 -0
  458. package/dist/excalidraw/shapes.js +40 -0
  459. package/dist/excalidraw/snapping.d.ts +4 -4
  460. package/dist/excalidraw/snapping.js +2 -1
  461. package/dist/excalidraw/store.d.ts +129 -0
  462. package/dist/excalidraw/store.js +296 -0
  463. package/dist/excalidraw/types.d.ts +45 -22
  464. package/dist/excalidraw/utils.d.ts +20 -4
  465. package/dist/excalidraw/utils.js +29 -0
  466. package/dist/excalidraw/zindex.d.ts +4 -4
  467. package/dist/excalidraw/zindex.js +9 -13
  468. package/dist/prod/CascadiaMono-Regular-NWCXRPUG.woff2 +0 -0
  469. package/dist/prod/ComicShanns-Regular-6TOETDFT.woff2 +0 -0
  470. package/dist/prod/Excalifont-Regular-CPKEUDVM.woff2 +0 -0
  471. package/dist/prod/LiberationSans-Regular-ZQD73GJM.woff2 +0 -0
  472. package/dist/prod/Virgil-Regular-YHAB2VGJ.woff2 +0 -0
  473. package/dist/{dev/en-II4GK66F.json → prod/en-HDAPS7XK.json} +41 -9
  474. package/dist/prod/index.css +1 -1
  475. package/dist/prod/index.js +47 -53
  476. package/dist/utils/bbox.d.ts +2 -2
  477. package/dist/utils/collision.d.ts +4 -0
  478. package/dist/utils/collision.js +48 -0
  479. package/dist/utils/export.d.ts +4 -3
  480. package/dist/utils/export.js +2 -1
  481. package/dist/utils/geometry/geometry.d.ts +71 -0
  482. package/dist/utils/geometry/geometry.js +674 -0
  483. package/dist/utils/geometry/shape.d.ts +56 -0
  484. package/dist/utils/geometry/shape.js +168 -0
  485. package/dist/utils/index.d.ts +1 -0
  486. package/dist/utils/index.js +1 -0
  487. package/dist/utils/withinBounds.d.ts +1 -1
  488. package/history.ts +163 -218
  489. package/package.json +3 -2
  490. package/dist/browser/dev/Cascadia-CYPE3OJC.woff2 +0 -0
  491. package/dist/browser/dev/Virgil-UZN6MUT6.woff2 +0 -0
  492. package/dist/browser/dev/excalidraw-assets-dev/chunk-AK7SWNLN.js.map +0 -7
  493. package/dist/browser/dev/excalidraw-assets-dev/chunk-RWZVJAQU.js.map +0 -7
  494. package/dist/browser/dev/excalidraw-assets-dev/chunk-Z3PH3V2B.js.map +0 -7
  495. package/dist/browser/dev/excalidraw-assets-dev/dist-Z46EOVOL.js.map +0 -7
  496. package/dist/browser/dev/excalidraw-assets-dev/image-OFRRV5MB.css.map +0 -7
  497. package/dist/browser/prod/Cascadia-CYPE3OJC.woff2 +0 -0
  498. package/dist/browser/prod/Virgil-UZN6MUT6.woff2 +0 -0
  499. package/dist/browser/prod/excalidraw-assets/chunk-LL4GORAM.js +0 -55
  500. package/dist/browser/prod/excalidraw-assets/dist-PIPZXALV.js +0 -6
  501. package/dist/browser/prod/excalidraw-assets/en-LROPV2RN.js +0 -1
  502. package/dist/browser/prod/excalidraw-assets/image-EFCJDJH3.js +0 -1
  503. package/dist/dev/Cascadia-CYPE3OJC.woff2 +0 -0
  504. package/dist/dev/Virgil-UZN6MUT6.woff2 +0 -0
  505. package/dist/excalidraw/components/Stats.d.ts +0 -11
  506. package/dist/excalidraw/components/Stats.js +0 -13
  507. package/dist/excalidraw/scene/Fonts.d.ts +0 -21
  508. package/dist/excalidraw/scene/Fonts.js +0 -72
  509. package/dist/prod/Cascadia-CYPE3OJC.woff2 +0 -0
  510. package/dist/prod/Virgil-UZN6MUT6.woff2 +0 -0
  511. /package/dist/browser/dev/{Assistant-Bold-ZDZZ6JHA.woff2 → excalidraw-assets-dev/Assistant-Bold-ZDZZ6JHA.woff2} +0 -0
  512. /package/dist/browser/dev/{Assistant-Medium-DZ25RZU3.woff2 → excalidraw-assets-dev/Assistant-Medium-DZ25RZU3.woff2} +0 -0
  513. /package/dist/browser/dev/{Assistant-Regular-PLF2XOGW.woff2 → excalidraw-assets-dev/Assistant-Regular-PLF2XOGW.woff2} +0 -0
  514. /package/dist/browser/dev/{Assistant-SemiBold-CZ5MX6FK.woff2 → excalidraw-assets-dev/Assistant-SemiBold-CZ5MX6FK.woff2} +0 -0
  515. /package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js.map → blockDiagram-91b80b7a-H47FTXHA.js.map} +0 -0
  516. /package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js.map → c4Diagram-b2a90758-NNJK6GKC.js.map} +0 -0
  517. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js.map → chunk-4KQVEBHW.js.map} +0 -0
  518. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js.map → chunk-53YI56GV.js.map} +0 -0
  519. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js.map → chunk-A2WCJI4I.js.map} +0 -0
  520. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js.map → chunk-EFLPX7NE.js.map} +0 -0
  521. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js.map → chunk-JYIQCNWV.js.map} +0 -0
  522. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js.map → chunk-LVIQQW6F.js.map} +0 -0
  523. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js.map → chunk-PXLO3FOU.js.map} +0 -0
  524. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js.map → chunk-TO2AW5PW.js.map} +0 -0
  525. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js.map → chunk-VURILHLY.js.map} +0 -0
  526. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js.map → chunk-ZAYGSUHF.js.map} +0 -0
  527. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js.map → classDiagram-30eddba6-CUYIJICN.js.map} +0 -0
  528. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js.map → classDiagram-v2-f2df5561-K6WW6K73.js.map} +0 -0
  529. /package/dist/browser/dev/excalidraw-assets-dev/{en-5TCZHGGJ.js.map → en-RAFN4KPD.js.map} +0 -0
  530. /package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js.map → erDiagram-47591fe2-XGAD7EEP.js.map} +0 -0
  531. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js.map → flowDiagram-5540d9b9-B6EOVNNO.js.map} +0 -0
  532. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js.map → flowDiagram-v2-3b53844e-NUG24FJH.js.map} +0 -0
  533. /package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js.map → flowchart-elk-definition-5fe447d6-25Y7PCBL.js.map} +0 -0
  534. /package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js.map → ganttDiagram-9a3bba1f-GNL6ZDTC.js.map} +0 -0
  535. /package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js.map → gitGraphDiagram-96e6b4ee-HNW52NVO.js.map} +0 -0
  536. /package/dist/browser/dev/excalidraw-assets-dev/{image-EDKQZH7Z.js.map → image-ZNLDWTK3.js.map} +0 -0
  537. /package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js.map → infoDiagram-bcd20f53-FWEUVFLT.js.map} +0 -0
  538. /package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js.map → journeyDiagram-4fe6b3dc-RZIUI7UG.js.map} +0 -0
  539. /package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js.map → mindmap-definition-f354de21-GBVN45GU.js.map} +0 -0
  540. /package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js.map → pieDiagram-79897490-ECENNII6.js.map} +0 -0
  541. /package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js.map → quadrantDiagram-62f64e94-ZMEOFVNL.js.map} +0 -0
  542. /package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js.map → requirementDiagram-05bf5f74-FHZSFHCR.js.map} +0 -0
  543. /package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js.map → sankeyDiagram-97764748-VDKIKTA6.js.map} +0 -0
  544. /package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js.map → sequenceDiagram-acc0e65c-6JUSPVKX.js.map} +0 -0
  545. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js.map → stateDiagram-0ff1cf1a-L3AKWENF.js.map} +0 -0
  546. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js.map → stateDiagram-v2-9a9d610d-NU3GGMCH.js.map} +0 -0
  547. /package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js.map → timeline-definition-fea2a41d-JGP7XCHW.js.map} +0 -0
  548. /package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js.map → xychartDiagram-ab372869-HLFHHF2I.js.map} +0 -0
  549. /package/dist/browser/prod/{Assistant-Bold-ZDZZ6JHA.woff2 → excalidraw-assets/Assistant-Bold-ZDZZ6JHA.woff2} +0 -0
  550. /package/dist/browser/prod/{Assistant-Medium-DZ25RZU3.woff2 → excalidraw-assets/Assistant-Medium-DZ25RZU3.woff2} +0 -0
  551. /package/dist/browser/prod/{Assistant-Regular-PLF2XOGW.woff2 → excalidraw-assets/Assistant-Regular-PLF2XOGW.woff2} +0 -0
  552. /package/dist/browser/prod/{Assistant-SemiBold-CZ5MX6FK.woff2 → excalidraw-assets/Assistant-SemiBold-CZ5MX6FK.woff2} +0 -0
@@ -83,7 +83,7 @@ export const TrashIcon = createIcon(_jsx("path", { strokeWidth: "1.25", d: "M3.3
83
83
  export const EmbedIcon = createIcon(_jsxs("g", { strokeWidth: "1.25", children: [_jsx("polyline", { points: "12 16 18 10 12 4" }), _jsx("polyline", { points: "8 4 2 10 8 16" })] }), modifiedTablerIconProps);
84
84
  export const DuplicateIcon = createIcon(_jsxs("g", { strokeWidth: "1.25", children: [_jsx("path", { d: "M14.375 6.458H8.958a2.5 2.5 0 0 0-2.5 2.5v5.417a2.5 2.5 0 0 0 2.5 2.5h5.417a2.5 2.5 0 0 0 2.5-2.5V8.958a2.5 2.5 0 0 0-2.5-2.5Z" }), _jsx("path", { clipRule: "evenodd", d: "M11.667 3.125c.517 0 .986.21 1.325.55.34.338.55.807.55 1.325v1.458H8.333c-.485 0-.927.185-1.26.487-.343.312-.57.75-.609 1.24l-.005 5.357H5a1.87 1.87 0 0 1-1.326-.55 1.87 1.87 0 0 1-.549-1.325V5c0-.518.21-.987.55-1.326.338-.34.807-.549 1.325-.549h6.667Z" })] }), modifiedTablerIconProps);
85
85
  export const MoonIcon = createIcon(_jsx("path", { clipRule: "evenodd", d: "M10 2.5h.328a6.25 6.25 0 0 0 6.6 10.372A7.5 7.5 0 1 1 10 2.493V2.5Z", stroke: "currentColor" }), modifiedTablerIconProps);
86
- export const SunIcon = createIcon(_jsx("g", { stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M10 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM10 4.167V2.5M14.167 5.833l1.166-1.166M15.833 10H17.5M14.167 14.167l1.166 1.166M10 15.833V17.5M5.833 14.167l-1.166 1.166M5 10H3.333M5.833 5.833 4.667 4.667" }) }), modifiedTablerIconProps);
86
+ export const SunIcon = createIcon(_jsx("g", { stroke: "currentColor", strokeLinejoin: "round", children: _jsx("path", { d: "M10 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM10 4.167V2.5M14.167 5.833l1.166-1.166M15.833 10H17.5M14.167 14.167l1.166 1.166M10 15.833V17.5M5.833 14.167l-1.166 1.166M5 10H3.333M5.833 5.833 4.667 4.667" }) }), { ...modifiedTablerIconProps, strokeWidth: 1.5 });
87
87
  export const HamburgerMenuIcon = createIcon(_jsxs("g", { strokeWidth: "1.5", children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("line", { x1: "4", y1: "6", x2: "20", y2: "6" }), _jsx("line", { x1: "4", y1: "12", x2: "20", y2: "12" }), _jsx("line", { x1: "4", y1: "18", x2: "20", y2: "18" })] }), tablerIconProps);
88
88
  export const ExportIcon = createIcon(_jsx("path", { strokeWidth: "1.25", d: "M3.333 14.167v1.666c0 .92.747 1.667 1.667 1.667h10c.92 0 1.667-.746 1.667-1.667v-1.666M5.833 9.167 10 13.333l4.167-4.166M10 3.333v10" }), modifiedTablerIconProps);
89
89
  export const HelpIcon = createIcon(_jsxs("g", { strokeWidth: "1.5", children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("circle", { cx: "12", cy: "12", r: "9" }), _jsx("line", { x1: "12", y1: "17", x2: "12", y2: "17.01" }), _jsx("path", { d: "M12 13.5a1.5 1.5 0 0 1 1 -1.5a2.6 2.6 0 1 0 -3 -4" })] }), tablerIconProps);
@@ -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
@@ -189,6 +201,7 @@ export const FontSizeMediumIcon = createIcon(_jsxs(_Fragment, { children: [_jsx(
189
201
  export const FontSizeLargeIcon = createIcon(_jsxs(_Fragment, { children: [_jsx("g", { clipPath: "url(#a)", children: _jsx("path", { d: "M5.833 3.333v13.334h8.334", stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("defs", { children: _jsx("clipPath", { id: "a", children: _jsx("path", { fill: "#fff", d: "M0 0h20v20H0z" }) }) })] }), modifiedTablerIconProps);
190
202
  export const FontSizeExtraLargeIcon = createIcon(_jsx(_Fragment, { children: _jsx("path", { d: "m1.667 3.333 6.666 13.334M8.333 3.333 1.667 16.667M11.667 3.333v13.334h6.666", stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round" }) }), modifiedTablerIconProps);
191
203
  export const fontSizeIcon = createIcon(_jsxs("g", { strokeWidth: 1.25, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M3 7v-2h13v2" }), _jsx("path", { d: "M10 5v14" }), _jsx("path", { d: "M12 19h-4" }), _jsx("path", { d: "M15 13v-1h6v1" }), _jsx("path", { d: "M18 12v7" }), _jsx("path", { d: "M17 19h2" })] }), tablerIconProps);
204
+ export const FontFamilyHeadingIcon = createIcon(_jsx(_Fragment, { children: _jsxs("g", { stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M7 12h10" }), _jsx("path", { d: "M7 5v14" }), _jsx("path", { d: "M17 5v14" }), _jsx("path", { d: "M15 19h4" }), _jsx("path", { d: "M15 5h4" }), _jsx("path", { d: "M5 19h4" }), _jsx("path", { d: "M5 5h4" })] }) }), tablerIconProps);
192
205
  export const FontFamilyNormalIcon = createIcon(_jsx(_Fragment, { children: _jsx("g", { stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M5.833 16.667v-10a3.333 3.333 0 0 1 3.334-3.334h1.666a3.333 3.333 0 0 1 3.334 3.334v10M5.833 10.833h8.334" }) }) }), modifiedTablerIconProps);
193
206
  export const FontFamilyCodeIcon = createIcon(_jsxs(_Fragment, { children: [_jsx("g", { clipPath: "url(#a)", stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M5.833 6.667 2.5 10l3.333 3.333M14.167 6.667 17.5 10l-3.333 3.333M11.667 3.333 8.333 16.667" }) }), _jsx("defs", { children: _jsx("clipPath", { id: "a", children: _jsx("path", { fill: "#fff", d: "M0 0h20v20H0z" }) }) })] }), modifiedTablerIconProps);
194
207
  export const TextAlignLeftIcon = createIcon(_jsxs("g", { stroke: "currentColor", fill: "none", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("line", { x1: "4", y1: "8", x2: "20", y2: "8" }), _jsx("line", { x1: "4", y1: "12", x2: "12", y2: "12" }), _jsx("line", { x1: "4", y1: "16", x2: "16", y2: "16" })] }), tablerIconProps);
@@ -200,6 +213,7 @@ export const TextAlignTopIcon = React.memo(({ theme }) => createIcon(_jsxs("g",
200
213
  export const TextAlignBottomIcon = React.memo(({ theme }) => createIcon(_jsxs("g", { strokeWidth: "2", stroke: "currentColor", fill: "none", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("line", { x1: "4", y1: "20", x2: "20", y2: "20" }), _jsx("rect", { x: "9", y: "4", width: "6", height: "12", rx: "2" })] }), tablerIconProps));
201
214
  // tabler-icons: layout-align-middle
202
215
  export const TextAlignMiddleIcon = React.memo(({ theme }) => createIcon(_jsxs("g", { strokeWidth: "1.5", stroke: "currentColor", fill: "none", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("line", { x1: "4", y1: "12", x2: "9", y2: "12" }), _jsx("line", { x1: "15", y1: "12", x2: "20", y2: "12" }), _jsx("rect", { x: "9", y: "6", width: "6", height: "12", rx: "2" })] }), tablerIconProps));
216
+ export const angleIcon = createIcon(_jsxs("g", { children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M21 19h-18l9 -15" }), _jsx("path", { d: "M20.615 15.171h.015" }), _jsx("path", { d: "M19.515 11.771h.015" }), _jsx("path", { d: "M17.715 8.671h.015" }), _jsx("path", { d: "M15.415 5.971h.015" })] }), tablerIconProps);
203
217
  export const publishIcon = createIcon(_jsx("path", { d: "M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z", fill: "currentColor" }), { width: 640, height: 512 });
204
218
  export const eraser = createIcon(_jsx("path", { d: "M480 416C497.7 416 512 430.3 512 448C512 465.7 497.7 480 480 480H150.6C133.7 480 117.4 473.3 105.4 461.3L25.37 381.3C.3786 356.3 .3786 315.7 25.37 290.7L258.7 57.37C283.7 32.38 324.3 32.38 349.3 57.37L486.6 194.7C511.6 219.7 511.6 260.3 486.6 285.3L355.9 416H480zM265.4 416L332.7 348.7L195.3 211.3L70.63 336L150.6 416L265.4 416z" }));
205
219
  export const handIcon = createIcon(_jsxs("g", { strokeWidth: 1.25, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M8 13v-7.5a1.5 1.5 0 0 1 3 0v6.5" }), _jsx("path", { d: "M11 5.5v-2a1.5 1.5 0 1 1 3 0v8.5" }), _jsx("path", { d: "M14 5.5a1.5 1.5 0 0 1 3 0v6.5" }), _jsx("path", { d: "M17 7.5a1.5 1.5 0 0 1 3 0v8.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7a69.74 69.74 0 0 1 -.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47" })] }), tablerIconProps);
@@ -240,3 +254,11 @@ export const svgIcon = createIcon(_jsxs("g", { strokeWidth: 1.25, children: [_js
240
254
  export const pngIcon = createIcon(_jsxs("g", { strokeWidth: 1.25, children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M14 3v4a1 1 0 0 0 1 1h4" }), _jsx("path", { d: "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4" }), _jsx("path", { d: "M20 15h-1a2 2 0 0 0 -2 2v2a2 2 0 0 0 2 2h1v-3" }), _jsx("path", { d: "M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6" }), _jsx("path", { d: "M11 21v-6l3 6v-6" })] }), tablerIconProps);
241
255
  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
256
  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);
257
+ 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 });
258
+ // login
259
+ 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);
260
+ 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);
261
+ 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);
262
+ 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);
263
+ export const collapseDownIcon = createIcon(_jsxs("g", { children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M6 9l6 6l6 -6" })] }), tablerIconProps);
264
+ export const collapseUpIcon = createIcon(_jsxs("g", { children: [_jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }), _jsx("path", { d: "M6 15l6 -6l6 6" })] }), tablerIconProps);
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import type { Theme } from "../../element/types";
2
3
  import "./DefaultItems.scss";
3
4
  export declare const LoadScene: {
4
5
  (): JSX.Element | null;
@@ -13,7 +14,9 @@ export declare const SaveAsImage: {
13
14
  displayName: string;
14
15
  };
15
16
  export declare const CommandPalette: {
16
- (): JSX.Element;
17
+ (opts?: {
18
+ className?: string;
19
+ }): JSX.Element;
17
20
  displayName: string;
18
21
  };
19
22
  export declare const Help: {
@@ -25,7 +28,14 @@ export declare const ClearCanvas: {
25
28
  displayName: string;
26
29
  };
27
30
  export declare const ToggleTheme: {
28
- (): JSX.Element | null;
31
+ (props: {
32
+ allowSystemTheme: true;
33
+ theme: Theme | "system";
34
+ onSelect: (theme: Theme | "system") => void;
35
+ } | {
36
+ allowSystemTheme?: false | undefined;
37
+ onSelect?: ((theme: Theme) => void) | undefined;
38
+ }): JSX.Element | null;
29
39
  displayName: string;
30
40
  };
31
41
  export declare const ChangeCanvasBackground: {
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { getShortcutFromShortcutName } from "../../actions/shortcuts";
3
3
  import { useI18n } from "../../i18n";
4
4
  import { useExcalidrawSetAppState, useExcalidrawActionManager, useExcalidrawElements, useAppProps, } from "../App";
5
- import { boltIcon, ExportIcon, ExportImageIcon, HelpIcon, LoadIcon, MoonIcon, save, SunIcon, TrashIcon, usersIcon, } from "../icons";
5
+ import { boltIcon, DeviceDesktopIcon, ExportIcon, ExportImageIcon, HelpIcon, LoadIcon, MoonIcon, save, SunIcon, TrashIcon, usersIcon, } from "../icons";
6
6
  import { GithubIcon, DiscordIcon, XBrandIcon } from "../icons";
7
7
  import DropdownMenuItem from "../dropdownMenu/DropdownMenuItem";
8
8
  import DropdownMenuItemLink from "../dropdownMenu/DropdownMenuItemLink";
@@ -14,6 +14,9 @@ import { jotaiScope } from "../../jotai";
14
14
  import { useUIAppState } from "../../context/ui-appState";
15
15
  import { openConfirmModal } from "../OverwriteConfirm/OverwriteConfirmState";
16
16
  import Trans from "../Trans";
17
+ import DropdownMenuItemContentRadio from "../dropdownMenu/DropdownMenuItemContentRadio";
18
+ import { THEME } from "../../constants";
19
+ import { trackEvent } from "../../analytics";
17
20
  import "./DefaultItems.scss";
18
21
  export const LoadScene = () => {
19
22
  const { t } = useI18n();
@@ -51,10 +54,13 @@ export const SaveAsImage = () => {
51
54
  return (_jsx(DropdownMenuItem, { icon: ExportImageIcon, "data-testid": "image-export-button", onSelect: () => setAppState({ openDialog: { name: "imageExport" } }), shortcut: getShortcutFromShortcutName("imageExport"), "aria-label": t("buttons.exportImage"), children: t("buttons.exportImage") }));
52
55
  };
53
56
  SaveAsImage.displayName = "SaveAsImage";
54
- export const CommandPalette = () => {
57
+ export const CommandPalette = (opts) => {
55
58
  const setAppState = useExcalidrawSetAppState();
56
59
  const { t } = useI18n();
57
- return (_jsx(DropdownMenuItem, { icon: boltIcon, "data-testid": "command-palette-button", onSelect: () => setAppState({ openDialog: { name: "commandPalette" } }), shortcut: getShortcutFromShortcutName("commandPalette"), "aria-label": t("commandPalette.title"), children: t("commandPalette.title") }));
60
+ return (_jsx(DropdownMenuItem, { icon: boltIcon, "data-testid": "command-palette-button", onSelect: () => {
61
+ trackEvent("command_palette", "open", "menu");
62
+ setAppState({ openDialog: { name: "commandPalette" } });
63
+ }, shortcut: getShortcutFromShortcutName("commandPalette"), "aria-label": t("commandPalette.title"), className: opts?.className, children: t("commandPalette.title") }));
58
64
  };
59
65
  CommandPalette.displayName = "CommandPalette";
60
66
  export const Help = () => {
@@ -73,20 +79,45 @@ export const ClearCanvas = () => {
73
79
  return (_jsx(DropdownMenuItem, { icon: TrashIcon, onSelect: () => setActiveConfirmDialog("clearCanvas"), "data-testid": "clear-canvas-button", "aria-label": t("buttons.clearReset"), children: t("buttons.clearReset") }));
74
80
  };
75
81
  ClearCanvas.displayName = "ClearCanvas";
76
- export const ToggleTheme = () => {
82
+ export const ToggleTheme = (props) => {
77
83
  const { t } = useI18n();
78
84
  const appState = useUIAppState();
79
85
  const actionManager = useExcalidrawActionManager();
86
+ const shortcut = getShortcutFromShortcutName("toggleTheme");
80
87
  if (!actionManager.isActionEnabled(actionToggleTheme)) {
81
88
  return null;
82
89
  }
90
+ if (props?.allowSystemTheme) {
91
+ return (_jsx(DropdownMenuItemContentRadio, { name: "theme", value: props.theme, onChange: (value) => props.onSelect(value), choices: [
92
+ {
93
+ value: THEME.LIGHT,
94
+ label: SunIcon,
95
+ ariaLabel: `${t("buttons.lightMode")} - ${shortcut}`,
96
+ },
97
+ {
98
+ value: THEME.DARK,
99
+ label: MoonIcon,
100
+ ariaLabel: `${t("buttons.darkMode")} - ${shortcut}`,
101
+ },
102
+ {
103
+ value: "system",
104
+ label: DeviceDesktopIcon,
105
+ ariaLabel: t("buttons.systemMode"),
106
+ },
107
+ ], children: t("labels.theme") }));
108
+ }
83
109
  return (_jsx(DropdownMenuItem, { onSelect: (event) => {
84
110
  // do not close the menu when changing theme
85
111
  event.preventDefault();
86
- return actionManager.executeAction(actionToggleTheme);
87
- }, icon: appState.theme === "dark" ? SunIcon : MoonIcon, "data-testid": "toggle-dark-mode", shortcut: getShortcutFromShortcutName("toggleTheme"), "aria-label": appState.theme === "dark"
112
+ if (props?.onSelect) {
113
+ props.onSelect(appState.theme === THEME.DARK ? THEME.LIGHT : THEME.DARK);
114
+ }
115
+ else {
116
+ return actionManager.executeAction(actionToggleTheme);
117
+ }
118
+ }, icon: appState.theme === THEME.DARK ? SunIcon : MoonIcon, "data-testid": "toggle-dark-mode", shortcut: shortcut, "aria-label": appState.theme === THEME.DARK
88
119
  ? t("buttons.lightMode")
89
- : t("buttons.darkMode"), children: appState.theme === "dark"
120
+ : t("buttons.darkMode"), children: appState.theme === THEME.DARK
90
121
  ? t("buttons.lightMode")
91
122
  : t("buttons.darkMode") }));
92
123
  };
@@ -19,17 +19,26 @@ declare const MainMenu: React.FC<{
19
19
  displayName: string;
20
20
  };
21
21
  Item: {
22
- ({ icon, onSelect, children, shortcut, className, selected, ...rest }: {
22
+ ({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, ...rest }: {
23
23
  icon?: JSX.Element | undefined;
24
- onSelect: (event: Event) => void;
24
+ value?: string | number | undefined;
25
+ order?: number | undefined;
26
+ onSelect?: ((event: Event) => void) | undefined;
25
27
  children: React.ReactNode;
26
28
  shortcut?: string | undefined;
29
+ hovered?: boolean | undefined;
27
30
  selected?: boolean | undefined;
31
+ textStyle?: React.CSSProperties | undefined;
28
32
  className?: string | undefined;
29
33
  } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): JSX.Element;
30
34
  displayName: string;
31
35
  Badge: {
32
- ({ children, }: {
36
+ ({ type, children, }: {
37
+ type?: import("../../utility-types").ValueOf<{
38
+ readonly GREEN: "green";
39
+ readonly RED: "red";
40
+ readonly BLUE: "blue";
41
+ }> | undefined;
33
42
  children: React.ReactNode;
34
43
  }): JSX.Element;
35
44
  displayName: string;
@@ -26,11 +26,11 @@ const Center = ({ children }) => {
26
26
  };
27
27
  Center.displayName = "Center";
28
28
  const Logo = ({ children }) => {
29
- return (_jsx("div", { className: "welcome-screen-center__logo virgil welcome-screen-decor", children: children || _jsx(ExcalidrawLogo, { withText: true }) }));
29
+ return (_jsx("div", { className: "welcome-screen-center__logo excalifont welcome-screen-decor", children: children || _jsx(ExcalidrawLogo, { withText: true }) }));
30
30
  };
31
31
  Logo.displayName = "Logo";
32
32
  const Heading = ({ children }) => {
33
- return (_jsx("div", { className: "welcome-screen-center__heading welcome-screen-decor virgil", children: children }));
33
+ return (_jsx("div", { className: "welcome-screen-center__heading welcome-screen-decor excalifont", children: children }));
34
34
  };
35
35
  Heading.displayName = "Heading";
36
36
  const Menu = ({ children }) => {
@@ -4,17 +4,17 @@ import { useTunnels } from "../../context/tunnels";
4
4
  import { WelcomeScreenHelpArrow, WelcomeScreenMenuArrow, WelcomeScreenTopToolbarArrow, } from "../icons";
5
5
  const MenuHint = ({ children }) => {
6
6
  const { WelcomeScreenMenuHintTunnel } = useTunnels();
7
- return (_jsx(WelcomeScreenMenuHintTunnel.In, { children: _jsxs("div", { className: "virgil welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--menu", children: [WelcomeScreenMenuArrow, _jsx("div", { className: "welcome-screen-decor-hint__label", children: children || t("welcomeScreen.defaults.menuHint") })] }) }));
7
+ return (_jsx(WelcomeScreenMenuHintTunnel.In, { children: _jsxs("div", { className: "excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--menu", children: [WelcomeScreenMenuArrow, _jsx("div", { className: "welcome-screen-decor-hint__label", children: children || t("welcomeScreen.defaults.menuHint") })] }) }));
8
8
  };
9
9
  MenuHint.displayName = "MenuHint";
10
10
  const ToolbarHint = ({ children }) => {
11
11
  const { WelcomeScreenToolbarHintTunnel } = useTunnels();
12
- return (_jsx(WelcomeScreenToolbarHintTunnel.In, { children: _jsxs("div", { className: "virgil welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--toolbar", children: [_jsx("div", { className: "welcome-screen-decor-hint__label", children: children || t("welcomeScreen.defaults.toolbarHint") }), WelcomeScreenTopToolbarArrow] }) }));
12
+ return (_jsx(WelcomeScreenToolbarHintTunnel.In, { children: _jsxs("div", { className: "excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--toolbar", children: [_jsx("div", { className: "welcome-screen-decor-hint__label", children: children || t("welcomeScreen.defaults.toolbarHint") }), WelcomeScreenTopToolbarArrow] }) }));
13
13
  };
14
14
  ToolbarHint.displayName = "ToolbarHint";
15
15
  const HelpHint = ({ children }) => {
16
16
  const { WelcomeScreenHelpHintTunnel } = useTunnels();
17
- return (_jsx(WelcomeScreenHelpHintTunnel.In, { children: _jsxs("div", { className: "virgil welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--help", children: [_jsx("div", { children: children || t("welcomeScreen.defaults.helpHint") }), WelcomeScreenHelpArrow] }) }));
17
+ return (_jsx(WelcomeScreenHelpHintTunnel.In, { children: _jsxs("div", { className: "excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--help", children: [_jsx("div", { children: children || t("welcomeScreen.defaults.helpHint") }), WelcomeScreenHelpArrow] }) }));
18
18
  };
19
19
  HelpHint.displayName = "HelpHint";
20
20
  export { HelpHint, MenuHint, ToolbarHint };
@@ -1,5 +1,5 @@
1
- import { AppProps } from "./types";
2
- import { ExcalidrawElement, FontFamilyValues } from "./element/types";
1
+ import type { AppProps } 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;
@@ -10,6 +10,7 @@ export declare const isIOS: boolean;
10
10
  export declare const isBrave: () => boolean;
11
11
  export declare const supportsResizeObserver: boolean;
12
12
  export declare const APP_NAME = "Excalidraw";
13
+ export declare const TEXT_AUTOWRAP_THRESHOLD = 36;
13
14
  export declare const DRAGGING_THRESHOLD = 10;
14
15
  export declare const LINE_CONFIRM_THRESHOLD = 8;
15
16
  export declare const ELEMENT_SHIFT_TRANSLATE_AMOUNT = 5;
@@ -85,11 +86,23 @@ export declare const ENV: {
85
86
  export declare const CLASSES: {
86
87
  SHAPE_ACTIONS_MENU: string;
87
88
  };
89
+ /**
90
+ * // TODO: shouldn't be really `const`, likely neither have integers as values, due to value for the custom fonts, which should likely be some hash.
91
+ *
92
+ * Let's think this through and consider:
93
+ * - https://developer.mozilla.org/en-US/docs/Web/CSS/generic-family
94
+ * - https://drafts.csswg.org/css-fonts-4/#font-family-prop
95
+ * - https://learn.microsoft.com/en-us/typography/opentype/spec/ibmfc
96
+ */
88
97
  export declare const FONT_FAMILY: {
89
98
  Virgil: number;
90
99
  Helvetica: number;
91
100
  Cascadia: number;
92
- Assistant: number;
101
+ Excalifont: number;
102
+ Nunito: number;
103
+ "Lilita One": number;
104
+ "Comic Shanns": number;
105
+ "Liberation Sans": number;
93
106
  };
94
107
  export declare const THEME: {
95
108
  readonly LIGHT: "light";
@@ -121,6 +134,8 @@ export declare const DEFAULT_TEXT_ALIGN = "left";
121
134
  export declare const DEFAULT_VERTICAL_ALIGN = "top";
122
135
  export declare const DEFAULT_VERSION = "{version}";
123
136
  export declare const DEFAULT_TRANSFORM_HANDLE_SPACING = 2;
137
+ export declare const SIDE_RESIZING_THRESHOLD: number;
138
+ export declare const DEFAULT_COLLISION_THRESHOLD: number;
124
139
  export declare const COLOR_WHITE = "#ffffff";
125
140
  export declare const COLOR_CHARCOAL_BLACK = "#1e1e1e";
126
141
  export declare const COLOR_VOICE_CALL = "#a2f1a6";
@@ -175,6 +190,7 @@ export declare const VERSION_TIMEOUT = 30000;
175
190
  export declare const SCROLL_TIMEOUT = 100;
176
191
  export declare const ZOOM_STEP = 0.1;
177
192
  export declare const MIN_ZOOM = 0.1;
193
+ export declare const MAX_ZOOM = 30;
178
194
  export declare const HYPERLINK_TOOLTIP_DELAY = 300;
179
195
  export declare const IDLE_THRESHOLD = 60000;
180
196
  export declare const ACTIVE_THRESHOLD = 3000;
@@ -223,9 +239,6 @@ export declare const ROUNDNESS: {
223
239
  readonly PROPORTIONAL_RADIUS: 2;
224
240
  readonly ADAPTIVE_RADIUS: 3;
225
241
  };
226
- /** key containt id of precedeing elemnt id we use in reconciliation during
227
- * collaboration */
228
- export declare const PRECEDING_ELEMENT_KEY = "__precedingElement__";
229
242
  export declare const ROUGHNESS: {
230
243
  readonly architect: 0;
231
244
  readonly artist: 1;
@@ -279,3 +292,8 @@ export declare const EDITOR_LS_KEYS: {
279
292
  * where filename is optional and we can't retrieve name from app state
280
293
  */
281
294
  export declare const DEFAULT_FILENAME = "Untitled";
295
+ export declare const STATS_PANELS: {
296
+ readonly generalStats: 1;
297
+ readonly elementProperties: 2;
298
+ };
299
+ export declare const MIN_WIDTH_OR_HEIGHT = 1;
@@ -15,6 +15,11 @@ export const isIOS = /iPad|iPhone/.test(navigator.platform) ||
15
15
  export const isBrave = () => navigator.brave?.isBrave?.name === "isBrave";
16
16
  export const supportsResizeObserver = typeof window !== "undefined" && "ResizeObserver" in window;
17
17
  export const APP_NAME = "Excalidraw";
18
+ // distance when creating text before it's considered `autoResize: false`
19
+ // we're using higher threshold so that clicks that end up being drags
20
+ // don't unintentionally create text elements that are wrapped to a few chars
21
+ // (happens a lot with fast clicks with the text tool)
22
+ export const TEXT_AUTOWRAP_THRESHOLD = 36; // px
18
23
  export const DRAGGING_THRESHOLD = 10; // px
19
24
  export const LINE_CONFIRM_THRESHOLD = 8; // px
20
25
  export const ELEMENT_SHIFT_TRANSLATE_AMOUNT = 5;
@@ -94,12 +99,24 @@ export const ENV = {
94
99
  export const CLASSES = {
95
100
  SHAPE_ACTIONS_MENU: "App-menu__left",
96
101
  };
97
- // 1-based in case we ever do `if(element.fontFamily)`
102
+ /**
103
+ * // TODO: shouldn't be really `const`, likely neither have integers as values, due to value for the custom fonts, which should likely be some hash.
104
+ *
105
+ * Let's think this through and consider:
106
+ * - https://developer.mozilla.org/en-US/docs/Web/CSS/generic-family
107
+ * - https://drafts.csswg.org/css-fonts-4/#font-family-prop
108
+ * - https://learn.microsoft.com/en-us/typography/opentype/spec/ibmfc
109
+ */
98
110
  export const FONT_FAMILY = {
99
111
  Virgil: 1,
100
112
  Helvetica: 2,
101
113
  Cascadia: 3,
102
- Assistant: 4,
114
+ // leave 4 unused as it was historically used for Assistant (which we don't use anymore) or custom font (Obsidian)
115
+ Excalifont: 5,
116
+ Nunito: 6,
117
+ "Lilita One": 7,
118
+ "Comic Shanns": 8,
119
+ "Liberation Sans": 9,
103
120
  };
104
121
  export const THEME = {
105
122
  LIGHT: "light",
@@ -123,11 +140,16 @@ export const FRAME_STYLE = {
123
140
  export const WINDOWS_EMOJI_FALLBACK_FONT = "Segoe UI Emoji";
124
141
  export const MIN_FONT_SIZE = 1;
125
142
  export const DEFAULT_FONT_SIZE = 20;
126
- export const DEFAULT_FONT_FAMILY = FONT_FAMILY.Virgil;
143
+ export const DEFAULT_FONT_FAMILY = FONT_FAMILY.Excalifont;
127
144
  export const DEFAULT_TEXT_ALIGN = "left";
128
145
  export const DEFAULT_VERTICAL_ALIGN = "top";
129
146
  export const DEFAULT_VERSION = "{version}";
130
147
  export const DEFAULT_TRANSFORM_HANDLE_SPACING = 2;
148
+ export const SIDE_RESIZING_THRESHOLD = 2 * DEFAULT_TRANSFORM_HANDLE_SPACING;
149
+ // a small epsilon to make side resizing always take precedence
150
+ // (avoids an increase in renders and changes to tests)
151
+ const EPSILON = 0.00001;
152
+ export const DEFAULT_COLLISION_THRESHOLD = 2 * SIDE_RESIZING_THRESHOLD - EPSILON;
131
153
  export const COLOR_WHITE = "#ffffff";
132
154
  export const COLOR_CHARCOAL_BLACK = "#1e1e1e";
133
155
  // keep this in sync with CSS
@@ -180,6 +202,7 @@ export const VERSION_TIMEOUT = 30000;
180
202
  export const SCROLL_TIMEOUT = 100;
181
203
  export const ZOOM_STEP = 0.1;
182
204
  export const MIN_ZOOM = 0.1;
205
+ export const MAX_ZOOM = 30.0;
183
206
  export const HYPERLINK_TOOLTIP_DELAY = 300;
184
207
  // Report a user inactive after IDLE_THRESHOLD milliseconds
185
208
  export const IDLE_THRESHOLD = 60_000;
@@ -220,7 +243,7 @@ export const MAX_DECIMALS_FOR_SVG_EXPORT = 2;
220
243
  export const EXPORT_SCALES = [1, 2, 3];
221
244
  export const DEFAULT_EXPORT_PADDING = 10; // px
222
245
  export const DEFAULT_MAX_IMAGE_WIDTH_OR_HEIGHT = 1440;
223
- export const MAX_ALLOWED_FILE_BYTES = 2 * 1024 * 1024;
246
+ export const MAX_ALLOWED_FILE_BYTES = 4 * 1024 * 1024;
224
247
  export const SVG_NS = "http://www.w3.org/2000/svg";
225
248
  export const ENCRYPTION_KEY_BITS = 128;
226
249
  export const VERSIONS = {
@@ -264,9 +287,6 @@ export const ROUNDNESS = {
264
287
  // (see DEFAULT_ADAPTIVE_RADIUS constant)
265
288
  ADAPTIVE_RADIUS: 3,
266
289
  };
267
- /** key containt id of precedeing elemnt id we use in reconciliation during
268
- * collaboration */
269
- export const PRECEDING_ELEMENT_KEY = "__precedingElement__";
270
290
  export const ROUGHNESS = {
271
291
  architect: 0,
272
292
  artist: 1,
@@ -326,3 +346,5 @@ export const EDITOR_LS_KEYS = {
326
346
  * where filename is optional and we can't retrieve name from app state
327
347
  */
328
348
  export const DEFAULT_FILENAME = "Untitled";
349
+ export const STATS_PANELS = { generalStats: 1, elementProperties: 2 };
350
+ export const MIN_WIDTH_OR_HEIGHT = 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
  } | {
@@ -1,3 +1,4 @@
1
+ import { THEME } from "../constants";
1
2
  const SYSTEM_PROMPT = `You are a skilled front-end developer who builds interactive prototypes from wireframes, and is an expert at CSS Grid and Flex design.
2
3
  Your role is to transform low-fidelity wireframes into working front-end HTML code.
3
4
 
@@ -19,7 +20,7 @@ If the wireframes, diagrams, or text is unclear or unreadable, refer to provided
19
20
  Your goal is a production-ready prototype that brings the wireframes to life.
20
21
 
21
22
  Please output JUST THE HTML file containing your best attempt at implementing the provided wireframes.`;
22
- export async function diagramToHTML({ image, apiKey, text, theme = "light", }) {
23
+ export async function diagramToHTML({ image, apiKey, text, theme = THEME.LIGHT, }) {
23
24
  const body = {
24
25
  model: "gpt-4-vision-preview",
25
26
  // 4096 are max output tokens allowed for `gpt-4-vision-preview` currently
@@ -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
+ };