fabric 5.3.0 → 6.0.0-beta10
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 +51 -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 +615 -189
- package/CONTRIBUTING.md +233 -59
- package/README.md +200 -235
- package/babel-jest.config.js +6 -0
- package/bower.json +1 -3
- package/dist/fabric.d.ts +54 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +28452 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/index.mjs +28385 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +28538 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +20 -0
- package/dist/index.node.mjs +28477 -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/Pattern.d.ts +99 -0
- package/dist/src/Pattern/index.d.ts +3 -0
- package/dist/src/Pattern/types.d.ts +9 -0
- package/dist/src/Point.d.ts +232 -0
- package/dist/src/Shadow.d.ts +96 -0
- package/dist/src/brushes/BaseBrush.d.ts +101 -0
- package/dist/src/brushes/CircleBrush.d.ts +44 -0
- package/dist/src/brushes/CircleBrush.test.d.ts +2 -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 +74 -0
- package/dist/src/brushes/typedefs.d.ts +18 -0
- package/dist/src/cache.d.ts +47 -0
- package/dist/src/canvas/Canvas.d.ts +364 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +29 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +29 -0
- package/dist/src/canvas/DOMManagers/util.d.ts +24 -0
- package/dist/src/canvas/DOMManagers/util.spec.d.ts +2 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +723 -0
- package/dist/src/canvas/StaticCanvas.d.ts +747 -0
- package/dist/src/canvas/TextEditingManager.d.ts +21 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
- package/dist/src/color/Color.d.ts +152 -0
- package/dist/src/color/color_map.d.ts +155 -0
- package/dist/src/color/constants.d.ts +104 -0
- package/dist/src/color/typedefs.d.ts +16 -0
- package/dist/src/color/util.d.ts +27 -0
- package/dist/src/config.d.ts +115 -0
- package/dist/src/constants.d.ts +21 -0
- package/dist/src/controls/Control.d.ts +229 -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/fireEvent.d.ts +3 -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 +28 -0
- package/dist/src/env/node.d.ts +6 -0
- package/dist/src/env/types.d.ts +15 -0
- package/dist/src/filters/BaseFilter.d.ts +160 -0
- package/dist/src/filters/BlendColor.d.ts +81 -0
- package/dist/src/filters/BlendImage.d.ts +93 -0
- package/dist/src/filters/Blur.d.ts +52 -0
- package/dist/src/filters/Boilerplate.d.ts +48 -0
- package/dist/src/filters/Brightness.d.ts +48 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/ColorMatrix.d.ts +64 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +537 -0
- package/dist/src/filters/Composed.d.ts +46 -0
- package/dist/src/filters/Contrast.d.ts +46 -0
- package/dist/src/filters/Convolute.d.ts +83 -0
- package/dist/src/filters/FilterBackend.d.ts +15 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +7 -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 +55 -0
- package/dist/src/filters/Grayscale.d.ts +47 -0
- package/dist/src/filters/HueRotation.d.ts +25 -0
- package/dist/src/filters/Invert.d.ts +56 -0
- package/dist/src/filters/Noise.d.ts +55 -0
- package/dist/src/filters/Pixelate.d.ts +45 -0
- package/dist/src/filters/RemoveColor.d.ts +64 -0
- package/dist/src/filters/Resize.d.ts +137 -0
- package/dist/src/filters/Saturation.d.ts +49 -0
- package/dist/src/filters/Vibrance.d.ts +49 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +128 -0
- package/dist/src/filters/filters.d.ts +21 -0
- package/dist/src/filters/index.d.ts +7 -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 +48 -0
- package/dist/src/filters/utils.d.ts +3 -0
- package/dist/src/gradient/Gradient.d.ts +150 -0
- package/dist/src/gradient/constants.d.ts +15 -0
- package/dist/src/gradient/index.d.ts +3 -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 +9 -0
- package/dist/src/parser/loadSVGFromString.d.ts +18 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +19 -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/parseFontDeclaration.d.ts +10 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +12 -0
- package/dist/src/parser/parseSVGDocument.d.ts +23 -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 +11 -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/selectorMatches.d.ts +2 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist/src/parser/typedefs.d.ts +9 -0
- package/dist/src/shapes/ActiveSelection.d.ts +83 -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 +407 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/IText.d.ts +336 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +287 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +73 -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 +309 -0
- package/dist/src/shapes/Line.d.ts +121 -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 +599 -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 +214 -0
- package/dist/src/shapes/Polygon.d.ts +10 -0
- package/dist/src/shapes/Polyline.d.ts +147 -0
- package/dist/src/shapes/Rect.d.ts +82 -0
- package/dist/src/shapes/Text/StyledText.d.ts +123 -0
- package/dist/src/shapes/Text/Text.d.ts +688 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
- package/dist/src/shapes/Text/constants.d.ts +13 -0
- package/dist/src/shapes/Textbox.d.ts +204 -0
- package/dist/src/shapes/Triangle.d.ts +26 -0
- package/dist/src/typedefs.d.ts +96 -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/index.d.ts +3 -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 +12 -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/index.d.ts +36 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts +2 -0
- package/dist/src/util/internals/cleanupSvgAttribute.test.d.ts +2 -0
- package/dist/src/util/internals/cloneDeep.d.ts +2 -0
- package/dist/src/util/internals/cloneDeep.test.d.ts +2 -0
- package/dist/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist/src/util/internals/getRandomInt.test.d.ts +2 -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 +20 -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 +168 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +23 -0
- package/dist/src/util/misc/objectEnlive.d.ts +41 -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 +81 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +52 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +82 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +26 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +12 -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 +45 -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 +58 -0
- package/dist/src/util/path/index.d.ts +96 -0
- package/dist/src/util/path/regex.d.ts +2 -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/typeAssertions.d.ts +19 -0
- package/e2e/site/index.html +25 -0
- package/e2e/utils/objects.ts +36 -0
- package/fabric.ts +72 -0
- package/index.node.ts +43 -0
- package/index.ts +1 -0
- package/jest.config.js +194 -0
- package/lib/aligning_guidelines.js +2 -2
- package/package.json +110 -40
- package/playwright.config.ts +64 -0
- package/publish.js +0 -26
- package/rollup.config.mjs +99 -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 +298 -0
- package/src/Intersection.ts +302 -0
- package/src/Observable.ts +181 -0
- package/src/Pattern/Pattern.ts +207 -0
- package/src/Pattern/index.ts +2 -0
- package/src/Pattern/types.ts +17 -0
- package/src/Point.ts +388 -0
- package/src/Shadow.ts +214 -0
- package/src/brushes/{base_brush.class.js → BaseBrush.ts} +63 -42
- package/src/brushes/CircleBrush.test.ts +11 -0
- package/src/brushes/CircleBrush.ts +140 -0
- package/src/brushes/PatternBrush.ts +70 -0
- package/src/brushes/PencilBrush.ts +300 -0
- package/src/brushes/SprayBrush.ts +214 -0
- package/src/brushes/typedefs.ts +18 -0
- package/src/cache.ts +90 -0
- package/src/canvas/Canvas.ts +1598 -0
- package/src/canvas/DOMManagers/CanvasDOMManager.ts +124 -0
- package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +80 -0
- package/src/canvas/DOMManagers/util.spec.ts +26 -0
- package/src/canvas/DOMManagers/util.ts +98 -0
- package/src/canvas/SelectableCanvas.ts +1506 -0
- package/src/canvas/StaticCanvas.ts +1634 -0
- package/src/canvas/TextEditingManager.ts +70 -0
- package/src/canvas/canvas_gestures.mixin.ts +207 -0
- package/src/color/Color.ts +320 -0
- package/src/color/color_map.ts +154 -0
- package/src/color/constants.ts +107 -0
- package/src/color/typedefs.ts +18 -0
- package/src/color/util.ts +93 -0
- package/src/config.ts +159 -0
- package/src/constants.ts +29 -0
- package/src/controls/Control.ts +385 -0
- package/src/controls/changeWidth.ts +53 -0
- package/src/controls/commonControls.ts +105 -0
- package/src/controls/controlRendering.ts +138 -0
- package/src/controls/drag.ts +32 -0
- package/src/controls/fireEvent.ts +18 -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 +243 -0
- package/src/controls/util.ts +155 -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 +38 -0
- package/src/env/node.ts +58 -0
- package/src/env/types.ts +15 -0
- package/src/filters/{base_filter.class.js → BaseFilter.ts} +203 -151
- package/src/filters/BlendColor.ts +219 -0
- package/src/filters/BlendImage.ts +230 -0
- package/src/filters/Blur.ts +181 -0
- package/src/filters/Boilerplate.ts +94 -0
- package/src/filters/Brightness.ts +85 -0
- package/src/filters/Canvas2dFilterBackend.ts +65 -0
- package/src/filters/ColorMatrix.ts +147 -0
- package/src/filters/ColorMatrixFilters.ts +79 -0
- package/src/filters/Composed.ts +78 -0
- package/src/filters/Contrast.ts +84 -0
- package/src/filters/Convolute.ts +186 -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 +47 -0
- package/src/filters/Gamma.ts +112 -0
- package/src/filters/Grayscale.ts +104 -0
- package/src/filters/HueRotation.ts +64 -0
- package/src/filters/Invert.ts +101 -0
- package/src/filters/Noise.ts +96 -0
- package/src/filters/Pixelate.ts +98 -0
- package/src/filters/RemoveColor.ts +137 -0
- package/src/filters/Resize.ts +540 -0
- package/src/filters/Saturation.ts +89 -0
- package/src/filters/Vibrance.ts +90 -0
- package/src/filters/WebGLFilterBackend.ts +456 -0
- package/src/filters/filters.ts +28 -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 +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 +59 -0
- package/src/filters/utils.ts +7 -0
- package/src/gradient/Gradient.ts +409 -0
- package/src/gradient/constants.ts +12 -0
- package/src/gradient/index.ts +2 -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 +158 -0
- package/src/parser/attributes.ts +25 -0
- package/src/parser/constants.ts +116 -0
- package/src/parser/doesSomeParentMatch.ts +18 -0
- package/src/parser/elementById.ts +21 -0
- package/src/parser/elementMatchesRule.ts +16 -0
- package/src/parser/elements_parser.ts +158 -0
- package/src/parser/getCSSRules.ts +61 -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 +3 -0
- package/src/parser/hasAncestorWithNodeName.ts +14 -0
- package/src/parser/index.ts +8 -0
- package/src/parser/loadSVGFromString.ts +29 -0
- package/src/parser/loadSVGFromURL.ts +47 -0
- package/src/parser/normalizeAttr.ts +10 -0
- package/src/parser/normalizeValue.ts +64 -0
- package/src/parser/parseAttributes.ts +90 -0
- package/src/parser/parseFontDeclaration.ts +44 -0
- package/src/parser/parsePointsAttribute.ts +34 -0
- package/src/parser/parseSVGDocument.ts +118 -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 +94 -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/selectorMatches.ts +25 -0
- package/src/parser/setStrokeFillOpacity.ts +40 -0
- package/src/parser/typedefs.ts +13 -0
- package/src/shapes/ActiveSelection.ts +192 -0
- package/src/shapes/Circle.ts +236 -0
- package/src/shapes/Ellipse.ts +177 -0
- package/src/shapes/Group.ts +1103 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +385 -0
- package/src/shapes/IText/IText.ts +696 -0
- package/src/shapes/IText/ITextBehavior.ts +1073 -0
- package/src/shapes/IText/ITextClickBehavior.ts +292 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +675 -0
- package/src/shapes/IText/constants.ts +53 -0
- package/src/shapes/Image.ts +848 -0
- package/src/shapes/Line.ts +285 -0
- package/src/shapes/Object/AnimatableObject.ts +103 -0
- package/src/shapes/Object/FabricObject.ts +29 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +278 -0
- package/src/shapes/Object/InteractiveObject.ts +669 -0
- package/src/shapes/Object/Object.ts +1589 -0
- package/src/shapes/Object/ObjectGeometry.ts +814 -0
- package/src/shapes/Object/ObjectOrigin.ts +277 -0
- package/src/shapes/Object/StackedObject.ts +206 -0
- package/src/shapes/Object/defaultValues.ts +110 -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 +49 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +73 -0
- package/src/shapes/Object/types/index.ts +8 -0
- package/src/shapes/Path.ts +434 -0
- package/src/shapes/Polygon.ts +22 -0
- package/src/shapes/Polyline.ts +364 -0
- package/src/shapes/Rect.ts +230 -0
- package/src/shapes/Text/StyledText.ts +323 -0
- package/src/shapes/Text/Text.ts +1891 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +289 -0
- package/src/shapes/Text/constants.ts +111 -0
- package/src/shapes/Textbox.ts +526 -0
- package/src/shapes/Triangle.ts +62 -0
- package/src/typedefs.ts +121 -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/index.ts +2 -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 +44 -0
- package/src/util/dom_request.ts +64 -0
- package/src/util/dom_style.ts +20 -0
- package/src/util/index.ts +106 -0
- package/src/util/internals/cleanupSvgAttribute.test.ts +16 -0
- package/src/util/internals/cleanupSvgAttribute.ts +8 -0
- package/src/util/internals/cloneDeep.test.ts +16 -0
- package/src/util/internals/cloneDeep.ts +2 -0
- package/src/util/internals/getRandomInt.test.ts +33 -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 +38 -0
- package/src/util/misc/capValue.ts +2 -0
- package/src/util/misc/cos.ts +24 -0
- package/src/util/misc/dom.ts +55 -0
- package/src/util/misc/findScaleTo.ts +29 -0
- package/src/util/misc/groupSVGElements.ts +15 -0
- package/src/util/misc/isTransparent.ts +28 -0
- package/src/util/misc/matrix.ts +313 -0
- package/src/util/misc/mergeClipPaths.ts +40 -0
- package/src/util/misc/objectEnlive.ts +174 -0
- package/src/util/misc/objectTransforms.ts +130 -0
- package/src/util/misc/pick.ts +29 -0
- package/src/util/misc/planeChange.ts +127 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +113 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +227 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +76 -0
- package/src/util/misc/projectStroke/index.ts +55 -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 +171 -0
- package/src/util/misc/textStyles.ts +132 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.ts +83 -0
- package/src/util/path/index.ts +1039 -0
- package/src/util/path/regex.ts +39 -0
- package/src/util/path/typechecks.ts +145 -0
- package/src/util/path/typedefs.ts +305 -0
- package/src/util/transform_matrix_removal.ts +61 -0
- package/src/util/typeAssertions.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,24 @@
|
|
|
1
|
+
import type { TComplexParsedCommand, TParsedAbsoluteArcCommand, TParsedAbsoluteClosePathCommand, TParsedAbsoluteCubicCurveCommand, TParsedAbsoluteCubicCurveShortcutCommand, TParsedAbsoluteHorizontalLineCommand, TParsedAbsoluteLineCommand, TParsedAbsoluteMoveToCommand, TParsedAbsoluteQuadraticCurveCommand, TParsedAbsoluteQuadraticCurveShortcutCommand, TParsedAbsoluteVerticalLineCommand, TParsedClosePathCommand, TParsedLineCommand, TParsedRelativeArcCommand, TParsedRelativeClosePathCommand, TParsedRelativeCubicCurveCommand, TParsedRelativeCubicCurveShortcutCommand, TParsedRelativeHorizontalLineCommand, TParsedRelativeLineCommand, TParsedRelativeMoveToCommand, TParsedRelativeQuadraticCurveCommand, TParsedRelativeQuadraticCurveShortcutCommand, TParsedRelativeVerticalLineCommand } from './typedefs';
|
|
2
|
+
export declare function isAbsMoveToCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteMoveToCommand;
|
|
3
|
+
export declare function isRelMoveToCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeMoveToCommand;
|
|
4
|
+
export declare function isAbsLineCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteLineCommand;
|
|
5
|
+
export declare function isRelLineCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeLineCommand;
|
|
6
|
+
export declare function isLineCommand(cmd: TComplexParsedCommand): cmd is TParsedLineCommand;
|
|
7
|
+
export declare function isAbsHorizontalLineCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteHorizontalLineCommand;
|
|
8
|
+
export declare function isRelHorizontalLineCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeHorizontalLineCommand;
|
|
9
|
+
export declare function isAbsVerticalLineCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteVerticalLineCommand;
|
|
10
|
+
export declare function isRelVerticalLineCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeVerticalLineCommand;
|
|
11
|
+
export declare function isAbsClosePathCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteClosePathCommand;
|
|
12
|
+
export declare function isRelClosePathCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeClosePathCommand;
|
|
13
|
+
export declare function isClosePathCommand(cmd: TComplexParsedCommand): cmd is TParsedClosePathCommand;
|
|
14
|
+
export declare function isAbsCubicCurveCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteCubicCurveCommand;
|
|
15
|
+
export declare function isRelCubicCurveCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeCubicCurveCommand;
|
|
16
|
+
export declare function isAbsCubicCurveShortcutCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteCubicCurveShortcutCommand;
|
|
17
|
+
export declare function isRelCubicCurveShortcutCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeCubicCurveShortcutCommand;
|
|
18
|
+
export declare function isAbsQuadraticCurveCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteQuadraticCurveCommand;
|
|
19
|
+
export declare function isRelQuadraticCurveCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeQuadraticCurveCommand;
|
|
20
|
+
export declare function isAbsQuadraticCurveShortcutCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteQuadraticCurveShortcutCommand;
|
|
21
|
+
export declare function isRelQuadraticCurveShortcutCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeQuadraticCurveShortcutCommand;
|
|
22
|
+
export declare function isAbsArcCmd(cmd: TComplexParsedCommand): cmd is TParsedAbsoluteArcCommand;
|
|
23
|
+
export declare function isRelArcCmd(cmd: TComplexParsedCommand): cmd is TParsedRelativeArcCommand;
|
|
24
|
+
//# sourceMappingURL=typechecks.d.ts.map
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { TRadian } from '../../typedefs';
|
|
2
|
+
import type { XY, Point } from '../../Point';
|
|
3
|
+
export type TPathSegmentInfoCommon<C extends string> = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
command?: C;
|
|
7
|
+
length: number;
|
|
8
|
+
};
|
|
9
|
+
export type TCurveInfo<C extends string> = TPathSegmentInfoCommon<C> & {
|
|
10
|
+
/**
|
|
11
|
+
* Get the Point a certain percent distance along the curve
|
|
12
|
+
* @param pct
|
|
13
|
+
*/
|
|
14
|
+
iterator: (pct: number) => Point;
|
|
15
|
+
/**
|
|
16
|
+
* Get the angle to a percent
|
|
17
|
+
* @param pct
|
|
18
|
+
*/
|
|
19
|
+
angleFinder: (pct: number) => number;
|
|
20
|
+
/**
|
|
21
|
+
* Total length of the curve
|
|
22
|
+
*/
|
|
23
|
+
length: number;
|
|
24
|
+
};
|
|
25
|
+
export type TEndPathInfo = TPathSegmentInfoCommon<'Z'> & {
|
|
26
|
+
destX: number;
|
|
27
|
+
destY: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Relevant info to calculate path length/points on path
|
|
31
|
+
* for each command type in a simplified parsed path
|
|
32
|
+
*/
|
|
33
|
+
export type TPathSegmentCommandInfo = {
|
|
34
|
+
M: TPathSegmentInfoCommon<'M'>;
|
|
35
|
+
L: TPathSegmentInfoCommon<'L'>;
|
|
36
|
+
C: TCurveInfo<'C'>;
|
|
37
|
+
Q: TCurveInfo<'Q'>;
|
|
38
|
+
Z: TEndPathInfo;
|
|
39
|
+
};
|
|
40
|
+
export type TPathSegmentInfo = TPathSegmentCommandInfo[keyof TPathSegmentCommandInfo];
|
|
41
|
+
/**
|
|
42
|
+
* A parsed command of any length (even impossible ones)
|
|
43
|
+
*/
|
|
44
|
+
export type TParsedCommand = [command: string] | [command: string, arg1: number] | [command: string, arg1: number, arg2: number] | [command: string, arg1: number, arg2: number, arg3: number] | [command: string, arg1: number, arg2: number, arg3: number, arg4: number] | [
|
|
45
|
+
command: string,
|
|
46
|
+
arg1: number,
|
|
47
|
+
arg2: number,
|
|
48
|
+
arg3: number,
|
|
49
|
+
arg4: number,
|
|
50
|
+
arg5: number
|
|
51
|
+
] | [
|
|
52
|
+
command: string,
|
|
53
|
+
arg1: number,
|
|
54
|
+
arg2: number,
|
|
55
|
+
arg3: number,
|
|
56
|
+
arg4: number,
|
|
57
|
+
arg5: number,
|
|
58
|
+
arg6: number
|
|
59
|
+
] | [
|
|
60
|
+
command: string,
|
|
61
|
+
arg1: number,
|
|
62
|
+
arg2: number,
|
|
63
|
+
arg3: number,
|
|
64
|
+
arg4: number,
|
|
65
|
+
arg5: number,
|
|
66
|
+
arg6: number,
|
|
67
|
+
arg7: number
|
|
68
|
+
];
|
|
69
|
+
/**
|
|
70
|
+
* Command strings of any length
|
|
71
|
+
*/
|
|
72
|
+
type TCommand1<T extends TParsedCommand> = `${T[0]}`;
|
|
73
|
+
type TCommand2<T extends TParsedCommand> = `${T[0]} ${T[1]}`;
|
|
74
|
+
type TCommand3<T extends TParsedCommand> = `${T[0]} ${T[1]} ${T[2]}`;
|
|
75
|
+
type TCommand5<T extends TParsedCommand> = `${T[0]} ${T[1]} ${T[2]} ${T[3]} ${T[4]}`;
|
|
76
|
+
type TCommand7<T extends TParsedCommand> = `${T[0]} ${T[1]} ${T[2]} ${T[3]} ${T[4]} ${T[5]} ${T[6]}`;
|
|
77
|
+
type TCommand8<T extends TParsedCommand> = `${T[0]} ${T[1]} ${T[2]} ${T[3]} ${T[4]} ${T[5]} ${T[6]} ${T[7]}`;
|
|
78
|
+
/**
|
|
79
|
+
* Begin parsed SVG path commands
|
|
80
|
+
* Read about commands at {@link https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths|MDN}
|
|
81
|
+
*/
|
|
82
|
+
export type TParsedAbsoluteMoveToCommand = [command: 'M', x: number, y: number];
|
|
83
|
+
export type TParsedRelativeMoveToCommand = [
|
|
84
|
+
command: 'm',
|
|
85
|
+
dx: number,
|
|
86
|
+
dy: number
|
|
87
|
+
];
|
|
88
|
+
export type TParsedMoveToCommand = TParsedAbsoluteMoveToCommand | TParsedRelativeMoveToCommand;
|
|
89
|
+
export type TMoveToCommand = TCommand3<TParsedMoveToCommand>;
|
|
90
|
+
export type TParsedAbsoluteLineCommand = [command: 'L', x: number, y: number];
|
|
91
|
+
export type TParsedRelativeLineCommand = [command: 'l', dx: number, dy: number];
|
|
92
|
+
export type TParsedLineCommand = TParsedAbsoluteLineCommand | TParsedRelativeLineCommand;
|
|
93
|
+
export type TLineCommand = TCommand3<TParsedLineCommand>;
|
|
94
|
+
export type TParsedAbsoluteHorizontalLineCommand = [command: 'H', x: number];
|
|
95
|
+
export type TParsedRelativeHorizontalLineCommand = [command: 'h', dx: number];
|
|
96
|
+
export type TParsedHorizontalLineCommand = TParsedAbsoluteHorizontalLineCommand | TParsedRelativeHorizontalLineCommand;
|
|
97
|
+
export type THorizontalLineCommand = TCommand2<TParsedHorizontalLineCommand>;
|
|
98
|
+
export type TParsedAbsoluteVerticalLineCommand = [command: 'V', y: number];
|
|
99
|
+
export type TParsedRelativeVerticalLineCommand = [command: 'v', dy: number];
|
|
100
|
+
export type TParsedVerticalLineCommand = TParsedAbsoluteVerticalLineCommand | TParsedRelativeVerticalLineCommand;
|
|
101
|
+
export type TVerticalLineCommand = TCommand2<TParsedVerticalLineCommand>;
|
|
102
|
+
export type TParsedAbsoluteClosePathCommand = [command: 'Z'];
|
|
103
|
+
export type TParsedRelativeClosePathCommand = [command: 'z'];
|
|
104
|
+
export type TParsedClosePathCommand = TParsedAbsoluteClosePathCommand | TParsedRelativeClosePathCommand;
|
|
105
|
+
export type TClosePathCommand = TCommand1<TParsedClosePathCommand>;
|
|
106
|
+
export type TParsedAbsoluteCubicCurveCommand = [
|
|
107
|
+
command: 'C',
|
|
108
|
+
controlPoint1X: number,
|
|
109
|
+
controlPoint1Y: number,
|
|
110
|
+
controlPoint2X: number,
|
|
111
|
+
controlPoint2Y: number,
|
|
112
|
+
endX: number,
|
|
113
|
+
endY: number
|
|
114
|
+
];
|
|
115
|
+
export type TParsedRelativeCubicCurveCommand = [
|
|
116
|
+
command: 'c',
|
|
117
|
+
controlPoint1DX: number,
|
|
118
|
+
controlPoint1DY: number,
|
|
119
|
+
controlPoint2DX: number,
|
|
120
|
+
controlPoint2DY: number,
|
|
121
|
+
endDX: number,
|
|
122
|
+
endDY: number
|
|
123
|
+
];
|
|
124
|
+
export type TParsedCubicCurveCommand = TParsedAbsoluteCubicCurveCommand | TParsedRelativeCubicCurveCommand;
|
|
125
|
+
export type TCubicCurveCommand = TCommand7<TParsedCubicCurveCommand>;
|
|
126
|
+
export type TParsedAbsoluteCubicCurveShortcutCommand = [
|
|
127
|
+
command: 'S',
|
|
128
|
+
controlPoint2X: number,
|
|
129
|
+
controlPoint2Y: number,
|
|
130
|
+
endX: number,
|
|
131
|
+
endY: number
|
|
132
|
+
];
|
|
133
|
+
export type TParsedRelativeCubicCurveShortcutCommand = [
|
|
134
|
+
command: 's',
|
|
135
|
+
controlPoint2DX: number,
|
|
136
|
+
controlPoint2DY: number,
|
|
137
|
+
endDX: number,
|
|
138
|
+
endDY: number
|
|
139
|
+
];
|
|
140
|
+
export type TParsedCubicCurveShortcutCommand = TParsedAbsoluteCubicCurveShortcutCommand | TParsedRelativeCubicCurveShortcutCommand;
|
|
141
|
+
export type TCubicCurveShortcutCommand = TCommand5<TParsedCubicCurveShortcutCommand>;
|
|
142
|
+
export type TParsedAbsoluteQuadraticCurveCommand = [
|
|
143
|
+
command: 'Q',
|
|
144
|
+
controlPointX: number,
|
|
145
|
+
controlPointY: number,
|
|
146
|
+
endX: number,
|
|
147
|
+
endY: number
|
|
148
|
+
];
|
|
149
|
+
export type TParsedRelativeQuadraticCurveCommand = [
|
|
150
|
+
command: 'q',
|
|
151
|
+
controlPointDX: number,
|
|
152
|
+
controlPointDY: number,
|
|
153
|
+
endDX: number,
|
|
154
|
+
endDY: number
|
|
155
|
+
];
|
|
156
|
+
export type TParsedQuadraticCurveCommand = TParsedAbsoluteQuadraticCurveCommand | TParsedRelativeQuadraticCurveCommand;
|
|
157
|
+
export type TQuadraticCurveCommand = TCommand5<TParsedQuadraticCurveCommand>;
|
|
158
|
+
export type TParsedAbsoluteQuadraticCurveShortcutCommand = [
|
|
159
|
+
command: 'T',
|
|
160
|
+
endX: number,
|
|
161
|
+
endY: number
|
|
162
|
+
];
|
|
163
|
+
export type TParsedRelativeQuadraticCurveShortcutCommand = [
|
|
164
|
+
command: 't',
|
|
165
|
+
endDX: number,
|
|
166
|
+
endDY: number
|
|
167
|
+
];
|
|
168
|
+
export type TParsedQuadraticCurveShortcutCommand = TParsedAbsoluteQuadraticCurveShortcutCommand | TParsedRelativeQuadraticCurveShortcutCommand;
|
|
169
|
+
export type TQuadraticCurveShortcutCommand = TCommand3<TParsedQuadraticCurveShortcutCommand>;
|
|
170
|
+
export type TParsedAbsoluteArcCommand = [
|
|
171
|
+
command: 'A',
|
|
172
|
+
radiusX: number,
|
|
173
|
+
radiusY: number,
|
|
174
|
+
rotation: TRadian,
|
|
175
|
+
largeArc: 0 | 1,
|
|
176
|
+
sweep: 0 | 1,
|
|
177
|
+
endX: number,
|
|
178
|
+
endY: number
|
|
179
|
+
];
|
|
180
|
+
export type TParsedRelativeArcCommand = [
|
|
181
|
+
command: 'a',
|
|
182
|
+
radiusX: number,
|
|
183
|
+
radiusY: number,
|
|
184
|
+
rotation: TRadian,
|
|
185
|
+
largeArc: 0 | 1,
|
|
186
|
+
sweep: 0 | 1,
|
|
187
|
+
endDX: number,
|
|
188
|
+
endDY: number
|
|
189
|
+
];
|
|
190
|
+
export type TParsedArcCommand = TParsedAbsoluteArcCommand | TParsedRelativeArcCommand;
|
|
191
|
+
export type TArcCommandSingleFlag<T extends TParsedArcCommand> = `${T[0]} ${T[1]} ${T[2]} ${T[3]} ${T[4]}${T[5]} ${T[6]} ${T[7]}`;
|
|
192
|
+
export type TArcCommand = TCommand8<TParsedArcCommand> | TArcCommandSingleFlag<TParsedArcCommand>;
|
|
193
|
+
/**
|
|
194
|
+
* End parsed path commands
|
|
195
|
+
*/
|
|
196
|
+
/**
|
|
197
|
+
* Any old valid SVG path command
|
|
198
|
+
*/
|
|
199
|
+
export type TComplexParsedCommand = TParsedMoveToCommand | TParsedLineCommand | TParsedHorizontalLineCommand | TParsedVerticalLineCommand | TParsedClosePathCommand | TParsedCubicCurveCommand | TParsedCubicCurveShortcutCommand | TParsedQuadraticCurveCommand | TParsedQuadraticCurveShortcutCommand | TParsedArcCommand;
|
|
200
|
+
/**
|
|
201
|
+
* A series of path commands
|
|
202
|
+
*/
|
|
203
|
+
export type TComplexPathData = TComplexParsedCommand[];
|
|
204
|
+
/**
|
|
205
|
+
* Any SVG command that all Fabric functions can understand
|
|
206
|
+
*
|
|
207
|
+
*/
|
|
208
|
+
export type TSimpleParsedCommand = TParsedAbsoluteMoveToCommand | TParsedAbsoluteLineCommand | TParsedAbsoluteClosePathCommand | TParsedAbsoluteCubicCurveCommand | TParsedAbsoluteQuadraticCurveCommand;
|
|
209
|
+
/**
|
|
210
|
+
* A series of simple paths
|
|
211
|
+
*/
|
|
212
|
+
export type TSimplePathData = TSimpleParsedCommand[];
|
|
213
|
+
/**
|
|
214
|
+
* A point (vector) and angle between the vector and x-axis
|
|
215
|
+
*/
|
|
216
|
+
export type TPointAngle = XY & {
|
|
217
|
+
angle: TRadian;
|
|
218
|
+
};
|
|
219
|
+
export {};
|
|
220
|
+
//# sourceMappingURL=typedefs.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FabricObject } from '../shapes/Object/FabricObject';
|
|
2
|
+
import type { TMat2D } from '../typedefs';
|
|
3
|
+
type FabricObjectWithTransformMatrix = FabricObject & {
|
|
4
|
+
transformMatrix?: TMat2D;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* This function is an helper for svg import. it removes the transform matrix
|
|
8
|
+
* and set to object properties that fabricjs can handle
|
|
9
|
+
* @private
|
|
10
|
+
* @param {Object} preserveAspectRatioOptions
|
|
11
|
+
*/
|
|
12
|
+
export declare const removeTransformMatrixForSvgParsing: (object: FabricObjectWithTransformMatrix, preserveAspectRatioOptions?: any) => void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=transform_matrix_removal.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ActiveSelection } from '../shapes/ActiveSelection';
|
|
2
|
+
import type { Group } from '../shapes/Group';
|
|
3
|
+
import type { FabricObject, TCachedFabricObject } from '../shapes/Object/Object';
|
|
4
|
+
import type { FabricObjectWithDragSupport } from '../shapes/Object/InteractiveObject';
|
|
5
|
+
import type { TFiller } from '../typedefs';
|
|
6
|
+
import type { Text } from '../shapes/Text/Text';
|
|
7
|
+
import type { Pattern } from '../Pattern';
|
|
8
|
+
import type { IText } from '../shapes/IText/IText';
|
|
9
|
+
import type { Textbox } from '../shapes/Textbox';
|
|
10
|
+
export declare const isFiller: (filler: TFiller | string | null) => filler is TFiller;
|
|
11
|
+
export declare const isSerializableFiller: (filler: TFiller | string | null) => filler is TFiller;
|
|
12
|
+
export declare const isPattern: (filler: TFiller) => filler is Pattern;
|
|
13
|
+
export declare const isCollection: (fabricObject?: FabricObject) => fabricObject is Group | ActiveSelection;
|
|
14
|
+
export declare const isActiveSelection: (fabricObject?: FabricObject) => fabricObject is ActiveSelection;
|
|
15
|
+
export declare const isTextObject: (fabricObject?: FabricObject) => fabricObject is Text<Partial<import("../shapes/Text/Text").TextProps>, import("../shapes/Text/Text").SerializedTextProps, import("../EventTypeDefs").ObjectEvents>;
|
|
16
|
+
export declare const isInteractiveTextObject: (fabricObject?: FabricObject) => fabricObject is IText<import("../shapes/IText/IText").ITextProps, import("../shapes/IText/IText").SerializedITextProps, import("../shapes/IText/ITextBehavior").ITextEvents> | Textbox;
|
|
17
|
+
export declare const isFabricObjectCached: (fabricObject: FabricObject) => fabricObject is TCachedFabricObject;
|
|
18
|
+
export declare const isFabricObjectWithDragSupport: (fabricObject?: FabricObject) => fabricObject is FabricObjectWithDragSupport;
|
|
19
|
+
//# sourceMappingURL=typeAssertions.d.ts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<script type="text/javascript" src="/dist/index.js"></script>
|
|
4
|
+
<style>
|
|
5
|
+
body {
|
|
6
|
+
padding: 0;
|
|
7
|
+
margin: 0;
|
|
8
|
+
}
|
|
9
|
+
.canvas-container {
|
|
10
|
+
border: 1px solid black;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<canvas id="test-canvas" width="800" height="600"></canvas>
|
|
16
|
+
</body>
|
|
17
|
+
<script type="text/javascript">
|
|
18
|
+
const fabricCanvas = new fabric.Canvas(
|
|
19
|
+
document.getElementById('test-canvas'),
|
|
20
|
+
{ enableRetinaScaling: false }
|
|
21
|
+
);
|
|
22
|
+
window.fabricCanvas = fabricCanvas;
|
|
23
|
+
window.setupScene = (json) => fabricCanvas.loadFromJSON(json);
|
|
24
|
+
</script>
|
|
25
|
+
</html>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export async function addTextbox(page, objectId, text, properties) {
|
|
2
|
+
await page.evaluate(
|
|
3
|
+
({ objectId, text, properties }) => {
|
|
4
|
+
const textbox = new fabric.Textbox(text, {
|
|
5
|
+
...properties,
|
|
6
|
+
id: objectId,
|
|
7
|
+
});
|
|
8
|
+
fabricCanvas.add(textbox);
|
|
9
|
+
},
|
|
10
|
+
{ objectId, text, properties }
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export async function getObjectCenter(page, objectId) {
|
|
15
|
+
return page.evaluate(
|
|
16
|
+
({ objectId }) => {
|
|
17
|
+
const obj = fabricCanvas.getObjects().find((obj) => obj.id === objectId);
|
|
18
|
+
return obj.getCenterPoint();
|
|
19
|
+
},
|
|
20
|
+
{ objectId }
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export async function clickCanvas(page, clickProperties) {
|
|
25
|
+
await page.click('canvas.upper-canvas', clickProperties);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export async function getObjectControlPoint(page, objectId, controlName) {
|
|
29
|
+
return await page.evaluate(
|
|
30
|
+
({ objectId, controlName }) => {
|
|
31
|
+
const obj = fabricCanvas.getObjects().find((obj) => obj.id === objectId);
|
|
32
|
+
return obj.oCoords[controlName];
|
|
33
|
+
},
|
|
34
|
+
{ objectId, controlName }
|
|
35
|
+
);
|
|
36
|
+
}
|
package/fabric.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export { getEnv, getFabricDocument, getFabricWindow, setEnv } from './src/env';
|
|
2
|
+
export { cache } from './src/cache';
|
|
3
|
+
export { VERSION as version, iMatrix } from './src/constants';
|
|
4
|
+
export { config } from './src/config';
|
|
5
|
+
export { classRegistry } from './src/ClassRegistry';
|
|
6
|
+
export { runningAnimations } from './src/util/animation/AnimationRegistry';
|
|
7
|
+
|
|
8
|
+
export * from './src/typedefs';
|
|
9
|
+
|
|
10
|
+
export * from './src/EventTypeDefs';
|
|
11
|
+
export { Observable } from './src/Observable';
|
|
12
|
+
|
|
13
|
+
export { StaticCanvas } from './src/canvas/StaticCanvas';
|
|
14
|
+
export { Canvas } from './src/canvas/Canvas';
|
|
15
|
+
export { CanvasDOMManager } from './src/canvas/DOMManagers/CanvasDOMManager';
|
|
16
|
+
export { StaticCanvasDOMManager } from './src/canvas/DOMManagers/StaticCanvasDOMManager';
|
|
17
|
+
|
|
18
|
+
export type { XY } from './src/Point';
|
|
19
|
+
export { Point } from './src/Point';
|
|
20
|
+
export type { IntersectionType } from './src/Intersection';
|
|
21
|
+
export { Intersection } from './src/Intersection';
|
|
22
|
+
export { Color } from './src/color/Color';
|
|
23
|
+
export * from './src/color/typedefs';
|
|
24
|
+
|
|
25
|
+
export * from './src/gradient';
|
|
26
|
+
export * from './src/Pattern';
|
|
27
|
+
export { Shadow } from './src/Shadow';
|
|
28
|
+
export type { SerializedShadowOptions } from './src/Shadow';
|
|
29
|
+
|
|
30
|
+
export { BaseBrush } from './src/brushes/BaseBrush';
|
|
31
|
+
export * from './src/brushes/typedefs';
|
|
32
|
+
|
|
33
|
+
export { PencilBrush } from './src/brushes/PencilBrush';
|
|
34
|
+
export { CircleBrush } from './src/brushes/CircleBrush';
|
|
35
|
+
export { SprayBrush } from './src/brushes/SprayBrush';
|
|
36
|
+
export { PatternBrush } from './src/brushes/PatternBrush';
|
|
37
|
+
|
|
38
|
+
export { FabricObject as Object } from './src/shapes/Object/FabricObject';
|
|
39
|
+
export type { TProps } from './src/shapes/Object/types';
|
|
40
|
+
export { Line } from './src/shapes/Line';
|
|
41
|
+
export { Circle } from './src/shapes/Circle';
|
|
42
|
+
export { Triangle } from './src/shapes/Triangle';
|
|
43
|
+
export { Ellipse } from './src/shapes/Ellipse';
|
|
44
|
+
export { Rect } from './src/shapes/Rect';
|
|
45
|
+
export { Path } from './src/shapes/Path';
|
|
46
|
+
export { Polyline } from './src/shapes/Polyline';
|
|
47
|
+
export { Polygon } from './src/shapes/Polygon';
|
|
48
|
+
export { Text } from './src/shapes/Text/Text';
|
|
49
|
+
export { IText } from './src/shapes/IText/IText';
|
|
50
|
+
export { Textbox } from './src/shapes/Textbox';
|
|
51
|
+
export type {
|
|
52
|
+
TextStyleDeclaration,
|
|
53
|
+
TextStyle,
|
|
54
|
+
} from './src/shapes/Text/StyledText';
|
|
55
|
+
export { Group } from './src/shapes/Group';
|
|
56
|
+
export { ActiveSelection } from './src/shapes/ActiveSelection';
|
|
57
|
+
export { Image } from './src/shapes/Image';
|
|
58
|
+
export type {
|
|
59
|
+
ImageSource,
|
|
60
|
+
SerializedImageProps,
|
|
61
|
+
ImageProps,
|
|
62
|
+
} from './src/shapes/Image';
|
|
63
|
+
export { createCollectionMixin } from './src/Collection';
|
|
64
|
+
|
|
65
|
+
export * as util from './src/util';
|
|
66
|
+
|
|
67
|
+
export * from './src/parser';
|
|
68
|
+
|
|
69
|
+
export { Control } from './src/controls/Control';
|
|
70
|
+
export * as controlsUtils from './src/controls';
|
|
71
|
+
|
|
72
|
+
export * from './src/filters';
|
package/index.node.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// first we set the env variable by importing the node env file
|
|
2
|
+
import { getNodeCanvas } from './src/env/node';
|
|
3
|
+
|
|
4
|
+
import type { JpegConfig, PngConfig } from 'canvas';
|
|
5
|
+
import {
|
|
6
|
+
Canvas as CanvasBase,
|
|
7
|
+
StaticCanvas as StaticCanvasBase,
|
|
8
|
+
} from './fabric';
|
|
9
|
+
import { FabricObject } from './src/shapes/Object/Object';
|
|
10
|
+
|
|
11
|
+
FabricObject.ownDefaults.objectCaching = false;
|
|
12
|
+
|
|
13
|
+
export * from './fabric';
|
|
14
|
+
|
|
15
|
+
export class StaticCanvas extends StaticCanvasBase {
|
|
16
|
+
getNodeCanvas() {
|
|
17
|
+
return getNodeCanvas(this.getElement());
|
|
18
|
+
}
|
|
19
|
+
createPNGStream(opts?: PngConfig) {
|
|
20
|
+
return this.getNodeCanvas().createPNGStream(opts);
|
|
21
|
+
}
|
|
22
|
+
createJPEGStream(opts?: JpegConfig) {
|
|
23
|
+
return this.getNodeCanvas().createJPEGStream(opts);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* **NOTICE**:
|
|
29
|
+
* {@link Canvas} is designed for interactivity.
|
|
30
|
+
* Therefore, using it in node has no benefit.
|
|
31
|
+
* Use {@link StaticCanvas} instead.
|
|
32
|
+
*/
|
|
33
|
+
export class Canvas extends CanvasBase {
|
|
34
|
+
getNodeCanvas() {
|
|
35
|
+
return getNodeCanvas(this.getElement());
|
|
36
|
+
}
|
|
37
|
+
createPNGStream(opts?: PngConfig) {
|
|
38
|
+
return this.getNodeCanvas().createPNGStream(opts);
|
|
39
|
+
}
|
|
40
|
+
createJPEGStream(opts?: JpegConfig) {
|
|
41
|
+
return this.getNodeCanvas().createJPEGStream(opts);
|
|
42
|
+
}
|
|
43
|
+
}
|
package/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './fabric';
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* For a detailed explanation regarding each configuration property and type check, visit:
|
|
3
|
+
* https://jestjs.io/docs/configuration
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
// All imported modules in your tests should be mocked automatically
|
|
8
|
+
// automock: false,
|
|
9
|
+
|
|
10
|
+
// Stop running tests after `n` failures
|
|
11
|
+
// bail: 0,
|
|
12
|
+
|
|
13
|
+
// The directory where Jest should store its cached dependency information
|
|
14
|
+
// cacheDirectory: "/private/var/folders/gt/ttb4nqb55fg11kc65xjd54r40000gp/T/jest_dy",
|
|
15
|
+
|
|
16
|
+
// Automatically clear mock calls, instances, contexts and results before every test
|
|
17
|
+
clearMocks: true,
|
|
18
|
+
|
|
19
|
+
// Indicates whether the coverage information should be collected while executing the test
|
|
20
|
+
collectCoverage: false,
|
|
21
|
+
|
|
22
|
+
// An array of glob patterns indicating a set of files for which coverage information should be collected
|
|
23
|
+
// collectCoverageFrom: undefined,
|
|
24
|
+
|
|
25
|
+
// The directory where Jest should output its coverage files
|
|
26
|
+
coverageDirectory: 'coverage',
|
|
27
|
+
|
|
28
|
+
// An array of regexp pattern strings used to skip coverage collection
|
|
29
|
+
// coveragePathIgnorePatterns: [
|
|
30
|
+
// "/node_modules/"
|
|
31
|
+
// ],
|
|
32
|
+
|
|
33
|
+
// Indicates which provider should be used to instrument code for coverage
|
|
34
|
+
// coverageProvider: "babel",
|
|
35
|
+
|
|
36
|
+
// A list of reporter names that Jest uses when writing coverage reports
|
|
37
|
+
coverageReporters: [
|
|
38
|
+
'json',
|
|
39
|
+
// "text",
|
|
40
|
+
// 'lcov',
|
|
41
|
+
// "clover"
|
|
42
|
+
// 'silent',
|
|
43
|
+
],
|
|
44
|
+
|
|
45
|
+
// An object that configures minimum threshold enforcement for coverage results
|
|
46
|
+
// coverageThreshold: undefined,
|
|
47
|
+
|
|
48
|
+
// A path to a custom dependency extractor
|
|
49
|
+
// dependencyExtractor: undefined,
|
|
50
|
+
|
|
51
|
+
// Make calling deprecated APIs throw helpful error messages
|
|
52
|
+
// errorOnDeprecated: false,
|
|
53
|
+
|
|
54
|
+
// The default configuration for fake timers
|
|
55
|
+
// fakeTimers: {
|
|
56
|
+
// "enableGlobally": false
|
|
57
|
+
// },
|
|
58
|
+
|
|
59
|
+
// Force coverage collection from ignored files using an array of glob patterns
|
|
60
|
+
// forceCoverageMatch: [],
|
|
61
|
+
|
|
62
|
+
// A path to a module which exports an async function that is triggered once before all test suites
|
|
63
|
+
// globalSetup: undefined,
|
|
64
|
+
|
|
65
|
+
// A path to a module which exports an async function that is triggered once after all test suites
|
|
66
|
+
// globalTeardown: undefined,
|
|
67
|
+
|
|
68
|
+
// A set of global variables that need to be available in all test environments
|
|
69
|
+
// globals: {},
|
|
70
|
+
|
|
71
|
+
// The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
|
|
72
|
+
// maxWorkers: "50%",
|
|
73
|
+
|
|
74
|
+
// An array of directory names to be searched recursively up from the requiring module's location
|
|
75
|
+
// moduleDirectories: [
|
|
76
|
+
// "node_modules"
|
|
77
|
+
// ],
|
|
78
|
+
|
|
79
|
+
// An array of file extensions your modules use
|
|
80
|
+
// moduleFileExtensions: [
|
|
81
|
+
// "js",
|
|
82
|
+
// "mjs",
|
|
83
|
+
// "cjs",
|
|
84
|
+
// "jsx",
|
|
85
|
+
// "ts",
|
|
86
|
+
// "tsx",
|
|
87
|
+
// "json",
|
|
88
|
+
// "node"
|
|
89
|
+
// ],
|
|
90
|
+
|
|
91
|
+
// A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
|
|
92
|
+
// moduleNameMapper: {},
|
|
93
|
+
|
|
94
|
+
// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
|
|
95
|
+
// modulePathIgnorePatterns: [],
|
|
96
|
+
|
|
97
|
+
// Activates notifications for test results
|
|
98
|
+
// notify: false,
|
|
99
|
+
|
|
100
|
+
// An enum that specifies notification mode. Requires { notify: true }
|
|
101
|
+
// notifyMode: "failure-change",
|
|
102
|
+
|
|
103
|
+
// A preset that is used as a base for Jest's configuration
|
|
104
|
+
// preset: undefined,
|
|
105
|
+
|
|
106
|
+
// Run tests from one or more projects
|
|
107
|
+
// projects: undefined,
|
|
108
|
+
|
|
109
|
+
// Use this configuration option to add custom reporters to Jest
|
|
110
|
+
// reporters: undefined,
|
|
111
|
+
|
|
112
|
+
// Automatically reset mock state before every test
|
|
113
|
+
// resetMocks: false,
|
|
114
|
+
|
|
115
|
+
// Reset the module registry before running each individual test
|
|
116
|
+
// resetModules: false,
|
|
117
|
+
|
|
118
|
+
// A path to a custom resolver
|
|
119
|
+
// resolver: undefined,
|
|
120
|
+
|
|
121
|
+
// Automatically restore mock state and implementation before every test
|
|
122
|
+
// restoreMocks: false,
|
|
123
|
+
|
|
124
|
+
// The root directory that Jest should scan for tests and modules within
|
|
125
|
+
// rootDir: undefined,
|
|
126
|
+
|
|
127
|
+
//A list of paths to directories that Jest should use to search for files in
|
|
128
|
+
roots: ['src'],
|
|
129
|
+
|
|
130
|
+
// Allows you to use a custom runner instead of Jest's default test runner
|
|
131
|
+
// runner: "jest-runner",
|
|
132
|
+
|
|
133
|
+
// The paths to modules that run some code to configure or set up the testing environment before each test
|
|
134
|
+
// setupFiles: [],
|
|
135
|
+
|
|
136
|
+
// A list of paths to modules that run some code to configure or set up the testing framework before each test
|
|
137
|
+
// setupFilesAfterEnv: [],
|
|
138
|
+
|
|
139
|
+
// The number of seconds after which a test is considered as slow and reported as such in the results.
|
|
140
|
+
// slowTestThreshold: 5,
|
|
141
|
+
|
|
142
|
+
// A list of paths to snapshot serializer modules Jest should use for snapshot testing
|
|
143
|
+
// snapshotSerializers: [],
|
|
144
|
+
|
|
145
|
+
// The test environment that will be used for testing
|
|
146
|
+
testEnvironment: 'jsdom',
|
|
147
|
+
|
|
148
|
+
// Options that will be passed to the testEnvironment
|
|
149
|
+
// testEnvironmentOptions: {},
|
|
150
|
+
|
|
151
|
+
// Adds a location field to test results
|
|
152
|
+
// testLocationInResults: false,
|
|
153
|
+
|
|
154
|
+
// The glob patterns Jest uses to detect test files
|
|
155
|
+
// testMatch: [
|
|
156
|
+
// "**/__tests__/**/*.[jt]s?(x)",
|
|
157
|
+
// "**/?(*.)+(spec|test).[tj]s?(x)"
|
|
158
|
+
// ],
|
|
159
|
+
|
|
160
|
+
// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
|
|
161
|
+
// testPathIgnorePatterns: [
|
|
162
|
+
// "/node_modules/"
|
|
163
|
+
// ],
|
|
164
|
+
|
|
165
|
+
// The regexp pattern or array of patterns that Jest uses to detect test files
|
|
166
|
+
// testRegex: [],
|
|
167
|
+
|
|
168
|
+
// This option allows the use of a custom results processor
|
|
169
|
+
// testResultsProcessor: undefined,
|
|
170
|
+
|
|
171
|
+
// This option allows use of a custom test runner
|
|
172
|
+
// testRunner: "jest-circus/runner",
|
|
173
|
+
|
|
174
|
+
// A map from regular expressions to paths to transformers
|
|
175
|
+
// transform: undefined,
|
|
176
|
+
|
|
177
|
+
// An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
|
|
178
|
+
// transformIgnorePatterns: [
|
|
179
|
+
// "/node_modules/",
|
|
180
|
+
// "\\.pnp\\.[^\\/]+$"
|
|
181
|
+
// ],
|
|
182
|
+
|
|
183
|
+
// An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
|
|
184
|
+
// unmockedModulePathPatterns: undefined,
|
|
185
|
+
|
|
186
|
+
// Indicates whether each individual test should be reported during the run
|
|
187
|
+
// verbose: undefined,
|
|
188
|
+
|
|
189
|
+
// An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
|
|
190
|
+
// watchPathIgnorePatterns: [],
|
|
191
|
+
|
|
192
|
+
// Whether to use watchman for file crawling
|
|
193
|
+
// watchman: true,
|
|
194
|
+
};
|
|
@@ -34,8 +34,8 @@ function initAligningGuidelines(canvas) {
|
|
|
34
34
|
ctx.lineWidth = aligningLineWidth;
|
|
35
35
|
ctx.strokeStyle = aligningLineColor;
|
|
36
36
|
ctx.beginPath();
|
|
37
|
-
ctx.moveTo(
|
|
38
|
-
ctx.lineTo(
|
|
37
|
+
ctx.moveTo(x1*zoom+viewportTransform[4], y1*zoom+viewportTransform[5]);
|
|
38
|
+
ctx.lineTo(x2*zoom+viewportTransform[4], y2*zoom+viewportTransform[5]);
|
|
39
39
|
ctx.stroke();
|
|
40
40
|
ctx.restore();
|
|
41
41
|
}
|