@tldraw/editor 4.1.0-canary.e4499a57ef5b → 4.1.0-canary.e87046ba1a0c

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.
Files changed (65) hide show
  1. package/dist-cjs/index.d.ts +16 -1
  2. package/dist-cjs/index.js +1 -1
  3. package/dist-cjs/lib/TldrawEditor.js +2 -2
  4. package/dist-cjs/lib/components/ErrorBoundary.js +1 -1
  5. package/dist-cjs/lib/components/HTMLContainer.js +1 -1
  6. package/dist-cjs/lib/components/SVGContainer.js +1 -1
  7. package/dist-cjs/lib/components/default-components/DefaultCanvas.js +1 -1
  8. package/dist-cjs/lib/components/default-components/DefaultCollaboratorHint.js +1 -1
  9. package/dist-cjs/lib/components/default-components/DefaultCursor.js +1 -1
  10. package/dist-cjs/lib/components/default-components/DefaultErrorFallback.js +1 -1
  11. package/dist-cjs/lib/components/default-components/DefaultHandle.js +1 -1
  12. package/dist-cjs/lib/components/default-components/DefaultScribble.js +1 -1
  13. package/dist-cjs/lib/components/default-components/DefaultSelectionBackground.js +1 -1
  14. package/dist-cjs/lib/components/default-components/DefaultSelectionForeground.js +1 -1
  15. package/dist-cjs/lib/components/default-components/DefaultShapeIndicator.js +1 -1
  16. package/dist-cjs/lib/components/default-components/DefaultShapeWrapper.js +1 -1
  17. package/dist-cjs/lib/components/default-components/DefaultSnapIndictor.js +2 -2
  18. package/dist-cjs/lib/components/default-components/DefaultSpinner.js +1 -1
  19. package/dist-cjs/lib/editor/Editor.js +5 -3
  20. package/dist-cjs/lib/editor/Editor.js.map +2 -2
  21. package/dist-cjs/lib/editor/managers/SnapManager/HandleSnaps.js +67 -2
  22. package/dist-cjs/lib/editor/managers/SnapManager/HandleSnaps.js.map +2 -2
  23. package/dist-cjs/lib/editor/shapes/ShapeUtil.js.map +2 -2
  24. package/dist-cjs/lib/hooks/useCanvasEvents.js +2 -1
  25. package/dist-cjs/lib/hooks/useCanvasEvents.js.map +2 -2
  26. package/dist-cjs/lib/hooks/useDarkMode.js +1 -1
  27. package/dist-cjs/lib/hooks/useEditor.js +1 -1
  28. package/dist-cjs/lib/hooks/useGestureEvents.js +1 -1
  29. package/dist-cjs/lib/hooks/useHandleEvents.js +1 -1
  30. package/dist-cjs/lib/hooks/useZoomCss.js +1 -1
  31. package/dist-cjs/lib/license/LicenseManager.js +16 -6
  32. package/dist-cjs/lib/license/LicenseManager.js.map +2 -2
  33. package/dist-cjs/lib/license/Watermark.js +4 -4
  34. package/dist-cjs/lib/license/Watermark.js.map +1 -1
  35. package/dist-cjs/lib/primitives/geometry/Geometry2d.js +5 -0
  36. package/dist-cjs/lib/primitives/geometry/Geometry2d.js.map +2 -2
  37. package/dist-cjs/version.js +3 -3
  38. package/dist-cjs/version.js.map +1 -1
  39. package/dist-esm/index.d.mts +16 -1
  40. package/dist-esm/index.mjs +1 -1
  41. package/dist-esm/lib/editor/Editor.mjs +5 -2
  42. package/dist-esm/lib/editor/Editor.mjs.map +2 -2
  43. package/dist-esm/lib/editor/managers/SnapManager/HandleSnaps.mjs +67 -2
  44. package/dist-esm/lib/editor/managers/SnapManager/HandleSnaps.mjs.map +2 -2
  45. package/dist-esm/lib/editor/shapes/ShapeUtil.mjs.map +2 -2
  46. package/dist-esm/lib/hooks/useCanvasEvents.mjs +2 -1
  47. package/dist-esm/lib/hooks/useCanvasEvents.mjs.map +2 -2
  48. package/dist-esm/lib/license/LicenseManager.mjs +16 -6
  49. package/dist-esm/lib/license/LicenseManager.mjs.map +2 -2
  50. package/dist-esm/lib/license/Watermark.mjs +4 -4
  51. package/dist-esm/lib/license/Watermark.mjs.map +1 -1
  52. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs +5 -0
  53. package/dist-esm/lib/primitives/geometry/Geometry2d.mjs.map +2 -2
  54. package/dist-esm/version.mjs +3 -3
  55. package/dist-esm/version.mjs.map +1 -1
  56. package/editor.css +7 -2
  57. package/package.json +7 -7
  58. package/src/lib/editor/Editor.ts +5 -2
  59. package/src/lib/editor/managers/SnapManager/HandleSnaps.ts +91 -4
  60. package/src/lib/editor/shapes/ShapeUtil.ts +10 -0
  61. package/src/lib/hooks/useCanvasEvents.ts +8 -1
  62. package/src/lib/license/LicenseManager.ts +22 -6
  63. package/src/lib/license/Watermark.tsx +4 -4
  64. package/src/lib/primitives/geometry/Geometry2d.ts +6 -0
  65. package/src/version.ts +3 -3
