@zsviczian/excalidraw 0.10.0-obsidian-35 → 0.10.0-obsidian-39

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 (118) hide show
  1. package/dist/excalidraw.development.js +27 -16
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +3 -3
  4. package/types/actions/actionAddToLibrary.d.ts +3 -0
  5. package/types/actions/actionCanvas.d.ts +8 -0
  6. package/types/actions/actionClipboard.d.ts +5 -0
  7. package/types/actions/actionDeleteSelected.d.ts +3 -0
  8. package/types/actions/actionExport.d.ts +9 -0
  9. package/types/actions/actionFinalize.d.ts +2 -0
  10. package/types/actions/actionMenu.d.ts +3 -0
  11. package/types/actions/actionProperties.d.ts +12 -0
  12. package/types/actions/actionStyles.d.ts +1 -0
  13. package/types/actions/actionToggleGridMode.d.ts +1 -0
  14. package/types/actions/actionToggleStats.d.ts +1 -0
  15. package/types/actions/actionToggleViewMode.d.ts +1 -0
  16. package/types/actions/actionToggleZenMode.d.ts +1 -0
  17. package/types/actions/types.d.ts +1 -1
  18. package/types/appState.d.ts +1 -0
  19. package/types/components/App.d.ts +6 -0
  20. package/types/components/ContextMenu.d.ts +3 -0
  21. package/types/components/LayerUI.d.ts +2 -1
  22. package/types/components/MobileMenu.d.ts +2 -1
  23. package/types/components/PenModeButton.d.ts +13 -0
  24. package/types/components/Popover.d.ts +5 -1
  25. package/types/element/linearElementEditor.d.ts +2 -0
  26. package/types/element/newElement.d.ts +1 -1
  27. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ar-SA-json-bad937b9c5872d8bb08c.d.ts +0 -0
  28. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bg-BG-json-b75f0626e77ba4b93a1a.d.ts +0 -0
  29. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-bn-BD-json-ba2910bdfa31bf4a3b47.d.ts +0 -0
  30. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ca-ES-json-d4752239985378d6687b.d.ts +0 -0
  31. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-cs-CZ-json-3f0957ec0784a1e70989.d.ts +0 -0
  32. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-da-DK-json-30c4bddb0657ba3ec9f0.d.ts +0 -0
  33. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-de-DE-json-1f36c83788d93a26c574.d.ts +0 -0
  34. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-el-GR-json-c7749e93b5ee2ef46f01.d.ts +0 -0
  35. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-es-ES-json-c58a268683a5a98cb339.d.ts +0 -0
  36. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-eu-ES-json-a3036124af529be40107.d.ts +0 -0
  37. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fa-IR-json-e49ff1b123f75b3fe6ae.d.ts +0 -0
  38. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fi-FI-json-25e90ae7a679737c89fa.d.ts +0 -0
  39. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-fr-FR-json-7d9dfefbcbd632631e26.d.ts +0 -0
  40. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-he-IL-json-5f850f9fc31f38e08e11.d.ts +0 -0
  41. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hi-IN-json-022f6946007c53005bf4.d.ts +0 -0
  42. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-hu-HU-json-29933e37837a1a237a79.d.ts +0 -0
  43. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-id-ID-json-7dc2565e1c0b98d44e81.d.ts +0 -0
  44. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-it-IT-json-30125a866f08cd0c8dce.d.ts +0 -0
  45. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ja-JP-json-045af0024c647d78ff48.d.ts +0 -0
  46. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kab-KAB-json-dec84820b3b3b8cea91e.d.ts +0 -0
  47. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-kk-KZ-json-a2be2aa000093bb0c4b1.d.ts +0 -0
  48. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ko-KR-json-df4ca911d661a3668791.d.ts +0 -0
  49. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lt-LT-json-e9bd2413c78d8cd605c1.d.ts +0 -0
  50. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-lv-LV-json-35f7377cd0651c3473cb.d.ts +0 -0
  51. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-my-MM-json-4326db071b2b5ad9ebd2.d.ts +0 -0
  52. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nb-NO-json-f99ea85b15d9c0fd412f.d.ts +0 -0
  53. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nl-NL-json-676bbee6b2201018afea.d.ts +0 -0
  54. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-nn-NO-json-1a9f7d30feff1eafa425.d.ts +0 -0
  55. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-oc-FR-json-5ce59f015d4aaae56795.d.ts +0 -0
  56. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pa-IN-json-5edc5b8da2685495dc6f.d.ts +0 -0
  57. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pl-PL-json-2a6bca3404366166de44.d.ts +0 -0
  58. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-BR-json-df0e1971ca6c9ab7ba96.d.ts +0 -0
  59. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-pt-PT-json-088903851b38144d92cd.d.ts +0 -0
  60. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ro-RO-json-e9e42a4eea14e9780121.d.ts +0 -0
  61. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ru-RU-json-6619d335c0dc5729f858.d.ts +0 -0
  62. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-si-LK-json-29566ffe4c2aab9bc9d7.d.ts +0 -0
  63. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sk-SK-json-68881f095026d35935f3.d.ts +0 -0
  64. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-sv-SE-json-11387dba5283047f00f2.d.ts +0 -0
  65. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-ta-IN-json-fadfdd197ff5b857ed62.d.ts +0 -0
  66. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-tr-TR-json-b92a92cca02f833721d4.d.ts +0 -0
  67. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-uk-UA-json-550e1d2467d2c10ba4c5.d.ts +0 -0
  68. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-CN-json-02c2e2cacd9b605b9433.d.ts +0 -0
  69. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-HK-json-24ab7abe8e695f165b3b.d.ts +0 -0
  70. package/types/packages/excalidraw/dist/excalidraw-assets/i18n-zh-TW-json-9a0e7901a1a58502bfa4.d.ts +0 -0
  71. package/types/packages/excalidraw/dist/excalidraw-assets/image-b76d879db8316c30fd0d.d.ts +0 -0
  72. package/types/packages/excalidraw/dist/excalidraw-assets/vendor-41e5c0be76c29ad2aba4.d.ts +0 -0
  73. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ar-SA-json-37ef19edefea75b3680e.d.ts +2 -0
  74. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-bg-BG-json-7d5458f5cc2a84d8f6e2.d.ts +2 -0
  75. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-bn-BD-json-448d07219c41f8dbb55b.d.ts +2 -0
  76. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ca-ES-json-1b5b2fc0229d73e426e2.d.ts +2 -0
  77. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-cs-CZ-json-eb093b2c8ac7708896f3.d.ts +2 -0
  78. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-da-DK-json-d8afa5e01e2078a828c2.d.ts +2 -0
  79. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-de-DE-json-a6cee4c1996e3aafa069.d.ts +2 -0
  80. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-el-GR-json-9db54ad72bc0f1b46368.d.ts +2 -0
  81. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-es-ES-json-6d364eae9cd78b062862.d.ts +2 -0
  82. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-eu-ES-json-a6295f834d0adb4083eb.d.ts +2 -0
  83. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-fa-IR-json-994aead70f24c0e04f88.d.ts +2 -0
  84. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-fi-FI-json-0208c92c12556594091e.d.ts +2 -0
  85. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-fr-FR-json-d12919b5af660f8cd0e2.d.ts +2 -0
  86. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-he-IL-json-ee1c784d61ae761756b4.d.ts +2 -0
  87. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-hi-IN-json-77fcce82aa2ea23ebc57.d.ts +2 -0
  88. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-hu-HU-json-2afc786729254afcc04b.d.ts +2 -0
  89. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-id-ID-json-261de18ed01a905bb8a7.d.ts +2 -0
  90. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-it-IT-json-02005e1fe5f9ef001a3e.d.ts +2 -0
  91. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ja-JP-json-ee12ac450c12bf9abd0a.d.ts +2 -0
  92. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-kab-KAB-json-4b948b48bde7a5aa988b.d.ts +2 -0
  93. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-kk-KZ-json-4902d8f64c4c6345ea0e.d.ts +2 -0
  94. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ko-KR-json-afd4100bf8ede6c92721.d.ts +2 -0
  95. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-lt-LT-json-a611d0fc2fe568829b13.d.ts +2 -0
  96. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-lv-LV-json-f95d6c285bf18cdd5eaa.d.ts +2 -0
  97. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-my-MM-json-84db1bbb92c1dee8e250.d.ts +2 -0
  98. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-nb-NO-json-d80c0c3712700e7aaad3.d.ts +2 -0
  99. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-nl-NL-json-67080c662a350e8983ec.d.ts +2 -0
  100. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-nn-NO-json-5d74e695d9a164368952.d.ts +2 -0
  101. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-oc-FR-json-19acf217a1bd641a3e5f.d.ts +2 -0
  102. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pa-IN-json-6070668134134cdc4cc5.d.ts +2 -0
  103. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pl-PL-json-49b6e8525a0d9ac86381.d.ts +2 -0
  104. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pt-BR-json-194bb19328e2a094db3f.d.ts +2 -0
  105. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-pt-PT-json-8959660f187eb41da2fc.d.ts +2 -0
  106. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ro-RO-json-a61aaf893c100b18bbb8.d.ts +2 -0
  107. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ru-RU-json-8fb78f4f8f1373c5c428.d.ts +2 -0
  108. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-si-LK-json-0a6676ca84d9add83859.d.ts +2 -0
  109. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-sk-SK-json-bc378d74487614e52ac9.d.ts +2 -0
  110. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-sv-SE-json-aadcfeee9542d5b32173.d.ts +2 -0
  111. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-ta-IN-json-4e673cde4ee803280436.d.ts +2 -0
  112. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-tr-TR-json-4bcb79efe0490c66f154.d.ts +2 -0
  113. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-uk-UA-json-1482d7b2e2e8a0232419.d.ts +2 -0
  114. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-zh-CN-json-8c7c0fec6b0765479622.d.ts +2 -0
  115. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-zh-HK-json-70b4a1bb0d8d99abfa2a.d.ts +2 -0
  116. package/types/packages/excalidraw/dist/excalidraw-assets-dev/i18n-zh-TW-json-d4e760d2810c47bf381a.d.ts +2 -0
  117. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-8825d180ee32659f8996.d.ts +0 -0
  118. package/types/types.d.ts +7 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zsviczian/excalidraw",
