@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-a5d6939
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.
- package/CHANGELOG.md +11 -11
- package/dist/dev/chunk-FB2NA5UG.js +4132 -0
- package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
- package/dist/dev/{chunk-3SN6HYVK.js → chunk-GBJ7S76A.js} +15490 -22586
- package/dist/dev/chunk-GBJ7S76A.js.map +7 -0
- package/dist/dev/{chunk-53KHN5WM.js → chunk-GIMGG4AT.js} +2 -2
- package/dist/dev/{chunk-53KHN5WM.js.map → chunk-GIMGG4AT.js.map} +1 -1
- package/dist/dev/{chunk-LMHBUWQS.js → chunk-X3RYHLJU.js} +2 -1
- package/dist/dev/chunk-X3RYHLJU.js.map +7 -0
- package/dist/dev/data/{image-V26YBSDB.js → image-JN3Y4CVN.js} +3 -3
- package/dist/dev/index.css +3031 -3034
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +30389 -22974
- package/dist/dev/index.js.map +4 -4
- package/dist/dev/locales/{en-OZCJJ2HN.js → en-CKWC2GMK.js} +2 -2
- package/dist/dev/subset-shared.chunk.js +2 -2
- package/dist/dev/subset-worker.chunk.js +2 -2
- package/dist/prod/{chunk-G5N3DNGT.js → chunk-GKI4RZ6C.js} +1 -1
- package/dist/prod/{chunk-6U3AYISY.js → chunk-IUH5AXLB.js} +1 -1
- package/dist/prod/chunk-LS7FJGPW.js +86 -0
- package/dist/prod/chunk-TVF64BAY.js +33 -0
- package/dist/prod/data/image-CZ2OEVDB.js +1 -0
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +18 -15
- package/dist/prod/locales/{en-B4ZKOASM.js → en-SBO6ZHT2.js} +1 -1
- package/dist/prod/subset-shared.chunk.js +1 -1
- package/dist/prod/subset-worker.chunk.js +1 -1
- package/dist/types/{excalidraw/binaryheap.d.ts → common/src/binary-heap.d.ts} +1 -1
- package/dist/types/{excalidraw → common/src}/colors.d.ts +1 -0
- package/dist/types/{excalidraw → common/src}/constants.d.ts +9 -6
- package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +11 -3
- package/dist/types/common/src/index.d.ts +11 -0
- package/dist/types/{excalidraw → common/src}/points.d.ts +2 -0
- package/dist/types/common/src/promise-pool.d.ts +6 -0
- package/dist/types/{excalidraw → common/src}/utils.d.ts +10 -12
- package/dist/types/{excalidraw/scene → element/src}/Shape.d.ts +2 -2
- package/dist/types/{excalidraw/scene → element/src}/ShapeCache.d.ts +4 -4
- package/dist/types/{excalidraw → element/src}/align.d.ts +2 -2
- package/dist/types/{excalidraw/element → element/src}/binding.d.ts +8 -8
- package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +7 -2
- package/dist/types/{excalidraw/element → element/src}/collision.d.ts +3 -3
- package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +1 -1
- package/dist/types/{excalidraw → element/src}/distribute.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +3 -3
- package/dist/types/element/src/duplicate.d.ts +63 -0
- package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +1 -1
- package/dist/types/element/src/embeddable.d.ts +10 -0
- package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +1 -1
- package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +4 -1
- package/dist/types/{excalidraw → element/src}/frame.d.ts +7 -7
- package/dist/types/{excalidraw → element/src}/groups.d.ts +5 -5
- package/dist/types/{excalidraw/element → element/src}/heading.d.ts +1 -2
- package/dist/types/{excalidraw/element → element/src}/image.d.ts +2 -2
- package/dist/types/{excalidraw/element → element/src}/index.d.ts +0 -10
- package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +7 -7
- package/dist/types/{excalidraw/element → element/src}/mutateElement.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +3 -43
- package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +3 -3
- package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +4 -4
- package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +4 -4
- package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +13 -2
- package/dist/types/element/src/shapes.d.ts +23 -0
- package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +1 -1
- package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +5 -5
- package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +7 -7
- package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +2 -2
- package/dist/types/{excalidraw/element → element/src}/types.d.ts +2 -2
- package/dist/types/{excalidraw → element/src}/zindex.d.ts +5 -4
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +73 -70
- package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +54 -52
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +542 -353
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +155 -149
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +26 -25
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +73 -70
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -7
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +30 -29
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +53 -52
- package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +26 -35
- package/dist/types/excalidraw/actions/actionExport.d.ts +300 -291
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +41 -39
- package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +212 -208
- package/dist/types/excalidraw/actions/actionGroup.d.ts +51 -49
- package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +27 -26
- package/dist/types/excalidraw/actions/actionLink.d.ts +26 -25
- package/dist/types/excalidraw/actions/actionMenu.d.ts +73 -70
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +48 -46
- package/dist/types/excalidraw/actions/actionProperties.d.ts +317 -302
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +26 -25
- package/dist/types/excalidraw/actions/actionStyles.d.ts +28 -27
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +26 -25
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +26 -25
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +50 -48
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +25 -25
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +26 -26
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +26 -26
- package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
- package/dist/types/excalidraw/actions/index.d.ts +1 -0
- package/dist/types/excalidraw/actions/manager.d.ts +2 -2
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +4 -4
- package/dist/types/excalidraw/animated-trail.d.ts +7 -1
- package/dist/types/excalidraw/appState.d.ts +32 -31
- package/dist/types/excalidraw/change.d.ts +3 -3
- package/dist/types/excalidraw/charts.d.ts +1 -1
- package/dist/types/excalidraw/clipboard.d.ts +7 -7
- package/dist/types/excalidraw/components/Actions.d.ts +3 -3
- package/dist/types/excalidraw/components/App.d.ts +38 -19
- package/dist/types/excalidraw/components/Avatar.d.ts +1 -1
- package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
- package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +1 -2
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -2
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +3 -3
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
- package/dist/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/ContextMenu.d.ts +2 -2
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
- package/dist/types/excalidraw/components/DialogActionButton.d.ts +1 -1
- package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +1 -1
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +2 -2
- package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
- package/dist/types/excalidraw/components/FixedSideContainer.d.ts +1 -1
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +1 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +3 -3
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +1 -1
- package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
- package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
- package/dist/types/excalidraw/components/IconPicker.d.ts +1 -1
- package/dist/types/excalidraw/components/ImageExportDialog.d.ts +2 -2
- package/dist/types/excalidraw/components/InitializeApp.d.ts +1 -1
- package/dist/types/excalidraw/components/Island.d.ts +1 -1
- package/dist/types/excalidraw/components/JSONExportDialog.d.ts +2 -2
- package/dist/types/excalidraw/components/LayerUI.d.ts +3 -3
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +3 -3
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -2
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +1 -1
- package/dist/types/excalidraw/components/MagicButton.d.ts +1 -1
- package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -3
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
- package/dist/types/excalidraw/components/PublishLibrary.d.ts +1 -1
- package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/common.d.ts +1 -1
- package/dist/types/excalidraw/components/Stack.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +1 -1
- package/dist/types/excalidraw/components/TextField.d.ts +1 -1
- package/dist/types/excalidraw/components/Toast.d.ts +1 -1
- package/dist/types/excalidraw/components/ToolButton.d.ts +2 -2
- package/dist/types/excalidraw/components/Tooltip.d.ts +1 -1
- package/dist/types/excalidraw/components/UserList.d.ts +1 -1
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -3
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -2
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +2 -2
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +1 -1
- package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
- package/dist/types/excalidraw/components/icons.d.ts +2 -1
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +4 -1
- package/dist/types/excalidraw/components/shapes.d.ts +62 -0
- package/dist/types/excalidraw/context/tunnels.d.ts +1 -1
- package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +1 -1
- package/dist/types/excalidraw/data/blob.d.ts +4 -4
- package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
- package/dist/types/excalidraw/data/index.d.ts +2 -2
- package/dist/types/excalidraw/data/json.d.ts +1 -1
- package/dist/types/excalidraw/data/library.d.ts +3 -3
- package/dist/types/excalidraw/data/reconcile.d.ts +2 -2
- package/dist/types/excalidraw/data/resave.d.ts +1 -1
- package/dist/types/excalidraw/data/restore.d.ts +1 -1
- package/dist/types/excalidraw/data/transform.d.ts +4 -4
- package/dist/types/excalidraw/data/types.d.ts +3 -3
- package/dist/types/excalidraw/eraser/index.d.ts +14 -0
- package/dist/types/excalidraw/errors.d.ts +0 -3
- package/dist/types/excalidraw/fonts/Fonts.d.ts +2 -12
- package/dist/types/excalidraw/history.d.ts +2 -2
- package/dist/types/excalidraw/i18n.d.ts +1 -1
- package/dist/types/excalidraw/index.d.ts +15 -14
- package/dist/types/excalidraw/laser-trails.d.ts +1 -1
- package/dist/types/excalidraw/lasso/index.d.ts +15 -0
- package/dist/types/excalidraw/lasso/utils.d.ts +12 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +2 -2
- package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +2 -2
- package/dist/types/excalidraw/scene/Renderer.d.ts +3 -3
- package/dist/types/excalidraw/scene/Scene.d.ts +5 -5
- package/dist/types/excalidraw/scene/export.d.ts +1 -1
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- package/dist/types/excalidraw/scene/scroll.d.ts +1 -1
- package/dist/types/excalidraw/scene/scrollbars.d.ts +1 -1
- package/dist/types/excalidraw/scene/types.d.ts +4 -4
- package/dist/types/excalidraw/snapping.d.ts +5 -6
- package/dist/types/excalidraw/store.d.ts +2 -2
- package/dist/types/excalidraw/types.d.ts +18 -15
- package/dist/types/excalidraw/visualdebug.d.ts +2 -2
- package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +1 -1
- package/dist/types/math/{point.d.ts → src/point.d.ts} +2 -2
- package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +1 -0
- package/dist/types/math/{segment.d.ts → src/segment.d.ts} +1 -1
- package/dist/types/math/{types.d.ts → src/types.d.ts} +1 -0
- package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +1 -1
- package/dist/types/utils/{collision.d.ts → src/collision.d.ts} +2 -3
- package/dist/types/utils/{export.d.ts → src/export.d.ts} +2 -2
- package/dist/types/utils/{index.d.ts → src/index.d.ts} +1 -1
- package/dist/types/utils/{geometry → src}/shape.d.ts +2 -15
- package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +2 -2
- package/history.ts +4 -2
- package/package.json +14 -2
- package/dist/dev/chunk-3SN6HYVK.js.map +0 -7
- package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
- package/dist/dev/chunk-OKSO7T74.js +0 -4132
- package/dist/dev/chunk-OKSO7T74.js.map +0 -7
- package/dist/prod/chunk-36CXSE6H.js +0 -34
- package/dist/prod/chunk-EIO257PC.js +0 -86
- package/dist/prod/data/image-N4WCURRR.js +0 -1
- package/dist/types/excalidraw/shapes.d.ts +0 -85
- package/dist/dev/data/{image-V26YBSDB.js.map → image-JN3Y4CVN.js.map} +0 -0
- package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-CKWC2GMK.js.map} +0 -0
- package/dist/types/{excalidraw → common/src}/keys.d.ts +0 -0
- package/dist/types/{excalidraw → common/src}/queue.d.ts +0 -0
- package/dist/types/{excalidraw → common/src}/random.d.ts +0 -0
- package/dist/types/{excalidraw/data → common/src}/url.d.ts +0 -0
- package/dist/types/{excalidraw → common/src}/utility-types.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/distance.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +0 -0
- package/dist/types/{excalidraw/element → element/src}/utils.d.ts +1 -1
- /package/dist/types/math/{angle.d.ts → src/angle.d.ts} +0 -0
- /package/dist/types/math/{curve.d.ts → src/curve.d.ts} +0 -0
- /package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +0 -0
- /package/dist/types/math/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/types/math/{line.d.ts → src/line.d.ts} +0 -0
- /package/dist/types/math/{range.d.ts → src/range.d.ts} +0 -0
- /package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +0 -0
- /package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +0 -0
- /package/dist/types/math/{utils.d.ts → src/utils.d.ts} +0 -0
- /package/dist/types/math/{vector.d.ts → src/vector.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A,B,C,D,E,F,G,H,I,J,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"../chunk-
|
|
1
|
+
import{A,B,C,D,E,F,G,H,I,J,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"../chunk-IUH5AXLB.js";import"../chunk-SRAX5OIU.js";export{f as alerts,e as buttons,l as canvasError,s as clearCanvasDialog,C as colorPicker,A as colors,I as commandPalette,v as confirmDialog,J as default,i as element,b as elementLink,x as encrypted,p as errorDialog,m as errorSplash,g as errors,q as exportDialog,G as fontList,j as headings,r as helpDialog,k as hints,w as imageExportDialog,a as labels,c as library,E as mermaid,D as overwriteConfirm,t as publishDialog,u as publishSuccessDialog,F as quickSearch,o as roomDialog,d as search,n as shareDialog,y as stats,z as toast,h as toolBar,H as userList,B as welcomeScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d}from"./chunk-
|
|
1
|
+
import{a,b,c,d}from"./chunk-LS7FJGPW.js";import"./chunk-GKI4RZ6C.js";import"./chunk-SRAX5OIU.js";export{a as Commands,b as subsetToBase64,c as subsetToBinary,d as toBase64};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as r,c as t}from"./chunk-
|
|
1
|
+
import{a as r,c as t}from"./chunk-LS7FJGPW.js";import"./chunk-GKI4RZ6C.js";import"./chunk-SRAX5OIU.js";var s=import.meta.url?new URL(import.meta.url):void 0;typeof window>"u"&&typeof self<"u"&&(self.onmessage=async e=>{switch(e.data.command){case r.Subset:let a=await t(e.data.arrayBuffer,e.data.codePoints);self.postMessage(a,{transfer:[a]});break}});export{s as WorkerUrl};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import oc from "open-color";
|
|
2
2
|
import type { Merge } from "./utility-types";
|
|
3
|
+
export declare const COLOR_OUTLINE_CONTRAST_THRESHOLD = 240;
|
|
3
4
|
export type ColorPickerColor = Exclude<keyof oc, "indigo" | "lime"> | "transparent" | "bronze";
|
|
4
5
|
export type ColorTuple = readonly [string, string, string, string, string];
|
|
5
6
|
export type ColorPalette = Merge<Record<ColorPickerColor, ColorTuple>, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { ExcalidrawElement, FontFamilyValues } from "@excalidraw/element/types";
|
|
2
|
+
import type { AppProps, AppState } from "@excalidraw/excalidraw/types";
|
|
3
3
|
export declare const isDarwin: boolean;
|
|
4
4
|
export declare const isWindows: boolean;
|
|
5
5
|
export declare const isAndroid: boolean;
|
|
@@ -82,6 +82,7 @@ export declare const YOUTUBE_STATES: {
|
|
|
82
82
|
export declare const ENV: {
|
|
83
83
|
TEST: string;
|
|
84
84
|
DEVELOPMENT: string;
|
|
85
|
+
PRODUCTION: string;
|
|
85
86
|
};
|
|
86
87
|
export declare const CLASSES: {
|
|
87
88
|
SHAPE_ACTIONS_MENU: string;
|
|
@@ -120,11 +121,11 @@ export declare const THEME: {
|
|
|
120
121
|
export declare const FRAME_STYLE: {
|
|
121
122
|
strokeColor: string;
|
|
122
123
|
strokeWidth: number;
|
|
123
|
-
strokeStyle: import("
|
|
124
|
-
fillStyle: import("
|
|
124
|
+
strokeStyle: import("@excalidraw/element/types").StrokeStyle;
|
|
125
|
+
fillStyle: import("@excalidraw/element/types").FillStyle;
|
|
125
126
|
roughness: number;
|
|
126
127
|
roundness: {
|
|
127
|
-
type: import("
|
|
128
|
+
type: import("@excalidraw/element/types").RoundnessType;
|
|
128
129
|
value?: number | undefined;
|
|
129
130
|
} | null;
|
|
130
131
|
backgroundColor: string;
|
|
@@ -224,6 +225,7 @@ export declare const DEFAULT_EXPORT_PADDING = 10;
|
|
|
224
225
|
export declare const DEFAULT_MAX_IMAGE_WIDTH_OR_HEIGHT = 1440;
|
|
225
226
|
export declare const MAX_ALLOWED_FILE_BYTES: number;
|
|
226
227
|
export declare const SVG_NS = "http://www.w3.org/2000/svg";
|
|
228
|
+
export declare const SVG_DOCUMENT_PREAMBLE = "<?xml version=\"1.0\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n";
|
|
227
229
|
export declare const ENCRYPTION_KEY_BITS = 128;
|
|
228
230
|
export declare const VERSIONS: {
|
|
229
231
|
readonly excalidraw: 2;
|
|
@@ -276,9 +278,10 @@ export declare const DEFAULT_SIDEBAR: {
|
|
|
276
278
|
readonly name: "default";
|
|
277
279
|
readonly defaultTab: "library";
|
|
278
280
|
};
|
|
279
|
-
export declare const LIBRARY_DISABLED_TYPES: Set<"
|
|
281
|
+
export declare const LIBRARY_DISABLED_TYPES: Set<"embeddable" | "image" | "iframe">;
|
|
280
282
|
export declare const TOOL_TYPE: {
|
|
281
283
|
readonly selection: "selection";
|
|
284
|
+
readonly lasso: "lasso";
|
|
282
285
|
readonly rectangle: "rectangle";
|
|
283
286
|
readonly diamond: "diamond";
|
|
284
287
|
readonly ellipse: "ellipse";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExcalidrawTextElement, FontFamilyValues } from "@excalidraw/element/types";
|
|
2
2
|
/**
|
|
3
3
|
* Encapsulates font metrics with additional font metadata.
|
|
4
4
|
* */
|
|
@@ -14,8 +14,6 @@ export interface FontMetadata {
|
|
|
14
14
|
/** harcoded unitless line-height, https://github.com/excalidraw/excalidraw/pull/6360#issuecomment-1477635971 */
|
|
15
15
|
lineHeight: number;
|
|
16
16
|
};
|
|
17
|
-
/** element to be displayed as an icon */
|
|
18
|
-
icon?: JSX.Element;
|
|
19
17
|
/** flag to indicate a deprecated font */
|
|
20
18
|
deprecated?: true;
|
|
21
19
|
/** flag to indicate a server-side only font */
|
|
@@ -36,3 +34,13 @@ export declare const GOOGLE_FONTS_RANGES: {
|
|
|
36
34
|
};
|
|
37
35
|
/** local protocol to skip the local font from registering or inlining */
|
|
38
36
|
export declare const LOCAL_FONT_PROTOCOL = "local:";
|
|
37
|
+
/**
|
|
38
|
+
* Calculates vertical offset for a text with alphabetic baseline.
|
|
39
|
+
*/
|
|
40
|
+
export declare const getVerticalOffset: (fontFamily: ExcalidrawTextElement["fontFamily"], fontSize: ExcalidrawTextElement["fontSize"], lineHeightPx: number) => number;
|
|
41
|
+
/**
|
|
42
|
+
* Gets line height for a selected family.
|
|
43
|
+
*/
|
|
44
|
+
export declare const getLineHeight: (fontFamily: FontFamilyValues) => number & {
|
|
45
|
+
_brand: "unitlessLineHeight";
|
|
46
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./binary-heap";
|
|
2
|
+
export * from "./colors";
|
|
3
|
+
export * from "./constants";
|
|
4
|
+
export * from "./font-metadata";
|
|
5
|
+
export * from "./queue";
|
|
6
|
+
export * from "./keys";
|
|
7
|
+
export * from "./points";
|
|
8
|
+
export * from "./promise-pool";
|
|
9
|
+
export * from "./random";
|
|
10
|
+
export * from "./url";
|
|
11
|
+
export * from "./utils";
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
|
|
2
|
+
import type { NullableGridSize } from "@excalidraw/excalidraw/types";
|
|
2
3
|
export declare const getSizeFromPoints: (points: readonly (GlobalPoint | LocalPoint)[]) => {
|
|
3
4
|
width: number;
|
|
4
5
|
height: number;
|
|
5
6
|
};
|
|
6
7
|
/** @arg dimension, 0 for rescaling only x, 1 for y */
|
|
7
8
|
export declare const rescalePoints: <Point extends GlobalPoint | LocalPoint>(dimension: 0 | 1, newSize: number, points: readonly Point[], normalize: boolean) => Point[];
|
|
9
|
+
export declare const getGridPoint: (x: number, y: number, gridSize: NullableGridSize) => [number, number];
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { ExcalidrawBindableElement, FontFamilyValues, FontString } from "
|
|
3
|
-
import type { ActiveTool, AppState, ToolType, UnsubscribeCallback, Zoom } from "
|
|
1
|
+
import { type GlobalPoint } from "@excalidraw/math";
|
|
2
|
+
import type { ExcalidrawBindableElement, FontFamilyValues, FontString, ExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
import type { ActiveTool, AppState, ToolType, UnsubscribeCallback, Zoom } from "@excalidraw/excalidraw/types";
|
|
4
4
|
import type { MaybePromise } from "./utility-types";
|
|
5
|
+
import type { EVENT } from "./constants";
|
|
5
6
|
export declare const setDateTimeForTests: (dateTime: string) => void;
|
|
6
7
|
export declare const getDateTime: () => string;
|
|
7
8
|
export declare const capitalizeString: (str: string) => string;
|
|
8
9
|
export declare const isToolIcon: (target: Element | EventTarget | null) => target is HTMLElement;
|
|
9
|
-
export declare const isInputLike: (target: Element | EventTarget | null) => target is
|
|
10
|
+
export declare const isInputLike: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
|
|
10
11
|
export declare const isInteractive: (target: Element | EventTarget | null) => boolean;
|
|
11
|
-
export declare const isWritableElement: (target: Element | EventTarget | null) => target is
|
|
12
|
+
export declare const isWritableElement: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLTextAreaElement;
|
|
12
13
|
export declare const getFontFamilyString: ({ fontFamily, }: {
|
|
13
14
|
fontFamily: FontFamilyValues;
|
|
14
15
|
}) => string;
|
|
@@ -87,6 +88,7 @@ export declare const updateActiveTool: (appState: Pick<AppState, "activeTool">,
|
|
|
87
88
|
customType: string;
|
|
88
89
|
}) & {
|
|
89
90
|
locked?: boolean;
|
|
91
|
+
fromSelection?: boolean;
|
|
90
92
|
}) & {
|
|
91
93
|
lastActiveToolBeforeEraser?: ActiveTool | null;
|
|
92
94
|
}) => AppState["activeTool"];
|
|
@@ -178,13 +180,14 @@ export type Node<T> = T & {
|
|
|
178
180
|
export declare const arrayToList: <T>(array: readonly T[]) => Node<T>[];
|
|
179
181
|
export declare const isTestEnv: () => boolean;
|
|
180
182
|
export declare const isDevEnv: () => boolean;
|
|
183
|
+
export declare const isProdEnv: () => boolean;
|
|
181
184
|
export declare const isServerEnv: () => boolean;
|
|
182
185
|
export declare const wrapEvent: <T extends Event>(name: EVENT, nativeEvent: T) => CustomEvent<{
|
|
183
186
|
nativeEvent: T;
|
|
184
187
|
}>;
|
|
185
188
|
export declare const updateObject: <T extends Record<string, any>>(obj: T, updates: Partial<T>) => T;
|
|
186
189
|
export declare const isPrimitive: (val: any) => boolean;
|
|
187
|
-
export declare const getFrame: () => "
|
|
190
|
+
export declare const getFrame: () => "iframe" | "top";
|
|
188
191
|
export declare const isRunningInIframe: () => boolean;
|
|
189
192
|
export declare const isPromiseLike: (value: any) => value is Promise<any>;
|
|
190
193
|
export declare const queryFocusableElements: (container: HTMLElement | null) => HTMLElement[];
|
|
@@ -241,16 +244,11 @@ export declare const toBrandedType: <BrandedType, CurrentType = BrandedType>(val
|
|
|
241
244
|
export declare const promiseTry: <TValue, TArgs extends unknown[]>(fn: (...args: TArgs) => TValue | PromiseLike<TValue>, ...args: TArgs) => Promise<TValue>;
|
|
242
245
|
export declare const isAnyTrue: (...args: boolean[]) => boolean;
|
|
243
246
|
export declare const safelyParseJSON: (json: string) => Record<string, any> | null;
|
|
244
|
-
export declare class PromisePool<T> {
|
|
245
|
-
private readonly pool;
|
|
246
|
-
private readonly entries;
|
|
247
|
-
constructor(source: IterableIterator<Promise<void | readonly [number, T]>>, concurrency: number);
|
|
248
|
-
all(): PromiseLike<T[]>;
|
|
249
|
-
}
|
|
250
247
|
/**
|
|
251
248
|
* use when you need to render unsafe string as HTML attribute, but MAKE SURE
|
|
252
249
|
* the attribute is double-quoted when constructing the HTML string
|
|
253
250
|
*/
|
|
254
251
|
export declare const escapeDoubleQuotes: (str: string) => string;
|
|
255
252
|
export declare const castArray: <T>(value: T | T[]) => T[];
|
|
253
|
+
export declare const elementCenterPoint: (element: ExcalidrawElement, xOffset?: number, yOffset?: number) => GlobalPoint;
|
|
256
254
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { EmbedsValidationStatus } from "@excalidraw/excalidraw/types";
|
|
2
|
+
import type { ExcalidrawElement, NonDeletedExcalidrawElement, ExcalidrawSelectionElement } from "./types";
|
|
1
3
|
import type { Drawable, Options } from "roughjs/bin/core";
|
|
2
4
|
import type { RoughGenerator } from "roughjs/bin/generator";
|
|
3
|
-
import type { ExcalidrawElement, NonDeletedExcalidrawElement, ExcalidrawSelectionElement } from "../element/types";
|
|
4
|
-
import type { EmbedsValidationStatus } from "../types";
|
|
5
5
|
export declare const generateRoughOptions: (element: ExcalidrawElement, continuousPath?: boolean) => Options;
|
|
6
6
|
/**
|
|
7
7
|
* Generates the roughjs shape for given element.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { AppState, EmbedsValidationStatus } from "@excalidraw/excalidraw/types";
|
|
2
|
+
import type { ElementShape, ElementShapes } from "@excalidraw/excalidraw/scene/types";
|
|
3
|
+
import type { ExcalidrawElement } from "./types";
|
|
1
4
|
import type { Drawable } from "roughjs/bin/core";
|
|
2
|
-
import type { ExcalidrawElement } from "../element/types";
|
|
3
|
-
import type { ElementShape, ElementShapes } from "./types";
|
|
4
|
-
import type { AppState, EmbedsValidationStatus } from "../types";
|
|
5
5
|
export declare class ShapeCache {
|
|
6
6
|
private static rg;
|
|
7
7
|
private static cache;
|
|
@@ -17,7 +17,7 @@ export declare class ShapeCache {
|
|
|
17
17
|
* Generates & caches shape for element if not already cached, otherwise
|
|
18
18
|
* returns cached shape.
|
|
19
19
|
*/
|
|
20
|
-
static generateElementShape: <T extends import("
|
|
20
|
+
static generateElementShape: <T extends import("./types").ExcalidrawRectangleElement | import("./types").ExcalidrawDiamondElement | import("./types").ExcalidrawFrameElement | import("./types").ExcalidrawMagicFrameElement | import("./types").ExcalidrawEmbeddableElement | import("./types").ExcalidrawImageElement | import("./types").ExcalidrawIframeElement | import("./types").ExcalidrawTextElement | import("./types").ExcalidrawEllipseElement | import("./types").ExcalidrawLinearElement | import("./types").ExcalidrawArrowElement | import("./types").ExcalidrawFreeDrawElement>(element: T, renderConfig: {
|
|
21
21
|
isExporting: boolean;
|
|
22
22
|
canvasBackgroundColor: AppState["viewBackgroundColor"];
|
|
23
23
|
embedsValidationStatus: EmbedsValidationStatus;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import type Scene from "@excalidraw/excalidraw/scene/Scene";
|
|
2
|
+
import type { ElementsMap, ExcalidrawElement } from "./types";
|
|
3
3
|
export interface Alignment {
|
|
4
4
|
position: "start" | "center" | "end";
|
|
5
5
|
axis: "x" | "y";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type GlobalPoint } from "@excalidraw/math";
|
|
2
|
+
import type { LocalPoint } from "@excalidraw/math";
|
|
3
|
+
import type Scene from "@excalidraw/excalidraw/scene/Scene";
|
|
4
|
+
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
5
|
+
import { type Heading } from "./heading";
|
|
2
6
|
import type { Bounds } from "./bounds";
|
|
3
|
-
import type { AppState } from "../types";
|
|
4
7
|
import type { ElementUpdate } from "./mutateElement";
|
|
5
|
-
import type
|
|
6
|
-
import { type Heading } from "./heading";
|
|
7
|
-
import type { LocalPoint } from "@excalidraw/math";
|
|
8
|
-
import { type GlobalPoint } from "@excalidraw/math";
|
|
8
|
+
import type { ExcalidrawBindableElement, ExcalidrawElement, NonDeleted, ExcalidrawLinearElement, NonDeletedExcalidrawElement, ElementsMap, NonDeletedSceneElementsMap, OrderedExcalidrawElement, ExcalidrawElbowArrowElement, FixedPoint, SceneElementsMap } from "./types";
|
|
9
9
|
export type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
|
|
10
10
|
export type SuggestedPointBinding = [
|
|
11
11
|
NonDeleted<ExcalidrawLinearElement>,
|
|
@@ -39,13 +39,13 @@ export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawE
|
|
|
39
39
|
changedElements?: Map<string, OrderedExcalidrawElement>;
|
|
40
40
|
}) => void;
|
|
41
41
|
export declare const getHeadingForElbowArrowSnap: (p: Readonly<GlobalPoint>, otherPoint: Readonly<GlobalPoint>, bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null, elementsMap: ElementsMap, origPoint: GlobalPoint, zoom?: AppState["zoom"]) => Heading;
|
|
42
|
-
export declare const bindPointToSnapToElementOutline: (arrow: ExcalidrawElbowArrowElement, bindableElement: ExcalidrawBindableElement
|
|
42
|
+
export declare const bindPointToSnapToElementOutline: (arrow: ExcalidrawElbowArrowElement, bindableElement: ExcalidrawBindableElement, startOrEnd: "start" | "end") => GlobalPoint;
|
|
43
43
|
export declare const avoidRectangularCorner: (element: ExcalidrawBindableElement, p: GlobalPoint) => GlobalPoint;
|
|
44
44
|
export declare const snapToMid: (element: ExcalidrawBindableElement, p: GlobalPoint, tolerance?: number) => GlobalPoint;
|
|
45
45
|
export declare const calculateFixedPointForElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawElbowArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", elementsMap: ElementsMap) => {
|
|
46
46
|
fixedPoint: FixedPoint;
|
|
47
47
|
};
|
|
48
|
-
export declare const
|
|
48
|
+
export declare const fixDuplicatedBindingsAfterDuplication: (duplicatedElements: ExcalidrawElement[], origIdToDuplicateId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicateElementsMap: NonDeletedSceneElementsMap) => void;
|
|
49
49
|
export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
|
|
50
50
|
export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
|
|
51
51
|
x: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { Degrees, GlobalPoint, LineSegment } from "@excalidraw/math";
|
|
2
|
+
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
1
3
|
import type { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, ExcalidrawFreeDrawElement, NonDeleted, ElementsMap } from "./types";
|
|
2
4
|
import type { Drawable, Op } from "roughjs/bin/core";
|
|
3
|
-
import type { AppState } from "../types";
|
|
4
|
-
import type { Degrees, GlobalPoint, LineSegment } from "@excalidraw/math";
|
|
5
5
|
export type RectangleBox = {
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
@@ -30,6 +30,11 @@ export declare class ElementBounds {
|
|
|
30
30
|
private static calculateBounds;
|
|
31
31
|
}
|
|
32
32
|
export declare const getElementAbsoluteCoords: (element: ExcalidrawElement, elementsMap: ElementsMap, includeBoundText?: boolean) => [number, number, number, number, number, number];
|
|
33
|
+
/**
|
|
34
|
+
* Given an element, return the line segments that make up the element.
|
|
35
|
+
*
|
|
36
|
+
* Uses helpers from /math
|
|
37
|
+
*/
|
|
33
38
|
export declare const getElementLineSegments: (element: ExcalidrawElement, elementsMap: ElementsMap) => LineSegment<GlobalPoint>[];
|
|
34
39
|
/**
|
|
35
40
|
* Scene -> Scene coords, but in x1,x2,y1,y2 format.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { FrameNameBounds } from "../types";
|
|
3
|
-
import type { GeometricShape } from "@excalidraw/utils/geometry/shape";
|
|
1
|
+
import { type GeometricShape } from "@excalidraw/utils/shape";
|
|
4
2
|
import type { GlobalPoint, LineSegment, LocalPoint } from "@excalidraw/math";
|
|
3
|
+
import type { FrameNameBounds } from "@excalidraw/excalidraw/types";
|
|
4
|
+
import type { ElementsMap, ExcalidrawElement } from "./types";
|
|
5
5
|
export declare const shouldTestInside: (element: ExcalidrawElement) => boolean;
|
|
6
6
|
export type HitTestArgs<Point extends GlobalPoint | LocalPoint> = {
|
|
7
7
|
x: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ElementOrToolType } from "
|
|
1
|
+
import type { ElementOrToolType } from "@excalidraw/excalidraw/types";
|
|
2
2
|
export declare const hasBackground: (type: ElementOrToolType) => boolean;
|
|
3
3
|
export declare const hasStrokeColor: (type: ElementOrToolType) => boolean;
|
|
4
4
|
export declare const hasStrokeWidth: (type: ElementOrToolType) => boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
1
|
+
import type { AppState, NormalizedZoomValue, NullableGridSize, PointerDownState } from "@excalidraw/excalidraw/types";
|
|
2
|
+
import type Scene from "@excalidraw/excalidraw/scene/Scene";
|
|
3
|
+
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
4
4
|
export declare const dragSelectedElements: (pointerDownState: PointerDownState, _selectedElements: NonDeletedExcalidrawElement[], offset: {
|
|
5
5
|
x: number;
|
|
6
6
|
y: number;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { Mutable } from "@excalidraw/common/utility-types";
|
|
2
|
+
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
3
|
+
import type { ExcalidrawElement, GroupId } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* Duplicate an element, often used in the alt-drag operation.
|
|
6
|
+
* Note that this method has gotten a bit complicated since the
|
|
7
|
+
* introduction of gruoping/ungrouping elements.
|
|
8
|
+
* @param editingGroupId The current group being edited. The new
|
|
9
|
+
* element will inherit this group and its
|
|
10
|
+
* parents.
|
|
11
|
+
* @param groupIdMapForOperation A Map that maps old group IDs to
|
|
12
|
+
* duplicated ones. If you are duplicating
|
|
13
|
+
* multiple elements at once, share this map
|
|
14
|
+
* amongst all of them
|
|
15
|
+
* @param element Element to duplicate
|
|
16
|
+
*/
|
|
17
|
+
export declare const duplicateElement: <TElement extends ExcalidrawElement>(editingGroupId: AppState["editingGroupId"], groupIdMapForOperation: Map<GroupId, GroupId>, element: TElement, randomizeSeed?: boolean) => Readonly<TElement>;
|
|
18
|
+
export declare const duplicateElements: (opts: {
|
|
19
|
+
elements: readonly ExcalidrawElement[];
|
|
20
|
+
randomizeSeed?: boolean | undefined;
|
|
21
|
+
overrides?: ((data: {
|
|
22
|
+
duplicateElement: ExcalidrawElement;
|
|
23
|
+
origElement: ExcalidrawElement;
|
|
24
|
+
origIdToDuplicateId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>;
|
|
25
|
+
}) => Partial<ExcalidrawElement>) | undefined;
|
|
26
|
+
} & ({
|
|
27
|
+
/**
|
|
28
|
+
* Duplicates all elements in array.
|
|
29
|
+
*
|
|
30
|
+
* Use this when programmaticaly duplicating elements, without direct
|
|
31
|
+
* user interaction.
|
|
32
|
+
*/
|
|
33
|
+
type: "everything";
|
|
34
|
+
} | {
|
|
35
|
+
/**
|
|
36
|
+
* Duplicates specified elements and inserts them back into the array
|
|
37
|
+
* in specified order.
|
|
38
|
+
*
|
|
39
|
+
* Use this when duplicating Scene elements, during user interaction
|
|
40
|
+
* such as alt-drag or on duplicate action.
|
|
41
|
+
*/
|
|
42
|
+
type: "in-place";
|
|
43
|
+
idsOfElementsToDuplicate: Map<ExcalidrawElement["id"], ExcalidrawElement>;
|
|
44
|
+
appState: {
|
|
45
|
+
editingGroupId: AppState["editingGroupId"];
|
|
46
|
+
selectedGroupIds: AppState["selectedGroupIds"];
|
|
47
|
+
};
|
|
48
|
+
})) => {
|
|
49
|
+
duplicatedElements: ExcalidrawElement[];
|
|
50
|
+
duplicateElementsMap: Map<string, ExcalidrawElement>;
|
|
51
|
+
elementsWithDuplicates: ExcalidrawElement[];
|
|
52
|
+
origIdToDuplicateId: Map<string, string>;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Clones ExcalidrawElement data structure. Does not regenerate id, nonce, or
|
|
56
|
+
* any value. The purpose is to to break object references for immutability
|
|
57
|
+
* reasons, whenever we want to keep the original element, but ensure it's not
|
|
58
|
+
* mutated.
|
|
59
|
+
*
|
|
60
|
+
* Only clones plain objects and arrays. Doesn't clone Date, RegExp, Map, Set,
|
|
61
|
+
* Typed arrays and other non-null objects.
|
|
62
|
+
*/
|
|
63
|
+
export declare const deepCopyElement: <T extends ExcalidrawElement>(val: T) => Mutable<T>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Create and link between shapes.
|
|
3
3
|
*/
|
|
4
|
-
import type { AppProps, AppState } from "
|
|
4
|
+
import type { AppProps, AppState } from "@excalidraw/excalidraw/types";
|
|
5
5
|
import type { ExcalidrawElement } from "./types";
|
|
6
6
|
export declare const defaultGetElementLinkFromSelection: Exclude<AppProps["generateLinkForSelection"], undefined>;
|
|
7
7
|
export declare const getLinkIdAndTypeFromSelection: (selectedElements: ExcalidrawElement[], appState: AppState) => {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ExcalidrawProps } from "@excalidraw/excalidraw/types";
|
|
2
|
+
import type { MarkRequired } from "@excalidraw/common/utility-types";
|
|
3
|
+
import type { ExcalidrawElement, ExcalidrawIframeLikeElement, IframeData } from "./types";
|
|
4
|
+
type IframeDataWithSandbox = MarkRequired<IframeData, "sandbox">;
|
|
5
|
+
export declare const createSrcDoc: (body: string) => string;
|
|
6
|
+
export declare const getEmbedLink: (link: string | null | undefined) => IframeDataWithSandbox | null;
|
|
7
|
+
export declare const createPlaceholderEmbeddableLabel: (element: ExcalidrawIframeLikeElement) => ExcalidrawElement;
|
|
8
|
+
export declare const maybeParseEmbedSrc: (str: string) => string;
|
|
9
|
+
export declare const embeddableURLValidator: (url: string | null | undefined, validateEmbeddable: ExcalidrawProps["validateEmbeddable"]) => boolean;
|
|
10
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { AppState, PendingExcalidrawElements } from "@excalidraw/excalidraw/types";
|
|
1
2
|
import { type ElementsMap, type ExcalidrawBindableElement, type ExcalidrawElement, type ExcalidrawFlowchartNodeElement } from "./types";
|
|
2
|
-
import type { AppState, PendingExcalidrawElements } from "../types";
|
|
3
3
|
type LinkDirection = "up" | "right" | "down" | "left";
|
|
4
4
|
export declare const getLinkDirectionFromKey: (key: string) => LinkDirection;
|
|
5
5
|
export declare const getPredecessors: (node: ExcalidrawBindableElement, elementsMap: ElementsMap, direction: LinkDirection) => ExcalidrawBindableElement[];
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type { ExcalidrawElement, OrderedExcalidrawElement } from "./
|
|
1
|
+
import type { ExcalidrawElement, OrderedExcalidrawElement } from "./types";
|
|
2
|
+
export declare class InvalidFractionalIndexError extends Error {
|
|
3
|
+
code: "ELEMENT_HAS_INVALID_INDEX";
|
|
4
|
+
}
|
|
2
5
|
/**
|
|
3
6
|
* Envisioned relation between array order and fractional indices:
|
|
4
7
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { AppClassProperties, AppState, StaticCanvasAppState } from "
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
export declare const bindElementsToFramesAfterDuplication: (nextElements: readonly ExcalidrawElement[],
|
|
1
|
+
import type { ExcalidrawElementsIncludingDeleted } from "@excalidraw/excalidraw/scene/Scene";
|
|
2
|
+
import type { AppClassProperties, AppState, StaticCanvasAppState } from "@excalidraw/excalidraw/types";
|
|
3
|
+
import type { ReadonlySetLike } from "@excalidraw/common/utility-types";
|
|
4
|
+
import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted, NonDeletedExcalidrawElement } from "./types";
|
|
5
|
+
export declare const bindElementsToFramesAfterDuplication: (nextElements: readonly ExcalidrawElement[], origElements: readonly ExcalidrawElement[], origIdToDuplicateId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>) => void;
|
|
6
6
|
export declare function isElementIntersectingFrame(element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap): boolean;
|
|
7
7
|
export declare const getElementsCompletelyInFrame: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => ExcalidrawElement[];
|
|
8
8
|
export declare const isElementContainingFrame: (element: ExcalidrawElement, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => boolean;
|
|
@@ -31,8 +31,8 @@ export declare const getFrameLikeElements: (allElements: ExcalidrawElementsInclu
|
|
|
31
31
|
*/
|
|
32
32
|
export declare const getRootElements: (allElements: ExcalidrawElementsIncludingDeleted) => ExcalidrawElement[];
|
|
33
33
|
export declare const getElementsInResizingFrame: (allElements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, appState: AppState, elementsMap: ElementsMap) => ExcalidrawElement[];
|
|
34
|
-
export declare const getElementsInNewFrame: (elements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => (import("./
|
|
35
|
-
export declare const omitPartialGroups: (elements: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, allElementsMap: ElementsMap) => (import("./
|
|
34
|
+
export declare const getElementsInNewFrame: (elements: ExcalidrawElementsIncludingDeleted, frame: ExcalidrawFrameLikeElement, elementsMap: ElementsMap) => (import("./types").ExcalidrawRectangleElement | import("./types").ExcalidrawDiamondElement | import("./types").ExcalidrawFrameElement | import("./types").ExcalidrawMagicFrameElement | import("./types").ExcalidrawEmbeddableElement | import("./types").ExcalidrawImageElement | import("./types").ExcalidrawIframeElement | import("./types").ExcalidrawTextElement | import("./types").ExcalidrawSelectionElement | import("./types").ExcalidrawEllipseElement | import("./types").ExcalidrawLinearElement | import("./types").ExcalidrawFreeDrawElement)[];
|
|
35
|
+
export declare const omitPartialGroups: (elements: ExcalidrawElement[], frame: ExcalidrawFrameLikeElement, allElementsMap: ElementsMap) => (import("./types").ExcalidrawRectangleElement | import("./types").ExcalidrawDiamondElement | import("./types").ExcalidrawFrameElement | import("./types").ExcalidrawMagicFrameElement | import("./types").ExcalidrawEmbeddableElement | import("./types").ExcalidrawImageElement | import("./types").ExcalidrawIframeElement | import("./types").ExcalidrawTextElement | import("./types").ExcalidrawSelectionElement | import("./types").ExcalidrawEllipseElement | import("./types").ExcalidrawLinearElement | import("./types").ExcalidrawFreeDrawElement)[];
|
|
36
36
|
export declare const getContainingFrame: (element: ExcalidrawElement, elementsMap: ElementsMap) => ExcalidrawFrameLikeElement | null;
|
|
37
37
|
/** */
|
|
38
38
|
export declare const filterElementsEligibleAsFrameChildren: (elements: readonly ExcalidrawElement[], frame: ExcalidrawFrameLikeElement) => ExcalidrawElement[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { AppClassProperties, AppState, InteractiveCanvasAppState } from "@excalidraw/excalidraw/types";
|
|
2
|
+
import type { Mutable } from "@excalidraw/common/utility-types";
|
|
3
|
+
import type { GroupId, ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ElementsMapOrArray, ElementsMap } from "./types";
|
|
4
4
|
export declare const selectGroup: (groupId: GroupId, appState: InteractiveCanvasAppState, elements: readonly NonDeleted<ExcalidrawElement>[]) => Pick<InteractiveCanvasAppState, "selectedGroupIds" | "selectedElementIds" | "editingGroupId">;
|
|
5
5
|
export declare const selectGroupsForSelectedElements: {
|
|
6
6
|
(appState: Pick<AppState, "selectedElementIds" | "editingGroupId">, elements: readonly NonDeletedExcalidrawElement[], prevAppState: InteractiveCanvasAppState, app: AppClassProperties | null): Mutable<Pick<InteractiveCanvasAppState, "selectedGroupIds" | "editingGroupId" | "selectedElementIds">>;
|
|
@@ -11,7 +11,7 @@ export declare const selectGroupsForSelectedElements: {
|
|
|
11
11
|
* selection border around it.
|
|
12
12
|
*/
|
|
13
13
|
export declare const isSelectedViaGroup: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => boolean;
|
|
14
|
-
export declare const getSelectedGroupForElement: (appState: InteractiveCanvasAppState, element: ExcalidrawElement) => string | undefined;
|
|
14
|
+
export declare const getSelectedGroupForElement: (appState: Pick<InteractiveCanvasAppState, "editingGroupId" | "selectedGroupIds">, element: ExcalidrawElement) => string | undefined;
|
|
15
15
|
export declare const getSelectedGroupIds: (appState: InteractiveCanvasAppState) => GroupId[];
|
|
16
16
|
export declare const selectGroupsFromGivenElements: (elements: readonly NonDeleted<ExcalidrawElement>[], appState: InteractiveCanvasAppState) => {
|
|
17
17
|
[groupId: string]: boolean;
|
|
@@ -22,7 +22,6 @@ export declare const getElementsInGroup: (elements: ElementsMapOrArray, groupId:
|
|
|
22
22
|
export declare const getSelectedGroupIdForElement: (element: ExcalidrawElement, selectedGroupIds: {
|
|
23
23
|
[groupId: string]: boolean;
|
|
24
24
|
}) => string | undefined;
|
|
25
|
-
export declare const getNewGroupIdsForDuplication: (groupIds: ExcalidrawElement["groupIds"], editingGroupId: AppState["editingGroupId"], mapper: (groupId: GroupId) => GroupId) => string[];
|
|
26
25
|
export declare const addToGroup: (prevGroupIds: ExcalidrawElement["groupIds"], newGroupId: GroupId, editingGroupId: AppState["editingGroupId"]) => string[];
|
|
27
26
|
export declare const removeFromSelectedGroups: (groupIds: ExcalidrawElement["groupIds"], selectedGroupIds: {
|
|
28
27
|
[groupId: string]: boolean;
|
|
@@ -31,3 +30,4 @@ export declare const getMaximumGroups: (elements: ExcalidrawElement[], elementsM
|
|
|
31
30
|
export declare const getNonDeletedGroupIds: (elements: ElementsMap) => Set<string>;
|
|
32
31
|
export declare const elementsAreInSameGroup: (elements: readonly ExcalidrawElement[]) => boolean;
|
|
33
32
|
export declare const isInGroup: (element: NonDeletedExcalidrawElement) => boolean;
|
|
33
|
+
export declare const getNewGroupIdsForDuplication: (groupIds: ExcalidrawElement["groupIds"], editingGroupId: AppState["editingGroupId"], mapper: (groupId: GroupId) => GroupId) => string[];
|
|
@@ -5,12 +5,11 @@ export declare const HEADING_DOWN: Heading;
|
|
|
5
5
|
export declare const HEADING_LEFT: Heading;
|
|
6
6
|
export declare const HEADING_UP: Heading;
|
|
7
7
|
export type Heading = [1, 0] | [0, 1] | [-1, 0] | [0, -1];
|
|
8
|
-
export declare const headingForDiamond: <Point extends GlobalPoint | LocalPoint>(a: Point, b: Point) => Heading;
|
|
9
8
|
export declare const vectorToHeading: (vec: Vector) => Heading;
|
|
10
9
|
export declare const headingForPoint: <P extends GlobalPoint | LocalPoint>(p: P, o: P) => Heading;
|
|
11
10
|
export declare const headingForPointIsHorizontal: <P extends GlobalPoint | LocalPoint>(p: P, o: P) => boolean;
|
|
12
11
|
export declare const compareHeading: (a: Heading, b: Heading) => boolean;
|
|
13
12
|
export declare const headingIsHorizontal: (a: Heading) => boolean;
|
|
14
13
|
export declare const headingIsVertical: (a: Heading) => boolean;
|
|
15
|
-
export declare const headingForPointFromElement: <Point extends GlobalPoint
|
|
14
|
+
export declare const headingForPointFromElement: <Point extends GlobalPoint>(element: Readonly<ExcalidrawBindableElement>, aabb: readonly [minX: number, minY: number, maxX: number, maxY: number], p: Readonly<Point>) => Heading;
|
|
16
15
|
export declare const flipHeading: (h: Heading) => Heading;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AppClassProperties, DataURL, BinaryFiles } from "
|
|
1
|
+
import type { AppClassProperties, DataURL, BinaryFiles } from "@excalidraw/excalidraw/types";
|
|
2
2
|
import type { ExcalidrawElement, FileId, InitializedExcalidrawImageElement } from "./types";
|
|
3
3
|
export declare const loadHTMLImageElement: (dataURL: DataURL) => Promise<HTMLImageElement>;
|
|
4
4
|
/** NOTE: updates cache even if already populated with given image. Thus,
|
|
@@ -10,7 +10,7 @@ export declare const updateImageCache: ({ fileIds, files, imageCache, }: {
|
|
|
10
10
|
}) => Promise<{
|
|
11
11
|
imageCache: Map<FileId, {
|
|
12
12
|
image: HTMLImageElement | Promise<HTMLImageElement>;
|
|
13
|
-
mimeType: import("
|
|
13
|
+
mimeType: import("../../common/src/utility-types").ValueOf<{
|
|
14
14
|
readonly svg: "image/svg+xml";
|
|
15
15
|
readonly png: "image/png";
|
|
16
16
|
readonly jpg: "image/jpeg";
|
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted } from "./types";
|
|
2
|
-
export { newElement, newTextElement, refreshTextDimensions, newLinearElement, newArrowElement, newImageElement, duplicateElement, } from "./newElement";
|
|
3
|
-
export { getElementAbsoluteCoords, getElementBounds, getCommonBounds, getDiamondPoints, getArrowheadPoints, getClosestElementBounds, } from "./bounds";
|
|
4
|
-
export { OMIT_SIDES_FOR_MULTIPLE_ELEMENTS, getTransformHandlesFromCoords, getTransformHandles, } from "./transformHandles";
|
|
5
|
-
export { resizeTest, getCursorForResizingElement, getElementWithTransformHandleType, getTransformHandleTypeFromCoords, } from "./resizeTest";
|
|
6
|
-
export { transformElements, getResizeOffsetXY, getResizeArrowDirection, } from "./resizeElements";
|
|
7
|
-
export { dragSelectedElements, getDragOffsetXY, dragNewElement, } from "./dragElements";
|
|
8
|
-
export { isTextElement, isExcalidrawElement } from "./typeChecks";
|
|
9
|
-
export { redrawTextBoundingBox, getTextFromElements } from "./textElement";
|
|
10
|
-
export { getPerfectElementSize, getLockedLinearCursorAlignSize, isInvisiblySmallElement, resizePerfectLineForNWHandler, getNormalizedDimensions, } from "./sizeHelpers";
|
|
11
|
-
export { showSelectedShapeActions } from "./showSelectedShapeActions";
|
|
12
2
|
/**
|
|
13
3
|
* @deprecated unsafe, use hashElementsVersion instead
|
|
14
4
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, ExcalidrawBindableElement, ExcalidrawTextElementWithContainer, ElementsMap, NonDeletedSceneElementsMap, SceneElementsMap, ExcalidrawElbowArrowElement } from "./types";
|
|
3
|
-
import type { Bounds } from "./bounds";
|
|
4
|
-
import type { AppState, PointerCoords, InteractiveCanvasAppState, AppClassProperties, NullableGridSize, Zoom } from "../types";
|
|
5
|
-
import type { Store } from "../store";
|
|
6
|
-
import type Scene from "../scene/Scene";
|
|
7
2
|
import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
|
|
3
|
+
import Scene from "@excalidraw/excalidraw/scene/Scene";
|
|
4
|
+
import type { Store } from "@excalidraw/excalidraw/store";
|
|
5
|
+
import type { AppState, PointerCoords, InteractiveCanvasAppState, AppClassProperties, NullableGridSize, Zoom } from "@excalidraw/excalidraw/types";
|
|
6
|
+
import type { Bounds } from "./bounds";
|
|
7
|
+
import type { NonDeleted, ExcalidrawLinearElement, ExcalidrawElement, PointBinding, ExcalidrawBindableElement, ExcalidrawTextElementWithContainer, ElementsMap, NonDeletedSceneElementsMap, SceneElementsMap, ExcalidrawElbowArrowElement } from "./types";
|
|
8
8
|
declare const editorMidPointsCache: {
|
|
9
9
|
version: number | null;
|
|
10
10
|
points: (GlobalPoint | null)[];
|
|
@@ -57,7 +57,7 @@ export declare class LinearElementEditor {
|
|
|
57
57
|
static handlePointDragging(event: PointerEvent, app: AppClassProperties, scenePointerX: number, scenePointerY: number, maybeSuggestBinding: (element: NonDeleted<ExcalidrawLinearElement>, pointSceneCoords: {
|
|
58
58
|
x: number;
|
|
59
59
|
y: number;
|
|
60
|
-
}[]) => void, linearElementEditor: LinearElementEditor, scene: Scene):
|
|
60
|
+
}[]) => void, linearElementEditor: LinearElementEditor, scene: Scene): LinearElementEditor | null;
|
|
61
61
|
static handlePointerUp(event: PointerEvent, editingLinearElement: LinearElementEditor, appState: AppState, scene: Scene): LinearElementEditor;
|
|
62
62
|
static getEditorMidPoints: (element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, appState: InteractiveCanvasAppState) => (typeof editorMidPointsCache)["points"];
|
|
63
63
|
static updateEditorMidPointsCache: (element: NonDeleted<ExcalidrawLinearElement>, elementsMap: ElementsMap, appState: InteractiveCanvasAppState) => void;
|
|
@@ -110,7 +110,7 @@ export declare class LinearElementEditor {
|
|
|
110
110
|
}[], otherUpdates?: {
|
|
111
111
|
startBinding?: PointBinding | null;
|
|
112
112
|
endBinding?: PointBinding | null;
|
|
113
|
-
}): void;
|
|
113
|
+
}, sceneElementsMap?: NonDeletedSceneElementsMap): void;
|
|
114
114
|
static shouldAddMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, appState: AppState, elementsMap: ElementsMap): boolean;
|
|
115
115
|
static addMidpoint(linearElementEditor: LinearElementEditor, pointerCoords: PointerCoords, app: AppClassProperties, snapToGrid: boolean, elementsMap: ElementsMap): {
|
|
116
116
|
pointerDownState: LinearElementEditor["pointerDownState"];
|