@nasser-sw/fabric 7.0.1-beta13 → 7.0.1-beta14

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.
Files changed (2543) hide show
  1. package/.babelrc +0 -0
  2. package/.babelrcAlt +0 -0
  3. package/.browserslistrc +0 -0
  4. package/.editorconfig +0 -0
  5. package/.gitattributes +0 -0
  6. package/.gitpod.yml +0 -0
  7. package/.prettierignore +0 -0
  8. package/.prettierrc +0 -0
  9. package/0 +0 -0
  10. package/CHANGELOG.md +0 -0
  11. package/CODE_OF_CONDUCT.md +0 -0
  12. package/CONTRIBUTING.md +0 -0
  13. package/LICENSE +0 -0
  14. package/OVERLAY_EDITOR_MIGRATION.md +0 -0
  15. package/README.md +0 -0
  16. package/SECURITY.md +0 -0
  17. package/debug/{konva-master → konva}/CHANGELOG.md +1 -2
  18. package/debug/{konva-master → konva}/LICENSE +0 -0
  19. package/debug/{konva-master → konva}/README.md +3 -7
  20. package/debug/{konva-master → konva}/gulpfile.mjs +0 -0
  21. package/debug/{konva-master → konva}/package.json +1 -1
  22. package/debug/{konva-master → konva}/release.sh +4 -1
  23. package/debug/{konva-master → konva}/resources/doc-includes/ContainerParams.txt +0 -0
  24. package/debug/{konva-master → konva}/resources/doc-includes/NodeParams.txt +0 -0
  25. package/debug/{konva-master → konva}/resources/doc-includes/ShapeParams.txt +0 -0
  26. package/debug/{konva-master → konva}/resources/jsdoc.conf.json +0 -0
  27. package/debug/{konva-master → konva}/rollup.config.mjs +0 -0
  28. package/debug/{konva-master → konva}/src/Animation.ts +0 -0
  29. package/debug/{konva-master → konva}/src/BezierFunctions.ts +0 -0
  30. package/debug/{konva-master → konva}/src/Canvas.ts +0 -37
  31. package/debug/{konva-master → konva}/src/Container.ts +0 -0
  32. package/debug/{konva-master → konva}/src/Context.ts +0 -0
  33. package/debug/{konva-master → konva}/src/Core.ts +0 -0
  34. package/debug/{konva-master → konva}/src/DragAndDrop.ts +0 -0
  35. package/debug/{konva-master → konva}/src/Factory.ts +0 -0
  36. package/debug/{konva-master → konva}/src/FastLayer.ts +0 -0
  37. package/debug/{konva-master → konva}/src/Global.ts +0 -0
  38. package/debug/{konva-master → konva}/src/Group.ts +0 -0
  39. package/debug/{konva-master → konva}/src/Layer.ts +0 -0
  40. package/debug/{konva-master → konva}/src/Node.ts +0 -0
  41. package/debug/{konva-master → konva}/src/PointerEvents.ts +0 -0
  42. package/debug/{konva-master → konva}/src/Shape.ts +0 -0
  43. package/debug/{konva-master → konva}/src/Stage.ts +0 -0
  44. package/debug/{konva-master → konva}/src/Tween.ts +0 -0
  45. package/debug/{konva-master → konva}/src/Util.ts +0 -0
  46. package/debug/{konva-master → konva}/src/Validators.ts +0 -0
  47. package/debug/{konva-master → konva}/src/_CoreInternals.ts +0 -0
  48. package/debug/{konva-master → konva}/src/_FullInternals.ts +0 -0
  49. package/debug/{konva-master → konva}/src/canvas-backend.ts +0 -0
  50. package/debug/{konva-master → konva}/src/filters/Blur.ts +0 -0
  51. package/debug/{konva-master → konva}/src/filters/Brighten.ts +0 -0
  52. package/debug/{konva-master → konva}/src/filters/Brightness.ts +0 -0
  53. package/debug/{konva-master → konva}/src/filters/Contrast.ts +0 -0
  54. package/debug/{konva-master → konva}/src/filters/Emboss.ts +0 -0
  55. package/debug/{konva-master → konva}/src/filters/Enhance.ts +0 -0
  56. package/debug/{konva-master → konva}/src/filters/Grayscale.ts +0 -0
  57. package/debug/{konva-master → konva}/src/filters/HSL.ts +0 -0
  58. package/debug/{konva-master → konva}/src/filters/HSV.ts +0 -0
  59. package/debug/{konva-master → konva}/src/filters/Invert.ts +0 -0
  60. package/debug/{konva-master → konva}/src/filters/Kaleidoscope.ts +0 -0
  61. package/debug/{konva-master → konva}/src/filters/Mask.ts +0 -0
  62. package/debug/{konva-master → konva}/src/filters/Noise.ts +0 -0
  63. package/debug/{konva-master → konva}/src/filters/Pixelate.ts +0 -0
  64. package/debug/{konva-master → konva}/src/filters/Posterize.ts +0 -0
  65. package/debug/{konva-master → konva}/src/filters/RGB.ts +0 -0
  66. package/debug/{konva-master → konva}/src/filters/RGBA.ts +0 -0
  67. package/debug/{konva-master → konva}/src/filters/Sepia.ts +0 -0
  68. package/debug/{konva-master → konva}/src/filters/Solarize.ts +0 -0
  69. package/debug/{konva-master → konva}/src/filters/Threshold.ts +0 -0
  70. package/debug/{konva-master → konva}/src/index.ts +0 -0
  71. package/debug/{konva-master → konva}/src/shapes/Arc.ts +0 -0
  72. package/debug/{konva-master → konva}/src/shapes/Arrow.ts +0 -0
  73. package/debug/{konva-master → konva}/src/shapes/Circle.ts +0 -0
  74. package/debug/{konva-master → konva}/src/shapes/Ellipse.ts +0 -0
  75. package/debug/{konva-master → konva}/src/shapes/Image.ts +0 -0
  76. package/debug/{konva-master → konva}/src/shapes/Label.ts +0 -0
  77. package/debug/{konva-master → konva}/src/shapes/Line.ts +0 -0
  78. package/debug/{konva-master → konva}/src/shapes/Path.ts +0 -0
  79. package/debug/{konva-master → konva}/src/shapes/Rect.ts +0 -0
  80. package/debug/{konva-master → konva}/src/shapes/RegularPolygon.ts +0 -0
  81. package/debug/{konva-master → konva}/src/shapes/Ring.ts +0 -0
  82. package/debug/{konva-master → konva}/src/shapes/Sprite.ts +0 -0
  83. package/debug/{konva-master → konva}/src/shapes/Star.ts +0 -0
  84. package/debug/{konva-master → konva}/src/shapes/Text.ts +2 -2
  85. package/debug/{konva-master → konva}/src/shapes/TextPath.ts +0 -0
  86. package/debug/{konva-master → konva}/src/shapes/Transformer.ts +0 -0
  87. package/debug/{konva-master → konva}/src/shapes/Wedge.ts +0 -0
  88. package/debug/{konva-master → konva}/src/skia-backend.ts +0 -0
  89. package/debug/{konva-master → konva}/src/types.ts +0 -0
  90. package/debug/{konva-master → konva}/tsconfig.json +0 -0
  91. package/debug/{konva-master → konva}/tsconfig.test.json +0 -0
  92. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +0 -0
  93. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +0 -0
  94. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +0 -0
  95. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -0
  96. package/dist/extensions/aligning_guidelines/constant.d.ts +0 -0
  97. package/dist/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  98. package/dist/extensions/aligning_guidelines/index.d.ts +0 -0
  99. package/dist/extensions/aligning_guidelines/index.d.ts.map +0 -0
  100. package/dist/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  101. package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  102. package/dist/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  103. package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  104. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  105. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  106. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  107. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  108. package/dist/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  109. package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  110. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  111. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  112. package/dist/extensions/data_updaters/gradient/index.d.ts +0 -0
  113. package/dist/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  114. package/dist/extensions/data_updaters/origins/index.d.ts +0 -0
  115. package/dist/extensions/data_updaters/origins/index.d.ts.map +0 -0
  116. package/dist/extensions/index.d.ts +0 -0
  117. package/dist/extensions/index.d.ts.map +0 -0
  118. package/dist/fabric.d.ts +0 -0
  119. package/dist/fabric.d.ts.map +0 -0
  120. package/dist/fabric.min.mjs +0 -0
  121. package/dist/fabric.min.mjs.map +0 -0
  122. package/dist/fabric.mjs +0 -0
  123. package/dist/fabric.mjs.map +0 -0
  124. package/dist/index.d.ts +0 -0
  125. package/dist/index.d.ts.map +0 -0
  126. package/dist/index.js +1046 -721
  127. package/dist/index.js.map +1 -1
  128. package/dist/index.min.js +1 -1
  129. package/dist/index.min.js.map +1 -1
  130. package/dist/index.min.mjs +1 -1
  131. package/dist/index.min.mjs.map +1 -1
  132. package/dist/index.mjs +1046 -721
  133. package/dist/index.mjs.map +1 -1
  134. package/dist/index.node.cjs +1046 -721
  135. package/dist/index.node.cjs.map +1 -1
  136. package/dist/index.node.d.ts +0 -0
  137. package/dist/index.node.d.ts.map +0 -0
  138. package/dist/index.node.mjs +1046 -721
  139. package/dist/index.node.mjs.map +1 -1
  140. package/dist/package.json.min.mjs +1 -1
  141. package/dist/package.json.min.mjs.map +0 -0
  142. package/dist/package.json.mjs +1 -1
  143. package/dist/package.json.mjs.map +0 -0
  144. package/dist/src/ClassRegistry.d.ts +0 -0
  145. package/dist/src/ClassRegistry.d.ts.map +0 -0
  146. package/dist/src/ClassRegistry.min.mjs +0 -0
  147. package/dist/src/ClassRegistry.min.mjs.map +0 -0
  148. package/dist/src/ClassRegistry.mjs +0 -0
  149. package/dist/src/ClassRegistry.mjs.map +0 -0
  150. package/dist/src/Collection.d.ts +0 -0
  151. package/dist/src/Collection.d.ts.map +0 -0
  152. package/dist/src/Collection.min.mjs +0 -0
  153. package/dist/src/Collection.min.mjs.map +0 -0
  154. package/dist/src/Collection.mjs +0 -0
  155. package/dist/src/Collection.mjs.map +0 -0
  156. package/dist/src/CommonMethods.d.ts +0 -0
  157. package/dist/src/CommonMethods.d.ts.map +0 -0
  158. package/dist/src/CommonMethods.min.mjs +0 -0
  159. package/dist/src/CommonMethods.min.mjs.map +0 -0
  160. package/dist/src/CommonMethods.mjs +0 -0
  161. package/dist/src/CommonMethods.mjs.map +0 -0
  162. package/dist/src/EventTypeDefs.d.ts +0 -0
  163. package/dist/src/EventTypeDefs.d.ts.map +0 -0
  164. package/dist/src/Intersection.d.ts +0 -0
  165. package/dist/src/Intersection.d.ts.map +0 -0
  166. package/dist/src/Intersection.min.mjs +0 -0
  167. package/dist/src/Intersection.min.mjs.map +0 -0
  168. package/dist/src/Intersection.mjs +0 -0
  169. package/dist/src/Intersection.mjs.map +0 -0
  170. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  171. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  172. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +0 -0
  173. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +0 -0
  174. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -0
  175. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -0
  176. package/dist/src/LayoutManager/LayoutManager.d.ts +0 -0
  177. package/dist/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  178. package/dist/src/LayoutManager/LayoutManager.min.mjs +0 -0
  179. package/dist/src/LayoutManager/LayoutManager.min.mjs.map +0 -0
  180. package/dist/src/LayoutManager/LayoutManager.mjs +0 -0
  181. package/dist/src/LayoutManager/LayoutManager.mjs.map +0 -0
  182. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  183. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  184. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +0 -0
  185. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +0 -0
  186. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -0
  187. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -0
  188. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  189. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  190. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +0 -0
  191. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +0 -0
  192. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -0
  193. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -0
  194. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  195. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  196. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +0 -0
  197. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +0 -0
  198. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -0
  199. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -0
  200. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  201. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  202. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +0 -0
  203. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +0 -0
  204. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -0
  205. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -0
  206. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  207. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  208. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +0 -0
  209. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +0 -0
  210. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +0 -0
  211. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -0
  212. package/dist/src/LayoutManager/constants.d.ts +0 -0
  213. package/dist/src/LayoutManager/constants.d.ts.map +0 -0
  214. package/dist/src/LayoutManager/constants.min.mjs +0 -0
  215. package/dist/src/LayoutManager/constants.min.mjs.map +0 -0
  216. package/dist/src/LayoutManager/constants.mjs +0 -0
  217. package/dist/src/LayoutManager/constants.mjs.map +0 -0
  218. package/dist/src/LayoutManager/index.d.ts +0 -0
  219. package/dist/src/LayoutManager/index.d.ts.map +0 -0
  220. package/dist/src/LayoutManager/types.d.ts +0 -0
  221. package/dist/src/LayoutManager/types.d.ts.map +0 -0
  222. package/dist/src/Observable.d.ts +0 -0
  223. package/dist/src/Observable.d.ts.map +0 -0
  224. package/dist/src/Observable.min.mjs +0 -0
  225. package/dist/src/Observable.min.mjs.map +0 -0
  226. package/dist/src/Observable.mjs +0 -0
  227. package/dist/src/Observable.mjs.map +0 -0
  228. package/dist/src/Pattern/Pattern.d.ts +0 -0
  229. package/dist/src/Pattern/Pattern.d.ts.map +0 -0
  230. package/dist/src/Pattern/Pattern.min.mjs +0 -0
  231. package/dist/src/Pattern/Pattern.min.mjs.map +0 -0
  232. package/dist/src/Pattern/Pattern.mjs +0 -0
  233. package/dist/src/Pattern/Pattern.mjs.map +0 -0
  234. package/dist/src/Pattern/index.d.ts +0 -0
  235. package/dist/src/Pattern/index.d.ts.map +0 -0
  236. package/dist/src/Pattern/types.d.ts +0 -0
  237. package/dist/src/Pattern/types.d.ts.map +0 -0
  238. package/dist/src/Point.d.ts +0 -0
  239. package/dist/src/Point.d.ts.map +0 -0
  240. package/dist/src/Point.min.mjs +0 -0
  241. package/dist/src/Point.min.mjs.map +0 -0
  242. package/dist/src/Point.mjs +0 -0
  243. package/dist/src/Point.mjs.map +0 -0
  244. package/dist/src/Shadow.d.ts +0 -0
  245. package/dist/src/Shadow.d.ts.map +0 -0
  246. package/dist/src/Shadow.min.mjs +0 -0
  247. package/dist/src/Shadow.min.mjs.map +0 -0
  248. package/dist/src/Shadow.mjs +0 -0
  249. package/dist/src/Shadow.mjs.map +0 -0
  250. package/dist/src/brushes/BaseBrush.d.ts +0 -0
  251. package/dist/src/brushes/BaseBrush.d.ts.map +0 -0
  252. package/dist/src/brushes/BaseBrush.min.mjs +0 -0
  253. package/dist/src/brushes/BaseBrush.min.mjs.map +0 -0
  254. package/dist/src/brushes/BaseBrush.mjs +0 -0
  255. package/dist/src/brushes/BaseBrush.mjs.map +0 -0
  256. package/dist/src/brushes/CircleBrush.d.ts +0 -0
  257. package/dist/src/brushes/CircleBrush.d.ts.map +0 -0
  258. package/dist/src/brushes/CircleBrush.min.mjs +0 -0
  259. package/dist/src/brushes/CircleBrush.min.mjs.map +0 -0
  260. package/dist/src/brushes/CircleBrush.mjs +0 -0
  261. package/dist/src/brushes/CircleBrush.mjs.map +0 -0
  262. package/dist/src/brushes/PatternBrush.d.ts +0 -0
  263. package/dist/src/brushes/PatternBrush.d.ts.map +0 -0
  264. package/dist/src/brushes/PatternBrush.min.mjs +0 -0
  265. package/dist/src/brushes/PatternBrush.min.mjs.map +0 -0
  266. package/dist/src/brushes/PatternBrush.mjs +0 -0
  267. package/dist/src/brushes/PatternBrush.mjs.map +0 -0
  268. package/dist/src/brushes/PencilBrush.d.ts +0 -0
  269. package/dist/src/brushes/PencilBrush.d.ts.map +0 -0
  270. package/dist/src/brushes/PencilBrush.min.mjs +0 -0
  271. package/dist/src/brushes/PencilBrush.min.mjs.map +0 -0
  272. package/dist/src/brushes/PencilBrush.mjs +0 -0
  273. package/dist/src/brushes/PencilBrush.mjs.map +0 -0
  274. package/dist/src/brushes/SprayBrush.d.ts +0 -0
  275. package/dist/src/brushes/SprayBrush.d.ts.map +0 -0
  276. package/dist/src/brushes/SprayBrush.min.mjs +0 -0
  277. package/dist/src/brushes/SprayBrush.min.mjs.map +0 -0
  278. package/dist/src/brushes/SprayBrush.mjs +0 -0
  279. package/dist/src/brushes/SprayBrush.mjs.map +0 -0
  280. package/dist/src/brushes/typedefs.d.ts +0 -0
  281. package/dist/src/brushes/typedefs.d.ts.map +0 -0
  282. package/dist/src/cache.d.ts +0 -0
  283. package/dist/src/cache.d.ts.map +0 -0
  284. package/dist/src/cache.min.mjs +0 -0
  285. package/dist/src/cache.min.mjs.map +0 -0
  286. package/dist/src/cache.mjs +0 -0
  287. package/dist/src/cache.mjs.map +0 -0
  288. package/dist/src/canvas/Canvas.d.ts +0 -0
  289. package/dist/src/canvas/Canvas.d.ts.map +0 -0
  290. package/dist/src/canvas/Canvas.min.mjs +0 -0
  291. package/dist/src/canvas/Canvas.min.mjs.map +0 -0
  292. package/dist/src/canvas/Canvas.mjs +0 -0
  293. package/dist/src/canvas/Canvas.mjs.map +0 -0
  294. package/dist/src/canvas/CanvasOptions.d.ts +0 -0
  295. package/dist/src/canvas/CanvasOptions.d.ts.map +0 -0
  296. package/dist/src/canvas/CanvasOptions.min.mjs +0 -0
  297. package/dist/src/canvas/CanvasOptions.min.mjs.map +0 -0
  298. package/dist/src/canvas/CanvasOptions.mjs +0 -0
  299. package/dist/src/canvas/CanvasOptions.mjs.map +0 -0
  300. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  301. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  302. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +0 -0
  303. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +0 -0
  304. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -0
  305. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -0
  306. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  307. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  308. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +0 -0
  309. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +0 -0
  310. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -0
  311. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -0
  312. package/dist/src/canvas/DOMManagers/util.d.ts +0 -0
  313. package/dist/src/canvas/DOMManagers/util.d.ts.map +0 -0
  314. package/dist/src/canvas/DOMManagers/util.min.mjs +0 -0
  315. package/dist/src/canvas/DOMManagers/util.min.mjs.map +0 -0
  316. package/dist/src/canvas/DOMManagers/util.mjs +0 -0
  317. package/dist/src/canvas/DOMManagers/util.mjs.map +0 -0
  318. package/dist/src/canvas/SelectableCanvas.d.ts +0 -0
  319. package/dist/src/canvas/SelectableCanvas.d.ts.map +0 -0
  320. package/dist/src/canvas/SelectableCanvas.min.mjs +0 -0
  321. package/dist/src/canvas/SelectableCanvas.min.mjs.map +0 -0
  322. package/dist/src/canvas/SelectableCanvas.mjs +0 -0
  323. package/dist/src/canvas/SelectableCanvas.mjs.map +0 -0
  324. package/dist/src/canvas/StaticCanvas.d.ts +0 -0
  325. package/dist/src/canvas/StaticCanvas.d.ts.map +0 -0
  326. package/dist/src/canvas/StaticCanvas.min.mjs +0 -0
  327. package/dist/src/canvas/StaticCanvas.min.mjs.map +0 -0
  328. package/dist/src/canvas/StaticCanvas.mjs +0 -0
  329. package/dist/src/canvas/StaticCanvas.mjs.map +0 -0
  330. package/dist/src/canvas/StaticCanvasOptions.d.ts +0 -0
  331. package/dist/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  332. package/dist/src/canvas/StaticCanvasOptions.min.mjs +0 -0
  333. package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +0 -0
  334. package/dist/src/canvas/StaticCanvasOptions.mjs +0 -0
  335. package/dist/src/canvas/StaticCanvasOptions.mjs.map +0 -0
  336. package/dist/src/canvas/TextEditingManager.d.ts +0 -0
  337. package/dist/src/canvas/TextEditingManager.d.ts.map +0 -0
  338. package/dist/src/canvas/TextEditingManager.min.mjs +0 -0
  339. package/dist/src/canvas/TextEditingManager.min.mjs.map +0 -0
  340. package/dist/src/canvas/TextEditingManager.mjs +0 -0
  341. package/dist/src/canvas/TextEditingManager.mjs.map +0 -0
  342. package/dist/src/canvas/canvas_gestures.mixin.d.ts +0 -0
  343. package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +0 -0
  344. package/dist/src/color/Color.d.ts +0 -0
  345. package/dist/src/color/Color.d.ts.map +0 -0
  346. package/dist/src/color/Color.min.mjs +0 -0
  347. package/dist/src/color/Color.min.mjs.map +0 -0
  348. package/dist/src/color/Color.mjs +0 -0
  349. package/dist/src/color/Color.mjs.map +0 -0
  350. package/dist/src/color/color_map.d.ts +0 -0
  351. package/dist/src/color/color_map.d.ts.map +0 -0
  352. package/dist/src/color/color_map.min.mjs +0 -0
  353. package/dist/src/color/color_map.min.mjs.map +0 -0
  354. package/dist/src/color/color_map.mjs +0 -0
  355. package/dist/src/color/color_map.mjs.map +0 -0
  356. package/dist/src/color/constants.d.ts +0 -0
  357. package/dist/src/color/constants.d.ts.map +0 -0
  358. package/dist/src/color/constants.min.mjs +0 -0
  359. package/dist/src/color/constants.min.mjs.map +0 -0
  360. package/dist/src/color/constants.mjs +0 -0
  361. package/dist/src/color/constants.mjs.map +0 -0
  362. package/dist/src/color/typedefs.d.ts +0 -0
  363. package/dist/src/color/typedefs.d.ts.map +0 -0
  364. package/dist/src/color/util.d.ts +0 -0
  365. package/dist/src/color/util.d.ts.map +0 -0
  366. package/dist/src/color/util.min.mjs +0 -0
  367. package/dist/src/color/util.min.mjs.map +0 -0
  368. package/dist/src/color/util.mjs +0 -0
  369. package/dist/src/color/util.mjs.map +0 -0
  370. package/dist/src/config.d.ts +0 -0
  371. package/dist/src/config.d.ts.map +0 -0
  372. package/dist/src/config.min.mjs +0 -0
  373. package/dist/src/config.min.mjs.map +0 -0
  374. package/dist/src/config.mjs +0 -0
  375. package/dist/src/config.mjs.map +0 -0
  376. package/dist/src/constants.d.ts +0 -0
  377. package/dist/src/constants.d.ts.map +0 -0
  378. package/dist/src/constants.min.mjs +0 -0
  379. package/dist/src/constants.min.mjs.map +0 -0
  380. package/dist/src/constants.mjs +0 -0
  381. package/dist/src/constants.mjs.map +0 -0
  382. package/dist/src/controls/Control.d.ts +0 -0
  383. package/dist/src/controls/Control.d.ts.map +0 -0
  384. package/dist/src/controls/Control.min.mjs +0 -0
  385. package/dist/src/controls/Control.min.mjs.map +0 -0
  386. package/dist/src/controls/Control.mjs +0 -0
  387. package/dist/src/controls/Control.mjs.map +0 -0
  388. package/dist/src/controls/changeHeight.d.ts +0 -0
  389. package/dist/src/controls/changeHeight.d.ts.map +0 -0
  390. package/dist/src/controls/changeHeight.min.mjs +2 -0
  391. package/dist/src/controls/changeHeight.min.mjs.map +1 -0
  392. package/dist/src/controls/changeHeight.mjs +36 -0
  393. package/dist/src/controls/changeHeight.mjs.map +1 -0
  394. package/dist/src/controls/changeWidth.d.ts +0 -0
  395. package/dist/src/controls/changeWidth.d.ts.map +0 -0
  396. package/dist/src/controls/changeWidth.min.mjs +0 -0
  397. package/dist/src/controls/changeWidth.min.mjs.map +0 -0
  398. package/dist/src/controls/changeWidth.mjs +0 -0
  399. package/dist/src/controls/changeWidth.mjs.map +0 -0
  400. package/dist/src/controls/commonControls.d.ts +0 -0
  401. package/dist/src/controls/commonControls.d.ts.map +0 -0
  402. package/dist/src/controls/commonControls.min.mjs +0 -0
  403. package/dist/src/controls/commonControls.min.mjs.map +0 -0
  404. package/dist/src/controls/commonControls.mjs +0 -0
  405. package/dist/src/controls/commonControls.mjs.map +0 -0
  406. package/dist/src/controls/controlRendering.d.ts +0 -0
  407. package/dist/src/controls/controlRendering.d.ts.map +0 -0
  408. package/dist/src/controls/controlRendering.min.mjs +0 -0
  409. package/dist/src/controls/controlRendering.min.mjs.map +0 -0
  410. package/dist/src/controls/controlRendering.mjs +0 -0
  411. package/dist/src/controls/controlRendering.mjs.map +0 -0
  412. package/dist/src/controls/drag.d.ts +0 -0
  413. package/dist/src/controls/drag.d.ts.map +0 -0
  414. package/dist/src/controls/drag.min.mjs +0 -0
  415. package/dist/src/controls/drag.min.mjs.map +0 -0
  416. package/dist/src/controls/drag.mjs +0 -0
  417. package/dist/src/controls/drag.mjs.map +0 -0
  418. package/dist/src/controls/fireEvent.d.ts +0 -0
  419. package/dist/src/controls/fireEvent.d.ts.map +0 -0
  420. package/dist/src/controls/fireEvent.min.mjs +0 -0
  421. package/dist/src/controls/fireEvent.min.mjs.map +0 -0
  422. package/dist/src/controls/fireEvent.mjs +0 -0
  423. package/dist/src/controls/fireEvent.mjs.map +0 -0
  424. package/dist/src/controls/index.d.ts +0 -0
  425. package/dist/src/controls/index.d.ts.map +0 -0
  426. package/dist/src/controls/index.min.mjs +0 -0
  427. package/dist/src/controls/index.min.mjs.map +0 -0
  428. package/dist/src/controls/index.mjs +0 -0
  429. package/dist/src/controls/index.mjs.map +0 -0
  430. package/dist/src/controls/pathControl.d.ts +0 -0
  431. package/dist/src/controls/pathControl.d.ts.map +0 -0
  432. package/dist/src/controls/pathControl.min.mjs +0 -0
  433. package/dist/src/controls/pathControl.min.mjs.map +0 -0
  434. package/dist/src/controls/pathControl.mjs +0 -0
  435. package/dist/src/controls/pathControl.mjs.map +0 -0
  436. package/dist/src/controls/polyControl.d.ts +0 -0
  437. package/dist/src/controls/polyControl.d.ts.map +0 -0
  438. package/dist/src/controls/polyControl.min.mjs +0 -0
  439. package/dist/src/controls/polyControl.min.mjs.map +0 -0
  440. package/dist/src/controls/polyControl.mjs +0 -0
  441. package/dist/src/controls/polyControl.mjs.map +0 -0
  442. package/dist/src/controls/rotate.d.ts +0 -0
  443. package/dist/src/controls/rotate.d.ts.map +0 -0
  444. package/dist/src/controls/rotate.min.mjs +0 -0
  445. package/dist/src/controls/rotate.min.mjs.map +0 -0
  446. package/dist/src/controls/rotate.mjs +0 -0
  447. package/dist/src/controls/rotate.mjs.map +0 -0
  448. package/dist/src/controls/scale.d.ts +0 -0
  449. package/dist/src/controls/scale.d.ts.map +0 -0
  450. package/dist/src/controls/scale.min.mjs +0 -0
  451. package/dist/src/controls/scale.min.mjs.map +0 -0
  452. package/dist/src/controls/scale.mjs +0 -0
  453. package/dist/src/controls/scale.mjs.map +0 -0
  454. package/dist/src/controls/scaleSkew.d.ts +0 -0
  455. package/dist/src/controls/scaleSkew.d.ts.map +0 -0
  456. package/dist/src/controls/scaleSkew.min.mjs +0 -0
  457. package/dist/src/controls/scaleSkew.min.mjs.map +0 -0
  458. package/dist/src/controls/scaleSkew.mjs +0 -0
  459. package/dist/src/controls/scaleSkew.mjs.map +0 -0
  460. package/dist/src/controls/skew.d.ts +0 -0
  461. package/dist/src/controls/skew.d.ts.map +0 -0
  462. package/dist/src/controls/skew.min.mjs +0 -0
  463. package/dist/src/controls/skew.min.mjs.map +0 -0
  464. package/dist/src/controls/skew.mjs +0 -0
  465. package/dist/src/controls/skew.mjs.map +0 -0
  466. package/dist/src/controls/util.d.ts +0 -0
  467. package/dist/src/controls/util.d.ts.map +0 -0
  468. package/dist/src/controls/util.min.mjs +0 -0
  469. package/dist/src/controls/util.min.mjs.map +0 -0
  470. package/dist/src/controls/util.mjs +0 -0
  471. package/dist/src/controls/util.mjs.map +0 -0
  472. package/dist/src/controls/wrapWithFireEvent.d.ts +0 -0
  473. package/dist/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  474. package/dist/src/controls/wrapWithFireEvent.min.mjs +0 -0
  475. package/dist/src/controls/wrapWithFireEvent.min.mjs.map +0 -0
  476. package/dist/src/controls/wrapWithFireEvent.mjs +0 -0
  477. package/dist/src/controls/wrapWithFireEvent.mjs.map +0 -0
  478. package/dist/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  479. package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  480. package/dist/src/controls/wrapWithFixedAnchor.min.mjs +0 -0
  481. package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +0 -0
  482. package/dist/src/controls/wrapWithFixedAnchor.mjs +0 -0
  483. package/dist/src/controls/wrapWithFixedAnchor.mjs.map +0 -0
  484. package/dist/src/env/browser.d.ts +0 -0
  485. package/dist/src/env/browser.d.ts.map +0 -0
  486. package/dist/src/env/browser.min.mjs +0 -0
  487. package/dist/src/env/browser.min.mjs.map +0 -0
  488. package/dist/src/env/browser.mjs +0 -0
  489. package/dist/src/env/browser.mjs.map +0 -0
  490. package/dist/src/env/index.d.ts +0 -0
  491. package/dist/src/env/index.d.ts.map +0 -0
  492. package/dist/src/env/index.min.mjs +0 -0
  493. package/dist/src/env/index.min.mjs.map +0 -0
  494. package/dist/src/env/index.mjs +0 -0
  495. package/dist/src/env/index.mjs.map +0 -0
  496. package/dist/src/env/node.d.ts +0 -0
  497. package/dist/src/env/node.d.ts.map +0 -0
  498. package/dist/src/env/types.d.ts +0 -0
  499. package/dist/src/env/types.d.ts.map +0 -0
  500. package/dist/src/filters/BaseFilter.d.ts +0 -0
  501. package/dist/src/filters/BaseFilter.d.ts.map +0 -0
  502. package/dist/src/filters/BaseFilter.min.mjs +0 -0
  503. package/dist/src/filters/BaseFilter.min.mjs.map +0 -0
  504. package/dist/src/filters/BaseFilter.mjs +0 -0
  505. package/dist/src/filters/BaseFilter.mjs.map +0 -0
  506. package/dist/src/filters/BlendColor.d.ts +0 -0
  507. package/dist/src/filters/BlendColor.d.ts.map +0 -0
  508. package/dist/src/filters/BlendColor.min.mjs +0 -0
  509. package/dist/src/filters/BlendColor.min.mjs.map +0 -0
  510. package/dist/src/filters/BlendColor.mjs +0 -0
  511. package/dist/src/filters/BlendColor.mjs.map +0 -0
  512. package/dist/src/filters/BlendImage.d.ts +0 -0
  513. package/dist/src/filters/BlendImage.d.ts.map +0 -0
  514. package/dist/src/filters/BlendImage.min.mjs +0 -0
  515. package/dist/src/filters/BlendImage.min.mjs.map +0 -0
  516. package/dist/src/filters/BlendImage.mjs +0 -0
  517. package/dist/src/filters/BlendImage.mjs.map +0 -0
  518. package/dist/src/filters/Blur.d.ts +0 -0
  519. package/dist/src/filters/Blur.d.ts.map +0 -0
  520. package/dist/src/filters/Blur.min.mjs +0 -0
  521. package/dist/src/filters/Blur.min.mjs.map +0 -0
  522. package/dist/src/filters/Blur.mjs +0 -0
  523. package/dist/src/filters/Blur.mjs.map +0 -0
  524. package/dist/src/filters/Boilerplate.d.ts +0 -0
  525. package/dist/src/filters/Boilerplate.d.ts.map +0 -0
  526. package/dist/src/filters/Brightness.d.ts +0 -0
  527. package/dist/src/filters/Brightness.d.ts.map +0 -0
  528. package/dist/src/filters/Brightness.min.mjs +0 -0
  529. package/dist/src/filters/Brightness.min.mjs.map +0 -0
  530. package/dist/src/filters/Brightness.mjs +0 -0
  531. package/dist/src/filters/Brightness.mjs.map +0 -0
  532. package/dist/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  533. package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  534. package/dist/src/filters/Canvas2dFilterBackend.min.mjs +0 -0
  535. package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +0 -0
  536. package/dist/src/filters/Canvas2dFilterBackend.mjs +0 -0
  537. package/dist/src/filters/Canvas2dFilterBackend.mjs.map +0 -0
  538. package/dist/src/filters/ColorMatrix.d.ts +0 -0
  539. package/dist/src/filters/ColorMatrix.d.ts.map +0 -0
  540. package/dist/src/filters/ColorMatrix.min.mjs +0 -0
  541. package/dist/src/filters/ColorMatrix.min.mjs.map +0 -0
  542. package/dist/src/filters/ColorMatrix.mjs +0 -0
  543. package/dist/src/filters/ColorMatrix.mjs.map +0 -0
  544. package/dist/src/filters/ColorMatrixFilters.d.ts +0 -0
  545. package/dist/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  546. package/dist/src/filters/ColorMatrixFilters.min.mjs +0 -0
  547. package/dist/src/filters/ColorMatrixFilters.min.mjs.map +0 -0
  548. package/dist/src/filters/ColorMatrixFilters.mjs +0 -0
  549. package/dist/src/filters/ColorMatrixFilters.mjs.map +0 -0
  550. package/dist/src/filters/Composed.d.ts +0 -0
  551. package/dist/src/filters/Composed.d.ts.map +0 -0
  552. package/dist/src/filters/Composed.min.mjs +0 -0
  553. package/dist/src/filters/Composed.min.mjs.map +0 -0
  554. package/dist/src/filters/Composed.mjs +0 -0
  555. package/dist/src/filters/Composed.mjs.map +0 -0
  556. package/dist/src/filters/Contrast.d.ts +0 -0
  557. package/dist/src/filters/Contrast.d.ts.map +0 -0
  558. package/dist/src/filters/Contrast.min.mjs +0 -0
  559. package/dist/src/filters/Contrast.min.mjs.map +0 -0
  560. package/dist/src/filters/Contrast.mjs +0 -0
  561. package/dist/src/filters/Contrast.mjs.map +0 -0
  562. package/dist/src/filters/Convolute.d.ts +0 -0
  563. package/dist/src/filters/Convolute.d.ts.map +0 -0
  564. package/dist/src/filters/Convolute.min.mjs +0 -0
  565. package/dist/src/filters/Convolute.min.mjs.map +0 -0
  566. package/dist/src/filters/Convolute.mjs +0 -0
  567. package/dist/src/filters/Convolute.mjs.map +0 -0
  568. package/dist/src/filters/FilterBackend.d.ts +0 -0
  569. package/dist/src/filters/FilterBackend.d.ts.map +0 -0
  570. package/dist/src/filters/FilterBackend.min.mjs +0 -0
  571. package/dist/src/filters/FilterBackend.min.mjs.map +0 -0
  572. package/dist/src/filters/FilterBackend.mjs +0 -0
  573. package/dist/src/filters/FilterBackend.mjs.map +0 -0
  574. package/dist/src/filters/GLProbes/GLProbe.d.ts +0 -0
  575. package/dist/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  576. package/dist/src/filters/GLProbes/GLProbe.min.mjs +0 -0
  577. package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +0 -0
  578. package/dist/src/filters/GLProbes/GLProbe.mjs +0 -0
  579. package/dist/src/filters/GLProbes/GLProbe.mjs.map +0 -0
  580. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +0 -0
  581. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +0 -0
  582. package/dist/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  583. package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  584. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +0 -0
  585. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +0 -0
  586. package/dist/src/filters/GLProbes/WebGLProbe.mjs +0 -0
  587. package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +0 -0
  588. package/dist/src/filters/Gamma.d.ts +0 -0
  589. package/dist/src/filters/Gamma.d.ts.map +0 -0
  590. package/dist/src/filters/Gamma.min.mjs +0 -0
  591. package/dist/src/filters/Gamma.min.mjs.map +0 -0
  592. package/dist/src/filters/Gamma.mjs +0 -0
  593. package/dist/src/filters/Gamma.mjs.map +0 -0
  594. package/dist/src/filters/Grayscale.d.ts +0 -0
  595. package/dist/src/filters/Grayscale.d.ts.map +0 -0
  596. package/dist/src/filters/Grayscale.min.mjs +0 -0
  597. package/dist/src/filters/Grayscale.min.mjs.map +0 -0
  598. package/dist/src/filters/Grayscale.mjs +0 -0
  599. package/dist/src/filters/Grayscale.mjs.map +0 -0
  600. package/dist/src/filters/HueRotation.d.ts +0 -0
  601. package/dist/src/filters/HueRotation.d.ts.map +0 -0
  602. package/dist/src/filters/HueRotation.min.mjs +0 -0
  603. package/dist/src/filters/HueRotation.min.mjs.map +0 -0
  604. package/dist/src/filters/HueRotation.mjs +0 -0
  605. package/dist/src/filters/HueRotation.mjs.map +0 -0
  606. package/dist/src/filters/Invert.d.ts +0 -0
  607. package/dist/src/filters/Invert.d.ts.map +0 -0
  608. package/dist/src/filters/Invert.min.mjs +0 -0
  609. package/dist/src/filters/Invert.min.mjs.map +0 -0
  610. package/dist/src/filters/Invert.mjs +0 -0
  611. package/dist/src/filters/Invert.mjs.map +0 -0
  612. package/dist/src/filters/Noise.d.ts +0 -0
  613. package/dist/src/filters/Noise.d.ts.map +0 -0
  614. package/dist/src/filters/Noise.min.mjs +0 -0
  615. package/dist/src/filters/Noise.min.mjs.map +0 -0
  616. package/dist/src/filters/Noise.mjs +0 -0
  617. package/dist/src/filters/Noise.mjs.map +0 -0
  618. package/dist/src/filters/Pixelate.d.ts +0 -0
  619. package/dist/src/filters/Pixelate.d.ts.map +0 -0
  620. package/dist/src/filters/Pixelate.min.mjs +0 -0
  621. package/dist/src/filters/Pixelate.min.mjs.map +0 -0
  622. package/dist/src/filters/Pixelate.mjs +0 -0
  623. package/dist/src/filters/Pixelate.mjs.map +0 -0
  624. package/dist/src/filters/RemoveColor.d.ts +0 -0
  625. package/dist/src/filters/RemoveColor.d.ts.map +0 -0
  626. package/dist/src/filters/RemoveColor.min.mjs +0 -0
  627. package/dist/src/filters/RemoveColor.min.mjs.map +0 -0
  628. package/dist/src/filters/RemoveColor.mjs +0 -0
  629. package/dist/src/filters/RemoveColor.mjs.map +0 -0
  630. package/dist/src/filters/Resize.d.ts +0 -0
  631. package/dist/src/filters/Resize.d.ts.map +0 -0
  632. package/dist/src/filters/Resize.min.mjs +0 -0
  633. package/dist/src/filters/Resize.min.mjs.map +0 -0
  634. package/dist/src/filters/Resize.mjs +0 -0
  635. package/dist/src/filters/Resize.mjs.map +0 -0
  636. package/dist/src/filters/Saturation.d.ts +0 -0
  637. package/dist/src/filters/Saturation.d.ts.map +0 -0
  638. package/dist/src/filters/Saturation.min.mjs +0 -0
  639. package/dist/src/filters/Saturation.min.mjs.map +0 -0
  640. package/dist/src/filters/Saturation.mjs +0 -0
  641. package/dist/src/filters/Saturation.mjs.map +0 -0
  642. package/dist/src/filters/Vibrance.d.ts +0 -0
  643. package/dist/src/filters/Vibrance.d.ts.map +0 -0
  644. package/dist/src/filters/Vibrance.min.mjs +0 -0
  645. package/dist/src/filters/Vibrance.min.mjs.map +0 -0
  646. package/dist/src/filters/Vibrance.mjs +0 -0
  647. package/dist/src/filters/Vibrance.mjs.map +0 -0
  648. package/dist/src/filters/WebGLFilterBackend.d.ts +0 -0
  649. package/dist/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  650. package/dist/src/filters/WebGLFilterBackend.min.mjs +0 -0
  651. package/dist/src/filters/WebGLFilterBackend.min.mjs.map +0 -0
  652. package/dist/src/filters/WebGLFilterBackend.mjs +0 -0
  653. package/dist/src/filters/WebGLFilterBackend.mjs.map +0 -0
  654. package/dist/src/filters/filters.d.ts +0 -0
  655. package/dist/src/filters/filters.d.ts.map +0 -0
  656. package/dist/src/filters/filters.min.mjs +0 -0
  657. package/dist/src/filters/filters.min.mjs.map +0 -0
  658. package/dist/src/filters/filters.mjs +0 -0
  659. package/dist/src/filters/filters.mjs.map +0 -0
  660. package/dist/src/filters/index.d.ts +0 -0
  661. package/dist/src/filters/index.d.ts.map +0 -0
  662. package/dist/src/filters/shaders/baseFilter.d.ts +0 -0
  663. package/dist/src/filters/shaders/baseFilter.d.ts.map +0 -0
  664. package/dist/src/filters/shaders/baseFilter.min.mjs +0 -0
  665. package/dist/src/filters/shaders/baseFilter.min.mjs.map +0 -0
  666. package/dist/src/filters/shaders/baseFilter.mjs +0 -0
  667. package/dist/src/filters/shaders/baseFilter.mjs.map +0 -0
  668. package/dist/src/filters/shaders/blendColor.d.ts +0 -0
  669. package/dist/src/filters/shaders/blendColor.d.ts.map +0 -0
  670. package/dist/src/filters/shaders/blendColor.min.mjs +0 -0
  671. package/dist/src/filters/shaders/blendColor.min.mjs.map +0 -0
  672. package/dist/src/filters/shaders/blendColor.mjs +0 -0
  673. package/dist/src/filters/shaders/blendColor.mjs.map +0 -0
  674. package/dist/src/filters/shaders/blendImage.d.ts +0 -0
  675. package/dist/src/filters/shaders/blendImage.d.ts.map +0 -0
  676. package/dist/src/filters/shaders/blendImage.min.mjs +0 -0
  677. package/dist/src/filters/shaders/blendImage.min.mjs.map +0 -0
  678. package/dist/src/filters/shaders/blendImage.mjs +0 -0
  679. package/dist/src/filters/shaders/blendImage.mjs.map +0 -0
  680. package/dist/src/filters/shaders/blur.d.ts +0 -0
  681. package/dist/src/filters/shaders/blur.d.ts.map +0 -0
  682. package/dist/src/filters/shaders/blur.min.mjs +0 -0
  683. package/dist/src/filters/shaders/blur.min.mjs.map +0 -0
  684. package/dist/src/filters/shaders/blur.mjs +0 -0
  685. package/dist/src/filters/shaders/blur.mjs.map +0 -0
  686. package/dist/src/filters/shaders/brightness.d.ts +0 -0
  687. package/dist/src/filters/shaders/brightness.d.ts.map +0 -0
  688. package/dist/src/filters/shaders/brightness.min.mjs +0 -0
  689. package/dist/src/filters/shaders/brightness.min.mjs.map +0 -0
  690. package/dist/src/filters/shaders/brightness.mjs +0 -0
  691. package/dist/src/filters/shaders/brightness.mjs.map +0 -0
  692. package/dist/src/filters/shaders/colorMatrix.d.ts +0 -0
  693. package/dist/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  694. package/dist/src/filters/shaders/colorMatrix.min.mjs +0 -0
  695. package/dist/src/filters/shaders/colorMatrix.min.mjs.map +0 -0
  696. package/dist/src/filters/shaders/colorMatrix.mjs +0 -0
  697. package/dist/src/filters/shaders/colorMatrix.mjs.map +0 -0
  698. package/dist/src/filters/shaders/constrast.d.ts +0 -0
  699. package/dist/src/filters/shaders/constrast.d.ts.map +0 -0
  700. package/dist/src/filters/shaders/constrast.min.mjs +0 -0
  701. package/dist/src/filters/shaders/constrast.min.mjs.map +0 -0
  702. package/dist/src/filters/shaders/constrast.mjs +0 -0
  703. package/dist/src/filters/shaders/constrast.mjs.map +0 -0
  704. package/dist/src/filters/shaders/convolute.d.ts +0 -0
  705. package/dist/src/filters/shaders/convolute.d.ts.map +0 -0
  706. package/dist/src/filters/shaders/convolute.min.mjs +0 -0
  707. package/dist/src/filters/shaders/convolute.min.mjs.map +0 -0
  708. package/dist/src/filters/shaders/convolute.mjs +0 -0
  709. package/dist/src/filters/shaders/convolute.mjs.map +0 -0
  710. package/dist/src/filters/shaders/gamma.d.ts +0 -0
  711. package/dist/src/filters/shaders/gamma.d.ts.map +0 -0
  712. package/dist/src/filters/shaders/gamma.min.mjs +0 -0
  713. package/dist/src/filters/shaders/gamma.min.mjs.map +0 -0
  714. package/dist/src/filters/shaders/gamma.mjs +0 -0
  715. package/dist/src/filters/shaders/gamma.mjs.map +0 -0
  716. package/dist/src/filters/shaders/grayscale.d.ts +0 -0
  717. package/dist/src/filters/shaders/grayscale.d.ts.map +0 -0
  718. package/dist/src/filters/shaders/grayscale.min.mjs +0 -0
  719. package/dist/src/filters/shaders/grayscale.min.mjs.map +0 -0
  720. package/dist/src/filters/shaders/grayscale.mjs +0 -0
  721. package/dist/src/filters/shaders/grayscale.mjs.map +0 -0
  722. package/dist/src/filters/shaders/invert.d.ts +0 -0
  723. package/dist/src/filters/shaders/invert.d.ts.map +0 -0
  724. package/dist/src/filters/shaders/invert.min.mjs +0 -0
  725. package/dist/src/filters/shaders/invert.min.mjs.map +0 -0
  726. package/dist/src/filters/shaders/invert.mjs +0 -0
  727. package/dist/src/filters/shaders/invert.mjs.map +0 -0
  728. package/dist/src/filters/shaders/noise.d.ts +0 -0
  729. package/dist/src/filters/shaders/noise.d.ts.map +0 -0
  730. package/dist/src/filters/shaders/noise.min.mjs +0 -0
  731. package/dist/src/filters/shaders/noise.min.mjs.map +0 -0
  732. package/dist/src/filters/shaders/noise.mjs +0 -0
  733. package/dist/src/filters/shaders/noise.mjs.map +0 -0
  734. package/dist/src/filters/shaders/pixelate.d.ts +0 -0
  735. package/dist/src/filters/shaders/pixelate.d.ts.map +0 -0
  736. package/dist/src/filters/shaders/pixelate.min.mjs +0 -0
  737. package/dist/src/filters/shaders/pixelate.min.mjs.map +0 -0
  738. package/dist/src/filters/shaders/pixelate.mjs +0 -0
  739. package/dist/src/filters/shaders/pixelate.mjs.map +0 -0
  740. package/dist/src/filters/shaders/removeColor.d.ts +0 -0
  741. package/dist/src/filters/shaders/removeColor.d.ts.map +0 -0
  742. package/dist/src/filters/shaders/removeColor.min.mjs +0 -0
  743. package/dist/src/filters/shaders/removeColor.min.mjs.map +0 -0
  744. package/dist/src/filters/shaders/removeColor.mjs +0 -0
  745. package/dist/src/filters/shaders/removeColor.mjs.map +0 -0
  746. package/dist/src/filters/shaders/saturation.d.ts +0 -0
  747. package/dist/src/filters/shaders/saturation.d.ts.map +0 -0
  748. package/dist/src/filters/shaders/saturation.min.mjs +0 -0
  749. package/dist/src/filters/shaders/saturation.min.mjs.map +0 -0
  750. package/dist/src/filters/shaders/saturation.mjs +0 -0
  751. package/dist/src/filters/shaders/saturation.mjs.map +0 -0
  752. package/dist/src/filters/shaders/vibrance.d.ts +0 -0
  753. package/dist/src/filters/shaders/vibrance.d.ts.map +0 -0
  754. package/dist/src/filters/shaders/vibrance.min.mjs +0 -0
  755. package/dist/src/filters/shaders/vibrance.min.mjs.map +0 -0
  756. package/dist/src/filters/shaders/vibrance.mjs +0 -0
  757. package/dist/src/filters/shaders/vibrance.mjs.map +0 -0
  758. package/dist/src/filters/typedefs.d.ts +0 -0
  759. package/dist/src/filters/typedefs.d.ts.map +0 -0
  760. package/dist/src/filters/utils.d.ts +0 -0
  761. package/dist/src/filters/utils.d.ts.map +0 -0
  762. package/dist/src/filters/utils.min.mjs +0 -0
  763. package/dist/src/filters/utils.min.mjs.map +0 -0
  764. package/dist/src/filters/utils.mjs +0 -0
  765. package/dist/src/filters/utils.mjs.map +0 -0
  766. package/dist/src/gradient/Gradient.d.ts +0 -0
  767. package/dist/src/gradient/Gradient.d.ts.map +0 -0
  768. package/dist/src/gradient/Gradient.min.mjs +0 -0
  769. package/dist/src/gradient/Gradient.min.mjs.map +0 -0
  770. package/dist/src/gradient/Gradient.mjs +0 -0
  771. package/dist/src/gradient/Gradient.mjs.map +0 -0
  772. package/dist/src/gradient/constants.d.ts +0 -0
  773. package/dist/src/gradient/constants.d.ts.map +0 -0
  774. package/dist/src/gradient/constants.min.mjs +0 -0
  775. package/dist/src/gradient/constants.min.mjs.map +0 -0
  776. package/dist/src/gradient/constants.mjs +0 -0
  777. package/dist/src/gradient/constants.mjs.map +0 -0
  778. package/dist/src/gradient/index.d.ts +0 -0
  779. package/dist/src/gradient/index.d.ts.map +0 -0
  780. package/dist/src/gradient/parser/misc.d.ts +0 -0
  781. package/dist/src/gradient/parser/misc.d.ts.map +0 -0
  782. package/dist/src/gradient/parser/misc.min.mjs +0 -0
  783. package/dist/src/gradient/parser/misc.min.mjs.map +0 -0
  784. package/dist/src/gradient/parser/misc.mjs +0 -0
  785. package/dist/src/gradient/parser/misc.mjs.map +0 -0
  786. package/dist/src/gradient/parser/parseColorStops.d.ts +0 -0
  787. package/dist/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  788. package/dist/src/gradient/parser/parseColorStops.min.mjs +0 -0
  789. package/dist/src/gradient/parser/parseColorStops.min.mjs.map +0 -0
  790. package/dist/src/gradient/parser/parseColorStops.mjs +0 -0
  791. package/dist/src/gradient/parser/parseColorStops.mjs.map +0 -0
  792. package/dist/src/gradient/parser/parseCoords.d.ts +0 -0
  793. package/dist/src/gradient/parser/parseCoords.d.ts.map +0 -0
  794. package/dist/src/gradient/parser/parseCoords.min.mjs +0 -0
  795. package/dist/src/gradient/parser/parseCoords.min.mjs.map +0 -0
  796. package/dist/src/gradient/parser/parseCoords.mjs +0 -0
  797. package/dist/src/gradient/parser/parseCoords.mjs.map +0 -0
  798. package/dist/src/gradient/typedefs.d.ts +0 -0
  799. package/dist/src/gradient/typedefs.d.ts.map +0 -0
  800. package/dist/src/mixins/eraser_brush.mixin.d.ts +0 -0
  801. package/dist/src/mixins/eraser_brush.mixin.d.ts.map +0 -0
  802. package/dist/src/parkinglot/canvas_animation.mixin.d.ts +0 -0
  803. package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +0 -0
  804. package/dist/src/parkinglot/straighten.d.ts +0 -0
  805. package/dist/src/parkinglot/straighten.d.ts.map +0 -0
  806. package/dist/src/parser/applyViewboxTransform.d.ts +0 -0
  807. package/dist/src/parser/applyViewboxTransform.d.ts.map +0 -0
  808. package/dist/src/parser/applyViewboxTransform.min.mjs +0 -0
  809. package/dist/src/parser/applyViewboxTransform.min.mjs.map +0 -0
  810. package/dist/src/parser/applyViewboxTransform.mjs +0 -0
  811. package/dist/src/parser/applyViewboxTransform.mjs.map +0 -0
  812. package/dist/src/parser/attributes.d.ts +0 -0
  813. package/dist/src/parser/attributes.d.ts.map +0 -0
  814. package/dist/src/parser/attributes.min.mjs +0 -0
  815. package/dist/src/parser/attributes.min.mjs.map +0 -0
  816. package/dist/src/parser/attributes.mjs +0 -0
  817. package/dist/src/parser/attributes.mjs.map +0 -0
  818. package/dist/src/parser/constants.d.ts +0 -0
  819. package/dist/src/parser/constants.d.ts.map +0 -0
  820. package/dist/src/parser/constants.min.mjs +0 -0
  821. package/dist/src/parser/constants.min.mjs.map +0 -0
  822. package/dist/src/parser/constants.mjs +0 -0
  823. package/dist/src/parser/constants.mjs.map +0 -0
  824. package/dist/src/parser/doesSomeParentMatch.d.ts +0 -0
  825. package/dist/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  826. package/dist/src/parser/doesSomeParentMatch.min.mjs +0 -0
  827. package/dist/src/parser/doesSomeParentMatch.min.mjs.map +0 -0
  828. package/dist/src/parser/doesSomeParentMatch.mjs +0 -0
  829. package/dist/src/parser/doesSomeParentMatch.mjs.map +0 -0
  830. package/dist/src/parser/elementMatchesRule.d.ts +0 -0
  831. package/dist/src/parser/elementMatchesRule.d.ts.map +0 -0
  832. package/dist/src/parser/elementMatchesRule.min.mjs +0 -0
  833. package/dist/src/parser/elementMatchesRule.min.mjs.map +0 -0
  834. package/dist/src/parser/elementMatchesRule.mjs +0 -0
  835. package/dist/src/parser/elementMatchesRule.mjs.map +0 -0
  836. package/dist/src/parser/elements_parser.d.ts +0 -0
  837. package/dist/src/parser/elements_parser.d.ts.map +0 -0
  838. package/dist/src/parser/elements_parser.min.mjs +0 -0
  839. package/dist/src/parser/elements_parser.min.mjs.map +0 -0
  840. package/dist/src/parser/elements_parser.mjs +0 -0
  841. package/dist/src/parser/elements_parser.mjs.map +0 -0
  842. package/dist/src/parser/getCSSRules.d.ts +0 -0
  843. package/dist/src/parser/getCSSRules.d.ts.map +0 -0
  844. package/dist/src/parser/getCSSRules.min.mjs +0 -0
  845. package/dist/src/parser/getCSSRules.min.mjs.map +0 -0
  846. package/dist/src/parser/getCSSRules.mjs +0 -0
  847. package/dist/src/parser/getCSSRules.mjs.map +0 -0
  848. package/dist/src/parser/getGlobalStylesForElement.d.ts +0 -0
  849. package/dist/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  850. package/dist/src/parser/getGlobalStylesForElement.min.mjs +0 -0
  851. package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +0 -0
  852. package/dist/src/parser/getGlobalStylesForElement.mjs +0 -0
  853. package/dist/src/parser/getGlobalStylesForElement.mjs.map +0 -0
  854. package/dist/src/parser/getGradientDefs.d.ts +0 -0
  855. package/dist/src/parser/getGradientDefs.d.ts.map +0 -0
  856. package/dist/src/parser/getGradientDefs.min.mjs +0 -0
  857. package/dist/src/parser/getGradientDefs.min.mjs.map +0 -0
  858. package/dist/src/parser/getGradientDefs.mjs +0 -0
  859. package/dist/src/parser/getGradientDefs.mjs.map +0 -0
  860. package/dist/src/parser/getMultipleNodes.d.ts +0 -0
  861. package/dist/src/parser/getMultipleNodes.d.ts.map +0 -0
  862. package/dist/src/parser/getMultipleNodes.min.mjs +0 -0
  863. package/dist/src/parser/getMultipleNodes.min.mjs.map +0 -0
  864. package/dist/src/parser/getMultipleNodes.mjs +0 -0
  865. package/dist/src/parser/getMultipleNodes.mjs.map +0 -0
  866. package/dist/src/parser/getSvgRegex.d.ts +0 -0
  867. package/dist/src/parser/getSvgRegex.d.ts.map +0 -0
  868. package/dist/src/parser/getSvgRegex.min.mjs +0 -0
  869. package/dist/src/parser/getSvgRegex.min.mjs.map +0 -0
  870. package/dist/src/parser/getSvgRegex.mjs +0 -0
  871. package/dist/src/parser/getSvgRegex.mjs.map +0 -0
  872. package/dist/src/parser/getTagName.d.ts +0 -0
  873. package/dist/src/parser/getTagName.d.ts.map +0 -0
  874. package/dist/src/parser/getTagName.min.mjs +0 -0
  875. package/dist/src/parser/getTagName.min.mjs.map +0 -0
  876. package/dist/src/parser/getTagName.mjs +0 -0
  877. package/dist/src/parser/getTagName.mjs.map +0 -0
  878. package/dist/src/parser/hasInvalidAncestor.d.ts +0 -0
  879. package/dist/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  880. package/dist/src/parser/hasInvalidAncestor.min.mjs +0 -0
  881. package/dist/src/parser/hasInvalidAncestor.min.mjs.map +0 -0
  882. package/dist/src/parser/hasInvalidAncestor.mjs +0 -0
  883. package/dist/src/parser/hasInvalidAncestor.mjs.map +0 -0
  884. package/dist/src/parser/loadSVGFromString.d.ts +0 -0
  885. package/dist/src/parser/loadSVGFromString.d.ts.map +0 -0
  886. package/dist/src/parser/loadSVGFromString.min.mjs +0 -0
  887. package/dist/src/parser/loadSVGFromString.min.mjs.map +0 -0
  888. package/dist/src/parser/loadSVGFromString.mjs +0 -0
  889. package/dist/src/parser/loadSVGFromString.mjs.map +0 -0
  890. package/dist/src/parser/loadSVGFromURL.d.ts +0 -0
  891. package/dist/src/parser/loadSVGFromURL.d.ts.map +0 -0
  892. package/dist/src/parser/loadSVGFromURL.min.mjs +0 -0
  893. package/dist/src/parser/loadSVGFromURL.min.mjs.map +0 -0
  894. package/dist/src/parser/loadSVGFromURL.mjs +0 -0
  895. package/dist/src/parser/loadSVGFromURL.mjs.map +0 -0
  896. package/dist/src/parser/normalizeAttr.d.ts +0 -0
  897. package/dist/src/parser/normalizeAttr.d.ts.map +0 -0
  898. package/dist/src/parser/normalizeAttr.min.mjs +0 -0
  899. package/dist/src/parser/normalizeAttr.min.mjs.map +0 -0
  900. package/dist/src/parser/normalizeAttr.mjs +0 -0
  901. package/dist/src/parser/normalizeAttr.mjs.map +0 -0
  902. package/dist/src/parser/normalizeValue.d.ts +0 -0
  903. package/dist/src/parser/normalizeValue.d.ts.map +0 -0
  904. package/dist/src/parser/normalizeValue.min.mjs +0 -0
  905. package/dist/src/parser/normalizeValue.min.mjs.map +0 -0
  906. package/dist/src/parser/normalizeValue.mjs +0 -0
  907. package/dist/src/parser/normalizeValue.mjs.map +0 -0
  908. package/dist/src/parser/parseAttributes.d.ts +0 -0
  909. package/dist/src/parser/parseAttributes.d.ts.map +0 -0
  910. package/dist/src/parser/parseAttributes.min.mjs +0 -0
  911. package/dist/src/parser/parseAttributes.min.mjs.map +0 -0
  912. package/dist/src/parser/parseAttributes.mjs +0 -0
  913. package/dist/src/parser/parseAttributes.mjs.map +0 -0
  914. package/dist/src/parser/parseFontDeclaration.d.ts +0 -0
  915. package/dist/src/parser/parseFontDeclaration.d.ts.map +0 -0
  916. package/dist/src/parser/parseFontDeclaration.min.mjs +0 -0
  917. package/dist/src/parser/parseFontDeclaration.min.mjs.map +0 -0
  918. package/dist/src/parser/parseFontDeclaration.mjs +0 -0
  919. package/dist/src/parser/parseFontDeclaration.mjs.map +0 -0
  920. package/dist/src/parser/parsePointsAttribute.d.ts +0 -0
  921. package/dist/src/parser/parsePointsAttribute.d.ts.map +0 -0
  922. package/dist/src/parser/parsePointsAttribute.min.mjs +0 -0
  923. package/dist/src/parser/parsePointsAttribute.min.mjs.map +0 -0
  924. package/dist/src/parser/parsePointsAttribute.mjs +0 -0
  925. package/dist/src/parser/parsePointsAttribute.mjs.map +0 -0
  926. package/dist/src/parser/parseSVGDocument.d.ts +0 -0
  927. package/dist/src/parser/parseSVGDocument.d.ts.map +0 -0
  928. package/dist/src/parser/parseSVGDocument.min.mjs +0 -0
  929. package/dist/src/parser/parseSVGDocument.min.mjs.map +0 -0
  930. package/dist/src/parser/parseSVGDocument.mjs +0 -0
  931. package/dist/src/parser/parseSVGDocument.mjs.map +0 -0
  932. package/dist/src/parser/parseStyleAttribute.d.ts +0 -0
  933. package/dist/src/parser/parseStyleAttribute.d.ts.map +0 -0
  934. package/dist/src/parser/parseStyleAttribute.min.mjs +0 -0
  935. package/dist/src/parser/parseStyleAttribute.min.mjs.map +0 -0
  936. package/dist/src/parser/parseStyleAttribute.mjs +0 -0
  937. package/dist/src/parser/parseStyleAttribute.mjs.map +0 -0
  938. package/dist/src/parser/parseStyleObject.d.ts +0 -0
  939. package/dist/src/parser/parseStyleObject.d.ts.map +0 -0
  940. package/dist/src/parser/parseStyleObject.min.mjs +0 -0
  941. package/dist/src/parser/parseStyleObject.min.mjs.map +0 -0
  942. package/dist/src/parser/parseStyleObject.mjs +0 -0
  943. package/dist/src/parser/parseStyleObject.mjs.map +0 -0
  944. package/dist/src/parser/parseStyleString.d.ts +0 -0
  945. package/dist/src/parser/parseStyleString.d.ts.map +0 -0
  946. package/dist/src/parser/parseStyleString.min.mjs +0 -0
  947. package/dist/src/parser/parseStyleString.min.mjs.map +0 -0
  948. package/dist/src/parser/parseStyleString.mjs +0 -0
  949. package/dist/src/parser/parseStyleString.mjs.map +0 -0
  950. package/dist/src/parser/parseTransformAttribute.d.ts +0 -0
  951. package/dist/src/parser/parseTransformAttribute.d.ts.map +0 -0
  952. package/dist/src/parser/parseTransformAttribute.min.mjs +0 -0
  953. package/dist/src/parser/parseTransformAttribute.min.mjs.map +0 -0
  954. package/dist/src/parser/parseTransformAttribute.mjs +0 -0
  955. package/dist/src/parser/parseTransformAttribute.mjs.map +0 -0
  956. package/dist/src/parser/parseUseDirectives.d.ts +0 -0
  957. package/dist/src/parser/parseUseDirectives.d.ts.map +0 -0
  958. package/dist/src/parser/parseUseDirectives.min.mjs +0 -0
  959. package/dist/src/parser/parseUseDirectives.min.mjs.map +0 -0
  960. package/dist/src/parser/parseUseDirectives.mjs +0 -0
  961. package/dist/src/parser/parseUseDirectives.mjs.map +0 -0
  962. package/dist/src/parser/percent.d.ts +0 -0
  963. package/dist/src/parser/percent.d.ts.map +0 -0
  964. package/dist/src/parser/percent.min.mjs +0 -0
  965. package/dist/src/parser/percent.min.mjs.map +0 -0
  966. package/dist/src/parser/percent.mjs +0 -0
  967. package/dist/src/parser/percent.mjs.map +0 -0
  968. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  969. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  970. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +0 -0
  971. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +0 -0
  972. package/dist/src/parser/recursivelyParseGradientsXlink.mjs +0 -0
  973. package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +0 -0
  974. package/dist/src/parser/selectorMatches.d.ts +0 -0
  975. package/dist/src/parser/selectorMatches.d.ts.map +0 -0
  976. package/dist/src/parser/selectorMatches.min.mjs +0 -0
  977. package/dist/src/parser/selectorMatches.min.mjs.map +0 -0
  978. package/dist/src/parser/selectorMatches.mjs +0 -0
  979. package/dist/src/parser/selectorMatches.mjs.map +0 -0
  980. package/dist/src/parser/setStrokeFillOpacity.d.ts +0 -0
  981. package/dist/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  982. package/dist/src/parser/setStrokeFillOpacity.min.mjs +0 -0
  983. package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +0 -0
  984. package/dist/src/parser/setStrokeFillOpacity.mjs +0 -0
  985. package/dist/src/parser/setStrokeFillOpacity.mjs.map +0 -0
  986. package/dist/src/parser/typedefs.d.ts +0 -0
  987. package/dist/src/parser/typedefs.d.ts.map +0 -0
  988. package/dist/src/shapes/ActiveSelection.d.ts +0 -0
  989. package/dist/src/shapes/ActiveSelection.d.ts.map +0 -0
  990. package/dist/src/shapes/ActiveSelection.min.mjs +0 -0
  991. package/dist/src/shapes/ActiveSelection.min.mjs.map +0 -0
  992. package/dist/src/shapes/ActiveSelection.mjs +0 -0
  993. package/dist/src/shapes/ActiveSelection.mjs.map +0 -0
  994. package/dist/src/shapes/Circle.d.ts +0 -0
  995. package/dist/src/shapes/Circle.d.ts.map +0 -0
  996. package/dist/src/shapes/Circle.min.mjs +0 -0
  997. package/dist/src/shapes/Circle.min.mjs.map +0 -0
  998. package/dist/src/shapes/Circle.mjs +0 -0
  999. package/dist/src/shapes/Circle.mjs.map +0 -0
  1000. package/dist/src/shapes/Ellipse.d.ts +0 -0
  1001. package/dist/src/shapes/Ellipse.d.ts.map +0 -0
  1002. package/dist/src/shapes/Ellipse.min.mjs +0 -0
  1003. package/dist/src/shapes/Ellipse.min.mjs.map +0 -0
  1004. package/dist/src/shapes/Ellipse.mjs +0 -0
  1005. package/dist/src/shapes/Ellipse.mjs.map +0 -0
  1006. package/dist/src/shapes/Group.d.ts +0 -0
  1007. package/dist/src/shapes/Group.d.ts.map +0 -0
  1008. package/dist/src/shapes/Group.min.mjs +0 -0
  1009. package/dist/src/shapes/Group.min.mjs.map +0 -0
  1010. package/dist/src/shapes/Group.mjs +0 -0
  1011. package/dist/src/shapes/Group.mjs.map +0 -0
  1012. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  1013. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  1014. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +0 -0
  1015. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +0 -0
  1016. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +0 -0
  1017. package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -0
  1018. package/dist/src/shapes/IText/IText.d.ts +0 -0
  1019. package/dist/src/shapes/IText/IText.d.ts.map +0 -0
  1020. package/dist/src/shapes/IText/IText.min.mjs +0 -0
  1021. package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
  1022. package/dist/src/shapes/IText/IText.mjs +206 -206
  1023. package/dist/src/shapes/IText/IText.mjs.map +1 -1
  1024. package/dist/src/shapes/IText/ITextBehavior.d.ts +0 -0
  1025. package/dist/src/shapes/IText/ITextBehavior.d.ts.map +1 -1
  1026. package/dist/src/shapes/IText/ITextBehavior.min.mjs +1 -1
  1027. package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
  1028. package/dist/src/shapes/IText/ITextBehavior.mjs +221 -157
  1029. package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
  1030. package/dist/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  1031. package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  1032. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +0 -0
  1033. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -1
  1034. package/dist/src/shapes/IText/ITextClickBehavior.mjs +36 -36
  1035. package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -1
  1036. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  1037. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  1038. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +0 -0
  1039. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -1
  1040. package/dist/src/shapes/IText/ITextKeyBehavior.mjs +115 -115
  1041. package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -1
  1042. package/dist/src/shapes/IText/constants.d.ts +0 -0
  1043. package/dist/src/shapes/IText/constants.d.ts.map +0 -0
  1044. package/dist/src/shapes/IText/constants.min.mjs +0 -0
  1045. package/dist/src/shapes/IText/constants.min.mjs.map +0 -0
  1046. package/dist/src/shapes/IText/constants.mjs +0 -0
  1047. package/dist/src/shapes/IText/constants.mjs.map +0 -0
  1048. package/dist/src/shapes/Image.d.ts +0 -0
  1049. package/dist/src/shapes/Image.d.ts.map +0 -0
  1050. package/dist/src/shapes/Image.min.mjs +0 -0
  1051. package/dist/src/shapes/Image.min.mjs.map +0 -0
  1052. package/dist/src/shapes/Image.mjs +0 -0
  1053. package/dist/src/shapes/Image.mjs.map +0 -0
  1054. package/dist/src/shapes/Line.d.ts +0 -0
  1055. package/dist/src/shapes/Line.d.ts.map +0 -0
  1056. package/dist/src/shapes/Line.min.mjs +0 -0
  1057. package/dist/src/shapes/Line.min.mjs.map +0 -0
  1058. package/dist/src/shapes/Line.mjs +0 -0
  1059. package/dist/src/shapes/Line.mjs.map +0 -0
  1060. package/dist/src/shapes/Object/FabricObject.d.ts +0 -0
  1061. package/dist/src/shapes/Object/FabricObject.d.ts.map +0 -0
  1062. package/dist/src/shapes/Object/FabricObject.min.mjs +0 -0
  1063. package/dist/src/shapes/Object/FabricObject.min.mjs.map +0 -0
  1064. package/dist/src/shapes/Object/FabricObject.mjs +0 -0
  1065. package/dist/src/shapes/Object/FabricObject.mjs.map +0 -0
  1066. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  1067. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  1068. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +0 -0
  1069. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +0 -0
  1070. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +0 -0
  1071. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +0 -0
  1072. package/dist/src/shapes/Object/InteractiveObject.d.ts +0 -0
  1073. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  1074. package/dist/src/shapes/Object/InteractiveObject.min.mjs +0 -0
  1075. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +0 -0
  1076. package/dist/src/shapes/Object/InteractiveObject.mjs +0 -0
  1077. package/dist/src/shapes/Object/InteractiveObject.mjs.map +0 -0
  1078. package/dist/src/shapes/Object/Object.d.ts +0 -0
  1079. package/dist/src/shapes/Object/Object.d.ts.map +0 -0
  1080. package/dist/src/shapes/Object/Object.min.mjs +0 -0
  1081. package/dist/src/shapes/Object/Object.min.mjs.map +0 -0
  1082. package/dist/src/shapes/Object/Object.mjs +0 -0
  1083. package/dist/src/shapes/Object/Object.mjs.map +0 -0
  1084. package/dist/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1085. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1086. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +0 -0
  1087. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +0 -0
  1088. package/dist/src/shapes/Object/ObjectGeometry.mjs +0 -0
  1089. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +0 -0
  1090. package/dist/src/shapes/Object/defaultValues.d.ts +0 -0
  1091. package/dist/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1092. package/dist/src/shapes/Object/defaultValues.min.mjs +0 -0
  1093. package/dist/src/shapes/Object/defaultValues.min.mjs.map +0 -0
  1094. package/dist/src/shapes/Object/defaultValues.mjs +0 -0
  1095. package/dist/src/shapes/Object/defaultValues.mjs.map +0 -0
  1096. package/dist/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1097. package/dist/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1098. package/dist/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1099. package/dist/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1100. package/dist/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1101. package/dist/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1102. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1103. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1104. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1105. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1106. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1107. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1108. package/dist/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1109. package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1110. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1111. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1112. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1113. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1114. package/dist/src/shapes/Object/types/index.d.ts +0 -0
  1115. package/dist/src/shapes/Object/types/index.d.ts.map +0 -0
  1116. package/dist/src/shapes/Path.d.ts +0 -0
  1117. package/dist/src/shapes/Path.d.ts.map +0 -0
  1118. package/dist/src/shapes/Path.min.mjs +0 -0
  1119. package/dist/src/shapes/Path.min.mjs.map +0 -0
  1120. package/dist/src/shapes/Path.mjs +0 -0
  1121. package/dist/src/shapes/Path.mjs.map +0 -0
  1122. package/dist/src/shapes/Polygon.d.ts +0 -0
  1123. package/dist/src/shapes/Polygon.d.ts.map +0 -0
  1124. package/dist/src/shapes/Polygon.min.mjs +0 -0
  1125. package/dist/src/shapes/Polygon.min.mjs.map +0 -0
  1126. package/dist/src/shapes/Polygon.mjs +0 -0
  1127. package/dist/src/shapes/Polygon.mjs.map +0 -0
  1128. package/dist/src/shapes/Polyline.d.ts +0 -0
  1129. package/dist/src/shapes/Polyline.d.ts.map +0 -0
  1130. package/dist/src/shapes/Polyline.min.mjs +0 -0
  1131. package/dist/src/shapes/Polyline.min.mjs.map +0 -0
  1132. package/dist/src/shapes/Polyline.mjs +0 -0
  1133. package/dist/src/shapes/Polyline.mjs.map +0 -0
  1134. package/dist/src/shapes/Rect.d.ts +0 -0
  1135. package/dist/src/shapes/Rect.d.ts.map +0 -0
  1136. package/dist/src/shapes/Rect.min.mjs +0 -0
  1137. package/dist/src/shapes/Rect.min.mjs.map +0 -0
  1138. package/dist/src/shapes/Rect.mjs +0 -0
  1139. package/dist/src/shapes/Rect.mjs.map +0 -0
  1140. package/dist/src/shapes/Text/StyledText.d.ts +0 -0
  1141. package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
  1142. package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
  1143. package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
  1144. package/dist/src/shapes/Text/StyledText.mjs +0 -0
  1145. package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
  1146. package/dist/src/shapes/Text/Text.d.ts +1 -0
  1147. package/dist/src/shapes/Text/Text.d.ts.map +1 -1
  1148. package/dist/src/shapes/Text/Text.min.mjs +1 -1
  1149. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  1150. package/dist/src/shapes/Text/Text.mjs +20 -7
  1151. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  1152. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1153. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1154. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +0 -0
  1155. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +0 -0
  1156. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +0 -0
  1157. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -0
  1158. package/dist/src/shapes/Text/constants.d.ts +0 -0
  1159. package/dist/src/shapes/Text/constants.d.ts.map +0 -0
  1160. package/dist/src/shapes/Text/constants.min.mjs +0 -0
  1161. package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
  1162. package/dist/src/shapes/Text/constants.mjs +0 -0
  1163. package/dist/src/shapes/Text/constants.mjs.map +1 -1
  1164. package/dist/src/shapes/Textbox.d.ts +20 -0
  1165. package/dist/src/shapes/Textbox.d.ts.map +1 -1
  1166. package/dist/src/shapes/Textbox.min.mjs +1 -1
  1167. package/dist/src/shapes/Textbox.min.mjs.map +1 -1
  1168. package/dist/src/shapes/Textbox.mjs +242 -22
  1169. package/dist/src/shapes/Textbox.mjs.map +1 -1
  1170. package/dist/src/shapes/Triangle.d.ts +0 -0
  1171. package/dist/src/shapes/Triangle.d.ts.map +0 -0
  1172. package/dist/src/shapes/Triangle.min.mjs +0 -0
  1173. package/dist/src/shapes/Triangle.min.mjs.map +0 -0
  1174. package/dist/src/shapes/Triangle.mjs +0 -0
  1175. package/dist/src/shapes/Triangle.mjs.map +0 -0
  1176. package/dist/src/text/browserLines.d.ts +7 -2
  1177. package/dist/src/text/browserLines.d.ts.map +1 -1
  1178. package/dist/src/text/browserLines.min.mjs +1 -1
  1179. package/dist/src/text/browserLines.min.mjs.map +1 -1
  1180. package/dist/src/text/browserLines.mjs +35 -25
  1181. package/dist/src/text/browserLines.mjs.map +1 -1
  1182. package/dist/src/text/ellipsis.d.ts +0 -0
  1183. package/dist/src/text/ellipsis.d.ts.map +0 -0
  1184. package/dist/src/text/ellipsis.min.mjs +0 -0
  1185. package/dist/src/text/ellipsis.min.mjs.map +1 -1
  1186. package/dist/src/text/ellipsis.mjs +11 -11
  1187. package/dist/src/text/ellipsis.mjs.map +1 -1
  1188. package/dist/src/text/hitTest.d.ts +0 -0
  1189. package/dist/src/text/hitTest.d.ts.map +0 -0
  1190. package/dist/src/text/hitTest.min.mjs +0 -0
  1191. package/dist/src/text/hitTest.min.mjs.map +1 -1
  1192. package/dist/src/text/hitTest.mjs +19 -19
  1193. package/dist/src/text/hitTest.mjs.map +1 -1
  1194. package/dist/src/text/layout.d.ts +0 -0
  1195. package/dist/src/text/layout.d.ts.map +0 -0
  1196. package/dist/src/text/layout.min.mjs +0 -0
  1197. package/dist/src/text/layout.min.mjs.map +1 -1
  1198. package/dist/src/text/layout.mjs +33 -33
  1199. package/dist/src/text/layout.mjs.map +1 -1
  1200. package/dist/src/text/measure.d.ts +0 -0
  1201. package/dist/src/text/measure.d.ts.map +0 -0
  1202. package/dist/src/text/measure.min.mjs +0 -0
  1203. package/dist/src/text/measure.min.mjs.map +1 -1
  1204. package/dist/src/text/measure.mjs +30 -30
  1205. package/dist/src/text/measure.mjs.map +1 -1
  1206. package/dist/src/text/overlayEditor.d.ts +1 -0
  1207. package/dist/src/text/overlayEditor.d.ts.map +1 -1
  1208. package/dist/src/text/overlayEditor.min.mjs +1 -1
  1209. package/dist/src/text/overlayEditor.min.mjs.map +1 -1
  1210. package/dist/src/text/overlayEditor.mjs +70 -51
  1211. package/dist/src/text/overlayEditor.mjs.map +1 -1
  1212. package/dist/src/text/unicode.d.ts +0 -0
  1213. package/dist/src/text/unicode.d.ts.map +0 -0
  1214. package/dist/src/text/unicode.min.mjs +0 -0
  1215. package/dist/src/text/unicode.min.mjs.map +1 -1
  1216. package/dist/src/text/unicode.mjs +8 -8
  1217. package/dist/src/text/unicode.mjs.map +1 -1
  1218. package/dist/src/typedefs.d.ts +0 -0
  1219. package/dist/src/typedefs.d.ts.map +0 -0
  1220. package/dist/src/util/animation/AnimationBase.d.ts +0 -0
  1221. package/dist/src/util/animation/AnimationBase.d.ts.map +0 -0
  1222. package/dist/src/util/animation/AnimationBase.min.mjs +0 -0
  1223. package/dist/src/util/animation/AnimationBase.min.mjs.map +0 -0
  1224. package/dist/src/util/animation/AnimationBase.mjs +0 -0
  1225. package/dist/src/util/animation/AnimationBase.mjs.map +0 -0
  1226. package/dist/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1227. package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1228. package/dist/src/util/animation/AnimationFrameProvider.min.mjs +0 -0
  1229. package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +0 -0
  1230. package/dist/src/util/animation/AnimationFrameProvider.mjs +0 -0
  1231. package/dist/src/util/animation/AnimationFrameProvider.mjs.map +0 -0
  1232. package/dist/src/util/animation/AnimationRegistry.d.ts +0 -0
  1233. package/dist/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  1234. package/dist/src/util/animation/AnimationRegistry.min.mjs +0 -0
  1235. package/dist/src/util/animation/AnimationRegistry.min.mjs.map +0 -0
  1236. package/dist/src/util/animation/AnimationRegistry.mjs +0 -0
  1237. package/dist/src/util/animation/AnimationRegistry.mjs.map +0 -0
  1238. package/dist/src/util/animation/ArrayAnimation.d.ts +0 -0
  1239. package/dist/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  1240. package/dist/src/util/animation/ArrayAnimation.min.mjs +0 -0
  1241. package/dist/src/util/animation/ArrayAnimation.min.mjs.map +0 -0
  1242. package/dist/src/util/animation/ArrayAnimation.mjs +0 -0
  1243. package/dist/src/util/animation/ArrayAnimation.mjs.map +0 -0
  1244. package/dist/src/util/animation/ColorAnimation.d.ts +0 -0
  1245. package/dist/src/util/animation/ColorAnimation.d.ts.map +0 -0
  1246. package/dist/src/util/animation/ColorAnimation.min.mjs +0 -0
  1247. package/dist/src/util/animation/ColorAnimation.min.mjs.map +0 -0
  1248. package/dist/src/util/animation/ColorAnimation.mjs +0 -0
  1249. package/dist/src/util/animation/ColorAnimation.mjs.map +0 -0
  1250. package/dist/src/util/animation/ValueAnimation.d.ts +0 -0
  1251. package/dist/src/util/animation/ValueAnimation.d.ts.map +0 -0
  1252. package/dist/src/util/animation/ValueAnimation.min.mjs +0 -0
  1253. package/dist/src/util/animation/ValueAnimation.min.mjs.map +0 -0
  1254. package/dist/src/util/animation/ValueAnimation.mjs +0 -0
  1255. package/dist/src/util/animation/ValueAnimation.mjs.map +0 -0
  1256. package/dist/src/util/animation/animate.d.ts +0 -0
  1257. package/dist/src/util/animation/animate.d.ts.map +0 -0
  1258. package/dist/src/util/animation/animate.min.mjs +0 -0
  1259. package/dist/src/util/animation/animate.min.mjs.map +0 -0
  1260. package/dist/src/util/animation/animate.mjs +0 -0
  1261. package/dist/src/util/animation/animate.mjs.map +0 -0
  1262. package/dist/src/util/animation/easing.d.ts +0 -0
  1263. package/dist/src/util/animation/easing.d.ts.map +0 -0
  1264. package/dist/src/util/animation/easing.min.mjs +0 -0
  1265. package/dist/src/util/animation/easing.min.mjs.map +0 -0
  1266. package/dist/src/util/animation/easing.mjs +0 -0
  1267. package/dist/src/util/animation/easing.mjs.map +0 -0
  1268. package/dist/src/util/animation/index.d.ts +0 -0
  1269. package/dist/src/util/animation/index.d.ts.map +0 -0
  1270. package/dist/src/util/animation/types.d.ts +0 -0
  1271. package/dist/src/util/animation/types.d.ts.map +0 -0
  1272. package/dist/src/util/applyMixins.d.ts +0 -0
  1273. package/dist/src/util/applyMixins.d.ts.map +0 -0
  1274. package/dist/src/util/applyMixins.min.mjs +0 -0
  1275. package/dist/src/util/applyMixins.min.mjs.map +0 -0
  1276. package/dist/src/util/applyMixins.mjs +0 -0
  1277. package/dist/src/util/applyMixins.mjs.map +0 -0
  1278. package/dist/src/util/dom_event.d.ts +0 -0
  1279. package/dist/src/util/dom_event.d.ts.map +0 -0
  1280. package/dist/src/util/dom_event.min.mjs +0 -0
  1281. package/dist/src/util/dom_event.min.mjs.map +0 -0
  1282. package/dist/src/util/dom_event.mjs +0 -0
  1283. package/dist/src/util/dom_event.mjs.map +0 -0
  1284. package/dist/src/util/dom_misc.d.ts +0 -0
  1285. package/dist/src/util/dom_misc.d.ts.map +0 -0
  1286. package/dist/src/util/dom_misc.min.mjs +0 -0
  1287. package/dist/src/util/dom_misc.min.mjs.map +0 -0
  1288. package/dist/src/util/dom_misc.mjs +0 -0
  1289. package/dist/src/util/dom_misc.mjs.map +0 -0
  1290. package/dist/src/util/index.d.ts +0 -0
  1291. package/dist/src/util/index.d.ts.map +0 -0
  1292. package/dist/src/util/index.min.mjs +0 -0
  1293. package/dist/src/util/index.min.mjs.map +0 -0
  1294. package/dist/src/util/index.mjs +0 -0
  1295. package/dist/src/util/index.mjs.map +0 -0
  1296. package/dist/src/util/internals/applyCanvasTransform.d.ts +0 -0
  1297. package/dist/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  1298. package/dist/src/util/internals/applyCanvasTransform.min.mjs +0 -0
  1299. package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +0 -0
  1300. package/dist/src/util/internals/applyCanvasTransform.mjs +0 -0
  1301. package/dist/src/util/internals/applyCanvasTransform.mjs.map +0 -0
  1302. package/dist/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  1303. package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  1304. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +0 -0
  1305. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +0 -0
  1306. package/dist/src/util/internals/cleanupSvgAttribute.mjs +0 -0
  1307. package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +0 -0
  1308. package/dist/src/util/internals/cloneStyles.d.ts +0 -0
  1309. package/dist/src/util/internals/cloneStyles.d.ts.map +0 -0
  1310. package/dist/src/util/internals/cloneStyles.min.mjs +0 -0
  1311. package/dist/src/util/internals/cloneStyles.min.mjs.map +0 -0
  1312. package/dist/src/util/internals/cloneStyles.mjs +0 -0
  1313. package/dist/src/util/internals/cloneStyles.mjs.map +0 -0
  1314. package/dist/src/util/internals/console.d.ts +0 -0
  1315. package/dist/src/util/internals/console.d.ts.map +0 -0
  1316. package/dist/src/util/internals/console.min.mjs +0 -0
  1317. package/dist/src/util/internals/console.min.mjs.map +0 -0
  1318. package/dist/src/util/internals/console.mjs +0 -0
  1319. package/dist/src/util/internals/console.mjs.map +0 -0
  1320. package/dist/src/util/internals/dom_style.d.ts +0 -0
  1321. package/dist/src/util/internals/dom_style.d.ts.map +0 -0
  1322. package/dist/src/util/internals/dom_style.min.mjs +0 -0
  1323. package/dist/src/util/internals/dom_style.min.mjs.map +0 -0
  1324. package/dist/src/util/internals/dom_style.mjs +0 -0
  1325. package/dist/src/util/internals/dom_style.mjs.map +0 -0
  1326. package/dist/src/util/internals/findRight.d.ts +0 -0
  1327. package/dist/src/util/internals/findRight.d.ts.map +0 -0
  1328. package/dist/src/util/internals/findRight.min.mjs +0 -0
  1329. package/dist/src/util/internals/findRight.min.mjs.map +0 -0
  1330. package/dist/src/util/internals/findRight.mjs +0 -0
  1331. package/dist/src/util/internals/findRight.mjs.map +0 -0
  1332. package/dist/src/util/internals/getRandomInt.d.ts +0 -0
  1333. package/dist/src/util/internals/getRandomInt.d.ts.map +0 -0
  1334. package/dist/src/util/internals/getRandomInt.min.mjs +0 -0
  1335. package/dist/src/util/internals/getRandomInt.min.mjs.map +0 -0
  1336. package/dist/src/util/internals/getRandomInt.mjs +0 -0
  1337. package/dist/src/util/internals/getRandomInt.mjs.map +0 -0
  1338. package/dist/src/util/internals/ifNaN.d.ts +0 -0
  1339. package/dist/src/util/internals/ifNaN.d.ts.map +0 -0
  1340. package/dist/src/util/internals/ifNaN.min.mjs +0 -0
  1341. package/dist/src/util/internals/ifNaN.min.mjs.map +0 -0
  1342. package/dist/src/util/internals/ifNaN.mjs +0 -0
  1343. package/dist/src/util/internals/ifNaN.mjs.map +0 -0
  1344. package/dist/src/util/internals/removeFromArray.d.ts +0 -0
  1345. package/dist/src/util/internals/removeFromArray.d.ts.map +0 -0
  1346. package/dist/src/util/internals/removeFromArray.min.mjs +0 -0
  1347. package/dist/src/util/internals/removeFromArray.min.mjs.map +0 -0
  1348. package/dist/src/util/internals/removeFromArray.mjs +0 -0
  1349. package/dist/src/util/internals/removeFromArray.mjs.map +0 -0
  1350. package/dist/src/util/internals/uid.d.ts +0 -0
  1351. package/dist/src/util/internals/uid.d.ts.map +0 -0
  1352. package/dist/src/util/internals/uid.min.mjs +0 -0
  1353. package/dist/src/util/internals/uid.min.mjs.map +0 -0
  1354. package/dist/src/util/internals/uid.mjs +0 -0
  1355. package/dist/src/util/internals/uid.mjs.map +0 -0
  1356. package/dist/src/util/lang_string.d.ts +0 -0
  1357. package/dist/src/util/lang_string.d.ts.map +0 -0
  1358. package/dist/src/util/lang_string.min.mjs +0 -0
  1359. package/dist/src/util/lang_string.min.mjs.map +0 -0
  1360. package/dist/src/util/lang_string.mjs +0 -0
  1361. package/dist/src/util/lang_string.mjs.map +0 -0
  1362. package/dist/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  1363. package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  1364. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +0 -0
  1365. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +0 -0
  1366. package/dist/src/util/misc/boundingBoxFromPoints.mjs +0 -0
  1367. package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +0 -0
  1368. package/dist/src/util/misc/capValue.d.ts +0 -0
  1369. package/dist/src/util/misc/capValue.d.ts.map +0 -0
  1370. package/dist/src/util/misc/capValue.min.mjs +0 -0
  1371. package/dist/src/util/misc/capValue.min.mjs.map +0 -0
  1372. package/dist/src/util/misc/capValue.mjs +0 -0
  1373. package/dist/src/util/misc/capValue.mjs.map +0 -0
  1374. package/dist/src/util/misc/cornerRadius.d.ts +0 -0
  1375. package/dist/src/util/misc/cornerRadius.d.ts.map +0 -0
  1376. package/dist/src/util/misc/cornerRadius.min.mjs +0 -0
  1377. package/dist/src/util/misc/cornerRadius.min.mjs.map +0 -0
  1378. package/dist/src/util/misc/cornerRadius.mjs +0 -0
  1379. package/dist/src/util/misc/cornerRadius.mjs.map +0 -0
  1380. package/dist/src/util/misc/cos.d.ts +0 -0
  1381. package/dist/src/util/misc/cos.d.ts.map +0 -0
  1382. package/dist/src/util/misc/cos.min.mjs +0 -0
  1383. package/dist/src/util/misc/cos.min.mjs.map +0 -0
  1384. package/dist/src/util/misc/cos.mjs +0 -0
  1385. package/dist/src/util/misc/cos.mjs.map +0 -0
  1386. package/dist/src/util/misc/dom.d.ts +0 -0
  1387. package/dist/src/util/misc/dom.d.ts.map +0 -0
  1388. package/dist/src/util/misc/dom.min.mjs +0 -0
  1389. package/dist/src/util/misc/dom.min.mjs.map +0 -0
  1390. package/dist/src/util/misc/dom.mjs +0 -0
  1391. package/dist/src/util/misc/dom.mjs.map +0 -0
  1392. package/dist/src/util/misc/findScaleTo.d.ts +0 -0
  1393. package/dist/src/util/misc/findScaleTo.d.ts.map +0 -0
  1394. package/dist/src/util/misc/findScaleTo.min.mjs +0 -0
  1395. package/dist/src/util/misc/findScaleTo.min.mjs.map +0 -0
  1396. package/dist/src/util/misc/findScaleTo.mjs +0 -0
  1397. package/dist/src/util/misc/findScaleTo.mjs.map +0 -0
  1398. package/dist/src/util/misc/groupSVGElements.d.ts +0 -0
  1399. package/dist/src/util/misc/groupSVGElements.d.ts.map +0 -0
  1400. package/dist/src/util/misc/groupSVGElements.min.mjs +0 -0
  1401. package/dist/src/util/misc/groupSVGElements.min.mjs.map +0 -0
  1402. package/dist/src/util/misc/groupSVGElements.mjs +0 -0
  1403. package/dist/src/util/misc/groupSVGElements.mjs.map +0 -0
  1404. package/dist/src/util/misc/isTransparent.d.ts +0 -0
  1405. package/dist/src/util/misc/isTransparent.d.ts.map +0 -0
  1406. package/dist/src/util/misc/isTransparent.min.mjs +0 -0
  1407. package/dist/src/util/misc/isTransparent.min.mjs.map +0 -0
  1408. package/dist/src/util/misc/isTransparent.mjs +0 -0
  1409. package/dist/src/util/misc/isTransparent.mjs.map +0 -0
  1410. package/dist/src/util/misc/matrix.d.ts +0 -0
  1411. package/dist/src/util/misc/matrix.d.ts.map +0 -0
  1412. package/dist/src/util/misc/matrix.min.mjs +0 -0
  1413. package/dist/src/util/misc/matrix.min.mjs.map +0 -0
  1414. package/dist/src/util/misc/matrix.mjs +0 -0
  1415. package/dist/src/util/misc/matrix.mjs.map +0 -0
  1416. package/dist/src/util/misc/mergeClipPaths.d.ts +0 -0
  1417. package/dist/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  1418. package/dist/src/util/misc/mergeClipPaths.min.mjs +0 -0
  1419. package/dist/src/util/misc/mergeClipPaths.min.mjs.map +0 -0
  1420. package/dist/src/util/misc/mergeClipPaths.mjs +0 -0
  1421. package/dist/src/util/misc/mergeClipPaths.mjs.map +0 -0
  1422. package/dist/src/util/misc/objectEnlive.d.ts +0 -0
  1423. package/dist/src/util/misc/objectEnlive.d.ts.map +0 -0
  1424. package/dist/src/util/misc/objectEnlive.min.mjs +0 -0
  1425. package/dist/src/util/misc/objectEnlive.min.mjs.map +0 -0
  1426. package/dist/src/util/misc/objectEnlive.mjs +0 -0
  1427. package/dist/src/util/misc/objectEnlive.mjs.map +0 -0
  1428. package/dist/src/util/misc/objectTransforms.d.ts +0 -0
  1429. package/dist/src/util/misc/objectTransforms.d.ts.map +0 -0
  1430. package/dist/src/util/misc/objectTransforms.min.mjs +0 -0
  1431. package/dist/src/util/misc/objectTransforms.min.mjs.map +0 -0
  1432. package/dist/src/util/misc/objectTransforms.mjs +0 -0
  1433. package/dist/src/util/misc/objectTransforms.mjs.map +0 -0
  1434. package/dist/src/util/misc/pick.d.ts +0 -0
  1435. package/dist/src/util/misc/pick.d.ts.map +0 -0
  1436. package/dist/src/util/misc/pick.min.mjs +0 -0
  1437. package/dist/src/util/misc/pick.min.mjs.map +0 -0
  1438. package/dist/src/util/misc/pick.mjs +0 -0
  1439. package/dist/src/util/misc/pick.mjs.map +0 -0
  1440. package/dist/src/util/misc/planeChange.d.ts +0 -0
  1441. package/dist/src/util/misc/planeChange.d.ts.map +0 -0
  1442. package/dist/src/util/misc/planeChange.min.mjs +0 -0
  1443. package/dist/src/util/misc/planeChange.min.mjs.map +0 -0
  1444. package/dist/src/util/misc/planeChange.mjs +0 -0
  1445. package/dist/src/util/misc/planeChange.mjs.map +0 -0
  1446. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  1447. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  1448. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +0 -0
  1449. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +0 -0
  1450. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -0
  1451. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -0
  1452. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  1453. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  1454. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +0 -0
  1455. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +0 -0
  1456. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -0
  1457. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -0
  1458. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  1459. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  1460. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +0 -0
  1461. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +0 -0
  1462. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -0
  1463. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -0
  1464. package/dist/src/util/misc/projectStroke/index.d.ts +0 -0
  1465. package/dist/src/util/misc/projectStroke/index.d.ts.map +0 -0
  1466. package/dist/src/util/misc/projectStroke/index.min.mjs +0 -0
  1467. package/dist/src/util/misc/projectStroke/index.min.mjs.map +0 -0
  1468. package/dist/src/util/misc/projectStroke/index.mjs +0 -0
  1469. package/dist/src/util/misc/projectStroke/index.mjs.map +0 -0
  1470. package/dist/src/util/misc/projectStroke/types.d.ts +0 -0
  1471. package/dist/src/util/misc/projectStroke/types.d.ts.map +0 -0
  1472. package/dist/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  1473. package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  1474. package/dist/src/util/misc/radiansDegreesConversion.min.mjs +0 -0
  1475. package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +0 -0
  1476. package/dist/src/util/misc/radiansDegreesConversion.mjs +0 -0
  1477. package/dist/src/util/misc/radiansDegreesConversion.mjs.map +0 -0
  1478. package/dist/src/util/misc/resolveOrigin.d.ts +0 -0
  1479. package/dist/src/util/misc/resolveOrigin.d.ts.map +0 -0
  1480. package/dist/src/util/misc/resolveOrigin.min.mjs +0 -0
  1481. package/dist/src/util/misc/resolveOrigin.min.mjs.map +0 -0
  1482. package/dist/src/util/misc/resolveOrigin.mjs +0 -0
  1483. package/dist/src/util/misc/resolveOrigin.mjs.map +0 -0
  1484. package/dist/src/util/misc/sin.d.ts +0 -0
  1485. package/dist/src/util/misc/sin.d.ts.map +0 -0
  1486. package/dist/src/util/misc/sin.min.mjs +0 -0
  1487. package/dist/src/util/misc/sin.min.mjs.map +0 -0
  1488. package/dist/src/util/misc/sin.mjs +0 -0
  1489. package/dist/src/util/misc/sin.mjs.map +0 -0
  1490. package/dist/src/util/misc/svgExport.d.ts +0 -0
  1491. package/dist/src/util/misc/svgExport.d.ts.map +0 -0
  1492. package/dist/src/util/misc/svgExport.min.mjs +0 -0
  1493. package/dist/src/util/misc/svgExport.min.mjs.map +0 -0
  1494. package/dist/src/util/misc/svgExport.mjs +0 -0
  1495. package/dist/src/util/misc/svgExport.mjs.map +0 -0
  1496. package/dist/src/util/misc/svgParsing.d.ts +0 -0
  1497. package/dist/src/util/misc/svgParsing.d.ts.map +0 -0
  1498. package/dist/src/util/misc/svgParsing.min.mjs +0 -0
  1499. package/dist/src/util/misc/svgParsing.min.mjs.map +0 -0
  1500. package/dist/src/util/misc/svgParsing.mjs +0 -0
  1501. package/dist/src/util/misc/svgParsing.mjs.map +0 -0
  1502. package/dist/src/util/misc/textStyles.d.ts +0 -0
  1503. package/dist/src/util/misc/textStyles.d.ts.map +0 -0
  1504. package/dist/src/util/misc/textStyles.min.mjs +0 -0
  1505. package/dist/src/util/misc/textStyles.min.mjs.map +0 -0
  1506. package/dist/src/util/misc/textStyles.mjs +0 -0
  1507. package/dist/src/util/misc/textStyles.mjs.map +0 -0
  1508. package/dist/src/util/misc/toFixed.d.ts +0 -0
  1509. package/dist/src/util/misc/toFixed.d.ts.map +0 -0
  1510. package/dist/src/util/misc/toFixed.min.mjs +0 -0
  1511. package/dist/src/util/misc/toFixed.min.mjs.map +0 -0
  1512. package/dist/src/util/misc/toFixed.mjs +0 -0
  1513. package/dist/src/util/misc/toFixed.mjs.map +0 -0
  1514. package/dist/src/util/misc/vectors.d.ts +0 -0
  1515. package/dist/src/util/misc/vectors.d.ts.map +0 -0
  1516. package/dist/src/util/misc/vectors.min.mjs +0 -0
  1517. package/dist/src/util/misc/vectors.min.mjs.map +0 -0
  1518. package/dist/src/util/misc/vectors.mjs +0 -0
  1519. package/dist/src/util/misc/vectors.mjs.map +0 -0
  1520. package/dist/src/util/path/index.d.ts +0 -0
  1521. package/dist/src/util/path/index.d.ts.map +0 -0
  1522. package/dist/src/util/path/index.min.mjs +0 -0
  1523. package/dist/src/util/path/index.min.mjs.map +0 -0
  1524. package/dist/src/util/path/index.mjs +0 -0
  1525. package/dist/src/util/path/index.mjs.map +0 -0
  1526. package/dist/src/util/path/regex.d.ts +0 -0
  1527. package/dist/src/util/path/regex.d.ts.map +0 -0
  1528. package/dist/src/util/path/regex.min.mjs +0 -0
  1529. package/dist/src/util/path/regex.min.mjs.map +0 -0
  1530. package/dist/src/util/path/regex.mjs +0 -0
  1531. package/dist/src/util/path/regex.mjs.map +0 -0
  1532. package/dist/src/util/path/typechecks.d.ts +0 -0
  1533. package/dist/src/util/path/typechecks.d.ts.map +0 -0
  1534. package/dist/src/util/path/typedefs.d.ts +0 -0
  1535. package/dist/src/util/path/typedefs.d.ts.map +0 -0
  1536. package/dist/src/util/transform_matrix_removal.d.ts +0 -0
  1537. package/dist/src/util/transform_matrix_removal.d.ts.map +0 -0
  1538. package/dist/src/util/transform_matrix_removal.min.mjs +0 -0
  1539. package/dist/src/util/transform_matrix_removal.min.mjs.map +0 -0
  1540. package/dist/src/util/transform_matrix_removal.mjs +0 -0
  1541. package/dist/src/util/transform_matrix_removal.mjs.map +0 -0
  1542. package/dist/src/util/typeAssertions.d.ts +0 -0
  1543. package/dist/src/util/typeAssertions.d.ts.map +0 -0
  1544. package/dist/src/util/typeAssertions.min.mjs +0 -0
  1545. package/dist/src/util/typeAssertions.min.mjs.map +0 -0
  1546. package/dist/src/util/typeAssertions.mjs +0 -0
  1547. package/dist/src/util/typeAssertions.mjs.map +0 -0
  1548. package/dist-extensions/aligning_guidelines/constant.mjs +0 -0
  1549. package/dist-extensions/aligning_guidelines/constant.mjs.map +0 -0
  1550. package/dist-extensions/aligning_guidelines/index.mjs +0 -0
  1551. package/dist-extensions/aligning_guidelines/index.mjs.map +0 -0
  1552. package/dist-extensions/aligning_guidelines/util/basic.mjs +0 -0
  1553. package/dist-extensions/aligning_guidelines/util/basic.mjs.map +0 -0
  1554. package/dist-extensions/aligning_guidelines/util/collect-line.mjs +0 -0
  1555. package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +0 -0
  1556. package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -0
  1557. package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -0
  1558. package/dist-extensions/aligning_guidelines/util/draw.mjs +0 -0
  1559. package/dist-extensions/aligning_guidelines/util/draw.mjs.map +0 -0
  1560. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -0
  1561. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -0
  1562. package/dist-extensions/data_updaters/gradient/index.mjs +0 -0
  1563. package/dist-extensions/data_updaters/gradient/index.mjs.map +0 -0
  1564. package/dist-extensions/data_updaters/origins/index.mjs +0 -0
  1565. package/dist-extensions/data_updaters/origins/index.mjs.map +0 -0
  1566. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +0 -0
  1567. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  1568. package/dist-extensions/extensions/aligning_guidelines/index.d.ts +0 -0
  1569. package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +0 -0
  1570. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  1571. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  1572. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  1573. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  1574. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  1575. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  1576. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  1577. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  1578. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  1579. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  1580. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  1581. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  1582. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +0 -0
  1583. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  1584. package/dist-extensions/extensions/data_updaters/origins/index.d.ts +0 -0
  1585. package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +0 -0
  1586. package/dist-extensions/extensions/index.d.ts +0 -0
  1587. package/dist-extensions/extensions/index.d.ts.map +0 -0
  1588. package/dist-extensions/fabric-extensions.min.js +0 -0
  1589. package/dist-extensions/fabric-extensions.min.js.map +0 -0
  1590. package/dist-extensions/fabric.d.ts +0 -0
  1591. package/dist-extensions/fabric.d.ts.map +0 -0
  1592. package/dist-extensions/index.d.ts +0 -0
  1593. package/dist-extensions/index.d.ts.map +0 -0
  1594. package/dist-extensions/index.mjs +0 -0
  1595. package/dist-extensions/index.mjs.map +0 -0
  1596. package/dist-extensions/src/ClassRegistry.d.ts +0 -0
  1597. package/dist-extensions/src/ClassRegistry.d.ts.map +0 -0
  1598. package/dist-extensions/src/Collection.d.ts +0 -0
  1599. package/dist-extensions/src/Collection.d.ts.map +0 -0
  1600. package/dist-extensions/src/CommonMethods.d.ts +0 -0
  1601. package/dist-extensions/src/CommonMethods.d.ts.map +0 -0
  1602. package/dist-extensions/src/EventTypeDefs.d.ts +0 -0
  1603. package/dist-extensions/src/EventTypeDefs.d.ts.map +0 -0
  1604. package/dist-extensions/src/Intersection.d.ts +0 -0
  1605. package/dist-extensions/src/Intersection.d.ts.map +0 -0
  1606. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  1607. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  1608. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +0 -0
  1609. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  1610. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  1611. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  1612. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  1613. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  1614. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  1615. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  1616. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  1617. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  1618. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  1619. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  1620. package/dist-extensions/src/LayoutManager/constants.d.ts +0 -0
  1621. package/dist-extensions/src/LayoutManager/constants.d.ts.map +0 -0
  1622. package/dist-extensions/src/LayoutManager/index.d.ts +0 -0
  1623. package/dist-extensions/src/LayoutManager/index.d.ts.map +0 -0
  1624. package/dist-extensions/src/LayoutManager/types.d.ts +0 -0
  1625. package/dist-extensions/src/LayoutManager/types.d.ts.map +0 -0
  1626. package/dist-extensions/src/Observable.d.ts +0 -0
  1627. package/dist-extensions/src/Observable.d.ts.map +0 -0
  1628. package/dist-extensions/src/Pattern/Pattern.d.ts +0 -0
  1629. package/dist-extensions/src/Pattern/Pattern.d.ts.map +0 -0
  1630. package/dist-extensions/src/Pattern/index.d.ts +0 -0
  1631. package/dist-extensions/src/Pattern/index.d.ts.map +0 -0
  1632. package/dist-extensions/src/Pattern/types.d.ts +0 -0
  1633. package/dist-extensions/src/Pattern/types.d.ts.map +0 -0
  1634. package/dist-extensions/src/Point.d.ts +0 -0
  1635. package/dist-extensions/src/Point.d.ts.map +0 -0
  1636. package/dist-extensions/src/Shadow.d.ts +0 -0
  1637. package/dist-extensions/src/Shadow.d.ts.map +0 -0
  1638. package/dist-extensions/src/brushes/BaseBrush.d.ts +0 -0
  1639. package/dist-extensions/src/brushes/BaseBrush.d.ts.map +0 -0
  1640. package/dist-extensions/src/brushes/CircleBrush.d.ts +0 -0
  1641. package/dist-extensions/src/brushes/CircleBrush.d.ts.map +0 -0
  1642. package/dist-extensions/src/brushes/PatternBrush.d.ts +0 -0
  1643. package/dist-extensions/src/brushes/PatternBrush.d.ts.map +0 -0
  1644. package/dist-extensions/src/brushes/PencilBrush.d.ts +0 -0
  1645. package/dist-extensions/src/brushes/PencilBrush.d.ts.map +0 -0
  1646. package/dist-extensions/src/brushes/SprayBrush.d.ts +0 -0
  1647. package/dist-extensions/src/brushes/SprayBrush.d.ts.map +0 -0
  1648. package/dist-extensions/src/brushes/typedefs.d.ts +0 -0
  1649. package/dist-extensions/src/brushes/typedefs.d.ts.map +0 -0
  1650. package/dist-extensions/src/cache.d.ts +0 -0
  1651. package/dist-extensions/src/cache.d.ts.map +0 -0
  1652. package/dist-extensions/src/canvas/Canvas.d.ts +0 -0
  1653. package/dist-extensions/src/canvas/Canvas.d.ts.map +0 -0
  1654. package/dist-extensions/src/canvas/CanvasOptions.d.ts +0 -0
  1655. package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +0 -0
  1656. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  1657. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  1658. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  1659. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  1660. package/dist-extensions/src/canvas/DOMManagers/util.d.ts +0 -0
  1661. package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +0 -0
  1662. package/dist-extensions/src/canvas/SelectableCanvas.d.ts +0 -0
  1663. package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +0 -0
  1664. package/dist-extensions/src/canvas/StaticCanvas.d.ts +0 -0
  1665. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +0 -0
  1666. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +0 -0
  1667. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  1668. package/dist-extensions/src/canvas/TextEditingManager.d.ts +0 -0
  1669. package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +0 -0
  1670. package/dist-extensions/src/color/Color.d.ts +0 -0
  1671. package/dist-extensions/src/color/Color.d.ts.map +0 -0
  1672. package/dist-extensions/src/color/color_map.d.ts +0 -0
  1673. package/dist-extensions/src/color/color_map.d.ts.map +0 -0
  1674. package/dist-extensions/src/color/constants.d.ts +0 -0
  1675. package/dist-extensions/src/color/constants.d.ts.map +0 -0
  1676. package/dist-extensions/src/color/typedefs.d.ts +0 -0
  1677. package/dist-extensions/src/color/typedefs.d.ts.map +0 -0
  1678. package/dist-extensions/src/color/util.d.ts +0 -0
  1679. package/dist-extensions/src/color/util.d.ts.map +0 -0
  1680. package/dist-extensions/src/config.d.ts +0 -0
  1681. package/dist-extensions/src/config.d.ts.map +0 -0
  1682. package/dist-extensions/src/constants.d.ts +0 -0
  1683. package/dist-extensions/src/constants.d.ts.map +0 -0
  1684. package/dist-extensions/src/controls/Control.d.ts +0 -0
  1685. package/dist-extensions/src/controls/Control.d.ts.map +0 -0
  1686. package/dist-extensions/src/controls/changeHeight.d.ts +0 -0
  1687. package/dist-extensions/src/controls/changeHeight.d.ts.map +0 -0
  1688. package/dist-extensions/src/controls/changeWidth.d.ts +0 -0
  1689. package/dist-extensions/src/controls/changeWidth.d.ts.map +0 -0
  1690. package/dist-extensions/src/controls/commonControls.d.ts +0 -0
  1691. package/dist-extensions/src/controls/commonControls.d.ts.map +0 -0
  1692. package/dist-extensions/src/controls/controlRendering.d.ts +0 -0
  1693. package/dist-extensions/src/controls/controlRendering.d.ts.map +0 -0
  1694. package/dist-extensions/src/controls/drag.d.ts +0 -0
  1695. package/dist-extensions/src/controls/drag.d.ts.map +0 -0
  1696. package/dist-extensions/src/controls/fireEvent.d.ts +0 -0
  1697. package/dist-extensions/src/controls/fireEvent.d.ts.map +0 -0
  1698. package/dist-extensions/src/controls/index.d.ts +0 -0
  1699. package/dist-extensions/src/controls/index.d.ts.map +0 -0
  1700. package/dist-extensions/src/controls/pathControl.d.ts +0 -0
  1701. package/dist-extensions/src/controls/pathControl.d.ts.map +0 -0
  1702. package/dist-extensions/src/controls/polyControl.d.ts +0 -0
  1703. package/dist-extensions/src/controls/polyControl.d.ts.map +0 -0
  1704. package/dist-extensions/src/controls/rotate.d.ts +0 -0
  1705. package/dist-extensions/src/controls/rotate.d.ts.map +0 -0
  1706. package/dist-extensions/src/controls/scale.d.ts +0 -0
  1707. package/dist-extensions/src/controls/scale.d.ts.map +0 -0
  1708. package/dist-extensions/src/controls/scaleSkew.d.ts +0 -0
  1709. package/dist-extensions/src/controls/scaleSkew.d.ts.map +0 -0
  1710. package/dist-extensions/src/controls/skew.d.ts +0 -0
  1711. package/dist-extensions/src/controls/skew.d.ts.map +0 -0
  1712. package/dist-extensions/src/controls/util.d.ts +0 -0
  1713. package/dist-extensions/src/controls/util.d.ts.map +0 -0
  1714. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +0 -0
  1715. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  1716. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  1717. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  1718. package/dist-extensions/src/env/browser.d.ts +0 -0
  1719. package/dist-extensions/src/env/browser.d.ts.map +0 -0
  1720. package/dist-extensions/src/env/index.d.ts +0 -0
  1721. package/dist-extensions/src/env/index.d.ts.map +0 -0
  1722. package/dist-extensions/src/env/types.d.ts +0 -0
  1723. package/dist-extensions/src/env/types.d.ts.map +0 -0
  1724. package/dist-extensions/src/filters/BaseFilter.d.ts +0 -0
  1725. package/dist-extensions/src/filters/BaseFilter.d.ts.map +0 -0
  1726. package/dist-extensions/src/filters/BlendColor.d.ts +0 -0
  1727. package/dist-extensions/src/filters/BlendColor.d.ts.map +0 -0
  1728. package/dist-extensions/src/filters/BlendImage.d.ts +0 -0
  1729. package/dist-extensions/src/filters/BlendImage.d.ts.map +0 -0
  1730. package/dist-extensions/src/filters/Blur.d.ts +0 -0
  1731. package/dist-extensions/src/filters/Blur.d.ts.map +0 -0
  1732. package/dist-extensions/src/filters/Brightness.d.ts +0 -0
  1733. package/dist-extensions/src/filters/Brightness.d.ts.map +0 -0
  1734. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  1735. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  1736. package/dist-extensions/src/filters/ColorMatrix.d.ts +0 -0
  1737. package/dist-extensions/src/filters/ColorMatrix.d.ts.map +0 -0
  1738. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +0 -0
  1739. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  1740. package/dist-extensions/src/filters/Composed.d.ts +0 -0
  1741. package/dist-extensions/src/filters/Composed.d.ts.map +0 -0
  1742. package/dist-extensions/src/filters/Contrast.d.ts +0 -0
  1743. package/dist-extensions/src/filters/Contrast.d.ts.map +0 -0
  1744. package/dist-extensions/src/filters/Convolute.d.ts +0 -0
  1745. package/dist-extensions/src/filters/Convolute.d.ts.map +0 -0
  1746. package/dist-extensions/src/filters/FilterBackend.d.ts +0 -0
  1747. package/dist-extensions/src/filters/FilterBackend.d.ts.map +0 -0
  1748. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +0 -0
  1749. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  1750. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  1751. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  1752. package/dist-extensions/src/filters/Gamma.d.ts +0 -0
  1753. package/dist-extensions/src/filters/Gamma.d.ts.map +0 -0
  1754. package/dist-extensions/src/filters/Grayscale.d.ts +0 -0
  1755. package/dist-extensions/src/filters/Grayscale.d.ts.map +0 -0
  1756. package/dist-extensions/src/filters/HueRotation.d.ts +0 -0
  1757. package/dist-extensions/src/filters/HueRotation.d.ts.map +0 -0
  1758. package/dist-extensions/src/filters/Invert.d.ts +0 -0
  1759. package/dist-extensions/src/filters/Invert.d.ts.map +0 -0
  1760. package/dist-extensions/src/filters/Noise.d.ts +0 -0
  1761. package/dist-extensions/src/filters/Noise.d.ts.map +0 -0
  1762. package/dist-extensions/src/filters/Pixelate.d.ts +0 -0
  1763. package/dist-extensions/src/filters/Pixelate.d.ts.map +0 -0
  1764. package/dist-extensions/src/filters/RemoveColor.d.ts +0 -0
  1765. package/dist-extensions/src/filters/RemoveColor.d.ts.map +0 -0
  1766. package/dist-extensions/src/filters/Resize.d.ts +0 -0
  1767. package/dist-extensions/src/filters/Resize.d.ts.map +0 -0
  1768. package/dist-extensions/src/filters/Saturation.d.ts +0 -0
  1769. package/dist-extensions/src/filters/Saturation.d.ts.map +0 -0
  1770. package/dist-extensions/src/filters/Vibrance.d.ts +0 -0
  1771. package/dist-extensions/src/filters/Vibrance.d.ts.map +0 -0
  1772. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +0 -0
  1773. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  1774. package/dist-extensions/src/filters/filters.d.ts +0 -0
  1775. package/dist-extensions/src/filters/filters.d.ts.map +0 -0
  1776. package/dist-extensions/src/filters/index.d.ts +0 -0
  1777. package/dist-extensions/src/filters/index.d.ts.map +0 -0
  1778. package/dist-extensions/src/filters/shaders/baseFilter.d.ts +0 -0
  1779. package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +0 -0
  1780. package/dist-extensions/src/filters/shaders/blendColor.d.ts +0 -0
  1781. package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +0 -0
  1782. package/dist-extensions/src/filters/shaders/blendImage.d.ts +0 -0
  1783. package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +0 -0
  1784. package/dist-extensions/src/filters/shaders/blur.d.ts +0 -0
  1785. package/dist-extensions/src/filters/shaders/blur.d.ts.map +0 -0
  1786. package/dist-extensions/src/filters/shaders/brightness.d.ts +0 -0
  1787. package/dist-extensions/src/filters/shaders/brightness.d.ts.map +0 -0
  1788. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +0 -0
  1789. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  1790. package/dist-extensions/src/filters/shaders/constrast.d.ts +0 -0
  1791. package/dist-extensions/src/filters/shaders/constrast.d.ts.map +0 -0
  1792. package/dist-extensions/src/filters/shaders/convolute.d.ts +0 -0
  1793. package/dist-extensions/src/filters/shaders/convolute.d.ts.map +0 -0
  1794. package/dist-extensions/src/filters/shaders/gamma.d.ts +0 -0
  1795. package/dist-extensions/src/filters/shaders/gamma.d.ts.map +0 -0
  1796. package/dist-extensions/src/filters/shaders/grayscale.d.ts +0 -0
  1797. package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +0 -0
  1798. package/dist-extensions/src/filters/shaders/invert.d.ts +0 -0
  1799. package/dist-extensions/src/filters/shaders/invert.d.ts.map +0 -0
  1800. package/dist-extensions/src/filters/shaders/noise.d.ts +0 -0
  1801. package/dist-extensions/src/filters/shaders/noise.d.ts.map +0 -0
  1802. package/dist-extensions/src/filters/shaders/pixelate.d.ts +0 -0
  1803. package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +0 -0
  1804. package/dist-extensions/src/filters/shaders/removeColor.d.ts +0 -0
  1805. package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +0 -0
  1806. package/dist-extensions/src/filters/shaders/saturation.d.ts +0 -0
  1807. package/dist-extensions/src/filters/shaders/saturation.d.ts.map +0 -0
  1808. package/dist-extensions/src/filters/shaders/vibrance.d.ts +0 -0
  1809. package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +0 -0
  1810. package/dist-extensions/src/filters/typedefs.d.ts +0 -0
  1811. package/dist-extensions/src/filters/typedefs.d.ts.map +0 -0
  1812. package/dist-extensions/src/filters/utils.d.ts +0 -0
  1813. package/dist-extensions/src/filters/utils.d.ts.map +0 -0
  1814. package/dist-extensions/src/gradient/Gradient.d.ts +0 -0
  1815. package/dist-extensions/src/gradient/Gradient.d.ts.map +0 -0
  1816. package/dist-extensions/src/gradient/constants.d.ts +0 -0
  1817. package/dist-extensions/src/gradient/constants.d.ts.map +0 -0
  1818. package/dist-extensions/src/gradient/index.d.ts +0 -0
  1819. package/dist-extensions/src/gradient/index.d.ts.map +0 -0
  1820. package/dist-extensions/src/gradient/parser/misc.d.ts +0 -0
  1821. package/dist-extensions/src/gradient/parser/misc.d.ts.map +0 -0
  1822. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +0 -0
  1823. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  1824. package/dist-extensions/src/gradient/parser/parseCoords.d.ts +0 -0
  1825. package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +0 -0
  1826. package/dist-extensions/src/gradient/typedefs.d.ts +0 -0
  1827. package/dist-extensions/src/gradient/typedefs.d.ts.map +0 -0
  1828. package/dist-extensions/src/parser/applyViewboxTransform.d.ts +0 -0
  1829. package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +0 -0
  1830. package/dist-extensions/src/parser/attributes.d.ts +0 -0
  1831. package/dist-extensions/src/parser/attributes.d.ts.map +0 -0
  1832. package/dist-extensions/src/parser/constants.d.ts +0 -0
  1833. package/dist-extensions/src/parser/constants.d.ts.map +0 -0
  1834. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +0 -0
  1835. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  1836. package/dist-extensions/src/parser/elementMatchesRule.d.ts +0 -0
  1837. package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +0 -0
  1838. package/dist-extensions/src/parser/elements_parser.d.ts +0 -0
  1839. package/dist-extensions/src/parser/elements_parser.d.ts.map +0 -0
  1840. package/dist-extensions/src/parser/getCSSRules.d.ts +0 -0
  1841. package/dist-extensions/src/parser/getCSSRules.d.ts.map +0 -0
  1842. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +0 -0
  1843. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  1844. package/dist-extensions/src/parser/getGradientDefs.d.ts +0 -0
  1845. package/dist-extensions/src/parser/getGradientDefs.d.ts.map +0 -0
  1846. package/dist-extensions/src/parser/getMultipleNodes.d.ts +0 -0
  1847. package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +0 -0
  1848. package/dist-extensions/src/parser/getSvgRegex.d.ts +0 -0
  1849. package/dist-extensions/src/parser/getSvgRegex.d.ts.map +0 -0
  1850. package/dist-extensions/src/parser/getTagName.d.ts +0 -0
  1851. package/dist-extensions/src/parser/getTagName.d.ts.map +0 -0
  1852. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +0 -0
  1853. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  1854. package/dist-extensions/src/parser/loadSVGFromString.d.ts +0 -0
  1855. package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +0 -0
  1856. package/dist-extensions/src/parser/loadSVGFromURL.d.ts +0 -0
  1857. package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +0 -0
  1858. package/dist-extensions/src/parser/normalizeAttr.d.ts +0 -0
  1859. package/dist-extensions/src/parser/normalizeAttr.d.ts.map +0 -0
  1860. package/dist-extensions/src/parser/normalizeValue.d.ts +0 -0
  1861. package/dist-extensions/src/parser/normalizeValue.d.ts.map +0 -0
  1862. package/dist-extensions/src/parser/parseAttributes.d.ts +0 -0
  1863. package/dist-extensions/src/parser/parseAttributes.d.ts.map +0 -0
  1864. package/dist-extensions/src/parser/parseFontDeclaration.d.ts +0 -0
  1865. package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +0 -0
  1866. package/dist-extensions/src/parser/parsePointsAttribute.d.ts +0 -0
  1867. package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +0 -0
  1868. package/dist-extensions/src/parser/parseSVGDocument.d.ts +0 -0
  1869. package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +0 -0
  1870. package/dist-extensions/src/parser/parseStyleAttribute.d.ts +0 -0
  1871. package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +0 -0
  1872. package/dist-extensions/src/parser/parseStyleObject.d.ts +0 -0
  1873. package/dist-extensions/src/parser/parseStyleObject.d.ts.map +0 -0
  1874. package/dist-extensions/src/parser/parseStyleString.d.ts +0 -0
  1875. package/dist-extensions/src/parser/parseStyleString.d.ts.map +0 -0
  1876. package/dist-extensions/src/parser/parseTransformAttribute.d.ts +0 -0
  1877. package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +0 -0
  1878. package/dist-extensions/src/parser/parseUseDirectives.d.ts +0 -0
  1879. package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +0 -0
  1880. package/dist-extensions/src/parser/percent.d.ts +0 -0
  1881. package/dist-extensions/src/parser/percent.d.ts.map +0 -0
  1882. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  1883. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  1884. package/dist-extensions/src/parser/selectorMatches.d.ts +0 -0
  1885. package/dist-extensions/src/parser/selectorMatches.d.ts.map +0 -0
  1886. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +0 -0
  1887. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  1888. package/dist-extensions/src/parser/typedefs.d.ts +0 -0
  1889. package/dist-extensions/src/parser/typedefs.d.ts.map +0 -0
  1890. package/dist-extensions/src/shapes/ActiveSelection.d.ts +0 -0
  1891. package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +0 -0
  1892. package/dist-extensions/src/shapes/Circle.d.ts +0 -0
  1893. package/dist-extensions/src/shapes/Circle.d.ts.map +0 -0
  1894. package/dist-extensions/src/shapes/Ellipse.d.ts +0 -0
  1895. package/dist-extensions/src/shapes/Ellipse.d.ts.map +0 -0
  1896. package/dist-extensions/src/shapes/Group.d.ts +0 -0
  1897. package/dist-extensions/src/shapes/Group.d.ts.map +0 -0
  1898. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  1899. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  1900. package/dist-extensions/src/shapes/IText/IText.d.ts +0 -0
  1901. package/dist-extensions/src/shapes/IText/IText.d.ts.map +0 -0
  1902. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +0 -0
  1903. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +1 -1
  1904. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  1905. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  1906. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  1907. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  1908. package/dist-extensions/src/shapes/IText/constants.d.ts +0 -0
  1909. package/dist-extensions/src/shapes/IText/constants.d.ts.map +0 -0
  1910. package/dist-extensions/src/shapes/Image.d.ts +0 -0
  1911. package/dist-extensions/src/shapes/Image.d.ts.map +0 -0
  1912. package/dist-extensions/src/shapes/Line.d.ts +0 -0
  1913. package/dist-extensions/src/shapes/Line.d.ts.map +0 -0
  1914. package/dist-extensions/src/shapes/Object/FabricObject.d.ts +0 -0
  1915. package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +0 -0
  1916. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  1917. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  1918. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +0 -0
  1919. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  1920. package/dist-extensions/src/shapes/Object/Object.d.ts +0 -0
  1921. package/dist-extensions/src/shapes/Object/Object.d.ts.map +0 -0
  1922. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1923. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1924. package/dist-extensions/src/shapes/Object/defaultValues.d.ts +0 -0
  1925. package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1926. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1927. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1928. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1929. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1930. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1931. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1932. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1933. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1934. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1935. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1936. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1937. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1938. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1939. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1940. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1941. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1942. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1943. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1944. package/dist-extensions/src/shapes/Object/types/index.d.ts +0 -0
  1945. package/dist-extensions/src/shapes/Object/types/index.d.ts.map +0 -0
  1946. package/dist-extensions/src/shapes/Path.d.ts +0 -0
  1947. package/dist-extensions/src/shapes/Path.d.ts.map +0 -0
  1948. package/dist-extensions/src/shapes/Polygon.d.ts +0 -0
  1949. package/dist-extensions/src/shapes/Polygon.d.ts.map +0 -0
  1950. package/dist-extensions/src/shapes/Polyline.d.ts +0 -0
  1951. package/dist-extensions/src/shapes/Polyline.d.ts.map +0 -0
  1952. package/dist-extensions/src/shapes/Rect.d.ts +0 -0
  1953. package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
  1954. package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
  1955. package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
  1956. package/dist-extensions/src/shapes/Text/Text.d.ts +1 -0
  1957. package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
  1958. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1959. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1960. package/dist-extensions/src/shapes/Text/constants.d.ts +0 -0
  1961. package/dist-extensions/src/shapes/Text/constants.d.ts.map +0 -0
  1962. package/dist-extensions/src/shapes/Textbox.d.ts +20 -0
  1963. package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -1
  1964. package/dist-extensions/src/shapes/Triangle.d.ts +0 -0
  1965. package/dist-extensions/src/shapes/Triangle.d.ts.map +0 -0
  1966. package/dist-extensions/src/text/browserLines.d.ts +7 -2
  1967. package/dist-extensions/src/text/browserLines.d.ts.map +1 -1
  1968. package/dist-extensions/src/text/ellipsis.d.ts +0 -0
  1969. package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
  1970. package/dist-extensions/src/text/hitTest.d.ts +0 -0
  1971. package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
  1972. package/dist-extensions/src/text/layout.d.ts +0 -0
  1973. package/dist-extensions/src/text/layout.d.ts.map +0 -0
  1974. package/dist-extensions/src/text/measure.d.ts +0 -0
  1975. package/dist-extensions/src/text/measure.d.ts.map +0 -0
  1976. package/dist-extensions/src/text/overlayEditor.d.ts +1 -0
  1977. package/dist-extensions/src/text/overlayEditor.d.ts.map +1 -1
  1978. package/dist-extensions/src/text/unicode.d.ts +0 -0
  1979. package/dist-extensions/src/text/unicode.d.ts.map +0 -0
  1980. package/dist-extensions/src/typedefs.d.ts +0 -0
  1981. package/dist-extensions/src/typedefs.d.ts.map +0 -0
  1982. package/dist-extensions/src/util/animation/AnimationBase.d.ts +0 -0
  1983. package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +0 -0
  1984. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1985. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1986. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +0 -0
  1987. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  1988. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +0 -0
  1989. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  1990. package/dist-extensions/src/util/animation/ColorAnimation.d.ts +0 -0
  1991. package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +0 -0
  1992. package/dist-extensions/src/util/animation/ValueAnimation.d.ts +0 -0
  1993. package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +0 -0
  1994. package/dist-extensions/src/util/animation/animate.d.ts +0 -0
  1995. package/dist-extensions/src/util/animation/animate.d.ts.map +0 -0
  1996. package/dist-extensions/src/util/animation/easing.d.ts +0 -0
  1997. package/dist-extensions/src/util/animation/easing.d.ts.map +0 -0
  1998. package/dist-extensions/src/util/animation/index.d.ts +0 -0
  1999. package/dist-extensions/src/util/animation/index.d.ts.map +0 -0
  2000. package/dist-extensions/src/util/animation/types.d.ts +0 -0
  2001. package/dist-extensions/src/util/animation/types.d.ts.map +0 -0
  2002. package/dist-extensions/src/util/applyMixins.d.ts +0 -0
  2003. package/dist-extensions/src/util/applyMixins.d.ts.map +0 -0
  2004. package/dist-extensions/src/util/dom_event.d.ts +0 -0
  2005. package/dist-extensions/src/util/dom_event.d.ts.map +0 -0
  2006. package/dist-extensions/src/util/dom_misc.d.ts +0 -0
  2007. package/dist-extensions/src/util/dom_misc.d.ts.map +0 -0
  2008. package/dist-extensions/src/util/index.d.ts +0 -0
  2009. package/dist-extensions/src/util/index.d.ts.map +0 -0
  2010. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +0 -0
  2011. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  2012. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  2013. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  2014. package/dist-extensions/src/util/internals/cloneStyles.d.ts +0 -0
  2015. package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +0 -0
  2016. package/dist-extensions/src/util/internals/console.d.ts +0 -0
  2017. package/dist-extensions/src/util/internals/console.d.ts.map +0 -0
  2018. package/dist-extensions/src/util/internals/dom_style.d.ts +0 -0
  2019. package/dist-extensions/src/util/internals/dom_style.d.ts.map +0 -0
  2020. package/dist-extensions/src/util/internals/findRight.d.ts +0 -0
  2021. package/dist-extensions/src/util/internals/findRight.d.ts.map +0 -0
  2022. package/dist-extensions/src/util/internals/getRandomInt.d.ts +0 -0
  2023. package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +0 -0
  2024. package/dist-extensions/src/util/internals/ifNaN.d.ts +0 -0
  2025. package/dist-extensions/src/util/internals/ifNaN.d.ts.map +0 -0
  2026. package/dist-extensions/src/util/internals/removeFromArray.d.ts +0 -0
  2027. package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +0 -0
  2028. package/dist-extensions/src/util/internals/uid.d.ts +0 -0
  2029. package/dist-extensions/src/util/internals/uid.d.ts.map +0 -0
  2030. package/dist-extensions/src/util/lang_string.d.ts +0 -0
  2031. package/dist-extensions/src/util/lang_string.d.ts.map +0 -0
  2032. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  2033. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  2034. package/dist-extensions/src/util/misc/capValue.d.ts +0 -0
  2035. package/dist-extensions/src/util/misc/capValue.d.ts.map +0 -0
  2036. package/dist-extensions/src/util/misc/cornerRadius.d.ts +0 -0
  2037. package/dist-extensions/src/util/misc/cornerRadius.d.ts.map +0 -0
  2038. package/dist-extensions/src/util/misc/cos.d.ts +0 -0
  2039. package/dist-extensions/src/util/misc/cos.d.ts.map +0 -0
  2040. package/dist-extensions/src/util/misc/dom.d.ts +0 -0
  2041. package/dist-extensions/src/util/misc/dom.d.ts.map +0 -0
  2042. package/dist-extensions/src/util/misc/findScaleTo.d.ts +0 -0
  2043. package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +0 -0
  2044. package/dist-extensions/src/util/misc/groupSVGElements.d.ts +0 -0
  2045. package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +0 -0
  2046. package/dist-extensions/src/util/misc/isTransparent.d.ts +0 -0
  2047. package/dist-extensions/src/util/misc/isTransparent.d.ts.map +0 -0
  2048. package/dist-extensions/src/util/misc/matrix.d.ts +0 -0
  2049. package/dist-extensions/src/util/misc/matrix.d.ts.map +0 -0
  2050. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +0 -0
  2051. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  2052. package/dist-extensions/src/util/misc/objectEnlive.d.ts +0 -0
  2053. package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +0 -0
  2054. package/dist-extensions/src/util/misc/objectTransforms.d.ts +0 -0
  2055. package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +0 -0
  2056. package/dist-extensions/src/util/misc/pick.d.ts +0 -0
  2057. package/dist-extensions/src/util/misc/pick.d.ts.map +0 -0
  2058. package/dist-extensions/src/util/misc/planeChange.d.ts +0 -0
  2059. package/dist-extensions/src/util/misc/planeChange.d.ts.map +0 -0
  2060. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  2061. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  2062. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  2063. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  2064. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  2065. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  2066. package/dist-extensions/src/util/misc/projectStroke/index.d.ts +0 -0
  2067. package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +0 -0
  2068. package/dist-extensions/src/util/misc/projectStroke/types.d.ts +0 -0
  2069. package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +0 -0
  2070. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  2071. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  2072. package/dist-extensions/src/util/misc/resolveOrigin.d.ts +0 -0
  2073. package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +0 -0
  2074. package/dist-extensions/src/util/misc/sin.d.ts +0 -0
  2075. package/dist-extensions/src/util/misc/sin.d.ts.map +0 -0
  2076. package/dist-extensions/src/util/misc/svgExport.d.ts +0 -0
  2077. package/dist-extensions/src/util/misc/svgExport.d.ts.map +0 -0
  2078. package/dist-extensions/src/util/misc/svgParsing.d.ts +0 -0
  2079. package/dist-extensions/src/util/misc/svgParsing.d.ts.map +0 -0
  2080. package/dist-extensions/src/util/misc/textStyles.d.ts +0 -0
  2081. package/dist-extensions/src/util/misc/textStyles.d.ts.map +0 -0
  2082. package/dist-extensions/src/util/misc/toFixed.d.ts +0 -0
  2083. package/dist-extensions/src/util/misc/toFixed.d.ts.map +0 -0
  2084. package/dist-extensions/src/util/misc/vectors.d.ts +0 -0
  2085. package/dist-extensions/src/util/misc/vectors.d.ts.map +0 -0
  2086. package/dist-extensions/src/util/path/index.d.ts +0 -0
  2087. package/dist-extensions/src/util/path/index.d.ts.map +0 -0
  2088. package/dist-extensions/src/util/path/regex.d.ts +0 -0
  2089. package/dist-extensions/src/util/path/regex.d.ts.map +0 -0
  2090. package/dist-extensions/src/util/path/typedefs.d.ts +0 -0
  2091. package/dist-extensions/src/util/path/typedefs.d.ts.map +0 -0
  2092. package/dist-extensions/src/util/transform_matrix_removal.d.ts +0 -0
  2093. package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +0 -0
  2094. package/dist-extensions/src/util/typeAssertions.d.ts +0 -0
  2095. package/dist-extensions/src/util/typeAssertions.d.ts.map +0 -0
  2096. package/docs/fabric-konva-gap-analysis.md +0 -0
  2097. package/docs/konva-text-behavior-spec.md +0 -0
  2098. package/docs/text-engine-design.md +0 -0
  2099. package/eslint.config.mjs +0 -0
  2100. package/examples/overlay-edit.html +416 -416
  2101. package/extensions/README.MD +0 -0
  2102. package/extensions/aligning_guidelines/README.MD +0 -0
  2103. package/extensions/aligning_guidelines/constant.ts +0 -0
  2104. package/extensions/aligning_guidelines/index.ts +0 -0
  2105. package/extensions/aligning_guidelines/typedefs.ts +0 -0
  2106. package/extensions/aligning_guidelines/util/basic.spec.ts +0 -0
  2107. package/extensions/aligning_guidelines/util/basic.ts +0 -0
  2108. package/extensions/aligning_guidelines/util/collect-line.ts +0 -0
  2109. package/extensions/aligning_guidelines/util/collect-point.ts +0 -0
  2110. package/extensions/aligning_guidelines/util/draw.ts +0 -0
  2111. package/extensions/aligning_guidelines/util/get-objects-by-target.ts +0 -0
  2112. package/extensions/data_updaters/README.md +0 -0
  2113. package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +0 -0
  2114. package/extensions/data_updaters/gradient/index.spec.ts +0 -0
  2115. package/extensions/data_updaters/gradient/index.ts +0 -0
  2116. package/extensions/data_updaters/origins/README.md +0 -0
  2117. package/extensions/data_updaters/origins/index.spec.ts +0 -0
  2118. package/extensions/data_updaters/origins/index.ts +0 -0
  2119. package/extensions/index.ts +0 -0
  2120. package/fabric.ts +182 -182
  2121. package/index.node.ts +0 -0
  2122. package/index.ts +0 -0
  2123. package/lib/aligning_guidelines.js +0 -0
  2124. package/lib/centering_guidelines.js +0 -0
  2125. package/lib/event.js +0 -0
  2126. package/package.json +164 -164
  2127. package/playwright.config.ts +0 -0
  2128. package/playwright.setup.ts +0 -0
  2129. package/{fonts → public/fonts}/STV Bold.ttf +0 -0
  2130. package/{fonts → public/fonts}/STV Light.ttf +0 -0
  2131. package/{fonts → public/fonts}/STV Regular.ttf +0 -0
  2132. package/publish-next.js +0 -0
  2133. package/publish.js +0 -0
  2134. package/rollup.config.mjs +0 -0
  2135. package/rtl-debug.html +744 -744
  2136. package/scripts/bench-text.js +591 -591
  2137. package/scripts/build.mjs +0 -0
  2138. package/scripts/buildLock.mjs +0 -0
  2139. package/scripts/buildReporter.mjs +0 -0
  2140. package/scripts/buildStats.mjs +0 -0
  2141. package/scripts/dirname.mjs +0 -0
  2142. package/scripts/git.mjs +0 -0
  2143. package/scripts/index.mjs +0 -0
  2144. package/scripts/sandbox.mjs +0 -0
  2145. package/src/ClassRegistry.spec.ts +0 -0
  2146. package/src/ClassRegistry.ts +0 -0
  2147. package/src/Collection.spec.ts +0 -0
  2148. package/src/Collection.ts +0 -0
  2149. package/src/CommonMethods.ts +0 -0
  2150. package/src/EventTypeDefs.ts +0 -0
  2151. package/src/Intersection.spec.ts +0 -0
  2152. package/src/Intersection.ts +0 -0
  2153. package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +0 -0
  2154. package/src/LayoutManager/ActiveSelectionLayoutManager.ts +0 -0
  2155. package/src/LayoutManager/LayoutManager.spec.ts +0 -0
  2156. package/src/LayoutManager/LayoutManager.ts +0 -0
  2157. package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +0 -0
  2158. package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +0 -0
  2159. package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +0 -0
  2160. package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +0 -0
  2161. package/src/LayoutManager/LayoutStrategies/utils.ts +0 -0
  2162. package/src/LayoutManager/README.md +0 -0
  2163. package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +0 -0
  2164. package/src/LayoutManager/constants.ts +0 -0
  2165. package/src/LayoutManager/index.ts +0 -0
  2166. package/src/LayoutManager/types.ts +0 -0
  2167. package/src/Observable.spec.ts +0 -0
  2168. package/src/Observable.ts +0 -0
  2169. package/src/Pattern/Pattern.spec.ts +0 -0
  2170. package/src/Pattern/Pattern.ts +0 -0
  2171. package/src/Pattern/index.ts +0 -0
  2172. package/src/Pattern/types.ts +0 -0
  2173. package/src/Point.spec.ts +0 -0
  2174. package/src/Point.ts +0 -0
  2175. package/src/Shadow.spec.ts +0 -0
  2176. package/src/Shadow.ts +0 -0
  2177. package/src/__snapshots__/Shadow.spec.ts.snap +0 -0
  2178. package/src/brushes/BaseBrush.spec.ts +0 -0
  2179. package/src/brushes/BaseBrush.ts +0 -0
  2180. package/src/brushes/CircleBrush.test.ts +0 -0
  2181. package/src/brushes/CircleBrush.ts +0 -0
  2182. package/src/brushes/PatternBrush.ts +0 -0
  2183. package/src/brushes/PencilBrush.spec.ts +0 -0
  2184. package/src/brushes/PencilBrush.ts +0 -0
  2185. package/src/brushes/SprayBrush.ts +0 -0
  2186. package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +0 -0
  2187. package/src/brushes/typedefs.ts +0 -0
  2188. package/src/cache.spec.ts +0 -0
  2189. package/src/cache.ts +0 -0
  2190. package/src/canvas/Canvas-dispose.spec.ts +0 -0
  2191. package/src/canvas/Canvas-events.spec.ts +0 -0
  2192. package/src/canvas/Canvas.spec.ts +0 -0
  2193. package/src/canvas/Canvas.ts +0 -0
  2194. package/src/canvas/CanvasOptions.ts +0 -0
  2195. package/src/canvas/DOMManagers/CanvasDOMManager.ts +0 -0
  2196. package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +0 -0
  2197. package/src/canvas/DOMManagers/util.spec.ts +0 -0
  2198. package/src/canvas/DOMManagers/util.ts +0 -0
  2199. package/src/canvas/SelectableCanvas.spec.ts +0 -0
  2200. package/src/canvas/SelectableCanvas.ts +0 -0
  2201. package/src/canvas/StaticCanvas.spec.ts +0 -0
  2202. package/src/canvas/StaticCanvas.ts +0 -0
  2203. package/src/canvas/StaticCanvasOptions.ts +0 -0
  2204. package/src/canvas/TextEditingManager.ts +0 -0
  2205. package/src/canvas/__tests__/SelectableCanvas.spec.ts +0 -0
  2206. package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +0 -0
  2207. package/src/canvas/__tests__/eventData.test.ts +0 -0
  2208. package/src/canvas/canvas_gestures.mixin.ts +0 -0
  2209. package/src/color/Color.ts +0 -0
  2210. package/src/color/color.test.ts +0 -0
  2211. package/src/color/color_map.ts +0 -0
  2212. package/src/color/constants.ts +0 -0
  2213. package/src/color/typedefs.ts +0 -0
  2214. package/src/color/util.ts +0 -0
  2215. package/src/config.ts +0 -0
  2216. package/src/constants.ts +0 -0
  2217. package/src/controls/Control-cursor.spec.ts +0 -0
  2218. package/src/controls/Control-handlers.spec.ts +0 -0
  2219. package/src/controls/Control.spec.ts +0 -0
  2220. package/src/controls/Control.ts +0 -0
  2221. package/src/controls/changeHeight.ts +0 -0
  2222. package/src/controls/changeWidth.test.ts +0 -0
  2223. package/src/controls/changeWidth.ts +0 -0
  2224. package/src/controls/commonControls.ts +0 -0
  2225. package/src/controls/controlRendering.ts +0 -0
  2226. package/src/controls/drag.ts +0 -0
  2227. package/src/controls/fireEvent.ts +0 -0
  2228. package/src/controls/index.ts +0 -0
  2229. package/src/controls/pathControl.spec.ts +0 -0
  2230. package/src/controls/pathControl.ts +0 -0
  2231. package/src/controls/polyControl.spec.ts +0 -0
  2232. package/src/controls/polyControl.ts +0 -0
  2233. package/src/controls/rotate.ts +0 -0
  2234. package/src/controls/scale.test.ts +0 -0
  2235. package/src/controls/scale.ts +0 -0
  2236. package/src/controls/scaleSkew.ts +0 -0
  2237. package/src/controls/skew.ts +0 -0
  2238. package/src/controls/util.ts +0 -0
  2239. package/src/controls/wrapWithFireEvent.ts +0 -0
  2240. package/src/controls/wrapWithFixedAnchor.spec.ts +0 -0
  2241. package/src/controls/wrapWithFixedAnchor.ts +0 -0
  2242. package/src/env/browser.ts +0 -0
  2243. package/src/env/env.spec.ts +0 -0
  2244. package/src/env/index.ts +0 -0
  2245. package/src/env/node.ts +0 -0
  2246. package/src/env/types.ts +0 -0
  2247. package/src/filters/BaseFilter.spec.ts +0 -0
  2248. package/src/filters/BaseFilter.ts +0 -0
  2249. package/src/filters/BlendColor.ts +0 -0
  2250. package/src/filters/BlendImage.ts +0 -0
  2251. package/src/filters/Blur.ts +0 -0
  2252. package/src/filters/Boilerplate.ts +0 -0
  2253. package/src/filters/Brightness.ts +0 -0
  2254. package/src/filters/Canvas2dFilterBackend.ts +0 -0
  2255. package/src/filters/ColorMatrix.spec.ts +0 -0
  2256. package/src/filters/ColorMatrix.ts +0 -0
  2257. package/src/filters/ColorMatrixFilters.ts +0 -0
  2258. package/src/filters/Composed.ts +0 -0
  2259. package/src/filters/Contrast.ts +0 -0
  2260. package/src/filters/Convolute.ts +0 -0
  2261. package/src/filters/FilterBackend.ts +0 -0
  2262. package/src/filters/GLProbes/GLProbe.ts +0 -0
  2263. package/src/filters/GLProbes/NodeGLProbe.ts +0 -0
  2264. package/src/filters/GLProbes/WebGLProbe.ts +0 -0
  2265. package/src/filters/Gamma.ts +0 -0
  2266. package/src/filters/Grayscale.ts +0 -0
  2267. package/src/filters/HueRotation.ts +0 -0
  2268. package/src/filters/Invert.ts +0 -0
  2269. package/src/filters/Noise.ts +0 -0
  2270. package/src/filters/Pixelate.ts +0 -0
  2271. package/src/filters/RemoveColor.ts +0 -0
  2272. package/src/filters/Resize.ts +0 -0
  2273. package/src/filters/Saturation.ts +0 -0
  2274. package/src/filters/Vibrance.ts +0 -0
  2275. package/src/filters/WebGLFilterBackend.spec.ts +0 -0
  2276. package/src/filters/WebGLFilterBackend.ts +0 -0
  2277. package/src/filters/filters.ts +0 -0
  2278. package/src/filters/index.ts +0 -0
  2279. package/src/filters/shaders/baseFilter.ts +0 -0
  2280. package/src/filters/shaders/blendColor.ts +0 -0
  2281. package/src/filters/shaders/blendImage.ts +0 -0
  2282. package/src/filters/shaders/blur.ts +0 -0
  2283. package/src/filters/shaders/brightness.ts +0 -0
  2284. package/src/filters/shaders/colorMatrix.ts +0 -0
  2285. package/src/filters/shaders/constrast.ts +0 -0
  2286. package/src/filters/shaders/convolute.ts +0 -0
  2287. package/src/filters/shaders/gamma.ts +0 -0
  2288. package/src/filters/shaders/grayscale.ts +0 -0
  2289. package/src/filters/shaders/invert.ts +0 -0
  2290. package/src/filters/shaders/noise.ts +0 -0
  2291. package/src/filters/shaders/pixelate.ts +0 -0
  2292. package/src/filters/shaders/removeColor.ts +0 -0
  2293. package/src/filters/shaders/saturation.ts +0 -0
  2294. package/src/filters/shaders/vibrance.ts +0 -0
  2295. package/src/filters/typedefs.ts +0 -0
  2296. package/src/filters/utils.ts +0 -0
  2297. package/src/gradient/Gradient.spec.ts +0 -0
  2298. package/src/gradient/Gradient.ts +0 -0
  2299. package/src/gradient/constants.ts +0 -0
  2300. package/src/gradient/index.ts +0 -0
  2301. package/src/gradient/parser/misc.ts +0 -0
  2302. package/src/gradient/parser/parseColorStops.ts +0 -0
  2303. package/src/gradient/parser/parseCoords.ts +0 -0
  2304. package/src/gradient/typedefs.ts +0 -0
  2305. package/src/mixins/eraser_brush.mixin.ts +0 -0
  2306. package/src/parkinglot/canvas_animation.mixin.ts +0 -0
  2307. package/src/parkinglot/straighten.ts +0 -0
  2308. package/src/parser/applyViewboxTransform.spec.ts +0 -0
  2309. package/src/parser/applyViewboxTransform.ts +0 -0
  2310. package/src/parser/attributes.ts +0 -0
  2311. package/src/parser/constants.spec.ts +0 -0
  2312. package/src/parser/constants.ts +0 -0
  2313. package/src/parser/doesSomeParentMatch.ts +0 -0
  2314. package/src/parser/elementMatchesRule.ts +0 -0
  2315. package/src/parser/elements_parser.ts +0 -0
  2316. package/src/parser/getCSSRules.spec.ts +0 -0
  2317. package/src/parser/getCSSRules.ts +0 -0
  2318. package/src/parser/getGlobalStylesForElement.ts +0 -0
  2319. package/src/parser/getGradientDefs.ts +0 -0
  2320. package/src/parser/getMultipleNodes.ts +0 -0
  2321. package/src/parser/getSvgRegex.ts +0 -0
  2322. package/src/parser/getTagName.ts +0 -0
  2323. package/src/parser/hasInvalidAncestor.ts +0 -0
  2324. package/src/parser/loadSVGFromString.test.ts +0 -0
  2325. package/src/parser/loadSVGFromString.ts +0 -0
  2326. package/src/parser/loadSVGFromURL.ts +0 -0
  2327. package/src/parser/normalizeAttr.ts +0 -0
  2328. package/src/parser/normalizeValue.ts +0 -0
  2329. package/src/parser/parseAttributes.ts +0 -0
  2330. package/src/parser/parseFontDeclaration.ts +0 -0
  2331. package/src/parser/parsePointsAttribute.ts +0 -0
  2332. package/src/parser/parseSVGDocument.ts +0 -0
  2333. package/src/parser/parseStyleAttribute.ts +0 -0
  2334. package/src/parser/parseStyleObject.ts +0 -0
  2335. package/src/parser/parseStyleString.ts +0 -0
  2336. package/src/parser/parseTransformAttribute.ts +0 -0
  2337. package/src/parser/parseUseDirectives.test.ts +0 -0
  2338. package/src/parser/parseUseDirectives.ts +0 -0
  2339. package/src/parser/parser.spec.ts +0 -0
  2340. package/src/parser/percent.ts +0 -0
  2341. package/src/parser/recursivelyParseGradientsXlink.ts +0 -0
  2342. package/src/parser/selectorMatches.ts +0 -0
  2343. package/src/parser/setStrokeFillOpacity.ts +0 -0
  2344. package/src/parser/typedefs.ts +0 -0
  2345. package/src/shapes/ActiveSelection.spec.ts +0 -0
  2346. package/src/shapes/ActiveSelection.ts +0 -0
  2347. package/src/shapes/Circle.spec.ts +0 -0
  2348. package/src/shapes/Circle.ts +0 -0
  2349. package/src/shapes/Ellipse.spec.ts +0 -0
  2350. package/src/shapes/Ellipse.ts +0 -0
  2351. package/src/shapes/Group.spec.ts +0 -0
  2352. package/src/shapes/Group.ts +0 -0
  2353. package/src/shapes/IText/DraggableTextDelegate.ts +0 -0
  2354. package/src/shapes/IText/IText-click-behavior.spec.ts +0 -0
  2355. package/src/shapes/IText/IText.test.ts +0 -0
  2356. package/src/shapes/IText/IText.ts +846 -846
  2357. package/src/shapes/IText/ITextBehavior.test.ts +0 -0
  2358. package/src/shapes/IText/ITextBehavior.ts +1263 -1188
  2359. package/src/shapes/IText/ITextClickBehavior.ts +254 -254
  2360. package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
  2361. package/src/shapes/IText/ITextKeyBehavior.ts +732 -732
  2362. package/src/shapes/IText/__snapshots__/IText.test.ts.snap +0 -0
  2363. package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +0 -0
  2364. package/src/shapes/IText/constants.ts +0 -0
  2365. package/src/shapes/Image-filters.spec.ts +0 -0
  2366. package/src/shapes/Image.spec.ts +0 -0
  2367. package/src/shapes/Image.ts +0 -0
  2368. package/src/shapes/Line.spec.ts +0 -0
  2369. package/src/shapes/Line.ts +0 -0
  2370. package/src/shapes/Object/FabricObject.spec.ts +0 -0
  2371. package/src/shapes/Object/FabricObject.ts +0 -0
  2372. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +0 -0
  2373. package/src/shapes/Object/InteractiveObject.spec.ts +0 -0
  2374. package/src/shapes/Object/InteractiveObject.ts +0 -0
  2375. package/src/shapes/Object/Object-clip-path.spec.ts +0 -0
  2376. package/src/shapes/Object/Object-interactivity.spec.ts +0 -0
  2377. package/src/shapes/Object/Object.spec.ts +0 -0
  2378. package/src/shapes/Object/Object.ts +0 -0
  2379. package/src/shapes/Object/ObjectGeometry.spec.ts +0 -0
  2380. package/src/shapes/Object/ObjectGeometry.ts +0 -0
  2381. package/src/shapes/Object/ObjectOrigin.spec.ts +0 -0
  2382. package/src/shapes/Object/ObjectSerialization.spec.ts +0 -0
  2383. package/src/shapes/Object/StackedObject.spec.ts +0 -0
  2384. package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +0 -0
  2385. package/src/shapes/Object/defaultValues.ts +0 -0
  2386. package/src/shapes/Object/types/BaseProps.ts +0 -0
  2387. package/src/shapes/Object/types/BorderProps.ts +0 -0
  2388. package/src/shapes/Object/types/ControlProps.ts +0 -0
  2389. package/src/shapes/Object/types/FabricObjectProps.ts +0 -0
  2390. package/src/shapes/Object/types/FillStrokeProps.ts +0 -0
  2391. package/src/shapes/Object/types/LockInteractionProps.ts +0 -0
  2392. package/src/shapes/Object/types/ObjectProps.ts +0 -0
  2393. package/src/shapes/Object/types/ObjectTransformProps.ts +0 -0
  2394. package/src/shapes/Object/types/SerializedObjectProps.ts +0 -0
  2395. package/src/shapes/Object/types/index.ts +0 -0
  2396. package/src/shapes/Path.spec.ts +0 -0
  2397. package/src/shapes/Path.ts +0 -0
  2398. package/src/shapes/Polygon.spec.ts +0 -0
  2399. package/src/shapes/Polygon.ts +0 -0
  2400. package/src/shapes/Polyline.spec.ts +0 -0
  2401. package/src/shapes/Polyline.ts +0 -0
  2402. package/src/shapes/Rect.spec.ts +0 -0
  2403. package/src/shapes/Rect.ts +0 -0
  2404. package/src/shapes/Text/StyledText.spec.ts +0 -0
  2405. package/src/shapes/Text/StyledText.ts +0 -0
  2406. package/src/shapes/Text/Text.spec.ts +0 -0
  2407. package/src/shapes/Text/Text.ts +206 -139
  2408. package/src/shapes/Text/TextSVGExportMixin.spec.ts +0 -0
  2409. package/src/shapes/Text/TextSVGExportMixin.ts +0 -0
  2410. package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +0 -0
  2411. package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +0 -0
  2412. package/src/shapes/Text/constants.ts +135 -135
  2413. package/src/shapes/Textbox.spec.ts +0 -0
  2414. package/src/shapes/Textbox.ts +581 -182
  2415. package/src/shapes/Triangle.spec.ts +0 -0
  2416. package/src/shapes/Triangle.ts +0 -0
  2417. package/src/shapes/__snapshots__/Image.spec.ts.snap +0 -0
  2418. package/src/shapes/__snapshots__/Textbox.spec.ts.snap +0 -0
  2419. package/src/text/browserLines.ts +266 -234
  2420. package/src/text/ellipsis.ts +516 -516
  2421. package/src/text/hitTest.ts +623 -623
  2422. package/src/text/layout.ts +586 -586
  2423. package/src/text/measure.ts +626 -626
  2424. package/src/text/overlayEditor.ts +1108 -1047
  2425. package/src/text/unicode.ts +454 -454
  2426. package/src/typedefs.ts +0 -0
  2427. package/src/util/__snapshots__/index.spec.ts.snap +0 -0
  2428. package/src/util/animation/AnimationBase.ts +0 -0
  2429. package/src/util/animation/AnimationFrameProvider.ts +0 -0
  2430. package/src/util/animation/AnimationRegistry.ts +0 -0
  2431. package/src/util/animation/ArrayAnimation.ts +0 -0
  2432. package/src/util/animation/ColorAnimation.ts +0 -0
  2433. package/src/util/animation/ValueAnimation.ts +0 -0
  2434. package/src/util/animation/__snapshots__/animations.spec.ts.snap +0 -0
  2435. package/src/util/animation/animate.ts +0 -0
  2436. package/src/util/animation/animations.spec.ts +0 -0
  2437. package/src/util/animation/easing.ts +0 -0
  2438. package/src/util/animation/index.ts +0 -0
  2439. package/src/util/animation/types.ts +0 -0
  2440. package/src/util/applyMixins.ts +0 -0
  2441. package/src/util/dom_event.spec.ts +0 -0
  2442. package/src/util/dom_event.ts +0 -0
  2443. package/src/util/dom_misc.ts +0 -0
  2444. package/src/util/index.spec.ts +0 -0
  2445. package/src/util/index.ts +0 -0
  2446. package/src/util/internals/applyCanvasTransform.ts +0 -0
  2447. package/src/util/internals/cleanupSvgAttribute.test.ts +0 -0
  2448. package/src/util/internals/cleanupSvgAttribute.ts +0 -0
  2449. package/src/util/internals/cloneStyles.spec.ts +0 -0
  2450. package/src/util/internals/cloneStyles.ts +0 -0
  2451. package/src/util/internals/console.ts +0 -0
  2452. package/src/util/internals/dom_style.spec.ts +0 -0
  2453. package/src/util/internals/dom_style.ts +0 -0
  2454. package/src/util/internals/findRight.ts +0 -0
  2455. package/src/util/internals/getRandomInt.test.ts +0 -0
  2456. package/src/util/internals/getRandomInt.ts +0 -0
  2457. package/src/util/internals/ifNaN.ts +0 -0
  2458. package/src/util/internals/removeFromArray.spec.ts +0 -0
  2459. package/src/util/internals/removeFromArray.ts +0 -0
  2460. package/src/util/internals/uid.ts +0 -0
  2461. package/src/util/lang_string.spec.ts +0 -0
  2462. package/src/util/lang_string.ts +0 -0
  2463. package/src/util/misc/boundingBoxFromPoints.spec.ts +0 -0
  2464. package/src/util/misc/boundingBoxFromPoints.ts +0 -0
  2465. package/src/util/misc/capValue.spec.ts +0 -0
  2466. package/src/util/misc/capValue.ts +0 -0
  2467. package/src/util/misc/cornerRadius.spec.ts +0 -0
  2468. package/src/util/misc/cornerRadius.ts +0 -0
  2469. package/src/util/misc/cos.spec.ts +0 -0
  2470. package/src/util/misc/cos.ts +0 -0
  2471. package/src/util/misc/dom.spec.ts +0 -0
  2472. package/src/util/misc/dom.ts +0 -0
  2473. package/src/util/misc/findScaleTo.spec.ts +0 -0
  2474. package/src/util/misc/findScaleTo.ts +0 -0
  2475. package/src/util/misc/groupSVGElements.spec.ts +0 -0
  2476. package/src/util/misc/groupSVGElements.ts +0 -0
  2477. package/src/util/misc/isTransparent.ts +0 -0
  2478. package/src/util/misc/matrix.spec.ts +0 -0
  2479. package/src/util/misc/matrix.ts +0 -0
  2480. package/src/util/misc/mergeClipPaths.spec.ts +0 -0
  2481. package/src/util/misc/mergeClipPaths.ts +0 -0
  2482. package/src/util/misc/objectEnlive.spec.ts +0 -0
  2483. package/src/util/misc/objectEnlive.ts +0 -0
  2484. package/src/util/misc/objectTransforms.spec.ts +0 -0
  2485. package/src/util/misc/objectTransforms.ts +0 -0
  2486. package/src/util/misc/pick.spec.ts +0 -0
  2487. package/src/util/misc/pick.ts +0 -0
  2488. package/src/util/misc/planeChange.spec.ts +0 -0
  2489. package/src/util/misc/planeChange.ts +0 -0
  2490. package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +0 -0
  2491. package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +0 -0
  2492. package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +0 -0
  2493. package/src/util/misc/projectStroke/index.ts +0 -0
  2494. package/src/util/misc/projectStroke/types.ts +0 -0
  2495. package/src/util/misc/radiansDegreesConversion.spec.ts +0 -0
  2496. package/src/util/misc/radiansDegreesConversion.ts +0 -0
  2497. package/src/util/misc/resolveOrigin.ts +0 -0
  2498. package/src/util/misc/sin.ts +0 -0
  2499. package/src/util/misc/svgExport.ts +0 -0
  2500. package/src/util/misc/svgParsing.spec.ts +0 -0
  2501. package/src/util/misc/svgParsing.ts +0 -0
  2502. package/src/util/misc/textStyles.ts +0 -0
  2503. package/src/util/misc/toFixed.spec.ts +0 -0
  2504. package/src/util/misc/toFixed.ts +0 -0
  2505. package/src/util/misc/vectors.spec.ts +0 -0
  2506. package/src/util/misc/vectors.ts +0 -0
  2507. package/src/util/path/__snapshots__/index.spec.ts.snap +0 -0
  2508. package/src/util/path/index.spec.ts +0 -0
  2509. package/src/util/path/index.ts +0 -0
  2510. package/src/util/path/regex.ts +0 -0
  2511. package/src/util/path/typechecks.ts +0 -0
  2512. package/src/util/path/typedefs.ts +0 -0
  2513. package/src/util/transform_matrix_removal.ts +0 -0
  2514. package/src/util/typeAssertions.spec.ts +0 -0
  2515. package/src/util/typeAssertions.ts +0 -0
  2516. package/tsconfig-extensions.json +0 -0
  2517. package/tsconfig.json +0 -0
  2518. package/tsconfig.spec.json +0 -0
  2519. package/typedoc.config.json +0 -0
  2520. package/vitest.config.ts +0 -0
  2521. package/vitest.d.ts +0 -0
  2522. package/vitest.env.d.ts +0 -0
  2523. package/vitest.extend.ts +0 -0
  2524. package/vitest.setup.ts +0 -0
  2525. package/.playwright-mcp/after-justify-applied.png +0 -0
  2526. package/.playwright-mcp/after-justify-click.png +0 -0
  2527. package/.playwright-mcp/initial-state.png +0 -0
  2528. package/.playwright-mcp/justify-fixed-final.png +0 -0
  2529. package/45.6875Textbox.ts +0 -0
  2530. package/dist/src/text/examples/arabicTextExample.d.ts +0 -60
  2531. package/dist/src/text/examples/arabicTextExample.d.ts.map +0 -1
  2532. package/dist/src/text/scriptUtils.d.ts +0 -142
  2533. package/dist/src/text/scriptUtils.d.ts.map +0 -1
  2534. package/dist/src/text/scriptUtils.min.mjs +0 -2
  2535. package/dist/src/text/scriptUtils.min.mjs.map +0 -1
  2536. package/dist/src/text/scriptUtils.mjs +0 -212
  2537. package/dist/src/text/scriptUtils.mjs.map +0 -1
  2538. package/dist-extensions/src/shapes/CustomLine.d.ts +0 -10
  2539. package/dist-extensions/src/shapes/CustomLine.d.ts.map +0 -1
  2540. package/dist-extensions/src/text/scriptUtils.d.ts +0 -142
  2541. package/dist-extensions/src/text/scriptUtils.d.ts.map +0 -1
  2542. package/fabric-test-editor.html +0 -3552
  2543. package/fabric-test2.html +0 -647