@@ -1564,7 +1564,12 @@ export declare class Editor extends EventEmitter<TLEventMap> {
1564
1564
  * @readonly
1565
1565
  */
1566
1566
  getOnlySelectedShape(): null | TLShape;
1567
- /* Excluded from this release type: getShapesPageBounds */
1567
+ /**
1568
+ * Get the page bounds of all the provided shapes.
1569
+ *
1570
+ * @public
1571
+ */
1572
+ getShapesPageBounds(shapeIds: TLShapeId[]): Box | null;
1568
1573
  /**
1569
1574
  * The current page bounds of all the selected shapes. If the
1570
1575
  * selection is rotated, then these bounds are the axis-aligned
@@ -4427,6 +4432,7 @@ export declare class HandleSnaps {
4427
4432
  private iterateSnapPointsInPageSpace;
4428
4433
  private iterateSnapOutlines;
4429
4434
  private getHandleSnapPosition;
4435
+ private getHandleSnapData;
4430
4436
  snapHandle({ currentShapeId, handle, }: {
4431
4437
  currentShapeId: TLShapeId;
4432
4438
  handle: TLHandle;
@@ -5243,6 +5249,15 @@ export declare abstract class ShapeUtil<Shape extends TLUnknownShape = TLUnknown
5243
5249
  * @public
5244
5250
  */
5245
5251
  shouldClipChild?(child: TLShape): boolean;
5252
+ /**
5253
+ * Whether a specific shape should hide in the minimap.
5254
+ *
5255
+ * If not defined, the default behavior is to show all shapes in the minimap.
5256
+ *
5257
+ * @returns boolean indicating if this shape should hide in the minimap
5258
+ * @public
5259
+ */
5260
+ hideInMinimap?(_shape: Shape): boolean;
5246
5261
  /**
5247
5262
  * Whether the shape should hide its resize handles when selected.
5248
5263
  *
package/dist-cjs/index.js CHANGED
@@ -369,7 +369,7 @@ var import_uniq = require("./lib/utils/uniq");
369
369
  var import_window_open = require("./lib/utils/window-open");
370
370
  (0, import_utils.registerTldrawLibraryVersion)(
371
371
  "@tldraw/editor",
372
- "4.1.0-canary.e4499a57ef5b",
372
+ "4.1.0-canary.e87046ba1a0c",
373
373
  "cjs"
374
374
  );
375
375
  //# sourceMappingURL=index.js.map
@@ -41,8 +41,8 @@ var import_jsx_runtime = (
41
41
  );
42
42
  var import_store = require("@tldraw/store");
43
43
  var import_utils = require("@tldraw/utils");
44
- var import_classnames = __toESM(require("classnames"));
45
- var import_react = __toESM(require("react"));
44
+ var import_classnames = __toESM(require("classnames"), 1);
45
+ var import_react = __toESM(require("react"), 1);
46
46
  var import_version = require("../version");
47
47
  var import_DefaultErrorFallback = require("./components/default-components/DefaultErrorFallback");
48
48
  var import_ErrorBoundary = require("./components/ErrorBoundary");
@@ -33,7 +33,7 @@ __export(ErrorBoundary_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(ErrorBoundary_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
- var React = __toESM(require("react"));
36
+ var React = __toESM(require("react"), 1);
37
37
  const initialState = { error: null };
38
38
  class ErrorBoundary extends React.Component {
39
39
  static getDerivedStateFromError(error) {
@@ -32,7 +32,7 @@ __export(HTMLContainer_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(HTMLContainer_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  function HTMLContainer({ children, className = "", ...rest }) {
37
37
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...rest, className: (0, import_classnames.default)("tl-html-container", className), children });
38
38
  }
@@ -32,7 +32,7 @@ __export(SVGContainer_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(SVGContainer_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  function SVGContainer({ children, className = "", ...rest }) {
37
37
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { ...rest, className: (0, import_classnames.default)("tl-svg-container", className), "aria-hidden": "true", children });
38
38
  }
@@ -35,7 +35,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_state = require("@tldraw/state");
36
36
  var import_state_react = require("@tldraw/state-react");
37
37
  var import_utils = require("@tldraw/utils");
38
- var import_classnames = __toESM(require("classnames"));
38
+ var import_classnames = __toESM(require("classnames"), 1);
39
39
  var import_react = require("react");
40
40
  var import_environment = require("../../globals/environment");
41
41
  var import_useCanvasEvents = require("../../hooks/useCanvasEvents");
@@ -32,7 +32,7 @@ __export(DefaultCollaboratorHint_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultCollaboratorHint_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  var import_react = require("react");
37
37
  var import_useSafeId = require("../../hooks/useSafeId");
38
38
  var import_useTransform = require("../../hooks/useTransform");
@@ -32,7 +32,7 @@ __export(DefaultCursor_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultCursor_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  var import_react = require("react");
37
37
  var import_useSafeId = require("../../hooks/useSafeId");
38
38
  var import_useTransform = require("../../hooks/useTransform");
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(DefaultErrorFallback_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_state_react = require("@tldraw/state-react");
36
36
  var import_utils = require("@tldraw/utils");
37
- var import_classnames = __toESM(require("classnames"));
37
+ var import_classnames = __toESM(require("classnames"), 1);
38
38
  var import_react = require("react");
39
39
  var import_useEditor = require("../../hooks/useEditor");
40
40
  var import_useEditorComponents = require("../../hooks/useEditorComponents");
@@ -32,7 +32,7 @@ __export(DefaultHandle_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultHandle_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  var import_constants = require("../../constants");
37
37
  var import_useEditor = require("../../hooks/useEditor");
38
38
  function DefaultHandle({ handle, isCoarse, className, zoom }) {
@@ -32,7 +32,7 @@ __export(DefaultScribble_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultScribble_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  var import_getSvgPathFromPoints = require("../../utils/getSvgPathFromPoints");
37
37
  function DefaultScribble({ scribble, zoom, color, opacity, className }) {
38
38
  if (!scribble.points.length) return null;
@@ -32,7 +32,7 @@ __export(DefaultSelectionBackground_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultSelectionBackground_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var React = __toESM(require("react"));
35
+ var React = __toESM(require("react"), 1);
36
36
  var import_useTransform = require("../../hooks/useTransform");
37
37
  var import_utils = require("../../primitives/utils");
38
38
  function DefaultSelectionBackground({ bounds, rotation }) {
@@ -33,7 +33,7 @@ __export(DefaultSelectionForeground_exports, {
33
33
  module.exports = __toCommonJS(DefaultSelectionForeground_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_state_react = require("@tldraw/state-react");
36
- var import_classnames = __toESM(require("classnames"));
36
+ var import_classnames = __toESM(require("classnames"), 1);
37
37
  var import_react = require("react");
38
38
  var import_useEditor = require("../../hooks/useEditor");
39
39
  var import_useTransform = require("../../hooks/useTransform");
@@ -33,7 +33,7 @@ __export(DefaultShapeIndicator_exports, {
33
33
  module.exports = __toCommonJS(DefaultShapeIndicator_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_state_react = require("@tldraw/state-react");
36
- var import_classnames = __toESM(require("classnames"));
36
+ var import_classnames = __toESM(require("classnames"), 1);
37
37
  var import_react = require("react");
38
38
  var import_useEditor = require("../../hooks/useEditor");
39
39
  var import_useEditorComponents = require("../../hooks/useEditorComponents");
@@ -32,7 +32,7 @@ __export(DefaultShapeWrapper_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultShapeWrapper_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  var import_react = require("react");
37
37
  const DefaultShapeWrapper = (0, import_react.forwardRef)(function DefaultShapeWrapper2({ children, shape, isBackground, ...props }, ref) {
38
38
  const isFilledShape = "fill" in shape.props && shape.props.fill !== "none";
@@ -32,8 +32,8 @@ __export(DefaultSnapIndictor_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultSnapIndictor_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
36
- var React = __toESM(require("react"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
+ var React = __toESM(require("react"), 1);
37
37
  var import_utils = require("../../primitives/utils");
38
38
  function PointsSnapIndicator({ points, zoom }) {
39
39
  const l = 2.5 / zoom;
@@ -32,7 +32,7 @@ __export(DefaultSpinner_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(DefaultSpinner_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  function DefaultSpinner(props) {
37
37
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
38
38
  "svg",
@@ -80,7 +80,7 @@ var import_state = require("@tldraw/state");
80
80
  var import_store = require("@tldraw/store");
81
81
  var import_tlschema = require("@tldraw/tlschema");
82
82
  var import_utils = require("@tldraw/utils");
83
- var import_eventemitter3 = __toESM(require("eventemitter3"));
83
+ var import_eventemitter3 = __toESM(require("eventemitter3"), 1);
84
84
  var import_TLEditorSnapshot = require("../config/TLEditorSnapshot");
85
85
  var import_createTLUser = require("../config/createTLUser");
86
86
  var import_defaultBindings = require("../config/defaultBindings");
@@ -1567,7 +1567,9 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
1567
1567
  return selectedShapes.length === 1 ? selectedShapes[0] : null;
1568
1568
  }
1569
1569
  /**
1570
- * @internal
1570
+ * Get the page bounds of all the provided shapes.
1571
+ *
1572
+ * @public
1571
1573
  */
1572
1574
  getShapesPageBounds(shapeIds) {
1573
1575
  const bounds = (0, import_utils.compact)(shapeIds.map((id) => this.getShapePageBounds(id)));
@@ -4231,7 +4233,7 @@ class Editor extends (_a = import_eventemitter3.default, _getIsShapeHiddenCache_
4231
4233
  const parentId = typeof parent === "string" ? parent : parent.id;
4232
4234
  const children = this._parentIdsToChildIds.get()[parentId];
4233
4235
  if (!children || children.length === 0) {
4234
- return "a1";
4236
+ return (0, import_utils.getIndexAbove)(import_utils.ZERO_INDEX_KEY);
4235
4237
  }
4236
4238
  const shape = this.getShape(children[children.length - 1]);
4237
4239
  return (0, import_utils.getIndexAbove)(shape.index);