@excalidraw/element 0.18.0-4a5c9e9 → 0.18.0-4ce38fb

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 (218) hide show
  1. package/dist/dev/index.js +11944 -8172
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +21 -20
  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 +7 -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 +22 -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/delta.d.ts +23 -1
  21. package/dist/types/element/src/distribute.d.ts +2 -2
  22. package/dist/types/element/src/dragElements.d.ts +27 -0
  23. package/dist/types/element/src/duplicate.d.ts +64 -3
  24. package/dist/types/element/src/embeddable.d.ts +2 -2
  25. package/dist/types/element/src/flowchart.d.ts +11 -7
  26. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  27. package/dist/types/element/src/frame.d.ts +11 -10
  28. package/dist/types/element/src/groups.d.ts +9 -9
  29. package/dist/types/element/src/index.d.ts +6 -1
  30. package/dist/types/element/src/linearElementEditor.d.ts +27 -10
  31. package/dist/types/element/src/listMarker.d.ts +34 -0
  32. package/dist/types/element/src/mutateElement.d.ts +1 -1
  33. package/dist/types/element/src/newElement.d.ts +53 -3
  34. package/dist/types/element/src/renderElement.d.ts +21 -7
  35. package/dist/types/element/src/resizeElements.d.ts +2 -2
  36. package/dist/types/element/src/selection.d.ts +6 -6
  37. package/dist/types/element/src/shape.d.ts +27 -1
  38. package/dist/types/element/src/sizeHelpers.d.ts +6 -0
  39. package/dist/types/element/src/sortElements.d.ts +10 -0
  40. package/dist/types/element/src/stickyNote.d.ts +183 -0
  41. package/dist/types/element/src/textElement.d.ts +20 -9
  42. package/dist/types/element/src/transform.d.ts +26 -7
  43. package/dist/types/element/src/typeChecks.d.ts +29 -27
  44. package/dist/types/element/src/types.d.ts +43 -7
  45. package/dist/types/element/src/utils.d.ts +15 -4
  46. package/dist/types/element/src/visualdebug.d.ts +1 -2
  47. package/dist/types/element/src/zindex.d.ts +2 -2
  48. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +87 -18
  49. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  50. package/dist/types/excalidraw/actions/actionBoundText.d.ts +58 -12
  51. package/dist/types/excalidraw/actions/actionCanvas.d.ts +265 -940
  52. package/dist/types/excalidraw/actions/actionClipboard.d.ts +58 -12
  53. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +29 -6
  54. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +89 -19
  55. package/dist/types/excalidraw/actions/actionDeselect.d.ts +30 -7
  56. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  57. package/dist/types/excalidraw/actions/actionElementLink.d.ts +29 -6
  58. package/dist/types/excalidraw/actions/actionElementLock.d.ts +59 -13
  59. package/dist/types/excalidraw/actions/actionExport.d.ts +60 -14
  60. package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
  61. package/dist/types/excalidraw/actions/actionFrame.d.ts +150 -203
  62. package/dist/types/excalidraw/actions/actionGroup.d.ts +73 -27
  63. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +84 -9
  64. package/dist/types/excalidraw/actions/actionLink.d.ts +30 -7
  65. package/dist/types/excalidraw/actions/actionMenu.d.ts +29 -6
  66. package/dist/types/excalidraw/actions/actionProperties.d.ts +96 -34
  67. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +34 -11
  68. package/dist/types/excalidraw/actions/actionStyles.d.ts +30 -7
  69. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  70. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +30 -7
  71. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +33 -11
  72. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +30 -7
  73. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +30 -7
  74. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +33 -11
  75. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  76. package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionToggleShowHints.d.ts} +45 -19
  77. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +30 -7
  78. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +31 -8
  79. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +30 -7
  80. package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
  81. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  82. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  83. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  84. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  85. package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
  86. package/dist/types/excalidraw/appState.d.ts +30 -6
  87. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  88. package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
  89. package/dist/types/excalidraw/components/App.arrowText.d.ts +70 -0
  90. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  91. package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
  92. package/dist/types/excalidraw/components/App.cursor.d.ts +38 -0
  93. package/dist/types/excalidraw/components/App.d.ts +301 -93
  94. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  95. package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
  96. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  97. package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
  98. package/dist/types/excalidraw/components/App.text.d.ts +146 -0
  99. package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
  100. package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
  101. package/dist/types/excalidraw/components/App.viewport.d.ts +113 -0
  102. package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
  103. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  104. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  105. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +5 -1
  106. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  107. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  108. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  109. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  110. package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
  111. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  112. package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
  113. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  114. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  115. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  116. package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
  117. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
  118. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
  119. package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
  120. package/dist/types/excalidraw/components/IconButton.d.ts +48 -0
  121. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  122. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  123. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  124. package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
  125. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
  126. package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
  127. package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
  128. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
  129. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  130. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  131. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  132. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  133. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  134. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  135. package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
  136. package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
  137. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
  138. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  139. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  140. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  141. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  142. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  143. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  144. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  145. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  146. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
  147. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
  148. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  149. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  150. package/dist/types/excalidraw/components/Tools.d.ts +151 -0
  151. package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
  152. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
  153. package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
  154. package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
  155. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  156. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  157. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
  158. package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +3 -0
  159. package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
  160. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
  161. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  162. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  163. package/dist/types/excalidraw/components/icons.d.ts +7 -1
  164. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +10 -4
  165. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  166. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  167. package/dist/types/excalidraw/data/blob.d.ts +62 -16
  168. package/dist/types/excalidraw/data/index.d.ts +4 -4
  169. package/dist/types/excalidraw/data/json.d.ts +37 -14
  170. package/dist/types/excalidraw/data/library.d.ts +1 -1
  171. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  172. package/dist/types/excalidraw/eraser/index.d.ts +2 -3
  173. package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
  174. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  175. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  176. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
  177. package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
  178. package/dist/types/excalidraw/lasso/index.d.ts +2 -3
  179. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  180. package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
  181. package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
  182. package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
  183. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +2 -4
  184. package/dist/types/excalidraw/scene/Renderer.d.ts +489 -20
  185. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  186. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  187. package/dist/types/excalidraw/scene/types.d.ts +7 -4
  188. package/dist/types/excalidraw/snapping.d.ts +7 -7
  189. package/dist/types/excalidraw/types.d.ts +531 -29
  190. package/dist/types/excalidraw/viewport.d.ts +302 -0
  191. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +13 -3
  192. package/dist/types/fractional-indexing/src/index.d.ts +29 -0
  193. package/dist/types/laser-pointer/src/index.d.ts +2 -0
  194. package/dist/types/laser-pointer/src/math.d.ts +16 -0
  195. package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
  196. package/dist/types/laser-pointer/src/state.d.ts +36 -0
  197. package/dist/types/math/src/constants.d.ts +0 -1
  198. package/dist/types/math/src/curve.d.ts +23 -13
  199. package/dist/types/math/src/index.d.ts +1 -0
  200. package/dist/types/math/src/pca.d.ts +79 -0
  201. package/dist/types/math/src/point.d.ts +1 -0
  202. package/dist/types/math/src/polygon.d.ts +25 -1
  203. package/dist/types/math/src/segment.d.ts +6 -0
  204. package/dist/types/utils/src/export.d.ts +4 -3
  205. package/dist/types/utils/src/index.d.ts +1 -2
  206. package/dist/types/utils/src/shape.d.ts +2 -2
  207. package/package.json +4 -3
  208. package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
  209. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  210. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  211. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
  212. package/dist/types/excalidraw/components/ToolButton.d.ts +0 -49
  213. package/dist/types/excalidraw/components/shapes.d.ts +0 -263
  214. package/dist/types/excalidraw/cursor.d.ts +0 -5
  215. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  216. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  217. package/dist/types/utils/src/bbox.d.ts +0 -9
  218. package/dist/types/utils/src/withinBounds.d.ts +0 -19
