@nasser-sw/fabric 7.0.1-beta2 → 7.0.1-beta3
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/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/CHANGELOG.md +0 -0
- package/debug/konva/LICENSE +0 -0
- package/debug/konva/README.md +0 -0
- package/debug/konva/gulpfile.mjs +0 -0
- package/debug/konva/package.json +0 -0
- package/debug/konva/release.sh +0 -0
- package/debug/konva/resources/doc-includes/ContainerParams.txt +0 -0
- package/debug/konva/resources/doc-includes/NodeParams.txt +0 -0
- package/debug/konva/resources/doc-includes/ShapeParams.txt +0 -0
- package/debug/konva/resources/jsdoc.conf.json +0 -0
- package/debug/konva/rollup.config.mjs +0 -0
- package/debug/konva/src/Animation.ts +0 -0
- package/debug/konva/src/BezierFunctions.ts +0 -0
- package/debug/konva/src/Canvas.ts +0 -0
- package/debug/konva/src/Container.ts +0 -0
- package/debug/konva/src/Context.ts +0 -0
- package/debug/konva/src/Core.ts +0 -0
- package/debug/konva/src/DragAndDrop.ts +0 -0
- package/debug/konva/src/Factory.ts +0 -0
- package/debug/konva/src/FastLayer.ts +0 -0
- package/debug/konva/src/Global.ts +0 -0
- package/debug/konva/src/Group.ts +0 -0
- package/debug/konva/src/Layer.ts +0 -0
- package/debug/konva/src/Node.ts +0 -0
- package/debug/konva/src/PointerEvents.ts +0 -0
- package/debug/konva/src/Shape.ts +0 -0
- package/debug/konva/src/Stage.ts +0 -0
- package/debug/konva/src/Tween.ts +0 -0
- package/debug/konva/src/Util.ts +0 -0
- package/debug/konva/src/Validators.ts +0 -0
- package/debug/konva/src/_CoreInternals.ts +0 -0
- package/debug/konva/src/_FullInternals.ts +0 -0
- package/debug/konva/src/canvas-backend.ts +0 -0
- package/debug/konva/src/filters/Blur.ts +0 -0
- package/debug/konva/src/filters/Brighten.ts +0 -0
- package/debug/konva/src/filters/Brightness.ts +0 -0
- package/debug/konva/src/filters/Contrast.ts +0 -0
- package/debug/konva/src/filters/Emboss.ts +0 -0
- package/debug/konva/src/filters/Enhance.ts +0 -0
- package/debug/konva/src/filters/Grayscale.ts +0 -0
- package/debug/konva/src/filters/HSL.ts +0 -0
- package/debug/konva/src/filters/HSV.ts +0 -0
- package/debug/konva/src/filters/Invert.ts +0 -0
- package/debug/konva/src/filters/Kaleidoscope.ts +0 -0
- package/debug/konva/src/filters/Mask.ts +0 -0
- package/debug/konva/src/filters/Noise.ts +0 -0
- package/debug/konva/src/filters/Pixelate.ts +0 -0
- package/debug/konva/src/filters/Posterize.ts +0 -0
- package/debug/konva/src/filters/RGB.ts +0 -0
- package/debug/konva/src/filters/RGBA.ts +0 -0
- package/debug/konva/src/filters/Sepia.ts +0 -0
- package/debug/konva/src/filters/Solarize.ts +0 -0
- package/debug/konva/src/filters/Threshold.ts +0 -0
- package/debug/konva/src/index.ts +0 -0
- package/debug/konva/src/shapes/Arc.ts +0 -0
- package/debug/konva/src/shapes/Arrow.ts +0 -0
- package/debug/konva/src/shapes/Circle.ts +0 -0
- package/debug/konva/src/shapes/Ellipse.ts +0 -0
- package/debug/konva/src/shapes/Image.ts +0 -0
- package/debug/konva/src/shapes/Label.ts +0 -0
- package/debug/konva/src/shapes/Line.ts +0 -0
- package/debug/konva/src/shapes/Path.ts +0 -0
- package/debug/konva/src/shapes/Rect.ts +0 -0
- package/debug/konva/src/shapes/RegularPolygon.ts +0 -0
- package/debug/konva/src/shapes/Ring.ts +0 -0
- package/debug/konva/src/shapes/Sprite.ts +0 -0
- package/debug/konva/src/shapes/Star.ts +0 -0
- package/debug/konva/src/shapes/Text.ts +0 -0
- package/debug/konva/src/shapes/TextPath.ts +0 -0
- package/debug/konva/src/shapes/Transformer.ts +0 -0
- package/debug/konva/src/shapes/Wedge.ts +0 -0
- package/debug/konva/src/skia-backend.ts +0 -0
- package/debug/konva/src/types.ts +0 -0
- package/debug/konva/tsconfig.json +0 -0
- package/debug/konva/tsconfig.test.json +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +0 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/index.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/index.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts +0 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts.map +0 -0
- package/dist/extensions/data_updaters/origins/index.d.ts +0 -0
- package/dist/extensions/data_updaters/origins/index.d.ts.map +0 -0
- package/dist/extensions/index.d.ts +0 -0
- package/dist/extensions/index.d.ts.map +0 -0
- package/dist/fabric.d.ts +0 -0
- package/dist/fabric.d.ts.map +0 -0
- package/dist/fabric.min.mjs +0 -0
- package/dist/fabric.min.mjs.map +0 -0
- package/dist/fabric.mjs +0 -0
- package/dist/fabric.mjs.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +1266 -1000
- 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 +1266 -1000
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +1266 -1000
- 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 +1266 -1000
- 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 +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs +0 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +0 -0
- 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 +7 -0
- package/dist/src/shapes/Polyline.d.ts.map +1 -1
- package/dist/src/shapes/Polyline.min.mjs +1 -1
- package/dist/src/shapes/Polyline.min.mjs.map +1 -1
- package/dist/src/shapes/Polyline.mjs +48 -16
- package/dist/src/shapes/Polyline.mjs.map +1 -1
- package/dist/src/shapes/Rect.d.ts +0 -0
- package/dist/src/shapes/Rect.d.ts.map +0 -0
- package/dist/src/shapes/Rect.min.mjs +0 -0
- package/dist/src/shapes/Rect.min.mjs.map +0 -0
- package/dist/src/shapes/Rect.mjs +0 -0
- package/dist/src/shapes/Rect.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
- package/dist/src/shapes/Text/Text.d.ts +0 -0
- package/dist/src/shapes/Text/Text.d.ts.map +0 -0
- package/dist/src/shapes/Text/Text.min.mjs +0 -0
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.mjs +283 -283
- package/dist/src/shapes/Text/Text.mjs.map +1 -1
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs +0 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -0
- package/dist/src/shapes/Text/constants.d.ts +0 -0
- package/dist/src/shapes/Text/constants.d.ts.map +0 -0
- package/dist/src/shapes/Text/constants.min.mjs +0 -0
- package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
- package/dist/src/shapes/Text/constants.mjs +0 -0
- package/dist/src/shapes/Text/constants.mjs.map +1 -1
- package/dist/src/shapes/Textbox.d.ts +0 -0
- package/dist/src/shapes/Textbox.d.ts.map +0 -0
- package/dist/src/shapes/Textbox.min.mjs +0 -0
- package/dist/src/shapes/Textbox.min.mjs.map +1 -1
- package/dist/src/shapes/Textbox.mjs +147 -147
- package/dist/src/shapes/Textbox.mjs.map +1 -1
- package/dist/src/shapes/Triangle.d.ts +27 -2
- package/dist/src/shapes/Triangle.d.ts.map +1 -1
- package/dist/src/shapes/Triangle.min.mjs +1 -1
- package/dist/src/shapes/Triangle.min.mjs.map +1 -1
- package/dist/src/shapes/Triangle.mjs +72 -12
- package/dist/src/shapes/Triangle.mjs.map +1 -1
- package/dist/src/text/browserLines.d.ts +0 -0
- package/dist/src/text/browserLines.d.ts.map +0 -0
- package/dist/src/text/browserLines.min.mjs +0 -0
- package/dist/src/text/browserLines.min.mjs.map +1 -1
- package/dist/src/text/browserLines.mjs +20 -20
- package/dist/src/text/browserLines.mjs.map +1 -1
- package/dist/src/text/ellipsis.d.ts +0 -0
- package/dist/src/text/ellipsis.d.ts.map +0 -0
- package/dist/src/text/ellipsis.min.mjs +0 -0
- package/dist/src/text/ellipsis.min.mjs.map +1 -1
- package/dist/src/text/ellipsis.mjs +11 -11
- package/dist/src/text/ellipsis.mjs.map +1 -1
- package/dist/src/text/hitTest.d.ts +0 -0
- package/dist/src/text/hitTest.d.ts.map +0 -0
- package/dist/src/text/hitTest.min.mjs +0 -0
- package/dist/src/text/hitTest.min.mjs.map +1 -1
- package/dist/src/text/hitTest.mjs +19 -19
- package/dist/src/text/hitTest.mjs.map +1 -1
- package/dist/src/text/layout.d.ts +0 -0
- package/dist/src/text/layout.d.ts.map +0 -0
- package/dist/src/text/layout.min.mjs +0 -0
- package/dist/src/text/layout.min.mjs.map +1 -1
- package/dist/src/text/layout.mjs +33 -33
- package/dist/src/text/layout.mjs.map +1 -1
- package/dist/src/text/measure.d.ts +0 -0
- package/dist/src/text/measure.d.ts.map +0 -0
- package/dist/src/text/measure.min.mjs +0 -0
- package/dist/src/text/measure.min.mjs.map +1 -1
- package/dist/src/text/measure.mjs +20 -20
- package/dist/src/text/measure.mjs.map +1 -1
- package/dist/src/text/overlayEditor.d.ts +0 -0
- package/dist/src/text/overlayEditor.d.ts.map +0 -0
- package/dist/src/text/overlayEditor.min.mjs +0 -0
- package/dist/src/text/overlayEditor.min.mjs.map +1 -1
- package/dist/src/text/overlayEditor.mjs +33 -33
- package/dist/src/text/overlayEditor.mjs.map +1 -1
- package/dist/src/text/unicode.d.ts +0 -0
- package/dist/src/text/unicode.d.ts.map +0 -0
- package/dist/src/text/unicode.min.mjs +0 -0
- package/dist/src/text/unicode.min.mjs.map +1 -1
- package/dist/src/text/unicode.mjs +8 -8
- package/dist/src/text/unicode.mjs.map +1 -1
- package/dist/src/typedefs.d.ts +0 -0
- package/dist/src/typedefs.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationBase.d.ts +0 -0
- package/dist/src/util/animation/AnimationBase.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationBase.min.mjs +0 -0
- package/dist/src/util/animation/AnimationBase.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationBase.mjs +0 -0
- package/dist/src/util/animation/AnimationBase.mjs.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs +0 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +0 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs +0 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs.map +0 -0
- package/dist/src/util/animation/AnimationRegistry.mjs +0 -0
- package/dist/src/util/animation/AnimationRegistry.mjs.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +0 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ArrayAnimation.mjs +0 -0
- package/dist/src/util/animation/ArrayAnimation.mjs.map +0 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +0 -0
- package/dist/src/util/animation/ColorAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ColorAnimation.mjs +0 -0
- package/dist/src/util/animation/ColorAnimation.mjs.map +0 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +0 -0
- package/dist/src/util/animation/ValueAnimation.d.ts.map +0 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs +0 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs.map +0 -0
- package/dist/src/util/animation/ValueAnimation.mjs +0 -0
- package/dist/src/util/animation/ValueAnimation.mjs.map +0 -0
- package/dist/src/util/animation/animate.d.ts +0 -0
- package/dist/src/util/animation/animate.d.ts.map +0 -0
- package/dist/src/util/animation/animate.min.mjs +0 -0
- package/dist/src/util/animation/animate.min.mjs.map +0 -0
- package/dist/src/util/animation/animate.mjs +0 -0
- package/dist/src/util/animation/animate.mjs.map +0 -0
- package/dist/src/util/animation/easing.d.ts +0 -0
- package/dist/src/util/animation/easing.d.ts.map +0 -0
- package/dist/src/util/animation/easing.min.mjs +0 -0
- package/dist/src/util/animation/easing.min.mjs.map +0 -0
- package/dist/src/util/animation/easing.mjs +0 -0
- package/dist/src/util/animation/easing.mjs.map +0 -0
- package/dist/src/util/animation/index.d.ts +0 -0
- package/dist/src/util/animation/index.d.ts.map +0 -0
- package/dist/src/util/animation/types.d.ts +0 -0
- package/dist/src/util/animation/types.d.ts.map +0 -0
- package/dist/src/util/applyMixins.d.ts +0 -0
- package/dist/src/util/applyMixins.d.ts.map +0 -0
- package/dist/src/util/applyMixins.min.mjs +0 -0
- package/dist/src/util/applyMixins.min.mjs.map +0 -0
- package/dist/src/util/applyMixins.mjs +0 -0
- package/dist/src/util/applyMixins.mjs.map +0 -0
- package/dist/src/util/dom_event.d.ts +0 -0
- package/dist/src/util/dom_event.d.ts.map +0 -0
- package/dist/src/util/dom_event.min.mjs +0 -0
- package/dist/src/util/dom_event.min.mjs.map +0 -0
- package/dist/src/util/dom_event.mjs +0 -0
- package/dist/src/util/dom_event.mjs.map +0 -0
- package/dist/src/util/dom_misc.d.ts +0 -0
- package/dist/src/util/dom_misc.d.ts.map +0 -0
- package/dist/src/util/dom_misc.min.mjs +0 -0
- package/dist/src/util/dom_misc.min.mjs.map +0 -0
- package/dist/src/util/dom_misc.mjs +0 -0
- package/dist/src/util/dom_misc.mjs.map +0 -0
- package/dist/src/util/index.d.ts +0 -0
- package/dist/src/util/index.d.ts.map +0 -0
- package/dist/src/util/index.min.mjs +0 -0
- package/dist/src/util/index.min.mjs.map +0 -0
- package/dist/src/util/index.mjs +0 -0
- package/dist/src/util/index.mjs.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts +0 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs +0 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +0 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs +0 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs +0 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +0 -0
- package/dist/src/util/internals/cloneStyles.d.ts +0 -0
- package/dist/src/util/internals/cloneStyles.d.ts.map +0 -0
- package/dist/src/util/internals/cloneStyles.min.mjs +0 -0
- package/dist/src/util/internals/cloneStyles.min.mjs.map +0 -0
- package/dist/src/util/internals/cloneStyles.mjs +0 -0
- package/dist/src/util/internals/cloneStyles.mjs.map +0 -0
- package/dist/src/util/internals/console.d.ts +0 -0
- package/dist/src/util/internals/console.d.ts.map +0 -0
- package/dist/src/util/internals/console.min.mjs +0 -0
- package/dist/src/util/internals/console.min.mjs.map +0 -0
- package/dist/src/util/internals/console.mjs +0 -0
- package/dist/src/util/internals/console.mjs.map +0 -0
- package/dist/src/util/internals/dom_style.d.ts +0 -0
- package/dist/src/util/internals/dom_style.d.ts.map +0 -0
- package/dist/src/util/internals/dom_style.min.mjs +0 -0
- package/dist/src/util/internals/dom_style.min.mjs.map +0 -0
- package/dist/src/util/internals/dom_style.mjs +0 -0
- package/dist/src/util/internals/dom_style.mjs.map +0 -0
- package/dist/src/util/internals/findRight.d.ts +0 -0
- package/dist/src/util/internals/findRight.d.ts.map +0 -0
- package/dist/src/util/internals/findRight.min.mjs +0 -0
- package/dist/src/util/internals/findRight.min.mjs.map +0 -0
- package/dist/src/util/internals/findRight.mjs +0 -0
- package/dist/src/util/internals/findRight.mjs.map +0 -0
- package/dist/src/util/internals/getRandomInt.d.ts +0 -0
- package/dist/src/util/internals/getRandomInt.d.ts.map +0 -0
- package/dist/src/util/internals/getRandomInt.min.mjs +0 -0
- package/dist/src/util/internals/getRandomInt.min.mjs.map +0 -0
- package/dist/src/util/internals/getRandomInt.mjs +0 -0
- package/dist/src/util/internals/getRandomInt.mjs.map +0 -0
- package/dist/src/util/internals/ifNaN.d.ts +0 -0
- package/dist/src/util/internals/ifNaN.d.ts.map +0 -0
- package/dist/src/util/internals/ifNaN.min.mjs +0 -0
- package/dist/src/util/internals/ifNaN.min.mjs.map +0 -0
- package/dist/src/util/internals/ifNaN.mjs +0 -0
- package/dist/src/util/internals/ifNaN.mjs.map +0 -0
- package/dist/src/util/internals/removeFromArray.d.ts +0 -0
- package/dist/src/util/internals/removeFromArray.d.ts.map +0 -0
- package/dist/src/util/internals/removeFromArray.min.mjs +0 -0
- package/dist/src/util/internals/removeFromArray.min.mjs.map +0 -0
- package/dist/src/util/internals/removeFromArray.mjs +0 -0
- package/dist/src/util/internals/removeFromArray.mjs.map +0 -0
- package/dist/src/util/internals/uid.d.ts +0 -0
- package/dist/src/util/internals/uid.d.ts.map +0 -0
- package/dist/src/util/internals/uid.min.mjs +0 -0
- package/dist/src/util/internals/uid.min.mjs.map +0 -0
- package/dist/src/util/internals/uid.mjs +0 -0
- package/dist/src/util/internals/uid.mjs.map +0 -0
- package/dist/src/util/lang_string.d.ts +0 -0
- package/dist/src/util/lang_string.d.ts.map +0 -0
- package/dist/src/util/lang_string.min.mjs +0 -0
- package/dist/src/util/lang_string.min.mjs.map +0 -0
- package/dist/src/util/lang_string.mjs +0 -0
- package/dist/src/util/lang_string.mjs.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs +0 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +0 -0
- package/dist/src/util/misc/capValue.d.ts +0 -0
- package/dist/src/util/misc/capValue.d.ts.map +0 -0
- package/dist/src/util/misc/capValue.min.mjs +0 -0
- package/dist/src/util/misc/capValue.min.mjs.map +0 -0
- package/dist/src/util/misc/capValue.mjs +0 -0
- package/dist/src/util/misc/capValue.mjs.map +0 -0
- package/dist/src/util/misc/cornerRadius.d.ts +70 -0
- package/dist/src/util/misc/cornerRadius.d.ts.map +1 -0
- package/dist/src/util/misc/cornerRadius.min.mjs +2 -0
- package/dist/src/util/misc/cornerRadius.min.mjs.map +1 -0
- package/dist/src/util/misc/cornerRadius.mjs +181 -0
- package/dist/src/util/misc/cornerRadius.mjs.map +1 -0
- package/dist/src/util/misc/cos.d.ts +0 -0
- package/dist/src/util/misc/cos.d.ts.map +0 -0
- package/dist/src/util/misc/cos.min.mjs +0 -0
- package/dist/src/util/misc/cos.min.mjs.map +0 -0
- package/dist/src/util/misc/cos.mjs +0 -0
- package/dist/src/util/misc/cos.mjs.map +0 -0
- package/dist/src/util/misc/dom.d.ts +0 -0
- package/dist/src/util/misc/dom.d.ts.map +0 -0
- package/dist/src/util/misc/dom.min.mjs +0 -0
- package/dist/src/util/misc/dom.min.mjs.map +0 -0
- package/dist/src/util/misc/dom.mjs +0 -0
- package/dist/src/util/misc/dom.mjs.map +0 -0
- package/dist/src/util/misc/findScaleTo.d.ts +0 -0
- package/dist/src/util/misc/findScaleTo.d.ts.map +0 -0
- package/dist/src/util/misc/findScaleTo.min.mjs +0 -0
- package/dist/src/util/misc/findScaleTo.min.mjs.map +0 -0
- package/dist/src/util/misc/findScaleTo.mjs +0 -0
- package/dist/src/util/misc/findScaleTo.mjs.map +0 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +0 -0
- package/dist/src/util/misc/groupSVGElements.d.ts.map +0 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs +0 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs.map +0 -0
- package/dist/src/util/misc/groupSVGElements.mjs +0 -0
- package/dist/src/util/misc/groupSVGElements.mjs.map +0 -0
- package/dist/src/util/misc/isTransparent.d.ts +0 -0
- package/dist/src/util/misc/isTransparent.d.ts.map +0 -0
- package/dist/src/util/misc/isTransparent.min.mjs +0 -0
- package/dist/src/util/misc/isTransparent.min.mjs.map +0 -0
- package/dist/src/util/misc/isTransparent.mjs +0 -0
- package/dist/src/util/misc/isTransparent.mjs.map +0 -0
- package/dist/src/util/misc/matrix.d.ts +0 -0
- package/dist/src/util/misc/matrix.d.ts.map +0 -0
- package/dist/src/util/misc/matrix.min.mjs +0 -0
- package/dist/src/util/misc/matrix.min.mjs.map +0 -0
- package/dist/src/util/misc/matrix.mjs +0 -0
- package/dist/src/util/misc/matrix.mjs.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +0 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs +0 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs.map +0 -0
- package/dist/src/util/misc/mergeClipPaths.mjs +0 -0
- package/dist/src/util/misc/mergeClipPaths.mjs.map +0 -0
- package/dist/src/util/misc/objectEnlive.d.ts +0 -0
- package/dist/src/util/misc/objectEnlive.d.ts.map +0 -0
- package/dist/src/util/misc/objectEnlive.min.mjs +0 -0
- package/dist/src/util/misc/objectEnlive.min.mjs.map +0 -0
- package/dist/src/util/misc/objectEnlive.mjs +0 -0
- package/dist/src/util/misc/objectEnlive.mjs.map +0 -0
- package/dist/src/util/misc/objectTransforms.d.ts +0 -0
- package/dist/src/util/misc/objectTransforms.d.ts.map +0 -0
- package/dist/src/util/misc/objectTransforms.min.mjs +0 -0
- package/dist/src/util/misc/objectTransforms.min.mjs.map +0 -0
- package/dist/src/util/misc/objectTransforms.mjs +0 -0
- package/dist/src/util/misc/objectTransforms.mjs.map +0 -0
- package/dist/src/util/misc/pick.d.ts +0 -0
- package/dist/src/util/misc/pick.d.ts.map +0 -0
- package/dist/src/util/misc/pick.min.mjs +0 -0
- package/dist/src/util/misc/pick.min.mjs.map +0 -0
- package/dist/src/util/misc/pick.mjs +0 -0
- package/dist/src/util/misc/pick.mjs.map +0 -0
- package/dist/src/util/misc/planeChange.d.ts +0 -0
- package/dist/src/util/misc/planeChange.d.ts.map +0 -0
- package/dist/src/util/misc/planeChange.min.mjs +0 -0
- package/dist/src/util/misc/planeChange.min.mjs.map +0 -0
- package/dist/src/util/misc/planeChange.mjs +0 -0
- package/dist/src/util/misc/planeChange.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/index.d.ts.map +0 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs +0 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/index.mjs +0 -0
- package/dist/src/util/misc/projectStroke/index.mjs.map +0 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +0 -0
- package/dist/src/util/misc/projectStroke/types.d.ts.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs +0 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs.map +0 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +0 -0
- package/dist/src/util/misc/resolveOrigin.d.ts.map +0 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs +0 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs.map +0 -0
- package/dist/src/util/misc/resolveOrigin.mjs +0 -0
- package/dist/src/util/misc/resolveOrigin.mjs.map +0 -0
- package/dist/src/util/misc/sin.d.ts +0 -0
- package/dist/src/util/misc/sin.d.ts.map +0 -0
- package/dist/src/util/misc/sin.min.mjs +0 -0
- package/dist/src/util/misc/sin.min.mjs.map +0 -0
- package/dist/src/util/misc/sin.mjs +0 -0
- package/dist/src/util/misc/sin.mjs.map +0 -0
- package/dist/src/util/misc/svgExport.d.ts +0 -0
- package/dist/src/util/misc/svgExport.d.ts.map +0 -0
- package/dist/src/util/misc/svgExport.min.mjs +0 -0
- package/dist/src/util/misc/svgExport.min.mjs.map +0 -0
- package/dist/src/util/misc/svgExport.mjs +0 -0
- package/dist/src/util/misc/svgExport.mjs.map +0 -0
- package/dist/src/util/misc/svgParsing.d.ts +0 -0
- package/dist/src/util/misc/svgParsing.d.ts.map +0 -0
- package/dist/src/util/misc/svgParsing.min.mjs +0 -0
- package/dist/src/util/misc/svgParsing.min.mjs.map +0 -0
- package/dist/src/util/misc/svgParsing.mjs +0 -0
- package/dist/src/util/misc/svgParsing.mjs.map +0 -0
- package/dist/src/util/misc/textStyles.d.ts +0 -0
- package/dist/src/util/misc/textStyles.d.ts.map +0 -0
- package/dist/src/util/misc/textStyles.min.mjs +0 -0
- package/dist/src/util/misc/textStyles.min.mjs.map +0 -0
- package/dist/src/util/misc/textStyles.mjs +0 -0
- package/dist/src/util/misc/textStyles.mjs.map +0 -0
- package/dist/src/util/misc/toFixed.d.ts +0 -0
- package/dist/src/util/misc/toFixed.d.ts.map +0 -0
- package/dist/src/util/misc/toFixed.min.mjs +0 -0
- package/dist/src/util/misc/toFixed.min.mjs.map +0 -0
- package/dist/src/util/misc/toFixed.mjs +0 -0
- package/dist/src/util/misc/toFixed.mjs.map +0 -0
- package/dist/src/util/misc/vectors.d.ts +0 -0
- package/dist/src/util/misc/vectors.d.ts.map +0 -0
- package/dist/src/util/misc/vectors.min.mjs +0 -0
- package/dist/src/util/misc/vectors.min.mjs.map +0 -0
- package/dist/src/util/misc/vectors.mjs +0 -0
- package/dist/src/util/misc/vectors.mjs.map +0 -0
- package/dist/src/util/path/index.d.ts +0 -0
- package/dist/src/util/path/index.d.ts.map +0 -0
- package/dist/src/util/path/index.min.mjs +0 -0
- package/dist/src/util/path/index.min.mjs.map +0 -0
- package/dist/src/util/path/index.mjs +0 -0
- package/dist/src/util/path/index.mjs.map +0 -0
- package/dist/src/util/path/regex.d.ts +0 -0
- package/dist/src/util/path/regex.d.ts.map +0 -0
- package/dist/src/util/path/regex.min.mjs +0 -0
- package/dist/src/util/path/regex.min.mjs.map +0 -0
- package/dist/src/util/path/regex.mjs +0 -0
- package/dist/src/util/path/regex.mjs.map +0 -0
- package/dist/src/util/path/typechecks.d.ts +0 -0
- package/dist/src/util/path/typechecks.d.ts.map +0 -0
- package/dist/src/util/path/typedefs.d.ts +0 -0
- package/dist/src/util/path/typedefs.d.ts.map +0 -0
- package/dist/src/util/transform_matrix_removal.d.ts +0 -0
- package/dist/src/util/transform_matrix_removal.d.ts.map +0 -0
- package/dist/src/util/transform_matrix_removal.min.mjs +0 -0
- package/dist/src/util/transform_matrix_removal.min.mjs.map +0 -0
- package/dist/src/util/transform_matrix_removal.mjs +0 -0
- package/dist/src/util/transform_matrix_removal.mjs.map +0 -0
- package/dist/src/util/typeAssertions.d.ts +0 -0
- package/dist/src/util/typeAssertions.d.ts.map +0 -0
- package/dist/src/util/typeAssertions.min.mjs +0 -0
- package/dist/src/util/typeAssertions.min.mjs.map +0 -0
- package/dist/src/util/typeAssertions.mjs +0 -0
- package/dist/src/util/typeAssertions.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/constant.mjs +0 -0
- package/dist-extensions/aligning_guidelines/constant.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/index.mjs +0 -0
- package/dist-extensions/aligning_guidelines/index.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs.map +0 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -0
- package/dist-extensions/data_updaters/gradient/index.mjs +0 -0
- package/dist-extensions/data_updaters/gradient/index.mjs.map +0 -0
- package/dist-extensions/data_updaters/origins/index.mjs +0 -0
- package/dist-extensions/data_updaters/origins/index.mjs.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +0 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +0 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts +0 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +0 -0
- package/dist-extensions/extensions/index.d.ts +0 -0
- package/dist-extensions/extensions/index.d.ts.map +0 -0
- package/dist-extensions/fabric-extensions.min.js +0 -0
- package/dist-extensions/fabric-extensions.min.js.map +0 -0
- package/dist-extensions/fabric.d.ts +0 -0
- package/dist-extensions/fabric.d.ts.map +0 -0
- package/dist-extensions/index.d.ts +0 -0
- package/dist-extensions/index.d.ts.map +0 -0
- package/dist-extensions/index.mjs +0 -0
- package/dist-extensions/index.mjs.map +0 -0
- package/dist-extensions/src/ClassRegistry.d.ts +0 -0
- package/dist-extensions/src/ClassRegistry.d.ts.map +0 -0
- package/dist-extensions/src/Collection.d.ts +0 -0
- package/dist-extensions/src/Collection.d.ts.map +0 -0
- package/dist-extensions/src/CommonMethods.d.ts +0 -0
- package/dist-extensions/src/CommonMethods.d.ts.map +0 -0
- package/dist-extensions/src/EventTypeDefs.d.ts +0 -0
- package/dist-extensions/src/EventTypeDefs.d.ts.map +0 -0
- package/dist-extensions/src/Intersection.d.ts +0 -0
- package/dist-extensions/src/Intersection.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/index.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/index.d.ts.map +0 -0
- package/dist-extensions/src/LayoutManager/types.d.ts +0 -0
- package/dist-extensions/src/LayoutManager/types.d.ts.map +0 -0
- package/dist-extensions/src/Observable.d.ts +0 -0
- package/dist-extensions/src/Observable.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts +0 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/index.d.ts +0 -0
- package/dist-extensions/src/Pattern/index.d.ts.map +0 -0
- package/dist-extensions/src/Pattern/types.d.ts +0 -0
- package/dist-extensions/src/Pattern/types.d.ts.map +0 -0
- package/dist-extensions/src/Point.d.ts +0 -0
- package/dist-extensions/src/Point.d.ts.map +0 -0
- package/dist-extensions/src/Shadow.d.ts +0 -0
- package/dist-extensions/src/Shadow.d.ts.map +0 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts +0 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts.map +0 -0
- package/dist-extensions/src/brushes/typedefs.d.ts +0 -0
- package/dist-extensions/src/brushes/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/cache.d.ts +0 -0
- package/dist-extensions/src/cache.d.ts.map +0 -0
- package/dist-extensions/src/canvas/Canvas.d.ts +0 -0
- package/dist-extensions/src/canvas/Canvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts +0 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts +0 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +0 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts +0 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts +0 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +0 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +0 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts +0 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +0 -0
- package/dist-extensions/src/color/Color.d.ts +0 -0
- package/dist-extensions/src/color/Color.d.ts.map +0 -0
- package/dist-extensions/src/color/color_map.d.ts +0 -0
- package/dist-extensions/src/color/color_map.d.ts.map +0 -0
- package/dist-extensions/src/color/constants.d.ts +0 -0
- package/dist-extensions/src/color/constants.d.ts.map +0 -0
- package/dist-extensions/src/color/typedefs.d.ts +0 -0
- package/dist-extensions/src/color/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/color/util.d.ts +0 -0
- package/dist-extensions/src/color/util.d.ts.map +0 -0
- package/dist-extensions/src/config.d.ts +0 -0
- package/dist-extensions/src/config.d.ts.map +0 -0
- package/dist-extensions/src/constants.d.ts +0 -0
- package/dist-extensions/src/constants.d.ts.map +0 -0
- package/dist-extensions/src/controls/Control.d.ts +0 -0
- package/dist-extensions/src/controls/Control.d.ts.map +0 -0
- package/dist-extensions/src/controls/changeHeight.d.ts +0 -0
- package/dist-extensions/src/controls/changeHeight.d.ts.map +0 -0
- package/dist-extensions/src/controls/changeWidth.d.ts +0 -0
- package/dist-extensions/src/controls/changeWidth.d.ts.map +0 -0
- package/dist-extensions/src/controls/commonControls.d.ts +0 -0
- package/dist-extensions/src/controls/commonControls.d.ts.map +0 -0
- package/dist-extensions/src/controls/controlRendering.d.ts +0 -0
- package/dist-extensions/src/controls/controlRendering.d.ts.map +0 -0
- package/dist-extensions/src/controls/drag.d.ts +0 -0
- package/dist-extensions/src/controls/drag.d.ts.map +0 -0
- package/dist-extensions/src/controls/fireEvent.d.ts +0 -0
- package/dist-extensions/src/controls/fireEvent.d.ts.map +0 -0
- package/dist-extensions/src/controls/index.d.ts +0 -0
- package/dist-extensions/src/controls/index.d.ts.map +0 -0
- package/dist-extensions/src/controls/pathControl.d.ts +0 -0
- package/dist-extensions/src/controls/pathControl.d.ts.map +0 -0
- package/dist-extensions/src/controls/polyControl.d.ts +0 -0
- package/dist-extensions/src/controls/polyControl.d.ts.map +0 -0
- package/dist-extensions/src/controls/rotate.d.ts +0 -0
- package/dist-extensions/src/controls/rotate.d.ts.map +0 -0
- package/dist-extensions/src/controls/scale.d.ts +0 -0
- package/dist-extensions/src/controls/scale.d.ts.map +0 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts +0 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts.map +0 -0
- package/dist-extensions/src/controls/skew.d.ts +0 -0
- package/dist-extensions/src/controls/skew.d.ts.map +0 -0
- package/dist-extensions/src/controls/util.d.ts +0 -0
- package/dist-extensions/src/controls/util.d.ts.map +0 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +0 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +0 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +0 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
- package/dist-extensions/src/env/browser.d.ts +0 -0
- package/dist-extensions/src/env/browser.d.ts.map +0 -0
- package/dist-extensions/src/env/index.d.ts +0 -0
- package/dist-extensions/src/env/index.d.ts.map +0 -0
- package/dist-extensions/src/env/types.d.ts +0 -0
- package/dist-extensions/src/env/types.d.ts.map +0 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts +0 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts.map +0 -0
- package/dist-extensions/src/filters/BlendColor.d.ts +0 -0
- package/dist-extensions/src/filters/BlendColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/BlendImage.d.ts +0 -0
- package/dist-extensions/src/filters/BlendImage.d.ts.map +0 -0
- package/dist-extensions/src/filters/Blur.d.ts +0 -0
- package/dist-extensions/src/filters/Blur.d.ts.map +0 -0
- package/dist-extensions/src/filters/Brightness.d.ts +0 -0
- package/dist-extensions/src/filters/Brightness.d.ts.map +0 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts +0 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts.map +0 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +0 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +0 -0
- package/dist-extensions/src/filters/Composed.d.ts +0 -0
- package/dist-extensions/src/filters/Composed.d.ts.map +0 -0
- package/dist-extensions/src/filters/Contrast.d.ts +0 -0
- package/dist-extensions/src/filters/Contrast.d.ts.map +0 -0
- package/dist-extensions/src/filters/Convolute.d.ts +0 -0
- package/dist-extensions/src/filters/Convolute.d.ts.map +0 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +0 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
- package/dist-extensions/src/filters/Gamma.d.ts +0 -0
- package/dist-extensions/src/filters/Gamma.d.ts.map +0 -0
- package/dist-extensions/src/filters/Grayscale.d.ts +0 -0
- package/dist-extensions/src/filters/Grayscale.d.ts.map +0 -0
- package/dist-extensions/src/filters/HueRotation.d.ts +0 -0
- package/dist-extensions/src/filters/HueRotation.d.ts.map +0 -0
- package/dist-extensions/src/filters/Invert.d.ts +0 -0
- package/dist-extensions/src/filters/Invert.d.ts.map +0 -0
- package/dist-extensions/src/filters/Noise.d.ts +0 -0
- package/dist-extensions/src/filters/Noise.d.ts.map +0 -0
- package/dist-extensions/src/filters/Pixelate.d.ts +0 -0
- package/dist-extensions/src/filters/Pixelate.d.ts.map +0 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts +0 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/Resize.d.ts +0 -0
- package/dist-extensions/src/filters/Resize.d.ts.map +0 -0
- package/dist-extensions/src/filters/Saturation.d.ts +0 -0
- package/dist-extensions/src/filters/Saturation.d.ts.map +0 -0
- package/dist-extensions/src/filters/Vibrance.d.ts +0 -0
- package/dist-extensions/src/filters/Vibrance.d.ts.map +0 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +0 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +0 -0
- package/dist-extensions/src/filters/filters.d.ts +0 -0
- package/dist-extensions/src/filters/filters.d.ts.map +0 -0
- package/dist-extensions/src/filters/index.d.ts +0 -0
- package/dist-extensions/src/filters/index.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts.map +0 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts +0 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +0 -0
- package/dist-extensions/src/filters/typedefs.d.ts +0 -0
- package/dist-extensions/src/filters/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/filters/utils.d.ts +0 -0
- package/dist-extensions/src/filters/utils.d.ts.map +0 -0
- package/dist-extensions/src/gradient/Gradient.d.ts +0 -0
- package/dist-extensions/src/gradient/Gradient.d.ts.map +0 -0
- package/dist-extensions/src/gradient/constants.d.ts +0 -0
- package/dist-extensions/src/gradient/constants.d.ts.map +0 -0
- package/dist-extensions/src/gradient/index.d.ts +0 -0
- package/dist-extensions/src/gradient/index.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +0 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts +0 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +0 -0
- package/dist-extensions/src/gradient/typedefs.d.ts +0 -0
- package/dist-extensions/src/gradient/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts +0 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +0 -0
- package/dist-extensions/src/parser/attributes.d.ts +0 -0
- package/dist-extensions/src/parser/attributes.d.ts.map +0 -0
- package/dist-extensions/src/parser/constants.d.ts +0 -0
- package/dist-extensions/src/parser/constants.d.ts.map +0 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +0 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +0 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts +0 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +0 -0
- package/dist-extensions/src/parser/elements_parser.d.ts +0 -0
- package/dist-extensions/src/parser/elements_parser.d.ts.map +0 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts +0 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts.map +0 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +0 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts +0 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts.map +0 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts +0 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +0 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts +0 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts.map +0 -0
- package/dist-extensions/src/parser/getTagName.d.ts +0 -0
- package/dist-extensions/src/parser/getTagName.d.ts.map +0 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +0 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +0 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts +0 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +0 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts +0 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +0 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts +0 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts.map +0 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts +0 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts +0 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts +0 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +0 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts +0 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts +0 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts +0 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +0 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts +0 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +0 -0
- package/dist-extensions/src/parser/percent.d.ts +0 -0
- package/dist-extensions/src/parser/percent.d.ts.map +0 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts +0 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts.map +0 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +0 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
- package/dist-extensions/src/parser/typedefs.d.ts +0 -0
- package/dist-extensions/src/parser/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts +0 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Circle.d.ts +0 -0
- package/dist-extensions/src/shapes/Circle.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts +0 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Group.d.ts +0 -0
- package/dist-extensions/src/shapes/Group.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts.map +0 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +0 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +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 +7 -0
- package/dist-extensions/src/shapes/Polyline.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Rect.d.ts +0 -0
- package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Textbox.d.ts +0 -0
- package/dist-extensions/src/shapes/Textbox.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Triangle.d.ts +27 -2
- package/dist-extensions/src/shapes/Triangle.d.ts.map +1 -1
- package/dist-extensions/src/text/browserLines.d.ts +0 -0
- package/dist-extensions/src/text/browserLines.d.ts.map +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
- package/dist-extensions/src/text/hitTest.d.ts +0 -0
- package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
- package/dist-extensions/src/text/layout.d.ts +0 -0
- package/dist-extensions/src/text/layout.d.ts.map +0 -0
- package/dist-extensions/src/text/measure.d.ts +0 -0
- package/dist-extensions/src/text/measure.d.ts.map +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts.map +0 -0
- package/dist-extensions/src/text/unicode.d.ts +0 -0
- package/dist-extensions/src/text/unicode.d.ts.map +0 -0
- package/dist-extensions/src/typedefs.d.ts +0 -0
- package/dist-extensions/src/typedefs.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +0 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts +0 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/animate.d.ts +0 -0
- package/dist-extensions/src/util/animation/animate.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/easing.d.ts +0 -0
- package/dist-extensions/src/util/animation/easing.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/index.d.ts +0 -0
- package/dist-extensions/src/util/animation/index.d.ts.map +0 -0
- package/dist-extensions/src/util/animation/types.d.ts +0 -0
- package/dist-extensions/src/util/animation/types.d.ts.map +0 -0
- package/dist-extensions/src/util/applyMixins.d.ts +0 -0
- package/dist-extensions/src/util/applyMixins.d.ts.map +0 -0
- package/dist-extensions/src/util/dom_event.d.ts +0 -0
- package/dist-extensions/src/util/dom_event.d.ts.map +0 -0
- package/dist-extensions/src/util/dom_misc.d.ts +0 -0
- package/dist-extensions/src/util/dom_misc.d.ts.map +0 -0
- package/dist-extensions/src/util/index.d.ts +0 -0
- package/dist-extensions/src/util/index.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +0 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts +0 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/console.d.ts +0 -0
- package/dist-extensions/src/util/internals/console.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts +0 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/findRight.d.ts +0 -0
- package/dist-extensions/src/util/internals/findRight.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts +0 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts +0 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts +0 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +0 -0
- package/dist-extensions/src/util/internals/uid.d.ts +0 -0
- package/dist-extensions/src/util/internals/uid.d.ts.map +0 -0
- package/dist-extensions/src/util/lang_string.d.ts +0 -0
- package/dist-extensions/src/util/lang_string.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/capValue.d.ts +0 -0
- package/dist-extensions/src/util/misc/capValue.d.ts.map +0 -0
- package/dist-extensions/src/util/misc/cornerRadius.d.ts +70 -0
- package/dist-extensions/src/util/misc/cornerRadius.d.ts.map +1 -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 +274 -0
- package/docs/konva-text-behavior-spec.md +265 -0
- package/docs/text-engine-design.md +698 -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 +964 -507
- package/fabric.ts +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/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 +1176 -1176
- package/src/shapes/IText/ITextClickBehavior.ts +254 -254
- package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +0 -0
- package/src/shapes/IText/__snapshots__/IText.test.ts.snap +0 -0
- package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +0 -0
- package/src/shapes/IText/constants.ts +0 -0
- package/src/shapes/Image-filters.spec.ts +0 -0
- package/src/shapes/Image.spec.ts +0 -0
- package/src/shapes/Image.ts +0 -0
- package/src/shapes/Line.spec.ts +0 -0
- package/src/shapes/Line.ts +0 -0
- package/src/shapes/Object/FabricObject.spec.ts +0 -0
- package/src/shapes/Object/FabricObject.ts +0 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +0 -0
- package/src/shapes/Object/InteractiveObject.spec.ts +0 -0
- package/src/shapes/Object/InteractiveObject.ts +0 -0
- package/src/shapes/Object/Object-clip-path.spec.ts +0 -0
- package/src/shapes/Object/Object-interactivity.spec.ts +0 -0
- package/src/shapes/Object/Object.spec.ts +0 -0
- package/src/shapes/Object/Object.ts +0 -0
- package/src/shapes/Object/ObjectGeometry.spec.ts +0 -0
- package/src/shapes/Object/ObjectGeometry.ts +0 -0
- package/src/shapes/Object/ObjectOrigin.spec.ts +0 -0
- package/src/shapes/Object/ObjectSerialization.spec.ts +0 -0
- package/src/shapes/Object/StackedObject.spec.ts +0 -0
- package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +0 -0
- package/src/shapes/Object/defaultValues.ts +0 -0
- package/src/shapes/Object/types/BaseProps.ts +0 -0
- package/src/shapes/Object/types/BorderProps.ts +0 -0
- package/src/shapes/Object/types/ControlProps.ts +0 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +0 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +0 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +0 -0
- package/src/shapes/Object/types/ObjectProps.ts +0 -0
- package/src/shapes/Object/types/ObjectTransformProps.ts +0 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +0 -0
- package/src/shapes/Object/types/index.ts +0 -0
- package/src/shapes/Path.spec.ts +0 -0
- package/src/shapes/Path.ts +0 -0
- package/src/shapes/Polygon.spec.ts +0 -0
- package/src/shapes/Polygon.ts +0 -0
- package/src/shapes/Polyline.spec.ts +0 -0
- package/src/shapes/Polyline.ts +70 -29
- 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 +2226 -2226
- package/src/shapes/Text/TextSVGExportMixin.spec.ts +0 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +0 -0
- package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +0 -0
- package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +0 -0
- package/src/shapes/Text/constants.ts +134 -134
- package/src/shapes/Textbox.spec.ts +0 -0
- package/src/shapes/Textbox.ts +788 -788
- package/src/shapes/Triangle.spec.ts +76 -0
- package/src/shapes/Triangle.ts +85 -15
- 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 +475 -475
- package/src/text/overlayEditor.ts +1035 -1035
- 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 +141 -0
- package/src/util/misc/cornerRadius.ts +269 -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-beta2";
|
|
358
358
|
|
|
359
359
|
// use this syntax so babel plugin see this import here
|
|
360
360
|
const VERSION = version;
|
|
@@ -17834,10 +17834,189 @@ _defineProperty(Line, "ATTRIBUTE_NAMES", SHARED_ATTRIBUTES.concat(coordProps));
|
|
|
17834
17834
|
classRegistry.setClass(Line);
|
|
17835
17835
|
classRegistry.setSVGClass(Line);
|
|
17836
17836
|
|
|
17837
|
+
/**
|
|
17838
|
+
* Calculate the distance between two points
|
|
17839
|
+
*/
|
|
17840
|
+
function pointDistance(p1, p2) {
|
|
17841
|
+
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
|
|
17842
|
+
}
|
|
17843
|
+
|
|
17844
|
+
/**
|
|
17845
|
+
* Normalize a vector
|
|
17846
|
+
*/
|
|
17847
|
+
function normalizeVector(vector) {
|
|
17848
|
+
const length = Math.sqrt(vector.x * vector.x + vector.y * vector.y);
|
|
17849
|
+
if (length === 0) return {
|
|
17850
|
+
x: 0,
|
|
17851
|
+
y: 0
|
|
17852
|
+
};
|
|
17853
|
+
return {
|
|
17854
|
+
x: vector.x / length,
|
|
17855
|
+
y: vector.y / length
|
|
17856
|
+
};
|
|
17857
|
+
}
|
|
17858
|
+
|
|
17859
|
+
/**
|
|
17860
|
+
* Get the maximum allowed radius for a corner based on adjacent edge lengths
|
|
17861
|
+
*/
|
|
17862
|
+
function getMaxRadius(prevPoint, currentPoint, nextPoint) {
|
|
17863
|
+
const dist1 = pointDistance(prevPoint, currentPoint);
|
|
17864
|
+
const dist2 = pointDistance(currentPoint, nextPoint);
|
|
17865
|
+
return Math.min(dist1, dist2) / 2;
|
|
17866
|
+
}
|
|
17867
|
+
|
|
17868
|
+
/**
|
|
17869
|
+
* Calculate rounded corner data for a single corner
|
|
17870
|
+
*/
|
|
17871
|
+
function calculateRoundedCorner(prevPoint, currentPoint, nextPoint, radius) {
|
|
17872
|
+
// Calculate edge vectors
|
|
17873
|
+
const edge1 = {
|
|
17874
|
+
x: currentPoint.x - prevPoint.x,
|
|
17875
|
+
y: currentPoint.y - prevPoint.y
|
|
17876
|
+
};
|
|
17877
|
+
const edge2 = {
|
|
17878
|
+
x: nextPoint.x - currentPoint.x,
|
|
17879
|
+
y: nextPoint.y - currentPoint.y
|
|
17880
|
+
};
|
|
17881
|
+
|
|
17882
|
+
// Normalize edge vectors
|
|
17883
|
+
const norm1 = normalizeVector(edge1);
|
|
17884
|
+
const norm2 = normalizeVector(edge2);
|
|
17885
|
+
|
|
17886
|
+
// Calculate the maximum allowed radius
|
|
17887
|
+
const maxRadius = getMaxRadius(prevPoint, currentPoint, nextPoint);
|
|
17888
|
+
const actualRadius = Math.min(radius, maxRadius);
|
|
17889
|
+
|
|
17890
|
+
// Calculate start and end points of the rounded corner
|
|
17891
|
+
const startPoint = {
|
|
17892
|
+
x: currentPoint.x - norm1.x * actualRadius,
|
|
17893
|
+
y: currentPoint.y - norm1.y * actualRadius
|
|
17894
|
+
};
|
|
17895
|
+
const endPoint = {
|
|
17896
|
+
x: currentPoint.x + norm2.x * actualRadius,
|
|
17897
|
+
y: currentPoint.y + norm2.y * actualRadius
|
|
17898
|
+
};
|
|
17899
|
+
|
|
17900
|
+
// Calculate control points for bezier curve
|
|
17901
|
+
// Using the magic number kRect for optimal circular approximation
|
|
17902
|
+
const controlOffset = actualRadius * kRect;
|
|
17903
|
+
const cp1 = {
|
|
17904
|
+
x: startPoint.x + norm1.x * controlOffset,
|
|
17905
|
+
y: startPoint.y + norm1.y * controlOffset
|
|
17906
|
+
};
|
|
17907
|
+
const cp2 = {
|
|
17908
|
+
x: endPoint.x - norm2.x * controlOffset,
|
|
17909
|
+
y: endPoint.y - norm2.y * controlOffset
|
|
17910
|
+
};
|
|
17911
|
+
return {
|
|
17912
|
+
corner: currentPoint,
|
|
17913
|
+
start: startPoint,
|
|
17914
|
+
end: endPoint,
|
|
17915
|
+
cp1,
|
|
17916
|
+
cp2,
|
|
17917
|
+
actualRadius
|
|
17918
|
+
};
|
|
17919
|
+
}
|
|
17920
|
+
|
|
17921
|
+
/**
|
|
17922
|
+
* Apply corner radius to a polygon defined by points
|
|
17923
|
+
*/
|
|
17924
|
+
function applyCornerRadiusToPolygon(points, radius) {
|
|
17925
|
+
let radiusAsPercentage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
17926
|
+
if (points.length < 3) {
|
|
17927
|
+
throw new Error('Polygon must have at least 3 points');
|
|
17928
|
+
}
|
|
17929
|
+
|
|
17930
|
+
// Calculate bounding box if radius is percentage-based
|
|
17931
|
+
let actualRadius = radius;
|
|
17932
|
+
if (radiusAsPercentage) {
|
|
17933
|
+
const minX = Math.min(...points.map(p => p.x));
|
|
17934
|
+
const maxX = Math.max(...points.map(p => p.x));
|
|
17935
|
+
const minY = Math.min(...points.map(p => p.y));
|
|
17936
|
+
const maxY = Math.max(...points.map(p => p.y));
|
|
17937
|
+
const width = maxX - minX;
|
|
17938
|
+
const height = maxY - minY;
|
|
17939
|
+
const minDimension = Math.min(width, height);
|
|
17940
|
+
actualRadius = radius / 100 * minDimension;
|
|
17941
|
+
}
|
|
17942
|
+
const roundedCorners = [];
|
|
17943
|
+
for (let i = 0; i < points.length; i++) {
|
|
17944
|
+
const prevIndex = (i - 1 + points.length) % points.length;
|
|
17945
|
+
const nextIndex = (i + 1) % points.length;
|
|
17946
|
+
const prevPoint = points[prevIndex];
|
|
17947
|
+
const currentPoint = points[i];
|
|
17948
|
+
const nextPoint = points[nextIndex];
|
|
17949
|
+
const roundedCorner = calculateRoundedCorner(prevPoint, currentPoint, nextPoint, actualRadius);
|
|
17950
|
+
roundedCorners.push(roundedCorner);
|
|
17951
|
+
}
|
|
17952
|
+
return roundedCorners;
|
|
17953
|
+
}
|
|
17954
|
+
|
|
17955
|
+
/**
|
|
17956
|
+
* Render a rounded polygon to a canvas context
|
|
17957
|
+
*/
|
|
17958
|
+
function renderRoundedPolygon(ctx, roundedCorners) {
|
|
17959
|
+
let closed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
17960
|
+
if (roundedCorners.length === 0) return;
|
|
17961
|
+
ctx.beginPath();
|
|
17962
|
+
|
|
17963
|
+
// Start at the first corner's start point
|
|
17964
|
+
const firstCorner = roundedCorners[0];
|
|
17965
|
+
ctx.moveTo(firstCorner.start.x, firstCorner.start.y);
|
|
17966
|
+
for (let i = 0; i < roundedCorners.length; i++) {
|
|
17967
|
+
const corner = roundedCorners[i];
|
|
17968
|
+
const nextIndex = (i + 1) % roundedCorners.length;
|
|
17969
|
+
const nextCorner = roundedCorners[nextIndex];
|
|
17970
|
+
|
|
17971
|
+
// Draw the rounded corner using bezier curve
|
|
17972
|
+
ctx.bezierCurveTo(corner.cp1.x, corner.cp1.y, corner.cp2.x, corner.cp2.y, corner.end.x, corner.end.y);
|
|
17973
|
+
|
|
17974
|
+
// Draw line to next corner's start point (if not the last segment in open path)
|
|
17975
|
+
if (i < roundedCorners.length - 1 || closed) {
|
|
17976
|
+
ctx.lineTo(nextCorner.start.x, nextCorner.start.y);
|
|
17977
|
+
}
|
|
17978
|
+
}
|
|
17979
|
+
if (closed) {
|
|
17980
|
+
ctx.closePath();
|
|
17981
|
+
}
|
|
17982
|
+
}
|
|
17983
|
+
|
|
17984
|
+
/**
|
|
17985
|
+
* Generate SVG path data for a rounded polygon
|
|
17986
|
+
*/
|
|
17987
|
+
function generateRoundedPolygonPath(roundedCorners) {
|
|
17988
|
+
let closed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
17989
|
+
if (roundedCorners.length === 0) return '';
|
|
17990
|
+
const pathData = [];
|
|
17991
|
+
const firstCorner = roundedCorners[0];
|
|
17992
|
+
|
|
17993
|
+
// Move to first corner's start point
|
|
17994
|
+
pathData.push(`M ${firstCorner.start.x} ${firstCorner.start.y}`);
|
|
17995
|
+
for (let i = 0; i < roundedCorners.length; i++) {
|
|
17996
|
+
const corner = roundedCorners[i];
|
|
17997
|
+
const nextIndex = (i + 1) % roundedCorners.length;
|
|
17998
|
+
const nextCorner = roundedCorners[nextIndex];
|
|
17999
|
+
|
|
18000
|
+
// Add bezier curve for the rounded corner
|
|
18001
|
+
pathData.push(`C ${corner.cp1.x} ${corner.cp1.y} ${corner.cp2.x} ${corner.cp2.y} ${corner.end.x} ${corner.end.y}`);
|
|
18002
|
+
|
|
18003
|
+
// Add line to next corner's start point (if not the last segment in open path)
|
|
18004
|
+
if (i < roundedCorners.length - 1 || closed) {
|
|
18005
|
+
pathData.push(`L ${nextCorner.start.x} ${nextCorner.start.y}`);
|
|
18006
|
+
}
|
|
18007
|
+
}
|
|
18008
|
+
if (closed) {
|
|
18009
|
+
pathData.push('Z');
|
|
18010
|
+
}
|
|
18011
|
+
return pathData.join(' ');
|
|
18012
|
+
}
|
|
18013
|
+
|
|
17837
18014
|
const triangleDefaultValues = {
|
|
17838
18015
|
width: 100,
|
|
17839
|
-
height: 100
|
|
18016
|
+
height: 100,
|
|
18017
|
+
cornerRadius: 0
|
|
17840
18018
|
};
|
|
18019
|
+
const TRIANGLE_PROPS = ['cornerRadius'];
|
|
17841
18020
|
class Triangle extends FabricObject {
|
|
17842
18021
|
static getDefaults() {
|
|
17843
18022
|
return {
|
|
@@ -17856,34 +18035,90 @@ class Triangle extends FabricObject {
|
|
|
17856
18035
|
this.setOptions(options);
|
|
17857
18036
|
}
|
|
17858
18037
|
|
|
18038
|
+
/**
|
|
18039
|
+
* Get triangle points as an array of XY coordinates
|
|
18040
|
+
* @private
|
|
18041
|
+
*/
|
|
18042
|
+
_getTrianglePoints() {
|
|
18043
|
+
const widthBy2 = this.width / 2;
|
|
18044
|
+
const heightBy2 = this.height / 2;
|
|
18045
|
+
return [{
|
|
18046
|
+
x: -widthBy2,
|
|
18047
|
+
y: heightBy2
|
|
18048
|
+
},
|
|
18049
|
+
// bottom left
|
|
18050
|
+
{
|
|
18051
|
+
x: 0,
|
|
18052
|
+
y: -heightBy2
|
|
18053
|
+
},
|
|
18054
|
+
// top center
|
|
18055
|
+
{
|
|
18056
|
+
x: widthBy2,
|
|
18057
|
+
y: heightBy2
|
|
18058
|
+
} // bottom right
|
|
18059
|
+
];
|
|
18060
|
+
}
|
|
18061
|
+
|
|
17859
18062
|
/**
|
|
17860
18063
|
* @private
|
|
17861
18064
|
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
17862
18065
|
*/
|
|
17863
18066
|
_render(ctx) {
|
|
17864
|
-
|
|
17865
|
-
|
|
17866
|
-
|
|
17867
|
-
|
|
17868
|
-
|
|
17869
|
-
|
|
17870
|
-
|
|
18067
|
+
if (this.cornerRadius > 0) {
|
|
18068
|
+
// Render rounded triangle
|
|
18069
|
+
const points = this._getTrianglePoints();
|
|
18070
|
+
const roundedCorners = applyCornerRadiusToPolygon(points, this.cornerRadius);
|
|
18071
|
+
renderRoundedPolygon(ctx, roundedCorners, true);
|
|
18072
|
+
} else {
|
|
18073
|
+
// Render sharp triangle (original implementation)
|
|
18074
|
+
const widthBy2 = this.width / 2;
|
|
18075
|
+
const heightBy2 = this.height / 2;
|
|
18076
|
+
ctx.beginPath();
|
|
18077
|
+
ctx.moveTo(-widthBy2, heightBy2);
|
|
18078
|
+
ctx.lineTo(0, -heightBy2);
|
|
18079
|
+
ctx.lineTo(widthBy2, heightBy2);
|
|
18080
|
+
ctx.closePath();
|
|
18081
|
+
}
|
|
17871
18082
|
this._renderPaintInOrder(ctx);
|
|
17872
18083
|
}
|
|
17873
18084
|
|
|
18085
|
+
/**
|
|
18086
|
+
* Returns object representation of an instance
|
|
18087
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
18088
|
+
* @return {Object} object representation of an instance
|
|
18089
|
+
*/
|
|
18090
|
+
toObject() {
|
|
18091
|
+
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
18092
|
+
return super.toObject([...TRIANGLE_PROPS, ...propertiesToInclude]);
|
|
18093
|
+
}
|
|
18094
|
+
|
|
17874
18095
|
/**
|
|
17875
18096
|
* Returns svg representation of an instance
|
|
17876
18097
|
* @return {Array} an array of strings with the specific svg representation
|
|
17877
18098
|
* of the instance
|
|
17878
18099
|
*/
|
|
17879
18100
|
_toSVG() {
|
|
17880
|
-
|
|
17881
|
-
|
|
17882
|
-
points =
|
|
17883
|
-
|
|
18101
|
+
if (this.cornerRadius > 0) {
|
|
18102
|
+
// Generate rounded triangle as path
|
|
18103
|
+
const points = this._getTrianglePoints();
|
|
18104
|
+
const roundedCorners = applyCornerRadiusToPolygon(points, this.cornerRadius);
|
|
18105
|
+
const pathData = generateRoundedPolygonPath(roundedCorners, true);
|
|
18106
|
+
return ['<path ', 'COMMON_PARTS', `d="${pathData}" />`];
|
|
18107
|
+
} else {
|
|
18108
|
+
// Original sharp triangle implementation
|
|
18109
|
+
const widthBy2 = this.width / 2;
|
|
18110
|
+
const heightBy2 = this.height / 2;
|
|
18111
|
+
const points = `${-widthBy2} ${heightBy2},0 ${-heightBy2},${widthBy2} ${heightBy2}`;
|
|
18112
|
+
return ['<polygon ', 'COMMON_PARTS', 'points="', points, '" />'];
|
|
18113
|
+
}
|
|
17884
18114
|
}
|
|
17885
18115
|
}
|
|
18116
|
+
/**
|
|
18117
|
+
* Corner radius for rounded triangle corners
|
|
18118
|
+
* @type Number
|
|
18119
|
+
*/
|
|
17886
18120
|
_defineProperty(Triangle, "type", 'Triangle');
|
|
18121
|
+
_defineProperty(Triangle, "cacheProperties", [...cacheProperties, ...TRIANGLE_PROPS]);
|
|
17887
18122
|
_defineProperty(Triangle, "ownDefaults", triangleDefaultValues);
|
|
17888
18123
|
classRegistry.setClass(Triangle);
|
|
17889
18124
|
classRegistry.setSVGClass(Triangle);
|
|
@@ -18048,7 +18283,8 @@ const polylineDefaultValues = {
|
|
|
18048
18283
|
/**
|
|
18049
18284
|
* @deprecated transient option soon to be removed in favor of a different design
|
|
18050
18285
|
*/
|
|
18051
|
-
exactBoundingBox: false
|
|
18286
|
+
exactBoundingBox: false,
|
|
18287
|
+
cornerRadius: 0
|
|
18052
18288
|
};
|
|
18053
18289
|
class Polyline extends FabricObject {
|
|
18054
18290
|
static getDefaults() {
|
|
@@ -18262,7 +18498,7 @@ class Polyline extends FabricObject {
|
|
|
18262
18498
|
toObject() {
|
|
18263
18499
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
18264
18500
|
return {
|
|
18265
|
-
...super.toObject(propertiesToInclude),
|
|
18501
|
+
...super.toObject(['cornerRadius', ...propertiesToInclude]),
|
|
18266
18502
|
points: this.points.map(_ref => {
|
|
18267
18503
|
let {
|
|
18268
18504
|
x,
|
|
@@ -18282,14 +18518,28 @@ class Polyline extends FabricObject {
|
|
|
18282
18518
|
* of the instance
|
|
18283
18519
|
*/
|
|
18284
18520
|
_toSVG() {
|
|
18285
|
-
|
|
18286
|
-
|
|
18287
|
-
|
|
18288
|
-
|
|
18289
|
-
|
|
18290
|
-
|
|
18521
|
+
if (this.cornerRadius > 0 && this.points.length >= 3) {
|
|
18522
|
+
// Generate rounded polygon/polyline as path
|
|
18523
|
+
const diffX = this.pathOffset.x;
|
|
18524
|
+
const diffY = this.pathOffset.y;
|
|
18525
|
+
const adjustedPoints = this.points.map(point => ({
|
|
18526
|
+
x: point.x - diffX,
|
|
18527
|
+
y: point.y - diffY
|
|
18528
|
+
}));
|
|
18529
|
+
const roundedCorners = applyCornerRadiusToPolygon(adjustedPoints, this.cornerRadius);
|
|
18530
|
+
const pathData = generateRoundedPolygonPath(roundedCorners, !this.isOpen());
|
|
18531
|
+
return ['<path ', 'COMMON_PARTS', `d="${pathData}" />\n`];
|
|
18532
|
+
} else {
|
|
18533
|
+
// Original sharp corners implementation
|
|
18534
|
+
const points = [];
|
|
18535
|
+
const diffX = this.pathOffset.x;
|
|
18536
|
+
const diffY = this.pathOffset.y;
|
|
18537
|
+
const NUM_FRACTION_DIGITS = config.NUM_FRACTION_DIGITS;
|
|
18538
|
+
for (let i = 0, len = this.points.length; i < len; i++) {
|
|
18539
|
+
points.push(toFixed(this.points[i].x - diffX, NUM_FRACTION_DIGITS), ',', toFixed(this.points[i].y - diffY, NUM_FRACTION_DIGITS), ' ');
|
|
18540
|
+
}
|
|
18541
|
+
return [`<${this.constructor.type.toLowerCase()} `, 'COMMON_PARTS', `points="${points.join('')}" />\n`];
|
|
18291
18542
|
}
|
|
18292
|
-
return [`<${this.constructor.type.toLowerCase()} `, 'COMMON_PARTS', `points="${points.join('')}" />\n`];
|
|
18293
18543
|
}
|
|
18294
18544
|
|
|
18295
18545
|
/**
|
|
@@ -18305,13 +18555,24 @@ class Polyline extends FabricObject {
|
|
|
18305
18555
|
// NaN comes from parseFloat of a empty string in parser
|
|
18306
18556
|
return;
|
|
18307
18557
|
}
|
|
18308
|
-
|
|
18309
|
-
|
|
18310
|
-
|
|
18311
|
-
|
|
18312
|
-
|
|
18558
|
+
if (this.cornerRadius > 0 && len >= 3) {
|
|
18559
|
+
// Render with rounded corners
|
|
18560
|
+
const adjustedPoints = this.points.map(point => ({
|
|
18561
|
+
x: point.x - x,
|
|
18562
|
+
y: point.y - y
|
|
18563
|
+
}));
|
|
18564
|
+
const roundedCorners = applyCornerRadiusToPolygon(adjustedPoints, this.cornerRadius);
|
|
18565
|
+
renderRoundedPolygon(ctx, roundedCorners, !this.isOpen());
|
|
18566
|
+
} else {
|
|
18567
|
+
// Original sharp corners implementation
|
|
18568
|
+
ctx.beginPath();
|
|
18569
|
+
ctx.moveTo(this.points[0].x - x, this.points[0].y - y);
|
|
18570
|
+
for (let i = 0; i < len; i++) {
|
|
18571
|
+
const point = this.points[i];
|
|
18572
|
+
ctx.lineTo(point.x - x, point.y - y);
|
|
18573
|
+
}
|
|
18574
|
+
!this.isOpen() && ctx.closePath();
|
|
18313
18575
|
}
|
|
18314
|
-
!this.isOpen() && ctx.closePath();
|
|
18315
18576
|
this._renderPaintInOrder(ctx);
|
|
18316
18577
|
}
|
|
18317
18578
|
|
|
@@ -18376,10 +18637,15 @@ class Polyline extends FabricObject {
|
|
|
18376
18637
|
* @type Boolean
|
|
18377
18638
|
* @default false
|
|
18378
18639
|
*/
|
|
18640
|
+
/**
|
|
18641
|
+
* Corner radius for rounded corners
|
|
18642
|
+
* @type Number
|
|
18643
|
+
* @default 0
|
|
18644
|
+
*/
|
|
18379
18645
|
_defineProperty(Polyline, "ownDefaults", polylineDefaultValues);
|
|
18380
18646
|
_defineProperty(Polyline, "type", 'Polyline');
|
|
18381
18647
|
_defineProperty(Polyline, "layoutProperties", [SKEW_X, SKEW_Y, 'strokeLineCap', 'strokeLineJoin', 'strokeMiterLimit', 'strokeWidth', 'strokeUniform', 'points']);
|
|
18382
|
-
_defineProperty(Polyline, "cacheProperties", [...cacheProperties, 'points']);
|
|
18648
|
+
_defineProperty(Polyline, "cacheProperties", [...cacheProperties, 'points', 'cornerRadius']);
|
|
18383
18649
|
_defineProperty(Polyline, "ATTRIBUTE_NAMES", [...SHARED_ATTRIBUTES]);
|
|
18384
18650
|
classRegistry.setClass(Polyline);
|
|
18385
18651
|
classRegistry.setSVGClass(Polyline);
|
|
@@ -18673,8 +18939,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
|
|
|
18673
18939
|
// Global measurement context - reused for performance
|
|
18674
18940
|
let measurementContext = null;
|
|
18675
18941
|
|
|
18676
|
-
/**
|
|
18677
|
-
* Get or create the shared measurement context
|
|
18942
|
+
/**
|
|
18943
|
+
* Get or create the shared measurement context
|
|
18678
18944
|
*/
|
|
18679
18945
|
function getMeasurementContext() {
|
|
18680
18946
|
if (!measurementContext) {
|
|
@@ -18687,8 +18953,8 @@ function getMeasurementContext() {
|
|
|
18687
18953
|
return measurementContext;
|
|
18688
18954
|
}
|
|
18689
18955
|
|
|
18690
|
-
/**
|
|
18691
|
-
* Measure a single grapheme
|
|
18956
|
+
/**
|
|
18957
|
+
* Measure a single grapheme
|
|
18692
18958
|
*/
|
|
18693
18959
|
function measureGrapheme(grapheme, options, ctx) {
|
|
18694
18960
|
// Check cache first
|
|
@@ -18721,8 +18987,8 @@ function measureGrapheme(grapheme, options, ctx) {
|
|
|
18721
18987
|
return measurement;
|
|
18722
18988
|
}
|
|
18723
18989
|
|
|
18724
|
-
/**
|
|
18725
|
-
* Measure a grapheme with kerning relative to previous character
|
|
18990
|
+
/**
|
|
18991
|
+
* Measure a grapheme with kerning relative to previous character
|
|
18726
18992
|
*/
|
|
18727
18993
|
function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
18728
18994
|
// Get individual measurement
|
|
@@ -18763,8 +19029,8 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
|
18763
19029
|
};
|
|
18764
19030
|
}
|
|
18765
19031
|
|
|
18766
|
-
/**
|
|
18767
|
-
* Get font metrics for layout calculations
|
|
19032
|
+
/**
|
|
19033
|
+
* Get font metrics for layout calculations
|
|
18768
19034
|
*/
|
|
18769
19035
|
function getFontMetrics(options) {
|
|
18770
19036
|
var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
|
|
@@ -18799,8 +19065,8 @@ function getFontMetrics(options) {
|
|
|
18799
19065
|
return result;
|
|
18800
19066
|
}
|
|
18801
19067
|
|
|
18802
|
-
/**
|
|
18803
|
-
* Apply font styling to canvas context
|
|
19068
|
+
/**
|
|
19069
|
+
* Apply font styling to canvas context
|
|
18804
19070
|
*/
|
|
18805
19071
|
function applyFontStyle(ctx, options) {
|
|
18806
19072
|
const fontDeclaration = getFontDeclaration(options);
|
|
@@ -18817,8 +19083,8 @@ function applyFontStyle(ctx, options) {
|
|
|
18817
19083
|
ctx.textBaseline = 'alphabetic';
|
|
18818
19084
|
}
|
|
18819
19085
|
|
|
18820
|
-
/**
|
|
18821
|
-
* Generate font declaration string
|
|
19086
|
+
/**
|
|
19087
|
+
* Generate font declaration string
|
|
18822
19088
|
*/
|
|
18823
19089
|
function getFontDeclaration(options) {
|
|
18824
19090
|
const {
|
|
@@ -18833,8 +19099,8 @@ function getFontDeclaration(options) {
|
|
|
18833
19099
|
return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
|
|
18834
19100
|
}
|
|
18835
19101
|
|
|
18836
|
-
/**
|
|
18837
|
-
* LRU Cache implementation for measurements
|
|
19102
|
+
/**
|
|
19103
|
+
* LRU Cache implementation for measurements
|
|
18838
19104
|
*/
|
|
18839
19105
|
class LRUCache {
|
|
18840
19106
|
constructor() {
|
|
@@ -18896,8 +19162,8 @@ class LRUCache {
|
|
|
18896
19162
|
}
|
|
18897
19163
|
}
|
|
18898
19164
|
|
|
18899
|
-
/**
|
|
18900
|
-
* Advanced measurement cache with font-aware keys
|
|
19165
|
+
/**
|
|
19166
|
+
* Advanced measurement cache with font-aware keys
|
|
18901
19167
|
*/
|
|
18902
19168
|
class MeasurementCache {
|
|
18903
19169
|
constructor() {
|
|
@@ -18924,8 +19190,8 @@ class MeasurementCache {
|
|
|
18924
19190
|
}
|
|
18925
19191
|
}
|
|
18926
19192
|
|
|
18927
|
-
/**
|
|
18928
|
-
* Kerning cache for character pairs
|
|
19193
|
+
/**
|
|
19194
|
+
* Kerning cache for character pairs
|
|
18929
19195
|
*/
|
|
18930
19196
|
class KerningCache {
|
|
18931
19197
|
constructor() {
|
|
@@ -18953,8 +19219,8 @@ class KerningCache {
|
|
|
18953
19219
|
}
|
|
18954
19220
|
}
|
|
18955
19221
|
|
|
18956
|
-
/**
|
|
18957
|
-
* Font metrics cache
|
|
19222
|
+
/**
|
|
19223
|
+
* Font metrics cache
|
|
18958
19224
|
*/
|
|
18959
19225
|
class FontMetricsCache {
|
|
18960
19226
|
constructor() {
|
|
@@ -18981,17 +19247,17 @@ const measurementCache = new MeasurementCache();
|
|
|
18981
19247
|
const kerningCache = new KerningCache();
|
|
18982
19248
|
const fontMetricsCache = new FontMetricsCache();
|
|
18983
19249
|
|
|
18984
|
-
/**
|
|
18985
|
-
* Unicode and Internationalization Support
|
|
18986
|
-
*
|
|
18987
|
-
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
18988
|
-
* and grapheme cluster boundary detection.
|
|
19250
|
+
/**
|
|
19251
|
+
* Unicode and Internationalization Support
|
|
19252
|
+
*
|
|
19253
|
+
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
19254
|
+
* and grapheme cluster boundary detection.
|
|
18989
19255
|
*/
|
|
18990
19256
|
|
|
18991
19257
|
|
|
18992
|
-
/**
|
|
18993
|
-
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
18994
|
-
* with fallback to existing graphemeSplit implementation
|
|
19258
|
+
/**
|
|
19259
|
+
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19260
|
+
* with fallback to existing graphemeSplit implementation
|
|
18995
19261
|
*/
|
|
18996
19262
|
function segmentGraphemes(text) {
|
|
18997
19263
|
// Use native Intl.Segmenter if available
|
|
@@ -19011,15 +19277,15 @@ function segmentGraphemes(text) {
|
|
|
19011
19277
|
return graphemeSplit(text);
|
|
19012
19278
|
}
|
|
19013
19279
|
|
|
19014
|
-
/**
|
|
19015
|
-
* Ellipsis Text Truncation System
|
|
19016
|
-
*
|
|
19017
|
-
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19018
|
-
* using binary search for optimal truncation points.
|
|
19280
|
+
/**
|
|
19281
|
+
* Ellipsis Text Truncation System
|
|
19282
|
+
*
|
|
19283
|
+
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19284
|
+
* using binary search for optimal truncation points.
|
|
19019
19285
|
*/
|
|
19020
19286
|
|
|
19021
|
-
/**
|
|
19022
|
-
* Apply ellipsis truncation to text based on width/height constraints
|
|
19287
|
+
/**
|
|
19288
|
+
* Apply ellipsis truncation to text based on width/height constraints
|
|
19023
19289
|
*/
|
|
19024
19290
|
function applyEllipsis(text, options) {
|
|
19025
19291
|
const {
|
|
@@ -19089,8 +19355,8 @@ function applyEllipsis(text, options) {
|
|
|
19089
19355
|
};
|
|
19090
19356
|
}
|
|
19091
19357
|
|
|
19092
|
-
/**
|
|
19093
|
-
* Truncate text based on width constraint using binary search
|
|
19358
|
+
/**
|
|
19359
|
+
* Truncate text based on width constraint using binary search
|
|
19094
19360
|
*/
|
|
19095
19361
|
function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
|
|
19096
19362
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19140,8 +19406,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
|
|
|
19140
19406
|
};
|
|
19141
19407
|
}
|
|
19142
19408
|
|
|
19143
|
-
/**
|
|
19144
|
-
* Truncate text based on height constraint
|
|
19409
|
+
/**
|
|
19410
|
+
* Truncate text based on height constraint
|
|
19145
19411
|
*/
|
|
19146
19412
|
function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
19147
19413
|
var _measureFn;
|
|
@@ -19189,19 +19455,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
|
19189
19455
|
return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
|
|
19190
19456
|
}
|
|
19191
19457
|
|
|
19192
|
-
/**
|
|
19193
|
-
* Core Text Layout Engine
|
|
19194
|
-
*
|
|
19195
|
-
* Implements Konva-compatible text layout with support for:
|
|
19196
|
-
* - Multiple wrap modes (word/char/none)
|
|
19197
|
-
* - Ellipsis truncation
|
|
19198
|
-
* - Justify alignment with proper space distribution
|
|
19199
|
-
* - RTL/LTR text direction
|
|
19200
|
-
* - Advanced grapheme handling
|
|
19458
|
+
/**
|
|
19459
|
+
* Core Text Layout Engine
|
|
19460
|
+
*
|
|
19461
|
+
* Implements Konva-compatible text layout with support for:
|
|
19462
|
+
* - Multiple wrap modes (word/char/none)
|
|
19463
|
+
* - Ellipsis truncation
|
|
19464
|
+
* - Justify alignment with proper space distribution
|
|
19465
|
+
* - RTL/LTR text direction
|
|
19466
|
+
* - Advanced grapheme handling
|
|
19201
19467
|
*/
|
|
19202
19468
|
|
|
19203
|
-
/**
|
|
19204
|
-
* Main text layout function - converts text and options into positioned layout
|
|
19469
|
+
/**
|
|
19470
|
+
* Main text layout function - converts text and options into positioned layout
|
|
19205
19471
|
*/
|
|
19206
19472
|
function layoutText(options) {
|
|
19207
19473
|
var _ellipsisResult;
|
|
@@ -19320,8 +19586,8 @@ function layoutText(options) {
|
|
|
19320
19586
|
};
|
|
19321
19587
|
}
|
|
19322
19588
|
|
|
19323
|
-
/**
|
|
19324
|
-
* Layout a single paragraph with wrapping
|
|
19589
|
+
/**
|
|
19590
|
+
* Layout a single paragraph with wrapping
|
|
19325
19591
|
*/
|
|
19326
19592
|
function layoutParagraph(text, options) {
|
|
19327
19593
|
const {
|
|
@@ -19356,8 +19622,8 @@ function layoutParagraph(text, options) {
|
|
|
19356
19622
|
return layoutLines;
|
|
19357
19623
|
}
|
|
19358
19624
|
|
|
19359
|
-
/**
|
|
19360
|
-
* Layout a single line of text (no wrapping)
|
|
19625
|
+
/**
|
|
19626
|
+
* Layout a single line of text (no wrapping)
|
|
19361
19627
|
*/
|
|
19362
19628
|
function layoutSingleLine(text, options) {
|
|
19363
19629
|
let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -19427,8 +19693,8 @@ function layoutSingleLine(text, options) {
|
|
|
19427
19693
|
};
|
|
19428
19694
|
}
|
|
19429
19695
|
|
|
19430
|
-
/**
|
|
19431
|
-
* Word-based wrapping algorithm
|
|
19696
|
+
/**
|
|
19697
|
+
* Word-based wrapping algorithm
|
|
19432
19698
|
*/
|
|
19433
19699
|
function wrapByWords(text, maxWidth, options) {
|
|
19434
19700
|
const lines = [];
|
|
@@ -19461,8 +19727,8 @@ function wrapByWords(text, maxWidth, options) {
|
|
|
19461
19727
|
return lines.length > 0 ? lines : [''];
|
|
19462
19728
|
}
|
|
19463
19729
|
|
|
19464
|
-
/**
|
|
19465
|
-
* Character-based wrapping algorithm
|
|
19730
|
+
/**
|
|
19731
|
+
* Character-based wrapping algorithm
|
|
19466
19732
|
*/
|
|
19467
19733
|
function wrapByCharacters(text, maxWidth, options) {
|
|
19468
19734
|
const lines = [];
|
|
@@ -19484,8 +19750,8 @@ function wrapByCharacters(text, maxWidth, options) {
|
|
|
19484
19750
|
return lines.length > 0 ? lines : [''];
|
|
19485
19751
|
}
|
|
19486
19752
|
|
|
19487
|
-
/**
|
|
19488
|
-
* Apply text alignment to lines
|
|
19753
|
+
/**
|
|
19754
|
+
* Apply text alignment to lines
|
|
19489
19755
|
*/
|
|
19490
19756
|
function applyAlignment(lines, align, containerWidth, options) {
|
|
19491
19757
|
return lines.map(line => {
|
|
@@ -19519,8 +19785,8 @@ function applyAlignment(lines, align, containerWidth, options) {
|
|
|
19519
19785
|
});
|
|
19520
19786
|
}
|
|
19521
19787
|
|
|
19522
|
-
/**
|
|
19523
|
-
* Apply justify alignment by expanding spaces
|
|
19788
|
+
/**
|
|
19789
|
+
* Apply justify alignment by expanding spaces
|
|
19524
19790
|
*/
|
|
19525
19791
|
function applyJustification(line, containerWidth, options) {
|
|
19526
19792
|
const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
|
|
@@ -19543,8 +19809,8 @@ function applyJustification(line, containerWidth, options) {
|
|
|
19543
19809
|
return line;
|
|
19544
19810
|
}
|
|
19545
19811
|
|
|
19546
|
-
/**
|
|
19547
|
-
* Calculate vertical alignment offset
|
|
19812
|
+
/**
|
|
19813
|
+
* Calculate vertical alignment offset
|
|
19548
19814
|
*/
|
|
19549
19815
|
function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
19550
19816
|
switch (align) {
|
|
@@ -19558,8 +19824,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
|
19558
19824
|
}
|
|
19559
19825
|
}
|
|
19560
19826
|
|
|
19561
|
-
/**
|
|
19562
|
-
* Handle height overflow with ellipsis
|
|
19827
|
+
/**
|
|
19828
|
+
* Handle height overflow with ellipsis
|
|
19563
19829
|
*/
|
|
19564
19830
|
function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
|
|
19565
19831
|
// If ellipsis is enabled, try to fit part of the overflow line
|
|
@@ -19588,8 +19854,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
|
|
|
19588
19854
|
};
|
|
19589
19855
|
}
|
|
19590
19856
|
|
|
19591
|
-
/**
|
|
19592
|
-
* Create empty line for empty paragraphs
|
|
19857
|
+
/**
|
|
19858
|
+
* Create empty line for empty paragraphs
|
|
19593
19859
|
*/
|
|
19594
19860
|
function createEmptyLine(options) {
|
|
19595
19861
|
const height = options.fontSize * options.lineHeight;
|
|
@@ -19605,8 +19871,8 @@ function createEmptyLine(options) {
|
|
|
19605
19871
|
};
|
|
19606
19872
|
}
|
|
19607
19873
|
|
|
19608
|
-
/**
|
|
19609
|
-
* Measure width of a line of text
|
|
19874
|
+
/**
|
|
19875
|
+
* Measure width of a line of text
|
|
19610
19876
|
*/
|
|
19611
19877
|
function measureLineWidth(text, options) {
|
|
19612
19878
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19623,8 +19889,8 @@ function measureLineWidth(text, options) {
|
|
|
19623
19889
|
return width;
|
|
19624
19890
|
}
|
|
19625
19891
|
|
|
19626
|
-
/**
|
|
19627
|
-
* Convert layout options to measurement options
|
|
19892
|
+
/**
|
|
19893
|
+
* Convert layout options to measurement options
|
|
19628
19894
|
*/
|
|
19629
19895
|
function createMeasurementOptions(options) {
|
|
19630
19896
|
return {
|
|
@@ -19867,15 +20133,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
|
|
|
19867
20133
|
}
|
|
19868
20134
|
}
|
|
19869
20135
|
|
|
19870
|
-
/**
|
|
19871
|
-
* Browser Line Break Extraction
|
|
19872
|
-
*
|
|
19873
|
-
* Captures exact line breaks as rendered by the browser to ensure
|
|
19874
|
-
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
20136
|
+
/**
|
|
20137
|
+
* Browser Line Break Extraction
|
|
20138
|
+
*
|
|
20139
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
20140
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
19875
20141
|
*/
|
|
19876
20142
|
|
|
19877
|
-
/**
|
|
19878
|
-
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
20143
|
+
/**
|
|
20144
|
+
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
19879
20145
|
*/
|
|
19880
20146
|
function segmentIntoGraphemes(text) {
|
|
19881
20147
|
if (typeof Intl !== 'undefined' && Intl.Segmenter) {
|
|
@@ -19889,9 +20155,9 @@ function segmentIntoGraphemes(text) {
|
|
|
19889
20155
|
return Array.from(text);
|
|
19890
20156
|
}
|
|
19891
20157
|
|
|
19892
|
-
/**
|
|
19893
|
-
* Extract line break information from a textarea by creating a mirror element
|
|
19894
|
-
* with identical computed styles and measuring grapheme positions.
|
|
20158
|
+
/**
|
|
20159
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
20160
|
+
* with identical computed styles and measuring grapheme positions.
|
|
19895
20161
|
*/
|
|
19896
20162
|
function extractLinesFromDOM(textarea) {
|
|
19897
20163
|
const text = textarea.value;
|
|
@@ -19986,16 +20252,16 @@ function extractLinesFromDOM(textarea) {
|
|
|
19986
20252
|
}
|
|
19987
20253
|
}
|
|
19988
20254
|
|
|
19989
|
-
/**
|
|
19990
|
-
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
20255
|
+
/**
|
|
20256
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
19991
20257
|
*/
|
|
19992
20258
|
function createLayoutHash(target) {
|
|
19993
20259
|
const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
|
|
19994
20260
|
return properties.map(p => String(p)).join('|');
|
|
19995
20261
|
}
|
|
19996
20262
|
|
|
19997
|
-
/**
|
|
19998
|
-
* Check if stored browser lines are still valid for the current target state
|
|
20263
|
+
/**
|
|
20264
|
+
* Check if stored browser lines are still valid for the current target state
|
|
19999
20265
|
*/
|
|
20000
20266
|
function areBrowserLinesValid(target, storedHash) {
|
|
20001
20267
|
if (!storedHash || !target.__lastBrowserLines) {
|
|
@@ -20005,24 +20271,24 @@ function areBrowserLinesValid(target, storedHash) {
|
|
|
20005
20271
|
return currentHash === storedHash;
|
|
20006
20272
|
}
|
|
20007
20273
|
|
|
20008
|
-
/**
|
|
20009
|
-
* Store browser lines on a target object with validity hash
|
|
20274
|
+
/**
|
|
20275
|
+
* Store browser lines on a target object with validity hash
|
|
20010
20276
|
*/
|
|
20011
20277
|
function storeBrowserLines(target, lines, layoutHash) {
|
|
20012
20278
|
target.__lastBrowserLines = lines;
|
|
20013
20279
|
target.__lastBrowserLinesHash = createLayoutHash(target);
|
|
20014
20280
|
}
|
|
20015
20281
|
|
|
20016
|
-
/**
|
|
20017
|
-
* Clear stored browser lines from a target object
|
|
20282
|
+
/**
|
|
20283
|
+
* Clear stored browser lines from a target object
|
|
20018
20284
|
*/
|
|
20019
20285
|
function clearBrowserLines(target) {
|
|
20020
20286
|
delete target.__lastBrowserLines;
|
|
20021
20287
|
delete target.__lastBrowserLinesHash;
|
|
20022
20288
|
}
|
|
20023
20289
|
|
|
20024
|
-
/**
|
|
20025
|
-
* Get stored browser lines if they're still valid
|
|
20290
|
+
/**
|
|
20291
|
+
* Get stored browser lines if they're still valid
|
|
20026
20292
|
*/
|
|
20027
20293
|
function getBrowserLines(target) {
|
|
20028
20294
|
const lines = target.__lastBrowserLines;
|
|
@@ -20035,9 +20301,9 @@ function getBrowserLines(target) {
|
|
|
20035
20301
|
|
|
20036
20302
|
let measuringContext;
|
|
20037
20303
|
|
|
20038
|
-
/**
|
|
20039
|
-
* Return a context for measurement of text string.
|
|
20040
|
-
* if created it gets stored for reuse
|
|
20304
|
+
/**
|
|
20305
|
+
* Return a context for measurement of text string.
|
|
20306
|
+
* if created it gets stored for reuse
|
|
20041
20307
|
*/
|
|
20042
20308
|
function getMeasuringContext() {
|
|
20043
20309
|
if (!measuringContext) {
|
|
@@ -20050,17 +20316,17 @@ function getMeasuringContext() {
|
|
|
20050
20316
|
return measuringContext;
|
|
20051
20317
|
}
|
|
20052
20318
|
|
|
20053
|
-
/**
|
|
20054
|
-
* Measure and return the info of a single grapheme.
|
|
20055
|
-
* needs the the info of previous graphemes already filled
|
|
20056
|
-
* Override to customize measuring
|
|
20319
|
+
/**
|
|
20320
|
+
* Measure and return the info of a single grapheme.
|
|
20321
|
+
* needs the the info of previous graphemes already filled
|
|
20322
|
+
* Override to customize measuring
|
|
20057
20323
|
*/
|
|
20058
20324
|
|
|
20059
20325
|
// @TODO this is not complete
|
|
20060
20326
|
|
|
20061
|
-
/**
|
|
20062
|
-
* Text class
|
|
20063
|
-
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20327
|
+
/**
|
|
20328
|
+
* Text class
|
|
20329
|
+
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20064
20330
|
*/
|
|
20065
20331
|
class FabricText extends StyledText {
|
|
20066
20332
|
static getDefaults() {
|
|
@@ -20071,11 +20337,11 @@ class FabricText extends StyledText {
|
|
|
20071
20337
|
}
|
|
20072
20338
|
constructor(text, options) {
|
|
20073
20339
|
super();
|
|
20074
|
-
/**
|
|
20075
|
-
* contains characters bounding boxes
|
|
20076
|
-
* This variable is considered to be protected.
|
|
20077
|
-
* But for how mixins are implemented right now, we can't leave it private
|
|
20078
|
-
* @protected
|
|
20340
|
+
/**
|
|
20341
|
+
* contains characters bounding boxes
|
|
20342
|
+
* This variable is considered to be protected.
|
|
20343
|
+
* But for how mixins are implemented right now, we can't leave it private
|
|
20344
|
+
* @protected
|
|
20079
20345
|
*/
|
|
20080
20346
|
_defineProperty(this, "__charBounds", []);
|
|
20081
20347
|
Object.assign(this, FabricText.ownDefaults);
|
|
@@ -20092,9 +20358,9 @@ class FabricText extends StyledText {
|
|
|
20092
20358
|
this.setCoords();
|
|
20093
20359
|
}
|
|
20094
20360
|
|
|
20095
|
-
/**
|
|
20096
|
-
* If text has a path, it will add the extra information needed
|
|
20097
|
-
* for path and text calculations
|
|
20361
|
+
/**
|
|
20362
|
+
* If text has a path, it will add the extra information needed
|
|
20363
|
+
* for path and text calculations
|
|
20098
20364
|
*/
|
|
20099
20365
|
setPathInfo() {
|
|
20100
20366
|
const path = this.path;
|
|
@@ -20103,10 +20369,10 @@ class FabricText extends StyledText {
|
|
|
20103
20369
|
}
|
|
20104
20370
|
}
|
|
20105
20371
|
|
|
20106
|
-
/**
|
|
20107
|
-
* @private
|
|
20108
|
-
* Divides text into lines of text and lines of graphemes.
|
|
20109
|
-
* Uses browser lines when available for pixel-perfect consistency.
|
|
20372
|
+
/**
|
|
20373
|
+
* @private
|
|
20374
|
+
* Divides text into lines of text and lines of graphemes.
|
|
20375
|
+
* Uses browser lines when available for pixel-perfect consistency.
|
|
20110
20376
|
*/
|
|
20111
20377
|
_splitText() {
|
|
20112
20378
|
// Check if we have valid browser lines and should use them
|
|
@@ -20122,9 +20388,9 @@ class FabricText extends StyledText {
|
|
|
20122
20388
|
return newLines;
|
|
20123
20389
|
}
|
|
20124
20390
|
|
|
20125
|
-
/**
|
|
20126
|
-
* Create TextLinesInfo from browser-extracted lines
|
|
20127
|
-
* @private
|
|
20391
|
+
/**
|
|
20392
|
+
* Create TextLinesInfo from browser-extracted lines
|
|
20393
|
+
* @private
|
|
20128
20394
|
*/
|
|
20129
20395
|
_splitTextFromBrowserLines(browserLines) {
|
|
20130
20396
|
const lines = [];
|
|
@@ -20158,10 +20424,10 @@ class FabricText extends StyledText {
|
|
|
20158
20424
|
return result;
|
|
20159
20425
|
}
|
|
20160
20426
|
|
|
20161
|
-
/**
|
|
20162
|
-
* Initialize or update text dimensions.
|
|
20163
|
-
* Updates this.width and this.height with the proper values.
|
|
20164
|
-
* Does not return dimensions.
|
|
20427
|
+
/**
|
|
20428
|
+
* Initialize or update text dimensions.
|
|
20429
|
+
* Updates this.width and this.height with the proper values.
|
|
20430
|
+
* Does not return dimensions.
|
|
20165
20431
|
*/
|
|
20166
20432
|
initDimensions() {
|
|
20167
20433
|
// Use advanced layout if enabled
|
|
@@ -20184,8 +20450,8 @@ class FabricText extends StyledText {
|
|
|
20184
20450
|
}
|
|
20185
20451
|
}
|
|
20186
20452
|
|
|
20187
|
-
/**
|
|
20188
|
-
* Enlarge space boxes and shift the others
|
|
20453
|
+
/**
|
|
20454
|
+
* Enlarge space boxes and shift the others
|
|
20189
20455
|
*/
|
|
20190
20456
|
enlargeSpaces() {
|
|
20191
20457
|
let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
|
|
@@ -20244,18 +20510,18 @@ class FabricText extends StyledText {
|
|
|
20244
20510
|
}
|
|
20245
20511
|
}
|
|
20246
20512
|
|
|
20247
|
-
/**
|
|
20248
|
-
* Advanced layout using new text engine (Konva-compatible)
|
|
20249
|
-
* @private
|
|
20513
|
+
/**
|
|
20514
|
+
* Advanced layout using new text engine (Konva-compatible)
|
|
20515
|
+
* @private
|
|
20250
20516
|
*/
|
|
20251
20517
|
_layoutTextAdvanced() {
|
|
20252
20518
|
const options = this._getAdvancedLayoutOptions();
|
|
20253
20519
|
return layoutText(options);
|
|
20254
20520
|
}
|
|
20255
20521
|
|
|
20256
|
-
/**
|
|
20257
|
-
* Get advanced layout options from current text properties
|
|
20258
|
-
* @private
|
|
20522
|
+
/**
|
|
20523
|
+
* Get advanced layout options from current text properties
|
|
20524
|
+
* @private
|
|
20259
20525
|
*/
|
|
20260
20526
|
_getAdvancedLayoutOptions() {
|
|
20261
20527
|
return {
|
|
@@ -20277,9 +20543,9 @@ class FabricText extends StyledText {
|
|
|
20277
20543
|
};
|
|
20278
20544
|
}
|
|
20279
20545
|
|
|
20280
|
-
/**
|
|
20281
|
-
* Map Fabric textAlign to Konva align format
|
|
20282
|
-
* @private
|
|
20546
|
+
/**
|
|
20547
|
+
* Map Fabric textAlign to Konva align format
|
|
20548
|
+
* @private
|
|
20283
20549
|
*/
|
|
20284
20550
|
_mapTextAlignToAlign(textAlign) {
|
|
20285
20551
|
switch (textAlign) {
|
|
@@ -20300,8 +20566,8 @@ class FabricText extends StyledText {
|
|
|
20300
20566
|
}
|
|
20301
20567
|
}
|
|
20302
20568
|
|
|
20303
|
-
/**
|
|
20304
|
-
* Enhanced initDimensions that uses advanced layout when enabled
|
|
20569
|
+
/**
|
|
20570
|
+
* Enhanced initDimensions that uses advanced layout when enabled
|
|
20305
20571
|
*/
|
|
20306
20572
|
initDimensionsAdvanced() {
|
|
20307
20573
|
if (!this.enableAdvancedLayout) {
|
|
@@ -20318,9 +20584,9 @@ class FabricText extends StyledText {
|
|
|
20318
20584
|
this.dirty = true;
|
|
20319
20585
|
}
|
|
20320
20586
|
|
|
20321
|
-
/**
|
|
20322
|
-
* Convert new layout format to legacy _textLines and __charBounds format
|
|
20323
|
-
* @private
|
|
20587
|
+
/**
|
|
20588
|
+
* Convert new layout format to legacy _textLines and __charBounds format
|
|
20589
|
+
* @private
|
|
20324
20590
|
*/
|
|
20325
20591
|
_convertLayoutToLegacyFormat(layout) {
|
|
20326
20592
|
this._textLines = layout.lines.map(line => line.graphemes);
|
|
@@ -20342,30 +20608,30 @@ class FabricText extends StyledText {
|
|
|
20342
20608
|
}
|
|
20343
20609
|
}
|
|
20344
20610
|
|
|
20345
|
-
/**
|
|
20346
|
-
* Detect if the text line is ended with an hard break
|
|
20347
|
-
* text and itext do not have wrapping, return false
|
|
20348
|
-
* @return {Boolean}
|
|
20611
|
+
/**
|
|
20612
|
+
* Detect if the text line is ended with an hard break
|
|
20613
|
+
* text and itext do not have wrapping, return false
|
|
20614
|
+
* @return {Boolean}
|
|
20349
20615
|
*/
|
|
20350
20616
|
isEndOfWrapping(lineIndex) {
|
|
20351
20617
|
return lineIndex === this._textLines.length - 1;
|
|
20352
20618
|
}
|
|
20353
20619
|
|
|
20354
|
-
/**
|
|
20355
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
20356
|
-
* and counting style.
|
|
20357
|
-
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
20358
|
-
* @return Number
|
|
20620
|
+
/**
|
|
20621
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
20622
|
+
* and counting style.
|
|
20623
|
+
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
20624
|
+
* @return Number
|
|
20359
20625
|
*/
|
|
20360
20626
|
|
|
20361
20627
|
missingNewlineOffset(_lineIndex) {
|
|
20362
20628
|
return 1;
|
|
20363
20629
|
}
|
|
20364
20630
|
|
|
20365
|
-
/**
|
|
20366
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
20367
|
-
* @param {Number} selectionStart
|
|
20368
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
20631
|
+
/**
|
|
20632
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
20633
|
+
* @param {Number} selectionStart
|
|
20634
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
20369
20635
|
*/
|
|
20370
20636
|
get2DCursorLocation(selectionStart, skipWrapping) {
|
|
20371
20637
|
const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
|
|
@@ -20385,24 +20651,24 @@ class FabricText extends StyledText {
|
|
|
20385
20651
|
};
|
|
20386
20652
|
}
|
|
20387
20653
|
|
|
20388
|
-
/**
|
|
20389
|
-
* Returns string representation of an instance
|
|
20390
|
-
* @return {String} String representation of text object
|
|
20654
|
+
/**
|
|
20655
|
+
* Returns string representation of an instance
|
|
20656
|
+
* @return {String} String representation of text object
|
|
20391
20657
|
*/
|
|
20392
20658
|
toString() {
|
|
20393
20659
|
return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
|
|
20394
20660
|
}
|
|
20395
20661
|
|
|
20396
|
-
/**
|
|
20397
|
-
* Return the dimension and the zoom level needed to create a cache canvas
|
|
20398
|
-
* big enough to host the object to be cached.
|
|
20399
|
-
* @private
|
|
20400
|
-
* @param {Object} dim.x width of object to be cached
|
|
20401
|
-
* @param {Object} dim.y height of object to be cached
|
|
20402
|
-
* @return {Object}.width width of canvas
|
|
20403
|
-
* @return {Object}.height height of canvas
|
|
20404
|
-
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
20405
|
-
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
20662
|
+
/**
|
|
20663
|
+
* Return the dimension and the zoom level needed to create a cache canvas
|
|
20664
|
+
* big enough to host the object to be cached.
|
|
20665
|
+
* @private
|
|
20666
|
+
* @param {Object} dim.x width of object to be cached
|
|
20667
|
+
* @param {Object} dim.y height of object to be cached
|
|
20668
|
+
* @return {Object}.width width of canvas
|
|
20669
|
+
* @return {Object}.height height of canvas
|
|
20670
|
+
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
20671
|
+
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
20406
20672
|
*/
|
|
20407
20673
|
_getCacheCanvasDimensions() {
|
|
20408
20674
|
const dims = super._getCacheCanvasDimensions();
|
|
@@ -20412,9 +20678,9 @@ class FabricText extends StyledText {
|
|
|
20412
20678
|
return dims;
|
|
20413
20679
|
}
|
|
20414
20680
|
|
|
20415
|
-
/**
|
|
20416
|
-
* @private
|
|
20417
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20681
|
+
/**
|
|
20682
|
+
* @private
|
|
20683
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20418
20684
|
*/
|
|
20419
20685
|
_render(ctx) {
|
|
20420
20686
|
const path = this.path;
|
|
@@ -20427,9 +20693,9 @@ class FabricText extends StyledText {
|
|
|
20427
20693
|
this._renderTextDecoration(ctx, 'linethrough');
|
|
20428
20694
|
}
|
|
20429
20695
|
|
|
20430
|
-
/**
|
|
20431
|
-
* @private
|
|
20432
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20696
|
+
/**
|
|
20697
|
+
* @private
|
|
20698
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20433
20699
|
*/
|
|
20434
20700
|
_renderText(ctx) {
|
|
20435
20701
|
// Skip text rendering if in overlay editing mode
|
|
@@ -20445,15 +20711,15 @@ class FabricText extends StyledText {
|
|
|
20445
20711
|
}
|
|
20446
20712
|
}
|
|
20447
20713
|
|
|
20448
|
-
/**
|
|
20449
|
-
* Set the font parameter of the context with the object properties or with charStyle
|
|
20450
|
-
* @private
|
|
20451
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20452
|
-
* @param {Object} [charStyle] object with font style properties
|
|
20453
|
-
* @param {String} [charStyle.fontFamily] Font Family
|
|
20454
|
-
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
20455
|
-
* @param {String} [charStyle.fontWeight] Font weight
|
|
20456
|
-
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
20714
|
+
/**
|
|
20715
|
+
* Set the font parameter of the context with the object properties or with charStyle
|
|
20716
|
+
* @private
|
|
20717
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20718
|
+
* @param {Object} [charStyle] object with font style properties
|
|
20719
|
+
* @param {String} [charStyle.fontFamily] Font Family
|
|
20720
|
+
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
20721
|
+
* @param {String} [charStyle.fontWeight] Font weight
|
|
20722
|
+
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
20457
20723
|
*/
|
|
20458
20724
|
_setTextStyles(ctx, charStyle, forMeasuring) {
|
|
20459
20725
|
ctx.textBaseline = 'alphabetic';
|
|
@@ -20473,11 +20739,11 @@ class FabricText extends StyledText {
|
|
|
20473
20739
|
ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
|
|
20474
20740
|
}
|
|
20475
20741
|
|
|
20476
|
-
/**
|
|
20477
|
-
* calculate and return the text Width measuring each line.
|
|
20478
|
-
* @private
|
|
20479
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20480
|
-
* @return {Number} Maximum width of Text object
|
|
20742
|
+
/**
|
|
20743
|
+
* calculate and return the text Width measuring each line.
|
|
20744
|
+
* @private
|
|
20745
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20746
|
+
* @return {Number} Maximum width of Text object
|
|
20481
20747
|
*/
|
|
20482
20748
|
calcTextWidth() {
|
|
20483
20749
|
let maxWidth = this.getLineWidth(0);
|
|
@@ -20490,23 +20756,23 @@ class FabricText extends StyledText {
|
|
|
20490
20756
|
return maxWidth;
|
|
20491
20757
|
}
|
|
20492
20758
|
|
|
20493
|
-
/**
|
|
20494
|
-
* @private
|
|
20495
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
20496
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20497
|
-
* @param {String} line Text to render
|
|
20498
|
-
* @param {Number} left Left position of text
|
|
20499
|
-
* @param {Number} top Top position of text
|
|
20500
|
-
* @param {Number} lineIndex Index of a line in a text
|
|
20759
|
+
/**
|
|
20760
|
+
* @private
|
|
20761
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
20762
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20763
|
+
* @param {String} line Text to render
|
|
20764
|
+
* @param {Number} left Left position of text
|
|
20765
|
+
* @param {Number} top Top position of text
|
|
20766
|
+
* @param {Number} lineIndex Index of a line in a text
|
|
20501
20767
|
*/
|
|
20502
20768
|
_renderTextLine(method, ctx, line, left, top, lineIndex) {
|
|
20503
20769
|
this._renderChars(method, ctx, line, left, top, lineIndex);
|
|
20504
20770
|
}
|
|
20505
20771
|
|
|
20506
|
-
/**
|
|
20507
|
-
* Renders the text background for lines, taking care of style
|
|
20508
|
-
* @private
|
|
20509
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20772
|
+
/**
|
|
20773
|
+
* Renders the text background for lines, taking care of style
|
|
20774
|
+
* @private
|
|
20775
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20510
20776
|
*/
|
|
20511
20777
|
_renderTextLinesBackground(ctx) {
|
|
20512
20778
|
if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
|
|
@@ -20569,15 +20835,15 @@ class FabricText extends StyledText {
|
|
|
20569
20835
|
this._removeShadow(ctx);
|
|
20570
20836
|
}
|
|
20571
20837
|
|
|
20572
|
-
/**
|
|
20573
|
-
* measure and return the width of a single character.
|
|
20574
|
-
* possibly overridden to accommodate different measure logic or
|
|
20575
|
-
* to hook some external lib for character measurement
|
|
20576
|
-
* @private
|
|
20577
|
-
* @param {String} _char, char to be measured
|
|
20578
|
-
* @param {Object} charStyle style of char to be measured
|
|
20579
|
-
* @param {String} [previousChar] previous char
|
|
20580
|
-
* @param {Object} [prevCharStyle] style of previous char
|
|
20838
|
+
/**
|
|
20839
|
+
* measure and return the width of a single character.
|
|
20840
|
+
* possibly overridden to accommodate different measure logic or
|
|
20841
|
+
* to hook some external lib for character measurement
|
|
20842
|
+
* @private
|
|
20843
|
+
* @param {String} _char, char to be measured
|
|
20844
|
+
* @param {Object} charStyle style of char to be measured
|
|
20845
|
+
* @param {String} [previousChar] previous char
|
|
20846
|
+
* @param {Object} [prevCharStyle] style of previous char
|
|
20581
20847
|
*/
|
|
20582
20848
|
_measureChar(_char, charStyle, previousChar, prevCharStyle) {
|
|
20583
20849
|
const fontCache = cache.getFontCache(charStyle),
|
|
@@ -20622,19 +20888,19 @@ class FabricText extends StyledText {
|
|
|
20622
20888
|
};
|
|
20623
20889
|
}
|
|
20624
20890
|
|
|
20625
|
-
/**
|
|
20626
|
-
* Computes height of character at given position
|
|
20627
|
-
* @param {Number} line the line index number
|
|
20628
|
-
* @param {Number} _char the character index number
|
|
20629
|
-
* @return {Number} fontSize of the character
|
|
20891
|
+
/**
|
|
20892
|
+
* Computes height of character at given position
|
|
20893
|
+
* @param {Number} line the line index number
|
|
20894
|
+
* @param {Number} _char the character index number
|
|
20895
|
+
* @return {Number} fontSize of the character
|
|
20630
20896
|
*/
|
|
20631
20897
|
getHeightOfChar(line, _char) {
|
|
20632
20898
|
return this.getValueOfPropertyAt(line, _char, 'fontSize');
|
|
20633
20899
|
}
|
|
20634
20900
|
|
|
20635
|
-
/**
|
|
20636
|
-
* measure a text line measuring all characters.
|
|
20637
|
-
* @param {Number} lineIndex line number
|
|
20901
|
+
/**
|
|
20902
|
+
* measure a text line measuring all characters.
|
|
20903
|
+
* @param {Number} lineIndex line number
|
|
20638
20904
|
*/
|
|
20639
20905
|
measureLine(lineIndex) {
|
|
20640
20906
|
const lineInfo = this._measureLine(lineIndex);
|
|
@@ -20647,11 +20913,11 @@ class FabricText extends StyledText {
|
|
|
20647
20913
|
return lineInfo;
|
|
20648
20914
|
}
|
|
20649
20915
|
|
|
20650
|
-
/**
|
|
20651
|
-
* measure every grapheme of a line, populating __charBounds
|
|
20652
|
-
* @param {Number} lineIndex
|
|
20653
|
-
* @return {Object} object.width total width of characters
|
|
20654
|
-
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
20916
|
+
/**
|
|
20917
|
+
* measure every grapheme of a line, populating __charBounds
|
|
20918
|
+
* @param {Number} lineIndex
|
|
20919
|
+
* @return {Object} object.width total width of characters
|
|
20920
|
+
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
20655
20921
|
*/
|
|
20656
20922
|
_measureLine(lineIndex) {
|
|
20657
20923
|
let width = 0,
|
|
@@ -20714,13 +20980,13 @@ class FabricText extends StyledText {
|
|
|
20714
20980
|
};
|
|
20715
20981
|
}
|
|
20716
20982
|
|
|
20717
|
-
/**
|
|
20718
|
-
* Calculate the angle and the left,top position of the char that follow a path.
|
|
20719
|
-
* It appends it to graphemeInfo to be reused later at rendering
|
|
20720
|
-
* @private
|
|
20721
|
-
* @param {Number} positionInPath to be measured
|
|
20722
|
-
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
20723
|
-
* @param {Object} startingPoint position of the point
|
|
20983
|
+
/**
|
|
20984
|
+
* Calculate the angle and the left,top position of the char that follow a path.
|
|
20985
|
+
* It appends it to graphemeInfo to be reused later at rendering
|
|
20986
|
+
* @private
|
|
20987
|
+
* @param {Number} positionInPath to be measured
|
|
20988
|
+
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
20989
|
+
* @param {Object} startingPoint position of the point
|
|
20724
20990
|
*/
|
|
20725
20991
|
_setGraphemeOnPath(positionInPath, graphemeInfo) {
|
|
20726
20992
|
const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
|
|
@@ -20733,13 +20999,13 @@ class FabricText extends StyledText {
|
|
|
20733
20999
|
graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
|
|
20734
21000
|
}
|
|
20735
21001
|
|
|
20736
|
-
/**
|
|
20737
|
-
*
|
|
20738
|
-
* @param {String} grapheme to be measured
|
|
20739
|
-
* @param {Number} lineIndex index of the line where the char is
|
|
20740
|
-
* @param {Number} charIndex position in the line
|
|
20741
|
-
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
20742
|
-
* @returns {GraphemeBBox} grapheme bbox
|
|
21002
|
+
/**
|
|
21003
|
+
*
|
|
21004
|
+
* @param {String} grapheme to be measured
|
|
21005
|
+
* @param {Number} lineIndex index of the line where the char is
|
|
21006
|
+
* @param {Number} charIndex position in the line
|
|
21007
|
+
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
21008
|
+
* @returns {GraphemeBBox} grapheme bbox
|
|
20743
21009
|
*/
|
|
20744
21010
|
_getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
|
|
20745
21011
|
const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
|
|
@@ -20767,10 +21033,10 @@ class FabricText extends StyledText {
|
|
|
20767
21033
|
return box;
|
|
20768
21034
|
}
|
|
20769
21035
|
|
|
20770
|
-
/**
|
|
20771
|
-
* Calculate height of line at 'lineIndex'
|
|
20772
|
-
* @param {Number} lineIndex index of line to calculate
|
|
20773
|
-
* @return {Number}
|
|
21036
|
+
/**
|
|
21037
|
+
* Calculate height of line at 'lineIndex'
|
|
21038
|
+
* @param {Number} lineIndex index of line to calculate
|
|
21039
|
+
* @return {Number}
|
|
20774
21040
|
*/
|
|
20775
21041
|
getHeightOfLine(lineIndex) {
|
|
20776
21042
|
if (this.__lineHeights[lineIndex]) {
|
|
@@ -20786,8 +21052,8 @@ class FabricText extends StyledText {
|
|
|
20786
21052
|
return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
|
|
20787
21053
|
}
|
|
20788
21054
|
|
|
20789
|
-
/**
|
|
20790
|
-
* Calculate text box height
|
|
21055
|
+
/**
|
|
21056
|
+
* Calculate text box height
|
|
20791
21057
|
*/
|
|
20792
21058
|
calcTextHeight() {
|
|
20793
21059
|
let lineHeight,
|
|
@@ -20799,26 +21065,26 @@ class FabricText extends StyledText {
|
|
|
20799
21065
|
return height;
|
|
20800
21066
|
}
|
|
20801
21067
|
|
|
20802
|
-
/**
|
|
20803
|
-
* @private
|
|
20804
|
-
* @return {Number} Left offset
|
|
21068
|
+
/**
|
|
21069
|
+
* @private
|
|
21070
|
+
* @return {Number} Left offset
|
|
20805
21071
|
*/
|
|
20806
21072
|
_getLeftOffset() {
|
|
20807
21073
|
return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
|
|
20808
21074
|
}
|
|
20809
21075
|
|
|
20810
|
-
/**
|
|
20811
|
-
* @private
|
|
20812
|
-
* @return {Number} Top offset
|
|
21076
|
+
/**
|
|
21077
|
+
* @private
|
|
21078
|
+
* @return {Number} Top offset
|
|
20813
21079
|
*/
|
|
20814
21080
|
_getTopOffset() {
|
|
20815
21081
|
return -this.height / 2;
|
|
20816
21082
|
}
|
|
20817
21083
|
|
|
20818
|
-
/**
|
|
20819
|
-
* @private
|
|
20820
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20821
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
21084
|
+
/**
|
|
21085
|
+
* @private
|
|
21086
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21087
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
20822
21088
|
*/
|
|
20823
21089
|
_renderTextCommon(ctx, method) {
|
|
20824
21090
|
ctx.save();
|
|
@@ -20835,9 +21101,9 @@ class FabricText extends StyledText {
|
|
|
20835
21101
|
ctx.restore();
|
|
20836
21102
|
}
|
|
20837
21103
|
|
|
20838
|
-
/**
|
|
20839
|
-
* @private
|
|
20840
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21104
|
+
/**
|
|
21105
|
+
* @private
|
|
21106
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20841
21107
|
*/
|
|
20842
21108
|
_renderTextFill(ctx) {
|
|
20843
21109
|
if (!this.fill && !this.styleHas(FILL)) {
|
|
@@ -20846,9 +21112,9 @@ class FabricText extends StyledText {
|
|
|
20846
21112
|
this._renderTextCommon(ctx, 'fillText');
|
|
20847
21113
|
}
|
|
20848
21114
|
|
|
20849
|
-
/**
|
|
20850
|
-
* @private
|
|
20851
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21115
|
+
/**
|
|
21116
|
+
* @private
|
|
21117
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20852
21118
|
*/
|
|
20853
21119
|
_renderTextStroke(ctx) {
|
|
20854
21120
|
if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
|
|
@@ -20865,14 +21131,14 @@ class FabricText extends StyledText {
|
|
|
20865
21131
|
ctx.restore();
|
|
20866
21132
|
}
|
|
20867
21133
|
|
|
20868
|
-
/**
|
|
20869
|
-
* @private
|
|
20870
|
-
* @param {String} method fillText or strokeText.
|
|
20871
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20872
|
-
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
20873
|
-
* @param {Number} left
|
|
20874
|
-
* @param {Number} top
|
|
20875
|
-
* @param {Number} lineIndex
|
|
21134
|
+
/**
|
|
21135
|
+
* @private
|
|
21136
|
+
* @param {String} method fillText or strokeText.
|
|
21137
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21138
|
+
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
21139
|
+
* @param {Number} left
|
|
21140
|
+
* @param {Number} top
|
|
21141
|
+
* @param {Number} lineIndex
|
|
20876
21142
|
*/
|
|
20877
21143
|
_renderChars(method, ctx, line, left, top, lineIndex) {
|
|
20878
21144
|
const lineHeight = this.getHeightOfLine(lineIndex),
|
|
@@ -20954,16 +21220,16 @@ class FabricText extends StyledText {
|
|
|
20954
21220
|
ctx.restore();
|
|
20955
21221
|
}
|
|
20956
21222
|
|
|
20957
|
-
/**
|
|
20958
|
-
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
20959
|
-
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
20960
|
-
* we want to transform the gradient but not the stroke operation, so we create
|
|
20961
|
-
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
20962
|
-
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
20963
|
-
* is limited.
|
|
20964
|
-
* @private
|
|
20965
|
-
* @param {TFiller} filler a fabric gradient instance
|
|
20966
|
-
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
21223
|
+
/**
|
|
21224
|
+
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
21225
|
+
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
21226
|
+
* we want to transform the gradient but not the stroke operation, so we create
|
|
21227
|
+
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
21228
|
+
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
21229
|
+
* is limited.
|
|
21230
|
+
* @private
|
|
21231
|
+
* @param {TFiller} filler a fabric gradient instance
|
|
21232
|
+
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
20967
21233
|
*/
|
|
20968
21234
|
_applyPatternGradientTransformText(filler) {
|
|
20969
21235
|
// TODO: verify compatibility with strokeUniform
|
|
@@ -21019,12 +21285,12 @@ class FabricText extends StyledText {
|
|
|
21019
21285
|
};
|
|
21020
21286
|
}
|
|
21021
21287
|
|
|
21022
|
-
/**
|
|
21023
|
-
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21024
|
-
* need to be sent in as defined
|
|
21025
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21026
|
-
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21027
|
-
* @returns
|
|
21288
|
+
/**
|
|
21289
|
+
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21290
|
+
* need to be sent in as defined
|
|
21291
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21292
|
+
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21293
|
+
* @returns
|
|
21028
21294
|
*/
|
|
21029
21295
|
_setStrokeStyles(ctx, _ref) {
|
|
21030
21296
|
let {
|
|
@@ -21039,12 +21305,12 @@ class FabricText extends StyledText {
|
|
|
21039
21305
|
return this.handleFiller(ctx, 'strokeStyle', stroke);
|
|
21040
21306
|
}
|
|
21041
21307
|
|
|
21042
|
-
/**
|
|
21043
|
-
* This function prepare the canvas for a ill style, and fill
|
|
21044
|
-
* need to be sent in as defined
|
|
21045
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21046
|
-
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21047
|
-
* @returns
|
|
21308
|
+
/**
|
|
21309
|
+
* This function prepare the canvas for a ill style, and fill
|
|
21310
|
+
* need to be sent in as defined
|
|
21311
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21312
|
+
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21313
|
+
* @returns
|
|
21048
21314
|
*/
|
|
21049
21315
|
_setFillStyles(ctx, _ref2) {
|
|
21050
21316
|
let {
|
|
@@ -21053,16 +21319,16 @@ class FabricText extends StyledText {
|
|
|
21053
21319
|
return this.handleFiller(ctx, 'fillStyle', fill);
|
|
21054
21320
|
}
|
|
21055
21321
|
|
|
21056
|
-
/**
|
|
21057
|
-
* @private
|
|
21058
|
-
* @param {String} method
|
|
21059
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21060
|
-
* @param {Number} lineIndex
|
|
21061
|
-
* @param {Number} charIndex
|
|
21062
|
-
* @param {String} _char
|
|
21063
|
-
* @param {Number} left Left coordinate
|
|
21064
|
-
* @param {Number} top Top coordinate
|
|
21065
|
-
* @param {Number} lineHeight Height of the line
|
|
21322
|
+
/**
|
|
21323
|
+
* @private
|
|
21324
|
+
* @param {String} method
|
|
21325
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21326
|
+
* @param {Number} lineIndex
|
|
21327
|
+
* @param {Number} charIndex
|
|
21328
|
+
* @param {String} _char
|
|
21329
|
+
* @param {Number} left Left coordinate
|
|
21330
|
+
* @param {Number} top Top coordinate
|
|
21331
|
+
* @param {Number} lineHeight Height of the line
|
|
21066
21332
|
*/
|
|
21067
21333
|
_renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
|
|
21068
21334
|
const decl = this._getStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21091,30 +21357,30 @@ class FabricText extends StyledText {
|
|
|
21091
21357
|
ctx.restore();
|
|
21092
21358
|
}
|
|
21093
21359
|
|
|
21094
|
-
/**
|
|
21095
|
-
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21096
|
-
* @param {Number} start selection start
|
|
21097
|
-
* @param {Number} end selection end
|
|
21360
|
+
/**
|
|
21361
|
+
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21362
|
+
* @param {Number} start selection start
|
|
21363
|
+
* @param {Number} end selection end
|
|
21098
21364
|
*/
|
|
21099
21365
|
setSuperscript(start, end) {
|
|
21100
21366
|
this._setScript(start, end, this.superscript);
|
|
21101
21367
|
}
|
|
21102
21368
|
|
|
21103
|
-
/**
|
|
21104
|
-
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21105
|
-
* @param {Number} start selection start
|
|
21106
|
-
* @param {Number} end selection end
|
|
21369
|
+
/**
|
|
21370
|
+
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21371
|
+
* @param {Number} start selection start
|
|
21372
|
+
* @param {Number} end selection end
|
|
21107
21373
|
*/
|
|
21108
21374
|
setSubscript(start, end) {
|
|
21109
21375
|
this._setScript(start, end, this.subscript);
|
|
21110
21376
|
}
|
|
21111
21377
|
|
|
21112
|
-
/**
|
|
21113
|
-
* Applies 'schema' at given position
|
|
21114
|
-
* @private
|
|
21115
|
-
* @param {Number} start selection start
|
|
21116
|
-
* @param {Number} end selection end
|
|
21117
|
-
* @param {Number} schema
|
|
21378
|
+
/**
|
|
21379
|
+
* Applies 'schema' at given position
|
|
21380
|
+
* @private
|
|
21381
|
+
* @param {Number} start selection start
|
|
21382
|
+
* @param {Number} end selection end
|
|
21383
|
+
* @param {Number} schema
|
|
21118
21384
|
*/
|
|
21119
21385
|
_setScript(start, end, schema) {
|
|
21120
21386
|
const loc = this.get2DCursorLocation(start, true),
|
|
@@ -21127,10 +21393,10 @@ class FabricText extends StyledText {
|
|
|
21127
21393
|
this.setSelectionStyles(style, start, end);
|
|
21128
21394
|
}
|
|
21129
21395
|
|
|
21130
|
-
/**
|
|
21131
|
-
* @private
|
|
21132
|
-
* @param {Number} lineIndex index text line
|
|
21133
|
-
* @return {Number} Line left offset
|
|
21396
|
+
/**
|
|
21397
|
+
* @private
|
|
21398
|
+
* @param {Number} lineIndex index text line
|
|
21399
|
+
* @return {Number} Line left offset
|
|
21134
21400
|
*/
|
|
21135
21401
|
_getLineLeftOffset(lineIndex) {
|
|
21136
21402
|
const lineWidth = this.getLineWidth(lineIndex),
|
|
@@ -21180,8 +21446,8 @@ class FabricText extends StyledText {
|
|
|
21180
21446
|
return leftOffset;
|
|
21181
21447
|
}
|
|
21182
21448
|
|
|
21183
|
-
/**
|
|
21184
|
-
* @private
|
|
21449
|
+
/**
|
|
21450
|
+
* @private
|
|
21185
21451
|
*/
|
|
21186
21452
|
_clearCache() {
|
|
21187
21453
|
this._forceClearCache = false;
|
|
@@ -21190,12 +21456,12 @@ class FabricText extends StyledText {
|
|
|
21190
21456
|
this.__charBounds = [];
|
|
21191
21457
|
}
|
|
21192
21458
|
|
|
21193
|
-
/**
|
|
21194
|
-
* Measure a single line given its index. Used to calculate the initial
|
|
21195
|
-
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21196
|
-
* @private
|
|
21197
|
-
* @param {Number} lineIndex line number
|
|
21198
|
-
* @return {Number} Line width
|
|
21459
|
+
/**
|
|
21460
|
+
* Measure a single line given its index. Used to calculate the initial
|
|
21461
|
+
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21462
|
+
* @private
|
|
21463
|
+
* @param {Number} lineIndex line number
|
|
21464
|
+
* @return {Number} Line width
|
|
21199
21465
|
*/
|
|
21200
21466
|
getLineWidth(lineIndex) {
|
|
21201
21467
|
if (this.__lineWidths[lineIndex] !== undefined) {
|
|
@@ -21214,12 +21480,12 @@ class FabricText extends StyledText {
|
|
|
21214
21480
|
return 0;
|
|
21215
21481
|
}
|
|
21216
21482
|
|
|
21217
|
-
/**
|
|
21218
|
-
* Retrieves the value of property at given character position
|
|
21219
|
-
* @param {Number} lineIndex the line number
|
|
21220
|
-
* @param {Number} charIndex the character number
|
|
21221
|
-
* @param {String} property the property name
|
|
21222
|
-
* @returns the value of 'property'
|
|
21483
|
+
/**
|
|
21484
|
+
* Retrieves the value of property at given character position
|
|
21485
|
+
* @param {Number} lineIndex the line number
|
|
21486
|
+
* @param {Number} charIndex the character number
|
|
21487
|
+
* @param {String} property the property name
|
|
21488
|
+
* @returns the value of 'property'
|
|
21223
21489
|
*/
|
|
21224
21490
|
getValueOfPropertyAt(lineIndex, charIndex, property) {
|
|
21225
21491
|
var _charStyle$property;
|
|
@@ -21227,9 +21493,9 @@ class FabricText extends StyledText {
|
|
|
21227
21493
|
return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
|
|
21228
21494
|
}
|
|
21229
21495
|
|
|
21230
|
-
/**
|
|
21231
|
-
* @private
|
|
21232
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21496
|
+
/**
|
|
21497
|
+
* @private
|
|
21498
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21233
21499
|
*/
|
|
21234
21500
|
_renderTextDecoration(ctx, type) {
|
|
21235
21501
|
if (!this[type] && !this.styleHas(type)) {
|
|
@@ -21313,10 +21579,10 @@ class FabricText extends StyledText {
|
|
|
21313
21579
|
this._removeShadow(ctx);
|
|
21314
21580
|
}
|
|
21315
21581
|
|
|
21316
|
-
/**
|
|
21317
|
-
* return font declaration string for canvas context
|
|
21318
|
-
* @param {Object} [styleObject] object
|
|
21319
|
-
* @returns {String} font declaration formatted for canvas context.
|
|
21582
|
+
/**
|
|
21583
|
+
* return font declaration string for canvas context
|
|
21584
|
+
* @param {Object} [styleObject] object
|
|
21585
|
+
* @returns {String} font declaration formatted for canvas context.
|
|
21320
21586
|
*/
|
|
21321
21587
|
_getFontDeclaration() {
|
|
21322
21588
|
let {
|
|
@@ -21330,9 +21596,9 @@ class FabricText extends StyledText {
|
|
|
21330
21596
|
return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
|
|
21331
21597
|
}
|
|
21332
21598
|
|
|
21333
|
-
/**
|
|
21334
|
-
* Renders text instance on a specified context
|
|
21335
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21599
|
+
/**
|
|
21600
|
+
* Renders text instance on a specified context
|
|
21601
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21336
21602
|
*/
|
|
21337
21603
|
render(ctx) {
|
|
21338
21604
|
if (!this.visible) {
|
|
@@ -21347,22 +21613,22 @@ class FabricText extends StyledText {
|
|
|
21347
21613
|
super.render(ctx);
|
|
21348
21614
|
}
|
|
21349
21615
|
|
|
21350
|
-
/**
|
|
21351
|
-
* Override this method to customize grapheme splitting
|
|
21352
|
-
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
21353
|
-
* is more comfortable to inject the correct util rather than having to override text
|
|
21354
|
-
* in the middle of the prototype chain
|
|
21355
|
-
* @param {string} value
|
|
21356
|
-
* @returns {string[]} array of graphemes
|
|
21616
|
+
/**
|
|
21617
|
+
* Override this method to customize grapheme splitting
|
|
21618
|
+
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
21619
|
+
* is more comfortable to inject the correct util rather than having to override text
|
|
21620
|
+
* in the middle of the prototype chain
|
|
21621
|
+
* @param {string} value
|
|
21622
|
+
* @returns {string[]} array of graphemes
|
|
21357
21623
|
*/
|
|
21358
21624
|
graphemeSplit(value) {
|
|
21359
21625
|
return graphemeSplit(value);
|
|
21360
21626
|
}
|
|
21361
21627
|
|
|
21362
|
-
/**
|
|
21363
|
-
* Returns the text as an array of lines.
|
|
21364
|
-
* @param {String} text text to split
|
|
21365
|
-
* @returns Lines in the text
|
|
21628
|
+
/**
|
|
21629
|
+
* Returns the text as an array of lines.
|
|
21630
|
+
* @param {String} text text to split
|
|
21631
|
+
* @returns Lines in the text
|
|
21366
21632
|
*/
|
|
21367
21633
|
_splitTextIntoLines(text) {
|
|
21368
21634
|
const lines = text.split(this._reNewline),
|
|
@@ -21382,10 +21648,10 @@ class FabricText extends StyledText {
|
|
|
21382
21648
|
};
|
|
21383
21649
|
}
|
|
21384
21650
|
|
|
21385
|
-
/**
|
|
21386
|
-
* Returns object representation of an instance
|
|
21387
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
21388
|
-
* @return {Object} Object representation of an instance
|
|
21651
|
+
/**
|
|
21652
|
+
* Returns object representation of an instance
|
|
21653
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
21654
|
+
* @return {Object} Object representation of an instance
|
|
21389
21655
|
*/
|
|
21390
21656
|
toObject() {
|
|
21391
21657
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -21428,23 +21694,23 @@ class FabricText extends StyledText {
|
|
|
21428
21694
|
return this;
|
|
21429
21695
|
}
|
|
21430
21696
|
|
|
21431
|
-
/**
|
|
21432
|
-
* Returns complexity of an instance
|
|
21433
|
-
* @return {Number} complexity
|
|
21697
|
+
/**
|
|
21698
|
+
* Returns complexity of an instance
|
|
21699
|
+
* @return {Number} complexity
|
|
21434
21700
|
*/
|
|
21435
21701
|
complexity() {
|
|
21436
21702
|
return 1;
|
|
21437
21703
|
}
|
|
21438
21704
|
|
|
21439
|
-
/**
|
|
21440
|
-
* List of generic font families
|
|
21441
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
21705
|
+
/**
|
|
21706
|
+
* List of generic font families
|
|
21707
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
21442
21708
|
*/
|
|
21443
|
-
|
|
21444
|
-
/**
|
|
21445
|
-
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
21446
|
-
* @param {HTMLElement} element Element to parse
|
|
21447
|
-
* @param {Object} [options] Options object
|
|
21709
|
+
|
|
21710
|
+
/**
|
|
21711
|
+
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
21712
|
+
* @param {HTMLElement} element Element to parse
|
|
21713
|
+
* @param {Object} [options] Options object
|
|
21448
21714
|
*/
|
|
21449
21715
|
static async fromElement(element, options, cssRules) {
|
|
21450
21716
|
const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
|
|
@@ -21483,10 +21749,10 @@ class FabricText extends StyledText {
|
|
|
21483
21749
|
scaledDiff = lineHeightDiff * textHeightScaleFactor,
|
|
21484
21750
|
textHeight = text.getScaledHeight() + scaledDiff;
|
|
21485
21751
|
let offX = 0;
|
|
21486
|
-
/*
|
|
21487
|
-
Adjust positioning:
|
|
21488
|
-
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
21489
|
-
fabric output by default at top, left.
|
|
21752
|
+
/*
|
|
21753
|
+
Adjust positioning:
|
|
21754
|
+
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
21755
|
+
fabric output by default at top, left.
|
|
21490
21756
|
*/
|
|
21491
21757
|
if (textAnchor === CENTER) {
|
|
21492
21758
|
offX = text.getScaledWidth() / 2;
|
|
@@ -21504,10 +21770,10 @@ class FabricText extends StyledText {
|
|
|
21504
21770
|
|
|
21505
21771
|
/* _FROM_SVG_END_ */
|
|
21506
21772
|
|
|
21507
|
-
/**
|
|
21508
|
-
* Returns FabricText instance from an object representation
|
|
21509
|
-
* @param {Object} object plain js Object to create an instance from
|
|
21510
|
-
* @returns {Promise<FabricText>}
|
|
21773
|
+
/**
|
|
21774
|
+
* Returns FabricText instance from an object representation
|
|
21775
|
+
* @param {Object} object plain js Object to create an instance from
|
|
21776
|
+
* @returns {Promise<FabricText>}
|
|
21511
21777
|
*/
|
|
21512
21778
|
static fromObject(object) {
|
|
21513
21779
|
return this._fromObject({
|
|
@@ -21518,10 +21784,10 @@ class FabricText extends StyledText {
|
|
|
21518
21784
|
});
|
|
21519
21785
|
}
|
|
21520
21786
|
}
|
|
21521
|
-
/**
|
|
21522
|
-
* Properties that requires a text layout recalculation when changed
|
|
21523
|
-
* @type string[]
|
|
21524
|
-
* @protected
|
|
21787
|
+
/**
|
|
21788
|
+
* Properties that requires a text layout recalculation when changed
|
|
21789
|
+
* @type string[]
|
|
21790
|
+
* @protected
|
|
21525
21791
|
*/
|
|
21526
21792
|
_defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
|
|
21527
21793
|
_defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
|
|
@@ -21529,9 +21795,9 @@ _defineProperty(FabricText, "ownDefaults", textDefaultValues);
|
|
|
21529
21795
|
_defineProperty(FabricText, "type", 'Text');
|
|
21530
21796
|
_defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
|
|
21531
21797
|
/* _FROM_SVG_START_ */
|
|
21532
|
-
/**
|
|
21533
|
-
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
21534
|
-
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
21798
|
+
/**
|
|
21799
|
+
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
21800
|
+
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
21535
21801
|
*/
|
|
21536
21802
|
_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'));
|
|
21537
21803
|
applyMixins(FabricText, [TextSVGExportMixin]);
|
|
@@ -21918,8 +22184,8 @@ class OverlayEditor {
|
|
|
21918
22184
|
// We don't need to save/restore them here as it would conflict with IText's restoration
|
|
21919
22185
|
}
|
|
21920
22186
|
|
|
21921
|
-
/**
|
|
21922
|
-
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
22187
|
+
/**
|
|
22188
|
+
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
21923
22189
|
*/
|
|
21924
22190
|
getCanvasContainer() {
|
|
21925
22191
|
const upperCanvas = this.canvas.upperCanvasEl;
|
|
@@ -21933,8 +22199,8 @@ class OverlayEditor {
|
|
|
21933
22199
|
return container;
|
|
21934
22200
|
}
|
|
21935
22201
|
|
|
21936
|
-
/**
|
|
21937
|
-
* Create the overlay DOM structure
|
|
22202
|
+
/**
|
|
22203
|
+
* Create the overlay DOM structure
|
|
21938
22204
|
*/
|
|
21939
22205
|
createOverlayDOM() {
|
|
21940
22206
|
// Host div for positioning and overflow control
|
|
@@ -21989,8 +22255,8 @@ class OverlayEditor {
|
|
|
21989
22255
|
document.body.appendChild(this.hostDiv);
|
|
21990
22256
|
}
|
|
21991
22257
|
|
|
21992
|
-
/**
|
|
21993
|
-
* Attach all event listeners
|
|
22258
|
+
/**
|
|
22259
|
+
* Attach all event listeners
|
|
21994
22260
|
*/
|
|
21995
22261
|
attachEventListeners() {
|
|
21996
22262
|
// Textarea events
|
|
@@ -22010,8 +22276,8 @@ class OverlayEditor {
|
|
|
22010
22276
|
this.setupViewportChangeDetection();
|
|
22011
22277
|
}
|
|
22012
22278
|
|
|
22013
|
-
/**
|
|
22014
|
-
* Remove all event listeners
|
|
22279
|
+
/**
|
|
22280
|
+
* Remove all event listeners
|
|
22015
22281
|
*/
|
|
22016
22282
|
removeEventListeners() {
|
|
22017
22283
|
this.textarea.removeEventListener('input', this.boundHandlers.onInput);
|
|
@@ -22028,16 +22294,16 @@ class OverlayEditor {
|
|
|
22028
22294
|
this.restoreViewportChangeDetection();
|
|
22029
22295
|
}
|
|
22030
22296
|
|
|
22031
|
-
/**
|
|
22032
|
-
* Simple method to refresh positioning when canvas changes
|
|
22297
|
+
/**
|
|
22298
|
+
* Simple method to refresh positioning when canvas changes
|
|
22033
22299
|
*/
|
|
22034
22300
|
updatePosition() {
|
|
22035
22301
|
this.applyOverlayStyle();
|
|
22036
22302
|
}
|
|
22037
22303
|
|
|
22038
|
-
/**
|
|
22039
|
-
* Update the Fabric object bounds to match current textarea size
|
|
22040
|
-
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22304
|
+
/**
|
|
22305
|
+
* Update the Fabric object bounds to match current textarea size
|
|
22306
|
+
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22041
22307
|
*/
|
|
22042
22308
|
updateObjectBounds() {
|
|
22043
22309
|
if (this.isDestroyed) return;
|
|
@@ -22071,15 +22337,15 @@ class OverlayEditor {
|
|
|
22071
22337
|
}
|
|
22072
22338
|
}
|
|
22073
22339
|
|
|
22074
|
-
/**
|
|
22075
|
-
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22340
|
+
/**
|
|
22341
|
+
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22076
22342
|
*/
|
|
22077
22343
|
letterSpacingPx(charSpacing, fontSize) {
|
|
22078
22344
|
return charSpacing / 1000 * fontSize;
|
|
22079
22345
|
}
|
|
22080
22346
|
|
|
22081
|
-
/**
|
|
22082
|
-
* Detect text direction using first strong directional character
|
|
22347
|
+
/**
|
|
22348
|
+
* Detect text direction using first strong directional character
|
|
22083
22349
|
*/
|
|
22084
22350
|
firstStrongDir(text) {
|
|
22085
22351
|
// Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
|
|
@@ -22309,8 +22575,8 @@ class OverlayEditor {
|
|
|
22309
22575
|
// Initial bounds are set correctly by Fabric.js - don't force update here
|
|
22310
22576
|
}
|
|
22311
22577
|
|
|
22312
|
-
/**
|
|
22313
|
-
* Debug method to compare textarea and canvas object bounding boxes
|
|
22578
|
+
/**
|
|
22579
|
+
* Debug method to compare textarea and canvas object bounding boxes
|
|
22314
22580
|
*/
|
|
22315
22581
|
debugBoundingBoxComparison() {
|
|
22316
22582
|
const target = this.target;
|
|
@@ -22380,8 +22646,8 @@ class OverlayEditor {
|
|
|
22380
22646
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
22381
22647
|
}
|
|
22382
22648
|
|
|
22383
|
-
/**
|
|
22384
|
-
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
22649
|
+
/**
|
|
22650
|
+
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
22385
22651
|
*/
|
|
22386
22652
|
debugTextWrapping() {
|
|
22387
22653
|
const target = this.target;
|
|
@@ -22466,8 +22732,8 @@ class OverlayEditor {
|
|
|
22466
22732
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
22467
22733
|
}
|
|
22468
22734
|
|
|
22469
|
-
/**
|
|
22470
|
-
* Focus the textarea and position cursor at end
|
|
22735
|
+
/**
|
|
22736
|
+
* Focus the textarea and position cursor at end
|
|
22471
22737
|
*/
|
|
22472
22738
|
focusTextarea() {
|
|
22473
22739
|
// For overlay editing, we want to keep the object in "selection mode" not "editing mode"
|
|
@@ -22502,8 +22768,8 @@ class OverlayEditor {
|
|
|
22502
22768
|
this.canvas.requestRenderAll();
|
|
22503
22769
|
}
|
|
22504
22770
|
|
|
22505
|
-
/**
|
|
22506
|
-
* Refresh overlay positioning and styling
|
|
22771
|
+
/**
|
|
22772
|
+
* Refresh overlay positioning and styling
|
|
22507
22773
|
*/
|
|
22508
22774
|
refresh() {
|
|
22509
22775
|
if (this.isDestroyed) return;
|
|
@@ -22511,8 +22777,8 @@ class OverlayEditor {
|
|
|
22511
22777
|
// Don't update object bounds on every refresh - only when textarea actually resizes
|
|
22512
22778
|
}
|
|
22513
22779
|
|
|
22514
|
-
/**
|
|
22515
|
-
* Destroy the overlay editor
|
|
22780
|
+
/**
|
|
22781
|
+
* Destroy the overlay editor
|
|
22516
22782
|
*/
|
|
22517
22783
|
destroy() {
|
|
22518
22784
|
let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -22680,8 +22946,8 @@ class OverlayEditor {
|
|
|
22680
22946
|
}
|
|
22681
22947
|
}
|
|
22682
22948
|
|
|
22683
|
-
/**
|
|
22684
|
-
* Setup detection for viewport changes (zoom/pan)
|
|
22949
|
+
/**
|
|
22950
|
+
* Setup detection for viewport changes (zoom/pan)
|
|
22685
22951
|
*/
|
|
22686
22952
|
setupViewportChangeDetection() {
|
|
22687
22953
|
// Store original methods
|
|
@@ -22710,8 +22976,8 @@ class OverlayEditor {
|
|
|
22710
22976
|
};
|
|
22711
22977
|
}
|
|
22712
22978
|
|
|
22713
|
-
/**
|
|
22714
|
-
* Restore original viewport methods
|
|
22979
|
+
/**
|
|
22980
|
+
* Restore original viewport methods
|
|
22715
22981
|
*/
|
|
22716
22982
|
restoreViewportChangeDetection() {
|
|
22717
22983
|
if (this.canvas.__originalSetZoom) {
|
|
@@ -22726,8 +22992,8 @@ class OverlayEditor {
|
|
|
22726
22992
|
}
|
|
22727
22993
|
}
|
|
22728
22994
|
|
|
22729
|
-
/**
|
|
22730
|
-
* Enter overlay text editing mode for a text object
|
|
22995
|
+
/**
|
|
22996
|
+
* Enter overlay text editing mode for a text object
|
|
22731
22997
|
*/
|
|
22732
22998
|
function enterTextOverlayEdit(canvas, target, options) {
|
|
22733
22999
|
// If already in overlay editing, destroy existing editor first
|
|
@@ -22751,35 +23017,35 @@ function enterTextOverlayEdit(canvas, target, options) {
|
|
|
22751
23017
|
return editor;
|
|
22752
23018
|
}
|
|
22753
23019
|
|
|
22754
|
-
/**
|
|
22755
|
-
* extend this regex to support non english languages
|
|
22756
|
-
*
|
|
22757
|
-
* - ` ` Matches a SPACE character (char code 32).
|
|
22758
|
-
* - `\n` Matches a LINE FEED character (char code 10).
|
|
22759
|
-
* - `.` Matches a "." character (char code 46).
|
|
22760
|
-
* - `,` Matches a "," character (char code 44).
|
|
22761
|
-
* - `;` Matches a ";" character (char code 59).
|
|
22762
|
-
* - `!` Matches a "!" character (char code 33).
|
|
22763
|
-
* - `\?` Matches a "?" character (char code 63).
|
|
22764
|
-
* - `\-` Matches a "-" character (char code 45).
|
|
23020
|
+
/**
|
|
23021
|
+
* extend this regex to support non english languages
|
|
23022
|
+
*
|
|
23023
|
+
* - ` ` Matches a SPACE character (char code 32).
|
|
23024
|
+
* - `\n` Matches a LINE FEED character (char code 10).
|
|
23025
|
+
* - `.` Matches a "." character (char code 46).
|
|
23026
|
+
* - `,` Matches a "," character (char code 44).
|
|
23027
|
+
* - `;` Matches a ";" character (char code 59).
|
|
23028
|
+
* - `!` Matches a "!" character (char code 33).
|
|
23029
|
+
* - `\?` Matches a "?" character (char code 63).
|
|
23030
|
+
* - `\-` Matches a "-" character (char code 45).
|
|
22765
23031
|
*/
|
|
22766
23032
|
// eslint-disable-next-line no-useless-escape
|
|
22767
23033
|
const reNonWord = /[ \n\.,;!\?\-]/;
|
|
22768
23034
|
class ITextBehavior extends FabricText {
|
|
22769
23035
|
constructor() {
|
|
22770
23036
|
super(...arguments);
|
|
22771
|
-
/**
|
|
22772
|
-
* Helps determining when the text is in composition, so that the cursor
|
|
22773
|
-
* rendering is altered.
|
|
23037
|
+
/**
|
|
23038
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
23039
|
+
* rendering is altered.
|
|
22774
23040
|
*/
|
|
22775
23041
|
_defineProperty(this, "_currentCursorOpacity", 1);
|
|
22776
23042
|
}
|
|
22777
|
-
/**
|
|
22778
|
-
* Keeps track if the IText object was selected before the actual click.
|
|
22779
|
-
* This because we want to delay enter editing by a click.
|
|
23043
|
+
/**
|
|
23044
|
+
* Keeps track if the IText object was selected before the actual click.
|
|
23045
|
+
* This because we want to delay enter editing by a click.
|
|
22780
23046
|
*/
|
|
22781
|
-
/**
|
|
22782
|
-
* Initializes all the interactive behavior of IText
|
|
23047
|
+
/**
|
|
23048
|
+
* Initializes all the interactive behavior of IText
|
|
22783
23049
|
*/
|
|
22784
23050
|
initBehavior() {
|
|
22785
23051
|
this._tick = this._tick.bind(this);
|
|
@@ -22792,8 +23058,8 @@ class ITextBehavior extends FabricText {
|
|
|
22792
23058
|
return super.onDeselect(options);
|
|
22793
23059
|
}
|
|
22794
23060
|
|
|
22795
|
-
/**
|
|
22796
|
-
* @private
|
|
23061
|
+
/**
|
|
23062
|
+
* @private
|
|
22797
23063
|
*/
|
|
22798
23064
|
_animateCursor(_ref) {
|
|
22799
23065
|
let {
|
|
@@ -22818,8 +23084,8 @@ class ITextBehavior extends FabricText {
|
|
|
22818
23084
|
});
|
|
22819
23085
|
}
|
|
22820
23086
|
|
|
22821
|
-
/**
|
|
22822
|
-
* changes the cursor from visible to invisible
|
|
23087
|
+
/**
|
|
23088
|
+
* changes the cursor from visible to invisible
|
|
22823
23089
|
*/
|
|
22824
23090
|
_tick(delay) {
|
|
22825
23091
|
this._currentTickState = this._animateCursor({
|
|
@@ -22830,8 +23096,8 @@ class ITextBehavior extends FabricText {
|
|
|
22830
23096
|
});
|
|
22831
23097
|
}
|
|
22832
23098
|
|
|
22833
|
-
/**
|
|
22834
|
-
* Changes the cursor from invisible to visible
|
|
23099
|
+
/**
|
|
23100
|
+
* Changes the cursor from invisible to visible
|
|
22835
23101
|
*/
|
|
22836
23102
|
_onTickComplete() {
|
|
22837
23103
|
var _this$_currentTickCom;
|
|
@@ -22843,16 +23109,16 @@ class ITextBehavior extends FabricText {
|
|
|
22843
23109
|
});
|
|
22844
23110
|
}
|
|
22845
23111
|
|
|
22846
|
-
/**
|
|
22847
|
-
* Initializes delayed cursor
|
|
23112
|
+
/**
|
|
23113
|
+
* Initializes delayed cursor
|
|
22848
23114
|
*/
|
|
22849
23115
|
initDelayedCursor(restart) {
|
|
22850
23116
|
this.abortCursorAnimation();
|
|
22851
23117
|
this._tick(restart ? 0 : this.cursorDelay);
|
|
22852
23118
|
}
|
|
22853
23119
|
|
|
22854
|
-
/**
|
|
22855
|
-
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
23120
|
+
/**
|
|
23121
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
22856
23122
|
*/
|
|
22857
23123
|
abortCursorAnimation() {
|
|
22858
23124
|
let shouldClear = false;
|
|
@@ -22870,9 +23136,9 @@ class ITextBehavior extends FabricText {
|
|
|
22870
23136
|
}
|
|
22871
23137
|
}
|
|
22872
23138
|
|
|
22873
|
-
/**
|
|
22874
|
-
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
22875
|
-
* or if it never started before
|
|
23139
|
+
/**
|
|
23140
|
+
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
23141
|
+
* or if it never started before
|
|
22876
23142
|
*/
|
|
22877
23143
|
restartCursorIfNeeded() {
|
|
22878
23144
|
if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
|
|
@@ -22880,8 +23146,8 @@ class ITextBehavior extends FabricText {
|
|
|
22880
23146
|
}
|
|
22881
23147
|
}
|
|
22882
23148
|
|
|
22883
|
-
/**
|
|
22884
|
-
* Selects entire text
|
|
23149
|
+
/**
|
|
23150
|
+
* Selects entire text
|
|
22885
23151
|
*/
|
|
22886
23152
|
selectAll() {
|
|
22887
23153
|
this.selectionStart = 0;
|
|
@@ -22891,26 +23157,26 @@ class ITextBehavior extends FabricText {
|
|
|
22891
23157
|
return this;
|
|
22892
23158
|
}
|
|
22893
23159
|
|
|
22894
|
-
/**
|
|
22895
|
-
* Selects entire text and updates the visual state
|
|
23160
|
+
/**
|
|
23161
|
+
* Selects entire text and updates the visual state
|
|
22896
23162
|
*/
|
|
22897
23163
|
cmdAll() {
|
|
22898
23164
|
this.selectAll();
|
|
22899
23165
|
this.renderCursorOrSelection();
|
|
22900
23166
|
}
|
|
22901
23167
|
|
|
22902
|
-
/**
|
|
22903
|
-
* Returns selected text
|
|
22904
|
-
* @return {String}
|
|
23168
|
+
/**
|
|
23169
|
+
* Returns selected text
|
|
23170
|
+
* @return {String}
|
|
22905
23171
|
*/
|
|
22906
23172
|
getSelectedText() {
|
|
22907
23173
|
return this._text.slice(this.selectionStart, this.selectionEnd).join('');
|
|
22908
23174
|
}
|
|
22909
23175
|
|
|
22910
|
-
/**
|
|
22911
|
-
* Find new selection index representing start of current word according to current selection index
|
|
22912
|
-
* @param {Number} startFrom Current selection index
|
|
22913
|
-
* @return {Number} New selection index
|
|
23176
|
+
/**
|
|
23177
|
+
* Find new selection index representing start of current word according to current selection index
|
|
23178
|
+
* @param {Number} startFrom Current selection index
|
|
23179
|
+
* @return {Number} New selection index
|
|
22914
23180
|
*/
|
|
22915
23181
|
findWordBoundaryLeft(startFrom) {
|
|
22916
23182
|
let offset = 0,
|
|
@@ -22930,10 +23196,10 @@ class ITextBehavior extends FabricText {
|
|
|
22930
23196
|
return startFrom - offset;
|
|
22931
23197
|
}
|
|
22932
23198
|
|
|
22933
|
-
/**
|
|
22934
|
-
* Find new selection index representing end of current word according to current selection index
|
|
22935
|
-
* @param {Number} startFrom Current selection index
|
|
22936
|
-
* @return {Number} New selection index
|
|
23199
|
+
/**
|
|
23200
|
+
* Find new selection index representing end of current word according to current selection index
|
|
23201
|
+
* @param {Number} startFrom Current selection index
|
|
23202
|
+
* @return {Number} New selection index
|
|
22937
23203
|
*/
|
|
22938
23204
|
findWordBoundaryRight(startFrom) {
|
|
22939
23205
|
let offset = 0,
|
|
@@ -22953,10 +23219,10 @@ class ITextBehavior extends FabricText {
|
|
|
22953
23219
|
return startFrom + offset;
|
|
22954
23220
|
}
|
|
22955
23221
|
|
|
22956
|
-
/**
|
|
22957
|
-
* Find new selection index representing start of current line according to current selection index
|
|
22958
|
-
* @param {Number} startFrom Current selection index
|
|
22959
|
-
* @return {Number} New selection index
|
|
23222
|
+
/**
|
|
23223
|
+
* Find new selection index representing start of current line according to current selection index
|
|
23224
|
+
* @param {Number} startFrom Current selection index
|
|
23225
|
+
* @return {Number} New selection index
|
|
22960
23226
|
*/
|
|
22961
23227
|
findLineBoundaryLeft(startFrom) {
|
|
22962
23228
|
let offset = 0,
|
|
@@ -22968,10 +23234,10 @@ class ITextBehavior extends FabricText {
|
|
|
22968
23234
|
return startFrom - offset;
|
|
22969
23235
|
}
|
|
22970
23236
|
|
|
22971
|
-
/**
|
|
22972
|
-
* Find new selection index representing end of current line according to current selection index
|
|
22973
|
-
* @param {Number} startFrom Current selection index
|
|
22974
|
-
* @return {Number} New selection index
|
|
23237
|
+
/**
|
|
23238
|
+
* Find new selection index representing end of current line according to current selection index
|
|
23239
|
+
* @param {Number} startFrom Current selection index
|
|
23240
|
+
* @return {Number} New selection index
|
|
22975
23241
|
*/
|
|
22976
23242
|
findLineBoundaryRight(startFrom) {
|
|
22977
23243
|
let offset = 0,
|
|
@@ -22983,11 +23249,11 @@ class ITextBehavior extends FabricText {
|
|
|
22983
23249
|
return startFrom + offset;
|
|
22984
23250
|
}
|
|
22985
23251
|
|
|
22986
|
-
/**
|
|
22987
|
-
* Finds index corresponding to beginning or end of a word
|
|
22988
|
-
* @param {Number} selectionStart Index of a character
|
|
22989
|
-
* @param {Number} direction 1 or -1
|
|
22990
|
-
* @return {Number} Index of the beginning or end of a word
|
|
23252
|
+
/**
|
|
23253
|
+
* Finds index corresponding to beginning or end of a word
|
|
23254
|
+
* @param {Number} selectionStart Index of a character
|
|
23255
|
+
* @param {Number} direction 1 or -1
|
|
23256
|
+
* @return {Number} Index of the beginning or end of a word
|
|
22991
23257
|
*/
|
|
22992
23258
|
searchWordBoundary(selectionStart, direction) {
|
|
22993
23259
|
const text = this._text;
|
|
@@ -23005,9 +23271,9 @@ class ITextBehavior extends FabricText {
|
|
|
23005
23271
|
return index;
|
|
23006
23272
|
}
|
|
23007
23273
|
|
|
23008
|
-
/**
|
|
23009
|
-
* Selects the word that contains the char at index selectionStart
|
|
23010
|
-
* @param {Number} selectionStart Index of a character
|
|
23274
|
+
/**
|
|
23275
|
+
* Selects the word that contains the char at index selectionStart
|
|
23276
|
+
* @param {Number} selectionStart Index of a character
|
|
23011
23277
|
*/
|
|
23012
23278
|
selectWord(selectionStart) {
|
|
23013
23279
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23023,9 +23289,9 @@ class ITextBehavior extends FabricText {
|
|
|
23023
23289
|
this.renderCursorOrSelection();
|
|
23024
23290
|
}
|
|
23025
23291
|
|
|
23026
|
-
/**
|
|
23027
|
-
* Selects the line that contains selectionStart
|
|
23028
|
-
* @param {Number} selectionStart Index of a character
|
|
23292
|
+
/**
|
|
23293
|
+
* Selects the line that contains selectionStart
|
|
23294
|
+
* @param {Number} selectionStart Index of a character
|
|
23029
23295
|
*/
|
|
23030
23296
|
selectLine(selectionStart) {
|
|
23031
23297
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -23037,8 +23303,8 @@ class ITextBehavior extends FabricText {
|
|
|
23037
23303
|
this._updateTextarea();
|
|
23038
23304
|
}
|
|
23039
23305
|
|
|
23040
|
-
/**
|
|
23041
|
-
* Enters editing state
|
|
23306
|
+
/**
|
|
23307
|
+
* Enters editing state
|
|
23042
23308
|
*/
|
|
23043
23309
|
enterEditing(e) {
|
|
23044
23310
|
if (this.isEditing || !this.editable) {
|
|
@@ -23058,8 +23324,8 @@ class ITextBehavior extends FabricText {
|
|
|
23058
23324
|
}
|
|
23059
23325
|
}
|
|
23060
23326
|
|
|
23061
|
-
/**
|
|
23062
|
-
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23327
|
+
/**
|
|
23328
|
+
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23063
23329
|
*/
|
|
23064
23330
|
enterEditingImpl() {
|
|
23065
23331
|
if (this.canvas) {
|
|
@@ -23083,8 +23349,8 @@ class ITextBehavior extends FabricText {
|
|
|
23083
23349
|
}
|
|
23084
23350
|
}
|
|
23085
23351
|
|
|
23086
|
-
/**
|
|
23087
|
-
* Enter overlay editing mode using DOM textarea overlay
|
|
23352
|
+
/**
|
|
23353
|
+
* Enter overlay editing mode using DOM textarea overlay
|
|
23088
23354
|
*/
|
|
23089
23355
|
enterOverlayEditing() {
|
|
23090
23356
|
this._saveEditingProps();
|
|
@@ -23105,8 +23371,8 @@ class ITextBehavior extends FabricText {
|
|
|
23105
23371
|
});
|
|
23106
23372
|
}
|
|
23107
23373
|
|
|
23108
|
-
/**
|
|
23109
|
-
* Commit overlay editing changes
|
|
23374
|
+
/**
|
|
23375
|
+
* Commit overlay editing changes
|
|
23110
23376
|
*/
|
|
23111
23377
|
commitOverlayEdit(text) {
|
|
23112
23378
|
const overlayEditor = this.__overlayEditor;
|
|
@@ -23130,8 +23396,8 @@ class ITextBehavior extends FabricText {
|
|
|
23130
23396
|
this.canvas && this.canvas.requestRenderAll();
|
|
23131
23397
|
}
|
|
23132
23398
|
|
|
23133
|
-
/**
|
|
23134
|
-
* Cancel overlay editing without changes
|
|
23399
|
+
/**
|
|
23400
|
+
* Cancel overlay editing without changes
|
|
23135
23401
|
*/
|
|
23136
23402
|
cancelOverlayEdit() {
|
|
23137
23403
|
// Restore original text
|
|
@@ -23139,8 +23405,8 @@ class ITextBehavior extends FabricText {
|
|
|
23139
23405
|
this.exitEditing();
|
|
23140
23406
|
}
|
|
23141
23407
|
|
|
23142
|
-
/**
|
|
23143
|
-
* called by {@link Canvas#textEditingManager}
|
|
23408
|
+
/**
|
|
23409
|
+
* called by {@link Canvas#textEditingManager}
|
|
23144
23410
|
*/
|
|
23145
23411
|
updateSelectionOnMouseMove(e) {
|
|
23146
23412
|
if (this.getActiveControl()) {
|
|
@@ -23168,8 +23434,8 @@ class ITextBehavior extends FabricText {
|
|
|
23168
23434
|
}
|
|
23169
23435
|
}
|
|
23170
23436
|
|
|
23171
|
-
/**
|
|
23172
|
-
* @private
|
|
23437
|
+
/**
|
|
23438
|
+
* @private
|
|
23173
23439
|
*/
|
|
23174
23440
|
_setEditingProps() {
|
|
23175
23441
|
this.hoverCursor = 'text';
|
|
@@ -23181,8 +23447,8 @@ class ITextBehavior extends FabricText {
|
|
|
23181
23447
|
this.lockMovementX = this.lockMovementY = true;
|
|
23182
23448
|
}
|
|
23183
23449
|
|
|
23184
|
-
/**
|
|
23185
|
-
* convert from textarea to grapheme indexes
|
|
23450
|
+
/**
|
|
23451
|
+
* convert from textarea to grapheme indexes
|
|
23186
23452
|
*/
|
|
23187
23453
|
fromStringToGraphemeSelection(start, end, text) {
|
|
23188
23454
|
const smallerTextStart = text.slice(0, start),
|
|
@@ -23201,8 +23467,8 @@ class ITextBehavior extends FabricText {
|
|
|
23201
23467
|
};
|
|
23202
23468
|
}
|
|
23203
23469
|
|
|
23204
|
-
/**
|
|
23205
|
-
* convert from fabric to textarea values
|
|
23470
|
+
/**
|
|
23471
|
+
* convert from fabric to textarea values
|
|
23206
23472
|
*/
|
|
23207
23473
|
fromGraphemeToStringSelection(start, end, graphemes) {
|
|
23208
23474
|
const smallerTextStart = graphemes.slice(0, start),
|
|
@@ -23221,8 +23487,8 @@ class ITextBehavior extends FabricText {
|
|
|
23221
23487
|
};
|
|
23222
23488
|
}
|
|
23223
23489
|
|
|
23224
|
-
/**
|
|
23225
|
-
* @private
|
|
23490
|
+
/**
|
|
23491
|
+
* @private
|
|
23226
23492
|
*/
|
|
23227
23493
|
_updateTextarea() {
|
|
23228
23494
|
this.cursorOffsetCache = {};
|
|
@@ -23237,8 +23503,8 @@ class ITextBehavior extends FabricText {
|
|
|
23237
23503
|
this.updateTextareaPosition();
|
|
23238
23504
|
}
|
|
23239
23505
|
|
|
23240
|
-
/**
|
|
23241
|
-
* @private
|
|
23506
|
+
/**
|
|
23507
|
+
* @private
|
|
23242
23508
|
*/
|
|
23243
23509
|
updateFromTextArea() {
|
|
23244
23510
|
if (!this.hiddenTextarea) {
|
|
@@ -23258,8 +23524,8 @@ class ITextBehavior extends FabricText {
|
|
|
23258
23524
|
this.updateTextareaPosition();
|
|
23259
23525
|
}
|
|
23260
23526
|
|
|
23261
|
-
/**
|
|
23262
|
-
* @private
|
|
23527
|
+
/**
|
|
23528
|
+
* @private
|
|
23263
23529
|
*/
|
|
23264
23530
|
updateTextareaPosition() {
|
|
23265
23531
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -23269,9 +23535,9 @@ class ITextBehavior extends FabricText {
|
|
|
23269
23535
|
}
|
|
23270
23536
|
}
|
|
23271
23537
|
|
|
23272
|
-
/**
|
|
23273
|
-
* @private
|
|
23274
|
-
* @return {Object} style contains style for hiddenTextarea
|
|
23538
|
+
/**
|
|
23539
|
+
* @private
|
|
23540
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
23275
23541
|
*/
|
|
23276
23542
|
_calcTextareaPosition() {
|
|
23277
23543
|
if (!this.canvas) {
|
|
@@ -23318,8 +23584,8 @@ class ITextBehavior extends FabricText {
|
|
|
23318
23584
|
};
|
|
23319
23585
|
}
|
|
23320
23586
|
|
|
23321
|
-
/**
|
|
23322
|
-
* @private
|
|
23587
|
+
/**
|
|
23588
|
+
* @private
|
|
23323
23589
|
*/
|
|
23324
23590
|
_saveEditingProps() {
|
|
23325
23591
|
this._savedProps = {
|
|
@@ -23336,8 +23602,8 @@ class ITextBehavior extends FabricText {
|
|
|
23336
23602
|
};
|
|
23337
23603
|
}
|
|
23338
23604
|
|
|
23339
|
-
/**
|
|
23340
|
-
* @private
|
|
23605
|
+
/**
|
|
23606
|
+
* @private
|
|
23341
23607
|
*/
|
|
23342
23608
|
_restoreEditingProps() {
|
|
23343
23609
|
if (!this._savedProps) {
|
|
@@ -23357,9 +23623,9 @@ class ITextBehavior extends FabricText {
|
|
|
23357
23623
|
delete this._savedProps;
|
|
23358
23624
|
}
|
|
23359
23625
|
|
|
23360
|
-
/**
|
|
23361
|
-
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
23362
|
-
* But it does not fire events
|
|
23626
|
+
/**
|
|
23627
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
23628
|
+
* But it does not fire events
|
|
23363
23629
|
*/
|
|
23364
23630
|
exitEditingImpl() {
|
|
23365
23631
|
const hiddenTextarea = this.hiddenTextarea;
|
|
@@ -23380,8 +23646,8 @@ class ITextBehavior extends FabricText {
|
|
|
23380
23646
|
}
|
|
23381
23647
|
}
|
|
23382
23648
|
|
|
23383
|
-
/**
|
|
23384
|
-
* Exits from editing state and fires relevant events
|
|
23649
|
+
/**
|
|
23650
|
+
* Exits from editing state and fires relevant events
|
|
23385
23651
|
*/
|
|
23386
23652
|
exitEditing() {
|
|
23387
23653
|
const isTextChanged = this._textBeforeEdit !== this.text;
|
|
@@ -23400,8 +23666,8 @@ class ITextBehavior extends FabricText {
|
|
|
23400
23666
|
return this;
|
|
23401
23667
|
}
|
|
23402
23668
|
|
|
23403
|
-
/**
|
|
23404
|
-
* @private
|
|
23669
|
+
/**
|
|
23670
|
+
* @private
|
|
23405
23671
|
*/
|
|
23406
23672
|
_removeExtraneousStyles() {
|
|
23407
23673
|
for (const prop in this.styles) {
|
|
@@ -23411,10 +23677,10 @@ class ITextBehavior extends FabricText {
|
|
|
23411
23677
|
}
|
|
23412
23678
|
}
|
|
23413
23679
|
|
|
23414
|
-
/**
|
|
23415
|
-
* remove and reflow a style block from start to end.
|
|
23416
|
-
* @param {Number} start linear start position for removal (included in removal)
|
|
23417
|
-
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
23680
|
+
/**
|
|
23681
|
+
* remove and reflow a style block from start to end.
|
|
23682
|
+
* @param {Number} start linear start position for removal (included in removal)
|
|
23683
|
+
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
23418
23684
|
*/
|
|
23419
23685
|
removeStyleFromTo(start, end) {
|
|
23420
23686
|
const {
|
|
@@ -23467,10 +23733,10 @@ class ITextBehavior extends FabricText {
|
|
|
23467
23733
|
}
|
|
23468
23734
|
}
|
|
23469
23735
|
|
|
23470
|
-
/**
|
|
23471
|
-
* Shifts line styles up or down
|
|
23472
|
-
* @param {Number} lineIndex Index of a line
|
|
23473
|
-
* @param {Number} offset Can any number?
|
|
23736
|
+
/**
|
|
23737
|
+
* Shifts line styles up or down
|
|
23738
|
+
* @param {Number} lineIndex Index of a line
|
|
23739
|
+
* @param {Number} offset Can any number?
|
|
23474
23740
|
*/
|
|
23475
23741
|
shiftLineStyles(lineIndex, offset) {
|
|
23476
23742
|
const clonedStyles = Object.assign({}, this.styles);
|
|
@@ -23485,15 +23751,15 @@ class ITextBehavior extends FabricText {
|
|
|
23485
23751
|
}
|
|
23486
23752
|
}
|
|
23487
23753
|
|
|
23488
|
-
/**
|
|
23489
|
-
* Handle insertion of more consecutive style lines for when one or more
|
|
23490
|
-
* newlines gets added to the text. Since current style needs to be shifted
|
|
23491
|
-
* first we shift the current style of the number lines needed, then we add
|
|
23492
|
-
* new lines from the last to the first.
|
|
23493
|
-
* @param {Number} lineIndex Index of a line
|
|
23494
|
-
* @param {Number} charIndex Index of a char
|
|
23495
|
-
* @param {Number} qty number of lines to add
|
|
23496
|
-
* @param {Array} copiedStyle Array of objects styles
|
|
23754
|
+
/**
|
|
23755
|
+
* Handle insertion of more consecutive style lines for when one or more
|
|
23756
|
+
* newlines gets added to the text. Since current style needs to be shifted
|
|
23757
|
+
* first we shift the current style of the number lines needed, then we add
|
|
23758
|
+
* new lines from the last to the first.
|
|
23759
|
+
* @param {Number} lineIndex Index of a line
|
|
23760
|
+
* @param {Number} charIndex Index of a char
|
|
23761
|
+
* @param {Number} qty number of lines to add
|
|
23762
|
+
* @param {Array} copiedStyle Array of objects styles
|
|
23497
23763
|
*/
|
|
23498
23764
|
insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
|
|
23499
23765
|
const newLineStyles = {};
|
|
@@ -23553,12 +23819,12 @@ class ITextBehavior extends FabricText {
|
|
|
23553
23819
|
this._forceClearCache = true;
|
|
23554
23820
|
}
|
|
23555
23821
|
|
|
23556
|
-
/**
|
|
23557
|
-
* Inserts style object for a given line/char index
|
|
23558
|
-
* @param {Number} lineIndex Index of a line
|
|
23559
|
-
* @param {Number} charIndex Index of a char
|
|
23560
|
-
* @param {Number} quantity number Style object to insert, if given
|
|
23561
|
-
* @param {Array} copiedStyle array of style objects
|
|
23822
|
+
/**
|
|
23823
|
+
* Inserts style object for a given line/char index
|
|
23824
|
+
* @param {Number} lineIndex Index of a line
|
|
23825
|
+
* @param {Number} charIndex Index of a char
|
|
23826
|
+
* @param {Number} quantity number Style object to insert, if given
|
|
23827
|
+
* @param {Array} copiedStyle array of style objects
|
|
23562
23828
|
*/
|
|
23563
23829
|
insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
|
|
23564
23830
|
if (!this.styles) {
|
|
@@ -23607,11 +23873,11 @@ class ITextBehavior extends FabricText {
|
|
|
23607
23873
|
}
|
|
23608
23874
|
}
|
|
23609
23875
|
|
|
23610
|
-
/**
|
|
23611
|
-
* Inserts style object(s)
|
|
23612
|
-
* @param {Array} insertedText Characters at the location where style is inserted
|
|
23613
|
-
* @param {Number} start cursor index for inserting style
|
|
23614
|
-
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
23876
|
+
/**
|
|
23877
|
+
* Inserts style object(s)
|
|
23878
|
+
* @param {Array} insertedText Characters at the location where style is inserted
|
|
23879
|
+
* @param {Number} start cursor index for inserting style
|
|
23880
|
+
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
23615
23881
|
*/
|
|
23616
23882
|
insertNewStyleBlock(insertedText, start, copiedStyle) {
|
|
23617
23883
|
const cursorLoc = this.get2DCursorLocation(start, true),
|
|
@@ -23652,12 +23918,12 @@ class ITextBehavior extends FabricText {
|
|
|
23652
23918
|
}
|
|
23653
23919
|
}
|
|
23654
23920
|
|
|
23655
|
-
/**
|
|
23656
|
-
* Removes characters from start/end
|
|
23657
|
-
* start/end ar per grapheme position in _text array.
|
|
23658
|
-
*
|
|
23659
|
-
* @param {Number} start
|
|
23660
|
-
* @param {Number} end default to start + 1
|
|
23921
|
+
/**
|
|
23922
|
+
* Removes characters from start/end
|
|
23923
|
+
* start/end ar per grapheme position in _text array.
|
|
23924
|
+
*
|
|
23925
|
+
* @param {Number} start
|
|
23926
|
+
* @param {Number} end default to start + 1
|
|
23661
23927
|
*/
|
|
23662
23928
|
removeChars(start) {
|
|
23663
23929
|
let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
|
|
@@ -23670,17 +23936,17 @@ class ITextBehavior extends FabricText {
|
|
|
23670
23936
|
this._removeExtraneousStyles();
|
|
23671
23937
|
}
|
|
23672
23938
|
|
|
23673
|
-
/**
|
|
23674
|
-
* insert characters at start position, before start position.
|
|
23675
|
-
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
23676
|
-
* if style array is provided, it must be as the same length of text in graphemes
|
|
23677
|
-
* if end is provided and is bigger than start, old text is replaced.
|
|
23678
|
-
* start/end ar per grapheme position in _text array.
|
|
23679
|
-
*
|
|
23680
|
-
* @param {String} text text to insert
|
|
23681
|
-
* @param {Array} style array of style objects
|
|
23682
|
-
* @param {Number} start
|
|
23683
|
-
* @param {Number} end default to start + 1
|
|
23939
|
+
/**
|
|
23940
|
+
* insert characters at start position, before start position.
|
|
23941
|
+
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
23942
|
+
* if style array is provided, it must be as the same length of text in graphemes
|
|
23943
|
+
* if end is provided and is bigger than start, old text is replaced.
|
|
23944
|
+
* start/end ar per grapheme position in _text array.
|
|
23945
|
+
*
|
|
23946
|
+
* @param {String} text text to insert
|
|
23947
|
+
* @param {Array} style array of style objects
|
|
23948
|
+
* @param {Number} start
|
|
23949
|
+
* @param {Number} end default to start + 1
|
|
23684
23950
|
*/
|
|
23685
23951
|
insertChars(text, style, start) {
|
|
23686
23952
|
let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
|
|
@@ -23697,9 +23963,9 @@ class ITextBehavior extends FabricText {
|
|
|
23697
23963
|
this._removeExtraneousStyles();
|
|
23698
23964
|
}
|
|
23699
23965
|
|
|
23700
|
-
/**
|
|
23701
|
-
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
23702
|
-
* mimic the key - mouse navigation when shift is pressed.
|
|
23966
|
+
/**
|
|
23967
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
23968
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
23703
23969
|
*/
|
|
23704
23970
|
setSelectionStartEndWithShift(start, end, newSelection) {
|
|
23705
23971
|
if (newSelection <= start) {
|
|
@@ -24322,8 +24588,8 @@ class ITextKeyBehavior extends ITextBehavior {
|
|
|
24322
24588
|
}
|
|
24323
24589
|
}
|
|
24324
24590
|
|
|
24325
|
-
/**
|
|
24326
|
-
* `LEFT_CLICK === 0`
|
|
24591
|
+
/**
|
|
24592
|
+
* `LEFT_CLICK === 0`
|
|
24327
24593
|
*/
|
|
24328
24594
|
const notALeftClick = e => !!e.button;
|
|
24329
24595
|
class ITextClickBehavior extends ITextKeyBehavior {
|
|
@@ -24341,36 +24607,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
24341
24607
|
super.initBehavior();
|
|
24342
24608
|
}
|
|
24343
24609
|
|
|
24344
|
-
/**
|
|
24345
|
-
* If this method returns true a mouse move operation over a text selection
|
|
24346
|
-
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
24347
|
-
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
24348
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24349
|
-
* @returns
|
|
24610
|
+
/**
|
|
24611
|
+
* If this method returns true a mouse move operation over a text selection
|
|
24612
|
+
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
24613
|
+
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
24614
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24615
|
+
* @returns
|
|
24350
24616
|
*/
|
|
24351
24617
|
shouldStartDragging() {
|
|
24352
24618
|
return this.draggableTextDelegate.isActive();
|
|
24353
24619
|
}
|
|
24354
24620
|
|
|
24355
|
-
/**
|
|
24356
|
-
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
24357
|
-
* @see also {@link DraggableTextDelegate#isActive}
|
|
24358
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24359
|
-
* @returns {boolean} should handle event
|
|
24621
|
+
/**
|
|
24622
|
+
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
24623
|
+
* @see also {@link DraggableTextDelegate#isActive}
|
|
24624
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24625
|
+
* @returns {boolean} should handle event
|
|
24360
24626
|
*/
|
|
24361
24627
|
onDragStart(e) {
|
|
24362
24628
|
return this.draggableTextDelegate.onDragStart(e);
|
|
24363
24629
|
}
|
|
24364
24630
|
|
|
24365
|
-
/**
|
|
24366
|
-
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
24631
|
+
/**
|
|
24632
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
24367
24633
|
*/
|
|
24368
24634
|
canDrop(e) {
|
|
24369
24635
|
return this.draggableTextDelegate.canDrop(e);
|
|
24370
24636
|
}
|
|
24371
24637
|
|
|
24372
|
-
/**
|
|
24373
|
-
* Default handler for double click, select a word or enter overlay editing
|
|
24638
|
+
/**
|
|
24639
|
+
* Default handler for double click, select a word or enter overlay editing
|
|
24374
24640
|
*/
|
|
24375
24641
|
doubleClickHandler(options) {
|
|
24376
24642
|
// Check if we should enter overlay editing mode
|
|
@@ -24387,8 +24653,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
24387
24653
|
this.renderCursorOrSelection();
|
|
24388
24654
|
}
|
|
24389
24655
|
|
|
24390
|
-
/**
|
|
24391
|
-
* Default handler for triple click, select a line
|
|
24656
|
+
/**
|
|
24657
|
+
* Default handler for triple click, select a line
|
|
24392
24658
|
*/
|
|
24393
24659
|
tripleClickHandler(options) {
|
|
24394
24660
|
if (!this.isEditing) {
|
|
@@ -24398,13 +24664,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
24398
24664
|
this.renderCursorOrSelection();
|
|
24399
24665
|
}
|
|
24400
24666
|
|
|
24401
|
-
/**
|
|
24402
|
-
* Default event handler for the basic functionalities needed on _mouseDown
|
|
24403
|
-
* can be overridden to do something different.
|
|
24404
|
-
* Scope of this implementation is: find the click position, set selectionStart
|
|
24405
|
-
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
24406
|
-
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
24407
|
-
* current compositionMode. It will be set to false.
|
|
24667
|
+
/**
|
|
24668
|
+
* Default event handler for the basic functionalities needed on _mouseDown
|
|
24669
|
+
* can be overridden to do something different.
|
|
24670
|
+
* Scope of this implementation is: find the click position, set selectionStart
|
|
24671
|
+
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
24672
|
+
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
24673
|
+
* current compositionMode. It will be set to false.
|
|
24408
24674
|
*/
|
|
24409
24675
|
_mouseDownHandler(_ref) {
|
|
24410
24676
|
let {
|
|
@@ -24432,9 +24698,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
24432
24698
|
this.selected || (this.selected = alreadySelected || this.isEditing);
|
|
24433
24699
|
}
|
|
24434
24700
|
|
|
24435
|
-
/**
|
|
24436
|
-
* standard handler for mouse up, overridable
|
|
24437
|
-
* @private
|
|
24701
|
+
/**
|
|
24702
|
+
* standard handler for mouse up, overridable
|
|
24703
|
+
* @private
|
|
24438
24704
|
*/
|
|
24439
24705
|
mouseUpHandler(_ref2) {
|
|
24440
24706
|
let {
|
|
@@ -24465,9 +24731,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
24465
24731
|
}
|
|
24466
24732
|
}
|
|
24467
24733
|
|
|
24468
|
-
/**
|
|
24469
|
-
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
24470
|
-
* @param {TPointerEvent} e Event object
|
|
24734
|
+
/**
|
|
24735
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
24736
|
+
* @param {TPointerEvent} e Event object
|
|
24471
24737
|
*/
|
|
24472
24738
|
setCursorByClick(e) {
|
|
24473
24739
|
const newSelection = this.getSelectionStartFromPointer(e),
|
|
@@ -24485,10 +24751,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
24485
24751
|
}
|
|
24486
24752
|
}
|
|
24487
24753
|
|
|
24488
|
-
/**
|
|
24489
|
-
* Returns index of a character corresponding to where an object was clicked
|
|
24490
|
-
* @param {TPointerEvent} e Event object
|
|
24491
|
-
* @return {Number} Index of a character
|
|
24754
|
+
/**
|
|
24755
|
+
* Returns index of a character corresponding to where an object was clicked
|
|
24756
|
+
* @param {TPointerEvent} e Event object
|
|
24757
|
+
* @return {Number} Index of a character
|
|
24492
24758
|
*/
|
|
24493
24759
|
getSelectionStartFromPointer(e) {
|
|
24494
24760
|
const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
|
|
@@ -24534,15 +24800,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
|
|
|
24534
24800
|
}
|
|
24535
24801
|
}
|
|
24536
24802
|
|
|
24537
|
-
/**
|
|
24538
|
-
* Hit Testing and Cursor Positioning System
|
|
24539
|
-
*
|
|
24540
|
-
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
24541
|
-
* for interactive text editing with grapheme-aware boundaries.
|
|
24803
|
+
/**
|
|
24804
|
+
* Hit Testing and Cursor Positioning System
|
|
24805
|
+
*
|
|
24806
|
+
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
24807
|
+
* for interactive text editing with grapheme-aware boundaries.
|
|
24542
24808
|
*/
|
|
24543
24809
|
|
|
24544
|
-
/**
|
|
24545
|
-
* Hit test a point against laid out text to find insertion position
|
|
24810
|
+
/**
|
|
24811
|
+
* Hit test a point against laid out text to find insertion position
|
|
24546
24812
|
*/
|
|
24547
24813
|
function hitTest(x, y, layout, options) {
|
|
24548
24814
|
if (layout.lines.length === 0) {
|
|
@@ -24586,8 +24852,8 @@ function hitTest(x, y, layout, options) {
|
|
|
24586
24852
|
};
|
|
24587
24853
|
}
|
|
24588
24854
|
|
|
24589
|
-
/**
|
|
24590
|
-
* Get cursor rectangle for a given insertion index
|
|
24855
|
+
/**
|
|
24856
|
+
* Get cursor rectangle for a given insertion index
|
|
24591
24857
|
*/
|
|
24592
24858
|
function getCursorRect(insertionIndex, layout, options) {
|
|
24593
24859
|
if (layout.lines.length === 0) {
|
|
@@ -24634,8 +24900,8 @@ function getCursorRect(insertionIndex, layout, options) {
|
|
|
24634
24900
|
|
|
24635
24901
|
// Private helper functions
|
|
24636
24902
|
|
|
24637
|
-
/**
|
|
24638
|
-
* Find which line contains the given Y coordinate
|
|
24903
|
+
/**
|
|
24904
|
+
* Find which line contains the given Y coordinate
|
|
24639
24905
|
*/
|
|
24640
24906
|
function findLineAtY(y, lines) {
|
|
24641
24907
|
var _lines;
|
|
@@ -24658,8 +24924,8 @@ function findLineAtY(y, lines) {
|
|
|
24658
24924
|
};
|
|
24659
24925
|
}
|
|
24660
24926
|
|
|
24661
|
-
/**
|
|
24662
|
-
* Find character position within a line at given X coordinate
|
|
24927
|
+
/**
|
|
24928
|
+
* Find character position within a line at given X coordinate
|
|
24663
24929
|
*/
|
|
24664
24930
|
function findCharAtX(x, line, options) {
|
|
24665
24931
|
if (line.bounds.length === 0) {
|
|
@@ -24765,8 +25031,8 @@ function findCharAtX(x, line, options) {
|
|
|
24765
25031
|
};
|
|
24766
25032
|
}
|
|
24767
25033
|
|
|
24768
|
-
/**
|
|
24769
|
-
* Calculate total insertion index from line and character indices
|
|
25034
|
+
/**
|
|
25035
|
+
* Calculate total insertion index from line and character indices
|
|
24770
25036
|
*/
|
|
24771
25037
|
function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
24772
25038
|
let insertionIndex = 0;
|
|
@@ -24785,8 +25051,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
|
24785
25051
|
return insertionIndex;
|
|
24786
25052
|
}
|
|
24787
25053
|
|
|
24788
|
-
/**
|
|
24789
|
-
* Find line and grapheme position from insertion index
|
|
25054
|
+
/**
|
|
25055
|
+
* Find line and grapheme position from insertion index
|
|
24790
25056
|
*/
|
|
24791
25057
|
function findPositionFromIndex(insertionIndex, layout) {
|
|
24792
25058
|
let currentIndex = 0;
|
|
@@ -24828,8 +25094,8 @@ function findPositionFromIndex(insertionIndex, layout) {
|
|
|
24828
25094
|
};
|
|
24829
25095
|
}
|
|
24830
25096
|
|
|
24831
|
-
/**
|
|
24832
|
-
* Calculate Y position of a line
|
|
25097
|
+
/**
|
|
25098
|
+
* Calculate Y position of a line
|
|
24833
25099
|
*/
|
|
24834
25100
|
function calculateLineY(lineIndex, layout, options) {
|
|
24835
25101
|
let y = 0;
|
|
@@ -24932,48 +25198,48 @@ const iTextDefaultValues = {
|
|
|
24932
25198
|
|
|
24933
25199
|
// @TODO this is not complete
|
|
24934
25200
|
|
|
24935
|
-
/**
|
|
24936
|
-
* @fires changed
|
|
24937
|
-
* @fires selection:changed
|
|
24938
|
-
* @fires editing:entered
|
|
24939
|
-
* @fires editing:exited
|
|
24940
|
-
* @fires dragstart
|
|
24941
|
-
* @fires drag drag event firing on the drag source
|
|
24942
|
-
* @fires dragend
|
|
24943
|
-
* @fires copy
|
|
24944
|
-
* @fires cut
|
|
24945
|
-
* @fires paste
|
|
24946
|
-
*
|
|
24947
|
-
* #### Supported key combinations
|
|
24948
|
-
* ```
|
|
24949
|
-
* Move cursor: left, right, up, down
|
|
24950
|
-
* Select character: shift + left, shift + right
|
|
24951
|
-
* Select text vertically: shift + up, shift + down
|
|
24952
|
-
* Move cursor by word: alt + left, alt + right
|
|
24953
|
-
* Select words: shift + alt + left, shift + alt + right
|
|
24954
|
-
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
24955
|
-
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
24956
|
-
* Jump to start/end of text: cmd + up, cmd + down
|
|
24957
|
-
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
24958
|
-
* Delete character: backspace
|
|
24959
|
-
* Delete word: alt + backspace
|
|
24960
|
-
* Delete line: cmd + backspace
|
|
24961
|
-
* Forward delete: delete
|
|
24962
|
-
* Copy text: ctrl/cmd + c
|
|
24963
|
-
* Paste text: ctrl/cmd + v
|
|
24964
|
-
* Cut text: ctrl/cmd + x
|
|
24965
|
-
* Select entire text: ctrl/cmd + a
|
|
24966
|
-
* Quit editing tab or esc
|
|
24967
|
-
* ```
|
|
24968
|
-
*
|
|
24969
|
-
* #### Supported mouse/touch combination
|
|
24970
|
-
* ```
|
|
24971
|
-
* Position cursor: click/touch
|
|
24972
|
-
* Create selection: click/touch & drag
|
|
24973
|
-
* Create selection: click & shift + click
|
|
24974
|
-
* Select word: double click
|
|
24975
|
-
* Select line: triple click
|
|
24976
|
-
* ```
|
|
25201
|
+
/**
|
|
25202
|
+
* @fires changed
|
|
25203
|
+
* @fires selection:changed
|
|
25204
|
+
* @fires editing:entered
|
|
25205
|
+
* @fires editing:exited
|
|
25206
|
+
* @fires dragstart
|
|
25207
|
+
* @fires drag drag event firing on the drag source
|
|
25208
|
+
* @fires dragend
|
|
25209
|
+
* @fires copy
|
|
25210
|
+
* @fires cut
|
|
25211
|
+
* @fires paste
|
|
25212
|
+
*
|
|
25213
|
+
* #### Supported key combinations
|
|
25214
|
+
* ```
|
|
25215
|
+
* Move cursor: left, right, up, down
|
|
25216
|
+
* Select character: shift + left, shift + right
|
|
25217
|
+
* Select text vertically: shift + up, shift + down
|
|
25218
|
+
* Move cursor by word: alt + left, alt + right
|
|
25219
|
+
* Select words: shift + alt + left, shift + alt + right
|
|
25220
|
+
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
25221
|
+
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
25222
|
+
* Jump to start/end of text: cmd + up, cmd + down
|
|
25223
|
+
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
25224
|
+
* Delete character: backspace
|
|
25225
|
+
* Delete word: alt + backspace
|
|
25226
|
+
* Delete line: cmd + backspace
|
|
25227
|
+
* Forward delete: delete
|
|
25228
|
+
* Copy text: ctrl/cmd + c
|
|
25229
|
+
* Paste text: ctrl/cmd + v
|
|
25230
|
+
* Cut text: ctrl/cmd + x
|
|
25231
|
+
* Select entire text: ctrl/cmd + a
|
|
25232
|
+
* Quit editing tab or esc
|
|
25233
|
+
* ```
|
|
25234
|
+
*
|
|
25235
|
+
* #### Supported mouse/touch combination
|
|
25236
|
+
* ```
|
|
25237
|
+
* Position cursor: click/touch
|
|
25238
|
+
* Create selection: click/touch & drag
|
|
25239
|
+
* Create selection: click & shift + click
|
|
25240
|
+
* Select word: double click
|
|
25241
|
+
* Select line: triple click
|
|
25242
|
+
* ```
|
|
24977
25243
|
*/
|
|
24978
25244
|
class IText extends ITextClickBehavior {
|
|
24979
25245
|
static getDefaults() {
|
|
@@ -24988,10 +25254,10 @@ class IText extends ITextClickBehavior {
|
|
|
24988
25254
|
return type === 'itext' ? 'i-text' : type;
|
|
24989
25255
|
}
|
|
24990
25256
|
|
|
24991
|
-
/**
|
|
24992
|
-
* Constructor
|
|
24993
|
-
* @param {String} text Text string
|
|
24994
|
-
* @param {Object} [options] Options object
|
|
25257
|
+
/**
|
|
25258
|
+
* Constructor
|
|
25259
|
+
* @param {String} text Text string
|
|
25260
|
+
* @param {Object} [options] Options object
|
|
24995
25261
|
*/
|
|
24996
25262
|
constructor(text, options) {
|
|
24997
25263
|
super(text, {
|
|
@@ -25001,11 +25267,11 @@ class IText extends ITextClickBehavior {
|
|
|
25001
25267
|
this.initBehavior();
|
|
25002
25268
|
}
|
|
25003
25269
|
|
|
25004
|
-
/**
|
|
25005
|
-
* While editing handle differently
|
|
25006
|
-
* @private
|
|
25007
|
-
* @param {string} key
|
|
25008
|
-
* @param {*} value
|
|
25270
|
+
/**
|
|
25271
|
+
* While editing handle differently
|
|
25272
|
+
* @private
|
|
25273
|
+
* @param {string} key
|
|
25274
|
+
* @param {*} value
|
|
25009
25275
|
*/
|
|
25010
25276
|
_set(key, value) {
|
|
25011
25277
|
if (this.isEditing && this._savedProps && key in this._savedProps) {
|
|
@@ -25020,28 +25286,28 @@ class IText extends ITextClickBehavior {
|
|
|
25020
25286
|
return super._set(key, value);
|
|
25021
25287
|
}
|
|
25022
25288
|
|
|
25023
|
-
/**
|
|
25024
|
-
* Sets selection start (left boundary of a selection)
|
|
25025
|
-
* @param {Number} index Index to set selection start to
|
|
25289
|
+
/**
|
|
25290
|
+
* Sets selection start (left boundary of a selection)
|
|
25291
|
+
* @param {Number} index Index to set selection start to
|
|
25026
25292
|
*/
|
|
25027
25293
|
setSelectionStart(index) {
|
|
25028
25294
|
index = Math.max(index, 0);
|
|
25029
25295
|
this._updateAndFire('selectionStart', index);
|
|
25030
25296
|
}
|
|
25031
25297
|
|
|
25032
|
-
/**
|
|
25033
|
-
* Sets selection end (right boundary of a selection)
|
|
25034
|
-
* @param {Number} index Index to set selection end to
|
|
25298
|
+
/**
|
|
25299
|
+
* Sets selection end (right boundary of a selection)
|
|
25300
|
+
* @param {Number} index Index to set selection end to
|
|
25035
25301
|
*/
|
|
25036
25302
|
setSelectionEnd(index) {
|
|
25037
25303
|
index = Math.min(index, this.text.length);
|
|
25038
25304
|
this._updateAndFire('selectionEnd', index);
|
|
25039
25305
|
}
|
|
25040
25306
|
|
|
25041
|
-
/**
|
|
25042
|
-
* @private
|
|
25043
|
-
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
25044
|
-
* @param {Number} index new position of property
|
|
25307
|
+
/**
|
|
25308
|
+
* @private
|
|
25309
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
25310
|
+
* @param {Number} index new position of property
|
|
25045
25311
|
*/
|
|
25046
25312
|
_updateAndFire(property, index) {
|
|
25047
25313
|
if (this[property] !== index) {
|
|
@@ -25051,9 +25317,9 @@ class IText extends ITextClickBehavior {
|
|
|
25051
25317
|
this._updateTextarea();
|
|
25052
25318
|
}
|
|
25053
25319
|
|
|
25054
|
-
/**
|
|
25055
|
-
* Fires the even of selection changed
|
|
25056
|
-
* @private
|
|
25320
|
+
/**
|
|
25321
|
+
* Fires the even of selection changed
|
|
25322
|
+
* @private
|
|
25057
25323
|
*/
|
|
25058
25324
|
_fireSelectionChanged() {
|
|
25059
25325
|
this.fire('selection:changed');
|
|
@@ -25062,25 +25328,25 @@ class IText extends ITextClickBehavior {
|
|
|
25062
25328
|
});
|
|
25063
25329
|
}
|
|
25064
25330
|
|
|
25065
|
-
/**
|
|
25066
|
-
* Initialize text dimensions. Render all text on given context
|
|
25067
|
-
* or on a offscreen canvas to get the text width with measureText.
|
|
25068
|
-
* Updates this.width and this.height with the proper values.
|
|
25069
|
-
* Does not return dimensions.
|
|
25070
|
-
* @private
|
|
25331
|
+
/**
|
|
25332
|
+
* Initialize text dimensions. Render all text on given context
|
|
25333
|
+
* or on a offscreen canvas to get the text width with measureText.
|
|
25334
|
+
* Updates this.width and this.height with the proper values.
|
|
25335
|
+
* Does not return dimensions.
|
|
25336
|
+
* @private
|
|
25071
25337
|
*/
|
|
25072
25338
|
initDimensions() {
|
|
25073
25339
|
this.isEditing && this.initDelayedCursor();
|
|
25074
25340
|
super.initDimensions();
|
|
25075
25341
|
}
|
|
25076
25342
|
|
|
25077
|
-
/**
|
|
25078
|
-
* Gets style of a current selection/cursor (at the start position)
|
|
25079
|
-
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
25080
|
-
* @param {Number} startIndex Start index to get styles at
|
|
25081
|
-
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
25082
|
-
* @param {Boolean} [complete] get full style or not
|
|
25083
|
-
* @return {Array} styles an array with one, zero or more Style objects
|
|
25343
|
+
/**
|
|
25344
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
25345
|
+
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
25346
|
+
* @param {Number} startIndex Start index to get styles at
|
|
25347
|
+
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
25348
|
+
* @param {Boolean} [complete] get full style or not
|
|
25349
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
25084
25350
|
*/
|
|
25085
25351
|
getSelectionStyles() {
|
|
25086
25352
|
let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
|
|
@@ -25089,11 +25355,11 @@ class IText extends ITextClickBehavior {
|
|
|
25089
25355
|
return super.getSelectionStyles(startIndex, endIndex, complete);
|
|
25090
25356
|
}
|
|
25091
25357
|
|
|
25092
|
-
/**
|
|
25093
|
-
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
25094
|
-
* @param {Object} [styles] Styles object
|
|
25095
|
-
* @param {Number} [startIndex] Start index to get styles at
|
|
25096
|
-
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
25358
|
+
/**
|
|
25359
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
25360
|
+
* @param {Object} [styles] Styles object
|
|
25361
|
+
* @param {Number} [startIndex] Start index to get styles at
|
|
25362
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
25097
25363
|
*/
|
|
25098
25364
|
setSelectionStyles(styles) {
|
|
25099
25365
|
let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
|
|
@@ -25101,10 +25367,10 @@ class IText extends ITextClickBehavior {
|
|
|
25101
25367
|
return super.setSelectionStyles(styles, startIndex, endIndex);
|
|
25102
25368
|
}
|
|
25103
25369
|
|
|
25104
|
-
/**
|
|
25105
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
25106
|
-
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
25107
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
25370
|
+
/**
|
|
25371
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
25372
|
+
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
25373
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
25108
25374
|
*/
|
|
25109
25375
|
get2DCursorLocation() {
|
|
25110
25376
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -25112,9 +25378,9 @@ class IText extends ITextClickBehavior {
|
|
|
25112
25378
|
return super.get2DCursorLocation(selectionStart, skipWrapping);
|
|
25113
25379
|
}
|
|
25114
25380
|
|
|
25115
|
-
/**
|
|
25116
|
-
* @private
|
|
25117
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
25381
|
+
/**
|
|
25382
|
+
* @private
|
|
25383
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
25118
25384
|
*/
|
|
25119
25385
|
render(ctx) {
|
|
25120
25386
|
super.render(ctx);
|
|
@@ -25124,9 +25390,9 @@ class IText extends ITextClickBehavior {
|
|
|
25124
25390
|
this.renderCursorOrSelection();
|
|
25125
25391
|
}
|
|
25126
25392
|
|
|
25127
|
-
/**
|
|
25128
|
-
* @override block cursor/selection logic while rendering the exported canvas
|
|
25129
|
-
* @todo this workaround should be replaced with a more robust solution
|
|
25393
|
+
/**
|
|
25394
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
25395
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
25130
25396
|
*/
|
|
25131
25397
|
toCanvasElement(options) {
|
|
25132
25398
|
const isEditing = this.isEditing;
|
|
@@ -25136,9 +25402,9 @@ class IText extends ITextClickBehavior {
|
|
|
25136
25402
|
return canvas;
|
|
25137
25403
|
}
|
|
25138
25404
|
|
|
25139
|
-
/**
|
|
25140
|
-
* Renders cursor or selection (depending on what exists)
|
|
25141
|
-
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
25405
|
+
/**
|
|
25406
|
+
* Renders cursor or selection (depending on what exists)
|
|
25407
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
25142
25408
|
*/
|
|
25143
25409
|
renderCursorOrSelection() {
|
|
25144
25410
|
if (!this.isEditing || !this.canvas) {
|
|
@@ -25194,12 +25460,12 @@ class IText extends ITextClickBehavior {
|
|
|
25194
25460
|
ctx.restore();
|
|
25195
25461
|
}
|
|
25196
25462
|
|
|
25197
|
-
/**
|
|
25198
|
-
* Finds and returns an array of clip paths that are applied to the parent
|
|
25199
|
-
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
25200
|
-
* traversed upwards (from the current object towards the root of the canvas),
|
|
25201
|
-
* checking each parent object for the presence of a `clipPath` that is not
|
|
25202
|
-
* absolutely positioned.
|
|
25463
|
+
/**
|
|
25464
|
+
* Finds and returns an array of clip paths that are applied to the parent
|
|
25465
|
+
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
25466
|
+
* traversed upwards (from the current object towards the root of the canvas),
|
|
25467
|
+
* checking each parent object for the presence of a `clipPath` that is not
|
|
25468
|
+
* absolutely positioned.
|
|
25203
25469
|
*/
|
|
25204
25470
|
findAncestorsWithClipPath() {
|
|
25205
25471
|
const clipPathAncestors = [];
|
|
@@ -25214,13 +25480,13 @@ class IText extends ITextClickBehavior {
|
|
|
25214
25480
|
return clipPathAncestors;
|
|
25215
25481
|
}
|
|
25216
25482
|
|
|
25217
|
-
/**
|
|
25218
|
-
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
25219
|
-
* left/top are left/top of entire text box
|
|
25220
|
-
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
25221
|
-
* @private
|
|
25222
|
-
* @param {number} [index] index from start
|
|
25223
|
-
* @param {boolean} [skipCaching]
|
|
25483
|
+
/**
|
|
25484
|
+
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
25485
|
+
* left/top are left/top of entire text box
|
|
25486
|
+
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
25487
|
+
* @private
|
|
25488
|
+
* @param {number} [index] index from start
|
|
25489
|
+
* @param {boolean} [skipCaching]
|
|
25224
25490
|
*/
|
|
25225
25491
|
_getCursorBoundaries() {
|
|
25226
25492
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -25234,11 +25500,11 @@ class IText extends ITextClickBehavior {
|
|
|
25234
25500
|
return this._getCursorBoundariesOriginal(index, skipCaching);
|
|
25235
25501
|
}
|
|
25236
25502
|
|
|
25237
|
-
/**
|
|
25238
|
-
* Caches and returns cursor left/top offset relative to instance's center point
|
|
25239
|
-
* @private
|
|
25240
|
-
* @param {number} index index from start
|
|
25241
|
-
* @param {boolean} [skipCaching]
|
|
25503
|
+
/**
|
|
25504
|
+
* Caches and returns cursor left/top offset relative to instance's center point
|
|
25505
|
+
* @private
|
|
25506
|
+
* @param {number} index index from start
|
|
25507
|
+
* @param {boolean} [skipCaching]
|
|
25242
25508
|
*/
|
|
25243
25509
|
_getCursorBoundariesOffsets(index, skipCaching) {
|
|
25244
25510
|
if (skipCaching) {
|
|
@@ -25250,9 +25516,9 @@ class IText extends ITextClickBehavior {
|
|
|
25250
25516
|
return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
|
|
25251
25517
|
}
|
|
25252
25518
|
|
|
25253
|
-
/**
|
|
25254
|
-
* Enhanced cursor boundaries using advanced hit testing when available
|
|
25255
|
-
* @private
|
|
25519
|
+
/**
|
|
25520
|
+
* Enhanced cursor boundaries using advanced hit testing when available
|
|
25521
|
+
* @private
|
|
25256
25522
|
*/
|
|
25257
25523
|
_getCursorBoundariesAdvanced(index) {
|
|
25258
25524
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -25268,9 +25534,9 @@ class IText extends ITextClickBehavior {
|
|
|
25268
25534
|
};
|
|
25269
25535
|
}
|
|
25270
25536
|
|
|
25271
|
-
/**
|
|
25272
|
-
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
25273
|
-
* @override
|
|
25537
|
+
/**
|
|
25538
|
+
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
25539
|
+
* @override
|
|
25274
25540
|
*/
|
|
25275
25541
|
getSelectionStartFromPointer(e) {
|
|
25276
25542
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -25284,9 +25550,9 @@ class IText extends ITextClickBehavior {
|
|
|
25284
25550
|
return Math.min(hitResult.charIndex, this._text.length);
|
|
25285
25551
|
}
|
|
25286
25552
|
|
|
25287
|
-
/**
|
|
25288
|
-
* Original cursor boundaries implementation
|
|
25289
|
-
* @private
|
|
25553
|
+
/**
|
|
25554
|
+
* Original cursor boundaries implementation
|
|
25555
|
+
* @private
|
|
25290
25556
|
*/
|
|
25291
25557
|
_getCursorBoundariesOriginal(index, skipCaching) {
|
|
25292
25558
|
const left = this._getLeftOffset(),
|
|
@@ -25300,10 +25566,10 @@ class IText extends ITextClickBehavior {
|
|
|
25300
25566
|
};
|
|
25301
25567
|
}
|
|
25302
25568
|
|
|
25303
|
-
/**
|
|
25304
|
-
* Calculates cursor left/top offset relative to instance's center point
|
|
25305
|
-
* @private
|
|
25306
|
-
* @param {number} index index from start
|
|
25569
|
+
/**
|
|
25570
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
25571
|
+
* @private
|
|
25572
|
+
* @param {number} index index from start
|
|
25307
25573
|
*/
|
|
25308
25574
|
__getCursorBoundariesOffsets(index) {
|
|
25309
25575
|
let topOffset = 0,
|
|
@@ -25337,29 +25603,29 @@ class IText extends ITextClickBehavior {
|
|
|
25337
25603
|
return boundaries;
|
|
25338
25604
|
}
|
|
25339
25605
|
|
|
25340
|
-
/**
|
|
25341
|
-
* Renders cursor on context Top, outside the animation cycle, on request
|
|
25342
|
-
* Used for the drag/drop effect.
|
|
25343
|
-
* If contextTop is not available, do nothing.
|
|
25606
|
+
/**
|
|
25607
|
+
* Renders cursor on context Top, outside the animation cycle, on request
|
|
25608
|
+
* Used for the drag/drop effect.
|
|
25609
|
+
* If contextTop is not available, do nothing.
|
|
25344
25610
|
*/
|
|
25345
25611
|
renderCursorAt(selectionStart) {
|
|
25346
25612
|
this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
|
|
25347
25613
|
}
|
|
25348
25614
|
|
|
25349
|
-
/**
|
|
25350
|
-
* Renders cursor
|
|
25351
|
-
* @param {Object} boundaries
|
|
25352
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25615
|
+
/**
|
|
25616
|
+
* Renders cursor
|
|
25617
|
+
* @param {Object} boundaries
|
|
25618
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25353
25619
|
*/
|
|
25354
25620
|
renderCursor(ctx, boundaries) {
|
|
25355
25621
|
this._renderCursor(ctx, boundaries, this.selectionStart);
|
|
25356
25622
|
}
|
|
25357
25623
|
|
|
25358
|
-
/**
|
|
25359
|
-
* Return the data needed to render the cursor for given selection start
|
|
25360
|
-
* The left,top are relative to the object, while width and height are prescaled
|
|
25361
|
-
* to look think with canvas zoom and object scaling,
|
|
25362
|
-
* so they depend on canvas and object scaling
|
|
25624
|
+
/**
|
|
25625
|
+
* Return the data needed to render the cursor for given selection start
|
|
25626
|
+
* The left,top are relative to the object, while width and height are prescaled
|
|
25627
|
+
* to look think with canvas zoom and object scaling,
|
|
25628
|
+
* so they depend on canvas and object scaling
|
|
25363
25629
|
*/
|
|
25364
25630
|
getCursorRenderingData() {
|
|
25365
25631
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -25382,9 +25648,9 @@ class IText extends ITextClickBehavior {
|
|
|
25382
25648
|
};
|
|
25383
25649
|
}
|
|
25384
25650
|
|
|
25385
|
-
/**
|
|
25386
|
-
* Render the cursor at the given selectionStart.
|
|
25387
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25651
|
+
/**
|
|
25652
|
+
* Render the cursor at the given selectionStart.
|
|
25653
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25388
25654
|
*/
|
|
25389
25655
|
_renderCursor(ctx, boundaries, selectionStart) {
|
|
25390
25656
|
const {
|
|
@@ -25400,10 +25666,10 @@ class IText extends ITextClickBehavior {
|
|
|
25400
25666
|
ctx.fillRect(left, top, width, height);
|
|
25401
25667
|
}
|
|
25402
25668
|
|
|
25403
|
-
/**
|
|
25404
|
-
* Renders text selection
|
|
25405
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25406
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25669
|
+
/**
|
|
25670
|
+
* Renders text selection
|
|
25671
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25672
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25407
25673
|
*/
|
|
25408
25674
|
renderSelection(ctx, boundaries) {
|
|
25409
25675
|
const selection = {
|
|
@@ -25413,8 +25679,8 @@ class IText extends ITextClickBehavior {
|
|
|
25413
25679
|
this._renderSelection(ctx, selection, boundaries);
|
|
25414
25680
|
}
|
|
25415
25681
|
|
|
25416
|
-
/**
|
|
25417
|
-
* Renders drag start text selection
|
|
25682
|
+
/**
|
|
25683
|
+
* Renders drag start text selection
|
|
25418
25684
|
*/
|
|
25419
25685
|
renderDragSourceEffect() {
|
|
25420
25686
|
const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
|
|
@@ -25425,12 +25691,12 @@ class IText extends ITextClickBehavior {
|
|
|
25425
25691
|
this.renderCursorAt(dragSelection);
|
|
25426
25692
|
}
|
|
25427
25693
|
|
|
25428
|
-
/**
|
|
25429
|
-
* Renders text selection
|
|
25430
|
-
* @private
|
|
25431
|
-
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
25432
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25433
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25694
|
+
/**
|
|
25695
|
+
* Renders text selection
|
|
25696
|
+
* @private
|
|
25697
|
+
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
25698
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25699
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25434
25700
|
*/
|
|
25435
25701
|
_renderSelection(ctx, selection, boundaries) {
|
|
25436
25702
|
const selectionStart = selection.selectionStart,
|
|
@@ -25492,34 +25758,34 @@ class IText extends ITextClickBehavior {
|
|
|
25492
25758
|
}
|
|
25493
25759
|
}
|
|
25494
25760
|
|
|
25495
|
-
/**
|
|
25496
|
-
* High level function to know the height of the cursor.
|
|
25497
|
-
* the currentChar is the one that precedes the cursor
|
|
25498
|
-
* Returns fontSize of char at the current cursor
|
|
25499
|
-
* Unused from the library, is for the end user
|
|
25500
|
-
* @return {Number} Character font size
|
|
25761
|
+
/**
|
|
25762
|
+
* High level function to know the height of the cursor.
|
|
25763
|
+
* the currentChar is the one that precedes the cursor
|
|
25764
|
+
* Returns fontSize of char at the current cursor
|
|
25765
|
+
* Unused from the library, is for the end user
|
|
25766
|
+
* @return {Number} Character font size
|
|
25501
25767
|
*/
|
|
25502
25768
|
getCurrentCharFontSize() {
|
|
25503
25769
|
const cp = this._getCurrentCharIndex();
|
|
25504
25770
|
return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
|
|
25505
25771
|
}
|
|
25506
25772
|
|
|
25507
|
-
/**
|
|
25508
|
-
* High level function to know the color of the cursor.
|
|
25509
|
-
* the currentChar is the one that precedes the cursor
|
|
25510
|
-
* Returns color (fill) of char at the current cursor
|
|
25511
|
-
* if the text object has a pattern or gradient for filler, it will return that.
|
|
25512
|
-
* Unused by the library, is for the end user
|
|
25513
|
-
* @return {String | TFiller} Character color (fill)
|
|
25773
|
+
/**
|
|
25774
|
+
* High level function to know the color of the cursor.
|
|
25775
|
+
* the currentChar is the one that precedes the cursor
|
|
25776
|
+
* Returns color (fill) of char at the current cursor
|
|
25777
|
+
* if the text object has a pattern or gradient for filler, it will return that.
|
|
25778
|
+
* Unused by the library, is for the end user
|
|
25779
|
+
* @return {String | TFiller} Character color (fill)
|
|
25514
25780
|
*/
|
|
25515
25781
|
getCurrentCharColor() {
|
|
25516
25782
|
const cp = this._getCurrentCharIndex();
|
|
25517
25783
|
return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
|
|
25518
25784
|
}
|
|
25519
25785
|
|
|
25520
|
-
/**
|
|
25521
|
-
* Returns the cursor position for the getCurrent.. functions
|
|
25522
|
-
* @private
|
|
25786
|
+
/**
|
|
25787
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
25788
|
+
* @private
|
|
25523
25789
|
*/
|
|
25524
25790
|
_getCurrentCharIndex() {
|
|
25525
25791
|
const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
|
|
@@ -25535,52 +25801,52 @@ class IText extends ITextClickBehavior {
|
|
|
25535
25801
|
super.dispose();
|
|
25536
25802
|
}
|
|
25537
25803
|
}
|
|
25538
|
-
/**
|
|
25539
|
-
* Index where text selection starts (or where cursor is when there is no selection)
|
|
25540
|
-
* @type Number
|
|
25804
|
+
/**
|
|
25805
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
25806
|
+
* @type Number
|
|
25541
25807
|
*/
|
|
25542
|
-
/**
|
|
25543
|
-
* Index where text selection ends
|
|
25544
|
-
* @type Number
|
|
25808
|
+
/**
|
|
25809
|
+
* Index where text selection ends
|
|
25810
|
+
* @type Number
|
|
25545
25811
|
*/
|
|
25546
|
-
/**
|
|
25547
|
-
* Color of text selection
|
|
25548
|
-
* @type String
|
|
25812
|
+
/**
|
|
25813
|
+
* Color of text selection
|
|
25814
|
+
* @type String
|
|
25549
25815
|
*/
|
|
25550
|
-
/**
|
|
25551
|
-
* Indicates whether text is in editing mode
|
|
25552
|
-
* @type Boolean
|
|
25816
|
+
/**
|
|
25817
|
+
* Indicates whether text is in editing mode
|
|
25818
|
+
* @type Boolean
|
|
25553
25819
|
*/
|
|
25554
|
-
/**
|
|
25555
|
-
* Indicates whether a text can be edited
|
|
25556
|
-
* @type Boolean
|
|
25820
|
+
/**
|
|
25821
|
+
* Indicates whether a text can be edited
|
|
25822
|
+
* @type Boolean
|
|
25557
25823
|
*/
|
|
25558
|
-
/**
|
|
25559
|
-
* Border color of text object while it's in editing mode
|
|
25560
|
-
* @type String
|
|
25824
|
+
/**
|
|
25825
|
+
* Border color of text object while it's in editing mode
|
|
25826
|
+
* @type String
|
|
25561
25827
|
*/
|
|
25562
|
-
/**
|
|
25563
|
-
* Width of cursor (in px)
|
|
25564
|
-
* @type Number
|
|
25828
|
+
/**
|
|
25829
|
+
* Width of cursor (in px)
|
|
25830
|
+
* @type Number
|
|
25565
25831
|
*/
|
|
25566
|
-
/**
|
|
25567
|
-
* Color of text cursor color in editing mode.
|
|
25568
|
-
* if not set (default) will take color from the text.
|
|
25569
|
-
* if set to a color value that fabric can understand, it will
|
|
25570
|
-
* be used instead of the color of the text at the current position.
|
|
25571
|
-
* @type String
|
|
25832
|
+
/**
|
|
25833
|
+
* Color of text cursor color in editing mode.
|
|
25834
|
+
* if not set (default) will take color from the text.
|
|
25835
|
+
* if set to a color value that fabric can understand, it will
|
|
25836
|
+
* be used instead of the color of the text at the current position.
|
|
25837
|
+
* @type String
|
|
25572
25838
|
*/
|
|
25573
|
-
/**
|
|
25574
|
-
* Delay between cursor blink (in ms)
|
|
25575
|
-
* @type Number
|
|
25839
|
+
/**
|
|
25840
|
+
* Delay between cursor blink (in ms)
|
|
25841
|
+
* @type Number
|
|
25576
25842
|
*/
|
|
25577
|
-
/**
|
|
25578
|
-
* Duration of cursor fade in (in ms)
|
|
25579
|
-
* @type Number
|
|
25843
|
+
/**
|
|
25844
|
+
* Duration of cursor fade in (in ms)
|
|
25845
|
+
* @type Number
|
|
25580
25846
|
*/
|
|
25581
|
-
/**
|
|
25582
|
-
* Indicates whether internal text char widths can be cached
|
|
25583
|
-
* @type Boolean
|
|
25847
|
+
/**
|
|
25848
|
+
* Indicates whether internal text char widths can be cached
|
|
25849
|
+
* @type Boolean
|
|
25584
25850
|
*/
|
|
25585
25851
|
_defineProperty(IText, "ownDefaults", iTextDefaultValues);
|
|
25586
25852
|
_defineProperty(IText, "type", 'IText');
|
|
@@ -25602,11 +25868,11 @@ const textboxDefaultValues = {
|
|
|
25602
25868
|
|
|
25603
25869
|
// @TODO this is not complete
|
|
25604
25870
|
|
|
25605
|
-
/**
|
|
25606
|
-
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
25607
|
-
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
25608
|
-
* user can only change width. Height is adjusted automatically based on the
|
|
25609
|
-
* wrapping of lines.
|
|
25871
|
+
/**
|
|
25872
|
+
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
25873
|
+
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
25874
|
+
* user can only change width. Height is adjusted automatically based on the
|
|
25875
|
+
* wrapping of lines.
|
|
25610
25876
|
*/
|
|
25611
25877
|
class Textbox extends IText {
|
|
25612
25878
|
static getDefaults() {
|
|
@@ -25616,10 +25882,10 @@ class Textbox extends IText {
|
|
|
25616
25882
|
};
|
|
25617
25883
|
}
|
|
25618
25884
|
|
|
25619
|
-
/**
|
|
25620
|
-
* Constructor
|
|
25621
|
-
* @param {String} text Text string
|
|
25622
|
-
* @param {Object} [options] Options object
|
|
25885
|
+
/**
|
|
25886
|
+
* Constructor
|
|
25887
|
+
* @param {String} text Text string
|
|
25888
|
+
* @param {Object} [options] Options object
|
|
25623
25889
|
*/
|
|
25624
25890
|
constructor(text, options) {
|
|
25625
25891
|
super(text, {
|
|
@@ -25629,10 +25895,10 @@ class Textbox extends IText {
|
|
|
25629
25895
|
this.initializeEventListeners();
|
|
25630
25896
|
}
|
|
25631
25897
|
|
|
25632
|
-
/**
|
|
25633
|
-
* Creates the default control object.
|
|
25634
|
-
* If you prefer to have on instance of controls shared among all objects
|
|
25635
|
-
* make this function return an empty object and add controls to the ownDefaults object
|
|
25898
|
+
/**
|
|
25899
|
+
* Creates the default control object.
|
|
25900
|
+
* If you prefer to have on instance of controls shared among all objects
|
|
25901
|
+
* make this function return an empty object and add controls to the ownDefaults object
|
|
25636
25902
|
*/
|
|
25637
25903
|
static createControls() {
|
|
25638
25904
|
return {
|
|
@@ -25640,11 +25906,11 @@ class Textbox extends IText {
|
|
|
25640
25906
|
};
|
|
25641
25907
|
}
|
|
25642
25908
|
|
|
25643
|
-
/**
|
|
25644
|
-
* Unlike superclass's version of this function, Textbox does not update
|
|
25645
|
-
* its width.
|
|
25646
|
-
* @private
|
|
25647
|
-
* @override
|
|
25909
|
+
/**
|
|
25910
|
+
* Unlike superclass's version of this function, Textbox does not update
|
|
25911
|
+
* its width.
|
|
25912
|
+
* @private
|
|
25913
|
+
* @override
|
|
25648
25914
|
*/
|
|
25649
25915
|
initDimensions() {
|
|
25650
25916
|
if (!this.initialized) {
|
|
@@ -25673,9 +25939,9 @@ class Textbox extends IText {
|
|
|
25673
25939
|
this.height = this.calcTextHeight();
|
|
25674
25940
|
}
|
|
25675
25941
|
|
|
25676
|
-
/**
|
|
25677
|
-
* Advanced dimensions calculation using new layout engine
|
|
25678
|
-
* @private
|
|
25942
|
+
/**
|
|
25943
|
+
* Advanced dimensions calculation using new layout engine
|
|
25944
|
+
* @private
|
|
25679
25945
|
*/
|
|
25680
25946
|
initDimensionsAdvanced() {
|
|
25681
25947
|
if (!this.initialized) {
|
|
@@ -25730,9 +25996,9 @@ class Textbox extends IText {
|
|
|
25730
25996
|
this.dirty = true;
|
|
25731
25997
|
}
|
|
25732
25998
|
|
|
25733
|
-
/**
|
|
25734
|
-
* Generate style map from new layout format
|
|
25735
|
-
* @private
|
|
25999
|
+
/**
|
|
26000
|
+
* Generate style map from new layout format
|
|
26001
|
+
* @private
|
|
25736
26002
|
*/
|
|
25737
26003
|
_generateStyleMapFromLayout(layout) {
|
|
25738
26004
|
const map = {};
|
|
@@ -25754,12 +26020,12 @@ class Textbox extends IText {
|
|
|
25754
26020
|
return map;
|
|
25755
26021
|
}
|
|
25756
26022
|
|
|
25757
|
-
/**
|
|
25758
|
-
* Generate an object that translates the style object so that it is
|
|
25759
|
-
* broken up by visual lines (new lines and automatic wrapping).
|
|
25760
|
-
* The original text styles object is broken up by actual lines (new lines only),
|
|
25761
|
-
* which is only sufficient for Text / IText
|
|
25762
|
-
* @private
|
|
26023
|
+
/**
|
|
26024
|
+
* Generate an object that translates the style object so that it is
|
|
26025
|
+
* broken up by visual lines (new lines and automatic wrapping).
|
|
26026
|
+
* The original text styles object is broken up by actual lines (new lines only),
|
|
26027
|
+
* which is only sufficient for Text / IText
|
|
26028
|
+
* @private
|
|
25763
26029
|
*/
|
|
25764
26030
|
_generateStyleMap(textInfo) {
|
|
25765
26031
|
let realLineCount = 0,
|
|
@@ -25786,10 +26052,10 @@ class Textbox extends IText {
|
|
|
25786
26052
|
return map;
|
|
25787
26053
|
}
|
|
25788
26054
|
|
|
25789
|
-
/**
|
|
25790
|
-
* Returns true if object has a style property or has it on a specified line
|
|
25791
|
-
* @param {Number} lineIndex
|
|
25792
|
-
* @return {Boolean}
|
|
26055
|
+
/**
|
|
26056
|
+
* Returns true if object has a style property or has it on a specified line
|
|
26057
|
+
* @param {Number} lineIndex
|
|
26058
|
+
* @return {Boolean}
|
|
25793
26059
|
*/
|
|
25794
26060
|
styleHas(property, lineIndex) {
|
|
25795
26061
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -25801,10 +26067,10 @@ class Textbox extends IText {
|
|
|
25801
26067
|
return super.styleHas(property, lineIndex);
|
|
25802
26068
|
}
|
|
25803
26069
|
|
|
25804
|
-
/**
|
|
25805
|
-
* Returns true if object has no styling or no styling in a line
|
|
25806
|
-
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
25807
|
-
* @return {Boolean}
|
|
26070
|
+
/**
|
|
26071
|
+
* Returns true if object has no styling or no styling in a line
|
|
26072
|
+
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
26073
|
+
* @return {Boolean}
|
|
25808
26074
|
*/
|
|
25809
26075
|
isEmptyStyles(lineIndex) {
|
|
25810
26076
|
if (!this.styles) {
|
|
@@ -25841,11 +26107,11 @@ class Textbox extends IText {
|
|
|
25841
26107
|
return true;
|
|
25842
26108
|
}
|
|
25843
26109
|
|
|
25844
|
-
/**
|
|
25845
|
-
* @protected
|
|
25846
|
-
* @param {Number} lineIndex
|
|
25847
|
-
* @param {Number} charIndex
|
|
25848
|
-
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
26110
|
+
/**
|
|
26111
|
+
* @protected
|
|
26112
|
+
* @param {Number} lineIndex
|
|
26113
|
+
* @param {Number} charIndex
|
|
26114
|
+
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
25849
26115
|
*/
|
|
25850
26116
|
_getStyleDeclaration(lineIndex, charIndex) {
|
|
25851
26117
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -25859,59 +26125,59 @@ class Textbox extends IText {
|
|
|
25859
26125
|
return super._getStyleDeclaration(lineIndex, charIndex);
|
|
25860
26126
|
}
|
|
25861
26127
|
|
|
25862
|
-
/**
|
|
25863
|
-
* @param {Number} lineIndex
|
|
25864
|
-
* @param {Number} charIndex
|
|
25865
|
-
* @param {Object} style
|
|
25866
|
-
* @private
|
|
26128
|
+
/**
|
|
26129
|
+
* @param {Number} lineIndex
|
|
26130
|
+
* @param {Number} charIndex
|
|
26131
|
+
* @param {Object} style
|
|
26132
|
+
* @private
|
|
25867
26133
|
*/
|
|
25868
26134
|
_setStyleDeclaration(lineIndex, charIndex, style) {
|
|
25869
26135
|
const map = this._styleMap[lineIndex];
|
|
25870
26136
|
super._setStyleDeclaration(map.line, map.offset + charIndex, style);
|
|
25871
26137
|
}
|
|
25872
26138
|
|
|
25873
|
-
/**
|
|
25874
|
-
* @param {Number} lineIndex
|
|
25875
|
-
* @param {Number} charIndex
|
|
25876
|
-
* @private
|
|
26139
|
+
/**
|
|
26140
|
+
* @param {Number} lineIndex
|
|
26141
|
+
* @param {Number} charIndex
|
|
26142
|
+
* @private
|
|
25877
26143
|
*/
|
|
25878
26144
|
_deleteStyleDeclaration(lineIndex, charIndex) {
|
|
25879
26145
|
const map = this._styleMap[lineIndex];
|
|
25880
26146
|
super._deleteStyleDeclaration(map.line, map.offset + charIndex);
|
|
25881
26147
|
}
|
|
25882
26148
|
|
|
25883
|
-
/**
|
|
25884
|
-
* probably broken need a fix
|
|
25885
|
-
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
25886
|
-
* Used just to verify if the line does exist or not.
|
|
25887
|
-
* @param {Number} lineIndex
|
|
25888
|
-
* @returns {Boolean} if the line exists or not
|
|
25889
|
-
* @private
|
|
26149
|
+
/**
|
|
26150
|
+
* probably broken need a fix
|
|
26151
|
+
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
26152
|
+
* Used just to verify if the line does exist or not.
|
|
26153
|
+
* @param {Number} lineIndex
|
|
26154
|
+
* @returns {Boolean} if the line exists or not
|
|
26155
|
+
* @private
|
|
25890
26156
|
*/
|
|
25891
26157
|
_getLineStyle(lineIndex) {
|
|
25892
26158
|
const map = this._styleMap[lineIndex];
|
|
25893
26159
|
return !!this.styles[map.line];
|
|
25894
26160
|
}
|
|
25895
26161
|
|
|
25896
|
-
/**
|
|
25897
|
-
* Set the line style to an empty object so that is initialized
|
|
25898
|
-
* @param {Number} lineIndex
|
|
25899
|
-
* @param {Object} style
|
|
25900
|
-
* @private
|
|
26162
|
+
/**
|
|
26163
|
+
* Set the line style to an empty object so that is initialized
|
|
26164
|
+
* @param {Number} lineIndex
|
|
26165
|
+
* @param {Object} style
|
|
26166
|
+
* @private
|
|
25901
26167
|
*/
|
|
25902
26168
|
_setLineStyle(lineIndex) {
|
|
25903
26169
|
const map = this._styleMap[lineIndex];
|
|
25904
26170
|
super._setLineStyle(map.line);
|
|
25905
26171
|
}
|
|
25906
26172
|
|
|
25907
|
-
/**
|
|
25908
|
-
* Wraps text using the 'width' property of Textbox. First this function
|
|
25909
|
-
* splits text on newlines, so we preserve newlines entered by the user.
|
|
25910
|
-
* Then it wraps each line using the width of the Textbox by calling
|
|
25911
|
-
* _wrapLine().
|
|
25912
|
-
* @param {Array} lines The string array of text that is split into lines
|
|
25913
|
-
* @param {Number} desiredWidth width you want to wrap to
|
|
25914
|
-
* @returns {Array} Array of lines
|
|
26173
|
+
/**
|
|
26174
|
+
* Wraps text using the 'width' property of Textbox. First this function
|
|
26175
|
+
* splits text on newlines, so we preserve newlines entered by the user.
|
|
26176
|
+
* Then it wraps each line using the width of the Textbox by calling
|
|
26177
|
+
* _wrapLine().
|
|
26178
|
+
* @param {Array} lines The string array of text that is split into lines
|
|
26179
|
+
* @param {Number} desiredWidth width you want to wrap to
|
|
26180
|
+
* @returns {Array} Array of lines
|
|
25915
26181
|
*/
|
|
25916
26182
|
_wrapText(lines, desiredWidth) {
|
|
25917
26183
|
this.isWrapping = true;
|
|
@@ -25925,12 +26191,12 @@ class Textbox extends IText {
|
|
|
25925
26191
|
return wrapped;
|
|
25926
26192
|
}
|
|
25927
26193
|
|
|
25928
|
-
/**
|
|
25929
|
-
* For each line of text terminated by an hard line stop,
|
|
25930
|
-
* measure each word width and extract the largest word from all.
|
|
25931
|
-
* The returned words here are the one that at the end will be rendered.
|
|
25932
|
-
* @param {string[]} lines the lines we need to measure
|
|
25933
|
-
*
|
|
26194
|
+
/**
|
|
26195
|
+
* For each line of text terminated by an hard line stop,
|
|
26196
|
+
* measure each word width and extract the largest word from all.
|
|
26197
|
+
* The returned words here are the one that at the end will be rendered.
|
|
26198
|
+
* @param {string[]} lines the lines we need to measure
|
|
26199
|
+
*
|
|
25934
26200
|
*/
|
|
25935
26201
|
getGraphemeDataForRender(lines) {
|
|
25936
26202
|
const splitByGrapheme = this.splitByGrapheme,
|
|
@@ -25963,17 +26229,17 @@ class Textbox extends IText {
|
|
|
25963
26229
|
};
|
|
25964
26230
|
}
|
|
25965
26231
|
|
|
25966
|
-
/**
|
|
25967
|
-
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
25968
|
-
* It gets called when charBounds are not available yet.
|
|
25969
|
-
* Override if necessary
|
|
25970
|
-
* Use with {@link Textbox#wordSplit}
|
|
25971
|
-
*
|
|
25972
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
25973
|
-
* @param {String} text
|
|
25974
|
-
* @param {number} lineIndex
|
|
25975
|
-
* @param {number} charOffset
|
|
25976
|
-
* @returns {number}
|
|
26232
|
+
/**
|
|
26233
|
+
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
26234
|
+
* It gets called when charBounds are not available yet.
|
|
26235
|
+
* Override if necessary
|
|
26236
|
+
* Use with {@link Textbox#wordSplit}
|
|
26237
|
+
*
|
|
26238
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
26239
|
+
* @param {String} text
|
|
26240
|
+
* @param {number} lineIndex
|
|
26241
|
+
* @param {number} charOffset
|
|
26242
|
+
* @returns {number}
|
|
25977
26243
|
*/
|
|
25978
26244
|
_measureWord(word, lineIndex) {
|
|
25979
26245
|
let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -25988,26 +26254,26 @@ class Textbox extends IText {
|
|
|
25988
26254
|
return width;
|
|
25989
26255
|
}
|
|
25990
26256
|
|
|
25991
|
-
/**
|
|
25992
|
-
* Override this method to customize word splitting
|
|
25993
|
-
* Use with {@link Textbox#_measureWord}
|
|
25994
|
-
* @param {string} value
|
|
25995
|
-
* @returns {string[]} array of words
|
|
26257
|
+
/**
|
|
26258
|
+
* Override this method to customize word splitting
|
|
26259
|
+
* Use with {@link Textbox#_measureWord}
|
|
26260
|
+
* @param {string} value
|
|
26261
|
+
* @returns {string[]} array of words
|
|
25996
26262
|
*/
|
|
25997
26263
|
wordSplit(value) {
|
|
25998
26264
|
return value.split(this._wordJoiners);
|
|
25999
26265
|
}
|
|
26000
26266
|
|
|
26001
|
-
/**
|
|
26002
|
-
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
26003
|
-
* and leveraging the known width o words from GraphemeData
|
|
26004
|
-
* @private
|
|
26005
|
-
* @param {Number} lineIndex
|
|
26006
|
-
* @param {Number} desiredWidth width you want to wrap the line to
|
|
26007
|
-
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
26008
|
-
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
26009
|
-
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
26010
|
-
* to.
|
|
26267
|
+
/**
|
|
26268
|
+
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
26269
|
+
* and leveraging the known width o words from GraphemeData
|
|
26270
|
+
* @private
|
|
26271
|
+
* @param {Number} lineIndex
|
|
26272
|
+
* @param {Number} desiredWidth width you want to wrap the line to
|
|
26273
|
+
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
26274
|
+
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
26275
|
+
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
26276
|
+
* to.
|
|
26011
26277
|
*/
|
|
26012
26278
|
_wrapLine(lineIndex, desiredWidth, _ref) {
|
|
26013
26279
|
let {
|
|
@@ -26065,11 +26331,11 @@ class Textbox extends IText {
|
|
|
26065
26331
|
return graphemeLines;
|
|
26066
26332
|
}
|
|
26067
26333
|
|
|
26068
|
-
/**
|
|
26069
|
-
* Detect if the text line is ended with an hard break
|
|
26070
|
-
* text and itext do not have wrapping, return false
|
|
26071
|
-
* @param {Number} lineIndex text to split
|
|
26072
|
-
* @return {Boolean}
|
|
26334
|
+
/**
|
|
26335
|
+
* Detect if the text line is ended with an hard break
|
|
26336
|
+
* text and itext do not have wrapping, return false
|
|
26337
|
+
* @param {Number} lineIndex text to split
|
|
26338
|
+
* @return {Boolean}
|
|
26073
26339
|
*/
|
|
26074
26340
|
isEndOfWrapping(lineIndex) {
|
|
26075
26341
|
if (!this._styleMap[lineIndex + 1]) {
|
|
@@ -26083,12 +26349,12 @@ class Textbox extends IText {
|
|
|
26083
26349
|
return false;
|
|
26084
26350
|
}
|
|
26085
26351
|
|
|
26086
|
-
/**
|
|
26087
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
26088
|
-
* and counting style.
|
|
26089
|
-
* This is important only for splitByGrapheme at the end of wrapping.
|
|
26090
|
-
* If we are not wrapping the offset is always 1
|
|
26091
|
-
* @return Number
|
|
26352
|
+
/**
|
|
26353
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
26354
|
+
* and counting style.
|
|
26355
|
+
* This is important only for splitByGrapheme at the end of wrapping.
|
|
26356
|
+
* If we are not wrapping the offset is always 1
|
|
26357
|
+
* @return Number
|
|
26092
26358
|
*/
|
|
26093
26359
|
missingNewlineOffset(lineIndex, skipWrapping) {
|
|
26094
26360
|
if (this.splitByGrapheme && !skipWrapping) {
|
|
@@ -26097,12 +26363,12 @@ class Textbox extends IText {
|
|
|
26097
26363
|
return 1;
|
|
26098
26364
|
}
|
|
26099
26365
|
|
|
26100
|
-
/**
|
|
26101
|
-
* Gets lines of text to render in the Textbox. This function calculates
|
|
26102
|
-
* text wrapping on the fly every time it is called.
|
|
26103
|
-
* @param {String} text text to split
|
|
26104
|
-
* @returns {Array} Array of lines in the Textbox.
|
|
26105
|
-
* @override
|
|
26366
|
+
/**
|
|
26367
|
+
* Gets lines of text to render in the Textbox. This function calculates
|
|
26368
|
+
* text wrapping on the fly every time it is called.
|
|
26369
|
+
* @param {String} text text to split
|
|
26370
|
+
* @returns {Array} Array of lines in the Textbox.
|
|
26371
|
+
* @override
|
|
26106
26372
|
*/
|
|
26107
26373
|
_splitTextIntoLines(text) {
|
|
26108
26374
|
const newText = super._splitTextIntoLines(text),
|
|
@@ -26134,9 +26400,9 @@ class Textbox extends IText {
|
|
|
26134
26400
|
}
|
|
26135
26401
|
}
|
|
26136
26402
|
|
|
26137
|
-
/**
|
|
26138
|
-
* Initialize event listeners for safety snap functionality
|
|
26139
|
-
* @private
|
|
26403
|
+
/**
|
|
26404
|
+
* Initialize event listeners for safety snap functionality
|
|
26405
|
+
* @private
|
|
26140
26406
|
*/
|
|
26141
26407
|
initializeEventListeners() {
|
|
26142
26408
|
var _this$canvas;
|
|
@@ -26179,12 +26445,12 @@ class Textbox extends IText {
|
|
|
26179
26445
|
});
|
|
26180
26446
|
}
|
|
26181
26447
|
|
|
26182
|
-
/**
|
|
26183
|
-
* Safety snap to prevent glyph clipping after manual resize.
|
|
26184
|
-
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
26185
|
-
* and automatically expands width if needed.
|
|
26186
|
-
* @private
|
|
26187
|
-
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
26448
|
+
/**
|
|
26449
|
+
* Safety snap to prevent glyph clipping after manual resize.
|
|
26450
|
+
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
26451
|
+
* and automatically expands width if needed.
|
|
26452
|
+
* @private
|
|
26453
|
+
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
26188
26454
|
*/
|
|
26189
26455
|
safetySnapWidth(resizeOrigin) {
|
|
26190
26456
|
// For Textbox objects, we always want to check for clipping regardless of isWrapping flag
|
|
@@ -26251,31 +26517,31 @@ class Textbox extends IText {
|
|
|
26251
26517
|
}
|
|
26252
26518
|
}
|
|
26253
26519
|
|
|
26254
|
-
/**
|
|
26255
|
-
* Returns object representation of an instance
|
|
26256
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
26257
|
-
* @return {Object} object representation of an instance
|
|
26520
|
+
/**
|
|
26521
|
+
* Returns object representation of an instance
|
|
26522
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
26523
|
+
* @return {Object} object representation of an instance
|
|
26258
26524
|
*/
|
|
26259
26525
|
toObject() {
|
|
26260
26526
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
26261
26527
|
return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
|
|
26262
26528
|
}
|
|
26263
26529
|
}
|
|
26264
|
-
/**
|
|
26265
|
-
* Minimum width of textbox, in pixels.
|
|
26266
|
-
* @type Number
|
|
26267
|
-
*/
|
|
26268
|
-
/**
|
|
26269
|
-
* Minimum calculated width of a textbox, in pixels.
|
|
26270
|
-
* fixed to 2 so that an empty textbox cannot go to 0
|
|
26271
|
-
* and is still selectable without text.
|
|
26272
|
-
* @type Number
|
|
26273
|
-
*/
|
|
26274
|
-
/**
|
|
26275
|
-
* Use this boolean property in order to split strings that have no white space concept.
|
|
26276
|
-
* this is a cheap way to help with chinese/japanese
|
|
26277
|
-
* @type Boolean
|
|
26278
|
-
* @since 2.6.0
|
|
26530
|
+
/**
|
|
26531
|
+
* Minimum width of textbox, in pixels.
|
|
26532
|
+
* @type Number
|
|
26533
|
+
*/
|
|
26534
|
+
/**
|
|
26535
|
+
* Minimum calculated width of a textbox, in pixels.
|
|
26536
|
+
* fixed to 2 so that an empty textbox cannot go to 0
|
|
26537
|
+
* and is still selectable without text.
|
|
26538
|
+
* @type Number
|
|
26539
|
+
*/
|
|
26540
|
+
/**
|
|
26541
|
+
* Use this boolean property in order to split strings that have no white space concept.
|
|
26542
|
+
* this is a cheap way to help with chinese/japanese
|
|
26543
|
+
* @type Boolean
|
|
26544
|
+
* @since 2.6.0
|
|
26279
26545
|
*/
|
|
26280
26546
|
_defineProperty(Textbox, "type", 'Textbox');
|
|
26281
26547
|
_defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);
|