@excalidraw/excalidraw 0.17.1-c0b80a0 → 0.17.1-c329470

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 (178) hide show
  1. package/dist/browser/dev/excalidraw-assets-dev/{chunk-JGDL4H2X.js → chunk-3DLVY5XU.js} +8272 -6864
  2. package/dist/browser/dev/excalidraw-assets-dev/chunk-3DLVY5XU.js.map +7 -0
  3. package/dist/browser/dev/excalidraw-assets-dev/{chunk-V7NFEZA6.js → chunk-NOAEU4NM.js} +9 -2
  4. package/dist/browser/dev/excalidraw-assets-dev/chunk-NOAEU4NM.js.map +7 -0
  5. package/dist/browser/dev/excalidraw-assets-dev/{en-ZSVWGT55.js → en-7IBTMWBG.js} +2 -2
  6. package/dist/browser/dev/excalidraw-assets-dev/{image-RJG3J34Y.js → image-N5AC7SEK.js} +2 -6
  7. package/dist/browser/dev/index.css +85 -50
  8. package/dist/browser/dev/index.css.map +3 -3
  9. package/dist/browser/dev/index.js +4375 -3766
  10. package/dist/browser/dev/index.js.map +4 -4
  11. package/dist/browser/prod/excalidraw-assets/{chunk-LDVEIXGO.js → chunk-7CSIPVOW.js} +2 -2
  12. package/dist/browser/prod/excalidraw-assets/chunk-TX3BU7T2.js +47 -0
  13. package/dist/browser/prod/excalidraw-assets/{en-UPNEHLDS.js → en-LOGQBETY.js} +1 -1
  14. package/dist/browser/prod/excalidraw-assets/image-3V4U7GZE.js +1 -0
  15. package/dist/browser/prod/index.css +1 -1
  16. package/dist/browser/prod/index.js +40 -40
  17. package/dist/dev/index.css +85 -50
  18. package/dist/dev/index.css.map +3 -3
  19. package/dist/dev/index.js +8688 -6706
  20. package/dist/dev/index.js.map +4 -4
  21. package/dist/{prod/locales/en-ZXYG7GCR.json → dev/locales/en-V6KXFSCK.json} +8 -1
  22. package/dist/excalidraw/actions/actionAlign.d.ts +7 -6
  23. package/dist/excalidraw/actions/actionAlign.js +14 -14
  24. package/dist/excalidraw/actions/actionClipboard.d.ts +7 -3
  25. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +7 -3
  26. package/dist/excalidraw/actions/actionDeleteSelected.js +103 -34
  27. package/dist/excalidraw/actions/actionDuplicateSelection.js +105 -95
  28. package/dist/excalidraw/actions/actionFlip.js +16 -7
  29. package/dist/excalidraw/actions/actionFrame.d.ts +493 -0
  30. package/dist/excalidraw/actions/actionFrame.js +45 -2
  31. package/dist/excalidraw/actions/actionGroup.js +6 -4
  32. package/dist/excalidraw/actions/actionProperties.js +145 -116
  33. package/dist/excalidraw/actions/actionSelectAll.js +4 -3
  34. package/dist/excalidraw/actions/shortcuts.d.ts +1 -1
  35. package/dist/excalidraw/actions/shortcuts.js +1 -0
  36. package/dist/excalidraw/actions/types.d.ts +1 -1
  37. package/dist/excalidraw/align.d.ts +2 -1
  38. package/dist/excalidraw/align.js +15 -6
  39. package/dist/excalidraw/clipboard.d.ts +27 -5
  40. package/dist/excalidraw/clipboard.js +55 -28
  41. package/dist/excalidraw/components/Actions.d.ts +2 -1
  42. package/dist/excalidraw/components/Actions.js +4 -2
  43. package/dist/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  44. package/dist/excalidraw/components/ActiveConfirmDialog.js +2 -3
  45. package/dist/excalidraw/components/App.d.ts +1 -0
  46. package/dist/excalidraw/components/App.js +216 -111
  47. package/dist/excalidraw/components/ColorPicker/ColorInput.js +2 -3
  48. package/dist/excalidraw/components/ColorPicker/ColorPicker.js +2 -3
  49. package/dist/excalidraw/components/ColorPicker/CustomColorList.js +1 -1
  50. package/dist/excalidraw/components/ColorPicker/Picker.js +1 -1
  51. package/dist/excalidraw/components/ColorPicker/PickerColorList.js +1 -1
  52. package/dist/excalidraw/components/ColorPicker/ShadeList.js +1 -1
  53. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  54. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
  55. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +3 -3
  56. package/dist/excalidraw/components/ConfirmDialog.js +17 -5
  57. package/dist/excalidraw/components/Dialog.js +2 -3
  58. package/dist/excalidraw/components/EyeDropper.d.ts +1 -1
  59. package/dist/excalidraw/components/EyeDropper.js +1 -1
  60. package/dist/excalidraw/components/IconPicker.d.ts +2 -2
  61. package/dist/excalidraw/components/IconPicker.js +56 -53
  62. package/dist/excalidraw/components/LayerUI.js +6 -6
  63. package/dist/excalidraw/components/LibraryMenu.d.ts +2 -16
  64. package/dist/excalidraw/components/LibraryMenu.js +70 -28
  65. package/dist/excalidraw/components/LibraryMenuHeaderContent.js +4 -5
  66. package/dist/excalidraw/components/MobileMenu.js +1 -1
  67. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirm.js +2 -3
  68. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  69. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.js +2 -3
  70. package/dist/excalidraw/components/Range.d.ts +9 -0
  71. package/dist/excalidraw/components/Range.js +24 -0
  72. package/dist/excalidraw/components/SearchMenu.d.ts +1 -1
  73. package/dist/excalidraw/components/SearchMenu.js +3 -4
  74. package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  75. package/dist/excalidraw/components/Sidebar/Sidebar.js +2 -3
  76. package/dist/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  77. package/dist/excalidraw/components/Stats/Collapsible.js +2 -2
  78. package/dist/excalidraw/components/Stats/Dimension.js +94 -8
  79. package/dist/excalidraw/components/Stats/MultiDimension.js +8 -5
  80. package/dist/excalidraw/components/Stats/Position.js +63 -3
  81. package/dist/excalidraw/components/Stats/index.js +21 -4
  82. package/dist/excalidraw/components/Stats/utils.d.ts +1 -1
  83. package/dist/excalidraw/components/Stats/utils.js +2 -55
  84. package/dist/excalidraw/components/TTDDialog/TTDDialog.js +1 -1
  85. package/dist/excalidraw/components/ToolButton.js +4 -9
  86. package/dist/excalidraw/components/hoc/withInternalFallback.js +3 -3
  87. package/dist/excalidraw/components/hyperlink/Hyperlink.js +6 -12
  88. package/dist/excalidraw/components/icons.d.ts +9 -0
  89. package/dist/excalidraw/components/icons.js +4 -4
  90. package/dist/excalidraw/components/main-menu/DefaultItems.js +2 -3
  91. package/dist/excalidraw/constants.d.ts +5 -1
  92. package/dist/excalidraw/constants.js +9 -1
  93. package/dist/excalidraw/context/tunnels.d.ts +2 -1
  94. package/dist/excalidraw/context/tunnels.js +3 -1
  95. package/dist/excalidraw/data/blob.d.ts +1 -0
  96. package/dist/excalidraw/data/blob.js +7 -3
  97. package/dist/excalidraw/data/filesystem.d.ts +2 -1
  98. package/dist/excalidraw/data/filesystem.js +1 -0
  99. package/dist/excalidraw/data/image.d.ts +0 -6
  100. package/dist/excalidraw/data/image.js +1 -43
  101. package/dist/excalidraw/data/index.js +6 -6
  102. package/dist/excalidraw/data/library.d.ts +9 -3
  103. package/dist/excalidraw/data/library.js +43 -6
  104. package/dist/excalidraw/data/restore.js +26 -8
  105. package/dist/excalidraw/data/url.d.ts +0 -1
  106. package/dist/excalidraw/data/url.js +2 -4
  107. package/dist/excalidraw/editor-jotai.d.ts +56 -0
  108. package/dist/excalidraw/editor-jotai.js +8 -0
  109. package/dist/excalidraw/element/binding.d.ts +9 -6
  110. package/dist/excalidraw/element/binding.js +124 -44
  111. package/dist/excalidraw/element/bounds.js +10 -0
  112. package/dist/excalidraw/element/cropElement.d.ts +5 -0
  113. package/dist/excalidraw/element/cropElement.js +28 -1
  114. package/dist/excalidraw/element/dragElements.js +13 -7
  115. package/dist/excalidraw/element/elbowArrow.d.ts +16 -0
  116. package/dist/excalidraw/element/elbowArrow.js +1268 -0
  117. package/dist/excalidraw/element/embeddable.js +4 -5
  118. package/dist/excalidraw/element/flowchart.d.ts +1 -1
  119. package/dist/excalidraw/element/flowchart.js +25 -9
  120. package/dist/excalidraw/element/heading.d.ts +5 -1
  121. package/dist/excalidraw/element/heading.js +5 -1
  122. package/dist/excalidraw/element/image.js +19 -5
  123. package/dist/excalidraw/element/linearElementEditor.d.ts +9 -10
  124. package/dist/excalidraw/element/linearElementEditor.js +97 -38
  125. package/dist/excalidraw/element/mutateElement.d.ts +3 -1
  126. package/dist/excalidraw/element/mutateElement.js +31 -4
  127. package/dist/excalidraw/element/newElement.d.ts +8 -12
  128. package/dist/excalidraw/element/newElement.js +36 -21
  129. package/dist/excalidraw/element/resizeElements.d.ts +20 -5
  130. package/dist/excalidraw/element/resizeElements.js +593 -361
  131. package/dist/excalidraw/element/sortElements.js +1 -4
  132. package/dist/excalidraw/element/types.d.ts +23 -1
  133. package/dist/excalidraw/fonts/Fonts.d.ts +0 -16
  134. package/dist/excalidraw/fonts/Fonts.js +6 -31
  135. package/dist/excalidraw/frame.d.ts +11 -5
  136. package/dist/excalidraw/frame.js +146 -35
  137. package/dist/excalidraw/groups.js +3 -0
  138. package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  139. package/dist/excalidraw/hooks/useLibraryItemSvg.js +2 -3
  140. package/dist/excalidraw/hooks/useScrollPosition.js +1 -1
  141. package/dist/excalidraw/i18n.js +3 -4
  142. package/dist/excalidraw/index.js +3 -4
  143. package/dist/excalidraw/locales/en.json +8 -1
  144. package/dist/excalidraw/renderer/interactiveScene.js +43 -32
  145. package/dist/excalidraw/renderer/staticScene.js +6 -4
  146. package/dist/excalidraw/renderer/staticSvgScene.js +1 -1
  147. package/dist/excalidraw/scene/Shape.js +40 -17
  148. package/dist/excalidraw/scene/comparisons.d.ts +0 -477
  149. package/dist/excalidraw/scene/comparisons.js +0 -37
  150. package/dist/excalidraw/scene/export.d.ts +7 -0
  151. package/dist/excalidraw/scene/export.js +107 -43
  152. package/dist/excalidraw/scene/index.d.ts +1 -1
  153. package/dist/excalidraw/scene/index.js +1 -1
  154. package/dist/excalidraw/scene/selection.js +4 -1
  155. package/dist/excalidraw/types.d.ts +15 -0
  156. package/dist/excalidraw/utility-types.d.ts +1 -0
  157. package/dist/excalidraw/utils.d.ts +8 -1
  158. package/dist/excalidraw/utils.js +9 -0
  159. package/dist/excalidraw/visualdebug.d.ts +8 -1
  160. package/dist/excalidraw/visualdebug.js +3 -0
  161. package/dist/math/line.d.ts +19 -0
  162. package/dist/math/line.js +32 -3
  163. package/dist/math/point.d.ts +10 -0
  164. package/dist/math/point.js +12 -1
  165. package/dist/prod/index.css +1 -1
  166. package/dist/prod/index.js +29 -44
  167. package/dist/{dev/locales/en-ZXYG7GCR.json → prod/locales/en-V6KXFSCK.json} +8 -1
  168. package/package.json +5 -2
  169. package/dist/browser/dev/excalidraw-assets-dev/chunk-JGDL4H2X.js.map +0 -7
  170. package/dist/browser/dev/excalidraw-assets-dev/chunk-V7NFEZA6.js.map +0 -7
  171. package/dist/browser/prod/excalidraw-assets/chunk-S2XKB3DE.js +0 -62
  172. package/dist/browser/prod/excalidraw-assets/image-OFI2YYMP.js +0 -1
  173. package/dist/excalidraw/element/routing.d.ts +0 -12
  174. package/dist/excalidraw/element/routing.js +0 -642
  175. package/dist/excalidraw/jotai.d.ts +0 -34
  176. package/dist/excalidraw/jotai.js +0 -18
  177. /package/dist/browser/dev/excalidraw-assets-dev/{en-ZSVWGT55.js.map → en-7IBTMWBG.js.map} +0 -0
  178. /package/dist/browser/dev/excalidraw-assets-dev/{image-RJG3J34Y.js.map → image-N5AC7SEK.js.map} +0 -0