@@ -1,5 +1,5 @@
1
1
  import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "@excalidraw/element/types";
2
+ import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawStickyNoteElement, ExcalidrawTextElement } from "@excalidraw/element/types";
3
3
  import type { Curve, LineSegment, Polygon, Radians } from "@excalidraw/math";
4
4
  import type { Drawable, Op } from "roughjs/bin/core";
5
5
  export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
@@ -29,7 +29,7 @@ export type GeometricShape<Point extends GlobalPoint | LocalPoint> = {
29
29
  type: "polycurve";
30
30
  data: Polycurve<Point>;
31
31
  };
32
- type RectangularElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawTextElement | ExcalidrawSelectionElement;
32
+ type RectangularElement = ExcalidrawRectangleElement | ExcalidrawStickyNoteElement | ExcalidrawDiamondElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawTextElement | ExcalidrawSelectionElement;
33
33
  export declare const getPolygonShape: <Point extends GlobalPoint | LocalPoint>(element: RectangularElement) => GeometricShape<Point>;
34
34
  export declare const getSelectionBoxShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawElement, elementsMap: ElementsMap, padding?: number) => GeometricShape<Point>;
35
35
  export declare const getEllipseShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawEllipseElement) => GeometricShape<Point>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excalidraw/element",
3
- "version": "0.18.0-4a5c9e9",
3
+ "version": "0.18.0-4ce38fb",
4
4
  "type": "module",
