@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.mjs
CHANGED
|
@@ -354,7 +354,7 @@ class Cache {
|
|
|
354
354
|
}
|
|
355
355
|
const cache = new Cache();
|
|
356
356
|
|
|
357
|
-
var version = "7.0.1-
|
|
357
|
+
var version = "7.0.1-beta10";
|
|
358
358
|
|
|
359
359
|
// use this syntax so babel plugin see this import here
|
|
360
360
|
const VERSION = version;
|
|
@@ -19183,8 +19183,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
|
|
|
19183
19183
|
// Global measurement context - reused for performance
|
|
19184
19184
|
let measurementContext = null;
|
|
19185
19185
|
|
|
19186
|
-
/**
|
|
19187
|
-
* Get or create the shared measurement context
|
|
19186
|
+
/**
|
|
19187
|
+
* Get or create the shared measurement context
|
|
19188
19188
|
*/
|
|
19189
19189
|
function getMeasurementContext() {
|
|
19190
19190
|
if (!measurementContext) {
|
|
@@ -19197,8 +19197,8 @@ function getMeasurementContext() {
|
|
|
19197
19197
|
return measurementContext;
|
|
19198
19198
|
}
|
|
19199
19199
|
|
|
19200
|
-
/**
|
|
19201
|
-
* Measure a single grapheme
|
|
19200
|
+
/**
|
|
19201
|
+
* Measure a single grapheme
|
|
19202
19202
|
*/
|
|
19203
19203
|
function measureGrapheme(grapheme, options, ctx) {
|
|
19204
19204
|
// Check cache first
|
|
@@ -19231,8 +19231,8 @@ function measureGrapheme(grapheme, options, ctx) {
|
|
|
19231
19231
|
return measurement;
|
|
19232
19232
|
}
|
|
19233
19233
|
|
|
19234
|
-
/**
|
|
19235
|
-
* Measure a grapheme with kerning relative to previous character
|
|
19234
|
+
/**
|
|
19235
|
+
* Measure a grapheme with kerning relative to previous character
|
|
19236
19236
|
*/
|
|
19237
19237
|
function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
19238
19238
|
// Get individual measurement
|
|
@@ -19273,9 +19273,9 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
|
19273
19273
|
};
|
|
19274
19274
|
}
|
|
19275
19275
|
|
|
19276
|
-
/**
|
|
19277
|
-
* Get a representative character for font metrics measurement
|
|
19278
|
-
* Uses canvas to test which scripts the font actually supports
|
|
19276
|
+
/**
|
|
19277
|
+
* Get a representative character for font metrics measurement
|
|
19278
|
+
* Uses canvas to test which scripts the font actually supports
|
|
19279
19279
|
*/
|
|
19280
19280
|
function getRepresentativeCharacter(fontFamily) {
|
|
19281
19281
|
const context = getMeasurementContext();
|
|
@@ -19364,8 +19364,8 @@ function getRepresentativeCharacter(fontFamily) {
|
|
|
19364
19364
|
return 'M';
|
|
19365
19365
|
}
|
|
19366
19366
|
|
|
19367
|
-
/**
|
|
19368
|
-
* Get font metrics for layout calculations
|
|
19367
|
+
/**
|
|
19368
|
+
* Get font metrics for layout calculations
|
|
19369
19369
|
*/
|
|
19370
19370
|
function getFontMetrics(options) {
|
|
19371
19371
|
var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
|
|
@@ -19401,8 +19401,8 @@ function getFontMetrics(options) {
|
|
|
19401
19401
|
return result;
|
|
19402
19402
|
}
|
|
19403
19403
|
|
|
19404
|
-
/**
|
|
19405
|
-
* Apply font styling to canvas context
|
|
19404
|
+
/**
|
|
19405
|
+
* Apply font styling to canvas context
|
|
19406
19406
|
*/
|
|
19407
19407
|
function applyFontStyle(ctx, options) {
|
|
19408
19408
|
const fontDeclaration = getFontDeclaration(options);
|
|
@@ -19419,8 +19419,8 @@ function applyFontStyle(ctx, options) {
|
|
|
19419
19419
|
ctx.textBaseline = 'alphabetic';
|
|
19420
19420
|
}
|
|
19421
19421
|
|
|
19422
|
-
/**
|
|
19423
|
-
* Generate font declaration string
|
|
19422
|
+
/**
|
|
19423
|
+
* Generate font declaration string
|
|
19424
19424
|
*/
|
|
19425
19425
|
function getFontDeclaration(options) {
|
|
19426
19426
|
const {
|
|
@@ -19439,8 +19439,8 @@ function getFontDeclaration(options) {
|
|
|
19439
19439
|
return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
|
|
19440
19440
|
}
|
|
19441
19441
|
|
|
19442
|
-
/**
|
|
19443
|
-
* LRU Cache implementation for measurements
|
|
19442
|
+
/**
|
|
19443
|
+
* LRU Cache implementation for measurements
|
|
19444
19444
|
*/
|
|
19445
19445
|
class LRUCache {
|
|
19446
19446
|
constructor() {
|
|
@@ -19502,8 +19502,8 @@ class LRUCache {
|
|
|
19502
19502
|
}
|
|
19503
19503
|
}
|
|
19504
19504
|
|
|
19505
|
-
/**
|
|
19506
|
-
* Advanced measurement cache with font-aware keys
|
|
19505
|
+
/**
|
|
19506
|
+
* Advanced measurement cache with font-aware keys
|
|
19507
19507
|
*/
|
|
19508
19508
|
class MeasurementCache {
|
|
19509
19509
|
constructor() {
|
|
@@ -19530,8 +19530,8 @@ class MeasurementCache {
|
|
|
19530
19530
|
}
|
|
19531
19531
|
}
|
|
19532
19532
|
|
|
19533
|
-
/**
|
|
19534
|
-
* Kerning cache for character pairs
|
|
19533
|
+
/**
|
|
19534
|
+
* Kerning cache for character pairs
|
|
19535
19535
|
*/
|
|
19536
19536
|
class KerningCache {
|
|
19537
19537
|
constructor() {
|
|
@@ -19559,8 +19559,8 @@ class KerningCache {
|
|
|
19559
19559
|
}
|
|
19560
19560
|
}
|
|
19561
19561
|
|
|
19562
|
-
/**
|
|
19563
|
-
* Font metrics cache
|
|
19562
|
+
/**
|
|
19563
|
+
* Font metrics cache
|
|
19564
19564
|
*/
|
|
19565
19565
|
class FontMetricsCache {
|
|
19566
19566
|
constructor() {
|
|
@@ -19595,8 +19595,8 @@ if (typeof document !== 'undefined' && 'fonts' in document) {
|
|
|
19595
19595
|
});
|
|
19596
19596
|
}
|
|
19597
19597
|
|
|
19598
|
-
/**
|
|
19599
|
-
* Clear all measurement caches
|
|
19598
|
+
/**
|
|
19599
|
+
* Clear all measurement caches
|
|
19600
19600
|
*/
|
|
19601
19601
|
function clearAllCaches() {
|
|
19602
19602
|
measurementCache.clear();
|
|
@@ -19604,9 +19604,9 @@ function clearAllCaches() {
|
|
|
19604
19604
|
fontMetricsCache.clear();
|
|
19605
19605
|
}
|
|
19606
19606
|
|
|
19607
|
-
/**
|
|
19608
|
-
* Detect if a font lacks English glyph support
|
|
19609
|
-
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19607
|
+
/**
|
|
19608
|
+
* Detect if a font lacks English glyph support
|
|
19609
|
+
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19610
19610
|
*/
|
|
19611
19611
|
function fontLacksEnglishGlyphs(fontFamily) {
|
|
19612
19612
|
if (typeof document === 'undefined') return false;
|
|
@@ -19650,8 +19650,8 @@ function fontLacksEnglishGlyphs(fontFamily) {
|
|
|
19650
19650
|
// Cache for font glyph detection results
|
|
19651
19651
|
const fontGlyphCache = new Map();
|
|
19652
19652
|
|
|
19653
|
-
/**
|
|
19654
|
-
* Cached version of font glyph detection
|
|
19653
|
+
/**
|
|
19654
|
+
* Cached version of font glyph detection
|
|
19655
19655
|
*/
|
|
19656
19656
|
function fontLacksEnglishGlyphsCached(fontFamily) {
|
|
19657
19657
|
if (fontGlyphCache.has(fontFamily)) {
|
|
@@ -19662,17 +19662,17 @@ function fontLacksEnglishGlyphsCached(fontFamily) {
|
|
|
19662
19662
|
return result;
|
|
19663
19663
|
}
|
|
19664
19664
|
|
|
19665
|
-
/**
|
|
19666
|
-
* Unicode and Internationalization Support
|
|
19667
|
-
*
|
|
19668
|
-
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19669
|
-
* and grapheme cluster boundary detection.
|
|
19665
|
+
/**
|
|
19666
|
+
* Unicode and Internationalization Support
|
|
19667
|
+
*
|
|
19668
|
+
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19669
|
+
* and grapheme cluster boundary detection.
|
|
19670
19670
|
*/
|
|
19671
19671
|
|
|
19672
19672
|
|
|
19673
|
-
/**
|
|
19674
|
-
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19675
|
-
* with fallback to existing graphemeSplit implementation
|
|
19673
|
+
/**
|
|
19674
|
+
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19675
|
+
* with fallback to existing graphemeSplit implementation
|
|
19676
19676
|
*/
|
|
19677
19677
|
function segmentGraphemes(text) {
|
|
19678
19678
|
// Use native Intl.Segmenter if available
|
|
@@ -19692,15 +19692,15 @@ function segmentGraphemes(text) {
|
|
|
19692
19692
|
return graphemeSplit(text);
|
|
19693
19693
|
}
|
|
19694
19694
|
|
|
19695
|
-
/**
|
|
19696
|
-
* Ellipsis Text Truncation System
|
|
19697
|
-
*
|
|
19698
|
-
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19699
|
-
* using binary search for optimal truncation points.
|
|
19695
|
+
/**
|
|
19696
|
+
* Ellipsis Text Truncation System
|
|
19697
|
+
*
|
|
19698
|
+
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19699
|
+
* using binary search for optimal truncation points.
|
|
19700
19700
|
*/
|
|
19701
19701
|
|
|
19702
|
-
/**
|
|
19703
|
-
* Apply ellipsis truncation to text based on width/height constraints
|
|
19702
|
+
/**
|
|
19703
|
+
* Apply ellipsis truncation to text based on width/height constraints
|
|
19704
19704
|
*/
|
|
19705
19705
|
function applyEllipsis(text, options) {
|
|
19706
19706
|
const {
|
|
@@ -19770,8 +19770,8 @@ function applyEllipsis(text, options) {
|
|
|
19770
19770
|
};
|
|
19771
19771
|
}
|
|
19772
19772
|
|
|
19773
|
-
/**
|
|
19774
|
-
* Truncate text based on width constraint using binary search
|
|
19773
|
+
/**
|
|
19774
|
+
* Truncate text based on width constraint using binary search
|
|
19775
19775
|
*/
|
|
19776
19776
|
function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
|
|
19777
19777
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19821,8 +19821,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
|
|
|
19821
19821
|
};
|
|
19822
19822
|
}
|
|
19823
19823
|
|
|
19824
|
-
/**
|
|
19825
|
-
* Truncate text based on height constraint
|
|
19824
|
+
/**
|
|
19825
|
+
* Truncate text based on height constraint
|
|
19826
19826
|
*/
|
|
19827
19827
|
function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
19828
19828
|
var _measureFn;
|
|
@@ -19870,19 +19870,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
|
19870
19870
|
return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
|
|
19871
19871
|
}
|
|
19872
19872
|
|
|
19873
|
-
/**
|
|
19874
|
-
* Core Text Layout Engine
|
|
19875
|
-
*
|
|
19876
|
-
* Implements Konva-compatible text layout with support for:
|
|
19877
|
-
* - Multiple wrap modes (word/char/none)
|
|
19878
|
-
* - Ellipsis truncation
|
|
19879
|
-
* - Justify alignment with proper space distribution
|
|
19880
|
-
* - RTL/LTR text direction
|
|
19881
|
-
* - Advanced grapheme handling
|
|
19873
|
+
/**
|
|
19874
|
+
* Core Text Layout Engine
|
|
19875
|
+
*
|
|
19876
|
+
* Implements Konva-compatible text layout with support for:
|
|
19877
|
+
* - Multiple wrap modes (word/char/none)
|
|
19878
|
+
* - Ellipsis truncation
|
|
19879
|
+
* - Justify alignment with proper space distribution
|
|
19880
|
+
* - RTL/LTR text direction
|
|
19881
|
+
* - Advanced grapheme handling
|
|
19882
19882
|
*/
|
|
19883
19883
|
|
|
19884
|
-
/**
|
|
19885
|
-
* Main text layout function - converts text and options into positioned layout
|
|
19884
|
+
/**
|
|
19885
|
+
* Main text layout function - converts text and options into positioned layout
|
|
19886
19886
|
*/
|
|
19887
19887
|
function layoutText(options) {
|
|
19888
19888
|
var _ellipsisResult;
|
|
@@ -20001,8 +20001,8 @@ function layoutText(options) {
|
|
|
20001
20001
|
};
|
|
20002
20002
|
}
|
|
20003
20003
|
|
|
20004
|
-
/**
|
|
20005
|
-
* Layout a single paragraph with wrapping
|
|
20004
|
+
/**
|
|
20005
|
+
* Layout a single paragraph with wrapping
|
|
20006
20006
|
*/
|
|
20007
20007
|
function layoutParagraph(text, options) {
|
|
20008
20008
|
const {
|
|
@@ -20037,8 +20037,8 @@ function layoutParagraph(text, options) {
|
|
|
20037
20037
|
return layoutLines;
|
|
20038
20038
|
}
|
|
20039
20039
|
|
|
20040
|
-
/**
|
|
20041
|
-
* Layout a single line of text (no wrapping)
|
|
20040
|
+
/**
|
|
20041
|
+
* Layout a single line of text (no wrapping)
|
|
20042
20042
|
*/
|
|
20043
20043
|
function layoutSingleLine(text, options) {
|
|
20044
20044
|
let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -20108,8 +20108,8 @@ function layoutSingleLine(text, options) {
|
|
|
20108
20108
|
};
|
|
20109
20109
|
}
|
|
20110
20110
|
|
|
20111
|
-
/**
|
|
20112
|
-
* Word-based wrapping algorithm
|
|
20111
|
+
/**
|
|
20112
|
+
* Word-based wrapping algorithm
|
|
20113
20113
|
*/
|
|
20114
20114
|
function wrapByWords(text, maxWidth, options) {
|
|
20115
20115
|
const lines = [];
|
|
@@ -20142,8 +20142,8 @@ function wrapByWords(text, maxWidth, options) {
|
|
|
20142
20142
|
return lines.length > 0 ? lines : [''];
|
|
20143
20143
|
}
|
|
20144
20144
|
|
|
20145
|
-
/**
|
|
20146
|
-
* Character-based wrapping algorithm
|
|
20145
|
+
/**
|
|
20146
|
+
* Character-based wrapping algorithm
|
|
20147
20147
|
*/
|
|
20148
20148
|
function wrapByCharacters(text, maxWidth, options) {
|
|
20149
20149
|
const lines = [];
|
|
@@ -20165,8 +20165,8 @@ function wrapByCharacters(text, maxWidth, options) {
|
|
|
20165
20165
|
return lines.length > 0 ? lines : [''];
|
|
20166
20166
|
}
|
|
20167
20167
|
|
|
20168
|
-
/**
|
|
20169
|
-
* Apply text alignment to lines
|
|
20168
|
+
/**
|
|
20169
|
+
* Apply text alignment to lines
|
|
20170
20170
|
*/
|
|
20171
20171
|
function applyAlignment(lines, align, containerWidth, options) {
|
|
20172
20172
|
return lines.map(line => {
|
|
@@ -20200,8 +20200,8 @@ function applyAlignment(lines, align, containerWidth, options) {
|
|
|
20200
20200
|
});
|
|
20201
20201
|
}
|
|
20202
20202
|
|
|
20203
|
-
/**
|
|
20204
|
-
* Apply justify alignment by expanding spaces
|
|
20203
|
+
/**
|
|
20204
|
+
* Apply justify alignment by expanding spaces
|
|
20205
20205
|
*/
|
|
20206
20206
|
function applyJustification(line, containerWidth, options) {
|
|
20207
20207
|
const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
|
|
@@ -20224,8 +20224,8 @@ function applyJustification(line, containerWidth, options) {
|
|
|
20224
20224
|
return line;
|
|
20225
20225
|
}
|
|
20226
20226
|
|
|
20227
|
-
/**
|
|
20228
|
-
* Calculate vertical alignment offset
|
|
20227
|
+
/**
|
|
20228
|
+
* Calculate vertical alignment offset
|
|
20229
20229
|
*/
|
|
20230
20230
|
function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
20231
20231
|
switch (align) {
|
|
@@ -20239,8 +20239,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
|
20239
20239
|
}
|
|
20240
20240
|
}
|
|
20241
20241
|
|
|
20242
|
-
/**
|
|
20243
|
-
* Handle height overflow with ellipsis
|
|
20242
|
+
/**
|
|
20243
|
+
* Handle height overflow with ellipsis
|
|
20244
20244
|
*/
|
|
20245
20245
|
function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
|
|
20246
20246
|
// If ellipsis is enabled, try to fit part of the overflow line
|
|
@@ -20269,8 +20269,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
|
|
|
20269
20269
|
};
|
|
20270
20270
|
}
|
|
20271
20271
|
|
|
20272
|
-
/**
|
|
20273
|
-
* Create empty line for empty paragraphs
|
|
20272
|
+
/**
|
|
20273
|
+
* Create empty line for empty paragraphs
|
|
20274
20274
|
*/
|
|
20275
20275
|
function createEmptyLine(options) {
|
|
20276
20276
|
const height = options.fontSize * options.lineHeight;
|
|
@@ -20286,8 +20286,8 @@ function createEmptyLine(options) {
|
|
|
20286
20286
|
};
|
|
20287
20287
|
}
|
|
20288
20288
|
|
|
20289
|
-
/**
|
|
20290
|
-
* Measure width of a line of text
|
|
20289
|
+
/**
|
|
20290
|
+
* Measure width of a line of text
|
|
20291
20291
|
*/
|
|
20292
20292
|
function measureLineWidth(text, options) {
|
|
20293
20293
|
const graphemes = segmentGraphemes(text);
|
|
@@ -20304,8 +20304,8 @@ function measureLineWidth(text, options) {
|
|
|
20304
20304
|
return width;
|
|
20305
20305
|
}
|
|
20306
20306
|
|
|
20307
|
-
/**
|
|
20308
|
-
* Convert layout options to measurement options
|
|
20307
|
+
/**
|
|
20308
|
+
* Convert layout options to measurement options
|
|
20309
20309
|
*/
|
|
20310
20310
|
function createMeasurementOptions(options) {
|
|
20311
20311
|
return {
|
|
@@ -20548,15 +20548,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
|
|
|
20548
20548
|
}
|
|
20549
20549
|
}
|
|
20550
20550
|
|
|
20551
|
-
/**
|
|
20552
|
-
* Browser Line Break Extraction
|
|
20553
|
-
*
|
|
20554
|
-
* Captures exact line breaks as rendered by the browser to ensure
|
|
20555
|
-
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20551
|
+
/**
|
|
20552
|
+
* Browser Line Break Extraction
|
|
20553
|
+
*
|
|
20554
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
20555
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20556
20556
|
*/
|
|
20557
20557
|
|
|
20558
|
-
/**
|
|
20559
|
-
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20558
|
+
/**
|
|
20559
|
+
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20560
20560
|
*/
|
|
20561
20561
|
function segmentIntoGraphemes(text) {
|
|
20562
20562
|
if (typeof Intl !== 'undefined' && Intl.Segmenter) {
|
|
@@ -20570,9 +20570,9 @@ function segmentIntoGraphemes(text) {
|
|
|
20570
20570
|
return Array.from(text);
|
|
20571
20571
|
}
|
|
20572
20572
|
|
|
20573
|
-
/**
|
|
20574
|
-
* Extract line break information from a textarea by creating a mirror element
|
|
20575
|
-
* with identical computed styles and measuring grapheme positions.
|
|
20573
|
+
/**
|
|
20574
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
20575
|
+
* with identical computed styles and measuring grapheme positions.
|
|
20576
20576
|
*/
|
|
20577
20577
|
function extractLinesFromDOM(textarea) {
|
|
20578
20578
|
const text = textarea.value;
|
|
@@ -20667,16 +20667,16 @@ function extractLinesFromDOM(textarea) {
|
|
|
20667
20667
|
}
|
|
20668
20668
|
}
|
|
20669
20669
|
|
|
20670
|
-
/**
|
|
20671
|
-
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20670
|
+
/**
|
|
20671
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20672
20672
|
*/
|
|
20673
20673
|
function createLayoutHash(target) {
|
|
20674
20674
|
const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
|
|
20675
20675
|
return properties.map(p => String(p)).join('|');
|
|
20676
20676
|
}
|
|
20677
20677
|
|
|
20678
|
-
/**
|
|
20679
|
-
* Check if stored browser lines are still valid for the current target state
|
|
20678
|
+
/**
|
|
20679
|
+
* Check if stored browser lines are still valid for the current target state
|
|
20680
20680
|
*/
|
|
20681
20681
|
function areBrowserLinesValid(target, storedHash) {
|
|
20682
20682
|
if (!storedHash || !target.__lastBrowserLines) {
|
|
@@ -20686,24 +20686,24 @@ function areBrowserLinesValid(target, storedHash) {
|
|
|
20686
20686
|
return currentHash === storedHash;
|
|
20687
20687
|
}
|
|
20688
20688
|
|
|
20689
|
-
/**
|
|
20690
|
-
* Store browser lines on a target object with validity hash
|
|
20689
|
+
/**
|
|
20690
|
+
* Store browser lines on a target object with validity hash
|
|
20691
20691
|
*/
|
|
20692
20692
|
function storeBrowserLines(target, lines, layoutHash) {
|
|
20693
20693
|
target.__lastBrowserLines = lines;
|
|
20694
20694
|
target.__lastBrowserLinesHash = createLayoutHash(target);
|
|
20695
20695
|
}
|
|
20696
20696
|
|
|
20697
|
-
/**
|
|
20698
|
-
* Clear stored browser lines from a target object
|
|
20697
|
+
/**
|
|
20698
|
+
* Clear stored browser lines from a target object
|
|
20699
20699
|
*/
|
|
20700
20700
|
function clearBrowserLines(target) {
|
|
20701
20701
|
delete target.__lastBrowserLines;
|
|
20702
20702
|
delete target.__lastBrowserLinesHash;
|
|
20703
20703
|
}
|
|
20704
20704
|
|
|
20705
|
-
/**
|
|
20706
|
-
* Get stored browser lines if they're still valid
|
|
20705
|
+
/**
|
|
20706
|
+
* Get stored browser lines if they're still valid
|
|
20707
20707
|
*/
|
|
20708
20708
|
function getBrowserLines(target) {
|
|
20709
20709
|
const lines = target.__lastBrowserLines;
|
|
@@ -20716,9 +20716,9 @@ function getBrowserLines(target) {
|
|
|
20716
20716
|
|
|
20717
20717
|
let measuringContext;
|
|
20718
20718
|
|
|
20719
|
-
/**
|
|
20720
|
-
* Return a context for measurement of text string.
|
|
20721
|
-
* if created it gets stored for reuse
|
|
20719
|
+
/**
|
|
20720
|
+
* Return a context for measurement of text string.
|
|
20721
|
+
* if created it gets stored for reuse
|
|
20722
20722
|
*/
|
|
20723
20723
|
function getMeasuringContext() {
|
|
20724
20724
|
if (!measuringContext) {
|
|
@@ -20731,17 +20731,17 @@ function getMeasuringContext() {
|
|
|
20731
20731
|
return measuringContext;
|
|
20732
20732
|
}
|
|
20733
20733
|
|
|
20734
|
-
/**
|
|
20735
|
-
* Measure and return the info of a single grapheme.
|
|
20736
|
-
* needs the the info of previous graphemes already filled
|
|
20737
|
-
* Override to customize measuring
|
|
20734
|
+
/**
|
|
20735
|
+
* Measure and return the info of a single grapheme.
|
|
20736
|
+
* needs the the info of previous graphemes already filled
|
|
20737
|
+
* Override to customize measuring
|
|
20738
20738
|
*/
|
|
20739
20739
|
|
|
20740
20740
|
// @TODO this is not complete
|
|
20741
20741
|
|
|
20742
|
-
/**
|
|
20743
|
-
* Text class
|
|
20744
|
-
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20742
|
+
/**
|
|
20743
|
+
* Text class
|
|
20744
|
+
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20745
20745
|
*/
|
|
20746
20746
|
class FabricText extends StyledText {
|
|
20747
20747
|
static getDefaults() {
|
|
@@ -20752,11 +20752,11 @@ class FabricText extends StyledText {
|
|
|
20752
20752
|
}
|
|
20753
20753
|
constructor(text, options) {
|
|
20754
20754
|
super();
|
|
20755
|
-
/**
|
|
20756
|
-
* contains characters bounding boxes
|
|
20757
|
-
* This variable is considered to be protected.
|
|
20758
|
-
* But for how mixins are implemented right now, we can't leave it private
|
|
20759
|
-
* @protected
|
|
20755
|
+
/**
|
|
20756
|
+
* contains characters bounding boxes
|
|
20757
|
+
* This variable is considered to be protected.
|
|
20758
|
+
* But for how mixins are implemented right now, we can't leave it private
|
|
20759
|
+
* @protected
|
|
20760
20760
|
*/
|
|
20761
20761
|
_defineProperty(this, "__charBounds", []);
|
|
20762
20762
|
Object.assign(this, FabricText.ownDefaults);
|
|
@@ -20773,9 +20773,9 @@ class FabricText extends StyledText {
|
|
|
20773
20773
|
this.setCoords();
|
|
20774
20774
|
}
|
|
20775
20775
|
|
|
20776
|
-
/**
|
|
20777
|
-
* If text has a path, it will add the extra information needed
|
|
20778
|
-
* for path and text calculations
|
|
20776
|
+
/**
|
|
20777
|
+
* If text has a path, it will add the extra information needed
|
|
20778
|
+
* for path and text calculations
|
|
20779
20779
|
*/
|
|
20780
20780
|
setPathInfo() {
|
|
20781
20781
|
const path = this.path;
|
|
@@ -20784,10 +20784,10 @@ class FabricText extends StyledText {
|
|
|
20784
20784
|
}
|
|
20785
20785
|
}
|
|
20786
20786
|
|
|
20787
|
-
/**
|
|
20788
|
-
* @private
|
|
20789
|
-
* Divides text into lines of text and lines of graphemes.
|
|
20790
|
-
* Uses browser lines when available for pixel-perfect consistency.
|
|
20787
|
+
/**
|
|
20788
|
+
* @private
|
|
20789
|
+
* Divides text into lines of text and lines of graphemes.
|
|
20790
|
+
* Uses browser lines when available for pixel-perfect consistency.
|
|
20791
20791
|
*/
|
|
20792
20792
|
_splitText() {
|
|
20793
20793
|
// Check if we have valid browser lines and should use them
|
|
@@ -20803,9 +20803,9 @@ class FabricText extends StyledText {
|
|
|
20803
20803
|
return newLines;
|
|
20804
20804
|
}
|
|
20805
20805
|
|
|
20806
|
-
/**
|
|
20807
|
-
* Create TextLinesInfo from browser-extracted lines
|
|
20808
|
-
* @private
|
|
20806
|
+
/**
|
|
20807
|
+
* Create TextLinesInfo from browser-extracted lines
|
|
20808
|
+
* @private
|
|
20809
20809
|
*/
|
|
20810
20810
|
_splitTextFromBrowserLines(browserLines) {
|
|
20811
20811
|
const lines = [];
|
|
@@ -20839,10 +20839,10 @@ class FabricText extends StyledText {
|
|
|
20839
20839
|
return result;
|
|
20840
20840
|
}
|
|
20841
20841
|
|
|
20842
|
-
/**
|
|
20843
|
-
* Initialize or update text dimensions.
|
|
20844
|
-
* Updates this.width and this.height with the proper values.
|
|
20845
|
-
* Does not return dimensions.
|
|
20842
|
+
/**
|
|
20843
|
+
* Initialize or update text dimensions.
|
|
20844
|
+
* Updates this.width and this.height with the proper values.
|
|
20845
|
+
* Does not return dimensions.
|
|
20846
20846
|
*/
|
|
20847
20847
|
initDimensions() {
|
|
20848
20848
|
// Check if font is ready for accurate measurements
|
|
@@ -20888,8 +20888,8 @@ class FabricText extends StyledText {
|
|
|
20888
20888
|
}
|
|
20889
20889
|
}
|
|
20890
20890
|
|
|
20891
|
-
/**
|
|
20892
|
-
* Enlarge space boxes and shift the others
|
|
20891
|
+
/**
|
|
20892
|
+
* Enlarge space boxes and shift the others
|
|
20893
20893
|
*/
|
|
20894
20894
|
enlargeSpaces() {
|
|
20895
20895
|
let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
|
|
@@ -20951,18 +20951,18 @@ class FabricText extends StyledText {
|
|
|
20951
20951
|
}
|
|
20952
20952
|
}
|
|
20953
20953
|
|
|
20954
|
-
/**
|
|
20955
|
-
* Advanced layout using new text engine (Konva-compatible)
|
|
20956
|
-
* @private
|
|
20954
|
+
/**
|
|
20955
|
+
* Advanced layout using new text engine (Konva-compatible)
|
|
20956
|
+
* @private
|
|
20957
20957
|
*/
|
|
20958
20958
|
_layoutTextAdvanced() {
|
|
20959
20959
|
const options = this._getAdvancedLayoutOptions();
|
|
20960
20960
|
return layoutText(options);
|
|
20961
20961
|
}
|
|
20962
20962
|
|
|
20963
|
-
/**
|
|
20964
|
-
* Get advanced layout options from current text properties
|
|
20965
|
-
* @private
|
|
20963
|
+
/**
|
|
20964
|
+
* Get advanced layout options from current text properties
|
|
20965
|
+
* @private
|
|
20966
20966
|
*/
|
|
20967
20967
|
_getAdvancedLayoutOptions() {
|
|
20968
20968
|
return {
|
|
@@ -20984,9 +20984,9 @@ class FabricText extends StyledText {
|
|
|
20984
20984
|
};
|
|
20985
20985
|
}
|
|
20986
20986
|
|
|
20987
|
-
/**
|
|
20988
|
-
* Map Fabric textAlign to Konva align format
|
|
20989
|
-
* @private
|
|
20987
|
+
/**
|
|
20988
|
+
* Map Fabric textAlign to Konva align format
|
|
20989
|
+
* @private
|
|
20990
20990
|
*/
|
|
20991
20991
|
_mapTextAlignToAlign(textAlign) {
|
|
20992
20992
|
switch (textAlign) {
|
|
@@ -21007,8 +21007,8 @@ class FabricText extends StyledText {
|
|
|
21007
21007
|
}
|
|
21008
21008
|
}
|
|
21009
21009
|
|
|
21010
|
-
/**
|
|
21011
|
-
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21010
|
+
/**
|
|
21011
|
+
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21012
21012
|
*/
|
|
21013
21013
|
initDimensionsAdvanced() {
|
|
21014
21014
|
if (!this.enableAdvancedLayout) {
|
|
@@ -21037,9 +21037,9 @@ class FabricText extends StyledText {
|
|
|
21037
21037
|
this.dirty = true;
|
|
21038
21038
|
}
|
|
21039
21039
|
|
|
21040
|
-
/**
|
|
21041
|
-
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21042
|
-
* @private
|
|
21040
|
+
/**
|
|
21041
|
+
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21042
|
+
* @private
|
|
21043
21043
|
*/
|
|
21044
21044
|
_convertLayoutToLegacyFormat(layout) {
|
|
21045
21045
|
this._textLines = layout.lines.map(line => line.graphemes);
|
|
@@ -21061,30 +21061,30 @@ class FabricText extends StyledText {
|
|
|
21061
21061
|
}
|
|
21062
21062
|
}
|
|
21063
21063
|
|
|
21064
|
-
/**
|
|
21065
|
-
* Detect if the text line is ended with an hard break
|
|
21066
|
-
* text and itext do not have wrapping, return false
|
|
21067
|
-
* @return {Boolean}
|
|
21064
|
+
/**
|
|
21065
|
+
* Detect if the text line is ended with an hard break
|
|
21066
|
+
* text and itext do not have wrapping, return false
|
|
21067
|
+
* @return {Boolean}
|
|
21068
21068
|
*/
|
|
21069
21069
|
isEndOfWrapping(lineIndex) {
|
|
21070
21070
|
return lineIndex === this._textLines.length - 1;
|
|
21071
21071
|
}
|
|
21072
21072
|
|
|
21073
|
-
/**
|
|
21074
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21075
|
-
* and counting style.
|
|
21076
|
-
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21077
|
-
* @return Number
|
|
21073
|
+
/**
|
|
21074
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21075
|
+
* and counting style.
|
|
21076
|
+
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21077
|
+
* @return Number
|
|
21078
21078
|
*/
|
|
21079
21079
|
|
|
21080
21080
|
missingNewlineOffset(_lineIndex) {
|
|
21081
21081
|
return 1;
|
|
21082
21082
|
}
|
|
21083
21083
|
|
|
21084
|
-
/**
|
|
21085
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21086
|
-
* @param {Number} selectionStart
|
|
21087
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21084
|
+
/**
|
|
21085
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21086
|
+
* @param {Number} selectionStart
|
|
21087
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21088
21088
|
*/
|
|
21089
21089
|
get2DCursorLocation(selectionStart, skipWrapping) {
|
|
21090
21090
|
const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
|
|
@@ -21104,24 +21104,24 @@ class FabricText extends StyledText {
|
|
|
21104
21104
|
};
|
|
21105
21105
|
}
|
|
21106
21106
|
|
|
21107
|
-
/**
|
|
21108
|
-
* Returns string representation of an instance
|
|
21109
|
-
* @return {String} String representation of text object
|
|
21107
|
+
/**
|
|
21108
|
+
* Returns string representation of an instance
|
|
21109
|
+
* @return {String} String representation of text object
|
|
21110
21110
|
*/
|
|
21111
21111
|
toString() {
|
|
21112
21112
|
return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
|
|
21113
21113
|
}
|
|
21114
21114
|
|
|
21115
|
-
/**
|
|
21116
|
-
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21117
|
-
* big enough to host the object to be cached.
|
|
21118
|
-
* @private
|
|
21119
|
-
* @param {Object} dim.x width of object to be cached
|
|
21120
|
-
* @param {Object} dim.y height of object to be cached
|
|
21121
|
-
* @return {Object}.width width of canvas
|
|
21122
|
-
* @return {Object}.height height of canvas
|
|
21123
|
-
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21124
|
-
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21115
|
+
/**
|
|
21116
|
+
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21117
|
+
* big enough to host the object to be cached.
|
|
21118
|
+
* @private
|
|
21119
|
+
* @param {Object} dim.x width of object to be cached
|
|
21120
|
+
* @param {Object} dim.y height of object to be cached
|
|
21121
|
+
* @return {Object}.width width of canvas
|
|
21122
|
+
* @return {Object}.height height of canvas
|
|
21123
|
+
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21124
|
+
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21125
21125
|
*/
|
|
21126
21126
|
_getCacheCanvasDimensions() {
|
|
21127
21127
|
const dims = super._getCacheCanvasDimensions();
|
|
@@ -21131,9 +21131,9 @@ class FabricText extends StyledText {
|
|
|
21131
21131
|
return dims;
|
|
21132
21132
|
}
|
|
21133
21133
|
|
|
21134
|
-
/**
|
|
21135
|
-
* @private
|
|
21136
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21134
|
+
/**
|
|
21135
|
+
* @private
|
|
21136
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21137
21137
|
*/
|
|
21138
21138
|
_render(ctx) {
|
|
21139
21139
|
const path = this.path;
|
|
@@ -21146,9 +21146,9 @@ class FabricText extends StyledText {
|
|
|
21146
21146
|
this._renderTextDecoration(ctx, 'linethrough');
|
|
21147
21147
|
}
|
|
21148
21148
|
|
|
21149
|
-
/**
|
|
21150
|
-
* @private
|
|
21151
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21149
|
+
/**
|
|
21150
|
+
* @private
|
|
21151
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21152
21152
|
*/
|
|
21153
21153
|
_renderText(ctx) {
|
|
21154
21154
|
// Skip text rendering if in overlay editing mode
|
|
@@ -21164,15 +21164,15 @@ class FabricText extends StyledText {
|
|
|
21164
21164
|
}
|
|
21165
21165
|
}
|
|
21166
21166
|
|
|
21167
|
-
/**
|
|
21168
|
-
* Set the font parameter of the context with the object properties or with charStyle
|
|
21169
|
-
* @private
|
|
21170
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21171
|
-
* @param {Object} [charStyle] object with font style properties
|
|
21172
|
-
* @param {String} [charStyle.fontFamily] Font Family
|
|
21173
|
-
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21174
|
-
* @param {String} [charStyle.fontWeight] Font weight
|
|
21175
|
-
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21167
|
+
/**
|
|
21168
|
+
* Set the font parameter of the context with the object properties or with charStyle
|
|
21169
|
+
* @private
|
|
21170
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21171
|
+
* @param {Object} [charStyle] object with font style properties
|
|
21172
|
+
* @param {String} [charStyle.fontFamily] Font Family
|
|
21173
|
+
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21174
|
+
* @param {String} [charStyle.fontWeight] Font weight
|
|
21175
|
+
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21176
21176
|
*/
|
|
21177
21177
|
_setTextStyles(ctx, charStyle, forMeasuring) {
|
|
21178
21178
|
ctx.textBaseline = 'alphabetic';
|
|
@@ -21192,11 +21192,11 @@ class FabricText extends StyledText {
|
|
|
21192
21192
|
ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
|
|
21193
21193
|
}
|
|
21194
21194
|
|
|
21195
|
-
/**
|
|
21196
|
-
* calculate and return the text Width measuring each line.
|
|
21197
|
-
* @private
|
|
21198
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21199
|
-
* @return {Number} Maximum width of Text object
|
|
21195
|
+
/**
|
|
21196
|
+
* calculate and return the text Width measuring each line.
|
|
21197
|
+
* @private
|
|
21198
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21199
|
+
* @return {Number} Maximum width of Text object
|
|
21200
21200
|
*/
|
|
21201
21201
|
calcTextWidth() {
|
|
21202
21202
|
let maxWidth = this.getLineWidth(0);
|
|
@@ -21209,23 +21209,23 @@ class FabricText extends StyledText {
|
|
|
21209
21209
|
return maxWidth;
|
|
21210
21210
|
}
|
|
21211
21211
|
|
|
21212
|
-
/**
|
|
21213
|
-
* @private
|
|
21214
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21215
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21216
|
-
* @param {String} line Text to render
|
|
21217
|
-
* @param {Number} left Left position of text
|
|
21218
|
-
* @param {Number} top Top position of text
|
|
21219
|
-
* @param {Number} lineIndex Index of a line in a text
|
|
21212
|
+
/**
|
|
21213
|
+
* @private
|
|
21214
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21215
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21216
|
+
* @param {String} line Text to render
|
|
21217
|
+
* @param {Number} left Left position of text
|
|
21218
|
+
* @param {Number} top Top position of text
|
|
21219
|
+
* @param {Number} lineIndex Index of a line in a text
|
|
21220
21220
|
*/
|
|
21221
21221
|
_renderTextLine(method, ctx, line, left, top, lineIndex) {
|
|
21222
21222
|
this._renderChars(method, ctx, line, left, top, lineIndex);
|
|
21223
21223
|
}
|
|
21224
21224
|
|
|
21225
|
-
/**
|
|
21226
|
-
* Renders the text background for lines, taking care of style
|
|
21227
|
-
* @private
|
|
21228
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21225
|
+
/**
|
|
21226
|
+
* Renders the text background for lines, taking care of style
|
|
21227
|
+
* @private
|
|
21228
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21229
21229
|
*/
|
|
21230
21230
|
_renderTextLinesBackground(ctx) {
|
|
21231
21231
|
if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
|
|
@@ -21288,15 +21288,15 @@ class FabricText extends StyledText {
|
|
|
21288
21288
|
this._removeShadow(ctx);
|
|
21289
21289
|
}
|
|
21290
21290
|
|
|
21291
|
-
/**
|
|
21292
|
-
* measure and return the width of a single character.
|
|
21293
|
-
* possibly overridden to accommodate different measure logic or
|
|
21294
|
-
* to hook some external lib for character measurement
|
|
21295
|
-
* @private
|
|
21296
|
-
* @param {String} _char, char to be measured
|
|
21297
|
-
* @param {Object} charStyle style of char to be measured
|
|
21298
|
-
* @param {String} [previousChar] previous char
|
|
21299
|
-
* @param {Object} [prevCharStyle] style of previous char
|
|
21291
|
+
/**
|
|
21292
|
+
* measure and return the width of a single character.
|
|
21293
|
+
* possibly overridden to accommodate different measure logic or
|
|
21294
|
+
* to hook some external lib for character measurement
|
|
21295
|
+
* @private
|
|
21296
|
+
* @param {String} _char, char to be measured
|
|
21297
|
+
* @param {Object} charStyle style of char to be measured
|
|
21298
|
+
* @param {String} [previousChar] previous char
|
|
21299
|
+
* @param {Object} [prevCharStyle] style of previous char
|
|
21300
21300
|
*/
|
|
21301
21301
|
_measureChar(_char, charStyle, previousChar, prevCharStyle) {
|
|
21302
21302
|
const fontCache = cache.getFontCache(charStyle),
|
|
@@ -21341,19 +21341,19 @@ class FabricText extends StyledText {
|
|
|
21341
21341
|
};
|
|
21342
21342
|
}
|
|
21343
21343
|
|
|
21344
|
-
/**
|
|
21345
|
-
* Computes height of character at given position
|
|
21346
|
-
* @param {Number} line the line index number
|
|
21347
|
-
* @param {Number} _char the character index number
|
|
21348
|
-
* @return {Number} fontSize of the character
|
|
21344
|
+
/**
|
|
21345
|
+
* Computes height of character at given position
|
|
21346
|
+
* @param {Number} line the line index number
|
|
21347
|
+
* @param {Number} _char the character index number
|
|
21348
|
+
* @return {Number} fontSize of the character
|
|
21349
21349
|
*/
|
|
21350
21350
|
getHeightOfChar(line, _char) {
|
|
21351
21351
|
return this.getValueOfPropertyAt(line, _char, 'fontSize');
|
|
21352
21352
|
}
|
|
21353
21353
|
|
|
21354
|
-
/**
|
|
21355
|
-
* measure a text line measuring all characters.
|
|
21356
|
-
* @param {Number} lineIndex line number
|
|
21354
|
+
/**
|
|
21355
|
+
* measure a text line measuring all characters.
|
|
21356
|
+
* @param {Number} lineIndex line number
|
|
21357
21357
|
*/
|
|
21358
21358
|
measureLine(lineIndex) {
|
|
21359
21359
|
const lineInfo = this._measureLine(lineIndex);
|
|
@@ -21366,11 +21366,11 @@ class FabricText extends StyledText {
|
|
|
21366
21366
|
return lineInfo;
|
|
21367
21367
|
}
|
|
21368
21368
|
|
|
21369
|
-
/**
|
|
21370
|
-
* measure every grapheme of a line, populating __charBounds
|
|
21371
|
-
* @param {Number} lineIndex
|
|
21372
|
-
* @return {Object} object.width total width of characters
|
|
21373
|
-
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21369
|
+
/**
|
|
21370
|
+
* measure every grapheme of a line, populating __charBounds
|
|
21371
|
+
* @param {Number} lineIndex
|
|
21372
|
+
* @return {Object} object.width total width of characters
|
|
21373
|
+
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21374
21374
|
*/
|
|
21375
21375
|
_measureLine(lineIndex) {
|
|
21376
21376
|
let width = 0,
|
|
@@ -21433,13 +21433,13 @@ class FabricText extends StyledText {
|
|
|
21433
21433
|
};
|
|
21434
21434
|
}
|
|
21435
21435
|
|
|
21436
|
-
/**
|
|
21437
|
-
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21438
|
-
* It appends it to graphemeInfo to be reused later at rendering
|
|
21439
|
-
* @private
|
|
21440
|
-
* @param {Number} positionInPath to be measured
|
|
21441
|
-
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21442
|
-
* @param {Object} startingPoint position of the point
|
|
21436
|
+
/**
|
|
21437
|
+
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21438
|
+
* It appends it to graphemeInfo to be reused later at rendering
|
|
21439
|
+
* @private
|
|
21440
|
+
* @param {Number} positionInPath to be measured
|
|
21441
|
+
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21442
|
+
* @param {Object} startingPoint position of the point
|
|
21443
21443
|
*/
|
|
21444
21444
|
_setGraphemeOnPath(positionInPath, graphemeInfo) {
|
|
21445
21445
|
const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
|
|
@@ -21452,13 +21452,13 @@ class FabricText extends StyledText {
|
|
|
21452
21452
|
graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
|
|
21453
21453
|
}
|
|
21454
21454
|
|
|
21455
|
-
/**
|
|
21456
|
-
*
|
|
21457
|
-
* @param {String} grapheme to be measured
|
|
21458
|
-
* @param {Number} lineIndex index of the line where the char is
|
|
21459
|
-
* @param {Number} charIndex position in the line
|
|
21460
|
-
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21461
|
-
* @returns {GraphemeBBox} grapheme bbox
|
|
21455
|
+
/**
|
|
21456
|
+
*
|
|
21457
|
+
* @param {String} grapheme to be measured
|
|
21458
|
+
* @param {Number} lineIndex index of the line where the char is
|
|
21459
|
+
* @param {Number} charIndex position in the line
|
|
21460
|
+
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21461
|
+
* @returns {GraphemeBBox} grapheme bbox
|
|
21462
21462
|
*/
|
|
21463
21463
|
_getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
|
|
21464
21464
|
const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21486,10 +21486,10 @@ class FabricText extends StyledText {
|
|
|
21486
21486
|
return box;
|
|
21487
21487
|
}
|
|
21488
21488
|
|
|
21489
|
-
/**
|
|
21490
|
-
* Calculate height of line at 'lineIndex'
|
|
21491
|
-
* @param {Number} lineIndex index of line to calculate
|
|
21492
|
-
* @return {Number}
|
|
21489
|
+
/**
|
|
21490
|
+
* Calculate height of line at 'lineIndex'
|
|
21491
|
+
* @param {Number} lineIndex index of line to calculate
|
|
21492
|
+
* @return {Number}
|
|
21493
21493
|
*/
|
|
21494
21494
|
getHeightOfLine(lineIndex) {
|
|
21495
21495
|
if (this.__lineHeights[lineIndex]) {
|
|
@@ -21505,8 +21505,8 @@ class FabricText extends StyledText {
|
|
|
21505
21505
|
return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
|
|
21506
21506
|
}
|
|
21507
21507
|
|
|
21508
|
-
/**
|
|
21509
|
-
* Calculate text box height
|
|
21508
|
+
/**
|
|
21509
|
+
* Calculate text box height
|
|
21510
21510
|
*/
|
|
21511
21511
|
calcTextHeight() {
|
|
21512
21512
|
let lineHeight,
|
|
@@ -21518,26 +21518,26 @@ class FabricText extends StyledText {
|
|
|
21518
21518
|
return height;
|
|
21519
21519
|
}
|
|
21520
21520
|
|
|
21521
|
-
/**
|
|
21522
|
-
* @private
|
|
21523
|
-
* @return {Number} Left offset
|
|
21521
|
+
/**
|
|
21522
|
+
* @private
|
|
21523
|
+
* @return {Number} Left offset
|
|
21524
21524
|
*/
|
|
21525
21525
|
_getLeftOffset() {
|
|
21526
21526
|
return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
|
|
21527
21527
|
}
|
|
21528
21528
|
|
|
21529
|
-
/**
|
|
21530
|
-
* @private
|
|
21531
|
-
* @return {Number} Top offset
|
|
21529
|
+
/**
|
|
21530
|
+
* @private
|
|
21531
|
+
* @return {Number} Top offset
|
|
21532
21532
|
*/
|
|
21533
21533
|
_getTopOffset() {
|
|
21534
21534
|
return -this.height / 2;
|
|
21535
21535
|
}
|
|
21536
21536
|
|
|
21537
|
-
/**
|
|
21538
|
-
* @private
|
|
21539
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21540
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21537
|
+
/**
|
|
21538
|
+
* @private
|
|
21539
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21540
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21541
21541
|
*/
|
|
21542
21542
|
_renderTextCommon(ctx, method) {
|
|
21543
21543
|
ctx.save();
|
|
@@ -21554,9 +21554,9 @@ class FabricText extends StyledText {
|
|
|
21554
21554
|
ctx.restore();
|
|
21555
21555
|
}
|
|
21556
21556
|
|
|
21557
|
-
/**
|
|
21558
|
-
* @private
|
|
21559
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21557
|
+
/**
|
|
21558
|
+
* @private
|
|
21559
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21560
21560
|
*/
|
|
21561
21561
|
_renderTextFill(ctx) {
|
|
21562
21562
|
if (!this.fill && !this.styleHas(FILL)) {
|
|
@@ -21565,9 +21565,9 @@ class FabricText extends StyledText {
|
|
|
21565
21565
|
this._renderTextCommon(ctx, 'fillText');
|
|
21566
21566
|
}
|
|
21567
21567
|
|
|
21568
|
-
/**
|
|
21569
|
-
* @private
|
|
21570
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21568
|
+
/**
|
|
21569
|
+
* @private
|
|
21570
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21571
21571
|
*/
|
|
21572
21572
|
_renderTextStroke(ctx) {
|
|
21573
21573
|
if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
|
|
@@ -21584,14 +21584,14 @@ class FabricText extends StyledText {
|
|
|
21584
21584
|
ctx.restore();
|
|
21585
21585
|
}
|
|
21586
21586
|
|
|
21587
|
-
/**
|
|
21588
|
-
* @private
|
|
21589
|
-
* @param {String} method fillText or strokeText.
|
|
21590
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21591
|
-
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21592
|
-
* @param {Number} left
|
|
21593
|
-
* @param {Number} top
|
|
21594
|
-
* @param {Number} lineIndex
|
|
21587
|
+
/**
|
|
21588
|
+
* @private
|
|
21589
|
+
* @param {String} method fillText or strokeText.
|
|
21590
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21591
|
+
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21592
|
+
* @param {Number} left
|
|
21593
|
+
* @param {Number} top
|
|
21594
|
+
* @param {Number} lineIndex
|
|
21595
21595
|
*/
|
|
21596
21596
|
_renderChars(method, ctx, line, left, top, lineIndex) {
|
|
21597
21597
|
const lineHeight = this.getHeightOfLine(lineIndex),
|
|
@@ -21673,16 +21673,16 @@ class FabricText extends StyledText {
|
|
|
21673
21673
|
ctx.restore();
|
|
21674
21674
|
}
|
|
21675
21675
|
|
|
21676
|
-
/**
|
|
21677
|
-
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21678
|
-
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21679
|
-
* we want to transform the gradient but not the stroke operation, so we create
|
|
21680
|
-
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21681
|
-
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21682
|
-
* is limited.
|
|
21683
|
-
* @private
|
|
21684
|
-
* @param {TFiller} filler a fabric gradient instance
|
|
21685
|
-
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21676
|
+
/**
|
|
21677
|
+
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21678
|
+
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21679
|
+
* we want to transform the gradient but not the stroke operation, so we create
|
|
21680
|
+
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21681
|
+
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21682
|
+
* is limited.
|
|
21683
|
+
* @private
|
|
21684
|
+
* @param {TFiller} filler a fabric gradient instance
|
|
21685
|
+
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21686
21686
|
*/
|
|
21687
21687
|
_applyPatternGradientTransformText(filler) {
|
|
21688
21688
|
// TODO: verify compatibility with strokeUniform
|
|
@@ -21738,12 +21738,12 @@ class FabricText extends StyledText {
|
|
|
21738
21738
|
};
|
|
21739
21739
|
}
|
|
21740
21740
|
|
|
21741
|
-
/**
|
|
21742
|
-
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21743
|
-
* need to be sent in as defined
|
|
21744
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21745
|
-
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21746
|
-
* @returns
|
|
21741
|
+
/**
|
|
21742
|
+
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21743
|
+
* need to be sent in as defined
|
|
21744
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21745
|
+
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21746
|
+
* @returns
|
|
21747
21747
|
*/
|
|
21748
21748
|
_setStrokeStyles(ctx, _ref) {
|
|
21749
21749
|
let {
|
|
@@ -21758,12 +21758,12 @@ class FabricText extends StyledText {
|
|
|
21758
21758
|
return this.handleFiller(ctx, 'strokeStyle', stroke);
|
|
21759
21759
|
}
|
|
21760
21760
|
|
|
21761
|
-
/**
|
|
21762
|
-
* This function prepare the canvas for a ill style, and fill
|
|
21763
|
-
* need to be sent in as defined
|
|
21764
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21765
|
-
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21766
|
-
* @returns
|
|
21761
|
+
/**
|
|
21762
|
+
* This function prepare the canvas for a ill style, and fill
|
|
21763
|
+
* need to be sent in as defined
|
|
21764
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21765
|
+
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21766
|
+
* @returns
|
|
21767
21767
|
*/
|
|
21768
21768
|
_setFillStyles(ctx, _ref2) {
|
|
21769
21769
|
let {
|
|
@@ -21772,16 +21772,16 @@ class FabricText extends StyledText {
|
|
|
21772
21772
|
return this.handleFiller(ctx, 'fillStyle', fill);
|
|
21773
21773
|
}
|
|
21774
21774
|
|
|
21775
|
-
/**
|
|
21776
|
-
* @private
|
|
21777
|
-
* @param {String} method
|
|
21778
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21779
|
-
* @param {Number} lineIndex
|
|
21780
|
-
* @param {Number} charIndex
|
|
21781
|
-
* @param {String} _char
|
|
21782
|
-
* @param {Number} left Left coordinate
|
|
21783
|
-
* @param {Number} top Top coordinate
|
|
21784
|
-
* @param {Number} lineHeight Height of the line
|
|
21775
|
+
/**
|
|
21776
|
+
* @private
|
|
21777
|
+
* @param {String} method
|
|
21778
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21779
|
+
* @param {Number} lineIndex
|
|
21780
|
+
* @param {Number} charIndex
|
|
21781
|
+
* @param {String} _char
|
|
21782
|
+
* @param {Number} left Left coordinate
|
|
21783
|
+
* @param {Number} top Top coordinate
|
|
21784
|
+
* @param {Number} lineHeight Height of the line
|
|
21785
21785
|
*/
|
|
21786
21786
|
_renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
|
|
21787
21787
|
const decl = this._getStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21810,30 +21810,30 @@ class FabricText extends StyledText {
|
|
|
21810
21810
|
ctx.restore();
|
|
21811
21811
|
}
|
|
21812
21812
|
|
|
21813
|
-
/**
|
|
21814
|
-
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21815
|
-
* @param {Number} start selection start
|
|
21816
|
-
* @param {Number} end selection end
|
|
21813
|
+
/**
|
|
21814
|
+
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21815
|
+
* @param {Number} start selection start
|
|
21816
|
+
* @param {Number} end selection end
|
|
21817
21817
|
*/
|
|
21818
21818
|
setSuperscript(start, end) {
|
|
21819
21819
|
this._setScript(start, end, this.superscript);
|
|
21820
21820
|
}
|
|
21821
21821
|
|
|
21822
|
-
/**
|
|
21823
|
-
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21824
|
-
* @param {Number} start selection start
|
|
21825
|
-
* @param {Number} end selection end
|
|
21822
|
+
/**
|
|
21823
|
+
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21824
|
+
* @param {Number} start selection start
|
|
21825
|
+
* @param {Number} end selection end
|
|
21826
21826
|
*/
|
|
21827
21827
|
setSubscript(start, end) {
|
|
21828
21828
|
this._setScript(start, end, this.subscript);
|
|
21829
21829
|
}
|
|
21830
21830
|
|
|
21831
|
-
/**
|
|
21832
|
-
* Applies 'schema' at given position
|
|
21833
|
-
* @private
|
|
21834
|
-
* @param {Number} start selection start
|
|
21835
|
-
* @param {Number} end selection end
|
|
21836
|
-
* @param {Number} schema
|
|
21831
|
+
/**
|
|
21832
|
+
* Applies 'schema' at given position
|
|
21833
|
+
* @private
|
|
21834
|
+
* @param {Number} start selection start
|
|
21835
|
+
* @param {Number} end selection end
|
|
21836
|
+
* @param {Number} schema
|
|
21837
21837
|
*/
|
|
21838
21838
|
_setScript(start, end, schema) {
|
|
21839
21839
|
const loc = this.get2DCursorLocation(start, true),
|
|
@@ -21846,10 +21846,10 @@ class FabricText extends StyledText {
|
|
|
21846
21846
|
this.setSelectionStyles(style, start, end);
|
|
21847
21847
|
}
|
|
21848
21848
|
|
|
21849
|
-
/**
|
|
21850
|
-
* @private
|
|
21851
|
-
* @param {Number} lineIndex index text line
|
|
21852
|
-
* @return {Number} Line left offset
|
|
21849
|
+
/**
|
|
21850
|
+
* @private
|
|
21851
|
+
* @param {Number} lineIndex index text line
|
|
21852
|
+
* @return {Number} Line left offset
|
|
21853
21853
|
*/
|
|
21854
21854
|
_getLineLeftOffset(lineIndex) {
|
|
21855
21855
|
const lineWidth = this.getLineWidth(lineIndex),
|
|
@@ -21899,8 +21899,8 @@ class FabricText extends StyledText {
|
|
|
21899
21899
|
return leftOffset;
|
|
21900
21900
|
}
|
|
21901
21901
|
|
|
21902
|
-
/**
|
|
21903
|
-
* @private
|
|
21902
|
+
/**
|
|
21903
|
+
* @private
|
|
21904
21904
|
*/
|
|
21905
21905
|
_clearCache() {
|
|
21906
21906
|
this._forceClearCache = false;
|
|
@@ -21909,12 +21909,12 @@ class FabricText extends StyledText {
|
|
|
21909
21909
|
this.__charBounds = [];
|
|
21910
21910
|
}
|
|
21911
21911
|
|
|
21912
|
-
/**
|
|
21913
|
-
* Measure a single line given its index. Used to calculate the initial
|
|
21914
|
-
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21915
|
-
* @private
|
|
21916
|
-
* @param {Number} lineIndex line number
|
|
21917
|
-
* @return {Number} Line width
|
|
21912
|
+
/**
|
|
21913
|
+
* Measure a single line given its index. Used to calculate the initial
|
|
21914
|
+
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21915
|
+
* @private
|
|
21916
|
+
* @param {Number} lineIndex line number
|
|
21917
|
+
* @return {Number} Line width
|
|
21918
21918
|
*/
|
|
21919
21919
|
getLineWidth(lineIndex) {
|
|
21920
21920
|
if (this.__lineWidths[lineIndex] !== undefined) {
|
|
@@ -21933,12 +21933,12 @@ class FabricText extends StyledText {
|
|
|
21933
21933
|
return 0;
|
|
21934
21934
|
}
|
|
21935
21935
|
|
|
21936
|
-
/**
|
|
21937
|
-
* Retrieves the value of property at given character position
|
|
21938
|
-
* @param {Number} lineIndex the line number
|
|
21939
|
-
* @param {Number} charIndex the character number
|
|
21940
|
-
* @param {String} property the property name
|
|
21941
|
-
* @returns the value of 'property'
|
|
21936
|
+
/**
|
|
21937
|
+
* Retrieves the value of property at given character position
|
|
21938
|
+
* @param {Number} lineIndex the line number
|
|
21939
|
+
* @param {Number} charIndex the character number
|
|
21940
|
+
* @param {String} property the property name
|
|
21941
|
+
* @returns the value of 'property'
|
|
21942
21942
|
*/
|
|
21943
21943
|
getValueOfPropertyAt(lineIndex, charIndex, property) {
|
|
21944
21944
|
var _charStyle$property;
|
|
@@ -21946,9 +21946,9 @@ class FabricText extends StyledText {
|
|
|
21946
21946
|
return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
|
|
21947
21947
|
}
|
|
21948
21948
|
|
|
21949
|
-
/**
|
|
21950
|
-
* @private
|
|
21951
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21949
|
+
/**
|
|
21950
|
+
* @private
|
|
21951
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21952
21952
|
*/
|
|
21953
21953
|
_renderTextDecoration(ctx, type) {
|
|
21954
21954
|
if (!this[type] && !this.styleHas(type)) {
|
|
@@ -22032,10 +22032,10 @@ class FabricText extends StyledText {
|
|
|
22032
22032
|
this._removeShadow(ctx);
|
|
22033
22033
|
}
|
|
22034
22034
|
|
|
22035
|
-
/**
|
|
22036
|
-
* return font declaration string for canvas context
|
|
22037
|
-
* @param {Object} [styleObject] object
|
|
22038
|
-
* @returns {String} font declaration formatted for canvas context.
|
|
22035
|
+
/**
|
|
22036
|
+
* return font declaration string for canvas context
|
|
22037
|
+
* @param {Object} [styleObject] object
|
|
22038
|
+
* @returns {String} font declaration formatted for canvas context.
|
|
22039
22039
|
*/
|
|
22040
22040
|
_getFontDeclaration() {
|
|
22041
22041
|
let {
|
|
@@ -22061,9 +22061,9 @@ class FabricText extends StyledText {
|
|
|
22061
22061
|
return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
|
|
22062
22062
|
}
|
|
22063
22063
|
|
|
22064
|
-
/**
|
|
22065
|
-
* Renders text instance on a specified context
|
|
22066
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22064
|
+
/**
|
|
22065
|
+
* Renders text instance on a specified context
|
|
22066
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22067
22067
|
*/
|
|
22068
22068
|
render(ctx) {
|
|
22069
22069
|
if (!this.visible) {
|
|
@@ -22078,22 +22078,22 @@ class FabricText extends StyledText {
|
|
|
22078
22078
|
super.render(ctx);
|
|
22079
22079
|
}
|
|
22080
22080
|
|
|
22081
|
-
/**
|
|
22082
|
-
* Override this method to customize grapheme splitting
|
|
22083
|
-
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22084
|
-
* is more comfortable to inject the correct util rather than having to override text
|
|
22085
|
-
* in the middle of the prototype chain
|
|
22086
|
-
* @param {string} value
|
|
22087
|
-
* @returns {string[]} array of graphemes
|
|
22081
|
+
/**
|
|
22082
|
+
* Override this method to customize grapheme splitting
|
|
22083
|
+
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22084
|
+
* is more comfortable to inject the correct util rather than having to override text
|
|
22085
|
+
* in the middle of the prototype chain
|
|
22086
|
+
* @param {string} value
|
|
22087
|
+
* @returns {string[]} array of graphemes
|
|
22088
22088
|
*/
|
|
22089
22089
|
graphemeSplit(value) {
|
|
22090
22090
|
return graphemeSplit(value);
|
|
22091
22091
|
}
|
|
22092
22092
|
|
|
22093
|
-
/**
|
|
22094
|
-
* Returns the text as an array of lines.
|
|
22095
|
-
* @param {String} text text to split
|
|
22096
|
-
* @returns Lines in the text
|
|
22093
|
+
/**
|
|
22094
|
+
* Returns the text as an array of lines.
|
|
22095
|
+
* @param {String} text text to split
|
|
22096
|
+
* @returns Lines in the text
|
|
22097
22097
|
*/
|
|
22098
22098
|
_splitTextIntoLines(text) {
|
|
22099
22099
|
const lines = text.split(this._reNewline),
|
|
@@ -22119,18 +22119,18 @@ class FabricText extends StyledText {
|
|
|
22119
22119
|
};
|
|
22120
22120
|
}
|
|
22121
22121
|
|
|
22122
|
-
/**
|
|
22123
|
-
* Check if text contains Arabic characters
|
|
22124
|
-
* @private
|
|
22122
|
+
/**
|
|
22123
|
+
* Check if text contains Arabic characters
|
|
22124
|
+
* @private
|
|
22125
22125
|
*/
|
|
22126
22126
|
_containsArabicText(text) {
|
|
22127
22127
|
return /[\u0600-\u06FF\u0750-\u077F\uFB50-\uFDFF\uFE70-\uFEFF]/.test(text);
|
|
22128
22128
|
}
|
|
22129
22129
|
|
|
22130
|
-
/**
|
|
22131
|
-
* Returns object representation of an instance
|
|
22132
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22133
|
-
* @return {Object} Object representation of an instance
|
|
22130
|
+
/**
|
|
22131
|
+
* Returns object representation of an instance
|
|
22132
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22133
|
+
* @return {Object} Object representation of an instance
|
|
22134
22134
|
*/
|
|
22135
22135
|
toObject() {
|
|
22136
22136
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -22173,23 +22173,23 @@ class FabricText extends StyledText {
|
|
|
22173
22173
|
return this;
|
|
22174
22174
|
}
|
|
22175
22175
|
|
|
22176
|
-
/**
|
|
22177
|
-
* Returns complexity of an instance
|
|
22178
|
-
* @return {Number} complexity
|
|
22176
|
+
/**
|
|
22177
|
+
* Returns complexity of an instance
|
|
22178
|
+
* @return {Number} complexity
|
|
22179
22179
|
*/
|
|
22180
22180
|
complexity() {
|
|
22181
22181
|
return 1;
|
|
22182
22182
|
}
|
|
22183
22183
|
|
|
22184
|
-
/**
|
|
22185
|
-
* List of generic font families
|
|
22186
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22184
|
+
/**
|
|
22185
|
+
* List of generic font families
|
|
22186
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22187
22187
|
*/
|
|
22188
22188
|
|
|
22189
|
-
/**
|
|
22190
|
-
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22191
|
-
* @param {HTMLElement} element Element to parse
|
|
22192
|
-
* @param {Object} [options] Options object
|
|
22189
|
+
/**
|
|
22190
|
+
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22191
|
+
* @param {HTMLElement} element Element to parse
|
|
22192
|
+
* @param {Object} [options] Options object
|
|
22193
22193
|
*/
|
|
22194
22194
|
static async fromElement(element, options, cssRules) {
|
|
22195
22195
|
const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
|
|
@@ -22228,10 +22228,10 @@ class FabricText extends StyledText {
|
|
|
22228
22228
|
scaledDiff = lineHeightDiff * textHeightScaleFactor,
|
|
22229
22229
|
textHeight = text.getScaledHeight() + scaledDiff;
|
|
22230
22230
|
let offX = 0;
|
|
22231
|
-
/*
|
|
22232
|
-
Adjust positioning:
|
|
22233
|
-
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22234
|
-
fabric output by default at top, left.
|
|
22231
|
+
/*
|
|
22232
|
+
Adjust positioning:
|
|
22233
|
+
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22234
|
+
fabric output by default at top, left.
|
|
22235
22235
|
*/
|
|
22236
22236
|
if (textAnchor === CENTER) {
|
|
22237
22237
|
offX = text.getScaledWidth() / 2;
|
|
@@ -22249,9 +22249,9 @@ class FabricText extends StyledText {
|
|
|
22249
22249
|
|
|
22250
22250
|
/* _FROM_SVG_END_ */
|
|
22251
22251
|
|
|
22252
|
-
/**
|
|
22253
|
-
* Check if the font is ready for accurate measurements
|
|
22254
|
-
* @private
|
|
22252
|
+
/**
|
|
22253
|
+
* Check if the font is ready for accurate measurements
|
|
22254
|
+
* @private
|
|
22255
22255
|
*/
|
|
22256
22256
|
_isFontReady() {
|
|
22257
22257
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22264,9 +22264,9 @@ class FabricText extends StyledText {
|
|
|
22264
22264
|
}
|
|
22265
22265
|
}
|
|
22266
22266
|
|
|
22267
|
-
/**
|
|
22268
|
-
* Schedule re-initialization after font loads
|
|
22269
|
-
* @private
|
|
22267
|
+
/**
|
|
22268
|
+
* Schedule re-initialization after font loads
|
|
22269
|
+
* @private
|
|
22270
22270
|
*/
|
|
22271
22271
|
_scheduleInitAfterFontLoad() {
|
|
22272
22272
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22302,8 +22302,8 @@ class FabricText extends StyledText {
|
|
|
22302
22302
|
});
|
|
22303
22303
|
}
|
|
22304
22304
|
|
|
22305
|
-
/**
|
|
22306
|
-
* Force complete text re-initialization (useful after JSON loading)
|
|
22305
|
+
/**
|
|
22306
|
+
* Force complete text re-initialization (useful after JSON loading)
|
|
22307
22307
|
*/
|
|
22308
22308
|
forceTextReinitialization() {
|
|
22309
22309
|
console.log('🔄 Force reinitializing text object');
|
|
@@ -22331,10 +22331,10 @@ class FabricText extends StyledText {
|
|
|
22331
22331
|
}
|
|
22332
22332
|
}
|
|
22333
22333
|
|
|
22334
|
-
/**
|
|
22335
|
-
* Returns FabricText instance from an object representation
|
|
22336
|
-
* @param {Object} object plain js Object to create an instance from
|
|
22337
|
-
* @returns {Promise<FabricText>}
|
|
22334
|
+
/**
|
|
22335
|
+
* Returns FabricText instance from an object representation
|
|
22336
|
+
* @param {Object} object plain js Object to create an instance from
|
|
22337
|
+
* @returns {Promise<FabricText>}
|
|
22338
22338
|
*/
|
|
22339
22339
|
static fromObject(object) {
|
|
22340
22340
|
return this._fromObject({
|
|
@@ -22432,10 +22432,10 @@ class FabricText extends StyledText {
|
|
|
22432
22432
|
});
|
|
22433
22433
|
}
|
|
22434
22434
|
}
|
|
22435
|
-
/**
|
|
22436
|
-
* Properties that requires a text layout recalculation when changed
|
|
22437
|
-
* @type string[]
|
|
22438
|
-
* @protected
|
|
22435
|
+
/**
|
|
22436
|
+
* Properties that requires a text layout recalculation when changed
|
|
22437
|
+
* @type string[]
|
|
22438
|
+
* @protected
|
|
22439
22439
|
*/
|
|
22440
22440
|
_defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
|
|
22441
22441
|
_defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
|
|
@@ -22443,9 +22443,9 @@ _defineProperty(FabricText, "ownDefaults", textDefaultValues);
|
|
|
22443
22443
|
_defineProperty(FabricText, "type", 'Text');
|
|
22444
22444
|
_defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
|
|
22445
22445
|
/* _FROM_SVG_START_ */
|
|
22446
|
-
/**
|
|
22447
|
-
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22448
|
-
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22446
|
+
/**
|
|
22447
|
+
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22448
|
+
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22449
22449
|
*/
|
|
22450
22450
|
_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'));
|
|
22451
22451
|
applyMixins(FabricText, [TextSVGExportMixin]);
|
|
@@ -22832,8 +22832,8 @@ class OverlayEditor {
|
|
|
22832
22832
|
// We don't need to save/restore them here as it would conflict with IText's restoration
|
|
22833
22833
|
}
|
|
22834
22834
|
|
|
22835
|
-
/**
|
|
22836
|
-
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22835
|
+
/**
|
|
22836
|
+
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22837
22837
|
*/
|
|
22838
22838
|
getCanvasContainer() {
|
|
22839
22839
|
const upperCanvas = this.canvas.upperCanvasEl;
|
|
@@ -22847,8 +22847,8 @@ class OverlayEditor {
|
|
|
22847
22847
|
return container;
|
|
22848
22848
|
}
|
|
22849
22849
|
|
|
22850
|
-
/**
|
|
22851
|
-
* Create the overlay DOM structure
|
|
22850
|
+
/**
|
|
22851
|
+
* Create the overlay DOM structure
|
|
22852
22852
|
*/
|
|
22853
22853
|
createOverlayDOM() {
|
|
22854
22854
|
// Host div for positioning and overflow control
|
|
@@ -22903,8 +22903,8 @@ class OverlayEditor {
|
|
|
22903
22903
|
document.body.appendChild(this.hostDiv);
|
|
22904
22904
|
}
|
|
22905
22905
|
|
|
22906
|
-
/**
|
|
22907
|
-
* Attach all event listeners
|
|
22906
|
+
/**
|
|
22907
|
+
* Attach all event listeners
|
|
22908
22908
|
*/
|
|
22909
22909
|
attachEventListeners() {
|
|
22910
22910
|
// Textarea events
|
|
@@ -22924,8 +22924,8 @@ class OverlayEditor {
|
|
|
22924
22924
|
this.setupViewportChangeDetection();
|
|
22925
22925
|
}
|
|
22926
22926
|
|
|
22927
|
-
/**
|
|
22928
|
-
* Remove all event listeners
|
|
22927
|
+
/**
|
|
22928
|
+
* Remove all event listeners
|
|
22929
22929
|
*/
|
|
22930
22930
|
removeEventListeners() {
|
|
22931
22931
|
this.textarea.removeEventListener('input', this.boundHandlers.onInput);
|
|
@@ -22942,16 +22942,16 @@ class OverlayEditor {
|
|
|
22942
22942
|
this.restoreViewportChangeDetection();
|
|
22943
22943
|
}
|
|
22944
22944
|
|
|
22945
|
-
/**
|
|
22946
|
-
* Simple method to refresh positioning when canvas changes
|
|
22945
|
+
/**
|
|
22946
|
+
* Simple method to refresh positioning when canvas changes
|
|
22947
22947
|
*/
|
|
22948
22948
|
updatePosition() {
|
|
22949
22949
|
this.applyOverlayStyle();
|
|
22950
22950
|
}
|
|
22951
22951
|
|
|
22952
|
-
/**
|
|
22953
|
-
* Update the Fabric object bounds to match current textarea size
|
|
22954
|
-
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22952
|
+
/**
|
|
22953
|
+
* Update the Fabric object bounds to match current textarea size
|
|
22954
|
+
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22955
22955
|
*/
|
|
22956
22956
|
updateObjectBounds() {
|
|
22957
22957
|
if (this.isDestroyed) return;
|
|
@@ -22985,15 +22985,15 @@ class OverlayEditor {
|
|
|
22985
22985
|
}
|
|
22986
22986
|
}
|
|
22987
22987
|
|
|
22988
|
-
/**
|
|
22989
|
-
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22988
|
+
/**
|
|
22989
|
+
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22990
22990
|
*/
|
|
22991
22991
|
letterSpacingPx(charSpacing, fontSize) {
|
|
22992
22992
|
return charSpacing / 1000 * fontSize;
|
|
22993
22993
|
}
|
|
22994
22994
|
|
|
22995
|
-
/**
|
|
22996
|
-
* Detect text direction using first strong directional character
|
|
22995
|
+
/**
|
|
22996
|
+
* Detect text direction using first strong directional character
|
|
22997
22997
|
*/
|
|
22998
22998
|
firstStrongDir(text) {
|
|
22999
22999
|
// Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
|
|
@@ -23230,8 +23230,8 @@ class OverlayEditor {
|
|
|
23230
23230
|
// Initial bounds are set correctly by Fabric.js - don't force update here
|
|
23231
23231
|
}
|
|
23232
23232
|
|
|
23233
|
-
/**
|
|
23234
|
-
* Debug method to compare textarea and canvas object bounding boxes
|
|
23233
|
+
/**
|
|
23234
|
+
* Debug method to compare textarea and canvas object bounding boxes
|
|
23235
23235
|
*/
|
|
23236
23236
|
debugBoundingBoxComparison() {
|
|
23237
23237
|
const target = this.target;
|
|
@@ -23301,8 +23301,8 @@ class OverlayEditor {
|
|
|
23301
23301
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23302
23302
|
}
|
|
23303
23303
|
|
|
23304
|
-
/**
|
|
23305
|
-
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23304
|
+
/**
|
|
23305
|
+
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23306
23306
|
*/
|
|
23307
23307
|
debugTextWrapping() {
|
|
23308
23308
|
const target = this.target;
|
|
@@ -23387,8 +23387,8 @@ class OverlayEditor {
|
|
|
23387
23387
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23388
23388
|
}
|
|
23389
23389
|
|
|
23390
|
-
/**
|
|
23391
|
-
* Focus the textarea and position cursor at end
|
|
23390
|
+
/**
|
|
23391
|
+
* Focus the textarea and position cursor at end
|
|
23392
23392
|
*/
|
|
23393
23393
|
focusTextarea() {
|
|
23394
23394
|
// For overlay editing, we want to keep the object in "selection mode" not "editing mode"
|
|
@@ -23428,8 +23428,8 @@ class OverlayEditor {
|
|
|
23428
23428
|
this.canvas.requestRenderAll();
|
|
23429
23429
|
}
|
|
23430
23430
|
|
|
23431
|
-
/**
|
|
23432
|
-
* Refresh overlay positioning and styling
|
|
23431
|
+
/**
|
|
23432
|
+
* Refresh overlay positioning and styling
|
|
23433
23433
|
*/
|
|
23434
23434
|
refresh() {
|
|
23435
23435
|
if (this.isDestroyed) return;
|
|
@@ -23437,8 +23437,8 @@ class OverlayEditor {
|
|
|
23437
23437
|
// Don't update object bounds on every refresh - only when textarea actually resizes
|
|
23438
23438
|
}
|
|
23439
23439
|
|
|
23440
|
-
/**
|
|
23441
|
-
* Destroy the overlay editor
|
|
23440
|
+
/**
|
|
23441
|
+
* Destroy the overlay editor
|
|
23442
23442
|
*/
|
|
23443
23443
|
destroy() {
|
|
23444
23444
|
let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -23606,8 +23606,8 @@ class OverlayEditor {
|
|
|
23606
23606
|
}
|
|
23607
23607
|
}
|
|
23608
23608
|
|
|
23609
|
-
/**
|
|
23610
|
-
* Setup detection for viewport changes (zoom/pan)
|
|
23609
|
+
/**
|
|
23610
|
+
* Setup detection for viewport changes (zoom/pan)
|
|
23611
23611
|
*/
|
|
23612
23612
|
setupViewportChangeDetection() {
|
|
23613
23613
|
// Store original methods
|
|
@@ -23636,8 +23636,8 @@ class OverlayEditor {
|
|
|
23636
23636
|
};
|
|
23637
23637
|
}
|
|
23638
23638
|
|
|
23639
|
-
/**
|
|
23640
|
-
* Restore original viewport methods
|
|
23639
|
+
/**
|
|
23640
|
+
* Restore original viewport methods
|
|
23641
23641
|
*/
|
|
23642
23642
|
restoreViewportChangeDetection() {
|
|
23643
23643
|
if (this.canvas.__originalSetZoom) {
|
|
@@ -23652,8 +23652,8 @@ class OverlayEditor {
|
|
|
23652
23652
|
}
|
|
23653
23653
|
}
|
|
23654
23654
|
|
|
23655
|
-
/**
|
|
23656
|
-
* Enter overlay text editing mode for a text object
|
|
23655
|
+
/**
|
|
23656
|
+
* Enter overlay text editing mode for a text object
|
|
23657
23657
|
*/
|
|
23658
23658
|
function enterTextOverlayEdit(canvas, target, options) {
|
|
23659
23659
|
// If already in overlay editing, destroy existing editor first
|
|
@@ -23677,35 +23677,35 @@ function enterTextOverlayEdit(canvas, target, options) {
|
|
|
23677
23677
|
return editor;
|
|
23678
23678
|
}
|
|
23679
23679
|
|
|
23680
|
-
/**
|
|
23681
|
-
* extend this regex to support non english languages
|
|
23682
|
-
*
|
|
23683
|
-
* - ` ` Matches a SPACE character (char code 32).
|
|
23684
|
-
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23685
|
-
* - `.` Matches a "." character (char code 46).
|
|
23686
|
-
* - `,` Matches a "," character (char code 44).
|
|
23687
|
-
* - `;` Matches a ";" character (char code 59).
|
|
23688
|
-
* - `!` Matches a "!" character (char code 33).
|
|
23689
|
-
* - `\?` Matches a "?" character (char code 63).
|
|
23690
|
-
* - `\-` Matches a "-" character (char code 45).
|
|
23680
|
+
/**
|
|
23681
|
+
* extend this regex to support non english languages
|
|
23682
|
+
*
|
|
23683
|
+
* - ` ` Matches a SPACE character (char code 32).
|
|
23684
|
+
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23685
|
+
* - `.` Matches a "." character (char code 46).
|
|
23686
|
+
* - `,` Matches a "," character (char code 44).
|
|
23687
|
+
* - `;` Matches a ";" character (char code 59).
|
|
23688
|
+
* - `!` Matches a "!" character (char code 33).
|
|
23689
|
+
* - `\?` Matches a "?" character (char code 63).
|
|
23690
|
+
* - `\-` Matches a "-" character (char code 45).
|
|
23691
23691
|
*/
|
|
23692
23692
|
// eslint-disable-next-line no-useless-escape
|
|
23693
23693
|
const reNonWord = /[ \n\.,;!\?\-]/;
|
|
23694
23694
|
class ITextBehavior extends FabricText {
|
|
23695
23695
|
constructor() {
|
|
23696
23696
|
super(...arguments);
|
|
23697
|
-
/**
|
|
23698
|
-
* Helps determining when the text is in composition, so that the cursor
|
|
23699
|
-
* rendering is altered.
|
|
23697
|
+
/**
|
|
23698
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
23699
|
+
* rendering is altered.
|
|
23700
23700
|
*/
|
|
23701
23701
|
_defineProperty(this, "_currentCursorOpacity", 1);
|
|
23702
23702
|
}
|
|
23703
|
-
/**
|
|
23704
|
-
* Keeps track if the IText object was selected before the actual click.
|
|
23705
|
-
* This because we want to delay enter editing by a click.
|
|
23703
|
+
/**
|
|
23704
|
+
* Keeps track if the IText object was selected before the actual click.
|
|
23705
|
+
* This because we want to delay enter editing by a click.
|
|
23706
23706
|
*/
|
|
23707
|
-
/**
|
|
23708
|
-
* Initializes all the interactive behavior of IText
|
|
23707
|
+
/**
|
|
23708
|
+
* Initializes all the interactive behavior of IText
|
|
23709
23709
|
*/
|
|
23710
23710
|
initBehavior() {
|
|
23711
23711
|
this._tick = this._tick.bind(this);
|
|
@@ -23718,8 +23718,8 @@ class ITextBehavior extends FabricText {
|
|
|
23718
23718
|
return super.onDeselect(options);
|
|
23719
23719
|
}
|
|
23720
23720
|
|
|
23721
|
-
/**
|
|
23722
|
-
* @private
|
|
23721
|
+
/**
|
|
23722
|
+
* @private
|
|
23723
23723
|
*/
|
|
23724
23724
|
_animateCursor(_ref) {
|
|
23725
23725
|
let {
|
|
@@ -23744,8 +23744,8 @@ class ITextBehavior extends FabricText {
|
|
|
23744
23744
|
});
|
|
23745
23745
|
}
|
|
23746
23746
|
|
|
23747
|
-
/**
|
|
23748
|
-
* changes the cursor from visible to invisible
|
|
23747
|
+
/**
|
|
23748
|
+
* changes the cursor from visible to invisible
|
|
23749
23749
|
*/
|
|
23750
23750
|
_tick(delay) {
|
|
23751
23751
|
this._currentTickState = this._animateCursor({
|
|
@@ -23756,8 +23756,8 @@ class ITextBehavior extends FabricText {
|
|
|
23756
23756
|
});
|
|
23757
23757
|
}
|
|
23758
23758
|
|
|
23759
|
-
/**
|
|
23760
|
-
* Changes the cursor from invisible to visible
|
|
23759
|
+
/**
|
|
23760
|
+
* Changes the cursor from invisible to visible
|
|
23761
23761
|
*/
|
|
23762
23762
|
_onTickComplete() {
|
|
23763
23763
|
var _this$_currentTickCom;
|
|
@@ -23769,16 +23769,16 @@ class ITextBehavior extends FabricText {
|
|
|
23769
23769
|
});
|
|
23770
23770
|
}
|
|
23771
23771
|
|
|
23772
|
-
/**
|
|
23773
|
-
* Initializes delayed cursor
|
|
23772
|
+
/**
|
|
23773
|
+
* Initializes delayed cursor
|
|
23774
23774
|
*/
|
|
23775
23775
|
initDelayedCursor(restart) {
|
|
23776
23776
|
this.abortCursorAnimation();
|
|
23777
23777
|
this._tick(restart ? 0 : this.cursorDelay);
|
|
23778
23778
|
}
|
|
23779
23779
|
|
|
23780
|
-
/**
|
|
23781
|
-
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23780
|
+
/**
|
|
23781
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23782
23782
|
*/
|
|
23783
23783
|
abortCursorAnimation() {
|
|
23784
23784
|
let shouldClear = false;
|
|
@@ -23796,9 +23796,9 @@ class ITextBehavior extends FabricText {
|
|
|
23796
23796
|
}
|
|
23797
23797
|
}
|
|
23798
23798
|
|
|
23799
|
-
/**
|
|
23800
|
-
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23801
|
-
* or if it never started before
|
|
23799
|
+
/**
|
|
23800
|
+
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23801
|
+
* or if it never started before
|
|
23802
23802
|
*/
|
|
23803
23803
|
restartCursorIfNeeded() {
|
|
23804
23804
|
if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
|
|
@@ -23806,8 +23806,8 @@ class ITextBehavior extends FabricText {
|
|
|
23806
23806
|
}
|
|
23807
23807
|
}
|
|
23808
23808
|
|
|
23809
|
-
/**
|
|
23810
|
-
* Selects entire text
|
|
23809
|
+
/**
|
|
23810
|
+
* Selects entire text
|
|
23811
23811
|
*/
|
|
23812
23812
|
selectAll() {
|
|
23813
23813
|
this.selectionStart = 0;
|
|
@@ -23817,26 +23817,26 @@ class ITextBehavior extends FabricText {
|
|
|
23817
23817
|
return this;
|
|
23818
23818
|
}
|
|
23819
23819
|
|
|
23820
|
-
/**
|
|
23821
|
-
* Selects entire text and updates the visual state
|
|
23820
|
+
/**
|
|
23821
|
+
* Selects entire text and updates the visual state
|
|
23822
23822
|
*/
|
|
23823
23823
|
cmdAll() {
|
|
23824
23824
|
this.selectAll();
|
|
23825
23825
|
this.renderCursorOrSelection();
|
|
23826
23826
|
}
|
|
23827
23827
|
|
|
23828
|
-
/**
|
|
23829
|
-
* Returns selected text
|
|
23830
|
-
* @return {String}
|
|
23828
|
+
/**
|
|
23829
|
+
* Returns selected text
|
|
23830
|
+
* @return {String}
|
|
23831
23831
|
*/
|
|
23832
23832
|
getSelectedText() {
|
|
23833
23833
|
return this._text.slice(this.selectionStart, this.selectionEnd).join('');
|
|
23834
23834
|
}
|
|
23835
23835
|
|
|
23836
|
-
/**
|
|
23837
|
-
* Find new selection index representing start of current word according to current selection index
|
|
23838
|
-
* @param {Number} startFrom Current selection index
|
|
23839
|
-
* @return {Number} New selection index
|
|
23836
|
+
/**
|
|
23837
|
+
* Find new selection index representing start of current word according to current selection index
|
|
23838
|
+
* @param {Number} startFrom Current selection index
|
|
23839
|
+
* @return {Number} New selection index
|
|
23840
23840
|
*/
|
|
23841
23841
|
findWordBoundaryLeft(startFrom) {
|
|
23842
23842
|
let offset = 0,
|
|
@@ -23856,10 +23856,10 @@ class ITextBehavior extends FabricText {
|
|
|
23856
23856
|
return startFrom - offset;
|
|
23857
23857
|
}
|
|
23858
23858
|
|
|
23859
|
-
/**
|
|
23860
|
-
* Find new selection index representing end of current word according to current selection index
|
|
23861
|
-
* @param {Number} startFrom Current selection index
|
|
23862
|
-
* @return {Number} New selection index
|
|
23859
|
+
/**
|
|
23860
|
+
* Find new selection index representing end of current word according to current selection index
|
|
23861
|
+
* @param {Number} startFrom Current selection index
|
|
23862
|
+
* @return {Number} New selection index
|
|
23863
23863
|
*/
|
|
23864
23864
|
findWordBoundaryRight(startFrom) {
|
|
23865
23865
|
let offset = 0,
|
|
@@ -23879,10 +23879,10 @@ class ITextBehavior extends FabricText {
|
|
|
23879
23879
|
return startFrom + offset;
|
|
23880
23880
|
}
|
|
23881
23881
|
|
|
23882
|
-
/**
|
|
23883
|
-
* Find new selection index representing start of current line according to current selection index
|
|
23884
|
-
* @param {Number} startFrom Current selection index
|
|
23885
|
-
* @return {Number} New selection index
|
|
23882
|
+
/**
|
|
23883
|
+
* Find new selection index representing start of current line according to current selection index
|
|
23884
|
+
* @param {Number} startFrom Current selection index
|
|
23885
|
+
* @return {Number} New selection index
|
|
23886
23886
|
*/
|
|
23887
23887
|
findLineBoundaryLeft(startFrom) {
|
|
23888
23888
|
let offset = 0,
|
|
@@ -23894,10 +23894,10 @@ class ITextBehavior extends FabricText {
|
|
|
23894
23894
|
return startFrom - offset;
|
|
23895
23895
|
}
|
|
23896
23896
|
|
|
23897
|
-
/**
|
|
23898
|
-
* Find new selection index representing end of current line according to current selection index
|
|
23899
|
-
* @param {Number} startFrom Current selection index
|
|
23900
|
-
* @return {Number} New selection index
|
|
23897
|
+
/**
|
|
23898
|
+
* Find new selection index representing end of current line according to current selection index
|
|
23899
|
+
* @param {Number} startFrom Current selection index
|
|
23900
|
+
* @return {Number} New selection index
|
|
23901
23901
|
*/
|
|
23902
23902
|
findLineBoundaryRight(startFrom) {
|
|
23903
23903
|
let offset = 0,
|
|
@@ -23909,11 +23909,11 @@ class ITextBehavior extends FabricText {
|
|
|
23909
23909
|
return startFrom + offset;
|
|
23910
23910
|
}
|
|
23911
23911
|
|
|
23912
|
-
/**
|
|
23913
|
-
* Finds index corresponding to beginning or end of a word
|
|
23914
|
-
* @param {Number} selectionStart Index of a character
|
|
23915
|
-
* @param {Number} direction 1 or -1
|
|
23916
|
-
* @return {Number} Index of the beginning or end of a word
|
|
23912
|
+
/**
|
|
23913
|
+
* Finds index corresponding to beginning or end of a word
|
|
23914
|
+
* @param {Number} selectionStart Index of a character
|
|
23915
|
+
* @param {Number} direction 1 or -1
|
|
23916
|
+
* @return {Number} Index of the beginning or end of a word
|
|
23917
23917
|
*/
|
|
23918
23918
|
searchWordBoundary(selectionStart, direction) {
|
|
23919
23919
|
const text = this._text;
|
|
@@ -23931,9 +23931,9 @@ class ITextBehavior extends FabricText {
|
|
|
23931
23931
|
return index;
|
|
23932
23932
|
}
|
|
23933
23933
|
|
|
23934
|
-
/**
|
|
23935
|
-
* Selects the word that contains the char at index selectionStart
|
|
23936
|
-
* @param {Number} selectionStart Index of a character
|
|
23934
|
+
/**
|
|
23935
|
+
* Selects the word that contains the char at index selectionStart
|
|
23936
|
+
* @param {Number} selectionStart Index of a character
|
|
23937
23937
|
*/
|
|
23938
23938
|
selectWord(selectionStart) {
|
|
23939
23939
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23949,9 +23949,9 @@ class ITextBehavior extends FabricText {
|
|
|
23949
23949
|
this.renderCursorOrSelection();
|
|
23950
23950
|
}
|
|
23951
23951
|
|
|
23952
|
-
/**
|
|
23953
|
-
* Selects the line that contains selectionStart
|
|
23954
|
-
* @param {Number} selectionStart Index of a character
|
|
23952
|
+
/**
|
|
23953
|
+
* Selects the line that contains selectionStart
|
|
23954
|
+
* @param {Number} selectionStart Index of a character
|
|
23955
23955
|
*/
|
|
23956
23956
|
selectLine(selectionStart) {
|
|
23957
23957
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23963,8 +23963,8 @@ class ITextBehavior extends FabricText {
|
|
|
23963
23963
|
this._updateTextarea();
|
|
23964
23964
|
}
|
|
23965
23965
|
|
|
23966
|
-
/**
|
|
23967
|
-
* Enters editing state
|
|
23966
|
+
/**
|
|
23967
|
+
* Enters editing state
|
|
23968
23968
|
*/
|
|
23969
23969
|
enterEditing(e) {
|
|
23970
23970
|
if (this.isEditing || !this.editable) {
|
|
@@ -23984,8 +23984,8 @@ class ITextBehavior extends FabricText {
|
|
|
23984
23984
|
}
|
|
23985
23985
|
}
|
|
23986
23986
|
|
|
23987
|
-
/**
|
|
23988
|
-
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23987
|
+
/**
|
|
23988
|
+
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23989
23989
|
*/
|
|
23990
23990
|
enterEditingImpl() {
|
|
23991
23991
|
if (this.canvas) {
|
|
@@ -24009,8 +24009,8 @@ class ITextBehavior extends FabricText {
|
|
|
24009
24009
|
}
|
|
24010
24010
|
}
|
|
24011
24011
|
|
|
24012
|
-
/**
|
|
24013
|
-
* Enter overlay editing mode using DOM textarea overlay
|
|
24012
|
+
/**
|
|
24013
|
+
* Enter overlay editing mode using DOM textarea overlay
|
|
24014
24014
|
*/
|
|
24015
24015
|
enterOverlayEditing() {
|
|
24016
24016
|
this._saveEditingProps();
|
|
@@ -24031,8 +24031,8 @@ class ITextBehavior extends FabricText {
|
|
|
24031
24031
|
});
|
|
24032
24032
|
}
|
|
24033
24033
|
|
|
24034
|
-
/**
|
|
24035
|
-
* Commit overlay editing changes
|
|
24034
|
+
/**
|
|
24035
|
+
* Commit overlay editing changes
|
|
24036
24036
|
*/
|
|
24037
24037
|
commitOverlayEdit(text) {
|
|
24038
24038
|
const overlayEditor = this.__overlayEditor;
|
|
@@ -24056,8 +24056,8 @@ class ITextBehavior extends FabricText {
|
|
|
24056
24056
|
this.canvas && this.canvas.requestRenderAll();
|
|
24057
24057
|
}
|
|
24058
24058
|
|
|
24059
|
-
/**
|
|
24060
|
-
* Cancel overlay editing without changes
|
|
24059
|
+
/**
|
|
24060
|
+
* Cancel overlay editing without changes
|
|
24061
24061
|
*/
|
|
24062
24062
|
cancelOverlayEdit() {
|
|
24063
24063
|
// Restore original text
|
|
@@ -24065,8 +24065,8 @@ class ITextBehavior extends FabricText {
|
|
|
24065
24065
|
this.exitEditing();
|
|
24066
24066
|
}
|
|
24067
24067
|
|
|
24068
|
-
/**
|
|
24069
|
-
* called by {@link Canvas#textEditingManager}
|
|
24068
|
+
/**
|
|
24069
|
+
* called by {@link Canvas#textEditingManager}
|
|
24070
24070
|
*/
|
|
24071
24071
|
updateSelectionOnMouseMove(e) {
|
|
24072
24072
|
if (this.getActiveControl()) {
|
|
@@ -24094,8 +24094,8 @@ class ITextBehavior extends FabricText {
|
|
|
24094
24094
|
}
|
|
24095
24095
|
}
|
|
24096
24096
|
|
|
24097
|
-
/**
|
|
24098
|
-
* @private
|
|
24097
|
+
/**
|
|
24098
|
+
* @private
|
|
24099
24099
|
*/
|
|
24100
24100
|
_setEditingProps() {
|
|
24101
24101
|
this.hoverCursor = 'text';
|
|
@@ -24107,8 +24107,8 @@ class ITextBehavior extends FabricText {
|
|
|
24107
24107
|
this.lockMovementX = this.lockMovementY = true;
|
|
24108
24108
|
}
|
|
24109
24109
|
|
|
24110
|
-
/**
|
|
24111
|
-
* convert from textarea to grapheme indexes
|
|
24110
|
+
/**
|
|
24111
|
+
* convert from textarea to grapheme indexes
|
|
24112
24112
|
*/
|
|
24113
24113
|
fromStringToGraphemeSelection(start, end, text) {
|
|
24114
24114
|
const smallerTextStart = text.slice(0, start),
|
|
@@ -24127,8 +24127,8 @@ class ITextBehavior extends FabricText {
|
|
|
24127
24127
|
};
|
|
24128
24128
|
}
|
|
24129
24129
|
|
|
24130
|
-
/**
|
|
24131
|
-
* convert from fabric to textarea values
|
|
24130
|
+
/**
|
|
24131
|
+
* convert from fabric to textarea values
|
|
24132
24132
|
*/
|
|
24133
24133
|
fromGraphemeToStringSelection(start, end, graphemes) {
|
|
24134
24134
|
const smallerTextStart = graphemes.slice(0, start),
|
|
@@ -24147,14 +24147,24 @@ class ITextBehavior extends FabricText {
|
|
|
24147
24147
|
};
|
|
24148
24148
|
}
|
|
24149
24149
|
|
|
24150
|
-
/**
|
|
24151
|
-
* @private
|
|
24150
|
+
/**
|
|
24151
|
+
* @private
|
|
24152
24152
|
*/
|
|
24153
24153
|
_updateTextarea() {
|
|
24154
|
+
console.log('🔤 _updateTextarea called with fabric text:', this.text);
|
|
24154
24155
|
this.cursorOffsetCache = {};
|
|
24155
24156
|
if (!this.hiddenTextarea) {
|
|
24156
24157
|
return;
|
|
24157
24158
|
}
|
|
24159
|
+
|
|
24160
|
+
// Sync textarea content with fabric text to prevent double-keypress issues
|
|
24161
|
+
const currentFabricText = this.text;
|
|
24162
|
+
if (this.hiddenTextarea.value !== currentFabricText) {
|
|
24163
|
+
console.log('🔤 _updateTextarea: syncing textarea to fabric text');
|
|
24164
|
+
console.log('🔤 _updateTextarea: textarea was:', this.hiddenTextarea.value);
|
|
24165
|
+
console.log('🔤 _updateTextarea: fabric is:', currentFabricText);
|
|
24166
|
+
this.hiddenTextarea.value = currentFabricText;
|
|
24167
|
+
}
|
|
24158
24168
|
if (!this.inCompositionMode) {
|
|
24159
24169
|
const newSelection = this.fromGraphemeToStringSelection(this.selectionStart, this.selectionEnd, this._text);
|
|
24160
24170
|
this.hiddenTextarea.selectionStart = newSelection.selectionStart;
|
|
@@ -24163,8 +24173,8 @@ class ITextBehavior extends FabricText {
|
|
|
24163
24173
|
this.updateTextareaPosition();
|
|
24164
24174
|
}
|
|
24165
24175
|
|
|
24166
|
-
/**
|
|
24167
|
-
* @private
|
|
24176
|
+
/**
|
|
24177
|
+
* @private
|
|
24168
24178
|
*/
|
|
24169
24179
|
updateFromTextArea() {
|
|
24170
24180
|
if (!this.hiddenTextarea) {
|
|
@@ -24184,8 +24194,8 @@ class ITextBehavior extends FabricText {
|
|
|
24184
24194
|
this.updateTextareaPosition();
|
|
24185
24195
|
}
|
|
24186
24196
|
|
|
24187
|
-
/**
|
|
24188
|
-
* @private
|
|
24197
|
+
/**
|
|
24198
|
+
* @private
|
|
24189
24199
|
*/
|
|
24190
24200
|
updateTextareaPosition() {
|
|
24191
24201
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -24195,9 +24205,9 @@ class ITextBehavior extends FabricText {
|
|
|
24195
24205
|
}
|
|
24196
24206
|
}
|
|
24197
24207
|
|
|
24198
|
-
/**
|
|
24199
|
-
* @private
|
|
24200
|
-
* @return {Object} style contains style for hiddenTextarea
|
|
24208
|
+
/**
|
|
24209
|
+
* @private
|
|
24210
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
24201
24211
|
*/
|
|
24202
24212
|
_calcTextareaPosition() {
|
|
24203
24213
|
if (!this.canvas) {
|
|
@@ -24244,8 +24254,8 @@ class ITextBehavior extends FabricText {
|
|
|
24244
24254
|
};
|
|
24245
24255
|
}
|
|
24246
24256
|
|
|
24247
|
-
/**
|
|
24248
|
-
* @private
|
|
24257
|
+
/**
|
|
24258
|
+
* @private
|
|
24249
24259
|
*/
|
|
24250
24260
|
_saveEditingProps() {
|
|
24251
24261
|
this._savedProps = {
|
|
@@ -24262,8 +24272,8 @@ class ITextBehavior extends FabricText {
|
|
|
24262
24272
|
};
|
|
24263
24273
|
}
|
|
24264
24274
|
|
|
24265
|
-
/**
|
|
24266
|
-
* @private
|
|
24275
|
+
/**
|
|
24276
|
+
* @private
|
|
24267
24277
|
*/
|
|
24268
24278
|
_restoreEditingProps() {
|
|
24269
24279
|
if (!this._savedProps) {
|
|
@@ -24283,9 +24293,9 @@ class ITextBehavior extends FabricText {
|
|
|
24283
24293
|
delete this._savedProps;
|
|
24284
24294
|
}
|
|
24285
24295
|
|
|
24286
|
-
/**
|
|
24287
|
-
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24288
|
-
* But it does not fire events
|
|
24296
|
+
/**
|
|
24297
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24298
|
+
* But it does not fire events
|
|
24289
24299
|
*/
|
|
24290
24300
|
exitEditingImpl() {
|
|
24291
24301
|
const hiddenTextarea = this.hiddenTextarea;
|
|
@@ -24306,8 +24316,8 @@ class ITextBehavior extends FabricText {
|
|
|
24306
24316
|
}
|
|
24307
24317
|
}
|
|
24308
24318
|
|
|
24309
|
-
/**
|
|
24310
|
-
* Exits from editing state and fires relevant events
|
|
24319
|
+
/**
|
|
24320
|
+
* Exits from editing state and fires relevant events
|
|
24311
24321
|
*/
|
|
24312
24322
|
exitEditing() {
|
|
24313
24323
|
const isTextChanged = this._textBeforeEdit !== this.text;
|
|
@@ -24326,8 +24336,8 @@ class ITextBehavior extends FabricText {
|
|
|
24326
24336
|
return this;
|
|
24327
24337
|
}
|
|
24328
24338
|
|
|
24329
|
-
/**
|
|
24330
|
-
* @private
|
|
24339
|
+
/**
|
|
24340
|
+
* @private
|
|
24331
24341
|
*/
|
|
24332
24342
|
_removeExtraneousStyles() {
|
|
24333
24343
|
for (const prop in this.styles) {
|
|
@@ -24337,10 +24347,10 @@ class ITextBehavior extends FabricText {
|
|
|
24337
24347
|
}
|
|
24338
24348
|
}
|
|
24339
24349
|
|
|
24340
|
-
/**
|
|
24341
|
-
* remove and reflow a style block from start to end.
|
|
24342
|
-
* @param {Number} start linear start position for removal (included in removal)
|
|
24343
|
-
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24350
|
+
/**
|
|
24351
|
+
* remove and reflow a style block from start to end.
|
|
24352
|
+
* @param {Number} start linear start position for removal (included in removal)
|
|
24353
|
+
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24344
24354
|
*/
|
|
24345
24355
|
removeStyleFromTo(start, end) {
|
|
24346
24356
|
const {
|
|
@@ -24393,10 +24403,10 @@ class ITextBehavior extends FabricText {
|
|
|
24393
24403
|
}
|
|
24394
24404
|
}
|
|
24395
24405
|
|
|
24396
|
-
/**
|
|
24397
|
-
* Shifts line styles up or down
|
|
24398
|
-
* @param {Number} lineIndex Index of a line
|
|
24399
|
-
* @param {Number} offset Can any number?
|
|
24406
|
+
/**
|
|
24407
|
+
* Shifts line styles up or down
|
|
24408
|
+
* @param {Number} lineIndex Index of a line
|
|
24409
|
+
* @param {Number} offset Can any number?
|
|
24400
24410
|
*/
|
|
24401
24411
|
shiftLineStyles(lineIndex, offset) {
|
|
24402
24412
|
const clonedStyles = Object.assign({}, this.styles);
|
|
@@ -24411,15 +24421,15 @@ class ITextBehavior extends FabricText {
|
|
|
24411
24421
|
}
|
|
24412
24422
|
}
|
|
24413
24423
|
|
|
24414
|
-
/**
|
|
24415
|
-
* Handle insertion of more consecutive style lines for when one or more
|
|
24416
|
-
* newlines gets added to the text. Since current style needs to be shifted
|
|
24417
|
-
* first we shift the current style of the number lines needed, then we add
|
|
24418
|
-
* new lines from the last to the first.
|
|
24419
|
-
* @param {Number} lineIndex Index of a line
|
|
24420
|
-
* @param {Number} charIndex Index of a char
|
|
24421
|
-
* @param {Number} qty number of lines to add
|
|
24422
|
-
* @param {Array} copiedStyle Array of objects styles
|
|
24424
|
+
/**
|
|
24425
|
+
* Handle insertion of more consecutive style lines for when one or more
|
|
24426
|
+
* newlines gets added to the text. Since current style needs to be shifted
|
|
24427
|
+
* first we shift the current style of the number lines needed, then we add
|
|
24428
|
+
* new lines from the last to the first.
|
|
24429
|
+
* @param {Number} lineIndex Index of a line
|
|
24430
|
+
* @param {Number} charIndex Index of a char
|
|
24431
|
+
* @param {Number} qty number of lines to add
|
|
24432
|
+
* @param {Array} copiedStyle Array of objects styles
|
|
24423
24433
|
*/
|
|
24424
24434
|
insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
|
|
24425
24435
|
const newLineStyles = {};
|
|
@@ -24479,12 +24489,12 @@ class ITextBehavior extends FabricText {
|
|
|
24479
24489
|
this._forceClearCache = true;
|
|
24480
24490
|
}
|
|
24481
24491
|
|
|
24482
|
-
/**
|
|
24483
|
-
* Inserts style object for a given line/char index
|
|
24484
|
-
* @param {Number} lineIndex Index of a line
|
|
24485
|
-
* @param {Number} charIndex Index of a char
|
|
24486
|
-
* @param {Number} quantity number Style object to insert, if given
|
|
24487
|
-
* @param {Array} copiedStyle array of style objects
|
|
24492
|
+
/**
|
|
24493
|
+
* Inserts style object for a given line/char index
|
|
24494
|
+
* @param {Number} lineIndex Index of a line
|
|
24495
|
+
* @param {Number} charIndex Index of a char
|
|
24496
|
+
* @param {Number} quantity number Style object to insert, if given
|
|
24497
|
+
* @param {Array} copiedStyle array of style objects
|
|
24488
24498
|
*/
|
|
24489
24499
|
insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
|
|
24490
24500
|
if (!this.styles) {
|
|
@@ -24533,11 +24543,11 @@ class ITextBehavior extends FabricText {
|
|
|
24533
24543
|
}
|
|
24534
24544
|
}
|
|
24535
24545
|
|
|
24536
|
-
/**
|
|
24537
|
-
* Inserts style object(s)
|
|
24538
|
-
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24539
|
-
* @param {Number} start cursor index for inserting style
|
|
24540
|
-
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24546
|
+
/**
|
|
24547
|
+
* Inserts style object(s)
|
|
24548
|
+
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24549
|
+
* @param {Number} start cursor index for inserting style
|
|
24550
|
+
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24541
24551
|
*/
|
|
24542
24552
|
insertNewStyleBlock(insertedText, start, copiedStyle) {
|
|
24543
24553
|
const cursorLoc = this.get2DCursorLocation(start, true),
|
|
@@ -24578,12 +24588,12 @@ class ITextBehavior extends FabricText {
|
|
|
24578
24588
|
}
|
|
24579
24589
|
}
|
|
24580
24590
|
|
|
24581
|
-
/**
|
|
24582
|
-
* Removes characters from start/end
|
|
24583
|
-
* start/end ar per grapheme position in _text array.
|
|
24584
|
-
*
|
|
24585
|
-
* @param {Number} start
|
|
24586
|
-
* @param {Number} end default to start + 1
|
|
24591
|
+
/**
|
|
24592
|
+
* Removes characters from start/end
|
|
24593
|
+
* start/end ar per grapheme position in _text array.
|
|
24594
|
+
*
|
|
24595
|
+
* @param {Number} start
|
|
24596
|
+
* @param {Number} end default to start + 1
|
|
24587
24597
|
*/
|
|
24588
24598
|
removeChars(start) {
|
|
24589
24599
|
let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
|
|
@@ -24596,17 +24606,17 @@ class ITextBehavior extends FabricText {
|
|
|
24596
24606
|
this._removeExtraneousStyles();
|
|
24597
24607
|
}
|
|
24598
24608
|
|
|
24599
|
-
/**
|
|
24600
|
-
* insert characters at start position, before start position.
|
|
24601
|
-
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24602
|
-
* if style array is provided, it must be as the same length of text in graphemes
|
|
24603
|
-
* if end is provided and is bigger than start, old text is replaced.
|
|
24604
|
-
* start/end ar per grapheme position in _text array.
|
|
24605
|
-
*
|
|
24606
|
-
* @param {String} text text to insert
|
|
24607
|
-
* @param {Array} style array of style objects
|
|
24608
|
-
* @param {Number} start
|
|
24609
|
-
* @param {Number} end default to start + 1
|
|
24609
|
+
/**
|
|
24610
|
+
* insert characters at start position, before start position.
|
|
24611
|
+
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24612
|
+
* if style array is provided, it must be as the same length of text in graphemes
|
|
24613
|
+
* if end is provided and is bigger than start, old text is replaced.
|
|
24614
|
+
* start/end ar per grapheme position in _text array.
|
|
24615
|
+
*
|
|
24616
|
+
* @param {String} text text to insert
|
|
24617
|
+
* @param {Array} style array of style objects
|
|
24618
|
+
* @param {Number} start
|
|
24619
|
+
* @param {Number} end default to start + 1
|
|
24610
24620
|
*/
|
|
24611
24621
|
insertChars(text, style, start) {
|
|
24612
24622
|
let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
|
|
@@ -24623,9 +24633,9 @@ class ITextBehavior extends FabricText {
|
|
|
24623
24633
|
this._removeExtraneousStyles();
|
|
24624
24634
|
}
|
|
24625
24635
|
|
|
24626
|
-
/**
|
|
24627
|
-
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24628
|
-
* mimic the key - mouse navigation when shift is pressed.
|
|
24636
|
+
/**
|
|
24637
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24638
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
24629
24639
|
*/
|
|
24630
24640
|
setSelectionStartEndWithShift(start, end, newSelection) {
|
|
24631
24641
|
if (newSelection <= start) {
|
|
@@ -24801,6 +24811,52 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24801
24811
|
if (!this.isEditing) {
|
|
24802
24812
|
return;
|
|
24803
24813
|
}
|
|
24814
|
+
|
|
24815
|
+
// Debug log to track the double keypress issue
|
|
24816
|
+
console.log('🔤 onInput debug:', {
|
|
24817
|
+
fabricText: this.text,
|
|
24818
|
+
textareaValue: value,
|
|
24819
|
+
fabricSelection: {
|
|
24820
|
+
start: this.selectionStart,
|
|
24821
|
+
end: this.selectionEnd
|
|
24822
|
+
},
|
|
24823
|
+
textareaSelection: {
|
|
24824
|
+
start: selectionStart,
|
|
24825
|
+
end: selectionEnd
|
|
24826
|
+
},
|
|
24827
|
+
fromPaste,
|
|
24828
|
+
inComposition: this.inCompositionMode
|
|
24829
|
+
});
|
|
24830
|
+
|
|
24831
|
+
// Immediate sync for simple character replacement - fix for double keypress issue
|
|
24832
|
+
if (this.text !== value && !this.inCompositionMode) {
|
|
24833
|
+
console.log('🔤 Immediate sync: fabric text differs from textarea, syncing immediately');
|
|
24834
|
+
console.log('🔤 Before sync - fabric text:', this.text);
|
|
24835
|
+
console.log('🔤 Before sync - textarea value:', value);
|
|
24836
|
+
console.log('🔤 fromPaste:', fromPaste);
|
|
24837
|
+
|
|
24838
|
+
// Clear all relevant caches that might prevent visual updates
|
|
24839
|
+
this.cursorOffsetCache = {};
|
|
24840
|
+
this._browserWrapCache = null;
|
|
24841
|
+
this._lastDimensionState = null;
|
|
24842
|
+
this._forceClearCache = true;
|
|
24843
|
+
console.log('🔤 Cleared all caches');
|
|
24844
|
+
|
|
24845
|
+
// Use the same logic as updateAndFire but immediately
|
|
24846
|
+
this.updateFromTextArea();
|
|
24847
|
+
this.fire(CHANGED);
|
|
24848
|
+
if (this.canvas) {
|
|
24849
|
+
this.canvas.fire('text:changed', {
|
|
24850
|
+
target: this
|
|
24851
|
+
});
|
|
24852
|
+
// ONLY use synchronous rendering to avoid race conditions
|
|
24853
|
+
// Remove requestRenderAll() which queues for next animation frame
|
|
24854
|
+
this.canvas.renderAll();
|
|
24855
|
+
}
|
|
24856
|
+
console.log('🔤 After updateFromTextArea - fabric text:', this.text);
|
|
24857
|
+
console.log('🔤 Sync complete, caches cleared, synchronous render only');
|
|
24858
|
+
return;
|
|
24859
|
+
}
|
|
24804
24860
|
const updateAndFire = () => {
|
|
24805
24861
|
this.updateFromTextArea();
|
|
24806
24862
|
this.fire(CHANGED);
|
|
@@ -25248,8 +25304,8 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25248
25304
|
}
|
|
25249
25305
|
}
|
|
25250
25306
|
|
|
25251
|
-
/**
|
|
25252
|
-
* `LEFT_CLICK === 0`
|
|
25307
|
+
/**
|
|
25308
|
+
* `LEFT_CLICK === 0`
|
|
25253
25309
|
*/
|
|
25254
25310
|
const notALeftClick = e => !!e.button;
|
|
25255
25311
|
class ITextClickBehavior extends ITextKeyBehavior {
|
|
@@ -25267,36 +25323,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25267
25323
|
super.initBehavior();
|
|
25268
25324
|
}
|
|
25269
25325
|
|
|
25270
|
-
/**
|
|
25271
|
-
* If this method returns true a mouse move operation over a text selection
|
|
25272
|
-
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25273
|
-
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25274
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25275
|
-
* @returns
|
|
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
|
|
25276
25332
|
*/
|
|
25277
25333
|
shouldStartDragging() {
|
|
25278
25334
|
return this.draggableTextDelegate.isActive();
|
|
25279
25335
|
}
|
|
25280
25336
|
|
|
25281
|
-
/**
|
|
25282
|
-
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25283
|
-
* @see also {@link DraggableTextDelegate#isActive}
|
|
25284
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25285
|
-
* @returns {boolean} should handle event
|
|
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
|
|
25286
25342
|
*/
|
|
25287
25343
|
onDragStart(e) {
|
|
25288
25344
|
return this.draggableTextDelegate.onDragStart(e);
|
|
25289
25345
|
}
|
|
25290
25346
|
|
|
25291
|
-
/**
|
|
25292
|
-
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25347
|
+
/**
|
|
25348
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25293
25349
|
*/
|
|
25294
25350
|
canDrop(e) {
|
|
25295
25351
|
return this.draggableTextDelegate.canDrop(e);
|
|
25296
25352
|
}
|
|
25297
25353
|
|
|
25298
|
-
/**
|
|
25299
|
-
* Default handler for double click, select a word or enter overlay editing
|
|
25354
|
+
/**
|
|
25355
|
+
* Default handler for double click, select a word or enter overlay editing
|
|
25300
25356
|
*/
|
|
25301
25357
|
doubleClickHandler(options) {
|
|
25302
25358
|
// Check if we should enter overlay editing mode
|
|
@@ -25313,8 +25369,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25313
25369
|
this.renderCursorOrSelection();
|
|
25314
25370
|
}
|
|
25315
25371
|
|
|
25316
|
-
/**
|
|
25317
|
-
* Default handler for triple click, select a line
|
|
25372
|
+
/**
|
|
25373
|
+
* Default handler for triple click, select a line
|
|
25318
25374
|
*/
|
|
25319
25375
|
tripleClickHandler(options) {
|
|
25320
25376
|
if (!this.isEditing) {
|
|
@@ -25324,13 +25380,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25324
25380
|
this.renderCursorOrSelection();
|
|
25325
25381
|
}
|
|
25326
25382
|
|
|
25327
|
-
/**
|
|
25328
|
-
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25329
|
-
* can be overridden to do something different.
|
|
25330
|
-
* Scope of this implementation is: find the click position, set selectionStart
|
|
25331
|
-
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25332
|
-
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25333
|
-
* current compositionMode. It will be set to false.
|
|
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.
|
|
25334
25390
|
*/
|
|
25335
25391
|
_mouseDownHandler(_ref) {
|
|
25336
25392
|
let {
|
|
@@ -25358,9 +25414,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25358
25414
|
this.selected || (this.selected = alreadySelected || this.isEditing);
|
|
25359
25415
|
}
|
|
25360
25416
|
|
|
25361
|
-
/**
|
|
25362
|
-
* standard handler for mouse up, overridable
|
|
25363
|
-
* @private
|
|
25417
|
+
/**
|
|
25418
|
+
* standard handler for mouse up, overridable
|
|
25419
|
+
* @private
|
|
25364
25420
|
*/
|
|
25365
25421
|
mouseUpHandler(_ref2) {
|
|
25366
25422
|
let {
|
|
@@ -25391,9 +25447,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25391
25447
|
}
|
|
25392
25448
|
}
|
|
25393
25449
|
|
|
25394
|
-
/**
|
|
25395
|
-
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25396
|
-
* @param {TPointerEvent} e Event object
|
|
25450
|
+
/**
|
|
25451
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25452
|
+
* @param {TPointerEvent} e Event object
|
|
25397
25453
|
*/
|
|
25398
25454
|
setCursorByClick(e) {
|
|
25399
25455
|
const newSelection = this.getSelectionStartFromPointer(e),
|
|
@@ -25411,10 +25467,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25411
25467
|
}
|
|
25412
25468
|
}
|
|
25413
25469
|
|
|
25414
|
-
/**
|
|
25415
|
-
* Returns index of a character corresponding to where an object was clicked
|
|
25416
|
-
* @param {TPointerEvent} e Event object
|
|
25417
|
-
* @return {Number} Index of a character
|
|
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
|
|
25418
25474
|
*/
|
|
25419
25475
|
getSelectionStartFromPointer(e) {
|
|
25420
25476
|
const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
|
|
@@ -25460,15 +25516,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25460
25516
|
}
|
|
25461
25517
|
}
|
|
25462
25518
|
|
|
25463
|
-
/**
|
|
25464
|
-
* Hit Testing and Cursor Positioning System
|
|
25465
|
-
*
|
|
25466
|
-
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25467
|
-
* for interactive text editing with grapheme-aware boundaries.
|
|
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.
|
|
25468
25524
|
*/
|
|
25469
25525
|
|
|
25470
|
-
/**
|
|
25471
|
-
* Hit test a point against laid out text to find insertion position
|
|
25526
|
+
/**
|
|
25527
|
+
* Hit test a point against laid out text to find insertion position
|
|
25472
25528
|
*/
|
|
25473
25529
|
function hitTest(x, y, layout, options) {
|
|
25474
25530
|
if (layout.lines.length === 0) {
|
|
@@ -25512,8 +25568,8 @@ function hitTest(x, y, layout, options) {
|
|
|
25512
25568
|
};
|
|
25513
25569
|
}
|
|
25514
25570
|
|
|
25515
|
-
/**
|
|
25516
|
-
* Get cursor rectangle for a given insertion index
|
|
25571
|
+
/**
|
|
25572
|
+
* Get cursor rectangle for a given insertion index
|
|
25517
25573
|
*/
|
|
25518
25574
|
function getCursorRect(insertionIndex, layout, options) {
|
|
25519
25575
|
if (layout.lines.length === 0) {
|
|
@@ -25560,8 +25616,8 @@ function getCursorRect(insertionIndex, layout, options) {
|
|
|
25560
25616
|
|
|
25561
25617
|
// Private helper functions
|
|
25562
25618
|
|
|
25563
|
-
/**
|
|
25564
|
-
* Find which line contains the given Y coordinate
|
|
25619
|
+
/**
|
|
25620
|
+
* Find which line contains the given Y coordinate
|
|
25565
25621
|
*/
|
|
25566
25622
|
function findLineAtY(y, lines) {
|
|
25567
25623
|
var _lines;
|
|
@@ -25584,8 +25640,8 @@ function findLineAtY(y, lines) {
|
|
|
25584
25640
|
};
|
|
25585
25641
|
}
|
|
25586
25642
|
|
|
25587
|
-
/**
|
|
25588
|
-
* Find character position within a line at given X coordinate
|
|
25643
|
+
/**
|
|
25644
|
+
* Find character position within a line at given X coordinate
|
|
25589
25645
|
*/
|
|
25590
25646
|
function findCharAtX(x, line, options) {
|
|
25591
25647
|
if (line.bounds.length === 0) {
|
|
@@ -25691,8 +25747,8 @@ function findCharAtX(x, line, options) {
|
|
|
25691
25747
|
};
|
|
25692
25748
|
}
|
|
25693
25749
|
|
|
25694
|
-
/**
|
|
25695
|
-
* Calculate total insertion index from line and character indices
|
|
25750
|
+
/**
|
|
25751
|
+
* Calculate total insertion index from line and character indices
|
|
25696
25752
|
*/
|
|
25697
25753
|
function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
25698
25754
|
let insertionIndex = 0;
|
|
@@ -25711,8 +25767,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
|
25711
25767
|
return insertionIndex;
|
|
25712
25768
|
}
|
|
25713
25769
|
|
|
25714
|
-
/**
|
|
25715
|
-
* Find line and grapheme position from insertion index
|
|
25770
|
+
/**
|
|
25771
|
+
* Find line and grapheme position from insertion index
|
|
25716
25772
|
*/
|
|
25717
25773
|
function findPositionFromIndex(insertionIndex, layout) {
|
|
25718
25774
|
let currentIndex = 0;
|
|
@@ -25754,8 +25810,8 @@ function findPositionFromIndex(insertionIndex, layout) {
|
|
|
25754
25810
|
};
|
|
25755
25811
|
}
|
|
25756
25812
|
|
|
25757
|
-
/**
|
|
25758
|
-
* Calculate Y position of a line
|
|
25813
|
+
/**
|
|
25814
|
+
* Calculate Y position of a line
|
|
25759
25815
|
*/
|
|
25760
25816
|
function calculateLineY(lineIndex, layout, options) {
|
|
25761
25817
|
let y = 0;
|
|
@@ -25858,48 +25914,48 @@ const iTextDefaultValues = {
|
|
|
25858
25914
|
|
|
25859
25915
|
// @TODO this is not complete
|
|
25860
25916
|
|
|
25861
|
-
/**
|
|
25862
|
-
* @fires changed
|
|
25863
|
-
* @fires selection:changed
|
|
25864
|
-
* @fires editing:entered
|
|
25865
|
-
* @fires editing:exited
|
|
25866
|
-
* @fires dragstart
|
|
25867
|
-
* @fires drag drag event firing on the drag source
|
|
25868
|
-
* @fires dragend
|
|
25869
|
-
* @fires copy
|
|
25870
|
-
* @fires cut
|
|
25871
|
-
* @fires paste
|
|
25872
|
-
*
|
|
25873
|
-
* #### Supported key combinations
|
|
25874
|
-
* ```
|
|
25875
|
-
* Move cursor: left, right, up, down
|
|
25876
|
-
* Select character: shift + left, shift + right
|
|
25877
|
-
* Select text vertically: shift + up, shift + down
|
|
25878
|
-
* Move cursor by word: alt + left, alt + right
|
|
25879
|
-
* Select words: shift + alt + left, shift + alt + right
|
|
25880
|
-
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25881
|
-
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25882
|
-
* Jump to start/end of text: cmd + up, cmd + down
|
|
25883
|
-
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25884
|
-
* Delete character: backspace
|
|
25885
|
-
* Delete word: alt + backspace
|
|
25886
|
-
* Delete line: cmd + backspace
|
|
25887
|
-
* Forward delete: delete
|
|
25888
|
-
* Copy text: ctrl/cmd + c
|
|
25889
|
-
* Paste text: ctrl/cmd + v
|
|
25890
|
-
* Cut text: ctrl/cmd + x
|
|
25891
|
-
* Select entire text: ctrl/cmd + a
|
|
25892
|
-
* Quit editing tab or esc
|
|
25893
|
-
* ```
|
|
25894
|
-
*
|
|
25895
|
-
* #### Supported mouse/touch combination
|
|
25896
|
-
* ```
|
|
25897
|
-
* Position cursor: click/touch
|
|
25898
|
-
* Create selection: click/touch & drag
|
|
25899
|
-
* Create selection: click & shift + click
|
|
25900
|
-
* Select word: double click
|
|
25901
|
-
* Select line: triple click
|
|
25902
|
-
* ```
|
|
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
|
+
* ```
|
|
25903
25959
|
*/
|
|
25904
25960
|
class IText extends ITextClickBehavior {
|
|
25905
25961
|
static getDefaults() {
|
|
@@ -25914,10 +25970,10 @@ class IText extends ITextClickBehavior {
|
|
|
25914
25970
|
return type === 'itext' ? 'i-text' : type;
|
|
25915
25971
|
}
|
|
25916
25972
|
|
|
25917
|
-
/**
|
|
25918
|
-
* Constructor
|
|
25919
|
-
* @param {String} text Text string
|
|
25920
|
-
* @param {Object} [options] Options object
|
|
25973
|
+
/**
|
|
25974
|
+
* Constructor
|
|
25975
|
+
* @param {String} text Text string
|
|
25976
|
+
* @param {Object} [options] Options object
|
|
25921
25977
|
*/
|
|
25922
25978
|
constructor(text, options) {
|
|
25923
25979
|
super(text, {
|
|
@@ -25927,11 +25983,11 @@ class IText extends ITextClickBehavior {
|
|
|
25927
25983
|
this.initBehavior();
|
|
25928
25984
|
}
|
|
25929
25985
|
|
|
25930
|
-
/**
|
|
25931
|
-
* While editing handle differently
|
|
25932
|
-
* @private
|
|
25933
|
-
* @param {string} key
|
|
25934
|
-
* @param {*} value
|
|
25986
|
+
/**
|
|
25987
|
+
* While editing handle differently
|
|
25988
|
+
* @private
|
|
25989
|
+
* @param {string} key
|
|
25990
|
+
* @param {*} value
|
|
25935
25991
|
*/
|
|
25936
25992
|
_set(key, value) {
|
|
25937
25993
|
if (this.isEditing && this._savedProps && key in this._savedProps) {
|
|
@@ -25946,28 +26002,28 @@ class IText extends ITextClickBehavior {
|
|
|
25946
26002
|
return super._set(key, value);
|
|
25947
26003
|
}
|
|
25948
26004
|
|
|
25949
|
-
/**
|
|
25950
|
-
* Sets selection start (left boundary of a selection)
|
|
25951
|
-
* @param {Number} index Index to set selection start to
|
|
26005
|
+
/**
|
|
26006
|
+
* Sets selection start (left boundary of a selection)
|
|
26007
|
+
* @param {Number} index Index to set selection start to
|
|
25952
26008
|
*/
|
|
25953
26009
|
setSelectionStart(index) {
|
|
25954
26010
|
index = Math.max(index, 0);
|
|
25955
26011
|
this._updateAndFire('selectionStart', index);
|
|
25956
26012
|
}
|
|
25957
26013
|
|
|
25958
|
-
/**
|
|
25959
|
-
* Sets selection end (right boundary of a selection)
|
|
25960
|
-
* @param {Number} index Index to set selection end to
|
|
26014
|
+
/**
|
|
26015
|
+
* Sets selection end (right boundary of a selection)
|
|
26016
|
+
* @param {Number} index Index to set selection end to
|
|
25961
26017
|
*/
|
|
25962
26018
|
setSelectionEnd(index) {
|
|
25963
26019
|
index = Math.min(index, this.text.length);
|
|
25964
26020
|
this._updateAndFire('selectionEnd', index);
|
|
25965
26021
|
}
|
|
25966
26022
|
|
|
25967
|
-
/**
|
|
25968
|
-
* @private
|
|
25969
|
-
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
25970
|
-
* @param {Number} index new position of property
|
|
26023
|
+
/**
|
|
26024
|
+
* @private
|
|
26025
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26026
|
+
* @param {Number} index new position of property
|
|
25971
26027
|
*/
|
|
25972
26028
|
_updateAndFire(property, index) {
|
|
25973
26029
|
if (this[property] !== index) {
|
|
@@ -25977,9 +26033,9 @@ class IText extends ITextClickBehavior {
|
|
|
25977
26033
|
this._updateTextarea();
|
|
25978
26034
|
}
|
|
25979
26035
|
|
|
25980
|
-
/**
|
|
25981
|
-
* Fires the even of selection changed
|
|
25982
|
-
* @private
|
|
26036
|
+
/**
|
|
26037
|
+
* Fires the even of selection changed
|
|
26038
|
+
* @private
|
|
25983
26039
|
*/
|
|
25984
26040
|
_fireSelectionChanged() {
|
|
25985
26041
|
this.fire('selection:changed');
|
|
@@ -25988,25 +26044,25 @@ class IText extends ITextClickBehavior {
|
|
|
25988
26044
|
});
|
|
25989
26045
|
}
|
|
25990
26046
|
|
|
25991
|
-
/**
|
|
25992
|
-
* Initialize text dimensions. Render all text on given context
|
|
25993
|
-
* or on a offscreen canvas to get the text width with measureText.
|
|
25994
|
-
* Updates this.width and this.height with the proper values.
|
|
25995
|
-
* Does not return dimensions.
|
|
25996
|
-
* @private
|
|
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
|
|
25997
26053
|
*/
|
|
25998
26054
|
initDimensions() {
|
|
25999
26055
|
this.isEditing && this.initDelayedCursor();
|
|
26000
26056
|
super.initDimensions();
|
|
26001
26057
|
}
|
|
26002
26058
|
|
|
26003
|
-
/**
|
|
26004
|
-
* Gets style of a current selection/cursor (at the start position)
|
|
26005
|
-
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26006
|
-
* @param {Number} startIndex Start index to get styles at
|
|
26007
|
-
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26008
|
-
* @param {Boolean} [complete] get full style or not
|
|
26009
|
-
* @return {Array} styles an array with one, zero or more Style objects
|
|
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
|
|
26010
26066
|
*/
|
|
26011
26067
|
getSelectionStyles() {
|
|
26012
26068
|
let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
|
|
@@ -26015,11 +26071,11 @@ class IText extends ITextClickBehavior {
|
|
|
26015
26071
|
return super.getSelectionStyles(startIndex, endIndex, complete);
|
|
26016
26072
|
}
|
|
26017
26073
|
|
|
26018
|
-
/**
|
|
26019
|
-
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26020
|
-
* @param {Object} [styles] Styles object
|
|
26021
|
-
* @param {Number} [startIndex] Start index to get styles at
|
|
26022
|
-
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
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
|
|
26023
26079
|
*/
|
|
26024
26080
|
setSelectionStyles(styles) {
|
|
26025
26081
|
let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
|
|
@@ -26027,10 +26083,10 @@ class IText extends ITextClickBehavior {
|
|
|
26027
26083
|
return super.setSelectionStyles(styles, startIndex, endIndex);
|
|
26028
26084
|
}
|
|
26029
26085
|
|
|
26030
|
-
/**
|
|
26031
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26032
|
-
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26033
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
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.
|
|
26034
26090
|
*/
|
|
26035
26091
|
get2DCursorLocation() {
|
|
26036
26092
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26038,9 +26094,9 @@ class IText extends ITextClickBehavior {
|
|
|
26038
26094
|
return super.get2DCursorLocation(selectionStart, skipWrapping);
|
|
26039
26095
|
}
|
|
26040
26096
|
|
|
26041
|
-
/**
|
|
26042
|
-
* @private
|
|
26043
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26097
|
+
/**
|
|
26098
|
+
* @private
|
|
26099
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26044
26100
|
*/
|
|
26045
26101
|
render(ctx) {
|
|
26046
26102
|
super.render(ctx);
|
|
@@ -26050,9 +26106,9 @@ class IText extends ITextClickBehavior {
|
|
|
26050
26106
|
this.renderCursorOrSelection();
|
|
26051
26107
|
}
|
|
26052
26108
|
|
|
26053
|
-
/**
|
|
26054
|
-
* @override block cursor/selection logic while rendering the exported canvas
|
|
26055
|
-
* @todo this workaround should be replaced with a more robust solution
|
|
26109
|
+
/**
|
|
26110
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
26111
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
26056
26112
|
*/
|
|
26057
26113
|
toCanvasElement(options) {
|
|
26058
26114
|
const isEditing = this.isEditing;
|
|
@@ -26062,9 +26118,9 @@ class IText extends ITextClickBehavior {
|
|
|
26062
26118
|
return canvas;
|
|
26063
26119
|
}
|
|
26064
26120
|
|
|
26065
|
-
/**
|
|
26066
|
-
* Renders cursor or selection (depending on what exists)
|
|
26067
|
-
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26121
|
+
/**
|
|
26122
|
+
* Renders cursor or selection (depending on what exists)
|
|
26123
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26068
26124
|
*/
|
|
26069
26125
|
renderCursorOrSelection() {
|
|
26070
26126
|
if (!this.isEditing || !this.canvas) {
|
|
@@ -26120,12 +26176,12 @@ class IText extends ITextClickBehavior {
|
|
|
26120
26176
|
ctx.restore();
|
|
26121
26177
|
}
|
|
26122
26178
|
|
|
26123
|
-
/**
|
|
26124
|
-
* Finds and returns an array of clip paths that are applied to the parent
|
|
26125
|
-
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26126
|
-
* traversed upwards (from the current object towards the root of the canvas),
|
|
26127
|
-
* checking each parent object for the presence of a `clipPath` that is not
|
|
26128
|
-
* absolutely positioned.
|
|
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.
|
|
26129
26185
|
*/
|
|
26130
26186
|
findAncestorsWithClipPath() {
|
|
26131
26187
|
const clipPathAncestors = [];
|
|
@@ -26140,13 +26196,13 @@ class IText extends ITextClickBehavior {
|
|
|
26140
26196
|
return clipPathAncestors;
|
|
26141
26197
|
}
|
|
26142
26198
|
|
|
26143
|
-
/**
|
|
26144
|
-
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26145
|
-
* left/top are left/top of entire text box
|
|
26146
|
-
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26147
|
-
* @private
|
|
26148
|
-
* @param {number} [index] index from start
|
|
26149
|
-
* @param {boolean} [skipCaching]
|
|
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]
|
|
26150
26206
|
*/
|
|
26151
26207
|
_getCursorBoundaries() {
|
|
26152
26208
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26160,11 +26216,11 @@ class IText extends ITextClickBehavior {
|
|
|
26160
26216
|
return this._getCursorBoundariesOriginal(index, skipCaching);
|
|
26161
26217
|
}
|
|
26162
26218
|
|
|
26163
|
-
/**
|
|
26164
|
-
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26165
|
-
* @private
|
|
26166
|
-
* @param {number} index index from start
|
|
26167
|
-
* @param {boolean} [skipCaching]
|
|
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]
|
|
26168
26224
|
*/
|
|
26169
26225
|
_getCursorBoundariesOffsets(index, skipCaching) {
|
|
26170
26226
|
if (skipCaching) {
|
|
@@ -26176,9 +26232,9 @@ class IText extends ITextClickBehavior {
|
|
|
26176
26232
|
return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
|
|
26177
26233
|
}
|
|
26178
26234
|
|
|
26179
|
-
/**
|
|
26180
|
-
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26181
|
-
* @private
|
|
26235
|
+
/**
|
|
26236
|
+
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26237
|
+
* @private
|
|
26182
26238
|
*/
|
|
26183
26239
|
_getCursorBoundariesAdvanced(index) {
|
|
26184
26240
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26194,9 +26250,9 @@ class IText extends ITextClickBehavior {
|
|
|
26194
26250
|
};
|
|
26195
26251
|
}
|
|
26196
26252
|
|
|
26197
|
-
/**
|
|
26198
|
-
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26199
|
-
* @override
|
|
26253
|
+
/**
|
|
26254
|
+
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26255
|
+
* @override
|
|
26200
26256
|
*/
|
|
26201
26257
|
getSelectionStartFromPointer(e) {
|
|
26202
26258
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26210,9 +26266,9 @@ class IText extends ITextClickBehavior {
|
|
|
26210
26266
|
return Math.min(hitResult.charIndex, this._text.length);
|
|
26211
26267
|
}
|
|
26212
26268
|
|
|
26213
|
-
/**
|
|
26214
|
-
* Original cursor boundaries implementation
|
|
26215
|
-
* @private
|
|
26269
|
+
/**
|
|
26270
|
+
* Original cursor boundaries implementation
|
|
26271
|
+
* @private
|
|
26216
26272
|
*/
|
|
26217
26273
|
_getCursorBoundariesOriginal(index, skipCaching) {
|
|
26218
26274
|
const left = this._getLeftOffset(),
|
|
@@ -26226,10 +26282,10 @@ class IText extends ITextClickBehavior {
|
|
|
26226
26282
|
};
|
|
26227
26283
|
}
|
|
26228
26284
|
|
|
26229
|
-
/**
|
|
26230
|
-
* Calculates cursor left/top offset relative to instance's center point
|
|
26231
|
-
* @private
|
|
26232
|
-
* @param {number} index index from start
|
|
26285
|
+
/**
|
|
26286
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
26287
|
+
* @private
|
|
26288
|
+
* @param {number} index index from start
|
|
26233
26289
|
*/
|
|
26234
26290
|
__getCursorBoundariesOffsets(index) {
|
|
26235
26291
|
let topOffset = 0,
|
|
@@ -26263,29 +26319,29 @@ class IText extends ITextClickBehavior {
|
|
|
26263
26319
|
return boundaries;
|
|
26264
26320
|
}
|
|
26265
26321
|
|
|
26266
|
-
/**
|
|
26267
|
-
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26268
|
-
* Used for the drag/drop effect.
|
|
26269
|
-
* If contextTop is not available, do nothing.
|
|
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.
|
|
26270
26326
|
*/
|
|
26271
26327
|
renderCursorAt(selectionStart) {
|
|
26272
26328
|
this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
|
|
26273
26329
|
}
|
|
26274
26330
|
|
|
26275
|
-
/**
|
|
26276
|
-
* Renders cursor
|
|
26277
|
-
* @param {Object} boundaries
|
|
26278
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26331
|
+
/**
|
|
26332
|
+
* Renders cursor
|
|
26333
|
+
* @param {Object} boundaries
|
|
26334
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26279
26335
|
*/
|
|
26280
26336
|
renderCursor(ctx, boundaries) {
|
|
26281
26337
|
this._renderCursor(ctx, boundaries, this.selectionStart);
|
|
26282
26338
|
}
|
|
26283
26339
|
|
|
26284
|
-
/**
|
|
26285
|
-
* Return the data needed to render the cursor for given selection start
|
|
26286
|
-
* The left,top are relative to the object, while width and height are prescaled
|
|
26287
|
-
* to look think with canvas zoom and object scaling,
|
|
26288
|
-
* so they depend on canvas and object scaling
|
|
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
|
|
26289
26345
|
*/
|
|
26290
26346
|
getCursorRenderingData() {
|
|
26291
26347
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26308,9 +26364,9 @@ class IText extends ITextClickBehavior {
|
|
|
26308
26364
|
};
|
|
26309
26365
|
}
|
|
26310
26366
|
|
|
26311
|
-
/**
|
|
26312
|
-
* Render the cursor at the given selectionStart.
|
|
26313
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26367
|
+
/**
|
|
26368
|
+
* Render the cursor at the given selectionStart.
|
|
26369
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26314
26370
|
*/
|
|
26315
26371
|
_renderCursor(ctx, boundaries, selectionStart) {
|
|
26316
26372
|
const {
|
|
@@ -26326,10 +26382,10 @@ class IText extends ITextClickBehavior {
|
|
|
26326
26382
|
ctx.fillRect(left, top, width, height);
|
|
26327
26383
|
}
|
|
26328
26384
|
|
|
26329
|
-
/**
|
|
26330
|
-
* Renders text selection
|
|
26331
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26332
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26385
|
+
/**
|
|
26386
|
+
* Renders text selection
|
|
26387
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26388
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26333
26389
|
*/
|
|
26334
26390
|
renderSelection(ctx, boundaries) {
|
|
26335
26391
|
const selection = {
|
|
@@ -26339,8 +26395,8 @@ class IText extends ITextClickBehavior {
|
|
|
26339
26395
|
this._renderSelection(ctx, selection, boundaries);
|
|
26340
26396
|
}
|
|
26341
26397
|
|
|
26342
|
-
/**
|
|
26343
|
-
* Renders drag start text selection
|
|
26398
|
+
/**
|
|
26399
|
+
* Renders drag start text selection
|
|
26344
26400
|
*/
|
|
26345
26401
|
renderDragSourceEffect() {
|
|
26346
26402
|
const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
|
|
@@ -26351,12 +26407,12 @@ class IText extends ITextClickBehavior {
|
|
|
26351
26407
|
this.renderCursorAt(dragSelection);
|
|
26352
26408
|
}
|
|
26353
26409
|
|
|
26354
|
-
/**
|
|
26355
|
-
* Renders text selection
|
|
26356
|
-
* @private
|
|
26357
|
-
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26358
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26359
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
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
|
|
26360
26416
|
*/
|
|
26361
26417
|
_renderSelection(ctx, selection, boundaries) {
|
|
26362
26418
|
const selectionStart = selection.selectionStart,
|
|
@@ -26418,34 +26474,34 @@ class IText extends ITextClickBehavior {
|
|
|
26418
26474
|
}
|
|
26419
26475
|
}
|
|
26420
26476
|
|
|
26421
|
-
/**
|
|
26422
|
-
* High level function to know the height of the cursor.
|
|
26423
|
-
* the currentChar is the one that precedes the cursor
|
|
26424
|
-
* Returns fontSize of char at the current cursor
|
|
26425
|
-
* Unused from the library, is for the end user
|
|
26426
|
-
* @return {Number} Character font size
|
|
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
|
|
26427
26483
|
*/
|
|
26428
26484
|
getCurrentCharFontSize() {
|
|
26429
26485
|
const cp = this._getCurrentCharIndex();
|
|
26430
26486
|
return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
|
|
26431
26487
|
}
|
|
26432
26488
|
|
|
26433
|
-
/**
|
|
26434
|
-
* High level function to know the color of the cursor.
|
|
26435
|
-
* the currentChar is the one that precedes the cursor
|
|
26436
|
-
* Returns color (fill) of char at the current cursor
|
|
26437
|
-
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26438
|
-
* Unused by the library, is for the end user
|
|
26439
|
-
* @return {String | TFiller} Character color (fill)
|
|
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)
|
|
26440
26496
|
*/
|
|
26441
26497
|
getCurrentCharColor() {
|
|
26442
26498
|
const cp = this._getCurrentCharIndex();
|
|
26443
26499
|
return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
|
|
26444
26500
|
}
|
|
26445
26501
|
|
|
26446
|
-
/**
|
|
26447
|
-
* Returns the cursor position for the getCurrent.. functions
|
|
26448
|
-
* @private
|
|
26502
|
+
/**
|
|
26503
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
26504
|
+
* @private
|
|
26449
26505
|
*/
|
|
26450
26506
|
_getCurrentCharIndex() {
|
|
26451
26507
|
const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
|
|
@@ -26461,52 +26517,52 @@ class IText extends ITextClickBehavior {
|
|
|
26461
26517
|
super.dispose();
|
|
26462
26518
|
}
|
|
26463
26519
|
}
|
|
26464
|
-
/**
|
|
26465
|
-
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26466
|
-
* @type Number
|
|
26520
|
+
/**
|
|
26521
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26522
|
+
* @type Number
|
|
26467
26523
|
*/
|
|
26468
|
-
/**
|
|
26469
|
-
* Index where text selection ends
|
|
26470
|
-
* @type Number
|
|
26524
|
+
/**
|
|
26525
|
+
* Index where text selection ends
|
|
26526
|
+
* @type Number
|
|
26471
26527
|
*/
|
|
26472
|
-
/**
|
|
26473
|
-
* Color of text selection
|
|
26474
|
-
* @type String
|
|
26528
|
+
/**
|
|
26529
|
+
* Color of text selection
|
|
26530
|
+
* @type String
|
|
26475
26531
|
*/
|
|
26476
|
-
/**
|
|
26477
|
-
* Indicates whether text is in editing mode
|
|
26478
|
-
* @type Boolean
|
|
26532
|
+
/**
|
|
26533
|
+
* Indicates whether text is in editing mode
|
|
26534
|
+
* @type Boolean
|
|
26479
26535
|
*/
|
|
26480
|
-
/**
|
|
26481
|
-
* Indicates whether a text can be edited
|
|
26482
|
-
* @type Boolean
|
|
26536
|
+
/**
|
|
26537
|
+
* Indicates whether a text can be edited
|
|
26538
|
+
* @type Boolean
|
|
26483
26539
|
*/
|
|
26484
|
-
/**
|
|
26485
|
-
* Border color of text object while it's in editing mode
|
|
26486
|
-
* @type String
|
|
26540
|
+
/**
|
|
26541
|
+
* Border color of text object while it's in editing mode
|
|
26542
|
+
* @type String
|
|
26487
26543
|
*/
|
|
26488
|
-
/**
|
|
26489
|
-
* Width of cursor (in px)
|
|
26490
|
-
* @type Number
|
|
26544
|
+
/**
|
|
26545
|
+
* Width of cursor (in px)
|
|
26546
|
+
* @type Number
|
|
26491
26547
|
*/
|
|
26492
|
-
/**
|
|
26493
|
-
* Color of text cursor color in editing mode.
|
|
26494
|
-
* if not set (default) will take color from the text.
|
|
26495
|
-
* if set to a color value that fabric can understand, it will
|
|
26496
|
-
* be used instead of the color of the text at the current position.
|
|
26497
|
-
* @type String
|
|
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
|
|
26498
26554
|
*/
|
|
26499
|
-
/**
|
|
26500
|
-
* Delay between cursor blink (in ms)
|
|
26501
|
-
* @type Number
|
|
26555
|
+
/**
|
|
26556
|
+
* Delay between cursor blink (in ms)
|
|
26557
|
+
* @type Number
|
|
26502
26558
|
*/
|
|
26503
|
-
/**
|
|
26504
|
-
* Duration of cursor fade in (in ms)
|
|
26505
|
-
* @type Number
|
|
26559
|
+
/**
|
|
26560
|
+
* Duration of cursor fade in (in ms)
|
|
26561
|
+
* @type Number
|
|
26506
26562
|
*/
|
|
26507
|
-
/**
|
|
26508
|
-
* Indicates whether internal text char widths can be cached
|
|
26509
|
-
* @type Boolean
|
|
26563
|
+
/**
|
|
26564
|
+
* Indicates whether internal text char widths can be cached
|
|
26565
|
+
* @type Boolean
|
|
26510
26566
|
*/
|
|
26511
26567
|
_defineProperty(IText, "ownDefaults", iTextDefaultValues);
|
|
26512
26568
|
_defineProperty(IText, "type", 'IText');
|
|
@@ -26528,11 +26584,11 @@ const textboxDefaultValues = {
|
|
|
26528
26584
|
|
|
26529
26585
|
// @TODO this is not complete
|
|
26530
26586
|
|
|
26531
|
-
/**
|
|
26532
|
-
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26533
|
-
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26534
|
-
* user can only change width. Height is adjusted automatically based on the
|
|
26535
|
-
* wrapping of lines.
|
|
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.
|
|
26536
26592
|
*/
|
|
26537
26593
|
class Textbox extends IText {
|
|
26538
26594
|
static getDefaults() {
|
|
@@ -26542,10 +26598,10 @@ class Textbox extends IText {
|
|
|
26542
26598
|
};
|
|
26543
26599
|
}
|
|
26544
26600
|
|
|
26545
|
-
/**
|
|
26546
|
-
* Constructor
|
|
26547
|
-
* @param {String} text Text string
|
|
26548
|
-
* @param {Object} [options] Options object
|
|
26601
|
+
/**
|
|
26602
|
+
* Constructor
|
|
26603
|
+
* @param {String} text Text string
|
|
26604
|
+
* @param {Object} [options] Options object
|
|
26549
26605
|
*/
|
|
26550
26606
|
constructor(text, options) {
|
|
26551
26607
|
super(text, {
|
|
@@ -26555,10 +26611,10 @@ class Textbox extends IText {
|
|
|
26555
26611
|
this.initializeEventListeners();
|
|
26556
26612
|
}
|
|
26557
26613
|
|
|
26558
|
-
/**
|
|
26559
|
-
* Creates the default control object.
|
|
26560
|
-
* If you prefer to have on instance of controls shared among all objects
|
|
26561
|
-
* make this function return an empty object and add controls to the ownDefaults object
|
|
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
|
|
26562
26618
|
*/
|
|
26563
26619
|
static createControls() {
|
|
26564
26620
|
return {
|
|
@@ -26566,11 +26622,11 @@ class Textbox extends IText {
|
|
|
26566
26622
|
};
|
|
26567
26623
|
}
|
|
26568
26624
|
|
|
26569
|
-
/**
|
|
26570
|
-
* Unlike superclass's version of this function, Textbox does not update
|
|
26571
|
-
* its width.
|
|
26572
|
-
* @private
|
|
26573
|
-
* @override
|
|
26625
|
+
/**
|
|
26626
|
+
* Unlike superclass's version of this function, Textbox does not update
|
|
26627
|
+
* its width.
|
|
26628
|
+
* @private
|
|
26629
|
+
* @override
|
|
26574
26630
|
*/
|
|
26575
26631
|
initDimensions() {
|
|
26576
26632
|
if (!this.initialized) {
|
|
@@ -26714,9 +26770,9 @@ class Textbox extends IText {
|
|
|
26714
26770
|
}
|
|
26715
26771
|
}
|
|
26716
26772
|
|
|
26717
|
-
/**
|
|
26718
|
-
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26719
|
-
* @private
|
|
26773
|
+
/**
|
|
26774
|
+
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26775
|
+
* @private
|
|
26720
26776
|
*/
|
|
26721
26777
|
_scheduleJustifyAfterFontLoad() {
|
|
26722
26778
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -26743,9 +26799,9 @@ class Textbox extends IText {
|
|
|
26743
26799
|
});
|
|
26744
26800
|
}
|
|
26745
26801
|
|
|
26746
|
-
/**
|
|
26747
|
-
* Advanced dimensions calculation using new layout engine
|
|
26748
|
-
* @private
|
|
26802
|
+
/**
|
|
26803
|
+
* Advanced dimensions calculation using new layout engine
|
|
26804
|
+
* @private
|
|
26749
26805
|
*/
|
|
26750
26806
|
initDimensionsAdvanced() {
|
|
26751
26807
|
if (!this.initialized) {
|
|
@@ -26800,9 +26856,9 @@ class Textbox extends IText {
|
|
|
26800
26856
|
this.dirty = true;
|
|
26801
26857
|
}
|
|
26802
26858
|
|
|
26803
|
-
/**
|
|
26804
|
-
* Generate style map from new layout format
|
|
26805
|
-
* @private
|
|
26859
|
+
/**
|
|
26860
|
+
* Generate style map from new layout format
|
|
26861
|
+
* @private
|
|
26806
26862
|
*/
|
|
26807
26863
|
_generateStyleMapFromLayout(layout) {
|
|
26808
26864
|
const map = {};
|
|
@@ -26824,12 +26880,12 @@ class Textbox extends IText {
|
|
|
26824
26880
|
return map;
|
|
26825
26881
|
}
|
|
26826
26882
|
|
|
26827
|
-
/**
|
|
26828
|
-
* Generate an object that translates the style object so that it is
|
|
26829
|
-
* broken up by visual lines (new lines and automatic wrapping).
|
|
26830
|
-
* The original text styles object is broken up by actual lines (new lines only),
|
|
26831
|
-
* which is only sufficient for Text / IText
|
|
26832
|
-
* @private
|
|
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
|
|
26833
26889
|
*/
|
|
26834
26890
|
_generateStyleMap(textInfo) {
|
|
26835
26891
|
let realLineCount = 0,
|
|
@@ -26856,10 +26912,10 @@ class Textbox extends IText {
|
|
|
26856
26912
|
return map;
|
|
26857
26913
|
}
|
|
26858
26914
|
|
|
26859
|
-
/**
|
|
26860
|
-
* Returns true if object has a style property or has it on a specified line
|
|
26861
|
-
* @param {Number} lineIndex
|
|
26862
|
-
* @return {Boolean}
|
|
26915
|
+
/**
|
|
26916
|
+
* Returns true if object has a style property or has it on a specified line
|
|
26917
|
+
* @param {Number} lineIndex
|
|
26918
|
+
* @return {Boolean}
|
|
26863
26919
|
*/
|
|
26864
26920
|
styleHas(property, lineIndex) {
|
|
26865
26921
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26871,10 +26927,10 @@ class Textbox extends IText {
|
|
|
26871
26927
|
return super.styleHas(property, lineIndex);
|
|
26872
26928
|
}
|
|
26873
26929
|
|
|
26874
|
-
/**
|
|
26875
|
-
* Returns true if object has no styling or no styling in a line
|
|
26876
|
-
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26877
|
-
* @return {Boolean}
|
|
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}
|
|
26878
26934
|
*/
|
|
26879
26935
|
isEmptyStyles(lineIndex) {
|
|
26880
26936
|
if (!this.styles) {
|
|
@@ -26911,11 +26967,11 @@ class Textbox extends IText {
|
|
|
26911
26967
|
return true;
|
|
26912
26968
|
}
|
|
26913
26969
|
|
|
26914
|
-
/**
|
|
26915
|
-
* @protected
|
|
26916
|
-
* @param {Number} lineIndex
|
|
26917
|
-
* @param {Number} charIndex
|
|
26918
|
-
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
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
|
|
26919
26975
|
*/
|
|
26920
26976
|
_getStyleDeclaration(lineIndex, charIndex) {
|
|
26921
26977
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26929,59 +26985,59 @@ class Textbox extends IText {
|
|
|
26929
26985
|
return super._getStyleDeclaration(lineIndex, charIndex);
|
|
26930
26986
|
}
|
|
26931
26987
|
|
|
26932
|
-
/**
|
|
26933
|
-
* @param {Number} lineIndex
|
|
26934
|
-
* @param {Number} charIndex
|
|
26935
|
-
* @param {Object} style
|
|
26936
|
-
* @private
|
|
26988
|
+
/**
|
|
26989
|
+
* @param {Number} lineIndex
|
|
26990
|
+
* @param {Number} charIndex
|
|
26991
|
+
* @param {Object} style
|
|
26992
|
+
* @private
|
|
26937
26993
|
*/
|
|
26938
26994
|
_setStyleDeclaration(lineIndex, charIndex, style) {
|
|
26939
26995
|
const map = this._styleMap[lineIndex];
|
|
26940
26996
|
super._setStyleDeclaration(map.line, map.offset + charIndex, style);
|
|
26941
26997
|
}
|
|
26942
26998
|
|
|
26943
|
-
/**
|
|
26944
|
-
* @param {Number} lineIndex
|
|
26945
|
-
* @param {Number} charIndex
|
|
26946
|
-
* @private
|
|
26999
|
+
/**
|
|
27000
|
+
* @param {Number} lineIndex
|
|
27001
|
+
* @param {Number} charIndex
|
|
27002
|
+
* @private
|
|
26947
27003
|
*/
|
|
26948
27004
|
_deleteStyleDeclaration(lineIndex, charIndex) {
|
|
26949
27005
|
const map = this._styleMap[lineIndex];
|
|
26950
27006
|
super._deleteStyleDeclaration(map.line, map.offset + charIndex);
|
|
26951
27007
|
}
|
|
26952
27008
|
|
|
26953
|
-
/**
|
|
26954
|
-
* probably broken need a fix
|
|
26955
|
-
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
26956
|
-
* Used just to verify if the line does exist or not.
|
|
26957
|
-
* @param {Number} lineIndex
|
|
26958
|
-
* @returns {Boolean} if the line exists or not
|
|
26959
|
-
* @private
|
|
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
|
|
26960
27016
|
*/
|
|
26961
27017
|
_getLineStyle(lineIndex) {
|
|
26962
27018
|
const map = this._styleMap[lineIndex];
|
|
26963
27019
|
return !!this.styles[map.line];
|
|
26964
27020
|
}
|
|
26965
27021
|
|
|
26966
|
-
/**
|
|
26967
|
-
* Set the line style to an empty object so that is initialized
|
|
26968
|
-
* @param {Number} lineIndex
|
|
26969
|
-
* @param {Object} style
|
|
26970
|
-
* @private
|
|
27022
|
+
/**
|
|
27023
|
+
* Set the line style to an empty object so that is initialized
|
|
27024
|
+
* @param {Number} lineIndex
|
|
27025
|
+
* @param {Object} style
|
|
27026
|
+
* @private
|
|
26971
27027
|
*/
|
|
26972
27028
|
_setLineStyle(lineIndex) {
|
|
26973
27029
|
const map = this._styleMap[lineIndex];
|
|
26974
27030
|
super._setLineStyle(map.line);
|
|
26975
27031
|
}
|
|
26976
27032
|
|
|
26977
|
-
/**
|
|
26978
|
-
* Wraps text using the 'width' property of Textbox. First this function
|
|
26979
|
-
* splits text on newlines, so we preserve newlines entered by the user.
|
|
26980
|
-
* Then it wraps each line using the width of the Textbox by calling
|
|
26981
|
-
* _wrapLine().
|
|
26982
|
-
* @param {Array} lines The string array of text that is split into lines
|
|
26983
|
-
* @param {Number} desiredWidth width you want to wrap to
|
|
26984
|
-
* @returns {Array} Array of lines
|
|
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
|
|
26985
27041
|
*/
|
|
26986
27042
|
_wrapText(lines, desiredWidth) {
|
|
26987
27043
|
this.isWrapping = true;
|
|
@@ -26995,12 +27051,12 @@ class Textbox extends IText {
|
|
|
26995
27051
|
return wrapped;
|
|
26996
27052
|
}
|
|
26997
27053
|
|
|
26998
|
-
/**
|
|
26999
|
-
* For each line of text terminated by an hard line stop,
|
|
27000
|
-
* measure each word width and extract the largest word from all.
|
|
27001
|
-
* The returned words here are the one that at the end will be rendered.
|
|
27002
|
-
* @param {string[]} lines the lines we need to measure
|
|
27003
|
-
*
|
|
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
|
+
*
|
|
27004
27060
|
*/
|
|
27005
27061
|
getGraphemeDataForRender(lines) {
|
|
27006
27062
|
const splitByGrapheme = this.splitByGrapheme,
|
|
@@ -27033,17 +27089,17 @@ class Textbox extends IText {
|
|
|
27033
27089
|
};
|
|
27034
27090
|
}
|
|
27035
27091
|
|
|
27036
|
-
/**
|
|
27037
|
-
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27038
|
-
* It gets called when charBounds are not available yet.
|
|
27039
|
-
* Override if necessary
|
|
27040
|
-
* Use with {@link Textbox#wordSplit}
|
|
27041
|
-
*
|
|
27042
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
27043
|
-
* @param {String} text
|
|
27044
|
-
* @param {number} lineIndex
|
|
27045
|
-
* @param {number} charOffset
|
|
27046
|
-
* @returns {number}
|
|
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}
|
|
27047
27103
|
*/
|
|
27048
27104
|
_measureWord(word, lineIndex) {
|
|
27049
27105
|
let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -27058,26 +27114,26 @@ class Textbox extends IText {
|
|
|
27058
27114
|
return width;
|
|
27059
27115
|
}
|
|
27060
27116
|
|
|
27061
|
-
/**
|
|
27062
|
-
* Override this method to customize word splitting
|
|
27063
|
-
* Use with {@link Textbox#_measureWord}
|
|
27064
|
-
* @param {string} value
|
|
27065
|
-
* @returns {string[]} array of words
|
|
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
|
|
27066
27122
|
*/
|
|
27067
27123
|
wordSplit(value) {
|
|
27068
27124
|
return value.split(this._wordJoiners);
|
|
27069
27125
|
}
|
|
27070
27126
|
|
|
27071
|
-
/**
|
|
27072
|
-
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27073
|
-
* and leveraging the known width o words from GraphemeData
|
|
27074
|
-
* @private
|
|
27075
|
-
* @param {Number} lineIndex
|
|
27076
|
-
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27077
|
-
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27078
|
-
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27079
|
-
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27080
|
-
* to.
|
|
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.
|
|
27081
27137
|
*/
|
|
27082
27138
|
_wrapLine(lineIndex, desiredWidth, _ref) {
|
|
27083
27139
|
let {
|
|
@@ -27159,11 +27215,11 @@ class Textbox extends IText {
|
|
|
27159
27215
|
return graphemeLines;
|
|
27160
27216
|
}
|
|
27161
27217
|
|
|
27162
|
-
/**
|
|
27163
|
-
* Detect if the text line is ended with an hard break
|
|
27164
|
-
* text and itext do not have wrapping, return false
|
|
27165
|
-
* @param {Number} lineIndex text to split
|
|
27166
|
-
* @return {Boolean}
|
|
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}
|
|
27167
27223
|
*/
|
|
27168
27224
|
isEndOfWrapping(lineIndex) {
|
|
27169
27225
|
if (!this._styleMap[lineIndex + 1]) {
|
|
@@ -27177,12 +27233,12 @@ class Textbox extends IText {
|
|
|
27177
27233
|
return false;
|
|
27178
27234
|
}
|
|
27179
27235
|
|
|
27180
|
-
/**
|
|
27181
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27182
|
-
* and counting style.
|
|
27183
|
-
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27184
|
-
* If we are not wrapping the offset is always 1
|
|
27185
|
-
* @return Number
|
|
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
|
|
27186
27242
|
*/
|
|
27187
27243
|
missingNewlineOffset(lineIndex, skipWrapping) {
|
|
27188
27244
|
if (this.splitByGrapheme && !skipWrapping) {
|
|
@@ -27191,12 +27247,12 @@ class Textbox extends IText {
|
|
|
27191
27247
|
return 1;
|
|
27192
27248
|
}
|
|
27193
27249
|
|
|
27194
|
-
/**
|
|
27195
|
-
* Gets lines of text to render in the Textbox. This function calculates
|
|
27196
|
-
* text wrapping on the fly every time it is called.
|
|
27197
|
-
* @param {String} text text to split
|
|
27198
|
-
* @returns {Array} Array of lines in the Textbox.
|
|
27199
|
-
* @override
|
|
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
|
|
27200
27256
|
*/
|
|
27201
27257
|
_splitTextIntoLines(text) {
|
|
27202
27258
|
// Check if we need browser wrapping using smart font detection
|
|
@@ -27243,9 +27299,9 @@ class Textbox extends IText {
|
|
|
27243
27299
|
return newText;
|
|
27244
27300
|
}
|
|
27245
27301
|
|
|
27246
|
-
/**
|
|
27247
|
-
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27248
|
-
* @private
|
|
27302
|
+
/**
|
|
27303
|
+
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27304
|
+
* @private
|
|
27249
27305
|
*/
|
|
27250
27306
|
_splitTextIntoLinesWithBrowser(text) {
|
|
27251
27307
|
if (typeof document === 'undefined') {
|
|
@@ -27371,9 +27427,9 @@ class Textbox extends IText {
|
|
|
27371
27427
|
};
|
|
27372
27428
|
}
|
|
27373
27429
|
|
|
27374
|
-
/**
|
|
27375
|
-
* Extract justify space measurements from browser
|
|
27376
|
-
* @private
|
|
27430
|
+
/**
|
|
27431
|
+
* Extract justify space measurements from browser
|
|
27432
|
+
* @private
|
|
27377
27433
|
*/
|
|
27378
27434
|
_extractJustifySpaceMeasurements(element, lines) {
|
|
27379
27435
|
console.log(`🔤 Extracting browser justify space measurements for ${lines.length} lines`);
|
|
@@ -27409,9 +27465,9 @@ class Textbox extends IText {
|
|
|
27409
27465
|
return spaceWidths;
|
|
27410
27466
|
}
|
|
27411
27467
|
|
|
27412
|
-
/**
|
|
27413
|
-
* Apply browser-calculated justify space measurements
|
|
27414
|
-
* @private
|
|
27468
|
+
/**
|
|
27469
|
+
* Apply browser-calculated justify space measurements
|
|
27470
|
+
* @private
|
|
27415
27471
|
*/
|
|
27416
27472
|
_applyBrowserJustifySpaces() {
|
|
27417
27473
|
if (!this._textLines || !this.__charBounds) {
|
|
@@ -27448,9 +27504,9 @@ class Textbox extends IText {
|
|
|
27448
27504
|
});
|
|
27449
27505
|
}
|
|
27450
27506
|
|
|
27451
|
-
/**
|
|
27452
|
-
* Fallback to default Fabric wrapping
|
|
27453
|
-
* @private
|
|
27507
|
+
/**
|
|
27508
|
+
* Fallback to default Fabric wrapping
|
|
27509
|
+
* @private
|
|
27454
27510
|
*/
|
|
27455
27511
|
_splitTextIntoLinesDefault(text) {
|
|
27456
27512
|
const newText = super._splitTextIntoLines(text),
|
|
@@ -27482,9 +27538,9 @@ class Textbox extends IText {
|
|
|
27482
27538
|
}
|
|
27483
27539
|
}
|
|
27484
27540
|
|
|
27485
|
-
/**
|
|
27486
|
-
* Initialize event listeners for safety snap functionality
|
|
27487
|
-
* @private
|
|
27541
|
+
/**
|
|
27542
|
+
* Initialize event listeners for safety snap functionality
|
|
27543
|
+
* @private
|
|
27488
27544
|
*/
|
|
27489
27545
|
initializeEventListeners() {
|
|
27490
27546
|
var _this$canvas4;
|
|
@@ -27527,12 +27583,12 @@ class Textbox extends IText {
|
|
|
27527
27583
|
});
|
|
27528
27584
|
}
|
|
27529
27585
|
|
|
27530
|
-
/**
|
|
27531
|
-
* Safety snap to prevent glyph clipping after manual resize.
|
|
27532
|
-
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27533
|
-
* and automatically expands width if needed.
|
|
27534
|
-
* @private
|
|
27535
|
-
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
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')
|
|
27536
27592
|
*/
|
|
27537
27593
|
safetySnapWidth(resizeOrigin) {
|
|
27538
27594
|
// For Textbox objects, we always want to check for clipping regardless of isWrapping flag
|
|
@@ -27599,9 +27655,9 @@ class Textbox extends IText {
|
|
|
27599
27655
|
}
|
|
27600
27656
|
}
|
|
27601
27657
|
|
|
27602
|
-
/**
|
|
27603
|
-
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27604
|
-
* @private
|
|
27658
|
+
/**
|
|
27659
|
+
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27660
|
+
* @private
|
|
27605
27661
|
*/
|
|
27606
27662
|
_fixCharacterMappingAfterJsonLoad() {
|
|
27607
27663
|
if (this._usingBrowserWrapping) {
|
|
@@ -27621,9 +27677,9 @@ class Textbox extends IText {
|
|
|
27621
27677
|
}
|
|
27622
27678
|
}
|
|
27623
27679
|
|
|
27624
|
-
/**
|
|
27625
|
-
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27626
|
-
* Overrides Text version with Textbox-specific logic
|
|
27680
|
+
/**
|
|
27681
|
+
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27682
|
+
* Overrides Text version with Textbox-specific logic
|
|
27627
27683
|
*/
|
|
27628
27684
|
forceTextReinitialization() {
|
|
27629
27685
|
console.log('🔄 Force reinitializing Textbox object');
|
|
@@ -27680,31 +27736,31 @@ class Textbox extends IText {
|
|
|
27680
27736
|
}
|
|
27681
27737
|
}
|
|
27682
27738
|
|
|
27683
|
-
/**
|
|
27684
|
-
* Returns object representation of an instance
|
|
27685
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27686
|
-
* @return {Object} object representation of an instance
|
|
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
|
|
27687
27743
|
*/
|
|
27688
27744
|
toObject() {
|
|
27689
27745
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
27690
27746
|
return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
|
|
27691
27747
|
}
|
|
27692
27748
|
}
|
|
27693
|
-
/**
|
|
27694
|
-
* Minimum width of textbox, in pixels.
|
|
27695
|
-
* @type Number
|
|
27696
|
-
*/
|
|
27697
|
-
/**
|
|
27698
|
-
* Minimum calculated width of a textbox, in pixels.
|
|
27699
|
-
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27700
|
-
* and is still selectable without text.
|
|
27701
|
-
* @type Number
|
|
27702
|
-
*/
|
|
27703
|
-
/**
|
|
27704
|
-
* Use this boolean property in order to split strings that have no white space concept.
|
|
27705
|
-
* this is a cheap way to help with chinese/japanese
|
|
27706
|
-
* @type Boolean
|
|
27707
|
-
* @since 2.6.0
|
|
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
|
|
27708
27764
|
*/
|
|
27709
27765
|
_defineProperty(Textbox, "type", 'Textbox');
|
|
27710
27766
|
_defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);
|