@nasser-sw/fabric 7.0.0-beta1
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 +11 -0
- package/.babelrcAlt +19 -0
- package/.browserslistrc +8 -0
- package/.editorconfig +12 -0
- package/.gitattributes +2 -0
- package/.gitpod.yml +22 -0
- package/.prettierignore +22 -0
- package/.prettierrc +4 -0
- package/CHANGELOG.md +1993 -0
- package/CODE_OF_CONDUCT.md +15 -0
- package/CONTRIBUTING.md +277 -0
- package/LICENSE +16 -0
- package/OVERLAY_EDITOR_MIGRATION.md +432 -0
- package/README.md +253 -0
- package/SECURITY.md +5 -0
- package/debug/konva/CHANGELOG.md +1474 -0
- package/debug/konva/LICENSE +22 -0
- package/debug/konva/README.md +205 -0
- package/debug/konva/gulpfile.mjs +110 -0
- package/debug/konva/package.json +139 -0
- package/debug/konva/release.sh +65 -0
- package/debug/konva/resources/doc-includes/ContainerParams.txt +6 -0
- package/debug/konva/resources/doc-includes/NodeParams.txt +20 -0
- package/debug/konva/resources/doc-includes/ShapeParams.txt +53 -0
- package/debug/konva/resources/jsdoc.conf.json +28 -0
- package/debug/konva/rollup.config.mjs +32 -0
- package/debug/konva/src/Animation.ts +237 -0
- package/debug/konva/src/BezierFunctions.ts +826 -0
- package/debug/konva/src/Canvas.ts +193 -0
- package/debug/konva/src/Container.ts +649 -0
- package/debug/konva/src/Context.ts +1017 -0
- package/debug/konva/src/Core.ts +5 -0
- package/debug/konva/src/DragAndDrop.ts +173 -0
- package/debug/konva/src/Factory.ts +246 -0
- package/debug/konva/src/FastLayer.ts +29 -0
- package/debug/konva/src/Global.ts +210 -0
- package/debug/konva/src/Group.ts +31 -0
- package/debug/konva/src/Layer.ts +546 -0
- package/debug/konva/src/Node.ts +3477 -0
- package/debug/konva/src/PointerEvents.ts +67 -0
- package/debug/konva/src/Shape.ts +2081 -0
- package/debug/konva/src/Stage.ts +1000 -0
- package/debug/konva/src/Tween.ts +811 -0
- package/debug/konva/src/Util.ts +1123 -0
- package/debug/konva/src/Validators.ts +210 -0
- package/debug/konva/src/_CoreInternals.ts +85 -0
- package/debug/konva/src/_FullInternals.ts +171 -0
- package/debug/konva/src/canvas-backend.ts +36 -0
- package/debug/konva/src/filters/Blur.ts +388 -0
- package/debug/konva/src/filters/Brighten.ts +48 -0
- package/debug/konva/src/filters/Brightness.ts +30 -0
- package/debug/konva/src/filters/Contrast.ts +75 -0
- package/debug/konva/src/filters/Emboss.ts +207 -0
- package/debug/konva/src/filters/Enhance.ts +154 -0
- package/debug/konva/src/filters/Grayscale.ts +25 -0
- package/debug/konva/src/filters/HSL.ts +108 -0
- package/debug/konva/src/filters/HSV.ts +106 -0
- package/debug/konva/src/filters/Invert.ts +23 -0
- package/debug/konva/src/filters/Kaleidoscope.ts +274 -0
- package/debug/konva/src/filters/Mask.ts +220 -0
- package/debug/konva/src/filters/Noise.ts +44 -0
- package/debug/konva/src/filters/Pixelate.ts +107 -0
- package/debug/konva/src/filters/Posterize.ts +46 -0
- package/debug/konva/src/filters/RGB.ts +82 -0
- package/debug/konva/src/filters/RGBA.ts +103 -0
- package/debug/konva/src/filters/Sepia.ts +27 -0
- package/debug/konva/src/filters/Solarize.ts +29 -0
- package/debug/konva/src/filters/Threshold.ts +44 -0
- package/debug/konva/src/index.ts +3 -0
- package/debug/konva/src/shapes/Arc.ts +176 -0
- package/debug/konva/src/shapes/Arrow.ts +231 -0
- package/debug/konva/src/shapes/Circle.ts +76 -0
- package/debug/konva/src/shapes/Ellipse.ts +121 -0
- package/debug/konva/src/shapes/Image.ts +319 -0
- package/debug/konva/src/shapes/Label.ts +386 -0
- package/debug/konva/src/shapes/Line.ts +364 -0
- package/debug/konva/src/shapes/Path.ts +1013 -0
- package/debug/konva/src/shapes/Rect.ts +79 -0
- package/debug/konva/src/shapes/RegularPolygon.ts +167 -0
- package/debug/konva/src/shapes/Ring.ts +94 -0
- package/debug/konva/src/shapes/Sprite.ts +370 -0
- package/debug/konva/src/shapes/Star.ts +125 -0
- package/debug/konva/src/shapes/Text.ts +1065 -0
- package/debug/konva/src/shapes/TextPath.ts +583 -0
- package/debug/konva/src/shapes/Transformer.ts +1889 -0
- package/debug/konva/src/shapes/Wedge.ts +129 -0
- package/debug/konva/src/skia-backend.ts +35 -0
- package/debug/konva/src/types.ts +84 -0
- package/debug/konva/tsconfig.json +31 -0
- package/debug/konva/tsconfig.test.json +7 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +2 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +1 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs +25 -0
- package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts +3 -0
- package/dist/extensions/aligning_guidelines/constant.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/index.d.ts +5 -0
- package/dist/extensions/aligning_guidelines/index.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts +33 -0
- package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts +4 -0
- package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +13 -0
- package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +20 -0
- package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts +6 -0
- package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +1 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +3 -0
- package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +1 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts +11 -0
- package/dist/extensions/data_updaters/gradient/index.d.ts.map +1 -0
- package/dist/extensions/data_updaters/origins/index.d.ts +21 -0
- package/dist/extensions/data_updaters/origins/index.d.ts.map +1 -0
- package/dist/extensions/index.d.ts +4 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/fabric.d.ts +115 -0
- package/dist/fabric.d.ts.map +1 -0
- package/dist/fabric.min.mjs +2 -0
- package/dist/fabric.min.mjs.map +1 -0
- package/dist/fabric.mjs +60 -0
- package/dist/fabric.mjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30983 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +2 -0
- package/dist/index.min.js.map +1 -0
- package/dist/index.min.mjs +2 -0
- package/dist/index.min.mjs.map +1 -0
- package/dist/index.mjs +30910 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.node.cjs +31067 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.d.ts +20 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/index.node.mjs +31000 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/package.json.min.mjs +2 -0
- package/dist/package.json.min.mjs.map +1 -0
- package/dist/package.json.mjs +4 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/src/ClassRegistry.d.ts +14 -0
- package/dist/src/ClassRegistry.d.ts.map +1 -0
- package/dist/src/ClassRegistry.min.mjs +2 -0
- package/dist/src/ClassRegistry.min.mjs.map +1 -0
- package/dist/src/ClassRegistry.mjs +52 -0
- package/dist/src/ClassRegistry.mjs.map +1 -0
- package/dist/src/Collection.d.ts +141 -0
- package/dist/src/Collection.d.ts.map +1 -0
- package/dist/src/Collection.min.mjs +2 -0
- package/dist/src/Collection.min.mjs.map +1 -0
- package/dist/src/Collection.mjs +337 -0
- package/dist/src/Collection.mjs.map +1 -0
- package/dist/src/CommonMethods.d.ts +32 -0
- package/dist/src/CommonMethods.d.ts.map +1 -0
- package/dist/src/CommonMethods.min.mjs +2 -0
- package/dist/src/CommonMethods.min.mjs.map +1 -0
- package/dist/src/CommonMethods.mjs +65 -0
- package/dist/src/CommonMethods.mjs.map +1 -0
- package/dist/src/EventTypeDefs.d.ts +270 -0
- package/dist/src/EventTypeDefs.d.ts.map +1 -0
- package/dist/src/Intersection.d.ts +112 -0
- package/dist/src/Intersection.d.ts.map +1 -0
- package/dist/src/Intersection.min.mjs +2 -0
- package/dist/src/Intersection.min.mjs.map +1 -0
- package/dist/src/Intersection.mjs +257 -0
- package/dist/src/Intersection.mjs.map +1 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +22 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +1 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +2 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +1 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +50 -0
- package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts +56 -0
- package/dist/src/LayoutManager/LayoutManager.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutManager.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutManager.mjs +266 -0
- package/dist/src/LayoutManager/LayoutManager.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +13 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +71 -0
- package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +14 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +22 -0
- package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +14 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +27 -0
- package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +30 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +97 -0
- package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +10 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +2 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +1 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +29 -0
- package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +1 -0
- package/dist/src/LayoutManager/constants.d.ts +7 -0
- package/dist/src/LayoutManager/constants.d.ts.map +1 -0
- package/dist/src/LayoutManager/constants.min.mjs +2 -0
- package/dist/src/LayoutManager/constants.min.mjs.map +1 -0
- package/dist/src/LayoutManager/constants.mjs +9 -0
- package/dist/src/LayoutManager/constants.mjs.map +1 -0
- package/dist/src/LayoutManager/index.d.ts +7 -0
- package/dist/src/LayoutManager/index.d.ts.map +1 -0
- package/dist/src/LayoutManager/types.d.ts +106 -0
- package/dist/src/LayoutManager/types.d.ts.map +1 -0
- package/dist/src/Observable.d.ts +68 -0
- package/dist/src/Observable.d.ts.map +1 -0
- package/dist/src/Observable.min.mjs +2 -0
- package/dist/src/Observable.min.mjs.map +1 -0
- package/dist/src/Observable.mjs +159 -0
- package/dist/src/Observable.mjs.map +1 -0
- package/dist/src/Pattern/Pattern.d.ts +95 -0
- package/dist/src/Pattern/Pattern.d.ts.map +1 -0
- package/dist/src/Pattern/Pattern.min.mjs +2 -0
- package/dist/src/Pattern/Pattern.min.mjs.map +1 -0
- package/dist/src/Pattern/Pattern.mjs +183 -0
- package/dist/src/Pattern/Pattern.mjs.map +1 -0
- package/dist/src/Pattern/index.d.ts +3 -0
- package/dist/src/Pattern/index.d.ts.map +1 -0
- package/dist/src/Pattern/types.d.ts +12 -0
- package/dist/src/Pattern/types.d.ts.map +1 -0
- package/dist/src/Point.d.ts +219 -0
- package/dist/src/Point.d.ts.map +1 -0
- package/dist/src/Point.min.mjs +2 -0
- package/dist/src/Point.min.mjs.map +1 -0
- package/dist/src/Point.mjs +358 -0
- package/dist/src/Point.mjs.map +1 -0
- package/dist/src/Shadow.d.ts +89 -0
- package/dist/src/Shadow.d.ts.map +1 -0
- package/dist/src/Shadow.min.mjs +2 -0
- package/dist/src/Shadow.min.mjs.map +1 -0
- package/dist/src/Shadow.mjs +162 -0
- package/dist/src/Shadow.mjs.map +1 -0
- package/dist/src/brushes/BaseBrush.d.ts +94 -0
- package/dist/src/brushes/BaseBrush.d.ts.map +1 -0
- package/dist/src/brushes/BaseBrush.min.mjs +2 -0
- package/dist/src/brushes/BaseBrush.min.mjs.map +1 -0
- package/dist/src/brushes/BaseBrush.mjs +131 -0
- package/dist/src/brushes/BaseBrush.mjs.map +1 -0
- package/dist/src/brushes/CircleBrush.d.ts +43 -0
- package/dist/src/brushes/CircleBrush.d.ts.map +1 -0
- package/dist/src/brushes/CircleBrush.min.mjs +2 -0
- package/dist/src/brushes/CircleBrush.min.mjs.map +1 -0
- package/dist/src/brushes/CircleBrush.mjs +138 -0
- package/dist/src/brushes/CircleBrush.mjs.map +1 -0
- package/dist/src/brushes/PatternBrush.d.ts +23 -0
- package/dist/src/brushes/PatternBrush.d.ts.map +1 -0
- package/dist/src/brushes/PatternBrush.min.mjs +2 -0
- package/dist/src/brushes/PatternBrush.min.mjs.map +1 -0
- package/dist/src/brushes/PatternBrush.mjs +59 -0
- package/dist/src/brushes/PatternBrush.mjs.map +1 -0
- package/dist/src/brushes/PencilBrush.d.ts +92 -0
- package/dist/src/brushes/PencilBrush.d.ts.map +1 -0
- package/dist/src/brushes/PencilBrush.min.mjs +2 -0
- package/dist/src/brushes/PencilBrush.min.mjs.map +1 -0
- package/dist/src/brushes/PencilBrush.mjs +293 -0
- package/dist/src/brushes/PencilBrush.mjs.map +1 -0
- package/dist/src/brushes/SprayBrush.d.ts +68 -0
- package/dist/src/brushes/SprayBrush.d.ts.map +1 -0
- package/dist/src/brushes/SprayBrush.min.mjs +2 -0
- package/dist/src/brushes/SprayBrush.min.mjs.map +1 -0
- package/dist/src/brushes/SprayBrush.mjs +179 -0
- package/dist/src/brushes/SprayBrush.mjs.map +1 -0
- package/dist/src/brushes/typedefs.d.ts +18 -0
- package/dist/src/brushes/typedefs.d.ts.map +1 -0
- package/dist/src/cache.d.ts +47 -0
- package/dist/src/cache.d.ts.map +1 -0
- package/dist/src/cache.min.mjs +2 -0
- package/dist/src/cache.min.mjs.map +1 -0
- package/dist/src/cache.mjs +80 -0
- package/dist/src/cache.mjs.map +1 -0
- package/dist/src/canvas/Canvas.d.ts +334 -0
- package/dist/src/canvas/Canvas.d.ts.map +1 -0
- package/dist/src/canvas/Canvas.min.mjs +2 -0
- package/dist/src/canvas/Canvas.min.mjs.map +1 -0
- package/dist/src/canvas/Canvas.mjs +1366 -0
- package/dist/src/canvas/Canvas.mjs.map +1 -0
- package/dist/src/canvas/CanvasOptions.d.ts +210 -0
- package/dist/src/canvas/CanvasOptions.d.ts.map +1 -0
- package/dist/src/canvas/CanvasOptions.min.mjs +2 -0
- package/dist/src/canvas/CanvasOptions.min.mjs.map +1 -0
- package/dist/src/canvas/CanvasOptions.mjs +32 -0
- package/dist/src/canvas/CanvasOptions.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +30 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +1 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +2 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +125 -0
- package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +29 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +1 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +2 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +75 -0
- package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/util.d.ts +23 -0
- package/dist/src/canvas/DOMManagers/util.d.ts.map +1 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs +2 -0
- package/dist/src/canvas/DOMManagers/util.min.mjs.map +1 -0
- package/dist/src/canvas/DOMManagers/util.mjs +76 -0
- package/dist/src/canvas/DOMManagers/util.mjs.map +1 -0
- package/dist/src/canvas/SelectableCanvas.d.ts +544 -0
- package/dist/src/canvas/SelectableCanvas.d.ts.map +1 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs +2 -0
- package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -0
- package/dist/src/canvas/SelectableCanvas.mjs +1196 -0
- package/dist/src/canvas/SelectableCanvas.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvas.d.ts +596 -0
- package/dist/src/canvas/StaticCanvas.d.ts.map +1 -0
- package/dist/src/canvas/StaticCanvas.min.mjs +2 -0
- package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvas.mjs +1238 -0
- package/dist/src/canvas/StaticCanvas.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts +142 -0
- package/dist/src/canvas/StaticCanvasOptions.d.ts.map +1 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs +2 -0
- package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +1 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs +26 -0
- package/dist/src/canvas/StaticCanvasOptions.mjs.map +1 -0
- package/dist/src/canvas/TextEditingManager.d.ts +21 -0
- package/dist/src/canvas/TextEditingManager.d.ts.map +1 -0
- package/dist/src/canvas/TextEditingManager.min.mjs +2 -0
- package/dist/src/canvas/TextEditingManager.min.mjs.map +1 -0
- package/dist/src/canvas/TextEditingManager.mjs +61 -0
- package/dist/src/canvas/TextEditingManager.mjs.map +1 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
- package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +1 -0
- package/dist/src/color/Color.d.ts +146 -0
- package/dist/src/color/Color.d.ts.map +1 -0
- package/dist/src/color/Color.min.mjs +2 -0
- package/dist/src/color/Color.min.mjs.map +1 -0
- package/dist/src/color/Color.mjs +305 -0
- package/dist/src/color/Color.mjs.map +1 -0
- package/dist/src/color/color_map.d.ts +155 -0
- package/dist/src/color/color_map.d.ts.map +1 -0
- package/dist/src/color/color_map.min.mjs +2 -0
- package/dist/src/color/color_map.min.mjs.map +1 -0
- package/dist/src/color/color_map.mjs +157 -0
- package/dist/src/color/color_map.mjs.map +1 -0
- package/dist/src/color/constants.d.ts +111 -0
- package/dist/src/color/constants.d.ts.map +1 -0
- package/dist/src/color/constants.min.mjs +2 -0
- package/dist/src/color/constants.min.mjs.map +1 -0
- package/dist/src/color/constants.mjs +115 -0
- package/dist/src/color/constants.mjs.map +1 -0
- package/dist/src/color/typedefs.d.ts +16 -0
- package/dist/src/color/typedefs.d.ts.map +1 -0
- package/dist/src/color/util.d.ts +27 -0
- package/dist/src/color/util.d.ts.map +1 -0
- package/dist/src/color/util.min.mjs +2 -0
- package/dist/src/color/util.min.mjs.map +1 -0
- package/dist/src/color/util.mjs +82 -0
- package/dist/src/color/util.mjs.map +1 -0
- package/dist/src/config.d.ts +113 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.min.mjs +2 -0
- package/dist/src/config.min.mjs.map +1 -0
- package/dist/src/config.mjs +145 -0
- package/dist/src/config.mjs.map +1 -0
- package/dist/src/constants.d.ts +36 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.min.mjs +2 -0
- package/dist/src/constants.min.mjs.map +1 -0
- package/dist/src/constants.mjs +43 -0
- package/dist/src/constants.mjs.map +1 -0
- package/dist/src/controls/Control.d.ts +229 -0
- package/dist/src/controls/Control.d.ts.map +1 -0
- package/dist/src/controls/Control.min.mjs +2 -0
- package/dist/src/controls/Control.min.mjs.map +1 -0
- package/dist/src/controls/Control.mjs +286 -0
- package/dist/src/controls/Control.mjs.map +1 -0
- package/dist/src/controls/changeHeight.d.ts +13 -0
- package/dist/src/controls/changeHeight.d.ts.map +1 -0
- package/dist/src/controls/changeWidth.d.ts +13 -0
- package/dist/src/controls/changeWidth.d.ts.map +1 -0
- package/dist/src/controls/changeWidth.min.mjs +2 -0
- package/dist/src/controls/changeWidth.min.mjs.map +1 -0
- package/dist/src/controls/changeWidth.mjs +36 -0
- package/dist/src/controls/changeWidth.mjs.map +1 -0
- package/dist/src/controls/commonControls.d.ts +26 -0
- package/dist/src/controls/commonControls.d.ts.map +1 -0
- package/dist/src/controls/commonControls.min.mjs +2 -0
- package/dist/src/controls/commonControls.min.mjs.map +1 -0
- package/dist/src/controls/commonControls.mjs +103 -0
- package/dist/src/controls/commonControls.mjs.map +1 -0
- package/dist/src/controls/controlRendering.d.ts +29 -0
- package/dist/src/controls/controlRendering.d.ts.map +1 -0
- package/dist/src/controls/controlRendering.min.mjs +2 -0
- package/dist/src/controls/controlRendering.min.mjs.map +1 -0
- package/dist/src/controls/controlRendering.mjs +87 -0
- package/dist/src/controls/controlRendering.mjs.map +1 -0
- package/dist/src/controls/drag.d.ts +12 -0
- package/dist/src/controls/drag.d.ts.map +1 -0
- package/dist/src/controls/drag.min.mjs +2 -0
- package/dist/src/controls/drag.min.mjs.map +1 -0
- package/dist/src/controls/drag.mjs +33 -0
- package/dist/src/controls/drag.mjs.map +1 -0
- package/dist/src/controls/fireEvent.d.ts +3 -0
- package/dist/src/controls/fireEvent.d.ts.map +1 -0
- package/dist/src/controls/fireEvent.min.mjs +2 -0
- package/dist/src/controls/fireEvent.min.mjs.map +1 -0
- package/dist/src/controls/fireEvent.mjs +16 -0
- package/dist/src/controls/fireEvent.mjs.map +1 -0
- package/dist/src/controls/index.d.ts +14 -0
- package/dist/src/controls/index.d.ts.map +1 -0
- package/dist/src/controls/index.min.mjs +2 -0
- package/dist/src/controls/index.min.mjs.map +1 -0
- package/dist/src/controls/index.mjs +14 -0
- package/dist/src/controls/index.mjs.map +1 -0
- package/dist/src/controls/pathControl.d.ts +12 -0
- package/dist/src/controls/pathControl.d.ts.map +1 -0
- package/dist/src/controls/pathControl.min.mjs +2 -0
- package/dist/src/controls/pathControl.min.mjs.map +1 -0
- package/dist/src/controls/pathControl.mjs +159 -0
- package/dist/src/controls/pathControl.mjs.map +1 -0
- package/dist/src/controls/polyControl.d.ts +30 -0
- package/dist/src/controls/polyControl.d.ts.map +1 -0
- package/dist/src/controls/polyControl.min.mjs +2 -0
- package/dist/src/controls/polyControl.min.mjs.map +1 -0
- package/dist/src/controls/polyControl.mjs +78 -0
- package/dist/src/controls/polyControl.mjs.map +1 -0
- package/dist/src/controls/rotate.d.ts +12 -0
- package/dist/src/controls/rotate.d.ts.map +1 -0
- package/dist/src/controls/rotate.min.mjs +2 -0
- package/dist/src/controls/rotate.min.mjs.map +1 -0
- package/dist/src/controls/rotate.mjs +73 -0
- package/dist/src/controls/rotate.mjs.map +1 -0
- package/dist/src/controls/scale.d.ts +47 -0
- package/dist/src/controls/scale.d.ts.map +1 -0
- package/dist/src/controls/scale.min.mjs +2 -0
- package/dist/src/controls/scale.min.mjs.map +1 -0
- package/dist/src/controls/scale.mjs +210 -0
- package/dist/src/controls/scale.mjs.map +1 -0
- package/dist/src/controls/scaleSkew.d.ts +39 -0
- package/dist/src/controls/scaleSkew.d.ts.map +1 -0
- package/dist/src/controls/scaleSkew.min.mjs +2 -0
- package/dist/src/controls/scaleSkew.min.mjs.map +1 -0
- package/dist/src/controls/scaleSkew.mjs +66 -0
- package/dist/src/controls/scaleSkew.mjs.map +1 -0
- package/dist/src/controls/skew.d.ts +33 -0
- package/dist/src/controls/skew.d.ts.map +1 -0
- package/dist/src/controls/skew.min.mjs +2 -0
- package/dist/src/controls/skew.min.mjs.map +1 -0
- package/dist/src/controls/skew.mjs +181 -0
- package/dist/src/controls/skew.mjs.map +1 -0
- package/dist/src/controls/util.d.ts +42 -0
- package/dist/src/controls/util.d.ts.map +1 -0
- package/dist/src/controls/util.min.mjs +2 -0
- package/dist/src/controls/util.min.mjs.map +1 -0
- package/dist/src/controls/util.mjs +105 -0
- package/dist/src/controls/util.mjs.map +1 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts +10 -0
- package/dist/src/controls/wrapWithFireEvent.d.ts.map +1 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs +2 -0
- package/dist/src/controls/wrapWithFireEvent.min.mjs.map +1 -0
- package/dist/src/controls/wrapWithFireEvent.mjs +25 -0
- package/dist/src/controls/wrapWithFireEvent.mjs.map +1 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +1 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs +2 -0
- package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +1 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs +25 -0
- package/dist/src/controls/wrapWithFixedAnchor.mjs.map +1 -0
- package/dist/src/env/browser.d.ts +3 -0
- package/dist/src/env/browser.d.ts.map +1 -0
- package/dist/src/env/browser.min.mjs +2 -0
- package/dist/src/env/browser.min.mjs.map +1 -0
- package/dist/src/env/browser.mjs +19 -0
- package/dist/src/env/browser.mjs.map +1 -0
- package/dist/src/env/index.d.ts +34 -0
- package/dist/src/env/index.d.ts.map +1 -0
- package/dist/src/env/index.min.mjs +2 -0
- package/dist/src/env/index.min.mjs.map +1 -0
- package/dist/src/env/index.mjs +47 -0
- package/dist/src/env/index.mjs.map +1 -0
- package/dist/src/env/node.d.ts +6 -0
- package/dist/src/env/node.d.ts.map +1 -0
- package/dist/src/env/types.d.ts +16 -0
- package/dist/src/env/types.d.ts.map +1 -0
- package/dist/src/filters/BaseFilter.d.ts +153 -0
- package/dist/src/filters/BaseFilter.d.ts.map +1 -0
- package/dist/src/filters/BaseFilter.min.mjs +2 -0
- package/dist/src/filters/BaseFilter.min.mjs.map +1 -0
- package/dist/src/filters/BaseFilter.mjs +334 -0
- package/dist/src/filters/BaseFilter.mjs.map +1 -0
- package/dist/src/filters/BlendColor.d.ts +65 -0
- package/dist/src/filters/BlendColor.d.ts.map +1 -0
- package/dist/src/filters/BlendColor.min.mjs +2 -0
- package/dist/src/filters/BlendColor.min.mjs.map +1 -0
- package/dist/src/filters/BlendColor.mjs +164 -0
- package/dist/src/filters/BlendColor.mjs.map +1 -0
- package/dist/src/filters/BlendImage.d.ts +97 -0
- package/dist/src/filters/BlendImage.d.ts.map +1 -0
- package/dist/src/filters/BlendImage.min.mjs +2 -0
- package/dist/src/filters/BlendImage.min.mjs.map +1 -0
- package/dist/src/filters/BlendImage.mjs +185 -0
- package/dist/src/filters/BlendImage.mjs.map +1 -0
- package/dist/src/filters/Blur.d.ts +49 -0
- package/dist/src/filters/Blur.d.ts.map +1 -0
- package/dist/src/filters/Blur.min.mjs +2 -0
- package/dist/src/filters/Blur.min.mjs.map +1 -0
- package/dist/src/filters/Blur.mjs +194 -0
- package/dist/src/filters/Blur.mjs.map +1 -0
- package/dist/src/filters/Boilerplate.d.ts +45 -0
- package/dist/src/filters/Boilerplate.d.ts.map +1 -0
- package/dist/src/filters/Brightness.d.ts +45 -0
- package/dist/src/filters/Brightness.d.ts.map +1 -0
- package/dist/src/filters/Brightness.min.mjs +2 -0
- package/dist/src/filters/Brightness.min.mjs.map +1 -0
- package/dist/src/filters/Brightness.mjs +69 -0
- package/dist/src/filters/Brightness.mjs.map +1 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +1 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs +2 -0
- package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +1 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs +65 -0
- package/dist/src/filters/Canvas2dFilterBackend.mjs.map +1 -0
- package/dist/src/filters/ColorMatrix.d.ts +62 -0
- package/dist/src/filters/ColorMatrix.d.ts.map +1 -0
- package/dist/src/filters/ColorMatrix.min.mjs +2 -0
- package/dist/src/filters/ColorMatrix.min.mjs.map +1 -0
- package/dist/src/filters/ColorMatrix.mjs +99 -0
- package/dist/src/filters/ColorMatrix.mjs.map +1 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts +15 -0
- package/dist/src/filters/ColorMatrixFilters.d.ts.map +1 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs +2 -0
- package/dist/src/filters/ColorMatrixFilters.min.mjs.map +1 -0
- package/dist/src/filters/ColorMatrixFilters.mjs +30 -0
- package/dist/src/filters/ColorMatrixFilters.mjs.map +1 -0
- package/dist/src/filters/Composed.d.ts +51 -0
- package/dist/src/filters/Composed.d.ts.map +1 -0
- package/dist/src/filters/Composed.min.mjs +2 -0
- package/dist/src/filters/Composed.min.mjs.map +1 -0
- package/dist/src/filters/Composed.mjs +65 -0
- package/dist/src/filters/Composed.mjs.map +1 -0
- package/dist/src/filters/Contrast.d.ts +44 -0
- package/dist/src/filters/Contrast.d.ts.map +1 -0
- package/dist/src/filters/Contrast.min.mjs +2 -0
- package/dist/src/filters/Contrast.min.mjs.map +1 -0
- package/dist/src/filters/Contrast.mjs +69 -0
- package/dist/src/filters/Contrast.mjs.map +1 -0
- package/dist/src/filters/Convolute.d.ts +81 -0
- package/dist/src/filters/Convolute.d.ts.map +1 -0
- package/dist/src/filters/Convolute.min.mjs +2 -0
- package/dist/src/filters/Convolute.min.mjs.map +1 -0
- package/dist/src/filters/Convolute.mjs +154 -0
- package/dist/src/filters/Convolute.mjs.map +1 -0
- package/dist/src/filters/FilterBackend.d.ts +15 -0
- package/dist/src/filters/FilterBackend.d.ts.map +1 -0
- package/dist/src/filters/FilterBackend.min.mjs +2 -0
- package/dist/src/filters/FilterBackend.min.mjs.map +1 -0
- package/dist/src/filters/FilterBackend.mjs +43 -0
- package/dist/src/filters/FilterBackend.mjs.map +1 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts +7 -0
- package/dist/src/filters/GLProbes/GLProbe.d.ts.map +1 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs +2 -0
- package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +1 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs +4 -0
- package/dist/src/filters/GLProbes/GLProbe.mjs.map +1 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +11 -0
- package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +1 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
- package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +1 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +2 -0
- package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +1 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs +43 -0
- package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +1 -0
- package/dist/src/filters/Gamma.d.ts +57 -0
- package/dist/src/filters/Gamma.d.ts.map +1 -0
- package/dist/src/filters/Gamma.min.mjs +2 -0
- package/dist/src/filters/Gamma.min.mjs.map +1 -0
- package/dist/src/filters/Gamma.mjs +101 -0
- package/dist/src/filters/Gamma.mjs.map +1 -0
- package/dist/src/filters/Grayscale.d.ts +44 -0
- package/dist/src/filters/Grayscale.d.ts.map +1 -0
- package/dist/src/filters/Grayscale.min.mjs +2 -0
- package/dist/src/filters/Grayscale.min.mjs.map +1 -0
- package/dist/src/filters/Grayscale.mjs +81 -0
- package/dist/src/filters/Grayscale.mjs.map +1 -0
- package/dist/src/filters/HueRotation.d.ts +34 -0
- package/dist/src/filters/HueRotation.d.ts.map +1 -0
- package/dist/src/filters/HueRotation.min.mjs +2 -0
- package/dist/src/filters/HueRotation.min.mjs.map +1 -0
- package/dist/src/filters/HueRotation.mjs +53 -0
- package/dist/src/filters/HueRotation.mjs.map +1 -0
- package/dist/src/filters/Invert.d.ts +51 -0
- package/dist/src/filters/Invert.d.ts.map +1 -0
- package/dist/src/filters/Invert.min.mjs +2 -0
- package/dist/src/filters/Invert.min.mjs.map +1 -0
- package/dist/src/filters/Invert.mjs +78 -0
- package/dist/src/filters/Invert.mjs.map +1 -0
- package/dist/src/filters/Noise.d.ts +43 -0
- package/dist/src/filters/Noise.d.ts.map +1 -0
- package/dist/src/filters/Noise.min.mjs +2 -0
- package/dist/src/filters/Noise.min.mjs.map +1 -0
- package/dist/src/filters/Noise.mjs +70 -0
- package/dist/src/filters/Noise.mjs.map +1 -0
- package/dist/src/filters/Pixelate.d.ts +41 -0
- package/dist/src/filters/Pixelate.d.ts.map +1 -0
- package/dist/src/filters/Pixelate.min.mjs +2 -0
- package/dist/src/filters/Pixelate.min.mjs.map +1 -0
- package/dist/src/filters/Pixelate.mjs +80 -0
- package/dist/src/filters/Pixelate.mjs.map +1 -0
- package/dist/src/filters/RemoveColor.d.ts +51 -0
- package/dist/src/filters/RemoveColor.d.ts.map +1 -0
- package/dist/src/filters/RemoveColor.min.mjs +2 -0
- package/dist/src/filters/RemoveColor.min.mjs.map +1 -0
- package/dist/src/filters/RemoveColor.mjs +84 -0
- package/dist/src/filters/RemoveColor.mjs.map +1 -0
- package/dist/src/filters/Resize.d.ts +134 -0
- package/dist/src/filters/Resize.d.ts.map +1 -0
- package/dist/src/filters/Resize.min.mjs +2 -0
- package/dist/src/filters/Resize.min.mjs.map +1 -0
- package/dist/src/filters/Resize.mjs +444 -0
- package/dist/src/filters/Resize.mjs.map +1 -0
- package/dist/src/filters/Saturation.d.ts +45 -0
- package/dist/src/filters/Saturation.d.ts.map +1 -0
- package/dist/src/filters/Saturation.min.mjs +2 -0
- package/dist/src/filters/Saturation.min.mjs.map +1 -0
- package/dist/src/filters/Saturation.mjs +74 -0
- package/dist/src/filters/Saturation.mjs.map +1 -0
- package/dist/src/filters/Vibrance.d.ts +45 -0
- package/dist/src/filters/Vibrance.d.ts.map +1 -0
- package/dist/src/filters/Vibrance.min.mjs +2 -0
- package/dist/src/filters/Vibrance.min.mjs.map +1 -0
- package/dist/src/filters/Vibrance.mjs +76 -0
- package/dist/src/filters/Vibrance.mjs.map +1 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts +131 -0
- package/dist/src/filters/WebGLFilterBackend.d.ts.map +1 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs +2 -0
- package/dist/src/filters/WebGLFilterBackend.min.mjs.map +1 -0
- package/dist/src/filters/WebGLFilterBackend.mjs +312 -0
- package/dist/src/filters/WebGLFilterBackend.mjs.map +1 -0
- package/dist/src/filters/filters.d.ts +23 -0
- package/dist/src/filters/filters.d.ts.map +1 -0
- package/dist/src/filters/filters.min.mjs +2 -0
- package/dist/src/filters/filters.min.mjs.map +1 -0
- package/dist/src/filters/filters.mjs +21 -0
- package/dist/src/filters/filters.mjs.map +1 -0
- package/dist/src/filters/index.d.ts +7 -0
- package/dist/src/filters/index.d.ts.map +1 -0
- package/dist/src/filters/shaders/baseFilter.d.ts +4 -0
- package/dist/src/filters/shaders/baseFilter.d.ts.map +1 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs +2 -0
- package/dist/src/filters/shaders/baseFilter.min.mjs.map +1 -0
- package/dist/src/filters/shaders/baseFilter.mjs +18 -0
- package/dist/src/filters/shaders/baseFilter.mjs.map +1 -0
- package/dist/src/filters/shaders/blendColor.d.ts +13 -0
- package/dist/src/filters/shaders/blendColor.d.ts.map +1 -0
- package/dist/src/filters/shaders/blendColor.min.mjs +2 -0
- package/dist/src/filters/shaders/blendColor.min.mjs.map +1 -0
- package/dist/src/filters/shaders/blendColor.mjs +34 -0
- package/dist/src/filters/shaders/blendColor.mjs.map +1 -0
- package/dist/src/filters/shaders/blendImage.d.ts +4 -0
- package/dist/src/filters/shaders/blendImage.d.ts.map +1 -0
- package/dist/src/filters/shaders/blendImage.min.mjs +2 -0
- package/dist/src/filters/shaders/blendImage.min.mjs.map +1 -0
- package/dist/src/filters/shaders/blendImage.mjs +44 -0
- package/dist/src/filters/shaders/blendImage.mjs.map +1 -0
- package/dist/src/filters/shaders/blur.d.ts +2 -0
- package/dist/src/filters/shaders/blur.d.ts.map +1 -0
- package/dist/src/filters/shaders/blur.min.mjs +2 -0
- package/dist/src/filters/shaders/blur.min.mjs.map +1 -0
- package/dist/src/filters/shaders/blur.mjs +33 -0
- package/dist/src/filters/shaders/blur.mjs.map +1 -0
- package/dist/src/filters/shaders/brightness.d.ts +2 -0
- package/dist/src/filters/shaders/brightness.d.ts.map +1 -0
- package/dist/src/filters/shaders/brightness.min.mjs +2 -0
- package/dist/src/filters/shaders/brightness.min.mjs.map +1 -0
- package/dist/src/filters/shaders/brightness.mjs +14 -0
- package/dist/src/filters/shaders/brightness.mjs.map +1 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts +2 -0
- package/dist/src/filters/shaders/colorMatrix.d.ts.map +1 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs +2 -0
- package/dist/src/filters/shaders/colorMatrix.min.mjs.map +1 -0
- package/dist/src/filters/shaders/colorMatrix.mjs +15 -0
- package/dist/src/filters/shaders/colorMatrix.mjs.map +1 -0
- package/dist/src/filters/shaders/constrast.d.ts +2 -0
- package/dist/src/filters/shaders/constrast.d.ts.map +1 -0
- package/dist/src/filters/shaders/constrast.min.mjs +2 -0
- package/dist/src/filters/shaders/constrast.min.mjs.map +1 -0
- package/dist/src/filters/shaders/constrast.mjs +14 -0
- package/dist/src/filters/shaders/constrast.mjs.map +1 -0
- package/dist/src/filters/shaders/convolute.d.ts +11 -0
- package/dist/src/filters/shaders/convolute.d.ts.map +1 -0
- package/dist/src/filters/shaders/convolute.min.mjs +2 -0
- package/dist/src/filters/shaders/convolute.min.mjs.map +1 -0
- package/dist/src/filters/shaders/convolute.mjs +157 -0
- package/dist/src/filters/shaders/convolute.mjs.map +1 -0
- package/dist/src/filters/shaders/gamma.d.ts +2 -0
- package/dist/src/filters/shaders/gamma.d.ts.map +1 -0
- package/dist/src/filters/shaders/gamma.min.mjs +2 -0
- package/dist/src/filters/shaders/gamma.min.mjs.map +1 -0
- package/dist/src/filters/shaders/gamma.mjs +18 -0
- package/dist/src/filters/shaders/gamma.mjs.map +1 -0
- package/dist/src/filters/shaders/grayscale.d.ts +3 -0
- package/dist/src/filters/shaders/grayscale.d.ts.map +1 -0
- package/dist/src/filters/shaders/grayscale.min.mjs +2 -0
- package/dist/src/filters/shaders/grayscale.min.mjs.map +1 -0
- package/dist/src/filters/shaders/grayscale.mjs +37 -0
- package/dist/src/filters/shaders/grayscale.mjs.map +1 -0
- package/dist/src/filters/shaders/invert.d.ts +2 -0
- package/dist/src/filters/shaders/invert.d.ts.map +1 -0
- package/dist/src/filters/shaders/invert.min.mjs +2 -0
- package/dist/src/filters/shaders/invert.min.mjs.map +1 -0
- package/dist/src/filters/shaders/invert.mjs +22 -0
- package/dist/src/filters/shaders/invert.mjs.map +1 -0
- package/dist/src/filters/shaders/noise.d.ts +2 -0
- package/dist/src/filters/shaders/noise.d.ts.map +1 -0
- package/dist/src/filters/shaders/noise.min.mjs +2 -0
- package/dist/src/filters/shaders/noise.min.mjs.map +1 -0
- package/dist/src/filters/shaders/noise.mjs +19 -0
- package/dist/src/filters/shaders/noise.mjs.map +1 -0
- package/dist/src/filters/shaders/pixelate.d.ts +2 -0
- package/dist/src/filters/shaders/pixelate.d.ts.map +1 -0
- package/dist/src/filters/shaders/pixelate.min.mjs +2 -0
- package/dist/src/filters/shaders/pixelate.min.mjs.map +1 -0
- package/dist/src/filters/shaders/pixelate.mjs +22 -0
- package/dist/src/filters/shaders/pixelate.mjs.map +1 -0
- package/dist/src/filters/shaders/removeColor.d.ts +2 -0
- package/dist/src/filters/shaders/removeColor.d.ts.map +1 -0
- package/dist/src/filters/shaders/removeColor.min.mjs +2 -0
- package/dist/src/filters/shaders/removeColor.min.mjs.map +1 -0
- package/dist/src/filters/shaders/removeColor.mjs +16 -0
- package/dist/src/filters/shaders/removeColor.mjs.map +1 -0
- package/dist/src/filters/shaders/saturation.d.ts +2 -0
- package/dist/src/filters/shaders/saturation.d.ts.map +1 -0
- package/dist/src/filters/shaders/saturation.min.mjs +2 -0
- package/dist/src/filters/shaders/saturation.min.mjs.map +1 -0
- package/dist/src/filters/shaders/saturation.mjs +18 -0
- package/dist/src/filters/shaders/saturation.mjs.map +1 -0
- package/dist/src/filters/shaders/vibrance.d.ts +2 -0
- package/dist/src/filters/shaders/vibrance.d.ts.map +1 -0
- package/dist/src/filters/shaders/vibrance.min.mjs +2 -0
- package/dist/src/filters/shaders/vibrance.min.mjs.map +1 -0
- package/dist/src/filters/shaders/vibrance.mjs +19 -0
- package/dist/src/filters/shaders/vibrance.mjs.map +1 -0
- package/dist/src/filters/typedefs.d.ts +70 -0
- package/dist/src/filters/typedefs.d.ts.map +1 -0
- package/dist/src/filters/utils.d.ts +10 -0
- package/dist/src/filters/utils.d.ts.map +1 -0
- package/dist/src/filters/utils.min.mjs +2 -0
- package/dist/src/filters/utils.min.mjs.map +1 -0
- package/dist/src/filters/utils.mjs +43 -0
- package/dist/src/filters/utils.mjs.map +1 -0
- package/dist/src/gradient/Gradient.d.ts +142 -0
- package/dist/src/gradient/Gradient.d.ts.map +1 -0
- package/dist/src/gradient/Gradient.min.mjs +2 -0
- package/dist/src/gradient/Gradient.min.mjs.map +1 -0
- package/dist/src/gradient/Gradient.mjs +328 -0
- package/dist/src/gradient/Gradient.mjs.map +1 -0
- package/dist/src/gradient/constants.d.ts +15 -0
- package/dist/src/gradient/constants.d.ts.map +1 -0
- package/dist/src/gradient/constants.min.mjs +2 -0
- package/dist/src/gradient/constants.min.mjs.map +1 -0
- package/dist/src/gradient/constants.mjs +14 -0
- package/dist/src/gradient/constants.mjs.map +1 -0
- package/dist/src/gradient/index.d.ts +3 -0
- package/dist/src/gradient/index.d.ts.map +1 -0
- package/dist/src/gradient/parser/misc.d.ts +4 -0
- package/dist/src/gradient/parser/misc.d.ts.map +1 -0
- package/dist/src/gradient/parser/misc.min.mjs +2 -0
- package/dist/src/gradient/parser/misc.min.mjs.map +1 -0
- package/dist/src/gradient/parser/misc.mjs +9 -0
- package/dist/src/gradient/parser/misc.mjs.map +1 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts +3 -0
- package/dist/src/gradient/parser/parseColorStops.d.ts.map +1 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs +2 -0
- package/dist/src/gradient/parser/parseColorStops.min.mjs.map +1 -0
- package/dist/src/gradient/parser/parseColorStops.mjs +44 -0
- package/dist/src/gradient/parser/parseColorStops.mjs.map +1 -0
- package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist/src/gradient/parser/parseCoords.d.ts.map +1 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs +2 -0
- package/dist/src/gradient/parser/parseCoords.min.mjs.map +1 -0
- package/dist/src/gradient/parser/parseCoords.mjs +65 -0
- package/dist/src/gradient/parser/parseCoords.mjs.map +1 -0
- package/dist/src/gradient/typedefs.d.ts +93 -0
- package/dist/src/gradient/typedefs.d.ts.map +1 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
- package/dist/src/mixins/eraser_brush.mixin.d.ts.map +1 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
- package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +1 -0
- package/dist/src/parkinglot/straighten.d.ts +12 -0
- package/dist/src/parkinglot/straighten.d.ts.map +1 -0
- package/dist/src/parser/applyViewboxTransform.d.ts +13 -0
- package/dist/src/parser/applyViewboxTransform.d.ts.map +1 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs +2 -0
- package/dist/src/parser/applyViewboxTransform.min.mjs.map +1 -0
- package/dist/src/parser/applyViewboxTransform.mjs +127 -0
- package/dist/src/parser/applyViewboxTransform.mjs.map +1 -0
- package/dist/src/parser/attributes.d.ts +6 -0
- package/dist/src/parser/attributes.d.ts.map +1 -0
- package/dist/src/parser/attributes.min.mjs +2 -0
- package/dist/src/parser/attributes.min.mjs.map +1 -0
- package/dist/src/parser/attributes.mjs +10 -0
- package/dist/src/parser/attributes.mjs.map +1 -0
- package/dist/src/parser/constants.d.ts +42 -0
- package/dist/src/parser/constants.d.ts.map +1 -0
- package/dist/src/parser/constants.min.mjs +2 -0
- package/dist/src/parser/constants.min.mjs.map +1 -0
- package/dist/src/parser/constants.mjs +58 -0
- package/dist/src/parser/constants.mjs.map +1 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist/src/parser/doesSomeParentMatch.d.ts.map +1 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs +2 -0
- package/dist/src/parser/doesSomeParentMatch.min.mjs.map +1 -0
- package/dist/src/parser/doesSomeParentMatch.mjs +17 -0
- package/dist/src/parser/doesSomeParentMatch.mjs.map +1 -0
- package/dist/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist/src/parser/elementMatchesRule.d.ts.map +1 -0
- package/dist/src/parser/elementMatchesRule.min.mjs +2 -0
- package/dist/src/parser/elementMatchesRule.min.mjs.map +1 -0
- package/dist/src/parser/elementMatchesRule.mjs +19 -0
- package/dist/src/parser/elementMatchesRule.mjs.map +1 -0
- package/dist/src/parser/elements_parser.d.ts +33 -0
- package/dist/src/parser/elements_parser.d.ts.map +1 -0
- package/dist/src/parser/elements_parser.min.mjs +2 -0
- package/dist/src/parser/elements_parser.min.mjs.map +1 -0
- package/dist/src/parser/elements_parser.mjs +139 -0
- package/dist/src/parser/elements_parser.mjs.map +1 -0
- package/dist/src/parser/getCSSRules.d.ts +8 -0
- package/dist/src/parser/getCSSRules.d.ts.map +1 -0
- package/dist/src/parser/getCSSRules.min.mjs +2 -0
- package/dist/src/parser/getCSSRules.min.mjs.map +1 -0
- package/dist/src/parser/getCSSRules.mjs +60 -0
- package/dist/src/parser/getCSSRules.mjs.map +1 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts +6 -0
- package/dist/src/parser/getGlobalStylesForElement.d.ts.map +1 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs +2 -0
- package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +1 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs +22 -0
- package/dist/src/parser/getGlobalStylesForElement.mjs.map +1 -0
- package/dist/src/parser/getGradientDefs.d.ts +7 -0
- package/dist/src/parser/getGradientDefs.d.ts.map +1 -0
- package/dist/src/parser/getGradientDefs.min.mjs +2 -0
- package/dist/src/parser/getGradientDefs.min.mjs.map +1 -0
- package/dist/src/parser/getGradientDefs.mjs +29 -0
- package/dist/src/parser/getGradientDefs.mjs.map +1 -0
- package/dist/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist/src/parser/getMultipleNodes.d.ts.map +1 -0
- package/dist/src/parser/getMultipleNodes.min.mjs +2 -0
- package/dist/src/parser/getMultipleNodes.min.mjs.map +1 -0
- package/dist/src/parser/getMultipleNodes.mjs +16 -0
- package/dist/src/parser/getMultipleNodes.mjs.map +1 -0
- package/dist/src/parser/getSvgRegex.d.ts +2 -0
- package/dist/src/parser/getSvgRegex.d.ts.map +1 -0
- package/dist/src/parser/getSvgRegex.min.mjs +2 -0
- package/dist/src/parser/getSvgRegex.min.mjs.map +1 -0
- package/dist/src/parser/getSvgRegex.mjs +6 -0
- package/dist/src/parser/getSvgRegex.mjs.map +1 -0
- package/dist/src/parser/getTagName.d.ts +2 -0
- package/dist/src/parser/getTagName.d.ts.map +1 -0
- package/dist/src/parser/getTagName.min.mjs +2 -0
- package/dist/src/parser/getTagName.min.mjs.map +1 -0
- package/dist/src/parser/getTagName.mjs +4 -0
- package/dist/src/parser/getTagName.mjs.map +1 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts +2 -0
- package/dist/src/parser/hasInvalidAncestor.d.ts.map +1 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs +2 -0
- package/dist/src/parser/hasInvalidAncestor.min.mjs.map +1 -0
- package/dist/src/parser/hasInvalidAncestor.mjs +17 -0
- package/dist/src/parser/hasInvalidAncestor.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromString.d.ts +17 -0
- package/dist/src/parser/loadSVGFromString.d.ts.map +1 -0
- package/dist/src/parser/loadSVGFromString.min.mjs +2 -0
- package/dist/src/parser/loadSVGFromString.min.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromString.mjs +25 -0
- package/dist/src/parser/loadSVGFromString.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromURL.d.ts +18 -0
- package/dist/src/parser/loadSVGFromURL.d.ts.map +1 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs +2 -0
- package/dist/src/parser/loadSVGFromURL.min.mjs.map +1 -0
- package/dist/src/parser/loadSVGFromURL.mjs +37 -0
- package/dist/src/parser/loadSVGFromURL.mjs.map +1 -0
- package/dist/src/parser/normalizeAttr.d.ts +3 -0
- package/dist/src/parser/normalizeAttr.d.ts.map +1 -0
- package/dist/src/parser/normalizeAttr.min.mjs +2 -0
- package/dist/src/parser/normalizeAttr.min.mjs.map +1 -0
- package/dist/src/parser/normalizeAttr.mjs +9 -0
- package/dist/src/parser/normalizeAttr.mjs.map +1 -0
- package/dist/src/parser/normalizeValue.d.ts +2 -0
- package/dist/src/parser/normalizeValue.d.ts.map +1 -0
- package/dist/src/parser/normalizeValue.min.mjs +2 -0
- package/dist/src/parser/normalizeValue.min.mjs.map +1 -0
- package/dist/src/parser/normalizeValue.mjs +63 -0
- package/dist/src/parser/normalizeValue.mjs.map +1 -0
- package/dist/src/parser/parseAttributes.d.ts +10 -0
- package/dist/src/parser/parseAttributes.d.ts.map +1 -0
- package/dist/src/parser/parseAttributes.min.mjs +2 -0
- package/dist/src/parser/parseAttributes.min.mjs.map +1 -0
- package/dist/src/parser/parseAttributes.mjs +73 -0
- package/dist/src/parser/parseAttributes.mjs.map +1 -0
- package/dist/src/parser/parseFontDeclaration.d.ts +7 -0
- package/dist/src/parser/parseFontDeclaration.d.ts.map +1 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs +2 -0
- package/dist/src/parser/parseFontDeclaration.min.mjs.map +1 -0
- package/dist/src/parser/parseFontDeclaration.mjs +39 -0
- package/dist/src/parser/parseFontDeclaration.mjs.map +1 -0
- package/dist/src/parser/parsePointsAttribute.d.ts +8 -0
- package/dist/src/parser/parsePointsAttribute.d.ts.map +1 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs +2 -0
- package/dist/src/parser/parsePointsAttribute.min.mjs.map +1 -0
- package/dist/src/parser/parsePointsAttribute.mjs +30 -0
- package/dist/src/parser/parsePointsAttribute.mjs.map +1 -0
- package/dist/src/parser/parseSVGDocument.d.ts +19 -0
- package/dist/src/parser/parseSVGDocument.d.ts.map +1 -0
- package/dist/src/parser/parseSVGDocument.min.mjs +2 -0
- package/dist/src/parser/parseSVGDocument.min.mjs.map +1 -0
- package/dist/src/parser/parseSVGDocument.mjs +79 -0
- package/dist/src/parser/parseSVGDocument.mjs.map +1 -0
- package/dist/src/parser/parseStyleAttribute.d.ts +7 -0
- package/dist/src/parser/parseStyleAttribute.d.ts.map +1 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs +2 -0
- package/dist/src/parser/parseStyleAttribute.min.mjs.map +1 -0
- package/dist/src/parser/parseStyleAttribute.mjs +24 -0
- package/dist/src/parser/parseStyleAttribute.mjs.map +1 -0
- package/dist/src/parser/parseStyleObject.d.ts +8 -0
- package/dist/src/parser/parseStyleObject.d.ts.map +1 -0
- package/dist/src/parser/parseStyleObject.min.mjs +2 -0
- package/dist/src/parser/parseStyleObject.min.mjs.map +1 -0
- package/dist/src/parser/parseStyleObject.mjs +18 -0
- package/dist/src/parser/parseStyleObject.mjs.map +1 -0
- package/dist/src/parser/parseStyleString.d.ts +8 -0
- package/dist/src/parser/parseStyleString.d.ts.map +1 -0
- package/dist/src/parser/parseStyleString.min.mjs +2 -0
- package/dist/src/parser/parseStyleString.min.mjs.map +1 -0
- package/dist/src/parser/parseStyleString.mjs +16 -0
- package/dist/src/parser/parseStyleString.mjs.map +1 -0
- package/dist/src/parser/parseTransformAttribute.d.ts +8 -0
- package/dist/src/parser/parseTransformAttribute.d.ts.map +1 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs +2 -0
- package/dist/src/parser/parseTransformAttribute.min.mjs.map +1 -0
- package/dist/src/parser/parseTransformAttribute.mjs +84 -0
- package/dist/src/parser/parseTransformAttribute.mjs.map +1 -0
- package/dist/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist/src/parser/parseUseDirectives.d.ts.map +1 -0
- package/dist/src/parser/parseUseDirectives.min.mjs +2 -0
- package/dist/src/parser/parseUseDirectives.min.mjs.map +1 -0
- package/dist/src/parser/parseUseDirectives.mjs +88 -0
- package/dist/src/parser/parseUseDirectives.mjs.map +1 -0
- package/dist/src/parser/percent.d.ts +9 -0
- package/dist/src/parser/percent.d.ts.map +1 -0
- package/dist/src/parser/percent.min.mjs +2 -0
- package/dist/src/parser/percent.min.mjs.map +1 -0
- package/dist/src/parser/percent.mjs +21 -0
- package/dist/src/parser/percent.mjs.map +1 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +1 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +2 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +1 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs +28 -0
- package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +1 -0
- package/dist/src/parser/selectorMatches.d.ts +2 -0
- package/dist/src/parser/selectorMatches.d.ts.map +1 -0
- package/dist/src/parser/selectorMatches.min.mjs +2 -0
- package/dist/src/parser/selectorMatches.min.mjs.map +1 -0
- package/dist/src/parser/selectorMatches.mjs +26 -0
- package/dist/src/parser/selectorMatches.mjs.map +1 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist/src/parser/setStrokeFillOpacity.d.ts.map +1 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs +2 -0
- package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +1 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs +38 -0
- package/dist/src/parser/setStrokeFillOpacity.mjs.map +1 -0
- package/dist/src/parser/typedefs.d.ts +10 -0
- package/dist/src/parser/typedefs.d.ts.map +1 -0
- package/dist/src/shapes/ActiveSelection.d.ts +105 -0
- package/dist/src/shapes/ActiveSelection.d.ts.map +1 -0
- package/dist/src/shapes/ActiveSelection.min.mjs +2 -0
- package/dist/src/shapes/ActiveSelection.min.mjs.map +1 -0
- package/dist/src/shapes/ActiveSelection.mjs +236 -0
- package/dist/src/shapes/ActiveSelection.mjs.map +1 -0
- package/dist/src/shapes/Circle.d.ts +107 -0
- package/dist/src/shapes/Circle.d.ts.map +1 -0
- package/dist/src/shapes/Circle.min.mjs +2 -0
- package/dist/src/shapes/Circle.min.mjs.map +1 -0
- package/dist/src/shapes/Circle.mjs +172 -0
- package/dist/src/shapes/Circle.mjs.map +1 -0
- package/dist/src/shapes/Ellipse.d.ts +82 -0
- package/dist/src/shapes/Ellipse.d.ts.map +1 -0
- package/dist/src/shapes/Ellipse.min.mjs +2 -0
- package/dist/src/shapes/Ellipse.min.mjs.map +1 -0
- package/dist/src/shapes/Ellipse.mjs +138 -0
- package/dist/src/shapes/Ellipse.mjs.map +1 -0
- package/dist/src/shapes/Group.d.ts +301 -0
- package/dist/src/shapes/Group.d.ts.map +1 -0
- package/dist/src/shapes/Group.min.mjs +2 -0
- package/dist/src/shapes/Group.min.mjs.map +1 -0
- package/dist/src/shapes/Group.mjs +601 -0
- package/dist/src/shapes/Group.mjs.map +1 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +2 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +1 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs +347 -0
- package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +1 -0
- package/dist/src/shapes/IText/IText.d.ts +347 -0
- package/dist/src/shapes/IText/IText.d.ts.map +1 -0
- package/dist/src/shapes/IText/IText.min.mjs +2 -0
- package/dist/src/shapes/IText/IText.min.mjs.map +1 -0
- package/dist/src/shapes/IText/IText.mjs +699 -0
- package/dist/src/shapes/IText/IText.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts +321 -0
- package/dist/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs +2 -0
- package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextBehavior.mjs +989 -0
- package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts +63 -0
- package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +2 -0
- package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextClickBehavior.mjs +220 -0
- package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +197 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +1 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +2 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs +602 -0
- package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -0
- package/dist/src/shapes/IText/constants.d.ts +13 -0
- package/dist/src/shapes/IText/constants.d.ts.map +1 -0
- package/dist/src/shapes/IText/constants.min.mjs +2 -0
- package/dist/src/shapes/IText/constants.min.mjs.map +1 -0
- package/dist/src/shapes/IText/constants.mjs +52 -0
- package/dist/src/shapes/IText/constants.mjs.map +1 -0
- package/dist/src/shapes/Image.d.ts +296 -0
- package/dist/src/shapes/Image.d.ts.map +1 -0
- package/dist/src/shapes/Image.min.mjs +2 -0
- package/dist/src/shapes/Image.min.mjs.map +1 -0
- package/dist/src/shapes/Image.mjs +661 -0
- package/dist/src/shapes/Image.mjs.map +1 -0
- package/dist/src/shapes/Line.d.ts +118 -0
- package/dist/src/shapes/Line.d.ts.map +1 -0
- package/dist/src/shapes/Line.min.mjs +2 -0
- package/dist/src/shapes/Line.min.mjs.map +1 -0
- package/dist/src/shapes/Line.mjs +283 -0
- package/dist/src/shapes/Line.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObject.d.ts +11 -0
- package/dist/src/shapes/Object/FabricObject.d.ts.map +1 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs +2 -0
- package/dist/src/shapes/Object/FabricObject.min.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObject.mjs +17 -0
- package/dist/src/shapes/Object/FabricObject.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +72 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +2 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +166 -0
- package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts +317 -0
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs +2 -0
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs +556 -0
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -0
- package/dist/src/shapes/Object/Object.d.ts +716 -0
- package/dist/src/shapes/Object/Object.d.ts.map +1 -0
- package/dist/src/shapes/Object/Object.min.mjs +2 -0
- package/dist/src/shapes/Object/Object.min.mjs.map +1 -0
- package/dist/src/shapes/Object/Object.mjs +1531 -0
- package/dist/src/shapes/Object/Object.mjs.map +1 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts +338 -0
- package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +1 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs +2 -0
- package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +1 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs +657 -0
- package/dist/src/shapes/Object/ObjectGeometry.mjs.map +1 -0
- package/dist/src/shapes/Object/defaultValues.d.ts +8 -0
- package/dist/src/shapes/Object/defaultValues.d.ts.map +1 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs +2 -0
- package/dist/src/shapes/Object/defaultValues.min.mjs.map +1 -0
- package/dist/src/shapes/Object/defaultValues.mjs +81 -0
- package/dist/src/shapes/Object/defaultValues.mjs.map +1 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts +92 -0
- package/dist/src/shapes/Object/types/BaseProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts +37 -0
- package/dist/src/shapes/Object/types/BorderProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts +63 -0
- package/dist/src/shapes/Object/types/ControlProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +62 -0
- package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +78 -0
- package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +43 -0
- package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts +41 -0
- package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +32 -0
- package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +63 -0
- package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +1 -0
- package/dist/src/shapes/Object/types/index.d.ts +6 -0
- package/dist/src/shapes/Object/types/index.d.ts.map +1 -0
- package/dist/src/shapes/Path.d.ts +208 -0
- package/dist/src/shapes/Path.d.ts.map +1 -0
- package/dist/src/shapes/Path.min.mjs +2 -0
- package/dist/src/shapes/Path.min.mjs.map +1 -0
- package/dist/src/shapes/Path.mjs +318 -0
- package/dist/src/shapes/Path.mjs.map +1 -0
- package/dist/src/shapes/Polygon.d.ts +7 -0
- package/dist/src/shapes/Polygon.d.ts.map +1 -0
- package/dist/src/shapes/Polygon.min.mjs +2 -0
- package/dist/src/shapes/Polygon.min.mjs.map +1 -0
- package/dist/src/shapes/Polygon.mjs +16 -0
- package/dist/src/shapes/Polygon.mjs.map +1 -0
- package/dist/src/shapes/Polyline.d.ts +149 -0
- package/dist/src/shapes/Polyline.d.ts.map +1 -0
- package/dist/src/shapes/Polyline.min.mjs +2 -0
- package/dist/src/shapes/Polyline.min.mjs.map +1 -0
- package/dist/src/shapes/Polyline.mjs +358 -0
- package/dist/src/shapes/Polyline.mjs.map +1 -0
- package/dist/src/shapes/Rect.d.ts +77 -0
- package/dist/src/shapes/Rect.d.ts.map +1 -0
- package/dist/src/shapes/Rect.min.mjs +2 -0
- package/dist/src/shapes/Rect.min.mjs.map +1 -0
- package/dist/src/shapes/Rect.mjs +151 -0
- package/dist/src/shapes/Rect.mjs.map +1 -0
- package/dist/src/shapes/Text/StyledText.d.ts +126 -0
- package/dist/src/shapes/Text/StyledText.d.ts.map +1 -0
- package/dist/src/shapes/Text/StyledText.min.mjs +2 -0
- package/dist/src/shapes/Text/StyledText.min.mjs.map +1 -0
- package/dist/src/shapes/Text/StyledText.mjs +291 -0
- package/dist/src/shapes/Text/StyledText.mjs.map +1 -0
- package/dist/src/shapes/Text/Text.d.ts +761 -0
- package/dist/src/shapes/Text/Text.d.ts.map +1 -0
- package/dist/src/shapes/Text/Text.min.mjs +2 -0
- package/dist/src/shapes/Text/Text.min.mjs.map +1 -0
- package/dist/src/shapes/Text/Text.mjs +1475 -0
- package/dist/src/shapes/Text/Text.mjs.map +1 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +40 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +2 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs +245 -0
- package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -0
- package/dist/src/shapes/Text/constants.d.ts +14 -0
- package/dist/src/shapes/Text/constants.d.ts.map +1 -0
- package/dist/src/shapes/Text/constants.min.mjs +2 -0
- package/dist/src/shapes/Text/constants.min.mjs.map +1 -0
- package/dist/src/shapes/Text/constants.mjs +74 -0
- package/dist/src/shapes/Text/constants.mjs.map +1 -0
- package/dist/src/shapes/Textbox.d.ts +233 -0
- package/dist/src/shapes/Textbox.d.ts.map +1 -0
- package/dist/src/shapes/Textbox.min.mjs +2 -0
- package/dist/src/shapes/Textbox.min.mjs.map +1 -0
- package/dist/src/shapes/Textbox.mjs +585 -0
- package/dist/src/shapes/Textbox.mjs.map +1 -0
- package/dist/src/shapes/Triangle.d.ts +27 -0
- package/dist/src/shapes/Triangle.d.ts.map +1 -0
- package/dist/src/shapes/Triangle.min.mjs +2 -0
- package/dist/src/shapes/Triangle.min.mjs.map +1 -0
- package/dist/src/shapes/Triangle.mjs +60 -0
- package/dist/src/shapes/Triangle.mjs.map +1 -0
- package/dist/src/text/browserLines.d.ts +42 -0
- package/dist/src/text/browserLines.d.ts.map +1 -0
- package/dist/src/text/browserLines.min.mjs +2 -0
- package/dist/src/text/browserLines.min.mjs.map +1 -0
- package/dist/src/text/browserLines.mjs +168 -0
- package/dist/src/text/browserLines.mjs.map +1 -0
- package/dist/src/text/ellipsis.d.ts +47 -0
- package/dist/src/text/ellipsis.d.ts.map +1 -0
- package/dist/src/text/ellipsis.min.mjs +2 -0
- package/dist/src/text/ellipsis.min.mjs.map +1 -0
- package/dist/src/text/ellipsis.mjs +182 -0
- package/dist/src/text/ellipsis.mjs.map +1 -0
- package/dist/src/text/hitTest.d.ts +82 -0
- package/dist/src/text/hitTest.d.ts.map +1 -0
- package/dist/src/text/hitTest.min.mjs +2 -0
- package/dist/src/text/hitTest.min.mjs.map +1 -0
- package/dist/src/text/hitTest.mjs +309 -0
- package/dist/src/text/hitTest.mjs.map +1 -0
- package/dist/src/text/layout.d.ts +66 -0
- package/dist/src/text/layout.d.ts.map +1 -0
- package/dist/src/text/layout.min.mjs +2 -0
- package/dist/src/text/layout.min.mjs.map +1 -0
- package/dist/src/text/layout.mjs +454 -0
- package/dist/src/text/layout.mjs.map +1 -0
- package/dist/src/text/measure.d.ts +131 -0
- package/dist/src/text/measure.d.ts.map +1 -0
- package/dist/src/text/measure.min.mjs +2 -0
- package/dist/src/text/measure.min.mjs.map +1 -0
- package/dist/src/text/measure.mjs +316 -0
- package/dist/src/text/measure.mjs.map +1 -0
- package/dist/src/text/overlayEditor.d.ts +113 -0
- package/dist/src/text/overlayEditor.d.ts.map +1 -0
- package/dist/src/text/overlayEditor.min.mjs +2 -0
- package/dist/src/text/overlayEditor.min.mjs.map +1 -0
- package/dist/src/text/overlayEditor.mjs +553 -0
- package/dist/src/text/overlayEditor.mjs.map +1 -0
- package/dist/src/text/unicode.d.ts +106 -0
- package/dist/src/text/unicode.d.ts.map +1 -0
- package/dist/src/text/unicode.min.mjs +2 -0
- package/dist/src/text/unicode.min.mjs.map +1 -0
- package/dist/src/text/unicode.mjs +34 -0
- package/dist/src/text/unicode.mjs.map +1 -0
- package/dist/src/typedefs.d.ts +99 -0
- package/dist/src/typedefs.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist/src/util/animation/AnimationBase.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationBase.min.mjs +2 -0
- package/dist/src/util/animation/AnimationBase.min.mjs.map +1 -0
- package/dist/src/util/animation/AnimationBase.mjs +128 -0
- package/dist/src/util/animation/AnimationBase.mjs.map +1 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts +3 -0
- package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs +2 -0
- package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +1 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs +11 -0
- package/dist/src/util/animation/AnimationFrameProvider.mjs.map +1 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist/src/util/animation/AnimationRegistry.d.ts.map +1 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs +2 -0
- package/dist/src/util/animation/AnimationRegistry.min.mjs.map +1 -0
- package/dist/src/util/animation/AnimationRegistry.mjs +55 -0
- package/dist/src/util/animation/AnimationRegistry.mjs.map +1 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist/src/util/animation/ArrayAnimation.d.ts.map +1 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs +2 -0
- package/dist/src/util/animation/ArrayAnimation.min.mjs.map +1 -0
- package/dist/src/util/animation/ArrayAnimation.mjs +26 -0
- package/dist/src/util/animation/ArrayAnimation.mjs.map +1 -0
- package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist/src/util/animation/ColorAnimation.d.ts.map +1 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs +2 -0
- package/dist/src/util/animation/ColorAnimation.min.mjs.map +1 -0
- package/dist/src/util/animation/ColorAnimation.mjs +47 -0
- package/dist/src/util/animation/ColorAnimation.mjs.map +1 -0
- package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist/src/util/animation/ValueAnimation.d.ts.map +1 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs +2 -0
- package/dist/src/util/animation/ValueAnimation.min.mjs.map +1 -0
- package/dist/src/util/animation/ValueAnimation.mjs +26 -0
- package/dist/src/util/animation/ValueAnimation.mjs.map +1 -0
- package/dist/src/util/animation/animate.d.ts +37 -0
- package/dist/src/util/animation/animate.d.ts.map +1 -0
- package/dist/src/util/animation/animate.min.mjs +2 -0
- package/dist/src/util/animation/animate.min.mjs.map +1 -0
- package/dist/src/util/animation/animate.mjs +48 -0
- package/dist/src/util/animation/animate.mjs.map +1 -0
- package/dist/src/util/animation/easing.d.ts +130 -0
- package/dist/src/util/animation/easing.d.ts.map +1 -0
- package/dist/src/util/animation/easing.min.mjs +2 -0
- package/dist/src/util/animation/easing.min.mjs.map +1 -0
- package/dist/src/util/animation/easing.mjs +315 -0
- package/dist/src/util/animation/easing.mjs.map +1 -0
- package/dist/src/util/animation/index.d.ts +3 -0
- package/dist/src/util/animation/index.d.ts.map +1 -0
- package/dist/src/util/animation/types.d.ts +87 -0
- package/dist/src/util/animation/types.d.ts.map +1 -0
- package/dist/src/util/applyMixins.d.ts +8 -0
- package/dist/src/util/applyMixins.d.ts.map +1 -0
- package/dist/src/util/applyMixins.min.mjs +2 -0
- package/dist/src/util/applyMixins.min.mjs.map +1 -0
- package/dist/src/util/applyMixins.mjs +14 -0
- package/dist/src/util/applyMixins.mjs.map +1 -0
- package/dist/src/util/dom_event.d.ts +6 -0
- package/dist/src/util/dom_event.d.ts.map +1 -0
- package/dist/src/util/dom_event.min.mjs +2 -0
- package/dist/src/util/dom_event.min.mjs.map +1 -0
- package/dist/src/util/dom_event.mjs +25 -0
- package/dist/src/util/dom_event.mjs.map +1 -0
- package/dist/src/util/dom_misc.d.ts +12 -0
- package/dist/src/util/dom_misc.d.ts.map +1 -0
- package/dist/src/util/dom_misc.min.mjs +2 -0
- package/dist/src/util/dom_misc.min.mjs.map +1 -0
- package/dist/src/util/dom_misc.mjs +51 -0
- package/dist/src/util/dom_misc.mjs.map +1 -0
- package/dist/src/util/index.d.ts +35 -0
- package/dist/src/util/index.d.ts.map +1 -0
- package/dist/src/util/index.min.mjs +2 -0
- package/dist/src/util/index.min.mjs.map +1 -0
- package/dist/src/util/index.mjs +33 -0
- package/dist/src/util/index.mjs.map +1 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts +11 -0
- package/dist/src/util/internals/applyCanvasTransform.d.ts.map +1 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs +2 -0
- package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +1 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs +17 -0
- package/dist/src/util/internals/applyCanvasTransform.mjs.map +1 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts +2 -0
- package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +1 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +2 -0
- package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +1 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs +9 -0
- package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +1 -0
- package/dist/src/util/internals/cloneStyles.d.ts +3 -0
- package/dist/src/util/internals/cloneStyles.d.ts.map +1 -0
- package/dist/src/util/internals/cloneStyles.min.mjs +2 -0
- package/dist/src/util/internals/cloneStyles.min.mjs.map +1 -0
- package/dist/src/util/internals/cloneStyles.mjs +15 -0
- package/dist/src/util/internals/cloneStyles.mjs.map +1 -0
- package/dist/src/util/internals/console.d.ts +8 -0
- package/dist/src/util/internals/console.d.ts.map +1 -0
- package/dist/src/util/internals/console.min.mjs +2 -0
- package/dist/src/util/internals/console.min.mjs.map +1 -0
- package/dist/src/util/internals/console.mjs +22 -0
- package/dist/src/util/internals/console.mjs.map +1 -0
- package/dist/src/util/internals/dom_style.d.ts +7 -0
- package/dist/src/util/internals/dom_style.d.ts.map +1 -0
- package/dist/src/util/internals/dom_style.min.mjs +2 -0
- package/dist/src/util/internals/dom_style.min.mjs.map +1 -0
- package/dist/src/util/internals/dom_style.mjs +20 -0
- package/dist/src/util/internals/dom_style.mjs.map +1 -0
- package/dist/src/util/internals/findRight.d.ts +2 -0
- package/dist/src/util/internals/findRight.d.ts.map +1 -0
- package/dist/src/util/internals/findRight.min.mjs +2 -0
- package/dist/src/util/internals/findRight.min.mjs.map +1 -0
- package/dist/src/util/internals/findRight.mjs +11 -0
- package/dist/src/util/internals/findRight.mjs.map +1 -0
- package/dist/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist/src/util/internals/getRandomInt.d.ts.map +1 -0
- package/dist/src/util/internals/getRandomInt.min.mjs +2 -0
- package/dist/src/util/internals/getRandomInt.min.mjs.map +1 -0
- package/dist/src/util/internals/getRandomInt.mjs +10 -0
- package/dist/src/util/internals/getRandomInt.mjs.map +1 -0
- package/dist/src/util/internals/ifNaN.d.ts +8 -0
- package/dist/src/util/internals/ifNaN.d.ts.map +1 -0
- package/dist/src/util/internals/ifNaN.min.mjs +2 -0
- package/dist/src/util/internals/ifNaN.min.mjs.map +1 -0
- package/dist/src/util/internals/ifNaN.mjs +12 -0
- package/dist/src/util/internals/ifNaN.mjs.map +1 -0
- package/dist/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist/src/util/internals/removeFromArray.d.ts.map +1 -0
- package/dist/src/util/internals/removeFromArray.min.mjs +2 -0
- package/dist/src/util/internals/removeFromArray.min.mjs.map +1 -0
- package/dist/src/util/internals/removeFromArray.mjs +17 -0
- package/dist/src/util/internals/removeFromArray.mjs.map +1 -0
- package/dist/src/util/internals/uid.d.ts +2 -0
- package/dist/src/util/internals/uid.d.ts.map +1 -0
- package/dist/src/util/internals/uid.min.mjs +2 -0
- package/dist/src/util/internals/uid.min.mjs.map +1 -0
- package/dist/src/util/internals/uid.mjs +5 -0
- package/dist/src/util/internals/uid.mjs.map +1 -0
- package/dist/src/util/lang_string.d.ts +22 -0
- package/dist/src/util/lang_string.d.ts.map +1 -0
- package/dist/src/util/lang_string.min.mjs +2 -0
- package/dist/src/util/lang_string.min.mjs.map +1 -0
- package/dist/src/util/lang_string.mjs +102 -0
- package/dist/src/util/lang_string.mjs.map +1 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +2 -0
- package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +1 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs +30 -0
- package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +1 -0
- package/dist/src/util/misc/capValue.d.ts +2 -0
- package/dist/src/util/misc/capValue.d.ts.map +1 -0
- package/dist/src/util/misc/capValue.min.mjs +2 -0
- package/dist/src/util/misc/capValue.min.mjs.map +1 -0
- package/dist/src/util/misc/capValue.mjs +4 -0
- package/dist/src/util/misc/capValue.mjs.map +1 -0
- package/dist/src/util/misc/cos.d.ts +10 -0
- package/dist/src/util/misc/cos.d.ts.map +1 -0
- package/dist/src/util/misc/cos.min.mjs +2 -0
- package/dist/src/util/misc/cos.min.mjs.map +1 -0
- package/dist/src/util/misc/cos.mjs +26 -0
- package/dist/src/util/misc/cos.mjs.map +1 -0
- package/dist/src/util/misc/dom.d.ts +35 -0
- package/dist/src/util/misc/dom.d.ts.map +1 -0
- package/dist/src/util/misc/dom.min.mjs +2 -0
- package/dist/src/util/misc/dom.min.mjs.map +1 -0
- package/dist/src/util/misc/dom.mjs +63 -0
- package/dist/src/util/misc/dom.mjs.map +1 -0
- package/dist/src/util/misc/findScaleTo.d.ts +20 -0
- package/dist/src/util/misc/findScaleTo.d.ts.map +1 -0
- package/dist/src/util/misc/findScaleTo.min.mjs +2 -0
- package/dist/src/util/misc/findScaleTo.min.mjs.map +1 -0
- package/dist/src/util/misc/findScaleTo.mjs +22 -0
- package/dist/src/util/misc/findScaleTo.mjs.map +1 -0
- package/dist/src/util/misc/groupSVGElements.d.ts +10 -0
- package/dist/src/util/misc/groupSVGElements.d.ts.map +1 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs +2 -0
- package/dist/src/util/misc/groupSVGElements.min.mjs.map +1 -0
- package/dist/src/util/misc/groupSVGElements.mjs +17 -0
- package/dist/src/util/misc/groupSVGElements.mjs.map +1 -0
- package/dist/src/util/misc/isTransparent.d.ts +11 -0
- package/dist/src/util/misc/isTransparent.d.ts.map +1 -0
- package/dist/src/util/misc/isTransparent.min.mjs +2 -0
- package/dist/src/util/misc/isTransparent.min.mjs.map +1 -0
- package/dist/src/util/misc/isTransparent.mjs +28 -0
- package/dist/src/util/misc/isTransparent.mjs.map +1 -0
- package/dist/src/util/misc/matrix.d.ts +170 -0
- package/dist/src/util/misc/matrix.d.ts.map +1 -0
- package/dist/src/util/misc/matrix.min.mjs +2 -0
- package/dist/src/util/misc/matrix.min.mjs.map +1 -0
- package/dist/src/util/misc/matrix.mjs +249 -0
- package/dist/src/util/misc/matrix.mjs.map +1 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts +22 -0
- package/dist/src/util/misc/mergeClipPaths.d.ts.map +1 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs +2 -0
- package/dist/src/util/misc/mergeClipPaths.min.mjs.map +1 -0
- package/dist/src/util/misc/mergeClipPaths.mjs +46 -0
- package/dist/src/util/misc/mergeClipPaths.mjs.map +1 -0
- package/dist/src/util/misc/objectEnlive.d.ts +45 -0
- package/dist/src/util/misc/objectEnlive.d.ts.map +1 -0
- package/dist/src/util/misc/objectEnlive.min.mjs +2 -0
- package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -0
- package/dist/src/util/misc/objectEnlive.mjs +145 -0
- package/dist/src/util/misc/objectEnlive.mjs.map +1 -0
- package/dist/src/util/misc/objectTransforms.d.ts +62 -0
- package/dist/src/util/misc/objectTransforms.d.ts.map +1 -0
- package/dist/src/util/misc/objectTransforms.min.mjs +2 -0
- package/dist/src/util/misc/objectTransforms.min.mjs.map +1 -0
- package/dist/src/util/misc/objectTransforms.mjs +105 -0
- package/dist/src/util/misc/objectTransforms.mjs.map +1 -0
- package/dist/src/util/misc/pick.d.ts +9 -0
- package/dist/src/util/misc/pick.d.ts.map +1 -0
- package/dist/src/util/misc/pick.min.mjs +2 -0
- package/dist/src/util/misc/pick.min.mjs.map +1 -0
- package/dist/src/util/misc/pick.mjs +26 -0
- package/dist/src/util/misc/pick.mjs.map +1 -0
- package/dist/src/util/misc/planeChange.d.ts +64 -0
- package/dist/src/util/misc/planeChange.d.ts.map +1 -0
- package/dist/src/util/misc/planeChange.min.mjs +2 -0
- package/dist/src/util/misc/planeChange.min.mjs.map +1 -0
- package/dist/src/util/misc/planeChange.mjs +86 -0
- package/dist/src/util/misc/planeChange.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +52 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +111 -0
- package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +90 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +230 -0
- package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +27 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +44 -0
- package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/index.d.ts +12 -0
- package/dist/src/util/misc/projectStroke/index.d.ts.map +1 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs +2 -0
- package/dist/src/util/misc/projectStroke/index.min.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/index.mjs +60 -0
- package/dist/src/util/misc/projectStroke/index.mjs.map +1 -0
- package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist/src/util/misc/projectStroke/types.d.ts.map +1 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +1 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs +2 -0
- package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +1 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs +18 -0
- package/dist/src/util/misc/radiansDegreesConversion.mjs.map +1 -0
- package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist/src/util/misc/resolveOrigin.d.ts.map +1 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs +2 -0
- package/dist/src/util/misc/resolveOrigin.min.mjs.map +1 -0
- package/dist/src/util/misc/resolveOrigin.mjs +18 -0
- package/dist/src/util/misc/resolveOrigin.mjs.map +1 -0
- package/dist/src/util/misc/sin.d.ts +10 -0
- package/dist/src/util/misc/sin.d.ts.map +1 -0
- package/dist/src/util/misc/sin.min.mjs +2 -0
- package/dist/src/util/misc/sin.min.mjs.map +1 -0
- package/dist/src/util/misc/sin.mjs +28 -0
- package/dist/src/util/misc/sin.mjs.map +1 -0
- package/dist/src/util/misc/svgExport.d.ts +8 -0
- package/dist/src/util/misc/svgExport.d.ts.map +1 -0
- package/dist/src/util/misc/svgExport.min.mjs +2 -0
- package/dist/src/util/misc/svgExport.min.mjs.map +1 -0
- package/dist/src/util/misc/svgExport.mjs +12 -0
- package/dist/src/util/misc/svgExport.mjs.map +1 -0
- package/dist/src/util/misc/svgParsing.d.ts +40 -0
- package/dist/src/util/misc/svgParsing.d.ts.map +1 -0
- package/dist/src/util/misc/svgParsing.min.mjs +2 -0
- package/dist/src/util/misc/svgParsing.min.mjs.map +1 -0
- package/dist/src/util/misc/svgParsing.mjs +128 -0
- package/dist/src/util/misc/svgParsing.mjs.map +1 -0
- package/dist/src/util/misc/textStyles.d.ts +32 -0
- package/dist/src/util/misc/textStyles.d.ts.map +1 -0
- package/dist/src/util/misc/textStyles.min.mjs +2 -0
- package/dist/src/util/misc/textStyles.min.mjs.map +1 -0
- package/dist/src/util/misc/textStyles.mjs +107 -0
- package/dist/src/util/misc/textStyles.mjs.map +1 -0
- package/dist/src/util/misc/toFixed.d.ts +8 -0
- package/dist/src/util/misc/toFixed.d.ts.map +1 -0
- package/dist/src/util/misc/toFixed.min.mjs +2 -0
- package/dist/src/util/misc/toFixed.min.mjs.map +1 -0
- package/dist/src/util/misc/toFixed.mjs +10 -0
- package/dist/src/util/misc/toFixed.mjs.map +1 -0
- package/dist/src/util/misc/vectors.d.ts +72 -0
- package/dist/src/util/misc/vectors.d.ts.map +1 -0
- package/dist/src/util/misc/vectors.min.mjs +2 -0
- package/dist/src/util/misc/vectors.min.mjs.map +1 -0
- package/dist/src/util/misc/vectors.mjs +94 -0
- package/dist/src/util/misc/vectors.mjs.map +1 -0
- package/dist/src/util/path/index.d.ts +95 -0
- package/dist/src/util/path/index.d.ts.map +1 -0
- package/dist/src/util/path/index.min.mjs +2 -0
- package/dist/src/util/path/index.min.mjs.map +1 -0
- package/dist/src/util/path/index.mjs +826 -0
- package/dist/src/util/path/index.mjs.map +1 -0
- package/dist/src/util/path/regex.d.ts +3 -0
- package/dist/src/util/path/regex.d.ts.map +1 -0
- package/dist/src/util/path/regex.min.mjs +2 -0
- package/dist/src/util/path/regex.min.mjs.map +1 -0
- package/dist/src/util/path/regex.mjs +49 -0
- package/dist/src/util/path/regex.mjs.map +1 -0
- package/dist/src/util/path/typechecks.d.ts +24 -0
- package/dist/src/util/path/typechecks.d.ts.map +1 -0
- package/dist/src/util/path/typedefs.d.ts +222 -0
- package/dist/src/util/path/typedefs.d.ts.map +1 -0
- package/dist/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist/src/util/transform_matrix_removal.d.ts.map +1 -0
- package/dist/src/util/transform_matrix_removal.min.mjs +2 -0
- package/dist/src/util/transform_matrix_removal.min.mjs.map +1 -0
- package/dist/src/util/transform_matrix_removal.mjs +55 -0
- package/dist/src/util/transform_matrix_removal.mjs.map +1 -0
- package/dist/src/util/typeAssertions.d.ts +13 -0
- package/dist/src/util/typeAssertions.d.ts.map +1 -0
- package/dist/src/util/typeAssertions.min.mjs +2 -0
- package/dist/src/util/typeAssertions.min.mjs.map +1 -0
- package/dist/src/util/typeAssertions.mjs +21 -0
- package/dist/src/util/typeAssertions.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/constant.mjs +11 -0
- package/dist-extensions/aligning_guidelines/constant.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/index.mjs +130 -0
- package/dist-extensions/aligning_guidelines/index.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs +11 -0
- package/dist-extensions/aligning_guidelines/util/basic.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs +193 -0
- package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs +102 -0
- package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs +75 -0
- package/dist-extensions/aligning_guidelines/util/draw.mjs.map +1 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +42 -0
- package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +1 -0
- package/dist-extensions/data_updaters/gradient/index.mjs +54 -0
- package/dist-extensions/data_updaters/gradient/index.mjs.map +1 -0
- package/dist-extensions/data_updaters/origins/index.mjs +51 -0
- package/dist-extensions/data_updaters/origins/index.mjs.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +3 -0
- package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts +5 -0
- package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +33 -0
- package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +4 -0
- package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +13 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +20 -0
- package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +6 -0
- package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +1 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +3 -0
- package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +1 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +11 -0
- package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +1 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts +21 -0
- package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +1 -0
- package/dist-extensions/extensions/index.d.ts +4 -0
- package/dist-extensions/extensions/index.d.ts.map +1 -0
- package/dist-extensions/fabric-extensions.min.js +2 -0
- package/dist-extensions/fabric-extensions.min.js.map +1 -0
- package/dist-extensions/fabric.d.ts +115 -0
- package/dist-extensions/fabric.d.ts.map +1 -0
- package/dist-extensions/index.d.ts +2 -0
- package/dist-extensions/index.d.ts.map +1 -0
- package/dist-extensions/index.mjs +4 -0
- package/dist-extensions/index.mjs.map +1 -0
- package/dist-extensions/src/ClassRegistry.d.ts +14 -0
- package/dist-extensions/src/ClassRegistry.d.ts.map +1 -0
- package/dist-extensions/src/Collection.d.ts +141 -0
- package/dist-extensions/src/Collection.d.ts.map +1 -0
- package/dist-extensions/src/CommonMethods.d.ts +32 -0
- package/dist-extensions/src/CommonMethods.d.ts.map +1 -0
- package/dist-extensions/src/EventTypeDefs.d.ts +270 -0
- package/dist-extensions/src/EventTypeDefs.d.ts.map +1 -0
- package/dist-extensions/src/Intersection.d.ts +112 -0
- package/dist-extensions/src/Intersection.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +22 -0
- package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +56 -0
- package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +13 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +14 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +14 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +30 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +10 -0
- package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts +7 -0
- package/dist-extensions/src/LayoutManager/constants.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/index.d.ts +7 -0
- package/dist-extensions/src/LayoutManager/index.d.ts.map +1 -0
- package/dist-extensions/src/LayoutManager/types.d.ts +106 -0
- package/dist-extensions/src/LayoutManager/types.d.ts.map +1 -0
- package/dist-extensions/src/Observable.d.ts +68 -0
- package/dist-extensions/src/Observable.d.ts.map +1 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts +95 -0
- package/dist-extensions/src/Pattern/Pattern.d.ts.map +1 -0
- package/dist-extensions/src/Pattern/index.d.ts +3 -0
- package/dist-extensions/src/Pattern/index.d.ts.map +1 -0
- package/dist-extensions/src/Pattern/types.d.ts +12 -0
- package/dist-extensions/src/Pattern/types.d.ts.map +1 -0
- package/dist-extensions/src/Point.d.ts +219 -0
- package/dist-extensions/src/Point.d.ts.map +1 -0
- package/dist-extensions/src/Shadow.d.ts +89 -0
- package/dist-extensions/src/Shadow.d.ts.map +1 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts +94 -0
- package/dist-extensions/src/brushes/BaseBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts +43 -0
- package/dist-extensions/src/brushes/CircleBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts +23 -0
- package/dist-extensions/src/brushes/PatternBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts +92 -0
- package/dist-extensions/src/brushes/PencilBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts +68 -0
- package/dist-extensions/src/brushes/SprayBrush.d.ts.map +1 -0
- package/dist-extensions/src/brushes/typedefs.d.ts +18 -0
- package/dist-extensions/src/brushes/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/cache.d.ts +47 -0
- package/dist-extensions/src/cache.d.ts.map +1 -0
- package/dist-extensions/src/canvas/Canvas.d.ts +334 -0
- package/dist-extensions/src/canvas/Canvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts +210 -0
- package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +1 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +30 -0
- package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +1 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +29 -0
- package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +1 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts +23 -0
- package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +1 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts +544 -0
- package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts +596 -0
- package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +142 -0
- package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +1 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts +21 -0
- package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +1 -0
- package/dist-extensions/src/color/Color.d.ts +146 -0
- package/dist-extensions/src/color/Color.d.ts.map +1 -0
- package/dist-extensions/src/color/color_map.d.ts +155 -0
- package/dist-extensions/src/color/color_map.d.ts.map +1 -0
- package/dist-extensions/src/color/constants.d.ts +111 -0
- package/dist-extensions/src/color/constants.d.ts.map +1 -0
- package/dist-extensions/src/color/typedefs.d.ts +16 -0
- package/dist-extensions/src/color/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/color/util.d.ts +27 -0
- package/dist-extensions/src/color/util.d.ts.map +1 -0
- package/dist-extensions/src/config.d.ts +113 -0
- package/dist-extensions/src/config.d.ts.map +1 -0
- package/dist-extensions/src/constants.d.ts +36 -0
- package/dist-extensions/src/constants.d.ts.map +1 -0
- package/dist-extensions/src/controls/Control.d.ts +229 -0
- package/dist-extensions/src/controls/Control.d.ts.map +1 -0
- package/dist-extensions/src/controls/changeHeight.d.ts +13 -0
- package/dist-extensions/src/controls/changeHeight.d.ts.map +1 -0
- package/dist-extensions/src/controls/changeWidth.d.ts +13 -0
- package/dist-extensions/src/controls/changeWidth.d.ts.map +1 -0
- package/dist-extensions/src/controls/commonControls.d.ts +26 -0
- package/dist-extensions/src/controls/commonControls.d.ts.map +1 -0
- package/dist-extensions/src/controls/controlRendering.d.ts +29 -0
- package/dist-extensions/src/controls/controlRendering.d.ts.map +1 -0
- package/dist-extensions/src/controls/drag.d.ts +12 -0
- package/dist-extensions/src/controls/drag.d.ts.map +1 -0
- package/dist-extensions/src/controls/fireEvent.d.ts +3 -0
- package/dist-extensions/src/controls/fireEvent.d.ts.map +1 -0
- package/dist-extensions/src/controls/index.d.ts +14 -0
- package/dist-extensions/src/controls/index.d.ts.map +1 -0
- package/dist-extensions/src/controls/pathControl.d.ts +12 -0
- package/dist-extensions/src/controls/pathControl.d.ts.map +1 -0
- package/dist-extensions/src/controls/polyControl.d.ts +30 -0
- package/dist-extensions/src/controls/polyControl.d.ts.map +1 -0
- package/dist-extensions/src/controls/rotate.d.ts +12 -0
- package/dist-extensions/src/controls/rotate.d.ts.map +1 -0
- package/dist-extensions/src/controls/scale.d.ts +47 -0
- package/dist-extensions/src/controls/scale.d.ts.map +1 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts +39 -0
- package/dist-extensions/src/controls/scaleSkew.d.ts.map +1 -0
- package/dist-extensions/src/controls/skew.d.ts +33 -0
- package/dist-extensions/src/controls/skew.d.ts.map +1 -0
- package/dist-extensions/src/controls/util.d.ts +42 -0
- package/dist-extensions/src/controls/util.d.ts.map +1 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +10 -0
- package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +1 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +9 -0
- package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +1 -0
- package/dist-extensions/src/env/browser.d.ts +3 -0
- package/dist-extensions/src/env/browser.d.ts.map +1 -0
- package/dist-extensions/src/env/index.d.ts +34 -0
- package/dist-extensions/src/env/index.d.ts.map +1 -0
- package/dist-extensions/src/env/types.d.ts +16 -0
- package/dist-extensions/src/env/types.d.ts.map +1 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts +153 -0
- package/dist-extensions/src/filters/BaseFilter.d.ts.map +1 -0
- package/dist-extensions/src/filters/BlendColor.d.ts +65 -0
- package/dist-extensions/src/filters/BlendColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/BlendImage.d.ts +97 -0
- package/dist-extensions/src/filters/BlendImage.d.ts.map +1 -0
- package/dist-extensions/src/filters/Blur.d.ts +49 -0
- package/dist-extensions/src/filters/Blur.d.ts.map +1 -0
- package/dist-extensions/src/filters/Brightness.d.ts +45 -0
- package/dist-extensions/src/filters/Brightness.d.ts.map +1 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +27 -0
- package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +1 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts +62 -0
- package/dist-extensions/src/filters/ColorMatrix.d.ts.map +1 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +15 -0
- package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +1 -0
- package/dist-extensions/src/filters/Composed.d.ts +51 -0
- package/dist-extensions/src/filters/Composed.d.ts.map +1 -0
- package/dist-extensions/src/filters/Contrast.d.ts +44 -0
- package/dist-extensions/src/filters/Contrast.d.ts.map +1 -0
- package/dist-extensions/src/filters/Convolute.d.ts +81 -0
- package/dist-extensions/src/filters/Convolute.d.ts.map +1 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts +15 -0
- package/dist-extensions/src/filters/FilterBackend.d.ts.map +1 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +7 -0
- package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +1 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
- package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +1 -0
- package/dist-extensions/src/filters/Gamma.d.ts +57 -0
- package/dist-extensions/src/filters/Gamma.d.ts.map +1 -0
- package/dist-extensions/src/filters/Grayscale.d.ts +44 -0
- package/dist-extensions/src/filters/Grayscale.d.ts.map +1 -0
- package/dist-extensions/src/filters/HueRotation.d.ts +34 -0
- package/dist-extensions/src/filters/HueRotation.d.ts.map +1 -0
- package/dist-extensions/src/filters/Invert.d.ts +51 -0
- package/dist-extensions/src/filters/Invert.d.ts.map +1 -0
- package/dist-extensions/src/filters/Noise.d.ts +43 -0
- package/dist-extensions/src/filters/Noise.d.ts.map +1 -0
- package/dist-extensions/src/filters/Pixelate.d.ts +41 -0
- package/dist-extensions/src/filters/Pixelate.d.ts.map +1 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts +51 -0
- package/dist-extensions/src/filters/RemoveColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/Resize.d.ts +134 -0
- package/dist-extensions/src/filters/Resize.d.ts.map +1 -0
- package/dist-extensions/src/filters/Saturation.d.ts +45 -0
- package/dist-extensions/src/filters/Saturation.d.ts.map +1 -0
- package/dist-extensions/src/filters/Vibrance.d.ts +45 -0
- package/dist-extensions/src/filters/Vibrance.d.ts.map +1 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +131 -0
- package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +1 -0
- package/dist-extensions/src/filters/filters.d.ts +23 -0
- package/dist-extensions/src/filters/filters.d.ts.map +1 -0
- package/dist-extensions/src/filters/index.d.ts +7 -0
- package/dist-extensions/src/filters/index.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts +4 -0
- package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts +13 -0
- package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts +4 -0
- package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/blur.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/brightness.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/constrast.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts +11 -0
- package/dist-extensions/src/filters/shaders/convolute.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/gamma.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts +3 -0
- package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/invert.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/noise.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/saturation.d.ts.map +1 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts +2 -0
- package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +1 -0
- package/dist-extensions/src/filters/typedefs.d.ts +70 -0
- package/dist-extensions/src/filters/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/filters/utils.d.ts +10 -0
- package/dist-extensions/src/filters/utils.d.ts.map +1 -0
- package/dist-extensions/src/gradient/Gradient.d.ts +142 -0
- package/dist-extensions/src/gradient/Gradient.d.ts.map +1 -0
- package/dist-extensions/src/gradient/constants.d.ts +15 -0
- package/dist-extensions/src/gradient/constants.d.ts.map +1 -0
- package/dist-extensions/src/gradient/index.d.ts +3 -0
- package/dist-extensions/src/gradient/index.d.ts.map +1 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts +4 -0
- package/dist-extensions/src/gradient/parser/misc.d.ts.map +1 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +3 -0
- package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +1 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts +17 -0
- package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +1 -0
- package/dist-extensions/src/gradient/typedefs.d.ts +93 -0
- package/dist-extensions/src/gradient/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts +13 -0
- package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +1 -0
- package/dist-extensions/src/parser/attributes.d.ts +6 -0
- package/dist-extensions/src/parser/attributes.d.ts.map +1 -0
- package/dist-extensions/src/parser/constants.d.ts +42 -0
- package/dist-extensions/src/parser/constants.d.ts.map +1 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +2 -0
- package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +1 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts +5 -0
- package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +1 -0
- package/dist-extensions/src/parser/elements_parser.d.ts +33 -0
- package/dist-extensions/src/parser/elements_parser.d.ts.map +1 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts +8 -0
- package/dist-extensions/src/parser/getCSSRules.d.ts.map +1 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +6 -0
- package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +1 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts +7 -0
- package/dist-extensions/src/parser/getGradientDefs.d.ts.map +1 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts +2 -0
- package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +1 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts +2 -0
- package/dist-extensions/src/parser/getSvgRegex.d.ts.map +1 -0
- package/dist-extensions/src/parser/getTagName.d.ts +2 -0
- package/dist-extensions/src/parser/getTagName.d.ts.map +1 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +2 -0
- package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +1 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts +17 -0
- package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +1 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts +18 -0
- package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +1 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts +3 -0
- package/dist-extensions/src/parser/normalizeAttr.d.ts.map +1 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts +2 -0
- package/dist-extensions/src/parser/normalizeValue.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts +10 -0
- package/dist-extensions/src/parser/parseAttributes.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts +7 -0
- package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +1 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts +8 -0
- package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts +19 -0
- package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts +7 -0
- package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts +8 -0
- package/dist-extensions/src/parser/parseStyleObject.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts +8 -0
- package/dist-extensions/src/parser/parseStyleString.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts +8 -0
- package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +1 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts +2 -0
- package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +1 -0
- package/dist-extensions/src/parser/percent.d.ts +9 -0
- package/dist-extensions/src/parser/percent.d.ts.map +1 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
- package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +1 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts +2 -0
- package/dist-extensions/src/parser/selectorMatches.d.ts.map +1 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +6 -0
- package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +1 -0
- package/dist-extensions/src/parser/typedefs.d.ts +10 -0
- package/dist-extensions/src/parser/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts +105 -0
- package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Circle.d.ts +107 -0
- package/dist-extensions/src/shapes/Circle.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts +82 -0
- package/dist-extensions/src/shapes/Ellipse.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Group.d.ts +301 -0
- package/dist-extensions/src/shapes/Group.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
- package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts +347 -0
- package/dist-extensions/src/shapes/IText/IText.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +321 -0
- package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +63 -0
- package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +197 -0
- package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +1 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts +13 -0
- package/dist-extensions/src/shapes/IText/constants.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Image.d.ts +296 -0
- package/dist-extensions/src/shapes/Image.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Line.d.ts +118 -0
- package/dist-extensions/src/shapes/Line.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts +11 -0
- package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +72 -0
- package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +317 -0
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts +716 -0
- package/dist-extensions/src/shapes/Object/Object.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +338 -0
- package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts +8 -0
- package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +92 -0
- package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +37 -0
- package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +63 -0
- package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +62 -0
- package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +78 -0
- package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +43 -0
- package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +41 -0
- package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +32 -0
- package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +63 -0
- package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts +6 -0
- package/dist-extensions/src/shapes/Object/types/index.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Path.d.ts +208 -0
- package/dist-extensions/src/shapes/Path.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Polygon.d.ts +7 -0
- package/dist-extensions/src/shapes/Polygon.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Polyline.d.ts +149 -0
- package/dist-extensions/src/shapes/Polyline.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Rect.d.ts +77 -0
- package/dist-extensions/src/shapes/Rect.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts +126 -0
- package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts +761 -0
- package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +40 -0
- package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts +14 -0
- package/dist-extensions/src/shapes/Text/constants.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Textbox.d.ts +233 -0
- package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -0
- package/dist-extensions/src/shapes/Triangle.d.ts +27 -0
- package/dist-extensions/src/shapes/Triangle.d.ts.map +1 -0
- package/dist-extensions/src/text/browserLines.d.ts +42 -0
- package/dist-extensions/src/text/browserLines.d.ts.map +1 -0
- package/dist-extensions/src/text/ellipsis.d.ts +47 -0
- package/dist-extensions/src/text/ellipsis.d.ts.map +1 -0
- package/dist-extensions/src/text/hitTest.d.ts +82 -0
- package/dist-extensions/src/text/hitTest.d.ts.map +1 -0
- package/dist-extensions/src/text/layout.d.ts +66 -0
- package/dist-extensions/src/text/layout.d.ts.map +1 -0
- package/dist-extensions/src/text/measure.d.ts +131 -0
- package/dist-extensions/src/text/measure.d.ts.map +1 -0
- package/dist-extensions/src/text/overlayEditor.d.ts +113 -0
- package/dist-extensions/src/text/overlayEditor.d.ts.map +1 -0
- package/dist-extensions/src/text/unicode.d.ts +106 -0
- package/dist-extensions/src/text/unicode.d.ts.map +1 -0
- package/dist-extensions/src/typedefs.d.ts +99 -0
- package/dist-extensions/src/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts +54 -0
- package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +3 -0
- package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +29 -0
- package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +10 -0
- package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts +11 -0
- package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts +10 -0
- package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/animate.d.ts +37 -0
- package/dist-extensions/src/util/animation/animate.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/easing.d.ts +130 -0
- package/dist-extensions/src/util/animation/easing.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/index.d.ts +3 -0
- package/dist-extensions/src/util/animation/index.d.ts.map +1 -0
- package/dist-extensions/src/util/animation/types.d.ts +87 -0
- package/dist-extensions/src/util/animation/types.d.ts.map +1 -0
- package/dist-extensions/src/util/applyMixins.d.ts +8 -0
- package/dist-extensions/src/util/applyMixins.d.ts.map +1 -0
- package/dist-extensions/src/util/dom_event.d.ts +6 -0
- package/dist-extensions/src/util/dom_event.d.ts.map +1 -0
- package/dist-extensions/src/util/dom_misc.d.ts +12 -0
- package/dist-extensions/src/util/dom_misc.d.ts.map +1 -0
- package/dist-extensions/src/util/index.d.ts +35 -0
- package/dist-extensions/src/util/index.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +11 -0
- package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +2 -0
- package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts +3 -0
- package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/console.d.ts +8 -0
- package/dist-extensions/src/util/internals/console.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts +7 -0
- package/dist-extensions/src/util/internals/dom_style.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/findRight.d.ts +2 -0
- package/dist-extensions/src/util/internals/findRight.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts +8 -0
- package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts +8 -0
- package/dist-extensions/src/util/internals/ifNaN.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts +9 -0
- package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +1 -0
- package/dist-extensions/src/util/internals/uid.d.ts +2 -0
- package/dist-extensions/src/util/internals/uid.d.ts.map +1 -0
- package/dist-extensions/src/util/lang_string.d.ts +22 -0
- package/dist-extensions/src/util/lang_string.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
- package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/capValue.d.ts +2 -0
- package/dist-extensions/src/util/misc/capValue.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/cos.d.ts +10 -0
- package/dist-extensions/src/util/misc/cos.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/dom.d.ts +35 -0
- package/dist-extensions/src/util/misc/dom.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts +20 -0
- package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts +10 -0
- package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts +11 -0
- package/dist-extensions/src/util/misc/isTransparent.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/matrix.d.ts +170 -0
- package/dist-extensions/src/util/misc/matrix.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +22 -0
- package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts +45 -0
- package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts +62 -0
- package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/pick.d.ts +9 -0
- package/dist-extensions/src/util/misc/pick.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts +64 -0
- package/dist-extensions/src/util/misc/planeChange.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +52 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +90 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +27 -0
- package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts +12 -0
- package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts +23 -0
- package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +14 -0
- package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts +9 -0
- package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/sin.d.ts +10 -0
- package/dist-extensions/src/util/misc/sin.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts +8 -0
- package/dist-extensions/src/util/misc/svgExport.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts +40 -0
- package/dist-extensions/src/util/misc/svgParsing.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts +32 -0
- package/dist-extensions/src/util/misc/textStyles.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts +8 -0
- package/dist-extensions/src/util/misc/toFixed.d.ts.map +1 -0
- package/dist-extensions/src/util/misc/vectors.d.ts +72 -0
- package/dist-extensions/src/util/misc/vectors.d.ts.map +1 -0
- package/dist-extensions/src/util/path/index.d.ts +95 -0
- package/dist-extensions/src/util/path/index.d.ts.map +1 -0
- package/dist-extensions/src/util/path/regex.d.ts +3 -0
- package/dist-extensions/src/util/path/regex.d.ts.map +1 -0
- package/dist-extensions/src/util/path/typedefs.d.ts +222 -0
- package/dist-extensions/src/util/path/typedefs.d.ts.map +1 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts +14 -0
- package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +1 -0
- package/dist-extensions/src/util/typeAssertions.d.ts +13 -0
- package/dist-extensions/src/util/typeAssertions.d.ts.map +1 -0
- package/docs/fabric-konva-gap-analysis.md +274 -0
- package/docs/konva-text-behavior-spec.md +265 -0
- package/docs/text-engine-design.md +698 -0
- package/eslint.config.mjs +96 -0
- package/examples/overlay-edit.html +417 -0
- package/extensions/README.MD +27 -0
- package/extensions/aligning_guidelines/README.MD +22 -0
- package/extensions/aligning_guidelines/constant.ts +10 -0
- package/extensions/aligning_guidelines/index.ts +166 -0
- package/extensions/aligning_guidelines/typedefs.ts +36 -0
- package/extensions/aligning_guidelines/util/basic.spec.ts +32 -0
- package/extensions/aligning_guidelines/util/basic.ts +20 -0
- package/extensions/aligning_guidelines/util/collect-line.ts +172 -0
- package/extensions/aligning_guidelines/util/collect-point.ts +83 -0
- package/extensions/aligning_guidelines/util/draw.ts +74 -0
- package/extensions/aligning_guidelines/util/get-objects-by-target.ts +45 -0
- package/extensions/data_updaters/README.md +9 -0
- package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +75 -0
- package/extensions/data_updaters/gradient/index.spec.ts +126 -0
- package/extensions/data_updaters/gradient/index.ts +58 -0
- package/extensions/data_updaters/origins/README.md +32 -0
- package/extensions/data_updaters/origins/index.spec.ts +100 -0
- package/extensions/data_updaters/origins/index.ts +71 -0
- package/extensions/index.ts +14 -0
- package/fabric.ts +182 -0
- package/index.node.ts +49 -0
- package/index.ts +1 -0
- package/lib/aligning_guidelines.js +286 -0
- package/lib/centering_guidelines.js +90 -0
- package/lib/event.js +1963 -0
- package/package.json +164 -0
- package/playwright.config.ts +77 -0
- package/playwright.setup.ts +87 -0
- package/publish-next.js +15 -0
- package/publish.js +17 -0
- package/rollup.config.mjs +180 -0
- package/scripts/bench-text.js +592 -0
- package/scripts/build.mjs +49 -0
- package/scripts/buildLock.mjs +115 -0
- package/scripts/buildReporter.mjs +15 -0
- package/scripts/buildStats.mjs +40 -0
- package/scripts/dirname.mjs +14 -0
- package/scripts/git.mjs +36 -0
- package/scripts/index.mjs +201 -0
- package/scripts/sandbox.mjs +149 -0
- package/src/ClassRegistry.spec.ts +91 -0
- package/src/ClassRegistry.ts +62 -0
- package/src/Collection.spec.ts +463 -0
- package/src/Collection.ts +355 -0
- package/src/CommonMethods.ts +62 -0
- package/src/EventTypeDefs.ts +351 -0
- package/src/Intersection.spec.ts +753 -0
- package/src/Intersection.ts +324 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +189 -0
- package/src/LayoutManager/ActiveSelectionLayoutManager.ts +54 -0
- package/src/LayoutManager/LayoutManager.spec.ts +866 -0
- package/src/LayoutManager/LayoutManager.ts +358 -0
- package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +74 -0
- package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +21 -0
- package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +27 -0
- package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +109 -0
- package/src/LayoutManager/LayoutStrategies/utils.ts +56 -0
- package/src/LayoutManager/README.md +125 -0
- package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +71 -0
- package/src/LayoutManager/constants.ts +6 -0
- package/src/LayoutManager/index.ts +6 -0
- package/src/LayoutManager/types.ts +149 -0
- package/src/Observable.spec.ts +449 -0
- package/src/Observable.ts +179 -0
- package/src/Pattern/Pattern.spec.ts +190 -0
- package/src/Pattern/Pattern.ts +216 -0
- package/src/Pattern/index.ts +2 -0
- package/src/Pattern/types.ts +20 -0
- package/src/Point.spec.ts +573 -0
- package/src/Point.ts +374 -0
- package/src/Shadow.spec.ts +283 -0
- package/src/Shadow.ts +236 -0
- package/src/__snapshots__/Shadow.spec.ts.snap +27 -0
- package/src/brushes/BaseBrush.spec.ts +17 -0
- package/src/brushes/BaseBrush.ts +154 -0
- package/src/brushes/CircleBrush.test.ts +13 -0
- package/src/brushes/CircleBrush.ts +139 -0
- package/src/brushes/PatternBrush.ts +70 -0
- package/src/brushes/PencilBrush.spec.ts +275 -0
- package/src/brushes/PencilBrush.ts +302 -0
- package/src/brushes/SprayBrush.ts +207 -0
- package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +59 -0
- package/src/brushes/typedefs.ts +18 -0
- package/src/cache.spec.ts +67 -0
- package/src/cache.ts +90 -0
- package/src/canvas/Canvas-dispose.spec.ts +538 -0
- package/src/canvas/Canvas-events.spec.ts +1735 -0
- package/src/canvas/Canvas.spec.ts +2686 -0
- package/src/canvas/Canvas.ts +1560 -0
- package/src/canvas/CanvasOptions.ts +278 -0
- package/src/canvas/DOMManagers/CanvasDOMManager.ts +129 -0
- package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +80 -0
- package/src/canvas/DOMManagers/util.spec.ts +28 -0
- package/src/canvas/DOMManagers/util.ts +85 -0
- package/src/canvas/SelectableCanvas.spec.ts +504 -0
- package/src/canvas/SelectableCanvas.ts +1459 -0
- package/src/canvas/StaticCanvas.spec.ts +2385 -0
- package/src/canvas/StaticCanvas.ts +1480 -0
- package/src/canvas/StaticCanvasOptions.ts +187 -0
- package/src/canvas/TextEditingManager.ts +68 -0
- package/src/canvas/__tests__/SelectableCanvas.spec.ts +62 -0
- package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +743 -0
- package/src/canvas/__tests__/eventData.test.ts +935 -0
- package/src/canvas/canvas_gestures.mixin.ts +208 -0
- package/src/color/Color.ts +333 -0
- package/src/color/color.test.ts +329 -0
- package/src/color/color_map.ts +154 -0
- package/src/color/constants.ts +114 -0
- package/src/color/typedefs.ts +18 -0
- package/src/color/util.ts +93 -0
- package/src/config.ts +158 -0
- package/src/constants.ts +46 -0
- package/src/controls/Control-cursor.spec.ts +65 -0
- package/src/controls/Control-handlers.spec.ts +299 -0
- package/src/controls/Control.spec.ts +70 -0
- package/src/controls/Control.ts +382 -0
- package/src/controls/changeHeight.ts +55 -0
- package/src/controls/changeWidth.test.ts +147 -0
- package/src/controls/changeWidth.ts +55 -0
- package/src/controls/commonControls.ts +112 -0
- package/src/controls/controlRendering.ts +136 -0
- package/src/controls/drag.ts +32 -0
- package/src/controls/fireEvent.ts +18 -0
- package/src/controls/index.ts +23 -0
- package/src/controls/pathControl.spec.ts +77 -0
- package/src/controls/pathControl.ts +293 -0
- package/src/controls/polyControl.spec.ts +51 -0
- package/src/controls/polyControl.ts +131 -0
- package/src/controls/rotate.ts +88 -0
- package/src/controls/scale.test.ts +137 -0
- package/src/controls/scale.ts +288 -0
- package/src/controls/scaleSkew.ts +94 -0
- package/src/controls/skew.ts +251 -0
- package/src/controls/util.ts +162 -0
- package/src/controls/wrapWithFireEvent.ts +34 -0
- package/src/controls/wrapWithFixedAnchor.spec.ts +124 -0
- package/src/controls/wrapWithFixedAnchor.ts +26 -0
- package/src/env/browser.ts +21 -0
- package/src/env/env.spec.ts +47 -0
- package/src/env/index.ts +47 -0
- package/src/env/node.ts +50 -0
- package/src/env/types.ts +16 -0
- package/src/filters/BaseFilter.spec.ts +16 -0
- package/src/filters/BaseFilter.ts +416 -0
- package/src/filters/BlendColor.ts +197 -0
- package/src/filters/BlendImage.ts +220 -0
- package/src/filters/Blur.ts +205 -0
- package/src/filters/Boilerplate.ts +84 -0
- package/src/filters/Brightness.ts +75 -0
- package/src/filters/Canvas2dFilterBackend.ts +68 -0
- package/src/filters/ColorMatrix.spec.ts +39 -0
- package/src/filters/ColorMatrix.ts +141 -0
- package/src/filters/ColorMatrixFilters.ts +84 -0
- package/src/filters/Composed.ts +87 -0
- package/src/filters/Contrast.ts +76 -0
- package/src/filters/Convolute.ts +174 -0
- package/src/filters/FilterBackend.ts +38 -0
- package/src/filters/GLProbes/GLProbe.ts +7 -0
- package/src/filters/GLProbes/NodeGLProbe.ts +15 -0
- package/src/filters/GLProbes/WebGLProbe.ts +49 -0
- package/src/filters/Gamma.ts +119 -0
- package/src/filters/Grayscale.ts +91 -0
- package/src/filters/HueRotation.ts +95 -0
- package/src/filters/Invert.ts +88 -0
- package/src/filters/Noise.ts +76 -0
- package/src/filters/Pixelate.ts +85 -0
- package/src/filters/RemoveColor.ts +121 -0
- package/src/filters/Resize.ts +545 -0
- package/src/filters/Saturation.ts +80 -0
- package/src/filters/Vibrance.ts +82 -0
- package/src/filters/WebGLFilterBackend.spec.ts +50 -0
- package/src/filters/WebGLFilterBackend.ts +416 -0
- package/src/filters/filters.ts +30 -0
- package/src/filters/index.ts +12 -0
- package/src/filters/shaders/baseFilter.ts +17 -0
- package/src/filters/shaders/blendColor.ts +33 -0
- package/src/filters/shaders/blendImage.ts +44 -0
- package/src/filters/shaders/blur.ts +30 -0
- package/src/filters/shaders/brightness.ts +11 -0
- package/src/filters/shaders/colorMatrix.ts +12 -0
- package/src/filters/shaders/constrast.ts +11 -0
- package/src/filters/shaders/convolute.ts +154 -0
- package/src/filters/shaders/gamma.ts +15 -0
- package/src/filters/shaders/grayscale.ts +36 -0
- package/src/filters/shaders/invert.ts +19 -0
- package/src/filters/shaders/noise.ts +16 -0
- package/src/filters/shaders/pixelate.ts +19 -0
- package/src/filters/shaders/removeColor.ts +13 -0
- package/src/filters/shaders/saturation.ts +15 -0
- package/src/filters/shaders/vibrance.ts +16 -0
- package/src/filters/typedefs.ts +81 -0
- package/src/filters/utils.ts +52 -0
- package/src/gradient/Gradient.spec.ts +821 -0
- package/src/gradient/Gradient.ts +404 -0
- package/src/gradient/constants.ts +12 -0
- package/src/gradient/index.ts +2 -0
- package/src/gradient/parser/misc.ts +13 -0
- package/src/gradient/parser/parseColorStops.ts +58 -0
- package/src/gradient/parser/parseCoords.ts +76 -0
- package/src/gradient/typedefs.ts +108 -0
- package/src/mixins/eraser_brush.mixin.ts +869 -0
- package/src/parkinglot/canvas_animation.mixin.ts +120 -0
- package/src/parkinglot/straighten.ts +76 -0
- package/src/parser/applyViewboxTransform.spec.ts +397 -0
- package/src/parser/applyViewboxTransform.ts +174 -0
- package/src/parser/attributes.ts +27 -0
- package/src/parser/constants.spec.ts +36 -0
- package/src/parser/constants.ts +88 -0
- package/src/parser/doesSomeParentMatch.ts +21 -0
- package/src/parser/elementMatchesRule.ts +19 -0
- package/src/parser/elements_parser.ts +230 -0
- package/src/parser/getCSSRules.spec.ts +51 -0
- package/src/parser/getCSSRules.ts +68 -0
- package/src/parser/getGlobalStylesForElement.ts +22 -0
- package/src/parser/getGradientDefs.ts +33 -0
- package/src/parser/getMultipleNodes.ts +19 -0
- package/src/parser/getSvgRegex.ts +3 -0
- package/src/parser/getTagName.ts +1 -0
- package/src/parser/hasInvalidAncestor.ts +20 -0
- package/src/parser/loadSVGFromString.test.ts +75 -0
- package/src/parser/loadSVGFromString.ts +28 -0
- package/src/parser/loadSVGFromURL.ts +42 -0
- package/src/parser/normalizeAttr.ts +5 -0
- package/src/parser/normalizeValue.ts +76 -0
- package/src/parser/parseAttributes.ts +92 -0
- package/src/parser/parseFontDeclaration.ts +43 -0
- package/src/parser/parsePointsAttribute.ts +31 -0
- package/src/parser/parseSVGDocument.ts +93 -0
- package/src/parser/parseStyleAttribute.ts +26 -0
- package/src/parser/parseStyleObject.ts +17 -0
- package/src/parser/parseStyleString.ts +19 -0
- package/src/parser/parseTransformAttribute.ts +92 -0
- package/src/parser/parseUseDirectives.test.ts +115 -0
- package/src/parser/parseUseDirectives.ts +91 -0
- package/src/parser/parser.spec.ts +816 -0
- package/src/parser/percent.ts +27 -0
- package/src/parser/recursivelyParseGradientsXlink.ts +40 -0
- package/src/parser/selectorMatches.ts +26 -0
- package/src/parser/setStrokeFillOpacity.ts +41 -0
- package/src/parser/typedefs.ts +15 -0
- package/src/shapes/ActiveSelection.spec.ts +405 -0
- package/src/shapes/ActiveSelection.ts +254 -0
- package/src/shapes/Circle.spec.ts +307 -0
- package/src/shapes/Circle.ts +257 -0
- package/src/shapes/Ellipse.spec.ts +237 -0
- package/src/shapes/Ellipse.ts +181 -0
- package/src/shapes/Group.spec.ts +1805 -0
- package/src/shapes/Group.ts +717 -0
- package/src/shapes/IText/DraggableTextDelegate.ts +387 -0
- package/src/shapes/IText/IText-click-behavior.spec.ts +443 -0
- package/src/shapes/IText/IText.test.ts +1226 -0
- package/src/shapes/IText/IText.ts +846 -0
- package/src/shapes/IText/ITextBehavior.test.ts +251 -0
- package/src/shapes/IText/ITextBehavior.ts +1177 -0
- package/src/shapes/IText/ITextClickBehavior.ts +254 -0
- package/src/shapes/IText/ITextKeyBehavior.test.ts +348 -0
- package/src/shapes/IText/ITextKeyBehavior.ts +691 -0
- package/src/shapes/IText/__snapshots__/IText.test.ts.snap +50 -0
- package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +1110 -0
- package/src/shapes/IText/constants.ts +65 -0
- package/src/shapes/Image-filters.spec.ts +1904 -0
- package/src/shapes/Image.spec.ts +1043 -0
- package/src/shapes/Image.ts +846 -0
- package/src/shapes/Line.spec.ts +208 -0
- package/src/shapes/Line.ts +288 -0
- package/src/shapes/Object/FabricObject.spec.ts +18 -0
- package/src/shapes/Object/FabricObject.ts +33 -0
- package/src/shapes/Object/FabricObjectSVGExportMixin.ts +253 -0
- package/src/shapes/Object/InteractiveObject.spec.ts +70 -0
- package/src/shapes/Object/InteractiveObject.ts +727 -0
- package/src/shapes/Object/Object-clip-path.spec.ts +197 -0
- package/src/shapes/Object/Object-interactivity.spec.ts +833 -0
- package/src/shapes/Object/Object.spec.ts +1873 -0
- package/src/shapes/Object/Object.ts +1941 -0
- package/src/shapes/Object/ObjectGeometry.spec.ts +1149 -0
- package/src/shapes/Object/ObjectGeometry.ts +798 -0
- package/src/shapes/Object/ObjectOrigin.spec.ts +469 -0
- package/src/shapes/Object/ObjectSerialization.spec.ts +63 -0
- package/src/shapes/Object/StackedObject.spec.ts +369 -0
- package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +75 -0
- package/src/shapes/Object/defaultValues.ts +128 -0
- package/src/shapes/Object/types/BaseProps.ts +104 -0
- package/src/shapes/Object/types/BorderProps.ts +40 -0
- package/src/shapes/Object/types/ControlProps.ts +70 -0
- package/src/shapes/Object/types/FabricObjectProps.ts +73 -0
- package/src/shapes/Object/types/FillStrokeProps.ts +88 -0
- package/src/shapes/Object/types/LockInteractionProps.ts +49 -0
- package/src/shapes/Object/types/ObjectProps.ts +51 -0
- package/src/shapes/Object/types/ObjectTransformProps.ts +35 -0
- package/src/shapes/Object/types/SerializedObjectProps.ts +70 -0
- package/src/shapes/Object/types/index.ts +7 -0
- package/src/shapes/Path.spec.ts +659 -0
- package/src/shapes/Path.ts +414 -0
- package/src/shapes/Polygon.spec.ts +566 -0
- package/src/shapes/Polygon.ts +15 -0
- package/src/shapes/Polyline.spec.ts +404 -0
- package/src/shapes/Polyline.ts +429 -0
- package/src/shapes/Rect.spec.ts +270 -0
- package/src/shapes/Rect.ts +221 -0
- package/src/shapes/Text/StyledText.spec.ts +61 -0
- package/src/shapes/Text/StyledText.ts +335 -0
- package/src/shapes/Text/Text.spec.ts +1315 -0
- package/src/shapes/Text/Text.ts +2161 -0
- package/src/shapes/Text/TextSVGExportMixin.spec.ts +104 -0
- package/src/shapes/Text/TextSVGExportMixin.ts +384 -0
- package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +225 -0
- package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +53 -0
- package/src/shapes/Text/constants.ts +134 -0
- package/src/shapes/Textbox.spec.ts +975 -0
- package/src/shapes/Textbox.ts +669 -0
- package/src/shapes/Triangle.ts +69 -0
- package/src/shapes/__snapshots__/Image.spec.ts.snap +22 -0
- package/src/shapes/__snapshots__/Textbox.spec.ts.snap +165 -0
- package/src/text/browserLines.ts +234 -0
- package/src/text/ellipsis.ts +517 -0
- package/src/text/hitTest.ts +624 -0
- package/src/text/layout.ts +587 -0
- package/src/text/measure.ts +476 -0
- package/src/text/overlayEditor.ts +637 -0
- package/src/text/unicode.ts +455 -0
- package/src/typedefs.ts +132 -0
- package/src/util/__snapshots__/index.spec.ts.snap +124 -0
- package/src/util/animation/AnimationBase.ts +166 -0
- package/src/util/animation/AnimationFrameProvider.ts +9 -0
- package/src/util/animation/AnimationRegistry.ts +59 -0
- package/src/util/animation/ArrayAnimation.ts +27 -0
- package/src/util/animation/ColorAnimation.ts +74 -0
- package/src/util/animation/ValueAnimation.ts +29 -0
- package/src/util/animation/__snapshots__/animations.spec.ts.snap +2772 -0
- package/src/util/animation/animate.ts +74 -0
- package/src/util/animation/animations.spec.ts +488 -0
- package/src/util/animation/easing.ts +327 -0
- package/src/util/animation/index.ts +2 -0
- package/src/util/animation/types.ts +136 -0
- package/src/util/applyMixins.ts +22 -0
- package/src/util/dom_event.spec.ts +23 -0
- package/src/util/dom_event.ts +29 -0
- package/src/util/dom_misc.ts +55 -0
- package/src/util/index.spec.ts +24 -0
- package/src/util/index.ts +116 -0
- package/src/util/internals/applyCanvasTransform.ts +19 -0
- package/src/util/internals/cleanupSvgAttribute.test.ts +17 -0
- package/src/util/internals/cleanupSvgAttribute.ts +10 -0
- package/src/util/internals/cloneStyles.spec.ts +48 -0
- package/src/util/internals/cloneStyles.ts +12 -0
- package/src/util/internals/console.ts +18 -0
- package/src/util/internals/dom_style.spec.ts +17 -0
- package/src/util/internals/dom_style.ts +16 -0
- package/src/util/internals/findRight.ts +11 -0
- package/src/util/internals/getRandomInt.test.ts +49 -0
- package/src/util/internals/getRandomInt.ts +8 -0
- package/src/util/internals/ifNaN.ts +9 -0
- package/src/util/internals/removeFromArray.spec.ts +30 -0
- package/src/util/internals/removeFromArray.ts +14 -0
- package/src/util/internals/uid.ts +3 -0
- package/src/util/lang_string.spec.ts +51 -0
- package/src/util/lang_string.ts +106 -0
- package/src/util/misc/boundingBoxFromPoints.spec.ts +25 -0
- package/src/util/misc/boundingBoxFromPoints.ts +29 -0
- package/src/util/misc/capValue.spec.ts +22 -0
- package/src/util/misc/capValue.ts +2 -0
- package/src/util/misc/cos.spec.ts +12 -0
- package/src/util/misc/cos.ts +24 -0
- package/src/util/misc/dom.spec.ts +75 -0
- package/src/util/misc/dom.ts +77 -0
- package/src/util/misc/findScaleTo.spec.ts +68 -0
- package/src/util/misc/findScaleTo.ts +29 -0
- package/src/util/misc/groupSVGElements.spec.ts +41 -0
- package/src/util/misc/groupSVGElements.ts +19 -0
- package/src/util/misc/isTransparent.ts +28 -0
- package/src/util/misc/matrix.spec.ts +199 -0
- package/src/util/misc/matrix.ts +323 -0
- package/src/util/misc/mergeClipPaths.spec.ts +109 -0
- package/src/util/misc/mergeClipPaths.ts +39 -0
- package/src/util/misc/objectEnlive.spec.ts +129 -0
- package/src/util/misc/objectEnlive.ts +192 -0
- package/src/util/misc/objectTransforms.spec.ts +67 -0
- package/src/util/misc/objectTransforms.ts +122 -0
- package/src/util/misc/pick.spec.ts +32 -0
- package/src/util/misc/pick.ts +29 -0
- package/src/util/misc/planeChange.spec.ts +102 -0
- package/src/util/misc/planeChange.ts +92 -0
- package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +148 -0
- package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +314 -0
- package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +66 -0
- package/src/util/misc/projectStroke/index.ts +81 -0
- package/src/util/misc/projectStroke/types.ts +24 -0
- package/src/util/misc/radiansDegreesConversion.spec.ts +27 -0
- package/src/util/misc/radiansDegreesConversion.ts +18 -0
- package/src/util/misc/resolveOrigin.ts +22 -0
- package/src/util/misc/sin.ts +26 -0
- package/src/util/misc/svgExport.ts +15 -0
- package/src/util/misc/svgParsing.spec.ts +103 -0
- package/src/util/misc/svgParsing.ts +167 -0
- package/src/util/misc/textStyles.ts +137 -0
- package/src/util/misc/toFixed.spec.ts +26 -0
- package/src/util/misc/toFixed.ts +8 -0
- package/src/util/misc/vectors.spec.ts +136 -0
- package/src/util/misc/vectors.ts +100 -0
- package/src/util/path/__snapshots__/index.spec.ts.snap +844 -0
- package/src/util/path/index.spec.ts +165 -0
- package/src/util/path/index.ts +1044 -0
- package/src/util/path/regex.ts +46 -0
- package/src/util/path/typechecks.ts +145 -0
- package/src/util/path/typedefs.ts +326 -0
- package/src/util/transform_matrix_removal.ts +61 -0
- package/src/util/typeAssertions.spec.ts +127 -0
- package/src/util/typeAssertions.ts +47 -0
- package/tsconfig-extensions.json +108 -0
- package/tsconfig.json +118 -0
- package/tsconfig.spec.json +24 -0
- package/typedoc.config.json +12 -0
- package/vitest.config.ts +100 -0
- package/vitest.d.ts +32 -0
- package/vitest.env.d.ts +14 -0
- package/vitest.extend.ts +195 -0
- package/vitest.setup.ts +24 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FabricObject } from './Object/FabricObject';
|
|
2
|
+
import type { FabricObjectProps, SerializedObjectProps } from './Object/types';
|
|
3
|
+
import type { TClassProperties, TOptions } from '../typedefs';
|
|
4
|
+
import type { ObjectEvents } from '../EventTypeDefs';
|
|
5
|
+
export declare const triangleDefaultValues: Partial<TClassProperties<Triangle>>;
|
|
6
|
+
export declare class Triangle<Props extends TOptions<FabricObjectProps> = Partial<FabricObjectProps>, SProps extends SerializedObjectProps = SerializedObjectProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> implements FabricObjectProps {
|
|
7
|
+
static type: string;
|
|
8
|
+
static ownDefaults: Partial<TClassProperties<Triangle<Partial<FabricObjectProps>, SerializedObjectProps, ObjectEvents>>>;
|
|
9
|
+
static getDefaults(): Record<string, any>;
|
|
10
|
+
/**
|
|
11
|
+
* Constructor
|
|
12
|
+
* @param {Object} [options] Options object
|
|
13
|
+
*/
|
|
14
|
+
constructor(options?: Props);
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
18
|
+
*/
|
|
19
|
+
_render(ctx: CanvasRenderingContext2D): void;
|
|
20
|
+
/**
|
|
21
|
+
* Returns svg representation of an instance
|
|
22
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
23
|
+
* of the instance
|
|
24
|
+
*/
|
|
25
|
+
_toSVG(): string[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=Triangle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Triangle.d.ts","sourceRoot":"","sources":["../../../src/shapes/Triangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAGrE,CAAC;AAEF,qBAAa,QAAQ,CACjB,KAAK,SAAS,QAAQ,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,EACtE,MAAM,SAAS,qBAAqB,GAAG,qBAAqB,EAC5D,SAAS,SAAS,YAAY,GAAG,YAAY,CAE/C,SAAQ,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAC7C,YAAW,iBAAiB;IAE5B,MAAM,CAAC,IAAI,SAAc;IAEzB,MAAM,CAAC,WAAW,uGAAyB;IAE3C,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIzC;;;OAGG;gBACS,OAAO,CAAC,EAAE,KAAK;IAM3B;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,wBAAwB;IAarC;;;;OAIG;IACH,MAAM;CAMP"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as t}from"../../_virtual/_rollupPluginBabelHelpers.min.mjs";import{classRegistry as e}from"../ClassRegistry.min.mjs";import{FabricObject as s}from"./Object/FabricObject.min.mjs";const i={width:100,height:100};class r extends s{static getDefaults(){return{...super.getDefaults(),...r.ownDefaults}}constructor(t){super(),Object.assign(this,r.ownDefaults),this.setOptions(t)}_render(t){const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,s),t.lineTo(0,-s),t.lineTo(e,s),t.closePath(),this._renderPaintInOrder(t)}_toSVG(){const t=this.width/2,e=this.height/2;return["<polygon ","COMMON_PARTS",'points="',`${-t} ${e},0 ${-e},${t} ${e}`,'" />']}}t(r,"type","Triangle"),t(r,"ownDefaults",i),e.setClass(r),e.setSVGClass(r);export{r as Triangle,i as triangleDefaultValues};
|
|
2
|
+
//# sourceMappingURL=Triangle.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Triangle.min.mjs","sources":["../../../src/shapes/Triangle.ts"],"sourcesContent":["import { classRegistry } from '../ClassRegistry';\nimport { FabricObject } from './Object/FabricObject';\nimport type { FabricObjectProps, SerializedObjectProps } from './Object/types';\nimport type { TClassProperties, TOptions } from '../typedefs';\nimport type { ObjectEvents } from '../EventTypeDefs';\n\nexport const triangleDefaultValues: Partial<TClassProperties<Triangle>> = {\n width: 100,\n height: 100,\n};\n\nexport class Triangle<\n Props extends TOptions<FabricObjectProps> = Partial<FabricObjectProps>,\n SProps extends SerializedObjectProps = SerializedObjectProps,\n EventSpec extends ObjectEvents = ObjectEvents,\n >\n extends FabricObject<Props, SProps, EventSpec>\n implements FabricObjectProps\n{\n static type = 'Triangle';\n\n static ownDefaults = triangleDefaultValues;\n\n static getDefaults(): Record<string, any> {\n return { ...super.getDefaults(), ...Triangle.ownDefaults };\n }\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n constructor(options?: Props) {\n super();\n Object.assign(this, Triangle.ownDefaults);\n this.setOptions(options);\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render(ctx: CanvasRenderingContext2D) {\n const widthBy2 = this.width / 2,\n heightBy2 = this.height / 2;\n\n ctx.beginPath();\n ctx.moveTo(-widthBy2, heightBy2);\n ctx.lineTo(0, -heightBy2);\n ctx.lineTo(widthBy2, heightBy2);\n ctx.closePath();\n\n this._renderPaintInOrder(ctx);\n }\n\n /**\n * Returns svg representation of an instance\n * @return {Array} an array of strings with the specific svg representation\n * of the instance\n */\n _toSVG() {\n const widthBy2 = this.width / 2,\n heightBy2 = this.height / 2,\n points = `${-widthBy2} ${heightBy2},0 ${-heightBy2},${widthBy2} ${heightBy2}`;\n return ['<polygon ', 'COMMON_PARTS', 'points=\"', points, '\" />'];\n }\n}\n\nclassRegistry.setClass(Triangle);\nclassRegistry.setSVGClass(Triangle);\n"],"names":["triangleDefaultValues","width","height","Triangle","FabricObject","getDefaults","super","ownDefaults","constructor","options","Object","assign","this","setOptions","_render","ctx","widthBy2","heightBy2","beginPath","moveTo","lineTo","closePath","_renderPaintInOrder","_toSVG","_defineProperty","classRegistry","setClass","setSVGClass"],"mappings":"wMAMO,MAAMA,EAA6D,CACxEC,MAAO,IACPC,OAAQ,KAGH,MAAMC,UAKHC,EAOR,kBAAOC,GACL,MAAO,IAAKC,MAAMD,iBAAkBF,EAASI,YAC/C,CAMAC,WAAAA,CAAYC,GACVH,QACAI,OAAOC,OAAOC,KAAMT,EAASI,aAC7BK,KAAKC,WAAWJ,EAClB,CAMAK,OAAAA,CAAQC,GACN,MAAMC,EAAWJ,KAAKX,MAAQ,EAC5BgB,EAAYL,KAAKV,OAAS,EAE5Ba,EAAIG,YACJH,EAAII,QAAQH,EAAUC,GACtBF,EAAIK,OAAO,GAAIH,GACfF,EAAIK,OAAOJ,EAAUC,GACrBF,EAAIM,YAEJT,KAAKU,oBAAoBP,EAC3B,CAOAQ,MAAAA,GACE,MAAMP,EAAWJ,KAAKX,MAAQ,EAC5BgB,EAAYL,KAAKV,OAAS,EAE5B,MAAO,CAAC,YAAa,eAAgB,WAD1B,IAAIc,KAAYC,QAAgBA,KAAaD,KAAYC,IACX,OAC3D,EACDO,EAtDYrB,EAAQ,OAQL,YAAUqB,EARbrB,EAAQ,cAUEH,GA8CvByB,EAAcC,SAASvB,GACvBsB,EAAcE,YAAYxB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { classRegistry } from '../ClassRegistry.mjs';
|
|
3
|
+
import { FabricObject } from './Object/FabricObject.mjs';
|
|
4
|
+
|
|
5
|
+
const triangleDefaultValues = {
|
|
6
|
+
width: 100,
|
|
7
|
+
height: 100
|
|
8
|
+
};
|
|
9
|
+
class Triangle extends FabricObject {
|
|
10
|
+
static getDefaults() {
|
|
11
|
+
return {
|
|
12
|
+
...super.getDefaults(),
|
|
13
|
+
...Triangle.ownDefaults
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Constructor
|
|
19
|
+
* @param {Object} [options] Options object
|
|
20
|
+
*/
|
|
21
|
+
constructor(options) {
|
|
22
|
+
super();
|
|
23
|
+
Object.assign(this, Triangle.ownDefaults);
|
|
24
|
+
this.setOptions(options);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
* @param {CanvasRenderingContext2D} ctx Context to render on
|
|
30
|
+
*/
|
|
31
|
+
_render(ctx) {
|
|
32
|
+
const widthBy2 = this.width / 2,
|
|
33
|
+
heightBy2 = this.height / 2;
|
|
34
|
+
ctx.beginPath();
|
|
35
|
+
ctx.moveTo(-widthBy2, heightBy2);
|
|
36
|
+
ctx.lineTo(0, -heightBy2);
|
|
37
|
+
ctx.lineTo(widthBy2, heightBy2);
|
|
38
|
+
ctx.closePath();
|
|
39
|
+
this._renderPaintInOrder(ctx);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Returns svg representation of an instance
|
|
44
|
+
* @return {Array} an array of strings with the specific svg representation
|
|
45
|
+
* of the instance
|
|
46
|
+
*/
|
|
47
|
+
_toSVG() {
|
|
48
|
+
const widthBy2 = this.width / 2,
|
|
49
|
+
heightBy2 = this.height / 2,
|
|
50
|
+
points = `${-widthBy2} ${heightBy2},0 ${-heightBy2},${widthBy2} ${heightBy2}`;
|
|
51
|
+
return ['<polygon ', 'COMMON_PARTS', 'points="', points, '" />'];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
_defineProperty(Triangle, "type", 'Triangle');
|
|
55
|
+
_defineProperty(Triangle, "ownDefaults", triangleDefaultValues);
|
|
56
|
+
classRegistry.setClass(Triangle);
|
|
57
|
+
classRegistry.setSVGClass(Triangle);
|
|
58
|
+
|
|
59
|
+
export { Triangle, triangleDefaultValues };
|
|
60
|
+
//# sourceMappingURL=Triangle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Triangle.mjs","sources":["../../../src/shapes/Triangle.ts"],"sourcesContent":["import { classRegistry } from '../ClassRegistry';\nimport { FabricObject } from './Object/FabricObject';\nimport type { FabricObjectProps, SerializedObjectProps } from './Object/types';\nimport type { TClassProperties, TOptions } from '../typedefs';\nimport type { ObjectEvents } from '../EventTypeDefs';\n\nexport const triangleDefaultValues: Partial<TClassProperties<Triangle>> = {\n width: 100,\n height: 100,\n};\n\nexport class Triangle<\n Props extends TOptions<FabricObjectProps> = Partial<FabricObjectProps>,\n SProps extends SerializedObjectProps = SerializedObjectProps,\n EventSpec extends ObjectEvents = ObjectEvents,\n >\n extends FabricObject<Props, SProps, EventSpec>\n implements FabricObjectProps\n{\n static type = 'Triangle';\n\n static ownDefaults = triangleDefaultValues;\n\n static getDefaults(): Record<string, any> {\n return { ...super.getDefaults(), ...Triangle.ownDefaults };\n }\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n constructor(options?: Props) {\n super();\n Object.assign(this, Triangle.ownDefaults);\n this.setOptions(options);\n }\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render(ctx: CanvasRenderingContext2D) {\n const widthBy2 = this.width / 2,\n heightBy2 = this.height / 2;\n\n ctx.beginPath();\n ctx.moveTo(-widthBy2, heightBy2);\n ctx.lineTo(0, -heightBy2);\n ctx.lineTo(widthBy2, heightBy2);\n ctx.closePath();\n\n this._renderPaintInOrder(ctx);\n }\n\n /**\n * Returns svg representation of an instance\n * @return {Array} an array of strings with the specific svg representation\n * of the instance\n */\n _toSVG() {\n const widthBy2 = this.width / 2,\n heightBy2 = this.height / 2,\n points = `${-widthBy2} ${heightBy2},0 ${-heightBy2},${widthBy2} ${heightBy2}`;\n return ['<polygon ', 'COMMON_PARTS', 'points=\"', points, '\" />'];\n }\n}\n\nclassRegistry.setClass(Triangle);\nclassRegistry.setSVGClass(Triangle);\n"],"names":["triangleDefaultValues","width","height","Triangle","FabricObject","getDefaults","ownDefaults","constructor","options","Object","assign","setOptions","_render","ctx","widthBy2","heightBy2","beginPath","moveTo","lineTo","closePath","_renderPaintInOrder","_toSVG","points","_defineProperty","classRegistry","setClass","setSVGClass"],"mappings":";;;;AAMO,MAAMA,qBAA0D,GAAG;AACxEC,EAAAA,KAAK,EAAE,GAAG;AACVC,EAAAA,MAAM,EAAE;AACV;AAEO,MAAMC,QAAQ,SAKXC,YAAY,CAEtB;EAKE,OAAOC,WAAWA,GAAwB;IACxC,OAAO;AAAE,MAAA,GAAG,KAAK,CAACA,WAAW,EAAE;AAAE,MAAA,GAAGF,QAAQ,CAACG;KAAa;AAC5D,EAAA;;AAEA;AACF;AACA;AACA;EACEC,WAAWA,CAACC,OAAe,EAAE;AAC3B,IAAA,KAAK,EAAE;IACPC,MAAM,CAACC,MAAM,CAAC,IAAI,EAAEP,QAAQ,CAACG,WAAW,CAAC;AACzC,IAAA,IAAI,CAACK,UAAU,CAACH,OAAO,CAAC;AAC1B,EAAA;;AAEA;AACF;AACA;AACA;EACEI,OAAOA,CAACC,GAA6B,EAAE;AACrC,IAAA,MAAMC,QAAQ,GAAG,IAAI,CAACb,KAAK,GAAG,CAAC;AAC7Bc,MAAAA,SAAS,GAAG,IAAI,CAACb,MAAM,GAAG,CAAC;IAE7BW,GAAG,CAACG,SAAS,EAAE;AACfH,IAAAA,GAAG,CAACI,MAAM,CAAC,CAACH,QAAQ,EAAEC,SAAS,CAAC;AAChCF,IAAAA,GAAG,CAACK,MAAM,CAAC,CAAC,EAAE,CAACH,SAAS,CAAC;AACzBF,IAAAA,GAAG,CAACK,MAAM,CAACJ,QAAQ,EAAEC,SAAS,CAAC;IAC/BF,GAAG,CAACM,SAAS,EAAE;AAEf,IAAA,IAAI,CAACC,mBAAmB,CAACP,GAAG,CAAC;AAC/B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEQ,EAAAA,MAAMA,GAAG;AACP,IAAA,MAAMP,QAAQ,GAAG,IAAI,CAACb,KAAK,GAAG,CAAC;AAC7Bc,MAAAA,SAAS,GAAG,IAAI,CAACb,MAAM,GAAG,CAAC;AAC3BoB,MAAAA,MAAM,GAAG,CAAA,EAAG,CAACR,QAAQ,CAAA,CAAA,EAAIC,SAAS,CAAA,GAAA,EAAM,CAACA,SAAS,CAAA,CAAA,EAAID,QAAQ,CAAA,CAAA,EAAIC,SAAS,CAAA,CAAE;IAC/E,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAEO,MAAM,EAAE,MAAM,CAAC;AAClE,EAAA;AACF;AAACC,eAAA,CAtDYpB,QAAQ,EAAA,MAAA,EAQL,UAAU,CAAA;AAAAoB,eAAA,CARbpB,QAAQ,EAAA,aAAA,EAUEH,qBAAqB,CAAA;AA8C5CwB,aAAa,CAACC,QAAQ,CAACtB,QAAQ,CAAC;AAChCqB,aAAa,CAACE,WAAW,CAACvB,QAAQ,CAAC;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Line Break Extraction
|
|
3
|
+
*
|
|
4
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
5
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
6
|
+
*/
|
|
7
|
+
export interface BrowserLine {
|
|
8
|
+
text: string;
|
|
9
|
+
start: number;
|
|
10
|
+
end: number;
|
|
11
|
+
}
|
|
12
|
+
export interface BrowserLinesResult {
|
|
13
|
+
lines: BrowserLine[];
|
|
14
|
+
totalWidth: number;
|
|
15
|
+
totalHeight: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
19
|
+
* with identical computed styles and measuring grapheme positions.
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractLinesFromDOM(textarea: HTMLTextAreaElement): BrowserLinesResult;
|
|
22
|
+
/**
|
|
23
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
24
|
+
*/
|
|
25
|
+
export declare function createLayoutHash(target: any): string;
|
|
26
|
+
/**
|
|
27
|
+
* Check if stored browser lines are still valid for the current target state
|
|
28
|
+
*/
|
|
29
|
+
export declare function areBrowserLinesValid(target: any, storedHash?: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Store browser lines on a target object with validity hash
|
|
32
|
+
*/
|
|
33
|
+
export declare function storeBrowserLines(target: any, lines: BrowserLine[], layoutHash?: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Clear stored browser lines from a target object
|
|
36
|
+
*/
|
|
37
|
+
export declare function clearBrowserLines(target: any): void;
|
|
38
|
+
/**
|
|
39
|
+
* Get stored browser lines if they're still valid
|
|
40
|
+
*/
|
|
41
|
+
export declare function getBrowserLines(target: any): BrowserLine[] | null;
|
|
42
|
+
//# sourceMappingURL=browserLines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserLines.d.ts","sourceRoot":"","sources":["../../../src/text/browserLines.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAeD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,kBAAkB,CAkIrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAgBpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAO9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAGnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,IAAI,CASjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function t(t){const e=t.value;if(!e)return{lines:[],totalWidth:0,totalHeight:0};const n=getComputedStyle(t),i=t.parentElement;if(!i)throw new Error("Textarea must be in DOM to extract lines");const o=document.createElement("div");o.style.position="absolute",o.style.left="-9999px",o.style.top="-9999px",o.style.visibility="hidden",o.style.pointerEvents="none";["fontSize","fontFamily","fontWeight","fontStyle","lineHeight","letterSpacing","wordSpacing","textAlign","textTransform","whiteSpace","overflowWrap","wordBreak","direction","unicodeBidi","width","height","maxWidth","maxHeight","minWidth","minHeight","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","border","borderTop","borderRight","borderBottom","borderLeft","boxSizing"].forEach(t=>{o.style[t]=n[t]}),o.style.overflow="hidden",o.style.resize="none",i.appendChild(o);try{const t=function(t){if("undefined"!=typeof Intl&&Intl.Segmenter){const e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(t),t=>t.segment)}return Array.from(t)}(e),n=[];t.forEach((t,e)=>{const i=document.createElement("span");i.textContent=t,i.setAttribute("data-index",e.toString()),o.appendChild(i),n.push(i)});const i=new Map;n.forEach((t,e)=>{const n=t.offsetTop;i.has(n)||i.set(n,{spans:[],indices:[]}),i.get(n).spans.push(t),i.get(n).indices.push(e)});const r=[];Array.from(i.keys()).sort((t,e)=>t-e).forEach(e=>{const n=i.get(e).indices.sort((t,e)=>t-e),o=n[0],s=n[n.length-1]+1,a=t.slice(o,s).join("");r.push({text:a,start:o,end:s})});const s=Math.max(...n.map(t=>t.offsetLeft+t.offsetWidth)),a=n.length>0?Math.max(...n.map(t=>t.offsetTop+t.offsetHeight)):0;return{lines:r,totalWidth:s,totalHeight:a}}finally{i.removeChild(o)}}function e(t){return[t.text,t.width,t.height,t.fontFamily,t.fontSize,t.fontWeight,t.fontStyle,t.lineHeight,t.charSpacing,t.textAlign,t.direction].map(t=>String(t)).join("|")}function n(t,n){if(!n||!t.__lastBrowserLines)return!1;return e(t)===n}function i(t,n,i){t.__lastBrowserLines=n,t.__lastBrowserLinesHash=e(t)}function o(t){delete t.__lastBrowserLines,delete t.__lastBrowserLinesHash}function r(t){const e=t.__lastBrowserLines,i=t.__lastBrowserLinesHash;return e&&n(t,i)?e:null}export{n as areBrowserLinesValid,o as clearBrowserLines,e as createLayoutHash,t as extractLinesFromDOM,r as getBrowserLines,i as storeBrowserLines};
|
|
2
|
+
//# sourceMappingURL=browserLines.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserLines.min.mjs","sources":["../../../src/text/browserLines.ts"],"sourcesContent":["/**\r\n * Browser Line Break Extraction\r\n * \r\n * Captures exact line breaks as rendered by the browser to ensure\r\n * pixel-perfect consistency between DOM editing and canvas rendering.\r\n */\r\n\r\nexport interface BrowserLine {\r\n text: string;\r\n start: number; // character index in original text\r\n end: number; // character index in original text (exclusive)\r\n}\r\n\r\nexport interface BrowserLinesResult {\r\n lines: BrowserLine[];\r\n totalWidth: number;\r\n totalHeight: number;\r\n}\r\n\r\n/**\r\n * Segment text into graphemes safely using Intl.Segmenter or fallback\r\n */\r\nfunction segmentIntoGraphemes(text: string): string[] {\r\n if (typeof Intl !== 'undefined' && Intl.Segmenter) {\r\n const segmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });\r\n return Array.from(segmenter.segment(text), s => s.segment);\r\n }\r\n \r\n // Fallback: Use Array.from which handles basic Unicode correctly\r\n return Array.from(text);\r\n}\r\n\r\n/**\r\n * Extract line break information from a textarea by creating a mirror element\r\n * with identical computed styles and measuring grapheme positions.\r\n */\r\nexport function extractLinesFromDOM(textarea: HTMLTextAreaElement): BrowserLinesResult {\r\n const text = textarea.value;\r\n if (!text) {\r\n return {\r\n lines: [],\r\n totalWidth: 0,\r\n totalHeight: 0\r\n };\r\n }\r\n\r\n // Get computed styles from the textarea\r\n const computedStyle = getComputedStyle(textarea);\r\n const container = textarea.parentElement;\r\n if (!container) {\r\n throw new Error('Textarea must be in DOM to extract lines');\r\n }\r\n\r\n // Create mirror div with identical styling\r\n const mirror = document.createElement('div');\r\n mirror.style.position = 'absolute';\r\n mirror.style.left = '-9999px';\r\n mirror.style.top = '-9999px';\r\n mirror.style.visibility = 'hidden';\r\n mirror.style.pointerEvents = 'none';\r\n \r\n // Copy all relevant text styling\r\n const stylesToCopy = [\r\n 'fontSize',\r\n 'fontFamily',\r\n 'fontWeight',\r\n 'fontStyle',\r\n 'lineHeight',\r\n 'letterSpacing',\r\n 'wordSpacing',\r\n 'textAlign',\r\n 'textTransform',\r\n 'whiteSpace',\r\n 'overflowWrap',\r\n 'wordBreak',\r\n 'direction',\r\n 'unicodeBidi',\r\n 'width',\r\n 'height',\r\n 'maxWidth',\r\n 'maxHeight',\r\n 'minWidth',\r\n 'minHeight',\r\n 'padding',\r\n 'paddingTop',\r\n 'paddingRight',\r\n 'paddingBottom',\r\n 'paddingLeft',\r\n 'border',\r\n 'borderTop',\r\n 'borderRight',\r\n 'borderBottom',\r\n 'borderLeft',\r\n 'boxSizing',\r\n ];\r\n \r\n stylesToCopy.forEach(prop => {\r\n (mirror.style as any)[prop] = (computedStyle as any)[prop];\r\n });\r\n\r\n // Ensure the mirror has the same dimensions and overflow behavior as textarea\r\n mirror.style.overflow = 'hidden';\r\n mirror.style.resize = 'none';\r\n\r\n container.appendChild(mirror);\r\n\r\n try {\r\n // Segment text into graphemes\r\n const graphemes = segmentIntoGraphemes(text);\r\n const spans: HTMLSpanElement[] = [];\r\n \r\n // Create a span for each grapheme\r\n graphemes.forEach((grapheme, index) => {\r\n const span = document.createElement('span');\r\n span.textContent = grapheme;\r\n span.setAttribute('data-index', index.toString());\r\n mirror.appendChild(span);\r\n spans.push(span);\r\n });\r\n\r\n // Group spans by their offsetTop (line position)\r\n const lineGroups = new Map<number, { spans: HTMLSpanElement[], indices: number[] }>();\r\n \r\n spans.forEach((span, index) => {\r\n const top = span.offsetTop;\r\n if (!lineGroups.has(top)) {\r\n lineGroups.set(top, { spans: [], indices: [] });\r\n }\r\n lineGroups.get(top)!.spans.push(span);\r\n lineGroups.get(top)!.indices.push(index);\r\n });\r\n\r\n // Convert line groups to BrowserLine objects\r\n const lines: BrowserLine[] = [];\r\n const sortedTops = Array.from(lineGroups.keys()).sort((a, b) => a - b);\r\n \r\n sortedTops.forEach(top => {\r\n const group = lineGroups.get(top)!;\r\n const sortedIndices = group.indices.sort((a, b) => a - b);\r\n \r\n const start = sortedIndices[0];\r\n const end = sortedIndices[sortedIndices.length - 1] + 1;\r\n const lineText = graphemes.slice(start, end).join('');\r\n \r\n lines.push({\r\n text: lineText,\r\n start,\r\n end,\r\n });\r\n });\r\n\r\n // Calculate total dimensions\r\n const totalWidth = Math.max(...spans.map(span => span.offsetLeft + span.offsetWidth));\r\n const totalHeight = spans.length > 0 ? \r\n Math.max(...spans.map(span => span.offsetTop + span.offsetHeight)) : 0;\r\n\r\n return {\r\n lines,\r\n totalWidth,\r\n totalHeight\r\n };\r\n \r\n } finally {\r\n // Clean up mirror element\r\n container.removeChild(mirror);\r\n }\r\n}\r\n\r\n/**\r\n * Create a hash of layout-affecting properties to detect when browser lines are still valid\r\n */\r\nexport function createLayoutHash(target: any): string {\r\n const properties = [\r\n target.text,\r\n target.width,\r\n target.height,\r\n target.fontFamily,\r\n target.fontSize,\r\n target.fontWeight,\r\n target.fontStyle,\r\n target.lineHeight,\r\n target.charSpacing,\r\n target.textAlign,\r\n target.direction,\r\n ];\r\n \r\n return properties.map(p => String(p)).join('|');\r\n}\r\n\r\n/**\r\n * Check if stored browser lines are still valid for the current target state\r\n */\r\nexport function areBrowserLinesValid(target: any, storedHash?: string): boolean {\r\n if (!storedHash || !(target as any).__lastBrowserLines) {\r\n return false;\r\n }\r\n \r\n const currentHash = createLayoutHash(target);\r\n return currentHash === storedHash;\r\n}\r\n\r\n/**\r\n * Store browser lines on a target object with validity hash\r\n */\r\nexport function storeBrowserLines(\r\n target: any, \r\n lines: BrowserLine[], \r\n layoutHash?: string\r\n): void {\r\n (target as any).__lastBrowserLines = lines;\r\n (target as any).__lastBrowserLinesHash = layoutHash || createLayoutHash(target);\r\n}\r\n\r\n/**\r\n * Clear stored browser lines from a target object\r\n */\r\nexport function clearBrowserLines(target: any): void {\r\n delete (target as any).__lastBrowserLines;\r\n delete (target as any).__lastBrowserLinesHash;\r\n}\r\n\r\n/**\r\n * Get stored browser lines if they're still valid\r\n */\r\nexport function getBrowserLines(target: any): BrowserLine[] | null {\r\n const lines = (target as any).__lastBrowserLines;\r\n const hash = (target as any).__lastBrowserLinesHash;\r\n \r\n if (lines && areBrowserLinesValid(target, hash)) {\r\n return lines;\r\n }\r\n \r\n return null;\r\n}"],"names":["extractLinesFromDOM","textarea","text","value","lines","totalWidth","totalHeight","computedStyle","getComputedStyle","container","parentElement","Error","mirror","document","createElement","style","position","left","top","visibility","pointerEvents","forEach","prop","overflow","resize","appendChild","graphemes","Intl","Segmenter","segmenter","undefined","granularity","Array","from","segment","s","segmentIntoGraphemes","spans","grapheme","index","span","textContent","setAttribute","toString","push","lineGroups","Map","offsetTop","has","set","indices","get","keys","sort","a","b","sortedIndices","start","end","length","lineText","slice","join","Math","max","map","offsetLeft","offsetWidth","offsetHeight","removeChild","createLayoutHash","target","width","height","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","charSpacing","textAlign","direction","p","String","areBrowserLinesValid","storedHash","__lastBrowserLines","storeBrowserLines","layoutHash","__lastBrowserLinesHash","clearBrowserLines","getBrowserLines","hash"],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Line Break Extraction
|
|
3
|
+
*
|
|
4
|
+
* Captures exact line breaks as rendered by the browser to ensure
|
|
5
|
+
* pixel-perfect consistency between DOM editing and canvas rendering.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Segment text into graphemes safely using Intl.Segmenter or fallback
|
|
10
|
+
*/
|
|
11
|
+
function segmentIntoGraphemes(text) {
|
|
12
|
+
if (typeof Intl !== 'undefined' && Intl.Segmenter) {
|
|
13
|
+
const segmenter = new Intl.Segmenter(undefined, {
|
|
14
|
+
granularity: 'grapheme'
|
|
15
|
+
});
|
|
16
|
+
return Array.from(segmenter.segment(text), s => s.segment);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Fallback: Use Array.from which handles basic Unicode correctly
|
|
20
|
+
return Array.from(text);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Extract line break information from a textarea by creating a mirror element
|
|
25
|
+
* with identical computed styles and measuring grapheme positions.
|
|
26
|
+
*/
|
|
27
|
+
function extractLinesFromDOM(textarea) {
|
|
28
|
+
const text = textarea.value;
|
|
29
|
+
if (!text) {
|
|
30
|
+
return {
|
|
31
|
+
lines: [],
|
|
32
|
+
totalWidth: 0,
|
|
33
|
+
totalHeight: 0
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Get computed styles from the textarea
|
|
38
|
+
const computedStyle = getComputedStyle(textarea);
|
|
39
|
+
const container = textarea.parentElement;
|
|
40
|
+
if (!container) {
|
|
41
|
+
throw new Error('Textarea must be in DOM to extract lines');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Create mirror div with identical styling
|
|
45
|
+
const mirror = document.createElement('div');
|
|
46
|
+
mirror.style.position = 'absolute';
|
|
47
|
+
mirror.style.left = '-9999px';
|
|
48
|
+
mirror.style.top = '-9999px';
|
|
49
|
+
mirror.style.visibility = 'hidden';
|
|
50
|
+
mirror.style.pointerEvents = 'none';
|
|
51
|
+
|
|
52
|
+
// Copy all relevant text styling
|
|
53
|
+
const stylesToCopy = ['fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'lineHeight', 'letterSpacing', 'wordSpacing', 'textAlign', 'textTransform', 'whiteSpace', 'overflowWrap', 'wordBreak', 'direction', 'unicodeBidi', 'width', 'height', 'maxWidth', 'maxHeight', 'minWidth', 'minHeight', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'border', 'borderTop', 'borderRight', 'borderBottom', 'borderLeft', 'boxSizing'];
|
|
54
|
+
stylesToCopy.forEach(prop => {
|
|
55
|
+
mirror.style[prop] = computedStyle[prop];
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
// Ensure the mirror has the same dimensions and overflow behavior as textarea
|
|
59
|
+
mirror.style.overflow = 'hidden';
|
|
60
|
+
mirror.style.resize = 'none';
|
|
61
|
+
container.appendChild(mirror);
|
|
62
|
+
try {
|
|
63
|
+
// Segment text into graphemes
|
|
64
|
+
const graphemes = segmentIntoGraphemes(text);
|
|
65
|
+
const spans = [];
|
|
66
|
+
|
|
67
|
+
// Create a span for each grapheme
|
|
68
|
+
graphemes.forEach((grapheme, index) => {
|
|
69
|
+
const span = document.createElement('span');
|
|
70
|
+
span.textContent = grapheme;
|
|
71
|
+
span.setAttribute('data-index', index.toString());
|
|
72
|
+
mirror.appendChild(span);
|
|
73
|
+
spans.push(span);
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// Group spans by their offsetTop (line position)
|
|
77
|
+
const lineGroups = new Map();
|
|
78
|
+
spans.forEach((span, index) => {
|
|
79
|
+
const top = span.offsetTop;
|
|
80
|
+
if (!lineGroups.has(top)) {
|
|
81
|
+
lineGroups.set(top, {
|
|
82
|
+
spans: [],
|
|
83
|
+
indices: []
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
lineGroups.get(top).spans.push(span);
|
|
87
|
+
lineGroups.get(top).indices.push(index);
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// Convert line groups to BrowserLine objects
|
|
91
|
+
const lines = [];
|
|
92
|
+
const sortedTops = Array.from(lineGroups.keys()).sort((a, b) => a - b);
|
|
93
|
+
sortedTops.forEach(top => {
|
|
94
|
+
const group = lineGroups.get(top);
|
|
95
|
+
const sortedIndices = group.indices.sort((a, b) => a - b);
|
|
96
|
+
const start = sortedIndices[0];
|
|
97
|
+
const end = sortedIndices[sortedIndices.length - 1] + 1;
|
|
98
|
+
const lineText = graphemes.slice(start, end).join('');
|
|
99
|
+
lines.push({
|
|
100
|
+
text: lineText,
|
|
101
|
+
start,
|
|
102
|
+
end
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
// Calculate total dimensions
|
|
107
|
+
const totalWidth = Math.max(...spans.map(span => span.offsetLeft + span.offsetWidth));
|
|
108
|
+
const totalHeight = spans.length > 0 ? Math.max(...spans.map(span => span.offsetTop + span.offsetHeight)) : 0;
|
|
109
|
+
return {
|
|
110
|
+
lines,
|
|
111
|
+
totalWidth,
|
|
112
|
+
totalHeight
|
|
113
|
+
};
|
|
114
|
+
} finally {
|
|
115
|
+
// Clean up mirror element
|
|
116
|
+
container.removeChild(mirror);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Create a hash of layout-affecting properties to detect when browser lines are still valid
|
|
122
|
+
*/
|
|
123
|
+
function createLayoutHash(target) {
|
|
124
|
+
const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
|
|
125
|
+
return properties.map(p => String(p)).join('|');
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Check if stored browser lines are still valid for the current target state
|
|
130
|
+
*/
|
|
131
|
+
function areBrowserLinesValid(target, storedHash) {
|
|
132
|
+
if (!storedHash || !target.__lastBrowserLines) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
const currentHash = createLayoutHash(target);
|
|
136
|
+
return currentHash === storedHash;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Store browser lines on a target object with validity hash
|
|
141
|
+
*/
|
|
142
|
+
function storeBrowserLines(target, lines, layoutHash) {
|
|
143
|
+
target.__lastBrowserLines = lines;
|
|
144
|
+
target.__lastBrowserLinesHash = createLayoutHash(target);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Clear stored browser lines from a target object
|
|
149
|
+
*/
|
|
150
|
+
function clearBrowserLines(target) {
|
|
151
|
+
delete target.__lastBrowserLines;
|
|
152
|
+
delete target.__lastBrowserLinesHash;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Get stored browser lines if they're still valid
|
|
157
|
+
*/
|
|
158
|
+
function getBrowserLines(target) {
|
|
159
|
+
const lines = target.__lastBrowserLines;
|
|
160
|
+
const hash = target.__lastBrowserLinesHash;
|
|
161
|
+
if (lines && areBrowserLinesValid(target, hash)) {
|
|
162
|
+
return lines;
|
|
163
|
+
}
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export { areBrowserLinesValid, clearBrowserLines, createLayoutHash, extractLinesFromDOM, getBrowserLines, storeBrowserLines };
|
|
168
|
+
//# sourceMappingURL=browserLines.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserLines.mjs","sources":["../../../src/text/browserLines.ts"],"sourcesContent":["/**\r\n * Browser Line Break Extraction\r\n * \r\n * Captures exact line breaks as rendered by the browser to ensure\r\n * pixel-perfect consistency between DOM editing and canvas rendering.\r\n */\r\n\r\nexport interface BrowserLine {\r\n text: string;\r\n start: number; // character index in original text\r\n end: number; // character index in original text (exclusive)\r\n}\r\n\r\nexport interface BrowserLinesResult {\r\n lines: BrowserLine[];\r\n totalWidth: number;\r\n totalHeight: number;\r\n}\r\n\r\n/**\r\n * Segment text into graphemes safely using Intl.Segmenter or fallback\r\n */\r\nfunction segmentIntoGraphemes(text: string): string[] {\r\n if (typeof Intl !== 'undefined' && Intl.Segmenter) {\r\n const segmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });\r\n return Array.from(segmenter.segment(text), s => s.segment);\r\n }\r\n \r\n // Fallback: Use Array.from which handles basic Unicode correctly\r\n return Array.from(text);\r\n}\r\n\r\n/**\r\n * Extract line break information from a textarea by creating a mirror element\r\n * with identical computed styles and measuring grapheme positions.\r\n */\r\nexport function extractLinesFromDOM(textarea: HTMLTextAreaElement): BrowserLinesResult {\r\n const text = textarea.value;\r\n if (!text) {\r\n return {\r\n lines: [],\r\n totalWidth: 0,\r\n totalHeight: 0\r\n };\r\n }\r\n\r\n // Get computed styles from the textarea\r\n const computedStyle = getComputedStyle(textarea);\r\n const container = textarea.parentElement;\r\n if (!container) {\r\n throw new Error('Textarea must be in DOM to extract lines');\r\n }\r\n\r\n // Create mirror div with identical styling\r\n const mirror = document.createElement('div');\r\n mirror.style.position = 'absolute';\r\n mirror.style.left = '-9999px';\r\n mirror.style.top = '-9999px';\r\n mirror.style.visibility = 'hidden';\r\n mirror.style.pointerEvents = 'none';\r\n \r\n // Copy all relevant text styling\r\n const stylesToCopy = [\r\n 'fontSize',\r\n 'fontFamily',\r\n 'fontWeight',\r\n 'fontStyle',\r\n 'lineHeight',\r\n 'letterSpacing',\r\n 'wordSpacing',\r\n 'textAlign',\r\n 'textTransform',\r\n 'whiteSpace',\r\n 'overflowWrap',\r\n 'wordBreak',\r\n 'direction',\r\n 'unicodeBidi',\r\n 'width',\r\n 'height',\r\n 'maxWidth',\r\n 'maxHeight',\r\n 'minWidth',\r\n 'minHeight',\r\n 'padding',\r\n 'paddingTop',\r\n 'paddingRight',\r\n 'paddingBottom',\r\n 'paddingLeft',\r\n 'border',\r\n 'borderTop',\r\n 'borderRight',\r\n 'borderBottom',\r\n 'borderLeft',\r\n 'boxSizing',\r\n ];\r\n \r\n stylesToCopy.forEach(prop => {\r\n (mirror.style as any)[prop] = (computedStyle as any)[prop];\r\n });\r\n\r\n // Ensure the mirror has the same dimensions and overflow behavior as textarea\r\n mirror.style.overflow = 'hidden';\r\n mirror.style.resize = 'none';\r\n\r\n container.appendChild(mirror);\r\n\r\n try {\r\n // Segment text into graphemes\r\n const graphemes = segmentIntoGraphemes(text);\r\n const spans: HTMLSpanElement[] = [];\r\n \r\n // Create a span for each grapheme\r\n graphemes.forEach((grapheme, index) => {\r\n const span = document.createElement('span');\r\n span.textContent = grapheme;\r\n span.setAttribute('data-index', index.toString());\r\n mirror.appendChild(span);\r\n spans.push(span);\r\n });\r\n\r\n // Group spans by their offsetTop (line position)\r\n const lineGroups = new Map<number, { spans: HTMLSpanElement[], indices: number[] }>();\r\n \r\n spans.forEach((span, index) => {\r\n const top = span.offsetTop;\r\n if (!lineGroups.has(top)) {\r\n lineGroups.set(top, { spans: [], indices: [] });\r\n }\r\n lineGroups.get(top)!.spans.push(span);\r\n lineGroups.get(top)!.indices.push(index);\r\n });\r\n\r\n // Convert line groups to BrowserLine objects\r\n const lines: BrowserLine[] = [];\r\n const sortedTops = Array.from(lineGroups.keys()).sort((a, b) => a - b);\r\n \r\n sortedTops.forEach(top => {\r\n const group = lineGroups.get(top)!;\r\n const sortedIndices = group.indices.sort((a, b) => a - b);\r\n \r\n const start = sortedIndices[0];\r\n const end = sortedIndices[sortedIndices.length - 1] + 1;\r\n const lineText = graphemes.slice(start, end).join('');\r\n \r\n lines.push({\r\n text: lineText,\r\n start,\r\n end,\r\n });\r\n });\r\n\r\n // Calculate total dimensions\r\n const totalWidth = Math.max(...spans.map(span => span.offsetLeft + span.offsetWidth));\r\n const totalHeight = spans.length > 0 ? \r\n Math.max(...spans.map(span => span.offsetTop + span.offsetHeight)) : 0;\r\n\r\n return {\r\n lines,\r\n totalWidth,\r\n totalHeight\r\n };\r\n \r\n } finally {\r\n // Clean up mirror element\r\n container.removeChild(mirror);\r\n }\r\n}\r\n\r\n/**\r\n * Create a hash of layout-affecting properties to detect when browser lines are still valid\r\n */\r\nexport function createLayoutHash(target: any): string {\r\n const properties = [\r\n target.text,\r\n target.width,\r\n target.height,\r\n target.fontFamily,\r\n target.fontSize,\r\n target.fontWeight,\r\n target.fontStyle,\r\n target.lineHeight,\r\n target.charSpacing,\r\n target.textAlign,\r\n target.direction,\r\n ];\r\n \r\n return properties.map(p => String(p)).join('|');\r\n}\r\n\r\n/**\r\n * Check if stored browser lines are still valid for the current target state\r\n */\r\nexport function areBrowserLinesValid(target: any, storedHash?: string): boolean {\r\n if (!storedHash || !(target as any).__lastBrowserLines) {\r\n return false;\r\n }\r\n \r\n const currentHash = createLayoutHash(target);\r\n return currentHash === storedHash;\r\n}\r\n\r\n/**\r\n * Store browser lines on a target object with validity hash\r\n */\r\nexport function storeBrowserLines(\r\n target: any, \r\n lines: BrowserLine[], \r\n layoutHash?: string\r\n): void {\r\n (target as any).__lastBrowserLines = lines;\r\n (target as any).__lastBrowserLinesHash = layoutHash || createLayoutHash(target);\r\n}\r\n\r\n/**\r\n * Clear stored browser lines from a target object\r\n */\r\nexport function clearBrowserLines(target: any): void {\r\n delete (target as any).__lastBrowserLines;\r\n delete (target as any).__lastBrowserLinesHash;\r\n}\r\n\r\n/**\r\n * Get stored browser lines if they're still valid\r\n */\r\nexport function getBrowserLines(target: any): BrowserLine[] | null {\r\n const lines = (target as any).__lastBrowserLines;\r\n const hash = (target as any).__lastBrowserLinesHash;\r\n \r\n if (lines && areBrowserLinesValid(target, hash)) {\r\n return lines;\r\n }\r\n \r\n return null;\r\n}"],"names":["segmentIntoGraphemes","text","Intl","Segmenter","segmenter","undefined","granularity","Array","from","segment","s","extractLinesFromDOM","textarea","value","lines","totalWidth","totalHeight","computedStyle","getComputedStyle","container","parentElement","Error","mirror","document","createElement","style","position","left","top","visibility","pointerEvents","stylesToCopy","forEach","prop","overflow","resize","appendChild","graphemes","spans","grapheme","index","span","textContent","setAttribute","toString","push","lineGroups","Map","offsetTop","has","set","indices","get","sortedTops","keys","sort","a","b","group","sortedIndices","start","end","length","lineText","slice","join","Math","max","map","offsetLeft","offsetWidth","offsetHeight","removeChild","createLayoutHash","target","properties","width","height","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","charSpacing","textAlign","direction","p","String","areBrowserLinesValid","storedHash","__lastBrowserLines","currentHash","storeBrowserLines","layoutHash","__lastBrowserLinesHash","clearBrowserLines","getBrowserLines","hash"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ellipsis Text Truncation System
|
|
3
|
+
*
|
|
4
|
+
* Implements text truncation with ellipsis when content exceeds bounds,
|
|
5
|
+
* using binary search for optimal truncation points.
|
|
6
|
+
*/
|
|
7
|
+
export interface EllipsisOptions {
|
|
8
|
+
maxWidth?: number;
|
|
9
|
+
maxHeight?: number;
|
|
10
|
+
ellipsisChar: string;
|
|
11
|
+
measureFn: (text: string) => number | {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface EllipsisResult {
|
|
17
|
+
truncatedText: string;
|
|
18
|
+
isTruncated: boolean;
|
|
19
|
+
truncationIndex: number;
|
|
20
|
+
ellipsisWidth: number;
|
|
21
|
+
originalLength: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Apply ellipsis truncation to text based on width/height constraints
|
|
25
|
+
*/
|
|
26
|
+
export declare function applyEllipsis(text: string, options: EllipsisOptions): EllipsisResult;
|
|
27
|
+
/**
|
|
28
|
+
* Find optimal truncation point using binary search
|
|
29
|
+
*/
|
|
30
|
+
export declare function findTruncationPoint(text: string, maxWidth: number, ellipsisWidth: number, measureFn: (text: string) => number): number;
|
|
31
|
+
/**
|
|
32
|
+
* Smart truncation that tries to break at word boundaries
|
|
33
|
+
*/
|
|
34
|
+
export declare function smartTruncate(text: string, maxWidth: number, ellipsisChar: string, measureFn: (text: string) => number): EllipsisResult;
|
|
35
|
+
/**
|
|
36
|
+
* Truncate multi-line text with ellipsis on the last visible line
|
|
37
|
+
*/
|
|
38
|
+
export declare function truncateMultiline(lines: string[], maxLines: number, ellipsisChar: string, maxWidth?: number, measureFn?: (text: string) => number): {
|
|
39
|
+
truncatedLines: string[];
|
|
40
|
+
isTruncated: boolean;
|
|
41
|
+
lastLineIndex: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Calculate ellipsis positioning for different alignments
|
|
45
|
+
*/
|
|
46
|
+
export declare function getEllipsisPosition(text: string, position: 'end' | 'middle' | 'start', maxWidth: number, ellipsisChar: string, measureFn: (text: string) => number): EllipsisResult;
|
|
47
|
+
//# sourceMappingURL=ellipsis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsis.d.ts","sourceRoot":"","sources":["../../../src/text/ellipsis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,cAAc,CAqEhB;AAgID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAClC,MAAM,CAoBR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAClC,cAAc,CA0DhB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GACnC;IACD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAsCA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,EACpC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAClC,cAAc,CAwBhB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{segmentGraphemes as t}from"./unicode.min.mjs";function n(n,i){const{maxWidth:r,maxHeight:u,ellipsisChar:o,measureFn:l}=i;if(!n)return{truncatedText:"",isTruncated:!1,truncationIndex:0,ellipsisWidth:0,originalLength:0};const c="number"==typeof l(o)?l(o):l(o).width,a=l(n),d="number"==typeof a?a:a.width,h="number"==typeof a?0:a.height;let s=!1;if(r&&d>r&&(s=!0),u&&h>u&&(s=!0),!s)return{truncatedText:n,isTruncated:!1,truncationIndex:t(n).length,ellipsisWidth:c,originalLength:t(n).length};if(r){return{...e(n,r,o,c,l),ellipsisWidth:c,originalLength:t(n).length}}if(u){const i=function(n,i,r,u){var o;const l=n.split("\n");let c="",a=0;for(a=0;a<l.length;a++){const e=0===a?l[a]:c+"\n"+l[a],r=u(e);if(("number"==typeof r?0:r.height)>i&&c)break;if(c=e,a===l.length-1)return{truncatedText:n,isTruncated:!1,truncationIndex:t(n).length}}if(a>0){const n=l[a-1],e=n+r,i=t(c);return{truncatedText:c.replace(/[^\n]*$/,e),isTruncated:!0,truncationIndex:i.length-t(n).length+t(e).length-1}}const d="function"==typeof u&&(null===(o=u(l[0]))||void 0===o?void 0:o.width)||1e3;return e(l[0],d,r,0,u)}(n,u,o,l);return{...i,ellipsisWidth:c,originalLength:t(n).length}}return{truncatedText:n,isTruncated:!1,truncationIndex:t(n).length,ellipsisWidth:c,originalLength:t(n).length}}function e(n,e,i,r,u){const o=t(n),l=e-r;let c=0,a=o.length,d=0;for(;c<=a;){const t=Math.floor((c+a)/2),n=u(o.slice(0,t).join(""));("number"==typeof n?n:n.width)<=l?(d=t,c=t+1):a=t-1}if(0===d)return{truncatedText:i,isTruncated:!0,truncationIndex:0};if(d===o.length)return{truncatedText:n,isTruncated:!1,truncationIndex:o.length};return{truncatedText:o.slice(0,d).join("")+i,isTruncated:!0,truncationIndex:d}}export{n as applyEllipsis};
|
|
2
|
+
//# sourceMappingURL=ellipsis.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsis.min.mjs","sources":["../../../src/text/ellipsis.ts"],"sourcesContent":["/**\r\n * Ellipsis Text Truncation System\r\n * \r\n * Implements text truncation with ellipsis when content exceeds bounds,\r\n * using binary search for optimal truncation points.\r\n */\r\n\r\nimport { segmentGraphemes } from './unicode';\r\n\r\nexport interface EllipsisOptions {\r\n maxWidth?: number;\r\n maxHeight?: number;\r\n ellipsisChar: string; // Default: \"…\"\r\n measureFn: (text: string) => number | { width: number; height: number };\r\n}\r\n\r\nexport interface EllipsisResult {\r\n truncatedText: string;\r\n isTruncated: boolean;\r\n truncationIndex: number; // Grapheme index where truncation occurred\r\n ellipsisWidth: number;\r\n originalLength: number;\r\n}\r\n\r\n/**\r\n * Apply ellipsis truncation to text based on width/height constraints\r\n */\r\nexport function applyEllipsis(\r\n text: string,\r\n options: EllipsisOptions\r\n): EllipsisResult {\r\n const { maxWidth, maxHeight, ellipsisChar, measureFn } = options;\r\n \r\n if (!text) {\r\n return {\r\n truncatedText: '',\r\n isTruncated: false,\r\n truncationIndex: 0,\r\n ellipsisWidth: 0,\r\n originalLength: 0,\r\n };\r\n }\r\n\r\n // Measure ellipsis width\r\n const ellipsisWidth = typeof measureFn(ellipsisChar) === 'number' \r\n ? measureFn(ellipsisChar) as number\r\n : (measureFn(ellipsisChar) as { width: number }).width;\r\n\r\n // Check if truncation is needed\r\n const originalMeasurement = measureFn(text);\r\n const originalWidth = typeof originalMeasurement === 'number' \r\n ? originalMeasurement \r\n : originalMeasurement.width;\r\n const originalHeight = typeof originalMeasurement === 'number'\r\n ? 0 // Height constraint not applicable for single dimension measure\r\n : originalMeasurement.height;\r\n\r\n let needsTruncation = false;\r\n if (maxWidth && originalWidth > maxWidth) needsTruncation = true;\r\n if (maxHeight && originalHeight > maxHeight) needsTruncation = true;\r\n\r\n if (!needsTruncation) {\r\n return {\r\n truncatedText: text,\r\n isTruncated: false,\r\n truncationIndex: segmentGraphemes(text).length,\r\n ellipsisWidth,\r\n originalLength: segmentGraphemes(text).length,\r\n };\r\n }\r\n\r\n // Apply width-based truncation\r\n if (maxWidth) {\r\n const widthTruncated = truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn);\r\n return {\r\n ...widthTruncated,\r\n ellipsisWidth,\r\n originalLength: segmentGraphemes(text).length,\r\n };\r\n }\r\n\r\n // Apply height-based truncation (for multi-line text)\r\n if (maxHeight) {\r\n const heightTruncated = truncateByHeight(text, maxHeight, ellipsisChar, measureFn);\r\n return {\r\n ...heightTruncated,\r\n ellipsisWidth,\r\n originalLength: segmentGraphemes(text).length,\r\n };\r\n }\r\n\r\n // Fallback - should not reach here\r\n return {\r\n truncatedText: text,\r\n isTruncated: false,\r\n truncationIndex: segmentGraphemes(text).length,\r\n ellipsisWidth,\r\n originalLength: segmentGraphemes(text).length,\r\n };\r\n}\r\n\r\n/**\r\n * Truncate text based on width constraint using binary search\r\n */\r\nfunction truncateByWidth(\r\n text: string,\r\n maxWidth: number,\r\n ellipsisChar: string,\r\n ellipsisWidth: number,\r\n measureFn: (text: string) => number | { width: number; height: number }\r\n): Omit<EllipsisResult, 'ellipsisWidth' | 'originalLength'> {\r\n const graphemes = segmentGraphemes(text);\r\n const availableWidth = maxWidth - ellipsisWidth;\r\n\r\n // Binary search for optimal truncation point\r\n let low = 0;\r\n let high = graphemes.length;\r\n let bestFit = 0;\r\n\r\n while (low <= high) {\r\n const mid = Math.floor((low + high) / 2);\r\n const candidate = graphemes.slice(0, mid).join('');\r\n \r\n const measurement = measureFn(candidate);\r\n const candidateWidth = typeof measurement === 'number' \r\n ? measurement \r\n : measurement.width;\r\n\r\n if (candidateWidth <= availableWidth) {\r\n bestFit = mid;\r\n low = mid + 1;\r\n } else {\r\n high = mid - 1;\r\n }\r\n }\r\n\r\n // Handle edge cases\r\n if (bestFit === 0) {\r\n // Even single character doesn't fit - return ellipsis only\r\n return {\r\n truncatedText: ellipsisChar,\r\n isTruncated: true,\r\n truncationIndex: 0,\r\n };\r\n }\r\n\r\n if (bestFit === graphemes.length) {\r\n // Everything fits even with ellipsis space reserved\r\n return {\r\n truncatedText: text,\r\n isTruncated: false,\r\n truncationIndex: graphemes.length,\r\n };\r\n }\r\n\r\n // Create truncated text with ellipsis\r\n const truncatedText = graphemes.slice(0, bestFit).join('') + ellipsisChar;\r\n\r\n return {\r\n truncatedText,\r\n isTruncated: true,\r\n truncationIndex: bestFit,\r\n };\r\n}\r\n\r\n/**\r\n * Truncate text based on height constraint\r\n */\r\nfunction truncateByHeight(\r\n text: string,\r\n maxHeight: number,\r\n ellipsisChar: string,\r\n measureFn: (text: string) => number | { width: number; height: number }\r\n): Omit<EllipsisResult, 'ellipsisWidth' | 'originalLength'> {\r\n const lines = text.split('\\n');\r\n let accumulatedText = '';\r\n let lineIndex = 0;\r\n\r\n // Add lines until height exceeded\r\n for (lineIndex = 0; lineIndex < lines.length; lineIndex++) {\r\n const testText = lineIndex === 0 \r\n ? lines[lineIndex] \r\n : accumulatedText + '\\n' + lines[lineIndex];\r\n \r\n const measurement = measureFn(testText);\r\n const height = typeof measurement === 'number' \r\n ? 0 // Single dimension measure doesn't provide height\r\n : measurement.height;\r\n\r\n if (height > maxHeight && accumulatedText) {\r\n // Previous text fits, current doesn't - truncate at previous\r\n break;\r\n }\r\n\r\n accumulatedText = testText;\r\n\r\n // If this is the last line and it fits, no truncation needed\r\n if (lineIndex === lines.length - 1) {\r\n return {\r\n truncatedText: text,\r\n isTruncated: false,\r\n truncationIndex: segmentGraphemes(text).length,\r\n };\r\n }\r\n }\r\n\r\n // If we need to truncate the last fitting line to add ellipsis\r\n if (lineIndex > 0) {\r\n const lastFittingLine = lines[lineIndex - 1];\r\n const withEllipsis = lastFittingLine + ellipsisChar;\r\n const graphemes = segmentGraphemes(accumulatedText);\r\n\r\n return {\r\n truncatedText: accumulatedText.replace(/[^\\n]*$/, withEllipsis),\r\n isTruncated: true,\r\n truncationIndex: graphemes.length - segmentGraphemes(lastFittingLine).length + segmentGraphemes(withEllipsis).length - 1,\r\n };\r\n }\r\n\r\n // First line doesn't fit - try width-based truncation on first line\r\n const firstLineWidth = typeof measureFn === 'function' \r\n ? (measureFn(lines[0]) as any)?.width || 1000\r\n : 1000; // Fallback width\r\n\r\n return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);\r\n}\r\n\r\n/**\r\n * Find optimal truncation point using binary search\r\n */\r\nexport function findTruncationPoint(\r\n text: string,\r\n maxWidth: number,\r\n ellipsisWidth: number,\r\n measureFn: (text: string) => number\r\n): number {\r\n const graphemes = segmentGraphemes(text);\r\n const availableWidth = maxWidth - ellipsisWidth;\r\n\r\n let low = 0;\r\n let high = graphemes.length;\r\n\r\n while (low < high) {\r\n const mid = Math.floor((low + high + 1) / 2);\r\n const candidate = graphemes.slice(0, mid).join('');\r\n const width = measureFn(candidate);\r\n\r\n if (width <= availableWidth) {\r\n low = mid;\r\n } else {\r\n high = mid - 1;\r\n }\r\n }\r\n\r\n return low;\r\n}\r\n\r\n/**\r\n * Smart truncation that tries to break at word boundaries\r\n */\r\nexport function smartTruncate(\r\n text: string,\r\n maxWidth: number,\r\n ellipsisChar: string,\r\n measureFn: (text: string) => number\r\n): EllipsisResult {\r\n const ellipsisWidth = measureFn(ellipsisChar);\r\n const availableWidth = maxWidth - ellipsisWidth;\r\n \r\n // First try exact truncation\r\n const exactPoint = findTruncationPoint(text, maxWidth, ellipsisWidth, measureFn);\r\n const graphemes = segmentGraphemes(text);\r\n \r\n if (exactPoint === 0) {\r\n return {\r\n truncatedText: ellipsisChar,\r\n isTruncated: true,\r\n truncationIndex: 0,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n }\r\n\r\n if (exactPoint >= graphemes.length) {\r\n return {\r\n truncatedText: text,\r\n isTruncated: false,\r\n truncationIndex: graphemes.length,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n }\r\n\r\n // Try to find a word boundary before the exact point\r\n const textUpToPoint = graphemes.slice(0, exactPoint).join('');\r\n const words = textUpToPoint.split(/(\\s+)/);\r\n \r\n if (words.length > 1) {\r\n // Try truncating at last complete word\r\n const wordsWithoutLast = words.slice(0, -2); // Remove last word and space\r\n const wordBoundaryText = wordsWithoutLast.join('');\r\n const wordBoundaryWidth = measureFn(wordBoundaryText);\r\n \r\n if (wordBoundaryWidth + ellipsisWidth <= maxWidth && wordBoundaryText.trim()) {\r\n const wordBoundaryGraphemes = segmentGraphemes(wordBoundaryText);\r\n return {\r\n truncatedText: wordBoundaryText.trim() + ellipsisChar,\r\n isTruncated: true,\r\n truncationIndex: wordBoundaryGraphemes.length,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n }\r\n }\r\n\r\n // Fall back to character truncation\r\n return {\r\n truncatedText: graphemes.slice(0, exactPoint).join('') + ellipsisChar,\r\n isTruncated: true,\r\n truncationIndex: exactPoint,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n}\r\n\r\n/**\r\n * Truncate multi-line text with ellipsis on the last visible line\r\n */\r\nexport function truncateMultiline(\r\n lines: string[],\r\n maxLines: number,\r\n ellipsisChar: string,\r\n maxWidth?: number,\r\n measureFn?: (text: string) => number\r\n): {\r\n truncatedLines: string[];\r\n isTruncated: boolean;\r\n lastLineIndex: number;\r\n} {\r\n if (lines.length <= maxLines) {\r\n return {\r\n truncatedLines: lines,\r\n isTruncated: false,\r\n lastLineIndex: lines.length - 1,\r\n };\r\n }\r\n\r\n // Take lines up to limit\r\n const visibleLines = lines.slice(0, maxLines);\r\n \r\n // Add ellipsis to last line if needed\r\n if (maxWidth && measureFn) {\r\n const lastLineIndex = visibleLines.length - 1;\r\n const lastLine = visibleLines[lastLineIndex];\r\n const lastLineWithEllipsis = lastLine + ellipsisChar;\r\n \r\n if (measureFn(lastLineWithEllipsis) > maxWidth) {\r\n // Last line + ellipsis doesn't fit, truncate it\r\n const ellipsisWidth = measureFn(ellipsisChar);\r\n const truncationPoint = findTruncationPoint(lastLine, maxWidth, ellipsisWidth, measureFn);\r\n const graphemes = segmentGraphemes(lastLine);\r\n visibleLines[lastLineIndex] = graphemes.slice(0, truncationPoint).join('') + ellipsisChar;\r\n } else {\r\n visibleLines[lastLineIndex] = lastLineWithEllipsis;\r\n }\r\n } else {\r\n // Just add ellipsis to last line\r\n const lastLineIndex = visibleLines.length - 1;\r\n visibleLines[lastLineIndex] = visibleLines[lastLineIndex] + ellipsisChar;\r\n }\r\n\r\n return {\r\n truncatedLines: visibleLines,\r\n isTruncated: true,\r\n lastLineIndex: maxLines - 1,\r\n };\r\n}\r\n\r\n/**\r\n * Calculate ellipsis positioning for different alignments\r\n */\r\nexport function getEllipsisPosition(\r\n text: string,\r\n position: 'end' | 'middle' | 'start',\r\n maxWidth: number,\r\n ellipsisChar: string,\r\n measureFn: (text: string) => number\r\n): EllipsisResult {\r\n const ellipsisWidth = measureFn(ellipsisChar);\r\n const graphemes = segmentGraphemes(text);\r\n const totalWidth = measureFn(text);\r\n \r\n if (totalWidth <= maxWidth) {\r\n return {\r\n truncatedText: text,\r\n isTruncated: false,\r\n truncationIndex: graphemes.length,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n }\r\n\r\n switch (position) {\r\n case 'start':\r\n return truncateFromStart(text, maxWidth, ellipsisChar, measureFn);\r\n case 'middle':\r\n return truncateFromMiddle(text, maxWidth, ellipsisChar, measureFn);\r\n case 'end':\r\n default:\r\n return smartTruncate(text, maxWidth, ellipsisChar, measureFn);\r\n }\r\n}\r\n\r\n/**\r\n * Truncate from start with ellipsis at beginning\r\n */\r\nfunction truncateFromStart(\r\n text: string,\r\n maxWidth: number,\r\n ellipsisChar: string,\r\n measureFn: (text: string) => number\r\n): EllipsisResult {\r\n const ellipsisWidth = measureFn(ellipsisChar);\r\n const graphemes = segmentGraphemes(text);\r\n const availableWidth = maxWidth - ellipsisWidth;\r\n\r\n let low = 0;\r\n let high = graphemes.length;\r\n\r\n while (low < high) {\r\n const mid = Math.floor((low + high) / 2);\r\n const candidate = graphemes.slice(mid).join('');\r\n const width = measureFn(candidate);\r\n\r\n if (width <= availableWidth) {\r\n high = mid;\r\n } else {\r\n low = mid + 1;\r\n }\r\n }\r\n\r\n if (low >= graphemes.length) {\r\n return {\r\n truncatedText: ellipsisChar,\r\n isTruncated: true,\r\n truncationIndex: 0,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n }\r\n\r\n return {\r\n truncatedText: ellipsisChar + graphemes.slice(low).join(''),\r\n isTruncated: true,\r\n truncationIndex: low,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n}\r\n\r\n/**\r\n * Truncate from middle with ellipsis in center\r\n */\r\nfunction truncateFromMiddle(\r\n text: string,\r\n maxWidth: number,\r\n ellipsisChar: string,\r\n measureFn: (text: string) => number\r\n): EllipsisResult {\r\n const ellipsisWidth = measureFn(ellipsisChar);\r\n const graphemes = segmentGraphemes(text);\r\n const availableWidth = maxWidth - ellipsisWidth;\r\n\r\n // Binary search for optimal split\r\n let low = 0;\r\n let high = Math.floor(graphemes.length / 2);\r\n\r\n while (low < high) {\r\n const startChars = Math.floor((low + high + 1) / 2);\r\n const endChars = startChars;\r\n \r\n const candidate = graphemes.slice(0, startChars).join('') + \r\n graphemes.slice(-endChars).join('');\r\n const width = measureFn(candidate);\r\n\r\n if (width <= availableWidth) {\r\n low = startChars;\r\n } else {\r\n high = startChars - 1;\r\n }\r\n }\r\n\r\n const startChars = low;\r\n const endChars = low;\r\n\r\n if (startChars + endChars >= graphemes.length) {\r\n return {\r\n truncatedText: text,\r\n isTruncated: false,\r\n truncationIndex: graphemes.length,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n }\r\n\r\n const truncatedText = graphemes.slice(0, startChars).join('') + \r\n ellipsisChar + \r\n graphemes.slice(-endChars).join('');\r\n\r\n return {\r\n truncatedText,\r\n isTruncated: true,\r\n truncationIndex: startChars,\r\n ellipsisWidth,\r\n originalLength: graphemes.length,\r\n };\r\n}"],"names":["applyEllipsis","text","options","maxWidth","maxHeight","ellipsisChar","measureFn","truncatedText","isTruncated","truncationIndex","ellipsisWidth","originalLength","width","originalMeasurement","originalWidth","originalHeight","height","needsTruncation","segmentGraphemes","length","truncateByWidth","heightTruncated","_measureFn","lines","split","accumulatedText","lineIndex","testText","measurement","lastFittingLine","withEllipsis","graphemes","replace","firstLineWidth","truncateByHeight","availableWidth","low","high","bestFit","mid","Math","floor","slice","join"],"mappings":"qDA2BO,SAASA,EACdC,EACAC,GAEA,MAAMC,SAAEA,EAAQC,UAAEA,EAASC,aAAEA,EAAYC,UAAEA,GAAcJ,EAEzD,IAAKD,EACH,MAAO,CACLM,cAAe,GACfC,aAAa,EACbC,gBAAiB,EACjBC,cAAe,EACfC,eAAgB,GAKpB,MAAMD,EAAmD,iBAA5BJ,EAAUD,GACnCC,EAAUD,GACTC,EAAUD,GAAoCO,MAG7CC,EAAsBP,EAAUL,GAChCa,EAA+C,iBAAxBD,EACzBA,EACAA,EAAoBD,MAClBG,EAAgD,iBAAxBF,EAC1B,EACAA,EAAoBG,OAExB,IAAIC,GAAkB,EAItB,GAHId,GAAYW,EAAgBX,IAAUc,GAAkB,GACxDb,GAAaW,EAAiBX,IAAWa,GAAkB,IAE1DA,EACH,MAAO,CACLV,cAAeN,EACfO,aAAa,EACbC,gBAAiBS,EAAiBjB,GAAMkB,OACxCT,gBACAC,eAAgBO,EAAiBjB,GAAMkB,QAK3C,GAAIhB,EAAU,CAEZ,MAAO,IADgBiB,EAAgBnB,EAAME,EAAUE,EAAcK,EAAeJ,GAGlFI,gBACAC,eAAgBO,EAAiBjB,GAAMkB,OAE3C,CAGA,GAAIf,EAAW,CACb,MAAMiB,EAqFV,SACEpB,EACAG,EACAC,EACAC,GAC0D,IAAAgB,EAC1D,MAAMC,EAAQtB,EAAKuB,MAAM,MACzB,IAAIC,EAAkB,GAClBC,EAAY,EAGhB,IAAKA,EAAY,EAAGA,EAAYH,EAAMJ,OAAQO,IAAa,CACzD,MAAMC,EAAyB,IAAdD,EACbH,EAAMG,GACND,EAAkB,KAAOF,EAAMG,GAE7BE,EAActB,EAAUqB,GAK9B,IAJsC,iBAAhBC,EAClB,EACAA,EAAYZ,QAEHZ,GAAaqB,EAExB,MAMF,GAHAA,EAAkBE,EAGdD,IAAcH,EAAMJ,OAAS,EAC/B,MAAO,CACLZ,cAAeN,EACfO,aAAa,EACbC,gBAAiBS,EAAiBjB,GAAMkB,OAG9C,CAGA,GAAIO,EAAY,EAAG,CACjB,MAAMG,EAAkBN,EAAMG,EAAY,GACpCI,EAAeD,EAAkBxB,EACjC0B,EAAYb,EAAiBO,GAEnC,MAAO,CACLlB,cAAekB,EAAgBO,QAAQ,UAAWF,GAClDtB,aAAa,EACbC,gBAAiBsB,EAAUZ,OAASD,EAAiBW,GAAiBV,OAASD,EAAiBY,GAAcX,OAAS,EAE3H,CAGA,MAAMc,EAAsC,mBAAd3B,IACN,QAApBgB,EAAChB,EAAUiB,EAAM,WAAG,IAAAD,OAAA,EAApBA,EAA8BV,QAC9B,IAEJ,OAAOQ,EAAgBG,EAAM,GAAIU,EAAgB5B,EAAc,EAAGC,EACpE,CA9I4B4B,CAAiBjC,EAAMG,EAAWC,EAAcC,GACxE,MAAO,IACFe,EACHX,gBACAC,eAAgBO,EAAiBjB,GAAMkB,OAE3C,CAGA,MAAO,CACLZ,cAAeN,EACfO,aAAa,EACbC,gBAAiBS,EAAiBjB,GAAMkB,OACxCT,gBACAC,eAAgBO,EAAiBjB,GAAMkB,OAE3C,CAKA,SAASC,EACPnB,EACAE,EACAE,EACAK,EACAJ,GAEA,MAAMyB,EAAYb,EAAiBjB,GAC7BkC,EAAiBhC,EAAWO,EAGlC,IAAI0B,EAAM,EACNC,EAAON,EAAUZ,OACjBmB,EAAU,EAEd,KAAOF,GAAOC,GAAM,CAClB,MAAME,EAAMC,KAAKC,OAAOL,EAAMC,GAAQ,GAGhCT,EAActB,EAFFyB,EAAUW,MAAM,EAAGH,GAAKI,KAAK,MAGD,iBAAhBf,EAC1BA,EACAA,EAAYhB,QAEMuB,GACpBG,EAAUC,EACVH,EAAMG,EAAM,GAEZF,EAAOE,EAAM,CAEjB,CAGA,GAAgB,IAAZD,EAEF,MAAO,CACL/B,cAAeF,EACfG,aAAa,EACbC,gBAAiB,GAIrB,GAAI6B,IAAYP,EAAUZ,OAExB,MAAO,CACLZ,cAAeN,EACfO,aAAa,EACbC,gBAAiBsB,EAAUZ,QAO/B,MAAO,CACLZ,cAHoBwB,EAAUW,MAAM,EAAGJ,GAASK,KAAK,IAAMtC,EAI3DG,aAAa,EACbC,gBAAiB6B,EAErB"}
|