@@ -412,7 +412,7 @@ class Cache {
412
412
  }
413
413
  const cache = new Cache();
414
414
 
415
- var version = "7.0.1-beta12";
415
+ var version = "7.0.1-beta14";
416
416
 
417
417
  // use this syntax so babel plugin see this import here
418
418
  const VERSION = version;
@@ -19241,8 +19241,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
19241
19241
  // Global measurement context - reused for performance
19242
19242
  let measurementContext = null;
19243
19243
 
19244
- /**
19245
- * Get or create the shared measurement context
19244
+ /**
19245
+ * Get or create the shared measurement context
19246
19246
  */
19247
19247
  function getMeasurementContext() {
19248
19248
  if (!measurementContext) {
@@ -19255,8 +19255,8 @@ function getMeasurementContext() {
19255
19255
  return measurementContext;
19256
19256
  }
19257
19257
 
19258
- /**
19259
- * Measure a single grapheme
19258
+ /**
19259
+ * Measure a single grapheme
19260
19260
  */
19261
19261
  function measureGrapheme(grapheme, options, ctx) {
19262
19262
  // Check cache first
@@ -19289,8 +19289,8 @@ function measureGrapheme(grapheme, options, ctx) {
19289
19289
  return measurement;
19290
19290
  }
19291
19291
 
19292
- /**
19293
- * Measure a grapheme with kerning relative to previous character
19292
+ /**
19293
+ * Measure a grapheme with kerning relative to previous character
19294
19294
  */
19295
19295
  function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
19296
19296
  // Get individual measurement
@@ -19331,9 +19331,9 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
19331
19331
  };
19332
19332
  }
19333
19333
 
19334
- /**
19335
- * Get a representative character for font metrics measurement
19336
- * Uses canvas to test which scripts the font actually supports
19334
+ /**
19335
+ * Get a representative character for font metrics measurement
19336
+ * Uses canvas to test which scripts the font actually supports
19337
19337
  */
19338
19338
  function getRepresentativeCharacter(fontFamily) {
19339
19339
  const context = getMeasurementContext();
@@ -19422,8 +19422,8 @@ function getRepresentativeCharacter(fontFamily) {
19422
19422
  return 'M';
19423
19423
  }
19424
19424
 
19425
- /**
19426
- * Get font metrics for layout calculations
19425
+ /**
19426
+ * Get font metrics for layout calculations
19427
19427
  */
19428
19428
  function getFontMetrics(options) {
19429
19429
  var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
@@ -19459,8 +19459,8 @@ function getFontMetrics(options) {
19459
19459
  return result;
19460
19460
  }
19461
19461
 
19462
- /**
19463
- * Apply font styling to canvas context
19462
+ /**
19463
+ * Apply font styling to canvas context
19464
19464
  */
19465
19465
  function applyFontStyle(ctx, options) {
19466
19466
  const fontDeclaration = getFontDeclaration(options);
@@ -19477,8 +19477,8 @@ function applyFontStyle(ctx, options) {
19477
19477
  ctx.textBaseline = 'alphabetic';
19478
19478
  }
19479
19479
 
19480
- /**
19481
- * Generate font declaration string
19480
+ /**
19481
+ * Generate font declaration string
19482
19482
  */
19483
19483
  function getFontDeclaration(options) {
19484
19484
  const {
@@ -19497,8 +19497,8 @@ function getFontDeclaration(options) {
19497
19497
  return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
19498
19498
  }
19499
19499
 
19500
- /**
19501
- * LRU Cache implementation for measurements
19500
+ /**
19501
+ * LRU Cache implementation for measurements
19502
19502
  */
19503
19503
  class LRUCache {
19504
19504
  constructor() {
@@ -19560,8 +19560,8 @@ class LRUCache {
19560
19560
  }
19561
19561
  }
19562
19562
 
19563
- /**
19564
- * Advanced measurement cache with font-aware keys
19563
+ /**
19564
+ * Advanced measurement cache with font-aware keys
19565
19565
  */
19566
19566
  class MeasurementCache {
19567
19567
  constructor() {
@@ -19588,8 +19588,8 @@ class MeasurementCache {
19588
19588
  }
19589
19589
  }
19590
19590
 
19591
- /**
19592
- * Kerning cache for character pairs
19591
+ /**
19592
+ * Kerning cache for character pairs
19593
19593
  */
19594
19594
  class KerningCache {
19595
19595
  constructor() {
@@ -19617,8 +19617,8 @@ class KerningCache {
19617
19617
  }
19618
19618
  }
19619
19619
 
19620
- /**
19621
- * Font metrics cache
19620
+ /**
19621
+ * Font metrics cache
19622
19622
  */
19623
19623
  class FontMetricsCache {
19624
19624
  constructor() {
@@ -19653,8 +19653,8 @@ if (typeof document !== 'undefined' && 'fonts' in document) {
19653
19653
  });
19654
19654
  }
19655
19655
 
19656
- /**
19657
- * Clear all measurement caches
19656
+ /**
19657
+ * Clear all measurement caches
19658
19658
  */
19659
19659
  function clearAllCaches() {
19660
19660
  measurementCache.clear();
@@ -19662,9 +19662,9 @@ function clearAllCaches() {
19662
19662
  fontMetricsCache.clear();
19663
19663
  }
19664
19664
 
19665
- /**
19666
- * Detect if a font lacks English glyph support
19667
- * These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
19665
+ /**
19666
+ * Detect if a font lacks English glyph support
19667
+ * These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
19668
19668
  */
19669
19669
  function fontLacksEnglishGlyphs(fontFamily) {
19670
19670
  if (typeof document === 'undefined') return false;
@@ -19708,8 +19708,8 @@ function fontLacksEnglishGlyphs(fontFamily) {
19708
19708
  // Cache for font glyph detection results
19709
19709
  const fontGlyphCache = new Map();
19710
19710
 
19711
- /**
19712
- * Cached version of font glyph detection
19711
+ /**
19712
+ * Cached version of font glyph detection
19713
19713
  */
19714
19714
  function fontLacksEnglishGlyphsCached(fontFamily) {
19715
19715
  if (fontGlyphCache.has(fontFamily)) {
@@ -19720,17 +19720,17 @@ function fontLacksEnglishGlyphsCached(fontFamily) {
19720
19720
  return result;
19721
19721
  }
19722
19722
 
19723
- /**
19724
- * Unicode and Internationalization Support
19725
- *
19726
- * Enhanced Unicode handling for complex scripts, RTL/LTR text,
19727
- * and grapheme cluster boundary detection.
19723
+ /**
19724
+ * Unicode and Internationalization Support
19725
+ *
19726
+ * Enhanced Unicode handling for complex scripts, RTL/LTR text,
19727
+ * and grapheme cluster boundary detection.
19728
19728
  */
19729
19729
 
19730
19730
 
19731
- /**
19732
- * Enhanced grapheme segmentation using Intl.Segmenter when available
19733
- * with fallback to existing graphemeSplit implementation
19731
+ /**
19732
+ * Enhanced grapheme segmentation using Intl.Segmenter when available
19733
+ * with fallback to existing graphemeSplit implementation
19734
19734
  */
19735
19735
  function segmentGraphemes(text) {
19736
19736
  // Use native Intl.Segmenter if available
@@ -19750,15 +19750,15 @@ function segmentGraphemes(text) {
19750
19750
  return graphemeSplit(text);
19751
19751
  }
19752
19752
 
19753
- /**
19754
- * Ellipsis Text Truncation System
19755
- *
19756
- * Implements text truncation with ellipsis when content exceeds bounds,
19757
- * using binary search for optimal truncation points.
19753
+ /**
19754
+ * Ellipsis Text Truncation System
19755
+ *
19756
+ * Implements text truncation with ellipsis when content exceeds bounds,
19757
+ * using binary search for optimal truncation points.
19758
19758
  */
19759
19759
 
19760
- /**
19761
- * Apply ellipsis truncation to text based on width/height constraints
19760
+ /**
19761
+ * Apply ellipsis truncation to text based on width/height constraints
19762
19762
  */
19763
19763
  function applyEllipsis(text, options) {
19764
19764
  const {
@@ -19828,8 +19828,8 @@ function applyEllipsis(text, options) {
19828
19828
  };
19829
19829
  }
19830
19830
 
19831
- /**
19832
- * Truncate text based on width constraint using binary search
19831
+ /**
19832
+ * Truncate text based on width constraint using binary search
19833
19833
  */
19834
19834
  function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
19835
19835
  const graphemes = segmentGraphemes(text);
@@ -19879,8 +19879,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
19879
19879
  };
19880
19880
  }
19881
19881
 
19882
- /**
19883
- * Truncate text based on height constraint
19882
+ /**
19883
+ * Truncate text based on height constraint
19884
19884
  */
19885
19885
  function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19886
19886
  var _measureFn;
@@ -19928,19 +19928,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19928
19928
  return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
19929
19929
  }
19930
19930
 
19931
- /**
19932
- * Core Text Layout Engine
19933
- *
19934
- * Implements Konva-compatible text layout with support for:
19935
- * - Multiple wrap modes (word/char/none)
19936
- * - Ellipsis truncation
19937
- * - Justify alignment with proper space distribution
19938
- * - RTL/LTR text direction
19939
- * - Advanced grapheme handling
19931
+ /**
19932
+ * Core Text Layout Engine
19933
+ *
19934
+ * Implements Konva-compatible text layout with support for:
19935
+ * - Multiple wrap modes (word/char/none)
19936
+ * - Ellipsis truncation
19937
+ * - Justify alignment with proper space distribution
19938
+ * - RTL/LTR text direction
19939
+ * - Advanced grapheme handling
19940
19940
  */
19941
19941
 
19942
- /**
19943
- * Main text layout function - converts text and options into positioned layout
19942
+ /**
19943
+ * Main text layout function - converts text and options into positioned layout
19944
19944
  */
19945
19945
  function layoutText(options) {
19946
19946
  var _ellipsisResult;
@@ -20059,8 +20059,8 @@ function layoutText(options) {
20059
20059
  };
20060
20060
  }
20061
20061
 
20062
- /**
20063
- * Layout a single paragraph with wrapping
20062
+ /**
20063
+ * Layout a single paragraph with wrapping
20064
20064
  */
20065
20065
  function layoutParagraph(text, options) {
20066
20066
  const {
@@ -20095,8 +20095,8 @@ function layoutParagraph(text, options) {
20095
20095
  return layoutLines;
20096
20096
  }
20097
20097
 
20098
- /**
20099
- * Layout a single line of text (no wrapping)
20098
+ /**
20099
+ * Layout a single line of text (no wrapping)
20100
20100
  */
20101
20101
  function layoutSingleLine(text, options) {
20102
20102
  let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
@@ -20166,8 +20166,8 @@ function layoutSingleLine(text, options) {
20166
20166
  };
20167
20167
  }
20168
20168
 
20169
- /**
20170
- * Word-based wrapping algorithm
20169
+ /**
20170
+ * Word-based wrapping algorithm
20171
20171
  */
20172
20172
  function wrapByWords(text, maxWidth, options) {
20173
20173
  const lines = [];
@@ -20200,8 +20200,8 @@ function wrapByWords(text, maxWidth, options) {
20200
20200
  return lines.length > 0 ? lines : [''];
20201
20201
  }
20202
20202
 
20203
- /**
20204
- * Character-based wrapping algorithm
20203
+ /**
20204
+ * Character-based wrapping algorithm
20205
20205
  */
20206
20206
  function wrapByCharacters(text, maxWidth, options) {
20207
20207
  const lines = [];
@@ -20223,8 +20223,8 @@ function wrapByCharacters(text, maxWidth, options) {
20223
20223
  return lines.length > 0 ? lines : [''];
20224
20224
  }
20225
20225
 
20226
- /**
20227
- * Apply text alignment to lines
20226
+ /**
20227
+ * Apply text alignment to lines
20228
20228
  */
20229
20229
  function applyAlignment(lines, align, containerWidth, options) {
20230
20230
  return lines.map(line => {
@@ -20258,8 +20258,8 @@ function applyAlignment(lines, align, containerWidth, options) {
20258
20258
  });
20259
20259
  }
20260
20260
 
20261
- /**
20262
- * Apply justify alignment by expanding spaces
20261
+ /**
20262
+ * Apply justify alignment by expanding spaces
20263
20263
  */
20264
20264
  function applyJustification(line, containerWidth, options) {
20265
20265
  const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
@@ -20282,8 +20282,8 @@ function applyJustification(line, containerWidth, options) {
20282
20282
  return line;
20283
20283
  }
20284
20284
 
20285
- /**
20286
- * Calculate vertical alignment offset
20285
+ /**
20286
+ * Calculate vertical alignment offset
20287
20287
  */
20288
20288
  function calculateVerticalOffset(contentHeight, containerHeight, align) {
20289
20289
  switch (align) {
@@ -20297,8 +20297,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
20297
20297
  }
20298
20298
  }
20299
20299
 
20300
- /**
20301
- * Handle height overflow with ellipsis
20300
+ /**
20301
+ * Handle height overflow with ellipsis
20302
20302
  */
20303
20303
  function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
20304
20304
  // If ellipsis is enabled, try to fit part of the overflow line
@@ -20327,8 +20327,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
20327
20327
  };
20328
20328
  }
20329
20329
 
20330
- /**
20331
- * Create empty line for empty paragraphs
20330
+ /**
20331
+ * Create empty line for empty paragraphs
20332
20332
  */
20333
20333
  function createEmptyLine(options) {
20334
20334
  const height = options.fontSize * options.lineHeight;
@@ -20344,8 +20344,8 @@ function createEmptyLine(options) {
20344
20344
  };
20345
20345
  }
20346
20346
 
20347
- /**
20348
- * Measure width of a line of text
20347
+ /**
20348
+ * Measure width of a line of text
20349
20349
  */
20350
20350
  function measureLineWidth(text, options) {
20351
20351
  const graphemes = segmentGraphemes(text);
@@ -20362,8 +20362,8 @@ function measureLineWidth(text, options) {
20362
20362
  return width;
20363
20363
  }
20364
20364
 
20365
- /**
20366
- * Convert layout options to measurement options
20365
+ /**
20366
+ * Convert layout options to measurement options
20367
20367
  */
20368
20368
  function createMeasurementOptions(options) {
20369
20369
  return {
@@ -20606,15 +20606,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
20606
20606
  }
20607
20607
  }
20608
20608
 
20609
- /**
20610
- * Browser Line Break Extraction
20611
- *
20612
- * Captures exact line breaks as rendered by the browser to ensure
20613
- * pixel-perfect consistency between DOM editing and canvas rendering.
20609
+ /**
20610
+ * Browser Line Break Extraction
20611
+ *
20612
+ * Captures exact line breaks as rendered by the browser to ensure
20613
+ * pixel-perfect consistency between DOM editing and canvas rendering.
20614
20614
  */
20615
20615
 
20616
- /**
20617
- * Segment text into graphemes safely using Intl.Segmenter or fallback
20616
+ /**
20617
+ * Segment text into graphemes safely using Intl.Segmenter or fallback
20618
20618
  */
20619
20619
  function segmentIntoGraphemes(text) {
20620
20620
  if (typeof Intl !== 'undefined' && Intl.Segmenter) {
@@ -20628,9 +20628,9 @@ function segmentIntoGraphemes(text) {
20628
20628
  return Array.from(text);
20629
20629
  }
20630
20630
 
20631
- /**
20632
- * Extract line break information from a textarea by creating a mirror element
20633
- * with identical computed styles and measuring grapheme positions.
20631
+ /**
20632
+ * Extract line break information from a textarea by creating a mirror element
20633
+ * with identical computed styles and measuring grapheme positions.
20634
20634
  */
20635
20635
  function extractLinesFromDOM(textarea) {
20636
20636
  const text = textarea.value;
@@ -20638,7 +20638,8 @@ function extractLinesFromDOM(textarea) {
20638
20638
  return {
20639
20639
  lines: [],
20640
20640
  totalWidth: 0,
20641
- totalHeight: 0
20641
+ totalHeight: 0,
20642
+ width: 0
20642
20643
  };
20643
20644
  }
20644
20645
 
@@ -20667,6 +20668,8 @@ function extractLinesFromDOM(textarea) {
20667
20668
  mirror.style.overflow = 'hidden';
20668
20669
  mirror.style.resize = 'none';
20669
20670
  container.appendChild(mirror);
20671
+ // capture the width the browser is using for layout
20672
+ const width = mirror.clientWidth;
20670
20673
  try {
20671
20674
  // Segment text into graphemes
20672
20675
  const graphemes = segmentIntoGraphemes(text);
@@ -20717,7 +20720,8 @@ function extractLinesFromDOM(textarea) {
20717
20720
  return {
20718
20721
  lines,
20719
20722
  totalWidth,
20720
- totalHeight
20723
+ totalHeight,
20724
+ width
20721
20725
  };
20722
20726
  } finally {
20723
20727
  // Clean up mirror element
@@ -20725,16 +20729,16 @@ function extractLinesFromDOM(textarea) {
20725
20729
  }
20726
20730
  }
20727
20731
 
20728
- /**
20729
- * Create a hash of layout-affecting properties to detect when browser lines are still valid
20732
+ /**
20733
+ * Create a hash of layout-affecting properties to detect when browser lines are still valid
20730
20734
  */
20731
20735
  function createLayoutHash(target) {
20732
20736
  const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
20733
20737
  return properties.map(p => String(p)).join('|');
20734
20738
  }
20735
20739
 
20736
- /**
20737
- * Check if stored browser lines are still valid for the current target state
20740
+ /**
20741
+ * Check if stored browser lines are still valid for the current target state
20738
20742
  */
20739
20743
  function areBrowserLinesValid(target, storedHash) {
20740
20744
  if (!storedHash || !target.__lastBrowserLines) {
@@ -20743,31 +20747,37 @@ function areBrowserLinesValid(target, storedHash) {
20743
20747
  const currentHash = createLayoutHash(target);
20744
20748
  return currentHash === storedHash;
20745
20749
  }
20746
-
20747
- /**
20748
- * Store browser lines on a target object with validity hash
20750
+ /**
20751
+ * Store browser lines on a target object with validity hash
20749
20752
  */
20750
- function storeBrowserLines(target, lines, layoutHash) {
20753
+ function storeBrowserLines(target, lines, width, layoutHash) {
20751
20754
  target.__lastBrowserLines = lines;
20755
+ target.__lastBrowserLinesWidth = width;
20752
20756
  target.__lastBrowserLinesHash = createLayoutHash(target);
20753
20757
  }
20754
20758
 
20755
- /**
20756
- * Clear stored browser lines from a target object
20759
+ /**
20760
+ * Clear stored browser lines from a target object
20757
20761
  */
20758
20762
  function clearBrowserLines(target) {
20759
20763
  delete target.__lastBrowserLines;
20760
20764
  delete target.__lastBrowserLinesHash;
20765
+ delete target.__lastBrowserLinesWidth;
20761
20766
  }
20762
20767
 
20763
- /**
20764
- * Get stored browser lines if they're still valid
20768
+ /**
20769
+ * Get stored browser lines if they're still valid
20765
20770
  */
20766
20771
  function getBrowserLines(target) {
20767
20772
  const lines = target.__lastBrowserLines;
20768
20773
  const hash = target.__lastBrowserLinesHash;
20769
20774
  if (lines && areBrowserLinesValid(target, hash)) {
20770
- return lines;
20775
+ return {
20776
+ lines,
20777
+ totalWidth: 0,
20778
+ totalHeight: 0,
20779
+ width: target.__lastBrowserLinesWidth
20780
+ };
20771
20781
  }
20772
20782
  return null;
20773
20783
  }
@@ -20848,10 +20858,18 @@ class FabricText extends StyledText {
20848
20858
  * Uses browser lines when available for pixel-perfect consistency.
20849
20859
  */
20850
20860
  _splitText() {
20851
- // Check if we have valid browser lines and should use them
20852
- const browserLines = getBrowserLines(this);
20853
- if (browserLines && this.useOverlayEditing) {
20854
- return this._splitTextFromBrowserLines(browserLines);
20861
+ // For justify text with overlay editing, always use normal fabric wrapping
20862
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
20863
+ console.log('🧹 JUSTIFY OVERLAY: Using fabric wrapping');
20864
+ this.__lastBrowserLines = null;
20865
+ this.__lastBrowserLinesHash = null;
20866
+ } else {
20867
+ // Check if we have valid browser lines for non-justify text
20868
+ const browserLinesInfo = getBrowserLines(this);
20869
+ if (browserLinesInfo && this.useOverlayEditing) {
20870
+ this._browserWrappingWidth = browserLinesInfo.width;
20871
+ return this._splitTextFromBrowserLines(browserLinesInfo.lines);
20872
+ }
20855
20873
  }
20856
20874
  const newLines = this._splitTextIntoLines(this.text);
20857
20875
  this.textLines = newLines.lines;
@@ -20952,6 +20970,11 @@ class FabricText extends StyledText {
20952
20970
  enlargeSpaces() {
20953
20971
  let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
20954
20972
  const isRtl = this.direction === 'rtl';
20973
+ // use browser wrapping width if available
20974
+ const justificationWidth = this._browserWrappingWidth || this.width;
20975
+ if (this._browserWrappingWidth) {
20976
+ this._browserWrappingWidth = undefined;
20977
+ }
20955
20978
  for (let i = 0, len = this._textLines.length; i < len; i++) {
20956
20979
  if (!this.textAlign.includes('justify') || i === len - 1 || this.isEndOfWrapping(i)) {
20957
20980
  continue;
@@ -20959,11 +20982,11 @@ class FabricText extends StyledText {
20959
20982
  accumulatedSpace = 0;
20960
20983
  line = this._textLines[i];
20961
20984
  currentLineWidth = this.getLineWidth(i);
20962
- if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {
20985
+ if (currentLineWidth < justificationWidth && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {
20963
20986
  numberOfSpaces = spaces.length;
20964
- diffSpace = (this.width - currentLineWidth) / numberOfSpaces;
20987
+ diffSpace = (justificationWidth - currentLineWidth) / numberOfSpaces;
20965
20988
  console.log(`🔧 EnlargeSpaces Line ${i}:`);
20966
- console.log(` Current width: ${currentLineWidth}, Target: ${this.width}`);
20989
+ console.log(` Current width: ${currentLineWidth}, Target: ${justificationWidth}`);
20967
20990
  console.log(` Spaces: ${numberOfSpaces}, diffSpace: ${diffSpace.toFixed(2)}`);
20968
20991
  if (isRtl) {
20969
20992
  for (let j = 0; j < line.length; j++) {
@@ -22894,8 +22917,8 @@ class OverlayEditor {
22894
22917
  // We don't need to save/restore them here as it would conflict with IText's restoration
22895
22918
  }
22896
22919
 
22897
- /**
22898
- * Get the container element for the overlay (parent of upperCanvasEl)
22920
+ /**
22921
+ * Get the container element for the overlay (parent of upperCanvasEl)
22899
22922
  */
22900
22923
  getCanvasContainer() {
22901
22924
  const upperCanvas = this.canvas.upperCanvasEl;
@@ -22909,8 +22932,8 @@ class OverlayEditor {
22909
22932
  return container;
22910
22933
  }
22911
22934
 
22912
- /**
22913
- * Create the overlay DOM structure
22935
+ /**
22936
+ * Create the overlay DOM structure
22914
22937
  */
22915
22938
  createOverlayDOM() {
22916
22939
  // Host div for positioning and overflow control
@@ -22965,8 +22988,8 @@ class OverlayEditor {
22965
22988
  document.body.appendChild(this.hostDiv);
22966
22989
  }
22967
22990
 
22968
- /**
22969
- * Attach all event listeners
22991
+ /**
22992
+ * Attach all event listeners
22970
22993
  */
22971
22994
  attachEventListeners() {
22972
22995
  // Textarea events
@@ -22986,8 +23009,8 @@ class OverlayEditor {
22986
23009
  this.setupViewportChangeDetection();
22987
23010
  }
22988
23011
 
22989
- /**
22990
- * Remove all event listeners
23012
+ /**
23013
+ * Remove all event listeners
22991
23014
  */
22992
23015
  removeEventListeners() {
22993
23016
  this.textarea.removeEventListener('input', this.boundHandlers.onInput);
@@ -23004,16 +23027,16 @@ class OverlayEditor {
23004
23027
  this.restoreViewportChangeDetection();
23005
23028
  }
23006
23029
 
23007
- /**
23008
- * Simple method to refresh positioning when canvas changes
23030
+ /**
23031
+ * Simple method to refresh positioning when canvas changes
23009
23032
  */
23010
23033
  updatePosition() {
23011
23034
  this.applyOverlayStyle();
23012
23035
  }
23013
23036
 
23014
- /**
23015
- * Update the Fabric object bounds to match current textarea size
23016
- * This ensures Fabric.js selection controls follow the growing textbox
23037
+ /**
23038
+ * Update the Fabric object bounds to match current textarea size
23039
+ * This ensures Fabric.js selection controls follow the growing textbox
23017
23040
  */
23018
23041
  updateObjectBounds() {
23019
23042
  if (this.isDestroyed) return;
@@ -23047,15 +23070,15 @@ class OverlayEditor {
23047
23070
  }
23048
23071
  }
23049
23072
 
23050
- /**
23051
- * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
23073
+ /**
23074
+ * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
23052
23075
  */
23053
23076
  letterSpacingPx(charSpacing, fontSize) {
23054
23077
  return charSpacing / 1000 * fontSize;
23055
23078
  }
23056
23079
 
23057
- /**
23058
- * Detect text direction using first strong directional character
23080
+ /**
23081
+ * Detect text direction using first strong directional character
23059
23082
  */
23060
23083
  firstStrongDir(text) {
23061
23084
  // Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
@@ -23094,10 +23117,10 @@ class OverlayEditor {
23094
23117
  const top = canvasRect.top + scrollY + screenPoint.y;
23095
23118
 
23096
23119
  // 4. Calculate the precise width and height for the container
23097
- // **THE FIX:** Use getBoundingRect() for BOTH width and height.
23098
- // This is the most reliable measure of the object's final rendered dimensions.
23120
+ // **THE FIX:** Use the same width calculation as measureLinesWithBrowser for consistency
23099
23121
  const objectBounds = target.getBoundingRect();
23100
- const width = Math.round(objectBounds.width * zoom);
23122
+ const scaleX = target.scaleX || 1;
23123
+ const width = Math.round((target.width * scaleX + padding * 2) * zoom);
23101
23124
  const height = Math.round(objectBounds.height * zoom);
23102
23125
 
23103
23126
  // 5. Apply styles to host DIV - absolute positioning like rtl-test.html
@@ -23119,7 +23142,6 @@ class OverlayEditor {
23119
23142
  // 6. Style the textarea - match Fabric's exact rendering with padding
23120
23143
  const baseFontSize = (_target$fontSize = target.fontSize) !== null && _target$fontSize !== void 0 ? _target$fontSize : 16;
23121
23144
  // Use scaleX for font scaling to match Fabric text scaling exactly
23122
- const scaleX = target.scaleX || 1;
23123
23145
  const finalFontSize = baseFontSize * scaleX * zoom;
23124
23146
  const fabricLineHeight = target.lineHeight || 1.16;
23125
23147
  // **THE FIX:** Use 'border-box' so the width property includes padding.
@@ -23181,7 +23203,7 @@ class OverlayEditor {
23181
23203
  this.textarea.style.textAlignLast = 'left';
23182
23204
  }
23183
23205
  } else if (textAlign === 'justify-right') {
23184
- // If text is LTR but fabric says justify-right, override to justify-left for better UX
23206
+ // If text is LTR but fabric says justify-right, override to justify-left for better UX
23185
23207
  if (autoDetectedDirection === 'ltr') {
23186
23208
  this.textarea.style.textAlignLast = 'left';
23187
23209
  console.log(' → Overrode justify-right to justify-left for LTR text');
@@ -23292,8 +23314,8 @@ class OverlayEditor {
23292
23314
  // Initial bounds are set correctly by Fabric.js - don't force update here
23293
23315
  }
23294
23316
 
23295
- /**
23296
- * Debug method to compare textarea and canvas object bounding boxes
23317
+ /**
23318
+ * Debug method to compare textarea and canvas object bounding boxes
23297
23319
  */
23298
23320
  debugBoundingBoxComparison() {
23299
23321
  const target = this.target;
@@ -23363,8 +23385,8 @@ class OverlayEditor {
23363
23385
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
23364
23386
  }
23365
23387
 
23366
- /**
23367
- * Debug method to compare text wrapping between textarea and Fabric text object
23388
+ /**
23389
+ * Debug method to compare text wrapping between textarea and Fabric text object
23368
23390
  */
23369
23391
  debugTextWrapping() {
23370
23392
  const target = this.target;
@@ -23449,8 +23471,8 @@ class OverlayEditor {
23449
23471
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
23450
23472
  }
23451
23473
 
23452
- /**
23453
- * Focus the textarea and position cursor at end
23474
+ /**
23475
+ * Focus the textarea and position cursor at end
23454
23476
  */
23455
23477
  focusTextarea() {
23456
23478
  // For overlay editing, we want to keep the object in "selection mode" not "editing mode"
@@ -23490,8 +23512,8 @@ class OverlayEditor {
23490
23512
  this.canvas.requestRenderAll();
23491
23513
  }
23492
23514
 
23493
- /**
23494
- * Refresh overlay positioning and styling
23515
+ /**
23516
+ * Refresh overlay positioning and styling
23495
23517
  */
23496
23518
  refresh() {
23497
23519
  if (this.isDestroyed) return;
@@ -23499,32 +23521,34 @@ class OverlayEditor {
23499
23521
  // Don't update object bounds on every refresh - only when textarea actually resizes
23500
23522
  }
23501
23523
 
23502
- /**
23503
- * Destroy the overlay editor
23524
+ /**
23525
+ * Destroy the overlay editor
23504
23526
  */
23505
23527
  destroy() {
23528
+ var _this$target$textAlig;
23506
23529
  let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
23507
23530
  if (this.isDestroyed) return;
23508
23531
  this.isDestroyed = true;
23509
23532
  this.removeEventListeners();
23510
23533
 
23511
- // Restore target visibility before handling commit/cancel
23512
- if (this.target.__overlayEditor === this) {
23513
- this.target.__overlayEditor = undefined;
23514
-
23515
- // Restore original opacity
23516
- if (this.target.__overlayOriginalOpacity !== undefined) {
23517
- this.target.opacity = this.target.__overlayOriginalOpacity;
23518
- delete this.target.__overlayOriginalOpacity;
23534
+ // EXTRACT DOM DATA BEFORE REMOVING DOM for justify text preservation
23535
+ let extractedOverlayData = null;
23536
+ if (commit && (_this$target$textAlig = this.target.textAlign) !== null && _this$target$textAlig !== void 0 && _this$target$textAlig.includes('justify')) {
23537
+ try {
23538
+ // Store the DOM structure before destruction
23539
+ const result = extractLinesFromDOM(this.textarea);
23540
+ extractedOverlayData = result.lines;
23541
+ console.log('🔧 DESTROY: Extracted overlay lines before DOM removal');
23542
+ } catch (error) {
23543
+ console.warn('Failed to extract overlay lines before destruction:', error);
23519
23544
  }
23520
23545
  }
23521
23546
 
23522
- // Remove DOM first
23523
- if (this.hostDiv.parentNode) {
23524
- this.hostDiv.parentNode.removeChild(this.hostDiv);
23547
+ // Restore original opacity but keep overlayEditor reference for commit
23548
+ if (this.target.__overlayOriginalOpacity !== undefined) {
23549
+ this.target.opacity = this.target.__overlayOriginalOpacity;
23550
+ delete this.target.__overlayOriginalOpacity;
23525
23551
  }
23526
-
23527
- // Handle commit/cancel after restoring visibility
23528
23552
  if (commit && !this.isComposing) {
23529
23553
  const finalText = this.textarea.value;
23530
23554
 
@@ -23545,12 +23569,26 @@ class OverlayEditor {
23545
23569
  console.log(`📝 Overlay Exit: Direction unchanged (${currentDirection}), text: "${finalText.substring(0, 30)}..."`);
23546
23570
  }
23547
23571
  if (this.onCommit) {
23572
+ // Store extracted overlay data on target for commitOverlayEdit to use
23573
+ if (extractedOverlayData) {
23574
+ this.target._extractedOverlayLines = extractedOverlayData;
23575
+ }
23548
23576
  this.onCommit(finalText);
23549
23577
  }
23550
23578
  } else if (!commit && this.onCancel) {
23551
23579
  this.onCancel();
23552
23580
  }
23553
23581
 
23582
+ // Clear overlay editor reference AFTER commit/cancel handlers
23583
+ if (this.target.__overlayEditor === this) {
23584
+ this.target.__overlayEditor = undefined;
23585
+ }
23586
+
23587
+ // Remove DOM after commit/cancel handlers
23588
+ if (this.hostDiv.parentNode) {
23589
+ this.hostDiv.parentNode.removeChild(this.hostDiv);
23590
+ }
23591
+
23554
23592
  // Note: Don't restore object cursors since IText manages all cursors in _restoreEditingProps
23555
23593
  // Let the IText editing system handle proper restoration of all cursor properties
23556
23594
 
@@ -23565,6 +23603,9 @@ class OverlayEditor {
23565
23603
  // Request canvas re-render
23566
23604
  this.canvas.requestRenderAll();
23567
23605
  }
23606
+ get textareaElement() {
23607
+ return this.textarea;
23608
+ }
23568
23609
 
23569
23610
  // Event handlers
23570
23611
  handleInput() {
@@ -23668,8 +23709,8 @@ class OverlayEditor {
23668
23709
  }
23669
23710
  }
23670
23711
 
23671
- /**
23672
- * Setup detection for viewport changes (zoom/pan)
23712
+ /**
23713
+ * Setup detection for viewport changes (zoom/pan)
23673
23714
  */
23674
23715
  setupViewportChangeDetection() {
23675
23716
  // Store original methods
@@ -23698,8 +23739,8 @@ class OverlayEditor {
23698
23739
  };
23699
23740
  }
23700
23741
 
23701
- /**
23702
- * Restore original viewport methods
23742
+ /**
23743
+ * Restore original viewport methods
23703
23744
  */
23704
23745
  restoreViewportChangeDetection() {
23705
23746
  if (this.canvas.__originalSetZoom) {
@@ -23714,8 +23755,8 @@ class OverlayEditor {
23714
23755
  }
23715
23756
  }
23716
23757
 
23717
- /**
23718
- * Enter overlay text editing mode for a text object
23758
+ /**
23759
+ * Enter overlay text editing mode for a text object
23719
23760
  */
23720
23761
  function enterTextOverlayEdit(canvas, target, options) {
23721
23762
  // If already in overlay editing, destroy existing editor first
@@ -23739,35 +23780,35 @@ function enterTextOverlayEdit(canvas, target, options) {
23739
23780
  return editor;
23740
23781
  }
23741
23782
 
23742
- /**
23743
- * extend this regex to support non english languages
23744
- *
23745
- * - ` ` Matches a SPACE character (char code 32).
23746
- * - `\n` Matches a LINE FEED character (char code 10).
23747
- * - `.` Matches a "." character (char code 46).
23748
- * - `,` Matches a "," character (char code 44).
23749
- * - `;` Matches a ";" character (char code 59).
23750
- * - `!` Matches a "!" character (char code 33).
23751
- * - `\?` Matches a "?" character (char code 63).
23752
- * - `\-` Matches a "-" character (char code 45).
23783
+ /**
23784
+ * extend this regex to support non english languages
23785
+ *
23786
+ * - ` ` Matches a SPACE character (char code 32).
23787
+ * - `\n` Matches a LINE FEED character (char code 10).
23788
+ * - `.` Matches a "." character (char code 46).
23789
+ * - `,` Matches a "," character (char code 44).
23790
+ * - `;` Matches a ";" character (char code 59).
23791
+ * - `!` Matches a "!" character (char code 33).
23792
+ * - `\?` Matches a "?" character (char code 63).
23793
+ * - `\-` Matches a "-" character (char code 45).
23753
23794
  */
23754
23795
  // eslint-disable-next-line no-useless-escape
23755
23796
  const reNonWord = /[ \n\.,;!\?\-]/;
23756
23797
  class ITextBehavior extends FabricText {
23757
23798
  constructor() {
23758
23799
  super(...arguments);
23759
- /**
23760
- * Helps determining when the text is in composition, so that the cursor
23761
- * rendering is altered.
23800
+ /**
23801
+ * Helps determining when the text is in composition, so that the cursor
23802
+ * rendering is altered.
23762
23803
  */
23763
23804
  _defineProperty(this, "_currentCursorOpacity", 1);
23764
23805
  }
23765
- /**
23766
- * Keeps track if the IText object was selected before the actual click.
23767
- * This because we want to delay enter editing by a click.
23806
+ /**
23807
+ * Keeps track if the IText object was selected before the actual click.
23808
+ * This because we want to delay enter editing by a click.
23768
23809
  */
23769
- /**
23770
- * Initializes all the interactive behavior of IText
23810
+ /**
23811
+ * Initializes all the interactive behavior of IText
23771
23812
  */
23772
23813
  initBehavior() {
23773
23814
  this._tick = this._tick.bind(this);
@@ -23780,8 +23821,8 @@ class ITextBehavior extends FabricText {
23780
23821
  return super.onDeselect(options);
23781
23822
  }
23782
23823
 
23783
- /**
23784
- * @private
23824
+ /**
23825
+ * @private
23785
23826
  */
23786
23827
  _animateCursor(_ref) {
23787
23828
  let {
@@ -23806,8 +23847,8 @@ class ITextBehavior extends FabricText {
23806
23847
  });
23807
23848
  }
23808
23849
 
23809
- /**
23810
- * changes the cursor from visible to invisible
23850
+ /**
23851
+ * changes the cursor from visible to invisible
23811
23852
  */
23812
23853
  _tick(delay) {
23813
23854
  this._currentTickState = this._animateCursor({
@@ -23818,8 +23859,8 @@ class ITextBehavior extends FabricText {
23818
23859
  });
23819
23860
  }
23820
23861
 
23821
- /**
23822
- * Changes the cursor from invisible to visible
23862
+ /**
23863
+ * Changes the cursor from invisible to visible
23823
23864
  */
23824
23865
  _onTickComplete() {
23825
23866
  var _this$_currentTickCom;
@@ -23831,16 +23872,16 @@ class ITextBehavior extends FabricText {
23831
23872
  });
23832
23873
  }
23833
23874
 
23834
- /**
23835
- * Initializes delayed cursor
23875
+ /**
23876
+ * Initializes delayed cursor
23836
23877
  */
23837
23878
  initDelayedCursor(restart) {
23838
23879
  this.abortCursorAnimation();
23839
23880
  this._tick(restart ? 0 : this.cursorDelay);
23840
23881
  }
23841
23882
 
23842
- /**
23843
- * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
23883
+ /**
23884
+ * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
23844
23885
  */
23845
23886
  abortCursorAnimation() {
23846
23887
  let shouldClear = false;
@@ -23858,9 +23899,9 @@ class ITextBehavior extends FabricText {
23858
23899
  }
23859
23900
  }
23860
23901
 
23861
- /**
23862
- * Restart tue cursor animation if either is in complete state ( between animations )
23863
- * or if it never started before
23902
+ /**
23903
+ * Restart tue cursor animation if either is in complete state ( between animations )
23904
+ * or if it never started before
23864
23905
  */
23865
23906
  restartCursorIfNeeded() {
23866
23907
  if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
@@ -23868,8 +23909,8 @@ class ITextBehavior extends FabricText {
23868
23909
  }
23869
23910
  }
23870
23911
 
23871
- /**
23872
- * Selects entire text
23912
+ /**
23913
+ * Selects entire text
23873
23914
  */
23874
23915
  selectAll() {
23875
23916
  this.selectionStart = 0;
@@ -23879,26 +23920,26 @@ class ITextBehavior extends FabricText {
23879
23920
  return this;
23880
23921
  }
23881
23922
 
23882
- /**
23883
- * Selects entire text and updates the visual state
23923
+ /**
23924
+ * Selects entire text and updates the visual state
23884
23925
  */
23885
23926
  cmdAll() {
23886
23927
  this.selectAll();
23887
23928
  this.renderCursorOrSelection();
23888
23929
  }
23889
23930
 
23890
- /**
23891
- * Returns selected text
23892
- * @return {String}
23931
+ /**
23932
+ * Returns selected text
23933
+ * @return {String}
23893
23934
  */
23894
23935
  getSelectedText() {
23895
23936
  return this._text.slice(this.selectionStart, this.selectionEnd).join('');
23896
23937
  }
23897
23938
 
23898
- /**
23899
- * Find new selection index representing start of current word according to current selection index
23900
- * @param {Number} startFrom Current selection index
23901
- * @return {Number} New selection index
23939
+ /**
23940
+ * Find new selection index representing start of current word according to current selection index
23941
+ * @param {Number} startFrom Current selection index
23942
+ * @return {Number} New selection index
23902
23943
  */
23903
23944
  findWordBoundaryLeft(startFrom) {
23904
23945
  let offset = 0,
@@ -23918,10 +23959,10 @@ class ITextBehavior extends FabricText {
23918
23959
  return startFrom - offset;
23919
23960
  }
23920
23961
 
23921
- /**
23922
- * Find new selection index representing end of current word according to current selection index
23923
- * @param {Number} startFrom Current selection index
23924
- * @return {Number} New selection index
23962
+ /**
23963
+ * Find new selection index representing end of current word according to current selection index
23964
+ * @param {Number} startFrom Current selection index
23965
+ * @return {Number} New selection index
23925
23966
  */
23926
23967
  findWordBoundaryRight(startFrom) {
23927
23968
  let offset = 0,
@@ -23941,10 +23982,10 @@ class ITextBehavior extends FabricText {
23941
23982
  return startFrom + offset;
23942
23983
  }
23943
23984
 
23944
- /**
23945
- * Find new selection index representing start of current line according to current selection index
23946
- * @param {Number} startFrom Current selection index
23947
- * @return {Number} New selection index
23985
+ /**
23986
+ * Find new selection index representing start of current line according to current selection index
23987
+ * @param {Number} startFrom Current selection index
23988
+ * @return {Number} New selection index
23948
23989
  */
23949
23990
  findLineBoundaryLeft(startFrom) {
23950
23991
  let offset = 0,
@@ -23956,10 +23997,10 @@ class ITextBehavior extends FabricText {
23956
23997
  return startFrom - offset;
23957
23998
  }
23958
23999
 
23959
- /**
23960
- * Find new selection index representing end of current line according to current selection index
23961
- * @param {Number} startFrom Current selection index
23962
- * @return {Number} New selection index
24000
+ /**
24001
+ * Find new selection index representing end of current line according to current selection index
24002
+ * @param {Number} startFrom Current selection index
24003
+ * @return {Number} New selection index
23963
24004
  */
23964
24005
  findLineBoundaryRight(startFrom) {
23965
24006
  let offset = 0,
@@ -23971,11 +24012,11 @@ class ITextBehavior extends FabricText {
23971
24012
  return startFrom + offset;
23972
24013
  }
23973
24014
 
23974
- /**
23975
- * Finds index corresponding to beginning or end of a word
23976
- * @param {Number} selectionStart Index of a character
23977
- * @param {Number} direction 1 or -1
23978
- * @return {Number} Index of the beginning or end of a word
24015
+ /**
24016
+ * Finds index corresponding to beginning or end of a word
24017
+ * @param {Number} selectionStart Index of a character
24018
+ * @param {Number} direction 1 or -1
24019
+ * @return {Number} Index of the beginning or end of a word
23979
24020
  */
23980
24021
  searchWordBoundary(selectionStart, direction) {
23981
24022
  const text = this._text;
@@ -23993,9 +24034,9 @@ class ITextBehavior extends FabricText {
23993
24034
  return index;
23994
24035
  }
23995
24036
 
23996
- /**
23997
- * Selects the word that contains the char at index selectionStart
23998
- * @param {Number} selectionStart Index of a character
24037
+ /**
24038
+ * Selects the word that contains the char at index selectionStart
24039
+ * @param {Number} selectionStart Index of a character
23999
24040
  */
24000
24041
  selectWord(selectionStart) {
24001
24042
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -24011,9 +24052,9 @@ class ITextBehavior extends FabricText {
24011
24052
  this.renderCursorOrSelection();
24012
24053
  }
24013
24054
 
24014
- /**
24015
- * Selects the line that contains selectionStart
24016
- * @param {Number} selectionStart Index of a character
24055
+ /**
24056
+ * Selects the line that contains selectionStart
24057
+ * @param {Number} selectionStart Index of a character
24017
24058
  */
24018
24059
  selectLine(selectionStart) {
24019
24060
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -24025,8 +24066,8 @@ class ITextBehavior extends FabricText {
24025
24066
  this._updateTextarea();
24026
24067
  }
24027
24068
 
24028
- /**
24029
- * Enters editing state
24069
+ /**
24070
+ * Enters editing state
24030
24071
  */
24031
24072
  enterEditing(e) {
24032
24073
  if (this.isEditing || !this.editable) {
@@ -24046,8 +24087,8 @@ class ITextBehavior extends FabricText {
24046
24087
  }
24047
24088
  }
24048
24089
 
24049
- /**
24050
- * runs the actual logic that enter from editing state, see {@link enterEditing}
24090
+ /**
24091
+ * runs the actual logic that enter from editing state, see {@link enterEditing}
24051
24092
  */
24052
24093
  enterEditingImpl() {
24053
24094
  if (this.canvas) {
@@ -24058,6 +24099,18 @@ class ITextBehavior extends FabricText {
24058
24099
 
24059
24100
  // Check if using overlay editing
24060
24101
  if (this.useOverlayEditing) {
24102
+ // For justify text, backup the current working state before overlay editing
24103
+ if (this.textAlign.includes('justify')) {
24104
+ console.log('💾 BACKUP: Saving pre-overlay justify state');
24105
+ this._originalText = this.text; // Store original text to detect changes
24106
+ this._preOverlayJustifyState = {
24107
+ __charBounds: JSON.parse(JSON.stringify(this.__charBounds || [])),
24108
+ __lineHeights: [...(this.__lineHeights || [])],
24109
+ __lineWidths: [...(this.__lineWidths || [])],
24110
+ textLines: [...(this.textLines || [])],
24111
+ _textLines: (this._textLines || []).map(line => [...line])
24112
+ };
24113
+ }
24061
24114
  this.enterOverlayEditing();
24062
24115
  } else {
24063
24116
  this.initHiddenTextarea();
@@ -24071,8 +24124,8 @@ class ITextBehavior extends FabricText {
24071
24124
  }
24072
24125
  }
24073
24126
 
24074
- /**
24075
- * Enter overlay editing mode using DOM textarea overlay
24127
+ /**
24128
+ * Enter overlay editing mode using DOM textarea overlay
24076
24129
  */
24077
24130
  enterOverlayEditing() {
24078
24131
  this._saveEditingProps();
@@ -24093,33 +24146,85 @@ class ITextBehavior extends FabricText {
24093
24146
  });
24094
24147
  }
24095
24148
 
24096
- /**
24097
- * Commit overlay editing changes
24149
+ /**
24150
+ * Commit overlay editing changes
24098
24151
  */
24099
24152
  commitOverlayEdit(text) {
24100
24153
  const overlayEditor = this.__overlayEditor;
24101
- if (overlayEditor) {
24102
- // Extract browser lines for pixel-perfect rendering
24154
+
24155
+ // Update text first so browser line cache uses the new content
24156
+ this.text = text;
24157
+
24158
+ // For justify text, restore pre-overlay state only if text didn't change
24159
+ if (this.textAlign.includes('justify')) {
24160
+ const textChanged = this._originalText !== text;
24161
+ console.log('🔄 JUSTIFY CHECK: Text changed:', textChanged);
24162
+
24163
+ // Only restore backup state if text didn't change
24164
+ if (!textChanged) {
24165
+ const backupState = this._preOverlayJustifyState;
24166
+ if (backupState) {
24167
+ var _this$canvas;
24168
+ console.log('📦 RESTORE: Text unchanged, restoring pre-overlay state');
24169
+ // Restore the working character bounds and measurements (but keep current text)
24170
+ this.__charBounds = JSON.parse(JSON.stringify(backupState.__charBounds));
24171
+ this.__lineHeights = [...backupState.__lineHeights];
24172
+ this.__lineWidths = [...backupState.__lineWidths];
24173
+ this.textLines = [...backupState.textLines];
24174
+ this._textLines = backupState._textLines.map(line => [...line]);
24175
+
24176
+ // Clear the backup
24177
+ delete this._preOverlayJustifyState;
24178
+ delete this._originalText;
24179
+
24180
+ // Just request a render, don't rebuild
24181
+ (_this$canvas = this.canvas) === null || _this$canvas === void 0 || _this$canvas.requestRenderAll();
24182
+ return;
24183
+ }
24184
+ } else {
24185
+ console.log('🆕 REBUILD: Text changed, need to rebuild justify layout');
24186
+ // Clean up backup since we won't use it
24187
+ delete this._preOverlayJustifyState;
24188
+ delete this._originalText;
24189
+ }
24190
+ }
24191
+ if (overlayEditor && overlayEditor.textareaElement) {
24192
+ // For non-justify text, extract browser lines normally
24103
24193
  try {
24104
24194
  const result = extractLinesFromDOM(overlayEditor.textareaElement);
24105
- storeBrowserLines(this, result.lines);
24195
+ storeBrowserLines(this, result.lines, result.width);
24106
24196
  } catch (error) {
24107
24197
  console.warn('Failed to extract browser lines:', error);
24108
24198
  }
24109
24199
  }
24110
24200
 
24111
- // Update text content and trigger layout recalculation
24112
- this.text = text;
24201
+ // Trigger layout recalculation
24113
24202
  this.dirty = true;
24114
24203
  this.initDimensions();
24204
+
24205
+ // For justify text, force complete reconstruction after overlay editing
24206
+ if (this.textAlign.includes('justify') && 'enlargeSpaces' in this) {
24207
+ setTimeout(() => {
24208
+ var _this$canvas2;
24209
+ console.log('🔧 FORCE REBUILD: Rebuilding justify text after overlay editing');
24210
+ // Force complete reconstruction of character bounds
24211
+ this.__charBounds = [];
24212
+ this.__lineHeights = [];
24213
+ this.__lineWidths = [];
24214
+ // Re-run initDimensions to rebuild everything
24215
+ this.initDimensions();
24216
+ (_this$canvas2 = this.canvas) === null || _this$canvas2 === void 0 || _this$canvas2.requestRenderAll();
24217
+ }, 20);
24218
+ }
24115
24219
  this.setCoords();
24116
24220
  this.exitEditing();
24117
24221
  this.fire('changed');
24118
24222
  this.canvas && this.canvas.requestRenderAll();
24223
+ console.log('🔧 DEBUG: commitOverlayEdit complete');
24119
24224
  }
24120
24225
 
24121
- /**
24122
- * Cancel overlay editing without changes
24226
+ /**
24227
+ * Cancel overlay editing without changes
24123
24228
  */
24124
24229
  cancelOverlayEdit() {
24125
24230
  // Restore original text
@@ -24127,8 +24232,8 @@ class ITextBehavior extends FabricText {
24127
24232
  this.exitEditing();
24128
24233
  }
24129
24234
 
24130
- /**
24131
- * called by {@link Canvas#textEditingManager}
24235
+ /**
24236
+ * called by {@link Canvas#textEditingManager}
24132
24237
  */
24133
24238
  updateSelectionOnMouseMove(e) {
24134
24239
  if (this.getActiveControl()) {
@@ -24156,8 +24261,8 @@ class ITextBehavior extends FabricText {
24156
24261
  }
24157
24262
  }
24158
24263
 
24159
- /**
24160
- * @private
24264
+ /**
24265
+ * @private
24161
24266
  */
24162
24267
  _setEditingProps() {
24163
24268
  this.hoverCursor = 'text';
@@ -24169,8 +24274,8 @@ class ITextBehavior extends FabricText {
24169
24274
  this.lockMovementX = this.lockMovementY = true;
24170
24275
  }
24171
24276
 
24172
- /**
24173
- * convert from textarea to grapheme indexes
24277
+ /**
24278
+ * convert from textarea to grapheme indexes
24174
24279
  */
24175
24280
  fromStringToGraphemeSelection(start, end, text) {
24176
24281
  const smallerTextStart = text.slice(0, start),
@@ -24189,8 +24294,8 @@ class ITextBehavior extends FabricText {
24189
24294
  };
24190
24295
  }
24191
24296
 
24192
- /**
24193
- * convert from fabric to textarea values
24297
+ /**
24298
+ * convert from fabric to textarea values
24194
24299
  */
24195
24300
  fromGraphemeToStringSelection(start, end, graphemes) {
24196
24301
  const smallerTextStart = graphemes.slice(0, start),
@@ -24209,8 +24314,8 @@ class ITextBehavior extends FabricText {
24209
24314
  };
24210
24315
  }
24211
24316
 
24212
- /**
24213
- * @private
24317
+ /**
24318
+ * @private
24214
24319
  */
24215
24320
  _updateTextarea() {
24216
24321
  console.log('🔤 _updateTextarea called with fabric text:', this.text);
@@ -24235,8 +24340,8 @@ class ITextBehavior extends FabricText {
24235
24340
  this.updateTextareaPosition();
24236
24341
  }
24237
24342
 
24238
- /**
24239
- * @private
24343
+ /**
24344
+ * @private
24240
24345
  */
24241
24346
  updateFromTextArea() {
24242
24347
  if (!this.hiddenTextarea) {
@@ -24256,8 +24361,8 @@ class ITextBehavior extends FabricText {
24256
24361
  this.updateTextareaPosition();
24257
24362
  }
24258
24363
 
24259
- /**
24260
- * @private
24364
+ /**
24365
+ * @private
24261
24366
  */
24262
24367
  updateTextareaPosition() {
24263
24368
  if (this.selectionStart === this.selectionEnd) {
@@ -24267,9 +24372,9 @@ class ITextBehavior extends FabricText {
24267
24372
  }
24268
24373
  }
24269
24374
 
24270
- /**
24271
- * @private
24272
- * @return {Object} style contains style for hiddenTextarea
24375
+ /**
24376
+ * @private
24377
+ * @return {Object} style contains style for hiddenTextarea
24273
24378
  */
24274
24379
  _calcTextareaPosition() {
24275
24380
  if (!this.canvas) {
@@ -24316,8 +24421,8 @@ class ITextBehavior extends FabricText {
24316
24421
  };
24317
24422
  }
24318
24423
 
24319
- /**
24320
- * @private
24424
+ /**
24425
+ * @private
24321
24426
  */
24322
24427
  _saveEditingProps() {
24323
24428
  this._savedProps = {
@@ -24334,8 +24439,8 @@ class ITextBehavior extends FabricText {
24334
24439
  };
24335
24440
  }
24336
24441
 
24337
- /**
24338
- * @private
24442
+ /**
24443
+ * @private
24339
24444
  */
24340
24445
  _restoreEditingProps() {
24341
24446
  if (!this._savedProps) {
@@ -24355,9 +24460,9 @@ class ITextBehavior extends FabricText {
24355
24460
  delete this._savedProps;
24356
24461
  }
24357
24462
 
24358
- /**
24359
- * runs the actual logic that exits from editing state, see {@link exitEditing}
24360
- * But it does not fire events
24463
+ /**
24464
+ * runs the actual logic that exits from editing state, see {@link exitEditing}
24465
+ * But it does not fire events
24361
24466
  */
24362
24467
  exitEditingImpl() {
24363
24468
  const hiddenTextarea = this.hiddenTextarea;
@@ -24378,8 +24483,8 @@ class ITextBehavior extends FabricText {
24378
24483
  }
24379
24484
  }
24380
24485
 
24381
- /**
24382
- * Exits from editing state and fires relevant events
24486
+ /**
24487
+ * Exits from editing state and fires relevant events
24383
24488
  */
24384
24489
  exitEditing() {
24385
24490
  const isTextChanged = this._textBeforeEdit !== this.text;
@@ -24398,8 +24503,8 @@ class ITextBehavior extends FabricText {
24398
24503
  return this;
24399
24504
  }
24400
24505
 
24401
- /**
24402
- * @private
24506
+ /**
24507
+ * @private
24403
24508
  */
24404
24509
  _removeExtraneousStyles() {
24405
24510
  for (const prop in this.styles) {
@@ -24409,10 +24514,10 @@ class ITextBehavior extends FabricText {
24409
24514
  }
24410
24515
  }
24411
24516
 
24412
- /**
24413
- * remove and reflow a style block from start to end.
24414
- * @param {Number} start linear start position for removal (included in removal)
24415
- * @param {Number} end linear end position for removal ( excluded from removal )
24517
+ /**
24518
+ * remove and reflow a style block from start to end.
24519
+ * @param {Number} start linear start position for removal (included in removal)
24520
+ * @param {Number} end linear end position for removal ( excluded from removal )
24416
24521
  */
24417
24522
  removeStyleFromTo(start, end) {
24418
24523
  const {
@@ -24465,10 +24570,10 @@ class ITextBehavior extends FabricText {
24465
24570
  }
24466
24571
  }
24467
24572
 
24468
- /**
24469
- * Shifts line styles up or down
24470
- * @param {Number} lineIndex Index of a line
24471
- * @param {Number} offset Can any number?
24573
+ /**
24574
+ * Shifts line styles up or down
24575
+ * @param {Number} lineIndex Index of a line
24576
+ * @param {Number} offset Can any number?
24472
24577
  */
24473
24578
  shiftLineStyles(lineIndex, offset) {
24474
24579
  const clonedStyles = Object.assign({}, this.styles);
@@ -24483,15 +24588,15 @@ class ITextBehavior extends FabricText {
24483
24588
  }
24484
24589
  }
24485
24590
 
24486
- /**
24487
- * Handle insertion of more consecutive style lines for when one or more
24488
- * newlines gets added to the text. Since current style needs to be shifted
24489
- * first we shift the current style of the number lines needed, then we add
24490
- * new lines from the last to the first.
24491
- * @param {Number} lineIndex Index of a line
24492
- * @param {Number} charIndex Index of a char
24493
- * @param {Number} qty number of lines to add
24494
- * @param {Array} copiedStyle Array of objects styles
24591
+ /**
24592
+ * Handle insertion of more consecutive style lines for when one or more
24593
+ * newlines gets added to the text. Since current style needs to be shifted
24594
+ * first we shift the current style of the number lines needed, then we add
24595
+ * new lines from the last to the first.
24596
+ * @param {Number} lineIndex Index of a line
24597
+ * @param {Number} charIndex Index of a char
24598
+ * @param {Number} qty number of lines to add
24599
+ * @param {Array} copiedStyle Array of objects styles
24495
24600
  */
24496
24601
  insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
24497
24602
  const newLineStyles = {};
@@ -24551,12 +24656,12 @@ class ITextBehavior extends FabricText {
24551
24656
  this._forceClearCache = true;
24552
24657
  }
24553
24658
 
24554
- /**
24555
- * Inserts style object for a given line/char index
24556
- * @param {Number} lineIndex Index of a line
24557
- * @param {Number} charIndex Index of a char
24558
- * @param {Number} quantity number Style object to insert, if given
24559
- * @param {Array} copiedStyle array of style objects
24659
+ /**
24660
+ * Inserts style object for a given line/char index
24661
+ * @param {Number} lineIndex Index of a line
24662
+ * @param {Number} charIndex Index of a char
24663
+ * @param {Number} quantity number Style object to insert, if given
24664
+ * @param {Array} copiedStyle array of style objects
24560
24665
  */
24561
24666
  insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
24562
24667
  if (!this.styles) {
@@ -24605,11 +24710,11 @@ class ITextBehavior extends FabricText {
24605
24710
  }
24606
24711
  }
24607
24712
 
24608
- /**
24609
- * Inserts style object(s)
24610
- * @param {Array} insertedText Characters at the location where style is inserted
24611
- * @param {Number} start cursor index for inserting style
24612
- * @param {Array} [copiedStyle] array of style objects to insert.
24713
+ /**
24714
+ * Inserts style object(s)
24715
+ * @param {Array} insertedText Characters at the location where style is inserted
24716
+ * @param {Number} start cursor index for inserting style
24717
+ * @param {Array} [copiedStyle] array of style objects to insert.
24613
24718
  */
24614
24719
  insertNewStyleBlock(insertedText, start, copiedStyle) {
24615
24720
  const cursorLoc = this.get2DCursorLocation(start, true),
@@ -24650,12 +24755,12 @@ class ITextBehavior extends FabricText {
24650
24755
  }
24651
24756
  }
24652
24757
 
24653
- /**
24654
- * Removes characters from start/end
24655
- * start/end ar per grapheme position in _text array.
24656
- *
24657
- * @param {Number} start
24658
- * @param {Number} end default to start + 1
24758
+ /**
24759
+ * Removes characters from start/end
24760
+ * start/end ar per grapheme position in _text array.
24761
+ *
24762
+ * @param {Number} start
24763
+ * @param {Number} end default to start + 1
24659
24764
  */
24660
24765
  removeChars(start) {
24661
24766
  let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
@@ -24668,17 +24773,17 @@ class ITextBehavior extends FabricText {
24668
24773
  this._removeExtraneousStyles();
24669
24774
  }
24670
24775
 
24671
- /**
24672
- * insert characters at start position, before start position.
24673
- * start equal 1 it means the text get inserted between actual grapheme 0 and 1
24674
- * if style array is provided, it must be as the same length of text in graphemes
24675
- * if end is provided and is bigger than start, old text is replaced.
24676
- * start/end ar per grapheme position in _text array.
24677
- *
24678
- * @param {String} text text to insert
24679
- * @param {Array} style array of style objects
24680
- * @param {Number} start
24681
- * @param {Number} end default to start + 1
24776
+ /**
24777
+ * insert characters at start position, before start position.
24778
+ * start equal 1 it means the text get inserted between actual grapheme 0 and 1
24779
+ * if style array is provided, it must be as the same length of text in graphemes
24780
+ * if end is provided and is bigger than start, old text is replaced.
24781
+ * start/end ar per grapheme position in _text array.
24782
+ *
24783
+ * @param {String} text text to insert
24784
+ * @param {Array} style array of style objects
24785
+ * @param {Number} start
24786
+ * @param {Number} end default to start + 1
24682
24787
  */
24683
24788
  insertChars(text, style, start) {
24684
24789
  let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
@@ -24695,9 +24800,9 @@ class ITextBehavior extends FabricText {
24695
24800
  this._removeExtraneousStyles();
24696
24801
  }
24697
24802
 
24698
- /**
24699
- * Set the selectionStart and selectionEnd according to the new position of cursor
24700
- * mimic the key - mouse navigation when shift is pressed.
24803
+ /**
24804
+ * Set the selectionStart and selectionEnd according to the new position of cursor
24805
+ * mimic the key - mouse navigation when shift is pressed.
24701
24806
  */
24702
24807
  setSelectionStartEndWithShift(start, end, newSelection) {
24703
24808
  if (newSelection <= start) {
@@ -24728,36 +24833,36 @@ class ITextBehavior extends FabricText {
24728
24833
  }
24729
24834
 
24730
24835
  class ITextKeyBehavior extends ITextBehavior {
24731
- /**
24732
- * For functionalities on keyDown
24733
- * Map a special key to a function of the instance/prototype
24734
- * If you need different behavior for ESC or TAB or arrows, you have to change
24735
- * this map setting the name of a function that you build on the IText or
24736
- * your prototype.
24737
- * the map change will affect all Instances unless you need for only some text Instances
24738
- * in that case you have to clone this object and assign your Instance.
24739
- * this.keysMap = Object.assign({}, this.keysMap);
24740
- * The function must be in IText.prototype.myFunction And will receive event as args[0]
24836
+ /**
24837
+ * For functionalities on keyDown
24838
+ * Map a special key to a function of the instance/prototype
24839
+ * If you need different behavior for ESC or TAB or arrows, you have to change
24840
+ * this map setting the name of a function that you build on the IText or
24841
+ * your prototype.
24842
+ * the map change will affect all Instances unless you need for only some text Instances
24843
+ * in that case you have to clone this object and assign your Instance.
24844
+ * this.keysMap = Object.assign({}, this.keysMap);
24845
+ * The function must be in IText.prototype.myFunction And will receive event as args[0]
24741
24846
  */
24742
24847
 
24743
- /**
24744
- * For functionalities on keyUp + ctrl || cmd
24848
+ /**
24849
+ * For functionalities on keyUp + ctrl || cmd
24745
24850
  */
24746
24851
 
24747
- /**
24748
- * For functionalities on keyDown + ctrl || cmd
24852
+ /**
24853
+ * For functionalities on keyDown + ctrl || cmd
24749
24854
  */
24750
24855
 
24751
- /**
24752
- * DOM container to append the hiddenTextarea.
24753
- * An alternative to attaching to the document.body.
24754
- * Useful to reduce laggish redraw of the full document.body tree and
24755
- * also with modals event capturing that won't let the textarea take focus.
24756
- * @type HTMLElement
24856
+ /**
24857
+ * DOM container to append the hiddenTextarea.
24858
+ * An alternative to attaching to the document.body.
24859
+ * Useful to reduce laggish redraw of the full document.body tree and
24860
+ * also with modals event capturing that won't let the textarea take focus.
24861
+ * @type HTMLElement
24757
24862
  */
24758
24863
 
24759
- /**
24760
- * Initializes hidden textarea (needed to bring up keyboard in iOS)
24864
+ /**
24865
+ * Initializes hidden textarea (needed to bring up keyboard in iOS)
24761
24866
  */
24762
24867
  initHiddenTextarea() {
24763
24868
  const doc = this.canvas && getDocumentFromElement(this.canvas.getElement()) || getFabricDocument();
@@ -24800,17 +24905,17 @@ class ITextKeyBehavior extends ITextBehavior {
24800
24905
  this.hiddenTextarea = textarea;
24801
24906
  }
24802
24907
 
24803
- /**
24804
- * Override this method to customize cursor behavior on textbox blur
24908
+ /**
24909
+ * Override this method to customize cursor behavior on textbox blur
24805
24910
  */
24806
24911
  blur() {
24807
24912
  this.abortCursorAnimation();
24808
24913
  }
24809
24914
 
24810
- /**
24811
- * Handles keydown event
24812
- * only used for arrows and combination of modifier keys.
24813
- * @param {KeyboardEvent} e Event object
24915
+ /**
24916
+ * Handles keydown event
24917
+ * only used for arrows and combination of modifier keys.
24918
+ * @param {KeyboardEvent} e Event object
24814
24919
  */
24815
24920
  onKeyDown(e) {
24816
24921
  if (!this.isEditing) {
@@ -24836,11 +24941,11 @@ class ITextKeyBehavior extends ITextBehavior {
24836
24941
  }
24837
24942
  }
24838
24943
 
24839
- /**
24840
- * Handles keyup event
24841
- * We handle KeyUp because ie11 and edge have difficulties copy/pasting
24842
- * if a copy/cut event fired, keyup is dismissed
24843
- * @param {KeyboardEvent} e Event object
24944
+ /**
24945
+ * Handles keyup event
24946
+ * We handle KeyUp because ie11 and edge have difficulties copy/pasting
24947
+ * if a copy/cut event fired, keyup is dismissed
24948
+ * @param {KeyboardEvent} e Event object
24844
24949
  */
24845
24950
  onKeyUp(e) {
24846
24951
  if (!this.isEditing || this._copyDone || this.inCompositionMode) {
@@ -24857,9 +24962,9 @@ class ITextKeyBehavior extends ITextBehavior {
24857
24962
  this.canvas && this.canvas.requestRenderAll();
24858
24963
  }
24859
24964
 
24860
- /**
24861
- * Handles onInput event
24862
- * @param {Event} e Event object
24965
+ /**
24966
+ * Handles onInput event
24967
+ * @param {Event} e Event object
24863
24968
  */
24864
24969
  onInput(e) {
24865
24970
  const fromPaste = this.fromPaste;
@@ -24996,15 +25101,15 @@ class ITextKeyBehavior extends ITextBehavior {
24996
25101
  updateAndFire();
24997
25102
  }
24998
25103
 
24999
- /**
25000
- * Composition start
25104
+ /**
25105
+ * Composition start
25001
25106
  */
25002
25107
  onCompositionStart() {
25003
25108
  this.inCompositionMode = true;
25004
25109
  }
25005
25110
 
25006
- /**
25007
- * Composition end
25111
+ /**
25112
+ * Composition end
25008
25113
  */
25009
25114
  onCompositionEnd() {
25010
25115
  this.inCompositionMode = false;
@@ -25022,8 +25127,8 @@ class ITextKeyBehavior extends ITextBehavior {
25022
25127
  this.updateTextareaPosition();
25023
25128
  }
25024
25129
 
25025
- /**
25026
- * Copies selected text
25130
+ /**
25131
+ * Copies selected text
25027
25132
  */
25028
25133
  copy() {
25029
25134
  if (this.selectionStart === this.selectionEnd) {
@@ -25042,19 +25147,19 @@ class ITextKeyBehavior extends ITextBehavior {
25042
25147
  this._copyDone = true;
25043
25148
  }
25044
25149
 
25045
- /**
25046
- * Pastes text
25150
+ /**
25151
+ * Pastes text
25047
25152
  */
25048
25153
  paste() {
25049
25154
  this.fromPaste = true;
25050
25155
  }
25051
25156
 
25052
- /**
25053
- * Finds the width in pixels before the cursor on the same line
25054
- * @private
25055
- * @param {Number} lineIndex
25056
- * @param {Number} charIndex
25057
- * @return {Number} widthBeforeCursor width before cursor
25157
+ /**
25158
+ * Finds the width in pixels before the cursor on the same line
25159
+ * @private
25160
+ * @param {Number} lineIndex
25161
+ * @param {Number} charIndex
25162
+ * @return {Number} widthBeforeCursor width before cursor
25058
25163
  */
25059
25164
  _getWidthBeforeCursor(lineIndex, charIndex) {
25060
25165
  let widthBeforeCursor = this._getLineLeftOffset(lineIndex),
@@ -25066,11 +25171,11 @@ class ITextKeyBehavior extends ITextBehavior {
25066
25171
  return widthBeforeCursor;
25067
25172
  }
25068
25173
 
25069
- /**
25070
- * Gets start offset of a selection
25071
- * @param {KeyboardEvent} e Event object
25072
- * @param {Boolean} isRight
25073
- * @return {Number}
25174
+ /**
25175
+ * Gets start offset of a selection
25176
+ * @param {KeyboardEvent} e Event object
25177
+ * @param {Boolean} isRight
25178
+ * @return {Number}
25074
25179
  */
25075
25180
  getDownCursorOffset(e, isRight) {
25076
25181
  const selectionProp = this._getSelectionForOffset(e, isRight),
@@ -25088,12 +25193,12 @@ class ITextKeyBehavior extends ITextBehavior {
25088
25193
  return textAfterCursor.length + indexOnOtherLine + 1 + this.missingNewlineOffset(lineIndex);
25089
25194
  }
25090
25195
 
25091
- /**
25092
- * private
25093
- * Helps finding if the offset should be counted from Start or End
25094
- * @param {KeyboardEvent} e Event object
25095
- * @param {Boolean} isRight
25096
- * @return {Number}
25196
+ /**
25197
+ * private
25198
+ * Helps finding if the offset should be counted from Start or End
25199
+ * @param {KeyboardEvent} e Event object
25200
+ * @param {Boolean} isRight
25201
+ * @return {Number}
25097
25202
  */
25098
25203
  _getSelectionForOffset(e, isRight) {
25099
25204
  if (e.shiftKey && this.selectionStart !== this.selectionEnd && isRight) {
@@ -25103,10 +25208,10 @@ class ITextKeyBehavior extends ITextBehavior {
25103
25208
  }
25104
25209
  }
25105
25210
 
25106
- /**
25107
- * @param {KeyboardEvent} e Event object
25108
- * @param {Boolean} isRight
25109
- * @return {Number}
25211
+ /**
25212
+ * @param {KeyboardEvent} e Event object
25213
+ * @param {Boolean} isRight
25214
+ * @return {Number}
25110
25215
  */
25111
25216
  getUpCursorOffset(e, isRight) {
25112
25217
  const selectionProp = this._getSelectionForOffset(e, isRight),
@@ -25125,9 +25230,9 @@ class ITextKeyBehavior extends ITextBehavior {
25125
25230
  return -this._textLines[lineIndex - 1].length + indexOnOtherLine - textBeforeCursor.length + (1 - missingNewlineOffset);
25126
25231
  }
25127
25232
 
25128
- /**
25129
- * for a given width it founds the matching character.
25130
- * @private
25233
+ /**
25234
+ * for a given width it founds the matching character.
25235
+ * @private
25131
25236
  */
25132
25237
  _getIndexOnLine(lineIndex, width) {
25133
25238
  const line = this._textLines[lineIndex],
@@ -25157,9 +25262,9 @@ class ITextKeyBehavior extends ITextBehavior {
25157
25262
  return indexOnLine;
25158
25263
  }
25159
25264
 
25160
- /**
25161
- * Moves cursor down
25162
- * @param {KeyboardEvent} e Event object
25265
+ /**
25266
+ * Moves cursor down
25267
+ * @param {KeyboardEvent} e Event object
25163
25268
  */
25164
25269
  moveCursorDown(e) {
25165
25270
  if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
@@ -25168,9 +25273,9 @@ class ITextKeyBehavior extends ITextBehavior {
25168
25273
  this._moveCursorUpOrDown('Down', e);
25169
25274
  }
25170
25275
 
25171
- /**
25172
- * Moves cursor up
25173
- * @param {KeyboardEvent} e Event object
25276
+ /**
25277
+ * Moves cursor up
25278
+ * @param {KeyboardEvent} e Event object
25174
25279
  */
25175
25280
  moveCursorUp(e) {
25176
25281
  if (this.selectionStart === 0 && this.selectionEnd === 0) {
@@ -25179,10 +25284,10 @@ class ITextKeyBehavior extends ITextBehavior {
25179
25284
  this._moveCursorUpOrDown('Up', e);
25180
25285
  }
25181
25286
 
25182
- /**
25183
- * Moves cursor up or down, fires the events
25184
- * @param {String} direction 'Up' or 'Down'
25185
- * @param {KeyboardEvent} e Event object
25287
+ /**
25288
+ * Moves cursor up or down, fires the events
25289
+ * @param {String} direction 'Up' or 'Down'
25290
+ * @param {KeyboardEvent} e Event object
25186
25291
  */
25187
25292
  _moveCursorUpOrDown(direction, e) {
25188
25293
  const offset = this[`get${direction}CursorOffset`](e, this._selectionDirection === RIGHT);
@@ -25204,9 +25309,9 @@ class ITextKeyBehavior extends ITextBehavior {
25204
25309
  }
25205
25310
  }
25206
25311
 
25207
- /**
25208
- * Moves cursor with shift
25209
- * @param {Number} offset
25312
+ /**
25313
+ * Moves cursor with shift
25314
+ * @param {Number} offset
25210
25315
  */
25211
25316
  moveCursorWithShift(offset) {
25212
25317
  const newSelection = this._selectionDirection === LEFT ? this.selectionStart + offset : this.selectionEnd + offset;
@@ -25214,9 +25319,9 @@ class ITextKeyBehavior extends ITextBehavior {
25214
25319
  return offset !== 0;
25215
25320
  }
25216
25321
 
25217
- /**
25218
- * Moves cursor up without shift
25219
- * @param {Number} offset
25322
+ /**
25323
+ * Moves cursor up without shift
25324
+ * @param {Number} offset
25220
25325
  */
25221
25326
  moveCursorWithoutShift(offset) {
25222
25327
  if (offset < 0) {
@@ -25229,9 +25334,9 @@ class ITextKeyBehavior extends ITextBehavior {
25229
25334
  return offset !== 0;
25230
25335
  }
25231
25336
 
25232
- /**
25233
- * Moves cursor left
25234
- * @param {KeyboardEvent} e Event object
25337
+ /**
25338
+ * Moves cursor left
25339
+ * @param {KeyboardEvent} e Event object
25235
25340
  */
25236
25341
  moveCursorLeft(e) {
25237
25342
  if (this.selectionStart === 0 && this.selectionEnd === 0) {
@@ -25240,11 +25345,11 @@ class ITextKeyBehavior extends ITextBehavior {
25240
25345
  this._moveCursorLeftOrRight('Left', e);
25241
25346
  }
25242
25347
 
25243
- /**
25244
- * @private
25245
- * @return {Boolean} true if a change happened
25246
- *
25247
- * @todo refactor not to use method name composition
25348
+ /**
25349
+ * @private
25350
+ * @return {Boolean} true if a change happened
25351
+ *
25352
+ * @todo refactor not to use method name composition
25248
25353
  */
25249
25354
  _move(e, prop, direction) {
25250
25355
  let newValue;
@@ -25263,23 +25368,23 @@ class ITextKeyBehavior extends ITextBehavior {
25263
25368
  return false;
25264
25369
  }
25265
25370
 
25266
- /**
25267
- * @private
25371
+ /**
25372
+ * @private
25268
25373
  */
25269
25374
  _moveLeft(e, prop) {
25270
25375
  return this._move(e, prop, 'Left');
25271
25376
  }
25272
25377
 
25273
- /**
25274
- * @private
25378
+ /**
25379
+ * @private
25275
25380
  */
25276
25381
  _moveRight(e, prop) {
25277
25382
  return this._move(e, prop, 'Right');
25278
25383
  }
25279
25384
 
25280
- /**
25281
- * Moves cursor left without keeping selection
25282
- * @param {KeyboardEvent} e
25385
+ /**
25386
+ * Moves cursor left without keeping selection
25387
+ * @param {KeyboardEvent} e
25283
25388
  */
25284
25389
  moveCursorLeftWithoutShift(e) {
25285
25390
  let change = true;
@@ -25294,9 +25399,9 @@ class ITextKeyBehavior extends ITextBehavior {
25294
25399
  return change;
25295
25400
  }
25296
25401
 
25297
- /**
25298
- * Moves cursor left while keeping selection
25299
- * @param {KeyboardEvent} e
25402
+ /**
25403
+ * Moves cursor left while keeping selection
25404
+ * @param {KeyboardEvent} e
25300
25405
  */
25301
25406
  moveCursorLeftWithShift(e) {
25302
25407
  if (this._selectionDirection === RIGHT && this.selectionStart !== this.selectionEnd) {
@@ -25307,9 +25412,9 @@ class ITextKeyBehavior extends ITextBehavior {
25307
25412
  }
25308
25413
  }
25309
25414
 
25310
- /**
25311
- * Moves cursor right
25312
- * @param {KeyboardEvent} e Event object
25415
+ /**
25416
+ * Moves cursor right
25417
+ * @param {KeyboardEvent} e Event object
25313
25418
  */
25314
25419
  moveCursorRight(e) {
25315
25420
  if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
@@ -25318,10 +25423,10 @@ class ITextKeyBehavior extends ITextBehavior {
25318
25423
  this._moveCursorLeftOrRight('Right', e);
25319
25424
  }
25320
25425
 
25321
- /**
25322
- * Moves cursor right or Left, fires event
25323
- * @param {String} direction 'Left', 'Right'
25324
- * @param {KeyboardEvent} e Event object
25426
+ /**
25427
+ * Moves cursor right or Left, fires event
25428
+ * @param {String} direction 'Left', 'Right'
25429
+ * @param {KeyboardEvent} e Event object
25325
25430
  */
25326
25431
  _moveCursorLeftOrRight(direction, e) {
25327
25432
  const actionName = `moveCursor${direction}${e.shiftKey ? 'WithShift' : 'WithoutShift'}`;
@@ -25336,9 +25441,9 @@ class ITextKeyBehavior extends ITextBehavior {
25336
25441
  }
25337
25442
  }
25338
25443
 
25339
- /**
25340
- * Moves cursor right while keeping selection
25341
- * @param {KeyboardEvent} e
25444
+ /**
25445
+ * Moves cursor right while keeping selection
25446
+ * @param {KeyboardEvent} e
25342
25447
  */
25343
25448
  moveCursorRightWithShift(e) {
25344
25449
  if (this._selectionDirection === LEFT && this.selectionStart !== this.selectionEnd) {
@@ -25349,9 +25454,9 @@ class ITextKeyBehavior extends ITextBehavior {
25349
25454
  }
25350
25455
  }
25351
25456
 
25352
- /**
25353
- * Moves cursor right without keeping selection
25354
- * @param {KeyboardEvent} e Event object
25457
+ /**
25458
+ * Moves cursor right without keeping selection
25459
+ * @param {KeyboardEvent} e Event object
25355
25460
  */
25356
25461
  moveCursorRightWithoutShift(e) {
25357
25462
  let changed = true;
@@ -25366,8 +25471,8 @@ class ITextKeyBehavior extends ITextBehavior {
25366
25471
  }
25367
25472
  }
25368
25473
 
25369
- /**
25370
- * `LEFT_CLICK === 0`
25474
+ /**
25475
+ * `LEFT_CLICK === 0`
25371
25476
  */
25372
25477
  const notALeftClick = e => !!e.button;
25373
25478
  class ITextClickBehavior extends ITextKeyBehavior {
@@ -25385,36 +25490,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
25385
25490
  super.initBehavior();
25386
25491
  }
25387
25492
 
25388
- /**
25389
- * If this method returns true a mouse move operation over a text selection
25390
- * will not prevent the native mouse event allowing the browser to start a drag operation.
25391
- * shouldStartDragging can be read 'do not prevent default for mouse move event'
25392
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25393
- * @returns
25493
+ /**
25494
+ * If this method returns true a mouse move operation over a text selection
25495
+ * will not prevent the native mouse event allowing the browser to start a drag operation.
25496
+ * shouldStartDragging can be read 'do not prevent default for mouse move event'
25497
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25498
+ * @returns
25394
25499
  */
25395
25500
  shouldStartDragging() {
25396
25501
  return this.draggableTextDelegate.isActive();
25397
25502
  }
25398
25503
 
25399
- /**
25400
- * @public override this method to control whether instance should/shouldn't become a drag source,
25401
- * @see also {@link DraggableTextDelegate#isActive}
25402
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25403
- * @returns {boolean} should handle event
25504
+ /**
25505
+ * @public override this method to control whether instance should/shouldn't become a drag source,
25506
+ * @see also {@link DraggableTextDelegate#isActive}
25507
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25508
+ * @returns {boolean} should handle event
25404
25509
  */
25405
25510
  onDragStart(e) {
25406
25511
  return this.draggableTextDelegate.onDragStart(e);
25407
25512
  }
25408
25513
 
25409
- /**
25410
- * @public override this method to control whether instance should/shouldn't become a drop target
25514
+ /**
25515
+ * @public override this method to control whether instance should/shouldn't become a drop target
25411
25516
  */
25412
25517
  canDrop(e) {
25413
25518
  return this.draggableTextDelegate.canDrop(e);
25414
25519
  }
25415
25520
 
25416
- /**
25417
- * Default handler for double click, select a word or enter overlay editing
25521
+ /**
25522
+ * Default handler for double click, select a word or enter overlay editing
25418
25523
  */
25419
25524
  doubleClickHandler(options) {
25420
25525
  // Check if we should enter overlay editing mode
@@ -25431,8 +25536,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
25431
25536
  this.renderCursorOrSelection();
25432
25537
  }
25433
25538
 
25434
- /**
25435
- * Default handler for triple click, select a line
25539
+ /**
25540
+ * Default handler for triple click, select a line
25436
25541
  */
25437
25542
  tripleClickHandler(options) {
25438
25543
  if (!this.isEditing) {
@@ -25442,13 +25547,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
25442
25547
  this.renderCursorOrSelection();
25443
25548
  }
25444
25549
 
25445
- /**
25446
- * Default event handler for the basic functionalities needed on _mouseDown
25447
- * can be overridden to do something different.
25448
- * Scope of this implementation is: find the click position, set selectionStart
25449
- * find selectionEnd, initialize the drawing of either cursor or selection area
25450
- * initializing a mousedDown on a text area will cancel fabricjs knowledge of
25451
- * current compositionMode. It will be set to false.
25550
+ /**
25551
+ * Default event handler for the basic functionalities needed on _mouseDown
25552
+ * can be overridden to do something different.
25553
+ * Scope of this implementation is: find the click position, set selectionStart
25554
+ * find selectionEnd, initialize the drawing of either cursor or selection area
25555
+ * initializing a mousedDown on a text area will cancel fabricjs knowledge of
25556
+ * current compositionMode. It will be set to false.
25452
25557
  */
25453
25558
  _mouseDownHandler(_ref) {
25454
25559
  let {
@@ -25476,9 +25581,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
25476
25581
  this.selected || (this.selected = alreadySelected || this.isEditing);
25477
25582
  }
25478
25583
 
25479
- /**
25480
- * standard handler for mouse up, overridable
25481
- * @private
25584
+ /**
25585
+ * standard handler for mouse up, overridable
25586
+ * @private
25482
25587
  */
25483
25588
  mouseUpHandler(_ref2) {
25484
25589
  let {
@@ -25509,9 +25614,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
25509
25614
  }
25510
25615
  }
25511
25616
 
25512
- /**
25513
- * Changes cursor location in a text depending on passed pointer (x/y) object
25514
- * @param {TPointerEvent} e Event object
25617
+ /**
25618
+ * Changes cursor location in a text depending on passed pointer (x/y) object
25619
+ * @param {TPointerEvent} e Event object
25515
25620
  */
25516
25621
  setCursorByClick(e) {
25517
25622
  const newSelection = this.getSelectionStartFromPointer(e),
@@ -25529,10 +25634,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
25529
25634
  }
25530
25635
  }
25531
25636
 
25532
- /**
25533
- * Returns index of a character corresponding to where an object was clicked
25534
- * @param {TPointerEvent} e Event object
25535
- * @return {Number} Index of a character
25637
+ /**
25638
+ * Returns index of a character corresponding to where an object was clicked
25639
+ * @param {TPointerEvent} e Event object
25640
+ * @return {Number} Index of a character
25536
25641
  */
25537
25642
  getSelectionStartFromPointer(e) {
25538
25643
  const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
@@ -25578,15 +25683,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
25578
25683
  }
25579
25684
  }
25580
25685
 
25581
- /**
25582
- * Hit Testing and Cursor Positioning System
25583
- *
25584
- * Maps pointer coordinates to text positions and provides cursor rectangles
25585
- * for interactive text editing with grapheme-aware boundaries.
25686
+ /**
25687
+ * Hit Testing and Cursor Positioning System
25688
+ *
25689
+ * Maps pointer coordinates to text positions and provides cursor rectangles
25690
+ * for interactive text editing with grapheme-aware boundaries.
25586
25691
  */
25587
25692
 
25588
- /**
25589
- * Hit test a point against laid out text to find insertion position
25693
+ /**
25694
+ * Hit test a point against laid out text to find insertion position
25590
25695
  */
25591
25696
  function hitTest(x, y, layout, options) {
25592
25697
  if (layout.lines.length === 0) {
@@ -25630,8 +25735,8 @@ function hitTest(x, y, layout, options) {
25630
25735
  };
25631
25736
  }
25632
25737
 
25633
- /**
25634
- * Get cursor rectangle for a given insertion index
25738
+ /**
25739
+ * Get cursor rectangle for a given insertion index
25635
25740
  */
25636
25741
  function getCursorRect(insertionIndex, layout, options) {
25637
25742
  if (layout.lines.length === 0) {
@@ -25678,8 +25783,8 @@ function getCursorRect(insertionIndex, layout, options) {
25678
25783
 
25679
25784
  // Private helper functions
25680
25785
 
25681
- /**
25682
- * Find which line contains the given Y coordinate
25786
+ /**
25787
+ * Find which line contains the given Y coordinate
25683
25788
  */
25684
25789
  function findLineAtY(y, lines) {
25685
25790
  var _lines;
@@ -25702,8 +25807,8 @@ function findLineAtY(y, lines) {
25702
25807
  };
25703
25808
  }
25704
25809
 
25705
- /**
25706
- * Find character position within a line at given X coordinate
25810
+ /**
25811
+ * Find character position within a line at given X coordinate
25707
25812
  */
25708
25813
  function findCharAtX(x, line, options) {
25709
25814
  if (line.bounds.length === 0) {
@@ -25809,8 +25914,8 @@ function findCharAtX(x, line, options) {
25809
25914
  };
25810
25915
  }
25811
25916
 
25812
- /**
25813
- * Calculate total insertion index from line and character indices
25917
+ /**
25918
+ * Calculate total insertion index from line and character indices
25814
25919
  */
25815
25920
  function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
25816
25921
  let insertionIndex = 0;
@@ -25829,8 +25934,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
25829
25934
  return insertionIndex;
25830
25935
  }
25831
25936
 
25832
- /**
25833
- * Find line and grapheme position from insertion index
25937
+ /**
25938
+ * Find line and grapheme position from insertion index
25834
25939
  */
25835
25940
  function findPositionFromIndex(insertionIndex, layout) {
25836
25941
  let currentIndex = 0;
@@ -25872,8 +25977,8 @@ function findPositionFromIndex(insertionIndex, layout) {
25872
25977
  };
25873
25978
  }
25874
25979
 
25875
- /**
25876
- * Calculate Y position of a line
25980
+ /**
25981
+ * Calculate Y position of a line
25877
25982
  */
25878
25983
  function calculateLineY(lineIndex, layout, options) {
25879
25984
  let y = 0;
@@ -25976,48 +26081,48 @@ const iTextDefaultValues = {
25976
26081
 
25977
26082
  // @TODO this is not complete
25978
26083
 
25979
- /**
25980
- * @fires changed
25981
- * @fires selection:changed
25982
- * @fires editing:entered
25983
- * @fires editing:exited
25984
- * @fires dragstart
25985
- * @fires drag drag event firing on the drag source
25986
- * @fires dragend
25987
- * @fires copy
25988
- * @fires cut
25989
- * @fires paste
25990
- *
25991
- * #### Supported key combinations
25992
- * ```
25993
- * Move cursor: left, right, up, down
25994
- * Select character: shift + left, shift + right
25995
- * Select text vertically: shift + up, shift + down
25996
- * Move cursor by word: alt + left, alt + right
25997
- * Select words: shift + alt + left, shift + alt + right
25998
- * Move cursor to line start/end: cmd + left, cmd + right or home, end
25999
- * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
26000
- * Jump to start/end of text: cmd + up, cmd + down
26001
- * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
26002
- * Delete character: backspace
26003
- * Delete word: alt + backspace
26004
- * Delete line: cmd + backspace
26005
- * Forward delete: delete
26006
- * Copy text: ctrl/cmd + c
26007
- * Paste text: ctrl/cmd + v
26008
- * Cut text: ctrl/cmd + x
26009
- * Select entire text: ctrl/cmd + a
26010
- * Quit editing tab or esc
26011
- * ```
26012
- *
26013
- * #### Supported mouse/touch combination
26014
- * ```
26015
- * Position cursor: click/touch
26016
- * Create selection: click/touch & drag
26017
- * Create selection: click & shift + click
26018
- * Select word: double click
26019
- * Select line: triple click
26020
- * ```
26084
+ /**
26085
+ * @fires changed
26086
+ * @fires selection:changed
26087
+ * @fires editing:entered
26088
+ * @fires editing:exited
26089
+ * @fires dragstart
26090
+ * @fires drag drag event firing on the drag source
26091
+ * @fires dragend
26092
+ * @fires copy
26093
+ * @fires cut
26094
+ * @fires paste
26095
+ *
26096
+ * #### Supported key combinations
26097
+ * ```
26098
+ * Move cursor: left, right, up, down
26099
+ * Select character: shift + left, shift + right
26100
+ * Select text vertically: shift + up, shift + down
26101
+ * Move cursor by word: alt + left, alt + right
26102
+ * Select words: shift + alt + left, shift + alt + right
26103
+ * Move cursor to line start/end: cmd + left, cmd + right or home, end
26104
+ * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
26105
+ * Jump to start/end of text: cmd + up, cmd + down
26106
+ * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
26107
+ * Delete character: backspace
26108
+ * Delete word: alt + backspace
26109
+ * Delete line: cmd + backspace
26110
+ * Forward delete: delete
26111
+ * Copy text: ctrl/cmd + c
26112
+ * Paste text: ctrl/cmd + v
26113
+ * Cut text: ctrl/cmd + x
26114
+ * Select entire text: ctrl/cmd + a
26115
+ * Quit editing tab or esc
26116
+ * ```
26117
+ *
26118
+ * #### Supported mouse/touch combination
26119
+ * ```
26120
+ * Position cursor: click/touch
26121
+ * Create selection: click/touch & drag
26122
+ * Create selection: click & shift + click
26123
+ * Select word: double click
26124
+ * Select line: triple click
26125
+ * ```
26021
26126
  */
26022
26127
  class IText extends ITextClickBehavior {
26023
26128
  static getDefaults() {
@@ -26032,10 +26137,10 @@ class IText extends ITextClickBehavior {
26032
26137
  return type === 'itext' ? 'i-text' : type;
26033
26138
  }
26034
26139
 
26035
- /**
26036
- * Constructor
26037
- * @param {String} text Text string
26038
- * @param {Object} [options] Options object
26140
+ /**
26141
+ * Constructor
26142
+ * @param {String} text Text string
26143
+ * @param {Object} [options] Options object
26039
26144
  */
26040
26145
  constructor(text, options) {
26041
26146
  super(text, {
@@ -26045,11 +26150,11 @@ class IText extends ITextClickBehavior {
26045
26150
  this.initBehavior();
26046
26151
  }
26047
26152
 
26048
- /**
26049
- * While editing handle differently
26050
- * @private
26051
- * @param {string} key
26052
- * @param {*} value
26153
+ /**
26154
+ * While editing handle differently
26155
+ * @private
26156
+ * @param {string} key
26157
+ * @param {*} value
26053
26158
  */
26054
26159
  _set(key, value) {
26055
26160
  if (this.isEditing && this._savedProps && key in this._savedProps) {
@@ -26064,28 +26169,28 @@ class IText extends ITextClickBehavior {
26064
26169
  return super._set(key, value);
26065
26170
  }
26066
26171
 
26067
- /**
26068
- * Sets selection start (left boundary of a selection)
26069
- * @param {Number} index Index to set selection start to
26172
+ /**
26173
+ * Sets selection start (left boundary of a selection)
26174
+ * @param {Number} index Index to set selection start to
26070
26175
  */
26071
26176
  setSelectionStart(index) {
26072
26177
  index = Math.max(index, 0);
26073
26178
  this._updateAndFire('selectionStart', index);
26074
26179
  }
26075
26180
 
26076
- /**
26077
- * Sets selection end (right boundary of a selection)
26078
- * @param {Number} index Index to set selection end to
26181
+ /**
26182
+ * Sets selection end (right boundary of a selection)
26183
+ * @param {Number} index Index to set selection end to
26079
26184
  */
26080
26185
  setSelectionEnd(index) {
26081
26186
  index = Math.min(index, this.text.length);
26082
26187
  this._updateAndFire('selectionEnd', index);
26083
26188
  }
26084
26189
 
26085
- /**
26086
- * @private
26087
- * @param {String} property 'selectionStart' or 'selectionEnd'
26088
- * @param {Number} index new position of property
26190
+ /**
26191
+ * @private
26192
+ * @param {String} property 'selectionStart' or 'selectionEnd'
26193
+ * @param {Number} index new position of property
26089
26194
  */
26090
26195
  _updateAndFire(property, index) {
26091
26196
  if (this[property] !== index) {
@@ -26095,9 +26200,9 @@ class IText extends ITextClickBehavior {
26095
26200
  this._updateTextarea();
26096
26201
  }
26097
26202
 
26098
- /**
26099
- * Fires the even of selection changed
26100
- * @private
26203
+ /**
26204
+ * Fires the even of selection changed
26205
+ * @private
26101
26206
  */
26102
26207
  _fireSelectionChanged() {
26103
26208
  this.fire('selection:changed');
@@ -26106,25 +26211,25 @@ class IText extends ITextClickBehavior {
26106
26211
  });
26107
26212
  }
26108
26213
 
26109
- /**
26110
- * Initialize text dimensions. Render all text on given context
26111
- * or on a offscreen canvas to get the text width with measureText.
26112
- * Updates this.width and this.height with the proper values.
26113
- * Does not return dimensions.
26114
- * @private
26214
+ /**
26215
+ * Initialize text dimensions. Render all text on given context
26216
+ * or on a offscreen canvas to get the text width with measureText.
26217
+ * Updates this.width and this.height with the proper values.
26218
+ * Does not return dimensions.
26219
+ * @private
26115
26220
  */
26116
26221
  initDimensions() {
26117
26222
  this.isEditing && this.initDelayedCursor();
26118
26223
  super.initDimensions();
26119
26224
  }
26120
26225
 
26121
- /**
26122
- * Gets style of a current selection/cursor (at the start position)
26123
- * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
26124
- * @param {Number} startIndex Start index to get styles at
26125
- * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
26126
- * @param {Boolean} [complete] get full style or not
26127
- * @return {Array} styles an array with one, zero or more Style objects
26226
+ /**
26227
+ * Gets style of a current selection/cursor (at the start position)
26228
+ * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
26229
+ * @param {Number} startIndex Start index to get styles at
26230
+ * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
26231
+ * @param {Boolean} [complete] get full style or not
26232
+ * @return {Array} styles an array with one, zero or more Style objects
26128
26233
  */
26129
26234
  getSelectionStyles() {
26130
26235
  let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
@@ -26133,11 +26238,11 @@ class IText extends ITextClickBehavior {
26133
26238
  return super.getSelectionStyles(startIndex, endIndex, complete);
26134
26239
  }
26135
26240
 
26136
- /**
26137
- * Sets style of a current selection, if no selection exist, do not set anything.
26138
- * @param {Object} [styles] Styles object
26139
- * @param {Number} [startIndex] Start index to get styles at
26140
- * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
26241
+ /**
26242
+ * Sets style of a current selection, if no selection exist, do not set anything.
26243
+ * @param {Object} [styles] Styles object
26244
+ * @param {Number} [startIndex] Start index to get styles at
26245
+ * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
26141
26246
  */
26142
26247
  setSelectionStyles(styles) {
26143
26248
  let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
@@ -26145,10 +26250,10 @@ class IText extends ITextClickBehavior {
26145
26250
  return super.setSelectionStyles(styles, startIndex, endIndex);
26146
26251
  }
26147
26252
 
26148
- /**
26149
- * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
26150
- * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
26151
- * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
26253
+ /**
26254
+ * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
26255
+ * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
26256
+ * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
26152
26257
  */
26153
26258
  get2DCursorLocation() {
26154
26259
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -26156,9 +26261,9 @@ class IText extends ITextClickBehavior {
26156
26261
  return super.get2DCursorLocation(selectionStart, skipWrapping);
26157
26262
  }
26158
26263
 
26159
- /**
26160
- * @private
26161
- * @param {CanvasRenderingContext2D} ctx Context to render on
26264
+ /**
26265
+ * @private
26266
+ * @param {CanvasRenderingContext2D} ctx Context to render on
26162
26267
  */
26163
26268
  render(ctx) {
26164
26269
  super.render(ctx);
@@ -26168,9 +26273,9 @@ class IText extends ITextClickBehavior {
26168
26273
  this.renderCursorOrSelection();
26169
26274
  }
26170
26275
 
26171
- /**
26172
- * @override block cursor/selection logic while rendering the exported canvas
26173
- * @todo this workaround should be replaced with a more robust solution
26276
+ /**
26277
+ * @override block cursor/selection logic while rendering the exported canvas
26278
+ * @todo this workaround should be replaced with a more robust solution
26174
26279
  */
26175
26280
  toCanvasElement(options) {
26176
26281
  const isEditing = this.isEditing;
@@ -26180,9 +26285,9 @@ class IText extends ITextClickBehavior {
26180
26285
  return canvas;
26181
26286
  }
26182
26287
 
26183
- /**
26184
- * Renders cursor or selection (depending on what exists)
26185
- * it does on the contextTop. If contextTop is not available, do nothing.
26288
+ /**
26289
+ * Renders cursor or selection (depending on what exists)
26290
+ * it does on the contextTop. If contextTop is not available, do nothing.
26186
26291
  */
26187
26292
  renderCursorOrSelection() {
26188
26293
  if (!this.isEditing || !this.canvas) {
@@ -26238,12 +26343,12 @@ class IText extends ITextClickBehavior {
26238
26343
  ctx.restore();
26239
26344
  }
26240
26345
 
26241
- /**
26242
- * Finds and returns an array of clip paths that are applied to the parent
26243
- * group(s) of the current FabricObject instance. The object's hierarchy is
26244
- * traversed upwards (from the current object towards the root of the canvas),
26245
- * checking each parent object for the presence of a `clipPath` that is not
26246
- * absolutely positioned.
26346
+ /**
26347
+ * Finds and returns an array of clip paths that are applied to the parent
26348
+ * group(s) of the current FabricObject instance. The object's hierarchy is
26349
+ * traversed upwards (from the current object towards the root of the canvas),
26350
+ * checking each parent object for the presence of a `clipPath` that is not
26351
+ * absolutely positioned.
26247
26352
  */
26248
26353
  findAncestorsWithClipPath() {
26249
26354
  const clipPathAncestors = [];
@@ -26258,13 +26363,13 @@ class IText extends ITextClickBehavior {
26258
26363
  return clipPathAncestors;
26259
26364
  }
26260
26365
 
26261
- /**
26262
- * Returns cursor boundaries (left, top, leftOffset, topOffset)
26263
- * left/top are left/top of entire text box
26264
- * leftOffset/topOffset are offset from that left/top point of a text box
26265
- * @private
26266
- * @param {number} [index] index from start
26267
- * @param {boolean} [skipCaching]
26366
+ /**
26367
+ * Returns cursor boundaries (left, top, leftOffset, topOffset)
26368
+ * left/top are left/top of entire text box
26369
+ * leftOffset/topOffset are offset from that left/top point of a text box
26370
+ * @private
26371
+ * @param {number} [index] index from start
26372
+ * @param {boolean} [skipCaching]
26268
26373
  */
26269
26374
  _getCursorBoundaries() {
26270
26375
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -26278,11 +26383,11 @@ class IText extends ITextClickBehavior {
26278
26383
  return this._getCursorBoundariesOriginal(index, skipCaching);
26279
26384
  }
26280
26385
 
26281
- /**
26282
- * Caches and returns cursor left/top offset relative to instance's center point
26283
- * @private
26284
- * @param {number} index index from start
26285
- * @param {boolean} [skipCaching]
26386
+ /**
26387
+ * Caches and returns cursor left/top offset relative to instance's center point
26388
+ * @private
26389
+ * @param {number} index index from start
26390
+ * @param {boolean} [skipCaching]
26286
26391
  */
26287
26392
  _getCursorBoundariesOffsets(index, skipCaching) {
26288
26393
  if (skipCaching) {
@@ -26294,9 +26399,9 @@ class IText extends ITextClickBehavior {
26294
26399
  return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
26295
26400
  }
26296
26401
 
26297
- /**
26298
- * Enhanced cursor boundaries using advanced hit testing when available
26299
- * @private
26402
+ /**
26403
+ * Enhanced cursor boundaries using advanced hit testing when available
26404
+ * @private
26300
26405
  */
26301
26406
  _getCursorBoundariesAdvanced(index) {
26302
26407
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -26312,9 +26417,9 @@ class IText extends ITextClickBehavior {
26312
26417
  };
26313
26418
  }
26314
26419
 
26315
- /**
26316
- * Enhanced selection start from pointer using BiDi-aware hit testing
26317
- * @override
26420
+ /**
26421
+ * Enhanced selection start from pointer using BiDi-aware hit testing
26422
+ * @override
26318
26423
  */
26319
26424
  getSelectionStartFromPointer(e) {
26320
26425
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -26328,9 +26433,9 @@ class IText extends ITextClickBehavior {
26328
26433
  return Math.min(hitResult.charIndex, this._text.length);
26329
26434
  }
26330
26435
 
26331
- /**
26332
- * Original cursor boundaries implementation
26333
- * @private
26436
+ /**
26437
+ * Original cursor boundaries implementation
26438
+ * @private
26334
26439
  */
26335
26440
  _getCursorBoundariesOriginal(index, skipCaching) {
26336
26441
  const left = this._getLeftOffset(),
@@ -26344,10 +26449,10 @@ class IText extends ITextClickBehavior {
26344
26449
  };
26345
26450
  }
26346
26451
 
26347
- /**
26348
- * Calculates cursor left/top offset relative to instance's center point
26349
- * @private
26350
- * @param {number} index index from start
26452
+ /**
26453
+ * Calculates cursor left/top offset relative to instance's center point
26454
+ * @private
26455
+ * @param {number} index index from start
26351
26456
  */
26352
26457
  __getCursorBoundariesOffsets(index) {
26353
26458
  let topOffset = 0,
@@ -26381,29 +26486,29 @@ class IText extends ITextClickBehavior {
26381
26486
  return boundaries;
26382
26487
  }
26383
26488
 
26384
- /**
26385
- * Renders cursor on context Top, outside the animation cycle, on request
26386
- * Used for the drag/drop effect.
26387
- * If contextTop is not available, do nothing.
26489
+ /**
26490
+ * Renders cursor on context Top, outside the animation cycle, on request
26491
+ * Used for the drag/drop effect.
26492
+ * If contextTop is not available, do nothing.
26388
26493
  */
26389
26494
  renderCursorAt(selectionStart) {
26390
26495
  this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
26391
26496
  }
26392
26497
 
26393
- /**
26394
- * Renders cursor
26395
- * @param {Object} boundaries
26396
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26498
+ /**
26499
+ * Renders cursor
26500
+ * @param {Object} boundaries
26501
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26397
26502
  */
26398
26503
  renderCursor(ctx, boundaries) {
26399
26504
  this._renderCursor(ctx, boundaries, this.selectionStart);
26400
26505
  }
26401
26506
 
26402
- /**
26403
- * Return the data needed to render the cursor for given selection start
26404
- * The left,top are relative to the object, while width and height are prescaled
26405
- * to look think with canvas zoom and object scaling,
26406
- * so they depend on canvas and object scaling
26507
+ /**
26508
+ * Return the data needed to render the cursor for given selection start
26509
+ * The left,top are relative to the object, while width and height are prescaled
26510
+ * to look think with canvas zoom and object scaling,
26511
+ * so they depend on canvas and object scaling
26407
26512
  */
26408
26513
  getCursorRenderingData() {
26409
26514
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -26426,9 +26531,9 @@ class IText extends ITextClickBehavior {
26426
26531
  };
26427
26532
  }
26428
26533
 
26429
- /**
26430
- * Render the cursor at the given selectionStart.
26431
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26534
+ /**
26535
+ * Render the cursor at the given selectionStart.
26536
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26432
26537
  */
26433
26538
  _renderCursor(ctx, boundaries, selectionStart) {
26434
26539
  const {
@@ -26444,10 +26549,10 @@ class IText extends ITextClickBehavior {
26444
26549
  ctx.fillRect(left, top, width, height);
26445
26550
  }
26446
26551
 
26447
- /**
26448
- * Renders text selection
26449
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26450
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26552
+ /**
26553
+ * Renders text selection
26554
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26555
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26451
26556
  */
26452
26557
  renderSelection(ctx, boundaries) {
26453
26558
  const selection = {
@@ -26457,8 +26562,8 @@ class IText extends ITextClickBehavior {
26457
26562
  this._renderSelection(ctx, selection, boundaries);
26458
26563
  }
26459
26564
 
26460
- /**
26461
- * Renders drag start text selection
26565
+ /**
26566
+ * Renders drag start text selection
26462
26567
  */
26463
26568
  renderDragSourceEffect() {
26464
26569
  const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
@@ -26469,12 +26574,12 @@ class IText extends ITextClickBehavior {
26469
26574
  this.renderCursorAt(dragSelection);
26470
26575
  }
26471
26576
 
26472
- /**
26473
- * Renders text selection
26474
- * @private
26475
- * @param {{ selectionStart: number, selectionEnd: number }} selection
26476
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26477
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26577
+ /**
26578
+ * Renders text selection
26579
+ * @private
26580
+ * @param {{ selectionStart: number, selectionEnd: number }} selection
26581
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26582
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26478
26583
  */
26479
26584
  _renderSelection(ctx, selection, boundaries) {
26480
26585
  const selectionStart = selection.selectionStart,
@@ -26536,34 +26641,34 @@ class IText extends ITextClickBehavior {
26536
26641
  }
26537
26642
  }
26538
26643
 
26539
- /**
26540
- * High level function to know the height of the cursor.
26541
- * the currentChar is the one that precedes the cursor
26542
- * Returns fontSize of char at the current cursor
26543
- * Unused from the library, is for the end user
26544
- * @return {Number} Character font size
26644
+ /**
26645
+ * High level function to know the height of the cursor.
26646
+ * the currentChar is the one that precedes the cursor
26647
+ * Returns fontSize of char at the current cursor
26648
+ * Unused from the library, is for the end user
26649
+ * @return {Number} Character font size
26545
26650
  */
26546
26651
  getCurrentCharFontSize() {
26547
26652
  const cp = this._getCurrentCharIndex();
26548
26653
  return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
26549
26654
  }
26550
26655
 
26551
- /**
26552
- * High level function to know the color of the cursor.
26553
- * the currentChar is the one that precedes the cursor
26554
- * Returns color (fill) of char at the current cursor
26555
- * if the text object has a pattern or gradient for filler, it will return that.
26556
- * Unused by the library, is for the end user
26557
- * @return {String | TFiller} Character color (fill)
26656
+ /**
26657
+ * High level function to know the color of the cursor.
26658
+ * the currentChar is the one that precedes the cursor
26659
+ * Returns color (fill) of char at the current cursor
26660
+ * if the text object has a pattern or gradient for filler, it will return that.
26661
+ * Unused by the library, is for the end user
26662
+ * @return {String | TFiller} Character color (fill)
26558
26663
  */
26559
26664
  getCurrentCharColor() {
26560
26665
  const cp = this._getCurrentCharIndex();
26561
26666
  return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
26562
26667
  }
26563
26668
 
26564
- /**
26565
- * Returns the cursor position for the getCurrent.. functions
26566
- * @private
26669
+ /**
26670
+ * Returns the cursor position for the getCurrent.. functions
26671
+ * @private
26567
26672
  */
26568
26673
  _getCurrentCharIndex() {
26569
26674
  const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
@@ -26579,52 +26684,52 @@ class IText extends ITextClickBehavior {
26579
26684
  super.dispose();
26580
26685
  }
26581
26686
  }
26582
- /**
26583
- * Index where text selection starts (or where cursor is when there is no selection)
26584
- * @type Number
26687
+ /**
26688
+ * Index where text selection starts (or where cursor is when there is no selection)
26689
+ * @type Number
26585
26690
  */
26586
- /**
26587
- * Index where text selection ends
26588
- * @type Number
26691
+ /**
26692
+ * Index where text selection ends
26693
+ * @type Number
26589
26694
  */
26590
- /**
26591
- * Color of text selection
26592
- * @type String
26695
+ /**
26696
+ * Color of text selection
26697
+ * @type String
26593
26698
  */
26594
- /**
26595
- * Indicates whether text is in editing mode
26596
- * @type Boolean
26699
+ /**
26700
+ * Indicates whether text is in editing mode
26701
+ * @type Boolean
26597
26702
  */
26598
- /**
26599
- * Indicates whether a text can be edited
26600
- * @type Boolean
26703
+ /**
26704
+ * Indicates whether a text can be edited
26705
+ * @type Boolean
26601
26706
  */
26602
- /**
26603
- * Border color of text object while it's in editing mode
26604
- * @type String
26707
+ /**
26708
+ * Border color of text object while it's in editing mode
26709
+ * @type String
26605
26710
  */
26606
- /**
26607
- * Width of cursor (in px)
26608
- * @type Number
26711
+ /**
26712
+ * Width of cursor (in px)
26713
+ * @type Number
26609
26714
  */
26610
- /**
26611
- * Color of text cursor color in editing mode.
26612
- * if not set (default) will take color from the text.
26613
- * if set to a color value that fabric can understand, it will
26614
- * be used instead of the color of the text at the current position.
26615
- * @type String
26715
+ /**
26716
+ * Color of text cursor color in editing mode.
26717
+ * if not set (default) will take color from the text.
26718
+ * if set to a color value that fabric can understand, it will
26719
+ * be used instead of the color of the text at the current position.
26720
+ * @type String
26616
26721
  */
26617
- /**
26618
- * Delay between cursor blink (in ms)
26619
- * @type Number
26722
+ /**
26723
+ * Delay between cursor blink (in ms)
26724
+ * @type Number
26620
26725
  */
26621
- /**
26622
- * Duration of cursor fade in (in ms)
26623
- * @type Number
26726
+ /**
26727
+ * Duration of cursor fade in (in ms)
26728
+ * @type Number
26624
26729
  */
26625
- /**
26626
- * Indicates whether internal text char widths can be cached
26627
- * @type Boolean
26730
+ /**
26731
+ * Indicates whether internal text char widths can be cached
26732
+ * @type Boolean
26628
26733
  */
26629
26734
  _defineProperty(IText, "ownDefaults", iTextDefaultValues);
26630
26735
  _defineProperty(IText, "type", 'IText');
@@ -26765,15 +26870,8 @@ class Textbox extends IText {
26765
26870
  return;
26766
26871
  }
26767
26872
 
26768
- // Don't apply justify alignment during drag operations to prevent snapping
26769
- const now = Date.now();
26770
- const lastDragTime = this._lastInitDimensionsTime || 0;
26771
- const isDuringDrag = now - lastDragTime < 200; // 200ms window for drag detection
26772
-
26773
- if (isDuringDrag) {
26774
- console.log('🔤 Skipping justify during drag operation to prevent snapping');
26775
- return;
26776
- }
26873
+ // Note: Removed drag detection logic that was causing issues
26874
+ // Justify alignment will now apply immediately when needed
26777
26875
 
26778
26876
  // For non-browser-wrapping fonts, use Fabric's justify system
26779
26877
  // once text is measured we need to make space fatter to make justified text.
@@ -26833,7 +26931,9 @@ class Textbox extends IText {
26833
26931
  }
26834
26932
 
26835
26933
  // Double-check that justify was applied by checking space widths
26836
- if (this.textAlign.includes('justify') && this.__charBounds) {
26934
+ // Skip validation during rapid width changes to prevent interference
26935
+ console.log('🔍 JUSTIFY CHECK:', this.textAlign.includes('justify'), !!this.__charBounds, !this._skipJustifyValidation);
26936
+ if (this.textAlign.includes('justify') && this.__charBounds && !this._skipJustifyValidation) {
26837
26937
  setTimeout(() => {
26838
26938
  // Verify justify was applied by checking if space widths vary
26839
26939
  let hasVariableSpaces = false;
@@ -27346,7 +27446,8 @@ class Textbox extends IText {
27346
27446
  */
27347
27447
  _splitTextIntoLines(text) {
27348
27448
  // Check if we need browser wrapping using smart font detection
27349
- const needsBrowserWrapping = this.fontFamily && fontLacksEnglishGlyphsCached(this.fontFamily);
27449
+ // Skip browser wrapping for justify text when using overlay editing to prevent measurement conflicts
27450
+ const needsBrowserWrapping = this.fontFamily && fontLacksEnglishGlyphsCached(this.fontFamily) && !(this.textAlign.includes('justify') && this.useOverlayEditing);
27350
27451
  if (needsBrowserWrapping) {
27351
27452
  // Cache key based on text content, width, font properties, AND text alignment
27352
27453
  const textHash = text.length + text.slice(0, 50); // Include text content in cache key
@@ -27371,6 +27472,11 @@ class Textbox extends IText {
27371
27472
 
27372
27473
  // Mark that we used browser wrapping to prevent dynamicMinWidth modifications
27373
27474
  this._usingBrowserWrapping = true;
27475
+
27476
+ // pass the width to enlargeSpaces
27477
+ if (result.width) {
27478
+ this._browserWrappingWidth = result.width;
27479
+ }
27374
27480
  return result;
27375
27481
  }
27376
27482
 
@@ -27399,26 +27505,47 @@ class Textbox extends IText {
27399
27505
  return this._splitTextIntoLinesDefault(text);
27400
27506
  }
27401
27507
 
27508
+ // Skip measurement if we just extracted lines from overlay for justify text
27509
+ if (this._skipJustifyMeasurement && this.textAlign.includes('justify')) {
27510
+ console.log('🚫 SKIP: Skipping browser measurement, using stored overlay lines');
27511
+ this._skipJustifyMeasurement = false; // Reset flag
27512
+ return this._splitTextIntoLinesDefault(text);
27513
+ }
27514
+
27402
27515
  // Create a hidden element that mimics the overlay editor
27403
27516
  const testElement = document.createElement('div');
27404
27517
  testElement.style.position = 'absolute';
27405
27518
  testElement.style.left = '-9999px';
27406
27519
  testElement.style.visibility = 'hidden';
27407
- testElement.style.fontSize = `${this.fontSize}px`;
27520
+ const scaleX = this.scaleX || 1;
27521
+ const fontSize = this.fontSize * scaleX;
27522
+ const padding = this.padding || 0;
27523
+ testElement.style.fontSize = `${fontSize}px`;
27408
27524
  testElement.style.fontFamily = `"${this.fontFamily}"`;
27409
27525
  testElement.style.fontWeight = String(this.fontWeight || 'normal');
27410
27526
  testElement.style.fontStyle = String(this.fontStyle || 'normal');
27411
27527
  testElement.style.lineHeight = String(this.lineHeight || 1.16);
27412
- testElement.style.width = `${this.width}px`;
27528
+ testElement.style.letterSpacing = `${(this.charSpacing || 0) / 1000 * fontSize}px`;
27413
27529
  testElement.style.direction = this.direction || 'ltr';
27414
27530
  testElement.style.whiteSpace = 'pre-wrap';
27415
27531
  testElement.style.wordBreak = 'normal';
27416
27532
  testElement.style.overflowWrap = 'break-word';
27417
-
27418
- // Set browser-native text alignment (including justify)
27533
+ testElement.style.padding = `${padding}px`;
27534
+ testElement.style.boxSizing = 'border-box';
27535
+ testElement.style.width = `${this.width * scaleX + padding * 2}px`;
27419
27536
  if (this.textAlign.includes('justify')) {
27420
27537
  testElement.style.textAlign = 'justify';
27421
- testElement.style.textAlignLast = 'auto'; // Let browser decide last line alignment
27538
+ if (this.direction === 'rtl') {
27539
+ testElement.style.textAlignLast = 'right';
27540
+ } else {
27541
+ testElement.style.textAlignLast = 'left';
27542
+ }
27543
+ testElement.style.textJustify = 'inter-word';
27544
+ testElement.style.unicodeBidi = 'plaintext';
27545
+ testElement.style.wordSpacing = 'normal';
27546
+ // Match font smoothing from overlay editor
27547
+ testElement.style.webkitFontSmoothing = 'auto';
27548
+ testElement.style.mozOsxFontSmoothing = 'auto';
27422
27549
  } else {
27423
27550
  testElement.style.textAlign = this.textAlign;
27424
27551
  }
@@ -27443,7 +27570,7 @@ class Textbox extends IText {
27443
27570
  if (i > currentLineStart && (rect.bottom > previousBottom + 5 || i === textLength)) {
27444
27571
  // New line detected or end of text
27445
27572
  const lineEnd = i === textLength ? i : i - 1;
27446
- const lineText = text.substring(currentLineStart, lineEnd).trim();
27573
+ const lineText = text.substring(currentLineStart, lineEnd);
27447
27574
  if (lineText) {
27448
27575
  lines.push(lineText);
27449
27576
  // Convert to graphemes for compatibility
@@ -27466,6 +27593,7 @@ class Textbox extends IText {
27466
27593
  const offsetHeight = testElement.offsetHeight;
27467
27594
  const clientHeight = testElement.clientHeight;
27468
27595
  const boundingRect = testElement.getBoundingClientRect();
27596
+ const clientWidth = testElement.clientWidth;
27469
27597
  console.log(`🔤 Browser element measurements:`);
27470
27598
  console.log(` scrollHeight: ${actualBrowserHeight}px (content + padding + hidden overflow)`);
27471
27599
  console.log(` offsetHeight: ${offsetHeight}px (content + padding + border)`);
@@ -27513,7 +27641,8 @@ class Textbox extends IText {
27513
27641
  graphemeText: text.split(''),
27514
27642
  graphemeLines: graphemeLines,
27515
27643
  justifySpaceMeasurements: justifySpaceMeasurements,
27516
- actualBrowserHeight: adjustedHeight
27644
+ actualBrowserHeight: adjustedHeight,
27645
+ width: clientWidth
27517
27646
  };
27518
27647
  }
27519
27648
 
@@ -27565,6 +27694,14 @@ class Textbox extends IText {
27565
27694
  return;
27566
27695
  }
27567
27696
 
27697
+ // Check for overlay justify measurements first
27698
+ const overlayMeasurements = this._overlayJustifyMeasurements;
27699
+ if (overlayMeasurements) {
27700
+ console.log('🎯 OVERLAY JUSTIFY: Using stored overlay measurements');
27701
+ this._applyOverlayJustifySpaces(overlayMeasurements);
27702
+ return;
27703
+ }
27704
+
27568
27705
  // Get space measurements from browser wrapping result
27569
27706
  const styleMap = this._styleMap;
27570
27707
  if (!styleMap || !styleMap.justifySpaceMeasurements) {
@@ -27630,6 +27767,111 @@ class Textbox extends IText {
27630
27767
  });
27631
27768
  }
27632
27769
 
27770
+ /**
27771
+ * Apply overlay justify measurements to character bounds
27772
+ * @private
27773
+ */
27774
+ _applyOverlayJustifySpaces(overlayMeasurements) {
27775
+ this._textLines.forEach((line, lineIndex) => {
27776
+ if (!this.__charBounds || !this.__charBounds[lineIndex]) return;
27777
+ const lineMeasurement = overlayMeasurements[lineIndex];
27778
+ if (!lineMeasurement) return;
27779
+ const {
27780
+ justifiedSpaceWidth
27781
+ } = lineMeasurement;
27782
+ let spaceIndex = 0;
27783
+ line.forEach((char, charIndex) => {
27784
+ if (char === ' ' && this.__charBounds[lineIndex][charIndex]) {
27785
+ const oldWidth = this.__charBounds[lineIndex][charIndex].width;
27786
+ this.__charBounds[lineIndex][charIndex].width = justifiedSpaceWidth;
27787
+ console.log(`🎯 OVERLAY Line ${lineIndex} space ${spaceIndex}: ${oldWidth.toFixed(1)}px -> ${justifiedSpaceWidth.toFixed(1)}px`);
27788
+ spaceIndex++;
27789
+ }
27790
+ });
27791
+ });
27792
+ }
27793
+
27794
+ /**
27795
+ * Extract justify measurements from overlay textarea and store them
27796
+ */
27797
+ extractJustifyMeasurementsFromOverlay(textarea) {
27798
+ const text = textarea.value;
27799
+ if (!text || !this.textAlign.includes('justify')) {
27800
+ return;
27801
+ }
27802
+
27803
+ // Use the same measurement technique as measureLinesWithBrowser
27804
+ const testElement = document.createElement('div');
27805
+ testElement.style.position = 'absolute';
27806
+ testElement.style.left = '-9999px';
27807
+ testElement.style.visibility = 'hidden';
27808
+
27809
+ // Copy all styles from the textarea to ensure identical rendering
27810
+ const computedStyle = window.getComputedStyle(textarea);
27811
+ const stylesToCopy = ['fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'lineHeight', 'letterSpacing', 'direction', 'textAlign', 'textAlignLast', 'textJustify', 'width', 'padding', 'boxSizing', 'whiteSpace', 'wordBreak', 'overflowWrap'];
27812
+ stylesToCopy.forEach(prop => {
27813
+ testElement.style[prop] = computedStyle[prop];
27814
+ });
27815
+ testElement.textContent = text;
27816
+ document.body.appendChild(testElement);
27817
+ try {
27818
+ // Extract justify space measurements using the same logic
27819
+ const lines = text.split('\n');
27820
+ const justifyMeasurements = {};
27821
+ lines.forEach((line, lineIndex) => {
27822
+ if (line.trim()) {
27823
+ const spaces = (line.match(/\s/g) || []).length;
27824
+ if (spaces > 0) {
27825
+ // Measure natural space width
27826
+ const singleSpaceDiv = document.createElement('div');
27827
+ stylesToCopy.forEach(prop => {
27828
+ singleSpaceDiv.style[prop] = computedStyle[prop];
27829
+ });
27830
+ singleSpaceDiv.textContent = ' ';
27831
+ document.body.appendChild(singleSpaceDiv);
27832
+ const naturalSpaceWidth = singleSpaceDiv.getBoundingClientRect().width;
27833
+ document.body.removeChild(singleSpaceDiv);
27834
+
27835
+ // Measure justified line width
27836
+ const lineDiv = document.createElement('div');
27837
+ stylesToCopy.forEach(prop => {
27838
+ lineDiv.style[prop] = computedStyle[prop];
27839
+ });
27840
+ lineDiv.textContent = line;
27841
+ document.body.appendChild(lineDiv);
27842
+ const lineWidth = lineDiv.getBoundingClientRect().width;
27843
+ const containerWidth = parseFloat(computedStyle.width);
27844
+
27845
+ // Calculate justified space width
27846
+ const nonSpaceText = line.replace(/\s/g, '');
27847
+ const nonSpaceDiv = document.createElement('div');
27848
+ stylesToCopy.forEach(prop => {
27849
+ nonSpaceDiv.style[prop] = computedStyle[prop];
27850
+ });
27851
+ nonSpaceDiv.textContent = nonSpaceText;
27852
+ document.body.appendChild(nonSpaceDiv);
27853
+ const nonSpaceWidth = nonSpaceDiv.getBoundingClientRect().width;
27854
+ const justifiedSpaceWidth = (containerWidth - nonSpaceWidth) / spaces;
27855
+ console.log(`🎯 OVERLAY Line ${lineIndex}: ${spaces} spaces, natural: ${naturalSpaceWidth.toFixed(1)}px -> justified: ${justifiedSpaceWidth.toFixed(1)}px`);
27856
+ justifyMeasurements[lineIndex] = {
27857
+ naturalSpaceWidth,
27858
+ justifiedSpaceWidth,
27859
+ spaceCount: spaces
27860
+ };
27861
+ document.body.removeChild(lineDiv);
27862
+ document.body.removeChild(nonSpaceDiv);
27863
+ }
27864
+ }
27865
+ });
27866
+
27867
+ // Store the measurements
27868
+ this._overlayJustifyMeasurements = justifyMeasurements;
27869
+ console.log('💾 STORED: Overlay justify measurements', justifyMeasurements);
27870
+ } finally {
27871
+ document.body.removeChild(testElement);
27872
+ }
27873
+ }
27874
+
27633
27875
  /**
27634
27876
  * Fallback to default Fabric wrapping
27635
27877
  * @private
@@ -27694,6 +27936,7 @@ class Textbox extends IText {
27694
27936
  // Use 'modified' event which fires after user releases the mouse
27695
27937
  this.on('modified', () => {
27696
27938
  const currentResizeOrigin = resizeOrigin; // Capture the value before reset
27939
+ this.initDimensions();
27697
27940
  // Small delay to ensure text layout is updated
27698
27941
  setTimeout(() => this.safetySnapWidth(currentResizeOrigin), 10);
27699
27942
  resizeOrigin = null; // Reset after capturing
@@ -27753,7 +27996,7 @@ class Textbox extends IText {
27753
27996
  const originalTop = this.top;
27754
27997
  const widthIncrease = newWidth - this.width;
27755
27998
 
27756
- // Change width
27999
+ // Change width
27757
28000
  this.set('width', newWidth);
27758
28001
 
27759
28002
  // Force text layout recalculation
@@ -27765,8 +28008,8 @@ class Textbox extends IText {
27765
28008
  // When resizing from left, the expansion pushes text right
27766
28009
  // Compensate by moving the textbox left by the width increase
27767
28010
  this.set({
27768
- 'left': originalLeft - widthIncrease,
27769
- 'top': originalTop
28011
+ left: originalLeft - widthIncrease,
28012
+ top: originalTop
27770
28013
  });
27771
28014
  }
27772
28015
  this.setCoords();
@@ -27862,6 +28105,35 @@ class Textbox extends IText {
27862
28105
  }
27863
28106
  }
27864
28107
 
28108
+ /**
28109
+ * Fix justify text after JSON loading - call this after fromObject
28110
+ * @public
28111
+ */
28112
+ fixJustifyAfterJSONLoad() {
28113
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
28114
+ console.log('🔧 JSON FIX: Fixing justify text after JSON load');
28115
+ // The issue is that enlargeSpaces() isn't properly updating after JSON load
28116
+ // Workaround: temporarily change width to trigger proper rebuild, then restore
28117
+ setTimeout(() => {
28118
+ const originalWidth = this.width;
28119
+ console.log('🔄 JSON TRICK: Temporarily changing width to force justify rebuild');
28120
+
28121
+ // Temporarily change width by 1px to trigger proper justify recalculation
28122
+ this.width = originalWidth + 1;
28123
+ this.initDimensions();
28124
+
28125
+ // Restore original width - this will trigger the proper justify calculation
28126
+ setTimeout(() => {
28127
+ var _this$canvas8;
28128
+ this.width = originalWidth;
28129
+ this.initDimensions();
28130
+ (_this$canvas8 = this.canvas) === null || _this$canvas8 === void 0 || _this$canvas8.requestRenderAll();
28131
+ console.log('✅ JSON FIX: Restored original width, justify should be fixed');
28132
+ }, 50);
28133
+ }, 100);
28134
+ }
28135
+ }
28136
+
27865
28137
  /**
27866
28138
  * Returns object representation of an instance
27867
28139
  * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
@@ -27869,7 +28141,60 @@ class Textbox extends IText {
27869
28141
  */
27870
28142
  toObject() {
27871
28143
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
27872
- return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
28144
+ const obj = super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
28145
+
28146
+ // For justify text with overlay editing, ensure measurements are available
28147
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
28148
+ var _charBounds, _charBounds2;
28149
+ // If character bounds don't exist yet, initialize dimensions to calculate them
28150
+ if (!((_charBounds = this.__charBounds) !== null && _charBounds !== void 0 && _charBounds.length)) {
28151
+ console.log('🔧 SERIALIZE: Character bounds missing, initializing dimensions for justify text');
28152
+ this.initDimensions();
28153
+ }
28154
+
28155
+ // Now save the measurements if they exist
28156
+ if ((_charBounds2 = this.__charBounds) !== null && _charBounds2 !== void 0 && _charBounds2.length) {
28157
+ console.log('💾 SERIALIZE: Saving justify measurements to JSON');
28158
+ obj._justifyMeasurements = {
28159
+ __charBounds: this.__charBounds,
28160
+ __lineHeights: this.__lineHeights,
28161
+ __lineWidths: this.__lineWidths,
28162
+ _hasJustifyData: true
28163
+ };
28164
+ } else {
28165
+ console.warn('⚠️ SERIALIZE: Could not generate character bounds for justify text');
28166
+ }
28167
+ }
28168
+ return obj;
28169
+ }
28170
+
28171
+ /**
28172
+ * Override _set to handle justify measurements during JSON loading
28173
+ * @private
28174
+ */
28175
+ _set(key, value) {
28176
+ const result = super._set(key, value);
28177
+
28178
+ // Restore justify measurements if they exist in the JSON data
28179
+ if (key === '_justifyMeasurements' && value && value._hasJustifyData) {
28180
+ console.log('🔄 DESERIALIZE: Restoring justify measurements from JSON');
28181
+ this.__charBounds = value.__charBounds;
28182
+ this.__lineHeights = value.__lineHeights;
28183
+ this.__lineWidths = value.__lineWidths;
28184
+
28185
+ // Mark that we have restored data so we don't interfere with it
28186
+ this._hasRestoredJustifyData = true;
28187
+
28188
+ // Automatically trigger the fix after JSON loading
28189
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
28190
+ console.log('🔄 AUTO-FIX: Calling fixJustifyAfterJSONLoad after restoring justify measurements');
28191
+ // Use setTimeout to ensure this runs after all object initialization is complete
28192
+ setTimeout(() => {
28193
+ this.fixJustifyAfterJSONLoad();
28194
+ }, 10);
28195
+ }
28196
+ }
28197
+ return result;
27873
28198
  }
27874
28199
  }
27875
28200
  /**