@@ -1,4 +1,3 @@
1
- import type { NonDeletedExcalidrawElement } from "../element/types";
2
1
  import type { ElementOrToolType } from "../types";
3
2
  export declare const hasBackground: (type: ElementOrToolType) => boolean;
4
3
  export declare const hasStrokeColor: (type: ElementOrToolType) => boolean;
@@ -7,479 +6,3 @@ export declare const hasStrokeStyle: (type: ElementOrToolType) => boolean;
7
6
  export declare const canChangeRoundness: (type: ElementOrToolType) => boolean;
8
7
  export declare const toolIsArrow: (type: ElementOrToolType) => boolean;
9
8
  export declare const canHaveArrowheads: (type: ElementOrToolType) => boolean;
10
- export declare const getElementAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => (Readonly<{
11
- id: string;
12
- x: number;
13
- y: number;
14
- strokeColor: string;
15
- backgroundColor: string;
16
- fillStyle: import("../element/types").FillStyle;
17
- strokeWidth: number;
18
- strokeStyle: import("../element/types").StrokeStyle;
19
- roundness: {
20
- type: import("../element/types").RoundnessType;
21
- value?: number | undefined;
22
- } | null;
23
- roughness: number;
24
- opacity: number;
25
- width: number;
26
- height: number;
27
- angle: import("../../math").Radians;
28
- seed: number;
29
- version: number;
30
- versionNonce: number;
31
- index: import("../element/types").FractionalIndex | null;
32
- isDeleted: boolean;
33
- groupIds: readonly string[];
34
- frameId: string | null;
35
- boundElements: readonly Readonly<{
36
- id: string;
37
- type: "text" | "arrow";
38
- }>[] | null;
39
- updated: number;
40
- link: string | null;
41
- locked: boolean;
42
- customData?: Record<string, any> | undefined;
43
- }> & {
44
- type: "rectangle";
45
- } & {
46
- isDeleted: boolean;
47
- }) | (Readonly<{
48
- id: string;
49
- x: number;
50
- y: number;
51
- strokeColor: string;
52
- backgroundColor: string;
53
- fillStyle: import("../element/types").FillStyle;
54
- strokeWidth: number;
55
- strokeStyle: import("../element/types").StrokeStyle;
56
- roundness: {
57
- type: import("../element/types").RoundnessType;
58
- value?: number | undefined;
59
- } | null;
60
- roughness: number;
61
- opacity: number;
62
- width: number;
63
- height: number;
64
- angle: import("../../math").Radians;
65
- seed: number;
66
- version: number;
67
- versionNonce: number;
68
- index: import("../element/types").FractionalIndex | null;
69
- isDeleted: boolean;
70
- groupIds: readonly string[];
71
- frameId: string | null;
72
- boundElements: readonly Readonly<{
73
- id: string;
74
- type: "text" | "arrow";
75
- }>[] | null;
76
- updated: number;
77
- link: string | null;
78
- locked: boolean;
79
- customData?: Record<string, any> | undefined;
80
- }> & {
81
- type: "diamond";
82
- } & {
83
- isDeleted: boolean;
84
- }) | (Readonly<{
85
- id: string;
86
- x: number;
87
- y: number;
88
- strokeColor: string;
89
- backgroundColor: string;
90
- fillStyle: import("../element/types").FillStyle;
91
- strokeWidth: number;
92
- strokeStyle: import("../element/types").StrokeStyle;
93
- roundness: {
94
- type: import("../element/types").RoundnessType;
95
- value?: number | undefined;
96
- } | null;
97
- roughness: number;
98
- opacity: number;
99
- width: number;
100
- height: number;
101
- angle: import("../../math").Radians;
102
- seed: number;
103
- version: number;
104
- versionNonce: number;
105
- index: import("../element/types").FractionalIndex | null;
106
- isDeleted: boolean;
107
- groupIds: readonly string[];
108
- frameId: string | null;
109
- boundElements: readonly Readonly<{
110
- id: string;
111
- type: "text" | "arrow";
112
- }>[] | null;
113
- updated: number;
114
- link: string | null;
115
- locked: boolean;
116
- customData?: Record<string, any> | undefined;
117
- }> & {
118
- type: "ellipse";
119
- } & {
120
- isDeleted: boolean;
121
- }) | (Readonly<{
122
- id: string;
123
- x: number;
124
- y: number;
125
- strokeColor: string;
126
- backgroundColor: string;
127
- fillStyle: import("../element/types").FillStyle;
128
- strokeWidth: number;
129
- strokeStyle: import("../element/types").StrokeStyle;
130
- roundness: {
131
- type: import("../element/types").RoundnessType;
132
- value?: number | undefined;
133
- } | null;
134
- roughness: number;
135
- opacity: number;
136
- width: number;
137
- height: number;
138
- angle: import("../../math").Radians;
139
- seed: number;
140
- version: number;
141
- versionNonce: number;
142
- index: import("../element/types").FractionalIndex | null;
143
- isDeleted: boolean;
144
- groupIds: readonly string[];
145
- frameId: string | null;
146
- boundElements: readonly Readonly<{
147
- id: string;
148
- type: "text" | "arrow";
149
- }>[] | null;
150
- updated: number;
151
- link: string | null;
152
- locked: boolean;
153
- customData?: Record<string, any> | undefined;
154
- }> & Readonly<{
155
- type: "text";
156
- fontSize: number;
157
- fontFamily: number;
158
- text: string;
159
- textAlign: string;
160
- verticalAlign: string;
161
- containerId: string | null;
162
- originalText: string;
163
- autoResize: boolean;
164
- lineHeight: number & {
165
- _brand: "unitlessLineHeight";
166
- };
167
- }> & {
168
- isDeleted: boolean;
169
- }) | (Readonly<{
170
- id: string;
171
- x: number;
172
- y: number;
173
- strokeColor: string;
174
- backgroundColor: string;
175
- fillStyle: import("../element/types").FillStyle;
176
- strokeWidth: number;
177
- strokeStyle: import("../element/types").StrokeStyle;
178
- roundness: {
179
- type: import("../element/types").RoundnessType;
180
- value?: number | undefined;
181
- } | null;
182
- roughness: number;
183
- opacity: number;
184
- width: number;
185
- height: number;
186
- angle: import("../../math").Radians;
187
- seed: number;
188
- version: number;
189
- versionNonce: number;
190
- index: import("../element/types").FractionalIndex | null;
191
- isDeleted: boolean;
192
- groupIds: readonly string[];
193
- frameId: string | null;
194
- boundElements: readonly Readonly<{
195
- id: string;
196
- type: "text" | "arrow";
197
- }>[] | null;
198
- updated: number;
199
- link: string | null;
200
- locked: boolean;
201
- customData?: Record<string, any> | undefined;
202
- }> & Readonly<{
203
- type: "line" | "arrow";
204
- points: readonly import("../../math").LocalPoint[];
205
- lastCommittedPoint: import("../../math").LocalPoint | null;
206
- startBinding: import("../element/types").PointBinding | null;
207
- endBinding: import("../element/types").PointBinding | null;
208
- startArrowhead: import("../element/types").Arrowhead | null;
209
- endArrowhead: import("../element/types").Arrowhead | null;
210
- }> & {
211
- isDeleted: boolean;
212
- }) | (Readonly<{
213
- id: string;
214
- x: number;
215
- y: number;
216
- strokeColor: string;
217
- backgroundColor: string;
218
- fillStyle: import("../element/types").FillStyle;
219
- strokeWidth: number;
220
- strokeStyle: import("../element/types").StrokeStyle;
221
- roundness: {
222
- type: import("../element/types").RoundnessType;
223
- value?: number | undefined;
224
- } | null;
225
- roughness: number;
226
- opacity: number;
227
- width: number;
228
- height: number;
229
- angle: import("../../math").Radians;
230
- seed: number;
231
- version: number;
232
- versionNonce: number;
233
- index: import("../element/types").FractionalIndex | null;
234
- isDeleted: boolean;
235
- groupIds: readonly string[];
236
- frameId: string | null;
237
- boundElements: readonly Readonly<{
238
- id: string;
239
- type: "text" | "arrow";
240
- }>[] | null;
241
- updated: number;
242
- link: string | null;
243
- locked: boolean;
244
- customData?: Record<string, any> | undefined;
245
- }> & Readonly<{
246
- type: "freedraw";
247
- points: readonly import("../../math").LocalPoint[];
248
- pressures: readonly number[];
249
- simulatePressure: boolean;
250
- lastCommittedPoint: import("../../math").LocalPoint | null;
251
- }> & {
252
- isDeleted: boolean;
253
- }) | (Readonly<{
254
- id: string;
255
- x: number;
256
- y: number;
257
- strokeColor: string;
258
- backgroundColor: string;
259
- fillStyle: import("../element/types").FillStyle;
260
- strokeWidth: number;
261
- strokeStyle: import("../element/types").StrokeStyle;
262
- roundness: {
263
- type: import("../element/types").RoundnessType;
264
- value?: number | undefined;
265
- } | null;
266
- roughness: number;
267
- opacity: number;
268
- width: number;
269
- height: number;
270
- angle: import("../../math").Radians;
271
- seed: number;
272
- version: number;
273
- versionNonce: number;
274
- index: import("../element/types").FractionalIndex | null;
275
- isDeleted: boolean;
276
- groupIds: readonly string[];
277
- frameId: string | null;
278
- boundElements: readonly Readonly<{
279
- id: string;
280
- type: "text" | "arrow";
281
- }>[] | null;
282
- updated: number;
283
- link: string | null;
284
- locked: boolean;
285
- customData?: Record<string, any> | undefined;
286
- }> & Readonly<{
287
- type: "image";
288
- fileId: import("../element/types").FileId | null;
289
- status: "pending" | "saved" | "error";
290
- scale: [number, number];
291
- crop: import("../element/types").ImageCrop | null;
292
- }> & {
293
- isDeleted: boolean;
294
- }) | (Readonly<{
295
- id: string;
296
- x: number;
297
- y: number;
298
- strokeColor: string;
299
- backgroundColor: string;
300
- fillStyle: import("../element/types").FillStyle;
301
- strokeWidth: number;
302
- strokeStyle: import("../element/types").StrokeStyle;
303
- roundness: {
304
- type: import("../element/types").RoundnessType;
305
- value?: number | undefined;
306
- } | null;
307
- roughness: number;
308
- opacity: number;
309
- width: number;
310
- height: number;
311
- angle: import("../../math").Radians;
312
- seed: number;
313
- version: number;
314
- versionNonce: number;
315
- index: import("../element/types").FractionalIndex | null;
316
- isDeleted: boolean;
317
- groupIds: readonly string[];
318
- frameId: string | null;
319
- boundElements: readonly Readonly<{
320
- id: string;
321
- type: "text" | "arrow";
322
- }>[] | null;
323
- updated: number;
324
- link: string | null;
325
- locked: boolean;
326
- customData?: Record<string, any> | undefined;
327
- }> & {
328
- type: "frame";
329
- name: string | null;
330
- } & {
331
- isDeleted: boolean;
332
- }) | (Readonly<{
333
- id: string;
334
- x: number;
335
- y: number;
336
- strokeColor: string;
337
- backgroundColor: string;
338
- fillStyle: import("../element/types").FillStyle;
339
- strokeWidth: number;
340
- strokeStyle: import("../element/types").StrokeStyle;
341
- roundness: {
342
- type: import("../element/types").RoundnessType;
343
- value?: number | undefined;
344
- } | null;
345
- roughness: number;
346
- opacity: number;
347
- width: number;
348
- height: number;
349
- angle: import("../../math").Radians;
350
- seed: number;
351
- version: number;
352
- versionNonce: number;
353
- index: import("../element/types").FractionalIndex | null;
354
- isDeleted: boolean;
355
- groupIds: readonly string[];
356
- frameId: string | null;
357
- boundElements: readonly Readonly<{
358
- id: string;
359
- type: "text" | "arrow";
360
- }>[] | null;
361
- updated: number;
362
- link: string | null;
363
- locked: boolean;
364
- customData?: Record<string, any> | undefined;
365
- }> & {
366
- type: "magicframe";
367
- name: string | null;
368
- } & {
369
- isDeleted: boolean;
370
- }) | (Readonly<{
371
- id: string;
372
- x: number;
373
- y: number;
374
- strokeColor: string;
375
- backgroundColor: string;
376
- fillStyle: import("../element/types").FillStyle;
377
- strokeWidth: number;
378
- strokeStyle: import("../element/types").StrokeStyle;
379
- roundness: {
380
- type: import("../element/types").RoundnessType;
381
- value?: number | undefined;
382
- } | null;
383
- roughness: number;
384
- opacity: number;
385
- width: number;
386
- height: number;
387
- angle: import("../../math").Radians;
388
- seed: number;
389
- version: number;
390
- versionNonce: number;
391
- index: import("../element/types").FractionalIndex | null;
392
- isDeleted: boolean;
393
- groupIds: readonly string[];
394
- frameId: string | null;
395
- boundElements: readonly Readonly<{
396
- id: string;
397
- type: "text" | "arrow";
398
- }>[] | null;
399
- updated: number;
400
- link: string | null;
401
- locked: boolean;
402
- customData?: Record<string, any> | undefined;
403
- }> & Readonly<{
404
- type: "iframe";
405
- customData?: {
406
- generationData?: import("../element/types").MagicGenerationData | undefined;
407
- } | undefined;
408
- }> & {
409
- isDeleted: boolean;
410
- }) | (Readonly<{
411
- id: string;
412
- x: number;
413
- y: number;
414
- strokeColor: string;
415
- backgroundColor: string;
416
- fillStyle: import("../element/types").FillStyle;
417
- strokeWidth: number;
418
- strokeStyle: import("../element/types").StrokeStyle;
419
- roundness: {
420
- type: import("../element/types").RoundnessType;
421
- value?: number | undefined;
422
- } | null;
423
- roughness: number;
424
- opacity: number;
425
- width: number;
426
- height: number;
427
- angle: import("../../math").Radians;
428
- seed: number;
429
- version: number;
430
- versionNonce: number;
431
- index: import("../element/types").FractionalIndex | null;
432
- isDeleted: boolean;
433
- groupIds: readonly string[];
434
- frameId: string | null;
435
- boundElements: readonly Readonly<{
436
- id: string;
437
- type: "text" | "arrow";
438
- }>[] | null;
439
- updated: number;
440
- link: string | null;
441
- locked: boolean;
442
- customData?: Record<string, any> | undefined;
443
- }> & Readonly<{
444
- type: "embeddable";
445
- }> & {
446
- isDeleted: boolean;
447
- }) | (Readonly<{
448
- id: string;
449
- x: number;
450
- y: number;
451
- strokeColor: string;
452
- backgroundColor: string;
453
- fillStyle: import("../element/types").FillStyle;
454
- strokeWidth: number;
455
- strokeStyle: import("../element/types").StrokeStyle;
456
- roundness: {
457
- type: import("../element/types").RoundnessType;
458
- value?: number | undefined;
459
- } | null;
460
- roughness: number;
461
- opacity: number;
462
- width: number;
463
- height: number;
464
- angle: import("../../math").Radians;
465
- seed: number;
466
- version: number;
467
- versionNonce: number;
468
- index: import("../element/types").FractionalIndex | null;
469
- isDeleted: boolean;
470
- groupIds: readonly string[];
471
- frameId: string | null;
472
- boundElements: readonly Readonly<{
473
- id: string;
474
- type: "text" | "arrow";
475
- }>[] | null;
476
- updated: number;
477
- link: string | null;
478
- locked: boolean;
479
- customData?: Record<string, any> | undefined;
480
- }> & {
481
- type: "selection";
482
- } & {
483
- isDeleted: boolean;
484
- }) | null;
485
- export declare const getElementsAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement[];
@@ -1,4 +1,3 @@
1
- import { isIframeElement } from "../element/typeChecks";
2
1
  export const hasBackground = (type) => type === "rectangle" ||
