@nasser-sw/fabric 7.0.0-beta1
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/.babelrc +11 -0
- package/.babelrcAlt +19 -0
- package/.browserslistrc +8 -0
- package/.editorconfig +12 -0
- package/.gitattributes +2 -0
- package/.gitpod.yml +22 -0
- package/.prettierignore +22 -0
- package/.prettierrc +4 -0
- package/CHANGELOG.md +1993 -0
- package/CODE_OF_CONDUCT.md +15 -0
- package/CONTRIBUTING.md +277 -0
- package/LICENSE +16 -0
- package/OVERLAY_EDITOR_MIGRATION.md +432 -0
- package/README.md +253 -0
- package/SECURITY.md +5 -0
- package/debug/konva/CHANGELOG.md +1474 -0
- package/debug/konva/LICENSE +22 -0
- package/debug/konva/README.md +205 -0
- package/debug/konva/gulpfile.mjs +110 -0
- package/debug/konva/package.json +139 -0
- package/debug/konva/release.sh +65 -0
- package/debug/konva/resources/doc-includes/ContainerParams.txt +6 -0
- package/debug/konva/resources/doc-includes/NodeParams.txt +20 -0
- package/debug/konva/resources/doc-includes/ShapeParams.txt +53 -0
- package/debug/konva/resources/jsdoc.conf.json +28 -0
- package/debug/konva/rollup.config.mjs +32 -0
- package/debug/konva/src/Animation.ts +237 -0
- package/debug/konva/src/BezierFunctions.ts +826 -0
- package/debug/konva/src/Canvas.ts +193 -0
- package/debug/konva/src/Container.ts +649 -0
- package/debug/konva/src/Context.ts +1017 -0
- package/debug/konva/src/Core.ts +5 -0
- package/debug/konva/src/DragAndDrop.ts +173 -0
- package/debug/konva/src/Factory.ts +246 -0
- package/debug/konva/src/FastLayer.ts +29 -0
- package/debug/konva/src/Global.ts +210 -0
- package/debug/konva/src/Group.ts +31 -0
- package/debug/konva/src/Layer.ts +546 -0
- package/debug/konva/src/Node.ts +3477 -0
- package/debug/konva/src/PointerEvents.ts +67 -0
- package/debug/konva/src/Shape.ts +2081 -0
- package/debug/konva/src/Stage.ts +1000 -0
- package/debug/konva/src/Tween.ts +811 -0
- package/debug/konva/src/Util.ts +1123 -0
- package/debug/konva/src/Validators.ts +210 -0
- package/debug/konva/src/_CoreInternals.ts +85 -0
- package/debug/konva/src/_FullInternals.ts +171 -0
- package/debug/konva/src/canvas-backend.ts +36 -0
- package/debug/konva/src/filters/Blur.ts +388 -0
- package/debug/konva/src/filters/Brighten.ts +48 -0
- package/debug/konva/src/filters/Brightness.ts +30 -0
- package/debug/konva/src/filters/Contrast.ts +75 -0
- package/debug/konva/src/filters/Emboss.ts +207 -0
- package/debug/konva/src/filters/Enhance.ts +154 -0
- package/debug/konva/src/filters/Grayscale.ts +25 -0
- package/debug/konva/src/filters/HSL.ts +108 -0
- package/debug/konva/src/filters/HSV.ts +106 -0
- package/debug/konva/src/filters/Invert.ts +23 -0
- package/debug/konva/src/filters/Kaleidoscope.ts +274 -0
- package/debug/konva/src/filters/Mask.ts +220 -0
- package/debug/konva/src/filters/Noise.ts +44 -0
- package/debug/konva/src/filters/Pixelate.ts +107 -0
- package/debug/konva/src/filters/Posterize.ts +46 -0
- package/debug/konva/src/filters/RGB.ts +82 -0
- package/debug/konva/src/filters/RGBA.ts +103 -0
- package/debug/konva/src/filters/Sepia.ts +27 -0
- package/debug/konva/src/filters/Solarize.ts +29 -0
- package/debug/konva/src/filters/Threshold.ts +44 -0
- package/debug/konva/src/index.ts +3 -0
- package/debug/konva/src/shapes/Arc.ts +176 -0
- package/debug/konva/src/shapes/Arrow.ts +231 -0
- package/debug/konva/src/shapes/Circle.ts +76 -0
- package/debug/konva/src/shapes/Ellipse.ts +121 -0
- package/debug/konva/src/shapes/Image.ts +319 -0
- package/debug/konva/src/shapes/Label.ts +386 -0
- package/debug/konva/src/shapes/Line.ts +364 -0
- package/debug/konva/src/shapes/Path.ts +1013 -0
- package/debug/konva/src/shapes/Rect.ts +79 -0
- package/debug/konva/src/shapes/RegularPolygon.ts +167 -0
- package/debug/konva/src/shapes/Ring.ts +94 -0
- package/debug/konva/src/shapes/Sprite.ts +370 -0
- package/debug/konva/src/shapes/Star.ts +125 -0
- package/debug/konva/src/shapes/Text.ts +1065 -0
- package/debug/konva/src/shapes/TextPath.ts +583 -0
- package/debug/konva/src/shapes/Transformer.ts +1889 -0
- package/debug/konva/src/shapes/Wedge.ts +129 -0
- package/debug/konva/src/skia-backend.ts +35 -0
- package/debug/konva/src/types.ts +84 -0
- package/debug/konva/tsconfig.json +31 -0
- package/debug/konva/tsconfig.test.json +7 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +2 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +1 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +25 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
- 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/data_updaters/gradient/index.d.ts +11 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts.map +1 -0
- package/dist/extensions/data_updaters/origins/index.d.ts +21 -0
- package/dist/extensions/data_updaters/origins/index.d.ts.map +1 -0
- package/dist/extensions/index.d.ts +4 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/fabric.d.ts +115 -0
- package/dist/fabric.d.ts.map +1 -0
- package/dist/fabric.min.mjs +2 -0
- package/dist/fabric.min.mjs.map +1 -0
- package/dist/fabric.mjs +60 -0
- package/dist/fabric.mjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30983 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +2 -0
- package/dist/index.min.js.map +1 -0
- package/dist/index.min.mjs +2 -0
- package/dist/index.min.mjs.map +1 -0
- package/dist/index.mjs +30910 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +31067 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +20 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/index.node.mjs +31000 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/package.json.min.mjs +2 -0
- package/dist/package.json.min.mjs.map +1 -0
- package/dist/package.json.mjs +4 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/src/ClassRegistry.d.ts +14 -0
- package/dist/src/ClassRegistry.d.ts.map +1 -0
- package/dist/src/ClassRegistry.min.mjs +2 -0
- package/dist/src/ClassRegistry.min.mjs.map +1 -0
- package/dist/src/ClassRegistry.mjs +52 -0
- package/dist/src/ClassRegistry.mjs.map +1 -0
- package/dist/src/Collection.d.ts +141 -0
- package/dist/src/Collection.d.ts.map +1 -0
- package/dist/src/Collection.min.mjs +2 -0
- package/dist/src/Collection.min.mjs.map +1 -0
- package/dist/src/Collection.mjs +337 -0
- package/dist/src/Collection.mjs.map +1 -0
- package/dist/src/CommonMethods.d.ts +32 -0
- package/dist/src/CommonMethods.d.ts.map +1 -0
- package/dist/src/CommonMethods.min.mjs +2 -0
- package/dist/src/CommonMethods.min.mjs.map +1 -0
- package/dist/src/CommonMethods.mjs +65 -0
- package/dist/src/CommonMethods.mjs.map +1 -0
- package/dist/src/EventTypeDefs.d.ts +270 -0
- package/dist/src/EventTypeDefs.d.ts.map +1 -0
- package/dist/src/Intersection.d.ts +112 -0
- package/dist/src/Intersection.d.ts.map +1 -0
- package/dist/src/Intersection.min.mjs +2 -0
- package/dist/src/Intersection.min.mjs.map +1 -0
- package/dist/src/Intersection.mjs +257 -0
- package/dist/src/Intersection.mjs.map +1 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +22 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +1 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +2 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +1 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +50 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts +56 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutManager.mjs +266 -0
- package/dist/src/LayoutManager/LayoutManager.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +13 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +71 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +14 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +22 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +14 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +27 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +30 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +97 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +10 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +29 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +1 -0
- package/dist/src/LayoutManager/constants.d.ts +7 -0
- package/dist/src/LayoutManager/constants.d.ts.map +1 -0
- package/dist/src/LayoutManager/constants.min.mjs +2 -0
- package/dist/src/LayoutManager/constants.min.mjs.map +1 -0
- package/dist/src/LayoutManager/constants.mjs +9 -0
- package/dist/src/LayoutManager/constants.mjs.map +1 -0
- package/dist/src/LayoutManager/index.d.ts +7 -0
- package/dist/src/LayoutManager/index.d.ts.map +1 -0
- package/dist/src/LayoutManager/types.d.ts +106 -0
- package/dist/src/LayoutManager/types.d.ts.map +1 -0
- package/dist/src/Observable.d.ts +68 -0
- package/dist/src/Observable.d.ts.map +1 -0
- package/dist/src/Observable.min.mjs +2 -0
- package/dist/src/Observable.min.mjs.map +1 -0
- package/dist/src/Observable.mjs +159 -0
- package/dist/src/Observable.mjs.map +1 -0
- package/dist/src/Pattern/Pattern.d.ts +95 -0
- package/dist/src/Pattern/Pattern.d.ts.map +1 -0
- package/dist/src/Pattern/Pattern.min.mjs +2 -0
- package/dist/src/Pattern/Pattern.min.mjs.map +1 -0
- package/dist/src/Pattern/Pattern.mjs +183 -0
- package/dist/src/Pattern/Pattern.mjs.map +1 -0
- package/dist/src/Pattern/index.d.ts +3 -0
- package/dist/src/Pattern/index.d.ts.map +1 -0
- package/dist/src/Pattern/types.d.ts +12 -0
- package/dist/src/Pattern/types.d.ts.map +1 -0
- package/dist/src/Point.d.ts +219 -0
- package/dist/src/Point.d.ts.map +1 -0
- package/dist/src/Point.min.mjs +2 -0
- package/dist/src/Point.min.mjs.map +1 -0
- package/dist/src/Point.mjs +358 -0
- package/dist/src/Point.mjs.map +1 -0
- package/dist/src/Shadow.d.ts +89 -0
- package/dist/src/Shadow.d.ts.map +1 -0
- package/dist/src/Shadow.min.mjs +2 -0
- package/dist/src/Shadow.min.mjs.map +1 -0
- package/dist/src/Shadow.mjs +162 -0
- package/dist/src/Shadow.mjs.map +1 -0
- package/dist/src/brushes/BaseBrush.d.ts +94 -0
- package/dist/src/brushes/BaseBrush.d.ts.map +1 -0
- package/dist/src/brushes/BaseBrush.min.mjs +2 -0
- package/dist/src/brushes/BaseBrush.min.mjs.map +1 -0
- package/dist/src/brushes/BaseBrush.mjs +131 -0
- package/dist/src/brushes/BaseBrush.mjs.map +1 -0
- package/dist/src/brushes/CircleBrush.d.ts +43 -0
- package/dist/src/brushes/CircleBrush.d.ts.map +1 -0
- package/dist/src/brushes/CircleBrush.min.mjs +2 -0
- package/dist/src/brushes/CircleBrush.min.mjs.map +1 -0
- package/dist/src/brushes/CircleBrush.mjs +138 -0
- package/dist/src/brushes/CircleBrush.mjs.map +1 -0
- package/dist/src/brushes/PatternBrush.d.ts +23 -0
- package/dist/src/brushes/PatternBrush.d.ts.map +1 -0
- package/dist/src/brushes/PatternBrush.min.mjs +2 -0
- package/dist/src/brushes/PatternBrush.min.mjs.map +1 -0
- package/dist/src/brushes/PatternBrush.mjs +59 -0
- package/dist/src/brushes/PatternBrush.mjs.map +1 -0
- package/dist/src/brushes/PencilBrush.d.ts +92 -0
- package/dist/src/brushes/PencilBrush.d.ts.map +1 -0
- package/dist/src/brushes/PencilBrush.min.mjs +2 -0
- package/dist/src/brushes/PencilBrush.min.mjs.map +1 -0
- package/dist/src/brushes/PencilBrush.mjs +293 -0
- package/dist/src/brushes/PencilBrush.mjs.map +1 -0
- package/dist/src/brushes/SprayBrush.d.ts +68 -0
- package/dist/src/brushes/SprayBrush.d.ts.map +1 -0
- package/dist/src/brushes/SprayBrush.min.mjs +2 -0
- package/dist/src/brushes/SprayBrush.min.mjs.map +1 -0
- package/dist/src/brushes/SprayBrush.mjs +179 -0
- package/dist/src/brushes/SprayBrush.mjs.map +1 -0
- package/dist/src/brushes/typedefs.d.ts +18 -0
- package/dist/src/brushes/typedefs.d.ts.map +1 -0
- package/dist/src/cache.d.ts +47 -0
- package/dist/src/cache.d.ts.map +1 -0
- package/dist/src/cache.min.mjs +2 -0
- package/dist/src/cache.min.mjs.map +1 -0
- package/dist/src/cache.mjs +80 -0
- package/dist/src/cache.mjs.map +1 -0
- package/dist/src/canvas/Canvas.d.ts +334 -0
- package/dist/src/canvas/Canvas.d.ts.map +1 -0
- package/dist/src/canvas/Canvas.min.mjs +2 -0
- package/dist/src/canvas/Canvas.min.mjs.map +1 -0
- package/dist/src/canvas/Canvas.mjs +1366 -0
- package/dist/src/canvas/Canvas.mjs.map +1 -0
- package/dist/src/canvas/CanvasOptions.d.ts +210 -0
- package/dist/src/canvas/CanvasOptions.d.ts.map +1 -0
- package/dist/src/canvas/CanvasOptions.min.mjs +2 -0
- package/dist/src/canvas/CanvasOptions.min.mjs.map +1 -0
- package/dist/src/canvas/CanvasOptions.mjs +32 -0
- package/dist/src/canvas/CanvasOptions.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +30 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +1 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +2 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +125 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +29 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +1 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +2 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +75 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/util.d.ts +23 -0
- package/dist/src/canvas/DOMManagers/util.d.ts.map +1 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs +2 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/util.mjs +76 -0
- package/dist/src/canvas/DOMManagers/util.mjs.map +1 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +544 -0
- package/dist/src/canvas/SelectableCanvas.d.ts.map +1 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs +2 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -0
- package/dist/src/canvas/SelectableCanvas.mjs +1196 -0
- package/dist/src/canvas/SelectableCanvas.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvas.d.ts +596 -0
- package/dist/src/canvas/StaticCanvas.d.ts.map +1 -0
- package/dist/src/canvas/StaticCanvas.min.mjs +2 -0
- package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvas.mjs +1238 -0
- package/dist/src/canvas/StaticCanvas.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts +142 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts.map +1 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs +2 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs +26 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs.map +1 -0
- package/dist/src/canvas/TextEditingManager.d.ts +21 -0
- package/dist/src/canvas/TextEditingManager.d.ts.map +1 -0
- package/dist/src/canvas/TextEditingManager.min.mjs +2 -0
- package/dist/src/canvas/TextEditingManager.min.mjs.map +1 -0
- package/dist/src/canvas/TextEditingManager.mjs +61 -0
- package/dist/src/canvas/TextEditingManager.mjs.map +1 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +1 -0
- package/dist/src/color/Color.d.ts +146 -0
- package/dist/src/color/Color.d.ts.map +1 -0
- package/dist/src/color/Color.min.mjs +2 -0
- package/dist/src/color/Color.min.mjs.map +1 -0
- package/dist/src/color/Color.mjs +305 -0
- package/dist/src/color/Color.mjs.map +1 -0
- package/dist/src/color/color_map.d.ts +155 -0
- package/dist/src/color/color_map.d.ts.map +1 -0
- package/dist/src/color/color_map.min.mjs +2 -0
- package/dist/src/color/color_map.min.mjs.map +1 -0
- package/dist/src/color/color_map.mjs +157 -0
- package/dist/src/color/color_map.mjs.map +1 -0
- package/dist/src/color/constants.d.ts +111 -0
- package/dist/src/color/constants.d.ts.map +1 -0
- package/dist/src/color/constants.min.mjs +2 -0
- package/dist/src/color/constants.min.mjs.map +1 -0
- package/dist/src/color/constants.mjs +115 -0
- package/dist/src/color/constants.mjs.map +1 -0
- package/dist/src/color/typedefs.d.ts +16 -0
- package/dist/src/color/typedefs.d.ts.map +1 -0
- package/dist/src/color/util.d.ts +27 -0
- package/dist/src/color/util.d.ts.map +1 -0
- package/dist/src/color/util.min.mjs +2 -0
- package/dist/src/color/util.min.mjs.map +1 -0
- package/dist/src/color/util.mjs +82 -0
- package/dist/src/color/util.mjs.map +1 -0
- package/dist/src/config.d.ts +113 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.min.mjs +2 -0
- package/dist/src/config.min.mjs.map +1 -0
- package/dist/src/config.mjs +145 -0
- package/dist/src/config.mjs.map +1 -0
- package/dist/src/constants.d.ts +36 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.min.mjs +2 -0
- package/dist/src/constants.min.mjs.map +1 -0
- package/dist/src/constants.mjs +43 -0
- package/dist/src/constants.mjs.map +1 -0
- package/dist/src/controls/Control.d.ts +229 -0
- package/dist/src/controls/Control.d.ts.map +1 -0
- package/dist/src/controls/Control.min.mjs +2 -0
- package/dist/src/controls/Control.min.mjs.map +1 -0
- package/dist/src/controls/Control.mjs +286 -0
- package/dist/src/controls/Control.mjs.map +1 -0
- package/dist/src/controls/changeHeight.d.ts +13 -0
- package/dist/src/controls/changeHeight.d.ts.map +1 -0
- package/dist/src/controls/changeWidth.d.ts +13 -0
- package/dist/src/controls/changeWidth.d.ts.map +1 -0
- package/dist/src/controls/changeWidth.min.mjs +2 -0
- package/dist/src/controls/changeWidth.min.mjs.map +1 -0
- package/dist/src/controls/changeWidth.mjs +36 -0
- package/dist/src/controls/changeWidth.mjs.map +1 -0
- package/dist/src/controls/commonControls.d.ts +26 -0
- package/dist/src/controls/commonControls.d.ts.map +1 -0
- package/dist/src/controls/commonControls.min.mjs +2 -0
- package/dist/src/controls/commonControls.min.mjs.map +1 -0
- package/dist/src/controls/commonControls.mjs +103 -0
- package/dist/src/controls/commonControls.mjs.map +1 -0
- package/dist/src/controls/controlRendering.d.ts +29 -0
- package/dist/src/controls/controlRendering.d.ts.map +1 -0
- package/dist/src/controls/controlRendering.min.mjs +2 -0
- package/dist/src/controls/controlRendering.min.mjs.map +1 -0
- package/dist/src/controls/controlRendering.mjs +87 -0
- package/dist/src/controls/controlRendering.mjs.map +1 -0
- package/dist/src/controls/drag.d.ts +12 -0
- package/dist/src/controls/drag.d.ts.map +1 -0
- package/dist/src/controls/drag.min.mjs +2 -0
- package/dist/src/controls/drag.min.mjs.map +1 -0
- package/dist/src/controls/drag.mjs +33 -0
- package/dist/src/controls/drag.mjs.map +1 -0
- package/dist/src/controls/fireEvent.d.ts +3 -0
- package/dist/src/controls/fireEvent.d.ts.map +1 -0
- package/dist/src/controls/fireEvent.min.mjs +2 -0
- package/dist/src/controls/fireEvent.min.mjs.map +1 -0
- package/dist/src/controls/fireEvent.mjs +16 -0
- package/dist/src/controls/fireEvent.mjs.map +1 -0
- package/dist/src/controls/index.d.ts +14 -0
- package/dist/src/controls/index.d.ts.map +1 -0
- package/dist/src/controls/index.min.mjs +2 -0
- package/dist/src/controls/index.min.mjs.map +1 -0
- package/dist/src/controls/index.mjs +14 -0
- package/dist/src/controls/index.mjs.map +1 -0
- package/dist/src/controls/pathControl.d.ts +12 -0
- package/dist/src/controls/pathControl.d.ts.map +1 -0
- package/dist/src/controls/pathControl.min.mjs +2 -0
- package/dist/src/controls/pathControl.min.mjs.map +1 -0
- package/dist/src/controls/pathControl.mjs +159 -0
- package/dist/src/controls/pathControl.mjs.map +1 -0
- package/dist/src/controls/polyControl.d.ts +30 -0
- package/dist/src/controls/polyControl.d.ts.map +1 -0
- package/dist/src/controls/polyControl.min.mjs +2 -0
- package/dist/src/controls/polyControl.min.mjs.map +1 -0
- package/dist/src/controls/polyControl.mjs +78 -0
- package/dist/src/controls/polyControl.mjs.map +1 -0
- package/dist/src/controls/rotate.d.ts +12 -0
- package/dist/src/controls/rotate.d.ts.map +1 -0
- package/dist/src/controls/rotate.min.mjs +2 -0
- package/dist/src/controls/rotate.min.mjs.map +1 -0
- package/dist/src/controls/rotate.mjs +73 -0
- package/dist/src/controls/rotate.mjs.map +1 -0
- package/dist/src/controls/scale.d.ts +47 -0
- package/dist/src/controls/scale.d.ts.map +1 -0
- package/dist/src/controls/scale.min.mjs +2 -0
- package/dist/src/controls/scale.min.mjs.map +1 -0
- package/dist/src/controls/scale.mjs +210 -0
- package/dist/src/controls/scale.mjs.map +1 -0
- package/dist/src/controls/scaleSkew.d.ts +39 -0
- package/dist/src/controls/scaleSkew.d.ts.map +1 -0
- package/dist/src/controls/scaleSkew.min.mjs +2 -0
- package/dist/src/controls/scaleSkew.min.mjs.map +1 -0
- package/dist/src/controls/scaleSkew.mjs +66 -0
- package/dist/src/controls/scaleSkew.mjs.map +1 -0
- package/dist/src/controls/skew.d.ts +33 -0
- package/dist/src/controls/skew.d.ts.map +1 -0
- package/dist/src/controls/skew.min.mjs +2 -0
- package/dist/src/controls/skew.min.mjs.map +1 -0
- package/dist/src/controls/skew.mjs +181 -0
- package/dist/src/controls/skew.mjs.map +1 -0
- package/dist/src/controls/util.d.ts +42 -0
- package/dist/src/controls/util.d.ts.map +1 -0
- package/dist/src/controls/util.min.mjs +2 -0
- package/dist/src/controls/util.min.mjs.map +1 -0
- package/dist/src/controls/util.mjs +105 -0
- package/dist/src/controls/util.mjs.map +1 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +10 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts.map +1 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs +2 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs.map +1 -0
- package/dist/src/controls/wrapWithFireEvent.mjs +25 -0
- package/dist/src/controls/wrapWithFireEvent.mjs.map +1 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +1 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs +2 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +1 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs +25 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs.map +1 -0
- package/dist/src/env/browser.d.ts +3 -0
- package/dist/src/env/browser.d.ts.map +1 -0
- package/dist/src/env/browser.min.mjs +2 -0
- package/dist/src/env/browser.min.mjs.map +1 -0
- package/dist/src/env/browser.mjs +19 -0
- package/dist/src/env/browser.mjs.map +1 -0
- package/dist/src/env/index.d.ts +34 -0
- package/dist/src/env/index.d.ts.map +1 -0
- package/dist/src/env/index.min.mjs +2 -0
- package/dist/src/env/index.min.mjs.map +1 -0
- package/dist/src/env/index.mjs +47 -0
- package/dist/src/env/index.mjs.map +1 -0
- package/dist/src/env/node.d.ts +6 -0
- package/dist/src/env/node.d.ts.map +1 -0
- package/dist/src/env/types.d.ts +16 -0
- package/dist/src/env/types.d.ts.map +1 -0
- package/dist/src/filters/BaseFilter.d.ts +153 -0
- package/dist/src/filters/BaseFilter.d.ts.map +1 -0
- package/dist/src/filters/BaseFilter.min.mjs +2 -0
- package/dist/src/filters/BaseFilter.min.mjs.map +1 -0
- package/dist/src/filters/BaseFilter.mjs +334 -0
- package/dist/src/filters/BaseFilter.mjs.map +1 -0
- package/dist/src/filters/BlendColor.d.ts +65 -0
- package/dist/src/filters/BlendColor.d.ts.map +1 -0
- package/dist/src/filters/BlendColor.min.mjs +2 -0
- package/dist/src/filters/BlendColor.min.mjs.map +1 -0
- package/dist/src/filters/BlendColor.mjs +164 -0
- package/dist/src/filters/BlendColor.mjs.map +1 -0
- package/dist/src/filters/BlendImage.d.ts +97 -0
- package/dist/src/filters/BlendImage.d.ts.map +1 -0
- package/dist/src/filters/BlendImage.min.mjs +2 -0
- package/dist/src/filters/BlendImage.min.mjs.map +1 -0
- package/dist/src/filters/BlendImage.mjs +185 -0
- package/dist/src/filters/BlendImage.mjs.map +1 -0
- package/dist/src/filters/Blur.d.ts +49 -0
- package/dist/src/filters/Blur.d.ts.map +1 -0
- package/dist/src/filters/Blur.min.mjs +2 -0
- package/dist/src/filters/Blur.min.mjs.map +1 -0
- package/dist/src/filters/Blur.mjs +194 -0
- package/dist/src/filters/Blur.mjs.map +1 -0
- package/dist/src/filters/Boilerplate.d.ts +45 -0
- package/dist/src/filters/Boilerplate.d.ts.map +1 -0
- package/dist/src/filters/Brightness.d.ts +45 -0
- package/dist/src/filters/Brightness.d.ts.map +1 -0
- package/dist/src/filters/Brightness.min.mjs +2 -0
- package/dist/src/filters/Brightness.min.mjs.map +1 -0
- package/dist/src/filters/Brightness.mjs +69 -0
- package/dist/src/filters/Brightness.mjs.map +1 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +1 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs +2 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +1 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs +65 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs.map +1 -0
- package/dist/src/filters/ColorMatrix.d.ts +62 -0
- package/dist/src/filters/ColorMatrix.d.ts.map +1 -0
- package/dist/src/filters/ColorMatrix.min.mjs +2 -0
- package/dist/src/filters/ColorMatrix.min.mjs.map +1 -0
- package/dist/src/filters/ColorMatrix.mjs +99 -0
- package/dist/src/filters/ColorMatrix.mjs.map +1 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +15 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts.map +1 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs +2 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs.map +1 -0
- package/dist/src/filters/ColorMatrixFilters.mjs +30 -0
- package/dist/src/filters/ColorMatrixFilters.mjs.map +1 -0
- package/dist/src/filters/Composed.d.ts +51 -0
- package/dist/src/filters/Composed.d.ts.map +1 -0
- package/dist/src/filters/Composed.min.mjs +2 -0
- package/dist/src/filters/Composed.min.mjs.map +1 -0
- package/dist/src/filters/Composed.mjs +65 -0
- package/dist/src/filters/Composed.mjs.map +1 -0
- package/dist/src/filters/Contrast.d.ts +44 -0
- package/dist/src/filters/Contrast.d.ts.map +1 -0
- package/dist/src/filters/Contrast.min.mjs +2 -0
- package/dist/src/filters/Contrast.min.mjs.map +1 -0
- package/dist/src/filters/Contrast.mjs +69 -0
- package/dist/src/filters/Contrast.mjs.map +1 -0
- package/dist/src/filters/Convolute.d.ts +81 -0
- package/dist/src/filters/Convolute.d.ts.map +1 -0
- package/dist/src/filters/Convolute.min.mjs +2 -0
- package/dist/src/filters/Convolute.min.mjs.map +1 -0
- package/dist/src/filters/Convolute.mjs +154 -0
- package/dist/src/filters/Convolute.mjs.map +1 -0
- package/dist/src/filters/FilterBackend.d.ts +15 -0
- package/dist/src/filters/FilterBackend.d.ts.map +1 -0
- package/dist/src/filters/FilterBackend.min.mjs +2 -0
- package/dist/src/filters/FilterBackend.min.mjs.map +1 -0
- package/dist/src/filters/FilterBackend.mjs +43 -0
- package/dist/src/filters/FilterBackend.mjs.map +1 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +7 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts.map +1 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs +2 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +1 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs +4 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs.map +1 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +1 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +1 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +2 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +1 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs +43 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +1 -0
- package/dist/src/filters/Gamma.d.ts +57 -0
- package/dist/src/filters/Gamma.d.ts.map +1 -0
- package/dist/src/filters/Gamma.min.mjs +2 -0
- package/dist/src/filters/Gamma.min.mjs.map +1 -0
- package/dist/src/filters/Gamma.mjs +101 -0
- package/dist/src/filters/Gamma.mjs.map +1 -0
- package/dist/src/filters/Grayscale.d.ts +44 -0
- package/dist/src/filters/Grayscale.d.ts.map +1 -0
- package/dist/src/filters/Grayscale.min.mjs +2 -0
- package/dist/src/filters/Grayscale.min.mjs.map +1 -0
- package/dist/src/filters/Grayscale.mjs +81 -0
- package/dist/src/filters/Grayscale.mjs.map +1 -0
- package/dist/src/filters/HueRotation.d.ts +34 -0
- package/dist/src/filters/HueRotation.d.ts.map +1 -0
- package/dist/src/filters/HueRotation.min.mjs +2 -0
- package/dist/src/filters/HueRotation.min.mjs.map +1 -0
- package/dist/src/filters/HueRotation.mjs +53 -0
- package/dist/src/filters/HueRotation.mjs.map +1 -0
- package/dist/src/filters/Invert.d.ts +51 -0
- package/dist/src/filters/Invert.d.ts.map +1 -0
- package/dist/src/filters/Invert.min.mjs +2 -0
- package/dist/src/filters/Invert.min.mjs.map +1 -0
- package/dist/src/filters/Invert.mjs +78 -0
- package/dist/src/filters/Invert.mjs.map +1 -0
- package/dist/src/filters/Noise.d.ts +43 -0
- package/dist/src/filters/Noise.d.ts.map +1 -0
- package/dist/src/filters/Noise.min.mjs +2 -0
- package/dist/src/filters/Noise.min.mjs.map +1 -0
- package/dist/src/filters/Noise.mjs +70 -0
- package/dist/src/filters/Noise.mjs.map +1 -0
- package/dist/src/filters/Pixelate.d.ts +41 -0
- package/dist/src/filters/Pixelate.d.ts.map +1 -0
- package/dist/src/filters/Pixelate.min.mjs +2 -0
- package/dist/src/filters/Pixelate.min.mjs.map +1 -0
- package/dist/src/filters/Pixelate.mjs +80 -0
- package/dist/src/filters/Pixelate.mjs.map +1 -0
- package/dist/src/filters/RemoveColor.d.ts +51 -0
- package/dist/src/filters/RemoveColor.d.ts.map +1 -0
- package/dist/src/filters/RemoveColor.min.mjs +2 -0
- package/dist/src/filters/RemoveColor.min.mjs.map +1 -0
- package/dist/src/filters/RemoveColor.mjs +84 -0
- package/dist/src/filters/RemoveColor.mjs.map +1 -0
- package/dist/src/filters/Resize.d.ts +134 -0
- package/dist/src/filters/Resize.d.ts.map +1 -0
- package/dist/src/filters/Resize.min.mjs +2 -0
- package/dist/src/filters/Resize.min.mjs.map +1 -0
- package/dist/src/filters/Resize.mjs +444 -0
- package/dist/src/filters/Resize.mjs.map +1 -0
- package/dist/src/filters/Saturation.d.ts +45 -0
- package/dist/src/filters/Saturation.d.ts.map +1 -0
- package/dist/src/filters/Saturation.min.mjs +2 -0
- package/dist/src/filters/Saturation.min.mjs.map +1 -0
- package/dist/src/filters/Saturation.mjs +74 -0
- package/dist/src/filters/Saturation.mjs.map +1 -0
- package/dist/src/filters/Vibrance.d.ts +45 -0
- package/dist/src/filters/Vibrance.d.ts.map +1 -0
- package/dist/src/filters/Vibrance.min.mjs +2 -0
- package/dist/src/filters/Vibrance.min.mjs.map +1 -0
- package/dist/src/filters/Vibrance.mjs +76 -0
- package/dist/src/filters/Vibrance.mjs.map +1 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +131 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts.map +1 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs +2 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs.map +1 -0
- package/dist/src/filters/WebGLFilterBackend.mjs +312 -0
- package/dist/src/filters/WebGLFilterBackend.mjs.map +1 -0
- package/dist/src/filters/filters.d.ts +23 -0
- package/dist/src/filters/filters.d.ts.map +1 -0
- package/dist/src/filters/filters.min.mjs +2 -0
- package/dist/src/filters/filters.min.mjs.map +1 -0
- package/dist/src/filters/filters.mjs +21 -0
- package/dist/src/filters/filters.mjs.map +1 -0
- package/dist/src/filters/index.d.ts +7 -0
- package/dist/src/filters/index.d.ts.map +1 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +4 -0
- package/dist/src/filters/shaders/baseFilter.d.ts.map +1 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs +2 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs.map +1 -0
- package/dist/src/filters/shaders/baseFilter.mjs +18 -0
- package/dist/src/filters/shaders/baseFilter.mjs.map +1 -0
- package/dist/src/filters/shaders/blendColor.d.ts +13 -0
- package/dist/src/filters/shaders/blendColor.d.ts.map +1 -0
- package/dist/src/filters/shaders/blendColor.min.mjs +2 -0
- package/dist/src/filters/shaders/blendColor.min.mjs.map +1 -0
- package/dist/src/filters/shaders/blendColor.mjs +34 -0
- package/dist/src/filters/shaders/blendColor.mjs.map +1 -0
- package/dist/src/filters/shaders/blendImage.d.ts +4 -0
- package/dist/src/filters/shaders/blendImage.d.ts.map +1 -0
- package/dist/src/filters/shaders/blendImage.min.mjs +2 -0
- package/dist/src/filters/shaders/blendImage.min.mjs.map +1 -0
- package/dist/src/filters/shaders/blendImage.mjs +44 -0
- package/dist/src/filters/shaders/blendImage.mjs.map +1 -0
- package/dist/src/filters/shaders/blur.d.ts +2 -0
- package/dist/src/filters/shaders/blur.d.ts.map +1 -0
- package/dist/src/filters/shaders/blur.min.mjs +2 -0
- package/dist/src/filters/shaders/blur.min.mjs.map +1 -0
- package/dist/src/filters/shaders/blur.mjs +33 -0
- package/dist/src/filters/shaders/blur.mjs.map +1 -0
- package/dist/src/filters/shaders/brightness.d.ts +2 -0
- package/dist/src/filters/shaders/brightness.d.ts.map +1 -0
- package/dist/src/filters/shaders/brightness.min.mjs +2 -0
- package/dist/src/filters/shaders/brightness.min.mjs.map +1 -0
- package/dist/src/filters/shaders/brightness.mjs +14 -0
- package/dist/src/filters/shaders/brightness.mjs.map +1 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +2 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts.map +1 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs +2 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs.map +1 -0
- package/dist/src/filters/shaders/colorMatrix.mjs +15 -0
- package/dist/src/filters/shaders/colorMatrix.mjs.map +1 -0
- package/dist/src/filters/shaders/constrast.d.ts +2 -0
- package/dist/src/filters/shaders/constrast.d.ts.map +1 -0
- package/dist/src/filters/shaders/constrast.min.mjs +2 -0
- package/dist/src/filters/shaders/constrast.min.mjs.map +1 -0
- package/dist/src/filters/shaders/constrast.mjs +14 -0
- package/dist/src/filters/shaders/constrast.mjs.map +1 -0
- package/dist/src/filters/shaders/convolute.d.ts +11 -0
- package/dist/src/filters/shaders/convolute.d.ts.map +1 -0
- package/dist/src/filters/shaders/convolute.min.mjs +2 -0
- package/dist/src/filters/shaders/convolute.min.mjs.map +1 -0
- package/dist/src/filters/shaders/convolute.mjs +157 -0
- package/dist/src/filters/shaders/convolute.mjs.map +1 -0
- package/dist/src/filters/shaders/gamma.d.ts +2 -0
- package/dist/src/filters/shaders/gamma.d.ts.map +1 -0
- package/dist/src/filters/shaders/gamma.min.mjs +2 -0
- package/dist/src/filters/shaders/gamma.min.mjs.map +1 -0
- package/dist/src/filters/shaders/gamma.mjs +18 -0
- package/dist/src/filters/shaders/gamma.mjs.map +1 -0
- package/dist/src/filters/shaders/grayscale.d.ts +3 -0
- package/dist/src/filters/shaders/grayscale.d.ts.map +1 -0
- package/dist/src/filters/shaders/grayscale.min.mjs +2 -0
- package/dist/src/filters/shaders/grayscale.min.mjs.map +1 -0
- package/dist/src/filters/shaders/grayscale.mjs +37 -0
- package/dist/src/filters/shaders/grayscale.mjs.map +1 -0
- package/dist/src/filters/shaders/invert.d.ts +2 -0
- package/dist/src/filters/shaders/invert.d.ts.map +1 -0
- package/dist/src/filters/shaders/invert.min.mjs +2 -0
- package/dist/src/filters/shaders/invert.min.mjs.map +1 -0
- package/dist/src/filters/shaders/invert.mjs +22 -0
- package/dist/src/filters/shaders/invert.mjs.map +1 -0
- package/dist/src/filters/shaders/noise.d.ts +2 -0
- package/dist/src/filters/shaders/noise.d.ts.map +1 -0
- package/dist/src/filters/shaders/noise.min.mjs +2 -0
- package/dist/src/filters/shaders/noise.min.mjs.map +1 -0
- package/dist/src/filters/shaders/noise.mjs +19 -0
- package/dist/src/filters/shaders/noise.mjs.map +1 -0
- package/dist/src/filters/shaders/pixelate.d.ts +2 -0
- package/dist/src/filters/shaders/pixelate.d.ts.map +1 -0
- package/dist/src/filters/shaders/pixelate.min.mjs +2 -0
- package/dist/src/filters/shaders/pixelate.min.mjs.map +1 -0
- package/dist/src/filters/shaders/pixelate.mjs +22 -0
- package/dist/src/filters/shaders/pixelate.mjs.map +1 -0
- package/dist/src/filters/shaders/removeColor.d.ts +2 -0
- package/dist/src/filters/shaders/removeColor.d.ts.map +1 -0
- package/dist/src/filters/shaders/removeColor.min.mjs +2 -0
- package/dist/src/filters/shaders/removeColor.min.mjs.map +1 -0
- package/dist/src/filters/shaders/removeColor.mjs +16 -0
- package/dist/src/filters/shaders/removeColor.mjs.map +1 -0
- package/dist/src/filters/shaders/saturation.d.ts +2 -0
- package/dist/src/filters/shaders/saturation.d.ts.map +1 -0
- package/dist/src/filters/shaders/saturation.min.mjs +2 -0
- package/dist/src/filters/shaders/saturation.min.mjs.map +1 -0
- package/dist/src/filters/shaders/saturation.mjs +18 -0
- package/dist/src/filters/shaders/saturation.mjs.map +1 -0
- package/dist/src/filters/shaders/vibrance.d.ts +2 -0
- package/dist/src/filters/shaders/vibrance.d.ts.map +1 -0
- package/dist/src/filters/shaders/vibrance.min.mjs +2 -0
- package/dist/src/filters/shaders/vibrance.min.mjs.map +1 -0
- package/dist/src/filters/shaders/vibrance.mjs +19 -0
- package/dist/src/filters/shaders/vibrance.mjs.map +1 -0
- package/dist/src/filters/typedefs.d.ts +70 -0
- package/dist/src/filters/typedefs.d.ts.map +1 -0
- package/dist/src/filters/utils.d.ts +10 -0
- package/dist/src/filters/utils.d.ts.map +1 -0
- package/dist/src/filters/utils.min.mjs +2 -0
- package/dist/src/filters/utils.min.mjs.map +1 -0
- package/dist/src/filters/utils.mjs +43 -0
- package/dist/src/filters/utils.mjs.map +1 -0
- package/dist/src/gradient/Gradient.d.ts +142 -0
- package/dist/src/gradient/Gradient.d.ts.map +1 -0
- package/dist/src/gradient/Gradient.min.mjs +2 -0
- package/dist/src/gradient/Gradient.min.mjs.map +1 -0
- package/dist/src/gradient/Gradient.mjs +328 -0
- package/dist/src/gradient/Gradient.mjs.map +1 -0
- package/dist/src/gradient/constants.d.ts +15 -0
- package/dist/src/gradient/constants.d.ts.map +1 -0
- package/dist/src/gradient/constants.min.mjs +2 -0
- package/dist/src/gradient/constants.min.mjs.map +1 -0
- package/dist/src/gradient/constants.mjs +14 -0
- package/dist/src/gradient/constants.mjs.map +1 -0
- package/dist/src/gradient/index.d.ts +3 -0
- package/dist/src/gradient/index.d.ts.map +1 -0
- package/dist/src/gradient/parser/misc.d.ts +4 -0
- package/dist/src/gradient/parser/misc.d.ts.map +1 -0
- package/dist/src/gradient/parser/misc.min.mjs +2 -0
- package/dist/src/gradient/parser/misc.min.mjs.map +1 -0
- package/dist/src/gradient/parser/misc.mjs +9 -0
- package/dist/src/gradient/parser/misc.mjs.map +1 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +3 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts.map +1 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs +2 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs.map +1 -0
- package/dist/src/gradient/parser/parseColorStops.mjs +44 -0
- package/dist/src/gradient/parser/parseColorStops.mjs.map +1 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist/src/gradient/parser/parseCoords.d.ts.map +1 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs +2 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs.map +1 -0
- package/dist/src/gradient/parser/parseCoords.mjs +65 -0
- package/dist/src/gradient/parser/parseCoords.mjs.map +1 -0
- package/dist/src/gradient/typedefs.d.ts +93 -0
- package/dist/src/gradient/typedefs.d.ts.map +1 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts.map +1 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +1 -0
- package/dist/src/parkinglot/straighten.d.ts +12 -0
- package/dist/src/parkinglot/straighten.d.ts.map +1 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +13 -0
- package/dist/src/parser/applyViewboxTransform.d.ts.map +1 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs +2 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs.map +1 -0
- package/dist/src/parser/applyViewboxTransform.mjs +127 -0
- package/dist/src/parser/applyViewboxTransform.mjs.map +1 -0
- package/dist/src/parser/attributes.d.ts +6 -0
- package/dist/src/parser/attributes.d.ts.map +1 -0
- package/dist/src/parser/attributes.min.mjs +2 -0
- package/dist/src/parser/attributes.min.mjs.map +1 -0
- package/dist/src/parser/attributes.mjs +10 -0
- package/dist/src/parser/attributes.mjs.map +1 -0
- package/dist/src/parser/constants.d.ts +42 -0
- package/dist/src/parser/constants.d.ts.map +1 -0
- package/dist/src/parser/constants.min.mjs +2 -0
- package/dist/src/parser/constants.min.mjs.map +1 -0
- package/dist/src/parser/constants.mjs +58 -0
- package/dist/src/parser/constants.mjs.map +1 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts.map +1 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs +2 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs.map +1 -0
- package/dist/src/parser/doesSomeParentMatch.mjs +17 -0
- package/dist/src/parser/doesSomeParentMatch.mjs.map +1 -0
- package/dist/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist/src/parser/elementMatchesRule.d.ts.map +1 -0
- package/dist/src/parser/elementMatchesRule.min.mjs +2 -0
- package/dist/src/parser/elementMatchesRule.min.mjs.map +1 -0
- package/dist/src/parser/elementMatchesRule.mjs +19 -0
- package/dist/src/parser/elementMatchesRule.mjs.map +1 -0
- package/dist/src/parser/elements_parser.d.ts +33 -0
- package/dist/src/parser/elements_parser.d.ts.map +1 -0
- package/dist/src/parser/elements_parser.min.mjs +2 -0
- package/dist/src/parser/elements_parser.min.mjs.map +1 -0
- package/dist/src/parser/elements_parser.mjs +139 -0
- package/dist/src/parser/elements_parser.mjs.map +1 -0
- package/dist/src/parser/getCSSRules.d.ts +8 -0
- package/dist/src/parser/getCSSRules.d.ts.map +1 -0
- package/dist/src/parser/getCSSRules.min.mjs +2 -0
- package/dist/src/parser/getCSSRules.min.mjs.map +1 -0
- package/dist/src/parser/getCSSRules.mjs +60 -0
- package/dist/src/parser/getCSSRules.mjs.map +1 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +6 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts.map +1 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs +2 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +1 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs +22 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs.map +1 -0
- package/dist/src/parser/getGradientDefs.d.ts +7 -0
- package/dist/src/parser/getGradientDefs.d.ts.map +1 -0
- package/dist/src/parser/getGradientDefs.min.mjs +2 -0
- package/dist/src/parser/getGradientDefs.min.mjs.map +1 -0
- package/dist/src/parser/getGradientDefs.mjs +29 -0
- package/dist/src/parser/getGradientDefs.mjs.map +1 -0
- package/dist/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist/src/parser/getMultipleNodes.d.ts.map +1 -0
- package/dist/src/parser/getMultipleNodes.min.mjs +2 -0
- package/dist/src/parser/getMultipleNodes.min.mjs.map +1 -0
- package/dist/src/parser/getMultipleNodes.mjs +16 -0
- package/dist/src/parser/getMultipleNodes.mjs.map +1 -0
- package/dist/src/parser/getSvgRegex.d.ts +2 -0
- package/dist/src/parser/getSvgRegex.d.ts.map +1 -0
- package/dist/src/parser/getSvgRegex.min.mjs +2 -0
- package/dist/src/parser/getSvgRegex.min.mjs.map +1 -0
- package/dist/src/parser/getSvgRegex.mjs +6 -0
- package/dist/src/parser/getSvgRegex.mjs.map +1 -0
- package/dist/src/parser/getTagName.d.ts +2 -0
- package/dist/src/parser/getTagName.d.ts.map +1 -0
- package/dist/src/parser/getTagName.min.mjs +2 -0
- package/dist/src/parser/getTagName.min.mjs.map +1 -0
- package/dist/src/parser/getTagName.mjs +4 -0
- package/dist/src/parser/getTagName.mjs.map +1 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts +2 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts.map +1 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs +2 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs.map +1 -0
- package/dist/src/parser/hasInvalidAncestor.mjs +17 -0
- package/dist/src/parser/hasInvalidAncestor.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromString.d.ts +17 -0
- package/dist/src/parser/loadSVGFromString.d.ts.map +1 -0
- package/dist/src/parser/loadSVGFromString.min.mjs +2 -0
- package/dist/src/parser/loadSVGFromString.min.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromString.mjs +25 -0
- package/dist/src/parser/loadSVGFromString.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +18 -0
- package/dist/src/parser/loadSVGFromURL.d.ts.map +1 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs +2 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromURL.mjs +37 -0
- package/dist/src/parser/loadSVGFromURL.mjs.map +1 -0
- package/dist/src/parser/normalizeAttr.d.ts +3 -0
- package/dist/src/parser/normalizeAttr.d.ts.map +1 -0
- package/dist/src/parser/normalizeAttr.min.mjs +2 -0
- package/dist/src/parser/normalizeAttr.min.mjs.map +1 -0
- package/dist/src/parser/normalizeAttr.mjs +9 -0
- package/dist/src/parser/normalizeAttr.mjs.map +1 -0
- package/dist/src/parser/normalizeValue.d.ts +2 -0
- package/dist/src/parser/normalizeValue.d.ts.map +1 -0
- package/dist/src/parser/normalizeValue.min.mjs +2 -0
- package/dist/src/parser/normalizeValue.min.mjs.map +1 -0
- package/dist/src/parser/normalizeValue.mjs +63 -0
- package/dist/src/parser/normalizeValue.mjs.map +1 -0
- package/dist/src/parser/parseAttributes.d.ts +10 -0
- package/dist/src/parser/parseAttributes.d.ts.map +1 -0
- package/dist/src/parser/parseAttributes.min.mjs +2 -0
- package/dist/src/parser/parseAttributes.min.mjs.map +1 -0
- package/dist/src/parser/parseAttributes.mjs +73 -0
- package/dist/src/parser/parseAttributes.mjs.map +1 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +7 -0
- package/dist/src/parser/parseFontDeclaration.d.ts.map +1 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs +2 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs.map +1 -0
- package/dist/src/parser/parseFontDeclaration.mjs +39 -0
- package/dist/src/parser/parseFontDeclaration.mjs.map +1 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +8 -0
- package/dist/src/parser/parsePointsAttribute.d.ts.map +1 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs +2 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs.map +1 -0
- package/dist/src/parser/parsePointsAttribute.mjs +30 -0
- package/dist/src/parser/parsePointsAttribute.mjs.map +1 -0
- package/dist/src/parser/parseSVGDocument.d.ts +19 -0
- package/dist/src/parser/parseSVGDocument.d.ts.map +1 -0
- package/dist/src/parser/parseSVGDocument.min.mjs +2 -0
- package/dist/src/parser/parseSVGDocument.min.mjs.map +1 -0
- package/dist/src/parser/parseSVGDocument.mjs +79 -0
- package/dist/src/parser/parseSVGDocument.mjs.map +1 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +7 -0
- package/dist/src/parser/parseStyleAttribute.d.ts.map +1 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs +2 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs.map +1 -0
- package/dist/src/parser/parseStyleAttribute.mjs +24 -0
- package/dist/src/parser/parseStyleAttribute.mjs.map +1 -0
- package/dist/src/parser/parseStyleObject.d.ts +8 -0
- package/dist/src/parser/parseStyleObject.d.ts.map +1 -0
- package/dist/src/parser/parseStyleObject.min.mjs +2 -0
- package/dist/src/parser/parseStyleObject.min.mjs.map +1 -0
- package/dist/src/parser/parseStyleObject.mjs +18 -0
- package/dist/src/parser/parseStyleObject.mjs.map +1 -0
- package/dist/src/parser/parseStyleString.d.ts +8 -0
- package/dist/src/parser/parseStyleString.d.ts.map +1 -0
- package/dist/src/parser/parseStyleString.min.mjs +2 -0
- package/dist/src/parser/parseStyleString.min.mjs.map +1 -0
- package/dist/src/parser/parseStyleString.mjs +16 -0
- package/dist/src/parser/parseStyleString.mjs.map +1 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +8 -0
- package/dist/src/parser/parseTransformAttribute.d.ts.map +1 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs +2 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs.map +1 -0
- package/dist/src/parser/parseTransformAttribute.mjs +84 -0
- package/dist/src/parser/parseTransformAttribute.mjs.map +1 -0
- package/dist/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist/src/parser/parseUseDirectives.d.ts.map +1 -0
- package/dist/src/parser/parseUseDirectives.min.mjs +2 -0
- package/dist/src/parser/parseUseDirectives.min.mjs.map +1 -0
- package/dist/src/parser/parseUseDirectives.mjs +88 -0
- package/dist/src/parser/parseUseDirectives.mjs.map +1 -0
- package/dist/src/parser/percent.d.ts +9 -0
- package/dist/src/parser/percent.d.ts.map +1 -0
- package/dist/src/parser/percent.min.mjs +2 -0
- package/dist/src/parser/percent.min.mjs.map +1 -0
- package/dist/src/parser/percent.mjs +21 -0
- package/dist/src/parser/percent.mjs.map +1 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +1 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +2 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +1 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs +28 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +1 -0
- package/dist/src/parser/selectorMatches.d.ts +2 -0
- package/dist/src/parser/selectorMatches.d.ts.map +1 -0
- package/dist/src/parser/selectorMatches.min.mjs +2 -0
- package/dist/src/parser/selectorMatches.min.mjs.map +1 -0
- package/dist/src/parser/selectorMatches.mjs +26 -0
- package/dist/src/parser/selectorMatches.mjs.map +1 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts.map +1 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs +2 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +1 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs +38 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs.map +1 -0
- package/dist/src/parser/typedefs.d.ts +10 -0
- package/dist/src/parser/typedefs.d.ts.map +1 -0
- package/dist/src/shapes/ActiveSelection.d.ts +105 -0
- package/dist/src/shapes/ActiveSelection.d.ts.map +1 -0
- package/dist/src/shapes/ActiveSelection.min.mjs +2 -0
- package/dist/src/shapes/ActiveSelection.min.mjs.map +1 -0
- package/dist/src/shapes/ActiveSelection.mjs +236 -0
- package/dist/src/shapes/ActiveSelection.mjs.map +1 -0
- package/dist/src/shapes/Circle.d.ts +107 -0
- package/dist/src/shapes/Circle.d.ts.map +1 -0
- package/dist/src/shapes/Circle.min.mjs +2 -0
- package/dist/src/shapes/Circle.min.mjs.map +1 -0
- package/dist/src/shapes/Circle.mjs +172 -0
- package/dist/src/shapes/Circle.mjs.map +1 -0
- package/dist/src/shapes/Ellipse.d.ts +82 -0
- package/dist/src/shapes/Ellipse.d.ts.map +1 -0
- package/dist/src/shapes/Ellipse.min.mjs +2 -0
- package/dist/src/shapes/Ellipse.min.mjs.map +1 -0
- package/dist/src/shapes/Ellipse.mjs +138 -0
- package/dist/src/shapes/Ellipse.mjs.map +1 -0
- package/dist/src/shapes/Group.d.ts +301 -0
- package/dist/src/shapes/Group.d.ts.map +1 -0
- package/dist/src/shapes/Group.min.mjs +2 -0
- package/dist/src/shapes/Group.min.mjs.map +1 -0
- package/dist/src/shapes/Group.mjs +601 -0
- package/dist/src/shapes/Group.mjs.map +1 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +2 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +1 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs +347 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +1 -0
- package/dist/src/shapes/IText/IText.d.ts +347 -0
- package/dist/src/shapes/IText/IText.d.ts.map +1 -0
- package/dist/src/shapes/IText/IText.min.mjs +2 -0
- package/dist/src/shapes/IText/IText.min.mjs.map +1 -0
- package/dist/src/shapes/IText/IText.mjs +699 -0
- package/dist/src/shapes/IText/IText.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +321 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs +2 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextBehavior.mjs +989 -0
- package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +63 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +2 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextClickBehavior.mjs +220 -0
- package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +197 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +1 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +2 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs +602 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -0
- package/dist/src/shapes/IText/constants.d.ts +13 -0
- package/dist/src/shapes/IText/constants.d.ts.map +1 -0
- package/dist/src/shapes/IText/constants.min.mjs +2 -0
- package/dist/src/shapes/IText/constants.min.mjs.map +1 -0
- package/dist/src/shapes/IText/constants.mjs +52 -0
- package/dist/src/shapes/IText/constants.mjs.map +1 -0
- package/dist/src/shapes/Image.d.ts +296 -0
- package/dist/src/shapes/Image.d.ts.map +1 -0
- package/dist/src/shapes/Image.min.mjs +2 -0
- package/dist/src/shapes/Image.min.mjs.map +1 -0
- package/dist/src/shapes/Image.mjs +661 -0
- package/dist/src/shapes/Image.mjs.map +1 -0
- package/dist/src/shapes/Line.d.ts +118 -0
- package/dist/src/shapes/Line.d.ts.map +1 -0
- package/dist/src/shapes/Line.min.mjs +2 -0
- package/dist/src/shapes/Line.min.mjs.map +1 -0
- package/dist/src/shapes/Line.mjs +283 -0
- package/dist/src/shapes/Line.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +11 -0
- package/dist/src/shapes/Object/FabricObject.d.ts.map +1 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs +2 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObject.mjs +17 -0
- package/dist/src/shapes/Object/FabricObject.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +72 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +2 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +166 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +317 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs +2 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs +556 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -0
- package/dist/src/shapes/Object/Object.d.ts +716 -0
- package/dist/src/shapes/Object/Object.d.ts.map +1 -0
- package/dist/src/shapes/Object/Object.min.mjs +2 -0
- package/dist/src/shapes/Object/Object.min.mjs.map +1 -0
- package/dist/src/shapes/Object/Object.mjs +1531 -0
- package/dist/src/shapes/Object/Object.mjs.map +1 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +338 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +1 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs +2 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +1 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs +657 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs.map +1 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +8 -0
- package/dist/src/shapes/Object/defaultValues.d.ts.map +1 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs +2 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs.map +1 -0
- package/dist/src/shapes/Object/defaultValues.mjs +81 -0
- package/dist/src/shapes/Object/defaultValues.mjs.map +1 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts +92 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts +37 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts +63 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +62 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +78 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +43 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts +41 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +32 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +63 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/index.d.ts +6 -0
- package/dist/src/shapes/Object/types/index.d.ts.map +1 -0
- package/dist/src/shapes/Path.d.ts +208 -0
- package/dist/src/shapes/Path.d.ts.map +1 -0
- package/dist/src/shapes/Path.min.mjs +2 -0
- package/dist/src/shapes/Path.min.mjs.map +1 -0
- package/dist/src/shapes/Path.mjs +318 -0
- package/dist/src/shapes/Path.mjs.map +1 -0
- package/dist/src/shapes/Polygon.d.ts +7 -0
- package/dist/src/shapes/Polygon.d.ts.map +1 -0
- package/dist/src/shapes/Polygon.min.mjs +2 -0
- package/dist/src/shapes/Polygon.min.mjs.map +1 -0
- package/dist/src/shapes/Polygon.mjs +16 -0
- package/dist/src/shapes/Polygon.mjs.map +1 -0
- package/dist/src/shapes/Polyline.d.ts +149 -0
- package/dist/src/shapes/Polyline.d.ts.map +1 -0
- package/dist/src/shapes/Polyline.min.mjs +2 -0
- package/dist/src/shapes/Polyline.min.mjs.map +1 -0
- package/dist/src/shapes/Polyline.mjs +358 -0
- package/dist/src/shapes/Polyline.mjs.map +1 -0
- package/dist/src/shapes/Rect.d.ts +77 -0
- package/dist/src/shapes/Rect.d.ts.map +1 -0
- package/dist/src/shapes/Rect.min.mjs +2 -0
- package/dist/src/shapes/Rect.min.mjs.map +1 -0
- package/dist/src/shapes/Rect.mjs +151 -0
- package/dist/src/shapes/Rect.mjs.map +1 -0
- package/dist/src/shapes/Text/StyledText.d.ts +126 -0
- package/dist/src/shapes/Text/StyledText.d.ts.map +1 -0
- package/dist/src/shapes/Text/StyledText.min.mjs +2 -0
- package/dist/src/shapes/Text/StyledText.min.mjs.map +1 -0
- package/dist/src/shapes/Text/StyledText.mjs +291 -0
- package/dist/src/shapes/Text/StyledText.mjs.map +1 -0
- package/dist/src/shapes/Text/Text.d.ts +761 -0
- package/dist/src/shapes/Text/Text.d.ts.map +1 -0
- package/dist/src/shapes/Text/Text.min.mjs +2 -0
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -0
- package/dist/src/shapes/Text/Text.mjs +1475 -0
- package/dist/src/shapes/Text/Text.mjs.map +1 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +40 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +2 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs +245 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -0
- package/dist/src/shapes/Text/constants.d.ts +14 -0
- package/dist/src/shapes/Text/constants.d.ts.map +1 -0
- package/dist/src/shapes/Text/constants.min.mjs +2 -0
- package/dist/src/shapes/Text/constants.min.mjs.map +1 -0
- package/dist/src/shapes/Text/constants.mjs +74 -0
- package/dist/src/shapes/Text/constants.mjs.map +1 -0
- package/dist/src/shapes/Textbox.d.ts +233 -0
- package/dist/src/shapes/Textbox.d.ts.map +1 -0
- package/dist/src/shapes/Textbox.min.mjs +2 -0
- package/dist/src/shapes/Textbox.min.mjs.map +1 -0
- package/dist/src/shapes/Textbox.mjs +585 -0
- package/dist/src/shapes/Textbox.mjs.map +1 -0
- package/dist/src/shapes/Triangle.d.ts +27 -0
- package/dist/src/shapes/Triangle.d.ts.map +1 -0
- package/dist/src/shapes/Triangle.min.mjs +2 -0
- package/dist/src/shapes/Triangle.min.mjs.map +1 -0
- package/dist/src/shapes/Triangle.mjs +60 -0
- package/dist/src/shapes/Triangle.mjs.map +1 -0
- package/dist/src/text/browserLines.d.ts +42 -0
- package/dist/src/text/browserLines.d.ts.map +1 -0
- package/dist/src/text/browserLines.min.mjs +2 -0
- package/dist/src/text/browserLines.min.mjs.map +1 -0
- package/dist/src/text/browserLines.mjs +168 -0
- package/dist/src/text/browserLines.mjs.map +1 -0
- package/dist/src/text/ellipsis.d.ts +47 -0
- package/dist/src/text/ellipsis.d.ts.map +1 -0
- package/dist/src/text/ellipsis.min.mjs +2 -0
- package/dist/src/text/ellipsis.min.mjs.map +1 -0
- package/dist/src/text/ellipsis.mjs +182 -0
- package/dist/src/text/ellipsis.mjs.map +1 -0
- package/dist/src/text/hitTest.d.ts +82 -0
- package/dist/src/text/hitTest.d.ts.map +1 -0
- package/dist/src/text/hitTest.min.mjs +2 -0
- package/dist/src/text/hitTest.min.mjs.map +1 -0
- package/dist/src/text/hitTest.mjs +309 -0
- package/dist/src/text/hitTest.mjs.map +1 -0
- package/dist/src/text/layout.d.ts +66 -0
- package/dist/src/text/layout.d.ts.map +1 -0
- package/dist/src/text/layout.min.mjs +2 -0
- package/dist/src/text/layout.min.mjs.map +1 -0
- package/dist/src/text/layout.mjs +454 -0
- package/dist/src/text/layout.mjs.map +1 -0
- package/dist/src/text/measure.d.ts +131 -0
- package/dist/src/text/measure.d.ts.map +1 -0
- package/dist/src/text/measure.min.mjs +2 -0
- package/dist/src/text/measure.min.mjs.map +1 -0
- package/dist/src/text/measure.mjs +316 -0
- package/dist/src/text/measure.mjs.map +1 -0
- package/dist/src/text/overlayEditor.d.ts +113 -0
- package/dist/src/text/overlayEditor.d.ts.map +1 -0
- package/dist/src/text/overlayEditor.min.mjs +2 -0
- package/dist/src/text/overlayEditor.min.mjs.map +1 -0
- package/dist/src/text/overlayEditor.mjs +553 -0
- package/dist/src/text/overlayEditor.mjs.map +1 -0
- package/dist/src/text/unicode.d.ts +106 -0
- package/dist/src/text/unicode.d.ts.map +1 -0
- package/dist/src/text/unicode.min.mjs +2 -0
- package/dist/src/text/unicode.min.mjs.map +1 -0
- package/dist/src/text/unicode.mjs +34 -0
- package/dist/src/text/unicode.mjs.map +1 -0
- package/dist/src/typedefs.d.ts +99 -0
- package/dist/src/typedefs.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist/src/util/animation/AnimationBase.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationBase.min.mjs +2 -0
- package/dist/src/util/animation/AnimationBase.min.mjs.map +1 -0
- package/dist/src/util/animation/AnimationBase.mjs +128 -0
- package/dist/src/util/animation/AnimationBase.mjs.map +1 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +3 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs +2 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +1 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs +11 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs.map +1 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs +2 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs.map +1 -0
- package/dist/src/util/animation/AnimationRegistry.mjs +55 -0
- package/dist/src/util/animation/AnimationRegistry.mjs.map +1 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts.map +1 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs +2 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs.map +1 -0
- package/dist/src/util/animation/ArrayAnimation.mjs +26 -0
- package/dist/src/util/animation/ArrayAnimation.mjs.map +1 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist/src/util/animation/ColorAnimation.d.ts.map +1 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs +2 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs.map +1 -0
- package/dist/src/util/animation/ColorAnimation.mjs +47 -0
- package/dist/src/util/animation/ColorAnimation.mjs.map +1 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist/src/util/animation/ValueAnimation.d.ts.map +1 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs +2 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs.map +1 -0
- package/dist/src/util/animation/ValueAnimation.mjs +26 -0
- package/dist/src/util/animation/ValueAnimation.mjs.map +1 -0
- package/dist/src/util/animation/animate.d.ts +37 -0
- package/dist/src/util/animation/animate.d.ts.map +1 -0
- package/dist/src/util/animation/animate.min.mjs +2 -0
- package/dist/src/util/animation/animate.min.mjs.map +1 -0
- package/dist/src/util/animation/animate.mjs +48 -0
- package/dist/src/util/animation/animate.mjs.map +1 -0
- package/dist/src/util/animation/easing.d.ts +130 -0
- package/dist/src/util/animation/easing.d.ts.map +1 -0
- package/dist/src/util/animation/easing.min.mjs +2 -0
- package/dist/src/util/animation/easing.min.mjs.map +1 -0
- package/dist/src/util/animation/easing.mjs +315 -0
- package/dist/src/util/animation/easing.mjs.map +1 -0
- package/dist/src/util/animation/index.d.ts +3 -0
- package/dist/src/util/animation/index.d.ts.map +1 -0
- package/dist/src/util/animation/types.d.ts +87 -0
- package/dist/src/util/animation/types.d.ts.map +1 -0
- package/dist/src/util/applyMixins.d.ts +8 -0
- package/dist/src/util/applyMixins.d.ts.map +1 -0
- package/dist/src/util/applyMixins.min.mjs +2 -0
- package/dist/src/util/applyMixins.min.mjs.map +1 -0
- package/dist/src/util/applyMixins.mjs +14 -0
- package/dist/src/util/applyMixins.mjs.map +1 -0
- package/dist/src/util/dom_event.d.ts +6 -0
- package/dist/src/util/dom_event.d.ts.map +1 -0
- package/dist/src/util/dom_event.min.mjs +2 -0
- package/dist/src/util/dom_event.min.mjs.map +1 -0
- package/dist/src/util/dom_event.mjs +25 -0
- package/dist/src/util/dom_event.mjs.map +1 -0
- package/dist/src/util/dom_misc.d.ts +12 -0
- package/dist/src/util/dom_misc.d.ts.map +1 -0
- package/dist/src/util/dom_misc.min.mjs +2 -0
- package/dist/src/util/dom_misc.min.mjs.map +1 -0
- package/dist/src/util/dom_misc.mjs +51 -0
- package/dist/src/util/dom_misc.mjs.map +1 -0
- package/dist/src/util/index.d.ts +35 -0
- package/dist/src/util/index.d.ts.map +1 -0
- package/dist/src/util/index.min.mjs +2 -0
- package/dist/src/util/index.min.mjs.map +1 -0
- package/dist/src/util/index.mjs +33 -0
- package/dist/src/util/index.mjs.map +1 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts +11 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts.map +1 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs +2 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +1 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs +17 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs.map +1 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts +2 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +1 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +2 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +1 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs +9 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +1 -0
- 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/console.d.ts +8 -0
- package/dist/src/util/internals/console.d.ts.map +1 -0
- package/dist/src/util/internals/console.min.mjs +2 -0
- package/dist/src/util/internals/console.min.mjs.map +1 -0
- package/dist/src/util/internals/console.mjs +22 -0
- package/dist/src/util/internals/console.mjs.map +1 -0
- package/dist/src/util/internals/dom_style.d.ts +7 -0
- package/dist/src/util/internals/dom_style.d.ts.map +1 -0
- package/dist/src/util/internals/dom_style.min.mjs +2 -0
- package/dist/src/util/internals/dom_style.min.mjs.map +1 -0
- package/dist/src/util/internals/dom_style.mjs +20 -0
- package/dist/src/util/internals/dom_style.mjs.map +1 -0
- package/dist/src/util/internals/findRight.d.ts +2 -0
- package/dist/src/util/internals/findRight.d.ts.map +1 -0
- package/dist/src/util/internals/findRight.min.mjs +2 -0
- package/dist/src/util/internals/findRight.min.mjs.map +1 -0
- package/dist/src/util/internals/findRight.mjs +11 -0
- package/dist/src/util/internals/findRight.mjs.map +1 -0
- package/dist/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist/src/util/internals/getRandomInt.d.ts.map +1 -0
- package/dist/src/util/internals/getRandomInt.min.mjs +2 -0
- package/dist/src/util/internals/getRandomInt.min.mjs.map +1 -0
- package/dist/src/util/internals/getRandomInt.mjs +10 -0
- package/dist/src/util/internals/getRandomInt.mjs.map +1 -0
- package/dist/src/util/internals/ifNaN.d.ts +8 -0
- package/dist/src/util/internals/ifNaN.d.ts.map +1 -0
- package/dist/src/util/internals/ifNaN.min.mjs +2 -0
- package/dist/src/util/internals/ifNaN.min.mjs.map +1 -0
- package/dist/src/util/internals/ifNaN.mjs +12 -0
- package/dist/src/util/internals/ifNaN.mjs.map +1 -0
- package/dist/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist/src/util/internals/removeFromArray.d.ts.map +1 -0
- package/dist/src/util/internals/removeFromArray.min.mjs +2 -0
- package/dist/src/util/internals/removeFromArray.min.mjs.map +1 -0
- package/dist/src/util/internals/removeFromArray.mjs +17 -0
- package/dist/src/util/internals/removeFromArray.mjs.map +1 -0
- package/dist/src/util/internals/uid.d.ts +2 -0
- package/dist/src/util/internals/uid.d.ts.map +1 -0
- package/dist/src/util/internals/uid.min.mjs +2 -0
- package/dist/src/util/internals/uid.min.mjs.map +1 -0
- package/dist/src/util/internals/uid.mjs +5 -0
- package/dist/src/util/internals/uid.mjs.map +1 -0
- package/dist/src/util/lang_string.d.ts +22 -0
- package/dist/src/util/lang_string.d.ts.map +1 -0
- package/dist/src/util/lang_string.min.mjs +2 -0
- package/dist/src/util/lang_string.min.mjs.map +1 -0
- package/dist/src/util/lang_string.mjs +102 -0
- package/dist/src/util/lang_string.mjs.map +1 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +2 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +1 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs +30 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +1 -0
- package/dist/src/util/misc/capValue.d.ts +2 -0
- package/dist/src/util/misc/capValue.d.ts.map +1 -0
- package/dist/src/util/misc/capValue.min.mjs +2 -0
- package/dist/src/util/misc/capValue.min.mjs.map +1 -0
- package/dist/src/util/misc/capValue.mjs +4 -0
- package/dist/src/util/misc/capValue.mjs.map +1 -0
- package/dist/src/util/misc/cos.d.ts +10 -0
- package/dist/src/util/misc/cos.d.ts.map +1 -0
- package/dist/src/util/misc/cos.min.mjs +2 -0
- package/dist/src/util/misc/cos.min.mjs.map +1 -0
- package/dist/src/util/misc/cos.mjs +26 -0
- package/dist/src/util/misc/cos.mjs.map +1 -0
- package/dist/src/util/misc/dom.d.ts +35 -0
- package/dist/src/util/misc/dom.d.ts.map +1 -0
- package/dist/src/util/misc/dom.min.mjs +2 -0
- package/dist/src/util/misc/dom.min.mjs.map +1 -0
- package/dist/src/util/misc/dom.mjs +63 -0
- package/dist/src/util/misc/dom.mjs.map +1 -0
- package/dist/src/util/misc/findScaleTo.d.ts +20 -0
- package/dist/src/util/misc/findScaleTo.d.ts.map +1 -0
- package/dist/src/util/misc/findScaleTo.min.mjs +2 -0
- package/dist/src/util/misc/findScaleTo.min.mjs.map +1 -0
- package/dist/src/util/misc/findScaleTo.mjs +22 -0
- package/dist/src/util/misc/findScaleTo.mjs.map +1 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +10 -0
- package/dist/src/util/misc/groupSVGElements.d.ts.map +1 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs +2 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs.map +1 -0
- package/dist/src/util/misc/groupSVGElements.mjs +17 -0
- package/dist/src/util/misc/groupSVGElements.mjs.map +1 -0
- package/dist/src/util/misc/isTransparent.d.ts +11 -0
- package/dist/src/util/misc/isTransparent.d.ts.map +1 -0
- package/dist/src/util/misc/isTransparent.min.mjs +2 -0
- package/dist/src/util/misc/isTransparent.min.mjs.map +1 -0
- package/dist/src/util/misc/isTransparent.mjs +28 -0
- package/dist/src/util/misc/isTransparent.mjs.map +1 -0
- package/dist/src/util/misc/matrix.d.ts +170 -0
- package/dist/src/util/misc/matrix.d.ts.map +1 -0
- package/dist/src/util/misc/matrix.min.mjs +2 -0
- package/dist/src/util/misc/matrix.min.mjs.map +1 -0
- package/dist/src/util/misc/matrix.mjs +249 -0
- package/dist/src/util/misc/matrix.mjs.map +1 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +22 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts.map +1 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs +2 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs.map +1 -0
- package/dist/src/util/misc/mergeClipPaths.mjs +46 -0
- package/dist/src/util/misc/mergeClipPaths.mjs.map +1 -0
- package/dist/src/util/misc/objectEnlive.d.ts +45 -0
- package/dist/src/util/misc/objectEnlive.d.ts.map +1 -0
- package/dist/src/util/misc/objectEnlive.min.mjs +2 -0
- package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -0
- package/dist/src/util/misc/objectEnlive.mjs +145 -0
- package/dist/src/util/misc/objectEnlive.mjs.map +1 -0
- package/dist/src/util/misc/objectTransforms.d.ts +62 -0
- package/dist/src/util/misc/objectTransforms.d.ts.map +1 -0
- package/dist/src/util/misc/objectTransforms.min.mjs +2 -0
- package/dist/src/util/misc/objectTransforms.min.mjs.map +1 -0
- package/dist/src/util/misc/objectTransforms.mjs +105 -0
- package/dist/src/util/misc/objectTransforms.mjs.map +1 -0
- package/dist/src/util/misc/pick.d.ts +9 -0
- package/dist/src/util/misc/pick.d.ts.map +1 -0
- package/dist/src/util/misc/pick.min.mjs +2 -0
- package/dist/src/util/misc/pick.min.mjs.map +1 -0
- package/dist/src/util/misc/pick.mjs +26 -0
- package/dist/src/util/misc/pick.mjs.map +1 -0
- package/dist/src/util/misc/planeChange.d.ts +64 -0
- package/dist/src/util/misc/planeChange.d.ts.map +1 -0
- package/dist/src/util/misc/planeChange.min.mjs +2 -0
- package/dist/src/util/misc/planeChange.min.mjs.map +1 -0
- package/dist/src/util/misc/planeChange.mjs +86 -0
- package/dist/src/util/misc/planeChange.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +52 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +111 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +90 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +230 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +27 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +44 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +12 -0
- package/dist/src/util/misc/projectStroke/index.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/index.mjs +60 -0
- package/dist/src/util/misc/projectStroke/index.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist/src/util/misc/projectStroke/types.d.ts.map +1 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +1 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs +2 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +1 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs +18 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs.map +1 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist/src/util/misc/resolveOrigin.d.ts.map +1 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs +2 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs.map +1 -0
- package/dist/src/util/misc/resolveOrigin.mjs +18 -0
- package/dist/src/util/misc/resolveOrigin.mjs.map +1 -0
- package/dist/src/util/misc/sin.d.ts +10 -0
- package/dist/src/util/misc/sin.d.ts.map +1 -0
- package/dist/src/util/misc/sin.min.mjs +2 -0
- package/dist/src/util/misc/sin.min.mjs.map +1 -0
- package/dist/src/util/misc/sin.mjs +28 -0
- package/dist/src/util/misc/sin.mjs.map +1 -0
- package/dist/src/util/misc/svgExport.d.ts +8 -0
- package/dist/src/util/misc/svgExport.d.ts.map +1 -0
- package/dist/src/util/misc/svgExport.min.mjs +2 -0
- package/dist/src/util/misc/svgExport.min.mjs.map +1 -0
- package/dist/src/util/misc/svgExport.mjs +12 -0
- package/dist/src/util/misc/svgExport.mjs.map +1 -0
- package/dist/src/util/misc/svgParsing.d.ts +40 -0
- package/dist/src/util/misc/svgParsing.d.ts.map +1 -0
- package/dist/src/util/misc/svgParsing.min.mjs +2 -0
- package/dist/src/util/misc/svgParsing.min.mjs.map +1 -0
- package/dist/src/util/misc/svgParsing.mjs +128 -0
- package/dist/src/util/misc/svgParsing.mjs.map +1 -0
- package/dist/src/util/misc/textStyles.d.ts +32 -0
- package/dist/src/util/misc/textStyles.d.ts.map +1 -0
- package/dist/src/util/misc/textStyles.min.mjs +2 -0
- package/dist/src/util/misc/textStyles.min.mjs.map +1 -0
- package/dist/src/util/misc/textStyles.mjs +107 -0
- package/dist/src/util/misc/textStyles.mjs.map +1 -0
- package/dist/src/util/misc/toFixed.d.ts +8 -0
- package/dist/src/util/misc/toFixed.d.ts.map +1 -0
- package/dist/src/util/misc/toFixed.min.mjs +2 -0
- package/dist/src/util/misc/toFixed.min.mjs.map +1 -0
- package/dist/src/util/misc/toFixed.mjs +10 -0
- package/dist/src/util/misc/toFixed.mjs.map +1 -0
- package/dist/src/util/misc/vectors.d.ts +72 -0
- package/dist/src/util/misc/vectors.d.ts.map +1 -0
- package/dist/src/util/misc/vectors.min.mjs +2 -0
- package/dist/src/util/misc/vectors.min.mjs.map +1 -0
- package/dist/src/util/misc/vectors.mjs +94 -0
- package/dist/src/util/misc/vectors.mjs.map +1 -0
- package/dist/src/util/path/index.d.ts +95 -0
- package/dist/src/util/path/index.d.ts.map +1 -0
- package/dist/src/util/path/index.min.mjs +2 -0
- package/dist/src/util/path/index.min.mjs.map +1 -0
- package/dist/src/util/path/index.mjs +826 -0
- package/dist/src/util/path/index.mjs.map +1 -0
- package/dist/src/util/path/regex.d.ts +3 -0
- package/dist/src/util/path/regex.d.ts.map +1 -0
- package/dist/src/util/path/regex.min.mjs +2 -0
- package/dist/src/util/path/regex.min.mjs.map +1 -0
- package/dist/src/util/path/regex.mjs +49 -0
- package/dist/src/util/path/regex.mjs.map +1 -0
- package/dist/src/util/path/typechecks.d.ts +24 -0
- package/dist/src/util/path/typechecks.d.ts.map +1 -0
- package/dist/src/util/path/typedefs.d.ts +222 -0
- package/dist/src/util/path/typedefs.d.ts.map +1 -0
- package/dist/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist/src/util/transform_matrix_removal.d.ts.map +1 -0
- package/dist/src/util/transform_matrix_removal.min.mjs +2 -0
- package/dist/src/util/transform_matrix_removal.min.mjs.map +1 -0
- package/dist/src/util/transform_matrix_removal.mjs +55 -0
- package/dist/src/util/transform_matrix_removal.mjs.map +1 -0
- package/dist/src/util/typeAssertions.d.ts +13 -0
- package/dist/src/util/typeAssertions.d.ts.map +1 -0
- package/dist/src/util/typeAssertions.min.mjs +2 -0
- package/dist/src/util/typeAssertions.min.mjs.map +1 -0
- package/dist/src/util/typeAssertions.mjs +21 -0
- package/dist/src/util/typeAssertions.mjs.map +1 -0
- 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/data_updaters/gradient/index.mjs +54 -0
- package/dist-extensions/data_updaters/gradient/index.mjs.map +1 -0
- package/dist-extensions/data_updaters/origins/index.mjs +51 -0
- package/dist-extensions/data_updaters/origins/index.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/data_updaters/gradient/index.d.ts +11 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +1 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts +21 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +1 -0
- package/dist-extensions/extensions/index.d.ts +4 -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 +115 -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 +4 -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 +270 -0
- package/dist-extensions/src/EventTypeDefs.d.ts.map +1 -0
- package/dist-extensions/src/Intersection.d.ts +112 -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 +95 -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 +219 -0
- package/dist-extensions/src/Point.d.ts.map +1 -0
- package/dist-extensions/src/Shadow.d.ts +89 -0
- package/dist-extensions/src/Shadow.d.ts.map +1 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts +94 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts +43 -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 +68 -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 +334 -0
- package/dist-extensions/src/canvas/Canvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts +210 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +1 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +30 -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 +23 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +1 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts +544 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts +596 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +142 -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 +146 -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 +113 -0
- package/dist-extensions/src/config.d.ts.map +1 -0
- package/dist-extensions/src/constants.d.ts +36 -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/changeHeight.d.ts +13 -0
- package/dist-extensions/src/controls/changeHeight.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 +26 -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 +42 -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 +65 -0
- package/dist-extensions/src/filters/BlendColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/BlendImage.d.ts +97 -0
- package/dist-extensions/src/filters/BlendImage.d.ts.map +1 -0
- package/dist-extensions/src/filters/Blur.d.ts +49 -0
- package/dist-extensions/src/filters/Blur.d.ts.map +1 -0
- package/dist-extensions/src/filters/Brightness.d.ts +45 -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 +62 -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 +51 -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 +57 -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 +34 -0
- package/dist-extensions/src/filters/HueRotation.d.ts.map +1 -0
- package/dist-extensions/src/filters/Invert.d.ts +51 -0
- package/dist-extensions/src/filters/Invert.d.ts.map +1 -0
- package/dist-extensions/src/filters/Noise.d.ts +43 -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 +51 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/Resize.d.ts +134 -0
- package/dist-extensions/src/filters/Resize.d.ts.map +1 -0
- package/dist-extensions/src/filters/Saturation.d.ts +45 -0
- package/dist-extensions/src/filters/Saturation.d.ts.map +1 -0
- package/dist-extensions/src/filters/Vibrance.d.ts +45 -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 +142 -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 +42 -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 +17 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +1 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts +18 -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 +7 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +1 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts +8 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts +19 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts +7 -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 +8 -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 +105 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Circle.d.ts +107 -0
- package/dist-extensions/src/shapes/Circle.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts +82 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Group.d.ts +301 -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 +347 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +321 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +63 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +197 -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 +296 -0
- package/dist-extensions/src/shapes/Image.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Line.d.ts +118 -0
- package/dist-extensions/src/shapes/Line.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 +716 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +338 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.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 +92 -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 +62 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +78 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +43 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +41 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +32 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +63 -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 +208 -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 +149 -0
- package/dist-extensions/src/shapes/Polyline.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Rect.d.ts +77 -0
- package/dist-extensions/src/shapes/Rect.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts +126 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts +761 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +40 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts +14 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Textbox.d.ts +233 -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/text/browserLines.d.ts +42 -0
- package/dist-extensions/src/text/browserLines.d.ts.map +1 -0
- package/dist-extensions/src/text/ellipsis.d.ts +47 -0
- package/dist-extensions/src/text/ellipsis.d.ts.map +1 -0
- package/dist-extensions/src/text/hitTest.d.ts +82 -0
- package/dist-extensions/src/text/hitTest.d.ts.map +1 -0
- package/dist-extensions/src/text/layout.d.ts +66 -0
- package/dist-extensions/src/text/layout.d.ts.map +1 -0
- package/dist-extensions/src/text/measure.d.ts +131 -0
- package/dist-extensions/src/text/measure.d.ts.map +1 -0
- package/dist-extensions/src/text/overlayEditor.d.ts +113 -0
- package/dist-extensions/src/text/overlayEditor.d.ts.map +1 -0
- package/dist-extensions/src/text/unicode.d.ts +106 -0
- package/dist-extensions/src/text/unicode.d.ts.map +1 -0
- package/dist-extensions/src/typedefs.d.ts +99 -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/index.d.ts +35 -0
- package/dist-extensions/src/util/index.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +11 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.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_style.d.ts +7 -0
- package/dist-extensions/src/util/internals/dom_style.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 +35 -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 +10 -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 +22 -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/sin.d.ts +10 -0
- package/dist-extensions/src/util/misc/sin.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts +8 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts +40 -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 +3 -0
- package/dist-extensions/src/util/path/regex.d.ts.map +1 -0
- package/dist-extensions/src/util/path/typedefs.d.ts +222 -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/docs/fabric-konva-gap-analysis.md +274 -0
- package/docs/konva-text-behavior-spec.md +265 -0
- package/docs/text-engine-design.md +698 -0
- package/eslint.config.mjs +96 -0
- package/examples/overlay-edit.html +417 -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 +32 -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/data_updaters/README.md +9 -0
- package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +75 -0
- package/extensions/data_updaters/gradient/index.spec.ts +126 -0
- package/extensions/data_updaters/gradient/index.ts +58 -0
- package/extensions/data_updaters/origins/README.md +32 -0
- package/extensions/data_updaters/origins/index.spec.ts +100 -0
- package/extensions/data_updaters/origins/index.ts +71 -0
- package/extensions/index.ts +14 -0
- package/fabric.ts +182 -0
- package/index.node.ts +49 -0
- package/index.ts +1 -0
- package/lib/aligning_guidelines.js +286 -0
- package/lib/centering_guidelines.js +90 -0
- package/lib/event.js +1963 -0
- package/package.json +164 -0
- package/playwright.config.ts +77 -0
- package/playwright.setup.ts +87 -0
- package/publish-next.js +15 -0
- package/publish.js +17 -0
- package/rollup.config.mjs +180 -0
- package/scripts/bench-text.js +592 -0
- package/scripts/build.mjs +49 -0
- package/scripts/buildLock.mjs +115 -0
- package/scripts/buildReporter.mjs +15 -0
- package/scripts/buildStats.mjs +40 -0
- package/scripts/dirname.mjs +14 -0
- package/scripts/git.mjs +36 -0
- package/scripts/index.mjs +201 -0
- package/scripts/sandbox.mjs +149 -0
- package/src/ClassRegistry.spec.ts +91 -0
- package/src/ClassRegistry.ts +62 -0
- package/src/Collection.spec.ts +463 -0
- package/src/Collection.ts +355 -0
- package/src/CommonMethods.ts +62 -0
- package/src/EventTypeDefs.ts +351 -0
- package/src/Intersection.spec.ts +753 -0
- package/src/Intersection.ts +324 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +189 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.ts +54 -0
- package/src/LayoutManager/LayoutManager.spec.ts +866 -0
- package/src/LayoutManager/LayoutManager.ts +358 -0
- package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +74 -0
- package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +21 -0
- package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +27 -0
- package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +109 -0
- package/src/LayoutManager/LayoutStrategies/utils.ts +56 -0
- package/src/LayoutManager/README.md +125 -0
- package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +71 -0
- package/src/LayoutManager/constants.ts +6 -0
- package/src/LayoutManager/index.ts +6 -0
- package/src/LayoutManager/types.ts +149 -0
- package/src/Observable.spec.ts +449 -0
- package/src/Observable.ts +179 -0
- package/src/Pattern/Pattern.spec.ts +190 -0
- package/src/Pattern/Pattern.ts +216 -0
- package/src/Pattern/index.ts +2 -0
- package/src/Pattern/types.ts +20 -0
- package/src/Point.spec.ts +573 -0
- package/src/Point.ts +374 -0
- package/src/Shadow.spec.ts +283 -0
- package/src/Shadow.ts +236 -0
- package/src/__snapshots__/Shadow.spec.ts.snap +27 -0
- package/src/brushes/BaseBrush.spec.ts +17 -0
- package/src/brushes/BaseBrush.ts +154 -0
- package/src/brushes/CircleBrush.test.ts +13 -0
- package/src/brushes/CircleBrush.ts +139 -0
- package/src/brushes/PatternBrush.ts +70 -0
- package/src/brushes/PencilBrush.spec.ts +275 -0
- package/src/brushes/PencilBrush.ts +302 -0
- package/src/brushes/SprayBrush.ts +207 -0
- package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +59 -0
- package/src/brushes/typedefs.ts +18 -0
- package/src/cache.spec.ts +67 -0
- package/src/cache.ts +90 -0
- package/src/canvas/Canvas-dispose.spec.ts +538 -0
- package/src/canvas/Canvas-events.spec.ts +1735 -0
- package/src/canvas/Canvas.spec.ts +2686 -0
- package/src/canvas/Canvas.ts +1560 -0
- package/src/canvas/CanvasOptions.ts +278 -0
- package/src/canvas/DOMManagers/CanvasDOMManager.ts +129 -0
- package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +80 -0
- package/src/canvas/DOMManagers/util.spec.ts +28 -0
- package/src/canvas/DOMManagers/util.ts +85 -0
- package/src/canvas/SelectableCanvas.spec.ts +504 -0
- package/src/canvas/SelectableCanvas.ts +1459 -0
- package/src/canvas/StaticCanvas.spec.ts +2385 -0
- package/src/canvas/StaticCanvas.ts +1480 -0
- package/src/canvas/StaticCanvasOptions.ts +187 -0
- package/src/canvas/TextEditingManager.ts +68 -0
- package/src/canvas/__tests__/SelectableCanvas.spec.ts +62 -0
- package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +743 -0
- package/src/canvas/__tests__/eventData.test.ts +935 -0
- package/src/canvas/canvas_gestures.mixin.ts +208 -0
- package/src/color/Color.ts +333 -0
- package/src/color/color.test.ts +329 -0
- package/src/color/color_map.ts +154 -0
- package/src/color/constants.ts +114 -0
- package/src/color/typedefs.ts +18 -0
- package/src/color/util.ts +93 -0
- package/src/config.ts +158 -0
- package/src/constants.ts +46 -0
- package/src/controls/Control-cursor.spec.ts +65 -0
- package/src/controls/Control-handlers.spec.ts +299 -0
- package/src/controls/Control.spec.ts +70 -0
- package/src/controls/Control.ts +382 -0
- package/src/controls/changeHeight.ts +55 -0
- package/src/controls/changeWidth.test.ts +147 -0
- package/src/controls/changeWidth.ts +55 -0
- package/src/controls/commonControls.ts +112 -0
- package/src/controls/controlRendering.ts +136 -0
- package/src/controls/drag.ts +32 -0
- package/src/controls/fireEvent.ts +18 -0
- package/src/controls/index.ts +23 -0
- package/src/controls/pathControl.spec.ts +77 -0
- package/src/controls/pathControl.ts +293 -0
- package/src/controls/polyControl.spec.ts +51 -0
- package/src/controls/polyControl.ts +131 -0
- package/src/controls/rotate.ts +88 -0
- package/src/controls/scale.test.ts +137 -0
- package/src/controls/scale.ts +288 -0
- package/src/controls/scaleSkew.ts +94 -0
- package/src/controls/skew.ts +251 -0
- package/src/controls/util.ts +162 -0
- package/src/controls/wrapWithFireEvent.ts +34 -0
- package/src/controls/wrapWithFixedAnchor.spec.ts +124 -0
- package/src/controls/wrapWithFixedAnchor.ts +26 -0
- package/src/env/browser.ts +21 -0
- package/src/env/env.spec.ts +47 -0
- package/src/env/index.ts +47 -0
- package/src/env/node.ts +50 -0
- package/src/env/types.ts +16 -0
- package/src/filters/BaseFilter.spec.ts +16 -0
- package/src/filters/BaseFilter.ts +416 -0
- package/src/filters/BlendColor.ts +197 -0
- package/src/filters/BlendImage.ts +220 -0
- package/src/filters/Blur.ts +205 -0
- package/src/filters/Boilerplate.ts +84 -0
- package/src/filters/Brightness.ts +75 -0
- package/src/filters/Canvas2dFilterBackend.ts +68 -0
- package/src/filters/ColorMatrix.spec.ts +39 -0
- package/src/filters/ColorMatrix.ts +141 -0
- package/src/filters/ColorMatrixFilters.ts +84 -0
- package/src/filters/Composed.ts +87 -0
- package/src/filters/Contrast.ts +76 -0
- package/src/filters/Convolute.ts +174 -0
- package/src/filters/FilterBackend.ts +38 -0
- package/src/filters/GLProbes/GLProbe.ts +7 -0
- package/src/filters/GLProbes/NodeGLProbe.ts +15 -0
- package/src/filters/GLProbes/WebGLProbe.ts +49 -0
- package/src/filters/Gamma.ts +119 -0
- package/src/filters/Grayscale.ts +91 -0
- package/src/filters/HueRotation.ts +95 -0
- package/src/filters/Invert.ts +88 -0
- package/src/filters/Noise.ts +76 -0
- package/src/filters/Pixelate.ts +85 -0
- package/src/filters/RemoveColor.ts +121 -0
- package/src/filters/Resize.ts +545 -0
- package/src/filters/Saturation.ts +80 -0
- package/src/filters/Vibrance.ts +82 -0
- package/src/filters/WebGLFilterBackend.spec.ts +50 -0
- package/src/filters/WebGLFilterBackend.ts +416 -0
- package/src/filters/filters.ts +30 -0
- package/src/filters/index.ts +12 -0
- package/src/filters/shaders/baseFilter.ts +17 -0
- package/src/filters/shaders/blendColor.ts +33 -0
- package/src/filters/shaders/blendImage.ts +44 -0
- package/src/filters/shaders/blur.ts +30 -0
- package/src/filters/shaders/brightness.ts +11 -0
- package/src/filters/shaders/colorMatrix.ts +12 -0
- package/src/filters/shaders/constrast.ts +11 -0
- package/src/filters/shaders/convolute.ts +154 -0
- package/src/filters/shaders/gamma.ts +15 -0
- package/src/filters/shaders/grayscale.ts +36 -0
- package/src/filters/shaders/invert.ts +19 -0
- package/src/filters/shaders/noise.ts +16 -0
- package/src/filters/shaders/pixelate.ts +19 -0
- package/src/filters/shaders/removeColor.ts +13 -0
- package/src/filters/shaders/saturation.ts +15 -0
- package/src/filters/shaders/vibrance.ts +16 -0
- package/src/filters/typedefs.ts +81 -0
- package/src/filters/utils.ts +52 -0
- package/src/gradient/Gradient.spec.ts +821 -0
- package/src/gradient/Gradient.ts +404 -0
- package/src/gradient/constants.ts +12 -0
- package/src/gradient/index.ts +2 -0
- package/src/gradient/parser/misc.ts +13 -0
- package/src/gradient/parser/parseColorStops.ts +58 -0
- package/src/gradient/parser/parseCoords.ts +76 -0
- package/src/gradient/typedefs.ts +108 -0
- package/src/mixins/eraser_brush.mixin.ts +869 -0
- package/src/parkinglot/canvas_animation.mixin.ts +120 -0
- package/src/parkinglot/straighten.ts +76 -0
- package/src/parser/applyViewboxTransform.spec.ts +397 -0
- package/src/parser/applyViewboxTransform.ts +174 -0
- package/src/parser/attributes.ts +27 -0
- package/src/parser/constants.spec.ts +36 -0
- package/src/parser/constants.ts +88 -0
- package/src/parser/doesSomeParentMatch.ts +21 -0
- package/src/parser/elementMatchesRule.ts +19 -0
- package/src/parser/elements_parser.ts +230 -0
- package/src/parser/getCSSRules.spec.ts +51 -0
- package/src/parser/getCSSRules.ts +68 -0
- package/src/parser/getGlobalStylesForElement.ts +22 -0
- package/src/parser/getGradientDefs.ts +33 -0
- package/src/parser/getMultipleNodes.ts +19 -0
- package/src/parser/getSvgRegex.ts +3 -0
- package/src/parser/getTagName.ts +1 -0
- package/src/parser/hasInvalidAncestor.ts +20 -0
- package/src/parser/loadSVGFromString.test.ts +75 -0
- package/src/parser/loadSVGFromString.ts +28 -0
- package/src/parser/loadSVGFromURL.ts +42 -0
- package/src/parser/normalizeAttr.ts +5 -0
- package/src/parser/normalizeValue.ts +76 -0
- package/src/parser/parseAttributes.ts +92 -0
- package/src/parser/parseFontDeclaration.ts +43 -0
- package/src/parser/parsePointsAttribute.ts +31 -0
- package/src/parser/parseSVGDocument.ts +93 -0
- package/src/parser/parseStyleAttribute.ts +26 -0
- package/src/parser/parseStyleObject.ts +17 -0
- package/src/parser/parseStyleString.ts +19 -0
- package/src/parser/parseTransformAttribute.ts +92 -0
- package/src/parser/parseUseDirectives.test.ts +115 -0
- package/src/parser/parseUseDirectives.ts +91 -0
- package/src/parser/parser.spec.ts +816 -0
- package/src/parser/percent.ts +27 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +40 -0
- package/src/parser/selectorMatches.ts +26 -0
- package/src/parser/setStrokeFillOpacity.ts +41 -0
- package/src/parser/typedefs.ts +15 -0
- package/src/shapes/ActiveSelection.spec.ts +405 -0
- package/src/shapes/ActiveSelection.ts +254 -0
- package/src/shapes/Circle.spec.ts +307 -0
- package/src/shapes/Circle.ts +257 -0
- package/src/shapes/Ellipse.spec.ts +237 -0
- package/src/shapes/Ellipse.ts +181 -0
- package/src/shapes/Group.spec.ts +1805 -0
- package/src/shapes/Group.ts +717 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +387 -0
- package/src/shapes/IText/IText-click-behavior.spec.ts +443 -0
- package/src/shapes/IText/IText.test.ts +1226 -0
- package/src/shapes/IText/IText.ts +846 -0
- package/src/shapes/IText/ITextBehavior.test.ts +251 -0
- package/src/shapes/IText/ITextBehavior.ts +1177 -0
- package/src/shapes/IText/ITextClickBehavior.ts +254 -0
- package/src/shapes/IText/ITextKeyBehavior.test.ts +348 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +691 -0
- package/src/shapes/IText/__snapshots__/IText.test.ts.snap +50 -0
- package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +1110 -0
- package/src/shapes/IText/constants.ts +65 -0
- package/src/shapes/Image-filters.spec.ts +1904 -0
- package/src/shapes/Image.spec.ts +1043 -0
- package/src/shapes/Image.ts +846 -0
- package/src/shapes/Line.spec.ts +208 -0
- package/src/shapes/Line.ts +288 -0
- package/src/shapes/Object/FabricObject.spec.ts +18 -0
- package/src/shapes/Object/FabricObject.ts +33 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +253 -0
- package/src/shapes/Object/InteractiveObject.spec.ts +70 -0
- package/src/shapes/Object/InteractiveObject.ts +727 -0
- package/src/shapes/Object/Object-clip-path.spec.ts +197 -0
- package/src/shapes/Object/Object-interactivity.spec.ts +833 -0
- package/src/shapes/Object/Object.spec.ts +1873 -0
- package/src/shapes/Object/Object.ts +1941 -0
- package/src/shapes/Object/ObjectGeometry.spec.ts +1149 -0
- package/src/shapes/Object/ObjectGeometry.ts +798 -0
- package/src/shapes/Object/ObjectOrigin.spec.ts +469 -0
- package/src/shapes/Object/ObjectSerialization.spec.ts +63 -0
- package/src/shapes/Object/StackedObject.spec.ts +369 -0
- package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +75 -0
- package/src/shapes/Object/defaultValues.ts +128 -0
- package/src/shapes/Object/types/BaseProps.ts +104 -0
- package/src/shapes/Object/types/BorderProps.ts +40 -0
- package/src/shapes/Object/types/ControlProps.ts +70 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +73 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +88 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +49 -0
- package/src/shapes/Object/types/ObjectProps.ts +51 -0
- package/src/shapes/Object/types/ObjectTransformProps.ts +35 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +70 -0
- package/src/shapes/Object/types/index.ts +7 -0
- package/src/shapes/Path.spec.ts +659 -0
- package/src/shapes/Path.ts +414 -0
- package/src/shapes/Polygon.spec.ts +566 -0
- package/src/shapes/Polygon.ts +15 -0
- package/src/shapes/Polyline.spec.ts +404 -0
- package/src/shapes/Polyline.ts +429 -0
- package/src/shapes/Rect.spec.ts +270 -0
- package/src/shapes/Rect.ts +221 -0
- package/src/shapes/Text/StyledText.spec.ts +61 -0
- package/src/shapes/Text/StyledText.ts +335 -0
- package/src/shapes/Text/Text.spec.ts +1315 -0
- package/src/shapes/Text/Text.ts +2161 -0
- package/src/shapes/Text/TextSVGExportMixin.spec.ts +104 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +384 -0
- package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +225 -0
- package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +53 -0
- package/src/shapes/Text/constants.ts +134 -0
- package/src/shapes/Textbox.spec.ts +975 -0
- package/src/shapes/Textbox.ts +669 -0
- package/src/shapes/Triangle.ts +69 -0
- package/src/shapes/__snapshots__/Image.spec.ts.snap +22 -0
- package/src/shapes/__snapshots__/Textbox.spec.ts.snap +165 -0
- package/src/text/browserLines.ts +234 -0
- package/src/text/ellipsis.ts +517 -0
- package/src/text/hitTest.ts +624 -0
- package/src/text/layout.ts +587 -0
- package/src/text/measure.ts +476 -0
- package/src/text/overlayEditor.ts +637 -0
- package/src/text/unicode.ts +455 -0
- package/src/typedefs.ts +132 -0
- package/src/util/__snapshots__/index.spec.ts.snap +124 -0
- package/src/util/animation/AnimationBase.ts +166 -0
- package/src/util/animation/AnimationFrameProvider.ts +9 -0
- package/src/util/animation/AnimationRegistry.ts +59 -0
- package/src/util/animation/ArrayAnimation.ts +27 -0
- package/src/util/animation/ColorAnimation.ts +74 -0
- package/src/util/animation/ValueAnimation.ts +29 -0
- package/src/util/animation/__snapshots__/animations.spec.ts.snap +2772 -0
- package/src/util/animation/animate.ts +74 -0
- package/src/util/animation/animations.spec.ts +488 -0
- package/src/util/animation/easing.ts +327 -0
- package/src/util/animation/index.ts +2 -0
- package/src/util/animation/types.ts +136 -0
- package/src/util/applyMixins.ts +22 -0
- package/src/util/dom_event.spec.ts +23 -0
- package/src/util/dom_event.ts +29 -0
- package/src/util/dom_misc.ts +55 -0
- package/src/util/index.spec.ts +24 -0
- package/src/util/index.ts +116 -0
- package/src/util/internals/applyCanvasTransform.ts +19 -0
- package/src/util/internals/cleanupSvgAttribute.test.ts +17 -0
- package/src/util/internals/cleanupSvgAttribute.ts +10 -0
- package/src/util/internals/cloneStyles.spec.ts +48 -0
- package/src/util/internals/cloneStyles.ts +12 -0
- package/src/util/internals/console.ts +18 -0
- package/src/util/internals/dom_style.spec.ts +17 -0
- package/src/util/internals/dom_style.ts +16 -0
- package/src/util/internals/findRight.ts +11 -0
- package/src/util/internals/getRandomInt.test.ts +49 -0
- package/src/util/internals/getRandomInt.ts +8 -0
- package/src/util/internals/ifNaN.ts +9 -0
- package/src/util/internals/removeFromArray.spec.ts +30 -0
- package/src/util/internals/removeFromArray.ts +14 -0
- package/src/util/internals/uid.ts +3 -0
- package/src/util/lang_string.spec.ts +51 -0
- package/src/util/lang_string.ts +106 -0
- package/src/util/misc/boundingBoxFromPoints.spec.ts +25 -0
- package/src/util/misc/boundingBoxFromPoints.ts +29 -0
- package/src/util/misc/capValue.spec.ts +22 -0
- package/src/util/misc/capValue.ts +2 -0
- package/src/util/misc/cos.spec.ts +12 -0
- package/src/util/misc/cos.ts +24 -0
- package/src/util/misc/dom.spec.ts +75 -0
- package/src/util/misc/dom.ts +77 -0
- package/src/util/misc/findScaleTo.spec.ts +68 -0
- package/src/util/misc/findScaleTo.ts +29 -0
- package/src/util/misc/groupSVGElements.spec.ts +41 -0
- package/src/util/misc/groupSVGElements.ts +19 -0
- package/src/util/misc/isTransparent.ts +28 -0
- package/src/util/misc/matrix.spec.ts +199 -0
- package/src/util/misc/matrix.ts +323 -0
- package/src/util/misc/mergeClipPaths.spec.ts +109 -0
- package/src/util/misc/mergeClipPaths.ts +39 -0
- package/src/util/misc/objectEnlive.spec.ts +129 -0
- package/src/util/misc/objectEnlive.ts +192 -0
- package/src/util/misc/objectTransforms.spec.ts +67 -0
- package/src/util/misc/objectTransforms.ts +122 -0
- package/src/util/misc/pick.spec.ts +32 -0
- package/src/util/misc/pick.ts +29 -0
- package/src/util/misc/planeChange.spec.ts +102 -0
- package/src/util/misc/planeChange.ts +92 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +148 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +314 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +66 -0
- package/src/util/misc/projectStroke/index.ts +81 -0
- package/src/util/misc/projectStroke/types.ts +24 -0
- package/src/util/misc/radiansDegreesConversion.spec.ts +27 -0
- package/src/util/misc/radiansDegreesConversion.ts +18 -0
- package/src/util/misc/resolveOrigin.ts +22 -0
- package/src/util/misc/sin.ts +26 -0
- package/src/util/misc/svgExport.ts +15 -0
- package/src/util/misc/svgParsing.spec.ts +103 -0
- package/src/util/misc/svgParsing.ts +167 -0
- package/src/util/misc/textStyles.ts +137 -0
- package/src/util/misc/toFixed.spec.ts +26 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.spec.ts +136 -0
- package/src/util/misc/vectors.ts +100 -0
- package/src/util/path/__snapshots__/index.spec.ts.snap +844 -0
- package/src/util/path/index.spec.ts +165 -0
- package/src/util/path/index.ts +1044 -0
- package/src/util/path/regex.ts +46 -0
- package/src/util/path/typechecks.ts +145 -0
- package/src/util/path/typedefs.ts +326 -0
- package/src/util/transform_matrix_removal.ts +61 -0
- package/src/util/typeAssertions.spec.ts +127 -0
- package/src/util/typeAssertions.ts +47 -0
- package/tsconfig-extensions.json +108 -0
- package/tsconfig.json +118 -0
- package/tsconfig.spec.json +24 -0
- package/typedoc.config.json +12 -0
- package/vitest.config.ts +100 -0
- package/vitest.d.ts +32 -0
- package/vitest.env.d.ts +14 -0
- package/vitest.extend.ts +195 -0
- package/vitest.setup.ts +24 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Object.mjs","sources":["../../../../src/shapes/Object/Object.ts"],"sourcesContent":["import { cache } from '../../cache';\nimport { config } from '../../config';\nimport {\n ALIASING_LIMIT,\n CENTER,\n iMatrix,\n LEFT,\n SCALE_X,\n SCALE_Y,\n STROKE,\n FILL,\n TOP,\n VERSION,\n} from '../../constants';\nimport type { ObjectEvents } from '../../EventTypeDefs';\nimport { Point } from '../../Point';\nimport { Shadow } from '../../Shadow';\nimport type {\n TDegree,\n TFiller,\n TSize,\n TCacheCanvasDimensions,\n Abortable,\n TOptions,\n ImageFormat,\n} from '../../typedefs';\nimport { classRegistry } from '../../ClassRegistry';\nimport { runningAnimations } from '../../util/animation/AnimationRegistry';\nimport { capValue } from '../../util/misc/capValue';\nimport {\n createCanvasElement,\n createCanvasElementFor,\n toDataURL,\n toBlob,\n} from '../../util/misc/dom';\nimport { invertTransform, qrDecompose } from '../../util/misc/matrix';\nimport { enlivenObjectEnlivables } from '../../util/misc/objectEnlive';\nimport {\n resetObjectTransform,\n saveObjectTransform,\n} from '../../util/misc/objectTransforms';\nimport { sendObjectToPlane } from '../../util/misc/planeChange';\nimport { pick, pickBy } from '../../util/misc/pick';\nimport { toFixed } from '../../util/misc/toFixed';\nimport type { Group } from '../Group';\nimport { StaticCanvas } from '../../canvas/StaticCanvas';\nimport { isFiller, isSerializableFiller } from '../../util/typeAssertions';\nimport type { FabricImage } from '../Image';\nimport {\n cacheProperties,\n fabricObjectDefaultValues,\n stateProperties,\n} from './defaultValues';\nimport type { Gradient } from '../../gradient/Gradient';\nimport type { Pattern } from '../../Pattern';\nimport type { Canvas } from '../../canvas/Canvas';\nimport type { SerializedObjectProps } from './types/SerializedObjectProps';\nimport type { ObjectProps } from './types/ObjectProps';\nimport { getDevicePixelRatio, getEnv } from '../../env';\nimport { log } from '../../util/internals/console';\nimport type { TColorArg } from '../../color/typedefs';\nimport type { TAnimation } from '../../util/animation/animate';\nimport { animate, animateColor } from '../../util/animation/animate';\nimport type {\n AnimationOptions,\n ArrayAnimationOptions,\n ColorAnimationOptions,\n ValueAnimationOptions,\n} from '../../util/animation/types';\nimport { ObjectGeometry } from './ObjectGeometry';\n\ntype TAncestor = FabricObject;\ntype TCollection = Group;\n\nexport type Ancestors =\n | [FabricObject | Group]\n | [FabricObject | Group, ...Group[]]\n | Group[];\n\nexport type AncestryComparison = {\n /**\n * common ancestors of `this` and`other`(may include`this` | `other`)\n */\n common: Ancestors;\n /**\n * ancestors that are of `this` only\n */\n fork: Ancestors;\n /**\n * ancestors that are of `other` only\n */\n otherFork: Ancestors;\n};\n\nexport type TCachedFabricObject<T extends FabricObject = FabricObject> = T &\n Required<\n Pick<\n T,\n | 'zoomX'\n | 'zoomY'\n | '_cacheCanvas'\n | '_cacheContext'\n | 'cacheTranslationX'\n | 'cacheTranslationY'\n >\n > & {\n _cacheContext: CanvasRenderingContext2D;\n };\n\nexport type ObjectToCanvasElementOptions = {\n format?: ImageFormat;\n /** Multiplier to scale by */\n multiplier?: number;\n /** Cropping left offset. Introduced in v1.2.14 */\n left?: number;\n /** Cropping top offset. Introduced in v1.2.14 */\n top?: number;\n /** Cropping width. Introduced in v1.2.14 */\n width?: number;\n /** Cropping height. Introduced in v1.2.14 */\n height?: number;\n /** Enable retina scaling for clone image. Introduce in 1.6.4 */\n enableRetinaScaling?: boolean;\n /** Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4 */\n withoutTransform?: boolean;\n /** Remove current object shadow. Introduced in 2.4.2 */\n withoutShadow?: boolean;\n /** Account for canvas viewport transform */\n viewportTransform?: boolean;\n /** Function to create the output canvas to export onto */\n canvasProvider?: <T extends StaticCanvas>(el?: HTMLCanvasElement) => T;\n};\n\ntype toDataURLOptions = ObjectToCanvasElementOptions & {\n quality?: number;\n};\n\nexport type DrawContext =\n | {\n parentClipPaths: FabricObject[];\n width: number;\n height: number;\n cacheTranslationX: number;\n cacheTranslationY: number;\n zoomX: number;\n zoomY: number;\n }\n | Record<string, never>;\n\n/**\n * Root object class from which all 2d shape classes inherit from\n * @see {@link http://fabricjs.com/fabric-intro-part-1#objects}\n *\n * @fires added\n * @fires removed\n *\n * @fires selected\n * @fires deselected\n *\n * @fires rotating\n * @fires scaling\n * @fires moving\n * @fires skewing\n * @fires modified\n *\n * @fires mousedown\n * @fires mouseup\n * @fires mouseover\n * @fires mouseout\n * @fires mousewheel\n * @fires mousedblclick\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop\n */\nexport class FabricObject<\n Props extends TOptions<ObjectProps> = Partial<ObjectProps>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n SProps extends SerializedObjectProps = SerializedObjectProps,\n EventSpec extends ObjectEvents = ObjectEvents,\n >\n extends ObjectGeometry<EventSpec>\n implements ObjectProps\n{\n declare minScaleLimit: number;\n\n declare opacity: number;\n\n declare paintFirst: 'fill' | 'stroke';\n declare fill: string | TFiller | null;\n declare fillRule: CanvasFillRule;\n declare stroke: string | TFiller | null;\n declare strokeDashArray: number[] | null;\n declare strokeDashOffset: number;\n declare strokeLineCap: CanvasLineCap;\n declare strokeLineJoin: CanvasLineJoin;\n declare strokeMiterLimit: number;\n\n declare globalCompositeOperation: GlobalCompositeOperation;\n declare backgroundColor: string;\n\n declare shadow: Shadow | null;\n\n declare visible: boolean;\n\n declare includeDefaultValues: boolean;\n declare excludeFromExport: boolean;\n\n declare objectCaching: boolean;\n\n declare clipPath?: FabricObject;\n declare inverted: boolean;\n declare absolutePositioned: boolean;\n declare centeredRotation: boolean;\n declare centeredScaling: boolean;\n\n /**\n * This list of properties is used to check if the state of an object is changed.\n * This state change now is only used for children of groups to understand if a group\n * needs its cache regenerated during a .set call\n * @type Array\n */\n static stateProperties: string[] = stateProperties;\n\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */\n static cacheProperties: string[] = cacheProperties;\n\n /**\n * When set to `true`, object's cache will be rerendered next render call.\n * since 1.7.0\n * @type Boolean\n * @default true\n */\n declare dirty: boolean;\n\n /**\n * Quick access for the _cacheCanvas rendering context\n * This is part of the objectCaching feature\n * since 1.7.0\n * @type boolean\n * @default undefined\n * @private\n */\n _cacheContext: CanvasRenderingContext2D | null = null;\n\n /**\n * A reference to the HTMLCanvasElement that is used to contain the cache of the object\n * this canvas element is resized and cleared as needed\n * Is marked private, you can read it, don't use it since it is handled by fabric\n * since 1.7.0\n * @type HTMLCanvasElement\n * @default undefined\n * @private\n */\n declare _cacheCanvas?: HTMLCanvasElement;\n\n /**\n * zoom level used on the cacheCanvas to draw the cache, X axe\n * since 1.7.0\n * @type number\n * @default undefined\n * @private\n */\n declare zoomX?: number;\n\n /**\n * zoom level used on the cacheCanvas to draw the cache, Y axe\n * since 1.7.0\n * @type number\n * @default undefined\n * @private\n */\n declare zoomY?: number;\n\n /**\n * zoom level used on the cacheCanvas to draw the cache, Y axe\n * since 1.7.0\n * @type number\n * @default undefined\n * @private\n */\n declare cacheTranslationX?: number;\n\n /**\n * translation of the cacheCanvas away from the center, for subpixel accuracy and crispness\n * since 1.7.0\n * @type number\n * @default undefined\n * @private\n */\n declare cacheTranslationY?: number;\n\n /**\n * A reference to the parent of the object, usually a Group\n * @type number\n * @default undefined\n * @private\n */\n declare group?: Group;\n\n /**\n * Indicate if the object is sitting on a cache dedicated to it\n * or is part of a larger cache for many object ( a group for example)\n * @type number\n * @default undefined\n * @private\n */\n declare ownCaching?: boolean;\n\n /**\n * Private. indicates if the object inside a group is on a transformed context or not\n * or is part of a larger cache for many object ( a group for example)\n * @type boolean\n * @default undefined\n * @private\n */\n declare _transformDone?: boolean;\n\n static ownDefaults = fabricObjectDefaultValues;\n\n static getDefaults(): Record<string, any> {\n return FabricObject.ownDefaults;\n }\n\n /**\n * The class type.\n * This is used for serialization and deserialization purposes and internally it can be used\n * to identify classes.\n * When we transform a class in a plain JS object we need a way to recognize which class it was,\n * and the type is the way we do that. It has no other purposes and you should not give one.\n * Hard to reach on instances and please do not use to drive instance's logic (this.constructor.type).\n * To idenfity a class use instanceof class ( instanceof Rect ).\n * We do not do that in fabricJS code because we want to try to have code splitting possible.\n */\n static type = 'FabricObject';\n\n /**\n * Legacy identifier of the class. Prefer using utils like isType or instanceOf\n * Will be removed in fabric 7 or 8.\n * The setter exists to avoid type errors in old code and possibly current deserialization code.\n * DO NOT build new code around this type value\n * @TODO add sustainable warning message\n * @type string\n * @deprecated\n */\n get type() {\n const name = (this.constructor as typeof FabricObject).type;\n if (name === 'FabricObject') {\n return 'object';\n }\n return name.toLowerCase();\n }\n\n set type(value) {\n log('warn', 'Setting type has no effect', value);\n }\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n constructor(options?: Props) {\n super();\n Object.assign(this, FabricObject.ownDefaults);\n this.setOptions(options);\n }\n\n /**\n * Create a the canvas used to keep the cached copy of the object\n * @private\n */\n _createCacheCanvas() {\n this._cacheCanvas = createCanvasElement();\n this._cacheContext = this._cacheCanvas.getContext('2d');\n this._updateCacheCanvas();\n // if canvas gets created, is empty, so dirty.\n this.dirty = true;\n }\n\n /**\n * Limit the cache dimensions so that X * Y do not cross config.perfLimitSizeTotal\n * and each side do not cross fabric.cacheSideLimit\n * those numbers are configurable so that you can get as much detail as you want\n * making bargain with performances.\n * It mutates the input object dims.\n * @param {TCacheCanvasDimensions} dims\n * @return {TCacheCanvasDimensions} dims\n */\n _limitCacheSize(\n dims: TCacheCanvasDimensions & { capped?: boolean },\n ): TCacheCanvasDimensions & { capped?: boolean } {\n const width = dims.width,\n height = dims.height,\n max = config.maxCacheSideLimit,\n min = config.minCacheSideLimit;\n if (\n width <= max &&\n height <= max &&\n width * height <= config.perfLimitSizeTotal\n ) {\n if (width < min) {\n dims.width = min;\n }\n if (height < min) {\n dims.height = min;\n }\n return dims;\n }\n const ar = width / height,\n [limX, limY] = cache.limitDimsByArea(ar),\n x = capValue(min, limX, max),\n y = capValue(min, limY, max);\n if (width > x) {\n dims.zoomX /= width / x;\n dims.width = x;\n dims.capped = true;\n }\n if (height > y) {\n dims.zoomY /= height / y;\n dims.height = y;\n dims.capped = true;\n }\n return dims;\n }\n\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @return {TCacheCanvasDimensions} Informations about the object to be cached\n */\n _getCacheCanvasDimensions(): TCacheCanvasDimensions {\n const objectScale = this.getTotalObjectScaling(),\n // calculate dimensions without skewing\n dim = this._getTransformedDimensions({ skewX: 0, skewY: 0 }),\n neededX = (dim.x * objectScale.x) / this.scaleX,\n neededY = (dim.y * objectScale.y) / this.scaleY;\n return {\n // for sure this ALIASING_LIMIT is slightly creating problem\n // in situation in which the cache canvas gets an upper limit\n // also objectScale contains already scaleX and scaleY\n width: Math.ceil(neededX + ALIASING_LIMIT),\n height: Math.ceil(neededY + ALIASING_LIMIT),\n zoomX: objectScale.x,\n zoomY: objectScale.y,\n x: neededX,\n y: neededY,\n };\n }\n\n /**\n * Update width and height of the canvas for cache\n * returns true or false if canvas needed resize.\n * @private\n * @return {Boolean} true if the canvas has been resized\n */\n _updateCacheCanvas() {\n const canvas = this._cacheCanvas!,\n context = this._cacheContext,\n { width, height, zoomX, zoomY, x, y } = this._limitCacheSize(\n this._getCacheCanvasDimensions(),\n ),\n dimensionsChanged = width !== canvas.width || height !== canvas.height,\n zoomChanged = this.zoomX !== zoomX || this.zoomY !== zoomY;\n\n if (!canvas || !context) {\n return false;\n }\n\n const shouldRedraw = dimensionsChanged || zoomChanged;\n\n if (shouldRedraw) {\n if (width !== canvas.width || height !== canvas.height) {\n canvas.width = width;\n canvas.height = height;\n } else {\n context.setTransform(1, 0, 0, 1, 0, 0);\n context.clearRect(0, 0, canvas.width, canvas.height);\n }\n const drawingWidth = x / 2;\n const drawingHeight = y / 2;\n this.cacheTranslationX =\n Math.round(canvas.width / 2 - drawingWidth) + drawingWidth;\n this.cacheTranslationY =\n Math.round(canvas.height / 2 - drawingHeight) + drawingHeight;\n context.translate(this.cacheTranslationX, this.cacheTranslationY);\n context.scale(zoomX, zoomY);\n this.zoomX = zoomX;\n this.zoomY = zoomY;\n return true;\n }\n return false;\n }\n\n /**\n * Sets object's properties from options, for class constructor only.\n * Needs to be overridden for different defaults.\n * @protected\n * @param {Object} [options] Options object\n */\n protected setOptions(options: Record<string, any> = {}) {\n this._setOptions(options);\n }\n\n /**\n * Transforms context when rendering an object\n * @param {CanvasRenderingContext2D} ctx Context\n */\n transform(ctx: CanvasRenderingContext2D) {\n const needFullTransform =\n (this.group && !this.group._transformDone) ||\n (this.group && this.canvas && ctx === (this.canvas as Canvas).contextTop);\n const m = this.calcTransformMatrix(!needFullTransform);\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n\n /**\n * Return the object scale factor counting also the group scaling\n * @return {Point}\n */\n getObjectScaling() {\n // if the object is a top level one, on the canvas, we go for simple aritmetic\n // otherwise the complex method with angles will return approximations and decimals\n // and will likely kill the cache when not needed\n // https://github.com/fabricjs/fabric.js/issues/7157\n if (!this.group) {\n return new Point(Math.abs(this.scaleX), Math.abs(this.scaleY));\n }\n // if we are inside a group total zoom calculation is complex, we defer to generic matrices\n const options = qrDecompose(this.calcTransformMatrix());\n return new Point(Math.abs(options.scaleX), Math.abs(options.scaleY));\n }\n\n /**\n * Return the object scale factor counting also the group scaling, zoom and retina\n * @return {Object} object with scaleX and scaleY properties\n */\n getTotalObjectScaling() {\n const scale = this.getObjectScaling();\n if (this.canvas) {\n const zoom = this.canvas.getZoom();\n const retina = this.getCanvasRetinaScaling();\n return scale.scalarMultiply(zoom * retina);\n }\n return scale;\n }\n\n /**\n * Return the object opacity counting also the group property\n * @return {Number}\n */\n getObjectOpacity() {\n let opacity = this.opacity;\n if (this.group) {\n opacity *= this.group.getObjectOpacity();\n }\n return opacity;\n }\n\n /**\n * Makes sure the scale is valid and modifies it if necessary\n * @todo: this is a control action issue, not a geometry one\n * @private\n * @param {Number} value, unconstrained\n * @return {Number} constrained value;\n */\n _constrainScale(value: number): number {\n if (Math.abs(value) < this.minScaleLimit) {\n if (value < 0) {\n return -this.minScaleLimit;\n } else {\n return this.minScaleLimit;\n }\n } else if (value === 0) {\n return 0.0001;\n }\n return value;\n }\n\n /**\n * Handles setting values on the instance and handling internal side effects\n * @protected\n * @param {String} key\n * @param {*} value\n */\n _set(key: string, value: any) {\n if (key === SCALE_X || key === SCALE_Y) {\n value = this._constrainScale(value);\n }\n if (key === SCALE_X && value < 0) {\n this.flipX = !this.flipX;\n value *= -1;\n } else if (key === 'scaleY' && value < 0) {\n this.flipY = !this.flipY;\n value *= -1;\n // i don't like this automatic initialization here\n } else if (key === 'shadow' && value && !(value instanceof Shadow)) {\n value = new Shadow(value);\n }\n\n const isChanged = this[key as keyof this] !== value;\n this[key as keyof this] = value;\n\n // invalidate caches\n if (\n isChanged &&\n (this.constructor as typeof FabricObject).cacheProperties.includes(key)\n ) {\n this.dirty = true;\n }\n // a dirty child makes the parent dirty.\n // but a non dirty child does not make the parent not dirty.\n // the parent could be dirty for some other reason.\n this.parent &&\n (this.dirty ||\n (isChanged &&\n (this.constructor as typeof FabricObject).stateProperties.includes(\n key,\n ))) &&\n this.parent._set('dirty', true);\n\n return this;\n }\n\n /**\n * return if the object would be visible in rendering\n * @return {Boolean}\n */\n isNotVisible() {\n return (\n this.opacity === 0 ||\n (!this.width && !this.height && this.strokeWidth === 0) ||\n !this.visible\n );\n }\n\n /**\n * Renders an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n render(ctx: CanvasRenderingContext2D) {\n // do not render if width/height are zeros or object is not visible\n if (this.isNotVisible()) {\n return;\n }\n if (\n this.canvas &&\n this.canvas.skipOffscreen &&\n !this.group &&\n !this.isOnScreen()\n ) {\n return;\n }\n ctx.save();\n this._setupCompositeOperation(ctx);\n this.drawSelectionBackground(ctx);\n this.transform(ctx);\n this._setOpacity(ctx);\n this._setShadow(ctx);\n if (this.shouldCache()) {\n (this as TCachedFabricObject).renderCache();\n (this as TCachedFabricObject).drawCacheOnCanvas(ctx);\n } else {\n this._removeCacheCanvas();\n this.drawObject(ctx, false, {});\n this.dirty = false;\n }\n ctx.restore();\n }\n\n drawSelectionBackground(_ctx: CanvasRenderingContext2D) {\n /* no op */\n }\n\n renderCache(this: TCachedFabricObject, options?: any) {\n options = options || {};\n if (!this._cacheCanvas || !this._cacheContext) {\n this._createCacheCanvas();\n }\n if (this.isCacheDirty() && this._cacheContext) {\n const { zoomX, zoomY, cacheTranslationX, cacheTranslationY } = this;\n const { width, height } = this._cacheCanvas;\n this.drawObject(this._cacheContext, options.forClipping, {\n zoomX,\n zoomY,\n cacheTranslationX,\n cacheTranslationY,\n width,\n height,\n parentClipPaths: [],\n });\n this.dirty = false;\n }\n }\n\n /**\n * Remove cacheCanvas and its dimensions from the objects\n */\n _removeCacheCanvas() {\n this._cacheCanvas = undefined;\n this._cacheContext = null;\n }\n\n /**\n * return true if the object will draw a stroke\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when stroke happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the stroke is invisible.\n * @since 3.0.0\n * @returns Boolean\n */\n hasStroke(): boolean {\n return (\n !!this.stroke && this.stroke !== 'transparent' && this.strokeWidth !== 0\n );\n }\n\n /**\n * return true if the object will draw a fill\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when fill happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the fill is invisible.\n * @since 3.0.0\n * @returns Boolean\n */\n hasFill(): boolean {\n return !!this.fill && this.fill !== 'transparent';\n }\n\n /**\n * When returns `true`, force the object to have its own cache, even if it is inside a group\n * it may be needed when your object behave in a particular way on the cache and always needs\n * its own isolated canvas to render correctly.\n * Created to be overridden\n * since 1.7.12\n * @returns Boolean\n */\n needsItsOwnCache() {\n // TODO re-evaluate this shadow condition\n if (\n this.paintFirst === STROKE &&\n this.hasFill() &&\n this.hasStroke() &&\n !!this.shadow\n ) {\n return true;\n }\n if (this.clipPath) {\n return true;\n }\n return false;\n }\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step.\n * Generally you do not cache objects in groups because the group outside is cached.\n * Read as: cache if is needed, or if the feature is enabled but we are not already caching.\n * @return {Boolean}\n */\n shouldCache() {\n this.ownCaching =\n (this.objectCaching && (!this.parent || !this.parent.isOnACache())) ||\n this.needsItsOwnCache();\n return this.ownCaching;\n }\n\n /**\n * Check if this object will cast a shadow with an offset.\n * used by Group.shouldCache to know if child has a shadow recursively\n * @return {Boolean}\n * @deprecated\n */\n willDrawShadow() {\n return (\n !!this.shadow && (this.shadow.offsetX !== 0 || this.shadow.offsetY !== 0)\n );\n }\n\n /**\n * Execute the drawing operation for an object clipPath\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {FabricObject} clipPath\n */\n drawClipPathOnCache(\n ctx: CanvasRenderingContext2D,\n clipPath: FabricObject,\n canvasWithClipPath: HTMLCanvasElement,\n ) {\n ctx.save();\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4\n if (clipPath.inverted) {\n ctx.globalCompositeOperation = 'destination-out';\n } else {\n ctx.globalCompositeOperation = 'destination-in';\n }\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(canvasWithClipPath, 0, 0);\n ctx.restore();\n }\n\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {boolean} forClipping apply clipping styles\n * @param {DrawContext} context additional context for rendering\n */\n drawObject(\n ctx: CanvasRenderingContext2D,\n forClipping: boolean | undefined,\n context: DrawContext,\n ) {\n const originalFill = this.fill,\n originalStroke = this.stroke;\n if (forClipping) {\n this.fill = 'black';\n this.stroke = '';\n this._setClippingProperties(ctx);\n } else {\n this._renderBackground(ctx);\n }\n this._render(ctx);\n this._drawClipPath(ctx, this.clipPath, context);\n this.fill = originalFill;\n this.stroke = originalStroke;\n }\n\n private createClipPathLayer(\n this: TCachedFabricObject,\n clipPath: FabricObject,\n context: DrawContext,\n ) {\n const canvas = createCanvasElementFor(context as TSize);\n const ctx = canvas.getContext('2d')!;\n ctx.translate(context.cacheTranslationX, context.cacheTranslationY);\n ctx.scale(context.zoomX, context.zoomY);\n clipPath._cacheCanvas = canvas;\n context.parentClipPaths.forEach((prevClipPath) => {\n prevClipPath.transform(ctx);\n });\n context.parentClipPaths.push(clipPath);\n if (clipPath.absolutePositioned) {\n const m = invertTransform(this.calcTransformMatrix());\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n clipPath.transform(ctx);\n clipPath.drawObject(ctx, true, context);\n return canvas;\n }\n\n /**\n * Prepare clipPath state and cache and draw it on instance's cache\n * @param {CanvasRenderingContext2D} ctx\n * @param {FabricObject} clipPath\n */\n _drawClipPath(\n ctx: CanvasRenderingContext2D,\n clipPath: FabricObject | undefined,\n context: DrawContext,\n ) {\n if (!clipPath) {\n return;\n }\n // needed to setup _transformDone\n // TODO find a better solution?\n clipPath._transformDone = true;\n const canvas = (this as TCachedFabricObject).createClipPathLayer(\n clipPath,\n context,\n );\n this.drawClipPathOnCache(ctx, clipPath, canvas);\n }\n\n /**\n * Paint the cached copy of the object on the target context.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawCacheOnCanvas(this: TCachedFabricObject, ctx: CanvasRenderingContext2D) {\n ctx.scale(1 / this.zoomX, 1 / this.zoomY);\n ctx.drawImage(\n this._cacheCanvas,\n -this.cacheTranslationX,\n -this.cacheTranslationY,\n );\n }\n\n /**\n * Check if cache is dirty and if is dirty clear the context.\n * This check has a big side effect, it changes the underlying cache canvas if necessary.\n * Do not call this method on your own to check if the cache is dirty, because if it is,\n * it is also going to wipe the cache. This is badly designed and needs to be fixed.\n * @param {Boolean} skipCanvas skip canvas checks because this object is painted\n * on parent canvas.\n */\n isCacheDirty(skipCanvas = false) {\n if (this.isNotVisible()) {\n return false;\n }\n const canvas = this._cacheCanvas;\n const ctx = this._cacheContext;\n if (canvas && ctx && !skipCanvas && this._updateCacheCanvas()) {\n // in this case the context is already cleared.\n return true;\n } else {\n if (this.dirty || (this.clipPath && this.clipPath.absolutePositioned)) {\n if (canvas && ctx && !skipCanvas) {\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n }\n return true;\n }\n }\n return false;\n }\n\n /**\n * Draws a background for the object big as its untransformed dimensions\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderBackground(ctx: CanvasRenderingContext2D) {\n if (!this.backgroundColor) {\n return;\n }\n const dim = this._getNonTransformedDimensions();\n ctx.fillStyle = this.backgroundColor;\n\n ctx.fillRect(-dim.x / 2, -dim.y / 2, dim.x, dim.y);\n // if there is background color no other shadows\n // should be casted\n this._removeShadow(ctx);\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _setOpacity(ctx: CanvasRenderingContext2D) {\n if (this.group && !this.group._transformDone) {\n ctx.globalAlpha = this.getObjectOpacity();\n } else {\n ctx.globalAlpha *= this.opacity;\n }\n }\n\n _setStrokeStyles(\n ctx: CanvasRenderingContext2D,\n decl: Pick<\n this,\n | 'stroke'\n | 'strokeWidth'\n | 'strokeLineCap'\n | 'strokeDashOffset'\n | 'strokeLineJoin'\n | 'strokeMiterLimit'\n >,\n ) {\n const stroke = decl.stroke;\n if (stroke) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = decl.strokeLineCap;\n ctx.lineDashOffset = decl.strokeDashOffset;\n ctx.lineJoin = decl.strokeLineJoin;\n ctx.miterLimit = decl.strokeMiterLimit;\n if (isFiller(stroke)) {\n if (\n (stroke as Gradient<'linear'>).gradientUnits === 'percentage' ||\n (stroke as Gradient<'linear'>).gradientTransform ||\n (stroke as Pattern).patternTransform\n ) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n this._applyPatternForTransformedGradient(ctx, stroke);\n } else {\n // is a simple gradient or pattern\n ctx.strokeStyle = stroke.toLive(ctx)!;\n this._applyPatternGradientTransform(ctx, stroke);\n }\n } else {\n // is a color\n ctx.strokeStyle = decl.stroke as string;\n }\n }\n }\n\n _setFillStyles(ctx: CanvasRenderingContext2D, { fill }: Pick<this, 'fill'>) {\n if (fill) {\n if (isFiller(fill)) {\n ctx.fillStyle = fill.toLive(ctx)!;\n this._applyPatternGradientTransform(ctx, fill);\n } else {\n ctx.fillStyle = fill;\n }\n }\n }\n\n _setClippingProperties(ctx: CanvasRenderingContext2D) {\n ctx.globalAlpha = 1;\n ctx.strokeStyle = 'transparent';\n ctx.fillStyle = '#000000';\n }\n\n /**\n * @private\n * Sets line dash\n * @param {CanvasRenderingContext2D} ctx Context to set the dash line on\n * @param {Array} dashArray array representing dashes\n */\n _setLineDash(ctx: CanvasRenderingContext2D, dashArray?: number[] | null) {\n if (!dashArray || dashArray.length === 0) {\n return;\n }\n ctx.setLineDash(dashArray);\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _setShadow(ctx: CanvasRenderingContext2D) {\n if (!this.shadow) {\n return;\n }\n\n const shadow = this.shadow,\n canvas = this.canvas,\n retinaScaling = this.getCanvasRetinaScaling(),\n [sx, , , sy] = canvas?.viewportTransform || iMatrix,\n multX = sx * retinaScaling,\n multY = sy * retinaScaling,\n scaling = shadow.nonScaling ? new Point(1, 1) : this.getObjectScaling();\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur =\n (shadow.blur *\n config.browserShadowBlurConstant *\n (multX + multY) *\n (scaling.x + scaling.y)) /\n 4;\n ctx.shadowOffsetX = shadow.offsetX * multX * scaling.x;\n ctx.shadowOffsetY = shadow.offsetY * multY * scaling.y;\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _removeShadow(ctx: CanvasRenderingContext2D) {\n if (!this.shadow) {\n return;\n }\n\n ctx.shadowColor = '';\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {TFiller} filler {@link Pattern} or {@link Gradient}\n */\n _applyPatternGradientTransform(\n ctx: CanvasRenderingContext2D,\n filler: TFiller,\n ) {\n if (!isFiller(filler)) {\n return { offsetX: 0, offsetY: 0 };\n }\n const t =\n (filler as Gradient<'linear'>).gradientTransform ||\n (filler as Pattern).patternTransform;\n const offsetX = -this.width / 2 + filler.offsetX || 0,\n offsetY = -this.height / 2 + filler.offsetY || 0;\n\n if ((filler as Gradient<'linear'>).gradientUnits === 'percentage') {\n ctx.transform(this.width, 0, 0, this.height, offsetX, offsetY);\n } else {\n ctx.transform(1, 0, 0, 1, offsetX, offsetY);\n }\n if (t) {\n ctx.transform(t[0], t[1], t[2], t[3], t[4], t[5]);\n }\n return { offsetX: offsetX, offsetY: offsetY };\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderPaintInOrder(ctx: CanvasRenderingContext2D) {\n if (this.paintFirst === STROKE) {\n this._renderStroke(ctx);\n this._renderFill(ctx);\n } else {\n this._renderFill(ctx);\n this._renderStroke(ctx);\n }\n }\n\n /**\n * @private\n * function that actually render something on the context.\n * empty here to allow Obects to work on tests to benchmark fabric functionalites\n * not related to rendering\n * @param {CanvasRenderingContext2D} _ctx Context to render on\n */\n _render(_ctx: CanvasRenderingContext2D) {\n // placeholder to be overridden\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderFill(ctx: CanvasRenderingContext2D) {\n if (!this.fill) {\n return;\n }\n\n ctx.save();\n this._setFillStyles(ctx, this);\n if (this.fillRule === 'evenodd') {\n ctx.fill('evenodd');\n } else {\n ctx.fill();\n }\n ctx.restore();\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderStroke(ctx: CanvasRenderingContext2D) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n\n ctx.save();\n if (this.strokeUniform) {\n const scaling = this.getObjectScaling();\n ctx.scale(1 / scaling.x, 1 / scaling.y);\n }\n this._setLineDash(ctx, this.strokeDashArray);\n this._setStrokeStyles(ctx, this);\n ctx.stroke();\n ctx.restore();\n }\n\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Gradient} filler\n */\n _applyPatternForTransformedGradient(\n ctx: CanvasRenderingContext2D,\n filler: TFiller,\n ) {\n const dims = this._limitCacheSize(this._getCacheCanvasDimensions()),\n retinaScaling = this.getCanvasRetinaScaling(),\n width = dims.x / this.scaleX / retinaScaling,\n height = dims.y / this.scaleY / retinaScaling,\n pCanvas = createCanvasElementFor({\n // in case width and height are less than 1px, we have to round up.\n // since the pattern is no-repeat, this is fine\n width: Math.ceil(width),\n height: Math.ceil(height),\n });\n\n const pCtx = pCanvas.getContext('2d');\n if (!pCtx) {\n return;\n }\n pCtx.beginPath();\n pCtx.moveTo(0, 0);\n pCtx.lineTo(width, 0);\n pCtx.lineTo(width, height);\n pCtx.lineTo(0, height);\n pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.scale(\n dims.zoomX / this.scaleX / retinaScaling,\n dims.zoomY / this.scaleY / retinaScaling,\n );\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fillStyle = filler.toLive(ctx)!;\n pCtx.fill();\n ctx.translate(\n -this.width / 2 - this.strokeWidth / 2,\n -this.height / 2 - this.strokeWidth / 2,\n );\n ctx.scale(\n (retinaScaling * this.scaleX) / dims.zoomX,\n (retinaScaling * this.scaleY) / dims.zoomY,\n );\n ctx.strokeStyle = pCtx.createPattern(pCanvas, 'no-repeat') ?? '';\n }\n\n /**\n * This function is an helper for svg import. it returns the center of the object in the svg\n * untransformed coordinates\n * @private\n * @return {Point} center point from element coordinates\n */\n _findCenterFromElement() {\n return new Point(this.left + this.width / 2, this.top + this.height / 2);\n }\n\n /**\n * Clones an instance.\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @returns {Promise<FabricObject>}\n */\n clone(propertiesToInclude?: string[]): Promise<this> {\n const objectForm = this.toObject(propertiesToInclude);\n return (this.constructor as typeof FabricObject).fromObject(\n objectForm,\n ) as unknown as Promise<this>;\n }\n\n /**\n * Creates an instance of Image out of an object\n * makes use of toCanvasElement.\n * Once this method was based on toDataUrl and loadImage, so it also had a quality\n * and format option. toCanvasElement is faster and produce no loss of quality.\n * If you need to get a real Jpeg or Png from an object, using toDataURL is the right way to do it.\n * toCanvasElement and then toBlob from the obtained canvas is also a good option.\n * @todo fix the export type, it could not be Image but the type that getClass return for 'image'.\n * @param {ObjectToCanvasElementOptions} [options] for clone as image, passed to toDataURL\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {FabricImage} Object cloned as image.\n */\n cloneAsImage(options: ObjectToCanvasElementOptions): FabricImage {\n const canvasEl = this.toCanvasElement(options);\n // TODO: how to import Image w/o an import cycle?\n const ImageClass = classRegistry.getClass<typeof FabricImage>('image');\n return new ImageClass(canvasEl);\n }\n\n /**\n * Converts an object into a HTMLCanvas element\n * @param {ObjectToCanvasElementOptions} options Options object\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @param {Boolean} [options.viewportTransform] Account for canvas viewport transform\n * @param {(el?: HTMLCanvasElement) => StaticCanvas} [options.canvasProvider] Create the output canvas\n * @return {HTMLCanvasElement} Returns DOM element <canvas> with the FabricObject\n */\n toCanvasElement(options: ObjectToCanvasElementOptions = {}) {\n const origParams = saveObjectTransform(this),\n originalGroup = this.group,\n originalShadow = this.shadow,\n abs = Math.abs,\n retinaScaling = options.enableRetinaScaling ? getDevicePixelRatio() : 1,\n multiplier = (options.multiplier || 1) * retinaScaling,\n canvasProvider: (el: HTMLCanvasElement) => StaticCanvas =\n options.canvasProvider ||\n ((el: HTMLCanvasElement) =>\n new StaticCanvas(el, {\n enableRetinaScaling: false,\n renderOnAddRemove: false,\n skipOffscreen: false,\n }));\n delete this.group;\n if (options.withoutTransform) {\n resetObjectTransform(this);\n }\n if (options.withoutShadow) {\n this.shadow = null;\n }\n if (options.viewportTransform) {\n sendObjectToPlane(this, this.getViewportTransform());\n }\n\n this.setCoords();\n const el = createCanvasElement(),\n boundingRect = this.getBoundingRect(),\n shadow = this.shadow,\n shadowOffset = new Point();\n\n if (shadow) {\n const shadowBlur = shadow.blur;\n const scaling = shadow.nonScaling\n ? new Point(1, 1)\n : this.getObjectScaling();\n // consider non scaling shadow.\n shadowOffset.x =\n 2 * Math.round(abs(shadow.offsetX) + shadowBlur) * abs(scaling.x);\n shadowOffset.y =\n 2 * Math.round(abs(shadow.offsetY) + shadowBlur) * abs(scaling.y);\n }\n const width = boundingRect.width + shadowOffset.x,\n height = boundingRect.height + shadowOffset.y;\n // if the current width/height is not an integer\n // we need to make it so.\n el.width = Math.ceil(width);\n el.height = Math.ceil(height);\n const canvas = canvasProvider(el);\n if (options.format === 'jpeg') {\n canvas.backgroundColor = '#fff';\n }\n this.setPositionByOrigin(\n new Point(canvas.width / 2, canvas.height / 2),\n CENTER,\n CENTER,\n );\n const originalCanvas = this.canvas;\n // static canvas and canvas have both an array of InteractiveObjects\n // @ts-expect-error this needs to be fixed somehow, or ignored globally\n canvas._objects = [this];\n this.set('canvas', canvas);\n this.setCoords();\n const canvasEl = canvas.toCanvasElement(multiplier || 1, options);\n this.set('canvas', originalCanvas);\n this.shadow = originalShadow;\n if (originalGroup) {\n this.group = originalGroup;\n }\n this.set(origParams);\n this.setCoords();\n // canvas.dispose will call image.dispose that will nullify the elements\n // since this canvas is a simple element for the process, we remove references\n // to objects in this way in order to avoid object trashing.\n canvas._objects = [];\n // since render has settled it is safe to destroy canvas\n canvas.destroy();\n return canvasEl;\n }\n\n /**\n * Converts an object into a data-url-like string\n * @param {Object} options Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n */\n toDataURL(options: toDataURLOptions = {}) {\n return toDataURL(\n this.toCanvasElement(options),\n options.format || 'png',\n options.quality || 1,\n );\n }\n toBlob(options: toDataURLOptions = {}) {\n return toBlob(\n this.toCanvasElement(options),\n options.format || 'png',\n options.quality || 1,\n );\n }\n\n /**\n * Checks if the instance is of any of the specified types.\n * We use this to filter a list of objects for the `getObjects` function.\n *\n * For detecting an instance type `instanceOf` is a better check,\n * but to avoid to make specific classes a dependency of generic code\n * internally we use this.\n *\n * This compares both the static class `type` and the instance's own `type` property\n * against the provided list of types.\n *\n * @param types - A list of type strings to check against.\n * @returns `true` if the object's type or class type matches any in the list, otherwise `false`.\n */\n isType(...types: string[]) {\n return (\n types.includes((this.constructor as typeof FabricObject).type) ||\n types.includes(this.type)\n );\n }\n\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance (is 1 unless subclassed)\n */\n complexity() {\n return 1;\n }\n\n /**\n * Returns a JSON representation of an instance\n * @return {Object} JSON\n */\n toJSON() {\n // delegate, not alias\n return this.toObject();\n }\n\n /**\n * Sets \"angle\" of an instance with centered rotation\n * @param {TDegree} angle Angle value (in degrees)\n */\n rotate(angle: TDegree) {\n const { centeredRotation, originX, originY } = this;\n\n if (centeredRotation) {\n const { x, y } = this.getRelativeCenterPoint();\n this.originX = CENTER;\n this.originY = CENTER;\n this.left = x;\n this.top = y;\n }\n\n this.set('angle', angle);\n\n if (centeredRotation) {\n const { x, y } = this.translateToOriginPoint(\n this.getRelativeCenterPoint(),\n originX,\n originY,\n );\n this.left = x;\n this.top = y;\n this.originX = originX;\n this.originY = originY;\n }\n }\n\n /**\n * This callback function is called by the parent group of an object every\n * time a non-delegated property changes on the group. It is passed the key\n * and value as parameters. Not adding in this function's signature to avoid\n * Travis build error about unused variables.\n */\n setOnGroup() {\n // implemented by sub-classes, as needed.\n }\n\n /**\n * Sets canvas globalCompositeOperation for specific object\n * custom composition operation for the particular object can be specified using globalCompositeOperation property\n * @param {CanvasRenderingContext2D} ctx Rendering canvas context\n */\n _setupCompositeOperation(ctx: CanvasRenderingContext2D) {\n if (this.globalCompositeOperation) {\n ctx.globalCompositeOperation = this.globalCompositeOperation;\n }\n }\n\n /**\n * cancel instance's running animations\n * override if necessary to dispose artifacts such as `clipPath`\n */\n dispose() {\n runningAnimations.cancelByTarget(this);\n this.off();\n this._set('canvas', undefined);\n // clear caches\n this._cacheCanvas && getEnv().dispose(this._cacheCanvas);\n this._cacheCanvas = undefined;\n this._cacheContext = null;\n }\n\n // #region Animation methods\n /**\n * List of properties to consider for animating colors.\n * @type String[]\n */\n static colorProperties: string[] = [FILL, STROKE, 'backgroundColor'];\n\n /**\n * Animates object's properties\n * @param {Record<string, number | number[] | TColorArg>} animatable map of keys and end values\n * @param {Partial<AnimationOptions<T>>} options\n * @see {@link http://fabricjs.com/fabric-intro-part-2#animation}\n * @return {Record<string, TAnimation<T>>} map of animation contexts\n *\n * As object — multiple properties\n *\n * object.animate({ left: ..., top: ... });\n * object.animate({ left: ..., top: ... }, { duration: ... });\n */\n animate<T extends number | number[] | TColorArg>(\n animatable: Record<string, T>,\n options?: Partial<AnimationOptions<T>>,\n ): Record<string, TAnimation<T>> {\n return Object.entries(animatable).reduce(\n (acc, [key, endValue]) => {\n acc[key] = this._animate(key, endValue, options);\n return acc;\n },\n {} as Record<string, TAnimation<T>>,\n );\n }\n\n /**\n * @private\n * @param {String} key Property to animate\n * @param {String} to Value to animate to\n * @param {Object} [options] Options object\n */\n _animate<T extends number | number[] | TColorArg>(\n key: string,\n endValue: T,\n options: Partial<AnimationOptions<T>> = {},\n ): TAnimation<T> {\n const path = key.split('.');\n const propIsColor = (\n this.constructor as typeof FabricObject\n ).colorProperties.includes(path[path.length - 1]);\n const { abort, startValue, onChange, onComplete } = options;\n const animationOptions = {\n ...options,\n target: this,\n // path.reduce... is the current value in case start value isn't provided\n startValue:\n startValue ?? path.reduce((deep: any, key) => deep[key], this),\n endValue,\n abort: abort?.bind(this),\n onChange: (\n value: number | number[] | string,\n valueProgress: number,\n durationProgress: number,\n ) => {\n path.reduce((deep: Record<string, any>, key, index) => {\n if (index === path.length - 1) {\n deep[key] = value;\n }\n return deep[key];\n }, this);\n onChange &&\n // @ts-expect-error generic callback arg0 is wrong\n onChange(value, valueProgress, durationProgress);\n },\n onComplete: (\n value: number | number[] | string,\n valueProgress: number,\n durationProgress: number,\n ) => {\n this.setCoords();\n onComplete &&\n // @ts-expect-error generic callback arg0 is wrong\n onComplete(value, valueProgress, durationProgress);\n },\n } as AnimationOptions<T>;\n\n return (\n propIsColor\n ? animateColor(animationOptions as ColorAnimationOptions)\n : animate(\n animationOptions as ValueAnimationOptions | ArrayAnimationOptions,\n )\n ) as TAnimation<T>;\n }\n\n // #region Object stacking methods\n\n /**\n * A reference to the parent of the object\n * Used to keep the original parent ref when the object has been added to an ActiveSelection, hence loosing the `group` ref\n */\n declare parent?: Group;\n\n /**\n * Checks if object is descendant of target\n * Should be used instead of {@link Group.contains} or {@link StaticCanvas.contains} for performance reasons\n * @param {TAncestor} target\n * @returns {boolean}\n */\n isDescendantOf(target: TAncestor): boolean {\n const { parent, group } = this;\n return (\n parent === target ||\n group === target ||\n // walk up\n (!!parent && parent.isDescendantOf(target)) ||\n (!!group && group !== parent && group.isDescendantOf(target))\n );\n }\n\n /**\n * @returns {Ancestors} ancestors (excluding `ActiveSelection`) from bottom to top\n */\n getAncestors(): Ancestors {\n const ancestors: TAncestor[] = [];\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let parent: TAncestor | undefined = this;\n do {\n parent = parent.parent;\n parent && ancestors.push(parent);\n } while (parent);\n return ancestors as Ancestors;\n }\n\n /**\n * Compare ancestors\n *\n * @param {StackedObject} other\n * @returns {AncestryComparison} an object that represent the ancestry situation.\n */\n findCommonAncestors<T extends this>(other: T): AncestryComparison {\n if (this === other) {\n return {\n fork: [],\n otherFork: [],\n common: [this, ...this.getAncestors()],\n } as AncestryComparison;\n }\n const ancestors = this.getAncestors();\n const otherAncestors = other.getAncestors();\n // if `this` has no ancestors and `this` is top ancestor of `other` we must handle the following case\n if (\n ancestors.length === 0 &&\n otherAncestors.length > 0 &&\n this === otherAncestors[otherAncestors.length - 1]\n ) {\n return {\n fork: [],\n otherFork: [\n other,\n ...otherAncestors.slice(0, otherAncestors.length - 1),\n ],\n common: [this],\n } as AncestryComparison;\n }\n // compare ancestors\n for (let i = 0, ancestor; i < ancestors.length; i++) {\n ancestor = ancestors[i];\n if (ancestor === other) {\n return {\n fork: [this, ...ancestors.slice(0, i)],\n otherFork: [],\n common: ancestors.slice(i),\n } as AncestryComparison;\n }\n for (let j = 0; j < otherAncestors.length; j++) {\n if (this === otherAncestors[j]) {\n return {\n fork: [],\n otherFork: [other, ...otherAncestors.slice(0, j)],\n common: [this, ...ancestors],\n } as AncestryComparison;\n }\n if (ancestor === otherAncestors[j]) {\n return {\n fork: [this, ...ancestors.slice(0, i)],\n otherFork: [other, ...otherAncestors.slice(0, j)],\n common: ancestors.slice(i),\n } as AncestryComparison;\n }\n }\n }\n // nothing shared\n return {\n fork: [this, ...ancestors],\n otherFork: [other, ...otherAncestors],\n common: [],\n } as AncestryComparison;\n }\n\n /**\n *\n * @param {StackedObject} other\n * @returns {boolean}\n */\n hasCommonAncestors<T extends this>(other: T): boolean {\n const commonAncestors = this.findCommonAncestors(other);\n return commonAncestors && !!commonAncestors.common.length;\n }\n\n /**\n *\n * @param {FabricObject} other object to compare against\n * @returns {boolean | undefined} if objects do not share a common ancestor or they are strictly equal it is impossible to determine which is in front of the other; in such cases the function returns `undefined`\n */\n isInFrontOf<T extends this>(other: T): boolean | undefined {\n if (this === other) {\n return undefined;\n }\n const ancestorData = this.findCommonAncestors(other);\n\n if (ancestorData.fork.includes(other as any)) {\n return true;\n }\n if (ancestorData.otherFork.includes(this as any)) {\n return false;\n }\n // if there isn't a common ancestor, we take the canvas.\n // if there is no canvas, there is nothing to compare\n const firstCommonAncestor = ancestorData.common[0] || this.canvas;\n if (!firstCommonAncestor) {\n return undefined;\n }\n const headOfFork = ancestorData.fork.pop(),\n headOfOtherFork = ancestorData.otherFork.pop(),\n thisIndex = (firstCommonAncestor as TCollection)._objects.indexOf(\n headOfFork as any,\n ),\n otherIndex = (firstCommonAncestor as TCollection)._objects.indexOf(\n headOfOtherFork as any,\n );\n return thisIndex > -1 && thisIndex > otherIndex;\n }\n\n // #region Serialization\n /**\n * Define a list of custom properties that will be serialized when\n * instance.toObject() gets called\n */\n static customProperties: string[] = [];\n\n /**\n * Returns an object representation of an instance\n * @param {string[]} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject(propertiesToInclude: any[] = []): any {\n const propertiesToSerialize = propertiesToInclude.concat(\n FabricObject.customProperties,\n (this.constructor as typeof FabricObject).customProperties || [],\n );\n let clipPathData: Partial<SerializedObjectProps> | undefined;\n const NUM_FRACTION_DIGITS = config.NUM_FRACTION_DIGITS;\n const {\n clipPath,\n fill,\n stroke,\n shadow,\n strokeDashArray,\n left,\n top,\n originX,\n originY,\n width,\n height,\n strokeWidth,\n strokeLineCap,\n strokeDashOffset,\n strokeLineJoin,\n strokeUniform,\n strokeMiterLimit,\n scaleX,\n scaleY,\n angle,\n flipX,\n flipY,\n opacity,\n visible,\n backgroundColor,\n fillRule,\n paintFirst,\n globalCompositeOperation,\n skewX,\n skewY,\n } = this;\n if (clipPath && !clipPath.excludeFromExport) {\n clipPathData = clipPath.toObject(\n propertiesToSerialize.concat('inverted', 'absolutePositioned'),\n );\n }\n const toFixedBound = (val: number) => toFixed(val, NUM_FRACTION_DIGITS);\n const object = {\n ...pick(this, propertiesToSerialize as (keyof this)[]),\n type: (this.constructor as typeof FabricObject).type,\n version: VERSION,\n originX,\n originY,\n left: toFixedBound(left),\n top: toFixedBound(top),\n width: toFixedBound(width),\n height: toFixedBound(height),\n fill: isSerializableFiller(fill) ? fill.toObject() : fill,\n stroke: isSerializableFiller(stroke) ? stroke.toObject() : stroke,\n strokeWidth: toFixedBound(strokeWidth),\n strokeDashArray: strokeDashArray\n ? strokeDashArray.concat()\n : strokeDashArray,\n strokeLineCap,\n strokeDashOffset,\n strokeLineJoin,\n strokeUniform,\n strokeMiterLimit: toFixedBound(strokeMiterLimit),\n scaleX: toFixedBound(scaleX),\n scaleY: toFixedBound(scaleY),\n angle: toFixedBound(angle),\n flipX,\n flipY,\n opacity: toFixedBound(opacity),\n shadow: shadow ? shadow.toObject() : shadow,\n visible,\n backgroundColor,\n fillRule,\n paintFirst,\n globalCompositeOperation,\n skewX: toFixedBound(skewX),\n skewY: toFixedBound(skewY),\n ...(clipPathData ? { clipPath: clipPathData } : null),\n };\n\n return !this.includeDefaultValues\n ? this._removeDefaultValues(object)\n : object;\n }\n\n /**\n * Returns (dataless) object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toDatalessObject(propertiesToInclude?: any[]): any {\n // will be overwritten by subclasses\n return this.toObject(propertiesToInclude);\n }\n\n /**\n * @private\n * @param {Object} object\n */\n _removeDefaultValues<T extends object>(object: T): Partial<T> {\n // getDefaults() ( get from static ownDefaults ) should win over prototype since anyway they get assigned to instance\n // ownDefault vs prototype is swappable only if you change all the fabric objects consistently.\n const defaults = (this.constructor as typeof FabricObject).getDefaults();\n const hasStaticDefaultValues = Object.keys(defaults).length > 0;\n const baseValues = hasStaticDefaultValues\n ? defaults\n : Object.getPrototypeOf(this);\n\n return pickBy(object, (value, key) => {\n if (key === LEFT || key === TOP || key === 'type') {\n return true;\n }\n const baseValue = baseValues[key];\n return (\n value !== baseValue &&\n // basically a check for [] === []\n !(\n Array.isArray(value) &&\n Array.isArray(baseValue) &&\n value.length === 0 &&\n baseValue.length === 0\n )\n );\n });\n }\n\n /**\n * Returns a string representation of an instance\n * @return {String}\n */\n toString() {\n return `#<${(this.constructor as typeof FabricObject).type}>`;\n }\n\n /**\n *\n * @param {Function} klass\n * @param {object} object\n * @param {object} [options]\n * @param {string} [options.extraParam] property to pass as first argument to the constructor\n * @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal\n * @returns {Promise<FabricObject>}\n */\n static _fromObject<S extends FabricObject>(\n { type, ...serializedObjectOptions }: Record<string, unknown>,\n { extraParam, ...options }: Abortable & { extraParam?: string } = {},\n ): Promise<S> {\n return enlivenObjectEnlivables<any>(serializedObjectOptions, options).then(\n (enlivedObjectOptions) => {\n // from the resulting enlived options, extract options.extraParam to arg0\n // to avoid accidental overrides later\n if (extraParam) {\n delete enlivedObjectOptions[extraParam];\n return new this(\n serializedObjectOptions[extraParam],\n // @ts-expect-error different signature\n enlivedObjectOptions,\n );\n } else {\n return new this(enlivedObjectOptions);\n }\n },\n ) as Promise<S>;\n }\n\n /**\n *\n * @param {object} object\n * @param {object} [options]\n * @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal\n * @returns {Promise<FabricObject>}\n */\n static fromObject<T extends TOptions<SerializedObjectProps>>(\n object: T,\n options?: Abortable,\n ) {\n return this._fromObject(object, options);\n }\n}\n\nclassRegistry.setClass(FabricObject);\nclassRegistry.setClass(FabricObject, 'object');\n"],"names":["FabricObject","ObjectGeometry","getDefaults","ownDefaults","type","name","constructor","toLowerCase","value","log","options","_defineProperty","Object","assign","setOptions","_createCacheCanvas","_cacheCanvas","createCanvasElement","_cacheContext","getContext","_updateCacheCanvas","dirty","_limitCacheSize","dims","width","height","max","config","maxCacheSideLimit","min","minCacheSideLimit","perfLimitSizeTotal","ar","limX","limY","cache","limitDimsByArea","x","capValue","y","zoomX","capped","zoomY","_getCacheCanvasDimensions","objectScale","getTotalObjectScaling","dim","_getTransformedDimensions","skewX","skewY","neededX","scaleX","neededY","scaleY","Math","ceil","ALIASING_LIMIT","canvas","context","dimensionsChanged","zoomChanged","shouldRedraw","setTransform","clearRect","drawingWidth","drawingHeight","cacheTranslationX","round","cacheTranslationY","translate","scale","arguments","length","undefined","_setOptions","transform","ctx","needFullTransform","group","_transformDone","contextTop","m","calcTransformMatrix","getObjectScaling","Point","abs","qrDecompose","zoom","getZoom","retina","getCanvasRetinaScaling","scalarMultiply","getObjectOpacity","opacity","_constrainScale","minScaleLimit","_set","key","SCALE_X","SCALE_Y","flipX","flipY","Shadow","isChanged","cacheProperties","includes","parent","stateProperties","isNotVisible","strokeWidth","visible","render","skipOffscreen","isOnScreen","save","_setupCompositeOperation","drawSelectionBackground","_setOpacity","_setShadow","shouldCache","renderCache","drawCacheOnCanvas","_removeCacheCanvas","drawObject","restore","_ctx","isCacheDirty","forClipping","parentClipPaths","hasStroke","stroke","hasFill","fill","needsItsOwnCache","paintFirst","STROKE","shadow","clipPath","ownCaching","objectCaching","isOnACache","willDrawShadow","offsetX","offsetY","drawClipPathOnCache","canvasWithClipPath","inverted","globalCompositeOperation","drawImage","originalFill","originalStroke","_setClippingProperties","_renderBackground","_render","_drawClipPath","createClipPathLayer","createCanvasElementFor","forEach","prevClipPath","push","absolutePositioned","invertTransform","skipCanvas","backgroundColor","_getNonTransformedDimensions","fillStyle","fillRect","_removeShadow","globalAlpha","_setStrokeStyles","decl","lineWidth","lineCap","strokeLineCap","lineDashOffset","strokeDashOffset","lineJoin","strokeLineJoin","miterLimit","strokeMiterLimit","isFiller","gradientUnits","gradientTransform","patternTransform","_applyPatternForTransformedGradient","strokeStyle","toLive","_applyPatternGradientTransform","_setFillStyles","_ref","_setLineDash","dashArray","setLineDash","retinaScaling","sx","sy","viewportTransform","iMatrix","multX","multY","scaling","nonScaling","shadowColor","color","shadowBlur","blur","browserShadowBlurConstant","shadowOffsetX","shadowOffsetY","filler","t","_renderPaintInOrder","_renderStroke","_renderFill","fillRule","affectStroke","strokeUniform","strokeDashArray","_pCtx$createPattern","pCanvas","pCtx","beginPath","moveTo","lineTo","closePath","createPattern","_findCenterFromElement","left","top","clone","propertiesToInclude","objectForm","toObject","fromObject","cloneAsImage","canvasEl","toCanvasElement","ImageClass","classRegistry","getClass","origParams","saveObjectTransform","originalGroup","originalShadow","enableRetinaScaling","getDevicePixelRatio","multiplier","canvasProvider","el","StaticCanvas","renderOnAddRemove","withoutTransform","resetObjectTransform","withoutShadow","sendObjectToPlane","getViewportTransform","setCoords","boundingRect","getBoundingRect","shadowOffset","format","setPositionByOrigin","CENTER","originalCanvas","_objects","set","destroy","toDataURL","quality","toBlob","isType","_len","types","Array","_key","complexity","toJSON","rotate","angle","centeredRotation","originX","originY","getRelativeCenterPoint","translateToOriginPoint","setOnGroup","dispose","runningAnimations","cancelByTarget","off","getEnv","animate","animatable","entries","reduce","acc","_ref2","endValue","_animate","path","split","propIsColor","colorProperties","abort","startValue","onChange","onComplete","animationOptions","target","deep","bind","valueProgress","durationProgress","index","animateColor","isDescendantOf","getAncestors","ancestors","findCommonAncestors","other","fork","otherFork","common","otherAncestors","slice","i","ancestor","j","hasCommonAncestors","commonAncestors","isInFrontOf","ancestorData","firstCommonAncestor","headOfFork","pop","headOfOtherFork","thisIndex","indexOf","otherIndex","propertiesToSerialize","concat","customProperties","clipPathData","NUM_FRACTION_DIGITS","excludeFromExport","toFixedBound","val","toFixed","object","pick","version","VERSION","isSerializableFiller","includeDefaultValues","_removeDefaultValues","toDatalessObject","defaults","hasStaticDefaultValues","keys","baseValues","getPrototypeOf","pickBy","LEFT","TOP","baseValue","isArray","toString","_fromObject","_ref3","serializedObjectOptions","extraParam","enlivenObjectEnlivables","then","enlivedObjectOptions","fabricObjectDefaultValues","FILL","setClass"],"mappings":"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"}
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import type { TBBox, TCornerPoint, TDegree, TMat2D, TOriginX, TOriginY } from '../../typedefs';
|
|
2
|
+
import { Point } from '../../Point';
|
|
3
|
+
import type { Canvas } from '../../canvas/Canvas';
|
|
4
|
+
import type { StaticCanvas } from '../../canvas/StaticCanvas';
|
|
5
|
+
import type { ObjectEvents } from '../../EventTypeDefs';
|
|
6
|
+
import type { ControlProps } from './types/ControlProps';
|
|
7
|
+
import type { Group } from '../Group';
|
|
8
|
+
import { CommonMethods } from '../../CommonMethods';
|
|
9
|
+
import type { BaseProps } from './types/BaseProps';
|
|
10
|
+
import type { FillStrokeProps } from './types/FillStrokeProps';
|
|
11
|
+
type TMatrixCache = {
|
|
12
|
+
key: number[];
|
|
13
|
+
value: TMat2D;
|
|
14
|
+
};
|
|
15
|
+
type TACoords = TCornerPoint;
|
|
16
|
+
export declare class ObjectGeometry<EventSpec extends ObjectEvents = ObjectEvents> extends CommonMethods<EventSpec> implements Pick<ControlProps, 'padding'>, BaseProps, Pick<FillStrokeProps, 'strokeWidth' | 'strokeUniform'> {
|
|
17
|
+
padding: number;
|
|
18
|
+
/**
|
|
19
|
+
* Describe object's corner position in scene coordinates.
|
|
20
|
+
* The coordinates are derived from the following:
|
|
21
|
+
* left, top, width, height, scaleX, scaleY, skewX, skewY, angle, strokeWidth.
|
|
22
|
+
* The coordinates do not depend on viewport changes.
|
|
23
|
+
* The coordinates get updated with {@link setCoords}.
|
|
24
|
+
* You can calculate them without updating with {@link calcACoords()}
|
|
25
|
+
*/
|
|
26
|
+
aCoords: TACoords;
|
|
27
|
+
/**
|
|
28
|
+
* storage cache for object transform matrix
|
|
29
|
+
*/
|
|
30
|
+
ownMatrixCache?: TMatrixCache;
|
|
31
|
+
/**
|
|
32
|
+
* storage cache for object full transform matrix
|
|
33
|
+
*/
|
|
34
|
+
matrixCache?: TMatrixCache;
|
|
35
|
+
/**
|
|
36
|
+
* A Reference of the Canvas where the object is actually added
|
|
37
|
+
* @type StaticCanvas | Canvas;
|
|
38
|
+
* @default undefined
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
canvas?: StaticCanvas | Canvas;
|
|
42
|
+
/**
|
|
43
|
+
* @returns {number} x position according to object's originX property in canvas coordinate plane
|
|
44
|
+
*/
|
|
45
|
+
getX(): number;
|
|
46
|
+
/**
|
|
47
|
+
* @param {number} value x position according to object's originX property in canvas coordinate plane
|
|
48
|
+
*/
|
|
49
|
+
setX(value: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* @returns {number} y position according to object's originY property in canvas coordinate plane
|
|
52
|
+
*/
|
|
53
|
+
getY(): number;
|
|
54
|
+
/**
|
|
55
|
+
* @param {number} value y position according to object's originY property in canvas coordinate plane
|
|
56
|
+
*/
|
|
57
|
+
setY(value: number): void;
|
|
58
|
+
/**
|
|
59
|
+
* @returns {number} x position according to object's originX property in parent's coordinate plane\
|
|
60
|
+
* if parent is canvas then this property is identical to {@link getX}
|
|
61
|
+
*/
|
|
62
|
+
getRelativeX(): number;
|
|
63
|
+
/**
|
|
64
|
+
* @param {number} value x position according to object's originX property in parent's coordinate plane\
|
|
65
|
+
* if parent is canvas then this method is identical to {@link setX}
|
|
66
|
+
*/
|
|
67
|
+
setRelativeX(value: number): void;
|
|
68
|
+
/**
|
|
69
|
+
* @returns {number} y position according to object's originY property in parent's coordinate plane\
|
|
70
|
+
* if parent is canvas then this property is identical to {@link getY}
|
|
71
|
+
*/
|
|
72
|
+
getRelativeY(): number;
|
|
73
|
+
/**
|
|
74
|
+
* @param {number} value y position according to object's originY property in parent's coordinate plane\
|
|
75
|
+
* if parent is canvas then this property is identical to {@link setY}
|
|
76
|
+
*/
|
|
77
|
+
setRelativeY(value: number): void;
|
|
78
|
+
/**
|
|
79
|
+
* @returns {Point} x position according to object's originX originY properties in canvas coordinate plane
|
|
80
|
+
*/
|
|
81
|
+
getXY(): Point;
|
|
82
|
+
/**
|
|
83
|
+
* Set an object position to a particular point, the point is intended in absolute ( canvas ) coordinate.
|
|
84
|
+
* You can specify originX and originY values,
|
|
85
|
+
* that otherwise are the object's current values.
|
|
86
|
+
* @example <caption>Set object's bottom left corner to point (5,5) on canvas</caption>
|
|
87
|
+
* object.setXY(new Point(5, 5), 'left', 'bottom').
|
|
88
|
+
* @param {Point} point position in scene coordinate plane
|
|
89
|
+
* @param {TOriginX} [originX] Horizontal origin: 'left', 'center' or 'right'
|
|
90
|
+
* @param {TOriginY} [originY] Vertical origin: 'top', 'center' or 'bottom'
|
|
91
|
+
*/
|
|
92
|
+
setXY(point: Point, originX?: TOriginX, originY?: TOriginY): void;
|
|
93
|
+
/**
|
|
94
|
+
* @returns {Point} x,y position according to object's originX originY properties in parent's coordinate plane
|
|
95
|
+
*/
|
|
96
|
+
getRelativeXY(): Point;
|
|
97
|
+
/**
|
|
98
|
+
* As {@link setXY}, but in current parent's coordinate plane (the current group if any or the canvas)
|
|
99
|
+
* @param {Point} point position according to object's originX originY properties in parent's coordinate plane
|
|
100
|
+
* @param {TOriginX} [originX] Horizontal origin: 'left', 'center' or 'right'
|
|
101
|
+
* @param {TOriginY} [originY] Vertical origin: 'top', 'center' or 'bottom'
|
|
102
|
+
*/
|
|
103
|
+
setRelativeXY(point: Point, originX?: TOriginX, originY?: TOriginY): void;
|
|
104
|
+
/**
|
|
105
|
+
* @deprecated intermidiate method to be removed, do not use
|
|
106
|
+
*/
|
|
107
|
+
protected isStrokeAccountedForInDimensions(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* @return {Point[]} [tl, tr, br, bl] in the scene plane
|
|
110
|
+
*/
|
|
111
|
+
getCoords(): Point[];
|
|
112
|
+
/**
|
|
113
|
+
* Checks if object intersects with the scene rect formed by tl and br
|
|
114
|
+
*/
|
|
115
|
+
intersectsWithRect(tl: Point, br: Point): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Checks if object intersects with another object
|
|
118
|
+
* @param {Object} other Object to test
|
|
119
|
+
* @return {Boolean} true if object intersects with another object
|
|
120
|
+
*/
|
|
121
|
+
intersectsWithObject(other: ObjectGeometry): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Checks if object is fully contained within area of another object
|
|
124
|
+
* @param {Object} other Object to test
|
|
125
|
+
* @return {Boolean} true if object is fully contained within area of another object
|
|
126
|
+
*/
|
|
127
|
+
isContainedWithinObject(other: ObjectGeometry): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Checks if object is fully contained within the scene rect formed by tl and br
|
|
130
|
+
*/
|
|
131
|
+
isContainedWithinRect(tl: Point, br: Point): boolean;
|
|
132
|
+
isOverlapping<T extends ObjectGeometry>(other: T): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Checks if point is inside the object
|
|
135
|
+
* @param {Point} point Point to check against
|
|
136
|
+
* @return {Boolean} true if point is inside the object
|
|
137
|
+
*/
|
|
138
|
+
containsPoint(point: Point): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Checks if object is contained within the canvas with current viewportTransform
|
|
141
|
+
* the check is done stopping at first point that appears on screen
|
|
142
|
+
* @return {Boolean} true if object is fully or partially contained within canvas
|
|
143
|
+
*/
|
|
144
|
+
isOnScreen(): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Checks if object is partially contained within the canvas with current viewportTransform
|
|
147
|
+
* @return {Boolean} true if object is partially contained within canvas
|
|
148
|
+
*/
|
|
149
|
+
isPartiallyOnScreen(): boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Returns coordinates of object's bounding rectangle (left, top, width, height)
|
|
152
|
+
* the box is intended as aligned to axis of canvas.
|
|
153
|
+
* @return {Object} Object with left, top, width, height properties
|
|
154
|
+
*/
|
|
155
|
+
getBoundingRect(): TBBox;
|
|
156
|
+
/**
|
|
157
|
+
* Returns width of an object's bounding box counting transformations
|
|
158
|
+
* @todo shouldn't this account for group transform and return the actual size in canvas coordinate plane?
|
|
159
|
+
* @return {Number} width value
|
|
160
|
+
*/
|
|
161
|
+
getScaledWidth(): number;
|
|
162
|
+
/**
|
|
163
|
+
* Returns height of an object bounding box counting transformations
|
|
164
|
+
* @todo shouldn't this account for group transform and return the actual size in canvas coordinate plane?
|
|
165
|
+
* @return {Number} height value
|
|
166
|
+
*/
|
|
167
|
+
getScaledHeight(): number;
|
|
168
|
+
/**
|
|
169
|
+
* Scales an object (equally by x and y)
|
|
170
|
+
* @param {Number} value Scale factor
|
|
171
|
+
* @return {void}
|
|
172
|
+
*/
|
|
173
|
+
scale(value: number): void;
|
|
174
|
+
/**
|
|
175
|
+
* Scales an object to a given width, with respect to bounding box (scaling by x/y equally)
|
|
176
|
+
* @param {Number} value New width value
|
|
177
|
+
* @return {void}
|
|
178
|
+
*/
|
|
179
|
+
scaleToWidth(value: number): void;
|
|
180
|
+
/**
|
|
181
|
+
* Scales an object to a given height, with respect to bounding box (scaling by x/y equally)
|
|
182
|
+
* @param {Number} value New height value
|
|
183
|
+
* @return {void}
|
|
184
|
+
*/
|
|
185
|
+
scaleToHeight(value: number): void;
|
|
186
|
+
getCanvasRetinaScaling(): number;
|
|
187
|
+
/**
|
|
188
|
+
* Returns the object angle relative to canvas counting also the group property
|
|
189
|
+
* @returns {TDegree}
|
|
190
|
+
*/
|
|
191
|
+
getTotalAngle(): TDegree;
|
|
192
|
+
/**
|
|
193
|
+
* Retrieves viewportTransform from Object's canvas if available
|
|
194
|
+
* @return {TMat2D}
|
|
195
|
+
*/
|
|
196
|
+
getViewportTransform(): TMat2D;
|
|
197
|
+
/**
|
|
198
|
+
* Calculates the coordinates of the 4 corner of the bbox, in absolute coordinates.
|
|
199
|
+
* those never change with zoom or viewport changes.
|
|
200
|
+
* @return {TCornerPoint}
|
|
201
|
+
*/
|
|
202
|
+
calcACoords(): TCornerPoint;
|
|
203
|
+
/**
|
|
204
|
+
* Sets corner and controls position coordinates based on current angle, width and height, left and top.
|
|
205
|
+
* aCoords are used to quickly find an object on the canvas.
|
|
206
|
+
* See {@link https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords} and {@link http://fabricjs.com/fabric-gotchas}
|
|
207
|
+
*/
|
|
208
|
+
setCoords(): void;
|
|
209
|
+
transformMatrixKey(skipGroup?: boolean): number[];
|
|
210
|
+
/**
|
|
211
|
+
* calculate transform matrix that represents the current transformations from the
|
|
212
|
+
* object's properties.
|
|
213
|
+
* @param {Boolean} [skipGroup] return transform matrix for object not counting parent transformations
|
|
214
|
+
* There are some situation in which this is useful to avoid the fake rotation.
|
|
215
|
+
* @return {TMat2D} transform matrix for the object
|
|
216
|
+
*/
|
|
217
|
+
calcTransformMatrix(skipGroup?: boolean): TMat2D;
|
|
218
|
+
/**
|
|
219
|
+
* calculate transform matrix that represents the current transformations from the
|
|
220
|
+
* object's properties, this matrix does not include the group transformation
|
|
221
|
+
* @return {TMat2D} transform matrix for the object
|
|
222
|
+
*/
|
|
223
|
+
calcOwnMatrix(): TMat2D;
|
|
224
|
+
/**
|
|
225
|
+
* Calculate object dimensions from its properties
|
|
226
|
+
* @private
|
|
227
|
+
* @returns {Point} dimensions
|
|
228
|
+
*/
|
|
229
|
+
_getNonTransformedDimensions(): Point;
|
|
230
|
+
/**
|
|
231
|
+
* Calculate object dimensions for controls box, including padding and canvas zoom.
|
|
232
|
+
* and active selection
|
|
233
|
+
* @private
|
|
234
|
+
* @param {object} [options] transform options
|
|
235
|
+
* @returns {Point} dimensions
|
|
236
|
+
*/
|
|
237
|
+
_calculateCurrentDimensions(options?: any): Point;
|
|
238
|
+
top: number;
|
|
239
|
+
left: number;
|
|
240
|
+
width: number;
|
|
241
|
+
height: number;
|
|
242
|
+
flipX: boolean;
|
|
243
|
+
flipY: boolean;
|
|
244
|
+
scaleX: number;
|
|
245
|
+
scaleY: number;
|
|
246
|
+
skewX: number;
|
|
247
|
+
skewY: number;
|
|
248
|
+
/**
|
|
249
|
+
* @deprecated please use 'center' as value in new projects
|
|
250
|
+
* */
|
|
251
|
+
originX: TOriginX;
|
|
252
|
+
/**
|
|
253
|
+
* @deprecated please use 'center' as value in new projects
|
|
254
|
+
* */
|
|
255
|
+
originY: TOriginY;
|
|
256
|
+
angle: TDegree;
|
|
257
|
+
strokeWidth: number;
|
|
258
|
+
strokeUniform: boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Object containing this object.
|
|
261
|
+
* can influence its size and position
|
|
262
|
+
*/
|
|
263
|
+
group?: Group;
|
|
264
|
+
/**
|
|
265
|
+
* Calculate object bounding box dimensions from its properties scale, skew.
|
|
266
|
+
* This bounding box is aligned with object angle and not with canvas axis or screen.
|
|
267
|
+
* @param {Object} [options]
|
|
268
|
+
* @param {Number} [options.scaleX]
|
|
269
|
+
* @param {Number} [options.scaleY]
|
|
270
|
+
* @param {Number} [options.skewX]
|
|
271
|
+
* @param {Number} [options.skewY]
|
|
272
|
+
* @private
|
|
273
|
+
* @returns {Point} dimensions
|
|
274
|
+
*/
|
|
275
|
+
_getTransformedDimensions(options?: any): Point;
|
|
276
|
+
/**
|
|
277
|
+
* Translates the coordinates from a set of origin to another (based on the object's dimensions)
|
|
278
|
+
* @param {Point} point The point which corresponds to the originX and originY params
|
|
279
|
+
* @param {TOriginX} fromOriginX Horizontal origin: 'left', 'center' or 'right'
|
|
280
|
+
* @param {TOriginY} fromOriginY Vertical origin: 'top', 'center' or 'bottom'
|
|
281
|
+
* @param {TOriginX} toOriginX Horizontal origin: 'left', 'center' or 'right'
|
|
282
|
+
* @param {TOriginY} toOriginY Vertical origin: 'top', 'center' or 'bottom'
|
|
283
|
+
* @return {Point}
|
|
284
|
+
*/
|
|
285
|
+
translateToGivenOrigin(point: Point, fromOriginX: TOriginX, fromOriginY: TOriginY, toOriginX: TOriginX, toOriginY: TOriginY): Point;
|
|
286
|
+
/**
|
|
287
|
+
* Translates the coordinates from origin to center coordinates (based on the object's dimensions)
|
|
288
|
+
* @param {Point} point The point which corresponds to the originX and originY params
|
|
289
|
+
* @param {TOriginX} originX Horizontal origin: 'left', 'center' or 'right'
|
|
290
|
+
* @param {TOriginY} originY Vertical origin: 'top', 'center' or 'bottom'
|
|
291
|
+
* @return {Point}
|
|
292
|
+
*/
|
|
293
|
+
translateToCenterPoint(point: Point, originX: TOriginX, originY: TOriginY): Point;
|
|
294
|
+
/**
|
|
295
|
+
* Translates the coordinates from center to origin coordinates (based on the object's dimensions)
|
|
296
|
+
* @param {Point} center The point which corresponds to center of the object
|
|
297
|
+
* @param {OriginX} originX Horizontal origin: 'left', 'center' or 'right'
|
|
298
|
+
* @param {OriginY} originY Vertical origin: 'top', 'center' or 'bottom'
|
|
299
|
+
* @return {Point}
|
|
300
|
+
*/
|
|
301
|
+
translateToOriginPoint(center: Point, originX: TOriginX, originY: TOriginY): Point;
|
|
302
|
+
/**
|
|
303
|
+
* Returns the center coordinates of the object relative to canvas
|
|
304
|
+
* @return {Point}
|
|
305
|
+
*/
|
|
306
|
+
getCenterPoint(): Point;
|
|
307
|
+
/**
|
|
308
|
+
* Returns the center coordinates of the object relative to it's parent
|
|
309
|
+
* @return {Point}
|
|
310
|
+
*/
|
|
311
|
+
getRelativeCenterPoint(): Point;
|
|
312
|
+
/**
|
|
313
|
+
* Returns the position of the object as if it has a different origin.
|
|
314
|
+
* Take an object that has left, top set to 100, 100 with origin 'left', 'top'.
|
|
315
|
+
* Return the values of left top ( wrapped in a point ) that you would need to keep
|
|
316
|
+
* the same position if origin where different.
|
|
317
|
+
* Alternatively you can use this to also find which point in the parent plane is a specific origin
|
|
318
|
+
* ( where is the bottom right corner of my object? )
|
|
319
|
+
* @param {TOriginX} originX Horizontal origin: 'left', 'center' or 'right'
|
|
320
|
+
* @param {TOriginY} originY Vertical origin: 'top', 'center' or 'bottom'
|
|
321
|
+
* @return {Point}
|
|
322
|
+
*/
|
|
323
|
+
getPointByOrigin(originX: TOriginX, originY: TOriginY): Point;
|
|
324
|
+
/**
|
|
325
|
+
* Sets the position of the object taking into consideration the object's origin
|
|
326
|
+
* @param {Point} pos The new position of the object
|
|
327
|
+
* @param {TOriginX} originX Horizontal origin: 'left', 'center' or 'right'
|
|
328
|
+
* @param {TOriginY} originY Vertical origin: 'top', 'center' or 'bottom'
|
|
329
|
+
* @return {void}
|
|
330
|
+
*/
|
|
331
|
+
setPositionByOrigin(pos: Point, originX: TOriginX, originY: TOriginY): void;
|
|
332
|
+
/**
|
|
333
|
+
* @private
|
|
334
|
+
*/
|
|
335
|
+
_getLeftTopCoords(): Point;
|
|
336
|
+
}
|
|
337
|
+
export {};
|
|
338
|
+
//# sourceMappingURL=ObjectGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectGeometry.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Object/ObjectGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAYpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAItC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,KAAK,YAAY,GAAG;IAClB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,QAAQ,GAAG,YAAY,CAAC;AAE7B,qBAAa,cAAc,CAAC,SAAS,SAAS,YAAY,GAAG,YAAY,CACvE,SAAQ,aAAa,CAAC,SAAS,CAC/B,YACE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,EAC7B,SAAS,EACT,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,eAAe,CAAC;IAIhD,OAAO,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;IACK,OAAO,EAAE,QAAQ,CAAC;IAE1B;;OAEG;IACK,cAAc,CAAC,EAAE,YAAY,CAAC;IAEtC;;OAEG;IACK,WAAW,CAAC,EAAE,YAAY,CAAC;IAEnC;;;;;OAKG;IACK,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAEvC;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM;IAIlB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM;IAIlB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B;;OAEG;IACH,KAAK,IAAI,KAAK;IAOd;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ;IAU1D;;OAEG;IACH,aAAa,IAAI,KAAK;IAItB;;;;;OAKG;IACH,aAAa,CACX,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,QAAuB,EAChC,OAAO,GAAE,QAAuB;IAKlC;;OAEG;IACH,SAAS,CAAC,gCAAgC;IAI1C;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;IAWpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO;IASjD;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAcpD;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO;IAKvD;;OAEG;IACH,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO;IAUpD,aAAa,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAQ1D;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIpC;;;;OAIG;IACH,UAAU,IAAI,OAAO;IA0BrB;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAiB9B;;;;OAIG;IACH,eAAe,IAAI,KAAK;IAIxB;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;IAO1B;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM;IAO3B,sBAAsB;IAItB;;;OAGG;IACH,aAAa,IAAI,OAAO;IAMxB;;;OAGG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;;;OAIG;IACH,WAAW,IAAI,YAAY;IAiB3B;;;;OAIG;IACH,SAAS,IAAI,IAAI;IAIjB,kBAAkB,CAAC,SAAS,UAAQ,GAAG,MAAM,EAAE;IAyB/C;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,UAAQ,GAAG,MAAM;IAuB9C;;;;OAIG;IACH,aAAa,IAAI,MAAM;IA0BvB;;;;OAIG;IACH,4BAA4B,IAAI,KAAK;IAIrC;;;;;;OAMG;IACH,2BAA2B,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,KAAK;IAQzC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACtB;;SAEK;IACG,OAAO,EAAE,QAAQ,CAAC;IAC1B;;SAEK;IACG,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACK,KAAK,CAAC,EAAE,KAAK,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,yBAAyB,CAAC,OAAO,GAAE,GAAQ,GAAG,KAAK;IA4CnD;;;;;;;;OAQG;IACH,sBAAsB,CACpB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,QAAQ,EACrB,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,QAAQ,GAClB,KAAK;IAeR;;;;;;OAMG;IACH,sBAAsB,CACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,GAChB,KAAK;IAiBR;;;;;;OAMG;IACH,sBAAsB,CACpB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,GAChB,KAAK;IAcR;;;OAGG;IACH,cAAc,IAAI,KAAK;IAOvB;;;OAGG;IACH,sBAAsB,IAAI,KAAK;IAQ/B;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK;IAQ7D;;;;;;OAMG;IACH,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAUpE;;OAEG;IACH,iBAAiB;CAOlB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{SCALE_X as t,SCALE_Y as i,iMatrix as e,CENTER as s,LEFT as n,TOP as r}from"../../constants.min.mjs";import{Intersection as o}from"../../Intersection.min.mjs";import{Point as h}from"../../Point.min.mjs";import{makeBoundingBoxFromPoints as a}from"../../util/misc/boundingBoxFromPoints.min.mjs";import{transformPoint as l,invertTransform as c,calcPlaneRotation as g,createRotateMatrix as m,multiplyTransformMatrices as d,composeMatrix as u,calcDimensionsMatrix as f,createTranslateMatrix as p}from"../../util/misc/matrix.min.mjs";import{radiansToDegrees as v,degreesToRadians as C}from"../../util/misc/radiansDegreesConversion.min.mjs";import{resolveOrigin as x}from"../../util/misc/resolveOrigin.min.mjs";import{sizeAfterTransform as y}from"../../util/misc/objectTransforms.min.mjs";import{CommonMethods as X}from"../../CommonMethods.min.mjs";class Y extends X{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?l(t,this.group.calcTransformMatrix()):t}setXY(t,i,e){this.group&&(t=l(t,c(this.group.calcTransformMatrix()))),this.setRelativeXY(t,i,e)}getRelativeXY(){return new h(this.left,this.top)}setRelativeXY(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(t,i,e)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:i,br:e,bl:s}=this.aCoords||(this.aCoords=this.calcACoords()),n=[t,i,e,s];if(this.group){const t=this.group.calcTransformMatrix();return n.map(i=>l(i,t))}return n}intersectsWithRect(t,i){return"Intersection"===o.intersectPolygonRectangle(this.getCoords(),t,i).status}intersectsWithObject(t){const i=o.intersectPolygonPolygon(this.getCoords(),t.getCoords());return"Intersection"===i.status||"Coincident"===i.status||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every(i=>t.containsPoint(i))}isContainedWithinRect(t,i){const{left:e,top:s,width:n,height:r}=this.getBoundingRect();return e>=t.x&&e+n<=i.x&&s>=t.y&&s+r<=i.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return o.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:i}=this.canvas.vptCoords;return!!this.getCoords().some(e=>e.x<=i.x&&e.x>=t.x&&e.y<=i.y&&e.y>=t.y)||(!!this.intersectsWithRect(t,i)||this.containsPoint(t.midPointFrom(i)))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:i}=this.canvas.vptCoords;if(this.intersectsWithRect(t,i))return!0;return this.getCoords().every(e=>(e.x>=i.x||e.x<=t.x)&&(e.y>=i.y||e.y<=t.y))&&this.containsPoint(t.midPointFrom(i))}getBoundingRect(){return a(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(e){this._set(t,e),this._set(i,e),this.setCoords()}scaleToWidth(t){const i=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/i)}scaleToHeight(t){const i=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/i)}getCanvasRetinaScaling(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?v(g(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.viewportTransform)||e.concat()}calcACoords(){const t=m({angle:this.angle}),{x:i,y:e}=this.getRelativeCenterPoint(),s=p(i,e),n=d(s,t),r=this._getTransformedDimensions(),o=r.x/2,h=r.y/2;return{tl:l({x:-o,y:-h},n),tr:l({x:o,y:-h},n),bl:l({x:-o,y:h},n),br:l({x:o,y:h},n)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=[];return!t&&this.group&&(i=this.group.transformMatrixKey(t)),i.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,x(this.originX),x(this.originY)),i}calcTransformMatrix(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.calcOwnMatrix();if(t||!this.group)return i;const e=this.transformMatrixKey(t),s=this.matrixCache;return s&&s.key.every((t,i)=>t===e[i])?s.value:(this.group&&(i=d(this.group.calcTransformMatrix(!1),i)),this.matrixCache={key:e,value:i},i)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),i=this.ownMatrixCache;if(i&&i.key===t)return i.value;const e=this.getRelativeCenterPoint(),s={angle:this.angle,translateX:e.x,translateY:e.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},n=u(s);return this.ownMatrixCache={key:t,value:n},n}_getNonTransformedDimensions(){return new h(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i={scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth,...t},e=i.strokeWidth;let s=e,n=0;this.strokeUniform&&(s=0,n=e);const r=i.width+s,o=i.height+s;let a;return a=0===i.skewX&&0===i.skewY?new h(r*i.scaleX,o*i.scaleY):y(r,o,f(i)),a.scalarAdd(n)}translateToGivenOrigin(t,i,e,s,n){let r=t.x,o=t.y;const a=x(s)-x(i),l=x(n)-x(e);if(a||l){const t=this._getTransformedDimensions();r+=a*t.x,o+=l*t.y}return new h(r,o)}translateToCenterPoint(t,i,e){if(i===s&&e===s)return t;const n=this.translateToGivenOrigin(t,i,e,s,s);return this.angle?n.rotate(C(this.angle),t):n}translateToOriginPoint(t,i,e){const n=this.translateToGivenOrigin(t,s,s,i,e);return this.angle?n.rotate(C(this.angle),t):n}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?l(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new h(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,i){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,i)}setPositionByOrigin(t,i,e){const s=this.translateToCenterPoint(t,i,e),n=this.translateToOriginPoint(s,this.originX,this.originY);this.set({left:n.x,top:n.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),n,r)}}export{Y as ObjectGeometry};
|
|
2
|
+
//# sourceMappingURL=ObjectGeometry.min.mjs.map
|