@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.js
CHANGED
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
}
|
|
361
361
|
const cache = new Cache();
|
|
362
362
|
|
|
363
|
-
var version = "7.0.1-
|
|
363
|
+
var version = "7.0.1-beta10";
|
|
364
364
|
|
|
365
365
|
// use this syntax so babel plugin see this import here
|
|
366
366
|
const VERSION = version;
|
|
@@ -19189,8 +19189,8 @@
|
|
|
19189
19189
|
// Global measurement context - reused for performance
|
|
19190
19190
|
let measurementContext = null;
|
|
19191
19191
|
|
|
19192
|
-
/**
|
|
19193
|
-
* Get or create the shared measurement context
|
|
19192
|
+
/**
|
|
19193
|
+
* Get or create the shared measurement context
|
|
19194
19194
|
*/
|
|
19195
19195
|
function getMeasurementContext() {
|
|
19196
19196
|
if (!measurementContext) {
|
|
@@ -19203,8 +19203,8 @@
|
|
|
19203
19203
|
return measurementContext;
|
|
19204
19204
|
}
|
|
19205
19205
|
|
|
19206
|
-
/**
|
|
19207
|
-
* Measure a single grapheme
|
|
19206
|
+
/**
|
|
19207
|
+
* Measure a single grapheme
|
|
19208
19208
|
*/
|
|
19209
19209
|
function measureGrapheme(grapheme, options, ctx) {
|
|
19210
19210
|
// Check cache first
|
|
@@ -19237,8 +19237,8 @@
|
|
|
19237
19237
|
return measurement;
|
|
19238
19238
|
}
|
|
19239
19239
|
|
|
19240
|
-
/**
|
|
19241
|
-
* Measure a grapheme with kerning relative to previous character
|
|
19240
|
+
/**
|
|
19241
|
+
* Measure a grapheme with kerning relative to previous character
|
|
19242
19242
|
*/
|
|
19243
19243
|
function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
19244
19244
|
// Get individual measurement
|
|
@@ -19279,9 +19279,9 @@
|
|
|
19279
19279
|
};
|
|
19280
19280
|
}
|
|
19281
19281
|
|
|
19282
|
-
/**
|
|
19283
|
-
* Get a representative character for font metrics measurement
|
|
19284
|
-
* Uses canvas to test which scripts the font actually supports
|
|
19282
|
+
/**
|
|
19283
|
+
* Get a representative character for font metrics measurement
|
|
19284
|
+
* Uses canvas to test which scripts the font actually supports
|
|
19285
19285
|
*/
|
|
19286
19286
|
function getRepresentativeCharacter(fontFamily) {
|
|
19287
19287
|
const context = getMeasurementContext();
|
|
@@ -19370,8 +19370,8 @@
|
|
|
19370
19370
|
return 'M';
|
|
19371
19371
|
}
|
|
19372
19372
|
|
|
19373
|
-
/**
|
|
19374
|
-
* Get font metrics for layout calculations
|
|
19373
|
+
/**
|
|
19374
|
+
* Get font metrics for layout calculations
|
|
19375
19375
|
*/
|
|
19376
19376
|
function getFontMetrics(options) {
|
|
19377
19377
|
var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
|
|
@@ -19407,8 +19407,8 @@
|
|
|
19407
19407
|
return result;
|
|
19408
19408
|
}
|
|
19409
19409
|
|
|
19410
|
-
/**
|
|
19411
|
-
* Apply font styling to canvas context
|
|
19410
|
+
/**
|
|
19411
|
+
* Apply font styling to canvas context
|
|
19412
19412
|
*/
|
|
19413
19413
|
function applyFontStyle(ctx, options) {
|
|
19414
19414
|
const fontDeclaration = getFontDeclaration(options);
|
|
@@ -19425,8 +19425,8 @@
|
|
|
19425
19425
|
ctx.textBaseline = 'alphabetic';
|
|
19426
19426
|
}
|
|
19427
19427
|
|
|
19428
|
-
/**
|
|
19429
|
-
* Generate font declaration string
|
|
19428
|
+
/**
|
|
19429
|
+
* Generate font declaration string
|
|
19430
19430
|
*/
|
|
19431
19431
|
function getFontDeclaration(options) {
|
|
19432
19432
|
const {
|
|
@@ -19445,8 +19445,8 @@
|
|
|
19445
19445
|
return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
|
|
19446
19446
|
}
|
|
19447
19447
|
|
|
19448
|
-
/**
|
|
19449
|
-
* LRU Cache implementation for measurements
|
|
19448
|
+
/**
|
|
19449
|
+
* LRU Cache implementation for measurements
|
|
19450
19450
|
*/
|
|
19451
19451
|
class LRUCache {
|
|
19452
19452
|
constructor() {
|
|
@@ -19508,8 +19508,8 @@
|
|
|
19508
19508
|
}
|
|
19509
19509
|
}
|
|
19510
19510
|
|
|
19511
|
-
/**
|
|
19512
|
-
* Advanced measurement cache with font-aware keys
|
|
19511
|
+
/**
|
|
19512
|
+
* Advanced measurement cache with font-aware keys
|
|
19513
19513
|
*/
|
|
19514
19514
|
class MeasurementCache {
|
|
19515
19515
|
constructor() {
|
|
@@ -19536,8 +19536,8 @@
|
|
|
19536
19536
|
}
|
|
19537
19537
|
}
|
|
19538
19538
|
|
|
19539
|
-
/**
|
|
19540
|
-
* Kerning cache for character pairs
|
|
19539
|
+
/**
|
|
19540
|
+
* Kerning cache for character pairs
|
|
19541
19541
|
*/
|
|
19542
19542
|
class KerningCache {
|
|
19543
19543
|
constructor() {
|
|
@@ -19565,8 +19565,8 @@
|
|
|
19565
19565
|
}
|
|
19566
19566
|
}
|
|
19567
19567
|
|
|
19568
|
-
/**
|
|
19569
|
-
* Font metrics cache
|
|
19568
|
+
/**
|
|
19569
|
+
* Font metrics cache
|
|
19570
19570
|
*/
|
|
19571
19571
|
class FontMetricsCache {
|
|
19572
19572
|
constructor() {
|
|
@@ -19601,8 +19601,8 @@
|
|
|
19601
19601
|
});
|
|
19602
19602
|
}
|
|
19603
19603
|
|
|
19604
|
-
/**
|
|
19605
|
-
* Clear all measurement caches
|
|
19604
|
+
/**
|
|
19605
|
+
* Clear all measurement caches
|
|
19606
19606
|
*/
|
|
19607
19607
|
function clearAllCaches() {
|
|
19608
19608
|
measurementCache.clear();
|
|
@@ -19610,9 +19610,9 @@
|
|
|
19610
19610
|
fontMetricsCache.clear();
|
|
19611
19611
|
}
|
|
19612
19612
|
|
|
19613
|
-
/**
|
|
19614
|
-
* Detect if a font lacks English glyph support
|
|
19615
|
-
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19613
|
+
/**
|
|
19614
|
+
* Detect if a font lacks English glyph support
|
|
19615
|
+
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19616
19616
|
*/
|
|
19617
19617
|
function fontLacksEnglishGlyphs(fontFamily) {
|
|
19618
19618
|
if (typeof document === 'undefined') return false;
|
|
@@ -19656,8 +19656,8 @@
|
|
|
19656
19656
|
// Cache for font glyph detection results
|
|
19657
19657
|
const fontGlyphCache = new Map();
|
|
19658
19658
|
|
|
19659
|
-
/**
|
|
19660
|
-
* Cached version of font glyph detection
|
|
19659
|
+
/**
|
|
19660
|
+
* Cached version of font glyph detection
|
|
19661
19661
|
*/
|
|
19662
19662
|
function fontLacksEnglishGlyphsCached(fontFamily) {
|
|
19663
19663
|
if (fontGlyphCache.has(fontFamily)) {
|
|
@@ -19668,17 +19668,17 @@
|
|
|
19668
19668
|
return result;
|
|
19669
19669
|
}
|
|
19670
19670
|
|
|
19671
|
-
/**
|
|
19672
|
-
* Unicode and Internationalization Support
|
|
19673
|
-
*
|
|
19674
|
-
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19675
|
-
* and grapheme cluster boundary detection.
|
|
19671
|
+
/**
|
|
19672
|
+
* Unicode and Internationalization Support
|
|
19673
|
+
*
|
|
19674
|
+
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19675
|
+
* and grapheme cluster boundary detection.
|
|
19676
19676
|
*/
|
|
19677
19677
|
|
|
19678
19678
|
|
|
19679
|
-
/**
|
|
19680
|
-
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19681
|
-
* with fallback to existing graphemeSplit implementation
|
|
19679
|
+
/**
|
|
19680
|
+
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19681
|
+
* with fallback to existing graphemeSplit implementation
|
|
19682
19682
|
*/
|
|
19683
19683
|
function segmentGraphemes(text) {
|
|
19684
19684
|
// Use native Intl.Segmenter if available
|
|
@@ -19698,15 +19698,15 @@
|
|
|
19698
19698
|
return graphemeSplit(text);
|
|
19699
19699
|
}
|
|
19700
19700
|
|
|
19701
|
-
/**
|
|
19702
|
-
* Ellipsis Text Truncation System
|
|
19703
|
-
*
|
|
19704
|
-
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19705
|
-
* using binary search for optimal truncation points.
|
|
19701
|
+
/**
|
|
19702
|
+
* Ellipsis Text Truncation System
|
|
19703
|
+
*
|
|
19704
|
+
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19705
|
+
* using binary search for optimal truncation points.
|
|
19706
19706
|
*/
|
|
19707
19707
|
|
|
19708
|
-
/**
|
|
19709
|
-
* Apply ellipsis truncation to text based on width/height constraints
|
|
19708
|
+
/**
|
|
19709
|
+
* Apply ellipsis truncation to text based on width/height constraints
|
|
19710
19710
|
*/
|
|
19711
19711
|
function applyEllipsis(text, options) {
|
|
19712
19712
|
const {
|
|
@@ -19776,8 +19776,8 @@
|
|
|
19776
19776
|
};
|
|
19777
19777
|
}
|
|
19778
19778
|
|
|
19779
|
-
/**
|
|
19780
|
-
* Truncate text based on width constraint using binary search
|
|
19779
|
+
/**
|
|
19780
|
+
* Truncate text based on width constraint using binary search
|
|
19781
19781
|
*/
|
|
19782
19782
|
function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
|
|
19783
19783
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19827,8 +19827,8 @@
|
|
|
19827
19827
|
};
|
|
19828
19828
|
}
|
|
19829
19829
|
|
|
19830
|
-
/**
|
|
19831
|
-
* Truncate text based on height constraint
|
|
19830
|
+
/**
|
|
19831
|
+
* Truncate text based on height constraint
|
|
19832
19832
|
*/
|
|
19833
19833
|
function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
19834
19834
|
var _measureFn;
|
|
@@ -19876,19 +19876,19 @@
|
|
|
19876
19876
|
return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
|
|
19877
19877
|
}
|
|
19878
19878
|
|
|
19879
|
-
/**
|
|
19880
|
-
* Core Text Layout Engine
|
|
19881
|
-
*
|
|
19882
|
-
* Implements Konva-compatible text layout with support for:
|
|
19883
|
-
* - Multiple wrap modes (word/char/none)
|
|
19884
|
-
* - Ellipsis truncation
|
|
19885
|
-
* - Justify alignment with proper space distribution
|
|
19886
|
-
* - RTL/LTR text direction
|
|
19887
|
-
* - Advanced grapheme handling
|
|
19879
|
+
/**
|
|
19880
|
+
* Core Text Layout Engine
|
|
19881
|
+
*
|
|
19882
|
+
* Implements Konva-compatible text layout with support for:
|
|
19883
|
+
* - Multiple wrap modes (word/char/none)
|
|
19884
|
+
* - Ellipsis truncation
|
|
19885
|
+
* - Justify alignment with proper space distribution
|
|
19886
|
+
* - RTL/LTR text direction
|
|
19887
|
+
* - Advanced grapheme handling
|
|
19888
19888
|
*/
|
|
19889
19889
|
|
|
19890
|
-
/**
|
|
19891
|
-
* Main text layout function - converts text and options into positioned layout
|
|
19890
|
+
/**
|
|
19891
|
+
* Main text layout function - converts text and options into positioned layout
|
|
19892
19892
|
*/
|
|
19893
19893
|
function layoutText(options) {
|
|
19894
19894
|
var _ellipsisResult;
|
|
@@ -20007,8 +20007,8 @@
|
|
|
20007
20007
|
};
|
|
20008
20008
|
}
|
|
20009
20009
|
|
|
20010
|
-
/**
|
|
20011
|
-
* Layout a single paragraph with wrapping
|
|
20010
|
+
/**
|
|
20011
|
+
* Layout a single paragraph with wrapping
|
|
20012
20012
|
*/
|
|
20013
20013
|
function layoutParagraph(text, options) {
|
|
20014
20014
|
const {
|
|
@@ -20043,8 +20043,8 @@
|
|
|
20043
20043
|
return layoutLines;
|
|
20044
20044
|
}
|
|
20045
20045
|
|
|
20046
|
-
/**
|
|
20047
|
-
* Layout a single line of text (no wrapping)
|
|
20046
|
+
/**
|
|
20047
|
+
* Layout a single line of text (no wrapping)
|
|
20048
20048
|
*/
|
|
20049
20049
|
function layoutSingleLine(text, options) {
|
|
20050
20050
|
let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -20114,8 +20114,8 @@
|
|
|
20114
20114
|
};
|
|
20115
20115
|
}
|
|
20116
20116
|
|
|
20117
|
-
/**
|
|
20118
|
-
* Word-based wrapping algorithm
|
|
20117
|
+
/**
|
|
20118
|
+
* Word-based wrapping algorithm
|
|
20119
20119
|
*/
|
|
20120
20120
|
function wrapByWords(text, maxWidth, options) {
|
|
20121
20121
|
const lines = [];
|
|
@@ -20148,8 +20148,8 @@
|
|
|
20148
20148
|
return lines.length > 0 ? lines : [''];
|
|
20149
20149
|
}
|
|
20150
20150
|
|
|
20151
|
-
/**
|
|
20152
|
-
* Character-based wrapping algorithm
|
|
20151
|
+
/**
|
|
20152
|
+
* Character-based wrapping algorithm
|
|
20153
20153
|
*/
|
|
20154
20154
|
function wrapByCharacters(text, maxWidth, options) {
|
|
20155
20155
|
const lines = [];
|
|
@@ -20171,8 +20171,8 @@
|
|
|
20171
20171
|
return lines.length > 0 ? lines : [''];
|
|
20172
20172
|
}
|
|
20173
20173
|
|
|
20174
|
-
/**
|
|
20175
|
-
* Apply text alignment to lines
|
|
20174
|
+
/**
|
|
20175
|
+
* Apply text alignment to lines
|
|
20176
20176
|
*/
|
|
20177
20177
|
function applyAlignment(lines, align, containerWidth, options) {
|
|
20178
20178
|
return lines.map(line => {
|
|
@@ -20206,8 +20206,8 @@
|
|
|
20206
20206
|
});
|
|
20207
20207
|
}
|
|
20208
20208
|
|
|
20209
|
-
/**
|
|
20210
|
-
* Apply justify alignment by expanding spaces
|
|
20209
|
+
/**
|
|
20210
|
+
* Apply justify alignment by expanding spaces
|
|
20211
20211
|
*/
|
|
20212
20212
|
function applyJustification(line, containerWidth, options) {
|
|
20213
20213
|
const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
|
|
@@ -20230,8 +20230,8 @@
|
|
|
20230
20230
|
return line;
|
|
20231
20231
|
}
|
|
20232
20232
|
|
|
20233
|
-
/**
|
|
20234
|
-
* Calculate vertical alignment offset
|
|
20233
|
+
/**
|
|
20234
|
+
* Calculate vertical alignment offset
|
|
20235
20235
|
*/
|
|
20236
20236
|
function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
20237
20237
|
switch (align) {
|
|
@@ -20245,8 +20245,8 @@
|
|
|
20245
20245
|
}
|
|
20246
20246
|
}
|
|
20247
20247
|
|
|
20248
|
-
/**
|
|
20249
|
-
* Handle height overflow with ellipsis
|
|
20248
|
+
/**
|
|
20249
|
+
* Handle height overflow with ellipsis
|
|
20250
20250
|
*/
|
|
20251
20251
|
function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
|
|
20252
20252
|
// If ellipsis is enabled, try to fit part of the overflow line
|
|
@@ -20275,8 +20275,8 @@
|
|
|
20275
20275
|
};
|
|
20276
20276
|
}
|
|
20277
20277
|
|
|
20278
|
-
/**
|
|
20279
|
-
* Create empty line for empty paragraphs
|
|
20278
|
+
/**
|
|
20279
|
+
* Create empty line for empty paragraphs
|
|
20280
20280
|
*/
|
|
20281
20281
|
function createEmptyLine(options) {
|
|
20282
20282
|
const height = options.fontSize * options.lineHeight;
|
|
@@ -20292,8 +20292,8 @@
|
|
|
20292
20292
|
};
|
|
20293
20293
|
}
|
|
20294
20294
|
|
|
20295
|
-
/**
|
|
20296
|
-
* Measure width of a line of text
|
|
20295
|
+
/**
|
|
20296
|
+
* Measure width of a line of text
|
|
20297
20297
|
*/
|
|
20298
20298
|
function measureLineWidth(text, options) {
|
|
20299
20299
|
const graphemes = segmentGraphemes(text);
|
|
@@ -20310,8 +20310,8 @@
|
|
|
20310
20310
|
return width;
|
|
20311
20311
|
}
|
|
20312
20312
|
|
|
20313
|
-
/**
|
|
20314
|
-
* Convert layout options to measurement options
|
|
20313
|
+
/**
|
|
20314
|
+
* Convert layout options to measurement options
|
|
20315
20315
|
*/
|
|
20316
20316
|
function createMeasurementOptions(options) {
|
|
20317
20317
|
return {
|
|
@@ -20554,15 +20554,15 @@
|
|
|
20554
20554
|
}
|
|
20555
20555
|
}
|
|
20556
20556
|
|
|
20557
|
-
/**
|
|
20558
|
-
* Browser Line Break Extraction
|
|
20559
|
-
*
|
|
20560
|
-
* Captures exact line breaks as rendered by the browser to ensure
|
|
20561
|
-
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20557
|
+
/**
|
|
20558
|
+
* Browser Line Break Extraction
|
|
20559
|
+
*
|
|
20560
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
20561
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20562
20562
|
*/
|
|
20563
20563
|
|
|
20564
|
-
/**
|
|
20565
|
-
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20564
|
+
/**
|
|
20565
|
+
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20566
20566
|
*/
|
|
20567
20567
|
function segmentIntoGraphemes(text) {
|
|
20568
20568
|
if (typeof Intl !== 'undefined' && Intl.Segmenter) {
|
|
@@ -20576,9 +20576,9 @@
|
|
|
20576
20576
|
return Array.from(text);
|
|
20577
20577
|
}
|
|
20578
20578
|
|
|
20579
|
-
/**
|
|
20580
|
-
* Extract line break information from a textarea by creating a mirror element
|
|
20581
|
-
* with identical computed styles and measuring grapheme positions.
|
|
20579
|
+
/**
|
|
20580
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
20581
|
+
* with identical computed styles and measuring grapheme positions.
|
|
20582
20582
|
*/
|
|
20583
20583
|
function extractLinesFromDOM(textarea) {
|
|
20584
20584
|
const text = textarea.value;
|
|
@@ -20673,16 +20673,16 @@
|
|
|
20673
20673
|
}
|
|
20674
20674
|
}
|
|
20675
20675
|
|
|
20676
|
-
/**
|
|
20677
|
-
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20676
|
+
/**
|
|
20677
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20678
20678
|
*/
|
|
20679
20679
|
function createLayoutHash(target) {
|
|
20680
20680
|
const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
|
|
20681
20681
|
return properties.map(p => String(p)).join('|');
|
|
20682
20682
|
}
|
|
20683
20683
|
|
|
20684
|
-
/**
|
|
20685
|
-
* Check if stored browser lines are still valid for the current target state
|
|
20684
|
+
/**
|
|
20685
|
+
* Check if stored browser lines are still valid for the current target state
|
|
20686
20686
|
*/
|
|
20687
20687
|
function areBrowserLinesValid(target, storedHash) {
|
|
20688
20688
|
if (!storedHash || !target.__lastBrowserLines) {
|
|
@@ -20692,24 +20692,24 @@
|
|
|
20692
20692
|
return currentHash === storedHash;
|
|
20693
20693
|
}
|
|
20694
20694
|
|
|
20695
|
-
/**
|
|
20696
|
-
* Store browser lines on a target object with validity hash
|
|
20695
|
+
/**
|
|
20696
|
+
* Store browser lines on a target object with validity hash
|
|
20697
20697
|
*/
|
|
20698
20698
|
function storeBrowserLines(target, lines, layoutHash) {
|
|
20699
20699
|
target.__lastBrowserLines = lines;
|
|
20700
20700
|
target.__lastBrowserLinesHash = createLayoutHash(target);
|
|
20701
20701
|
}
|
|
20702
20702
|
|
|
20703
|
-
/**
|
|
20704
|
-
* Clear stored browser lines from a target object
|
|
20703
|
+
/**
|
|
20704
|
+
* Clear stored browser lines from a target object
|
|
20705
20705
|
*/
|
|
20706
20706
|
function clearBrowserLines(target) {
|
|
20707
20707
|
delete target.__lastBrowserLines;
|
|
20708
20708
|
delete target.__lastBrowserLinesHash;
|
|
20709
20709
|
}
|
|
20710
20710
|
|
|
20711
|
-
/**
|
|
20712
|
-
* Get stored browser lines if they're still valid
|
|
20711
|
+
/**
|
|
20712
|
+
* Get stored browser lines if they're still valid
|
|
20713
20713
|
*/
|
|
20714
20714
|
function getBrowserLines(target) {
|
|
20715
20715
|
const lines = target.__lastBrowserLines;
|
|
@@ -20722,9 +20722,9 @@
|
|
|
20722
20722
|
|
|
20723
20723
|
let measuringContext;
|
|
20724
20724
|
|
|
20725
|
-
/**
|
|
20726
|
-
* Return a context for measurement of text string.
|
|
20727
|
-
* if created it gets stored for reuse
|
|
20725
|
+
/**
|
|
20726
|
+
* Return a context for measurement of text string.
|
|
20727
|
+
* if created it gets stored for reuse
|
|
20728
20728
|
*/
|
|
20729
20729
|
function getMeasuringContext() {
|
|
20730
20730
|
if (!measuringContext) {
|
|
@@ -20737,17 +20737,17 @@
|
|
|
20737
20737
|
return measuringContext;
|
|
20738
20738
|
}
|
|
20739
20739
|
|
|
20740
|
-
/**
|
|
20741
|
-
* Measure and return the info of a single grapheme.
|
|
20742
|
-
* needs the the info of previous graphemes already filled
|
|
20743
|
-
* Override to customize measuring
|
|
20740
|
+
/**
|
|
20741
|
+
* Measure and return the info of a single grapheme.
|
|
20742
|
+
* needs the the info of previous graphemes already filled
|
|
20743
|
+
* Override to customize measuring
|
|
20744
20744
|
*/
|
|
20745
20745
|
|
|
20746
20746
|
// @TODO this is not complete
|
|
20747
20747
|
|
|
20748
|
-
/**
|
|
20749
|
-
* Text class
|
|
20750
|
-
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20748
|
+
/**
|
|
20749
|
+
* Text class
|
|
20750
|
+
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20751
20751
|
*/
|
|
20752
20752
|
class FabricText extends StyledText {
|
|
20753
20753
|
static getDefaults() {
|
|
@@ -20758,11 +20758,11 @@
|
|
|
20758
20758
|
}
|
|
20759
20759
|
constructor(text, options) {
|
|
20760
20760
|
super();
|
|
20761
|
-
/**
|
|
20762
|
-
* contains characters bounding boxes
|
|
20763
|
-
* This variable is considered to be protected.
|
|
20764
|
-
* But for how mixins are implemented right now, we can't leave it private
|
|
20765
|
-
* @protected
|
|
20761
|
+
/**
|
|
20762
|
+
* contains characters bounding boxes
|
|
20763
|
+
* This variable is considered to be protected.
|
|
20764
|
+
* But for how mixins are implemented right now, we can't leave it private
|
|
20765
|
+
* @protected
|
|
20766
20766
|
*/
|
|
20767
20767
|
_defineProperty(this, "__charBounds", []);
|
|
20768
20768
|
Object.assign(this, FabricText.ownDefaults);
|
|
@@ -20779,9 +20779,9 @@
|
|
|
20779
20779
|
this.setCoords();
|
|
20780
20780
|
}
|
|
20781
20781
|
|
|
20782
|
-
/**
|
|
20783
|
-
* If text has a path, it will add the extra information needed
|
|
20784
|
-
* for path and text calculations
|
|
20782
|
+
/**
|
|
20783
|
+
* If text has a path, it will add the extra information needed
|
|
20784
|
+
* for path and text calculations
|
|
20785
20785
|
*/
|
|
20786
20786
|
setPathInfo() {
|
|
20787
20787
|
const path = this.path;
|
|
@@ -20790,10 +20790,10 @@
|
|
|
20790
20790
|
}
|
|
20791
20791
|
}
|
|
20792
20792
|
|
|
20793
|
-
/**
|
|
20794
|
-
* @private
|
|
20795
|
-
* Divides text into lines of text and lines of graphemes.
|
|
20796
|
-
* Uses browser lines when available for pixel-perfect consistency.
|
|
20793
|
+
/**
|
|
20794
|
+
* @private
|
|
20795
|
+
* Divides text into lines of text and lines of graphemes.
|
|
20796
|
+
* Uses browser lines when available for pixel-perfect consistency.
|
|
20797
20797
|
*/
|
|
20798
20798
|
_splitText() {
|
|
20799
20799
|
// Check if we have valid browser lines and should use them
|
|
@@ -20809,9 +20809,9 @@
|
|
|
20809
20809
|
return newLines;
|
|
20810
20810
|
}
|
|
20811
20811
|
|
|
20812
|
-
/**
|
|
20813
|
-
* Create TextLinesInfo from browser-extracted lines
|
|
20814
|
-
* @private
|
|
20812
|
+
/**
|
|
20813
|
+
* Create TextLinesInfo from browser-extracted lines
|
|
20814
|
+
* @private
|
|
20815
20815
|
*/
|
|
20816
20816
|
_splitTextFromBrowserLines(browserLines) {
|
|
20817
20817
|
const lines = [];
|
|
@@ -20845,10 +20845,10 @@
|
|
|
20845
20845
|
return result;
|
|
20846
20846
|
}
|
|
20847
20847
|
|
|
20848
|
-
/**
|
|
20849
|
-
* Initialize or update text dimensions.
|
|
20850
|
-
* Updates this.width and this.height with the proper values.
|
|
20851
|
-
* Does not return dimensions.
|
|
20848
|
+
/**
|
|
20849
|
+
* Initialize or update text dimensions.
|
|
20850
|
+
* Updates this.width and this.height with the proper values.
|
|
20851
|
+
* Does not return dimensions.
|
|
20852
20852
|
*/
|
|
20853
20853
|
initDimensions() {
|
|
20854
20854
|
// Check if font is ready for accurate measurements
|
|
@@ -20894,8 +20894,8 @@
|
|
|
20894
20894
|
}
|
|
20895
20895
|
}
|
|
20896
20896
|
|
|
20897
|
-
/**
|
|
20898
|
-
* Enlarge space boxes and shift the others
|
|
20897
|
+
/**
|
|
20898
|
+
* Enlarge space boxes and shift the others
|
|
20899
20899
|
*/
|
|
20900
20900
|
enlargeSpaces() {
|
|
20901
20901
|
let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
|
|
@@ -20957,18 +20957,18 @@
|
|
|
20957
20957
|
}
|
|
20958
20958
|
}
|
|
20959
20959
|
|
|
20960
|
-
/**
|
|
20961
|
-
* Advanced layout using new text engine (Konva-compatible)
|
|
20962
|
-
* @private
|
|
20960
|
+
/**
|
|
20961
|
+
* Advanced layout using new text engine (Konva-compatible)
|
|
20962
|
+
* @private
|
|
20963
20963
|
*/
|
|
20964
20964
|
_layoutTextAdvanced() {
|
|
20965
20965
|
const options = this._getAdvancedLayoutOptions();
|
|
20966
20966
|
return layoutText(options);
|
|
20967
20967
|
}
|
|
20968
20968
|
|
|
20969
|
-
/**
|
|
20970
|
-
* Get advanced layout options from current text properties
|
|
20971
|
-
* @private
|
|
20969
|
+
/**
|
|
20970
|
+
* Get advanced layout options from current text properties
|
|
20971
|
+
* @private
|
|
20972
20972
|
*/
|
|
20973
20973
|
_getAdvancedLayoutOptions() {
|
|
20974
20974
|
return {
|
|
@@ -20990,9 +20990,9 @@
|
|
|
20990
20990
|
};
|
|
20991
20991
|
}
|
|
20992
20992
|
|
|
20993
|
-
/**
|
|
20994
|
-
* Map Fabric textAlign to Konva align format
|
|
20995
|
-
* @private
|
|
20993
|
+
/**
|
|
20994
|
+
* Map Fabric textAlign to Konva align format
|
|
20995
|
+
* @private
|
|
20996
20996
|
*/
|
|
20997
20997
|
_mapTextAlignToAlign(textAlign) {
|
|
20998
20998
|
switch (textAlign) {
|
|
@@ -21013,8 +21013,8 @@
|
|
|
21013
21013
|
}
|
|
21014
21014
|
}
|
|
21015
21015
|
|
|
21016
|
-
/**
|
|
21017
|
-
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21016
|
+
/**
|
|
21017
|
+
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21018
21018
|
*/
|
|
21019
21019
|
initDimensionsAdvanced() {
|
|
21020
21020
|
if (!this.enableAdvancedLayout) {
|
|
@@ -21043,9 +21043,9 @@
|
|
|
21043
21043
|
this.dirty = true;
|
|
21044
21044
|
}
|
|
21045
21045
|
|
|
21046
|
-
/**
|
|
21047
|
-
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21048
|
-
* @private
|
|
21046
|
+
/**
|
|
21047
|
+
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21048
|
+
* @private
|
|
21049
21049
|
*/
|
|
21050
21050
|
_convertLayoutToLegacyFormat(layout) {
|
|
21051
21051
|
this._textLines = layout.lines.map(line => line.graphemes);
|
|
@@ -21067,30 +21067,30 @@
|
|
|
21067
21067
|
}
|
|
21068
21068
|
}
|
|
21069
21069
|
|
|
21070
|
-
/**
|
|
21071
|
-
* Detect if the text line is ended with an hard break
|
|
21072
|
-
* text and itext do not have wrapping, return false
|
|
21073
|
-
* @return {Boolean}
|
|
21070
|
+
/**
|
|
21071
|
+
* Detect if the text line is ended with an hard break
|
|
21072
|
+
* text and itext do not have wrapping, return false
|
|
21073
|
+
* @return {Boolean}
|
|
21074
21074
|
*/
|
|
21075
21075
|
isEndOfWrapping(lineIndex) {
|
|
21076
21076
|
return lineIndex === this._textLines.length - 1;
|
|
21077
21077
|
}
|
|
21078
21078
|
|
|
21079
|
-
/**
|
|
21080
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21081
|
-
* and counting style.
|
|
21082
|
-
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21083
|
-
* @return Number
|
|
21079
|
+
/**
|
|
21080
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21081
|
+
* and counting style.
|
|
21082
|
+
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21083
|
+
* @return Number
|
|
21084
21084
|
*/
|
|
21085
21085
|
|
|
21086
21086
|
missingNewlineOffset(_lineIndex) {
|
|
21087
21087
|
return 1;
|
|
21088
21088
|
}
|
|
21089
21089
|
|
|
21090
|
-
/**
|
|
21091
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21092
|
-
* @param {Number} selectionStart
|
|
21093
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21090
|
+
/**
|
|
21091
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21092
|
+
* @param {Number} selectionStart
|
|
21093
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21094
21094
|
*/
|
|
21095
21095
|
get2DCursorLocation(selectionStart, skipWrapping) {
|
|
21096
21096
|
const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
|
|
@@ -21110,24 +21110,24 @@
|
|
|
21110
21110
|
};
|
|
21111
21111
|
}
|
|
21112
21112
|
|
|
21113
|
-
/**
|
|
21114
|
-
* Returns string representation of an instance
|
|
21115
|
-
* @return {String} String representation of text object
|
|
21113
|
+
/**
|
|
21114
|
+
* Returns string representation of an instance
|
|
21115
|
+
* @return {String} String representation of text object
|
|
21116
21116
|
*/
|
|
21117
21117
|
toString() {
|
|
21118
21118
|
return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
|
|
21119
21119
|
}
|
|
21120
21120
|
|
|
21121
|
-
/**
|
|
21122
|
-
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21123
|
-
* big enough to host the object to be cached.
|
|
21124
|
-
* @private
|
|
21125
|
-
* @param {Object} dim.x width of object to be cached
|
|
21126
|
-
* @param {Object} dim.y height of object to be cached
|
|
21127
|
-
* @return {Object}.width width of canvas
|
|
21128
|
-
* @return {Object}.height height of canvas
|
|
21129
|
-
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21130
|
-
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21121
|
+
/**
|
|
21122
|
+
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21123
|
+
* big enough to host the object to be cached.
|
|
21124
|
+
* @private
|
|
21125
|
+
* @param {Object} dim.x width of object to be cached
|
|
21126
|
+
* @param {Object} dim.y height of object to be cached
|
|
21127
|
+
* @return {Object}.width width of canvas
|
|
21128
|
+
* @return {Object}.height height of canvas
|
|
21129
|
+
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21130
|
+
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21131
21131
|
*/
|
|
21132
21132
|
_getCacheCanvasDimensions() {
|
|
21133
21133
|
const dims = super._getCacheCanvasDimensions();
|
|
@@ -21137,9 +21137,9 @@
|
|
|
21137
21137
|
return dims;
|
|
21138
21138
|
}
|
|
21139
21139
|
|
|
21140
|
-
/**
|
|
21141
|
-
* @private
|
|
21142
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21140
|
+
/**
|
|
21141
|
+
* @private
|
|
21142
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21143
21143
|
*/
|
|
21144
21144
|
_render(ctx) {
|
|
21145
21145
|
const path = this.path;
|
|
@@ -21152,9 +21152,9 @@
|
|
|
21152
21152
|
this._renderTextDecoration(ctx, 'linethrough');
|
|
21153
21153
|
}
|
|
21154
21154
|
|
|
21155
|
-
/**
|
|
21156
|
-
* @private
|
|
21157
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21155
|
+
/**
|
|
21156
|
+
* @private
|
|
21157
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21158
21158
|
*/
|
|
21159
21159
|
_renderText(ctx) {
|
|
21160
21160
|
// Skip text rendering if in overlay editing mode
|
|
@@ -21170,15 +21170,15 @@
|
|
|
21170
21170
|
}
|
|
21171
21171
|
}
|
|
21172
21172
|
|
|
21173
|
-
/**
|
|
21174
|
-
* Set the font parameter of the context with the object properties or with charStyle
|
|
21175
|
-
* @private
|
|
21176
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21177
|
-
* @param {Object} [charStyle] object with font style properties
|
|
21178
|
-
* @param {String} [charStyle.fontFamily] Font Family
|
|
21179
|
-
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21180
|
-
* @param {String} [charStyle.fontWeight] Font weight
|
|
21181
|
-
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21173
|
+
/**
|
|
21174
|
+
* Set the font parameter of the context with the object properties or with charStyle
|
|
21175
|
+
* @private
|
|
21176
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21177
|
+
* @param {Object} [charStyle] object with font style properties
|
|
21178
|
+
* @param {String} [charStyle.fontFamily] Font Family
|
|
21179
|
+
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21180
|
+
* @param {String} [charStyle.fontWeight] Font weight
|
|
21181
|
+
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21182
21182
|
*/
|
|
21183
21183
|
_setTextStyles(ctx, charStyle, forMeasuring) {
|
|
21184
21184
|
ctx.textBaseline = 'alphabetic';
|
|
@@ -21198,11 +21198,11 @@
|
|
|
21198
21198
|
ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
|
|
21199
21199
|
}
|
|
21200
21200
|
|
|
21201
|
-
/**
|
|
21202
|
-
* calculate and return the text Width measuring each line.
|
|
21203
|
-
* @private
|
|
21204
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21205
|
-
* @return {Number} Maximum width of Text object
|
|
21201
|
+
/**
|
|
21202
|
+
* calculate and return the text Width measuring each line.
|
|
21203
|
+
* @private
|
|
21204
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21205
|
+
* @return {Number} Maximum width of Text object
|
|
21206
21206
|
*/
|
|
21207
21207
|
calcTextWidth() {
|
|
21208
21208
|
let maxWidth = this.getLineWidth(0);
|
|
@@ -21215,23 +21215,23 @@
|
|
|
21215
21215
|
return maxWidth;
|
|
21216
21216
|
}
|
|
21217
21217
|
|
|
21218
|
-
/**
|
|
21219
|
-
* @private
|
|
21220
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21221
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21222
|
-
* @param {String} line Text to render
|
|
21223
|
-
* @param {Number} left Left position of text
|
|
21224
|
-
* @param {Number} top Top position of text
|
|
21225
|
-
* @param {Number} lineIndex Index of a line in a text
|
|
21218
|
+
/**
|
|
21219
|
+
* @private
|
|
21220
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21221
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21222
|
+
* @param {String} line Text to render
|
|
21223
|
+
* @param {Number} left Left position of text
|
|
21224
|
+
* @param {Number} top Top position of text
|
|
21225
|
+
* @param {Number} lineIndex Index of a line in a text
|
|
21226
21226
|
*/
|
|
21227
21227
|
_renderTextLine(method, ctx, line, left, top, lineIndex) {
|
|
21228
21228
|
this._renderChars(method, ctx, line, left, top, lineIndex);
|
|
21229
21229
|
}
|
|
21230
21230
|
|
|
21231
|
-
/**
|
|
21232
|
-
* Renders the text background for lines, taking care of style
|
|
21233
|
-
* @private
|
|
21234
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21231
|
+
/**
|
|
21232
|
+
* Renders the text background for lines, taking care of style
|
|
21233
|
+
* @private
|
|
21234
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21235
21235
|
*/
|
|
21236
21236
|
_renderTextLinesBackground(ctx) {
|
|
21237
21237
|
if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
|
|
@@ -21294,15 +21294,15 @@
|
|
|
21294
21294
|
this._removeShadow(ctx);
|
|
21295
21295
|
}
|
|
21296
21296
|
|
|
21297
|
-
/**
|
|
21298
|
-
* measure and return the width of a single character.
|
|
21299
|
-
* possibly overridden to accommodate different measure logic or
|
|
21300
|
-
* to hook some external lib for character measurement
|
|
21301
|
-
* @private
|
|
21302
|
-
* @param {String} _char, char to be measured
|
|
21303
|
-
* @param {Object} charStyle style of char to be measured
|
|
21304
|
-
* @param {String} [previousChar] previous char
|
|
21305
|
-
* @param {Object} [prevCharStyle] style of previous char
|
|
21297
|
+
/**
|
|
21298
|
+
* measure and return the width of a single character.
|
|
21299
|
+
* possibly overridden to accommodate different measure logic or
|
|
21300
|
+
* to hook some external lib for character measurement
|
|
21301
|
+
* @private
|
|
21302
|
+
* @param {String} _char, char to be measured
|
|
21303
|
+
* @param {Object} charStyle style of char to be measured
|
|
21304
|
+
* @param {String} [previousChar] previous char
|
|
21305
|
+
* @param {Object} [prevCharStyle] style of previous char
|
|
21306
21306
|
*/
|
|
21307
21307
|
_measureChar(_char, charStyle, previousChar, prevCharStyle) {
|
|
21308
21308
|
const fontCache = cache.getFontCache(charStyle),
|
|
@@ -21347,19 +21347,19 @@
|
|
|
21347
21347
|
};
|
|
21348
21348
|
}
|
|
21349
21349
|
|
|
21350
|
-
/**
|
|
21351
|
-
* Computes height of character at given position
|
|
21352
|
-
* @param {Number} line the line index number
|
|
21353
|
-
* @param {Number} _char the character index number
|
|
21354
|
-
* @return {Number} fontSize of the character
|
|
21350
|
+
/**
|
|
21351
|
+
* Computes height of character at given position
|
|
21352
|
+
* @param {Number} line the line index number
|
|
21353
|
+
* @param {Number} _char the character index number
|
|
21354
|
+
* @return {Number} fontSize of the character
|
|
21355
21355
|
*/
|
|
21356
21356
|
getHeightOfChar(line, _char) {
|
|
21357
21357
|
return this.getValueOfPropertyAt(line, _char, 'fontSize');
|
|
21358
21358
|
}
|
|
21359
21359
|
|
|
21360
|
-
/**
|
|
21361
|
-
* measure a text line measuring all characters.
|
|
21362
|
-
* @param {Number} lineIndex line number
|
|
21360
|
+
/**
|
|
21361
|
+
* measure a text line measuring all characters.
|
|
21362
|
+
* @param {Number} lineIndex line number
|
|
21363
21363
|
*/
|
|
21364
21364
|
measureLine(lineIndex) {
|
|
21365
21365
|
const lineInfo = this._measureLine(lineIndex);
|
|
@@ -21372,11 +21372,11 @@
|
|
|
21372
21372
|
return lineInfo;
|
|
21373
21373
|
}
|
|
21374
21374
|
|
|
21375
|
-
/**
|
|
21376
|
-
* measure every grapheme of a line, populating __charBounds
|
|
21377
|
-
* @param {Number} lineIndex
|
|
21378
|
-
* @return {Object} object.width total width of characters
|
|
21379
|
-
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21375
|
+
/**
|
|
21376
|
+
* measure every grapheme of a line, populating __charBounds
|
|
21377
|
+
* @param {Number} lineIndex
|
|
21378
|
+
* @return {Object} object.width total width of characters
|
|
21379
|
+
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21380
21380
|
*/
|
|
21381
21381
|
_measureLine(lineIndex) {
|
|
21382
21382
|
let width = 0,
|
|
@@ -21439,13 +21439,13 @@
|
|
|
21439
21439
|
};
|
|
21440
21440
|
}
|
|
21441
21441
|
|
|
21442
|
-
/**
|
|
21443
|
-
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21444
|
-
* It appends it to graphemeInfo to be reused later at rendering
|
|
21445
|
-
* @private
|
|
21446
|
-
* @param {Number} positionInPath to be measured
|
|
21447
|
-
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21448
|
-
* @param {Object} startingPoint position of the point
|
|
21442
|
+
/**
|
|
21443
|
+
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21444
|
+
* It appends it to graphemeInfo to be reused later at rendering
|
|
21445
|
+
* @private
|
|
21446
|
+
* @param {Number} positionInPath to be measured
|
|
21447
|
+
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21448
|
+
* @param {Object} startingPoint position of the point
|
|
21449
21449
|
*/
|
|
21450
21450
|
_setGraphemeOnPath(positionInPath, graphemeInfo) {
|
|
21451
21451
|
const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
|
|
@@ -21458,13 +21458,13 @@
|
|
|
21458
21458
|
graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
|
|
21459
21459
|
}
|
|
21460
21460
|
|
|
21461
|
-
/**
|
|
21462
|
-
*
|
|
21463
|
-
* @param {String} grapheme to be measured
|
|
21464
|
-
* @param {Number} lineIndex index of the line where the char is
|
|
21465
|
-
* @param {Number} charIndex position in the line
|
|
21466
|
-
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21467
|
-
* @returns {GraphemeBBox} grapheme bbox
|
|
21461
|
+
/**
|
|
21462
|
+
*
|
|
21463
|
+
* @param {String} grapheme to be measured
|
|
21464
|
+
* @param {Number} lineIndex index of the line where the char is
|
|
21465
|
+
* @param {Number} charIndex position in the line
|
|
21466
|
+
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21467
|
+
* @returns {GraphemeBBox} grapheme bbox
|
|
21468
21468
|
*/
|
|
21469
21469
|
_getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
|
|
21470
21470
|
const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21492,10 +21492,10 @@
|
|
|
21492
21492
|
return box;
|
|
21493
21493
|
}
|
|
21494
21494
|
|
|
21495
|
-
/**
|
|
21496
|
-
* Calculate height of line at 'lineIndex'
|
|
21497
|
-
* @param {Number} lineIndex index of line to calculate
|
|
21498
|
-
* @return {Number}
|
|
21495
|
+
/**
|
|
21496
|
+
* Calculate height of line at 'lineIndex'
|
|
21497
|
+
* @param {Number} lineIndex index of line to calculate
|
|
21498
|
+
* @return {Number}
|
|
21499
21499
|
*/
|
|
21500
21500
|
getHeightOfLine(lineIndex) {
|
|
21501
21501
|
if (this.__lineHeights[lineIndex]) {
|
|
@@ -21511,8 +21511,8 @@
|
|
|
21511
21511
|
return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
|
|
21512
21512
|
}
|
|
21513
21513
|
|
|
21514
|
-
/**
|
|
21515
|
-
* Calculate text box height
|
|
21514
|
+
/**
|
|
21515
|
+
* Calculate text box height
|
|
21516
21516
|
*/
|
|
21517
21517
|
calcTextHeight() {
|
|
21518
21518
|
let lineHeight,
|
|
@@ -21524,26 +21524,26 @@
|
|
|
21524
21524
|
return height;
|
|
21525
21525
|
}
|
|
21526
21526
|
|
|
21527
|
-
/**
|
|
21528
|
-
* @private
|
|
21529
|
-
* @return {Number} Left offset
|
|
21527
|
+
/**
|
|
21528
|
+
* @private
|
|
21529
|
+
* @return {Number} Left offset
|
|
21530
21530
|
*/
|
|
21531
21531
|
_getLeftOffset() {
|
|
21532
21532
|
return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
|
|
21533
21533
|
}
|
|
21534
21534
|
|
|
21535
|
-
/**
|
|
21536
|
-
* @private
|
|
21537
|
-
* @return {Number} Top offset
|
|
21535
|
+
/**
|
|
21536
|
+
* @private
|
|
21537
|
+
* @return {Number} Top offset
|
|
21538
21538
|
*/
|
|
21539
21539
|
_getTopOffset() {
|
|
21540
21540
|
return -this.height / 2;
|
|
21541
21541
|
}
|
|
21542
21542
|
|
|
21543
|
-
/**
|
|
21544
|
-
* @private
|
|
21545
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21546
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21543
|
+
/**
|
|
21544
|
+
* @private
|
|
21545
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21546
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21547
21547
|
*/
|
|
21548
21548
|
_renderTextCommon(ctx, method) {
|
|
21549
21549
|
ctx.save();
|
|
@@ -21560,9 +21560,9 @@
|
|
|
21560
21560
|
ctx.restore();
|
|
21561
21561
|
}
|
|
21562
21562
|
|
|
21563
|
-
/**
|
|
21564
|
-
* @private
|
|
21565
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21563
|
+
/**
|
|
21564
|
+
* @private
|
|
21565
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21566
21566
|
*/
|
|
21567
21567
|
_renderTextFill(ctx) {
|
|
21568
21568
|
if (!this.fill && !this.styleHas(FILL)) {
|
|
@@ -21571,9 +21571,9 @@
|
|
|
21571
21571
|
this._renderTextCommon(ctx, 'fillText');
|
|
21572
21572
|
}
|
|
21573
21573
|
|
|
21574
|
-
/**
|
|
21575
|
-
* @private
|
|
21576
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21574
|
+
/**
|
|
21575
|
+
* @private
|
|
21576
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21577
21577
|
*/
|
|
21578
21578
|
_renderTextStroke(ctx) {
|
|
21579
21579
|
if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
|
|
@@ -21590,14 +21590,14 @@
|
|
|
21590
21590
|
ctx.restore();
|
|
21591
21591
|
}
|
|
21592
21592
|
|
|
21593
|
-
/**
|
|
21594
|
-
* @private
|
|
21595
|
-
* @param {String} method fillText or strokeText.
|
|
21596
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21597
|
-
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21598
|
-
* @param {Number} left
|
|
21599
|
-
* @param {Number} top
|
|
21600
|
-
* @param {Number} lineIndex
|
|
21593
|
+
/**
|
|
21594
|
+
* @private
|
|
21595
|
+
* @param {String} method fillText or strokeText.
|
|
21596
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21597
|
+
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21598
|
+
* @param {Number} left
|
|
21599
|
+
* @param {Number} top
|
|
21600
|
+
* @param {Number} lineIndex
|
|
21601
21601
|
*/
|
|
21602
21602
|
_renderChars(method, ctx, line, left, top, lineIndex) {
|
|
21603
21603
|
const lineHeight = this.getHeightOfLine(lineIndex),
|
|
@@ -21679,16 +21679,16 @@
|
|
|
21679
21679
|
ctx.restore();
|
|
21680
21680
|
}
|
|
21681
21681
|
|
|
21682
|
-
/**
|
|
21683
|
-
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21684
|
-
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21685
|
-
* we want to transform the gradient but not the stroke operation, so we create
|
|
21686
|
-
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21687
|
-
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21688
|
-
* is limited.
|
|
21689
|
-
* @private
|
|
21690
|
-
* @param {TFiller} filler a fabric gradient instance
|
|
21691
|
-
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21682
|
+
/**
|
|
21683
|
+
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21684
|
+
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21685
|
+
* we want to transform the gradient but not the stroke operation, so we create
|
|
21686
|
+
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21687
|
+
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21688
|
+
* is limited.
|
|
21689
|
+
* @private
|
|
21690
|
+
* @param {TFiller} filler a fabric gradient instance
|
|
21691
|
+
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21692
21692
|
*/
|
|
21693
21693
|
_applyPatternGradientTransformText(filler) {
|
|
21694
21694
|
// TODO: verify compatibility with strokeUniform
|
|
@@ -21744,12 +21744,12 @@
|
|
|
21744
21744
|
};
|
|
21745
21745
|
}
|
|
21746
21746
|
|
|
21747
|
-
/**
|
|
21748
|
-
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21749
|
-
* need to be sent in as defined
|
|
21750
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21751
|
-
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21752
|
-
* @returns
|
|
21747
|
+
/**
|
|
21748
|
+
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21749
|
+
* need to be sent in as defined
|
|
21750
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21751
|
+
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21752
|
+
* @returns
|
|
21753
21753
|
*/
|
|
21754
21754
|
_setStrokeStyles(ctx, _ref) {
|
|
21755
21755
|
let {
|
|
@@ -21764,12 +21764,12 @@
|
|
|
21764
21764
|
return this.handleFiller(ctx, 'strokeStyle', stroke);
|
|
21765
21765
|
}
|
|
21766
21766
|
|
|
21767
|
-
/**
|
|
21768
|
-
* This function prepare the canvas for a ill style, and fill
|
|
21769
|
-
* need to be sent in as defined
|
|
21770
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21771
|
-
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21772
|
-
* @returns
|
|
21767
|
+
/**
|
|
21768
|
+
* This function prepare the canvas for a ill style, and fill
|
|
21769
|
+
* need to be sent in as defined
|
|
21770
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21771
|
+
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21772
|
+
* @returns
|
|
21773
21773
|
*/
|
|
21774
21774
|
_setFillStyles(ctx, _ref2) {
|
|
21775
21775
|
let {
|
|
@@ -21778,16 +21778,16 @@
|
|
|
21778
21778
|
return this.handleFiller(ctx, 'fillStyle', fill);
|
|
21779
21779
|
}
|
|
21780
21780
|
|
|
21781
|
-
/**
|
|
21782
|
-
* @private
|
|
21783
|
-
* @param {String} method
|
|
21784
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21785
|
-
* @param {Number} lineIndex
|
|
21786
|
-
* @param {Number} charIndex
|
|
21787
|
-
* @param {String} _char
|
|
21788
|
-
* @param {Number} left Left coordinate
|
|
21789
|
-
* @param {Number} top Top coordinate
|
|
21790
|
-
* @param {Number} lineHeight Height of the line
|
|
21781
|
+
/**
|
|
21782
|
+
* @private
|
|
21783
|
+
* @param {String} method
|
|
21784
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21785
|
+
* @param {Number} lineIndex
|
|
21786
|
+
* @param {Number} charIndex
|
|
21787
|
+
* @param {String} _char
|
|
21788
|
+
* @param {Number} left Left coordinate
|
|
21789
|
+
* @param {Number} top Top coordinate
|
|
21790
|
+
* @param {Number} lineHeight Height of the line
|
|
21791
21791
|
*/
|
|
21792
21792
|
_renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
|
|
21793
21793
|
const decl = this._getStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21816,30 +21816,30 @@
|
|
|
21816
21816
|
ctx.restore();
|
|
21817
21817
|
}
|
|
21818
21818
|
|
|
21819
|
-
/**
|
|
21820
|
-
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21821
|
-
* @param {Number} start selection start
|
|
21822
|
-
* @param {Number} end selection end
|
|
21819
|
+
/**
|
|
21820
|
+
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21821
|
+
* @param {Number} start selection start
|
|
21822
|
+
* @param {Number} end selection end
|
|
21823
21823
|
*/
|
|
21824
21824
|
setSuperscript(start, end) {
|
|
21825
21825
|
this._setScript(start, end, this.superscript);
|
|
21826
21826
|
}
|
|
21827
21827
|
|
|
21828
|
-
/**
|
|
21829
|
-
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21830
|
-
* @param {Number} start selection start
|
|
21831
|
-
* @param {Number} end selection end
|
|
21828
|
+
/**
|
|
21829
|
+
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21830
|
+
* @param {Number} start selection start
|
|
21831
|
+
* @param {Number} end selection end
|
|
21832
21832
|
*/
|
|
21833
21833
|
setSubscript(start, end) {
|
|
21834
21834
|
this._setScript(start, end, this.subscript);
|
|
21835
21835
|
}
|
|
21836
21836
|
|
|
21837
|
-
/**
|
|
21838
|
-
* Applies 'schema' at given position
|
|
21839
|
-
* @private
|
|
21840
|
-
* @param {Number} start selection start
|
|
21841
|
-
* @param {Number} end selection end
|
|
21842
|
-
* @param {Number} schema
|
|
21837
|
+
/**
|
|
21838
|
+
* Applies 'schema' at given position
|
|
21839
|
+
* @private
|
|
21840
|
+
* @param {Number} start selection start
|
|
21841
|
+
* @param {Number} end selection end
|
|
21842
|
+
* @param {Number} schema
|
|
21843
21843
|
*/
|
|
21844
21844
|
_setScript(start, end, schema) {
|
|
21845
21845
|
const loc = this.get2DCursorLocation(start, true),
|
|
@@ -21852,10 +21852,10 @@
|
|
|
21852
21852
|
this.setSelectionStyles(style, start, end);
|
|
21853
21853
|
}
|
|
21854
21854
|
|
|
21855
|
-
/**
|
|
21856
|
-
* @private
|
|
21857
|
-
* @param {Number} lineIndex index text line
|
|
21858
|
-
* @return {Number} Line left offset
|
|
21855
|
+
/**
|
|
21856
|
+
* @private
|
|
21857
|
+
* @param {Number} lineIndex index text line
|
|
21858
|
+
* @return {Number} Line left offset
|
|
21859
21859
|
*/
|
|
21860
21860
|
_getLineLeftOffset(lineIndex) {
|
|
21861
21861
|
const lineWidth = this.getLineWidth(lineIndex),
|
|
@@ -21905,8 +21905,8 @@
|
|
|
21905
21905
|
return leftOffset;
|
|
21906
21906
|
}
|
|
21907
21907
|
|
|
21908
|
-
/**
|
|
21909
|
-
* @private
|
|
21908
|
+
/**
|
|
21909
|
+
* @private
|
|
21910
21910
|
*/
|
|
21911
21911
|
_clearCache() {
|
|
21912
21912
|
this._forceClearCache = false;
|
|
@@ -21915,12 +21915,12 @@
|
|
|
21915
21915
|
this.__charBounds = [];
|
|
21916
21916
|
}
|
|
21917
21917
|
|
|
21918
|
-
/**
|
|
21919
|
-
* Measure a single line given its index. Used to calculate the initial
|
|
21920
|
-
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21921
|
-
* @private
|
|
21922
|
-
* @param {Number} lineIndex line number
|
|
21923
|
-
* @return {Number} Line width
|
|
21918
|
+
/**
|
|
21919
|
+
* Measure a single line given its index. Used to calculate the initial
|
|
21920
|
+
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21921
|
+
* @private
|
|
21922
|
+
* @param {Number} lineIndex line number
|
|
21923
|
+
* @return {Number} Line width
|
|
21924
21924
|
*/
|
|
21925
21925
|
getLineWidth(lineIndex) {
|
|
21926
21926
|
if (this.__lineWidths[lineIndex] !== undefined) {
|
|
@@ -21939,12 +21939,12 @@
|
|
|
21939
21939
|
return 0;
|
|
21940
21940
|
}
|
|
21941
21941
|
|
|
21942
|
-
/**
|
|
21943
|
-
* Retrieves the value of property at given character position
|
|
21944
|
-
* @param {Number} lineIndex the line number
|
|
21945
|
-
* @param {Number} charIndex the character number
|
|
21946
|
-
* @param {String} property the property name
|
|
21947
|
-
* @returns the value of 'property'
|
|
21942
|
+
/**
|
|
21943
|
+
* Retrieves the value of property at given character position
|
|
21944
|
+
* @param {Number} lineIndex the line number
|
|
21945
|
+
* @param {Number} charIndex the character number
|
|
21946
|
+
* @param {String} property the property name
|
|
21947
|
+
* @returns the value of 'property'
|
|
21948
21948
|
*/
|
|
21949
21949
|
getValueOfPropertyAt(lineIndex, charIndex, property) {
|
|
21950
21950
|
var _charStyle$property;
|
|
@@ -21952,9 +21952,9 @@
|
|
|
21952
21952
|
return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
|
|
21953
21953
|
}
|
|
21954
21954
|
|
|
21955
|
-
/**
|
|
21956
|
-
* @private
|
|
21957
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21955
|
+
/**
|
|
21956
|
+
* @private
|
|
21957
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21958
21958
|
*/
|
|
21959
21959
|
_renderTextDecoration(ctx, type) {
|
|
21960
21960
|
if (!this[type] && !this.styleHas(type)) {
|
|
@@ -22038,10 +22038,10 @@
|
|
|
22038
22038
|
this._removeShadow(ctx);
|
|
22039
22039
|
}
|
|
22040
22040
|
|
|
22041
|
-
/**
|
|
22042
|
-
* return font declaration string for canvas context
|
|
22043
|
-
* @param {Object} [styleObject] object
|
|
22044
|
-
* @returns {String} font declaration formatted for canvas context.
|
|
22041
|
+
/**
|
|
22042
|
+
* return font declaration string for canvas context
|
|
22043
|
+
* @param {Object} [styleObject] object
|
|
22044
|
+
* @returns {String} font declaration formatted for canvas context.
|
|
22045
22045
|
*/
|
|
22046
22046
|
_getFontDeclaration() {
|
|
22047
22047
|
let {
|
|
@@ -22067,9 +22067,9 @@
|
|
|
22067
22067
|
return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
|
|
22068
22068
|
}
|
|
22069
22069
|
|
|
22070
|
-
/**
|
|
22071
|
-
* Renders text instance on a specified context
|
|
22072
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22070
|
+
/**
|
|
22071
|
+
* Renders text instance on a specified context
|
|
22072
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22073
22073
|
*/
|
|
22074
22074
|
render(ctx) {
|
|
22075
22075
|
if (!this.visible) {
|
|
@@ -22084,22 +22084,22 @@
|
|
|
22084
22084
|
super.render(ctx);
|
|
22085
22085
|
}
|
|
22086
22086
|
|
|
22087
|
-
/**
|
|
22088
|
-
* Override this method to customize grapheme splitting
|
|
22089
|
-
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22090
|
-
* is more comfortable to inject the correct util rather than having to override text
|
|
22091
|
-
* in the middle of the prototype chain
|
|
22092
|
-
* @param {string} value
|
|
22093
|
-
* @returns {string[]} array of graphemes
|
|
22087
|
+
/**
|
|
22088
|
+
* Override this method to customize grapheme splitting
|
|
22089
|
+
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22090
|
+
* is more comfortable to inject the correct util rather than having to override text
|
|
22091
|
+
* in the middle of the prototype chain
|
|
22092
|
+
* @param {string} value
|
|
22093
|
+
* @returns {string[]} array of graphemes
|
|
22094
22094
|
*/
|
|
22095
22095
|
graphemeSplit(value) {
|
|
22096
22096
|
return graphemeSplit(value);
|
|
22097
22097
|
}
|
|
22098
22098
|
|
|
22099
|
-
/**
|
|
22100
|
-
* Returns the text as an array of lines.
|
|
22101
|
-
* @param {String} text text to split
|
|
22102
|
-
* @returns Lines in the text
|
|
22099
|
+
/**
|
|
22100
|
+
* Returns the text as an array of lines.
|
|
22101
|
+
* @param {String} text text to split
|
|
22102
|
+
* @returns Lines in the text
|
|
22103
22103
|
*/
|
|
22104
22104
|
_splitTextIntoLines(text) {
|
|
22105
22105
|
const lines = text.split(this._reNewline),
|
|
@@ -22125,18 +22125,18 @@
|
|
|
22125
22125
|
};
|
|
22126
22126
|
}
|
|
22127
22127
|
|
|
22128
|
-
/**
|
|
22129
|
-
* Check if text contains Arabic characters
|
|
22130
|
-
* @private
|
|
22128
|
+
/**
|
|
22129
|
+
* Check if text contains Arabic characters
|
|
22130
|
+
* @private
|
|
22131
22131
|
*/
|
|
22132
22132
|
_containsArabicText(text) {
|
|
22133
22133
|
return /[\u0600-\u06FF\u0750-\u077F\uFB50-\uFDFF\uFE70-\uFEFF]/.test(text);
|
|
22134
22134
|
}
|
|
22135
22135
|
|
|
22136
|
-
/**
|
|
22137
|
-
* Returns object representation of an instance
|
|
22138
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22139
|
-
* @return {Object} Object representation of an instance
|
|
22136
|
+
/**
|
|
22137
|
+
* Returns object representation of an instance
|
|
22138
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22139
|
+
* @return {Object} Object representation of an instance
|
|
22140
22140
|
*/
|
|
22141
22141
|
toObject() {
|
|
22142
22142
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -22179,23 +22179,23 @@
|
|
|
22179
22179
|
return this;
|
|
22180
22180
|
}
|
|
22181
22181
|
|
|
22182
|
-
/**
|
|
22183
|
-
* Returns complexity of an instance
|
|
22184
|
-
* @return {Number} complexity
|
|
22182
|
+
/**
|
|
22183
|
+
* Returns complexity of an instance
|
|
22184
|
+
* @return {Number} complexity
|
|
22185
22185
|
*/
|
|
22186
22186
|
complexity() {
|
|
22187
22187
|
return 1;
|
|
22188
22188
|
}
|
|
22189
22189
|
|
|
22190
|
-
/**
|
|
22191
|
-
* List of generic font families
|
|
22192
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22190
|
+
/**
|
|
22191
|
+
* List of generic font families
|
|
22192
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22193
22193
|
*/
|
|
22194
22194
|
|
|
22195
|
-
/**
|
|
22196
|
-
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22197
|
-
* @param {HTMLElement} element Element to parse
|
|
22198
|
-
* @param {Object} [options] Options object
|
|
22195
|
+
/**
|
|
22196
|
+
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22197
|
+
* @param {HTMLElement} element Element to parse
|
|
22198
|
+
* @param {Object} [options] Options object
|
|
22199
22199
|
*/
|
|
22200
22200
|
static async fromElement(element, options, cssRules) {
|
|
22201
22201
|
const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
|
|
@@ -22234,10 +22234,10 @@
|
|
|
22234
22234
|
scaledDiff = lineHeightDiff * textHeightScaleFactor,
|
|
22235
22235
|
textHeight = text.getScaledHeight() + scaledDiff;
|
|
22236
22236
|
let offX = 0;
|
|
22237
|
-
/*
|
|
22238
|
-
Adjust positioning:
|
|
22239
|
-
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22240
|
-
fabric output by default at top, left.
|
|
22237
|
+
/*
|
|
22238
|
+
Adjust positioning:
|
|
22239
|
+
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22240
|
+
fabric output by default at top, left.
|
|
22241
22241
|
*/
|
|
22242
22242
|
if (textAnchor === CENTER) {
|
|
22243
22243
|
offX = text.getScaledWidth() / 2;
|
|
@@ -22255,9 +22255,9 @@
|
|
|
22255
22255
|
|
|
22256
22256
|
/* _FROM_SVG_END_ */
|
|
22257
22257
|
|
|
22258
|
-
/**
|
|
22259
|
-
* Check if the font is ready for accurate measurements
|
|
22260
|
-
* @private
|
|
22258
|
+
/**
|
|
22259
|
+
* Check if the font is ready for accurate measurements
|
|
22260
|
+
* @private
|
|
22261
22261
|
*/
|
|
22262
22262
|
_isFontReady() {
|
|
22263
22263
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22270,9 +22270,9 @@
|
|
|
22270
22270
|
}
|
|
22271
22271
|
}
|
|
22272
22272
|
|
|
22273
|
-
/**
|
|
22274
|
-
* Schedule re-initialization after font loads
|
|
22275
|
-
* @private
|
|
22273
|
+
/**
|
|
22274
|
+
* Schedule re-initialization after font loads
|
|
22275
|
+
* @private
|
|
22276
22276
|
*/
|
|
22277
22277
|
_scheduleInitAfterFontLoad() {
|
|
22278
22278
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22308,8 +22308,8 @@
|
|
|
22308
22308
|
});
|
|
22309
22309
|
}
|
|
22310
22310
|
|
|
22311
|
-
/**
|
|
22312
|
-
* Force complete text re-initialization (useful after JSON loading)
|
|
22311
|
+
/**
|
|
22312
|
+
* Force complete text re-initialization (useful after JSON loading)
|
|
22313
22313
|
*/
|
|
22314
22314
|
forceTextReinitialization() {
|
|
22315
22315
|
console.log('🔄 Force reinitializing text object');
|
|
@@ -22337,10 +22337,10 @@
|
|
|
22337
22337
|
}
|
|
22338
22338
|
}
|
|
22339
22339
|
|
|
22340
|
-
/**
|
|
22341
|
-
* Returns FabricText instance from an object representation
|
|
22342
|
-
* @param {Object} object plain js Object to create an instance from
|
|
22343
|
-
* @returns {Promise<FabricText>}
|
|
22340
|
+
/**
|
|
22341
|
+
* Returns FabricText instance from an object representation
|
|
22342
|
+
* @param {Object} object plain js Object to create an instance from
|
|
22343
|
+
* @returns {Promise<FabricText>}
|
|
22344
22344
|
*/
|
|
22345
22345
|
static fromObject(object) {
|
|
22346
22346
|
return this._fromObject({
|
|
@@ -22438,10 +22438,10 @@
|
|
|
22438
22438
|
});
|
|
22439
22439
|
}
|
|
22440
22440
|
}
|
|
22441
|
-
/**
|
|
22442
|
-
* Properties that requires a text layout recalculation when changed
|
|
22443
|
-
* @type string[]
|
|
22444
|
-
* @protected
|
|
22441
|
+
/**
|
|
22442
|
+
* Properties that requires a text layout recalculation when changed
|
|
22443
|
+
* @type string[]
|
|
22444
|
+
* @protected
|
|
22445
22445
|
*/
|
|
22446
22446
|
_defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
|
|
22447
22447
|
_defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
|
|
@@ -22449,9 +22449,9 @@
|
|
|
22449
22449
|
_defineProperty(FabricText, "type", 'Text');
|
|
22450
22450
|
_defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
|
|
22451
22451
|
/* _FROM_SVG_START_ */
|
|
22452
|
-
/**
|
|
22453
|
-
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22454
|
-
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22452
|
+
/**
|
|
22453
|
+
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22454
|
+
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22455
22455
|
*/
|
|
22456
22456
|
_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'));
|
|
22457
22457
|
applyMixins(FabricText, [TextSVGExportMixin]);
|
|
@@ -22838,8 +22838,8 @@
|
|
|
22838
22838
|
// We don't need to save/restore them here as it would conflict with IText's restoration
|
|
22839
22839
|
}
|
|
22840
22840
|
|
|
22841
|
-
/**
|
|
22842
|
-
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22841
|
+
/**
|
|
22842
|
+
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22843
22843
|
*/
|
|
22844
22844
|
getCanvasContainer() {
|
|
22845
22845
|
const upperCanvas = this.canvas.upperCanvasEl;
|
|
@@ -22853,8 +22853,8 @@
|
|
|
22853
22853
|
return container;
|
|
22854
22854
|
}
|
|
22855
22855
|
|
|
22856
|
-
/**
|
|
22857
|
-
* Create the overlay DOM structure
|
|
22856
|
+
/**
|
|
22857
|
+
* Create the overlay DOM structure
|
|
22858
22858
|
*/
|
|
22859
22859
|
createOverlayDOM() {
|
|
22860
22860
|
// Host div for positioning and overflow control
|
|
@@ -22909,8 +22909,8 @@
|
|
|
22909
22909
|
document.body.appendChild(this.hostDiv);
|
|
22910
22910
|
}
|
|
22911
22911
|
|
|
22912
|
-
/**
|
|
22913
|
-
* Attach all event listeners
|
|
22912
|
+
/**
|
|
22913
|
+
* Attach all event listeners
|
|
22914
22914
|
*/
|
|
22915
22915
|
attachEventListeners() {
|
|
22916
22916
|
// Textarea events
|
|
@@ -22930,8 +22930,8 @@
|
|
|
22930
22930
|
this.setupViewportChangeDetection();
|
|
22931
22931
|
}
|
|
22932
22932
|
|
|
22933
|
-
/**
|
|
22934
|
-
* Remove all event listeners
|
|
22933
|
+
/**
|
|
22934
|
+
* Remove all event listeners
|
|
22935
22935
|
*/
|
|
22936
22936
|
removeEventListeners() {
|
|
22937
22937
|
this.textarea.removeEventListener('input', this.boundHandlers.onInput);
|
|
@@ -22948,16 +22948,16 @@
|
|
|
22948
22948
|
this.restoreViewportChangeDetection();
|
|
22949
22949
|
}
|
|
22950
22950
|
|
|
22951
|
-
/**
|
|
22952
|
-
* Simple method to refresh positioning when canvas changes
|
|
22951
|
+
/**
|
|
22952
|
+
* Simple method to refresh positioning when canvas changes
|
|
22953
22953
|
*/
|
|
22954
22954
|
updatePosition() {
|
|
22955
22955
|
this.applyOverlayStyle();
|
|
22956
22956
|
}
|
|
22957
22957
|
|
|
22958
|
-
/**
|
|
22959
|
-
* Update the Fabric object bounds to match current textarea size
|
|
22960
|
-
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22958
|
+
/**
|
|
22959
|
+
* Update the Fabric object bounds to match current textarea size
|
|
22960
|
+
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22961
22961
|
*/
|
|
22962
22962
|
updateObjectBounds() {
|
|
22963
22963
|
if (this.isDestroyed) return;
|
|
@@ -22991,15 +22991,15 @@
|
|
|
22991
22991
|
}
|
|
22992
22992
|
}
|
|
22993
22993
|
|
|
22994
|
-
/**
|
|
22995
|
-
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22994
|
+
/**
|
|
22995
|
+
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22996
22996
|
*/
|
|
22997
22997
|
letterSpacingPx(charSpacing, fontSize) {
|
|
22998
22998
|
return charSpacing / 1000 * fontSize;
|
|
22999
22999
|
}
|
|
23000
23000
|
|
|
23001
|
-
/**
|
|
23002
|
-
* Detect text direction using first strong directional character
|
|
23001
|
+
/**
|
|
23002
|
+
* Detect text direction using first strong directional character
|
|
23003
23003
|
*/
|
|
23004
23004
|
firstStrongDir(text) {
|
|
23005
23005
|
// Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
|
|
@@ -23236,8 +23236,8 @@
|
|
|
23236
23236
|
// Initial bounds are set correctly by Fabric.js - don't force update here
|
|
23237
23237
|
}
|
|
23238
23238
|
|
|
23239
|
-
/**
|
|
23240
|
-
* Debug method to compare textarea and canvas object bounding boxes
|
|
23239
|
+
/**
|
|
23240
|
+
* Debug method to compare textarea and canvas object bounding boxes
|
|
23241
23241
|
*/
|
|
23242
23242
|
debugBoundingBoxComparison() {
|
|
23243
23243
|
const target = this.target;
|
|
@@ -23307,8 +23307,8 @@
|
|
|
23307
23307
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23308
23308
|
}
|
|
23309
23309
|
|
|
23310
|
-
/**
|
|
23311
|
-
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23310
|
+
/**
|
|
23311
|
+
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23312
23312
|
*/
|
|
23313
23313
|
debugTextWrapping() {
|
|
23314
23314
|
const target = this.target;
|
|
@@ -23393,8 +23393,8 @@
|
|
|
23393
23393
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23394
23394
|
}
|
|
23395
23395
|
|
|
23396
|
-
/**
|
|
23397
|
-
* Focus the textarea and position cursor at end
|
|
23396
|
+
/**
|
|
23397
|
+
* Focus the textarea and position cursor at end
|
|
23398
23398
|
*/
|
|
23399
23399
|
focusTextarea() {
|
|
23400
23400
|
// For overlay editing, we want to keep the object in "selection mode" not "editing mode"
|
|
@@ -23434,8 +23434,8 @@
|
|
|
23434
23434
|
this.canvas.requestRenderAll();
|
|
23435
23435
|
}
|
|
23436
23436
|
|
|
23437
|
-
/**
|
|
23438
|
-
* Refresh overlay positioning and styling
|
|
23437
|
+
/**
|
|
23438
|
+
* Refresh overlay positioning and styling
|
|
23439
23439
|
*/
|
|
23440
23440
|
refresh() {
|
|
23441
23441
|
if (this.isDestroyed) return;
|
|
@@ -23443,8 +23443,8 @@
|
|
|
23443
23443
|
// Don't update object bounds on every refresh - only when textarea actually resizes
|
|
23444
23444
|
}
|
|
23445
23445
|
|
|
23446
|
-
/**
|
|
23447
|
-
* Destroy the overlay editor
|
|
23446
|
+
/**
|
|
23447
|
+
* Destroy the overlay editor
|
|
23448
23448
|
*/
|
|
23449
23449
|
destroy() {
|
|
23450
23450
|
let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -23612,8 +23612,8 @@
|
|
|
23612
23612
|
}
|
|
23613
23613
|
}
|
|
23614
23614
|
|
|
23615
|
-
/**
|
|
23616
|
-
* Setup detection for viewport changes (zoom/pan)
|
|
23615
|
+
/**
|
|
23616
|
+
* Setup detection for viewport changes (zoom/pan)
|
|
23617
23617
|
*/
|
|
23618
23618
|
setupViewportChangeDetection() {
|
|
23619
23619
|
// Store original methods
|
|
@@ -23642,8 +23642,8 @@
|
|
|
23642
23642
|
};
|
|
23643
23643
|
}
|
|
23644
23644
|
|
|
23645
|
-
/**
|
|
23646
|
-
* Restore original viewport methods
|
|
23645
|
+
/**
|
|
23646
|
+
* Restore original viewport methods
|
|
23647
23647
|
*/
|
|
23648
23648
|
restoreViewportChangeDetection() {
|
|
23649
23649
|
if (this.canvas.__originalSetZoom) {
|
|
@@ -23658,8 +23658,8 @@
|
|
|
23658
23658
|
}
|
|
23659
23659
|
}
|
|
23660
23660
|
|
|
23661
|
-
/**
|
|
23662
|
-
* Enter overlay text editing mode for a text object
|
|
23661
|
+
/**
|
|
23662
|
+
* Enter overlay text editing mode for a text object
|
|
23663
23663
|
*/
|
|
23664
23664
|
function enterTextOverlayEdit(canvas, target, options) {
|
|
23665
23665
|
// If already in overlay editing, destroy existing editor first
|
|
@@ -23683,35 +23683,35 @@
|
|
|
23683
23683
|
return editor;
|
|
23684
23684
|
}
|
|
23685
23685
|
|
|
23686
|
-
/**
|
|
23687
|
-
* extend this regex to support non english languages
|
|
23688
|
-
*
|
|
23689
|
-
* - ` ` Matches a SPACE character (char code 32).
|
|
23690
|
-
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23691
|
-
* - `.` Matches a "." character (char code 46).
|
|
23692
|
-
* - `,` Matches a "," character (char code 44).
|
|
23693
|
-
* - `;` Matches a ";" character (char code 59).
|
|
23694
|
-
* - `!` Matches a "!" character (char code 33).
|
|
23695
|
-
* - `\?` Matches a "?" character (char code 63).
|
|
23696
|
-
* - `\-` Matches a "-" character (char code 45).
|
|
23686
|
+
/**
|
|
23687
|
+
* extend this regex to support non english languages
|
|
23688
|
+
*
|
|
23689
|
+
* - ` ` Matches a SPACE character (char code 32).
|
|
23690
|
+
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23691
|
+
* - `.` Matches a "." character (char code 46).
|
|
23692
|
+
* - `,` Matches a "," character (char code 44).
|
|
23693
|
+
* - `;` Matches a ";" character (char code 59).
|
|
23694
|
+
* - `!` Matches a "!" character (char code 33).
|
|
23695
|
+
* - `\?` Matches a "?" character (char code 63).
|
|
23696
|
+
* - `\-` Matches a "-" character (char code 45).
|
|
23697
23697
|
*/
|
|
23698
23698
|
// eslint-disable-next-line no-useless-escape
|
|
23699
23699
|
const reNonWord = /[ \n\.,;!\?\-]/;
|
|
23700
23700
|
class ITextBehavior extends FabricText {
|
|
23701
23701
|
constructor() {
|
|
23702
23702
|
super(...arguments);
|
|
23703
|
-
/**
|
|
23704
|
-
* Helps determining when the text is in composition, so that the cursor
|
|
23705
|
-
* rendering is altered.
|
|
23703
|
+
/**
|
|
23704
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
23705
|
+
* rendering is altered.
|
|
23706
23706
|
*/
|
|
23707
23707
|
_defineProperty(this, "_currentCursorOpacity", 1);
|
|
23708
23708
|
}
|
|
23709
|
-
/**
|
|
23710
|
-
* Keeps track if the IText object was selected before the actual click.
|
|
23711
|
-
* This because we want to delay enter editing by a click.
|
|
23709
|
+
/**
|
|
23710
|
+
* Keeps track if the IText object was selected before the actual click.
|
|
23711
|
+
* This because we want to delay enter editing by a click.
|
|
23712
23712
|
*/
|
|
23713
|
-
/**
|
|
23714
|
-
* Initializes all the interactive behavior of IText
|
|
23713
|
+
/**
|
|
23714
|
+
* Initializes all the interactive behavior of IText
|
|
23715
23715
|
*/
|
|
23716
23716
|
initBehavior() {
|
|
23717
23717
|
this._tick = this._tick.bind(this);
|
|
@@ -23724,8 +23724,8 @@
|
|
|
23724
23724
|
return super.onDeselect(options);
|
|
23725
23725
|
}
|
|
23726
23726
|
|
|
23727
|
-
/**
|
|
23728
|
-
* @private
|
|
23727
|
+
/**
|
|
23728
|
+
* @private
|
|
23729
23729
|
*/
|
|
23730
23730
|
_animateCursor(_ref) {
|
|
23731
23731
|
let {
|
|
@@ -23750,8 +23750,8 @@
|
|
|
23750
23750
|
});
|
|
23751
23751
|
}
|
|
23752
23752
|
|
|
23753
|
-
/**
|
|
23754
|
-
* changes the cursor from visible to invisible
|
|
23753
|
+
/**
|
|
23754
|
+
* changes the cursor from visible to invisible
|
|
23755
23755
|
*/
|
|
23756
23756
|
_tick(delay) {
|
|
23757
23757
|
this._currentTickState = this._animateCursor({
|
|
@@ -23762,8 +23762,8 @@
|
|
|
23762
23762
|
});
|
|
23763
23763
|
}
|
|
23764
23764
|
|
|
23765
|
-
/**
|
|
23766
|
-
* Changes the cursor from invisible to visible
|
|
23765
|
+
/**
|
|
23766
|
+
* Changes the cursor from invisible to visible
|
|
23767
23767
|
*/
|
|
23768
23768
|
_onTickComplete() {
|
|
23769
23769
|
var _this$_currentTickCom;
|
|
@@ -23775,16 +23775,16 @@
|
|
|
23775
23775
|
});
|
|
23776
23776
|
}
|
|
23777
23777
|
|
|
23778
|
-
/**
|
|
23779
|
-
* Initializes delayed cursor
|
|
23778
|
+
/**
|
|
23779
|
+
* Initializes delayed cursor
|
|
23780
23780
|
*/
|
|
23781
23781
|
initDelayedCursor(restart) {
|
|
23782
23782
|
this.abortCursorAnimation();
|
|
23783
23783
|
this._tick(restart ? 0 : this.cursorDelay);
|
|
23784
23784
|
}
|
|
23785
23785
|
|
|
23786
|
-
/**
|
|
23787
|
-
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23786
|
+
/**
|
|
23787
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23788
23788
|
*/
|
|
23789
23789
|
abortCursorAnimation() {
|
|
23790
23790
|
let shouldClear = false;
|
|
@@ -23802,9 +23802,9 @@
|
|
|
23802
23802
|
}
|
|
23803
23803
|
}
|
|
23804
23804
|
|
|
23805
|
-
/**
|
|
23806
|
-
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23807
|
-
* or if it never started before
|
|
23805
|
+
/**
|
|
23806
|
+
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23807
|
+
* or if it never started before
|
|
23808
23808
|
*/
|
|
23809
23809
|
restartCursorIfNeeded() {
|
|
23810
23810
|
if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
|
|
@@ -23812,8 +23812,8 @@
|
|
|
23812
23812
|
}
|
|
23813
23813
|
}
|
|
23814
23814
|
|
|
23815
|
-
/**
|
|
23816
|
-
* Selects entire text
|
|
23815
|
+
/**
|
|
23816
|
+
* Selects entire text
|
|
23817
23817
|
*/
|
|
23818
23818
|
selectAll() {
|
|
23819
23819
|
this.selectionStart = 0;
|
|
@@ -23823,26 +23823,26 @@
|
|
|
23823
23823
|
return this;
|
|
23824
23824
|
}
|
|
23825
23825
|
|
|
23826
|
-
/**
|
|
23827
|
-
* Selects entire text and updates the visual state
|
|
23826
|
+
/**
|
|
23827
|
+
* Selects entire text and updates the visual state
|
|
23828
23828
|
*/
|
|
23829
23829
|
cmdAll() {
|
|
23830
23830
|
this.selectAll();
|
|
23831
23831
|
this.renderCursorOrSelection();
|
|
23832
23832
|
}
|
|
23833
23833
|
|
|
23834
|
-
/**
|
|
23835
|
-
* Returns selected text
|
|
23836
|
-
* @return {String}
|
|
23834
|
+
/**
|
|
23835
|
+
* Returns selected text
|
|
23836
|
+
* @return {String}
|
|
23837
23837
|
*/
|
|
23838
23838
|
getSelectedText() {
|
|
23839
23839
|
return this._text.slice(this.selectionStart, this.selectionEnd).join('');
|
|
23840
23840
|
}
|
|
23841
23841
|
|
|
23842
|
-
/**
|
|
23843
|
-
* Find new selection index representing start of current word according to current selection index
|
|
23844
|
-
* @param {Number} startFrom Current selection index
|
|
23845
|
-
* @return {Number} New selection index
|
|
23842
|
+
/**
|
|
23843
|
+
* Find new selection index representing start of current word according to current selection index
|
|
23844
|
+
* @param {Number} startFrom Current selection index
|
|
23845
|
+
* @return {Number} New selection index
|
|
23846
23846
|
*/
|
|
23847
23847
|
findWordBoundaryLeft(startFrom) {
|
|
23848
23848
|
let offset = 0,
|
|
@@ -23862,10 +23862,10 @@
|
|
|
23862
23862
|
return startFrom - offset;
|
|
23863
23863
|
}
|
|
23864
23864
|
|
|
23865
|
-
/**
|
|
23866
|
-
* Find new selection index representing end of current word according to current selection index
|
|
23867
|
-
* @param {Number} startFrom Current selection index
|
|
23868
|
-
* @return {Number} New selection index
|
|
23865
|
+
/**
|
|
23866
|
+
* Find new selection index representing end of current word according to current selection index
|
|
23867
|
+
* @param {Number} startFrom Current selection index
|
|
23868
|
+
* @return {Number} New selection index
|
|
23869
23869
|
*/
|
|
23870
23870
|
findWordBoundaryRight(startFrom) {
|
|
23871
23871
|
let offset = 0,
|
|
@@ -23885,10 +23885,10 @@
|
|
|
23885
23885
|
return startFrom + offset;
|
|
23886
23886
|
}
|
|
23887
23887
|
|
|
23888
|
-
/**
|
|
23889
|
-
* Find new selection index representing start of current line according to current selection index
|
|
23890
|
-
* @param {Number} startFrom Current selection index
|
|
23891
|
-
* @return {Number} New selection index
|
|
23888
|
+
/**
|
|
23889
|
+
* Find new selection index representing start of current line according to current selection index
|
|
23890
|
+
* @param {Number} startFrom Current selection index
|
|
23891
|
+
* @return {Number} New selection index
|
|
23892
23892
|
*/
|
|
23893
23893
|
findLineBoundaryLeft(startFrom) {
|
|
23894
23894
|
let offset = 0,
|
|
@@ -23900,10 +23900,10 @@
|
|
|
23900
23900
|
return startFrom - offset;
|
|
23901
23901
|
}
|
|
23902
23902
|
|
|
23903
|
-
/**
|
|
23904
|
-
* Find new selection index representing end of current line according to current selection index
|
|
23905
|
-
* @param {Number} startFrom Current selection index
|
|
23906
|
-
* @return {Number} New selection index
|
|
23903
|
+
/**
|
|
23904
|
+
* Find new selection index representing end of current line according to current selection index
|
|
23905
|
+
* @param {Number} startFrom Current selection index
|
|
23906
|
+
* @return {Number} New selection index
|
|
23907
23907
|
*/
|
|
23908
23908
|
findLineBoundaryRight(startFrom) {
|
|
23909
23909
|
let offset = 0,
|
|
@@ -23915,11 +23915,11 @@
|
|
|
23915
23915
|
return startFrom + offset;
|
|
23916
23916
|
}
|
|
23917
23917
|
|
|
23918
|
-
/**
|
|
23919
|
-
* Finds index corresponding to beginning or end of a word
|
|
23920
|
-
* @param {Number} selectionStart Index of a character
|
|
23921
|
-
* @param {Number} direction 1 or -1
|
|
23922
|
-
* @return {Number} Index of the beginning or end of a word
|
|
23918
|
+
/**
|
|
23919
|
+
* Finds index corresponding to beginning or end of a word
|
|
23920
|
+
* @param {Number} selectionStart Index of a character
|
|
23921
|
+
* @param {Number} direction 1 or -1
|
|
23922
|
+
* @return {Number} Index of the beginning or end of a word
|
|
23923
23923
|
*/
|
|
23924
23924
|
searchWordBoundary(selectionStart, direction) {
|
|
23925
23925
|
const text = this._text;
|
|
@@ -23937,9 +23937,9 @@
|
|
|
23937
23937
|
return index;
|
|
23938
23938
|
}
|
|
23939
23939
|
|
|
23940
|
-
/**
|
|
23941
|
-
* Selects the word that contains the char at index selectionStart
|
|
23942
|
-
* @param {Number} selectionStart Index of a character
|
|
23940
|
+
/**
|
|
23941
|
+
* Selects the word that contains the char at index selectionStart
|
|
23942
|
+
* @param {Number} selectionStart Index of a character
|
|
23943
23943
|
*/
|
|
23944
23944
|
selectWord(selectionStart) {
|
|
23945
23945
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23955,9 +23955,9 @@
|
|
|
23955
23955
|
this.renderCursorOrSelection();
|
|
23956
23956
|
}
|
|
23957
23957
|
|
|
23958
|
-
/**
|
|
23959
|
-
* Selects the line that contains selectionStart
|
|
23960
|
-
* @param {Number} selectionStart Index of a character
|
|
23958
|
+
/**
|
|
23959
|
+
* Selects the line that contains selectionStart
|
|
23960
|
+
* @param {Number} selectionStart Index of a character
|
|
23961
23961
|
*/
|
|
23962
23962
|
selectLine(selectionStart) {
|
|
23963
23963
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23969,8 +23969,8 @@
|
|
|
23969
23969
|
this._updateTextarea();
|
|
23970
23970
|
}
|
|
23971
23971
|
|
|
23972
|
-
/**
|
|
23973
|
-
* Enters editing state
|
|
23972
|
+
/**
|
|
23973
|
+
* Enters editing state
|
|
23974
23974
|
*/
|
|
23975
23975
|
enterEditing(e) {
|
|
23976
23976
|
if (this.isEditing || !this.editable) {
|
|
@@ -23990,8 +23990,8 @@
|
|
|
23990
23990
|
}
|
|
23991
23991
|
}
|
|
23992
23992
|
|
|
23993
|
-
/**
|
|
23994
|
-
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23993
|
+
/**
|
|
23994
|
+
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23995
23995
|
*/
|
|
23996
23996
|
enterEditingImpl() {
|
|
23997
23997
|
if (this.canvas) {
|
|
@@ -24015,8 +24015,8 @@
|
|
|
24015
24015
|
}
|
|
24016
24016
|
}
|
|
24017
24017
|
|
|
24018
|
-
/**
|
|
24019
|
-
* Enter overlay editing mode using DOM textarea overlay
|
|
24018
|
+
/**
|
|
24019
|
+
* Enter overlay editing mode using DOM textarea overlay
|
|
24020
24020
|
*/
|
|
24021
24021
|
enterOverlayEditing() {
|
|
24022
24022
|
this._saveEditingProps();
|
|
@@ -24037,8 +24037,8 @@
|
|
|
24037
24037
|
});
|
|
24038
24038
|
}
|
|
24039
24039
|
|
|
24040
|
-
/**
|
|
24041
|
-
* Commit overlay editing changes
|
|
24040
|
+
/**
|
|
24041
|
+
* Commit overlay editing changes
|
|
24042
24042
|
*/
|
|
24043
24043
|
commitOverlayEdit(text) {
|
|
24044
24044
|
const overlayEditor = this.__overlayEditor;
|
|
@@ -24062,8 +24062,8 @@
|
|
|
24062
24062
|
this.canvas && this.canvas.requestRenderAll();
|
|
24063
24063
|
}
|
|
24064
24064
|
|
|
24065
|
-
/**
|
|
24066
|
-
* Cancel overlay editing without changes
|
|
24065
|
+
/**
|
|
24066
|
+
* Cancel overlay editing without changes
|
|
24067
24067
|
*/
|
|
24068
24068
|
cancelOverlayEdit() {
|
|
24069
24069
|
// Restore original text
|
|
@@ -24071,8 +24071,8 @@
|
|
|
24071
24071
|
this.exitEditing();
|
|
24072
24072
|
}
|
|
24073
24073
|
|
|
24074
|
-
/**
|
|
24075
|
-
* called by {@link Canvas#textEditingManager}
|
|
24074
|
+
/**
|
|
24075
|
+
* called by {@link Canvas#textEditingManager}
|
|
24076
24076
|
*/
|
|
24077
24077
|
updateSelectionOnMouseMove(e) {
|
|
24078
24078
|
if (this.getActiveControl()) {
|
|
@@ -24100,8 +24100,8 @@
|
|
|
24100
24100
|
}
|
|
24101
24101
|
}
|
|
24102
24102
|
|
|
24103
|
-
/**
|
|
24104
|
-
* @private
|
|
24103
|
+
/**
|
|
24104
|
+
* @private
|
|
24105
24105
|
*/
|
|
24106
24106
|
_setEditingProps() {
|
|
24107
24107
|
this.hoverCursor = 'text';
|
|
@@ -24113,8 +24113,8 @@
|
|
|
24113
24113
|
this.lockMovementX = this.lockMovementY = true;
|
|
24114
24114
|
}
|
|
24115
24115
|
|
|
24116
|
-
/**
|
|
24117
|
-
* convert from textarea to grapheme indexes
|
|
24116
|
+
/**
|
|
24117
|
+
* convert from textarea to grapheme indexes
|
|
24118
24118
|
*/
|
|
24119
24119
|
fromStringToGraphemeSelection(start, end, text) {
|
|
24120
24120
|
const smallerTextStart = text.slice(0, start),
|
|
@@ -24133,8 +24133,8 @@
|
|
|
24133
24133
|
};
|
|
24134
24134
|
}
|
|
24135
24135
|
|
|
24136
|
-
/**
|
|
24137
|
-
* convert from fabric to textarea values
|
|
24136
|
+
/**
|
|
24137
|
+
* convert from fabric to textarea values
|
|
24138
24138
|
*/
|
|
24139
24139
|
fromGraphemeToStringSelection(start, end, graphemes) {
|
|
24140
24140
|
const smallerTextStart = graphemes.slice(0, start),
|
|
@@ -24153,14 +24153,24 @@
|
|
|
24153
24153
|
};
|
|
24154
24154
|
}
|
|
24155
24155
|
|
|
24156
|
-
/**
|
|
24157
|
-
* @private
|
|
24156
|
+
/**
|
|
24157
|
+
* @private
|
|
24158
24158
|
*/
|
|
24159
24159
|
_updateTextarea() {
|
|
24160
|
+
console.log('🔤 _updateTextarea called with fabric text:', this.text);
|
|
24160
24161
|
this.cursorOffsetCache = {};
|
|
24161
24162
|
if (!this.hiddenTextarea) {
|
|
24162
24163
|
return;
|
|
24163
24164
|
}
|
|
24165
|
+
|
|
24166
|
+
// Sync textarea content with fabric text to prevent double-keypress issues
|
|
24167
|
+
const currentFabricText = this.text;
|
|
24168
|
+
if (this.hiddenTextarea.value !== currentFabricText) {
|
|
24169
|
+
console.log('🔤 _updateTextarea: syncing textarea to fabric text');
|
|
24170
|
+
console.log('🔤 _updateTextarea: textarea was:', this.hiddenTextarea.value);
|
|
24171
|
+
console.log('🔤 _updateTextarea: fabric is:', currentFabricText);
|
|
24172
|
+
this.hiddenTextarea.value = currentFabricText;
|
|
24173
|
+
}
|
|
24164
24174
|
if (!this.inCompositionMode) {
|
|
24165
24175
|
const newSelection = this.fromGraphemeToStringSelection(this.selectionStart, this.selectionEnd, this._text);
|
|
24166
24176
|
this.hiddenTextarea.selectionStart = newSelection.selectionStart;
|
|
@@ -24169,8 +24179,8 @@
|
|
|
24169
24179
|
this.updateTextareaPosition();
|
|
24170
24180
|
}
|
|
24171
24181
|
|
|
24172
|
-
/**
|
|
24173
|
-
* @private
|
|
24182
|
+
/**
|
|
24183
|
+
* @private
|
|
24174
24184
|
*/
|
|
24175
24185
|
updateFromTextArea() {
|
|
24176
24186
|
if (!this.hiddenTextarea) {
|
|
@@ -24190,8 +24200,8 @@
|
|
|
24190
24200
|
this.updateTextareaPosition();
|
|
24191
24201
|
}
|
|
24192
24202
|
|
|
24193
|
-
/**
|
|
24194
|
-
* @private
|
|
24203
|
+
/**
|
|
24204
|
+
* @private
|
|
24195
24205
|
*/
|
|
24196
24206
|
updateTextareaPosition() {
|
|
24197
24207
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -24201,9 +24211,9 @@
|
|
|
24201
24211
|
}
|
|
24202
24212
|
}
|
|
24203
24213
|
|
|
24204
|
-
/**
|
|
24205
|
-
* @private
|
|
24206
|
-
* @return {Object} style contains style for hiddenTextarea
|
|
24214
|
+
/**
|
|
24215
|
+
* @private
|
|
24216
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
24207
24217
|
*/
|
|
24208
24218
|
_calcTextareaPosition() {
|
|
24209
24219
|
if (!this.canvas) {
|
|
@@ -24250,8 +24260,8 @@
|
|
|
24250
24260
|
};
|
|
24251
24261
|
}
|
|
24252
24262
|
|
|
24253
|
-
/**
|
|
24254
|
-
* @private
|
|
24263
|
+
/**
|
|
24264
|
+
* @private
|
|
24255
24265
|
*/
|
|
24256
24266
|
_saveEditingProps() {
|
|
24257
24267
|
this._savedProps = {
|
|
@@ -24268,8 +24278,8 @@
|
|
|
24268
24278
|
};
|
|
24269
24279
|
}
|
|
24270
24280
|
|
|
24271
|
-
/**
|
|
24272
|
-
* @private
|
|
24281
|
+
/**
|
|
24282
|
+
* @private
|
|
24273
24283
|
*/
|
|
24274
24284
|
_restoreEditingProps() {
|
|
24275
24285
|
if (!this._savedProps) {
|
|
@@ -24289,9 +24299,9 @@
|
|
|
24289
24299
|
delete this._savedProps;
|
|
24290
24300
|
}
|
|
24291
24301
|
|
|
24292
|
-
/**
|
|
24293
|
-
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24294
|
-
* But it does not fire events
|
|
24302
|
+
/**
|
|
24303
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24304
|
+
* But it does not fire events
|
|
24295
24305
|
*/
|
|
24296
24306
|
exitEditingImpl() {
|
|
24297
24307
|
const hiddenTextarea = this.hiddenTextarea;
|
|
@@ -24312,8 +24322,8 @@
|
|
|
24312
24322
|
}
|
|
24313
24323
|
}
|
|
24314
24324
|
|
|
24315
|
-
/**
|
|
24316
|
-
* Exits from editing state and fires relevant events
|
|
24325
|
+
/**
|
|
24326
|
+
* Exits from editing state and fires relevant events
|
|
24317
24327
|
*/
|
|
24318
24328
|
exitEditing() {
|
|
24319
24329
|
const isTextChanged = this._textBeforeEdit !== this.text;
|
|
@@ -24332,8 +24342,8 @@
|
|
|
24332
24342
|
return this;
|
|
24333
24343
|
}
|
|
24334
24344
|
|
|
24335
|
-
/**
|
|
24336
|
-
* @private
|
|
24345
|
+
/**
|
|
24346
|
+
* @private
|
|
24337
24347
|
*/
|
|
24338
24348
|
_removeExtraneousStyles() {
|
|
24339
24349
|
for (const prop in this.styles) {
|
|
@@ -24343,10 +24353,10 @@
|
|
|
24343
24353
|
}
|
|
24344
24354
|
}
|
|
24345
24355
|
|
|
24346
|
-
/**
|
|
24347
|
-
* remove and reflow a style block from start to end.
|
|
24348
|
-
* @param {Number} start linear start position for removal (included in removal)
|
|
24349
|
-
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24356
|
+
/**
|
|
24357
|
+
* remove and reflow a style block from start to end.
|
|
24358
|
+
* @param {Number} start linear start position for removal (included in removal)
|
|
24359
|
+
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24350
24360
|
*/
|
|
24351
24361
|
removeStyleFromTo(start, end) {
|
|
24352
24362
|
const {
|
|
@@ -24399,10 +24409,10 @@
|
|
|
24399
24409
|
}
|
|
24400
24410
|
}
|
|
24401
24411
|
|
|
24402
|
-
/**
|
|
24403
|
-
* Shifts line styles up or down
|
|
24404
|
-
* @param {Number} lineIndex Index of a line
|
|
24405
|
-
* @param {Number} offset Can any number?
|
|
24412
|
+
/**
|
|
24413
|
+
* Shifts line styles up or down
|
|
24414
|
+
* @param {Number} lineIndex Index of a line
|
|
24415
|
+
* @param {Number} offset Can any number?
|
|
24406
24416
|
*/
|
|
24407
24417
|
shiftLineStyles(lineIndex, offset) {
|
|
24408
24418
|
const clonedStyles = Object.assign({}, this.styles);
|
|
@@ -24417,15 +24427,15 @@
|
|
|
24417
24427
|
}
|
|
24418
24428
|
}
|
|
24419
24429
|
|
|
24420
|
-
/**
|
|
24421
|
-
* Handle insertion of more consecutive style lines for when one or more
|
|
24422
|
-
* newlines gets added to the text. Since current style needs to be shifted
|
|
24423
|
-
* first we shift the current style of the number lines needed, then we add
|
|
24424
|
-
* new lines from the last to the first.
|
|
24425
|
-
* @param {Number} lineIndex Index of a line
|
|
24426
|
-
* @param {Number} charIndex Index of a char
|
|
24427
|
-
* @param {Number} qty number of lines to add
|
|
24428
|
-
* @param {Array} copiedStyle Array of objects styles
|
|
24430
|
+
/**
|
|
24431
|
+
* Handle insertion of more consecutive style lines for when one or more
|
|
24432
|
+
* newlines gets added to the text. Since current style needs to be shifted
|
|
24433
|
+
* first we shift the current style of the number lines needed, then we add
|
|
24434
|
+
* new lines from the last to the first.
|
|
24435
|
+
* @param {Number} lineIndex Index of a line
|
|
24436
|
+
* @param {Number} charIndex Index of a char
|
|
24437
|
+
* @param {Number} qty number of lines to add
|
|
24438
|
+
* @param {Array} copiedStyle Array of objects styles
|
|
24429
24439
|
*/
|
|
24430
24440
|
insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
|
|
24431
24441
|
const newLineStyles = {};
|
|
@@ -24485,12 +24495,12 @@
|
|
|
24485
24495
|
this._forceClearCache = true;
|
|
24486
24496
|
}
|
|
24487
24497
|
|
|
24488
|
-
/**
|
|
24489
|
-
* Inserts style object for a given line/char index
|
|
24490
|
-
* @param {Number} lineIndex Index of a line
|
|
24491
|
-
* @param {Number} charIndex Index of a char
|
|
24492
|
-
* @param {Number} quantity number Style object to insert, if given
|
|
24493
|
-
* @param {Array} copiedStyle array of style objects
|
|
24498
|
+
/**
|
|
24499
|
+
* Inserts style object for a given line/char index
|
|
24500
|
+
* @param {Number} lineIndex Index of a line
|
|
24501
|
+
* @param {Number} charIndex Index of a char
|
|
24502
|
+
* @param {Number} quantity number Style object to insert, if given
|
|
24503
|
+
* @param {Array} copiedStyle array of style objects
|
|
24494
24504
|
*/
|
|
24495
24505
|
insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
|
|
24496
24506
|
if (!this.styles) {
|
|
@@ -24539,11 +24549,11 @@
|
|
|
24539
24549
|
}
|
|
24540
24550
|
}
|
|
24541
24551
|
|
|
24542
|
-
/**
|
|
24543
|
-
* Inserts style object(s)
|
|
24544
|
-
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24545
|
-
* @param {Number} start cursor index for inserting style
|
|
24546
|
-
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24552
|
+
/**
|
|
24553
|
+
* Inserts style object(s)
|
|
24554
|
+
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24555
|
+
* @param {Number} start cursor index for inserting style
|
|
24556
|
+
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24547
24557
|
*/
|
|
24548
24558
|
insertNewStyleBlock(insertedText, start, copiedStyle) {
|
|
24549
24559
|
const cursorLoc = this.get2DCursorLocation(start, true),
|
|
@@ -24584,12 +24594,12 @@
|
|
|
24584
24594
|
}
|
|
24585
24595
|
}
|
|
24586
24596
|
|
|
24587
|
-
/**
|
|
24588
|
-
* Removes characters from start/end
|
|
24589
|
-
* start/end ar per grapheme position in _text array.
|
|
24590
|
-
*
|
|
24591
|
-
* @param {Number} start
|
|
24592
|
-
* @param {Number} end default to start + 1
|
|
24597
|
+
/**
|
|
24598
|
+
* Removes characters from start/end
|
|
24599
|
+
* start/end ar per grapheme position in _text array.
|
|
24600
|
+
*
|
|
24601
|
+
* @param {Number} start
|
|
24602
|
+
* @param {Number} end default to start + 1
|
|
24593
24603
|
*/
|
|
24594
24604
|
removeChars(start) {
|
|
24595
24605
|
let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
|
|
@@ -24602,17 +24612,17 @@
|
|
|
24602
24612
|
this._removeExtraneousStyles();
|
|
24603
24613
|
}
|
|
24604
24614
|
|
|
24605
|
-
/**
|
|
24606
|
-
* insert characters at start position, before start position.
|
|
24607
|
-
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24608
|
-
* if style array is provided, it must be as the same length of text in graphemes
|
|
24609
|
-
* if end is provided and is bigger than start, old text is replaced.
|
|
24610
|
-
* start/end ar per grapheme position in _text array.
|
|
24611
|
-
*
|
|
24612
|
-
* @param {String} text text to insert
|
|
24613
|
-
* @param {Array} style array of style objects
|
|
24614
|
-
* @param {Number} start
|
|
24615
|
-
* @param {Number} end default to start + 1
|
|
24615
|
+
/**
|
|
24616
|
+
* insert characters at start position, before start position.
|
|
24617
|
+
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24618
|
+
* if style array is provided, it must be as the same length of text in graphemes
|
|
24619
|
+
* if end is provided and is bigger than start, old text is replaced.
|
|
24620
|
+
* start/end ar per grapheme position in _text array.
|
|
24621
|
+
*
|
|
24622
|
+
* @param {String} text text to insert
|
|
24623
|
+
* @param {Array} style array of style objects
|
|
24624
|
+
* @param {Number} start
|
|
24625
|
+
* @param {Number} end default to start + 1
|
|
24616
24626
|
*/
|
|
24617
24627
|
insertChars(text, style, start) {
|
|
24618
24628
|
let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
|
|
@@ -24629,9 +24639,9 @@
|
|
|
24629
24639
|
this._removeExtraneousStyles();
|
|
24630
24640
|
}
|
|
24631
24641
|
|
|
24632
|
-
/**
|
|
24633
|
-
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24634
|
-
* mimic the key - mouse navigation when shift is pressed.
|
|
24642
|
+
/**
|
|
24643
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24644
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
24635
24645
|
*/
|
|
24636
24646
|
setSelectionStartEndWithShift(start, end, newSelection) {
|
|
24637
24647
|
if (newSelection <= start) {
|
|
@@ -24807,6 +24817,52 @@
|
|
|
24807
24817
|
if (!this.isEditing) {
|
|
24808
24818
|
return;
|
|
24809
24819
|
}
|
|
24820
|
+
|
|
24821
|
+
// Debug log to track the double keypress issue
|
|
24822
|
+
console.log('🔤 onInput debug:', {
|
|
24823
|
+
fabricText: this.text,
|
|
24824
|
+
textareaValue: value,
|
|
24825
|
+
fabricSelection: {
|
|
24826
|
+
start: this.selectionStart,
|
|
24827
|
+
end: this.selectionEnd
|
|
24828
|
+
},
|
|
24829
|
+
textareaSelection: {
|
|
24830
|
+
start: selectionStart,
|
|
24831
|
+
end: selectionEnd
|
|
24832
|
+
},
|
|
24833
|
+
fromPaste,
|
|
24834
|
+
inComposition: this.inCompositionMode
|
|
24835
|
+
});
|
|
24836
|
+
|
|
24837
|
+
// Immediate sync for simple character replacement - fix for double keypress issue
|
|
24838
|
+
if (this.text !== value && !this.inCompositionMode) {
|
|
24839
|
+
console.log('🔤 Immediate sync: fabric text differs from textarea, syncing immediately');
|
|
24840
|
+
console.log('🔤 Before sync - fabric text:', this.text);
|
|
24841
|
+
console.log('🔤 Before sync - textarea value:', value);
|
|
24842
|
+
console.log('🔤 fromPaste:', fromPaste);
|
|
24843
|
+
|
|
24844
|
+
// Clear all relevant caches that might prevent visual updates
|
|
24845
|
+
this.cursorOffsetCache = {};
|
|
24846
|
+
this._browserWrapCache = null;
|
|
24847
|
+
this._lastDimensionState = null;
|
|
24848
|
+
this._forceClearCache = true;
|
|
24849
|
+
console.log('🔤 Cleared all caches');
|
|
24850
|
+
|
|
24851
|
+
// Use the same logic as updateAndFire but immediately
|
|
24852
|
+
this.updateFromTextArea();
|
|
24853
|
+
this.fire(CHANGED);
|
|
24854
|
+
if (this.canvas) {
|
|
24855
|
+
this.canvas.fire('text:changed', {
|
|
24856
|
+
target: this
|
|
24857
|
+
});
|
|
24858
|
+
// ONLY use synchronous rendering to avoid race conditions
|
|
24859
|
+
// Remove requestRenderAll() which queues for next animation frame
|
|
24860
|
+
this.canvas.renderAll();
|
|
24861
|
+
}
|
|
24862
|
+
console.log('🔤 After updateFromTextArea - fabric text:', this.text);
|
|
24863
|
+
console.log('🔤 Sync complete, caches cleared, synchronous render only');
|
|
24864
|
+
return;
|
|
24865
|
+
}
|
|
24810
24866
|
const updateAndFire = () => {
|
|
24811
24867
|
this.updateFromTextArea();
|
|
24812
24868
|
this.fire(CHANGED);
|
|
@@ -25254,8 +25310,8 @@
|
|
|
25254
25310
|
}
|
|
25255
25311
|
}
|
|
25256
25312
|
|
|
25257
|
-
/**
|
|
25258
|
-
* `LEFT_CLICK === 0`
|
|
25313
|
+
/**
|
|
25314
|
+
* `LEFT_CLICK === 0`
|
|
25259
25315
|
*/
|
|
25260
25316
|
const notALeftClick = e => !!e.button;
|
|
25261
25317
|
class ITextClickBehavior extends ITextKeyBehavior {
|
|
@@ -25273,36 +25329,36 @@
|
|
|
25273
25329
|
super.initBehavior();
|
|
25274
25330
|
}
|
|
25275
25331
|
|
|
25276
|
-
/**
|
|
25277
|
-
* If this method returns true a mouse move operation over a text selection
|
|
25278
|
-
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25279
|
-
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25280
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25281
|
-
* @returns
|
|
25332
|
+
/**
|
|
25333
|
+
* If this method returns true a mouse move operation over a text selection
|
|
25334
|
+
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25335
|
+
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25336
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25337
|
+
* @returns
|
|
25282
25338
|
*/
|
|
25283
25339
|
shouldStartDragging() {
|
|
25284
25340
|
return this.draggableTextDelegate.isActive();
|
|
25285
25341
|
}
|
|
25286
25342
|
|
|
25287
|
-
/**
|
|
25288
|
-
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25289
|
-
* @see also {@link DraggableTextDelegate#isActive}
|
|
25290
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25291
|
-
* @returns {boolean} should handle event
|
|
25343
|
+
/**
|
|
25344
|
+
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25345
|
+
* @see also {@link DraggableTextDelegate#isActive}
|
|
25346
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25347
|
+
* @returns {boolean} should handle event
|
|
25292
25348
|
*/
|
|
25293
25349
|
onDragStart(e) {
|
|
25294
25350
|
return this.draggableTextDelegate.onDragStart(e);
|
|
25295
25351
|
}
|
|
25296
25352
|
|
|
25297
|
-
/**
|
|
25298
|
-
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25353
|
+
/**
|
|
25354
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25299
25355
|
*/
|
|
25300
25356
|
canDrop(e) {
|
|
25301
25357
|
return this.draggableTextDelegate.canDrop(e);
|
|
25302
25358
|
}
|
|
25303
25359
|
|
|
25304
|
-
/**
|
|
25305
|
-
* Default handler for double click, select a word or enter overlay editing
|
|
25360
|
+
/**
|
|
25361
|
+
* Default handler for double click, select a word or enter overlay editing
|
|
25306
25362
|
*/
|
|
25307
25363
|
doubleClickHandler(options) {
|
|
25308
25364
|
// Check if we should enter overlay editing mode
|
|
@@ -25319,8 +25375,8 @@
|
|
|
25319
25375
|
this.renderCursorOrSelection();
|
|
25320
25376
|
}
|
|
25321
25377
|
|
|
25322
|
-
/**
|
|
25323
|
-
* Default handler for triple click, select a line
|
|
25378
|
+
/**
|
|
25379
|
+
* Default handler for triple click, select a line
|
|
25324
25380
|
*/
|
|
25325
25381
|
tripleClickHandler(options) {
|
|
25326
25382
|
if (!this.isEditing) {
|
|
@@ -25330,13 +25386,13 @@
|
|
|
25330
25386
|
this.renderCursorOrSelection();
|
|
25331
25387
|
}
|
|
25332
25388
|
|
|
25333
|
-
/**
|
|
25334
|
-
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25335
|
-
* can be overridden to do something different.
|
|
25336
|
-
* Scope of this implementation is: find the click position, set selectionStart
|
|
25337
|
-
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25338
|
-
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25339
|
-
* current compositionMode. It will be set to false.
|
|
25389
|
+
/**
|
|
25390
|
+
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25391
|
+
* can be overridden to do something different.
|
|
25392
|
+
* Scope of this implementation is: find the click position, set selectionStart
|
|
25393
|
+
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25394
|
+
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25395
|
+
* current compositionMode. It will be set to false.
|
|
25340
25396
|
*/
|
|
25341
25397
|
_mouseDownHandler(_ref) {
|
|
25342
25398
|
let {
|
|
@@ -25364,9 +25420,9 @@
|
|
|
25364
25420
|
this.selected || (this.selected = alreadySelected || this.isEditing);
|
|
25365
25421
|
}
|
|
25366
25422
|
|
|
25367
|
-
/**
|
|
25368
|
-
* standard handler for mouse up, overridable
|
|
25369
|
-
* @private
|
|
25423
|
+
/**
|
|
25424
|
+
* standard handler for mouse up, overridable
|
|
25425
|
+
* @private
|
|
25370
25426
|
*/
|
|
25371
25427
|
mouseUpHandler(_ref2) {
|
|
25372
25428
|
let {
|
|
@@ -25397,9 +25453,9 @@
|
|
|
25397
25453
|
}
|
|
25398
25454
|
}
|
|
25399
25455
|
|
|
25400
|
-
/**
|
|
25401
|
-
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25402
|
-
* @param {TPointerEvent} e Event object
|
|
25456
|
+
/**
|
|
25457
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25458
|
+
* @param {TPointerEvent} e Event object
|
|
25403
25459
|
*/
|
|
25404
25460
|
setCursorByClick(e) {
|
|
25405
25461
|
const newSelection = this.getSelectionStartFromPointer(e),
|
|
@@ -25417,10 +25473,10 @@
|
|
|
25417
25473
|
}
|
|
25418
25474
|
}
|
|
25419
25475
|
|
|
25420
|
-
/**
|
|
25421
|
-
* Returns index of a character corresponding to where an object was clicked
|
|
25422
|
-
* @param {TPointerEvent} e Event object
|
|
25423
|
-
* @return {Number} Index of a character
|
|
25476
|
+
/**
|
|
25477
|
+
* Returns index of a character corresponding to where an object was clicked
|
|
25478
|
+
* @param {TPointerEvent} e Event object
|
|
25479
|
+
* @return {Number} Index of a character
|
|
25424
25480
|
*/
|
|
25425
25481
|
getSelectionStartFromPointer(e) {
|
|
25426
25482
|
const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
|
|
@@ -25466,15 +25522,15 @@
|
|
|
25466
25522
|
}
|
|
25467
25523
|
}
|
|
25468
25524
|
|
|
25469
|
-
/**
|
|
25470
|
-
* Hit Testing and Cursor Positioning System
|
|
25471
|
-
*
|
|
25472
|
-
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25473
|
-
* for interactive text editing with grapheme-aware boundaries.
|
|
25525
|
+
/**
|
|
25526
|
+
* Hit Testing and Cursor Positioning System
|
|
25527
|
+
*
|
|
25528
|
+
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25529
|
+
* for interactive text editing with grapheme-aware boundaries.
|
|
25474
25530
|
*/
|
|
25475
25531
|
|
|
25476
|
-
/**
|
|
25477
|
-
* Hit test a point against laid out text to find insertion position
|
|
25532
|
+
/**
|
|
25533
|
+
* Hit test a point against laid out text to find insertion position
|
|
25478
25534
|
*/
|
|
25479
25535
|
function hitTest(x, y, layout, options) {
|
|
25480
25536
|
if (layout.lines.length === 0) {
|
|
@@ -25518,8 +25574,8 @@
|
|
|
25518
25574
|
};
|
|
25519
25575
|
}
|
|
25520
25576
|
|
|
25521
|
-
/**
|
|
25522
|
-
* Get cursor rectangle for a given insertion index
|
|
25577
|
+
/**
|
|
25578
|
+
* Get cursor rectangle for a given insertion index
|
|
25523
25579
|
*/
|
|
25524
25580
|
function getCursorRect(insertionIndex, layout, options) {
|
|
25525
25581
|
if (layout.lines.length === 0) {
|
|
@@ -25566,8 +25622,8 @@
|
|
|
25566
25622
|
|
|
25567
25623
|
// Private helper functions
|
|
25568
25624
|
|
|
25569
|
-
/**
|
|
25570
|
-
* Find which line contains the given Y coordinate
|
|
25625
|
+
/**
|
|
25626
|
+
* Find which line contains the given Y coordinate
|
|
25571
25627
|
*/
|
|
25572
25628
|
function findLineAtY(y, lines) {
|
|
25573
25629
|
var _lines;
|
|
@@ -25590,8 +25646,8 @@
|
|
|
25590
25646
|
};
|
|
25591
25647
|
}
|
|
25592
25648
|
|
|
25593
|
-
/**
|
|
25594
|
-
* Find character position within a line at given X coordinate
|
|
25649
|
+
/**
|
|
25650
|
+
* Find character position within a line at given X coordinate
|
|
25595
25651
|
*/
|
|
25596
25652
|
function findCharAtX(x, line, options) {
|
|
25597
25653
|
if (line.bounds.length === 0) {
|
|
@@ -25697,8 +25753,8 @@
|
|
|
25697
25753
|
};
|
|
25698
25754
|
}
|
|
25699
25755
|
|
|
25700
|
-
/**
|
|
25701
|
-
* Calculate total insertion index from line and character indices
|
|
25756
|
+
/**
|
|
25757
|
+
* Calculate total insertion index from line and character indices
|
|
25702
25758
|
*/
|
|
25703
25759
|
function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
25704
25760
|
let insertionIndex = 0;
|
|
@@ -25717,8 +25773,8 @@
|
|
|
25717
25773
|
return insertionIndex;
|
|
25718
25774
|
}
|
|
25719
25775
|
|
|
25720
|
-
/**
|
|
25721
|
-
* Find line and grapheme position from insertion index
|
|
25776
|
+
/**
|
|
25777
|
+
* Find line and grapheme position from insertion index
|
|
25722
25778
|
*/
|
|
25723
25779
|
function findPositionFromIndex(insertionIndex, layout) {
|
|
25724
25780
|
let currentIndex = 0;
|
|
@@ -25760,8 +25816,8 @@
|
|
|
25760
25816
|
};
|
|
25761
25817
|
}
|
|
25762
25818
|
|
|
25763
|
-
/**
|
|
25764
|
-
* Calculate Y position of a line
|
|
25819
|
+
/**
|
|
25820
|
+
* Calculate Y position of a line
|
|
25765
25821
|
*/
|
|
25766
25822
|
function calculateLineY(lineIndex, layout, options) {
|
|
25767
25823
|
let y = 0;
|
|
@@ -25864,48 +25920,48 @@
|
|
|
25864
25920
|
|
|
25865
25921
|
// @TODO this is not complete
|
|
25866
25922
|
|
|
25867
|
-
/**
|
|
25868
|
-
* @fires changed
|
|
25869
|
-
* @fires selection:changed
|
|
25870
|
-
* @fires editing:entered
|
|
25871
|
-
* @fires editing:exited
|
|
25872
|
-
* @fires dragstart
|
|
25873
|
-
* @fires drag drag event firing on the drag source
|
|
25874
|
-
* @fires dragend
|
|
25875
|
-
* @fires copy
|
|
25876
|
-
* @fires cut
|
|
25877
|
-
* @fires paste
|
|
25878
|
-
*
|
|
25879
|
-
* #### Supported key combinations
|
|
25880
|
-
* ```
|
|
25881
|
-
* Move cursor: left, right, up, down
|
|
25882
|
-
* Select character: shift + left, shift + right
|
|
25883
|
-
* Select text vertically: shift + up, shift + down
|
|
25884
|
-
* Move cursor by word: alt + left, alt + right
|
|
25885
|
-
* Select words: shift + alt + left, shift + alt + right
|
|
25886
|
-
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25887
|
-
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25888
|
-
* Jump to start/end of text: cmd + up, cmd + down
|
|
25889
|
-
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25890
|
-
* Delete character: backspace
|
|
25891
|
-
* Delete word: alt + backspace
|
|
25892
|
-
* Delete line: cmd + backspace
|
|
25893
|
-
* Forward delete: delete
|
|
25894
|
-
* Copy text: ctrl/cmd + c
|
|
25895
|
-
* Paste text: ctrl/cmd + v
|
|
25896
|
-
* Cut text: ctrl/cmd + x
|
|
25897
|
-
* Select entire text: ctrl/cmd + a
|
|
25898
|
-
* Quit editing tab or esc
|
|
25899
|
-
* ```
|
|
25900
|
-
*
|
|
25901
|
-
* #### Supported mouse/touch combination
|
|
25902
|
-
* ```
|
|
25903
|
-
* Position cursor: click/touch
|
|
25904
|
-
* Create selection: click/touch & drag
|
|
25905
|
-
* Create selection: click & shift + click
|
|
25906
|
-
* Select word: double click
|
|
25907
|
-
* Select line: triple click
|
|
25908
|
-
* ```
|
|
25923
|
+
/**
|
|
25924
|
+
* @fires changed
|
|
25925
|
+
* @fires selection:changed
|
|
25926
|
+
* @fires editing:entered
|
|
25927
|
+
* @fires editing:exited
|
|
25928
|
+
* @fires dragstart
|
|
25929
|
+
* @fires drag drag event firing on the drag source
|
|
25930
|
+
* @fires dragend
|
|
25931
|
+
* @fires copy
|
|
25932
|
+
* @fires cut
|
|
25933
|
+
* @fires paste
|
|
25934
|
+
*
|
|
25935
|
+
* #### Supported key combinations
|
|
25936
|
+
* ```
|
|
25937
|
+
* Move cursor: left, right, up, down
|
|
25938
|
+
* Select character: shift + left, shift + right
|
|
25939
|
+
* Select text vertically: shift + up, shift + down
|
|
25940
|
+
* Move cursor by word: alt + left, alt + right
|
|
25941
|
+
* Select words: shift + alt + left, shift + alt + right
|
|
25942
|
+
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25943
|
+
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25944
|
+
* Jump to start/end of text: cmd + up, cmd + down
|
|
25945
|
+
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25946
|
+
* Delete character: backspace
|
|
25947
|
+
* Delete word: alt + backspace
|
|
25948
|
+
* Delete line: cmd + backspace
|
|
25949
|
+
* Forward delete: delete
|
|
25950
|
+
* Copy text: ctrl/cmd + c
|
|
25951
|
+
* Paste text: ctrl/cmd + v
|
|
25952
|
+
* Cut text: ctrl/cmd + x
|
|
25953
|
+
* Select entire text: ctrl/cmd + a
|
|
25954
|
+
* Quit editing tab or esc
|
|
25955
|
+
* ```
|
|
25956
|
+
*
|
|
25957
|
+
* #### Supported mouse/touch combination
|
|
25958
|
+
* ```
|
|
25959
|
+
* Position cursor: click/touch
|
|
25960
|
+
* Create selection: click/touch & drag
|
|
25961
|
+
* Create selection: click & shift + click
|
|
25962
|
+
* Select word: double click
|
|
25963
|
+
* Select line: triple click
|
|
25964
|
+
* ```
|
|
25909
25965
|
*/
|
|
25910
25966
|
class IText extends ITextClickBehavior {
|
|
25911
25967
|
static getDefaults() {
|
|
@@ -25920,10 +25976,10 @@
|
|
|
25920
25976
|
return type === 'itext' ? 'i-text' : type;
|
|
25921
25977
|
}
|
|
25922
25978
|
|
|
25923
|
-
/**
|
|
25924
|
-
* Constructor
|
|
25925
|
-
* @param {String} text Text string
|
|
25926
|
-
* @param {Object} [options] Options object
|
|
25979
|
+
/**
|
|
25980
|
+
* Constructor
|
|
25981
|
+
* @param {String} text Text string
|
|
25982
|
+
* @param {Object} [options] Options object
|
|
25927
25983
|
*/
|
|
25928
25984
|
constructor(text, options) {
|
|
25929
25985
|
super(text, {
|
|
@@ -25933,11 +25989,11 @@
|
|
|
25933
25989
|
this.initBehavior();
|
|
25934
25990
|
}
|
|
25935
25991
|
|
|
25936
|
-
/**
|
|
25937
|
-
* While editing handle differently
|
|
25938
|
-
* @private
|
|
25939
|
-
* @param {string} key
|
|
25940
|
-
* @param {*} value
|
|
25992
|
+
/**
|
|
25993
|
+
* While editing handle differently
|
|
25994
|
+
* @private
|
|
25995
|
+
* @param {string} key
|
|
25996
|
+
* @param {*} value
|
|
25941
25997
|
*/
|
|
25942
25998
|
_set(key, value) {
|
|
25943
25999
|
if (this.isEditing && this._savedProps && key in this._savedProps) {
|
|
@@ -25952,28 +26008,28 @@
|
|
|
25952
26008
|
return super._set(key, value);
|
|
25953
26009
|
}
|
|
25954
26010
|
|
|
25955
|
-
/**
|
|
25956
|
-
* Sets selection start (left boundary of a selection)
|
|
25957
|
-
* @param {Number} index Index to set selection start to
|
|
26011
|
+
/**
|
|
26012
|
+
* Sets selection start (left boundary of a selection)
|
|
26013
|
+
* @param {Number} index Index to set selection start to
|
|
25958
26014
|
*/
|
|
25959
26015
|
setSelectionStart(index) {
|
|
25960
26016
|
index = Math.max(index, 0);
|
|
25961
26017
|
this._updateAndFire('selectionStart', index);
|
|
25962
26018
|
}
|
|
25963
26019
|
|
|
25964
|
-
/**
|
|
25965
|
-
* Sets selection end (right boundary of a selection)
|
|
25966
|
-
* @param {Number} index Index to set selection end to
|
|
26020
|
+
/**
|
|
26021
|
+
* Sets selection end (right boundary of a selection)
|
|
26022
|
+
* @param {Number} index Index to set selection end to
|
|
25967
26023
|
*/
|
|
25968
26024
|
setSelectionEnd(index) {
|
|
25969
26025
|
index = Math.min(index, this.text.length);
|
|
25970
26026
|
this._updateAndFire('selectionEnd', index);
|
|
25971
26027
|
}
|
|
25972
26028
|
|
|
25973
|
-
/**
|
|
25974
|
-
* @private
|
|
25975
|
-
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
25976
|
-
* @param {Number} index new position of property
|
|
26029
|
+
/**
|
|
26030
|
+
* @private
|
|
26031
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26032
|
+
* @param {Number} index new position of property
|
|
25977
26033
|
*/
|
|
25978
26034
|
_updateAndFire(property, index) {
|
|
25979
26035
|
if (this[property] !== index) {
|
|
@@ -25983,9 +26039,9 @@
|
|
|
25983
26039
|
this._updateTextarea();
|
|
25984
26040
|
}
|
|
25985
26041
|
|
|
25986
|
-
/**
|
|
25987
|
-
* Fires the even of selection changed
|
|
25988
|
-
* @private
|
|
26042
|
+
/**
|
|
26043
|
+
* Fires the even of selection changed
|
|
26044
|
+
* @private
|
|
25989
26045
|
*/
|
|
25990
26046
|
_fireSelectionChanged() {
|
|
25991
26047
|
this.fire('selection:changed');
|
|
@@ -25994,25 +26050,25 @@
|
|
|
25994
26050
|
});
|
|
25995
26051
|
}
|
|
25996
26052
|
|
|
25997
|
-
/**
|
|
25998
|
-
* Initialize text dimensions. Render all text on given context
|
|
25999
|
-
* or on a offscreen canvas to get the text width with measureText.
|
|
26000
|
-
* Updates this.width and this.height with the proper values.
|
|
26001
|
-
* Does not return dimensions.
|
|
26002
|
-
* @private
|
|
26053
|
+
/**
|
|
26054
|
+
* Initialize text dimensions. Render all text on given context
|
|
26055
|
+
* or on a offscreen canvas to get the text width with measureText.
|
|
26056
|
+
* Updates this.width and this.height with the proper values.
|
|
26057
|
+
* Does not return dimensions.
|
|
26058
|
+
* @private
|
|
26003
26059
|
*/
|
|
26004
26060
|
initDimensions() {
|
|
26005
26061
|
this.isEditing && this.initDelayedCursor();
|
|
26006
26062
|
super.initDimensions();
|
|
26007
26063
|
}
|
|
26008
26064
|
|
|
26009
|
-
/**
|
|
26010
|
-
* Gets style of a current selection/cursor (at the start position)
|
|
26011
|
-
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26012
|
-
* @param {Number} startIndex Start index to get styles at
|
|
26013
|
-
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26014
|
-
* @param {Boolean} [complete] get full style or not
|
|
26015
|
-
* @return {Array} styles an array with one, zero or more Style objects
|
|
26065
|
+
/**
|
|
26066
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
26067
|
+
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26068
|
+
* @param {Number} startIndex Start index to get styles at
|
|
26069
|
+
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26070
|
+
* @param {Boolean} [complete] get full style or not
|
|
26071
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
26016
26072
|
*/
|
|
26017
26073
|
getSelectionStyles() {
|
|
26018
26074
|
let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
|
|
@@ -26021,11 +26077,11 @@
|
|
|
26021
26077
|
return super.getSelectionStyles(startIndex, endIndex, complete);
|
|
26022
26078
|
}
|
|
26023
26079
|
|
|
26024
|
-
/**
|
|
26025
|
-
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26026
|
-
* @param {Object} [styles] Styles object
|
|
26027
|
-
* @param {Number} [startIndex] Start index to get styles at
|
|
26028
|
-
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26080
|
+
/**
|
|
26081
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26082
|
+
* @param {Object} [styles] Styles object
|
|
26083
|
+
* @param {Number} [startIndex] Start index to get styles at
|
|
26084
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26029
26085
|
*/
|
|
26030
26086
|
setSelectionStyles(styles) {
|
|
26031
26087
|
let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
|
|
@@ -26033,10 +26089,10 @@
|
|
|
26033
26089
|
return super.setSelectionStyles(styles, startIndex, endIndex);
|
|
26034
26090
|
}
|
|
26035
26091
|
|
|
26036
|
-
/**
|
|
26037
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26038
|
-
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26039
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
26092
|
+
/**
|
|
26093
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26094
|
+
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26095
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
26040
26096
|
*/
|
|
26041
26097
|
get2DCursorLocation() {
|
|
26042
26098
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26044,9 +26100,9 @@
|
|
|
26044
26100
|
return super.get2DCursorLocation(selectionStart, skipWrapping);
|
|
26045
26101
|
}
|
|
26046
26102
|
|
|
26047
|
-
/**
|
|
26048
|
-
* @private
|
|
26049
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26103
|
+
/**
|
|
26104
|
+
* @private
|
|
26105
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26050
26106
|
*/
|
|
26051
26107
|
render(ctx) {
|
|
26052
26108
|
super.render(ctx);
|
|
@@ -26056,9 +26112,9 @@
|
|
|
26056
26112
|
this.renderCursorOrSelection();
|
|
26057
26113
|
}
|
|
26058
26114
|
|
|
26059
|
-
/**
|
|
26060
|
-
* @override block cursor/selection logic while rendering the exported canvas
|
|
26061
|
-
* @todo this workaround should be replaced with a more robust solution
|
|
26115
|
+
/**
|
|
26116
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
26117
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
26062
26118
|
*/
|
|
26063
26119
|
toCanvasElement(options) {
|
|
26064
26120
|
const isEditing = this.isEditing;
|
|
@@ -26068,9 +26124,9 @@
|
|
|
26068
26124
|
return canvas;
|
|
26069
26125
|
}
|
|
26070
26126
|
|
|
26071
|
-
/**
|
|
26072
|
-
* Renders cursor or selection (depending on what exists)
|
|
26073
|
-
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26127
|
+
/**
|
|
26128
|
+
* Renders cursor or selection (depending on what exists)
|
|
26129
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26074
26130
|
*/
|
|
26075
26131
|
renderCursorOrSelection() {
|
|
26076
26132
|
if (!this.isEditing || !this.canvas) {
|
|
@@ -26126,12 +26182,12 @@
|
|
|
26126
26182
|
ctx.restore();
|
|
26127
26183
|
}
|
|
26128
26184
|
|
|
26129
|
-
/**
|
|
26130
|
-
* Finds and returns an array of clip paths that are applied to the parent
|
|
26131
|
-
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26132
|
-
* traversed upwards (from the current object towards the root of the canvas),
|
|
26133
|
-
* checking each parent object for the presence of a `clipPath` that is not
|
|
26134
|
-
* absolutely positioned.
|
|
26185
|
+
/**
|
|
26186
|
+
* Finds and returns an array of clip paths that are applied to the parent
|
|
26187
|
+
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26188
|
+
* traversed upwards (from the current object towards the root of the canvas),
|
|
26189
|
+
* checking each parent object for the presence of a `clipPath` that is not
|
|
26190
|
+
* absolutely positioned.
|
|
26135
26191
|
*/
|
|
26136
26192
|
findAncestorsWithClipPath() {
|
|
26137
26193
|
const clipPathAncestors = [];
|
|
@@ -26146,13 +26202,13 @@
|
|
|
26146
26202
|
return clipPathAncestors;
|
|
26147
26203
|
}
|
|
26148
26204
|
|
|
26149
|
-
/**
|
|
26150
|
-
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26151
|
-
* left/top are left/top of entire text box
|
|
26152
|
-
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26153
|
-
* @private
|
|
26154
|
-
* @param {number} [index] index from start
|
|
26155
|
-
* @param {boolean} [skipCaching]
|
|
26205
|
+
/**
|
|
26206
|
+
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26207
|
+
* left/top are left/top of entire text box
|
|
26208
|
+
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26209
|
+
* @private
|
|
26210
|
+
* @param {number} [index] index from start
|
|
26211
|
+
* @param {boolean} [skipCaching]
|
|
26156
26212
|
*/
|
|
26157
26213
|
_getCursorBoundaries() {
|
|
26158
26214
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26166,11 +26222,11 @@
|
|
|
26166
26222
|
return this._getCursorBoundariesOriginal(index, skipCaching);
|
|
26167
26223
|
}
|
|
26168
26224
|
|
|
26169
|
-
/**
|
|
26170
|
-
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26171
|
-
* @private
|
|
26172
|
-
* @param {number} index index from start
|
|
26173
|
-
* @param {boolean} [skipCaching]
|
|
26225
|
+
/**
|
|
26226
|
+
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26227
|
+
* @private
|
|
26228
|
+
* @param {number} index index from start
|
|
26229
|
+
* @param {boolean} [skipCaching]
|
|
26174
26230
|
*/
|
|
26175
26231
|
_getCursorBoundariesOffsets(index, skipCaching) {
|
|
26176
26232
|
if (skipCaching) {
|
|
@@ -26182,9 +26238,9 @@
|
|
|
26182
26238
|
return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
|
|
26183
26239
|
}
|
|
26184
26240
|
|
|
26185
|
-
/**
|
|
26186
|
-
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26187
|
-
* @private
|
|
26241
|
+
/**
|
|
26242
|
+
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26243
|
+
* @private
|
|
26188
26244
|
*/
|
|
26189
26245
|
_getCursorBoundariesAdvanced(index) {
|
|
26190
26246
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26200,9 +26256,9 @@
|
|
|
26200
26256
|
};
|
|
26201
26257
|
}
|
|
26202
26258
|
|
|
26203
|
-
/**
|
|
26204
|
-
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26205
|
-
* @override
|
|
26259
|
+
/**
|
|
26260
|
+
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26261
|
+
* @override
|
|
26206
26262
|
*/
|
|
26207
26263
|
getSelectionStartFromPointer(e) {
|
|
26208
26264
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26216,9 +26272,9 @@
|
|
|
26216
26272
|
return Math.min(hitResult.charIndex, this._text.length);
|
|
26217
26273
|
}
|
|
26218
26274
|
|
|
26219
|
-
/**
|
|
26220
|
-
* Original cursor boundaries implementation
|
|
26221
|
-
* @private
|
|
26275
|
+
/**
|
|
26276
|
+
* Original cursor boundaries implementation
|
|
26277
|
+
* @private
|
|
26222
26278
|
*/
|
|
26223
26279
|
_getCursorBoundariesOriginal(index, skipCaching) {
|
|
26224
26280
|
const left = this._getLeftOffset(),
|
|
@@ -26232,10 +26288,10 @@
|
|
|
26232
26288
|
};
|
|
26233
26289
|
}
|
|
26234
26290
|
|
|
26235
|
-
/**
|
|
26236
|
-
* Calculates cursor left/top offset relative to instance's center point
|
|
26237
|
-
* @private
|
|
26238
|
-
* @param {number} index index from start
|
|
26291
|
+
/**
|
|
26292
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
26293
|
+
* @private
|
|
26294
|
+
* @param {number} index index from start
|
|
26239
26295
|
*/
|
|
26240
26296
|
__getCursorBoundariesOffsets(index) {
|
|
26241
26297
|
let topOffset = 0,
|
|
@@ -26269,29 +26325,29 @@
|
|
|
26269
26325
|
return boundaries;
|
|
26270
26326
|
}
|
|
26271
26327
|
|
|
26272
|
-
/**
|
|
26273
|
-
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26274
|
-
* Used for the drag/drop effect.
|
|
26275
|
-
* If contextTop is not available, do nothing.
|
|
26328
|
+
/**
|
|
26329
|
+
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26330
|
+
* Used for the drag/drop effect.
|
|
26331
|
+
* If contextTop is not available, do nothing.
|
|
26276
26332
|
*/
|
|
26277
26333
|
renderCursorAt(selectionStart) {
|
|
26278
26334
|
this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
|
|
26279
26335
|
}
|
|
26280
26336
|
|
|
26281
|
-
/**
|
|
26282
|
-
* Renders cursor
|
|
26283
|
-
* @param {Object} boundaries
|
|
26284
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26337
|
+
/**
|
|
26338
|
+
* Renders cursor
|
|
26339
|
+
* @param {Object} boundaries
|
|
26340
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26285
26341
|
*/
|
|
26286
26342
|
renderCursor(ctx, boundaries) {
|
|
26287
26343
|
this._renderCursor(ctx, boundaries, this.selectionStart);
|
|
26288
26344
|
}
|
|
26289
26345
|
|
|
26290
|
-
/**
|
|
26291
|
-
* Return the data needed to render the cursor for given selection start
|
|
26292
|
-
* The left,top are relative to the object, while width and height are prescaled
|
|
26293
|
-
* to look think with canvas zoom and object scaling,
|
|
26294
|
-
* so they depend on canvas and object scaling
|
|
26346
|
+
/**
|
|
26347
|
+
* Return the data needed to render the cursor for given selection start
|
|
26348
|
+
* The left,top are relative to the object, while width and height are prescaled
|
|
26349
|
+
* to look think with canvas zoom and object scaling,
|
|
26350
|
+
* so they depend on canvas and object scaling
|
|
26295
26351
|
*/
|
|
26296
26352
|
getCursorRenderingData() {
|
|
26297
26353
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26314,9 +26370,9 @@
|
|
|
26314
26370
|
};
|
|
26315
26371
|
}
|
|
26316
26372
|
|
|
26317
|
-
/**
|
|
26318
|
-
* Render the cursor at the given selectionStart.
|
|
26319
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26373
|
+
/**
|
|
26374
|
+
* Render the cursor at the given selectionStart.
|
|
26375
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26320
26376
|
*/
|
|
26321
26377
|
_renderCursor(ctx, boundaries, selectionStart) {
|
|
26322
26378
|
const {
|
|
@@ -26332,10 +26388,10 @@
|
|
|
26332
26388
|
ctx.fillRect(left, top, width, height);
|
|
26333
26389
|
}
|
|
26334
26390
|
|
|
26335
|
-
/**
|
|
26336
|
-
* Renders text selection
|
|
26337
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26338
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26391
|
+
/**
|
|
26392
|
+
* Renders text selection
|
|
26393
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26394
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26339
26395
|
*/
|
|
26340
26396
|
renderSelection(ctx, boundaries) {
|
|
26341
26397
|
const selection = {
|
|
@@ -26345,8 +26401,8 @@
|
|
|
26345
26401
|
this._renderSelection(ctx, selection, boundaries);
|
|
26346
26402
|
}
|
|
26347
26403
|
|
|
26348
|
-
/**
|
|
26349
|
-
* Renders drag start text selection
|
|
26404
|
+
/**
|
|
26405
|
+
* Renders drag start text selection
|
|
26350
26406
|
*/
|
|
26351
26407
|
renderDragSourceEffect() {
|
|
26352
26408
|
const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
|
|
@@ -26357,12 +26413,12 @@
|
|
|
26357
26413
|
this.renderCursorAt(dragSelection);
|
|
26358
26414
|
}
|
|
26359
26415
|
|
|
26360
|
-
/**
|
|
26361
|
-
* Renders text selection
|
|
26362
|
-
* @private
|
|
26363
|
-
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26364
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26365
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26416
|
+
/**
|
|
26417
|
+
* Renders text selection
|
|
26418
|
+
* @private
|
|
26419
|
+
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26420
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26421
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26366
26422
|
*/
|
|
26367
26423
|
_renderSelection(ctx, selection, boundaries) {
|
|
26368
26424
|
const selectionStart = selection.selectionStart,
|
|
@@ -26424,34 +26480,34 @@
|
|
|
26424
26480
|
}
|
|
26425
26481
|
}
|
|
26426
26482
|
|
|
26427
|
-
/**
|
|
26428
|
-
* High level function to know the height of the cursor.
|
|
26429
|
-
* the currentChar is the one that precedes the cursor
|
|
26430
|
-
* Returns fontSize of char at the current cursor
|
|
26431
|
-
* Unused from the library, is for the end user
|
|
26432
|
-
* @return {Number} Character font size
|
|
26483
|
+
/**
|
|
26484
|
+
* High level function to know the height of the cursor.
|
|
26485
|
+
* the currentChar is the one that precedes the cursor
|
|
26486
|
+
* Returns fontSize of char at the current cursor
|
|
26487
|
+
* Unused from the library, is for the end user
|
|
26488
|
+
* @return {Number} Character font size
|
|
26433
26489
|
*/
|
|
26434
26490
|
getCurrentCharFontSize() {
|
|
26435
26491
|
const cp = this._getCurrentCharIndex();
|
|
26436
26492
|
return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
|
|
26437
26493
|
}
|
|
26438
26494
|
|
|
26439
|
-
/**
|
|
26440
|
-
* High level function to know the color of the cursor.
|
|
26441
|
-
* the currentChar is the one that precedes the cursor
|
|
26442
|
-
* Returns color (fill) of char at the current cursor
|
|
26443
|
-
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26444
|
-
* Unused by the library, is for the end user
|
|
26445
|
-
* @return {String | TFiller} Character color (fill)
|
|
26495
|
+
/**
|
|
26496
|
+
* High level function to know the color of the cursor.
|
|
26497
|
+
* the currentChar is the one that precedes the cursor
|
|
26498
|
+
* Returns color (fill) of char at the current cursor
|
|
26499
|
+
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26500
|
+
* Unused by the library, is for the end user
|
|
26501
|
+
* @return {String | TFiller} Character color (fill)
|
|
26446
26502
|
*/
|
|
26447
26503
|
getCurrentCharColor() {
|
|
26448
26504
|
const cp = this._getCurrentCharIndex();
|
|
26449
26505
|
return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
|
|
26450
26506
|
}
|
|
26451
26507
|
|
|
26452
|
-
/**
|
|
26453
|
-
* Returns the cursor position for the getCurrent.. functions
|
|
26454
|
-
* @private
|
|
26508
|
+
/**
|
|
26509
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
26510
|
+
* @private
|
|
26455
26511
|
*/
|
|
26456
26512
|
_getCurrentCharIndex() {
|
|
26457
26513
|
const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
|
|
@@ -26467,52 +26523,52 @@
|
|
|
26467
26523
|
super.dispose();
|
|
26468
26524
|
}
|
|
26469
26525
|
}
|
|
26470
|
-
/**
|
|
26471
|
-
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26472
|
-
* @type Number
|
|
26526
|
+
/**
|
|
26527
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26528
|
+
* @type Number
|
|
26473
26529
|
*/
|
|
26474
|
-
/**
|
|
26475
|
-
* Index where text selection ends
|
|
26476
|
-
* @type Number
|
|
26530
|
+
/**
|
|
26531
|
+
* Index where text selection ends
|
|
26532
|
+
* @type Number
|
|
26477
26533
|
*/
|
|
26478
|
-
/**
|
|
26479
|
-
* Color of text selection
|
|
26480
|
-
* @type String
|
|
26534
|
+
/**
|
|
26535
|
+
* Color of text selection
|
|
26536
|
+
* @type String
|
|
26481
26537
|
*/
|
|
26482
|
-
/**
|
|
26483
|
-
* Indicates whether text is in editing mode
|
|
26484
|
-
* @type Boolean
|
|
26538
|
+
/**
|
|
26539
|
+
* Indicates whether text is in editing mode
|
|
26540
|
+
* @type Boolean
|
|
26485
26541
|
*/
|
|
26486
|
-
/**
|
|
26487
|
-
* Indicates whether a text can be edited
|
|
26488
|
-
* @type Boolean
|
|
26542
|
+
/**
|
|
26543
|
+
* Indicates whether a text can be edited
|
|
26544
|
+
* @type Boolean
|
|
26489
26545
|
*/
|
|
26490
|
-
/**
|
|
26491
|
-
* Border color of text object while it's in editing mode
|
|
26492
|
-
* @type String
|
|
26546
|
+
/**
|
|
26547
|
+
* Border color of text object while it's in editing mode
|
|
26548
|
+
* @type String
|
|
26493
26549
|
*/
|
|
26494
|
-
/**
|
|
26495
|
-
* Width of cursor (in px)
|
|
26496
|
-
* @type Number
|
|
26550
|
+
/**
|
|
26551
|
+
* Width of cursor (in px)
|
|
26552
|
+
* @type Number
|
|
26497
26553
|
*/
|
|
26498
|
-
/**
|
|
26499
|
-
* Color of text cursor color in editing mode.
|
|
26500
|
-
* if not set (default) will take color from the text.
|
|
26501
|
-
* if set to a color value that fabric can understand, it will
|
|
26502
|
-
* be used instead of the color of the text at the current position.
|
|
26503
|
-
* @type String
|
|
26554
|
+
/**
|
|
26555
|
+
* Color of text cursor color in editing mode.
|
|
26556
|
+
* if not set (default) will take color from the text.
|
|
26557
|
+
* if set to a color value that fabric can understand, it will
|
|
26558
|
+
* be used instead of the color of the text at the current position.
|
|
26559
|
+
* @type String
|
|
26504
26560
|
*/
|
|
26505
|
-
/**
|
|
26506
|
-
* Delay between cursor blink (in ms)
|
|
26507
|
-
* @type Number
|
|
26561
|
+
/**
|
|
26562
|
+
* Delay between cursor blink (in ms)
|
|
26563
|
+
* @type Number
|
|
26508
26564
|
*/
|
|
26509
|
-
/**
|
|
26510
|
-
* Duration of cursor fade in (in ms)
|
|
26511
|
-
* @type Number
|
|
26565
|
+
/**
|
|
26566
|
+
* Duration of cursor fade in (in ms)
|
|
26567
|
+
* @type Number
|
|
26512
26568
|
*/
|
|
26513
|
-
/**
|
|
26514
|
-
* Indicates whether internal text char widths can be cached
|
|
26515
|
-
* @type Boolean
|
|
26569
|
+
/**
|
|
26570
|
+
* Indicates whether internal text char widths can be cached
|
|
26571
|
+
* @type Boolean
|
|
26516
26572
|
*/
|
|
26517
26573
|
_defineProperty(IText, "ownDefaults", iTextDefaultValues);
|
|
26518
26574
|
_defineProperty(IText, "type", 'IText');
|
|
@@ -26534,11 +26590,11 @@
|
|
|
26534
26590
|
|
|
26535
26591
|
// @TODO this is not complete
|
|
26536
26592
|
|
|
26537
|
-
/**
|
|
26538
|
-
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26539
|
-
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26540
|
-
* user can only change width. Height is adjusted automatically based on the
|
|
26541
|
-
* wrapping of lines.
|
|
26593
|
+
/**
|
|
26594
|
+
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26595
|
+
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26596
|
+
* user can only change width. Height is adjusted automatically based on the
|
|
26597
|
+
* wrapping of lines.
|
|
26542
26598
|
*/
|
|
26543
26599
|
class Textbox extends IText {
|
|
26544
26600
|
static getDefaults() {
|
|
@@ -26548,10 +26604,10 @@
|
|
|
26548
26604
|
};
|
|
26549
26605
|
}
|
|
26550
26606
|
|
|
26551
|
-
/**
|
|
26552
|
-
* Constructor
|
|
26553
|
-
* @param {String} text Text string
|
|
26554
|
-
* @param {Object} [options] Options object
|
|
26607
|
+
/**
|
|
26608
|
+
* Constructor
|
|
26609
|
+
* @param {String} text Text string
|
|
26610
|
+
* @param {Object} [options] Options object
|
|
26555
26611
|
*/
|
|
26556
26612
|
constructor(text, options) {
|
|
26557
26613
|
super(text, {
|
|
@@ -26561,10 +26617,10 @@
|
|
|
26561
26617
|
this.initializeEventListeners();
|
|
26562
26618
|
}
|
|
26563
26619
|
|
|
26564
|
-
/**
|
|
26565
|
-
* Creates the default control object.
|
|
26566
|
-
* If you prefer to have on instance of controls shared among all objects
|
|
26567
|
-
* make this function return an empty object and add controls to the ownDefaults object
|
|
26620
|
+
/**
|
|
26621
|
+
* Creates the default control object.
|
|
26622
|
+
* If you prefer to have on instance of controls shared among all objects
|
|
26623
|
+
* make this function return an empty object and add controls to the ownDefaults object
|
|
26568
26624
|
*/
|
|
26569
26625
|
static createControls() {
|
|
26570
26626
|
return {
|
|
@@ -26572,11 +26628,11 @@
|
|
|
26572
26628
|
};
|
|
26573
26629
|
}
|
|
26574
26630
|
|
|
26575
|
-
/**
|
|
26576
|
-
* Unlike superclass's version of this function, Textbox does not update
|
|
26577
|
-
* its width.
|
|
26578
|
-
* @private
|
|
26579
|
-
* @override
|
|
26631
|
+
/**
|
|
26632
|
+
* Unlike superclass's version of this function, Textbox does not update
|
|
26633
|
+
* its width.
|
|
26634
|
+
* @private
|
|
26635
|
+
* @override
|
|
26580
26636
|
*/
|
|
26581
26637
|
initDimensions() {
|
|
26582
26638
|
if (!this.initialized) {
|
|
@@ -26720,9 +26776,9 @@
|
|
|
26720
26776
|
}
|
|
26721
26777
|
}
|
|
26722
26778
|
|
|
26723
|
-
/**
|
|
26724
|
-
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26725
|
-
* @private
|
|
26779
|
+
/**
|
|
26780
|
+
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26781
|
+
* @private
|
|
26726
26782
|
*/
|
|
26727
26783
|
_scheduleJustifyAfterFontLoad() {
|
|
26728
26784
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -26749,9 +26805,9 @@
|
|
|
26749
26805
|
});
|
|
26750
26806
|
}
|
|
26751
26807
|
|
|
26752
|
-
/**
|
|
26753
|
-
* Advanced dimensions calculation using new layout engine
|
|
26754
|
-
* @private
|
|
26808
|
+
/**
|
|
26809
|
+
* Advanced dimensions calculation using new layout engine
|
|
26810
|
+
* @private
|
|
26755
26811
|
*/
|
|
26756
26812
|
initDimensionsAdvanced() {
|
|
26757
26813
|
if (!this.initialized) {
|
|
@@ -26806,9 +26862,9 @@
|
|
|
26806
26862
|
this.dirty = true;
|
|
26807
26863
|
}
|
|
26808
26864
|
|
|
26809
|
-
/**
|
|
26810
|
-
* Generate style map from new layout format
|
|
26811
|
-
* @private
|
|
26865
|
+
/**
|
|
26866
|
+
* Generate style map from new layout format
|
|
26867
|
+
* @private
|
|
26812
26868
|
*/
|
|
26813
26869
|
_generateStyleMapFromLayout(layout) {
|
|
26814
26870
|
const map = {};
|
|
@@ -26830,12 +26886,12 @@
|
|
|
26830
26886
|
return map;
|
|
26831
26887
|
}
|
|
26832
26888
|
|
|
26833
|
-
/**
|
|
26834
|
-
* Generate an object that translates the style object so that it is
|
|
26835
|
-
* broken up by visual lines (new lines and automatic wrapping).
|
|
26836
|
-
* The original text styles object is broken up by actual lines (new lines only),
|
|
26837
|
-
* which is only sufficient for Text / IText
|
|
26838
|
-
* @private
|
|
26889
|
+
/**
|
|
26890
|
+
* Generate an object that translates the style object so that it is
|
|
26891
|
+
* broken up by visual lines (new lines and automatic wrapping).
|
|
26892
|
+
* The original text styles object is broken up by actual lines (new lines only),
|
|
26893
|
+
* which is only sufficient for Text / IText
|
|
26894
|
+
* @private
|
|
26839
26895
|
*/
|
|
26840
26896
|
_generateStyleMap(textInfo) {
|
|
26841
26897
|
let realLineCount = 0,
|
|
@@ -26862,10 +26918,10 @@
|
|
|
26862
26918
|
return map;
|
|
26863
26919
|
}
|
|
26864
26920
|
|
|
26865
|
-
/**
|
|
26866
|
-
* Returns true if object has a style property or has it on a specified line
|
|
26867
|
-
* @param {Number} lineIndex
|
|
26868
|
-
* @return {Boolean}
|
|
26921
|
+
/**
|
|
26922
|
+
* Returns true if object has a style property or has it on a specified line
|
|
26923
|
+
* @param {Number} lineIndex
|
|
26924
|
+
* @return {Boolean}
|
|
26869
26925
|
*/
|
|
26870
26926
|
styleHas(property, lineIndex) {
|
|
26871
26927
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26877,10 +26933,10 @@
|
|
|
26877
26933
|
return super.styleHas(property, lineIndex);
|
|
26878
26934
|
}
|
|
26879
26935
|
|
|
26880
|
-
/**
|
|
26881
|
-
* Returns true if object has no styling or no styling in a line
|
|
26882
|
-
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26883
|
-
* @return {Boolean}
|
|
26936
|
+
/**
|
|
26937
|
+
* Returns true if object has no styling or no styling in a line
|
|
26938
|
+
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26939
|
+
* @return {Boolean}
|
|
26884
26940
|
*/
|
|
26885
26941
|
isEmptyStyles(lineIndex) {
|
|
26886
26942
|
if (!this.styles) {
|
|
@@ -26917,11 +26973,11 @@
|
|
|
26917
26973
|
return true;
|
|
26918
26974
|
}
|
|
26919
26975
|
|
|
26920
|
-
/**
|
|
26921
|
-
* @protected
|
|
26922
|
-
* @param {Number} lineIndex
|
|
26923
|
-
* @param {Number} charIndex
|
|
26924
|
-
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
26976
|
+
/**
|
|
26977
|
+
* @protected
|
|
26978
|
+
* @param {Number} lineIndex
|
|
26979
|
+
* @param {Number} charIndex
|
|
26980
|
+
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
26925
26981
|
*/
|
|
26926
26982
|
_getStyleDeclaration(lineIndex, charIndex) {
|
|
26927
26983
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26935,59 +26991,59 @@
|
|
|
26935
26991
|
return super._getStyleDeclaration(lineIndex, charIndex);
|
|
26936
26992
|
}
|
|
26937
26993
|
|
|
26938
|
-
/**
|
|
26939
|
-
* @param {Number} lineIndex
|
|
26940
|
-
* @param {Number} charIndex
|
|
26941
|
-
* @param {Object} style
|
|
26942
|
-
* @private
|
|
26994
|
+
/**
|
|
26995
|
+
* @param {Number} lineIndex
|
|
26996
|
+
* @param {Number} charIndex
|
|
26997
|
+
* @param {Object} style
|
|
26998
|
+
* @private
|
|
26943
26999
|
*/
|
|
26944
27000
|
_setStyleDeclaration(lineIndex, charIndex, style) {
|
|
26945
27001
|
const map = this._styleMap[lineIndex];
|
|
26946
27002
|
super._setStyleDeclaration(map.line, map.offset + charIndex, style);
|
|
26947
27003
|
}
|
|
26948
27004
|
|
|
26949
|
-
/**
|
|
26950
|
-
* @param {Number} lineIndex
|
|
26951
|
-
* @param {Number} charIndex
|
|
26952
|
-
* @private
|
|
27005
|
+
/**
|
|
27006
|
+
* @param {Number} lineIndex
|
|
27007
|
+
* @param {Number} charIndex
|
|
27008
|
+
* @private
|
|
26953
27009
|
*/
|
|
26954
27010
|
_deleteStyleDeclaration(lineIndex, charIndex) {
|
|
26955
27011
|
const map = this._styleMap[lineIndex];
|
|
26956
27012
|
super._deleteStyleDeclaration(map.line, map.offset + charIndex);
|
|
26957
27013
|
}
|
|
26958
27014
|
|
|
26959
|
-
/**
|
|
26960
|
-
* probably broken need a fix
|
|
26961
|
-
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
26962
|
-
* Used just to verify if the line does exist or not.
|
|
26963
|
-
* @param {Number} lineIndex
|
|
26964
|
-
* @returns {Boolean} if the line exists or not
|
|
26965
|
-
* @private
|
|
27015
|
+
/**
|
|
27016
|
+
* probably broken need a fix
|
|
27017
|
+
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
27018
|
+
* Used just to verify if the line does exist or not.
|
|
27019
|
+
* @param {Number} lineIndex
|
|
27020
|
+
* @returns {Boolean} if the line exists or not
|
|
27021
|
+
* @private
|
|
26966
27022
|
*/
|
|
26967
27023
|
_getLineStyle(lineIndex) {
|
|
26968
27024
|
const map = this._styleMap[lineIndex];
|
|
26969
27025
|
return !!this.styles[map.line];
|
|
26970
27026
|
}
|
|
26971
27027
|
|
|
26972
|
-
/**
|
|
26973
|
-
* Set the line style to an empty object so that is initialized
|
|
26974
|
-
* @param {Number} lineIndex
|
|
26975
|
-
* @param {Object} style
|
|
26976
|
-
* @private
|
|
27028
|
+
/**
|
|
27029
|
+
* Set the line style to an empty object so that is initialized
|
|
27030
|
+
* @param {Number} lineIndex
|
|
27031
|
+
* @param {Object} style
|
|
27032
|
+
* @private
|
|
26977
27033
|
*/
|
|
26978
27034
|
_setLineStyle(lineIndex) {
|
|
26979
27035
|
const map = this._styleMap[lineIndex];
|
|
26980
27036
|
super._setLineStyle(map.line);
|
|
26981
27037
|
}
|
|
26982
27038
|
|
|
26983
|
-
/**
|
|
26984
|
-
* Wraps text using the 'width' property of Textbox. First this function
|
|
26985
|
-
* splits text on newlines, so we preserve newlines entered by the user.
|
|
26986
|
-
* Then it wraps each line using the width of the Textbox by calling
|
|
26987
|
-
* _wrapLine().
|
|
26988
|
-
* @param {Array} lines The string array of text that is split into lines
|
|
26989
|
-
* @param {Number} desiredWidth width you want to wrap to
|
|
26990
|
-
* @returns {Array} Array of lines
|
|
27039
|
+
/**
|
|
27040
|
+
* Wraps text using the 'width' property of Textbox. First this function
|
|
27041
|
+
* splits text on newlines, so we preserve newlines entered by the user.
|
|
27042
|
+
* Then it wraps each line using the width of the Textbox by calling
|
|
27043
|
+
* _wrapLine().
|
|
27044
|
+
* @param {Array} lines The string array of text that is split into lines
|
|
27045
|
+
* @param {Number} desiredWidth width you want to wrap to
|
|
27046
|
+
* @returns {Array} Array of lines
|
|
26991
27047
|
*/
|
|
26992
27048
|
_wrapText(lines, desiredWidth) {
|
|
26993
27049
|
this.isWrapping = true;
|
|
@@ -27001,12 +27057,12 @@
|
|
|
27001
27057
|
return wrapped;
|
|
27002
27058
|
}
|
|
27003
27059
|
|
|
27004
|
-
/**
|
|
27005
|
-
* For each line of text terminated by an hard line stop,
|
|
27006
|
-
* measure each word width and extract the largest word from all.
|
|
27007
|
-
* The returned words here are the one that at the end will be rendered.
|
|
27008
|
-
* @param {string[]} lines the lines we need to measure
|
|
27009
|
-
*
|
|
27060
|
+
/**
|
|
27061
|
+
* For each line of text terminated by an hard line stop,
|
|
27062
|
+
* measure each word width and extract the largest word from all.
|
|
27063
|
+
* The returned words here are the one that at the end will be rendered.
|
|
27064
|
+
* @param {string[]} lines the lines we need to measure
|
|
27065
|
+
*
|
|
27010
27066
|
*/
|
|
27011
27067
|
getGraphemeDataForRender(lines) {
|
|
27012
27068
|
const splitByGrapheme = this.splitByGrapheme,
|
|
@@ -27039,17 +27095,17 @@
|
|
|
27039
27095
|
};
|
|
27040
27096
|
}
|
|
27041
27097
|
|
|
27042
|
-
/**
|
|
27043
|
-
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27044
|
-
* It gets called when charBounds are not available yet.
|
|
27045
|
-
* Override if necessary
|
|
27046
|
-
* Use with {@link Textbox#wordSplit}
|
|
27047
|
-
*
|
|
27048
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
27049
|
-
* @param {String} text
|
|
27050
|
-
* @param {number} lineIndex
|
|
27051
|
-
* @param {number} charOffset
|
|
27052
|
-
* @returns {number}
|
|
27098
|
+
/**
|
|
27099
|
+
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27100
|
+
* It gets called when charBounds are not available yet.
|
|
27101
|
+
* Override if necessary
|
|
27102
|
+
* Use with {@link Textbox#wordSplit}
|
|
27103
|
+
*
|
|
27104
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
27105
|
+
* @param {String} text
|
|
27106
|
+
* @param {number} lineIndex
|
|
27107
|
+
* @param {number} charOffset
|
|
27108
|
+
* @returns {number}
|
|
27053
27109
|
*/
|
|
27054
27110
|
_measureWord(word, lineIndex) {
|
|
27055
27111
|
let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -27064,26 +27120,26 @@
|
|
|
27064
27120
|
return width;
|
|
27065
27121
|
}
|
|
27066
27122
|
|
|
27067
|
-
/**
|
|
27068
|
-
* Override this method to customize word splitting
|
|
27069
|
-
* Use with {@link Textbox#_measureWord}
|
|
27070
|
-
* @param {string} value
|
|
27071
|
-
* @returns {string[]} array of words
|
|
27123
|
+
/**
|
|
27124
|
+
* Override this method to customize word splitting
|
|
27125
|
+
* Use with {@link Textbox#_measureWord}
|
|
27126
|
+
* @param {string} value
|
|
27127
|
+
* @returns {string[]} array of words
|
|
27072
27128
|
*/
|
|
27073
27129
|
wordSplit(value) {
|
|
27074
27130
|
return value.split(this._wordJoiners);
|
|
27075
27131
|
}
|
|
27076
27132
|
|
|
27077
|
-
/**
|
|
27078
|
-
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27079
|
-
* and leveraging the known width o words from GraphemeData
|
|
27080
|
-
* @private
|
|
27081
|
-
* @param {Number} lineIndex
|
|
27082
|
-
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27083
|
-
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27084
|
-
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27085
|
-
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27086
|
-
* to.
|
|
27133
|
+
/**
|
|
27134
|
+
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27135
|
+
* and leveraging the known width o words from GraphemeData
|
|
27136
|
+
* @private
|
|
27137
|
+
* @param {Number} lineIndex
|
|
27138
|
+
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27139
|
+
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27140
|
+
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27141
|
+
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27142
|
+
* to.
|
|
27087
27143
|
*/
|
|
27088
27144
|
_wrapLine(lineIndex, desiredWidth, _ref) {
|
|
27089
27145
|
let {
|
|
@@ -27165,11 +27221,11 @@
|
|
|
27165
27221
|
return graphemeLines;
|
|
27166
27222
|
}
|
|
27167
27223
|
|
|
27168
|
-
/**
|
|
27169
|
-
* Detect if the text line is ended with an hard break
|
|
27170
|
-
* text and itext do not have wrapping, return false
|
|
27171
|
-
* @param {Number} lineIndex text to split
|
|
27172
|
-
* @return {Boolean}
|
|
27224
|
+
/**
|
|
27225
|
+
* Detect if the text line is ended with an hard break
|
|
27226
|
+
* text and itext do not have wrapping, return false
|
|
27227
|
+
* @param {Number} lineIndex text to split
|
|
27228
|
+
* @return {Boolean}
|
|
27173
27229
|
*/
|
|
27174
27230
|
isEndOfWrapping(lineIndex) {
|
|
27175
27231
|
if (!this._styleMap[lineIndex + 1]) {
|
|
@@ -27183,12 +27239,12 @@
|
|
|
27183
27239
|
return false;
|
|
27184
27240
|
}
|
|
27185
27241
|
|
|
27186
|
-
/**
|
|
27187
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27188
|
-
* and counting style.
|
|
27189
|
-
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27190
|
-
* If we are not wrapping the offset is always 1
|
|
27191
|
-
* @return Number
|
|
27242
|
+
/**
|
|
27243
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27244
|
+
* and counting style.
|
|
27245
|
+
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27246
|
+
* If we are not wrapping the offset is always 1
|
|
27247
|
+
* @return Number
|
|
27192
27248
|
*/
|
|
27193
27249
|
missingNewlineOffset(lineIndex, skipWrapping) {
|
|
27194
27250
|
if (this.splitByGrapheme && !skipWrapping) {
|
|
@@ -27197,12 +27253,12 @@
|
|
|
27197
27253
|
return 1;
|
|
27198
27254
|
}
|
|
27199
27255
|
|
|
27200
|
-
/**
|
|
27201
|
-
* Gets lines of text to render in the Textbox. This function calculates
|
|
27202
|
-
* text wrapping on the fly every time it is called.
|
|
27203
|
-
* @param {String} text text to split
|
|
27204
|
-
* @returns {Array} Array of lines in the Textbox.
|
|
27205
|
-
* @override
|
|
27256
|
+
/**
|
|
27257
|
+
* Gets lines of text to render in the Textbox. This function calculates
|
|
27258
|
+
* text wrapping on the fly every time it is called.
|
|
27259
|
+
* @param {String} text text to split
|
|
27260
|
+
* @returns {Array} Array of lines in the Textbox.
|
|
27261
|
+
* @override
|
|
27206
27262
|
*/
|
|
27207
27263
|
_splitTextIntoLines(text) {
|
|
27208
27264
|
// Check if we need browser wrapping using smart font detection
|
|
@@ -27249,9 +27305,9 @@
|
|
|
27249
27305
|
return newText;
|
|
27250
27306
|
}
|
|
27251
27307
|
|
|
27252
|
-
/**
|
|
27253
|
-
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27254
|
-
* @private
|
|
27308
|
+
/**
|
|
27309
|
+
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27310
|
+
* @private
|
|
27255
27311
|
*/
|
|
27256
27312
|
_splitTextIntoLinesWithBrowser(text) {
|
|
27257
27313
|
if (typeof document === 'undefined') {
|
|
@@ -27377,9 +27433,9 @@
|
|
|
27377
27433
|
};
|
|
27378
27434
|
}
|
|
27379
27435
|
|
|
27380
|
-
/**
|
|
27381
|
-
* Extract justify space measurements from browser
|
|
27382
|
-
* @private
|
|
27436
|
+
/**
|
|
27437
|
+
* Extract justify space measurements from browser
|
|
27438
|
+
* @private
|
|
27383
27439
|
*/
|
|
27384
27440
|
_extractJustifySpaceMeasurements(element, lines) {
|
|
27385
27441
|
console.log(`🔤 Extracting browser justify space measurements for ${lines.length} lines`);
|
|
@@ -27415,9 +27471,9 @@
|
|
|
27415
27471
|
return spaceWidths;
|
|
27416
27472
|
}
|
|
27417
27473
|
|
|
27418
|
-
/**
|
|
27419
|
-
* Apply browser-calculated justify space measurements
|
|
27420
|
-
* @private
|
|
27474
|
+
/**
|
|
27475
|
+
* Apply browser-calculated justify space measurements
|
|
27476
|
+
* @private
|
|
27421
27477
|
*/
|
|
27422
27478
|
_applyBrowserJustifySpaces() {
|
|
27423
27479
|
if (!this._textLines || !this.__charBounds) {
|
|
@@ -27454,9 +27510,9 @@
|
|
|
27454
27510
|
});
|
|
27455
27511
|
}
|
|
27456
27512
|
|
|
27457
|
-
/**
|
|
27458
|
-
* Fallback to default Fabric wrapping
|
|
27459
|
-
* @private
|
|
27513
|
+
/**
|
|
27514
|
+
* Fallback to default Fabric wrapping
|
|
27515
|
+
* @private
|
|
27460
27516
|
*/
|
|
27461
27517
|
_splitTextIntoLinesDefault(text) {
|
|
27462
27518
|
const newText = super._splitTextIntoLines(text),
|
|
@@ -27488,9 +27544,9 @@
|
|
|
27488
27544
|
}
|
|
27489
27545
|
}
|
|
27490
27546
|
|
|
27491
|
-
/**
|
|
27492
|
-
* Initialize event listeners for safety snap functionality
|
|
27493
|
-
* @private
|
|
27547
|
+
/**
|
|
27548
|
+
* Initialize event listeners for safety snap functionality
|
|
27549
|
+
* @private
|
|
27494
27550
|
*/
|
|
27495
27551
|
initializeEventListeners() {
|
|
27496
27552
|
var _this$canvas4;
|
|
@@ -27533,12 +27589,12 @@
|
|
|
27533
27589
|
});
|
|
27534
27590
|
}
|
|
27535
27591
|
|
|
27536
|
-
/**
|
|
27537
|
-
* Safety snap to prevent glyph clipping after manual resize.
|
|
27538
|
-
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27539
|
-
* and automatically expands width if needed.
|
|
27540
|
-
* @private
|
|
27541
|
-
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
27592
|
+
/**
|
|
27593
|
+
* Safety snap to prevent glyph clipping after manual resize.
|
|
27594
|
+
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27595
|
+
* and automatically expands width if needed.
|
|
27596
|
+
* @private
|
|
27597
|
+
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
27542
27598
|
*/
|
|
27543
27599
|
safetySnapWidth(resizeOrigin) {
|
|
27544
27600
|
// For Textbox objects, we always want to check for clipping regardless of isWrapping flag
|
|
@@ -27605,9 +27661,9 @@
|
|
|
27605
27661
|
}
|
|
27606
27662
|
}
|
|
27607
27663
|
|
|
27608
|
-
/**
|
|
27609
|
-
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27610
|
-
* @private
|
|
27664
|
+
/**
|
|
27665
|
+
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27666
|
+
* @private
|
|
27611
27667
|
*/
|
|
27612
27668
|
_fixCharacterMappingAfterJsonLoad() {
|
|
27613
27669
|
if (this._usingBrowserWrapping) {
|
|
@@ -27627,9 +27683,9 @@
|
|
|
27627
27683
|
}
|
|
27628
27684
|
}
|
|
27629
27685
|
|
|
27630
|
-
/**
|
|
27631
|
-
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27632
|
-
* Overrides Text version with Textbox-specific logic
|
|
27686
|
+
/**
|
|
27687
|
+
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27688
|
+
* Overrides Text version with Textbox-specific logic
|
|
27633
27689
|
*/
|
|
27634
27690
|
forceTextReinitialization() {
|
|
27635
27691
|
console.log('🔄 Force reinitializing Textbox object');
|
|
@@ -27686,31 +27742,31 @@
|
|
|
27686
27742
|
}
|
|
27687
27743
|
}
|
|
27688
27744
|
|
|
27689
|
-
/**
|
|
27690
|
-
* Returns object representation of an instance
|
|
27691
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27692
|
-
* @return {Object} object representation of an instance
|
|
27745
|
+
/**
|
|
27746
|
+
* Returns object representation of an instance
|
|
27747
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27748
|
+
* @return {Object} object representation of an instance
|
|
27693
27749
|
*/
|
|
27694
27750
|
toObject() {
|
|
27695
27751
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
27696
27752
|
return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
|
|
27697
27753
|
}
|
|
27698
27754
|
}
|
|
27699
|
-
/**
|
|
27700
|
-
* Minimum width of textbox, in pixels.
|
|
27701
|
-
* @type Number
|
|
27702
|
-
*/
|
|
27703
|
-
/**
|
|
27704
|
-
* Minimum calculated width of a textbox, in pixels.
|
|
27705
|
-
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27706
|
-
* and is still selectable without text.
|
|
27707
|
-
* @type Number
|
|
27708
|
-
*/
|
|
27709
|
-
/**
|
|
27710
|
-
* Use this boolean property in order to split strings that have no white space concept.
|
|
27711
|
-
* this is a cheap way to help with chinese/japanese
|
|
27712
|
-
* @type Boolean
|
|
27713
|
-
* @since 2.6.0
|
|
27755
|
+
/**
|
|
27756
|
+
* Minimum width of textbox, in pixels.
|
|
27757
|
+
* @type Number
|
|
27758
|
+
*/
|
|
27759
|
+
/**
|
|
27760
|
+
* Minimum calculated width of a textbox, in pixels.
|
|
27761
|
+
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27762
|
+
* and is still selectable without text.
|
|
27763
|
+
* @type Number
|
|
27764
|
+
*/
|
|
27765
|
+
/**
|
|
27766
|
+
* Use this boolean property in order to split strings that have no white space concept.
|
|
27767
|
+
* this is a cheap way to help with chinese/japanese
|
|
27768
|
+
* @type Boolean
|
|
27769
|
+
* @since 2.6.0
|
|
27714
27770
|
*/
|
|
27715
27771
|
_defineProperty(Textbox, "type", 'Textbox');
|
|
27716
27772
|
_defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);
|