@excalidraw/excalidraw 0.18.0-817d8c5 → 0.18.0-a18b139
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-53KHN5WM.js → chunk-MJMGTOVG.js} +2 -2
- package/dist/dev/{chunk-53KHN5WM.js.map → chunk-MJMGTOVG.js.map} +1 -1
- package/dist/dev/{chunk-3SN6HYVK.js → chunk-U3G3LY5D.js} +14433 -21847
- package/dist/dev/chunk-U3G3LY5D.js.map +7 -0
- 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-Y366K5SN.js} +3 -3
- package/dist/dev/index.css +3031 -3034
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +30824 -23152
- 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-6U3AYISY.js → chunk-IUH5AXLB.js} +1 -1
- package/dist/prod/chunk-LS7FJGPW.js +86 -0
- package/dist/prod/chunk-PUQLEN73.js +33 -0
- package/dist/prod/{chunk-G5N3DNGT.js → chunk-VQA74LVG.js} +1 -1
- package/dist/prod/data/image-WY2VMQLG.js +1 -0
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +17 -14
- 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 +13 -12
- package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +12 -15
- 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/element/src/align.d.ts +7 -0
- package/dist/types/{excalidraw/element → element/src}/binding.d.ts +15 -15
- package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +9 -4
- 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 +5 -4
- package/dist/types/element/src/duplicate.d.ts +63 -0
- package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +1 -1
- 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 +4 -3
- package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +5 -2
- 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 +16 -16
- package/dist/types/{excalidraw/element → element/src}/mutateElement.d.ts +11 -3
- 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 +6 -6
- 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 -2
- package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +8 -7
- 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/element/src/zindex.d.ts +7 -0
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +70 -67
- package/dist/types/excalidraw/actions/actionAlign.d.ts +7 -7
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +52 -50
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +533 -344
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +149 -143
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +25 -24
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +70 -67
- 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 +29 -28
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +51 -50
- package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +25 -34
- package/dist/types/excalidraw/actions/actionExport.d.ts +288 -279
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +39 -37
- package/dist/types/excalidraw/actions/actionFlip.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionFrame.d.ts +208 -204
- package/dist/types/excalidraw/actions/actionGroup.d.ts +49 -47
- package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +26 -25
- package/dist/types/excalidraw/actions/actionLink.d.ts +26 -25
- package/dist/types/excalidraw/actions/actionMenu.d.ts +72 -69
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +47 -45
- package/dist/types/excalidraw/actions/actionProperties.d.ts +300 -285
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +25 -24
- package/dist/types/excalidraw/actions/actionStyles.d.ts +27 -26
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +25 -24
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +25 -24
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +48 -46
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +24 -24
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +25 -25
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +25 -25
- 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 +30 -29
- 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 +34 -18
- 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 +5 -4
- 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 +2 -2
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/FontSize.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/index.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -4
- 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 +4 -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 +5 -4
- 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 +3 -13
- 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/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 +2 -3
- package/dist/types/excalidraw/scene/types.d.ts +6 -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 +20 -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/align.d.ts +0 -7
- package/dist/types/excalidraw/shapes.d.ts +0 -85
- package/dist/types/excalidraw/zindex.d.ts +0 -6
- package/dist/dev/data/{image-V26YBSDB.js.map → image-Y366K5SN.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}/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-VQA74LVG.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-VQA74LVG.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,14 @@ 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;
|
|
254
|
+
/** hack for Array.isArray type guard not working with readonly value[] */
|
|
255
|
+
export declare const isReadonlyArray: (value?: any) => value is readonly any[];
|
|
256
|
+
export declare const sizeOf: (value: readonly number[] | Readonly<Map<any, any>> | Record<any, any>) => number;
|
|
256
257
|
export {};
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
type
|
|
5
|
-
type ElementKey = ExcalidrawElement | ElementIdKey;
|
|
1
|
+
import { type ElementUpdate } from "@excalidraw/element/mutateElement";
|
|
2
|
+
import type { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameLikeElement, ElementsMapOrArray, OrderedExcalidrawElement, Ordered } from "@excalidraw/element/types";
|
|
3
|
+
import type { Mutable } from "@excalidraw/common/utility-types";
|
|
4
|
+
import type { AppState } from "../../excalidraw/types";
|
|
6
5
|
type SceneStateCallback = () => void;
|
|
7
6
|
type SceneStateCallbackRemover = () => void;
|
|
8
7
|
export type ExcalidrawElementsIncludingDeleted = readonly ExcalidrawElement[];
|
|
9
8
|
declare class Scene {
|
|
10
|
-
private static sceneMapByElement;
|
|
11
|
-
private static sceneMapById;
|
|
12
|
-
static mapElementToScene(elementKey: ElementKey, scene: Scene): void;
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated pass down `app.scene` and use it directly
|
|
15
|
-
*/
|
|
16
|
-
static getScene(elementKey: ElementKey): Scene | null;
|
|
17
9
|
private callbacks;
|
|
18
10
|
private nonDeletedElements;
|
|
19
11
|
private nonDeletedElementsMap;
|
|
@@ -30,11 +22,12 @@ declare class Scene {
|
|
|
30
22
|
*/
|
|
31
23
|
private sceneNonce;
|
|
32
24
|
getSceneNonce(): number | undefined;
|
|
33
|
-
getNonDeletedElementsMap(): Map<string, Ordered<NonDeletedExcalidrawElement>> & import("
|
|
25
|
+
getNonDeletedElementsMap(): Map<string, Ordered<NonDeletedExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedSceneElementsMap">;
|
|
34
26
|
getElementsIncludingDeleted(): readonly OrderedExcalidrawElement[];
|
|
35
|
-
getElementsMapIncludingDeleted(): Map<string, Ordered<ExcalidrawElement>> & import("
|
|
27
|
+
getElementsMapIncludingDeleted(): Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
|
|
36
28
|
getNonDeletedElements(): readonly Ordered<NonDeletedExcalidrawElement>[];
|
|
37
29
|
getFramesIncludingDeleted(): readonly ExcalidrawFrameLikeElement[];
|
|
30
|
+
constructor(elements?: ElementsMapOrArray | null);
|
|
38
31
|
getSelectedElements(opts: {
|
|
39
32
|
selectedElementIds: AppState["selectedElementIds"];
|
|
40
33
|
/**
|
|
@@ -73,7 +66,11 @@ declare class Scene {
|
|
|
73
66
|
getElementIndex(elementId: string): number;
|
|
74
67
|
getContainerElement: (element: (ExcalidrawElement & {
|
|
75
68
|
containerId: ExcalidrawElement["id"] | null;
|
|
76
|
-
}) | null) => import("
|
|
69
|
+
}) | null) => import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawSelectionElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | import("@excalidraw/element/types").ExcalidrawLinearElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | null;
|
|
77
70
|
getElementsFromId: (id: string) => ExcalidrawElement[];
|
|
71
|
+
mutateElement<TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, options?: {
|
|
72
|
+
informMutation: boolean;
|
|
73
|
+
isDragging: boolean;
|
|
74
|
+
}): TElement;
|
|
78
75
|
}
|
|
79
76
|
export default Scene;
|
|
@@ -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;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type Scene from "./Scene";
|
|
2
|
+
import type { ExcalidrawElement } from "./types";
|
|
3
|
+
export interface Alignment {
|
|
4
|
+
position: "start" | "center" | "end";
|
|
5
|
+
axis: "x" | "y";
|
|
6
|
+
}
|
|
7
|
+
export declare const alignElements: (selectedElements: ExcalidrawElement[], alignment: Alignment, scene: Scene) => ExcalidrawElement[];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type GlobalPoint } from "@excalidraw/math";
|
|
2
|
+
import type { LocalPoint } from "@excalidraw/math";
|
|
3
|
+
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
4
|
+
import { type Heading } from "./heading";
|
|
5
|
+
import type Scene from "./Scene";
|
|
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 } from "./types";
|
|
9
9
|
export type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
|
|
10
10
|
export type SuggestedPointBinding = [
|
|
11
11
|
NonDeleted<ExcalidrawLinearElement>,
|
|
@@ -17,20 +17,20 @@ export declare const isBindingEnabled: (appState: AppState) => boolean;
|
|
|
17
17
|
export declare const FIXED_BINDING_DISTANCE = 5;
|
|
18
18
|
export declare const BINDING_HIGHLIGHT_THICKNESS = 10;
|
|
19
19
|
export declare const BINDING_HIGHLIGHT_OFFSET = 4;
|
|
20
|
-
export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep",
|
|
21
|
-
export declare const bindOrUnbindLinearElements: (selectedElements: NonDeleted<ExcalidrawLinearElement>[],
|
|
20
|
+
export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep", scene: Scene) => void;
|
|
21
|
+
export declare const bindOrUnbindLinearElements: (selectedElements: NonDeleted<ExcalidrawLinearElement>[], isBindingEnabled: boolean, draggingPoints: readonly number[] | null, scene: Scene, zoom?: AppState["zoom"]) => void;
|
|
22
22
|
export declare const getSuggestedBindingsForArrows: (selectedElements: NonDeleted<ExcalidrawElement>[], elementsMap: NonDeletedSceneElementsMap, zoom: AppState["zoom"]) => SuggestedBinding[];
|
|
23
23
|
export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, pointerCoords: {
|
|
24
24
|
x: number;
|
|
25
25
|
y: number;
|
|
26
|
-
},
|
|
27
|
-
export declare const bindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end",
|
|
26
|
+
}, scene: Scene) => void;
|
|
27
|
+
export declare const bindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end", scene: Scene) => void;
|
|
28
28
|
export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
|
|
29
29
|
export declare const getHoveredElementForBinding: (pointerCoords: {
|
|
30
30
|
x: number;
|
|
31
31
|
y: number;
|
|
32
32
|
}, elements: readonly NonDeletedExcalidrawElement[], elementsMap: NonDeletedSceneElementsMap, zoom?: AppState["zoom"], fullShape?: boolean, considerAllElements?: boolean) => NonDeleted<ExcalidrawBindableElement> | null;
|
|
33
|
-
export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement,
|
|
33
|
+
export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, scene: Scene, options?: {
|
|
34
34
|
simultaneouslyUpdated?: readonly ExcalidrawElement[];
|
|
35
35
|
newSize?: {
|
|
36
36
|
width: number;
|
|
@@ -38,14 +38,14 @@ export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawE
|
|
|
38
38
|
};
|
|
39
39
|
changedElements?: Map<string, OrderedExcalidrawElement>;
|
|
40
40
|
}) => void;
|
|
41
|
-
export declare const getHeadingForElbowArrowSnap: (p: Readonly<GlobalPoint>, otherPoint: Readonly<GlobalPoint>, bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null,
|
|
42
|
-
export declare const bindPointToSnapToElementOutline: (arrow: ExcalidrawElbowArrowElement, bindableElement: ExcalidrawBindableElement
|
|
41
|
+
export declare const getHeadingForElbowArrowSnap: (p: Readonly<GlobalPoint>, otherPoint: Readonly<GlobalPoint>, bindableElement: ExcalidrawBindableElement | undefined | null, aabb: Bounds | undefined | null, origPoint: GlobalPoint, zoom?: AppState["zoom"]) => Heading;
|
|
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
|
-
export declare const calculateFixedPointForElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawElbowArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end"
|
|
45
|
+
export declare const calculateFixedPointForElbowArrowBinding: (linearElement: NonDeleted<ExcalidrawElbowArrowElement>, hoveredElement: ExcalidrawBindableElement, startOrEnd: "start" | "end") => {
|
|
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 { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, ExcalidrawFreeDrawElement, NonDeleted, ElementsMap } from "./types";
|
|
2
|
-
import type { Drawable, Op } from "roughjs/bin/core";
|
|
3
|
-
import type { AppState } from "../types";
|
|
4
1
|
import type { Degrees, GlobalPoint, LineSegment } from "@excalidraw/math";
|
|
2
|
+
import type { AppState } from "@excalidraw/excalidraw/types";
|
|
3
|
+
import type { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, ExcalidrawFreeDrawElement, NonDeleted, ElementsMap, ElementsMapOrArray } from "./types";
|
|
4
|
+
import type { Drawable, Op } from "roughjs/bin/core";
|
|
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.
|
|
@@ -46,7 +51,7 @@ export declare const getArrowheadSize: (arrowhead: Arrowhead) => number;
|
|
|
46
51
|
export declare const getArrowheadAngle: (arrowhead: Arrowhead) => Degrees;
|
|
47
52
|
export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
|
|
48
53
|
export declare const getElementBounds: (element: ExcalidrawElement, elementsMap: ElementsMap) => Bounds;
|
|
49
|
-
export declare const getCommonBounds: (elements:
|
|
54
|
+
export declare const getCommonBounds: (elements: ElementsMapOrArray, elementsMap?: ElementsMap) => Bounds;
|
|
50
55
|
export declare const getDraggedElementsBounds: (elements: ExcalidrawElement[], dragOffset: {
|
|
51
56
|
x: number;
|
|
52
57
|
y: number;
|
|
@@ -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 Scene from "
|
|
1
|
+
import type { AppState, NormalizedZoomValue, NullableGridSize, PointerDownState } from "@excalidraw/excalidraw/types";
|
|
2
|
+
import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
import type Scene from "./Scene";
|
|
4
4
|
export declare const dragSelectedElements: (pointerDownState: PointerDownState, _selectedElements: NonDeletedExcalidrawElement[], offset: {
|
|
5
5
|
x: number;
|
|
6
6
|
y: number;
|
|
@@ -9,7 +9,7 @@ export declare const dragSelectedElements: (pointerDownState: PointerDownState,
|
|
|
9
9
|
y: number;
|
|
10
10
|
}, gridSize: NullableGridSize) => void;
|
|
11
11
|
export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
|
|
12
|
-
export declare const dragNewElement: ({ newElement, elementType, originX, originY, x, y, width, height, shouldMaintainAspectRatio, shouldResizeFromCenter, zoom, widthAspectRatio, originOffset, informMutation, }: {
|
|
12
|
+
export declare const dragNewElement: ({ newElement, elementType, originX, originY, x, y, width, height, shouldMaintainAspectRatio, shouldResizeFromCenter, zoom, scene, widthAspectRatio, originOffset, informMutation, }: {
|
|
13
13
|
newElement: NonDeletedExcalidrawElement;
|
|
14
14
|
elementType: AppState["activeTool"]["type"];
|
|
15
15
|
originX: number;
|
|
@@ -21,6 +21,7 @@ export declare const dragNewElement: ({ newElement, elementType, originX, origin
|
|
|
21
21
|
shouldMaintainAspectRatio: boolean;
|
|
22
22
|
shouldResizeFromCenter: boolean;
|
|
23
23
|
zoom: NormalizedZoomValue;
|
|
24
|
+
scene: Scene;
|
|
24
25
|
/** whether to keep given aspect ratio when `isResizeWithSidesSameLength` is
|
|
25
26
|
true */
|
|
26
27
|
widthAspectRatio?: number | null | undefined;
|
|
@@ -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>;
|
|
@@ -8,7 +8,7 @@ export declare const BASE_PADDING = 40;
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const updateElbowArrowPoints: (arrow: Readonly<ExcalidrawElbowArrowElement>, elementsMap: NonDeletedSceneElementsMap, updates: {
|
|
10
10
|
points?: readonly LocalPoint[];
|
|
11
|
-
fixedSegments?: FixedSegment[] | null;
|
|
11
|
+
fixedSegments?: readonly FixedSegment[] | null;
|
|
12
12
|
startBinding?: FixedPointBinding | null;
|
|
13
13
|
endBinding?: FixedPointBinding | null;
|
|
14
14
|
}, options?: {
|
|
@@ -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,9 +1,10 @@
|
|
|
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
|
|
3
|
+
import type Scene from "./Scene";
|
|
3
4
|
type LinkDirection = "up" | "right" | "down" | "left";
|
|
4
5
|
export declare const getLinkDirectionFromKey: (key: string) => LinkDirection;
|
|
5
6
|
export declare const getPredecessors: (node: ExcalidrawBindableElement, elementsMap: ElementsMap, direction: LinkDirection) => ExcalidrawBindableElement[];
|
|
6
|
-
export declare const addNewNodes: (startNode: ExcalidrawFlowchartNodeElement,
|
|
7
|
+
export declare const addNewNodes: (startNode: ExcalidrawFlowchartNodeElement, appState: AppState, direction: LinkDirection, scene: Scene, numberOfNodes: number) => ExcalidrawElement[];
|
|
7
8
|
export declare class FlowChartNavigator {
|
|
8
9
|
isExploring: boolean;
|
|
9
10
|
private sameLevelNodes;
|
|
@@ -18,7 +19,7 @@ export declare class FlowChartCreator {
|
|
|
18
19
|
private numberOfNodes;
|
|
19
20
|
private direction;
|
|
20
21
|
pendingNodes: PendingExcalidrawElements | null;
|
|
21
|
-
createNodes(startNode: ExcalidrawFlowchartNodeElement,
|
|
22
|
+
createNodes(startNode: ExcalidrawFlowchartNodeElement, appState: AppState, direction: LinkDirection, scene: Scene): void;
|
|
22
23
|
clear(): void;
|
|
23
24
|
}
|
|
24
25
|
export declare const isNodeInFlowchart: (element: ExcalidrawFlowchartNodeElement, elementsMap: ElementsMap) => boolean;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type { ExcalidrawElement, OrderedExcalidrawElement } from "./
|
|
1
|
+
import type { ElementsMap, 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
|
*
|
|
@@ -39,7 +42,7 @@ export declare const orderByFractionalIndex: (elements: OrderedExcalidrawElement
|
|
|
39
42
|
* Synchronizes invalid fractional indices of moved elements with the array order by mutating passed elements.
|
|
40
43
|
* If the synchronization fails or the result is invalid, it fallbacks to `syncInvalidIndices`.
|
|
41
44
|
*/
|
|
42
|
-
export declare const syncMovedIndices: (elements: readonly ExcalidrawElement[], movedElements:
|
|
45
|
+
export declare const syncMovedIndices: (elements: readonly ExcalidrawElement[], movedElements: ElementsMap) => OrderedExcalidrawElement[];
|
|
43
46
|
/**
|
|
44
47
|
* Synchronizes all invalid fractional indices with the array order by mutating passed elements.
|
|
45
48
|
*
|