@myoc/math 0.19.521 → 0.19.522

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 (153) hide show
  1. package/dist/dev/index.js +261 -92
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +1 -1
  4. package/dist/types/common/src/colors.d.ts +14 -0
  5. package/dist/types/common/src/constants.d.ts +3 -0
  6. package/dist/types/common/src/keys.d.ts +2 -0
  7. package/dist/types/common/src/points.d.ts +1 -1
  8. package/dist/types/common/src/utils.d.ts +1 -1
  9. package/dist/types/element/src/Scene.d.ts +1 -1
  10. package/dist/types/element/src/align.d.ts +2 -2
  11. package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
  12. package/dist/types/element/src/arrows/focus.d.ts +5 -2
  13. package/dist/types/element/src/binding.d.ts +17 -8
  14. package/dist/types/element/src/bounds.d.ts +5 -9
  15. package/dist/types/element/src/bucketFill.d.ts +110 -0
  16. package/dist/types/element/src/collision.d.ts +1 -1
  17. package/dist/types/element/src/comparisons.d.ts +4 -4
  18. package/dist/types/element/src/convertToShape.d.ts +23 -0
  19. package/dist/types/element/src/distribute.d.ts +2 -2
  20. package/dist/types/element/src/dragElements.d.ts +27 -0
  21. package/dist/types/element/src/duplicate.d.ts +3 -3
  22. package/dist/types/element/src/embeddable.d.ts +2 -2
  23. package/dist/types/element/src/flowchart.d.ts +7 -7
  24. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  25. package/dist/types/element/src/frame.d.ts +4 -4
  26. package/dist/types/element/src/groups.d.ts +9 -9
  27. package/dist/types/element/src/index.d.ts +4 -1
  28. package/dist/types/element/src/linearElementEditor.d.ts +17 -10
  29. package/dist/types/element/src/newElement.d.ts +13 -0
  30. package/dist/types/element/src/renderElement.d.ts +0 -3
  31. package/dist/types/element/src/resizeElements.d.ts +2 -2
  32. package/dist/types/element/src/selection.d.ts +5 -5
  33. package/dist/types/element/src/shape.d.ts +12 -0
  34. package/dist/types/element/src/sortElements.d.ts +10 -0
  35. package/dist/types/element/src/textElement.d.ts +12 -9
  36. package/dist/types/element/src/transform.d.ts +2 -2
  37. package/dist/types/element/src/typeChecks.d.ts +25 -25
  38. package/dist/types/element/src/types.d.ts +2 -1
  39. package/dist/types/element/src/zindex.d.ts +2 -2
  40. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
  41. package/dist/types/excalidraw/actions/actionBoundText.d.ts +24 -8
  42. package/dist/types/excalidraw/actions/actionCanvas.d.ts +128 -961
  43. package/dist/types/excalidraw/actions/actionClipboard.d.ts +24 -8
  44. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +12 -4
  45. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +38 -13
  46. package/dist/types/excalidraw/actions/actionDeselect.d.ts +9 -4
  47. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  48. package/dist/types/excalidraw/actions/actionElementLink.d.ts +12 -4
  49. package/dist/types/excalidraw/actions/actionElementLock.d.ts +25 -9
  50. package/dist/types/excalidraw/actions/actionExport.d.ts +26 -10
  51. package/dist/types/excalidraw/actions/actionFrame.d.ts +47 -205
  52. package/dist/types/excalidraw/actions/actionGroup.d.ts +39 -23
  53. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +15 -6
  54. package/dist/types/excalidraw/actions/actionLink.d.ts +13 -5
  55. package/dist/types/excalidraw/actions/actionMenu.d.ts +12 -4
  56. package/dist/types/excalidraw/actions/actionProperties.d.ts +43 -24
  57. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +17 -9
  58. package/dist/types/excalidraw/actions/actionStyles.d.ts +12 -4
  59. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
  60. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +14 -6
  61. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +16 -9
  62. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +13 -5
  63. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +13 -5
  64. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +16 -9
  65. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +13 -5
  66. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +14 -6
  67. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +13 -5
  68. package/dist/types/excalidraw/actions/index.d.ts +1 -2
  69. package/dist/types/excalidraw/actions/manager.d.ts +1 -0
  70. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  71. package/dist/types/excalidraw/actions/types.d.ts +8 -4
  72. package/dist/types/excalidraw/appState.d.ts +10 -5
  73. package/dist/types/excalidraw/components/Actions.d.ts +17 -12
  74. package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
  75. package/dist/types/excalidraw/components/App.bucketFill.d.ts +48 -0
  76. package/dist/types/excalidraw/components/App.cursor.d.ts +30 -0
  77. package/dist/types/excalidraw/components/App.d.ts +384 -60
  78. package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
  79. package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
  80. package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
  81. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +9 -3
  82. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
  83. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -1
  84. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -2
  85. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
  86. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
  87. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
  88. package/dist/types/excalidraw/components/ColorPicker/topPicksDnD.d.ts +31 -0
  89. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +1 -1
  90. package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
  91. package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
  92. package/dist/types/excalidraw/components/Island.d.ts +7 -0
  93. package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
  94. package/dist/types/excalidraw/components/LayerUI.d.ts +5 -2
  95. package/dist/types/excalidraw/components/LockButton.d.ts +9 -0
  96. package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
  97. package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
  98. package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
  99. package/dist/types/excalidraw/components/Popover.d.ts +1 -3
  100. package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
  101. package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
  102. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
  103. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  104. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
  105. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
  106. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
  107. package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
  108. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  109. package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
  110. package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
  111. package/dist/types/excalidraw/components/Tools.d.ts +146 -0
  112. package/dist/types/excalidraw/components/UserList.d.ts +3 -2
  113. package/dist/types/excalidraw/components/ViewportStatusFrame/ViewportStatusFrame.d.ts +11 -0
  114. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +2 -0
  115. package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
  116. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
  117. package/dist/types/excalidraw/components/icons.d.ts +4 -1
  118. package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
  119. package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
  120. package/dist/types/excalidraw/context/tunnels.d.ts +0 -1
  121. package/dist/types/excalidraw/data/blob.d.ts +14 -6
  122. package/dist/types/excalidraw/data/index.d.ts +4 -4
  123. package/dist/types/excalidraw/data/json.d.ts +20 -12
  124. package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
  125. package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
  126. package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
  127. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +10 -3
  128. package/dist/types/excalidraw/scene/Renderer.d.ts +11 -11
  129. package/dist/types/excalidraw/scene/export.d.ts +3 -3
  130. package/dist/types/excalidraw/scene/index.d.ts +1 -1
  131. package/dist/types/excalidraw/scene/types.d.ts +4 -3
  132. package/dist/types/excalidraw/snapping.d.ts +7 -7
  133. package/dist/types/excalidraw/types.d.ts +423 -27
  134. package/dist/types/excalidraw/viewport.d.ts +283 -0
  135. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -3
  136. package/dist/types/laser-pointer/src/state.d.ts +1 -0
  137. package/dist/types/math/src/index.d.ts +1 -0
  138. package/dist/types/math/src/pca.d.ts +79 -0
  139. package/dist/types/math/src/polygon.d.ts +25 -1
  140. package/dist/types/utils/src/export.d.ts +3 -3
  141. package/package.json +2 -2
  142. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +0 -180
  143. package/dist/types/excalidraw/actions/actionSmartZoom.d.ts +0 -16
  144. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +0 -27
  145. package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +0 -7
  146. package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +0 -10
  147. package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
  148. package/dist/types/excalidraw/components/MagicButton.d.ts +0 -10
  149. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -12
  150. package/dist/types/excalidraw/cursor.d.ts +0 -5
  151. package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
  152. package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
  153. package/dist/types/excalidraw/scroll.d.ts +0 -46
