@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.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Object/Object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.min.mjs";import{cache as e}from"../../cache.min.mjs";import{config as i}from"../../config.min.mjs";import{FILL as s,STROKE as o,ALIASING_LIMIT as r,SCALE_X as n,SCALE_Y as a,iMatrix as h,CENTER as c,VERSION as l,LEFT as m,TOP as f}from"../../constants.min.mjs";import{Point as d}from"../../Point.min.mjs";import{Shadow as p}from"../../Shadow.min.mjs";import{classRegistry as u}from"../../ClassRegistry.min.mjs";import{runningAnimations as g}from"../../util/animation/AnimationRegistry.min.mjs";import{capValue as C}from"../../util/misc/capValue.min.mjs";import{createCanvasElement as w,createCanvasElementFor as v,toDataURL as _,toBlob as y}from"../../util/misc/dom.min.mjs";import{qrDecompose as b,invertTransform as k}from"../../util/misc/matrix.min.mjs";import{enlivenObjectEnlivables as O}from"../../util/misc/objectEnlive.min.mjs";import{saveObjectTransform as j,resetObjectTransform as S}from"../../util/misc/objectTransforms.min.mjs";import{sendObjectToPlane as P}from"../../util/misc/planeChange.min.mjs";import{pick as T,pickBy as Y}from"../../util/misc/pick.min.mjs";import{toFixed as X}from"../../util/misc/toFixed.min.mjs";import{StaticCanvas as x}from"../../canvas/StaticCanvas.min.mjs";import{isFiller as D,isSerializableFiller as F}from"../../util/typeAssertions.min.mjs";import{stateProperties as z,cacheProperties as A,fabricObjectDefaultValues as L}from"./defaultValues.min.mjs";import{getDevicePixelRatio as M,getEnv as R}from"../../env/index.min.mjs";import{log as B}from"../../util/internals/console.min.mjs";import{animateColor as V,animate as I}from"../../util/animation/animate.min.mjs";import{ObjectGeometry as E}from"./ObjectGeometry.min.mjs";class G extends E{static getDefaults(){return G.ownDefaults}get type(){const t=this.constructor.type;return"FabricObject"===t?"object":t.toLowerCase()}set type(t){B("warn","Setting type has no effect",t)}constructor(e){super(),t(this,"_cacheContext",null),Object.assign(this,G.ownDefaults),this.setOptions(e)}_createCacheCanvas(){this._cacheCanvas=w(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const s=t.width,o=t.height,r=i.maxCacheSideLimit,n=i.minCacheSideLimit;if(s<=r&&o<=r&&s*o<=i.perfLimitSizeTotal)return s<n&&(t.width=n),o<n&&(t.height=n),t;const a=s/o,[h,c]=e.limitDimsByArea(a),l=C(n,h,r),m=C(n,c,r);return s>l&&(t.zoomX/=s/l,t.width=l,t.capped=!0),o>m&&(t.zoomY/=o/m,t.height=m,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),i=e.x*t.x/this.scaleX,s=e.y*t.y/this.scaleY;return{width:Math.ceil(i+r),height:Math.ceil(s+r),zoomX:t.x,zoomY:t.y,x:i,y:s}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:i,height:s,zoomX:o,zoomY:r,x:n,y:a}=this._limitCacheSize(this._getCacheCanvasDimensions()),h=i!==t.width||s!==t.height,c=this.zoomX!==o||this.zoomY!==r;if(!t||!e)return!1;if(h||c){i!==t.width||s!==t.height?(t.width=i,t.height=s):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const h=n/2,c=a/2;return this.cacheTranslationX=Math.round(t.width/2-h)+h,this.cacheTranslationY=Math.round(t.height/2-c)+c,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(o,r),this.zoomX=o,this.zoomY=r,!0}return!1}setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,i=this.calcTransformMatrix(!e);t.transform(i[0],i[1],i[2],i[3],i[4],i[5])}getObjectScaling(){if(!this.group)return new d(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=b(this.calcTransformMatrix());return new d(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),i=this.getCanvasRetinaScaling();return t.scalarMultiply(e*i)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:0===t?1e-4:t}_set(t,e){t!==n&&t!==a||(e=this._constrainScale(e)),t===n&&e<0?(this.flipX=!this.flipX,e*=-1):"scaleY"===t&&e<0?(this.flipY=!this.flipY,e*=-1):"shadow"!==t||!e||e instanceof p||(e=new p(e));const i=this[t]!==e;return this[t]=e,i&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||i&&this.constructor.stateProperties.includes(t))&&this.parent._set("dirty",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:i,cacheTranslationX:s,cacheTranslationY:o}=this,{width:r,height:n}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:i,cacheTranslationX:s,cacheTranslationY:o,width:r,height:n,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return!!this.stroke&&"transparent"!==this.stroke&&0!==this.strokeWidth}hasFill(){return!!this.fill&&"transparent"!==this.fill}needsItsOwnCache(){return!!(this.paintFirst===o&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(t,e,i){t.save(),e.inverted?t.globalCompositeOperation="destination-out":t.globalCompositeOperation="destination-in",t.setTransform(1,0,0,1,0,0),t.drawImage(i,0,0),t.restore()}drawObject(t,e,i){const s=this.fill,o=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath,i),this.fill=s,this.stroke=o}createClipPathLayer(t,e){const i=v(e),s=i.getContext("2d");if(s.translate(e.cacheTranslationX,e.cacheTranslationY),s.scale(e.zoomX,e.zoomY),t._cacheCanvas=i,e.parentClipPaths.forEach(t=>{t.transform(s)}),e.parentClipPaths.push(t),t.absolutePositioned){const t=k(this.calcTransformMatrix());s.transform(t[0],t[1],t[2],t[3],t[4],t[5])}return t.transform(s),t.drawObject(s,!0,e),i}_drawClipPath(t,e,i){if(!e)return;e._transformDone=!0;const s=this.createClipPathLayer(e,i);this.drawClipPathOnCache(t,e,s)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,i=this._cacheContext;return!(!e||!i||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&i&&!t&&(i.save(),i.setTransform(1,0,0,1,0,0),i.clearRect(0,0,e.width,e.height),i.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const i=e.stroke;i&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,D(i)?"percentage"===i.gradientUnits||i.gradientTransform||i.patternTransform?this._applyPatternForTransformedGradient(t,i):(t.strokeStyle=i.toLive(t),this._applyPatternGradientTransform(t,i)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:i}=e;i&&(D(i)?(t.fillStyle=i.toLive(t),this._applyPatternGradientTransform(t,i)):t.fillStyle=i)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle="transparent",t.fillStyle="#000000"}_setLineDash(t,e){e&&0!==e.length&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,s=this.canvas,o=this.getCanvasRetinaScaling(),[r,,,n]=(null==s?void 0:s.viewportTransform)||h,a=r*o,c=n*o,l=e.nonScaling?new d(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*i.browserShadowBlurConstant*(a+c)*(l.x+l.y)/4,t.shadowOffsetX=e.offsetX*a*l.x,t.shadowOffsetY=e.offsetY*c*l.y}_removeShadow(t){this.shadow&&(t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!D(e))return{offsetX:0,offsetY:0};const i=e.gradientTransform||e.patternTransform,s=-this.width/2+e.offsetX||0,o=-this.height/2+e.offsetY||0;return"percentage"===e.gradientUnits?t.transform(this.width,0,0,this.height,s,o):t.transform(1,0,0,1,s,o),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),{offsetX:s,offsetY:o}}_renderPaintInOrder(t){this.paintFirst===o?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),"evenodd"===this.fillRule?t.fill("evenodd"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var i;const s=this._limitCacheSize(this._getCacheCanvasDimensions()),o=this.getCanvasRetinaScaling(),r=s.x/this.scaleX/o,n=s.y/this.scaleY/o,a=v({width:Math.ceil(r),height:Math.ceil(n)}),h=a.getContext("2d");h&&(h.beginPath(),h.moveTo(0,0),h.lineTo(r,0),h.lineTo(r,n),h.lineTo(0,n),h.closePath(),h.translate(r/2,n/2),h.scale(s.zoomX/this.scaleX/o,s.zoomY/this.scaleY/o),this._applyPatternGradientTransform(h,e),h.fillStyle=e.toLive(t),h.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(o*this.scaleX/s.zoomX,o*this.scaleY/s.zoomY),t.strokeStyle=null!==(i=h.createPattern(a,"no-repeat"))&&void 0!==i?i:"")}_findCenterFromElement(){return new d(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(u.getClass("image"))(e)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=j(this),i=this.group,s=this.shadow,o=Math.abs,r=t.enableRetinaScaling?M():1,n=(t.multiplier||1)*r,a=t.canvasProvider||(t=>new x(t,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&S(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&P(this,this.getViewportTransform()),this.setCoords();const h=w(),l=this.getBoundingRect(),m=this.shadow,f=new d;if(m){const t=m.blur,e=m.nonScaling?new d(1,1):this.getObjectScaling();f.x=2*Math.round(o(m.offsetX)+t)*o(e.x),f.y=2*Math.round(o(m.offsetY)+t)*o(e.y)}const p=l.width+f.x,u=l.height+f.y;h.width=Math.ceil(p),h.height=Math.ceil(u);const g=a(h);"jpeg"===t.format&&(g.backgroundColor="#fff"),this.setPositionByOrigin(new d(g.width/2,g.height/2),c,c);const C=this.canvas;g._objects=[this],this.set("canvas",g),this.setCoords();const v=g.toCanvasElement(n||1,t);return this.set("canvas",C),this.shadow=s,i&&(this.group=i),this.set(e),this.setCoords(),g._objects=[],g.destroy(),v}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _(this.toCanvasElement(t),t.format||"png",t.quality||1)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return y(this.toCanvasElement(t),t.format||"png",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:i,originY:s}=this;if(e){const{x:t,y:e}=this.getRelativeCenterPoint();this.originX=c,this.originY=c,this.left=t,this.top=e}if(this.set("angle",t),e){const{x:t,y:e}=this.translateToOriginPoint(this.getRelativeCenterPoint(),i,s);this.left=t,this.top=e,this.originX=i,this.originY=s}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){g.cancelByTarget(this),this.off(),this._set("canvas",void 0),this._cacheCanvas&&R().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce((t,i)=>{let[s,o]=i;return t[s]=this._animate(s,o,e),t},{})}_animate(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=t.split("."),o=this.constructor.colorProperties.includes(s[s.length-1]),{abort:r,startValue:n,onChange:a,onComplete:h}=i,c={...i,target:this,startValue:null!=n?n:s.reduce((t,e)=>t[e],this),endValue:e,abort:null==r?void 0:r.bind(this),onChange:(t,e,i)=>{s.reduce((e,i,o)=>(o===s.length-1&&(e[i]=t),e[i]),this),a&&a(t,e,i)},onComplete:(t,e,i)=>{this.setCoords(),h&&h(t,e,i)}};return o?V(c):I(c)}isDescendantOf(t){const{parent:e,group:i}=this;return e===t||i===t||!!e&&e.isDescendantOf(t)||!!i&&i!==e&&i.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do{e=e.parent,e&&t.push(e)}while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),i=t.getAncestors();if(0===e.length&&i.length>0&&this===i[i.length-1])return{fork:[],otherFork:[t,...i.slice(0,i.length-1)],common:[this]};for(let s,o=0;o<e.length;o++){if(s=e[o],s===t)return{fork:[this,...e.slice(0,o)],otherFork:[],common:e.slice(o)};for(let r=0;r<i.length;r++){if(this===i[r])return{fork:[],otherFork:[t,...i.slice(0,r)],common:[this,...e]};if(s===i[r])return{fork:[this,...e.slice(0,o)],otherFork:[t,...i.slice(0,r)],common:e.slice(o)}}}return{fork:[this,...e],otherFork:[t,...i],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const i=e.common[0]||this.canvas;if(!i)return;const s=e.fork.pop(),o=e.otherFork.pop(),r=i._objects.indexOf(s),n=i._objects.indexOf(o);return r>-1&&r>n}toObject(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(G.customProperties,this.constructor.customProperties||[]);let e;const s=i.NUM_FRACTION_DIGITS,{clipPath:o,fill:r,stroke:n,shadow:a,strokeDashArray:h,left:c,top:m,originX:f,originY:d,width:p,height:u,strokeWidth:g,strokeLineCap:C,strokeDashOffset:w,strokeLineJoin:v,strokeUniform:_,strokeMiterLimit:y,scaleX:b,scaleY:k,angle:O,flipX:j,flipY:S,opacity:P,visible:Y,backgroundColor:x,fillRule:D,paintFirst:z,globalCompositeOperation:A,skewX:L,skewY:M}=this;o&&!o.excludeFromExport&&(e=o.toObject(t.concat("inverted","absolutePositioned")));const R=t=>X(t,s),B={...T(this,t),type:this.constructor.type,version:l,originX:f,originY:d,left:R(c),top:R(m),width:R(p),height:R(u),fill:F(r)?r.toObject():r,stroke:F(n)?n.toObject():n,strokeWidth:R(g),strokeDashArray:h?h.concat():h,strokeLineCap:C,strokeDashOffset:w,strokeLineJoin:v,strokeUniform:_,strokeMiterLimit:R(y),scaleX:R(b),scaleY:R(k),angle:R(O),flipX:j,flipY:S,opacity:R(P),shadow:a?a.toObject():a,visible:Y,backgroundColor:x,fillRule:D,paintFirst:z,globalCompositeOperation:A,skewX:R(L),skewY:R(M),...e?{clipPath:e}:null};return this.includeDefaultValues?B:this._removeDefaultValues(B)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),i=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return Y(t,(t,e)=>{if(e===m||e===f||"type"===e)return!0;const s=i[e];return t!==s&&!(Array.isArray(t)&&Array.isArray(s)&&0===t.length&&0===s.length)})}toString(){return`#<${this.constructor.type}>`}static _fromObject(t){let{type:e,...i}=t,{extraParam:s,...o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return O(i,o).then(t=>s?(delete t[s],new this(i[s],t)):new this(t))}static fromObject(t,e){return this._fromObject(t,e)}}t(G,"stateProperties",z),t(G,"cacheProperties",A),t(G,"ownDefaults",L),t(G,"type","FabricObject"),t(G,"colorProperties",[s,o,"backgroundColor"]),t(G,"customProperties",[]),u.setClass(G),u.setClass(G,"object");export{G as FabricObject};
|
|
2
|
+
//# sourceMappingURL=Object.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Object.min.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","this","constructor","toLowerCase","value","log","options","super","_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","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","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","ancestor","i","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","baseValues","keys","getPrototypeOf","pickBy","LEFT","TOP","baseValue","isArray","toString","_fromObject","_ref3","serializedObjectOptions","extraParam","enlivenObjectEnlivables","then","enlivedObjectOptions","fabricObjectDefaultValues","FILL","setClass"],"mappings":"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"}
|