@nasser-sw/fabric 7.0.1-beta11 → 7.0.1-beta12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +0 -0
- package/.babelrcAlt +0 -0
- package/.browserslistrc +0 -0
- package/.editorconfig +0 -0
- package/.gitattributes +0 -0
- package/.gitpod.yml +0 -0
- package/.prettierignore +0 -0
- package/.prettierrc +0 -0
- package/0 +0 -0
- package/CHANGELOG.md +0 -0
- package/CODE_OF_CONDUCT.md +0 -0
- package/CONTRIBUTING.md +0 -0
- package/LICENSE +0 -0
- package/OVERLAY_EDITOR_MIGRATION.md +0 -0
- package/README.md +0 -0
- package/SECURITY.md +0 -0
- package/debug/{konva → konva-master}/CHANGELOG.md +2 -1
- package/debug/{konva → konva-master}/LICENSE +0 -0
- package/debug/{konva → konva-master}/README.md +7 -3
- package/debug/{konva → konva-master}/gulpfile.mjs +0 -0
- package/debug/{konva → konva-master}/package.json +1 -1
- package/debug/{konva → konva-master}/release.sh +1 -4
- package/debug/{konva → konva-master}/resources/doc-includes/ContainerParams.txt +0 -0
- package/debug/{konva → konva-master}/resources/doc-includes/NodeParams.txt +0 -0
- package/debug/{konva → konva-master}/resources/doc-includes/ShapeParams.txt +0 -0
- package/debug/{konva → konva-master}/resources/jsdoc.conf.json +0 -0
- package/debug/{konva → konva-master}/rollup.config.mjs +0 -0
- package/debug/{konva → konva-master}/src/Animation.ts +0 -0
- package/debug/{konva → konva-master}/src/BezierFunctions.ts +0 -0
- package/debug/{konva → konva-master}/src/Canvas.ts +37 -0
- package/debug/{konva → konva-master}/src/Container.ts +0 -0
- package/debug/{konva → konva-master}/src/Context.ts +0 -0
- package/debug/{konva → konva-master}/src/Core.ts +0 -0
- package/debug/{konva → konva-master}/src/DragAndDrop.ts +0 -0
- package/debug/{konva → konva-master}/src/Factory.ts +0 -0
- package/debug/{konva → konva-master}/src/FastLayer.ts +0 -0
- package/debug/{konva → konva-master}/src/Global.ts +0 -0
- package/debug/{konva → konva-master}/src/Group.ts +0 -0
- package/debug/{konva → konva-master}/src/Layer.ts +0 -0
- package/debug/{konva → konva-master}/src/Node.ts +0 -0
- package/debug/{konva → konva-master}/src/PointerEvents.ts +0 -0
- package/debug/{konva → konva-master}/src/Shape.ts +0 -0
- package/debug/{konva → konva-master}/src/Stage.ts +0 -0
- package/debug/{konva → konva-master}/src/Tween.ts +0 -0
- package/debug/{konva → konva-master}/src/Util.ts +0 -0
- package/debug/{konva → konva-master}/src/Validators.ts +0 -0
- package/debug/{konva → konva-master}/src/_CoreInternals.ts +0 -0
- package/debug/{konva → konva-master}/src/_FullInternals.ts +0 -0
- package/debug/{konva → konva-master}/src/canvas-backend.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Blur.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Brighten.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Brightness.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Contrast.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Emboss.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Enhance.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Grayscale.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/HSL.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/HSV.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Invert.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Kaleidoscope.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Mask.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Noise.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Pixelate.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Posterize.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/RGB.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/RGBA.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Sepia.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Solarize.ts +0 -0
- package/debug/{konva → konva-master}/src/filters/Threshold.ts +0 -0
- package/debug/{konva → konva-master}/src/index.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Arc.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Arrow.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Circle.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Ellipse.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Image.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Label.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Line.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Path.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Rect.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/RegularPolygon.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Ring.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Sprite.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Star.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Text.ts +2 -2
- package/debug/{konva → konva-master}/src/shapes/TextPath.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Transformer.ts +0 -0
- package/debug/{konva → konva-master}/src/shapes/Wedge.ts +0 -0
- package/debug/{konva → konva-master}/src/skia-backend.ts +0 -0
- package/debug/{konva → konva-master}/src/types.ts +0 -0
- package/debug/{konva → konva-master}/tsconfig.json +0 -0
- package/debug/{konva → konva-master}/tsconfig.test.json +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/index.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/index.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts +0 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts.map +0 -0
- package/dist/extensions/data_updaters/origins/index.d.ts +0 -0
- package/dist/extensions/data_updaters/origins/index.d.ts.map +0 -0
- package/dist/extensions/index.d.ts +0 -0
- package/dist/extensions/index.d.ts.map +0 -0
- package/dist/fabric.d.ts +0 -0
- package/dist/fabric.d.ts.map +0 -0
- package/dist/fabric.min.mjs +0 -0
- package/dist/fabric.min.mjs.map +0 -0
- package/dist/fabric.mjs +0 -0
- package/dist/fabric.mjs.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +1133 -1129
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +1133 -1129
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +1133 -1129
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.d.ts +0 -0
- package/dist/index.node.d.ts.map +0 -0
- package/dist/index.node.mjs +1133 -1129
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.min.mjs.map +0 -0
- package/dist/package.json.mjs +1 -1
- package/dist/package.json.mjs.map +0 -0
- package/dist/src/ClassRegistry.d.ts +0 -0
- package/dist/src/ClassRegistry.d.ts.map +0 -0
- package/dist/src/ClassRegistry.min.mjs +0 -0
- package/dist/src/ClassRegistry.min.mjs.map +0 -0
- package/dist/src/ClassRegistry.mjs +0 -0
- package/dist/src/ClassRegistry.mjs.map +0 -0
- package/dist/src/Collection.d.ts +0 -0
- package/dist/src/Collection.d.ts.map +0 -0
- package/dist/src/Collection.min.mjs +0 -0
- package/dist/src/Collection.min.mjs.map +0 -0
- package/dist/src/Collection.mjs +0 -0
- package/dist/src/Collection.mjs.map +0 -0
- package/dist/src/CommonMethods.d.ts +0 -0
- package/dist/src/CommonMethods.d.ts.map +0 -0
- package/dist/src/CommonMethods.min.mjs +0 -0
- package/dist/src/CommonMethods.min.mjs.map +0 -0
- package/dist/src/CommonMethods.mjs +0 -0
- package/dist/src/CommonMethods.mjs.map +0 -0
- package/dist/src/EventTypeDefs.d.ts +0 -0
- package/dist/src/EventTypeDefs.d.ts.map +0 -0
- package/dist/src/Intersection.d.ts +0 -0
- package/dist/src/Intersection.d.ts.map +0 -0
- package/dist/src/Intersection.min.mjs +0 -0
- package/dist/src/Intersection.min.mjs.map +0 -0
- package/dist/src/Intersection.mjs +0 -0
- package/dist/src/Intersection.mjs.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.mjs +0 -0
- package/dist/src/LayoutManager/LayoutManager.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -0
- package/dist/src/LayoutManager/constants.d.ts +0 -0
- package/dist/src/LayoutManager/constants.d.ts.map +0 -0
- package/dist/src/LayoutManager/constants.min.mjs +0 -0
- package/dist/src/LayoutManager/constants.min.mjs.map +0 -0
- package/dist/src/LayoutManager/constants.mjs +0 -0
- package/dist/src/LayoutManager/constants.mjs.map +0 -0
- package/dist/src/LayoutManager/index.d.ts +0 -0
- package/dist/src/LayoutManager/index.d.ts.map +0 -0
- package/dist/src/LayoutManager/types.d.ts +0 -0
- package/dist/src/LayoutManager/types.d.ts.map +0 -0
- package/dist/src/Observable.d.ts +0 -0
- package/dist/src/Observable.d.ts.map +0 -0
- package/dist/src/Observable.min.mjs +0 -0
- package/dist/src/Observable.min.mjs.map +0 -0
- package/dist/src/Observable.mjs +0 -0
- package/dist/src/Observable.mjs.map +0 -0
- package/dist/src/Pattern/Pattern.d.ts +0 -0
- package/dist/src/Pattern/Pattern.d.ts.map +0 -0
- package/dist/src/Pattern/Pattern.min.mjs +0 -0
- package/dist/src/Pattern/Pattern.min.mjs.map +0 -0
- package/dist/src/Pattern/Pattern.mjs +0 -0
- package/dist/src/Pattern/Pattern.mjs.map +0 -0
- package/dist/src/Pattern/index.d.ts +0 -0
- package/dist/src/Pattern/index.d.ts.map +0 -0
- package/dist/src/Pattern/types.d.ts +0 -0
- package/dist/src/Pattern/types.d.ts.map +0 -0
- package/dist/src/Point.d.ts +0 -0
- package/dist/src/Point.d.ts.map +0 -0
- package/dist/src/Point.min.mjs +0 -0
- package/dist/src/Point.min.mjs.map +0 -0
- package/dist/src/Point.mjs +0 -0
- package/dist/src/Point.mjs.map +0 -0
- package/dist/src/Shadow.d.ts +0 -0
- package/dist/src/Shadow.d.ts.map +0 -0
- package/dist/src/Shadow.min.mjs +0 -0
- package/dist/src/Shadow.min.mjs.map +0 -0
- package/dist/src/Shadow.mjs +0 -0
- package/dist/src/Shadow.mjs.map +0 -0
- package/dist/src/brushes/BaseBrush.d.ts +0 -0
- package/dist/src/brushes/BaseBrush.d.ts.map +0 -0
- package/dist/src/brushes/BaseBrush.min.mjs +0 -0
- package/dist/src/brushes/BaseBrush.min.mjs.map +0 -0
- package/dist/src/brushes/BaseBrush.mjs +0 -0
- package/dist/src/brushes/BaseBrush.mjs.map +0 -0
- package/dist/src/brushes/CircleBrush.d.ts +0 -0
- package/dist/src/brushes/CircleBrush.d.ts.map +0 -0
- package/dist/src/brushes/CircleBrush.min.mjs +0 -0
- package/dist/src/brushes/CircleBrush.min.mjs.map +0 -0
- package/dist/src/brushes/CircleBrush.mjs +0 -0
- package/dist/src/brushes/CircleBrush.mjs.map +0 -0
- package/dist/src/brushes/PatternBrush.d.ts +0 -0
- package/dist/src/brushes/PatternBrush.d.ts.map +0 -0
- package/dist/src/brushes/PatternBrush.min.mjs +0 -0
- package/dist/src/brushes/PatternBrush.min.mjs.map +0 -0
- package/dist/src/brushes/PatternBrush.mjs +0 -0
- package/dist/src/brushes/PatternBrush.mjs.map +0 -0
- package/dist/src/brushes/PencilBrush.d.ts +0 -0
- package/dist/src/brushes/PencilBrush.d.ts.map +0 -0
- package/dist/src/brushes/PencilBrush.min.mjs +0 -0
- package/dist/src/brushes/PencilBrush.min.mjs.map +0 -0
- package/dist/src/brushes/PencilBrush.mjs +0 -0
- package/dist/src/brushes/PencilBrush.mjs.map +0 -0
- package/dist/src/brushes/SprayBrush.d.ts +0 -0
- package/dist/src/brushes/SprayBrush.d.ts.map +0 -0
- package/dist/src/brushes/SprayBrush.min.mjs +0 -0
- package/dist/src/brushes/SprayBrush.min.mjs.map +0 -0
- package/dist/src/brushes/SprayBrush.mjs +0 -0
- package/dist/src/brushes/SprayBrush.mjs.map +0 -0
- package/dist/src/brushes/typedefs.d.ts +0 -0
- package/dist/src/brushes/typedefs.d.ts.map +0 -0
- package/dist/src/cache.d.ts +0 -0
- package/dist/src/cache.d.ts.map +0 -0
- package/dist/src/cache.min.mjs +0 -0
- package/dist/src/cache.min.mjs.map +0 -0
- package/dist/src/cache.mjs +0 -0
- package/dist/src/cache.mjs.map +0 -0
- package/dist/src/canvas/Canvas.d.ts +0 -0
- package/dist/src/canvas/Canvas.d.ts.map +0 -0
- package/dist/src/canvas/Canvas.min.mjs +0 -0
- package/dist/src/canvas/Canvas.min.mjs.map +0 -0
- package/dist/src/canvas/Canvas.mjs +0 -0
- package/dist/src/canvas/Canvas.mjs.map +0 -0
- package/dist/src/canvas/CanvasOptions.d.ts +0 -0
- package/dist/src/canvas/CanvasOptions.d.ts.map +0 -0
- package/dist/src/canvas/CanvasOptions.min.mjs +0 -0
- package/dist/src/canvas/CanvasOptions.min.mjs.map +0 -0
- package/dist/src/canvas/CanvasOptions.mjs +0 -0
- package/dist/src/canvas/CanvasOptions.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/util.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/util.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/util.mjs +0 -0
- package/dist/src/canvas/DOMManagers/util.mjs.map +0 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +0 -0
- package/dist/src/canvas/SelectableCanvas.d.ts.map +0 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs +0 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +0 -0
- package/dist/src/canvas/SelectableCanvas.mjs +0 -0
- package/dist/src/canvas/SelectableCanvas.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvas.d.ts +0 -0
- package/dist/src/canvas/StaticCanvas.d.ts.map +0 -0
- package/dist/src/canvas/StaticCanvas.min.mjs +0 -0
- package/dist/src/canvas/StaticCanvas.min.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvas.mjs +0 -0
- package/dist/src/canvas/StaticCanvas.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts +0 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs +0 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs +0 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs.map +0 -0
- package/dist/src/canvas/TextEditingManager.d.ts +0 -0
- package/dist/src/canvas/TextEditingManager.d.ts.map +0 -0
- package/dist/src/canvas/TextEditingManager.min.mjs +0 -0
- package/dist/src/canvas/TextEditingManager.min.mjs.map +0 -0
- package/dist/src/canvas/TextEditingManager.mjs +0 -0
- package/dist/src/canvas/TextEditingManager.mjs.map +0 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +0 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +0 -0
- package/dist/src/color/Color.d.ts +0 -0
- package/dist/src/color/Color.d.ts.map +0 -0
- package/dist/src/color/Color.min.mjs +0 -0
- package/dist/src/color/Color.min.mjs.map +0 -0
- package/dist/src/color/Color.mjs +0 -0
- package/dist/src/color/Color.mjs.map +0 -0
- package/dist/src/color/color_map.d.ts +0 -0
- package/dist/src/color/color_map.d.ts.map +0 -0
- package/dist/src/color/color_map.min.mjs +0 -0
- package/dist/src/color/color_map.min.mjs.map +0 -0
- package/dist/src/color/color_map.mjs +0 -0
- package/dist/src/color/color_map.mjs.map +0 -0
- package/dist/src/color/constants.d.ts +0 -0
- package/dist/src/color/constants.d.ts.map +0 -0
- package/dist/src/color/constants.min.mjs +0 -0
- package/dist/src/color/constants.min.mjs.map +0 -0
- package/dist/src/color/constants.mjs +0 -0
- package/dist/src/color/constants.mjs.map +0 -0
- package/dist/src/color/typedefs.d.ts +0 -0
- package/dist/src/color/typedefs.d.ts.map +0 -0
- package/dist/src/color/util.d.ts +0 -0
- package/dist/src/color/util.d.ts.map +0 -0
- package/dist/src/color/util.min.mjs +0 -0
- package/dist/src/color/util.min.mjs.map +0 -0
- package/dist/src/color/util.mjs +0 -0
- package/dist/src/color/util.mjs.map +0 -0
- package/dist/src/config.d.ts +0 -0
- package/dist/src/config.d.ts.map +0 -0
- package/dist/src/config.min.mjs +0 -0
- package/dist/src/config.min.mjs.map +0 -0
- package/dist/src/config.mjs +0 -0
- package/dist/src/config.mjs.map +0 -0
- package/dist/src/constants.d.ts +0 -0
- package/dist/src/constants.d.ts.map +0 -0
- package/dist/src/constants.min.mjs +0 -0
- package/dist/src/constants.min.mjs.map +0 -0
- package/dist/src/constants.mjs +0 -0
- package/dist/src/constants.mjs.map +0 -0
- package/dist/src/controls/Control.d.ts +0 -0
- package/dist/src/controls/Control.d.ts.map +0 -0
- package/dist/src/controls/Control.min.mjs +0 -0
- package/dist/src/controls/Control.min.mjs.map +0 -0
- package/dist/src/controls/Control.mjs +0 -0
- package/dist/src/controls/Control.mjs.map +0 -0
- package/dist/src/controls/changeHeight.d.ts +0 -0
- package/dist/src/controls/changeHeight.d.ts.map +0 -0
- package/dist/src/controls/changeWidth.d.ts +0 -0
- package/dist/src/controls/changeWidth.d.ts.map +0 -0
- package/dist/src/controls/changeWidth.min.mjs +0 -0
- package/dist/src/controls/changeWidth.min.mjs.map +0 -0
- package/dist/src/controls/changeWidth.mjs +0 -0
- package/dist/src/controls/changeWidth.mjs.map +0 -0
- package/dist/src/controls/commonControls.d.ts +0 -0
- package/dist/src/controls/commonControls.d.ts.map +0 -0
- package/dist/src/controls/commonControls.min.mjs +0 -0
- package/dist/src/controls/commonControls.min.mjs.map +0 -0
- package/dist/src/controls/commonControls.mjs +0 -0
- package/dist/src/controls/commonControls.mjs.map +0 -0
- package/dist/src/controls/controlRendering.d.ts +0 -0
- package/dist/src/controls/controlRendering.d.ts.map +0 -0
- package/dist/src/controls/controlRendering.min.mjs +0 -0
- package/dist/src/controls/controlRendering.min.mjs.map +0 -0
- package/dist/src/controls/controlRendering.mjs +0 -0
- package/dist/src/controls/controlRendering.mjs.map +0 -0
- package/dist/src/controls/drag.d.ts +0 -0
- package/dist/src/controls/drag.d.ts.map +0 -0
- package/dist/src/controls/drag.min.mjs +0 -0
- package/dist/src/controls/drag.min.mjs.map +0 -0
- package/dist/src/controls/drag.mjs +0 -0
- package/dist/src/controls/drag.mjs.map +0 -0
- package/dist/src/controls/fireEvent.d.ts +0 -0
- package/dist/src/controls/fireEvent.d.ts.map +0 -0
- package/dist/src/controls/fireEvent.min.mjs +0 -0
- package/dist/src/controls/fireEvent.min.mjs.map +0 -0
- package/dist/src/controls/fireEvent.mjs +0 -0
- package/dist/src/controls/fireEvent.mjs.map +0 -0
- package/dist/src/controls/index.d.ts +0 -0
- package/dist/src/controls/index.d.ts.map +0 -0
- package/dist/src/controls/index.min.mjs +0 -0
- package/dist/src/controls/index.min.mjs.map +0 -0
- package/dist/src/controls/index.mjs +0 -0
- package/dist/src/controls/index.mjs.map +0 -0
- package/dist/src/controls/pathControl.d.ts +0 -0
- package/dist/src/controls/pathControl.d.ts.map +0 -0
- package/dist/src/controls/pathControl.min.mjs +0 -0
- package/dist/src/controls/pathControl.min.mjs.map +0 -0
- package/dist/src/controls/pathControl.mjs +0 -0
- package/dist/src/controls/pathControl.mjs.map +0 -0
- package/dist/src/controls/polyControl.d.ts +0 -0
- package/dist/src/controls/polyControl.d.ts.map +0 -0
- package/dist/src/controls/polyControl.min.mjs +0 -0
- package/dist/src/controls/polyControl.min.mjs.map +0 -0
- package/dist/src/controls/polyControl.mjs +0 -0
- package/dist/src/controls/polyControl.mjs.map +0 -0
- package/dist/src/controls/rotate.d.ts +0 -0
- package/dist/src/controls/rotate.d.ts.map +0 -0
- package/dist/src/controls/rotate.min.mjs +0 -0
- package/dist/src/controls/rotate.min.mjs.map +0 -0
- package/dist/src/controls/rotate.mjs +0 -0
- package/dist/src/controls/rotate.mjs.map +0 -0
- package/dist/src/controls/scale.d.ts +0 -0
- package/dist/src/controls/scale.d.ts.map +0 -0
- package/dist/src/controls/scale.min.mjs +0 -0
- package/dist/src/controls/scale.min.mjs.map +0 -0
- package/dist/src/controls/scale.mjs +0 -0
- package/dist/src/controls/scale.mjs.map +0 -0
- package/dist/src/controls/scaleSkew.d.ts +0 -0
- package/dist/src/controls/scaleSkew.d.ts.map +0 -0
- package/dist/src/controls/scaleSkew.min.mjs +0 -0
- package/dist/src/controls/scaleSkew.min.mjs.map +0 -0
- package/dist/src/controls/scaleSkew.mjs +0 -0
- package/dist/src/controls/scaleSkew.mjs.map +0 -0
- package/dist/src/controls/skew.d.ts +0 -0
- package/dist/src/controls/skew.d.ts.map +0 -0
- package/dist/src/controls/skew.min.mjs +0 -0
- package/dist/src/controls/skew.min.mjs.map +0 -0
- package/dist/src/controls/skew.mjs +0 -0
- package/dist/src/controls/skew.mjs.map +0 -0
- package/dist/src/controls/util.d.ts +0 -0
- package/dist/src/controls/util.d.ts.map +0 -0
- package/dist/src/controls/util.min.mjs +0 -0
- package/dist/src/controls/util.min.mjs.map +0 -0
- package/dist/src/controls/util.mjs +0 -0
- package/dist/src/controls/util.mjs.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +0 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs +0 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.mjs +0 -0
- package/dist/src/controls/wrapWithFireEvent.mjs.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs.map +0 -0
- package/dist/src/env/browser.d.ts +0 -0
- package/dist/src/env/browser.d.ts.map +0 -0
- package/dist/src/env/browser.min.mjs +0 -0
- package/dist/src/env/browser.min.mjs.map +0 -0
- package/dist/src/env/browser.mjs +0 -0
- package/dist/src/env/browser.mjs.map +0 -0
- package/dist/src/env/index.d.ts +0 -0
- package/dist/src/env/index.d.ts.map +0 -0
- package/dist/src/env/index.min.mjs +0 -0
- package/dist/src/env/index.min.mjs.map +0 -0
- package/dist/src/env/index.mjs +0 -0
- package/dist/src/env/index.mjs.map +0 -0
- package/dist/src/env/node.d.ts +0 -0
- package/dist/src/env/node.d.ts.map +0 -0
- package/dist/src/env/types.d.ts +0 -0
- package/dist/src/env/types.d.ts.map +0 -0
- package/dist/src/filters/BaseFilter.d.ts +0 -0
- package/dist/src/filters/BaseFilter.d.ts.map +0 -0
- package/dist/src/filters/BaseFilter.min.mjs +0 -0
- package/dist/src/filters/BaseFilter.min.mjs.map +0 -0
- package/dist/src/filters/BaseFilter.mjs +0 -0
- package/dist/src/filters/BaseFilter.mjs.map +0 -0
- package/dist/src/filters/BlendColor.d.ts +0 -0
- package/dist/src/filters/BlendColor.d.ts.map +0 -0
- package/dist/src/filters/BlendColor.min.mjs +0 -0
- package/dist/src/filters/BlendColor.min.mjs.map +0 -0
- package/dist/src/filters/BlendColor.mjs +0 -0
- package/dist/src/filters/BlendColor.mjs.map +0 -0
- package/dist/src/filters/BlendImage.d.ts +0 -0
- package/dist/src/filters/BlendImage.d.ts.map +0 -0
- package/dist/src/filters/BlendImage.min.mjs +0 -0
- package/dist/src/filters/BlendImage.min.mjs.map +0 -0
- package/dist/src/filters/BlendImage.mjs +0 -0
- package/dist/src/filters/BlendImage.mjs.map +0 -0
- package/dist/src/filters/Blur.d.ts +0 -0
- package/dist/src/filters/Blur.d.ts.map +0 -0
- package/dist/src/filters/Blur.min.mjs +0 -0
- package/dist/src/filters/Blur.min.mjs.map +0 -0
- package/dist/src/filters/Blur.mjs +0 -0
- package/dist/src/filters/Blur.mjs.map +0 -0
- package/dist/src/filters/Boilerplate.d.ts +0 -0
- package/dist/src/filters/Boilerplate.d.ts.map +0 -0
- package/dist/src/filters/Brightness.d.ts +0 -0
- package/dist/src/filters/Brightness.d.ts.map +0 -0
- package/dist/src/filters/Brightness.min.mjs +0 -0
- package/dist/src/filters/Brightness.min.mjs.map +0 -0
- package/dist/src/filters/Brightness.mjs +0 -0
- package/dist/src/filters/Brightness.mjs.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs.map +0 -0
- package/dist/src/filters/ColorMatrix.d.ts +0 -0
- package/dist/src/filters/ColorMatrix.d.ts.map +0 -0
- package/dist/src/filters/ColorMatrix.min.mjs +0 -0
- package/dist/src/filters/ColorMatrix.min.mjs.map +0 -0
- package/dist/src/filters/ColorMatrix.mjs +0 -0
- package/dist/src/filters/ColorMatrix.mjs.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +0 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs +0 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.mjs +0 -0
- package/dist/src/filters/ColorMatrixFilters.mjs.map +0 -0
- package/dist/src/filters/Composed.d.ts +0 -0
- package/dist/src/filters/Composed.d.ts.map +0 -0
- package/dist/src/filters/Composed.min.mjs +0 -0
- package/dist/src/filters/Composed.min.mjs.map +0 -0
- package/dist/src/filters/Composed.mjs +0 -0
- package/dist/src/filters/Composed.mjs.map +0 -0
- package/dist/src/filters/Contrast.d.ts +0 -0
- package/dist/src/filters/Contrast.d.ts.map +0 -0
- package/dist/src/filters/Contrast.min.mjs +0 -0
- package/dist/src/filters/Contrast.min.mjs.map +0 -0
- package/dist/src/filters/Contrast.mjs +0 -0
- package/dist/src/filters/Contrast.mjs.map +0 -0
- package/dist/src/filters/Convolute.d.ts +0 -0
- package/dist/src/filters/Convolute.d.ts.map +0 -0
- package/dist/src/filters/Convolute.min.mjs +0 -0
- package/dist/src/filters/Convolute.min.mjs.map +0 -0
- package/dist/src/filters/Convolute.mjs +0 -0
- package/dist/src/filters/Convolute.mjs.map +0 -0
- package/dist/src/filters/FilterBackend.d.ts +0 -0
- package/dist/src/filters/FilterBackend.d.ts.map +0 -0
- package/dist/src/filters/FilterBackend.min.mjs +0 -0
- package/dist/src/filters/FilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/FilterBackend.mjs +0 -0
- package/dist/src/filters/FilterBackend.mjs.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs +0 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs +0 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs.map +0 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +0 -0
- package/dist/src/filters/Gamma.d.ts +0 -0
- package/dist/src/filters/Gamma.d.ts.map +0 -0
- package/dist/src/filters/Gamma.min.mjs +0 -0
- package/dist/src/filters/Gamma.min.mjs.map +0 -0
- package/dist/src/filters/Gamma.mjs +0 -0
- package/dist/src/filters/Gamma.mjs.map +0 -0
- package/dist/src/filters/Grayscale.d.ts +0 -0
- package/dist/src/filters/Grayscale.d.ts.map +0 -0
- package/dist/src/filters/Grayscale.min.mjs +0 -0
- package/dist/src/filters/Grayscale.min.mjs.map +0 -0
- package/dist/src/filters/Grayscale.mjs +0 -0
- package/dist/src/filters/Grayscale.mjs.map +0 -0
- package/dist/src/filters/HueRotation.d.ts +0 -0
- package/dist/src/filters/HueRotation.d.ts.map +0 -0
- package/dist/src/filters/HueRotation.min.mjs +0 -0
- package/dist/src/filters/HueRotation.min.mjs.map +0 -0
- package/dist/src/filters/HueRotation.mjs +0 -0
- package/dist/src/filters/HueRotation.mjs.map +0 -0
- package/dist/src/filters/Invert.d.ts +0 -0
- package/dist/src/filters/Invert.d.ts.map +0 -0
- package/dist/src/filters/Invert.min.mjs +0 -0
- package/dist/src/filters/Invert.min.mjs.map +0 -0
- package/dist/src/filters/Invert.mjs +0 -0
- package/dist/src/filters/Invert.mjs.map +0 -0
- package/dist/src/filters/Noise.d.ts +0 -0
- package/dist/src/filters/Noise.d.ts.map +0 -0
- package/dist/src/filters/Noise.min.mjs +0 -0
- package/dist/src/filters/Noise.min.mjs.map +0 -0
- package/dist/src/filters/Noise.mjs +0 -0
- package/dist/src/filters/Noise.mjs.map +0 -0
- package/dist/src/filters/Pixelate.d.ts +0 -0
- package/dist/src/filters/Pixelate.d.ts.map +0 -0
- package/dist/src/filters/Pixelate.min.mjs +0 -0
- package/dist/src/filters/Pixelate.min.mjs.map +0 -0
- package/dist/src/filters/Pixelate.mjs +0 -0
- package/dist/src/filters/Pixelate.mjs.map +0 -0
- package/dist/src/filters/RemoveColor.d.ts +0 -0
- package/dist/src/filters/RemoveColor.d.ts.map +0 -0
- package/dist/src/filters/RemoveColor.min.mjs +0 -0
- package/dist/src/filters/RemoveColor.min.mjs.map +0 -0
- package/dist/src/filters/RemoveColor.mjs +0 -0
- package/dist/src/filters/RemoveColor.mjs.map +0 -0
- package/dist/src/filters/Resize.d.ts +0 -0
- package/dist/src/filters/Resize.d.ts.map +0 -0
- package/dist/src/filters/Resize.min.mjs +0 -0
- package/dist/src/filters/Resize.min.mjs.map +0 -0
- package/dist/src/filters/Resize.mjs +0 -0
- package/dist/src/filters/Resize.mjs.map +0 -0
- package/dist/src/filters/Saturation.d.ts +0 -0
- package/dist/src/filters/Saturation.d.ts.map +0 -0
- package/dist/src/filters/Saturation.min.mjs +0 -0
- package/dist/src/filters/Saturation.min.mjs.map +0 -0
- package/dist/src/filters/Saturation.mjs +0 -0
- package/dist/src/filters/Saturation.mjs.map +0 -0
- package/dist/src/filters/Vibrance.d.ts +0 -0
- package/dist/src/filters/Vibrance.d.ts.map +0 -0
- package/dist/src/filters/Vibrance.min.mjs +0 -0
- package/dist/src/filters/Vibrance.min.mjs.map +0 -0
- package/dist/src/filters/Vibrance.mjs +0 -0
- package/dist/src/filters/Vibrance.mjs.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +0 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs +0 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.mjs +0 -0
- package/dist/src/filters/WebGLFilterBackend.mjs.map +0 -0
- package/dist/src/filters/filters.d.ts +0 -0
- package/dist/src/filters/filters.d.ts.map +0 -0
- package/dist/src/filters/filters.min.mjs +0 -0
- package/dist/src/filters/filters.min.mjs.map +0 -0
- package/dist/src/filters/filters.mjs +0 -0
- package/dist/src/filters/filters.mjs.map +0 -0
- package/dist/src/filters/index.d.ts +0 -0
- package/dist/src/filters/index.d.ts.map +0 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +0 -0
- package/dist/src/filters/shaders/baseFilter.d.ts.map +0 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs +0 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs.map +0 -0
- package/dist/src/filters/shaders/baseFilter.mjs +0 -0
- package/dist/src/filters/shaders/baseFilter.mjs.map +0 -0
- package/dist/src/filters/shaders/blendColor.d.ts +0 -0
- package/dist/src/filters/shaders/blendColor.d.ts.map +0 -0
- package/dist/src/filters/shaders/blendColor.min.mjs +0 -0
- package/dist/src/filters/shaders/blendColor.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blendColor.mjs +0 -0
- package/dist/src/filters/shaders/blendColor.mjs.map +0 -0
- package/dist/src/filters/shaders/blendImage.d.ts +0 -0
- package/dist/src/filters/shaders/blendImage.d.ts.map +0 -0
- package/dist/src/filters/shaders/blendImage.min.mjs +0 -0
- package/dist/src/filters/shaders/blendImage.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blendImage.mjs +0 -0
- package/dist/src/filters/shaders/blendImage.mjs.map +0 -0
- package/dist/src/filters/shaders/blur.d.ts +0 -0
- package/dist/src/filters/shaders/blur.d.ts.map +0 -0
- package/dist/src/filters/shaders/blur.min.mjs +0 -0
- package/dist/src/filters/shaders/blur.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blur.mjs +0 -0
- package/dist/src/filters/shaders/blur.mjs.map +0 -0
- package/dist/src/filters/shaders/brightness.d.ts +0 -0
- package/dist/src/filters/shaders/brightness.d.ts.map +0 -0
- package/dist/src/filters/shaders/brightness.min.mjs +0 -0
- package/dist/src/filters/shaders/brightness.min.mjs.map +0 -0
- package/dist/src/filters/shaders/brightness.mjs +0 -0
- package/dist/src/filters/shaders/brightness.mjs.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +0 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs +0 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.mjs +0 -0
- package/dist/src/filters/shaders/colorMatrix.mjs.map +0 -0
- package/dist/src/filters/shaders/constrast.d.ts +0 -0
- package/dist/src/filters/shaders/constrast.d.ts.map +0 -0
- package/dist/src/filters/shaders/constrast.min.mjs +0 -0
- package/dist/src/filters/shaders/constrast.min.mjs.map +0 -0
- package/dist/src/filters/shaders/constrast.mjs +0 -0
- package/dist/src/filters/shaders/constrast.mjs.map +0 -0
- package/dist/src/filters/shaders/convolute.d.ts +0 -0
- package/dist/src/filters/shaders/convolute.d.ts.map +0 -0
- package/dist/src/filters/shaders/convolute.min.mjs +0 -0
- package/dist/src/filters/shaders/convolute.min.mjs.map +0 -0
- package/dist/src/filters/shaders/convolute.mjs +0 -0
- package/dist/src/filters/shaders/convolute.mjs.map +0 -0
- package/dist/src/filters/shaders/gamma.d.ts +0 -0
- package/dist/src/filters/shaders/gamma.d.ts.map +0 -0
- package/dist/src/filters/shaders/gamma.min.mjs +0 -0
- package/dist/src/filters/shaders/gamma.min.mjs.map +0 -0
- package/dist/src/filters/shaders/gamma.mjs +0 -0
- package/dist/src/filters/shaders/gamma.mjs.map +0 -0
- package/dist/src/filters/shaders/grayscale.d.ts +0 -0
- package/dist/src/filters/shaders/grayscale.d.ts.map +0 -0
- package/dist/src/filters/shaders/grayscale.min.mjs +0 -0
- package/dist/src/filters/shaders/grayscale.min.mjs.map +0 -0
- package/dist/src/filters/shaders/grayscale.mjs +0 -0
- package/dist/src/filters/shaders/grayscale.mjs.map +0 -0
- package/dist/src/filters/shaders/invert.d.ts +0 -0
- package/dist/src/filters/shaders/invert.d.ts.map +0 -0
- package/dist/src/filters/shaders/invert.min.mjs +0 -0
- package/dist/src/filters/shaders/invert.min.mjs.map +0 -0
- package/dist/src/filters/shaders/invert.mjs +0 -0
- package/dist/src/filters/shaders/invert.mjs.map +0 -0
- package/dist/src/filters/shaders/noise.d.ts +0 -0
- package/dist/src/filters/shaders/noise.d.ts.map +0 -0
- package/dist/src/filters/shaders/noise.min.mjs +0 -0
- package/dist/src/filters/shaders/noise.min.mjs.map +0 -0
- package/dist/src/filters/shaders/noise.mjs +0 -0
- package/dist/src/filters/shaders/noise.mjs.map +0 -0
- package/dist/src/filters/shaders/pixelate.d.ts +0 -0
- package/dist/src/filters/shaders/pixelate.d.ts.map +0 -0
- package/dist/src/filters/shaders/pixelate.min.mjs +0 -0
- package/dist/src/filters/shaders/pixelate.min.mjs.map +0 -0
- package/dist/src/filters/shaders/pixelate.mjs +0 -0
- package/dist/src/filters/shaders/pixelate.mjs.map +0 -0
- package/dist/src/filters/shaders/removeColor.d.ts +0 -0
- package/dist/src/filters/shaders/removeColor.d.ts.map +0 -0
- package/dist/src/filters/shaders/removeColor.min.mjs +0 -0
- package/dist/src/filters/shaders/removeColor.min.mjs.map +0 -0
- package/dist/src/filters/shaders/removeColor.mjs +0 -0
- package/dist/src/filters/shaders/removeColor.mjs.map +0 -0
- package/dist/src/filters/shaders/saturation.d.ts +0 -0
- package/dist/src/filters/shaders/saturation.d.ts.map +0 -0
- package/dist/src/filters/shaders/saturation.min.mjs +0 -0
- package/dist/src/filters/shaders/saturation.min.mjs.map +0 -0
- package/dist/src/filters/shaders/saturation.mjs +0 -0
- package/dist/src/filters/shaders/saturation.mjs.map +0 -0
- package/dist/src/filters/shaders/vibrance.d.ts +0 -0
- package/dist/src/filters/shaders/vibrance.d.ts.map +0 -0
- package/dist/src/filters/shaders/vibrance.min.mjs +0 -0
- package/dist/src/filters/shaders/vibrance.min.mjs.map +0 -0
- package/dist/src/filters/shaders/vibrance.mjs +0 -0
- package/dist/src/filters/shaders/vibrance.mjs.map +0 -0
- package/dist/src/filters/typedefs.d.ts +0 -0
- package/dist/src/filters/typedefs.d.ts.map +0 -0
- package/dist/src/filters/utils.d.ts +0 -0
- package/dist/src/filters/utils.d.ts.map +0 -0
- package/dist/src/filters/utils.min.mjs +0 -0
- package/dist/src/filters/utils.min.mjs.map +0 -0
- package/dist/src/filters/utils.mjs +0 -0
- package/dist/src/filters/utils.mjs.map +0 -0
- package/dist/src/gradient/Gradient.d.ts +0 -0
- package/dist/src/gradient/Gradient.d.ts.map +0 -0
- package/dist/src/gradient/Gradient.min.mjs +0 -0
- package/dist/src/gradient/Gradient.min.mjs.map +0 -0
- package/dist/src/gradient/Gradient.mjs +0 -0
- package/dist/src/gradient/Gradient.mjs.map +0 -0
- package/dist/src/gradient/constants.d.ts +0 -0
- package/dist/src/gradient/constants.d.ts.map +0 -0
- package/dist/src/gradient/constants.min.mjs +0 -0
- package/dist/src/gradient/constants.min.mjs.map +0 -0
- package/dist/src/gradient/constants.mjs +0 -0
- package/dist/src/gradient/constants.mjs.map +0 -0
- package/dist/src/gradient/index.d.ts +0 -0
- package/dist/src/gradient/index.d.ts.map +0 -0
- package/dist/src/gradient/parser/misc.d.ts +0 -0
- package/dist/src/gradient/parser/misc.d.ts.map +0 -0
- package/dist/src/gradient/parser/misc.min.mjs +0 -0
- package/dist/src/gradient/parser/misc.min.mjs.map +0 -0
- package/dist/src/gradient/parser/misc.mjs +0 -0
- package/dist/src/gradient/parser/misc.mjs.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +0 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs +0 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.mjs +0 -0
- package/dist/src/gradient/parser/parseColorStops.mjs.map +0 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +0 -0
- package/dist/src/gradient/parser/parseCoords.d.ts.map +0 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs +0 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs.map +0 -0
- package/dist/src/gradient/parser/parseCoords.mjs +0 -0
- package/dist/src/gradient/parser/parseCoords.mjs.map +0 -0
- package/dist/src/gradient/typedefs.d.ts +0 -0
- package/dist/src/gradient/typedefs.d.ts.map +0 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +0 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts.map +0 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +0 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +0 -0
- package/dist/src/parkinglot/straighten.d.ts +0 -0
- package/dist/src/parkinglot/straighten.d.ts.map +0 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +0 -0
- package/dist/src/parser/applyViewboxTransform.d.ts.map +0 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs +0 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs.map +0 -0
- package/dist/src/parser/applyViewboxTransform.mjs +0 -0
- package/dist/src/parser/applyViewboxTransform.mjs.map +0 -0
- package/dist/src/parser/attributes.d.ts +0 -0
- package/dist/src/parser/attributes.d.ts.map +0 -0
- package/dist/src/parser/attributes.min.mjs +0 -0
- package/dist/src/parser/attributes.min.mjs.map +0 -0
- package/dist/src/parser/attributes.mjs +0 -0
- package/dist/src/parser/attributes.mjs.map +0 -0
- package/dist/src/parser/constants.d.ts +0 -0
- package/dist/src/parser/constants.d.ts.map +0 -0
- package/dist/src/parser/constants.min.mjs +0 -0
- package/dist/src/parser/constants.min.mjs.map +0 -0
- package/dist/src/parser/constants.mjs +0 -0
- package/dist/src/parser/constants.mjs.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +0 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs +0 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.mjs +0 -0
- package/dist/src/parser/doesSomeParentMatch.mjs.map +0 -0
- package/dist/src/parser/elementMatchesRule.d.ts +0 -0
- package/dist/src/parser/elementMatchesRule.d.ts.map +0 -0
- package/dist/src/parser/elementMatchesRule.min.mjs +0 -0
- package/dist/src/parser/elementMatchesRule.min.mjs.map +0 -0
- package/dist/src/parser/elementMatchesRule.mjs +0 -0
- package/dist/src/parser/elementMatchesRule.mjs.map +0 -0
- package/dist/src/parser/elements_parser.d.ts +0 -0
- package/dist/src/parser/elements_parser.d.ts.map +0 -0
- package/dist/src/parser/elements_parser.min.mjs +0 -0
- package/dist/src/parser/elements_parser.min.mjs.map +0 -0
- package/dist/src/parser/elements_parser.mjs +0 -0
- package/dist/src/parser/elements_parser.mjs.map +0 -0
- package/dist/src/parser/getCSSRules.d.ts +0 -0
- package/dist/src/parser/getCSSRules.d.ts.map +0 -0
- package/dist/src/parser/getCSSRules.min.mjs +0 -0
- package/dist/src/parser/getCSSRules.min.mjs.map +0 -0
- package/dist/src/parser/getCSSRules.mjs +0 -0
- package/dist/src/parser/getCSSRules.mjs.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +0 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs +0 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs +0 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs.map +0 -0
- package/dist/src/parser/getGradientDefs.d.ts +0 -0
- package/dist/src/parser/getGradientDefs.d.ts.map +0 -0
- package/dist/src/parser/getGradientDefs.min.mjs +0 -0
- package/dist/src/parser/getGradientDefs.min.mjs.map +0 -0
- package/dist/src/parser/getGradientDefs.mjs +0 -0
- package/dist/src/parser/getGradientDefs.mjs.map +0 -0
- package/dist/src/parser/getMultipleNodes.d.ts +0 -0
- package/dist/src/parser/getMultipleNodes.d.ts.map +0 -0
- package/dist/src/parser/getMultipleNodes.min.mjs +0 -0
- package/dist/src/parser/getMultipleNodes.min.mjs.map +0 -0
- package/dist/src/parser/getMultipleNodes.mjs +0 -0
- package/dist/src/parser/getMultipleNodes.mjs.map +0 -0
- package/dist/src/parser/getSvgRegex.d.ts +0 -0
- package/dist/src/parser/getSvgRegex.d.ts.map +0 -0
- package/dist/src/parser/getSvgRegex.min.mjs +0 -0
- package/dist/src/parser/getSvgRegex.min.mjs.map +0 -0
- package/dist/src/parser/getSvgRegex.mjs +0 -0
- package/dist/src/parser/getSvgRegex.mjs.map +0 -0
- package/dist/src/parser/getTagName.d.ts +0 -0
- package/dist/src/parser/getTagName.d.ts.map +0 -0
- package/dist/src/parser/getTagName.min.mjs +0 -0
- package/dist/src/parser/getTagName.min.mjs.map +0 -0
- package/dist/src/parser/getTagName.mjs +0 -0
- package/dist/src/parser/getTagName.mjs.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts +0 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs +0 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.mjs +0 -0
- package/dist/src/parser/hasInvalidAncestor.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromString.d.ts +0 -0
- package/dist/src/parser/loadSVGFromString.d.ts.map +0 -0
- package/dist/src/parser/loadSVGFromString.min.mjs +0 -0
- package/dist/src/parser/loadSVGFromString.min.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromString.mjs +0 -0
- package/dist/src/parser/loadSVGFromString.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +0 -0
- package/dist/src/parser/loadSVGFromURL.d.ts.map +0 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs +0 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromURL.mjs +0 -0
- package/dist/src/parser/loadSVGFromURL.mjs.map +0 -0
- package/dist/src/parser/normalizeAttr.d.ts +0 -0
- package/dist/src/parser/normalizeAttr.d.ts.map +0 -0
- package/dist/src/parser/normalizeAttr.min.mjs +0 -0
- package/dist/src/parser/normalizeAttr.min.mjs.map +0 -0
- package/dist/src/parser/normalizeAttr.mjs +0 -0
- package/dist/src/parser/normalizeAttr.mjs.map +0 -0
- package/dist/src/parser/normalizeValue.d.ts +0 -0
- package/dist/src/parser/normalizeValue.d.ts.map +0 -0
- package/dist/src/parser/normalizeValue.min.mjs +0 -0
- package/dist/src/parser/normalizeValue.min.mjs.map +0 -0
- package/dist/src/parser/normalizeValue.mjs +0 -0
- package/dist/src/parser/normalizeValue.mjs.map +0 -0
- package/dist/src/parser/parseAttributes.d.ts +0 -0
- package/dist/src/parser/parseAttributes.d.ts.map +0 -0
- package/dist/src/parser/parseAttributes.min.mjs +0 -0
- package/dist/src/parser/parseAttributes.min.mjs.map +0 -0
- package/dist/src/parser/parseAttributes.mjs +0 -0
- package/dist/src/parser/parseAttributes.mjs.map +0 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +0 -0
- package/dist/src/parser/parseFontDeclaration.d.ts.map +0 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs +0 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs.map +0 -0
- package/dist/src/parser/parseFontDeclaration.mjs +0 -0
- package/dist/src/parser/parseFontDeclaration.mjs.map +0 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +0 -0
- package/dist/src/parser/parsePointsAttribute.d.ts.map +0 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs +0 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parsePointsAttribute.mjs +0 -0
- package/dist/src/parser/parsePointsAttribute.mjs.map +0 -0
- package/dist/src/parser/parseSVGDocument.d.ts +0 -0
- package/dist/src/parser/parseSVGDocument.d.ts.map +0 -0
- package/dist/src/parser/parseSVGDocument.min.mjs +0 -0
- package/dist/src/parser/parseSVGDocument.min.mjs.map +0 -0
- package/dist/src/parser/parseSVGDocument.mjs +0 -0
- package/dist/src/parser/parseSVGDocument.mjs.map +0 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +0 -0
- package/dist/src/parser/parseStyleAttribute.d.ts.map +0 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs +0 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleAttribute.mjs +0 -0
- package/dist/src/parser/parseStyleAttribute.mjs.map +0 -0
- package/dist/src/parser/parseStyleObject.d.ts +0 -0
- package/dist/src/parser/parseStyleObject.d.ts.map +0 -0
- package/dist/src/parser/parseStyleObject.min.mjs +0 -0
- package/dist/src/parser/parseStyleObject.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleObject.mjs +0 -0
- package/dist/src/parser/parseStyleObject.mjs.map +0 -0
- package/dist/src/parser/parseStyleString.d.ts +0 -0
- package/dist/src/parser/parseStyleString.d.ts.map +0 -0
- package/dist/src/parser/parseStyleString.min.mjs +0 -0
- package/dist/src/parser/parseStyleString.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleString.mjs +0 -0
- package/dist/src/parser/parseStyleString.mjs.map +0 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +0 -0
- package/dist/src/parser/parseTransformAttribute.d.ts.map +0 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs +0 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parseTransformAttribute.mjs +0 -0
- package/dist/src/parser/parseTransformAttribute.mjs.map +0 -0
- package/dist/src/parser/parseUseDirectives.d.ts +0 -0
- package/dist/src/parser/parseUseDirectives.d.ts.map +0 -0
- package/dist/src/parser/parseUseDirectives.min.mjs +0 -0
- package/dist/src/parser/parseUseDirectives.min.mjs.map +0 -0
- package/dist/src/parser/parseUseDirectives.mjs +0 -0
- package/dist/src/parser/parseUseDirectives.mjs.map +0 -0
- package/dist/src/parser/percent.d.ts +0 -0
- package/dist/src/parser/percent.d.ts.map +0 -0
- package/dist/src/parser/percent.min.mjs +0 -0
- package/dist/src/parser/percent.min.mjs.map +0 -0
- package/dist/src/parser/percent.mjs +0 -0
- package/dist/src/parser/percent.mjs.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +0 -0
- package/dist/src/parser/selectorMatches.d.ts +0 -0
- package/dist/src/parser/selectorMatches.d.ts.map +0 -0
- package/dist/src/parser/selectorMatches.min.mjs +0 -0
- package/dist/src/parser/selectorMatches.min.mjs.map +0 -0
- package/dist/src/parser/selectorMatches.mjs +0 -0
- package/dist/src/parser/selectorMatches.mjs.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +0 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs +0 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs +0 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs.map +0 -0
- package/dist/src/parser/typedefs.d.ts +0 -0
- package/dist/src/parser/typedefs.d.ts.map +0 -0
- package/dist/src/shapes/ActiveSelection.d.ts +0 -0
- package/dist/src/shapes/ActiveSelection.d.ts.map +0 -0
- package/dist/src/shapes/ActiveSelection.min.mjs +0 -0
- package/dist/src/shapes/ActiveSelection.min.mjs.map +0 -0
- package/dist/src/shapes/ActiveSelection.mjs +0 -0
- package/dist/src/shapes/ActiveSelection.mjs.map +0 -0
- package/dist/src/shapes/Circle.d.ts +0 -0
- package/dist/src/shapes/Circle.d.ts.map +0 -0
- package/dist/src/shapes/Circle.min.mjs +0 -0
- package/dist/src/shapes/Circle.min.mjs.map +0 -0
- package/dist/src/shapes/Circle.mjs +0 -0
- package/dist/src/shapes/Circle.mjs.map +0 -0
- package/dist/src/shapes/Ellipse.d.ts +0 -0
- package/dist/src/shapes/Ellipse.d.ts.map +0 -0
- package/dist/src/shapes/Ellipse.min.mjs +0 -0
- package/dist/src/shapes/Ellipse.min.mjs.map +0 -0
- package/dist/src/shapes/Ellipse.mjs +0 -0
- package/dist/src/shapes/Ellipse.mjs.map +0 -0
- package/dist/src/shapes/Group.d.ts +0 -0
- package/dist/src/shapes/Group.d.ts.map +0 -0
- package/dist/src/shapes/Group.min.mjs +0 -0
- package/dist/src/shapes/Group.min.mjs.map +0 -0
- package/dist/src/shapes/Group.mjs +0 -0
- package/dist/src/shapes/Group.mjs.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -0
- package/dist/src/shapes/IText/IText.d.ts +0 -0
- package/dist/src/shapes/IText/IText.d.ts.map +0 -0
- package/dist/src/shapes/IText/IText.min.mjs +0 -0
- package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
- package/dist/src/shapes/IText/IText.mjs +206 -206
- package/dist/src/shapes/IText/IText.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.d.ts +0 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs +0 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.mjs +152 -152
- package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +0 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextClickBehavior.mjs +36 -36
- package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs +115 -115
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -1
- package/dist/src/shapes/IText/constants.d.ts +0 -0
- package/dist/src/shapes/IText/constants.d.ts.map +0 -0
- package/dist/src/shapes/IText/constants.min.mjs +0 -0
- package/dist/src/shapes/IText/constants.min.mjs.map +0 -0
- package/dist/src/shapes/IText/constants.mjs +0 -0
- package/dist/src/shapes/IText/constants.mjs.map +0 -0
- package/dist/src/shapes/Image.d.ts +0 -0
- package/dist/src/shapes/Image.d.ts.map +0 -0
- package/dist/src/shapes/Image.min.mjs +0 -0
- package/dist/src/shapes/Image.min.mjs.map +0 -0
- package/dist/src/shapes/Image.mjs +0 -0
- package/dist/src/shapes/Image.mjs.map +0 -0
- package/dist/src/shapes/Line.d.ts +0 -0
- package/dist/src/shapes/Line.d.ts.map +0 -0
- package/dist/src/shapes/Line.min.mjs +0 -0
- package/dist/src/shapes/Line.min.mjs.map +0 -0
- package/dist/src/shapes/Line.mjs +0 -0
- package/dist/src/shapes/Line.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +0 -0
- package/dist/src/shapes/Object/FabricObject.d.ts.map +0 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs +0 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObject.mjs +0 -0
- package/dist/src/shapes/Object/FabricObject.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +0 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +0 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +0 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs +0 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +0 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs +0 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +0 -0
- package/dist/src/shapes/Object/Object.d.ts +0 -0
- package/dist/src/shapes/Object/Object.d.ts.map +0 -0
- package/dist/src/shapes/Object/Object.min.mjs +0 -0
- package/dist/src/shapes/Object/Object.min.mjs.map +0 -0
- package/dist/src/shapes/Object/Object.mjs +0 -0
- package/dist/src/shapes/Object/Object.mjs.map +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs +0 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs.map +0 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +0 -0
- package/dist/src/shapes/Object/defaultValues.d.ts.map +0 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs +0 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs.map +0 -0
- package/dist/src/shapes/Object/defaultValues.mjs +0 -0
- package/dist/src/shapes/Object/defaultValues.mjs.map +0 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
- package/dist/src/shapes/Object/types/index.d.ts +0 -0
- package/dist/src/shapes/Object/types/index.d.ts.map +0 -0
- package/dist/src/shapes/Path.d.ts +0 -0
- package/dist/src/shapes/Path.d.ts.map +0 -0
- package/dist/src/shapes/Path.min.mjs +0 -0
- package/dist/src/shapes/Path.min.mjs.map +0 -0
- package/dist/src/shapes/Path.mjs +0 -0
- package/dist/src/shapes/Path.mjs.map +0 -0
- package/dist/src/shapes/Polygon.d.ts +0 -0
- package/dist/src/shapes/Polygon.d.ts.map +0 -0
- package/dist/src/shapes/Polygon.min.mjs +0 -0
- package/dist/src/shapes/Polygon.min.mjs.map +0 -0
- package/dist/src/shapes/Polygon.mjs +0 -0
- package/dist/src/shapes/Polygon.mjs.map +0 -0
- package/dist/src/shapes/Polyline.d.ts +0 -0
- package/dist/src/shapes/Polyline.d.ts.map +0 -0
- package/dist/src/shapes/Polyline.min.mjs +0 -0
- package/dist/src/shapes/Polyline.min.mjs.map +0 -0
- package/dist/src/shapes/Polyline.mjs +0 -0
- package/dist/src/shapes/Polyline.mjs.map +0 -0
- package/dist/src/shapes/Rect.d.ts +0 -0
- package/dist/src/shapes/Rect.d.ts.map +0 -0
- package/dist/src/shapes/Rect.min.mjs +0 -0
- package/dist/src/shapes/Rect.min.mjs.map +0 -0
- package/dist/src/shapes/Rect.mjs +0 -0
- package/dist/src/shapes/Rect.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
- package/dist/src/shapes/Text/Text.d.ts +0 -0
- package/dist/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist/src/shapes/Text/Text.min.mjs +1 -1
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.mjs +298 -294
- package/dist/src/shapes/Text/Text.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -0
- package/dist/src/shapes/Text/constants.d.ts +1 -1
- package/dist/src/shapes/Text/constants.d.ts.map +1 -1
- package/dist/src/shapes/Text/constants.min.mjs +1 -1
- package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
- package/dist/src/shapes/Text/constants.mjs +1 -1
- package/dist/src/shapes/Text/constants.mjs.map +1 -1
- package/dist/src/shapes/Textbox.d.ts +0 -0
- package/dist/src/shapes/Textbox.d.ts.map +0 -0
- package/dist/src/shapes/Textbox.min.mjs +0 -0
- package/dist/src/shapes/Textbox.min.mjs.map +1 -1
- package/dist/src/shapes/Textbox.mjs +168 -168
- package/dist/src/shapes/Textbox.mjs.map +1 -1
- package/dist/src/shapes/Triangle.d.ts +0 -0
- package/dist/src/shapes/Triangle.d.ts.map +0 -0
- package/dist/src/shapes/Triangle.min.mjs +0 -0
- package/dist/src/shapes/Triangle.min.mjs.map +0 -0
- package/dist/src/shapes/Triangle.mjs +0 -0
- package/dist/src/shapes/Triangle.mjs.map +0 -0
- package/dist/src/text/browserLines.d.ts +0 -0
- package/dist/src/text/browserLines.d.ts.map +0 -0
- package/dist/src/text/browserLines.min.mjs +0 -0
- package/dist/src/text/browserLines.min.mjs.map +1 -1
- package/dist/src/text/browserLines.mjs +20 -20
- package/dist/src/text/browserLines.mjs.map +1 -1
- package/dist/src/text/ellipsis.d.ts +0 -0
- package/dist/src/text/ellipsis.d.ts.map +0 -0
- package/dist/src/text/ellipsis.min.mjs +0 -0
- package/dist/src/text/ellipsis.min.mjs.map +1 -1
- package/dist/src/text/ellipsis.mjs +11 -11
- package/dist/src/text/ellipsis.mjs.map +1 -1
- package/dist/src/text/examples/arabicTextExample.d.ts +60 -0
- package/dist/src/text/examples/arabicTextExample.d.ts.map +1 -0
- package/dist/src/text/hitTest.d.ts +0 -0
- package/dist/src/text/hitTest.d.ts.map +0 -0
- package/dist/src/text/hitTest.min.mjs +0 -0
- package/dist/src/text/hitTest.min.mjs.map +1 -1
- package/dist/src/text/hitTest.mjs +19 -19
- package/dist/src/text/hitTest.mjs.map +1 -1
- package/dist/src/text/layout.d.ts +0 -0
- package/dist/src/text/layout.d.ts.map +0 -0
- package/dist/src/text/layout.min.mjs +0 -0
- package/dist/src/text/layout.min.mjs.map +1 -1
- package/dist/src/text/layout.mjs +33 -33
- package/dist/src/text/layout.mjs.map +1 -1
- package/dist/src/text/measure.d.ts +0 -0
- package/dist/src/text/measure.d.ts.map +0 -0
- package/dist/src/text/measure.min.mjs +0 -0
- package/dist/src/text/measure.min.mjs.map +1 -1
- package/dist/src/text/measure.mjs +30 -30
- package/dist/src/text/measure.mjs.map +1 -1
- package/dist/src/text/overlayEditor.d.ts +0 -0
- package/dist/src/text/overlayEditor.d.ts.map +0 -0
- package/dist/src/text/overlayEditor.min.mjs +0 -0
- package/dist/src/text/overlayEditor.min.mjs.map +1 -1
- package/dist/src/text/overlayEditor.mjs +33 -33
- package/dist/src/text/overlayEditor.mjs.map +1 -1
- package/dist/src/text/scriptUtils.d.ts +142 -0
- package/dist/src/text/scriptUtils.d.ts.map +1 -0
- package/dist/src/text/scriptUtils.min.mjs +2 -0
- package/dist/src/text/scriptUtils.min.mjs.map +1 -0
- package/dist/src/text/scriptUtils.mjs +212 -0
- package/dist/src/text/scriptUtils.mjs.map +1 -0
- package/dist/src/text/unicode.d.ts +0 -0
- package/dist/src/text/unicode.d.ts.map +0 -0
- package/dist/src/text/unicode.min.mjs +0 -0
- package/dist/src/text/unicode.min.mjs.map +1 -1
- package/dist/src/text/unicode.mjs +8 -8
- package/dist/src/text/unicode.mjs.map +1 -1
- package/dist/src/typedefs.d.ts +0 -0
- package/dist/src/typedefs.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationBase.d.ts +0 -0
- package/dist/src/util/animation/AnimationBase.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationBase.min.mjs +0 -0
- package/dist/src/util/animation/AnimationBase.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationBase.mjs +0 -0
- package/dist/src/util/animation/AnimationBase.mjs.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +0 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs +0 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.mjs +0 -0
- package/dist/src/util/animation/AnimationRegistry.mjs.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +0 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.mjs +0 -0
- package/dist/src/util/animation/ArrayAnimation.mjs.map +0 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +0 -0
- package/dist/src/util/animation/ColorAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ColorAnimation.mjs +0 -0
- package/dist/src/util/animation/ColorAnimation.mjs.map +0 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +0 -0
- package/dist/src/util/animation/ValueAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ValueAnimation.mjs +0 -0
- package/dist/src/util/animation/ValueAnimation.mjs.map +0 -0
- package/dist/src/util/animation/animate.d.ts +0 -0
- package/dist/src/util/animation/animate.d.ts.map +0 -0
- package/dist/src/util/animation/animate.min.mjs +0 -0
- package/dist/src/util/animation/animate.min.mjs.map +0 -0
- package/dist/src/util/animation/animate.mjs +0 -0
- package/dist/src/util/animation/animate.mjs.map +0 -0
- package/dist/src/util/animation/easing.d.ts +0 -0
- package/dist/src/util/animation/easing.d.ts.map +0 -0
- package/dist/src/util/animation/easing.min.mjs +0 -0
- package/dist/src/util/animation/easing.min.mjs.map +0 -0
- package/dist/src/util/animation/easing.mjs +0 -0
- package/dist/src/util/animation/easing.mjs.map +0 -0
- package/dist/src/util/animation/index.d.ts +0 -0
- package/dist/src/util/animation/index.d.ts.map +0 -0
- package/dist/src/util/animation/types.d.ts +0 -0
- package/dist/src/util/animation/types.d.ts.map +0 -0
- package/dist/src/util/applyMixins.d.ts +0 -0
- package/dist/src/util/applyMixins.d.ts.map +0 -0
- package/dist/src/util/applyMixins.min.mjs +0 -0
- package/dist/src/util/applyMixins.min.mjs.map +0 -0
- package/dist/src/util/applyMixins.mjs +0 -0
- package/dist/src/util/applyMixins.mjs.map +0 -0
- package/dist/src/util/dom_event.d.ts +0 -0
- package/dist/src/util/dom_event.d.ts.map +0 -0
- package/dist/src/util/dom_event.min.mjs +0 -0
- package/dist/src/util/dom_event.min.mjs.map +0 -0
- package/dist/src/util/dom_event.mjs +0 -0
- package/dist/src/util/dom_event.mjs.map +0 -0
- package/dist/src/util/dom_misc.d.ts +0 -0
- package/dist/src/util/dom_misc.d.ts.map +0 -0
- package/dist/src/util/dom_misc.min.mjs +0 -0
- package/dist/src/util/dom_misc.min.mjs.map +0 -0
- package/dist/src/util/dom_misc.mjs +0 -0
- package/dist/src/util/dom_misc.mjs.map +0 -0
- package/dist/src/util/index.d.ts +0 -0
- package/dist/src/util/index.d.ts.map +0 -0
- package/dist/src/util/index.min.mjs +0 -0
- package/dist/src/util/index.min.mjs.map +0 -0
- package/dist/src/util/index.mjs +0 -0
- package/dist/src/util/index.mjs.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts +0 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs +0 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs +0 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +0 -0
- package/dist/src/util/internals/cloneStyles.d.ts +0 -0
- package/dist/src/util/internals/cloneStyles.d.ts.map +0 -0
- package/dist/src/util/internals/cloneStyles.min.mjs +0 -0
- package/dist/src/util/internals/cloneStyles.min.mjs.map +0 -0
- package/dist/src/util/internals/cloneStyles.mjs +0 -0
- package/dist/src/util/internals/cloneStyles.mjs.map +0 -0
- package/dist/src/util/internals/console.d.ts +0 -0
- package/dist/src/util/internals/console.d.ts.map +0 -0
- package/dist/src/util/internals/console.min.mjs +0 -0
- package/dist/src/util/internals/console.min.mjs.map +0 -0
- package/dist/src/util/internals/console.mjs +0 -0
- package/dist/src/util/internals/console.mjs.map +0 -0
- package/dist/src/util/internals/dom_style.d.ts +0 -0
- package/dist/src/util/internals/dom_style.d.ts.map +0 -0
- package/dist/src/util/internals/dom_style.min.mjs +0 -0
- package/dist/src/util/internals/dom_style.min.mjs.map +0 -0
- package/dist/src/util/internals/dom_style.mjs +0 -0
- package/dist/src/util/internals/dom_style.mjs.map +0 -0
- package/dist/src/util/internals/findRight.d.ts +0 -0
- package/dist/src/util/internals/findRight.d.ts.map +0 -0
- package/dist/src/util/internals/findRight.min.mjs +0 -0
- package/dist/src/util/internals/findRight.min.mjs.map +0 -0
- package/dist/src/util/internals/findRight.mjs +0 -0
- package/dist/src/util/internals/findRight.mjs.map +0 -0
- package/dist/src/util/internals/getRandomInt.d.ts +0 -0
- package/dist/src/util/internals/getRandomInt.d.ts.map +0 -0
- package/dist/src/util/internals/getRandomInt.min.mjs +0 -0
- package/dist/src/util/internals/getRandomInt.min.mjs.map +0 -0
- package/dist/src/util/internals/getRandomInt.mjs +0 -0
- package/dist/src/util/internals/getRandomInt.mjs.map +0 -0
- package/dist/src/util/internals/ifNaN.d.ts +0 -0
- package/dist/src/util/internals/ifNaN.d.ts.map +0 -0
- package/dist/src/util/internals/ifNaN.min.mjs +0 -0
- package/dist/src/util/internals/ifNaN.min.mjs.map +0 -0
- package/dist/src/util/internals/ifNaN.mjs +0 -0
- package/dist/src/util/internals/ifNaN.mjs.map +0 -0
- package/dist/src/util/internals/removeFromArray.d.ts +0 -0
- package/dist/src/util/internals/removeFromArray.d.ts.map +0 -0
- package/dist/src/util/internals/removeFromArray.min.mjs +0 -0
- package/dist/src/util/internals/removeFromArray.min.mjs.map +0 -0
- package/dist/src/util/internals/removeFromArray.mjs +0 -0
- package/dist/src/util/internals/removeFromArray.mjs.map +0 -0
- package/dist/src/util/internals/uid.d.ts +0 -0
- package/dist/src/util/internals/uid.d.ts.map +0 -0
- package/dist/src/util/internals/uid.min.mjs +0 -0
- package/dist/src/util/internals/uid.min.mjs.map +0 -0
- package/dist/src/util/internals/uid.mjs +0 -0
- package/dist/src/util/internals/uid.mjs.map +0 -0
- package/dist/src/util/lang_string.d.ts +0 -0
- package/dist/src/util/lang_string.d.ts.map +0 -0
- package/dist/src/util/lang_string.min.mjs +0 -0
- package/dist/src/util/lang_string.min.mjs.map +0 -0
- package/dist/src/util/lang_string.mjs +0 -0
- package/dist/src/util/lang_string.mjs.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +0 -0
- package/dist/src/util/misc/capValue.d.ts +0 -0
- package/dist/src/util/misc/capValue.d.ts.map +0 -0
- package/dist/src/util/misc/capValue.min.mjs +0 -0
- package/dist/src/util/misc/capValue.min.mjs.map +0 -0
- package/dist/src/util/misc/capValue.mjs +0 -0
- package/dist/src/util/misc/capValue.mjs.map +0 -0
- package/dist/src/util/misc/cornerRadius.d.ts +0 -0
- package/dist/src/util/misc/cornerRadius.d.ts.map +0 -0
- package/dist/src/util/misc/cornerRadius.min.mjs +0 -0
- package/dist/src/util/misc/cornerRadius.min.mjs.map +0 -0
- package/dist/src/util/misc/cornerRadius.mjs +0 -0
- package/dist/src/util/misc/cornerRadius.mjs.map +0 -0
- package/dist/src/util/misc/cos.d.ts +0 -0
- package/dist/src/util/misc/cos.d.ts.map +0 -0
- package/dist/src/util/misc/cos.min.mjs +0 -0
- package/dist/src/util/misc/cos.min.mjs.map +0 -0
- package/dist/src/util/misc/cos.mjs +0 -0
- package/dist/src/util/misc/cos.mjs.map +0 -0
- package/dist/src/util/misc/dom.d.ts +0 -0
- package/dist/src/util/misc/dom.d.ts.map +0 -0
- package/dist/src/util/misc/dom.min.mjs +0 -0
- package/dist/src/util/misc/dom.min.mjs.map +0 -0
- package/dist/src/util/misc/dom.mjs +0 -0
- package/dist/src/util/misc/dom.mjs.map +0 -0
- package/dist/src/util/misc/findScaleTo.d.ts +0 -0
- package/dist/src/util/misc/findScaleTo.d.ts.map +0 -0
- package/dist/src/util/misc/findScaleTo.min.mjs +0 -0
- package/dist/src/util/misc/findScaleTo.min.mjs.map +0 -0
- package/dist/src/util/misc/findScaleTo.mjs +0 -0
- package/dist/src/util/misc/findScaleTo.mjs.map +0 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +0 -0
- package/dist/src/util/misc/groupSVGElements.d.ts.map +0 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs +0 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs.map +0 -0
- package/dist/src/util/misc/groupSVGElements.mjs +0 -0
- package/dist/src/util/misc/groupSVGElements.mjs.map +0 -0
- package/dist/src/util/misc/isTransparent.d.ts +0 -0
- package/dist/src/util/misc/isTransparent.d.ts.map +0 -0
- package/dist/src/util/misc/isTransparent.min.mjs +0 -0
- package/dist/src/util/misc/isTransparent.min.mjs.map +0 -0
- package/dist/src/util/misc/isTransparent.mjs +0 -0
- package/dist/src/util/misc/isTransparent.mjs.map +0 -0
- package/dist/src/util/misc/matrix.d.ts +0 -0
- package/dist/src/util/misc/matrix.d.ts.map +0 -0
- package/dist/src/util/misc/matrix.min.mjs +0 -0
- package/dist/src/util/misc/matrix.min.mjs.map +0 -0
- package/dist/src/util/misc/matrix.mjs +0 -0
- package/dist/src/util/misc/matrix.mjs.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +0 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs +0 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.mjs +0 -0
- package/dist/src/util/misc/mergeClipPaths.mjs.map +0 -0
- package/dist/src/util/misc/objectEnlive.d.ts +0 -0
- package/dist/src/util/misc/objectEnlive.d.ts.map +0 -0
- package/dist/src/util/misc/objectEnlive.min.mjs +0 -0
- package/dist/src/util/misc/objectEnlive.min.mjs.map +0 -0
- package/dist/src/util/misc/objectEnlive.mjs +0 -0
- package/dist/src/util/misc/objectEnlive.mjs.map +0 -0
- package/dist/src/util/misc/objectTransforms.d.ts +0 -0
- package/dist/src/util/misc/objectTransforms.d.ts.map +0 -0
- package/dist/src/util/misc/objectTransforms.min.mjs +0 -0
- package/dist/src/util/misc/objectTransforms.min.mjs.map +0 -0
- package/dist/src/util/misc/objectTransforms.mjs +0 -0
- package/dist/src/util/misc/objectTransforms.mjs.map +0 -0
- package/dist/src/util/misc/pick.d.ts +0 -0
- package/dist/src/util/misc/pick.d.ts.map +0 -0
- package/dist/src/util/misc/pick.min.mjs +0 -0
- package/dist/src/util/misc/pick.min.mjs.map +0 -0
- package/dist/src/util/misc/pick.mjs +0 -0
- package/dist/src/util/misc/pick.mjs.map +0 -0
- package/dist/src/util/misc/planeChange.d.ts +0 -0
- package/dist/src/util/misc/planeChange.d.ts.map +0 -0
- package/dist/src/util/misc/planeChange.min.mjs +0 -0
- package/dist/src/util/misc/planeChange.min.mjs.map +0 -0
- package/dist/src/util/misc/planeChange.mjs +0 -0
- package/dist/src/util/misc/planeChange.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/index.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/index.mjs +0 -0
- package/dist/src/util/misc/projectStroke/index.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/types.d.ts.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs.map +0 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +0 -0
- package/dist/src/util/misc/resolveOrigin.d.ts.map +0 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs +0 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs.map +0 -0
- package/dist/src/util/misc/resolveOrigin.mjs +0 -0
- package/dist/src/util/misc/resolveOrigin.mjs.map +0 -0
- package/dist/src/util/misc/sin.d.ts +0 -0
- package/dist/src/util/misc/sin.d.ts.map +0 -0
- package/dist/src/util/misc/sin.min.mjs +0 -0
- package/dist/src/util/misc/sin.min.mjs.map +0 -0
- package/dist/src/util/misc/sin.mjs +0 -0
- package/dist/src/util/misc/sin.mjs.map +0 -0
- package/dist/src/util/misc/svgExport.d.ts +0 -0
- package/dist/src/util/misc/svgExport.d.ts.map +0 -0
- package/dist/src/util/misc/svgExport.min.mjs +0 -0
- package/dist/src/util/misc/svgExport.min.mjs.map +0 -0
- package/dist/src/util/misc/svgExport.mjs +0 -0
- package/dist/src/util/misc/svgExport.mjs.map +0 -0
- package/dist/src/util/misc/svgParsing.d.ts +0 -0
- package/dist/src/util/misc/svgParsing.d.ts.map +0 -0
- package/dist/src/util/misc/svgParsing.min.mjs +0 -0
- package/dist/src/util/misc/svgParsing.min.mjs.map +0 -0
- package/dist/src/util/misc/svgParsing.mjs +0 -0
- package/dist/src/util/misc/svgParsing.mjs.map +0 -0
- package/dist/src/util/misc/textStyles.d.ts +0 -0
- package/dist/src/util/misc/textStyles.d.ts.map +0 -0
- package/dist/src/util/misc/textStyles.min.mjs +0 -0
- package/dist/src/util/misc/textStyles.min.mjs.map +0 -0
- package/dist/src/util/misc/textStyles.mjs +0 -0
- package/dist/src/util/misc/textStyles.mjs.map +0 -0
- package/dist/src/util/misc/toFixed.d.ts +0 -0
- package/dist/src/util/misc/toFixed.d.ts.map +0 -0
- package/dist/src/util/misc/toFixed.min.mjs +0 -0
- package/dist/src/util/misc/toFixed.min.mjs.map +0 -0
- package/dist/src/util/misc/toFixed.mjs +0 -0
- package/dist/src/util/misc/toFixed.mjs.map +0 -0
- package/dist/src/util/misc/vectors.d.ts +0 -0
- package/dist/src/util/misc/vectors.d.ts.map +0 -0
- package/dist/src/util/misc/vectors.min.mjs +0 -0
- package/dist/src/util/misc/vectors.min.mjs.map +0 -0
- package/dist/src/util/misc/vectors.mjs +0 -0
- package/dist/src/util/misc/vectors.mjs.map +0 -0
- package/dist/src/util/path/index.d.ts +0 -0
- package/dist/src/util/path/index.d.ts.map +0 -0
- package/dist/src/util/path/index.min.mjs +0 -0
- package/dist/src/util/path/index.min.mjs.map +0 -0
- package/dist/src/util/path/index.mjs +0 -0
- package/dist/src/util/path/index.mjs.map +0 -0
- package/dist/src/util/path/regex.d.ts +0 -0
- package/dist/src/util/path/regex.d.ts.map +0 -0
- package/dist/src/util/path/regex.min.mjs +0 -0
- package/dist/src/util/path/regex.min.mjs.map +0 -0
- package/dist/src/util/path/regex.mjs +0 -0
- package/dist/src/util/path/regex.mjs.map +0 -0
- package/dist/src/util/path/typechecks.d.ts +0 -0
- package/dist/src/util/path/typechecks.d.ts.map +0 -0
- package/dist/src/util/path/typedefs.d.ts +0 -0
- package/dist/src/util/path/typedefs.d.ts.map +0 -0
- package/dist/src/util/transform_matrix_removal.d.ts +0 -0
- package/dist/src/util/transform_matrix_removal.d.ts.map +0 -0
- package/dist/src/util/transform_matrix_removal.min.mjs +0 -0
- package/dist/src/util/transform_matrix_removal.min.mjs.map +0 -0
- package/dist/src/util/transform_matrix_removal.mjs +0 -0
- package/dist/src/util/transform_matrix_removal.mjs.map +0 -0
- package/dist/src/util/typeAssertions.d.ts +0 -0
- package/dist/src/util/typeAssertions.d.ts.map +0 -0
- package/dist/src/util/typeAssertions.min.mjs +0 -0
- package/dist/src/util/typeAssertions.min.mjs.map +0 -0
- package/dist/src/util/typeAssertions.mjs +0 -0
- package/dist/src/util/typeAssertions.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/constant.mjs +0 -0
- package/dist-extensions/aligning_guidelines/constant.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/index.mjs +0 -0
- package/dist-extensions/aligning_guidelines/index.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -0
- package/dist-extensions/data_updaters/gradient/index.mjs +0 -0
- package/dist-extensions/data_updaters/gradient/index.mjs.map +0 -0
- package/dist-extensions/data_updaters/origins/index.mjs +0 -0
- package/dist-extensions/data_updaters/origins/index.mjs.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +0 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +0 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts +0 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +0 -0
- package/dist-extensions/extensions/index.d.ts +0 -0
- package/dist-extensions/extensions/index.d.ts.map +0 -0
- package/dist-extensions/fabric-extensions.min.js +0 -0
- package/dist-extensions/fabric-extensions.min.js.map +0 -0
- package/dist-extensions/fabric.d.ts +0 -0
- package/dist-extensions/fabric.d.ts.map +0 -0
- package/dist-extensions/index.d.ts +0 -0
- package/dist-extensions/index.d.ts.map +0 -0
- package/dist-extensions/index.mjs +0 -0
- package/dist-extensions/index.mjs.map +0 -0
- package/dist-extensions/src/ClassRegistry.d.ts +0 -0
- package/dist-extensions/src/ClassRegistry.d.ts.map +0 -0
- package/dist-extensions/src/Collection.d.ts +0 -0
- package/dist-extensions/src/Collection.d.ts.map +0 -0
- package/dist-extensions/src/CommonMethods.d.ts +0 -0
- package/dist-extensions/src/CommonMethods.d.ts.map +0 -0
- package/dist-extensions/src/EventTypeDefs.d.ts +0 -0
- package/dist-extensions/src/EventTypeDefs.d.ts.map +0 -0
- package/dist-extensions/src/Intersection.d.ts +0 -0
- package/dist-extensions/src/Intersection.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/index.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/index.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/types.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/types.d.ts.map +0 -0
- package/dist-extensions/src/Observable.d.ts +0 -0
- package/dist-extensions/src/Observable.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts +0 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/index.d.ts +0 -0
- package/dist-extensions/src/Pattern/index.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/types.d.ts +0 -0
- package/dist-extensions/src/Pattern/types.d.ts.map +0 -0
- package/dist-extensions/src/Point.d.ts +0 -0
- package/dist-extensions/src/Point.d.ts.map +0 -0
- package/dist-extensions/src/Shadow.d.ts +0 -0
- package/dist-extensions/src/Shadow.d.ts.map +0 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/typedefs.d.ts +0 -0
- package/dist-extensions/src/brushes/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/cache.d.ts +0 -0
- package/dist-extensions/src/cache.d.ts.map +0 -0
- package/dist-extensions/src/canvas/Canvas.d.ts +0 -0
- package/dist-extensions/src/canvas/Canvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts +0 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +0 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts +0 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts +0 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +0 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts +0 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +0 -0
- package/dist-extensions/src/color/Color.d.ts +0 -0
- package/dist-extensions/src/color/Color.d.ts.map +0 -0
- package/dist-extensions/src/color/color_map.d.ts +0 -0
- package/dist-extensions/src/color/color_map.d.ts.map +0 -0
- package/dist-extensions/src/color/constants.d.ts +0 -0
- package/dist-extensions/src/color/constants.d.ts.map +0 -0
- package/dist-extensions/src/color/typedefs.d.ts +0 -0
- package/dist-extensions/src/color/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/color/util.d.ts +0 -0
- package/dist-extensions/src/color/util.d.ts.map +0 -0
- package/dist-extensions/src/config.d.ts +0 -0
- package/dist-extensions/src/config.d.ts.map +0 -0
- package/dist-extensions/src/constants.d.ts +0 -0
- package/dist-extensions/src/constants.d.ts.map +0 -0
- package/dist-extensions/src/controls/Control.d.ts +0 -0
- package/dist-extensions/src/controls/Control.d.ts.map +0 -0
- package/dist-extensions/src/controls/changeHeight.d.ts +0 -0
- package/dist-extensions/src/controls/changeHeight.d.ts.map +0 -0
- package/dist-extensions/src/controls/changeWidth.d.ts +0 -0
- package/dist-extensions/src/controls/changeWidth.d.ts.map +0 -0
- package/dist-extensions/src/controls/commonControls.d.ts +0 -0
- package/dist-extensions/src/controls/commonControls.d.ts.map +0 -0
- package/dist-extensions/src/controls/controlRendering.d.ts +0 -0
- package/dist-extensions/src/controls/controlRendering.d.ts.map +0 -0
- package/dist-extensions/src/controls/drag.d.ts +0 -0
- package/dist-extensions/src/controls/drag.d.ts.map +0 -0
- package/dist-extensions/src/controls/fireEvent.d.ts +0 -0
- package/dist-extensions/src/controls/fireEvent.d.ts.map +0 -0
- package/dist-extensions/src/controls/index.d.ts +0 -0
- package/dist-extensions/src/controls/index.d.ts.map +0 -0
- package/dist-extensions/src/controls/pathControl.d.ts +0 -0
- package/dist-extensions/src/controls/pathControl.d.ts.map +0 -0
- package/dist-extensions/src/controls/polyControl.d.ts +0 -0
- package/dist-extensions/src/controls/polyControl.d.ts.map +0 -0
- package/dist-extensions/src/controls/rotate.d.ts +0 -0
- package/dist-extensions/src/controls/rotate.d.ts.map +0 -0
- package/dist-extensions/src/controls/scale.d.ts +0 -0
- package/dist-extensions/src/controls/scale.d.ts.map +0 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts +0 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts.map +0 -0
- package/dist-extensions/src/controls/skew.d.ts +0 -0
- package/dist-extensions/src/controls/skew.d.ts.map +0 -0
- package/dist-extensions/src/controls/util.d.ts +0 -0
- package/dist-extensions/src/controls/util.d.ts.map +0 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +0 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +0 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +0 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
- package/dist-extensions/src/env/browser.d.ts +0 -0
- package/dist-extensions/src/env/browser.d.ts.map +0 -0
- package/dist-extensions/src/env/index.d.ts +0 -0
- package/dist-extensions/src/env/index.d.ts.map +0 -0
- package/dist-extensions/src/env/types.d.ts +0 -0
- package/dist-extensions/src/env/types.d.ts.map +0 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts +0 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts.map +0 -0
- package/dist-extensions/src/filters/BlendColor.d.ts +0 -0
- package/dist-extensions/src/filters/BlendColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/BlendImage.d.ts +0 -0
- package/dist-extensions/src/filters/BlendImage.d.ts.map +0 -0
- package/dist-extensions/src/filters/Blur.d.ts +0 -0
- package/dist-extensions/src/filters/Blur.d.ts.map +0 -0
- package/dist-extensions/src/filters/Brightness.d.ts +0 -0
- package/dist-extensions/src/filters/Brightness.d.ts.map +0 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts +0 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts.map +0 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +0 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +0 -0
- package/dist-extensions/src/filters/Composed.d.ts +0 -0
- package/dist-extensions/src/filters/Composed.d.ts.map +0 -0
- package/dist-extensions/src/filters/Contrast.d.ts +0 -0
- package/dist-extensions/src/filters/Contrast.d.ts.map +0 -0
- package/dist-extensions/src/filters/Convolute.d.ts +0 -0
- package/dist-extensions/src/filters/Convolute.d.ts.map +0 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +0 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
- package/dist-extensions/src/filters/Gamma.d.ts +0 -0
- package/dist-extensions/src/filters/Gamma.d.ts.map +0 -0
- package/dist-extensions/src/filters/Grayscale.d.ts +0 -0
- package/dist-extensions/src/filters/Grayscale.d.ts.map +0 -0
- package/dist-extensions/src/filters/HueRotation.d.ts +0 -0
- package/dist-extensions/src/filters/HueRotation.d.ts.map +0 -0
- package/dist-extensions/src/filters/Invert.d.ts +0 -0
- package/dist-extensions/src/filters/Invert.d.ts.map +0 -0
- package/dist-extensions/src/filters/Noise.d.ts +0 -0
- package/dist-extensions/src/filters/Noise.d.ts.map +0 -0
- package/dist-extensions/src/filters/Pixelate.d.ts +0 -0
- package/dist-extensions/src/filters/Pixelate.d.ts.map +0 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts +0 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/Resize.d.ts +0 -0
- package/dist-extensions/src/filters/Resize.d.ts.map +0 -0
- package/dist-extensions/src/filters/Saturation.d.ts +0 -0
- package/dist-extensions/src/filters/Saturation.d.ts.map +0 -0
- package/dist-extensions/src/filters/Vibrance.d.ts +0 -0
- package/dist-extensions/src/filters/Vibrance.d.ts.map +0 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/filters.d.ts +0 -0
- package/dist-extensions/src/filters/filters.d.ts.map +0 -0
- package/dist-extensions/src/filters/index.d.ts +0 -0
- package/dist-extensions/src/filters/index.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +0 -0
- package/dist-extensions/src/filters/typedefs.d.ts +0 -0
- package/dist-extensions/src/filters/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/filters/utils.d.ts +0 -0
- package/dist-extensions/src/filters/utils.d.ts.map +0 -0
- package/dist-extensions/src/gradient/Gradient.d.ts +0 -0
- package/dist-extensions/src/gradient/Gradient.d.ts.map +0 -0
- package/dist-extensions/src/gradient/constants.d.ts +0 -0
- package/dist-extensions/src/gradient/constants.d.ts.map +0 -0
- package/dist-extensions/src/gradient/index.d.ts +0 -0
- package/dist-extensions/src/gradient/index.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +0 -0
- package/dist-extensions/src/gradient/typedefs.d.ts +0 -0
- package/dist-extensions/src/gradient/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts +0 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +0 -0
- package/dist-extensions/src/parser/attributes.d.ts +0 -0
- package/dist-extensions/src/parser/attributes.d.ts.map +0 -0
- package/dist-extensions/src/parser/constants.d.ts +0 -0
- package/dist-extensions/src/parser/constants.d.ts.map +0 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +0 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +0 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts +0 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +0 -0
- package/dist-extensions/src/parser/elements_parser.d.ts +0 -0
- package/dist-extensions/src/parser/elements_parser.d.ts.map +0 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts +0 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts.map +0 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +0 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts +0 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts.map +0 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts +0 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +0 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts +0 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts.map +0 -0
- package/dist-extensions/src/parser/getTagName.d.ts +0 -0
- package/dist-extensions/src/parser/getTagName.d.ts.map +0 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +0 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +0 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts +0 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +0 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts +0 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +0 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts +0 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts.map +0 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts +0 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts +0 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts +0 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +0 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts +0 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts +0 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +0 -0
- package/dist-extensions/src/parser/percent.d.ts +0 -0
- package/dist-extensions/src/parser/percent.d.ts.map +0 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts +0 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts.map +0 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +0 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
- package/dist-extensions/src/parser/typedefs.d.ts +0 -0
- package/dist-extensions/src/parser/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts +0 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Circle.d.ts +0 -0
- package/dist-extensions/src/shapes/Circle.d.ts.map +0 -0
- package/dist-extensions/src/shapes/CustomLine.d.ts +10 -0
- package/dist-extensions/src/shapes/CustomLine.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts +0 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Group.d.ts +0 -0
- package/dist-extensions/src/shapes/Group.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Image.d.ts +0 -0
- package/dist-extensions/src/shapes/Image.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Line.d.ts +0 -0
- package/dist-extensions/src/shapes/Line.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts +0 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Path.d.ts +0 -0
- package/dist-extensions/src/shapes/Path.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Polygon.d.ts +0 -0
- package/dist-extensions/src/shapes/Polygon.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Polyline.d.ts +0 -0
- package/dist-extensions/src/shapes/Polyline.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Rect.d.ts +0 -0
- package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts +1 -1
- package/dist-extensions/src/shapes/Text/constants.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Textbox.d.ts +0 -0
- package/dist-extensions/src/shapes/Textbox.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Triangle.d.ts +0 -0
- package/dist-extensions/src/shapes/Triangle.d.ts.map +0 -0
- package/dist-extensions/src/text/browserLines.d.ts +0 -0
- package/dist-extensions/src/text/browserLines.d.ts.map +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
- package/dist-extensions/src/text/hitTest.d.ts +0 -0
- package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
- package/dist-extensions/src/text/layout.d.ts +0 -0
- package/dist-extensions/src/text/layout.d.ts.map +0 -0
- package/dist-extensions/src/text/measure.d.ts +0 -0
- package/dist-extensions/src/text/measure.d.ts.map +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts.map +0 -0
- package/dist-extensions/src/text/scriptUtils.d.ts +142 -0
- package/dist-extensions/src/text/scriptUtils.d.ts.map +1 -0
- package/dist-extensions/src/text/unicode.d.ts +0 -0
- package/dist-extensions/src/text/unicode.d.ts.map +0 -0
- package/dist-extensions/src/typedefs.d.ts +0 -0
- package/dist-extensions/src/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/animate.d.ts +0 -0
- package/dist-extensions/src/util/animation/animate.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/easing.d.ts +0 -0
- package/dist-extensions/src/util/animation/easing.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/index.d.ts +0 -0
- package/dist-extensions/src/util/animation/index.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/types.d.ts +0 -0
- package/dist-extensions/src/util/animation/types.d.ts.map +0 -0
- package/dist-extensions/src/util/applyMixins.d.ts +0 -0
- package/dist-extensions/src/util/applyMixins.d.ts.map +0 -0
- package/dist-extensions/src/util/dom_event.d.ts +0 -0
- package/dist-extensions/src/util/dom_event.d.ts.map +0 -0
- package/dist-extensions/src/util/dom_misc.d.ts +0 -0
- package/dist-extensions/src/util/dom_misc.d.ts.map +0 -0
- package/dist-extensions/src/util/index.d.ts +0 -0
- package/dist-extensions/src/util/index.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +0 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts +0 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/console.d.ts +0 -0
- package/dist-extensions/src/util/internals/console.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts +0 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/findRight.d.ts +0 -0
- package/dist-extensions/src/util/internals/findRight.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts +0 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts +0 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts +0 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/uid.d.ts +0 -0
- package/dist-extensions/src/util/internals/uid.d.ts.map +0 -0
- package/dist-extensions/src/util/lang_string.d.ts +0 -0
- package/dist-extensions/src/util/lang_string.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/capValue.d.ts +0 -0
- package/dist-extensions/src/util/misc/capValue.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/cornerRadius.d.ts +0 -0
- package/dist-extensions/src/util/misc/cornerRadius.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/cos.d.ts +0 -0
- package/dist-extensions/src/util/misc/cos.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/dom.d.ts +0 -0
- package/dist-extensions/src/util/misc/dom.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts +0 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts +0 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts +0 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/matrix.d.ts +0 -0
- package/dist-extensions/src/util/misc/matrix.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +0 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts +0 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts +0 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/pick.d.ts +0 -0
- package/dist-extensions/src/util/misc/pick.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts +0 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts +0 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +0 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts +0 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/sin.d.ts +0 -0
- package/dist-extensions/src/util/misc/sin.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts +0 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts +0 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts +0 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts +0 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/vectors.d.ts +0 -0
- package/dist-extensions/src/util/misc/vectors.d.ts.map +0 -0
- package/dist-extensions/src/util/path/index.d.ts +0 -0
- package/dist-extensions/src/util/path/index.d.ts.map +0 -0
- package/dist-extensions/src/util/path/regex.d.ts +0 -0
- package/dist-extensions/src/util/path/regex.d.ts.map +0 -0
- package/dist-extensions/src/util/path/typedefs.d.ts +0 -0
- package/dist-extensions/src/util/path/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts +0 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +0 -0
- package/dist-extensions/src/util/typeAssertions.d.ts +0 -0
- package/dist-extensions/src/util/typeAssertions.d.ts.map +0 -0
- package/docs/fabric-konva-gap-analysis.md +0 -0
- package/docs/konva-text-behavior-spec.md +0 -0
- package/docs/text-engine-design.md +0 -0
- package/eslint.config.mjs +0 -0
- package/examples/overlay-edit.html +416 -416
- package/extensions/README.MD +0 -0
- package/extensions/aligning_guidelines/README.MD +0 -0
- package/extensions/aligning_guidelines/constant.ts +0 -0
- package/extensions/aligning_guidelines/index.ts +0 -0
- package/extensions/aligning_guidelines/typedefs.ts +0 -0
- package/extensions/aligning_guidelines/util/basic.spec.ts +0 -0
- package/extensions/aligning_guidelines/util/basic.ts +0 -0
- package/extensions/aligning_guidelines/util/collect-line.ts +0 -0
- package/extensions/aligning_guidelines/util/collect-point.ts +0 -0
- package/extensions/aligning_guidelines/util/draw.ts +0 -0
- package/extensions/aligning_guidelines/util/get-objects-by-target.ts +0 -0
- package/extensions/data_updaters/README.md +0 -0
- package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +0 -0
- package/extensions/data_updaters/gradient/index.spec.ts +0 -0
- package/extensions/data_updaters/gradient/index.ts +0 -0
- package/extensions/data_updaters/origins/README.md +0 -0
- package/extensions/data_updaters/origins/index.spec.ts +0 -0
- package/extensions/data_updaters/origins/index.ts +0 -0
- package/extensions/index.ts +0 -0
- package/fabric-test-editor.html +3552 -0
- package/fabric-test2.html +647 -0
- package/fabric.ts +182 -182
- package/fonts/STV Bold.ttf +0 -0
- package/fonts/STV Light.ttf +0 -0
- package/fonts/STV Regular.ttf +0 -0
- package/index.node.ts +0 -0
- package/index.ts +0 -0
- package/lib/aligning_guidelines.js +0 -0
- package/lib/centering_guidelines.js +0 -0
- package/lib/event.js +0 -0
- package/package.json +164 -164
- package/playwright.config.ts +0 -0
- package/playwright.setup.ts +0 -0
- package/publish-next.js +0 -0
- package/publish.js +0 -0
- package/rollup.config.mjs +0 -0
- package/rtl-debug.html +745 -0
- package/scripts/bench-text.js +591 -591
- package/scripts/build.mjs +0 -0
- package/scripts/buildLock.mjs +0 -0
- package/scripts/buildReporter.mjs +0 -0
- package/scripts/buildStats.mjs +0 -0
- package/scripts/dirname.mjs +0 -0
- package/scripts/git.mjs +0 -0
- package/scripts/index.mjs +0 -0
- package/scripts/sandbox.mjs +0 -0
- package/src/ClassRegistry.spec.ts +0 -0
- package/src/ClassRegistry.ts +0 -0
- package/src/Collection.spec.ts +0 -0
- package/src/Collection.ts +0 -0
- package/src/CommonMethods.ts +0 -0
- package/src/EventTypeDefs.ts +0 -0
- package/src/Intersection.spec.ts +0 -0
- package/src/Intersection.ts +0 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +0 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.ts +0 -0
- package/src/LayoutManager/LayoutManager.spec.ts +0 -0
- package/src/LayoutManager/LayoutManager.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +0 -0
- package/src/LayoutManager/LayoutStrategies/utils.ts +0 -0
- package/src/LayoutManager/README.md +0 -0
- package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +0 -0
- package/src/LayoutManager/constants.ts +0 -0
- package/src/LayoutManager/index.ts +0 -0
- package/src/LayoutManager/types.ts +0 -0
- package/src/Observable.spec.ts +0 -0
- package/src/Observable.ts +0 -0
- package/src/Pattern/Pattern.spec.ts +0 -0
- package/src/Pattern/Pattern.ts +0 -0
- package/src/Pattern/index.ts +0 -0
- package/src/Pattern/types.ts +0 -0
- package/src/Point.spec.ts +0 -0
- package/src/Point.ts +0 -0
- package/src/Shadow.spec.ts +0 -0
- package/src/Shadow.ts +0 -0
- package/src/__snapshots__/Shadow.spec.ts.snap +0 -0
- package/src/brushes/BaseBrush.spec.ts +0 -0
- package/src/brushes/BaseBrush.ts +0 -0
- package/src/brushes/CircleBrush.test.ts +0 -0
- package/src/brushes/CircleBrush.ts +0 -0
- package/src/brushes/PatternBrush.ts +0 -0
- package/src/brushes/PencilBrush.spec.ts +0 -0
- package/src/brushes/PencilBrush.ts +0 -0
- package/src/brushes/SprayBrush.ts +0 -0
- package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +0 -0
- package/src/brushes/typedefs.ts +0 -0
- package/src/cache.spec.ts +0 -0
- package/src/cache.ts +0 -0
- package/src/canvas/Canvas-dispose.spec.ts +0 -0
- package/src/canvas/Canvas-events.spec.ts +0 -0
- package/src/canvas/Canvas.spec.ts +0 -0
- package/src/canvas/Canvas.ts +0 -0
- package/src/canvas/CanvasOptions.ts +0 -0
- package/src/canvas/DOMManagers/CanvasDOMManager.ts +0 -0
- package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +0 -0
- package/src/canvas/DOMManagers/util.spec.ts +0 -0
- package/src/canvas/DOMManagers/util.ts +0 -0
- package/src/canvas/SelectableCanvas.spec.ts +0 -0
- package/src/canvas/SelectableCanvas.ts +0 -0
- package/src/canvas/StaticCanvas.spec.ts +0 -0
- package/src/canvas/StaticCanvas.ts +0 -0
- package/src/canvas/StaticCanvasOptions.ts +0 -0
- package/src/canvas/TextEditingManager.ts +0 -0
- package/src/canvas/__tests__/SelectableCanvas.spec.ts +0 -0
- package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +0 -0
- package/src/canvas/__tests__/eventData.test.ts +0 -0
- package/src/canvas/canvas_gestures.mixin.ts +0 -0
- package/src/color/Color.ts +0 -0
- package/src/color/color.test.ts +0 -0
- package/src/color/color_map.ts +0 -0
- package/src/color/constants.ts +0 -0
- package/src/color/typedefs.ts +0 -0
- package/src/color/util.ts +0 -0
- package/src/config.ts +0 -0
- package/src/constants.ts +0 -0
- package/src/controls/Control-cursor.spec.ts +0 -0
- package/src/controls/Control-handlers.spec.ts +0 -0
- package/src/controls/Control.spec.ts +0 -0
- package/src/controls/Control.ts +0 -0
- package/src/controls/changeHeight.ts +0 -0
- package/src/controls/changeWidth.test.ts +0 -0
- package/src/controls/changeWidth.ts +0 -0
- package/src/controls/commonControls.ts +0 -0
- package/src/controls/controlRendering.ts +0 -0
- package/src/controls/drag.ts +0 -0
- package/src/controls/fireEvent.ts +0 -0
- package/src/controls/index.ts +0 -0
- package/src/controls/pathControl.spec.ts +0 -0
- package/src/controls/pathControl.ts +0 -0
- package/src/controls/polyControl.spec.ts +0 -0
- package/src/controls/polyControl.ts +0 -0
- package/src/controls/rotate.ts +0 -0
- package/src/controls/scale.test.ts +0 -0
- package/src/controls/scale.ts +0 -0
- package/src/controls/scaleSkew.ts +0 -0
- package/src/controls/skew.ts +0 -0
- package/src/controls/util.ts +0 -0
- package/src/controls/wrapWithFireEvent.ts +0 -0
- package/src/controls/wrapWithFixedAnchor.spec.ts +0 -0
- package/src/controls/wrapWithFixedAnchor.ts +0 -0
- package/src/env/browser.ts +0 -0
- package/src/env/env.spec.ts +0 -0
- package/src/env/index.ts +0 -0
- package/src/env/node.ts +0 -0
- package/src/env/types.ts +0 -0
- package/src/filters/BaseFilter.spec.ts +0 -0
- package/src/filters/BaseFilter.ts +0 -0
- package/src/filters/BlendColor.ts +0 -0
- package/src/filters/BlendImage.ts +0 -0
- package/src/filters/Blur.ts +0 -0
- package/src/filters/Boilerplate.ts +0 -0
- package/src/filters/Brightness.ts +0 -0
- package/src/filters/Canvas2dFilterBackend.ts +0 -0
- package/src/filters/ColorMatrix.spec.ts +0 -0
- package/src/filters/ColorMatrix.ts +0 -0
- package/src/filters/ColorMatrixFilters.ts +0 -0
- package/src/filters/Composed.ts +0 -0
- package/src/filters/Contrast.ts +0 -0
- package/src/filters/Convolute.ts +0 -0
- package/src/filters/FilterBackend.ts +0 -0
- package/src/filters/GLProbes/GLProbe.ts +0 -0
- package/src/filters/GLProbes/NodeGLProbe.ts +0 -0
- package/src/filters/GLProbes/WebGLProbe.ts +0 -0
- package/src/filters/Gamma.ts +0 -0
- package/src/filters/Grayscale.ts +0 -0
- package/src/filters/HueRotation.ts +0 -0
- package/src/filters/Invert.ts +0 -0
- package/src/filters/Noise.ts +0 -0
- package/src/filters/Pixelate.ts +0 -0
- package/src/filters/RemoveColor.ts +0 -0
- package/src/filters/Resize.ts +0 -0
- package/src/filters/Saturation.ts +0 -0
- package/src/filters/Vibrance.ts +0 -0
- package/src/filters/WebGLFilterBackend.spec.ts +0 -0
- package/src/filters/WebGLFilterBackend.ts +0 -0
- package/src/filters/filters.ts +0 -0
- package/src/filters/index.ts +0 -0
- package/src/filters/shaders/baseFilter.ts +0 -0
- package/src/filters/shaders/blendColor.ts +0 -0
- package/src/filters/shaders/blendImage.ts +0 -0
- package/src/filters/shaders/blur.ts +0 -0
- package/src/filters/shaders/brightness.ts +0 -0
- package/src/filters/shaders/colorMatrix.ts +0 -0
- package/src/filters/shaders/constrast.ts +0 -0
- package/src/filters/shaders/convolute.ts +0 -0
- package/src/filters/shaders/gamma.ts +0 -0
- package/src/filters/shaders/grayscale.ts +0 -0
- package/src/filters/shaders/invert.ts +0 -0
- package/src/filters/shaders/noise.ts +0 -0
- package/src/filters/shaders/pixelate.ts +0 -0
- package/src/filters/shaders/removeColor.ts +0 -0
- package/src/filters/shaders/saturation.ts +0 -0
- package/src/filters/shaders/vibrance.ts +0 -0
- package/src/filters/typedefs.ts +0 -0
- package/src/filters/utils.ts +0 -0
- package/src/gradient/Gradient.spec.ts +0 -0
- package/src/gradient/Gradient.ts +0 -0
- package/src/gradient/constants.ts +0 -0
- package/src/gradient/index.ts +0 -0
- package/src/gradient/parser/misc.ts +0 -0
- package/src/gradient/parser/parseColorStops.ts +0 -0
- package/src/gradient/parser/parseCoords.ts +0 -0
- package/src/gradient/typedefs.ts +0 -0
- package/src/mixins/eraser_brush.mixin.ts +0 -0
- package/src/parkinglot/canvas_animation.mixin.ts +0 -0
- package/src/parkinglot/straighten.ts +0 -0
- package/src/parser/applyViewboxTransform.spec.ts +0 -0
- package/src/parser/applyViewboxTransform.ts +0 -0
- package/src/parser/attributes.ts +0 -0
- package/src/parser/constants.spec.ts +0 -0
- package/src/parser/constants.ts +0 -0
- package/src/parser/doesSomeParentMatch.ts +0 -0
- package/src/parser/elementMatchesRule.ts +0 -0
- package/src/parser/elements_parser.ts +0 -0
- package/src/parser/getCSSRules.spec.ts +0 -0
- package/src/parser/getCSSRules.ts +0 -0
- package/src/parser/getGlobalStylesForElement.ts +0 -0
- package/src/parser/getGradientDefs.ts +0 -0
- package/src/parser/getMultipleNodes.ts +0 -0
- package/src/parser/getSvgRegex.ts +0 -0
- package/src/parser/getTagName.ts +0 -0
- package/src/parser/hasInvalidAncestor.ts +0 -0
- package/src/parser/loadSVGFromString.test.ts +0 -0
- package/src/parser/loadSVGFromString.ts +0 -0
- package/src/parser/loadSVGFromURL.ts +0 -0
- package/src/parser/normalizeAttr.ts +0 -0
- package/src/parser/normalizeValue.ts +0 -0
- package/src/parser/parseAttributes.ts +0 -0
- package/src/parser/parseFontDeclaration.ts +0 -0
- package/src/parser/parsePointsAttribute.ts +0 -0
- package/src/parser/parseSVGDocument.ts +0 -0
- package/src/parser/parseStyleAttribute.ts +0 -0
- package/src/parser/parseStyleObject.ts +0 -0
- package/src/parser/parseStyleString.ts +0 -0
- package/src/parser/parseTransformAttribute.ts +0 -0
- package/src/parser/parseUseDirectives.test.ts +0 -0
- package/src/parser/parseUseDirectives.ts +0 -0
- package/src/parser/parser.spec.ts +0 -0
- package/src/parser/percent.ts +0 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +0 -0
- package/src/parser/selectorMatches.ts +0 -0
- package/src/parser/setStrokeFillOpacity.ts +0 -0
- package/src/parser/typedefs.ts +0 -0
- package/src/shapes/ActiveSelection.spec.ts +0 -0
- package/src/shapes/ActiveSelection.ts +0 -0
- package/src/shapes/Circle.spec.ts +0 -0
- package/src/shapes/Circle.ts +0 -0
- package/src/shapes/Ellipse.spec.ts +0 -0
- package/src/shapes/Ellipse.ts +0 -0
- package/src/shapes/Group.spec.ts +0 -0
- package/src/shapes/Group.ts +0 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +0 -0
- package/src/shapes/IText/IText-click-behavior.spec.ts +0 -0
- package/src/shapes/IText/IText.test.ts +0 -0
- package/src/shapes/IText/IText.ts +846 -846
- package/src/shapes/IText/ITextBehavior.test.ts +0 -0
- package/src/shapes/IText/ITextBehavior.ts +1187 -1187
- package/src/shapes/IText/ITextClickBehavior.ts +254 -254
- package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +732 -732
- package/src/shapes/IText/__snapshots__/IText.test.ts.snap +0 -0
- package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +0 -0
- package/src/shapes/IText/constants.ts +0 -0
- package/src/shapes/Image-filters.spec.ts +0 -0
- package/src/shapes/Image.spec.ts +0 -0
- package/src/shapes/Image.ts +0 -0
- package/src/shapes/Line.spec.ts +0 -0
- package/src/shapes/Line.ts +0 -0
- package/src/shapes/Object/FabricObject.spec.ts +0 -0
- package/src/shapes/Object/FabricObject.ts +0 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +0 -0
- package/src/shapes/Object/InteractiveObject.spec.ts +0 -0
- package/src/shapes/Object/InteractiveObject.ts +0 -0
- package/src/shapes/Object/Object-clip-path.spec.ts +0 -0
- package/src/shapes/Object/Object-interactivity.spec.ts +0 -0
- package/src/shapes/Object/Object.spec.ts +0 -0
- package/src/shapes/Object/Object.ts +0 -0
- package/src/shapes/Object/ObjectGeometry.spec.ts +0 -0
- package/src/shapes/Object/ObjectGeometry.ts +0 -0
- package/src/shapes/Object/ObjectOrigin.spec.ts +0 -0
- package/src/shapes/Object/ObjectSerialization.spec.ts +0 -0
- package/src/shapes/Object/StackedObject.spec.ts +0 -0
- package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +0 -0
- package/src/shapes/Object/defaultValues.ts +0 -0
- package/src/shapes/Object/types/BaseProps.ts +0 -0
- package/src/shapes/Object/types/BorderProps.ts +0 -0
- package/src/shapes/Object/types/ControlProps.ts +0 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +0 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +0 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +0 -0
- package/src/shapes/Object/types/ObjectProps.ts +0 -0
- package/src/shapes/Object/types/ObjectTransformProps.ts +0 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +0 -0
- package/src/shapes/Object/types/index.ts +0 -0
- package/src/shapes/Path.spec.ts +0 -0
- package/src/shapes/Path.ts +0 -0
- package/src/shapes/Polygon.spec.ts +0 -0
- package/src/shapes/Polygon.ts +0 -0
- package/src/shapes/Polyline.spec.ts +0 -0
- package/src/shapes/Polyline.ts +0 -0
- package/src/shapes/Rect.spec.ts +0 -0
- package/src/shapes/Rect.ts +0 -0
- package/src/shapes/Text/StyledText.spec.ts +0 -0
- package/src/shapes/Text/StyledText.ts +0 -0
- package/src/shapes/Text/Text.spec.ts +0 -0
- package/src/shapes/Text/Text.ts +2463 -2459
- package/src/shapes/Text/TextSVGExportMixin.spec.ts +0 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +0 -0
- package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +0 -0
- package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +0 -0
- package/src/shapes/Text/constants.ts +135 -134
- package/src/shapes/Textbox.spec.ts +0 -0
- package/src/shapes/Textbox.ts +1320 -1320
- package/src/shapes/Triangle.spec.ts +0 -0
- package/src/shapes/Triangle.ts +0 -0
- package/src/shapes/__snapshots__/Image.spec.ts.snap +0 -0
- package/src/shapes/__snapshots__/Textbox.spec.ts.snap +0 -0
- package/src/text/browserLines.ts +233 -233
- package/src/text/ellipsis.ts +516 -516
- package/src/text/hitTest.ts +623 -623
- package/src/text/layout.ts +586 -586
- package/src/text/measure.ts +626 -626
- package/src/text/overlayEditor.ts +1047 -1047
- package/src/text/unicode.ts +454 -454
- package/src/typedefs.ts +0 -0
- package/src/util/__snapshots__/index.spec.ts.snap +0 -0
- package/src/util/animation/AnimationBase.ts +0 -0
- package/src/util/animation/AnimationFrameProvider.ts +0 -0
- package/src/util/animation/AnimationRegistry.ts +0 -0
- package/src/util/animation/ArrayAnimation.ts +0 -0
- package/src/util/animation/ColorAnimation.ts +0 -0
- package/src/util/animation/ValueAnimation.ts +0 -0
- package/src/util/animation/__snapshots__/animations.spec.ts.snap +0 -0
- package/src/util/animation/animate.ts +0 -0
- package/src/util/animation/animations.spec.ts +0 -0
- package/src/util/animation/easing.ts +0 -0
- package/src/util/animation/index.ts +0 -0
- package/src/util/animation/types.ts +0 -0
- package/src/util/applyMixins.ts +0 -0
- package/src/util/dom_event.spec.ts +0 -0
- package/src/util/dom_event.ts +0 -0
- package/src/util/dom_misc.ts +0 -0
- package/src/util/index.spec.ts +0 -0
- package/src/util/index.ts +0 -0
- package/src/util/internals/applyCanvasTransform.ts +0 -0
- package/src/util/internals/cleanupSvgAttribute.test.ts +0 -0
- package/src/util/internals/cleanupSvgAttribute.ts +0 -0
- package/src/util/internals/cloneStyles.spec.ts +0 -0
- package/src/util/internals/cloneStyles.ts +0 -0
- package/src/util/internals/console.ts +0 -0
- package/src/util/internals/dom_style.spec.ts +0 -0
- package/src/util/internals/dom_style.ts +0 -0
- package/src/util/internals/findRight.ts +0 -0
- package/src/util/internals/getRandomInt.test.ts +0 -0
- package/src/util/internals/getRandomInt.ts +0 -0
- package/src/util/internals/ifNaN.ts +0 -0
- package/src/util/internals/removeFromArray.spec.ts +0 -0
- package/src/util/internals/removeFromArray.ts +0 -0
- package/src/util/internals/uid.ts +0 -0
- package/src/util/lang_string.spec.ts +0 -0
- package/src/util/lang_string.ts +0 -0
- package/src/util/misc/boundingBoxFromPoints.spec.ts +0 -0
- package/src/util/misc/boundingBoxFromPoints.ts +0 -0
- package/src/util/misc/capValue.spec.ts +0 -0
- package/src/util/misc/capValue.ts +0 -0
- package/src/util/misc/cornerRadius.spec.ts +0 -0
- package/src/util/misc/cornerRadius.ts +0 -0
- package/src/util/misc/cos.spec.ts +0 -0
- package/src/util/misc/cos.ts +0 -0
- package/src/util/misc/dom.spec.ts +0 -0
- package/src/util/misc/dom.ts +0 -0
- package/src/util/misc/findScaleTo.spec.ts +0 -0
- package/src/util/misc/findScaleTo.ts +0 -0
- package/src/util/misc/groupSVGElements.spec.ts +0 -0
- package/src/util/misc/groupSVGElements.ts +0 -0
- package/src/util/misc/isTransparent.ts +0 -0
- package/src/util/misc/matrix.spec.ts +0 -0
- package/src/util/misc/matrix.ts +0 -0
- package/src/util/misc/mergeClipPaths.spec.ts +0 -0
- package/src/util/misc/mergeClipPaths.ts +0 -0
- package/src/util/misc/objectEnlive.spec.ts +0 -0
- package/src/util/misc/objectEnlive.ts +0 -0
- package/src/util/misc/objectTransforms.spec.ts +0 -0
- package/src/util/misc/objectTransforms.ts +0 -0
- package/src/util/misc/pick.spec.ts +0 -0
- package/src/util/misc/pick.ts +0 -0
- package/src/util/misc/planeChange.spec.ts +0 -0
- package/src/util/misc/planeChange.ts +0 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +0 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +0 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +0 -0
- package/src/util/misc/projectStroke/index.ts +0 -0
- package/src/util/misc/projectStroke/types.ts +0 -0
- package/src/util/misc/radiansDegreesConversion.spec.ts +0 -0
- package/src/util/misc/radiansDegreesConversion.ts +0 -0
- package/src/util/misc/resolveOrigin.ts +0 -0
- package/src/util/misc/sin.ts +0 -0
- package/src/util/misc/svgExport.ts +0 -0
- package/src/util/misc/svgParsing.spec.ts +0 -0
- package/src/util/misc/svgParsing.ts +0 -0
- package/src/util/misc/textStyles.ts +0 -0
- package/src/util/misc/toFixed.spec.ts +0 -0
- package/src/util/misc/toFixed.ts +0 -0
- package/src/util/misc/vectors.spec.ts +0 -0
- package/src/util/misc/vectors.ts +0 -0
- package/src/util/path/__snapshots__/index.spec.ts.snap +0 -0
- package/src/util/path/index.spec.ts +0 -0
- package/src/util/path/index.ts +0 -0
- package/src/util/path/regex.ts +0 -0
- package/src/util/path/typechecks.ts +0 -0
- package/src/util/path/typedefs.ts +0 -0
- package/src/util/transform_matrix_removal.ts +0 -0
- package/src/util/typeAssertions.spec.ts +0 -0
- package/src/util/typeAssertions.ts +0 -0
- package/tsconfig-extensions.json +0 -0
- package/tsconfig.json +0 -0
- package/tsconfig.spec.json +0 -0
- package/typedoc.config.json +0 -0
- package/vitest.config.ts +0 -0
- package/vitest.d.ts +0 -0
- package/vitest.env.d.ts +0 -0
- package/vitest.extend.ts +0 -0
- package/vitest.setup.ts +0 -0
- package/dist/src/controls/changeHeight.min.mjs +0 -2
- package/dist/src/controls/changeHeight.min.mjs.map +0 -1
- package/dist/src/controls/changeHeight.mjs +0 -36
- package/dist/src/controls/changeHeight.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -354,7 +354,7 @@ class Cache {
|
|
|
354
354
|
}
|
|
355
355
|
const cache = new Cache();
|
|
356
356
|
|
|
357
|
-
var version = "7.0.1-
|
|
357
|
+
var version = "7.0.1-beta11";
|
|
358
358
|
|
|
359
359
|
// use this syntax so babel plugin see this import here
|
|
360
360
|
const VERSION = version;
|
|
@@ -4801,7 +4801,7 @@ const TEXT_DECORATION_THICKNESS = 'textDecorationThickness';
|
|
|
4801
4801
|
const fontProperties = ['fontSize', 'fontWeight', 'fontFamily', 'fontStyle'];
|
|
4802
4802
|
const textDecorationProperties = ['underline', 'overline', 'linethrough'];
|
|
4803
4803
|
const textLayoutProperties = [...fontProperties, 'lineHeight', 'text', 'charSpacing', 'textAlign', 'styles', 'path', 'pathStartOffset', 'pathSide', 'pathAlign', 'wrap', 'ellipsis', 'letterSpacing', 'enableAdvancedLayout', 'verticalAlign'];
|
|
4804
|
-
const additionalProps = [...textLayoutProperties, ...textDecorationProperties, 'textBackgroundColor', 'direction', TEXT_DECORATION_THICKNESS];
|
|
4804
|
+
const additionalProps = [...textLayoutProperties, ...textDecorationProperties, 'textBackgroundColor', 'direction', TEXT_DECORATION_THICKNESS, 'useOverlayEditing'];
|
|
4805
4805
|
const styleProperties = [...fontProperties, ...textDecorationProperties, STROKE, 'strokeWidth', FILL, 'deltaY', 'textBackgroundColor', TEXT_DECORATION_THICKNESS];
|
|
4806
4806
|
|
|
4807
4807
|
// @TODO: Many things here are configuration related and shouldn't be on the class nor prototype
|
|
@@ -19183,8 +19183,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
|
|
|
19183
19183
|
// Global measurement context - reused for performance
|
|
19184
19184
|
let measurementContext = null;
|
|
19185
19185
|
|
|
19186
|
-
/**
|
|
19187
|
-
* Get or create the shared measurement context
|
|
19186
|
+
/**
|
|
19187
|
+
* Get or create the shared measurement context
|
|
19188
19188
|
*/
|
|
19189
19189
|
function getMeasurementContext() {
|
|
19190
19190
|
if (!measurementContext) {
|
|
@@ -19197,8 +19197,8 @@ function getMeasurementContext() {
|
|
|
19197
19197
|
return measurementContext;
|
|
19198
19198
|
}
|
|
19199
19199
|
|
|
19200
|
-
/**
|
|
19201
|
-
* Measure a single grapheme
|
|
19200
|
+
/**
|
|
19201
|
+
* Measure a single grapheme
|
|
19202
19202
|
*/
|
|
19203
19203
|
function measureGrapheme(grapheme, options, ctx) {
|
|
19204
19204
|
// Check cache first
|
|
@@ -19231,8 +19231,8 @@ function measureGrapheme(grapheme, options, ctx) {
|
|
|
19231
19231
|
return measurement;
|
|
19232
19232
|
}
|
|
19233
19233
|
|
|
19234
|
-
/**
|
|
19235
|
-
* Measure a grapheme with kerning relative to previous character
|
|
19234
|
+
/**
|
|
19235
|
+
* Measure a grapheme with kerning relative to previous character
|
|
19236
19236
|
*/
|
|
19237
19237
|
function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
19238
19238
|
// Get individual measurement
|
|
@@ -19273,9 +19273,9 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
|
19273
19273
|
};
|
|
19274
19274
|
}
|
|
19275
19275
|
|
|
19276
|
-
/**
|
|
19277
|
-
* Get a representative character for font metrics measurement
|
|
19278
|
-
* Uses canvas to test which scripts the font actually supports
|
|
19276
|
+
/**
|
|
19277
|
+
* Get a representative character for font metrics measurement
|
|
19278
|
+
* Uses canvas to test which scripts the font actually supports
|
|
19279
19279
|
*/
|
|
19280
19280
|
function getRepresentativeCharacter(fontFamily) {
|
|
19281
19281
|
const context = getMeasurementContext();
|
|
@@ -19364,8 +19364,8 @@ function getRepresentativeCharacter(fontFamily) {
|
|
|
19364
19364
|
return 'M';
|
|
19365
19365
|
}
|
|
19366
19366
|
|
|
19367
|
-
/**
|
|
19368
|
-
* Get font metrics for layout calculations
|
|
19367
|
+
/**
|
|
19368
|
+
* Get font metrics for layout calculations
|
|
19369
19369
|
*/
|
|
19370
19370
|
function getFontMetrics(options) {
|
|
19371
19371
|
var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
|
|
@@ -19401,8 +19401,8 @@ function getFontMetrics(options) {
|
|
|
19401
19401
|
return result;
|
|
19402
19402
|
}
|
|
19403
19403
|
|
|
19404
|
-
/**
|
|
19405
|
-
* Apply font styling to canvas context
|
|
19404
|
+
/**
|
|
19405
|
+
* Apply font styling to canvas context
|
|
19406
19406
|
*/
|
|
19407
19407
|
function applyFontStyle(ctx, options) {
|
|
19408
19408
|
const fontDeclaration = getFontDeclaration(options);
|
|
@@ -19419,8 +19419,8 @@ function applyFontStyle(ctx, options) {
|
|
|
19419
19419
|
ctx.textBaseline = 'alphabetic';
|
|
19420
19420
|
}
|
|
19421
19421
|
|
|
19422
|
-
/**
|
|
19423
|
-
* Generate font declaration string
|
|
19422
|
+
/**
|
|
19423
|
+
* Generate font declaration string
|
|
19424
19424
|
*/
|
|
19425
19425
|
function getFontDeclaration(options) {
|
|
19426
19426
|
const {
|
|
@@ -19439,8 +19439,8 @@ function getFontDeclaration(options) {
|
|
|
19439
19439
|
return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
|
|
19440
19440
|
}
|
|
19441
19441
|
|
|
19442
|
-
/**
|
|
19443
|
-
* LRU Cache implementation for measurements
|
|
19442
|
+
/**
|
|
19443
|
+
* LRU Cache implementation for measurements
|
|
19444
19444
|
*/
|
|
19445
19445
|
class LRUCache {
|
|
19446
19446
|
constructor() {
|
|
@@ -19502,8 +19502,8 @@ class LRUCache {
|
|
|
19502
19502
|
}
|
|
19503
19503
|
}
|
|
19504
19504
|
|
|
19505
|
-
/**
|
|
19506
|
-
* Advanced measurement cache with font-aware keys
|
|
19505
|
+
/**
|
|
19506
|
+
* Advanced measurement cache with font-aware keys
|
|
19507
19507
|
*/
|
|
19508
19508
|
class MeasurementCache {
|
|
19509
19509
|
constructor() {
|
|
@@ -19530,8 +19530,8 @@ class MeasurementCache {
|
|
|
19530
19530
|
}
|
|
19531
19531
|
}
|
|
19532
19532
|
|
|
19533
|
-
/**
|
|
19534
|
-
* Kerning cache for character pairs
|
|
19533
|
+
/**
|
|
19534
|
+
* Kerning cache for character pairs
|
|
19535
19535
|
*/
|
|
19536
19536
|
class KerningCache {
|
|
19537
19537
|
constructor() {
|
|
@@ -19559,8 +19559,8 @@ class KerningCache {
|
|
|
19559
19559
|
}
|
|
19560
19560
|
}
|
|
19561
19561
|
|
|
19562
|
-
/**
|
|
19563
|
-
* Font metrics cache
|
|
19562
|
+
/**
|
|
19563
|
+
* Font metrics cache
|
|
19564
19564
|
*/
|
|
19565
19565
|
class FontMetricsCache {
|
|
19566
19566
|
constructor() {
|
|
@@ -19595,8 +19595,8 @@ if (typeof document !== 'undefined' && 'fonts' in document) {
|
|
|
19595
19595
|
});
|
|
19596
19596
|
}
|
|
19597
19597
|
|
|
19598
|
-
/**
|
|
19599
|
-
* Clear all measurement caches
|
|
19598
|
+
/**
|
|
19599
|
+
* Clear all measurement caches
|
|
19600
19600
|
*/
|
|
19601
19601
|
function clearAllCaches() {
|
|
19602
19602
|
measurementCache.clear();
|
|
@@ -19604,9 +19604,9 @@ function clearAllCaches() {
|
|
|
19604
19604
|
fontMetricsCache.clear();
|
|
19605
19605
|
}
|
|
19606
19606
|
|
|
19607
|
-
/**
|
|
19608
|
-
* Detect if a font lacks English glyph support
|
|
19609
|
-
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19607
|
+
/**
|
|
19608
|
+
* Detect if a font lacks English glyph support
|
|
19609
|
+
* These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
|
|
19610
19610
|
*/
|
|
19611
19611
|
function fontLacksEnglishGlyphs(fontFamily) {
|
|
19612
19612
|
if (typeof document === 'undefined') return false;
|
|
@@ -19650,8 +19650,8 @@ function fontLacksEnglishGlyphs(fontFamily) {
|
|
|
19650
19650
|
// Cache for font glyph detection results
|
|
19651
19651
|
const fontGlyphCache = new Map();
|
|
19652
19652
|
|
|
19653
|
-
/**
|
|
19654
|
-
* Cached version of font glyph detection
|
|
19653
|
+
/**
|
|
19654
|
+
* Cached version of font glyph detection
|
|
19655
19655
|
*/
|
|
19656
19656
|
function fontLacksEnglishGlyphsCached(fontFamily) {
|
|
19657
19657
|
if (fontGlyphCache.has(fontFamily)) {
|
|
@@ -19662,17 +19662,17 @@ function fontLacksEnglishGlyphsCached(fontFamily) {
|
|
|
19662
19662
|
return result;
|
|
19663
19663
|
}
|
|
19664
19664
|
|
|
19665
|
-
/**
|
|
19666
|
-
* Unicode and Internationalization Support
|
|
19667
|
-
*
|
|
19668
|
-
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19669
|
-
* and grapheme cluster boundary detection.
|
|
19665
|
+
/**
|
|
19666
|
+
* Unicode and Internationalization Support
|
|
19667
|
+
*
|
|
19668
|
+
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19669
|
+
* and grapheme cluster boundary detection.
|
|
19670
19670
|
*/
|
|
19671
19671
|
|
|
19672
19672
|
|
|
19673
|
-
/**
|
|
19674
|
-
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19675
|
-
* with fallback to existing graphemeSplit implementation
|
|
19673
|
+
/**
|
|
19674
|
+
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19675
|
+
* with fallback to existing graphemeSplit implementation
|
|
19676
19676
|
*/
|
|
19677
19677
|
function segmentGraphemes(text) {
|
|
19678
19678
|
// Use native Intl.Segmenter if available
|
|
@@ -19692,15 +19692,15 @@ function segmentGraphemes(text) {
|
|
|
19692
19692
|
return graphemeSplit(text);
|
|
19693
19693
|
}
|
|
19694
19694
|
|
|
19695
|
-
/**
|
|
19696
|
-
* Ellipsis Text Truncation System
|
|
19697
|
-
*
|
|
19698
|
-
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19699
|
-
* using binary search for optimal truncation points.
|
|
19695
|
+
/**
|
|
19696
|
+
* Ellipsis Text Truncation System
|
|
19697
|
+
*
|
|
19698
|
+
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19699
|
+
* using binary search for optimal truncation points.
|
|
19700
19700
|
*/
|
|
19701
19701
|
|
|
19702
|
-
/**
|
|
19703
|
-
* Apply ellipsis truncation to text based on width/height constraints
|
|
19702
|
+
/**
|
|
19703
|
+
* Apply ellipsis truncation to text based on width/height constraints
|
|
19704
19704
|
*/
|
|
19705
19705
|
function applyEllipsis(text, options) {
|
|
19706
19706
|
const {
|
|
@@ -19770,8 +19770,8 @@ function applyEllipsis(text, options) {
|
|
|
19770
19770
|
};
|
|
19771
19771
|
}
|
|
19772
19772
|
|
|
19773
|
-
/**
|
|
19774
|
-
* Truncate text based on width constraint using binary search
|
|
19773
|
+
/**
|
|
19774
|
+
* Truncate text based on width constraint using binary search
|
|
19775
19775
|
*/
|
|
19776
19776
|
function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
|
|
19777
19777
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19821,8 +19821,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
|
|
|
19821
19821
|
};
|
|
19822
19822
|
}
|
|
19823
19823
|
|
|
19824
|
-
/**
|
|
19825
|
-
* Truncate text based on height constraint
|
|
19824
|
+
/**
|
|
19825
|
+
* Truncate text based on height constraint
|
|
19826
19826
|
*/
|
|
19827
19827
|
function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
19828
19828
|
var _measureFn;
|
|
@@ -19870,19 +19870,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
|
19870
19870
|
return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
|
|
19871
19871
|
}
|
|
19872
19872
|
|
|
19873
|
-
/**
|
|
19874
|
-
* Core Text Layout Engine
|
|
19875
|
-
*
|
|
19876
|
-
* Implements Konva-compatible text layout with support for:
|
|
19877
|
-
* - Multiple wrap modes (word/char/none)
|
|
19878
|
-
* - Ellipsis truncation
|
|
19879
|
-
* - Justify alignment with proper space distribution
|
|
19880
|
-
* - RTL/LTR text direction
|
|
19881
|
-
* - Advanced grapheme handling
|
|
19873
|
+
/**
|
|
19874
|
+
* Core Text Layout Engine
|
|
19875
|
+
*
|
|
19876
|
+
* Implements Konva-compatible text layout with support for:
|
|
19877
|
+
* - Multiple wrap modes (word/char/none)
|
|
19878
|
+
* - Ellipsis truncation
|
|
19879
|
+
* - Justify alignment with proper space distribution
|
|
19880
|
+
* - RTL/LTR text direction
|
|
19881
|
+
* - Advanced grapheme handling
|
|
19882
19882
|
*/
|
|
19883
19883
|
|
|
19884
|
-
/**
|
|
19885
|
-
* Main text layout function - converts text and options into positioned layout
|
|
19884
|
+
/**
|
|
19885
|
+
* Main text layout function - converts text and options into positioned layout
|
|
19886
19886
|
*/
|
|
19887
19887
|
function layoutText(options) {
|
|
19888
19888
|
var _ellipsisResult;
|
|
@@ -20001,8 +20001,8 @@ function layoutText(options) {
|
|
|
20001
20001
|
};
|
|
20002
20002
|
}
|
|
20003
20003
|
|
|
20004
|
-
/**
|
|
20005
|
-
* Layout a single paragraph with wrapping
|
|
20004
|
+
/**
|
|
20005
|
+
* Layout a single paragraph with wrapping
|
|
20006
20006
|
*/
|
|
20007
20007
|
function layoutParagraph(text, options) {
|
|
20008
20008
|
const {
|
|
@@ -20037,8 +20037,8 @@ function layoutParagraph(text, options) {
|
|
|
20037
20037
|
return layoutLines;
|
|
20038
20038
|
}
|
|
20039
20039
|
|
|
20040
|
-
/**
|
|
20041
|
-
* Layout a single line of text (no wrapping)
|
|
20040
|
+
/**
|
|
20041
|
+
* Layout a single line of text (no wrapping)
|
|
20042
20042
|
*/
|
|
20043
20043
|
function layoutSingleLine(text, options) {
|
|
20044
20044
|
let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -20108,8 +20108,8 @@ function layoutSingleLine(text, options) {
|
|
|
20108
20108
|
};
|
|
20109
20109
|
}
|
|
20110
20110
|
|
|
20111
|
-
/**
|
|
20112
|
-
* Word-based wrapping algorithm
|
|
20111
|
+
/**
|
|
20112
|
+
* Word-based wrapping algorithm
|
|
20113
20113
|
*/
|
|
20114
20114
|
function wrapByWords(text, maxWidth, options) {
|
|
20115
20115
|
const lines = [];
|
|
@@ -20142,8 +20142,8 @@ function wrapByWords(text, maxWidth, options) {
|
|
|
20142
20142
|
return lines.length > 0 ? lines : [''];
|
|
20143
20143
|
}
|
|
20144
20144
|
|
|
20145
|
-
/**
|
|
20146
|
-
* Character-based wrapping algorithm
|
|
20145
|
+
/**
|
|
20146
|
+
* Character-based wrapping algorithm
|
|
20147
20147
|
*/
|
|
20148
20148
|
function wrapByCharacters(text, maxWidth, options) {
|
|
20149
20149
|
const lines = [];
|
|
@@ -20165,8 +20165,8 @@ function wrapByCharacters(text, maxWidth, options) {
|
|
|
20165
20165
|
return lines.length > 0 ? lines : [''];
|
|
20166
20166
|
}
|
|
20167
20167
|
|
|
20168
|
-
/**
|
|
20169
|
-
* Apply text alignment to lines
|
|
20168
|
+
/**
|
|
20169
|
+
* Apply text alignment to lines
|
|
20170
20170
|
*/
|
|
20171
20171
|
function applyAlignment(lines, align, containerWidth, options) {
|
|
20172
20172
|
return lines.map(line => {
|
|
@@ -20200,8 +20200,8 @@ function applyAlignment(lines, align, containerWidth, options) {
|
|
|
20200
20200
|
});
|
|
20201
20201
|
}
|
|
20202
20202
|
|
|
20203
|
-
/**
|
|
20204
|
-
* Apply justify alignment by expanding spaces
|
|
20203
|
+
/**
|
|
20204
|
+
* Apply justify alignment by expanding spaces
|
|
20205
20205
|
*/
|
|
20206
20206
|
function applyJustification(line, containerWidth, options) {
|
|
20207
20207
|
const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
|
|
@@ -20224,8 +20224,8 @@ function applyJustification(line, containerWidth, options) {
|
|
|
20224
20224
|
return line;
|
|
20225
20225
|
}
|
|
20226
20226
|
|
|
20227
|
-
/**
|
|
20228
|
-
* Calculate vertical alignment offset
|
|
20227
|
+
/**
|
|
20228
|
+
* Calculate vertical alignment offset
|
|
20229
20229
|
*/
|
|
20230
20230
|
function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
20231
20231
|
switch (align) {
|
|
@@ -20239,8 +20239,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
|
20239
20239
|
}
|
|
20240
20240
|
}
|
|
20241
20241
|
|
|
20242
|
-
/**
|
|
20243
|
-
* Handle height overflow with ellipsis
|
|
20242
|
+
/**
|
|
20243
|
+
* Handle height overflow with ellipsis
|
|
20244
20244
|
*/
|
|
20245
20245
|
function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
|
|
20246
20246
|
// If ellipsis is enabled, try to fit part of the overflow line
|
|
@@ -20269,8 +20269,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
|
|
|
20269
20269
|
};
|
|
20270
20270
|
}
|
|
20271
20271
|
|
|
20272
|
-
/**
|
|
20273
|
-
* Create empty line for empty paragraphs
|
|
20272
|
+
/**
|
|
20273
|
+
* Create empty line for empty paragraphs
|
|
20274
20274
|
*/
|
|
20275
20275
|
function createEmptyLine(options) {
|
|
20276
20276
|
const height = options.fontSize * options.lineHeight;
|
|
@@ -20286,8 +20286,8 @@ function createEmptyLine(options) {
|
|
|
20286
20286
|
};
|
|
20287
20287
|
}
|
|
20288
20288
|
|
|
20289
|
-
/**
|
|
20290
|
-
* Measure width of a line of text
|
|
20289
|
+
/**
|
|
20290
|
+
* Measure width of a line of text
|
|
20291
20291
|
*/
|
|
20292
20292
|
function measureLineWidth(text, options) {
|
|
20293
20293
|
const graphemes = segmentGraphemes(text);
|
|
@@ -20304,8 +20304,8 @@ function measureLineWidth(text, options) {
|
|
|
20304
20304
|
return width;
|
|
20305
20305
|
}
|
|
20306
20306
|
|
|
20307
|
-
/**
|
|
20308
|
-
* Convert layout options to measurement options
|
|
20307
|
+
/**
|
|
20308
|
+
* Convert layout options to measurement options
|
|
20309
20309
|
*/
|
|
20310
20310
|
function createMeasurementOptions(options) {
|
|
20311
20311
|
return {
|
|
@@ -20548,15 +20548,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
|
|
|
20548
20548
|
}
|
|
20549
20549
|
}
|
|
20550
20550
|
|
|
20551
|
-
/**
|
|
20552
|
-
* Browser Line Break Extraction
|
|
20553
|
-
*
|
|
20554
|
-
* Captures exact line breaks as rendered by the browser to ensure
|
|
20555
|
-
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20551
|
+
/**
|
|
20552
|
+
* Browser Line Break Extraction
|
|
20553
|
+
*
|
|
20554
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
20555
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20556
20556
|
*/
|
|
20557
20557
|
|
|
20558
|
-
/**
|
|
20559
|
-
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20558
|
+
/**
|
|
20559
|
+
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20560
20560
|
*/
|
|
20561
20561
|
function segmentIntoGraphemes(text) {
|
|
20562
20562
|
if (typeof Intl !== 'undefined' && Intl.Segmenter) {
|
|
@@ -20570,9 +20570,9 @@ function segmentIntoGraphemes(text) {
|
|
|
20570
20570
|
return Array.from(text);
|
|
20571
20571
|
}
|
|
20572
20572
|
|
|
20573
|
-
/**
|
|
20574
|
-
* Extract line break information from a textarea by creating a mirror element
|
|
20575
|
-
* with identical computed styles and measuring grapheme positions.
|
|
20573
|
+
/**
|
|
20574
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
20575
|
+
* with identical computed styles and measuring grapheme positions.
|
|
20576
20576
|
*/
|
|
20577
20577
|
function extractLinesFromDOM(textarea) {
|
|
20578
20578
|
const text = textarea.value;
|
|
@@ -20667,16 +20667,16 @@ function extractLinesFromDOM(textarea) {
|
|
|
20667
20667
|
}
|
|
20668
20668
|
}
|
|
20669
20669
|
|
|
20670
|
-
/**
|
|
20671
|
-
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20670
|
+
/**
|
|
20671
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20672
20672
|
*/
|
|
20673
20673
|
function createLayoutHash(target) {
|
|
20674
20674
|
const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
|
|
20675
20675
|
return properties.map(p => String(p)).join('|');
|
|
20676
20676
|
}
|
|
20677
20677
|
|
|
20678
|
-
/**
|
|
20679
|
-
* Check if stored browser lines are still valid for the current target state
|
|
20678
|
+
/**
|
|
20679
|
+
* Check if stored browser lines are still valid for the current target state
|
|
20680
20680
|
*/
|
|
20681
20681
|
function areBrowserLinesValid(target, storedHash) {
|
|
20682
20682
|
if (!storedHash || !target.__lastBrowserLines) {
|
|
@@ -20686,24 +20686,24 @@ function areBrowserLinesValid(target, storedHash) {
|
|
|
20686
20686
|
return currentHash === storedHash;
|
|
20687
20687
|
}
|
|
20688
20688
|
|
|
20689
|
-
/**
|
|
20690
|
-
* Store browser lines on a target object with validity hash
|
|
20689
|
+
/**
|
|
20690
|
+
* Store browser lines on a target object with validity hash
|
|
20691
20691
|
*/
|
|
20692
20692
|
function storeBrowserLines(target, lines, layoutHash) {
|
|
20693
20693
|
target.__lastBrowserLines = lines;
|
|
20694
20694
|
target.__lastBrowserLinesHash = createLayoutHash(target);
|
|
20695
20695
|
}
|
|
20696
20696
|
|
|
20697
|
-
/**
|
|
20698
|
-
* Clear stored browser lines from a target object
|
|
20697
|
+
/**
|
|
20698
|
+
* Clear stored browser lines from a target object
|
|
20699
20699
|
*/
|
|
20700
20700
|
function clearBrowserLines(target) {
|
|
20701
20701
|
delete target.__lastBrowserLines;
|
|
20702
20702
|
delete target.__lastBrowserLinesHash;
|
|
20703
20703
|
}
|
|
20704
20704
|
|
|
20705
|
-
/**
|
|
20706
|
-
* Get stored browser lines if they're still valid
|
|
20705
|
+
/**
|
|
20706
|
+
* Get stored browser lines if they're still valid
|
|
20707
20707
|
*/
|
|
20708
20708
|
function getBrowserLines(target) {
|
|
20709
20709
|
const lines = target.__lastBrowserLines;
|
|
@@ -20716,9 +20716,9 @@ function getBrowserLines(target) {
|
|
|
20716
20716
|
|
|
20717
20717
|
let measuringContext;
|
|
20718
20718
|
|
|
20719
|
-
/**
|
|
20720
|
-
* Return a context for measurement of text string.
|
|
20721
|
-
* if created it gets stored for reuse
|
|
20719
|
+
/**
|
|
20720
|
+
* Return a context for measurement of text string.
|
|
20721
|
+
* if created it gets stored for reuse
|
|
20722
20722
|
*/
|
|
20723
20723
|
function getMeasuringContext() {
|
|
20724
20724
|
if (!measuringContext) {
|
|
@@ -20731,17 +20731,17 @@ function getMeasuringContext() {
|
|
|
20731
20731
|
return measuringContext;
|
|
20732
20732
|
}
|
|
20733
20733
|
|
|
20734
|
-
/**
|
|
20735
|
-
* Measure and return the info of a single grapheme.
|
|
20736
|
-
* needs the the info of previous graphemes already filled
|
|
20737
|
-
* Override to customize measuring
|
|
20734
|
+
/**
|
|
20735
|
+
* Measure and return the info of a single grapheme.
|
|
20736
|
+
* needs the the info of previous graphemes already filled
|
|
20737
|
+
* Override to customize measuring
|
|
20738
20738
|
*/
|
|
20739
20739
|
|
|
20740
20740
|
// @TODO this is not complete
|
|
20741
20741
|
|
|
20742
|
-
/**
|
|
20743
|
-
* Text class
|
|
20744
|
-
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20742
|
+
/**
|
|
20743
|
+
* Text class
|
|
20744
|
+
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20745
20745
|
*/
|
|
20746
20746
|
class FabricText extends StyledText {
|
|
20747
20747
|
static getDefaults() {
|
|
@@ -20752,11 +20752,11 @@ class FabricText extends StyledText {
|
|
|
20752
20752
|
}
|
|
20753
20753
|
constructor(text, options) {
|
|
20754
20754
|
super();
|
|
20755
|
-
/**
|
|
20756
|
-
* contains characters bounding boxes
|
|
20757
|
-
* This variable is considered to be protected.
|
|
20758
|
-
* But for how mixins are implemented right now, we can't leave it private
|
|
20759
|
-
* @protected
|
|
20755
|
+
/**
|
|
20756
|
+
* contains characters bounding boxes
|
|
20757
|
+
* This variable is considered to be protected.
|
|
20758
|
+
* But for how mixins are implemented right now, we can't leave it private
|
|
20759
|
+
* @protected
|
|
20760
20760
|
*/
|
|
20761
20761
|
_defineProperty(this, "__charBounds", []);
|
|
20762
20762
|
Object.assign(this, FabricText.ownDefaults);
|
|
@@ -20773,9 +20773,9 @@ class FabricText extends StyledText {
|
|
|
20773
20773
|
this.setCoords();
|
|
20774
20774
|
}
|
|
20775
20775
|
|
|
20776
|
-
/**
|
|
20777
|
-
* If text has a path, it will add the extra information needed
|
|
20778
|
-
* for path and text calculations
|
|
20776
|
+
/**
|
|
20777
|
+
* If text has a path, it will add the extra information needed
|
|
20778
|
+
* for path and text calculations
|
|
20779
20779
|
*/
|
|
20780
20780
|
setPathInfo() {
|
|
20781
20781
|
const path = this.path;
|
|
@@ -20784,10 +20784,10 @@ class FabricText extends StyledText {
|
|
|
20784
20784
|
}
|
|
20785
20785
|
}
|
|
20786
20786
|
|
|
20787
|
-
/**
|
|
20788
|
-
* @private
|
|
20789
|
-
* Divides text into lines of text and lines of graphemes.
|
|
20790
|
-
* Uses browser lines when available for pixel-perfect consistency.
|
|
20787
|
+
/**
|
|
20788
|
+
* @private
|
|
20789
|
+
* Divides text into lines of text and lines of graphemes.
|
|
20790
|
+
* Uses browser lines when available for pixel-perfect consistency.
|
|
20791
20791
|
*/
|
|
20792
20792
|
_splitText() {
|
|
20793
20793
|
// Check if we have valid browser lines and should use them
|
|
@@ -20803,9 +20803,9 @@ class FabricText extends StyledText {
|
|
|
20803
20803
|
return newLines;
|
|
20804
20804
|
}
|
|
20805
20805
|
|
|
20806
|
-
/**
|
|
20807
|
-
* Create TextLinesInfo from browser-extracted lines
|
|
20808
|
-
* @private
|
|
20806
|
+
/**
|
|
20807
|
+
* Create TextLinesInfo from browser-extracted lines
|
|
20808
|
+
* @private
|
|
20809
20809
|
*/
|
|
20810
20810
|
_splitTextFromBrowserLines(browserLines) {
|
|
20811
20811
|
const lines = [];
|
|
@@ -20839,10 +20839,10 @@ class FabricText extends StyledText {
|
|
|
20839
20839
|
return result;
|
|
20840
20840
|
}
|
|
20841
20841
|
|
|
20842
|
-
/**
|
|
20843
|
-
* Initialize or update text dimensions.
|
|
20844
|
-
* Updates this.width and this.height with the proper values.
|
|
20845
|
-
* Does not return dimensions.
|
|
20842
|
+
/**
|
|
20843
|
+
* Initialize or update text dimensions.
|
|
20844
|
+
* Updates this.width and this.height with the proper values.
|
|
20845
|
+
* Does not return dimensions.
|
|
20846
20846
|
*/
|
|
20847
20847
|
initDimensions() {
|
|
20848
20848
|
// Check if font is ready for accurate measurements
|
|
@@ -20888,8 +20888,8 @@ class FabricText extends StyledText {
|
|
|
20888
20888
|
}
|
|
20889
20889
|
}
|
|
20890
20890
|
|
|
20891
|
-
/**
|
|
20892
|
-
* Enlarge space boxes and shift the others
|
|
20891
|
+
/**
|
|
20892
|
+
* Enlarge space boxes and shift the others
|
|
20893
20893
|
*/
|
|
20894
20894
|
enlargeSpaces() {
|
|
20895
20895
|
let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
|
|
@@ -20951,18 +20951,18 @@ class FabricText extends StyledText {
|
|
|
20951
20951
|
}
|
|
20952
20952
|
}
|
|
20953
20953
|
|
|
20954
|
-
/**
|
|
20955
|
-
* Advanced layout using new text engine (Konva-compatible)
|
|
20956
|
-
* @private
|
|
20954
|
+
/**
|
|
20955
|
+
* Advanced layout using new text engine (Konva-compatible)
|
|
20956
|
+
* @private
|
|
20957
20957
|
*/
|
|
20958
20958
|
_layoutTextAdvanced() {
|
|
20959
20959
|
const options = this._getAdvancedLayoutOptions();
|
|
20960
20960
|
return layoutText(options);
|
|
20961
20961
|
}
|
|
20962
20962
|
|
|
20963
|
-
/**
|
|
20964
|
-
* Get advanced layout options from current text properties
|
|
20965
|
-
* @private
|
|
20963
|
+
/**
|
|
20964
|
+
* Get advanced layout options from current text properties
|
|
20965
|
+
* @private
|
|
20966
20966
|
*/
|
|
20967
20967
|
_getAdvancedLayoutOptions() {
|
|
20968
20968
|
return {
|
|
@@ -20984,9 +20984,9 @@ class FabricText extends StyledText {
|
|
|
20984
20984
|
};
|
|
20985
20985
|
}
|
|
20986
20986
|
|
|
20987
|
-
/**
|
|
20988
|
-
* Map Fabric textAlign to Konva align format
|
|
20989
|
-
* @private
|
|
20987
|
+
/**
|
|
20988
|
+
* Map Fabric textAlign to Konva align format
|
|
20989
|
+
* @private
|
|
20990
20990
|
*/
|
|
20991
20991
|
_mapTextAlignToAlign(textAlign) {
|
|
20992
20992
|
switch (textAlign) {
|
|
@@ -21007,8 +21007,8 @@ class FabricText extends StyledText {
|
|
|
21007
21007
|
}
|
|
21008
21008
|
}
|
|
21009
21009
|
|
|
21010
|
-
/**
|
|
21011
|
-
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21010
|
+
/**
|
|
21011
|
+
* Enhanced initDimensions that uses advanced layout when enabled
|
|
21012
21012
|
*/
|
|
21013
21013
|
initDimensionsAdvanced() {
|
|
21014
21014
|
if (!this.enableAdvancedLayout) {
|
|
@@ -21037,9 +21037,9 @@ class FabricText extends StyledText {
|
|
|
21037
21037
|
this.dirty = true;
|
|
21038
21038
|
}
|
|
21039
21039
|
|
|
21040
|
-
/**
|
|
21041
|
-
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21042
|
-
* @private
|
|
21040
|
+
/**
|
|
21041
|
+
* Convert new layout format to legacy _textLines and __charBounds format
|
|
21042
|
+
* @private
|
|
21043
21043
|
*/
|
|
21044
21044
|
_convertLayoutToLegacyFormat(layout) {
|
|
21045
21045
|
this._textLines = layout.lines.map(line => line.graphemes);
|
|
@@ -21061,30 +21061,30 @@ class FabricText extends StyledText {
|
|
|
21061
21061
|
}
|
|
21062
21062
|
}
|
|
21063
21063
|
|
|
21064
|
-
/**
|
|
21065
|
-
* Detect if the text line is ended with an hard break
|
|
21066
|
-
* text and itext do not have wrapping, return false
|
|
21067
|
-
* @return {Boolean}
|
|
21064
|
+
/**
|
|
21065
|
+
* Detect if the text line is ended with an hard break
|
|
21066
|
+
* text and itext do not have wrapping, return false
|
|
21067
|
+
* @return {Boolean}
|
|
21068
21068
|
*/
|
|
21069
21069
|
isEndOfWrapping(lineIndex) {
|
|
21070
21070
|
return lineIndex === this._textLines.length - 1;
|
|
21071
21071
|
}
|
|
21072
21072
|
|
|
21073
|
-
/**
|
|
21074
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21075
|
-
* and counting style.
|
|
21076
|
-
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21077
|
-
* @return Number
|
|
21073
|
+
/**
|
|
21074
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
21075
|
+
* and counting style.
|
|
21076
|
+
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
21077
|
+
* @return Number
|
|
21078
21078
|
*/
|
|
21079
21079
|
|
|
21080
21080
|
missingNewlineOffset(_lineIndex) {
|
|
21081
21081
|
return 1;
|
|
21082
21082
|
}
|
|
21083
21083
|
|
|
21084
|
-
/**
|
|
21085
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21086
|
-
* @param {Number} selectionStart
|
|
21087
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21084
|
+
/**
|
|
21085
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
21086
|
+
* @param {Number} selectionStart
|
|
21087
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
21088
21088
|
*/
|
|
21089
21089
|
get2DCursorLocation(selectionStart, skipWrapping) {
|
|
21090
21090
|
const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
|
|
@@ -21104,24 +21104,24 @@ class FabricText extends StyledText {
|
|
|
21104
21104
|
};
|
|
21105
21105
|
}
|
|
21106
21106
|
|
|
21107
|
-
/**
|
|
21108
|
-
* Returns string representation of an instance
|
|
21109
|
-
* @return {String} String representation of text object
|
|
21107
|
+
/**
|
|
21108
|
+
* Returns string representation of an instance
|
|
21109
|
+
* @return {String} String representation of text object
|
|
21110
21110
|
*/
|
|
21111
21111
|
toString() {
|
|
21112
21112
|
return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
|
|
21113
21113
|
}
|
|
21114
21114
|
|
|
21115
|
-
/**
|
|
21116
|
-
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21117
|
-
* big enough to host the object to be cached.
|
|
21118
|
-
* @private
|
|
21119
|
-
* @param {Object} dim.x width of object to be cached
|
|
21120
|
-
* @param {Object} dim.y height of object to be cached
|
|
21121
|
-
* @return {Object}.width width of canvas
|
|
21122
|
-
* @return {Object}.height height of canvas
|
|
21123
|
-
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21124
|
-
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21115
|
+
/**
|
|
21116
|
+
* Return the dimension and the zoom level needed to create a cache canvas
|
|
21117
|
+
* big enough to host the object to be cached.
|
|
21118
|
+
* @private
|
|
21119
|
+
* @param {Object} dim.x width of object to be cached
|
|
21120
|
+
* @param {Object} dim.y height of object to be cached
|
|
21121
|
+
* @return {Object}.width width of canvas
|
|
21122
|
+
* @return {Object}.height height of canvas
|
|
21123
|
+
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
21124
|
+
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
21125
21125
|
*/
|
|
21126
21126
|
_getCacheCanvasDimensions() {
|
|
21127
21127
|
const dims = super._getCacheCanvasDimensions();
|
|
@@ -21131,9 +21131,9 @@ class FabricText extends StyledText {
|
|
|
21131
21131
|
return dims;
|
|
21132
21132
|
}
|
|
21133
21133
|
|
|
21134
|
-
/**
|
|
21135
|
-
* @private
|
|
21136
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21134
|
+
/**
|
|
21135
|
+
* @private
|
|
21136
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21137
21137
|
*/
|
|
21138
21138
|
_render(ctx) {
|
|
21139
21139
|
const path = this.path;
|
|
@@ -21146,9 +21146,9 @@ class FabricText extends StyledText {
|
|
|
21146
21146
|
this._renderTextDecoration(ctx, 'linethrough');
|
|
21147
21147
|
}
|
|
21148
21148
|
|
|
21149
|
-
/**
|
|
21150
|
-
* @private
|
|
21151
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21149
|
+
/**
|
|
21150
|
+
* @private
|
|
21151
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21152
21152
|
*/
|
|
21153
21153
|
_renderText(ctx) {
|
|
21154
21154
|
// Skip text rendering if in overlay editing mode
|
|
@@ -21164,15 +21164,15 @@ class FabricText extends StyledText {
|
|
|
21164
21164
|
}
|
|
21165
21165
|
}
|
|
21166
21166
|
|
|
21167
|
-
/**
|
|
21168
|
-
* Set the font parameter of the context with the object properties or with charStyle
|
|
21169
|
-
* @private
|
|
21170
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21171
|
-
* @param {Object} [charStyle] object with font style properties
|
|
21172
|
-
* @param {String} [charStyle.fontFamily] Font Family
|
|
21173
|
-
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21174
|
-
* @param {String} [charStyle.fontWeight] Font weight
|
|
21175
|
-
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21167
|
+
/**
|
|
21168
|
+
* Set the font parameter of the context with the object properties or with charStyle
|
|
21169
|
+
* @private
|
|
21170
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21171
|
+
* @param {Object} [charStyle] object with font style properties
|
|
21172
|
+
* @param {String} [charStyle.fontFamily] Font Family
|
|
21173
|
+
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
21174
|
+
* @param {String} [charStyle.fontWeight] Font weight
|
|
21175
|
+
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
21176
21176
|
*/
|
|
21177
21177
|
_setTextStyles(ctx, charStyle, forMeasuring) {
|
|
21178
21178
|
ctx.textBaseline = 'alphabetic';
|
|
@@ -21192,11 +21192,11 @@ class FabricText extends StyledText {
|
|
|
21192
21192
|
ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
|
|
21193
21193
|
}
|
|
21194
21194
|
|
|
21195
|
-
/**
|
|
21196
|
-
* calculate and return the text Width measuring each line.
|
|
21197
|
-
* @private
|
|
21198
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21199
|
-
* @return {Number} Maximum width of Text object
|
|
21195
|
+
/**
|
|
21196
|
+
* calculate and return the text Width measuring each line.
|
|
21197
|
+
* @private
|
|
21198
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21199
|
+
* @return {Number} Maximum width of Text object
|
|
21200
21200
|
*/
|
|
21201
21201
|
calcTextWidth() {
|
|
21202
21202
|
let maxWidth = this.getLineWidth(0);
|
|
@@ -21209,23 +21209,23 @@ class FabricText extends StyledText {
|
|
|
21209
21209
|
return maxWidth;
|
|
21210
21210
|
}
|
|
21211
21211
|
|
|
21212
|
-
/**
|
|
21213
|
-
* @private
|
|
21214
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21215
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21216
|
-
* @param {String} line Text to render
|
|
21217
|
-
* @param {Number} left Left position of text
|
|
21218
|
-
* @param {Number} top Top position of text
|
|
21219
|
-
* @param {Number} lineIndex Index of a line in a text
|
|
21212
|
+
/**
|
|
21213
|
+
* @private
|
|
21214
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21215
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21216
|
+
* @param {String} line Text to render
|
|
21217
|
+
* @param {Number} left Left position of text
|
|
21218
|
+
* @param {Number} top Top position of text
|
|
21219
|
+
* @param {Number} lineIndex Index of a line in a text
|
|
21220
21220
|
*/
|
|
21221
21221
|
_renderTextLine(method, ctx, line, left, top, lineIndex) {
|
|
21222
21222
|
this._renderChars(method, ctx, line, left, top, lineIndex);
|
|
21223
21223
|
}
|
|
21224
21224
|
|
|
21225
|
-
/**
|
|
21226
|
-
* Renders the text background for lines, taking care of style
|
|
21227
|
-
* @private
|
|
21228
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21225
|
+
/**
|
|
21226
|
+
* Renders the text background for lines, taking care of style
|
|
21227
|
+
* @private
|
|
21228
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21229
21229
|
*/
|
|
21230
21230
|
_renderTextLinesBackground(ctx) {
|
|
21231
21231
|
if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
|
|
@@ -21288,15 +21288,15 @@ class FabricText extends StyledText {
|
|
|
21288
21288
|
this._removeShadow(ctx);
|
|
21289
21289
|
}
|
|
21290
21290
|
|
|
21291
|
-
/**
|
|
21292
|
-
* measure and return the width of a single character.
|
|
21293
|
-
* possibly overridden to accommodate different measure logic or
|
|
21294
|
-
* to hook some external lib for character measurement
|
|
21295
|
-
* @private
|
|
21296
|
-
* @param {String} _char, char to be measured
|
|
21297
|
-
* @param {Object} charStyle style of char to be measured
|
|
21298
|
-
* @param {String} [previousChar] previous char
|
|
21299
|
-
* @param {Object} [prevCharStyle] style of previous char
|
|
21291
|
+
/**
|
|
21292
|
+
* measure and return the width of a single character.
|
|
21293
|
+
* possibly overridden to accommodate different measure logic or
|
|
21294
|
+
* to hook some external lib for character measurement
|
|
21295
|
+
* @private
|
|
21296
|
+
* @param {String} _char, char to be measured
|
|
21297
|
+
* @param {Object} charStyle style of char to be measured
|
|
21298
|
+
* @param {String} [previousChar] previous char
|
|
21299
|
+
* @param {Object} [prevCharStyle] style of previous char
|
|
21300
21300
|
*/
|
|
21301
21301
|
_measureChar(_char, charStyle, previousChar, prevCharStyle) {
|
|
21302
21302
|
const fontCache = cache.getFontCache(charStyle),
|
|
@@ -21341,19 +21341,19 @@ class FabricText extends StyledText {
|
|
|
21341
21341
|
};
|
|
21342
21342
|
}
|
|
21343
21343
|
|
|
21344
|
-
/**
|
|
21345
|
-
* Computes height of character at given position
|
|
21346
|
-
* @param {Number} line the line index number
|
|
21347
|
-
* @param {Number} _char the character index number
|
|
21348
|
-
* @return {Number} fontSize of the character
|
|
21344
|
+
/**
|
|
21345
|
+
* Computes height of character at given position
|
|
21346
|
+
* @param {Number} line the line index number
|
|
21347
|
+
* @param {Number} _char the character index number
|
|
21348
|
+
* @return {Number} fontSize of the character
|
|
21349
21349
|
*/
|
|
21350
21350
|
getHeightOfChar(line, _char) {
|
|
21351
21351
|
return this.getValueOfPropertyAt(line, _char, 'fontSize');
|
|
21352
21352
|
}
|
|
21353
21353
|
|
|
21354
|
-
/**
|
|
21355
|
-
* measure a text line measuring all characters.
|
|
21356
|
-
* @param {Number} lineIndex line number
|
|
21354
|
+
/**
|
|
21355
|
+
* measure a text line measuring all characters.
|
|
21356
|
+
* @param {Number} lineIndex line number
|
|
21357
21357
|
*/
|
|
21358
21358
|
measureLine(lineIndex) {
|
|
21359
21359
|
const lineInfo = this._measureLine(lineIndex);
|
|
@@ -21366,11 +21366,11 @@ class FabricText extends StyledText {
|
|
|
21366
21366
|
return lineInfo;
|
|
21367
21367
|
}
|
|
21368
21368
|
|
|
21369
|
-
/**
|
|
21370
|
-
* measure every grapheme of a line, populating __charBounds
|
|
21371
|
-
* @param {Number} lineIndex
|
|
21372
|
-
* @return {Object} object.width total width of characters
|
|
21373
|
-
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21369
|
+
/**
|
|
21370
|
+
* measure every grapheme of a line, populating __charBounds
|
|
21371
|
+
* @param {Number} lineIndex
|
|
21372
|
+
* @return {Object} object.width total width of characters
|
|
21373
|
+
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
21374
21374
|
*/
|
|
21375
21375
|
_measureLine(lineIndex) {
|
|
21376
21376
|
let width = 0,
|
|
@@ -21433,13 +21433,13 @@ class FabricText extends StyledText {
|
|
|
21433
21433
|
};
|
|
21434
21434
|
}
|
|
21435
21435
|
|
|
21436
|
-
/**
|
|
21437
|
-
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21438
|
-
* It appends it to graphemeInfo to be reused later at rendering
|
|
21439
|
-
* @private
|
|
21440
|
-
* @param {Number} positionInPath to be measured
|
|
21441
|
-
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21442
|
-
* @param {Object} startingPoint position of the point
|
|
21436
|
+
/**
|
|
21437
|
+
* Calculate the angle and the left,top position of the char that follow a path.
|
|
21438
|
+
* It appends it to graphemeInfo to be reused later at rendering
|
|
21439
|
+
* @private
|
|
21440
|
+
* @param {Number} positionInPath to be measured
|
|
21441
|
+
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
21442
|
+
* @param {Object} startingPoint position of the point
|
|
21443
21443
|
*/
|
|
21444
21444
|
_setGraphemeOnPath(positionInPath, graphemeInfo) {
|
|
21445
21445
|
const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
|
|
@@ -21452,13 +21452,13 @@ class FabricText extends StyledText {
|
|
|
21452
21452
|
graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
|
|
21453
21453
|
}
|
|
21454
21454
|
|
|
21455
|
-
/**
|
|
21456
|
-
*
|
|
21457
|
-
* @param {String} grapheme to be measured
|
|
21458
|
-
* @param {Number} lineIndex index of the line where the char is
|
|
21459
|
-
* @param {Number} charIndex position in the line
|
|
21460
|
-
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21461
|
-
* @returns {GraphemeBBox} grapheme bbox
|
|
21455
|
+
/**
|
|
21456
|
+
*
|
|
21457
|
+
* @param {String} grapheme to be measured
|
|
21458
|
+
* @param {Number} lineIndex index of the line where the char is
|
|
21459
|
+
* @param {Number} charIndex position in the line
|
|
21460
|
+
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21461
|
+
* @returns {GraphemeBBox} grapheme bbox
|
|
21462
21462
|
*/
|
|
21463
21463
|
_getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
|
|
21464
21464
|
const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21486,10 +21486,10 @@ class FabricText extends StyledText {
|
|
|
21486
21486
|
return box;
|
|
21487
21487
|
}
|
|
21488
21488
|
|
|
21489
|
-
/**
|
|
21490
|
-
* Calculate height of line at 'lineIndex'
|
|
21491
|
-
* @param {Number} lineIndex index of line to calculate
|
|
21492
|
-
* @return {Number}
|
|
21489
|
+
/**
|
|
21490
|
+
* Calculate height of line at 'lineIndex'
|
|
21491
|
+
* @param {Number} lineIndex index of line to calculate
|
|
21492
|
+
* @return {Number}
|
|
21493
21493
|
*/
|
|
21494
21494
|
getHeightOfLine(lineIndex) {
|
|
21495
21495
|
if (this.__lineHeights[lineIndex]) {
|
|
@@ -21505,8 +21505,8 @@ class FabricText extends StyledText {
|
|
|
21505
21505
|
return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
|
|
21506
21506
|
}
|
|
21507
21507
|
|
|
21508
|
-
/**
|
|
21509
|
-
* Calculate text box height
|
|
21508
|
+
/**
|
|
21509
|
+
* Calculate text box height
|
|
21510
21510
|
*/
|
|
21511
21511
|
calcTextHeight() {
|
|
21512
21512
|
let lineHeight,
|
|
@@ -21518,26 +21518,26 @@ class FabricText extends StyledText {
|
|
|
21518
21518
|
return height;
|
|
21519
21519
|
}
|
|
21520
21520
|
|
|
21521
|
-
/**
|
|
21522
|
-
* @private
|
|
21523
|
-
* @return {Number} Left offset
|
|
21521
|
+
/**
|
|
21522
|
+
* @private
|
|
21523
|
+
* @return {Number} Left offset
|
|
21524
21524
|
*/
|
|
21525
21525
|
_getLeftOffset() {
|
|
21526
21526
|
return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
|
|
21527
21527
|
}
|
|
21528
21528
|
|
|
21529
|
-
/**
|
|
21530
|
-
* @private
|
|
21531
|
-
* @return {Number} Top offset
|
|
21529
|
+
/**
|
|
21530
|
+
* @private
|
|
21531
|
+
* @return {Number} Top offset
|
|
21532
21532
|
*/
|
|
21533
21533
|
_getTopOffset() {
|
|
21534
21534
|
return -this.height / 2;
|
|
21535
21535
|
}
|
|
21536
21536
|
|
|
21537
|
-
/**
|
|
21538
|
-
* @private
|
|
21539
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21540
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21537
|
+
/**
|
|
21538
|
+
* @private
|
|
21539
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21540
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21541
21541
|
*/
|
|
21542
21542
|
_renderTextCommon(ctx, method) {
|
|
21543
21543
|
ctx.save();
|
|
@@ -21554,9 +21554,9 @@ class FabricText extends StyledText {
|
|
|
21554
21554
|
ctx.restore();
|
|
21555
21555
|
}
|
|
21556
21556
|
|
|
21557
|
-
/**
|
|
21558
|
-
* @private
|
|
21559
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21557
|
+
/**
|
|
21558
|
+
* @private
|
|
21559
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21560
21560
|
*/
|
|
21561
21561
|
_renderTextFill(ctx) {
|
|
21562
21562
|
if (!this.fill && !this.styleHas(FILL)) {
|
|
@@ -21565,9 +21565,9 @@ class FabricText extends StyledText {
|
|
|
21565
21565
|
this._renderTextCommon(ctx, 'fillText');
|
|
21566
21566
|
}
|
|
21567
21567
|
|
|
21568
|
-
/**
|
|
21569
|
-
* @private
|
|
21570
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21568
|
+
/**
|
|
21569
|
+
* @private
|
|
21570
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21571
21571
|
*/
|
|
21572
21572
|
_renderTextStroke(ctx) {
|
|
21573
21573
|
if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
|
|
@@ -21584,14 +21584,14 @@ class FabricText extends StyledText {
|
|
|
21584
21584
|
ctx.restore();
|
|
21585
21585
|
}
|
|
21586
21586
|
|
|
21587
|
-
/**
|
|
21588
|
-
* @private
|
|
21589
|
-
* @param {String} method fillText or strokeText.
|
|
21590
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21591
|
-
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21592
|
-
* @param {Number} left
|
|
21593
|
-
* @param {Number} top
|
|
21594
|
-
* @param {Number} lineIndex
|
|
21587
|
+
/**
|
|
21588
|
+
* @private
|
|
21589
|
+
* @param {String} method fillText or strokeText.
|
|
21590
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21591
|
+
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21592
|
+
* @param {Number} left
|
|
21593
|
+
* @param {Number} top
|
|
21594
|
+
* @param {Number} lineIndex
|
|
21595
21595
|
*/
|
|
21596
21596
|
_renderChars(method, ctx, line, left, top, lineIndex) {
|
|
21597
21597
|
const lineHeight = this.getHeightOfLine(lineIndex),
|
|
@@ -21673,16 +21673,16 @@ class FabricText extends StyledText {
|
|
|
21673
21673
|
ctx.restore();
|
|
21674
21674
|
}
|
|
21675
21675
|
|
|
21676
|
-
/**
|
|
21677
|
-
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21678
|
-
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21679
|
-
* we want to transform the gradient but not the stroke operation, so we create
|
|
21680
|
-
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21681
|
-
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21682
|
-
* is limited.
|
|
21683
|
-
* @private
|
|
21684
|
-
* @param {TFiller} filler a fabric gradient instance
|
|
21685
|
-
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21676
|
+
/**
|
|
21677
|
+
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21678
|
+
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21679
|
+
* we want to transform the gradient but not the stroke operation, so we create
|
|
21680
|
+
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21681
|
+
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21682
|
+
* is limited.
|
|
21683
|
+
* @private
|
|
21684
|
+
* @param {TFiller} filler a fabric gradient instance
|
|
21685
|
+
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21686
21686
|
*/
|
|
21687
21687
|
_applyPatternGradientTransformText(filler) {
|
|
21688
21688
|
// TODO: verify compatibility with strokeUniform
|
|
@@ -21738,12 +21738,12 @@ class FabricText extends StyledText {
|
|
|
21738
21738
|
};
|
|
21739
21739
|
}
|
|
21740
21740
|
|
|
21741
|
-
/**
|
|
21742
|
-
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21743
|
-
* need to be sent in as defined
|
|
21744
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21745
|
-
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21746
|
-
* @returns
|
|
21741
|
+
/**
|
|
21742
|
+
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21743
|
+
* need to be sent in as defined
|
|
21744
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21745
|
+
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21746
|
+
* @returns
|
|
21747
21747
|
*/
|
|
21748
21748
|
_setStrokeStyles(ctx, _ref) {
|
|
21749
21749
|
let {
|
|
@@ -21758,12 +21758,12 @@ class FabricText extends StyledText {
|
|
|
21758
21758
|
return this.handleFiller(ctx, 'strokeStyle', stroke);
|
|
21759
21759
|
}
|
|
21760
21760
|
|
|
21761
|
-
/**
|
|
21762
|
-
* This function prepare the canvas for a ill style, and fill
|
|
21763
|
-
* need to be sent in as defined
|
|
21764
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21765
|
-
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21766
|
-
* @returns
|
|
21761
|
+
/**
|
|
21762
|
+
* This function prepare the canvas for a ill style, and fill
|
|
21763
|
+
* need to be sent in as defined
|
|
21764
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21765
|
+
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21766
|
+
* @returns
|
|
21767
21767
|
*/
|
|
21768
21768
|
_setFillStyles(ctx, _ref2) {
|
|
21769
21769
|
let {
|
|
@@ -21772,16 +21772,16 @@ class FabricText extends StyledText {
|
|
|
21772
21772
|
return this.handleFiller(ctx, 'fillStyle', fill);
|
|
21773
21773
|
}
|
|
21774
21774
|
|
|
21775
|
-
/**
|
|
21776
|
-
* @private
|
|
21777
|
-
* @param {String} method
|
|
21778
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21779
|
-
* @param {Number} lineIndex
|
|
21780
|
-
* @param {Number} charIndex
|
|
21781
|
-
* @param {String} _char
|
|
21782
|
-
* @param {Number} left Left coordinate
|
|
21783
|
-
* @param {Number} top Top coordinate
|
|
21784
|
-
* @param {Number} lineHeight Height of the line
|
|
21775
|
+
/**
|
|
21776
|
+
* @private
|
|
21777
|
+
* @param {String} method
|
|
21778
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21779
|
+
* @param {Number} lineIndex
|
|
21780
|
+
* @param {Number} charIndex
|
|
21781
|
+
* @param {String} _char
|
|
21782
|
+
* @param {Number} left Left coordinate
|
|
21783
|
+
* @param {Number} top Top coordinate
|
|
21784
|
+
* @param {Number} lineHeight Height of the line
|
|
21785
21785
|
*/
|
|
21786
21786
|
_renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
|
|
21787
21787
|
const decl = this._getStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21810,30 +21810,30 @@ class FabricText extends StyledText {
|
|
|
21810
21810
|
ctx.restore();
|
|
21811
21811
|
}
|
|
21812
21812
|
|
|
21813
|
-
/**
|
|
21814
|
-
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21815
|
-
* @param {Number} start selection start
|
|
21816
|
-
* @param {Number} end selection end
|
|
21813
|
+
/**
|
|
21814
|
+
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21815
|
+
* @param {Number} start selection start
|
|
21816
|
+
* @param {Number} end selection end
|
|
21817
21817
|
*/
|
|
21818
21818
|
setSuperscript(start, end) {
|
|
21819
21819
|
this._setScript(start, end, this.superscript);
|
|
21820
21820
|
}
|
|
21821
21821
|
|
|
21822
|
-
/**
|
|
21823
|
-
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21824
|
-
* @param {Number} start selection start
|
|
21825
|
-
* @param {Number} end selection end
|
|
21822
|
+
/**
|
|
21823
|
+
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21824
|
+
* @param {Number} start selection start
|
|
21825
|
+
* @param {Number} end selection end
|
|
21826
21826
|
*/
|
|
21827
21827
|
setSubscript(start, end) {
|
|
21828
21828
|
this._setScript(start, end, this.subscript);
|
|
21829
21829
|
}
|
|
21830
21830
|
|
|
21831
|
-
/**
|
|
21832
|
-
* Applies 'schema' at given position
|
|
21833
|
-
* @private
|
|
21834
|
-
* @param {Number} start selection start
|
|
21835
|
-
* @param {Number} end selection end
|
|
21836
|
-
* @param {Number} schema
|
|
21831
|
+
/**
|
|
21832
|
+
* Applies 'schema' at given position
|
|
21833
|
+
* @private
|
|
21834
|
+
* @param {Number} start selection start
|
|
21835
|
+
* @param {Number} end selection end
|
|
21836
|
+
* @param {Number} schema
|
|
21837
21837
|
*/
|
|
21838
21838
|
_setScript(start, end, schema) {
|
|
21839
21839
|
const loc = this.get2DCursorLocation(start, true),
|
|
@@ -21846,10 +21846,10 @@ class FabricText extends StyledText {
|
|
|
21846
21846
|
this.setSelectionStyles(style, start, end);
|
|
21847
21847
|
}
|
|
21848
21848
|
|
|
21849
|
-
/**
|
|
21850
|
-
* @private
|
|
21851
|
-
* @param {Number} lineIndex index text line
|
|
21852
|
-
* @return {Number} Line left offset
|
|
21849
|
+
/**
|
|
21850
|
+
* @private
|
|
21851
|
+
* @param {Number} lineIndex index text line
|
|
21852
|
+
* @return {Number} Line left offset
|
|
21853
21853
|
*/
|
|
21854
21854
|
_getLineLeftOffset(lineIndex) {
|
|
21855
21855
|
const lineWidth = this.getLineWidth(lineIndex),
|
|
@@ -21899,8 +21899,8 @@ class FabricText extends StyledText {
|
|
|
21899
21899
|
return leftOffset;
|
|
21900
21900
|
}
|
|
21901
21901
|
|
|
21902
|
-
/**
|
|
21903
|
-
* @private
|
|
21902
|
+
/**
|
|
21903
|
+
* @private
|
|
21904
21904
|
*/
|
|
21905
21905
|
_clearCache() {
|
|
21906
21906
|
this._forceClearCache = false;
|
|
@@ -21909,12 +21909,12 @@ class FabricText extends StyledText {
|
|
|
21909
21909
|
this.__charBounds = [];
|
|
21910
21910
|
}
|
|
21911
21911
|
|
|
21912
|
-
/**
|
|
21913
|
-
* Measure a single line given its index. Used to calculate the initial
|
|
21914
|
-
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21915
|
-
* @private
|
|
21916
|
-
* @param {Number} lineIndex line number
|
|
21917
|
-
* @return {Number} Line width
|
|
21912
|
+
/**
|
|
21913
|
+
* Measure a single line given its index. Used to calculate the initial
|
|
21914
|
+
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21915
|
+
* @private
|
|
21916
|
+
* @param {Number} lineIndex line number
|
|
21917
|
+
* @return {Number} Line width
|
|
21918
21918
|
*/
|
|
21919
21919
|
getLineWidth(lineIndex) {
|
|
21920
21920
|
if (this.__lineWidths[lineIndex] !== undefined) {
|
|
@@ -21933,12 +21933,12 @@ class FabricText extends StyledText {
|
|
|
21933
21933
|
return 0;
|
|
21934
21934
|
}
|
|
21935
21935
|
|
|
21936
|
-
/**
|
|
21937
|
-
* Retrieves the value of property at given character position
|
|
21938
|
-
* @param {Number} lineIndex the line number
|
|
21939
|
-
* @param {Number} charIndex the character number
|
|
21940
|
-
* @param {String} property the property name
|
|
21941
|
-
* @returns the value of 'property'
|
|
21936
|
+
/**
|
|
21937
|
+
* Retrieves the value of property at given character position
|
|
21938
|
+
* @param {Number} lineIndex the line number
|
|
21939
|
+
* @param {Number} charIndex the character number
|
|
21940
|
+
* @param {String} property the property name
|
|
21941
|
+
* @returns the value of 'property'
|
|
21942
21942
|
*/
|
|
21943
21943
|
getValueOfPropertyAt(lineIndex, charIndex, property) {
|
|
21944
21944
|
var _charStyle$property;
|
|
@@ -21946,9 +21946,9 @@ class FabricText extends StyledText {
|
|
|
21946
21946
|
return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
|
|
21947
21947
|
}
|
|
21948
21948
|
|
|
21949
|
-
/**
|
|
21950
|
-
* @private
|
|
21951
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21949
|
+
/**
|
|
21950
|
+
* @private
|
|
21951
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21952
21952
|
*/
|
|
21953
21953
|
_renderTextDecoration(ctx, type) {
|
|
21954
21954
|
if (!this[type] && !this.styleHas(type)) {
|
|
@@ -22032,10 +22032,10 @@ class FabricText extends StyledText {
|
|
|
22032
22032
|
this._removeShadow(ctx);
|
|
22033
22033
|
}
|
|
22034
22034
|
|
|
22035
|
-
/**
|
|
22036
|
-
* return font declaration string for canvas context
|
|
22037
|
-
* @param {Object} [styleObject] object
|
|
22038
|
-
* @returns {String} font declaration formatted for canvas context.
|
|
22035
|
+
/**
|
|
22036
|
+
* return font declaration string for canvas context
|
|
22037
|
+
* @param {Object} [styleObject] object
|
|
22038
|
+
* @returns {String} font declaration formatted for canvas context.
|
|
22039
22039
|
*/
|
|
22040
22040
|
_getFontDeclaration() {
|
|
22041
22041
|
let {
|
|
@@ -22061,9 +22061,9 @@ class FabricText extends StyledText {
|
|
|
22061
22061
|
return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
|
|
22062
22062
|
}
|
|
22063
22063
|
|
|
22064
|
-
/**
|
|
22065
|
-
* Renders text instance on a specified context
|
|
22066
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22064
|
+
/**
|
|
22065
|
+
* Renders text instance on a specified context
|
|
22066
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
22067
22067
|
*/
|
|
22068
22068
|
render(ctx) {
|
|
22069
22069
|
if (!this.visible) {
|
|
@@ -22078,22 +22078,22 @@ class FabricText extends StyledText {
|
|
|
22078
22078
|
super.render(ctx);
|
|
22079
22079
|
}
|
|
22080
22080
|
|
|
22081
|
-
/**
|
|
22082
|
-
* Override this method to customize grapheme splitting
|
|
22083
|
-
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22084
|
-
* is more comfortable to inject the correct util rather than having to override text
|
|
22085
|
-
* in the middle of the prototype chain
|
|
22086
|
-
* @param {string} value
|
|
22087
|
-
* @returns {string[]} array of graphemes
|
|
22081
|
+
/**
|
|
22082
|
+
* Override this method to customize grapheme splitting
|
|
22083
|
+
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
22084
|
+
* is more comfortable to inject the correct util rather than having to override text
|
|
22085
|
+
* in the middle of the prototype chain
|
|
22086
|
+
* @param {string} value
|
|
22087
|
+
* @returns {string[]} array of graphemes
|
|
22088
22088
|
*/
|
|
22089
22089
|
graphemeSplit(value) {
|
|
22090
22090
|
return graphemeSplit(value);
|
|
22091
22091
|
}
|
|
22092
22092
|
|
|
22093
|
-
/**
|
|
22094
|
-
* Returns the text as an array of lines.
|
|
22095
|
-
* @param {String} text text to split
|
|
22096
|
-
* @returns Lines in the text
|
|
22093
|
+
/**
|
|
22094
|
+
* Returns the text as an array of lines.
|
|
22095
|
+
* @param {String} text text to split
|
|
22096
|
+
* @returns Lines in the text
|
|
22097
22097
|
*/
|
|
22098
22098
|
_splitTextIntoLines(text) {
|
|
22099
22099
|
const lines = text.split(this._reNewline),
|
|
@@ -22119,18 +22119,18 @@ class FabricText extends StyledText {
|
|
|
22119
22119
|
};
|
|
22120
22120
|
}
|
|
22121
22121
|
|
|
22122
|
-
/**
|
|
22123
|
-
* Check if text contains Arabic characters
|
|
22124
|
-
* @private
|
|
22122
|
+
/**
|
|
22123
|
+
* Check if text contains Arabic characters
|
|
22124
|
+
* @private
|
|
22125
22125
|
*/
|
|
22126
22126
|
_containsArabicText(text) {
|
|
22127
22127
|
return /[\u0600-\u06FF\u0750-\u077F\uFB50-\uFDFF\uFE70-\uFEFF]/.test(text);
|
|
22128
22128
|
}
|
|
22129
22129
|
|
|
22130
|
-
/**
|
|
22131
|
-
* Returns object representation of an instance
|
|
22132
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22133
|
-
* @return {Object} Object representation of an instance
|
|
22130
|
+
/**
|
|
22131
|
+
* Returns object representation of an instance
|
|
22132
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
22133
|
+
* @return {Object} Object representation of an instance
|
|
22134
22134
|
*/
|
|
22135
22135
|
toObject() {
|
|
22136
22136
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -22173,23 +22173,23 @@ class FabricText extends StyledText {
|
|
|
22173
22173
|
return this;
|
|
22174
22174
|
}
|
|
22175
22175
|
|
|
22176
|
-
/**
|
|
22177
|
-
* Returns complexity of an instance
|
|
22178
|
-
* @return {Number} complexity
|
|
22176
|
+
/**
|
|
22177
|
+
* Returns complexity of an instance
|
|
22178
|
+
* @return {Number} complexity
|
|
22179
22179
|
*/
|
|
22180
22180
|
complexity() {
|
|
22181
22181
|
return 1;
|
|
22182
22182
|
}
|
|
22183
22183
|
|
|
22184
|
-
/**
|
|
22185
|
-
* List of generic font families
|
|
22186
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22184
|
+
/**
|
|
22185
|
+
* List of generic font families
|
|
22186
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
22187
22187
|
*/
|
|
22188
22188
|
|
|
22189
|
-
/**
|
|
22190
|
-
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22191
|
-
* @param {HTMLElement} element Element to parse
|
|
22192
|
-
* @param {Object} [options] Options object
|
|
22189
|
+
/**
|
|
22190
|
+
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
22191
|
+
* @param {HTMLElement} element Element to parse
|
|
22192
|
+
* @param {Object} [options] Options object
|
|
22193
22193
|
*/
|
|
22194
22194
|
static async fromElement(element, options, cssRules) {
|
|
22195
22195
|
const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
|
|
@@ -22228,10 +22228,10 @@ class FabricText extends StyledText {
|
|
|
22228
22228
|
scaledDiff = lineHeightDiff * textHeightScaleFactor,
|
|
22229
22229
|
textHeight = text.getScaledHeight() + scaledDiff;
|
|
22230
22230
|
let offX = 0;
|
|
22231
|
-
/*
|
|
22232
|
-
Adjust positioning:
|
|
22233
|
-
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22234
|
-
fabric output by default at top, left.
|
|
22231
|
+
/*
|
|
22232
|
+
Adjust positioning:
|
|
22233
|
+
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
22234
|
+
fabric output by default at top, left.
|
|
22235
22235
|
*/
|
|
22236
22236
|
if (textAnchor === CENTER) {
|
|
22237
22237
|
offX = text.getScaledWidth() / 2;
|
|
@@ -22249,9 +22249,9 @@ class FabricText extends StyledText {
|
|
|
22249
22249
|
|
|
22250
22250
|
/* _FROM_SVG_END_ */
|
|
22251
22251
|
|
|
22252
|
-
/**
|
|
22253
|
-
* Check if the font is ready for accurate measurements
|
|
22254
|
-
* @private
|
|
22252
|
+
/**
|
|
22253
|
+
* Check if the font is ready for accurate measurements
|
|
22254
|
+
* @private
|
|
22255
22255
|
*/
|
|
22256
22256
|
_isFontReady() {
|
|
22257
22257
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22264,9 +22264,9 @@ class FabricText extends StyledText {
|
|
|
22264
22264
|
}
|
|
22265
22265
|
}
|
|
22266
22266
|
|
|
22267
|
-
/**
|
|
22268
|
-
* Schedule re-initialization after font loads
|
|
22269
|
-
* @private
|
|
22267
|
+
/**
|
|
22268
|
+
* Schedule re-initialization after font loads
|
|
22269
|
+
* @private
|
|
22270
22270
|
*/
|
|
22271
22271
|
_scheduleInitAfterFontLoad() {
|
|
22272
22272
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -22302,8 +22302,8 @@ class FabricText extends StyledText {
|
|
|
22302
22302
|
});
|
|
22303
22303
|
}
|
|
22304
22304
|
|
|
22305
|
-
/**
|
|
22306
|
-
* Force complete text re-initialization (useful after JSON loading)
|
|
22305
|
+
/**
|
|
22306
|
+
* Force complete text re-initialization (useful after JSON loading)
|
|
22307
22307
|
*/
|
|
22308
22308
|
forceTextReinitialization() {
|
|
22309
22309
|
console.log('🔄 Force reinitializing text object');
|
|
@@ -22331,10 +22331,10 @@ class FabricText extends StyledText {
|
|
|
22331
22331
|
}
|
|
22332
22332
|
}
|
|
22333
22333
|
|
|
22334
|
-
/**
|
|
22335
|
-
* Returns FabricText instance from an object representation
|
|
22336
|
-
* @param {Object} object plain js Object to create an instance from
|
|
22337
|
-
* @returns {Promise<FabricText>}
|
|
22334
|
+
/**
|
|
22335
|
+
* Returns FabricText instance from an object representation
|
|
22336
|
+
* @param {Object} object plain js Object to create an instance from
|
|
22337
|
+
* @returns {Promise<FabricText>}
|
|
22338
22338
|
*/
|
|
22339
22339
|
static fromObject(object) {
|
|
22340
22340
|
return this._fromObject({
|
|
@@ -22379,6 +22379,10 @@ class FabricText extends StyledText {
|
|
|
22379
22379
|
textObject._usingBrowserWrapping = true;
|
|
22380
22380
|
console.log(`🔤 STV font: Forcing browser wrapping flag during JSON load`);
|
|
22381
22381
|
|
|
22382
|
+
// Enable overlay editing for STV fonts to use native browser text handling
|
|
22383
|
+
textObject.useOverlayEditing = true;
|
|
22384
|
+
console.log(`🔤 STV font: Enabling overlay editing during JSON load`);
|
|
22385
|
+
|
|
22382
22386
|
// Multiple initialization attempts for STV fonts
|
|
22383
22387
|
const reinitWithDelay = attempt => {
|
|
22384
22388
|
if (textObject.forceTextReinitialization) {
|
|
@@ -22432,10 +22436,10 @@ class FabricText extends StyledText {
|
|
|
22432
22436
|
});
|
|
22433
22437
|
}
|
|
22434
22438
|
}
|
|
22435
|
-
/**
|
|
22436
|
-
* Properties that requires a text layout recalculation when changed
|
|
22437
|
-
* @type string[]
|
|
22438
|
-
* @protected
|
|
22439
|
+
/**
|
|
22440
|
+
* Properties that requires a text layout recalculation when changed
|
|
22441
|
+
* @type string[]
|
|
22442
|
+
* @protected
|
|
22439
22443
|
*/
|
|
22440
22444
|
_defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
|
|
22441
22445
|
_defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
|
|
@@ -22443,9 +22447,9 @@ _defineProperty(FabricText, "ownDefaults", textDefaultValues);
|
|
|
22443
22447
|
_defineProperty(FabricText, "type", 'Text');
|
|
22444
22448
|
_defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
|
|
22445
22449
|
/* _FROM_SVG_START_ */
|
|
22446
|
-
/**
|
|
22447
|
-
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22448
|
-
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22450
|
+
/**
|
|
22451
|
+
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
22452
|
+
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
22449
22453
|
*/
|
|
22450
22454
|
_defineProperty(FabricText, "ATTRIBUTE_NAMES", SHARED_ATTRIBUTES.concat('x', 'y', 'dx', 'dy', 'font-family', 'font-style', 'font-weight', 'font-size', 'letter-spacing', 'text-decoration', 'text-anchor'));
|
|
22451
22455
|
applyMixins(FabricText, [TextSVGExportMixin]);
|
|
@@ -22832,8 +22836,8 @@ class OverlayEditor {
|
|
|
22832
22836
|
// We don't need to save/restore them here as it would conflict with IText's restoration
|
|
22833
22837
|
}
|
|
22834
22838
|
|
|
22835
|
-
/**
|
|
22836
|
-
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22839
|
+
/**
|
|
22840
|
+
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22837
22841
|
*/
|
|
22838
22842
|
getCanvasContainer() {
|
|
22839
22843
|
const upperCanvas = this.canvas.upperCanvasEl;
|
|
@@ -22847,8 +22851,8 @@ class OverlayEditor {
|
|
|
22847
22851
|
return container;
|
|
22848
22852
|
}
|
|
22849
22853
|
|
|
22850
|
-
/**
|
|
22851
|
-
* Create the overlay DOM structure
|
|
22854
|
+
/**
|
|
22855
|
+
* Create the overlay DOM structure
|
|
22852
22856
|
*/
|
|
22853
22857
|
createOverlayDOM() {
|
|
22854
22858
|
// Host div for positioning and overflow control
|
|
@@ -22903,8 +22907,8 @@ class OverlayEditor {
|
|
|
22903
22907
|
document.body.appendChild(this.hostDiv);
|
|
22904
22908
|
}
|
|
22905
22909
|
|
|
22906
|
-
/**
|
|
22907
|
-
* Attach all event listeners
|
|
22910
|
+
/**
|
|
22911
|
+
* Attach all event listeners
|
|
22908
22912
|
*/
|
|
22909
22913
|
attachEventListeners() {
|
|
22910
22914
|
// Textarea events
|
|
@@ -22924,8 +22928,8 @@ class OverlayEditor {
|
|
|
22924
22928
|
this.setupViewportChangeDetection();
|
|
22925
22929
|
}
|
|
22926
22930
|
|
|
22927
|
-
/**
|
|
22928
|
-
* Remove all event listeners
|
|
22931
|
+
/**
|
|
22932
|
+
* Remove all event listeners
|
|
22929
22933
|
*/
|
|
22930
22934
|
removeEventListeners() {
|
|
22931
22935
|
this.textarea.removeEventListener('input', this.boundHandlers.onInput);
|
|
@@ -22942,16 +22946,16 @@ class OverlayEditor {
|
|
|
22942
22946
|
this.restoreViewportChangeDetection();
|
|
22943
22947
|
}
|
|
22944
22948
|
|
|
22945
|
-
/**
|
|
22946
|
-
* Simple method to refresh positioning when canvas changes
|
|
22949
|
+
/**
|
|
22950
|
+
* Simple method to refresh positioning when canvas changes
|
|
22947
22951
|
*/
|
|
22948
22952
|
updatePosition() {
|
|
22949
22953
|
this.applyOverlayStyle();
|
|
22950
22954
|
}
|
|
22951
22955
|
|
|
22952
|
-
/**
|
|
22953
|
-
* Update the Fabric object bounds to match current textarea size
|
|
22954
|
-
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22956
|
+
/**
|
|
22957
|
+
* Update the Fabric object bounds to match current textarea size
|
|
22958
|
+
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22955
22959
|
*/
|
|
22956
22960
|
updateObjectBounds() {
|
|
22957
22961
|
if (this.isDestroyed) return;
|
|
@@ -22985,15 +22989,15 @@ class OverlayEditor {
|
|
|
22985
22989
|
}
|
|
22986
22990
|
}
|
|
22987
22991
|
|
|
22988
|
-
/**
|
|
22989
|
-
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22992
|
+
/**
|
|
22993
|
+
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22990
22994
|
*/
|
|
22991
22995
|
letterSpacingPx(charSpacing, fontSize) {
|
|
22992
22996
|
return charSpacing / 1000 * fontSize;
|
|
22993
22997
|
}
|
|
22994
22998
|
|
|
22995
|
-
/**
|
|
22996
|
-
* Detect text direction using first strong directional character
|
|
22999
|
+
/**
|
|
23000
|
+
* Detect text direction using first strong directional character
|
|
22997
23001
|
*/
|
|
22998
23002
|
firstStrongDir(text) {
|
|
22999
23003
|
// Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
|
|
@@ -23230,8 +23234,8 @@ class OverlayEditor {
|
|
|
23230
23234
|
// Initial bounds are set correctly by Fabric.js - don't force update here
|
|
23231
23235
|
}
|
|
23232
23236
|
|
|
23233
|
-
/**
|
|
23234
|
-
* Debug method to compare textarea and canvas object bounding boxes
|
|
23237
|
+
/**
|
|
23238
|
+
* Debug method to compare textarea and canvas object bounding boxes
|
|
23235
23239
|
*/
|
|
23236
23240
|
debugBoundingBoxComparison() {
|
|
23237
23241
|
const target = this.target;
|
|
@@ -23301,8 +23305,8 @@ class OverlayEditor {
|
|
|
23301
23305
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23302
23306
|
}
|
|
23303
23307
|
|
|
23304
|
-
/**
|
|
23305
|
-
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23308
|
+
/**
|
|
23309
|
+
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
23306
23310
|
*/
|
|
23307
23311
|
debugTextWrapping() {
|
|
23308
23312
|
const target = this.target;
|
|
@@ -23387,8 +23391,8 @@ class OverlayEditor {
|
|
|
23387
23391
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
23388
23392
|
}
|
|
23389
23393
|
|
|
23390
|
-
/**
|
|
23391
|
-
* Focus the textarea and position cursor at end
|
|
23394
|
+
/**
|
|
23395
|
+
* Focus the textarea and position cursor at end
|
|
23392
23396
|
*/
|
|
23393
23397
|
focusTextarea() {
|
|
23394
23398
|
// For overlay editing, we want to keep the object in "selection mode" not "editing mode"
|
|
@@ -23428,8 +23432,8 @@ class OverlayEditor {
|
|
|
23428
23432
|
this.canvas.requestRenderAll();
|
|
23429
23433
|
}
|
|
23430
23434
|
|
|
23431
|
-
/**
|
|
23432
|
-
* Refresh overlay positioning and styling
|
|
23435
|
+
/**
|
|
23436
|
+
* Refresh overlay positioning and styling
|
|
23433
23437
|
*/
|
|
23434
23438
|
refresh() {
|
|
23435
23439
|
if (this.isDestroyed) return;
|
|
@@ -23437,8 +23441,8 @@ class OverlayEditor {
|
|
|
23437
23441
|
// Don't update object bounds on every refresh - only when textarea actually resizes
|
|
23438
23442
|
}
|
|
23439
23443
|
|
|
23440
|
-
/**
|
|
23441
|
-
* Destroy the overlay editor
|
|
23444
|
+
/**
|
|
23445
|
+
* Destroy the overlay editor
|
|
23442
23446
|
*/
|
|
23443
23447
|
destroy() {
|
|
23444
23448
|
let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -23606,8 +23610,8 @@ class OverlayEditor {
|
|
|
23606
23610
|
}
|
|
23607
23611
|
}
|
|
23608
23612
|
|
|
23609
|
-
/**
|
|
23610
|
-
* Setup detection for viewport changes (zoom/pan)
|
|
23613
|
+
/**
|
|
23614
|
+
* Setup detection for viewport changes (zoom/pan)
|
|
23611
23615
|
*/
|
|
23612
23616
|
setupViewportChangeDetection() {
|
|
23613
23617
|
// Store original methods
|
|
@@ -23636,8 +23640,8 @@ class OverlayEditor {
|
|
|
23636
23640
|
};
|
|
23637
23641
|
}
|
|
23638
23642
|
|
|
23639
|
-
/**
|
|
23640
|
-
* Restore original viewport methods
|
|
23643
|
+
/**
|
|
23644
|
+
* Restore original viewport methods
|
|
23641
23645
|
*/
|
|
23642
23646
|
restoreViewportChangeDetection() {
|
|
23643
23647
|
if (this.canvas.__originalSetZoom) {
|
|
@@ -23652,8 +23656,8 @@ class OverlayEditor {
|
|
|
23652
23656
|
}
|
|
23653
23657
|
}
|
|
23654
23658
|
|
|
23655
|
-
/**
|
|
23656
|
-
* Enter overlay text editing mode for a text object
|
|
23659
|
+
/**
|
|
23660
|
+
* Enter overlay text editing mode for a text object
|
|
23657
23661
|
*/
|
|
23658
23662
|
function enterTextOverlayEdit(canvas, target, options) {
|
|
23659
23663
|
// If already in overlay editing, destroy existing editor first
|
|
@@ -23677,35 +23681,35 @@ function enterTextOverlayEdit(canvas, target, options) {
|
|
|
23677
23681
|
return editor;
|
|
23678
23682
|
}
|
|
23679
23683
|
|
|
23680
|
-
/**
|
|
23681
|
-
* extend this regex to support non english languages
|
|
23682
|
-
*
|
|
23683
|
-
* - ` ` Matches a SPACE character (char code 32).
|
|
23684
|
-
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23685
|
-
* - `.` Matches a "." character (char code 46).
|
|
23686
|
-
* - `,` Matches a "," character (char code 44).
|
|
23687
|
-
* - `;` Matches a ";" character (char code 59).
|
|
23688
|
-
* - `!` Matches a "!" character (char code 33).
|
|
23689
|
-
* - `\?` Matches a "?" character (char code 63).
|
|
23690
|
-
* - `\-` Matches a "-" character (char code 45).
|
|
23684
|
+
/**
|
|
23685
|
+
* extend this regex to support non english languages
|
|
23686
|
+
*
|
|
23687
|
+
* - ` ` Matches a SPACE character (char code 32).
|
|
23688
|
+
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23689
|
+
* - `.` Matches a "." character (char code 46).
|
|
23690
|
+
* - `,` Matches a "," character (char code 44).
|
|
23691
|
+
* - `;` Matches a ";" character (char code 59).
|
|
23692
|
+
* - `!` Matches a "!" character (char code 33).
|
|
23693
|
+
* - `\?` Matches a "?" character (char code 63).
|
|
23694
|
+
* - `\-` Matches a "-" character (char code 45).
|
|
23691
23695
|
*/
|
|
23692
23696
|
// eslint-disable-next-line no-useless-escape
|
|
23693
23697
|
const reNonWord = /[ \n\.,;!\?\-]/;
|
|
23694
23698
|
class ITextBehavior extends FabricText {
|
|
23695
23699
|
constructor() {
|
|
23696
23700
|
super(...arguments);
|
|
23697
|
-
/**
|
|
23698
|
-
* Helps determining when the text is in composition, so that the cursor
|
|
23699
|
-
* rendering is altered.
|
|
23701
|
+
/**
|
|
23702
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
23703
|
+
* rendering is altered.
|
|
23700
23704
|
*/
|
|
23701
23705
|
_defineProperty(this, "_currentCursorOpacity", 1);
|
|
23702
23706
|
}
|
|
23703
|
-
/**
|
|
23704
|
-
* Keeps track if the IText object was selected before the actual click.
|
|
23705
|
-
* This because we want to delay enter editing by a click.
|
|
23707
|
+
/**
|
|
23708
|
+
* Keeps track if the IText object was selected before the actual click.
|
|
23709
|
+
* This because we want to delay enter editing by a click.
|
|
23706
23710
|
*/
|
|
23707
|
-
/**
|
|
23708
|
-
* Initializes all the interactive behavior of IText
|
|
23711
|
+
/**
|
|
23712
|
+
* Initializes all the interactive behavior of IText
|
|
23709
23713
|
*/
|
|
23710
23714
|
initBehavior() {
|
|
23711
23715
|
this._tick = this._tick.bind(this);
|
|
@@ -23718,8 +23722,8 @@ class ITextBehavior extends FabricText {
|
|
|
23718
23722
|
return super.onDeselect(options);
|
|
23719
23723
|
}
|
|
23720
23724
|
|
|
23721
|
-
/**
|
|
23722
|
-
* @private
|
|
23725
|
+
/**
|
|
23726
|
+
* @private
|
|
23723
23727
|
*/
|
|
23724
23728
|
_animateCursor(_ref) {
|
|
23725
23729
|
let {
|
|
@@ -23744,8 +23748,8 @@ class ITextBehavior extends FabricText {
|
|
|
23744
23748
|
});
|
|
23745
23749
|
}
|
|
23746
23750
|
|
|
23747
|
-
/**
|
|
23748
|
-
* changes the cursor from visible to invisible
|
|
23751
|
+
/**
|
|
23752
|
+
* changes the cursor from visible to invisible
|
|
23749
23753
|
*/
|
|
23750
23754
|
_tick(delay) {
|
|
23751
23755
|
this._currentTickState = this._animateCursor({
|
|
@@ -23756,8 +23760,8 @@ class ITextBehavior extends FabricText {
|
|
|
23756
23760
|
});
|
|
23757
23761
|
}
|
|
23758
23762
|
|
|
23759
|
-
/**
|
|
23760
|
-
* Changes the cursor from invisible to visible
|
|
23763
|
+
/**
|
|
23764
|
+
* Changes the cursor from invisible to visible
|
|
23761
23765
|
*/
|
|
23762
23766
|
_onTickComplete() {
|
|
23763
23767
|
var _this$_currentTickCom;
|
|
@@ -23769,16 +23773,16 @@ class ITextBehavior extends FabricText {
|
|
|
23769
23773
|
});
|
|
23770
23774
|
}
|
|
23771
23775
|
|
|
23772
|
-
/**
|
|
23773
|
-
* Initializes delayed cursor
|
|
23776
|
+
/**
|
|
23777
|
+
* Initializes delayed cursor
|
|
23774
23778
|
*/
|
|
23775
23779
|
initDelayedCursor(restart) {
|
|
23776
23780
|
this.abortCursorAnimation();
|
|
23777
23781
|
this._tick(restart ? 0 : this.cursorDelay);
|
|
23778
23782
|
}
|
|
23779
23783
|
|
|
23780
|
-
/**
|
|
23781
|
-
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23784
|
+
/**
|
|
23785
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23782
23786
|
*/
|
|
23783
23787
|
abortCursorAnimation() {
|
|
23784
23788
|
let shouldClear = false;
|
|
@@ -23796,9 +23800,9 @@ class ITextBehavior extends FabricText {
|
|
|
23796
23800
|
}
|
|
23797
23801
|
}
|
|
23798
23802
|
|
|
23799
|
-
/**
|
|
23800
|
-
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23801
|
-
* or if it never started before
|
|
23803
|
+
/**
|
|
23804
|
+
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23805
|
+
* or if it never started before
|
|
23802
23806
|
*/
|
|
23803
23807
|
restartCursorIfNeeded() {
|
|
23804
23808
|
if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
|
|
@@ -23806,8 +23810,8 @@ class ITextBehavior extends FabricText {
|
|
|
23806
23810
|
}
|
|
23807
23811
|
}
|
|
23808
23812
|
|
|
23809
|
-
/**
|
|
23810
|
-
* Selects entire text
|
|
23813
|
+
/**
|
|
23814
|
+
* Selects entire text
|
|
23811
23815
|
*/
|
|
23812
23816
|
selectAll() {
|
|
23813
23817
|
this.selectionStart = 0;
|
|
@@ -23817,26 +23821,26 @@ class ITextBehavior extends FabricText {
|
|
|
23817
23821
|
return this;
|
|
23818
23822
|
}
|
|
23819
23823
|
|
|
23820
|
-
/**
|
|
23821
|
-
* Selects entire text and updates the visual state
|
|
23824
|
+
/**
|
|
23825
|
+
* Selects entire text and updates the visual state
|
|
23822
23826
|
*/
|
|
23823
23827
|
cmdAll() {
|
|
23824
23828
|
this.selectAll();
|
|
23825
23829
|
this.renderCursorOrSelection();
|
|
23826
23830
|
}
|
|
23827
23831
|
|
|
23828
|
-
/**
|
|
23829
|
-
* Returns selected text
|
|
23830
|
-
* @return {String}
|
|
23832
|
+
/**
|
|
23833
|
+
* Returns selected text
|
|
23834
|
+
* @return {String}
|
|
23831
23835
|
*/
|
|
23832
23836
|
getSelectedText() {
|
|
23833
23837
|
return this._text.slice(this.selectionStart, this.selectionEnd).join('');
|
|
23834
23838
|
}
|
|
23835
23839
|
|
|
23836
|
-
/**
|
|
23837
|
-
* Find new selection index representing start of current word according to current selection index
|
|
23838
|
-
* @param {Number} startFrom Current selection index
|
|
23839
|
-
* @return {Number} New selection index
|
|
23840
|
+
/**
|
|
23841
|
+
* Find new selection index representing start of current word according to current selection index
|
|
23842
|
+
* @param {Number} startFrom Current selection index
|
|
23843
|
+
* @return {Number} New selection index
|
|
23840
23844
|
*/
|
|
23841
23845
|
findWordBoundaryLeft(startFrom) {
|
|
23842
23846
|
let offset = 0,
|
|
@@ -23856,10 +23860,10 @@ class ITextBehavior extends FabricText {
|
|
|
23856
23860
|
return startFrom - offset;
|
|
23857
23861
|
}
|
|
23858
23862
|
|
|
23859
|
-
/**
|
|
23860
|
-
* Find new selection index representing end of current word according to current selection index
|
|
23861
|
-
* @param {Number} startFrom Current selection index
|
|
23862
|
-
* @return {Number} New selection index
|
|
23863
|
+
/**
|
|
23864
|
+
* Find new selection index representing end of current word according to current selection index
|
|
23865
|
+
* @param {Number} startFrom Current selection index
|
|
23866
|
+
* @return {Number} New selection index
|
|
23863
23867
|
*/
|
|
23864
23868
|
findWordBoundaryRight(startFrom) {
|
|
23865
23869
|
let offset = 0,
|
|
@@ -23879,10 +23883,10 @@ class ITextBehavior extends FabricText {
|
|
|
23879
23883
|
return startFrom + offset;
|
|
23880
23884
|
}
|
|
23881
23885
|
|
|
23882
|
-
/**
|
|
23883
|
-
* Find new selection index representing start of current line according to current selection index
|
|
23884
|
-
* @param {Number} startFrom Current selection index
|
|
23885
|
-
* @return {Number} New selection index
|
|
23886
|
+
/**
|
|
23887
|
+
* Find new selection index representing start of current line according to current selection index
|
|
23888
|
+
* @param {Number} startFrom Current selection index
|
|
23889
|
+
* @return {Number} New selection index
|
|
23886
23890
|
*/
|
|
23887
23891
|
findLineBoundaryLeft(startFrom) {
|
|
23888
23892
|
let offset = 0,
|
|
@@ -23894,10 +23898,10 @@ class ITextBehavior extends FabricText {
|
|
|
23894
23898
|
return startFrom - offset;
|
|
23895
23899
|
}
|
|
23896
23900
|
|
|
23897
|
-
/**
|
|
23898
|
-
* Find new selection index representing end of current line according to current selection index
|
|
23899
|
-
* @param {Number} startFrom Current selection index
|
|
23900
|
-
* @return {Number} New selection index
|
|
23901
|
+
/**
|
|
23902
|
+
* Find new selection index representing end of current line according to current selection index
|
|
23903
|
+
* @param {Number} startFrom Current selection index
|
|
23904
|
+
* @return {Number} New selection index
|
|
23901
23905
|
*/
|
|
23902
23906
|
findLineBoundaryRight(startFrom) {
|
|
23903
23907
|
let offset = 0,
|
|
@@ -23909,11 +23913,11 @@ class ITextBehavior extends FabricText {
|
|
|
23909
23913
|
return startFrom + offset;
|
|
23910
23914
|
}
|
|
23911
23915
|
|
|
23912
|
-
/**
|
|
23913
|
-
* Finds index corresponding to beginning or end of a word
|
|
23914
|
-
* @param {Number} selectionStart Index of a character
|
|
23915
|
-
* @param {Number} direction 1 or -1
|
|
23916
|
-
* @return {Number} Index of the beginning or end of a word
|
|
23916
|
+
/**
|
|
23917
|
+
* Finds index corresponding to beginning or end of a word
|
|
23918
|
+
* @param {Number} selectionStart Index of a character
|
|
23919
|
+
* @param {Number} direction 1 or -1
|
|
23920
|
+
* @return {Number} Index of the beginning or end of a word
|
|
23917
23921
|
*/
|
|
23918
23922
|
searchWordBoundary(selectionStart, direction) {
|
|
23919
23923
|
const text = this._text;
|
|
@@ -23931,9 +23935,9 @@ class ITextBehavior extends FabricText {
|
|
|
23931
23935
|
return index;
|
|
23932
23936
|
}
|
|
23933
23937
|
|
|
23934
|
-
/**
|
|
23935
|
-
* Selects the word that contains the char at index selectionStart
|
|
23936
|
-
* @param {Number} selectionStart Index of a character
|
|
23938
|
+
/**
|
|
23939
|
+
* Selects the word that contains the char at index selectionStart
|
|
23940
|
+
* @param {Number} selectionStart Index of a character
|
|
23937
23941
|
*/
|
|
23938
23942
|
selectWord(selectionStart) {
|
|
23939
23943
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23949,9 +23953,9 @@ class ITextBehavior extends FabricText {
|
|
|
23949
23953
|
this.renderCursorOrSelection();
|
|
23950
23954
|
}
|
|
23951
23955
|
|
|
23952
|
-
/**
|
|
23953
|
-
* Selects the line that contains selectionStart
|
|
23954
|
-
* @param {Number} selectionStart Index of a character
|
|
23956
|
+
/**
|
|
23957
|
+
* Selects the line that contains selectionStart
|
|
23958
|
+
* @param {Number} selectionStart Index of a character
|
|
23955
23959
|
*/
|
|
23956
23960
|
selectLine(selectionStart) {
|
|
23957
23961
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23963,8 +23967,8 @@ class ITextBehavior extends FabricText {
|
|
|
23963
23967
|
this._updateTextarea();
|
|
23964
23968
|
}
|
|
23965
23969
|
|
|
23966
|
-
/**
|
|
23967
|
-
* Enters editing state
|
|
23970
|
+
/**
|
|
23971
|
+
* Enters editing state
|
|
23968
23972
|
*/
|
|
23969
23973
|
enterEditing(e) {
|
|
23970
23974
|
if (this.isEditing || !this.editable) {
|
|
@@ -23984,8 +23988,8 @@ class ITextBehavior extends FabricText {
|
|
|
23984
23988
|
}
|
|
23985
23989
|
}
|
|
23986
23990
|
|
|
23987
|
-
/**
|
|
23988
|
-
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23991
|
+
/**
|
|
23992
|
+
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23989
23993
|
*/
|
|
23990
23994
|
enterEditingImpl() {
|
|
23991
23995
|
if (this.canvas) {
|
|
@@ -24009,8 +24013,8 @@ class ITextBehavior extends FabricText {
|
|
|
24009
24013
|
}
|
|
24010
24014
|
}
|
|
24011
24015
|
|
|
24012
|
-
/**
|
|
24013
|
-
* Enter overlay editing mode using DOM textarea overlay
|
|
24016
|
+
/**
|
|
24017
|
+
* Enter overlay editing mode using DOM textarea overlay
|
|
24014
24018
|
*/
|
|
24015
24019
|
enterOverlayEditing() {
|
|
24016
24020
|
this._saveEditingProps();
|
|
@@ -24031,8 +24035,8 @@ class ITextBehavior extends FabricText {
|
|
|
24031
24035
|
});
|
|
24032
24036
|
}
|
|
24033
24037
|
|
|
24034
|
-
/**
|
|
24035
|
-
* Commit overlay editing changes
|
|
24038
|
+
/**
|
|
24039
|
+
* Commit overlay editing changes
|
|
24036
24040
|
*/
|
|
24037
24041
|
commitOverlayEdit(text) {
|
|
24038
24042
|
const overlayEditor = this.__overlayEditor;
|
|
@@ -24056,8 +24060,8 @@ class ITextBehavior extends FabricText {
|
|
|
24056
24060
|
this.canvas && this.canvas.requestRenderAll();
|
|
24057
24061
|
}
|
|
24058
24062
|
|
|
24059
|
-
/**
|
|
24060
|
-
* Cancel overlay editing without changes
|
|
24063
|
+
/**
|
|
24064
|
+
* Cancel overlay editing without changes
|
|
24061
24065
|
*/
|
|
24062
24066
|
cancelOverlayEdit() {
|
|
24063
24067
|
// Restore original text
|
|
@@ -24065,8 +24069,8 @@ class ITextBehavior extends FabricText {
|
|
|
24065
24069
|
this.exitEditing();
|
|
24066
24070
|
}
|
|
24067
24071
|
|
|
24068
|
-
/**
|
|
24069
|
-
* called by {@link Canvas#textEditingManager}
|
|
24072
|
+
/**
|
|
24073
|
+
* called by {@link Canvas#textEditingManager}
|
|
24070
24074
|
*/
|
|
24071
24075
|
updateSelectionOnMouseMove(e) {
|
|
24072
24076
|
if (this.getActiveControl()) {
|
|
@@ -24094,8 +24098,8 @@ class ITextBehavior extends FabricText {
|
|
|
24094
24098
|
}
|
|
24095
24099
|
}
|
|
24096
24100
|
|
|
24097
|
-
/**
|
|
24098
|
-
* @private
|
|
24101
|
+
/**
|
|
24102
|
+
* @private
|
|
24099
24103
|
*/
|
|
24100
24104
|
_setEditingProps() {
|
|
24101
24105
|
this.hoverCursor = 'text';
|
|
@@ -24107,8 +24111,8 @@ class ITextBehavior extends FabricText {
|
|
|
24107
24111
|
this.lockMovementX = this.lockMovementY = true;
|
|
24108
24112
|
}
|
|
24109
24113
|
|
|
24110
|
-
/**
|
|
24111
|
-
* convert from textarea to grapheme indexes
|
|
24114
|
+
/**
|
|
24115
|
+
* convert from textarea to grapheme indexes
|
|
24112
24116
|
*/
|
|
24113
24117
|
fromStringToGraphemeSelection(start, end, text) {
|
|
24114
24118
|
const smallerTextStart = text.slice(0, start),
|
|
@@ -24127,8 +24131,8 @@ class ITextBehavior extends FabricText {
|
|
|
24127
24131
|
};
|
|
24128
24132
|
}
|
|
24129
24133
|
|
|
24130
|
-
/**
|
|
24131
|
-
* convert from fabric to textarea values
|
|
24134
|
+
/**
|
|
24135
|
+
* convert from fabric to textarea values
|
|
24132
24136
|
*/
|
|
24133
24137
|
fromGraphemeToStringSelection(start, end, graphemes) {
|
|
24134
24138
|
const smallerTextStart = graphemes.slice(0, start),
|
|
@@ -24147,8 +24151,8 @@ class ITextBehavior extends FabricText {
|
|
|
24147
24151
|
};
|
|
24148
24152
|
}
|
|
24149
24153
|
|
|
24150
|
-
/**
|
|
24151
|
-
* @private
|
|
24154
|
+
/**
|
|
24155
|
+
* @private
|
|
24152
24156
|
*/
|
|
24153
24157
|
_updateTextarea() {
|
|
24154
24158
|
console.log('🔤 _updateTextarea called with fabric text:', this.text);
|
|
@@ -24173,8 +24177,8 @@ class ITextBehavior extends FabricText {
|
|
|
24173
24177
|
this.updateTextareaPosition();
|
|
24174
24178
|
}
|
|
24175
24179
|
|
|
24176
|
-
/**
|
|
24177
|
-
* @private
|
|
24180
|
+
/**
|
|
24181
|
+
* @private
|
|
24178
24182
|
*/
|
|
24179
24183
|
updateFromTextArea() {
|
|
24180
24184
|
if (!this.hiddenTextarea) {
|
|
@@ -24194,8 +24198,8 @@ class ITextBehavior extends FabricText {
|
|
|
24194
24198
|
this.updateTextareaPosition();
|
|
24195
24199
|
}
|
|
24196
24200
|
|
|
24197
|
-
/**
|
|
24198
|
-
* @private
|
|
24201
|
+
/**
|
|
24202
|
+
* @private
|
|
24199
24203
|
*/
|
|
24200
24204
|
updateTextareaPosition() {
|
|
24201
24205
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -24205,9 +24209,9 @@ class ITextBehavior extends FabricText {
|
|
|
24205
24209
|
}
|
|
24206
24210
|
}
|
|
24207
24211
|
|
|
24208
|
-
/**
|
|
24209
|
-
* @private
|
|
24210
|
-
* @return {Object} style contains style for hiddenTextarea
|
|
24212
|
+
/**
|
|
24213
|
+
* @private
|
|
24214
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
24211
24215
|
*/
|
|
24212
24216
|
_calcTextareaPosition() {
|
|
24213
24217
|
if (!this.canvas) {
|
|
@@ -24254,8 +24258,8 @@ class ITextBehavior extends FabricText {
|
|
|
24254
24258
|
};
|
|
24255
24259
|
}
|
|
24256
24260
|
|
|
24257
|
-
/**
|
|
24258
|
-
* @private
|
|
24261
|
+
/**
|
|
24262
|
+
* @private
|
|
24259
24263
|
*/
|
|
24260
24264
|
_saveEditingProps() {
|
|
24261
24265
|
this._savedProps = {
|
|
@@ -24272,8 +24276,8 @@ class ITextBehavior extends FabricText {
|
|
|
24272
24276
|
};
|
|
24273
24277
|
}
|
|
24274
24278
|
|
|
24275
|
-
/**
|
|
24276
|
-
* @private
|
|
24279
|
+
/**
|
|
24280
|
+
* @private
|
|
24277
24281
|
*/
|
|
24278
24282
|
_restoreEditingProps() {
|
|
24279
24283
|
if (!this._savedProps) {
|
|
@@ -24293,9 +24297,9 @@ class ITextBehavior extends FabricText {
|
|
|
24293
24297
|
delete this._savedProps;
|
|
24294
24298
|
}
|
|
24295
24299
|
|
|
24296
|
-
/**
|
|
24297
|
-
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24298
|
-
* But it does not fire events
|
|
24300
|
+
/**
|
|
24301
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
24302
|
+
* But it does not fire events
|
|
24299
24303
|
*/
|
|
24300
24304
|
exitEditingImpl() {
|
|
24301
24305
|
const hiddenTextarea = this.hiddenTextarea;
|
|
@@ -24316,8 +24320,8 @@ class ITextBehavior extends FabricText {
|
|
|
24316
24320
|
}
|
|
24317
24321
|
}
|
|
24318
24322
|
|
|
24319
|
-
/**
|
|
24320
|
-
* Exits from editing state and fires relevant events
|
|
24323
|
+
/**
|
|
24324
|
+
* Exits from editing state and fires relevant events
|
|
24321
24325
|
*/
|
|
24322
24326
|
exitEditing() {
|
|
24323
24327
|
const isTextChanged = this._textBeforeEdit !== this.text;
|
|
@@ -24336,8 +24340,8 @@ class ITextBehavior extends FabricText {
|
|
|
24336
24340
|
return this;
|
|
24337
24341
|
}
|
|
24338
24342
|
|
|
24339
|
-
/**
|
|
24340
|
-
* @private
|
|
24343
|
+
/**
|
|
24344
|
+
* @private
|
|
24341
24345
|
*/
|
|
24342
24346
|
_removeExtraneousStyles() {
|
|
24343
24347
|
for (const prop in this.styles) {
|
|
@@ -24347,10 +24351,10 @@ class ITextBehavior extends FabricText {
|
|
|
24347
24351
|
}
|
|
24348
24352
|
}
|
|
24349
24353
|
|
|
24350
|
-
/**
|
|
24351
|
-
* remove and reflow a style block from start to end.
|
|
24352
|
-
* @param {Number} start linear start position for removal (included in removal)
|
|
24353
|
-
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24354
|
+
/**
|
|
24355
|
+
* remove and reflow a style block from start to end.
|
|
24356
|
+
* @param {Number} start linear start position for removal (included in removal)
|
|
24357
|
+
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
24354
24358
|
*/
|
|
24355
24359
|
removeStyleFromTo(start, end) {
|
|
24356
24360
|
const {
|
|
@@ -24403,10 +24407,10 @@ class ITextBehavior extends FabricText {
|
|
|
24403
24407
|
}
|
|
24404
24408
|
}
|
|
24405
24409
|
|
|
24406
|
-
/**
|
|
24407
|
-
* Shifts line styles up or down
|
|
24408
|
-
* @param {Number} lineIndex Index of a line
|
|
24409
|
-
* @param {Number} offset Can any number?
|
|
24410
|
+
/**
|
|
24411
|
+
* Shifts line styles up or down
|
|
24412
|
+
* @param {Number} lineIndex Index of a line
|
|
24413
|
+
* @param {Number} offset Can any number?
|
|
24410
24414
|
*/
|
|
24411
24415
|
shiftLineStyles(lineIndex, offset) {
|
|
24412
24416
|
const clonedStyles = Object.assign({}, this.styles);
|
|
@@ -24421,15 +24425,15 @@ class ITextBehavior extends FabricText {
|
|
|
24421
24425
|
}
|
|
24422
24426
|
}
|
|
24423
24427
|
|
|
24424
|
-
/**
|
|
24425
|
-
* Handle insertion of more consecutive style lines for when one or more
|
|
24426
|
-
* newlines gets added to the text. Since current style needs to be shifted
|
|
24427
|
-
* first we shift the current style of the number lines needed, then we add
|
|
24428
|
-
* new lines from the last to the first.
|
|
24429
|
-
* @param {Number} lineIndex Index of a line
|
|
24430
|
-
* @param {Number} charIndex Index of a char
|
|
24431
|
-
* @param {Number} qty number of lines to add
|
|
24432
|
-
* @param {Array} copiedStyle Array of objects styles
|
|
24428
|
+
/**
|
|
24429
|
+
* Handle insertion of more consecutive style lines for when one or more
|
|
24430
|
+
* newlines gets added to the text. Since current style needs to be shifted
|
|
24431
|
+
* first we shift the current style of the number lines needed, then we add
|
|
24432
|
+
* new lines from the last to the first.
|
|
24433
|
+
* @param {Number} lineIndex Index of a line
|
|
24434
|
+
* @param {Number} charIndex Index of a char
|
|
24435
|
+
* @param {Number} qty number of lines to add
|
|
24436
|
+
* @param {Array} copiedStyle Array of objects styles
|
|
24433
24437
|
*/
|
|
24434
24438
|
insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
|
|
24435
24439
|
const newLineStyles = {};
|
|
@@ -24489,12 +24493,12 @@ class ITextBehavior extends FabricText {
|
|
|
24489
24493
|
this._forceClearCache = true;
|
|
24490
24494
|
}
|
|
24491
24495
|
|
|
24492
|
-
/**
|
|
24493
|
-
* Inserts style object for a given line/char index
|
|
24494
|
-
* @param {Number} lineIndex Index of a line
|
|
24495
|
-
* @param {Number} charIndex Index of a char
|
|
24496
|
-
* @param {Number} quantity number Style object to insert, if given
|
|
24497
|
-
* @param {Array} copiedStyle array of style objects
|
|
24496
|
+
/**
|
|
24497
|
+
* Inserts style object for a given line/char index
|
|
24498
|
+
* @param {Number} lineIndex Index of a line
|
|
24499
|
+
* @param {Number} charIndex Index of a char
|
|
24500
|
+
* @param {Number} quantity number Style object to insert, if given
|
|
24501
|
+
* @param {Array} copiedStyle array of style objects
|
|
24498
24502
|
*/
|
|
24499
24503
|
insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
|
|
24500
24504
|
if (!this.styles) {
|
|
@@ -24543,11 +24547,11 @@ class ITextBehavior extends FabricText {
|
|
|
24543
24547
|
}
|
|
24544
24548
|
}
|
|
24545
24549
|
|
|
24546
|
-
/**
|
|
24547
|
-
* Inserts style object(s)
|
|
24548
|
-
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24549
|
-
* @param {Number} start cursor index for inserting style
|
|
24550
|
-
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24550
|
+
/**
|
|
24551
|
+
* Inserts style object(s)
|
|
24552
|
+
* @param {Array} insertedText Characters at the location where style is inserted
|
|
24553
|
+
* @param {Number} start cursor index for inserting style
|
|
24554
|
+
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
24551
24555
|
*/
|
|
24552
24556
|
insertNewStyleBlock(insertedText, start, copiedStyle) {
|
|
24553
24557
|
const cursorLoc = this.get2DCursorLocation(start, true),
|
|
@@ -24588,12 +24592,12 @@ class ITextBehavior extends FabricText {
|
|
|
24588
24592
|
}
|
|
24589
24593
|
}
|
|
24590
24594
|
|
|
24591
|
-
/**
|
|
24592
|
-
* Removes characters from start/end
|
|
24593
|
-
* start/end ar per grapheme position in _text array.
|
|
24594
|
-
*
|
|
24595
|
-
* @param {Number} start
|
|
24596
|
-
* @param {Number} end default to start + 1
|
|
24595
|
+
/**
|
|
24596
|
+
* Removes characters from start/end
|
|
24597
|
+
* start/end ar per grapheme position in _text array.
|
|
24598
|
+
*
|
|
24599
|
+
* @param {Number} start
|
|
24600
|
+
* @param {Number} end default to start + 1
|
|
24597
24601
|
*/
|
|
24598
24602
|
removeChars(start) {
|
|
24599
24603
|
let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
|
|
@@ -24606,17 +24610,17 @@ class ITextBehavior extends FabricText {
|
|
|
24606
24610
|
this._removeExtraneousStyles();
|
|
24607
24611
|
}
|
|
24608
24612
|
|
|
24609
|
-
/**
|
|
24610
|
-
* insert characters at start position, before start position.
|
|
24611
|
-
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24612
|
-
* if style array is provided, it must be as the same length of text in graphemes
|
|
24613
|
-
* if end is provided and is bigger than start, old text is replaced.
|
|
24614
|
-
* start/end ar per grapheme position in _text array.
|
|
24615
|
-
*
|
|
24616
|
-
* @param {String} text text to insert
|
|
24617
|
-
* @param {Array} style array of style objects
|
|
24618
|
-
* @param {Number} start
|
|
24619
|
-
* @param {Number} end default to start + 1
|
|
24613
|
+
/**
|
|
24614
|
+
* insert characters at start position, before start position.
|
|
24615
|
+
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
24616
|
+
* if style array is provided, it must be as the same length of text in graphemes
|
|
24617
|
+
* if end is provided and is bigger than start, old text is replaced.
|
|
24618
|
+
* start/end ar per grapheme position in _text array.
|
|
24619
|
+
*
|
|
24620
|
+
* @param {String} text text to insert
|
|
24621
|
+
* @param {Array} style array of style objects
|
|
24622
|
+
* @param {Number} start
|
|
24623
|
+
* @param {Number} end default to start + 1
|
|
24620
24624
|
*/
|
|
24621
24625
|
insertChars(text, style, start) {
|
|
24622
24626
|
let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
|
|
@@ -24633,9 +24637,9 @@ class ITextBehavior extends FabricText {
|
|
|
24633
24637
|
this._removeExtraneousStyles();
|
|
24634
24638
|
}
|
|
24635
24639
|
|
|
24636
|
-
/**
|
|
24637
|
-
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24638
|
-
* mimic the key - mouse navigation when shift is pressed.
|
|
24640
|
+
/**
|
|
24641
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
24642
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
24639
24643
|
*/
|
|
24640
24644
|
setSelectionStartEndWithShift(start, end, newSelection) {
|
|
24641
24645
|
if (newSelection <= start) {
|
|
@@ -24666,36 +24670,36 @@ class ITextBehavior extends FabricText {
|
|
|
24666
24670
|
}
|
|
24667
24671
|
|
|
24668
24672
|
class ITextKeyBehavior extends ITextBehavior {
|
|
24669
|
-
/**
|
|
24670
|
-
* For functionalities on keyDown
|
|
24671
|
-
* Map a special key to a function of the instance/prototype
|
|
24672
|
-
* If you need different behavior for ESC or TAB or arrows, you have to change
|
|
24673
|
-
* this map setting the name of a function that you build on the IText or
|
|
24674
|
-
* your prototype.
|
|
24675
|
-
* the map change will affect all Instances unless you need for only some text Instances
|
|
24676
|
-
* in that case you have to clone this object and assign your Instance.
|
|
24677
|
-
* this.keysMap = Object.assign({}, this.keysMap);
|
|
24678
|
-
* The function must be in IText.prototype.myFunction And will receive event as args[0]
|
|
24673
|
+
/**
|
|
24674
|
+
* For functionalities on keyDown
|
|
24675
|
+
* Map a special key to a function of the instance/prototype
|
|
24676
|
+
* If you need different behavior for ESC or TAB or arrows, you have to change
|
|
24677
|
+
* this map setting the name of a function that you build on the IText or
|
|
24678
|
+
* your prototype.
|
|
24679
|
+
* the map change will affect all Instances unless you need for only some text Instances
|
|
24680
|
+
* in that case you have to clone this object and assign your Instance.
|
|
24681
|
+
* this.keysMap = Object.assign({}, this.keysMap);
|
|
24682
|
+
* The function must be in IText.prototype.myFunction And will receive event as args[0]
|
|
24679
24683
|
*/
|
|
24680
24684
|
|
|
24681
|
-
/**
|
|
24682
|
-
* For functionalities on keyUp + ctrl || cmd
|
|
24685
|
+
/**
|
|
24686
|
+
* For functionalities on keyUp + ctrl || cmd
|
|
24683
24687
|
*/
|
|
24684
24688
|
|
|
24685
|
-
/**
|
|
24686
|
-
* For functionalities on keyDown + ctrl || cmd
|
|
24689
|
+
/**
|
|
24690
|
+
* For functionalities on keyDown + ctrl || cmd
|
|
24687
24691
|
*/
|
|
24688
24692
|
|
|
24689
|
-
/**
|
|
24690
|
-
* DOM container to append the hiddenTextarea.
|
|
24691
|
-
* An alternative to attaching to the document.body.
|
|
24692
|
-
* Useful to reduce laggish redraw of the full document.body tree and
|
|
24693
|
-
* also with modals event capturing that won't let the textarea take focus.
|
|
24694
|
-
* @type HTMLElement
|
|
24693
|
+
/**
|
|
24694
|
+
* DOM container to append the hiddenTextarea.
|
|
24695
|
+
* An alternative to attaching to the document.body.
|
|
24696
|
+
* Useful to reduce laggish redraw of the full document.body tree and
|
|
24697
|
+
* also with modals event capturing that won't let the textarea take focus.
|
|
24698
|
+
* @type HTMLElement
|
|
24695
24699
|
*/
|
|
24696
24700
|
|
|
24697
|
-
/**
|
|
24698
|
-
* Initializes hidden textarea (needed to bring up keyboard in iOS)
|
|
24701
|
+
/**
|
|
24702
|
+
* Initializes hidden textarea (needed to bring up keyboard in iOS)
|
|
24699
24703
|
*/
|
|
24700
24704
|
initHiddenTextarea() {
|
|
24701
24705
|
const doc = this.canvas && getDocumentFromElement(this.canvas.getElement()) || getFabricDocument();
|
|
@@ -24738,17 +24742,17 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24738
24742
|
this.hiddenTextarea = textarea;
|
|
24739
24743
|
}
|
|
24740
24744
|
|
|
24741
|
-
/**
|
|
24742
|
-
* Override this method to customize cursor behavior on textbox blur
|
|
24745
|
+
/**
|
|
24746
|
+
* Override this method to customize cursor behavior on textbox blur
|
|
24743
24747
|
*/
|
|
24744
24748
|
blur() {
|
|
24745
24749
|
this.abortCursorAnimation();
|
|
24746
24750
|
}
|
|
24747
24751
|
|
|
24748
|
-
/**
|
|
24749
|
-
* Handles keydown event
|
|
24750
|
-
* only used for arrows and combination of modifier keys.
|
|
24751
|
-
* @param {KeyboardEvent} e Event object
|
|
24752
|
+
/**
|
|
24753
|
+
* Handles keydown event
|
|
24754
|
+
* only used for arrows and combination of modifier keys.
|
|
24755
|
+
* @param {KeyboardEvent} e Event object
|
|
24752
24756
|
*/
|
|
24753
24757
|
onKeyDown(e) {
|
|
24754
24758
|
if (!this.isEditing) {
|
|
@@ -24774,11 +24778,11 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24774
24778
|
}
|
|
24775
24779
|
}
|
|
24776
24780
|
|
|
24777
|
-
/**
|
|
24778
|
-
* Handles keyup event
|
|
24779
|
-
* We handle KeyUp because ie11 and edge have difficulties copy/pasting
|
|
24780
|
-
* if a copy/cut event fired, keyup is dismissed
|
|
24781
|
-
* @param {KeyboardEvent} e Event object
|
|
24781
|
+
/**
|
|
24782
|
+
* Handles keyup event
|
|
24783
|
+
* We handle KeyUp because ie11 and edge have difficulties copy/pasting
|
|
24784
|
+
* if a copy/cut event fired, keyup is dismissed
|
|
24785
|
+
* @param {KeyboardEvent} e Event object
|
|
24782
24786
|
*/
|
|
24783
24787
|
onKeyUp(e) {
|
|
24784
24788
|
if (!this.isEditing || this._copyDone || this.inCompositionMode) {
|
|
@@ -24795,9 +24799,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24795
24799
|
this.canvas && this.canvas.requestRenderAll();
|
|
24796
24800
|
}
|
|
24797
24801
|
|
|
24798
|
-
/**
|
|
24799
|
-
* Handles onInput event
|
|
24800
|
-
* @param {Event} e Event object
|
|
24802
|
+
/**
|
|
24803
|
+
* Handles onInput event
|
|
24804
|
+
* @param {Event} e Event object
|
|
24801
24805
|
*/
|
|
24802
24806
|
onInput(e) {
|
|
24803
24807
|
const fromPaste = this.fromPaste;
|
|
@@ -24934,15 +24938,15 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24934
24938
|
updateAndFire();
|
|
24935
24939
|
}
|
|
24936
24940
|
|
|
24937
|
-
/**
|
|
24938
|
-
* Composition start
|
|
24941
|
+
/**
|
|
24942
|
+
* Composition start
|
|
24939
24943
|
*/
|
|
24940
24944
|
onCompositionStart() {
|
|
24941
24945
|
this.inCompositionMode = true;
|
|
24942
24946
|
}
|
|
24943
24947
|
|
|
24944
|
-
/**
|
|
24945
|
-
* Composition end
|
|
24948
|
+
/**
|
|
24949
|
+
* Composition end
|
|
24946
24950
|
*/
|
|
24947
24951
|
onCompositionEnd() {
|
|
24948
24952
|
this.inCompositionMode = false;
|
|
@@ -24960,8 +24964,8 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24960
24964
|
this.updateTextareaPosition();
|
|
24961
24965
|
}
|
|
24962
24966
|
|
|
24963
|
-
/**
|
|
24964
|
-
* Copies selected text
|
|
24967
|
+
/**
|
|
24968
|
+
* Copies selected text
|
|
24965
24969
|
*/
|
|
24966
24970
|
copy() {
|
|
24967
24971
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -24980,19 +24984,19 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24980
24984
|
this._copyDone = true;
|
|
24981
24985
|
}
|
|
24982
24986
|
|
|
24983
|
-
/**
|
|
24984
|
-
* Pastes text
|
|
24987
|
+
/**
|
|
24988
|
+
* Pastes text
|
|
24985
24989
|
*/
|
|
24986
24990
|
paste() {
|
|
24987
24991
|
this.fromPaste = true;
|
|
24988
24992
|
}
|
|
24989
24993
|
|
|
24990
|
-
/**
|
|
24991
|
-
* Finds the width in pixels before the cursor on the same line
|
|
24992
|
-
* @private
|
|
24993
|
-
* @param {Number} lineIndex
|
|
24994
|
-
* @param {Number} charIndex
|
|
24995
|
-
* @return {Number} widthBeforeCursor width before cursor
|
|
24994
|
+
/**
|
|
24995
|
+
* Finds the width in pixels before the cursor on the same line
|
|
24996
|
+
* @private
|
|
24997
|
+
* @param {Number} lineIndex
|
|
24998
|
+
* @param {Number} charIndex
|
|
24999
|
+
* @return {Number} widthBeforeCursor width before cursor
|
|
24996
25000
|
*/
|
|
24997
25001
|
_getWidthBeforeCursor(lineIndex, charIndex) {
|
|
24998
25002
|
let widthBeforeCursor = this._getLineLeftOffset(lineIndex),
|
|
@@ -25004,11 +25008,11 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25004
25008
|
return widthBeforeCursor;
|
|
25005
25009
|
}
|
|
25006
25010
|
|
|
25007
|
-
/**
|
|
25008
|
-
* Gets start offset of a selection
|
|
25009
|
-
* @param {KeyboardEvent} e Event object
|
|
25010
|
-
* @param {Boolean} isRight
|
|
25011
|
-
* @return {Number}
|
|
25011
|
+
/**
|
|
25012
|
+
* Gets start offset of a selection
|
|
25013
|
+
* @param {KeyboardEvent} e Event object
|
|
25014
|
+
* @param {Boolean} isRight
|
|
25015
|
+
* @return {Number}
|
|
25012
25016
|
*/
|
|
25013
25017
|
getDownCursorOffset(e, isRight) {
|
|
25014
25018
|
const selectionProp = this._getSelectionForOffset(e, isRight),
|
|
@@ -25026,12 +25030,12 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25026
25030
|
return textAfterCursor.length + indexOnOtherLine + 1 + this.missingNewlineOffset(lineIndex);
|
|
25027
25031
|
}
|
|
25028
25032
|
|
|
25029
|
-
/**
|
|
25030
|
-
* private
|
|
25031
|
-
* Helps finding if the offset should be counted from Start or End
|
|
25032
|
-
* @param {KeyboardEvent} e Event object
|
|
25033
|
-
* @param {Boolean} isRight
|
|
25034
|
-
* @return {Number}
|
|
25033
|
+
/**
|
|
25034
|
+
* private
|
|
25035
|
+
* Helps finding if the offset should be counted from Start or End
|
|
25036
|
+
* @param {KeyboardEvent} e Event object
|
|
25037
|
+
* @param {Boolean} isRight
|
|
25038
|
+
* @return {Number}
|
|
25035
25039
|
*/
|
|
25036
25040
|
_getSelectionForOffset(e, isRight) {
|
|
25037
25041
|
if (e.shiftKey && this.selectionStart !== this.selectionEnd && isRight) {
|
|
@@ -25041,10 +25045,10 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25041
25045
|
}
|
|
25042
25046
|
}
|
|
25043
25047
|
|
|
25044
|
-
/**
|
|
25045
|
-
* @param {KeyboardEvent} e Event object
|
|
25046
|
-
* @param {Boolean} isRight
|
|
25047
|
-
* @return {Number}
|
|
25048
|
+
/**
|
|
25049
|
+
* @param {KeyboardEvent} e Event object
|
|
25050
|
+
* @param {Boolean} isRight
|
|
25051
|
+
* @return {Number}
|
|
25048
25052
|
*/
|
|
25049
25053
|
getUpCursorOffset(e, isRight) {
|
|
25050
25054
|
const selectionProp = this._getSelectionForOffset(e, isRight),
|
|
@@ -25063,9 +25067,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25063
25067
|
return -this._textLines[lineIndex - 1].length + indexOnOtherLine - textBeforeCursor.length + (1 - missingNewlineOffset);
|
|
25064
25068
|
}
|
|
25065
25069
|
|
|
25066
|
-
/**
|
|
25067
|
-
* for a given width it founds the matching character.
|
|
25068
|
-
* @private
|
|
25070
|
+
/**
|
|
25071
|
+
* for a given width it founds the matching character.
|
|
25072
|
+
* @private
|
|
25069
25073
|
*/
|
|
25070
25074
|
_getIndexOnLine(lineIndex, width) {
|
|
25071
25075
|
const line = this._textLines[lineIndex],
|
|
@@ -25095,9 +25099,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25095
25099
|
return indexOnLine;
|
|
25096
25100
|
}
|
|
25097
25101
|
|
|
25098
|
-
/**
|
|
25099
|
-
* Moves cursor down
|
|
25100
|
-
* @param {KeyboardEvent} e Event object
|
|
25102
|
+
/**
|
|
25103
|
+
* Moves cursor down
|
|
25104
|
+
* @param {KeyboardEvent} e Event object
|
|
25101
25105
|
*/
|
|
25102
25106
|
moveCursorDown(e) {
|
|
25103
25107
|
if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
|
|
@@ -25106,9 +25110,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25106
25110
|
this._moveCursorUpOrDown('Down', e);
|
|
25107
25111
|
}
|
|
25108
25112
|
|
|
25109
|
-
/**
|
|
25110
|
-
* Moves cursor up
|
|
25111
|
-
* @param {KeyboardEvent} e Event object
|
|
25113
|
+
/**
|
|
25114
|
+
* Moves cursor up
|
|
25115
|
+
* @param {KeyboardEvent} e Event object
|
|
25112
25116
|
*/
|
|
25113
25117
|
moveCursorUp(e) {
|
|
25114
25118
|
if (this.selectionStart === 0 && this.selectionEnd === 0) {
|
|
@@ -25117,10 +25121,10 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25117
25121
|
this._moveCursorUpOrDown('Up', e);
|
|
25118
25122
|
}
|
|
25119
25123
|
|
|
25120
|
-
/**
|
|
25121
|
-
* Moves cursor up or down, fires the events
|
|
25122
|
-
* @param {String} direction 'Up' or 'Down'
|
|
25123
|
-
* @param {KeyboardEvent} e Event object
|
|
25124
|
+
/**
|
|
25125
|
+
* Moves cursor up or down, fires the events
|
|
25126
|
+
* @param {String} direction 'Up' or 'Down'
|
|
25127
|
+
* @param {KeyboardEvent} e Event object
|
|
25124
25128
|
*/
|
|
25125
25129
|
_moveCursorUpOrDown(direction, e) {
|
|
25126
25130
|
const offset = this[`get${direction}CursorOffset`](e, this._selectionDirection === RIGHT);
|
|
@@ -25142,9 +25146,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25142
25146
|
}
|
|
25143
25147
|
}
|
|
25144
25148
|
|
|
25145
|
-
/**
|
|
25146
|
-
* Moves cursor with shift
|
|
25147
|
-
* @param {Number} offset
|
|
25149
|
+
/**
|
|
25150
|
+
* Moves cursor with shift
|
|
25151
|
+
* @param {Number} offset
|
|
25148
25152
|
*/
|
|
25149
25153
|
moveCursorWithShift(offset) {
|
|
25150
25154
|
const newSelection = this._selectionDirection === LEFT ? this.selectionStart + offset : this.selectionEnd + offset;
|
|
@@ -25152,9 +25156,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25152
25156
|
return offset !== 0;
|
|
25153
25157
|
}
|
|
25154
25158
|
|
|
25155
|
-
/**
|
|
25156
|
-
* Moves cursor up without shift
|
|
25157
|
-
* @param {Number} offset
|
|
25159
|
+
/**
|
|
25160
|
+
* Moves cursor up without shift
|
|
25161
|
+
* @param {Number} offset
|
|
25158
25162
|
*/
|
|
25159
25163
|
moveCursorWithoutShift(offset) {
|
|
25160
25164
|
if (offset < 0) {
|
|
@@ -25167,9 +25171,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25167
25171
|
return offset !== 0;
|
|
25168
25172
|
}
|
|
25169
25173
|
|
|
25170
|
-
/**
|
|
25171
|
-
* Moves cursor left
|
|
25172
|
-
* @param {KeyboardEvent} e Event object
|
|
25174
|
+
/**
|
|
25175
|
+
* Moves cursor left
|
|
25176
|
+
* @param {KeyboardEvent} e Event object
|
|
25173
25177
|
*/
|
|
25174
25178
|
moveCursorLeft(e) {
|
|
25175
25179
|
if (this.selectionStart === 0 && this.selectionEnd === 0) {
|
|
@@ -25178,11 +25182,11 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25178
25182
|
this._moveCursorLeftOrRight('Left', e);
|
|
25179
25183
|
}
|
|
25180
25184
|
|
|
25181
|
-
/**
|
|
25182
|
-
* @private
|
|
25183
|
-
* @return {Boolean} true if a change happened
|
|
25184
|
-
*
|
|
25185
|
-
* @todo refactor not to use method name composition
|
|
25185
|
+
/**
|
|
25186
|
+
* @private
|
|
25187
|
+
* @return {Boolean} true if a change happened
|
|
25188
|
+
*
|
|
25189
|
+
* @todo refactor not to use method name composition
|
|
25186
25190
|
*/
|
|
25187
25191
|
_move(e, prop, direction) {
|
|
25188
25192
|
let newValue;
|
|
@@ -25201,23 +25205,23 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25201
25205
|
return false;
|
|
25202
25206
|
}
|
|
25203
25207
|
|
|
25204
|
-
/**
|
|
25205
|
-
* @private
|
|
25208
|
+
/**
|
|
25209
|
+
* @private
|
|
25206
25210
|
*/
|
|
25207
25211
|
_moveLeft(e, prop) {
|
|
25208
25212
|
return this._move(e, prop, 'Left');
|
|
25209
25213
|
}
|
|
25210
25214
|
|
|
25211
|
-
/**
|
|
25212
|
-
* @private
|
|
25215
|
+
/**
|
|
25216
|
+
* @private
|
|
25213
25217
|
*/
|
|
25214
25218
|
_moveRight(e, prop) {
|
|
25215
25219
|
return this._move(e, prop, 'Right');
|
|
25216
25220
|
}
|
|
25217
25221
|
|
|
25218
|
-
/**
|
|
25219
|
-
* Moves cursor left without keeping selection
|
|
25220
|
-
* @param {KeyboardEvent} e
|
|
25222
|
+
/**
|
|
25223
|
+
* Moves cursor left without keeping selection
|
|
25224
|
+
* @param {KeyboardEvent} e
|
|
25221
25225
|
*/
|
|
25222
25226
|
moveCursorLeftWithoutShift(e) {
|
|
25223
25227
|
let change = true;
|
|
@@ -25232,9 +25236,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25232
25236
|
return change;
|
|
25233
25237
|
}
|
|
25234
25238
|
|
|
25235
|
-
/**
|
|
25236
|
-
* Moves cursor left while keeping selection
|
|
25237
|
-
* @param {KeyboardEvent} e
|
|
25239
|
+
/**
|
|
25240
|
+
* Moves cursor left while keeping selection
|
|
25241
|
+
* @param {KeyboardEvent} e
|
|
25238
25242
|
*/
|
|
25239
25243
|
moveCursorLeftWithShift(e) {
|
|
25240
25244
|
if (this._selectionDirection === RIGHT && this.selectionStart !== this.selectionEnd) {
|
|
@@ -25245,9 +25249,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25245
25249
|
}
|
|
25246
25250
|
}
|
|
25247
25251
|
|
|
25248
|
-
/**
|
|
25249
|
-
* Moves cursor right
|
|
25250
|
-
* @param {KeyboardEvent} e Event object
|
|
25252
|
+
/**
|
|
25253
|
+
* Moves cursor right
|
|
25254
|
+
* @param {KeyboardEvent} e Event object
|
|
25251
25255
|
*/
|
|
25252
25256
|
moveCursorRight(e) {
|
|
25253
25257
|
if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
|
|
@@ -25256,10 +25260,10 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25256
25260
|
this._moveCursorLeftOrRight('Right', e);
|
|
25257
25261
|
}
|
|
25258
25262
|
|
|
25259
|
-
/**
|
|
25260
|
-
* Moves cursor right or Left, fires event
|
|
25261
|
-
* @param {String} direction 'Left', 'Right'
|
|
25262
|
-
* @param {KeyboardEvent} e Event object
|
|
25263
|
+
/**
|
|
25264
|
+
* Moves cursor right or Left, fires event
|
|
25265
|
+
* @param {String} direction 'Left', 'Right'
|
|
25266
|
+
* @param {KeyboardEvent} e Event object
|
|
25263
25267
|
*/
|
|
25264
25268
|
_moveCursorLeftOrRight(direction, e) {
|
|
25265
25269
|
const actionName = `moveCursor${direction}${e.shiftKey ? 'WithShift' : 'WithoutShift'}`;
|
|
@@ -25274,9 +25278,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25274
25278
|
}
|
|
25275
25279
|
}
|
|
25276
25280
|
|
|
25277
|
-
/**
|
|
25278
|
-
* Moves cursor right while keeping selection
|
|
25279
|
-
* @param {KeyboardEvent} e
|
|
25281
|
+
/**
|
|
25282
|
+
* Moves cursor right while keeping selection
|
|
25283
|
+
* @param {KeyboardEvent} e
|
|
25280
25284
|
*/
|
|
25281
25285
|
moveCursorRightWithShift(e) {
|
|
25282
25286
|
if (this._selectionDirection === LEFT && this.selectionStart !== this.selectionEnd) {
|
|
@@ -25287,9 +25291,9 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25287
25291
|
}
|
|
25288
25292
|
}
|
|
25289
25293
|
|
|
25290
|
-
/**
|
|
25291
|
-
* Moves cursor right without keeping selection
|
|
25292
|
-
* @param {KeyboardEvent} e Event object
|
|
25294
|
+
/**
|
|
25295
|
+
* Moves cursor right without keeping selection
|
|
25296
|
+
* @param {KeyboardEvent} e Event object
|
|
25293
25297
|
*/
|
|
25294
25298
|
moveCursorRightWithoutShift(e) {
|
|
25295
25299
|
let changed = true;
|
|
@@ -25304,8 +25308,8 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
25304
25308
|
}
|
|
25305
25309
|
}
|
|
25306
25310
|
|
|
25307
|
-
/**
|
|
25308
|
-
* `LEFT_CLICK === 0`
|
|
25311
|
+
/**
|
|
25312
|
+
* `LEFT_CLICK === 0`
|
|
25309
25313
|
*/
|
|
25310
25314
|
const notALeftClick = e => !!e.button;
|
|
25311
25315
|
class ITextClickBehavior extends ITextKeyBehavior {
|
|
@@ -25323,36 +25327,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25323
25327
|
super.initBehavior();
|
|
25324
25328
|
}
|
|
25325
25329
|
|
|
25326
|
-
/**
|
|
25327
|
-
* If this method returns true a mouse move operation over a text selection
|
|
25328
|
-
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25329
|
-
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25330
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25331
|
-
* @returns
|
|
25330
|
+
/**
|
|
25331
|
+
* If this method returns true a mouse move operation over a text selection
|
|
25332
|
+
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
25333
|
+
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
25334
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25335
|
+
* @returns
|
|
25332
25336
|
*/
|
|
25333
25337
|
shouldStartDragging() {
|
|
25334
25338
|
return this.draggableTextDelegate.isActive();
|
|
25335
25339
|
}
|
|
25336
25340
|
|
|
25337
|
-
/**
|
|
25338
|
-
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25339
|
-
* @see also {@link DraggableTextDelegate#isActive}
|
|
25340
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25341
|
-
* @returns {boolean} should handle event
|
|
25341
|
+
/**
|
|
25342
|
+
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
25343
|
+
* @see also {@link DraggableTextDelegate#isActive}
|
|
25344
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
25345
|
+
* @returns {boolean} should handle event
|
|
25342
25346
|
*/
|
|
25343
25347
|
onDragStart(e) {
|
|
25344
25348
|
return this.draggableTextDelegate.onDragStart(e);
|
|
25345
25349
|
}
|
|
25346
25350
|
|
|
25347
|
-
/**
|
|
25348
|
-
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25351
|
+
/**
|
|
25352
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
25349
25353
|
*/
|
|
25350
25354
|
canDrop(e) {
|
|
25351
25355
|
return this.draggableTextDelegate.canDrop(e);
|
|
25352
25356
|
}
|
|
25353
25357
|
|
|
25354
|
-
/**
|
|
25355
|
-
* Default handler for double click, select a word or enter overlay editing
|
|
25358
|
+
/**
|
|
25359
|
+
* Default handler for double click, select a word or enter overlay editing
|
|
25356
25360
|
*/
|
|
25357
25361
|
doubleClickHandler(options) {
|
|
25358
25362
|
// Check if we should enter overlay editing mode
|
|
@@ -25369,8 +25373,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25369
25373
|
this.renderCursorOrSelection();
|
|
25370
25374
|
}
|
|
25371
25375
|
|
|
25372
|
-
/**
|
|
25373
|
-
* Default handler for triple click, select a line
|
|
25376
|
+
/**
|
|
25377
|
+
* Default handler for triple click, select a line
|
|
25374
25378
|
*/
|
|
25375
25379
|
tripleClickHandler(options) {
|
|
25376
25380
|
if (!this.isEditing) {
|
|
@@ -25380,13 +25384,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25380
25384
|
this.renderCursorOrSelection();
|
|
25381
25385
|
}
|
|
25382
25386
|
|
|
25383
|
-
/**
|
|
25384
|
-
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25385
|
-
* can be overridden to do something different.
|
|
25386
|
-
* Scope of this implementation is: find the click position, set selectionStart
|
|
25387
|
-
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25388
|
-
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25389
|
-
* current compositionMode. It will be set to false.
|
|
25387
|
+
/**
|
|
25388
|
+
* Default event handler for the basic functionalities needed on _mouseDown
|
|
25389
|
+
* can be overridden to do something different.
|
|
25390
|
+
* Scope of this implementation is: find the click position, set selectionStart
|
|
25391
|
+
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
25392
|
+
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
25393
|
+
* current compositionMode. It will be set to false.
|
|
25390
25394
|
*/
|
|
25391
25395
|
_mouseDownHandler(_ref) {
|
|
25392
25396
|
let {
|
|
@@ -25414,9 +25418,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25414
25418
|
this.selected || (this.selected = alreadySelected || this.isEditing);
|
|
25415
25419
|
}
|
|
25416
25420
|
|
|
25417
|
-
/**
|
|
25418
|
-
* standard handler for mouse up, overridable
|
|
25419
|
-
* @private
|
|
25421
|
+
/**
|
|
25422
|
+
* standard handler for mouse up, overridable
|
|
25423
|
+
* @private
|
|
25420
25424
|
*/
|
|
25421
25425
|
mouseUpHandler(_ref2) {
|
|
25422
25426
|
let {
|
|
@@ -25447,9 +25451,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25447
25451
|
}
|
|
25448
25452
|
}
|
|
25449
25453
|
|
|
25450
|
-
/**
|
|
25451
|
-
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25452
|
-
* @param {TPointerEvent} e Event object
|
|
25454
|
+
/**
|
|
25455
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
25456
|
+
* @param {TPointerEvent} e Event object
|
|
25453
25457
|
*/
|
|
25454
25458
|
setCursorByClick(e) {
|
|
25455
25459
|
const newSelection = this.getSelectionStartFromPointer(e),
|
|
@@ -25467,10 +25471,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25467
25471
|
}
|
|
25468
25472
|
}
|
|
25469
25473
|
|
|
25470
|
-
/**
|
|
25471
|
-
* Returns index of a character corresponding to where an object was clicked
|
|
25472
|
-
* @param {TPointerEvent} e Event object
|
|
25473
|
-
* @return {Number} Index of a character
|
|
25474
|
+
/**
|
|
25475
|
+
* Returns index of a character corresponding to where an object was clicked
|
|
25476
|
+
* @param {TPointerEvent} e Event object
|
|
25477
|
+
* @return {Number} Index of a character
|
|
25474
25478
|
*/
|
|
25475
25479
|
getSelectionStartFromPointer(e) {
|
|
25476
25480
|
const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
|
|
@@ -25516,15 +25520,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
25516
25520
|
}
|
|
25517
25521
|
}
|
|
25518
25522
|
|
|
25519
|
-
/**
|
|
25520
|
-
* Hit Testing and Cursor Positioning System
|
|
25521
|
-
*
|
|
25522
|
-
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25523
|
-
* for interactive text editing with grapheme-aware boundaries.
|
|
25523
|
+
/**
|
|
25524
|
+
* Hit Testing and Cursor Positioning System
|
|
25525
|
+
*
|
|
25526
|
+
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
25527
|
+
* for interactive text editing with grapheme-aware boundaries.
|
|
25524
25528
|
*/
|
|
25525
25529
|
|
|
25526
|
-
/**
|
|
25527
|
-
* Hit test a point against laid out text to find insertion position
|
|
25530
|
+
/**
|
|
25531
|
+
* Hit test a point against laid out text to find insertion position
|
|
25528
25532
|
*/
|
|
25529
25533
|
function hitTest(x, y, layout, options) {
|
|
25530
25534
|
if (layout.lines.length === 0) {
|
|
@@ -25568,8 +25572,8 @@ function hitTest(x, y, layout, options) {
|
|
|
25568
25572
|
};
|
|
25569
25573
|
}
|
|
25570
25574
|
|
|
25571
|
-
/**
|
|
25572
|
-
* Get cursor rectangle for a given insertion index
|
|
25575
|
+
/**
|
|
25576
|
+
* Get cursor rectangle for a given insertion index
|
|
25573
25577
|
*/
|
|
25574
25578
|
function getCursorRect(insertionIndex, layout, options) {
|
|
25575
25579
|
if (layout.lines.length === 0) {
|
|
@@ -25616,8 +25620,8 @@ function getCursorRect(insertionIndex, layout, options) {
|
|
|
25616
25620
|
|
|
25617
25621
|
// Private helper functions
|
|
25618
25622
|
|
|
25619
|
-
/**
|
|
25620
|
-
* Find which line contains the given Y coordinate
|
|
25623
|
+
/**
|
|
25624
|
+
* Find which line contains the given Y coordinate
|
|
25621
25625
|
*/
|
|
25622
25626
|
function findLineAtY(y, lines) {
|
|
25623
25627
|
var _lines;
|
|
@@ -25640,8 +25644,8 @@ function findLineAtY(y, lines) {
|
|
|
25640
25644
|
};
|
|
25641
25645
|
}
|
|
25642
25646
|
|
|
25643
|
-
/**
|
|
25644
|
-
* Find character position within a line at given X coordinate
|
|
25647
|
+
/**
|
|
25648
|
+
* Find character position within a line at given X coordinate
|
|
25645
25649
|
*/
|
|
25646
25650
|
function findCharAtX(x, line, options) {
|
|
25647
25651
|
if (line.bounds.length === 0) {
|
|
@@ -25747,8 +25751,8 @@ function findCharAtX(x, line, options) {
|
|
|
25747
25751
|
};
|
|
25748
25752
|
}
|
|
25749
25753
|
|
|
25750
|
-
/**
|
|
25751
|
-
* Calculate total insertion index from line and character indices
|
|
25754
|
+
/**
|
|
25755
|
+
* Calculate total insertion index from line and character indices
|
|
25752
25756
|
*/
|
|
25753
25757
|
function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
25754
25758
|
let insertionIndex = 0;
|
|
@@ -25767,8 +25771,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
|
25767
25771
|
return insertionIndex;
|
|
25768
25772
|
}
|
|
25769
25773
|
|
|
25770
|
-
/**
|
|
25771
|
-
* Find line and grapheme position from insertion index
|
|
25774
|
+
/**
|
|
25775
|
+
* Find line and grapheme position from insertion index
|
|
25772
25776
|
*/
|
|
25773
25777
|
function findPositionFromIndex(insertionIndex, layout) {
|
|
25774
25778
|
let currentIndex = 0;
|
|
@@ -25810,8 +25814,8 @@ function findPositionFromIndex(insertionIndex, layout) {
|
|
|
25810
25814
|
};
|
|
25811
25815
|
}
|
|
25812
25816
|
|
|
25813
|
-
/**
|
|
25814
|
-
* Calculate Y position of a line
|
|
25817
|
+
/**
|
|
25818
|
+
* Calculate Y position of a line
|
|
25815
25819
|
*/
|
|
25816
25820
|
function calculateLineY(lineIndex, layout, options) {
|
|
25817
25821
|
let y = 0;
|
|
@@ -25914,48 +25918,48 @@ const iTextDefaultValues = {
|
|
|
25914
25918
|
|
|
25915
25919
|
// @TODO this is not complete
|
|
25916
25920
|
|
|
25917
|
-
/**
|
|
25918
|
-
* @fires changed
|
|
25919
|
-
* @fires selection:changed
|
|
25920
|
-
* @fires editing:entered
|
|
25921
|
-
* @fires editing:exited
|
|
25922
|
-
* @fires dragstart
|
|
25923
|
-
* @fires drag drag event firing on the drag source
|
|
25924
|
-
* @fires dragend
|
|
25925
|
-
* @fires copy
|
|
25926
|
-
* @fires cut
|
|
25927
|
-
* @fires paste
|
|
25928
|
-
*
|
|
25929
|
-
* #### Supported key combinations
|
|
25930
|
-
* ```
|
|
25931
|
-
* Move cursor: left, right, up, down
|
|
25932
|
-
* Select character: shift + left, shift + right
|
|
25933
|
-
* Select text vertically: shift + up, shift + down
|
|
25934
|
-
* Move cursor by word: alt + left, alt + right
|
|
25935
|
-
* Select words: shift + alt + left, shift + alt + right
|
|
25936
|
-
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25937
|
-
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25938
|
-
* Jump to start/end of text: cmd + up, cmd + down
|
|
25939
|
-
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25940
|
-
* Delete character: backspace
|
|
25941
|
-
* Delete word: alt + backspace
|
|
25942
|
-
* Delete line: cmd + backspace
|
|
25943
|
-
* Forward delete: delete
|
|
25944
|
-
* Copy text: ctrl/cmd + c
|
|
25945
|
-
* Paste text: ctrl/cmd + v
|
|
25946
|
-
* Cut text: ctrl/cmd + x
|
|
25947
|
-
* Select entire text: ctrl/cmd + a
|
|
25948
|
-
* Quit editing tab or esc
|
|
25949
|
-
* ```
|
|
25950
|
-
*
|
|
25951
|
-
* #### Supported mouse/touch combination
|
|
25952
|
-
* ```
|
|
25953
|
-
* Position cursor: click/touch
|
|
25954
|
-
* Create selection: click/touch & drag
|
|
25955
|
-
* Create selection: click & shift + click
|
|
25956
|
-
* Select word: double click
|
|
25957
|
-
* Select line: triple click
|
|
25958
|
-
* ```
|
|
25921
|
+
/**
|
|
25922
|
+
* @fires changed
|
|
25923
|
+
* @fires selection:changed
|
|
25924
|
+
* @fires editing:entered
|
|
25925
|
+
* @fires editing:exited
|
|
25926
|
+
* @fires dragstart
|
|
25927
|
+
* @fires drag drag event firing on the drag source
|
|
25928
|
+
* @fires dragend
|
|
25929
|
+
* @fires copy
|
|
25930
|
+
* @fires cut
|
|
25931
|
+
* @fires paste
|
|
25932
|
+
*
|
|
25933
|
+
* #### Supported key combinations
|
|
25934
|
+
* ```
|
|
25935
|
+
* Move cursor: left, right, up, down
|
|
25936
|
+
* Select character: shift + left, shift + right
|
|
25937
|
+
* Select text vertically: shift + up, shift + down
|
|
25938
|
+
* Move cursor by word: alt + left, alt + right
|
|
25939
|
+
* Select words: shift + alt + left, shift + alt + right
|
|
25940
|
+
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25941
|
+
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25942
|
+
* Jump to start/end of text: cmd + up, cmd + down
|
|
25943
|
+
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25944
|
+
* Delete character: backspace
|
|
25945
|
+
* Delete word: alt + backspace
|
|
25946
|
+
* Delete line: cmd + backspace
|
|
25947
|
+
* Forward delete: delete
|
|
25948
|
+
* Copy text: ctrl/cmd + c
|
|
25949
|
+
* Paste text: ctrl/cmd + v
|
|
25950
|
+
* Cut text: ctrl/cmd + x
|
|
25951
|
+
* Select entire text: ctrl/cmd + a
|
|
25952
|
+
* Quit editing tab or esc
|
|
25953
|
+
* ```
|
|
25954
|
+
*
|
|
25955
|
+
* #### Supported mouse/touch combination
|
|
25956
|
+
* ```
|
|
25957
|
+
* Position cursor: click/touch
|
|
25958
|
+
* Create selection: click/touch & drag
|
|
25959
|
+
* Create selection: click & shift + click
|
|
25960
|
+
* Select word: double click
|
|
25961
|
+
* Select line: triple click
|
|
25962
|
+
* ```
|
|
25959
25963
|
*/
|
|
25960
25964
|
class IText extends ITextClickBehavior {
|
|
25961
25965
|
static getDefaults() {
|
|
@@ -25970,10 +25974,10 @@ class IText extends ITextClickBehavior {
|
|
|
25970
25974
|
return type === 'itext' ? 'i-text' : type;
|
|
25971
25975
|
}
|
|
25972
25976
|
|
|
25973
|
-
/**
|
|
25974
|
-
* Constructor
|
|
25975
|
-
* @param {String} text Text string
|
|
25976
|
-
* @param {Object} [options] Options object
|
|
25977
|
+
/**
|
|
25978
|
+
* Constructor
|
|
25979
|
+
* @param {String} text Text string
|
|
25980
|
+
* @param {Object} [options] Options object
|
|
25977
25981
|
*/
|
|
25978
25982
|
constructor(text, options) {
|
|
25979
25983
|
super(text, {
|
|
@@ -25983,11 +25987,11 @@ class IText extends ITextClickBehavior {
|
|
|
25983
25987
|
this.initBehavior();
|
|
25984
25988
|
}
|
|
25985
25989
|
|
|
25986
|
-
/**
|
|
25987
|
-
* While editing handle differently
|
|
25988
|
-
* @private
|
|
25989
|
-
* @param {string} key
|
|
25990
|
-
* @param {*} value
|
|
25990
|
+
/**
|
|
25991
|
+
* While editing handle differently
|
|
25992
|
+
* @private
|
|
25993
|
+
* @param {string} key
|
|
25994
|
+
* @param {*} value
|
|
25991
25995
|
*/
|
|
25992
25996
|
_set(key, value) {
|
|
25993
25997
|
if (this.isEditing && this._savedProps && key in this._savedProps) {
|
|
@@ -26002,28 +26006,28 @@ class IText extends ITextClickBehavior {
|
|
|
26002
26006
|
return super._set(key, value);
|
|
26003
26007
|
}
|
|
26004
26008
|
|
|
26005
|
-
/**
|
|
26006
|
-
* Sets selection start (left boundary of a selection)
|
|
26007
|
-
* @param {Number} index Index to set selection start to
|
|
26009
|
+
/**
|
|
26010
|
+
* Sets selection start (left boundary of a selection)
|
|
26011
|
+
* @param {Number} index Index to set selection start to
|
|
26008
26012
|
*/
|
|
26009
26013
|
setSelectionStart(index) {
|
|
26010
26014
|
index = Math.max(index, 0);
|
|
26011
26015
|
this._updateAndFire('selectionStart', index);
|
|
26012
26016
|
}
|
|
26013
26017
|
|
|
26014
|
-
/**
|
|
26015
|
-
* Sets selection end (right boundary of a selection)
|
|
26016
|
-
* @param {Number} index Index to set selection end to
|
|
26018
|
+
/**
|
|
26019
|
+
* Sets selection end (right boundary of a selection)
|
|
26020
|
+
* @param {Number} index Index to set selection end to
|
|
26017
26021
|
*/
|
|
26018
26022
|
setSelectionEnd(index) {
|
|
26019
26023
|
index = Math.min(index, this.text.length);
|
|
26020
26024
|
this._updateAndFire('selectionEnd', index);
|
|
26021
26025
|
}
|
|
26022
26026
|
|
|
26023
|
-
/**
|
|
26024
|
-
* @private
|
|
26025
|
-
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26026
|
-
* @param {Number} index new position of property
|
|
26027
|
+
/**
|
|
26028
|
+
* @private
|
|
26029
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
26030
|
+
* @param {Number} index new position of property
|
|
26027
26031
|
*/
|
|
26028
26032
|
_updateAndFire(property, index) {
|
|
26029
26033
|
if (this[property] !== index) {
|
|
@@ -26033,9 +26037,9 @@ class IText extends ITextClickBehavior {
|
|
|
26033
26037
|
this._updateTextarea();
|
|
26034
26038
|
}
|
|
26035
26039
|
|
|
26036
|
-
/**
|
|
26037
|
-
* Fires the even of selection changed
|
|
26038
|
-
* @private
|
|
26040
|
+
/**
|
|
26041
|
+
* Fires the even of selection changed
|
|
26042
|
+
* @private
|
|
26039
26043
|
*/
|
|
26040
26044
|
_fireSelectionChanged() {
|
|
26041
26045
|
this.fire('selection:changed');
|
|
@@ -26044,25 +26048,25 @@ class IText extends ITextClickBehavior {
|
|
|
26044
26048
|
});
|
|
26045
26049
|
}
|
|
26046
26050
|
|
|
26047
|
-
/**
|
|
26048
|
-
* Initialize text dimensions. Render all text on given context
|
|
26049
|
-
* or on a offscreen canvas to get the text width with measureText.
|
|
26050
|
-
* Updates this.width and this.height with the proper values.
|
|
26051
|
-
* Does not return dimensions.
|
|
26052
|
-
* @private
|
|
26051
|
+
/**
|
|
26052
|
+
* Initialize text dimensions. Render all text on given context
|
|
26053
|
+
* or on a offscreen canvas to get the text width with measureText.
|
|
26054
|
+
* Updates this.width and this.height with the proper values.
|
|
26055
|
+
* Does not return dimensions.
|
|
26056
|
+
* @private
|
|
26053
26057
|
*/
|
|
26054
26058
|
initDimensions() {
|
|
26055
26059
|
this.isEditing && this.initDelayedCursor();
|
|
26056
26060
|
super.initDimensions();
|
|
26057
26061
|
}
|
|
26058
26062
|
|
|
26059
|
-
/**
|
|
26060
|
-
* Gets style of a current selection/cursor (at the start position)
|
|
26061
|
-
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26062
|
-
* @param {Number} startIndex Start index to get styles at
|
|
26063
|
-
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26064
|
-
* @param {Boolean} [complete] get full style or not
|
|
26065
|
-
* @return {Array} styles an array with one, zero or more Style objects
|
|
26063
|
+
/**
|
|
26064
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
26065
|
+
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
26066
|
+
* @param {Number} startIndex Start index to get styles at
|
|
26067
|
+
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26068
|
+
* @param {Boolean} [complete] get full style or not
|
|
26069
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
26066
26070
|
*/
|
|
26067
26071
|
getSelectionStyles() {
|
|
26068
26072
|
let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
|
|
@@ -26071,11 +26075,11 @@ class IText extends ITextClickBehavior {
|
|
|
26071
26075
|
return super.getSelectionStyles(startIndex, endIndex, complete);
|
|
26072
26076
|
}
|
|
26073
26077
|
|
|
26074
|
-
/**
|
|
26075
|
-
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26076
|
-
* @param {Object} [styles] Styles object
|
|
26077
|
-
* @param {Number} [startIndex] Start index to get styles at
|
|
26078
|
-
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26078
|
+
/**
|
|
26079
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
26080
|
+
* @param {Object} [styles] Styles object
|
|
26081
|
+
* @param {Number} [startIndex] Start index to get styles at
|
|
26082
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
26079
26083
|
*/
|
|
26080
26084
|
setSelectionStyles(styles) {
|
|
26081
26085
|
let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
|
|
@@ -26083,10 +26087,10 @@ class IText extends ITextClickBehavior {
|
|
|
26083
26087
|
return super.setSelectionStyles(styles, startIndex, endIndex);
|
|
26084
26088
|
}
|
|
26085
26089
|
|
|
26086
|
-
/**
|
|
26087
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26088
|
-
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26089
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
26090
|
+
/**
|
|
26091
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
26092
|
+
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
26093
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
26090
26094
|
*/
|
|
26091
26095
|
get2DCursorLocation() {
|
|
26092
26096
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26094,9 +26098,9 @@ class IText extends ITextClickBehavior {
|
|
|
26094
26098
|
return super.get2DCursorLocation(selectionStart, skipWrapping);
|
|
26095
26099
|
}
|
|
26096
26100
|
|
|
26097
|
-
/**
|
|
26098
|
-
* @private
|
|
26099
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26101
|
+
/**
|
|
26102
|
+
* @private
|
|
26103
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
26100
26104
|
*/
|
|
26101
26105
|
render(ctx) {
|
|
26102
26106
|
super.render(ctx);
|
|
@@ -26106,9 +26110,9 @@ class IText extends ITextClickBehavior {
|
|
|
26106
26110
|
this.renderCursorOrSelection();
|
|
26107
26111
|
}
|
|
26108
26112
|
|
|
26109
|
-
/**
|
|
26110
|
-
* @override block cursor/selection logic while rendering the exported canvas
|
|
26111
|
-
* @todo this workaround should be replaced with a more robust solution
|
|
26113
|
+
/**
|
|
26114
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
26115
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
26112
26116
|
*/
|
|
26113
26117
|
toCanvasElement(options) {
|
|
26114
26118
|
const isEditing = this.isEditing;
|
|
@@ -26118,9 +26122,9 @@ class IText extends ITextClickBehavior {
|
|
|
26118
26122
|
return canvas;
|
|
26119
26123
|
}
|
|
26120
26124
|
|
|
26121
|
-
/**
|
|
26122
|
-
* Renders cursor or selection (depending on what exists)
|
|
26123
|
-
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26125
|
+
/**
|
|
26126
|
+
* Renders cursor or selection (depending on what exists)
|
|
26127
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
26124
26128
|
*/
|
|
26125
26129
|
renderCursorOrSelection() {
|
|
26126
26130
|
if (!this.isEditing || !this.canvas) {
|
|
@@ -26176,12 +26180,12 @@ class IText extends ITextClickBehavior {
|
|
|
26176
26180
|
ctx.restore();
|
|
26177
26181
|
}
|
|
26178
26182
|
|
|
26179
|
-
/**
|
|
26180
|
-
* Finds and returns an array of clip paths that are applied to the parent
|
|
26181
|
-
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26182
|
-
* traversed upwards (from the current object towards the root of the canvas),
|
|
26183
|
-
* checking each parent object for the presence of a `clipPath` that is not
|
|
26184
|
-
* absolutely positioned.
|
|
26183
|
+
/**
|
|
26184
|
+
* Finds and returns an array of clip paths that are applied to the parent
|
|
26185
|
+
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
26186
|
+
* traversed upwards (from the current object towards the root of the canvas),
|
|
26187
|
+
* checking each parent object for the presence of a `clipPath` that is not
|
|
26188
|
+
* absolutely positioned.
|
|
26185
26189
|
*/
|
|
26186
26190
|
findAncestorsWithClipPath() {
|
|
26187
26191
|
const clipPathAncestors = [];
|
|
@@ -26196,13 +26200,13 @@ class IText extends ITextClickBehavior {
|
|
|
26196
26200
|
return clipPathAncestors;
|
|
26197
26201
|
}
|
|
26198
26202
|
|
|
26199
|
-
/**
|
|
26200
|
-
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26201
|
-
* left/top are left/top of entire text box
|
|
26202
|
-
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26203
|
-
* @private
|
|
26204
|
-
* @param {number} [index] index from start
|
|
26205
|
-
* @param {boolean} [skipCaching]
|
|
26203
|
+
/**
|
|
26204
|
+
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
26205
|
+
* left/top are left/top of entire text box
|
|
26206
|
+
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
26207
|
+
* @private
|
|
26208
|
+
* @param {number} [index] index from start
|
|
26209
|
+
* @param {boolean} [skipCaching]
|
|
26206
26210
|
*/
|
|
26207
26211
|
_getCursorBoundaries() {
|
|
26208
26212
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26216,11 +26220,11 @@ class IText extends ITextClickBehavior {
|
|
|
26216
26220
|
return this._getCursorBoundariesOriginal(index, skipCaching);
|
|
26217
26221
|
}
|
|
26218
26222
|
|
|
26219
|
-
/**
|
|
26220
|
-
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26221
|
-
* @private
|
|
26222
|
-
* @param {number} index index from start
|
|
26223
|
-
* @param {boolean} [skipCaching]
|
|
26223
|
+
/**
|
|
26224
|
+
* Caches and returns cursor left/top offset relative to instance's center point
|
|
26225
|
+
* @private
|
|
26226
|
+
* @param {number} index index from start
|
|
26227
|
+
* @param {boolean} [skipCaching]
|
|
26224
26228
|
*/
|
|
26225
26229
|
_getCursorBoundariesOffsets(index, skipCaching) {
|
|
26226
26230
|
if (skipCaching) {
|
|
@@ -26232,9 +26236,9 @@ class IText extends ITextClickBehavior {
|
|
|
26232
26236
|
return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
|
|
26233
26237
|
}
|
|
26234
26238
|
|
|
26235
|
-
/**
|
|
26236
|
-
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26237
|
-
* @private
|
|
26239
|
+
/**
|
|
26240
|
+
* Enhanced cursor boundaries using advanced hit testing when available
|
|
26241
|
+
* @private
|
|
26238
26242
|
*/
|
|
26239
26243
|
_getCursorBoundariesAdvanced(index) {
|
|
26240
26244
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26250,9 +26254,9 @@ class IText extends ITextClickBehavior {
|
|
|
26250
26254
|
};
|
|
26251
26255
|
}
|
|
26252
26256
|
|
|
26253
|
-
/**
|
|
26254
|
-
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26255
|
-
* @override
|
|
26257
|
+
/**
|
|
26258
|
+
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
26259
|
+
* @override
|
|
26256
26260
|
*/
|
|
26257
26261
|
getSelectionStartFromPointer(e) {
|
|
26258
26262
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -26266,9 +26270,9 @@ class IText extends ITextClickBehavior {
|
|
|
26266
26270
|
return Math.min(hitResult.charIndex, this._text.length);
|
|
26267
26271
|
}
|
|
26268
26272
|
|
|
26269
|
-
/**
|
|
26270
|
-
* Original cursor boundaries implementation
|
|
26271
|
-
* @private
|
|
26273
|
+
/**
|
|
26274
|
+
* Original cursor boundaries implementation
|
|
26275
|
+
* @private
|
|
26272
26276
|
*/
|
|
26273
26277
|
_getCursorBoundariesOriginal(index, skipCaching) {
|
|
26274
26278
|
const left = this._getLeftOffset(),
|
|
@@ -26282,10 +26286,10 @@ class IText extends ITextClickBehavior {
|
|
|
26282
26286
|
};
|
|
26283
26287
|
}
|
|
26284
26288
|
|
|
26285
|
-
/**
|
|
26286
|
-
* Calculates cursor left/top offset relative to instance's center point
|
|
26287
|
-
* @private
|
|
26288
|
-
* @param {number} index index from start
|
|
26289
|
+
/**
|
|
26290
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
26291
|
+
* @private
|
|
26292
|
+
* @param {number} index index from start
|
|
26289
26293
|
*/
|
|
26290
26294
|
__getCursorBoundariesOffsets(index) {
|
|
26291
26295
|
let topOffset = 0,
|
|
@@ -26319,29 +26323,29 @@ class IText extends ITextClickBehavior {
|
|
|
26319
26323
|
return boundaries;
|
|
26320
26324
|
}
|
|
26321
26325
|
|
|
26322
|
-
/**
|
|
26323
|
-
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26324
|
-
* Used for the drag/drop effect.
|
|
26325
|
-
* If contextTop is not available, do nothing.
|
|
26326
|
+
/**
|
|
26327
|
+
* Renders cursor on context Top, outside the animation cycle, on request
|
|
26328
|
+
* Used for the drag/drop effect.
|
|
26329
|
+
* If contextTop is not available, do nothing.
|
|
26326
26330
|
*/
|
|
26327
26331
|
renderCursorAt(selectionStart) {
|
|
26328
26332
|
this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
|
|
26329
26333
|
}
|
|
26330
26334
|
|
|
26331
|
-
/**
|
|
26332
|
-
* Renders cursor
|
|
26333
|
-
* @param {Object} boundaries
|
|
26334
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26335
|
+
/**
|
|
26336
|
+
* Renders cursor
|
|
26337
|
+
* @param {Object} boundaries
|
|
26338
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26335
26339
|
*/
|
|
26336
26340
|
renderCursor(ctx, boundaries) {
|
|
26337
26341
|
this._renderCursor(ctx, boundaries, this.selectionStart);
|
|
26338
26342
|
}
|
|
26339
26343
|
|
|
26340
|
-
/**
|
|
26341
|
-
* Return the data needed to render the cursor for given selection start
|
|
26342
|
-
* The left,top are relative to the object, while width and height are prescaled
|
|
26343
|
-
* to look think with canvas zoom and object scaling,
|
|
26344
|
-
* so they depend on canvas and object scaling
|
|
26344
|
+
/**
|
|
26345
|
+
* Return the data needed to render the cursor for given selection start
|
|
26346
|
+
* The left,top are relative to the object, while width and height are prescaled
|
|
26347
|
+
* to look think with canvas zoom and object scaling,
|
|
26348
|
+
* so they depend on canvas and object scaling
|
|
26345
26349
|
*/
|
|
26346
26350
|
getCursorRenderingData() {
|
|
26347
26351
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -26364,9 +26368,9 @@ class IText extends ITextClickBehavior {
|
|
|
26364
26368
|
};
|
|
26365
26369
|
}
|
|
26366
26370
|
|
|
26367
|
-
/**
|
|
26368
|
-
* Render the cursor at the given selectionStart.
|
|
26369
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26371
|
+
/**
|
|
26372
|
+
* Render the cursor at the given selectionStart.
|
|
26373
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26370
26374
|
*/
|
|
26371
26375
|
_renderCursor(ctx, boundaries, selectionStart) {
|
|
26372
26376
|
const {
|
|
@@ -26382,10 +26386,10 @@ class IText extends ITextClickBehavior {
|
|
|
26382
26386
|
ctx.fillRect(left, top, width, height);
|
|
26383
26387
|
}
|
|
26384
26388
|
|
|
26385
|
-
/**
|
|
26386
|
-
* Renders text selection
|
|
26387
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26388
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26389
|
+
/**
|
|
26390
|
+
* Renders text selection
|
|
26391
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26392
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26389
26393
|
*/
|
|
26390
26394
|
renderSelection(ctx, boundaries) {
|
|
26391
26395
|
const selection = {
|
|
@@ -26395,8 +26399,8 @@ class IText extends ITextClickBehavior {
|
|
|
26395
26399
|
this._renderSelection(ctx, selection, boundaries);
|
|
26396
26400
|
}
|
|
26397
26401
|
|
|
26398
|
-
/**
|
|
26399
|
-
* Renders drag start text selection
|
|
26402
|
+
/**
|
|
26403
|
+
* Renders drag start text selection
|
|
26400
26404
|
*/
|
|
26401
26405
|
renderDragSourceEffect() {
|
|
26402
26406
|
const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
|
|
@@ -26407,12 +26411,12 @@ class IText extends ITextClickBehavior {
|
|
|
26407
26411
|
this.renderCursorAt(dragSelection);
|
|
26408
26412
|
}
|
|
26409
26413
|
|
|
26410
|
-
/**
|
|
26411
|
-
* Renders text selection
|
|
26412
|
-
* @private
|
|
26413
|
-
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26414
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26415
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26414
|
+
/**
|
|
26415
|
+
* Renders text selection
|
|
26416
|
+
* @private
|
|
26417
|
+
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
26418
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
26419
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
26416
26420
|
*/
|
|
26417
26421
|
_renderSelection(ctx, selection, boundaries) {
|
|
26418
26422
|
const selectionStart = selection.selectionStart,
|
|
@@ -26474,34 +26478,34 @@ class IText extends ITextClickBehavior {
|
|
|
26474
26478
|
}
|
|
26475
26479
|
}
|
|
26476
26480
|
|
|
26477
|
-
/**
|
|
26478
|
-
* High level function to know the height of the cursor.
|
|
26479
|
-
* the currentChar is the one that precedes the cursor
|
|
26480
|
-
* Returns fontSize of char at the current cursor
|
|
26481
|
-
* Unused from the library, is for the end user
|
|
26482
|
-
* @return {Number} Character font size
|
|
26481
|
+
/**
|
|
26482
|
+
* High level function to know the height of the cursor.
|
|
26483
|
+
* the currentChar is the one that precedes the cursor
|
|
26484
|
+
* Returns fontSize of char at the current cursor
|
|
26485
|
+
* Unused from the library, is for the end user
|
|
26486
|
+
* @return {Number} Character font size
|
|
26483
26487
|
*/
|
|
26484
26488
|
getCurrentCharFontSize() {
|
|
26485
26489
|
const cp = this._getCurrentCharIndex();
|
|
26486
26490
|
return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
|
|
26487
26491
|
}
|
|
26488
26492
|
|
|
26489
|
-
/**
|
|
26490
|
-
* High level function to know the color of the cursor.
|
|
26491
|
-
* the currentChar is the one that precedes the cursor
|
|
26492
|
-
* Returns color (fill) of char at the current cursor
|
|
26493
|
-
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26494
|
-
* Unused by the library, is for the end user
|
|
26495
|
-
* @return {String | TFiller} Character color (fill)
|
|
26493
|
+
/**
|
|
26494
|
+
* High level function to know the color of the cursor.
|
|
26495
|
+
* the currentChar is the one that precedes the cursor
|
|
26496
|
+
* Returns color (fill) of char at the current cursor
|
|
26497
|
+
* if the text object has a pattern or gradient for filler, it will return that.
|
|
26498
|
+
* Unused by the library, is for the end user
|
|
26499
|
+
* @return {String | TFiller} Character color (fill)
|
|
26496
26500
|
*/
|
|
26497
26501
|
getCurrentCharColor() {
|
|
26498
26502
|
const cp = this._getCurrentCharIndex();
|
|
26499
26503
|
return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
|
|
26500
26504
|
}
|
|
26501
26505
|
|
|
26502
|
-
/**
|
|
26503
|
-
* Returns the cursor position for the getCurrent.. functions
|
|
26504
|
-
* @private
|
|
26506
|
+
/**
|
|
26507
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
26508
|
+
* @private
|
|
26505
26509
|
*/
|
|
26506
26510
|
_getCurrentCharIndex() {
|
|
26507
26511
|
const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
|
|
@@ -26517,52 +26521,52 @@ class IText extends ITextClickBehavior {
|
|
|
26517
26521
|
super.dispose();
|
|
26518
26522
|
}
|
|
26519
26523
|
}
|
|
26520
|
-
/**
|
|
26521
|
-
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26522
|
-
* @type Number
|
|
26524
|
+
/**
|
|
26525
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
26526
|
+
* @type Number
|
|
26523
26527
|
*/
|
|
26524
|
-
/**
|
|
26525
|
-
* Index where text selection ends
|
|
26526
|
-
* @type Number
|
|
26528
|
+
/**
|
|
26529
|
+
* Index where text selection ends
|
|
26530
|
+
* @type Number
|
|
26527
26531
|
*/
|
|
26528
|
-
/**
|
|
26529
|
-
* Color of text selection
|
|
26530
|
-
* @type String
|
|
26532
|
+
/**
|
|
26533
|
+
* Color of text selection
|
|
26534
|
+
* @type String
|
|
26531
26535
|
*/
|
|
26532
|
-
/**
|
|
26533
|
-
* Indicates whether text is in editing mode
|
|
26534
|
-
* @type Boolean
|
|
26536
|
+
/**
|
|
26537
|
+
* Indicates whether text is in editing mode
|
|
26538
|
+
* @type Boolean
|
|
26535
26539
|
*/
|
|
26536
|
-
/**
|
|
26537
|
-
* Indicates whether a text can be edited
|
|
26538
|
-
* @type Boolean
|
|
26540
|
+
/**
|
|
26541
|
+
* Indicates whether a text can be edited
|
|
26542
|
+
* @type Boolean
|
|
26539
26543
|
*/
|
|
26540
|
-
/**
|
|
26541
|
-
* Border color of text object while it's in editing mode
|
|
26542
|
-
* @type String
|
|
26544
|
+
/**
|
|
26545
|
+
* Border color of text object while it's in editing mode
|
|
26546
|
+
* @type String
|
|
26543
26547
|
*/
|
|
26544
|
-
/**
|
|
26545
|
-
* Width of cursor (in px)
|
|
26546
|
-
* @type Number
|
|
26548
|
+
/**
|
|
26549
|
+
* Width of cursor (in px)
|
|
26550
|
+
* @type Number
|
|
26547
26551
|
*/
|
|
26548
|
-
/**
|
|
26549
|
-
* Color of text cursor color in editing mode.
|
|
26550
|
-
* if not set (default) will take color from the text.
|
|
26551
|
-
* if set to a color value that fabric can understand, it will
|
|
26552
|
-
* be used instead of the color of the text at the current position.
|
|
26553
|
-
* @type String
|
|
26552
|
+
/**
|
|
26553
|
+
* Color of text cursor color in editing mode.
|
|
26554
|
+
* if not set (default) will take color from the text.
|
|
26555
|
+
* if set to a color value that fabric can understand, it will
|
|
26556
|
+
* be used instead of the color of the text at the current position.
|
|
26557
|
+
* @type String
|
|
26554
26558
|
*/
|
|
26555
|
-
/**
|
|
26556
|
-
* Delay between cursor blink (in ms)
|
|
26557
|
-
* @type Number
|
|
26559
|
+
/**
|
|
26560
|
+
* Delay between cursor blink (in ms)
|
|
26561
|
+
* @type Number
|
|
26558
26562
|
*/
|
|
26559
|
-
/**
|
|
26560
|
-
* Duration of cursor fade in (in ms)
|
|
26561
|
-
* @type Number
|
|
26563
|
+
/**
|
|
26564
|
+
* Duration of cursor fade in (in ms)
|
|
26565
|
+
* @type Number
|
|
26562
26566
|
*/
|
|
26563
|
-
/**
|
|
26564
|
-
* Indicates whether internal text char widths can be cached
|
|
26565
|
-
* @type Boolean
|
|
26567
|
+
/**
|
|
26568
|
+
* Indicates whether internal text char widths can be cached
|
|
26569
|
+
* @type Boolean
|
|
26566
26570
|
*/
|
|
26567
26571
|
_defineProperty(IText, "ownDefaults", iTextDefaultValues);
|
|
26568
26572
|
_defineProperty(IText, "type", 'IText');
|
|
@@ -26584,11 +26588,11 @@ const textboxDefaultValues = {
|
|
|
26584
26588
|
|
|
26585
26589
|
// @TODO this is not complete
|
|
26586
26590
|
|
|
26587
|
-
/**
|
|
26588
|
-
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26589
|
-
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26590
|
-
* user can only change width. Height is adjusted automatically based on the
|
|
26591
|
-
* wrapping of lines.
|
|
26591
|
+
/**
|
|
26592
|
+
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
26593
|
+
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
26594
|
+
* user can only change width. Height is adjusted automatically based on the
|
|
26595
|
+
* wrapping of lines.
|
|
26592
26596
|
*/
|
|
26593
26597
|
class Textbox extends IText {
|
|
26594
26598
|
static getDefaults() {
|
|
@@ -26598,10 +26602,10 @@ class Textbox extends IText {
|
|
|
26598
26602
|
};
|
|
26599
26603
|
}
|
|
26600
26604
|
|
|
26601
|
-
/**
|
|
26602
|
-
* Constructor
|
|
26603
|
-
* @param {String} text Text string
|
|
26604
|
-
* @param {Object} [options] Options object
|
|
26605
|
+
/**
|
|
26606
|
+
* Constructor
|
|
26607
|
+
* @param {String} text Text string
|
|
26608
|
+
* @param {Object} [options] Options object
|
|
26605
26609
|
*/
|
|
26606
26610
|
constructor(text, options) {
|
|
26607
26611
|
super(text, {
|
|
@@ -26611,10 +26615,10 @@ class Textbox extends IText {
|
|
|
26611
26615
|
this.initializeEventListeners();
|
|
26612
26616
|
}
|
|
26613
26617
|
|
|
26614
|
-
/**
|
|
26615
|
-
* Creates the default control object.
|
|
26616
|
-
* If you prefer to have on instance of controls shared among all objects
|
|
26617
|
-
* make this function return an empty object and add controls to the ownDefaults object
|
|
26618
|
+
/**
|
|
26619
|
+
* Creates the default control object.
|
|
26620
|
+
* If you prefer to have on instance of controls shared among all objects
|
|
26621
|
+
* make this function return an empty object and add controls to the ownDefaults object
|
|
26618
26622
|
*/
|
|
26619
26623
|
static createControls() {
|
|
26620
26624
|
return {
|
|
@@ -26622,11 +26626,11 @@ class Textbox extends IText {
|
|
|
26622
26626
|
};
|
|
26623
26627
|
}
|
|
26624
26628
|
|
|
26625
|
-
/**
|
|
26626
|
-
* Unlike superclass's version of this function, Textbox does not update
|
|
26627
|
-
* its width.
|
|
26628
|
-
* @private
|
|
26629
|
-
* @override
|
|
26629
|
+
/**
|
|
26630
|
+
* Unlike superclass's version of this function, Textbox does not update
|
|
26631
|
+
* its width.
|
|
26632
|
+
* @private
|
|
26633
|
+
* @override
|
|
26630
26634
|
*/
|
|
26631
26635
|
initDimensions() {
|
|
26632
26636
|
if (!this.initialized) {
|
|
@@ -26770,9 +26774,9 @@ class Textbox extends IText {
|
|
|
26770
26774
|
}
|
|
26771
26775
|
}
|
|
26772
26776
|
|
|
26773
|
-
/**
|
|
26774
|
-
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26775
|
-
* @private
|
|
26777
|
+
/**
|
|
26778
|
+
* Schedule justify calculation after font loads (Textbox-specific)
|
|
26779
|
+
* @private
|
|
26776
26780
|
*/
|
|
26777
26781
|
_scheduleJustifyAfterFontLoad() {
|
|
26778
26782
|
if (typeof document === 'undefined' || !('fonts' in document)) {
|
|
@@ -26799,9 +26803,9 @@ class Textbox extends IText {
|
|
|
26799
26803
|
});
|
|
26800
26804
|
}
|
|
26801
26805
|
|
|
26802
|
-
/**
|
|
26803
|
-
* Advanced dimensions calculation using new layout engine
|
|
26804
|
-
* @private
|
|
26806
|
+
/**
|
|
26807
|
+
* Advanced dimensions calculation using new layout engine
|
|
26808
|
+
* @private
|
|
26805
26809
|
*/
|
|
26806
26810
|
initDimensionsAdvanced() {
|
|
26807
26811
|
if (!this.initialized) {
|
|
@@ -26856,9 +26860,9 @@ class Textbox extends IText {
|
|
|
26856
26860
|
this.dirty = true;
|
|
26857
26861
|
}
|
|
26858
26862
|
|
|
26859
|
-
/**
|
|
26860
|
-
* Generate style map from new layout format
|
|
26861
|
-
* @private
|
|
26863
|
+
/**
|
|
26864
|
+
* Generate style map from new layout format
|
|
26865
|
+
* @private
|
|
26862
26866
|
*/
|
|
26863
26867
|
_generateStyleMapFromLayout(layout) {
|
|
26864
26868
|
const map = {};
|
|
@@ -26880,12 +26884,12 @@ class Textbox extends IText {
|
|
|
26880
26884
|
return map;
|
|
26881
26885
|
}
|
|
26882
26886
|
|
|
26883
|
-
/**
|
|
26884
|
-
* Generate an object that translates the style object so that it is
|
|
26885
|
-
* broken up by visual lines (new lines and automatic wrapping).
|
|
26886
|
-
* The original text styles object is broken up by actual lines (new lines only),
|
|
26887
|
-
* which is only sufficient for Text / IText
|
|
26888
|
-
* @private
|
|
26887
|
+
/**
|
|
26888
|
+
* Generate an object that translates the style object so that it is
|
|
26889
|
+
* broken up by visual lines (new lines and automatic wrapping).
|
|
26890
|
+
* The original text styles object is broken up by actual lines (new lines only),
|
|
26891
|
+
* which is only sufficient for Text / IText
|
|
26892
|
+
* @private
|
|
26889
26893
|
*/
|
|
26890
26894
|
_generateStyleMap(textInfo) {
|
|
26891
26895
|
let realLineCount = 0,
|
|
@@ -26912,10 +26916,10 @@ class Textbox extends IText {
|
|
|
26912
26916
|
return map;
|
|
26913
26917
|
}
|
|
26914
26918
|
|
|
26915
|
-
/**
|
|
26916
|
-
* Returns true if object has a style property or has it on a specified line
|
|
26917
|
-
* @param {Number} lineIndex
|
|
26918
|
-
* @return {Boolean}
|
|
26919
|
+
/**
|
|
26920
|
+
* Returns true if object has a style property or has it on a specified line
|
|
26921
|
+
* @param {Number} lineIndex
|
|
26922
|
+
* @return {Boolean}
|
|
26919
26923
|
*/
|
|
26920
26924
|
styleHas(property, lineIndex) {
|
|
26921
26925
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26927,10 +26931,10 @@ class Textbox extends IText {
|
|
|
26927
26931
|
return super.styleHas(property, lineIndex);
|
|
26928
26932
|
}
|
|
26929
26933
|
|
|
26930
|
-
/**
|
|
26931
|
-
* Returns true if object has no styling or no styling in a line
|
|
26932
|
-
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26933
|
-
* @return {Boolean}
|
|
26934
|
+
/**
|
|
26935
|
+
* Returns true if object has no styling or no styling in a line
|
|
26936
|
+
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26937
|
+
* @return {Boolean}
|
|
26934
26938
|
*/
|
|
26935
26939
|
isEmptyStyles(lineIndex) {
|
|
26936
26940
|
if (!this.styles) {
|
|
@@ -26967,11 +26971,11 @@ class Textbox extends IText {
|
|
|
26967
26971
|
return true;
|
|
26968
26972
|
}
|
|
26969
26973
|
|
|
26970
|
-
/**
|
|
26971
|
-
* @protected
|
|
26972
|
-
* @param {Number} lineIndex
|
|
26973
|
-
* @param {Number} charIndex
|
|
26974
|
-
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
26974
|
+
/**
|
|
26975
|
+
* @protected
|
|
26976
|
+
* @param {Number} lineIndex
|
|
26977
|
+
* @param {Number} charIndex
|
|
26978
|
+
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
26975
26979
|
*/
|
|
26976
26980
|
_getStyleDeclaration(lineIndex, charIndex) {
|
|
26977
26981
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -26985,59 +26989,59 @@ class Textbox extends IText {
|
|
|
26985
26989
|
return super._getStyleDeclaration(lineIndex, charIndex);
|
|
26986
26990
|
}
|
|
26987
26991
|
|
|
26988
|
-
/**
|
|
26989
|
-
* @param {Number} lineIndex
|
|
26990
|
-
* @param {Number} charIndex
|
|
26991
|
-
* @param {Object} style
|
|
26992
|
-
* @private
|
|
26992
|
+
/**
|
|
26993
|
+
* @param {Number} lineIndex
|
|
26994
|
+
* @param {Number} charIndex
|
|
26995
|
+
* @param {Object} style
|
|
26996
|
+
* @private
|
|
26993
26997
|
*/
|
|
26994
26998
|
_setStyleDeclaration(lineIndex, charIndex, style) {
|
|
26995
26999
|
const map = this._styleMap[lineIndex];
|
|
26996
27000
|
super._setStyleDeclaration(map.line, map.offset + charIndex, style);
|
|
26997
27001
|
}
|
|
26998
27002
|
|
|
26999
|
-
/**
|
|
27000
|
-
* @param {Number} lineIndex
|
|
27001
|
-
* @param {Number} charIndex
|
|
27002
|
-
* @private
|
|
27003
|
+
/**
|
|
27004
|
+
* @param {Number} lineIndex
|
|
27005
|
+
* @param {Number} charIndex
|
|
27006
|
+
* @private
|
|
27003
27007
|
*/
|
|
27004
27008
|
_deleteStyleDeclaration(lineIndex, charIndex) {
|
|
27005
27009
|
const map = this._styleMap[lineIndex];
|
|
27006
27010
|
super._deleteStyleDeclaration(map.line, map.offset + charIndex);
|
|
27007
27011
|
}
|
|
27008
27012
|
|
|
27009
|
-
/**
|
|
27010
|
-
* probably broken need a fix
|
|
27011
|
-
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
27012
|
-
* Used just to verify if the line does exist or not.
|
|
27013
|
-
* @param {Number} lineIndex
|
|
27014
|
-
* @returns {Boolean} if the line exists or not
|
|
27015
|
-
* @private
|
|
27013
|
+
/**
|
|
27014
|
+
* probably broken need a fix
|
|
27015
|
+
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
27016
|
+
* Used just to verify if the line does exist or not.
|
|
27017
|
+
* @param {Number} lineIndex
|
|
27018
|
+
* @returns {Boolean} if the line exists or not
|
|
27019
|
+
* @private
|
|
27016
27020
|
*/
|
|
27017
27021
|
_getLineStyle(lineIndex) {
|
|
27018
27022
|
const map = this._styleMap[lineIndex];
|
|
27019
27023
|
return !!this.styles[map.line];
|
|
27020
27024
|
}
|
|
27021
27025
|
|
|
27022
|
-
/**
|
|
27023
|
-
* Set the line style to an empty object so that is initialized
|
|
27024
|
-
* @param {Number} lineIndex
|
|
27025
|
-
* @param {Object} style
|
|
27026
|
-
* @private
|
|
27026
|
+
/**
|
|
27027
|
+
* Set the line style to an empty object so that is initialized
|
|
27028
|
+
* @param {Number} lineIndex
|
|
27029
|
+
* @param {Object} style
|
|
27030
|
+
* @private
|
|
27027
27031
|
*/
|
|
27028
27032
|
_setLineStyle(lineIndex) {
|
|
27029
27033
|
const map = this._styleMap[lineIndex];
|
|
27030
27034
|
super._setLineStyle(map.line);
|
|
27031
27035
|
}
|
|
27032
27036
|
|
|
27033
|
-
/**
|
|
27034
|
-
* Wraps text using the 'width' property of Textbox. First this function
|
|
27035
|
-
* splits text on newlines, so we preserve newlines entered by the user.
|
|
27036
|
-
* Then it wraps each line using the width of the Textbox by calling
|
|
27037
|
-
* _wrapLine().
|
|
27038
|
-
* @param {Array} lines The string array of text that is split into lines
|
|
27039
|
-
* @param {Number} desiredWidth width you want to wrap to
|
|
27040
|
-
* @returns {Array} Array of lines
|
|
27037
|
+
/**
|
|
27038
|
+
* Wraps text using the 'width' property of Textbox. First this function
|
|
27039
|
+
* splits text on newlines, so we preserve newlines entered by the user.
|
|
27040
|
+
* Then it wraps each line using the width of the Textbox by calling
|
|
27041
|
+
* _wrapLine().
|
|
27042
|
+
* @param {Array} lines The string array of text that is split into lines
|
|
27043
|
+
* @param {Number} desiredWidth width you want to wrap to
|
|
27044
|
+
* @returns {Array} Array of lines
|
|
27041
27045
|
*/
|
|
27042
27046
|
_wrapText(lines, desiredWidth) {
|
|
27043
27047
|
this.isWrapping = true;
|
|
@@ -27051,12 +27055,12 @@ class Textbox extends IText {
|
|
|
27051
27055
|
return wrapped;
|
|
27052
27056
|
}
|
|
27053
27057
|
|
|
27054
|
-
/**
|
|
27055
|
-
* For each line of text terminated by an hard line stop,
|
|
27056
|
-
* measure each word width and extract the largest word from all.
|
|
27057
|
-
* The returned words here are the one that at the end will be rendered.
|
|
27058
|
-
* @param {string[]} lines the lines we need to measure
|
|
27059
|
-
*
|
|
27058
|
+
/**
|
|
27059
|
+
* For each line of text terminated by an hard line stop,
|
|
27060
|
+
* measure each word width and extract the largest word from all.
|
|
27061
|
+
* The returned words here are the one that at the end will be rendered.
|
|
27062
|
+
* @param {string[]} lines the lines we need to measure
|
|
27063
|
+
*
|
|
27060
27064
|
*/
|
|
27061
27065
|
getGraphemeDataForRender(lines) {
|
|
27062
27066
|
const splitByGrapheme = this.splitByGrapheme,
|
|
@@ -27089,17 +27093,17 @@ class Textbox extends IText {
|
|
|
27089
27093
|
};
|
|
27090
27094
|
}
|
|
27091
27095
|
|
|
27092
|
-
/**
|
|
27093
|
-
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27094
|
-
* It gets called when charBounds are not available yet.
|
|
27095
|
-
* Override if necessary
|
|
27096
|
-
* Use with {@link Textbox#wordSplit}
|
|
27097
|
-
*
|
|
27098
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
27099
|
-
* @param {String} text
|
|
27100
|
-
* @param {number} lineIndex
|
|
27101
|
-
* @param {number} charOffset
|
|
27102
|
-
* @returns {number}
|
|
27096
|
+
/**
|
|
27097
|
+
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
27098
|
+
* It gets called when charBounds are not available yet.
|
|
27099
|
+
* Override if necessary
|
|
27100
|
+
* Use with {@link Textbox#wordSplit}
|
|
27101
|
+
*
|
|
27102
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
27103
|
+
* @param {String} text
|
|
27104
|
+
* @param {number} lineIndex
|
|
27105
|
+
* @param {number} charOffset
|
|
27106
|
+
* @returns {number}
|
|
27103
27107
|
*/
|
|
27104
27108
|
_measureWord(word, lineIndex) {
|
|
27105
27109
|
let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -27114,26 +27118,26 @@ class Textbox extends IText {
|
|
|
27114
27118
|
return width;
|
|
27115
27119
|
}
|
|
27116
27120
|
|
|
27117
|
-
/**
|
|
27118
|
-
* Override this method to customize word splitting
|
|
27119
|
-
* Use with {@link Textbox#_measureWord}
|
|
27120
|
-
* @param {string} value
|
|
27121
|
-
* @returns {string[]} array of words
|
|
27121
|
+
/**
|
|
27122
|
+
* Override this method to customize word splitting
|
|
27123
|
+
* Use with {@link Textbox#_measureWord}
|
|
27124
|
+
* @param {string} value
|
|
27125
|
+
* @returns {string[]} array of words
|
|
27122
27126
|
*/
|
|
27123
27127
|
wordSplit(value) {
|
|
27124
27128
|
return value.split(this._wordJoiners);
|
|
27125
27129
|
}
|
|
27126
27130
|
|
|
27127
|
-
/**
|
|
27128
|
-
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27129
|
-
* and leveraging the known width o words from GraphemeData
|
|
27130
|
-
* @private
|
|
27131
|
-
* @param {Number} lineIndex
|
|
27132
|
-
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27133
|
-
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27134
|
-
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27135
|
-
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27136
|
-
* to.
|
|
27131
|
+
/**
|
|
27132
|
+
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
27133
|
+
* and leveraging the known width o words from GraphemeData
|
|
27134
|
+
* @private
|
|
27135
|
+
* @param {Number} lineIndex
|
|
27136
|
+
* @param {Number} desiredWidth width you want to wrap the line to
|
|
27137
|
+
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
27138
|
+
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
27139
|
+
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
27140
|
+
* to.
|
|
27137
27141
|
*/
|
|
27138
27142
|
_wrapLine(lineIndex, desiredWidth, _ref) {
|
|
27139
27143
|
let {
|
|
@@ -27215,11 +27219,11 @@ class Textbox extends IText {
|
|
|
27215
27219
|
return graphemeLines;
|
|
27216
27220
|
}
|
|
27217
27221
|
|
|
27218
|
-
/**
|
|
27219
|
-
* Detect if the text line is ended with an hard break
|
|
27220
|
-
* text and itext do not have wrapping, return false
|
|
27221
|
-
* @param {Number} lineIndex text to split
|
|
27222
|
-
* @return {Boolean}
|
|
27222
|
+
/**
|
|
27223
|
+
* Detect if the text line is ended with an hard break
|
|
27224
|
+
* text and itext do not have wrapping, return false
|
|
27225
|
+
* @param {Number} lineIndex text to split
|
|
27226
|
+
* @return {Boolean}
|
|
27223
27227
|
*/
|
|
27224
27228
|
isEndOfWrapping(lineIndex) {
|
|
27225
27229
|
if (!this._styleMap[lineIndex + 1]) {
|
|
@@ -27233,12 +27237,12 @@ class Textbox extends IText {
|
|
|
27233
27237
|
return false;
|
|
27234
27238
|
}
|
|
27235
27239
|
|
|
27236
|
-
/**
|
|
27237
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27238
|
-
* and counting style.
|
|
27239
|
-
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27240
|
-
* If we are not wrapping the offset is always 1
|
|
27241
|
-
* @return Number
|
|
27240
|
+
/**
|
|
27241
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
27242
|
+
* and counting style.
|
|
27243
|
+
* This is important only for splitByGrapheme at the end of wrapping.
|
|
27244
|
+
* If we are not wrapping the offset is always 1
|
|
27245
|
+
* @return Number
|
|
27242
27246
|
*/
|
|
27243
27247
|
missingNewlineOffset(lineIndex, skipWrapping) {
|
|
27244
27248
|
if (this.splitByGrapheme && !skipWrapping) {
|
|
@@ -27247,12 +27251,12 @@ class Textbox extends IText {
|
|
|
27247
27251
|
return 1;
|
|
27248
27252
|
}
|
|
27249
27253
|
|
|
27250
|
-
/**
|
|
27251
|
-
* Gets lines of text to render in the Textbox. This function calculates
|
|
27252
|
-
* text wrapping on the fly every time it is called.
|
|
27253
|
-
* @param {String} text text to split
|
|
27254
|
-
* @returns {Array} Array of lines in the Textbox.
|
|
27255
|
-
* @override
|
|
27254
|
+
/**
|
|
27255
|
+
* Gets lines of text to render in the Textbox. This function calculates
|
|
27256
|
+
* text wrapping on the fly every time it is called.
|
|
27257
|
+
* @param {String} text text to split
|
|
27258
|
+
* @returns {Array} Array of lines in the Textbox.
|
|
27259
|
+
* @override
|
|
27256
27260
|
*/
|
|
27257
27261
|
_splitTextIntoLines(text) {
|
|
27258
27262
|
// Check if we need browser wrapping using smart font detection
|
|
@@ -27299,9 +27303,9 @@ class Textbox extends IText {
|
|
|
27299
27303
|
return newText;
|
|
27300
27304
|
}
|
|
27301
27305
|
|
|
27302
|
-
/**
|
|
27303
|
-
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27304
|
-
* @private
|
|
27306
|
+
/**
|
|
27307
|
+
* Use browser's native text wrapping for accurate handling of fonts without English glyphs
|
|
27308
|
+
* @private
|
|
27305
27309
|
*/
|
|
27306
27310
|
_splitTextIntoLinesWithBrowser(text) {
|
|
27307
27311
|
if (typeof document === 'undefined') {
|
|
@@ -27427,9 +27431,9 @@ class Textbox extends IText {
|
|
|
27427
27431
|
};
|
|
27428
27432
|
}
|
|
27429
27433
|
|
|
27430
|
-
/**
|
|
27431
|
-
* Extract justify space measurements from browser
|
|
27432
|
-
* @private
|
|
27434
|
+
/**
|
|
27435
|
+
* Extract justify space measurements from browser
|
|
27436
|
+
* @private
|
|
27433
27437
|
*/
|
|
27434
27438
|
_extractJustifySpaceMeasurements(element, lines) {
|
|
27435
27439
|
console.log(`🔤 Extracting browser justify space measurements for ${lines.length} lines`);
|
|
@@ -27465,9 +27469,9 @@ class Textbox extends IText {
|
|
|
27465
27469
|
return spaceWidths;
|
|
27466
27470
|
}
|
|
27467
27471
|
|
|
27468
|
-
/**
|
|
27469
|
-
* Apply browser-calculated justify space measurements
|
|
27470
|
-
* @private
|
|
27472
|
+
/**
|
|
27473
|
+
* Apply browser-calculated justify space measurements
|
|
27474
|
+
* @private
|
|
27471
27475
|
*/
|
|
27472
27476
|
_applyBrowserJustifySpaces() {
|
|
27473
27477
|
if (!this._textLines || !this.__charBounds) {
|
|
@@ -27504,9 +27508,9 @@ class Textbox extends IText {
|
|
|
27504
27508
|
});
|
|
27505
27509
|
}
|
|
27506
27510
|
|
|
27507
|
-
/**
|
|
27508
|
-
* Fallback to default Fabric wrapping
|
|
27509
|
-
* @private
|
|
27511
|
+
/**
|
|
27512
|
+
* Fallback to default Fabric wrapping
|
|
27513
|
+
* @private
|
|
27510
27514
|
*/
|
|
27511
27515
|
_splitTextIntoLinesDefault(text) {
|
|
27512
27516
|
const newText = super._splitTextIntoLines(text),
|
|
@@ -27538,9 +27542,9 @@ class Textbox extends IText {
|
|
|
27538
27542
|
}
|
|
27539
27543
|
}
|
|
27540
27544
|
|
|
27541
|
-
/**
|
|
27542
|
-
* Initialize event listeners for safety snap functionality
|
|
27543
|
-
* @private
|
|
27545
|
+
/**
|
|
27546
|
+
* Initialize event listeners for safety snap functionality
|
|
27547
|
+
* @private
|
|
27544
27548
|
*/
|
|
27545
27549
|
initializeEventListeners() {
|
|
27546
27550
|
var _this$canvas4;
|
|
@@ -27583,12 +27587,12 @@ class Textbox extends IText {
|
|
|
27583
27587
|
});
|
|
27584
27588
|
}
|
|
27585
27589
|
|
|
27586
|
-
/**
|
|
27587
|
-
* Safety snap to prevent glyph clipping after manual resize.
|
|
27588
|
-
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27589
|
-
* and automatically expands width if needed.
|
|
27590
|
-
* @private
|
|
27591
|
-
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
27590
|
+
/**
|
|
27591
|
+
* Safety snap to prevent glyph clipping after manual resize.
|
|
27592
|
+
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
27593
|
+
* and automatically expands width if needed.
|
|
27594
|
+
* @private
|
|
27595
|
+
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
27592
27596
|
*/
|
|
27593
27597
|
safetySnapWidth(resizeOrigin) {
|
|
27594
27598
|
// For Textbox objects, we always want to check for clipping regardless of isWrapping flag
|
|
@@ -27655,9 +27659,9 @@ class Textbox extends IText {
|
|
|
27655
27659
|
}
|
|
27656
27660
|
}
|
|
27657
27661
|
|
|
27658
|
-
/**
|
|
27659
|
-
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27660
|
-
* @private
|
|
27662
|
+
/**
|
|
27663
|
+
* Fix character selection mismatch after JSON loading for browser-wrapped fonts
|
|
27664
|
+
* @private
|
|
27661
27665
|
*/
|
|
27662
27666
|
_fixCharacterMappingAfterJsonLoad() {
|
|
27663
27667
|
if (this._usingBrowserWrapping) {
|
|
@@ -27677,9 +27681,9 @@ class Textbox extends IText {
|
|
|
27677
27681
|
}
|
|
27678
27682
|
}
|
|
27679
27683
|
|
|
27680
|
-
/**
|
|
27681
|
-
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27682
|
-
* Overrides Text version with Textbox-specific logic
|
|
27684
|
+
/**
|
|
27685
|
+
* Force complete textbox re-initialization (useful after JSON loading)
|
|
27686
|
+
* Overrides Text version with Textbox-specific logic
|
|
27683
27687
|
*/
|
|
27684
27688
|
forceTextReinitialization() {
|
|
27685
27689
|
console.log('🔄 Force reinitializing Textbox object');
|
|
@@ -27736,31 +27740,31 @@ class Textbox extends IText {
|
|
|
27736
27740
|
}
|
|
27737
27741
|
}
|
|
27738
27742
|
|
|
27739
|
-
/**
|
|
27740
|
-
* Returns object representation of an instance
|
|
27741
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27742
|
-
* @return {Object} object representation of an instance
|
|
27743
|
+
/**
|
|
27744
|
+
* Returns object representation of an instance
|
|
27745
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
27746
|
+
* @return {Object} object representation of an instance
|
|
27743
27747
|
*/
|
|
27744
27748
|
toObject() {
|
|
27745
27749
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
27746
27750
|
return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
|
|
27747
27751
|
}
|
|
27748
27752
|
}
|
|
27749
|
-
/**
|
|
27750
|
-
* Minimum width of textbox, in pixels.
|
|
27751
|
-
* @type Number
|
|
27752
|
-
*/
|
|
27753
|
-
/**
|
|
27754
|
-
* Minimum calculated width of a textbox, in pixels.
|
|
27755
|
-
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27756
|
-
* and is still selectable without text.
|
|
27757
|
-
* @type Number
|
|
27758
|
-
*/
|
|
27759
|
-
/**
|
|
27760
|
-
* Use this boolean property in order to split strings that have no white space concept.
|
|
27761
|
-
* this is a cheap way to help with chinese/japanese
|
|
27762
|
-
* @type Boolean
|
|
27763
|
-
* @since 2.6.0
|
|
27753
|
+
/**
|
|
27754
|
+
* Minimum width of textbox, in pixels.
|
|
27755
|
+
* @type Number
|
|
27756
|
+
*/
|
|
27757
|
+
/**
|
|
27758
|
+
* Minimum calculated width of a textbox, in pixels.
|
|
27759
|
+
* fixed to 2 so that an empty textbox cannot go to 0
|
|
27760
|
+
* and is still selectable without text.
|
|
27761
|
+
* @type Number
|
|
27762
|
+
*/
|
|
27763
|
+
/**
|
|
27764
|
+
* Use this boolean property in order to split strings that have no white space concept.
|
|
27765
|
+
* this is a cheap way to help with chinese/japanese
|
|
27766
|
+
* @type Boolean
|
|
27767
|
+
* @since 2.6.0
|
|
27764
27768
|
*/
|
|
27765
27769
|
_defineProperty(Textbox, "type", 'Textbox');
|
|
27766
27770
|
_defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);
|