@nextcloud/excalidraw-common 0.18.0-8fb6b24 → 0.18.0-nc.2

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 (226) hide show
  1. package/dist/dev/index.js +204 -85
  2. package/dist/dev/index.js.map +3 -3
  3. package/dist/prod/index.js +3 -3
  4. package/dist/types/common/src/colors.d.ts +23 -1
  5. package/dist/types/common/src/constants.d.ts +66 -7
  6. package/dist/types/common/src/keys.d.ts +4 -0
  7. package/dist/types/common/src/points.d.ts +1 -1
  8. package/dist/types/common/src/random.d.ts +7 -0
  9. package/dist/types/common/src/utils.d.ts +6 -43
  10. package/dist/types/element/src/Scene.d.ts +16 -5
  11. package/dist/types/element/src/align.d.ts +2 -2
  12. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  13. package/dist/types/element/src/arrows/focus.d.ts +5 -2
  14. package/dist/types/element/src/binding.d.ts +28 -13
  15. package/dist/types/element/src/bounds.d.ts +24 -7
  16. package/dist/types/element/src/bucketFill.d.ts +110 -0
  17. package/dist/types/element/src/collision.d.ts +14 -5
  18. package/dist/types/element/src/comparisons.d.ts +8 -5
  19. package/dist/types/element/src/convertToShape.d.ts +23 -0
  20. package/dist/types/element/src/cropElement.d.ts +36 -4
  21. package/dist/types/element/src/delta.d.ts +23 -1
  22. package/dist/types/element/src/distribute.d.ts +2 -2
  23. package/dist/types/element/src/dragElements.d.ts +27 -0
  24. package/dist/types/element/src/duplicate.d.ts +64 -3
  25. package/dist/types/element/src/embeddable.d.ts +2 -2
  26. package/dist/types/element/src/flowchart.d.ts +11 -7
  27. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  28. package/dist/types/element/src/frame.d.ts +11 -10
  29. package/dist/types/element/src/groups.d.ts +10 -15
  30. package/dist/types/element/src/image.d.ts +6 -0
  31. package/dist/types/element/src/index.d.ts +6 -1
  32. package/dist/types/element/src/linearElementEditor.d.ts +27 -10
  33. package/dist/types/element/src/listMarker.d.ts +34 -0
  34. package/dist/types/element/src/mutateElement.d.ts +1 -1
  35. package/dist/types/element/src/newElement.d.ts +53 -3
  36. package/dist/types/element/src/renderElement.d.ts +22 -7
  37. package/dist/types/element/src/resizeElements.d.ts +8 -1
  38. package/dist/types/element/src/selection.d.ts +6 -12
  39. package/dist/types/element/src/shape.d.ts +27 -1
  40. package/dist/types/element/src/sizeHelpers.d.ts +6 -0
  41. package/dist/types/element/src/sortElements.d.ts +10 -0
  42. package/dist/types/element/src/stickyNote.d.ts +183 -0
  43. package/dist/types/element/src/textElement.d.ts +20 -9
  44. package/dist/types/element/src/transform.d.ts +26 -7
  45. package/dist/types/element/src/typeChecks.d.ts +29 -27
  46. package/dist/types/element/src/types.d.ts +43 -7
  47. package/dist/types/element/src/utils.d.ts +15 -4
  48. package/dist/types/element/src/zindex.d.ts +2 -2
  49. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +87 -18
  50. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  51. package/dist/types/excalidraw/actions/actionBoundText.d.ts +74 -203
  52. package/dist/types/excalidraw/actions/actionCanvas.d.ts +266 -941
  53. package/dist/types/excalidraw/actions/actionClipboard.d.ts +58 -12
  54. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +29 -6
  55. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +4 -518
  56. package/dist/types/excalidraw/actions/actionDeselect.d.ts +30 -7
  57. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  58. package/dist/types/excalidraw/actions/actionElementLink.d.ts +29 -6
  59. package/dist/types/excalidraw/actions/actionElementLock.d.ts +59 -13
  60. package/dist/types/excalidraw/actions/actionExport.d.ts +64 -18
  61. package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
  62. package/dist/types/excalidraw/actions/actionFrame.d.ts +114 -651
  63. package/dist/types/excalidraw/actions/actionGroup.d.ts +73 -27
  64. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +84 -9
  65. package/dist/types/excalidraw/actions/actionLink.d.ts +30 -7
  66. package/dist/types/excalidraw/actions/actionMenu.d.ts +29 -6
  67. package/dist/types/excalidraw/actions/actionProperties.d.ts +96 -34
  68. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +34 -11
  69. package/dist/types/excalidraw/actions/actionStyles.d.ts +30 -7
  70. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  71. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +30 -7
  72. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +33 -11
  73. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +30 -7
  74. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +30 -7
  75. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +33 -11
  76. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  77. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleShowHints.d.ts} +45 -19
  78. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +30 -7
  79. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +31 -8
  80. package/dist/types/excalidraw/actions/actionToggleWrap.d.ts +12 -0
  81. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +30 -7
  82. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  83. package/dist/types/excalidraw/actions/index.d.ts +3 -2
  84. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  85. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  86. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  87. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  88. package/dist/types/excalidraw/appState.d.ts +34 -10
  89. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  90. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  91. package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
  92. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  93. package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
  94. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  95. package/dist/types/excalidraw/components/App.d.ts +324 -111
  96. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  97. package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
  98. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  99. package/dist/types/excalidraw/components/App.modifiers.d.ts +38 -0
  100. package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
  101. package/dist/types/excalidraw/components/App.selection.d.ts +265 -0
  102. package/dist/types/excalidraw/components/App.selectionTool.d.ts +93 -0
  103. package/dist/types/excalidraw/components/App.text.d.ts +146 -0
  104. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  105. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  106. package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
  107. package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
  108. package/dist/types/excalidraw/components/App.wrap.d.ts +31 -0
  109. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  110. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  111. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
  112. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  113. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  114. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  115. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  116. package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
  117. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  118. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  119. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  120. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  121. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  122. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  123. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
  124. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
  125. package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
  126. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  127. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  128. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  129. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  130. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  131. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +3 -1
  132. package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +3 -1
  133. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
  134. package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
  135. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  136. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  137. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  138. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  139. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  140. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  141. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  142. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  143. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  144. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  145. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  146. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  147. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  148. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  149. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  150. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  151. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  152. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  153. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  154. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
  155. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
  156. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  157. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  158. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  159. package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
  160. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
  161. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
  162. package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
  163. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  164. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  165. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
  166. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  167. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  168. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  169. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  170. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  171. package/dist/types/excalidraw/components/icons.d.ts +7 -1
  172. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +10 -4
  173. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  174. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  175. package/dist/types/excalidraw/data/blob.d.ts +70 -24
  176. package/dist/types/excalidraw/data/index.d.ts +4 -4
  177. package/dist/types/excalidraw/data/json.d.ts +41 -18
  178. package/dist/types/excalidraw/data/library.d.ts +1 -1
  179. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  180. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  181. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  182. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  183. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  184. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
  185. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  186. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  187. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  188. package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
  189. package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
  190. package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
  191. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +2 -4
  192. package/dist/types/excalidraw/scene/Renderer.d.ts +489 -20
  193. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  194. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  195. package/dist/types/excalidraw/scene/types.d.ts +7 -4
  196. package/dist/types/excalidraw/snapping.d.ts +7 -7
  197. package/dist/types/excalidraw/types.d.ts +574 -29
  198. package/dist/types/excalidraw/viewport.d.ts +302 -0
  199. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +13 -3
  200. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  201. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  202. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  203. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  204. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  205. package/dist/types/math/src/constants.d.ts +0 -1
  206. package/dist/types/math/src/curve.d.ts +23 -13
  207. package/dist/types/math/src/index.d.ts +1 -0
  208. package/dist/types/math/src/pca.d.ts +79 -0
  209. package/dist/types/math/src/point.d.ts +1 -0
  210. package/dist/types/math/src/polygon.d.ts +25 -1
  211. package/dist/types/math/src/segment.d.ts +6 -0
  212. package/dist/types/utils/src/export.d.ts +4 -3
  213. package/dist/types/utils/src/index.d.ts +1 -2
  214. package/dist/types/utils/src/shape.d.ts +2 -2
  215. package/package.json +1 -1
  216. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  217. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  218. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  219. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
  220. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  221. package/dist/types/excalidraw/components/shapes.d.ts +0 -263
  222. package/dist/types/excalidraw/cursor.d.ts +0 -5
  223. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  224. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  225. package/dist/types/utils/src/bbox.d.ts +0 -9
  226. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -1,5 +1,6 @@
