fabric 5.3.0 → 6.0.0-beta3
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 +5 -0
- package/.eslintignore +3 -0
- package/.eslintrc.js +43 -0
- package/.eslintrc.json +38 -46
- package/.eslintrc_tests +12 -0
- package/.gitattributes +2 -0
- package/.gitpod.yml +17 -1
- package/.prettierignore +19 -0
- package/.prettierrc +4 -0
- package/CHANGELOG.md +532 -189
- package/CONTRIBUTING.md +224 -59
- package/README.md +200 -235
- package/bower.json +1 -3
- package/dist/fabric.d.ts +42 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +27582 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/index.mjs +27519 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +27663 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +14 -0
- package/dist/index.node.mjs +27606 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/src/ClassRegistry.d.ts +13 -0
- package/dist/src/Collection.d.ts +136 -0
- package/dist/src/CommonMethods.d.ts +32 -0
- package/dist/src/EventTypeDefs.d.ts +227 -0
- package/dist/src/Intersection.d.ts +112 -0
- package/dist/src/Observable.d.ts +60 -0
- package/dist/src/Pattern.d.ts +113 -0
- package/dist/src/Point.d.ts +232 -0
- package/dist/src/Shadow.d.ts +97 -0
- package/dist/src/brushes/BaseBrush.d.ts +105 -0
- package/dist/src/brushes/CircleBrush.d.ts +49 -0
- package/dist/src/brushes/PatternBrush.d.ts +23 -0
- package/dist/src/brushes/PencilBrush.d.ts +92 -0
- package/dist/src/brushes/SprayBrush.d.ts +79 -0
- package/dist/src/cache.d.ts +47 -0
- package/dist/src/canvas/Canvas.d.ts +548 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +754 -0
- package/dist/src/canvas/StaticCanvas.d.ts +778 -0
- package/dist/src/canvas/TextEditingManager.d.ts +17 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
- package/dist/src/color/Color.d.ts +174 -0
- package/dist/src/color/color_map.d.ts +155 -0
- package/dist/src/color/constants.d.ts +22 -0
- package/dist/src/color/util.d.ts +12 -0
- package/dist/src/config.d.ts +115 -0
- package/dist/src/constants.d.ts +14 -0
- package/dist/src/controls/Control.d.ts +228 -0
- package/dist/src/controls/changeWidth.d.ts +13 -0
- package/dist/src/controls/commonControls.d.ts +28 -0
- package/dist/src/controls/controlRendering.d.ts +29 -0
- package/dist/src/controls/drag.d.ts +12 -0
- package/dist/src/controls/index.d.ts +13 -0
- package/dist/src/controls/polyControl.d.ts +5 -0
- package/dist/src/controls/rotate.d.ts +12 -0
- package/dist/src/controls/scale.d.ts +47 -0
- package/dist/src/controls/scaleSkew.d.ts +39 -0
- package/dist/src/controls/skew.d.ts +33 -0
- package/dist/src/controls/util.d.ts +41 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +8 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist/src/env/browser.d.ts +3 -0
- package/dist/src/env/index.d.ts +15 -0
- package/dist/src/env/node.d.ts +5 -0
- package/dist/src/env/types.d.ts +15 -0
- package/dist/src/filters/BaseFilter.d.ts +153 -0
- package/dist/src/filters/BlendColor.d.ts +80 -0
- package/dist/src/filters/BlendImage.d.ts +92 -0
- package/dist/src/filters/Blur.d.ts +51 -0
- package/dist/src/filters/Boilerplate.d.ts +48 -0
- package/dist/src/filters/Brightness.d.ts +47 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/ColorMatrix.d.ts +63 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +545 -0
- package/dist/src/filters/Composed.d.ts +45 -0
- package/dist/src/filters/Contrast.d.ts +45 -0
- package/dist/src/filters/Convolute.d.ts +82 -0
- package/dist/src/filters/FilterBackend.d.ts +14 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
- package/dist/src/filters/Gamma.d.ts +54 -0
- package/dist/src/filters/Grayscale.d.ts +46 -0
- package/dist/src/filters/HueRotation.d.ts +24 -0
- package/dist/src/filters/Invert.d.ts +55 -0
- package/dist/src/filters/Noise.d.ts +54 -0
- package/dist/src/filters/Pixelate.d.ts +44 -0
- package/dist/src/filters/RemoveColor.d.ts +63 -0
- package/dist/src/filters/Resize.d.ts +136 -0
- package/dist/src/filters/Saturation.d.ts +48 -0
- package/dist/src/filters/Vibrance.d.ts +48 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +126 -0
- package/dist/src/filters/filters.d.ts +21 -0
- package/dist/src/filters/index.d.ts +5 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +4 -0
- package/dist/src/filters/shaders/blendColor.d.ts +13 -0
- package/dist/src/filters/shaders/blendImage.d.ts +3 -0
- package/dist/src/filters/shaders/blur.d.ts +2 -0
- package/dist/src/filters/shaders/brightness.d.ts +2 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +2 -0
- package/dist/src/filters/shaders/constrast.d.ts +2 -0
- package/dist/src/filters/shaders/convolute.d.ts +11 -0
- package/dist/src/filters/shaders/gamma.d.ts +2 -0
- package/dist/src/filters/shaders/grayscale.d.ts +3 -0
- package/dist/src/filters/shaders/invert.d.ts +2 -0
- package/dist/src/filters/shaders/noise.d.ts +2 -0
- package/dist/src/filters/shaders/pixelate.d.ts +2 -0
- package/dist/src/filters/shaders/removeColor.d.ts +2 -0
- package/dist/src/filters/shaders/saturation.d.ts +2 -0
- package/dist/src/filters/shaders/vibrance.d.ts +2 -0
- package/dist/src/filters/typedefs.d.ts +49 -0
- package/dist/src/gradient/Gradient.d.ts +149 -0
- package/dist/src/gradient/constants.d.ts +15 -0
- package/dist/src/gradient/parser/index.d.ts +4 -0
- package/dist/src/gradient/parser/misc.d.ts +4 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +3 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist/src/gradient/typedefs.d.ts +93 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
- package/dist/src/parkinglot/straighten.d.ts +2 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +5 -0
- package/dist/src/parser/attributes.d.ts +6 -0
- package/dist/src/parser/constants.d.ts +53 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist/src/parser/elementById.d.ts +6 -0
- package/dist/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist/src/parser/elements_parser.d.ts +3 -0
- package/dist/src/parser/getCSSRules.d.ts +7 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +5 -0
- package/dist/src/parser/getGradientDefs.d.ts +7 -0
- package/dist/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist/src/parser/getSvgRegex.d.ts +2 -0
- package/dist/src/parser/hasAncestorWithNodeName.d.ts +2 -0
- package/dist/src/parser/index.d.ts +10 -0
- package/dist/src/parser/loadSVGFromString.d.ts +12 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +13 -0
- package/dist/src/parser/normalizeAttr.d.ts +2 -0
- package/dist/src/parser/normalizeValue.d.ts +2 -0
- package/dist/src/parser/parseAttributes.d.ts +9 -0
- package/dist/src/parser/parseElements.d.ts +11 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +10 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +12 -0
- package/dist/src/parser/parseSVGDocument.d.ts +15 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +9 -0
- package/dist/src/parser/parseStyleObject.d.ts +2 -0
- package/dist/src/parser/parseStyleString.d.ts +2 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +10 -0
- package/dist/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist/src/parser/percent.d.ts +9 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist/src/parser/rotateMatrix.d.ts +2 -0
- package/dist/src/parser/scaleMatrix.d.ts +2 -0
- package/dist/src/parser/selectorMatches.d.ts +2 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist/src/parser/skewMatrix.d.ts +2 -0
- package/dist/src/parser/translateMatrix.d.ts +2 -0
- package/dist/src/shapes/ActiveSelection.d.ts +82 -0
- package/dist/src/shapes/Circle.d.ts +99 -0
- package/dist/src/shapes/Ellipse.d.ts +84 -0
- package/dist/src/shapes/Group.d.ts +408 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/IText.d.ts +335 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +287 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +83 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +195 -0
- package/dist/src/shapes/IText/constants.d.ts +13 -0
- package/dist/src/shapes/Image.d.ts +311 -0
- package/dist/src/shapes/Line.d.ts +126 -0
- package/dist/src/shapes/Object/AnimatableObject.d.ts +33 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +11 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +74 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +296 -0
- package/dist/src/shapes/Object/Object.d.ts +594 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +327 -0
- package/dist/src/shapes/Object/ObjectOrigin.d.ts +109 -0
- package/dist/src/shapes/Object/StackedObject.d.ts +72 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +76 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts +84 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts +37 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts +62 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +96 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +80 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +51 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts +42 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +66 -0
- package/dist/src/shapes/Object/types/index.d.ts +6 -0
- package/dist/src/shapes/Path.d.ts +130 -0
- package/dist/src/shapes/Polygon.d.ts +9 -0
- package/dist/src/shapes/Polyline.d.ts +140 -0
- package/dist/src/shapes/Rect.d.ts +76 -0
- package/dist/src/shapes/Text/StyledText.d.ts +119 -0
- package/dist/src/shapes/Text/Text.d.ts +673 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
- package/dist/src/shapes/Text/constants.d.ts +7 -0
- package/dist/src/shapes/Textbox.d.ts +185 -0
- package/dist/src/shapes/Triangle.d.ts +25 -0
- package/dist/src/typedefs.d.ts +90 -0
- package/dist/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +3 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist/src/util/animation/animate.d.ts +37 -0
- package/dist/src/util/animation/easing.d.ts +130 -0
- package/dist/src/util/animation/types.d.ts +87 -0
- package/dist/src/util/applyMixins.d.ts +8 -0
- package/dist/src/util/dom_event.d.ts +5 -0
- package/dist/src/util/dom_misc.d.ts +39 -0
- package/dist/src/util/dom_request.d.ts +14 -0
- package/dist/src/util/dom_style.d.ts +7 -0
- package/dist/src/util/fireEvent.d.ts +3 -0
- package/dist/src/util/index.d.ts +35 -0
- package/dist/src/util/internals/cloneDeep.d.ts +2 -0
- package/dist/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist/src/util/internals/ifNaN.d.ts +8 -0
- package/dist/src/util/internals/index.d.ts +4 -0
- package/dist/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist/src/util/internals/uid.d.ts +2 -0
- package/dist/src/util/lang_string.d.ts +22 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist/src/util/misc/capValue.d.ts +2 -0
- package/dist/src/util/misc/cos.d.ts +10 -0
- package/dist/src/util/misc/dom.d.ts +28 -0
- package/dist/src/util/misc/findScaleTo.d.ts +29 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +9 -0
- package/dist/src/util/misc/isTransparent.d.ts +11 -0
- package/dist/src/util/misc/matrix.d.ts +92 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +23 -0
- package/dist/src/util/misc/objectEnlive.d.ts +56 -0
- package/dist/src/util/misc/objectTransforms.d.ts +68 -0
- package/dist/src/util/misc/pick.d.ts +9 -0
- package/dist/src/util/misc/planeChange.d.ts +84 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +51 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +81 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +25 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +11 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist/src/util/misc/rotatePoint.d.ts +12 -0
- package/dist/src/util/misc/sin.d.ts +10 -0
- package/dist/src/util/misc/svgParsing.d.ts +53 -0
- package/dist/src/util/misc/textStyles.d.ts +32 -0
- package/dist/src/util/misc/toFixed.d.ts +8 -0
- package/dist/src/util/misc/vectors.d.ts +57 -0
- package/dist/src/util/path/index.d.ts +96 -0
- package/dist/src/util/path/regex.d.ts +3 -0
- package/dist/src/util/path/typechecks.d.ts +24 -0
- package/dist/src/util/path/typedefs.d.ts +220 -0
- package/dist/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist/src/util/types.d.ts +19 -0
- package/fabric.ts +51 -0
- package/index.node.ts +37 -0
- package/index.ts +1 -0
- package/package.json +100 -40
- package/publish.js +0 -26
- package/rollup.config.mjs +91 -0
- package/rollup.test.config.js +24 -0
- package/scripts/build.mjs +50 -0
- package/scripts/buildLock.mjs +115 -0
- package/scripts/buildReporter.mjs +15 -0
- package/scripts/buildStats.mjs +139 -0
- package/scripts/dirname.mjs +14 -0
- package/scripts/git.mjs +36 -0
- package/scripts/index.mjs +564 -0
- package/scripts/sandbox.mjs +149 -0
- package/src/ClassRegistry.ts +56 -0
- package/src/Collection.ts +346 -0
- package/src/CommonMethods.ts +63 -0
- package/src/EventTypeDefs.ts +296 -0
- package/src/Intersection.ts +302 -0
- package/src/Observable.ts +181 -0
- package/src/Pattern.ts +227 -0
- package/src/Point.ts +388 -0
- package/src/Shadow.ts +214 -0
- package/src/brushes/{base_brush.class.js → BaseBrush.ts} +65 -42
- package/src/brushes/CircleBrush.ts +145 -0
- package/src/brushes/PatternBrush.ts +70 -0
- package/src/brushes/PencilBrush.ts +300 -0
- package/src/brushes/SprayBrush.ts +219 -0
- package/src/cache.ts +90 -0
- package/src/canvas/Canvas.ts +1607 -0
- package/src/canvas/SelectableCanvas.ts +1608 -0
- package/src/canvas/StaticCanvas.ts +1734 -0
- package/src/canvas/TextEditingManager.ts +48 -0
- package/src/canvas/canvas_gestures.mixin.ts +207 -0
- package/src/color/Color.ts +404 -0
- package/src/color/color_map.ts +154 -0
- package/src/color/constants.ts +26 -0
- package/src/color/util.ts +32 -0
- package/src/config.ts +159 -0
- package/src/constants.ts +20 -0
- package/src/controls/Control.ts +380 -0
- package/src/controls/changeWidth.ts +52 -0
- package/src/controls/commonControls.ts +105 -0
- package/src/controls/controlRendering.ts +138 -0
- package/src/controls/drag.ts +31 -0
- package/src/controls/index.ts +22 -0
- package/src/controls/polyControl.ts +135 -0
- package/src/controls/rotate.ts +87 -0
- package/src/controls/scale.ts +277 -0
- package/src/controls/scaleSkew.ts +92 -0
- package/src/controls/skew.ts +242 -0
- package/src/controls/util.ts +154 -0
- package/src/controls/wrapWithFireEvent.ts +25 -0
- package/src/controls/wrapWithFixedAnchor.ts +20 -0
- package/src/env/browser.ts +32 -0
- package/src/env/index.ts +24 -0
- package/src/env/node.ts +56 -0
- package/src/env/types.ts +15 -0
- package/src/filters/{base_filter.class.js → BaseFilter.ts} +192 -151
- package/src/filters/BlendColor.ts +217 -0
- package/src/filters/BlendImage.ts +228 -0
- package/src/filters/Blur.ts +179 -0
- package/src/filters/Boilerplate.ts +94 -0
- package/src/filters/Brightness.ts +83 -0
- package/src/filters/Canvas2dFilterBackend.ts +65 -0
- package/src/filters/ColorMatrix.ts +145 -0
- package/src/filters/ColorMatrixFilters.ts +77 -0
- package/src/filters/Composed.ts +76 -0
- package/src/filters/Contrast.ts +82 -0
- package/src/filters/Convolute.ts +184 -0
- package/src/filters/FilterBackend.ts +34 -0
- package/src/filters/GLProbes/GLProbe.ts +11 -0
- package/src/filters/GLProbes/NodeGLProbe.ts +15 -0
- package/src/filters/GLProbes/WebGLProbe.ts +46 -0
- package/src/filters/Gamma.ts +110 -0
- package/src/filters/Grayscale.ts +102 -0
- package/src/filters/HueRotation.ts +62 -0
- package/src/filters/Invert.ts +99 -0
- package/src/filters/Noise.ts +94 -0
- package/src/filters/Pixelate.ts +96 -0
- package/src/filters/RemoveColor.ts +135 -0
- package/src/filters/Resize.ts +538 -0
- package/src/filters/Saturation.ts +87 -0
- package/src/filters/Vibrance.ts +88 -0
- package/src/filters/WebGLFilterBackend.ts +430 -0
- package/src/filters/filters.ts +28 -0
- package/src/filters/index.ts +5 -0
- package/src/filters/shaders/baseFilter.ts +19 -0
- package/src/filters/shaders/blendColor.ts +33 -0
- package/src/filters/shaders/blendImage.ts +32 -0
- package/src/filters/shaders/blur.ts +24 -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 +65 -0
- package/src/gradient/Gradient.ts +406 -0
- package/src/gradient/constants.ts +12 -0
- package/src/gradient/parser/index.ts +3 -0
- package/src/gradient/parser/misc.ts +13 -0
- package/src/gradient/parser/parseColorStops.ts +56 -0
- package/src/gradient/parser/parseCoords.ts +73 -0
- package/src/gradient/typedefs.ts +104 -0
- package/src/mixins/{eraser_brush.mixin.js → eraser_brush.mixin.ts} +350 -239
- package/src/parkinglot/canvas_animation.mixin.ts +121 -0
- package/src/parkinglot/straighten.ts +58 -0
- package/src/parser/applyViewboxTransform.ts +157 -0
- package/src/parser/attributes.ts +25 -0
- package/src/parser/constants.ts +115 -0
- package/src/parser/doesSomeParentMatch.ts +19 -0
- package/src/parser/elementById.ts +21 -0
- package/src/parser/elementMatchesRule.ts +16 -0
- package/src/parser/elements_parser.ts +191 -0
- package/src/parser/getCSSRules.ts +62 -0
- package/src/parser/getGlobalStylesForElement.ts +19 -0
- package/src/parser/getGradientDefs.ts +31 -0
- package/src/parser/getMultipleNodes.ts +15 -0
- package/src/parser/getSvgRegex.ts +5 -0
- package/src/parser/hasAncestorWithNodeName.ts +14 -0
- package/src/parser/index.ts +9 -0
- package/src/parser/loadSVGFromString.ts +26 -0
- package/src/parser/loadSVGFromURL.ts +40 -0
- package/src/parser/normalizeAttr.ts +10 -0
- package/src/parser/normalizeValue.ts +63 -0
- package/src/parser/parseAttributes.ts +90 -0
- package/src/parser/parseElements.ts +28 -0
- package/src/parser/parseFontDeclaration.ts +44 -0
- package/src/parser/parsePointsAttribute.ts +34 -0
- package/src/parser/parseSVGDocument.ts +93 -0
- package/src/parser/parseStyleAttribute.ts +27 -0
- package/src/parser/parseStyleObject.ts +15 -0
- package/src/parser/parseStyleString.ts +16 -0
- package/src/parser/parseTransformAttribute.ts +155 -0
- package/src/parser/parseUseDirectives.ts +78 -0
- package/src/parser/percent.ts +27 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +42 -0
- package/src/parser/rotateMatrix.ts +21 -0
- package/src/parser/scaleMatrix.ts +9 -0
- package/src/parser/selectorMatches.ts +25 -0
- package/src/parser/setStrokeFillOpacity.ts +40 -0
- package/src/parser/skewMatrix.ts +6 -0
- package/src/parser/translateMatrix.ts +8 -0
- package/src/shapes/ActiveSelection.ts +189 -0
- package/src/shapes/Circle.ts +242 -0
- package/src/shapes/Ellipse.ts +179 -0
- package/src/shapes/Group.ts +1100 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +382 -0
- package/src/shapes/IText/IText.ts +693 -0
- package/src/shapes/IText/ITextBehavior.ts +1064 -0
- package/src/shapes/IText/ITextClickBehavior.ts +325 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +685 -0
- package/src/shapes/IText/constants.ts +47 -0
- package/src/shapes/Image.ts +841 -0
- package/src/shapes/Line.ts +346 -0
- package/src/shapes/Object/AnimatableObject.ts +106 -0
- package/src/shapes/Object/FabricObject.ts +29 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +277 -0
- package/src/shapes/Object/InteractiveObject.ts +672 -0
- package/src/shapes/Object/Object.ts +1561 -0
- package/src/shapes/Object/ObjectGeometry.ts +813 -0
- package/src/shapes/Object/ObjectOrigin.ts +276 -0
- package/src/shapes/Object/StackedObject.ts +206 -0
- package/src/shapes/Object/defaultValues.ts +108 -0
- package/src/shapes/Object/types/BaseProps.ts +96 -0
- package/src/shapes/Object/types/BorderProps.ts +40 -0
- package/src/shapes/Object/types/ControlProps.ts +69 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +111 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +90 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +57 -0
- package/src/shapes/Object/types/ObjectProps.ts +46 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +73 -0
- package/src/shapes/Object/types/index.ts +8 -0
- package/src/shapes/Path.ts +416 -0
- package/src/shapes/Polygon.ts +20 -0
- package/src/shapes/Polyline.ts +359 -0
- package/src/shapes/Rect.ts +233 -0
- package/src/shapes/Text/StyledText.ts +329 -0
- package/src/shapes/Text/Text.ts +1884 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +288 -0
- package/src/shapes/Text/constants.ts +91 -0
- package/src/shapes/Textbox.ts +477 -0
- package/src/shapes/Triangle.ts +60 -0
- package/src/typedefs.ts +115 -0
- package/src/util/animation/AnimationBase.ts +166 -0
- package/src/util/animation/AnimationFrameProvider.ts +9 -0
- package/src/util/animation/AnimationRegistry.ts +58 -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/animate.ts +74 -0
- package/src/util/animation/easing.ts +327 -0
- package/src/util/animation/types.ts +136 -0
- package/src/util/applyMixins.ts +22 -0
- package/src/util/dom_event.ts +28 -0
- package/src/util/dom_misc.ts +121 -0
- package/src/util/dom_request.ts +64 -0
- package/src/util/dom_style.ts +20 -0
- package/src/util/fireEvent.ts +15 -0
- package/src/util/index.ts +102 -0
- package/src/util/internals/cloneDeep.ts +2 -0
- package/src/util/internals/getRandomInt.ts +8 -0
- package/src/util/internals/ifNaN.ts +9 -0
- package/src/util/internals/index.ts +3 -0
- package/src/util/internals/removeFromArray.ts +14 -0
- package/src/util/internals/uid.ts +3 -0
- package/src/util/lang_string.ts +79 -0
- package/src/util/misc/boundingBoxFromPoints.ts +37 -0
- package/src/util/misc/capValue.ts +2 -0
- package/src/util/misc/cos.ts +24 -0
- package/src/util/misc/dom.ts +50 -0
- package/src/util/misc/findScaleTo.ts +44 -0
- package/src/util/misc/groupSVGElements.ts +15 -0
- package/src/util/misc/isTransparent.ts +28 -0
- package/src/util/misc/matrix.ts +207 -0
- package/src/util/misc/mergeClipPaths.ts +40 -0
- package/src/util/misc/objectEnlive.ts +189 -0
- package/src/util/misc/objectTransforms.ts +129 -0
- package/src/util/misc/pick.ts +29 -0
- package/src/util/misc/planeChange.ts +136 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +112 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +226 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +75 -0
- package/src/util/misc/projectStroke/index.ts +53 -0
- package/src/util/misc/projectStroke/types.ts +24 -0
- package/src/util/misc/radiansDegreesConversion.ts +18 -0
- package/src/util/misc/resolveOrigin.ts +22 -0
- package/src/util/misc/rotatePoint.ts +15 -0
- package/src/util/misc/sin.ts +26 -0
- package/src/util/misc/svgParsing.ts +181 -0
- package/src/util/misc/textStyles.ts +134 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.ts +82 -0
- package/src/util/path/index.ts +1038 -0
- package/src/util/path/regex.ts +41 -0
- package/src/util/path/typechecks.ts +145 -0
- package/src/util/path/typedefs.ts +305 -0
- package/src/util/transform_matrix_removal.ts +60 -0
- package/src/util/types.ts +78 -0
- package/tsconfig.json +106 -0
- package/HEADER.js +0 -203
- package/build.js +0 -287
- package/dist/fabric.js +0 -31187
- package/dist/fabric.min.js +0 -1
- package/old-travis-reference.yml +0 -97
- package/src/brushes/circle_brush.class.js +0 -144
- package/src/brushes/pattern_brush.class.js +0 -61
- package/src/brushes/pencil_brush.class.js +0 -310
- package/src/brushes/spray_brush.class.js +0 -219
- package/src/canvas.class.js +0 -1312
- package/src/color.class.js +0 -636
- package/src/control.class.js +0 -339
- package/src/controls.actions.js +0 -740
- package/src/controls.render.js +0 -99
- package/src/elements_parser.js +0 -152
- package/src/filters/2d_backend.class.js +0 -65
- package/src/filters/blendcolor_filter.class.js +0 -251
- package/src/filters/blendimage_filter.class.js +0 -247
- package/src/filters/blur_filter.class.js +0 -217
- package/src/filters/brightness_filter.class.js +0 -113
- package/src/filters/colormatrix_filter.class.js +0 -159
- package/src/filters/composed_filter.class.js +0 -72
- package/src/filters/contrast_filter.class.js +0 -113
- package/src/filters/convolute_filter.class.js +0 -352
- package/src/filters/filter_boilerplate.js +0 -111
- package/src/filters/filter_generator.js +0 -85
- package/src/filters/gamma_filter.class.js +0 -136
- package/src/filters/grayscale_filter.class.js +0 -154
- package/src/filters/hue_rotation.class.js +0 -107
- package/src/filters/invert_filter.class.js +0 -111
- package/src/filters/noise_filter.class.js +0 -134
- package/src/filters/pixelate_filter.class.js +0 -137
- package/src/filters/removecolor_filter.class.js +0 -173
- package/src/filters/resize_filter.class.js +0 -490
- package/src/filters/saturate_filter.class.js +0 -119
- package/src/filters/vibrance_filter.class.js +0 -122
- package/src/filters/webgl_backend.class.js +0 -396
- package/src/globalFabric.js +0 -4
- package/src/gradient.class.js +0 -490
- package/src/intersection.class.js +0 -172
- package/src/log.js +0 -11
- package/src/mixins/animation.mixin.js +0 -231
- package/src/mixins/canvas_dataurl_exporter.mixin.js +0 -97
- package/src/mixins/canvas_events.mixin.js +0 -974
- package/src/mixins/canvas_gestures.mixin.js +0 -149
- package/src/mixins/canvas_grouping.mixin.js +0 -177
- package/src/mixins/canvas_serialization.mixin.js +0 -228
- package/src/mixins/collection.mixin.js +0 -170
- package/src/mixins/default_controls.js +0 -114
- package/src/mixins/itext.svg_export.js +0 -241
- package/src/mixins/itext_behavior.mixin.js +0 -940
- package/src/mixins/itext_click_behavior.mixin.js +0 -278
- package/src/mixins/itext_key_behavior.mixin.js +0 -694
- package/src/mixins/object.svg_export.js +0 -258
- package/src/mixins/object_geometry.mixin.js +0 -683
- package/src/mixins/object_interactivity.mixin.js +0 -314
- package/src/mixins/object_origin.mixin.js +0 -255
- package/src/mixins/object_stacking.mixin.js +0 -80
- package/src/mixins/object_straightening.mixin.js +0 -80
- package/src/mixins/observable.mixin.js +0 -141
- package/src/mixins/shared_methods.mixin.js +0 -94
- package/src/mixins/stateful.mixin.js +0 -107
- package/src/mixins/text_style.mixin.js +0 -324
- package/src/parser.js +0 -1090
- package/src/pattern.class.js +0 -189
- package/src/point.class.js +0 -337
- package/src/shadow.class.js +0 -195
- package/src/shapes/active_selection.class.js +0 -155
- package/src/shapes/circle.class.js +0 -210
- package/src/shapes/ellipse.class.js +0 -181
- package/src/shapes/group.class.js +0 -593
- package/src/shapes/image.class.js +0 -764
- package/src/shapes/itext.class.js +0 -526
- package/src/shapes/line.class.js +0 -324
- package/src/shapes/object.class.js +0 -2008
- package/src/shapes/path.class.js +0 -384
- package/src/shapes/polygon.class.js +0 -81
- package/src/shapes/polyline.class.js +0 -268
- package/src/shapes/rect.class.js +0 -187
- package/src/shapes/text.class.js +0 -1696
- package/src/shapes/textbox.class.js +0 -461
- package/src/shapes/triangle.class.js +0 -93
- package/src/static_canvas.class.js +0 -1881
- package/src/util/anim_ease.js +0 -398
- package/src/util/animate.js +0 -254
- package/src/util/animate_color.js +0 -74
- package/src/util/dom_event.js +0 -50
- package/src/util/dom_misc.js +0 -300
- package/src/util/dom_request.js +0 -54
- package/src/util/dom_style.js +0 -70
- package/src/util/lang_array.js +0 -94
- package/src/util/lang_class.js +0 -115
- package/src/util/lang_object.js +0 -75
- package/src/util/lang_string.js +0 -110
- package/src/util/misc.js +0 -1330
- package/src/util/named_accessors.mixin.js +0 -428
- package/src/util/path.js +0 -829
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Percent, TMat2D } from '../typedefs';
|
|
2
|
+
export type GradientUnits = 'pixels' | 'percentage';
|
|
3
|
+
export type GradientType = 'linear' | 'radial';
|
|
4
|
+
export type GradientCoordValue = number | Percent | string;
|
|
5
|
+
export type ColorStop = {
|
|
6
|
+
color: string;
|
|
7
|
+
offset: number;
|
|
8
|
+
opacity?: number;
|
|
9
|
+
};
|
|
10
|
+
export type LinearGradientCoords<T extends GradientCoordValue> = {
|
|
11
|
+
/**
|
|
12
|
+
* X coordiante of the first point
|
|
13
|
+
*/
|
|
14
|
+
x1: T;
|
|
15
|
+
/**
|
|
16
|
+
* Y coordiante of the first point
|
|
17
|
+
*/
|
|
18
|
+
y1: T;
|
|
19
|
+
/**
|
|
20
|
+
* X coordiante of the second point
|
|
21
|
+
*/
|
|
22
|
+
x2: T;
|
|
23
|
+
/**
|
|
24
|
+
* Y coordiante of the second point
|
|
25
|
+
*/
|
|
26
|
+
y2: T;
|
|
27
|
+
};
|
|
28
|
+
export type RadialGradientCoords<T extends GradientCoordValue> = {
|
|
29
|
+
/**
|
|
30
|
+
* X coordiante of the first focal point
|
|
31
|
+
*/
|
|
32
|
+
x1: T;
|
|
33
|
+
/**
|
|
34
|
+
* Y coordiante of the first focal point
|
|
35
|
+
*/
|
|
36
|
+
y1: T;
|
|
37
|
+
/**
|
|
38
|
+
* X coordiante of the second focal point
|
|
39
|
+
*/
|
|
40
|
+
x2: T;
|
|
41
|
+
/**
|
|
42
|
+
* Y coordiante of the second focal point
|
|
43
|
+
*/
|
|
44
|
+
y2: T;
|
|
45
|
+
/**
|
|
46
|
+
* radius of the inner circle
|
|
47
|
+
*/
|
|
48
|
+
r1: T;
|
|
49
|
+
/**
|
|
50
|
+
* radius of the outer circle
|
|
51
|
+
*/
|
|
52
|
+
r2: T;
|
|
53
|
+
};
|
|
54
|
+
export type GradientCoords<T extends GradientType> = T extends 'linear' ? LinearGradientCoords<number> : RadialGradientCoords<number>;
|
|
55
|
+
export type GradientOptions<T extends GradientType> = {
|
|
56
|
+
type?: T;
|
|
57
|
+
gradientUnits?: GradientUnits;
|
|
58
|
+
colorStops?: ColorStop[];
|
|
59
|
+
coords: Partial<GradientCoords<T>>;
|
|
60
|
+
/**
|
|
61
|
+
* @todo rename?
|
|
62
|
+
*/
|
|
63
|
+
gradientTransform?: TMat2D;
|
|
64
|
+
id?: string;
|
|
65
|
+
/**
|
|
66
|
+
* SVG import compatibility
|
|
67
|
+
*/
|
|
68
|
+
offsetX?: number;
|
|
69
|
+
/**
|
|
70
|
+
* SVG import compatibility
|
|
71
|
+
*/
|
|
72
|
+
offsetY?: number;
|
|
73
|
+
};
|
|
74
|
+
export type SVGOptions = {
|
|
75
|
+
/**
|
|
76
|
+
* width part of the viewBox attribute on svg
|
|
77
|
+
*/
|
|
78
|
+
viewBoxWidth: number;
|
|
79
|
+
/**
|
|
80
|
+
* height part of the viewBox attribute on svg
|
|
81
|
+
*/
|
|
82
|
+
viewBoxHeight: number;
|
|
83
|
+
/**
|
|
84
|
+
* width part of the svg tag if viewBox is not specified
|
|
85
|
+
*/
|
|
86
|
+
width: number;
|
|
87
|
+
/**
|
|
88
|
+
* height part of the svg tag if viewBox is not specified
|
|
89
|
+
*/
|
|
90
|
+
height: number;
|
|
91
|
+
opacity: string | null;
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=typedefs.d.ts.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const cssRules: {};
|
|
2
|
+
export declare const gradientDefs: {};
|
|
3
|
+
export declare const clipPaths: {};
|
|
4
|
+
export declare const storage: {
|
|
5
|
+
cssRules: {};
|
|
6
|
+
gradientDefs: {};
|
|
7
|
+
clipPaths: {};
|
|
8
|
+
};
|
|
9
|
+
export declare const reNum = "(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)";
|
|
10
|
+
export declare const svgNS = "http://www.w3.org/2000/svg";
|
|
11
|
+
export declare const commaWsp: string;
|
|
12
|
+
export declare const reFontDeclaration: RegExp;
|
|
13
|
+
export declare const svgValidTagNames: string[], svgViewBoxElements: string[], svgInvalidAncestors: string[], svgValidParents: string[], attributesMap: {
|
|
14
|
+
cx: string;
|
|
15
|
+
x: string;
|
|
16
|
+
r: string;
|
|
17
|
+
cy: string;
|
|
18
|
+
y: string;
|
|
19
|
+
display: string;
|
|
20
|
+
visibility: string;
|
|
21
|
+
transform: string;
|
|
22
|
+
'fill-opacity': string;
|
|
23
|
+
'fill-rule': string;
|
|
24
|
+
'font-family': string;
|
|
25
|
+
'font-size': string;
|
|
26
|
+
'font-style': string;
|
|
27
|
+
'font-weight': string;
|
|
28
|
+
'letter-spacing': string;
|
|
29
|
+
'paint-order': string;
|
|
30
|
+
'stroke-dasharray': string;
|
|
31
|
+
'stroke-dashoffset': string;
|
|
32
|
+
'stroke-linecap': string;
|
|
33
|
+
'stroke-linejoin': string;
|
|
34
|
+
'stroke-miterlimit': string;
|
|
35
|
+
'stroke-opacity': string;
|
|
36
|
+
'stroke-width': string;
|
|
37
|
+
'text-decoration': string;
|
|
38
|
+
'text-anchor': string;
|
|
39
|
+
opacity: string;
|
|
40
|
+
'clip-path': string;
|
|
41
|
+
'clip-rule': string;
|
|
42
|
+
'vector-effect': string;
|
|
43
|
+
'image-rendering': string;
|
|
44
|
+
}, colorAttributes: {
|
|
45
|
+
stroke: string;
|
|
46
|
+
fill: string;
|
|
47
|
+
}, fSize = "font-size", cPath = "clip-path";
|
|
48
|
+
export declare const svgValidTagNamesRegEx: RegExp;
|
|
49
|
+
export declare const svgViewBoxElementsRegEx: RegExp;
|
|
50
|
+
export declare const svgInvalidAncestorsRegEx: RegExp;
|
|
51
|
+
export declare const svgValidParentsRegEx: RegExp;
|
|
52
|
+
export declare const reViewBoxAttrValue: RegExp;
|
|
53
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses an SVG document, returning all of the gradient declarations found in it
|
|
3
|
+
* @param {SVGDocument} doc SVG document to parse
|
|
4
|
+
* @return {Object} Gradient definitions; key corresponds to element id, value -- to gradient definition element
|
|
5
|
+
*/
|
|
6
|
+
export declare function getGradientDefs(doc: any): {};
|
|
7
|
+
//# sourceMappingURL=getGradientDefs.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { loadSVGFromURL } from './loadSVGFromURL';
|
|
2
|
+
export { loadSVGFromString } from './loadSVGFromString';
|
|
3
|
+
export { parseAttributes } from './parseAttributes';
|
|
4
|
+
export { parseElements } from './parseElements';
|
|
5
|
+
export { parseStyleAttribute } from './parseStyleAttribute';
|
|
6
|
+
export { parsePointsAttribute } from './parsePointsAttribute';
|
|
7
|
+
export { parseTransformAttribute } from './parseTransformAttribute';
|
|
8
|
+
export { getCSSRules } from './getCSSRules';
|
|
9
|
+
export { parseFontDeclaration } from './parseFontDeclaration';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takes string corresponding to an SVG document, and parses it into a set of fabric objects
|
|
3
|
+
* @memberOf fabric
|
|
4
|
+
* @param {String} string
|
|
5
|
+
* @param {Function} callback
|
|
6
|
+
* @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
|
|
7
|
+
* @param {Object} [options] Object containing options for parsing
|
|
8
|
+
* @param {String} [options.crossOrigin] crossOrigin crossOrigin setting to use for external resources
|
|
9
|
+
* @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
|
|
10
|
+
*/
|
|
11
|
+
export declare function loadSVGFromString(string: any, callback: any, reviver: any, options: any): void;
|
|
12
|
+
//# sourceMappingURL=loadSVGFromString.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takes url corresponding to an SVG document, and parses it into a set of fabric objects.
|
|
3
|
+
* Note that SVG is fetched via XMLHttpRequest, so it needs to conform to SOP (Same Origin Policy)
|
|
4
|
+
* @memberOf fabric
|
|
5
|
+
* @param {String} url
|
|
6
|
+
* @param {Function} callback
|
|
7
|
+
* @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
|
|
8
|
+
* @param {Object} [options] Object containing options for parsing
|
|
9
|
+
* @param {String} [options.crossOrigin] crossOrigin crossOrigin setting to use for external resources
|
|
10
|
+
* @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
|
|
11
|
+
*/
|
|
12
|
+
export declare function loadSVGFromURL(url: any, callback: any, reviver: any, options: any): void;
|
|
13
|
+
//# sourceMappingURL=loadSVGFromURL.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an object of attributes' name/value, given element and an array of attribute names;
|
|
3
|
+
* Parses parent "g" nodes recursively upwards.
|
|
4
|
+
* @param {SVGElement | HTMLElement} element Element to parse
|
|
5
|
+
* @param {Array} attributes Array of attributes to parse
|
|
6
|
+
* @return {Object} object containing parsed attributes' names/values
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseAttributes(element: SVGElement | HTMLElement, attributes: string[], svgUid?: string): Record<string, any>;
|
|
9
|
+
//# sourceMappingURL=parseAttributes.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforms an array of svg elements to corresponding fabric.* instances
|
|
3
|
+
* @static
|
|
4
|
+
* @memberOf fabric
|
|
5
|
+
* @param {Array} elements Array of elements to parse
|
|
6
|
+
* @param {Function} callback Being passed an array of fabric instances (transformed from SVG elements)
|
|
7
|
+
* @param {Object} [options] Options object
|
|
8
|
+
* @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseElements(elements: any, callback: any, options: any, reviver: any, parsingOptions: any): void;
|
|
11
|
+
//# sourceMappingURL=parseElements.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses a short font declaration, building adding its properties to a style object
|
|
3
|
+
* @static
|
|
4
|
+
* @function
|
|
5
|
+
* @memberOf fabric
|
|
6
|
+
* @param {String} value font declaration
|
|
7
|
+
* @param {Object} oStyle definition
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseFontDeclaration(value: any, oStyle: any): void;
|
|
10
|
+
//# sourceMappingURL=parseFontDeclaration.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses "points" attribute, returning an array of values
|
|
3
|
+
* @static
|
|
4
|
+
* @memberOf fabric
|
|
5
|
+
* @param {String} points points attribute string
|
|
6
|
+
* @return {Array} array of points
|
|
7
|
+
*/
|
|
8
|
+
export declare function parsePointsAttribute(points: any): {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
}[] | null;
|
|
12
|
+
//# sourceMappingURL=parsePointsAttribute.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses an SVG document, converts it to an array of corresponding fabric.* instances and passes them to a callback
|
|
3
|
+
* @static
|
|
4
|
+
* @function
|
|
5
|
+
* @memberOf fabric
|
|
6
|
+
* @param {SVGDocument} doc SVG document to parse
|
|
7
|
+
* @param {Function} callback Callback to call when parsing is finished;
|
|
8
|
+
* It's being passed an array of elements (parsed from a document).
|
|
9
|
+
* @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
|
|
10
|
+
* @param {Object} [parsingOptions] options for parsing document
|
|
11
|
+
* @param {String} [parsingOptions.crossOrigin] crossOrigin settings
|
|
12
|
+
* @param {AbortSignal} [parsingOptions.signal] see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseSVGDocument(doc: any, callback: any, reviver: any, parsingOptions: any): void;
|
|
15
|
+
//# sourceMappingURL=parseSVGDocument.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses "style" attribute, retuning an object with values
|
|
3
|
+
* @static
|
|
4
|
+
* @memberOf fabric
|
|
5
|
+
* @param {SVGElement} element Element to parse
|
|
6
|
+
* @return {Object} Objects with values parsed from style attribute of an element
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseStyleAttribute(element: any): {};
|
|
9
|
+
//# sourceMappingURL=parseStyleAttribute.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses "transform" attribute, returning an array of values
|
|
3
|
+
* @static
|
|
4
|
+
* @function
|
|
5
|
+
* @memberOf fabric
|
|
6
|
+
* @param {String} attributeValue String containing attribute value
|
|
7
|
+
* @return {Array} Array of 6 elements representing transformation matrix
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseTransformAttribute(attributeValue: any): any;
|
|
10
|
+
//# sourceMappingURL=parseTransformAttribute.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function isPercent(value: string | null): boolean | "" | null;
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param value
|
|
5
|
+
* @param valueIfNaN
|
|
6
|
+
* @returns ∈ [0, 1]
|
|
7
|
+
*/
|
|
8
|
+
export declare function parsePercent(value: string | number | null | undefined, valueIfNaN?: number): number;
|
|
9
|
+
//# sourceMappingURL=percent.d.ts.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { ControlRenderingStyleOverride } from '../controls/controlRendering';
|
|
2
|
+
import { Group } from './Group';
|
|
3
|
+
import type { FabricObject } from './Object/FabricObject';
|
|
4
|
+
export declare class ActiveSelection extends Group {
|
|
5
|
+
_objects: FabricObject[];
|
|
6
|
+
/**
|
|
7
|
+
* controls how selected objects are added during a multiselection event
|
|
8
|
+
* - `canvas-stacking` adds the selected object to the active selection while respecting canvas object stacking order
|
|
9
|
+
* - `selection-order` adds the selected object to the top of the stack,
|
|
10
|
+
* meaning that the stack is ordered by the order in which objects were selected
|
|
11
|
+
* @default `canvas-stacking`
|
|
12
|
+
*/
|
|
13
|
+
multiSelectionStacking: 'canvas-stacking' | 'selection-order';
|
|
14
|
+
constructor(objects?: FabricObject[], options?: any, objectsRelativeToGroup?: boolean);
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
_shouldSetNestedCoords(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* @private
|
|
21
|
+
* @override we don't want the selection monitor to be active
|
|
22
|
+
*/
|
|
23
|
+
__objectSelectionMonitor(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Adds objects with respect to {@link multiSelectionStacking}
|
|
26
|
+
* @param targets object to add to selection
|
|
27
|
+
*/
|
|
28
|
+
multiSelectAdd(...targets: FabricObject[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* @private
|
|
31
|
+
* @param {FabricObject} object
|
|
32
|
+
* @param {boolean} [removeParentTransform] true if object is in canvas coordinate plane
|
|
33
|
+
* @returns {boolean} true if object entered group
|
|
34
|
+
*/
|
|
35
|
+
enterGroup(object: FabricObject, removeParentTransform?: boolean): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* we want objects to retain their canvas ref when exiting instance
|
|
38
|
+
* @private
|
|
39
|
+
* @param {FabricObject} object
|
|
40
|
+
* @param {boolean} [removeParentTransform] true if object should exit group without applying group's transform to it
|
|
41
|
+
*/
|
|
42
|
+
exitGroup(object: FabricObject, removeParentTransform?: boolean): void;
|
|
43
|
+
/**
|
|
44
|
+
* @private
|
|
45
|
+
* @param {'added'|'removed'} type
|
|
46
|
+
* @param {FabricObject[]} targets
|
|
47
|
+
*/
|
|
48
|
+
_onAfterObjectsChange(type: 'added' | 'removed', targets: FabricObject[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* If returns true, deselection is cancelled.
|
|
51
|
+
* @since 2.0.0
|
|
52
|
+
* @return {Boolean} [cancel]
|
|
53
|
+
*/
|
|
54
|
+
onDeselect(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Returns string representation of a group
|
|
57
|
+
* @return {String}
|
|
58
|
+
*/
|
|
59
|
+
toString(): string;
|
|
60
|
+
/**
|
|
61
|
+
* Decide if the object should cache or not. Create its own cache level
|
|
62
|
+
* objectCaching is a global flag, wins over everything
|
|
63
|
+
* needsItsOwnCache should be used when the object drawing method requires
|
|
64
|
+
* a cache step. None of the fabric classes requires it.
|
|
65
|
+
* Generally you do not cache objects in groups because the group outside is cached.
|
|
66
|
+
* @return {Boolean}
|
|
67
|
+
*/
|
|
68
|
+
shouldCache(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Check if this group or its parent group are caching, recursively up
|
|
71
|
+
* @return {Boolean}
|
|
72
|
+
*/
|
|
73
|
+
isOnACache(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Renders controls and borders for the object
|
|
76
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
77
|
+
* @param {Object} [styleOverride] properties to override the object style
|
|
78
|
+
* @param {Object} [childrenOverride] properties to override the children overrides
|
|
79
|
+
*/
|
|
80
|
+
_renderControls(ctx: CanvasRenderingContext2D, styleOverride?: ControlRenderingStyleOverride, childrenOverride?: ControlRenderingStyleOverride): void;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=ActiveSelection.d.ts.map
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { ObjectEvents } from '../EventTypeDefs';
|
|
2
|
+
import { FabricObject } from './Object/FabricObject';
|
|
3
|
+
import { TClassProperties } from '../typedefs';
|
|
4
|
+
import { FabricObjectProps, SerializedObjectProps, TProps } from './Object/types';
|
|
5
|
+
interface UniqueCircleProps {
|
|
6
|
+
/**
|
|
7
|
+
* Radius of this circle
|
|
8
|
+
* @type Number
|
|
9
|
+
* @default 0
|
|
10
|
+
*/
|
|
11
|
+
radius: number;
|
|
12
|
+
/**
|
|
13
|
+
* degrees of start of the circle.
|
|
14
|
+
* probably will change to degrees in next major version
|
|
15
|
+
* @type Number 0 - 359
|
|
16
|
+
* @default 0
|
|
17
|
+
*/
|
|
18
|
+
startAngle: number;
|
|
19
|
+
/**
|
|
20
|
+
* End angle of the circle
|
|
21
|
+
* probably will change to degrees in next major version
|
|
22
|
+
* @type Number 1 - 360
|
|
23
|
+
* @default 360
|
|
24
|
+
*/
|
|
25
|
+
endAngle: number;
|
|
26
|
+
}
|
|
27
|
+
export interface SerializedCircleProps extends SerializedObjectProps, UniqueCircleProps {
|
|
28
|
+
}
|
|
29
|
+
export interface CircleProps extends FabricObjectProps, UniqueCircleProps {
|
|
30
|
+
}
|
|
31
|
+
export declare const circleDefaultValues: UniqueCircleProps;
|
|
32
|
+
export declare class Circle<Props extends TProps<CircleProps> = Partial<CircleProps>, SProps extends SerializedCircleProps = SerializedCircleProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> implements UniqueCircleProps {
|
|
33
|
+
radius: number;
|
|
34
|
+
startAngle: number;
|
|
35
|
+
endAngle: number;
|
|
36
|
+
static cacheProperties: string[];
|
|
37
|
+
static ownDefaults: Record<string, any>;
|
|
38
|
+
static getDefaults(): Record<string, any>;
|
|
39
|
+
/**
|
|
40
|
+
* @private
|
|
41
|
+
* @param {String} key
|
|
42
|
+
* @param {*} value
|
|
43
|
+
*/
|
|
44
|
+
_set(key: string, value: any): this;
|
|
45
|
+
/**
|
|
46
|
+
* @private
|
|
47
|
+
* @param {CanvasRenderingContext2D} ctx context to render on
|
|
48
|
+
*/
|
|
49
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
50
|
+
/**
|
|
51
|
+
* Returns horizontal radius of an object (according to how an object is scaled)
|
|
52
|
+
* @return {Number}
|
|
53
|
+
*/
|
|
54
|
+
getRadiusX(): number;
|
|
55
|
+
/**
|
|
56
|
+
* Returns vertical radius of an object (according to how an object is scaled)
|
|
57
|
+
* @return {Number}
|
|
58
|
+
*/
|
|
59
|
+
getRadiusY(): number;
|
|
60
|
+
/**
|
|
61
|
+
* Sets radius of an object (and updates width accordingly)
|
|
62
|
+
*/
|
|
63
|
+
setRadius(value: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* Returns object representation of an instance
|
|
66
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
67
|
+
* @return {Object} object representation of an instance
|
|
68
|
+
*/
|
|
69
|
+
toObject<T extends Omit<Props & TClassProperties<this>, keyof SProps>, K extends keyof T = never>(propertiesToInclude?: K[]): Pick<T, K> & SProps;
|
|
70
|
+
/**
|
|
71
|
+
* Returns svg representation of an instance
|
|
72
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
73
|
+
* of the instance
|
|
74
|
+
*/
|
|
75
|
+
_toSVG(): (string | number)[];
|
|
76
|
+
/**
|
|
77
|
+
* List of attribute names to account for when parsing SVG element (used by {@link Circle.fromElement})
|
|
78
|
+
* @static
|
|
79
|
+
* @memberOf Circle
|
|
80
|
+
* @see: http://www.w3.org/TR/SVG/shapes.html#CircleElement
|
|
81
|
+
*/
|
|
82
|
+
static ATTRIBUTE_NAMES: string[];
|
|
83
|
+
/**
|
|
84
|
+
* Returns {@link Circle} instance from an SVG element
|
|
85
|
+
* @static
|
|
86
|
+
* @memberOf Circle
|
|
87
|
+
* @param {SVGElement} element Element to parse
|
|
88
|
+
* @param {Function} [callback] Options callback invoked after parsing is finished
|
|
89
|
+
* @param {Object} [options] Partial Circle object to default missing properties on the element.
|
|
90
|
+
* @throws {Error} If value of `r` attribute is missing or invalid
|
|
91
|
+
*/
|
|
92
|
+
static fromElement(element: SVGElement, callback: (circle: Circle) => any): void;
|
|
93
|
+
/**
|
|
94
|
+
* @todo how do we declare this??
|
|
95
|
+
*/
|
|
96
|
+
static fromObject<T extends TProps<SerializedCircleProps>>(object: T): Promise<Circle<Partial<CircleProps>, SerializedCircleProps, ObjectEvents>>;
|
|
97
|
+
}
|
|
98
|
+
export {};
|
|
99
|
+
//# sourceMappingURL=Circle.d.ts.map
|