@tldraw/editor 5.6.0-next.c4e9c54a816e → 5.6.0-next.f151f7f3ebd6
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 +157 -2
- package/dist-cjs/index.js +7 -1
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/TldrawEditor.js +18 -5
- package/dist-cjs/lib/TldrawEditor.js.map +3 -3
- package/dist-cjs/lib/components/LiveCollaborators.js +3 -3
- package/dist-cjs/lib/components/LiveCollaborators.js.map +2 -2
- package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js +57 -15
- package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js.map +2 -2
- package/dist-cjs/lib/config/TLI18n.js +64 -0
- package/dist-cjs/lib/config/TLI18n.js.map +7 -0
- package/dist-cjs/lib/editor/Editor.js +29 -12
- package/dist-cjs/lib/editor/Editor.js.map +2 -2
- package/dist-cjs/lib/editor/derivations/shapeIdsInCurrentPage.js +10 -3
- package/dist-cjs/lib/editor/derivations/shapeIdsInCurrentPage.js.map +2 -2
- package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js +1 -1
- package/dist-cjs/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/FontManager/FontManager.js +19 -2
- package/dist-cjs/lib/editor/managers/FontManager/FontManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/ScribbleManager/ScribbleManager.js +3 -5
- package/dist-cjs/lib/editor/managers/ScribbleManager/ScribbleManager.js.map +2 -2
- package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js +7 -1
- package/dist-cjs/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.js.map +2 -2
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js +17 -0
- package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
- package/dist-cjs/lib/hooks/useDocumentEvents.js +28 -3
- package/dist-cjs/lib/hooks/useDocumentEvents.js.map +2 -2
- package/dist-cjs/lib/license/LicenseManager.js +62 -4
- package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
- package/dist-cjs/lib/options.js +1 -1
- package/dist-cjs/lib/options.js.map +1 -1
- package/dist-cjs/version.js +3 -3
- package/dist-cjs/version.js.map +1 -1
- package/dist-esm/index.d.mts +157 -2
- package/dist-esm/index.mjs +13 -1
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/TldrawEditor.mjs +18 -5
- package/dist-esm/lib/TldrawEditor.mjs.map +2 -2
- package/dist-esm/lib/components/LiveCollaborators.mjs +3 -3
- package/dist-esm/lib/components/LiveCollaborators.mjs.map +2 -2
- package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs +61 -16
- package/dist-esm/lib/components/default-components/DefaultErrorFallback.mjs.map +2 -2
- package/dist-esm/lib/config/TLI18n.mjs +44 -0
- package/dist-esm/lib/config/TLI18n.mjs.map +7 -0
- package/dist-esm/lib/editor/Editor.mjs +29 -12
- package/dist-esm/lib/editor/Editor.mjs.map +2 -2
- package/dist-esm/lib/editor/derivations/shapeIdsInCurrentPage.mjs +10 -3
- package/dist-esm/lib/editor/derivations/shapeIdsInCurrentPage.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs +1 -1
- package/dist-esm/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs +20 -3
- package/dist-esm/lib/editor/managers/FontManager/FontManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs +3 -5
- package/dist-esm/lib/editor/managers/ScribbleManager/ScribbleManager.mjs.map +2 -2
- package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs +7 -1
- package/dist-esm/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.mjs.map +2 -2
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs +17 -0
- package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/hooks/useDocumentEvents.mjs +28 -3
- package/dist-esm/lib/hooks/useDocumentEvents.mjs.map +2 -2
- package/dist-esm/lib/license/LicenseManager.mjs +62 -4
- package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
- package/dist-esm/lib/options.mjs +1 -1
- package/dist-esm/lib/options.mjs.map +1 -1
- package/dist-esm/version.mjs +3 -3
- package/dist-esm/version.mjs.map +1 -1
- package/editor.css +2 -1
- package/package.json +7 -7
- package/src/index.ts +14 -2
- package/src/lib/TldrawEditor.tsx +44 -4
- package/src/lib/components/LiveCollaborators.tsx +3 -3
- package/src/lib/components/default-components/DefaultErrorFallback.tsx +66 -18
- package/src/lib/config/TLI18n.test.ts +84 -0
- package/src/lib/config/TLI18n.ts +172 -0
- package/src/lib/editor/Editor.ts +52 -24
- package/src/lib/editor/derivations/shapeIdsInCurrentPage.ts +19 -3
- package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.test.ts +17 -0
- package/src/lib/editor/managers/EdgeScrollManager/EdgeScrollManager.ts +2 -2
- package/src/lib/editor/managers/FontManager/FontManager.test.ts +1 -0
- package/src/lib/editor/managers/FontManager/FontManager.ts +26 -3
- package/src/lib/editor/managers/HistoryManager/HistoryManager.test.ts +32 -0
- package/src/lib/editor/managers/ScribbleManager/ScribbleManager.ts +4 -6
- package/src/lib/editor/managers/SpatialIndexManager/SpatialIndexManager.ts +16 -7
- package/src/lib/editor/shapes/ShapeUtil.ts +18 -0
- package/src/lib/hooks/useDocumentEvents.ts +51 -3
- package/src/lib/license/LicenseManager.test.ts +204 -0
- package/src/lib/license/LicenseManager.ts +88 -4
- package/src/lib/options.ts +1 -1
- package/src/lib/test/useDocumentEvents.test.tsx +153 -22
- package/src/version.ts +3 -3
|
@@ -49,6 +49,7 @@ var import_defaultAssets = require("../config/defaultAssets");
|
|
|
49
49
|
var import_defaultBindings = require("../config/defaultBindings");
|
|
50
50
|
var import_defaultShapes = require("../config/defaultShapes");
|
|
51
51
|
var import_TLEditorSnapshot = require("../config/TLEditorSnapshot");
|
|
52
|
+
var import_TLI18n = require("../config/TLI18n");
|
|
52
53
|
var import_constants = require("../constants");
|
|
53
54
|
var import_domUtils = require("../exports/domUtils");
|
|
54
55
|
var import_exportToSvg = require("../exports/exportToSvg");
|
|
@@ -123,9 +124,11 @@ class Editor extends import_eventemitter3.default {
|
|
|
123
124
|
colorScheme,
|
|
124
125
|
fontAssetUrls,
|
|
125
126
|
themes,
|
|
126
|
-
initialTheme
|
|
127
|
+
initialTheme,
|
|
128
|
+
i18n
|
|
127
129
|
}) {
|
|
128
130
|
super();
|
|
131
|
+
this.i18n = i18n ?? import_TLI18n.defaultI18n;
|
|
129
132
|
this._getShapeVisibility = getShapeVisibility;
|
|
130
133
|
const options = _textOptions ? { ..._options, text: _options?.text ?? _textOptions } : _options;
|
|
131
134
|
this.options = { ...import_options.defaultTldrawOptions, ...options };
|
|
@@ -637,6 +640,12 @@ class Editor extends import_eventemitter3.default {
|
|
|
637
640
|
*/
|
|
638
641
|
licenseManager;
|
|
639
642
|
contextId = (0, import_utils.uniqueId)();
|
|
643
|
+
/**
|
|
644
|
+
* The i18n adapter for translating strings.
|
|
645
|
+
*
|
|
646
|
+
* @public
|
|
647
|
+
*/
|
|
648
|
+
i18n;
|
|
640
649
|
/**
|
|
641
650
|
* The editor's store
|
|
642
651
|
*
|
|
@@ -1616,7 +1625,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
1616
1625
|
const firstParentId = selectedShapeIds[0] ? this.getShape(selectedShapeIds[0])?.parentId : null;
|
|
1617
1626
|
const isSelectedWithinContainer = firstParentId && selectedShapeIds.every((shapeId) => this.getShape(shapeId)?.parentId === firstParentId) && !(0, import_tlschema.isPageId)(firstParentId);
|
|
1618
1627
|
const filteredShapes = this.getCurrentPageShapes().filter(
|
|
1619
|
-
(shape2) =>
|
|
1628
|
+
(shape2) => isSelectedWithinContainer ? shape2.parentId === firstParentId : (0, import_tlschema.isPageId)(shape2.parentId)
|
|
1620
1629
|
);
|
|
1621
1630
|
const readingOrderShapes = this._getShapesInReadingOrder(filteredShapes);
|
|
1622
1631
|
const currentShapeId = selectedShapeIds.length === 1 ? selectedShapeIds[0] : readingOrderShapes.find((shape2) => selectedShapeIds.includes(shape2.id))?.id;
|
|
@@ -1759,6 +1768,11 @@ class Editor extends import_eventemitter3.default {
|
|
|
1759
1768
|
this._selectShapesAndZoom([sortedChildren[0].id]);
|
|
1760
1769
|
}
|
|
1761
1770
|
_selectShapesAndZoom(ids) {
|
|
1771
|
+
const selectedShapeIds = this.getSelectedShapeIds();
|
|
1772
|
+
const isSelectionChanging = ids.length !== selectedShapeIds.length || ids.some((id) => !selectedShapeIds.includes(id));
|
|
1773
|
+
if (isSelectionChanging) {
|
|
1774
|
+
this.markHistoryStoppingPoint("selecting adjacent shape");
|
|
1775
|
+
}
|
|
1762
1776
|
this.setSelectedShapes(ids);
|
|
1763
1777
|
this.zoomToSelectionIfOffscreen(256, {
|
|
1764
1778
|
animation: {
|
|
@@ -5928,9 +5942,10 @@ class Editor extends import_eventemitter3.default {
|
|
|
5928
5942
|
}
|
|
5929
5943
|
}
|
|
5930
5944
|
let workingShape = null;
|
|
5945
|
+
const initialPagePoint = import_Mat.Mat.applyToPoint(pageTransform, new import_Vec.Vec());
|
|
5931
5946
|
if (util.onResize && util.canResize(initialShape)) {
|
|
5932
5947
|
const newPagePoint = this._scalePagePoint(
|
|
5933
|
-
|
|
5948
|
+
initialPagePoint,
|
|
5934
5949
|
scaleOrigin,
|
|
5935
5950
|
scale,
|
|
5936
5951
|
scaleAxisRotation
|
|
@@ -5943,7 +5958,6 @@ class Editor extends import_eventemitter3.default {
|
|
|
5943
5958
|
);
|
|
5944
5959
|
myScale.x = areWidthAndHeightAlignedWithCorrectAxis ? scale.x : scale.y;
|
|
5945
5960
|
myScale.y = areWidthAndHeightAlignedWithCorrectAxis ? scale.y : scale.x;
|
|
5946
|
-
const initialPagePoint = import_Mat.Mat.applyToPoint(pageTransform, new import_Vec.Vec());
|
|
5947
5961
|
const { x, y } = this.getPointInParentSpace(initialShape.id, initialPagePoint);
|
|
5948
5962
|
workingShape = initialShape;
|
|
5949
5963
|
if (!opts.skipStartAndEndCallbacks) {
|
|
@@ -5989,24 +6003,26 @@ class Editor extends import_eventemitter3.default {
|
|
|
5989
6003
|
scale,
|
|
5990
6004
|
scaleAxisRotation
|
|
5991
6005
|
);
|
|
5992
|
-
const
|
|
6006
|
+
const repositionedPagePoint = import_Vec.Vec.Add(
|
|
6007
|
+
newPageCenter,
|
|
6008
|
+
import_Vec.Vec.Sub(initialPagePoint, initialPageCenter)
|
|
6009
|
+
);
|
|
6010
|
+
const repositionedLocalPoint = this.getPointInParentSpace(
|
|
5993
6011
|
initialShape.id,
|
|
5994
|
-
|
|
6012
|
+
repositionedPagePoint
|
|
5995
6013
|
);
|
|
5996
|
-
const newPageCenterInParentSpace = this.getPointInParentSpace(initialShape.id, newPageCenter);
|
|
5997
|
-
const delta = import_Vec.Vec.Sub(newPageCenterInParentSpace, initialPageCenterInParentSpace);
|
|
5998
6014
|
if (workingShape) {
|
|
5999
6015
|
return {
|
|
6000
6016
|
...workingShape,
|
|
6001
|
-
x:
|
|
6002
|
-
y:
|
|
6017
|
+
x: repositionedLocalPoint.x,
|
|
6018
|
+
y: repositionedLocalPoint.y
|
|
6003
6019
|
};
|
|
6004
6020
|
}
|
|
6005
6021
|
return {
|
|
6006
6022
|
id,
|
|
6007
6023
|
type: initialShape.type,
|
|
6008
|
-
x:
|
|
6009
|
-
y:
|
|
6024
|
+
x: repositionedLocalPoint.x,
|
|
6025
|
+
y: repositionedLocalPoint.y
|
|
6010
6026
|
};
|
|
6011
6027
|
}
|
|
6012
6028
|
/** @internal */
|
|
@@ -8354,6 +8370,7 @@ class Editor extends import_eventemitter3.default {
|
|
|
8354
8370
|
break;
|
|
8355
8371
|
}
|
|
8356
8372
|
case "key_repeat": {
|
|
8373
|
+
inputs.keys.add(info.code);
|
|
8357
8374
|
break;
|
|
8358
8375
|
}
|
|
8359
8376
|
}
|