3
2
  type === "iframe" ||
4
3
  type === "embeddable" ||
@@ -30,39 +29,3 @@ export const canChangeRoundness = (type) => type === "rectangle" ||
30
29
  type === "image";
31
30
  export const toolIsArrow = (type) => type === "arrow";
32
31
  export const canHaveArrowheads = (type) => type === "arrow";
33
- export const getElementAtPosition = (elements, isAtPositionFn) => {
34
- let hitElement = null;
35
- // We need to to hit testing from front (end of the array) to back (beginning of the array)
36
- // because array is ordered from lower z-index to highest and we want element z-index
37
- // with higher z-index
38
- for (let index = elements.length - 1; index >= 0; --index) {
39
- const element = elements[index];
40
- if (element.isDeleted) {
41
- continue;
42
- }
43
- if (isAtPositionFn(element)) {
44
- hitElement = element;
45
- break;
46
- }
47
- }
48
- return hitElement;
49
- };
50
- export const getElementsAtPosition = (elements, isAtPositionFn) => {
51
- const iframeLikes = [];
52
- // The parameter elements comes ordered from lower z-index to higher.
53
- // We want to preserve that order on the returned array.
54
- // Exception being embeddables which should be on top of everything else in
55
- // terms of hit testing.
56
- const elsAtPos = elements.filter((element) => {
57
- const hit = !element.isDeleted && isAtPositionFn(element);
58
- if (hit) {
59
- if (isIframeElement(element)) {
60
- iframeLikes.push(element);
61
- return false;
62
- }
63
- return true;
64
- }
65
- return false;
66
- });
67
- return elsAtPos.concat(iframeLikes);
68
- };
@@ -26,4 +26,11 @@ export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElemen
26
26
  skipInliningFonts?: true;
27
27
  reuseImages?: boolean;
28
28
  }) => Promise<SVGSVGElement>;
29
+ export declare const encodeSvgBase64Payload: ({ payload, metadataElement, }: {
30
+ payload: string;
31
+ metadataElement: SVGMetadataElement;
32
+ }) => void;
33
+ export declare const decodeSvgBase64Payload: ({ svg }: {
34
+ svg: string;
35
+ }) => string;
29
36
  export declare const getExportSize: (elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, scale: number) => [number, number];