1
- import type { ExcalidrawElement } from "@nextcloud/excalidraw-element/types";
2
- import type { AppClassProperties, AppState } from "../types";
1
+ import type { ElementsMap, ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@nextcloud/excalidraw-element/types";
2
+ import type { ActionResult } from "./types";
3
+ import type { AppClassProperties, AppState, UIAppState } from "../types";
3
4
  export declare const actionSelectAllElementsInFrame: {
4
5
  name: "selectAllElementsInFrame";
5
6
  label: string;
@@ -19,30 +20,43 @@ export declare const actionSelectAllElementsInFrame: {
19
20
  isLoading: boolean;
20
21
  errorMessage: React.ReactNode;
21
22
  activeEmbeddable: {
22
- element: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement;
23
+ element: NonDeletedExcalidrawElement;
23
24
  state: "hover" | "active";
24
25
  } | null;
25
26
  newElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawNonSelectionElement> | null;
26
- resizingElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
27
+ resizingElement: NonDeletedExcalidrawElement | null;
27
28
  multiElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawLinearElement> | null;
28
- selectionElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
29
+ selectionElement: NonDeletedExcalidrawElement | null;
29
30
  isBindingEnabled: boolean;
31
+ boxSelectionMode: import("../types").BoxSelectionMode;
30
32
  bindingPreference: "enabled" | "disabled";
31
33
  isMidpointSnappingEnabled: boolean;
32
- startBoundElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement> | null;
34
+ showHints: boolean;
35
+ inputDevice: import("../types").InputDevice;
33
36
  suggestedBinding: {
34
37
  element: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement>;
35
38
  midPoint?: import("@nextcloud/excalidraw-math").GlobalPoint;
36
39
  } | null;
37
- frameToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawFrameLikeElement> | null;
40
+ textToolHover: {
41
+ type: "text";
42
+ elementId: ExcalidrawElement["id"];
43
+ } | {
44
+ type: "container";
45
+ elementId: ExcalidrawElement["id"];
46
+ } | {
47
+ type: "arrow";
48
+ elementId: import("@nextcloud/excalidraw-element/types").ExcalidrawArrowElement["id"];
49
+ anchor: "start" | "end" | "label";
50
+ } | null;
51
+ frameToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<ExcalidrawFrameLikeElement> | null;
38
52
  frameRendering: {
39
53
  enabled: boolean;
40
54
  name: boolean;
41
55
  outline: boolean;
42
56
  clip: boolean;
43
57
  };
44
- editingFrame: string | null;
45
- elementsToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<ExcalidrawElement>[] | null;
58
+ editingFrame: ExcalidrawFrameLikeElement["id"] | null;
59
+ elementsToHighlight: readonly NonDeletedExcalidrawElement[] | null;
46
60
  editingTextElement: import("@nextcloud/excalidraw-element/types").ExcalidrawTextElement | null;
47
61
  activeTool: {
48
62
  lastActiveTool: import("../types").ActiveTool | null;
@@ -60,11 +74,14 @@ export declare const actionSelectAllElementsInFrame: {
60
74
  exportWithDarkMode: boolean;
61
75
  exportScale: number;
62
76
  currentItemStrokeColor: string;
77
+ currentItemStickynoteStrokeColor: string;
78
+ currentItemStickynoteBackgroundColor: string;
63
79
  currentItemBackgroundColor: string;
64
80
  currentItemFillStyle: ExcalidrawElement["fillStyle"];
65
- currentItemStrokeWidth: number;
81
+ currentItemStrokeWidthKey: import("@nextcloud/excalidraw-common").StrokeWidthKey;
66
82
  currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
67
83
  currentItemRoughness: number;
84
+ currentItemStrokeVariability: import("@nextcloud/excalidraw-element/types").StrokeVariability;
68
85
  currentItemOpacity: number;
69
86
  currentItemFontFamily: import("@nextcloud/excalidraw-element/types").FontFamilyValues;
70
87
  currentItemFontSize: number;
@@ -77,6 +94,7 @@ export declare const actionSelectAllElementsInFrame: {
77
94
  viewBackgroundColor: string;
78
95
  scrollX: number;
79
96
  scrollY: number;
97
+ scrollConstraints: import("../types").ScrollConstraints | null;
80
98
  cursorButton: "up" | "down";
81
99
  scrolledOutside: boolean;
82
100
  name: string | null;
@@ -149,8 +167,6 @@ export declare const actionSelectAllElementsInFrame: {
149
167
  y: number;
150
168
  } | null;
151
169
  objectsSnapModeEnabled: boolean;
152
- userToFollow: import("../types").UserToFollow | null;
153
- followedBy: Set<import("../types").SocketId>;
154
170
  isCropping: boolean;
155
171
  croppingElementId: ExcalidrawElement["id"] | null;
156
172
  searchMatches: Readonly<{
@@ -162,6 +178,14 @@ export declare const actionSelectAllElementsInFrame: {
162
178
  [groupId: string]: true;
163
179
  };
164
180
  bindMode: import("@nextcloud/excalidraw-element/types").BindMode;
181
+ colorTopPicks: {
182
+ elementStroke: readonly string[] | null;
183
+ elementBackground: readonly string[] | null;
184
+ bucketFill: readonly string[] | null;
185
+ stickyNoteStroke: readonly string[] | null;
186
+ stickyNoteBackground: readonly string[] | null;
187
+ };
188
+ fontTopPicks: readonly import("@nextcloud/excalidraw-element/types").FontFamilyValues[] | null;
165
189
  };
166
190
  captureUpdate: "IMMEDIATELY";
167
191
  } | {
@@ -194,30 +218,43 @@ export declare const actionRemoveAllElementsFromFrame: {
194
218
  isLoading: boolean;
195
219
  errorMessage: React.ReactNode;
196
220
  activeEmbeddable: {
197
- element: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement;
221
+ element: NonDeletedExcalidrawElement;
198
222
  state: "hover" | "active";
199
223
  } | null;
200
224
  newElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawNonSelectionElement> | null;
201
- resizingElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
225
+ resizingElement: NonDeletedExcalidrawElement | null;
202
226
  multiElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawLinearElement> | null;
203
- selectionElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
227
+ selectionElement: NonDeletedExcalidrawElement | null;
204
228
  isBindingEnabled: boolean;
229
+ boxSelectionMode: import("../types").BoxSelectionMode;
205
230
  bindingPreference: "enabled" | "disabled";
206
231
  isMidpointSnappingEnabled: boolean;
207
- startBoundElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement> | null;
232
+ showHints: boolean;
233
+ inputDevice: import("../types").InputDevice;
208
234
  suggestedBinding: {
209
235
  element: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement>;
210
236
  midPoint?: import("@nextcloud/excalidraw-math").GlobalPoint;
211
237
  } | null;
212
- frameToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawFrameLikeElement> | null;
238
+ textToolHover: {
239
+ type: "text";
240
+ elementId: ExcalidrawElement["id"];
241
+ } | {
242
+ type: "container";
243
+ elementId: ExcalidrawElement["id"];
244
+ } | {
245
+ type: "arrow";
246
+ elementId: import("@nextcloud/excalidraw-element/types").ExcalidrawArrowElement["id"];
247
+ anchor: "start" | "end" | "label";
248
+ } | null;
249
+ frameToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<ExcalidrawFrameLikeElement> | null;
213
250
  frameRendering: {
214
251
  enabled: boolean;
215
252
  name: boolean;
216
253
  outline: boolean;
217
254
  clip: boolean;
218
255
  };
219
- editingFrame: string | null;
220
- elementsToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<ExcalidrawElement>[] | null;
256
+ editingFrame: ExcalidrawFrameLikeElement["id"] | null;
257
+ elementsToHighlight: readonly NonDeletedExcalidrawElement[] | null;
221
258
  editingTextElement: import("@nextcloud/excalidraw-element/types").ExcalidrawTextElement | null;
222
259
  activeTool: {
223
260
  lastActiveTool: import("../types").ActiveTool | null;
@@ -235,11 +272,14 @@ export declare const actionRemoveAllElementsFromFrame: {
235
272
  exportWithDarkMode: boolean;
236
273
  exportScale: number;
237
274
  currentItemStrokeColor: string;
275
+ currentItemStickynoteStrokeColor: string;
276
+ currentItemStickynoteBackgroundColor: string;
238
277
  currentItemBackgroundColor: string;
239
278
  currentItemFillStyle: ExcalidrawElement["fillStyle"];
240
- currentItemStrokeWidth: number;
279
+ currentItemStrokeWidthKey: import("@nextcloud/excalidraw-common").StrokeWidthKey;
241
280
  currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
242
281
  currentItemRoughness: number;
282
+ currentItemStrokeVariability: import("@nextcloud/excalidraw-element/types").StrokeVariability;
243
283
  currentItemOpacity: number;
244
284
  currentItemFontFamily: import("@nextcloud/excalidraw-element/types").FontFamilyValues;
245
285
  currentItemFontSize: number;
@@ -252,6 +292,7 @@ export declare const actionRemoveAllElementsFromFrame: {
252
292
  viewBackgroundColor: string;
253
293
  scrollX: number;
254
294
  scrollY: number;
295
+ scrollConstraints: import("../types").ScrollConstraints | null;
255
296
  cursorButton: "up" | "down";
256
297
  scrolledOutside: boolean;
257
298
  name: string | null;
@@ -324,8 +365,6 @@ export declare const actionRemoveAllElementsFromFrame: {
324
365
  y: number;
325
366
  } | null;
326
367
  objectsSnapModeEnabled: boolean;
327
- userToFollow: import("../types").UserToFollow | null;
328
- followedBy: Set<import("../types").SocketId>;
329
368
  isCropping: boolean;
330
369
  croppingElementId: ExcalidrawElement["id"] | null;
331
370
  searchMatches: Readonly<{
@@ -337,6 +376,14 @@ export declare const actionRemoveAllElementsFromFrame: {
337
376
  [groupId: string]: true;
338
377
  };
339
378
  bindMode: import("@nextcloud/excalidraw-element/types").BindMode;
379
+ colorTopPicks: {
380
+ elementStroke: readonly string[] | null;
381
+ elementBackground: readonly string[] | null;
382
+ bucketFill: readonly string[] | null;
383
+ stickyNoteStroke: readonly string[] | null;
384
+ stickyNoteBackground: readonly string[] | null;
385
+ };
386
+ fontTopPicks: readonly import("@nextcloud/excalidraw-element/types").FontFamilyValues[] | null;
340
387
  };
341
388
  captureUpdate: "IMMEDIATELY";
342
389
  } | {
@@ -373,203 +420,43 @@ export declare const actionupdateFrameRendering: {
373
420
  isLoading: boolean;
374
421
  errorMessage: React.ReactNode;
375
422
  activeEmbeddable: {
376
- element: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement;
423
+ element: NonDeletedExcalidrawElement;
377
424
  state: "hover" | "active";
378
425
  } | null;
379
426
  newElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawNonSelectionElement> | null;
380
- resizingElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
427
+ resizingElement: NonDeletedExcalidrawElement | null;
381
428
  multiElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawLinearElement> | null;
382
- selectionElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
429
+ selectionElement: NonDeletedExcalidrawElement | null;
383
430
  isBindingEnabled: boolean;
431
+ boxSelectionMode: import("../types").BoxSelectionMode;
384
432
  bindingPreference: "enabled" | "disabled";
385
433
  isMidpointSnappingEnabled: boolean;
386
- startBoundElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement> | null;
434
+ showHints: boolean;
435
+ inputDevice: import("../types").InputDevice;
387
436
  suggestedBinding: {
388
437
  element: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement>;
389
438
  midPoint?: import("@nextcloud/excalidraw-math").GlobalPoint;
390
439
  } | null;
391
- frameToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawFrameLikeElement> | null;
392
- editingFrame: string | null;
393
- elementsToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<ExcalidrawElement>[] | null;
394
- editingTextElement: import("@nextcloud/excalidraw-element/types").ExcalidrawTextElement | null;
395
- activeTool: {
396
- lastActiveTool: import("../types").ActiveTool | null;
397
- locked: boolean;
398
- fromSelection: boolean;
399
- } & import("../types").ActiveTool;
400
- preferredSelectionTool: {
401
- type: "selection" | "lasso";
402
- initialized: boolean;
403
- };
404
- penMode: boolean;
405
- penDetected: boolean;
406
- exportBackground: boolean;
407
- exportEmbedScene: boolean;
408
- exportWithDarkMode: boolean;
409
- exportScale: number;
410
- currentItemStrokeColor: string;
411
- currentItemBackgroundColor: string;
412
- currentItemFillStyle: ExcalidrawElement["fillStyle"];
413
- currentItemStrokeWidth: number;
414
- currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
415
- currentItemRoughness: number;
416
- currentItemOpacity: number;
417
- currentItemFontFamily: import("@nextcloud/excalidraw-element/types").FontFamilyValues;
418
- currentItemFontSize: number;
419
- currentItemTextAlign: import("@nextcloud/excalidraw-element/types").TextAlign;
420
- currentItemStartArrowhead: import("@nextcloud/excalidraw-element/types").Arrowhead | null;
421
- currentItemEndArrowhead: import("@nextcloud/excalidraw-element/types").Arrowhead | null;
422
- currentHoveredFontFamily: import("@nextcloud/excalidraw-element/types").FontFamilyValues | null;
423
- currentItemRoundness: import("@nextcloud/excalidraw-element/types").StrokeRoundness;
424
- currentItemArrowType: "sharp" | "round" | "elbow";
425
- viewBackgroundColor: string;
426
- scrollX: number;
427
- scrollY: number;
428
- cursorButton: "up" | "down";
429
- scrolledOutside: boolean;
430
- name: string | null;
431
- isResizing: boolean;
432
- isRotating: boolean;
433
- zoom: import("../types").Zoom;
434
- openMenu: "canvas" | null;
435
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
436
- openSidebar: {
437
- name: import("../types").SidebarName;
438
- tab?: import("../types").SidebarTabName;
439
- } | null;
440
- openDialog: null | {
441
- name: "imageExport" | "help" | "jsonExport";
440
+ textToolHover: {
441
+ type: "text";
442
+ elementId: ExcalidrawElement["id"];
442
443
  } | {
443
- name: "ttd";
444
- tab: "text-to-diagram" | "mermaid";
445
- } | {
446
- name: "commandPalette";
447
- } | {
448
- name: "settings";
449
- } | {
450
- name: "elementLinkSelector";
451
- sourceElementId: ExcalidrawElement["id"];
444
+ type: "container";
445
+ elementId: ExcalidrawElement["id"];
452
446
  } | {
453
- name: "charts";
454
- data: import("../charts").Spreadsheet;
455
- rawText: string;
456
- };
457
- defaultSidebarDockedPreference: boolean;
458
- lastPointerDownWith: import("@nextcloud/excalidraw-element/types").PointerType;
459
- selectedElementIds: Readonly<{
460
- [id: string]: true;
461
- }>;
462
- hoveredElementIds: Readonly<{
463
- [id: string]: true;
464
- }>;
465
- previousSelectedElementIds: {
466
- [id: string]: true;
467
- };
468
- selectedElementsAreBeingDragged: boolean;
469
- shouldCacheIgnoreZoom: boolean;
470
- toast: {
471
- message: React.ReactNode;
472
- closable?: boolean;
473
- duration?: number;
474
- } | null;
475
- zenModeEnabled: boolean;
476
- theme: import("@nextcloud/excalidraw-element/types").Theme;
477
- gridSize: number;
478
- gridStep: number;
479
- gridModeEnabled: boolean;
480
- viewModeEnabled: boolean;
481
- selectedGroupIds: {
482
- [groupId: string]: boolean;
483
- };
484
- editingGroupId: import("@nextcloud/excalidraw-element/types").GroupId | null;
485
- width: number;
486
- height: number;
487
- offsetTop: number;
488
- offsetLeft: number;
489
- fileHandle: FileSystemFileHandle | null;
490
- collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
491
- stats: {
492
- open: boolean;
493
- panels: number;
494
- };
495
- showHyperlinkPopup: false | "info" | "editor";
496
- selectedLinearElement: import("@nextcloud/excalidraw-element").LinearElementEditor | null;
497
- snapLines: readonly import("../snapping").SnapLine[];
498
- originSnapOffset: {
499
- x: number;
500
- y: number;
447
+ type: "arrow";
448
+ elementId: import("@nextcloud/excalidraw-element/types").ExcalidrawArrowElement["id"];
449
+ anchor: "start" | "end" | "label";
501
450
  } | null;
502
- objectsSnapModeEnabled: boolean;
503
- userToFollow: import("../types").UserToFollow | null;
504
- followedBy: Set<import("../types").SocketId>;
505
- isCropping: boolean;
506
- croppingElementId: ExcalidrawElement["id"] | null;
507
- searchMatches: Readonly<{
508
- focusedId: ExcalidrawElement["id"] | null;
509
- matches: readonly import("../types").SearchMatch[];
510
- }> | null;
511
- activeLockedId: string | null;
512
- lockedMultiSelections: {
513
- [groupId: string]: true;
514
- };
515
- bindMode: import("@nextcloud/excalidraw-element/types").BindMode;
516
- };
517
- captureUpdate: "EVENTUALLY";
518
- };
519
- checked: (appState: AppState) => boolean;
520
- } & {
521
- keyTest?: undefined;
522
- };
523
- export declare const actionSetFrameAsActiveTool: {
524
- name: "setFrameAsActiveTool";
525
- label: string;
526
- trackEvent: {
527
- category: "toolbar";
528
- };
529
- icon: import("react/jsx-runtime").JSX.Element;
530
- viewMode: false;
531
- perform: (elements: readonly import("@nextcloud/excalidraw-element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
532
- elements: readonly import("@nextcloud/excalidraw-element/types").OrderedExcalidrawElement[];
533
- appState: {
451
+ frameToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<ExcalidrawFrameLikeElement> | null;
452
+ editingFrame: ExcalidrawFrameLikeElement["id"] | null;
453
+ elementsToHighlight: readonly NonDeletedExcalidrawElement[] | null;
454
+ editingTextElement: import("@nextcloud/excalidraw-element/types").ExcalidrawTextElement | null;
534
455
  activeTool: {
535
456
  lastActiveTool: import("../types").ActiveTool | null;
536
457
  locked: boolean;
537
458
  fromSelection: boolean;
538
459
  } & import("../types").ActiveTool;
539
- contextMenu: {
540
- items: import("../components/ContextMenu").ContextMenuItems;
541
- top: number;
542
- left: number;
543
- } | null;
544
- showWelcomeScreen: boolean;
545
- isLoading: boolean;
546
- errorMessage: React.ReactNode;
547
- activeEmbeddable: {
548
- element: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement;
549
- state: "hover" | "active";
550
- } | null;
551
- newElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawNonSelectionElement> | null;
552
- resizingElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
553
- multiElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawLinearElement> | null;
554
- selectionElement: import("@nextcloud/excalidraw-element/types").NonDeletedExcalidrawElement | null;
555
- isBindingEnabled: boolean;
556
- bindingPreference: "enabled" | "disabled";
557
- isMidpointSnappingEnabled: boolean;
558
- startBoundElement: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement> | null;
559
- suggestedBinding: {
560
- element: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawBindableElement>;
561
- midPoint?: import("@nextcloud/excalidraw-math").GlobalPoint;
562
- } | null;
563
- frameToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawFrameLikeElement> | null;
564
- frameRendering: {
565
- enabled: boolean;
566
- name: boolean;
567
- outline: boolean;
568
- clip: boolean;
569
- };
570
- editingFrame: string | null;
571
- elementsToHighlight: import("@nextcloud/excalidraw-element/types").NonDeleted<ExcalidrawElement>[] | null;
572
- editingTextElement: import("@nextcloud/excalidraw-element/types").ExcalidrawTextElement | null;
573
460
  preferredSelectionTool: {
574
461
  type: "selection" | "lasso";
575
462
  initialized: boolean;
@@ -581,11 +468,14 @@ export declare const actionSetFrameAsActiveTool: {
581
468
  exportWithDarkMode: boolean;
582
469
  exportScale: number;
583
470
  currentItemStrokeColor: string;
471
+ currentItemStickynoteStrokeColor: string;
472
+ currentItemStickynoteBackgroundColor: string;
584
473
  currentItemBackgroundColor: string;
585
474
  currentItemFillStyle: ExcalidrawElement["fillStyle"];
586
- currentItemStrokeWidth: number;
475
+ currentItemStrokeWidthKey: import("@nextcloud/excalidraw-common").StrokeWidthKey;
587
476
  currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
588
477
  currentItemRoughness: number;
478
+ currentItemStrokeVariability: import("@nextcloud/excalidraw-element/types").StrokeVariability;
589
479
  currentItemOpacity: number;
590
480
  currentItemFontFamily: import("@nextcloud/excalidraw-element/types").FontFamilyValues;
591
481
  currentItemFontSize: number;
@@ -598,6 +488,7 @@ export declare const actionSetFrameAsActiveTool: {
598
488
  viewBackgroundColor: string;
599
489
  scrollX: number;
600
490
  scrollY: number;
491
+ scrollConstraints: import("../types").ScrollConstraints | null;
601
492
  cursorButton: "up" | "down";
602
493
  scrolledOutside: boolean;
603
494
  name: string | null;
@@ -673,8 +564,6 @@ export declare const actionSetFrameAsActiveTool: {
673
564
  y: number;
674
565
  } | null;
675
566
  objectsSnapModeEnabled: boolean;
676
- userToFollow: import("../types").UserToFollow | null;
677
- followedBy: Set<import("../types").SocketId>;
678
567
  isCropping: boolean;
679
568
  croppingElementId: ExcalidrawElement["id"] | null;
680
569
  searchMatches: Readonly<{
@@ -686,465 +575,39 @@ export declare const actionSetFrameAsActiveTool: {
686
575
  [groupId: string]: true;
687
576
  };
688
577
  bindMode: import("@nextcloud/excalidraw-element/types").BindMode;
578
+ colorTopPicks: {
579
+ elementStroke: readonly string[] | null;
580
+ elementBackground: readonly string[] | null;
581
+ bucketFill: readonly string[] | null;
582
+ stickyNoteStroke: readonly string[] | null;
583
+ stickyNoteBackground: readonly string[] | null;
584
+ };
585
+ fontTopPicks: readonly import("@nextcloud/excalidraw-element/types").FontFamilyValues[] | null;
689
586
  };
690
587
  captureUpdate: "EVENTUALLY";
691
588
  };
692
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
589
+ checked: (appState: Readonly<UIAppState>) => boolean;
693
590
  } & {
694
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
591
+ keyTest?: undefined;
695
592
  };
593
+ /**
594
+ * The frame that wrapping the selection removes instead: the one frame the
595
+ * selection holds (along with any of its children), or, with no frame
596
+ * selected, the frame whose children are all selected.
597
+ */
598
+ export declare const getFrameToUnwrap: (selectedElements: readonly ExcalidrawElement[], elementsMap: ElementsMap) => ExcalidrawFrameLikeElement | null;
599
+ /** removes the frame, keeping its children selected in its place */
600
+ export declare const unwrapFrame: (elements: readonly ExcalidrawElement[], appState: AppState, frame: ExcalidrawFrameLikeElement, app: AppClassProperties) => ActionResult;
601
+ /** wraps the selection in a new frame — edge to edge when it's an image */
602
+ export declare const wrapInFrame: (elements: readonly ExcalidrawElement[], appState: AppState, selectedElements: NonDeletedExcalidrawElement[], app: AppClassProperties) => ActionResult;
696
603
  export declare const actionWrapSelectionInFrame: {
697
604
  name: "wrapSelectionInFrame";
698
- label: string;
605
+ label: (elements: readonly ExcalidrawElement[], appState: Readonly<UIAppState>, app: AppClassProperties) => "labels.removeFrame" | "labels.wrapSelectionInFrame";
699
606
  trackEvent: {
700
607
  category: "element";
701
608
  };
702
609
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
703
- perform: (elements: readonly import("@nextcloud/excalidraw-element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
704
- elements: ((Readonly<{
705
- id: string;
706
- x: number;
707
- y: number;
708
- strokeColor: string;
709
- backgroundColor: string;
710
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
711
- strokeWidth: number;
712
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
713
- roundness: null | {
714
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
715
- value?: number;
716
- };
717
- roughness: number;
718
- opacity: number;
719
- width: number;
720
- height: number;
721
- angle: import("@nextcloud/excalidraw-math").Radians;
722
- seed: number;
723
- version: number;
724
- versionNonce: number;
725
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
726
- isDeleted: boolean;
727
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
728
- frameId: string | null;
729
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
730
- updated: number;
731
- link: string | null;
732
- locked: boolean;
733
- customData?: Record<string, any>;
734
- }> & Readonly<{
735
- type: "line" | "arrow";
736
- points: readonly import("@nextcloud/excalidraw-math").LocalPoint[];
737
- startBinding: import("@nextcloud/excalidraw-element/types").FixedPointBinding | null;
738
- endBinding: import("@nextcloud/excalidraw-element/types").FixedPointBinding | null;
739
- startArrowhead: import("@nextcloud/excalidraw-element/types").Arrowhead | null;
740
- endArrowhead: import("@nextcloud/excalidraw-element/types").Arrowhead | null;
741
- }> & {
742
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
743
- }) | (Readonly<{
744
- id: string;
745
- x: number;
746
- y: number;
747
- strokeColor: string;
748
- backgroundColor: string;
749
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
750
- strokeWidth: number;
751
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
752
- roundness: null | {
753
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
754
- value?: number;
755
- };
756
- roughness: number;
757
- opacity: number;
758
- width: number;
759
- height: number;
760
- angle: import("@nextcloud/excalidraw-math").Radians;
761
- seed: number;
762
- version: number;
763
- versionNonce: number;
764
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
765
- isDeleted: boolean;
766
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
767
- frameId: string | null;
768
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
769
- updated: number;
770
- link: string | null;
771
- locked: boolean;
772
- customData?: Record<string, any>;
773
- }> & {
774
- type: "selection";
775
- } & {
776
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
777
- }) | (Readonly<{
778
- id: string;
779
- x: number;
780
- y: number;
781
- strokeColor: string;
782
- backgroundColor: string;
783
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
784
- strokeWidth: number;
785
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
786
- roundness: null | {
787
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
788
- value?: number;
789
- };
790
- roughness: number;
791
- opacity: number;
792
- width: number;
793
- height: number;
794
- angle: import("@nextcloud/excalidraw-math").Radians;
795
- seed: number;
796
- version: number;
797
- versionNonce: number;
798
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
799
- isDeleted: boolean;
800
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
801
- frameId: string | null;
802
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
803
- updated: number;
804
- link: string | null;
805
- locked: boolean;
806
- customData?: Record<string, any>;
807
- }> & {
808
- type: "rectangle";
809
- } & {
810
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
811
- }) | (Readonly<{
812
- id: string;
813
- x: number;
814
- y: number;
815
- strokeColor: string;
816
- backgroundColor: string;
817
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
818
- strokeWidth: number;
819
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
820
- roundness: null | {
821
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
822
- value?: number;
823
- };
824
- roughness: number;
825
- opacity: number;
826
- width: number;
827
- height: number;
828
- angle: import("@nextcloud/excalidraw-math").Radians;
829
- seed: number;
830
- version: number;
831
- versionNonce: number;
832
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
833
- isDeleted: boolean;
834
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
835
- frameId: string | null;
836
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
837
- updated: number;
838
- link: string | null;
839
- locked: boolean;
840
- customData?: Record<string, any>;
841
- }> & {
842
- type: "diamond";
843
- } & {
844
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
845
- }) | (Readonly<{
846
- id: string;
847
- x: number;
848
- y: number;
849
- strokeColor: string;
850
- backgroundColor: string;
851
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
852
- strokeWidth: number;
853
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
854
- roundness: null | {
855
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
856
- value?: number;
857
- };
858
- roughness: number;
859
- opacity: number;
860
- width: number;
861
- height: number;
862
- angle: import("@nextcloud/excalidraw-math").Radians;
863
- seed: number;
864
- version: number;
865
- versionNonce: number;
866
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
867
- isDeleted: boolean;
868
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
869
- frameId: string | null;
870
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
871
- updated: number;
872
- link: string | null;
873
- locked: boolean;
874
- customData?: Record<string, any>;
875
- }> & {
876
- type: "ellipse";
877
- } & {
878
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
879
- }) | (Readonly<{
880
- id: string;
881
- x: number;
882
- y: number;
883
- strokeColor: string;
884
- backgroundColor: string;
885
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
886
- strokeWidth: number;
887
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
888
- roundness: null | {
889
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
890
- value?: number;
891
- };
892
- roughness: number;
893
- opacity: number;
894
- width: number;
895
- height: number;
896
- angle: import("@nextcloud/excalidraw-math").Radians;
897
- seed: number;
898
- version: number;
899
- versionNonce: number;
900
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
901
- isDeleted: boolean;
902
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
903
- frameId: string | null;
904
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
905
- updated: number;
906
- link: string | null;
907
- locked: boolean;
908
- customData?: Record<string, any>;
909
- }> & Readonly<{
910
- type: "embeddable";
911
- }> & {
912
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
913
- }) | (Readonly<{
914
- id: string;
915
- x: number;
916
- y: number;
917
- strokeColor: string;
918
- backgroundColor: string;
919
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
920
- strokeWidth: number;
921
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
922
- roundness: null | {
923
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
924
- value?: number;
925
- };
926
- roughness: number;
927
- opacity: number;
928
- width: number;
929
- height: number;
930
- angle: import("@nextcloud/excalidraw-math").Radians;
931
- seed: number;
932
- version: number;
933
- versionNonce: number;
934
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
935
- isDeleted: boolean;
936
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
937
- frameId: string | null;
938
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
939
- updated: number;
940
- link: string | null;
941
- locked: boolean;
942
- customData?: Record<string, any>;
943
- }> & Readonly<{
944
- type: "iframe";
945
- customData?: {
946
- generationData?: import("@nextcloud/excalidraw-element/types").MagicGenerationData;
947
- };
948
- }> & {
949
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
950
- }) | (Readonly<{
951
- id: string;
952
- x: number;
953
- y: number;
954
- strokeColor: string;
955
- backgroundColor: string;
956
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
957
- strokeWidth: number;
958
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
959
- roundness: null | {
960
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
961
- value?: number;
962
- };
963
- roughness: number;
964
- opacity: number;
965
- width: number;
966
- height: number;
967
- angle: import("@nextcloud/excalidraw-math").Radians;
968
- seed: number;
969
- version: number;
970
- versionNonce: number;
971
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
972
- isDeleted: boolean;
973
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
974
- frameId: string | null;
975
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
976
- updated: number;
977
- link: string | null;
978
- locked: boolean;
979
- customData?: Record<string, any>;
980
- }> & Readonly<{
981
- type: "image";
982
- fileId: import("@nextcloud/excalidraw-element/types").FileId | null;
983
- status: "pending" | "saved" | "error";
984
- scale: [number, number];
985
- crop: import("@nextcloud/excalidraw-element/types").ImageCrop | null;
986
- }> & {
987
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
988
- }) | (Readonly<{
989
- id: string;
990
- x: number;
991
- y: number;
992
- strokeColor: string;
993
- backgroundColor: string;
994
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
995
- strokeWidth: number;
996
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
997
- roundness: null | {
998
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
999
- value?: number;
1000
- };
1001
- roughness: number;
1002
- opacity: number;
1003
- width: number;
1004
- height: number;
1005
- angle: import("@nextcloud/excalidraw-math").Radians;
1006
- seed: number;
1007
- version: number;
1008
- versionNonce: number;
1009
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
1010
- isDeleted: boolean;
1011
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
1012
- frameId: string | null;
1013
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
1014
- updated: number;
1015
- link: string | null;
1016
- locked: boolean;
1017
- customData?: Record<string, any>;
1018
- }> & {
1019
- type: "frame";
1020
- name: string | null;
1021
- } & {
1022
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
1023
- }) | (Readonly<{
1024
- id: string;
1025
- x: number;
1026
- y: number;
1027
- strokeColor: string;
1028
- backgroundColor: string;
1029
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
1030
- strokeWidth: number;
1031
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
1032
- roundness: null | {
1033
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
1034
- value?: number;
1035
- };
1036
- roughness: number;
1037
- opacity: number;
1038
- width: number;
1039
- height: number;
1040
- angle: import("@nextcloud/excalidraw-math").Radians;
1041
- seed: number;
1042
- version: number;
1043
- versionNonce: number;
1044
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
1045
- isDeleted: boolean;
1046
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
1047
- frameId: string | null;
1048
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
1049
- updated: number;
1050
- link: string | null;
1051
- locked: boolean;
1052
- customData?: Record<string, any>;
1053
- }> & {
1054
- type: "magicframe";
1055
- name: string | null;
1056
- } & {
1057
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
1058
- }) | (Readonly<{
1059
- id: string;
1060
- x: number;
1061
- y: number;
1062
- strokeColor: string;
1063
- backgroundColor: string;
1064
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
1065
- strokeWidth: number;
1066
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
1067
- roundness: null | {
1068
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
1069
- value?: number;
1070
- };
1071
- roughness: number;
1072
- opacity: number;
1073
- width: number;
1074
- height: number;
1075
- angle: import("@nextcloud/excalidraw-math").Radians;
1076
- seed: number;
1077
- version: number;
1078
- versionNonce: number;
1079
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
1080
- isDeleted: boolean;
1081
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
1082
- frameId: string | null;
1083
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
1084
- updated: number;
1085
- link: string | null;
1086
- locked: boolean;
1087
- customData?: Record<string, any>;
1088
- }> & Readonly<{
1089
- type: "text";
1090
- fontSize: number;
1091
- fontFamily: import("@nextcloud/excalidraw-element/types").FontFamilyValues;
1092
- text: string;
1093
- textAlign: import("@nextcloud/excalidraw-element/types").TextAlign;
1094
- verticalAlign: import("@nextcloud/excalidraw-element/types").VerticalAlign;
1095
- containerId: import("@nextcloud/excalidraw-element/types").ExcalidrawGenericElement["id"] | null;
1096
- originalText: string;
1097
- autoResize: boolean;
1098
- lineHeight: number & {
1099
- _brand: "unitlessLineHeight";
1100
- };
1101
- }> & {
1102
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
1103
- }) | (Readonly<{
1104
- id: string;
1105
- x: number;
1106
- y: number;
1107
- strokeColor: string;
1108
- backgroundColor: string;
1109
- fillStyle: import("@nextcloud/excalidraw-element/types").FillStyle;
1110
- strokeWidth: number;
1111
- strokeStyle: import("@nextcloud/excalidraw-element/types").StrokeStyle;
1112
- roundness: null | {
1113
- type: import("@nextcloud/excalidraw-element/types").RoundnessType;
1114
- value?: number;
1115
- };
1116
- roughness: number;
1117
- opacity: number;
1118
- width: number;
1119
- height: number;
1120
- angle: import("@nextcloud/excalidraw-math").Radians;
1121
- seed: number;
1122
- version: number;
1123
- versionNonce: number;
1124
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex | null;
1125
- isDeleted: boolean;
1126
- groupIds: readonly import("@nextcloud/excalidraw-element/types").GroupId[];
1127
- frameId: string | null;
1128
- boundElements: readonly import("@nextcloud/excalidraw-element/types").BoundElement[] | null;
1129
- updated: number;
1130
- link: string | null;
1131
- locked: boolean;
1132
- customData?: Record<string, any>;
1133
- }> & Readonly<{
1134
- type: "freedraw";
1135
- points: readonly import("@nextcloud/excalidraw-math").LocalPoint[];
1136
- pressures: readonly number[];
1137
- simulatePressure: boolean;
1138
- }> & {
1139
- index: import("@nextcloud/excalidraw-element/types").FractionalIndex;
1140
- }) | import("@nextcloud/excalidraw-element/types").NonDeleted<import("@nextcloud/excalidraw-element/types").ExcalidrawFrameElement>)[];
1141
- appState: {
1142
- selectedElementIds: {
1143
- [x: string]: true;
1144
- };
1145
- };
1146
- captureUpdate: "IMMEDIATELY";
1147
- };
610
+ perform: (elements: readonly import("@nextcloud/excalidraw-element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => ActionResult;
1148
611
  } & {
1149
612
  keyTest?: undefined;
1150
613
  };