@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
package/dist/index.mjs CHANGED
@@ -354,7 +354,7 @@ class Cache {
354
354
  }
355
355
  const cache = new Cache();
356
356
 
357
- var version = "7.0.1-beta12";
357
+ var version = "7.0.1-beta14";
358
358
 
359
359
  // use this syntax so babel plugin see this import here
360
360
  const VERSION = version;
@@ -19183,8 +19183,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
19183
19183
  // Global measurement context - reused for performance
19184
19184
  let measurementContext = null;
19185
19185
 
19186
- /**
19187
- * Get or create the shared measurement context
19186
+ /**
19187
+ * Get or create the shared measurement context
19188
19188
  */
19189
19189
  function getMeasurementContext() {
19190
19190
  if (!measurementContext) {
@@ -19197,8 +19197,8 @@ function getMeasurementContext() {
19197
19197
  return measurementContext;
19198
19198
  }
19199
19199
 
19200
- /**
19201
- * Measure a single grapheme
19200
+ /**
19201
+ * Measure a single grapheme
19202
19202
  */
19203
19203
  function measureGrapheme(grapheme, options, ctx) {
19204
19204
  // Check cache first
@@ -19231,8 +19231,8 @@ function measureGrapheme(grapheme, options, ctx) {
19231
19231
  return measurement;
19232
19232
  }
19233
19233
 
19234
- /**
19235
- * Measure a grapheme with kerning relative to previous character
19234
+ /**
19235
+ * Measure a grapheme with kerning relative to previous character
19236
19236
  */
19237
19237
  function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
19238
19238
  // Get individual measurement
@@ -19273,9 +19273,9 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
19273
19273
  };
19274
19274
  }
19275
19275
 
19276
- /**
19277
- * Get a representative character for font metrics measurement
19278
- * Uses canvas to test which scripts the font actually supports
19276
+ /**
19277
+ * Get a representative character for font metrics measurement
19278
+ * Uses canvas to test which scripts the font actually supports
19279
19279
  */
19280
19280
  function getRepresentativeCharacter(fontFamily) {
19281
19281
  const context = getMeasurementContext();
@@ -19364,8 +19364,8 @@ function getRepresentativeCharacter(fontFamily) {
19364
19364
  return 'M';
19365
19365
  }
19366
19366
 
19367
- /**
19368
- * Get font metrics for layout calculations
19367
+ /**
19368
+ * Get font metrics for layout calculations
19369
19369
  */
19370
19370
  function getFontMetrics(options) {
19371
19371
  var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
@@ -19401,8 +19401,8 @@ function getFontMetrics(options) {
19401
19401
  return result;
19402
19402
  }
19403
19403
 
19404
- /**
19405
- * Apply font styling to canvas context
19404
+ /**
19405
+ * Apply font styling to canvas context
19406
19406
  */
19407
19407
  function applyFontStyle(ctx, options) {
19408
19408
  const fontDeclaration = getFontDeclaration(options);
@@ -19419,8 +19419,8 @@ function applyFontStyle(ctx, options) {
19419
19419
  ctx.textBaseline = 'alphabetic';
19420
19420
  }
19421
19421
 
19422
- /**
19423
- * Generate font declaration string
19422
+ /**
19423
+ * Generate font declaration string
19424
19424
  */
19425
19425
  function getFontDeclaration(options) {
19426
19426
  const {
@@ -19439,8 +19439,8 @@ function getFontDeclaration(options) {
19439
19439
  return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
19440
19440
  }
19441
19441
 
19442
- /**
19443
- * LRU Cache implementation for measurements
19442
+ /**
19443
+ * LRU Cache implementation for measurements
19444
19444
  */
19445
19445
  class LRUCache {
19446
19446
  constructor() {
@@ -19502,8 +19502,8 @@ class LRUCache {
19502
19502
  }
19503
19503
  }
19504
19504
 
19505
- /**
19506
- * Advanced measurement cache with font-aware keys
19505
+ /**
19506
+ * Advanced measurement cache with font-aware keys
19507
19507
  */
19508
19508
  class MeasurementCache {
19509
19509
  constructor() {
@@ -19530,8 +19530,8 @@ class MeasurementCache {
19530
19530
  }
19531
19531
  }
19532
19532
 
19533
- /**
19534
- * Kerning cache for character pairs
19533
+ /**
19534
+ * Kerning cache for character pairs
19535
19535
  */
19536
19536
  class KerningCache {
19537
19537
  constructor() {
@@ -19559,8 +19559,8 @@ class KerningCache {
19559
19559
  }
19560
19560
  }
19561
19561
 
19562
- /**
19563
- * Font metrics cache
19562
+ /**
19563
+ * Font metrics cache
19564
19564
  */
19565
19565
  class FontMetricsCache {
19566
19566
  constructor() {
@@ -19595,8 +19595,8 @@ if (typeof document !== 'undefined' && 'fonts' in document) {
19595
19595
  });
19596
19596
  }
19597
19597
 
19598
- /**
19599
- * Clear all measurement caches
19598
+ /**
19599
+ * Clear all measurement caches
19600
19600
  */
19601
19601
  function clearAllCaches() {
19602
19602
  measurementCache.clear();
@@ -19604,9 +19604,9 @@ function clearAllCaches() {
19604
19604
  fontMetricsCache.clear();
19605
19605
  }
19606
19606
 
19607
- /**
19608
- * Detect if a font lacks English glyph support
19609
- * These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
19607
+ /**
19608
+ * Detect if a font lacks English glyph support
19609
+ * These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
19610
19610
  */
19611
19611
  function fontLacksEnglishGlyphs(fontFamily) {
19612
19612
  if (typeof document === 'undefined') return false;
@@ -19650,8 +19650,8 @@ function fontLacksEnglishGlyphs(fontFamily) {
19650
19650
  // Cache for font glyph detection results
19651
19651
  const fontGlyphCache = new Map();
19652
19652
 
19653
- /**
19654
- * Cached version of font glyph detection
19653
+ /**
19654
+ * Cached version of font glyph detection
19655
19655
  */
19656
19656
  function fontLacksEnglishGlyphsCached(fontFamily) {
19657
19657
  if (fontGlyphCache.has(fontFamily)) {
@@ -19662,17 +19662,17 @@ function fontLacksEnglishGlyphsCached(fontFamily) {
19662
19662
  return result;
19663
19663
  }
19664
19664
 
19665
- /**
19666
- * Unicode and Internationalization Support
19667
- *
19668
- * Enhanced Unicode handling for complex scripts, RTL/LTR text,
19669
- * and grapheme cluster boundary detection.
19665
+ /**
19666
+ * Unicode and Internationalization Support
19667
+ *
19668
+ * Enhanced Unicode handling for complex scripts, RTL/LTR text,
19669
+ * and grapheme cluster boundary detection.
19670
19670
  */
19671
19671
 
19672
19672
 
19673
- /**
19674
- * Enhanced grapheme segmentation using Intl.Segmenter when available
19675
- * with fallback to existing graphemeSplit implementation
19673
+ /**
19674
+ * Enhanced grapheme segmentation using Intl.Segmenter when available
19675
+ * with fallback to existing graphemeSplit implementation
19676
19676
  */
19677
19677
  function segmentGraphemes(text) {
19678
19678
  // Use native Intl.Segmenter if available
@@ -19692,15 +19692,15 @@ function segmentGraphemes(text) {
19692
19692
  return graphemeSplit(text);
19693
19693
  }
19694
19694
 
19695
- /**
19696
- * Ellipsis Text Truncation System
19697
- *
19698
- * Implements text truncation with ellipsis when content exceeds bounds,
19699
- * using binary search for optimal truncation points.
19695
+ /**
19696
+ * Ellipsis Text Truncation System
19697
+ *
19698
+ * Implements text truncation with ellipsis when content exceeds bounds,
19699
+ * using binary search for optimal truncation points.
19700
19700
  */
19701
19701
 
19702
- /**
19703
- * Apply ellipsis truncation to text based on width/height constraints
19702
+ /**
19703
+ * Apply ellipsis truncation to text based on width/height constraints
19704
19704
  */
19705
19705
  function applyEllipsis(text, options) {
19706
19706
  const {
@@ -19770,8 +19770,8 @@ function applyEllipsis(text, options) {
19770
19770
  };
19771
19771
  }
19772
19772
 
19773
- /**
19774
- * Truncate text based on width constraint using binary search
19773
+ /**
19774
+ * Truncate text based on width constraint using binary search
19775
19775
  */
19776
19776
  function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
19777
19777
  const graphemes = segmentGraphemes(text);
@@ -19821,8 +19821,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
19821
19821
  };
19822
19822
  }
19823
19823
 
19824
- /**
19825
- * Truncate text based on height constraint
19824
+ /**
19825
+ * Truncate text based on height constraint
19826
19826
  */
19827
19827
  function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19828
19828
  var _measureFn;
@@ -19870,19 +19870,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19870
19870
  return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
19871
19871
  }
19872
19872
 
19873
- /**
19874
- * Core Text Layout Engine
19875
- *
19876
- * Implements Konva-compatible text layout with support for:
19877
- * - Multiple wrap modes (word/char/none)
19878
- * - Ellipsis truncation
19879
- * - Justify alignment with proper space distribution
19880
- * - RTL/LTR text direction
19881
- * - Advanced grapheme handling
19873
+ /**
19874
+ * Core Text Layout Engine
19875
+ *
19876
+ * Implements Konva-compatible text layout with support for:
19877
+ * - Multiple wrap modes (word/char/none)
19878
+ * - Ellipsis truncation
19879
+ * - Justify alignment with proper space distribution
19880
+ * - RTL/LTR text direction
19881
+ * - Advanced grapheme handling
19882
19882
  */
19883
19883
 
19884
- /**
19885
- * Main text layout function - converts text and options into positioned layout
19884
+ /**
19885
+ * Main text layout function - converts text and options into positioned layout
19886
19886
  */
19887
19887
  function layoutText(options) {
19888
19888
  var _ellipsisResult;
@@ -20001,8 +20001,8 @@ function layoutText(options) {
20001
20001
  };
20002
20002
  }
20003
20003
 
20004
- /**
20005
- * Layout a single paragraph with wrapping
20004
+ /**
20005
+ * Layout a single paragraph with wrapping
20006
20006
  */
20007
20007
  function layoutParagraph(text, options) {
20008
20008
  const {
@@ -20037,8 +20037,8 @@ function layoutParagraph(text, options) {
20037
20037
  return layoutLines;
20038
20038
  }
20039
20039
 
20040
- /**
20041
- * Layout a single line of text (no wrapping)
20040
+ /**
20041
+ * Layout a single line of text (no wrapping)
20042
20042
  */
20043
20043
  function layoutSingleLine(text, options) {
20044
20044
  let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
@@ -20108,8 +20108,8 @@ function layoutSingleLine(text, options) {
20108
20108
  };
20109
20109
  }
20110
20110
 
20111
- /**
20112
- * Word-based wrapping algorithm
20111
+ /**
20112
+ * Word-based wrapping algorithm
20113
20113
  */
20114
20114
  function wrapByWords(text, maxWidth, options) {
20115
20115
  const lines = [];
@@ -20142,8 +20142,8 @@ function wrapByWords(text, maxWidth, options) {
20142
20142
  return lines.length > 0 ? lines : [''];
20143
20143
  }
20144
20144
 
20145
- /**
20146
- * Character-based wrapping algorithm
20145
+ /**
20146
+ * Character-based wrapping algorithm
20147
20147
  */
20148
20148
  function wrapByCharacters(text, maxWidth, options) {
20149
20149
  const lines = [];
@@ -20165,8 +20165,8 @@ function wrapByCharacters(text, maxWidth, options) {
20165
20165
  return lines.length > 0 ? lines : [''];
20166
20166
  }
20167
20167
 
20168
- /**
20169
- * Apply text alignment to lines
20168
+ /**
20169
+ * Apply text alignment to lines
20170
20170
  */
20171
20171
  function applyAlignment(lines, align, containerWidth, options) {
20172
20172
  return lines.map(line => {
@@ -20200,8 +20200,8 @@ function applyAlignment(lines, align, containerWidth, options) {
20200
20200
  });
20201
20201
  }
20202
20202
 
20203
- /**
20204
- * Apply justify alignment by expanding spaces
20203
+ /**
20204
+ * Apply justify alignment by expanding spaces
20205
20205
  */
20206
20206
  function applyJustification(line, containerWidth, options) {
20207
20207
  const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
@@ -20224,8 +20224,8 @@ function applyJustification(line, containerWidth, options) {
20224
20224
  return line;
20225
20225
  }
20226
20226
 
20227
- /**
20228
- * Calculate vertical alignment offset
20227
+ /**
20228
+ * Calculate vertical alignment offset
20229
20229
  */
20230
20230
  function calculateVerticalOffset(contentHeight, containerHeight, align) {
20231
20231
  switch (align) {
@@ -20239,8 +20239,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
20239
20239
  }
20240
20240
  }
20241
20241
 
20242
- /**
20243
- * Handle height overflow with ellipsis
20242
+ /**
20243
+ * Handle height overflow with ellipsis
20244
20244
  */
20245
20245
  function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
20246
20246
  // If ellipsis is enabled, try to fit part of the overflow line
@@ -20269,8 +20269,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
20269
20269
  };
20270
20270
  }
20271
20271
 
20272
- /**
20273
- * Create empty line for empty paragraphs
20272
+ /**
20273
+ * Create empty line for empty paragraphs
20274
20274
  */
20275
20275
  function createEmptyLine(options) {
20276
20276
  const height = options.fontSize * options.lineHeight;
@@ -20286,8 +20286,8 @@ function createEmptyLine(options) {
20286
20286
  };
20287
20287
  }
20288
20288
 
20289
- /**
20290
- * Measure width of a line of text
20289
+ /**
20290
+ * Measure width of a line of text
20291
20291
  */
20292
20292
  function measureLineWidth(text, options) {
20293
20293
  const graphemes = segmentGraphemes(text);
@@ -20304,8 +20304,8 @@ function measureLineWidth(text, options) {
20304
20304
  return width;
20305
20305
  }
20306
20306
 
20307
- /**
20308
- * Convert layout options to measurement options
20307
+ /**
20308
+ * Convert layout options to measurement options
20309
20309
  */
20310
20310
  function createMeasurementOptions(options) {
20311
20311
  return {
@@ -20548,15 +20548,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
20548
20548
  }
20549
20549
  }
20550
20550
 
20551
- /**
20552
- * Browser Line Break Extraction
20553
- *
20554
- * Captures exact line breaks as rendered by the browser to ensure
20555
- * pixel-perfect consistency between DOM editing and canvas rendering.
20551
+ /**
20552
+ * Browser Line Break Extraction
20553
+ *
20554
+ * Captures exact line breaks as rendered by the browser to ensure
20555
+ * pixel-perfect consistency between DOM editing and canvas rendering.
20556
20556
  */
20557
20557
 
20558
- /**
20559
- * Segment text into graphemes safely using Intl.Segmenter or fallback
20558
+ /**
20559
+ * Segment text into graphemes safely using Intl.Segmenter or fallback
20560
20560
  */
20561
20561
  function segmentIntoGraphemes(text) {
20562
20562
  if (typeof Intl !== 'undefined' && Intl.Segmenter) {
@@ -20570,9 +20570,9 @@ function segmentIntoGraphemes(text) {
20570
20570
  return Array.from(text);
20571
20571
  }
20572
20572
 
20573
- /**
20574
- * Extract line break information from a textarea by creating a mirror element
20575
- * with identical computed styles and measuring grapheme positions.
20573
+ /**
20574
+ * Extract line break information from a textarea by creating a mirror element
20575
+ * with identical computed styles and measuring grapheme positions.
20576
20576
  */
20577
20577
  function extractLinesFromDOM(textarea) {
20578
20578
  const text = textarea.value;
@@ -20580,7 +20580,8 @@ function extractLinesFromDOM(textarea) {
20580
20580
  return {
20581
20581
  lines: [],
20582
20582
  totalWidth: 0,
20583
- totalHeight: 0
20583
+ totalHeight: 0,
20584
+ width: 0
20584
20585
  };
20585
20586
  }
20586
20587
 
@@ -20609,6 +20610,8 @@ function extractLinesFromDOM(textarea) {
20609
20610
  mirror.style.overflow = 'hidden';
20610
20611
  mirror.style.resize = 'none';
20611
20612
  container.appendChild(mirror);
20613
+ // capture the width the browser is using for layout
20614
+ const width = mirror.clientWidth;
20612
20615
  try {
20613
20616
  // Segment text into graphemes
20614
20617
  const graphemes = segmentIntoGraphemes(text);
@@ -20659,7 +20662,8 @@ function extractLinesFromDOM(textarea) {
20659
20662
  return {
20660
20663
  lines,
20661
20664
  totalWidth,
20662
- totalHeight
20665
+ totalHeight,
20666
+ width
20663
20667
  };
20664
20668
  } finally {
20665
20669
  // Clean up mirror element
@@ -20667,16 +20671,16 @@ function extractLinesFromDOM(textarea) {
20667
20671
  }
20668
20672
  }
20669
20673
 
20670
- /**
20671
- * Create a hash of layout-affecting properties to detect when browser lines are still valid
20674
+ /**
20675
+ * Create a hash of layout-affecting properties to detect when browser lines are still valid
20672
20676
  */
20673
20677
  function createLayoutHash(target) {
20674
20678
  const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
20675
20679
  return properties.map(p => String(p)).join('|');
20676
20680
  }
20677
20681
 
20678
- /**
20679
- * Check if stored browser lines are still valid for the current target state
20682
+ /**
20683
+ * Check if stored browser lines are still valid for the current target state
20680
20684
  */
20681
20685
  function areBrowserLinesValid(target, storedHash) {
20682
20686
  if (!storedHash || !target.__lastBrowserLines) {
@@ -20685,31 +20689,37 @@ function areBrowserLinesValid(target, storedHash) {
20685
20689
  const currentHash = createLayoutHash(target);
20686
20690
  return currentHash === storedHash;
20687
20691
  }
20688
-
20689
- /**
20690
- * Store browser lines on a target object with validity hash
20692
+ /**
20693
+ * Store browser lines on a target object with validity hash
20691
20694
  */
20692
- function storeBrowserLines(target, lines, layoutHash) {
20695
+ function storeBrowserLines(target, lines, width, layoutHash) {
20693
20696
  target.__lastBrowserLines = lines;
20697
+ target.__lastBrowserLinesWidth = width;
20694
20698
  target.__lastBrowserLinesHash = createLayoutHash(target);
20695
20699
  }
20696
20700
 
20697
- /**
20698
- * Clear stored browser lines from a target object
20701
+ /**
20702
+ * Clear stored browser lines from a target object
20699
20703
  */
20700
20704
  function clearBrowserLines(target) {
20701
20705
  delete target.__lastBrowserLines;
20702
20706
  delete target.__lastBrowserLinesHash;
20707
+ delete target.__lastBrowserLinesWidth;
20703
20708
  }
20704
20709
 
20705
- /**
20706
- * Get stored browser lines if they're still valid
20710
+ /**
20711
+ * Get stored browser lines if they're still valid
20707
20712
  */
20708
20713
  function getBrowserLines(target) {
20709
20714
  const lines = target.__lastBrowserLines;
20710
20715
  const hash = target.__lastBrowserLinesHash;
20711
20716
  if (lines && areBrowserLinesValid(target, hash)) {
20712
- return lines;
20717
+ return {
20718
+ lines,
20719
+ totalWidth: 0,
20720
+ totalHeight: 0,
20721
+ width: target.__lastBrowserLinesWidth
20722
+ };
20713
20723
  }
20714
20724
  return null;
20715
20725
  }
@@ -20790,10 +20800,18 @@ class FabricText extends StyledText {
20790
20800
  * Uses browser lines when available for pixel-perfect consistency.
20791
20801
  */
20792
20802
  _splitText() {
20793
- // Check if we have valid browser lines and should use them
20794
- const browserLines = getBrowserLines(this);
20795
- if (browserLines && this.useOverlayEditing) {
20796
- return this._splitTextFromBrowserLines(browserLines);
20803
+ // For justify text with overlay editing, always use normal fabric wrapping
20804
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
20805
+ console.log('🧹 JUSTIFY OVERLAY: Using fabric wrapping');
20806
+ this.__lastBrowserLines = null;
20807
+ this.__lastBrowserLinesHash = null;
20808
+ } else {
20809
+ // Check if we have valid browser lines for non-justify text
20810
+ const browserLinesInfo = getBrowserLines(this);
20811
+ if (browserLinesInfo && this.useOverlayEditing) {
20812
+ this._browserWrappingWidth = browserLinesInfo.width;
20813
+ return this._splitTextFromBrowserLines(browserLinesInfo.lines);
20814
+ }
20797
20815
  }
20798
20816
  const newLines = this._splitTextIntoLines(this.text);
20799
20817
  this.textLines = newLines.lines;
@@ -20894,6 +20912,11 @@ class FabricText extends StyledText {
20894
20912
  enlargeSpaces() {
20895
20913
  let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
20896
20914
  const isRtl = this.direction === 'rtl';
20915
+ // use browser wrapping width if available
20916
+ const justificationWidth = this._browserWrappingWidth || this.width;
20917
+ if (this._browserWrappingWidth) {
20918
+ this._browserWrappingWidth = undefined;
20919
+ }
20897
20920
  for (let i = 0, len = this._textLines.length; i < len; i++) {
20898
20921
  if (!this.textAlign.includes('justify') || i === len - 1 || this.isEndOfWrapping(i)) {
20899
20922
  continue;
@@ -20901,11 +20924,11 @@ class FabricText extends StyledText {
20901
20924
  accumulatedSpace = 0;
20902
20925
  line = this._textLines[i];
20903
20926
  currentLineWidth = this.getLineWidth(i);
20904
- if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {
20927
+ if (currentLineWidth < justificationWidth && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {
20905
20928
  numberOfSpaces = spaces.length;
20906
- diffSpace = (this.width - currentLineWidth) / numberOfSpaces;
20929
+ diffSpace = (justificationWidth - currentLineWidth) / numberOfSpaces;
20907
20930
  console.log(`🔧 EnlargeSpaces Line ${i}:`);
20908
- console.log(` Current width: ${currentLineWidth}, Target: ${this.width}`);
20931
+ console.log(` Current width: ${currentLineWidth}, Target: ${justificationWidth}`);
20909
20932
  console.log(` Spaces: ${numberOfSpaces}, diffSpace: ${diffSpace.toFixed(2)}`);
20910
20933
  if (isRtl) {
20911
20934
  for (let j = 0; j < line.length; j++) {
@@ -22836,8 +22859,8 @@ class OverlayEditor {
22836
22859
  // We don't need to save/restore them here as it would conflict with IText's restoration
22837
22860
  }
22838
22861
 
22839
- /**
22840
- * Get the container element for the overlay (parent of upperCanvasEl)
22862
+ /**
22863
+ * Get the container element for the overlay (parent of upperCanvasEl)
22841
22864
  */
22842
22865
  getCanvasContainer() {
22843
22866
  const upperCanvas = this.canvas.upperCanvasEl;
@@ -22851,8 +22874,8 @@ class OverlayEditor {
22851
22874
  return container;
22852
22875
  }
22853
22876
 
22854
- /**
22855
- * Create the overlay DOM structure
22877
+ /**
22878
+ * Create the overlay DOM structure
22856
22879
  */
22857
22880
  createOverlayDOM() {
22858
22881
  // Host div for positioning and overflow control
@@ -22907,8 +22930,8 @@ class OverlayEditor {
22907
22930
  document.body.appendChild(this.hostDiv);
22908
22931
  }
22909
22932
 
22910
- /**
22911
- * Attach all event listeners
22933
+ /**
22934
+ * Attach all event listeners
22912
22935
  */
22913
22936
  attachEventListeners() {
22914
22937
  // Textarea events
@@ -22928,8 +22951,8 @@ class OverlayEditor {
22928
22951
  this.setupViewportChangeDetection();
22929
22952
  }
22930
22953
 
22931
- /**
22932
- * Remove all event listeners
22954
+ /**
22955
+ * Remove all event listeners
22933
22956
  */
22934
22957
  removeEventListeners() {
22935
22958
  this.textarea.removeEventListener('input', this.boundHandlers.onInput);
@@ -22946,16 +22969,16 @@ class OverlayEditor {
22946
22969
  this.restoreViewportChangeDetection();
22947
22970
  }
22948
22971
 
22949
- /**
22950
- * Simple method to refresh positioning when canvas changes
22972
+ /**
22973
+ * Simple method to refresh positioning when canvas changes
22951
22974
  */
22952
22975
  updatePosition() {
22953
22976
  this.applyOverlayStyle();
22954
22977
  }
22955
22978
 
22956
- /**
22957
- * Update the Fabric object bounds to match current textarea size
22958
- * This ensures Fabric.js selection controls follow the growing textbox
22979
+ /**
22980
+ * Update the Fabric object bounds to match current textarea size
22981
+ * This ensures Fabric.js selection controls follow the growing textbox
22959
22982
  */
22960
22983
  updateObjectBounds() {
22961
22984
  if (this.isDestroyed) return;
@@ -22989,15 +23012,15 @@ class OverlayEditor {
22989
23012
  }
22990
23013
  }
22991
23014
 
22992
- /**
22993
- * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
23015
+ /**
23016
+ * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
22994
23017
  */
22995
23018
  letterSpacingPx(charSpacing, fontSize) {
22996
23019
  return charSpacing / 1000 * fontSize;
22997
23020
  }
22998
23021
 
22999
- /**
23000
- * Detect text direction using first strong directional character
23022
+ /**
23023
+ * Detect text direction using first strong directional character
23001
23024
  */
23002
23025
  firstStrongDir(text) {
23003
23026
  // Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
@@ -23036,10 +23059,10 @@ class OverlayEditor {
23036
23059
  const top = canvasRect.top + scrollY + screenPoint.y;
23037
23060
 
23038
23061
  // 4. Calculate the precise width and height for the container
23039
- // **THE FIX:** Use getBoundingRect() for BOTH width and height.
23040
- // This is the most reliable measure of the object's final rendered dimensions.
23062
+ // **THE FIX:** Use the same width calculation as measureLinesWithBrowser for consistency
23041
23063
  const objectBounds = target.getBoundingRect();
23042
- const width = Math.round(objectBounds.width * zoom);
23064
+ const scaleX = target.scaleX || 1;
23065
+ const width = Math.round((target.width * scaleX + padding * 2) * zoom);
23043
23066
  const height = Math.round(objectBounds.height * zoom);
23044
23067
 
23045
23068
  // 5. Apply styles to host DIV - absolute positioning like rtl-test.html
@@ -23061,7 +23084,6 @@ class OverlayEditor {
23061
23084
  // 6. Style the textarea - match Fabric's exact rendering with padding
23062
23085
  const baseFontSize = (_target$fontSize = target.fontSize) !== null && _target$fontSize !== void 0 ? _target$fontSize : 16;
23063
23086
  // Use scaleX for font scaling to match Fabric text scaling exactly
23064
- const scaleX = target.scaleX || 1;
23065
23087
  const finalFontSize = baseFontSize * scaleX * zoom;
23066
23088
  const fabricLineHeight = target.lineHeight || 1.16;
23067
23089
  // **THE FIX:** Use 'border-box' so the width property includes padding.
@@ -23123,7 +23145,7 @@ class OverlayEditor {
23123
23145
  this.textarea.style.textAlignLast = 'left';
23124
23146
  }
23125
23147
  } else if (textAlign === 'justify-right') {
23126
- // If text is LTR but fabric says justify-right, override to justify-left for better UX
23148
+ // If text is LTR but fabric says justify-right, override to justify-left for better UX
23127
23149
  if (autoDetectedDirection === 'ltr') {
23128
23150
  this.textarea.style.textAlignLast = 'left';
23129
23151
  console.log(' → Overrode justify-right to justify-left for LTR text');
@@ -23234,8 +23256,8 @@ class OverlayEditor {
23234
23256
  // Initial bounds are set correctly by Fabric.js - don't force update here
23235
23257
  }
23236
23258
 
23237
- /**
23238
- * Debug method to compare textarea and canvas object bounding boxes
23259
+ /**
23260
+ * Debug method to compare textarea and canvas object bounding boxes
23239
23261
  */
23240
23262
  debugBoundingBoxComparison() {
23241
23263
  const target = this.target;
@@ -23305,8 +23327,8 @@ class OverlayEditor {
23305
23327
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
23306
23328
  }
23307
23329
 
23308
- /**
23309
- * Debug method to compare text wrapping between textarea and Fabric text object
23330
+ /**
23331
+ * Debug method to compare text wrapping between textarea and Fabric text object
23310
23332
  */
23311
23333
  debugTextWrapping() {
23312
23334
  const target = this.target;
@@ -23391,8 +23413,8 @@ class OverlayEditor {
23391
23413
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
23392
23414
  }
23393
23415
 
23394
- /**
23395
- * Focus the textarea and position cursor at end
23416
+ /**
23417
+ * Focus the textarea and position cursor at end
23396
23418
  */
23397
23419
  focusTextarea() {
23398
23420
  // For overlay editing, we want to keep the object in "selection mode" not "editing mode"
@@ -23432,8 +23454,8 @@ class OverlayEditor {
23432
23454
  this.canvas.requestRenderAll();
23433
23455
  }
23434
23456
 
23435
- /**
23436
- * Refresh overlay positioning and styling
23457
+ /**
23458
+ * Refresh overlay positioning and styling
23437
23459
  */
23438
23460
  refresh() {
23439
23461
  if (this.isDestroyed) return;
@@ -23441,32 +23463,34 @@ class OverlayEditor {
23441
23463
  // Don't update object bounds on every refresh - only when textarea actually resizes
23442
23464
  }
23443
23465
 
23444
- /**
23445
- * Destroy the overlay editor
23466
+ /**
23467
+ * Destroy the overlay editor
23446
23468
  */
23447
23469
  destroy() {
23470
+ var _this$target$textAlig;
23448
23471
  let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
23449
23472
  if (this.isDestroyed) return;
23450
23473
  this.isDestroyed = true;
23451
23474
  this.removeEventListeners();
23452
23475
 
23453
- // Restore target visibility before handling commit/cancel
23454
- if (this.target.__overlayEditor === this) {
23455
- this.target.__overlayEditor = undefined;
23456
-
23457
- // Restore original opacity
23458
- if (this.target.__overlayOriginalOpacity !== undefined) {
23459
- this.target.opacity = this.target.__overlayOriginalOpacity;
23460
- delete this.target.__overlayOriginalOpacity;
23476
+ // EXTRACT DOM DATA BEFORE REMOVING DOM for justify text preservation
23477
+ let extractedOverlayData = null;
23478
+ if (commit && (_this$target$textAlig = this.target.textAlign) !== null && _this$target$textAlig !== void 0 && _this$target$textAlig.includes('justify')) {
23479
+ try {
23480
+ // Store the DOM structure before destruction
23481
+ const result = extractLinesFromDOM(this.textarea);
23482
+ extractedOverlayData = result.lines;
23483
+ console.log('🔧 DESTROY: Extracted overlay lines before DOM removal');
23484
+ } catch (error) {
23485
+ console.warn('Failed to extract overlay lines before destruction:', error);
23461
23486
  }
23462
23487
  }
23463
23488
 
23464
- // Remove DOM first
23465
- if (this.hostDiv.parentNode) {
23466
- this.hostDiv.parentNode.removeChild(this.hostDiv);
23489
+ // Restore original opacity but keep overlayEditor reference for commit
23490
+ if (this.target.__overlayOriginalOpacity !== undefined) {
23491
+ this.target.opacity = this.target.__overlayOriginalOpacity;
23492
+ delete this.target.__overlayOriginalOpacity;
23467
23493
  }
23468
-
23469
- // Handle commit/cancel after restoring visibility
23470
23494
  if (commit && !this.isComposing) {
23471
23495
  const finalText = this.textarea.value;
23472
23496
 
@@ -23487,12 +23511,26 @@ class OverlayEditor {
23487
23511
  console.log(`📝 Overlay Exit: Direction unchanged (${currentDirection}), text: "${finalText.substring(0, 30)}..."`);
23488
23512
  }
23489
23513
  if (this.onCommit) {
23514
+ // Store extracted overlay data on target for commitOverlayEdit to use
23515
+ if (extractedOverlayData) {
23516
+ this.target._extractedOverlayLines = extractedOverlayData;
23517
+ }
23490
23518
  this.onCommit(finalText);
23491
23519
  }
23492
23520
  } else if (!commit && this.onCancel) {
23493
23521
  this.onCancel();
23494
23522
  }
23495
23523
 
23524
+ // Clear overlay editor reference AFTER commit/cancel handlers
23525
+ if (this.target.__overlayEditor === this) {
23526
+ this.target.__overlayEditor = undefined;
23527
+ }
23528
+
23529
+ // Remove DOM after commit/cancel handlers
23530
+ if (this.hostDiv.parentNode) {
23531
+ this.hostDiv.parentNode.removeChild(this.hostDiv);
23532
+ }
23533
+
23496
23534
  // Note: Don't restore object cursors since IText manages all cursors in _restoreEditingProps
23497
23535
  // Let the IText editing system handle proper restoration of all cursor properties
23498
23536
 
@@ -23507,6 +23545,9 @@ class OverlayEditor {
23507
23545
  // Request canvas re-render
23508
23546
  this.canvas.requestRenderAll();
23509
23547
  }
23548
+ get textareaElement() {
23549
+ return this.textarea;
23550
+ }
23510
23551
 
23511
23552
  // Event handlers
23512
23553
  handleInput() {
@@ -23610,8 +23651,8 @@ class OverlayEditor {
23610
23651
  }
23611
23652
  }
23612
23653
 
23613
- /**
23614
- * Setup detection for viewport changes (zoom/pan)
23654
+ /**
23655
+ * Setup detection for viewport changes (zoom/pan)
23615
23656
  */
23616
23657
  setupViewportChangeDetection() {
23617
23658
  // Store original methods
@@ -23640,8 +23681,8 @@ class OverlayEditor {
23640
23681
  };
23641
23682
  }
23642
23683
 
23643
- /**
23644
- * Restore original viewport methods
23684
+ /**
23685
+ * Restore original viewport methods
23645
23686
  */
23646
23687
  restoreViewportChangeDetection() {
23647
23688
  if (this.canvas.__originalSetZoom) {
@@ -23656,8 +23697,8 @@ class OverlayEditor {
23656
23697
  }
23657
23698
  }
23658
23699
 
23659
- /**
23660
- * Enter overlay text editing mode for a text object
23700
+ /**
23701
+ * Enter overlay text editing mode for a text object
23661
23702
  */
23662
23703
  function enterTextOverlayEdit(canvas, target, options) {
23663
23704
  // If already in overlay editing, destroy existing editor first
@@ -23681,35 +23722,35 @@ function enterTextOverlayEdit(canvas, target, options) {
23681
23722
  return editor;
23682
23723
  }
23683
23724
 
23684
- /**
23685
- * extend this regex to support non english languages
23686
- *
23687
- * - ` ` Matches a SPACE character (char code 32).
23688
- * - `\n` Matches a LINE FEED character (char code 10).
23689
- * - `.` Matches a "." character (char code 46).
23690
- * - `,` Matches a "," character (char code 44).
23691
- * - `;` Matches a ";" character (char code 59).
23692
- * - `!` Matches a "!" character (char code 33).
23693
- * - `\?` Matches a "?" character (char code 63).
23694
- * - `\-` Matches a "-" character (char code 45).
23725
+ /**
23726
+ * extend this regex to support non english languages
23727
+ *
23728
+ * - ` ` Matches a SPACE character (char code 32).
23729
+ * - `\n` Matches a LINE FEED character (char code 10).
23730
+ * - `.` Matches a "." character (char code 46).
23731
+ * - `,` Matches a "," character (char code 44).
23732
+ * - `;` Matches a ";" character (char code 59).
23733
+ * - `!` Matches a "!" character (char code 33).
23734
+ * - `\?` Matches a "?" character (char code 63).
23735
+ * - `\-` Matches a "-" character (char code 45).
23695
23736
  */
23696
23737
  // eslint-disable-next-line no-useless-escape
23697
23738
  const reNonWord = /[ \n\.,;!\?\-]/;
23698
23739
  class ITextBehavior extends FabricText {
23699
23740
  constructor() {
23700
23741
  super(...arguments);
23701
- /**
23702
- * Helps determining when the text is in composition, so that the cursor
23703
- * rendering is altered.
23742
+ /**
23743
+ * Helps determining when the text is in composition, so that the cursor
23744
+ * rendering is altered.
23704
23745
  */
23705
23746
  _defineProperty(this, "_currentCursorOpacity", 1);
23706
23747
  }
23707
- /**
23708
- * Keeps track if the IText object was selected before the actual click.
23709
- * This because we want to delay enter editing by a click.
23748
+ /**
23749
+ * Keeps track if the IText object was selected before the actual click.
23750
+ * This because we want to delay enter editing by a click.
23710
23751
  */
23711
- /**
23712
- * Initializes all the interactive behavior of IText
23752
+ /**
23753
+ * Initializes all the interactive behavior of IText
23713
23754
  */
23714
23755
  initBehavior() {
23715
23756
  this._tick = this._tick.bind(this);
@@ -23722,8 +23763,8 @@ class ITextBehavior extends FabricText {
23722
23763
  return super.onDeselect(options);
23723
23764
  }
23724
23765
 
23725
- /**
23726
- * @private
23766
+ /**
23767
+ * @private
23727
23768
  */
23728
23769
  _animateCursor(_ref) {
23729
23770
  let {
@@ -23748,8 +23789,8 @@ class ITextBehavior extends FabricText {
23748
23789
  });
23749
23790
  }
23750
23791
 
23751
- /**
23752
- * changes the cursor from visible to invisible
23792
+ /**
23793
+ * changes the cursor from visible to invisible
23753
23794
  */
23754
23795
  _tick(delay) {
23755
23796
  this._currentTickState = this._animateCursor({
@@ -23760,8 +23801,8 @@ class ITextBehavior extends FabricText {
23760
23801
  });
23761
23802
  }
23762
23803
 
23763
- /**
23764
- * Changes the cursor from invisible to visible
23804
+ /**
23805
+ * Changes the cursor from invisible to visible
23765
23806
  */
23766
23807
  _onTickComplete() {
23767
23808
  var _this$_currentTickCom;
@@ -23773,16 +23814,16 @@ class ITextBehavior extends FabricText {
23773
23814
  });
23774
23815
  }
23775
23816
 
23776
- /**
23777
- * Initializes delayed cursor
23817
+ /**
23818
+ * Initializes delayed cursor
23778
23819
  */
23779
23820
  initDelayedCursor(restart) {
23780
23821
  this.abortCursorAnimation();
23781
23822
  this._tick(restart ? 0 : this.cursorDelay);
23782
23823
  }
23783
23824
 
23784
- /**
23785
- * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
23825
+ /**
23826
+ * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
23786
23827
  */
23787
23828
  abortCursorAnimation() {
23788
23829
  let shouldClear = false;
@@ -23800,9 +23841,9 @@ class ITextBehavior extends FabricText {
23800
23841
  }
23801
23842
  }
23802
23843
 
23803
- /**
23804
- * Restart tue cursor animation if either is in complete state ( between animations )
23805
- * or if it never started before
23844
+ /**
23845
+ * Restart tue cursor animation if either is in complete state ( between animations )
23846
+ * or if it never started before
23806
23847
  */
23807
23848
  restartCursorIfNeeded() {
23808
23849
  if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
@@ -23810,8 +23851,8 @@ class ITextBehavior extends FabricText {
23810
23851
  }
23811
23852
  }
23812
23853
 
23813
- /**
23814
- * Selects entire text
23854
+ /**
23855
+ * Selects entire text
23815
23856
  */
23816
23857
  selectAll() {
23817
23858
  this.selectionStart = 0;
@@ -23821,26 +23862,26 @@ class ITextBehavior extends FabricText {
23821
23862
  return this;
23822
23863
  }
23823
23864
 
23824
- /**
23825
- * Selects entire text and updates the visual state
23865
+ /**
23866
+ * Selects entire text and updates the visual state
23826
23867
  */
23827
23868
  cmdAll() {
23828
23869
  this.selectAll();
23829
23870
  this.renderCursorOrSelection();
23830
23871
  }
23831
23872
 
23832
- /**
23833
- * Returns selected text
23834
- * @return {String}
23873
+ /**
23874
+ * Returns selected text
23875
+ * @return {String}
23835
23876
  */
23836
23877
  getSelectedText() {
23837
23878
  return this._text.slice(this.selectionStart, this.selectionEnd).join('');
23838
23879
  }
23839
23880
 
23840
- /**
23841
- * Find new selection index representing start of current word according to current selection index
23842
- * @param {Number} startFrom Current selection index
23843
- * @return {Number} New selection index
23881
+ /**
23882
+ * Find new selection index representing start of current word according to current selection index
23883
+ * @param {Number} startFrom Current selection index
23884
+ * @return {Number} New selection index
23844
23885
  */
23845
23886
  findWordBoundaryLeft(startFrom) {
23846
23887
  let offset = 0,
@@ -23860,10 +23901,10 @@ class ITextBehavior extends FabricText {
23860
23901
  return startFrom - offset;
23861
23902
  }
23862
23903
 
23863
- /**
23864
- * Find new selection index representing end of current word according to current selection index
23865
- * @param {Number} startFrom Current selection index
23866
- * @return {Number} New selection index
23904
+ /**
23905
+ * Find new selection index representing end of current word according to current selection index
23906
+ * @param {Number} startFrom Current selection index
23907
+ * @return {Number} New selection index
23867
23908
  */
23868
23909
  findWordBoundaryRight(startFrom) {
23869
23910
  let offset = 0,
@@ -23883,10 +23924,10 @@ class ITextBehavior extends FabricText {
23883
23924
  return startFrom + offset;
23884
23925
  }
23885
23926
 
23886
- /**
23887
- * Find new selection index representing start of current line according to current selection index
23888
- * @param {Number} startFrom Current selection index
23889
- * @return {Number} New selection index
23927
+ /**
23928
+ * Find new selection index representing start of current line according to current selection index
23929
+ * @param {Number} startFrom Current selection index
23930
+ * @return {Number} New selection index
23890
23931
  */
23891
23932
  findLineBoundaryLeft(startFrom) {
23892
23933
  let offset = 0,
@@ -23898,10 +23939,10 @@ class ITextBehavior extends FabricText {
23898
23939
  return startFrom - offset;
23899
23940
  }
23900
23941
 
23901
- /**
23902
- * Find new selection index representing end of current line according to current selection index
23903
- * @param {Number} startFrom Current selection index
23904
- * @return {Number} New selection index
23942
+ /**
23943
+ * Find new selection index representing end of current line according to current selection index
23944
+ * @param {Number} startFrom Current selection index
23945
+ * @return {Number} New selection index
23905
23946
  */
23906
23947
  findLineBoundaryRight(startFrom) {
23907
23948
  let offset = 0,
@@ -23913,11 +23954,11 @@ class ITextBehavior extends FabricText {
23913
23954
  return startFrom + offset;
23914
23955
  }
23915
23956
 
23916
- /**
23917
- * Finds index corresponding to beginning or end of a word
23918
- * @param {Number} selectionStart Index of a character
23919
- * @param {Number} direction 1 or -1
23920
- * @return {Number} Index of the beginning or end of a word
23957
+ /**
23958
+ * Finds index corresponding to beginning or end of a word
23959
+ * @param {Number} selectionStart Index of a character
23960
+ * @param {Number} direction 1 or -1
23961
+ * @return {Number} Index of the beginning or end of a word
23921
23962
  */
23922
23963
  searchWordBoundary(selectionStart, direction) {
23923
23964
  const text = this._text;
@@ -23935,9 +23976,9 @@ class ITextBehavior extends FabricText {
23935
23976
  return index;
23936
23977
  }
23937
23978
 
23938
- /**
23939
- * Selects the word that contains the char at index selectionStart
23940
- * @param {Number} selectionStart Index of a character
23979
+ /**
23980
+ * Selects the word that contains the char at index selectionStart
23981
+ * @param {Number} selectionStart Index of a character
23941
23982
  */
23942
23983
  selectWord(selectionStart) {
23943
23984
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -23953,9 +23994,9 @@ class ITextBehavior extends FabricText {
23953
23994
  this.renderCursorOrSelection();
23954
23995
  }
23955
23996
 
23956
- /**
23957
- * Selects the line that contains selectionStart
23958
- * @param {Number} selectionStart Index of a character
23997
+ /**
23998
+ * Selects the line that contains selectionStart
23999
+ * @param {Number} selectionStart Index of a character
23959
24000
  */
23960
24001
  selectLine(selectionStart) {
23961
24002
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -23967,8 +24008,8 @@ class ITextBehavior extends FabricText {
23967
24008
  this._updateTextarea();
23968
24009
  }
23969
24010
 
23970
- /**
23971
- * Enters editing state
24011
+ /**
24012
+ * Enters editing state
23972
24013
  */
23973
24014
  enterEditing(e) {
23974
24015
  if (this.isEditing || !this.editable) {
@@ -23988,8 +24029,8 @@ class ITextBehavior extends FabricText {
23988
24029
  }
23989
24030
  }
23990
24031
 
23991
- /**
23992
- * runs the actual logic that enter from editing state, see {@link enterEditing}
24032
+ /**
24033
+ * runs the actual logic that enter from editing state, see {@link enterEditing}
23993
24034
  */
23994
24035
  enterEditingImpl() {
23995
24036
  if (this.canvas) {
@@ -24000,6 +24041,18 @@ class ITextBehavior extends FabricText {
24000
24041
 
24001
24042
  // Check if using overlay editing
24002
24043
  if (this.useOverlayEditing) {
24044
+ // For justify text, backup the current working state before overlay editing
24045
+ if (this.textAlign.includes('justify')) {
24046
+ console.log('💾 BACKUP: Saving pre-overlay justify state');
24047
+ this._originalText = this.text; // Store original text to detect changes
24048
+ this._preOverlayJustifyState = {
24049
+ __charBounds: JSON.parse(JSON.stringify(this.__charBounds || [])),
24050
+ __lineHeights: [...(this.__lineHeights || [])],
24051
+ __lineWidths: [...(this.__lineWidths || [])],
24052
+ textLines: [...(this.textLines || [])],
24053
+ _textLines: (this._textLines || []).map(line => [...line])
24054
+ };
24055
+ }
24003
24056
  this.enterOverlayEditing();
24004
24057
  } else {
24005
24058
  this.initHiddenTextarea();
@@ -24013,8 +24066,8 @@ class ITextBehavior extends FabricText {
24013
24066
  }
24014
24067
  }
24015
24068
 
24016
- /**
24017
- * Enter overlay editing mode using DOM textarea overlay
24069
+ /**
24070
+ * Enter overlay editing mode using DOM textarea overlay
24018
24071
  */
24019
24072
  enterOverlayEditing() {
24020
24073
  this._saveEditingProps();
@@ -24035,33 +24088,85 @@ class ITextBehavior extends FabricText {
24035
24088
  });
24036
24089
  }
24037
24090
 
24038
- /**
24039
- * Commit overlay editing changes
24091
+ /**
24092
+ * Commit overlay editing changes
24040
24093
  */
24041
24094
  commitOverlayEdit(text) {
24042
24095
  const overlayEditor = this.__overlayEditor;
24043
- if (overlayEditor) {
24044
- // Extract browser lines for pixel-perfect rendering
24096
+
24097
+ // Update text first so browser line cache uses the new content
24098
+ this.text = text;
24099
+
24100
+ // For justify text, restore pre-overlay state only if text didn't change
24101
+ if (this.textAlign.includes('justify')) {
24102
+ const textChanged = this._originalText !== text;
24103
+ console.log('🔄 JUSTIFY CHECK: Text changed:', textChanged);
24104
+
24105
+ // Only restore backup state if text didn't change
24106
+ if (!textChanged) {
24107
+ const backupState = this._preOverlayJustifyState;
24108
+ if (backupState) {
24109
+ var _this$canvas;
24110
+ console.log('📦 RESTORE: Text unchanged, restoring pre-overlay state');
24111
+ // Restore the working character bounds and measurements (but keep current text)
24112
+ this.__charBounds = JSON.parse(JSON.stringify(backupState.__charBounds));
24113
+ this.__lineHeights = [...backupState.__lineHeights];
24114
+ this.__lineWidths = [...backupState.__lineWidths];
24115
+ this.textLines = [...backupState.textLines];
24116
+ this._textLines = backupState._textLines.map(line => [...line]);
24117
+
24118
+ // Clear the backup
24119
+ delete this._preOverlayJustifyState;
24120
+ delete this._originalText;
24121
+
24122
+ // Just request a render, don't rebuild
24123
+ (_this$canvas = this.canvas) === null || _this$canvas === void 0 || _this$canvas.requestRenderAll();
24124
+ return;
24125
+ }
24126
+ } else {
24127
+ console.log('🆕 REBUILD: Text changed, need to rebuild justify layout');
24128
+ // Clean up backup since we won't use it
24129
+ delete this._preOverlayJustifyState;
24130
+ delete this._originalText;
24131
+ }
24132
+ }
24133
+ if (overlayEditor && overlayEditor.textareaElement) {
24134
+ // For non-justify text, extract browser lines normally
24045
24135
  try {
24046
24136
  const result = extractLinesFromDOM(overlayEditor.textareaElement);
24047
- storeBrowserLines(this, result.lines);
24137
+ storeBrowserLines(this, result.lines, result.width);
24048
24138
  } catch (error) {
24049
24139
  console.warn('Failed to extract browser lines:', error);
24050
24140
  }
24051
24141
  }
24052
24142
 
24053
- // Update text content and trigger layout recalculation
24054
- this.text = text;
24143
+ // Trigger layout recalculation
24055
24144
  this.dirty = true;
24056
24145
  this.initDimensions();
24146
+
24147
+ // For justify text, force complete reconstruction after overlay editing
24148
+ if (this.textAlign.includes('justify') && 'enlargeSpaces' in this) {
24149
+ setTimeout(() => {
24150
+ var _this$canvas2;
24151
+ console.log('🔧 FORCE REBUILD: Rebuilding justify text after overlay editing');
24152
+ // Force complete reconstruction of character bounds
24153
+ this.__charBounds = [];
24154
+ this.__lineHeights = [];
24155
+ this.__lineWidths = [];
24156
+ // Re-run initDimensions to rebuild everything
24157
+ this.initDimensions();
24158
+ (_this$canvas2 = this.canvas) === null || _this$canvas2 === void 0 || _this$canvas2.requestRenderAll();
24159
+ }, 20);
24160
+ }
24057
24161
  this.setCoords();
24058
24162
  this.exitEditing();
24059
24163
  this.fire('changed');
24060
24164
  this.canvas && this.canvas.requestRenderAll();
24165
+ console.log('🔧 DEBUG: commitOverlayEdit complete');
24061
24166
  }
24062
24167
 
24063
- /**
24064
- * Cancel overlay editing without changes
24168
+ /**
24169
+ * Cancel overlay editing without changes
24065
24170
  */
24066
24171
  cancelOverlayEdit() {
24067
24172
  // Restore original text
@@ -24069,8 +24174,8 @@ class ITextBehavior extends FabricText {
24069
24174
  this.exitEditing();
24070
24175
  }
24071
24176
 
24072
- /**
24073
- * called by {@link Canvas#textEditingManager}
24177
+ /**
24178
+ * called by {@link Canvas#textEditingManager}
24074
24179
  */
24075
24180
  updateSelectionOnMouseMove(e) {
24076
24181
  if (this.getActiveControl()) {
@@ -24098,8 +24203,8 @@ class ITextBehavior extends FabricText {
24098
24203
  }
24099
24204
  }
24100
24205
 
24101
- /**
24102
- * @private
24206
+ /**
24207
+ * @private
24103
24208
  */
24104
24209
  _setEditingProps() {
24105
24210
  this.hoverCursor = 'text';
@@ -24111,8 +24216,8 @@ class ITextBehavior extends FabricText {
24111
24216
  this.lockMovementX = this.lockMovementY = true;
24112
24217
  }
24113
24218
 
24114
- /**
24115
- * convert from textarea to grapheme indexes
24219
+ /**
24220
+ * convert from textarea to grapheme indexes
24116
24221
  */
24117
24222
  fromStringToGraphemeSelection(start, end, text) {
24118
24223
  const smallerTextStart = text.slice(0, start),
@@ -24131,8 +24236,8 @@ class ITextBehavior extends FabricText {
24131
24236
  };
24132
24237
  }
24133
24238
 
24134
- /**
24135
- * convert from fabric to textarea values
24239
+ /**
24240
+ * convert from fabric to textarea values
24136
24241
  */
24137
24242
  fromGraphemeToStringSelection(start, end, graphemes) {
24138
24243
  const smallerTextStart = graphemes.slice(0, start),
@@ -24151,8 +24256,8 @@ class ITextBehavior extends FabricText {
24151
24256
  };
24152
24257
  }
24153
24258
 
24154
- /**
24155
- * @private
24259
+ /**
24260
+ * @private
24156
24261
  */
24157
24262
  _updateTextarea() {
24158
24263
  console.log('🔤 _updateTextarea called with fabric text:', this.text);
@@ -24177,8 +24282,8 @@ class ITextBehavior extends FabricText {
24177
24282
  this.updateTextareaPosition();
24178
24283
  }
24179
24284
 
24180
- /**
24181
- * @private
24285
+ /**
24286
+ * @private
24182
24287
  */
24183
24288
  updateFromTextArea() {
24184
24289
  if (!this.hiddenTextarea) {
@@ -24198,8 +24303,8 @@ class ITextBehavior extends FabricText {
24198
24303
  this.updateTextareaPosition();
24199
24304
  }
24200
24305
 
24201
- /**
24202
- * @private
24306
+ /**
24307
+ * @private
24203
24308
  */
24204
24309
  updateTextareaPosition() {
24205
24310
  if (this.selectionStart === this.selectionEnd) {
@@ -24209,9 +24314,9 @@ class ITextBehavior extends FabricText {
24209
24314
  }
24210
24315
  }
24211
24316
 
24212
- /**
24213
- * @private
24214
- * @return {Object} style contains style for hiddenTextarea
24317
+ /**
24318
+ * @private
24319
+ * @return {Object} style contains style for hiddenTextarea
24215
24320
  */
24216
24321
  _calcTextareaPosition() {
24217
24322
  if (!this.canvas) {
@@ -24258,8 +24363,8 @@ class ITextBehavior extends FabricText {
24258
24363
  };
24259
24364
  }
24260
24365
 
24261
- /**
24262
- * @private
24366
+ /**
24367
+ * @private
24263
24368
  */
24264
24369
  _saveEditingProps() {
24265
24370
  this._savedProps = {
@@ -24276,8 +24381,8 @@ class ITextBehavior extends FabricText {
24276
24381
  };
24277
24382
  }
24278
24383
 
24279
- /**
24280
- * @private
24384
+ /**
24385
+ * @private
24281
24386
  */
24282
24387
  _restoreEditingProps() {
24283
24388
  if (!this._savedProps) {
@@ -24297,9 +24402,9 @@ class ITextBehavior extends FabricText {
24297
24402
  delete this._savedProps;
24298
24403
  }
24299
24404
 
24300
- /**
24301
- * runs the actual logic that exits from editing state, see {@link exitEditing}
24302
- * But it does not fire events
24405
+ /**
24406
+ * runs the actual logic that exits from editing state, see {@link exitEditing}
24407
+ * But it does not fire events
24303
24408
  */
24304
24409
  exitEditingImpl() {
24305
24410
  const hiddenTextarea = this.hiddenTextarea;
@@ -24320,8 +24425,8 @@ class ITextBehavior extends FabricText {
24320
24425
  }
24321
24426
  }
24322
24427
 
24323
- /**
24324
- * Exits from editing state and fires relevant events
24428
+ /**
24429
+ * Exits from editing state and fires relevant events
24325
24430
  */
24326
24431
  exitEditing() {
24327
24432
  const isTextChanged = this._textBeforeEdit !== this.text;
@@ -24340,8 +24445,8 @@ class ITextBehavior extends FabricText {
24340
24445
  return this;
24341
24446
  }
24342
24447
 
24343
- /**
24344
- * @private
24448
+ /**
24449
+ * @private
24345
24450
  */
24346
24451
  _removeExtraneousStyles() {
24347
24452
  for (const prop in this.styles) {
@@ -24351,10 +24456,10 @@ class ITextBehavior extends FabricText {
24351
24456
  }
24352
24457
  }
24353
24458
 
24354
- /**
24355
- * remove and reflow a style block from start to end.
24356
- * @param {Number} start linear start position for removal (included in removal)
24357
- * @param {Number} end linear end position for removal ( excluded from removal )
24459
+ /**
24460
+ * remove and reflow a style block from start to end.
24461
+ * @param {Number} start linear start position for removal (included in removal)
24462
+ * @param {Number} end linear end position for removal ( excluded from removal )
24358
24463
  */
24359
24464
  removeStyleFromTo(start, end) {
24360
24465
  const {
@@ -24407,10 +24512,10 @@ class ITextBehavior extends FabricText {
24407
24512
  }
24408
24513
  }
24409
24514
 
24410
- /**
24411
- * Shifts line styles up or down
24412
- * @param {Number} lineIndex Index of a line
24413
- * @param {Number} offset Can any number?
24515
+ /**
24516
+ * Shifts line styles up or down
24517
+ * @param {Number} lineIndex Index of a line
24518
+ * @param {Number} offset Can any number?
24414
24519
  */
24415
24520
  shiftLineStyles(lineIndex, offset) {
24416
24521
  const clonedStyles = Object.assign({}, this.styles);
@@ -24425,15 +24530,15 @@ class ITextBehavior extends FabricText {
24425
24530
  }
24426
24531
  }
24427
24532
 
24428
- /**
24429
- * Handle insertion of more consecutive style lines for when one or more
24430
- * newlines gets added to the text. Since current style needs to be shifted
24431
- * first we shift the current style of the number lines needed, then we add
24432
- * new lines from the last to the first.
24433
- * @param {Number} lineIndex Index of a line
24434
- * @param {Number} charIndex Index of a char
24435
- * @param {Number} qty number of lines to add
24436
- * @param {Array} copiedStyle Array of objects styles
24533
+ /**
24534
+ * Handle insertion of more consecutive style lines for when one or more
24535
+ * newlines gets added to the text. Since current style needs to be shifted
24536
+ * first we shift the current style of the number lines needed, then we add
24537
+ * new lines from the last to the first.
24538
+ * @param {Number} lineIndex Index of a line
24539
+ * @param {Number} charIndex Index of a char
24540
+ * @param {Number} qty number of lines to add
24541
+ * @param {Array} copiedStyle Array of objects styles
24437
24542
  */
24438
24543
  insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
24439
24544
  const newLineStyles = {};
@@ -24493,12 +24598,12 @@ class ITextBehavior extends FabricText {
24493
24598
  this._forceClearCache = true;
24494
24599
  }
24495
24600
 
24496
- /**
24497
- * Inserts style object for a given line/char index
24498
- * @param {Number} lineIndex Index of a line
24499
- * @param {Number} charIndex Index of a char
24500
- * @param {Number} quantity number Style object to insert, if given
24501
- * @param {Array} copiedStyle array of style objects
24601
+ /**
24602
+ * Inserts style object for a given line/char index
24603
+ * @param {Number} lineIndex Index of a line
24604
+ * @param {Number} charIndex Index of a char
24605
+ * @param {Number} quantity number Style object to insert, if given
24606
+ * @param {Array} copiedStyle array of style objects
24502
24607
  */
24503
24608
  insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
24504
24609
  if (!this.styles) {
@@ -24547,11 +24652,11 @@ class ITextBehavior extends FabricText {
24547
24652
  }
24548
24653
  }
24549
24654
 
24550
- /**
24551
- * Inserts style object(s)
24552
- * @param {Array} insertedText Characters at the location where style is inserted
24553
- * @param {Number} start cursor index for inserting style
24554
- * @param {Array} [copiedStyle] array of style objects to insert.
24655
+ /**
24656
+ * Inserts style object(s)
24657
+ * @param {Array} insertedText Characters at the location where style is inserted
24658
+ * @param {Number} start cursor index for inserting style
24659
+ * @param {Array} [copiedStyle] array of style objects to insert.
24555
24660
  */
24556
24661
  insertNewStyleBlock(insertedText, start, copiedStyle) {
24557
24662
  const cursorLoc = this.get2DCursorLocation(start, true),
@@ -24592,12 +24697,12 @@ class ITextBehavior extends FabricText {
24592
24697
  }
24593
24698
  }
24594
24699
 
24595
- /**
24596
- * Removes characters from start/end
24597
- * start/end ar per grapheme position in _text array.
24598
- *
24599
- * @param {Number} start
24600
- * @param {Number} end default to start + 1
24700
+ /**
24701
+ * Removes characters from start/end
24702
+ * start/end ar per grapheme position in _text array.
24703
+ *
24704
+ * @param {Number} start
24705
+ * @param {Number} end default to start + 1
24601
24706
  */
24602
24707
  removeChars(start) {
24603
24708
  let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
@@ -24610,17 +24715,17 @@ class ITextBehavior extends FabricText {
24610
24715
  this._removeExtraneousStyles();
24611
24716
  }
24612
24717
 
24613
- /**
24614
- * insert characters at start position, before start position.
24615
- * start equal 1 it means the text get inserted between actual grapheme 0 and 1
24616
- * if style array is provided, it must be as the same length of text in graphemes
24617
- * if end is provided and is bigger than start, old text is replaced.
24618
- * start/end ar per grapheme position in _text array.
24619
- *
24620
- * @param {String} text text to insert
24621
- * @param {Array} style array of style objects
24622
- * @param {Number} start
24623
- * @param {Number} end default to start + 1
24718
+ /**
24719
+ * insert characters at start position, before start position.
24720
+ * start equal 1 it means the text get inserted between actual grapheme 0 and 1
24721
+ * if style array is provided, it must be as the same length of text in graphemes
24722
+ * if end is provided and is bigger than start, old text is replaced.
24723
+ * start/end ar per grapheme position in _text array.
24724
+ *
24725
+ * @param {String} text text to insert
24726
+ * @param {Array} style array of style objects
24727
+ * @param {Number} start
24728
+ * @param {Number} end default to start + 1
24624
24729
  */
24625
24730
  insertChars(text, style, start) {
24626
24731
  let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
@@ -24637,9 +24742,9 @@ class ITextBehavior extends FabricText {
24637
24742
  this._removeExtraneousStyles();
24638
24743
  }
24639
24744
 
24640
- /**
24641
- * Set the selectionStart and selectionEnd according to the new position of cursor
24642
- * mimic the key - mouse navigation when shift is pressed.
24745
+ /**
24746
+ * Set the selectionStart and selectionEnd according to the new position of cursor
24747
+ * mimic the key - mouse navigation when shift is pressed.
24643
24748
  */
24644
24749
  setSelectionStartEndWithShift(start, end, newSelection) {
24645
24750
  if (newSelection <= start) {
@@ -24670,36 +24775,36 @@ class ITextBehavior extends FabricText {
24670
24775
  }
24671
24776
 
24672
24777
  class ITextKeyBehavior extends ITextBehavior {
24673
- /**
24674
- * For functionalities on keyDown
24675
- * Map a special key to a function of the instance/prototype
24676
- * If you need different behavior for ESC or TAB or arrows, you have to change
24677
- * this map setting the name of a function that you build on the IText or
24678
- * your prototype.
24679
- * the map change will affect all Instances unless you need for only some text Instances
24680
- * in that case you have to clone this object and assign your Instance.
24681
- * this.keysMap = Object.assign({}, this.keysMap);
24682
- * The function must be in IText.prototype.myFunction And will receive event as args[0]
24778
+ /**
24779
+ * For functionalities on keyDown
24780
+ * Map a special key to a function of the instance/prototype
24781
+ * If you need different behavior for ESC or TAB or arrows, you have to change
24782
+ * this map setting the name of a function that you build on the IText or
24783
+ * your prototype.
24784
+ * the map change will affect all Instances unless you need for only some text Instances
24785
+ * in that case you have to clone this object and assign your Instance.
24786
+ * this.keysMap = Object.assign({}, this.keysMap);
24787
+ * The function must be in IText.prototype.myFunction And will receive event as args[0]
24683
24788
  */
24684
24789
 
24685
- /**
24686
- * For functionalities on keyUp + ctrl || cmd
24790
+ /**
24791
+ * For functionalities on keyUp + ctrl || cmd
24687
24792
  */
24688
24793
 
24689
- /**
24690
- * For functionalities on keyDown + ctrl || cmd
24794
+ /**
24795
+ * For functionalities on keyDown + ctrl || cmd
24691
24796
  */
24692
24797
 
24693
- /**
24694
- * DOM container to append the hiddenTextarea.
24695
- * An alternative to attaching to the document.body.
24696
- * Useful to reduce laggish redraw of the full document.body tree and
24697
- * also with modals event capturing that won't let the textarea take focus.
24698
- * @type HTMLElement
24798
+ /**
24799
+ * DOM container to append the hiddenTextarea.
24800
+ * An alternative to attaching to the document.body.
24801
+ * Useful to reduce laggish redraw of the full document.body tree and
24802
+ * also with modals event capturing that won't let the textarea take focus.
24803
+ * @type HTMLElement
24699
24804
  */
24700
24805
 
24701
- /**
24702
- * Initializes hidden textarea (needed to bring up keyboard in iOS)
24806
+ /**
24807
+ * Initializes hidden textarea (needed to bring up keyboard in iOS)
24703
24808
  */
24704
24809
  initHiddenTextarea() {
24705
24810
  const doc = this.canvas && getDocumentFromElement(this.canvas.getElement()) || getFabricDocument();
@@ -24742,17 +24847,17 @@ class ITextKeyBehavior extends ITextBehavior {
24742
24847
  this.hiddenTextarea = textarea;
24743
24848
  }
24744
24849
 
24745
- /**
24746
- * Override this method to customize cursor behavior on textbox blur
24850
+ /**
24851
+ * Override this method to customize cursor behavior on textbox blur
24747
24852
  */
24748
24853
  blur() {
24749
24854
  this.abortCursorAnimation();
24750
24855
  }
24751
24856
 
24752
- /**
24753
- * Handles keydown event
24754
- * only used for arrows and combination of modifier keys.
24755
- * @param {KeyboardEvent} e Event object
24857
+ /**
24858
+ * Handles keydown event
24859
+ * only used for arrows and combination of modifier keys.
24860
+ * @param {KeyboardEvent} e Event object
24756
24861
  */
24757
24862
  onKeyDown(e) {
24758
24863
  if (!this.isEditing) {
@@ -24778,11 +24883,11 @@ class ITextKeyBehavior extends ITextBehavior {
24778
24883
  }
24779
24884
  }
24780
24885
 
24781
- /**
24782
- * Handles keyup event
24783
- * We handle KeyUp because ie11 and edge have difficulties copy/pasting
24784
- * if a copy/cut event fired, keyup is dismissed
24785
- * @param {KeyboardEvent} e Event object
24886
+ /**
24887
+ * Handles keyup event
24888
+ * We handle KeyUp because ie11 and edge have difficulties copy/pasting
24889
+ * if a copy/cut event fired, keyup is dismissed
24890
+ * @param {KeyboardEvent} e Event object
24786
24891
  */
24787
24892
  onKeyUp(e) {
24788
24893
  if (!this.isEditing || this._copyDone || this.inCompositionMode) {
@@ -24799,9 +24904,9 @@ class ITextKeyBehavior extends ITextBehavior {
24799
24904
  this.canvas && this.canvas.requestRenderAll();
24800
24905
  }
24801
24906
 
24802
- /**
24803
- * Handles onInput event
24804
- * @param {Event} e Event object
24907
+ /**
24908
+ * Handles onInput event
24909
+ * @param {Event} e Event object
24805
24910
  */
24806
24911
  onInput(e) {
24807
24912
  const fromPaste = this.fromPaste;
@@ -24938,15 +25043,15 @@ class ITextKeyBehavior extends ITextBehavior {
24938
25043
  updateAndFire();
24939
25044
  }
24940
25045
 
24941
- /**
24942
- * Composition start
25046
+ /**
25047
+ * Composition start
24943
25048
  */
24944
25049
  onCompositionStart() {
24945
25050
  this.inCompositionMode = true;
24946
25051
  }
24947
25052
 
24948
- /**
24949
- * Composition end
25053
+ /**
25054
+ * Composition end
24950
25055
  */
24951
25056
  onCompositionEnd() {
24952
25057
  this.inCompositionMode = false;
@@ -24964,8 +25069,8 @@ class ITextKeyBehavior extends ITextBehavior {
24964
25069
  this.updateTextareaPosition();
24965
25070
  }
24966
25071
 
24967
- /**
24968
- * Copies selected text
25072
+ /**
25073
+ * Copies selected text
24969
25074
  */
24970
25075
  copy() {
24971
25076
  if (this.selectionStart === this.selectionEnd) {
@@ -24984,19 +25089,19 @@ class ITextKeyBehavior extends ITextBehavior {
24984
25089
  this._copyDone = true;
24985
25090
  }
24986
25091
 
24987
- /**
24988
- * Pastes text
25092
+ /**
25093
+ * Pastes text
24989
25094
  */
24990
25095
  paste() {
24991
25096
  this.fromPaste = true;
24992
25097
  }
24993
25098
 
24994
- /**
24995
- * Finds the width in pixels before the cursor on the same line
24996
- * @private
24997
- * @param {Number} lineIndex
24998
- * @param {Number} charIndex
24999
- * @return {Number} widthBeforeCursor width before cursor
25099
+ /**
25100
+ * Finds the width in pixels before the cursor on the same line
25101
+ * @private
25102
+ * @param {Number} lineIndex
25103
+ * @param {Number} charIndex
25104
+ * @return {Number} widthBeforeCursor width before cursor
25000
25105
  */
25001
25106
  _getWidthBeforeCursor(lineIndex, charIndex) {
25002
25107
  let widthBeforeCursor = this._getLineLeftOffset(lineIndex),
@@ -25008,11 +25113,11 @@ class ITextKeyBehavior extends ITextBehavior {
25008
25113
  return widthBeforeCursor;
25009
25114
  }
25010
25115
 
25011
- /**
25012
- * Gets start offset of a selection
25013
- * @param {KeyboardEvent} e Event object
25014
- * @param {Boolean} isRight
25015
- * @return {Number}
25116
+ /**
25117
+ * Gets start offset of a selection
25118
+ * @param {KeyboardEvent} e Event object
25119
+ * @param {Boolean} isRight
25120
+ * @return {Number}
25016
25121
  */
25017
25122
  getDownCursorOffset(e, isRight) {
25018
25123
  const selectionProp = this._getSelectionForOffset(e, isRight),
@@ -25030,12 +25135,12 @@ class ITextKeyBehavior extends ITextBehavior {
25030
25135
  return textAfterCursor.length + indexOnOtherLine + 1 + this.missingNewlineOffset(lineIndex);
25031
25136
  }
25032
25137
 
25033
- /**
25034
- * private
25035
- * Helps finding if the offset should be counted from Start or End
25036
- * @param {KeyboardEvent} e Event object
25037
- * @param {Boolean} isRight
25038
- * @return {Number}
25138
+ /**
25139
+ * private
25140
+ * Helps finding if the offset should be counted from Start or End
25141
+ * @param {KeyboardEvent} e Event object
25142
+ * @param {Boolean} isRight
25143
+ * @return {Number}
25039
25144
  */
25040
25145
  _getSelectionForOffset(e, isRight) {
25041
25146
  if (e.shiftKey && this.selectionStart !== this.selectionEnd && isRight) {
@@ -25045,10 +25150,10 @@ class ITextKeyBehavior extends ITextBehavior {
25045
25150
  }
25046
25151
  }
25047
25152
 
25048
- /**
25049
- * @param {KeyboardEvent} e Event object
25050
- * @param {Boolean} isRight
25051
- * @return {Number}
25153
+ /**
25154
+ * @param {KeyboardEvent} e Event object
25155
+ * @param {Boolean} isRight
25156
+ * @return {Number}
25052
25157
  */
25053
25158
  getUpCursorOffset(e, isRight) {
25054
25159
  const selectionProp = this._getSelectionForOffset(e, isRight),
@@ -25067,9 +25172,9 @@ class ITextKeyBehavior extends ITextBehavior {
25067
25172
  return -this._textLines[lineIndex - 1].length + indexOnOtherLine - textBeforeCursor.length + (1 - missingNewlineOffset);
25068
25173
  }
25069
25174
 
25070
- /**
25071
- * for a given width it founds the matching character.
25072
- * @private
25175
+ /**
25176
+ * for a given width it founds the matching character.
25177
+ * @private
25073
25178
  */
25074
25179
  _getIndexOnLine(lineIndex, width) {
25075
25180
  const line = this._textLines[lineIndex],
@@ -25099,9 +25204,9 @@ class ITextKeyBehavior extends ITextBehavior {
25099
25204
  return indexOnLine;
25100
25205
  }
25101
25206
 
25102
- /**
25103
- * Moves cursor down
25104
- * @param {KeyboardEvent} e Event object
25207
+ /**
25208
+ * Moves cursor down
25209
+ * @param {KeyboardEvent} e Event object
25105
25210
  */
25106
25211
  moveCursorDown(e) {
25107
25212
  if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
@@ -25110,9 +25215,9 @@ class ITextKeyBehavior extends ITextBehavior {
25110
25215
  this._moveCursorUpOrDown('Down', e);
25111
25216
  }
25112
25217
 
25113
- /**
25114
- * Moves cursor up
25115
- * @param {KeyboardEvent} e Event object
25218
+ /**
25219
+ * Moves cursor up
25220
+ * @param {KeyboardEvent} e Event object
25116
25221
  */
25117
25222
  moveCursorUp(e) {
25118
25223
  if (this.selectionStart === 0 && this.selectionEnd === 0) {
@@ -25121,10 +25226,10 @@ class ITextKeyBehavior extends ITextBehavior {
25121
25226
  this._moveCursorUpOrDown('Up', e);
25122
25227
  }
25123
25228
 
25124
- /**
25125
- * Moves cursor up or down, fires the events
25126
- * @param {String} direction 'Up' or 'Down'
25127
- * @param {KeyboardEvent} e Event object
25229
+ /**
25230
+ * Moves cursor up or down, fires the events
25231
+ * @param {String} direction 'Up' or 'Down'
25232
+ * @param {KeyboardEvent} e Event object
25128
25233
  */
25129
25234
  _moveCursorUpOrDown(direction, e) {
25130
25235
  const offset = this[`get${direction}CursorOffset`](e, this._selectionDirection === RIGHT);
@@ -25146,9 +25251,9 @@ class ITextKeyBehavior extends ITextBehavior {
25146
25251
  }
25147
25252
  }
25148
25253
 
25149
- /**
25150
- * Moves cursor with shift
25151
- * @param {Number} offset
25254
+ /**
25255
+ * Moves cursor with shift
25256
+ * @param {Number} offset
25152
25257
  */
25153
25258
  moveCursorWithShift(offset) {
25154
25259
  const newSelection = this._selectionDirection === LEFT ? this.selectionStart + offset : this.selectionEnd + offset;
@@ -25156,9 +25261,9 @@ class ITextKeyBehavior extends ITextBehavior {
25156
25261
  return offset !== 0;
25157
25262
  }
25158
25263
 
25159
- /**
25160
- * Moves cursor up without shift
25161
- * @param {Number} offset
25264
+ /**
25265
+ * Moves cursor up without shift
25266
+ * @param {Number} offset
25162
25267
  */
25163
25268
  moveCursorWithoutShift(offset) {
25164
25269
  if (offset < 0) {
@@ -25171,9 +25276,9 @@ class ITextKeyBehavior extends ITextBehavior {
25171
25276
  return offset !== 0;
25172
25277
  }
25173
25278
 
25174
- /**
25175
- * Moves cursor left
25176
- * @param {KeyboardEvent} e Event object
25279
+ /**
25280
+ * Moves cursor left
25281
+ * @param {KeyboardEvent} e Event object
25177
25282
  */
25178
25283
  moveCursorLeft(e) {
25179
25284
  if (this.selectionStart === 0 && this.selectionEnd === 0) {
@@ -25182,11 +25287,11 @@ class ITextKeyBehavior extends ITextBehavior {
25182
25287
  this._moveCursorLeftOrRight('Left', e);
25183
25288
  }
25184
25289
 
25185
- /**
25186
- * @private
25187
- * @return {Boolean} true if a change happened
25188
- *
25189
- * @todo refactor not to use method name composition
25290
+ /**
25291
+ * @private
25292
+ * @return {Boolean} true if a change happened
25293
+ *
25294
+ * @todo refactor not to use method name composition
25190
25295
  */
25191
25296
  _move(e, prop, direction) {
25192
25297
  let newValue;
@@ -25205,23 +25310,23 @@ class ITextKeyBehavior extends ITextBehavior {
25205
25310
  return false;
25206
25311
  }
25207
25312
 
25208
- /**
25209
- * @private
25313
+ /**
25314
+ * @private
25210
25315
  */
25211
25316
  _moveLeft(e, prop) {
25212
25317
  return this._move(e, prop, 'Left');
25213
25318
  }
25214
25319
 
25215
- /**
25216
- * @private
25320
+ /**
25321
+ * @private
25217
25322
  */
25218
25323
  _moveRight(e, prop) {
25219
25324
  return this._move(e, prop, 'Right');
25220
25325
  }
25221
25326
 
25222
- /**
25223
- * Moves cursor left without keeping selection
25224
- * @param {KeyboardEvent} e
25327
+ /**
25328
+ * Moves cursor left without keeping selection
25329
+ * @param {KeyboardEvent} e
25225
25330
  */
25226
25331
  moveCursorLeftWithoutShift(e) {
25227
25332
  let change = true;
@@ -25236,9 +25341,9 @@ class ITextKeyBehavior extends ITextBehavior {
25236
25341
  return change;
25237
25342
  }
25238
25343
 
25239
- /**
25240
- * Moves cursor left while keeping selection
25241
- * @param {KeyboardEvent} e
25344
+ /**
25345
+ * Moves cursor left while keeping selection
25346
+ * @param {KeyboardEvent} e
25242
25347
  */
25243
25348
  moveCursorLeftWithShift(e) {
25244
25349
  if (this._selectionDirection === RIGHT && this.selectionStart !== this.selectionEnd) {
@@ -25249,9 +25354,9 @@ class ITextKeyBehavior extends ITextBehavior {
25249
25354
  }
25250
25355
  }
25251
25356
 
25252
- /**
25253
- * Moves cursor right
25254
- * @param {KeyboardEvent} e Event object
25357
+ /**
25358
+ * Moves cursor right
25359
+ * @param {KeyboardEvent} e Event object
25255
25360
  */
25256
25361
  moveCursorRight(e) {
25257
25362
  if (this.selectionStart >= this._text.length && this.selectionEnd >= this._text.length) {
@@ -25260,10 +25365,10 @@ class ITextKeyBehavior extends ITextBehavior {
25260
25365
  this._moveCursorLeftOrRight('Right', e);
25261
25366
  }
25262
25367
 
25263
- /**
25264
- * Moves cursor right or Left, fires event
25265
- * @param {String} direction 'Left', 'Right'
25266
- * @param {KeyboardEvent} e Event object
25368
+ /**
25369
+ * Moves cursor right or Left, fires event
25370
+ * @param {String} direction 'Left', 'Right'
25371
+ * @param {KeyboardEvent} e Event object
25267
25372
  */
25268
25373
  _moveCursorLeftOrRight(direction, e) {
25269
25374
  const actionName = `moveCursor${direction}${e.shiftKey ? 'WithShift' : 'WithoutShift'}`;
@@ -25278,9 +25383,9 @@ class ITextKeyBehavior extends ITextBehavior {
25278
25383
  }
25279
25384
  }
25280
25385
 
25281
- /**
25282
- * Moves cursor right while keeping selection
25283
- * @param {KeyboardEvent} e
25386
+ /**
25387
+ * Moves cursor right while keeping selection
25388
+ * @param {KeyboardEvent} e
25284
25389
  */
25285
25390
  moveCursorRightWithShift(e) {
25286
25391
  if (this._selectionDirection === LEFT && this.selectionStart !== this.selectionEnd) {
@@ -25291,9 +25396,9 @@ class ITextKeyBehavior extends ITextBehavior {
25291
25396
  }
25292
25397
  }
25293
25398
 
25294
- /**
25295
- * Moves cursor right without keeping selection
25296
- * @param {KeyboardEvent} e Event object
25399
+ /**
25400
+ * Moves cursor right without keeping selection
25401
+ * @param {KeyboardEvent} e Event object
25297
25402
  */
25298
25403
  moveCursorRightWithoutShift(e) {
25299
25404
  let changed = true;
@@ -25308,8 +25413,8 @@ class ITextKeyBehavior extends ITextBehavior {
25308
25413
  }
25309
25414
  }
25310
25415
 
25311
- /**
25312
- * `LEFT_CLICK === 0`
25416
+ /**
25417
+ * `LEFT_CLICK === 0`
25313
25418
  */
25314
25419
  const notALeftClick = e => !!e.button;
25315
25420
  class ITextClickBehavior extends ITextKeyBehavior {
@@ -25327,36 +25432,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
25327
25432
  super.initBehavior();
25328
25433
  }
25329
25434
 
25330
- /**
25331
- * If this method returns true a mouse move operation over a text selection
25332
- * will not prevent the native mouse event allowing the browser to start a drag operation.
25333
- * shouldStartDragging can be read 'do not prevent default for mouse move event'
25334
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25335
- * @returns
25435
+ /**
25436
+ * If this method returns true a mouse move operation over a text selection
25437
+ * will not prevent the native mouse event allowing the browser to start a drag operation.
25438
+ * shouldStartDragging can be read 'do not prevent default for mouse move event'
25439
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25440
+ * @returns
25336
25441
  */
25337
25442
  shouldStartDragging() {
25338
25443
  return this.draggableTextDelegate.isActive();
25339
25444
  }
25340
25445
 
25341
- /**
25342
- * @public override this method to control whether instance should/shouldn't become a drag source,
25343
- * @see also {@link DraggableTextDelegate#isActive}
25344
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25345
- * @returns {boolean} should handle event
25446
+ /**
25447
+ * @public override this method to control whether instance should/shouldn't become a drag source,
25448
+ * @see also {@link DraggableTextDelegate#isActive}
25449
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
25450
+ * @returns {boolean} should handle event
25346
25451
  */
25347
25452
  onDragStart(e) {
25348
25453
  return this.draggableTextDelegate.onDragStart(e);
25349
25454
  }
25350
25455
 
25351
- /**
25352
- * @public override this method to control whether instance should/shouldn't become a drop target
25456
+ /**
25457
+ * @public override this method to control whether instance should/shouldn't become a drop target
25353
25458
  */
25354
25459
  canDrop(e) {
25355
25460
  return this.draggableTextDelegate.canDrop(e);
25356
25461
  }
25357
25462
 
25358
- /**
25359
- * Default handler for double click, select a word or enter overlay editing
25463
+ /**
25464
+ * Default handler for double click, select a word or enter overlay editing
25360
25465
  */
25361
25466
  doubleClickHandler(options) {
25362
25467
  // Check if we should enter overlay editing mode
@@ -25373,8 +25478,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
25373
25478
  this.renderCursorOrSelection();
25374
25479
  }
25375
25480
 
25376
- /**
25377
- * Default handler for triple click, select a line
25481
+ /**
25482
+ * Default handler for triple click, select a line
25378
25483
  */
25379
25484
  tripleClickHandler(options) {
25380
25485
  if (!this.isEditing) {
@@ -25384,13 +25489,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
25384
25489
  this.renderCursorOrSelection();
25385
25490
  }
25386
25491
 
25387
- /**
25388
- * Default event handler for the basic functionalities needed on _mouseDown
25389
- * can be overridden to do something different.
25390
- * Scope of this implementation is: find the click position, set selectionStart
25391
- * find selectionEnd, initialize the drawing of either cursor or selection area
25392
- * initializing a mousedDown on a text area will cancel fabricjs knowledge of
25393
- * current compositionMode. It will be set to false.
25492
+ /**
25493
+ * Default event handler for the basic functionalities needed on _mouseDown
25494
+ * can be overridden to do something different.
25495
+ * Scope of this implementation is: find the click position, set selectionStart
25496
+ * find selectionEnd, initialize the drawing of either cursor or selection area
25497
+ * initializing a mousedDown on a text area will cancel fabricjs knowledge of
25498
+ * current compositionMode. It will be set to false.
25394
25499
  */
25395
25500
  _mouseDownHandler(_ref) {
25396
25501
  let {
@@ -25418,9 +25523,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
25418
25523
  this.selected || (this.selected = alreadySelected || this.isEditing);
25419
25524
  }
25420
25525
 
25421
- /**
25422
- * standard handler for mouse up, overridable
25423
- * @private
25526
+ /**
25527
+ * standard handler for mouse up, overridable
25528
+ * @private
25424
25529
  */
25425
25530
  mouseUpHandler(_ref2) {
25426
25531
  let {
@@ -25451,9 +25556,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
25451
25556
  }
25452
25557
  }
25453
25558
 
25454
- /**
25455
- * Changes cursor location in a text depending on passed pointer (x/y) object
25456
- * @param {TPointerEvent} e Event object
25559
+ /**
25560
+ * Changes cursor location in a text depending on passed pointer (x/y) object
25561
+ * @param {TPointerEvent} e Event object
25457
25562
  */
25458
25563
  setCursorByClick(e) {
25459
25564
  const newSelection = this.getSelectionStartFromPointer(e),
@@ -25471,10 +25576,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
25471
25576
  }
25472
25577
  }
25473
25578
 
25474
- /**
25475
- * Returns index of a character corresponding to where an object was clicked
25476
- * @param {TPointerEvent} e Event object
25477
- * @return {Number} Index of a character
25579
+ /**
25580
+ * Returns index of a character corresponding to where an object was clicked
25581
+ * @param {TPointerEvent} e Event object
25582
+ * @return {Number} Index of a character
25478
25583
  */
25479
25584
  getSelectionStartFromPointer(e) {
25480
25585
  const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
@@ -25520,15 +25625,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
25520
25625
  }
25521
25626
  }
25522
25627
 
25523
- /**
25524
- * Hit Testing and Cursor Positioning System
25525
- *
25526
- * Maps pointer coordinates to text positions and provides cursor rectangles
25527
- * for interactive text editing with grapheme-aware boundaries.
25628
+ /**
25629
+ * Hit Testing and Cursor Positioning System
25630
+ *
25631
+ * Maps pointer coordinates to text positions and provides cursor rectangles
25632
+ * for interactive text editing with grapheme-aware boundaries.
25528
25633
  */
25529
25634
 
25530
- /**
25531
- * Hit test a point against laid out text to find insertion position
25635
+ /**
25636
+ * Hit test a point against laid out text to find insertion position
25532
25637
  */
25533
25638
  function hitTest(x, y, layout, options) {
25534
25639
  if (layout.lines.length === 0) {
@@ -25572,8 +25677,8 @@ function hitTest(x, y, layout, options) {
25572
25677
  };
25573
25678
  }
25574
25679
 
25575
- /**
25576
- * Get cursor rectangle for a given insertion index
25680
+ /**
25681
+ * Get cursor rectangle for a given insertion index
25577
25682
  */
25578
25683
  function getCursorRect(insertionIndex, layout, options) {
25579
25684
  if (layout.lines.length === 0) {
@@ -25620,8 +25725,8 @@ function getCursorRect(insertionIndex, layout, options) {
25620
25725
 
25621
25726
  // Private helper functions
25622
25727
 
25623
- /**
25624
- * Find which line contains the given Y coordinate
25728
+ /**
25729
+ * Find which line contains the given Y coordinate
25625
25730
  */
25626
25731
  function findLineAtY(y, lines) {
25627
25732
  var _lines;
@@ -25644,8 +25749,8 @@ function findLineAtY(y, lines) {
25644
25749
  };
25645
25750
  }
25646
25751
 
25647
- /**
25648
- * Find character position within a line at given X coordinate
25752
+ /**
25753
+ * Find character position within a line at given X coordinate
25649
25754
  */
25650
25755
  function findCharAtX(x, line, options) {
25651
25756
  if (line.bounds.length === 0) {
@@ -25751,8 +25856,8 @@ function findCharAtX(x, line, options) {
25751
25856
  };
25752
25857
  }
25753
25858
 
25754
- /**
25755
- * Calculate total insertion index from line and character indices
25859
+ /**
25860
+ * Calculate total insertion index from line and character indices
25756
25861
  */
25757
25862
  function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
25758
25863
  let insertionIndex = 0;
@@ -25771,8 +25876,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
25771
25876
  return insertionIndex;
25772
25877
  }
25773
25878
 
25774
- /**
25775
- * Find line and grapheme position from insertion index
25879
+ /**
25880
+ * Find line and grapheme position from insertion index
25776
25881
  */
25777
25882
  function findPositionFromIndex(insertionIndex, layout) {
25778
25883
  let currentIndex = 0;
@@ -25814,8 +25919,8 @@ function findPositionFromIndex(insertionIndex, layout) {
25814
25919
  };
25815
25920
  }
25816
25921
 
25817
- /**
25818
- * Calculate Y position of a line
25922
+ /**
25923
+ * Calculate Y position of a line
25819
25924
  */
25820
25925
  function calculateLineY(lineIndex, layout, options) {
25821
25926
  let y = 0;
@@ -25918,48 +26023,48 @@ const iTextDefaultValues = {
25918
26023
 
25919
26024
  // @TODO this is not complete
25920
26025
 
25921
- /**
25922
- * @fires changed
25923
- * @fires selection:changed
25924
- * @fires editing:entered
25925
- * @fires editing:exited
25926
- * @fires dragstart
25927
- * @fires drag drag event firing on the drag source
25928
- * @fires dragend
25929
- * @fires copy
25930
- * @fires cut
25931
- * @fires paste
25932
- *
25933
- * #### Supported key combinations
25934
- * ```
25935
- * Move cursor: left, right, up, down
25936
- * Select character: shift + left, shift + right
25937
- * Select text vertically: shift + up, shift + down
25938
- * Move cursor by word: alt + left, alt + right
25939
- * Select words: shift + alt + left, shift + alt + right
25940
- * Move cursor to line start/end: cmd + left, cmd + right or home, end
25941
- * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
25942
- * Jump to start/end of text: cmd + up, cmd + down
25943
- * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
25944
- * Delete character: backspace
25945
- * Delete word: alt + backspace
25946
- * Delete line: cmd + backspace
25947
- * Forward delete: delete
25948
- * Copy text: ctrl/cmd + c
25949
- * Paste text: ctrl/cmd + v
25950
- * Cut text: ctrl/cmd + x
25951
- * Select entire text: ctrl/cmd + a
25952
- * Quit editing tab or esc
25953
- * ```
25954
- *
25955
- * #### Supported mouse/touch combination
25956
- * ```
25957
- * Position cursor: click/touch
25958
- * Create selection: click/touch & drag
25959
- * Create selection: click & shift + click
25960
- * Select word: double click
25961
- * Select line: triple click
25962
- * ```
26026
+ /**
26027
+ * @fires changed
26028
+ * @fires selection:changed
26029
+ * @fires editing:entered
26030
+ * @fires editing:exited
26031
+ * @fires dragstart
26032
+ * @fires drag drag event firing on the drag source
26033
+ * @fires dragend
26034
+ * @fires copy
26035
+ * @fires cut
26036
+ * @fires paste
26037
+ *
26038
+ * #### Supported key combinations
26039
+ * ```
26040
+ * Move cursor: left, right, up, down
26041
+ * Select character: shift + left, shift + right
26042
+ * Select text vertically: shift + up, shift + down
26043
+ * Move cursor by word: alt + left, alt + right
26044
+ * Select words: shift + alt + left, shift + alt + right
26045
+ * Move cursor to line start/end: cmd + left, cmd + right or home, end
26046
+ * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
26047
+ * Jump to start/end of text: cmd + up, cmd + down
26048
+ * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
26049
+ * Delete character: backspace
26050
+ * Delete word: alt + backspace
26051
+ * Delete line: cmd + backspace
26052
+ * Forward delete: delete
26053
+ * Copy text: ctrl/cmd + c
26054
+ * Paste text: ctrl/cmd + v
26055
+ * Cut text: ctrl/cmd + x
26056
+ * Select entire text: ctrl/cmd + a
26057
+ * Quit editing tab or esc
26058
+ * ```
26059
+ *
26060
+ * #### Supported mouse/touch combination
26061
+ * ```
26062
+ * Position cursor: click/touch
26063
+ * Create selection: click/touch & drag
26064
+ * Create selection: click & shift + click
26065
+ * Select word: double click
26066
+ * Select line: triple click
26067
+ * ```
25963
26068
  */
25964
26069
  class IText extends ITextClickBehavior {
25965
26070
  static getDefaults() {
@@ -25974,10 +26079,10 @@ class IText extends ITextClickBehavior {
25974
26079
  return type === 'itext' ? 'i-text' : type;
25975
26080
  }
25976
26081
 
25977
- /**
25978
- * Constructor
25979
- * @param {String} text Text string
25980
- * @param {Object} [options] Options object
26082
+ /**
26083
+ * Constructor
26084
+ * @param {String} text Text string
26085
+ * @param {Object} [options] Options object
25981
26086
  */
25982
26087
  constructor(text, options) {
25983
26088
  super(text, {
@@ -25987,11 +26092,11 @@ class IText extends ITextClickBehavior {
25987
26092
  this.initBehavior();
25988
26093
  }
25989
26094
 
25990
- /**
25991
- * While editing handle differently
25992
- * @private
25993
- * @param {string} key
25994
- * @param {*} value
26095
+ /**
26096
+ * While editing handle differently
26097
+ * @private
26098
+ * @param {string} key
26099
+ * @param {*} value
25995
26100
  */
25996
26101
  _set(key, value) {
25997
26102
  if (this.isEditing && this._savedProps && key in this._savedProps) {
@@ -26006,28 +26111,28 @@ class IText extends ITextClickBehavior {
26006
26111
  return super._set(key, value);
26007
26112
  }
26008
26113
 
26009
- /**
26010
- * Sets selection start (left boundary of a selection)
26011
- * @param {Number} index Index to set selection start to
26114
+ /**
26115
+ * Sets selection start (left boundary of a selection)
26116
+ * @param {Number} index Index to set selection start to
26012
26117
  */
26013
26118
  setSelectionStart(index) {
26014
26119
  index = Math.max(index, 0);
26015
26120
  this._updateAndFire('selectionStart', index);
26016
26121
  }
26017
26122
 
26018
- /**
26019
- * Sets selection end (right boundary of a selection)
26020
- * @param {Number} index Index to set selection end to
26123
+ /**
26124
+ * Sets selection end (right boundary of a selection)
26125
+ * @param {Number} index Index to set selection end to
26021
26126
  */
26022
26127
  setSelectionEnd(index) {
26023
26128
  index = Math.min(index, this.text.length);
26024
26129
  this._updateAndFire('selectionEnd', index);
26025
26130
  }
26026
26131
 
26027
- /**
26028
- * @private
26029
- * @param {String} property 'selectionStart' or 'selectionEnd'
26030
- * @param {Number} index new position of property
26132
+ /**
26133
+ * @private
26134
+ * @param {String} property 'selectionStart' or 'selectionEnd'
26135
+ * @param {Number} index new position of property
26031
26136
  */
26032
26137
  _updateAndFire(property, index) {
26033
26138
  if (this[property] !== index) {
@@ -26037,9 +26142,9 @@ class IText extends ITextClickBehavior {
26037
26142
  this._updateTextarea();
26038
26143
  }
26039
26144
 
26040
- /**
26041
- * Fires the even of selection changed
26042
- * @private
26145
+ /**
26146
+ * Fires the even of selection changed
26147
+ * @private
26043
26148
  */
26044
26149
  _fireSelectionChanged() {
26045
26150
  this.fire('selection:changed');
@@ -26048,25 +26153,25 @@ class IText extends ITextClickBehavior {
26048
26153
  });
26049
26154
  }
26050
26155
 
26051
- /**
26052
- * Initialize text dimensions. Render all text on given context
26053
- * or on a offscreen canvas to get the text width with measureText.
26054
- * Updates this.width and this.height with the proper values.
26055
- * Does not return dimensions.
26056
- * @private
26156
+ /**
26157
+ * Initialize text dimensions. Render all text on given context
26158
+ * or on a offscreen canvas to get the text width with measureText.
26159
+ * Updates this.width and this.height with the proper values.
26160
+ * Does not return dimensions.
26161
+ * @private
26057
26162
  */
26058
26163
  initDimensions() {
26059
26164
  this.isEditing && this.initDelayedCursor();
26060
26165
  super.initDimensions();
26061
26166
  }
26062
26167
 
26063
- /**
26064
- * Gets style of a current selection/cursor (at the start position)
26065
- * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
26066
- * @param {Number} startIndex Start index to get styles at
26067
- * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
26068
- * @param {Boolean} [complete] get full style or not
26069
- * @return {Array} styles an array with one, zero or more Style objects
26168
+ /**
26169
+ * Gets style of a current selection/cursor (at the start position)
26170
+ * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
26171
+ * @param {Number} startIndex Start index to get styles at
26172
+ * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
26173
+ * @param {Boolean} [complete] get full style or not
26174
+ * @return {Array} styles an array with one, zero or more Style objects
26070
26175
  */
26071
26176
  getSelectionStyles() {
26072
26177
  let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
@@ -26075,11 +26180,11 @@ class IText extends ITextClickBehavior {
26075
26180
  return super.getSelectionStyles(startIndex, endIndex, complete);
26076
26181
  }
26077
26182
 
26078
- /**
26079
- * Sets style of a current selection, if no selection exist, do not set anything.
26080
- * @param {Object} [styles] Styles object
26081
- * @param {Number} [startIndex] Start index to get styles at
26082
- * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
26183
+ /**
26184
+ * Sets style of a current selection, if no selection exist, do not set anything.
26185
+ * @param {Object} [styles] Styles object
26186
+ * @param {Number} [startIndex] Start index to get styles at
26187
+ * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
26083
26188
  */
26084
26189
  setSelectionStyles(styles) {
26085
26190
  let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
@@ -26087,10 +26192,10 @@ class IText extends ITextClickBehavior {
26087
26192
  return super.setSelectionStyles(styles, startIndex, endIndex);
26088
26193
  }
26089
26194
 
26090
- /**
26091
- * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
26092
- * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
26093
- * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
26195
+ /**
26196
+ * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
26197
+ * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
26198
+ * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
26094
26199
  */
26095
26200
  get2DCursorLocation() {
26096
26201
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -26098,9 +26203,9 @@ class IText extends ITextClickBehavior {
26098
26203
  return super.get2DCursorLocation(selectionStart, skipWrapping);
26099
26204
  }
26100
26205
 
26101
- /**
26102
- * @private
26103
- * @param {CanvasRenderingContext2D} ctx Context to render on
26206
+ /**
26207
+ * @private
26208
+ * @param {CanvasRenderingContext2D} ctx Context to render on
26104
26209
  */
26105
26210
  render(ctx) {
26106
26211
  super.render(ctx);
@@ -26110,9 +26215,9 @@ class IText extends ITextClickBehavior {
26110
26215
  this.renderCursorOrSelection();
26111
26216
  }
26112
26217
 
26113
- /**
26114
- * @override block cursor/selection logic while rendering the exported canvas
26115
- * @todo this workaround should be replaced with a more robust solution
26218
+ /**
26219
+ * @override block cursor/selection logic while rendering the exported canvas
26220
+ * @todo this workaround should be replaced with a more robust solution
26116
26221
  */
26117
26222
  toCanvasElement(options) {
26118
26223
  const isEditing = this.isEditing;
@@ -26122,9 +26227,9 @@ class IText extends ITextClickBehavior {
26122
26227
  return canvas;
26123
26228
  }
26124
26229
 
26125
- /**
26126
- * Renders cursor or selection (depending on what exists)
26127
- * it does on the contextTop. If contextTop is not available, do nothing.
26230
+ /**
26231
+ * Renders cursor or selection (depending on what exists)
26232
+ * it does on the contextTop. If contextTop is not available, do nothing.
26128
26233
  */
26129
26234
  renderCursorOrSelection() {
26130
26235
  if (!this.isEditing || !this.canvas) {
@@ -26180,12 +26285,12 @@ class IText extends ITextClickBehavior {
26180
26285
  ctx.restore();
26181
26286
  }
26182
26287
 
26183
- /**
26184
- * Finds and returns an array of clip paths that are applied to the parent
26185
- * group(s) of the current FabricObject instance. The object's hierarchy is
26186
- * traversed upwards (from the current object towards the root of the canvas),
26187
- * checking each parent object for the presence of a `clipPath` that is not
26188
- * absolutely positioned.
26288
+ /**
26289
+ * Finds and returns an array of clip paths that are applied to the parent
26290
+ * group(s) of the current FabricObject instance. The object's hierarchy is
26291
+ * traversed upwards (from the current object towards the root of the canvas),
26292
+ * checking each parent object for the presence of a `clipPath` that is not
26293
+ * absolutely positioned.
26189
26294
  */
26190
26295
  findAncestorsWithClipPath() {
26191
26296
  const clipPathAncestors = [];
@@ -26200,13 +26305,13 @@ class IText extends ITextClickBehavior {
26200
26305
  return clipPathAncestors;
26201
26306
  }
26202
26307
 
26203
- /**
26204
- * Returns cursor boundaries (left, top, leftOffset, topOffset)
26205
- * left/top are left/top of entire text box
26206
- * leftOffset/topOffset are offset from that left/top point of a text box
26207
- * @private
26208
- * @param {number} [index] index from start
26209
- * @param {boolean} [skipCaching]
26308
+ /**
26309
+ * Returns cursor boundaries (left, top, leftOffset, topOffset)
26310
+ * left/top are left/top of entire text box
26311
+ * leftOffset/topOffset are offset from that left/top point of a text box
26312
+ * @private
26313
+ * @param {number} [index] index from start
26314
+ * @param {boolean} [skipCaching]
26210
26315
  */
26211
26316
  _getCursorBoundaries() {
26212
26317
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -26220,11 +26325,11 @@ class IText extends ITextClickBehavior {
26220
26325
  return this._getCursorBoundariesOriginal(index, skipCaching);
26221
26326
  }
26222
26327
 
26223
- /**
26224
- * Caches and returns cursor left/top offset relative to instance's center point
26225
- * @private
26226
- * @param {number} index index from start
26227
- * @param {boolean} [skipCaching]
26328
+ /**
26329
+ * Caches and returns cursor left/top offset relative to instance's center point
26330
+ * @private
26331
+ * @param {number} index index from start
26332
+ * @param {boolean} [skipCaching]
26228
26333
  */
26229
26334
  _getCursorBoundariesOffsets(index, skipCaching) {
26230
26335
  if (skipCaching) {
@@ -26236,9 +26341,9 @@ class IText extends ITextClickBehavior {
26236
26341
  return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
26237
26342
  }
26238
26343
 
26239
- /**
26240
- * Enhanced cursor boundaries using advanced hit testing when available
26241
- * @private
26344
+ /**
26345
+ * Enhanced cursor boundaries using advanced hit testing when available
26346
+ * @private
26242
26347
  */
26243
26348
  _getCursorBoundariesAdvanced(index) {
26244
26349
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -26254,9 +26359,9 @@ class IText extends ITextClickBehavior {
26254
26359
  };
26255
26360
  }
26256
26361
 
26257
- /**
26258
- * Enhanced selection start from pointer using BiDi-aware hit testing
26259
- * @override
26362
+ /**
26363
+ * Enhanced selection start from pointer using BiDi-aware hit testing
26364
+ * @override
26260
26365
  */
26261
26366
  getSelectionStartFromPointer(e) {
26262
26367
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -26270,9 +26375,9 @@ class IText extends ITextClickBehavior {
26270
26375
  return Math.min(hitResult.charIndex, this._text.length);
26271
26376
  }
26272
26377
 
26273
- /**
26274
- * Original cursor boundaries implementation
26275
- * @private
26378
+ /**
26379
+ * Original cursor boundaries implementation
26380
+ * @private
26276
26381
  */
26277
26382
  _getCursorBoundariesOriginal(index, skipCaching) {
26278
26383
  const left = this._getLeftOffset(),
@@ -26286,10 +26391,10 @@ class IText extends ITextClickBehavior {
26286
26391
  };
26287
26392
  }
26288
26393
 
26289
- /**
26290
- * Calculates cursor left/top offset relative to instance's center point
26291
- * @private
26292
- * @param {number} index index from start
26394
+ /**
26395
+ * Calculates cursor left/top offset relative to instance's center point
26396
+ * @private
26397
+ * @param {number} index index from start
26293
26398
  */
26294
26399
  __getCursorBoundariesOffsets(index) {
26295
26400
  let topOffset = 0,
@@ -26323,29 +26428,29 @@ class IText extends ITextClickBehavior {
26323
26428
  return boundaries;
26324
26429
  }
26325
26430
 
26326
- /**
26327
- * Renders cursor on context Top, outside the animation cycle, on request
26328
- * Used for the drag/drop effect.
26329
- * If contextTop is not available, do nothing.
26431
+ /**
26432
+ * Renders cursor on context Top, outside the animation cycle, on request
26433
+ * Used for the drag/drop effect.
26434
+ * If contextTop is not available, do nothing.
26330
26435
  */
26331
26436
  renderCursorAt(selectionStart) {
26332
26437
  this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
26333
26438
  }
26334
26439
 
26335
- /**
26336
- * Renders cursor
26337
- * @param {Object} boundaries
26338
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26440
+ /**
26441
+ * Renders cursor
26442
+ * @param {Object} boundaries
26443
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26339
26444
  */
26340
26445
  renderCursor(ctx, boundaries) {
26341
26446
  this._renderCursor(ctx, boundaries, this.selectionStart);
26342
26447
  }
26343
26448
 
26344
- /**
26345
- * Return the data needed to render the cursor for given selection start
26346
- * The left,top are relative to the object, while width and height are prescaled
26347
- * to look think with canvas zoom and object scaling,
26348
- * so they depend on canvas and object scaling
26449
+ /**
26450
+ * Return the data needed to render the cursor for given selection start
26451
+ * The left,top are relative to the object, while width and height are prescaled
26452
+ * to look think with canvas zoom and object scaling,
26453
+ * so they depend on canvas and object scaling
26349
26454
  */
26350
26455
  getCursorRenderingData() {
26351
26456
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -26368,9 +26473,9 @@ class IText extends ITextClickBehavior {
26368
26473
  };
26369
26474
  }
26370
26475
 
26371
- /**
26372
- * Render the cursor at the given selectionStart.
26373
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26476
+ /**
26477
+ * Render the cursor at the given selectionStart.
26478
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26374
26479
  */
26375
26480
  _renderCursor(ctx, boundaries, selectionStart) {
26376
26481
  const {
@@ -26386,10 +26491,10 @@ class IText extends ITextClickBehavior {
26386
26491
  ctx.fillRect(left, top, width, height);
26387
26492
  }
26388
26493
 
26389
- /**
26390
- * Renders text selection
26391
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26392
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26494
+ /**
26495
+ * Renders text selection
26496
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26497
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26393
26498
  */
26394
26499
  renderSelection(ctx, boundaries) {
26395
26500
  const selection = {
@@ -26399,8 +26504,8 @@ class IText extends ITextClickBehavior {
26399
26504
  this._renderSelection(ctx, selection, boundaries);
26400
26505
  }
26401
26506
 
26402
- /**
26403
- * Renders drag start text selection
26507
+ /**
26508
+ * Renders drag start text selection
26404
26509
  */
26405
26510
  renderDragSourceEffect() {
26406
26511
  const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
@@ -26411,12 +26516,12 @@ class IText extends ITextClickBehavior {
26411
26516
  this.renderCursorAt(dragSelection);
26412
26517
  }
26413
26518
 
26414
- /**
26415
- * Renders text selection
26416
- * @private
26417
- * @param {{ selectionStart: number, selectionEnd: number }} selection
26418
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26419
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26519
+ /**
26520
+ * Renders text selection
26521
+ * @private
26522
+ * @param {{ selectionStart: number, selectionEnd: number }} selection
26523
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
26524
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
26420
26525
  */
26421
26526
  _renderSelection(ctx, selection, boundaries) {
26422
26527
  const selectionStart = selection.selectionStart,
@@ -26478,34 +26583,34 @@ class IText extends ITextClickBehavior {
26478
26583
  }
26479
26584
  }
26480
26585
 
26481
- /**
26482
- * High level function to know the height of the cursor.
26483
- * the currentChar is the one that precedes the cursor
26484
- * Returns fontSize of char at the current cursor
26485
- * Unused from the library, is for the end user
26486
- * @return {Number} Character font size
26586
+ /**
26587
+ * High level function to know the height of the cursor.
26588
+ * the currentChar is the one that precedes the cursor
26589
+ * Returns fontSize of char at the current cursor
26590
+ * Unused from the library, is for the end user
26591
+ * @return {Number} Character font size
26487
26592
  */
26488
26593
  getCurrentCharFontSize() {
26489
26594
  const cp = this._getCurrentCharIndex();
26490
26595
  return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
26491
26596
  }
26492
26597
 
26493
- /**
26494
- * High level function to know the color of the cursor.
26495
- * the currentChar is the one that precedes the cursor
26496
- * Returns color (fill) of char at the current cursor
26497
- * if the text object has a pattern or gradient for filler, it will return that.
26498
- * Unused by the library, is for the end user
26499
- * @return {String | TFiller} Character color (fill)
26598
+ /**
26599
+ * High level function to know the color of the cursor.
26600
+ * the currentChar is the one that precedes the cursor
26601
+ * Returns color (fill) of char at the current cursor
26602
+ * if the text object has a pattern or gradient for filler, it will return that.
26603
+ * Unused by the library, is for the end user
26604
+ * @return {String | TFiller} Character color (fill)
26500
26605
  */
26501
26606
  getCurrentCharColor() {
26502
26607
  const cp = this._getCurrentCharIndex();
26503
26608
  return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
26504
26609
  }
26505
26610
 
26506
- /**
26507
- * Returns the cursor position for the getCurrent.. functions
26508
- * @private
26611
+ /**
26612
+ * Returns the cursor position for the getCurrent.. functions
26613
+ * @private
26509
26614
  */
26510
26615
  _getCurrentCharIndex() {
26511
26616
  const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
@@ -26521,52 +26626,52 @@ class IText extends ITextClickBehavior {
26521
26626
  super.dispose();
26522
26627
  }
26523
26628
  }
26524
- /**
26525
- * Index where text selection starts (or where cursor is when there is no selection)
26526
- * @type Number
26629
+ /**
26630
+ * Index where text selection starts (or where cursor is when there is no selection)
26631
+ * @type Number
26527
26632
  */
26528
- /**
26529
- * Index where text selection ends
26530
- * @type Number
26633
+ /**
26634
+ * Index where text selection ends
26635
+ * @type Number
26531
26636
  */
26532
- /**
26533
- * Color of text selection
26534
- * @type String
26637
+ /**
26638
+ * Color of text selection
26639
+ * @type String
26535
26640
  */
26536
- /**
26537
- * Indicates whether text is in editing mode
26538
- * @type Boolean
26641
+ /**
26642
+ * Indicates whether text is in editing mode
26643
+ * @type Boolean
26539
26644
  */
26540
- /**
26541
- * Indicates whether a text can be edited
26542
- * @type Boolean
26645
+ /**
26646
+ * Indicates whether a text can be edited
26647
+ * @type Boolean
26543
26648
  */
26544
- /**
26545
- * Border color of text object while it's in editing mode
26546
- * @type String
26649
+ /**
26650
+ * Border color of text object while it's in editing mode
26651
+ * @type String
26547
26652
  */
26548
- /**
26549
- * Width of cursor (in px)
26550
- * @type Number
26653
+ /**
26654
+ * Width of cursor (in px)
26655
+ * @type Number
26551
26656
  */
26552
- /**
26553
- * Color of text cursor color in editing mode.
26554
- * if not set (default) will take color from the text.
26555
- * if set to a color value that fabric can understand, it will
26556
- * be used instead of the color of the text at the current position.
26557
- * @type String
26657
+ /**
26658
+ * Color of text cursor color in editing mode.
26659
+ * if not set (default) will take color from the text.
26660
+ * if set to a color value that fabric can understand, it will
26661
+ * be used instead of the color of the text at the current position.
26662
+ * @type String
26558
26663
  */
26559
- /**
26560
- * Delay between cursor blink (in ms)
26561
- * @type Number
26664
+ /**
26665
+ * Delay between cursor blink (in ms)
26666
+ * @type Number
26562
26667
  */
26563
- /**
26564
- * Duration of cursor fade in (in ms)
26565
- * @type Number
26668
+ /**
26669
+ * Duration of cursor fade in (in ms)
26670
+ * @type Number
26566
26671
  */
26567
- /**
26568
- * Indicates whether internal text char widths can be cached
26569
- * @type Boolean
26672
+ /**
26673
+ * Indicates whether internal text char widths can be cached
26674
+ * @type Boolean
26570
26675
  */
26571
26676
  _defineProperty(IText, "ownDefaults", iTextDefaultValues);
26572
26677
  _defineProperty(IText, "type", 'IText');
@@ -26707,15 +26812,8 @@ class Textbox extends IText {
26707
26812
  return;
26708
26813
  }
26709
26814
 
26710
- // Don't apply justify alignment during drag operations to prevent snapping
26711
- const now = Date.now();
26712
- const lastDragTime = this._lastInitDimensionsTime || 0;
26713
- const isDuringDrag = now - lastDragTime < 200; // 200ms window for drag detection
26714
-
26715
- if (isDuringDrag) {
26716
- console.log('🔤 Skipping justify during drag operation to prevent snapping');
26717
- return;
26718
- }
26815
+ // Note: Removed drag detection logic that was causing issues
26816
+ // Justify alignment will now apply immediately when needed
26719
26817
 
26720
26818
  // For non-browser-wrapping fonts, use Fabric's justify system
26721
26819
  // once text is measured we need to make space fatter to make justified text.
@@ -26775,7 +26873,9 @@ class Textbox extends IText {
26775
26873
  }
26776
26874
 
26777
26875
  // Double-check that justify was applied by checking space widths
26778
- if (this.textAlign.includes('justify') && this.__charBounds) {
26876
+ // Skip validation during rapid width changes to prevent interference
26877
+ console.log('🔍 JUSTIFY CHECK:', this.textAlign.includes('justify'), !!this.__charBounds, !this._skipJustifyValidation);
26878
+ if (this.textAlign.includes('justify') && this.__charBounds && !this._skipJustifyValidation) {
26779
26879
  setTimeout(() => {
26780
26880
  // Verify justify was applied by checking if space widths vary
26781
26881
  let hasVariableSpaces = false;
@@ -27288,7 +27388,8 @@ class Textbox extends IText {
27288
27388
  */
27289
27389
  _splitTextIntoLines(text) {
27290
27390
  // Check if we need browser wrapping using smart font detection
27291
- const needsBrowserWrapping = this.fontFamily && fontLacksEnglishGlyphsCached(this.fontFamily);
27391
+ // Skip browser wrapping for justify text when using overlay editing to prevent measurement conflicts
27392
+ const needsBrowserWrapping = this.fontFamily && fontLacksEnglishGlyphsCached(this.fontFamily) && !(this.textAlign.includes('justify') && this.useOverlayEditing);
27292
27393
  if (needsBrowserWrapping) {
27293
27394
  // Cache key based on text content, width, font properties, AND text alignment
27294
27395
  const textHash = text.length + text.slice(0, 50); // Include text content in cache key
@@ -27313,6 +27414,11 @@ class Textbox extends IText {
27313
27414
 
27314
27415
  // Mark that we used browser wrapping to prevent dynamicMinWidth modifications
27315
27416
  this._usingBrowserWrapping = true;
27417
+
27418
+ // pass the width to enlargeSpaces
27419
+ if (result.width) {
27420
+ this._browserWrappingWidth = result.width;
27421
+ }
27316
27422
  return result;
27317
27423
  }
27318
27424
 
@@ -27341,26 +27447,47 @@ class Textbox extends IText {
27341
27447
  return this._splitTextIntoLinesDefault(text);
27342
27448
  }
27343
27449
 
27450
+ // Skip measurement if we just extracted lines from overlay for justify text
27451
+ if (this._skipJustifyMeasurement && this.textAlign.includes('justify')) {
27452
+ console.log('🚫 SKIP: Skipping browser measurement, using stored overlay lines');
27453
+ this._skipJustifyMeasurement = false; // Reset flag
27454
+ return this._splitTextIntoLinesDefault(text);
27455
+ }
27456
+
27344
27457
  // Create a hidden element that mimics the overlay editor
27345
27458
  const testElement = document.createElement('div');
27346
27459
  testElement.style.position = 'absolute';
27347
27460
  testElement.style.left = '-9999px';
27348
27461
  testElement.style.visibility = 'hidden';
27349
- testElement.style.fontSize = `${this.fontSize}px`;
27462
+ const scaleX = this.scaleX || 1;
27463
+ const fontSize = this.fontSize * scaleX;
27464
+ const padding = this.padding || 0;
27465
+ testElement.style.fontSize = `${fontSize}px`;
27350
27466
  testElement.style.fontFamily = `"${this.fontFamily}"`;
27351
27467
  testElement.style.fontWeight = String(this.fontWeight || 'normal');
27352
27468
  testElement.style.fontStyle = String(this.fontStyle || 'normal');
27353
27469
  testElement.style.lineHeight = String(this.lineHeight || 1.16);
27354
- testElement.style.width = `${this.width}px`;
27470
+ testElement.style.letterSpacing = `${(this.charSpacing || 0) / 1000 * fontSize}px`;
27355
27471
  testElement.style.direction = this.direction || 'ltr';
27356
27472
  testElement.style.whiteSpace = 'pre-wrap';
27357
27473
  testElement.style.wordBreak = 'normal';
27358
27474
  testElement.style.overflowWrap = 'break-word';
27359
-
27360
- // Set browser-native text alignment (including justify)
27475
+ testElement.style.padding = `${padding}px`;
27476
+ testElement.style.boxSizing = 'border-box';
27477
+ testElement.style.width = `${this.width * scaleX + padding * 2}px`;
27361
27478
  if (this.textAlign.includes('justify')) {
27362
27479
  testElement.style.textAlign = 'justify';
27363
- testElement.style.textAlignLast = 'auto'; // Let browser decide last line alignment
27480
+ if (this.direction === 'rtl') {
27481
+ testElement.style.textAlignLast = 'right';
27482
+ } else {
27483
+ testElement.style.textAlignLast = 'left';
27484
+ }
27485
+ testElement.style.textJustify = 'inter-word';
27486
+ testElement.style.unicodeBidi = 'plaintext';
27487
+ testElement.style.wordSpacing = 'normal';
27488
+ // Match font smoothing from overlay editor
27489
+ testElement.style.webkitFontSmoothing = 'auto';
27490
+ testElement.style.mozOsxFontSmoothing = 'auto';
27364
27491
  } else {
27365
27492
  testElement.style.textAlign = this.textAlign;
27366
27493
  }
@@ -27385,7 +27512,7 @@ class Textbox extends IText {
27385
27512
  if (i > currentLineStart && (rect.bottom > previousBottom + 5 || i === textLength)) {
27386
27513
  // New line detected or end of text
27387
27514
  const lineEnd = i === textLength ? i : i - 1;
27388
- const lineText = text.substring(currentLineStart, lineEnd).trim();
27515
+ const lineText = text.substring(currentLineStart, lineEnd);
27389
27516
  if (lineText) {
27390
27517
  lines.push(lineText);
27391
27518
  // Convert to graphemes for compatibility
@@ -27408,6 +27535,7 @@ class Textbox extends IText {
27408
27535
  const offsetHeight = testElement.offsetHeight;
27409
27536
  const clientHeight = testElement.clientHeight;
27410
27537
  const boundingRect = testElement.getBoundingClientRect();
27538
+ const clientWidth = testElement.clientWidth;
27411
27539
  console.log(`🔤 Browser element measurements:`);
27412
27540
  console.log(` scrollHeight: ${actualBrowserHeight}px (content + padding + hidden overflow)`);
27413
27541
  console.log(` offsetHeight: ${offsetHeight}px (content + padding + border)`);
@@ -27455,7 +27583,8 @@ class Textbox extends IText {
27455
27583
  graphemeText: text.split(''),
27456
27584
  graphemeLines: graphemeLines,
27457
27585
  justifySpaceMeasurements: justifySpaceMeasurements,
27458
- actualBrowserHeight: adjustedHeight
27586
+ actualBrowserHeight: adjustedHeight,
27587
+ width: clientWidth
27459
27588
  };
27460
27589
  }
27461
27590
 
@@ -27507,6 +27636,14 @@ class Textbox extends IText {
27507
27636
  return;
27508
27637
  }
27509
27638
 
27639
+ // Check for overlay justify measurements first
27640
+ const overlayMeasurements = this._overlayJustifyMeasurements;
27641
+ if (overlayMeasurements) {
27642
+ console.log('🎯 OVERLAY JUSTIFY: Using stored overlay measurements');
27643
+ this._applyOverlayJustifySpaces(overlayMeasurements);
27644
+ return;
27645
+ }
27646
+
27510
27647
  // Get space measurements from browser wrapping result
27511
27648
  const styleMap = this._styleMap;
27512
27649
  if (!styleMap || !styleMap.justifySpaceMeasurements) {
@@ -27572,6 +27709,111 @@ class Textbox extends IText {
27572
27709
  });
27573
27710
  }
27574
27711
 
27712
+ /**
27713
+ * Apply overlay justify measurements to character bounds
27714
+ * @private
27715
+ */
27716
+ _applyOverlayJustifySpaces(overlayMeasurements) {
27717
+ this._textLines.forEach((line, lineIndex) => {
27718
+ if (!this.__charBounds || !this.__charBounds[lineIndex]) return;
27719
+ const lineMeasurement = overlayMeasurements[lineIndex];
27720
+ if (!lineMeasurement) return;
27721
+ const {
27722
+ justifiedSpaceWidth
27723
+ } = lineMeasurement;
27724
+ let spaceIndex = 0;
27725
+ line.forEach((char, charIndex) => {
27726
+ if (char === ' ' && this.__charBounds[lineIndex][charIndex]) {
27727
+ const oldWidth = this.__charBounds[lineIndex][charIndex].width;
27728
+ this.__charBounds[lineIndex][charIndex].width = justifiedSpaceWidth;
27729
+ console.log(`🎯 OVERLAY Line ${lineIndex} space ${spaceIndex}: ${oldWidth.toFixed(1)}px -> ${justifiedSpaceWidth.toFixed(1)}px`);
27730
+ spaceIndex++;
27731
+ }
27732
+ });
27733
+ });
27734
+ }
27735
+
27736
+ /**
27737
+ * Extract justify measurements from overlay textarea and store them
27738
+ */
27739
+ extractJustifyMeasurementsFromOverlay(textarea) {
27740
+ const text = textarea.value;
27741
+ if (!text || !this.textAlign.includes('justify')) {
27742
+ return;
27743
+ }
27744
+
27745
+ // Use the same measurement technique as measureLinesWithBrowser
27746
+ const testElement = document.createElement('div');
27747
+ testElement.style.position = 'absolute';
27748
+ testElement.style.left = '-9999px';
27749
+ testElement.style.visibility = 'hidden';
27750
+
27751
+ // Copy all styles from the textarea to ensure identical rendering
27752
+ const computedStyle = window.getComputedStyle(textarea);
27753
+ const stylesToCopy = ['fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'lineHeight', 'letterSpacing', 'direction', 'textAlign', 'textAlignLast', 'textJustify', 'width', 'padding', 'boxSizing', 'whiteSpace', 'wordBreak', 'overflowWrap'];
27754
+ stylesToCopy.forEach(prop => {
27755
+ testElement.style[prop] = computedStyle[prop];
27756
+ });
27757
+ testElement.textContent = text;
27758
+ document.body.appendChild(testElement);
27759
+ try {
27760
+ // Extract justify space measurements using the same logic
27761
+ const lines = text.split('\n');
27762
+ const justifyMeasurements = {};
27763
+ lines.forEach((line, lineIndex) => {
27764
+ if (line.trim()) {
27765
+ const spaces = (line.match(/\s/g) || []).length;
27766
+ if (spaces > 0) {
27767
+ // Measure natural space width
27768
+ const singleSpaceDiv = document.createElement('div');
27769
+ stylesToCopy.forEach(prop => {
27770
+ singleSpaceDiv.style[prop] = computedStyle[prop];
27771
+ });
27772
+ singleSpaceDiv.textContent = ' ';
27773
+ document.body.appendChild(singleSpaceDiv);
27774
+ const naturalSpaceWidth = singleSpaceDiv.getBoundingClientRect().width;
27775
+ document.body.removeChild(singleSpaceDiv);
27776
+
27777
+ // Measure justified line width
27778
+ const lineDiv = document.createElement('div');
27779
+ stylesToCopy.forEach(prop => {
27780
+ lineDiv.style[prop] = computedStyle[prop];
27781
+ });
27782
+ lineDiv.textContent = line;
27783
+ document.body.appendChild(lineDiv);
27784
+ const lineWidth = lineDiv.getBoundingClientRect().width;
27785
+ const containerWidth = parseFloat(computedStyle.width);
27786
+
27787
+ // Calculate justified space width
27788
+ const nonSpaceText = line.replace(/\s/g, '');
27789
+ const nonSpaceDiv = document.createElement('div');
27790
+ stylesToCopy.forEach(prop => {
27791
+ nonSpaceDiv.style[prop] = computedStyle[prop];
27792
+ });
27793
+ nonSpaceDiv.textContent = nonSpaceText;
27794
+ document.body.appendChild(nonSpaceDiv);
27795
+ const nonSpaceWidth = nonSpaceDiv.getBoundingClientRect().width;
27796
+ const justifiedSpaceWidth = (containerWidth - nonSpaceWidth) / spaces;
27797
+ console.log(`🎯 OVERLAY Line ${lineIndex}: ${spaces} spaces, natural: ${naturalSpaceWidth.toFixed(1)}px -> justified: ${justifiedSpaceWidth.toFixed(1)}px`);
27798
+ justifyMeasurements[lineIndex] = {
27799
+ naturalSpaceWidth,
27800
+ justifiedSpaceWidth,
27801
+ spaceCount: spaces
27802
+ };
27803
+ document.body.removeChild(lineDiv);
27804
+ document.body.removeChild(nonSpaceDiv);
27805
+ }
27806
+ }
27807
+ });
27808
+
27809
+ // Store the measurements
27810
+ this._overlayJustifyMeasurements = justifyMeasurements;
27811
+ console.log('💾 STORED: Overlay justify measurements', justifyMeasurements);
27812
+ } finally {
27813
+ document.body.removeChild(testElement);
27814
+ }
27815
+ }
27816
+
27575
27817
  /**
27576
27818
  * Fallback to default Fabric wrapping
27577
27819
  * @private
@@ -27636,6 +27878,7 @@ class Textbox extends IText {
27636
27878
  // Use 'modified' event which fires after user releases the mouse
27637
27879
  this.on('modified', () => {
27638
27880
  const currentResizeOrigin = resizeOrigin; // Capture the value before reset
27881
+ this.initDimensions();
27639
27882
  // Small delay to ensure text layout is updated
27640
27883
  setTimeout(() => this.safetySnapWidth(currentResizeOrigin), 10);
27641
27884
  resizeOrigin = null; // Reset after capturing
@@ -27695,7 +27938,7 @@ class Textbox extends IText {
27695
27938
  const originalTop = this.top;
27696
27939
  const widthIncrease = newWidth - this.width;
27697
27940
 
27698
- // Change width
27941
+ // Change width
27699
27942
  this.set('width', newWidth);
27700
27943
 
27701
27944
  // Force text layout recalculation
@@ -27707,8 +27950,8 @@ class Textbox extends IText {
27707
27950
  // When resizing from left, the expansion pushes text right
27708
27951
  // Compensate by moving the textbox left by the width increase
27709
27952
  this.set({
27710
- 'left': originalLeft - widthIncrease,
27711
- 'top': originalTop
27953
+ left: originalLeft - widthIncrease,
27954
+ top: originalTop
27712
27955
  });
27713
27956
  }
27714
27957
  this.setCoords();
@@ -27804,6 +28047,35 @@ class Textbox extends IText {
27804
28047
  }
27805
28048
  }
27806
28049
 
28050
+ /**
28051
+ * Fix justify text after JSON loading - call this after fromObject
28052
+ * @public
28053
+ */
28054
+ fixJustifyAfterJSONLoad() {
28055
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
28056
+ console.log('🔧 JSON FIX: Fixing justify text after JSON load');
28057
+ // The issue is that enlargeSpaces() isn't properly updating after JSON load
28058
+ // Workaround: temporarily change width to trigger proper rebuild, then restore
28059
+ setTimeout(() => {
28060
+ const originalWidth = this.width;
28061
+ console.log('🔄 JSON TRICK: Temporarily changing width to force justify rebuild');
28062
+
28063
+ // Temporarily change width by 1px to trigger proper justify recalculation
28064
+ this.width = originalWidth + 1;
28065
+ this.initDimensions();
28066
+
28067
+ // Restore original width - this will trigger the proper justify calculation
28068
+ setTimeout(() => {
28069
+ var _this$canvas8;
28070
+ this.width = originalWidth;
28071
+ this.initDimensions();
28072
+ (_this$canvas8 = this.canvas) === null || _this$canvas8 === void 0 || _this$canvas8.requestRenderAll();
28073
+ console.log('✅ JSON FIX: Restored original width, justify should be fixed');
28074
+ }, 50);
28075
+ }, 100);
28076
+ }
28077
+ }
28078
+
27807
28079
  /**
27808
28080
  * Returns object representation of an instance
27809
28081
  * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
@@ -27811,7 +28083,60 @@ class Textbox extends IText {
27811
28083
  */
27812
28084
  toObject() {
27813
28085
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
27814
- return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
28086
+ const obj = super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
28087
+
28088
+ // For justify text with overlay editing, ensure measurements are available
28089
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
28090
+ var _charBounds, _charBounds2;
28091
+ // If character bounds don't exist yet, initialize dimensions to calculate them
28092
+ if (!((_charBounds = this.__charBounds) !== null && _charBounds !== void 0 && _charBounds.length)) {
28093
+ console.log('🔧 SERIALIZE: Character bounds missing, initializing dimensions for justify text');
28094
+ this.initDimensions();
28095
+ }
28096
+
28097
+ // Now save the measurements if they exist
28098
+ if ((_charBounds2 = this.__charBounds) !== null && _charBounds2 !== void 0 && _charBounds2.length) {
28099
+ console.log('💾 SERIALIZE: Saving justify measurements to JSON');
28100
+ obj._justifyMeasurements = {
28101
+ __charBounds: this.__charBounds,
28102
+ __lineHeights: this.__lineHeights,
28103
+ __lineWidths: this.__lineWidths,
28104
+ _hasJustifyData: true
28105
+ };
28106
+ } else {
28107
+ console.warn('⚠️ SERIALIZE: Could not generate character bounds for justify text');
28108
+ }
28109
+ }
28110
+ return obj;
28111
+ }
28112
+
28113
+ /**
28114
+ * Override _set to handle justify measurements during JSON loading
28115
+ * @private
28116
+ */
28117
+ _set(key, value) {
28118
+ const result = super._set(key, value);
28119
+
28120
+ // Restore justify measurements if they exist in the JSON data
28121
+ if (key === '_justifyMeasurements' && value && value._hasJustifyData) {
28122
+ console.log('🔄 DESERIALIZE: Restoring justify measurements from JSON');
28123
+ this.__charBounds = value.__charBounds;
28124
+ this.__lineHeights = value.__lineHeights;
28125
+ this.__lineWidths = value.__lineWidths;
28126
+
28127
+ // Mark that we have restored data so we don't interfere with it
28128
+ this._hasRestoredJustifyData = true;
28129
+
28130
+ // Automatically trigger the fix after JSON loading
28131
+ if (this.textAlign.includes('justify') && this.useOverlayEditing) {
28132
+ console.log('🔄 AUTO-FIX: Calling fixJustifyAfterJSONLoad after restoring justify measurements');
28133
+ // Use setTimeout to ensure this runs after all object initialization is complete
28134
+ setTimeout(() => {
28135
+ this.fixJustifyAfterJSONLoad();
28136
+ }, 10);
28137
+ }
28138
+ }
28139
+ return result;
27815
28140
  }
27816
28141
  }
27817
28142
  /**