@nasser-sw/fabric 7.0.1-beta11 → 7.0.1-beta12
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 +0 -0
- package/.babelrcAlt +0 -0
- package/.browserslistrc +0 -0
- package/.editorconfig +0 -0
- package/.gitattributes +0 -0
- package/.gitpod.yml +0 -0
- package/.prettierignore +0 -0
- package/.prettierrc +0 -0
- package/0 +0 -0
- package/CHANGELOG.md +0 -0
- package/CODE_OF_CONDUCT.md +0 -0
- package/CONTRIBUTING.md +0 -0
- package/LICENSE +0 -0
- package/OVERLAY_EDITOR_MIGRATION.md +0 -0
- package/README.md +0 -0
- package/SECURITY.md +0 -0
- package/debug/{konva → konva-master}/CHANGELOG.md +2 -1
- package/debug/{konva → konva-master}/LICENSE +0 -0
- package/debug/{konva → konva-master}/README.md +7 -3
- package/debug/{konva → konva-master}/gulpfile.mjs +0 -0
- package/debug/{konva → konva-master}/package.json +1 -1
- package/debug/{konva → konva-master}/release.sh +1 -4
- package/debug/{konva → konva-master}/resources/doc-includes/ContainerParams.txt +0 -0
- package/debug/{konva → konva-master}/resources/doc-includes/NodeParams.txt +0 -0
- package/debug/{konva → konva-master}/resources/doc-includes/ShapeParams.txt +0 -0
- package/debug/{konva → konva-master}/resources/jsdoc.conf.json +0 -0
- package/debug/{konva → konva-master}/rollup.config.mjs +0 -0
- package/debug/{konva → konva-master}/src/Animation.ts +0 -0
- package/debug/{konva → konva-master}/src/BezierFunctions.ts +0 -0
- package/debug/{konva → konva-master}/src/Canvas.ts +37 -0
- package/debug/{konva → konva-master}/src/Container.ts +0 -0
- package/debug/{konva → konva-master}/src/Context.ts +0 -0
- package/debug/{konva → konva-master}/src/Core.ts +0 -0
- package/debug/{konva → konva-master}/src/DragAndDrop.ts +0 -0
- package/debug/{konva → konva-master}/src/Factory.ts +0 -0
- package/debug/{konva → konva-master}/src/FastLayer.ts +0 -0
- package/debug/{konva → konva-master}/src/Global.ts +0 -0
- package/debug/{konva → konva-master}/src/Group.ts +0 -0
- package/debug/{konva → konva-master}/src/Layer.ts +0 -0
- package/debug/{konva → konva-master}/src/Node.ts +0 -0
- package/debug/{konva → konva-master}/src/PointerEvents.ts +0 -0
- package/debug/{konva → konva-master}/src/Shape.ts +0 -0
- package/debug/{konva → konva-master}/src/Stage.ts +0 -0
- package/debug/{konva → konva-master}/src/Tween.ts +0 -0
- package/debug/{konva → konva-master}/src/Util.ts +0 -0
- package/debug/{konva → konva-master}/src/Validators.ts +0 -0
- package/debug/{konva → konva-master}/src/_CoreInternals.ts +0 -0
- package/debug/{konva → konva-master}/src/_FullInternals.ts +0 -0
- package/debug/{konva → konva-master}/src/canvas-backend.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Blur.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Brighten.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Brightness.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Contrast.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Emboss.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Enhance.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Grayscale.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/HSL.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/HSV.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Invert.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Kaleidoscope.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Mask.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Noise.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Pixelate.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Posterize.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/RGB.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/RGBA.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Sepia.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Solarize.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Threshold.ts +0 -0
- package/debug/{konva → konva-master}/src/index.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Arc.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Arrow.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Circle.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Ellipse.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Image.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Label.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Line.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Path.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Rect.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/RegularPolygon.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Ring.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Sprite.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Star.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Text.ts +2 -2
- package/debug/{konva → konva-master}/src/shapes/TextPath.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Transformer.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Wedge.ts +0 -0
- package/debug/{konva → konva-master}/src/skia-backend.ts +0 -0
- package/debug/{konva → konva-master}/src/types.ts +0 -0
- package/debug/{konva → konva-master}/tsconfig.json +0 -0
- package/debug/{konva → konva-master}/tsconfig.test.json +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/index.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/index.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts +0 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts.map +0 -0
- package/dist/extensions/data_updaters/origins/index.d.ts +0 -0
- package/dist/extensions/data_updaters/origins/index.d.ts.map +0 -0
- package/dist/extensions/index.d.ts +0 -0
- package/dist/extensions/index.d.ts.map +0 -0
- package/dist/fabric.d.ts +0 -0
- package/dist/fabric.d.ts.map +0 -0
- package/dist/fabric.min.mjs +0 -0
- package/dist/fabric.min.mjs.map +0 -0
- package/dist/fabric.mjs +0 -0
- package/dist/fabric.mjs.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +1133 -1129
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +1133 -1129
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +1133 -1129
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +0 -0
- package/dist/index.node.d.ts.map +0 -0
- package/dist/index.node.mjs +1133 -1129
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.min.mjs.map +0 -0
- package/dist/package.json.mjs +1 -1
- package/dist/package.json.mjs.map +0 -0
- package/dist/src/ClassRegistry.d.ts +0 -0
- package/dist/src/ClassRegistry.d.ts.map +0 -0
- package/dist/src/ClassRegistry.min.mjs +0 -0
- package/dist/src/ClassRegistry.min.mjs.map +0 -0
- package/dist/src/ClassRegistry.mjs +0 -0
- package/dist/src/ClassRegistry.mjs.map +0 -0
- package/dist/src/Collection.d.ts +0 -0
- package/dist/src/Collection.d.ts.map +0 -0
- package/dist/src/Collection.min.mjs +0 -0
- package/dist/src/Collection.min.mjs.map +0 -0
- package/dist/src/Collection.mjs +0 -0
- package/dist/src/Collection.mjs.map +0 -0
- package/dist/src/CommonMethods.d.ts +0 -0
- package/dist/src/CommonMethods.d.ts.map +0 -0
- package/dist/src/CommonMethods.min.mjs +0 -0
- package/dist/src/CommonMethods.min.mjs.map +0 -0
- package/dist/src/CommonMethods.mjs +0 -0
- package/dist/src/CommonMethods.mjs.map +0 -0
- package/dist/src/EventTypeDefs.d.ts +0 -0
- package/dist/src/EventTypeDefs.d.ts.map +0 -0
- package/dist/src/Intersection.d.ts +0 -0
- package/dist/src/Intersection.d.ts.map +0 -0
- package/dist/src/Intersection.min.mjs +0 -0
- package/dist/src/Intersection.min.mjs.map +0 -0
- package/dist/src/Intersection.mjs +0 -0
- package/dist/src/Intersection.mjs.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.mjs +0 -0
- package/dist/src/LayoutManager/LayoutManager.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -0
- package/dist/src/LayoutManager/constants.d.ts +0 -0
- package/dist/src/LayoutManager/constants.d.ts.map +0 -0
- package/dist/src/LayoutManager/constants.min.mjs +0 -0
- package/dist/src/LayoutManager/constants.min.mjs.map +0 -0
- package/dist/src/LayoutManager/constants.mjs +0 -0
- package/dist/src/LayoutManager/constants.mjs.map +0 -0
- package/dist/src/LayoutManager/index.d.ts +0 -0
- package/dist/src/LayoutManager/index.d.ts.map +0 -0
- package/dist/src/LayoutManager/types.d.ts +0 -0
- package/dist/src/LayoutManager/types.d.ts.map +0 -0
- package/dist/src/Observable.d.ts +0 -0
- package/dist/src/Observable.d.ts.map +0 -0
- package/dist/src/Observable.min.mjs +0 -0
- package/dist/src/Observable.min.mjs.map +0 -0
- package/dist/src/Observable.mjs +0 -0
- package/dist/src/Observable.mjs.map +0 -0
- package/dist/src/Pattern/Pattern.d.ts +0 -0
- package/dist/src/Pattern/Pattern.d.ts.map +0 -0
- package/dist/src/Pattern/Pattern.min.mjs +0 -0
- package/dist/src/Pattern/Pattern.min.mjs.map +0 -0
- package/dist/src/Pattern/Pattern.mjs +0 -0
- package/dist/src/Pattern/Pattern.mjs.map +0 -0
- package/dist/src/Pattern/index.d.ts +0 -0
- package/dist/src/Pattern/index.d.ts.map +0 -0
- package/dist/src/Pattern/types.d.ts +0 -0
- package/dist/src/Pattern/types.d.ts.map +0 -0
- package/dist/src/Point.d.ts +0 -0
- package/dist/src/Point.d.ts.map +0 -0
- package/dist/src/Point.min.mjs +0 -0
- package/dist/src/Point.min.mjs.map +0 -0
- package/dist/src/Point.mjs +0 -0
- package/dist/src/Point.mjs.map +0 -0
- package/dist/src/Shadow.d.ts +0 -0
- package/dist/src/Shadow.d.ts.map +0 -0
- package/dist/src/Shadow.min.mjs +0 -0
- package/dist/src/Shadow.min.mjs.map +0 -0
- package/dist/src/Shadow.mjs +0 -0
- package/dist/src/Shadow.mjs.map +0 -0
- package/dist/src/brushes/BaseBrush.d.ts +0 -0
- package/dist/src/brushes/BaseBrush.d.ts.map +0 -0
- package/dist/src/brushes/BaseBrush.min.mjs +0 -0
- package/dist/src/brushes/BaseBrush.min.mjs.map +0 -0
- package/dist/src/brushes/BaseBrush.mjs +0 -0
- package/dist/src/brushes/BaseBrush.mjs.map +0 -0
- package/dist/src/brushes/CircleBrush.d.ts +0 -0
- package/dist/src/brushes/CircleBrush.d.ts.map +0 -0
- package/dist/src/brushes/CircleBrush.min.mjs +0 -0
- package/dist/src/brushes/CircleBrush.min.mjs.map +0 -0
- package/dist/src/brushes/CircleBrush.mjs +0 -0
- package/dist/src/brushes/CircleBrush.mjs.map +0 -0
- package/dist/src/brushes/PatternBrush.d.ts +0 -0
- package/dist/src/brushes/PatternBrush.d.ts.map +0 -0
- package/dist/src/brushes/PatternBrush.min.mjs +0 -0
- package/dist/src/brushes/PatternBrush.min.mjs.map +0 -0
- package/dist/src/brushes/PatternBrush.mjs +0 -0
- package/dist/src/brushes/PatternBrush.mjs.map +0 -0
- package/dist/src/brushes/PencilBrush.d.ts +0 -0
- package/dist/src/brushes/PencilBrush.d.ts.map +0 -0
- package/dist/src/brushes/PencilBrush.min.mjs +0 -0
- package/dist/src/brushes/PencilBrush.min.mjs.map +0 -0
- package/dist/src/brushes/PencilBrush.mjs +0 -0
- package/dist/src/brushes/PencilBrush.mjs.map +0 -0
- package/dist/src/brushes/SprayBrush.d.ts +0 -0
- package/dist/src/brushes/SprayBrush.d.ts.map +0 -0
- package/dist/src/brushes/SprayBrush.min.mjs +0 -0
- package/dist/src/brushes/SprayBrush.min.mjs.map +0 -0
- package/dist/src/brushes/SprayBrush.mjs +0 -0
- package/dist/src/brushes/SprayBrush.mjs.map +0 -0
- package/dist/src/brushes/typedefs.d.ts +0 -0
- package/dist/src/brushes/typedefs.d.ts.map +0 -0
- package/dist/src/cache.d.ts +0 -0
- package/dist/src/cache.d.ts.map +0 -0
- package/dist/src/cache.min.mjs +0 -0
- package/dist/src/cache.min.mjs.map +0 -0
- package/dist/src/cache.mjs +0 -0
- package/dist/src/cache.mjs.map +0 -0
- package/dist/src/canvas/Canvas.d.ts +0 -0
- package/dist/src/canvas/Canvas.d.ts.map +0 -0
- package/dist/src/canvas/Canvas.min.mjs +0 -0
- package/dist/src/canvas/Canvas.min.mjs.map +0 -0
- package/dist/src/canvas/Canvas.mjs +0 -0
- package/dist/src/canvas/Canvas.mjs.map +0 -0
- package/dist/src/canvas/CanvasOptions.d.ts +0 -0
- package/dist/src/canvas/CanvasOptions.d.ts.map +0 -0
- package/dist/src/canvas/CanvasOptions.min.mjs +0 -0
- package/dist/src/canvas/CanvasOptions.min.mjs.map +0 -0
- package/dist/src/canvas/CanvasOptions.mjs +0 -0
- package/dist/src/canvas/CanvasOptions.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/util.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/util.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/util.mjs +0 -0
- package/dist/src/canvas/DOMManagers/util.mjs.map +0 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +0 -0
- package/dist/src/canvas/SelectableCanvas.d.ts.map +0 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs +0 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +0 -0
- package/dist/src/canvas/SelectableCanvas.mjs +0 -0
- package/dist/src/canvas/SelectableCanvas.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvas.d.ts +0 -0
- package/dist/src/canvas/StaticCanvas.d.ts.map +0 -0
- package/dist/src/canvas/StaticCanvas.min.mjs +0 -0
- package/dist/src/canvas/StaticCanvas.min.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvas.mjs +0 -0
- package/dist/src/canvas/StaticCanvas.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts +0 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs +0 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs +0 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs.map +0 -0
- package/dist/src/canvas/TextEditingManager.d.ts +0 -0
- package/dist/src/canvas/TextEditingManager.d.ts.map +0 -0
- package/dist/src/canvas/TextEditingManager.min.mjs +0 -0
- package/dist/src/canvas/TextEditingManager.min.mjs.map +0 -0
- package/dist/src/canvas/TextEditingManager.mjs +0 -0
- package/dist/src/canvas/TextEditingManager.mjs.map +0 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +0 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +0 -0
- package/dist/src/color/Color.d.ts +0 -0
- package/dist/src/color/Color.d.ts.map +0 -0
- package/dist/src/color/Color.min.mjs +0 -0
- package/dist/src/color/Color.min.mjs.map +0 -0
- package/dist/src/color/Color.mjs +0 -0
- package/dist/src/color/Color.mjs.map +0 -0
- package/dist/src/color/color_map.d.ts +0 -0
- package/dist/src/color/color_map.d.ts.map +0 -0
- package/dist/src/color/color_map.min.mjs +0 -0
- package/dist/src/color/color_map.min.mjs.map +0 -0
- package/dist/src/color/color_map.mjs +0 -0
- package/dist/src/color/color_map.mjs.map +0 -0
- package/dist/src/color/constants.d.ts +0 -0
- package/dist/src/color/constants.d.ts.map +0 -0
- package/dist/src/color/constants.min.mjs +0 -0
- package/dist/src/color/constants.min.mjs.map +0 -0
- package/dist/src/color/constants.mjs +0 -0
- package/dist/src/color/constants.mjs.map +0 -0
- package/dist/src/color/typedefs.d.ts +0 -0
- package/dist/src/color/typedefs.d.ts.map +0 -0
- package/dist/src/color/util.d.ts +0 -0
- package/dist/src/color/util.d.ts.map +0 -0
- package/dist/src/color/util.min.mjs +0 -0
- package/dist/src/color/util.min.mjs.map +0 -0
- package/dist/src/color/util.mjs +0 -0
- package/dist/src/color/util.mjs.map +0 -0
- package/dist/src/config.d.ts +0 -0
- package/dist/src/config.d.ts.map +0 -0
- package/dist/src/config.min.mjs +0 -0
- package/dist/src/config.min.mjs.map +0 -0
- package/dist/src/config.mjs +0 -0
- package/dist/src/config.mjs.map +0 -0
- package/dist/src/constants.d.ts +0 -0
- package/dist/src/constants.d.ts.map +0 -0
- package/dist/src/constants.min.mjs +0 -0
- package/dist/src/constants.min.mjs.map +0 -0
- package/dist/src/constants.mjs +0 -0
- package/dist/src/constants.mjs.map +0 -0
- package/dist/src/controls/Control.d.ts +0 -0
- package/dist/src/controls/Control.d.ts.map +0 -0
- package/dist/src/controls/Control.min.mjs +0 -0
- package/dist/src/controls/Control.min.mjs.map +0 -0
- package/dist/src/controls/Control.mjs +0 -0
- package/dist/src/controls/Control.mjs.map +0 -0
- package/dist/src/controls/changeHeight.d.ts +0 -0
- package/dist/src/controls/changeHeight.d.ts.map +0 -0
- package/dist/src/controls/changeWidth.d.ts +0 -0
- package/dist/src/controls/changeWidth.d.ts.map +0 -0
- package/dist/src/controls/changeWidth.min.mjs +0 -0
- package/dist/src/controls/changeWidth.min.mjs.map +0 -0
- package/dist/src/controls/changeWidth.mjs +0 -0
- package/dist/src/controls/changeWidth.mjs.map +0 -0
- package/dist/src/controls/commonControls.d.ts +0 -0
- package/dist/src/controls/commonControls.d.ts.map +0 -0
- package/dist/src/controls/commonControls.min.mjs +0 -0
- package/dist/src/controls/commonControls.min.mjs.map +0 -0
- package/dist/src/controls/commonControls.mjs +0 -0
- package/dist/src/controls/commonControls.mjs.map +0 -0
- package/dist/src/controls/controlRendering.d.ts +0 -0
- package/dist/src/controls/controlRendering.d.ts.map +0 -0
- package/dist/src/controls/controlRendering.min.mjs +0 -0
- package/dist/src/controls/controlRendering.min.mjs.map +0 -0
- package/dist/src/controls/controlRendering.mjs +0 -0
- package/dist/src/controls/controlRendering.mjs.map +0 -0
- package/dist/src/controls/drag.d.ts +0 -0
- package/dist/src/controls/drag.d.ts.map +0 -0
- package/dist/src/controls/drag.min.mjs +0 -0
- package/dist/src/controls/drag.min.mjs.map +0 -0
- package/dist/src/controls/drag.mjs +0 -0
- package/dist/src/controls/drag.mjs.map +0 -0
- package/dist/src/controls/fireEvent.d.ts +0 -0
- package/dist/src/controls/fireEvent.d.ts.map +0 -0
- package/dist/src/controls/fireEvent.min.mjs +0 -0
- package/dist/src/controls/fireEvent.min.mjs.map +0 -0
- package/dist/src/controls/fireEvent.mjs +0 -0
- package/dist/src/controls/fireEvent.mjs.map +0 -0
- package/dist/src/controls/index.d.ts +0 -0
- package/dist/src/controls/index.d.ts.map +0 -0
- package/dist/src/controls/index.min.mjs +0 -0
- package/dist/src/controls/index.min.mjs.map +0 -0
- package/dist/src/controls/index.mjs +0 -0
- package/dist/src/controls/index.mjs.map +0 -0
- package/dist/src/controls/pathControl.d.ts +0 -0
- package/dist/src/controls/pathControl.d.ts.map +0 -0
- package/dist/src/controls/pathControl.min.mjs +0 -0
- package/dist/src/controls/pathControl.min.mjs.map +0 -0
- package/dist/src/controls/pathControl.mjs +0 -0
- package/dist/src/controls/pathControl.mjs.map +0 -0
- package/dist/src/controls/polyControl.d.ts +0 -0
- package/dist/src/controls/polyControl.d.ts.map +0 -0
- package/dist/src/controls/polyControl.min.mjs +0 -0
- package/dist/src/controls/polyControl.min.mjs.map +0 -0
- package/dist/src/controls/polyControl.mjs +0 -0
- package/dist/src/controls/polyControl.mjs.map +0 -0
- package/dist/src/controls/rotate.d.ts +0 -0
- package/dist/src/controls/rotate.d.ts.map +0 -0
- package/dist/src/controls/rotate.min.mjs +0 -0
- package/dist/src/controls/rotate.min.mjs.map +0 -0
- package/dist/src/controls/rotate.mjs +0 -0
- package/dist/src/controls/rotate.mjs.map +0 -0
- package/dist/src/controls/scale.d.ts +0 -0
- package/dist/src/controls/scale.d.ts.map +0 -0
- package/dist/src/controls/scale.min.mjs +0 -0
- package/dist/src/controls/scale.min.mjs.map +0 -0
- package/dist/src/controls/scale.mjs +0 -0
- package/dist/src/controls/scale.mjs.map +0 -0
- package/dist/src/controls/scaleSkew.d.ts +0 -0
- package/dist/src/controls/scaleSkew.d.ts.map +0 -0
- package/dist/src/controls/scaleSkew.min.mjs +0 -0
- package/dist/src/controls/scaleSkew.min.mjs.map +0 -0
- package/dist/src/controls/scaleSkew.mjs +0 -0
- package/dist/src/controls/scaleSkew.mjs.map +0 -0
- package/dist/src/controls/skew.d.ts +0 -0
- package/dist/src/controls/skew.d.ts.map +0 -0
- package/dist/src/controls/skew.min.mjs +0 -0
- package/dist/src/controls/skew.min.mjs.map +0 -0
- package/dist/src/controls/skew.mjs +0 -0
- package/dist/src/controls/skew.mjs.map +0 -0
- package/dist/src/controls/util.d.ts +0 -0
- package/dist/src/controls/util.d.ts.map +0 -0
- package/dist/src/controls/util.min.mjs +0 -0
- package/dist/src/controls/util.min.mjs.map +0 -0
- package/dist/src/controls/util.mjs +0 -0
- package/dist/src/controls/util.mjs.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +0 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs +0 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.mjs +0 -0
- package/dist/src/controls/wrapWithFireEvent.mjs.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs.map +0 -0
- package/dist/src/env/browser.d.ts +0 -0
- package/dist/src/env/browser.d.ts.map +0 -0
- package/dist/src/env/browser.min.mjs +0 -0
- package/dist/src/env/browser.min.mjs.map +0 -0
- package/dist/src/env/browser.mjs +0 -0
- package/dist/src/env/browser.mjs.map +0 -0
- package/dist/src/env/index.d.ts +0 -0
- package/dist/src/env/index.d.ts.map +0 -0
- package/dist/src/env/index.min.mjs +0 -0
- package/dist/src/env/index.min.mjs.map +0 -0
- package/dist/src/env/index.mjs +0 -0
- package/dist/src/env/index.mjs.map +0 -0
- package/dist/src/env/node.d.ts +0 -0
- package/dist/src/env/node.d.ts.map +0 -0
- package/dist/src/env/types.d.ts +0 -0
- package/dist/src/env/types.d.ts.map +0 -0
- package/dist/src/filters/BaseFilter.d.ts +0 -0
- package/dist/src/filters/BaseFilter.d.ts.map +0 -0
- package/dist/src/filters/BaseFilter.min.mjs +0 -0
- package/dist/src/filters/BaseFilter.min.mjs.map +0 -0
- package/dist/src/filters/BaseFilter.mjs +0 -0
- package/dist/src/filters/BaseFilter.mjs.map +0 -0
- package/dist/src/filters/BlendColor.d.ts +0 -0
- package/dist/src/filters/BlendColor.d.ts.map +0 -0
- package/dist/src/filters/BlendColor.min.mjs +0 -0
- package/dist/src/filters/BlendColor.min.mjs.map +0 -0
- package/dist/src/filters/BlendColor.mjs +0 -0
- package/dist/src/filters/BlendColor.mjs.map +0 -0
- package/dist/src/filters/BlendImage.d.ts +0 -0
- package/dist/src/filters/BlendImage.d.ts.map +0 -0
- package/dist/src/filters/BlendImage.min.mjs +0 -0
- package/dist/src/filters/BlendImage.min.mjs.map +0 -0
- package/dist/src/filters/BlendImage.mjs +0 -0
- package/dist/src/filters/BlendImage.mjs.map +0 -0
- package/dist/src/filters/Blur.d.ts +0 -0
- package/dist/src/filters/Blur.d.ts.map +0 -0
- package/dist/src/filters/Blur.min.mjs +0 -0
- package/dist/src/filters/Blur.min.mjs.map +0 -0
- package/dist/src/filters/Blur.mjs +0 -0
- package/dist/src/filters/Blur.mjs.map +0 -0
- package/dist/src/filters/Boilerplate.d.ts +0 -0
- package/dist/src/filters/Boilerplate.d.ts.map +0 -0
- package/dist/src/filters/Brightness.d.ts +0 -0
- package/dist/src/filters/Brightness.d.ts.map +0 -0
- package/dist/src/filters/Brightness.min.mjs +0 -0
- package/dist/src/filters/Brightness.min.mjs.map +0 -0
- package/dist/src/filters/Brightness.mjs +0 -0
- package/dist/src/filters/Brightness.mjs.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs.map +0 -0
- package/dist/src/filters/ColorMatrix.d.ts +0 -0
- package/dist/src/filters/ColorMatrix.d.ts.map +0 -0
- package/dist/src/filters/ColorMatrix.min.mjs +0 -0
- package/dist/src/filters/ColorMatrix.min.mjs.map +0 -0
- package/dist/src/filters/ColorMatrix.mjs +0 -0
- package/dist/src/filters/ColorMatrix.mjs.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +0 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs +0 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.mjs +0 -0
- package/dist/src/filters/ColorMatrixFilters.mjs.map +0 -0
- package/dist/src/filters/Composed.d.ts +0 -0
- package/dist/src/filters/Composed.d.ts.map +0 -0
- package/dist/src/filters/Composed.min.mjs +0 -0
- package/dist/src/filters/Composed.min.mjs.map +0 -0
- package/dist/src/filters/Composed.mjs +0 -0
- package/dist/src/filters/Composed.mjs.map +0 -0
- package/dist/src/filters/Contrast.d.ts +0 -0
- package/dist/src/filters/Contrast.d.ts.map +0 -0
- package/dist/src/filters/Contrast.min.mjs +0 -0
- package/dist/src/filters/Contrast.min.mjs.map +0 -0
- package/dist/src/filters/Contrast.mjs +0 -0
- package/dist/src/filters/Contrast.mjs.map +0 -0
- package/dist/src/filters/Convolute.d.ts +0 -0
- package/dist/src/filters/Convolute.d.ts.map +0 -0
- package/dist/src/filters/Convolute.min.mjs +0 -0
- package/dist/src/filters/Convolute.min.mjs.map +0 -0
- package/dist/src/filters/Convolute.mjs +0 -0
- package/dist/src/filters/Convolute.mjs.map +0 -0
- package/dist/src/filters/FilterBackend.d.ts +0 -0
- package/dist/src/filters/FilterBackend.d.ts.map +0 -0
- package/dist/src/filters/FilterBackend.min.mjs +0 -0
- package/dist/src/filters/FilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/FilterBackend.mjs +0 -0
- package/dist/src/filters/FilterBackend.mjs.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs +0 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs +0 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs.map +0 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +0 -0
- package/dist/src/filters/Gamma.d.ts +0 -0
- package/dist/src/filters/Gamma.d.ts.map +0 -0
- package/dist/src/filters/Gamma.min.mjs +0 -0
- package/dist/src/filters/Gamma.min.mjs.map +0 -0
- package/dist/src/filters/Gamma.mjs +0 -0
- package/dist/src/filters/Gamma.mjs.map +0 -0
- package/dist/src/filters/Grayscale.d.ts +0 -0
- package/dist/src/filters/Grayscale.d.ts.map +0 -0
- package/dist/src/filters/Grayscale.min.mjs +0 -0
- package/dist/src/filters/Grayscale.min.mjs.map +0 -0
- package/dist/src/filters/Grayscale.mjs +0 -0
- package/dist/src/filters/Grayscale.mjs.map +0 -0
- package/dist/src/filters/HueRotation.d.ts +0 -0
- package/dist/src/filters/HueRotation.d.ts.map +0 -0
- package/dist/src/filters/HueRotation.min.mjs +0 -0
- package/dist/src/filters/HueRotation.min.mjs.map +0 -0
- package/dist/src/filters/HueRotation.mjs +0 -0
- package/dist/src/filters/HueRotation.mjs.map +0 -0
- package/dist/src/filters/Invert.d.ts +0 -0
- package/dist/src/filters/Invert.d.ts.map +0 -0
- package/dist/src/filters/Invert.min.mjs +0 -0
- package/dist/src/filters/Invert.min.mjs.map +0 -0
- package/dist/src/filters/Invert.mjs +0 -0
- package/dist/src/filters/Invert.mjs.map +0 -0
- package/dist/src/filters/Noise.d.ts +0 -0
- package/dist/src/filters/Noise.d.ts.map +0 -0
- package/dist/src/filters/Noise.min.mjs +0 -0
- package/dist/src/filters/Noise.min.mjs.map +0 -0
- package/dist/src/filters/Noise.mjs +0 -0
- package/dist/src/filters/Noise.mjs.map +0 -0
- package/dist/src/filters/Pixelate.d.ts +0 -0
- package/dist/src/filters/Pixelate.d.ts.map +0 -0
- package/dist/src/filters/Pixelate.min.mjs +0 -0
- package/dist/src/filters/Pixelate.min.mjs.map +0 -0
- package/dist/src/filters/Pixelate.mjs +0 -0
- package/dist/src/filters/Pixelate.mjs.map +0 -0
- package/dist/src/filters/RemoveColor.d.ts +0 -0
- package/dist/src/filters/RemoveColor.d.ts.map +0 -0
- package/dist/src/filters/RemoveColor.min.mjs +0 -0
- package/dist/src/filters/RemoveColor.min.mjs.map +0 -0
- package/dist/src/filters/RemoveColor.mjs +0 -0
- package/dist/src/filters/RemoveColor.mjs.map +0 -0
- package/dist/src/filters/Resize.d.ts +0 -0
- package/dist/src/filters/Resize.d.ts.map +0 -0
- package/dist/src/filters/Resize.min.mjs +0 -0
- package/dist/src/filters/Resize.min.mjs.map +0 -0
- package/dist/src/filters/Resize.mjs +0 -0
- package/dist/src/filters/Resize.mjs.map +0 -0
- package/dist/src/filters/Saturation.d.ts +0 -0
- package/dist/src/filters/Saturation.d.ts.map +0 -0
- package/dist/src/filters/Saturation.min.mjs +0 -0
- package/dist/src/filters/Saturation.min.mjs.map +0 -0
- package/dist/src/filters/Saturation.mjs +0 -0
- package/dist/src/filters/Saturation.mjs.map +0 -0
- package/dist/src/filters/Vibrance.d.ts +0 -0
- package/dist/src/filters/Vibrance.d.ts.map +0 -0
- package/dist/src/filters/Vibrance.min.mjs +0 -0
- package/dist/src/filters/Vibrance.min.mjs.map +0 -0
- package/dist/src/filters/Vibrance.mjs +0 -0
- package/dist/src/filters/Vibrance.mjs.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +0 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs +0 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.mjs +0 -0
- package/dist/src/filters/WebGLFilterBackend.mjs.map +0 -0
- package/dist/src/filters/filters.d.ts +0 -0
- package/dist/src/filters/filters.d.ts.map +0 -0
- package/dist/src/filters/filters.min.mjs +0 -0
- package/dist/src/filters/filters.min.mjs.map +0 -0
- package/dist/src/filters/filters.mjs +0 -0
- package/dist/src/filters/filters.mjs.map +0 -0
- package/dist/src/filters/index.d.ts +0 -0
- package/dist/src/filters/index.d.ts.map +0 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +0 -0
- package/dist/src/filters/shaders/baseFilter.d.ts.map +0 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs +0 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs.map +0 -0
- package/dist/src/filters/shaders/baseFilter.mjs +0 -0
- package/dist/src/filters/shaders/baseFilter.mjs.map +0 -0
- package/dist/src/filters/shaders/blendColor.d.ts +0 -0
- package/dist/src/filters/shaders/blendColor.d.ts.map +0 -0
- package/dist/src/filters/shaders/blendColor.min.mjs +0 -0
- package/dist/src/filters/shaders/blendColor.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blendColor.mjs +0 -0
- package/dist/src/filters/shaders/blendColor.mjs.map +0 -0
- package/dist/src/filters/shaders/blendImage.d.ts +0 -0
- package/dist/src/filters/shaders/blendImage.d.ts.map +0 -0
- package/dist/src/filters/shaders/blendImage.min.mjs +0 -0
- package/dist/src/filters/shaders/blendImage.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blendImage.mjs +0 -0
- package/dist/src/filters/shaders/blendImage.mjs.map +0 -0
- package/dist/src/filters/shaders/blur.d.ts +0 -0
- package/dist/src/filters/shaders/blur.d.ts.map +0 -0
- package/dist/src/filters/shaders/blur.min.mjs +0 -0
- package/dist/src/filters/shaders/blur.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blur.mjs +0 -0
- package/dist/src/filters/shaders/blur.mjs.map +0 -0
- package/dist/src/filters/shaders/brightness.d.ts +0 -0
- package/dist/src/filters/shaders/brightness.d.ts.map +0 -0
- package/dist/src/filters/shaders/brightness.min.mjs +0 -0
- package/dist/src/filters/shaders/brightness.min.mjs.map +0 -0
- package/dist/src/filters/shaders/brightness.mjs +0 -0
- package/dist/src/filters/shaders/brightness.mjs.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +0 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs +0 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.mjs +0 -0
- package/dist/src/filters/shaders/colorMatrix.mjs.map +0 -0
- package/dist/src/filters/shaders/constrast.d.ts +0 -0
- package/dist/src/filters/shaders/constrast.d.ts.map +0 -0
- package/dist/src/filters/shaders/constrast.min.mjs +0 -0
- package/dist/src/filters/shaders/constrast.min.mjs.map +0 -0
- package/dist/src/filters/shaders/constrast.mjs +0 -0
- package/dist/src/filters/shaders/constrast.mjs.map +0 -0
- package/dist/src/filters/shaders/convolute.d.ts +0 -0
- package/dist/src/filters/shaders/convolute.d.ts.map +0 -0
- package/dist/src/filters/shaders/convolute.min.mjs +0 -0
- package/dist/src/filters/shaders/convolute.min.mjs.map +0 -0
- package/dist/src/filters/shaders/convolute.mjs +0 -0
- package/dist/src/filters/shaders/convolute.mjs.map +0 -0
- package/dist/src/filters/shaders/gamma.d.ts +0 -0
- package/dist/src/filters/shaders/gamma.d.ts.map +0 -0
- package/dist/src/filters/shaders/gamma.min.mjs +0 -0
- package/dist/src/filters/shaders/gamma.min.mjs.map +0 -0
- package/dist/src/filters/shaders/gamma.mjs +0 -0
- package/dist/src/filters/shaders/gamma.mjs.map +0 -0
- package/dist/src/filters/shaders/grayscale.d.ts +0 -0
- package/dist/src/filters/shaders/grayscale.d.ts.map +0 -0
- package/dist/src/filters/shaders/grayscale.min.mjs +0 -0
- package/dist/src/filters/shaders/grayscale.min.mjs.map +0 -0
- package/dist/src/filters/shaders/grayscale.mjs +0 -0
- package/dist/src/filters/shaders/grayscale.mjs.map +0 -0
- package/dist/src/filters/shaders/invert.d.ts +0 -0
- package/dist/src/filters/shaders/invert.d.ts.map +0 -0
- package/dist/src/filters/shaders/invert.min.mjs +0 -0
- package/dist/src/filters/shaders/invert.min.mjs.map +0 -0
- package/dist/src/filters/shaders/invert.mjs +0 -0
- package/dist/src/filters/shaders/invert.mjs.map +0 -0
- package/dist/src/filters/shaders/noise.d.ts +0 -0
- package/dist/src/filters/shaders/noise.d.ts.map +0 -0
- package/dist/src/filters/shaders/noise.min.mjs +0 -0
- package/dist/src/filters/shaders/noise.min.mjs.map +0 -0
- package/dist/src/filters/shaders/noise.mjs +0 -0
- package/dist/src/filters/shaders/noise.mjs.map +0 -0
- package/dist/src/filters/shaders/pixelate.d.ts +0 -0
- package/dist/src/filters/shaders/pixelate.d.ts.map +0 -0
- package/dist/src/filters/shaders/pixelate.min.mjs +0 -0
- package/dist/src/filters/shaders/pixelate.min.mjs.map +0 -0
- package/dist/src/filters/shaders/pixelate.mjs +0 -0
- package/dist/src/filters/shaders/pixelate.mjs.map +0 -0
- package/dist/src/filters/shaders/removeColor.d.ts +0 -0
- package/dist/src/filters/shaders/removeColor.d.ts.map +0 -0
- package/dist/src/filters/shaders/removeColor.min.mjs +0 -0
- package/dist/src/filters/shaders/removeColor.min.mjs.map +0 -0
- package/dist/src/filters/shaders/removeColor.mjs +0 -0
- package/dist/src/filters/shaders/removeColor.mjs.map +0 -0
- package/dist/src/filters/shaders/saturation.d.ts +0 -0
- package/dist/src/filters/shaders/saturation.d.ts.map +0 -0
- package/dist/src/filters/shaders/saturation.min.mjs +0 -0
- package/dist/src/filters/shaders/saturation.min.mjs.map +0 -0
- package/dist/src/filters/shaders/saturation.mjs +0 -0
- package/dist/src/filters/shaders/saturation.mjs.map +0 -0
- package/dist/src/filters/shaders/vibrance.d.ts +0 -0
- package/dist/src/filters/shaders/vibrance.d.ts.map +0 -0
- package/dist/src/filters/shaders/vibrance.min.mjs +0 -0
- package/dist/src/filters/shaders/vibrance.min.mjs.map +0 -0
- package/dist/src/filters/shaders/vibrance.mjs +0 -0
- package/dist/src/filters/shaders/vibrance.mjs.map +0 -0
- package/dist/src/filters/typedefs.d.ts +0 -0
- package/dist/src/filters/typedefs.d.ts.map +0 -0
- package/dist/src/filters/utils.d.ts +0 -0
- package/dist/src/filters/utils.d.ts.map +0 -0
- package/dist/src/filters/utils.min.mjs +0 -0
- package/dist/src/filters/utils.min.mjs.map +0 -0
- package/dist/src/filters/utils.mjs +0 -0
- package/dist/src/filters/utils.mjs.map +0 -0
- package/dist/src/gradient/Gradient.d.ts +0 -0
- package/dist/src/gradient/Gradient.d.ts.map +0 -0
- package/dist/src/gradient/Gradient.min.mjs +0 -0
- package/dist/src/gradient/Gradient.min.mjs.map +0 -0
- package/dist/src/gradient/Gradient.mjs +0 -0
- package/dist/src/gradient/Gradient.mjs.map +0 -0
- package/dist/src/gradient/constants.d.ts +0 -0
- package/dist/src/gradient/constants.d.ts.map +0 -0
- package/dist/src/gradient/constants.min.mjs +0 -0
- package/dist/src/gradient/constants.min.mjs.map +0 -0
- package/dist/src/gradient/constants.mjs +0 -0
- package/dist/src/gradient/constants.mjs.map +0 -0
- package/dist/src/gradient/index.d.ts +0 -0
- package/dist/src/gradient/index.d.ts.map +0 -0
- package/dist/src/gradient/parser/misc.d.ts +0 -0
- package/dist/src/gradient/parser/misc.d.ts.map +0 -0
- package/dist/src/gradient/parser/misc.min.mjs +0 -0
- package/dist/src/gradient/parser/misc.min.mjs.map +0 -0
- package/dist/src/gradient/parser/misc.mjs +0 -0
- package/dist/src/gradient/parser/misc.mjs.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +0 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs +0 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.mjs +0 -0
- package/dist/src/gradient/parser/parseColorStops.mjs.map +0 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +0 -0
- package/dist/src/gradient/parser/parseCoords.d.ts.map +0 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs +0 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs.map +0 -0
- package/dist/src/gradient/parser/parseCoords.mjs +0 -0
- package/dist/src/gradient/parser/parseCoords.mjs.map +0 -0
- package/dist/src/gradient/typedefs.d.ts +0 -0
- package/dist/src/gradient/typedefs.d.ts.map +0 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +0 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts.map +0 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +0 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +0 -0
- package/dist/src/parkinglot/straighten.d.ts +0 -0
- package/dist/src/parkinglot/straighten.d.ts.map +0 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +0 -0
- package/dist/src/parser/applyViewboxTransform.d.ts.map +0 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs +0 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs.map +0 -0
- package/dist/src/parser/applyViewboxTransform.mjs +0 -0
- package/dist/src/parser/applyViewboxTransform.mjs.map +0 -0
- package/dist/src/parser/attributes.d.ts +0 -0
- package/dist/src/parser/attributes.d.ts.map +0 -0
- package/dist/src/parser/attributes.min.mjs +0 -0
- package/dist/src/parser/attributes.min.mjs.map +0 -0
- package/dist/src/parser/attributes.mjs +0 -0
- package/dist/src/parser/attributes.mjs.map +0 -0
- package/dist/src/parser/constants.d.ts +0 -0
- package/dist/src/parser/constants.d.ts.map +0 -0
- package/dist/src/parser/constants.min.mjs +0 -0
- package/dist/src/parser/constants.min.mjs.map +0 -0
- package/dist/src/parser/constants.mjs +0 -0
- package/dist/src/parser/constants.mjs.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +0 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs +0 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.mjs +0 -0
- package/dist/src/parser/doesSomeParentMatch.mjs.map +0 -0
- package/dist/src/parser/elementMatchesRule.d.ts +0 -0
- package/dist/src/parser/elementMatchesRule.d.ts.map +0 -0
- package/dist/src/parser/elementMatchesRule.min.mjs +0 -0
- package/dist/src/parser/elementMatchesRule.min.mjs.map +0 -0
- package/dist/src/parser/elementMatchesRule.mjs +0 -0
- package/dist/src/parser/elementMatchesRule.mjs.map +0 -0
- package/dist/src/parser/elements_parser.d.ts +0 -0
- package/dist/src/parser/elements_parser.d.ts.map +0 -0
- package/dist/src/parser/elements_parser.min.mjs +0 -0
- package/dist/src/parser/elements_parser.min.mjs.map +0 -0
- package/dist/src/parser/elements_parser.mjs +0 -0
- package/dist/src/parser/elements_parser.mjs.map +0 -0
- package/dist/src/parser/getCSSRules.d.ts +0 -0
- package/dist/src/parser/getCSSRules.d.ts.map +0 -0
- package/dist/src/parser/getCSSRules.min.mjs +0 -0
- package/dist/src/parser/getCSSRules.min.mjs.map +0 -0
- package/dist/src/parser/getCSSRules.mjs +0 -0
- package/dist/src/parser/getCSSRules.mjs.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +0 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs +0 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs +0 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs.map +0 -0
- package/dist/src/parser/getGradientDefs.d.ts +0 -0
- package/dist/src/parser/getGradientDefs.d.ts.map +0 -0
- package/dist/src/parser/getGradientDefs.min.mjs +0 -0
- package/dist/src/parser/getGradientDefs.min.mjs.map +0 -0
- package/dist/src/parser/getGradientDefs.mjs +0 -0
- package/dist/src/parser/getGradientDefs.mjs.map +0 -0
- package/dist/src/parser/getMultipleNodes.d.ts +0 -0
- package/dist/src/parser/getMultipleNodes.d.ts.map +0 -0
- package/dist/src/parser/getMultipleNodes.min.mjs +0 -0
- package/dist/src/parser/getMultipleNodes.min.mjs.map +0 -0
- package/dist/src/parser/getMultipleNodes.mjs +0 -0
- package/dist/src/parser/getMultipleNodes.mjs.map +0 -0
- package/dist/src/parser/getSvgRegex.d.ts +0 -0
- package/dist/src/parser/getSvgRegex.d.ts.map +0 -0
- package/dist/src/parser/getSvgRegex.min.mjs +0 -0
- package/dist/src/parser/getSvgRegex.min.mjs.map +0 -0
- package/dist/src/parser/getSvgRegex.mjs +0 -0
- package/dist/src/parser/getSvgRegex.mjs.map +0 -0
- package/dist/src/parser/getTagName.d.ts +0 -0
- package/dist/src/parser/getTagName.d.ts.map +0 -0
- package/dist/src/parser/getTagName.min.mjs +0 -0
- package/dist/src/parser/getTagName.min.mjs.map +0 -0
- package/dist/src/parser/getTagName.mjs +0 -0
- package/dist/src/parser/getTagName.mjs.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts +0 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs +0 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.mjs +0 -0
- package/dist/src/parser/hasInvalidAncestor.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromString.d.ts +0 -0
- package/dist/src/parser/loadSVGFromString.d.ts.map +0 -0
- package/dist/src/parser/loadSVGFromString.min.mjs +0 -0
- package/dist/src/parser/loadSVGFromString.min.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromString.mjs +0 -0
- package/dist/src/parser/loadSVGFromString.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +0 -0
- package/dist/src/parser/loadSVGFromURL.d.ts.map +0 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs +0 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromURL.mjs +0 -0
- package/dist/src/parser/loadSVGFromURL.mjs.map +0 -0
- package/dist/src/parser/normalizeAttr.d.ts +0 -0
- package/dist/src/parser/normalizeAttr.d.ts.map +0 -0
- package/dist/src/parser/normalizeAttr.min.mjs +0 -0
- package/dist/src/parser/normalizeAttr.min.mjs.map +0 -0
- package/dist/src/parser/normalizeAttr.mjs +0 -0
- package/dist/src/parser/normalizeAttr.mjs.map +0 -0
- package/dist/src/parser/normalizeValue.d.ts +0 -0
- package/dist/src/parser/normalizeValue.d.ts.map +0 -0
- package/dist/src/parser/normalizeValue.min.mjs +0 -0
- package/dist/src/parser/normalizeValue.min.mjs.map +0 -0
- package/dist/src/parser/normalizeValue.mjs +0 -0
- package/dist/src/parser/normalizeValue.mjs.map +0 -0
- package/dist/src/parser/parseAttributes.d.ts +0 -0
- package/dist/src/parser/parseAttributes.d.ts.map +0 -0
- package/dist/src/parser/parseAttributes.min.mjs +0 -0
- package/dist/src/parser/parseAttributes.min.mjs.map +0 -0
- package/dist/src/parser/parseAttributes.mjs +0 -0
- package/dist/src/parser/parseAttributes.mjs.map +0 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +0 -0
- package/dist/src/parser/parseFontDeclaration.d.ts.map +0 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs +0 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs.map +0 -0
- package/dist/src/parser/parseFontDeclaration.mjs +0 -0
- package/dist/src/parser/parseFontDeclaration.mjs.map +0 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +0 -0
- package/dist/src/parser/parsePointsAttribute.d.ts.map +0 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs +0 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parsePointsAttribute.mjs +0 -0
- package/dist/src/parser/parsePointsAttribute.mjs.map +0 -0
- package/dist/src/parser/parseSVGDocument.d.ts +0 -0
- package/dist/src/parser/parseSVGDocument.d.ts.map +0 -0
- package/dist/src/parser/parseSVGDocument.min.mjs +0 -0
- package/dist/src/parser/parseSVGDocument.min.mjs.map +0 -0
- package/dist/src/parser/parseSVGDocument.mjs +0 -0
- package/dist/src/parser/parseSVGDocument.mjs.map +0 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +0 -0
- package/dist/src/parser/parseStyleAttribute.d.ts.map +0 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs +0 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleAttribute.mjs +0 -0
- package/dist/src/parser/parseStyleAttribute.mjs.map +0 -0
- package/dist/src/parser/parseStyleObject.d.ts +0 -0
- package/dist/src/parser/parseStyleObject.d.ts.map +0 -0
- package/dist/src/parser/parseStyleObject.min.mjs +0 -0
- package/dist/src/parser/parseStyleObject.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleObject.mjs +0 -0
- package/dist/src/parser/parseStyleObject.mjs.map +0 -0
- package/dist/src/parser/parseStyleString.d.ts +0 -0
- package/dist/src/parser/parseStyleString.d.ts.map +0 -0
- package/dist/src/parser/parseStyleString.min.mjs +0 -0
- package/dist/src/parser/parseStyleString.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleString.mjs +0 -0
- package/dist/src/parser/parseStyleString.mjs.map +0 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +0 -0
- package/dist/src/parser/parseTransformAttribute.d.ts.map +0 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs +0 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parseTransformAttribute.mjs +0 -0
- package/dist/src/parser/parseTransformAttribute.mjs.map +0 -0
- package/dist/src/parser/parseUseDirectives.d.ts +0 -0
- package/dist/src/parser/parseUseDirectives.d.ts.map +0 -0
- package/dist/src/parser/parseUseDirectives.min.mjs +0 -0
- package/dist/src/parser/parseUseDirectives.min.mjs.map +0 -0
- package/dist/src/parser/parseUseDirectives.mjs +0 -0
- package/dist/src/parser/parseUseDirectives.mjs.map +0 -0
- package/dist/src/parser/percent.d.ts +0 -0
- package/dist/src/parser/percent.d.ts.map +0 -0
- package/dist/src/parser/percent.min.mjs +0 -0
- package/dist/src/parser/percent.min.mjs.map +0 -0
- package/dist/src/parser/percent.mjs +0 -0
- package/dist/src/parser/percent.mjs.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +0 -0
- package/dist/src/parser/selectorMatches.d.ts +0 -0
- package/dist/src/parser/selectorMatches.d.ts.map +0 -0
- package/dist/src/parser/selectorMatches.min.mjs +0 -0
- package/dist/src/parser/selectorMatches.min.mjs.map +0 -0
- package/dist/src/parser/selectorMatches.mjs +0 -0
- package/dist/src/parser/selectorMatches.mjs.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +0 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs +0 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs +0 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs.map +0 -0
- package/dist/src/parser/typedefs.d.ts +0 -0
- package/dist/src/parser/typedefs.d.ts.map +0 -0
- package/dist/src/shapes/ActiveSelection.d.ts +0 -0
- package/dist/src/shapes/ActiveSelection.d.ts.map +0 -0
- package/dist/src/shapes/ActiveSelection.min.mjs +0 -0
- package/dist/src/shapes/ActiveSelection.min.mjs.map +0 -0
- package/dist/src/shapes/ActiveSelection.mjs +0 -0
- package/dist/src/shapes/ActiveSelection.mjs.map +0 -0
- package/dist/src/shapes/Circle.d.ts +0 -0
- package/dist/src/shapes/Circle.d.ts.map +0 -0
- package/dist/src/shapes/Circle.min.mjs +0 -0
- package/dist/src/shapes/Circle.min.mjs.map +0 -0
- package/dist/src/shapes/Circle.mjs +0 -0
- package/dist/src/shapes/Circle.mjs.map +0 -0
- package/dist/src/shapes/Ellipse.d.ts +0 -0
- package/dist/src/shapes/Ellipse.d.ts.map +0 -0
- package/dist/src/shapes/Ellipse.min.mjs +0 -0
- package/dist/src/shapes/Ellipse.min.mjs.map +0 -0
- package/dist/src/shapes/Ellipse.mjs +0 -0
- package/dist/src/shapes/Ellipse.mjs.map +0 -0
- package/dist/src/shapes/Group.d.ts +0 -0
- package/dist/src/shapes/Group.d.ts.map +0 -0
- package/dist/src/shapes/Group.min.mjs +0 -0
- package/dist/src/shapes/Group.min.mjs.map +0 -0
- package/dist/src/shapes/Group.mjs +0 -0
- package/dist/src/shapes/Group.mjs.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -0
- package/dist/src/shapes/IText/IText.d.ts +0 -0
- package/dist/src/shapes/IText/IText.d.ts.map +0 -0
- package/dist/src/shapes/IText/IText.min.mjs +0 -0
- package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
- package/dist/src/shapes/IText/IText.mjs +206 -206
- package/dist/src/shapes/IText/IText.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.d.ts +0 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs +0 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.mjs +152 -152
- package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +0 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextClickBehavior.mjs +36 -36
- package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs +115 -115
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/constants.d.ts +0 -0
- package/dist/src/shapes/IText/constants.d.ts.map +0 -0
- package/dist/src/shapes/IText/constants.min.mjs +0 -0
- package/dist/src/shapes/IText/constants.min.mjs.map +0 -0
- package/dist/src/shapes/IText/constants.mjs +0 -0
- package/dist/src/shapes/IText/constants.mjs.map +0 -0
- package/dist/src/shapes/Image.d.ts +0 -0
- package/dist/src/shapes/Image.d.ts.map +0 -0
- package/dist/src/shapes/Image.min.mjs +0 -0
- package/dist/src/shapes/Image.min.mjs.map +0 -0
- package/dist/src/shapes/Image.mjs +0 -0
- package/dist/src/shapes/Image.mjs.map +0 -0
- package/dist/src/shapes/Line.d.ts +0 -0
- package/dist/src/shapes/Line.d.ts.map +0 -0
- package/dist/src/shapes/Line.min.mjs +0 -0
- package/dist/src/shapes/Line.min.mjs.map +0 -0
- package/dist/src/shapes/Line.mjs +0 -0
- package/dist/src/shapes/Line.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +0 -0
- package/dist/src/shapes/Object/FabricObject.d.ts.map +0 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs +0 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObject.mjs +0 -0
- package/dist/src/shapes/Object/FabricObject.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +0 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +0 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs +0 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +0 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs +0 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +0 -0
- package/dist/src/shapes/Object/Object.d.ts +0 -0
- package/dist/src/shapes/Object/Object.d.ts.map +0 -0
- package/dist/src/shapes/Object/Object.min.mjs +0 -0
- package/dist/src/shapes/Object/Object.min.mjs.map +0 -0
- package/dist/src/shapes/Object/Object.mjs +0 -0
- package/dist/src/shapes/Object/Object.mjs.map +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs.map +0 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +0 -0
- package/dist/src/shapes/Object/defaultValues.d.ts.map +0 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs +0 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs.map +0 -0
- package/dist/src/shapes/Object/defaultValues.mjs +0 -0
- package/dist/src/shapes/Object/defaultValues.mjs.map +0 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/index.d.ts +0 -0
- package/dist/src/shapes/Object/types/index.d.ts.map +0 -0
- package/dist/src/shapes/Path.d.ts +0 -0
- package/dist/src/shapes/Path.d.ts.map +0 -0
- package/dist/src/shapes/Path.min.mjs +0 -0
- package/dist/src/shapes/Path.min.mjs.map +0 -0
- package/dist/src/shapes/Path.mjs +0 -0
- package/dist/src/shapes/Path.mjs.map +0 -0
- package/dist/src/shapes/Polygon.d.ts +0 -0
- package/dist/src/shapes/Polygon.d.ts.map +0 -0
- package/dist/src/shapes/Polygon.min.mjs +0 -0
- package/dist/src/shapes/Polygon.min.mjs.map +0 -0
- package/dist/src/shapes/Polygon.mjs +0 -0
- package/dist/src/shapes/Polygon.mjs.map +0 -0
- package/dist/src/shapes/Polyline.d.ts +0 -0
- package/dist/src/shapes/Polyline.d.ts.map +0 -0
- package/dist/src/shapes/Polyline.min.mjs +0 -0
- package/dist/src/shapes/Polyline.min.mjs.map +0 -0
- package/dist/src/shapes/Polyline.mjs +0 -0
- package/dist/src/shapes/Polyline.mjs.map +0 -0
- package/dist/src/shapes/Rect.d.ts +0 -0
- package/dist/src/shapes/Rect.d.ts.map +0 -0
- package/dist/src/shapes/Rect.min.mjs +0 -0
- package/dist/src/shapes/Rect.min.mjs.map +0 -0
- package/dist/src/shapes/Rect.mjs +0 -0
- package/dist/src/shapes/Rect.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
- package/dist/src/shapes/Text/Text.d.ts +0 -0
- package/dist/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist/src/shapes/Text/Text.min.mjs +1 -1
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.mjs +298 -294
- package/dist/src/shapes/Text/Text.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -0
- package/dist/src/shapes/Text/constants.d.ts +1 -1
- package/dist/src/shapes/Text/constants.d.ts.map +1 -1
- package/dist/src/shapes/Text/constants.min.mjs +1 -1
- package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
- package/dist/src/shapes/Text/constants.mjs +1 -1
- package/dist/src/shapes/Text/constants.mjs.map +1 -1
- package/dist/src/shapes/Textbox.d.ts +0 -0
- package/dist/src/shapes/Textbox.d.ts.map +0 -0
- package/dist/src/shapes/Textbox.min.mjs +0 -0
- package/dist/src/shapes/Textbox.min.mjs.map +1 -1
- package/dist/src/shapes/Textbox.mjs +168 -168
- package/dist/src/shapes/Textbox.mjs.map +1 -1
- package/dist/src/shapes/Triangle.d.ts +0 -0
- package/dist/src/shapes/Triangle.d.ts.map +0 -0
- package/dist/src/shapes/Triangle.min.mjs +0 -0
- package/dist/src/shapes/Triangle.min.mjs.map +0 -0
- package/dist/src/shapes/Triangle.mjs +0 -0
- package/dist/src/shapes/Triangle.mjs.map +0 -0
- package/dist/src/text/browserLines.d.ts +0 -0
- package/dist/src/text/browserLines.d.ts.map +0 -0
- package/dist/src/text/browserLines.min.mjs +0 -0
- package/dist/src/text/browserLines.min.mjs.map +1 -1
- package/dist/src/text/browserLines.mjs +20 -20
- package/dist/src/text/browserLines.mjs.map +1 -1
- package/dist/src/text/ellipsis.d.ts +0 -0
- package/dist/src/text/ellipsis.d.ts.map +0 -0
- package/dist/src/text/ellipsis.min.mjs +0 -0
- package/dist/src/text/ellipsis.min.mjs.map +1 -1
- package/dist/src/text/ellipsis.mjs +11 -11
- package/dist/src/text/ellipsis.mjs.map +1 -1
- package/dist/src/text/examples/arabicTextExample.d.ts +60 -0
- package/dist/src/text/examples/arabicTextExample.d.ts.map +1 -0
- package/dist/src/text/hitTest.d.ts +0 -0
- package/dist/src/text/hitTest.d.ts.map +0 -0
- package/dist/src/text/hitTest.min.mjs +0 -0
- package/dist/src/text/hitTest.min.mjs.map +1 -1
- package/dist/src/text/hitTest.mjs +19 -19
- package/dist/src/text/hitTest.mjs.map +1 -1
- package/dist/src/text/layout.d.ts +0 -0
- package/dist/src/text/layout.d.ts.map +0 -0
- package/dist/src/text/layout.min.mjs +0 -0
- package/dist/src/text/layout.min.mjs.map +1 -1
- package/dist/src/text/layout.mjs +33 -33
- package/dist/src/text/layout.mjs.map +1 -1
- package/dist/src/text/measure.d.ts +0 -0
- package/dist/src/text/measure.d.ts.map +0 -0
- package/dist/src/text/measure.min.mjs +0 -0
- package/dist/src/text/measure.min.mjs.map +1 -1
- package/dist/src/text/measure.mjs +30 -30
- package/dist/src/text/measure.mjs.map +1 -1
- package/dist/src/text/overlayEditor.d.ts +0 -0
- package/dist/src/text/overlayEditor.d.ts.map +0 -0
- package/dist/src/text/overlayEditor.min.mjs +0 -0
- package/dist/src/text/overlayEditor.min.mjs.map +1 -1
- package/dist/src/text/overlayEditor.mjs +33 -33
- package/dist/src/text/overlayEditor.mjs.map +1 -1
- package/dist/src/text/scriptUtils.d.ts +142 -0
- package/dist/src/text/scriptUtils.d.ts.map +1 -0
- package/dist/src/text/scriptUtils.min.mjs +2 -0
- package/dist/src/text/scriptUtils.min.mjs.map +1 -0
- package/dist/src/text/scriptUtils.mjs +212 -0
- package/dist/src/text/scriptUtils.mjs.map +1 -0
- package/dist/src/text/unicode.d.ts +0 -0
- package/dist/src/text/unicode.d.ts.map +0 -0
- package/dist/src/text/unicode.min.mjs +0 -0
- package/dist/src/text/unicode.min.mjs.map +1 -1
- package/dist/src/text/unicode.mjs +8 -8
- package/dist/src/text/unicode.mjs.map +1 -1
- package/dist/src/typedefs.d.ts +0 -0
- package/dist/src/typedefs.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationBase.d.ts +0 -0
- package/dist/src/util/animation/AnimationBase.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationBase.min.mjs +0 -0
- package/dist/src/util/animation/AnimationBase.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationBase.mjs +0 -0
- package/dist/src/util/animation/AnimationBase.mjs.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +0 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs +0 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.mjs +0 -0
- package/dist/src/util/animation/AnimationRegistry.mjs.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +0 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.mjs +0 -0
- package/dist/src/util/animation/ArrayAnimation.mjs.map +0 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +0 -0
- package/dist/src/util/animation/ColorAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ColorAnimation.mjs +0 -0
- package/dist/src/util/animation/ColorAnimation.mjs.map +0 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +0 -0
- package/dist/src/util/animation/ValueAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ValueAnimation.mjs +0 -0
- package/dist/src/util/animation/ValueAnimation.mjs.map +0 -0
- package/dist/src/util/animation/animate.d.ts +0 -0
- package/dist/src/util/animation/animate.d.ts.map +0 -0
- package/dist/src/util/animation/animate.min.mjs +0 -0
- package/dist/src/util/animation/animate.min.mjs.map +0 -0
- package/dist/src/util/animation/animate.mjs +0 -0
- package/dist/src/util/animation/animate.mjs.map +0 -0
- package/dist/src/util/animation/easing.d.ts +0 -0
- package/dist/src/util/animation/easing.d.ts.map +0 -0
- package/dist/src/util/animation/easing.min.mjs +0 -0
- package/dist/src/util/animation/easing.min.mjs.map +0 -0
- package/dist/src/util/animation/easing.mjs +0 -0
- package/dist/src/util/animation/easing.mjs.map +0 -0
- package/dist/src/util/animation/index.d.ts +0 -0
- package/dist/src/util/animation/index.d.ts.map +0 -0
- package/dist/src/util/animation/types.d.ts +0 -0
- package/dist/src/util/animation/types.d.ts.map +0 -0
- package/dist/src/util/applyMixins.d.ts +0 -0
- package/dist/src/util/applyMixins.d.ts.map +0 -0
- package/dist/src/util/applyMixins.min.mjs +0 -0
- package/dist/src/util/applyMixins.min.mjs.map +0 -0
- package/dist/src/util/applyMixins.mjs +0 -0
- package/dist/src/util/applyMixins.mjs.map +0 -0
- package/dist/src/util/dom_event.d.ts +0 -0
- package/dist/src/util/dom_event.d.ts.map +0 -0
- package/dist/src/util/dom_event.min.mjs +0 -0
- package/dist/src/util/dom_event.min.mjs.map +0 -0
- package/dist/src/util/dom_event.mjs +0 -0
- package/dist/src/util/dom_event.mjs.map +0 -0
- package/dist/src/util/dom_misc.d.ts +0 -0
- package/dist/src/util/dom_misc.d.ts.map +0 -0
- package/dist/src/util/dom_misc.min.mjs +0 -0
- package/dist/src/util/dom_misc.min.mjs.map +0 -0
- package/dist/src/util/dom_misc.mjs +0 -0
- package/dist/src/util/dom_misc.mjs.map +0 -0
- package/dist/src/util/index.d.ts +0 -0
- package/dist/src/util/index.d.ts.map +0 -0
- package/dist/src/util/index.min.mjs +0 -0
- package/dist/src/util/index.min.mjs.map +0 -0
- package/dist/src/util/index.mjs +0 -0
- package/dist/src/util/index.mjs.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts +0 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs +0 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs +0 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +0 -0
- package/dist/src/util/internals/cloneStyles.d.ts +0 -0
- package/dist/src/util/internals/cloneStyles.d.ts.map +0 -0
- package/dist/src/util/internals/cloneStyles.min.mjs +0 -0
- package/dist/src/util/internals/cloneStyles.min.mjs.map +0 -0
- package/dist/src/util/internals/cloneStyles.mjs +0 -0
- package/dist/src/util/internals/cloneStyles.mjs.map +0 -0
- package/dist/src/util/internals/console.d.ts +0 -0
- package/dist/src/util/internals/console.d.ts.map +0 -0
- package/dist/src/util/internals/console.min.mjs +0 -0
- package/dist/src/util/internals/console.min.mjs.map +0 -0
- package/dist/src/util/internals/console.mjs +0 -0
- package/dist/src/util/internals/console.mjs.map +0 -0
- package/dist/src/util/internals/dom_style.d.ts +0 -0
- package/dist/src/util/internals/dom_style.d.ts.map +0 -0
- package/dist/src/util/internals/dom_style.min.mjs +0 -0
- package/dist/src/util/internals/dom_style.min.mjs.map +0 -0
- package/dist/src/util/internals/dom_style.mjs +0 -0
- package/dist/src/util/internals/dom_style.mjs.map +0 -0
- package/dist/src/util/internals/findRight.d.ts +0 -0
- package/dist/src/util/internals/findRight.d.ts.map +0 -0
- package/dist/src/util/internals/findRight.min.mjs +0 -0
- package/dist/src/util/internals/findRight.min.mjs.map +0 -0
- package/dist/src/util/internals/findRight.mjs +0 -0
- package/dist/src/util/internals/findRight.mjs.map +0 -0
- package/dist/src/util/internals/getRandomInt.d.ts +0 -0
- package/dist/src/util/internals/getRandomInt.d.ts.map +0 -0
- package/dist/src/util/internals/getRandomInt.min.mjs +0 -0
- package/dist/src/util/internals/getRandomInt.min.mjs.map +0 -0
- package/dist/src/util/internals/getRandomInt.mjs +0 -0
- package/dist/src/util/internals/getRandomInt.mjs.map +0 -0
- package/dist/src/util/internals/ifNaN.d.ts +0 -0
- package/dist/src/util/internals/ifNaN.d.ts.map +0 -0
- package/dist/src/util/internals/ifNaN.min.mjs +0 -0
- package/dist/src/util/internals/ifNaN.min.mjs.map +0 -0
- package/dist/src/util/internals/ifNaN.mjs +0 -0
- package/dist/src/util/internals/ifNaN.mjs.map +0 -0
- package/dist/src/util/internals/removeFromArray.d.ts +0 -0
- package/dist/src/util/internals/removeFromArray.d.ts.map +0 -0
- package/dist/src/util/internals/removeFromArray.min.mjs +0 -0
- package/dist/src/util/internals/removeFromArray.min.mjs.map +0 -0
- package/dist/src/util/internals/removeFromArray.mjs +0 -0
- package/dist/src/util/internals/removeFromArray.mjs.map +0 -0
- package/dist/src/util/internals/uid.d.ts +0 -0
- package/dist/src/util/internals/uid.d.ts.map +0 -0
- package/dist/src/util/internals/uid.min.mjs +0 -0
- package/dist/src/util/internals/uid.min.mjs.map +0 -0
- package/dist/src/util/internals/uid.mjs +0 -0
- package/dist/src/util/internals/uid.mjs.map +0 -0
- package/dist/src/util/lang_string.d.ts +0 -0
- package/dist/src/util/lang_string.d.ts.map +0 -0
- package/dist/src/util/lang_string.min.mjs +0 -0
- package/dist/src/util/lang_string.min.mjs.map +0 -0
- package/dist/src/util/lang_string.mjs +0 -0
- package/dist/src/util/lang_string.mjs.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +0 -0
- package/dist/src/util/misc/capValue.d.ts +0 -0
- package/dist/src/util/misc/capValue.d.ts.map +0 -0
- package/dist/src/util/misc/capValue.min.mjs +0 -0
- package/dist/src/util/misc/capValue.min.mjs.map +0 -0
- package/dist/src/util/misc/capValue.mjs +0 -0
- package/dist/src/util/misc/capValue.mjs.map +0 -0
- package/dist/src/util/misc/cornerRadius.d.ts +0 -0
- package/dist/src/util/misc/cornerRadius.d.ts.map +0 -0
- package/dist/src/util/misc/cornerRadius.min.mjs +0 -0
- package/dist/src/util/misc/cornerRadius.min.mjs.map +0 -0
- package/dist/src/util/misc/cornerRadius.mjs +0 -0
- package/dist/src/util/misc/cornerRadius.mjs.map +0 -0
- package/dist/src/util/misc/cos.d.ts +0 -0
- package/dist/src/util/misc/cos.d.ts.map +0 -0
- package/dist/src/util/misc/cos.min.mjs +0 -0
- package/dist/src/util/misc/cos.min.mjs.map +0 -0
- package/dist/src/util/misc/cos.mjs +0 -0
- package/dist/src/util/misc/cos.mjs.map +0 -0
- package/dist/src/util/misc/dom.d.ts +0 -0
- package/dist/src/util/misc/dom.d.ts.map +0 -0
- package/dist/src/util/misc/dom.min.mjs +0 -0
- package/dist/src/util/misc/dom.min.mjs.map +0 -0
- package/dist/src/util/misc/dom.mjs +0 -0
- package/dist/src/util/misc/dom.mjs.map +0 -0
- package/dist/src/util/misc/findScaleTo.d.ts +0 -0
- package/dist/src/util/misc/findScaleTo.d.ts.map +0 -0
- package/dist/src/util/misc/findScaleTo.min.mjs +0 -0
- package/dist/src/util/misc/findScaleTo.min.mjs.map +0 -0
- package/dist/src/util/misc/findScaleTo.mjs +0 -0
- package/dist/src/util/misc/findScaleTo.mjs.map +0 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +0 -0
- package/dist/src/util/misc/groupSVGElements.d.ts.map +0 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs +0 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs.map +0 -0
- package/dist/src/util/misc/groupSVGElements.mjs +0 -0
- package/dist/src/util/misc/groupSVGElements.mjs.map +0 -0
- package/dist/src/util/misc/isTransparent.d.ts +0 -0
- package/dist/src/util/misc/isTransparent.d.ts.map +0 -0
- package/dist/src/util/misc/isTransparent.min.mjs +0 -0
- package/dist/src/util/misc/isTransparent.min.mjs.map +0 -0
- package/dist/src/util/misc/isTransparent.mjs +0 -0
- package/dist/src/util/misc/isTransparent.mjs.map +0 -0
- package/dist/src/util/misc/matrix.d.ts +0 -0
- package/dist/src/util/misc/matrix.d.ts.map +0 -0
- package/dist/src/util/misc/matrix.min.mjs +0 -0
- package/dist/src/util/misc/matrix.min.mjs.map +0 -0
- package/dist/src/util/misc/matrix.mjs +0 -0
- package/dist/src/util/misc/matrix.mjs.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +0 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs +0 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.mjs +0 -0
- package/dist/src/util/misc/mergeClipPaths.mjs.map +0 -0
- package/dist/src/util/misc/objectEnlive.d.ts +0 -0
- package/dist/src/util/misc/objectEnlive.d.ts.map +0 -0
- package/dist/src/util/misc/objectEnlive.min.mjs +0 -0
- package/dist/src/util/misc/objectEnlive.min.mjs.map +0 -0
- package/dist/src/util/misc/objectEnlive.mjs +0 -0
- package/dist/src/util/misc/objectEnlive.mjs.map +0 -0
- package/dist/src/util/misc/objectTransforms.d.ts +0 -0
- package/dist/src/util/misc/objectTransforms.d.ts.map +0 -0
- package/dist/src/util/misc/objectTransforms.min.mjs +0 -0
- package/dist/src/util/misc/objectTransforms.min.mjs.map +0 -0
- package/dist/src/util/misc/objectTransforms.mjs +0 -0
- package/dist/src/util/misc/objectTransforms.mjs.map +0 -0
- package/dist/src/util/misc/pick.d.ts +0 -0
- package/dist/src/util/misc/pick.d.ts.map +0 -0
- package/dist/src/util/misc/pick.min.mjs +0 -0
- package/dist/src/util/misc/pick.min.mjs.map +0 -0
- package/dist/src/util/misc/pick.mjs +0 -0
- package/dist/src/util/misc/pick.mjs.map +0 -0
- package/dist/src/util/misc/planeChange.d.ts +0 -0
- package/dist/src/util/misc/planeChange.d.ts.map +0 -0
- package/dist/src/util/misc/planeChange.min.mjs +0 -0
- package/dist/src/util/misc/planeChange.min.mjs.map +0 -0
- package/dist/src/util/misc/planeChange.mjs +0 -0
- package/dist/src/util/misc/planeChange.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/index.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/index.mjs +0 -0
- package/dist/src/util/misc/projectStroke/index.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/types.d.ts.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs.map +0 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +0 -0
- package/dist/src/util/misc/resolveOrigin.d.ts.map +0 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs +0 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs.map +0 -0
- package/dist/src/util/misc/resolveOrigin.mjs +0 -0
- package/dist/src/util/misc/resolveOrigin.mjs.map +0 -0
- package/dist/src/util/misc/sin.d.ts +0 -0
- package/dist/src/util/misc/sin.d.ts.map +0 -0
- package/dist/src/util/misc/sin.min.mjs +0 -0
- package/dist/src/util/misc/sin.min.mjs.map +0 -0
- package/dist/src/util/misc/sin.mjs +0 -0
- package/dist/src/util/misc/sin.mjs.map +0 -0
- package/dist/src/util/misc/svgExport.d.ts +0 -0
- package/dist/src/util/misc/svgExport.d.ts.map +0 -0
- package/dist/src/util/misc/svgExport.min.mjs +0 -0
- package/dist/src/util/misc/svgExport.min.mjs.map +0 -0
- package/dist/src/util/misc/svgExport.mjs +0 -0
- package/dist/src/util/misc/svgExport.mjs.map +0 -0
- package/dist/src/util/misc/svgParsing.d.ts +0 -0
- package/dist/src/util/misc/svgParsing.d.ts.map +0 -0
- package/dist/src/util/misc/svgParsing.min.mjs +0 -0
- package/dist/src/util/misc/svgParsing.min.mjs.map +0 -0
- package/dist/src/util/misc/svgParsing.mjs +0 -0
- package/dist/src/util/misc/svgParsing.mjs.map +0 -0
- package/dist/src/util/misc/textStyles.d.ts +0 -0
- package/dist/src/util/misc/textStyles.d.ts.map +0 -0
- package/dist/src/util/misc/textStyles.min.mjs +0 -0
- package/dist/src/util/misc/textStyles.min.mjs.map +0 -0
- package/dist/src/util/misc/textStyles.mjs +0 -0
- package/dist/src/util/misc/textStyles.mjs.map +0 -0
- package/dist/src/util/misc/toFixed.d.ts +0 -0
- package/dist/src/util/misc/toFixed.d.ts.map +0 -0
- package/dist/src/util/misc/toFixed.min.mjs +0 -0
- package/dist/src/util/misc/toFixed.min.mjs.map +0 -0
- package/dist/src/util/misc/toFixed.mjs +0 -0
- package/dist/src/util/misc/toFixed.mjs.map +0 -0
- package/dist/src/util/misc/vectors.d.ts +0 -0
- package/dist/src/util/misc/vectors.d.ts.map +0 -0
- package/dist/src/util/misc/vectors.min.mjs +0 -0
- package/dist/src/util/misc/vectors.min.mjs.map +0 -0
- package/dist/src/util/misc/vectors.mjs +0 -0
- package/dist/src/util/misc/vectors.mjs.map +0 -0
- package/dist/src/util/path/index.d.ts +0 -0
- package/dist/src/util/path/index.d.ts.map +0 -0
- package/dist/src/util/path/index.min.mjs +0 -0
- package/dist/src/util/path/index.min.mjs.map +0 -0
- package/dist/src/util/path/index.mjs +0 -0
- package/dist/src/util/path/index.mjs.map +0 -0
- package/dist/src/util/path/regex.d.ts +0 -0
- package/dist/src/util/path/regex.d.ts.map +0 -0
- package/dist/src/util/path/regex.min.mjs +0 -0
- package/dist/src/util/path/regex.min.mjs.map +0 -0
- package/dist/src/util/path/regex.mjs +0 -0
- package/dist/src/util/path/regex.mjs.map +0 -0
- package/dist/src/util/path/typechecks.d.ts +0 -0
- package/dist/src/util/path/typechecks.d.ts.map +0 -0
- package/dist/src/util/path/typedefs.d.ts +0 -0
- package/dist/src/util/path/typedefs.d.ts.map +0 -0
- package/dist/src/util/transform_matrix_removal.d.ts +0 -0
- package/dist/src/util/transform_matrix_removal.d.ts.map +0 -0
- package/dist/src/util/transform_matrix_removal.min.mjs +0 -0
- package/dist/src/util/transform_matrix_removal.min.mjs.map +0 -0
- package/dist/src/util/transform_matrix_removal.mjs +0 -0
- package/dist/src/util/transform_matrix_removal.mjs.map +0 -0
- package/dist/src/util/typeAssertions.d.ts +0 -0
- package/dist/src/util/typeAssertions.d.ts.map +0 -0
- package/dist/src/util/typeAssertions.min.mjs +0 -0
- package/dist/src/util/typeAssertions.min.mjs.map +0 -0
- package/dist/src/util/typeAssertions.mjs +0 -0
- package/dist/src/util/typeAssertions.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/constant.mjs +0 -0
- package/dist-extensions/aligning_guidelines/constant.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/index.mjs +0 -0
- package/dist-extensions/aligning_guidelines/index.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -0
- package/dist-extensions/data_updaters/gradient/index.mjs +0 -0
- package/dist-extensions/data_updaters/gradient/index.mjs.map +0 -0
- package/dist-extensions/data_updaters/origins/index.mjs +0 -0
- package/dist-extensions/data_updaters/origins/index.mjs.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +0 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +0 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts +0 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +0 -0
- package/dist-extensions/extensions/index.d.ts +0 -0
- package/dist-extensions/extensions/index.d.ts.map +0 -0
- package/dist-extensions/fabric-extensions.min.js +0 -0
- package/dist-extensions/fabric-extensions.min.js.map +0 -0
- package/dist-extensions/fabric.d.ts +0 -0
- package/dist-extensions/fabric.d.ts.map +0 -0
- package/dist-extensions/index.d.ts +0 -0
- package/dist-extensions/index.d.ts.map +0 -0
- package/dist-extensions/index.mjs +0 -0
- package/dist-extensions/index.mjs.map +0 -0
- package/dist-extensions/src/ClassRegistry.d.ts +0 -0
- package/dist-extensions/src/ClassRegistry.d.ts.map +0 -0
- package/dist-extensions/src/Collection.d.ts +0 -0
- package/dist-extensions/src/Collection.d.ts.map +0 -0
- package/dist-extensions/src/CommonMethods.d.ts +0 -0
- package/dist-extensions/src/CommonMethods.d.ts.map +0 -0
- package/dist-extensions/src/EventTypeDefs.d.ts +0 -0
- package/dist-extensions/src/EventTypeDefs.d.ts.map +0 -0
- package/dist-extensions/src/Intersection.d.ts +0 -0
- package/dist-extensions/src/Intersection.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/index.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/index.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/types.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/types.d.ts.map +0 -0
- package/dist-extensions/src/Observable.d.ts +0 -0
- package/dist-extensions/src/Observable.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts +0 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/index.d.ts +0 -0
- package/dist-extensions/src/Pattern/index.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/types.d.ts +0 -0
- package/dist-extensions/src/Pattern/types.d.ts.map +0 -0
- package/dist-extensions/src/Point.d.ts +0 -0
- package/dist-extensions/src/Point.d.ts.map +0 -0
- package/dist-extensions/src/Shadow.d.ts +0 -0
- package/dist-extensions/src/Shadow.d.ts.map +0 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/typedefs.d.ts +0 -0
- package/dist-extensions/src/brushes/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/cache.d.ts +0 -0
- package/dist-extensions/src/cache.d.ts.map +0 -0
- package/dist-extensions/src/canvas/Canvas.d.ts +0 -0
- package/dist-extensions/src/canvas/Canvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts +0 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +0 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts +0 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts +0 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +0 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts +0 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +0 -0
- package/dist-extensions/src/color/Color.d.ts +0 -0
- package/dist-extensions/src/color/Color.d.ts.map +0 -0
- package/dist-extensions/src/color/color_map.d.ts +0 -0
- package/dist-extensions/src/color/color_map.d.ts.map +0 -0
- package/dist-extensions/src/color/constants.d.ts +0 -0
- package/dist-extensions/src/color/constants.d.ts.map +0 -0
- package/dist-extensions/src/color/typedefs.d.ts +0 -0
- package/dist-extensions/src/color/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/color/util.d.ts +0 -0
- package/dist-extensions/src/color/util.d.ts.map +0 -0
- package/dist-extensions/src/config.d.ts +0 -0
- package/dist-extensions/src/config.d.ts.map +0 -0
- package/dist-extensions/src/constants.d.ts +0 -0
- package/dist-extensions/src/constants.d.ts.map +0 -0
- package/dist-extensions/src/controls/Control.d.ts +0 -0
- package/dist-extensions/src/controls/Control.d.ts.map +0 -0
- package/dist-extensions/src/controls/changeHeight.d.ts +0 -0
- package/dist-extensions/src/controls/changeHeight.d.ts.map +0 -0
- package/dist-extensions/src/controls/changeWidth.d.ts +0 -0
- package/dist-extensions/src/controls/changeWidth.d.ts.map +0 -0
- package/dist-extensions/src/controls/commonControls.d.ts +0 -0
- package/dist-extensions/src/controls/commonControls.d.ts.map +0 -0
- package/dist-extensions/src/controls/controlRendering.d.ts +0 -0
- package/dist-extensions/src/controls/controlRendering.d.ts.map +0 -0
- package/dist-extensions/src/controls/drag.d.ts +0 -0
- package/dist-extensions/src/controls/drag.d.ts.map +0 -0
- package/dist-extensions/src/controls/fireEvent.d.ts +0 -0
- package/dist-extensions/src/controls/fireEvent.d.ts.map +0 -0
- package/dist-extensions/src/controls/index.d.ts +0 -0
- package/dist-extensions/src/controls/index.d.ts.map +0 -0
- package/dist-extensions/src/controls/pathControl.d.ts +0 -0
- package/dist-extensions/src/controls/pathControl.d.ts.map +0 -0
- package/dist-extensions/src/controls/polyControl.d.ts +0 -0
- package/dist-extensions/src/controls/polyControl.d.ts.map +0 -0
- package/dist-extensions/src/controls/rotate.d.ts +0 -0
- package/dist-extensions/src/controls/rotate.d.ts.map +0 -0
- package/dist-extensions/src/controls/scale.d.ts +0 -0
- package/dist-extensions/src/controls/scale.d.ts.map +0 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts +0 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts.map +0 -0
- package/dist-extensions/src/controls/skew.d.ts +0 -0
- package/dist-extensions/src/controls/skew.d.ts.map +0 -0
- package/dist-extensions/src/controls/util.d.ts +0 -0
- package/dist-extensions/src/controls/util.d.ts.map +0 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +0 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +0 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +0 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
- package/dist-extensions/src/env/browser.d.ts +0 -0
- package/dist-extensions/src/env/browser.d.ts.map +0 -0
- package/dist-extensions/src/env/index.d.ts +0 -0
- package/dist-extensions/src/env/index.d.ts.map +0 -0
- package/dist-extensions/src/env/types.d.ts +0 -0
- package/dist-extensions/src/env/types.d.ts.map +0 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts +0 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts.map +0 -0
- package/dist-extensions/src/filters/BlendColor.d.ts +0 -0
- package/dist-extensions/src/filters/BlendColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/BlendImage.d.ts +0 -0
- package/dist-extensions/src/filters/BlendImage.d.ts.map +0 -0
- package/dist-extensions/src/filters/Blur.d.ts +0 -0
- package/dist-extensions/src/filters/Blur.d.ts.map +0 -0
- package/dist-extensions/src/filters/Brightness.d.ts +0 -0
- package/dist-extensions/src/filters/Brightness.d.ts.map +0 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts +0 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts.map +0 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +0 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +0 -0
- package/dist-extensions/src/filters/Composed.d.ts +0 -0
- package/dist-extensions/src/filters/Composed.d.ts.map +0 -0
- package/dist-extensions/src/filters/Contrast.d.ts +0 -0
- package/dist-extensions/src/filters/Contrast.d.ts.map +0 -0
- package/dist-extensions/src/filters/Convolute.d.ts +0 -0
- package/dist-extensions/src/filters/Convolute.d.ts.map +0 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +0 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
- package/dist-extensions/src/filters/Gamma.d.ts +0 -0
- package/dist-extensions/src/filters/Gamma.d.ts.map +0 -0
- package/dist-extensions/src/filters/Grayscale.d.ts +0 -0
- package/dist-extensions/src/filters/Grayscale.d.ts.map +0 -0
- package/dist-extensions/src/filters/HueRotation.d.ts +0 -0
- package/dist-extensions/src/filters/HueRotation.d.ts.map +0 -0
- package/dist-extensions/src/filters/Invert.d.ts +0 -0
- package/dist-extensions/src/filters/Invert.d.ts.map +0 -0
- package/dist-extensions/src/filters/Noise.d.ts +0 -0
- package/dist-extensions/src/filters/Noise.d.ts.map +0 -0
- package/dist-extensions/src/filters/Pixelate.d.ts +0 -0
- package/dist-extensions/src/filters/Pixelate.d.ts.map +0 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts +0 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/Resize.d.ts +0 -0
- package/dist-extensions/src/filters/Resize.d.ts.map +0 -0
- package/dist-extensions/src/filters/Saturation.d.ts +0 -0
- package/dist-extensions/src/filters/Saturation.d.ts.map +0 -0
- package/dist-extensions/src/filters/Vibrance.d.ts +0 -0
- package/dist-extensions/src/filters/Vibrance.d.ts.map +0 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/filters.d.ts +0 -0
- package/dist-extensions/src/filters/filters.d.ts.map +0 -0
- package/dist-extensions/src/filters/index.d.ts +0 -0
- package/dist-extensions/src/filters/index.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +0 -0
- package/dist-extensions/src/filters/typedefs.d.ts +0 -0
- package/dist-extensions/src/filters/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/filters/utils.d.ts +0 -0
- package/dist-extensions/src/filters/utils.d.ts.map +0 -0
- package/dist-extensions/src/gradient/Gradient.d.ts +0 -0
- package/dist-extensions/src/gradient/Gradient.d.ts.map +0 -0
- package/dist-extensions/src/gradient/constants.d.ts +0 -0
- package/dist-extensions/src/gradient/constants.d.ts.map +0 -0
- package/dist-extensions/src/gradient/index.d.ts +0 -0
- package/dist-extensions/src/gradient/index.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +0 -0
- package/dist-extensions/src/gradient/typedefs.d.ts +0 -0
- package/dist-extensions/src/gradient/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts +0 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +0 -0
- package/dist-extensions/src/parser/attributes.d.ts +0 -0
- package/dist-extensions/src/parser/attributes.d.ts.map +0 -0
- package/dist-extensions/src/parser/constants.d.ts +0 -0
- package/dist-extensions/src/parser/constants.d.ts.map +0 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +0 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +0 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts +0 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +0 -0
- package/dist-extensions/src/parser/elements_parser.d.ts +0 -0
- package/dist-extensions/src/parser/elements_parser.d.ts.map +0 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts +0 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts.map +0 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +0 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts +0 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts.map +0 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts +0 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +0 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts +0 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts.map +0 -0
- package/dist-extensions/src/parser/getTagName.d.ts +0 -0
- package/dist-extensions/src/parser/getTagName.d.ts.map +0 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +0 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +0 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts +0 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +0 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts +0 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +0 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts +0 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts.map +0 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts +0 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts +0 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts +0 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +0 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts +0 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts +0 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +0 -0
- package/dist-extensions/src/parser/percent.d.ts +0 -0
- package/dist-extensions/src/parser/percent.d.ts.map +0 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts +0 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts.map +0 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +0 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
- package/dist-extensions/src/parser/typedefs.d.ts +0 -0
- package/dist-extensions/src/parser/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts +0 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Circle.d.ts +0 -0
- package/dist-extensions/src/shapes/Circle.d.ts.map +0 -0
- package/dist-extensions/src/shapes/CustomLine.d.ts +10 -0
- package/dist-extensions/src/shapes/CustomLine.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts +0 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Group.d.ts +0 -0
- package/dist-extensions/src/shapes/Group.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Image.d.ts +0 -0
- package/dist-extensions/src/shapes/Image.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Line.d.ts +0 -0
- package/dist-extensions/src/shapes/Line.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Path.d.ts +0 -0
- package/dist-extensions/src/shapes/Path.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Polygon.d.ts +0 -0
- package/dist-extensions/src/shapes/Polygon.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Polyline.d.ts +0 -0
- package/dist-extensions/src/shapes/Polyline.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Rect.d.ts +0 -0
- package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts +1 -1
- package/dist-extensions/src/shapes/Text/constants.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Textbox.d.ts +0 -0
- package/dist-extensions/src/shapes/Textbox.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Triangle.d.ts +0 -0
- package/dist-extensions/src/shapes/Triangle.d.ts.map +0 -0
- package/dist-extensions/src/text/browserLines.d.ts +0 -0
- package/dist-extensions/src/text/browserLines.d.ts.map +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
- package/dist-extensions/src/text/hitTest.d.ts +0 -0
- package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
- package/dist-extensions/src/text/layout.d.ts +0 -0
- package/dist-extensions/src/text/layout.d.ts.map +0 -0
- package/dist-extensions/src/text/measure.d.ts +0 -0
- package/dist-extensions/src/text/measure.d.ts.map +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts.map +0 -0
- package/dist-extensions/src/text/scriptUtils.d.ts +142 -0
- package/dist-extensions/src/text/scriptUtils.d.ts.map +1 -0
- package/dist-extensions/src/text/unicode.d.ts +0 -0
- package/dist-extensions/src/text/unicode.d.ts.map +0 -0
- package/dist-extensions/src/typedefs.d.ts +0 -0
- package/dist-extensions/src/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/animate.d.ts +0 -0
- package/dist-extensions/src/util/animation/animate.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/easing.d.ts +0 -0
- package/dist-extensions/src/util/animation/easing.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/index.d.ts +0 -0
- package/dist-extensions/src/util/animation/index.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/types.d.ts +0 -0
- package/dist-extensions/src/util/animation/types.d.ts.map +0 -0
- package/dist-extensions/src/util/applyMixins.d.ts +0 -0
- package/dist-extensions/src/util/applyMixins.d.ts.map +0 -0
- package/dist-extensions/src/util/dom_event.d.ts +0 -0
- package/dist-extensions/src/util/dom_event.d.ts.map +0 -0
- package/dist-extensions/src/util/dom_misc.d.ts +0 -0
- package/dist-extensions/src/util/dom_misc.d.ts.map +0 -0
- package/dist-extensions/src/util/index.d.ts +0 -0
- package/dist-extensions/src/util/index.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +0 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts +0 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/console.d.ts +0 -0
- package/dist-extensions/src/util/internals/console.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts +0 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/findRight.d.ts +0 -0
- package/dist-extensions/src/util/internals/findRight.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts +0 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts +0 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts +0 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/uid.d.ts +0 -0
- package/dist-extensions/src/util/internals/uid.d.ts.map +0 -0
- package/dist-extensions/src/util/lang_string.d.ts +0 -0
- package/dist-extensions/src/util/lang_string.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/capValue.d.ts +0 -0
- package/dist-extensions/src/util/misc/capValue.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/cornerRadius.d.ts +0 -0
- package/dist-extensions/src/util/misc/cornerRadius.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/cos.d.ts +0 -0
- package/dist-extensions/src/util/misc/cos.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/dom.d.ts +0 -0
- package/dist-extensions/src/util/misc/dom.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts +0 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts +0 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts +0 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/matrix.d.ts +0 -0
- package/dist-extensions/src/util/misc/matrix.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +0 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts +0 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts +0 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/pick.d.ts +0 -0
- package/dist-extensions/src/util/misc/pick.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts +0 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +0 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts +0 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/sin.d.ts +0 -0
- package/dist-extensions/src/util/misc/sin.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts +0 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts +0 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts +0 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts +0 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/vectors.d.ts +0 -0
- package/dist-extensions/src/util/misc/vectors.d.ts.map +0 -0
- package/dist-extensions/src/util/path/index.d.ts +0 -0
- package/dist-extensions/src/util/path/index.d.ts.map +0 -0
- package/dist-extensions/src/util/path/regex.d.ts +0 -0
- package/dist-extensions/src/util/path/regex.d.ts.map +0 -0
- package/dist-extensions/src/util/path/typedefs.d.ts +0 -0
- package/dist-extensions/src/util/path/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts +0 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +0 -0
- package/dist-extensions/src/util/typeAssertions.d.ts +0 -0
- package/dist-extensions/src/util/typeAssertions.d.ts.map +0 -0
- package/docs/fabric-konva-gap-analysis.md +0 -0
- package/docs/konva-text-behavior-spec.md +0 -0
- package/docs/text-engine-design.md +0 -0
- package/eslint.config.mjs +0 -0
- package/examples/overlay-edit.html +416 -416
- package/extensions/README.MD +0 -0
- package/extensions/aligning_guidelines/README.MD +0 -0
- package/extensions/aligning_guidelines/constant.ts +0 -0
- package/extensions/aligning_guidelines/index.ts +0 -0
- package/extensions/aligning_guidelines/typedefs.ts +0 -0
- package/extensions/aligning_guidelines/util/basic.spec.ts +0 -0
- package/extensions/aligning_guidelines/util/basic.ts +0 -0
- package/extensions/aligning_guidelines/util/collect-line.ts +0 -0
- package/extensions/aligning_guidelines/util/collect-point.ts +0 -0
- package/extensions/aligning_guidelines/util/draw.ts +0 -0
- package/extensions/aligning_guidelines/util/get-objects-by-target.ts +0 -0
- package/extensions/data_updaters/README.md +0 -0
- package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +0 -0
- package/extensions/data_updaters/gradient/index.spec.ts +0 -0
- package/extensions/data_updaters/gradient/index.ts +0 -0
- package/extensions/data_updaters/origins/README.md +0 -0
- package/extensions/data_updaters/origins/index.spec.ts +0 -0
- package/extensions/data_updaters/origins/index.ts +0 -0
- package/extensions/index.ts +0 -0
- package/fabric-test-editor.html +3552 -0
- package/fabric-test2.html +647 -0
- package/fabric.ts +182 -182
- package/fonts/STV Bold.ttf +0 -0
- package/fonts/STV Light.ttf +0 -0
- package/fonts/STV Regular.ttf +0 -0
- package/index.node.ts +0 -0
- package/index.ts +0 -0
- package/lib/aligning_guidelines.js +0 -0
- package/lib/centering_guidelines.js +0 -0
- package/lib/event.js +0 -0
- package/package.json +164 -164
- package/playwright.config.ts +0 -0
- package/playwright.setup.ts +0 -0
- package/publish-next.js +0 -0
- package/publish.js +0 -0
- package/rollup.config.mjs +0 -0
- package/rtl-debug.html +745 -0
- package/scripts/bench-text.js +591 -591
- package/scripts/build.mjs +0 -0
- package/scripts/buildLock.mjs +0 -0
- package/scripts/buildReporter.mjs +0 -0
- package/scripts/buildStats.mjs +0 -0
- package/scripts/dirname.mjs +0 -0
- package/scripts/git.mjs +0 -0
- package/scripts/index.mjs +0 -0
- package/scripts/sandbox.mjs +0 -0
- package/src/ClassRegistry.spec.ts +0 -0
- package/src/ClassRegistry.ts +0 -0
- package/src/Collection.spec.ts +0 -0
- package/src/Collection.ts +0 -0
- package/src/CommonMethods.ts +0 -0
- package/src/EventTypeDefs.ts +0 -0
- package/src/Intersection.spec.ts +0 -0
- package/src/Intersection.ts +0 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +0 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.ts +0 -0
- package/src/LayoutManager/LayoutManager.spec.ts +0 -0
- package/src/LayoutManager/LayoutManager.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/utils.ts +0 -0
- package/src/LayoutManager/README.md +0 -0
- package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +0 -0
- package/src/LayoutManager/constants.ts +0 -0
- package/src/LayoutManager/index.ts +0 -0
- package/src/LayoutManager/types.ts +0 -0
- package/src/Observable.spec.ts +0 -0
- package/src/Observable.ts +0 -0
- package/src/Pattern/Pattern.spec.ts +0 -0
- package/src/Pattern/Pattern.ts +0 -0
- package/src/Pattern/index.ts +0 -0
- package/src/Pattern/types.ts +0 -0
- package/src/Point.spec.ts +0 -0
- package/src/Point.ts +0 -0
- package/src/Shadow.spec.ts +0 -0
- package/src/Shadow.ts +0 -0
- package/src/__snapshots__/Shadow.spec.ts.snap +0 -0
- package/src/brushes/BaseBrush.spec.ts +0 -0
- package/src/brushes/BaseBrush.ts +0 -0
- package/src/brushes/CircleBrush.test.ts +0 -0
- package/src/brushes/CircleBrush.ts +0 -0
- package/src/brushes/PatternBrush.ts +0 -0
- package/src/brushes/PencilBrush.spec.ts +0 -0
- package/src/brushes/PencilBrush.ts +0 -0
- package/src/brushes/SprayBrush.ts +0 -0
- package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +0 -0
- package/src/brushes/typedefs.ts +0 -0
- package/src/cache.spec.ts +0 -0
- package/src/cache.ts +0 -0
- package/src/canvas/Canvas-dispose.spec.ts +0 -0
- package/src/canvas/Canvas-events.spec.ts +0 -0
- package/src/canvas/Canvas.spec.ts +0 -0
- package/src/canvas/Canvas.ts +0 -0
- package/src/canvas/CanvasOptions.ts +0 -0
- package/src/canvas/DOMManagers/CanvasDOMManager.ts +0 -0
- package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +0 -0
- package/src/canvas/DOMManagers/util.spec.ts +0 -0
- package/src/canvas/DOMManagers/util.ts +0 -0
- package/src/canvas/SelectableCanvas.spec.ts +0 -0
- package/src/canvas/SelectableCanvas.ts +0 -0
- package/src/canvas/StaticCanvas.spec.ts +0 -0
- package/src/canvas/StaticCanvas.ts +0 -0
- package/src/canvas/StaticCanvasOptions.ts +0 -0
- package/src/canvas/TextEditingManager.ts +0 -0
- package/src/canvas/__tests__/SelectableCanvas.spec.ts +0 -0
- package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +0 -0
- package/src/canvas/__tests__/eventData.test.ts +0 -0
- package/src/canvas/canvas_gestures.mixin.ts +0 -0
- package/src/color/Color.ts +0 -0
- package/src/color/color.test.ts +0 -0
- package/src/color/color_map.ts +0 -0
- package/src/color/constants.ts +0 -0
- package/src/color/typedefs.ts +0 -0
- package/src/color/util.ts +0 -0
- package/src/config.ts +0 -0
- package/src/constants.ts +0 -0
- package/src/controls/Control-cursor.spec.ts +0 -0
- package/src/controls/Control-handlers.spec.ts +0 -0
- package/src/controls/Control.spec.ts +0 -0
- package/src/controls/Control.ts +0 -0
- package/src/controls/changeHeight.ts +0 -0
- package/src/controls/changeWidth.test.ts +0 -0
- package/src/controls/changeWidth.ts +0 -0
- package/src/controls/commonControls.ts +0 -0
- package/src/controls/controlRendering.ts +0 -0
- package/src/controls/drag.ts +0 -0
- package/src/controls/fireEvent.ts +0 -0
- package/src/controls/index.ts +0 -0
- package/src/controls/pathControl.spec.ts +0 -0
- package/src/controls/pathControl.ts +0 -0
- package/src/controls/polyControl.spec.ts +0 -0
- package/src/controls/polyControl.ts +0 -0
- package/src/controls/rotate.ts +0 -0
- package/src/controls/scale.test.ts +0 -0
- package/src/controls/scale.ts +0 -0
- package/src/controls/scaleSkew.ts +0 -0
- package/src/controls/skew.ts +0 -0
- package/src/controls/util.ts +0 -0
- package/src/controls/wrapWithFireEvent.ts +0 -0
- package/src/controls/wrapWithFixedAnchor.spec.ts +0 -0
- package/src/controls/wrapWithFixedAnchor.ts +0 -0
- package/src/env/browser.ts +0 -0
- package/src/env/env.spec.ts +0 -0
- package/src/env/index.ts +0 -0
- package/src/env/node.ts +0 -0
- package/src/env/types.ts +0 -0
- package/src/filters/BaseFilter.spec.ts +0 -0
- package/src/filters/BaseFilter.ts +0 -0
- package/src/filters/BlendColor.ts +0 -0
- package/src/filters/BlendImage.ts +0 -0
- package/src/filters/Blur.ts +0 -0
- package/src/filters/Boilerplate.ts +0 -0
- package/src/filters/Brightness.ts +0 -0
- package/src/filters/Canvas2dFilterBackend.ts +0 -0
- package/src/filters/ColorMatrix.spec.ts +0 -0
- package/src/filters/ColorMatrix.ts +0 -0
- package/src/filters/ColorMatrixFilters.ts +0 -0
- package/src/filters/Composed.ts +0 -0
- package/src/filters/Contrast.ts +0 -0
- package/src/filters/Convolute.ts +0 -0
- package/src/filters/FilterBackend.ts +0 -0
- package/src/filters/GLProbes/GLProbe.ts +0 -0
- package/src/filters/GLProbes/NodeGLProbe.ts +0 -0
- package/src/filters/GLProbes/WebGLProbe.ts +0 -0
- package/src/filters/Gamma.ts +0 -0
- package/src/filters/Grayscale.ts +0 -0
- package/src/filters/HueRotation.ts +0 -0
- package/src/filters/Invert.ts +0 -0
- package/src/filters/Noise.ts +0 -0
- package/src/filters/Pixelate.ts +0 -0
- package/src/filters/RemoveColor.ts +0 -0
- package/src/filters/Resize.ts +0 -0
- package/src/filters/Saturation.ts +0 -0
- package/src/filters/Vibrance.ts +0 -0
- package/src/filters/WebGLFilterBackend.spec.ts +0 -0
- package/src/filters/WebGLFilterBackend.ts +0 -0
- package/src/filters/filters.ts +0 -0
- package/src/filters/index.ts +0 -0
- package/src/filters/shaders/baseFilter.ts +0 -0
- package/src/filters/shaders/blendColor.ts +0 -0
- package/src/filters/shaders/blendImage.ts +0 -0
- package/src/filters/shaders/blur.ts +0 -0
- package/src/filters/shaders/brightness.ts +0 -0
- package/src/filters/shaders/colorMatrix.ts +0 -0
- package/src/filters/shaders/constrast.ts +0 -0
- package/src/filters/shaders/convolute.ts +0 -0
- package/src/filters/shaders/gamma.ts +0 -0
- package/src/filters/shaders/grayscale.ts +0 -0
- package/src/filters/shaders/invert.ts +0 -0
- package/src/filters/shaders/noise.ts +0 -0
- package/src/filters/shaders/pixelate.ts +0 -0
- package/src/filters/shaders/removeColor.ts +0 -0
- package/src/filters/shaders/saturation.ts +0 -0
- package/src/filters/shaders/vibrance.ts +0 -0
- package/src/filters/typedefs.ts +0 -0
- package/src/filters/utils.ts +0 -0
- package/src/gradient/Gradient.spec.ts +0 -0
- package/src/gradient/Gradient.ts +0 -0
- package/src/gradient/constants.ts +0 -0
- package/src/gradient/index.ts +0 -0
- package/src/gradient/parser/misc.ts +0 -0
- package/src/gradient/parser/parseColorStops.ts +0 -0
- package/src/gradient/parser/parseCoords.ts +0 -0
- package/src/gradient/typedefs.ts +0 -0
- package/src/mixins/eraser_brush.mixin.ts +0 -0
- package/src/parkinglot/canvas_animation.mixin.ts +0 -0
- package/src/parkinglot/straighten.ts +0 -0
- package/src/parser/applyViewboxTransform.spec.ts +0 -0
- package/src/parser/applyViewboxTransform.ts +0 -0
- package/src/parser/attributes.ts +0 -0
- package/src/parser/constants.spec.ts +0 -0
- package/src/parser/constants.ts +0 -0
- package/src/parser/doesSomeParentMatch.ts +0 -0
- package/src/parser/elementMatchesRule.ts +0 -0
- package/src/parser/elements_parser.ts +0 -0
- package/src/parser/getCSSRules.spec.ts +0 -0
- package/src/parser/getCSSRules.ts +0 -0
- package/src/parser/getGlobalStylesForElement.ts +0 -0
- package/src/parser/getGradientDefs.ts +0 -0
- package/src/parser/getMultipleNodes.ts +0 -0
- package/src/parser/getSvgRegex.ts +0 -0
- package/src/parser/getTagName.ts +0 -0
- package/src/parser/hasInvalidAncestor.ts +0 -0
- package/src/parser/loadSVGFromString.test.ts +0 -0
- package/src/parser/loadSVGFromString.ts +0 -0
- package/src/parser/loadSVGFromURL.ts +0 -0
- package/src/parser/normalizeAttr.ts +0 -0
- package/src/parser/normalizeValue.ts +0 -0
- package/src/parser/parseAttributes.ts +0 -0
- package/src/parser/parseFontDeclaration.ts +0 -0
- package/src/parser/parsePointsAttribute.ts +0 -0
- package/src/parser/parseSVGDocument.ts +0 -0
- package/src/parser/parseStyleAttribute.ts +0 -0
- package/src/parser/parseStyleObject.ts +0 -0
- package/src/parser/parseStyleString.ts +0 -0
- package/src/parser/parseTransformAttribute.ts +0 -0
- package/src/parser/parseUseDirectives.test.ts +0 -0
- package/src/parser/parseUseDirectives.ts +0 -0
- package/src/parser/parser.spec.ts +0 -0
- package/src/parser/percent.ts +0 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +0 -0
- package/src/parser/selectorMatches.ts +0 -0
- package/src/parser/setStrokeFillOpacity.ts +0 -0
- package/src/parser/typedefs.ts +0 -0
- package/src/shapes/ActiveSelection.spec.ts +0 -0
- package/src/shapes/ActiveSelection.ts +0 -0
- package/src/shapes/Circle.spec.ts +0 -0
- package/src/shapes/Circle.ts +0 -0
- package/src/shapes/Ellipse.spec.ts +0 -0
- package/src/shapes/Ellipse.ts +0 -0
- package/src/shapes/Group.spec.ts +0 -0
- package/src/shapes/Group.ts +0 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +0 -0
- package/src/shapes/IText/IText-click-behavior.spec.ts +0 -0
- package/src/shapes/IText/IText.test.ts +0 -0
- package/src/shapes/IText/IText.ts +846 -846
- package/src/shapes/IText/ITextBehavior.test.ts +0 -0
- package/src/shapes/IText/ITextBehavior.ts +1187 -1187
- package/src/shapes/IText/ITextClickBehavior.ts +254 -254
- package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +732 -732
- package/src/shapes/IText/__snapshots__/IText.test.ts.snap +0 -0
- package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +0 -0
- package/src/shapes/IText/constants.ts +0 -0
- package/src/shapes/Image-filters.spec.ts +0 -0
- package/src/shapes/Image.spec.ts +0 -0
- package/src/shapes/Image.ts +0 -0
- package/src/shapes/Line.spec.ts +0 -0
- package/src/shapes/Line.ts +0 -0
- package/src/shapes/Object/FabricObject.spec.ts +0 -0
- package/src/shapes/Object/FabricObject.ts +0 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +0 -0
- package/src/shapes/Object/InteractiveObject.spec.ts +0 -0
- package/src/shapes/Object/InteractiveObject.ts +0 -0
- package/src/shapes/Object/Object-clip-path.spec.ts +0 -0
- package/src/shapes/Object/Object-interactivity.spec.ts +0 -0
- package/src/shapes/Object/Object.spec.ts +0 -0
- package/src/shapes/Object/Object.ts +0 -0
- package/src/shapes/Object/ObjectGeometry.spec.ts +0 -0
- package/src/shapes/Object/ObjectGeometry.ts +0 -0
- package/src/shapes/Object/ObjectOrigin.spec.ts +0 -0
- package/src/shapes/Object/ObjectSerialization.spec.ts +0 -0
- package/src/shapes/Object/StackedObject.spec.ts +0 -0
- package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +0 -0
- package/src/shapes/Object/defaultValues.ts +0 -0
- package/src/shapes/Object/types/BaseProps.ts +0 -0
- package/src/shapes/Object/types/BorderProps.ts +0 -0
- package/src/shapes/Object/types/ControlProps.ts +0 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +0 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +0 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +0 -0
- package/src/shapes/Object/types/ObjectProps.ts +0 -0
- package/src/shapes/Object/types/ObjectTransformProps.ts +0 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +0 -0
- package/src/shapes/Object/types/index.ts +0 -0
- package/src/shapes/Path.spec.ts +0 -0
- package/src/shapes/Path.ts +0 -0
- package/src/shapes/Polygon.spec.ts +0 -0
- package/src/shapes/Polygon.ts +0 -0
- package/src/shapes/Polyline.spec.ts +0 -0
- package/src/shapes/Polyline.ts +0 -0
- package/src/shapes/Rect.spec.ts +0 -0
- package/src/shapes/Rect.ts +0 -0
- package/src/shapes/Text/StyledText.spec.ts +0 -0
- package/src/shapes/Text/StyledText.ts +0 -0
- package/src/shapes/Text/Text.spec.ts +0 -0
- package/src/shapes/Text/Text.ts +2463 -2459
- package/src/shapes/Text/TextSVGExportMixin.spec.ts +0 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +0 -0
- package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +0 -0
- package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +0 -0
- package/src/shapes/Text/constants.ts +135 -134
- package/src/shapes/Textbox.spec.ts +0 -0
- package/src/shapes/Textbox.ts +1320 -1320
- package/src/shapes/Triangle.spec.ts +0 -0
- package/src/shapes/Triangle.ts +0 -0
- package/src/shapes/__snapshots__/Image.spec.ts.snap +0 -0
- package/src/shapes/__snapshots__/Textbox.spec.ts.snap +0 -0
- package/src/text/browserLines.ts +233 -233
- package/src/text/ellipsis.ts +516 -516
- package/src/text/hitTest.ts +623 -623
- package/src/text/layout.ts +586 -586
- package/src/text/measure.ts +626 -626
- package/src/text/overlayEditor.ts +1047 -1047
- package/src/text/unicode.ts +454 -454
- package/src/typedefs.ts +0 -0
- package/src/util/__snapshots__/index.spec.ts.snap +0 -0
- package/src/util/animation/AnimationBase.ts +0 -0
- package/src/util/animation/AnimationFrameProvider.ts +0 -0
- package/src/util/animation/AnimationRegistry.ts +0 -0
- package/src/util/animation/ArrayAnimation.ts +0 -0
- package/src/util/animation/ColorAnimation.ts +0 -0
- package/src/util/animation/ValueAnimation.ts +0 -0
- package/src/util/animation/__snapshots__/animations.spec.ts.snap +0 -0
- package/src/util/animation/animate.ts +0 -0
- package/src/util/animation/animations.spec.ts +0 -0
- package/src/util/animation/easing.ts +0 -0
- package/src/util/animation/index.ts +0 -0
- package/src/util/animation/types.ts +0 -0
- package/src/util/applyMixins.ts +0 -0
- package/src/util/dom_event.spec.ts +0 -0
- package/src/util/dom_event.ts +0 -0
- package/src/util/dom_misc.ts +0 -0
- package/src/util/index.spec.ts +0 -0
- package/src/util/index.ts +0 -0
- package/src/util/internals/applyCanvasTransform.ts +0 -0
- package/src/util/internals/cleanupSvgAttribute.test.ts +0 -0
- package/src/util/internals/cleanupSvgAttribute.ts +0 -0
- package/src/util/internals/cloneStyles.spec.ts +0 -0
- package/src/util/internals/cloneStyles.ts +0 -0
- package/src/util/internals/console.ts +0 -0
- package/src/util/internals/dom_style.spec.ts +0 -0
- package/src/util/internals/dom_style.ts +0 -0
- package/src/util/internals/findRight.ts +0 -0
- package/src/util/internals/getRandomInt.test.ts +0 -0
- package/src/util/internals/getRandomInt.ts +0 -0
- package/src/util/internals/ifNaN.ts +0 -0
- package/src/util/internals/removeFromArray.spec.ts +0 -0
- package/src/util/internals/removeFromArray.ts +0 -0
- package/src/util/internals/uid.ts +0 -0
- package/src/util/lang_string.spec.ts +0 -0
- package/src/util/lang_string.ts +0 -0
- package/src/util/misc/boundingBoxFromPoints.spec.ts +0 -0
- package/src/util/misc/boundingBoxFromPoints.ts +0 -0
- package/src/util/misc/capValue.spec.ts +0 -0
- package/src/util/misc/capValue.ts +0 -0
- package/src/util/misc/cornerRadius.spec.ts +0 -0
- package/src/util/misc/cornerRadius.ts +0 -0
- package/src/util/misc/cos.spec.ts +0 -0
- package/src/util/misc/cos.ts +0 -0
- package/src/util/misc/dom.spec.ts +0 -0
- package/src/util/misc/dom.ts +0 -0
- package/src/util/misc/findScaleTo.spec.ts +0 -0
- package/src/util/misc/findScaleTo.ts +0 -0
- package/src/util/misc/groupSVGElements.spec.ts +0 -0
- package/src/util/misc/groupSVGElements.ts +0 -0
- package/src/util/misc/isTransparent.ts +0 -0
- package/src/util/misc/matrix.spec.ts +0 -0
- package/src/util/misc/matrix.ts +0 -0
- package/src/util/misc/mergeClipPaths.spec.ts +0 -0
- package/src/util/misc/mergeClipPaths.ts +0 -0
- package/src/util/misc/objectEnlive.spec.ts +0 -0
- package/src/util/misc/objectEnlive.ts +0 -0
- package/src/util/misc/objectTransforms.spec.ts +0 -0
- package/src/util/misc/objectTransforms.ts +0 -0
- package/src/util/misc/pick.spec.ts +0 -0
- package/src/util/misc/pick.ts +0 -0
- package/src/util/misc/planeChange.spec.ts +0 -0
- package/src/util/misc/planeChange.ts +0 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +0 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +0 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +0 -0
- package/src/util/misc/projectStroke/index.ts +0 -0
- package/src/util/misc/projectStroke/types.ts +0 -0
- package/src/util/misc/radiansDegreesConversion.spec.ts +0 -0
- package/src/util/misc/radiansDegreesConversion.ts +0 -0
- package/src/util/misc/resolveOrigin.ts +0 -0
- package/src/util/misc/sin.ts +0 -0
- package/src/util/misc/svgExport.ts +0 -0
- package/src/util/misc/svgParsing.spec.ts +0 -0
- package/src/util/misc/svgParsing.ts +0 -0
- package/src/util/misc/textStyles.ts +0 -0
- package/src/util/misc/toFixed.spec.ts +0 -0
- package/src/util/misc/toFixed.ts +0 -0
- package/src/util/misc/vectors.spec.ts +0 -0
- package/src/util/misc/vectors.ts +0 -0
- package/src/util/path/__snapshots__/index.spec.ts.snap +0 -0
- package/src/util/path/index.spec.ts +0 -0
- package/src/util/path/index.ts +0 -0
- package/src/util/path/regex.ts +0 -0
- package/src/util/path/typechecks.ts +0 -0
- package/src/util/path/typedefs.ts +0 -0
- package/src/util/transform_matrix_removal.ts +0 -0
- package/src/util/typeAssertions.spec.ts +0 -0
- package/src/util/typeAssertions.ts +0 -0
- package/tsconfig-extensions.json +0 -0
- package/tsconfig.json +0 -0
- package/tsconfig.spec.json +0 -0
- package/typedoc.config.json +0 -0
- package/vitest.config.ts +0 -0
- package/vitest.d.ts +0 -0
- package/vitest.env.d.ts +0 -0
- package/vitest.extend.ts +0 -0
- package/vitest.setup.ts +0 -0
- package/dist/src/controls/changeHeight.min.mjs +0 -2
- package/dist/src/controls/changeHeight.min.mjs.map +0 -1
- package/dist/src/controls/changeHeight.mjs +0 -36
- package/dist/src/controls/changeHeight.mjs.map +0 -1
package/dist/index.node.cjs
CHANGED
|
@@ -412,7 +412,7 @@ class Cache {
|
|
|
412
412
|
}
|
|
413
413
|
const cache = new Cache();
|
|
414
414
|
|
|
415
|
-
var version = "7.0.1-
|
|
415
|
+
var version = "7.0.1-beta11";
|
|
416
416
|
|
|
417
417
|
// use this syntax so babel plugin see this import here
|
|
418
418
|
const VERSION = version;
|
|
@@ -4859,7 +4859,7 @@ const TEXT_DECORATION_THICKNESS = 'textDecorationThickness';
|
|
|
4859
4859
|
const fontProperties = ['fontSize', 'fontWeight', 'fontFamily', 'fontStyle'];
|
|
4860
4860
|
const textDecorationProperties = ['underline', 'overline', 'linethrough'];
|
|
4861
4861
|
const textLayoutProperties = [...fontProperties, 'lineHeight', 'text', 'charSpacing', 'textAlign', 'styles', 'path', 'pathStartOffset', 'pathSide', 'pathAlign', 'wrap', 'ellipsis', 'letterSpacing', 'enableAdvancedLayout', 'verticalAlign'];
|
|
4862
|
-
const additionalProps = [...textLayoutProperties, ...textDecorationProperties, 'textBackgroundColor', 'direction', TEXT_DECORATION_THICKNESS];
|
|
4862
|
+
const additionalProps = [...textLayoutProperties, ...textDecorationProperties, 'textBackgroundColor', 'direction', TEXT_DECORATION_THICKNESS, 'useOverlayEditing'];
|
|
4863
4863
|
const styleProperties = [...fontProperties, ...textDecorationProperties, STROKE, 'strokeWidth', FILL, 'deltaY', 'textBackgroundColor', TEXT_DECORATION_THICKNESS];
|
|
4864
4864
|
|
|
4865
4865
|
// @TODO: Many things here are configuration related and shouldn't be on the class nor prototype
|
|
@@ -19241,8 +19241,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
|
|
|
19241
19241
|
// Global measurement context - reused for performance
|
|
19242
19242
|
let measurementContext = null;
|
|
19243
19243
|
|
|
19244
|
-
/**
|
|
19245
|
-
* Get or create the shared measurement context
|
|
19244
|
+
/**
|
|
19245
|
+
* Get or create the shared measurement context
|
|
19246
19246
|
*/
|
|
19247
19247
|
function getMeasurementContext() {
|
|
19248
19248
|
if (!measurementContext) {
|
|
@@ -19255,8 +19255,8 @@ function getMeasurementContext() {
|
|
|
19255
19255
|
return measurementContext;
|
|
19256
19256
|
}
|
|
19257
19257
|
|
|
19258
|
-
/**
|
|
19259
|
-
* Measure a single grapheme
|
|
19258
|
+
/**
|
|
19259
|
+
* Measure a single grapheme
|
|
19260
19260
|
*/
|
|
19261
19261
|
function measureGrapheme(grapheme, options, ctx) {
|
|
19262
19262
|
// Check cache first
|
|
@@ -19289,8 +19289,8 @@ function measureGrapheme(grapheme, options, ctx) {
|
|
|
19289
19289
|
return measurement;
|
|
19290
19290
|
}
|
|
19291
19291
|
|
|
19292
|
-
/**
|
|
19293
|
-
* Measure a grapheme with kerning relative to previous character
|
|
19292
|
+
/**
|
|
19293
|
+
* Measure a grapheme with kerning relative to previous character
|
|
19294
19294
|
*/
|
|
19295
19295
|
function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
19296
19296
|
// Get individual measurement
|
|
@@ -19331,9 +19331,9 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
|
19331
19331
|
};
|
|
19332
19332
|
}
|
|
19333
19333
|
|
|
19334
|
-
/**
|
|
19335
|
-
* Get a representative character for font metrics measurement
|
|
19336
|
-
* Uses canvas to test which scripts the font actually supports
|
|
19334
|
+
/**
|
|
19335
|
+
* Get a representative character for font metrics measurement
|
|
19336
|
+
* Uses canvas to test which scripts the font actually supports
|
|
19337
19337
|
*/
|
|
19338
19338
|
function getRepresentativeCharacter(fontFamily) {
|
|
19339
19339
|
const context = getMeasurementContext();
|
|
@@ -19422,8 +19422,8 @@ function getRepresentativeCharacter(fontFamily) {
|
|
|
19422
19422
|
return 'M';
|
|
19423
19423
|
}
|
|
19424
19424
|
|
|
19425
|
-
/**
|
|
19426
|
-
* Get font metrics for layout calculations
|
|
19425
|
+
/**
|
|
19426
|
+
* Get font metrics for layout calculations
|
|
19427
19427
|
*/
|
|
19428
19428
|
function getFontMetrics(options) {
|
|
19429
19429
|
var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
|
|
@@ -19459,8 +19459,8 @@ function getFontMetrics(options) {
|
|
|
19459
19459
|
return result;
|
|
19460
19460
|
}
|
|
19461
19461
|
|
|
19462
|
-
/**
|
|
19463
|
-
* Apply font styling to canvas context
|
|
19462
|
+
/**
|
|
19463
|
+
* Apply font styling to canvas context
|
|
19464
19464
|
*/
|
|
19465
19465
|
function applyFontStyle(ctx, options) {
|
|
19466
19466
|
const fontDeclaration = getFontDeclaration(options);
|
|
@@ -19477,8 +19477,8 @@ function applyFontStyle(ctx, options) {
|
|
|
19477
19477
|
ctx.textBaseline = 'alphabetic';
|
|
19478
19478
|
}
|
|
19479
19479
|
|
|
19480
|
-
/**
|
|
19481
|
-
* Generate font declaration string
|
|
19480
|
+
/**
|
|
19481
|
+
* Generate font declaration string
|
|
19482
19482
|
*/
|
|
19483
19483
|
function getFontDeclaration(options) {
|
|
19484
19484
|
const {
|
|
@@ -19497,8 +19497,8 @@ function getFontDeclaration(options) {
|
|
|
19497
19497
|
return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
|
|
19498
19498
|
}
|
|
19499
19499
|
|
|
19500
|
-
/**
|
|
19501
|
-
* LRU Cache implementation for measurements
|
|
19500
|
+
/**
|
|
19501
|
+
* LRU Cache implementation for measurements
|
|
19502
19502
|
*/
|
|
19503
19503
|
class LRUCache {
|
|
19504
19504
|
constructor() {
|
|
@@ -19560,8 +19560,8 @@ class LRUCache {
|
|
|
19560
19560
|
}
|
|
19561
19561
|
}
|
|
19562
19562
|
|
|
19563
|
-
/**
|
|
19564
|
-
* Advanced measurement cache with font-aware keys
|
|
19563
|
+
/**
|
|
19564
|
+
* Advanced measurement cache with font-aware keys
|
|
19565
19565
|
*/
|
|
19566
19566
|
class MeasurementCache {
|
|
19567
19567
|
constructor() {
|
|
@@ -19588,8 +19588,8 @@ class MeasurementCache {
|
|
|
19588
19588
|
}
|
|
19589
19589
|
}
|
|
19590
19590
|
|
|
19591
|
-
/**
|
|
19592
|
-
* Kerning cache for character pairs
|
|
19591
|
+
/**
|
|
19592
|
+
* Kerning cache for character pairs
|
|
19593
19593
|
*/
|
|
19594
19594
|
class KerningCache {
|
|
19595
19595
|
constructor() {
|
|
@@ -19617,8 +19617,8 @@ class KerningCache {
|
|
|
19617
19617
|
}
|
|
19618
19618
|
}
|
|
19619
19619
|
|
|
19620
|
-
/**
|
|
19621
|
-
* Font metrics cache
|
|
19620
|
+
/**
|
|
19621
|
+
* Font metrics cache
|
|
19622
19622
|
*/
|
|
19623
19623
|
class FontMetricsCache {
|
|
19624
19624
|
constructor() {
|
|
@@ -19653,8 +19653,8 @@ if (typeof document !== 'undefined' && 'fonts' in document) {
|
|
|
19653
19653
|
});
|
|
19654
19654
|
}
|
|
19655
19655
|
|
|
19656
|
-
/**
|
|
19657
|
-
* Clear all measurement caches
|
|
19656
|
+
/**
|
|
19657
|
+
* Clear all measurement caches
|
|
19658
19658
|
*/
|
|
19659
19659
|
function clearAllCaches() {
|
|
19660
19660
|
measurementCache.clear();
|
|
@@ -19662,9 +19662,9 @@ function clearAllCaches() {
|
|
|
19662
19662
|
fontMetricsCache.clear();
|
|
19663
19663
|
}
|
|
19664
19664
|
|
|
19665
|
-
/**
|
|
19666
|
-
* Detect if a font lacks English glyph support
|
|
19667
|
-
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19665
|
+
/**
|
|
19666
|
+
* Detect if a font lacks English glyph support
|
|
19667
|
+
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19668
19668
|
*/
|
|
19669
19669
|
function fontLacksEnglishGlyphs(fontFamily) {
|
|
19670
19670
|
if (typeof document === 'undefined') return false;
|
|
@@ -19708,8 +19708,8 @@ function fontLacksEnglishGlyphs(fontFamily) {
|
|
|
19708
19708
|
// Cache for font glyph detection results
|
|
19709
19709
|
const fontGlyphCache = new Map();
|
|
19710
19710
|
|
|
19711
|
-
/**
|
|
19712
|
-
* Cached version of font glyph detection
|
|
19711
|
+
/**
|
|
19712
|
+
* Cached version of font glyph detection
|
|
19713
19713
|
*/
|
|
19714
19714
|
function fontLacksEnglishGlyphsCached(fontFamily) {
|
|
19715
19715
|
if (fontGlyphCache.has(fontFamily)) {
|
|
@@ -19720,17 +19720,17 @@ function fontLacksEnglishGlyphsCached(fontFamily) {
|
|
|
19720
19720
|
return result;
|
|
19721
19721
|
}
|
|
19722
19722
|
|
|
19723
|
-
/**
|
|
19724
|
-
* Unicode and Internationalization Support
|
|
19725
|
-
*
|
|
19726
|
-
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19727
|
-
* and grapheme cluster boundary detection.
|
|
19723
|
+
/**
|
|
19724
|
+
* Unicode and Internationalization Support
|
|
19725
|
+
*
|
|
19726
|
+
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19727
|
+
* and grapheme cluster boundary detection.
|
|
19728
19728
|
*/
|
|
19729
19729
|
|
|
19730
19730
|
|
|
19731
|
-
/**
|
|
19732
|
-
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19733
|
-
* with fallback to existing graphemeSplit implementation
|
|
19731
|
+
/**
|
|
19732
|
+
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19733
|
+
* with fallback to existing graphemeSplit implementation
|
|
19734
19734
|
*/
|
|
19735
19735
|
function segmentGraphemes(text) {
|
|
19736
19736
|
// Use native Intl.Segmenter if available
|
|
@@ -19750,15 +19750,15 @@ function segmentGraphemes(text) {
|
|
|
19750
19750
|
return graphemeSplit(text);
|
|
19751
19751
|
}
|
|
19752
19752
|
|
|
19753
|
-
/**
|
|
19754
|
-
* Ellipsis Text Truncation System
|
|
19755
|
-
*
|
|
19756
|
-
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19757
|
-
* using binary search for optimal truncation points.
|
|
19753
|
+
/**
|
|
19754
|
+
* Ellipsis Text Truncation System
|
|
19755
|
+
*
|
|
19756
|
+
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19757
|
+
* using binary search for optimal truncation points.
|
|
19758
19758
|
*/
|
|
19759
19759
|
|
|
19760
|
-
/**
|
|
19761
|
-
* Apply ellipsis truncation to text based on width/height constraints
|
|
19760
|
+
/**
|
|
19761
|
+
* Apply ellipsis truncation to text based on width/height constraints
|
|
19762
19762
|
*/
|
|
19763
19763
|
function applyEllipsis(text, options) {
|
|
19764
19764
|
const {
|
|
@@ -19828,8 +19828,8 @@ function applyEllipsis(text, options) {
|
|
|
19828
19828
|
};
|
|
19829
19829
|
}
|
|
19830
19830
|
|
|
19831
|
-
/**
|
|
19832
|
-
* Truncate text based on width constraint using binary search
|
|
19831
|
+
/**
|
|
19832
|
+
* Truncate text based on width constraint using binary search
|
|
19833
19833
|
*/
|
|
19834
19834
|
function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
|
|
19835
19835
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19879,8 +19879,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
|
|
|
19879
19879
|
};
|
|
19880
19880
|
}
|
|
19881
19881
|
|
|
19882
|
-
/**
|
|
19883
|
-
* Truncate text based on height constraint
|
|
19882
|
+
/**
|
|
19883
|
+
* Truncate text based on height constraint
|
|
19884
19884
|
*/
|
|
19885
19885
|
function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
19886
19886
|
var _measureFn;
|
|
@@ -19928,19 +19928,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
|
19928
19928
|
return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
|
|
19929
19929
|
}
|
|
19930
19930
|
|
|
19931
|
-
/**
|
|
19932
|
-
* Core Text Layout Engine
|
|
19933
|
-
*
|
|
19934
|
-
* Implements Konva-compatible text layout with support for:
|
|
19935
|
-
* - Multiple wrap modes (word/char/none)
|
|
19936
|
-
* - Ellipsis truncation
|
|
19937
|
-
* - Justify alignment with proper space distribution
|
|
19938
|
-
* - RTL/LTR text direction
|
|
19939
|
-
* - Advanced grapheme handling
|
|
19931
|
+
/**
|
|
19932
|
+
* Core Text Layout Engine
|
|
19933
|
+
*
|
|
19934
|
+
* Implements Konva-compatible text layout with support for:
|
|
19935
|
+
* - Multiple wrap modes (word/char/none)
|
|
19936
|
+
* - Ellipsis truncation
|
|
19937
|
+
* - Justify alignment with proper space distribution
|
|
19938
|
+
* - RTL/LTR text direction
|
|
19939
|
+
* - Advanced grapheme handling
|
|
19940
19940
|
*/
|
|
19941
19941
|
|
|
19942
|
-
/**
|
|
19943
|
-
* Main text layout function - converts text and options into positioned layout
|
|
19942
|
+
/**
|
|
19943
|
+
* Main text layout function - converts text and options into positioned layout
|
|
19944
19944
|
*/
|
|
19945
19945
|
function layoutText(options) {
|
|
19946
19946
|
var _ellipsisResult;
|
|
@@ -20059,8 +20059,8 @@ function layoutText(options) {
|
|
|
20059
20059
|
};
|
|
20060
20060
|
}
|
|
20061
20061
|
|
|
20062
|
-
/**
|
|
20063
|
-
* Layout a single paragraph with wrapping
|
|
20062
|
+
/**
|
|
20063
|
+
* Layout a single paragraph with wrapping
|
|
20064
20064
|
*/
|
|
20065
20065
|
function layoutParagraph(text, options) {
|
|
20066
20066
|
const {
|
|
@@ -20095,8 +20095,8 @@ function layoutParagraph(text, options) {
|
|
|
20095
20095
|
return layoutLines;
|
|
20096
20096
|
}
|
|
20097
20097
|
|
|
20098
|
-
/**
|
|
20099
|
-
* Layout a single line of text (no wrapping)
|
|
20098
|
+
/**
|
|
20099
|
+
* Layout a single line of text (no wrapping)
|
|
20100
20100
|
*/
|
|
20101
20101
|
function layoutSingleLine(text, options) {
|
|
20102
20102
|
let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -20166,8 +20166,8 @@ function layoutSingleLine(text, options) {
|
|
|
20166
20166
|
};
|
|
20167
20167
|
}
|
|
20168
20168
|
|
|
20169
|
-
/**
|
|
20170
|
-
* Word-based wrapping algorithm
|
|
20169
|
+
/**
|
|
20170
|
+
* Word-based wrapping algorithm
|
|
20171
20171
|
*/
|
|
20172
20172
|
function wrapByWords(text, maxWidth, options) {
|
|
20173
20173
|
const lines = [];
|
|
@@ -20200,8 +20200,8 @@ function wrapByWords(text, maxWidth, options) {
|
|
|
20200
20200
|
return lines.length > 0 ? lines : [''];
|
|
20201
20201
|
}
|
|
20202
20202
|
|
|
20203
|
-
/**
|
|
20204
|
-
* Character-based wrapping algorithm
|
|
20203
|
+
/**
|
|
20204
|
+
* Character-based wrapping algorithm
|
|
20205
20205
|
*/
|
|
20206
20206
|
function wrapByCharacters(text, maxWidth, options) {
|
|
20207
20207
|
const lines = [];
|
|
@@ -20223,8 +20223,8 @@ function wrapByCharacters(text, maxWidth, options) {
|
|
|
20223
20223
|
return lines.length > 0 ? lines : [''];
|
|
20224
20224
|
}
|
|
20225
20225
|
|
|
20226
|
-
/**
|
|
20227
|
-
* Apply text alignment to lines
|
|
20226
|
+
/**
|
|
20227
|
+
* Apply text alignment to lines
|
|
20228
20228
|
*/
|
|
20229
20229
|
function applyAlignment(lines, align, containerWidth, options) {
|
|
20230
20230
|
return lines.map(line => {
|
|
@@ -20258,8 +20258,8 @@ function applyAlignment(lines, align, containerWidth, options) {
|
|
|
20258
20258
|
});
|
|
20259
20259
|
}
|
|
20260
20260
|
|
|
20261
|
-
/**
|
|
20262
|
-
* Apply justify alignment by expanding spaces
|
|
20261
|
+
/**
|
|
20262
|
+
* Apply justify alignment by expanding spaces
|
|
20263
20263
|
*/
|
|
20264
20264
|
function applyJustification(line, containerWidth, options) {
|
|
20265
20265
|
const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
|
|
@@ -20282,8 +20282,8 @@ function applyJustification(line, containerWidth, options) {
|
|
|
20282
20282
|
return line;
|
|
20283
20283
|
}
|
|
20284
20284
|
|
|
20285
|
-
/**
|
|
20286
|
-
* Calculate vertical alignment offset
|
|
20285
|
+
/**
|
|
20286
|
+
* Calculate vertical alignment offset
|
|
20287
20287
|
*/
|
|
20288
20288
|
function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
20289
20289
|
switch (align) {
|
|
@@ -20297,8 +20297,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
|
20297
20297
|
}
|
|
20298
20298
|
}
|
|
20299
20299
|
|
|
20300
|
-
/**
|
|
20301
|
-
* Handle height overflow with ellipsis
|
|
20300
|
+
/**
|
|
20301
|
+
* Handle height overflow with ellipsis
|
|
20302
20302
|
*/
|
|
20303
20303
|
function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
|
|
20304
20304
|
// If ellipsis is enabled, try to fit part of the overflow line
|
|
@@ -20327,8 +20327,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
|
|
|
20327
20327
|
};
|
|
20328
20328
|
}
|
|
20329
20329
|
|
|
20330
|
-
/**
|
|
20331
|
-
* Create empty line for empty paragraphs
|
|
20330
|
+
/**
|
|
20331
|
+
* Create empty line for empty paragraphs
|
|
20332
20332
|
*/
|
|
20333
20333
|
function createEmptyLine(options) {
|
|
20334
20334
|
const height = options.fontSize * options.lineHeight;
|
|
@@ -20344,8 +20344,8 @@ function createEmptyLine(options) {
|
|
|
20344
20344
|
};
|
|
20345
20345
|
}
|
|
20346
20346
|
|
|
20347
|
-
/**
|
|
20348
|
-
* Measure width of a line of text
|
|
20347
|
+
/**
|
|
20348
|
+
* Measure width of a line of text
|
|
20349
20349
|
*/
|
|
20350
20350
|
function measureLineWidth(text, options) {
|
|
20351
20351
|
const graphemes = segmentGraphemes(text);
|
|
@@ -20362,8 +20362,8 @@ function measureLineWidth(text, options) {
|
|
|
20362
20362
|
return width;
|
|
20363
20363
|
}
|
|
20364
20364
|
|
|
20365
|
-
/**
|
|
20366
|
-
* Convert layout options to measurement options
|
|
20365
|
+
/**
|
|
20366
|
+
* Convert layout options to measurement options
|
|
20367
20367
|
*/
|
|
20368
20368
|
function createMeasurementOptions(options) {
|
|
20369
20369
|
return {
|
|
@@ -20606,15 +20606,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
|
|
|
20606
20606
|
}
|
|
20607
20607
|
}
|
|
20608
20608
|
|
|
20609
|
-
/**
|
|
20610
|
-
* Browser Line Break Extraction
|
|
20611
|
-
*
|
|
20612
|
-
* Captures exact line breaks as rendered by the browser to ensure
|
|
20613
|
-
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20609
|
+
/**
|
|
20610
|
+
* Browser Line Break Extraction
|
|
20611
|
+
*
|
|
20612
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
20613
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20614
20614
|
*/
|
|
20615
20615
|
|
|
20616
|
-
/**
|
|
20617
|
-
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20616
|
+
/**
|
|
20617
|
+
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20618
20618
|
*/
|
|
20619
20619
|
function segmentIntoGraphemes(text) {
|
|
20620
20620
|
if (typeof Intl !== 'undefined' && Intl.Segmenter) {
|
|
@@ -20628,9 +20628,9 @@ function segmentIntoGraphemes(text) {
|
|
|
20628
20628
|
return Array.from(text);
|
|
20629
20629
|
}
|
|
20630
20630
|
|
|
20631
|
-
/**
|
|
20632
|
-
* Extract line break information from a textarea by creating a mirror element
|
|
20633
|
-
* with identical computed styles and measuring grapheme positions.
|
|
20631
|
+
/**
|
|
20632
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
20633
|
+
* with identical computed styles and measuring grapheme positions.
|
|
20634
20634
|
*/
|
|
20635
20635
|
function extractLinesFromDOM(textarea) {
|
|
20636
20636
|
const text = textarea.value;
|
|
@@ -20725,16 +20725,16 @@ function extractLinesFromDOM(textarea) {
|
|
|
20725
20725
|
}
|
|
20726
20726
|
}
|
|
20727
20727
|
|
|
20728
|
-
/**
|
|
20729
|
-
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20728
|
+
/**
|
|
20729
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20730
20730
|
*/
|
|
20731
20731
|
function createLayoutHash(target) {
|
|
20732
20732
|
const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
|
|
20733
20733
|
return properties.map(p => String(p)).join('|');
|
|
20734
20734
|
}
|
|
20735
20735
|
|
|
20736
|
-
/**
|
|
20737
|
-
* Check if stored browser lines are still valid for the current target state
|
|
20736
|
+
/**
|
|
20737
|
+
* Check if stored browser lines are still valid for the current target state
|
|
20738
20738
|
*/
|
|
20739
20739
|
function areBrowserLinesValid(target, storedHash) {
|
|
20740
20740
|
if (!storedHash || !target.__lastBrowserLines) {
|
|
@@ -20744,24 +20744,24 @@ function areBrowserLinesValid(target, storedHash) {
|
|
|
20744
20744
|
return currentHash === storedHash;
|
|
20745
20745
|
}
|
|
20746
20746
|
|
|
20747
|
-
/**
|
|
20748
|
-
* Store browser lines on a target object with validity hash
|
|
20747
|
+
/**
|
|
20748
|
+
* Store browser lines on a target object with validity hash
|
|
20749
20749
|
*/
|
|
20750
20750
|
function storeBrowserLines(target, lines, layoutHash) {
|
|
20751
20751
|
target.__lastBrowserLines = lines;
|
|
20752
20752
|
target.__lastBrowserLinesHash = createLayoutHash(target);
|
|
20753
20753
|
}
|
|
20754
20754
|
|
|
20755
|
-
/**
|
|
20756
|
-
* Clear stored browser lines from a target object
|
|
20755
|
+
/**
|
|
20756
|
+
* Clear stored browser lines from a target object
|
|
20757
20757
|
*/
|
|
20758
20758
|
function clearBrowserLines(target) {
|
|
20759
20759
|
delete target.__lastBrowserLines;
|
|
20760
20760
|
delete target.__lastBrowserLinesHash;
|
|
20761
20761
|
}
|
|
20762
20762
|
|
|
20763
|
-
/**
|
|
20764
|
-
* Get stored browser lines if they're still valid
|
|
20763
|
+
/**
|
|
20764
|
+
* Get stored browser lines if they're still valid
|
|
20765
20765
|
*/
|
|
20766
20766
|
function getBrowserLines(target) {
|
|
20767
20767
|
const lines = target.__lastBrowserLines;
|
|
@@ -20774,9 +20774,9 @@ function getBrowserLines(target) {
|
|
|
20774
20774
|
|
|
20775
20775
|
let measuringContext;
|
|
20776
20776
|
|
|
20777
|
-
/**
|
|
20778
|
-
* Return a context for measurement of text string.
|
|
20779
|
-
* if created it gets stored for reuse
|
|
20777
|
+
/**
|
|
20778
|
+
* Return a context for measurement of text string.
|
|
20779
|
+
* if created it gets stored for reuse
|
|
20780
20780
|
*/
|
|
20781
20781
|
function getMeasuringContext() {
|
|
20782
20782
|
if (!measuringContext) {
|
|
@@ -20789,17 +20789,17 @@ function getMeasuringContext() {
|
|
|
20789
20789
|
return measuringContext;
|
|
20790
20790
|
}
|
|
20791
20791
|
|
|
20792
|
-
/**
|
|
20793
|
-
* Measure and return the info of a single grapheme.
|
|
20794
|
-
* needs the the info of previous graphemes already filled
|
|
20795
|
-
* Override to customize measuring
|
|
20792
|
+
/**
|
|
20793
|
+
* Measure and return the info of a single grapheme.
|
|
20794
|
+
* needs the the info of previous graphemes already filled
|
|
20795
|
+
* Override to customize measuring
|
|
20796
20796
|
*/
|
|
20797
20797
|
|
|
20798
20798
|
// @TODO this is not complete
|
|
20799
20799
|
|
|
20800
|
-
/**
|
|
20801
|
-
* Text class
|
|
20802
|
-
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20800
|
+
/**
|
|
20801
|
+
* Text class
|
|
20802
|
+
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20803
20803
|
*/
|
|
20804
20804
|
class FabricText extends StyledText {
|
|
20805
20805
|
static getDefaults() {
|
|
@@ -20810,11 +20810,11 @@ class FabricText extends StyledText {
|
|
|
20810
20810
|
}
|
|
20811
20811
|
constructor(text, options) {
|
|
20812
20812
|
super();
|
|
20813
|
-
/**
|
|
20814
|
-
* contains characters bounding boxes
|
|
20815
|
-
* This variable is considered to be protected.
|
|
20816
|
-
* But for how mixins are implemented right now, we can't leave it private
|
|
20817
|
-
* @protected
|
|
20813
|
+
/**
|
|
20814
|
+
* contains characters bounding boxes
|
|
20815
|
+
* This variable is considered to be protected.
|
|
20816
|
+
* But for how mixins are implemented right now, we can't leave it private
|
|
20817
|
+
* @protected
|
|
20818
20818
|
*/
|
|
20819
20819
|
_defineProperty(this, "__charBounds", []);
|
|
20820
20820
|
Object.assign(this, FabricText.ownDefaults);
|
|
@@ -20831,9 +20831,9 @@ class FabricText extends StyledText {
|
|
|
20831
20831
|
this.setCoords();
|
|
20832
20832
|
}
|
|
20833
20833
|
|
|
20834
|
-
/**
|
|
20835
|
-
* If text has a path, it will add the extra information needed
|
|
20836
|
-
* for path and text calculations
|
|
20834
|
+
/**
|
|
20835
|
+
* If text has a path, it will add the extra information needed
|
|
20836
|
+
* for path and text calculations
|
|
20837
20837
|
*/
|
|
20838
20838
|
setPathInfo() {
|
|
20839
20839
|
const path = this.path;
|
|
@@ -20842,10 +20842,10 @@ class FabricText extends StyledText {
|
|
|
20842
20842
|
}
|
|
20843
20843
|
}
|
|
20844
20844
|
|
|
20845
|
-
/**
|
|
20846
|
-
* @private
|
|
20847
|
-
* Divides text into lines of text and lines of graphemes.
|
|
20848
|
-
* Uses browser lines when available for pixel-perfect consistency.
|
|
20845
|
+
/**
|
|
20846
|
+
* @private
|
|
20847
|
+
* Divides text into lines of text and lines of graphemes.
|
|
20848
|
+
* Uses browser lines when available for pixel-perfect consistency.
|
|
20849
20849
|
*/
|
|
20850
20850
|
_splitText() {
|
|
20851
20851
|
// Check if we have valid browser lines and should use them
|
|
@@ -20861,9 +20861,9 @@ class FabricText extends StyledText {
|
|
|
20861
20861
|
return newLines;
|
|
20862
20862
|
}
|
|
20863
20863
|
|
|
20864
|
-
/**
|
|
20865
|
-
* Create TextLinesInfo from browser-extracted lines
|
|
20866
|
-
* @private
|
|
20864
|
+
/**
|
|
20865
|
+
* Create TextLinesInfo from browser-extracted lines
|
|
20866
|
+
* @private
|
|
20867
20867
|
*/
|
|
20868
20868
|
_splitTextFromBrowserLines(browserLines) {
|
|
20869
20869
|
const lines = [];
|
|
@@ -20897,10 +20897,10 @@ class FabricText extends StyledText {
|
|
|
20897
20897
|
return result;
|
|
20898
20898
|
}
|
|
20899
20899
|
|
|
20900
|
-
/**
|
|
20901
|
-
* Initialize or update text dimensions.
|
|
20902
|
-
* Updates this.width and this.height with the proper values.
|
|
20903
|
-
* Does not return dimensions.
|
|
20900
|
+
/**
|
|
20901
|
+
* Initialize or update text dimensions.
|
|
20902
|
+
* Updates this.width and this.height with the proper values.
|
|
20903
|
+
* Does not return dimensions.
|
|
20904
20904
|
*/
|
|
20905
20905
|
initDimensions() {
|
|
20906
20906
|
// Check if font is ready for accurate measurements
|
|
@@ -20946,8 +20946,8 @@ class FabricText extends StyledText {
|
|
|
20946
20946
|
}
|
|
20947
20947
|
}
|
|
20948
20948
|
|
|
20949
|
-
/**
|
|
20950
|
-
* Enlarge space boxes and shift the others
|
|
20949
|
+
/**
|
|
20950
|
+
* Enlarge space boxes and shift the others
|
|
20951
20951
|
*/
|
|
20952
20952
|
enlargeSpaces() {
|
|
20953
20953
|
let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
|
|
@@ -21009,18 +21009,18 @@ class FabricText extends StyledText {
|
|
|
21009
21009
|
}
|
|
21010
21010
|
}
|
|
21011
21011
|
|
|
21012
|
-
/**
|
|
21013
|
-
* Advanced layout using new text engine (Konva-compatible)
|
|
21014
|
-
* @private
|
|
21012
|
+
/**
|
|
21013
|
+
* Advanced layout using new text engine (Konva-compatible)
|
|
21014
|
+
* @private
|
|
21015
21015
|
*/
|
|
21016
21016
|
_layoutTextAdvanced() {
|
|
21017
21017
|
const options = this._getAdvancedLayoutOptions();
|
|
21018
21018
|
return layoutText(options);
|
|
21019
21019
|
}
|
|
21020
21020
|
|
|
21021
|
-
/**
|
|
21022
|
-
* Get advanced layout options from current text properties
|
|
21023
|
-
* @private
|
|
21021
|
+
/**
|
|
21022
|
+
* Get advanced layout options from current text properties
|
|
21023
|
+
* @private
|
|
21024
21024
|
*/
|
|
21025
21025
|
_getAdvancedLayoutOptions() {
|
|
21026
21026
|
return {
|
|
@@ -21042,9 +21042,9 @@ class FabricText extends StyledText {
|
|
|
21042
21042
|
};
|
|
21043
21043
|
}
|
|
21044
21044
|
|
|
21045
|
-
/**
|
|
21046
|
-
* Map Fabric textAlign to Konva align format
|
|
21047
|
-
* @private
|
|
21045
|
+
/**
|
|
21046
|
+
* Map Fabric textAlign to Konva align format
|
|
21047
|
+
* @private
|
|
21048
21048
|
*/
|
|
21049
21049
|
_mapTextAlignToAlign(textAlign) {
|
|
21050
21050
|
switch (textAlign) {
|
|
@@ -21065,8 +21065,8 @@ class FabricText extends StyledText {
|
|
|
21065
21065
|
}
|
|
21066
21066
|
}
|
|
21067
21067
|
|
|
21068
|
-
/**
|
|
21069
|
-
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21068
|
+
/**
|
|
21069
|
+
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21070
21070
|
*/
|
|
21071
21071
|
initDimensionsAdvanced() {
|
|
21072
21072
|
if (!this.enableAdvancedLayout) {
|
|
@@ -21095,9 +21095,9 @@ class FabricText extends StyledText {
|
|
|
21095
21095
|
this.dirty = true;
|
|
21096
21096
|
}
|
|
21097
21097
|
|
|
21098
|
-
/**
|
|
21099
|
-
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21100
|
-
* @private
|
|
21098
|
+
/**
|
|
21099
|
+
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21100
|
+
* @private
|
|
21101
21101
|
*/
|
|
21102
21102
|
_convertLayoutToLegacyFormat(layout) {
|
|
21103
21103
|
this._textLines = layout.lines.map(line => line.graphemes);
|
|
@@ -21119,30 +21119,30 @@ class FabricText extends StyledText {
|
|
|
21119
21119
|
}
|
|
21120
21120
|
}
|
|
21121
21121
|
|
|
21122
|
-
/**
|
|
21123
|
-
* Detect if the text line is ended with an hard break
|
|
21124
|
-
* text and itext do not have wrapping, return false
|
|
21125
|
-
* @return {Boolean}
|
|
21122
|
+
/**
|
|
21123
|
+
* Detect if the text line is ended with an hard break
|
|
21124
|
+
* text and itext do not have wrapping, return false
|
|
21125
|
+
* @return {Boolean}
|
|
21126
21126
|
*/
|
|
21127
21127
|
isEndOfWrapping(lineIndex) {
|
|
21128
21128
|
return lineIndex === this._textLines.length - 1;
|
|
21129
21129
|
}
|
|
21130
21130
|
|
|
21131
|
-
/**
|
|
21132
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21133
|
-
* and counting style.
|
|
21134
|
-
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21135
|
-
* @return Number
|
|
21131
|
+
/**
|
|
21132
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21133
|
+
* and counting style.
|
|
21134
|
+
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21135
|
+
* @return Number
|
|
21136
21136
|
*/
|
|
21137
21137
|
|
|
21138
21138
|
missingNewlineOffset(_lineIndex) {
|
|
21139
21139
|
return 1;
|
|
21140
21140
|
}
|
|
21141
21141
|
|
|
21142
|
-
/**
|
|
21143
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21144
|
-
* @param {Number} selectionStart
|
|
21145
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21142
|
+
/**
|
|
21143
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21144
|
+
* @param {Number} selectionStart
|
|
21145
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21146
21146
|
*/
|
|
21147
21147
|
get2DCursorLocation(selectionStart, skipWrapping) {
|
|
21148
21148
|
const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
|
|
@@ -21162,24 +21162,24 @@ class FabricText extends StyledText {
|
|
|
21162
21162
|
};
|
|
21163
21163
|
}
|
|
21164
21164
|
|
|
21165
|
-
/**
|
|
21166
|
-
* Returns string representation of an instance
|
|
21167
|
-
* @return {String} String representation of text object
|
|
21165
|
+
/**
|
|
21166
|
+
* Returns string representation of an instance
|
|
21167
|
+
* @return {String} String representation of text object
|
|
21168
21168
|
*/
|
|
21169
21169
|
toString() {
|
|
21170
21170
|
return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
|
|
21171
21171
|
}
|
|
21172
21172
|
|
|
21173
|
-
/**
|
|
21174
|
-
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21175
|
-
* big enough to host the object to be cached.
|
|
21176
|
-
* @private
|
|
21177
|
-
* @param {Object} dim.x width of object to be cached
|
|
21178
|
-
* @param {Object} dim.y height of object to be cached
|
|
21179
|
-
* @return {Object}.width width of canvas
|
|
21180
|
-
* @return {Object}.height height of canvas
|
|
21181
|
-
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21182
|
-
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21173
|
+
/**
|
|
21174
|
+
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21175
|
+
* big enough to host the object to be cached.
|
|
21176
|
+
* @private
|
|
21177
|
+
* @param {Object} dim.x width of object to be cached
|
|
21178
|
+
* @param {Object} dim.y height of object to be cached
|
|
21179
|
+
* @return {Object}.width width of canvas
|
|
21180
|
+
* @return {Object}.height height of canvas
|
|
21181
|
+
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21182
|
+
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21183
21183
|
*/
|
|
21184
21184
|
_getCacheCanvasDimensions() {
|
|
21185
21185
|
const dims = super._getCacheCanvasDimensions();
|
|
@@ -21189,9 +21189,9 @@ class FabricText extends StyledText {
|
|
|
21189
21189
|
return dims;
|
|
21190
21190
|
}
|
|
21191
21191
|
|
|
21192
|
-
/**
|
|
21193
|
-
* @private
|
|
21194
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21192
|
+
/**
|
|
21193
|
+
* @private
|
|
21194
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21195
21195
|
*/
|
|
21196
21196
|
_render(ctx) {
|
|
21197
21197
|
const path = this.path;
|
|
@@ -21204,9 +21204,9 @@ class FabricText extends StyledText {
|
|
|
21204
21204
|
this._renderTextDecoration(ctx, 'linethrough');
|
|
21205
21205
|
}
|
|
21206
21206
|
|
|
21207
|
-
/**
|
|
21208
|
-
* @private
|
|
21209
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21207
|
+
/**
|
|
21208
|
+
* @private
|
|
21209
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21210
21210
|
*/
|
|
21211
21211
|
_renderText(ctx) {
|
|
21212
21212
|
// Skip text rendering if in overlay editing mode
|
|
@@ -21222,15 +21222,15 @@ class FabricText extends StyledText {
|
|
|
21222
21222
|
}
|
|
21223
21223
|
}
|
|
21224
21224
|
|
|
21225
|
-
/**
|
|
21226
|
-
* Set the font parameter of the context with the object properties or with charStyle
|
|
21227
|
-
* @private
|
|
21228
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21229
|
-
* @param {Object} [charStyle] object with font style properties
|
|
21230
|
-
* @param {String} [charStyle.fontFamily] Font Family
|
|
21231
|
-
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21232
|
-
* @param {String} [charStyle.fontWeight] Font weight
|
|
21233
|
-
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21225
|
+
/**
|
|
21226
|
+
* Set the font parameter of the context with the object properties or with charStyle
|
|
21227
|
+
* @private
|
|
21228
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21229
|
+
* @param {Object} [charStyle] object with font style properties
|
|
21230
|
+
* @param {String} [charStyle.fontFamily] Font Family
|
|
21231
|
+
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21232
|
+
* @param {String} [charStyle.fontWeight] Font weight
|
|
21233
|
+
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21234
21234
|
*/
|
|
21235
21235
|
_setTextStyles(ctx, charStyle, forMeasuring) {
|
|
21236
21236
|
ctx.textBaseline = 'alphabetic';
|
|
@@ -21250,11 +21250,11 @@ class FabricText extends StyledText {
|
|
|
21250
21250
|
ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
|
|
21251
21251
|
}
|
|
21252
21252
|
|
|
21253
|
-
/**
|
|
21254
|
-
* calculate and return the text Width measuring each line.
|
|
21255
|
-
* @private
|
|
21256
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21257
|
-
* @return {Number} Maximum width of Text object
|
|
21253
|
+
/**
|
|
21254
|
+
* calculate and return the text Width measuring each line.
|
|
21255
|
+
* @private
|
|
21256
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21257
|
+
* @return {Number} Maximum width of Text object
|
|
21258
21258
|
*/
|
|
21259
21259
|
calcTextWidth() {
|
|
21260
21260
|
let maxWidth = this.getLineWidth(0);
|
|
@@ -21267,23 +21267,23 @@ class FabricText extends StyledText {
|
|
|
21267
21267
|
return maxWidth;
|
|
21268
21268
|
}
|
|
21269
21269
|
|
|
21270
|
-
/**
|
|
21271
|
-
* @private
|
|
21272
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21273
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21274
|
-
* @param {String} line Text to render
|
|
21275
|
-
* @param {Number} left Left position of text
|
|
21276
|
-
* @param {Number} top Top position of text
|
|
21277
|
-
* @param {Number} lineIndex Index of a line in a text
|
|
21270
|
+
/**
|
|
21271
|
+
* @private
|
|
21272
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21273
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21274
|
+
* @param {String} line Text to render
|
|
21275
|
+
* @param {Number} left Left position of text
|
|
21276
|
+
* @param {Number} top Top position of text
|
|
21277
|
+
* @param {Number} lineIndex Index of a line in a text
|
|
21278
21278
|
*/
|
|
21279
21279
|
_renderTextLine(method, ctx, line, left, top, lineIndex) {
|
|
21280
21280
|
this._renderChars(method, ctx, line, left, top, lineIndex);
|
|
21281
21281
|
}
|
|
21282
21282
|
|
|
21283
|
-
/**
|
|
21284
|
-
* Renders the text background for lines, taking care of style
|
|
21285
|
-
* @private
|
|
21286
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21283
|
+
/**
|
|
21284
|
+
* Renders the text background for lines, taking care of style
|
|
21285
|
+
* @private
|
|
21286
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21287
21287
|
*/
|
|
21288
21288
|
_renderTextLinesBackground(ctx) {
|
|
21289
21289
|
if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
|
|
@@ -21346,15 +21346,15 @@ class FabricText extends StyledText {
|
|
|
21346
21346
|
this._removeShadow(ctx);
|
|
21347
21347
|
}
|
|
21348
21348
|
|
|
21349
|
-
/**
|
|
21350
|
-
* measure and return the width of a single character.
|
|
21351
|
-
* possibly overridden to accommodate different measure logic or
|
|
21352
|
-
* to hook some external lib for character measurement
|
|
21353
|
-
* @private
|
|
21354
|
-
* @param {String} _char, char to be measured
|
|
21355
|
-
* @param {Object} charStyle style of char to be measured
|
|
21356
|
-
* @param {String} [previousChar] previous char
|
|
21357
|
-
* @param {Object} [prevCharStyle] style of previous char
|
|
21349
|
+
/**
|
|
21350
|
+
* measure and return the width of a single character.
|
|
21351
|
+
* possibly overridden to accommodate different measure logic or
|
|
21352
|
+
* to hook some external lib for character measurement
|
|
21353
|
+
* @private
|
|
21354
|
+
* @param {String} _char, char to be measured
|
|
21355
|
+
* @param {Object} charStyle style of char to be measured
|
|
21356
|
+
* @param {String} [previousChar] previous char
|
|
21357
|
+
* @param {Object} [prevCharStyle] style of previous char
|
|
21358
21358
|
*/
|
|
21359
21359
|
_measureChar(_char, charStyle, previousChar, prevCharStyle) {
|
|
21360
21360
|
const fontCache = cache.getFontCache(charStyle),
|
|
@@ -21399,19 +21399,19 @@ class FabricText extends StyledText {
|
|
|
21399
21399
|
};
|
|
21400
21400
|
}
|
|
21401
21401
|
|
|
21402
|
-
/**
|
|
21403
|
-
* Computes height of character at given position
|
|
21404
|
-
* @param {Number} line the line index number
|
|
21405
|
-
* @param {Number} _char the character index number
|
|
21406
|
-
* @return {Number} fontSize of the character
|
|
21402
|
+
/**
|
|
21403
|
+
* Computes height of character at given position
|
|
21404
|
+
* @param {Number} line the line index number
|
|
21405
|
+
* @param {Number} _char the character index number
|
|
21406
|
+
* @return {Number} fontSize of the character
|
|
21407
21407
|
*/
|
|
21408
21408
|
getHeightOfChar(line, _char) {
|
|
21409
21409
|
return this.getValueOfPropertyAt(line, _char, 'fontSize');
|
|
21410
21410
|
}
|
|
21411
21411
|
|
|
21412
|
-
/**
|
|
21413
|
-
* measure a text line measuring all characters.
|
|
21414
|
-
* @param {Number} lineIndex line number
|
|
21412
|
+
/**
|
|
21413
|
+
* measure a text line measuring all characters.
|
|
21414
|
+
* @param {Number} lineIndex line number
|
|
21415
21415
|
*/
|
|
21416
21416
|
measureLine(lineIndex) {
|
|
21417
21417
|
const lineInfo = this._measureLine(lineIndex);
|
|
@@ -21424,11 +21424,11 @@ class FabricText extends StyledText {
|
|
|
21424
21424
|
return lineInfo;
|
|
21425
21425
|
}
|
|
21426
21426
|
|
|
21427
|
-
/**
|
|
21428
|
-
* measure every grapheme of a line, populating __charBounds
|
|
21429
|
-
* @param {Number} lineIndex
|
|
21430
|
-
* @return {Object} object.width total width of characters
|
|
21431
|
-
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21427
|
+
/**
|
|
21428
|
+
* measure every grapheme of a line, populating __charBounds
|
|
21429
|
+
* @param {Number} lineIndex
|
|
21430
|
+
* @return {Object} object.width total width of characters
|
|
21431
|
+
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21432
21432
|
*/
|
|
21433
21433
|
_measureLine(lineIndex) {
|
|
21434
21434
|
let width = 0,
|
|
@@ -21491,13 +21491,13 @@ class FabricText extends StyledText {
|
|
|
21491
21491
|
};
|
|
21492
21492
|
}
|
|
21493
21493
|
|
|
21494
|
-
/**
|
|
21495
|
-
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21496
|
-
* It appends it to graphemeInfo to be reused later at rendering
|
|
21497
|
-
* @private
|
|
21498
|
-
* @param {Number} positionInPath to be measured
|
|
21499
|
-
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21500
|
-
* @param {Object} startingPoint position of the point
|
|
21494
|
+
/**
|
|
21495
|
+
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21496
|
+
* It appends it to graphemeInfo to be reused later at rendering
|
|
21497
|
+
* @private
|
|
21498
|
+
* @param {Number} positionInPath to be measured
|
|
21499
|
+
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21500
|
+
* @param {Object} startingPoint position of the point
|
|
21501
21501
|
*/
|
|
21502
21502
|
_setGraphemeOnPath(positionInPath, graphemeInfo) {
|
|
21503
21503
|
const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
|
|
@@ -21510,13 +21510,13 @@ class FabricText extends StyledText {
|
|
|
21510
21510
|
graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
|
|
21511
21511
|
}
|
|
21512
21512
|
|
|
21513
|
-
/**
|
|
21514
|
-
*
|
|
21515
|
-
* @param {String} grapheme to be measured
|
|
21516
|
-
* @param {Number} lineIndex index of the line where the char is
|
|
21517
|
-
* @param {Number} charIndex position in the line
|
|
21518
|
-
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21519
|
-
* @returns {GraphemeBBox} grapheme bbox
|
|
21513
|
+
/**
|
|
21514
|
+
*
|
|
21515
|
+
* @param {String} grapheme to be measured
|
|
21516
|
+
* @param {Number} lineIndex index of the line where the char is
|
|
21517
|
+
* @param {Number} charIndex position in the line
|
|
21518
|
+
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21519
|
+
* @returns {GraphemeBBox} grapheme bbox
|
|
21520
21520
|
*/
|
|
21521
21521
|
_getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
|
|
21522
21522
|
const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21544,10 +21544,10 @@ class FabricText extends StyledText {
|
|
|
21544
21544
|
return box;
|
|
21545
21545
|
}
|
|
21546
21546
|
|
|
21547
|
-
/**
|
|
21548
|
-
* Calculate height of line at 'lineIndex'
|
|
21549
|
-
* @param {Number} lineIndex index of line to calculate
|
|
21550
|
-
* @return {Number}
|
|
21547
|
+
/**
|
|
21548
|
+
* Calculate height of line at 'lineIndex'
|
|
21549
|
+
* @param {Number} lineIndex index of line to calculate
|
|
21550
|
+
* @return {Number}
|
|
21551
21551
|
*/
|
|
21552
21552
|
getHeightOfLine(lineIndex) {
|
|
21553
21553
|
if (this.__lineHeights[lineIndex]) {
|
|
@@ -21563,8 +21563,8 @@ class FabricText extends StyledText {
|
|
|
21563
21563
|
return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
|
|
21564
21564
|
}
|
|
21565
21565
|
|
|
21566
|
-
/**
|
|
21567
|
-
* Calculate text box height
|
|
21566
|
+
/**
|
|
21567
|
+
* Calculate text box height
|
|
21568
21568
|
*/
|
|
21569
21569
|
calcTextHeight() {
|
|
21570
21570
|
let lineHeight,
|
|
@@ -21576,26 +21576,26 @@ class FabricText extends StyledText {
|
|
|
21576
21576
|
return height;
|
|
21577
21577
|
}
|
|
21578
21578
|
|
|
21579
|
-
/**
|
|
21580
|
-
* @private
|
|
21581
|
-
* @return {Number} Left offset
|
|
21579
|
+
/**
|
|
21580
|
+
* @private
|
|
21581
|
+
* @return {Number} Left offset
|
|
21582
21582
|
*/
|
|
21583
21583
|
_getLeftOffset() {
|
|
21584
21584
|
return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
|
|
21585
21585
|
}
|
|
21586
21586
|
|
|
21587
|
-
/**
|
|
21588
|
-
* @private
|
|
21589
|
-
* @return {Number} Top offset
|
|
21587
|
+
/**
|
|
21588
|
+
* @private
|
|
21589
|
+
* @return {Number} Top offset
|
|
21590
21590
|
*/
|
|
21591
21591
|
_getTopOffset() {
|
|
21592
21592
|
return -this.height / 2;
|
|
21593
21593
|
}
|
|
21594
21594
|
|
|
21595
|
-
/**
|
|
21596
|
-
* @private
|
|
21597
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21598
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21595
|
+
/**
|
|
21596
|
+
* @private
|
|
21597
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21598
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21599
21599
|
*/
|
|
21600
21600
|
_renderTextCommon(ctx, method) {
|
|
21601
21601
|
ctx.save();
|
|
@@ -21612,9 +21612,9 @@ class FabricText extends StyledText {
|
|
|
21612
21612
|
ctx.restore();
|
|
21613
21613
|
}
|
|
21614
21614
|
|
|
21615
|
-
/**
|
|
21616
|
-
* @private
|
|
21617
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21615
|
+
/**
|
|
21616
|
+
* @private
|
|
21617
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21618
21618
|
*/
|
|
21619
21619
|
_renderTextFill(ctx) {
|
|
21620
21620
|
if (!this.fill && !this.styleHas(FILL)) {
|
|
@@ -21623,9 +21623,9 @@ class FabricText extends StyledText {
|
|
|
21623
21623
|
this._renderTextCommon(ctx, 'fillText');
|
|
21624
21624
|
}
|
|
21625
21625
|
|
|
21626
|
-
/**
|
|
21627
|
-
* @private
|
|
21628
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21626
|
+
/**
|
|
21627
|
+
* @private
|
|
21628
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21629
21629
|
*/
|
|
21630
21630
|
_renderTextStroke(ctx) {
|
|
21631
21631
|
if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
|
|
@@ -21642,14 +21642,14 @@ class FabricText extends StyledText {
|
|
|
21642
21642
|
ctx.restore();
|
|
21643
21643
|
}
|
|
21644
21644
|
|
|
21645
|
-
/**
|
|
21646
|
-
* @private
|
|
21647
|
-
* @param {String} method fillText or strokeText.
|
|
21648
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21649
|
-
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21650
|
-
* @param {Number} left
|
|
21651
|
-
* @param {Number} top
|
|
21652
|
-
* @param {Number} lineIndex
|
|
21645
|
+
/**
|
|
21646
|
+
* @private
|
|
21647
|
+
* @param {String} method fillText or strokeText.
|
|
21648
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21649
|
+
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21650
|
+
* @param {Number} left
|
|
21651
|
+
* @param {Number} top
|
|
21652
|
+
* @param {Number} lineIndex
|
|
21653
21653
|
*/
|
|
21654
21654
|
_renderChars(method, ctx, line, left, top, lineIndex) {
|
|
21655
21655
|
const lineHeight = this.getHeightOfLine(lineIndex),
|
|
@@ -21731,16 +21731,16 @@ class FabricText extends StyledText {
|
|
|
21731
21731
|
ctx.restore();
|
|
21732
21732
|
}
|
|
21733
21733
|
|
|
21734
|
-
/**
|
|
21735
|
-
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21736
|
-
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21737
|
-
* we want to transform the gradient but not the stroke operation, so we create
|
|
21738
|
-
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21739
|
-
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21740
|
-
* is limited.
|
|
21741
|
-
* @private
|
|
21742
|
-
* @param {TFiller} filler a fabric gradient instance
|
|
21743
|
-
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21734
|
+
/**
|
|
21735
|
+
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21736
|
+
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21737
|
+
* we want to transform the gradient but not the stroke operation, so we create
|
|
21738
|
+
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21739
|
+
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21740
|
+
* is limited.
|
|
21741
|
+
* @private
|
|
21742
|
+
* @param {TFiller} filler a fabric gradient instance
|
|
21743
|
+
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21744
21744
|
*/
|
|
21745
21745
|
_applyPatternGradientTransformText(filler) {
|
|
21746
21746
|
// TODO: verify compatibility with strokeUniform
|
|
@@ -21796,12 +21796,12 @@ class FabricText extends StyledText {
|
|
|
21796
21796
|
};
|
|
21797
21797
|
}
|
|
21798
21798
|
|
|
21799
|
-
/**
|
|
21800
|
-
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21801
|
-
* need to be sent in as defined
|
|
21802
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21803
|
-
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21804
|
-
* @returns
|
|
21799
|
+
/**
|
|
21800
|
+
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21801
|
+
* need to be sent in as defined
|
|
21802
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21803
|
+
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21804
|
+
* @returns
|
|
21805
21805
|
*/
|
|
21806
21806
|
_setStrokeStyles(ctx, _ref) {
|
|
21807
21807
|
let {
|
|
@@ -21816,12 +21816,12 @@ class FabricText extends StyledText {
|
|
|
21816
21816
|
return this.handleFiller(ctx, 'strokeStyle', stroke);
|
|
21817
21817
|
}
|
|
21818
21818
|
|
|
21819
|
-
/**
|
|
21820
|
-
* This function prepare the canvas for a ill style, and fill
|
|
21821
|
-
* need to be sent in as defined
|
|
21822
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21823
|
-
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21824
|
-
* @returns
|
|
21819
|
+
/**
|
|
21820
|
+
* This function prepare the canvas for a ill style, and fill
|
|
21821
|
+
* need to be sent in as defined
|
|
21822
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21823
|
+
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21824
|
+
* @returns
|
|
21825
21825
|
*/
|
|
21826
21826
|
_setFillStyles(ctx, _ref2) {
|
|
21827
21827
|
let {
|
|
@@ -21830,16 +21830,16 @@ class FabricText extends StyledText {
|
|
|
21830
21830
|
return this.handleFiller(ctx, 'fillStyle', fill);
|
|
21831
21831
|
}
|
|
21832
21832
|
|
|
21833
|
-
/**
|
|
21834
|
-
* @private
|
|
21835
|
-
* @param {String} method
|
|
21836
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21837
|
-
* @param {Number} lineIndex
|
|
21838
|
-
* @param {Number} charIndex
|
|
21839
|
-
* @param {String} _char
|
|
21840
|
-
* @param {Number} left Left coordinate
|
|
21841
|
-
* @param {Number} top Top coordinate
|
|
21842
|
-
* @param {Number} lineHeight Height of the line
|
|
21833
|
+
/**
|
|
21834
|
+
* @private
|
|
21835
|
+
* @param {String} method
|
|
21836
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21837
|
+
* @param {Number} lineIndex
|
|
21838
|
+
* @param {Number} charIndex
|
|
21839
|
+
* @param {String} _char
|
|
21840
|
+
* @param {Number} left Left coordinate
|
|
21841
|
+
* @param {Number} top Top coordinate
|
|
21842
|
+
* @param {Number} lineHeight Height of the line
|
|
21843
21843
|
*/
|
|
21844
21844
|
_renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
|
|
21845
21845
|
const decl = this._getStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21868,30 +21868,30 @@ class FabricText extends StyledText {
|
|
|
21868
21868
|
ctx.restore();
|
|
21869
21869
|
}
|
|
21870
21870
|
|
|
21871
|
-
/**
|
|
21872
|
-
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21873
|
-
* @param {Number} start selection start
|
|
21874
|
-
* @param {Number} end selection end
|
|
21871
|
+
/**
|
|
21872
|
+
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21873
|
+
* @param {Number} start selection start
|
|
21874
|
+
* @param {Number} end selection end
|
|
21875
21875
|
*/
|
|
21876
21876
|
setSuperscript(start, end) {
|
|
21877
21877
|
this._setScript(start, end, this.superscript);
|
|
21878
21878
|
}
|
|
21879
21879
|
|
|
21880
|
-
/**
|
|
21881
|
-
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21882
|
-
* @param {Number} start selection start
|
|
21883
|
-
* @param {Number} end selection end
|
|
21880
|
+
/**
|
|
21881
|
+
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21882
|
+
* @param {Number} start selection start
|
|
21883
|
+
* @param {Number} end selection end
|
|
21884
21884
|
*/
|
|
21885
21885
|
setSubscript(start, end) {
|
|
21886
21886
|
this._setScript(start, end, this.subscript);
|
|
21887
21887
|
}
|
|
21888
21888
|
|
|
21889
|
-
/**
|
|
21890
|
-
* Applies 'schema' at given position
|
|
21891
|
-
* @private
|
|
21892
|
-
* @param {Number} start selection start
|
|
21893
|
-
* @param {Number} end selection end
|
|
21894
|
-
* @param {Number} schema
|
|
21889
|
+
/**
|
|
21890
|
+
* Applies 'schema' at given position
|
|
21891
|
+
* @private
|
|
21892
|
+
* @param {Number} start selection start
|
|
21893
|
+
* @param {Number} end selection end
|
|
21894
|
+
* @param {Number} schema
|
|
21895
21895
|
*/
|
|
21896
21896
|
_setScript(start, end, schema) {
|
|
21897
21897
|
const loc = this.get2DCursorLocation(start, true),
|
|
@@ -21904,10 +21904,10 @@ class FabricText extends StyledText {
|
|
|
21904
21904
|
this.setSelectionStyles(style, start, end);
|
|
21905
21905
|
}
|
|
21906
21906
|
|
|
21907
|
-
/**
|
|
21908
|
-
* @private
|
|
21909
|
-
* @param {Number} lineIndex index text line
|
|
21910
|
-
* @return {Number} Line left offset
|
|
21907
|
+
/**
|
|
21908
|
+
* @private
|
|
21909
|
+
* @param {Number} lineIndex index text line
|
|
21910
|
+
* @return {Number} Line left offset
|
|
21911
21911
|
*/
|
|
21912
21912
|
_getLineLeftOffset(lineIndex) {
|
|
21913
21913
|
const lineWidth = this.getLineWidth(lineIndex),
|
|
@@ -21957,8 +21957,8 @@ class FabricText extends StyledText {
|
|
|
21957
21957
|
return leftOffset;
|
|
21958
21958
|
}
|
|
21959
21959
|
|
|
21960
|
-
/**
|
|
21961
|
-
* @private
|
|
21960
|
+
/**
|
|
21961
|
+
* @private
|
|
21962
21962
|
*/
|
|
21963
21963
|
_clearCache() {
|
|
21964
21964
|
this._forceClearCache = false;
|
|
@@ -21967,12 +21967,12 @@ class FabricText extends StyledText {
|
|
|
21967
21967
|
this.__charBounds = [];
|
|
21968
21968
|
}
|
|
21969
21969
|
|
|
21970
|
-
/**
|
|
21971
|
-
* Measure a single line given its index. Used to calculate the initial
|
|
21972
|
-
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21973
|
-
* @private
|
|
21974
|
-
* @param {Number} lineIndex line number
|
|
21975
|
-
* @return {Number} Line width
|
|
21970
|
+
/**
|
|
21971
|
+
* Measure a single line given its index. Used to calculate the initial
|
|
21972
|
+
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21973
|
+
* @private
|
|
21974
|
+
* @param {Number} lineIndex line number
|
|
21975
|
+
* @return {Number} Line width
|
|
21976
21976
|
*/
|
|
21977
21977
|
getLineWidth(lineIndex) {
|
|
21978
21978
|
if (this.__lineWidths[lineIndex] !== undefined) {
|
|
@@ -21991,12 +21991,12 @@ class FabricText extends StyledText {
|
|
|
21991
21991
|
return 0;
|
|
21992
21992
|
}
|
|
21993
21993
|
|
|
21994
|
-
/**
|
|
21995
|
-
* Retrieves the value of property at given character position
|
|
21996
|
-
* @param {Number} lineIndex the line number
|
|
21997
|
-
* @param {Number} charIndex the character number
|
|
21998
|
-
* @param {String} property the property name
|
|
21999
|
-
* @returns the value of 'property'
|
|
21994
|
+
/**
|
|
21995
|
+
* Retrieves the value of property at given character position
|
|
21996
|
+
* @param {Number} lineIndex the line number
|
|
21997
|
+
* @param {Number} charIndex the character number
|
|
21998
|
+
* @param {String} property the property name
|
|
21999
|
+
* @returns the value of 'property'
|
|
22000
22000
|
*/
|
|
22001
22001
|
getValueOfPropertyAt(lineIndex, charIndex, property) {
|
|
22002
22002
|
var _charStyle$property;
|
|
@@ -22004,9 +22004,9 @@ class FabricText extends StyledText {
|
|
|
22004
22004
|
return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
|
|
22005
22005
|
}
|
|
22006
22006
|
|
|
22007
|
-
/**
|
|
22008
|
-
* @private
|
|
22009
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22007
|
+
/**
|
|
22008
|
+
* @private
|
|
22009
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22010
22010
|
*/
|
|
22011
22011
|
_renderTextDecoration(ctx, type) {
|
|
22012
22012
|
if (!this[type] && !this.styleHas(type)) {
|
|
@@ -22090,10 +22090,10 @@ class FabricText extends StyledText {
|
|
|
22090
22090
|
this._removeShadow(ctx);
|
|
22091
22091
|
}
|
|
22092
22092
|
|
|
22093
|
-
/**
|
|
22094
|
-
* return font declaration string for canvas context
|
|
22095
|
-
* @param {Object} [styleObject] object
|
|
22096
|
-
* @returns {String} font declaration formatted for canvas context.
|
|
22093
|
+
/**
|
|
22094
|
+
* return font declaration string for canvas context
|
|
22095
|
+
* @param {Object} [styleObject] object
|
|
22096
|
+
* @returns {String} font declaration formatted for canvas context.
|
|
22097
22097
|
*/
|
|
22098
22098
|
_getFontDeclaration() {
|
|
22099
22099
|
let {
|
|
@@ -22119,9 +22119,9 @@ class FabricText extends StyledText {
|
|
|
22119
22119
|
return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
|
|
22120
22120
|
}
|
|
22121
22121
|
|
|
22122
|
-
/**
|
|
22123
|
-
* Renders text instance on a specified context
|
|
22124
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22122
|
+
/**
|
|
22123
|
+
* Renders text instance on a specified context
|
|
22124
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22125
22125
|
*/
|
|
22126
22126
|
render(ctx) {
|
|
22127
22127
|
if (!this.visible) {
|
|
@@ -22136,22 +22136,22 @@ class FabricText extends StyledText {
|
|
|
22136
22136
|
super.render(ctx);
|
|
22137
22137
|
}
|
|
22138
22138
|
|
|
22139
|
-
/**
|
|
22140
|
-
* Override this method to customize grapheme splitting
|
|
22141
|
-
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22142
|
-
* is more comfortable to inject the correct util rather than having to override text
|
|
22143
|
-
* in the middle of the prototype chain
|
|
22144
|
-
* @param {string} value
|
|
22145
|
-
* @returns {string[]} array of graphemes
|
|
22139
|
+
/**
|
|
22140
|
+
* Override this method to customize grapheme splitting
|
|
22141
|
+
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22142
|
+
* is more comfortable to inject the correct util rather than having to override text
|
|
22143
|
+
* in the middle of the prototype chain
|
|
22144
|
+
* @param {string} value
|
|
22145
|
+
* @returns {string[]} array of graphemes
|
|
22146
22146
|
*/
|
|
22147
22147
|
graphemeSplit(value) {
|
|
22148
22148
|
return graphemeSplit(value);
|
|
22149
22149
|
}
|
|
22150
22150
|
|
|
22151
|
-
/**
|
|
22152
|
-
* Returns the text as an array of lines.
|
|
22153
|
-
* @param {String} text text to split
|
|
22154
|
-
* @returns Lines in the text
|
|
22151
|
+
/**
|
|
22152
|
+
* Returns the text as an array of lines.
|
|
22153
|
+
* @param {String} text text to split
|
|
22154
|
+
* @returns Lines in the text
|
|
22155
22155
|
*/
|
|
22156
22156
|
_splitTextIntoLines(text) {
|
|
22157
22157
|
const lines = text.split(this._reNewline),
|
|
@@ -22177,18 +22177,18 @@ class FabricText extends StyledText {
|
|
|
22177
22177
|
};
|
|
22178
22178
|
}
|
|
22179
22179
|
|
|
22180
|
-
/**
|
|
22181
|
-
* Check if text contains Arabic characters
|
|
22182
|
-
* @private
|
|
22180
|
+
/**
|
|
22181
|
+
* Check if text contains Arabic characters
|
|
22182
|
+
* @private
|
|
22183
22183
|
*/
|
|
22184
22184
|
_containsArabicText(text) {
|
|
22185
22185
|
return /[\u0600-\u06FF\u0750-\u077F\uFB50-\uFDFF\uFE70-\uFEFF]/.test(text);
|
|
22186
22186
|
}
|
|
22187
22187
|
|
|
22188
|
-
/**
|
|
22189
|
-
* Returns object representation of an instance
|
|
22190
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22191
|
-
* @return {Object} Object representation of an instance
|
|
22188
|
+
/**
|
|
22189
|
+
* Returns object representation of an instance
|
|
22190
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22191
|
+
* @return {Object} Object representation of an instance
|
|
22192
22192
|
*/
|
|
22193
22193
|
toObject() {
|
|
22194
22194
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -22231,23 +22231,23 @@ class FabricText extends StyledText {
|
|
|
22231
22231
|
return this;
|
|
22232
22232
|
}
|
|
22233
22233
|
|
|
22234
|
-
/**
|
|
22235
|
-
* Returns complexity of an instance
|
|
22236
|
-
* @return {Number} complexity
|
|
22234
|
+
/**
|
|
22235
|
+
* Returns complexity of an instance
|
|
22236
|
+
* @return {Number} complexity
|
|
22237
22237
|
*/
|
|
22238
22238
|
complexity() {
|
|
22239
22239
|
return 1;
|
|
22240
22240
|
}
|
|
22241
22241
|
|
|
22242
|
-
/**
|
|
22243
|
-
* List of generic font families
|
|
22244
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22242
|
+
/**
|
|
22243
|
+
* List of generic font families
|
|
22244
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22245
22245
|
*/
|
|
22246
22246
|
|
|
22247
|
-
/**
|
|
22248
|
-
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22249
|
-
* @param {HTMLElement} element Element to parse
|
|
22250
|
-
* @param {Object} [options] Options object
|
|
22247
|
+
/**
|
|
22248
|
+
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22249
|
+
* @param {HTMLElement} element Element to parse
|
|
22250
|
+
* @param {Object} [options] Options object
|
|
22251
22251
|
*/
|
|
22252
22252
|
static async fromElement(element, options, cssRules) {
|
|
22253
22253
|
const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
|
|
@@ -22286,10 +22286,10 @@ class FabricText extends StyledText {
|
|
|
22286
22286
|
scaledDiff = lineHeightDiff * textHeightScaleFactor,
|
|
22287
22287
|
textHeight = text.getScaledHeight() + scaledDiff;
|
|
22288
22288
|
let offX = 0;
|
|
22289
|
-
/*
|
|
22290
|
-
Adjust positioning:
|
|
22291
|
-
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22292
|
-
fabric output by default at top, left.
|
|
22289
|
+
/*
|
|
22290
|
+
Adjust positioning:
|
|
22291
|
+
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22292
|
+
fabric output by default at top, left.
|
|
22293
22293
|
*/
|
|
22294
22294
|
if (textAnchor === CENTER) {
|
|
22295
22295
|
offX = text.getScaledWidth() / 2;
|
|
@@ -22307,9 +22307,9 @@ class FabricText extends StyledText {
|
|
|
22307
22307
|
|
|
22308
22308
|
/* _FROM_SVG_END_ */
|
|
22309
22309
|
|
|
22310
|
-
/**
|
|
22311
|
-
* Check if the font is ready for accurate measurements
|
|
22312
|
-
* @private
|
|
22310
|
+
/**
|
|
22311
|
+
* Check if the font is ready for accurate measurements
|
|
22312
|
+
* @private
|
|
22313
22313
|
*/
|
|
22314
22314
|
_isFontReady() {
|
|
22315
22315
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22322,9 +22322,9 @@ class FabricText extends StyledText {
|
|
|
22322
22322
|
}
|
|
22323
22323
|
}
|
|
22324
22324
|
|
|
22325
|
-
/**
|
|
22326
|
-
* Schedule re-initialization after font loads
|
|
22327
|
-
* @private
|
|
22325
|
+
/**
|
|
22326
|
+
* Schedule re-initialization after font loads
|
|
22327
|
+
* @private
|
|
22328
22328
|
*/
|
|
22329
22329
|
_scheduleInitAfterFontLoad() {
|
|
22330
22330
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22360,8 +22360,8 @@ class FabricText extends StyledText {
|
|
|
22360
22360
|
});
|
|
22361
22361
|
}
|
|
22362
22362
|
|
|
22363
|
-
/**
|
|
22364
|
-
* Force complete text re-initialization (useful after JSON loading)
|
|
22363
|
+
/**
|
|
22364
|
+
* Force complete text re-initialization (useful after JSON loading)
|
|
22365
22365
|
*/
|
|
22366
22366
|
forceTextReinitialization() {
|
|
22367
22367
|
console.log('🔄 Force reinitializing text object');
|
|
@@ -22389,10 +22389,10 @@ class FabricText extends StyledText {
|
|
|
22389
22389
|
}
|
|
22390
22390
|
}
|
|
22391
22391
|
|
|
22392
|
-
/**
|
|
22393
|
-
* Returns FabricText instance from an object representation
|
|
22394
|
-
* @param {Object} object plain js Object to create an instance from
|
|
22395
|
-
* @returns {Promise<FabricText>}
|
|
22392
|
+
/**
|
|
22393
|
+
* Returns FabricText instance from an object representation
|
|
22394
|
+
* @param {Object} object plain js Object to create an instance from
|
|
22395
|
+
* @returns {Promise<FabricText>}
|
|
22396
22396
|
*/
|
|
22397
22397
|
static fromObject(object) {
|
|
22398
22398
|
return this._fromObject({
|
|
@@ -22437,6 +22437,10 @@ class FabricText extends StyledText {
|
|
|
22437
22437
|
textObject._usingBrowserWrapping = true;
|
|
22438
22438
|
console.log(`🔤 STV font: Forcing browser wrapping flag during JSON load`);
|
|
22439
22439
|
|
|
22440
|
+
// Enable overlay editing for STV fonts to use native browser text handling
|
|
22441
|
+
textObject.useOverlayEditing = true;
|
|
22442
|
+
console.log(`🔤 STV font: Enabling overlay editing during JSON load`);
|
|
22443
|
+
|
|
22440
22444
|
// Multiple initialization attempts for STV fonts
|
|
22441
22445
|
const reinitWithDelay = attempt => {
|
|
22442
22446
|
if (textObject.forceTextReinitialization) {
|
|
@@ -22490,10 +22494,10 @@ class FabricText extends StyledText {
|
|
|
22490
22494
|
});
|
|
22491
22495
|
}
|
|
22492
22496
|
}
|
|
22493
|
-
/**
|
|
22494
|
-
* Properties that requires a text layout recalculation when changed
|
|
22495
|
-
* @type string[]
|
|
22496
|
-
* @protected
|
|
22497
|
+
/**
|
|
22498
|
+
* Properties that requires a text layout recalculation when changed
|
|
22499
|
+
* @type string[]
|
|
22500
|
+
* @protected
|
|
22497
22501
|
*/
|
|
22498
22502
|
_defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
|
|
22499
22503
|
_defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
|
|
@@ -22501,9 +22505,9 @@ _defineProperty(FabricText, "ownDefaults", textDefaultValues);
|
|
|
22501
22505
|
_defineProperty(FabricText, "type", 'Text');
|
|
22502
22506
|
_defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
|
|
22503
22507
|
/* _FROM_SVG_START_ */
|
|
22504
|
-
/**
|
|
22505
|
-
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22506
|
-
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22508
|
+
/**
|
|
22509
|
+
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22510
|
+
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22507
22511
|
*/
|
|
22508
22512
|
_defineProperty(FabricText, "ATTRIBUTE_NAMES", SHARED_ATTRIBUTES.concat('x', 'y', 'dx', 'dy', 'font-family', 'font-style', 'font-weight', 'font-size', 'letter-spacing', 'text-decoration', 'text-anchor'));
|
|
22509
22513
|
applyMixins(FabricText, [TextSVGExportMixin]);
|
|
@@ -22890,8 +22894,8 @@ class OverlayEditor {
|
|
|
22890
22894
|
// We don't need to save/restore them here as it would conflict with IText's restoration
|
|
22891
22895
|
}
|
|
22892
22896
|
|
|
22893
|
-
/**
|
|
22894
|
-
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22897
|
+
/**
|
|
22898
|
+
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22895
22899
|
*/
|
|
22896
22900
|
getCanvasContainer() {
|
|
22897
22901
|
const upperCanvas = this.canvas.upperCanvasEl;
|
|
@@ -22905,8 +22909,8 @@ class OverlayEditor {
|
|
|
22905
22909
|
return container;
|
|
22906
22910
|
}
|
|
22907
22911
|
|
|
22908
|
-
/**
|
|
22909
|
-
* Create the overlay DOM structure
|
|
22912
|
+
/**
|
|
22913
|
+
* Create the overlay DOM structure
|
|
22910
22914
|
*/
|
|
22911
22915
|
createOverlayDOM() {
|
|
22912
22916
|
// Host div for positioning and overflow control
|
|
@@ -22961,8 +22965,8 @@ class OverlayEditor {
|
|
|
22961
22965
|
document.body.appendChild(this.hostDiv);
|
|
22962
22966
|
}
|
|
22963
22967
|
|
|
22964
|
-
/**
|
|
22965
|
-
* Attach all event listeners
|
|
22968
|
+
/**
|
|
22969
|
+
* Attach all event listeners
|
|
22966
22970
|
*/
|
|
22967
22971
|
attachEventListeners() {
|
|
22968
22972
|
// Textarea events
|
|
@@ -22982,8 +22986,8 @@ class OverlayEditor {
|
|
|
22982
22986
|
this.setupViewportChangeDetection();
|
|
22983
22987
|
}
|
|
22984
22988
|
|
|
22985
|
-
/**
|
|
22986
|
-
* Remove all event listeners
|
|
22989
|
+
/**
|
|
22990
|
+
* Remove all event listeners
|
|
22987
22991
|
*/
|
|
22988
22992
|
removeEventListeners() {
|
|
22989
22993
|
this.textarea.removeEventListener('input', this.boundHandlers.onInput);
|
|
@@ -23000,16 +23004,16 @@ class OverlayEditor {
|
|
|
23000
23004
|
this.restoreViewportChangeDetection();
|
|
23001
23005
|
}
|
|
23002
23006
|
|
|
23003
|
-
/**
|
|
23004
|
-
* Simple method to refresh positioning when canvas changes
|
|
23007
|
+
/**
|
|
23008
|
+
* Simple method to refresh positioning when canvas changes
|
|
23005
23009
|
*/
|
|
23006
23010
|
updatePosition() {
|
|
23007
23011
|
this.applyOverlayStyle();
|
|
23008
23012
|
}
|
|
23009
23013
|
|
|
23010
|
-
/**
|
|
23011
|
-
* Update the Fabric object bounds to match current textarea size
|
|
23012
|
-
* This ensures Fabric.js selection controls follow the growing textbox
|
|
23014
|
+
/**
|
|
23015
|
+
* Update the Fabric object bounds to match current textarea size
|
|
23016
|
+
* This ensures Fabric.js selection controls follow the growing textbox
|
|
23013
23017
|
*/
|
|
23014
23018
|
updateObjectBounds() {
|
|
23015
23019
|
if (this.isDestroyed) return;
|
|
@@ -23043,15 +23047,15 @@ class OverlayEditor {
|
|
|
23043
23047
|
}
|
|
23044
23048
|
}
|
|
23045
23049
|
|
|
23046
|
-
/**
|
|
23047
|
-
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
23050
|
+
/**
|
|
23051
|
+
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
23048
23052
|
*/
|
|
23049
23053
|
letterSpacingPx(charSpacing, fontSize) {
|
|
23050
23054
|
return charSpacing / 1000 * fontSize;
|
|
23051
23055
|
}
|
|
23052
23056
|
|
|
23053
|
-
/**
|
|
23054
|
-
* Detect text direction using first strong directional character
|
|
23057
|
+
/**
|
|
23058
|
+
* Detect text direction using first strong directional character
|
|
23055
23059
|
*/
|
|
23056
23060
|
firstStrongDir(text) {
|
|
23057
23061
|
// Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
|
|
@@ -23288,8 +23292,8 @@ class OverlayEditor {
|
|
|
23288
23292
|
// Initial bounds are set correctly by Fabric.js - don't force update here
|
|
23289
23293
|
}
|
|
23290
23294
|
|
|
23291
|
-
/**
|
|
23292
|
-
* Debug method to compare textarea and canvas object bounding boxes
|
|
23295
|
+
/**
|
|
23296
|
+
* Debug method to compare textarea and canvas object bounding boxes
|
|
23293
23297
|
*/
|
|
23294
23298
|
debugBoundingBoxComparison() {
|
|
23295
23299
|
const target = this.target;
|
|
@@ -23359,8 +23363,8 @@ class OverlayEditor {
|
|
|
23359
23363
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23360
23364
|
}
|
|
23361
23365
|
|
|
23362
|
-
/**
|
|
23363
|
-
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23366
|
+
/**
|
|
23367
|
+
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23364
23368
|
*/
|
|
23365
23369
|
debugTextWrapping() {
|
|
23366
23370
|
const target = this.target;
|
|
@@ -23445,8 +23449,8 @@ class OverlayEditor {
|
|
|
23445
23449
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23446
23450
|
}
|
|
23447
23451
|
|
|
23448
|
-
/**
|
|
23449
|
-
* Focus the textarea and position cursor at end
|
|
23452
|
+
/**
|
|
23453
|
+
* Focus the textarea and position cursor at end
|
|
23450
23454
|
*/
|
|
23451
23455
|
focusTextarea() {
|
|
23452
23456
|
// For overlay editing, we want to keep the object in "selection mode" not "editing mode"
|
|
@@ -23486,8 +23490,8 @@ class OverlayEditor {
|
|
|
23486
23490
|
this.canvas.requestRenderAll();
|
|
23487
23491
|
}
|
|
23488
23492
|
|
|
23489
|
-
/**
|
|
23490
|
-
* Refresh overlay positioning and styling
|
|
23493
|
+
/**
|
|
23494
|
+
* Refresh overlay positioning and styling
|
|
23491
23495
|
*/
|
|
23492
23496
|
refresh() {
|
|
23493
23497
|
if (this.isDestroyed) return;
|
|
@@ -23495,8 +23499,8 @@ class OverlayEditor {
|
|
|
23495
23499
|
// Don't update object bounds on every refresh - only when textarea actually resizes
|
|
23496
23500
|
}
|
|
23497
23501
|
|
|
23498
|
-
/**
|
|
23499
|
-
* Destroy the overlay editor
|
|
23502
|
+
/**
|
|
23503
|
+
* Destroy the overlay editor
|
|
23500
23504
|
*/
|
|
23501
23505
|
destroy() {
|
|
23502
23506
|
let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -23664,8 +23668,8 @@ class OverlayEditor {
|
|
|
23664
23668
|
}
|
|
23665
23669
|
}
|
|
23666
23670
|
|
|
23667
|
-
/**
|
|
23668
|
-
* Setup detection for viewport changes (zoom/pan)
|
|
23671
|
+
/**
|
|
23672
|
+
* Setup detection for viewport changes (zoom/pan)
|
|
23669
23673
|
*/
|
|
23670
23674
|
setupViewportChangeDetection() {
|
|
23671
23675
|
// Store original methods
|
|
@@ -23694,8 +23698,8 @@ class OverlayEditor {
|
|
|
23694
23698
|
};
|
|
23695
23699
|
}
|
|
23696
23700
|
|
|
23697
|
-
/**
|
|
23698
|
-
* Restore original viewport methods
|
|
23701
|
+
/**
|
|
23702
|
+
* Restore original viewport methods
|
|
23699
23703
|
*/
|
|
23700
23704
|
restoreViewportChangeDetection() {
|
|
23701
23705
|
if (this.canvas.__originalSetZoom) {
|
|
@@ -23710,8 +23714,8 @@ class OverlayEditor {
|
|
|
23710
23714
|
}
|
|
23711
23715
|
}
|
|
23712
23716
|
|
|
23713
|
-
/**
|
|
23714
|
-
* Enter overlay text editing mode for a text object
|
|
23717
|
+
/**
|
|
23718
|
+
* Enter overlay text editing mode for a text object
|
|
23715
23719
|
*/
|
|
23716
23720
|
function enterTextOverlayEdit(canvas, target, options) {
|
|
23717
23721
|
// If already in overlay editing, destroy existing editor first
|
|
@@ -23735,35 +23739,35 @@ function enterTextOverlayEdit(canvas, target, options) {
|
|
|
23735
23739
|
return editor;
|
|
23736
23740
|
}
|
|
23737
23741
|
|
|
23738
|
-
/**
|
|
23739
|
-
* extend this regex to support non english languages
|
|
23740
|
-
*
|
|
23741
|
-
* - ` ` Matches a SPACE character (char code 32).
|
|
23742
|
-
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23743
|
-
* - `.` Matches a "." character (char code 46).
|
|
23744
|
-
* - `,` Matches a "," character (char code 44).
|
|
23745
|
-
* - `;` Matches a ";" character (char code 59).
|
|
23746
|
-
* - `!` Matches a "!" character (char code 33).
|
|
23747
|
-
* - `\?` Matches a "?" character (char code 63).
|
|
23748
|
-
* - `\-` Matches a "-" character (char code 45).
|
|
23742
|
+
/**
|
|
23743
|
+
* extend this regex to support non english languages
|
|
23744
|
+
*
|
|
23745
|
+
* - ` ` Matches a SPACE character (char code 32).
|
|
23746
|
+
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23747
|
+
* - `.` Matches a "." character (char code 46).
|
|
23748
|
+
* - `,` Matches a "," character (char code 44).
|
|
23749
|
+
* - `;` Matches a ";" character (char code 59).
|
|
23750
|
+
* - `!` Matches a "!" character (char code 33).
|
|
23751
|
+
* - `\?` Matches a "?" character (char code 63).
|
|
23752
|
+
* - `\-` Matches a "-" character (char code 45).
|
|
23749
23753
|
*/
|
|
23750
23754
|
// eslint-disable-next-line no-useless-escape
|
|
23751
23755
|
const reNonWord = /[ \n\.,;!\?\-]/;
|
|
23752
23756
|
class ITextBehavior extends FabricText {
|
|
23753
23757
|
constructor() {
|
|
23754
23758
|
super(...arguments);
|
|
23755
|
-
/**
|
|
23756
|
-
* Helps determining when the text is in composition, so that the cursor
|
|
23757
|
-
* rendering is altered.
|
|
23759
|
+
/**
|
|
23760
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
23761
|
+
* rendering is altered.
|
|
23758
23762
|
*/
|
|
23759
23763
|
_defineProperty(this, "_currentCursorOpacity", 1);
|
|
23760
23764
|
}
|
|
23761
|
-
/**
|
|
23762
|
-
* Keeps track if the IText object was selected before the actual click.
|
|
23763
|
-
* This because we want to delay enter editing by a click.
|
|
23765
|
+
/**
|
|
23766
|
+
* Keeps track if the IText object was selected before the actual click.
|
|
23767
|
+
* This because we want to delay enter editing by a click.
|
|
23764
23768
|
*/
|
|
23765
|
-
/**
|
|
23766
|
-
* Initializes all the interactive behavior of IText
|
|
23769
|
+
/**
|
|
23770
|
+
* Initializes all the interactive behavior of IText
|
|
23767
23771
|
*/
|
|
23768
23772
|
initBehavior() {
|
|
23769
23773
|
this._tick = this._tick.bind(this);
|
|
@@ -23776,8 +23780,8 @@ class ITextBehavior extends FabricText {
|
|
|
23776
23780
|
return super.onDeselect(options);
|
|
23777
23781
|
}
|
|
23778
23782
|
|
|
23779
|
-
/**
|
|
23780
|
-
* @private
|
|
23783
|
+
/**
|
|
23784
|
+
* @private
|
|
23781
23785
|
*/
|
|
23782
23786
|
_animateCursor(_ref) {
|
|
23783
23787
|
let {
|
|
@@ -23802,8 +23806,8 @@ class ITextBehavior extends FabricText {
|
|
|
23802
23806
|
});
|
|
23803
23807
|
}
|
|
23804
23808
|
|
|
23805
|
-
/**
|
|
23806
|
-
* changes the cursor from visible to invisible
|
|
23809
|
+
/**
|
|
23810
|
+
* changes the cursor from visible to invisible
|
|
23807
23811
|
*/
|
|
23808
23812
|
_tick(delay) {
|
|
23809
23813
|
this._currentTickState = this._animateCursor({
|
|
@@ -23814,8 +23818,8 @@ class ITextBehavior extends FabricText {
|
|
|
23814
23818
|
});
|
|
23815
23819
|
}
|
|
23816
23820
|
|
|
23817
|
-
/**
|
|
23818
|
-
* Changes the cursor from invisible to visible
|
|
23821
|
+
/**
|
|
23822
|
+
* Changes the cursor from invisible to visible
|
|
23819
23823
|
*/
|
|
23820
23824
|
_onTickComplete() {
|
|
23821
23825
|
var _this$_currentTickCom;
|
|
@@ -23827,16 +23831,16 @@ class ITextBehavior extends FabricText {
|
|
|
23827
23831
|
});
|
|
23828
23832
|
}
|
|
23829
23833
|
|
|
23830
|
-
/**
|
|
23831
|
-
* Initializes delayed cursor
|
|
23834
|
+
/**
|
|
23835
|
+
* Initializes delayed cursor
|
|
23832
23836
|
*/
|
|
23833
23837
|
initDelayedCursor(restart) {
|
|
23834
23838
|
this.abortCursorAnimation();
|
|
23835
23839
|
this._tick(restart ? 0 : this.cursorDelay);
|
|
23836
23840
|
}
|
|
23837
23841
|
|
|
23838
|
-
/**
|
|
23839
|
-
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23842
|
+
/**
|
|
23843
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23840
23844
|
*/
|
|
23841
23845
|
abortCursorAnimation() {
|
|
23842
23846
|
let shouldClear = false;
|
|
@@ -23854,9 +23858,9 @@ class ITextBehavior extends FabricText {
|
|
|
23854
23858
|
}
|
|
23855
23859
|
}
|
|
23856
23860
|
|
|
23857
|
-
/**
|
|
23858
|
-
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23859
|
-
* or if it never started before
|
|
23861
|
+
/**
|
|
23862
|
+
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23863
|
+
* or if it never started before
|
|
23860
23864
|
*/
|
|
23861
23865
|
restartCursorIfNeeded() {
|
|
23862
23866
|
if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
|
|
@@ -23864,8 +23868,8 @@ class ITextBehavior extends FabricText {
|
|
|
23864
23868
|
}
|
|
23865
23869
|
}
|
|
23866
23870
|
|
|
23867
|
-
/**
|
|
23868
|
-
* Selects entire text
|
|
23871
|
+
/**
|
|
23872
|
+
* Selects entire text
|
|
23869
23873
|
*/
|
|
23870
23874
|
selectAll() {
|
|
23871
23875
|
this.selectionStart = 0;
|
|
@@ -23875,26 +23879,26 @@ class ITextBehavior extends FabricText {
|
|
|
23875
23879
|
return this;
|
|
23876
23880
|
}
|
|
23877
23881
|
|
|
23878
|
-
/**
|
|
23879
|
-
* Selects entire text and updates the visual state
|
|
23882
|
+
/**
|
|
23883
|
+
* Selects entire text and updates the visual state
|
|
23880
23884
|
*/
|
|
23881
23885
|
cmdAll() {
|
|
23882
23886
|
this.selectAll();
|
|
23883
23887
|
this.renderCursorOrSelection();
|
|
23884
23888
|
}
|
|
23885
23889
|
|
|
23886
|
-
/**
|
|
23887
|
-
* Returns selected text
|
|
23888
|
-
* @return {String}
|
|
23890
|
+
/**
|
|
23891
|
+
* Returns selected text
|
|
23892
|
+
* @return {String}
|
|
23889
23893
|
*/
|
|
23890
23894
|
getSelectedText() {
|
|
23891
23895
|
return this._text.slice(this.selectionStart, this.selectionEnd).join('');
|
|
23892
23896
|
}
|
|
23893
23897
|
|
|
23894
|
-
/**
|
|
23895
|
-
* Find new selection index representing start of current word according to current selection index
|
|
23896
|
-
* @param {Number} startFrom Current selection index
|
|
23897
|
-
* @return {Number} New selection index
|
|
23898
|
+
/**
|
|
23899
|
+
* Find new selection index representing start of current word according to current selection index
|
|
23900
|
+
* @param {Number} startFrom Current selection index
|
|
23901
|
+
* @return {Number} New selection index
|
|
23898
23902
|
*/
|
|
23899
23903
|
findWordBoundaryLeft(startFrom) {
|
|
23900
23904
|
let offset = 0,
|
|
@@ -23914,10 +23918,10 @@ class ITextBehavior extends FabricText {
|
|
|
23914
23918
|
return startFrom - offset;
|
|
23915
23919
|
}
|
|
23916
23920
|
|
|
23917
|
-
/**
|
|
23918
|
-
* Find new selection index representing end of current word according to current selection index
|
|
23919
|
-
* @param {Number} startFrom Current selection index
|
|
23920
|
-
* @return {Number} New selection index
|
|
23921
|
+
/**
|
|
23922
|
+
* Find new selection index representing end of current word according to current selection index
|
|
23923
|
+
* @param {Number} startFrom Current selection index
|
|
23924
|
+
* @return {Number} New selection index
|
|
23921
23925
|
*/
|
|
23922
23926
|
findWordBoundaryRight(startFrom) {
|
|
23923
23927
|
let offset = 0,
|
|
@@ -23937,10 +23941,10 @@ class ITextBehavior extends FabricText {
|
|
|
23937
23941
|
return startFrom + offset;
|
|
23938
23942
|
}
|
|
23939
23943
|
|
|
23940
|
-
/**
|
|
23941
|
-
* Find new selection index representing start of current line according to current selection index
|
|
23942
|
-
* @param {Number} startFrom Current selection index
|
|
23943
|
-
* @return {Number} New selection index
|
|
23944
|
+
/**
|
|
23945
|
+
* Find new selection index representing start of current line according to current selection index
|
|
23946
|
+
* @param {Number} startFrom Current selection index
|
|
23947
|
+
* @return {Number} New selection index
|
|
23944
23948
|
*/
|
|
23945
23949
|
findLineBoundaryLeft(startFrom) {
|
|
23946
23950
|
let offset = 0,
|
|
@@ -23952,10 +23956,10 @@ class ITextBehavior extends FabricText {
|
|
|
23952
23956
|
return startFrom - offset;
|
|
23953
23957
|
}
|
|
23954
23958
|
|
|
23955
|
-
/**
|
|
23956
|
-
* Find new selection index representing end of current line according to current selection index
|
|
23957
|
-
* @param {Number} startFrom Current selection index
|
|
23958
|
-
* @return {Number} New selection index
|
|
23959
|
+
/**
|
|
23960
|
+
* Find new selection index representing end of current line according to current selection index
|
|
23961
|
+
* @param {Number} startFrom Current selection index
|
|
23962
|
+
* @return {Number} New selection index
|
|
23959
23963
|
*/
|
|
23960
23964
|
findLineBoundaryRight(startFrom) {
|
|
23961
23965
|
let offset = 0,
|
|
@@ -23967,11 +23971,11 @@ class ITextBehavior extends FabricText {
|
|
|
23967
23971
|
return startFrom + offset;
|
|
23968
23972
|
}
|
|
23969
23973
|
|
|
23970
|
-
/**
|
|
23971
|
-
* Finds index corresponding to beginning or end of a word
|
|
23972
|
-
* @param {Number} selectionStart Index of a character
|
|
23973
|
-
* @param {Number} direction 1 or -1
|
|
23974
|
-
* @return {Number} Index of the beginning or end of a word
|
|
23974
|
+
/**
|
|
23975
|
+
* Finds index corresponding to beginning or end of a word
|
|
23976
|
+
* @param {Number} selectionStart Index of a character
|
|
23977
|
+
* @param {Number} direction 1 or -1
|
|
23978
|
+
* @return {Number} Index of the beginning or end of a word
|
|
23975
23979
|
*/
|
|
23976
23980
|
searchWordBoundary(selectionStart, direction) {
|
|
23977
23981
|
const text = this._text;
|
|
@@ -23989,9 +23993,9 @@ class ITextBehavior extends FabricText {
|
|
|
23989
23993
|
return index;
|
|
23990
23994
|
}
|
|
23991
23995
|
|
|
23992
|
-
/**
|
|
23993
|
-
* Selects the word that contains the char at index selectionStart
|
|
23994
|
-
* @param {Number} selectionStart Index of a character
|
|
23996
|
+
/**
|
|
23997
|
+
* Selects the word that contains the char at index selectionStart
|
|
23998
|
+
* @param {Number} selectionStart Index of a character
|
|
23995
23999
|
*/
|
|
23996
24000
|
selectWord(selectionStart) {
|
|
23997
24001
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -24007,9 +24011,9 @@ class ITextBehavior extends FabricText {
|
|
|
24007
24011
|
this.renderCursorOrSelection();
|
|
24008
24012
|
}
|
|
24009
24013
|
|
|
24010
|
-
/**
|
|
24011
|
-
* Selects the line that contains selectionStart
|
|
24012
|
-
* @param {Number} selectionStart Index of a character
|
|
24014
|
+
/**
|
|
24015
|
+
* Selects the line that contains selectionStart
|
|
24016
|
+
* @param {Number} selectionStart Index of a character
|
|
24013
24017
|
*/
|
|
24014
24018
|
selectLine(selectionStart) {
|
|
24015
24019
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -24021,8 +24025,8 @@ class ITextBehavior extends FabricText {
|
|
|
24021
24025
|
this._updateTextarea();
|
|
24022
24026
|
}
|
|
24023
24027
|
|
|
24024
|
-
/**
|
|
24025
|
-
* Enters editing state
|
|
24028
|
+
/**
|
|
24029
|
+
* Enters editing state
|
|
24026
24030
|
*/
|
|
24027
24031
|
enterEditing(e) {
|
|
24028
24032
|
if (this.isEditing || !this.editable) {
|
|
@@ -24042,8 +24046,8 @@ class ITextBehavior extends FabricText {
|
|
|
24042
24046
|
}
|
|
24043
24047
|
}
|
|
24044
24048
|
|
|
24045
|
-
/**
|
|
24046
|
-
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
24049
|
+
/**
|
|
24050
|
+
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
24047
24051
|
*/
|
|
24048
24052
|
enterEditingImpl() {
|
|
24049
24053
|
if (this.canvas) {
|
|
@@ -24067,8 +24071,8 @@ class ITextBehavior extends FabricText {
|
|
|
24067
24071
|
}
|
|
24068
24072
|
}
|
|
24069
24073
|
|
|
24070
|
-
/**
|
|
24071
|
-
* Enter overlay editing mode using DOM textarea overlay
|
|
24074
|
+
/**
|
|
24075
|
+
* Enter overlay editing mode using DOM textarea overlay
|
|
24072
24076
|
*/
|
|
24073
24077
|
enterOverlayEditing() {
|
|
24074
24078
|
this._saveEditingProps();
|
|
@@ -24089,8 +24093,8 @@ class ITextBehavior extends FabricText {
|
|
|
24089
24093
|
});
|
|
24090
24094
|
}
|
|
24091
24095
|
|
|
24092
|
-
/**
|
|
24093
|
-
* Commit overlay editing changes
|
|
24096
|
+
/**
|
|
24097
|
+
* Commit overlay editing changes
|
|
24094
24098
|
*/
|
|
24095
24099
|
commitOverlayEdit(text) {
|
|
24096
24100
|
const overlayEditor = this.__overlayEditor;
|
|
@@ -24114,8 +24118,8 @@ class ITextBehavior extends FabricText {
|
|
|
24114
24118
|
this.canvas && this.canvas.requestRenderAll();
|
|
24115
24119
|
}
|
|
24116
24120
|
|
|
24117
|
-
/**
|
|
24118
|
-
* Cancel overlay editing without changes
|
|
24121
|
+
/**
|
|
24122
|
+
* Cancel overlay editing without changes
|
|
24119
24123
|
*/
|
|
24120
24124
|
cancelOverlayEdit() {
|
|
24121
24125
|
// Restore original text
|
|
@@ -24123,8 +24127,8 @@ class ITextBehavior extends FabricText {
|
|
|
24123
24127
|
this.exitEditing();
|
|
24124
24128
|
}
|
|
24125
24129
|
|
|
24126
|
-
/**
|
|
24127
|
-
* called by {@link Canvas#textEditingManager}
|
|
24130
|
+
/**
|
|
24131
|
+
* called by {@link Canvas#textEditingManager}
|
|
24128
24132
|
*/
|
|
24129
24133
|
updateSelectionOnMouseMove(e) {
|
|
24130
24134
|
if (this.getActiveControl()) {
|
|
@@ -24152,8 +24156,8 @@ class ITextBehavior extends FabricText {
|
|
|
24152
24156
|
}
|
|
24153
24157
|
}
|
|
24154
24158
|
|
|
24155
|
-
/**
|
|
24156
|
-
* @private
|
|
24159
|
+
/**
|
|
24160
|
+
* @private
|
|
24157
24161
|
*/
|
|
24158
24162
|
_setEditingProps() {
|
|
24159
24163
|
this.hoverCursor = 'text';
|
|
@@ -24165,8 +24169,8 @@ class ITextBehavior extends FabricText {
|
|
|
24165
24169
|
this.lockMovementX = this.lockMovementY = true;
|
|
24166
24170
|
}
|
|
24167
24171
|
|
|
24168
|
-
/**
|
|
24169
|
-
* convert from textarea to grapheme indexes
|
|
24172
|
+
/**
|
|
24173
|
+
* convert from textarea to grapheme indexes
|
|
24170
24174
|
*/
|
|
24171
24175
|
fromStringToGraphemeSelection(start, end, text) {
|
|
24172
24176
|
const smallerTextStart = text.slice(0, start),
|
|
@@ -24185,8 +24189,8 @@ class ITextBehavior extends FabricText {
|
|
|
24185
24189
|
};
|
|
24186
24190
|
}
|
|
24187
24191
|
|
|
24188
|
-
/**
|
|
24189
|
-
* convert from fabric to textarea values
|
|
24192
|
+
/**
|
|
24193
|
+
* convert from fabric to textarea values
|
|
24190
24194
|
*/
|
|
24191
24195
|
fromGraphemeToStringSelection(start, end, graphemes) {
|
|
24192
24196
|
const smallerTextStart = graphemes.slice(0, start),
|
|
@@ -24205,8 +24209,8 @@ class ITextBehavior extends FabricText {
|
|
|
24205
24209
|
};
|
|
24206
24210
|
}
|
|
24207
24211
|
|
|
24208
|
-
/**
|
|
24209
|
-
* @private
|
|
24212
|
+
/**
|
|
24213
|
+
* @private
|
|
24210
24214
|
*/
|
|
24211
24215
|
_updateTextarea() {
|
|
24212
24216
|
console.log('🔤 _updateTextarea called with fabric text:', this.text);
|
|
@@ -24231,8 +24235,8 @@ class ITextBehavior extends FabricText {
|
|
|
24231
24235
|
this.updateTextareaPosition();
|
|
24232
24236
|
}
|
|
24233
24237
|
|
|
24234
|
-
/**
|
|
24235
|
-
* @private
|
|
24238
|
+
/**
|
|
24239
|
+
* @private
|
|
24236
24240
|
*/
|
|
24237
24241
|
updateFromTextArea() {
|
|
24238
24242
|
if (!this.hiddenTextarea) {
|
|
@@ -24252,8 +24256,8 @@ class ITextBehavior extends FabricText {
|
|
|
24252
24256
|
this.updateTextareaPosition();
|
|
24253
24257
|
}
|
|
24254
24258
|
|
|
24255
|
-
/**
|
|
24256
|
-
* @private
|
|
24259
|
+
/**
|
|
24260
|
+
* @private
|
|
24257
24261
|
*/
|
|
24258
24262
|
updateTextareaPosition() {
|
|
24259
24263
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -24263,9 +24267,9 @@ class ITextBehavior extends FabricText {
|
|
|
24263
24267
|
}
|
|
24264
24268
|
}
|
|
24265
24269
|
|
|
24266
|
-
/**
|
|
24267
|
-
* @private
|
|
24268
|
-
* @return {Object} style contains style for hiddenTextarea
|
|
24270
|
+
/**
|
|
24271
|
+
* @private
|
|
24272
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
24269
24273
|
*/
|
|
24270
24274
|
_calcTextareaPosition() {
|
|
24271
24275
|
if (!this.canvas) {
|
|
@@ -24312,8 +24316,8 @@ class ITextBehavior extends FabricText {
|
|
|
24312
24316
|
};
|
|
24313
24317
|
}
|
|
24314
24318
|
|
|
24315
|
-
/**
|
|
24316
|
-
* @private
|
|
24319
|
+
/**
|
|
24320
|
+
* @private
|
|
24317
24321
|
*/
|
|
24318
24322
|
_saveEditingProps() {
|
|
24319
24323
|
this._savedProps = {
|
|
@@ -24330,8 +24334,8 @@ class ITextBehavior extends FabricText {
|
|
|
24330
24334
|
};
|
|
24331
24335
|
}
|
|
24332
24336
|
|
|
24333
|
-
/**
|
|
24334
|
-
* @private
|
|
24337
|
+
/**
|
|
24338
|
+
* @private
|
|
24335
24339
|
*/
|
|
24336
24340
|
_restoreEditingProps() {
|
|
24337
24341
|
if (!this._savedProps) {
|
|
@@ -24351,9 +24355,9 @@ class ITextBehavior extends FabricText {
|
|
|
24351
24355
|
delete this._savedProps;
|
|
24352
24356
|
}
|
|
24353
24357
|
|
|
24354
|
-
/**
|
|
24355
|
-
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24356
|
-
* But it does not fire events
|
|
24358
|
+
/**
|
|
24359
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24360
|
+
* But it does not fire events
|
|
24357
24361
|
*/
|
|
24358
24362
|
exitEditingImpl() {
|
|
24359
24363
|
const hiddenTextarea = this.hiddenTextarea;
|
|
@@ -24374,8 +24378,8 @@ class ITextBehavior extends FabricText {
|
|
|
24374
24378
|
}
|
|
24375
24379
|
}
|
|
24376
24380
|
|
|
24377
|
-
/**
|
|
24378
|
-
* Exits from editing state and fires relevant events
|
|
24381
|
+
/**
|
|
24382
|
+
* Exits from editing state and fires relevant events
|
|
24379
24383
|
*/
|
|
24380
24384
|
exitEditing() {
|
|
24381
24385
|
const isTextChanged = this._textBeforeEdit !== this.text;
|
|
@@ -24394,8 +24398,8 @@ class ITextBehavior extends FabricText {
|
|
|
24394
24398
|
return this;
|
|
24395
24399
|
}
|
|
24396
24400
|
|
|
24397
|
-
/**
|
|
24398
|
-
* @private
|
|
24401
|
+
/**
|
|
24402
|
+
* @private
|
|
24399
24403
|
*/
|
|
24400
24404
|
_removeExtraneousStyles() {
|
|
24401
24405
|
for (const prop in this.styles) {
|
|
@@ -24405,10 +24409,10 @@ class ITextBehavior extends FabricText {
|
|
|
24405
24409
|
}
|
|
24406
24410
|
}
|
|
24407
24411
|
|
|
24408
|
-
/**
|
|
24409
|
-
* remove and reflow a style block from start to end.
|
|
24410
|
-
* @param {Number} start linear start position for removal (included in removal)
|
|
24411
|
-
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24412
|
+
/**
|
|
24413
|
+
* remove and reflow a style block from start to end.
|
|
24414
|
+
* @param {Number} start linear start position for removal (included in removal)
|
|
24415
|
+
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24412
24416
|
*/
|
|
24413
24417
|
removeStyleFromTo(start, end) {
|
|
24414
24418
|
const {
|
|
@@ -24461,10 +24465,10 @@ class ITextBehavior extends FabricText {
|
|
|
24461
24465
|
}
|
|
24462
24466
|
}
|
|
24463
24467
|
|
|
24464
|
-
/**
|
|
24465
|
-
* Shifts line styles up or down
|
|
24466
|
-
* @param {Number} lineIndex Index of a line
|
|
24467
|
-
* @param {Number} offset Can any number?
|
|
24468
|
+
/**
|
|
24469
|
+
* Shifts line styles up or down
|
|
24470
|
+
* @param {Number} lineIndex Index of a line
|
|
24471
|
+
* @param {Number} offset Can any number?
|
|
24468
24472
|
*/
|
|
24469
24473
|
shiftLineStyles(lineIndex, offset) {
|
|
24470
24474
|
const clonedStyles = Object.assign({}, this.styles);
|
|
@@ -24479,15 +24483,15 @@ class ITextBehavior extends FabricText {
|
|
|
24479
24483
|
}
|
|
24480
24484
|
}
|
|
24481
24485
|
|
|
24482
|
-
/**
|
|
24483
|
-
* Handle insertion of more consecutive style lines for when one or more
|
|
24484
|
-
* newlines gets added to the text. Since current style needs to be shifted
|
|
24485
|
-
* first we shift the current style of the number lines needed, then we add
|
|
24486
|
-
* new lines from the last to the first.
|
|
24487
|
-
* @param {Number} lineIndex Index of a line
|
|
24488
|
-
* @param {Number} charIndex Index of a char
|
|
24489
|
-
* @param {Number} qty number of lines to add
|
|
24490
|
-
* @param {Array} copiedStyle Array of objects styles
|
|
24486
|
+
/**
|
|
24487
|
+
* Handle insertion of more consecutive style lines for when one or more
|
|
24488
|
+
* newlines gets added to the text. Since current style needs to be shifted
|
|
24489
|
+
* first we shift the current style of the number lines needed, then we add
|
|
24490
|
+
* new lines from the last to the first.
|
|
24491
|
+
* @param {Number} lineIndex Index of a line
|
|
24492
|
+
* @param {Number} charIndex Index of a char
|
|
24493
|
+
* @param {Number} qty number of lines to add
|
|
24494
|
+
* @param {Array} copiedStyle Array of objects styles
|
|
24491
24495
|
*/
|
|
24492
24496
|
insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
|
|
24493
24497
|
const newLineStyles = {};
|
|
@@ -24547,12 +24551,12 @@ class ITextBehavior extends FabricText {
|
|
|
24547
24551
|
this._forceClearCache = true;
|
|
24548
24552
|
}
|
|
24549
24553
|
|
|
24550
|
-
/**
|
|
24551
|
-
* Inserts style object for a given line/char index
|
|
24552
|
-
* @param {Number} lineIndex Index of a line
|
|
24553
|
-
* @param {Number} charIndex Index of a char
|
|
24554
|
-
* @param {Number} quantity number Style object to insert, if given
|
|
24555
|
-
* @param {Array} copiedStyle array of style objects
|
|
24554
|
+
/**
|
|
24555
|
+
* Inserts style object for a given line/char index
|
|
24556
|
+
* @param {Number} lineIndex Index of a line
|
|
24557
|
+
* @param {Number} charIndex Index of a char
|
|
24558
|
+
* @param {Number} quantity number Style object to insert, if given
|
|
24559
|
+
* @param {Array} copiedStyle array of style objects
|
|
24556
24560
|
*/
|
|
24557
24561
|
insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
|
|
24558
24562
|
if (!this.styles) {
|
|
@@ -24601,11 +24605,11 @@ class ITextBehavior extends FabricText {
|
|
|
24601
24605
|
}
|
|
24602
24606
|
}
|
|
24603
24607
|
|
|
24604
|
-
/**
|
|
24605
|
-
* Inserts style object(s)
|
|
24606
|
-
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24607
|
-
* @param {Number} start cursor index for inserting style
|
|
24608
|
-
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24608
|
+
/**
|
|
24609
|
+
* Inserts style object(s)
|
|
24610
|
+
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24611
|
+
* @param {Number} start cursor index for inserting style
|
|
24612
|
+
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24609
24613
|
*/
|
|
24610
24614
|
insertNewStyleBlock(insertedText, start, copiedStyle) {
|
|
24611
24615
|
const cursorLoc = this.get2DCursorLocation(start, true),
|
|
@@ -24646,12 +24650,12 @@ class ITextBehavior extends FabricText {
|
|
|
24646
24650
|
}
|
|
24647
24651
|
}
|
|
24648
24652
|
|
|
24649
|
-
/**
|
|
24650
|
-
* Removes characters from start/end
|
|
24651
|
-
* start/end ar per grapheme position in _text array.
|
|
24652
|
-
*
|
|
24653
|
-
* @param {Number} start
|
|
24654
|
-
* @param {Number} end default to start + 1
|
|
24653
|
+
/**
|
|
24654
|
+
* Removes characters from start/end
|
|
24655
|
+
* start/end ar per grapheme position in _text array.
|
|
24656
|
+
*
|
|
24657
|
+
* @param {Number} start
|
|
24658
|
+
* @param {Number} end default to start + 1
|
|
24655
24659
|
*/
|
|
24656
24660
|
removeChars(start) {
|
|
24657
24661
|
let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
|
|
@@ -24664,17 +24668,17 @@ class ITextBehavior extends FabricText {
|
|
|
24664
24668
|
this._removeExtraneousStyles();
|
|
24665
24669
|
}
|
|
24666
24670
|
|
|
24667
|
-
/**
|
|
24668
|
-
* insert characters at start position, before start position.
|
|
24669
|
-
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24670
|
-
* if style array is provided, it must be as the same length of text in graphemes
|
|
24671
|
-
* if end is provided and is bigger than start, old text is replaced.
|
|
24672
|
-
* start/end ar per grapheme position in _text array.
|
|
24673
|
-
*
|
|
24674
|
-
* @param {String} text text to insert
|
|
24675
|
-
* @param {Array} style array of style objects
|
|
24676
|
-
* @param {Number} start
|
|
24677
|
-
* @param {Number} end default to start + 1
|
|
24671
|
+
/**
|
|
24672
|
+
* insert characters at start position, before start position.
|
|
24673
|
+
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24674
|
+
* if style array is provided, it must be as the same length of text in graphemes
|
|
24675
|
+
* if end is provided and is bigger than start, old text is replaced.
|
|
24676
|
+
* start/end ar per grapheme position in _text array.
|
|
24677
|
+
*
|
|
24678
|
+
* @param {String} text text to insert
|
|
24679
|
+
* @param {Array} style array of style objects
|
|
24680
|
+
* @param {Number} start
|
|
24681
|
+
* @param {Number} end default to start + 1
|
|
24678
24682
|
*/
|
|
24679
24683
|
insertChars(text, style, start) {
|
|
24680
24684
|
let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
|
|
@@ -24691,9 +24695,9 @@ class ITextBehavior extends FabricText {
|
|
|
24691
24695
|
this._removeExtraneousStyles();
|
|
24692
24696
|
}
|
|
24693
24697
|
|
|
24694
|
-
/**
|
|
24695
|
-
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24696
|
-
* mimic the key - mouse navigation when shift is pressed.
|
|
24698
|
+
/**
|
|
24699
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24700
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
24697
24701
|
*/
|
|
24698
24702
|
setSelectionStartEndWithShift(start, end, newSelection) {
|
|
24699
24703
|
if (newSelection <= start) {
|
|
@@ -24724,36 +24728,36 @@ class ITextBehavior extends FabricText {
|
|
|
24724
24728
|
}
|
|
24725
24729
|
|
|
24726
24730
|
class ITextKeyBehavior extends ITextBehavior {
|
|
24727
|
-
/**
|
|
24728
|
-
* For functionalities on keyDown
|
|
24729
|
-
* Map a special key to a function of the instance/prototype
|
|
24730
|
-
* If you need different behavior for ESC or TAB or arrows, you have to change
|
|
24731
|
-
* this map setting the name of a function that you build on the IText or
|
|
24732
|
-
* your prototype.
|
|
24733
|
-
* the map change will affect all Instances unless you need for only some text Instances
|
|
24734
|
-
* in that case you have to clone this object and assign your Instance.
|
|
24735
|
-
* this.keysMap = Object.assign({}, this.keysMap);
|
|
24736
|
-
* The function must be in IText.prototype.myFunction And will receive event as args[0]
|
|
24731
|
+
/**
|
|
24732
|
+
* For functionalities on keyDown
|
|
24733
|
+
* Map a special key to a function of the instance/prototype
|
|
24734
|
+
* If you need different behavior for ESC or TAB or arrows, you have to change
|
|
24735
|
+
* this map setting the name of a function that you build on the IText or
|
|
24736
|
+
* your prototype.
|
|
24737
|
+
* the map change will affect all Instances unless you need for only some text Instances
|
|
24738
|
+
* in that case you have to clone this object and assign your Instance.
|
|
24739
|
+
* this.keysMap = Object.assign({}, this.keysMap);
|
|
24740
|
+
* The function must be in IText.prototype.myFunction And will receive event as args[0]
|
|
24737
24741
|
*/
|
|
24738
24742
|
|
|
24739
|
-
/**
|
|
24740
|
-
* For functionalities on keyUp + ctrl || cmd
|
|
24743
|
+
/**
|
|
24744
|
+
* For functionalities on keyUp + ctrl || cmd
|
|
24741
24745
|
*/
|
|
24742
24746
|
|
|
24743
|
-
/**
|
|
24744
|
-
* For functionalities on keyDown + ctrl || cmd
|
|
24747
|
+
/**
|
|
24748
|
+
* For functionalities on keyDown + ctrl || cmd
|
|
24745
24749
|
*/
|
|
24746
24750
|
|
|
24747
|
-
/**
|
|
24748
|
-
* DOM container to append the hiddenTextarea.
|
|
24749
|
-
* An alternative to attaching to the document.body.
|
|
24750
|
-
* Useful to reduce laggish redraw of the full document.body tree and
|
|
24751
|
-
* also with modals event capturing that won't let the textarea take focus.
|
|
24752
|
-
* @type HTMLElement
|
|
24751
|
+
/**
|
|
24752
|
+
* DOM container to append the hiddenTextarea.
|
|
24753
|
+
* An alternative to attaching to the document.body.
|
|
24754
|
+
* Useful to reduce laggish redraw of the full document.body tree and
|
|
24755
|
+
* also with modals event capturing that won't let the textarea take focus.
|
|
24756
|
+
* @type HTMLElement
|
|
24753
24757
|
*/
|
|
24754
24758
|
|
|
24755
|
-
/**
|
|
24756
|
-
* Initializes hidden textarea (needed to bring up keyboard in iOS)
|
|
24759
|
+
/**
|
|
24760
|
+
* Initializes hidden textarea (needed to bring up keyboard in iOS)
|
|
24757
24761
|
*/
|
|
24758
24762
|
initHiddenTextarea() {
|
|
24759
24763
|
const doc = this.canvas && getDocumentFromElement(this.canvas.getElement()) || getFabricDocument();
|
|
@@ -24796,17 +24800,17 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24796
24800
|
this.hiddenTextarea = textarea;
|
|
24797
24801
|
}
|
|
24798
24802
|
|
|
24799
|
-
/**
|
|
24800
|
-
* Override this method to customize cursor behavior on textbox blur
|
|
24803
|
+
/**
|
|
24804
|
+
* Override this method to customize cursor behavior on textbox blur
|
|
24801
24805
|
*/
|
|
24802
24806
|
blur() {
|
|
24803
24807
|
this.abortCursorAnimation();
|
|
24804
24808
|
}
|
|
24805
24809
|
|
|
24806
|
-
/**
|
|
24807
|
-
* Handles keydown event
|
|
24808
|
-
* only used for arrows and combination of modifier keys.
|
|
24809
|
-
* @param {KeyboardEvent} e Event object
|
|
24810
|
+
/**
|
|
24811
|
+
* Handles keydown event
|
|
24812
|
+
* only used for arrows and combination of modifier keys.
|
|
24813
|
+
* @param {KeyboardEvent} e Event object
|
|
24810
24814
|
*/
|
|
24811
24815
|
onKeyDown(e) {
|
|
24812
24816
|
if (!this.isEditing) {
|
|
@@ -24832,11 +24836,11 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24832
24836
|
}
|
|
24833
24837
|
}
|
|
24834
24838
|
|
|
24835
|
-
/**
|
|
24836
|
-
* Handles keyup event
|
|
24837
|
-
* We handle KeyUp because ie11 and edge have difficulties copy/pasting
|
|
24838
|
-
* if a copy/cut event fired, keyup is dismissed
|
|
24839
|
-
* @param {KeyboardEvent} e Event object
|
|
24839
|
+
/**
|
|
24840
|
+
* Handles keyup event
|
|
24841
|
+
* We handle KeyUp because ie11 and edge have difficulties copy/pasting
|
|
24842
|
+
* if a copy/cut event fired, keyup is dismissed
|
|
24843
|
+
* @param {KeyboardEvent} e Event object
|
|
24840
24844
|
*/
|
|
24841
24845
|
onKeyUp(e) {
|
|
24842
24846
|
if (!this.isEditing || this._copyDone || this.inCompositionMode) {
|
|
@@ -24853,9 +24857,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24853
24857
|
this.canvas && this.canvas.requestRenderAll();
|
|
24854
24858
|
}
|
|
24855
24859
|
|
|
24856
|
-
/**
|
|
24857
|
-
* Handles onInput event
|
|
24858
|
-
* @param {Event} e Event object
|
|
24860
|
+
/**
|
|
24861
|
+
* Handles onInput event
|
|
24862
|
+
* @param {Event} e Event object
|
|
24859
24863
|
*/
|
|
24860
24864
|
onInput(e) {
|
|
24861
24865
|
const fromPaste = this.fromPaste;
|
|
@@ -24992,15 +24996,15 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24992
24996
|
updateAndFire();
|
|
24993
24997
|
}
|
|
24994
24998
|
|
|
24995
|
-
/**
|
|
24996
|
-
* Composition start
|
|
24999
|
+
/**
|
|
25000
|
+
* Composition start
|
|
24997
25001
|
*/
|
|
24998
25002
|
onCompositionStart() {
|
|
24999
25003
|
this.inCompositionMode = true;
|
|
25000
25004
|
}
|
|
25001
25005
|
|
|
25002
|
-
/**
|
|
25003
|
-
* Composition end
|
|
25006
|
+
/**
|
|
25007
|
+
* Composition end
|
|
25004
25008
|
*/
|
|
25005
25009
|
onCompositionEnd() {
|
|
25006
25010
|
this.inCompositionMode = false;
|
|
@@ -25018,8 +25022,8 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25018
25022
|
this.updateTextareaPosition();
|
|
25019
25023
|
}
|
|
25020
25024
|
|
|
25021
|
-
/**
|
|
25022
|
-
* Copies selected text
|
|
25025
|
+
/**
|
|
25026
|
+
* Copies selected text
|
|
25023
25027
|
*/
|
|
25024
25028
|
copy() {
|
|
25025
25029
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -25038,19 +25042,19 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25038
25042
|
this._copyDone = true;
|
|
25039
25043
|
}
|
|
25040
25044
|
|
|
25041
|
-
/**
|
|
25042
|
-
* Pastes text
|
|
25045
|
+
/**
|
|
25046
|
+
* Pastes text
|
|
25043
25047
|
*/
|
|
25044
25048
|
paste() {
|
|
25045
25049
|
this.fromPaste = true;
|
|
25046
25050
|
}
|
|
25047
25051
|
|
|
25048
|
-
/**
|
|
25049
|
-
* Finds the width in pixels before the cursor on the same line
|
|
25050
|
-
* @private
|
|
25051
|
-
* @param {Number} lineIndex
|
|
25052
|
-
* @param {Number} charIndex
|
|
25053
|
-
* @return {Number} widthBeforeCursor width before cursor
|
|
25052
|
+
/**
|
|
25053
|
+
* Finds the width in pixels before the cursor on the same line
|
|
25054
|
+
* @private
|
|
25055
|
+
* @param {Number} lineIndex
|
|
25056
|
+
* @param {Number} charIndex
|
|
25057
|
+
* @return {Number} widthBeforeCursor width before cursor
|
|
25054
25058
|
*/
|
|
25055
25059
|
_getWidthBeforeCursor(lineIndex, charIndex) {
|
|
25056
25060
|
let widthBeforeCursor = this._getLineLeftOffset(lineIndex),
|
|
@@ -25062,11 +25066,11 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25062
25066
|
return widthBeforeCursor;
|
|
25063
25067
|
}
|
|
25064
25068
|
|
|
25065
|
-
/**
|
|
25066
|
-
* Gets start offset of a selection
|
|
25067
|
-
* @param {KeyboardEvent} e Event object
|
|
25068
|
-
* @param {Boolean} isRight
|
|
25069
|
-
* @return {Number}
|
|
25069
|
+
/**
|
|
25070
|
+
* Gets start offset of a selection
|
|
25071
|
+
* @param {KeyboardEvent} e Event object
|
|
25072
|
+
* @param {Boolean} isRight
|
|
25073
|
+
* @return {Number}
|
|
25070
25074
|
*/
|
|
25071
25075
|
getDownCursorOffset(e, isRight) {
|
|
25072
25076
|
const selectionProp = this._getSelectionForOffset(e, isRight),
|
|
@@ -25084,12 +25088,12 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25084
25088
|
return textAfterCursor.length + indexOnOtherLine + 1 + this.missingNewlineOffset(lineIndex);
|
|
25085
25089
|
}
|
|
25086
25090
|
|
|
25087
|
-
/**
|
|
25088
|
-
* private
|
|
25089
|
-
* Helps finding if the offset should be counted from Start or End
|
|
25090
|
-
* @param {KeyboardEvent} e Event object
|
|
25091
|
-
* @param {Boolean} isRight
|
|
25092
|
-
* @return {Number}
|
|
25091
|
+
/**
|
|
25092
|
+
* private
|
|
25093
|
+
* Helps finding if the offset should be counted from Start or End
|
|
25094
|
+
* @param {KeyboardEvent} e Event object
|
|
25095
|
+
* @param {Boolean} isRight
|
|
25096
|
+
* @return {Number}
|
|
25093
25097
|
*/
|
|
25094
25098
|
_getSelectionForOffset(e, isRight) {
|
|
25095
25099
|
if (e.shiftKey && this.selectionStart !== this.selectionEnd && isRight) {
|
|
@@ -25099,10 +25103,10 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25099
25103
|
}
|
|
25100
25104
|
}
|
|
25101
25105
|
|
|
25102
|
-
/**
|
|
25103
|
-
* @param {KeyboardEvent} e Event object
|
|
25104
|
-
* @param {Boolean} isRight
|
|
25105
|
-
* @return {Number}
|
|
25106
|
+
/**
|
|
25107
|
+
* @param {KeyboardEvent} e Event object
|
|
25108
|
+
* @param {Boolean} isRight
|
|
25109
|
+
* @return {Number}
|
|
25106
25110
|
*/
|
|
25107
25111
|
getUpCursorOffset(e, isRight) {
|
|
25108
25112
|
const selectionProp = this._getSelectionForOffset(e, isRight),
|
|
@@ -25121,9 +25125,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25121
25125
|
return -this._textLines[lineIndex - 1].length + indexOnOtherLine - textBeforeCursor.length + (1 - missingNewlineOffset);
|
|
25122
25126
|
}
|
|
25123
25127
|
|
|
25124
|
-
/**
|
|
25125
|
-
* for a given width it founds the matching character.
|
|
25126
|
-
* @private
|
|
25128
|
+
/**
|
|
25129
|
+
* for a given width it founds the matching character.
|
|
25130
|
+
* @private
|
|
25127
25131
|
*/
|
|
25128
25132
|
_getIndexOnLine(lineIndex, width) {
|
|
25129
25133
|
const line = this._textLines[lineIndex],
|
|
@@ -25153,9 +25157,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25153
25157
|
return indexOnLine;
|
|
25154
25158
|
}
|
|
25155
25159
|
|
|
25156
|
-
/**
|
|
25157
|
-
* Moves cursor down
|
|
25158
|
-
* @param {KeyboardEvent} e Event object
|
|
25160
|
+
/**
|
|
25161
|
+
* Moves cursor down
|
|
25162
|
+
* @param {KeyboardEvent} e Event object
|
|
25159
25163
|
*/
|
|
25160
25164
|
moveCursorDown(e) {
|
|
25161
25165
|
if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
|
|
@@ -25164,9 +25168,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25164
25168
|
this._moveCursorUpOrDown('Down', e);
|
|
25165
25169
|
}
|
|
25166
25170
|
|
|
25167
|
-
/**
|
|
25168
|
-
* Moves cursor up
|
|
25169
|
-
* @param {KeyboardEvent} e Event object
|
|
25171
|
+
/**
|
|
25172
|
+
* Moves cursor up
|
|
25173
|
+
* @param {KeyboardEvent} e Event object
|
|
25170
25174
|
*/
|
|
25171
25175
|
moveCursorUp(e) {
|
|
25172
25176
|
if (this.selectionStart === 0 && this.selectionEnd === 0) {
|
|
@@ -25175,10 +25179,10 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25175
25179
|
this._moveCursorUpOrDown('Up', e);
|
|
25176
25180
|
}
|
|
25177
25181
|
|
|
25178
|
-
/**
|
|
25179
|
-
* Moves cursor up or down, fires the events
|
|
25180
|
-
* @param {String} direction 'Up' or 'Down'
|
|
25181
|
-
* @param {KeyboardEvent} e Event object
|
|
25182
|
+
/**
|
|
25183
|
+
* Moves cursor up or down, fires the events
|
|
25184
|
+
* @param {String} direction 'Up' or 'Down'
|
|
25185
|
+
* @param {KeyboardEvent} e Event object
|
|
25182
25186
|
*/
|
|
25183
25187
|
_moveCursorUpOrDown(direction, e) {
|
|
25184
25188
|
const offset = this[`get${direction}CursorOffset`](e, this._selectionDirection === RIGHT);
|
|
@@ -25200,9 +25204,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25200
25204
|
}
|
|
25201
25205
|
}
|
|
25202
25206
|
|
|
25203
|
-
/**
|
|
25204
|
-
* Moves cursor with shift
|
|
25205
|
-
* @param {Number} offset
|
|
25207
|
+
/**
|
|
25208
|
+
* Moves cursor with shift
|
|
25209
|
+
* @param {Number} offset
|
|
25206
25210
|
*/
|
|
25207
25211
|
moveCursorWithShift(offset) {
|
|
25208
25212
|
const newSelection = this._selectionDirection === LEFT ? this.selectionStart + offset : this.selectionEnd + offset;
|
|
@@ -25210,9 +25214,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25210
25214
|
return offset !== 0;
|
|
25211
25215
|
}
|
|
25212
25216
|
|
|
25213
|
-
/**
|
|
25214
|
-
* Moves cursor up without shift
|
|
25215
|
-
* @param {Number} offset
|
|
25217
|
+
/**
|
|
25218
|
+
* Moves cursor up without shift
|
|
25219
|
+
* @param {Number} offset
|
|
25216
25220
|
*/
|
|
25217
25221
|
moveCursorWithoutShift(offset) {
|
|
25218
25222
|
if (offset < 0) {
|
|
@@ -25225,9 +25229,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25225
25229
|
return offset !== 0;
|
|
25226
25230
|
}
|
|
25227
25231
|
|
|
25228
|
-
/**
|
|
25229
|
-
* Moves cursor left
|
|
25230
|
-
* @param {KeyboardEvent} e Event object
|
|
25232
|
+
/**
|
|
25233
|
+
* Moves cursor left
|
|
25234
|
+
* @param {KeyboardEvent} e Event object
|
|
25231
25235
|
*/
|
|
25232
25236
|
moveCursorLeft(e) {
|
|
25233
25237
|
if (this.selectionStart === 0 && this.selectionEnd === 0) {
|
|
@@ -25236,11 +25240,11 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25236
25240
|
this._moveCursorLeftOrRight('Left', e);
|
|
25237
25241
|
}
|
|
25238
25242
|
|
|
25239
|
-
/**
|
|
25240
|
-
* @private
|
|
25241
|
-
* @return {Boolean} true if a change happened
|
|
25242
|
-
*
|
|
25243
|
-
* @todo refactor not to use method name composition
|
|
25243
|
+
/**
|
|
25244
|
+
* @private
|
|
25245
|
+
* @return {Boolean} true if a change happened
|
|
25246
|
+
*
|
|
25247
|
+
* @todo refactor not to use method name composition
|
|
25244
25248
|
*/
|
|
25245
25249
|
_move(e, prop, direction) {
|
|
25246
25250
|
let newValue;
|
|
@@ -25259,23 +25263,23 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25259
25263
|
return false;
|
|
25260
25264
|
}
|
|
25261
25265
|
|
|
25262
|
-
/**
|
|
25263
|
-
* @private
|
|
25266
|
+
/**
|
|
25267
|
+
* @private
|
|
25264
25268
|
*/
|
|
25265
25269
|
_moveLeft(e, prop) {
|
|
25266
25270
|
return this._move(e, prop, 'Left');
|
|
25267
25271
|
}
|
|
25268
25272
|
|
|
25269
|
-
/**
|
|
25270
|
-
* @private
|
|
25273
|
+
/**
|
|
25274
|
+
* @private
|
|
25271
25275
|
*/
|
|
25272
25276
|
_moveRight(e, prop) {
|
|
25273
25277
|
return this._move(e, prop, 'Right');
|
|
25274
25278
|
}
|
|
25275
25279
|
|
|
25276
|
-
/**
|
|
25277
|
-
* Moves cursor left without keeping selection
|
|
25278
|
-
* @param {KeyboardEvent} e
|
|
25280
|
+
/**
|
|
25281
|
+
* Moves cursor left without keeping selection
|
|
25282
|
+
* @param {KeyboardEvent} e
|
|
25279
25283
|
*/
|
|
25280
25284
|
moveCursorLeftWithoutShift(e) {
|
|
25281
25285
|
let change = true;
|
|
@@ -25290,9 +25294,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25290
25294
|
return change;
|
|
25291
25295
|
}
|
|
25292
25296
|
|
|
25293
|
-
/**
|
|
25294
|
-
* Moves cursor left while keeping selection
|
|
25295
|
-
* @param {KeyboardEvent} e
|
|
25297
|
+
/**
|
|
25298
|
+
* Moves cursor left while keeping selection
|
|
25299
|
+
* @param {KeyboardEvent} e
|
|
25296
25300
|
*/
|
|
25297
25301
|
moveCursorLeftWithShift(e) {
|
|
25298
25302
|
if (this._selectionDirection === RIGHT && this.selectionStart !== this.selectionEnd) {
|
|
@@ -25303,9 +25307,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25303
25307
|
}
|
|
25304
25308
|
}
|
|
25305
25309
|
|
|
25306
|
-
/**
|
|
25307
|
-
* Moves cursor right
|
|
25308
|
-
* @param {KeyboardEvent} e Event object
|
|
25310
|
+
/**
|
|
25311
|
+
* Moves cursor right
|
|
25312
|
+
* @param {KeyboardEvent} e Event object
|
|
25309
25313
|
*/
|
|
25310
25314
|
moveCursorRight(e) {
|
|
25311
25315
|
if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
|
|
@@ -25314,10 +25318,10 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25314
25318
|
this._moveCursorLeftOrRight('Right', e);
|
|
25315
25319
|
}
|
|
25316
25320
|
|
|
25317
|
-
/**
|
|
25318
|
-
* Moves cursor right or Left, fires event
|
|
25319
|
-
* @param {String} direction 'Left', 'Right'
|
|
25320
|
-
* @param {KeyboardEvent} e Event object
|
|
25321
|
+
/**
|
|
25322
|
+
* Moves cursor right or Left, fires event
|
|
25323
|
+
* @param {String} direction 'Left', 'Right'
|
|
25324
|
+
* @param {KeyboardEvent} e Event object
|
|
25321
25325
|
*/
|
|
25322
25326
|
_moveCursorLeftOrRight(direction, e) {
|
|
25323
25327
|
const actionName = `moveCursor${direction}${e.shiftKey ? 'WithShift' : 'WithoutShift'}`;
|
|
@@ -25332,9 +25336,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25332
25336
|
}
|
|
25333
25337
|
}
|
|
25334
25338
|
|
|
25335
|
-
/**
|
|
25336
|
-
* Moves cursor right while keeping selection
|
|
25337
|
-
* @param {KeyboardEvent} e
|
|
25339
|
+
/**
|
|
25340
|
+
* Moves cursor right while keeping selection
|
|
25341
|
+
* @param {KeyboardEvent} e
|
|
25338
25342
|
*/
|
|
25339
25343
|
moveCursorRightWithShift(e) {
|
|
25340
25344
|
if (this._selectionDirection === LEFT && this.selectionStart !== this.selectionEnd) {
|
|
@@ -25345,9 +25349,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25345
25349
|
}
|
|
25346
25350
|
}
|
|
25347
25351
|
|
|
25348
|
-
/**
|
|
25349
|
-
* Moves cursor right without keeping selection
|
|
25350
|
-
* @param {KeyboardEvent} e Event object
|
|
25352
|
+
/**
|
|
25353
|
+
* Moves cursor right without keeping selection
|
|
25354
|
+
* @param {KeyboardEvent} e Event object
|
|
25351
25355
|
*/
|
|
25352
25356
|
moveCursorRightWithoutShift(e) {
|
|
25353
25357
|
let changed = true;
|
|
@@ -25362,8 +25366,8 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25362
25366
|
}
|
|
25363
25367
|
}
|
|
25364
25368
|
|
|
25365
|
-
/**
|
|
25366
|
-
* `LEFT_CLICK === 0`
|
|
25369
|
+
/**
|
|
25370
|
+
* `LEFT_CLICK === 0`
|
|
25367
25371
|
*/
|
|
25368
25372
|
const notALeftClick = e => !!e.button;
|
|
25369
25373
|
class ITextClickBehavior extends ITextKeyBehavior {
|
|
@@ -25381,36 +25385,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25381
25385
|
super.initBehavior();
|
|
25382
25386
|
}
|
|
25383
25387
|
|
|
25384
|
-
/**
|
|
25385
|
-
* If this method returns true a mouse move operation over a text selection
|
|
25386
|
-
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25387
|
-
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25388
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25389
|
-
* @returns
|
|
25388
|
+
/**
|
|
25389
|
+
* If this method returns true a mouse move operation over a text selection
|
|
25390
|
+
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25391
|
+
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25392
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25393
|
+
* @returns
|
|
25390
25394
|
*/
|
|
25391
25395
|
shouldStartDragging() {
|
|
25392
25396
|
return this.draggableTextDelegate.isActive();
|
|
25393
25397
|
}
|
|
25394
25398
|
|
|
25395
|
-
/**
|
|
25396
|
-
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25397
|
-
* @see also {@link DraggableTextDelegate#isActive}
|
|
25398
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25399
|
-
* @returns {boolean} should handle event
|
|
25399
|
+
/**
|
|
25400
|
+
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25401
|
+
* @see also {@link DraggableTextDelegate#isActive}
|
|
25402
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25403
|
+
* @returns {boolean} should handle event
|
|
25400
25404
|
*/
|
|
25401
25405
|
onDragStart(e) {
|
|
25402
25406
|
return this.draggableTextDelegate.onDragStart(e);
|
|
25403
25407
|
}
|
|
25404
25408
|
|
|
25405
|
-
/**
|
|
25406
|
-
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25409
|
+
/**
|
|
25410
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25407
25411
|
*/
|
|
25408
25412
|
canDrop(e) {
|
|
25409
25413
|
return this.draggableTextDelegate.canDrop(e);
|
|
25410
25414
|
}
|
|
25411
25415
|
|
|
25412
|
-
/**
|
|
25413
|
-
* Default handler for double click, select a word or enter overlay editing
|
|
25416
|
+
/**
|
|
25417
|
+
* Default handler for double click, select a word or enter overlay editing
|
|
25414
25418
|
*/
|
|
25415
25419
|
doubleClickHandler(options) {
|
|
25416
25420
|
// Check if we should enter overlay editing mode
|
|
@@ -25427,8 +25431,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25427
25431
|
this.renderCursorOrSelection();
|
|
25428
25432
|
}
|
|
25429
25433
|
|
|
25430
|
-
/**
|
|
25431
|
-
* Default handler for triple click, select a line
|
|
25434
|
+
/**
|
|
25435
|
+
* Default handler for triple click, select a line
|
|
25432
25436
|
*/
|
|
25433
25437
|
tripleClickHandler(options) {
|
|
25434
25438
|
if (!this.isEditing) {
|
|
@@ -25438,13 +25442,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25438
25442
|
this.renderCursorOrSelection();
|
|
25439
25443
|
}
|
|
25440
25444
|
|
|
25441
|
-
/**
|
|
25442
|
-
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25443
|
-
* can be overridden to do something different.
|
|
25444
|
-
* Scope of this implementation is: find the click position, set selectionStart
|
|
25445
|
-
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25446
|
-
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25447
|
-
* current compositionMode. It will be set to false.
|
|
25445
|
+
/**
|
|
25446
|
+
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25447
|
+
* can be overridden to do something different.
|
|
25448
|
+
* Scope of this implementation is: find the click position, set selectionStart
|
|
25449
|
+
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25450
|
+
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25451
|
+
* current compositionMode. It will be set to false.
|
|
25448
25452
|
*/
|
|
25449
25453
|
_mouseDownHandler(_ref) {
|
|
25450
25454
|
let {
|
|
@@ -25472,9 +25476,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25472
25476
|
this.selected || (this.selected = alreadySelected || this.isEditing);
|
|
25473
25477
|
}
|
|
25474
25478
|
|
|
25475
|
-
/**
|
|
25476
|
-
* standard handler for mouse up, overridable
|
|
25477
|
-
* @private
|
|
25479
|
+
/**
|
|
25480
|
+
* standard handler for mouse up, overridable
|
|
25481
|
+
* @private
|
|
25478
25482
|
*/
|
|
25479
25483
|
mouseUpHandler(_ref2) {
|
|
25480
25484
|
let {
|
|
@@ -25505,9 +25509,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25505
25509
|
}
|
|
25506
25510
|
}
|
|
25507
25511
|
|
|
25508
|
-
/**
|
|
25509
|
-
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25510
|
-
* @param {TPointerEvent} e Event object
|
|
25512
|
+
/**
|
|
25513
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25514
|
+
* @param {TPointerEvent} e Event object
|
|
25511
25515
|
*/
|
|
25512
25516
|
setCursorByClick(e) {
|
|
25513
25517
|
const newSelection = this.getSelectionStartFromPointer(e),
|
|
@@ -25525,10 +25529,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25525
25529
|
}
|
|
25526
25530
|
}
|
|
25527
25531
|
|
|
25528
|
-
/**
|
|
25529
|
-
* Returns index of a character corresponding to where an object was clicked
|
|
25530
|
-
* @param {TPointerEvent} e Event object
|
|
25531
|
-
* @return {Number} Index of a character
|
|
25532
|
+
/**
|
|
25533
|
+
* Returns index of a character corresponding to where an object was clicked
|
|
25534
|
+
* @param {TPointerEvent} e Event object
|
|
25535
|
+
* @return {Number} Index of a character
|
|
25532
25536
|
*/
|
|
25533
25537
|
getSelectionStartFromPointer(e) {
|
|
25534
25538
|
const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
|
|
@@ -25574,15 +25578,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25574
25578
|
}
|
|
25575
25579
|
}
|
|
25576
25580
|
|
|
25577
|
-
/**
|
|
25578
|
-
* Hit Testing and Cursor Positioning System
|
|
25579
|
-
*
|
|
25580
|
-
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25581
|
-
* for interactive text editing with grapheme-aware boundaries.
|
|
25581
|
+
/**
|
|
25582
|
+
* Hit Testing and Cursor Positioning System
|
|
25583
|
+
*
|
|
25584
|
+
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25585
|
+
* for interactive text editing with grapheme-aware boundaries.
|
|
25582
25586
|
*/
|
|
25583
25587
|
|
|
25584
|
-
/**
|
|
25585
|
-
* Hit test a point against laid out text to find insertion position
|
|
25588
|
+
/**
|
|
25589
|
+
* Hit test a point against laid out text to find insertion position
|
|
25586
25590
|
*/
|
|
25587
25591
|
function hitTest(x, y, layout, options) {
|
|
25588
25592
|
if (layout.lines.length === 0) {
|
|
@@ -25626,8 +25630,8 @@ function hitTest(x, y, layout, options) {
|
|
|
25626
25630
|
};
|
|
25627
25631
|
}
|
|
25628
25632
|
|
|
25629
|
-
/**
|
|
25630
|
-
* Get cursor rectangle for a given insertion index
|
|
25633
|
+
/**
|
|
25634
|
+
* Get cursor rectangle for a given insertion index
|
|
25631
25635
|
*/
|
|
25632
25636
|
function getCursorRect(insertionIndex, layout, options) {
|
|
25633
25637
|
if (layout.lines.length === 0) {
|
|
@@ -25674,8 +25678,8 @@ function getCursorRect(insertionIndex, layout, options) {
|
|
|
25674
25678
|
|
|
25675
25679
|
// Private helper functions
|
|
25676
25680
|
|
|
25677
|
-
/**
|
|
25678
|
-
* Find which line contains the given Y coordinate
|
|
25681
|
+
/**
|
|
25682
|
+
* Find which line contains the given Y coordinate
|
|
25679
25683
|
*/
|
|
25680
25684
|
function findLineAtY(y, lines) {
|
|
25681
25685
|
var _lines;
|
|
@@ -25698,8 +25702,8 @@ function findLineAtY(y, lines) {
|
|
|
25698
25702
|
};
|
|
25699
25703
|
}
|
|
25700
25704
|
|
|
25701
|
-
/**
|
|
25702
|
-
* Find character position within a line at given X coordinate
|
|
25705
|
+
/**
|
|
25706
|
+
* Find character position within a line at given X coordinate
|
|
25703
25707
|
*/
|
|
25704
25708
|
function findCharAtX(x, line, options) {
|
|
25705
25709
|
if (line.bounds.length === 0) {
|
|
@@ -25805,8 +25809,8 @@ function findCharAtX(x, line, options) {
|
|
|
25805
25809
|
};
|
|
25806
25810
|
}
|
|
25807
25811
|
|
|
25808
|
-
/**
|
|
25809
|
-
* Calculate total insertion index from line and character indices
|
|
25812
|
+
/**
|
|
25813
|
+
* Calculate total insertion index from line and character indices
|
|
25810
25814
|
*/
|
|
25811
25815
|
function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
25812
25816
|
let insertionIndex = 0;
|
|
@@ -25825,8 +25829,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
|
25825
25829
|
return insertionIndex;
|
|
25826
25830
|
}
|
|
25827
25831
|
|
|
25828
|
-
/**
|
|
25829
|
-
* Find line and grapheme position from insertion index
|
|
25832
|
+
/**
|
|
25833
|
+
* Find line and grapheme position from insertion index
|
|
25830
25834
|
*/
|
|
25831
25835
|
function findPositionFromIndex(insertionIndex, layout) {
|
|
25832
25836
|
let currentIndex = 0;
|
|
@@ -25868,8 +25872,8 @@ function findPositionFromIndex(insertionIndex, layout) {
|
|
|
25868
25872
|
};
|
|
25869
25873
|
}
|
|
25870
25874
|
|
|
25871
|
-
/**
|
|
25872
|
-
* Calculate Y position of a line
|
|
25875
|
+
/**
|
|
25876
|
+
* Calculate Y position of a line
|
|
25873
25877
|
*/
|
|
25874
25878
|
function calculateLineY(lineIndex, layout, options) {
|
|
25875
25879
|
let y = 0;
|
|
@@ -25972,48 +25976,48 @@ const iTextDefaultValues = {
|
|
|
25972
25976
|
|
|
25973
25977
|
// @TODO this is not complete
|
|
25974
25978
|
|
|
25975
|
-
/**
|
|
25976
|
-
* @fires changed
|
|
25977
|
-
* @fires selection:changed
|
|
25978
|
-
* @fires editing:entered
|
|
25979
|
-
* @fires editing:exited
|
|
25980
|
-
* @fires dragstart
|
|
25981
|
-
* @fires drag drag event firing on the drag source
|
|
25982
|
-
* @fires dragend
|
|
25983
|
-
* @fires copy
|
|
25984
|
-
* @fires cut
|
|
25985
|
-
* @fires paste
|
|
25986
|
-
*
|
|
25987
|
-
* #### Supported key combinations
|
|
25988
|
-
* ```
|
|
25989
|
-
* Move cursor: left, right, up, down
|
|
25990
|
-
* Select character: shift + left, shift + right
|
|
25991
|
-
* Select text vertically: shift + up, shift + down
|
|
25992
|
-
* Move cursor by word: alt + left, alt + right
|
|
25993
|
-
* Select words: shift + alt + left, shift + alt + right
|
|
25994
|
-
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25995
|
-
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25996
|
-
* Jump to start/end of text: cmd + up, cmd + down
|
|
25997
|
-
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25998
|
-
* Delete character: backspace
|
|
25999
|
-
* Delete word: alt + backspace
|
|
26000
|
-
* Delete line: cmd + backspace
|
|
26001
|
-
* Forward delete: delete
|
|
26002
|
-
* Copy text: ctrl/cmd + c
|
|
26003
|
-
* Paste text: ctrl/cmd + v
|
|
26004
|
-
* Cut text: ctrl/cmd + x
|
|
26005
|
-
* Select entire text: ctrl/cmd + a
|
|
26006
|
-
* Quit editing tab or esc
|
|
26007
|
-
* ```
|
|
26008
|
-
*
|
|
26009
|
-
* #### Supported mouse/touch combination
|
|
26010
|
-
* ```
|
|
26011
|
-
* Position cursor: click/touch
|
|
26012
|
-
* Create selection: click/touch & drag
|
|
26013
|
-
* Create selection: click & shift + click
|
|
26014
|
-
* Select word: double click
|
|
26015
|
-
* Select line: triple click
|
|
26016
|
-
* ```
|
|
25979
|
+
/**
|
|
25980
|
+
* @fires changed
|
|
25981
|
+
* @fires selection:changed
|
|
25982
|
+
* @fires editing:entered
|
|
25983
|
+
* @fires editing:exited
|
|
25984
|
+
* @fires dragstart
|
|
25985
|
+
* @fires drag drag event firing on the drag source
|
|
25986
|
+
* @fires dragend
|
|
25987
|
+
* @fires copy
|
|
25988
|
+
* @fires cut
|
|
25989
|
+
* @fires paste
|
|
25990
|
+
*
|
|
25991
|
+
* #### Supported key combinations
|
|
25992
|
+
* ```
|
|
25993
|
+
* Move cursor: left, right, up, down
|
|
25994
|
+
* Select character: shift + left, shift + right
|
|
25995
|
+
* Select text vertically: shift + up, shift + down
|
|
25996
|
+
* Move cursor by word: alt + left, alt + right
|
|
25997
|
+
* Select words: shift + alt + left, shift + alt + right
|
|
25998
|
+
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25999
|
+
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
26000
|
+
* Jump to start/end of text: cmd + up, cmd + down
|
|
26001
|
+
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
26002
|
+
* Delete character: backspace
|
|
26003
|
+
* Delete word: alt + backspace
|
|
26004
|
+
* Delete line: cmd + backspace
|
|
26005
|
+
* Forward delete: delete
|
|
26006
|
+
* Copy text: ctrl/cmd + c
|
|
26007
|
+
* Paste text: ctrl/cmd + v
|
|
26008
|
+
* Cut text: ctrl/cmd + x
|
|
26009
|
+
* Select entire text: ctrl/cmd + a
|
|
26010
|
+
* Quit editing tab or esc
|
|
26011
|
+
* ```
|
|
26012
|
+
*
|
|
26013
|
+
* #### Supported mouse/touch combination
|
|
26014
|
+
* ```
|
|
26015
|
+
* Position cursor: click/touch
|
|
26016
|
+
* Create selection: click/touch & drag
|
|
26017
|
+
* Create selection: click & shift + click
|
|
26018
|
+
* Select word: double click
|
|
26019
|
+
* Select line: triple click
|
|
26020
|
+
* ```
|
|
26017
26021
|
*/
|
|
26018
26022
|
class IText extends ITextClickBehavior {
|
|
26019
26023
|
static getDefaults() {
|
|
@@ -26028,10 +26032,10 @@ class IText extends ITextClickBehavior {
|
|
|
26028
26032
|
return type === 'itext' ? 'i-text' : type;
|
|
26029
26033
|
}
|
|
26030
26034
|
|
|
26031
|
-
/**
|
|
26032
|
-
* Constructor
|
|
26033
|
-
* @param {String} text Text string
|
|
26034
|
-
* @param {Object} [options] Options object
|
|
26035
|
+
/**
|
|
26036
|
+
* Constructor
|
|
26037
|
+
* @param {String} text Text string
|
|
26038
|
+
* @param {Object} [options] Options object
|
|
26035
26039
|
*/
|
|
26036
26040
|
constructor(text, options) {
|
|
26037
26041
|
super(text, {
|
|
@@ -26041,11 +26045,11 @@ class IText extends ITextClickBehavior {
|
|
|
26041
26045
|
this.initBehavior();
|
|
26042
26046
|
}
|
|
26043
26047
|
|
|
26044
|
-
/**
|
|
26045
|
-
* While editing handle differently
|
|
26046
|
-
* @private
|
|
26047
|
-
* @param {string} key
|
|
26048
|
-
* @param {*} value
|
|
26048
|
+
/**
|
|
26049
|
+
* While editing handle differently
|
|
26050
|
+
* @private
|
|
26051
|
+
* @param {string} key
|
|
26052
|
+
* @param {*} value
|
|
26049
26053
|
*/
|
|
26050
26054
|
_set(key, value) {
|
|
26051
26055
|
if (this.isEditing && this._savedProps && key in this._savedProps) {
|
|
@@ -26060,28 +26064,28 @@ class IText extends ITextClickBehavior {
|
|
|
26060
26064
|
return super._set(key, value);
|
|
26061
26065
|
}
|
|
26062
26066
|
|
|
26063
|
-
/**
|
|
26064
|
-
* Sets selection start (left boundary of a selection)
|
|
26065
|
-
* @param {Number} index Index to set selection start to
|
|
26067
|
+
/**
|
|
26068
|
+
* Sets selection start (left boundary of a selection)
|
|
26069
|
+
* @param {Number} index Index to set selection start to
|
|
26066
26070
|
*/
|
|
26067
26071
|
setSelectionStart(index) {
|
|
26068
26072
|
index = Math.max(index, 0);
|
|
26069
26073
|
this._updateAndFire('selectionStart', index);
|
|
26070
26074
|
}
|
|
26071
26075
|
|
|
26072
|
-
/**
|
|
26073
|
-
* Sets selection end (right boundary of a selection)
|
|
26074
|
-
* @param {Number} index Index to set selection end to
|
|
26076
|
+
/**
|
|
26077
|
+
* Sets selection end (right boundary of a selection)
|
|
26078
|
+
* @param {Number} index Index to set selection end to
|
|
26075
26079
|
*/
|
|
26076
26080
|
setSelectionEnd(index) {
|
|
26077
26081
|
index = Math.min(index, this.text.length);
|
|
26078
26082
|
this._updateAndFire('selectionEnd', index);
|
|
26079
26083
|
}
|
|
26080
26084
|
|
|
26081
|
-
/**
|
|
26082
|
-
* @private
|
|
26083
|
-
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26084
|
-
* @param {Number} index new position of property
|
|
26085
|
+
/**
|
|
26086
|
+
* @private
|
|
26087
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26088
|
+
* @param {Number} index new position of property
|
|
26085
26089
|
*/
|
|
26086
26090
|
_updateAndFire(property, index) {
|
|
26087
26091
|
if (this[property] !== index) {
|
|
@@ -26091,9 +26095,9 @@ class IText extends ITextClickBehavior {
|
|
|
26091
26095
|
this._updateTextarea();
|
|
26092
26096
|
}
|
|
26093
26097
|
|
|
26094
|
-
/**
|
|
26095
|
-
* Fires the even of selection changed
|
|
26096
|
-
* @private
|
|
26098
|
+
/**
|
|
26099
|
+
* Fires the even of selection changed
|
|
26100
|
+
* @private
|
|
26097
26101
|
*/
|
|
26098
26102
|
_fireSelectionChanged() {
|
|
26099
26103
|
this.fire('selection:changed');
|
|
@@ -26102,25 +26106,25 @@ class IText extends ITextClickBehavior {
|
|
|
26102
26106
|
});
|
|
26103
26107
|
}
|
|
26104
26108
|
|
|
26105
|
-
/**
|
|
26106
|
-
* Initialize text dimensions. Render all text on given context
|
|
26107
|
-
* or on a offscreen canvas to get the text width with measureText.
|
|
26108
|
-
* Updates this.width and this.height with the proper values.
|
|
26109
|
-
* Does not return dimensions.
|
|
26110
|
-
* @private
|
|
26109
|
+
/**
|
|
26110
|
+
* Initialize text dimensions. Render all text on given context
|
|
26111
|
+
* or on a offscreen canvas to get the text width with measureText.
|
|
26112
|
+
* Updates this.width and this.height with the proper values.
|
|
26113
|
+
* Does not return dimensions.
|
|
26114
|
+
* @private
|
|
26111
26115
|
*/
|
|
26112
26116
|
initDimensions() {
|
|
26113
26117
|
this.isEditing && this.initDelayedCursor();
|
|
26114
26118
|
super.initDimensions();
|
|
26115
26119
|
}
|
|
26116
26120
|
|
|
26117
|
-
/**
|
|
26118
|
-
* Gets style of a current selection/cursor (at the start position)
|
|
26119
|
-
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26120
|
-
* @param {Number} startIndex Start index to get styles at
|
|
26121
|
-
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26122
|
-
* @param {Boolean} [complete] get full style or not
|
|
26123
|
-
* @return {Array} styles an array with one, zero or more Style objects
|
|
26121
|
+
/**
|
|
26122
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
26123
|
+
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26124
|
+
* @param {Number} startIndex Start index to get styles at
|
|
26125
|
+
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26126
|
+
* @param {Boolean} [complete] get full style or not
|
|
26127
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
26124
26128
|
*/
|
|
26125
26129
|
getSelectionStyles() {
|
|
26126
26130
|
let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
|
|
@@ -26129,11 +26133,11 @@ class IText extends ITextClickBehavior {
|
|
|
26129
26133
|
return super.getSelectionStyles(startIndex, endIndex, complete);
|
|
26130
26134
|
}
|
|
26131
26135
|
|
|
26132
|
-
/**
|
|
26133
|
-
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26134
|
-
* @param {Object} [styles] Styles object
|
|
26135
|
-
* @param {Number} [startIndex] Start index to get styles at
|
|
26136
|
-
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26136
|
+
/**
|
|
26137
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26138
|
+
* @param {Object} [styles] Styles object
|
|
26139
|
+
* @param {Number} [startIndex] Start index to get styles at
|
|
26140
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26137
26141
|
*/
|
|
26138
26142
|
setSelectionStyles(styles) {
|
|
26139
26143
|
let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
|
|
@@ -26141,10 +26145,10 @@ class IText extends ITextClickBehavior {
|
|
|
26141
26145
|
return super.setSelectionStyles(styles, startIndex, endIndex);
|
|
26142
26146
|
}
|
|
26143
26147
|
|
|
26144
|
-
/**
|
|
26145
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26146
|
-
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26147
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
26148
|
+
/**
|
|
26149
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26150
|
+
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26151
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
26148
26152
|
*/
|
|
26149
26153
|
get2DCursorLocation() {
|
|
26150
26154
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26152,9 +26156,9 @@ class IText extends ITextClickBehavior {
|
|
|
26152
26156
|
return super.get2DCursorLocation(selectionStart, skipWrapping);
|
|
26153
26157
|
}
|
|
26154
26158
|
|
|
26155
|
-
/**
|
|
26156
|
-
* @private
|
|
26157
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26159
|
+
/**
|
|
26160
|
+
* @private
|
|
26161
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26158
26162
|
*/
|
|
26159
26163
|
render(ctx) {
|
|
26160
26164
|
super.render(ctx);
|
|
@@ -26164,9 +26168,9 @@ class IText extends ITextClickBehavior {
|
|
|
26164
26168
|
this.renderCursorOrSelection();
|
|
26165
26169
|
}
|
|
26166
26170
|
|
|
26167
|
-
/**
|
|
26168
|
-
* @override block cursor/selection logic while rendering the exported canvas
|
|
26169
|
-
* @todo this workaround should be replaced with a more robust solution
|
|
26171
|
+
/**
|
|
26172
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
26173
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
26170
26174
|
*/
|
|
26171
26175
|
toCanvasElement(options) {
|
|
26172
26176
|
const isEditing = this.isEditing;
|
|
@@ -26176,9 +26180,9 @@ class IText extends ITextClickBehavior {
|
|
|
26176
26180
|
return canvas;
|
|
26177
26181
|
}
|
|
26178
26182
|
|
|
26179
|
-
/**
|
|
26180
|
-
* Renders cursor or selection (depending on what exists)
|
|
26181
|
-
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26183
|
+
/**
|
|
26184
|
+
* Renders cursor or selection (depending on what exists)
|
|
26185
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26182
26186
|
*/
|
|
26183
26187
|
renderCursorOrSelection() {
|
|
26184
26188
|
if (!this.isEditing || !this.canvas) {
|
|
@@ -26234,12 +26238,12 @@ class IText extends ITextClickBehavior {
|
|
|
26234
26238
|
ctx.restore();
|
|
26235
26239
|
}
|
|
26236
26240
|
|
|
26237
|
-
/**
|
|
26238
|
-
* Finds and returns an array of clip paths that are applied to the parent
|
|
26239
|
-
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26240
|
-
* traversed upwards (from the current object towards the root of the canvas),
|
|
26241
|
-
* checking each parent object for the presence of a `clipPath` that is not
|
|
26242
|
-
* absolutely positioned.
|
|
26241
|
+
/**
|
|
26242
|
+
* Finds and returns an array of clip paths that are applied to the parent
|
|
26243
|
+
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26244
|
+
* traversed upwards (from the current object towards the root of the canvas),
|
|
26245
|
+
* checking each parent object for the presence of a `clipPath` that is not
|
|
26246
|
+
* absolutely positioned.
|
|
26243
26247
|
*/
|
|
26244
26248
|
findAncestorsWithClipPath() {
|
|
26245
26249
|
const clipPathAncestors = [];
|
|
@@ -26254,13 +26258,13 @@ class IText extends ITextClickBehavior {
|
|
|
26254
26258
|
return clipPathAncestors;
|
|
26255
26259
|
}
|
|
26256
26260
|
|
|
26257
|
-
/**
|
|
26258
|
-
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26259
|
-
* left/top are left/top of entire text box
|
|
26260
|
-
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26261
|
-
* @private
|
|
26262
|
-
* @param {number} [index] index from start
|
|
26263
|
-
* @param {boolean} [skipCaching]
|
|
26261
|
+
/**
|
|
26262
|
+
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26263
|
+
* left/top are left/top of entire text box
|
|
26264
|
+
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26265
|
+
* @private
|
|
26266
|
+
* @param {number} [index] index from start
|
|
26267
|
+
* @param {boolean} [skipCaching]
|
|
26264
26268
|
*/
|
|
26265
26269
|
_getCursorBoundaries() {
|
|
26266
26270
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26274,11 +26278,11 @@ class IText extends ITextClickBehavior {
|
|
|
26274
26278
|
return this._getCursorBoundariesOriginal(index, skipCaching);
|
|
26275
26279
|
}
|
|
26276
26280
|
|
|
26277
|
-
/**
|
|
26278
|
-
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26279
|
-
* @private
|
|
26280
|
-
* @param {number} index index from start
|
|
26281
|
-
* @param {boolean} [skipCaching]
|
|
26281
|
+
/**
|
|
26282
|
+
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26283
|
+
* @private
|
|
26284
|
+
* @param {number} index index from start
|
|
26285
|
+
* @param {boolean} [skipCaching]
|
|
26282
26286
|
*/
|
|
26283
26287
|
_getCursorBoundariesOffsets(index, skipCaching) {
|
|
26284
26288
|
if (skipCaching) {
|
|
@@ -26290,9 +26294,9 @@ class IText extends ITextClickBehavior {
|
|
|
26290
26294
|
return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
|
|
26291
26295
|
}
|
|
26292
26296
|
|
|
26293
|
-
/**
|
|
26294
|
-
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26295
|
-
* @private
|
|
26297
|
+
/**
|
|
26298
|
+
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26299
|
+
* @private
|
|
26296
26300
|
*/
|
|
26297
26301
|
_getCursorBoundariesAdvanced(index) {
|
|
26298
26302
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26308,9 +26312,9 @@ class IText extends ITextClickBehavior {
|
|
|
26308
26312
|
};
|
|
26309
26313
|
}
|
|
26310
26314
|
|
|
26311
|
-
/**
|
|
26312
|
-
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26313
|
-
* @override
|
|
26315
|
+
/**
|
|
26316
|
+
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26317
|
+
* @override
|
|
26314
26318
|
*/
|
|
26315
26319
|
getSelectionStartFromPointer(e) {
|
|
26316
26320
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26324,9 +26328,9 @@ class IText extends ITextClickBehavior {
|
|
|
26324
26328
|
return Math.min(hitResult.charIndex, this._text.length);
|
|
26325
26329
|
}
|
|
26326
26330
|
|
|
26327
|
-
/**
|
|
26328
|
-
* Original cursor boundaries implementation
|
|
26329
|
-
* @private
|
|
26331
|
+
/**
|
|
26332
|
+
* Original cursor boundaries implementation
|
|
26333
|
+
* @private
|
|
26330
26334
|
*/
|
|
26331
26335
|
_getCursorBoundariesOriginal(index, skipCaching) {
|
|
26332
26336
|
const left = this._getLeftOffset(),
|
|
@@ -26340,10 +26344,10 @@ class IText extends ITextClickBehavior {
|
|
|
26340
26344
|
};
|
|
26341
26345
|
}
|
|
26342
26346
|
|
|
26343
|
-
/**
|
|
26344
|
-
* Calculates cursor left/top offset relative to instance's center point
|
|
26345
|
-
* @private
|
|
26346
|
-
* @param {number} index index from start
|
|
26347
|
+
/**
|
|
26348
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
26349
|
+
* @private
|
|
26350
|
+
* @param {number} index index from start
|
|
26347
26351
|
*/
|
|
26348
26352
|
__getCursorBoundariesOffsets(index) {
|
|
26349
26353
|
let topOffset = 0,
|
|
@@ -26377,29 +26381,29 @@ class IText extends ITextClickBehavior {
|
|
|
26377
26381
|
return boundaries;
|
|
26378
26382
|
}
|
|
26379
26383
|
|
|
26380
|
-
/**
|
|
26381
|
-
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26382
|
-
* Used for the drag/drop effect.
|
|
26383
|
-
* If contextTop is not available, do nothing.
|
|
26384
|
+
/**
|
|
26385
|
+
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26386
|
+
* Used for the drag/drop effect.
|
|
26387
|
+
* If contextTop is not available, do nothing.
|
|
26384
26388
|
*/
|
|
26385
26389
|
renderCursorAt(selectionStart) {
|
|
26386
26390
|
this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
|
|
26387
26391
|
}
|
|
26388
26392
|
|
|
26389
|
-
/**
|
|
26390
|
-
* Renders cursor
|
|
26391
|
-
* @param {Object} boundaries
|
|
26392
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26393
|
+
/**
|
|
26394
|
+
* Renders cursor
|
|
26395
|
+
* @param {Object} boundaries
|
|
26396
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26393
26397
|
*/
|
|
26394
26398
|
renderCursor(ctx, boundaries) {
|
|
26395
26399
|
this._renderCursor(ctx, boundaries, this.selectionStart);
|
|
26396
26400
|
}
|
|
26397
26401
|
|
|
26398
|
-
/**
|
|
26399
|
-
* Return the data needed to render the cursor for given selection start
|
|
26400
|
-
* The left,top are relative to the object, while width and height are prescaled
|
|
26401
|
-
* to look think with canvas zoom and object scaling,
|
|
26402
|
-
* so they depend on canvas and object scaling
|
|
26402
|
+
/**
|
|
26403
|
+
* Return the data needed to render the cursor for given selection start
|
|
26404
|
+
* The left,top are relative to the object, while width and height are prescaled
|
|
26405
|
+
* to look think with canvas zoom and object scaling,
|
|
26406
|
+
* so they depend on canvas and object scaling
|
|
26403
26407
|
*/
|
|
26404
26408
|
getCursorRenderingData() {
|
|
26405
26409
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26422,9 +26426,9 @@ class IText extends ITextClickBehavior {
|
|
|
26422
26426
|
};
|
|
26423
26427
|
}
|
|
26424
26428
|
|
|
26425
|
-
/**
|
|
26426
|
-
* Render the cursor at the given selectionStart.
|
|
26427
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26429
|
+
/**
|
|
26430
|
+
* Render the cursor at the given selectionStart.
|
|
26431
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26428
26432
|
*/
|
|
26429
26433
|
_renderCursor(ctx, boundaries, selectionStart) {
|
|
26430
26434
|
const {
|
|
@@ -26440,10 +26444,10 @@ class IText extends ITextClickBehavior {
|
|
|
26440
26444
|
ctx.fillRect(left, top, width, height);
|
|
26441
26445
|
}
|
|
26442
26446
|
|
|
26443
|
-
/**
|
|
26444
|
-
* Renders text selection
|
|
26445
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26446
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26447
|
+
/**
|
|
26448
|
+
* Renders text selection
|
|
26449
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26450
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26447
26451
|
*/
|
|
26448
26452
|
renderSelection(ctx, boundaries) {
|
|
26449
26453
|
const selection = {
|
|
@@ -26453,8 +26457,8 @@ class IText extends ITextClickBehavior {
|
|
|
26453
26457
|
this._renderSelection(ctx, selection, boundaries);
|
|
26454
26458
|
}
|
|
26455
26459
|
|
|
26456
|
-
/**
|
|
26457
|
-
* Renders drag start text selection
|
|
26460
|
+
/**
|
|
26461
|
+
* Renders drag start text selection
|
|
26458
26462
|
*/
|
|
26459
26463
|
renderDragSourceEffect() {
|
|
26460
26464
|
const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
|
|
@@ -26465,12 +26469,12 @@ class IText extends ITextClickBehavior {
|
|
|
26465
26469
|
this.renderCursorAt(dragSelection);
|
|
26466
26470
|
}
|
|
26467
26471
|
|
|
26468
|
-
/**
|
|
26469
|
-
* Renders text selection
|
|
26470
|
-
* @private
|
|
26471
|
-
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26472
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26473
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26472
|
+
/**
|
|
26473
|
+
* Renders text selection
|
|
26474
|
+
* @private
|
|
26475
|
+
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26476
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26477
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26474
26478
|
*/
|
|
26475
26479
|
_renderSelection(ctx, selection, boundaries) {
|
|
26476
26480
|
const selectionStart = selection.selectionStart,
|
|
@@ -26532,34 +26536,34 @@ class IText extends ITextClickBehavior {
|
|
|
26532
26536
|
}
|
|
26533
26537
|
}
|
|
26534
26538
|
|
|
26535
|
-
/**
|
|
26536
|
-
* High level function to know the height of the cursor.
|
|
26537
|
-
* the currentChar is the one that precedes the cursor
|
|
26538
|
-
* Returns fontSize of char at the current cursor
|
|
26539
|
-
* Unused from the library, is for the end user
|
|
26540
|
-
* @return {Number} Character font size
|
|
26539
|
+
/**
|
|
26540
|
+
* High level function to know the height of the cursor.
|
|
26541
|
+
* the currentChar is the one that precedes the cursor
|
|
26542
|
+
* Returns fontSize of char at the current cursor
|
|
26543
|
+
* Unused from the library, is for the end user
|
|
26544
|
+
* @return {Number} Character font size
|
|
26541
26545
|
*/
|
|
26542
26546
|
getCurrentCharFontSize() {
|
|
26543
26547
|
const cp = this._getCurrentCharIndex();
|
|
26544
26548
|
return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
|
|
26545
26549
|
}
|
|
26546
26550
|
|
|
26547
|
-
/**
|
|
26548
|
-
* High level function to know the color of the cursor.
|
|
26549
|
-
* the currentChar is the one that precedes the cursor
|
|
26550
|
-
* Returns color (fill) of char at the current cursor
|
|
26551
|
-
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26552
|
-
* Unused by the library, is for the end user
|
|
26553
|
-
* @return {String | TFiller} Character color (fill)
|
|
26551
|
+
/**
|
|
26552
|
+
* High level function to know the color of the cursor.
|
|
26553
|
+
* the currentChar is the one that precedes the cursor
|
|
26554
|
+
* Returns color (fill) of char at the current cursor
|
|
26555
|
+
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26556
|
+
* Unused by the library, is for the end user
|
|
26557
|
+
* @return {String | TFiller} Character color (fill)
|
|
26554
26558
|
*/
|
|
26555
26559
|
getCurrentCharColor() {
|
|
26556
26560
|
const cp = this._getCurrentCharIndex();
|
|
26557
26561
|
return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
|
|
26558
26562
|
}
|
|
26559
26563
|
|
|
26560
|
-
/**
|
|
26561
|
-
* Returns the cursor position for the getCurrent.. functions
|
|
26562
|
-
* @private
|
|
26564
|
+
/**
|
|
26565
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
26566
|
+
* @private
|
|
26563
26567
|
*/
|
|
26564
26568
|
_getCurrentCharIndex() {
|
|
26565
26569
|
const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
|
|
@@ -26575,52 +26579,52 @@ class IText extends ITextClickBehavior {
|
|
|
26575
26579
|
super.dispose();
|
|
26576
26580
|
}
|
|
26577
26581
|
}
|
|
26578
|
-
/**
|
|
26579
|
-
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26580
|
-
* @type Number
|
|
26582
|
+
/**
|
|
26583
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26584
|
+
* @type Number
|
|
26581
26585
|
*/
|
|
26582
|
-
/**
|
|
26583
|
-
* Index where text selection ends
|
|
26584
|
-
* @type Number
|
|
26586
|
+
/**
|
|
26587
|
+
* Index where text selection ends
|
|
26588
|
+
* @type Number
|
|
26585
26589
|
*/
|
|
26586
|
-
/**
|
|
26587
|
-
* Color of text selection
|
|
26588
|
-
* @type String
|
|
26590
|
+
/**
|
|
26591
|
+
* Color of text selection
|
|
26592
|
+
* @type String
|
|
26589
26593
|
*/
|
|
26590
|
-
/**
|
|
26591
|
-
* Indicates whether text is in editing mode
|
|
26592
|
-
* @type Boolean
|
|
26594
|
+
/**
|
|
26595
|
+
* Indicates whether text is in editing mode
|
|
26596
|
+
* @type Boolean
|
|
26593
26597
|
*/
|
|
26594
|
-
/**
|
|
26595
|
-
* Indicates whether a text can be edited
|
|
26596
|
-
* @type Boolean
|
|
26598
|
+
/**
|
|
26599
|
+
* Indicates whether a text can be edited
|
|
26600
|
+
* @type Boolean
|
|
26597
26601
|
*/
|
|
26598
|
-
/**
|
|
26599
|
-
* Border color of text object while it's in editing mode
|
|
26600
|
-
* @type String
|
|
26602
|
+
/**
|
|
26603
|
+
* Border color of text object while it's in editing mode
|
|
26604
|
+
* @type String
|
|
26601
26605
|
*/
|
|
26602
|
-
/**
|
|
26603
|
-
* Width of cursor (in px)
|
|
26604
|
-
* @type Number
|
|
26606
|
+
/**
|
|
26607
|
+
* Width of cursor (in px)
|
|
26608
|
+
* @type Number
|
|
26605
26609
|
*/
|
|
26606
|
-
/**
|
|
26607
|
-
* Color of text cursor color in editing mode.
|
|
26608
|
-
* if not set (default) will take color from the text.
|
|
26609
|
-
* if set to a color value that fabric can understand, it will
|
|
26610
|
-
* be used instead of the color of the text at the current position.
|
|
26611
|
-
* @type String
|
|
26610
|
+
/**
|
|
26611
|
+
* Color of text cursor color in editing mode.
|
|
26612
|
+
* if not set (default) will take color from the text.
|
|
26613
|
+
* if set to a color value that fabric can understand, it will
|
|
26614
|
+
* be used instead of the color of the text at the current position.
|
|
26615
|
+
* @type String
|
|
26612
26616
|
*/
|
|
26613
|
-
/**
|
|
26614
|
-
* Delay between cursor blink (in ms)
|
|
26615
|
-
* @type Number
|
|
26617
|
+
/**
|
|
26618
|
+
* Delay between cursor blink (in ms)
|
|
26619
|
+
* @type Number
|
|
26616
26620
|
*/
|
|
26617
|
-
/**
|
|
26618
|
-
* Duration of cursor fade in (in ms)
|
|
26619
|
-
* @type Number
|
|
26621
|
+
/**
|
|
26622
|
+
* Duration of cursor fade in (in ms)
|
|
26623
|
+
* @type Number
|
|
26620
26624
|
*/
|
|
26621
|
-
/**
|
|
26622
|
-
* Indicates whether internal text char widths can be cached
|
|
26623
|
-
* @type Boolean
|
|
26625
|
+
/**
|
|
26626
|
+
* Indicates whether internal text char widths can be cached
|
|
26627
|
+
* @type Boolean
|
|
26624
26628
|
*/
|
|
26625
26629
|
_defineProperty(IText, "ownDefaults", iTextDefaultValues);
|
|
26626
26630
|
_defineProperty(IText, "type", 'IText');
|
|
@@ -26642,11 +26646,11 @@ const textboxDefaultValues = {
|
|
|
26642
26646
|
|
|
26643
26647
|
// @TODO this is not complete
|
|
26644
26648
|
|
|
26645
|
-
/**
|
|
26646
|
-
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26647
|
-
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26648
|
-
* user can only change width. Height is adjusted automatically based on the
|
|
26649
|
-
* wrapping of lines.
|
|
26649
|
+
/**
|
|
26650
|
+
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26651
|
+
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26652
|
+
* user can only change width. Height is adjusted automatically based on the
|
|
26653
|
+
* wrapping of lines.
|
|
26650
26654
|
*/
|
|
26651
26655
|
class Textbox extends IText {
|
|
26652
26656
|
static getDefaults() {
|
|
@@ -26656,10 +26660,10 @@ class Textbox extends IText {
|
|
|
26656
26660
|
};
|
|
26657
26661
|
}
|
|
26658
26662
|
|
|
26659
|
-
/**
|
|
26660
|
-
* Constructor
|
|
26661
|
-
* @param {String} text Text string
|
|
26662
|
-
* @param {Object} [options] Options object
|
|
26663
|
+
/**
|
|
26664
|
+
* Constructor
|
|
26665
|
+
* @param {String} text Text string
|
|
26666
|
+
* @param {Object} [options] Options object
|
|
26663
26667
|
*/
|
|
26664
26668
|
constructor(text, options) {
|
|
26665
26669
|
super(text, {
|
|
@@ -26669,10 +26673,10 @@ class Textbox extends IText {
|
|
|
26669
26673
|
this.initializeEventListeners();
|
|
26670
26674
|
}
|
|
26671
26675
|
|
|
26672
|
-
/**
|
|
26673
|
-
* Creates the default control object.
|
|
26674
|
-
* If you prefer to have on instance of controls shared among all objects
|
|
26675
|
-
* make this function return an empty object and add controls to the ownDefaults object
|
|
26676
|
+
/**
|
|
26677
|
+
* Creates the default control object.
|
|
26678
|
+
* If you prefer to have on instance of controls shared among all objects
|
|
26679
|
+
* make this function return an empty object and add controls to the ownDefaults object
|
|
26676
26680
|
*/
|
|
26677
26681
|
static createControls() {
|
|
26678
26682
|
return {
|
|
@@ -26680,11 +26684,11 @@ class Textbox extends IText {
|
|
|
26680
26684
|
};
|
|
26681
26685
|
}
|
|
26682
26686
|
|
|
26683
|
-
/**
|
|
26684
|
-
* Unlike superclass's version of this function, Textbox does not update
|
|
26685
|
-
* its width.
|
|
26686
|
-
* @private
|
|
26687
|
-
* @override
|
|
26687
|
+
/**
|
|
26688
|
+
* Unlike superclass's version of this function, Textbox does not update
|
|
26689
|
+
* its width.
|
|
26690
|
+
* @private
|
|
26691
|
+
* @override
|
|
26688
26692
|
*/
|
|
26689
26693
|
initDimensions() {
|
|
26690
26694
|
if (!this.initialized) {
|
|
@@ -26828,9 +26832,9 @@ class Textbox extends IText {
|
|
|
26828
26832
|
}
|
|
26829
26833
|
}
|
|
26830
26834
|
|
|
26831
|
-
/**
|
|
26832
|
-
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26833
|
-
* @private
|
|
26835
|
+
/**
|
|
26836
|
+
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26837
|
+
* @private
|
|
26834
26838
|
*/
|
|
26835
26839
|
_scheduleJustifyAfterFontLoad() {
|
|
26836
26840
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -26857,9 +26861,9 @@ class Textbox extends IText {
|
|
|
26857
26861
|
});
|
|
26858
26862
|
}
|
|
26859
26863
|
|
|
26860
|
-
/**
|
|
26861
|
-
* Advanced dimensions calculation using new layout engine
|
|
26862
|
-
* @private
|
|
26864
|
+
/**
|
|
26865
|
+
* Advanced dimensions calculation using new layout engine
|
|
26866
|
+
* @private
|
|
26863
26867
|
*/
|
|
26864
26868
|
initDimensionsAdvanced() {
|
|
26865
26869
|
if (!this.initialized) {
|
|
@@ -26914,9 +26918,9 @@ class Textbox extends IText {
|
|
|
26914
26918
|
this.dirty = true;
|
|
26915
26919
|
}
|
|
26916
26920
|
|
|
26917
|
-
/**
|
|
26918
|
-
* Generate style map from new layout format
|
|
26919
|
-
* @private
|
|
26921
|
+
/**
|
|
26922
|
+
* Generate style map from new layout format
|
|
26923
|
+
* @private
|
|
26920
26924
|
*/
|
|
26921
26925
|
_generateStyleMapFromLayout(layout) {
|
|
26922
26926
|
const map = {};
|
|
@@ -26938,12 +26942,12 @@ class Textbox extends IText {
|
|
|
26938
26942
|
return map;
|
|
26939
26943
|
}
|
|
26940
26944
|
|
|
26941
|
-
/**
|
|
26942
|
-
* Generate an object that translates the style object so that it is
|
|
26943
|
-
* broken up by visual lines (new lines and automatic wrapping).
|
|
26944
|
-
* The original text styles object is broken up by actual lines (new lines only),
|
|
26945
|
-
* which is only sufficient for Text / IText
|
|
26946
|
-
* @private
|
|
26945
|
+
/**
|
|
26946
|
+
* Generate an object that translates the style object so that it is
|
|
26947
|
+
* broken up by visual lines (new lines and automatic wrapping).
|
|
26948
|
+
* The original text styles object is broken up by actual lines (new lines only),
|
|
26949
|
+
* which is only sufficient for Text / IText
|
|
26950
|
+
* @private
|
|
26947
26951
|
*/
|
|
26948
26952
|
_generateStyleMap(textInfo) {
|
|
26949
26953
|
let realLineCount = 0,
|
|
@@ -26970,10 +26974,10 @@ class Textbox extends IText {
|
|
|
26970
26974
|
return map;
|
|
26971
26975
|
}
|
|
26972
26976
|
|
|
26973
|
-
/**
|
|
26974
|
-
* Returns true if object has a style property or has it on a specified line
|
|
26975
|
-
* @param {Number} lineIndex
|
|
26976
|
-
* @return {Boolean}
|
|
26977
|
+
/**
|
|
26978
|
+
* Returns true if object has a style property or has it on a specified line
|
|
26979
|
+
* @param {Number} lineIndex
|
|
26980
|
+
* @return {Boolean}
|
|
26977
26981
|
*/
|
|
26978
26982
|
styleHas(property, lineIndex) {
|
|
26979
26983
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26985,10 +26989,10 @@ class Textbox extends IText {
|
|
|
26985
26989
|
return super.styleHas(property, lineIndex);
|
|
26986
26990
|
}
|
|
26987
26991
|
|
|
26988
|
-
/**
|
|
26989
|
-
* Returns true if object has no styling or no styling in a line
|
|
26990
|
-
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26991
|
-
* @return {Boolean}
|
|
26992
|
+
/**
|
|
26993
|
+
* Returns true if object has no styling or no styling in a line
|
|
26994
|
+
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26995
|
+
* @return {Boolean}
|
|
26992
26996
|
*/
|
|
26993
26997
|
isEmptyStyles(lineIndex) {
|
|
26994
26998
|
if (!this.styles) {
|
|
@@ -27025,11 +27029,11 @@ class Textbox extends IText {
|
|
|
27025
27029
|
return true;
|
|
27026
27030
|
}
|
|
27027
27031
|
|
|
27028
|
-
/**
|
|
27029
|
-
* @protected
|
|
27030
|
-
* @param {Number} lineIndex
|
|
27031
|
-
* @param {Number} charIndex
|
|
27032
|
-
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
27032
|
+
/**
|
|
27033
|
+
* @protected
|
|
27034
|
+
* @param {Number} lineIndex
|
|
27035
|
+
* @param {Number} charIndex
|
|
27036
|
+
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
27033
27037
|
*/
|
|
27034
27038
|
_getStyleDeclaration(lineIndex, charIndex) {
|
|
27035
27039
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -27043,59 +27047,59 @@ class Textbox extends IText {
|
|
|
27043
27047
|
return super._getStyleDeclaration(lineIndex, charIndex);
|
|
27044
27048
|
}
|
|
27045
27049
|
|
|
27046
|
-
/**
|
|
27047
|
-
* @param {Number} lineIndex
|
|
27048
|
-
* @param {Number} charIndex
|
|
27049
|
-
* @param {Object} style
|
|
27050
|
-
* @private
|
|
27050
|
+
/**
|
|
27051
|
+
* @param {Number} lineIndex
|
|
27052
|
+
* @param {Number} charIndex
|
|
27053
|
+
* @param {Object} style
|
|
27054
|
+
* @private
|
|
27051
27055
|
*/
|
|
27052
27056
|
_setStyleDeclaration(lineIndex, charIndex, style) {
|
|
27053
27057
|
const map = this._styleMap[lineIndex];
|
|
27054
27058
|
super._setStyleDeclaration(map.line, map.offset + charIndex, style);
|
|
27055
27059
|
}
|
|
27056
27060
|
|
|
27057
|
-
/**
|
|
27058
|
-
* @param {Number} lineIndex
|
|
27059
|
-
* @param {Number} charIndex
|
|
27060
|
-
* @private
|
|
27061
|
+
/**
|
|
27062
|
+
* @param {Number} lineIndex
|
|
27063
|
+
* @param {Number} charIndex
|
|
27064
|
+
* @private
|
|
27061
27065
|
*/
|
|
27062
27066
|
_deleteStyleDeclaration(lineIndex, charIndex) {
|
|
27063
27067
|
const map = this._styleMap[lineIndex];
|
|
27064
27068
|
super._deleteStyleDeclaration(map.line, map.offset + charIndex);
|
|
27065
27069
|
}
|
|
27066
27070
|
|
|
27067
|
-
/**
|
|
27068
|
-
* probably broken need a fix
|
|
27069
|
-
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
27070
|
-
* Used just to verify if the line does exist or not.
|
|
27071
|
-
* @param {Number} lineIndex
|
|
27072
|
-
* @returns {Boolean} if the line exists or not
|
|
27073
|
-
* @private
|
|
27071
|
+
/**
|
|
27072
|
+
* probably broken need a fix
|
|
27073
|
+
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
27074
|
+
* Used just to verify if the line does exist or not.
|
|
27075
|
+
* @param {Number} lineIndex
|
|
27076
|
+
* @returns {Boolean} if the line exists or not
|
|
27077
|
+
* @private
|
|
27074
27078
|
*/
|
|
27075
27079
|
_getLineStyle(lineIndex) {
|
|
27076
27080
|
const map = this._styleMap[lineIndex];
|
|
27077
27081
|
return !!this.styles[map.line];
|
|
27078
27082
|
}
|
|
27079
27083
|
|
|
27080
|
-
/**
|
|
27081
|
-
* Set the line style to an empty object so that is initialized
|
|
27082
|
-
* @param {Number} lineIndex
|
|
27083
|
-
* @param {Object} style
|
|
27084
|
-
* @private
|
|
27084
|
+
/**
|
|
27085
|
+
* Set the line style to an empty object so that is initialized
|
|
27086
|
+
* @param {Number} lineIndex
|
|
27087
|
+
* @param {Object} style
|
|
27088
|
+
* @private
|
|
27085
27089
|
*/
|
|
27086
27090
|
_setLineStyle(lineIndex) {
|
|
27087
27091
|
const map = this._styleMap[lineIndex];
|
|
27088
27092
|
super._setLineStyle(map.line);
|
|
27089
27093
|
}
|
|
27090
27094
|
|
|
27091
|
-
/**
|
|
27092
|
-
* Wraps text using the 'width' property of Textbox. First this function
|
|
27093
|
-
* splits text on newlines, so we preserve newlines entered by the user.
|
|
27094
|
-
* Then it wraps each line using the width of the Textbox by calling
|
|
27095
|
-
* _wrapLine().
|
|
27096
|
-
* @param {Array} lines The string array of text that is split into lines
|
|
27097
|
-
* @param {Number} desiredWidth width you want to wrap to
|
|
27098
|
-
* @returns {Array} Array of lines
|
|
27095
|
+
/**
|
|
27096
|
+
* Wraps text using the 'width' property of Textbox. First this function
|
|
27097
|
+
* splits text on newlines, so we preserve newlines entered by the user.
|
|
27098
|
+
* Then it wraps each line using the width of the Textbox by calling
|
|
27099
|
+
* _wrapLine().
|
|
27100
|
+
* @param {Array} lines The string array of text that is split into lines
|
|
27101
|
+
* @param {Number} desiredWidth width you want to wrap to
|
|
27102
|
+
* @returns {Array} Array of lines
|
|
27099
27103
|
*/
|
|
27100
27104
|
_wrapText(lines, desiredWidth) {
|
|
27101
27105
|
this.isWrapping = true;
|
|
@@ -27109,12 +27113,12 @@ class Textbox extends IText {
|
|
|
27109
27113
|
return wrapped;
|
|
27110
27114
|
}
|
|
27111
27115
|
|
|
27112
|
-
/**
|
|
27113
|
-
* For each line of text terminated by an hard line stop,
|
|
27114
|
-
* measure each word width and extract the largest word from all.
|
|
27115
|
-
* The returned words here are the one that at the end will be rendered.
|
|
27116
|
-
* @param {string[]} lines the lines we need to measure
|
|
27117
|
-
*
|
|
27116
|
+
/**
|
|
27117
|
+
* For each line of text terminated by an hard line stop,
|
|
27118
|
+
* measure each word width and extract the largest word from all.
|
|
27119
|
+
* The returned words here are the one that at the end will be rendered.
|
|
27120
|
+
* @param {string[]} lines the lines we need to measure
|
|
27121
|
+
*
|
|
27118
27122
|
*/
|
|
27119
27123
|
getGraphemeDataForRender(lines) {
|
|
27120
27124
|
const splitByGrapheme = this.splitByGrapheme,
|
|
@@ -27147,17 +27151,17 @@ class Textbox extends IText {
|
|
|
27147
27151
|
};
|
|
27148
27152
|
}
|
|
27149
27153
|
|
|
27150
|
-
/**
|
|
27151
|
-
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27152
|
-
* It gets called when charBounds are not available yet.
|
|
27153
|
-
* Override if necessary
|
|
27154
|
-
* Use with {@link Textbox#wordSplit}
|
|
27155
|
-
*
|
|
27156
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
27157
|
-
* @param {String} text
|
|
27158
|
-
* @param {number} lineIndex
|
|
27159
|
-
* @param {number} charOffset
|
|
27160
|
-
* @returns {number}
|
|
27154
|
+
/**
|
|
27155
|
+
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27156
|
+
* It gets called when charBounds are not available yet.
|
|
27157
|
+
* Override if necessary
|
|
27158
|
+
* Use with {@link Textbox#wordSplit}
|
|
27159
|
+
*
|
|
27160
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
27161
|
+
* @param {String} text
|
|
27162
|
+
* @param {number} lineIndex
|
|
27163
|
+
* @param {number} charOffset
|
|
27164
|
+
* @returns {number}
|
|
27161
27165
|
*/
|
|
27162
27166
|
_measureWord(word, lineIndex) {
|
|
27163
27167
|
let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -27172,26 +27176,26 @@ class Textbox extends IText {
|
|
|
27172
27176
|
return width;
|
|
27173
27177
|
}
|
|
27174
27178
|
|
|
27175
|
-
/**
|
|
27176
|
-
* Override this method to customize word splitting
|
|
27177
|
-
* Use with {@link Textbox#_measureWord}
|
|
27178
|
-
* @param {string} value
|
|
27179
|
-
* @returns {string[]} array of words
|
|
27179
|
+
/**
|
|
27180
|
+
* Override this method to customize word splitting
|
|
27181
|
+
* Use with {@link Textbox#_measureWord}
|
|
27182
|
+
* @param {string} value
|
|
27183
|
+
* @returns {string[]} array of words
|
|
27180
27184
|
*/
|
|
27181
27185
|
wordSplit(value) {
|
|
27182
27186
|
return value.split(this._wordJoiners);
|
|
27183
27187
|
}
|
|
27184
27188
|
|
|
27185
|
-
/**
|
|
27186
|
-
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27187
|
-
* and leveraging the known width o words from GraphemeData
|
|
27188
|
-
* @private
|
|
27189
|
-
* @param {Number} lineIndex
|
|
27190
|
-
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27191
|
-
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27192
|
-
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27193
|
-
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27194
|
-
* to.
|
|
27189
|
+
/**
|
|
27190
|
+
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27191
|
+
* and leveraging the known width o words from GraphemeData
|
|
27192
|
+
* @private
|
|
27193
|
+
* @param {Number} lineIndex
|
|
27194
|
+
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27195
|
+
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27196
|
+
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27197
|
+
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27198
|
+
* to.
|
|
27195
27199
|
*/
|
|
27196
27200
|
_wrapLine(lineIndex, desiredWidth, _ref) {
|
|
27197
27201
|
let {
|
|
@@ -27273,11 +27277,11 @@ class Textbox extends IText {
|
|
|
27273
27277
|
return graphemeLines;
|
|
27274
27278
|
}
|
|
27275
27279
|
|
|
27276
|
-
/**
|
|
27277
|
-
* Detect if the text line is ended with an hard break
|
|
27278
|
-
* text and itext do not have wrapping, return false
|
|
27279
|
-
* @param {Number} lineIndex text to split
|
|
27280
|
-
* @return {Boolean}
|
|
27280
|
+
/**
|
|
27281
|
+
* Detect if the text line is ended with an hard break
|
|
27282
|
+
* text and itext do not have wrapping, return false
|
|
27283
|
+
* @param {Number} lineIndex text to split
|
|
27284
|
+
* @return {Boolean}
|
|
27281
27285
|
*/
|
|
27282
27286
|
isEndOfWrapping(lineIndex) {
|
|
27283
27287
|
if (!this._styleMap[lineIndex + 1]) {
|
|
@@ -27291,12 +27295,12 @@ class Textbox extends IText {
|
|
|
27291
27295
|
return false;
|
|
27292
27296
|
}
|
|
27293
27297
|
|
|
27294
|
-
/**
|
|
27295
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27296
|
-
* and counting style.
|
|
27297
|
-
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27298
|
-
* If we are not wrapping the offset is always 1
|
|
27299
|
-
* @return Number
|
|
27298
|
+
/**
|
|
27299
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27300
|
+
* and counting style.
|
|
27301
|
+
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27302
|
+
* If we are not wrapping the offset is always 1
|
|
27303
|
+
* @return Number
|
|
27300
27304
|
*/
|
|
27301
27305
|
missingNewlineOffset(lineIndex, skipWrapping) {
|
|
27302
27306
|
if (this.splitByGrapheme && !skipWrapping) {
|
|
@@ -27305,12 +27309,12 @@ class Textbox extends IText {
|
|
|
27305
27309
|
return 1;
|
|
27306
27310
|
}
|
|
27307
27311
|
|
|
27308
|
-
/**
|
|
27309
|
-
* Gets lines of text to render in the Textbox. This function calculates
|
|
27310
|
-
* text wrapping on the fly every time it is called.
|
|
27311
|
-
* @param {String} text text to split
|
|
27312
|
-
* @returns {Array} Array of lines in the Textbox.
|
|
27313
|
-
* @override
|
|
27312
|
+
/**
|
|
27313
|
+
* Gets lines of text to render in the Textbox. This function calculates
|
|
27314
|
+
* text wrapping on the fly every time it is called.
|
|
27315
|
+
* @param {String} text text to split
|
|
27316
|
+
* @returns {Array} Array of lines in the Textbox.
|
|
27317
|
+
* @override
|
|
27314
27318
|
*/
|
|
27315
27319
|
_splitTextIntoLines(text) {
|
|
27316
27320
|
// Check if we need browser wrapping using smart font detection
|
|
@@ -27357,9 +27361,9 @@ class Textbox extends IText {
|
|
|
27357
27361
|
return newText;
|
|
27358
27362
|
}
|
|
27359
27363
|
|
|
27360
|
-
/**
|
|
27361
|
-
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27362
|
-
* @private
|
|
27364
|
+
/**
|
|
27365
|
+
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27366
|
+
* @private
|
|
27363
27367
|
*/
|
|
27364
27368
|
_splitTextIntoLinesWithBrowser(text) {
|
|
27365
27369
|
if (typeof document === 'undefined') {
|
|
@@ -27485,9 +27489,9 @@ class Textbox extends IText {
|
|
|
27485
27489
|
};
|
|
27486
27490
|
}
|
|
27487
27491
|
|
|
27488
|
-
/**
|
|
27489
|
-
* Extract justify space measurements from browser
|
|
27490
|
-
* @private
|
|
27492
|
+
/**
|
|
27493
|
+
* Extract justify space measurements from browser
|
|
27494
|
+
* @private
|
|
27491
27495
|
*/
|
|
27492
27496
|
_extractJustifySpaceMeasurements(element, lines) {
|
|
27493
27497
|
console.log(`🔤 Extracting browser justify space measurements for ${lines.length} lines`);
|
|
@@ -27523,9 +27527,9 @@ class Textbox extends IText {
|
|
|
27523
27527
|
return spaceWidths;
|
|
27524
27528
|
}
|
|
27525
27529
|
|
|
27526
|
-
/**
|
|
27527
|
-
* Apply browser-calculated justify space measurements
|
|
27528
|
-
* @private
|
|
27530
|
+
/**
|
|
27531
|
+
* Apply browser-calculated justify space measurements
|
|
27532
|
+
* @private
|
|
27529
27533
|
*/
|
|
27530
27534
|
_applyBrowserJustifySpaces() {
|
|
27531
27535
|
if (!this._textLines || !this.__charBounds) {
|
|
@@ -27562,9 +27566,9 @@ class Textbox extends IText {
|
|
|
27562
27566
|
});
|
|
27563
27567
|
}
|
|
27564
27568
|
|
|
27565
|
-
/**
|
|
27566
|
-
* Fallback to default Fabric wrapping
|
|
27567
|
-
* @private
|
|
27569
|
+
/**
|
|
27570
|
+
* Fallback to default Fabric wrapping
|
|
27571
|
+
* @private
|
|
27568
27572
|
*/
|
|
27569
27573
|
_splitTextIntoLinesDefault(text) {
|
|
27570
27574
|
const newText = super._splitTextIntoLines(text),
|
|
@@ -27596,9 +27600,9 @@ class Textbox extends IText {
|
|
|
27596
27600
|
}
|
|
27597
27601
|
}
|
|
27598
27602
|
|
|
27599
|
-
/**
|
|
27600
|
-
* Initialize event listeners for safety snap functionality
|
|
27601
|
-
* @private
|
|
27603
|
+
/**
|
|
27604
|
+
* Initialize event listeners for safety snap functionality
|
|
27605
|
+
* @private
|
|
27602
27606
|
*/
|
|
27603
27607
|
initializeEventListeners() {
|
|
27604
27608
|
var _this$canvas4;
|
|
@@ -27641,12 +27645,12 @@ class Textbox extends IText {
|
|
|
27641
27645
|
});
|
|
27642
27646
|
}
|
|
27643
27647
|
|
|
27644
|
-
/**
|
|
27645
|
-
* Safety snap to prevent glyph clipping after manual resize.
|
|
27646
|
-
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27647
|
-
* and automatically expands width if needed.
|
|
27648
|
-
* @private
|
|
27649
|
-
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
27648
|
+
/**
|
|
27649
|
+
* Safety snap to prevent glyph clipping after manual resize.
|
|
27650
|
+
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27651
|
+
* and automatically expands width if needed.
|
|
27652
|
+
* @private
|
|
27653
|
+
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
27650
27654
|
*/
|
|
27651
27655
|
safetySnapWidth(resizeOrigin) {
|
|
27652
27656
|
// For Textbox objects, we always want to check for clipping regardless of isWrapping flag
|
|
@@ -27713,9 +27717,9 @@ class Textbox extends IText {
|
|
|
27713
27717
|
}
|
|
27714
27718
|
}
|
|
27715
27719
|
|
|
27716
|
-
/**
|
|
27717
|
-
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27718
|
-
* @private
|
|
27720
|
+
/**
|
|
27721
|
+
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27722
|
+
* @private
|
|
27719
27723
|
*/
|
|
27720
27724
|
_fixCharacterMappingAfterJsonLoad() {
|
|
27721
27725
|
if (this._usingBrowserWrapping) {
|
|
@@ -27735,9 +27739,9 @@ class Textbox extends IText {
|
|
|
27735
27739
|
}
|
|
27736
27740
|
}
|
|
27737
27741
|
|
|
27738
|
-
/**
|
|
27739
|
-
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27740
|
-
* Overrides Text version with Textbox-specific logic
|
|
27742
|
+
/**
|
|
27743
|
+
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27744
|
+
* Overrides Text version with Textbox-specific logic
|
|
27741
27745
|
*/
|
|
27742
27746
|
forceTextReinitialization() {
|
|
27743
27747
|
console.log('🔄 Force reinitializing Textbox object');
|
|
@@ -27794,31 +27798,31 @@ class Textbox extends IText {
|
|
|
27794
27798
|
}
|
|
27795
27799
|
}
|
|
27796
27800
|
|
|
27797
|
-
/**
|
|
27798
|
-
* Returns object representation of an instance
|
|
27799
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27800
|
-
* @return {Object} object representation of an instance
|
|
27801
|
+
/**
|
|
27802
|
+
* Returns object representation of an instance
|
|
27803
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27804
|
+
* @return {Object} object representation of an instance
|
|
27801
27805
|
*/
|
|
27802
27806
|
toObject() {
|
|
27803
27807
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
27804
27808
|
return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
|
|
27805
27809
|
}
|
|
27806
27810
|
}
|
|
27807
|
-
/**
|
|
27808
|
-
* Minimum width of textbox, in pixels.
|
|
27809
|
-
* @type Number
|
|
27810
|
-
*/
|
|
27811
|
-
/**
|
|
27812
|
-
* Minimum calculated width of a textbox, in pixels.
|
|
27813
|
-
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27814
|
-
* and is still selectable without text.
|
|
27815
|
-
* @type Number
|
|
27816
|
-
*/
|
|
27817
|
-
/**
|
|
27818
|
-
* Use this boolean property in order to split strings that have no white space concept.
|
|
27819
|
-
* this is a cheap way to help with chinese/japanese
|
|
27820
|
-
* @type Boolean
|
|
27821
|
-
* @since 2.6.0
|
|
27811
|
+
/**
|
|
27812
|
+
* Minimum width of textbox, in pixels.
|
|
27813
|
+
* @type Number
|
|
27814
|
+
*/
|
|
27815
|
+
/**
|
|
27816
|
+
* Minimum calculated width of a textbox, in pixels.
|
|
27817
|
+
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27818
|
+
* and is still selectable without text.
|
|
27819
|
+
* @type Number
|
|
27820
|
+
*/
|
|
27821
|
+
/**
|
|
27822
|
+
* Use this boolean property in order to split strings that have no white space concept.
|
|
27823
|
+
* this is a cheap way to help with chinese/japanese
|
|
27824
|
+
* @type Boolean
|
|
27825
|
+
* @since 2.6.0
|
|
27822
27826
|
*/
|
|
27823
27827
|
_defineProperty(Textbox, "type", 'Textbox');
|
|
27824
27828
|
_defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);
|