@tldraw/editor 3.14.0-canary.7cedd47b7a3a → 3.14.0-canary.813644a5fc45
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 +74 -63
- package/dist-cjs/index.js +8 -10
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/config/TLSessionStateSnapshot.js +1 -12
- package/dist-cjs/lib/config/TLSessionStateSnapshot.js.map +3 -3
- package/dist-cjs/lib/editor/Editor.js +81 -77
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/bindings/BindingUtil.js.map +2 -2
- package/dist-cjs/lib/editor/derivations/bindingsIndex.js +22 -22
- package/dist-cjs/lib/editor/derivations/bindingsIndex.js.map +2 -2
- package/dist-cjs/lib/editor/derivations/parentsToChildren.js +16 -16
- package/dist-cjs/lib/editor/derivations/parentsToChildren.js.map +2 -2
- package/dist-cjs/lib/editor/managers/{ClickManager.js → ClickManager/ClickManager.js} +1 -1
- package/dist-cjs/lib/editor/managers/ClickManager/ClickManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/{EdgeScrollManager.js → EdgeScrollManager/EdgeScrollManager.js} +2 -2
- package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/FocusManager/FocusManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/{FontManager.js → FontManager/FontManager.js} +4 -1
- package/dist-cjs/lib/editor/managers/FontManager/FontManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/{HistoryManager.js → HistoryManager/HistoryManager.js} +64 -6
- package/dist-cjs/lib/editor/managers/HistoryManager/HistoryManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/{ScribbleManager.js → ScribbleManager/ScribbleManager.js} +1 -1
- package/dist-cjs/lib/editor/managers/ScribbleManager/ScribbleManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/{TextManager.js → TextManager/TextManager.js} +73 -42
- package/dist-cjs/lib/editor/managers/TextManager/TextManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/{TickManager.js → TickManager/TickManager.js} +1 -1
- package/dist-cjs/lib/editor/managers/TickManager/TickManager.js.map +7 -0
- package/dist-cjs/lib/editor/managers/{UserPreferencesManager.js → UserPreferencesManager/UserPreferencesManager.js} +1 -1
- package/dist-cjs/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.js.map +7 -0
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +1 -1
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js +1 -1
- package/dist-cjs/lib/editor/shapes/group/GroupShapeUtil.js.map +1 -1
- package/dist-cjs/lib/editor/tools/StateNode.js +3 -3
- package/dist-cjs/lib/editor/tools/StateNode.js.map +2 -2
- package/dist-cjs/lib/editor/types/emit-types.js.map +1 -1
- package/dist-cjs/lib/editor/types/external-content.js.map +1 -1
- package/dist-cjs/lib/exports/getSvgJsx.js.map +1 -1
- package/dist-cjs/lib/hooks/useCanvasEvents.js +1 -2
- package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
- package/dist-cjs/lib/primitives/Box.js +33 -39
- package/dist-cjs/lib/primitives/Box.js.map +2 -2
- package/dist-cjs/lib/utils/areShapesContentEqual.js +1 -1
- package/dist-cjs/lib/utils/areShapesContentEqual.js.map +2 -2
- package/dist-cjs/lib/utils/reorderShapes.js +11 -10
- package/dist-cjs/lib/utils/reorderShapes.js.map +2 -2
- package/dist-cjs/lib/utils/richText.js +7 -2
- package/dist-cjs/lib/utils/richText.js.map +2 -2
- package/dist-cjs/version.js +3 -3
- package/dist-cjs/version.js.map +1 -1
- package/dist-esm/index.d.mts +74 -63
- package/dist-esm/index.mjs +12 -10
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/config/TLSessionStateSnapshot.mjs +1 -1
- package/dist-esm/lib/config/TLSessionStateSnapshot.mjs.map +2 -2
- package/dist-esm/lib/editor/Editor.mjs +81 -77
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/bindings/BindingUtil.mjs.map +2 -2
- package/dist-esm/lib/editor/derivations/bindingsIndex.mjs +22 -22
- package/dist-esm/lib/editor/derivations/bindingsIndex.mjs.map +2 -2
- package/dist-esm/lib/editor/derivations/parentsToChildren.mjs +16 -16
- package/dist-esm/lib/editor/derivations/parentsToChildren.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/{ClickManager.mjs → ClickManager/ClickManager.mjs} +1 -1
- package/dist-esm/lib/editor/managers/ClickManager/ClickManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/{EdgeScrollManager.mjs → EdgeScrollManager/EdgeScrollManager.mjs} +2 -2
- package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/FocusManager/FocusManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/{FontManager.mjs → FontManager/FontManager.mjs} +4 -1
- package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/{HistoryManager.mjs → HistoryManager/HistoryManager.mjs} +60 -2
- package/dist-esm/lib/editor/managers/HistoryManager/HistoryManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/{ScribbleManager.mjs → ScribbleManager/ScribbleManager.mjs} +1 -1
- package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/{TextManager.mjs → TextManager/TextManager.mjs} +73 -42
- package/dist-esm/lib/editor/managers/TextManager/TextManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/{TickManager.mjs → TickManager/TickManager.mjs} +1 -1
- package/dist-esm/lib/editor/managers/TickManager/TickManager.mjs.map +7 -0
- package/dist-esm/lib/editor/managers/{UserPreferencesManager.mjs → UserPreferencesManager/UserPreferencesManager.mjs} +1 -1
- package/dist-esm/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.mjs.map +7 -0
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +1 -1
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs +1 -1
- package/dist-esm/lib/editor/shapes/group/GroupShapeUtil.mjs.map +1 -1
- package/dist-esm/lib/editor/tools/StateNode.mjs +3 -3
- package/dist-esm/lib/editor/tools/StateNode.mjs.map +2 -2
- package/dist-esm/lib/exports/getSvgJsx.mjs.map +1 -1
- package/dist-esm/lib/hooks/useCanvasEvents.mjs +1 -2
- package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
- package/dist-esm/lib/primitives/Box.mjs +33 -39
- package/dist-esm/lib/primitives/Box.mjs.map +2 -2
- package/dist-esm/lib/utils/areShapesContentEqual.mjs +1 -1
- package/dist-esm/lib/utils/areShapesContentEqual.mjs.map +2 -2
- package/dist-esm/lib/utils/reorderShapes.mjs +11 -10
- package/dist-esm/lib/utils/reorderShapes.mjs.map +2 -2
- package/dist-esm/lib/utils/richText.mjs +8 -3
- package/dist-esm/lib/utils/richText.mjs.map +2 -2
- package/dist-esm/version.mjs +3 -3
- package/dist-esm/version.mjs.map +1 -1
- package/editor.css +433 -482
- package/package.json +8 -9
- package/src/index.ts +15 -8
- package/src/lib/config/TLSessionStateSnapshot.ts +1 -1
- package/src/lib/editor/Editor.test.ts +252 -3
- package/src/lib/editor/Editor.ts +82 -76
- package/src/lib/editor/bindings/BindingUtil.ts +6 -0
- package/src/lib/editor/derivations/bindingsIndex.ts +27 -26
- package/src/lib/editor/derivations/parentsToChildren.ts +28 -25
- package/src/lib/editor/managers/ClickManager/ClickManager.test.ts +442 -0
- package/src/lib/editor/managers/{ClickManager.ts → ClickManager/ClickManager.ts} +3 -3
- package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +374 -0
- package/src/lib/editor/managers/{EdgeScrollManager.ts → EdgeScrollManager/EdgeScrollManager.ts} +3 -3
- package/src/lib/editor/managers/FocusManager/FocusManager.test.ts +455 -0
- package/src/lib/editor/managers/{FocusManager.ts → FocusManager/FocusManager.ts} +1 -1
- package/src/lib/editor/managers/FontManager/FontManager.test.ts +263 -0
- package/src/lib/editor/managers/{FontManager.ts → FontManager/FontManager.ts} +5 -2
- package/src/lib/editor/managers/{HistoryManager.test.ts → HistoryManager/HistoryManager.test.ts} +388 -1
- package/src/lib/editor/managers/{HistoryManager.ts → HistoryManager/HistoryManager.ts} +73 -2
- package/src/lib/editor/managers/ScribbleManager/ScribbleManager.test.ts +624 -0
- package/src/lib/editor/managers/{ScribbleManager.ts → ScribbleManager/ScribbleManager.ts} +2 -2
- package/src/lib/editor/managers/SnapManager/SnapManager.test.ts +485 -0
- package/src/lib/editor/managers/TextManager/TextManager.test.ts +407 -0
- package/src/lib/editor/managers/{TextManager.ts → TextManager/TextManager.ts} +119 -87
- package/src/lib/editor/managers/TickManager/TickManager.test.ts +314 -0
- package/src/lib/editor/managers/{TickManager.ts → TickManager/TickManager.ts} +2 -2
- package/src/lib/editor/managers/UserPreferencesManager/UserPreferencesManager.test.ts +591 -0
- package/src/lib/editor/managers/{UserPreferencesManager.ts → UserPreferencesManager/UserPreferencesManager.ts} +2 -2
- package/src/lib/editor/shapes/ShapeUtil.ts +2 -1
- package/src/lib/editor/shapes/group/GroupShapeUtil.tsx +1 -1
- package/src/lib/editor/tools/StateNode.ts +3 -3
- package/src/lib/editor/types/emit-types.ts +4 -0
- package/src/lib/editor/types/external-content.ts +11 -2
- package/src/lib/exports/getSvgJsx.tsx +1 -1
- package/src/lib/hooks/useCanvasEvents.ts +0 -1
- package/src/lib/primitives/Box.test.ts +588 -7
- package/src/lib/primitives/Box.ts +33 -41
- package/src/lib/utils/areShapesContentEqual.ts +1 -2
- package/src/lib/utils/reorderShapes.ts +10 -13
- package/src/lib/utils/richText.ts +10 -4
- package/src/version.ts +3 -3
- package/dist-cjs/lib/editor/managers/ClickManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/EdgeScrollManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/FocusManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/FontManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/HistoryManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/ScribbleManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/Stack.js +0 -82
- package/dist-cjs/lib/editor/managers/Stack.js.map +0 -7
- package/dist-cjs/lib/editor/managers/TextManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/TickManager.js.map +0 -7
- package/dist-cjs/lib/editor/managers/UserPreferencesManager.js.map +0 -7
- package/dist-esm/lib/editor/managers/ClickManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/EdgeScrollManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/FocusManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/FontManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/HistoryManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/ScribbleManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/Stack.mjs +0 -62
- package/dist-esm/lib/editor/managers/Stack.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/TextManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/TickManager.mjs.map +0 -7
- package/dist-esm/lib/editor/managers/UserPreferencesManager.mjs.map +0 -7
- package/src/lib/editor/managers/ScribbleManager.test.ts +0 -32
- package/src/lib/editor/managers/Stack.ts +0 -71
- /package/dist-cjs/lib/editor/managers/{FocusManager.js → FocusManager/FocusManager.js} +0 -0
- /package/dist-esm/lib/editor/managers/{FocusManager.mjs → FocusManager/FocusManager.mjs} +0 -0
|
@@ -112,19 +112,19 @@ var import_bindingsIndex = require("./derivations/bindingsIndex");
|
|
|
112
112
|
var import_notVisibleShapes = require("./derivations/notVisibleShapes");
|
|
113
113
|
var import_parentsToChildren = require("./derivations/parentsToChildren");
|
|
114
114
|
var import_shapeIdsInCurrentPage = require("./derivations/shapeIdsInCurrentPage");
|
|
115
|
-
var import_ClickManager = require("./managers/ClickManager");
|
|
116
|
-
var import_EdgeScrollManager = require("./managers/EdgeScrollManager");
|
|
117
|
-
var import_FocusManager = require("./managers/FocusManager");
|
|
118
|
-
var import_FontManager = require("./managers/FontManager");
|
|
119
|
-
var import_HistoryManager = require("./managers/HistoryManager");
|
|
120
|
-
var import_ScribbleManager = require("./managers/ScribbleManager");
|
|
115
|
+
var import_ClickManager = require("./managers/ClickManager/ClickManager");
|
|
116
|
+
var import_EdgeScrollManager = require("./managers/EdgeScrollManager/EdgeScrollManager");
|
|
117
|
+
var import_FocusManager = require("./managers/FocusManager/FocusManager");
|
|
118
|
+
var import_FontManager = require("./managers/FontManager/FontManager");
|
|
119
|
+
var import_HistoryManager = require("./managers/HistoryManager/HistoryManager");
|
|
120
|
+
var import_ScribbleManager = require("./managers/ScribbleManager/ScribbleManager");
|
|
121
121
|
var import_SnapManager = require("./managers/SnapManager/SnapManager");
|
|
122
|
-
var import_TextManager = require("./managers/TextManager");
|
|
123
|
-
var import_TickManager = require("./managers/TickManager");
|
|
124
|
-
var import_UserPreferencesManager = require("./managers/UserPreferencesManager");
|
|
122
|
+
var import_TextManager = require("./managers/TextManager/TextManager");
|
|
123
|
+
var import_TickManager = require("./managers/TickManager/TickManager");
|
|
124
|
+
var import_UserPreferencesManager = require("./managers/UserPreferencesManager/UserPreferencesManager");
|
|
125
125
|
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,
|
|
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], _getOpenMenus_dec = [import_state.computed], _getIsMenuOpen_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],
|
|
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, _getIsMenuOpen_dec, _getOpenMenus_dec, _getInstanceState_dec, _getDocumentSettings_dec, _getCurrentToolId_dec, _getCurrentTool_dec, _getPath_dec, _getCanRedo_dec, _getCanUndo_dec, _getIsShapeHiddenCache_dec, _a, _init;
|
|
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], _getOpenMenus_dec = [import_state.computed], _getIsMenuOpen_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
128
|
constructor({
|
|
129
129
|
store,
|
|
130
130
|
user,
|
|
@@ -302,7 +302,7 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
302
302
|
__publicField(this, "_currentPageShapeIds");
|
|
303
303
|
/* --------------------- Shapes --------------------- */
|
|
304
304
|
__publicField(this, "_shapeGeometryCaches", {});
|
|
305
|
-
__publicField(this, "
|
|
305
|
+
__publicField(this, "_notVisibleShapes", (0, import_notVisibleShapes.notVisibleShapes)(this));
|
|
306
306
|
// Parents and children
|
|
307
307
|
/**
|
|
308
308
|
* A cache of parents to children.
|
|
@@ -323,6 +323,7 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
323
323
|
__publicField(this, "externalContentHandlers", {
|
|
324
324
|
text: null,
|
|
325
325
|
files: null,
|
|
326
|
+
"file-replace": null,
|
|
326
327
|
embed: null,
|
|
327
328
|
"svg-text": null,
|
|
328
329
|
url: null,
|
|
@@ -439,6 +440,7 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
439
440
|
this.disposables.add(() => this.user.dispose());
|
|
440
441
|
this.getContainer = getContainer;
|
|
441
442
|
this.textMeasure = new import_TextManager.TextManager(this);
|
|
443
|
+
this.disposables.add(() => this.textMeasure.dispose());
|
|
442
444
|
this.fonts = new import_FontManager.FontManager(this, fontAssetUrls);
|
|
443
445
|
this._tickManager = new import_TickManager.TickManager(this);
|
|
444
446
|
class NewRoot extends import_RootState.RootState {
|
|
@@ -559,20 +561,21 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
559
561
|
shape: {
|
|
560
562
|
afterChange: (shapeBefore, shapeAfter) => {
|
|
561
563
|
for (const binding of this.getBindingsInvolvingShape(shapeAfter)) {
|
|
562
|
-
if ((0, import_areShapesContentEqual.areShapesContentEqual)(shapeBefore, shapeAfter)) continue;
|
|
563
564
|
invalidBindingTypes.add(binding.type);
|
|
564
565
|
if (binding.fromId === shapeAfter.id) {
|
|
565
566
|
this.getBindingUtil(binding).onAfterChangeFromShape?.({
|
|
566
567
|
binding,
|
|
567
568
|
shapeBefore,
|
|
568
|
-
shapeAfter
|
|
569
|
+
shapeAfter,
|
|
570
|
+
reason: "self"
|
|
569
571
|
});
|
|
570
572
|
}
|
|
571
573
|
if (binding.toId === shapeAfter.id) {
|
|
572
574
|
this.getBindingUtil(binding).onAfterChangeToShape?.({
|
|
573
575
|
binding,
|
|
574
576
|
shapeBefore,
|
|
575
|
-
shapeAfter
|
|
577
|
+
shapeAfter,
|
|
578
|
+
reason: "self"
|
|
576
579
|
});
|
|
577
580
|
}
|
|
578
581
|
}
|
|
@@ -586,14 +589,16 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
586
589
|
this.getBindingUtil(binding).onAfterChangeFromShape?.({
|
|
587
590
|
binding,
|
|
588
591
|
shapeBefore: descendantShape,
|
|
589
|
-
shapeAfter: descendantShape
|
|
592
|
+
shapeAfter: descendantShape,
|
|
593
|
+
reason: "ancestry"
|
|
590
594
|
});
|
|
591
595
|
}
|
|
592
596
|
if (binding.toId === descendantShape.id) {
|
|
593
597
|
this.getBindingUtil(binding).onAfterChangeToShape?.({
|
|
594
598
|
binding,
|
|
595
599
|
shapeBefore: descendantShape,
|
|
596
|
-
shapeAfter: descendantShape
|
|
600
|
+
shapeAfter: descendantShape,
|
|
601
|
+
reason: "ancestry"
|
|
597
602
|
});
|
|
598
603
|
}
|
|
599
604
|
}
|
|
@@ -1637,6 +1642,19 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
1637
1642
|
getSelectionPageBounds() {
|
|
1638
1643
|
return this.getShapesPageBounds(this.getSelectedShapeIds());
|
|
1639
1644
|
}
|
|
1645
|
+
/**
|
|
1646
|
+
* The bounds of the selection bounding box in the current page space.
|
|
1647
|
+
*
|
|
1648
|
+
* @readonly
|
|
1649
|
+
* @public
|
|
1650
|
+
*/
|
|
1651
|
+
getSelectionScreenBounds() {
|
|
1652
|
+
const bounds = this.getSelectionPageBounds();
|
|
1653
|
+
if (!bounds) return void 0;
|
|
1654
|
+
const { x, y } = this.pageToScreen(bounds.point);
|
|
1655
|
+
const zoom = this.getZoomLevel();
|
|
1656
|
+
return new import_Box.Box(x, y, bounds.width * zoom, bounds.height * zoom);
|
|
1657
|
+
}
|
|
1640
1658
|
/**
|
|
1641
1659
|
* @internal
|
|
1642
1660
|
*/
|
|
@@ -2820,10 +2838,7 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
2820
2838
|
}
|
|
2821
2839
|
getViewportScreenCenter() {
|
|
2822
2840
|
const viewportScreenBounds = this.getViewportScreenBounds();
|
|
2823
|
-
return new import_Vec.Vec(
|
|
2824
|
-
viewportScreenBounds.midX - viewportScreenBounds.minX,
|
|
2825
|
-
viewportScreenBounds.midY - viewportScreenBounds.minY
|
|
2826
|
-
);
|
|
2841
|
+
return new import_Vec.Vec(viewportScreenBounds.w / 2, viewportScreenBounds.h / 2);
|
|
2827
2842
|
}
|
|
2828
2843
|
getViewportPageBounds() {
|
|
2829
2844
|
const { w, h } = this.getViewportScreenBounds();
|
|
@@ -3498,41 +3513,6 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
3498
3513
|
typeof shape === "string" ? shape : shape.id
|
|
3499
3514
|
);
|
|
3500
3515
|
}
|
|
3501
|
-
/**
|
|
3502
|
-
* Get the geometry of a shape in page-space.
|
|
3503
|
-
*
|
|
3504
|
-
* @example
|
|
3505
|
-
* ```ts
|
|
3506
|
-
* editor.getShapePageGeometry(myShape)
|
|
3507
|
-
* editor.getShapePageGeometry(myShapeId)
|
|
3508
|
-
* editor.getShapePageGeometry(myShapeId, { context: "arrow" })
|
|
3509
|
-
* ```
|
|
3510
|
-
*
|
|
3511
|
-
* @param shape - The shape (or shape id) to get the geometry for.
|
|
3512
|
-
* @param opts - Additional options about the request for geometry. Passed to {@link ShapeUtil.getGeometry}.
|
|
3513
|
-
*
|
|
3514
|
-
* @public
|
|
3515
|
-
*/
|
|
3516
|
-
getShapePageGeometry(shape, opts) {
|
|
3517
|
-
const context = opts?.context ?? "none";
|
|
3518
|
-
if (!this._shapePageGeometryCaches[context]) {
|
|
3519
|
-
this._shapePageGeometryCaches[context] = this.store.createComputedCache(
|
|
3520
|
-
"bounds",
|
|
3521
|
-
(shape2) => {
|
|
3522
|
-
const geometry = this.getShapeGeometry(shape2.id, opts);
|
|
3523
|
-
const pageTransform = this.getShapePageTransform(shape2.id);
|
|
3524
|
-
return geometry.transform(pageTransform);
|
|
3525
|
-
},
|
|
3526
|
-
{
|
|
3527
|
-
// we only depend directly on the shape id, and changing geometry/transform will update us anyway
|
|
3528
|
-
areRecordsEqual: () => true
|
|
3529
|
-
}
|
|
3530
|
-
);
|
|
3531
|
-
}
|
|
3532
|
-
return this._shapePageGeometryCaches[context].get(
|
|
3533
|
-
typeof shape === "string" ? shape : shape.id
|
|
3534
|
-
);
|
|
3535
|
-
}
|
|
3536
3516
|
_getShapeHandlesCache() {
|
|
3537
3517
|
return this.store.createComputedCache(
|
|
3538
3518
|
"handles",
|
|
@@ -3626,7 +3606,10 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
3626
3606
|
}
|
|
3627
3607
|
_getShapePageBoundsCache() {
|
|
3628
3608
|
return this.store.createComputedCache("pageBoundsCache", (shape) => {
|
|
3629
|
-
|
|
3609
|
+
const pageTransform = this.getShapePageTransform(shape);
|
|
3610
|
+
if (!pageTransform) return void 0;
|
|
3611
|
+
const geometry = this.getShapeGeometry(shape);
|
|
3612
|
+
return import_Box.Box.FromPoints(pageTransform.applyToPoints(geometry.vertices));
|
|
3630
3613
|
});
|
|
3631
3614
|
}
|
|
3632
3615
|
/**
|
|
@@ -3683,12 +3666,11 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
3683
3666
|
(shape2) => this.isShapeOfType(shape2, "frame")
|
|
3684
3667
|
);
|
|
3685
3668
|
if (frameAncestors.length === 0) return void 0;
|
|
3686
|
-
const pageMask = frameAncestors.map(
|
|
3687
|
-
(s)
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
).reduce((acc, b) => {
|
|
3669
|
+
const pageMask = frameAncestors.map((s) => {
|
|
3670
|
+
const geometry = this.getShapeGeometry(s.id);
|
|
3671
|
+
const pageTransform = this.getShapePageTransform(s.id);
|
|
3672
|
+
return pageTransform.applyToPoints(geometry.vertices);
|
|
3673
|
+
}).reduce((acc, b) => {
|
|
3692
3674
|
if (!(b && acc)) return void 0;
|
|
3693
3675
|
const intersection = (0, import_intersect.intersectPolygonPolygon)(acc, b);
|
|
3694
3676
|
if (intersection) {
|
|
@@ -3852,17 +3834,24 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
3852
3834
|
}
|
|
3853
3835
|
return void 0;
|
|
3854
3836
|
}
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3837
|
+
/**
|
|
3838
|
+
* Check whether a shape or its parent is locked.
|
|
3839
|
+
*
|
|
3840
|
+
* @param shape - The shape (or shape id) to check.
|
|
3841
|
+
*
|
|
3842
|
+
* @public
|
|
3843
|
+
*/
|
|
3844
|
+
isShapeOrAncestorLocked(shape) {
|
|
3845
|
+
const _shape = shape && this.getShape(shape);
|
|
3846
|
+
if (_shape === void 0) return false;
|
|
3847
|
+
if (_shape.isLocked) return true;
|
|
3848
|
+
return this.isShapeOrAncestorLocked(this.getShapeParent(_shape));
|
|
3860
3849
|
}
|
|
3861
|
-
|
|
3862
|
-
return
|
|
3850
|
+
getNotVisibleShapes() {
|
|
3851
|
+
return this._notVisibleShapes.get();
|
|
3863
3852
|
}
|
|
3864
3853
|
getCulledShapes() {
|
|
3865
|
-
const notVisibleShapes2 = this.
|
|
3854
|
+
const notVisibleShapes2 = this.getNotVisibleShapes();
|
|
3866
3855
|
const selectedShapeIds = this.getSelectedShapeIds();
|
|
3867
3856
|
const editingId = this.getEditingShapeId();
|
|
3868
3857
|
const culledShapes = new Set(notVisibleShapes2);
|
|
@@ -4007,18 +3996,18 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
4007
3996
|
* @example
|
|
4008
3997
|
* ```ts
|
|
4009
3998
|
* editor.getShapesAtPoint({ x: 100, y: 100 })
|
|
4010
|
-
* editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true,
|
|
3999
|
+
* editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true, margin: 8 })
|
|
4011
4000
|
* ```
|
|
4012
4001
|
*
|
|
4013
4002
|
* @param point - The page point to test.
|
|
4014
4003
|
* @param opts - The options for the hit point testing.
|
|
4015
4004
|
*
|
|
4005
|
+
* @returns An array of shapes at the given point, sorted in reverse order of their absolute z-index (top-most shape first).
|
|
4006
|
+
*
|
|
4016
4007
|
* @public
|
|
4017
4008
|
*/
|
|
4018
4009
|
getShapesAtPoint(point, opts = {}) {
|
|
4019
|
-
return this.
|
|
4020
|
-
(shape) => !this.isShapeHidden(shape) && this.isPointInShape(shape, point, opts)
|
|
4021
|
-
);
|
|
4010
|
+
return this.getCurrentPageShapesSorted().filter((shape) => !this.isShapeHidden(shape) && this.isPointInShape(shape, point, opts)).reverse();
|
|
4022
4011
|
}
|
|
4023
4012
|
/**
|
|
4024
4013
|
* Test whether a point (in the current page space) will will a shape. This method takes into account masks,
|
|
@@ -4668,7 +4657,8 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
4668
4657
|
*/
|
|
4669
4658
|
duplicateShapes(shapes, offset) {
|
|
4670
4659
|
this.run(() => {
|
|
4671
|
-
const
|
|
4660
|
+
const _ids = typeof shapes[0] === "string" ? shapes : shapes.map((s) => s.id);
|
|
4661
|
+
const ids = this._shouldIgnoreShapeLock ? _ids : this._getUnlockedShapeIds(_ids);
|
|
4672
4662
|
if (ids.length <= 0) return this;
|
|
4673
4663
|
const initialIds = new Set(ids);
|
|
4674
4664
|
const shapeIdSet = this.getShapeAndDescendantIds(ids);
|
|
@@ -5876,6 +5866,8 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
5876
5866
|
...shape.meta
|
|
5877
5867
|
};
|
|
5878
5868
|
});
|
|
5869
|
+
this.emit("created-shapes", shapeRecordsToCreate);
|
|
5870
|
+
this.emit("edit");
|
|
5879
5871
|
this.store.put(shapeRecordsToCreate);
|
|
5880
5872
|
});
|
|
5881
5873
|
return this;
|
|
@@ -6117,6 +6109,8 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
6117
6109
|
updated = this.getShapeUtil(shape).onBeforeUpdate?.(shape, updated) ?? updated;
|
|
6118
6110
|
updates.push(updated);
|
|
6119
6111
|
}
|
|
6112
|
+
this.emit("edited-shapes", updates);
|
|
6113
|
+
this.emit("edit");
|
|
6120
6114
|
this.store.put(updates);
|
|
6121
6115
|
});
|
|
6122
6116
|
}
|
|
@@ -6138,6 +6132,8 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
6138
6132
|
allShapeIdsToDelete.add(childId);
|
|
6139
6133
|
});
|
|
6140
6134
|
}
|
|
6135
|
+
this.emit("deleted-shapes", [...allShapeIdsToDelete]);
|
|
6136
|
+
this.emit("edit");
|
|
6141
6137
|
return this.run(() => this.store.remove([...allShapeIdsToDelete]));
|
|
6142
6138
|
}
|
|
6143
6139
|
deleteShape(_id) {
|
|
@@ -6481,6 +6477,14 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
|
|
|
6481
6477
|
async putExternalContent(info) {
|
|
6482
6478
|
return this.externalContentHandlers[info.type]?.(info);
|
|
6483
6479
|
}
|
|
6480
|
+
/**
|
|
6481
|
+
* Handle replacing external content.
|
|
6482
|
+
*
|
|
6483
|
+
* @param info - Info about the external content.
|
|
6484
|
+
*/
|
|
6485
|
+
async replaceExternalContent(info) {
|
|
6486
|
+
return this.externalContentHandlers[info.type]?.(info);
|
|
6487
|
+
}
|
|
6484
6488
|
/**
|
|
6485
6489
|
* Get content that can be exported for the given shape ids.
|
|
6486
6490
|
*
|
|
@@ -7807,7 +7811,7 @@ __decorateElement(_init, 1, "_getShapePageBoundsCache", __getShapePageBoundsCach
|
|
|
7807
7811
|
__decorateElement(_init, 1, "_getShapeClipPathCache", __getShapeClipPathCache_dec, Editor);
|
|
7808
7812
|
__decorateElement(_init, 1, "_getShapeMaskCache", __getShapeMaskCache_dec, Editor);
|
|
7809
7813
|
__decorateElement(_init, 1, "_getShapeMaskedPageBoundsCache", __getShapeMaskedPageBoundsCache_dec, Editor);
|
|
7810
|
-
__decorateElement(_init, 1, "
|
|
7814
|
+
__decorateElement(_init, 1, "getNotVisibleShapes", _getNotVisibleShapes_dec, Editor);
|
|
7811
7815
|
__decorateElement(_init, 1, "getCulledShapes", _getCulledShapes_dec, Editor);
|
|
7812
7816
|
__decorateElement(_init, 1, "getCurrentPageBounds", _getCurrentPageBounds_dec, Editor);
|
|
7813
7817
|
__decorateElement(_init, 1, "getCurrentPageShapes", _getCurrentPageShapes_dec, Editor);
|