fabric 6.2.0 → 6.3.0
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/.prettierignore +1 -0
- package/CHANGELOG.md +12 -4
- package/README.md +1 -1
- package/dist/extensions/aligning_guidelines/constant.d.ts +3 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/index.d.ts +5 -0
- package/dist/extensions/aligning_guidelines/index.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts +33 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts +4 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +13 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +20 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts +6 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +3 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +1 -0
- package/dist/extensions/index.d.ts +2 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/index.js +140 -108
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +140 -108
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +140 -108
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +140 -108
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/ClassRegistry.min.mjs.map +1 -1
- package/dist/src/ClassRegistry.mjs.map +1 -1
- package/dist/src/Collection.min.mjs.map +1 -1
- package/dist/src/Collection.mjs.map +1 -1
- package/dist/src/Intersection.min.mjs.map +1 -1
- package/dist/src/Intersection.mjs.map +1 -1
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +1 -1
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutManager.d.ts +1 -1
- package/dist/src/LayoutManager/LayoutManager.d.ts.map +1 -1
- package/dist/src/LayoutManager/LayoutManager.min.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutManager.mjs +1 -1
- package/dist/src/LayoutManager/LayoutManager.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +1 -1
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +1 -1
- package/dist/src/LayoutManager/types.d.ts.map +1 -1
- package/dist/src/Observable.min.mjs.map +1 -1
- package/dist/src/Observable.mjs.map +1 -1
- package/dist/src/Pattern/Pattern.d.ts +2 -2
- package/dist/src/Pattern/Pattern.d.ts.map +1 -1
- package/dist/src/Pattern/Pattern.min.mjs +1 -1
- package/dist/src/Pattern/Pattern.min.mjs.map +1 -1
- package/dist/src/Pattern/Pattern.mjs +14 -12
- package/dist/src/Pattern/Pattern.mjs.map +1 -1
- package/dist/src/Point.min.mjs.map +1 -1
- package/dist/src/Point.mjs.map +1 -1
- package/dist/src/Shadow.min.mjs.map +1 -1
- package/dist/src/Shadow.mjs.map +1 -1
- package/dist/src/brushes/CircleBrush.min.mjs.map +1 -1
- package/dist/src/brushes/CircleBrush.mjs.map +1 -1
- package/dist/src/brushes/PatternBrush.min.mjs.map +1 -1
- package/dist/src/brushes/PatternBrush.mjs.map +1 -1
- package/dist/src/brushes/PencilBrush.min.mjs.map +1 -1
- package/dist/src/brushes/PencilBrush.mjs.map +1 -1
- package/dist/src/brushes/SprayBrush.min.mjs.map +1 -1
- package/dist/src/brushes/SprayBrush.mjs.map +1 -1
- package/dist/src/canvas/Canvas.d.ts +1 -1
- package/dist/src/canvas/Canvas.d.ts.map +1 -1
- package/dist/src/canvas/Canvas.min.mjs.map +1 -1
- package/dist/src/canvas/Canvas.mjs +2 -1
- package/dist/src/canvas/Canvas.mjs.map +1 -1
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +1 -1
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +1 -1
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +1 -1
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +1 -1
- package/dist/src/canvas/DOMManagers/util.min.mjs.map +1 -1
- package/dist/src/canvas/DOMManagers/util.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -1
- package/dist/src/canvas/SelectableCanvas.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvas.d.ts +1 -1
- package/dist/src/canvas/StaticCanvas.d.ts.map +1 -1
- package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvas.mjs +1 -1
- package/dist/src/canvas/StaticCanvas.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvasOptions.d.ts.map +1 -1
- package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +1 -1
- package/dist/src/canvas/StaticCanvasOptions.mjs.map +1 -1
- package/dist/src/canvas/TextEditingManager.min.mjs.map +1 -1
- package/dist/src/canvas/TextEditingManager.mjs.map +1 -1
- package/dist/src/color/Color.d.ts.map +1 -1
- package/dist/src/color/Color.min.mjs.map +1 -1
- package/dist/src/color/Color.mjs +1 -0
- package/dist/src/color/Color.mjs.map +1 -1
- package/dist/src/color/util.min.mjs.map +1 -1
- package/dist/src/color/util.mjs.map +1 -1
- package/dist/src/config.min.mjs.map +1 -1
- package/dist/src/config.mjs.map +1 -1
- package/dist/src/controls/Control.min.mjs.map +1 -1
- package/dist/src/controls/Control.mjs.map +1 -1
- package/dist/src/controls/changeWidth.min.mjs.map +1 -1
- package/dist/src/controls/changeWidth.mjs.map +1 -1
- package/dist/src/controls/controlRendering.min.mjs.map +1 -1
- package/dist/src/controls/controlRendering.mjs.map +1 -1
- package/dist/src/controls/drag.min.mjs.map +1 -1
- package/dist/src/controls/drag.mjs.map +1 -1
- package/dist/src/controls/fireEvent.min.mjs.map +1 -1
- package/dist/src/controls/fireEvent.mjs.map +1 -1
- package/dist/src/controls/pathControl.min.mjs.map +1 -1
- package/dist/src/controls/pathControl.mjs.map +1 -1
- package/dist/src/controls/polyControl.min.mjs.map +1 -1
- package/dist/src/controls/polyControl.mjs.map +1 -1
- package/dist/src/controls/rotate.min.mjs.map +1 -1
- package/dist/src/controls/rotate.mjs.map +1 -1
- package/dist/src/controls/scale.min.mjs.map +1 -1
- package/dist/src/controls/scale.mjs.map +1 -1
- package/dist/src/controls/scaleSkew.min.mjs.map +1 -1
- package/dist/src/controls/scaleSkew.mjs.map +1 -1
- package/dist/src/controls/skew.min.mjs.map +1 -1
- package/dist/src/controls/skew.mjs.map +1 -1
- package/dist/src/controls/util.min.mjs.map +1 -1
- package/dist/src/controls/util.mjs.map +1 -1
- package/dist/src/controls/wrapWithFireEvent.min.mjs.map +1 -1
- package/dist/src/controls/wrapWithFireEvent.mjs.map +1 -1
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +1 -1
- package/dist/src/controls/wrapWithFixedAnchor.mjs.map +1 -1
- package/dist/src/filters/BaseFilter.d.ts +5 -5
- package/dist/src/filters/BaseFilter.d.ts.map +1 -1
- package/dist/src/filters/BaseFilter.min.mjs.map +1 -1
- package/dist/src/filters/BaseFilter.mjs +5 -5
- package/dist/src/filters/BaseFilter.mjs.map +1 -1
- package/dist/src/filters/BlendColor.min.mjs.map +1 -1
- package/dist/src/filters/BlendColor.mjs.map +1 -1
- package/dist/src/filters/BlendImage.min.mjs.map +1 -1
- package/dist/src/filters/BlendImage.mjs.map +1 -1
- package/dist/src/filters/Blur.min.mjs.map +1 -1
- package/dist/src/filters/Blur.mjs.map +1 -1
- package/dist/src/filters/Brightness.min.mjs.map +1 -1
- package/dist/src/filters/Brightness.mjs.map +1 -1
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +1 -1
- package/dist/src/filters/Canvas2dFilterBackend.mjs.map +1 -1
- package/dist/src/filters/ColorMatrix.min.mjs.map +1 -1
- package/dist/src/filters/ColorMatrix.mjs.map +1 -1
- package/dist/src/filters/ColorMatrixFilters.min.mjs.map +1 -1
- package/dist/src/filters/ColorMatrixFilters.mjs.map +1 -1
- package/dist/src/filters/Composed.min.mjs.map +1 -1
- package/dist/src/filters/Composed.mjs.map +1 -1
- package/dist/src/filters/Contrast.min.mjs.map +1 -1
- package/dist/src/filters/Contrast.mjs.map +1 -1
- package/dist/src/filters/Convolute.min.mjs.map +1 -1
- package/dist/src/filters/Convolute.mjs.map +1 -1
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +1 -1
- package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +1 -1
- package/dist/src/filters/Gamma.min.mjs.map +1 -1
- package/dist/src/filters/Gamma.mjs.map +1 -1
- package/dist/src/filters/Grayscale.min.mjs.map +1 -1
- package/dist/src/filters/Grayscale.mjs.map +1 -1
- package/dist/src/filters/Invert.min.mjs.map +1 -1
- package/dist/src/filters/Invert.mjs.map +1 -1
- package/dist/src/filters/Noise.min.mjs.map +1 -1
- package/dist/src/filters/Noise.mjs.map +1 -1
- package/dist/src/filters/Pixelate.min.mjs.map +1 -1
- package/dist/src/filters/Pixelate.mjs.map +1 -1
- package/dist/src/filters/RemoveColor.min.mjs.map +1 -1
- package/dist/src/filters/RemoveColor.mjs.map +1 -1
- package/dist/src/filters/Resize.min.mjs.map +1 -1
- package/dist/src/filters/Resize.mjs.map +1 -1
- package/dist/src/filters/Saturation.min.mjs.map +1 -1
- package/dist/src/filters/Saturation.mjs.map +1 -1
- package/dist/src/filters/Vibrance.min.mjs.map +1 -1
- package/dist/src/filters/Vibrance.mjs.map +1 -1
- package/dist/src/filters/WebGLFilterBackend.min.mjs.map +1 -1
- package/dist/src/filters/WebGLFilterBackend.mjs.map +1 -1
- package/dist/src/filters/typedefs.d.ts +0 -1
- package/dist/src/filters/typedefs.d.ts.map +1 -1
- package/dist/src/filters/utils.min.mjs.map +1 -1
- package/dist/src/filters/utils.mjs.map +1 -1
- package/dist/src/gradient/Gradient.d.ts +7 -3
- package/dist/src/gradient/Gradient.d.ts.map +1 -1
- package/dist/src/gradient/Gradient.min.mjs +1 -1
- package/dist/src/gradient/Gradient.min.mjs.map +1 -1
- package/dist/src/gradient/Gradient.mjs +36 -24
- package/dist/src/gradient/Gradient.mjs.map +1 -1
- package/dist/src/gradient/parser/parseColorStops.min.mjs.map +1 -1
- package/dist/src/gradient/parser/parseColorStops.mjs.map +1 -1
- package/dist/src/gradient/parser/parseCoords.d.ts.map +1 -1
- package/dist/src/gradient/parser/parseCoords.min.mjs.map +1 -1
- package/dist/src/gradient/parser/parseCoords.mjs.map +1 -1
- package/dist/src/parser/applyViewboxTransform.min.mjs.map +1 -1
- package/dist/src/parser/applyViewboxTransform.mjs.map +1 -1
- package/dist/src/parser/constants.min.mjs.map +1 -1
- package/dist/src/parser/constants.mjs.map +1 -1
- package/dist/src/parser/elements_parser.min.mjs.map +1 -1
- package/dist/src/parser/elements_parser.mjs.map +1 -1
- package/dist/src/parser/getCSSRules.min.mjs.map +1 -1
- package/dist/src/parser/getCSSRules.mjs.map +1 -1
- package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +1 -1
- package/dist/src/parser/getGlobalStylesForElement.mjs.map +1 -1
- package/dist/src/parser/getGradientDefs.min.mjs.map +1 -1
- package/dist/src/parser/getGradientDefs.mjs.map +1 -1
- package/dist/src/parser/getMultipleNodes.min.mjs.map +1 -1
- package/dist/src/parser/getMultipleNodes.mjs.map +1 -1
- package/dist/src/parser/loadSVGFromString.min.mjs.map +1 -1
- package/dist/src/parser/loadSVGFromString.mjs.map +1 -1
- package/dist/src/parser/loadSVGFromURL.min.mjs.map +1 -1
- package/dist/src/parser/loadSVGFromURL.mjs.map +1 -1
- package/dist/src/parser/normalizeAttr.min.mjs.map +1 -1
- package/dist/src/parser/normalizeAttr.mjs.map +1 -1
- package/dist/src/parser/normalizeValue.min.mjs.map +1 -1
- package/dist/src/parser/normalizeValue.mjs.map +1 -1
- package/dist/src/parser/parseAttributes.min.mjs.map +1 -1
- package/dist/src/parser/parseAttributes.mjs.map +1 -1
- package/dist/src/parser/parseFontDeclaration.min.mjs.map +1 -1
- package/dist/src/parser/parseFontDeclaration.mjs.map +1 -1
- package/dist/src/parser/parseSVGDocument.min.mjs.map +1 -1
- package/dist/src/parser/parseSVGDocument.mjs.map +1 -1
- package/dist/src/parser/parseStyleObject.min.mjs.map +1 -1
- package/dist/src/parser/parseStyleObject.mjs.map +1 -1
- package/dist/src/parser/parseStyleString.min.mjs.map +1 -1
- package/dist/src/parser/parseStyleString.mjs.map +1 -1
- package/dist/src/parser/parseTransformAttribute.min.mjs.map +1 -1
- package/dist/src/parser/parseTransformAttribute.mjs.map +1 -1
- package/dist/src/parser/parseUseDirectives.min.mjs.map +1 -1
- package/dist/src/parser/parseUseDirectives.mjs.map +1 -1
- package/dist/src/parser/percent.min.mjs.map +1 -1
- package/dist/src/parser/percent.mjs.map +1 -1
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +1 -1
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +1 -1
- package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +1 -1
- package/dist/src/parser/setStrokeFillOpacity.mjs.map +1 -1
- package/dist/src/shapes/ActiveSelection.min.mjs.map +1 -1
- package/dist/src/shapes/ActiveSelection.mjs.map +1 -1
- package/dist/src/shapes/Circle.min.mjs.map +1 -1
- package/dist/src/shapes/Circle.mjs.map +1 -1
- package/dist/src/shapes/Ellipse.min.mjs.map +1 -1
- package/dist/src/shapes/Ellipse.mjs.map +1 -1
- package/dist/src/shapes/Group.d.ts +2 -2
- package/dist/src/shapes/Group.d.ts.map +1 -1
- package/dist/src/shapes/Group.min.mjs.map +1 -1
- package/dist/src/shapes/Group.mjs.map +1 -1
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -1
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +1 -1
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +1 -1
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs +2 -2
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +1 -1
- package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
- package/dist/src/shapes/IText/IText.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -1
- package/dist/src/shapes/Image.min.mjs.map +1 -1
- package/dist/src/shapes/Image.mjs.map +1 -1
- package/dist/src/shapes/Line.min.mjs.map +1 -1
- package/dist/src/shapes/Line.mjs.map +1 -1
- package/dist/src/shapes/Object/AnimatableObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/AnimatableObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/AnimatableObject.mjs.map +1 -1
- package/dist/src/shapes/Object/FabricObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/FabricObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/FabricObject.mjs +2 -1
- package/dist/src/shapes/Object/FabricObject.mjs.map +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +1 -1
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.d.ts +13 -13
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.mjs +13 -13
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -1
- package/dist/src/shapes/Object/Object.d.ts +4 -4
- package/dist/src/shapes/Object/Object.d.ts.map +1 -1
- package/dist/src/shapes/Object/Object.min.mjs +1 -1
- package/dist/src/shapes/Object/Object.min.mjs.map +1 -1
- package/dist/src/shapes/Object/Object.mjs +10 -14
- package/dist/src/shapes/Object/Object.mjs.map +1 -1
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +1 -1
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +1 -1
- package/dist/src/shapes/Object/ObjectGeometry.mjs +1 -1
- package/dist/src/shapes/Object/ObjectGeometry.mjs.map +1 -1
- package/dist/src/shapes/Object/ObjectOrigin.min.mjs.map +1 -1
- package/dist/src/shapes/Object/ObjectOrigin.mjs.map +1 -1
- package/dist/src/shapes/Object/StackedObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/StackedObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/StackedObject.mjs.map +1 -1
- package/dist/src/shapes/Path.min.mjs.map +1 -1
- package/dist/src/shapes/Path.mjs.map +1 -1
- package/dist/src/shapes/Polyline.d.ts.map +1 -1
- package/dist/src/shapes/Polyline.min.mjs +1 -1
- package/dist/src/shapes/Polyline.min.mjs.map +1 -1
- package/dist/src/shapes/Polyline.mjs +10 -2
- package/dist/src/shapes/Polyline.mjs.map +1 -1
- package/dist/src/shapes/Rect.min.mjs.map +1 -1
- package/dist/src/shapes/Rect.mjs.map +1 -1
- package/dist/src/shapes/Text/StyledText.min.mjs.map +1 -1
- package/dist/src/shapes/Text/StyledText.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.mjs +1 -1
- package/dist/src/shapes/Text/Text.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -1
- package/dist/src/shapes/Textbox.min.mjs.map +1 -1
- package/dist/src/shapes/Textbox.mjs.map +1 -1
- package/dist/src/shapes/Triangle.min.mjs.map +1 -1
- package/dist/src/shapes/Triangle.mjs.map +1 -1
- package/dist/src/util/animation/AnimationBase.min.mjs.map +1 -1
- package/dist/src/util/animation/AnimationBase.mjs.map +1 -1
- package/dist/src/util/animation/AnimationRegistry.min.mjs.map +1 -1
- package/dist/src/util/animation/AnimationRegistry.mjs.map +1 -1
- package/dist/src/util/animation/ArrayAnimation.min.mjs.map +1 -1
- package/dist/src/util/animation/ArrayAnimation.mjs.map +1 -1
- package/dist/src/util/animation/ColorAnimation.min.mjs.map +1 -1
- package/dist/src/util/animation/ColorAnimation.mjs.map +1 -1
- package/dist/src/util/animation/ValueAnimation.min.mjs.map +1 -1
- package/dist/src/util/animation/ValueAnimation.mjs.map +1 -1
- package/dist/src/util/animation/animate.d.ts.map +1 -1
- package/dist/src/util/animation/animate.min.mjs.map +1 -1
- package/dist/src/util/animation/animate.mjs.map +1 -1
- package/dist/src/util/animation/easing.min.mjs.map +1 -1
- package/dist/src/util/animation/easing.mjs.map +1 -1
- package/dist/src/util/animation/types.d.ts.map +1 -1
- package/dist/src/util/applyMixins.min.mjs.map +1 -1
- package/dist/src/util/applyMixins.mjs.map +1 -1
- package/dist/src/util/dom_style.min.mjs.map +1 -1
- package/dist/src/util/dom_style.mjs.map +1 -1
- package/dist/src/util/internals/cloneDeep.d.ts +6 -0
- package/dist/src/util/internals/cloneDeep.d.ts.map +1 -1
- package/dist/src/util/internals/cloneStyles.d.ts +3 -0
- package/dist/src/util/internals/cloneStyles.d.ts.map +1 -0
- package/dist/src/util/internals/cloneStyles.min.mjs +2 -0
- package/dist/src/util/internals/cloneStyles.min.mjs.map +1 -0
- package/dist/src/util/internals/cloneStyles.mjs +15 -0
- package/dist/src/util/internals/cloneStyles.mjs.map +1 -0
- package/dist/src/util/internals/findRight.min.mjs.map +1 -1
- package/dist/src/util/internals/findRight.mjs.map +1 -1
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +1 -1
- package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +1 -1
- package/dist/src/util/misc/dom.min.mjs.map +1 -1
- package/dist/src/util/misc/dom.mjs.map +1 -1
- package/dist/src/util/misc/findScaleTo.min.mjs.map +1 -1
- package/dist/src/util/misc/findScaleTo.mjs.map +1 -1
- package/dist/src/util/misc/groupSVGElements.min.mjs.map +1 -1
- package/dist/src/util/misc/groupSVGElements.mjs.map +1 -1
- package/dist/src/util/misc/isTransparent.min.mjs.map +1 -1
- package/dist/src/util/misc/isTransparent.mjs.map +1 -1
- package/dist/src/util/misc/matrix.min.mjs.map +1 -1
- package/dist/src/util/misc/matrix.mjs.map +1 -1
- package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -1
- package/dist/src/util/misc/objectEnlive.mjs.map +1 -1
- package/dist/src/util/misc/objectTransforms.min.mjs.map +1 -1
- package/dist/src/util/misc/objectTransforms.mjs.map +1 -1
- package/dist/src/util/misc/pick.min.mjs.map +1 -1
- package/dist/src/util/misc/pick.mjs.map +1 -1
- package/dist/src/util/misc/planeChange.min.mjs.map +1 -1
- package/dist/src/util/misc/planeChange.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/index.min.mjs.map +1 -1
- package/dist/src/util/misc/projectStroke/index.mjs.map +1 -1
- package/dist/src/util/misc/resolveOrigin.min.mjs.map +1 -1
- package/dist/src/util/misc/resolveOrigin.mjs.map +1 -1
- package/dist/src/util/misc/rotatePoint.min.mjs.map +1 -1
- package/dist/src/util/misc/rotatePoint.mjs.map +1 -1
- package/dist/src/util/misc/svgParsing.min.mjs.map +1 -1
- package/dist/src/util/misc/svgParsing.mjs.map +1 -1
- package/dist/src/util/misc/textStyles.min.mjs +1 -1
- package/dist/src/util/misc/textStyles.min.mjs.map +1 -1
- package/dist/src/util/misc/textStyles.mjs +3 -3
- package/dist/src/util/misc/textStyles.mjs.map +1 -1
- package/dist/src/util/misc/vectors.min.mjs.map +1 -1
- package/dist/src/util/misc/vectors.mjs.map +1 -1
- package/dist/src/util/path/index.min.mjs.map +1 -1
- package/dist/src/util/path/index.mjs.map +1 -1
- package/dist/src/util/path/typedefs.d.ts.map +1 -1
- package/dist/src/util/transform_matrix_removal.min.mjs.map +1 -1
- package/dist/src/util/transform_matrix_removal.mjs.map +1 -1
- package/dist/src/util/typeAssertions.min.mjs.map +1 -1
- package/dist/src/util/typeAssertions.mjs.map +1 -1
- package/dist-extensions/aligning_guidelines/constant.mjs +11 -0
- package/dist-extensions/aligning_guidelines/constant.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/index.mjs +130 -0
- package/dist-extensions/aligning_guidelines/index.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs +11 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs +193 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs +102 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs +75 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +42 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +3 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts +5 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +33 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +4 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +13 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +20 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +6 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +3 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +1 -0
- package/dist-extensions/extensions/index.d.ts +2 -0
- package/dist-extensions/extensions/index.d.ts.map +1 -0
- package/dist-extensions/fabric-extensions.min.js +2 -0
- package/dist-extensions/fabric-extensions.min.js.map +1 -0
- package/dist-extensions/fabric.d.ts +119 -0
- package/dist-extensions/fabric.d.ts.map +1 -0
- package/dist-extensions/index.d.ts +2 -0
- package/dist-extensions/index.d.ts.map +1 -0
- package/dist-extensions/index.mjs +2 -0
- package/dist-extensions/index.mjs.map +1 -0
- package/dist-extensions/src/ClassRegistry.d.ts +14 -0
- package/dist-extensions/src/ClassRegistry.d.ts.map +1 -0
- package/dist-extensions/src/Collection.d.ts +141 -0
- package/dist-extensions/src/Collection.d.ts.map +1 -0
- package/dist-extensions/src/CommonMethods.d.ts +32 -0
- package/dist-extensions/src/CommonMethods.d.ts.map +1 -0
- package/dist-extensions/src/EventTypeDefs.d.ts +286 -0
- package/dist-extensions/src/EventTypeDefs.d.ts.map +1 -0
- package/dist-extensions/src/Intersection.d.ts +120 -0
- package/dist-extensions/src/Intersection.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +22 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +56 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +13 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +14 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +14 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +30 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +10 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts +7 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/index.d.ts +7 -0
- package/dist-extensions/src/LayoutManager/index.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/types.d.ts +106 -0
- package/dist-extensions/src/LayoutManager/types.d.ts.map +1 -0
- package/dist-extensions/src/Observable.d.ts +68 -0
- package/dist-extensions/src/Observable.d.ts.map +1 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts +99 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts.map +1 -0
- package/dist-extensions/src/Pattern/index.d.ts +3 -0
- package/dist-extensions/src/Pattern/index.d.ts.map +1 -0
- package/dist-extensions/src/Pattern/types.d.ts +12 -0
- package/dist-extensions/src/Pattern/types.d.ts.map +1 -0
- package/dist-extensions/src/Point.d.ts +233 -0
- package/dist-extensions/src/Point.d.ts.map +1 -0
- package/dist-extensions/src/Shadow.d.ts +95 -0
- package/dist-extensions/src/Shadow.d.ts.map +1 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts +101 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts +44 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts +23 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts +92 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts +74 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/typedefs.d.ts +18 -0
- package/dist-extensions/src/brushes/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/cache.d.ts +47 -0
- package/dist-extensions/src/cache.d.ts.map +1 -0
- package/dist-extensions/src/canvas/Canvas.d.ts +339 -0
- package/dist-extensions/src/canvas/Canvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts +229 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +1 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +29 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +1 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +29 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +1 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts +24 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +1 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts +534 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts +639 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +153 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +1 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts +21 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +1 -0
- package/dist-extensions/src/color/Color.d.ts +162 -0
- package/dist-extensions/src/color/Color.d.ts.map +1 -0
- package/dist-extensions/src/color/color_map.d.ts +155 -0
- package/dist-extensions/src/color/color_map.d.ts.map +1 -0
- package/dist-extensions/src/color/constants.d.ts +111 -0
- package/dist-extensions/src/color/constants.d.ts.map +1 -0
- package/dist-extensions/src/color/typedefs.d.ts +16 -0
- package/dist-extensions/src/color/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/color/util.d.ts +27 -0
- package/dist-extensions/src/color/util.d.ts.map +1 -0
- package/dist-extensions/src/config.d.ts +115 -0
- package/dist-extensions/src/config.d.ts.map +1 -0
- package/dist-extensions/src/constants.d.ts +35 -0
- package/dist-extensions/src/constants.d.ts.map +1 -0
- package/dist-extensions/src/controls/Control.d.ts +229 -0
- package/dist-extensions/src/controls/Control.d.ts.map +1 -0
- package/dist-extensions/src/controls/changeWidth.d.ts +13 -0
- package/dist-extensions/src/controls/changeWidth.d.ts.map +1 -0
- package/dist-extensions/src/controls/commonControls.d.ts +28 -0
- package/dist-extensions/src/controls/commonControls.d.ts.map +1 -0
- package/dist-extensions/src/controls/controlRendering.d.ts +29 -0
- package/dist-extensions/src/controls/controlRendering.d.ts.map +1 -0
- package/dist-extensions/src/controls/drag.d.ts +12 -0
- package/dist-extensions/src/controls/drag.d.ts.map +1 -0
- package/dist-extensions/src/controls/fireEvent.d.ts +3 -0
- package/dist-extensions/src/controls/fireEvent.d.ts.map +1 -0
- package/dist-extensions/src/controls/index.d.ts +14 -0
- package/dist-extensions/src/controls/index.d.ts.map +1 -0
- package/dist-extensions/src/controls/pathControl.d.ts +12 -0
- package/dist-extensions/src/controls/pathControl.d.ts.map +1 -0
- package/dist-extensions/src/controls/polyControl.d.ts +30 -0
- package/dist-extensions/src/controls/polyControl.d.ts.map +1 -0
- package/dist-extensions/src/controls/rotate.d.ts +12 -0
- package/dist-extensions/src/controls/rotate.d.ts.map +1 -0
- package/dist-extensions/src/controls/scale.d.ts +47 -0
- package/dist-extensions/src/controls/scale.d.ts.map +1 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts +39 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts.map +1 -0
- package/dist-extensions/src/controls/skew.d.ts +33 -0
- package/dist-extensions/src/controls/skew.d.ts.map +1 -0
- package/dist-extensions/src/controls/util.d.ts +41 -0
- package/dist-extensions/src/controls/util.d.ts.map +1 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +10 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +1 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +1 -0
- package/dist-extensions/src/env/browser.d.ts +3 -0
- package/dist-extensions/src/env/browser.d.ts.map +1 -0
- package/dist-extensions/src/env/index.d.ts +34 -0
- package/dist-extensions/src/env/index.d.ts.map +1 -0
- package/dist-extensions/src/env/types.d.ts +16 -0
- package/dist-extensions/src/env/types.d.ts.map +1 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts +153 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts.map +1 -0
- package/dist-extensions/src/filters/BlendColor.d.ts +68 -0
- package/dist-extensions/src/filters/BlendColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/BlendImage.d.ts +99 -0
- package/dist-extensions/src/filters/BlendImage.d.ts.map +1 -0
- package/dist-extensions/src/filters/Blur.d.ts +50 -0
- package/dist-extensions/src/filters/Blur.d.ts.map +1 -0
- package/dist-extensions/src/filters/Brightness.d.ts +46 -0
- package/dist-extensions/src/filters/Brightness.d.ts.map +1 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +1 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts +66 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts.map +1 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +15 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +1 -0
- package/dist-extensions/src/filters/Composed.d.ts +47 -0
- package/dist-extensions/src/filters/Composed.d.ts.map +1 -0
- package/dist-extensions/src/filters/Contrast.d.ts +44 -0
- package/dist-extensions/src/filters/Contrast.d.ts.map +1 -0
- package/dist-extensions/src/filters/Convolute.d.ts +81 -0
- package/dist-extensions/src/filters/Convolute.d.ts.map +1 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts +15 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts.map +1 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +7 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +1 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +1 -0
- package/dist-extensions/src/filters/Gamma.d.ts +58 -0
- package/dist-extensions/src/filters/Gamma.d.ts.map +1 -0
- package/dist-extensions/src/filters/Grayscale.d.ts +44 -0
- package/dist-extensions/src/filters/Grayscale.d.ts.map +1 -0
- package/dist-extensions/src/filters/HueRotation.d.ts +31 -0
- package/dist-extensions/src/filters/HueRotation.d.ts.map +1 -0
- package/dist-extensions/src/filters/Invert.d.ts +53 -0
- package/dist-extensions/src/filters/Invert.d.ts.map +1 -0
- package/dist-extensions/src/filters/Noise.d.ts +44 -0
- package/dist-extensions/src/filters/Noise.d.ts.map +1 -0
- package/dist-extensions/src/filters/Pixelate.d.ts +41 -0
- package/dist-extensions/src/filters/Pixelate.d.ts.map +1 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts +53 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/Resize.d.ts +137 -0
- package/dist-extensions/src/filters/Resize.d.ts.map +1 -0
- package/dist-extensions/src/filters/Saturation.d.ts +46 -0
- package/dist-extensions/src/filters/Saturation.d.ts.map +1 -0
- package/dist-extensions/src/filters/Vibrance.d.ts +46 -0
- package/dist-extensions/src/filters/Vibrance.d.ts.map +1 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +131 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +1 -0
- package/dist-extensions/src/filters/filters.d.ts +23 -0
- package/dist-extensions/src/filters/filters.d.ts.map +1 -0
- package/dist-extensions/src/filters/index.d.ts +7 -0
- package/dist-extensions/src/filters/index.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts +4 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts +13 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts +4 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts +11 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts +3 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +1 -0
- package/dist-extensions/src/filters/typedefs.d.ts +70 -0
- package/dist-extensions/src/filters/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/filters/utils.d.ts +10 -0
- package/dist-extensions/src/filters/utils.d.ts.map +1 -0
- package/dist-extensions/src/gradient/Gradient.d.ts +156 -0
- package/dist-extensions/src/gradient/Gradient.d.ts.map +1 -0
- package/dist-extensions/src/gradient/constants.d.ts +15 -0
- package/dist-extensions/src/gradient/constants.d.ts.map +1 -0
- package/dist-extensions/src/gradient/index.d.ts +3 -0
- package/dist-extensions/src/gradient/index.d.ts.map +1 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts +4 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts.map +1 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +3 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +1 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +1 -0
- package/dist-extensions/src/gradient/typedefs.d.ts +93 -0
- package/dist-extensions/src/gradient/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts +13 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +1 -0
- package/dist-extensions/src/parser/attributes.d.ts +6 -0
- package/dist-extensions/src/parser/attributes.d.ts.map +1 -0
- package/dist-extensions/src/parser/constants.d.ts +41 -0
- package/dist-extensions/src/parser/constants.d.ts.map +1 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +1 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +1 -0
- package/dist-extensions/src/parser/elements_parser.d.ts +33 -0
- package/dist-extensions/src/parser/elements_parser.d.ts.map +1 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts +8 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts.map +1 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +6 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +1 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts +7 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts.map +1 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +1 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts +2 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts.map +1 -0
- package/dist-extensions/src/parser/getTagName.d.ts +2 -0
- package/dist-extensions/src/parser/getTagName.d.ts.map +1 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +2 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +1 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts +18 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +1 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts +19 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +1 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts +3 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts.map +1 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts +2 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts +10 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts +10 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +1 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts +10 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts +22 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts +9 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts +8 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts +8 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts +11 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +1 -0
- package/dist-extensions/src/parser/percent.d.ts +9 -0
- package/dist-extensions/src/parser/percent.d.ts.map +1 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +1 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts +2 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts.map +1 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +1 -0
- package/dist-extensions/src/parser/typedefs.d.ts +10 -0
- package/dist-extensions/src/parser/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts +109 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Circle.d.ts +111 -0
- package/dist-extensions/src/shapes/Circle.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts +88 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Group.d.ts +303 -0
- package/dist-extensions/src/shapes/Group.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts +314 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +299 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +81 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +198 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts +13 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Image.d.ts +312 -0
- package/dist-extensions/src/shapes/Image.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Line.d.ts +122 -0
- package/dist-extensions/src/shapes/Line.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/AnimatableObject.d.ts +33 -0
- package/dist-extensions/src/shapes/Object/AnimatableObject.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts +11 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +72 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +317 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts +614 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +237 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/ObjectOrigin.d.ts +96 -0
- package/dist-extensions/src/shapes/Object/ObjectOrigin.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/StackedObject.d.ts +60 -0
- package/dist-extensions/src/shapes/Object/StackedObject.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts +8 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +88 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +37 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +63 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +66 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +80 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +51 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +43 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +34 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +66 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts +6 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Path.d.ts +215 -0
- package/dist-extensions/src/shapes/Path.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Polygon.d.ts +7 -0
- package/dist-extensions/src/shapes/Polygon.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Polyline.d.ts +156 -0
- package/dist-extensions/src/shapes/Polyline.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Rect.d.ts +83 -0
- package/dist-extensions/src/shapes/Rect.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts +128 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts +697 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +47 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts +13 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Textbox.d.ts +226 -0
- package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Triangle.d.ts +27 -0
- package/dist-extensions/src/shapes/Triangle.d.ts.map +1 -0
- package/dist-extensions/src/typedefs.d.ts +97 -0
- package/dist-extensions/src/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +3 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/animate.d.ts +37 -0
- package/dist-extensions/src/util/animation/animate.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/easing.d.ts +130 -0
- package/dist-extensions/src/util/animation/easing.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/index.d.ts +3 -0
- package/dist-extensions/src/util/animation/index.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/types.d.ts +87 -0
- package/dist-extensions/src/util/animation/types.d.ts.map +1 -0
- package/dist-extensions/src/util/applyMixins.d.ts +8 -0
- package/dist-extensions/src/util/applyMixins.d.ts.map +1 -0
- package/dist-extensions/src/util/dom_event.d.ts +6 -0
- package/dist-extensions/src/util/dom_event.d.ts.map +1 -0
- package/dist-extensions/src/util/dom_misc.d.ts +12 -0
- package/dist-extensions/src/util/dom_misc.d.ts.map +1 -0
- package/dist-extensions/src/util/dom_style.d.ts +7 -0
- package/dist-extensions/src/util/dom_style.d.ts.map +1 -0
- package/dist-extensions/src/util/index.d.ts +37 -0
- package/dist-extensions/src/util/index.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +2 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts +3 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/console.d.ts +8 -0
- package/dist-extensions/src/util/internals/console.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/dom_request.d.ts +16 -0
- package/dist-extensions/src/util/internals/dom_request.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/findRight.d.ts +2 -0
- package/dist-extensions/src/util/internals/findRight.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts +8 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/uid.d.ts +2 -0
- package/dist-extensions/src/util/internals/uid.d.ts.map +1 -0
- package/dist-extensions/src/util/lang_string.d.ts +22 -0
- package/dist-extensions/src/util/lang_string.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/capValue.d.ts +2 -0
- package/dist-extensions/src/util/misc/capValue.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/cos.d.ts +10 -0
- package/dist-extensions/src/util/misc/cos.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/dom.d.ts +28 -0
- package/dist-extensions/src/util/misc/dom.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts +20 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts +11 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts +11 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/matrix.d.ts +170 -0
- package/dist-extensions/src/util/misc/matrix.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +23 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts +45 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts +62 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/pick.d.ts +9 -0
- package/dist-extensions/src/util/misc/pick.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts +64 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +52 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +90 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +27 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts +12 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/rotatePoint.d.ts +12 -0
- package/dist-extensions/src/util/misc/rotatePoint.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/sin.d.ts +10 -0
- package/dist-extensions/src/util/misc/sin.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts +46 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts +32 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts +8 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/vectors.d.ts +72 -0
- package/dist-extensions/src/util/misc/vectors.d.ts.map +1 -0
- package/dist-extensions/src/util/path/index.d.ts +95 -0
- package/dist-extensions/src/util/path/index.d.ts.map +1 -0
- package/dist-extensions/src/util/path/regex.d.ts +2 -0
- package/dist-extensions/src/util/path/regex.d.ts.map +1 -0
- package/dist-extensions/src/util/path/typedefs.d.ts +221 -0
- package/dist-extensions/src/util/path/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +1 -0
- package/dist-extensions/src/util/typeAssertions.d.ts +13 -0
- package/dist-extensions/src/util/typeAssertions.d.ts.map +1 -0
- package/eslint.config.mjs +108 -0
- package/extensions/README.MD +27 -0
- package/extensions/aligning_guidelines/README.MD +22 -0
- package/extensions/aligning_guidelines/constant.ts +10 -0
- package/extensions/aligning_guidelines/index.ts +166 -0
- package/extensions/aligning_guidelines/typedefs.ts +36 -0
- package/extensions/aligning_guidelines/util/basic.spec.ts +31 -0
- package/extensions/aligning_guidelines/util/basic.ts +20 -0
- package/extensions/aligning_guidelines/util/collect-line.ts +172 -0
- package/extensions/aligning_guidelines/util/collect-point.ts +83 -0
- package/extensions/aligning_guidelines/util/draw.ts +74 -0
- package/extensions/aligning_guidelines/util/get-objects-by-target.ts +45 -0
- package/extensions/index.ts +4 -0
- package/jest.config.js +1 -1
- package/jest.extend.ts +14 -15
- package/package.json +17 -12
- package/playwright.setup.ts +5 -5
- package/rollup.config.mjs +46 -4
- package/scripts/build.mjs +1 -1
- package/scripts/buildLock.mjs +5 -5
- package/scripts/buildStats.mjs +2 -2
- package/scripts/git.mjs +1 -1
- package/scripts/index.mjs +34 -32
- package/scripts/sandbox.mjs +15 -15
- package/src/ClassRegistry.spec.ts +1 -1
- package/src/ClassRegistry.ts +1 -1
- package/src/Collection.ts +9 -9
- package/src/EventTypeDefs.ts +2 -2
- package/src/Intersection.spec.ts +2 -2
- package/src/Intersection.ts +11 -11
- package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +3 -3
- package/src/LayoutManager/ActiveSelectionLayoutManager.ts +2 -2
- package/src/LayoutManager/LayoutManager.spec.ts +17 -17
- package/src/LayoutManager/LayoutManager.ts +15 -15
- package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +3 -3
- package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +1 -1
- package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +4 -4
- package/src/LayoutManager/LayoutStrategies/utils.ts +4 -4
- package/src/LayoutManager/types.ts +12 -13
- package/src/Observable.ts +7 -7
- package/src/Pattern/Pattern.ts +20 -10
- package/src/Point.ts +3 -3
- package/src/Shadow.ts +7 -7
- package/src/brushes/CircleBrush.ts +1 -1
- package/src/brushes/PatternBrush.ts +1 -1
- package/src/brushes/PencilBrush.ts +1 -1
- package/src/brushes/SprayBrush.ts +3 -3
- package/src/canvas/Canvas.ts +38 -35
- package/src/canvas/DOMManagers/CanvasDOMManager.ts +2 -2
- package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +1 -1
- package/src/canvas/DOMManagers/util.ts +2 -2
- package/src/canvas/SelectableCanvas.spec.ts +8 -8
- package/src/canvas/SelectableCanvas.ts +20 -20
- package/src/canvas/StaticCanvas.ts +44 -43
- package/src/canvas/StaticCanvasOptions.ts +0 -1
- package/src/canvas/TextEditingManager.ts +1 -1
- package/src/canvas/__tests__/eventData.test.ts +17 -17
- package/src/color/Color.ts +3 -2
- package/src/color/color.test.ts +2 -2
- package/src/color/typedefs.ts +1 -1
- package/src/color/util.ts +1 -1
- package/src/config.ts +1 -1
- package/src/controls/Control.spec.ts +8 -8
- package/src/controls/Control.ts +14 -14
- package/src/controls/changeWidth.test.ts +2 -2
- package/src/controls/changeWidth.ts +4 -4
- package/src/controls/controlRendering.ts +4 -4
- package/src/controls/drag.ts +1 -1
- package/src/controls/fireEvent.ts +1 -1
- package/src/controls/pathControl.spec.ts +9 -9
- package/src/controls/pathControl.ts +20 -20
- package/src/controls/polyControl.spec.ts +6 -6
- package/src/controls/polyControl.ts +11 -11
- package/src/controls/rotate.ts +4 -4
- package/src/controls/scale.test.ts +9 -9
- package/src/controls/scale.ts +13 -13
- package/src/controls/scaleSkew.ts +3 -3
- package/src/controls/skew.ts +8 -8
- package/src/controls/util.ts +6 -6
- package/src/controls/wrapWithFireEvent.ts +2 -2
- package/src/controls/wrapWithFixedAnchor.spec.ts +5 -5
- package/src/controls/wrapWithFixedAnchor.ts +2 -2
- package/src/env/node.ts +2 -2
- package/src/filters/BaseFilter.ts +27 -25
- package/src/filters/BlendColor.ts +1 -1
- package/src/filters/BlendImage.ts +4 -4
- package/src/filters/Blur.ts +1 -1
- package/src/filters/Boilerplate.ts +1 -1
- package/src/filters/Brightness.ts +1 -1
- package/src/filters/Canvas2dFilterBackend.ts +1 -1
- package/src/filters/ColorMatrix.ts +2 -2
- package/src/filters/ColorMatrixFilters.ts +7 -7
- package/src/filters/Composed.ts +5 -5
- package/src/filters/Contrast.ts +1 -1
- package/src/filters/Convolute.ts +1 -1
- package/src/filters/GLProbes/WebGLProbe.ts +2 -2
- package/src/filters/Gamma.ts +1 -1
- package/src/filters/Grayscale.ts +1 -1
- package/src/filters/Invert.ts +1 -1
- package/src/filters/Noise.ts +1 -1
- package/src/filters/Pixelate.ts +1 -1
- package/src/filters/RemoveColor.ts +1 -1
- package/src/filters/Resize.ts +9 -9
- package/src/filters/Saturation.ts +1 -1
- package/src/filters/Vibrance.ts +1 -1
- package/src/filters/WebGLFilterBackend.ts +10 -10
- package/src/filters/typedefs.ts +1 -3
- package/src/filters/utils.ts +3 -3
- package/src/gradient/Gradient.spec.ts +19 -19
- package/src/gradient/Gradient.ts +51 -50
- package/src/gradient/parser/parseColorStops.ts +3 -3
- package/src/gradient/parser/parseCoords.ts +28 -25
- package/src/mixins/eraser_brush.mixin.ts +21 -21
- package/src/parkinglot/straighten.ts +1 -1
- package/src/parser/applyViewboxTransform.ts +2 -2
- package/src/parser/constants.ts +2 -2
- package/src/parser/elements_parser.ts +13 -13
- package/src/parser/getCSSRules.ts +1 -1
- package/src/parser/getGlobalStylesForElement.ts +1 -1
- package/src/parser/getGradientDefs.ts +1 -1
- package/src/parser/getMultipleNodes.ts +2 -2
- package/src/parser/loadSVGFromString.test.ts +1 -4
- package/src/parser/loadSVGFromString.ts +1 -1
- package/src/parser/loadSVGFromURL.ts +1 -1
- package/src/parser/normalizeAttr.ts +1 -1
- package/src/parser/normalizeValue.ts +2 -2
- package/src/parser/parseAttributes.ts +3 -3
- package/src/parser/parseFontDeclaration.ts +1 -1
- package/src/parser/parseSVGDocument.ts +3 -3
- package/src/parser/parseStyleObject.ts +1 -1
- package/src/parser/parseStyleString.ts +1 -1
- package/src/parser/parseTransformAttribute.ts +1 -1
- package/src/parser/parseUseDirectives.ts +1 -1
- package/src/parser/percent.ts +4 -4
- package/src/parser/recursivelyParseGradientsXlink.ts +1 -1
- package/src/parser/setStrokeFillOpacity.ts +1 -1
- package/src/parser/typedefs.ts +1 -1
- package/src/shapes/ActiveSelection.spec.ts +1 -1
- package/src/shapes/ActiveSelection.ts +4 -4
- package/src/shapes/Circle.ts +5 -5
- package/src/shapes/Ellipse.ts +4 -4
- package/src/shapes/Group.spec.ts +5 -5
- package/src/shapes/Group.ts +19 -17
- package/src/shapes/IText/DraggableTextDelegate.ts +9 -10
- package/src/shapes/IText/IText.test.ts +1 -1
- package/src/shapes/IText/IText.ts +12 -12
- package/src/shapes/IText/ITextBehavior.test.ts +2 -2
- package/src/shapes/IText/ITextBehavior.ts +21 -21
- package/src/shapes/IText/ITextClickBehavior.ts +2 -2
- package/src/shapes/IText/ITextKeyBehavior.test.ts +2 -2
- package/src/shapes/IText/ITextKeyBehavior.ts +13 -13
- package/src/shapes/Image.ts +16 -16
- package/src/shapes/Line.ts +4 -4
- package/src/shapes/Object/AnimatableObject.ts +13 -10
- package/src/shapes/Object/FabricObject.ts +7 -3
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +9 -9
- package/src/shapes/Object/InteractiveObject.spec.ts +3 -3
- package/src/shapes/Object/InteractiveObject.ts +32 -32
- package/src/shapes/Object/Object.ts +33 -31
- package/src/shapes/Object/ObjectGeometry.ts +9 -9
- package/src/shapes/Object/ObjectOrigin.ts +11 -11
- package/src/shapes/Object/StackedObject.ts +3 -4
- package/src/shapes/Path.ts +14 -14
- package/src/shapes/Polyline.spec.ts +1 -1
- package/src/shapes/Polyline.ts +15 -16
- package/src/shapes/Rect.ts +6 -6
- package/src/shapes/Text/StyledText.spec.ts +2 -2
- package/src/shapes/Text/StyledText.ts +7 -7
- package/src/shapes/Text/Text.spec.ts +1 -1
- package/src/shapes/Text/Text.ts +33 -33
- package/src/shapes/Text/TextSVGExportMixin.spec.ts +1 -1
- package/src/shapes/Text/TextSVGExportMixin.ts +23 -23
- package/src/shapes/Textbox.ts +7 -7
- package/src/shapes/Triangle.ts +1 -1
- package/src/typedefs.ts +3 -3
- package/src/util/animation/AnimationBase.ts +2 -2
- package/src/util/animation/AnimationRegistry.ts +1 -1
- package/src/util/animation/ArrayAnimation.ts +2 -2
- package/src/util/animation/ColorAnimation.ts +5 -5
- package/src/util/animation/ValueAnimation.ts +1 -1
- package/src/util/animation/animate.ts +6 -6
- package/src/util/animation/animations.spec.ts +7 -7
- package/src/util/animation/easing.ts +1 -1
- package/src/util/animation/types.ts +5 -6
- package/src/util/applyMixins.ts +2 -2
- package/src/util/dom_style.ts +2 -2
- package/src/util/internals/cloneDeep.ts +6 -0
- package/src/util/internals/cloneStyles.spec.ts +46 -0
- package/src/util/internals/cloneStyles.ts +12 -0
- package/src/util/internals/findRight.ts +1 -1
- package/src/util/internals/getRandomInt.test.ts +1 -1
- package/src/util/misc/boundingBoxFromPoints.ts +1 -1
- package/src/util/misc/dom.ts +3 -3
- package/src/util/misc/findScaleTo.ts +2 -2
- package/src/util/misc/groupSVGElements.ts +1 -1
- package/src/util/misc/isTransparent.ts +1 -1
- package/src/util/misc/matrix.ts +6 -6
- package/src/util/misc/objectEnlive.ts +9 -9
- package/src/util/misc/objectTransforms.ts +5 -5
- package/src/util/misc/pick.ts +2 -2
- package/src/util/misc/planeChange.spec.ts +9 -9
- package/src/util/misc/planeChange.ts +5 -5
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +7 -7
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +16 -16
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +2 -2
- package/src/util/misc/projectStroke/index.ts +7 -7
- package/src/util/misc/resolveOrigin.ts +1 -1
- package/src/util/misc/rotatePoint.ts +1 -1
- package/src/util/misc/svgParsing.ts +5 -5
- package/src/util/misc/textStyles.ts +6 -6
- package/src/util/misc/vectors.ts +1 -1
- package/src/util/path/index.spec.ts +3 -3
- package/src/util/path/index.ts +30 -30
- package/src/util/path/typechecks.ts +22 -22
- package/src/util/path/typedefs.ts +14 -17
- package/src/util/transform_matrix_removal.ts +3 -3
- package/src/util/typeAssertions.ts +4 -4
- package/tsconfig-extensions.json +108 -0
- package/tsconfig.json +4 -3
- package/.eslintignore +0 -3
- package/.eslintrc.js +0 -60
- package/.eslintrc.json +0 -143
- package/.eslintrc_tests +0 -58
- package/dist/src/util/internals/cloneDeep.min.mjs +0 -2
- package/dist/src/util/internals/cloneDeep.min.mjs.map +0 -1
- package/dist/src/util/internals/cloneDeep.mjs +0 -4
- package/dist/src/util/internals/cloneDeep.mjs.map +0 -1
- package/dist/src/util/internals/index.d.ts +0 -5
- package/dist/src/util/internals/index.d.ts.map +0 -1
- package/src/benchmarks/README.md +0 -7
- package/src/benchmarks/calcCornerCoords.mjs +0 -117
- package/src/benchmarks/calcTransformMatrix.mjs +0 -104
- package/src/benchmarks/pathCloning.mjs +0 -111
- package/src/benchmarks/pathData.mjs +0 -5
- package/src/benchmarks/raycasting.mjs +0 -152
- package/src/benchmarks/transformMatrixKey.mjs +0 -97
- package/src/util/internals/index.ts +0 -4
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { FabricObject } from '../shapes/Object/Object';
|
|
2
|
+
import type { TFiller } from '../typedefs';
|
|
3
|
+
import type { FabricText } from '../shapes/Text/Text';
|
|
4
|
+
import type { Pattern } from '../Pattern';
|
|
5
|
+
import type { Path } from '../shapes/Path';
|
|
6
|
+
import type { ActiveSelection } from '../shapes/ActiveSelection';
|
|
7
|
+
export declare const isFiller: (filler: TFiller | string | null) => filler is TFiller;
|
|
8
|
+
export declare const isSerializableFiller: (filler: TFiller | string | null) => filler is TFiller;
|
|
9
|
+
export declare const isPattern: (filler: TFiller) => filler is Pattern;
|
|
10
|
+
export declare const isTextObject: (fabricObject?: FabricObject) => fabricObject is FabricText;
|
|
11
|
+
export declare const isPath: (fabricObject?: FabricObject) => fabricObject is Path;
|
|
12
|
+
export declare const isActiveSelection: (fabricObject?: FabricObject) => fabricObject is ActiveSelection;
|
|
13
|
+
//# sourceMappingURL=typeAssertions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeAssertions.d.ts","sourceRoot":"","sources":["../../../src/util/typeAssertions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,eAAO,MAAM,QAAQ,WACX,OAAO,GAAG,MAAM,GAAG,IAAI,KAC9B,MAAM,IAAI,OAEZ,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,OAAO,GAAG,MAAM,GAAG,IAAI,KAC9B,MAAM,IAAI,OAEZ,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,OAAO,KAAG,MAAM,IAAI,OAIrD,CAAC;AAEF,eAAO,MAAM,YAAY,kBACR,YAAY,KAC1B,YAAY,IAAI,UAKlB,CAAC;AAEF,eAAO,MAAM,MAAM,kBAAmB,YAAY,KAAG,YAAY,IAAI,IAOpE,CAAC;AAEF,eAAO,MAAM,iBAAiB,kBACb,YAAY,KAC1B,YAAY,IAAI,eACyC,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import typescriptEslint from '@typescript-eslint/eslint-plugin';
|
|
2
|
+
import tsParser from '@typescript-eslint/parser';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import js from '@eslint/js';
|
|
6
|
+
import { FlatCompat } from '@eslint/eslintrc';
|
|
7
|
+
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
const __dirname = path.dirname(__filename);
|
|
10
|
+
const compat = new FlatCompat({
|
|
11
|
+
baseDirectory: __dirname,
|
|
12
|
+
recommendedConfig: js.configs.recommended,
|
|
13
|
+
allConfig: js.configs.all,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export default [
|
|
17
|
+
{
|
|
18
|
+
ignores: [
|
|
19
|
+
'src/mixins/eraser_brush.mixin.ts',
|
|
20
|
+
'src/util/lang_class.ts',
|
|
21
|
+
'src/parkinglot',
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
...compat.extends(
|
|
25
|
+
'eslint:recommended',
|
|
26
|
+
'plugin:@typescript-eslint/recommended',
|
|
27
|
+
'prettier',
|
|
28
|
+
),
|
|
29
|
+
{
|
|
30
|
+
plugins: {
|
|
31
|
+
'@typescript-eslint': typescriptEslint,
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
languageOptions: {
|
|
35
|
+
parser: tsParser,
|
|
36
|
+
ecmaVersion: 5,
|
|
37
|
+
sourceType: 'script',
|
|
38
|
+
globals: {
|
|
39
|
+
console: 'readonly',
|
|
40
|
+
},
|
|
41
|
+
parserOptions: {
|
|
42
|
+
project: true,
|
|
43
|
+
tsconfigRootDir: './',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
rules: {
|
|
48
|
+
'@typescript-eslint/consistent-type-exports': 'error',
|
|
49
|
+
'@typescript-eslint/consistent-type-imports': 'error',
|
|
50
|
+
'@typescript-eslint/no-restricted-types': 1,
|
|
51
|
+
'@typescript-eslint/ban-ts-comment': 1,
|
|
52
|
+
|
|
53
|
+
'no-restricted-globals': [
|
|
54
|
+
'error',
|
|
55
|
+
{
|
|
56
|
+
name: 'window',
|
|
57
|
+
message: 'Use fabric window or other utils instead.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'document',
|
|
61
|
+
message: 'Use fabric document or other utils instead.',
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
|
|
65
|
+
'no-restricted-syntax': [
|
|
66
|
+
'error',
|
|
67
|
+
{
|
|
68
|
+
selector: '[callee.object.name="Math"][callee.property.name="hypot"]',
|
|
69
|
+
message:
|
|
70
|
+
'`Math.hypot` is not accurate on chrome, use `Math.sqrt` instead.\nSee https://stackoverflow.com/questions/62931950/different-results-of-math-hypot-on-chrome-and-firefox',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
selector: 'VariableDeclarator[init.name="Math"]',
|
|
74
|
+
message:
|
|
75
|
+
'Aliasing or destructing `Math` is not allowed due to restrictions on `Math.hypot` usage.',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
selector: '[callee.object.name="console"]',
|
|
79
|
+
message: 'Use the `log` util',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
selector: 'NewExpression[callee.name="Error"]',
|
|
83
|
+
message: 'Use `FabricError`',
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
|
|
87
|
+
'@typescript-eslint/no-explicit-any': ['warn'],
|
|
88
|
+
|
|
89
|
+
'@typescript-eslint/no-unused-expressions': [
|
|
90
|
+
'error',
|
|
91
|
+
{
|
|
92
|
+
allowShortCircuit: true,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
|
|
96
|
+
'@typescript-eslint/no-unused-vars': [
|
|
97
|
+
'error',
|
|
98
|
+
{
|
|
99
|
+
ignoreRestSiblings: true,
|
|
100
|
+
argsIgnorePattern: '^_',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
files: ['**/*.ts'],
|
|
107
|
+
},
|
|
108
|
+
];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# FabricJS extensions or plugins
|
|
2
|
+
|
|
3
|
+
Extensions and/or plugins are all those features that do no have a place in the library itself.
|
|
4
|
+
FabricJS is a rendering library with an interactive layer and serialization support and has already a lot of features and needs to avoid more scope creep.
|
|
5
|
+
|
|
6
|
+
Extension are all those pieces of codes that are more features and less api, as examples:
|
|
7
|
+
|
|
8
|
+
- filters with a niche use case
|
|
9
|
+
- high level interactions like guidelines or snapping
|
|
10
|
+
- high level objects that pertain to UX
|
|
11
|
+
- Controls sets that could be built with the api but are pre-built here so developers have a reference implementation
|
|
12
|
+
|
|
13
|
+
## Requirements for a feature
|
|
14
|
+
|
|
15
|
+
A feature in order to be merged needs to have
|
|
16
|
+
|
|
17
|
+
- Unit tests
|
|
18
|
+
- An e2e test if there is an interaction flow
|
|
19
|
+
- A small Readme file that explain how to use it and what to expect from it
|
|
20
|
+
|
|
21
|
+
## How to use features
|
|
22
|
+
|
|
23
|
+
Each feature is built how is built.
|
|
24
|
+
It may be a class or a function that wrap an existing class, or a series of functions to use in a particular way.
|
|
25
|
+
Refer to each README file for explanations
|
|
26
|
+
|
|
27
|
+
Feature are not built in the main FabricJS bundle and are available both in form of ES module or an extension bundle.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Aligning guidelines
|
|
2
|
+
|
|
3
|
+
## How to use it
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { initAligningGuidelines } from 'fabric/extensions';
|
|
7
|
+
|
|
8
|
+
const config = {
|
|
9
|
+
/** At what distance from the shape does alignment begin? */
|
|
10
|
+
margin: 4,
|
|
11
|
+
/** Aligning line dimensions */
|
|
12
|
+
width: 1,
|
|
13
|
+
/** Aligning line color */
|
|
14
|
+
color: 'rgb(255,0,0,0.9)',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const deactivate = initAligningGuidelines(myCanvas, options);
|
|
18
|
+
|
|
19
|
+
// in order to disable alignment guidelines later:
|
|
20
|
+
|
|
21
|
+
deactivate();
|
|
22
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AligningLineConfig } from './typedefs';
|
|
2
|
+
|
|
3
|
+
export const aligningLineConfig: AligningLineConfig = {
|
|
4
|
+
/** At what distance from the shape does alignment begin? */
|
|
5
|
+
margin: 4,
|
|
6
|
+
/** Aligning line dimensions */
|
|
7
|
+
width: 1,
|
|
8
|
+
/** Aligning line color */
|
|
9
|
+
color: 'rgb(255,0,0,0.9)',
|
|
10
|
+
};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
BasicTransformEvent,
|
|
3
|
+
Canvas,
|
|
4
|
+
FabricObject,
|
|
5
|
+
TBBox,
|
|
6
|
+
TPointerEvent,
|
|
7
|
+
} from 'fabric';
|
|
8
|
+
import { Point, util } from 'fabric';
|
|
9
|
+
import {
|
|
10
|
+
collectHorizontalPoint,
|
|
11
|
+
collectVerticalPoint,
|
|
12
|
+
} from './util/collect-point';
|
|
13
|
+
import {
|
|
14
|
+
drawHorizontalLine,
|
|
15
|
+
drawPointList,
|
|
16
|
+
drawVerticalLine,
|
|
17
|
+
} from './util/draw';
|
|
18
|
+
import { getObjectsByTarget } from './util/get-objects-by-target';
|
|
19
|
+
import { collectLine } from './util/collect-line';
|
|
20
|
+
import type {
|
|
21
|
+
AligningLineConfig,
|
|
22
|
+
HorizontalLine,
|
|
23
|
+
VerticalLine,
|
|
24
|
+
} from './typedefs';
|
|
25
|
+
import { aligningLineConfig } from './constant';
|
|
26
|
+
|
|
27
|
+
type TransformEvent = BasicTransformEvent<TPointerEvent> & {
|
|
28
|
+
target: FabricObject;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type { AligningLineConfig } from './typedefs';
|
|
32
|
+
|
|
33
|
+
export function initAligningGuidelines(
|
|
34
|
+
canvas: Canvas,
|
|
35
|
+
options: Partial<AligningLineConfig> = {},
|
|
36
|
+
) {
|
|
37
|
+
Object.assign(aligningLineConfig, options);
|
|
38
|
+
|
|
39
|
+
const horizontalLines = new Set<string>();
|
|
40
|
+
const verticalLines = new Set<string>();
|
|
41
|
+
let onlyDrawPoint = false;
|
|
42
|
+
const cacheMap = new Map<string, [TBBox, Point[]]>();
|
|
43
|
+
|
|
44
|
+
const getCaCheMapValue = (object: FabricObject) => {
|
|
45
|
+
const cacheKey = [
|
|
46
|
+
object.calcTransformMatrix().toString(),
|
|
47
|
+
object.width,
|
|
48
|
+
object.height,
|
|
49
|
+
].join();
|
|
50
|
+
const cacheValue = cacheMap.get(cacheKey);
|
|
51
|
+
if (cacheValue) return cacheValue;
|
|
52
|
+
const coords = object.getCoords();
|
|
53
|
+
const rect = util.makeBoundingBoxFromPoints(coords);
|
|
54
|
+
const value: [TBBox, Point[]] = [rect, coords];
|
|
55
|
+
cacheMap.set(cacheKey, value);
|
|
56
|
+
return value;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
function moving(e: TransformEvent) {
|
|
60
|
+
const activeObject = e.target;
|
|
61
|
+
activeObject.setCoords();
|
|
62
|
+
onlyDrawPoint = false;
|
|
63
|
+
verticalLines.clear();
|
|
64
|
+
horizontalLines.clear();
|
|
65
|
+
|
|
66
|
+
const objects = getObjectsByTarget(activeObject);
|
|
67
|
+
const activeObjectRect = activeObject.getBoundingRect();
|
|
68
|
+
|
|
69
|
+
for (const object of objects) {
|
|
70
|
+
const objectRect = getCaCheMapValue(object)[0];
|
|
71
|
+
const { vLines, hLines } = collectLine({
|
|
72
|
+
activeObject,
|
|
73
|
+
activeObjectRect,
|
|
74
|
+
objectRect,
|
|
75
|
+
});
|
|
76
|
+
vLines.forEach((o) => {
|
|
77
|
+
verticalLines.add(JSON.stringify(o));
|
|
78
|
+
});
|
|
79
|
+
hLines.forEach((o) => {
|
|
80
|
+
horizontalLines.add(JSON.stringify(o));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function scalingOrResizing(e: TransformEvent) {
|
|
86
|
+
// br bl tr tl mb ml mt mr
|
|
87
|
+
const activeObject = e.target;
|
|
88
|
+
activeObject.setCoords();
|
|
89
|
+
const isScale = String(e.transform.action).startsWith('scale');
|
|
90
|
+
verticalLines.clear();
|
|
91
|
+
horizontalLines.clear();
|
|
92
|
+
|
|
93
|
+
const objects = getObjectsByTarget(activeObject);
|
|
94
|
+
let corner = e.transform.corner;
|
|
95
|
+
if (activeObject.flipX) corner = corner.replace('l', 'r').replace('r', 'l');
|
|
96
|
+
if (activeObject.flipY) corner = corner.replace('t', 'b').replace('b', 't');
|
|
97
|
+
let index = ['tl', 'tr', 'br', 'bl', 'mt', 'mr', 'mb', 'ml'].indexOf(
|
|
98
|
+
corner,
|
|
99
|
+
);
|
|
100
|
+
if (index == -1) return;
|
|
101
|
+
onlyDrawPoint = index > 3;
|
|
102
|
+
if (onlyDrawPoint) {
|
|
103
|
+
const angle = activeObject.getTotalAngle();
|
|
104
|
+
if (angle % 90 != 0) return;
|
|
105
|
+
index -= 4;
|
|
106
|
+
}
|
|
107
|
+
let point = activeObject.getCoords()[index];
|
|
108
|
+
for (const object of objects) {
|
|
109
|
+
const [rect, coords] = getCaCheMapValue(object);
|
|
110
|
+
const center = new Point(
|
|
111
|
+
rect.left + rect.width / 2,
|
|
112
|
+
rect.top + rect.height / 2,
|
|
113
|
+
);
|
|
114
|
+
const list = [...coords, center];
|
|
115
|
+
const props = { activeObject, point, list, isScale, index };
|
|
116
|
+
const vLines = collectVerticalPoint(props);
|
|
117
|
+
const hLines = collectHorizontalPoint(props);
|
|
118
|
+
vLines.forEach((o) => {
|
|
119
|
+
verticalLines.add(JSON.stringify(o));
|
|
120
|
+
});
|
|
121
|
+
hLines.forEach((o) => {
|
|
122
|
+
horizontalLines.add(JSON.stringify(o));
|
|
123
|
+
});
|
|
124
|
+
if (vLines.length || hLines.length)
|
|
125
|
+
point = activeObject.getCoords()[index];
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function beforeRender() {
|
|
130
|
+
canvas.clearContext(canvas.contextTop);
|
|
131
|
+
}
|
|
132
|
+
function afterRender() {
|
|
133
|
+
if (onlyDrawPoint) {
|
|
134
|
+
const list: Array<VerticalLine | HorizontalLine> = [];
|
|
135
|
+
for (const v of verticalLines) list.push(JSON.parse(v));
|
|
136
|
+
for (const h of horizontalLines) list.push(JSON.parse(h));
|
|
137
|
+
drawPointList(canvas, list);
|
|
138
|
+
} else {
|
|
139
|
+
for (const v of verticalLines) drawVerticalLine(canvas, JSON.parse(v));
|
|
140
|
+
for (const h of horizontalLines)
|
|
141
|
+
drawHorizontalLine(canvas, JSON.parse(h));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function mouseUp() {
|
|
145
|
+
verticalLines.clear();
|
|
146
|
+
horizontalLines.clear();
|
|
147
|
+
cacheMap.clear();
|
|
148
|
+
canvas.requestRenderAll();
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
canvas.on('object:resizing', scalingOrResizing);
|
|
152
|
+
canvas.on('object:scaling', scalingOrResizing);
|
|
153
|
+
canvas.on('object:moving', moving);
|
|
154
|
+
canvas.on('before:render', beforeRender);
|
|
155
|
+
canvas.on('after:render', afterRender);
|
|
156
|
+
canvas.on('mouse:up', mouseUp);
|
|
157
|
+
|
|
158
|
+
return () => {
|
|
159
|
+
canvas.off('object:resizing', scalingOrResizing);
|
|
160
|
+
canvas.off('object:scaling', scalingOrResizing);
|
|
161
|
+
canvas.off('object:moving', moving);
|
|
162
|
+
canvas.off('before:render', beforeRender);
|
|
163
|
+
canvas.off('after:render', afterRender);
|
|
164
|
+
canvas.off('mouse:up', mouseUp);
|
|
165
|
+
};
|
|
166
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type VerticalLine = {
|
|
2
|
+
x: number;
|
|
3
|
+
y1: number;
|
|
4
|
+
y2: number;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export type HorizontalLine = {
|
|
8
|
+
y: number;
|
|
9
|
+
x1: number;
|
|
10
|
+
x2: number;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export type VerticalLineProps = {
|
|
14
|
+
x: number;
|
|
15
|
+
objectY: number;
|
|
16
|
+
objectHeight: number;
|
|
17
|
+
activeObjectY: number;
|
|
18
|
+
activeObjectHeight: number;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type HorizontalLineProps = {
|
|
22
|
+
y: number;
|
|
23
|
+
objectX: number;
|
|
24
|
+
objectWidth: number;
|
|
25
|
+
activeObjectX: number;
|
|
26
|
+
activeObjectWidth: number;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export type AligningLineConfig = {
|
|
30
|
+
/** At what distance from the shape does alignment begin? */
|
|
31
|
+
margin: number;
|
|
32
|
+
/** Aligning line dimensions */
|
|
33
|
+
width: number;
|
|
34
|
+
/** Aligning line color */
|
|
35
|
+
color: string;
|
|
36
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getDistance, setPositionDir } from './basic';
|
|
2
|
+
import { Rect } from '../../../src/shapes/Rect';
|
|
3
|
+
import { Point } from '../../../src/Point';
|
|
4
|
+
|
|
5
|
+
describe('getDistance', () => {
|
|
6
|
+
it('returns the distabnce between the 2 numbers', () => {
|
|
7
|
+
expect(getDistance(4, 6)).toBe(2);
|
|
8
|
+
expect(getDistance(6, 4)).toBe(2);
|
|
9
|
+
expect(getDistance(-6, -4)).toBe(2);
|
|
10
|
+
expect(getDistance(6, -4)).toBe(10);
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
describe('setPositionDir', () => {
|
|
15
|
+
it('set the position of the object', () => {
|
|
16
|
+
const rect = new Rect({
|
|
17
|
+
width: 100,
|
|
18
|
+
height: 50,
|
|
19
|
+
originX: 'left',
|
|
20
|
+
originY: 'top',
|
|
21
|
+
left: 100,
|
|
22
|
+
top: 100,
|
|
23
|
+
});
|
|
24
|
+
setPositionDir(rect, new Point(10, 15), 'x');
|
|
25
|
+
expect(rect.left).toEqual(-40.5);
|
|
26
|
+
expect(rect.top).toEqual(100);
|
|
27
|
+
setPositionDir(rect, new Point(10, 15), 'y');
|
|
28
|
+
expect(rect.left).toEqual(-40.5);
|
|
29
|
+
expect(rect.top).toEqual(-10.5);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { FabricObject, Point } from 'fabric';
|
|
2
|
+
|
|
3
|
+
export function getDistance(a: number, b: number) {
|
|
4
|
+
return Math.abs(a - b);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function setPositionDir(
|
|
8
|
+
target: FabricObject,
|
|
9
|
+
pos: Point,
|
|
10
|
+
dir: 'x' | 'y',
|
|
11
|
+
) {
|
|
12
|
+
const center = target.translateToCenterPoint(pos, 'center', 'center');
|
|
13
|
+
const position = target.translateToOriginPoint(
|
|
14
|
+
center,
|
|
15
|
+
target.originX,
|
|
16
|
+
target.originY,
|
|
17
|
+
);
|
|
18
|
+
if (dir == 'x') target.setX(position.x);
|
|
19
|
+
else target.setY(position.y);
|
|
20
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { FabricObject, TBBox } from 'fabric';
|
|
2
|
+
import { Point } from 'fabric';
|
|
3
|
+
import type { HorizontalLine, VerticalLine } from '../typedefs';
|
|
4
|
+
import { aligningLineConfig } from '../constant';
|
|
5
|
+
import { getDistance, setPositionDir } from './basic';
|
|
6
|
+
|
|
7
|
+
type CollectLineProps = {
|
|
8
|
+
activeObject: FabricObject;
|
|
9
|
+
activeObjectRect: TBBox;
|
|
10
|
+
objectRect: TBBox;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export function collectLine(props: CollectLineProps) {
|
|
14
|
+
const aligningLineMargin = aligningLineConfig.margin;
|
|
15
|
+
const { activeObject, activeObjectRect, objectRect } = props;
|
|
16
|
+
const list = makeLineByRect(objectRect);
|
|
17
|
+
const aList = makeLineByRect(activeObjectRect);
|
|
18
|
+
const margin = aligningLineMargin / (activeObject.canvas?.getZoom() ?? 1);
|
|
19
|
+
const opts = { target: activeObject, list, aList, margin };
|
|
20
|
+
const vLines = collectVerticalLine(opts);
|
|
21
|
+
const hLines = collectHorizontalLine(opts);
|
|
22
|
+
|
|
23
|
+
return { vLines, hLines };
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
type CollectItemLineProps = {
|
|
27
|
+
target: FabricObject;
|
|
28
|
+
list: LineProps[];
|
|
29
|
+
aList: LineProps[];
|
|
30
|
+
margin: number;
|
|
31
|
+
};
|
|
32
|
+
function collectVerticalLine(props: CollectItemLineProps) {
|
|
33
|
+
const { target, list, aList, margin } = props;
|
|
34
|
+
|
|
35
|
+
const arr = aList.map((x) => getDistanceLine(x, list, 'x'));
|
|
36
|
+
const min = Math.min(...arr.map((x) => x.dis));
|
|
37
|
+
if (min > margin) return [];
|
|
38
|
+
const lines: VerticalLine[] = [];
|
|
39
|
+
const width = aList[0].x2 - aList[0].x;
|
|
40
|
+
const height = aList[0].y2 - aList[0].y;
|
|
41
|
+
let b = false;
|
|
42
|
+
for (let i = 0; i < arr.length; i++) {
|
|
43
|
+
const item = arr[i];
|
|
44
|
+
if (min == item.dis) {
|
|
45
|
+
const line = list[item.index];
|
|
46
|
+
const aLine = aList[item.index];
|
|
47
|
+
const x = line.x;
|
|
48
|
+
const y = aLine.y;
|
|
49
|
+
|
|
50
|
+
const y1 = Math.min(line.y, line.y2, y, aLine.y2);
|
|
51
|
+
const y2 = Math.max(line.y, line.y2, y, aLine.y2);
|
|
52
|
+
// 参考线可画多条
|
|
53
|
+
lines.push({ x, y1, y2 });
|
|
54
|
+
if (b) continue;
|
|
55
|
+
b = true;
|
|
56
|
+
// 对齐只进行一次
|
|
57
|
+
setPos({
|
|
58
|
+
target,
|
|
59
|
+
x,
|
|
60
|
+
y,
|
|
61
|
+
centerX: i - 1,
|
|
62
|
+
centerY: item.index - 1,
|
|
63
|
+
width,
|
|
64
|
+
height,
|
|
65
|
+
dir: 'x',
|
|
66
|
+
});
|
|
67
|
+
const dis = min * item.dir;
|
|
68
|
+
aList.forEach((x) => (x.x -= dis));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return lines;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function collectHorizontalLine(props: CollectItemLineProps) {
|
|
75
|
+
const { target, list, aList, margin } = props;
|
|
76
|
+
|
|
77
|
+
const arr = aList.map((x) => getDistanceLine(x, list, 'y'));
|
|
78
|
+
const min = Math.min(...arr.map((x) => x.dis));
|
|
79
|
+
if (min > margin) return [];
|
|
80
|
+
const lines: HorizontalLine[] = [];
|
|
81
|
+
const width = aList[0].x2 - aList[0].x;
|
|
82
|
+
const height = aList[0].y2 - aList[0].y;
|
|
83
|
+
let b = false;
|
|
84
|
+
for (let i = 0; i < arr.length; i++) {
|
|
85
|
+
const item = arr[i];
|
|
86
|
+
if (min == item.dis) {
|
|
87
|
+
const line = list[item.index];
|
|
88
|
+
const aLine = aList[item.index];
|
|
89
|
+
const y = line.y;
|
|
90
|
+
const x = aLine.x;
|
|
91
|
+
|
|
92
|
+
const x1 = Math.min(line.x, line.x2, x, aLine.x2);
|
|
93
|
+
const x2 = Math.max(line.x, line.x2, x, aLine.x2);
|
|
94
|
+
// 参考线可画多条
|
|
95
|
+
lines.push({ y, x1, x2 });
|
|
96
|
+
if (b) continue;
|
|
97
|
+
b = true;
|
|
98
|
+
// 对齐只进行一次
|
|
99
|
+
setPos({
|
|
100
|
+
target,
|
|
101
|
+
x,
|
|
102
|
+
y,
|
|
103
|
+
centerX: item.index - 1,
|
|
104
|
+
centerY: i - 1,
|
|
105
|
+
width,
|
|
106
|
+
height,
|
|
107
|
+
dir: 'y',
|
|
108
|
+
});
|
|
109
|
+
const dis = min * item.dir;
|
|
110
|
+
aList.forEach((x) => (x.y -= dis));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return lines;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
type LineProps = {
|
|
117
|
+
x: number;
|
|
118
|
+
y: number;
|
|
119
|
+
x2: number;
|
|
120
|
+
y2: number;
|
|
121
|
+
};
|
|
122
|
+
function getDistanceLine(
|
|
123
|
+
target: LineProps,
|
|
124
|
+
list: LineProps[],
|
|
125
|
+
type: 'x' | 'y',
|
|
126
|
+
) {
|
|
127
|
+
let dis = Infinity;
|
|
128
|
+
let index = -1;
|
|
129
|
+
/** 1正值 -1负值 */
|
|
130
|
+
let dir = 1;
|
|
131
|
+
for (let i = 0; i < list.length; i++) {
|
|
132
|
+
const v = getDistance(target[type], list[i][type]);
|
|
133
|
+
if (dis > v) {
|
|
134
|
+
index = i;
|
|
135
|
+
dis = v;
|
|
136
|
+
dir = target[type] > list[i][type] ? 1 : -1;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return { dis, index, dir };
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function makeLineByRect(rect: TBBox) {
|
|
143
|
+
const { left, top, width, height } = rect;
|
|
144
|
+
const a = { x: left, y: top, x2: left + width, y2: top + height };
|
|
145
|
+
const x = left + width / 2;
|
|
146
|
+
const y = top + height / 2;
|
|
147
|
+
const b = { x, y, x2: x, y2: y };
|
|
148
|
+
const c = { x: left + width, x2: left, y: top + height, y2: top };
|
|
149
|
+
|
|
150
|
+
return [a, b, c];
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
type SnapToPixelProps = {
|
|
154
|
+
target: FabricObject;
|
|
155
|
+
x: number;
|
|
156
|
+
y: number;
|
|
157
|
+
/** -1 0 1 */
|
|
158
|
+
centerX: number;
|
|
159
|
+
/** -1 0 1 */
|
|
160
|
+
centerY: number;
|
|
161
|
+
width: number;
|
|
162
|
+
height: number;
|
|
163
|
+
dir: 'x' | 'y';
|
|
164
|
+
};
|
|
165
|
+
function setPos(props: SnapToPixelProps) {
|
|
166
|
+
const { target, centerX, centerY, width, height, dir } = props;
|
|
167
|
+
let { x, y } = props;
|
|
168
|
+
x -= (centerX * width) / 2;
|
|
169
|
+
y -= (centerY * height) / 2;
|
|
170
|
+
setPositionDir(target, new Point(x, y), dir);
|
|
171
|
+
target.setCoords();
|
|
172
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { FabricObject, Point, TOriginX, TOriginY } from 'fabric';
|
|
2
|
+
import { aligningLineConfig } from '../constant';
|
|
3
|
+
import { getDistance } from './basic';
|
|
4
|
+
|
|
5
|
+
type CollectPointProps = {
|
|
6
|
+
activeObject: FabricObject;
|
|
7
|
+
point: Point;
|
|
8
|
+
list: Point[];
|
|
9
|
+
isScale: boolean;
|
|
10
|
+
index: number;
|
|
11
|
+
};
|
|
12
|
+
const originXArr: TOriginX[] = ['left', 'center', 'right'];
|
|
13
|
+
const originYArr: TOriginY[] = ['top', 'center', 'bottom'];
|
|
14
|
+
|
|
15
|
+
export function collectVerticalPoint(props: CollectPointProps) {
|
|
16
|
+
const aligningLineMargin = aligningLineConfig.margin;
|
|
17
|
+
const { activeObject, isScale, index, point, list } = props;
|
|
18
|
+
const { dis, arr } = getDistanceList(point, list, 'x');
|
|
19
|
+
const margin = aligningLineMargin / (activeObject.canvas?.getZoom() ?? 1);
|
|
20
|
+
if (dis > margin) return [];
|
|
21
|
+
let v = arr[arr.length - 1].x - point.x;
|
|
22
|
+
const dir = index == 0 || index == 3 ? -1 : 1;
|
|
23
|
+
v *= dir;
|
|
24
|
+
|
|
25
|
+
const { width, scaleX, left } = activeObject;
|
|
26
|
+
const dim = activeObject._getTransformedDimensions();
|
|
27
|
+
const sx = (v + dim.x) / dim.x;
|
|
28
|
+
if (isScale) activeObject.set('scaleX', scaleX * sx);
|
|
29
|
+
else activeObject.set('width', width * sx);
|
|
30
|
+
const dArr = [0, (v / 2) * dir, v * dir];
|
|
31
|
+
if (dir < 0) dArr.reverse();
|
|
32
|
+
const d = dArr[originXArr.indexOf(activeObject.originX)];
|
|
33
|
+
activeObject.set('left', left + d);
|
|
34
|
+
activeObject.setCoords();
|
|
35
|
+
return arr.map((item) => ({
|
|
36
|
+
x: item.x,
|
|
37
|
+
y1: item.y,
|
|
38
|
+
y2: point.y,
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function collectHorizontalPoint(props: CollectPointProps) {
|
|
43
|
+
const aligningLineMargin = aligningLineConfig.margin;
|
|
44
|
+
const { activeObject, isScale, index, point, list } = props;
|
|
45
|
+
const { dis, arr } = getDistanceList(point, list, 'y');
|
|
46
|
+
const margin = aligningLineMargin / (activeObject.canvas?.getZoom() ?? 1);
|
|
47
|
+
if (dis > margin) return [];
|
|
48
|
+
let v = arr[arr.length - 1].y - point.y;
|
|
49
|
+
const dir = index < 2 ? -1 : 1;
|
|
50
|
+
v *= dir;
|
|
51
|
+
|
|
52
|
+
const { height, scaleY, top } = activeObject;
|
|
53
|
+
const dim = activeObject._getTransformedDimensions();
|
|
54
|
+
const sy = (v + dim.y) / dim.y;
|
|
55
|
+
if (isScale) activeObject.set('scaleY', scaleY * sy);
|
|
56
|
+
else activeObject.set('height', height * sy);
|
|
57
|
+
const dArr = [0, (v / 2) * dir, v * dir];
|
|
58
|
+
if (dir < 0) dArr.reverse();
|
|
59
|
+
const d = dArr[originYArr.indexOf(activeObject.originY)];
|
|
60
|
+
activeObject.set('top', top + d);
|
|
61
|
+
activeObject.setCoords();
|
|
62
|
+
return arr.map((item) => ({
|
|
63
|
+
y: item.y,
|
|
64
|
+
x1: item.x,
|
|
65
|
+
x2: point.x,
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function getDistanceList(point: Point, list: Point[], type: 'x' | 'y') {
|
|
70
|
+
let dis = Infinity;
|
|
71
|
+
let arr: Point[] = [];
|
|
72
|
+
for (const item of list) {
|
|
73
|
+
const v = getDistance(point[type], item[type]);
|
|
74
|
+
if (dis > v) {
|
|
75
|
+
arr = [];
|
|
76
|
+
dis = v;
|
|
77
|
+
}
|
|
78
|
+
if (dis == v) {
|
|
79
|
+
arr.push(item);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return { dis, arr };
|
|
83
|
+
}
|