@@ -64,7 +64,7 @@ export declare class Renderer {
64
64
  startArrowhead: import("@excalidraw/element/types").Arrowhead | null;
65
65
  endArrowhead: import("@excalidraw/element/types").Arrowhead | null;
66
66
  }> & {
67
- isDeleted: boolean;
67
+ isDeleted: false;
68
68
  }) | (Readonly<{
69
69
  id: string;
70
70
  x: number;
@@ -98,7 +98,7 @@ export declare class Renderer {
98
98
  }> & {
99
99
  type: "rectangle";
100
100
  } & {
101
- isDeleted: boolean;
101
+ isDeleted: false;
102
102
  }) | (Readonly<{
103
103
  id: string;
104
104
  x: number;
@@ -132,7 +132,7 @@ export declare class Renderer {
132
132
  }> & {
133
133
  type: "diamond";
134
134
  } & {
135
- isDeleted: boolean;
135
+ isDeleted: false;
136
136
  }) | (Readonly<{
137
137
  id: string;
138
138
  x: number;
@@ -166,7 +166,7 @@ export declare class Renderer {
166
166
  }> & {
167
167
  type: "ellipse";
168
168
  } & {
169
- isDeleted: boolean;
169
+ isDeleted: false;
170
170
  }) | (Readonly<{
171
171
  id: string;
172
172
  x: number;
@@ -200,7 +200,7 @@ export declare class Renderer {
200
200
  }> & Readonly<{
201
201
  type: "embeddable";
202
202
  }> & {
203
- isDeleted: boolean;
203
+ isDeleted: false;
204
204
  }) | (Readonly<{
205
205
  id: string;
206
206
  x: number;
@@ -237,7 +237,7 @@ export declare class Renderer {
237
237
  generationData?: import("@excalidraw/element/types").MagicGenerationData;
238
238
  };
239
239
  }> & {
240
- isDeleted: boolean;
240
+ isDeleted: false;
241
241
  }) | (Readonly<{
242
242
  id: string;
243
243
  x: number;
@@ -277,7 +277,7 @@ export declare class Renderer {
277
277
  scale: [number, number];
278
278
  crop: import("@excalidraw/element/types").ImageCrop | null;
279
279
  }> & {
280
- isDeleted: boolean;
280
+ isDeleted: false;
281
281
  }) | (Readonly<{
282
282
  id: string;
283
283
  x: number;
@@ -312,7 +312,7 @@ export declare class Renderer {
312
312
  type: "frame";
313
313
  name: string | null;
314
314
  } & {
315
- isDeleted: boolean;
315
+ isDeleted: false;
316
316
  }) | (Readonly<{
317
317
  id: string;
318
318
  x: number;
@@ -347,7 +347,7 @@ export declare class Renderer {
347
347
  type: "magicframe";
348
348
  name: string | null;
349
349
  } & {
350
- isDeleted: boolean;
350
+ isDeleted: false;
351
351
  }) | (Readonly<{
352
352
  id: string;
353
353
  x: number;
@@ -392,7 +392,7 @@ export declare class Renderer {
392
392
  _brand: "unitlessLineHeight";
393
393
  };
394
394
  }> & {
395
- isDeleted: boolean;
395
+ isDeleted: false;
396
396
  }) | (Readonly<{
397
397
  id: string;
398
398
  x: number;
@@ -430,7 +430,7 @@ export declare class Renderer {
430
430
  simulatePressure: boolean;
431
431
  strokeOptions: import("@excalidraw/element/types").StrokeOptions;
432
432
  }> & {
433
- isDeleted: boolean;
433
+ isDeleted: false;
434
434
  }) | null;
435
435
  canvasNonce: string;
436
436
  };
@@ -1,10 +1,10 @@
1
- import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
1
+ import type { ExcalidrawFrameLikeElement, NonDeleted, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { AppState, BinaryFiles } from "../types";
3
3
  export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, exportingFrame, }: {
4
4
  exportBackground: boolean;
5
5
  exportPadding?: number;
6
6
  viewBackgroundColor: string;
7
- exportingFrame?: ExcalidrawFrameLikeElement | null;
7
+ exportingFrame?: NonDeleted<ExcalidrawFrameLikeElement> | null;
8
8
  }, createCanvas?: (width: number, height: number) => {
9
9
  canvas: HTMLCanvasElement;
10
10
  scale: number;
@@ -22,7 +22,7 @@ export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElemen
22
22
  * if true, all embeddables passed in will be rendered when possible.
23
23
  */
24
24
  renderEmbeddables?: boolean;
25
- exportingFrame?: ExcalidrawFrameLikeElement | null;
25
+ exportingFrame?: NonDeleted<ExcalidrawFrameLikeElement> | null;
26
26
  skipInliningFonts?: true;
27
27
  reuseImages?: boolean;
28
28
  }) => Promise<SVGSVGElement>;
@@ -1,4 +1,4 @@
1
1
  export { isSomeElementSelected, getElementsWithinSelection, getSelectedElements, getTargetElements, } from "@excalidraw/element";
2
- export { calculateScrollCenter } from "./scroll";
2
+ export { getScrollToContentState } from "../viewport";
3
3
  export { hasBackground, hasStrokeWidth, hasStrokeStyle, hasFreedrawMode, canHaveArrowheads, canChangeRoundness, } from "@excalidraw/element";
4
4
  export { getNormalizedZoom, getNormalizedGridSize, getNormalizedGridStep, } from "./normalize";
@@ -10,6 +10,9 @@ export type StaticCanvasRenderConfig = {
10
10
  imageCache: AppClassProperties["imageCache"];
11
11
  imageTransitionDuration?: number;
12
12
  renderGrid: boolean;
13
+ /** whether to render link icons on elements with links (never rendered
14
+ when exporting). @default true */
15
+ renderLinks?: boolean;
13
16
  /** when exporting the behavior is slightly different (e.g. we can't use
14
17
  CSS filters), and we disable render optimizations for best output */
15
18
  isExporting: boolean;
@@ -55,8 +58,6 @@ export type InteractiveCanvasRenderConfig = {
55
58
  renderScrollbars?: boolean;
56
59
  };
57
60
  export type RenderInteractiveSceneCallback = {
58
- atLeastOneVisibleElement: boolean;
59
- elementsMap: RenderableElementsMap;
60
61
  scrollBars?: ScrollBars;
61
62
  };
62
63
  export type StaticSceneRenderConfig = {
@@ -92,7 +93,7 @@ export type InteractiveSceneRenderConfig = {
92
93
  export type NewElementSceneRenderConfig = {
93
94
  canvas: HTMLCanvasElement | null;
94
95
  rc: RoughCanvas;
95
- newElement: ExcalidrawElement | null;
96
+ newElement: NonDeletedExcalidrawElement | null;
96
97
  elementsMap: RenderableElementsMap;
97
98
  allElementsMap: NonDeletedSceneElementsMap;
98
99
  scale: number;
@@ -66,19 +66,19 @@ export declare const isGridModeEnabled: (app: AppClassProperties) => boolean;
66
66
  export declare const isSnappingEnabled: ({ event, app, selectedElements, }: {
67
67
  app: AppClassProperties;
68
68
  event: KeyboardModifiersObject;
69
- selectedElements: NonDeletedExcalidrawElement[];
69
+ selectedElements: readonly NonDeletedExcalidrawElement[];
70
70
  }) => boolean;
71
71
  export declare const areRoughlyEqual: (a: number, b: number, precision?: number) => boolean;
72
- export declare const getElementsCorners: (elements: ExcalidrawElement[], elementsMap: ElementsMap, { omitCenter, boundingBoxCorners, dragOffset, }?: {
72
+ export declare const getElementsCorners: (elements: readonly NonDeletedExcalidrawElement[], elementsMap: ElementsMap, { omitCenter, boundingBoxCorners, dragOffset, }?: {
73
73
  omitCenter?: boolean;
74
74
  boundingBoxCorners?: boolean;
75
75
  dragOffset?: Vector2D;
76
76
  }) => GlobalPoint[];
77
- export declare const getVisibleGaps: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => {
77
+ export declare const getVisibleGaps: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: readonly NonDeletedExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => {
78
78
  horizontalGaps: Gap[];
79
79
  verticalGaps: Gap[];
80
80
  };
81
- export declare const getReferenceSnapPoints: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => GlobalPoint[];
81
+ export declare const getReferenceSnapPoints: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: readonly NonDeletedExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => GlobalPoint[];
82
82
  export declare const snapDraggedElements: (elements: ExcalidrawElement[], dragOffset: Vector2D, app: AppClassProperties, event: KeyboardModifiersObject, elementsMap: ElementsMap) => {
83
83
  snapOffset: {
84
84
  x: number;
@@ -86,21 +86,21 @@ export declare const snapDraggedElements: (elements: ExcalidrawElement[], dragOf
86
86
  };
87
87
  snapLines: (PointSnapLine | GapSnapLine)[];
88
88
  };
89
- export declare const snapResizingElements: (selectedElements: ExcalidrawElement[], selectedOriginalElements: ExcalidrawElement[], app: AppClassProperties, event: KeyboardModifiersObject, dragOffset: Vector2D, transformHandle: MaybeTransformHandleType) => {
89
+ export declare const snapResizingElements: (selectedElements: readonly NonDeletedExcalidrawElement[], selectedOriginalElements: readonly NonDeletedExcalidrawElement[], app: AppClassProperties, event: KeyboardModifiersObject, dragOffset: Vector2D, transformHandle: MaybeTransformHandleType) => {
90
90
  snapOffset: {
91
91
  x: number;
92
92
  y: number;
93
93
  };
94
94
  snapLines: PointSnapLine[];
95
95
  };
96
- export declare const snapNewElement: (newElement: ExcalidrawElement, app: AppClassProperties, event: KeyboardModifiersObject, origin: Vector2D, dragOffset: Vector2D, elementsMap: ElementsMap) => {
96
+ export declare const snapNewElement: (newElement: NonDeletedExcalidrawElement, app: AppClassProperties, event: KeyboardModifiersObject, origin: Vector2D, dragOffset: Vector2D, elementsMap: ElementsMap) => {
97
97
  snapOffset: {
98
98
  x: number;
99
99
  y: number;
100
100
  };
101
101
  snapLines: PointSnapLine[];
102
102
  };
103
- export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElement[], app: AppClassProperties, pointer: Vector2D, event: KeyboardModifiersObject, elementsMap: ElementsMap) => {
103
+ export declare const getSnapLinesAtPointer: (elements: readonly NonDeletedExcalidrawElement[], app: AppClassProperties, pointer: Vector2D, event: KeyboardModifiersObject, elementsMap: ElementsMap) => {
104
104
  originOffset: {
105
105
  x: number;
106
106
  y: number;