@tldraw/editor 3.16.0-canary.9e000da8269c → 3.16.0-canary.9e28d92565ca
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/dist-cjs/index.d.ts +119 -105
- package/dist-cjs/index.js +3 -5
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/TldrawEditor.js +7 -9
- package/dist-cjs/lib/TldrawEditor.js.map +2 -2
- package/dist-cjs/lib/components/MenuClickCapture.js +0 -5
- package/dist-cjs/lib/components/MenuClickCapture.js.map +2 -2
- package/dist-cjs/lib/components/Shape.js +7 -10
- package/dist-cjs/lib/components/Shape.js.map +2 -2
- package/dist-cjs/lib/components/default-components/DefaultCanvas.js +14 -23
- package/dist-cjs/lib/components/default-components/DefaultCanvas.js.map +2 -2
- package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js +1 -1
- package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js.map +1 -1
- package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js +1 -1
- package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js.map +2 -2
- package/dist-cjs/lib/components/default-components/DefaultScribble.js +1 -1
- package/dist-cjs/lib/components/default-components/DefaultScribble.js.map +2 -2
- package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +9 -1
- package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js.map +2 -2
- package/dist-cjs/lib/config/TLUserPreferences.js +9 -3
- package/dist-cjs/lib/config/TLUserPreferences.js.map +2 -2
- package/dist-cjs/lib/editor/Editor.js +96 -128
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/derivations/notVisibleShapes.js +4 -0
- package/dist-cjs/lib/editor/derivations/notVisibleShapes.js.map +2 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js +4 -2
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js +9 -4
- package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js +23 -0
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
- package/dist-cjs/lib/editor/types/misc-types.js.map +1 -1
- package/dist-cjs/lib/exports/getSvgJsx.js +35 -16
- package/dist-cjs/lib/exports/getSvgJsx.js.map +2 -2
- package/dist-cjs/lib/hooks/useCanvasEvents.js +47 -38
- package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useDocumentEvents.js +5 -5
- package/dist-cjs/lib/hooks/useDocumentEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js +1 -2
- package/dist-cjs/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useGestureEvents.js +1 -1
- package/dist-cjs/lib/hooks/useGestureEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useHandleEvents.js +6 -6
- package/dist-cjs/lib/hooks/useHandleEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/usePassThroughMouseOverEvents.js +4 -1
- package/dist-cjs/lib/hooks/usePassThroughMouseOverEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js +4 -1
- package/dist-cjs/lib/hooks/usePassThroughWheelEvents.js.map +2 -2
- package/dist-cjs/lib/hooks/useSelectionEvents.js +8 -8
- package/dist-cjs/lib/hooks/useSelectionEvents.js.map +2 -2
- package/dist-cjs/lib/license/LicenseManager.js +143 -53
- package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
- package/dist-cjs/lib/license/LicenseProvider.js +39 -1
- package/dist-cjs/lib/license/LicenseProvider.js.map +2 -2
- package/dist-cjs/lib/license/Watermark.js +144 -75
- package/dist-cjs/lib/license/Watermark.js.map +3 -3
- package/dist-cjs/lib/license/useLicenseManagerState.js.map +2 -2
- package/dist-cjs/lib/options.js +7 -0
- package/dist-cjs/lib/options.js.map +2 -2
- package/dist-cjs/lib/primitives/Box.js +3 -0
- package/dist-cjs/lib/primitives/Box.js.map +2 -2
- package/dist-cjs/lib/primitives/Vec.js +0 -4
- package/dist-cjs/lib/primitives/Vec.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Geometry2d.js +50 -20
- package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
- package/dist-cjs/lib/primitives/geometry/Group2d.js +8 -1
- package/dist-cjs/lib/primitives/geometry/Group2d.js.map +2 -2
- package/dist-cjs/lib/utils/dom.js.map +2 -2
- package/dist-cjs/lib/utils/getPointerInfo.js +2 -3
- package/dist-cjs/lib/utils/getPointerInfo.js.map +2 -2
- package/dist-cjs/lib/utils/reparenting.js +2 -35
- package/dist-cjs/lib/utils/reparenting.js.map +3 -3
- package/dist-cjs/version.js +3 -3
- package/dist-cjs/version.js.map +1 -1
- package/dist-esm/index.d.mts +119 -105
- package/dist-esm/index.mjs +3 -5
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/TldrawEditor.mjs +7 -9
- package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
- package/dist-esm/lib/components/MenuClickCapture.mjs +0 -5
- package/dist-esm/lib/components/MenuClickCapture.mjs.map +2 -2
- package/dist-esm/lib/components/Shape.mjs +7 -10
- package/dist-esm/lib/components/Shape.mjs.map +2 -2
- package/dist-esm/lib/components/default-components/DefaultCanvas.mjs +14 -23
- package/dist-esm/lib/components/default-components/DefaultCanvas.mjs.map +2 -2
- package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs +1 -1
- package/dist-esm/lib/components/default-components/DefaultCollaboratorHint.mjs.map +1 -1
- package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs +1 -1
- package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs.map +2 -2
- package/dist-esm/lib/components/default-components/DefaultScribble.mjs +1 -1
- package/dist-esm/lib/components/default-components/DefaultScribble.mjs.map +2 -2
- package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs +9 -1
- package/dist-esm/lib/components/default-components/DefaultShapeIndicator.mjs.map +2 -2
- package/dist-esm/lib/config/TLUserPreferences.mjs +9 -3
- package/dist-esm/lib/config/TLUserPreferences.mjs.map +2 -2
- package/dist-esm/lib/editor/Editor.mjs +96 -128
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs +4 -0
- package/dist-esm/lib/editor/derivations/notVisibleShapes.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs +4 -2
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs +9 -4
- package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +23 -0
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/exports/getSvgJsx.mjs +36 -16
- package/dist-esm/lib/exports/getSvgJsx.mjs.map +2 -2
- package/dist-esm/lib/hooks/useCanvasEvents.mjs +49 -45
- package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useDocumentEvents.mjs +6 -6
- package/dist-esm/lib/hooks/useDocumentEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs +1 -2
- package/dist-esm/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useGestureEvents.mjs +2 -2
- package/dist-esm/lib/hooks/useGestureEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useHandleEvents.mjs +6 -6
- package/dist-esm/lib/hooks/useHandleEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/usePassThroughMouseOverEvents.mjs +4 -1
- package/dist-esm/lib/hooks/usePassThroughMouseOverEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs +4 -1
- package/dist-esm/lib/hooks/usePassThroughWheelEvents.mjs.map +2 -2
- package/dist-esm/lib/hooks/useSelectionEvents.mjs +9 -14
- package/dist-esm/lib/hooks/useSelectionEvents.mjs.map +2 -2
- package/dist-esm/lib/license/LicenseManager.mjs +144 -54
- package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
- package/dist-esm/lib/license/LicenseProvider.mjs +39 -2
- package/dist-esm/lib/license/LicenseProvider.mjs.map +2 -2
- package/dist-esm/lib/license/Watermark.mjs +145 -76
- package/dist-esm/lib/license/Watermark.mjs.map +3 -3
- package/dist-esm/lib/license/useLicenseManagerState.mjs.map +2 -2
- package/dist-esm/lib/options.mjs +7 -0
- package/dist-esm/lib/options.mjs.map +2 -2
- package/dist-esm/lib/primitives/Box.mjs +4 -1
- package/dist-esm/lib/primitives/Box.mjs.map +2 -2
- package/dist-esm/lib/primitives/Vec.mjs +0 -4
- package/dist-esm/lib/primitives/Vec.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +53 -21
- package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
- package/dist-esm/lib/primitives/geometry/Group2d.mjs +8 -1
- package/dist-esm/lib/primitives/geometry/Group2d.mjs.map +2 -2
- package/dist-esm/lib/utils/dom.mjs.map +2 -2
- package/dist-esm/lib/utils/getPointerInfo.mjs +2 -3
- package/dist-esm/lib/utils/getPointerInfo.mjs.map +2 -2
- package/dist-esm/lib/utils/reparenting.mjs +3 -40
- package/dist-esm/lib/utils/reparenting.mjs.map +2 -2
- package/dist-esm/version.mjs +3 -3
- package/dist-esm/version.mjs.map +1 -1
- package/editor.css +308 -290
- package/package.json +14 -37
- package/src/index.ts +2 -9
- package/src/lib/TldrawEditor.tsx +12 -21
- package/src/lib/components/MenuClickCapture.tsx +0 -8
- package/src/lib/components/Shape.tsx +6 -12
- package/src/lib/components/default-components/DefaultCanvas.tsx +11 -22
- package/src/lib/components/default-components/DefaultCollaboratorHint.tsx +1 -1
- package/src/lib/components/default-components/DefaultErrorFallback.tsx +1 -1
- package/src/lib/components/default-components/DefaultScribble.tsx +1 -1
- package/src/lib/components/default-components/DefaultShapeIndicator.tsx +5 -1
- package/src/lib/config/TLUserPreferences.ts +8 -1
- package/src/lib/editor/Editor.test.ts +102 -11
- package/src/lib/editor/Editor.ts +124 -170
- package/src/lib/editor/derivations/notVisibleShapes.ts +6 -0
- package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +15 -14
- package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +16 -15
- package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +49 -48
- package/src/lib/editor/managers/FocusManager/FocusManager.ts +6 -2
- package/src/lib/editor/managers/FontManager/FontManager.test.ts +24 -23
- package/src/lib/editor/managers/HistoryManager/HistoryManager.test.ts +7 -6
- package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +12 -11
- package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +57 -50
- package/src/lib/editor/managers/TextManager/TextManager.test.ts +51 -26
- package/src/lib/editor/managers/TickManager/TickManager.test.ts +14 -13
- package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +34 -26
- package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.ts +6 -1
- package/src/lib/editor/shapes/ShapeUtil.ts +46 -0
- package/src/lib/editor/types/misc-types.ts +0 -6
- package/src/lib/exports/getSvgJsx.test.ts +868 -0
- package/src/lib/exports/getSvgJsx.tsx +78 -21
- package/src/lib/hooks/useCanvasEvents.ts +62 -55
- package/src/lib/hooks/useDocumentEvents.ts +6 -6
- package/src/lib/hooks/useFixSafariDoubleTapZoomPencilEvents.ts +1 -1
- package/src/lib/hooks/useGestureEvents.ts +2 -2
- package/src/lib/hooks/useHandleEvents.ts +6 -6
- package/src/lib/hooks/usePassThroughMouseOverEvents.ts +4 -1
- package/src/lib/hooks/usePassThroughWheelEvents.ts +6 -1
- package/src/lib/hooks/useSelectionEvents.ts +9 -14
- package/src/lib/license/LicenseManager.test.ts +724 -383
- package/src/lib/license/LicenseManager.ts +204 -58
- package/src/lib/license/LicenseProvider.tsx +74 -2
- package/src/lib/license/Watermark.test.tsx +2 -1
- package/src/lib/license/Watermark.tsx +152 -77
- package/src/lib/license/useLicenseManagerState.ts +2 -2
- package/src/lib/options.ts +8 -0
- package/src/lib/primitives/Box.test.ts +126 -0
- package/src/lib/primitives/Box.ts +10 -1
- package/src/lib/primitives/Vec.ts +0 -5
- package/src/lib/primitives/geometry/Geometry2d.test.ts +420 -0
- package/src/lib/primitives/geometry/Geometry2d.ts +78 -21
- package/src/lib/primitives/geometry/Group2d.ts +10 -1
- package/src/lib/test/InFrontOfTheCanvas.test.tsx +187 -0
- package/src/lib/utils/dom.test.ts +103 -0
- package/src/lib/utils/dom.ts +8 -1
- package/src/lib/utils/getPointerInfo.ts +3 -2
- package/src/lib/utils/reparenting.ts +3 -69
- package/src/lib/utils/sync/LocalIndexedDb.test.ts +2 -1
- package/src/lib/utils/sync/TLLocalSyncClient.test.ts +15 -15
- package/src/version.ts +3 -3
- package/dist-cjs/lib/utils/nearestMultiple.js +0 -34
- package/dist-cjs/lib/utils/nearestMultiple.js.map +0 -7
- package/dist-esm/lib/utils/nearestMultiple.mjs +0 -14
- package/dist-esm/lib/utils/nearestMultiple.mjs.map +0 -7
- package/src/lib/utils/nearestMultiple.ts +0 -13
|
@@ -88,7 +88,6 @@ var import_defaultShapes = require("../config/defaultShapes");
|
|
|
88
88
|
var import_constants = require("../constants");
|
|
89
89
|
var import_exportToSvg = require("../exports/exportToSvg");
|
|
90
90
|
var import_getSvgAsImage = require("../exports/getSvgAsImage");
|
|
91
|
-
var import_environment = require("../globals/environment");
|
|
92
91
|
var import_menus = require("../globals/menus");
|
|
93
92
|
var import_time = require("../globals/time");
|
|
94
93
|
var import_options = require("../options");
|
|
@@ -123,8 +122,8 @@ var import_TextManager = require("./managers/TextManager/TextManager");
|
|
|
123
122
|
var import_TickManager = require("./managers/TickManager/TickManager");
|
|
124
123
|
var import_UserPreferencesManager = require("./managers/UserPreferencesManager/UserPreferencesManager");
|
|
125
124
|
var import_RootState = require("./tools/RootState");
|
|
126
|
-
var __setMetaKeyTimeout_dec, __setCtrlKeyTimeout_dec, __setAltKeyTimeout_dec, __setShiftKeyTimeout_dec, _getIsReadonly_dec, _getIsFocused_dec, _getSharedOpacity_dec, _getSharedStyles_dec, __getSelectionSharedStyles_dec, __getBindingsIndexCache_dec, _getCurrentPageRenderingShapesSorted_dec, _getCurrentPageShapesSorted_dec, _getCurrentPageShapes_dec, _getCurrentPageBounds_dec, _getCulledShapes_dec, _getNotVisibleShapes_dec, __getShapeMaskedPageBoundsCache_dec, __getShapeMaskCache_dec, __getShapeClipPathCache_dec, __getShapePageBoundsCache_dec, __getShapePageTransformCache_dec, __getShapeHandlesCache_dec, __getAllAssetsQuery_dec, _getCurrentPageShapeIdsSorted_dec, _getCurrentPageId_dec, _getPages_dec, __getAllPagesQuery_dec, _getRenderingShapes_dec, _getCollaboratorsOnCurrentPage_dec, _getCollaborators_dec, __getCollaboratorsQuery_dec, _getViewportPageBounds_dec, _getViewportScreenCenter_dec, _getViewportScreenBounds_dec, _getZoomLevel_dec, _getCameraForFollowing_dec, _getViewportPageBoundsForFollowing_dec, _getCamera_dec, __unsafe_getCameraId_dec, _getErasingShapes_dec, _getErasingShapeIds_dec, _getHintingShape_dec, _getHintingShapeIds_dec, _getHoveredShape_dec, _getHoveredShapeId_dec, _getRichTextEditor_dec, _getEditingShape_dec, _getEditingShapeId_dec, _getFocusedGroup_dec, _getFocusedGroupId_dec, _getSelectionRotatedScreenBounds_dec, _getSelectionRotatedPageBounds_dec, _getSelectionRotation_dec, _getSelectionPageBounds_dec, _getOnlySelectedShape_dec, _getOnlySelectedShapeId_dec, _getCurrentPageShapesInReadingOrder_dec, _getSelectedShapes_dec, _getSelectedShapeIds_dec, __getCurrentPageStateId_dec, _getCurrentPageState_dec, __getPageStatesQuery_dec, _getPageStates_dec,
|
|
127
|
-
class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_dec = [import_state.computed], _getCanUndo_dec = [import_state.computed], _getCanRedo_dec = [import_state.computed], _getPath_dec = [import_state.computed], _getCurrentTool_dec = [import_state.computed], _getCurrentToolId_dec = [import_state.computed], _getDocumentSettings_dec = [import_state.computed], _getInstanceState_dec = [import_state.computed],
|
|
125
|
+
var __setMetaKeyTimeout_dec, __setCtrlKeyTimeout_dec, __setAltKeyTimeout_dec, __setShiftKeyTimeout_dec, _getIsReadonly_dec, _getIsFocused_dec, _getSharedOpacity_dec, _getSharedStyles_dec, __getSelectionSharedStyles_dec, __getBindingsIndexCache_dec, _getCurrentPageRenderingShapesSorted_dec, _getCurrentPageShapesSorted_dec, _getCurrentPageShapes_dec, _getCurrentPageBounds_dec, _getCulledShapes_dec, _getNotVisibleShapes_dec, __getShapeMaskedPageBoundsCache_dec, __getShapeMaskCache_dec, __getShapeClipPathCache_dec, __getShapePageBoundsCache_dec, __getShapePageTransformCache_dec, __getShapeHandlesCache_dec, __getAllAssetsQuery_dec, _getCurrentPageShapeIdsSorted_dec, _getCurrentPageId_dec, _getPages_dec, __getAllPagesQuery_dec, _getRenderingShapes_dec, _getCollaboratorsOnCurrentPage_dec, _getCollaborators_dec, __getCollaboratorsQuery_dec, _getViewportPageBounds_dec, _getViewportScreenCenter_dec, _getViewportScreenBounds_dec, _getZoomLevel_dec, _getCameraForFollowing_dec, _getViewportPageBoundsForFollowing_dec, _getCamera_dec, __unsafe_getCameraId_dec, _getErasingShapes_dec, _getErasingShapeIds_dec, _getHintingShape_dec, _getHintingShapeIds_dec, _getHoveredShape_dec, _getHoveredShapeId_dec, _getRichTextEditor_dec, _getEditingShape_dec, _getEditingShapeId_dec, _getFocusedGroup_dec, _getFocusedGroupId_dec, _getSelectionRotatedScreenBounds_dec, _getSelectionRotatedPageBounds_dec, _getSelectionRotation_dec, _getSelectionPageBounds_dec, _getOnlySelectedShape_dec, _getOnlySelectedShapeId_dec, _getCurrentPageShapesInReadingOrder_dec, _getSelectedShapes_dec, _getSelectedShapeIds_dec, __getCurrentPageStateId_dec, _getCurrentPageState_dec, __getPageStatesQuery_dec, _getPageStates_dec, _getInstanceState_dec, _getDocumentSettings_dec, _getCurrentToolId_dec, _getCurrentTool_dec, _getPath_dec, _getCanRedo_dec, _getCanUndo_dec, _getIsShapeHiddenCache_dec, _a, _init;
|
|
126
|
+
class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_dec = [import_state.computed], _getCanUndo_dec = [import_state.computed], _getCanRedo_dec = [import_state.computed], _getPath_dec = [import_state.computed], _getCurrentTool_dec = [import_state.computed], _getCurrentToolId_dec = [import_state.computed], _getDocumentSettings_dec = [import_state.computed], _getInstanceState_dec = [import_state.computed], _getPageStates_dec = [import_state.computed], __getPageStatesQuery_dec = [import_state.computed], _getCurrentPageState_dec = [import_state.computed], __getCurrentPageStateId_dec = [import_state.computed], _getSelectedShapeIds_dec = [import_state.computed], _getSelectedShapes_dec = [import_state.computed], _getCurrentPageShapesInReadingOrder_dec = [import_state.computed], _getOnlySelectedShapeId_dec = [import_state.computed], _getOnlySelectedShape_dec = [import_state.computed], _getSelectionPageBounds_dec = [import_state.computed], _getSelectionRotation_dec = [import_state.computed], _getSelectionRotatedPageBounds_dec = [import_state.computed], _getSelectionRotatedScreenBounds_dec = [import_state.computed], _getFocusedGroupId_dec = [import_state.computed], _getFocusedGroup_dec = [import_state.computed], _getEditingShapeId_dec = [import_state.computed], _getEditingShape_dec = [import_state.computed], _getRichTextEditor_dec = [import_state.computed], _getHoveredShapeId_dec = [import_state.computed], _getHoveredShape_dec = [import_state.computed], _getHintingShapeIds_dec = [import_state.computed], _getHintingShape_dec = [import_state.computed], _getErasingShapeIds_dec = [import_state.computed], _getErasingShapes_dec = [import_state.computed], __unsafe_getCameraId_dec = [import_state.computed], _getCamera_dec = [import_state.computed], _getViewportPageBoundsForFollowing_dec = [import_state.computed], _getCameraForFollowing_dec = [import_state.computed], _getZoomLevel_dec = [import_state.computed], _getViewportScreenBounds_dec = [import_state.computed], _getViewportScreenCenter_dec = [import_state.computed], _getViewportPageBounds_dec = [import_state.computed], __getCollaboratorsQuery_dec = [import_state.computed], _getCollaborators_dec = [import_state.computed], _getCollaboratorsOnCurrentPage_dec = [import_state.computed], _getRenderingShapes_dec = [import_state.computed], __getAllPagesQuery_dec = [import_state.computed], _getPages_dec = [import_state.computed], _getCurrentPageId_dec = [import_state.computed], _getCurrentPageShapeIdsSorted_dec = [import_state.computed], __getAllAssetsQuery_dec = [import_state.computed], __getShapeHandlesCache_dec = [import_state.computed], __getShapePageTransformCache_dec = [import_state.computed], __getShapePageBoundsCache_dec = [import_state.computed], __getShapeClipPathCache_dec = [import_state.computed], __getShapeMaskCache_dec = [import_state.computed], __getShapeMaskedPageBoundsCache_dec = [import_state.computed], _getNotVisibleShapes_dec = [import_state.computed], _getCulledShapes_dec = [import_state.computed], _getCurrentPageBounds_dec = [import_state.computed], _getCurrentPageShapes_dec = [import_state.computed], _getCurrentPageShapesSorted_dec = [import_state.computed], _getCurrentPageRenderingShapesSorted_dec = [import_state.computed], __getBindingsIndexCache_dec = [import_state.computed], __getSelectionSharedStyles_dec = [import_state.computed], _getSharedStyles_dec = [(0, import_state.computed)({ isEqual: (a, b) => a.equals(b) })], _getSharedOpacity_dec = [import_state.computed], _getIsFocused_dec = [import_state.computed], _getIsReadonly_dec = [import_state.computed], __setShiftKeyTimeout_dec = [import_utils.bind], __setAltKeyTimeout_dec = [import_utils.bind], __setCtrlKeyTimeout_dec = [import_utils.bind], __setMetaKeyTimeout_dec = [import_utils.bind], _a) {
|
|
128
127
|
constructor({
|
|
129
128
|
store,
|
|
130
129
|
user,
|
|
@@ -138,8 +137,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
138
137
|
autoFocus,
|
|
139
138
|
inferDarkMode,
|
|
140
139
|
options,
|
|
141
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
142
|
-
isShapeHidden,
|
|
143
140
|
getShapeVisibility,
|
|
144
141
|
fontAssetUrls
|
|
145
142
|
}) {
|
|
@@ -206,13 +203,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
206
203
|
* @public
|
|
207
204
|
*/
|
|
208
205
|
__publicField(this, "fonts");
|
|
209
|
-
/**
|
|
210
|
-
* A manager for the editor's environment.
|
|
211
|
-
*
|
|
212
|
-
* @deprecated This is deprecated and will be removed in a future version. Use the `tlenv` global export instead.
|
|
213
|
-
* @public
|
|
214
|
-
*/
|
|
215
|
-
__publicField(this, "environment", import_environment.tlenv);
|
|
216
206
|
/**
|
|
217
207
|
* A manager for the editor's scribbles.
|
|
218
208
|
*
|
|
@@ -414,15 +404,10 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
414
404
|
__publicField(this, "performanceTracker");
|
|
415
405
|
/** @internal */
|
|
416
406
|
__publicField(this, "performanceTrackerTimeout", -1);
|
|
407
|
+
/** @internal */
|
|
408
|
+
__publicField(this, "handledEvents", /* @__PURE__ */ new WeakSet());
|
|
417
409
|
__publicField(this, "_pendingEventsForNextTick", []);
|
|
418
|
-
|
|
419
|
-
!(isShapeHidden && getShapeVisibility),
|
|
420
|
-
"Cannot use both isShapeHidden and getShapeVisibility"
|
|
421
|
-
);
|
|
422
|
-
this._getShapeVisibility = isShapeHidden ? (
|
|
423
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
424
|
-
(shape, editor) => isShapeHidden(shape, editor) ? "hidden" : "inherit"
|
|
425
|
-
) : getShapeVisibility;
|
|
410
|
+
this._getShapeVisibility = getShapeVisibility;
|
|
426
411
|
this.options = { ...import_options.defaultTldrawOptions, ...options };
|
|
427
412
|
this.store = store;
|
|
428
413
|
this.history = new import_HistoryManager.HistoryManager({
|
|
@@ -448,6 +433,7 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
448
433
|
}
|
|
449
434
|
this.root = new NewRoot(this);
|
|
450
435
|
this.root.children = {};
|
|
436
|
+
this.markEventAsHandled = this.markEventAsHandled.bind(this);
|
|
451
437
|
const allShapeUtils = (0, import_defaultShapes.checkShapesAndAddCore)(shapeUtils);
|
|
452
438
|
const _shapeUtils = {};
|
|
453
439
|
const _styleProps = {};
|
|
@@ -902,34 +888,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
902
888
|
getCanRedo() {
|
|
903
889
|
return this.history.getNumRedos() > 0;
|
|
904
890
|
}
|
|
905
|
-
/**
|
|
906
|
-
* Create a new "mark", or stopping point, in the undo redo history. Creating a mark will clear
|
|
907
|
-
* any redos.
|
|
908
|
-
*
|
|
909
|
-
* @example
|
|
910
|
-
* ```ts
|
|
911
|
-
* editor.mark()
|
|
912
|
-
* editor.mark('flip shapes')
|
|
913
|
-
* ```
|
|
914
|
-
*
|
|
915
|
-
* @param markId - The mark's id, usually the reason for adding the mark.
|
|
916
|
-
*
|
|
917
|
-
* @public
|
|
918
|
-
* @deprecated use {@link Editor.markHistoryStoppingPoint} instead
|
|
919
|
-
*/
|
|
920
|
-
mark(markId) {
|
|
921
|
-
if (typeof markId === "string") {
|
|
922
|
-
console.warn(
|
|
923
|
-
`[tldraw] \`editor.history.mark("${markId}")\` is deprecated. Please use \`const myMarkId = editor.markHistoryStoppingPoint()\` instead.`
|
|
924
|
-
);
|
|
925
|
-
} else {
|
|
926
|
-
console.warn(
|
|
927
|
-
"[tldraw] `editor.mark()` is deprecated. Use `editor.markHistoryStoppingPoint()` instead."
|
|
928
|
-
);
|
|
929
|
-
}
|
|
930
|
-
this.history._mark(markId ?? (0, import_utils.uniqueId)());
|
|
931
|
-
return this;
|
|
932
|
-
}
|
|
933
891
|
/**
|
|
934
892
|
* Create a new "mark", or stopping point, in the undo redo history. Creating a mark will clear
|
|
935
893
|
* any redos. You typically want to do this just before a user interaction begins or is handled.
|
|
@@ -1045,12 +1003,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
1045
1003
|
}
|
|
1046
1004
|
return this;
|
|
1047
1005
|
}
|
|
1048
|
-
/**
|
|
1049
|
-
* @deprecated Use `Editor.run` instead.
|
|
1050
|
-
*/
|
|
1051
|
-
batch(fn, opts) {
|
|
1052
|
-
return this.run(fn, opts);
|
|
1053
|
-
}
|
|
1054
1006
|
/* --------------------- Errors --------------------- */
|
|
1055
1007
|
/** @internal */
|
|
1056
1008
|
annotateError(error, {
|
|
@@ -1272,39 +1224,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
1272
1224
|
]);
|
|
1273
1225
|
}, opts);
|
|
1274
1226
|
}
|
|
1275
|
-
getOpenMenus() {
|
|
1276
|
-
return this.menus.getOpenMenus();
|
|
1277
|
-
}
|
|
1278
|
-
/**
|
|
1279
|
-
* @deprecated Use `editor.menus.addOpenMenu` instead.
|
|
1280
|
-
*
|
|
1281
|
-
* @public
|
|
1282
|
-
*/
|
|
1283
|
-
addOpenMenu(id) {
|
|
1284
|
-
this.menus.addOpenMenu(id);
|
|
1285
|
-
return this;
|
|
1286
|
-
}
|
|
1287
|
-
/**
|
|
1288
|
-
* @deprecated Use `editor.menus.deleteOpenMenu` instead.
|
|
1289
|
-
*
|
|
1290
|
-
* @public
|
|
1291
|
-
*/
|
|
1292
|
-
deleteOpenMenu(id) {
|
|
1293
|
-
this.menus.deleteOpenMenu(id);
|
|
1294
|
-
return this;
|
|
1295
|
-
}
|
|
1296
|
-
/**
|
|
1297
|
-
* @deprecated Use `editor.menus.clearOpenMenus` instead.
|
|
1298
|
-
*
|
|
1299
|
-
* @public
|
|
1300
|
-
*/
|
|
1301
|
-
clearOpenMenus() {
|
|
1302
|
-
this.menus.clearOpenMenus();
|
|
1303
|
-
return this;
|
|
1304
|
-
}
|
|
1305
|
-
getIsMenuOpen() {
|
|
1306
|
-
return this.menus.hasAnyOpenMenus();
|
|
1307
|
-
}
|
|
1308
1227
|
/* --------------------- Cursor --------------------- */
|
|
1309
1228
|
/**
|
|
1310
1229
|
* Set the cursor.
|
|
@@ -3612,8 +3531,9 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
3612
3531
|
return this.store.createComputedCache("pageBoundsCache", (shape) => {
|
|
3613
3532
|
const pageTransform = this.getShapePageTransform(shape);
|
|
3614
3533
|
if (!pageTransform) return void 0;
|
|
3615
|
-
|
|
3616
|
-
|
|
3534
|
+
return import_Box.Box.FromPoints(
|
|
3535
|
+
pageTransform.applyToPoints(this.getShapeGeometry(shape).boundsVertices)
|
|
3536
|
+
);
|
|
3617
3537
|
});
|
|
3618
3538
|
}
|
|
3619
3539
|
/**
|
|
@@ -3666,16 +3586,17 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
3666
3586
|
_getShapeMaskCache() {
|
|
3667
3587
|
return this.store.createComputedCache("pageMaskCache", (shape) => {
|
|
3668
3588
|
if ((0, import_tlschema.isPageId)(shape.parentId)) return void 0;
|
|
3669
|
-
const
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
const pageTransform = this.getShapePageTransform(
|
|
3676
|
-
|
|
3677
|
-
}
|
|
3678
|
-
|
|
3589
|
+
const clipPaths = [];
|
|
3590
|
+
for (const ancestor of this.getShapeAncestors(shape.id)) {
|
|
3591
|
+
const util = this.getShapeUtil(ancestor);
|
|
3592
|
+
const clipPath = util.getClipPath?.(ancestor);
|
|
3593
|
+
if (!clipPath) continue;
|
|
3594
|
+
if (util.shouldClipChild?.(shape) === false) continue;
|
|
3595
|
+
const pageTransform = this.getShapePageTransform(ancestor.id);
|
|
3596
|
+
clipPaths.push(pageTransform.applyToPoints(clipPath));
|
|
3597
|
+
}
|
|
3598
|
+
if (clipPaths.length === 0) return void 0;
|
|
3599
|
+
const pageMask = clipPaths.reduce((acc, b) => {
|
|
3679
3600
|
const intersection = (0, import_intersect.intersectPolygonPolygon)(acc, b);
|
|
3680
3601
|
if (intersection) {
|
|
3681
3602
|
return intersection.map(import_Vec.Vec.Cast);
|
|
@@ -4373,10 +4294,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
4373
4294
|
}
|
|
4374
4295
|
return shapeIds;
|
|
4375
4296
|
}
|
|
4376
|
-
/** @deprecated Use {@link Editor.getDraggingOverShape} instead */
|
|
4377
|
-
getDroppingOverShape(point, droppingShapes) {
|
|
4378
|
-
return this.getDraggingOverShape(point, droppingShapes);
|
|
4379
|
-
}
|
|
4380
4297
|
/**
|
|
4381
4298
|
* Get the shape that some shapes should be dropped on at a given point.
|
|
4382
4299
|
*
|
|
@@ -4748,7 +4665,16 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
4748
4665
|
}
|
|
4749
4666
|
this.createShapes(shapesToCreate);
|
|
4750
4667
|
this.createBindings(bindingsToCreate);
|
|
4751
|
-
this.setSelectedShapes(
|
|
4668
|
+
this.setSelectedShapes(
|
|
4669
|
+
(0, import_utils.compact)(
|
|
4670
|
+
ids.map((oldId) => {
|
|
4671
|
+
const newId = shapeIds.get(oldId);
|
|
4672
|
+
if (!newId) return null;
|
|
4673
|
+
if (!this.getShape(newId)) return null;
|
|
4674
|
+
return newId;
|
|
4675
|
+
})
|
|
4676
|
+
)
|
|
4677
|
+
);
|
|
4752
4678
|
if (offset !== void 0) {
|
|
4753
4679
|
const selectionPageBounds = this.getSelectionPageBounds();
|
|
4754
4680
|
const viewportPageBounds = this.getViewportPageBounds();
|
|
@@ -5827,21 +5753,24 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
5827
5753
|
}
|
|
5828
5754
|
if (!partial.parentId || !(this.store.has(partial.parentId) || shapes.some((p) => p.id === partial.parentId))) {
|
|
5829
5755
|
let parentId = this.getFocusedGroupId();
|
|
5830
|
-
|
|
5831
|
-
|
|
5832
|
-
|
|
5833
|
-
|
|
5834
|
-
parent
|
|
5835
|
-
|
|
5836
|
-
|
|
5837
|
-
|
|
5838
|
-
|
|
5839
|
-
|
|
5840
|
-
|
|
5756
|
+
const isPositioned = partial.x !== void 0 && partial.y !== void 0;
|
|
5757
|
+
if (isPositioned) {
|
|
5758
|
+
for (let i = currentPageShapesSorted.length - 1; i >= 0; i--) {
|
|
5759
|
+
const parent = currentPageShapesSorted[i];
|
|
5760
|
+
const util = this.getShapeUtil(parent);
|
|
5761
|
+
if (util.canReceiveNewChildrenOfType(parent, partial.type) && !this.isShapeHidden(parent) && this.isPointInShape(
|
|
5762
|
+
parent,
|
|
5763
|
+
// If no parent is provided, then we can treat the
|
|
5764
|
+
// shape's provided x/y as being in the page's space.
|
|
5765
|
+
{ x: partial.x ?? 0, y: partial.y ?? 0 },
|
|
5766
|
+
{
|
|
5767
|
+
margin: 0,
|
|
5768
|
+
hitInside: true
|
|
5769
|
+
}
|
|
5770
|
+
)) {
|
|
5771
|
+
parentId = parent.id;
|
|
5772
|
+
break;
|
|
5841
5773
|
}
|
|
5842
|
-
)) {
|
|
5843
|
-
parentId = parent.id;
|
|
5844
|
-
break;
|
|
5845
5774
|
}
|
|
5846
5775
|
}
|
|
5847
5776
|
const prevParentId = partial.parentId;
|
|
@@ -6512,16 +6441,20 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
6512
6441
|
* Handle external content, such as files, urls, embeds, or plain text which has been put into the app, for example by pasting external text or dropping external images onto canvas.
|
|
6513
6442
|
*
|
|
6514
6443
|
* @param info - Info about the external content.
|
|
6444
|
+
* @param opts - Options for handling external content, including force flag to bypass readonly checks.
|
|
6515
6445
|
*/
|
|
6516
|
-
async putExternalContent(info) {
|
|
6446
|
+
async putExternalContent(info, opts = {}) {
|
|
6447
|
+
if (!opts.force && this.getIsReadonly()) return;
|
|
6517
6448
|
return this.externalContentHandlers[info.type]?.(info);
|
|
6518
6449
|
}
|
|
6519
6450
|
/**
|
|
6520
6451
|
* Handle replacing external content.
|
|
6521
6452
|
*
|
|
6522
6453
|
* @param info - Info about the external content.
|
|
6454
|
+
* @param opts - Options for handling external content, including force flag to bypass readonly checks.
|
|
6523
6455
|
*/
|
|
6524
|
-
async replaceExternalContent(info) {
|
|
6456
|
+
async replaceExternalContent(info, opts = {}) {
|
|
6457
|
+
if (!opts.force && this.getIsReadonly()) return;
|
|
6525
6458
|
return this.externalContentHandlers[info.type]?.(info);
|
|
6526
6459
|
}
|
|
6527
6460
|
/**
|
|
@@ -6875,12 +6808,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
6875
6808
|
height: result.height
|
|
6876
6809
|
};
|
|
6877
6810
|
}
|
|
6878
|
-
/** @deprecated Use {@link Editor.getSvgString} or {@link Editor.getSvgElement} instead. */
|
|
6879
|
-
async getSvg(shapes, opts = {}) {
|
|
6880
|
-
const result = await this.getSvgElement(shapes, opts);
|
|
6881
|
-
if (!result) return void 0;
|
|
6882
|
-
return result.svg;
|
|
6883
|
-
}
|
|
6884
6811
|
/**
|
|
6885
6812
|
* Get an exported image of the given shapes.
|
|
6886
6813
|
*
|
|
@@ -6930,6 +6857,23 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
6930
6857
|
}
|
|
6931
6858
|
}
|
|
6932
6859
|
}
|
|
6860
|
+
/**
|
|
6861
|
+
* Get an exported image of the given shapes as a data URL.
|
|
6862
|
+
*
|
|
6863
|
+
* @param shapes - The shapes (or shape ids) to export.
|
|
6864
|
+
* @param opts - Options for the export.
|
|
6865
|
+
*
|
|
6866
|
+
* @returns A data URL of the image.
|
|
6867
|
+
* @public
|
|
6868
|
+
*/
|
|
6869
|
+
async toImageDataUrl(shapes, opts = {}) {
|
|
6870
|
+
const { blob, width, height } = await this.toImage(shapes, opts);
|
|
6871
|
+
return {
|
|
6872
|
+
url: await import_utils.FileHelpers.blobToDataUrl(blob),
|
|
6873
|
+
width,
|
|
6874
|
+
height
|
|
6875
|
+
};
|
|
6876
|
+
}
|
|
6933
6877
|
/**
|
|
6934
6878
|
* Update the input points from a pointer, pinch, or wheel event.
|
|
6935
6879
|
*
|
|
@@ -7430,6 +7374,32 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
7430
7374
|
code: "MetaLeft"
|
|
7431
7375
|
});
|
|
7432
7376
|
}
|
|
7377
|
+
/**
|
|
7378
|
+
* In tldraw, events are sometimes handled by multiple components. For example, the shapes might
|
|
7379
|
+
* have events, but the canvas handles events too. The way that the canvas handles events can
|
|
7380
|
+
* interfere with the with the shapes event handlers - for example, it calls `.preventDefault()`
|
|
7381
|
+
* on `pointerDown`, which also prevents `click` events from firing on the shapes.
|
|
7382
|
+
*
|
|
7383
|
+
* You can use `.stopPropagation()` to prevent the event from propagating to the rest of the
|
|
7384
|
+
* DOM, but that can impact non-tldraw event handlers set up elsewhere. By using
|
|
7385
|
+
* `markEventAsHandled`, you'll stop other parts of tldraw from handling the event without
|
|
7386
|
+
* impacting other, non-tldraw event handlers. See also {@link Editor.wasEventAlreadyHandled}.
|
|
7387
|
+
*
|
|
7388
|
+
* @public
|
|
7389
|
+
*/
|
|
7390
|
+
markEventAsHandled(e) {
|
|
7391
|
+
const nativeEvent = "nativeEvent" in e ? e.nativeEvent : e;
|
|
7392
|
+
this.handledEvents.add(nativeEvent);
|
|
7393
|
+
}
|
|
7394
|
+
/**
|
|
7395
|
+
* Checks if an event has already been handled. See {@link Editor.markEventAsHandled}.
|
|
7396
|
+
*
|
|
7397
|
+
* @public
|
|
7398
|
+
*/
|
|
7399
|
+
wasEventAlreadyHandled(e) {
|
|
7400
|
+
const nativeEvent = "nativeEvent" in e ? e.nativeEvent : e;
|
|
7401
|
+
return this.handledEvents.has(nativeEvent);
|
|
7402
|
+
}
|
|
7433
7403
|
/**
|
|
7434
7404
|
* Dispatch an event to the editor.
|
|
7435
7405
|
*
|
|
@@ -7844,8 +7814,6 @@ __decorateElement(_init, 1, "getCurrentTool", _getCurrentTool_dec, Editor);
|
|
|
7844
7814
|
__decorateElement(_init, 1, "getCurrentToolId", _getCurrentToolId_dec, Editor);
|
|
7845
7815
|
__decorateElement(_init, 1, "getDocumentSettings", _getDocumentSettings_dec, Editor);
|
|
7846
7816
|
__decorateElement(_init, 1, "getInstanceState", _getInstanceState_dec, Editor);
|
|
7847
|
-
__decorateElement(_init, 1, "getOpenMenus", _getOpenMenus_dec, Editor);
|
|
7848
|
-
__decorateElement(_init, 1, "getIsMenuOpen", _getIsMenuOpen_dec, Editor);
|
|
7849
7817
|
__decorateElement(_init, 1, "getPageStates", _getPageStates_dec, Editor);
|
|
7850
7818
|
__decorateElement(_init, 1, "_getPageStatesQuery", __getPageStatesQuery_dec, Editor);
|
|
7851
7819
|
__decorateElement(_init, 1, "getCurrentPageState", _getCurrentPageState_dec, Editor);
|