@nasser-sw/fabric 7.0.1-beta1 → 7.0.1-beta2
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 +1180 -1044
- 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 +1180 -1044
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +1180 -1044
- 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 +1180 -1044
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.min.mjs.map +0 -0
- package/dist/package.json.mjs +1 -1
- package/dist/package.json.mjs.map +0 -0
- package/dist/src/ClassRegistry.d.ts +0 -0
- package/dist/src/ClassRegistry.d.ts.map +0 -0
- package/dist/src/ClassRegistry.min.mjs +0 -0
- package/dist/src/ClassRegistry.min.mjs.map +0 -0
- package/dist/src/ClassRegistry.mjs +0 -0
- package/dist/src/ClassRegistry.mjs.map +0 -0
- package/dist/src/Collection.d.ts +0 -0
- package/dist/src/Collection.d.ts.map +0 -0
- package/dist/src/Collection.min.mjs +0 -0
- package/dist/src/Collection.min.mjs.map +0 -0
- package/dist/src/Collection.mjs +0 -0
- package/dist/src/Collection.mjs.map +0 -0
- package/dist/src/CommonMethods.d.ts +0 -0
- package/dist/src/CommonMethods.d.ts.map +0 -0
- package/dist/src/CommonMethods.min.mjs +0 -0
- package/dist/src/CommonMethods.min.mjs.map +0 -0
- package/dist/src/CommonMethods.mjs +0 -0
- package/dist/src/CommonMethods.mjs.map +0 -0
- package/dist/src/EventTypeDefs.d.ts +0 -0
- package/dist/src/EventTypeDefs.d.ts.map +0 -0
- package/dist/src/Intersection.d.ts +0 -0
- package/dist/src/Intersection.d.ts.map +0 -0
- package/dist/src/Intersection.min.mjs +0 -0
- package/dist/src/Intersection.min.mjs.map +0 -0
- package/dist/src/Intersection.mjs +0 -0
- package/dist/src/Intersection.mjs.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutManager.mjs +0 -0
- package/dist/src/LayoutManager/LayoutManager.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +0 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -0
- package/dist/src/LayoutManager/constants.d.ts +0 -0
- package/dist/src/LayoutManager/constants.d.ts.map +0 -0
- package/dist/src/LayoutManager/constants.min.mjs +0 -0
- package/dist/src/LayoutManager/constants.min.mjs.map +0 -0
- package/dist/src/LayoutManager/constants.mjs +0 -0
- package/dist/src/LayoutManager/constants.mjs.map +0 -0
- package/dist/src/LayoutManager/index.d.ts +0 -0
- package/dist/src/LayoutManager/index.d.ts.map +0 -0
- package/dist/src/LayoutManager/types.d.ts +0 -0
- package/dist/src/LayoutManager/types.d.ts.map +0 -0
- package/dist/src/Observable.d.ts +0 -0
- package/dist/src/Observable.d.ts.map +0 -0
- package/dist/src/Observable.min.mjs +0 -0
- package/dist/src/Observable.min.mjs.map +0 -0
- package/dist/src/Observable.mjs +0 -0
- package/dist/src/Observable.mjs.map +0 -0
- package/dist/src/Pattern/Pattern.d.ts +0 -0
- package/dist/src/Pattern/Pattern.d.ts.map +0 -0
- package/dist/src/Pattern/Pattern.min.mjs +0 -0
- package/dist/src/Pattern/Pattern.min.mjs.map +0 -0
- package/dist/src/Pattern/Pattern.mjs +0 -0
- package/dist/src/Pattern/Pattern.mjs.map +0 -0
- package/dist/src/Pattern/index.d.ts +0 -0
- package/dist/src/Pattern/index.d.ts.map +0 -0
- package/dist/src/Pattern/types.d.ts +0 -0
- package/dist/src/Pattern/types.d.ts.map +0 -0
- package/dist/src/Point.d.ts +0 -0
- package/dist/src/Point.d.ts.map +0 -0
- package/dist/src/Point.min.mjs +0 -0
- package/dist/src/Point.min.mjs.map +0 -0
- package/dist/src/Point.mjs +0 -0
- package/dist/src/Point.mjs.map +0 -0
- package/dist/src/Shadow.d.ts +0 -0
- package/dist/src/Shadow.d.ts.map +0 -0
- package/dist/src/Shadow.min.mjs +0 -0
- package/dist/src/Shadow.min.mjs.map +0 -0
- package/dist/src/Shadow.mjs +0 -0
- package/dist/src/Shadow.mjs.map +0 -0
- package/dist/src/brushes/BaseBrush.d.ts +0 -0
- package/dist/src/brushes/BaseBrush.d.ts.map +0 -0
- package/dist/src/brushes/BaseBrush.min.mjs +0 -0
- package/dist/src/brushes/BaseBrush.min.mjs.map +0 -0
- package/dist/src/brushes/BaseBrush.mjs +0 -0
- package/dist/src/brushes/BaseBrush.mjs.map +0 -0
- package/dist/src/brushes/CircleBrush.d.ts +0 -0
- package/dist/src/brushes/CircleBrush.d.ts.map +0 -0
- package/dist/src/brushes/CircleBrush.min.mjs +0 -0
- package/dist/src/brushes/CircleBrush.min.mjs.map +0 -0
- package/dist/src/brushes/CircleBrush.mjs +0 -0
- package/dist/src/brushes/CircleBrush.mjs.map +0 -0
- package/dist/src/brushes/PatternBrush.d.ts +0 -0
- package/dist/src/brushes/PatternBrush.d.ts.map +0 -0
- package/dist/src/brushes/PatternBrush.min.mjs +0 -0
- package/dist/src/brushes/PatternBrush.min.mjs.map +0 -0
- package/dist/src/brushes/PatternBrush.mjs +0 -0
- package/dist/src/brushes/PatternBrush.mjs.map +0 -0
- package/dist/src/brushes/PencilBrush.d.ts +0 -0
- package/dist/src/brushes/PencilBrush.d.ts.map +0 -0
- package/dist/src/brushes/PencilBrush.min.mjs +0 -0
- package/dist/src/brushes/PencilBrush.min.mjs.map +0 -0
- package/dist/src/brushes/PencilBrush.mjs +0 -0
- package/dist/src/brushes/PencilBrush.mjs.map +0 -0
- package/dist/src/brushes/SprayBrush.d.ts +0 -0
- package/dist/src/brushes/SprayBrush.d.ts.map +0 -0
- package/dist/src/brushes/SprayBrush.min.mjs +0 -0
- package/dist/src/brushes/SprayBrush.min.mjs.map +0 -0
- package/dist/src/brushes/SprayBrush.mjs +0 -0
- package/dist/src/brushes/SprayBrush.mjs.map +0 -0
- package/dist/src/brushes/typedefs.d.ts +0 -0
- package/dist/src/brushes/typedefs.d.ts.map +0 -0
- package/dist/src/cache.d.ts +0 -0
- package/dist/src/cache.d.ts.map +0 -0
- package/dist/src/cache.min.mjs +0 -0
- package/dist/src/cache.min.mjs.map +0 -0
- package/dist/src/cache.mjs +0 -0
- package/dist/src/cache.mjs.map +0 -0
- package/dist/src/canvas/Canvas.d.ts +0 -0
- package/dist/src/canvas/Canvas.d.ts.map +0 -0
- package/dist/src/canvas/Canvas.min.mjs +0 -0
- package/dist/src/canvas/Canvas.min.mjs.map +0 -0
- package/dist/src/canvas/Canvas.mjs +0 -0
- package/dist/src/canvas/Canvas.mjs.map +0 -0
- package/dist/src/canvas/CanvasOptions.d.ts +0 -0
- package/dist/src/canvas/CanvasOptions.d.ts.map +0 -0
- package/dist/src/canvas/CanvasOptions.min.mjs +0 -0
- package/dist/src/canvas/CanvasOptions.min.mjs.map +0 -0
- package/dist/src/canvas/CanvasOptions.mjs +0 -0
- package/dist/src/canvas/CanvasOptions.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/util.d.ts +0 -0
- package/dist/src/canvas/DOMManagers/util.d.ts.map +0 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs +0 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs.map +0 -0
- package/dist/src/canvas/DOMManagers/util.mjs +0 -0
- package/dist/src/canvas/DOMManagers/util.mjs.map +0 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +0 -0
- package/dist/src/canvas/SelectableCanvas.d.ts.map +0 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs +0 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +0 -0
- package/dist/src/canvas/SelectableCanvas.mjs +0 -0
- package/dist/src/canvas/SelectableCanvas.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvas.d.ts +0 -0
- package/dist/src/canvas/StaticCanvas.d.ts.map +0 -0
- package/dist/src/canvas/StaticCanvas.min.mjs +0 -0
- package/dist/src/canvas/StaticCanvas.min.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvas.mjs +0 -0
- package/dist/src/canvas/StaticCanvas.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts +0 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs +0 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +0 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs +0 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs.map +0 -0
- package/dist/src/canvas/TextEditingManager.d.ts +0 -0
- package/dist/src/canvas/TextEditingManager.d.ts.map +0 -0
- package/dist/src/canvas/TextEditingManager.min.mjs +0 -0
- package/dist/src/canvas/TextEditingManager.min.mjs.map +0 -0
- package/dist/src/canvas/TextEditingManager.mjs +0 -0
- package/dist/src/canvas/TextEditingManager.mjs.map +0 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +0 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +0 -0
- package/dist/src/color/Color.d.ts +0 -0
- package/dist/src/color/Color.d.ts.map +0 -0
- package/dist/src/color/Color.min.mjs +0 -0
- package/dist/src/color/Color.min.mjs.map +0 -0
- package/dist/src/color/Color.mjs +0 -0
- package/dist/src/color/Color.mjs.map +0 -0
- package/dist/src/color/color_map.d.ts +0 -0
- package/dist/src/color/color_map.d.ts.map +0 -0
- package/dist/src/color/color_map.min.mjs +0 -0
- package/dist/src/color/color_map.min.mjs.map +0 -0
- package/dist/src/color/color_map.mjs +0 -0
- package/dist/src/color/color_map.mjs.map +0 -0
- package/dist/src/color/constants.d.ts +0 -0
- package/dist/src/color/constants.d.ts.map +0 -0
- package/dist/src/color/constants.min.mjs +0 -0
- package/dist/src/color/constants.min.mjs.map +0 -0
- package/dist/src/color/constants.mjs +0 -0
- package/dist/src/color/constants.mjs.map +0 -0
- package/dist/src/color/typedefs.d.ts +0 -0
- package/dist/src/color/typedefs.d.ts.map +0 -0
- package/dist/src/color/util.d.ts +0 -0
- package/dist/src/color/util.d.ts.map +0 -0
- package/dist/src/color/util.min.mjs +0 -0
- package/dist/src/color/util.min.mjs.map +0 -0
- package/dist/src/color/util.mjs +0 -0
- package/dist/src/color/util.mjs.map +0 -0
- package/dist/src/config.d.ts +0 -0
- package/dist/src/config.d.ts.map +0 -0
- package/dist/src/config.min.mjs +0 -0
- package/dist/src/config.min.mjs.map +0 -0
- package/dist/src/config.mjs +0 -0
- package/dist/src/config.mjs.map +0 -0
- package/dist/src/constants.d.ts +0 -0
- package/dist/src/constants.d.ts.map +0 -0
- package/dist/src/constants.min.mjs +0 -0
- package/dist/src/constants.min.mjs.map +0 -0
- package/dist/src/constants.mjs +0 -0
- package/dist/src/constants.mjs.map +0 -0
- package/dist/src/controls/Control.d.ts +0 -0
- package/dist/src/controls/Control.d.ts.map +0 -0
- package/dist/src/controls/Control.min.mjs +0 -0
- package/dist/src/controls/Control.min.mjs.map +0 -0
- package/dist/src/controls/Control.mjs +0 -0
- package/dist/src/controls/Control.mjs.map +0 -0
- package/dist/src/controls/changeHeight.d.ts +0 -0
- package/dist/src/controls/changeHeight.d.ts.map +0 -0
- package/dist/src/controls/changeHeight.min.mjs +2 -0
- package/dist/src/controls/changeHeight.min.mjs.map +1 -0
- package/dist/src/controls/changeHeight.mjs +36 -0
- package/dist/src/controls/changeHeight.mjs.map +1 -0
- package/dist/src/controls/changeWidth.d.ts +0 -0
- package/dist/src/controls/changeWidth.d.ts.map +0 -0
- package/dist/src/controls/changeWidth.min.mjs +0 -0
- package/dist/src/controls/changeWidth.min.mjs.map +0 -0
- package/dist/src/controls/changeWidth.mjs +0 -0
- package/dist/src/controls/changeWidth.mjs.map +0 -0
- package/dist/src/controls/commonControls.d.ts +0 -0
- package/dist/src/controls/commonControls.d.ts.map +0 -0
- package/dist/src/controls/commonControls.min.mjs +0 -0
- package/dist/src/controls/commonControls.min.mjs.map +0 -0
- package/dist/src/controls/commonControls.mjs +0 -0
- package/dist/src/controls/commonControls.mjs.map +0 -0
- package/dist/src/controls/controlRendering.d.ts +0 -0
- package/dist/src/controls/controlRendering.d.ts.map +0 -0
- package/dist/src/controls/controlRendering.min.mjs +0 -0
- package/dist/src/controls/controlRendering.min.mjs.map +0 -0
- package/dist/src/controls/controlRendering.mjs +0 -0
- package/dist/src/controls/controlRendering.mjs.map +0 -0
- package/dist/src/controls/drag.d.ts +0 -0
- package/dist/src/controls/drag.d.ts.map +0 -0
- package/dist/src/controls/drag.min.mjs +0 -0
- package/dist/src/controls/drag.min.mjs.map +0 -0
- package/dist/src/controls/drag.mjs +0 -0
- package/dist/src/controls/drag.mjs.map +0 -0
- package/dist/src/controls/fireEvent.d.ts +0 -0
- package/dist/src/controls/fireEvent.d.ts.map +0 -0
- package/dist/src/controls/fireEvent.min.mjs +0 -0
- package/dist/src/controls/fireEvent.min.mjs.map +0 -0
- package/dist/src/controls/fireEvent.mjs +0 -0
- package/dist/src/controls/fireEvent.mjs.map +0 -0
- package/dist/src/controls/index.d.ts +0 -0
- package/dist/src/controls/index.d.ts.map +0 -0
- package/dist/src/controls/index.min.mjs +0 -0
- package/dist/src/controls/index.min.mjs.map +0 -0
- package/dist/src/controls/index.mjs +0 -0
- package/dist/src/controls/index.mjs.map +0 -0
- package/dist/src/controls/pathControl.d.ts +0 -0
- package/dist/src/controls/pathControl.d.ts.map +0 -0
- package/dist/src/controls/pathControl.min.mjs +0 -0
- package/dist/src/controls/pathControl.min.mjs.map +0 -0
- package/dist/src/controls/pathControl.mjs +0 -0
- package/dist/src/controls/pathControl.mjs.map +0 -0
- package/dist/src/controls/polyControl.d.ts +0 -0
- package/dist/src/controls/polyControl.d.ts.map +0 -0
- package/dist/src/controls/polyControl.min.mjs +0 -0
- package/dist/src/controls/polyControl.min.mjs.map +0 -0
- package/dist/src/controls/polyControl.mjs +0 -0
- package/dist/src/controls/polyControl.mjs.map +0 -0
- package/dist/src/controls/rotate.d.ts +0 -0
- package/dist/src/controls/rotate.d.ts.map +0 -0
- package/dist/src/controls/rotate.min.mjs +0 -0
- package/dist/src/controls/rotate.min.mjs.map +0 -0
- package/dist/src/controls/rotate.mjs +0 -0
- package/dist/src/controls/rotate.mjs.map +0 -0
- package/dist/src/controls/scale.d.ts +0 -0
- package/dist/src/controls/scale.d.ts.map +0 -0
- package/dist/src/controls/scale.min.mjs +0 -0
- package/dist/src/controls/scale.min.mjs.map +0 -0
- package/dist/src/controls/scale.mjs +0 -0
- package/dist/src/controls/scale.mjs.map +0 -0
- package/dist/src/controls/scaleSkew.d.ts +0 -0
- package/dist/src/controls/scaleSkew.d.ts.map +0 -0
- package/dist/src/controls/scaleSkew.min.mjs +0 -0
- package/dist/src/controls/scaleSkew.min.mjs.map +0 -0
- package/dist/src/controls/scaleSkew.mjs +0 -0
- package/dist/src/controls/scaleSkew.mjs.map +0 -0
- package/dist/src/controls/skew.d.ts +0 -0
- package/dist/src/controls/skew.d.ts.map +0 -0
- package/dist/src/controls/skew.min.mjs +0 -0
- package/dist/src/controls/skew.min.mjs.map +0 -0
- package/dist/src/controls/skew.mjs +0 -0
- package/dist/src/controls/skew.mjs.map +0 -0
- package/dist/src/controls/util.d.ts +0 -0
- package/dist/src/controls/util.d.ts.map +0 -0
- package/dist/src/controls/util.min.mjs +0 -0
- package/dist/src/controls/util.min.mjs.map +0 -0
- package/dist/src/controls/util.mjs +0 -0
- package/dist/src/controls/util.mjs.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +0 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs +0 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs.map +0 -0
- package/dist/src/controls/wrapWithFireEvent.mjs +0 -0
- package/dist/src/controls/wrapWithFireEvent.mjs.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs +0 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs.map +0 -0
- package/dist/src/env/browser.d.ts +0 -0
- package/dist/src/env/browser.d.ts.map +0 -0
- package/dist/src/env/browser.min.mjs +0 -0
- package/dist/src/env/browser.min.mjs.map +0 -0
- package/dist/src/env/browser.mjs +0 -0
- package/dist/src/env/browser.mjs.map +0 -0
- package/dist/src/env/index.d.ts +0 -0
- package/dist/src/env/index.d.ts.map +0 -0
- package/dist/src/env/index.min.mjs +0 -0
- package/dist/src/env/index.min.mjs.map +0 -0
- package/dist/src/env/index.mjs +0 -0
- package/dist/src/env/index.mjs.map +0 -0
- package/dist/src/env/node.d.ts +0 -0
- package/dist/src/env/node.d.ts.map +0 -0
- package/dist/src/env/types.d.ts +0 -0
- package/dist/src/env/types.d.ts.map +0 -0
- package/dist/src/filters/BaseFilter.d.ts +0 -0
- package/dist/src/filters/BaseFilter.d.ts.map +0 -0
- package/dist/src/filters/BaseFilter.min.mjs +0 -0
- package/dist/src/filters/BaseFilter.min.mjs.map +0 -0
- package/dist/src/filters/BaseFilter.mjs +0 -0
- package/dist/src/filters/BaseFilter.mjs.map +0 -0
- package/dist/src/filters/BlendColor.d.ts +0 -0
- package/dist/src/filters/BlendColor.d.ts.map +0 -0
- package/dist/src/filters/BlendColor.min.mjs +0 -0
- package/dist/src/filters/BlendColor.min.mjs.map +0 -0
- package/dist/src/filters/BlendColor.mjs +0 -0
- package/dist/src/filters/BlendColor.mjs.map +0 -0
- package/dist/src/filters/BlendImage.d.ts +0 -0
- package/dist/src/filters/BlendImage.d.ts.map +0 -0
- package/dist/src/filters/BlendImage.min.mjs +0 -0
- package/dist/src/filters/BlendImage.min.mjs.map +0 -0
- package/dist/src/filters/BlendImage.mjs +0 -0
- package/dist/src/filters/BlendImage.mjs.map +0 -0
- package/dist/src/filters/Blur.d.ts +0 -0
- package/dist/src/filters/Blur.d.ts.map +0 -0
- package/dist/src/filters/Blur.min.mjs +0 -0
- package/dist/src/filters/Blur.min.mjs.map +0 -0
- package/dist/src/filters/Blur.mjs +0 -0
- package/dist/src/filters/Blur.mjs.map +0 -0
- package/dist/src/filters/Boilerplate.d.ts +0 -0
- package/dist/src/filters/Boilerplate.d.ts.map +0 -0
- package/dist/src/filters/Brightness.d.ts +0 -0
- package/dist/src/filters/Brightness.d.ts.map +0 -0
- package/dist/src/filters/Brightness.min.mjs +0 -0
- package/dist/src/filters/Brightness.min.mjs.map +0 -0
- package/dist/src/filters/Brightness.mjs +0 -0
- package/dist/src/filters/Brightness.mjs.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs +0 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs.map +0 -0
- package/dist/src/filters/ColorMatrix.d.ts +0 -0
- package/dist/src/filters/ColorMatrix.d.ts.map +0 -0
- package/dist/src/filters/ColorMatrix.min.mjs +0 -0
- package/dist/src/filters/ColorMatrix.min.mjs.map +0 -0
- package/dist/src/filters/ColorMatrix.mjs +0 -0
- package/dist/src/filters/ColorMatrix.mjs.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +0 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs +0 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs.map +0 -0
- package/dist/src/filters/ColorMatrixFilters.mjs +0 -0
- package/dist/src/filters/ColorMatrixFilters.mjs.map +0 -0
- package/dist/src/filters/Composed.d.ts +0 -0
- package/dist/src/filters/Composed.d.ts.map +0 -0
- package/dist/src/filters/Composed.min.mjs +0 -0
- package/dist/src/filters/Composed.min.mjs.map +0 -0
- package/dist/src/filters/Composed.mjs +0 -0
- package/dist/src/filters/Composed.mjs.map +0 -0
- package/dist/src/filters/Contrast.d.ts +0 -0
- package/dist/src/filters/Contrast.d.ts.map +0 -0
- package/dist/src/filters/Contrast.min.mjs +0 -0
- package/dist/src/filters/Contrast.min.mjs.map +0 -0
- package/dist/src/filters/Contrast.mjs +0 -0
- package/dist/src/filters/Contrast.mjs.map +0 -0
- package/dist/src/filters/Convolute.d.ts +0 -0
- package/dist/src/filters/Convolute.d.ts.map +0 -0
- package/dist/src/filters/Convolute.min.mjs +0 -0
- package/dist/src/filters/Convolute.min.mjs.map +0 -0
- package/dist/src/filters/Convolute.mjs +0 -0
- package/dist/src/filters/Convolute.mjs.map +0 -0
- package/dist/src/filters/FilterBackend.d.ts +0 -0
- package/dist/src/filters/FilterBackend.d.ts.map +0 -0
- package/dist/src/filters/FilterBackend.min.mjs +0 -0
- package/dist/src/filters/FilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/FilterBackend.mjs +0 -0
- package/dist/src/filters/FilterBackend.mjs.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs +0 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +0 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs +0 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs.map +0 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs +0 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +0 -0
- package/dist/src/filters/Gamma.d.ts +0 -0
- package/dist/src/filters/Gamma.d.ts.map +0 -0
- package/dist/src/filters/Gamma.min.mjs +0 -0
- package/dist/src/filters/Gamma.min.mjs.map +0 -0
- package/dist/src/filters/Gamma.mjs +0 -0
- package/dist/src/filters/Gamma.mjs.map +0 -0
- package/dist/src/filters/Grayscale.d.ts +0 -0
- package/dist/src/filters/Grayscale.d.ts.map +0 -0
- package/dist/src/filters/Grayscale.min.mjs +0 -0
- package/dist/src/filters/Grayscale.min.mjs.map +0 -0
- package/dist/src/filters/Grayscale.mjs +0 -0
- package/dist/src/filters/Grayscale.mjs.map +0 -0
- package/dist/src/filters/HueRotation.d.ts +0 -0
- package/dist/src/filters/HueRotation.d.ts.map +0 -0
- package/dist/src/filters/HueRotation.min.mjs +0 -0
- package/dist/src/filters/HueRotation.min.mjs.map +0 -0
- package/dist/src/filters/HueRotation.mjs +0 -0
- package/dist/src/filters/HueRotation.mjs.map +0 -0
- package/dist/src/filters/Invert.d.ts +0 -0
- package/dist/src/filters/Invert.d.ts.map +0 -0
- package/dist/src/filters/Invert.min.mjs +0 -0
- package/dist/src/filters/Invert.min.mjs.map +0 -0
- package/dist/src/filters/Invert.mjs +0 -0
- package/dist/src/filters/Invert.mjs.map +0 -0
- package/dist/src/filters/Noise.d.ts +0 -0
- package/dist/src/filters/Noise.d.ts.map +0 -0
- package/dist/src/filters/Noise.min.mjs +0 -0
- package/dist/src/filters/Noise.min.mjs.map +0 -0
- package/dist/src/filters/Noise.mjs +0 -0
- package/dist/src/filters/Noise.mjs.map +0 -0
- package/dist/src/filters/Pixelate.d.ts +0 -0
- package/dist/src/filters/Pixelate.d.ts.map +0 -0
- package/dist/src/filters/Pixelate.min.mjs +0 -0
- package/dist/src/filters/Pixelate.min.mjs.map +0 -0
- package/dist/src/filters/Pixelate.mjs +0 -0
- package/dist/src/filters/Pixelate.mjs.map +0 -0
- package/dist/src/filters/RemoveColor.d.ts +0 -0
- package/dist/src/filters/RemoveColor.d.ts.map +0 -0
- package/dist/src/filters/RemoveColor.min.mjs +0 -0
- package/dist/src/filters/RemoveColor.min.mjs.map +0 -0
- package/dist/src/filters/RemoveColor.mjs +0 -0
- package/dist/src/filters/RemoveColor.mjs.map +0 -0
- package/dist/src/filters/Resize.d.ts +0 -0
- package/dist/src/filters/Resize.d.ts.map +0 -0
- package/dist/src/filters/Resize.min.mjs +0 -0
- package/dist/src/filters/Resize.min.mjs.map +0 -0
- package/dist/src/filters/Resize.mjs +0 -0
- package/dist/src/filters/Resize.mjs.map +0 -0
- package/dist/src/filters/Saturation.d.ts +0 -0
- package/dist/src/filters/Saturation.d.ts.map +0 -0
- package/dist/src/filters/Saturation.min.mjs +0 -0
- package/dist/src/filters/Saturation.min.mjs.map +0 -0
- package/dist/src/filters/Saturation.mjs +0 -0
- package/dist/src/filters/Saturation.mjs.map +0 -0
- package/dist/src/filters/Vibrance.d.ts +0 -0
- package/dist/src/filters/Vibrance.d.ts.map +0 -0
- package/dist/src/filters/Vibrance.min.mjs +0 -0
- package/dist/src/filters/Vibrance.min.mjs.map +0 -0
- package/dist/src/filters/Vibrance.mjs +0 -0
- package/dist/src/filters/Vibrance.mjs.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +0 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs +0 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs.map +0 -0
- package/dist/src/filters/WebGLFilterBackend.mjs +0 -0
- package/dist/src/filters/WebGLFilterBackend.mjs.map +0 -0
- package/dist/src/filters/filters.d.ts +0 -0
- package/dist/src/filters/filters.d.ts.map +0 -0
- package/dist/src/filters/filters.min.mjs +0 -0
- package/dist/src/filters/filters.min.mjs.map +0 -0
- package/dist/src/filters/filters.mjs +0 -0
- package/dist/src/filters/filters.mjs.map +0 -0
- package/dist/src/filters/index.d.ts +0 -0
- package/dist/src/filters/index.d.ts.map +0 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +0 -0
- package/dist/src/filters/shaders/baseFilter.d.ts.map +0 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs +0 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs.map +0 -0
- package/dist/src/filters/shaders/baseFilter.mjs +0 -0
- package/dist/src/filters/shaders/baseFilter.mjs.map +0 -0
- package/dist/src/filters/shaders/blendColor.d.ts +0 -0
- package/dist/src/filters/shaders/blendColor.d.ts.map +0 -0
- package/dist/src/filters/shaders/blendColor.min.mjs +0 -0
- package/dist/src/filters/shaders/blendColor.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blendColor.mjs +0 -0
- package/dist/src/filters/shaders/blendColor.mjs.map +0 -0
- package/dist/src/filters/shaders/blendImage.d.ts +0 -0
- package/dist/src/filters/shaders/blendImage.d.ts.map +0 -0
- package/dist/src/filters/shaders/blendImage.min.mjs +0 -0
- package/dist/src/filters/shaders/blendImage.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blendImage.mjs +0 -0
- package/dist/src/filters/shaders/blendImage.mjs.map +0 -0
- package/dist/src/filters/shaders/blur.d.ts +0 -0
- package/dist/src/filters/shaders/blur.d.ts.map +0 -0
- package/dist/src/filters/shaders/blur.min.mjs +0 -0
- package/dist/src/filters/shaders/blur.min.mjs.map +0 -0
- package/dist/src/filters/shaders/blur.mjs +0 -0
- package/dist/src/filters/shaders/blur.mjs.map +0 -0
- package/dist/src/filters/shaders/brightness.d.ts +0 -0
- package/dist/src/filters/shaders/brightness.d.ts.map +0 -0
- package/dist/src/filters/shaders/brightness.min.mjs +0 -0
- package/dist/src/filters/shaders/brightness.min.mjs.map +0 -0
- package/dist/src/filters/shaders/brightness.mjs +0 -0
- package/dist/src/filters/shaders/brightness.mjs.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +0 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs +0 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs.map +0 -0
- package/dist/src/filters/shaders/colorMatrix.mjs +0 -0
- package/dist/src/filters/shaders/colorMatrix.mjs.map +0 -0
- package/dist/src/filters/shaders/constrast.d.ts +0 -0
- package/dist/src/filters/shaders/constrast.d.ts.map +0 -0
- package/dist/src/filters/shaders/constrast.min.mjs +0 -0
- package/dist/src/filters/shaders/constrast.min.mjs.map +0 -0
- package/dist/src/filters/shaders/constrast.mjs +0 -0
- package/dist/src/filters/shaders/constrast.mjs.map +0 -0
- package/dist/src/filters/shaders/convolute.d.ts +0 -0
- package/dist/src/filters/shaders/convolute.d.ts.map +0 -0
- package/dist/src/filters/shaders/convolute.min.mjs +0 -0
- package/dist/src/filters/shaders/convolute.min.mjs.map +0 -0
- package/dist/src/filters/shaders/convolute.mjs +0 -0
- package/dist/src/filters/shaders/convolute.mjs.map +0 -0
- package/dist/src/filters/shaders/gamma.d.ts +0 -0
- package/dist/src/filters/shaders/gamma.d.ts.map +0 -0
- package/dist/src/filters/shaders/gamma.min.mjs +0 -0
- package/dist/src/filters/shaders/gamma.min.mjs.map +0 -0
- package/dist/src/filters/shaders/gamma.mjs +0 -0
- package/dist/src/filters/shaders/gamma.mjs.map +0 -0
- package/dist/src/filters/shaders/grayscale.d.ts +0 -0
- package/dist/src/filters/shaders/grayscale.d.ts.map +0 -0
- package/dist/src/filters/shaders/grayscale.min.mjs +0 -0
- package/dist/src/filters/shaders/grayscale.min.mjs.map +0 -0
- package/dist/src/filters/shaders/grayscale.mjs +0 -0
- package/dist/src/filters/shaders/grayscale.mjs.map +0 -0
- package/dist/src/filters/shaders/invert.d.ts +0 -0
- package/dist/src/filters/shaders/invert.d.ts.map +0 -0
- package/dist/src/filters/shaders/invert.min.mjs +0 -0
- package/dist/src/filters/shaders/invert.min.mjs.map +0 -0
- package/dist/src/filters/shaders/invert.mjs +0 -0
- package/dist/src/filters/shaders/invert.mjs.map +0 -0
- package/dist/src/filters/shaders/noise.d.ts +0 -0
- package/dist/src/filters/shaders/noise.d.ts.map +0 -0
- package/dist/src/filters/shaders/noise.min.mjs +0 -0
- package/dist/src/filters/shaders/noise.min.mjs.map +0 -0
- package/dist/src/filters/shaders/noise.mjs +0 -0
- package/dist/src/filters/shaders/noise.mjs.map +0 -0
- package/dist/src/filters/shaders/pixelate.d.ts +0 -0
- package/dist/src/filters/shaders/pixelate.d.ts.map +0 -0
- package/dist/src/filters/shaders/pixelate.min.mjs +0 -0
- package/dist/src/filters/shaders/pixelate.min.mjs.map +0 -0
- package/dist/src/filters/shaders/pixelate.mjs +0 -0
- package/dist/src/filters/shaders/pixelate.mjs.map +0 -0
- package/dist/src/filters/shaders/removeColor.d.ts +0 -0
- package/dist/src/filters/shaders/removeColor.d.ts.map +0 -0
- package/dist/src/filters/shaders/removeColor.min.mjs +0 -0
- package/dist/src/filters/shaders/removeColor.min.mjs.map +0 -0
- package/dist/src/filters/shaders/removeColor.mjs +0 -0
- package/dist/src/filters/shaders/removeColor.mjs.map +0 -0
- package/dist/src/filters/shaders/saturation.d.ts +0 -0
- package/dist/src/filters/shaders/saturation.d.ts.map +0 -0
- package/dist/src/filters/shaders/saturation.min.mjs +0 -0
- package/dist/src/filters/shaders/saturation.min.mjs.map +0 -0
- package/dist/src/filters/shaders/saturation.mjs +0 -0
- package/dist/src/filters/shaders/saturation.mjs.map +0 -0
- package/dist/src/filters/shaders/vibrance.d.ts +0 -0
- package/dist/src/filters/shaders/vibrance.d.ts.map +0 -0
- package/dist/src/filters/shaders/vibrance.min.mjs +0 -0
- package/dist/src/filters/shaders/vibrance.min.mjs.map +0 -0
- package/dist/src/filters/shaders/vibrance.mjs +0 -0
- package/dist/src/filters/shaders/vibrance.mjs.map +0 -0
- package/dist/src/filters/typedefs.d.ts +0 -0
- package/dist/src/filters/typedefs.d.ts.map +0 -0
- package/dist/src/filters/utils.d.ts +0 -0
- package/dist/src/filters/utils.d.ts.map +0 -0
- package/dist/src/filters/utils.min.mjs +0 -0
- package/dist/src/filters/utils.min.mjs.map +0 -0
- package/dist/src/filters/utils.mjs +0 -0
- package/dist/src/filters/utils.mjs.map +0 -0
- package/dist/src/gradient/Gradient.d.ts +0 -0
- package/dist/src/gradient/Gradient.d.ts.map +0 -0
- package/dist/src/gradient/Gradient.min.mjs +0 -0
- package/dist/src/gradient/Gradient.min.mjs.map +0 -0
- package/dist/src/gradient/Gradient.mjs +0 -0
- package/dist/src/gradient/Gradient.mjs.map +0 -0
- package/dist/src/gradient/constants.d.ts +0 -0
- package/dist/src/gradient/constants.d.ts.map +0 -0
- package/dist/src/gradient/constants.min.mjs +0 -0
- package/dist/src/gradient/constants.min.mjs.map +0 -0
- package/dist/src/gradient/constants.mjs +0 -0
- package/dist/src/gradient/constants.mjs.map +0 -0
- package/dist/src/gradient/index.d.ts +0 -0
- package/dist/src/gradient/index.d.ts.map +0 -0
- package/dist/src/gradient/parser/misc.d.ts +0 -0
- package/dist/src/gradient/parser/misc.d.ts.map +0 -0
- package/dist/src/gradient/parser/misc.min.mjs +0 -0
- package/dist/src/gradient/parser/misc.min.mjs.map +0 -0
- package/dist/src/gradient/parser/misc.mjs +0 -0
- package/dist/src/gradient/parser/misc.mjs.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +0 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs +0 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs.map +0 -0
- package/dist/src/gradient/parser/parseColorStops.mjs +0 -0
- package/dist/src/gradient/parser/parseColorStops.mjs.map +0 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +0 -0
- package/dist/src/gradient/parser/parseCoords.d.ts.map +0 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs +0 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs.map +0 -0
- package/dist/src/gradient/parser/parseCoords.mjs +0 -0
- package/dist/src/gradient/parser/parseCoords.mjs.map +0 -0
- package/dist/src/gradient/typedefs.d.ts +0 -0
- package/dist/src/gradient/typedefs.d.ts.map +0 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +0 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts.map +0 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +0 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +0 -0
- package/dist/src/parkinglot/straighten.d.ts +0 -0
- package/dist/src/parkinglot/straighten.d.ts.map +0 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +0 -0
- package/dist/src/parser/applyViewboxTransform.d.ts.map +0 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs +0 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs.map +0 -0
- package/dist/src/parser/applyViewboxTransform.mjs +0 -0
- package/dist/src/parser/applyViewboxTransform.mjs.map +0 -0
- package/dist/src/parser/attributes.d.ts +0 -0
- package/dist/src/parser/attributes.d.ts.map +0 -0
- package/dist/src/parser/attributes.min.mjs +0 -0
- package/dist/src/parser/attributes.min.mjs.map +0 -0
- package/dist/src/parser/attributes.mjs +0 -0
- package/dist/src/parser/attributes.mjs.map +0 -0
- package/dist/src/parser/constants.d.ts +0 -0
- package/dist/src/parser/constants.d.ts.map +0 -0
- package/dist/src/parser/constants.min.mjs +0 -0
- package/dist/src/parser/constants.min.mjs.map +0 -0
- package/dist/src/parser/constants.mjs +0 -0
- package/dist/src/parser/constants.mjs.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +0 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs +0 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs.map +0 -0
- package/dist/src/parser/doesSomeParentMatch.mjs +0 -0
- package/dist/src/parser/doesSomeParentMatch.mjs.map +0 -0
- package/dist/src/parser/elementMatchesRule.d.ts +0 -0
- package/dist/src/parser/elementMatchesRule.d.ts.map +0 -0
- package/dist/src/parser/elementMatchesRule.min.mjs +0 -0
- package/dist/src/parser/elementMatchesRule.min.mjs.map +0 -0
- package/dist/src/parser/elementMatchesRule.mjs +0 -0
- package/dist/src/parser/elementMatchesRule.mjs.map +0 -0
- package/dist/src/parser/elements_parser.d.ts +0 -0
- package/dist/src/parser/elements_parser.d.ts.map +0 -0
- package/dist/src/parser/elements_parser.min.mjs +0 -0
- package/dist/src/parser/elements_parser.min.mjs.map +0 -0
- package/dist/src/parser/elements_parser.mjs +0 -0
- package/dist/src/parser/elements_parser.mjs.map +0 -0
- package/dist/src/parser/getCSSRules.d.ts +0 -0
- package/dist/src/parser/getCSSRules.d.ts.map +0 -0
- package/dist/src/parser/getCSSRules.min.mjs +0 -0
- package/dist/src/parser/getCSSRules.min.mjs.map +0 -0
- package/dist/src/parser/getCSSRules.mjs +0 -0
- package/dist/src/parser/getCSSRules.mjs.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +0 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs +0 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +0 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs +0 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs.map +0 -0
- package/dist/src/parser/getGradientDefs.d.ts +0 -0
- package/dist/src/parser/getGradientDefs.d.ts.map +0 -0
- package/dist/src/parser/getGradientDefs.min.mjs +0 -0
- package/dist/src/parser/getGradientDefs.min.mjs.map +0 -0
- package/dist/src/parser/getGradientDefs.mjs +0 -0
- package/dist/src/parser/getGradientDefs.mjs.map +0 -0
- package/dist/src/parser/getMultipleNodes.d.ts +0 -0
- package/dist/src/parser/getMultipleNodes.d.ts.map +0 -0
- package/dist/src/parser/getMultipleNodes.min.mjs +0 -0
- package/dist/src/parser/getMultipleNodes.min.mjs.map +0 -0
- package/dist/src/parser/getMultipleNodes.mjs +0 -0
- package/dist/src/parser/getMultipleNodes.mjs.map +0 -0
- package/dist/src/parser/getSvgRegex.d.ts +0 -0
- package/dist/src/parser/getSvgRegex.d.ts.map +0 -0
- package/dist/src/parser/getSvgRegex.min.mjs +0 -0
- package/dist/src/parser/getSvgRegex.min.mjs.map +0 -0
- package/dist/src/parser/getSvgRegex.mjs +0 -0
- package/dist/src/parser/getSvgRegex.mjs.map +0 -0
- package/dist/src/parser/getTagName.d.ts +0 -0
- package/dist/src/parser/getTagName.d.ts.map +0 -0
- package/dist/src/parser/getTagName.min.mjs +0 -0
- package/dist/src/parser/getTagName.min.mjs.map +0 -0
- package/dist/src/parser/getTagName.mjs +0 -0
- package/dist/src/parser/getTagName.mjs.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts +0 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs +0 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs.map +0 -0
- package/dist/src/parser/hasInvalidAncestor.mjs +0 -0
- package/dist/src/parser/hasInvalidAncestor.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromString.d.ts +0 -0
- package/dist/src/parser/loadSVGFromString.d.ts.map +0 -0
- package/dist/src/parser/loadSVGFromString.min.mjs +0 -0
- package/dist/src/parser/loadSVGFromString.min.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromString.mjs +0 -0
- package/dist/src/parser/loadSVGFromString.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +0 -0
- package/dist/src/parser/loadSVGFromURL.d.ts.map +0 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs +0 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs.map +0 -0
- package/dist/src/parser/loadSVGFromURL.mjs +0 -0
- package/dist/src/parser/loadSVGFromURL.mjs.map +0 -0
- package/dist/src/parser/normalizeAttr.d.ts +0 -0
- package/dist/src/parser/normalizeAttr.d.ts.map +0 -0
- package/dist/src/parser/normalizeAttr.min.mjs +0 -0
- package/dist/src/parser/normalizeAttr.min.mjs.map +0 -0
- package/dist/src/parser/normalizeAttr.mjs +0 -0
- package/dist/src/parser/normalizeAttr.mjs.map +0 -0
- package/dist/src/parser/normalizeValue.d.ts +0 -0
- package/dist/src/parser/normalizeValue.d.ts.map +0 -0
- package/dist/src/parser/normalizeValue.min.mjs +0 -0
- package/dist/src/parser/normalizeValue.min.mjs.map +0 -0
- package/dist/src/parser/normalizeValue.mjs +0 -0
- package/dist/src/parser/normalizeValue.mjs.map +0 -0
- package/dist/src/parser/parseAttributes.d.ts +0 -0
- package/dist/src/parser/parseAttributes.d.ts.map +0 -0
- package/dist/src/parser/parseAttributes.min.mjs +0 -0
- package/dist/src/parser/parseAttributes.min.mjs.map +0 -0
- package/dist/src/parser/parseAttributes.mjs +0 -0
- package/dist/src/parser/parseAttributes.mjs.map +0 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +0 -0
- package/dist/src/parser/parseFontDeclaration.d.ts.map +0 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs +0 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs.map +0 -0
- package/dist/src/parser/parseFontDeclaration.mjs +0 -0
- package/dist/src/parser/parseFontDeclaration.mjs.map +0 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +0 -0
- package/dist/src/parser/parsePointsAttribute.d.ts.map +0 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs +0 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parsePointsAttribute.mjs +0 -0
- package/dist/src/parser/parsePointsAttribute.mjs.map +0 -0
- package/dist/src/parser/parseSVGDocument.d.ts +0 -0
- package/dist/src/parser/parseSVGDocument.d.ts.map +0 -0
- package/dist/src/parser/parseSVGDocument.min.mjs +0 -0
- package/dist/src/parser/parseSVGDocument.min.mjs.map +0 -0
- package/dist/src/parser/parseSVGDocument.mjs +0 -0
- package/dist/src/parser/parseSVGDocument.mjs.map +0 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +0 -0
- package/dist/src/parser/parseStyleAttribute.d.ts.map +0 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs +0 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleAttribute.mjs +0 -0
- package/dist/src/parser/parseStyleAttribute.mjs.map +0 -0
- package/dist/src/parser/parseStyleObject.d.ts +0 -0
- package/dist/src/parser/parseStyleObject.d.ts.map +0 -0
- package/dist/src/parser/parseStyleObject.min.mjs +0 -0
- package/dist/src/parser/parseStyleObject.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleObject.mjs +0 -0
- package/dist/src/parser/parseStyleObject.mjs.map +0 -0
- package/dist/src/parser/parseStyleString.d.ts +0 -0
- package/dist/src/parser/parseStyleString.d.ts.map +0 -0
- package/dist/src/parser/parseStyleString.min.mjs +0 -0
- package/dist/src/parser/parseStyleString.min.mjs.map +0 -0
- package/dist/src/parser/parseStyleString.mjs +0 -0
- package/dist/src/parser/parseStyleString.mjs.map +0 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +0 -0
- package/dist/src/parser/parseTransformAttribute.d.ts.map +0 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs +0 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs.map +0 -0
- package/dist/src/parser/parseTransformAttribute.mjs +0 -0
- package/dist/src/parser/parseTransformAttribute.mjs.map +0 -0
- package/dist/src/parser/parseUseDirectives.d.ts +0 -0
- package/dist/src/parser/parseUseDirectives.d.ts.map +0 -0
- package/dist/src/parser/parseUseDirectives.min.mjs +0 -0
- package/dist/src/parser/parseUseDirectives.min.mjs.map +0 -0
- package/dist/src/parser/parseUseDirectives.mjs +0 -0
- package/dist/src/parser/parseUseDirectives.mjs.map +0 -0
- package/dist/src/parser/percent.d.ts +0 -0
- package/dist/src/parser/percent.d.ts.map +0 -0
- package/dist/src/parser/percent.min.mjs +0 -0
- package/dist/src/parser/percent.min.mjs.map +0 -0
- package/dist/src/parser/percent.mjs +0 -0
- package/dist/src/parser/percent.mjs.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs +0 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +0 -0
- package/dist/src/parser/selectorMatches.d.ts +0 -0
- package/dist/src/parser/selectorMatches.d.ts.map +0 -0
- package/dist/src/parser/selectorMatches.min.mjs +0 -0
- package/dist/src/parser/selectorMatches.min.mjs.map +0 -0
- package/dist/src/parser/selectorMatches.mjs +0 -0
- package/dist/src/parser/selectorMatches.mjs.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +0 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs +0 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +0 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs +0 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs.map +0 -0
- package/dist/src/parser/typedefs.d.ts +0 -0
- package/dist/src/parser/typedefs.d.ts.map +0 -0
- package/dist/src/shapes/ActiveSelection.d.ts +0 -0
- package/dist/src/shapes/ActiveSelection.d.ts.map +0 -0
- package/dist/src/shapes/ActiveSelection.min.mjs +0 -0
- package/dist/src/shapes/ActiveSelection.min.mjs.map +0 -0
- package/dist/src/shapes/ActiveSelection.mjs +0 -0
- package/dist/src/shapes/ActiveSelection.mjs.map +0 -0
- package/dist/src/shapes/Circle.d.ts +0 -0
- package/dist/src/shapes/Circle.d.ts.map +0 -0
- package/dist/src/shapes/Circle.min.mjs +0 -0
- package/dist/src/shapes/Circle.min.mjs.map +0 -0
- package/dist/src/shapes/Circle.mjs +0 -0
- package/dist/src/shapes/Circle.mjs.map +0 -0
- package/dist/src/shapes/Ellipse.d.ts +0 -0
- package/dist/src/shapes/Ellipse.d.ts.map +0 -0
- package/dist/src/shapes/Ellipse.min.mjs +0 -0
- package/dist/src/shapes/Ellipse.min.mjs.map +0 -0
- package/dist/src/shapes/Ellipse.mjs +0 -0
- package/dist/src/shapes/Ellipse.mjs.map +0 -0
- package/dist/src/shapes/Group.d.ts +0 -0
- package/dist/src/shapes/Group.d.ts.map +0 -0
- package/dist/src/shapes/Group.min.mjs +0 -0
- package/dist/src/shapes/Group.min.mjs.map +0 -0
- package/dist/src/shapes/Group.mjs +0 -0
- package/dist/src/shapes/Group.mjs.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs +0 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -0
- package/dist/src/shapes/IText/IText.d.ts +0 -0
- package/dist/src/shapes/IText/IText.d.ts.map +0 -0
- package/dist/src/shapes/IText/IText.min.mjs +0 -0
- package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
- package/dist/src/shapes/IText/IText.mjs +206 -206
- package/dist/src/shapes/IText/IText.mjs.map +1 -1
- package/dist/src/shapes/IText/ITextBehavior.d.ts +0 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts.map +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 +0 -0
- package/dist/src/shapes/Polyline.d.ts.map +0 -0
- package/dist/src/shapes/Polyline.min.mjs +0 -0
- package/dist/src/shapes/Polyline.min.mjs.map +0 -0
- package/dist/src/shapes/Polyline.mjs +0 -0
- package/dist/src/shapes/Polyline.mjs.map +0 -0
- package/dist/src/shapes/Rect.d.ts +0 -0
- package/dist/src/shapes/Rect.d.ts.map +0 -0
- package/dist/src/shapes/Rect.min.mjs +0 -0
- package/dist/src/shapes/Rect.min.mjs.map +0 -0
- package/dist/src/shapes/Rect.mjs +0 -0
- package/dist/src/shapes/Rect.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
- package/dist/src/shapes/Text/StyledText.mjs +0 -0
- package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
- package/dist/src/shapes/Text/Text.d.ts +0 -0
- package/dist/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist/src/shapes/Text/Text.min.mjs +1 -1
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
- package/dist/src/shapes/Text/Text.mjs +347 -295
- 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 +1 -1
- package/dist/src/shapes/Textbox.min.mjs +1 -1
- package/dist/src/shapes/Textbox.min.mjs.map +1 -1
- package/dist/src/shapes/Textbox.mjs +149 -199
- package/dist/src/shapes/Textbox.mjs.map +1 -1
- package/dist/src/shapes/Triangle.d.ts +0 -0
- package/dist/src/shapes/Triangle.d.ts.map +0 -0
- package/dist/src/shapes/Triangle.min.mjs +0 -0
- package/dist/src/shapes/Triangle.min.mjs.map +0 -0
- package/dist/src/shapes/Triangle.mjs +0 -0
- package/dist/src/shapes/Triangle.mjs.map +0 -0
- package/dist/src/text/browserLines.d.ts +0 -0
- package/dist/src/text/browserLines.d.ts.map +0 -0
- package/dist/src/text/browserLines.min.mjs +0 -0
- package/dist/src/text/browserLines.min.mjs.map +1 -1
- package/dist/src/text/browserLines.mjs +20 -20
- package/dist/src/text/browserLines.mjs.map +1 -1
- package/dist/src/text/ellipsis.d.ts +0 -0
- package/dist/src/text/ellipsis.d.ts.map +0 -0
- package/dist/src/text/ellipsis.min.mjs +0 -0
- package/dist/src/text/ellipsis.min.mjs.map +1 -1
- package/dist/src/text/ellipsis.mjs +11 -11
- package/dist/src/text/ellipsis.mjs.map +1 -1
- package/dist/src/text/hitTest.d.ts +0 -0
- package/dist/src/text/hitTest.d.ts.map +0 -0
- package/dist/src/text/hitTest.min.mjs +0 -0
- package/dist/src/text/hitTest.min.mjs.map +1 -1
- package/dist/src/text/hitTest.mjs +19 -19
- package/dist/src/text/hitTest.mjs.map +1 -1
- package/dist/src/text/layout.d.ts +0 -0
- package/dist/src/text/layout.d.ts.map +0 -0
- package/dist/src/text/layout.min.mjs +0 -0
- package/dist/src/text/layout.min.mjs.map +1 -1
- package/dist/src/text/layout.mjs +33 -33
- package/dist/src/text/layout.mjs.map +1 -1
- package/dist/src/text/measure.d.ts +0 -0
- package/dist/src/text/measure.d.ts.map +0 -0
- package/dist/src/text/measure.min.mjs +0 -0
- package/dist/src/text/measure.min.mjs.map +1 -1
- package/dist/src/text/measure.mjs +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 +1 -1
- package/dist/src/text/overlayEditor.min.mjs +1 -1
- package/dist/src/text/overlayEditor.min.mjs.map +1 -1
- package/dist/src/text/overlayEditor.mjs +176 -42
- 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/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 +0 -0
- package/dist-extensions/src/shapes/Polyline.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Rect.d.ts +0 -0
- package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts +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 +1 -1
- package/dist-extensions/src/shapes/Triangle.d.ts +0 -0
- package/dist-extensions/src/shapes/Triangle.d.ts.map +0 -0
- package/dist-extensions/src/text/browserLines.d.ts +0 -0
- package/dist-extensions/src/text/browserLines.d.ts.map +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts +0 -0
- package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
- package/dist-extensions/src/text/hitTest.d.ts +0 -0
- package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
- package/dist-extensions/src/text/layout.d.ts +0 -0
- package/dist-extensions/src/text/layout.d.ts.map +0 -0
- package/dist-extensions/src/text/measure.d.ts +0 -0
- package/dist-extensions/src/text/measure.d.ts.map +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts +0 -0
- package/dist-extensions/src/text/overlayEditor.d.ts.map +1 -1
- 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/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/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 +591 -0
- 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 +1 -1
- 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 +0 -0
- package/src/shapes/Rect.spec.ts +0 -0
- package/src/shapes/Rect.ts +0 -0
- package/src/shapes/Text/StyledText.spec.ts +0 -0
- package/src/shapes/Text/StyledText.ts +0 -0
- package/src/shapes/Text/Text.spec.ts +0 -0
- package/src/shapes/Text/Text.ts +2226 -2161
- 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.ts +0 -0
- package/src/shapes/__snapshots__/Image.spec.ts.snap +0 -0
- package/src/shapes/__snapshots__/Textbox.spec.ts.snap +0 -0
- package/src/text/browserLines.ts +233 -233
- package/src/text/ellipsis.ts +516 -516
- package/src/text/hitTest.ts +623 -623
- package/src/text/layout.ts +586 -586
- package/src/text/measure.ts +475 -475
- package/src/text/overlayEditor.ts +1035 -895
- 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/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/docs/fabric-konva-gap-analysis.md +0 -274
- package/docs/konva-text-behavior-spec.md +0 -265
- package/docs/text-engine-design.md +0 -698
package/dist/index.js
CHANGED
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
}
|
|
361
361
|
const cache = new Cache();
|
|
362
362
|
|
|
363
|
-
var version = "7.0.
|
|
363
|
+
var version = "7.0.1-beta1";
|
|
364
364
|
|
|
365
365
|
// use this syntax so babel plugin see this import here
|
|
366
366
|
const VERSION = version;
|
|
@@ -18679,8 +18679,8 @@
|
|
|
18679
18679
|
// Global measurement context - reused for performance
|
|
18680
18680
|
let measurementContext = null;
|
|
18681
18681
|
|
|
18682
|
-
/**
|
|
18683
|
-
* Get or create the shared measurement context
|
|
18682
|
+
/**
|
|
18683
|
+
* Get or create the shared measurement context
|
|
18684
18684
|
*/
|
|
18685
18685
|
function getMeasurementContext() {
|
|
18686
18686
|
if (!measurementContext) {
|
|
@@ -18693,8 +18693,8 @@
|
|
|
18693
18693
|
return measurementContext;
|
|
18694
18694
|
}
|
|
18695
18695
|
|
|
18696
|
-
/**
|
|
18697
|
-
* Measure a single grapheme
|
|
18696
|
+
/**
|
|
18697
|
+
* Measure a single grapheme
|
|
18698
18698
|
*/
|
|
18699
18699
|
function measureGrapheme(grapheme, options, ctx) {
|
|
18700
18700
|
// Check cache first
|
|
@@ -18727,8 +18727,8 @@
|
|
|
18727
18727
|
return measurement;
|
|
18728
18728
|
}
|
|
18729
18729
|
|
|
18730
|
-
/**
|
|
18731
|
-
* Measure a grapheme with kerning relative to previous character
|
|
18730
|
+
/**
|
|
18731
|
+
* Measure a grapheme with kerning relative to previous character
|
|
18732
18732
|
*/
|
|
18733
18733
|
function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
|
|
18734
18734
|
// Get individual measurement
|
|
@@ -18769,8 +18769,8 @@
|
|
|
18769
18769
|
};
|
|
18770
18770
|
}
|
|
18771
18771
|
|
|
18772
|
-
/**
|
|
18773
|
-
* Get font metrics for layout calculations
|
|
18772
|
+
/**
|
|
18773
|
+
* Get font metrics for layout calculations
|
|
18774
18774
|
*/
|
|
18775
18775
|
function getFontMetrics(options) {
|
|
18776
18776
|
var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
|
|
@@ -18805,8 +18805,8 @@
|
|
|
18805
18805
|
return result;
|
|
18806
18806
|
}
|
|
18807
18807
|
|
|
18808
|
-
/**
|
|
18809
|
-
* Apply font styling to canvas context
|
|
18808
|
+
/**
|
|
18809
|
+
* Apply font styling to canvas context
|
|
18810
18810
|
*/
|
|
18811
18811
|
function applyFontStyle(ctx, options) {
|
|
18812
18812
|
const fontDeclaration = getFontDeclaration(options);
|
|
@@ -18823,8 +18823,8 @@
|
|
|
18823
18823
|
ctx.textBaseline = 'alphabetic';
|
|
18824
18824
|
}
|
|
18825
18825
|
|
|
18826
|
-
/**
|
|
18827
|
-
* Generate font declaration string
|
|
18826
|
+
/**
|
|
18827
|
+
* Generate font declaration string
|
|
18828
18828
|
*/
|
|
18829
18829
|
function getFontDeclaration(options) {
|
|
18830
18830
|
const {
|
|
@@ -18839,8 +18839,8 @@
|
|
|
18839
18839
|
return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
|
|
18840
18840
|
}
|
|
18841
18841
|
|
|
18842
|
-
/**
|
|
18843
|
-
* LRU Cache implementation for measurements
|
|
18842
|
+
/**
|
|
18843
|
+
* LRU Cache implementation for measurements
|
|
18844
18844
|
*/
|
|
18845
18845
|
class LRUCache {
|
|
18846
18846
|
constructor() {
|
|
@@ -18902,8 +18902,8 @@
|
|
|
18902
18902
|
}
|
|
18903
18903
|
}
|
|
18904
18904
|
|
|
18905
|
-
/**
|
|
18906
|
-
* Advanced measurement cache with font-aware keys
|
|
18905
|
+
/**
|
|
18906
|
+
* Advanced measurement cache with font-aware keys
|
|
18907
18907
|
*/
|
|
18908
18908
|
class MeasurementCache {
|
|
18909
18909
|
constructor() {
|
|
@@ -18930,8 +18930,8 @@
|
|
|
18930
18930
|
}
|
|
18931
18931
|
}
|
|
18932
18932
|
|
|
18933
|
-
/**
|
|
18934
|
-
* Kerning cache for character pairs
|
|
18933
|
+
/**
|
|
18934
|
+
* Kerning cache for character pairs
|
|
18935
18935
|
*/
|
|
18936
18936
|
class KerningCache {
|
|
18937
18937
|
constructor() {
|
|
@@ -18959,8 +18959,8 @@
|
|
|
18959
18959
|
}
|
|
18960
18960
|
}
|
|
18961
18961
|
|
|
18962
|
-
/**
|
|
18963
|
-
* Font metrics cache
|
|
18962
|
+
/**
|
|
18963
|
+
* Font metrics cache
|
|
18964
18964
|
*/
|
|
18965
18965
|
class FontMetricsCache {
|
|
18966
18966
|
constructor() {
|
|
@@ -18987,17 +18987,17 @@
|
|
|
18987
18987
|
const kerningCache = new KerningCache();
|
|
18988
18988
|
const fontMetricsCache = new FontMetricsCache();
|
|
18989
18989
|
|
|
18990
|
-
/**
|
|
18991
|
-
* Unicode and Internationalization Support
|
|
18992
|
-
*
|
|
18993
|
-
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
18994
|
-
* and grapheme cluster boundary detection.
|
|
18990
|
+
/**
|
|
18991
|
+
* Unicode and Internationalization Support
|
|
18992
|
+
*
|
|
18993
|
+
* Enhanced Unicode handling for complex scripts, RTL/LTR text,
|
|
18994
|
+
* and grapheme cluster boundary detection.
|
|
18995
18995
|
*/
|
|
18996
18996
|
|
|
18997
18997
|
|
|
18998
|
-
/**
|
|
18999
|
-
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19000
|
-
* with fallback to existing graphemeSplit implementation
|
|
18998
|
+
/**
|
|
18999
|
+
* Enhanced grapheme segmentation using Intl.Segmenter when available
|
|
19000
|
+
* with fallback to existing graphemeSplit implementation
|
|
19001
19001
|
*/
|
|
19002
19002
|
function segmentGraphemes(text) {
|
|
19003
19003
|
// Use native Intl.Segmenter if available
|
|
@@ -19017,15 +19017,15 @@
|
|
|
19017
19017
|
return graphemeSplit(text);
|
|
19018
19018
|
}
|
|
19019
19019
|
|
|
19020
|
-
/**
|
|
19021
|
-
* Ellipsis Text Truncation System
|
|
19022
|
-
*
|
|
19023
|
-
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19024
|
-
* using binary search for optimal truncation points.
|
|
19020
|
+
/**
|
|
19021
|
+
* Ellipsis Text Truncation System
|
|
19022
|
+
*
|
|
19023
|
+
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
19024
|
+
* using binary search for optimal truncation points.
|
|
19025
19025
|
*/
|
|
19026
19026
|
|
|
19027
|
-
/**
|
|
19028
|
-
* Apply ellipsis truncation to text based on width/height constraints
|
|
19027
|
+
/**
|
|
19028
|
+
* Apply ellipsis truncation to text based on width/height constraints
|
|
19029
19029
|
*/
|
|
19030
19030
|
function applyEllipsis(text, options) {
|
|
19031
19031
|
const {
|
|
@@ -19095,8 +19095,8 @@
|
|
|
19095
19095
|
};
|
|
19096
19096
|
}
|
|
19097
19097
|
|
|
19098
|
-
/**
|
|
19099
|
-
* Truncate text based on width constraint using binary search
|
|
19098
|
+
/**
|
|
19099
|
+
* Truncate text based on width constraint using binary search
|
|
19100
19100
|
*/
|
|
19101
19101
|
function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
|
|
19102
19102
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19146,8 +19146,8 @@
|
|
|
19146
19146
|
};
|
|
19147
19147
|
}
|
|
19148
19148
|
|
|
19149
|
-
/**
|
|
19150
|
-
* Truncate text based on height constraint
|
|
19149
|
+
/**
|
|
19150
|
+
* Truncate text based on height constraint
|
|
19151
19151
|
*/
|
|
19152
19152
|
function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
|
|
19153
19153
|
var _measureFn;
|
|
@@ -19195,19 +19195,19 @@
|
|
|
19195
19195
|
return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
|
|
19196
19196
|
}
|
|
19197
19197
|
|
|
19198
|
-
/**
|
|
19199
|
-
* Core Text Layout Engine
|
|
19200
|
-
*
|
|
19201
|
-
* Implements Konva-compatible text layout with support for:
|
|
19202
|
-
* - Multiple wrap modes (word/char/none)
|
|
19203
|
-
* - Ellipsis truncation
|
|
19204
|
-
* - Justify alignment with proper space distribution
|
|
19205
|
-
* - RTL/LTR text direction
|
|
19206
|
-
* - Advanced grapheme handling
|
|
19198
|
+
/**
|
|
19199
|
+
* Core Text Layout Engine
|
|
19200
|
+
*
|
|
19201
|
+
* Implements Konva-compatible text layout with support for:
|
|
19202
|
+
* - Multiple wrap modes (word/char/none)
|
|
19203
|
+
* - Ellipsis truncation
|
|
19204
|
+
* - Justify alignment with proper space distribution
|
|
19205
|
+
* - RTL/LTR text direction
|
|
19206
|
+
* - Advanced grapheme handling
|
|
19207
19207
|
*/
|
|
19208
19208
|
|
|
19209
|
-
/**
|
|
19210
|
-
* Main text layout function - converts text and options into positioned layout
|
|
19209
|
+
/**
|
|
19210
|
+
* Main text layout function - converts text and options into positioned layout
|
|
19211
19211
|
*/
|
|
19212
19212
|
function layoutText(options) {
|
|
19213
19213
|
var _ellipsisResult;
|
|
@@ -19326,8 +19326,8 @@
|
|
|
19326
19326
|
};
|
|
19327
19327
|
}
|
|
19328
19328
|
|
|
19329
|
-
/**
|
|
19330
|
-
* Layout a single paragraph with wrapping
|
|
19329
|
+
/**
|
|
19330
|
+
* Layout a single paragraph with wrapping
|
|
19331
19331
|
*/
|
|
19332
19332
|
function layoutParagraph(text, options) {
|
|
19333
19333
|
const {
|
|
@@ -19362,8 +19362,8 @@
|
|
|
19362
19362
|
return layoutLines;
|
|
19363
19363
|
}
|
|
19364
19364
|
|
|
19365
|
-
/**
|
|
19366
|
-
* Layout a single line of text (no wrapping)
|
|
19365
|
+
/**
|
|
19366
|
+
* Layout a single line of text (no wrapping)
|
|
19367
19367
|
*/
|
|
19368
19368
|
function layoutSingleLine(text, options) {
|
|
19369
19369
|
let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -19433,8 +19433,8 @@
|
|
|
19433
19433
|
};
|
|
19434
19434
|
}
|
|
19435
19435
|
|
|
19436
|
-
/**
|
|
19437
|
-
* Word-based wrapping algorithm
|
|
19436
|
+
/**
|
|
19437
|
+
* Word-based wrapping algorithm
|
|
19438
19438
|
*/
|
|
19439
19439
|
function wrapByWords(text, maxWidth, options) {
|
|
19440
19440
|
const lines = [];
|
|
@@ -19467,8 +19467,8 @@
|
|
|
19467
19467
|
return lines.length > 0 ? lines : [''];
|
|
19468
19468
|
}
|
|
19469
19469
|
|
|
19470
|
-
/**
|
|
19471
|
-
* Character-based wrapping algorithm
|
|
19470
|
+
/**
|
|
19471
|
+
* Character-based wrapping algorithm
|
|
19472
19472
|
*/
|
|
19473
19473
|
function wrapByCharacters(text, maxWidth, options) {
|
|
19474
19474
|
const lines = [];
|
|
@@ -19490,8 +19490,8 @@
|
|
|
19490
19490
|
return lines.length > 0 ? lines : [''];
|
|
19491
19491
|
}
|
|
19492
19492
|
|
|
19493
|
-
/**
|
|
19494
|
-
* Apply text alignment to lines
|
|
19493
|
+
/**
|
|
19494
|
+
* Apply text alignment to lines
|
|
19495
19495
|
*/
|
|
19496
19496
|
function applyAlignment(lines, align, containerWidth, options) {
|
|
19497
19497
|
return lines.map(line => {
|
|
@@ -19525,8 +19525,8 @@
|
|
|
19525
19525
|
});
|
|
19526
19526
|
}
|
|
19527
19527
|
|
|
19528
|
-
/**
|
|
19529
|
-
* Apply justify alignment by expanding spaces
|
|
19528
|
+
/**
|
|
19529
|
+
* Apply justify alignment by expanding spaces
|
|
19530
19530
|
*/
|
|
19531
19531
|
function applyJustification(line, containerWidth, options) {
|
|
19532
19532
|
const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
|
|
@@ -19549,8 +19549,8 @@
|
|
|
19549
19549
|
return line;
|
|
19550
19550
|
}
|
|
19551
19551
|
|
|
19552
|
-
/**
|
|
19553
|
-
* Calculate vertical alignment offset
|
|
19552
|
+
/**
|
|
19553
|
+
* Calculate vertical alignment offset
|
|
19554
19554
|
*/
|
|
19555
19555
|
function calculateVerticalOffset(contentHeight, containerHeight, align) {
|
|
19556
19556
|
switch (align) {
|
|
@@ -19564,8 +19564,8 @@
|
|
|
19564
19564
|
}
|
|
19565
19565
|
}
|
|
19566
19566
|
|
|
19567
|
-
/**
|
|
19568
|
-
* Handle height overflow with ellipsis
|
|
19567
|
+
/**
|
|
19568
|
+
* Handle height overflow with ellipsis
|
|
19569
19569
|
*/
|
|
19570
19570
|
function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
|
|
19571
19571
|
// If ellipsis is enabled, try to fit part of the overflow line
|
|
@@ -19594,8 +19594,8 @@
|
|
|
19594
19594
|
};
|
|
19595
19595
|
}
|
|
19596
19596
|
|
|
19597
|
-
/**
|
|
19598
|
-
* Create empty line for empty paragraphs
|
|
19597
|
+
/**
|
|
19598
|
+
* Create empty line for empty paragraphs
|
|
19599
19599
|
*/
|
|
19600
19600
|
function createEmptyLine(options) {
|
|
19601
19601
|
const height = options.fontSize * options.lineHeight;
|
|
@@ -19611,8 +19611,8 @@
|
|
|
19611
19611
|
};
|
|
19612
19612
|
}
|
|
19613
19613
|
|
|
19614
|
-
/**
|
|
19615
|
-
* Measure width of a line of text
|
|
19614
|
+
/**
|
|
19615
|
+
* Measure width of a line of text
|
|
19616
19616
|
*/
|
|
19617
19617
|
function measureLineWidth(text, options) {
|
|
19618
19618
|
const graphemes = segmentGraphemes(text);
|
|
@@ -19629,8 +19629,8 @@
|
|
|
19629
19629
|
return width;
|
|
19630
19630
|
}
|
|
19631
19631
|
|
|
19632
|
-
/**
|
|
19633
|
-
* Convert layout options to measurement options
|
|
19632
|
+
/**
|
|
19633
|
+
* Convert layout options to measurement options
|
|
19634
19634
|
*/
|
|
19635
19635
|
function createMeasurementOptions(options) {
|
|
19636
19636
|
return {
|
|
@@ -19873,15 +19873,15 @@
|
|
|
19873
19873
|
}
|
|
19874
19874
|
}
|
|
19875
19875
|
|
|
19876
|
-
/**
|
|
19877
|
-
* Browser Line Break Extraction
|
|
19878
|
-
*
|
|
19879
|
-
* Captures exact line breaks as rendered by the browser to ensure
|
|
19880
|
-
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
19876
|
+
/**
|
|
19877
|
+
* Browser Line Break Extraction
|
|
19878
|
+
*
|
|
19879
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
19880
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
19881
19881
|
*/
|
|
19882
19882
|
|
|
19883
|
-
/**
|
|
19884
|
-
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
19883
|
+
/**
|
|
19884
|
+
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
19885
19885
|
*/
|
|
19886
19886
|
function segmentIntoGraphemes(text) {
|
|
19887
19887
|
if (typeof Intl !== 'undefined' && Intl.Segmenter) {
|
|
@@ -19895,9 +19895,9 @@
|
|
|
19895
19895
|
return Array.from(text);
|
|
19896
19896
|
}
|
|
19897
19897
|
|
|
19898
|
-
/**
|
|
19899
|
-
* Extract line break information from a textarea by creating a mirror element
|
|
19900
|
-
* with identical computed styles and measuring grapheme positions.
|
|
19898
|
+
/**
|
|
19899
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
19900
|
+
* with identical computed styles and measuring grapheme positions.
|
|
19901
19901
|
*/
|
|
19902
19902
|
function extractLinesFromDOM(textarea) {
|
|
19903
19903
|
const text = textarea.value;
|
|
@@ -19992,16 +19992,16 @@
|
|
|
19992
19992
|
}
|
|
19993
19993
|
}
|
|
19994
19994
|
|
|
19995
|
-
/**
|
|
19996
|
-
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
19995
|
+
/**
|
|
19996
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
19997
19997
|
*/
|
|
19998
19998
|
function createLayoutHash(target) {
|
|
19999
19999
|
const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
|
|
20000
20000
|
return properties.map(p => String(p)).join('|');
|
|
20001
20001
|
}
|
|
20002
20002
|
|
|
20003
|
-
/**
|
|
20004
|
-
* Check if stored browser lines are still valid for the current target state
|
|
20003
|
+
/**
|
|
20004
|
+
* Check if stored browser lines are still valid for the current target state
|
|
20005
20005
|
*/
|
|
20006
20006
|
function areBrowserLinesValid(target, storedHash) {
|
|
20007
20007
|
if (!storedHash || !target.__lastBrowserLines) {
|
|
@@ -20011,24 +20011,24 @@
|
|
|
20011
20011
|
return currentHash === storedHash;
|
|
20012
20012
|
}
|
|
20013
20013
|
|
|
20014
|
-
/**
|
|
20015
|
-
* Store browser lines on a target object with validity hash
|
|
20014
|
+
/**
|
|
20015
|
+
* Store browser lines on a target object with validity hash
|
|
20016
20016
|
*/
|
|
20017
20017
|
function storeBrowserLines(target, lines, layoutHash) {
|
|
20018
20018
|
target.__lastBrowserLines = lines;
|
|
20019
20019
|
target.__lastBrowserLinesHash = createLayoutHash(target);
|
|
20020
20020
|
}
|
|
20021
20021
|
|
|
20022
|
-
/**
|
|
20023
|
-
* Clear stored browser lines from a target object
|
|
20022
|
+
/**
|
|
20023
|
+
* Clear stored browser lines from a target object
|
|
20024
20024
|
*/
|
|
20025
20025
|
function clearBrowserLines(target) {
|
|
20026
20026
|
delete target.__lastBrowserLines;
|
|
20027
20027
|
delete target.__lastBrowserLinesHash;
|
|
20028
20028
|
}
|
|
20029
20029
|
|
|
20030
|
-
/**
|
|
20031
|
-
* Get stored browser lines if they're still valid
|
|
20030
|
+
/**
|
|
20031
|
+
* Get stored browser lines if they're still valid
|
|
20032
20032
|
*/
|
|
20033
20033
|
function getBrowserLines(target) {
|
|
20034
20034
|
const lines = target.__lastBrowserLines;
|
|
@@ -20041,9 +20041,9 @@
|
|
|
20041
20041
|
|
|
20042
20042
|
let measuringContext;
|
|
20043
20043
|
|
|
20044
|
-
/**
|
|
20045
|
-
* Return a context for measurement of text string.
|
|
20046
|
-
* if created it gets stored for reuse
|
|
20044
|
+
/**
|
|
20045
|
+
* Return a context for measurement of text string.
|
|
20046
|
+
* if created it gets stored for reuse
|
|
20047
20047
|
*/
|
|
20048
20048
|
function getMeasuringContext() {
|
|
20049
20049
|
if (!measuringContext) {
|
|
@@ -20056,17 +20056,17 @@
|
|
|
20056
20056
|
return measuringContext;
|
|
20057
20057
|
}
|
|
20058
20058
|
|
|
20059
|
-
/**
|
|
20060
|
-
* Measure and return the info of a single grapheme.
|
|
20061
|
-
* needs the the info of previous graphemes already filled
|
|
20062
|
-
* Override to customize measuring
|
|
20059
|
+
/**
|
|
20060
|
+
* Measure and return the info of a single grapheme.
|
|
20061
|
+
* needs the the info of previous graphemes already filled
|
|
20062
|
+
* Override to customize measuring
|
|
20063
20063
|
*/
|
|
20064
20064
|
|
|
20065
20065
|
// @TODO this is not complete
|
|
20066
20066
|
|
|
20067
|
-
/**
|
|
20068
|
-
* Text class
|
|
20069
|
-
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20067
|
+
/**
|
|
20068
|
+
* Text class
|
|
20069
|
+
* @see {@link http://fabricjs.com/fabric-intro-part-2#text}
|
|
20070
20070
|
*/
|
|
20071
20071
|
class FabricText extends StyledText {
|
|
20072
20072
|
static getDefaults() {
|
|
@@ -20077,11 +20077,11 @@
|
|
|
20077
20077
|
}
|
|
20078
20078
|
constructor(text, options) {
|
|
20079
20079
|
super();
|
|
20080
|
-
/**
|
|
20081
|
-
* contains characters bounding boxes
|
|
20082
|
-
* This variable is considered to be protected.
|
|
20083
|
-
* But for how mixins are implemented right now, we can't leave it private
|
|
20084
|
-
* @protected
|
|
20080
|
+
/**
|
|
20081
|
+
* contains characters bounding boxes
|
|
20082
|
+
* This variable is considered to be protected.
|
|
20083
|
+
* But for how mixins are implemented right now, we can't leave it private
|
|
20084
|
+
* @protected
|
|
20085
20085
|
*/
|
|
20086
20086
|
_defineProperty(this, "__charBounds", []);
|
|
20087
20087
|
Object.assign(this, FabricText.ownDefaults);
|
|
@@ -20098,9 +20098,9 @@
|
|
|
20098
20098
|
this.setCoords();
|
|
20099
20099
|
}
|
|
20100
20100
|
|
|
20101
|
-
/**
|
|
20102
|
-
* If text has a path, it will add the extra information needed
|
|
20103
|
-
* for path and text calculations
|
|
20101
|
+
/**
|
|
20102
|
+
* If text has a path, it will add the extra information needed
|
|
20103
|
+
* for path and text calculations
|
|
20104
20104
|
*/
|
|
20105
20105
|
setPathInfo() {
|
|
20106
20106
|
const path = this.path;
|
|
@@ -20109,10 +20109,10 @@
|
|
|
20109
20109
|
}
|
|
20110
20110
|
}
|
|
20111
20111
|
|
|
20112
|
-
/**
|
|
20113
|
-
* @private
|
|
20114
|
-
* Divides text into lines of text and lines of graphemes.
|
|
20115
|
-
* Uses browser lines when available for pixel-perfect consistency.
|
|
20112
|
+
/**
|
|
20113
|
+
* @private
|
|
20114
|
+
* Divides text into lines of text and lines of graphemes.
|
|
20115
|
+
* Uses browser lines when available for pixel-perfect consistency.
|
|
20116
20116
|
*/
|
|
20117
20117
|
_splitText() {
|
|
20118
20118
|
// Check if we have valid browser lines and should use them
|
|
@@ -20128,9 +20128,9 @@
|
|
|
20128
20128
|
return newLines;
|
|
20129
20129
|
}
|
|
20130
20130
|
|
|
20131
|
-
/**
|
|
20132
|
-
* Create TextLinesInfo from browser-extracted lines
|
|
20133
|
-
* @private
|
|
20131
|
+
/**
|
|
20132
|
+
* Create TextLinesInfo from browser-extracted lines
|
|
20133
|
+
* @private
|
|
20134
20134
|
*/
|
|
20135
20135
|
_splitTextFromBrowserLines(browserLines) {
|
|
20136
20136
|
const lines = [];
|
|
@@ -20164,10 +20164,10 @@
|
|
|
20164
20164
|
return result;
|
|
20165
20165
|
}
|
|
20166
20166
|
|
|
20167
|
-
/**
|
|
20168
|
-
* Initialize or update text dimensions.
|
|
20169
|
-
* Updates this.width and this.height with the proper values.
|
|
20170
|
-
* Does not return dimensions.
|
|
20167
|
+
/**
|
|
20168
|
+
* Initialize or update text dimensions.
|
|
20169
|
+
* Updates this.width and this.height with the proper values.
|
|
20170
|
+
* Does not return dimensions.
|
|
20171
20171
|
*/
|
|
20172
20172
|
initDimensions() {
|
|
20173
20173
|
// Use advanced layout if enabled
|
|
@@ -20190,11 +20190,12 @@
|
|
|
20190
20190
|
}
|
|
20191
20191
|
}
|
|
20192
20192
|
|
|
20193
|
-
/**
|
|
20194
|
-
* Enlarge space boxes and shift the others
|
|
20193
|
+
/**
|
|
20194
|
+
* Enlarge space boxes and shift the others
|
|
20195
20195
|
*/
|
|
20196
20196
|
enlargeSpaces() {
|
|
20197
20197
|
let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
|
|
20198
|
+
const isRtl = this.direction === 'rtl';
|
|
20198
20199
|
for (let i = 0, len = this._textLines.length; i < len; i++) {
|
|
20199
20200
|
if (this.textAlign !== JUSTIFY && (i === len - 1 || this.isEndOfWrapping(i))) {
|
|
20200
20201
|
continue;
|
|
@@ -20205,33 +20206,62 @@
|
|
|
20205
20206
|
if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {
|
|
20206
20207
|
numberOfSpaces = spaces.length;
|
|
20207
20208
|
diffSpace = (this.width - currentLineWidth) / numberOfSpaces;
|
|
20208
|
-
|
|
20209
|
-
|
|
20210
|
-
|
|
20211
|
-
|
|
20212
|
-
|
|
20213
|
-
|
|
20214
|
-
|
|
20215
|
-
|
|
20216
|
-
|
|
20209
|
+
if (isRtl) {
|
|
20210
|
+
for (let j = 0; j < line.length; j++) {
|
|
20211
|
+
if (this._reSpaceAndTab.test(line[j])) ;
|
|
20212
|
+
}
|
|
20213
|
+
|
|
20214
|
+
// For RTL, we need to work backwards through the visual positions
|
|
20215
|
+
// but still update logical positions correctly
|
|
20216
|
+
let spaceCount = 0;
|
|
20217
|
+
for (let j = 0; j <= line.length; j++) {
|
|
20218
|
+
charBound = this.__charBounds[i][j];
|
|
20219
|
+
if (charBound) {
|
|
20220
|
+
if (this._reSpaceAndTab.test(line[j])) {
|
|
20221
|
+
charBound.width += diffSpace;
|
|
20222
|
+
charBound.kernedWidth += diffSpace;
|
|
20223
|
+
spaceCount++;
|
|
20224
|
+
}
|
|
20225
|
+
|
|
20226
|
+
// For RTL, shift all characters to the right by the total expansion
|
|
20227
|
+
// minus the expansion that comes after this character
|
|
20228
|
+
const remainingSpaces = numberOfSpaces - spaceCount;
|
|
20229
|
+
const shiftAmount = remainingSpaces * diffSpace;
|
|
20230
|
+
charBound.left += shiftAmount;
|
|
20231
|
+
}
|
|
20232
|
+
}
|
|
20233
|
+
} else {
|
|
20234
|
+
// LTR processing (original logic)
|
|
20235
|
+
for (let j = 0; j <= line.length; j++) {
|
|
20236
|
+
charBound = this.__charBounds[i][j];
|
|
20237
|
+
if (charBound) {
|
|
20238
|
+
if (this._reSpaceAndTab.test(line[j])) {
|
|
20239
|
+
charBound.width += diffSpace;
|
|
20240
|
+
charBound.kernedWidth += diffSpace;
|
|
20241
|
+
charBound.left += accumulatedSpace;
|
|
20242
|
+
accumulatedSpace += diffSpace;
|
|
20243
|
+
} else {
|
|
20244
|
+
charBound.left += accumulatedSpace;
|
|
20245
|
+
}
|
|
20246
|
+
}
|
|
20217
20247
|
}
|
|
20218
20248
|
}
|
|
20219
20249
|
}
|
|
20220
20250
|
}
|
|
20221
20251
|
}
|
|
20222
20252
|
|
|
20223
|
-
/**
|
|
20224
|
-
* Advanced layout using new text engine (Konva-compatible)
|
|
20225
|
-
* @private
|
|
20253
|
+
/**
|
|
20254
|
+
* Advanced layout using new text engine (Konva-compatible)
|
|
20255
|
+
* @private
|
|
20226
20256
|
*/
|
|
20227
20257
|
_layoutTextAdvanced() {
|
|
20228
20258
|
const options = this._getAdvancedLayoutOptions();
|
|
20229
20259
|
return layoutText(options);
|
|
20230
20260
|
}
|
|
20231
20261
|
|
|
20232
|
-
/**
|
|
20233
|
-
* Get advanced layout options from current text properties
|
|
20234
|
-
* @private
|
|
20262
|
+
/**
|
|
20263
|
+
* Get advanced layout options from current text properties
|
|
20264
|
+
* @private
|
|
20235
20265
|
*/
|
|
20236
20266
|
_getAdvancedLayoutOptions() {
|
|
20237
20267
|
return {
|
|
@@ -20253,9 +20283,9 @@
|
|
|
20253
20283
|
};
|
|
20254
20284
|
}
|
|
20255
20285
|
|
|
20256
|
-
/**
|
|
20257
|
-
* Map Fabric textAlign to Konva align format
|
|
20258
|
-
* @private
|
|
20286
|
+
/**
|
|
20287
|
+
* Map Fabric textAlign to Konva align format
|
|
20288
|
+
* @private
|
|
20259
20289
|
*/
|
|
20260
20290
|
_mapTextAlignToAlign(textAlign) {
|
|
20261
20291
|
switch (textAlign) {
|
|
@@ -20276,8 +20306,8 @@
|
|
|
20276
20306
|
}
|
|
20277
20307
|
}
|
|
20278
20308
|
|
|
20279
|
-
/**
|
|
20280
|
-
* Enhanced initDimensions that uses advanced layout when enabled
|
|
20309
|
+
/**
|
|
20310
|
+
* Enhanced initDimensions that uses advanced layout when enabled
|
|
20281
20311
|
*/
|
|
20282
20312
|
initDimensionsAdvanced() {
|
|
20283
20313
|
if (!this.enableAdvancedLayout) {
|
|
@@ -20294,9 +20324,9 @@
|
|
|
20294
20324
|
this.dirty = true;
|
|
20295
20325
|
}
|
|
20296
20326
|
|
|
20297
|
-
/**
|
|
20298
|
-
* Convert new layout format to legacy _textLines and __charBounds format
|
|
20299
|
-
* @private
|
|
20327
|
+
/**
|
|
20328
|
+
* Convert new layout format to legacy _textLines and __charBounds format
|
|
20329
|
+
* @private
|
|
20300
20330
|
*/
|
|
20301
20331
|
_convertLayoutToLegacyFormat(layout) {
|
|
20302
20332
|
this._textLines = layout.lines.map(line => line.graphemes);
|
|
@@ -20318,30 +20348,30 @@
|
|
|
20318
20348
|
}
|
|
20319
20349
|
}
|
|
20320
20350
|
|
|
20321
|
-
/**
|
|
20322
|
-
* Detect if the text line is ended with an hard break
|
|
20323
|
-
* text and itext do not have wrapping, return false
|
|
20324
|
-
* @return {Boolean}
|
|
20351
|
+
/**
|
|
20352
|
+
* Detect if the text line is ended with an hard break
|
|
20353
|
+
* text and itext do not have wrapping, return false
|
|
20354
|
+
* @return {Boolean}
|
|
20325
20355
|
*/
|
|
20326
20356
|
isEndOfWrapping(lineIndex) {
|
|
20327
20357
|
return lineIndex === this._textLines.length - 1;
|
|
20328
20358
|
}
|
|
20329
20359
|
|
|
20330
|
-
/**
|
|
20331
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
20332
|
-
* and counting style.
|
|
20333
|
-
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
20334
|
-
* @return Number
|
|
20360
|
+
/**
|
|
20361
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
20362
|
+
* and counting style.
|
|
20363
|
+
* It return always 1 for text and Itext. Textbox has its own implementation
|
|
20364
|
+
* @return Number
|
|
20335
20365
|
*/
|
|
20336
20366
|
|
|
20337
20367
|
missingNewlineOffset(_lineIndex) {
|
|
20338
20368
|
return 1;
|
|
20339
20369
|
}
|
|
20340
20370
|
|
|
20341
|
-
/**
|
|
20342
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
20343
|
-
* @param {Number} selectionStart
|
|
20344
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
20371
|
+
/**
|
|
20372
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor
|
|
20373
|
+
* @param {Number} selectionStart
|
|
20374
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
20345
20375
|
*/
|
|
20346
20376
|
get2DCursorLocation(selectionStart, skipWrapping) {
|
|
20347
20377
|
const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
|
|
@@ -20361,24 +20391,24 @@
|
|
|
20361
20391
|
};
|
|
20362
20392
|
}
|
|
20363
20393
|
|
|
20364
|
-
/**
|
|
20365
|
-
* Returns string representation of an instance
|
|
20366
|
-
* @return {String} String representation of text object
|
|
20394
|
+
/**
|
|
20395
|
+
* Returns string representation of an instance
|
|
20396
|
+
* @return {String} String representation of text object
|
|
20367
20397
|
*/
|
|
20368
20398
|
toString() {
|
|
20369
20399
|
return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
|
|
20370
20400
|
}
|
|
20371
20401
|
|
|
20372
|
-
/**
|
|
20373
|
-
* Return the dimension and the zoom level needed to create a cache canvas
|
|
20374
|
-
* big enough to host the object to be cached.
|
|
20375
|
-
* @private
|
|
20376
|
-
* @param {Object} dim.x width of object to be cached
|
|
20377
|
-
* @param {Object} dim.y height of object to be cached
|
|
20378
|
-
* @return {Object}.width width of canvas
|
|
20379
|
-
* @return {Object}.height height of canvas
|
|
20380
|
-
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
20381
|
-
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
20402
|
+
/**
|
|
20403
|
+
* Return the dimension and the zoom level needed to create a cache canvas
|
|
20404
|
+
* big enough to host the object to be cached.
|
|
20405
|
+
* @private
|
|
20406
|
+
* @param {Object} dim.x width of object to be cached
|
|
20407
|
+
* @param {Object} dim.y height of object to be cached
|
|
20408
|
+
* @return {Object}.width width of canvas
|
|
20409
|
+
* @return {Object}.height height of canvas
|
|
20410
|
+
* @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
|
|
20411
|
+
* @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
|
|
20382
20412
|
*/
|
|
20383
20413
|
_getCacheCanvasDimensions() {
|
|
20384
20414
|
const dims = super._getCacheCanvasDimensions();
|
|
@@ -20388,9 +20418,9 @@
|
|
|
20388
20418
|
return dims;
|
|
20389
20419
|
}
|
|
20390
20420
|
|
|
20391
|
-
/**
|
|
20392
|
-
* @private
|
|
20393
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20421
|
+
/**
|
|
20422
|
+
* @private
|
|
20423
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20394
20424
|
*/
|
|
20395
20425
|
_render(ctx) {
|
|
20396
20426
|
const path = this.path;
|
|
@@ -20403,9 +20433,9 @@
|
|
|
20403
20433
|
this._renderTextDecoration(ctx, 'linethrough');
|
|
20404
20434
|
}
|
|
20405
20435
|
|
|
20406
|
-
/**
|
|
20407
|
-
* @private
|
|
20408
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20436
|
+
/**
|
|
20437
|
+
* @private
|
|
20438
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20409
20439
|
*/
|
|
20410
20440
|
_renderText(ctx) {
|
|
20411
20441
|
// Skip text rendering if in overlay editing mode
|
|
@@ -20421,15 +20451,15 @@
|
|
|
20421
20451
|
}
|
|
20422
20452
|
}
|
|
20423
20453
|
|
|
20424
|
-
/**
|
|
20425
|
-
* Set the font parameter of the context with the object properties or with charStyle
|
|
20426
|
-
* @private
|
|
20427
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20428
|
-
* @param {Object} [charStyle] object with font style properties
|
|
20429
|
-
* @param {String} [charStyle.fontFamily] Font Family
|
|
20430
|
-
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
20431
|
-
* @param {String} [charStyle.fontWeight] Font weight
|
|
20432
|
-
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
20454
|
+
/**
|
|
20455
|
+
* Set the font parameter of the context with the object properties or with charStyle
|
|
20456
|
+
* @private
|
|
20457
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20458
|
+
* @param {Object} [charStyle] object with font style properties
|
|
20459
|
+
* @param {String} [charStyle.fontFamily] Font Family
|
|
20460
|
+
* @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
|
|
20461
|
+
* @param {String} [charStyle.fontWeight] Font weight
|
|
20462
|
+
* @param {String} [charStyle.fontStyle] Font style (italic|normal)
|
|
20433
20463
|
*/
|
|
20434
20464
|
_setTextStyles(ctx, charStyle, forMeasuring) {
|
|
20435
20465
|
ctx.textBaseline = 'alphabetic';
|
|
@@ -20449,11 +20479,11 @@
|
|
|
20449
20479
|
ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
|
|
20450
20480
|
}
|
|
20451
20481
|
|
|
20452
|
-
/**
|
|
20453
|
-
* calculate and return the text Width measuring each line.
|
|
20454
|
-
* @private
|
|
20455
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20456
|
-
* @return {Number} Maximum width of Text object
|
|
20482
|
+
/**
|
|
20483
|
+
* calculate and return the text Width measuring each line.
|
|
20484
|
+
* @private
|
|
20485
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20486
|
+
* @return {Number} Maximum width of Text object
|
|
20457
20487
|
*/
|
|
20458
20488
|
calcTextWidth() {
|
|
20459
20489
|
let maxWidth = this.getLineWidth(0);
|
|
@@ -20466,23 +20496,23 @@
|
|
|
20466
20496
|
return maxWidth;
|
|
20467
20497
|
}
|
|
20468
20498
|
|
|
20469
|
-
/**
|
|
20470
|
-
* @private
|
|
20471
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
20472
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20473
|
-
* @param {String} line Text to render
|
|
20474
|
-
* @param {Number} left Left position of text
|
|
20475
|
-
* @param {Number} top Top position of text
|
|
20476
|
-
* @param {Number} lineIndex Index of a line in a text
|
|
20499
|
+
/**
|
|
20500
|
+
* @private
|
|
20501
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
20502
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20503
|
+
* @param {String} line Text to render
|
|
20504
|
+
* @param {Number} left Left position of text
|
|
20505
|
+
* @param {Number} top Top position of text
|
|
20506
|
+
* @param {Number} lineIndex Index of a line in a text
|
|
20477
20507
|
*/
|
|
20478
20508
|
_renderTextLine(method, ctx, line, left, top, lineIndex) {
|
|
20479
20509
|
this._renderChars(method, ctx, line, left, top, lineIndex);
|
|
20480
20510
|
}
|
|
20481
20511
|
|
|
20482
|
-
/**
|
|
20483
|
-
* Renders the text background for lines, taking care of style
|
|
20484
|
-
* @private
|
|
20485
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20512
|
+
/**
|
|
20513
|
+
* Renders the text background for lines, taking care of style
|
|
20514
|
+
* @private
|
|
20515
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20486
20516
|
*/
|
|
20487
20517
|
_renderTextLinesBackground(ctx) {
|
|
20488
20518
|
if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
|
|
@@ -20545,15 +20575,15 @@
|
|
|
20545
20575
|
this._removeShadow(ctx);
|
|
20546
20576
|
}
|
|
20547
20577
|
|
|
20548
|
-
/**
|
|
20549
|
-
* measure and return the width of a single character.
|
|
20550
|
-
* possibly overridden to accommodate different measure logic or
|
|
20551
|
-
* to hook some external lib for character measurement
|
|
20552
|
-
* @private
|
|
20553
|
-
* @param {String} _char, char to be measured
|
|
20554
|
-
* @param {Object} charStyle style of char to be measured
|
|
20555
|
-
* @param {String} [previousChar] previous char
|
|
20556
|
-
* @param {Object} [prevCharStyle] style of previous char
|
|
20578
|
+
/**
|
|
20579
|
+
* measure and return the width of a single character.
|
|
20580
|
+
* possibly overridden to accommodate different measure logic or
|
|
20581
|
+
* to hook some external lib for character measurement
|
|
20582
|
+
* @private
|
|
20583
|
+
* @param {String} _char, char to be measured
|
|
20584
|
+
* @param {Object} charStyle style of char to be measured
|
|
20585
|
+
* @param {String} [previousChar] previous char
|
|
20586
|
+
* @param {Object} [prevCharStyle] style of previous char
|
|
20557
20587
|
*/
|
|
20558
20588
|
_measureChar(_char, charStyle, previousChar, prevCharStyle) {
|
|
20559
20589
|
const fontCache = cache.getFontCache(charStyle),
|
|
@@ -20598,19 +20628,19 @@
|
|
|
20598
20628
|
};
|
|
20599
20629
|
}
|
|
20600
20630
|
|
|
20601
|
-
/**
|
|
20602
|
-
* Computes height of character at given position
|
|
20603
|
-
* @param {Number} line the line index number
|
|
20604
|
-
* @param {Number} _char the character index number
|
|
20605
|
-
* @return {Number} fontSize of the character
|
|
20631
|
+
/**
|
|
20632
|
+
* Computes height of character at given position
|
|
20633
|
+
* @param {Number} line the line index number
|
|
20634
|
+
* @param {Number} _char the character index number
|
|
20635
|
+
* @return {Number} fontSize of the character
|
|
20606
20636
|
*/
|
|
20607
20637
|
getHeightOfChar(line, _char) {
|
|
20608
20638
|
return this.getValueOfPropertyAt(line, _char, 'fontSize');
|
|
20609
20639
|
}
|
|
20610
20640
|
|
|
20611
|
-
/**
|
|
20612
|
-
* measure a text line measuring all characters.
|
|
20613
|
-
* @param {Number} lineIndex line number
|
|
20641
|
+
/**
|
|
20642
|
+
* measure a text line measuring all characters.
|
|
20643
|
+
* @param {Number} lineIndex line number
|
|
20614
20644
|
*/
|
|
20615
20645
|
measureLine(lineIndex) {
|
|
20616
20646
|
const lineInfo = this._measureLine(lineIndex);
|
|
@@ -20623,11 +20653,11 @@
|
|
|
20623
20653
|
return lineInfo;
|
|
20624
20654
|
}
|
|
20625
20655
|
|
|
20626
|
-
/**
|
|
20627
|
-
* measure every grapheme of a line, populating __charBounds
|
|
20628
|
-
* @param {Number} lineIndex
|
|
20629
|
-
* @return {Object} object.width total width of characters
|
|
20630
|
-
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
20656
|
+
/**
|
|
20657
|
+
* measure every grapheme of a line, populating __charBounds
|
|
20658
|
+
* @param {Number} lineIndex
|
|
20659
|
+
* @return {Object} object.width total width of characters
|
|
20660
|
+
* @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
|
|
20631
20661
|
*/
|
|
20632
20662
|
_measureLine(lineIndex) {
|
|
20633
20663
|
let width = 0,
|
|
@@ -20690,13 +20720,13 @@
|
|
|
20690
20720
|
};
|
|
20691
20721
|
}
|
|
20692
20722
|
|
|
20693
|
-
/**
|
|
20694
|
-
* Calculate the angle and the left,top position of the char that follow a path.
|
|
20695
|
-
* It appends it to graphemeInfo to be reused later at rendering
|
|
20696
|
-
* @private
|
|
20697
|
-
* @param {Number} positionInPath to be measured
|
|
20698
|
-
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
20699
|
-
* @param {Object} startingPoint position of the point
|
|
20723
|
+
/**
|
|
20724
|
+
* Calculate the angle and the left,top position of the char that follow a path.
|
|
20725
|
+
* It appends it to graphemeInfo to be reused later at rendering
|
|
20726
|
+
* @private
|
|
20727
|
+
* @param {Number} positionInPath to be measured
|
|
20728
|
+
* @param {GraphemeBBox} graphemeInfo current grapheme box information
|
|
20729
|
+
* @param {Object} startingPoint position of the point
|
|
20700
20730
|
*/
|
|
20701
20731
|
_setGraphemeOnPath(positionInPath, graphemeInfo) {
|
|
20702
20732
|
const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
|
|
@@ -20709,13 +20739,13 @@
|
|
|
20709
20739
|
graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
|
|
20710
20740
|
}
|
|
20711
20741
|
|
|
20712
|
-
/**
|
|
20713
|
-
*
|
|
20714
|
-
* @param {String} grapheme to be measured
|
|
20715
|
-
* @param {Number} lineIndex index of the line where the char is
|
|
20716
|
-
* @param {Number} charIndex position in the line
|
|
20717
|
-
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
20718
|
-
* @returns {GraphemeBBox} grapheme bbox
|
|
20742
|
+
/**
|
|
20743
|
+
*
|
|
20744
|
+
* @param {String} grapheme to be measured
|
|
20745
|
+
* @param {Number} lineIndex index of the line where the char is
|
|
20746
|
+
* @param {Number} charIndex position in the line
|
|
20747
|
+
* @param {String} [prevGrapheme] character preceding the one to be measured
|
|
20748
|
+
* @returns {GraphemeBBox} grapheme bbox
|
|
20719
20749
|
*/
|
|
20720
20750
|
_getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
|
|
20721
20751
|
const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
|
|
@@ -20743,10 +20773,10 @@
|
|
|
20743
20773
|
return box;
|
|
20744
20774
|
}
|
|
20745
20775
|
|
|
20746
|
-
/**
|
|
20747
|
-
* Calculate height of line at 'lineIndex'
|
|
20748
|
-
* @param {Number} lineIndex index of line to calculate
|
|
20749
|
-
* @return {Number}
|
|
20776
|
+
/**
|
|
20777
|
+
* Calculate height of line at 'lineIndex'
|
|
20778
|
+
* @param {Number} lineIndex index of line to calculate
|
|
20779
|
+
* @return {Number}
|
|
20750
20780
|
*/
|
|
20751
20781
|
getHeightOfLine(lineIndex) {
|
|
20752
20782
|
if (this.__lineHeights[lineIndex]) {
|
|
@@ -20762,8 +20792,8 @@
|
|
|
20762
20792
|
return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
|
|
20763
20793
|
}
|
|
20764
20794
|
|
|
20765
|
-
/**
|
|
20766
|
-
* Calculate text box height
|
|
20795
|
+
/**
|
|
20796
|
+
* Calculate text box height
|
|
20767
20797
|
*/
|
|
20768
20798
|
calcTextHeight() {
|
|
20769
20799
|
let lineHeight,
|
|
@@ -20775,26 +20805,26 @@
|
|
|
20775
20805
|
return height;
|
|
20776
20806
|
}
|
|
20777
20807
|
|
|
20778
|
-
/**
|
|
20779
|
-
* @private
|
|
20780
|
-
* @return {Number} Left offset
|
|
20808
|
+
/**
|
|
20809
|
+
* @private
|
|
20810
|
+
* @return {Number} Left offset
|
|
20781
20811
|
*/
|
|
20782
20812
|
_getLeftOffset() {
|
|
20783
20813
|
return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
|
|
20784
20814
|
}
|
|
20785
20815
|
|
|
20786
|
-
/**
|
|
20787
|
-
* @private
|
|
20788
|
-
* @return {Number} Top offset
|
|
20816
|
+
/**
|
|
20817
|
+
* @private
|
|
20818
|
+
* @return {Number} Top offset
|
|
20789
20819
|
*/
|
|
20790
20820
|
_getTopOffset() {
|
|
20791
20821
|
return -this.height / 2;
|
|
20792
20822
|
}
|
|
20793
20823
|
|
|
20794
|
-
/**
|
|
20795
|
-
* @private
|
|
20796
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20797
|
-
* @param {String} method Method name ("fillText" or "strokeText")
|
|
20824
|
+
/**
|
|
20825
|
+
* @private
|
|
20826
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20827
|
+
* @param {String} method Method name ("fillText" or "strokeText")
|
|
20798
20828
|
*/
|
|
20799
20829
|
_renderTextCommon(ctx, method) {
|
|
20800
20830
|
ctx.save();
|
|
@@ -20811,9 +20841,9 @@
|
|
|
20811
20841
|
ctx.restore();
|
|
20812
20842
|
}
|
|
20813
20843
|
|
|
20814
|
-
/**
|
|
20815
|
-
* @private
|
|
20816
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20844
|
+
/**
|
|
20845
|
+
* @private
|
|
20846
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20817
20847
|
*/
|
|
20818
20848
|
_renderTextFill(ctx) {
|
|
20819
20849
|
if (!this.fill && !this.styleHas(FILL)) {
|
|
@@ -20822,9 +20852,9 @@
|
|
|
20822
20852
|
this._renderTextCommon(ctx, 'fillText');
|
|
20823
20853
|
}
|
|
20824
20854
|
|
|
20825
|
-
/**
|
|
20826
|
-
* @private
|
|
20827
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20855
|
+
/**
|
|
20856
|
+
* @private
|
|
20857
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20828
20858
|
*/
|
|
20829
20859
|
_renderTextStroke(ctx) {
|
|
20830
20860
|
if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
|
|
@@ -20841,14 +20871,14 @@
|
|
|
20841
20871
|
ctx.restore();
|
|
20842
20872
|
}
|
|
20843
20873
|
|
|
20844
|
-
/**
|
|
20845
|
-
* @private
|
|
20846
|
-
* @param {String} method fillText or strokeText.
|
|
20847
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20848
|
-
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
20849
|
-
* @param {Number} left
|
|
20850
|
-
* @param {Number} top
|
|
20851
|
-
* @param {Number} lineIndex
|
|
20874
|
+
/**
|
|
20875
|
+
* @private
|
|
20876
|
+
* @param {String} method fillText or strokeText.
|
|
20877
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
20878
|
+
* @param {Array} line Content of the line, splitted in an array by grapheme
|
|
20879
|
+
* @param {Number} left
|
|
20880
|
+
* @param {Number} top
|
|
20881
|
+
* @param {Number} lineIndex
|
|
20852
20882
|
*/
|
|
20853
20883
|
_renderChars(method, ctx, line, left, top, lineIndex) {
|
|
20854
20884
|
const lineHeight = this.getHeightOfLine(lineIndex),
|
|
@@ -20871,7 +20901,15 @@
|
|
|
20871
20901
|
if (currentDirection !== this.direction) {
|
|
20872
20902
|
ctx.canvas.setAttribute('dir', isLtr ? 'ltr' : 'rtl');
|
|
20873
20903
|
ctx.direction = isLtr ? 'ltr' : 'rtl';
|
|
20874
|
-
|
|
20904
|
+
|
|
20905
|
+
// For justify alignments, we need to set the correct canvas text alignment
|
|
20906
|
+
// This is crucial for RTL text to render in the correct order
|
|
20907
|
+
if (isJustify) {
|
|
20908
|
+
// Justify uses LEFT alignment as a base, letting the character positioning handle justification
|
|
20909
|
+
ctx.textAlign = LEFT;
|
|
20910
|
+
} else {
|
|
20911
|
+
ctx.textAlign = isLtr ? LEFT : RIGHT;
|
|
20912
|
+
}
|
|
20875
20913
|
}
|
|
20876
20914
|
top -= lineHeight * this._fontSizeFraction / this.lineHeight;
|
|
20877
20915
|
if (shortCut) {
|
|
@@ -20922,16 +20960,16 @@
|
|
|
20922
20960
|
ctx.restore();
|
|
20923
20961
|
}
|
|
20924
20962
|
|
|
20925
|
-
/**
|
|
20926
|
-
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
20927
|
-
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
20928
|
-
* we want to transform the gradient but not the stroke operation, so we create
|
|
20929
|
-
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
20930
|
-
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
20931
|
-
* is limited.
|
|
20932
|
-
* @private
|
|
20933
|
-
* @param {TFiller} filler a fabric gradient instance
|
|
20934
|
-
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
20963
|
+
/**
|
|
20964
|
+
* This function try to patch the missing gradientTransform on canvas gradients.
|
|
20965
|
+
* transforming a context to transform the gradient, is going to transform the stroke too.
|
|
20966
|
+
* we want to transform the gradient but not the stroke operation, so we create
|
|
20967
|
+
* a transformed gradient on a pattern and then we use the pattern instead of the gradient.
|
|
20968
|
+
* this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
|
|
20969
|
+
* is limited.
|
|
20970
|
+
* @private
|
|
20971
|
+
* @param {TFiller} filler a fabric gradient instance
|
|
20972
|
+
* @return {CanvasPattern} a pattern to use as fill/stroke style
|
|
20935
20973
|
*/
|
|
20936
20974
|
_applyPatternGradientTransformText(filler) {
|
|
20937
20975
|
// TODO: verify compatibility with strokeUniform
|
|
@@ -20987,12 +21025,12 @@
|
|
|
20987
21025
|
};
|
|
20988
21026
|
}
|
|
20989
21027
|
|
|
20990
|
-
/**
|
|
20991
|
-
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
20992
|
-
* need to be sent in as defined
|
|
20993
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
20994
|
-
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
20995
|
-
* @returns
|
|
21028
|
+
/**
|
|
21029
|
+
* This function prepare the canvas for a stroke style, and stroke and strokeWidth
|
|
21030
|
+
* need to be sent in as defined
|
|
21031
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21032
|
+
* @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
|
|
21033
|
+
* @returns
|
|
20996
21034
|
*/
|
|
20997
21035
|
_setStrokeStyles(ctx, _ref) {
|
|
20998
21036
|
let {
|
|
@@ -21007,12 +21045,12 @@
|
|
|
21007
21045
|
return this.handleFiller(ctx, 'strokeStyle', stroke);
|
|
21008
21046
|
}
|
|
21009
21047
|
|
|
21010
|
-
/**
|
|
21011
|
-
* This function prepare the canvas for a ill style, and fill
|
|
21012
|
-
* need to be sent in as defined
|
|
21013
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
21014
|
-
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21015
|
-
* @returns
|
|
21048
|
+
/**
|
|
21049
|
+
* This function prepare the canvas for a ill style, and fill
|
|
21050
|
+
* need to be sent in as defined
|
|
21051
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
21052
|
+
* @param {CompleteTextStyleDeclaration} style with ill defined
|
|
21053
|
+
* @returns
|
|
21016
21054
|
*/
|
|
21017
21055
|
_setFillStyles(ctx, _ref2) {
|
|
21018
21056
|
let {
|
|
@@ -21021,16 +21059,16 @@
|
|
|
21021
21059
|
return this.handleFiller(ctx, 'fillStyle', fill);
|
|
21022
21060
|
}
|
|
21023
21061
|
|
|
21024
|
-
/**
|
|
21025
|
-
* @private
|
|
21026
|
-
* @param {String} method
|
|
21027
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21028
|
-
* @param {Number} lineIndex
|
|
21029
|
-
* @param {Number} charIndex
|
|
21030
|
-
* @param {String} _char
|
|
21031
|
-
* @param {Number} left Left coordinate
|
|
21032
|
-
* @param {Number} top Top coordinate
|
|
21033
|
-
* @param {Number} lineHeight Height of the line
|
|
21062
|
+
/**
|
|
21063
|
+
* @private
|
|
21064
|
+
* @param {String} method
|
|
21065
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21066
|
+
* @param {Number} lineIndex
|
|
21067
|
+
* @param {Number} charIndex
|
|
21068
|
+
* @param {String} _char
|
|
21069
|
+
* @param {Number} left Left coordinate
|
|
21070
|
+
* @param {Number} top Top coordinate
|
|
21071
|
+
* @param {Number} lineHeight Height of the line
|
|
21034
21072
|
*/
|
|
21035
21073
|
_renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
|
|
21036
21074
|
const decl = this._getStyleDeclaration(lineIndex, charIndex),
|
|
@@ -21059,30 +21097,30 @@
|
|
|
21059
21097
|
ctx.restore();
|
|
21060
21098
|
}
|
|
21061
21099
|
|
|
21062
|
-
/**
|
|
21063
|
-
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21064
|
-
* @param {Number} start selection start
|
|
21065
|
-
* @param {Number} end selection end
|
|
21100
|
+
/**
|
|
21101
|
+
* Turns the character into a 'superior figure' (i.e. 'superscript')
|
|
21102
|
+
* @param {Number} start selection start
|
|
21103
|
+
* @param {Number} end selection end
|
|
21066
21104
|
*/
|
|
21067
21105
|
setSuperscript(start, end) {
|
|
21068
21106
|
this._setScript(start, end, this.superscript);
|
|
21069
21107
|
}
|
|
21070
21108
|
|
|
21071
|
-
/**
|
|
21072
|
-
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21073
|
-
* @param {Number} start selection start
|
|
21074
|
-
* @param {Number} end selection end
|
|
21109
|
+
/**
|
|
21110
|
+
* Turns the character into an 'inferior figure' (i.e. 'subscript')
|
|
21111
|
+
* @param {Number} start selection start
|
|
21112
|
+
* @param {Number} end selection end
|
|
21075
21113
|
*/
|
|
21076
21114
|
setSubscript(start, end) {
|
|
21077
21115
|
this._setScript(start, end, this.subscript);
|
|
21078
21116
|
}
|
|
21079
21117
|
|
|
21080
|
-
/**
|
|
21081
|
-
* Applies 'schema' at given position
|
|
21082
|
-
* @private
|
|
21083
|
-
* @param {Number} start selection start
|
|
21084
|
-
* @param {Number} end selection end
|
|
21085
|
-
* @param {Number} schema
|
|
21118
|
+
/**
|
|
21119
|
+
* Applies 'schema' at given position
|
|
21120
|
+
* @private
|
|
21121
|
+
* @param {Number} start selection start
|
|
21122
|
+
* @param {Number} end selection end
|
|
21123
|
+
* @param {Number} schema
|
|
21086
21124
|
*/
|
|
21087
21125
|
_setScript(start, end, schema) {
|
|
21088
21126
|
const loc = this.get2DCursorLocation(start, true),
|
|
@@ -21095,10 +21133,10 @@
|
|
|
21095
21133
|
this.setSelectionStyles(style, start, end);
|
|
21096
21134
|
}
|
|
21097
21135
|
|
|
21098
|
-
/**
|
|
21099
|
-
* @private
|
|
21100
|
-
* @param {Number} lineIndex index text line
|
|
21101
|
-
* @return {Number} Line left offset
|
|
21136
|
+
/**
|
|
21137
|
+
* @private
|
|
21138
|
+
* @param {Number} lineIndex index text line
|
|
21139
|
+
* @return {Number} Line left offset
|
|
21102
21140
|
*/
|
|
21103
21141
|
_getLineLeftOffset(lineIndex) {
|
|
21104
21142
|
const lineWidth = this.getLineWidth(lineIndex),
|
|
@@ -21107,9 +21145,21 @@
|
|
|
21107
21145
|
direction = this.direction,
|
|
21108
21146
|
isEndOfWrapping = this.isEndOfWrapping(lineIndex);
|
|
21109
21147
|
let leftOffset = 0;
|
|
21110
|
-
|
|
21111
|
-
|
|
21148
|
+
|
|
21149
|
+
// Handle justify alignments (excluding last lines and wrapped line ends)
|
|
21150
|
+
const isJustifyLine = textAlign === JUSTIFY || textAlign === JUSTIFY_CENTER && !isEndOfWrapping || textAlign === JUSTIFY_RIGHT && !isEndOfWrapping || textAlign === JUSTIFY_LEFT && !isEndOfWrapping;
|
|
21151
|
+
if (isJustifyLine) {
|
|
21152
|
+
// Justify lines should start at the left edge for LTR and right edge for RTL
|
|
21153
|
+
// The space distribution is handled by enlargeSpaces()
|
|
21154
|
+
if (direction === 'rtl') {
|
|
21155
|
+
// For RTL justify, we need to account for the line being right-aligned
|
|
21156
|
+
return 0;
|
|
21157
|
+
} else {
|
|
21158
|
+
return 0;
|
|
21159
|
+
}
|
|
21112
21160
|
}
|
|
21161
|
+
|
|
21162
|
+
// Handle non-justify alignments
|
|
21113
21163
|
if (textAlign === CENTER) {
|
|
21114
21164
|
leftOffset = lineDiff / 2;
|
|
21115
21165
|
}
|
|
@@ -21122,6 +21172,8 @@
|
|
|
21122
21172
|
if (textAlign === JUSTIFY_RIGHT) {
|
|
21123
21173
|
leftOffset = lineDiff;
|
|
21124
21174
|
}
|
|
21175
|
+
|
|
21176
|
+
// Apply RTL adjustments for non-justify alignments
|
|
21125
21177
|
if (direction === 'rtl') {
|
|
21126
21178
|
if (textAlign === RIGHT || textAlign === JUSTIFY || textAlign === JUSTIFY_RIGHT) {
|
|
21127
21179
|
leftOffset = 0;
|
|
@@ -21134,8 +21186,8 @@
|
|
|
21134
21186
|
return leftOffset;
|
|
21135
21187
|
}
|
|
21136
21188
|
|
|
21137
|
-
/**
|
|
21138
|
-
* @private
|
|
21189
|
+
/**
|
|
21190
|
+
* @private
|
|
21139
21191
|
*/
|
|
21140
21192
|
_clearCache() {
|
|
21141
21193
|
this._forceClearCache = false;
|
|
@@ -21144,12 +21196,12 @@
|
|
|
21144
21196
|
this.__charBounds = [];
|
|
21145
21197
|
}
|
|
21146
21198
|
|
|
21147
|
-
/**
|
|
21148
|
-
* Measure a single line given its index. Used to calculate the initial
|
|
21149
|
-
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21150
|
-
* @private
|
|
21151
|
-
* @param {Number} lineIndex line number
|
|
21152
|
-
* @return {Number} Line width
|
|
21199
|
+
/**
|
|
21200
|
+
* Measure a single line given its index. Used to calculate the initial
|
|
21201
|
+
* text bounding box. The values are calculated and stored in __lineWidths cache.
|
|
21202
|
+
* @private
|
|
21203
|
+
* @param {Number} lineIndex line number
|
|
21204
|
+
* @return {Number} Line width
|
|
21153
21205
|
*/
|
|
21154
21206
|
getLineWidth(lineIndex) {
|
|
21155
21207
|
if (this.__lineWidths[lineIndex] !== undefined) {
|
|
@@ -21168,12 +21220,12 @@
|
|
|
21168
21220
|
return 0;
|
|
21169
21221
|
}
|
|
21170
21222
|
|
|
21171
|
-
/**
|
|
21172
|
-
* Retrieves the value of property at given character position
|
|
21173
|
-
* @param {Number} lineIndex the line number
|
|
21174
|
-
* @param {Number} charIndex the character number
|
|
21175
|
-
* @param {String} property the property name
|
|
21176
|
-
* @returns the value of 'property'
|
|
21223
|
+
/**
|
|
21224
|
+
* Retrieves the value of property at given character position
|
|
21225
|
+
* @param {Number} lineIndex the line number
|
|
21226
|
+
* @param {Number} charIndex the character number
|
|
21227
|
+
* @param {String} property the property name
|
|
21228
|
+
* @returns the value of 'property'
|
|
21177
21229
|
*/
|
|
21178
21230
|
getValueOfPropertyAt(lineIndex, charIndex, property) {
|
|
21179
21231
|
var _charStyle$property;
|
|
@@ -21181,9 +21233,9 @@
|
|
|
21181
21233
|
return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
|
|
21182
21234
|
}
|
|
21183
21235
|
|
|
21184
|
-
/**
|
|
21185
|
-
* @private
|
|
21186
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21236
|
+
/**
|
|
21237
|
+
* @private
|
|
21238
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21187
21239
|
*/
|
|
21188
21240
|
_renderTextDecoration(ctx, type) {
|
|
21189
21241
|
if (!this[type] && !this.styleHas(type)) {
|
|
@@ -21267,10 +21319,10 @@
|
|
|
21267
21319
|
this._removeShadow(ctx);
|
|
21268
21320
|
}
|
|
21269
21321
|
|
|
21270
|
-
/**
|
|
21271
|
-
* return font declaration string for canvas context
|
|
21272
|
-
* @param {Object} [styleObject] object
|
|
21273
|
-
* @returns {String} font declaration formatted for canvas context.
|
|
21322
|
+
/**
|
|
21323
|
+
* return font declaration string for canvas context
|
|
21324
|
+
* @param {Object} [styleObject] object
|
|
21325
|
+
* @returns {String} font declaration formatted for canvas context.
|
|
21274
21326
|
*/
|
|
21275
21327
|
_getFontDeclaration() {
|
|
21276
21328
|
let {
|
|
@@ -21284,9 +21336,9 @@
|
|
|
21284
21336
|
return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
|
|
21285
21337
|
}
|
|
21286
21338
|
|
|
21287
|
-
/**
|
|
21288
|
-
* Renders text instance on a specified context
|
|
21289
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21339
|
+
/**
|
|
21340
|
+
* Renders text instance on a specified context
|
|
21341
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
21290
21342
|
*/
|
|
21291
21343
|
render(ctx) {
|
|
21292
21344
|
if (!this.visible) {
|
|
@@ -21301,22 +21353,22 @@
|
|
|
21301
21353
|
super.render(ctx);
|
|
21302
21354
|
}
|
|
21303
21355
|
|
|
21304
|
-
/**
|
|
21305
|
-
* Override this method to customize grapheme splitting
|
|
21306
|
-
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
21307
|
-
* is more comfortable to inject the correct util rather than having to override text
|
|
21308
|
-
* in the middle of the prototype chain
|
|
21309
|
-
* @param {string} value
|
|
21310
|
-
* @returns {string[]} array of graphemes
|
|
21356
|
+
/**
|
|
21357
|
+
* Override this method to customize grapheme splitting
|
|
21358
|
+
* @todo the util `graphemeSplit` needs to be injectable in some way.
|
|
21359
|
+
* is more comfortable to inject the correct util rather than having to override text
|
|
21360
|
+
* in the middle of the prototype chain
|
|
21361
|
+
* @param {string} value
|
|
21362
|
+
* @returns {string[]} array of graphemes
|
|
21311
21363
|
*/
|
|
21312
21364
|
graphemeSplit(value) {
|
|
21313
21365
|
return graphemeSplit(value);
|
|
21314
21366
|
}
|
|
21315
21367
|
|
|
21316
|
-
/**
|
|
21317
|
-
* Returns the text as an array of lines.
|
|
21318
|
-
* @param {String} text text to split
|
|
21319
|
-
* @returns Lines in the text
|
|
21368
|
+
/**
|
|
21369
|
+
* Returns the text as an array of lines.
|
|
21370
|
+
* @param {String} text text to split
|
|
21371
|
+
* @returns Lines in the text
|
|
21320
21372
|
*/
|
|
21321
21373
|
_splitTextIntoLines(text) {
|
|
21322
21374
|
const lines = text.split(this._reNewline),
|
|
@@ -21336,10 +21388,10 @@
|
|
|
21336
21388
|
};
|
|
21337
21389
|
}
|
|
21338
21390
|
|
|
21339
|
-
/**
|
|
21340
|
-
* Returns object representation of an instance
|
|
21341
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
21342
|
-
* @return {Object} Object representation of an instance
|
|
21391
|
+
/**
|
|
21392
|
+
* Returns object representation of an instance
|
|
21393
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
21394
|
+
* @return {Object} Object representation of an instance
|
|
21343
21395
|
*/
|
|
21344
21396
|
toObject() {
|
|
21345
21397
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -21382,23 +21434,23 @@
|
|
|
21382
21434
|
return this;
|
|
21383
21435
|
}
|
|
21384
21436
|
|
|
21385
|
-
/**
|
|
21386
|
-
* Returns complexity of an instance
|
|
21387
|
-
* @return {Number} complexity
|
|
21437
|
+
/**
|
|
21438
|
+
* Returns complexity of an instance
|
|
21439
|
+
* @return {Number} complexity
|
|
21388
21440
|
*/
|
|
21389
21441
|
complexity() {
|
|
21390
21442
|
return 1;
|
|
21391
21443
|
}
|
|
21392
21444
|
|
|
21393
|
-
/**
|
|
21394
|
-
* List of generic font families
|
|
21395
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
21445
|
+
/**
|
|
21446
|
+
* List of generic font families
|
|
21447
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
|
|
21396
21448
|
*/
|
|
21397
21449
|
|
|
21398
|
-
/**
|
|
21399
|
-
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
21400
|
-
* @param {HTMLElement} element Element to parse
|
|
21401
|
-
* @param {Object} [options] Options object
|
|
21450
|
+
/**
|
|
21451
|
+
* Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
|
|
21452
|
+
* @param {HTMLElement} element Element to parse
|
|
21453
|
+
* @param {Object} [options] Options object
|
|
21402
21454
|
*/
|
|
21403
21455
|
static async fromElement(element, options, cssRules) {
|
|
21404
21456
|
const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
|
|
@@ -21437,10 +21489,10 @@
|
|
|
21437
21489
|
scaledDiff = lineHeightDiff * textHeightScaleFactor,
|
|
21438
21490
|
textHeight = text.getScaledHeight() + scaledDiff;
|
|
21439
21491
|
let offX = 0;
|
|
21440
|
-
/*
|
|
21441
|
-
Adjust positioning:
|
|
21442
|
-
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
21443
|
-
fabric output by default at top, left.
|
|
21492
|
+
/*
|
|
21493
|
+
Adjust positioning:
|
|
21494
|
+
x/y attributes in SVG correspond to the bottom-left corner of text bounding box
|
|
21495
|
+
fabric output by default at top, left.
|
|
21444
21496
|
*/
|
|
21445
21497
|
if (textAnchor === CENTER) {
|
|
21446
21498
|
offX = text.getScaledWidth() / 2;
|
|
@@ -21458,10 +21510,10 @@
|
|
|
21458
21510
|
|
|
21459
21511
|
/* _FROM_SVG_END_ */
|
|
21460
21512
|
|
|
21461
|
-
/**
|
|
21462
|
-
* Returns FabricText instance from an object representation
|
|
21463
|
-
* @param {Object} object plain js Object to create an instance from
|
|
21464
|
-
* @returns {Promise<FabricText>}
|
|
21513
|
+
/**
|
|
21514
|
+
* Returns FabricText instance from an object representation
|
|
21515
|
+
* @param {Object} object plain js Object to create an instance from
|
|
21516
|
+
* @returns {Promise<FabricText>}
|
|
21465
21517
|
*/
|
|
21466
21518
|
static fromObject(object) {
|
|
21467
21519
|
return this._fromObject({
|
|
@@ -21472,10 +21524,10 @@
|
|
|
21472
21524
|
});
|
|
21473
21525
|
}
|
|
21474
21526
|
}
|
|
21475
|
-
/**
|
|
21476
|
-
* Properties that requires a text layout recalculation when changed
|
|
21477
|
-
* @type string[]
|
|
21478
|
-
* @protected
|
|
21527
|
+
/**
|
|
21528
|
+
* Properties that requires a text layout recalculation when changed
|
|
21529
|
+
* @type string[]
|
|
21530
|
+
* @protected
|
|
21479
21531
|
*/
|
|
21480
21532
|
_defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
|
|
21481
21533
|
_defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
|
|
@@ -21483,9 +21535,9 @@
|
|
|
21483
21535
|
_defineProperty(FabricText, "type", 'Text');
|
|
21484
21536
|
_defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
|
|
21485
21537
|
/* _FROM_SVG_START_ */
|
|
21486
|
-
/**
|
|
21487
|
-
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
21488
|
-
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
21538
|
+
/**
|
|
21539
|
+
* List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
|
|
21540
|
+
* @see: http://www.w3.org/TR/SVG/text.html#TextElement
|
|
21489
21541
|
*/
|
|
21490
21542
|
_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'));
|
|
21491
21543
|
applyMixins(FabricText, [TextSVGExportMixin]);
|
|
@@ -21872,8 +21924,8 @@
|
|
|
21872
21924
|
// We don't need to save/restore them here as it would conflict with IText's restoration
|
|
21873
21925
|
}
|
|
21874
21926
|
|
|
21875
|
-
/**
|
|
21876
|
-
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
21927
|
+
/**
|
|
21928
|
+
* Get the container element for the overlay (parent of upperCanvasEl)
|
|
21877
21929
|
*/
|
|
21878
21930
|
getCanvasContainer() {
|
|
21879
21931
|
const upperCanvas = this.canvas.upperCanvasEl;
|
|
@@ -21887,8 +21939,8 @@
|
|
|
21887
21939
|
return container;
|
|
21888
21940
|
}
|
|
21889
21941
|
|
|
21890
|
-
/**
|
|
21891
|
-
* Create the overlay DOM structure
|
|
21942
|
+
/**
|
|
21943
|
+
* Create the overlay DOM structure
|
|
21892
21944
|
*/
|
|
21893
21945
|
createOverlayDOM() {
|
|
21894
21946
|
// Host div for positioning and overflow control
|
|
@@ -21943,8 +21995,8 @@
|
|
|
21943
21995
|
document.body.appendChild(this.hostDiv);
|
|
21944
21996
|
}
|
|
21945
21997
|
|
|
21946
|
-
/**
|
|
21947
|
-
* Attach all event listeners
|
|
21998
|
+
/**
|
|
21999
|
+
* Attach all event listeners
|
|
21948
22000
|
*/
|
|
21949
22001
|
attachEventListeners() {
|
|
21950
22002
|
// Textarea events
|
|
@@ -21964,8 +22016,8 @@
|
|
|
21964
22016
|
this.setupViewportChangeDetection();
|
|
21965
22017
|
}
|
|
21966
22018
|
|
|
21967
|
-
/**
|
|
21968
|
-
* Remove all event listeners
|
|
22019
|
+
/**
|
|
22020
|
+
* Remove all event listeners
|
|
21969
22021
|
*/
|
|
21970
22022
|
removeEventListeners() {
|
|
21971
22023
|
this.textarea.removeEventListener('input', this.boundHandlers.onInput);
|
|
@@ -21982,16 +22034,16 @@
|
|
|
21982
22034
|
this.restoreViewportChangeDetection();
|
|
21983
22035
|
}
|
|
21984
22036
|
|
|
21985
|
-
/**
|
|
21986
|
-
* Simple method to refresh positioning when canvas changes
|
|
22037
|
+
/**
|
|
22038
|
+
* Simple method to refresh positioning when canvas changes
|
|
21987
22039
|
*/
|
|
21988
22040
|
updatePosition() {
|
|
21989
22041
|
this.applyOverlayStyle();
|
|
21990
22042
|
}
|
|
21991
22043
|
|
|
21992
|
-
/**
|
|
21993
|
-
* Update the Fabric object bounds to match current textarea size
|
|
21994
|
-
* This ensures Fabric.js selection controls follow the growing textbox
|
|
22044
|
+
/**
|
|
22045
|
+
* Update the Fabric object bounds to match current textarea size
|
|
22046
|
+
* This ensures Fabric.js selection controls follow the growing textbox
|
|
21995
22047
|
*/
|
|
21996
22048
|
updateObjectBounds() {
|
|
21997
22049
|
if (this.isDestroyed) return;
|
|
@@ -22025,15 +22077,15 @@
|
|
|
22025
22077
|
}
|
|
22026
22078
|
}
|
|
22027
22079
|
|
|
22028
|
-
/**
|
|
22029
|
-
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22080
|
+
/**
|
|
22081
|
+
* Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
|
|
22030
22082
|
*/
|
|
22031
22083
|
letterSpacingPx(charSpacing, fontSize) {
|
|
22032
22084
|
return charSpacing / 1000 * fontSize;
|
|
22033
22085
|
}
|
|
22034
22086
|
|
|
22035
|
-
/**
|
|
22036
|
-
* Detect text direction using first strong directional character
|
|
22087
|
+
/**
|
|
22088
|
+
* Detect text direction using first strong directional character
|
|
22037
22089
|
*/
|
|
22038
22090
|
firstStrongDir(text) {
|
|
22039
22091
|
// Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
|
|
@@ -22117,13 +22169,86 @@
|
|
|
22117
22169
|
this.textarea.style.fontFamily = target.fontFamily || 'Arial';
|
|
22118
22170
|
this.textarea.style.fontWeight = String(target.fontWeight || 'normal');
|
|
22119
22171
|
this.textarea.style.fontStyle = target.fontStyle || 'normal';
|
|
22120
|
-
|
|
22172
|
+
// Handle text alignment and justification
|
|
22173
|
+
const textAlign = target.textAlign || 'left';
|
|
22174
|
+
let cssTextAlign = textAlign;
|
|
22175
|
+
|
|
22176
|
+
// Detect text direction from content for proper justify handling
|
|
22177
|
+
const autoDetectedDirection = this.firstStrongDir(this.textarea.value || '');
|
|
22178
|
+
|
|
22179
|
+
// DEBUG: Log alignment details
|
|
22180
|
+
console.log('🔍 ALIGNMENT DEBUG:');
|
|
22181
|
+
console.log(' Fabric textAlign:', textAlign);
|
|
22182
|
+
console.log(' Fabric direction:', target.direction);
|
|
22183
|
+
console.log(' Text content:', JSON.stringify(target.text));
|
|
22184
|
+
console.log(' Detected direction:', autoDetectedDirection);
|
|
22185
|
+
|
|
22186
|
+
// Map fabric.js justify to CSS
|
|
22187
|
+
if (textAlign.includes('justify')) {
|
|
22188
|
+
// Try to match fabric.js justify behavior more precisely
|
|
22189
|
+
try {
|
|
22190
|
+
// For justify, we need to replicate fabric.js space expansion
|
|
22191
|
+
// Use CSS justify but with specific settings to match fabric.js better
|
|
22192
|
+
cssTextAlign = 'justify';
|
|
22193
|
+
|
|
22194
|
+
// Set text-align-last based on justify type and detected direction
|
|
22195
|
+
// Smart justify: respect detected direction even when fabric alignment doesn't match
|
|
22196
|
+
if (textAlign === 'justify') {
|
|
22197
|
+
this.textarea.style.textAlignLast = autoDetectedDirection === 'rtl' ? 'right' : 'left';
|
|
22198
|
+
} else if (textAlign === 'justify-left') {
|
|
22199
|
+
// If text is RTL but fabric says justify-left, override to justify-right for better UX
|
|
22200
|
+
if (autoDetectedDirection === 'rtl') {
|
|
22201
|
+
this.textarea.style.textAlignLast = 'right';
|
|
22202
|
+
console.log(' → Overrode justify-left to justify-right for RTL text');
|
|
22203
|
+
} else {
|
|
22204
|
+
this.textarea.style.textAlignLast = 'left';
|
|
22205
|
+
}
|
|
22206
|
+
} else if (textAlign === 'justify-right') {
|
|
22207
|
+
// If text is LTR but fabric says justify-right, override to justify-left for better UX
|
|
22208
|
+
if (autoDetectedDirection === 'ltr') {
|
|
22209
|
+
this.textarea.style.textAlignLast = 'left';
|
|
22210
|
+
console.log(' → Overrode justify-right to justify-left for LTR text');
|
|
22211
|
+
} else {
|
|
22212
|
+
this.textarea.style.textAlignLast = 'right';
|
|
22213
|
+
}
|
|
22214
|
+
} else if (textAlign === 'justify-center') {
|
|
22215
|
+
this.textarea.style.textAlignLast = 'center';
|
|
22216
|
+
}
|
|
22217
|
+
|
|
22218
|
+
// Enhanced justify settings for better fabric.js matching
|
|
22219
|
+
this.textarea.style.textJustify = 'inter-word';
|
|
22220
|
+
this.textarea.style.wordSpacing = 'normal';
|
|
22221
|
+
|
|
22222
|
+
// Additional CSS properties for better justify matching
|
|
22223
|
+
this.textarea.style.textAlign = 'justify';
|
|
22224
|
+
this.textarea.style.textAlignLast = this.textarea.style.textAlignLast;
|
|
22225
|
+
|
|
22226
|
+
// Try to force better justify behavior
|
|
22227
|
+
this.textarea.style.textJustifyTrim = 'none';
|
|
22228
|
+
this.textarea.style.textAutospace = 'none';
|
|
22229
|
+
console.log(' → Applied justify alignment:', textAlign, 'with last-line:', this.textarea.style.textAlignLast);
|
|
22230
|
+
} catch (error) {
|
|
22231
|
+
console.warn(' → Justify setup failed, falling back to standard alignment:', error);
|
|
22232
|
+
cssTextAlign = textAlign.replace('justify-', '').replace('justify', 'left');
|
|
22233
|
+
}
|
|
22234
|
+
} else {
|
|
22235
|
+
this.textarea.style.textAlignLast = 'auto';
|
|
22236
|
+
this.textarea.style.textJustify = 'auto';
|
|
22237
|
+
this.textarea.style.wordSpacing = 'normal';
|
|
22238
|
+
console.log(' → Applied standard alignment:', cssTextAlign);
|
|
22239
|
+
}
|
|
22240
|
+
this.textarea.style.textAlign = cssTextAlign;
|
|
22121
22241
|
this.textarea.style.color = ((_target$fill = target.fill) === null || _target$fill === void 0 ? void 0 : _target$fill.toString()) || '#000';
|
|
22122
22242
|
this.textarea.style.letterSpacing = `${letterSpacingPx}px`;
|
|
22123
|
-
|
|
22243
|
+
|
|
22244
|
+
// Use the already detected direction from above
|
|
22245
|
+
const fabricDirection = target.direction;
|
|
22246
|
+
|
|
22247
|
+
// Use auto-detected direction for better BiDi support, but respect fabric direction if it makes sense
|
|
22248
|
+
this.textarea.style.direction = autoDetectedDirection || fabricDirection || 'ltr';
|
|
22124
22249
|
this.textarea.style.fontVariant = 'normal';
|
|
22125
22250
|
this.textarea.style.fontStretch = 'normal';
|
|
22126
|
-
this.textarea.style.textRendering = 'optimizeLegibility'
|
|
22251
|
+
this.textarea.style.textRendering = 'auto'; // Changed from 'optimizeLegibility' to match canvas
|
|
22127
22252
|
this.textarea.style.fontKerning = 'normal';
|
|
22128
22253
|
this.textarea.style.fontFeatureSettings = 'normal';
|
|
22129
22254
|
this.textarea.style.fontVariationSettings = 'normal';
|
|
@@ -22134,20 +22259,64 @@
|
|
|
22134
22259
|
this.textarea.style.overflowWrap = 'break-word';
|
|
22135
22260
|
this.textarea.style.whiteSpace = 'pre-wrap';
|
|
22136
22261
|
this.textarea.style.hyphens = 'none';
|
|
22137
|
-
this.textarea.style.webkitFontSmoothing = 'antialiased';
|
|
22138
|
-
this.textarea.style.mozOsxFontSmoothing = 'grayscale';
|
|
22139
22262
|
|
|
22140
|
-
//
|
|
22141
|
-
|
|
22263
|
+
// DEBUG: Log final CSS properties
|
|
22264
|
+
console.log('🎨 FINAL TEXTAREA CSS:');
|
|
22265
|
+
console.log(' textAlign:', this.textarea.style.textAlign);
|
|
22266
|
+
console.log(' textAlignLast:', this.textarea.style.textAlignLast);
|
|
22267
|
+
console.log(' direction:', this.textarea.style.direction);
|
|
22268
|
+
console.log(' unicodeBidi:', this.textarea.style.unicodeBidi);
|
|
22269
|
+
console.log(' width:', this.textarea.style.width);
|
|
22270
|
+
console.log(' textJustify:', this.textarea.style.textJustify);
|
|
22271
|
+
console.log(' wordSpacing:', this.textarea.style.wordSpacing);
|
|
22272
|
+
console.log(' whiteSpace:', this.textarea.style.whiteSpace);
|
|
22273
|
+
|
|
22274
|
+
// If justify, log Fabric object dimensions for comparison
|
|
22275
|
+
if (textAlign.includes('justify')) {
|
|
22276
|
+
var _calcTextWidth, _ref;
|
|
22277
|
+
console.log('🔧 FABRIC OBJECT JUSTIFY INFO:');
|
|
22278
|
+
console.log(' Fabric width:', target.width);
|
|
22279
|
+
console.log(' Fabric calcTextWidth:', (_calcTextWidth = (_ref = target).calcTextWidth) === null || _calcTextWidth === void 0 ? void 0 : _calcTextWidth.call(_ref));
|
|
22280
|
+
console.log(' Fabric textAlign:', target.textAlign);
|
|
22281
|
+
console.log(' Text lines:', target.textLines);
|
|
22282
|
+
}
|
|
22283
|
+
|
|
22284
|
+
// Debug font properties matching
|
|
22285
|
+
console.log('🔤 FONT PROPERTIES COMPARISON:');
|
|
22286
|
+
console.log(' Fabric fontFamily:', target.fontFamily);
|
|
22287
|
+
console.log(' Fabric fontWeight:', target.fontWeight);
|
|
22288
|
+
console.log(' Fabric fontStyle:', target.fontStyle);
|
|
22289
|
+
console.log(' Fabric fontSize:', target.fontSize);
|
|
22290
|
+
console.log(' → Textarea fontFamily:', this.textarea.style.fontFamily);
|
|
22291
|
+
console.log(' → Textarea fontWeight:', this.textarea.style.fontWeight);
|
|
22292
|
+
console.log(' → Textarea fontStyle:', this.textarea.style.fontStyle);
|
|
22293
|
+
console.log(' → Textarea fontSize:', this.textarea.style.fontSize);
|
|
22294
|
+
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
22142
22295
|
|
|
22143
|
-
//
|
|
22144
|
-
|
|
22296
|
+
// Enhanced font rendering to better match fabric.js canvas rendering
|
|
22297
|
+
// Default to auto for more natural rendering
|
|
22298
|
+
this.textarea.style.webkitFontSmoothing = 'auto';
|
|
22299
|
+
this.textarea.style.mozOsxFontSmoothing = 'auto';
|
|
22300
|
+
this.textarea.style.fontSmooth = 'auto';
|
|
22301
|
+
this.textarea.style.textSizeAdjust = 'none';
|
|
22302
|
+
|
|
22303
|
+
// For bold fonts, use subpixel rendering to match canvas thickness better
|
|
22304
|
+
const fontWeight = String(target.fontWeight || 'normal');
|
|
22305
|
+
const isBold = fontWeight === 'bold' || fontWeight === '700' || parseInt(fontWeight) >= 600;
|
|
22306
|
+
if (isBold) {
|
|
22307
|
+
this.textarea.style.webkitFontSmoothing = 'subpixel-antialiased';
|
|
22308
|
+
this.textarea.style.mozOsxFontSmoothing = 'unset';
|
|
22309
|
+
console.log('🔤 Applied enhanced bold rendering for better thickness matching');
|
|
22310
|
+
}
|
|
22311
|
+
console.log('🎨 FONT SMOOTHING APPLIED:');
|
|
22312
|
+
console.log(' webkitFontSmoothing:', this.textarea.style.webkitFontSmoothing);
|
|
22313
|
+
console.log(' mozOsxFontSmoothing:', this.textarea.style.mozOsxFontSmoothing);
|
|
22145
22314
|
|
|
22146
22315
|
// Initial bounds are set correctly by Fabric.js - don't force update here
|
|
22147
22316
|
}
|
|
22148
22317
|
|
|
22149
|
-
/**
|
|
22150
|
-
* Debug method to compare textarea and canvas object bounding boxes
|
|
22318
|
+
/**
|
|
22319
|
+
* Debug method to compare textarea and canvas object bounding boxes
|
|
22151
22320
|
*/
|
|
22152
22321
|
debugBoundingBoxComparison() {
|
|
22153
22322
|
const target = this.target;
|
|
@@ -22217,8 +22386,8 @@
|
|
|
22217
22386
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
22218
22387
|
}
|
|
22219
22388
|
|
|
22220
|
-
/**
|
|
22221
|
-
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
22389
|
+
/**
|
|
22390
|
+
* Debug method to compare text wrapping between textarea and Fabric text object
|
|
22222
22391
|
*/
|
|
22223
22392
|
debugTextWrapping() {
|
|
22224
22393
|
const target = this.target;
|
|
@@ -22303,8 +22472,8 @@
|
|
|
22303
22472
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
22304
22473
|
}
|
|
22305
22474
|
|
|
22306
|
-
/**
|
|
22307
|
-
* Focus the textarea and position cursor at end
|
|
22475
|
+
/**
|
|
22476
|
+
* Focus the textarea and position cursor at end
|
|
22308
22477
|
*/
|
|
22309
22478
|
focusTextarea() {
|
|
22310
22479
|
// For overlay editing, we want to keep the object in "selection mode" not "editing mode"
|
|
@@ -22339,8 +22508,8 @@
|
|
|
22339
22508
|
this.canvas.requestRenderAll();
|
|
22340
22509
|
}
|
|
22341
22510
|
|
|
22342
|
-
/**
|
|
22343
|
-
* Refresh overlay positioning and styling
|
|
22511
|
+
/**
|
|
22512
|
+
* Refresh overlay positioning and styling
|
|
22344
22513
|
*/
|
|
22345
22514
|
refresh() {
|
|
22346
22515
|
if (this.isDestroyed) return;
|
|
@@ -22348,8 +22517,8 @@
|
|
|
22348
22517
|
// Don't update object bounds on every refresh - only when textarea actually resizes
|
|
22349
22518
|
}
|
|
22350
22519
|
|
|
22351
|
-
/**
|
|
22352
|
-
* Destroy the overlay editor
|
|
22520
|
+
/**
|
|
22521
|
+
* Destroy the overlay editor
|
|
22353
22522
|
*/
|
|
22354
22523
|
destroy() {
|
|
22355
22524
|
let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -22376,6 +22545,23 @@
|
|
|
22376
22545
|
// Handle commit/cancel after restoring visibility
|
|
22377
22546
|
if (commit && !this.isComposing) {
|
|
22378
22547
|
const finalText = this.textarea.value;
|
|
22548
|
+
|
|
22549
|
+
// Auto-detect text direction and update fabric object if needed
|
|
22550
|
+
const detectedDirection = this.firstStrongDir(finalText);
|
|
22551
|
+
const currentDirection = this.target.direction || 'ltr';
|
|
22552
|
+
if (detectedDirection && detectedDirection !== currentDirection) {
|
|
22553
|
+
console.log(`🔄 Overlay Exit: Auto-detected direction change from "${currentDirection}" to "${detectedDirection}"`);
|
|
22554
|
+
console.log(` Text content: "${finalText.substring(0, 50)}..."`);
|
|
22555
|
+
|
|
22556
|
+
// Update the fabric object's direction
|
|
22557
|
+
this.target.set('direction', detectedDirection);
|
|
22558
|
+
|
|
22559
|
+
// Force a re-render to apply the direction change
|
|
22560
|
+
this.canvas.requestRenderAll();
|
|
22561
|
+
console.log(`✅ Fabric object direction updated to: ${detectedDirection}`);
|
|
22562
|
+
} else {
|
|
22563
|
+
console.log(`📝 Overlay Exit: Direction unchanged (${currentDirection}), text: "${finalText.substring(0, 30)}..."`);
|
|
22564
|
+
}
|
|
22379
22565
|
if (this.onCommit) {
|
|
22380
22566
|
this.onCommit(finalText);
|
|
22381
22567
|
}
|
|
@@ -22500,8 +22686,8 @@
|
|
|
22500
22686
|
}
|
|
22501
22687
|
}
|
|
22502
22688
|
|
|
22503
|
-
/**
|
|
22504
|
-
* Setup detection for viewport changes (zoom/pan)
|
|
22689
|
+
/**
|
|
22690
|
+
* Setup detection for viewport changes (zoom/pan)
|
|
22505
22691
|
*/
|
|
22506
22692
|
setupViewportChangeDetection() {
|
|
22507
22693
|
// Store original methods
|
|
@@ -22530,8 +22716,8 @@
|
|
|
22530
22716
|
};
|
|
22531
22717
|
}
|
|
22532
22718
|
|
|
22533
|
-
/**
|
|
22534
|
-
* Restore original viewport methods
|
|
22719
|
+
/**
|
|
22720
|
+
* Restore original viewport methods
|
|
22535
22721
|
*/
|
|
22536
22722
|
restoreViewportChangeDetection() {
|
|
22537
22723
|
if (this.canvas.__originalSetZoom) {
|
|
@@ -22546,8 +22732,8 @@
|
|
|
22546
22732
|
}
|
|
22547
22733
|
}
|
|
22548
22734
|
|
|
22549
|
-
/**
|
|
22550
|
-
* Enter overlay text editing mode for a text object
|
|
22735
|
+
/**
|
|
22736
|
+
* Enter overlay text editing mode for a text object
|
|
22551
22737
|
*/
|
|
22552
22738
|
function enterTextOverlayEdit(canvas, target, options) {
|
|
22553
22739
|
// If already in overlay editing, destroy existing editor first
|
|
@@ -22571,35 +22757,35 @@
|
|
|
22571
22757
|
return editor;
|
|
22572
22758
|
}
|
|
22573
22759
|
|
|
22574
|
-
/**
|
|
22575
|
-
* extend this regex to support non english languages
|
|
22576
|
-
*
|
|
22577
|
-
* - ` ` Matches a SPACE character (char code 32).
|
|
22578
|
-
* - `\n` Matches a LINE FEED character (char code 10).
|
|
22579
|
-
* - `.` Matches a "." character (char code 46).
|
|
22580
|
-
* - `,` Matches a "," character (char code 44).
|
|
22581
|
-
* - `;` Matches a ";" character (char code 59).
|
|
22582
|
-
* - `!` Matches a "!" character (char code 33).
|
|
22583
|
-
* - `\?` Matches a "?" character (char code 63).
|
|
22584
|
-
* - `\-` Matches a "-" character (char code 45).
|
|
22760
|
+
/**
|
|
22761
|
+
* extend this regex to support non english languages
|
|
22762
|
+
*
|
|
22763
|
+
* - ` ` Matches a SPACE character (char code 32).
|
|
22764
|
+
* - `\n` Matches a LINE FEED character (char code 10).
|
|
22765
|
+
* - `.` Matches a "." character (char code 46).
|
|
22766
|
+
* - `,` Matches a "," character (char code 44).
|
|
22767
|
+
* - `;` Matches a ";" character (char code 59).
|
|
22768
|
+
* - `!` Matches a "!" character (char code 33).
|
|
22769
|
+
* - `\?` Matches a "?" character (char code 63).
|
|
22770
|
+
* - `\-` Matches a "-" character (char code 45).
|
|
22585
22771
|
*/
|
|
22586
22772
|
// eslint-disable-next-line no-useless-escape
|
|
22587
22773
|
const reNonWord = /[ \n\.,;!\?\-]/;
|
|
22588
22774
|
class ITextBehavior extends FabricText {
|
|
22589
22775
|
constructor() {
|
|
22590
22776
|
super(...arguments);
|
|
22591
|
-
/**
|
|
22592
|
-
* Helps determining when the text is in composition, so that the cursor
|
|
22593
|
-
* rendering is altered.
|
|
22777
|
+
/**
|
|
22778
|
+
* Helps determining when the text is in composition, so that the cursor
|
|
22779
|
+
* rendering is altered.
|
|
22594
22780
|
*/
|
|
22595
22781
|
_defineProperty(this, "_currentCursorOpacity", 1);
|
|
22596
22782
|
}
|
|
22597
|
-
/**
|
|
22598
|
-
* Keeps track if the IText object was selected before the actual click.
|
|
22599
|
-
* This because we want to delay enter editing by a click.
|
|
22783
|
+
/**
|
|
22784
|
+
* Keeps track if the IText object was selected before the actual click.
|
|
22785
|
+
* This because we want to delay enter editing by a click.
|
|
22600
22786
|
*/
|
|
22601
|
-
/**
|
|
22602
|
-
* Initializes all the interactive behavior of IText
|
|
22787
|
+
/**
|
|
22788
|
+
* Initializes all the interactive behavior of IText
|
|
22603
22789
|
*/
|
|
22604
22790
|
initBehavior() {
|
|
22605
22791
|
this._tick = this._tick.bind(this);
|
|
@@ -22612,8 +22798,8 @@
|
|
|
22612
22798
|
return super.onDeselect(options);
|
|
22613
22799
|
}
|
|
22614
22800
|
|
|
22615
|
-
/**
|
|
22616
|
-
* @private
|
|
22801
|
+
/**
|
|
22802
|
+
* @private
|
|
22617
22803
|
*/
|
|
22618
22804
|
_animateCursor(_ref) {
|
|
22619
22805
|
let {
|
|
@@ -22638,8 +22824,8 @@
|
|
|
22638
22824
|
});
|
|
22639
22825
|
}
|
|
22640
22826
|
|
|
22641
|
-
/**
|
|
22642
|
-
* changes the cursor from visible to invisible
|
|
22827
|
+
/**
|
|
22828
|
+
* changes the cursor from visible to invisible
|
|
22643
22829
|
*/
|
|
22644
22830
|
_tick(delay) {
|
|
22645
22831
|
this._currentTickState = this._animateCursor({
|
|
@@ -22650,8 +22836,8 @@
|
|
|
22650
22836
|
});
|
|
22651
22837
|
}
|
|
22652
22838
|
|
|
22653
|
-
/**
|
|
22654
|
-
* Changes the cursor from invisible to visible
|
|
22839
|
+
/**
|
|
22840
|
+
* Changes the cursor from invisible to visible
|
|
22655
22841
|
*/
|
|
22656
22842
|
_onTickComplete() {
|
|
22657
22843
|
var _this$_currentTickCom;
|
|
@@ -22663,16 +22849,16 @@
|
|
|
22663
22849
|
});
|
|
22664
22850
|
}
|
|
22665
22851
|
|
|
22666
|
-
/**
|
|
22667
|
-
* Initializes delayed cursor
|
|
22852
|
+
/**
|
|
22853
|
+
* Initializes delayed cursor
|
|
22668
22854
|
*/
|
|
22669
22855
|
initDelayedCursor(restart) {
|
|
22670
22856
|
this.abortCursorAnimation();
|
|
22671
22857
|
this._tick(restart ? 0 : this.cursorDelay);
|
|
22672
22858
|
}
|
|
22673
22859
|
|
|
22674
|
-
/**
|
|
22675
|
-
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
22860
|
+
/**
|
|
22861
|
+
* Aborts cursor animation, clears all timeouts and clear textarea context if necessary
|
|
22676
22862
|
*/
|
|
22677
22863
|
abortCursorAnimation() {
|
|
22678
22864
|
let shouldClear = false;
|
|
@@ -22690,9 +22876,9 @@
|
|
|
22690
22876
|
}
|
|
22691
22877
|
}
|
|
22692
22878
|
|
|
22693
|
-
/**
|
|
22694
|
-
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
22695
|
-
* or if it never started before
|
|
22879
|
+
/**
|
|
22880
|
+
* Restart tue cursor animation if either is in complete state ( between animations )
|
|
22881
|
+
* or if it never started before
|
|
22696
22882
|
*/
|
|
22697
22883
|
restartCursorIfNeeded() {
|
|
22698
22884
|
if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
|
|
@@ -22700,8 +22886,8 @@
|
|
|
22700
22886
|
}
|
|
22701
22887
|
}
|
|
22702
22888
|
|
|
22703
|
-
/**
|
|
22704
|
-
* Selects entire text
|
|
22889
|
+
/**
|
|
22890
|
+
* Selects entire text
|
|
22705
22891
|
*/
|
|
22706
22892
|
selectAll() {
|
|
22707
22893
|
this.selectionStart = 0;
|
|
@@ -22711,26 +22897,26 @@
|
|
|
22711
22897
|
return this;
|
|
22712
22898
|
}
|
|
22713
22899
|
|
|
22714
|
-
/**
|
|
22715
|
-
* Selects entire text and updates the visual state
|
|
22900
|
+
/**
|
|
22901
|
+
* Selects entire text and updates the visual state
|
|
22716
22902
|
*/
|
|
22717
22903
|
cmdAll() {
|
|
22718
22904
|
this.selectAll();
|
|
22719
22905
|
this.renderCursorOrSelection();
|
|
22720
22906
|
}
|
|
22721
22907
|
|
|
22722
|
-
/**
|
|
22723
|
-
* Returns selected text
|
|
22724
|
-
* @return {String}
|
|
22908
|
+
/**
|
|
22909
|
+
* Returns selected text
|
|
22910
|
+
* @return {String}
|
|
22725
22911
|
*/
|
|
22726
22912
|
getSelectedText() {
|
|
22727
22913
|
return this._text.slice(this.selectionStart, this.selectionEnd).join('');
|
|
22728
22914
|
}
|
|
22729
22915
|
|
|
22730
|
-
/**
|
|
22731
|
-
* Find new selection index representing start of current word according to current selection index
|
|
22732
|
-
* @param {Number} startFrom Current selection index
|
|
22733
|
-
* @return {Number} New selection index
|
|
22916
|
+
/**
|
|
22917
|
+
* Find new selection index representing start of current word according to current selection index
|
|
22918
|
+
* @param {Number} startFrom Current selection index
|
|
22919
|
+
* @return {Number} New selection index
|
|
22734
22920
|
*/
|
|
22735
22921
|
findWordBoundaryLeft(startFrom) {
|
|
22736
22922
|
let offset = 0,
|
|
@@ -22750,10 +22936,10 @@
|
|
|
22750
22936
|
return startFrom - offset;
|
|
22751
22937
|
}
|
|
22752
22938
|
|
|
22753
|
-
/**
|
|
22754
|
-
* Find new selection index representing end of current word according to current selection index
|
|
22755
|
-
* @param {Number} startFrom Current selection index
|
|
22756
|
-
* @return {Number} New selection index
|
|
22939
|
+
/**
|
|
22940
|
+
* Find new selection index representing end of current word according to current selection index
|
|
22941
|
+
* @param {Number} startFrom Current selection index
|
|
22942
|
+
* @return {Number} New selection index
|
|
22757
22943
|
*/
|
|
22758
22944
|
findWordBoundaryRight(startFrom) {
|
|
22759
22945
|
let offset = 0,
|
|
@@ -22773,10 +22959,10 @@
|
|
|
22773
22959
|
return startFrom + offset;
|
|
22774
22960
|
}
|
|
22775
22961
|
|
|
22776
|
-
/**
|
|
22777
|
-
* Find new selection index representing start of current line according to current selection index
|
|
22778
|
-
* @param {Number} startFrom Current selection index
|
|
22779
|
-
* @return {Number} New selection index
|
|
22962
|
+
/**
|
|
22963
|
+
* Find new selection index representing start of current line according to current selection index
|
|
22964
|
+
* @param {Number} startFrom Current selection index
|
|
22965
|
+
* @return {Number} New selection index
|
|
22780
22966
|
*/
|
|
22781
22967
|
findLineBoundaryLeft(startFrom) {
|
|
22782
22968
|
let offset = 0,
|
|
@@ -22788,10 +22974,10 @@
|
|
|
22788
22974
|
return startFrom - offset;
|
|
22789
22975
|
}
|
|
22790
22976
|
|
|
22791
|
-
/**
|
|
22792
|
-
* Find new selection index representing end of current line according to current selection index
|
|
22793
|
-
* @param {Number} startFrom Current selection index
|
|
22794
|
-
* @return {Number} New selection index
|
|
22977
|
+
/**
|
|
22978
|
+
* Find new selection index representing end of current line according to current selection index
|
|
22979
|
+
* @param {Number} startFrom Current selection index
|
|
22980
|
+
* @return {Number} New selection index
|
|
22795
22981
|
*/
|
|
22796
22982
|
findLineBoundaryRight(startFrom) {
|
|
22797
22983
|
let offset = 0,
|
|
@@ -22803,11 +22989,11 @@
|
|
|
22803
22989
|
return startFrom + offset;
|
|
22804
22990
|
}
|
|
22805
22991
|
|
|
22806
|
-
/**
|
|
22807
|
-
* Finds index corresponding to beginning or end of a word
|
|
22808
|
-
* @param {Number} selectionStart Index of a character
|
|
22809
|
-
* @param {Number} direction 1 or -1
|
|
22810
|
-
* @return {Number} Index of the beginning or end of a word
|
|
22992
|
+
/**
|
|
22993
|
+
* Finds index corresponding to beginning or end of a word
|
|
22994
|
+
* @param {Number} selectionStart Index of a character
|
|
22995
|
+
* @param {Number} direction 1 or -1
|
|
22996
|
+
* @return {Number} Index of the beginning or end of a word
|
|
22811
22997
|
*/
|
|
22812
22998
|
searchWordBoundary(selectionStart, direction) {
|
|
22813
22999
|
const text = this._text;
|
|
@@ -22825,9 +23011,9 @@
|
|
|
22825
23011
|
return index;
|
|
22826
23012
|
}
|
|
22827
23013
|
|
|
22828
|
-
/**
|
|
22829
|
-
* Selects the word that contains the char at index selectionStart
|
|
22830
|
-
* @param {Number} selectionStart Index of a character
|
|
23014
|
+
/**
|
|
23015
|
+
* Selects the word that contains the char at index selectionStart
|
|
23016
|
+
* @param {Number} selectionStart Index of a character
|
|
22831
23017
|
*/
|
|
22832
23018
|
selectWord(selectionStart) {
|
|
22833
23019
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -22843,9 +23029,9 @@
|
|
|
22843
23029
|
this.renderCursorOrSelection();
|
|
22844
23030
|
}
|
|
22845
23031
|
|
|
22846
|
-
/**
|
|
22847
|
-
* Selects the line that contains selectionStart
|
|
22848
|
-
* @param {Number} selectionStart Index of a character
|
|
23032
|
+
/**
|
|
23033
|
+
* Selects the line that contains selectionStart
|
|
23034
|
+
* @param {Number} selectionStart Index of a character
|
|
22849
23035
|
*/
|
|
22850
23036
|
selectLine(selectionStart) {
|
|
22851
23037
|
selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
|
|
@@ -22857,8 +23043,8 @@
|
|
|
22857
23043
|
this._updateTextarea();
|
|
22858
23044
|
}
|
|
22859
23045
|
|
|
22860
|
-
/**
|
|
22861
|
-
* Enters editing state
|
|
23046
|
+
/**
|
|
23047
|
+
* Enters editing state
|
|
22862
23048
|
*/
|
|
22863
23049
|
enterEditing(e) {
|
|
22864
23050
|
if (this.isEditing || !this.editable) {
|
|
@@ -22878,8 +23064,8 @@
|
|
|
22878
23064
|
}
|
|
22879
23065
|
}
|
|
22880
23066
|
|
|
22881
|
-
/**
|
|
22882
|
-
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
23067
|
+
/**
|
|
23068
|
+
* runs the actual logic that enter from editing state, see {@link enterEditing}
|
|
22883
23069
|
*/
|
|
22884
23070
|
enterEditingImpl() {
|
|
22885
23071
|
if (this.canvas) {
|
|
@@ -22903,8 +23089,8 @@
|
|
|
22903
23089
|
}
|
|
22904
23090
|
}
|
|
22905
23091
|
|
|
22906
|
-
/**
|
|
22907
|
-
* Enter overlay editing mode using DOM textarea overlay
|
|
23092
|
+
/**
|
|
23093
|
+
* Enter overlay editing mode using DOM textarea overlay
|
|
22908
23094
|
*/
|
|
22909
23095
|
enterOverlayEditing() {
|
|
22910
23096
|
this._saveEditingProps();
|
|
@@ -22925,8 +23111,8 @@
|
|
|
22925
23111
|
});
|
|
22926
23112
|
}
|
|
22927
23113
|
|
|
22928
|
-
/**
|
|
22929
|
-
* Commit overlay editing changes
|
|
23114
|
+
/**
|
|
23115
|
+
* Commit overlay editing changes
|
|
22930
23116
|
*/
|
|
22931
23117
|
commitOverlayEdit(text) {
|
|
22932
23118
|
const overlayEditor = this.__overlayEditor;
|
|
@@ -22950,8 +23136,8 @@
|
|
|
22950
23136
|
this.canvas && this.canvas.requestRenderAll();
|
|
22951
23137
|
}
|
|
22952
23138
|
|
|
22953
|
-
/**
|
|
22954
|
-
* Cancel overlay editing without changes
|
|
23139
|
+
/**
|
|
23140
|
+
* Cancel overlay editing without changes
|
|
22955
23141
|
*/
|
|
22956
23142
|
cancelOverlayEdit() {
|
|
22957
23143
|
// Restore original text
|
|
@@ -22959,8 +23145,8 @@
|
|
|
22959
23145
|
this.exitEditing();
|
|
22960
23146
|
}
|
|
22961
23147
|
|
|
22962
|
-
/**
|
|
22963
|
-
* called by {@link Canvas#textEditingManager}
|
|
23148
|
+
/**
|
|
23149
|
+
* called by {@link Canvas#textEditingManager}
|
|
22964
23150
|
*/
|
|
22965
23151
|
updateSelectionOnMouseMove(e) {
|
|
22966
23152
|
if (this.getActiveControl()) {
|
|
@@ -22988,8 +23174,8 @@
|
|
|
22988
23174
|
}
|
|
22989
23175
|
}
|
|
22990
23176
|
|
|
22991
|
-
/**
|
|
22992
|
-
* @private
|
|
23177
|
+
/**
|
|
23178
|
+
* @private
|
|
22993
23179
|
*/
|
|
22994
23180
|
_setEditingProps() {
|
|
22995
23181
|
this.hoverCursor = 'text';
|
|
@@ -23001,8 +23187,8 @@
|
|
|
23001
23187
|
this.lockMovementX = this.lockMovementY = true;
|
|
23002
23188
|
}
|
|
23003
23189
|
|
|
23004
|
-
/**
|
|
23005
|
-
* convert from textarea to grapheme indexes
|
|
23190
|
+
/**
|
|
23191
|
+
* convert from textarea to grapheme indexes
|
|
23006
23192
|
*/
|
|
23007
23193
|
fromStringToGraphemeSelection(start, end, text) {
|
|
23008
23194
|
const smallerTextStart = text.slice(0, start),
|
|
@@ -23021,8 +23207,8 @@
|
|
|
23021
23207
|
};
|
|
23022
23208
|
}
|
|
23023
23209
|
|
|
23024
|
-
/**
|
|
23025
|
-
* convert from fabric to textarea values
|
|
23210
|
+
/**
|
|
23211
|
+
* convert from fabric to textarea values
|
|
23026
23212
|
*/
|
|
23027
23213
|
fromGraphemeToStringSelection(start, end, graphemes) {
|
|
23028
23214
|
const smallerTextStart = graphemes.slice(0, start),
|
|
@@ -23041,8 +23227,8 @@
|
|
|
23041
23227
|
};
|
|
23042
23228
|
}
|
|
23043
23229
|
|
|
23044
|
-
/**
|
|
23045
|
-
* @private
|
|
23230
|
+
/**
|
|
23231
|
+
* @private
|
|
23046
23232
|
*/
|
|
23047
23233
|
_updateTextarea() {
|
|
23048
23234
|
this.cursorOffsetCache = {};
|
|
@@ -23057,8 +23243,8 @@
|
|
|
23057
23243
|
this.updateTextareaPosition();
|
|
23058
23244
|
}
|
|
23059
23245
|
|
|
23060
|
-
/**
|
|
23061
|
-
* @private
|
|
23246
|
+
/**
|
|
23247
|
+
* @private
|
|
23062
23248
|
*/
|
|
23063
23249
|
updateFromTextArea() {
|
|
23064
23250
|
if (!this.hiddenTextarea) {
|
|
@@ -23078,8 +23264,8 @@
|
|
|
23078
23264
|
this.updateTextareaPosition();
|
|
23079
23265
|
}
|
|
23080
23266
|
|
|
23081
|
-
/**
|
|
23082
|
-
* @private
|
|
23267
|
+
/**
|
|
23268
|
+
* @private
|
|
23083
23269
|
*/
|
|
23084
23270
|
updateTextareaPosition() {
|
|
23085
23271
|
if (this.selectionStart === this.selectionEnd) {
|
|
@@ -23089,9 +23275,9 @@
|
|
|
23089
23275
|
}
|
|
23090
23276
|
}
|
|
23091
23277
|
|
|
23092
|
-
/**
|
|
23093
|
-
* @private
|
|
23094
|
-
* @return {Object} style contains style for hiddenTextarea
|
|
23278
|
+
/**
|
|
23279
|
+
* @private
|
|
23280
|
+
* @return {Object} style contains style for hiddenTextarea
|
|
23095
23281
|
*/
|
|
23096
23282
|
_calcTextareaPosition() {
|
|
23097
23283
|
if (!this.canvas) {
|
|
@@ -23138,8 +23324,8 @@
|
|
|
23138
23324
|
};
|
|
23139
23325
|
}
|
|
23140
23326
|
|
|
23141
|
-
/**
|
|
23142
|
-
* @private
|
|
23327
|
+
/**
|
|
23328
|
+
* @private
|
|
23143
23329
|
*/
|
|
23144
23330
|
_saveEditingProps() {
|
|
23145
23331
|
this._savedProps = {
|
|
@@ -23156,8 +23342,8 @@
|
|
|
23156
23342
|
};
|
|
23157
23343
|
}
|
|
23158
23344
|
|
|
23159
|
-
/**
|
|
23160
|
-
* @private
|
|
23345
|
+
/**
|
|
23346
|
+
* @private
|
|
23161
23347
|
*/
|
|
23162
23348
|
_restoreEditingProps() {
|
|
23163
23349
|
if (!this._savedProps) {
|
|
@@ -23177,9 +23363,9 @@
|
|
|
23177
23363
|
delete this._savedProps;
|
|
23178
23364
|
}
|
|
23179
23365
|
|
|
23180
|
-
/**
|
|
23181
|
-
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
23182
|
-
* But it does not fire events
|
|
23366
|
+
/**
|
|
23367
|
+
* runs the actual logic that exits from editing state, see {@link exitEditing}
|
|
23368
|
+
* But it does not fire events
|
|
23183
23369
|
*/
|
|
23184
23370
|
exitEditingImpl() {
|
|
23185
23371
|
const hiddenTextarea = this.hiddenTextarea;
|
|
@@ -23200,8 +23386,8 @@
|
|
|
23200
23386
|
}
|
|
23201
23387
|
}
|
|
23202
23388
|
|
|
23203
|
-
/**
|
|
23204
|
-
* Exits from editing state and fires relevant events
|
|
23389
|
+
/**
|
|
23390
|
+
* Exits from editing state and fires relevant events
|
|
23205
23391
|
*/
|
|
23206
23392
|
exitEditing() {
|
|
23207
23393
|
const isTextChanged = this._textBeforeEdit !== this.text;
|
|
@@ -23220,8 +23406,8 @@
|
|
|
23220
23406
|
return this;
|
|
23221
23407
|
}
|
|
23222
23408
|
|
|
23223
|
-
/**
|
|
23224
|
-
* @private
|
|
23409
|
+
/**
|
|
23410
|
+
* @private
|
|
23225
23411
|
*/
|
|
23226
23412
|
_removeExtraneousStyles() {
|
|
23227
23413
|
for (const prop in this.styles) {
|
|
@@ -23231,10 +23417,10 @@
|
|
|
23231
23417
|
}
|
|
23232
23418
|
}
|
|
23233
23419
|
|
|
23234
|
-
/**
|
|
23235
|
-
* remove and reflow a style block from start to end.
|
|
23236
|
-
* @param {Number} start linear start position for removal (included in removal)
|
|
23237
|
-
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
23420
|
+
/**
|
|
23421
|
+
* remove and reflow a style block from start to end.
|
|
23422
|
+
* @param {Number} start linear start position for removal (included in removal)
|
|
23423
|
+
* @param {Number} end linear end position for removal ( excluded from removal )
|
|
23238
23424
|
*/
|
|
23239
23425
|
removeStyleFromTo(start, end) {
|
|
23240
23426
|
const {
|
|
@@ -23287,10 +23473,10 @@
|
|
|
23287
23473
|
}
|
|
23288
23474
|
}
|
|
23289
23475
|
|
|
23290
|
-
/**
|
|
23291
|
-
* Shifts line styles up or down
|
|
23292
|
-
* @param {Number} lineIndex Index of a line
|
|
23293
|
-
* @param {Number} offset Can any number?
|
|
23476
|
+
/**
|
|
23477
|
+
* Shifts line styles up or down
|
|
23478
|
+
* @param {Number} lineIndex Index of a line
|
|
23479
|
+
* @param {Number} offset Can any number?
|
|
23294
23480
|
*/
|
|
23295
23481
|
shiftLineStyles(lineIndex, offset) {
|
|
23296
23482
|
const clonedStyles = Object.assign({}, this.styles);
|
|
@@ -23305,15 +23491,15 @@
|
|
|
23305
23491
|
}
|
|
23306
23492
|
}
|
|
23307
23493
|
|
|
23308
|
-
/**
|
|
23309
|
-
* Handle insertion of more consecutive style lines for when one or more
|
|
23310
|
-
* newlines gets added to the text. Since current style needs to be shifted
|
|
23311
|
-
* first we shift the current style of the number lines needed, then we add
|
|
23312
|
-
* new lines from the last to the first.
|
|
23313
|
-
* @param {Number} lineIndex Index of a line
|
|
23314
|
-
* @param {Number} charIndex Index of a char
|
|
23315
|
-
* @param {Number} qty number of lines to add
|
|
23316
|
-
* @param {Array} copiedStyle Array of objects styles
|
|
23494
|
+
/**
|
|
23495
|
+
* Handle insertion of more consecutive style lines for when one or more
|
|
23496
|
+
* newlines gets added to the text. Since current style needs to be shifted
|
|
23497
|
+
* first we shift the current style of the number lines needed, then we add
|
|
23498
|
+
* new lines from the last to the first.
|
|
23499
|
+
* @param {Number} lineIndex Index of a line
|
|
23500
|
+
* @param {Number} charIndex Index of a char
|
|
23501
|
+
* @param {Number} qty number of lines to add
|
|
23502
|
+
* @param {Array} copiedStyle Array of objects styles
|
|
23317
23503
|
*/
|
|
23318
23504
|
insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
|
|
23319
23505
|
const newLineStyles = {};
|
|
@@ -23373,12 +23559,12 @@
|
|
|
23373
23559
|
this._forceClearCache = true;
|
|
23374
23560
|
}
|
|
23375
23561
|
|
|
23376
|
-
/**
|
|
23377
|
-
* Inserts style object for a given line/char index
|
|
23378
|
-
* @param {Number} lineIndex Index of a line
|
|
23379
|
-
* @param {Number} charIndex Index of a char
|
|
23380
|
-
* @param {Number} quantity number Style object to insert, if given
|
|
23381
|
-
* @param {Array} copiedStyle array of style objects
|
|
23562
|
+
/**
|
|
23563
|
+
* Inserts style object for a given line/char index
|
|
23564
|
+
* @param {Number} lineIndex Index of a line
|
|
23565
|
+
* @param {Number} charIndex Index of a char
|
|
23566
|
+
* @param {Number} quantity number Style object to insert, if given
|
|
23567
|
+
* @param {Array} copiedStyle array of style objects
|
|
23382
23568
|
*/
|
|
23383
23569
|
insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
|
|
23384
23570
|
if (!this.styles) {
|
|
@@ -23427,11 +23613,11 @@
|
|
|
23427
23613
|
}
|
|
23428
23614
|
}
|
|
23429
23615
|
|
|
23430
|
-
/**
|
|
23431
|
-
* Inserts style object(s)
|
|
23432
|
-
* @param {Array} insertedText Characters at the location where style is inserted
|
|
23433
|
-
* @param {Number} start cursor index for inserting style
|
|
23434
|
-
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
23616
|
+
/**
|
|
23617
|
+
* Inserts style object(s)
|
|
23618
|
+
* @param {Array} insertedText Characters at the location where style is inserted
|
|
23619
|
+
* @param {Number} start cursor index for inserting style
|
|
23620
|
+
* @param {Array} [copiedStyle] array of style objects to insert.
|
|
23435
23621
|
*/
|
|
23436
23622
|
insertNewStyleBlock(insertedText, start, copiedStyle) {
|
|
23437
23623
|
const cursorLoc = this.get2DCursorLocation(start, true),
|
|
@@ -23472,12 +23658,12 @@
|
|
|
23472
23658
|
}
|
|
23473
23659
|
}
|
|
23474
23660
|
|
|
23475
|
-
/**
|
|
23476
|
-
* Removes characters from start/end
|
|
23477
|
-
* start/end ar per grapheme position in _text array.
|
|
23478
|
-
*
|
|
23479
|
-
* @param {Number} start
|
|
23480
|
-
* @param {Number} end default to start + 1
|
|
23661
|
+
/**
|
|
23662
|
+
* Removes characters from start/end
|
|
23663
|
+
* start/end ar per grapheme position in _text array.
|
|
23664
|
+
*
|
|
23665
|
+
* @param {Number} start
|
|
23666
|
+
* @param {Number} end default to start + 1
|
|
23481
23667
|
*/
|
|
23482
23668
|
removeChars(start) {
|
|
23483
23669
|
let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
|
|
@@ -23490,17 +23676,17 @@
|
|
|
23490
23676
|
this._removeExtraneousStyles();
|
|
23491
23677
|
}
|
|
23492
23678
|
|
|
23493
|
-
/**
|
|
23494
|
-
* insert characters at start position, before start position.
|
|
23495
|
-
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
23496
|
-
* if style array is provided, it must be as the same length of text in graphemes
|
|
23497
|
-
* if end is provided and is bigger than start, old text is replaced.
|
|
23498
|
-
* start/end ar per grapheme position in _text array.
|
|
23499
|
-
*
|
|
23500
|
-
* @param {String} text text to insert
|
|
23501
|
-
* @param {Array} style array of style objects
|
|
23502
|
-
* @param {Number} start
|
|
23503
|
-
* @param {Number} end default to start + 1
|
|
23679
|
+
/**
|
|
23680
|
+
* insert characters at start position, before start position.
|
|
23681
|
+
* start equal 1 it means the text get inserted between actual grapheme 0 and 1
|
|
23682
|
+
* if style array is provided, it must be as the same length of text in graphemes
|
|
23683
|
+
* if end is provided and is bigger than start, old text is replaced.
|
|
23684
|
+
* start/end ar per grapheme position in _text array.
|
|
23685
|
+
*
|
|
23686
|
+
* @param {String} text text to insert
|
|
23687
|
+
* @param {Array} style array of style objects
|
|
23688
|
+
* @param {Number} start
|
|
23689
|
+
* @param {Number} end default to start + 1
|
|
23504
23690
|
*/
|
|
23505
23691
|
insertChars(text, style, start) {
|
|
23506
23692
|
let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
|
|
@@ -23517,9 +23703,9 @@
|
|
|
23517
23703
|
this._removeExtraneousStyles();
|
|
23518
23704
|
}
|
|
23519
23705
|
|
|
23520
|
-
/**
|
|
23521
|
-
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
23522
|
-
* mimic the key - mouse navigation when shift is pressed.
|
|
23706
|
+
/**
|
|
23707
|
+
* Set the selectionStart and selectionEnd according to the new position of cursor
|
|
23708
|
+
* mimic the key - mouse navigation when shift is pressed.
|
|
23523
23709
|
*/
|
|
23524
23710
|
setSelectionStartEndWithShift(start, end, newSelection) {
|
|
23525
23711
|
if (newSelection <= start) {
|
|
@@ -24142,8 +24328,8 @@
|
|
|
24142
24328
|
}
|
|
24143
24329
|
}
|
|
24144
24330
|
|
|
24145
|
-
/**
|
|
24146
|
-
* `LEFT_CLICK === 0`
|
|
24331
|
+
/**
|
|
24332
|
+
* `LEFT_CLICK === 0`
|
|
24147
24333
|
*/
|
|
24148
24334
|
const notALeftClick = e => !!e.button;
|
|
24149
24335
|
class ITextClickBehavior extends ITextKeyBehavior {
|
|
@@ -24161,36 +24347,36 @@
|
|
|
24161
24347
|
super.initBehavior();
|
|
24162
24348
|
}
|
|
24163
24349
|
|
|
24164
|
-
/**
|
|
24165
|
-
* If this method returns true a mouse move operation over a text selection
|
|
24166
|
-
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
24167
|
-
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
24168
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24169
|
-
* @returns
|
|
24350
|
+
/**
|
|
24351
|
+
* If this method returns true a mouse move operation over a text selection
|
|
24352
|
+
* will not prevent the native mouse event allowing the browser to start a drag operation.
|
|
24353
|
+
* shouldStartDragging can be read 'do not prevent default for mouse move event'
|
|
24354
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24355
|
+
* @returns
|
|
24170
24356
|
*/
|
|
24171
24357
|
shouldStartDragging() {
|
|
24172
24358
|
return this.draggableTextDelegate.isActive();
|
|
24173
24359
|
}
|
|
24174
24360
|
|
|
24175
|
-
/**
|
|
24176
|
-
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
24177
|
-
* @see also {@link DraggableTextDelegate#isActive}
|
|
24178
|
-
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24179
|
-
* @returns {boolean} should handle event
|
|
24361
|
+
/**
|
|
24362
|
+
* @public override this method to control whether instance should/shouldn't become a drag source,
|
|
24363
|
+
* @see also {@link DraggableTextDelegate#isActive}
|
|
24364
|
+
* To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
|
|
24365
|
+
* @returns {boolean} should handle event
|
|
24180
24366
|
*/
|
|
24181
24367
|
onDragStart(e) {
|
|
24182
24368
|
return this.draggableTextDelegate.onDragStart(e);
|
|
24183
24369
|
}
|
|
24184
24370
|
|
|
24185
|
-
/**
|
|
24186
|
-
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
24371
|
+
/**
|
|
24372
|
+
* @public override this method to control whether instance should/shouldn't become a drop target
|
|
24187
24373
|
*/
|
|
24188
24374
|
canDrop(e) {
|
|
24189
24375
|
return this.draggableTextDelegate.canDrop(e);
|
|
24190
24376
|
}
|
|
24191
24377
|
|
|
24192
|
-
/**
|
|
24193
|
-
* Default handler for double click, select a word or enter overlay editing
|
|
24378
|
+
/**
|
|
24379
|
+
* Default handler for double click, select a word or enter overlay editing
|
|
24194
24380
|
*/
|
|
24195
24381
|
doubleClickHandler(options) {
|
|
24196
24382
|
// Check if we should enter overlay editing mode
|
|
@@ -24207,8 +24393,8 @@
|
|
|
24207
24393
|
this.renderCursorOrSelection();
|
|
24208
24394
|
}
|
|
24209
24395
|
|
|
24210
|
-
/**
|
|
24211
|
-
* Default handler for triple click, select a line
|
|
24396
|
+
/**
|
|
24397
|
+
* Default handler for triple click, select a line
|
|
24212
24398
|
*/
|
|
24213
24399
|
tripleClickHandler(options) {
|
|
24214
24400
|
if (!this.isEditing) {
|
|
@@ -24218,13 +24404,13 @@
|
|
|
24218
24404
|
this.renderCursorOrSelection();
|
|
24219
24405
|
}
|
|
24220
24406
|
|
|
24221
|
-
/**
|
|
24222
|
-
* Default event handler for the basic functionalities needed on _mouseDown
|
|
24223
|
-
* can be overridden to do something different.
|
|
24224
|
-
* Scope of this implementation is: find the click position, set selectionStart
|
|
24225
|
-
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
24226
|
-
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
24227
|
-
* current compositionMode. It will be set to false.
|
|
24407
|
+
/**
|
|
24408
|
+
* Default event handler for the basic functionalities needed on _mouseDown
|
|
24409
|
+
* can be overridden to do something different.
|
|
24410
|
+
* Scope of this implementation is: find the click position, set selectionStart
|
|
24411
|
+
* find selectionEnd, initialize the drawing of either cursor or selection area
|
|
24412
|
+
* initializing a mousedDown on a text area will cancel fabricjs knowledge of
|
|
24413
|
+
* current compositionMode. It will be set to false.
|
|
24228
24414
|
*/
|
|
24229
24415
|
_mouseDownHandler(_ref) {
|
|
24230
24416
|
let {
|
|
@@ -24252,9 +24438,9 @@
|
|
|
24252
24438
|
this.selected || (this.selected = alreadySelected || this.isEditing);
|
|
24253
24439
|
}
|
|
24254
24440
|
|
|
24255
|
-
/**
|
|
24256
|
-
* standard handler for mouse up, overridable
|
|
24257
|
-
* @private
|
|
24441
|
+
/**
|
|
24442
|
+
* standard handler for mouse up, overridable
|
|
24443
|
+
* @private
|
|
24258
24444
|
*/
|
|
24259
24445
|
mouseUpHandler(_ref2) {
|
|
24260
24446
|
let {
|
|
@@ -24285,9 +24471,9 @@
|
|
|
24285
24471
|
}
|
|
24286
24472
|
}
|
|
24287
24473
|
|
|
24288
|
-
/**
|
|
24289
|
-
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
24290
|
-
* @param {TPointerEvent} e Event object
|
|
24474
|
+
/**
|
|
24475
|
+
* Changes cursor location in a text depending on passed pointer (x/y) object
|
|
24476
|
+
* @param {TPointerEvent} e Event object
|
|
24291
24477
|
*/
|
|
24292
24478
|
setCursorByClick(e) {
|
|
24293
24479
|
const newSelection = this.getSelectionStartFromPointer(e),
|
|
@@ -24305,10 +24491,10 @@
|
|
|
24305
24491
|
}
|
|
24306
24492
|
}
|
|
24307
24493
|
|
|
24308
|
-
/**
|
|
24309
|
-
* Returns index of a character corresponding to where an object was clicked
|
|
24310
|
-
* @param {TPointerEvent} e Event object
|
|
24311
|
-
* @return {Number} Index of a character
|
|
24494
|
+
/**
|
|
24495
|
+
* Returns index of a character corresponding to where an object was clicked
|
|
24496
|
+
* @param {TPointerEvent} e Event object
|
|
24497
|
+
* @return {Number} Index of a character
|
|
24312
24498
|
*/
|
|
24313
24499
|
getSelectionStartFromPointer(e) {
|
|
24314
24500
|
const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
|
|
@@ -24354,15 +24540,15 @@
|
|
|
24354
24540
|
}
|
|
24355
24541
|
}
|
|
24356
24542
|
|
|
24357
|
-
/**
|
|
24358
|
-
* Hit Testing and Cursor Positioning System
|
|
24359
|
-
*
|
|
24360
|
-
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
24361
|
-
* for interactive text editing with grapheme-aware boundaries.
|
|
24543
|
+
/**
|
|
24544
|
+
* Hit Testing and Cursor Positioning System
|
|
24545
|
+
*
|
|
24546
|
+
* Maps pointer coordinates to text positions and provides cursor rectangles
|
|
24547
|
+
* for interactive text editing with grapheme-aware boundaries.
|
|
24362
24548
|
*/
|
|
24363
24549
|
|
|
24364
|
-
/**
|
|
24365
|
-
* Hit test a point against laid out text to find insertion position
|
|
24550
|
+
/**
|
|
24551
|
+
* Hit test a point against laid out text to find insertion position
|
|
24366
24552
|
*/
|
|
24367
24553
|
function hitTest(x, y, layout, options) {
|
|
24368
24554
|
if (layout.lines.length === 0) {
|
|
@@ -24406,8 +24592,8 @@
|
|
|
24406
24592
|
};
|
|
24407
24593
|
}
|
|
24408
24594
|
|
|
24409
|
-
/**
|
|
24410
|
-
* Get cursor rectangle for a given insertion index
|
|
24595
|
+
/**
|
|
24596
|
+
* Get cursor rectangle for a given insertion index
|
|
24411
24597
|
*/
|
|
24412
24598
|
function getCursorRect(insertionIndex, layout, options) {
|
|
24413
24599
|
if (layout.lines.length === 0) {
|
|
@@ -24454,8 +24640,8 @@
|
|
|
24454
24640
|
|
|
24455
24641
|
// Private helper functions
|
|
24456
24642
|
|
|
24457
|
-
/**
|
|
24458
|
-
* Find which line contains the given Y coordinate
|
|
24643
|
+
/**
|
|
24644
|
+
* Find which line contains the given Y coordinate
|
|
24459
24645
|
*/
|
|
24460
24646
|
function findLineAtY(y, lines) {
|
|
24461
24647
|
var _lines;
|
|
@@ -24478,8 +24664,8 @@
|
|
|
24478
24664
|
};
|
|
24479
24665
|
}
|
|
24480
24666
|
|
|
24481
|
-
/**
|
|
24482
|
-
* Find character position within a line at given X coordinate
|
|
24667
|
+
/**
|
|
24668
|
+
* Find character position within a line at given X coordinate
|
|
24483
24669
|
*/
|
|
24484
24670
|
function findCharAtX(x, line, options) {
|
|
24485
24671
|
if (line.bounds.length === 0) {
|
|
@@ -24585,8 +24771,8 @@
|
|
|
24585
24771
|
};
|
|
24586
24772
|
}
|
|
24587
24773
|
|
|
24588
|
-
/**
|
|
24589
|
-
* Calculate total insertion index from line and character indices
|
|
24774
|
+
/**
|
|
24775
|
+
* Calculate total insertion index from line and character indices
|
|
24590
24776
|
*/
|
|
24591
24777
|
function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
|
|
24592
24778
|
let insertionIndex = 0;
|
|
@@ -24605,8 +24791,8 @@
|
|
|
24605
24791
|
return insertionIndex;
|
|
24606
24792
|
}
|
|
24607
24793
|
|
|
24608
|
-
/**
|
|
24609
|
-
* Find line and grapheme position from insertion index
|
|
24794
|
+
/**
|
|
24795
|
+
* Find line and grapheme position from insertion index
|
|
24610
24796
|
*/
|
|
24611
24797
|
function findPositionFromIndex(insertionIndex, layout) {
|
|
24612
24798
|
let currentIndex = 0;
|
|
@@ -24648,8 +24834,8 @@
|
|
|
24648
24834
|
};
|
|
24649
24835
|
}
|
|
24650
24836
|
|
|
24651
|
-
/**
|
|
24652
|
-
* Calculate Y position of a line
|
|
24837
|
+
/**
|
|
24838
|
+
* Calculate Y position of a line
|
|
24653
24839
|
*/
|
|
24654
24840
|
function calculateLineY(lineIndex, layout, options) {
|
|
24655
24841
|
let y = 0;
|
|
@@ -24752,48 +24938,48 @@
|
|
|
24752
24938
|
|
|
24753
24939
|
// @TODO this is not complete
|
|
24754
24940
|
|
|
24755
|
-
/**
|
|
24756
|
-
* @fires changed
|
|
24757
|
-
* @fires selection:changed
|
|
24758
|
-
* @fires editing:entered
|
|
24759
|
-
* @fires editing:exited
|
|
24760
|
-
* @fires dragstart
|
|
24761
|
-
* @fires drag drag event firing on the drag source
|
|
24762
|
-
* @fires dragend
|
|
24763
|
-
* @fires copy
|
|
24764
|
-
* @fires cut
|
|
24765
|
-
* @fires paste
|
|
24766
|
-
*
|
|
24767
|
-
* #### Supported key combinations
|
|
24768
|
-
* ```
|
|
24769
|
-
* Move cursor: left, right, up, down
|
|
24770
|
-
* Select character: shift + left, shift + right
|
|
24771
|
-
* Select text vertically: shift + up, shift + down
|
|
24772
|
-
* Move cursor by word: alt + left, alt + right
|
|
24773
|
-
* Select words: shift + alt + left, shift + alt + right
|
|
24774
|
-
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
24775
|
-
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
24776
|
-
* Jump to start/end of text: cmd + up, cmd + down
|
|
24777
|
-
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
24778
|
-
* Delete character: backspace
|
|
24779
|
-
* Delete word: alt + backspace
|
|
24780
|
-
* Delete line: cmd + backspace
|
|
24781
|
-
* Forward delete: delete
|
|
24782
|
-
* Copy text: ctrl/cmd + c
|
|
24783
|
-
* Paste text: ctrl/cmd + v
|
|
24784
|
-
* Cut text: ctrl/cmd + x
|
|
24785
|
-
* Select entire text: ctrl/cmd + a
|
|
24786
|
-
* Quit editing tab or esc
|
|
24787
|
-
* ```
|
|
24788
|
-
*
|
|
24789
|
-
* #### Supported mouse/touch combination
|
|
24790
|
-
* ```
|
|
24791
|
-
* Position cursor: click/touch
|
|
24792
|
-
* Create selection: click/touch & drag
|
|
24793
|
-
* Create selection: click & shift + click
|
|
24794
|
-
* Select word: double click
|
|
24795
|
-
* Select line: triple click
|
|
24796
|
-
* ```
|
|
24941
|
+
/**
|
|
24942
|
+
* @fires changed
|
|
24943
|
+
* @fires selection:changed
|
|
24944
|
+
* @fires editing:entered
|
|
24945
|
+
* @fires editing:exited
|
|
24946
|
+
* @fires dragstart
|
|
24947
|
+
* @fires drag drag event firing on the drag source
|
|
24948
|
+
* @fires dragend
|
|
24949
|
+
* @fires copy
|
|
24950
|
+
* @fires cut
|
|
24951
|
+
* @fires paste
|
|
24952
|
+
*
|
|
24953
|
+
* #### Supported key combinations
|
|
24954
|
+
* ```
|
|
24955
|
+
* Move cursor: left, right, up, down
|
|
24956
|
+
* Select character: shift + left, shift + right
|
|
24957
|
+
* Select text vertically: shift + up, shift + down
|
|
24958
|
+
* Move cursor by word: alt + left, alt + right
|
|
24959
|
+
* Select words: shift + alt + left, shift + alt + right
|
|
24960
|
+
* Move cursor to line start/end: cmd + left, cmd + right or home, end
|
|
24961
|
+
* Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
|
|
24962
|
+
* Jump to start/end of text: cmd + up, cmd + down
|
|
24963
|
+
* Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
|
|
24964
|
+
* Delete character: backspace
|
|
24965
|
+
* Delete word: alt + backspace
|
|
24966
|
+
* Delete line: cmd + backspace
|
|
24967
|
+
* Forward delete: delete
|
|
24968
|
+
* Copy text: ctrl/cmd + c
|
|
24969
|
+
* Paste text: ctrl/cmd + v
|
|
24970
|
+
* Cut text: ctrl/cmd + x
|
|
24971
|
+
* Select entire text: ctrl/cmd + a
|
|
24972
|
+
* Quit editing tab or esc
|
|
24973
|
+
* ```
|
|
24974
|
+
*
|
|
24975
|
+
* #### Supported mouse/touch combination
|
|
24976
|
+
* ```
|
|
24977
|
+
* Position cursor: click/touch
|
|
24978
|
+
* Create selection: click/touch & drag
|
|
24979
|
+
* Create selection: click & shift + click
|
|
24980
|
+
* Select word: double click
|
|
24981
|
+
* Select line: triple click
|
|
24982
|
+
* ```
|
|
24797
24983
|
*/
|
|
24798
24984
|
class IText extends ITextClickBehavior {
|
|
24799
24985
|
static getDefaults() {
|
|
@@ -24808,10 +24994,10 @@
|
|
|
24808
24994
|
return type === 'itext' ? 'i-text' : type;
|
|
24809
24995
|
}
|
|
24810
24996
|
|
|
24811
|
-
/**
|
|
24812
|
-
* Constructor
|
|
24813
|
-
* @param {String} text Text string
|
|
24814
|
-
* @param {Object} [options] Options object
|
|
24997
|
+
/**
|
|
24998
|
+
* Constructor
|
|
24999
|
+
* @param {String} text Text string
|
|
25000
|
+
* @param {Object} [options] Options object
|
|
24815
25001
|
*/
|
|
24816
25002
|
constructor(text, options) {
|
|
24817
25003
|
super(text, {
|
|
@@ -24821,11 +25007,11 @@
|
|
|
24821
25007
|
this.initBehavior();
|
|
24822
25008
|
}
|
|
24823
25009
|
|
|
24824
|
-
/**
|
|
24825
|
-
* While editing handle differently
|
|
24826
|
-
* @private
|
|
24827
|
-
* @param {string} key
|
|
24828
|
-
* @param {*} value
|
|
25010
|
+
/**
|
|
25011
|
+
* While editing handle differently
|
|
25012
|
+
* @private
|
|
25013
|
+
* @param {string} key
|
|
25014
|
+
* @param {*} value
|
|
24829
25015
|
*/
|
|
24830
25016
|
_set(key, value) {
|
|
24831
25017
|
if (this.isEditing && this._savedProps && key in this._savedProps) {
|
|
@@ -24840,28 +25026,28 @@
|
|
|
24840
25026
|
return super._set(key, value);
|
|
24841
25027
|
}
|
|
24842
25028
|
|
|
24843
|
-
/**
|
|
24844
|
-
* Sets selection start (left boundary of a selection)
|
|
24845
|
-
* @param {Number} index Index to set selection start to
|
|
25029
|
+
/**
|
|
25030
|
+
* Sets selection start (left boundary of a selection)
|
|
25031
|
+
* @param {Number} index Index to set selection start to
|
|
24846
25032
|
*/
|
|
24847
25033
|
setSelectionStart(index) {
|
|
24848
25034
|
index = Math.max(index, 0);
|
|
24849
25035
|
this._updateAndFire('selectionStart', index);
|
|
24850
25036
|
}
|
|
24851
25037
|
|
|
24852
|
-
/**
|
|
24853
|
-
* Sets selection end (right boundary of a selection)
|
|
24854
|
-
* @param {Number} index Index to set selection end to
|
|
25038
|
+
/**
|
|
25039
|
+
* Sets selection end (right boundary of a selection)
|
|
25040
|
+
* @param {Number} index Index to set selection end to
|
|
24855
25041
|
*/
|
|
24856
25042
|
setSelectionEnd(index) {
|
|
24857
25043
|
index = Math.min(index, this.text.length);
|
|
24858
25044
|
this._updateAndFire('selectionEnd', index);
|
|
24859
25045
|
}
|
|
24860
25046
|
|
|
24861
|
-
/**
|
|
24862
|
-
* @private
|
|
24863
|
-
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
24864
|
-
* @param {Number} index new position of property
|
|
25047
|
+
/**
|
|
25048
|
+
* @private
|
|
25049
|
+
* @param {String} property 'selectionStart' or 'selectionEnd'
|
|
25050
|
+
* @param {Number} index new position of property
|
|
24865
25051
|
*/
|
|
24866
25052
|
_updateAndFire(property, index) {
|
|
24867
25053
|
if (this[property] !== index) {
|
|
@@ -24871,9 +25057,9 @@
|
|
|
24871
25057
|
this._updateTextarea();
|
|
24872
25058
|
}
|
|
24873
25059
|
|
|
24874
|
-
/**
|
|
24875
|
-
* Fires the even of selection changed
|
|
24876
|
-
* @private
|
|
25060
|
+
/**
|
|
25061
|
+
* Fires the even of selection changed
|
|
25062
|
+
* @private
|
|
24877
25063
|
*/
|
|
24878
25064
|
_fireSelectionChanged() {
|
|
24879
25065
|
this.fire('selection:changed');
|
|
@@ -24882,25 +25068,25 @@
|
|
|
24882
25068
|
});
|
|
24883
25069
|
}
|
|
24884
25070
|
|
|
24885
|
-
/**
|
|
24886
|
-
* Initialize text dimensions. Render all text on given context
|
|
24887
|
-
* or on a offscreen canvas to get the text width with measureText.
|
|
24888
|
-
* Updates this.width and this.height with the proper values.
|
|
24889
|
-
* Does not return dimensions.
|
|
24890
|
-
* @private
|
|
25071
|
+
/**
|
|
25072
|
+
* Initialize text dimensions. Render all text on given context
|
|
25073
|
+
* or on a offscreen canvas to get the text width with measureText.
|
|
25074
|
+
* Updates this.width and this.height with the proper values.
|
|
25075
|
+
* Does not return dimensions.
|
|
25076
|
+
* @private
|
|
24891
25077
|
*/
|
|
24892
25078
|
initDimensions() {
|
|
24893
25079
|
this.isEditing && this.initDelayedCursor();
|
|
24894
25080
|
super.initDimensions();
|
|
24895
25081
|
}
|
|
24896
25082
|
|
|
24897
|
-
/**
|
|
24898
|
-
* Gets style of a current selection/cursor (at the start position)
|
|
24899
|
-
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
24900
|
-
* @param {Number} startIndex Start index to get styles at
|
|
24901
|
-
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
24902
|
-
* @param {Boolean} [complete] get full style or not
|
|
24903
|
-
* @return {Array} styles an array with one, zero or more Style objects
|
|
25083
|
+
/**
|
|
25084
|
+
* Gets style of a current selection/cursor (at the start position)
|
|
25085
|
+
* if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
|
|
25086
|
+
* @param {Number} startIndex Start index to get styles at
|
|
25087
|
+
* @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
25088
|
+
* @param {Boolean} [complete] get full style or not
|
|
25089
|
+
* @return {Array} styles an array with one, zero or more Style objects
|
|
24904
25090
|
*/
|
|
24905
25091
|
getSelectionStyles() {
|
|
24906
25092
|
let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
|
|
@@ -24909,11 +25095,11 @@
|
|
|
24909
25095
|
return super.getSelectionStyles(startIndex, endIndex, complete);
|
|
24910
25096
|
}
|
|
24911
25097
|
|
|
24912
|
-
/**
|
|
24913
|
-
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
24914
|
-
* @param {Object} [styles] Styles object
|
|
24915
|
-
* @param {Number} [startIndex] Start index to get styles at
|
|
24916
|
-
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
25098
|
+
/**
|
|
25099
|
+
* Sets style of a current selection, if no selection exist, do not set anything.
|
|
25100
|
+
* @param {Object} [styles] Styles object
|
|
25101
|
+
* @param {Number} [startIndex] Start index to get styles at
|
|
25102
|
+
* @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
|
|
24917
25103
|
*/
|
|
24918
25104
|
setSelectionStyles(styles) {
|
|
24919
25105
|
let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
|
|
@@ -24921,10 +25107,10 @@
|
|
|
24921
25107
|
return super.setSelectionStyles(styles, startIndex, endIndex);
|
|
24922
25108
|
}
|
|
24923
25109
|
|
|
24924
|
-
/**
|
|
24925
|
-
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
24926
|
-
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
24927
|
-
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
25110
|
+
/**
|
|
25111
|
+
* Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
|
|
25112
|
+
* @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
|
|
25113
|
+
* @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
|
|
24928
25114
|
*/
|
|
24929
25115
|
get2DCursorLocation() {
|
|
24930
25116
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -24932,9 +25118,9 @@
|
|
|
24932
25118
|
return super.get2DCursorLocation(selectionStart, skipWrapping);
|
|
24933
25119
|
}
|
|
24934
25120
|
|
|
24935
|
-
/**
|
|
24936
|
-
* @private
|
|
24937
|
-
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
25121
|
+
/**
|
|
25122
|
+
* @private
|
|
25123
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
24938
25124
|
*/
|
|
24939
25125
|
render(ctx) {
|
|
24940
25126
|
super.render(ctx);
|
|
@@ -24944,9 +25130,9 @@
|
|
|
24944
25130
|
this.renderCursorOrSelection();
|
|
24945
25131
|
}
|
|
24946
25132
|
|
|
24947
|
-
/**
|
|
24948
|
-
* @override block cursor/selection logic while rendering the exported canvas
|
|
24949
|
-
* @todo this workaround should be replaced with a more robust solution
|
|
25133
|
+
/**
|
|
25134
|
+
* @override block cursor/selection logic while rendering the exported canvas
|
|
25135
|
+
* @todo this workaround should be replaced with a more robust solution
|
|
24950
25136
|
*/
|
|
24951
25137
|
toCanvasElement(options) {
|
|
24952
25138
|
const isEditing = this.isEditing;
|
|
@@ -24956,9 +25142,9 @@
|
|
|
24956
25142
|
return canvas;
|
|
24957
25143
|
}
|
|
24958
25144
|
|
|
24959
|
-
/**
|
|
24960
|
-
* Renders cursor or selection (depending on what exists)
|
|
24961
|
-
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
25145
|
+
/**
|
|
25146
|
+
* Renders cursor or selection (depending on what exists)
|
|
25147
|
+
* it does on the contextTop. If contextTop is not available, do nothing.
|
|
24962
25148
|
*/
|
|
24963
25149
|
renderCursorOrSelection() {
|
|
24964
25150
|
if (!this.isEditing || !this.canvas) {
|
|
@@ -25014,12 +25200,12 @@
|
|
|
25014
25200
|
ctx.restore();
|
|
25015
25201
|
}
|
|
25016
25202
|
|
|
25017
|
-
/**
|
|
25018
|
-
* Finds and returns an array of clip paths that are applied to the parent
|
|
25019
|
-
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
25020
|
-
* traversed upwards (from the current object towards the root of the canvas),
|
|
25021
|
-
* checking each parent object for the presence of a `clipPath` that is not
|
|
25022
|
-
* absolutely positioned.
|
|
25203
|
+
/**
|
|
25204
|
+
* Finds and returns an array of clip paths that are applied to the parent
|
|
25205
|
+
* group(s) of the current FabricObject instance. The object's hierarchy is
|
|
25206
|
+
* traversed upwards (from the current object towards the root of the canvas),
|
|
25207
|
+
* checking each parent object for the presence of a `clipPath` that is not
|
|
25208
|
+
* absolutely positioned.
|
|
25023
25209
|
*/
|
|
25024
25210
|
findAncestorsWithClipPath() {
|
|
25025
25211
|
const clipPathAncestors = [];
|
|
@@ -25034,13 +25220,13 @@
|
|
|
25034
25220
|
return clipPathAncestors;
|
|
25035
25221
|
}
|
|
25036
25222
|
|
|
25037
|
-
/**
|
|
25038
|
-
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
25039
|
-
* left/top are left/top of entire text box
|
|
25040
|
-
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
25041
|
-
* @private
|
|
25042
|
-
* @param {number} [index] index from start
|
|
25043
|
-
* @param {boolean} [skipCaching]
|
|
25223
|
+
/**
|
|
25224
|
+
* Returns cursor boundaries (left, top, leftOffset, topOffset)
|
|
25225
|
+
* left/top are left/top of entire text box
|
|
25226
|
+
* leftOffset/topOffset are offset from that left/top point of a text box
|
|
25227
|
+
* @private
|
|
25228
|
+
* @param {number} [index] index from start
|
|
25229
|
+
* @param {boolean} [skipCaching]
|
|
25044
25230
|
*/
|
|
25045
25231
|
_getCursorBoundaries() {
|
|
25046
25232
|
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -25054,11 +25240,11 @@
|
|
|
25054
25240
|
return this._getCursorBoundariesOriginal(index, skipCaching);
|
|
25055
25241
|
}
|
|
25056
25242
|
|
|
25057
|
-
/**
|
|
25058
|
-
* Caches and returns cursor left/top offset relative to instance's center point
|
|
25059
|
-
* @private
|
|
25060
|
-
* @param {number} index index from start
|
|
25061
|
-
* @param {boolean} [skipCaching]
|
|
25243
|
+
/**
|
|
25244
|
+
* Caches and returns cursor left/top offset relative to instance's center point
|
|
25245
|
+
* @private
|
|
25246
|
+
* @param {number} index index from start
|
|
25247
|
+
* @param {boolean} [skipCaching]
|
|
25062
25248
|
*/
|
|
25063
25249
|
_getCursorBoundariesOffsets(index, skipCaching) {
|
|
25064
25250
|
if (skipCaching) {
|
|
@@ -25070,9 +25256,9 @@
|
|
|
25070
25256
|
return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
|
|
25071
25257
|
}
|
|
25072
25258
|
|
|
25073
|
-
/**
|
|
25074
|
-
* Enhanced cursor boundaries using advanced hit testing when available
|
|
25075
|
-
* @private
|
|
25259
|
+
/**
|
|
25260
|
+
* Enhanced cursor boundaries using advanced hit testing when available
|
|
25261
|
+
* @private
|
|
25076
25262
|
*/
|
|
25077
25263
|
_getCursorBoundariesAdvanced(index) {
|
|
25078
25264
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -25088,9 +25274,9 @@
|
|
|
25088
25274
|
};
|
|
25089
25275
|
}
|
|
25090
25276
|
|
|
25091
|
-
/**
|
|
25092
|
-
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
25093
|
-
* @override
|
|
25277
|
+
/**
|
|
25278
|
+
* Enhanced selection start from pointer using BiDi-aware hit testing
|
|
25279
|
+
* @override
|
|
25094
25280
|
*/
|
|
25095
25281
|
getSelectionStartFromPointer(e) {
|
|
25096
25282
|
if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
|
|
@@ -25104,9 +25290,9 @@
|
|
|
25104
25290
|
return Math.min(hitResult.charIndex, this._text.length);
|
|
25105
25291
|
}
|
|
25106
25292
|
|
|
25107
|
-
/**
|
|
25108
|
-
* Original cursor boundaries implementation
|
|
25109
|
-
* @private
|
|
25293
|
+
/**
|
|
25294
|
+
* Original cursor boundaries implementation
|
|
25295
|
+
* @private
|
|
25110
25296
|
*/
|
|
25111
25297
|
_getCursorBoundariesOriginal(index, skipCaching) {
|
|
25112
25298
|
const left = this._getLeftOffset(),
|
|
@@ -25120,10 +25306,10 @@
|
|
|
25120
25306
|
};
|
|
25121
25307
|
}
|
|
25122
25308
|
|
|
25123
|
-
/**
|
|
25124
|
-
* Calculates cursor left/top offset relative to instance's center point
|
|
25125
|
-
* @private
|
|
25126
|
-
* @param {number} index index from start
|
|
25309
|
+
/**
|
|
25310
|
+
* Calculates cursor left/top offset relative to instance's center point
|
|
25311
|
+
* @private
|
|
25312
|
+
* @param {number} index index from start
|
|
25127
25313
|
*/
|
|
25128
25314
|
__getCursorBoundariesOffsets(index) {
|
|
25129
25315
|
let topOffset = 0,
|
|
@@ -25157,29 +25343,29 @@
|
|
|
25157
25343
|
return boundaries;
|
|
25158
25344
|
}
|
|
25159
25345
|
|
|
25160
|
-
/**
|
|
25161
|
-
* Renders cursor on context Top, outside the animation cycle, on request
|
|
25162
|
-
* Used for the drag/drop effect.
|
|
25163
|
-
* If contextTop is not available, do nothing.
|
|
25346
|
+
/**
|
|
25347
|
+
* Renders cursor on context Top, outside the animation cycle, on request
|
|
25348
|
+
* Used for the drag/drop effect.
|
|
25349
|
+
* If contextTop is not available, do nothing.
|
|
25164
25350
|
*/
|
|
25165
25351
|
renderCursorAt(selectionStart) {
|
|
25166
25352
|
this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
|
|
25167
25353
|
}
|
|
25168
25354
|
|
|
25169
|
-
/**
|
|
25170
|
-
* Renders cursor
|
|
25171
|
-
* @param {Object} boundaries
|
|
25172
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25355
|
+
/**
|
|
25356
|
+
* Renders cursor
|
|
25357
|
+
* @param {Object} boundaries
|
|
25358
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25173
25359
|
*/
|
|
25174
25360
|
renderCursor(ctx, boundaries) {
|
|
25175
25361
|
this._renderCursor(ctx, boundaries, this.selectionStart);
|
|
25176
25362
|
}
|
|
25177
25363
|
|
|
25178
|
-
/**
|
|
25179
|
-
* Return the data needed to render the cursor for given selection start
|
|
25180
|
-
* The left,top are relative to the object, while width and height are prescaled
|
|
25181
|
-
* to look think with canvas zoom and object scaling,
|
|
25182
|
-
* so they depend on canvas and object scaling
|
|
25364
|
+
/**
|
|
25365
|
+
* Return the data needed to render the cursor for given selection start
|
|
25366
|
+
* The left,top are relative to the object, while width and height are prescaled
|
|
25367
|
+
* to look think with canvas zoom and object scaling,
|
|
25368
|
+
* so they depend on canvas and object scaling
|
|
25183
25369
|
*/
|
|
25184
25370
|
getCursorRenderingData() {
|
|
25185
25371
|
let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
|
|
@@ -25202,9 +25388,9 @@
|
|
|
25202
25388
|
};
|
|
25203
25389
|
}
|
|
25204
25390
|
|
|
25205
|
-
/**
|
|
25206
|
-
* Render the cursor at the given selectionStart.
|
|
25207
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25391
|
+
/**
|
|
25392
|
+
* Render the cursor at the given selectionStart.
|
|
25393
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25208
25394
|
*/
|
|
25209
25395
|
_renderCursor(ctx, boundaries, selectionStart) {
|
|
25210
25396
|
const {
|
|
@@ -25220,10 +25406,10 @@
|
|
|
25220
25406
|
ctx.fillRect(left, top, width, height);
|
|
25221
25407
|
}
|
|
25222
25408
|
|
|
25223
|
-
/**
|
|
25224
|
-
* Renders text selection
|
|
25225
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25226
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25409
|
+
/**
|
|
25410
|
+
* Renders text selection
|
|
25411
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25412
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25227
25413
|
*/
|
|
25228
25414
|
renderSelection(ctx, boundaries) {
|
|
25229
25415
|
const selection = {
|
|
@@ -25233,8 +25419,8 @@
|
|
|
25233
25419
|
this._renderSelection(ctx, selection, boundaries);
|
|
25234
25420
|
}
|
|
25235
25421
|
|
|
25236
|
-
/**
|
|
25237
|
-
* Renders drag start text selection
|
|
25422
|
+
/**
|
|
25423
|
+
* Renders drag start text selection
|
|
25238
25424
|
*/
|
|
25239
25425
|
renderDragSourceEffect() {
|
|
25240
25426
|
const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
|
|
@@ -25245,12 +25431,12 @@
|
|
|
25245
25431
|
this.renderCursorAt(dragSelection);
|
|
25246
25432
|
}
|
|
25247
25433
|
|
|
25248
|
-
/**
|
|
25249
|
-
* Renders text selection
|
|
25250
|
-
* @private
|
|
25251
|
-
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
25252
|
-
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25253
|
-
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25434
|
+
/**
|
|
25435
|
+
* Renders text selection
|
|
25436
|
+
* @private
|
|
25437
|
+
* @param {{ selectionStart: number, selectionEnd: number }} selection
|
|
25438
|
+
* @param {Object} boundaries Object with left/top/leftOffset/topOffset
|
|
25439
|
+
* @param {CanvasRenderingContext2D} ctx transformed context to draw on
|
|
25254
25440
|
*/
|
|
25255
25441
|
_renderSelection(ctx, selection, boundaries) {
|
|
25256
25442
|
const selectionStart = selection.selectionStart,
|
|
@@ -25312,34 +25498,34 @@
|
|
|
25312
25498
|
}
|
|
25313
25499
|
}
|
|
25314
25500
|
|
|
25315
|
-
/**
|
|
25316
|
-
* High level function to know the height of the cursor.
|
|
25317
|
-
* the currentChar is the one that precedes the cursor
|
|
25318
|
-
* Returns fontSize of char at the current cursor
|
|
25319
|
-
* Unused from the library, is for the end user
|
|
25320
|
-
* @return {Number} Character font size
|
|
25501
|
+
/**
|
|
25502
|
+
* High level function to know the height of the cursor.
|
|
25503
|
+
* the currentChar is the one that precedes the cursor
|
|
25504
|
+
* Returns fontSize of char at the current cursor
|
|
25505
|
+
* Unused from the library, is for the end user
|
|
25506
|
+
* @return {Number} Character font size
|
|
25321
25507
|
*/
|
|
25322
25508
|
getCurrentCharFontSize() {
|
|
25323
25509
|
const cp = this._getCurrentCharIndex();
|
|
25324
25510
|
return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
|
|
25325
25511
|
}
|
|
25326
25512
|
|
|
25327
|
-
/**
|
|
25328
|
-
* High level function to know the color of the cursor.
|
|
25329
|
-
* the currentChar is the one that precedes the cursor
|
|
25330
|
-
* Returns color (fill) of char at the current cursor
|
|
25331
|
-
* if the text object has a pattern or gradient for filler, it will return that.
|
|
25332
|
-
* Unused by the library, is for the end user
|
|
25333
|
-
* @return {String | TFiller} Character color (fill)
|
|
25513
|
+
/**
|
|
25514
|
+
* High level function to know the color of the cursor.
|
|
25515
|
+
* the currentChar is the one that precedes the cursor
|
|
25516
|
+
* Returns color (fill) of char at the current cursor
|
|
25517
|
+
* if the text object has a pattern or gradient for filler, it will return that.
|
|
25518
|
+
* Unused by the library, is for the end user
|
|
25519
|
+
* @return {String | TFiller} Character color (fill)
|
|
25334
25520
|
*/
|
|
25335
25521
|
getCurrentCharColor() {
|
|
25336
25522
|
const cp = this._getCurrentCharIndex();
|
|
25337
25523
|
return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
|
|
25338
25524
|
}
|
|
25339
25525
|
|
|
25340
|
-
/**
|
|
25341
|
-
* Returns the cursor position for the getCurrent.. functions
|
|
25342
|
-
* @private
|
|
25526
|
+
/**
|
|
25527
|
+
* Returns the cursor position for the getCurrent.. functions
|
|
25528
|
+
* @private
|
|
25343
25529
|
*/
|
|
25344
25530
|
_getCurrentCharIndex() {
|
|
25345
25531
|
const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
|
|
@@ -25355,52 +25541,52 @@
|
|
|
25355
25541
|
super.dispose();
|
|
25356
25542
|
}
|
|
25357
25543
|
}
|
|
25358
|
-
/**
|
|
25359
|
-
* Index where text selection starts (or where cursor is when there is no selection)
|
|
25360
|
-
* @type Number
|
|
25544
|
+
/**
|
|
25545
|
+
* Index where text selection starts (or where cursor is when there is no selection)
|
|
25546
|
+
* @type Number
|
|
25361
25547
|
*/
|
|
25362
|
-
/**
|
|
25363
|
-
* Index where text selection ends
|
|
25364
|
-
* @type Number
|
|
25548
|
+
/**
|
|
25549
|
+
* Index where text selection ends
|
|
25550
|
+
* @type Number
|
|
25365
25551
|
*/
|
|
25366
|
-
/**
|
|
25367
|
-
* Color of text selection
|
|
25368
|
-
* @type String
|
|
25552
|
+
/**
|
|
25553
|
+
* Color of text selection
|
|
25554
|
+
* @type String
|
|
25369
25555
|
*/
|
|
25370
|
-
/**
|
|
25371
|
-
* Indicates whether text is in editing mode
|
|
25372
|
-
* @type Boolean
|
|
25556
|
+
/**
|
|
25557
|
+
* Indicates whether text is in editing mode
|
|
25558
|
+
* @type Boolean
|
|
25373
25559
|
*/
|
|
25374
|
-
/**
|
|
25375
|
-
* Indicates whether a text can be edited
|
|
25376
|
-
* @type Boolean
|
|
25560
|
+
/**
|
|
25561
|
+
* Indicates whether a text can be edited
|
|
25562
|
+
* @type Boolean
|
|
25377
25563
|
*/
|
|
25378
|
-
/**
|
|
25379
|
-
* Border color of text object while it's in editing mode
|
|
25380
|
-
* @type String
|
|
25564
|
+
/**
|
|
25565
|
+
* Border color of text object while it's in editing mode
|
|
25566
|
+
* @type String
|
|
25381
25567
|
*/
|
|
25382
|
-
/**
|
|
25383
|
-
* Width of cursor (in px)
|
|
25384
|
-
* @type Number
|
|
25568
|
+
/**
|
|
25569
|
+
* Width of cursor (in px)
|
|
25570
|
+
* @type Number
|
|
25385
25571
|
*/
|
|
25386
|
-
/**
|
|
25387
|
-
* Color of text cursor color in editing mode.
|
|
25388
|
-
* if not set (default) will take color from the text.
|
|
25389
|
-
* if set to a color value that fabric can understand, it will
|
|
25390
|
-
* be used instead of the color of the text at the current position.
|
|
25391
|
-
* @type String
|
|
25572
|
+
/**
|
|
25573
|
+
* Color of text cursor color in editing mode.
|
|
25574
|
+
* if not set (default) will take color from the text.
|
|
25575
|
+
* if set to a color value that fabric can understand, it will
|
|
25576
|
+
* be used instead of the color of the text at the current position.
|
|
25577
|
+
* @type String
|
|
25392
25578
|
*/
|
|
25393
|
-
/**
|
|
25394
|
-
* Delay between cursor blink (in ms)
|
|
25395
|
-
* @type Number
|
|
25579
|
+
/**
|
|
25580
|
+
* Delay between cursor blink (in ms)
|
|
25581
|
+
* @type Number
|
|
25396
25582
|
*/
|
|
25397
|
-
/**
|
|
25398
|
-
* Duration of cursor fade in (in ms)
|
|
25399
|
-
* @type Number
|
|
25583
|
+
/**
|
|
25584
|
+
* Duration of cursor fade in (in ms)
|
|
25585
|
+
* @type Number
|
|
25400
25586
|
*/
|
|
25401
|
-
/**
|
|
25402
|
-
* Indicates whether internal text char widths can be cached
|
|
25403
|
-
* @type Boolean
|
|
25587
|
+
/**
|
|
25588
|
+
* Indicates whether internal text char widths can be cached
|
|
25589
|
+
* @type Boolean
|
|
25404
25590
|
*/
|
|
25405
25591
|
_defineProperty(IText, "ownDefaults", iTextDefaultValues);
|
|
25406
25592
|
_defineProperty(IText, "type", 'IText');
|
|
@@ -25422,11 +25608,11 @@
|
|
|
25422
25608
|
|
|
25423
25609
|
// @TODO this is not complete
|
|
25424
25610
|
|
|
25425
|
-
/**
|
|
25426
|
-
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
25427
|
-
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
25428
|
-
* user can only change width. Height is adjusted automatically based on the
|
|
25429
|
-
* wrapping of lines.
|
|
25611
|
+
/**
|
|
25612
|
+
* Textbox class, based on IText, allows the user to resize the text rectangle
|
|
25613
|
+
* and wraps lines automatically. Textboxes have their Y scaling locked, the
|
|
25614
|
+
* user can only change width. Height is adjusted automatically based on the
|
|
25615
|
+
* wrapping of lines.
|
|
25430
25616
|
*/
|
|
25431
25617
|
class Textbox extends IText {
|
|
25432
25618
|
static getDefaults() {
|
|
@@ -25436,10 +25622,10 @@
|
|
|
25436
25622
|
};
|
|
25437
25623
|
}
|
|
25438
25624
|
|
|
25439
|
-
/**
|
|
25440
|
-
* Constructor
|
|
25441
|
-
* @param {String} text Text string
|
|
25442
|
-
* @param {Object} [options] Options object
|
|
25625
|
+
/**
|
|
25626
|
+
* Constructor
|
|
25627
|
+
* @param {String} text Text string
|
|
25628
|
+
* @param {Object} [options] Options object
|
|
25443
25629
|
*/
|
|
25444
25630
|
constructor(text, options) {
|
|
25445
25631
|
super(text, {
|
|
@@ -25449,10 +25635,10 @@
|
|
|
25449
25635
|
this.initializeEventListeners();
|
|
25450
25636
|
}
|
|
25451
25637
|
|
|
25452
|
-
/**
|
|
25453
|
-
* Creates the default control object.
|
|
25454
|
-
* If you prefer to have on instance of controls shared among all objects
|
|
25455
|
-
* make this function return an empty object and add controls to the ownDefaults object
|
|
25638
|
+
/**
|
|
25639
|
+
* Creates the default control object.
|
|
25640
|
+
* If you prefer to have on instance of controls shared among all objects
|
|
25641
|
+
* make this function return an empty object and add controls to the ownDefaults object
|
|
25456
25642
|
*/
|
|
25457
25643
|
static createControls() {
|
|
25458
25644
|
return {
|
|
@@ -25460,11 +25646,11 @@
|
|
|
25460
25646
|
};
|
|
25461
25647
|
}
|
|
25462
25648
|
|
|
25463
|
-
/**
|
|
25464
|
-
* Unlike superclass's version of this function, Textbox does not update
|
|
25465
|
-
* its width.
|
|
25466
|
-
* @private
|
|
25467
|
-
* @override
|
|
25649
|
+
/**
|
|
25650
|
+
* Unlike superclass's version of this function, Textbox does not update
|
|
25651
|
+
* its width.
|
|
25652
|
+
* @private
|
|
25653
|
+
* @override
|
|
25468
25654
|
*/
|
|
25469
25655
|
initDimensions() {
|
|
25470
25656
|
if (!this.initialized) {
|
|
@@ -25493,9 +25679,9 @@
|
|
|
25493
25679
|
this.height = this.calcTextHeight();
|
|
25494
25680
|
}
|
|
25495
25681
|
|
|
25496
|
-
/**
|
|
25497
|
-
* Advanced dimensions calculation using new layout engine
|
|
25498
|
-
* @private
|
|
25682
|
+
/**
|
|
25683
|
+
* Advanced dimensions calculation using new layout engine
|
|
25684
|
+
* @private
|
|
25499
25685
|
*/
|
|
25500
25686
|
initDimensionsAdvanced() {
|
|
25501
25687
|
if (!this.initialized) {
|
|
@@ -25550,9 +25736,9 @@
|
|
|
25550
25736
|
this.dirty = true;
|
|
25551
25737
|
}
|
|
25552
25738
|
|
|
25553
|
-
/**
|
|
25554
|
-
* Generate style map from new layout format
|
|
25555
|
-
* @private
|
|
25739
|
+
/**
|
|
25740
|
+
* Generate style map from new layout format
|
|
25741
|
+
* @private
|
|
25556
25742
|
*/
|
|
25557
25743
|
_generateStyleMapFromLayout(layout) {
|
|
25558
25744
|
const map = {};
|
|
@@ -25574,12 +25760,12 @@
|
|
|
25574
25760
|
return map;
|
|
25575
25761
|
}
|
|
25576
25762
|
|
|
25577
|
-
/**
|
|
25578
|
-
* Generate an object that translates the style object so that it is
|
|
25579
|
-
* broken up by visual lines (new lines and automatic wrapping).
|
|
25580
|
-
* The original text styles object is broken up by actual lines (new lines only),
|
|
25581
|
-
* which is only sufficient for Text / IText
|
|
25582
|
-
* @private
|
|
25763
|
+
/**
|
|
25764
|
+
* Generate an object that translates the style object so that it is
|
|
25765
|
+
* broken up by visual lines (new lines and automatic wrapping).
|
|
25766
|
+
* The original text styles object is broken up by actual lines (new lines only),
|
|
25767
|
+
* which is only sufficient for Text / IText
|
|
25768
|
+
* @private
|
|
25583
25769
|
*/
|
|
25584
25770
|
_generateStyleMap(textInfo) {
|
|
25585
25771
|
let realLineCount = 0,
|
|
@@ -25606,10 +25792,10 @@
|
|
|
25606
25792
|
return map;
|
|
25607
25793
|
}
|
|
25608
25794
|
|
|
25609
|
-
/**
|
|
25610
|
-
* Returns true if object has a style property or has it on a specified line
|
|
25611
|
-
* @param {Number} lineIndex
|
|
25612
|
-
* @return {Boolean}
|
|
25795
|
+
/**
|
|
25796
|
+
* Returns true if object has a style property or has it on a specified line
|
|
25797
|
+
* @param {Number} lineIndex
|
|
25798
|
+
* @return {Boolean}
|
|
25613
25799
|
*/
|
|
25614
25800
|
styleHas(property, lineIndex) {
|
|
25615
25801
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -25621,10 +25807,10 @@
|
|
|
25621
25807
|
return super.styleHas(property, lineIndex);
|
|
25622
25808
|
}
|
|
25623
25809
|
|
|
25624
|
-
/**
|
|
25625
|
-
* Returns true if object has no styling or no styling in a line
|
|
25626
|
-
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
25627
|
-
* @return {Boolean}
|
|
25810
|
+
/**
|
|
25811
|
+
* Returns true if object has no styling or no styling in a line
|
|
25812
|
+
* @param {Number} lineIndex , lineIndex is on wrapped lines.
|
|
25813
|
+
* @return {Boolean}
|
|
25628
25814
|
*/
|
|
25629
25815
|
isEmptyStyles(lineIndex) {
|
|
25630
25816
|
if (!this.styles) {
|
|
@@ -25661,11 +25847,11 @@
|
|
|
25661
25847
|
return true;
|
|
25662
25848
|
}
|
|
25663
25849
|
|
|
25664
|
-
/**
|
|
25665
|
-
* @protected
|
|
25666
|
-
* @param {Number} lineIndex
|
|
25667
|
-
* @param {Number} charIndex
|
|
25668
|
-
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
25850
|
+
/**
|
|
25851
|
+
* @protected
|
|
25852
|
+
* @param {Number} lineIndex
|
|
25853
|
+
* @param {Number} charIndex
|
|
25854
|
+
* @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
|
|
25669
25855
|
*/
|
|
25670
25856
|
_getStyleDeclaration(lineIndex, charIndex) {
|
|
25671
25857
|
if (this._styleMap && !this.isWrapping) {
|
|
@@ -25679,59 +25865,59 @@
|
|
|
25679
25865
|
return super._getStyleDeclaration(lineIndex, charIndex);
|
|
25680
25866
|
}
|
|
25681
25867
|
|
|
25682
|
-
/**
|
|
25683
|
-
* @param {Number} lineIndex
|
|
25684
|
-
* @param {Number} charIndex
|
|
25685
|
-
* @param {Object} style
|
|
25686
|
-
* @private
|
|
25868
|
+
/**
|
|
25869
|
+
* @param {Number} lineIndex
|
|
25870
|
+
* @param {Number} charIndex
|
|
25871
|
+
* @param {Object} style
|
|
25872
|
+
* @private
|
|
25687
25873
|
*/
|
|
25688
25874
|
_setStyleDeclaration(lineIndex, charIndex, style) {
|
|
25689
25875
|
const map = this._styleMap[lineIndex];
|
|
25690
25876
|
super._setStyleDeclaration(map.line, map.offset + charIndex, style);
|
|
25691
25877
|
}
|
|
25692
25878
|
|
|
25693
|
-
/**
|
|
25694
|
-
* @param {Number} lineIndex
|
|
25695
|
-
* @param {Number} charIndex
|
|
25696
|
-
* @private
|
|
25879
|
+
/**
|
|
25880
|
+
* @param {Number} lineIndex
|
|
25881
|
+
* @param {Number} charIndex
|
|
25882
|
+
* @private
|
|
25697
25883
|
*/
|
|
25698
25884
|
_deleteStyleDeclaration(lineIndex, charIndex) {
|
|
25699
25885
|
const map = this._styleMap[lineIndex];
|
|
25700
25886
|
super._deleteStyleDeclaration(map.line, map.offset + charIndex);
|
|
25701
25887
|
}
|
|
25702
25888
|
|
|
25703
|
-
/**
|
|
25704
|
-
* probably broken need a fix
|
|
25705
|
-
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
25706
|
-
* Used just to verify if the line does exist or not.
|
|
25707
|
-
* @param {Number} lineIndex
|
|
25708
|
-
* @returns {Boolean} if the line exists or not
|
|
25709
|
-
* @private
|
|
25889
|
+
/**
|
|
25890
|
+
* probably broken need a fix
|
|
25891
|
+
* Returns the real style line that correspond to the wrapped lineIndex line
|
|
25892
|
+
* Used just to verify if the line does exist or not.
|
|
25893
|
+
* @param {Number} lineIndex
|
|
25894
|
+
* @returns {Boolean} if the line exists or not
|
|
25895
|
+
* @private
|
|
25710
25896
|
*/
|
|
25711
25897
|
_getLineStyle(lineIndex) {
|
|
25712
25898
|
const map = this._styleMap[lineIndex];
|
|
25713
25899
|
return !!this.styles[map.line];
|
|
25714
25900
|
}
|
|
25715
25901
|
|
|
25716
|
-
/**
|
|
25717
|
-
* Set the line style to an empty object so that is initialized
|
|
25718
|
-
* @param {Number} lineIndex
|
|
25719
|
-
* @param {Object} style
|
|
25720
|
-
* @private
|
|
25902
|
+
/**
|
|
25903
|
+
* Set the line style to an empty object so that is initialized
|
|
25904
|
+
* @param {Number} lineIndex
|
|
25905
|
+
* @param {Object} style
|
|
25906
|
+
* @private
|
|
25721
25907
|
*/
|
|
25722
25908
|
_setLineStyle(lineIndex) {
|
|
25723
25909
|
const map = this._styleMap[lineIndex];
|
|
25724
25910
|
super._setLineStyle(map.line);
|
|
25725
25911
|
}
|
|
25726
25912
|
|
|
25727
|
-
/**
|
|
25728
|
-
* Wraps text using the 'width' property of Textbox. First this function
|
|
25729
|
-
* splits text on newlines, so we preserve newlines entered by the user.
|
|
25730
|
-
* Then it wraps each line using the width of the Textbox by calling
|
|
25731
|
-
* _wrapLine().
|
|
25732
|
-
* @param {Array} lines The string array of text that is split into lines
|
|
25733
|
-
* @param {Number} desiredWidth width you want to wrap to
|
|
25734
|
-
* @returns {Array} Array of lines
|
|
25913
|
+
/**
|
|
25914
|
+
* Wraps text using the 'width' property of Textbox. First this function
|
|
25915
|
+
* splits text on newlines, so we preserve newlines entered by the user.
|
|
25916
|
+
* Then it wraps each line using the width of the Textbox by calling
|
|
25917
|
+
* _wrapLine().
|
|
25918
|
+
* @param {Array} lines The string array of text that is split into lines
|
|
25919
|
+
* @param {Number} desiredWidth width you want to wrap to
|
|
25920
|
+
* @returns {Array} Array of lines
|
|
25735
25921
|
*/
|
|
25736
25922
|
_wrapText(lines, desiredWidth) {
|
|
25737
25923
|
this.isWrapping = true;
|
|
@@ -25745,12 +25931,12 @@
|
|
|
25745
25931
|
return wrapped;
|
|
25746
25932
|
}
|
|
25747
25933
|
|
|
25748
|
-
/**
|
|
25749
|
-
* For each line of text terminated by an hard line stop,
|
|
25750
|
-
* measure each word width and extract the largest word from all.
|
|
25751
|
-
* The returned words here are the one that at the end will be rendered.
|
|
25752
|
-
* @param {string[]} lines the lines we need to measure
|
|
25753
|
-
*
|
|
25934
|
+
/**
|
|
25935
|
+
* For each line of text terminated by an hard line stop,
|
|
25936
|
+
* measure each word width and extract the largest word from all.
|
|
25937
|
+
* The returned words here are the one that at the end will be rendered.
|
|
25938
|
+
* @param {string[]} lines the lines we need to measure
|
|
25939
|
+
*
|
|
25754
25940
|
*/
|
|
25755
25941
|
getGraphemeDataForRender(lines) {
|
|
25756
25942
|
const splitByGrapheme = this.splitByGrapheme,
|
|
@@ -25783,17 +25969,17 @@
|
|
|
25783
25969
|
};
|
|
25784
25970
|
}
|
|
25785
25971
|
|
|
25786
|
-
/**
|
|
25787
|
-
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
25788
|
-
* It gets called when charBounds are not available yet.
|
|
25789
|
-
* Override if necessary
|
|
25790
|
-
* Use with {@link Textbox#wordSplit}
|
|
25791
|
-
*
|
|
25792
|
-
* @param {CanvasRenderingContext2D} ctx
|
|
25793
|
-
* @param {String} text
|
|
25794
|
-
* @param {number} lineIndex
|
|
25795
|
-
* @param {number} charOffset
|
|
25796
|
-
* @returns {number}
|
|
25972
|
+
/**
|
|
25973
|
+
* Helper function to measure a string of text, given its lineIndex and charIndex offset
|
|
25974
|
+
* It gets called when charBounds are not available yet.
|
|
25975
|
+
* Override if necessary
|
|
25976
|
+
* Use with {@link Textbox#wordSplit}
|
|
25977
|
+
*
|
|
25978
|
+
* @param {CanvasRenderingContext2D} ctx
|
|
25979
|
+
* @param {String} text
|
|
25980
|
+
* @param {number} lineIndex
|
|
25981
|
+
* @param {number} charOffset
|
|
25982
|
+
* @returns {number}
|
|
25797
25983
|
*/
|
|
25798
25984
|
_measureWord(word, lineIndex) {
|
|
25799
25985
|
let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
@@ -25808,26 +25994,26 @@
|
|
|
25808
25994
|
return width;
|
|
25809
25995
|
}
|
|
25810
25996
|
|
|
25811
|
-
/**
|
|
25812
|
-
* Override this method to customize word splitting
|
|
25813
|
-
* Use with {@link Textbox#_measureWord}
|
|
25814
|
-
* @param {string} value
|
|
25815
|
-
* @returns {string[]} array of words
|
|
25997
|
+
/**
|
|
25998
|
+
* Override this method to customize word splitting
|
|
25999
|
+
* Use with {@link Textbox#_measureWord}
|
|
26000
|
+
* @param {string} value
|
|
26001
|
+
* @returns {string[]} array of words
|
|
25816
26002
|
*/
|
|
25817
26003
|
wordSplit(value) {
|
|
25818
26004
|
return value.split(this._wordJoiners);
|
|
25819
26005
|
}
|
|
25820
26006
|
|
|
25821
|
-
/**
|
|
25822
|
-
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
25823
|
-
* and leveraging the known width o words from GraphemeData
|
|
25824
|
-
* @private
|
|
25825
|
-
* @param {Number} lineIndex
|
|
25826
|
-
* @param {Number} desiredWidth width you want to wrap the line to
|
|
25827
|
-
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
25828
|
-
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
25829
|
-
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
25830
|
-
* to.
|
|
26007
|
+
/**
|
|
26008
|
+
* Wraps a line of text using the width of the Textbox as desiredWidth
|
|
26009
|
+
* and leveraging the known width o words from GraphemeData
|
|
26010
|
+
* @private
|
|
26011
|
+
* @param {Number} lineIndex
|
|
26012
|
+
* @param {Number} desiredWidth width you want to wrap the line to
|
|
26013
|
+
* @param {GraphemeData} graphemeData an object containing all the lines' words width.
|
|
26014
|
+
* @param {Number} reservedSpace space to remove from wrapping for custom functionalities
|
|
26015
|
+
* @returns {Array} Array of line(s) into which the given text is wrapped
|
|
26016
|
+
* to.
|
|
25831
26017
|
*/
|
|
25832
26018
|
_wrapLine(lineIndex, desiredWidth, _ref) {
|
|
25833
26019
|
let {
|
|
@@ -25885,11 +26071,11 @@
|
|
|
25885
26071
|
return graphemeLines;
|
|
25886
26072
|
}
|
|
25887
26073
|
|
|
25888
|
-
/**
|
|
25889
|
-
* Detect if the text line is ended with an hard break
|
|
25890
|
-
* text and itext do not have wrapping, return false
|
|
25891
|
-
* @param {Number} lineIndex text to split
|
|
25892
|
-
* @return {Boolean}
|
|
26074
|
+
/**
|
|
26075
|
+
* Detect if the text line is ended with an hard break
|
|
26076
|
+
* text and itext do not have wrapping, return false
|
|
26077
|
+
* @param {Number} lineIndex text to split
|
|
26078
|
+
* @return {Boolean}
|
|
25893
26079
|
*/
|
|
25894
26080
|
isEndOfWrapping(lineIndex) {
|
|
25895
26081
|
if (!this._styleMap[lineIndex + 1]) {
|
|
@@ -25903,12 +26089,12 @@
|
|
|
25903
26089
|
return false;
|
|
25904
26090
|
}
|
|
25905
26091
|
|
|
25906
|
-
/**
|
|
25907
|
-
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
25908
|
-
* and counting style.
|
|
25909
|
-
* This is important only for splitByGrapheme at the end of wrapping.
|
|
25910
|
-
* If we are not wrapping the offset is always 1
|
|
25911
|
-
* @return Number
|
|
26092
|
+
/**
|
|
26093
|
+
* Detect if a line has a linebreak and so we need to account for it when moving
|
|
26094
|
+
* and counting style.
|
|
26095
|
+
* This is important only for splitByGrapheme at the end of wrapping.
|
|
26096
|
+
* If we are not wrapping the offset is always 1
|
|
26097
|
+
* @return Number
|
|
25912
26098
|
*/
|
|
25913
26099
|
missingNewlineOffset(lineIndex, skipWrapping) {
|
|
25914
26100
|
if (this.splitByGrapheme && !skipWrapping) {
|
|
@@ -25917,12 +26103,12 @@
|
|
|
25917
26103
|
return 1;
|
|
25918
26104
|
}
|
|
25919
26105
|
|
|
25920
|
-
/**
|
|
25921
|
-
* Gets lines of text to render in the Textbox. This function calculates
|
|
25922
|
-
* text wrapping on the fly every time it is called.
|
|
25923
|
-
* @param {String} text text to split
|
|
25924
|
-
* @returns {Array} Array of lines in the Textbox.
|
|
25925
|
-
* @override
|
|
26106
|
+
/**
|
|
26107
|
+
* Gets lines of text to render in the Textbox. This function calculates
|
|
26108
|
+
* text wrapping on the fly every time it is called.
|
|
26109
|
+
* @param {String} text text to split
|
|
26110
|
+
* @returns {Array} Array of lines in the Textbox.
|
|
26111
|
+
* @override
|
|
25926
26112
|
*/
|
|
25927
26113
|
_splitTextIntoLines(text) {
|
|
25928
26114
|
const newText = super._splitTextIntoLines(text),
|
|
@@ -25954,9 +26140,9 @@
|
|
|
25954
26140
|
}
|
|
25955
26141
|
}
|
|
25956
26142
|
|
|
25957
|
-
/**
|
|
25958
|
-
* Initialize event listeners for safety snap functionality
|
|
25959
|
-
* @private
|
|
26143
|
+
/**
|
|
26144
|
+
* Initialize event listeners for safety snap functionality
|
|
26145
|
+
* @private
|
|
25960
26146
|
*/
|
|
25961
26147
|
initializeEventListeners() {
|
|
25962
26148
|
var _this$canvas;
|
|
@@ -25966,30 +26152,17 @@
|
|
|
25966
26152
|
// Detect resize origin during resizing
|
|
25967
26153
|
this.on('resizing', e => {
|
|
25968
26154
|
// Check transform origin to determine which side is being resized
|
|
25969
|
-
console.log('🔍 Resize event data:', e);
|
|
25970
26155
|
if (e.transform) {
|
|
25971
26156
|
const {
|
|
25972
|
-
originX
|
|
25973
|
-
originY
|
|
26157
|
+
originX
|
|
25974
26158
|
} = e.transform;
|
|
25975
|
-
console.log('🔍 Transform origins:', {
|
|
25976
|
-
originX,
|
|
25977
|
-
originY
|
|
25978
|
-
});
|
|
25979
26159
|
// originX tells us which side is the anchor - opposite side is being dragged
|
|
25980
26160
|
resizeOrigin = originX === 'right' ? 'left' : originX === 'left' ? 'right' : null;
|
|
25981
|
-
console.log('🎯 Setting resizeOrigin to:', resizeOrigin);
|
|
25982
26161
|
} else if (e.originX) {
|
|
25983
26162
|
const {
|
|
25984
|
-
originX
|
|
25985
|
-
originY
|
|
26163
|
+
originX
|
|
25986
26164
|
} = e;
|
|
25987
|
-
console.log('🔍 Event origins:', {
|
|
25988
|
-
originX,
|
|
25989
|
-
originY
|
|
25990
|
-
});
|
|
25991
26165
|
resizeOrigin = originX === 'right' ? 'left' : originX === 'left' ? 'right' : null;
|
|
25992
|
-
console.log('🎯 Setting resizeOrigin to:', resizeOrigin);
|
|
25993
26166
|
}
|
|
25994
26167
|
});
|
|
25995
26168
|
|
|
@@ -25997,9 +26170,6 @@
|
|
|
25997
26170
|
// Use 'modified' event which fires after user releases the mouse
|
|
25998
26171
|
this.on('modified', () => {
|
|
25999
26172
|
const currentResizeOrigin = resizeOrigin; // Capture the value before reset
|
|
26000
|
-
console.log('✅ Modified event fired - resize complete, triggering safety snap', {
|
|
26001
|
-
resizeOrigin: currentResizeOrigin
|
|
26002
|
-
});
|
|
26003
26173
|
// Small delay to ensure text layout is updated
|
|
26004
26174
|
setTimeout(() => this.safetySnapWidth(currentResizeOrigin), 10);
|
|
26005
26175
|
resizeOrigin = null; // Reset after capturing
|
|
@@ -26009,53 +26179,31 @@
|
|
|
26009
26179
|
(_this$canvas = this.canvas) === null || _this$canvas === void 0 || _this$canvas.on('object:modified', e => {
|
|
26010
26180
|
if (e.target === this) {
|
|
26011
26181
|
const currentResizeOrigin = resizeOrigin; // Capture the value before reset
|
|
26012
|
-
console.log('✅ Canvas object:modified fired for this textbox');
|
|
26013
26182
|
setTimeout(() => this.safetySnapWidth(currentResizeOrigin), 10);
|
|
26014
26183
|
resizeOrigin = null; // Reset after capturing
|
|
26015
26184
|
}
|
|
26016
26185
|
});
|
|
26017
26186
|
}
|
|
26018
26187
|
|
|
26019
|
-
/**
|
|
26020
|
-
* Safety snap to prevent glyph clipping after manual resize.
|
|
26021
|
-
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
26022
|
-
* and automatically expands width if needed.
|
|
26023
|
-
* @private
|
|
26024
|
-
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
26188
|
+
/**
|
|
26189
|
+
* Safety snap to prevent glyph clipping after manual resize.
|
|
26190
|
+
* Similar to Polotno - checks if any glyphs are too close to edges
|
|
26191
|
+
* and automatically expands width if needed.
|
|
26192
|
+
* @private
|
|
26193
|
+
* @param resizeOrigin - Which side was used for resizing ('left' or 'right')
|
|
26025
26194
|
*/
|
|
26026
26195
|
safetySnapWidth(resizeOrigin) {
|
|
26027
|
-
var _this$_textLines;
|
|
26028
|
-
console.log('🔍 safetySnapWidth called', {
|
|
26029
|
-
isWrapping: this.isWrapping,
|
|
26030
|
-
hasTextLines: !!this._textLines,
|
|
26031
|
-
lineCount: ((_this$_textLines = this._textLines) === null || _this$_textLines === void 0 ? void 0 : _this$_textLines.length) || 0,
|
|
26032
|
-
currentWidth: this.width,
|
|
26033
|
-
type: this.type,
|
|
26034
|
-
text: this.text
|
|
26035
|
-
});
|
|
26036
|
-
|
|
26037
26196
|
// For Textbox objects, we always want to check for clipping regardless of isWrapping flag
|
|
26038
26197
|
if (!this._textLines || this.type.toLowerCase() !== 'textbox' || this._textLines.length === 0) {
|
|
26039
|
-
var _this$_textLines2;
|
|
26040
|
-
console.log('❌ Early return - missing requirements', {
|
|
26041
|
-
hasTextLines: !!this._textLines,
|
|
26042
|
-
typeMatch: this.type.toLowerCase() === 'textbox',
|
|
26043
|
-
actualType: this.type,
|
|
26044
|
-
hasLines: ((_this$_textLines2 = this._textLines) === null || _this$_textLines2 === void 0 ? void 0 : _this$_textLines2.length) > 0
|
|
26045
|
-
});
|
|
26046
26198
|
return;
|
|
26047
26199
|
}
|
|
26048
26200
|
const lineCount = this._textLines.length;
|
|
26049
26201
|
if (lineCount === 0) return;
|
|
26050
|
-
|
|
26051
|
-
// Check all lines, not just the last one
|
|
26052
|
-
let maxActualLineWidth = 0; // Actual measured width without buffers
|
|
26053
26202
|
let maxRequiredWidth = 0; // Width including RTL buffer
|
|
26054
26203
|
|
|
26055
26204
|
for (let i = 0; i < lineCount; i++) {
|
|
26056
26205
|
const lineText = this._textLines[i].join(''); // Convert grapheme array to string
|
|
26057
26206
|
const lineWidth = this.getLineWidth(i);
|
|
26058
|
-
maxActualLineWidth = Math.max(maxActualLineWidth, lineWidth);
|
|
26059
26207
|
|
|
26060
26208
|
// RTL detection - regex for Arabic, Hebrew, and other RTL characters
|
|
26061
26209
|
const rtlRegex = /[\u0590-\u05FF\u0600-\u06FF\u0750-\u077F\uFB50-\uFDFF\uFE70-\uFEFF]/;
|
|
@@ -26075,11 +26223,6 @@
|
|
|
26075
26223
|
var _this$canvas2;
|
|
26076
26224
|
// Set width to exactly what's needed + minimal safety margin
|
|
26077
26225
|
const newWidth = maxRequiredWidth + 1; // Add just 1px safety margin
|
|
26078
|
-
console.log(`Safety snap: ${this.width.toFixed(0)}px -> ${newWidth.toFixed(0)}px`, {
|
|
26079
|
-
maxActualLineWidth: maxActualLineWidth.toFixed(1),
|
|
26080
|
-
maxRequiredWidth: maxRequiredWidth.toFixed(1),
|
|
26081
|
-
difference: (newWidth - this.width).toFixed(1)
|
|
26082
|
-
});
|
|
26083
26226
|
|
|
26084
26227
|
// Store original position before width change
|
|
26085
26228
|
const originalLeft = this.left;
|
|
@@ -26095,19 +26238,12 @@
|
|
|
26095
26238
|
// Only compensate position when resizing from left handle
|
|
26096
26239
|
// Right handle resize doesn't shift the text position
|
|
26097
26240
|
if (resizeOrigin === 'left') {
|
|
26098
|
-
console.log('🔧 Compensating for left-side resize', {
|
|
26099
|
-
originalLeft,
|
|
26100
|
-
widthIncrease,
|
|
26101
|
-
newLeft: originalLeft - widthIncrease
|
|
26102
|
-
});
|
|
26103
26241
|
// When resizing from left, the expansion pushes text right
|
|
26104
26242
|
// Compensate by moving the textbox left by the width increase
|
|
26105
26243
|
this.set({
|
|
26106
26244
|
'left': originalLeft - widthIncrease,
|
|
26107
26245
|
'top': originalTop
|
|
26108
26246
|
});
|
|
26109
|
-
} else {
|
|
26110
|
-
console.log('✅ Right-side resize, no compensation needed');
|
|
26111
26247
|
}
|
|
26112
26248
|
this.setCoords();
|
|
26113
26249
|
|
|
@@ -26121,31 +26257,31 @@
|
|
|
26121
26257
|
}
|
|
26122
26258
|
}
|
|
26123
26259
|
|
|
26124
|
-
/**
|
|
26125
|
-
* Returns object representation of an instance
|
|
26126
|
-
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
26127
|
-
* @return {Object} object representation of an instance
|
|
26260
|
+
/**
|
|
26261
|
+
* Returns object representation of an instance
|
|
26262
|
+
* @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
|
|
26263
|
+
* @return {Object} object representation of an instance
|
|
26128
26264
|
*/
|
|
26129
26265
|
toObject() {
|
|
26130
26266
|
let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
26131
26267
|
return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
|
|
26132
26268
|
}
|
|
26133
26269
|
}
|
|
26134
|
-
/**
|
|
26135
|
-
* Minimum width of textbox, in pixels.
|
|
26136
|
-
* @type Number
|
|
26137
|
-
*/
|
|
26138
|
-
/**
|
|
26139
|
-
* Minimum calculated width of a textbox, in pixels.
|
|
26140
|
-
* fixed to 2 so that an empty textbox cannot go to 0
|
|
26141
|
-
* and is still selectable without text.
|
|
26142
|
-
* @type Number
|
|
26143
|
-
*/
|
|
26144
|
-
/**
|
|
26145
|
-
* Use this boolean property in order to split strings that have no white space concept.
|
|
26146
|
-
* this is a cheap way to help with chinese/japanese
|
|
26147
|
-
* @type Boolean
|
|
26148
|
-
* @since 2.6.0
|
|
26270
|
+
/**
|
|
26271
|
+
* Minimum width of textbox, in pixels.
|
|
26272
|
+
* @type Number
|
|
26273
|
+
*/
|
|
26274
|
+
/**
|
|
26275
|
+
* Minimum calculated width of a textbox, in pixels.
|
|
26276
|
+
* fixed to 2 so that an empty textbox cannot go to 0
|
|
26277
|
+
* and is still selectable without text.
|
|
26278
|
+
* @type Number
|
|
26279
|
+
*/
|
|
26280
|
+
/**
|
|
26281
|
+
* Use this boolean property in order to split strings that have no white space concept.
|
|
26282
|
+
* this is a cheap way to help with chinese/japanese
|
|
26283
|
+
* @type Boolean
|
|
26284
|
+
* @since 2.6.0
|
|
26149
26285
|
*/
|
|
26150
26286
|
_defineProperty(Textbox, "type", 'Textbox');
|
|
26151
26287
|
_defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);
|