@excalidraw/excalidraw 0.18.0-d92384b77-2 → 0.18.0-f0063e113
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 +40 -14
- package/README.md +1 -1
- package/dist/dev/chunk-CBGOW5JB.js +5669 -0
- package/dist/dev/chunk-CBGOW5JB.js.map +7 -0
- package/dist/dev/chunk-CP5DND7P.js +7 -0
- package/dist/dev/chunk-CP5DND7P.js.map +7 -0
- package/dist/dev/chunk-FB2NA5UG.js +4132 -0
- package/dist/dev/chunk-FB2NA5UG.js.map +7 -0
- package/dist/dev/{chunk-LMHBUWQS.js → chunk-QF5FRM6O.js} +16 -5
- package/dist/dev/chunk-QF5FRM6O.js.map +7 -0
- package/dist/dev/data/{image-6FU7Z7FE.js → image-SURZSZNX.js} +3 -3
- package/dist/dev/index.css +2971 -2902
- package/dist/dev/index.css.map +3 -3
- package/dist/dev/index.js +29619 -23126
- package/dist/dev/index.js.map +4 -4
- package/dist/dev/locales/{en-OZCJJ2HN.js → en-SMAPCEOQ.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-A66AFZZU.js +7 -0
- package/dist/prod/chunk-I4UNSFV6.js +12 -0
- package/dist/prod/chunk-IRHK23LL.js +4 -0
- package/dist/prod/chunk-LS7FJGPW.js +86 -0
- package/dist/prod/data/image-HXEZYJPQ.js +1 -0
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +27 -16
- package/dist/prod/locales/{en-B4ZKOASM.js → en-TYY6KWIJ.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} +12 -12
- package/dist/types/{excalidraw → common/src}/colors.d.ts +62 -61
- package/dist/types/{excalidraw → common/src}/constants.d.ts +343 -323
- package/dist/types/{excalidraw → common/src}/emitter.d.ts +16 -16
- package/dist/types/{excalidraw/fonts/FontMetadata.d.ts → common/src/font-metadata.d.ts} +48 -38
- package/dist/types/common/src/index.d.ts +12 -0
- package/dist/types/{excalidraw → common/src}/keys.d.ts +189 -189
- package/dist/types/{excalidraw → common/src}/points.d.ts +9 -7
- package/dist/types/common/src/promise-pool.d.ts +6 -0
- package/dist/types/{excalidraw → common/src}/queue.d.ts +9 -9
- package/dist/types/{excalidraw → common/src}/random.d.ts +3 -3
- package/dist/types/{excalidraw/data → common/src}/url.d.ts +7 -7
- package/dist/types/{excalidraw → common/src}/utility-types.d.ts +38 -33
- package/dist/types/{excalidraw → common/src}/utils.d.ts +267 -256
- package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +76 -79
- package/dist/types/element/src/align.d.ts +7 -0
- package/dist/types/{excalidraw/element → element/src}/binding.d.ts +110 -99
- package/dist/types/{excalidraw/element → element/src}/bounds.d.ts +89 -77
- package/dist/types/element/src/collision.d.ts +32 -0
- package/dist/types/{excalidraw/scene → element/src}/comparisons.d.ts +8 -8
- package/dist/types/{excalidraw/element → element/src}/containerCache.d.ts +11 -11
- package/dist/types/{excalidraw/element → element/src}/cropElement.d.ts +19 -19
- package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +216 -191
- package/dist/types/element/src/distance.d.ts +3 -0
- package/dist/types/{excalidraw → element/src}/distribute.d.ts +6 -6
- package/dist/types/{excalidraw/element → element/src}/dragElements.d.ts +33 -32
- package/dist/types/element/src/duplicate.d.ts +63 -0
- package/dist/types/{excalidraw/element → element/src}/elbowArrow.d.ts +17 -16
- package/dist/types/{excalidraw/element → element/src}/elementLink.d.ts +13 -13
- package/dist/types/element/src/embeddable.d.ts +10 -0
- package/dist/types/{excalidraw/element → element/src}/flowchart.d.ts +26 -25
- package/dist/types/{excalidraw → element/src}/fractionalIndex.d.ts +57 -48
- package/dist/types/{excalidraw → element/src}/frame.d.ts +70 -69
- package/dist/types/{excalidraw → element/src}/groups.d.ts +33 -33
- package/dist/types/{excalidraw/element → element/src}/heading.d.ts +15 -16
- package/dist/types/{excalidraw/element → element/src}/image.d.ts +32 -32
- package/dist/types/element/src/index.d.ts +57 -0
- package/dist/types/{excalidraw/element → element/src}/linearElementEditor.d.ts +116 -130
- package/dist/types/element/src/mutateElement.d.ts +21 -0
- package/dist/types/{excalidraw/element → element/src}/newElement.d.ts +62 -101
- package/dist/types/{excalidraw/renderer → element/src}/renderElement.d.ts +28 -28
- package/dist/types/{excalidraw/element → element/src}/resizeElements.d.ts +32 -31
- package/dist/types/{excalidraw/element → element/src}/resizeTest.d.ts +15 -15
- package/dist/types/{excalidraw/scene → element/src}/selection.d.ts +38 -32
- package/dist/types/element/src/shape.d.ts +42 -0
- package/dist/types/{excalidraw/element → element/src}/showSelectedShapeActions.d.ts +3 -3
- package/dist/types/{excalidraw/element → element/src}/sizeHelpers.d.ts +35 -35
- package/dist/types/{excalidraw/element → element/src}/sortElements.d.ts +2 -2
- package/dist/types/element/src/store.d.ts +231 -0
- package/dist/types/{excalidraw/element → element/src}/textElement.d.ts +40 -39
- package/dist/types/{excalidraw/element → element/src}/textMeasurements.d.ts +41 -41
- package/dist/types/{excalidraw/element → element/src}/textWrapping.d.ts +13 -13
- package/dist/types/{excalidraw/element → element/src}/transformHandles.d.ts +55 -55
- package/dist/types/{excalidraw/element → element/src}/typeChecks.d.ts +57 -39
- package/dist/types/{excalidraw/element → element/src}/types.d.ts +295 -282
- package/dist/types/element/src/utils.d.ts +31 -0
- package/dist/types/{excalidraw → element/src}/zindex.d.ts +7 -6
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +528 -534
- package/dist/types/excalidraw/actions/actionAlign.d.ts +110 -110
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +389 -393
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +2416 -2266
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +1172 -1183
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +189 -191
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +568 -573
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +35 -35
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +18 -22
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +211 -213
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +375 -381
- package/dist/types/excalidraw/{element/embeddable.d.ts → actions/actionEmbeddable.d.ts} +186 -198
- package/dist/types/excalidraw/actions/actionExport.d.ts +1648 -1666
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +398 -362
- package/dist/types/excalidraw/actions/actionFlip.d.ts +35 -35
- package/dist/types/excalidraw/actions/actionFrame.d.ts +1245 -1253
- package/dist/types/excalidraw/actions/actionGroup.d.ts +387 -391
- package/dist/types/excalidraw/actions/actionHistory.d.ts +6 -7
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +683 -192
- package/dist/types/excalidraw/actions/actionLink.d.ts +190 -192
- package/dist/types/excalidraw/actions/actionMenu.d.ts +548 -554
- package/dist/types/excalidraw/actions/actionNavigate.d.ts +363 -367
- package/dist/types/excalidraw/actions/actionProperties.d.ts +2774 -2796
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +189 -191
- package/dist/types/excalidraw/actions/actionStyles.d.ts +203 -205
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -17
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +192 -194
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +190 -192
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +183 -357
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +189 -192
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +190 -193
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +190 -193
- package/dist/types/excalidraw/actions/actionZindex.d.ts +75 -75
- package/dist/types/excalidraw/actions/index.d.ts +28 -27
- package/dist/types/excalidraw/actions/manager.d.ts +21 -21
- package/dist/types/excalidraw/actions/register.d.ts +5 -5
- package/dist/types/excalidraw/actions/shortcuts.d.ts +4 -4
- package/dist/types/excalidraw/actions/types.d.ts +47 -46
- package/dist/types/excalidraw/analytics.d.ts +1 -1
- package/dist/types/excalidraw/animated-trail.d.ts +39 -33
- package/dist/types/excalidraw/animation-frame-handler.d.ts +16 -16
- package/dist/types/excalidraw/appState.d.ts +96 -86
- package/dist/types/excalidraw/charts.d.ts +27 -27
- package/dist/types/excalidraw/clients.d.ts +14 -14
- package/dist/types/excalidraw/clipboard.d.ts +66 -66
- package/dist/types/excalidraw/components/Actions.d.ts +34 -34
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +4 -4
- package/dist/types/excalidraw/components/App.d.ts +559 -544
- package/dist/types/excalidraw/components/Avatar.d.ts +11 -11
- package/dist/types/excalidraw/components/BraveMeasureTextError.d.ts +2 -2
- package/dist/types/excalidraw/components/Button.d.ts +17 -17
- package/dist/types/excalidraw/components/ButtonIcon.d.ts +16 -15
- package/dist/types/excalidraw/components/ButtonIconCycle.d.ts +11 -11
- package/dist/types/excalidraw/components/ButtonSeparator.d.ts +1 -1
- package/dist/types/excalidraw/components/Card.d.ts +7 -7
- package/dist/types/excalidraw/components/CheckboxItem.d.ts +8 -8
- package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +10 -9
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +23 -19
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +8 -8
- package/dist/types/excalidraw/components/ColorPicker/HotkeyLabel.d.ts +7 -8
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +17 -18
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +9 -10
- package/dist/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +5 -5
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +8 -8
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +9 -9
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +21 -21
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +21 -21
- package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +18 -18
- package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +2 -2
- package/dist/types/excalidraw/components/CommandPalette/types.d.ts +26 -26
- package/dist/types/excalidraw/components/ConfirmDialog.d.ts +10 -10
- package/dist/types/excalidraw/components/ContextMenu.d.ts +16 -16
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +7 -7
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +31 -31
- package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +4 -4
- package/dist/types/excalidraw/components/Dialog.d.ts +13 -13
- package/dist/types/excalidraw/components/DialogActionButton.d.ts +10 -10
- package/dist/types/excalidraw/{element → components}/ElementCanvasButtons.d.ts +7 -7
- package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +12 -11
- package/dist/types/excalidraw/components/ErrorDialog.d.ts +5 -5
- package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +16 -16
- package/dist/types/excalidraw/components/EyeDropper.d.ts +28 -28
- package/dist/types/excalidraw/components/FilledButton.d.ts +18 -18
- package/dist/types/excalidraw/components/FixedSideContainer.d.ts +9 -9
- package/dist/types/excalidraw/components/FollowMode/FollowMode.d.ts +10 -10
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +21 -21
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +26 -26
- package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +6 -6
- package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +14 -14
- package/dist/types/excalidraw/components/HandButton.d.ts +10 -10
- package/dist/types/excalidraw/components/HelpButton.d.ts +7 -7
- package/dist/types/excalidraw/components/HelpDialog.d.ts +4 -4
- package/dist/types/excalidraw/components/HintViewer.d.ts +10 -10
- package/dist/types/excalidraw/components/IconPicker.d.ts +15 -15
- package/dist/types/excalidraw/components/ImageExportDialog.d.ts +14 -14
- package/dist/types/excalidraw/components/InitializeApp.d.ts +10 -10
- package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -3
- package/dist/types/excalidraw/components/Island.d.ts +10 -10
- package/dist/types/excalidraw/components/JSONExportDialog.d.ts +15 -15
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +10 -10
- package/dist/types/excalidraw/components/LayerUI.d.ts +31 -31
- package/dist/types/excalidraw/components/LibraryMenu.d.ts +10 -10
- package/dist/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +7 -7
- package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +9 -9
- package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +18 -18
- package/dist/types/excalidraw/components/LibraryMenuItems.d.ts +14 -14
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +23 -23
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +15 -15
- package/dist/types/excalidraw/components/LoadingMessage.d.ts +6 -6
- package/dist/types/excalidraw/components/LockButton.d.ts +10 -10
- package/dist/types/excalidraw/components/MagicButton.d.ts +10 -10
- package/dist/types/excalidraw/components/MobileMenu.d.ts +25 -25
- package/dist/types/excalidraw/components/Modal.d.ts +12 -12
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
- package/dist/types/excalidraw/components/Paragraph.d.ts +4 -4
- package/dist/types/excalidraw/components/PasteChartDialog.d.ts +8 -8
- package/dist/types/excalidraw/components/PenModeButton.d.ts +12 -12
- package/dist/types/excalidraw/components/Popover.d.ts +15 -15
- package/dist/types/excalidraw/components/ProjectName.d.ts +10 -10
- package/dist/types/excalidraw/components/PropertiesPopover.d.ts +15 -15
- package/dist/types/excalidraw/components/PublishLibrary.d.ts +16 -16
- package/dist/types/excalidraw/components/QuickSearch.d.ts +9 -9
- package/dist/types/excalidraw/components/RadioGroup.d.ts +14 -14
- package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +20 -20
- package/dist/types/excalidraw/components/Range.d.ts +8 -8
- package/dist/types/excalidraw/components/SVGLayer.d.ts +7 -7
- package/dist/types/excalidraw/components/ScrollableList.d.ts +9 -9
- package/dist/types/excalidraw/components/SearchMenu.d.ts +5 -5
- package/dist/types/excalidraw/components/Section.d.ts +6 -6
- package/dist/types/excalidraw/components/ShareableLinkDialog.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +76 -76
- package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +9 -9
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +10 -10
- package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +7 -7
- package/dist/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +6 -6
- package/dist/types/excalidraw/components/Sidebar/common.d.ts +34 -34
- package/dist/types/excalidraw/components/Spinner.d.ts +8 -8
- package/dist/types/excalidraw/components/Stack.d.ts +15 -15
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +11 -10
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +45 -35
- package/dist/types/excalidraw/components/Stats/FontSize.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +11 -11
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +14 -14
- package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +12 -12
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +14 -14
- package/dist/types/excalidraw/components/Stats/Position.d.ts +12 -12
- package/dist/types/excalidraw/components/Stats/index.d.ts +36 -36
- package/dist/types/excalidraw/components/Stats/utils.d.ts +19 -26
- package/dist/types/excalidraw/components/Switch.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +6 -6
- package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +30 -30
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +8 -8
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +17 -17
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +4 -4
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogSubmitShortcut.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +8 -8
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +7 -7
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +11 -11
- package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +9 -9
- package/dist/types/excalidraw/components/TTDDialog/common.d.ts +33 -33
- package/dist/types/excalidraw/components/TextField.d.ts +21 -21
- package/dist/types/excalidraw/components/Toast.d.ts +9 -9
- package/dist/types/excalidraw/components/ToolButton.d.ts +49 -49
- package/dist/types/excalidraw/components/Tooltip.d.ts +18 -18
- package/dist/types/excalidraw/components/Trans.d.ts +9 -9
- package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
- package/dist/types/excalidraw/components/UserList.d.ts +18 -18
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +30 -29
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +14 -14
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +19 -19
- package/dist/types/excalidraw/components/canvases/index.d.ts +3 -3
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +86 -86
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +46 -46
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +8 -8
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -18
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -7
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +16 -16
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -11
- package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +6 -6
- package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
- package/dist/types/excalidraw/components/footer/Footer.d.ts +12 -12
- package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +8 -8
- package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +4 -4
- package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +19 -18
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +10 -9
- package/dist/types/excalidraw/components/icons.d.ts +225 -221
- package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +64 -64
- package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +83 -80
- package/dist/types/excalidraw/components/shapes.d.ts +62 -0
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
- package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +85 -85
- package/dist/types/excalidraw/context/tunnels.d.ts +21 -21
- package/dist/types/excalidraw/context/ui-appState.d.ts +4 -4
- package/dist/types/excalidraw/cursor.d.ts +5 -5
- package/dist/types/excalidraw/data/EditorLocalStorage.d.ts +8 -8
- package/dist/types/excalidraw/data/ai/types.d.ts +242 -242
- package/dist/types/excalidraw/data/blob.d.ts +53 -53
- package/dist/types/excalidraw/data/encode.d.ts +55 -55
- package/dist/types/excalidraw/data/encryption.d.ts +9 -9
- package/dist/types/excalidraw/data/filesystem.d.ts +21 -21
- package/dist/types/excalidraw/data/image.d.ts +9 -9
- package/dist/types/excalidraw/data/index.d.ts +22 -22
- package/dist/types/excalidraw/data/json.d.ts +16 -16
- package/dist/types/excalidraw/data/library.d.ts +112 -112
- package/dist/types/excalidraw/data/reconcile.d.ts +6 -6
- package/dist/types/excalidraw/data/resave.d.ts +5 -5
- package/dist/types/excalidraw/data/restore.d.ts +21 -21
- package/dist/types/excalidraw/data/transform.d.ts +81 -81
- package/dist/types/excalidraw/data/types.d.ts +45 -45
- package/dist/types/excalidraw/deburr.d.ts +1 -1
- package/dist/types/excalidraw/editor-jotai.d.ts +56 -56
- package/dist/types/excalidraw/eraser/index.d.ts +12 -0
- package/dist/types/excalidraw/errors.d.ts +29 -32
- package/dist/types/excalidraw/fonts/Cascadia/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/ComicShanns/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Emoji/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/ExcalidrawFontFace.d.ts +25 -25
- package/dist/types/excalidraw/fonts/Excalifont/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Fonts.d.ts +79 -89
- package/dist/types/excalidraw/fonts/Helvetica/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Liberation/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Lilita/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Nunito/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Virgil/index.d.ts +2 -2
- package/dist/types/excalidraw/fonts/Xiaolai/index.d.ts +8 -8
- package/dist/types/excalidraw/fonts/index.d.ts +1 -1
- package/dist/types/excalidraw/gesture.d.ts +6 -6
- package/dist/types/excalidraw/history.d.ts +48 -40
- package/dist/types/excalidraw/hooks/useCallbackRefState.d.ts +1 -1
- package/dist/types/excalidraw/hooks/useCopiedIndicator.d.ts +5 -5
- package/dist/types/excalidraw/hooks/useCreatePortalContainer.d.ts +4 -4
- package/dist/types/excalidraw/hooks/useEmitter.d.ts +2 -2
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +11 -11
- package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +20 -20
- package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +2 -2
- package/dist/types/excalidraw/hooks/useStable.d.ts +1 -1
- package/dist/types/excalidraw/hooks/useStableCallback.d.ts +4 -4
- package/dist/types/excalidraw/hooks/useTransition.d.ts +2 -2
- package/dist/types/excalidraw/i18n.d.ts +24 -24
- package/dist/types/excalidraw/index-node.d.ts +1 -1
- package/dist/types/excalidraw/index.d.ts +46 -45
- package/dist/types/excalidraw/laser-trails.d.ts +20 -20
- package/dist/types/excalidraw/lasso/index.d.ts +16 -0
- package/dist/types/excalidraw/lasso/utils.d.ts +13 -0
- package/dist/types/excalidraw/mermaid.d.ts +2 -2
- package/dist/types/excalidraw/polyfill.d.ts +2 -2
- package/dist/types/excalidraw/reactUtils.d.ts +14 -14
- package/dist/types/excalidraw/renderer/helpers.d.ts +18 -13
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +20 -20
- package/dist/types/excalidraw/renderer/renderNewElementScene.d.ts +7 -7
- package/dist/types/excalidraw/renderer/renderSnaps.d.ts +2 -2
- package/dist/types/excalidraw/renderer/roundRect.d.ts +11 -11
- package/dist/types/excalidraw/renderer/staticScene.d.ts +11 -11
- package/dist/types/excalidraw/renderer/staticSvgScene.d.ts +5 -5
- package/dist/types/excalidraw/scene/Renderer.d.ts +27 -28
- package/dist/types/excalidraw/scene/export.d.ts +36 -36
- package/dist/types/excalidraw/scene/index.d.ts +4 -4
- package/dist/types/excalidraw/scene/normalize.d.ts +4 -4
- package/dist/types/excalidraw/scene/scroll.d.ts +23 -23
- package/dist/types/excalidraw/scene/scrollbars.d.ts +11 -12
- package/dist/types/excalidraw/scene/types.d.ts +120 -118
- package/dist/types/excalidraw/scene/zoom.d.ts +12 -12
- package/dist/types/excalidraw/snapping.d.ts +111 -112
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +45 -45
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +13 -13
- package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +2 -2
- package/dist/types/excalidraw/subset/subset-main.d.ts +12 -12
- package/dist/types/excalidraw/subset/subset-shared.chunk.d.ts +32 -32
- package/dist/types/excalidraw/subset/subset-worker.chunk.d.ts +15 -15
- package/dist/types/excalidraw/subset/woff2/woff2-bindings.d.ts +31 -31
- package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +14 -14
- package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +2 -2
- package/dist/types/excalidraw/types.d.ts +706 -687
- package/dist/types/excalidraw/workers.d.ts +36 -36
- package/dist/types/excalidraw/{element → wysiwyg}/textWysiwyg.d.ts +24 -22
- package/dist/types/math/{angle.d.ts → src/angle.d.ts} +19 -17
- package/dist/types/math/src/constants.d.ts +3 -0
- package/dist/types/math/src/curve.d.ts +74 -0
- package/dist/types/math/{ellipse.d.ts → src/ellipse.d.ts} +44 -44
- package/dist/types/math/{index.d.ts → src/index.d.ts} +13 -12
- package/dist/types/math/{line.d.ts → src/line.d.ts} +17 -17
- package/dist/types/math/{point.d.ts → src/point.d.ts} +122 -122
- package/dist/types/math/{polygon.d.ts → src/polygon.d.ts} +6 -5
- package/dist/types/math/{range.d.ts → src/range.d.ts} +44 -44
- package/dist/types/math/{rectangle.d.ts → src/rectangle.d.ts} +5 -3
- package/dist/types/math/{segment.d.ts → src/segment.d.ts} +39 -39
- package/dist/types/math/{triangle.d.ts → src/triangle.d.ts} +11 -11
- package/dist/types/math/{types.d.ts → src/types.d.ts} +106 -105
- package/dist/types/math/{utils.d.ts → src/utils.d.ts} +7 -7
- package/dist/types/math/{vector.d.ts → src/vector.d.ts} +94 -88
- package/dist/types/utils/{bbox.d.ts → src/bbox.d.ts} +9 -9
- package/dist/types/utils/{export.d.ts → src/export.d.ts} +35 -35
- package/dist/types/utils/{index.d.ts → src/index.d.ts} +4 -4
- package/dist/types/utils/{geometry → src}/shape.d.ts +58 -71
- package/dist/types/utils/{withinBounds.d.ts → src/withinBounds.d.ts} +19 -19
- package/history.ts +149 -110
- package/package.json +25 -10
- package/dist/dev/chunk-DVMEY4GX.js +0 -7
- package/dist/dev/chunk-DVMEY4GX.js.map +0 -7
- package/dist/dev/chunk-LMHBUWQS.js.map +0 -7
- package/dist/dev/chunk-MNBVKM3L.js +0 -25634
- package/dist/dev/chunk-MNBVKM3L.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-6U3AYISY.js +0 -12
- package/dist/prod/chunk-AIZYGWGQ.js +0 -1
- package/dist/prod/chunk-EIO257PC.js +0 -86
- package/dist/prod/chunk-SP3IBIIJ.js +0 -34
- package/dist/prod/data/image-UOG3QKNC.js +0 -1
- package/dist/types/excalidraw/align.d.ts +0 -7
- package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
- package/dist/types/excalidraw/element/collision.d.ts +0 -26
- package/dist/types/excalidraw/element/distance.d.ts +0 -3
- package/dist/types/excalidraw/element/index.d.ts +0 -26
- package/dist/types/excalidraw/element/mutateElement.d.ts +0 -13
- package/dist/types/excalidraw/element/utils.d.ts +0 -21
- package/dist/types/excalidraw/scene/Shape.d.ts +0 -17
- package/dist/types/excalidraw/scene/ShapeCache.d.ts +0 -25
- package/dist/types/excalidraw/shapes.d.ts +0 -85
- package/dist/types/excalidraw/store.d.ts +0 -129
- package/dist/types/excalidraw/visualdebug.d.ts +0 -41
- package/dist/types/math/curve.d.ts +0 -40
- package/dist/types/utils/collision.d.ts +0 -9
- /package/dist/dev/data/{image-6FU7Z7FE.js.map → image-SURZSZNX.js.map} +0 -0
- /package/dist/dev/locales/{en-OZCJJ2HN.js.map → en-SMAPCEOQ.js.map} +0 -0
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/
|
|
3
|
-
import {
|
|
4
|
-
export { MIME_TYPES };
|
|
5
|
-
type ExportOpts = {
|
|
6
|
-
elements: readonly NonDeleted<ExcalidrawElement>[];
|
|
7
|
-
appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
|
|
8
|
-
files: BinaryFiles | null;
|
|
9
|
-
maxWidthOrHeight?: number;
|
|
10
|
-
exportingFrame?: ExcalidrawFrameLikeElement | null;
|
|
11
|
-
getDimensions?: (width: number, height: number) => {
|
|
12
|
-
width: number;
|
|
13
|
-
height: number;
|
|
14
|
-
scale?: number;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
|
|
18
|
-
exportPadding?: number | undefined;
|
|
19
|
-
}) => Promise<HTMLCanvasElement>;
|
|
20
|
-
export declare const exportToBlob: (opts: ExportOpts & {
|
|
21
|
-
mimeType?: string;
|
|
22
|
-
quality?: number;
|
|
23
|
-
exportPadding?: number;
|
|
24
|
-
}) => Promise<Blob>;
|
|
25
|
-
export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
|
|
26
|
-
exportPadding?: number | undefined;
|
|
27
|
-
renderEmbeddables?: boolean | undefined;
|
|
28
|
-
skipInliningFonts?: true | undefined;
|
|
29
|
-
reuseImages?: boolean | undefined;
|
|
30
|
-
}) => Promise<SVGSVGElement>;
|
|
31
|
-
export declare const exportToClipboard: (opts: ExportOpts & {
|
|
32
|
-
mimeType?: string;
|
|
33
|
-
quality?: number;
|
|
34
|
-
type: "png" | "svg" | "json";
|
|
35
|
-
}) => Promise<void>;
|
|
1
|
+
import { MIME_TYPES } from "@excalidraw/common";
|
|
2
|
+
import type { ExcalidrawElement, ExcalidrawFrameLikeElement, NonDeleted } from "@excalidraw/element/types";
|
|
3
|
+
import type { AppState, BinaryFiles } from "@excalidraw/excalidraw/types";
|
|
4
|
+
export { MIME_TYPES };
|
|
5
|
+
type ExportOpts = {
|
|
6
|
+
elements: readonly NonDeleted<ExcalidrawElement>[];
|
|
7
|
+
appState?: Partial<Omit<AppState, "offsetTop" | "offsetLeft">>;
|
|
8
|
+
files: BinaryFiles | null;
|
|
9
|
+
maxWidthOrHeight?: number;
|
|
10
|
+
exportingFrame?: ExcalidrawFrameLikeElement | null;
|
|
11
|
+
getDimensions?: (width: number, height: number) => {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
scale?: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const exportToCanvas: ({ elements, appState, files, maxWidthOrHeight, getDimensions, exportPadding, exportingFrame, }: ExportOpts & {
|
|
18
|
+
exportPadding?: number | undefined;
|
|
19
|
+
}) => Promise<HTMLCanvasElement>;
|
|
20
|
+
export declare const exportToBlob: (opts: ExportOpts & {
|
|
21
|
+
mimeType?: string;
|
|
22
|
+
quality?: number;
|
|
23
|
+
exportPadding?: number;
|
|
24
|
+
}) => Promise<Blob>;
|
|
25
|
+
export declare const exportToSvg: ({ elements, appState, files, exportPadding, renderEmbeddables, exportingFrame, skipInliningFonts, reuseImages, }: Omit<ExportOpts, "getDimensions"> & {
|
|
26
|
+
exportPadding?: number | undefined;
|
|
27
|
+
renderEmbeddables?: boolean | undefined;
|
|
28
|
+
skipInliningFonts?: true | undefined;
|
|
29
|
+
reuseImages?: boolean | undefined;
|
|
30
|
+
}) => Promise<SVGSVGElement>;
|
|
31
|
+
export declare const exportToClipboard: (opts: ExportOpts & {
|
|
32
|
+
mimeType?: string;
|
|
33
|
+
quality?: number;
|
|
34
|
+
type: "png" | "svg" | "json";
|
|
35
|
+
}) => Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./export";
|
|
2
|
-
export * from "./withinBounds";
|
|
3
|
-
export * from "./bbox";
|
|
4
|
-
export { getCommonBounds } from "@excalidraw/
|
|
1
|
+
export * from "./export";
|
|
2
|
+
export * from "./withinBounds";
|
|
3
|
+
export * from "./bbox";
|
|
4
|
+
export { getCommonBounds } from "@excalidraw/element";
|
|
@@ -1,71 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export declare const
|
|
50
|
-
export declare const
|
|
51
|
-
export declare const
|
|
52
|
-
export declare const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
* @param gap Optional value to inflate the shape before testing
|
|
60
|
-
* @returns An array of intersections
|
|
61
|
-
*/
|
|
62
|
-
export declare const segmentIntersectRectangleElement: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawBindableElement, segment: LineSegment<Point>, gap?: number) => Point[];
|
|
63
|
-
export declare const pointOnEllipse: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
|
|
64
|
-
export declare const pointInEllipse: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
|
|
65
|
-
export declare const ellipseAxes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => {
|
|
66
|
-
majorAxis: number;
|
|
67
|
-
minorAxis: number;
|
|
68
|
-
};
|
|
69
|
-
export declare const ellipseFocusToCenter: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => number;
|
|
70
|
-
export declare const ellipseExtremes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => import("@excalidraw/math").Vector[];
|
|
71
|
-
export {};
|
|
1
|
+
import { type GlobalPoint, type LocalPoint } from "@excalidraw/math";
|
|
2
|
+
import type { ElementsMap, ExcalidrawBindableElement, ExcalidrawDiamondElement, ExcalidrawElement, ExcalidrawEllipseElement, ExcalidrawEmbeddableElement, ExcalidrawFrameLikeElement, ExcalidrawFreeDrawElement, ExcalidrawIframeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawRectangleElement, ExcalidrawSelectionElement, ExcalidrawTextElement } from "@excalidraw/element/types";
|
|
3
|
+
import type { Curve, LineSegment, Polygon, Radians } from "@excalidraw/math";
|
|
4
|
+
import type { Drawable, Op } from "roughjs/bin/core";
|
|
5
|
+
export type Polyline<Point extends GlobalPoint | LocalPoint> = LineSegment<Point>[];
|
|
6
|
+
export type Polycurve<Point extends GlobalPoint | LocalPoint> = Curve<Point>[];
|
|
7
|
+
export type Ellipse<Point extends GlobalPoint | LocalPoint> = {
|
|
8
|
+
center: Point;
|
|
9
|
+
angle: Radians;
|
|
10
|
+
halfWidth: number;
|
|
11
|
+
halfHeight: number;
|
|
12
|
+
};
|
|
13
|
+
export type GeometricShape<Point extends GlobalPoint | LocalPoint> = {
|
|
14
|
+
type: "line";
|
|
15
|
+
data: LineSegment<Point>;
|
|
16
|
+
} | {
|
|
17
|
+
type: "polygon";
|
|
18
|
+
data: Polygon<Point>;
|
|
19
|
+
} | {
|
|
20
|
+
type: "curve";
|
|
21
|
+
data: Curve<Point>;
|
|
22
|
+
} | {
|
|
23
|
+
type: "ellipse";
|
|
24
|
+
data: Ellipse<Point>;
|
|
25
|
+
} | {
|
|
26
|
+
type: "polyline";
|
|
27
|
+
data: Polyline<Point>;
|
|
28
|
+
} | {
|
|
29
|
+
type: "polycurve";
|
|
30
|
+
data: Polycurve<Point>;
|
|
31
|
+
};
|
|
32
|
+
type RectangularElement = ExcalidrawRectangleElement | ExcalidrawDiamondElement | ExcalidrawFrameLikeElement | ExcalidrawEmbeddableElement | ExcalidrawImageElement | ExcalidrawIframeElement | ExcalidrawTextElement | ExcalidrawSelectionElement;
|
|
33
|
+
export declare const getPolygonShape: <Point extends GlobalPoint | LocalPoint>(element: RectangularElement) => GeometricShape<Point>;
|
|
34
|
+
export declare const getSelectionBoxShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawElement, elementsMap: ElementsMap, padding?: number) => GeometricShape<Point>;
|
|
35
|
+
export declare const getEllipseShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawEllipseElement) => GeometricShape<Point>;
|
|
36
|
+
export declare const getCurvePathOps: (shape: Drawable) => Op[];
|
|
37
|
+
export declare const getCurveShape: <Point extends GlobalPoint | LocalPoint>(roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
|
|
38
|
+
export declare const getFreedrawShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawFreeDrawElement, center: Point, isClosed?: boolean) => GeometricShape<Point>;
|
|
39
|
+
export declare const getClosedCurveShape: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawLinearElement, roughShape: Drawable, startingPoint: Point | undefined, angleInRadian: Radians, center: Point) => GeometricShape<Point>;
|
|
40
|
+
/**
|
|
41
|
+
* Determine intersection of a rectangular shaped element and a
|
|
42
|
+
* line segment.
|
|
43
|
+
*
|
|
44
|
+
* @param element The rectangular element to test against
|
|
45
|
+
* @param segment The segment intersecting the element
|
|
46
|
+
* @param gap Optional value to inflate the shape before testing
|
|
47
|
+
* @returns An array of intersections
|
|
48
|
+
*/
|
|
49
|
+
export declare const segmentIntersectRectangleElement: <Point extends GlobalPoint | LocalPoint>(element: ExcalidrawBindableElement, segment: LineSegment<Point>, gap?: number) => Point[];
|
|
50
|
+
export declare const pointOnEllipse: <Point extends GlobalPoint | LocalPoint>(point: Point, ellipse: Ellipse<Point>, threshold?: number) => boolean;
|
|
51
|
+
export declare const pointInEllipse: <Point extends GlobalPoint | LocalPoint>(p: Point, ellipse: Ellipse<Point>) => boolean;
|
|
52
|
+
export declare const ellipseAxes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => {
|
|
53
|
+
majorAxis: number;
|
|
54
|
+
minorAxis: number;
|
|
55
|
+
};
|
|
56
|
+
export declare const ellipseFocusToCenter: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => number;
|
|
57
|
+
export declare const ellipseExtremes: <Point extends GlobalPoint | LocalPoint>(ellipse: Ellipse<Point>) => import("@excalidraw/math").Vector[];
|
|
58
|
+
export {};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
type Element = NonDeletedExcalidrawElement;
|
|
4
|
-
type Elements = readonly NonDeletedExcalidrawElement[];
|
|
5
|
-
export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;
|
|
6
|
-
export declare const elementPartiallyOverlapsWithOrContainsBBox: (element: Element, bbox: Bounds) => boolean;
|
|
7
|
-
export declare const elementsOverlappingBBox: ({ elements, bounds, type, errorMargin, }: {
|
|
8
|
-
elements: Elements;
|
|
9
|
-
bounds: Bounds | ExcalidrawElement;
|
|
10
|
-
/** safety offset. Defaults to 0. */
|
|
11
|
-
errorMargin?: number | undefined;
|
|
12
|
-
/**
|
|
13
|
-
* - overlap: elements overlapping or inside bounds
|
|
14
|
-
* - contain: elements inside bounds or bounds inside elements
|
|
15
|
-
* - inside: elements inside bounds
|
|
16
|
-
**/
|
|
17
|
-
type: "overlap" | "contain" | "inside";
|
|
18
|
-
}) => NonDeletedExcalidrawElement[];
|
|
19
|
-
export {};
|
|
1
|
+
import type { Bounds } from "@excalidraw/element";
|
|
2
|
+
import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
|
|
3
|
+
type Element = NonDeletedExcalidrawElement;
|
|
4
|
+
type Elements = readonly NonDeletedExcalidrawElement[];
|
|
5
|
+
export declare const isElementInsideBBox: (element: Element, bbox: Bounds, eitherDirection?: boolean) => boolean;
|
|
6
|
+
export declare const elementPartiallyOverlapsWithOrContainsBBox: (element: Element, bbox: Bounds) => boolean;
|
|
7
|
+
export declare const elementsOverlappingBBox: ({ elements, bounds, type, errorMargin, }: {
|
|
8
|
+
elements: Elements;
|
|
9
|
+
bounds: Bounds | ExcalidrawElement;
|
|
10
|
+
/** safety offset. Defaults to 0. */
|
|
11
|
+
errorMargin?: number | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* - overlap: elements overlapping or inside bounds
|
|
14
|
+
* - contain: elements inside bounds or bounds inside elements
|
|
15
|
+
* - inside: elements inside bounds
|
|
16
|
+
**/
|
|
17
|
+
type: "overlap" | "contain" | "inside";
|
|
18
|
+
}) => NonDeletedExcalidrawElement[];
|
|
19
|
+
export {};
|
package/history.ts
CHANGED
|
@@ -1,10 +1,84 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { Emitter } from "@excalidraw/common";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
CaptureUpdateAction,
|
|
5
|
+
StoreChange,
|
|
6
|
+
StoreDelta,
|
|
7
|
+
} from "@excalidraw/element";
|
|
8
|
+
|
|
9
|
+
import type { StoreSnapshot, Store } from "@excalidraw/element";
|
|
10
|
+
|
|
11
|
+
import type { SceneElementsMap } from "@excalidraw/element/types";
|
|
12
|
+
|
|
5
13
|
import type { AppState } from "./types";
|
|
6
14
|
|
|
7
|
-
|
|
15
|
+
export class HistoryDelta extends StoreDelta {
|
|
16
|
+
/**
|
|
17
|
+
* Apply the delta to the passed elements and appState, does not modify the snapshot.
|
|
18
|
+
*/
|
|
19
|
+
public applyTo(
|
|
20
|
+
elements: SceneElementsMap,
|
|
21
|
+
appState: AppState,
|
|
22
|
+
snapshot: StoreSnapshot,
|
|
23
|
+
): [SceneElementsMap, AppState, boolean] {
|
|
24
|
+
const [nextElements, elementsContainVisibleChange] = this.elements.applyTo(
|
|
25
|
+
elements,
|
|
26
|
+
// used to fallback into local snapshot in case we couldn't apply the delta
|
|
27
|
+
// due to a missing (force deleted) elements in the scene
|
|
28
|
+
snapshot.elements,
|
|
29
|
+
// we don't want to apply the `version` and `versionNonce` properties for history
|
|
30
|
+
// as we always need to end up with a new version due to collaboration,
|
|
31
|
+
// approaching each undo / redo as a new user action
|
|
32
|
+
{
|
|
33
|
+
excludedProperties: new Set(["version", "versionNonce"]),
|
|
34
|
+
},
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const [nextAppState, appStateContainsVisibleChange] = this.appState.applyTo(
|
|
38
|
+
appState,
|
|
39
|
+
nextElements,
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const appliedVisibleChanges =
|
|
43
|
+
elementsContainVisibleChange || appStateContainsVisibleChange;
|
|
44
|
+
|
|
45
|
+
return [nextElements, nextAppState, appliedVisibleChanges];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Overriding once to avoid type casting everywhere.
|
|
50
|
+
*/
|
|
51
|
+
public static override calculate(
|
|
52
|
+
prevSnapshot: StoreSnapshot,
|
|
53
|
+
nextSnapshot: StoreSnapshot,
|
|
54
|
+
) {
|
|
55
|
+
return super.calculate(prevSnapshot, nextSnapshot) as HistoryDelta;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Overriding once to avoid type casting everywhere.
|
|
60
|
+
*/
|
|
61
|
+
public static override inverse(delta: StoreDelta): HistoryDelta {
|
|
62
|
+
return super.inverse(delta) as HistoryDelta;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Overriding once to avoid type casting everywhere.
|
|
67
|
+
*/
|
|
68
|
+
public static override applyLatestChanges(
|
|
69
|
+
delta: StoreDelta,
|
|
70
|
+
prevElements: SceneElementsMap,
|
|
71
|
+
nextElements: SceneElementsMap,
|
|
72
|
+
modifierOptions?: "deleted" | "inserted",
|
|
73
|
+
) {
|
|
74
|
+
return super.applyLatestChanges(
|
|
75
|
+
delta,
|
|
76
|
+
prevElements,
|
|
77
|
+
nextElements,
|
|
78
|
+
modifierOptions,
|
|
79
|
+
) as HistoryDelta;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
8
82
|
|
|
9
83
|
export class HistoryChangedEvent {
|
|
10
84
|
constructor(
|
|
@@ -18,8 +92,8 @@ export class History {
|
|
|
18
92
|
[HistoryChangedEvent]
|
|
19
93
|
>();
|
|
20
94
|
|
|
21
|
-
|
|
22
|
-
|
|
95
|
+
public readonly undoStack: HistoryDelta[] = [];
|
|
96
|
+
public readonly redoStack: HistoryDelta[] = [];
|
|
23
97
|
|
|
24
98
|
public get isUndoStackEmpty() {
|
|
25
99
|
return this.undoStack.length === 0;
|
|
@@ -29,98 +103,119 @@ export class History {
|
|
|
29
103
|
return this.redoStack.length === 0;
|
|
30
104
|
}
|
|
31
105
|
|
|
106
|
+
constructor(private readonly store: Store) {}
|
|
107
|
+
|
|
32
108
|
public clear() {
|
|
33
109
|
this.undoStack.length = 0;
|
|
34
110
|
this.redoStack.length = 0;
|
|
35
111
|
}
|
|
36
112
|
|
|
37
113
|
/**
|
|
38
|
-
* Record a local
|
|
114
|
+
* Record a non-empty local durable increment, which will go into the undo stack..
|
|
115
|
+
* Do not re-record history entries, which were already pushed to undo / redo stack, as part of history action.
|
|
39
116
|
*/
|
|
40
|
-
public record(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const entry = HistoryEntry.create(appStateChange, elementsChange);
|
|
117
|
+
public record(delta: StoreDelta) {
|
|
118
|
+
if (delta.isEmpty() || delta instanceof HistoryDelta) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
45
121
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
this.undoStack.push(entry.inverse());
|
|
122
|
+
// construct history entry, so once it's emitted, it's not recorded again
|
|
123
|
+
const historyDelta = HistoryDelta.inverse(delta);
|
|
49
124
|
|
|
50
|
-
|
|
51
|
-
// don't reset redo stack on local appState changes,
|
|
52
|
-
// as a simple click (unselect) could lead to losing all the redo entries
|
|
53
|
-
// only reset on non empty elements changes!
|
|
54
|
-
this.redoStack.length = 0;
|
|
55
|
-
}
|
|
125
|
+
this.undoStack.push(historyDelta);
|
|
56
126
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
)
|
|
127
|
+
if (!historyDelta.elements.isEmpty()) {
|
|
128
|
+
// don't reset redo stack on local appState changes,
|
|
129
|
+
// as a simple click (unselect) could lead to losing all the redo entries
|
|
130
|
+
// only reset on non empty elements changes!
|
|
131
|
+
this.redoStack.length = 0;
|
|
60
132
|
}
|
|
133
|
+
|
|
134
|
+
this.onHistoryChangedEmitter.trigger(
|
|
135
|
+
new HistoryChangedEvent(this.isUndoStackEmpty, this.isRedoStackEmpty),
|
|
136
|
+
);
|
|
61
137
|
}
|
|
62
138
|
|
|
63
|
-
public undo(
|
|
64
|
-
elements: SceneElementsMap,
|
|
65
|
-
appState: AppState,
|
|
66
|
-
snapshot: Readonly<Snapshot>,
|
|
67
|
-
) {
|
|
139
|
+
public undo(elements: SceneElementsMap, appState: AppState) {
|
|
68
140
|
return this.perform(
|
|
69
141
|
elements,
|
|
70
142
|
appState,
|
|
71
|
-
snapshot,
|
|
72
143
|
() => History.pop(this.undoStack),
|
|
73
|
-
(entry:
|
|
144
|
+
(entry: HistoryDelta) => History.push(this.redoStack, entry),
|
|
74
145
|
);
|
|
75
146
|
}
|
|
76
147
|
|
|
77
|
-
public redo(
|
|
78
|
-
elements: SceneElementsMap,
|
|
79
|
-
appState: AppState,
|
|
80
|
-
snapshot: Readonly<Snapshot>,
|
|
81
|
-
) {
|
|
148
|
+
public redo(elements: SceneElementsMap, appState: AppState) {
|
|
82
149
|
return this.perform(
|
|
83
150
|
elements,
|
|
84
151
|
appState,
|
|
85
|
-
snapshot,
|
|
86
152
|
() => History.pop(this.redoStack),
|
|
87
|
-
(entry:
|
|
153
|
+
(entry: HistoryDelta) => History.push(this.undoStack, entry),
|
|
88
154
|
);
|
|
89
155
|
}
|
|
90
156
|
|
|
91
157
|
private perform(
|
|
92
158
|
elements: SceneElementsMap,
|
|
93
159
|
appState: AppState,
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
push: (entry: HistoryEntry) => void,
|
|
160
|
+
pop: () => HistoryDelta | null,
|
|
161
|
+
push: (entry: HistoryDelta) => void,
|
|
97
162
|
): [SceneElementsMap, AppState] | void {
|
|
98
163
|
try {
|
|
99
|
-
let
|
|
164
|
+
let historyDelta = pop();
|
|
100
165
|
|
|
101
|
-
if (
|
|
166
|
+
if (historyDelta === null) {
|
|
102
167
|
return;
|
|
103
168
|
}
|
|
104
169
|
|
|
170
|
+
const action = CaptureUpdateAction.IMMEDIATELY;
|
|
171
|
+
|
|
172
|
+
let prevSnapshot = this.store.snapshot;
|
|
173
|
+
|
|
105
174
|
let nextElements = elements;
|
|
106
175
|
let nextAppState = appState;
|
|
107
176
|
let containsVisibleChange = false;
|
|
108
177
|
|
|
109
|
-
// iterate through the history entries in case they result in no visible changes
|
|
110
|
-
while (
|
|
178
|
+
// iterate through the history entries in case ;they result in no visible changes
|
|
179
|
+
while (historyDelta) {
|
|
111
180
|
try {
|
|
112
181
|
[nextElements, nextAppState, containsVisibleChange] =
|
|
113
|
-
|
|
182
|
+
historyDelta.applyTo(nextElements, nextAppState, prevSnapshot);
|
|
183
|
+
|
|
184
|
+
const prevElements = prevSnapshot.elements;
|
|
185
|
+
const nextSnapshot = prevSnapshot.maybeClone(
|
|
186
|
+
action,
|
|
187
|
+
nextElements,
|
|
188
|
+
nextAppState,
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
const change = StoreChange.create(prevSnapshot, nextSnapshot);
|
|
192
|
+
const delta = HistoryDelta.applyLatestChanges(
|
|
193
|
+
historyDelta,
|
|
194
|
+
prevElements,
|
|
195
|
+
nextElements,
|
|
196
|
+
);
|
|
197
|
+
|
|
198
|
+
if (!delta.isEmpty()) {
|
|
199
|
+
// schedule immediate capture, so that it's emitted for the sync purposes
|
|
200
|
+
this.store.scheduleMicroAction({
|
|
201
|
+
action,
|
|
202
|
+
change,
|
|
203
|
+
delta,
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
historyDelta = delta;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
prevSnapshot = nextSnapshot;
|
|
114
210
|
} finally {
|
|
115
|
-
|
|
116
|
-
push(historyEntry);
|
|
211
|
+
push(historyDelta);
|
|
117
212
|
}
|
|
118
213
|
|
|
119
214
|
if (containsVisibleChange) {
|
|
120
215
|
break;
|
|
121
216
|
}
|
|
122
217
|
|
|
123
|
-
|
|
218
|
+
historyDelta = pop();
|
|
124
219
|
}
|
|
125
220
|
|
|
126
221
|
return [nextElements, nextAppState];
|
|
@@ -133,7 +228,7 @@ export class History {
|
|
|
133
228
|
}
|
|
134
229
|
}
|
|
135
230
|
|
|
136
|
-
private static pop(stack:
|
|
231
|
+
private static pop(stack: HistoryDelta[]): HistoryDelta | null {
|
|
137
232
|
if (!stack.length) {
|
|
138
233
|
return null;
|
|
139
234
|
}
|
|
@@ -147,64 +242,8 @@ export class History {
|
|
|
147
242
|
return null;
|
|
148
243
|
}
|
|
149
244
|
|
|
150
|
-
private static push(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
prevElements: SceneElementsMap,
|
|
154
|
-
) {
|
|
155
|
-
const updatedEntry = entry.inverse().applyLatestChanges(prevElements);
|
|
156
|
-
return stack.push(updatedEntry);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export class HistoryEntry {
|
|
161
|
-
private constructor(
|
|
162
|
-
public readonly appStateChange: AppStateChange,
|
|
163
|
-
public readonly elementsChange: ElementsChange,
|
|
164
|
-
) {}
|
|
165
|
-
|
|
166
|
-
public static create(
|
|
167
|
-
appStateChange: AppStateChange,
|
|
168
|
-
elementsChange: ElementsChange,
|
|
169
|
-
) {
|
|
170
|
-
return new HistoryEntry(appStateChange, elementsChange);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
public inverse(): HistoryEntry {
|
|
174
|
-
return new HistoryEntry(
|
|
175
|
-
this.appStateChange.inverse(),
|
|
176
|
-
this.elementsChange.inverse(),
|
|
177
|
-
);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
public applyTo(
|
|
181
|
-
elements: SceneElementsMap,
|
|
182
|
-
appState: AppState,
|
|
183
|
-
snapshot: Readonly<Snapshot>,
|
|
184
|
-
): [SceneElementsMap, AppState, boolean] {
|
|
185
|
-
const [nextElements, elementsContainVisibleChange] =
|
|
186
|
-
this.elementsChange.applyTo(elements, snapshot.elements);
|
|
187
|
-
|
|
188
|
-
const [nextAppState, appStateContainsVisibleChange] =
|
|
189
|
-
this.appStateChange.applyTo(appState, nextElements);
|
|
190
|
-
|
|
191
|
-
const appliedVisibleChanges =
|
|
192
|
-
elementsContainVisibleChange || appStateContainsVisibleChange;
|
|
193
|
-
|
|
194
|
-
return [nextElements, nextAppState, appliedVisibleChanges];
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* Apply latest (remote) changes to the history entry, creates new instance of `HistoryEntry`.
|
|
199
|
-
*/
|
|
200
|
-
public applyLatestChanges(elements: SceneElementsMap): HistoryEntry {
|
|
201
|
-
const updatedElementsChange =
|
|
202
|
-
this.elementsChange.applyLatestChanges(elements);
|
|
203
|
-
|
|
204
|
-
return HistoryEntry.create(this.appStateChange, updatedElementsChange);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
public isEmpty(): boolean {
|
|
208
|
-
return this.appStateChange.isEmpty() && this.elementsChange.isEmpty();
|
|
245
|
+
private static push(stack: HistoryDelta[], entry: HistoryDelta) {
|
|
246
|
+
const inversedEntry = HistoryDelta.inverse(entry);
|
|
247
|
+
return stack.push(inversedEntry);
|
|
209
248
|
}
|
|
210
249
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@excalidraw/excalidraw",
|
|
3
|
-
"version": "0.18.0-
|
|
3
|
+
"version": "0.18.0-f0063e113",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/types/excalidraw/index.d.ts",
|
|
6
6
|
"main": "./dist/prod/index.js",
|
|
7
7
|
"module": "./dist/prod/index.js",
|
|
8
8
|
"exports": {
|
|
9
|
+
"./common/*": {
|
|
10
|
+
"types": "./dist/types/common/src/*.d.ts"
|
|
11
|
+
},
|
|
12
|
+
"./element/*": {
|
|
13
|
+
"types": "./dist/types/element/src/*.d.ts"
|
|
14
|
+
},
|
|
15
|
+
"./math/*": {
|
|
16
|
+
"types": "./dist/types/math/src/*.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./utils/*": {
|
|
19
|
+
"types": "./dist/types/utils/src/*.d.ts"
|
|
20
|
+
},
|
|
9
21
|
"./*": {
|
|
10
22
|
"types": "./dist/types/excalidraw/*.d.ts"
|
|
11
23
|
},
|
|
@@ -54,17 +66,27 @@
|
|
|
54
66
|
"last 1 safari version"
|
|
55
67
|
]
|
|
56
68
|
},
|
|
69
|
+
"repository": "https://github.com/excalidraw/excalidraw",
|
|
70
|
+
"bugs": "https://github.com/excalidraw/excalidraw/issues",
|
|
71
|
+
"homepage": "https://github.com/excalidraw/excalidraw/tree/master/packages/excalidraw",
|
|
72
|
+
"scripts": {
|
|
73
|
+
"gen:types": "rimraf types && tsc",
|
|
74
|
+
"build:esm": "rimraf dist && node ../../scripts/buildPackage.js && yarn gen:types"
|
|
75
|
+
},
|
|
57
76
|
"peerDependencies": {
|
|
58
77
|
"react": "^17.0.2 || ^18.2.0 || ^19.0.0",
|
|
59
78
|
"react-dom": "^17.0.2 || ^18.2.0 || ^19.0.0"
|
|
60
79
|
},
|
|
61
80
|
"dependencies": {
|
|
62
81
|
"@braintree/sanitize-url": "6.0.2",
|
|
82
|
+
"@excalidraw/common": "0.18.0-f0063e113",
|
|
83
|
+
"@excalidraw/element": "0.18.0-f0063e113",
|
|
84
|
+
"@excalidraw/math": "0.18.0-f0063e113",
|
|
63
85
|
"@excalidraw/laser-pointer": "1.3.1",
|
|
64
86
|
"@excalidraw/mermaid-to-excalidraw": "1.1.2",
|
|
65
87
|
"@excalidraw/random-username": "1.1.0",
|
|
66
88
|
"@radix-ui/react-popover": "1.1.6",
|
|
67
|
-
"@radix-ui/react-tabs": "1.
|
|
89
|
+
"@radix-ui/react-tabs": "1.1.3",
|
|
68
90
|
"browser-fs-access": "0.29.1",
|
|
69
91
|
"canvas-roundrect-polyfill": "0.0.1",
|
|
70
92
|
"clsx": "1.1.1",
|
|
@@ -112,12 +134,5 @@
|
|
|
112
134
|
"harfbuzzjs": "0.3.6",
|
|
113
135
|
"jest-diff": "29.7.0",
|
|
114
136
|
"typescript": "4.9.4"
|
|
115
|
-
},
|
|
116
|
-
"repository": "https://github.com/excalidraw/excalidraw",
|
|
117
|
-
"bugs": "https://github.com/excalidraw/excalidraw/issues",
|
|
118
|
-
"homepage": "https://github.com/excalidraw/excalidraw/tree/master/packages/excalidraw",
|
|
119
|
-
"scripts": {
|
|
120
|
-
"gen:types": "rm -rf types && tsc",
|
|
121
|
-
"build:esm": "rm -rf dist && node ../../scripts/buildPackage.js && yarn gen:types"
|
|
122
137
|
}
|
|
123
|
-
}
|
|
138
|
+
}
|