5
5
  "types": "./dist/types/element/src/index.d.ts",
6
6
  "main": "./dist/prod/index.js",
@@ -63,7 +63,8 @@
63
63
  "build:esm": "rimraf dist && node ../../scripts/buildBase.js && yarn gen:types"
64
64
  },
65
65
  "dependencies": {
66
- "@excalidraw/common": "0.18.0-4a5c9e9",
67
- "@excalidraw/math": "0.18.0-4a5c9e9"
66
+ "@excalidraw/common": "0.18.0-4ce38fb",
67
+ "@excalidraw/math": "0.18.0-4ce38fb",
68
+ "@excalidraw/fractional-indexing": "0.18.0-4ce38fb"
68
69
  }
69
70
  }
@@ -1,16 +0,0 @@
1
- export type AnimationCallback = (timestamp: number) => void | boolean;
2
- export type AnimationTarget = {
3
- callback: AnimationCallback;
4
- stopped: boolean;
5
- };
6
- export declare class AnimationFrameHandler {
7
- private targets;
8
- private rafIds;
9
- register(key: object, callback: AnimationCallback): void;
10
- start(key: object): void;
11
- stop(key: object): void;
12
- private constructFrame;
13
- private scheduleFrame;
14
- private cancelFrame;
15
- private onFrame;
16
- }
@@ -1,10 +0,0 @@
1
- import "./FollowMode.scss";
2
- import type { UserToFollow } from "../../types";
3
- interface FollowModeProps {
4
- width: number;
5
- height: number;
6
- userToFollow: UserToFollow;
7
- onDisconnect: () => void;
8
- }
9
- declare const FollowMode: ({ height, width, userToFollow, onDisconnect, }: FollowModeProps) => import("react/jsx-runtime").JSX.Element;
10
- export default FollowMode;
@@ -1,10 +0,0 @@
1
- import "./ToolIcon.scss";
2
- type LockIconProps = {
3
- title?: string;
4
- name?: string;
5
- checked: boolean;
6
- onChange?(): void;
7
- isMobile?: boolean;
8
- };
9
- export declare const HandButton: (props: LockIconProps) => import("react/jsx-runtime").JSX.Element;
10
- export {};
@@ -1,10 +0,0 @@
1
- import "./ToolIcon.scss";
2
- import "./MobileToolBar.scss";
3
- import type { AppClassProperties, UIAppState } from "../types";
4
- type MobileToolBarProps = {
5
- app: AppClassProperties;
6
- onHandToolToggle: () => void;
7
- setAppState: React.Component<any, UIAppState>["setState"];
8
- };
9
- export declare const MobileToolBar: ({ app, onHandToolToggle, setAppState, }: MobileToolBarProps) => import("react/jsx-runtime").JSX.Element;
10
- export {};
@@ -1,49 +0,0 @@
1
- import React from "react";
2
- import type { PointerType } from "@excalidraw/element/types";
3
- import "./ToolIcon.scss";
4
- import type { CSSProperties } from "react";
5
- export type ToolButtonSize = "small" | "medium";
6
- type ToolButtonBaseProps = {
7
- icon?: React.ReactNode;
8
- "aria-label": string;
9
- "aria-keyshortcuts"?: string;
10
- "data-testid"?: string;
11
- label?: string;
12
- title?: string;
13
- name?: string;
14
- id?: string;
15
- size?: ToolButtonSize;
16
- keyBindingLabel?: string | null;
17
- showAriaLabel?: boolean;
18
- hidden?: boolean;
19
- visible?: boolean;
20
- selected?: boolean;
21
- disabled?: boolean;
22
- className?: string;
23
- style?: CSSProperties;
24
- isLoading?: boolean;
25
- };
26
- type ToolButtonProps = (ToolButtonBaseProps & {
27
- type: "button";
28
- children?: React.ReactNode;
29
- onClick?(event: React.MouseEvent): void;
30
- }) | (ToolButtonBaseProps & {
31
- type: "submit";
32
- children?: React.ReactNode;
33
- onClick?(event: React.MouseEvent): void;
34
- }) | (ToolButtonBaseProps & {
35
- type: "icon";
36
- children?: React.ReactNode;
37
- onClick?(): void;
38
- }) | (ToolButtonBaseProps & {
39
- type: "radio";
40
- checked: boolean;
41
- onChange?(data: {
42
- pointerType: PointerType | null;
43
- }): void;
44
- onPointerDown?(data: {
45
- pointerType: PointerType;
46
- }): void;
47
- });
48
- export declare const ToolButton: React.ForwardRefExoticComponent<ToolButtonProps & React.RefAttributes<unknown>>;
49
- export {};
@@ -1,263 +0,0 @@
1
- import type { AppClassProperties } from "../types";
2
- export declare const SHAPES: readonly [{
3
- readonly icon: import("react/jsx-runtime").JSX.Element;
4
- readonly value: "hand";
5
- readonly key: "h";
6
- readonly numericKey: null;
7
- readonly fillable: false;
8
- readonly toolbar: true;
9
- }, {
10
- readonly icon: import("react/jsx-runtime").JSX.Element;
11
- readonly value: "selection";
12
- readonly key: "v";
13
- readonly numericKey: "1";
14
- readonly fillable: true;
15
- readonly toolbar: true;
16
- }, {
17
- readonly icon: import("react/jsx-runtime").JSX.Element;
18
- readonly value: "rectangle";
19
- readonly key: "r";
20
- readonly numericKey: "2";
21
- readonly fillable: true;
22
- readonly toolbar: true;
23
- }, {
24
- readonly icon: import("react/jsx-runtime").JSX.Element;
25
- readonly value: "diamond";
26
- readonly key: "d";
27
- readonly numericKey: "3";
28
- readonly fillable: true;
29
- readonly toolbar: true;
30
- }, {
31
- readonly icon: import("react/jsx-runtime").JSX.Element;
32
- readonly value: "ellipse";
33
- readonly key: "o";
34
- readonly numericKey: "4";
35
- readonly fillable: true;
36
- readonly toolbar: true;
37
- }, {
38
- readonly icon: import("react/jsx-runtime").JSX.Element;
39
- readonly value: "arrow";
40
- readonly key: "a";
41
- readonly numericKey: "5";
42
- readonly fillable: true;
43
- readonly toolbar: true;
44
- }, {
45
- readonly icon: import("react/jsx-runtime").JSX.Element;
46
- readonly value: "line";
47
- readonly key: "l";
48
- readonly numericKey: "6";
49
- readonly fillable: true;
50
- readonly toolbar: true;
51
- }, {
52
- readonly icon: import("react/jsx-runtime").JSX.Element;
53
- readonly value: "freedraw";
54
- readonly key: readonly ["p", "x"];
55
- readonly numericKey: "7";
56
- readonly fillable: false;
57
- readonly toolbar: true;
58
- }, {
59
- readonly icon: import("react/jsx-runtime").JSX.Element;
60
- readonly value: "text";
61
- readonly key: "t";
62
- readonly numericKey: "8";
63
- readonly fillable: false;
64
- readonly toolbar: true;
65
- }, {
66
- readonly icon: import("react/jsx-runtime").JSX.Element;
67
- readonly value: "image";
68
- readonly key: null;
69
- readonly numericKey: "9";
70
- readonly fillable: false;
71
- readonly toolbar: true;
72
- }, {
73
- readonly icon: import("react/jsx-runtime").JSX.Element;
74
- readonly value: "eraser";
75
- readonly key: "e";
76
- readonly numericKey: "0";
77
- readonly fillable: false;
78
- readonly toolbar: true;
79
- }, {
80
- readonly icon: import("react/jsx-runtime").JSX.Element;
81
- readonly value: "laser";
82
- readonly key: "k";
83
- readonly numericKey: null;
84
- readonly fillable: false;
85
- readonly toolbar: false;
86
- }];
87
- export declare const getToolbarTools: (app: AppClassProperties) => readonly [{
88
- readonly icon: import("react/jsx-runtime").JSX.Element;
89
- readonly value: "hand";
90
- readonly key: "h";
91
- readonly numericKey: null;
92
- readonly fillable: false;
93
- readonly toolbar: true;
94
- }, {
95
- readonly icon: import("react/jsx-runtime").JSX.Element;
96
- readonly value: "selection";
97
- readonly key: "v";
98
- readonly numericKey: "1";
99
- readonly fillable: true;
100
- readonly toolbar: true;
101
- }, {
102
- readonly icon: import("react/jsx-runtime").JSX.Element;
103
- readonly value: "rectangle";
104
- readonly key: "r";
105
- readonly numericKey: "2";
106
- readonly fillable: true;
107
- readonly toolbar: true;
108
- }, {
109
- readonly icon: import("react/jsx-runtime").JSX.Element;
110
- readonly value: "diamond";
111
- readonly key: "d";
112
- readonly numericKey: "3";
113
- readonly fillable: true;
114
- readonly toolbar: true;
115
- }, {
116
- readonly icon: import("react/jsx-runtime").JSX.Element;
117
- readonly value: "ellipse";
118
- readonly key: "o";
119
- readonly numericKey: "4";
120
- readonly fillable: true;
121
- readonly toolbar: true;
122
- }, {
123
- readonly icon: import("react/jsx-runtime").JSX.Element;
124
- readonly value: "arrow";
125
- readonly key: "a";
126
- readonly numericKey: "5";
127
- readonly fillable: true;
128
- readonly toolbar: true;
129
- }, {
130
- readonly icon: import("react/jsx-runtime").JSX.Element;
131
- readonly value: "line";
132
- readonly key: "l";
133
- readonly numericKey: "6";
134
- readonly fillable: true;
135
- readonly toolbar: true;
136
- }, {
137
- readonly icon: import("react/jsx-runtime").JSX.Element;
138
- readonly value: "freedraw";
139
- readonly key: readonly ["p", "x"];
140
- readonly numericKey: "7";
141
- readonly fillable: false;
142
- readonly toolbar: true;
143
- }, {
144
- readonly icon: import("react/jsx-runtime").JSX.Element;
145
- readonly value: "text";
146
- readonly key: "t";
147
- readonly numericKey: "8";
148
- readonly fillable: false;
149
- readonly toolbar: true;
150
- }, {
151
- readonly icon: import("react/jsx-runtime").JSX.Element;
152
- readonly value: "image";
153
- readonly key: null;
154
- readonly numericKey: "9";
155
- readonly fillable: false;
156
- readonly toolbar: true;
157
- }, {
158
- readonly icon: import("react/jsx-runtime").JSX.Element;
159
- readonly value: "eraser";
160
- readonly key: "e";
161
- readonly numericKey: "0";
162
- readonly fillable: false;
163
- readonly toolbar: true;
164
- }, {
165
- readonly icon: import("react/jsx-runtime").JSX.Element;
166
- readonly value: "laser";
167
- readonly key: "k";
168
- readonly numericKey: null;
169
- readonly fillable: false;
170
- readonly toolbar: false;
171
- }] | readonly [{
172
- readonly value: "lasso";
173
- readonly icon: import("react/jsx-runtime").JSX.Element;
174
- readonly key: "v";
175
- readonly numericKey: "1";
176
- readonly fillable: true;
177
- readonly toolbar: true;
178
- }, ...({
179
- readonly icon: import("react/jsx-runtime").JSX.Element;
180
- readonly value: "hand";
181
- readonly key: "h";
182
- readonly numericKey: null;
183
- readonly fillable: false;
184
- readonly toolbar: true;
185
- } | {
186
- readonly icon: import("react/jsx-runtime").JSX.Element;
187
- readonly value: "selection";
188
- readonly key: "v";
189
- readonly numericKey: "1";
190
- readonly fillable: true;
191
- readonly toolbar: true;
192
- } | {
193
- readonly icon: import("react/jsx-runtime").JSX.Element;
194
- readonly value: "rectangle";
195
- readonly key: "r";
196
- readonly numericKey: "2";
197
- readonly fillable: true;
198
- readonly toolbar: true;
199
- } | {
200
- readonly icon: import("react/jsx-runtime").JSX.Element;
201
- readonly value: "diamond";
202
- readonly key: "d";
203
- readonly numericKey: "3";
204
- readonly fillable: true;
205
- readonly toolbar: true;
206
- } | {
207
- readonly icon: import("react/jsx-runtime").JSX.Element;
208
- readonly value: "ellipse";
209
- readonly key: "o";
210
- readonly numericKey: "4";
211
- readonly fillable: true;
212
- readonly toolbar: true;
213
- } | {
214
- readonly icon: import("react/jsx-runtime").JSX.Element;
215
- readonly value: "arrow";
216
- readonly key: "a";
217
- readonly numericKey: "5";
218
- readonly fillable: true;
219
- readonly toolbar: true;
220
- } | {
221
- readonly icon: import("react/jsx-runtime").JSX.Element;
222
- readonly value: "line";
223
- readonly key: "l";
224
- readonly numericKey: "6";
225
- readonly fillable: true;
226
- readonly toolbar: true;
227
- } | {
228
- readonly icon: import("react/jsx-runtime").JSX.Element;
229
- readonly value: "freedraw";
230
- readonly key: readonly ["p", "x"];
231
- readonly numericKey: "7";
232
- readonly fillable: false;
233
- readonly toolbar: true;
234
- } | {
235
- readonly icon: import("react/jsx-runtime").JSX.Element;
236
- readonly value: "text";
237
- readonly key: "t";
238
- readonly numericKey: "8";
239
- readonly fillable: false;
240
- readonly toolbar: true;
241
- } | {
242
- readonly icon: import("react/jsx-runtime").JSX.Element;
243
- readonly value: "image";
244
- readonly key: null;
245
- readonly numericKey: "9";
246
- readonly fillable: false;
247
- readonly toolbar: true;
248
- } | {
249
- readonly icon: import("react/jsx-runtime").JSX.Element;
250
- readonly value: "eraser";
251
- readonly key: "e";
252
- readonly numericKey: "0";
253
- readonly fillable: false;
254
- readonly toolbar: true;
255
- } | {
256
- readonly icon: import("react/jsx-runtime").JSX.Element;
257
- readonly value: "laser";
258
- readonly key: "k";
259
- readonly numericKey: null;
260
- readonly fillable: false;
261
- readonly toolbar: false;
262
- })[]];
263
- export declare const findShapeByKey: (key: string, app: AppClassProperties) => "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "lasso" | "eraser" | "hand" | "laser" | null;
@@ -1,5 +0,0 @@
1
- import type { AppState } from "./types";
2
- export declare const resetCursor: (interactiveCanvas: HTMLCanvasElement | null) => void;
3
- export declare const setCursor: (interactiveCanvas: HTMLCanvasElement | null, cursor: string) => void;
4
- export declare const setEraserCursor: (interactiveCanvas: HTMLCanvasElement | null, theme: AppState["theme"]) => void;
5
- export declare const setCursorForShape: (interactiveCanvas: HTMLCanvasElement | null, appState: Pick<AppState, "activeTool" | "theme">) => void;
@@ -1,18 +0,0 @@
1
- import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type { AppState, Offsets, PointerCoords, Zoom } from "../types";
3
- export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, offsets, }: {
4
- scenePoint: PointerCoords;
5
- viewportDimensions: {
6
- height: number;
7
- width: number;
8
- };
9
- zoom: Zoom;
10
- offsets?: Offsets;
11
- }) => {
12
- scrollX: number;
13
- scrollY: number;
14
- };
15
- export declare const calculateScrollCenter: (elements: readonly ExcalidrawElement[], appState: AppState) => {
16
- scrollX: number;
17
- scrollY: number;
18
- };
@@ -1,12 +0,0 @@
1
- import type { AppState, NormalizedZoomValue } from "../types";
2
- export declare const getStateForZoom: ({ viewportX, viewportY, nextZoom, }: {
3
- viewportX: number;
4
- viewportY: number;
5
- nextZoom: NormalizedZoomValue;
6
- }, appState: AppState) => {
7
- scrollX: number;
8
- scrollY: number;
9
- zoom: {
10
- value: NormalizedZoomValue;
11
- };
12
- };
@@ -1,9 +0,0 @@
1
- import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/common";
3
- export type LineSegment<P extends LocalPoint | GlobalPoint> = [P, P];
4
- export declare function getBBox<P extends LocalPoint | GlobalPoint>(line: LineSegment<P>): Bounds;
5
- export declare function doBBoxesIntersect(a: Bounds, b: Bounds): boolean;
6
- export declare function isPointOnLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
7
- export declare function isPointRightOfLine<P extends GlobalPoint | LocalPoint>(l: LineSegment<P>, p: P): boolean;
8
- export declare function isLineSegmentTouchingOrCrossingLine<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
9
- export declare function doLineSegmentsIntersect<P extends GlobalPoint | LocalPoint>(a: LineSegment<P>, b: LineSegment<P>): boolean;
@@ -1,19 +0,0 @@
1
- import { type Bounds } from "@excalidraw/common";
2
- import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
- type Element = NonDeletedExcalidrawElement;
4
- type Elements = readonly NonDeletedExcalidrawElement[];
5
- export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;
6
- export declare const elementPartiallyOverlapsWithOrContainsBBox: (element: Element, bbox: Bounds) => boolean;
7
- export declare const elementsOverlappingBBox: ({ elements, bounds, type, errorMargin, }: {
8
- elements: Elements;
9
- bounds: Bounds | ExcalidrawElement;
10
- /** safety offset. Defaults to 0. */
11
- errorMargin?: number;
12
- /**
13
- * - overlap: elements overlapping or inside bounds
14
- * - contain: elements inside bounds or bounds inside elements
15
- * - inside: elements inside bounds
16
- **/
17
- type: "overlap" | "contain" | "inside";
18
- }) => NonDeletedExcalidrawElement[];
19
- export {};