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