@nasser-sw/fabric 7.0.1-beta10 → 7.0.1-beta11
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-master → konva}/CHANGELOG.md +1 -2
- package/debug/{konva-master → konva}/LICENSE +0 -0
- package/debug/{konva-master → konva}/README.md +3 -7
- package/debug/{konva-master → konva}/gulpfile.mjs +0 -0
- package/debug/{konva-master → konva}/package.json +1 -1
- package/debug/{konva-master → konva}/release.sh +4 -1
- package/debug/{konva-master → konva}/resources/doc-includes/ContainerParams.txt +0 -0
- package/debug/{konva-master → konva}/resources/doc-includes/NodeParams.txt +0 -0
- package/debug/{konva-master → konva}/resources/doc-includes/ShapeParams.txt +0 -0
- package/debug/{konva-master → konva}/resources/jsdoc.conf.json +0 -0
- package/debug/{konva-master → konva}/rollup.config.mjs +0 -0
- package/debug/{konva-master → konva}/src/Animation.ts +0 -0
- package/debug/{konva-master → konva}/src/BezierFunctions.ts +0 -0
- package/debug/{konva-master → konva}/src/Canvas.ts +0 -37
- package/debug/{konva-master → konva}/src/Container.ts +0 -0
- package/debug/{konva-master → konva}/src/Context.ts +0 -0
- package/debug/{konva-master → konva}/src/Core.ts +0 -0
- package/debug/{konva-master → konva}/src/DragAndDrop.ts +0 -0
- package/debug/{konva-master → konva}/src/Factory.ts +0 -0
- package/debug/{konva-master → konva}/src/FastLayer.ts +0 -0
- package/debug/{konva-master → konva}/src/Global.ts +0 -0
- package/debug/{konva-master → konva}/src/Group.ts +0 -0
- package/debug/{konva-master → konva}/src/Layer.ts +0 -0
- package/debug/{konva-master → konva}/src/Node.ts +0 -0
- package/debug/{konva-master → konva}/src/PointerEvents.ts +0 -0
- package/debug/{konva-master → konva}/src/Shape.ts +0 -0
- package/debug/{konva-master → konva}/src/Stage.ts +0 -0
- package/debug/{konva-master → konva}/src/Tween.ts +0 -0
- package/debug/{konva-master → konva}/src/Util.ts +0 -0
- package/debug/{konva-master → konva}/src/Validators.ts +0 -0
- package/debug/{konva-master → konva}/src/_CoreInternals.ts +0 -0
- package/debug/{konva-master → konva}/src/_FullInternals.ts +0 -0
- package/debug/{konva-master → konva}/src/canvas-backend.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Blur.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Brighten.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Brightness.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Contrast.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Emboss.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Enhance.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Grayscale.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/HSL.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/HSV.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Invert.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Kaleidoscope.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Mask.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Noise.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Pixelate.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Posterize.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/RGB.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/RGBA.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Sepia.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Solarize.ts +0 -0
- package/debug/{konva-master → konva}/src/filters/Threshold.ts +0 -0
- package/debug/{konva-master → konva}/src/index.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Arc.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Arrow.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Circle.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Ellipse.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Image.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Label.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Line.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Path.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Rect.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/RegularPolygon.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Ring.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Sprite.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Star.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Text.ts +2 -2
- package/debug/{konva-master → konva}/src/shapes/TextPath.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Transformer.ts +0 -0
- package/debug/{konva-master → konva}/src/shapes/Wedge.ts +0 -0
- package/debug/{konva-master → konva}/src/skia-backend.ts +0 -0
- package/debug/{konva-master → konva}/src/types.ts +0 -0
- package/debug/{konva-master → konva}/tsconfig.json +0 -0
- package/debug/{konva-master → konva}/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 +1069 -1013
- 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 +1069 -1013
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +1069 -1013
- 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 +1069 -1013
- 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/changeHeight.min.mjs +2 -0
- package/dist/src/controls/changeHeight.min.mjs.map +1 -0
- package/dist/src/controls/changeHeight.mjs +36 -0
- package/dist/src/controls/changeHeight.mjs.map +1 -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 +1 -1
- package/dist/src/shapes/IText/ITextBehavior.min.mjs +1 -1
- package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.mjs +162 -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 +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs +47 -1
- 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 +0 -0
- package/dist/src/shapes/Text/Text.min.mjs +0 -0
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.mjs +294 -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 +0 -0
- package/dist/src/shapes/Text/constants.d.ts.map +0 -0
- package/dist/src/shapes/Text/constants.min.mjs +0 -0
- package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
- package/dist/src/shapes/Text/constants.mjs +0 -0
- 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/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/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/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 +1 -1
- 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 +1 -1
- 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 +0 -0
- 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 +0 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts.map +0 -0
- 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/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.ts +182 -182
- 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/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 -1176
- package/src/shapes/IText/ITextClickBehavior.ts +254 -254
- package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +41 -0
- 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 +2459 -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 +134 -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/text/examples/arabicTextExample.d.ts +0 -60
- package/dist/src/text/examples/arabicTextExample.d.ts.map +0 -1
- package/dist/src/text/scriptUtils.d.ts +0 -142
- package/dist/src/text/scriptUtils.d.ts.map +0 -1
- package/dist/src/text/scriptUtils.min.mjs +0 -2
- package/dist/src/text/scriptUtils.min.mjs.map +0 -1
- package/dist/src/text/scriptUtils.mjs +0 -212
- package/dist/src/text/scriptUtils.mjs.map +0 -1
- package/dist-extensions/src/shapes/CustomLine.d.ts +0 -10
- package/dist-extensions/src/shapes/CustomLine.d.ts.map +0 -1
- package/dist-extensions/src/text/scriptUtils.d.ts +0 -142
- package/dist-extensions/src/text/scriptUtils.d.ts.map +0 -1
- package/fabric-test-editor.html +0 -3552
- package/fabric-test2.html +0 -647
- package/fonts/STV Bold.ttf +0 -0
- package/fonts/STV Light.ttf +0 -0
- package/fonts/STV Regular.ttf +0 -0
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-beta10";
|
|
414
414
|
|
|
415
415
|
// use this syntax so babel plugin see this import here
|
|
416
416
|
const VERSION = version;
|
|
@@ -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({
|
|
@@ -22488,10 +22488,10 @@ class FabricText extends StyledText {
|
|
|
22488
22488
|
});
|
|
22489
22489
|
}
|
|
22490
22490
|
}
|
|
22491
|
-
/**
|
|
22492
|
-
* Properties that requires a text layout recalculation when changed
|
|
22493
|
-
* @type string[]
|
|
22494
|
-
* @protected
|
|
22491
|
+
/**
|
|
22492
|
+
* Properties that requires a text layout recalculation when changed
|
|
22493
|
+
* @type string[]
|
|
22494
|
+
* @protected
|
|
22495
22495
|
*/
|
|
22496
22496
|
_defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
|
|
22497
22497
|
_defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
|
|
@@ -22499,9 +22499,9 @@ _defineProperty(FabricText, "ownDefaults", textDefaultValues);
|
|
|
22499
22499
|
_defineProperty(FabricText, "type", 'Text');
|
|
22500
22500
|
_defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
|
|
22501
22501
|
/* _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
|
|
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
|
|
22505
22505
|
*/
|
|
22506
22506
|
_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
22507
|
applyMixins(FabricText, [TextSVGExportMixin]);
|
|
@@ -22888,8 +22888,8 @@ class OverlayEditor {
|
|
|
22888
22888
|
// We don't need to save/restore them here as it would conflict with IText's restoration
|
|
22889
22889
|
}
|
|
22890
22890
|
|
|
22891
|
-
/**
|
|
22892
|
-
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22891
|
+
/**
|
|
22892
|
+
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22893
22893
|
*/
|
|
22894
22894
|
getCanvasContainer() {
|
|
22895
22895
|
const upperCanvas = this.canvas.upperCanvasEl;
|
|
@@ -22903,8 +22903,8 @@ class OverlayEditor {
|
|
|
22903
22903
|
return container;
|
|
22904
22904
|
}
|
|
22905
22905
|
|
|
22906
|
-
/**
|
|
22907
|
-
* Create the overlay DOM structure
|
|
22906
|
+
/**
|
|
22907
|
+
* Create the overlay DOM structure
|
|
22908
22908
|
*/
|
|
22909
22909
|
createOverlayDOM() {
|
|
22910
22910
|
// Host div for positioning and overflow control
|
|
@@ -22959,8 +22959,8 @@ class OverlayEditor {
|
|
|
22959
22959
|
document.body.appendChild(this.hostDiv);
|
|
22960
22960
|
}
|
|
22961
22961
|
|
|
22962
|
-
/**
|
|
22963
|
-
* Attach all event listeners
|
|
22962
|
+
/**
|
|
22963
|
+
* Attach all event listeners
|
|
22964
22964
|
*/
|
|
22965
22965
|
attachEventListeners() {
|
|
22966
22966
|
// Textarea events
|
|
@@ -22980,8 +22980,8 @@ class OverlayEditor {
|
|
|
22980
22980
|
this.setupViewportChangeDetection();
|
|
22981
22981
|
}
|
|
22982
22982
|
|
|
22983
|
-
/**
|
|
22984
|
-
* Remove all event listeners
|
|
22983
|
+
/**
|
|
22984
|
+
* Remove all event listeners
|
|
22985
22985
|
*/
|
|
22986
22986
|
removeEventListeners() {
|
|
22987
22987
|
this.textarea.removeEventListener('input', this.boundHandlers.onInput);
|
|
@@ -22998,16 +22998,16 @@ class OverlayEditor {
|
|
|
22998
22998
|
this.restoreViewportChangeDetection();
|
|
22999
22999
|
}
|
|
23000
23000
|
|
|
23001
|
-
/**
|
|
23002
|
-
* Simple method to refresh positioning when canvas changes
|
|
23001
|
+
/**
|
|
23002
|
+
* Simple method to refresh positioning when canvas changes
|
|
23003
23003
|
*/
|
|
23004
23004
|
updatePosition() {
|
|
23005
23005
|
this.applyOverlayStyle();
|
|
23006
23006
|
}
|
|
23007
23007
|
|
|
23008
|
-
/**
|
|
23009
|
-
* Update the Fabric object bounds to match current textarea size
|
|
23010
|
-
* This ensures Fabric.js selection controls follow the growing textbox
|
|
23008
|
+
/**
|
|
23009
|
+
* Update the Fabric object bounds to match current textarea size
|
|
23010
|
+
* This ensures Fabric.js selection controls follow the growing textbox
|
|
23011
23011
|
*/
|
|
23012
23012
|
updateObjectBounds() {
|
|
23013
23013
|
if (this.isDestroyed) return;
|
|
@@ -23041,15 +23041,15 @@ class OverlayEditor {
|
|
|
23041
23041
|
}
|
|
23042
23042
|
}
|
|
23043
23043
|
|
|
23044
|
-
/**
|
|
23045
|
-
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
23044
|
+
/**
|
|
23045
|
+
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
23046
23046
|
*/
|
|
23047
23047
|
letterSpacingPx(charSpacing, fontSize) {
|
|
23048
23048
|
return charSpacing / 1000 * fontSize;
|
|
23049
23049
|
}
|
|
23050
23050
|
|
|
23051
|
-
/**
|
|
23052
|
-
* Detect text direction using first strong directional character
|
|
23051
|
+
/**
|
|
23052
|
+
* Detect text direction using first strong directional character
|
|
23053
23053
|
*/
|
|
23054
23054
|
firstStrongDir(text) {
|
|
23055
23055
|
// Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
|
|
@@ -23286,8 +23286,8 @@ class OverlayEditor {
|
|
|
23286
23286
|
// Initial bounds are set correctly by Fabric.js - don't force update here
|
|
23287
23287
|
}
|
|
23288
23288
|
|
|
23289
|
-
/**
|
|
23290
|
-
* Debug method to compare textarea and canvas object bounding boxes
|
|
23289
|
+
/**
|
|
23290
|
+
* Debug method to compare textarea and canvas object bounding boxes
|
|
23291
23291
|
*/
|
|
23292
23292
|
debugBoundingBoxComparison() {
|
|
23293
23293
|
const target = this.target;
|
|
@@ -23357,8 +23357,8 @@ class OverlayEditor {
|
|
|
23357
23357
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23358
23358
|
}
|
|
23359
23359
|
|
|
23360
|
-
/**
|
|
23361
|
-
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23360
|
+
/**
|
|
23361
|
+
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23362
23362
|
*/
|
|
23363
23363
|
debugTextWrapping() {
|
|
23364
23364
|
const target = this.target;
|
|
@@ -23443,8 +23443,8 @@ class OverlayEditor {
|
|
|
23443
23443
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23444
23444
|
}
|
|
23445
23445
|
|
|
23446
|
-
/**
|
|
23447
|
-
* Focus the textarea and position cursor at end
|
|
23446
|
+
/**
|
|
23447
|
+
* Focus the textarea and position cursor at end
|
|
23448
23448
|
*/
|
|
23449
23449
|
focusTextarea() {
|
|
23450
23450
|
// For overlay editing, we want to keep the object in "selection mode" not "editing mode"
|
|
@@ -23484,8 +23484,8 @@ class OverlayEditor {
|
|
|
23484
23484
|
this.canvas.requestRenderAll();
|
|
23485
23485
|
}
|
|
23486
23486
|
|
|
23487
|
-
/**
|
|
23488
|
-
* Refresh overlay positioning and styling
|
|
23487
|
+
/**
|
|
23488
|
+
* Refresh overlay positioning and styling
|
|
23489
23489
|
*/
|
|
23490
23490
|
refresh() {
|
|
23491
23491
|
if (this.isDestroyed) return;
|
|
@@ -23493,8 +23493,8 @@ class OverlayEditor {
|
|
|
23493
23493
|
// Don't update object bounds on every refresh - only when textarea actually resizes
|
|
23494
23494
|
}
|
|
23495
23495
|
|
|
23496
|
-
/**
|
|
23497
|
-
* Destroy the overlay editor
|
|
23496
|
+
/**
|
|
23497
|
+
* Destroy the overlay editor
|
|
23498
23498
|
*/
|
|
23499
23499
|
destroy() {
|
|
23500
23500
|
let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -23662,8 +23662,8 @@ class OverlayEditor {
|
|
|
23662
23662
|
}
|
|
23663
23663
|
}
|
|
23664
23664
|
|
|
23665
|
-
/**
|
|
23666
|
-
* Setup detection for viewport changes (zoom/pan)
|
|
23665
|
+
/**
|
|
23666
|
+
* Setup detection for viewport changes (zoom/pan)
|
|
23667
23667
|
*/
|
|
23668
23668
|
setupViewportChangeDetection() {
|
|
23669
23669
|
// Store original methods
|
|
@@ -23692,8 +23692,8 @@ class OverlayEditor {
|
|
|
23692
23692
|
};
|
|
23693
23693
|
}
|
|
23694
23694
|
|
|
23695
|
-
/**
|
|
23696
|
-
* Restore original viewport methods
|
|
23695
|
+
/**
|
|
23696
|
+
* Restore original viewport methods
|
|
23697
23697
|
*/
|
|
23698
23698
|
restoreViewportChangeDetection() {
|
|
23699
23699
|
if (this.canvas.__originalSetZoom) {
|
|
@@ -23708,8 +23708,8 @@ class OverlayEditor {
|
|
|
23708
23708
|
}
|
|
23709
23709
|
}
|
|
23710
23710
|
|
|
23711
|
-
/**
|
|
23712
|
-
* Enter overlay text editing mode for a text object
|
|
23711
|
+
/**
|
|
23712
|
+
* Enter overlay text editing mode for a text object
|
|
23713
23713
|
*/
|
|
23714
23714
|
function enterTextOverlayEdit(canvas, target, options) {
|
|
23715
23715
|
// If already in overlay editing, destroy existing editor first
|
|
@@ -23733,35 +23733,35 @@ function enterTextOverlayEdit(canvas, target, options) {
|
|
|
23733
23733
|
return editor;
|
|
23734
23734
|
}
|
|
23735
23735
|
|
|
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).
|
|
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).
|
|
23747
23747
|
*/
|
|
23748
23748
|
// eslint-disable-next-line no-useless-escape
|
|
23749
23749
|
const reNonWord = /[ \n\.,;!\?\-]/;
|
|
23750
23750
|
class ITextBehavior extends FabricText {
|
|
23751
23751
|
constructor() {
|
|
23752
23752
|
super(...arguments);
|
|
23753
|
-
/**
|
|
23754
|
-
* Helps determining when the text is in composition, so that the cursor
|
|
23755
|
-
* rendering is altered.
|
|
23753
|
+
/**
|
|
23754
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
23755
|
+
* rendering is altered.
|
|
23756
23756
|
*/
|
|
23757
23757
|
_defineProperty(this, "_currentCursorOpacity", 1);
|
|
23758
23758
|
}
|
|
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.
|
|
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.
|
|
23762
23762
|
*/
|
|
23763
|
-
/**
|
|
23764
|
-
* Initializes all the interactive behavior of IText
|
|
23763
|
+
/**
|
|
23764
|
+
* Initializes all the interactive behavior of IText
|
|
23765
23765
|
*/
|
|
23766
23766
|
initBehavior() {
|
|
23767
23767
|
this._tick = this._tick.bind(this);
|
|
@@ -23774,8 +23774,8 @@ class ITextBehavior extends FabricText {
|
|
|
23774
23774
|
return super.onDeselect(options);
|
|
23775
23775
|
}
|
|
23776
23776
|
|
|
23777
|
-
/**
|
|
23778
|
-
* @private
|
|
23777
|
+
/**
|
|
23778
|
+
* @private
|
|
23779
23779
|
*/
|
|
23780
23780
|
_animateCursor(_ref) {
|
|
23781
23781
|
let {
|
|
@@ -23800,8 +23800,8 @@ class ITextBehavior extends FabricText {
|
|
|
23800
23800
|
});
|
|
23801
23801
|
}
|
|
23802
23802
|
|
|
23803
|
-
/**
|
|
23804
|
-
* changes the cursor from visible to invisible
|
|
23803
|
+
/**
|
|
23804
|
+
* changes the cursor from visible to invisible
|
|
23805
23805
|
*/
|
|
23806
23806
|
_tick(delay) {
|
|
23807
23807
|
this._currentTickState = this._animateCursor({
|
|
@@ -23812,8 +23812,8 @@ class ITextBehavior extends FabricText {
|
|
|
23812
23812
|
});
|
|
23813
23813
|
}
|
|
23814
23814
|
|
|
23815
|
-
/**
|
|
23816
|
-
* Changes the cursor from invisible to visible
|
|
23815
|
+
/**
|
|
23816
|
+
* Changes the cursor from invisible to visible
|
|
23817
23817
|
*/
|
|
23818
23818
|
_onTickComplete() {
|
|
23819
23819
|
var _this$_currentTickCom;
|
|
@@ -23825,16 +23825,16 @@ class ITextBehavior extends FabricText {
|
|
|
23825
23825
|
});
|
|
23826
23826
|
}
|
|
23827
23827
|
|
|
23828
|
-
/**
|
|
23829
|
-
* Initializes delayed cursor
|
|
23828
|
+
/**
|
|
23829
|
+
* Initializes delayed cursor
|
|
23830
23830
|
*/
|
|
23831
23831
|
initDelayedCursor(restart) {
|
|
23832
23832
|
this.abortCursorAnimation();
|
|
23833
23833
|
this._tick(restart ? 0 : this.cursorDelay);
|
|
23834
23834
|
}
|
|
23835
23835
|
|
|
23836
|
-
/**
|
|
23837
|
-
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23836
|
+
/**
|
|
23837
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23838
23838
|
*/
|
|
23839
23839
|
abortCursorAnimation() {
|
|
23840
23840
|
let shouldClear = false;
|
|
@@ -23852,9 +23852,9 @@ class ITextBehavior extends FabricText {
|
|
|
23852
23852
|
}
|
|
23853
23853
|
}
|
|
23854
23854
|
|
|
23855
|
-
/**
|
|
23856
|
-
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23857
|
-
* or if it never started before
|
|
23855
|
+
/**
|
|
23856
|
+
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23857
|
+
* or if it never started before
|
|
23858
23858
|
*/
|
|
23859
23859
|
restartCursorIfNeeded() {
|
|
23860
23860
|
if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
|
|
@@ -23862,8 +23862,8 @@ class ITextBehavior extends FabricText {
|
|
|
23862
23862
|
}
|
|
23863
23863
|
}
|
|
23864
23864
|
|
|
23865
|
-
/**
|
|
23866
|
-
* Selects entire text
|
|
23865
|
+
/**
|
|
23866
|
+
* Selects entire text
|
|
23867
23867
|
*/
|
|
23868
23868
|
selectAll() {
|
|
23869
23869
|
this.selectionStart = 0;
|
|
@@ -23873,26 +23873,26 @@ class ITextBehavior extends FabricText {
|
|
|
23873
23873
|
return this;
|
|
23874
23874
|
}
|
|
23875
23875
|
|
|
23876
|
-
/**
|
|
23877
|
-
* Selects entire text and updates the visual state
|
|
23876
|
+
/**
|
|
23877
|
+
* Selects entire text and updates the visual state
|
|
23878
23878
|
*/
|
|
23879
23879
|
cmdAll() {
|
|
23880
23880
|
this.selectAll();
|
|
23881
23881
|
this.renderCursorOrSelection();
|
|
23882
23882
|
}
|
|
23883
23883
|
|
|
23884
|
-
/**
|
|
23885
|
-
* Returns selected text
|
|
23886
|
-
* @return {String}
|
|
23884
|
+
/**
|
|
23885
|
+
* Returns selected text
|
|
23886
|
+
* @return {String}
|
|
23887
23887
|
*/
|
|
23888
23888
|
getSelectedText() {
|
|
23889
23889
|
return this._text.slice(this.selectionStart, this.selectionEnd).join('');
|
|
23890
23890
|
}
|
|
23891
23891
|
|
|
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
|
|
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
23896
|
*/
|
|
23897
23897
|
findWordBoundaryLeft(startFrom) {
|
|
23898
23898
|
let offset = 0,
|
|
@@ -23912,10 +23912,10 @@ class ITextBehavior extends FabricText {
|
|
|
23912
23912
|
return startFrom - offset;
|
|
23913
23913
|
}
|
|
23914
23914
|
|
|
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
|
|
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
23919
|
*/
|
|
23920
23920
|
findWordBoundaryRight(startFrom) {
|
|
23921
23921
|
let offset = 0,
|
|
@@ -23935,10 +23935,10 @@ class ITextBehavior extends FabricText {
|
|
|
23935
23935
|
return startFrom + offset;
|
|
23936
23936
|
}
|
|
23937
23937
|
|
|
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
|
|
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
23942
|
*/
|
|
23943
23943
|
findLineBoundaryLeft(startFrom) {
|
|
23944
23944
|
let offset = 0,
|
|
@@ -23950,10 +23950,10 @@ class ITextBehavior extends FabricText {
|
|
|
23950
23950
|
return startFrom - offset;
|
|
23951
23951
|
}
|
|
23952
23952
|
|
|
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
|
|
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
23957
|
*/
|
|
23958
23958
|
findLineBoundaryRight(startFrom) {
|
|
23959
23959
|
let offset = 0,
|
|
@@ -23965,11 +23965,11 @@ class ITextBehavior extends FabricText {
|
|
|
23965
23965
|
return startFrom + offset;
|
|
23966
23966
|
}
|
|
23967
23967
|
|
|
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
|
|
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
|
|
23973
23973
|
*/
|
|
23974
23974
|
searchWordBoundary(selectionStart, direction) {
|
|
23975
23975
|
const text = this._text;
|
|
@@ -23987,9 +23987,9 @@ class ITextBehavior extends FabricText {
|
|
|
23987
23987
|
return index;
|
|
23988
23988
|
}
|
|
23989
23989
|
|
|
23990
|
-
/**
|
|
23991
|
-
* Selects the word that contains the char at index selectionStart
|
|
23992
|
-
* @param {Number} selectionStart Index of a character
|
|
23990
|
+
/**
|
|
23991
|
+
* Selects the word that contains the char at index selectionStart
|
|
23992
|
+
* @param {Number} selectionStart Index of a character
|
|
23993
23993
|
*/
|
|
23994
23994
|
selectWord(selectionStart) {
|
|
23995
23995
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -24005,9 +24005,9 @@ class ITextBehavior extends FabricText {
|
|
|
24005
24005
|
this.renderCursorOrSelection();
|
|
24006
24006
|
}
|
|
24007
24007
|
|
|
24008
|
-
/**
|
|
24009
|
-
* Selects the line that contains selectionStart
|
|
24010
|
-
* @param {Number} selectionStart Index of a character
|
|
24008
|
+
/**
|
|
24009
|
+
* Selects the line that contains selectionStart
|
|
24010
|
+
* @param {Number} selectionStart Index of a character
|
|
24011
24011
|
*/
|
|
24012
24012
|
selectLine(selectionStart) {
|
|
24013
24013
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -24019,8 +24019,8 @@ class ITextBehavior extends FabricText {
|
|
|
24019
24019
|
this._updateTextarea();
|
|
24020
24020
|
}
|
|
24021
24021
|
|
|
24022
|
-
/**
|
|
24023
|
-
* Enters editing state
|
|
24022
|
+
/**
|
|
24023
|
+
* Enters editing state
|
|
24024
24024
|
*/
|
|
24025
24025
|
enterEditing(e) {
|
|
24026
24026
|
if (this.isEditing || !this.editable) {
|
|
@@ -24040,8 +24040,8 @@ class ITextBehavior extends FabricText {
|
|
|
24040
24040
|
}
|
|
24041
24041
|
}
|
|
24042
24042
|
|
|
24043
|
-
/**
|
|
24044
|
-
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
24043
|
+
/**
|
|
24044
|
+
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
24045
24045
|
*/
|
|
24046
24046
|
enterEditingImpl() {
|
|
24047
24047
|
if (this.canvas) {
|
|
@@ -24065,8 +24065,8 @@ class ITextBehavior extends FabricText {
|
|
|
24065
24065
|
}
|
|
24066
24066
|
}
|
|
24067
24067
|
|
|
24068
|
-
/**
|
|
24069
|
-
* Enter overlay editing mode using DOM textarea overlay
|
|
24068
|
+
/**
|
|
24069
|
+
* Enter overlay editing mode using DOM textarea overlay
|
|
24070
24070
|
*/
|
|
24071
24071
|
enterOverlayEditing() {
|
|
24072
24072
|
this._saveEditingProps();
|
|
@@ -24087,8 +24087,8 @@ class ITextBehavior extends FabricText {
|
|
|
24087
24087
|
});
|
|
24088
24088
|
}
|
|
24089
24089
|
|
|
24090
|
-
/**
|
|
24091
|
-
* Commit overlay editing changes
|
|
24090
|
+
/**
|
|
24091
|
+
* Commit overlay editing changes
|
|
24092
24092
|
*/
|
|
24093
24093
|
commitOverlayEdit(text) {
|
|
24094
24094
|
const overlayEditor = this.__overlayEditor;
|
|
@@ -24112,8 +24112,8 @@ class ITextBehavior extends FabricText {
|
|
|
24112
24112
|
this.canvas && this.canvas.requestRenderAll();
|
|
24113
24113
|
}
|
|
24114
24114
|
|
|
24115
|
-
/**
|
|
24116
|
-
* Cancel overlay editing without changes
|
|
24115
|
+
/**
|
|
24116
|
+
* Cancel overlay editing without changes
|
|
24117
24117
|
*/
|
|
24118
24118
|
cancelOverlayEdit() {
|
|
24119
24119
|
// Restore original text
|
|
@@ -24121,8 +24121,8 @@ class ITextBehavior extends FabricText {
|
|
|
24121
24121
|
this.exitEditing();
|
|
24122
24122
|
}
|
|
24123
24123
|
|
|
24124
|
-
/**
|
|
24125
|
-
* called by {@link Canvas#textEditingManager}
|
|
24124
|
+
/**
|
|
24125
|
+
* called by {@link Canvas#textEditingManager}
|
|
24126
24126
|
*/
|
|
24127
24127
|
updateSelectionOnMouseMove(e) {
|
|
24128
24128
|
if (this.getActiveControl()) {
|
|
@@ -24150,8 +24150,8 @@ class ITextBehavior extends FabricText {
|
|
|
24150
24150
|
}
|
|
24151
24151
|
}
|
|
24152
24152
|
|
|
24153
|
-
/**
|
|
24154
|
-
* @private
|
|
24153
|
+
/**
|
|
24154
|
+
* @private
|
|
24155
24155
|
*/
|
|
24156
24156
|
_setEditingProps() {
|
|
24157
24157
|
this.hoverCursor = 'text';
|
|
@@ -24163,8 +24163,8 @@ class ITextBehavior extends FabricText {
|
|
|
24163
24163
|
this.lockMovementX = this.lockMovementY = true;
|
|
24164
24164
|
}
|
|
24165
24165
|
|
|
24166
|
-
/**
|
|
24167
|
-
* convert from textarea to grapheme indexes
|
|
24166
|
+
/**
|
|
24167
|
+
* convert from textarea to grapheme indexes
|
|
24168
24168
|
*/
|
|
24169
24169
|
fromStringToGraphemeSelection(start, end, text) {
|
|
24170
24170
|
const smallerTextStart = text.slice(0, start),
|
|
@@ -24183,8 +24183,8 @@ class ITextBehavior extends FabricText {
|
|
|
24183
24183
|
};
|
|
24184
24184
|
}
|
|
24185
24185
|
|
|
24186
|
-
/**
|
|
24187
|
-
* convert from fabric to textarea values
|
|
24186
|
+
/**
|
|
24187
|
+
* convert from fabric to textarea values
|
|
24188
24188
|
*/
|
|
24189
24189
|
fromGraphemeToStringSelection(start, end, graphemes) {
|
|
24190
24190
|
const smallerTextStart = graphemes.slice(0, start),
|
|
@@ -24203,14 +24203,24 @@ class ITextBehavior extends FabricText {
|
|
|
24203
24203
|
};
|
|
24204
24204
|
}
|
|
24205
24205
|
|
|
24206
|
-
/**
|
|
24207
|
-
* @private
|
|
24206
|
+
/**
|
|
24207
|
+
* @private
|
|
24208
24208
|
*/
|
|
24209
24209
|
_updateTextarea() {
|
|
24210
|
+
console.log('🔤 _updateTextarea called with fabric text:', this.text);
|
|
24210
24211
|
this.cursorOffsetCache = {};
|
|
24211
24212
|
if (!this.hiddenTextarea) {
|
|
24212
24213
|
return;
|
|
24213
24214
|
}
|
|
24215
|
+
|
|
24216
|
+
// Sync textarea content with fabric text to prevent double-keypress issues
|
|
24217
|
+
const currentFabricText = this.text;
|
|
24218
|
+
if (this.hiddenTextarea.value !== currentFabricText) {
|
|
24219
|
+
console.log('🔤 _updateTextarea: syncing textarea to fabric text');
|
|
24220
|
+
console.log('🔤 _updateTextarea: textarea was:', this.hiddenTextarea.value);
|
|
24221
|
+
console.log('🔤 _updateTextarea: fabric is:', currentFabricText);
|
|
24222
|
+
this.hiddenTextarea.value = currentFabricText;
|
|
24223
|
+
}
|
|
24214
24224
|
if (!this.inCompositionMode) {
|
|
24215
24225
|
const newSelection = this.fromGraphemeToStringSelection(this.selectionStart, this.selectionEnd, this._text);
|
|
24216
24226
|
this.hiddenTextarea.selectionStart = newSelection.selectionStart;
|
|
@@ -24219,8 +24229,8 @@ class ITextBehavior extends FabricText {
|
|
|
24219
24229
|
this.updateTextareaPosition();
|
|
24220
24230
|
}
|
|
24221
24231
|
|
|
24222
|
-
/**
|
|
24223
|
-
* @private
|
|
24232
|
+
/**
|
|
24233
|
+
* @private
|
|
24224
24234
|
*/
|
|
24225
24235
|
updateFromTextArea() {
|
|
24226
24236
|
if (!this.hiddenTextarea) {
|
|
@@ -24240,8 +24250,8 @@ class ITextBehavior extends FabricText {
|
|
|
24240
24250
|
this.updateTextareaPosition();
|
|
24241
24251
|
}
|
|
24242
24252
|
|
|
24243
|
-
/**
|
|
24244
|
-
* @private
|
|
24253
|
+
/**
|
|
24254
|
+
* @private
|
|
24245
24255
|
*/
|
|
24246
24256
|
updateTextareaPosition() {
|
|
24247
24257
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -24251,9 +24261,9 @@ class ITextBehavior extends FabricText {
|
|
|
24251
24261
|
}
|
|
24252
24262
|
}
|
|
24253
24263
|
|
|
24254
|
-
/**
|
|
24255
|
-
* @private
|
|
24256
|
-
* @return {Object} style contains style for hiddenTextarea
|
|
24264
|
+
/**
|
|
24265
|
+
* @private
|
|
24266
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
24257
24267
|
*/
|
|
24258
24268
|
_calcTextareaPosition() {
|
|
24259
24269
|
if (!this.canvas) {
|
|
@@ -24300,8 +24310,8 @@ class ITextBehavior extends FabricText {
|
|
|
24300
24310
|
};
|
|
24301
24311
|
}
|
|
24302
24312
|
|
|
24303
|
-
/**
|
|
24304
|
-
* @private
|
|
24313
|
+
/**
|
|
24314
|
+
* @private
|
|
24305
24315
|
*/
|
|
24306
24316
|
_saveEditingProps() {
|
|
24307
24317
|
this._savedProps = {
|
|
@@ -24318,8 +24328,8 @@ class ITextBehavior extends FabricText {
|
|
|
24318
24328
|
};
|
|
24319
24329
|
}
|
|
24320
24330
|
|
|
24321
|
-
/**
|
|
24322
|
-
* @private
|
|
24331
|
+
/**
|
|
24332
|
+
* @private
|
|
24323
24333
|
*/
|
|
24324
24334
|
_restoreEditingProps() {
|
|
24325
24335
|
if (!this._savedProps) {
|
|
@@ -24339,9 +24349,9 @@ class ITextBehavior extends FabricText {
|
|
|
24339
24349
|
delete this._savedProps;
|
|
24340
24350
|
}
|
|
24341
24351
|
|
|
24342
|
-
/**
|
|
24343
|
-
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24344
|
-
* But it does not fire events
|
|
24352
|
+
/**
|
|
24353
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24354
|
+
* But it does not fire events
|
|
24345
24355
|
*/
|
|
24346
24356
|
exitEditingImpl() {
|
|
24347
24357
|
const hiddenTextarea = this.hiddenTextarea;
|
|
@@ -24362,8 +24372,8 @@ class ITextBehavior extends FabricText {
|
|
|
24362
24372
|
}
|
|
24363
24373
|
}
|
|
24364
24374
|
|
|
24365
|
-
/**
|
|
24366
|
-
* Exits from editing state and fires relevant events
|
|
24375
|
+
/**
|
|
24376
|
+
* Exits from editing state and fires relevant events
|
|
24367
24377
|
*/
|
|
24368
24378
|
exitEditing() {
|
|
24369
24379
|
const isTextChanged = this._textBeforeEdit !== this.text;
|
|
@@ -24382,8 +24392,8 @@ class ITextBehavior extends FabricText {
|
|
|
24382
24392
|
return this;
|
|
24383
24393
|
}
|
|
24384
24394
|
|
|
24385
|
-
/**
|
|
24386
|
-
* @private
|
|
24395
|
+
/**
|
|
24396
|
+
* @private
|
|
24387
24397
|
*/
|
|
24388
24398
|
_removeExtraneousStyles() {
|
|
24389
24399
|
for (const prop in this.styles) {
|
|
@@ -24393,10 +24403,10 @@ class ITextBehavior extends FabricText {
|
|
|
24393
24403
|
}
|
|
24394
24404
|
}
|
|
24395
24405
|
|
|
24396
|
-
/**
|
|
24397
|
-
* remove and reflow a style block from start to end.
|
|
24398
|
-
* @param {Number} start linear start position for removal (included in removal)
|
|
24399
|
-
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
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 )
|
|
24400
24410
|
*/
|
|
24401
24411
|
removeStyleFromTo(start, end) {
|
|
24402
24412
|
const {
|
|
@@ -24449,10 +24459,10 @@ class ITextBehavior extends FabricText {
|
|
|
24449
24459
|
}
|
|
24450
24460
|
}
|
|
24451
24461
|
|
|
24452
|
-
/**
|
|
24453
|
-
* Shifts line styles up or down
|
|
24454
|
-
* @param {Number} lineIndex Index of a line
|
|
24455
|
-
* @param {Number} offset Can any number?
|
|
24462
|
+
/**
|
|
24463
|
+
* Shifts line styles up or down
|
|
24464
|
+
* @param {Number} lineIndex Index of a line
|
|
24465
|
+
* @param {Number} offset Can any number?
|
|
24456
24466
|
*/
|
|
24457
24467
|
shiftLineStyles(lineIndex, offset) {
|
|
24458
24468
|
const clonedStyles = Object.assign({}, this.styles);
|
|
@@ -24467,15 +24477,15 @@ class ITextBehavior extends FabricText {
|
|
|
24467
24477
|
}
|
|
24468
24478
|
}
|
|
24469
24479
|
|
|
24470
|
-
/**
|
|
24471
|
-
* Handle insertion of more consecutive style lines for when one or more
|
|
24472
|
-
* newlines gets added to the text. Since current style needs to be shifted
|
|
24473
|
-
* first we shift the current style of the number lines needed, then we add
|
|
24474
|
-
* new lines from the last to the first.
|
|
24475
|
-
* @param {Number} lineIndex Index of a line
|
|
24476
|
-
* @param {Number} charIndex Index of a char
|
|
24477
|
-
* @param {Number} qty number of lines to add
|
|
24478
|
-
* @param {Array} copiedStyle Array of objects styles
|
|
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
|
|
24479
24489
|
*/
|
|
24480
24490
|
insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
|
|
24481
24491
|
const newLineStyles = {};
|
|
@@ -24535,12 +24545,12 @@ class ITextBehavior extends FabricText {
|
|
|
24535
24545
|
this._forceClearCache = true;
|
|
24536
24546
|
}
|
|
24537
24547
|
|
|
24538
|
-
/**
|
|
24539
|
-
* Inserts style object for a given line/char index
|
|
24540
|
-
* @param {Number} lineIndex Index of a line
|
|
24541
|
-
* @param {Number} charIndex Index of a char
|
|
24542
|
-
* @param {Number} quantity number Style object to insert, if given
|
|
24543
|
-
* @param {Array} copiedStyle array of style objects
|
|
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
|
|
24544
24554
|
*/
|
|
24545
24555
|
insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
|
|
24546
24556
|
if (!this.styles) {
|
|
@@ -24589,11 +24599,11 @@ class ITextBehavior extends FabricText {
|
|
|
24589
24599
|
}
|
|
24590
24600
|
}
|
|
24591
24601
|
|
|
24592
|
-
/**
|
|
24593
|
-
* Inserts style object(s)
|
|
24594
|
-
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24595
|
-
* @param {Number} start cursor index for inserting style
|
|
24596
|
-
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
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.
|
|
24597
24607
|
*/
|
|
24598
24608
|
insertNewStyleBlock(insertedText, start, copiedStyle) {
|
|
24599
24609
|
const cursorLoc = this.get2DCursorLocation(start, true),
|
|
@@ -24634,12 +24644,12 @@ class ITextBehavior extends FabricText {
|
|
|
24634
24644
|
}
|
|
24635
24645
|
}
|
|
24636
24646
|
|
|
24637
|
-
/**
|
|
24638
|
-
* Removes characters from start/end
|
|
24639
|
-
* start/end ar per grapheme position in _text array.
|
|
24640
|
-
*
|
|
24641
|
-
* @param {Number} start
|
|
24642
|
-
* @param {Number} end default to start + 1
|
|
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
|
|
24643
24653
|
*/
|
|
24644
24654
|
removeChars(start) {
|
|
24645
24655
|
let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
|
|
@@ -24652,17 +24662,17 @@ class ITextBehavior extends FabricText {
|
|
|
24652
24662
|
this._removeExtraneousStyles();
|
|
24653
24663
|
}
|
|
24654
24664
|
|
|
24655
|
-
/**
|
|
24656
|
-
* insert characters at start position, before start position.
|
|
24657
|
-
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24658
|
-
* if style array is provided, it must be as the same length of text in graphemes
|
|
24659
|
-
* if end is provided and is bigger than start, old text is replaced.
|
|
24660
|
-
* start/end ar per grapheme position in _text array.
|
|
24661
|
-
*
|
|
24662
|
-
* @param {String} text text to insert
|
|
24663
|
-
* @param {Array} style array of style objects
|
|
24664
|
-
* @param {Number} start
|
|
24665
|
-
* @param {Number} end default to start + 1
|
|
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
|
|
24666
24676
|
*/
|
|
24667
24677
|
insertChars(text, style, start) {
|
|
24668
24678
|
let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
|
|
@@ -24679,9 +24689,9 @@ class ITextBehavior extends FabricText {
|
|
|
24679
24689
|
this._removeExtraneousStyles();
|
|
24680
24690
|
}
|
|
24681
24691
|
|
|
24682
|
-
/**
|
|
24683
|
-
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24684
|
-
* mimic the key - mouse navigation when shift is pressed.
|
|
24692
|
+
/**
|
|
24693
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24694
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
24685
24695
|
*/
|
|
24686
24696
|
setSelectionStartEndWithShift(start, end, newSelection) {
|
|
24687
24697
|
if (newSelection <= start) {
|
|
@@ -24857,6 +24867,52 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24857
24867
|
if (!this.isEditing) {
|
|
24858
24868
|
return;
|
|
24859
24869
|
}
|
|
24870
|
+
|
|
24871
|
+
// Debug log to track the double keypress issue
|
|
24872
|
+
console.log('🔤 onInput debug:', {
|
|
24873
|
+
fabricText: this.text,
|
|
24874
|
+
textareaValue: value,
|
|
24875
|
+
fabricSelection: {
|
|
24876
|
+
start: this.selectionStart,
|
|
24877
|
+
end: this.selectionEnd
|
|
24878
|
+
},
|
|
24879
|
+
textareaSelection: {
|
|
24880
|
+
start: selectionStart,
|
|
24881
|
+
end: selectionEnd
|
|
24882
|
+
},
|
|
24883
|
+
fromPaste,
|
|
24884
|
+
inComposition: this.inCompositionMode
|
|
24885
|
+
});
|
|
24886
|
+
|
|
24887
|
+
// Immediate sync for simple character replacement - fix for double keypress issue
|
|
24888
|
+
if (this.text !== value && !this.inCompositionMode) {
|
|
24889
|
+
console.log('🔤 Immediate sync: fabric text differs from textarea, syncing immediately');
|
|
24890
|
+
console.log('🔤 Before sync - fabric text:', this.text);
|
|
24891
|
+
console.log('🔤 Before sync - textarea value:', value);
|
|
24892
|
+
console.log('🔤 fromPaste:', fromPaste);
|
|
24893
|
+
|
|
24894
|
+
// Clear all relevant caches that might prevent visual updates
|
|
24895
|
+
this.cursorOffsetCache = {};
|
|
24896
|
+
this._browserWrapCache = null;
|
|
24897
|
+
this._lastDimensionState = null;
|
|
24898
|
+
this._forceClearCache = true;
|
|
24899
|
+
console.log('🔤 Cleared all caches');
|
|
24900
|
+
|
|
24901
|
+
// Use the same logic as updateAndFire but immediately
|
|
24902
|
+
this.updateFromTextArea();
|
|
24903
|
+
this.fire(CHANGED);
|
|
24904
|
+
if (this.canvas) {
|
|
24905
|
+
this.canvas.fire('text:changed', {
|
|
24906
|
+
target: this
|
|
24907
|
+
});
|
|
24908
|
+
// ONLY use synchronous rendering to avoid race conditions
|
|
24909
|
+
// Remove requestRenderAll() which queues for next animation frame
|
|
24910
|
+
this.canvas.renderAll();
|
|
24911
|
+
}
|
|
24912
|
+
console.log('🔤 After updateFromTextArea - fabric text:', this.text);
|
|
24913
|
+
console.log('🔤 Sync complete, caches cleared, synchronous render only');
|
|
24914
|
+
return;
|
|
24915
|
+
}
|
|
24860
24916
|
const updateAndFire = () => {
|
|
24861
24917
|
this.updateFromTextArea();
|
|
24862
24918
|
this.fire(CHANGED);
|
|
@@ -25304,8 +25360,8 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25304
25360
|
}
|
|
25305
25361
|
}
|
|
25306
25362
|
|
|
25307
|
-
/**
|
|
25308
|
-
* `LEFT_CLICK === 0`
|
|
25363
|
+
/**
|
|
25364
|
+
* `LEFT_CLICK === 0`
|
|
25309
25365
|
*/
|
|
25310
25366
|
const notALeftClick = e => !!e.button;
|
|
25311
25367
|
class ITextClickBehavior extends ITextKeyBehavior {
|
|
@@ -25323,36 +25379,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25323
25379
|
super.initBehavior();
|
|
25324
25380
|
}
|
|
25325
25381
|
|
|
25326
|
-
/**
|
|
25327
|
-
* If this method returns true a mouse move operation over a text selection
|
|
25328
|
-
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25329
|
-
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25330
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25331
|
-
* @returns
|
|
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
|
|
25332
25388
|
*/
|
|
25333
25389
|
shouldStartDragging() {
|
|
25334
25390
|
return this.draggableTextDelegate.isActive();
|
|
25335
25391
|
}
|
|
25336
25392
|
|
|
25337
|
-
/**
|
|
25338
|
-
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25339
|
-
* @see also {@link DraggableTextDelegate#isActive}
|
|
25340
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25341
|
-
* @returns {boolean} should handle event
|
|
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
|
|
25342
25398
|
*/
|
|
25343
25399
|
onDragStart(e) {
|
|
25344
25400
|
return this.draggableTextDelegate.onDragStart(e);
|
|
25345
25401
|
}
|
|
25346
25402
|
|
|
25347
|
-
/**
|
|
25348
|
-
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25403
|
+
/**
|
|
25404
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25349
25405
|
*/
|
|
25350
25406
|
canDrop(e) {
|
|
25351
25407
|
return this.draggableTextDelegate.canDrop(e);
|
|
25352
25408
|
}
|
|
25353
25409
|
|
|
25354
|
-
/**
|
|
25355
|
-
* Default handler for double click, select a word or enter overlay editing
|
|
25410
|
+
/**
|
|
25411
|
+
* Default handler for double click, select a word or enter overlay editing
|
|
25356
25412
|
*/
|
|
25357
25413
|
doubleClickHandler(options) {
|
|
25358
25414
|
// Check if we should enter overlay editing mode
|
|
@@ -25369,8 +25425,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25369
25425
|
this.renderCursorOrSelection();
|
|
25370
25426
|
}
|
|
25371
25427
|
|
|
25372
|
-
/**
|
|
25373
|
-
* Default handler for triple click, select a line
|
|
25428
|
+
/**
|
|
25429
|
+
* Default handler for triple click, select a line
|
|
25374
25430
|
*/
|
|
25375
25431
|
tripleClickHandler(options) {
|
|
25376
25432
|
if (!this.isEditing) {
|
|
@@ -25380,13 +25436,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25380
25436
|
this.renderCursorOrSelection();
|
|
25381
25437
|
}
|
|
25382
25438
|
|
|
25383
|
-
/**
|
|
25384
|
-
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25385
|
-
* can be overridden to do something different.
|
|
25386
|
-
* Scope of this implementation is: find the click position, set selectionStart
|
|
25387
|
-
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25388
|
-
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25389
|
-
* current compositionMode. It will be set to false.
|
|
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.
|
|
25390
25446
|
*/
|
|
25391
25447
|
_mouseDownHandler(_ref) {
|
|
25392
25448
|
let {
|
|
@@ -25414,9 +25470,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25414
25470
|
this.selected || (this.selected = alreadySelected || this.isEditing);
|
|
25415
25471
|
}
|
|
25416
25472
|
|
|
25417
|
-
/**
|
|
25418
|
-
* standard handler for mouse up, overridable
|
|
25419
|
-
* @private
|
|
25473
|
+
/**
|
|
25474
|
+
* standard handler for mouse up, overridable
|
|
25475
|
+
* @private
|
|
25420
25476
|
*/
|
|
25421
25477
|
mouseUpHandler(_ref2) {
|
|
25422
25478
|
let {
|
|
@@ -25447,9 +25503,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25447
25503
|
}
|
|
25448
25504
|
}
|
|
25449
25505
|
|
|
25450
|
-
/**
|
|
25451
|
-
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25452
|
-
* @param {TPointerEvent} e Event object
|
|
25506
|
+
/**
|
|
25507
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25508
|
+
* @param {TPointerEvent} e Event object
|
|
25453
25509
|
*/
|
|
25454
25510
|
setCursorByClick(e) {
|
|
25455
25511
|
const newSelection = this.getSelectionStartFromPointer(e),
|
|
@@ -25467,10 +25523,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25467
25523
|
}
|
|
25468
25524
|
}
|
|
25469
25525
|
|
|
25470
|
-
/**
|
|
25471
|
-
* Returns index of a character corresponding to where an object was clicked
|
|
25472
|
-
* @param {TPointerEvent} e Event object
|
|
25473
|
-
* @return {Number} Index of a character
|
|
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
|
|
25474
25530
|
*/
|
|
25475
25531
|
getSelectionStartFromPointer(e) {
|
|
25476
25532
|
const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
|
|
@@ -25516,15 +25572,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25516
25572
|
}
|
|
25517
25573
|
}
|
|
25518
25574
|
|
|
25519
|
-
/**
|
|
25520
|
-
* Hit Testing and Cursor Positioning System
|
|
25521
|
-
*
|
|
25522
|
-
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25523
|
-
* for interactive text editing with grapheme-aware boundaries.
|
|
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.
|
|
25524
25580
|
*/
|
|
25525
25581
|
|
|
25526
|
-
/**
|
|
25527
|
-
* Hit test a point against laid out text to find insertion position
|
|
25582
|
+
/**
|
|
25583
|
+
* Hit test a point against laid out text to find insertion position
|
|
25528
25584
|
*/
|
|
25529
25585
|
function hitTest(x, y, layout, options) {
|
|
25530
25586
|
if (layout.lines.length === 0) {
|
|
@@ -25568,8 +25624,8 @@ function hitTest(x, y, layout, options) {
|
|
|
25568
25624
|
};
|
|
25569
25625
|
}
|
|
25570
25626
|
|
|
25571
|
-
/**
|
|
25572
|
-
* Get cursor rectangle for a given insertion index
|
|
25627
|
+
/**
|
|
25628
|
+
* Get cursor rectangle for a given insertion index
|
|
25573
25629
|
*/
|
|
25574
25630
|
function getCursorRect(insertionIndex, layout, options) {
|
|
25575
25631
|
if (layout.lines.length === 0) {
|
|
@@ -25616,8 +25672,8 @@ function getCursorRect(insertionIndex, layout, options) {
|
|
|
25616
25672
|
|
|
25617
25673
|
// Private helper functions
|
|
25618
25674
|
|
|
25619
|
-
/**
|
|
25620
|
-
* Find which line contains the given Y coordinate
|
|
25675
|
+
/**
|
|
25676
|
+
* Find which line contains the given Y coordinate
|
|
25621
25677
|
*/
|
|
25622
25678
|
function findLineAtY(y, lines) {
|
|
25623
25679
|
var _lines;
|
|
@@ -25640,8 +25696,8 @@ function findLineAtY(y, lines) {
|
|
|
25640
25696
|
};
|
|
25641
25697
|
}
|
|
25642
25698
|
|
|
25643
|
-
/**
|
|
25644
|
-
* Find character position within a line at given X coordinate
|
|
25699
|
+
/**
|
|
25700
|
+
* Find character position within a line at given X coordinate
|
|
25645
25701
|
*/
|
|
25646
25702
|
function findCharAtX(x, line, options) {
|
|
25647
25703
|
if (line.bounds.length === 0) {
|
|
@@ -25747,8 +25803,8 @@ function findCharAtX(x, line, options) {
|
|
|
25747
25803
|
};
|
|
25748
25804
|
}
|
|
25749
25805
|
|
|
25750
|
-
/**
|
|
25751
|
-
* Calculate total insertion index from line and character indices
|
|
25806
|
+
/**
|
|
25807
|
+
* Calculate total insertion index from line and character indices
|
|
25752
25808
|
*/
|
|
25753
25809
|
function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
25754
25810
|
let insertionIndex = 0;
|
|
@@ -25767,8 +25823,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
|
25767
25823
|
return insertionIndex;
|
|
25768
25824
|
}
|
|
25769
25825
|
|
|
25770
|
-
/**
|
|
25771
|
-
* Find line and grapheme position from insertion index
|
|
25826
|
+
/**
|
|
25827
|
+
* Find line and grapheme position from insertion index
|
|
25772
25828
|
*/
|
|
25773
25829
|
function findPositionFromIndex(insertionIndex, layout) {
|
|
25774
25830
|
let currentIndex = 0;
|
|
@@ -25810,8 +25866,8 @@ function findPositionFromIndex(insertionIndex, layout) {
|
|
|
25810
25866
|
};
|
|
25811
25867
|
}
|
|
25812
25868
|
|
|
25813
|
-
/**
|
|
25814
|
-
* Calculate Y position of a line
|
|
25869
|
+
/**
|
|
25870
|
+
* Calculate Y position of a line
|
|
25815
25871
|
*/
|
|
25816
25872
|
function calculateLineY(lineIndex, layout, options) {
|
|
25817
25873
|
let y = 0;
|
|
@@ -25914,48 +25970,48 @@ const iTextDefaultValues = {
|
|
|
25914
25970
|
|
|
25915
25971
|
// @TODO this is not complete
|
|
25916
25972
|
|
|
25917
|
-
/**
|
|
25918
|
-
* @fires changed
|
|
25919
|
-
* @fires selection:changed
|
|
25920
|
-
* @fires editing:entered
|
|
25921
|
-
* @fires editing:exited
|
|
25922
|
-
* @fires dragstart
|
|
25923
|
-
* @fires drag drag event firing on the drag source
|
|
25924
|
-
* @fires dragend
|
|
25925
|
-
* @fires copy
|
|
25926
|
-
* @fires cut
|
|
25927
|
-
* @fires paste
|
|
25928
|
-
*
|
|
25929
|
-
* #### Supported key combinations
|
|
25930
|
-
* ```
|
|
25931
|
-
* Move cursor: left, right, up, down
|
|
25932
|
-
* Select character: shift + left, shift + right
|
|
25933
|
-
* Select text vertically: shift + up, shift + down
|
|
25934
|
-
* Move cursor by word: alt + left, alt + right
|
|
25935
|
-
* Select words: shift + alt + left, shift + alt + right
|
|
25936
|
-
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25937
|
-
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25938
|
-
* Jump to start/end of text: cmd + up, cmd + down
|
|
25939
|
-
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25940
|
-
* Delete character: backspace
|
|
25941
|
-
* Delete word: alt + backspace
|
|
25942
|
-
* Delete line: cmd + backspace
|
|
25943
|
-
* Forward delete: delete
|
|
25944
|
-
* Copy text: ctrl/cmd + c
|
|
25945
|
-
* Paste text: ctrl/cmd + v
|
|
25946
|
-
* Cut text: ctrl/cmd + x
|
|
25947
|
-
* Select entire text: ctrl/cmd + a
|
|
25948
|
-
* Quit editing tab or esc
|
|
25949
|
-
* ```
|
|
25950
|
-
*
|
|
25951
|
-
* #### Supported mouse/touch combination
|
|
25952
|
-
* ```
|
|
25953
|
-
* Position cursor: click/touch
|
|
25954
|
-
* Create selection: click/touch & drag
|
|
25955
|
-
* Create selection: click & shift + click
|
|
25956
|
-
* Select word: double click
|
|
25957
|
-
* Select line: triple click
|
|
25958
|
-
* ```
|
|
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
|
+
* ```
|
|
25959
26015
|
*/
|
|
25960
26016
|
class IText extends ITextClickBehavior {
|
|
25961
26017
|
static getDefaults() {
|
|
@@ -25970,10 +26026,10 @@ class IText extends ITextClickBehavior {
|
|
|
25970
26026
|
return type === 'itext' ? 'i-text' : type;
|
|
25971
26027
|
}
|
|
25972
26028
|
|
|
25973
|
-
/**
|
|
25974
|
-
* Constructor
|
|
25975
|
-
* @param {String} text Text string
|
|
25976
|
-
* @param {Object} [options] Options object
|
|
26029
|
+
/**
|
|
26030
|
+
* Constructor
|
|
26031
|
+
* @param {String} text Text string
|
|
26032
|
+
* @param {Object} [options] Options object
|
|
25977
26033
|
*/
|
|
25978
26034
|
constructor(text, options) {
|
|
25979
26035
|
super(text, {
|
|
@@ -25983,11 +26039,11 @@ class IText extends ITextClickBehavior {
|
|
|
25983
26039
|
this.initBehavior();
|
|
25984
26040
|
}
|
|
25985
26041
|
|
|
25986
|
-
/**
|
|
25987
|
-
* While editing handle differently
|
|
25988
|
-
* @private
|
|
25989
|
-
* @param {string} key
|
|
25990
|
-
* @param {*} value
|
|
26042
|
+
/**
|
|
26043
|
+
* While editing handle differently
|
|
26044
|
+
* @private
|
|
26045
|
+
* @param {string} key
|
|
26046
|
+
* @param {*} value
|
|
25991
26047
|
*/
|
|
25992
26048
|
_set(key, value) {
|
|
25993
26049
|
if (this.isEditing && this._savedProps && key in this._savedProps) {
|
|
@@ -26002,28 +26058,28 @@ class IText extends ITextClickBehavior {
|
|
|
26002
26058
|
return super._set(key, value);
|
|
26003
26059
|
}
|
|
26004
26060
|
|
|
26005
|
-
/**
|
|
26006
|
-
* Sets selection start (left boundary of a selection)
|
|
26007
|
-
* @param {Number} index Index to set selection start to
|
|
26061
|
+
/**
|
|
26062
|
+
* Sets selection start (left boundary of a selection)
|
|
26063
|
+
* @param {Number} index Index to set selection start to
|
|
26008
26064
|
*/
|
|
26009
26065
|
setSelectionStart(index) {
|
|
26010
26066
|
index = Math.max(index, 0);
|
|
26011
26067
|
this._updateAndFire('selectionStart', index);
|
|
26012
26068
|
}
|
|
26013
26069
|
|
|
26014
|
-
/**
|
|
26015
|
-
* Sets selection end (right boundary of a selection)
|
|
26016
|
-
* @param {Number} index Index to set selection end to
|
|
26070
|
+
/**
|
|
26071
|
+
* Sets selection end (right boundary of a selection)
|
|
26072
|
+
* @param {Number} index Index to set selection end to
|
|
26017
26073
|
*/
|
|
26018
26074
|
setSelectionEnd(index) {
|
|
26019
26075
|
index = Math.min(index, this.text.length);
|
|
26020
26076
|
this._updateAndFire('selectionEnd', index);
|
|
26021
26077
|
}
|
|
26022
26078
|
|
|
26023
|
-
/**
|
|
26024
|
-
* @private
|
|
26025
|
-
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26026
|
-
* @param {Number} index new position of property
|
|
26079
|
+
/**
|
|
26080
|
+
* @private
|
|
26081
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26082
|
+
* @param {Number} index new position of property
|
|
26027
26083
|
*/
|
|
26028
26084
|
_updateAndFire(property, index) {
|
|
26029
26085
|
if (this[property] !== index) {
|
|
@@ -26033,9 +26089,9 @@ class IText extends ITextClickBehavior {
|
|
|
26033
26089
|
this._updateTextarea();
|
|
26034
26090
|
}
|
|
26035
26091
|
|
|
26036
|
-
/**
|
|
26037
|
-
* Fires the even of selection changed
|
|
26038
|
-
* @private
|
|
26092
|
+
/**
|
|
26093
|
+
* Fires the even of selection changed
|
|
26094
|
+
* @private
|
|
26039
26095
|
*/
|
|
26040
26096
|
_fireSelectionChanged() {
|
|
26041
26097
|
this.fire('selection:changed');
|
|
@@ -26044,25 +26100,25 @@ class IText extends ITextClickBehavior {
|
|
|
26044
26100
|
});
|
|
26045
26101
|
}
|
|
26046
26102
|
|
|
26047
|
-
/**
|
|
26048
|
-
* Initialize text dimensions. Render all text on given context
|
|
26049
|
-
* or on a offscreen canvas to get the text width with measureText.
|
|
26050
|
-
* Updates this.width and this.height with the proper values.
|
|
26051
|
-
* Does not return dimensions.
|
|
26052
|
-
* @private
|
|
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
|
|
26053
26109
|
*/
|
|
26054
26110
|
initDimensions() {
|
|
26055
26111
|
this.isEditing && this.initDelayedCursor();
|
|
26056
26112
|
super.initDimensions();
|
|
26057
26113
|
}
|
|
26058
26114
|
|
|
26059
|
-
/**
|
|
26060
|
-
* Gets style of a current selection/cursor (at the start position)
|
|
26061
|
-
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26062
|
-
* @param {Number} startIndex Start index to get styles at
|
|
26063
|
-
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26064
|
-
* @param {Boolean} [complete] get full style or not
|
|
26065
|
-
* @return {Array} styles an array with one, zero or more Style objects
|
|
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
|
|
26066
26122
|
*/
|
|
26067
26123
|
getSelectionStyles() {
|
|
26068
26124
|
let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
|
|
@@ -26071,11 +26127,11 @@ class IText extends ITextClickBehavior {
|
|
|
26071
26127
|
return super.getSelectionStyles(startIndex, endIndex, complete);
|
|
26072
26128
|
}
|
|
26073
26129
|
|
|
26074
|
-
/**
|
|
26075
|
-
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26076
|
-
* @param {Object} [styles] Styles object
|
|
26077
|
-
* @param {Number} [startIndex] Start index to get styles at
|
|
26078
|
-
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
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
|
|
26079
26135
|
*/
|
|
26080
26136
|
setSelectionStyles(styles) {
|
|
26081
26137
|
let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
|
|
@@ -26083,10 +26139,10 @@ class IText extends ITextClickBehavior {
|
|
|
26083
26139
|
return super.setSelectionStyles(styles, startIndex, endIndex);
|
|
26084
26140
|
}
|
|
26085
26141
|
|
|
26086
|
-
/**
|
|
26087
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26088
|
-
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26089
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
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.
|
|
26090
26146
|
*/
|
|
26091
26147
|
get2DCursorLocation() {
|
|
26092
26148
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26094,9 +26150,9 @@ class IText extends ITextClickBehavior {
|
|
|
26094
26150
|
return super.get2DCursorLocation(selectionStart, skipWrapping);
|
|
26095
26151
|
}
|
|
26096
26152
|
|
|
26097
|
-
/**
|
|
26098
|
-
* @private
|
|
26099
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26153
|
+
/**
|
|
26154
|
+
* @private
|
|
26155
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26100
26156
|
*/
|
|
26101
26157
|
render(ctx) {
|
|
26102
26158
|
super.render(ctx);
|
|
@@ -26106,9 +26162,9 @@ class IText extends ITextClickBehavior {
|
|
|
26106
26162
|
this.renderCursorOrSelection();
|
|
26107
26163
|
}
|
|
26108
26164
|
|
|
26109
|
-
/**
|
|
26110
|
-
* @override block cursor/selection logic while rendering the exported canvas
|
|
26111
|
-
* @todo this workaround should be replaced with a more robust solution
|
|
26165
|
+
/**
|
|
26166
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
26167
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
26112
26168
|
*/
|
|
26113
26169
|
toCanvasElement(options) {
|
|
26114
26170
|
const isEditing = this.isEditing;
|
|
@@ -26118,9 +26174,9 @@ class IText extends ITextClickBehavior {
|
|
|
26118
26174
|
return canvas;
|
|
26119
26175
|
}
|
|
26120
26176
|
|
|
26121
|
-
/**
|
|
26122
|
-
* Renders cursor or selection (depending on what exists)
|
|
26123
|
-
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26177
|
+
/**
|
|
26178
|
+
* Renders cursor or selection (depending on what exists)
|
|
26179
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26124
26180
|
*/
|
|
26125
26181
|
renderCursorOrSelection() {
|
|
26126
26182
|
if (!this.isEditing || !this.canvas) {
|
|
@@ -26176,12 +26232,12 @@ class IText extends ITextClickBehavior {
|
|
|
26176
26232
|
ctx.restore();
|
|
26177
26233
|
}
|
|
26178
26234
|
|
|
26179
|
-
/**
|
|
26180
|
-
* Finds and returns an array of clip paths that are applied to the parent
|
|
26181
|
-
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26182
|
-
* traversed upwards (from the current object towards the root of the canvas),
|
|
26183
|
-
* checking each parent object for the presence of a `clipPath` that is not
|
|
26184
|
-
* absolutely positioned.
|
|
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.
|
|
26185
26241
|
*/
|
|
26186
26242
|
findAncestorsWithClipPath() {
|
|
26187
26243
|
const clipPathAncestors = [];
|
|
@@ -26196,13 +26252,13 @@ class IText extends ITextClickBehavior {
|
|
|
26196
26252
|
return clipPathAncestors;
|
|
26197
26253
|
}
|
|
26198
26254
|
|
|
26199
|
-
/**
|
|
26200
|
-
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26201
|
-
* left/top are left/top of entire text box
|
|
26202
|
-
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26203
|
-
* @private
|
|
26204
|
-
* @param {number} [index] index from start
|
|
26205
|
-
* @param {boolean} [skipCaching]
|
|
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]
|
|
26206
26262
|
*/
|
|
26207
26263
|
_getCursorBoundaries() {
|
|
26208
26264
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26216,11 +26272,11 @@ class IText extends ITextClickBehavior {
|
|
|
26216
26272
|
return this._getCursorBoundariesOriginal(index, skipCaching);
|
|
26217
26273
|
}
|
|
26218
26274
|
|
|
26219
|
-
/**
|
|
26220
|
-
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26221
|
-
* @private
|
|
26222
|
-
* @param {number} index index from start
|
|
26223
|
-
* @param {boolean} [skipCaching]
|
|
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]
|
|
26224
26280
|
*/
|
|
26225
26281
|
_getCursorBoundariesOffsets(index, skipCaching) {
|
|
26226
26282
|
if (skipCaching) {
|
|
@@ -26232,9 +26288,9 @@ class IText extends ITextClickBehavior {
|
|
|
26232
26288
|
return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
|
|
26233
26289
|
}
|
|
26234
26290
|
|
|
26235
|
-
/**
|
|
26236
|
-
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26237
|
-
* @private
|
|
26291
|
+
/**
|
|
26292
|
+
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26293
|
+
* @private
|
|
26238
26294
|
*/
|
|
26239
26295
|
_getCursorBoundariesAdvanced(index) {
|
|
26240
26296
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26250,9 +26306,9 @@ class IText extends ITextClickBehavior {
|
|
|
26250
26306
|
};
|
|
26251
26307
|
}
|
|
26252
26308
|
|
|
26253
|
-
/**
|
|
26254
|
-
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26255
|
-
* @override
|
|
26309
|
+
/**
|
|
26310
|
+
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26311
|
+
* @override
|
|
26256
26312
|
*/
|
|
26257
26313
|
getSelectionStartFromPointer(e) {
|
|
26258
26314
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26266,9 +26322,9 @@ class IText extends ITextClickBehavior {
|
|
|
26266
26322
|
return Math.min(hitResult.charIndex, this._text.length);
|
|
26267
26323
|
}
|
|
26268
26324
|
|
|
26269
|
-
/**
|
|
26270
|
-
* Original cursor boundaries implementation
|
|
26271
|
-
* @private
|
|
26325
|
+
/**
|
|
26326
|
+
* Original cursor boundaries implementation
|
|
26327
|
+
* @private
|
|
26272
26328
|
*/
|
|
26273
26329
|
_getCursorBoundariesOriginal(index, skipCaching) {
|
|
26274
26330
|
const left = this._getLeftOffset(),
|
|
@@ -26282,10 +26338,10 @@ class IText extends ITextClickBehavior {
|
|
|
26282
26338
|
};
|
|
26283
26339
|
}
|
|
26284
26340
|
|
|
26285
|
-
/**
|
|
26286
|
-
* Calculates cursor left/top offset relative to instance's center point
|
|
26287
|
-
* @private
|
|
26288
|
-
* @param {number} index index from start
|
|
26341
|
+
/**
|
|
26342
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
26343
|
+
* @private
|
|
26344
|
+
* @param {number} index index from start
|
|
26289
26345
|
*/
|
|
26290
26346
|
__getCursorBoundariesOffsets(index) {
|
|
26291
26347
|
let topOffset = 0,
|
|
@@ -26319,29 +26375,29 @@ class IText extends ITextClickBehavior {
|
|
|
26319
26375
|
return boundaries;
|
|
26320
26376
|
}
|
|
26321
26377
|
|
|
26322
|
-
/**
|
|
26323
|
-
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26324
|
-
* Used for the drag/drop effect.
|
|
26325
|
-
* If contextTop is not available, do nothing.
|
|
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.
|
|
26326
26382
|
*/
|
|
26327
26383
|
renderCursorAt(selectionStart) {
|
|
26328
26384
|
this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
|
|
26329
26385
|
}
|
|
26330
26386
|
|
|
26331
|
-
/**
|
|
26332
|
-
* Renders cursor
|
|
26333
|
-
* @param {Object} boundaries
|
|
26334
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26387
|
+
/**
|
|
26388
|
+
* Renders cursor
|
|
26389
|
+
* @param {Object} boundaries
|
|
26390
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26335
26391
|
*/
|
|
26336
26392
|
renderCursor(ctx, boundaries) {
|
|
26337
26393
|
this._renderCursor(ctx, boundaries, this.selectionStart);
|
|
26338
26394
|
}
|
|
26339
26395
|
|
|
26340
|
-
/**
|
|
26341
|
-
* Return the data needed to render the cursor for given selection start
|
|
26342
|
-
* The left,top are relative to the object, while width and height are prescaled
|
|
26343
|
-
* to look think with canvas zoom and object scaling,
|
|
26344
|
-
* so they depend on canvas and object scaling
|
|
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
|
|
26345
26401
|
*/
|
|
26346
26402
|
getCursorRenderingData() {
|
|
26347
26403
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26364,9 +26420,9 @@ class IText extends ITextClickBehavior {
|
|
|
26364
26420
|
};
|
|
26365
26421
|
}
|
|
26366
26422
|
|
|
26367
|
-
/**
|
|
26368
|
-
* Render the cursor at the given selectionStart.
|
|
26369
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26423
|
+
/**
|
|
26424
|
+
* Render the cursor at the given selectionStart.
|
|
26425
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26370
26426
|
*/
|
|
26371
26427
|
_renderCursor(ctx, boundaries, selectionStart) {
|
|
26372
26428
|
const {
|
|
@@ -26382,10 +26438,10 @@ class IText extends ITextClickBehavior {
|
|
|
26382
26438
|
ctx.fillRect(left, top, width, height);
|
|
26383
26439
|
}
|
|
26384
26440
|
|
|
26385
|
-
/**
|
|
26386
|
-
* Renders text selection
|
|
26387
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26388
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26441
|
+
/**
|
|
26442
|
+
* Renders text selection
|
|
26443
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26444
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26389
26445
|
*/
|
|
26390
26446
|
renderSelection(ctx, boundaries) {
|
|
26391
26447
|
const selection = {
|
|
@@ -26395,8 +26451,8 @@ class IText extends ITextClickBehavior {
|
|
|
26395
26451
|
this._renderSelection(ctx, selection, boundaries);
|
|
26396
26452
|
}
|
|
26397
26453
|
|
|
26398
|
-
/**
|
|
26399
|
-
* Renders drag start text selection
|
|
26454
|
+
/**
|
|
26455
|
+
* Renders drag start text selection
|
|
26400
26456
|
*/
|
|
26401
26457
|
renderDragSourceEffect() {
|
|
26402
26458
|
const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
|
|
@@ -26407,12 +26463,12 @@ class IText extends ITextClickBehavior {
|
|
|
26407
26463
|
this.renderCursorAt(dragSelection);
|
|
26408
26464
|
}
|
|
26409
26465
|
|
|
26410
|
-
/**
|
|
26411
|
-
* Renders text selection
|
|
26412
|
-
* @private
|
|
26413
|
-
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26414
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26415
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
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
|
|
26416
26472
|
*/
|
|
26417
26473
|
_renderSelection(ctx, selection, boundaries) {
|
|
26418
26474
|
const selectionStart = selection.selectionStart,
|
|
@@ -26474,34 +26530,34 @@ class IText extends ITextClickBehavior {
|
|
|
26474
26530
|
}
|
|
26475
26531
|
}
|
|
26476
26532
|
|
|
26477
|
-
/**
|
|
26478
|
-
* High level function to know the height of the cursor.
|
|
26479
|
-
* the currentChar is the one that precedes the cursor
|
|
26480
|
-
* Returns fontSize of char at the current cursor
|
|
26481
|
-
* Unused from the library, is for the end user
|
|
26482
|
-
* @return {Number} Character font size
|
|
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
|
|
26483
26539
|
*/
|
|
26484
26540
|
getCurrentCharFontSize() {
|
|
26485
26541
|
const cp = this._getCurrentCharIndex();
|
|
26486
26542
|
return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
|
|
26487
26543
|
}
|
|
26488
26544
|
|
|
26489
|
-
/**
|
|
26490
|
-
* High level function to know the color of the cursor.
|
|
26491
|
-
* the currentChar is the one that precedes the cursor
|
|
26492
|
-
* Returns color (fill) of char at the current cursor
|
|
26493
|
-
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26494
|
-
* Unused by the library, is for the end user
|
|
26495
|
-
* @return {String | TFiller} Character color (fill)
|
|
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)
|
|
26496
26552
|
*/
|
|
26497
26553
|
getCurrentCharColor() {
|
|
26498
26554
|
const cp = this._getCurrentCharIndex();
|
|
26499
26555
|
return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
|
|
26500
26556
|
}
|
|
26501
26557
|
|
|
26502
|
-
/**
|
|
26503
|
-
* Returns the cursor position for the getCurrent.. functions
|
|
26504
|
-
* @private
|
|
26558
|
+
/**
|
|
26559
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
26560
|
+
* @private
|
|
26505
26561
|
*/
|
|
26506
26562
|
_getCurrentCharIndex() {
|
|
26507
26563
|
const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
|
|
@@ -26517,52 +26573,52 @@ class IText extends ITextClickBehavior {
|
|
|
26517
26573
|
super.dispose();
|
|
26518
26574
|
}
|
|
26519
26575
|
}
|
|
26520
|
-
/**
|
|
26521
|
-
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26522
|
-
* @type Number
|
|
26576
|
+
/**
|
|
26577
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26578
|
+
* @type Number
|
|
26523
26579
|
*/
|
|
26524
|
-
/**
|
|
26525
|
-
* Index where text selection ends
|
|
26526
|
-
* @type Number
|
|
26580
|
+
/**
|
|
26581
|
+
* Index where text selection ends
|
|
26582
|
+
* @type Number
|
|
26527
26583
|
*/
|
|
26528
|
-
/**
|
|
26529
|
-
* Color of text selection
|
|
26530
|
-
* @type String
|
|
26584
|
+
/**
|
|
26585
|
+
* Color of text selection
|
|
26586
|
+
* @type String
|
|
26531
26587
|
*/
|
|
26532
|
-
/**
|
|
26533
|
-
* Indicates whether text is in editing mode
|
|
26534
|
-
* @type Boolean
|
|
26588
|
+
/**
|
|
26589
|
+
* Indicates whether text is in editing mode
|
|
26590
|
+
* @type Boolean
|
|
26535
26591
|
*/
|
|
26536
|
-
/**
|
|
26537
|
-
* Indicates whether a text can be edited
|
|
26538
|
-
* @type Boolean
|
|
26592
|
+
/**
|
|
26593
|
+
* Indicates whether a text can be edited
|
|
26594
|
+
* @type Boolean
|
|
26539
26595
|
*/
|
|
26540
|
-
/**
|
|
26541
|
-
* Border color of text object while it's in editing mode
|
|
26542
|
-
* @type String
|
|
26596
|
+
/**
|
|
26597
|
+
* Border color of text object while it's in editing mode
|
|
26598
|
+
* @type String
|
|
26543
26599
|
*/
|
|
26544
|
-
/**
|
|
26545
|
-
* Width of cursor (in px)
|
|
26546
|
-
* @type Number
|
|
26600
|
+
/**
|
|
26601
|
+
* Width of cursor (in px)
|
|
26602
|
+
* @type Number
|
|
26547
26603
|
*/
|
|
26548
|
-
/**
|
|
26549
|
-
* Color of text cursor color in editing mode.
|
|
26550
|
-
* if not set (default) will take color from the text.
|
|
26551
|
-
* if set to a color value that fabric can understand, it will
|
|
26552
|
-
* be used instead of the color of the text at the current position.
|
|
26553
|
-
* @type String
|
|
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
|
|
26554
26610
|
*/
|
|
26555
|
-
/**
|
|
26556
|
-
* Delay between cursor blink (in ms)
|
|
26557
|
-
* @type Number
|
|
26611
|
+
/**
|
|
26612
|
+
* Delay between cursor blink (in ms)
|
|
26613
|
+
* @type Number
|
|
26558
26614
|
*/
|
|
26559
|
-
/**
|
|
26560
|
-
* Duration of cursor fade in (in ms)
|
|
26561
|
-
* @type Number
|
|
26615
|
+
/**
|
|
26616
|
+
* Duration of cursor fade in (in ms)
|
|
26617
|
+
* @type Number
|
|
26562
26618
|
*/
|
|
26563
|
-
/**
|
|
26564
|
-
* Indicates whether internal text char widths can be cached
|
|
26565
|
-
* @type Boolean
|
|
26619
|
+
/**
|
|
26620
|
+
* Indicates whether internal text char widths can be cached
|
|
26621
|
+
* @type Boolean
|
|
26566
26622
|
*/
|
|
26567
26623
|
_defineProperty(IText, "ownDefaults", iTextDefaultValues);
|
|
26568
26624
|
_defineProperty(IText, "type", 'IText');
|
|
@@ -26584,11 +26640,11 @@ const textboxDefaultValues = {
|
|
|
26584
26640
|
|
|
26585
26641
|
// @TODO this is not complete
|
|
26586
26642
|
|
|
26587
|
-
/**
|
|
26588
|
-
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26589
|
-
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26590
|
-
* user can only change width. Height is adjusted automatically based on the
|
|
26591
|
-
* wrapping of lines.
|
|
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.
|
|
26592
26648
|
*/
|
|
26593
26649
|
class Textbox extends IText {
|
|
26594
26650
|
static getDefaults() {
|
|
@@ -26598,10 +26654,10 @@ class Textbox extends IText {
|
|
|
26598
26654
|
};
|
|
26599
26655
|
}
|
|
26600
26656
|
|
|
26601
|
-
/**
|
|
26602
|
-
* Constructor
|
|
26603
|
-
* @param {String} text Text string
|
|
26604
|
-
* @param {Object} [options] Options object
|
|
26657
|
+
/**
|
|
26658
|
+
* Constructor
|
|
26659
|
+
* @param {String} text Text string
|
|
26660
|
+
* @param {Object} [options] Options object
|
|
26605
26661
|
*/
|
|
26606
26662
|
constructor(text, options) {
|
|
26607
26663
|
super(text, {
|
|
@@ -26611,10 +26667,10 @@ class Textbox extends IText {
|
|
|
26611
26667
|
this.initializeEventListeners();
|
|
26612
26668
|
}
|
|
26613
26669
|
|
|
26614
|
-
/**
|
|
26615
|
-
* Creates the default control object.
|
|
26616
|
-
* If you prefer to have on instance of controls shared among all objects
|
|
26617
|
-
* make this function return an empty object and add controls to the ownDefaults object
|
|
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
|
|
26618
26674
|
*/
|
|
26619
26675
|
static createControls() {
|
|
26620
26676
|
return {
|
|
@@ -26622,11 +26678,11 @@ class Textbox extends IText {
|
|
|
26622
26678
|
};
|
|
26623
26679
|
}
|
|
26624
26680
|
|
|
26625
|
-
/**
|
|
26626
|
-
* Unlike superclass's version of this function, Textbox does not update
|
|
26627
|
-
* its width.
|
|
26628
|
-
* @private
|
|
26629
|
-
* @override
|
|
26681
|
+
/**
|
|
26682
|
+
* Unlike superclass's version of this function, Textbox does not update
|
|
26683
|
+
* its width.
|
|
26684
|
+
* @private
|
|
26685
|
+
* @override
|
|
26630
26686
|
*/
|
|
26631
26687
|
initDimensions() {
|
|
26632
26688
|
if (!this.initialized) {
|
|
@@ -26770,9 +26826,9 @@ class Textbox extends IText {
|
|
|
26770
26826
|
}
|
|
26771
26827
|
}
|
|
26772
26828
|
|
|
26773
|
-
/**
|
|
26774
|
-
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26775
|
-
* @private
|
|
26829
|
+
/**
|
|
26830
|
+
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26831
|
+
* @private
|
|
26776
26832
|
*/
|
|
26777
26833
|
_scheduleJustifyAfterFontLoad() {
|
|
26778
26834
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -26799,9 +26855,9 @@ class Textbox extends IText {
|
|
|
26799
26855
|
});
|
|
26800
26856
|
}
|
|
26801
26857
|
|
|
26802
|
-
/**
|
|
26803
|
-
* Advanced dimensions calculation using new layout engine
|
|
26804
|
-
* @private
|
|
26858
|
+
/**
|
|
26859
|
+
* Advanced dimensions calculation using new layout engine
|
|
26860
|
+
* @private
|
|
26805
26861
|
*/
|
|
26806
26862
|
initDimensionsAdvanced() {
|
|
26807
26863
|
if (!this.initialized) {
|
|
@@ -26856,9 +26912,9 @@ class Textbox extends IText {
|
|
|
26856
26912
|
this.dirty = true;
|
|
26857
26913
|
}
|
|
26858
26914
|
|
|
26859
|
-
/**
|
|
26860
|
-
* Generate style map from new layout format
|
|
26861
|
-
* @private
|
|
26915
|
+
/**
|
|
26916
|
+
* Generate style map from new layout format
|
|
26917
|
+
* @private
|
|
26862
26918
|
*/
|
|
26863
26919
|
_generateStyleMapFromLayout(layout) {
|
|
26864
26920
|
const map = {};
|
|
@@ -26880,12 +26936,12 @@ class Textbox extends IText {
|
|
|
26880
26936
|
return map;
|
|
26881
26937
|
}
|
|
26882
26938
|
|
|
26883
|
-
/**
|
|
26884
|
-
* Generate an object that translates the style object so that it is
|
|
26885
|
-
* broken up by visual lines (new lines and automatic wrapping).
|
|
26886
|
-
* The original text styles object is broken up by actual lines (new lines only),
|
|
26887
|
-
* which is only sufficient for Text / IText
|
|
26888
|
-
* @private
|
|
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
|
|
26889
26945
|
*/
|
|
26890
26946
|
_generateStyleMap(textInfo) {
|
|
26891
26947
|
let realLineCount = 0,
|
|
@@ -26912,10 +26968,10 @@ class Textbox extends IText {
|
|
|
26912
26968
|
return map;
|
|
26913
26969
|
}
|
|
26914
26970
|
|
|
26915
|
-
/**
|
|
26916
|
-
* Returns true if object has a style property or has it on a specified line
|
|
26917
|
-
* @param {Number} lineIndex
|
|
26918
|
-
* @return {Boolean}
|
|
26971
|
+
/**
|
|
26972
|
+
* Returns true if object has a style property or has it on a specified line
|
|
26973
|
+
* @param {Number} lineIndex
|
|
26974
|
+
* @return {Boolean}
|
|
26919
26975
|
*/
|
|
26920
26976
|
styleHas(property, lineIndex) {
|
|
26921
26977
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26927,10 +26983,10 @@ class Textbox extends IText {
|
|
|
26927
26983
|
return super.styleHas(property, lineIndex);
|
|
26928
26984
|
}
|
|
26929
26985
|
|
|
26930
|
-
/**
|
|
26931
|
-
* Returns true if object has no styling or no styling in a line
|
|
26932
|
-
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26933
|
-
* @return {Boolean}
|
|
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}
|
|
26934
26990
|
*/
|
|
26935
26991
|
isEmptyStyles(lineIndex) {
|
|
26936
26992
|
if (!this.styles) {
|
|
@@ -26967,11 +27023,11 @@ class Textbox extends IText {
|
|
|
26967
27023
|
return true;
|
|
26968
27024
|
}
|
|
26969
27025
|
|
|
26970
|
-
/**
|
|
26971
|
-
* @protected
|
|
26972
|
-
* @param {Number} lineIndex
|
|
26973
|
-
* @param {Number} charIndex
|
|
26974
|
-
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
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
|
|
26975
27031
|
*/
|
|
26976
27032
|
_getStyleDeclaration(lineIndex, charIndex) {
|
|
26977
27033
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26985,59 +27041,59 @@ class Textbox extends IText {
|
|
|
26985
27041
|
return super._getStyleDeclaration(lineIndex, charIndex);
|
|
26986
27042
|
}
|
|
26987
27043
|
|
|
26988
|
-
/**
|
|
26989
|
-
* @param {Number} lineIndex
|
|
26990
|
-
* @param {Number} charIndex
|
|
26991
|
-
* @param {Object} style
|
|
26992
|
-
* @private
|
|
27044
|
+
/**
|
|
27045
|
+
* @param {Number} lineIndex
|
|
27046
|
+
* @param {Number} charIndex
|
|
27047
|
+
* @param {Object} style
|
|
27048
|
+
* @private
|
|
26993
27049
|
*/
|
|
26994
27050
|
_setStyleDeclaration(lineIndex, charIndex, style) {
|
|
26995
27051
|
const map = this._styleMap[lineIndex];
|
|
26996
27052
|
super._setStyleDeclaration(map.line, map.offset + charIndex, style);
|
|
26997
27053
|
}
|
|
26998
27054
|
|
|
26999
|
-
/**
|
|
27000
|
-
* @param {Number} lineIndex
|
|
27001
|
-
* @param {Number} charIndex
|
|
27002
|
-
* @private
|
|
27055
|
+
/**
|
|
27056
|
+
* @param {Number} lineIndex
|
|
27057
|
+
* @param {Number} charIndex
|
|
27058
|
+
* @private
|
|
27003
27059
|
*/
|
|
27004
27060
|
_deleteStyleDeclaration(lineIndex, charIndex) {
|
|
27005
27061
|
const map = this._styleMap[lineIndex];
|
|
27006
27062
|
super._deleteStyleDeclaration(map.line, map.offset + charIndex);
|
|
27007
27063
|
}
|
|
27008
27064
|
|
|
27009
|
-
/**
|
|
27010
|
-
* probably broken need a fix
|
|
27011
|
-
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
27012
|
-
* Used just to verify if the line does exist or not.
|
|
27013
|
-
* @param {Number} lineIndex
|
|
27014
|
-
* @returns {Boolean} if the line exists or not
|
|
27015
|
-
* @private
|
|
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
|
|
27016
27072
|
*/
|
|
27017
27073
|
_getLineStyle(lineIndex) {
|
|
27018
27074
|
const map = this._styleMap[lineIndex];
|
|
27019
27075
|
return !!this.styles[map.line];
|
|
27020
27076
|
}
|
|
27021
27077
|
|
|
27022
|
-
/**
|
|
27023
|
-
* Set the line style to an empty object so that is initialized
|
|
27024
|
-
* @param {Number} lineIndex
|
|
27025
|
-
* @param {Object} style
|
|
27026
|
-
* @private
|
|
27078
|
+
/**
|
|
27079
|
+
* Set the line style to an empty object so that is initialized
|
|
27080
|
+
* @param {Number} lineIndex
|
|
27081
|
+
* @param {Object} style
|
|
27082
|
+
* @private
|
|
27027
27083
|
*/
|
|
27028
27084
|
_setLineStyle(lineIndex) {
|
|
27029
27085
|
const map = this._styleMap[lineIndex];
|
|
27030
27086
|
super._setLineStyle(map.line);
|
|
27031
27087
|
}
|
|
27032
27088
|
|
|
27033
|
-
/**
|
|
27034
|
-
* Wraps text using the 'width' property of Textbox. First this function
|
|
27035
|
-
* splits text on newlines, so we preserve newlines entered by the user.
|
|
27036
|
-
* Then it wraps each line using the width of the Textbox by calling
|
|
27037
|
-
* _wrapLine().
|
|
27038
|
-
* @param {Array} lines The string array of text that is split into lines
|
|
27039
|
-
* @param {Number} desiredWidth width you want to wrap to
|
|
27040
|
-
* @returns {Array} Array of lines
|
|
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
|
|
27041
27097
|
*/
|
|
27042
27098
|
_wrapText(lines, desiredWidth) {
|
|
27043
27099
|
this.isWrapping = true;
|
|
@@ -27051,12 +27107,12 @@ class Textbox extends IText {
|
|
|
27051
27107
|
return wrapped;
|
|
27052
27108
|
}
|
|
27053
27109
|
|
|
27054
|
-
/**
|
|
27055
|
-
* For each line of text terminated by an hard line stop,
|
|
27056
|
-
* measure each word width and extract the largest word from all.
|
|
27057
|
-
* The returned words here are the one that at the end will be rendered.
|
|
27058
|
-
* @param {string[]} lines the lines we need to measure
|
|
27059
|
-
*
|
|
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
|
+
*
|
|
27060
27116
|
*/
|
|
27061
27117
|
getGraphemeDataForRender(lines) {
|
|
27062
27118
|
const splitByGrapheme = this.splitByGrapheme,
|
|
@@ -27089,17 +27145,17 @@ class Textbox extends IText {
|
|
|
27089
27145
|
};
|
|
27090
27146
|
}
|
|
27091
27147
|
|
|
27092
|
-
/**
|
|
27093
|
-
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27094
|
-
* It gets called when charBounds are not available yet.
|
|
27095
|
-
* Override if necessary
|
|
27096
|
-
* Use with {@link Textbox#wordSplit}
|
|
27097
|
-
*
|
|
27098
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
27099
|
-
* @param {String} text
|
|
27100
|
-
* @param {number} lineIndex
|
|
27101
|
-
* @param {number} charOffset
|
|
27102
|
-
* @returns {number}
|
|
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}
|
|
27103
27159
|
*/
|
|
27104
27160
|
_measureWord(word, lineIndex) {
|
|
27105
27161
|
let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -27114,26 +27170,26 @@ class Textbox extends IText {
|
|
|
27114
27170
|
return width;
|
|
27115
27171
|
}
|
|
27116
27172
|
|
|
27117
|
-
/**
|
|
27118
|
-
* Override this method to customize word splitting
|
|
27119
|
-
* Use with {@link Textbox#_measureWord}
|
|
27120
|
-
* @param {string} value
|
|
27121
|
-
* @returns {string[]} array of words
|
|
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
|
|
27122
27178
|
*/
|
|
27123
27179
|
wordSplit(value) {
|
|
27124
27180
|
return value.split(this._wordJoiners);
|
|
27125
27181
|
}
|
|
27126
27182
|
|
|
27127
|
-
/**
|
|
27128
|
-
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27129
|
-
* and leveraging the known width o words from GraphemeData
|
|
27130
|
-
* @private
|
|
27131
|
-
* @param {Number} lineIndex
|
|
27132
|
-
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27133
|
-
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27134
|
-
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27135
|
-
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27136
|
-
* to.
|
|
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.
|
|
27137
27193
|
*/
|
|
27138
27194
|
_wrapLine(lineIndex, desiredWidth, _ref) {
|
|
27139
27195
|
let {
|
|
@@ -27215,11 +27271,11 @@ class Textbox extends IText {
|
|
|
27215
27271
|
return graphemeLines;
|
|
27216
27272
|
}
|
|
27217
27273
|
|
|
27218
|
-
/**
|
|
27219
|
-
* Detect if the text line is ended with an hard break
|
|
27220
|
-
* text and itext do not have wrapping, return false
|
|
27221
|
-
* @param {Number} lineIndex text to split
|
|
27222
|
-
* @return {Boolean}
|
|
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}
|
|
27223
27279
|
*/
|
|
27224
27280
|
isEndOfWrapping(lineIndex) {
|
|
27225
27281
|
if (!this._styleMap[lineIndex + 1]) {
|
|
@@ -27233,12 +27289,12 @@ class Textbox extends IText {
|
|
|
27233
27289
|
return false;
|
|
27234
27290
|
}
|
|
27235
27291
|
|
|
27236
|
-
/**
|
|
27237
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27238
|
-
* and counting style.
|
|
27239
|
-
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27240
|
-
* If we are not wrapping the offset is always 1
|
|
27241
|
-
* @return Number
|
|
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
|
|
27242
27298
|
*/
|
|
27243
27299
|
missingNewlineOffset(lineIndex, skipWrapping) {
|
|
27244
27300
|
if (this.splitByGrapheme && !skipWrapping) {
|
|
@@ -27247,12 +27303,12 @@ class Textbox extends IText {
|
|
|
27247
27303
|
return 1;
|
|
27248
27304
|
}
|
|
27249
27305
|
|
|
27250
|
-
/**
|
|
27251
|
-
* Gets lines of text to render in the Textbox. This function calculates
|
|
27252
|
-
* text wrapping on the fly every time it is called.
|
|
27253
|
-
* @param {String} text text to split
|
|
27254
|
-
* @returns {Array} Array of lines in the Textbox.
|
|
27255
|
-
* @override
|
|
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
|
|
27256
27312
|
*/
|
|
27257
27313
|
_splitTextIntoLines(text) {
|
|
27258
27314
|
// Check if we need browser wrapping using smart font detection
|
|
@@ -27299,9 +27355,9 @@ class Textbox extends IText {
|
|
|
27299
27355
|
return newText;
|
|
27300
27356
|
}
|
|
27301
27357
|
|
|
27302
|
-
/**
|
|
27303
|
-
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27304
|
-
* @private
|
|
27358
|
+
/**
|
|
27359
|
+
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27360
|
+
* @private
|
|
27305
27361
|
*/
|
|
27306
27362
|
_splitTextIntoLinesWithBrowser(text) {
|
|
27307
27363
|
if (typeof document === 'undefined') {
|
|
@@ -27427,9 +27483,9 @@ class Textbox extends IText {
|
|
|
27427
27483
|
};
|
|
27428
27484
|
}
|
|
27429
27485
|
|
|
27430
|
-
/**
|
|
27431
|
-
* Extract justify space measurements from browser
|
|
27432
|
-
* @private
|
|
27486
|
+
/**
|
|
27487
|
+
* Extract justify space measurements from browser
|
|
27488
|
+
* @private
|
|
27433
27489
|
*/
|
|
27434
27490
|
_extractJustifySpaceMeasurements(element, lines) {
|
|
27435
27491
|
console.log(`🔤 Extracting browser justify space measurements for ${lines.length} lines`);
|
|
@@ -27465,9 +27521,9 @@ class Textbox extends IText {
|
|
|
27465
27521
|
return spaceWidths;
|
|
27466
27522
|
}
|
|
27467
27523
|
|
|
27468
|
-
/**
|
|
27469
|
-
* Apply browser-calculated justify space measurements
|
|
27470
|
-
* @private
|
|
27524
|
+
/**
|
|
27525
|
+
* Apply browser-calculated justify space measurements
|
|
27526
|
+
* @private
|
|
27471
27527
|
*/
|
|
27472
27528
|
_applyBrowserJustifySpaces() {
|
|
27473
27529
|
if (!this._textLines || !this.__charBounds) {
|
|
@@ -27504,9 +27560,9 @@ class Textbox extends IText {
|
|
|
27504
27560
|
});
|
|
27505
27561
|
}
|
|
27506
27562
|
|
|
27507
|
-
/**
|
|
27508
|
-
* Fallback to default Fabric wrapping
|
|
27509
|
-
* @private
|
|
27563
|
+
/**
|
|
27564
|
+
* Fallback to default Fabric wrapping
|
|
27565
|
+
* @private
|
|
27510
27566
|
*/
|
|
27511
27567
|
_splitTextIntoLinesDefault(text) {
|
|
27512
27568
|
const newText = super._splitTextIntoLines(text),
|
|
@@ -27538,9 +27594,9 @@ class Textbox extends IText {
|
|
|
27538
27594
|
}
|
|
27539
27595
|
}
|
|
27540
27596
|
|
|
27541
|
-
/**
|
|
27542
|
-
* Initialize event listeners for safety snap functionality
|
|
27543
|
-
* @private
|
|
27597
|
+
/**
|
|
27598
|
+
* Initialize event listeners for safety snap functionality
|
|
27599
|
+
* @private
|
|
27544
27600
|
*/
|
|
27545
27601
|
initializeEventListeners() {
|
|
27546
27602
|
var _this$canvas4;
|
|
@@ -27583,12 +27639,12 @@ class Textbox extends IText {
|
|
|
27583
27639
|
});
|
|
27584
27640
|
}
|
|
27585
27641
|
|
|
27586
|
-
/**
|
|
27587
|
-
* Safety snap to prevent glyph clipping after manual resize.
|
|
27588
|
-
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27589
|
-
* and automatically expands width if needed.
|
|
27590
|
-
* @private
|
|
27591
|
-
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
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')
|
|
27592
27648
|
*/
|
|
27593
27649
|
safetySnapWidth(resizeOrigin) {
|
|
27594
27650
|
// For Textbox objects, we always want to check for clipping regardless of isWrapping flag
|
|
@@ -27655,9 +27711,9 @@ class Textbox extends IText {
|
|
|
27655
27711
|
}
|
|
27656
27712
|
}
|
|
27657
27713
|
|
|
27658
|
-
/**
|
|
27659
|
-
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27660
|
-
* @private
|
|
27714
|
+
/**
|
|
27715
|
+
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27716
|
+
* @private
|
|
27661
27717
|
*/
|
|
27662
27718
|
_fixCharacterMappingAfterJsonLoad() {
|
|
27663
27719
|
if (this._usingBrowserWrapping) {
|
|
@@ -27677,9 +27733,9 @@ class Textbox extends IText {
|
|
|
27677
27733
|
}
|
|
27678
27734
|
}
|
|
27679
27735
|
|
|
27680
|
-
/**
|
|
27681
|
-
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27682
|
-
* Overrides Text version with Textbox-specific logic
|
|
27736
|
+
/**
|
|
27737
|
+
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27738
|
+
* Overrides Text version with Textbox-specific logic
|
|
27683
27739
|
*/
|
|
27684
27740
|
forceTextReinitialization() {
|
|
27685
27741
|
console.log('🔄 Force reinitializing Textbox object');
|
|
@@ -27736,31 +27792,31 @@ class Textbox extends IText {
|
|
|
27736
27792
|
}
|
|
27737
27793
|
}
|
|
27738
27794
|
|
|
27739
|
-
/**
|
|
27740
|
-
* Returns object representation of an instance
|
|
27741
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27742
|
-
* @return {Object} object representation of an instance
|
|
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
|
|
27743
27799
|
*/
|
|
27744
27800
|
toObject() {
|
|
27745
27801
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
27746
27802
|
return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
|
|
27747
27803
|
}
|
|
27748
27804
|
}
|
|
27749
|
-
/**
|
|
27750
|
-
* Minimum width of textbox, in pixels.
|
|
27751
|
-
* @type Number
|
|
27752
|
-
*/
|
|
27753
|
-
/**
|
|
27754
|
-
* Minimum calculated width of a textbox, in pixels.
|
|
27755
|
-
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27756
|
-
* and is still selectable without text.
|
|
27757
|
-
* @type Number
|
|
27758
|
-
*/
|
|
27759
|
-
/**
|
|
27760
|
-
* Use this boolean property in order to split strings that have no white space concept.
|
|
27761
|
-
* this is a cheap way to help with chinese/japanese
|
|
27762
|
-
* @type Boolean
|
|
27763
|
-
* @since 2.6.0
|
|
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
|
|
27764
27820
|
*/
|
|
27765
27821
|
_defineProperty(Textbox, "type", 'Textbox');
|
|
27766
27822
|
_defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);
|