3
- "version": "0.10.0-obsidian-35",
3
+ "version": "0.10.0-obsidian-39",
4
4
  "main": "main.js",
5
5
  "types": "types/packages/excalidraw/index.d.ts",
6
6
  "files": [
@@ -47,7 +47,7 @@
47
47
  "@babel/core": "7.16.7",
48
48
  "@babel/plugin-transform-arrow-functions": "7.16.7",
49
49
  "@babel/plugin-transform-async-to-generator": "7.16.0",
50
- "@babel/plugin-transform-runtime": "7.16.4",
50
+ "@babel/plugin-transform-runtime": "7.16.8",
51
51
  "@babel/plugin-transform-typescript": "7.16.1",
52
52
  "@babel/preset-env": "7.16.7",
53
53
  "@babel/preset-react": "7.16.7",
@@ -66,7 +66,7 @@
66
66
  "webpack": "5.65.0",
67
67
  "webpack-bundle-analyzer": "4.5.0",
68
68
  "webpack-cli": "4.9.1",
69
- "webpack-dev-server": "4.7.2",
69
+ "webpack-dev-server": "4.7.3",
70
70
  "webpack-merge": "5.8.0"
71
71
  },
72
72
  "bugs": "https://github.com/excalidraw/excalidraw/issues",
@@ -17,6 +17,7 @@ export declare const actionAddToLibrary: {
17
17
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
18
18
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
19
19
  elementLocked: boolean;
20
+ penLocked: boolean;
20
21
  exportBackground: boolean;
21
22
  exportEmbedScene: boolean;
22
23
  exportWithDarkMode: boolean;
@@ -103,6 +104,7 @@ export declare const actionAddToLibrary: {
103
104
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
104
105
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
105
106
  elementLocked: boolean;
107
+ penLocked: boolean;
106
108
  exportBackground: boolean;
107
109
  exportEmbedScene: boolean;
108
110
  exportWithDarkMode: boolean;
@@ -190,6 +192,7 @@ export declare const actionAddToLibrary: {
190
192
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
191
193
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
192
194
  elementLocked: boolean;
195
+ penLocked: boolean;
193
196
  exportBackground: boolean;
194
197
  exportEmbedScene: boolean;
195
198
  exportWithDarkMode: boolean;
@@ -19,6 +19,7 @@ export declare const actionClearCanvas: {
19
19
  files: {};
20
20
  theme: string;
21
21
  elementLocked: boolean;
22
+ penLocked: boolean;
22
23
  exportBackground: boolean;
23
24
  exportEmbedScene: boolean;
24
25
  gridSize: number | null;
@@ -127,6 +128,7 @@ export declare const actionZoomIn: {
127
128
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
128
129
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
129
130
  elementLocked: boolean;
131
+ penLocked: boolean;
130
132
  exportBackground: boolean;
131
133
  exportEmbedScene: boolean;
132
134
  exportWithDarkMode: boolean;
@@ -222,6 +224,7 @@ export declare const actionZoomOut: {
222
224
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
223
225
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
224
226
  elementLocked: boolean;
227
+ penLocked: boolean;
225
228
  exportBackground: boolean;
226
229
  exportEmbedScene: boolean;
227
230
  exportWithDarkMode: boolean;
@@ -317,6 +320,7 @@ export declare const actionResetZoom: {
317
320
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
318
321
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
319
322
  elementLocked: boolean;
323
+ penLocked: boolean;
320
324
  exportBackground: boolean;
321
325
  exportEmbedScene: boolean;
322
326
  exportWithDarkMode: boolean;
@@ -412,6 +416,7 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
412
416
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
413
417
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
414
418
  elementLocked: boolean;
419
+ penLocked: boolean;
415
420
  exportBackground: boolean;
416
421
  exportEmbedScene: boolean;
417
422
  exportWithDarkMode: boolean;
@@ -502,6 +507,7 @@ export declare const actionZoomToSelected: {
502
507
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
503
508
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
504
509
  elementLocked: boolean;
510
+ penLocked: boolean;
505
511
  exportBackground: boolean;
506
512
  exportEmbedScene: boolean;
507
513
  exportWithDarkMode: boolean;
@@ -596,6 +602,7 @@ export declare const actionZoomToFit: {
596
602
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
597
603
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
598
604
  elementLocked: boolean;
605
+ penLocked: boolean;
599
606
  exportBackground: boolean;
600
607
  exportEmbedScene: boolean;
601
608
  exportWithDarkMode: boolean;
@@ -682,6 +689,7 @@ export declare const actionToggleTheme: {
682
689
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
683
690
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
684
691
  elementLocked: boolean;
692
+ penLocked: boolean;
685
693
  exportBackground: boolean;
686
694
  exportEmbedScene: boolean;
687
695
  exportWithDarkMode: boolean;
@@ -27,6 +27,7 @@ export declare const actionCut: {
27
27
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
28
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
29
29
  elementLocked: boolean;
30
+ penLocked: boolean;
30
31
  exportBackground: boolean;
31
32
  exportEmbedScene: boolean;
32
33
  exportWithDarkMode: boolean;
@@ -132,6 +133,7 @@ export declare const actionCut: {
132
133
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
133
134
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
134
135
  elementLocked: boolean;
136
+ penLocked: boolean;
135
137
  exportBackground: boolean;
136
138
  exportEmbedScene: boolean;
137
139
  exportWithDarkMode: boolean;
@@ -221,6 +223,7 @@ export declare const actionCut: {
221
223
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
222
224
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
223
225
  elementLocked: boolean;
226
+ penLocked: boolean;
224
227
  exportBackground: boolean;
225
228
  exportEmbedScene: boolean;
226
229
  exportWithDarkMode: boolean;
@@ -316,6 +319,7 @@ export declare const actionCopyAsSvg: {
316
319
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
317
320
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
318
321
  elementLocked: boolean;
322
+ penLocked: boolean;
319
323
  exportBackground: boolean;
320
324
  exportEmbedScene: boolean;
321
325
  exportWithDarkMode: boolean;
@@ -413,6 +417,7 @@ export declare const actionCopyAsPng: {
413
417
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
414
418
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
415
419
  elementLocked: boolean;
420
+ penLocked: boolean;
416
421
  exportBackground: boolean;
417
422
  exportEmbedScene: boolean;
418
423
  exportWithDarkMode: boolean;
@@ -20,6 +20,7 @@ export declare const actionDeleteSelected: {
20
20
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
21
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
22
22
  elementLocked: boolean;
23
+ penLocked: boolean;
23
24
  exportBackground: boolean;
24
25
  exportEmbedScene: boolean;
25
26
  exportWithDarkMode: boolean;
@@ -125,6 +126,7 @@ export declare const actionDeleteSelected: {
125
126
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
126
127
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
127
128
  elementLocked: boolean;
129
+ penLocked: boolean;
128
130
  exportBackground: boolean;
129
131
  exportEmbedScene: boolean;
130
132
  exportWithDarkMode: boolean;
@@ -214,6 +216,7 @@ export declare const actionDeleteSelected: {
214
216
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
215
217
  editingLinearElement: LinearElementEditor | null;
216
218
  elementLocked: boolean;
219
+ penLocked: boolean;
217
220
  exportBackground: boolean;
218
221
  exportEmbedScene: boolean;
219
222
  exportWithDarkMode: boolean;
@@ -18,6 +18,7 @@ export declare const actionChangeProjectName: {
18
18
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
19
19
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
20
20
  elementLocked: boolean;
21
+ penLocked: boolean;
21
22
  exportBackground: boolean;
22
23
  exportEmbedScene: boolean;
23
24
  exportWithDarkMode: boolean;
@@ -112,6 +113,7 @@ export declare const actionChangeExportScale: {
112
113
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
113
114
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
114
115
  elementLocked: boolean;
116
+ penLocked: boolean;
115
117
  exportBackground: boolean;
116
118
  exportEmbedScene: boolean;
117
119
  exportWithDarkMode: boolean;
@@ -206,6 +208,7 @@ export declare const actionChangeExportBackground: {
206
208
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
207
209
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
208
210
  elementLocked: boolean;
211
+ penLocked: boolean;
209
212
  exportEmbedScene: boolean;
210
213
  exportWithDarkMode: boolean;
211
214
  exportScale: number;
@@ -300,6 +303,7 @@ export declare const actionChangeExportEmbedScene: {
300
303
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
301
304
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
302
305
  elementLocked: boolean;
306
+ penLocked: boolean;
303
307
  exportBackground: boolean;
304
308
  exportWithDarkMode: boolean;
305
309
  exportScale: number;
@@ -396,6 +400,7 @@ export declare const actionSaveToActiveFile: {
396
400
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
397
401
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
398
402
  elementLocked: boolean;
403
+ penLocked: boolean;
399
404
  exportBackground: boolean;
400
405
  exportEmbedScene: boolean;
401
406
  exportWithDarkMode: boolean;
@@ -493,6 +498,7 @@ export declare const actionSaveFileToDisk: {
493
498
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
494
499
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
495
500
  elementLocked: boolean;
501
+ penLocked: boolean;
496
502
  exportBackground: boolean;
497
503
  exportEmbedScene: boolean;
498
504
  exportWithDarkMode: boolean;
@@ -603,6 +609,7 @@ export declare const actionLoadScene: {
603
609
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
604
610
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
605
611
  elementLocked: boolean;
612
+ penLocked: boolean;
606
613
  exportBackground: boolean;
607
614
  exportEmbedScene: boolean;
608
615
  exportWithDarkMode: boolean;
@@ -675,6 +682,7 @@ export declare const actionLoadScene: {
675
682
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
676
683
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
677
684
  elementLocked: boolean;
685
+ penLocked: boolean;
678
686
  exportBackground: boolean;
679
687
  exportEmbedScene: boolean;
680
688
  exportWithDarkMode: boolean;
@@ -772,6 +780,7 @@ export declare const actionExportWithDarkMode: {
772
780
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
773
781
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
774
782
  elementLocked: boolean;
783
+ penLocked: boolean;
775
784
  exportBackground: boolean;
776
785
  exportEmbedScene: boolean;
777
786
  exportScale: number;
@@ -18,6 +18,7 @@ export declare const actionFinalize: {
18
18
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
19
19
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
20
20
  elementLocked: boolean;
21
+ penLocked: boolean;
21
22
  exportBackground: boolean;
22
23
  exportEmbedScene: boolean;
23
24
  exportWithDarkMode: boolean;
@@ -110,6 +111,7 @@ export declare const actionFinalize: {
110
111
  isBindingEnabled: boolean;
111
112
  editingLinearElement: LinearElementEditor | null;
112
113
  elementLocked: boolean;
114
+ penLocked: boolean;
113
115
  exportBackground: boolean;
114
116
  exportEmbedScene: boolean;
115
117
  exportWithDarkMode: boolean;
@@ -17,6 +17,7 @@ export declare const actionToggleCanvasMenu: {
17
17
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
18
18
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
19
19
  elementLocked: boolean;
20
+ penLocked: boolean;
20
21
  exportBackground: boolean;
21
22
  exportEmbedScene: boolean;
22
23
  exportWithDarkMode: boolean;
@@ -111,6 +112,7 @@ export declare const actionToggleEditMenu: {
111
112
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
112
113
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
113
114
  elementLocked: boolean;
115
+ penLocked: boolean;
114
116
  exportBackground: boolean;
115
117
  exportEmbedScene: boolean;
116
118
  exportWithDarkMode: boolean;
@@ -214,6 +216,7 @@ export declare const actionShortcuts: {
214
216
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
215
217
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
216
218
  elementLocked: boolean;
219
+ penLocked: boolean;
217
220
  exportBackground: boolean;
218
221
  exportEmbedScene: boolean;
219
222
  exportWithDarkMode: boolean;
@@ -34,6 +34,7 @@ export declare const actionChangeFillStyle: {
34
34
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
35
35
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
36
36
  elementLocked: boolean;
37
+ penLocked: boolean;
37
38
  exportBackground: boolean;
38
39
  exportEmbedScene: boolean;
39
40
  exportWithDarkMode: boolean;
@@ -129,6 +130,7 @@ export declare const actionChangeStrokeWidth: {
129
130
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
130
131
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
131
132
  elementLocked: boolean;
133
+ penLocked: boolean;
132
134
  exportBackground: boolean;
133
135
  exportEmbedScene: boolean;
134
136
  exportWithDarkMode: boolean;
@@ -224,6 +226,7 @@ export declare const actionChangeSloppiness: {
224
226
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
225
227
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
226
228
  elementLocked: boolean;
229
+ penLocked: boolean;
227
230
  exportBackground: boolean;
228
231
  exportEmbedScene: boolean;
229
232
  exportWithDarkMode: boolean;
@@ -319,6 +322,7 @@ export declare const actionChangeStrokeStyle: {
319
322
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
320
323
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
321
324
  elementLocked: boolean;
325
+ penLocked: boolean;
322
326
  exportBackground: boolean;
323
327
  exportEmbedScene: boolean;
324
328
  exportWithDarkMode: boolean;
@@ -414,6 +418,7 @@ export declare const actionChangeOpacity: {
414
418
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
415
419
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
416
420
  elementLocked: boolean;
421
+ penLocked: boolean;
417
422
  exportBackground: boolean;
418
423
  exportEmbedScene: boolean;
419
424
  exportWithDarkMode: boolean;
@@ -509,6 +514,7 @@ export declare const actionChangeFontSize: {
509
514
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
510
515
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
511
516
  elementLocked: boolean;
517
+ penLocked: boolean;
512
518
  exportBackground: boolean;
513
519
  exportEmbedScene: boolean;
514
520
  exportWithDarkMode: boolean;
@@ -604,6 +610,7 @@ export declare const actionDecreaseFontSize: {
604
610
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
605
611
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
606
612
  elementLocked: boolean;
613
+ penLocked: boolean;
607
614
  exportBackground: boolean;
608
615
  exportEmbedScene: boolean;
609
616
  exportWithDarkMode: boolean;
@@ -699,6 +706,7 @@ export declare const actionIncreaseFontSize: {
699
706
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
700
707
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
701
708
  elementLocked: boolean;
709
+ penLocked: boolean;
702
710
  exportBackground: boolean;
703
711
  exportEmbedScene: boolean;
704
712
  exportWithDarkMode: boolean;
@@ -794,6 +802,7 @@ export declare const actionChangeFontFamily: {
794
802
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
795
803
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
796
804
  elementLocked: boolean;
805
+ penLocked: boolean;
797
806
  exportBackground: boolean;
798
807
  exportEmbedScene: boolean;
799
808
  exportWithDarkMode: boolean;
@@ -889,6 +898,7 @@ export declare const actionChangeTextAlign: {
889
898
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
890
899
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
891
900
  elementLocked: boolean;
901
+ penLocked: boolean;
892
902
  exportBackground: boolean;
893
903
  exportEmbedScene: boolean;
894
904
  exportWithDarkMode: boolean;
@@ -985,6 +995,7 @@ export declare const actionChangeSharpness: {
985
995
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
986
996
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
987
997
  elementLocked: boolean;
998
+ penLocked: boolean;
988
999
  exportBackground: boolean;
989
1000
  exportEmbedScene: boolean;
990
1001
  exportWithDarkMode: boolean;
@@ -1081,6 +1092,7 @@ export declare const actionChangeArrowhead: {
1081
1092
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
1082
1093
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
1083
1094
  elementLocked: boolean;
1095
+ penLocked: boolean;
1084
1096
  exportBackground: boolean;
1085
1097
  exportEmbedScene: boolean;
1086
1098
  exportWithDarkMode: boolean;
@@ -18,6 +18,7 @@ export declare const actionCopyStyles: {
18
18
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
19
19
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
20
20
  elementLocked: boolean;
21
+ penLocked: boolean;
21
22
  exportBackground: boolean;
22
23
  exportEmbedScene: boolean;
23
24
  exportWithDarkMode: boolean;
@@ -18,6 +18,7 @@ export declare const actionToggleGridMode: {
18
18
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
19
19
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
20
20
  elementLocked: boolean;
21
+ penLocked: boolean;
21
22
  exportBackground: boolean;
22
23
  exportEmbedScene: boolean;
23
24
  exportWithDarkMode: boolean;
@@ -17,6 +17,7 @@ export declare const actionToggleStats: {
17
17
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
18
18
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
19
19
  elementLocked: boolean;
20
+ penLocked: boolean;
20
21
  exportBackground: boolean;
21
22
  exportEmbedScene: boolean;
22
23
  exportWithDarkMode: boolean;
@@ -17,6 +17,7 @@ export declare const actionToggleViewMode: {
17
17
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
18
18
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
19
19
  elementLocked: boolean;
20
+ penLocked: boolean;
20
21
  exportBackground: boolean;
21
22
  exportEmbedScene: boolean;
22
23
  exportWithDarkMode: boolean;
@@ -17,6 +17,7 @@ export declare const actionToggleZenMode: {
17
17
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
18
18
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
19
19
  elementLocked: boolean;
20
+ penLocked: boolean;
20
21
  exportBackground: boolean;
21
22
  exportEmbedScene: boolean;
22
23
  exportWithDarkMode: boolean;
@@ -31,7 +31,7 @@ export interface Action {
31
31
  perform: ActionFn;
32
32
  keyPriority?: number;
33
33
  keyTest?: (event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
34
- contextItemLabel?: string;
34
+ contextItemLabel?: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => string);
35
35
  contextItemPredicate?: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
36
36
  checked?: (appState: Readonly<AppState>) => boolean;
37
37
  }
@@ -16,6 +16,7 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
16
16
  name?: string | undefined;
17
17
  elementType?: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | undefined;
18
18
  elementLocked?: boolean | undefined;
19
+ penLocked?: boolean | undefined;
19
20
  exportBackground?: boolean | undefined;
20
21
  exportEmbedScene?: boolean | undefined;
21
22
  exportWithDarkMode?: boolean | undefined;
@@ -68,6 +68,7 @@ declare class App extends React.Component<AppProps, AppState> {
68
68
  setAppState: (obj: any) => void;
69
69
  removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
70
70
  toggleLock: () => void;
71
+ togglePenLock: () => void;
71
72
  toggleZenMode: () => void;
72
73
  toggleStats: () => void;
73
74
  scrollToContent: (target?: ExcalidrawElement | readonly ExcalidrawElement[]) => void;
@@ -79,6 +80,11 @@ declare class App extends React.Component<AppProps, AppState> {
79
80
  /** adds supplied files to existing files in the appState */
80
81
  addFiles: ExcalidrawImperativeAPI["addFiles"];
81
82
  setLocalFont: ExcalidrawImperativeAPI["setLocalFont"];
83
+ selectElements: ExcalidrawImperativeAPI["selectElements"];
84
+ bringToFront: ExcalidrawImperativeAPI["bringToFront"];
85
+ bringForward: ExcalidrawImperativeAPI["bringForward"];
86
+ sendToBack: ExcalidrawImperativeAPI["sendToBack"];
87
+ sendBackward: ExcalidrawImperativeAPI["sendBackward"];
82
88
  updateScene: <K extends keyof AppState>(sceneData: {
83
89
  elements?: SceneData["elements"];
84
90
  appState?: Pick<AppState, K> | null | undefined;
@@ -2,6 +2,7 @@ import "./ContextMenu.scss";
2
2
  import { Action } from "../actions/types";
3
3
  import { ActionManager } from "../actions/manager";
4
4
  import { AppState } from "../types";
5
+ import { NonDeletedExcalidrawElement } from "../element/types";
5
6
  export declare type ContextMenuOption = "separator" | Action;
6
7
  declare type ContextMenuProps = {
7
8
  options: ContextMenuOption[];
@@ -10,6 +11,7 @@ declare type ContextMenuProps = {
10
11
  left: number;
11
12
  actionManager: ActionManager;
12
13
  appState: Readonly<AppState>;
14
+ elements: readonly NonDeletedExcalidrawElement[];
13
15
  };
14
16
  declare type ContextMenuParams = {
15
17
  options: (ContextMenuOption | false | null | undefined)[];
@@ -18,6 +20,7 @@ declare type ContextMenuParams = {
18
20
  actionManager: ContextMenuProps["actionManager"];
19
21
  appState: Readonly<AppState>;
20
22
  container: HTMLElement;
23
+ elements: readonly NonDeletedExcalidrawElement[];
21
24
  };
22
25
  declare const _default: {
23
26
  push(params: ContextMenuParams): void;
@@ -15,6 +15,7 @@ interface LayerUIProps {
15
15
  elements: readonly NonDeletedExcalidrawElement[];
16
16
  onCollabButtonClick?: () => void;
17
17
  onLockToggle: () => void;
18
+ onPenLockToggle: () => void;
18
19
  onInsertElements: (elements: readonly NonDeletedExcalidrawElement[]) => void;
19
20
  zenModeEnabled: boolean;
20
21
  showExitZenModeBtn: boolean;
@@ -34,5 +35,5 @@ interface LayerUIProps {
34
35
  insertOnCanvasDirectly: boolean;
35
36
  }) => void;
36
37
  }
37
- declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, canvas, elements, onCollabButtonClick, onLockToggle, onInsertElements, zenModeEnabled, showExitZenModeBtn, showThemeBtn, toggleZenMode, isCollaborating, renderTopRightUI, renderCustomFooter, viewModeEnabled, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }: LayerUIProps) => JSX.Element>;
38
+ declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, canvas, elements, onCollabButtonClick, onLockToggle, onPenLockToggle, onInsertElements, zenModeEnabled, showExitZenModeBtn, showThemeBtn, toggleZenMode, isCollaborating, renderTopRightUI, renderCustomFooter, viewModeEnabled, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }: LayerUIProps) => JSX.Element>;
38
39
  export default _default;
@@ -12,6 +12,7 @@ declare type MobileMenuProps = {
12
12
  libraryMenu: JSX.Element | null;
13
13
  onCollabButtonClick?: () => void;
14
14
  onLockToggle: () => void;
15
+ onPenLockToggle: () => void;
15
16
  canvas: HTMLCanvasElement | null;
16
17
  isCollaborating: boolean;
17
18
  renderCustomFooter?: (isMobile: boolean, appState: AppState) => JSX.Element;
@@ -22,5 +23,5 @@ declare type MobileMenuProps = {
22
23
  }) => void;
23
24
  renderTopRightUI?: (isMobile: boolean, appState: AppState) => JSX.Element | null;
24
25
  };
25
- export declare const MobileMenu: ({ appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, canvas, isCollaborating, renderCustomFooter, viewModeEnabled, showThemeBtn, onImageAction, renderTopRightUI, }: MobileMenuProps) => JSX.Element;
26
+ export declare const MobileMenu: ({ appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, onPenLockToggle, canvas, isCollaborating, renderCustomFooter, viewModeEnabled, showThemeBtn, onImageAction, renderTopRightUI, }: MobileMenuProps) => JSX.Element;
26
27
  export {};
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import "./ToolIcon.scss";
3
+ declare type PenLockIconProps = {
4
+ title?: string;
5
+ name?: string;
6
+ checked: boolean;
7
+ onChange?(): void;
8
+ zenModeEnabled?: boolean;
9
+ isMobile?: boolean;
10
+ elementType: string;
11
+ };
12
+ export declare const PenLockButton: (props: PenLockIconProps) => JSX.Element | null;
13
+ export {};
@@ -6,6 +6,10 @@ declare type Props = {
6
6
  children?: React.ReactNode;
7
7
  onCloseRequest?(event: PointerEvent): void;
8
8
  fitInViewport?: boolean;
9
+ offsetLeft?: number;
10
+ offsetTop?: number;
11
+ viewportWidth?: number;
12
+ viewportHeight?: number;
9
13
  };
10
- export declare const Popover: ({ children, left, top, onCloseRequest, fitInViewport, }: Props) => JSX.Element;
14
+ export declare const Popover: ({ children, left, top, onCloseRequest, fitInViewport, offsetLeft, offsetTop, viewportWidth, viewportHeight, }: Props) => JSX.Element;
11
15
  export {};
@@ -98,6 +98,7 @@ export declare class LinearElementEditor {
98
98
  editingElement: import("./types").NonDeletedExcalidrawElement | null;
99
99
  elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
100
100
  elementLocked: boolean;
101
+ penLocked: boolean;
101
102
  exportBackground: boolean;
102
103
  exportEmbedScene: boolean;
103
104
  exportWithDarkMode: boolean;
@@ -145,6 +146,7 @@ export declare class LinearElementEditor {
145
146
  toastMessage: string | null;
146
147
  zenModeEnabled: boolean;
147
148
  theme: string;
149
+ /** @returns whether point was dragged */
148
150
  gridSize: number | null;
149
151
  viewModeEnabled: boolean;
150
152
  selectedGroupIds: {
@@ -18,7 +18,7 @@ export declare const updateTextElement: (element: ExcalidrawTextElement, { text,
18
18
  isDeleted?: boolean | undefined;
19
19
  originalText: string;
20
20
  rawText?: string | undefined;
21
- }, isSubmit: boolean) => ExcalidrawTextElement;
21
+ }) => ExcalidrawTextElement;
22
22
  export declare const newFreeDrawElement: (opts: {
23
23
  type: "freedraw";
24
24
  points?: ExcalidrawFreeDrawElement["points"];