@nasser-sw/fabric 7.0.1-beta1 → 7.0.1-beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2509) 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/CHANGELOG.md +0 -0
  10. package/CODE_OF_CONDUCT.md +0 -0
  11. package/CONTRIBUTING.md +0 -0
  12. package/LICENSE +0 -0
  13. package/OVERLAY_EDITOR_MIGRATION.md +0 -0
  14. package/README.md +0 -0
  15. package/SECURITY.md +0 -0
  16. package/debug/konva/CHANGELOG.md +0 -0
  17. package/debug/konva/LICENSE +0 -0
  18. package/debug/konva/README.md +0 -0
  19. package/debug/konva/gulpfile.mjs +0 -0
  20. package/debug/konva/package.json +0 -0
  21. package/debug/konva/release.sh +0 -0
  22. package/debug/konva/resources/doc-includes/ContainerParams.txt +0 -0
  23. package/debug/konva/resources/doc-includes/NodeParams.txt +0 -0
  24. package/debug/konva/resources/doc-includes/ShapeParams.txt +0 -0
  25. package/debug/konva/resources/jsdoc.conf.json +0 -0
  26. package/debug/konva/rollup.config.mjs +0 -0
  27. package/debug/konva/src/Animation.ts +0 -0
  28. package/debug/konva/src/BezierFunctions.ts +0 -0
  29. package/debug/konva/src/Canvas.ts +0 -0
  30. package/debug/konva/src/Container.ts +0 -0
  31. package/debug/konva/src/Context.ts +0 -0
  32. package/debug/konva/src/Core.ts +0 -0
  33. package/debug/konva/src/DragAndDrop.ts +0 -0
  34. package/debug/konva/src/Factory.ts +0 -0
  35. package/debug/konva/src/FastLayer.ts +0 -0
  36. package/debug/konva/src/Global.ts +0 -0
  37. package/debug/konva/src/Group.ts +0 -0
  38. package/debug/konva/src/Layer.ts +0 -0
  39. package/debug/konva/src/Node.ts +0 -0
  40. package/debug/konva/src/PointerEvents.ts +0 -0
  41. package/debug/konva/src/Shape.ts +0 -0
  42. package/debug/konva/src/Stage.ts +0 -0
  43. package/debug/konva/src/Tween.ts +0 -0
  44. package/debug/konva/src/Util.ts +0 -0
  45. package/debug/konva/src/Validators.ts +0 -0
  46. package/debug/konva/src/_CoreInternals.ts +0 -0
  47. package/debug/konva/src/_FullInternals.ts +0 -0
  48. package/debug/konva/src/canvas-backend.ts +0 -0
  49. package/debug/konva/src/filters/Blur.ts +0 -0
  50. package/debug/konva/src/filters/Brighten.ts +0 -0
  51. package/debug/konva/src/filters/Brightness.ts +0 -0
  52. package/debug/konva/src/filters/Contrast.ts +0 -0
  53. package/debug/konva/src/filters/Emboss.ts +0 -0
  54. package/debug/konva/src/filters/Enhance.ts +0 -0
  55. package/debug/konva/src/filters/Grayscale.ts +0 -0
  56. package/debug/konva/src/filters/HSL.ts +0 -0
  57. package/debug/konva/src/filters/HSV.ts +0 -0
  58. package/debug/konva/src/filters/Invert.ts +0 -0
  59. package/debug/konva/src/filters/Kaleidoscope.ts +0 -0
  60. package/debug/konva/src/filters/Mask.ts +0 -0
  61. package/debug/konva/src/filters/Noise.ts +0 -0
  62. package/debug/konva/src/filters/Pixelate.ts +0 -0
  63. package/debug/konva/src/filters/Posterize.ts +0 -0
  64. package/debug/konva/src/filters/RGB.ts +0 -0
  65. package/debug/konva/src/filters/RGBA.ts +0 -0
  66. package/debug/konva/src/filters/Sepia.ts +0 -0
  67. package/debug/konva/src/filters/Solarize.ts +0 -0
  68. package/debug/konva/src/filters/Threshold.ts +0 -0
  69. package/debug/konva/src/index.ts +0 -0
  70. package/debug/konva/src/shapes/Arc.ts +0 -0
  71. package/debug/konva/src/shapes/Arrow.ts +0 -0
  72. package/debug/konva/src/shapes/Circle.ts +0 -0
  73. package/debug/konva/src/shapes/Ellipse.ts +0 -0
  74. package/debug/konva/src/shapes/Image.ts +0 -0
  75. package/debug/konva/src/shapes/Label.ts +0 -0
  76. package/debug/konva/src/shapes/Line.ts +0 -0
  77. package/debug/konva/src/shapes/Path.ts +0 -0
  78. package/debug/konva/src/shapes/Rect.ts +0 -0
  79. package/debug/konva/src/shapes/RegularPolygon.ts +0 -0
  80. package/debug/konva/src/shapes/Ring.ts +0 -0
  81. package/debug/konva/src/shapes/Sprite.ts +0 -0
  82. package/debug/konva/src/shapes/Star.ts +0 -0
  83. package/debug/konva/src/shapes/Text.ts +0 -0
  84. package/debug/konva/src/shapes/TextPath.ts +0 -0
  85. package/debug/konva/src/shapes/Transformer.ts +0 -0
  86. package/debug/konva/src/shapes/Wedge.ts +0 -0
  87. package/debug/konva/src/skia-backend.ts +0 -0
  88. package/debug/konva/src/types.ts +0 -0
  89. package/debug/konva/tsconfig.json +0 -0
  90. package/debug/konva/tsconfig.test.json +0 -0
  91. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +0 -0
  92. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +0 -0
  93. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +0 -0
  94. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -0
  95. package/dist/extensions/aligning_guidelines/constant.d.ts +0 -0
  96. package/dist/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  97. package/dist/extensions/aligning_guidelines/index.d.ts +0 -0
  98. package/dist/extensions/aligning_guidelines/index.d.ts.map +0 -0
  99. package/dist/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  100. package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  101. package/dist/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  102. package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  103. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  104. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  105. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  106. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  107. package/dist/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  108. package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  109. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  110. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  111. package/dist/extensions/data_updaters/gradient/index.d.ts +0 -0
  112. package/dist/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  113. package/dist/extensions/data_updaters/origins/index.d.ts +0 -0
  114. package/dist/extensions/data_updaters/origins/index.d.ts.map +0 -0
  115. package/dist/extensions/index.d.ts +0 -0
  116. package/dist/extensions/index.d.ts.map +0 -0
  117. package/dist/fabric.d.ts +0 -0
  118. package/dist/fabric.d.ts.map +0 -0
  119. package/dist/fabric.min.mjs +0 -0
  120. package/dist/fabric.min.mjs.map +0 -0
  121. package/dist/fabric.mjs +0 -0
  122. package/dist/fabric.mjs.map +0 -0
  123. package/dist/index.d.ts +0 -0
  124. package/dist/index.d.ts.map +0 -0
  125. package/dist/index.js +1180 -1044
  126. package/dist/index.js.map +1 -1
  127. package/dist/index.min.js +1 -1
  128. package/dist/index.min.js.map +1 -1
  129. package/dist/index.min.mjs +1 -1
  130. package/dist/index.min.mjs.map +1 -1
  131. package/dist/index.mjs +1180 -1044
  132. package/dist/index.mjs.map +1 -1
  133. package/dist/index.node.cjs +1180 -1044
  134. package/dist/index.node.cjs.map +1 -1
  135. package/dist/index.node.d.ts +0 -0
  136. package/dist/index.node.d.ts.map +0 -0
  137. package/dist/index.node.mjs +1180 -1044
  138. package/dist/index.node.mjs.map +1 -1
  139. package/dist/package.json.min.mjs +1 -1
  140. package/dist/package.json.min.mjs.map +0 -0
  141. package/dist/package.json.mjs +1 -1
  142. package/dist/package.json.mjs.map +0 -0
  143. package/dist/src/ClassRegistry.d.ts +0 -0
  144. package/dist/src/ClassRegistry.d.ts.map +0 -0
  145. package/dist/src/ClassRegistry.min.mjs +0 -0
  146. package/dist/src/ClassRegistry.min.mjs.map +0 -0
  147. package/dist/src/ClassRegistry.mjs +0 -0
  148. package/dist/src/ClassRegistry.mjs.map +0 -0
  149. package/dist/src/Collection.d.ts +0 -0
  150. package/dist/src/Collection.d.ts.map +0 -0
  151. package/dist/src/Collection.min.mjs +0 -0
  152. package/dist/src/Collection.min.mjs.map +0 -0
  153. package/dist/src/Collection.mjs +0 -0
  154. package/dist/src/Collection.mjs.map +0 -0
  155. package/dist/src/CommonMethods.d.ts +0 -0
  156. package/dist/src/CommonMethods.d.ts.map +0 -0
  157. package/dist/src/CommonMethods.min.mjs +0 -0
  158. package/dist/src/CommonMethods.min.mjs.map +0 -0
  159. package/dist/src/CommonMethods.mjs +0 -0
  160. package/dist/src/CommonMethods.mjs.map +0 -0
  161. package/dist/src/EventTypeDefs.d.ts +0 -0
  162. package/dist/src/EventTypeDefs.d.ts.map +0 -0
  163. package/dist/src/Intersection.d.ts +0 -0
  164. package/dist/src/Intersection.d.ts.map +0 -0
  165. package/dist/src/Intersection.min.mjs +0 -0
  166. package/dist/src/Intersection.min.mjs.map +0 -0
  167. package/dist/src/Intersection.mjs +0 -0
  168. package/dist/src/Intersection.mjs.map +0 -0
  169. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  170. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  171. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +0 -0
  172. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +0 -0
  173. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -0
  174. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -0
  175. package/dist/src/LayoutManager/LayoutManager.d.ts +0 -0
  176. package/dist/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  177. package/dist/src/LayoutManager/LayoutManager.min.mjs +0 -0
  178. package/dist/src/LayoutManager/LayoutManager.min.mjs.map +0 -0
  179. package/dist/src/LayoutManager/LayoutManager.mjs +0 -0
  180. package/dist/src/LayoutManager/LayoutManager.mjs.map +0 -0
  181. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  182. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  183. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +0 -0
  184. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +0 -0
  185. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -0
  186. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -0
  187. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  188. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  189. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +0 -0
  190. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +0 -0
  191. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -0
  192. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -0
  193. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  194. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  195. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +0 -0
  196. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +0 -0
  197. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -0
  198. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -0
  199. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  200. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  201. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +0 -0
  202. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +0 -0
  203. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -0
  204. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -0
  205. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  206. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  207. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +0 -0
  208. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +0 -0
  209. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +0 -0
  210. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -0
  211. package/dist/src/LayoutManager/constants.d.ts +0 -0
  212. package/dist/src/LayoutManager/constants.d.ts.map +0 -0
  213. package/dist/src/LayoutManager/constants.min.mjs +0 -0
  214. package/dist/src/LayoutManager/constants.min.mjs.map +0 -0
  215. package/dist/src/LayoutManager/constants.mjs +0 -0
  216. package/dist/src/LayoutManager/constants.mjs.map +0 -0
  217. package/dist/src/LayoutManager/index.d.ts +0 -0
  218. package/dist/src/LayoutManager/index.d.ts.map +0 -0
  219. package/dist/src/LayoutManager/types.d.ts +0 -0
  220. package/dist/src/LayoutManager/types.d.ts.map +0 -0
  221. package/dist/src/Observable.d.ts +0 -0
  222. package/dist/src/Observable.d.ts.map +0 -0
  223. package/dist/src/Observable.min.mjs +0 -0
  224. package/dist/src/Observable.min.mjs.map +0 -0
  225. package/dist/src/Observable.mjs +0 -0
  226. package/dist/src/Observable.mjs.map +0 -0
  227. package/dist/src/Pattern/Pattern.d.ts +0 -0
  228. package/dist/src/Pattern/Pattern.d.ts.map +0 -0
  229. package/dist/src/Pattern/Pattern.min.mjs +0 -0
  230. package/dist/src/Pattern/Pattern.min.mjs.map +0 -0
  231. package/dist/src/Pattern/Pattern.mjs +0 -0
  232. package/dist/src/Pattern/Pattern.mjs.map +0 -0
  233. package/dist/src/Pattern/index.d.ts +0 -0
  234. package/dist/src/Pattern/index.d.ts.map +0 -0
  235. package/dist/src/Pattern/types.d.ts +0 -0
  236. package/dist/src/Pattern/types.d.ts.map +0 -0
  237. package/dist/src/Point.d.ts +0 -0
  238. package/dist/src/Point.d.ts.map +0 -0
  239. package/dist/src/Point.min.mjs +0 -0
  240. package/dist/src/Point.min.mjs.map +0 -0
  241. package/dist/src/Point.mjs +0 -0
  242. package/dist/src/Point.mjs.map +0 -0
  243. package/dist/src/Shadow.d.ts +0 -0
  244. package/dist/src/Shadow.d.ts.map +0 -0
  245. package/dist/src/Shadow.min.mjs +0 -0
  246. package/dist/src/Shadow.min.mjs.map +0 -0
  247. package/dist/src/Shadow.mjs +0 -0
  248. package/dist/src/Shadow.mjs.map +0 -0
  249. package/dist/src/brushes/BaseBrush.d.ts +0 -0
  250. package/dist/src/brushes/BaseBrush.d.ts.map +0 -0
  251. package/dist/src/brushes/BaseBrush.min.mjs +0 -0
  252. package/dist/src/brushes/BaseBrush.min.mjs.map +0 -0
  253. package/dist/src/brushes/BaseBrush.mjs +0 -0
  254. package/dist/src/brushes/BaseBrush.mjs.map +0 -0
  255. package/dist/src/brushes/CircleBrush.d.ts +0 -0
  256. package/dist/src/brushes/CircleBrush.d.ts.map +0 -0
  257. package/dist/src/brushes/CircleBrush.min.mjs +0 -0
  258. package/dist/src/brushes/CircleBrush.min.mjs.map +0 -0
  259. package/dist/src/brushes/CircleBrush.mjs +0 -0
  260. package/dist/src/brushes/CircleBrush.mjs.map +0 -0
  261. package/dist/src/brushes/PatternBrush.d.ts +0 -0
  262. package/dist/src/brushes/PatternBrush.d.ts.map +0 -0
  263. package/dist/src/brushes/PatternBrush.min.mjs +0 -0
  264. package/dist/src/brushes/PatternBrush.min.mjs.map +0 -0
  265. package/dist/src/brushes/PatternBrush.mjs +0 -0
  266. package/dist/src/brushes/PatternBrush.mjs.map +0 -0
  267. package/dist/src/brushes/PencilBrush.d.ts +0 -0
  268. package/dist/src/brushes/PencilBrush.d.ts.map +0 -0
  269. package/dist/src/brushes/PencilBrush.min.mjs +0 -0
  270. package/dist/src/brushes/PencilBrush.min.mjs.map +0 -0
  271. package/dist/src/brushes/PencilBrush.mjs +0 -0
  272. package/dist/src/brushes/PencilBrush.mjs.map +0 -0
  273. package/dist/src/brushes/SprayBrush.d.ts +0 -0
  274. package/dist/src/brushes/SprayBrush.d.ts.map +0 -0
  275. package/dist/src/brushes/SprayBrush.min.mjs +0 -0
  276. package/dist/src/brushes/SprayBrush.min.mjs.map +0 -0
  277. package/dist/src/brushes/SprayBrush.mjs +0 -0
  278. package/dist/src/brushes/SprayBrush.mjs.map +0 -0
  279. package/dist/src/brushes/typedefs.d.ts +0 -0
  280. package/dist/src/brushes/typedefs.d.ts.map +0 -0
  281. package/dist/src/cache.d.ts +0 -0
  282. package/dist/src/cache.d.ts.map +0 -0
  283. package/dist/src/cache.min.mjs +0 -0
  284. package/dist/src/cache.min.mjs.map +0 -0
  285. package/dist/src/cache.mjs +0 -0
  286. package/dist/src/cache.mjs.map +0 -0
  287. package/dist/src/canvas/Canvas.d.ts +0 -0
  288. package/dist/src/canvas/Canvas.d.ts.map +0 -0
  289. package/dist/src/canvas/Canvas.min.mjs +0 -0
  290. package/dist/src/canvas/Canvas.min.mjs.map +0 -0
  291. package/dist/src/canvas/Canvas.mjs +0 -0
  292. package/dist/src/canvas/Canvas.mjs.map +0 -0
  293. package/dist/src/canvas/CanvasOptions.d.ts +0 -0
  294. package/dist/src/canvas/CanvasOptions.d.ts.map +0 -0
  295. package/dist/src/canvas/CanvasOptions.min.mjs +0 -0
  296. package/dist/src/canvas/CanvasOptions.min.mjs.map +0 -0
  297. package/dist/src/canvas/CanvasOptions.mjs +0 -0
  298. package/dist/src/canvas/CanvasOptions.mjs.map +0 -0
  299. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  300. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  301. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +0 -0
  302. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +0 -0
  303. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -0
  304. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -0
  305. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  306. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  307. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +0 -0
  308. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +0 -0
  309. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -0
  310. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -0
  311. package/dist/src/canvas/DOMManagers/util.d.ts +0 -0
  312. package/dist/src/canvas/DOMManagers/util.d.ts.map +0 -0
  313. package/dist/src/canvas/DOMManagers/util.min.mjs +0 -0
  314. package/dist/src/canvas/DOMManagers/util.min.mjs.map +0 -0
  315. package/dist/src/canvas/DOMManagers/util.mjs +0 -0
  316. package/dist/src/canvas/DOMManagers/util.mjs.map +0 -0
  317. package/dist/src/canvas/SelectableCanvas.d.ts +0 -0
  318. package/dist/src/canvas/SelectableCanvas.d.ts.map +0 -0
  319. package/dist/src/canvas/SelectableCanvas.min.mjs +0 -0
  320. package/dist/src/canvas/SelectableCanvas.min.mjs.map +0 -0
  321. package/dist/src/canvas/SelectableCanvas.mjs +0 -0
  322. package/dist/src/canvas/SelectableCanvas.mjs.map +0 -0
  323. package/dist/src/canvas/StaticCanvas.d.ts +0 -0
  324. package/dist/src/canvas/StaticCanvas.d.ts.map +0 -0
  325. package/dist/src/canvas/StaticCanvas.min.mjs +0 -0
  326. package/dist/src/canvas/StaticCanvas.min.mjs.map +0 -0
  327. package/dist/src/canvas/StaticCanvas.mjs +0 -0
  328. package/dist/src/canvas/StaticCanvas.mjs.map +0 -0
  329. package/dist/src/canvas/StaticCanvasOptions.d.ts +0 -0
  330. package/dist/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  331. package/dist/src/canvas/StaticCanvasOptions.min.mjs +0 -0
  332. package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +0 -0
  333. package/dist/src/canvas/StaticCanvasOptions.mjs +0 -0
  334. package/dist/src/canvas/StaticCanvasOptions.mjs.map +0 -0
  335. package/dist/src/canvas/TextEditingManager.d.ts +0 -0
  336. package/dist/src/canvas/TextEditingManager.d.ts.map +0 -0
  337. package/dist/src/canvas/TextEditingManager.min.mjs +0 -0
  338. package/dist/src/canvas/TextEditingManager.min.mjs.map +0 -0
  339. package/dist/src/canvas/TextEditingManager.mjs +0 -0
  340. package/dist/src/canvas/TextEditingManager.mjs.map +0 -0
  341. package/dist/src/canvas/canvas_gestures.mixin.d.ts +0 -0
  342. package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +0 -0
  343. package/dist/src/color/Color.d.ts +0 -0
  344. package/dist/src/color/Color.d.ts.map +0 -0
  345. package/dist/src/color/Color.min.mjs +0 -0
  346. package/dist/src/color/Color.min.mjs.map +0 -0
  347. package/dist/src/color/Color.mjs +0 -0
  348. package/dist/src/color/Color.mjs.map +0 -0
  349. package/dist/src/color/color_map.d.ts +0 -0
  350. package/dist/src/color/color_map.d.ts.map +0 -0
  351. package/dist/src/color/color_map.min.mjs +0 -0
  352. package/dist/src/color/color_map.min.mjs.map +0 -0
  353. package/dist/src/color/color_map.mjs +0 -0
  354. package/dist/src/color/color_map.mjs.map +0 -0
  355. package/dist/src/color/constants.d.ts +0 -0
  356. package/dist/src/color/constants.d.ts.map +0 -0
  357. package/dist/src/color/constants.min.mjs +0 -0
  358. package/dist/src/color/constants.min.mjs.map +0 -0
  359. package/dist/src/color/constants.mjs +0 -0
  360. package/dist/src/color/constants.mjs.map +0 -0
  361. package/dist/src/color/typedefs.d.ts +0 -0
  362. package/dist/src/color/typedefs.d.ts.map +0 -0
  363. package/dist/src/color/util.d.ts +0 -0
  364. package/dist/src/color/util.d.ts.map +0 -0
  365. package/dist/src/color/util.min.mjs +0 -0
  366. package/dist/src/color/util.min.mjs.map +0 -0
  367. package/dist/src/color/util.mjs +0 -0
  368. package/dist/src/color/util.mjs.map +0 -0
  369. package/dist/src/config.d.ts +0 -0
  370. package/dist/src/config.d.ts.map +0 -0
  371. package/dist/src/config.min.mjs +0 -0
  372. package/dist/src/config.min.mjs.map +0 -0
  373. package/dist/src/config.mjs +0 -0
  374. package/dist/src/config.mjs.map +0 -0
  375. package/dist/src/constants.d.ts +0 -0
  376. package/dist/src/constants.d.ts.map +0 -0
  377. package/dist/src/constants.min.mjs +0 -0
  378. package/dist/src/constants.min.mjs.map +0 -0
  379. package/dist/src/constants.mjs +0 -0
  380. package/dist/src/constants.mjs.map +0 -0
  381. package/dist/src/controls/Control.d.ts +0 -0
  382. package/dist/src/controls/Control.d.ts.map +0 -0
  383. package/dist/src/controls/Control.min.mjs +0 -0
  384. package/dist/src/controls/Control.min.mjs.map +0 -0
  385. package/dist/src/controls/Control.mjs +0 -0
  386. package/dist/src/controls/Control.mjs.map +0 -0
  387. package/dist/src/controls/changeHeight.d.ts +0 -0
  388. package/dist/src/controls/changeHeight.d.ts.map +0 -0
  389. package/dist/src/controls/changeHeight.min.mjs +2 -0
  390. package/dist/src/controls/changeHeight.min.mjs.map +1 -0
  391. package/dist/src/controls/changeHeight.mjs +36 -0
  392. package/dist/src/controls/changeHeight.mjs.map +1 -0
  393. package/dist/src/controls/changeWidth.d.ts +0 -0
  394. package/dist/src/controls/changeWidth.d.ts.map +0 -0
  395. package/dist/src/controls/changeWidth.min.mjs +0 -0
  396. package/dist/src/controls/changeWidth.min.mjs.map +0 -0
  397. package/dist/src/controls/changeWidth.mjs +0 -0
  398. package/dist/src/controls/changeWidth.mjs.map +0 -0
  399. package/dist/src/controls/commonControls.d.ts +0 -0
  400. package/dist/src/controls/commonControls.d.ts.map +0 -0
  401. package/dist/src/controls/commonControls.min.mjs +0 -0
  402. package/dist/src/controls/commonControls.min.mjs.map +0 -0
  403. package/dist/src/controls/commonControls.mjs +0 -0
  404. package/dist/src/controls/commonControls.mjs.map +0 -0
  405. package/dist/src/controls/controlRendering.d.ts +0 -0
  406. package/dist/src/controls/controlRendering.d.ts.map +0 -0
  407. package/dist/src/controls/controlRendering.min.mjs +0 -0
  408. package/dist/src/controls/controlRendering.min.mjs.map +0 -0
  409. package/dist/src/controls/controlRendering.mjs +0 -0
  410. package/dist/src/controls/controlRendering.mjs.map +0 -0
  411. package/dist/src/controls/drag.d.ts +0 -0
  412. package/dist/src/controls/drag.d.ts.map +0 -0
  413. package/dist/src/controls/drag.min.mjs +0 -0
  414. package/dist/src/controls/drag.min.mjs.map +0 -0
  415. package/dist/src/controls/drag.mjs +0 -0
  416. package/dist/src/controls/drag.mjs.map +0 -0
  417. package/dist/src/controls/fireEvent.d.ts +0 -0
  418. package/dist/src/controls/fireEvent.d.ts.map +0 -0
  419. package/dist/src/controls/fireEvent.min.mjs +0 -0
  420. package/dist/src/controls/fireEvent.min.mjs.map +0 -0
  421. package/dist/src/controls/fireEvent.mjs +0 -0
  422. package/dist/src/controls/fireEvent.mjs.map +0 -0
  423. package/dist/src/controls/index.d.ts +0 -0
  424. package/dist/src/controls/index.d.ts.map +0 -0
  425. package/dist/src/controls/index.min.mjs +0 -0
  426. package/dist/src/controls/index.min.mjs.map +0 -0
  427. package/dist/src/controls/index.mjs +0 -0
  428. package/dist/src/controls/index.mjs.map +0 -0
  429. package/dist/src/controls/pathControl.d.ts +0 -0
  430. package/dist/src/controls/pathControl.d.ts.map +0 -0
  431. package/dist/src/controls/pathControl.min.mjs +0 -0
  432. package/dist/src/controls/pathControl.min.mjs.map +0 -0
  433. package/dist/src/controls/pathControl.mjs +0 -0
  434. package/dist/src/controls/pathControl.mjs.map +0 -0
  435. package/dist/src/controls/polyControl.d.ts +0 -0
  436. package/dist/src/controls/polyControl.d.ts.map +0 -0
  437. package/dist/src/controls/polyControl.min.mjs +0 -0
  438. package/dist/src/controls/polyControl.min.mjs.map +0 -0
  439. package/dist/src/controls/polyControl.mjs +0 -0
  440. package/dist/src/controls/polyControl.mjs.map +0 -0
  441. package/dist/src/controls/rotate.d.ts +0 -0
  442. package/dist/src/controls/rotate.d.ts.map +0 -0
  443. package/dist/src/controls/rotate.min.mjs +0 -0
  444. package/dist/src/controls/rotate.min.mjs.map +0 -0
  445. package/dist/src/controls/rotate.mjs +0 -0
  446. package/dist/src/controls/rotate.mjs.map +0 -0
  447. package/dist/src/controls/scale.d.ts +0 -0
  448. package/dist/src/controls/scale.d.ts.map +0 -0
  449. package/dist/src/controls/scale.min.mjs +0 -0
  450. package/dist/src/controls/scale.min.mjs.map +0 -0
  451. package/dist/src/controls/scale.mjs +0 -0
  452. package/dist/src/controls/scale.mjs.map +0 -0
  453. package/dist/src/controls/scaleSkew.d.ts +0 -0
  454. package/dist/src/controls/scaleSkew.d.ts.map +0 -0
  455. package/dist/src/controls/scaleSkew.min.mjs +0 -0
  456. package/dist/src/controls/scaleSkew.min.mjs.map +0 -0
  457. package/dist/src/controls/scaleSkew.mjs +0 -0
  458. package/dist/src/controls/scaleSkew.mjs.map +0 -0
  459. package/dist/src/controls/skew.d.ts +0 -0
  460. package/dist/src/controls/skew.d.ts.map +0 -0
  461. package/dist/src/controls/skew.min.mjs +0 -0
  462. package/dist/src/controls/skew.min.mjs.map +0 -0
  463. package/dist/src/controls/skew.mjs +0 -0
  464. package/dist/src/controls/skew.mjs.map +0 -0
  465. package/dist/src/controls/util.d.ts +0 -0
  466. package/dist/src/controls/util.d.ts.map +0 -0
  467. package/dist/src/controls/util.min.mjs +0 -0
  468. package/dist/src/controls/util.min.mjs.map +0 -0
  469. package/dist/src/controls/util.mjs +0 -0
  470. package/dist/src/controls/util.mjs.map +0 -0
  471. package/dist/src/controls/wrapWithFireEvent.d.ts +0 -0
  472. package/dist/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  473. package/dist/src/controls/wrapWithFireEvent.min.mjs +0 -0
  474. package/dist/src/controls/wrapWithFireEvent.min.mjs.map +0 -0
  475. package/dist/src/controls/wrapWithFireEvent.mjs +0 -0
  476. package/dist/src/controls/wrapWithFireEvent.mjs.map +0 -0
  477. package/dist/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  478. package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  479. package/dist/src/controls/wrapWithFixedAnchor.min.mjs +0 -0
  480. package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +0 -0
  481. package/dist/src/controls/wrapWithFixedAnchor.mjs +0 -0
  482. package/dist/src/controls/wrapWithFixedAnchor.mjs.map +0 -0
  483. package/dist/src/env/browser.d.ts +0 -0
  484. package/dist/src/env/browser.d.ts.map +0 -0
  485. package/dist/src/env/browser.min.mjs +0 -0
  486. package/dist/src/env/browser.min.mjs.map +0 -0
  487. package/dist/src/env/browser.mjs +0 -0
  488. package/dist/src/env/browser.mjs.map +0 -0
  489. package/dist/src/env/index.d.ts +0 -0
  490. package/dist/src/env/index.d.ts.map +0 -0
  491. package/dist/src/env/index.min.mjs +0 -0
  492. package/dist/src/env/index.min.mjs.map +0 -0
  493. package/dist/src/env/index.mjs +0 -0
  494. package/dist/src/env/index.mjs.map +0 -0
  495. package/dist/src/env/node.d.ts +0 -0
  496. package/dist/src/env/node.d.ts.map +0 -0
  497. package/dist/src/env/types.d.ts +0 -0
  498. package/dist/src/env/types.d.ts.map +0 -0
  499. package/dist/src/filters/BaseFilter.d.ts +0 -0
  500. package/dist/src/filters/BaseFilter.d.ts.map +0 -0
  501. package/dist/src/filters/BaseFilter.min.mjs +0 -0
  502. package/dist/src/filters/BaseFilter.min.mjs.map +0 -0
  503. package/dist/src/filters/BaseFilter.mjs +0 -0
  504. package/dist/src/filters/BaseFilter.mjs.map +0 -0
  505. package/dist/src/filters/BlendColor.d.ts +0 -0
  506. package/dist/src/filters/BlendColor.d.ts.map +0 -0
  507. package/dist/src/filters/BlendColor.min.mjs +0 -0
  508. package/dist/src/filters/BlendColor.min.mjs.map +0 -0
  509. package/dist/src/filters/BlendColor.mjs +0 -0
  510. package/dist/src/filters/BlendColor.mjs.map +0 -0
  511. package/dist/src/filters/BlendImage.d.ts +0 -0
  512. package/dist/src/filters/BlendImage.d.ts.map +0 -0
  513. package/dist/src/filters/BlendImage.min.mjs +0 -0
  514. package/dist/src/filters/BlendImage.min.mjs.map +0 -0
  515. package/dist/src/filters/BlendImage.mjs +0 -0
  516. package/dist/src/filters/BlendImage.mjs.map +0 -0
  517. package/dist/src/filters/Blur.d.ts +0 -0
  518. package/dist/src/filters/Blur.d.ts.map +0 -0
  519. package/dist/src/filters/Blur.min.mjs +0 -0
  520. package/dist/src/filters/Blur.min.mjs.map +0 -0
  521. package/dist/src/filters/Blur.mjs +0 -0
  522. package/dist/src/filters/Blur.mjs.map +0 -0
  523. package/dist/src/filters/Boilerplate.d.ts +0 -0
  524. package/dist/src/filters/Boilerplate.d.ts.map +0 -0
  525. package/dist/src/filters/Brightness.d.ts +0 -0
  526. package/dist/src/filters/Brightness.d.ts.map +0 -0
  527. package/dist/src/filters/Brightness.min.mjs +0 -0
  528. package/dist/src/filters/Brightness.min.mjs.map +0 -0
  529. package/dist/src/filters/Brightness.mjs +0 -0
  530. package/dist/src/filters/Brightness.mjs.map +0 -0
  531. package/dist/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  532. package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  533. package/dist/src/filters/Canvas2dFilterBackend.min.mjs +0 -0
  534. package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +0 -0
  535. package/dist/src/filters/Canvas2dFilterBackend.mjs +0 -0
  536. package/dist/src/filters/Canvas2dFilterBackend.mjs.map +0 -0
  537. package/dist/src/filters/ColorMatrix.d.ts +0 -0
  538. package/dist/src/filters/ColorMatrix.d.ts.map +0 -0
  539. package/dist/src/filters/ColorMatrix.min.mjs +0 -0
  540. package/dist/src/filters/ColorMatrix.min.mjs.map +0 -0
  541. package/dist/src/filters/ColorMatrix.mjs +0 -0
  542. package/dist/src/filters/ColorMatrix.mjs.map +0 -0
  543. package/dist/src/filters/ColorMatrixFilters.d.ts +0 -0
  544. package/dist/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  545. package/dist/src/filters/ColorMatrixFilters.min.mjs +0 -0
  546. package/dist/src/filters/ColorMatrixFilters.min.mjs.map +0 -0
  547. package/dist/src/filters/ColorMatrixFilters.mjs +0 -0
  548. package/dist/src/filters/ColorMatrixFilters.mjs.map +0 -0
  549. package/dist/src/filters/Composed.d.ts +0 -0
  550. package/dist/src/filters/Composed.d.ts.map +0 -0
  551. package/dist/src/filters/Composed.min.mjs +0 -0
  552. package/dist/src/filters/Composed.min.mjs.map +0 -0
  553. package/dist/src/filters/Composed.mjs +0 -0
  554. package/dist/src/filters/Composed.mjs.map +0 -0
  555. package/dist/src/filters/Contrast.d.ts +0 -0
  556. package/dist/src/filters/Contrast.d.ts.map +0 -0
  557. package/dist/src/filters/Contrast.min.mjs +0 -0
  558. package/dist/src/filters/Contrast.min.mjs.map +0 -0
  559. package/dist/src/filters/Contrast.mjs +0 -0
  560. package/dist/src/filters/Contrast.mjs.map +0 -0
  561. package/dist/src/filters/Convolute.d.ts +0 -0
  562. package/dist/src/filters/Convolute.d.ts.map +0 -0
  563. package/dist/src/filters/Convolute.min.mjs +0 -0
  564. package/dist/src/filters/Convolute.min.mjs.map +0 -0
  565. package/dist/src/filters/Convolute.mjs +0 -0
  566. package/dist/src/filters/Convolute.mjs.map +0 -0
  567. package/dist/src/filters/FilterBackend.d.ts +0 -0
  568. package/dist/src/filters/FilterBackend.d.ts.map +0 -0
  569. package/dist/src/filters/FilterBackend.min.mjs +0 -0
  570. package/dist/src/filters/FilterBackend.min.mjs.map +0 -0
  571. package/dist/src/filters/FilterBackend.mjs +0 -0
  572. package/dist/src/filters/FilterBackend.mjs.map +0 -0
  573. package/dist/src/filters/GLProbes/GLProbe.d.ts +0 -0
  574. package/dist/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  575. package/dist/src/filters/GLProbes/GLProbe.min.mjs +0 -0
  576. package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +0 -0
  577. package/dist/src/filters/GLProbes/GLProbe.mjs +0 -0
  578. package/dist/src/filters/GLProbes/GLProbe.mjs.map +0 -0
  579. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +0 -0
  580. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +0 -0
  581. package/dist/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  582. package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  583. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +0 -0
  584. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +0 -0
  585. package/dist/src/filters/GLProbes/WebGLProbe.mjs +0 -0
  586. package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +0 -0
  587. package/dist/src/filters/Gamma.d.ts +0 -0
  588. package/dist/src/filters/Gamma.d.ts.map +0 -0
  589. package/dist/src/filters/Gamma.min.mjs +0 -0
  590. package/dist/src/filters/Gamma.min.mjs.map +0 -0
  591. package/dist/src/filters/Gamma.mjs +0 -0
  592. package/dist/src/filters/Gamma.mjs.map +0 -0
  593. package/dist/src/filters/Grayscale.d.ts +0 -0
  594. package/dist/src/filters/Grayscale.d.ts.map +0 -0
  595. package/dist/src/filters/Grayscale.min.mjs +0 -0
  596. package/dist/src/filters/Grayscale.min.mjs.map +0 -0
  597. package/dist/src/filters/Grayscale.mjs +0 -0
  598. package/dist/src/filters/Grayscale.mjs.map +0 -0
  599. package/dist/src/filters/HueRotation.d.ts +0 -0
  600. package/dist/src/filters/HueRotation.d.ts.map +0 -0
  601. package/dist/src/filters/HueRotation.min.mjs +0 -0
  602. package/dist/src/filters/HueRotation.min.mjs.map +0 -0
  603. package/dist/src/filters/HueRotation.mjs +0 -0
  604. package/dist/src/filters/HueRotation.mjs.map +0 -0
  605. package/dist/src/filters/Invert.d.ts +0 -0
  606. package/dist/src/filters/Invert.d.ts.map +0 -0
  607. package/dist/src/filters/Invert.min.mjs +0 -0
  608. package/dist/src/filters/Invert.min.mjs.map +0 -0
  609. package/dist/src/filters/Invert.mjs +0 -0
  610. package/dist/src/filters/Invert.mjs.map +0 -0
  611. package/dist/src/filters/Noise.d.ts +0 -0
  612. package/dist/src/filters/Noise.d.ts.map +0 -0
  613. package/dist/src/filters/Noise.min.mjs +0 -0
  614. package/dist/src/filters/Noise.min.mjs.map +0 -0
  615. package/dist/src/filters/Noise.mjs +0 -0
  616. package/dist/src/filters/Noise.mjs.map +0 -0
  617. package/dist/src/filters/Pixelate.d.ts +0 -0
  618. package/dist/src/filters/Pixelate.d.ts.map +0 -0
  619. package/dist/src/filters/Pixelate.min.mjs +0 -0
  620. package/dist/src/filters/Pixelate.min.mjs.map +0 -0
  621. package/dist/src/filters/Pixelate.mjs +0 -0
  622. package/dist/src/filters/Pixelate.mjs.map +0 -0
  623. package/dist/src/filters/RemoveColor.d.ts +0 -0
  624. package/dist/src/filters/RemoveColor.d.ts.map +0 -0
  625. package/dist/src/filters/RemoveColor.min.mjs +0 -0
  626. package/dist/src/filters/RemoveColor.min.mjs.map +0 -0
  627. package/dist/src/filters/RemoveColor.mjs +0 -0
  628. package/dist/src/filters/RemoveColor.mjs.map +0 -0
  629. package/dist/src/filters/Resize.d.ts +0 -0
  630. package/dist/src/filters/Resize.d.ts.map +0 -0
  631. package/dist/src/filters/Resize.min.mjs +0 -0
  632. package/dist/src/filters/Resize.min.mjs.map +0 -0
  633. package/dist/src/filters/Resize.mjs +0 -0
  634. package/dist/src/filters/Resize.mjs.map +0 -0
  635. package/dist/src/filters/Saturation.d.ts +0 -0
  636. package/dist/src/filters/Saturation.d.ts.map +0 -0
  637. package/dist/src/filters/Saturation.min.mjs +0 -0
  638. package/dist/src/filters/Saturation.min.mjs.map +0 -0
  639. package/dist/src/filters/Saturation.mjs +0 -0
  640. package/dist/src/filters/Saturation.mjs.map +0 -0
  641. package/dist/src/filters/Vibrance.d.ts +0 -0
  642. package/dist/src/filters/Vibrance.d.ts.map +0 -0
  643. package/dist/src/filters/Vibrance.min.mjs +0 -0
  644. package/dist/src/filters/Vibrance.min.mjs.map +0 -0
  645. package/dist/src/filters/Vibrance.mjs +0 -0
  646. package/dist/src/filters/Vibrance.mjs.map +0 -0
  647. package/dist/src/filters/WebGLFilterBackend.d.ts +0 -0
  648. package/dist/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  649. package/dist/src/filters/WebGLFilterBackend.min.mjs +0 -0
  650. package/dist/src/filters/WebGLFilterBackend.min.mjs.map +0 -0
  651. package/dist/src/filters/WebGLFilterBackend.mjs +0 -0
  652. package/dist/src/filters/WebGLFilterBackend.mjs.map +0 -0
  653. package/dist/src/filters/filters.d.ts +0 -0
  654. package/dist/src/filters/filters.d.ts.map +0 -0
  655. package/dist/src/filters/filters.min.mjs +0 -0
  656. package/dist/src/filters/filters.min.mjs.map +0 -0
  657. package/dist/src/filters/filters.mjs +0 -0
  658. package/dist/src/filters/filters.mjs.map +0 -0
  659. package/dist/src/filters/index.d.ts +0 -0
  660. package/dist/src/filters/index.d.ts.map +0 -0
  661. package/dist/src/filters/shaders/baseFilter.d.ts +0 -0
  662. package/dist/src/filters/shaders/baseFilter.d.ts.map +0 -0
  663. package/dist/src/filters/shaders/baseFilter.min.mjs +0 -0
  664. package/dist/src/filters/shaders/baseFilter.min.mjs.map +0 -0
  665. package/dist/src/filters/shaders/baseFilter.mjs +0 -0
  666. package/dist/src/filters/shaders/baseFilter.mjs.map +0 -0
  667. package/dist/src/filters/shaders/blendColor.d.ts +0 -0
  668. package/dist/src/filters/shaders/blendColor.d.ts.map +0 -0
  669. package/dist/src/filters/shaders/blendColor.min.mjs +0 -0
  670. package/dist/src/filters/shaders/blendColor.min.mjs.map +0 -0
  671. package/dist/src/filters/shaders/blendColor.mjs +0 -0
  672. package/dist/src/filters/shaders/blendColor.mjs.map +0 -0
  673. package/dist/src/filters/shaders/blendImage.d.ts +0 -0
  674. package/dist/src/filters/shaders/blendImage.d.ts.map +0 -0
  675. package/dist/src/filters/shaders/blendImage.min.mjs +0 -0
  676. package/dist/src/filters/shaders/blendImage.min.mjs.map +0 -0
  677. package/dist/src/filters/shaders/blendImage.mjs +0 -0
  678. package/dist/src/filters/shaders/blendImage.mjs.map +0 -0
  679. package/dist/src/filters/shaders/blur.d.ts +0 -0
  680. package/dist/src/filters/shaders/blur.d.ts.map +0 -0
  681. package/dist/src/filters/shaders/blur.min.mjs +0 -0
  682. package/dist/src/filters/shaders/blur.min.mjs.map +0 -0
  683. package/dist/src/filters/shaders/blur.mjs +0 -0
  684. package/dist/src/filters/shaders/blur.mjs.map +0 -0
  685. package/dist/src/filters/shaders/brightness.d.ts +0 -0
  686. package/dist/src/filters/shaders/brightness.d.ts.map +0 -0
  687. package/dist/src/filters/shaders/brightness.min.mjs +0 -0
  688. package/dist/src/filters/shaders/brightness.min.mjs.map +0 -0
  689. package/dist/src/filters/shaders/brightness.mjs +0 -0
  690. package/dist/src/filters/shaders/brightness.mjs.map +0 -0
  691. package/dist/src/filters/shaders/colorMatrix.d.ts +0 -0
  692. package/dist/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  693. package/dist/src/filters/shaders/colorMatrix.min.mjs +0 -0
  694. package/dist/src/filters/shaders/colorMatrix.min.mjs.map +0 -0
  695. package/dist/src/filters/shaders/colorMatrix.mjs +0 -0
  696. package/dist/src/filters/shaders/colorMatrix.mjs.map +0 -0
  697. package/dist/src/filters/shaders/constrast.d.ts +0 -0
  698. package/dist/src/filters/shaders/constrast.d.ts.map +0 -0
  699. package/dist/src/filters/shaders/constrast.min.mjs +0 -0
  700. package/dist/src/filters/shaders/constrast.min.mjs.map +0 -0
  701. package/dist/src/filters/shaders/constrast.mjs +0 -0
  702. package/dist/src/filters/shaders/constrast.mjs.map +0 -0
  703. package/dist/src/filters/shaders/convolute.d.ts +0 -0
  704. package/dist/src/filters/shaders/convolute.d.ts.map +0 -0
  705. package/dist/src/filters/shaders/convolute.min.mjs +0 -0
  706. package/dist/src/filters/shaders/convolute.min.mjs.map +0 -0
  707. package/dist/src/filters/shaders/convolute.mjs +0 -0
  708. package/dist/src/filters/shaders/convolute.mjs.map +0 -0
  709. package/dist/src/filters/shaders/gamma.d.ts +0 -0
  710. package/dist/src/filters/shaders/gamma.d.ts.map +0 -0
  711. package/dist/src/filters/shaders/gamma.min.mjs +0 -0
  712. package/dist/src/filters/shaders/gamma.min.mjs.map +0 -0
  713. package/dist/src/filters/shaders/gamma.mjs +0 -0
  714. package/dist/src/filters/shaders/gamma.mjs.map +0 -0
  715. package/dist/src/filters/shaders/grayscale.d.ts +0 -0
  716. package/dist/src/filters/shaders/grayscale.d.ts.map +0 -0
  717. package/dist/src/filters/shaders/grayscale.min.mjs +0 -0
  718. package/dist/src/filters/shaders/grayscale.min.mjs.map +0 -0
  719. package/dist/src/filters/shaders/grayscale.mjs +0 -0
  720. package/dist/src/filters/shaders/grayscale.mjs.map +0 -0
  721. package/dist/src/filters/shaders/invert.d.ts +0 -0
  722. package/dist/src/filters/shaders/invert.d.ts.map +0 -0
  723. package/dist/src/filters/shaders/invert.min.mjs +0 -0
  724. package/dist/src/filters/shaders/invert.min.mjs.map +0 -0
  725. package/dist/src/filters/shaders/invert.mjs +0 -0
  726. package/dist/src/filters/shaders/invert.mjs.map +0 -0
  727. package/dist/src/filters/shaders/noise.d.ts +0 -0
  728. package/dist/src/filters/shaders/noise.d.ts.map +0 -0
  729. package/dist/src/filters/shaders/noise.min.mjs +0 -0
  730. package/dist/src/filters/shaders/noise.min.mjs.map +0 -0
  731. package/dist/src/filters/shaders/noise.mjs +0 -0
  732. package/dist/src/filters/shaders/noise.mjs.map +0 -0
  733. package/dist/src/filters/shaders/pixelate.d.ts +0 -0
  734. package/dist/src/filters/shaders/pixelate.d.ts.map +0 -0
  735. package/dist/src/filters/shaders/pixelate.min.mjs +0 -0
  736. package/dist/src/filters/shaders/pixelate.min.mjs.map +0 -0
  737. package/dist/src/filters/shaders/pixelate.mjs +0 -0
  738. package/dist/src/filters/shaders/pixelate.mjs.map +0 -0
  739. package/dist/src/filters/shaders/removeColor.d.ts +0 -0
  740. package/dist/src/filters/shaders/removeColor.d.ts.map +0 -0
  741. package/dist/src/filters/shaders/removeColor.min.mjs +0 -0
  742. package/dist/src/filters/shaders/removeColor.min.mjs.map +0 -0
  743. package/dist/src/filters/shaders/removeColor.mjs +0 -0
  744. package/dist/src/filters/shaders/removeColor.mjs.map +0 -0
  745. package/dist/src/filters/shaders/saturation.d.ts +0 -0
  746. package/dist/src/filters/shaders/saturation.d.ts.map +0 -0
  747. package/dist/src/filters/shaders/saturation.min.mjs +0 -0
  748. package/dist/src/filters/shaders/saturation.min.mjs.map +0 -0
  749. package/dist/src/filters/shaders/saturation.mjs +0 -0
  750. package/dist/src/filters/shaders/saturation.mjs.map +0 -0
  751. package/dist/src/filters/shaders/vibrance.d.ts +0 -0
  752. package/dist/src/filters/shaders/vibrance.d.ts.map +0 -0
  753. package/dist/src/filters/shaders/vibrance.min.mjs +0 -0
  754. package/dist/src/filters/shaders/vibrance.min.mjs.map +0 -0
  755. package/dist/src/filters/shaders/vibrance.mjs +0 -0
  756. package/dist/src/filters/shaders/vibrance.mjs.map +0 -0
  757. package/dist/src/filters/typedefs.d.ts +0 -0
  758. package/dist/src/filters/typedefs.d.ts.map +0 -0
  759. package/dist/src/filters/utils.d.ts +0 -0
  760. package/dist/src/filters/utils.d.ts.map +0 -0
  761. package/dist/src/filters/utils.min.mjs +0 -0
  762. package/dist/src/filters/utils.min.mjs.map +0 -0
  763. package/dist/src/filters/utils.mjs +0 -0
  764. package/dist/src/filters/utils.mjs.map +0 -0
  765. package/dist/src/gradient/Gradient.d.ts +0 -0
  766. package/dist/src/gradient/Gradient.d.ts.map +0 -0
  767. package/dist/src/gradient/Gradient.min.mjs +0 -0
  768. package/dist/src/gradient/Gradient.min.mjs.map +0 -0
  769. package/dist/src/gradient/Gradient.mjs +0 -0
  770. package/dist/src/gradient/Gradient.mjs.map +0 -0
  771. package/dist/src/gradient/constants.d.ts +0 -0
  772. package/dist/src/gradient/constants.d.ts.map +0 -0
  773. package/dist/src/gradient/constants.min.mjs +0 -0
  774. package/dist/src/gradient/constants.min.mjs.map +0 -0
  775. package/dist/src/gradient/constants.mjs +0 -0
  776. package/dist/src/gradient/constants.mjs.map +0 -0
  777. package/dist/src/gradient/index.d.ts +0 -0
  778. package/dist/src/gradient/index.d.ts.map +0 -0
  779. package/dist/src/gradient/parser/misc.d.ts +0 -0
  780. package/dist/src/gradient/parser/misc.d.ts.map +0 -0
  781. package/dist/src/gradient/parser/misc.min.mjs +0 -0
  782. package/dist/src/gradient/parser/misc.min.mjs.map +0 -0
  783. package/dist/src/gradient/parser/misc.mjs +0 -0
  784. package/dist/src/gradient/parser/misc.mjs.map +0 -0
  785. package/dist/src/gradient/parser/parseColorStops.d.ts +0 -0
  786. package/dist/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  787. package/dist/src/gradient/parser/parseColorStops.min.mjs +0 -0
  788. package/dist/src/gradient/parser/parseColorStops.min.mjs.map +0 -0
  789. package/dist/src/gradient/parser/parseColorStops.mjs +0 -0
  790. package/dist/src/gradient/parser/parseColorStops.mjs.map +0 -0
  791. package/dist/src/gradient/parser/parseCoords.d.ts +0 -0
  792. package/dist/src/gradient/parser/parseCoords.d.ts.map +0 -0
  793. package/dist/src/gradient/parser/parseCoords.min.mjs +0 -0
  794. package/dist/src/gradient/parser/parseCoords.min.mjs.map +0 -0
  795. package/dist/src/gradient/parser/parseCoords.mjs +0 -0
  796. package/dist/src/gradient/parser/parseCoords.mjs.map +0 -0
  797. package/dist/src/gradient/typedefs.d.ts +0 -0
  798. package/dist/src/gradient/typedefs.d.ts.map +0 -0
  799. package/dist/src/mixins/eraser_brush.mixin.d.ts +0 -0
  800. package/dist/src/mixins/eraser_brush.mixin.d.ts.map +0 -0
  801. package/dist/src/parkinglot/canvas_animation.mixin.d.ts +0 -0
  802. package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +0 -0
  803. package/dist/src/parkinglot/straighten.d.ts +0 -0
  804. package/dist/src/parkinglot/straighten.d.ts.map +0 -0
  805. package/dist/src/parser/applyViewboxTransform.d.ts +0 -0
  806. package/dist/src/parser/applyViewboxTransform.d.ts.map +0 -0
  807. package/dist/src/parser/applyViewboxTransform.min.mjs +0 -0
  808. package/dist/src/parser/applyViewboxTransform.min.mjs.map +0 -0
  809. package/dist/src/parser/applyViewboxTransform.mjs +0 -0
  810. package/dist/src/parser/applyViewboxTransform.mjs.map +0 -0
  811. package/dist/src/parser/attributes.d.ts +0 -0
  812. package/dist/src/parser/attributes.d.ts.map +0 -0
  813. package/dist/src/parser/attributes.min.mjs +0 -0
  814. package/dist/src/parser/attributes.min.mjs.map +0 -0
  815. package/dist/src/parser/attributes.mjs +0 -0
  816. package/dist/src/parser/attributes.mjs.map +0 -0
  817. package/dist/src/parser/constants.d.ts +0 -0
  818. package/dist/src/parser/constants.d.ts.map +0 -0
  819. package/dist/src/parser/constants.min.mjs +0 -0
  820. package/dist/src/parser/constants.min.mjs.map +0 -0
  821. package/dist/src/parser/constants.mjs +0 -0
  822. package/dist/src/parser/constants.mjs.map +0 -0
  823. package/dist/src/parser/doesSomeParentMatch.d.ts +0 -0
  824. package/dist/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  825. package/dist/src/parser/doesSomeParentMatch.min.mjs +0 -0
  826. package/dist/src/parser/doesSomeParentMatch.min.mjs.map +0 -0
  827. package/dist/src/parser/doesSomeParentMatch.mjs +0 -0
  828. package/dist/src/parser/doesSomeParentMatch.mjs.map +0 -0
  829. package/dist/src/parser/elementMatchesRule.d.ts +0 -0
  830. package/dist/src/parser/elementMatchesRule.d.ts.map +0 -0
  831. package/dist/src/parser/elementMatchesRule.min.mjs +0 -0
  832. package/dist/src/parser/elementMatchesRule.min.mjs.map +0 -0
  833. package/dist/src/parser/elementMatchesRule.mjs +0 -0
  834. package/dist/src/parser/elementMatchesRule.mjs.map +0 -0
  835. package/dist/src/parser/elements_parser.d.ts +0 -0
  836. package/dist/src/parser/elements_parser.d.ts.map +0 -0
  837. package/dist/src/parser/elements_parser.min.mjs +0 -0
  838. package/dist/src/parser/elements_parser.min.mjs.map +0 -0
  839. package/dist/src/parser/elements_parser.mjs +0 -0
  840. package/dist/src/parser/elements_parser.mjs.map +0 -0
  841. package/dist/src/parser/getCSSRules.d.ts +0 -0
  842. package/dist/src/parser/getCSSRules.d.ts.map +0 -0
  843. package/dist/src/parser/getCSSRules.min.mjs +0 -0
  844. package/dist/src/parser/getCSSRules.min.mjs.map +0 -0
  845. package/dist/src/parser/getCSSRules.mjs +0 -0
  846. package/dist/src/parser/getCSSRules.mjs.map +0 -0
  847. package/dist/src/parser/getGlobalStylesForElement.d.ts +0 -0
  848. package/dist/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  849. package/dist/src/parser/getGlobalStylesForElement.min.mjs +0 -0
  850. package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +0 -0
  851. package/dist/src/parser/getGlobalStylesForElement.mjs +0 -0
  852. package/dist/src/parser/getGlobalStylesForElement.mjs.map +0 -0
  853. package/dist/src/parser/getGradientDefs.d.ts +0 -0
  854. package/dist/src/parser/getGradientDefs.d.ts.map +0 -0
  855. package/dist/src/parser/getGradientDefs.min.mjs +0 -0
  856. package/dist/src/parser/getGradientDefs.min.mjs.map +0 -0
  857. package/dist/src/parser/getGradientDefs.mjs +0 -0
  858. package/dist/src/parser/getGradientDefs.mjs.map +0 -0
  859. package/dist/src/parser/getMultipleNodes.d.ts +0 -0
  860. package/dist/src/parser/getMultipleNodes.d.ts.map +0 -0
  861. package/dist/src/parser/getMultipleNodes.min.mjs +0 -0
  862. package/dist/src/parser/getMultipleNodes.min.mjs.map +0 -0
  863. package/dist/src/parser/getMultipleNodes.mjs +0 -0
  864. package/dist/src/parser/getMultipleNodes.mjs.map +0 -0
  865. package/dist/src/parser/getSvgRegex.d.ts +0 -0
  866. package/dist/src/parser/getSvgRegex.d.ts.map +0 -0
  867. package/dist/src/parser/getSvgRegex.min.mjs +0 -0
  868. package/dist/src/parser/getSvgRegex.min.mjs.map +0 -0
  869. package/dist/src/parser/getSvgRegex.mjs +0 -0
  870. package/dist/src/parser/getSvgRegex.mjs.map +0 -0
  871. package/dist/src/parser/getTagName.d.ts +0 -0
  872. package/dist/src/parser/getTagName.d.ts.map +0 -0
  873. package/dist/src/parser/getTagName.min.mjs +0 -0
  874. package/dist/src/parser/getTagName.min.mjs.map +0 -0
  875. package/dist/src/parser/getTagName.mjs +0 -0
  876. package/dist/src/parser/getTagName.mjs.map +0 -0
  877. package/dist/src/parser/hasInvalidAncestor.d.ts +0 -0
  878. package/dist/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  879. package/dist/src/parser/hasInvalidAncestor.min.mjs +0 -0
  880. package/dist/src/parser/hasInvalidAncestor.min.mjs.map +0 -0
  881. package/dist/src/parser/hasInvalidAncestor.mjs +0 -0
  882. package/dist/src/parser/hasInvalidAncestor.mjs.map +0 -0
  883. package/dist/src/parser/loadSVGFromString.d.ts +0 -0
  884. package/dist/src/parser/loadSVGFromString.d.ts.map +0 -0
  885. package/dist/src/parser/loadSVGFromString.min.mjs +0 -0
  886. package/dist/src/parser/loadSVGFromString.min.mjs.map +0 -0
  887. package/dist/src/parser/loadSVGFromString.mjs +0 -0
  888. package/dist/src/parser/loadSVGFromString.mjs.map +0 -0
  889. package/dist/src/parser/loadSVGFromURL.d.ts +0 -0
  890. package/dist/src/parser/loadSVGFromURL.d.ts.map +0 -0
  891. package/dist/src/parser/loadSVGFromURL.min.mjs +0 -0
  892. package/dist/src/parser/loadSVGFromURL.min.mjs.map +0 -0
  893. package/dist/src/parser/loadSVGFromURL.mjs +0 -0
  894. package/dist/src/parser/loadSVGFromURL.mjs.map +0 -0
  895. package/dist/src/parser/normalizeAttr.d.ts +0 -0
  896. package/dist/src/parser/normalizeAttr.d.ts.map +0 -0
  897. package/dist/src/parser/normalizeAttr.min.mjs +0 -0
  898. package/dist/src/parser/normalizeAttr.min.mjs.map +0 -0
  899. package/dist/src/parser/normalizeAttr.mjs +0 -0
  900. package/dist/src/parser/normalizeAttr.mjs.map +0 -0
  901. package/dist/src/parser/normalizeValue.d.ts +0 -0
  902. package/dist/src/parser/normalizeValue.d.ts.map +0 -0
  903. package/dist/src/parser/normalizeValue.min.mjs +0 -0
  904. package/dist/src/parser/normalizeValue.min.mjs.map +0 -0
  905. package/dist/src/parser/normalizeValue.mjs +0 -0
  906. package/dist/src/parser/normalizeValue.mjs.map +0 -0
  907. package/dist/src/parser/parseAttributes.d.ts +0 -0
  908. package/dist/src/parser/parseAttributes.d.ts.map +0 -0
  909. package/dist/src/parser/parseAttributes.min.mjs +0 -0
  910. package/dist/src/parser/parseAttributes.min.mjs.map +0 -0
  911. package/dist/src/parser/parseAttributes.mjs +0 -0
  912. package/dist/src/parser/parseAttributes.mjs.map +0 -0
  913. package/dist/src/parser/parseFontDeclaration.d.ts +0 -0
  914. package/dist/src/parser/parseFontDeclaration.d.ts.map +0 -0
  915. package/dist/src/parser/parseFontDeclaration.min.mjs +0 -0
  916. package/dist/src/parser/parseFontDeclaration.min.mjs.map +0 -0
  917. package/dist/src/parser/parseFontDeclaration.mjs +0 -0
  918. package/dist/src/parser/parseFontDeclaration.mjs.map +0 -0
  919. package/dist/src/parser/parsePointsAttribute.d.ts +0 -0
  920. package/dist/src/parser/parsePointsAttribute.d.ts.map +0 -0
  921. package/dist/src/parser/parsePointsAttribute.min.mjs +0 -0
  922. package/dist/src/parser/parsePointsAttribute.min.mjs.map +0 -0
  923. package/dist/src/parser/parsePointsAttribute.mjs +0 -0
  924. package/dist/src/parser/parsePointsAttribute.mjs.map +0 -0
  925. package/dist/src/parser/parseSVGDocument.d.ts +0 -0
  926. package/dist/src/parser/parseSVGDocument.d.ts.map +0 -0
  927. package/dist/src/parser/parseSVGDocument.min.mjs +0 -0
  928. package/dist/src/parser/parseSVGDocument.min.mjs.map +0 -0
  929. package/dist/src/parser/parseSVGDocument.mjs +0 -0
  930. package/dist/src/parser/parseSVGDocument.mjs.map +0 -0
  931. package/dist/src/parser/parseStyleAttribute.d.ts +0 -0
  932. package/dist/src/parser/parseStyleAttribute.d.ts.map +0 -0
  933. package/dist/src/parser/parseStyleAttribute.min.mjs +0 -0
  934. package/dist/src/parser/parseStyleAttribute.min.mjs.map +0 -0
  935. package/dist/src/parser/parseStyleAttribute.mjs +0 -0
  936. package/dist/src/parser/parseStyleAttribute.mjs.map +0 -0
  937. package/dist/src/parser/parseStyleObject.d.ts +0 -0
  938. package/dist/src/parser/parseStyleObject.d.ts.map +0 -0
  939. package/dist/src/parser/parseStyleObject.min.mjs +0 -0
  940. package/dist/src/parser/parseStyleObject.min.mjs.map +0 -0
  941. package/dist/src/parser/parseStyleObject.mjs +0 -0
  942. package/dist/src/parser/parseStyleObject.mjs.map +0 -0
  943. package/dist/src/parser/parseStyleString.d.ts +0 -0
  944. package/dist/src/parser/parseStyleString.d.ts.map +0 -0
  945. package/dist/src/parser/parseStyleString.min.mjs +0 -0
  946. package/dist/src/parser/parseStyleString.min.mjs.map +0 -0
  947. package/dist/src/parser/parseStyleString.mjs +0 -0
  948. package/dist/src/parser/parseStyleString.mjs.map +0 -0
  949. package/dist/src/parser/parseTransformAttribute.d.ts +0 -0
  950. package/dist/src/parser/parseTransformAttribute.d.ts.map +0 -0
  951. package/dist/src/parser/parseTransformAttribute.min.mjs +0 -0
  952. package/dist/src/parser/parseTransformAttribute.min.mjs.map +0 -0
  953. package/dist/src/parser/parseTransformAttribute.mjs +0 -0
  954. package/dist/src/parser/parseTransformAttribute.mjs.map +0 -0
  955. package/dist/src/parser/parseUseDirectives.d.ts +0 -0
  956. package/dist/src/parser/parseUseDirectives.d.ts.map +0 -0
  957. package/dist/src/parser/parseUseDirectives.min.mjs +0 -0
  958. package/dist/src/parser/parseUseDirectives.min.mjs.map +0 -0
  959. package/dist/src/parser/parseUseDirectives.mjs +0 -0
  960. package/dist/src/parser/parseUseDirectives.mjs.map +0 -0
  961. package/dist/src/parser/percent.d.ts +0 -0
  962. package/dist/src/parser/percent.d.ts.map +0 -0
  963. package/dist/src/parser/percent.min.mjs +0 -0
  964. package/dist/src/parser/percent.min.mjs.map +0 -0
  965. package/dist/src/parser/percent.mjs +0 -0
  966. package/dist/src/parser/percent.mjs.map +0 -0
  967. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  968. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  969. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +0 -0
  970. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +0 -0
  971. package/dist/src/parser/recursivelyParseGradientsXlink.mjs +0 -0
  972. package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +0 -0
  973. package/dist/src/parser/selectorMatches.d.ts +0 -0
  974. package/dist/src/parser/selectorMatches.d.ts.map +0 -0
  975. package/dist/src/parser/selectorMatches.min.mjs +0 -0
  976. package/dist/src/parser/selectorMatches.min.mjs.map +0 -0
  977. package/dist/src/parser/selectorMatches.mjs +0 -0
  978. package/dist/src/parser/selectorMatches.mjs.map +0 -0
  979. package/dist/src/parser/setStrokeFillOpacity.d.ts +0 -0
  980. package/dist/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  981. package/dist/src/parser/setStrokeFillOpacity.min.mjs +0 -0
  982. package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +0 -0
  983. package/dist/src/parser/setStrokeFillOpacity.mjs +0 -0
  984. package/dist/src/parser/setStrokeFillOpacity.mjs.map +0 -0
  985. package/dist/src/parser/typedefs.d.ts +0 -0
  986. package/dist/src/parser/typedefs.d.ts.map +0 -0
  987. package/dist/src/shapes/ActiveSelection.d.ts +0 -0
  988. package/dist/src/shapes/ActiveSelection.d.ts.map +0 -0
  989. package/dist/src/shapes/ActiveSelection.min.mjs +0 -0
  990. package/dist/src/shapes/ActiveSelection.min.mjs.map +0 -0
  991. package/dist/src/shapes/ActiveSelection.mjs +0 -0
  992. package/dist/src/shapes/ActiveSelection.mjs.map +0 -0
  993. package/dist/src/shapes/Circle.d.ts +0 -0
  994. package/dist/src/shapes/Circle.d.ts.map +0 -0
  995. package/dist/src/shapes/Circle.min.mjs +0 -0
  996. package/dist/src/shapes/Circle.min.mjs.map +0 -0
  997. package/dist/src/shapes/Circle.mjs +0 -0
  998. package/dist/src/shapes/Circle.mjs.map +0 -0
  999. package/dist/src/shapes/Ellipse.d.ts +0 -0
  1000. package/dist/src/shapes/Ellipse.d.ts.map +0 -0
  1001. package/dist/src/shapes/Ellipse.min.mjs +0 -0
  1002. package/dist/src/shapes/Ellipse.min.mjs.map +0 -0
  1003. package/dist/src/shapes/Ellipse.mjs +0 -0
  1004. package/dist/src/shapes/Ellipse.mjs.map +0 -0
  1005. package/dist/src/shapes/Group.d.ts +0 -0
  1006. package/dist/src/shapes/Group.d.ts.map +0 -0
  1007. package/dist/src/shapes/Group.min.mjs +0 -0
  1008. package/dist/src/shapes/Group.min.mjs.map +0 -0
  1009. package/dist/src/shapes/Group.mjs +0 -0
  1010. package/dist/src/shapes/Group.mjs.map +0 -0
  1011. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  1012. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  1013. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +0 -0
  1014. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +0 -0
  1015. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +0 -0
  1016. package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -0
  1017. package/dist/src/shapes/IText/IText.d.ts +0 -0
  1018. package/dist/src/shapes/IText/IText.d.ts.map +0 -0
  1019. package/dist/src/shapes/IText/IText.min.mjs +0 -0
  1020. package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
  1021. package/dist/src/shapes/IText/IText.mjs +206 -206
  1022. package/dist/src/shapes/IText/IText.mjs.map +1 -1
  1023. package/dist/src/shapes/IText/ITextBehavior.d.ts +0 -0
  1024. package/dist/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
  1025. package/dist/src/shapes/IText/ITextBehavior.min.mjs +0 -0
  1026. package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
  1027. package/dist/src/shapes/IText/ITextBehavior.mjs +152 -152
  1028. package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
  1029. package/dist/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  1030. package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  1031. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +0 -0
  1032. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -1
  1033. package/dist/src/shapes/IText/ITextClickBehavior.mjs +36 -36
  1034. package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -1
  1035. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  1036. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  1037. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +0 -0
  1038. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +0 -0
  1039. package/dist/src/shapes/IText/ITextKeyBehavior.mjs +0 -0
  1040. package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +0 -0
  1041. package/dist/src/shapes/IText/constants.d.ts +0 -0
  1042. package/dist/src/shapes/IText/constants.d.ts.map +0 -0
  1043. package/dist/src/shapes/IText/constants.min.mjs +0 -0
  1044. package/dist/src/shapes/IText/constants.min.mjs.map +0 -0
  1045. package/dist/src/shapes/IText/constants.mjs +0 -0
  1046. package/dist/src/shapes/IText/constants.mjs.map +0 -0
  1047. package/dist/src/shapes/Image.d.ts +0 -0
  1048. package/dist/src/shapes/Image.d.ts.map +0 -0
  1049. package/dist/src/shapes/Image.min.mjs +0 -0
  1050. package/dist/src/shapes/Image.min.mjs.map +0 -0
  1051. package/dist/src/shapes/Image.mjs +0 -0
  1052. package/dist/src/shapes/Image.mjs.map +0 -0
  1053. package/dist/src/shapes/Line.d.ts +0 -0
  1054. package/dist/src/shapes/Line.d.ts.map +0 -0
  1055. package/dist/src/shapes/Line.min.mjs +0 -0
  1056. package/dist/src/shapes/Line.min.mjs.map +0 -0
  1057. package/dist/src/shapes/Line.mjs +0 -0
  1058. package/dist/src/shapes/Line.mjs.map +0 -0
  1059. package/dist/src/shapes/Object/FabricObject.d.ts +0 -0
  1060. package/dist/src/shapes/Object/FabricObject.d.ts.map +0 -0
  1061. package/dist/src/shapes/Object/FabricObject.min.mjs +0 -0
  1062. package/dist/src/shapes/Object/FabricObject.min.mjs.map +0 -0
  1063. package/dist/src/shapes/Object/FabricObject.mjs +0 -0
  1064. package/dist/src/shapes/Object/FabricObject.mjs.map +0 -0
  1065. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  1066. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  1067. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +0 -0
  1068. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +0 -0
  1069. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +0 -0
  1070. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +0 -0
  1071. package/dist/src/shapes/Object/InteractiveObject.d.ts +0 -0
  1072. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  1073. package/dist/src/shapes/Object/InteractiveObject.min.mjs +0 -0
  1074. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +0 -0
  1075. package/dist/src/shapes/Object/InteractiveObject.mjs +0 -0
  1076. package/dist/src/shapes/Object/InteractiveObject.mjs.map +0 -0
  1077. package/dist/src/shapes/Object/Object.d.ts +0 -0
  1078. package/dist/src/shapes/Object/Object.d.ts.map +0 -0
  1079. package/dist/src/shapes/Object/Object.min.mjs +0 -0
  1080. package/dist/src/shapes/Object/Object.min.mjs.map +0 -0
  1081. package/dist/src/shapes/Object/Object.mjs +0 -0
  1082. package/dist/src/shapes/Object/Object.mjs.map +0 -0
  1083. package/dist/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1084. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1085. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +0 -0
  1086. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +0 -0
  1087. package/dist/src/shapes/Object/ObjectGeometry.mjs +0 -0
  1088. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +0 -0
  1089. package/dist/src/shapes/Object/defaultValues.d.ts +0 -0
  1090. package/dist/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1091. package/dist/src/shapes/Object/defaultValues.min.mjs +0 -0
  1092. package/dist/src/shapes/Object/defaultValues.min.mjs.map +0 -0
  1093. package/dist/src/shapes/Object/defaultValues.mjs +0 -0
  1094. package/dist/src/shapes/Object/defaultValues.mjs.map +0 -0
  1095. package/dist/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1096. package/dist/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1097. package/dist/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1098. package/dist/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1099. package/dist/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1100. package/dist/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1101. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1102. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1103. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1104. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1105. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1106. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1107. package/dist/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1108. package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1109. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1110. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1111. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1112. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1113. package/dist/src/shapes/Object/types/index.d.ts +0 -0
  1114. package/dist/src/shapes/Object/types/index.d.ts.map +0 -0
  1115. package/dist/src/shapes/Path.d.ts +0 -0
  1116. package/dist/src/shapes/Path.d.ts.map +0 -0
  1117. package/dist/src/shapes/Path.min.mjs +0 -0
  1118. package/dist/src/shapes/Path.min.mjs.map +0 -0
  1119. package/dist/src/shapes/Path.mjs +0 -0
  1120. package/dist/src/shapes/Path.mjs.map +0 -0
  1121. package/dist/src/shapes/Polygon.d.ts +0 -0
  1122. package/dist/src/shapes/Polygon.d.ts.map +0 -0
  1123. package/dist/src/shapes/Polygon.min.mjs +0 -0
  1124. package/dist/src/shapes/Polygon.min.mjs.map +0 -0
  1125. package/dist/src/shapes/Polygon.mjs +0 -0
  1126. package/dist/src/shapes/Polygon.mjs.map +0 -0
  1127. package/dist/src/shapes/Polyline.d.ts +0 -0
  1128. package/dist/src/shapes/Polyline.d.ts.map +0 -0
  1129. package/dist/src/shapes/Polyline.min.mjs +0 -0
  1130. package/dist/src/shapes/Polyline.min.mjs.map +0 -0
  1131. package/dist/src/shapes/Polyline.mjs +0 -0
  1132. package/dist/src/shapes/Polyline.mjs.map +0 -0
  1133. package/dist/src/shapes/Rect.d.ts +0 -0
  1134. package/dist/src/shapes/Rect.d.ts.map +0 -0
  1135. package/dist/src/shapes/Rect.min.mjs +0 -0
  1136. package/dist/src/shapes/Rect.min.mjs.map +0 -0
  1137. package/dist/src/shapes/Rect.mjs +0 -0
  1138. package/dist/src/shapes/Rect.mjs.map +0 -0
  1139. package/dist/src/shapes/Text/StyledText.d.ts +0 -0
  1140. package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
  1141. package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
  1142. package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
  1143. package/dist/src/shapes/Text/StyledText.mjs +0 -0
  1144. package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
  1145. package/dist/src/shapes/Text/Text.d.ts +0 -0
  1146. package/dist/src/shapes/Text/Text.d.ts.map +1 -1
  1147. package/dist/src/shapes/Text/Text.min.mjs +1 -1
  1148. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  1149. package/dist/src/shapes/Text/Text.mjs +347 -295
  1150. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  1151. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1152. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1153. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +0 -0
  1154. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +0 -0
  1155. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +0 -0
  1156. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -0
  1157. package/dist/src/shapes/Text/constants.d.ts +0 -0
  1158. package/dist/src/shapes/Text/constants.d.ts.map +0 -0
  1159. package/dist/src/shapes/Text/constants.min.mjs +0 -0
  1160. package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
  1161. package/dist/src/shapes/Text/constants.mjs +0 -0
  1162. package/dist/src/shapes/Text/constants.mjs.map +1 -1
  1163. package/dist/src/shapes/Textbox.d.ts +0 -0
  1164. package/dist/src/shapes/Textbox.d.ts.map +1 -1
  1165. package/dist/src/shapes/Textbox.min.mjs +1 -1
  1166. package/dist/src/shapes/Textbox.min.mjs.map +1 -1
  1167. package/dist/src/shapes/Textbox.mjs +149 -199
  1168. package/dist/src/shapes/Textbox.mjs.map +1 -1
  1169. package/dist/src/shapes/Triangle.d.ts +0 -0
  1170. package/dist/src/shapes/Triangle.d.ts.map +0 -0
  1171. package/dist/src/shapes/Triangle.min.mjs +0 -0
  1172. package/dist/src/shapes/Triangle.min.mjs.map +0 -0
  1173. package/dist/src/shapes/Triangle.mjs +0 -0
  1174. package/dist/src/shapes/Triangle.mjs.map +0 -0
  1175. package/dist/src/text/browserLines.d.ts +0 -0
  1176. package/dist/src/text/browserLines.d.ts.map +0 -0
  1177. package/dist/src/text/browserLines.min.mjs +0 -0
  1178. package/dist/src/text/browserLines.min.mjs.map +1 -1
  1179. package/dist/src/text/browserLines.mjs +20 -20
  1180. package/dist/src/text/browserLines.mjs.map +1 -1
  1181. package/dist/src/text/ellipsis.d.ts +0 -0
  1182. package/dist/src/text/ellipsis.d.ts.map +0 -0
  1183. package/dist/src/text/ellipsis.min.mjs +0 -0
  1184. package/dist/src/text/ellipsis.min.mjs.map +1 -1
  1185. package/dist/src/text/ellipsis.mjs +11 -11
  1186. package/dist/src/text/ellipsis.mjs.map +1 -1
  1187. package/dist/src/text/hitTest.d.ts +0 -0
  1188. package/dist/src/text/hitTest.d.ts.map +0 -0
  1189. package/dist/src/text/hitTest.min.mjs +0 -0
  1190. package/dist/src/text/hitTest.min.mjs.map +1 -1
  1191. package/dist/src/text/hitTest.mjs +19 -19
  1192. package/dist/src/text/hitTest.mjs.map +1 -1
  1193. package/dist/src/text/layout.d.ts +0 -0
  1194. package/dist/src/text/layout.d.ts.map +0 -0
  1195. package/dist/src/text/layout.min.mjs +0 -0
  1196. package/dist/src/text/layout.min.mjs.map +1 -1
  1197. package/dist/src/text/layout.mjs +33 -33
  1198. package/dist/src/text/layout.mjs.map +1 -1
  1199. package/dist/src/text/measure.d.ts +0 -0
  1200. package/dist/src/text/measure.d.ts.map +0 -0
  1201. package/dist/src/text/measure.min.mjs +0 -0
  1202. package/dist/src/text/measure.min.mjs.map +1 -1
  1203. package/dist/src/text/measure.mjs +20 -20
  1204. package/dist/src/text/measure.mjs.map +1 -1
  1205. package/dist/src/text/overlayEditor.d.ts +0 -0
  1206. package/dist/src/text/overlayEditor.d.ts.map +1 -1
  1207. package/dist/src/text/overlayEditor.min.mjs +1 -1
  1208. package/dist/src/text/overlayEditor.min.mjs.map +1 -1
  1209. package/dist/src/text/overlayEditor.mjs +176 -42
  1210. package/dist/src/text/overlayEditor.mjs.map +1 -1
  1211. package/dist/src/text/unicode.d.ts +0 -0
  1212. package/dist/src/text/unicode.d.ts.map +0 -0
  1213. package/dist/src/text/unicode.min.mjs +0 -0
  1214. package/dist/src/text/unicode.min.mjs.map +1 -1
  1215. package/dist/src/text/unicode.mjs +8 -8
  1216. package/dist/src/text/unicode.mjs.map +1 -1
  1217. package/dist/src/typedefs.d.ts +0 -0
  1218. package/dist/src/typedefs.d.ts.map +0 -0
  1219. package/dist/src/util/animation/AnimationBase.d.ts +0 -0
  1220. package/dist/src/util/animation/AnimationBase.d.ts.map +0 -0
  1221. package/dist/src/util/animation/AnimationBase.min.mjs +0 -0
  1222. package/dist/src/util/animation/AnimationBase.min.mjs.map +0 -0
  1223. package/dist/src/util/animation/AnimationBase.mjs +0 -0
  1224. package/dist/src/util/animation/AnimationBase.mjs.map +0 -0
  1225. package/dist/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1226. package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1227. package/dist/src/util/animation/AnimationFrameProvider.min.mjs +0 -0
  1228. package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +0 -0
  1229. package/dist/src/util/animation/AnimationFrameProvider.mjs +0 -0
  1230. package/dist/src/util/animation/AnimationFrameProvider.mjs.map +0 -0
  1231. package/dist/src/util/animation/AnimationRegistry.d.ts +0 -0
  1232. package/dist/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  1233. package/dist/src/util/animation/AnimationRegistry.min.mjs +0 -0
  1234. package/dist/src/util/animation/AnimationRegistry.min.mjs.map +0 -0
  1235. package/dist/src/util/animation/AnimationRegistry.mjs +0 -0
  1236. package/dist/src/util/animation/AnimationRegistry.mjs.map +0 -0
  1237. package/dist/src/util/animation/ArrayAnimation.d.ts +0 -0
  1238. package/dist/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  1239. package/dist/src/util/animation/ArrayAnimation.min.mjs +0 -0
  1240. package/dist/src/util/animation/ArrayAnimation.min.mjs.map +0 -0
  1241. package/dist/src/util/animation/ArrayAnimation.mjs +0 -0
  1242. package/dist/src/util/animation/ArrayAnimation.mjs.map +0 -0
  1243. package/dist/src/util/animation/ColorAnimation.d.ts +0 -0
  1244. package/dist/src/util/animation/ColorAnimation.d.ts.map +0 -0
  1245. package/dist/src/util/animation/ColorAnimation.min.mjs +0 -0
  1246. package/dist/src/util/animation/ColorAnimation.min.mjs.map +0 -0
  1247. package/dist/src/util/animation/ColorAnimation.mjs +0 -0
  1248. package/dist/src/util/animation/ColorAnimation.mjs.map +0 -0
  1249. package/dist/src/util/animation/ValueAnimation.d.ts +0 -0
  1250. package/dist/src/util/animation/ValueAnimation.d.ts.map +0 -0
  1251. package/dist/src/util/animation/ValueAnimation.min.mjs +0 -0
  1252. package/dist/src/util/animation/ValueAnimation.min.mjs.map +0 -0
  1253. package/dist/src/util/animation/ValueAnimation.mjs +0 -0
  1254. package/dist/src/util/animation/ValueAnimation.mjs.map +0 -0
  1255. package/dist/src/util/animation/animate.d.ts +0 -0
  1256. package/dist/src/util/animation/animate.d.ts.map +0 -0
  1257. package/dist/src/util/animation/animate.min.mjs +0 -0
  1258. package/dist/src/util/animation/animate.min.mjs.map +0 -0
  1259. package/dist/src/util/animation/animate.mjs +0 -0
  1260. package/dist/src/util/animation/animate.mjs.map +0 -0
  1261. package/dist/src/util/animation/easing.d.ts +0 -0
  1262. package/dist/src/util/animation/easing.d.ts.map +0 -0
  1263. package/dist/src/util/animation/easing.min.mjs +0 -0
  1264. package/dist/src/util/animation/easing.min.mjs.map +0 -0
  1265. package/dist/src/util/animation/easing.mjs +0 -0
  1266. package/dist/src/util/animation/easing.mjs.map +0 -0
  1267. package/dist/src/util/animation/index.d.ts +0 -0
  1268. package/dist/src/util/animation/index.d.ts.map +0 -0
  1269. package/dist/src/util/animation/types.d.ts +0 -0
  1270. package/dist/src/util/animation/types.d.ts.map +0 -0
  1271. package/dist/src/util/applyMixins.d.ts +0 -0
  1272. package/dist/src/util/applyMixins.d.ts.map +0 -0
  1273. package/dist/src/util/applyMixins.min.mjs +0 -0
  1274. package/dist/src/util/applyMixins.min.mjs.map +0 -0
  1275. package/dist/src/util/applyMixins.mjs +0 -0
  1276. package/dist/src/util/applyMixins.mjs.map +0 -0
  1277. package/dist/src/util/dom_event.d.ts +0 -0
  1278. package/dist/src/util/dom_event.d.ts.map +0 -0
  1279. package/dist/src/util/dom_event.min.mjs +0 -0
  1280. package/dist/src/util/dom_event.min.mjs.map +0 -0
  1281. package/dist/src/util/dom_event.mjs +0 -0
  1282. package/dist/src/util/dom_event.mjs.map +0 -0
  1283. package/dist/src/util/dom_misc.d.ts +0 -0
  1284. package/dist/src/util/dom_misc.d.ts.map +0 -0
  1285. package/dist/src/util/dom_misc.min.mjs +0 -0
  1286. package/dist/src/util/dom_misc.min.mjs.map +0 -0
  1287. package/dist/src/util/dom_misc.mjs +0 -0
  1288. package/dist/src/util/dom_misc.mjs.map +0 -0
  1289. package/dist/src/util/index.d.ts +0 -0
  1290. package/dist/src/util/index.d.ts.map +0 -0
  1291. package/dist/src/util/index.min.mjs +0 -0
  1292. package/dist/src/util/index.min.mjs.map +0 -0
  1293. package/dist/src/util/index.mjs +0 -0
  1294. package/dist/src/util/index.mjs.map +0 -0
  1295. package/dist/src/util/internals/applyCanvasTransform.d.ts +0 -0
  1296. package/dist/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  1297. package/dist/src/util/internals/applyCanvasTransform.min.mjs +0 -0
  1298. package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +0 -0
  1299. package/dist/src/util/internals/applyCanvasTransform.mjs +0 -0
  1300. package/dist/src/util/internals/applyCanvasTransform.mjs.map +0 -0
  1301. package/dist/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  1302. package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  1303. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +0 -0
  1304. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +0 -0
  1305. package/dist/src/util/internals/cleanupSvgAttribute.mjs +0 -0
  1306. package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +0 -0
  1307. package/dist/src/util/internals/cloneStyles.d.ts +0 -0
  1308. package/dist/src/util/internals/cloneStyles.d.ts.map +0 -0
  1309. package/dist/src/util/internals/cloneStyles.min.mjs +0 -0
  1310. package/dist/src/util/internals/cloneStyles.min.mjs.map +0 -0
  1311. package/dist/src/util/internals/cloneStyles.mjs +0 -0
  1312. package/dist/src/util/internals/cloneStyles.mjs.map +0 -0
  1313. package/dist/src/util/internals/console.d.ts +0 -0
  1314. package/dist/src/util/internals/console.d.ts.map +0 -0
  1315. package/dist/src/util/internals/console.min.mjs +0 -0
  1316. package/dist/src/util/internals/console.min.mjs.map +0 -0
  1317. package/dist/src/util/internals/console.mjs +0 -0
  1318. package/dist/src/util/internals/console.mjs.map +0 -0
  1319. package/dist/src/util/internals/dom_style.d.ts +0 -0
  1320. package/dist/src/util/internals/dom_style.d.ts.map +0 -0
  1321. package/dist/src/util/internals/dom_style.min.mjs +0 -0
  1322. package/dist/src/util/internals/dom_style.min.mjs.map +0 -0
  1323. package/dist/src/util/internals/dom_style.mjs +0 -0
  1324. package/dist/src/util/internals/dom_style.mjs.map +0 -0
  1325. package/dist/src/util/internals/findRight.d.ts +0 -0
  1326. package/dist/src/util/internals/findRight.d.ts.map +0 -0
  1327. package/dist/src/util/internals/findRight.min.mjs +0 -0
  1328. package/dist/src/util/internals/findRight.min.mjs.map +0 -0
  1329. package/dist/src/util/internals/findRight.mjs +0 -0
  1330. package/dist/src/util/internals/findRight.mjs.map +0 -0
  1331. package/dist/src/util/internals/getRandomInt.d.ts +0 -0
  1332. package/dist/src/util/internals/getRandomInt.d.ts.map +0 -0
  1333. package/dist/src/util/internals/getRandomInt.min.mjs +0 -0
  1334. package/dist/src/util/internals/getRandomInt.min.mjs.map +0 -0
  1335. package/dist/src/util/internals/getRandomInt.mjs +0 -0
  1336. package/dist/src/util/internals/getRandomInt.mjs.map +0 -0
  1337. package/dist/src/util/internals/ifNaN.d.ts +0 -0
  1338. package/dist/src/util/internals/ifNaN.d.ts.map +0 -0
  1339. package/dist/src/util/internals/ifNaN.min.mjs +0 -0
  1340. package/dist/src/util/internals/ifNaN.min.mjs.map +0 -0
  1341. package/dist/src/util/internals/ifNaN.mjs +0 -0
  1342. package/dist/src/util/internals/ifNaN.mjs.map +0 -0
  1343. package/dist/src/util/internals/removeFromArray.d.ts +0 -0
  1344. package/dist/src/util/internals/removeFromArray.d.ts.map +0 -0
  1345. package/dist/src/util/internals/removeFromArray.min.mjs +0 -0
  1346. package/dist/src/util/internals/removeFromArray.min.mjs.map +0 -0
  1347. package/dist/src/util/internals/removeFromArray.mjs +0 -0
  1348. package/dist/src/util/internals/removeFromArray.mjs.map +0 -0
  1349. package/dist/src/util/internals/uid.d.ts +0 -0
  1350. package/dist/src/util/internals/uid.d.ts.map +0 -0
  1351. package/dist/src/util/internals/uid.min.mjs +0 -0
  1352. package/dist/src/util/internals/uid.min.mjs.map +0 -0
  1353. package/dist/src/util/internals/uid.mjs +0 -0
  1354. package/dist/src/util/internals/uid.mjs.map +0 -0
  1355. package/dist/src/util/lang_string.d.ts +0 -0
  1356. package/dist/src/util/lang_string.d.ts.map +0 -0
  1357. package/dist/src/util/lang_string.min.mjs +0 -0
  1358. package/dist/src/util/lang_string.min.mjs.map +0 -0
  1359. package/dist/src/util/lang_string.mjs +0 -0
  1360. package/dist/src/util/lang_string.mjs.map +0 -0
  1361. package/dist/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  1362. package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  1363. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +0 -0
  1364. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +0 -0
  1365. package/dist/src/util/misc/boundingBoxFromPoints.mjs +0 -0
  1366. package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +0 -0
  1367. package/dist/src/util/misc/capValue.d.ts +0 -0
  1368. package/dist/src/util/misc/capValue.d.ts.map +0 -0
  1369. package/dist/src/util/misc/capValue.min.mjs +0 -0
  1370. package/dist/src/util/misc/capValue.min.mjs.map +0 -0
  1371. package/dist/src/util/misc/capValue.mjs +0 -0
  1372. package/dist/src/util/misc/capValue.mjs.map +0 -0
  1373. package/dist/src/util/misc/cos.d.ts +0 -0
  1374. package/dist/src/util/misc/cos.d.ts.map +0 -0
  1375. package/dist/src/util/misc/cos.min.mjs +0 -0
  1376. package/dist/src/util/misc/cos.min.mjs.map +0 -0
  1377. package/dist/src/util/misc/cos.mjs +0 -0
  1378. package/dist/src/util/misc/cos.mjs.map +0 -0
  1379. package/dist/src/util/misc/dom.d.ts +0 -0
  1380. package/dist/src/util/misc/dom.d.ts.map +0 -0
  1381. package/dist/src/util/misc/dom.min.mjs +0 -0
  1382. package/dist/src/util/misc/dom.min.mjs.map +0 -0
  1383. package/dist/src/util/misc/dom.mjs +0 -0
  1384. package/dist/src/util/misc/dom.mjs.map +0 -0
  1385. package/dist/src/util/misc/findScaleTo.d.ts +0 -0
  1386. package/dist/src/util/misc/findScaleTo.d.ts.map +0 -0
  1387. package/dist/src/util/misc/findScaleTo.min.mjs +0 -0
  1388. package/dist/src/util/misc/findScaleTo.min.mjs.map +0 -0
  1389. package/dist/src/util/misc/findScaleTo.mjs +0 -0
  1390. package/dist/src/util/misc/findScaleTo.mjs.map +0 -0
  1391. package/dist/src/util/misc/groupSVGElements.d.ts +0 -0
  1392. package/dist/src/util/misc/groupSVGElements.d.ts.map +0 -0
  1393. package/dist/src/util/misc/groupSVGElements.min.mjs +0 -0
  1394. package/dist/src/util/misc/groupSVGElements.min.mjs.map +0 -0
  1395. package/dist/src/util/misc/groupSVGElements.mjs +0 -0
  1396. package/dist/src/util/misc/groupSVGElements.mjs.map +0 -0
  1397. package/dist/src/util/misc/isTransparent.d.ts +0 -0
  1398. package/dist/src/util/misc/isTransparent.d.ts.map +0 -0
  1399. package/dist/src/util/misc/isTransparent.min.mjs +0 -0
  1400. package/dist/src/util/misc/isTransparent.min.mjs.map +0 -0
  1401. package/dist/src/util/misc/isTransparent.mjs +0 -0
  1402. package/dist/src/util/misc/isTransparent.mjs.map +0 -0
  1403. package/dist/src/util/misc/matrix.d.ts +0 -0
  1404. package/dist/src/util/misc/matrix.d.ts.map +0 -0
  1405. package/dist/src/util/misc/matrix.min.mjs +0 -0
  1406. package/dist/src/util/misc/matrix.min.mjs.map +0 -0
  1407. package/dist/src/util/misc/matrix.mjs +0 -0
  1408. package/dist/src/util/misc/matrix.mjs.map +0 -0
  1409. package/dist/src/util/misc/mergeClipPaths.d.ts +0 -0
  1410. package/dist/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  1411. package/dist/src/util/misc/mergeClipPaths.min.mjs +0 -0
  1412. package/dist/src/util/misc/mergeClipPaths.min.mjs.map +0 -0
  1413. package/dist/src/util/misc/mergeClipPaths.mjs +0 -0
  1414. package/dist/src/util/misc/mergeClipPaths.mjs.map +0 -0
  1415. package/dist/src/util/misc/objectEnlive.d.ts +0 -0
  1416. package/dist/src/util/misc/objectEnlive.d.ts.map +0 -0
  1417. package/dist/src/util/misc/objectEnlive.min.mjs +0 -0
  1418. package/dist/src/util/misc/objectEnlive.min.mjs.map +0 -0
  1419. package/dist/src/util/misc/objectEnlive.mjs +0 -0
  1420. package/dist/src/util/misc/objectEnlive.mjs.map +0 -0
  1421. package/dist/src/util/misc/objectTransforms.d.ts +0 -0
  1422. package/dist/src/util/misc/objectTransforms.d.ts.map +0 -0
  1423. package/dist/src/util/misc/objectTransforms.min.mjs +0 -0
  1424. package/dist/src/util/misc/objectTransforms.min.mjs.map +0 -0
  1425. package/dist/src/util/misc/objectTransforms.mjs +0 -0
  1426. package/dist/src/util/misc/objectTransforms.mjs.map +0 -0
  1427. package/dist/src/util/misc/pick.d.ts +0 -0
  1428. package/dist/src/util/misc/pick.d.ts.map +0 -0
  1429. package/dist/src/util/misc/pick.min.mjs +0 -0
  1430. package/dist/src/util/misc/pick.min.mjs.map +0 -0
  1431. package/dist/src/util/misc/pick.mjs +0 -0
  1432. package/dist/src/util/misc/pick.mjs.map +0 -0
  1433. package/dist/src/util/misc/planeChange.d.ts +0 -0
  1434. package/dist/src/util/misc/planeChange.d.ts.map +0 -0
  1435. package/dist/src/util/misc/planeChange.min.mjs +0 -0
  1436. package/dist/src/util/misc/planeChange.min.mjs.map +0 -0
  1437. package/dist/src/util/misc/planeChange.mjs +0 -0
  1438. package/dist/src/util/misc/planeChange.mjs.map +0 -0
  1439. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  1440. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  1441. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +0 -0
  1442. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +0 -0
  1443. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -0
  1444. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -0
  1445. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  1446. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  1447. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +0 -0
  1448. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +0 -0
  1449. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -0
  1450. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -0
  1451. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  1452. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  1453. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +0 -0
  1454. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +0 -0
  1455. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -0
  1456. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -0
  1457. package/dist/src/util/misc/projectStroke/index.d.ts +0 -0
  1458. package/dist/src/util/misc/projectStroke/index.d.ts.map +0 -0
  1459. package/dist/src/util/misc/projectStroke/index.min.mjs +0 -0
  1460. package/dist/src/util/misc/projectStroke/index.min.mjs.map +0 -0
  1461. package/dist/src/util/misc/projectStroke/index.mjs +0 -0
  1462. package/dist/src/util/misc/projectStroke/index.mjs.map +0 -0
  1463. package/dist/src/util/misc/projectStroke/types.d.ts +0 -0
  1464. package/dist/src/util/misc/projectStroke/types.d.ts.map +0 -0
  1465. package/dist/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  1466. package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  1467. package/dist/src/util/misc/radiansDegreesConversion.min.mjs +0 -0
  1468. package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +0 -0
  1469. package/dist/src/util/misc/radiansDegreesConversion.mjs +0 -0
  1470. package/dist/src/util/misc/radiansDegreesConversion.mjs.map +0 -0
  1471. package/dist/src/util/misc/resolveOrigin.d.ts +0 -0
  1472. package/dist/src/util/misc/resolveOrigin.d.ts.map +0 -0
  1473. package/dist/src/util/misc/resolveOrigin.min.mjs +0 -0
  1474. package/dist/src/util/misc/resolveOrigin.min.mjs.map +0 -0
  1475. package/dist/src/util/misc/resolveOrigin.mjs +0 -0
  1476. package/dist/src/util/misc/resolveOrigin.mjs.map +0 -0
  1477. package/dist/src/util/misc/sin.d.ts +0 -0
  1478. package/dist/src/util/misc/sin.d.ts.map +0 -0
  1479. package/dist/src/util/misc/sin.min.mjs +0 -0
  1480. package/dist/src/util/misc/sin.min.mjs.map +0 -0
  1481. package/dist/src/util/misc/sin.mjs +0 -0
  1482. package/dist/src/util/misc/sin.mjs.map +0 -0
  1483. package/dist/src/util/misc/svgExport.d.ts +0 -0
  1484. package/dist/src/util/misc/svgExport.d.ts.map +0 -0
  1485. package/dist/src/util/misc/svgExport.min.mjs +0 -0
  1486. package/dist/src/util/misc/svgExport.min.mjs.map +0 -0
  1487. package/dist/src/util/misc/svgExport.mjs +0 -0
  1488. package/dist/src/util/misc/svgExport.mjs.map +0 -0
  1489. package/dist/src/util/misc/svgParsing.d.ts +0 -0
  1490. package/dist/src/util/misc/svgParsing.d.ts.map +0 -0
  1491. package/dist/src/util/misc/svgParsing.min.mjs +0 -0
  1492. package/dist/src/util/misc/svgParsing.min.mjs.map +0 -0
  1493. package/dist/src/util/misc/svgParsing.mjs +0 -0
  1494. package/dist/src/util/misc/svgParsing.mjs.map +0 -0
  1495. package/dist/src/util/misc/textStyles.d.ts +0 -0
  1496. package/dist/src/util/misc/textStyles.d.ts.map +0 -0
  1497. package/dist/src/util/misc/textStyles.min.mjs +0 -0
  1498. package/dist/src/util/misc/textStyles.min.mjs.map +0 -0
  1499. package/dist/src/util/misc/textStyles.mjs +0 -0
  1500. package/dist/src/util/misc/textStyles.mjs.map +0 -0
  1501. package/dist/src/util/misc/toFixed.d.ts +0 -0
  1502. package/dist/src/util/misc/toFixed.d.ts.map +0 -0
  1503. package/dist/src/util/misc/toFixed.min.mjs +0 -0
  1504. package/dist/src/util/misc/toFixed.min.mjs.map +0 -0
  1505. package/dist/src/util/misc/toFixed.mjs +0 -0
  1506. package/dist/src/util/misc/toFixed.mjs.map +0 -0
  1507. package/dist/src/util/misc/vectors.d.ts +0 -0
  1508. package/dist/src/util/misc/vectors.d.ts.map +0 -0
  1509. package/dist/src/util/misc/vectors.min.mjs +0 -0
  1510. package/dist/src/util/misc/vectors.min.mjs.map +0 -0
  1511. package/dist/src/util/misc/vectors.mjs +0 -0
  1512. package/dist/src/util/misc/vectors.mjs.map +0 -0
  1513. package/dist/src/util/path/index.d.ts +0 -0
  1514. package/dist/src/util/path/index.d.ts.map +0 -0
  1515. package/dist/src/util/path/index.min.mjs +0 -0
  1516. package/dist/src/util/path/index.min.mjs.map +0 -0
  1517. package/dist/src/util/path/index.mjs +0 -0
  1518. package/dist/src/util/path/index.mjs.map +0 -0
  1519. package/dist/src/util/path/regex.d.ts +0 -0
  1520. package/dist/src/util/path/regex.d.ts.map +0 -0
  1521. package/dist/src/util/path/regex.min.mjs +0 -0
  1522. package/dist/src/util/path/regex.min.mjs.map +0 -0
  1523. package/dist/src/util/path/regex.mjs +0 -0
  1524. package/dist/src/util/path/regex.mjs.map +0 -0
  1525. package/dist/src/util/path/typechecks.d.ts +0 -0
  1526. package/dist/src/util/path/typechecks.d.ts.map +0 -0
  1527. package/dist/src/util/path/typedefs.d.ts +0 -0
  1528. package/dist/src/util/path/typedefs.d.ts.map +0 -0
  1529. package/dist/src/util/transform_matrix_removal.d.ts +0 -0
  1530. package/dist/src/util/transform_matrix_removal.d.ts.map +0 -0
  1531. package/dist/src/util/transform_matrix_removal.min.mjs +0 -0
  1532. package/dist/src/util/transform_matrix_removal.min.mjs.map +0 -0
  1533. package/dist/src/util/transform_matrix_removal.mjs +0 -0
  1534. package/dist/src/util/transform_matrix_removal.mjs.map +0 -0
  1535. package/dist/src/util/typeAssertions.d.ts +0 -0
  1536. package/dist/src/util/typeAssertions.d.ts.map +0 -0
  1537. package/dist/src/util/typeAssertions.min.mjs +0 -0
  1538. package/dist/src/util/typeAssertions.min.mjs.map +0 -0
  1539. package/dist/src/util/typeAssertions.mjs +0 -0
  1540. package/dist/src/util/typeAssertions.mjs.map +0 -0
  1541. package/dist-extensions/aligning_guidelines/constant.mjs +0 -0
  1542. package/dist-extensions/aligning_guidelines/constant.mjs.map +0 -0
  1543. package/dist-extensions/aligning_guidelines/index.mjs +0 -0
  1544. package/dist-extensions/aligning_guidelines/index.mjs.map +0 -0
  1545. package/dist-extensions/aligning_guidelines/util/basic.mjs +0 -0
  1546. package/dist-extensions/aligning_guidelines/util/basic.mjs.map +0 -0
  1547. package/dist-extensions/aligning_guidelines/util/collect-line.mjs +0 -0
  1548. package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +0 -0
  1549. package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -0
  1550. package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -0
  1551. package/dist-extensions/aligning_guidelines/util/draw.mjs +0 -0
  1552. package/dist-extensions/aligning_guidelines/util/draw.mjs.map +0 -0
  1553. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -0
  1554. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -0
  1555. package/dist-extensions/data_updaters/gradient/index.mjs +0 -0
  1556. package/dist-extensions/data_updaters/gradient/index.mjs.map +0 -0
  1557. package/dist-extensions/data_updaters/origins/index.mjs +0 -0
  1558. package/dist-extensions/data_updaters/origins/index.mjs.map +0 -0
  1559. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +0 -0
  1560. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  1561. package/dist-extensions/extensions/aligning_guidelines/index.d.ts +0 -0
  1562. package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +0 -0
  1563. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  1564. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  1565. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  1566. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  1567. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  1568. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  1569. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  1570. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  1571. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  1572. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  1573. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  1574. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  1575. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +0 -0
  1576. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  1577. package/dist-extensions/extensions/data_updaters/origins/index.d.ts +0 -0
  1578. package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +0 -0
  1579. package/dist-extensions/extensions/index.d.ts +0 -0
  1580. package/dist-extensions/extensions/index.d.ts.map +0 -0
  1581. package/dist-extensions/fabric-extensions.min.js +0 -0
  1582. package/dist-extensions/fabric-extensions.min.js.map +0 -0
  1583. package/dist-extensions/fabric.d.ts +0 -0
  1584. package/dist-extensions/fabric.d.ts.map +0 -0
  1585. package/dist-extensions/index.d.ts +0 -0
  1586. package/dist-extensions/index.d.ts.map +0 -0
  1587. package/dist-extensions/index.mjs +0 -0
  1588. package/dist-extensions/index.mjs.map +0 -0
  1589. package/dist-extensions/src/ClassRegistry.d.ts +0 -0
  1590. package/dist-extensions/src/ClassRegistry.d.ts.map +0 -0
  1591. package/dist-extensions/src/Collection.d.ts +0 -0
  1592. package/dist-extensions/src/Collection.d.ts.map +0 -0
  1593. package/dist-extensions/src/CommonMethods.d.ts +0 -0
  1594. package/dist-extensions/src/CommonMethods.d.ts.map +0 -0
  1595. package/dist-extensions/src/EventTypeDefs.d.ts +0 -0
  1596. package/dist-extensions/src/EventTypeDefs.d.ts.map +0 -0
  1597. package/dist-extensions/src/Intersection.d.ts +0 -0
  1598. package/dist-extensions/src/Intersection.d.ts.map +0 -0
  1599. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  1600. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  1601. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +0 -0
  1602. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  1603. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  1604. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  1605. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  1606. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  1607. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  1608. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  1609. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  1610. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  1611. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  1612. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  1613. package/dist-extensions/src/LayoutManager/constants.d.ts +0 -0
  1614. package/dist-extensions/src/LayoutManager/constants.d.ts.map +0 -0
  1615. package/dist-extensions/src/LayoutManager/index.d.ts +0 -0
  1616. package/dist-extensions/src/LayoutManager/index.d.ts.map +0 -0
  1617. package/dist-extensions/src/LayoutManager/types.d.ts +0 -0
  1618. package/dist-extensions/src/LayoutManager/types.d.ts.map +0 -0
  1619. package/dist-extensions/src/Observable.d.ts +0 -0
  1620. package/dist-extensions/src/Observable.d.ts.map +0 -0
  1621. package/dist-extensions/src/Pattern/Pattern.d.ts +0 -0
  1622. package/dist-extensions/src/Pattern/Pattern.d.ts.map +0 -0
  1623. package/dist-extensions/src/Pattern/index.d.ts +0 -0
  1624. package/dist-extensions/src/Pattern/index.d.ts.map +0 -0
  1625. package/dist-extensions/src/Pattern/types.d.ts +0 -0
  1626. package/dist-extensions/src/Pattern/types.d.ts.map +0 -0
  1627. package/dist-extensions/src/Point.d.ts +0 -0
  1628. package/dist-extensions/src/Point.d.ts.map +0 -0
  1629. package/dist-extensions/src/Shadow.d.ts +0 -0
  1630. package/dist-extensions/src/Shadow.d.ts.map +0 -0
  1631. package/dist-extensions/src/brushes/BaseBrush.d.ts +0 -0
  1632. package/dist-extensions/src/brushes/BaseBrush.d.ts.map +0 -0
  1633. package/dist-extensions/src/brushes/CircleBrush.d.ts +0 -0
  1634. package/dist-extensions/src/brushes/CircleBrush.d.ts.map +0 -0
  1635. package/dist-extensions/src/brushes/PatternBrush.d.ts +0 -0
  1636. package/dist-extensions/src/brushes/PatternBrush.d.ts.map +0 -0
  1637. package/dist-extensions/src/brushes/PencilBrush.d.ts +0 -0
  1638. package/dist-extensions/src/brushes/PencilBrush.d.ts.map +0 -0
  1639. package/dist-extensions/src/brushes/SprayBrush.d.ts +0 -0
  1640. package/dist-extensions/src/brushes/SprayBrush.d.ts.map +0 -0
  1641. package/dist-extensions/src/brushes/typedefs.d.ts +0 -0
  1642. package/dist-extensions/src/brushes/typedefs.d.ts.map +0 -0
  1643. package/dist-extensions/src/cache.d.ts +0 -0
  1644. package/dist-extensions/src/cache.d.ts.map +0 -0
  1645. package/dist-extensions/src/canvas/Canvas.d.ts +0 -0
  1646. package/dist-extensions/src/canvas/Canvas.d.ts.map +0 -0
  1647. package/dist-extensions/src/canvas/CanvasOptions.d.ts +0 -0
  1648. package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +0 -0
  1649. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  1650. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  1651. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  1652. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  1653. package/dist-extensions/src/canvas/DOMManagers/util.d.ts +0 -0
  1654. package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +0 -0
  1655. package/dist-extensions/src/canvas/SelectableCanvas.d.ts +0 -0
  1656. package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +0 -0
  1657. package/dist-extensions/src/canvas/StaticCanvas.d.ts +0 -0
  1658. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +0 -0
  1659. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +0 -0
  1660. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  1661. package/dist-extensions/src/canvas/TextEditingManager.d.ts +0 -0
  1662. package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +0 -0
  1663. package/dist-extensions/src/color/Color.d.ts +0 -0
  1664. package/dist-extensions/src/color/Color.d.ts.map +0 -0
  1665. package/dist-extensions/src/color/color_map.d.ts +0 -0
  1666. package/dist-extensions/src/color/color_map.d.ts.map +0 -0
  1667. package/dist-extensions/src/color/constants.d.ts +0 -0
  1668. package/dist-extensions/src/color/constants.d.ts.map +0 -0
  1669. package/dist-extensions/src/color/typedefs.d.ts +0 -0
  1670. package/dist-extensions/src/color/typedefs.d.ts.map +0 -0
  1671. package/dist-extensions/src/color/util.d.ts +0 -0
  1672. package/dist-extensions/src/color/util.d.ts.map +0 -0
  1673. package/dist-extensions/src/config.d.ts +0 -0
  1674. package/dist-extensions/src/config.d.ts.map +0 -0
  1675. package/dist-extensions/src/constants.d.ts +0 -0
  1676. package/dist-extensions/src/constants.d.ts.map +0 -0
  1677. package/dist-extensions/src/controls/Control.d.ts +0 -0
  1678. package/dist-extensions/src/controls/Control.d.ts.map +0 -0
  1679. package/dist-extensions/src/controls/changeHeight.d.ts +0 -0
  1680. package/dist-extensions/src/controls/changeHeight.d.ts.map +0 -0
  1681. package/dist-extensions/src/controls/changeWidth.d.ts +0 -0
  1682. package/dist-extensions/src/controls/changeWidth.d.ts.map +0 -0
  1683. package/dist-extensions/src/controls/commonControls.d.ts +0 -0
  1684. package/dist-extensions/src/controls/commonControls.d.ts.map +0 -0
  1685. package/dist-extensions/src/controls/controlRendering.d.ts +0 -0
  1686. package/dist-extensions/src/controls/controlRendering.d.ts.map +0 -0
  1687. package/dist-extensions/src/controls/drag.d.ts +0 -0
  1688. package/dist-extensions/src/controls/drag.d.ts.map +0 -0
  1689. package/dist-extensions/src/controls/fireEvent.d.ts +0 -0
  1690. package/dist-extensions/src/controls/fireEvent.d.ts.map +0 -0
  1691. package/dist-extensions/src/controls/index.d.ts +0 -0
  1692. package/dist-extensions/src/controls/index.d.ts.map +0 -0
  1693. package/dist-extensions/src/controls/pathControl.d.ts +0 -0
  1694. package/dist-extensions/src/controls/pathControl.d.ts.map +0 -0
  1695. package/dist-extensions/src/controls/polyControl.d.ts +0 -0
  1696. package/dist-extensions/src/controls/polyControl.d.ts.map +0 -0
  1697. package/dist-extensions/src/controls/rotate.d.ts +0 -0
  1698. package/dist-extensions/src/controls/rotate.d.ts.map +0 -0
  1699. package/dist-extensions/src/controls/scale.d.ts +0 -0
  1700. package/dist-extensions/src/controls/scale.d.ts.map +0 -0
  1701. package/dist-extensions/src/controls/scaleSkew.d.ts +0 -0
  1702. package/dist-extensions/src/controls/scaleSkew.d.ts.map +0 -0
  1703. package/dist-extensions/src/controls/skew.d.ts +0 -0
  1704. package/dist-extensions/src/controls/skew.d.ts.map +0 -0
  1705. package/dist-extensions/src/controls/util.d.ts +0 -0
  1706. package/dist-extensions/src/controls/util.d.ts.map +0 -0
  1707. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +0 -0
  1708. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  1709. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  1710. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  1711. package/dist-extensions/src/env/browser.d.ts +0 -0
  1712. package/dist-extensions/src/env/browser.d.ts.map +0 -0
  1713. package/dist-extensions/src/env/index.d.ts +0 -0
  1714. package/dist-extensions/src/env/index.d.ts.map +0 -0
  1715. package/dist-extensions/src/env/types.d.ts +0 -0
  1716. package/dist-extensions/src/env/types.d.ts.map +0 -0
  1717. package/dist-extensions/src/filters/BaseFilter.d.ts +0 -0
  1718. package/dist-extensions/src/filters/BaseFilter.d.ts.map +0 -0
  1719. package/dist-extensions/src/filters/BlendColor.d.ts +0 -0
  1720. package/dist-extensions/src/filters/BlendColor.d.ts.map +0 -0
  1721. package/dist-extensions/src/filters/BlendImage.d.ts +0 -0
  1722. package/dist-extensions/src/filters/BlendImage.d.ts.map +0 -0
  1723. package/dist-extensions/src/filters/Blur.d.ts +0 -0
  1724. package/dist-extensions/src/filters/Blur.d.ts.map +0 -0
  1725. package/dist-extensions/src/filters/Brightness.d.ts +0 -0
  1726. package/dist-extensions/src/filters/Brightness.d.ts.map +0 -0
  1727. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  1728. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  1729. package/dist-extensions/src/filters/ColorMatrix.d.ts +0 -0
  1730. package/dist-extensions/src/filters/ColorMatrix.d.ts.map +0 -0
  1731. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +0 -0
  1732. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  1733. package/dist-extensions/src/filters/Composed.d.ts +0 -0
  1734. package/dist-extensions/src/filters/Composed.d.ts.map +0 -0
  1735. package/dist-extensions/src/filters/Contrast.d.ts +0 -0
  1736. package/dist-extensions/src/filters/Contrast.d.ts.map +0 -0
  1737. package/dist-extensions/src/filters/Convolute.d.ts +0 -0
  1738. package/dist-extensions/src/filters/Convolute.d.ts.map +0 -0
  1739. package/dist-extensions/src/filters/FilterBackend.d.ts +0 -0
  1740. package/dist-extensions/src/filters/FilterBackend.d.ts.map +0 -0
  1741. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +0 -0
  1742. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  1743. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  1744. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  1745. package/dist-extensions/src/filters/Gamma.d.ts +0 -0
  1746. package/dist-extensions/src/filters/Gamma.d.ts.map +0 -0
  1747. package/dist-extensions/src/filters/Grayscale.d.ts +0 -0
  1748. package/dist-extensions/src/filters/Grayscale.d.ts.map +0 -0
  1749. package/dist-extensions/src/filters/HueRotation.d.ts +0 -0
  1750. package/dist-extensions/src/filters/HueRotation.d.ts.map +0 -0
  1751. package/dist-extensions/src/filters/Invert.d.ts +0 -0
  1752. package/dist-extensions/src/filters/Invert.d.ts.map +0 -0
  1753. package/dist-extensions/src/filters/Noise.d.ts +0 -0
  1754. package/dist-extensions/src/filters/Noise.d.ts.map +0 -0
  1755. package/dist-extensions/src/filters/Pixelate.d.ts +0 -0
  1756. package/dist-extensions/src/filters/Pixelate.d.ts.map +0 -0
  1757. package/dist-extensions/src/filters/RemoveColor.d.ts +0 -0
  1758. package/dist-extensions/src/filters/RemoveColor.d.ts.map +0 -0
  1759. package/dist-extensions/src/filters/Resize.d.ts +0 -0
  1760. package/dist-extensions/src/filters/Resize.d.ts.map +0 -0
  1761. package/dist-extensions/src/filters/Saturation.d.ts +0 -0
  1762. package/dist-extensions/src/filters/Saturation.d.ts.map +0 -0
  1763. package/dist-extensions/src/filters/Vibrance.d.ts +0 -0
  1764. package/dist-extensions/src/filters/Vibrance.d.ts.map +0 -0
  1765. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +0 -0
  1766. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  1767. package/dist-extensions/src/filters/filters.d.ts +0 -0
  1768. package/dist-extensions/src/filters/filters.d.ts.map +0 -0
  1769. package/dist-extensions/src/filters/index.d.ts +0 -0
  1770. package/dist-extensions/src/filters/index.d.ts.map +0 -0
  1771. package/dist-extensions/src/filters/shaders/baseFilter.d.ts +0 -0
  1772. package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +0 -0
  1773. package/dist-extensions/src/filters/shaders/blendColor.d.ts +0 -0
  1774. package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +0 -0
  1775. package/dist-extensions/src/filters/shaders/blendImage.d.ts +0 -0
  1776. package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +0 -0
  1777. package/dist-extensions/src/filters/shaders/blur.d.ts +0 -0
  1778. package/dist-extensions/src/filters/shaders/blur.d.ts.map +0 -0
  1779. package/dist-extensions/src/filters/shaders/brightness.d.ts +0 -0
  1780. package/dist-extensions/src/filters/shaders/brightness.d.ts.map +0 -0
  1781. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +0 -0
  1782. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  1783. package/dist-extensions/src/filters/shaders/constrast.d.ts +0 -0
  1784. package/dist-extensions/src/filters/shaders/constrast.d.ts.map +0 -0
  1785. package/dist-extensions/src/filters/shaders/convolute.d.ts +0 -0
  1786. package/dist-extensions/src/filters/shaders/convolute.d.ts.map +0 -0
  1787. package/dist-extensions/src/filters/shaders/gamma.d.ts +0 -0
  1788. package/dist-extensions/src/filters/shaders/gamma.d.ts.map +0 -0
  1789. package/dist-extensions/src/filters/shaders/grayscale.d.ts +0 -0
  1790. package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +0 -0
  1791. package/dist-extensions/src/filters/shaders/invert.d.ts +0 -0
  1792. package/dist-extensions/src/filters/shaders/invert.d.ts.map +0 -0
  1793. package/dist-extensions/src/filters/shaders/noise.d.ts +0 -0
  1794. package/dist-extensions/src/filters/shaders/noise.d.ts.map +0 -0
  1795. package/dist-extensions/src/filters/shaders/pixelate.d.ts +0 -0
  1796. package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +0 -0
  1797. package/dist-extensions/src/filters/shaders/removeColor.d.ts +0 -0
  1798. package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +0 -0
  1799. package/dist-extensions/src/filters/shaders/saturation.d.ts +0 -0
  1800. package/dist-extensions/src/filters/shaders/saturation.d.ts.map +0 -0
  1801. package/dist-extensions/src/filters/shaders/vibrance.d.ts +0 -0
  1802. package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +0 -0
  1803. package/dist-extensions/src/filters/typedefs.d.ts +0 -0
  1804. package/dist-extensions/src/filters/typedefs.d.ts.map +0 -0
  1805. package/dist-extensions/src/filters/utils.d.ts +0 -0
  1806. package/dist-extensions/src/filters/utils.d.ts.map +0 -0
  1807. package/dist-extensions/src/gradient/Gradient.d.ts +0 -0
  1808. package/dist-extensions/src/gradient/Gradient.d.ts.map +0 -0
  1809. package/dist-extensions/src/gradient/constants.d.ts +0 -0
  1810. package/dist-extensions/src/gradient/constants.d.ts.map +0 -0
  1811. package/dist-extensions/src/gradient/index.d.ts +0 -0
  1812. package/dist-extensions/src/gradient/index.d.ts.map +0 -0
  1813. package/dist-extensions/src/gradient/parser/misc.d.ts +0 -0
  1814. package/dist-extensions/src/gradient/parser/misc.d.ts.map +0 -0
  1815. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +0 -0
  1816. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  1817. package/dist-extensions/src/gradient/parser/parseCoords.d.ts +0 -0
  1818. package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +0 -0
  1819. package/dist-extensions/src/gradient/typedefs.d.ts +0 -0
  1820. package/dist-extensions/src/gradient/typedefs.d.ts.map +0 -0
  1821. package/dist-extensions/src/parser/applyViewboxTransform.d.ts +0 -0
  1822. package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +0 -0
  1823. package/dist-extensions/src/parser/attributes.d.ts +0 -0
  1824. package/dist-extensions/src/parser/attributes.d.ts.map +0 -0
  1825. package/dist-extensions/src/parser/constants.d.ts +0 -0
  1826. package/dist-extensions/src/parser/constants.d.ts.map +0 -0
  1827. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +0 -0
  1828. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  1829. package/dist-extensions/src/parser/elementMatchesRule.d.ts +0 -0
  1830. package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +0 -0
  1831. package/dist-extensions/src/parser/elements_parser.d.ts +0 -0
  1832. package/dist-extensions/src/parser/elements_parser.d.ts.map +0 -0
  1833. package/dist-extensions/src/parser/getCSSRules.d.ts +0 -0
  1834. package/dist-extensions/src/parser/getCSSRules.d.ts.map +0 -0
  1835. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +0 -0
  1836. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  1837. package/dist-extensions/src/parser/getGradientDefs.d.ts +0 -0
  1838. package/dist-extensions/src/parser/getGradientDefs.d.ts.map +0 -0
  1839. package/dist-extensions/src/parser/getMultipleNodes.d.ts +0 -0
  1840. package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +0 -0
  1841. package/dist-extensions/src/parser/getSvgRegex.d.ts +0 -0
  1842. package/dist-extensions/src/parser/getSvgRegex.d.ts.map +0 -0
  1843. package/dist-extensions/src/parser/getTagName.d.ts +0 -0
  1844. package/dist-extensions/src/parser/getTagName.d.ts.map +0 -0
  1845. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +0 -0
  1846. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  1847. package/dist-extensions/src/parser/loadSVGFromString.d.ts +0 -0
  1848. package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +0 -0
  1849. package/dist-extensions/src/parser/loadSVGFromURL.d.ts +0 -0
  1850. package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +0 -0
  1851. package/dist-extensions/src/parser/normalizeAttr.d.ts +0 -0
  1852. package/dist-extensions/src/parser/normalizeAttr.d.ts.map +0 -0
  1853. package/dist-extensions/src/parser/normalizeValue.d.ts +0 -0
  1854. package/dist-extensions/src/parser/normalizeValue.d.ts.map +0 -0
  1855. package/dist-extensions/src/parser/parseAttributes.d.ts +0 -0
  1856. package/dist-extensions/src/parser/parseAttributes.d.ts.map +0 -0
  1857. package/dist-extensions/src/parser/parseFontDeclaration.d.ts +0 -0
  1858. package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +0 -0
  1859. package/dist-extensions/src/parser/parsePointsAttribute.d.ts +0 -0
  1860. package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +0 -0
  1861. package/dist-extensions/src/parser/parseSVGDocument.d.ts +0 -0
  1862. package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +0 -0
  1863. package/dist-extensions/src/parser/parseStyleAttribute.d.ts +0 -0
  1864. package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +0 -0
  1865. package/dist-extensions/src/parser/parseStyleObject.d.ts +0 -0
  1866. package/dist-extensions/src/parser/parseStyleObject.d.ts.map +0 -0
  1867. package/dist-extensions/src/parser/parseStyleString.d.ts +0 -0
  1868. package/dist-extensions/src/parser/parseStyleString.d.ts.map +0 -0
  1869. package/dist-extensions/src/parser/parseTransformAttribute.d.ts +0 -0
  1870. package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +0 -0
  1871. package/dist-extensions/src/parser/parseUseDirectives.d.ts +0 -0
  1872. package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +0 -0
  1873. package/dist-extensions/src/parser/percent.d.ts +0 -0
  1874. package/dist-extensions/src/parser/percent.d.ts.map +0 -0
  1875. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  1876. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  1877. package/dist-extensions/src/parser/selectorMatches.d.ts +0 -0
  1878. package/dist-extensions/src/parser/selectorMatches.d.ts.map +0 -0
  1879. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +0 -0
  1880. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  1881. package/dist-extensions/src/parser/typedefs.d.ts +0 -0
  1882. package/dist-extensions/src/parser/typedefs.d.ts.map +0 -0
  1883. package/dist-extensions/src/shapes/ActiveSelection.d.ts +0 -0
  1884. package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +0 -0
  1885. package/dist-extensions/src/shapes/Circle.d.ts +0 -0
  1886. package/dist-extensions/src/shapes/Circle.d.ts.map +0 -0
  1887. package/dist-extensions/src/shapes/Ellipse.d.ts +0 -0
  1888. package/dist-extensions/src/shapes/Ellipse.d.ts.map +0 -0
  1889. package/dist-extensions/src/shapes/Group.d.ts +0 -0
  1890. package/dist-extensions/src/shapes/Group.d.ts.map +0 -0
  1891. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  1892. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  1893. package/dist-extensions/src/shapes/IText/IText.d.ts +0 -0
  1894. package/dist-extensions/src/shapes/IText/IText.d.ts.map +0 -0
  1895. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +0 -0
  1896. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
  1897. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  1898. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  1899. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  1900. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  1901. package/dist-extensions/src/shapes/IText/constants.d.ts +0 -0
  1902. package/dist-extensions/src/shapes/IText/constants.d.ts.map +0 -0
  1903. package/dist-extensions/src/shapes/Image.d.ts +0 -0
  1904. package/dist-extensions/src/shapes/Image.d.ts.map +0 -0
  1905. package/dist-extensions/src/shapes/Line.d.ts +0 -0
  1906. package/dist-extensions/src/shapes/Line.d.ts.map +0 -0
  1907. package/dist-extensions/src/shapes/Object/FabricObject.d.ts +0 -0
  1908. package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +0 -0
  1909. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  1910. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  1911. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +0 -0
  1912. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  1913. package/dist-extensions/src/shapes/Object/Object.d.ts +0 -0
  1914. package/dist-extensions/src/shapes/Object/Object.d.ts.map +0 -0
  1915. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1916. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1917. package/dist-extensions/src/shapes/Object/defaultValues.d.ts +0 -0
  1918. package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1919. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1920. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1921. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1922. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1923. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1924. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1925. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1926. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1927. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1928. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1929. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1930. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1931. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1932. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1933. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1934. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1935. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1936. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1937. package/dist-extensions/src/shapes/Object/types/index.d.ts +0 -0
  1938. package/dist-extensions/src/shapes/Object/types/index.d.ts.map +0 -0
  1939. package/dist-extensions/src/shapes/Path.d.ts +0 -0
  1940. package/dist-extensions/src/shapes/Path.d.ts.map +0 -0
  1941. package/dist-extensions/src/shapes/Polygon.d.ts +0 -0
  1942. package/dist-extensions/src/shapes/Polygon.d.ts.map +0 -0
  1943. package/dist-extensions/src/shapes/Polyline.d.ts +0 -0
  1944. package/dist-extensions/src/shapes/Polyline.d.ts.map +0 -0
  1945. package/dist-extensions/src/shapes/Rect.d.ts +0 -0
  1946. package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
  1947. package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
  1948. package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
  1949. package/dist-extensions/src/shapes/Text/Text.d.ts +0 -0
  1950. package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
  1951. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1952. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1953. package/dist-extensions/src/shapes/Text/constants.d.ts +0 -0
  1954. package/dist-extensions/src/shapes/Text/constants.d.ts.map +0 -0
  1955. package/dist-extensions/src/shapes/Textbox.d.ts +0 -0
  1956. package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -1
  1957. package/dist-extensions/src/shapes/Triangle.d.ts +0 -0
  1958. package/dist-extensions/src/shapes/Triangle.d.ts.map +0 -0
  1959. package/dist-extensions/src/text/browserLines.d.ts +0 -0
  1960. package/dist-extensions/src/text/browserLines.d.ts.map +0 -0
  1961. package/dist-extensions/src/text/ellipsis.d.ts +0 -0
  1962. package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
  1963. package/dist-extensions/src/text/hitTest.d.ts +0 -0
  1964. package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
  1965. package/dist-extensions/src/text/layout.d.ts +0 -0
  1966. package/dist-extensions/src/text/layout.d.ts.map +0 -0
  1967. package/dist-extensions/src/text/measure.d.ts +0 -0
  1968. package/dist-extensions/src/text/measure.d.ts.map +0 -0
  1969. package/dist-extensions/src/text/overlayEditor.d.ts +0 -0
  1970. package/dist-extensions/src/text/overlayEditor.d.ts.map +1 -1
  1971. package/dist-extensions/src/text/unicode.d.ts +0 -0
  1972. package/dist-extensions/src/text/unicode.d.ts.map +0 -0
  1973. package/dist-extensions/src/typedefs.d.ts +0 -0
  1974. package/dist-extensions/src/typedefs.d.ts.map +0 -0
  1975. package/dist-extensions/src/util/animation/AnimationBase.d.ts +0 -0
  1976. package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +0 -0
  1977. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1978. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1979. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +0 -0
  1980. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  1981. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +0 -0
  1982. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  1983. package/dist-extensions/src/util/animation/ColorAnimation.d.ts +0 -0
  1984. package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +0 -0
  1985. package/dist-extensions/src/util/animation/ValueAnimation.d.ts +0 -0
  1986. package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +0 -0
  1987. package/dist-extensions/src/util/animation/animate.d.ts +0 -0
  1988. package/dist-extensions/src/util/animation/animate.d.ts.map +0 -0
  1989. package/dist-extensions/src/util/animation/easing.d.ts +0 -0
  1990. package/dist-extensions/src/util/animation/easing.d.ts.map +0 -0
  1991. package/dist-extensions/src/util/animation/index.d.ts +0 -0
  1992. package/dist-extensions/src/util/animation/index.d.ts.map +0 -0
  1993. package/dist-extensions/src/util/animation/types.d.ts +0 -0
  1994. package/dist-extensions/src/util/animation/types.d.ts.map +0 -0
  1995. package/dist-extensions/src/util/applyMixins.d.ts +0 -0
  1996. package/dist-extensions/src/util/applyMixins.d.ts.map +0 -0
  1997. package/dist-extensions/src/util/dom_event.d.ts +0 -0
  1998. package/dist-extensions/src/util/dom_event.d.ts.map +0 -0
  1999. package/dist-extensions/src/util/dom_misc.d.ts +0 -0
  2000. package/dist-extensions/src/util/dom_misc.d.ts.map +0 -0
  2001. package/dist-extensions/src/util/index.d.ts +0 -0
  2002. package/dist-extensions/src/util/index.d.ts.map +0 -0
  2003. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +0 -0
  2004. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  2005. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  2006. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  2007. package/dist-extensions/src/util/internals/cloneStyles.d.ts +0 -0
  2008. package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +0 -0
  2009. package/dist-extensions/src/util/internals/console.d.ts +0 -0
  2010. package/dist-extensions/src/util/internals/console.d.ts.map +0 -0
  2011. package/dist-extensions/src/util/internals/dom_style.d.ts +0 -0
  2012. package/dist-extensions/src/util/internals/dom_style.d.ts.map +0 -0
  2013. package/dist-extensions/src/util/internals/findRight.d.ts +0 -0
  2014. package/dist-extensions/src/util/internals/findRight.d.ts.map +0 -0
  2015. package/dist-extensions/src/util/internals/getRandomInt.d.ts +0 -0
  2016. package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +0 -0
  2017. package/dist-extensions/src/util/internals/ifNaN.d.ts +0 -0
  2018. package/dist-extensions/src/util/internals/ifNaN.d.ts.map +0 -0
  2019. package/dist-extensions/src/util/internals/removeFromArray.d.ts +0 -0
  2020. package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +0 -0
  2021. package/dist-extensions/src/util/internals/uid.d.ts +0 -0
  2022. package/dist-extensions/src/util/internals/uid.d.ts.map +0 -0
  2023. package/dist-extensions/src/util/lang_string.d.ts +0 -0
  2024. package/dist-extensions/src/util/lang_string.d.ts.map +0 -0
  2025. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  2026. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  2027. package/dist-extensions/src/util/misc/capValue.d.ts +0 -0
  2028. package/dist-extensions/src/util/misc/capValue.d.ts.map +0 -0
  2029. package/dist-extensions/src/util/misc/cos.d.ts +0 -0
  2030. package/dist-extensions/src/util/misc/cos.d.ts.map +0 -0
  2031. package/dist-extensions/src/util/misc/dom.d.ts +0 -0
  2032. package/dist-extensions/src/util/misc/dom.d.ts.map +0 -0
  2033. package/dist-extensions/src/util/misc/findScaleTo.d.ts +0 -0
  2034. package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +0 -0
  2035. package/dist-extensions/src/util/misc/groupSVGElements.d.ts +0 -0
  2036. package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +0 -0
  2037. package/dist-extensions/src/util/misc/isTransparent.d.ts +0 -0
  2038. package/dist-extensions/src/util/misc/isTransparent.d.ts.map +0 -0
  2039. package/dist-extensions/src/util/misc/matrix.d.ts +0 -0
  2040. package/dist-extensions/src/util/misc/matrix.d.ts.map +0 -0
  2041. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +0 -0
  2042. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  2043. package/dist-extensions/src/util/misc/objectEnlive.d.ts +0 -0
  2044. package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +0 -0
  2045. package/dist-extensions/src/util/misc/objectTransforms.d.ts +0 -0
  2046. package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +0 -0
  2047. package/dist-extensions/src/util/misc/pick.d.ts +0 -0
  2048. package/dist-extensions/src/util/misc/pick.d.ts.map +0 -0
  2049. package/dist-extensions/src/util/misc/planeChange.d.ts +0 -0
  2050. package/dist-extensions/src/util/misc/planeChange.d.ts.map +0 -0
  2051. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  2052. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  2053. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  2054. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  2055. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  2056. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  2057. package/dist-extensions/src/util/misc/projectStroke/index.d.ts +0 -0
  2058. package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +0 -0
  2059. package/dist-extensions/src/util/misc/projectStroke/types.d.ts +0 -0
  2060. package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +0 -0
  2061. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  2062. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  2063. package/dist-extensions/src/util/misc/resolveOrigin.d.ts +0 -0
  2064. package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +0 -0
  2065. package/dist-extensions/src/util/misc/sin.d.ts +0 -0
  2066. package/dist-extensions/src/util/misc/sin.d.ts.map +0 -0
  2067. package/dist-extensions/src/util/misc/svgExport.d.ts +0 -0
  2068. package/dist-extensions/src/util/misc/svgExport.d.ts.map +0 -0
  2069. package/dist-extensions/src/util/misc/svgParsing.d.ts +0 -0
  2070. package/dist-extensions/src/util/misc/svgParsing.d.ts.map +0 -0
  2071. package/dist-extensions/src/util/misc/textStyles.d.ts +0 -0
  2072. package/dist-extensions/src/util/misc/textStyles.d.ts.map +0 -0
  2073. package/dist-extensions/src/util/misc/toFixed.d.ts +0 -0
  2074. package/dist-extensions/src/util/misc/toFixed.d.ts.map +0 -0
  2075. package/dist-extensions/src/util/misc/vectors.d.ts +0 -0
  2076. package/dist-extensions/src/util/misc/vectors.d.ts.map +0 -0
  2077. package/dist-extensions/src/util/path/index.d.ts +0 -0
  2078. package/dist-extensions/src/util/path/index.d.ts.map +0 -0
  2079. package/dist-extensions/src/util/path/regex.d.ts +0 -0
  2080. package/dist-extensions/src/util/path/regex.d.ts.map +0 -0
  2081. package/dist-extensions/src/util/path/typedefs.d.ts +0 -0
  2082. package/dist-extensions/src/util/path/typedefs.d.ts.map +0 -0
  2083. package/dist-extensions/src/util/transform_matrix_removal.d.ts +0 -0
  2084. package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +0 -0
  2085. package/dist-extensions/src/util/typeAssertions.d.ts +0 -0
  2086. package/dist-extensions/src/util/typeAssertions.d.ts.map +0 -0
  2087. package/eslint.config.mjs +0 -0
  2088. package/examples/overlay-edit.html +416 -416
  2089. package/extensions/README.MD +0 -0
  2090. package/extensions/aligning_guidelines/README.MD +0 -0
  2091. package/extensions/aligning_guidelines/constant.ts +0 -0
  2092. package/extensions/aligning_guidelines/index.ts +0 -0
  2093. package/extensions/aligning_guidelines/typedefs.ts +0 -0
  2094. package/extensions/aligning_guidelines/util/basic.spec.ts +0 -0
  2095. package/extensions/aligning_guidelines/util/basic.ts +0 -0
  2096. package/extensions/aligning_guidelines/util/collect-line.ts +0 -0
  2097. package/extensions/aligning_guidelines/util/collect-point.ts +0 -0
  2098. package/extensions/aligning_guidelines/util/draw.ts +0 -0
  2099. package/extensions/aligning_guidelines/util/get-objects-by-target.ts +0 -0
  2100. package/extensions/data_updaters/README.md +0 -0
  2101. package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +0 -0
  2102. package/extensions/data_updaters/gradient/index.spec.ts +0 -0
  2103. package/extensions/data_updaters/gradient/index.ts +0 -0
  2104. package/extensions/data_updaters/origins/README.md +0 -0
  2105. package/extensions/data_updaters/origins/index.spec.ts +0 -0
  2106. package/extensions/data_updaters/origins/index.ts +0 -0
  2107. package/extensions/index.ts +0 -0
  2108. package/fabric-test-editor.html +591 -0
  2109. package/fabric.ts +0 -0
  2110. package/index.node.ts +0 -0
  2111. package/index.ts +0 -0
  2112. package/lib/aligning_guidelines.js +0 -0
  2113. package/lib/centering_guidelines.js +0 -0
  2114. package/lib/event.js +0 -0
  2115. package/package.json +1 -1
  2116. package/playwright.config.ts +0 -0
  2117. package/playwright.setup.ts +0 -0
  2118. package/publish-next.js +0 -0
  2119. package/publish.js +0 -0
  2120. package/rollup.config.mjs +0 -0
  2121. package/scripts/bench-text.js +591 -591
  2122. package/scripts/build.mjs +0 -0
  2123. package/scripts/buildLock.mjs +0 -0
  2124. package/scripts/buildReporter.mjs +0 -0
  2125. package/scripts/buildStats.mjs +0 -0
  2126. package/scripts/dirname.mjs +0 -0
  2127. package/scripts/git.mjs +0 -0
  2128. package/scripts/index.mjs +0 -0
  2129. package/scripts/sandbox.mjs +0 -0
  2130. package/src/ClassRegistry.spec.ts +0 -0
  2131. package/src/ClassRegistry.ts +0 -0
  2132. package/src/Collection.spec.ts +0 -0
  2133. package/src/Collection.ts +0 -0
  2134. package/src/CommonMethods.ts +0 -0
  2135. package/src/EventTypeDefs.ts +0 -0
  2136. package/src/Intersection.spec.ts +0 -0
  2137. package/src/Intersection.ts +0 -0
  2138. package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +0 -0
  2139. package/src/LayoutManager/ActiveSelectionLayoutManager.ts +0 -0
  2140. package/src/LayoutManager/LayoutManager.spec.ts +0 -0
  2141. package/src/LayoutManager/LayoutManager.ts +0 -0
  2142. package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +0 -0
  2143. package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +0 -0
  2144. package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +0 -0
  2145. package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +0 -0
  2146. package/src/LayoutManager/LayoutStrategies/utils.ts +0 -0
  2147. package/src/LayoutManager/README.md +0 -0
  2148. package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +0 -0
  2149. package/src/LayoutManager/constants.ts +0 -0
  2150. package/src/LayoutManager/index.ts +0 -0
  2151. package/src/LayoutManager/types.ts +0 -0
  2152. package/src/Observable.spec.ts +0 -0
  2153. package/src/Observable.ts +0 -0
  2154. package/src/Pattern/Pattern.spec.ts +0 -0
  2155. package/src/Pattern/Pattern.ts +0 -0
  2156. package/src/Pattern/index.ts +0 -0
  2157. package/src/Pattern/types.ts +0 -0
  2158. package/src/Point.spec.ts +0 -0
  2159. package/src/Point.ts +0 -0
  2160. package/src/Shadow.spec.ts +0 -0
  2161. package/src/Shadow.ts +0 -0
  2162. package/src/__snapshots__/Shadow.spec.ts.snap +0 -0
  2163. package/src/brushes/BaseBrush.spec.ts +0 -0
  2164. package/src/brushes/BaseBrush.ts +0 -0
  2165. package/src/brushes/CircleBrush.test.ts +0 -0
  2166. package/src/brushes/CircleBrush.ts +0 -0
  2167. package/src/brushes/PatternBrush.ts +0 -0
  2168. package/src/brushes/PencilBrush.spec.ts +0 -0
  2169. package/src/brushes/PencilBrush.ts +0 -0
  2170. package/src/brushes/SprayBrush.ts +0 -0
  2171. package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +0 -0
  2172. package/src/brushes/typedefs.ts +0 -0
  2173. package/src/cache.spec.ts +0 -0
  2174. package/src/cache.ts +0 -0
  2175. package/src/canvas/Canvas-dispose.spec.ts +0 -0
  2176. package/src/canvas/Canvas-events.spec.ts +0 -0
  2177. package/src/canvas/Canvas.spec.ts +0 -0
  2178. package/src/canvas/Canvas.ts +0 -0
  2179. package/src/canvas/CanvasOptions.ts +0 -0
  2180. package/src/canvas/DOMManagers/CanvasDOMManager.ts +0 -0
  2181. package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +0 -0
  2182. package/src/canvas/DOMManagers/util.spec.ts +0 -0
  2183. package/src/canvas/DOMManagers/util.ts +0 -0
  2184. package/src/canvas/SelectableCanvas.spec.ts +0 -0
  2185. package/src/canvas/SelectableCanvas.ts +0 -0
  2186. package/src/canvas/StaticCanvas.spec.ts +0 -0
  2187. package/src/canvas/StaticCanvas.ts +0 -0
  2188. package/src/canvas/StaticCanvasOptions.ts +0 -0
  2189. package/src/canvas/TextEditingManager.ts +0 -0
  2190. package/src/canvas/__tests__/SelectableCanvas.spec.ts +0 -0
  2191. package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +0 -0
  2192. package/src/canvas/__tests__/eventData.test.ts +0 -0
  2193. package/src/canvas/canvas_gestures.mixin.ts +0 -0
  2194. package/src/color/Color.ts +0 -0
  2195. package/src/color/color.test.ts +0 -0
  2196. package/src/color/color_map.ts +0 -0
  2197. package/src/color/constants.ts +0 -0
  2198. package/src/color/typedefs.ts +0 -0
  2199. package/src/color/util.ts +0 -0
  2200. package/src/config.ts +0 -0
  2201. package/src/constants.ts +0 -0
  2202. package/src/controls/Control-cursor.spec.ts +0 -0
  2203. package/src/controls/Control-handlers.spec.ts +0 -0
  2204. package/src/controls/Control.spec.ts +0 -0
  2205. package/src/controls/Control.ts +0 -0
  2206. package/src/controls/changeHeight.ts +0 -0
  2207. package/src/controls/changeWidth.test.ts +0 -0
  2208. package/src/controls/changeWidth.ts +0 -0
  2209. package/src/controls/commonControls.ts +0 -0
  2210. package/src/controls/controlRendering.ts +0 -0
  2211. package/src/controls/drag.ts +0 -0
  2212. package/src/controls/fireEvent.ts +0 -0
  2213. package/src/controls/index.ts +0 -0
  2214. package/src/controls/pathControl.spec.ts +0 -0
  2215. package/src/controls/pathControl.ts +0 -0
  2216. package/src/controls/polyControl.spec.ts +0 -0
  2217. package/src/controls/polyControl.ts +0 -0
  2218. package/src/controls/rotate.ts +0 -0
  2219. package/src/controls/scale.test.ts +0 -0
  2220. package/src/controls/scale.ts +0 -0
  2221. package/src/controls/scaleSkew.ts +0 -0
  2222. package/src/controls/skew.ts +0 -0
  2223. package/src/controls/util.ts +0 -0
  2224. package/src/controls/wrapWithFireEvent.ts +0 -0
  2225. package/src/controls/wrapWithFixedAnchor.spec.ts +0 -0
  2226. package/src/controls/wrapWithFixedAnchor.ts +0 -0
  2227. package/src/env/browser.ts +0 -0
  2228. package/src/env/env.spec.ts +0 -0
  2229. package/src/env/index.ts +0 -0
  2230. package/src/env/node.ts +0 -0
  2231. package/src/env/types.ts +0 -0
  2232. package/src/filters/BaseFilter.spec.ts +0 -0
  2233. package/src/filters/BaseFilter.ts +0 -0
  2234. package/src/filters/BlendColor.ts +0 -0
  2235. package/src/filters/BlendImage.ts +0 -0
  2236. package/src/filters/Blur.ts +0 -0
  2237. package/src/filters/Boilerplate.ts +0 -0
  2238. package/src/filters/Brightness.ts +0 -0
  2239. package/src/filters/Canvas2dFilterBackend.ts +0 -0
  2240. package/src/filters/ColorMatrix.spec.ts +0 -0
  2241. package/src/filters/ColorMatrix.ts +0 -0
  2242. package/src/filters/ColorMatrixFilters.ts +0 -0
  2243. package/src/filters/Composed.ts +0 -0
  2244. package/src/filters/Contrast.ts +0 -0
  2245. package/src/filters/Convolute.ts +0 -0
  2246. package/src/filters/FilterBackend.ts +0 -0
  2247. package/src/filters/GLProbes/GLProbe.ts +0 -0
  2248. package/src/filters/GLProbes/NodeGLProbe.ts +0 -0
  2249. package/src/filters/GLProbes/WebGLProbe.ts +0 -0
  2250. package/src/filters/Gamma.ts +0 -0
  2251. package/src/filters/Grayscale.ts +0 -0
  2252. package/src/filters/HueRotation.ts +0 -0
  2253. package/src/filters/Invert.ts +0 -0
  2254. package/src/filters/Noise.ts +0 -0
  2255. package/src/filters/Pixelate.ts +0 -0
  2256. package/src/filters/RemoveColor.ts +0 -0
  2257. package/src/filters/Resize.ts +0 -0
  2258. package/src/filters/Saturation.ts +0 -0
  2259. package/src/filters/Vibrance.ts +0 -0
  2260. package/src/filters/WebGLFilterBackend.spec.ts +0 -0
  2261. package/src/filters/WebGLFilterBackend.ts +0 -0
  2262. package/src/filters/filters.ts +0 -0
  2263. package/src/filters/index.ts +0 -0
  2264. package/src/filters/shaders/baseFilter.ts +0 -0
  2265. package/src/filters/shaders/blendColor.ts +0 -0
  2266. package/src/filters/shaders/blendImage.ts +0 -0
  2267. package/src/filters/shaders/blur.ts +0 -0
  2268. package/src/filters/shaders/brightness.ts +0 -0
  2269. package/src/filters/shaders/colorMatrix.ts +0 -0
  2270. package/src/filters/shaders/constrast.ts +0 -0
  2271. package/src/filters/shaders/convolute.ts +0 -0
  2272. package/src/filters/shaders/gamma.ts +0 -0
  2273. package/src/filters/shaders/grayscale.ts +0 -0
  2274. package/src/filters/shaders/invert.ts +0 -0
  2275. package/src/filters/shaders/noise.ts +0 -0
  2276. package/src/filters/shaders/pixelate.ts +0 -0
  2277. package/src/filters/shaders/removeColor.ts +0 -0
  2278. package/src/filters/shaders/saturation.ts +0 -0
  2279. package/src/filters/shaders/vibrance.ts +0 -0
  2280. package/src/filters/typedefs.ts +0 -0
  2281. package/src/filters/utils.ts +0 -0
  2282. package/src/gradient/Gradient.spec.ts +0 -0
  2283. package/src/gradient/Gradient.ts +0 -0
  2284. package/src/gradient/constants.ts +0 -0
  2285. package/src/gradient/index.ts +0 -0
  2286. package/src/gradient/parser/misc.ts +0 -0
  2287. package/src/gradient/parser/parseColorStops.ts +0 -0
  2288. package/src/gradient/parser/parseCoords.ts +0 -0
  2289. package/src/gradient/typedefs.ts +0 -0
  2290. package/src/mixins/eraser_brush.mixin.ts +0 -0
  2291. package/src/parkinglot/canvas_animation.mixin.ts +0 -0
  2292. package/src/parkinglot/straighten.ts +0 -0
  2293. package/src/parser/applyViewboxTransform.spec.ts +0 -0
  2294. package/src/parser/applyViewboxTransform.ts +0 -0
  2295. package/src/parser/attributes.ts +0 -0
  2296. package/src/parser/constants.spec.ts +0 -0
  2297. package/src/parser/constants.ts +0 -0
  2298. package/src/parser/doesSomeParentMatch.ts +0 -0
  2299. package/src/parser/elementMatchesRule.ts +0 -0
  2300. package/src/parser/elements_parser.ts +0 -0
  2301. package/src/parser/getCSSRules.spec.ts +0 -0
  2302. package/src/parser/getCSSRules.ts +0 -0
  2303. package/src/parser/getGlobalStylesForElement.ts +0 -0
  2304. package/src/parser/getGradientDefs.ts +0 -0
  2305. package/src/parser/getMultipleNodes.ts +0 -0
  2306. package/src/parser/getSvgRegex.ts +0 -0
  2307. package/src/parser/getTagName.ts +0 -0
  2308. package/src/parser/hasInvalidAncestor.ts +0 -0
  2309. package/src/parser/loadSVGFromString.test.ts +0 -0
  2310. package/src/parser/loadSVGFromString.ts +0 -0
  2311. package/src/parser/loadSVGFromURL.ts +0 -0
  2312. package/src/parser/normalizeAttr.ts +0 -0
  2313. package/src/parser/normalizeValue.ts +0 -0
  2314. package/src/parser/parseAttributes.ts +0 -0
  2315. package/src/parser/parseFontDeclaration.ts +0 -0
  2316. package/src/parser/parsePointsAttribute.ts +0 -0
  2317. package/src/parser/parseSVGDocument.ts +0 -0
  2318. package/src/parser/parseStyleAttribute.ts +0 -0
  2319. package/src/parser/parseStyleObject.ts +0 -0
  2320. package/src/parser/parseStyleString.ts +0 -0
  2321. package/src/parser/parseTransformAttribute.ts +0 -0
  2322. package/src/parser/parseUseDirectives.test.ts +0 -0
  2323. package/src/parser/parseUseDirectives.ts +0 -0
  2324. package/src/parser/parser.spec.ts +0 -0
  2325. package/src/parser/percent.ts +0 -0
  2326. package/src/parser/recursivelyParseGradientsXlink.ts +0 -0
  2327. package/src/parser/selectorMatches.ts +0 -0
  2328. package/src/parser/setStrokeFillOpacity.ts +0 -0
  2329. package/src/parser/typedefs.ts +0 -0
  2330. package/src/shapes/ActiveSelection.spec.ts +0 -0
  2331. package/src/shapes/ActiveSelection.ts +0 -0
  2332. package/src/shapes/Circle.spec.ts +0 -0
  2333. package/src/shapes/Circle.ts +0 -0
  2334. package/src/shapes/Ellipse.spec.ts +0 -0
  2335. package/src/shapes/Ellipse.ts +0 -0
  2336. package/src/shapes/Group.spec.ts +0 -0
  2337. package/src/shapes/Group.ts +0 -0
  2338. package/src/shapes/IText/DraggableTextDelegate.ts +0 -0
  2339. package/src/shapes/IText/IText-click-behavior.spec.ts +0 -0
  2340. package/src/shapes/IText/IText.test.ts +0 -0
  2341. package/src/shapes/IText/IText.ts +846 -846
  2342. package/src/shapes/IText/ITextBehavior.test.ts +0 -0
  2343. package/src/shapes/IText/ITextBehavior.ts +1176 -1176
  2344. package/src/shapes/IText/ITextClickBehavior.ts +254 -254
  2345. package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
  2346. package/src/shapes/IText/ITextKeyBehavior.ts +0 -0
  2347. package/src/shapes/IText/__snapshots__/IText.test.ts.snap +0 -0
  2348. package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +0 -0
  2349. package/src/shapes/IText/constants.ts +0 -0
  2350. package/src/shapes/Image-filters.spec.ts +0 -0
  2351. package/src/shapes/Image.spec.ts +0 -0
  2352. package/src/shapes/Image.ts +0 -0
  2353. package/src/shapes/Line.spec.ts +0 -0
  2354. package/src/shapes/Line.ts +0 -0
  2355. package/src/shapes/Object/FabricObject.spec.ts +0 -0
  2356. package/src/shapes/Object/FabricObject.ts +0 -0
  2357. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +0 -0
  2358. package/src/shapes/Object/InteractiveObject.spec.ts +0 -0
  2359. package/src/shapes/Object/InteractiveObject.ts +0 -0
  2360. package/src/shapes/Object/Object-clip-path.spec.ts +0 -0
  2361. package/src/shapes/Object/Object-interactivity.spec.ts +0 -0
  2362. package/src/shapes/Object/Object.spec.ts +0 -0
  2363. package/src/shapes/Object/Object.ts +0 -0
  2364. package/src/shapes/Object/ObjectGeometry.spec.ts +0 -0
  2365. package/src/shapes/Object/ObjectGeometry.ts +0 -0
  2366. package/src/shapes/Object/ObjectOrigin.spec.ts +0 -0
  2367. package/src/shapes/Object/ObjectSerialization.spec.ts +0 -0
  2368. package/src/shapes/Object/StackedObject.spec.ts +0 -0
  2369. package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +0 -0
  2370. package/src/shapes/Object/defaultValues.ts +0 -0
  2371. package/src/shapes/Object/types/BaseProps.ts +0 -0
  2372. package/src/shapes/Object/types/BorderProps.ts +0 -0
  2373. package/src/shapes/Object/types/ControlProps.ts +0 -0
  2374. package/src/shapes/Object/types/FabricObjectProps.ts +0 -0
  2375. package/src/shapes/Object/types/FillStrokeProps.ts +0 -0
  2376. package/src/shapes/Object/types/LockInteractionProps.ts +0 -0
  2377. package/src/shapes/Object/types/ObjectProps.ts +0 -0
  2378. package/src/shapes/Object/types/ObjectTransformProps.ts +0 -0
  2379. package/src/shapes/Object/types/SerializedObjectProps.ts +0 -0
  2380. package/src/shapes/Object/types/index.ts +0 -0
  2381. package/src/shapes/Path.spec.ts +0 -0
  2382. package/src/shapes/Path.ts +0 -0
  2383. package/src/shapes/Polygon.spec.ts +0 -0
  2384. package/src/shapes/Polygon.ts +0 -0
  2385. package/src/shapes/Polyline.spec.ts +0 -0
  2386. package/src/shapes/Polyline.ts +0 -0
  2387. package/src/shapes/Rect.spec.ts +0 -0
  2388. package/src/shapes/Rect.ts +0 -0
  2389. package/src/shapes/Text/StyledText.spec.ts +0 -0
  2390. package/src/shapes/Text/StyledText.ts +0 -0
  2391. package/src/shapes/Text/Text.spec.ts +0 -0
  2392. package/src/shapes/Text/Text.ts +2226 -2161
  2393. package/src/shapes/Text/TextSVGExportMixin.spec.ts +0 -0
  2394. package/src/shapes/Text/TextSVGExportMixin.ts +0 -0
  2395. package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +0 -0
  2396. package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +0 -0
  2397. package/src/shapes/Text/constants.ts +134 -134
  2398. package/src/shapes/Textbox.spec.ts +0 -0
  2399. package/src/shapes/Textbox.ts +788 -788
  2400. package/src/shapes/Triangle.ts +0 -0
  2401. package/src/shapes/__snapshots__/Image.spec.ts.snap +0 -0
  2402. package/src/shapes/__snapshots__/Textbox.spec.ts.snap +0 -0
  2403. package/src/text/browserLines.ts +233 -233
  2404. package/src/text/ellipsis.ts +516 -516
  2405. package/src/text/hitTest.ts +623 -623
  2406. package/src/text/layout.ts +586 -586
  2407. package/src/text/measure.ts +475 -475
  2408. package/src/text/overlayEditor.ts +1035 -895
  2409. package/src/text/unicode.ts +454 -454
  2410. package/src/typedefs.ts +0 -0
  2411. package/src/util/__snapshots__/index.spec.ts.snap +0 -0
  2412. package/src/util/animation/AnimationBase.ts +0 -0
  2413. package/src/util/animation/AnimationFrameProvider.ts +0 -0
  2414. package/src/util/animation/AnimationRegistry.ts +0 -0
  2415. package/src/util/animation/ArrayAnimation.ts +0 -0
  2416. package/src/util/animation/ColorAnimation.ts +0 -0
  2417. package/src/util/animation/ValueAnimation.ts +0 -0
  2418. package/src/util/animation/__snapshots__/animations.spec.ts.snap +0 -0
  2419. package/src/util/animation/animate.ts +0 -0
  2420. package/src/util/animation/animations.spec.ts +0 -0
  2421. package/src/util/animation/easing.ts +0 -0
  2422. package/src/util/animation/index.ts +0 -0
  2423. package/src/util/animation/types.ts +0 -0
  2424. package/src/util/applyMixins.ts +0 -0
  2425. package/src/util/dom_event.spec.ts +0 -0
  2426. package/src/util/dom_event.ts +0 -0
  2427. package/src/util/dom_misc.ts +0 -0
  2428. package/src/util/index.spec.ts +0 -0
  2429. package/src/util/index.ts +0 -0
  2430. package/src/util/internals/applyCanvasTransform.ts +0 -0
  2431. package/src/util/internals/cleanupSvgAttribute.test.ts +0 -0
  2432. package/src/util/internals/cleanupSvgAttribute.ts +0 -0
  2433. package/src/util/internals/cloneStyles.spec.ts +0 -0
  2434. package/src/util/internals/cloneStyles.ts +0 -0
  2435. package/src/util/internals/console.ts +0 -0
  2436. package/src/util/internals/dom_style.spec.ts +0 -0
  2437. package/src/util/internals/dom_style.ts +0 -0
  2438. package/src/util/internals/findRight.ts +0 -0
  2439. package/src/util/internals/getRandomInt.test.ts +0 -0
  2440. package/src/util/internals/getRandomInt.ts +0 -0
  2441. package/src/util/internals/ifNaN.ts +0 -0
  2442. package/src/util/internals/removeFromArray.spec.ts +0 -0
  2443. package/src/util/internals/removeFromArray.ts +0 -0
  2444. package/src/util/internals/uid.ts +0 -0
  2445. package/src/util/lang_string.spec.ts +0 -0
  2446. package/src/util/lang_string.ts +0 -0
  2447. package/src/util/misc/boundingBoxFromPoints.spec.ts +0 -0
  2448. package/src/util/misc/boundingBoxFromPoints.ts +0 -0
  2449. package/src/util/misc/capValue.spec.ts +0 -0
  2450. package/src/util/misc/capValue.ts +0 -0
  2451. package/src/util/misc/cos.spec.ts +0 -0
  2452. package/src/util/misc/cos.ts +0 -0
  2453. package/src/util/misc/dom.spec.ts +0 -0
  2454. package/src/util/misc/dom.ts +0 -0
  2455. package/src/util/misc/findScaleTo.spec.ts +0 -0
  2456. package/src/util/misc/findScaleTo.ts +0 -0
  2457. package/src/util/misc/groupSVGElements.spec.ts +0 -0
  2458. package/src/util/misc/groupSVGElements.ts +0 -0
  2459. package/src/util/misc/isTransparent.ts +0 -0
  2460. package/src/util/misc/matrix.spec.ts +0 -0
  2461. package/src/util/misc/matrix.ts +0 -0
  2462. package/src/util/misc/mergeClipPaths.spec.ts +0 -0
  2463. package/src/util/misc/mergeClipPaths.ts +0 -0
  2464. package/src/util/misc/objectEnlive.spec.ts +0 -0
  2465. package/src/util/misc/objectEnlive.ts +0 -0
  2466. package/src/util/misc/objectTransforms.spec.ts +0 -0
  2467. package/src/util/misc/objectTransforms.ts +0 -0
  2468. package/src/util/misc/pick.spec.ts +0 -0
  2469. package/src/util/misc/pick.ts +0 -0
  2470. package/src/util/misc/planeChange.spec.ts +0 -0
  2471. package/src/util/misc/planeChange.ts +0 -0
  2472. package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +0 -0
  2473. package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +0 -0
  2474. package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +0 -0
  2475. package/src/util/misc/projectStroke/index.ts +0 -0
  2476. package/src/util/misc/projectStroke/types.ts +0 -0
  2477. package/src/util/misc/radiansDegreesConversion.spec.ts +0 -0
  2478. package/src/util/misc/radiansDegreesConversion.ts +0 -0
  2479. package/src/util/misc/resolveOrigin.ts +0 -0
  2480. package/src/util/misc/sin.ts +0 -0
  2481. package/src/util/misc/svgExport.ts +0 -0
  2482. package/src/util/misc/svgParsing.spec.ts +0 -0
  2483. package/src/util/misc/svgParsing.ts +0 -0
  2484. package/src/util/misc/textStyles.ts +0 -0
  2485. package/src/util/misc/toFixed.spec.ts +0 -0
  2486. package/src/util/misc/toFixed.ts +0 -0
  2487. package/src/util/misc/vectors.spec.ts +0 -0
  2488. package/src/util/misc/vectors.ts +0 -0
  2489. package/src/util/path/__snapshots__/index.spec.ts.snap +0 -0
  2490. package/src/util/path/index.spec.ts +0 -0
  2491. package/src/util/path/index.ts +0 -0
  2492. package/src/util/path/regex.ts +0 -0
  2493. package/src/util/path/typechecks.ts +0 -0
  2494. package/src/util/path/typedefs.ts +0 -0
  2495. package/src/util/transform_matrix_removal.ts +0 -0
  2496. package/src/util/typeAssertions.spec.ts +0 -0
  2497. package/src/util/typeAssertions.ts +0 -0
  2498. package/tsconfig-extensions.json +0 -0
  2499. package/tsconfig.json +0 -0
  2500. package/tsconfig.spec.json +0 -0
  2501. package/typedoc.config.json +0 -0
  2502. package/vitest.config.ts +0 -0
  2503. package/vitest.d.ts +0 -0
  2504. package/vitest.env.d.ts +0 -0
  2505. package/vitest.extend.ts +0 -0
  2506. package/vitest.setup.ts +0 -0
  2507. package/docs/fabric-konva-gap-analysis.md +0 -274
  2508. package/docs/konva-text-behavior-spec.md +0 -265
  2509. package/docs/text-engine-design.md +0 -698
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.0-beta1";
357
+ var version = "7.0.1-beta1";
358
358
 
359
359
  // use this syntax so babel plugin see this import here
360
360
  const VERSION = version;
@@ -18673,8 +18673,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
18673
18673
  // Global measurement context - reused for performance
18674
18674
  let measurementContext = null;
18675
18675
 
18676
- /**
18677
- * Get or create the shared measurement context
18676
+ /**
18677
+ * Get or create the shared measurement context
18678
18678
  */
18679
18679
  function getMeasurementContext() {
18680
18680
  if (!measurementContext) {
@@ -18687,8 +18687,8 @@ function getMeasurementContext() {
18687
18687
  return measurementContext;
18688
18688
  }
18689
18689
 
18690
- /**
18691
- * Measure a single grapheme
18690
+ /**
18691
+ * Measure a single grapheme
18692
18692
  */
18693
18693
  function measureGrapheme(grapheme, options, ctx) {
18694
18694
  // Check cache first
@@ -18721,8 +18721,8 @@ function measureGrapheme(grapheme, options, ctx) {
18721
18721
  return measurement;
18722
18722
  }
18723
18723
 
18724
- /**
18725
- * Measure a grapheme with kerning relative to previous character
18724
+ /**
18725
+ * Measure a grapheme with kerning relative to previous character
18726
18726
  */
18727
18727
  function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
18728
18728
  // Get individual measurement
@@ -18763,8 +18763,8 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
18763
18763
  };
18764
18764
  }
18765
18765
 
18766
- /**
18767
- * Get font metrics for layout calculations
18766
+ /**
18767
+ * Get font metrics for layout calculations
18768
18768
  */
18769
18769
  function getFontMetrics(options) {
18770
18770
  var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
@@ -18799,8 +18799,8 @@ function getFontMetrics(options) {
18799
18799
  return result;
18800
18800
  }
18801
18801
 
18802
- /**
18803
- * Apply font styling to canvas context
18802
+ /**
18803
+ * Apply font styling to canvas context
18804
18804
  */
18805
18805
  function applyFontStyle(ctx, options) {
18806
18806
  const fontDeclaration = getFontDeclaration(options);
@@ -18817,8 +18817,8 @@ function applyFontStyle(ctx, options) {
18817
18817
  ctx.textBaseline = 'alphabetic';
18818
18818
  }
18819
18819
 
18820
- /**
18821
- * Generate font declaration string
18820
+ /**
18821
+ * Generate font declaration string
18822
18822
  */
18823
18823
  function getFontDeclaration(options) {
18824
18824
  const {
@@ -18833,8 +18833,8 @@ function getFontDeclaration(options) {
18833
18833
  return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
18834
18834
  }
18835
18835
 
18836
- /**
18837
- * LRU Cache implementation for measurements
18836
+ /**
18837
+ * LRU Cache implementation for measurements
18838
18838
  */
18839
18839
  class LRUCache {
18840
18840
  constructor() {
@@ -18896,8 +18896,8 @@ class LRUCache {
18896
18896
  }
18897
18897
  }
18898
18898
 
18899
- /**
18900
- * Advanced measurement cache with font-aware keys
18899
+ /**
18900
+ * Advanced measurement cache with font-aware keys
18901
18901
  */
18902
18902
  class MeasurementCache {
18903
18903
  constructor() {
@@ -18924,8 +18924,8 @@ class MeasurementCache {
18924
18924
  }
18925
18925
  }
18926
18926
 
18927
- /**
18928
- * Kerning cache for character pairs
18927
+ /**
18928
+ * Kerning cache for character pairs
18929
18929
  */
18930
18930
  class KerningCache {
18931
18931
  constructor() {
@@ -18953,8 +18953,8 @@ class KerningCache {
18953
18953
  }
18954
18954
  }
18955
18955
 
18956
- /**
18957
- * Font metrics cache
18956
+ /**
18957
+ * Font metrics cache
18958
18958
  */
18959
18959
  class FontMetricsCache {
18960
18960
  constructor() {
@@ -18981,17 +18981,17 @@ const measurementCache = new MeasurementCache();
18981
18981
  const kerningCache = new KerningCache();
18982
18982
  const fontMetricsCache = new FontMetricsCache();
18983
18983
 
18984
- /**
18985
- * Unicode and Internationalization Support
18986
- *
18987
- * Enhanced Unicode handling for complex scripts, RTL/LTR text,
18988
- * and grapheme cluster boundary detection.
18984
+ /**
18985
+ * Unicode and Internationalization Support
18986
+ *
18987
+ * Enhanced Unicode handling for complex scripts, RTL/LTR text,
18988
+ * and grapheme cluster boundary detection.
18989
18989
  */
18990
18990
 
18991
18991
 
18992
- /**
18993
- * Enhanced grapheme segmentation using Intl.Segmenter when available
18994
- * with fallback to existing graphemeSplit implementation
18992
+ /**
18993
+ * Enhanced grapheme segmentation using Intl.Segmenter when available
18994
+ * with fallback to existing graphemeSplit implementation
18995
18995
  */
18996
18996
  function segmentGraphemes(text) {
18997
18997
  // Use native Intl.Segmenter if available
@@ -19011,15 +19011,15 @@ function segmentGraphemes(text) {
19011
19011
  return graphemeSplit(text);
19012
19012
  }
19013
19013
 
19014
- /**
19015
- * Ellipsis Text Truncation System
19016
- *
19017
- * Implements text truncation with ellipsis when content exceeds bounds,
19018
- * using binary search for optimal truncation points.
19014
+ /**
19015
+ * Ellipsis Text Truncation System
19016
+ *
19017
+ * Implements text truncation with ellipsis when content exceeds bounds,
19018
+ * using binary search for optimal truncation points.
19019
19019
  */
19020
19020
 
19021
- /**
19022
- * Apply ellipsis truncation to text based on width/height constraints
19021
+ /**
19022
+ * Apply ellipsis truncation to text based on width/height constraints
19023
19023
  */
19024
19024
  function applyEllipsis(text, options) {
19025
19025
  const {
@@ -19089,8 +19089,8 @@ function applyEllipsis(text, options) {
19089
19089
  };
19090
19090
  }
19091
19091
 
19092
- /**
19093
- * Truncate text based on width constraint using binary search
19092
+ /**
19093
+ * Truncate text based on width constraint using binary search
19094
19094
  */
19095
19095
  function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
19096
19096
  const graphemes = segmentGraphemes(text);
@@ -19140,8 +19140,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
19140
19140
  };
19141
19141
  }
19142
19142
 
19143
- /**
19144
- * Truncate text based on height constraint
19143
+ /**
19144
+ * Truncate text based on height constraint
19145
19145
  */
19146
19146
  function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19147
19147
  var _measureFn;
@@ -19189,19 +19189,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19189
19189
  return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
19190
19190
  }
19191
19191
 
19192
- /**
19193
- * Core Text Layout Engine
19194
- *
19195
- * Implements Konva-compatible text layout with support for:
19196
- * - Multiple wrap modes (word/char/none)
19197
- * - Ellipsis truncation
19198
- * - Justify alignment with proper space distribution
19199
- * - RTL/LTR text direction
19200
- * - Advanced grapheme handling
19192
+ /**
19193
+ * Core Text Layout Engine
19194
+ *
19195
+ * Implements Konva-compatible text layout with support for:
19196
+ * - Multiple wrap modes (word/char/none)
19197
+ * - Ellipsis truncation
19198
+ * - Justify alignment with proper space distribution
19199
+ * - RTL/LTR text direction
19200
+ * - Advanced grapheme handling
19201
19201
  */
19202
19202
 
19203
- /**
19204
- * Main text layout function - converts text and options into positioned layout
19203
+ /**
19204
+ * Main text layout function - converts text and options into positioned layout
19205
19205
  */
19206
19206
  function layoutText(options) {
19207
19207
  var _ellipsisResult;
@@ -19320,8 +19320,8 @@ function layoutText(options) {
19320
19320
  };
19321
19321
  }
19322
19322
 
19323
- /**
19324
- * Layout a single paragraph with wrapping
19323
+ /**
19324
+ * Layout a single paragraph with wrapping
19325
19325
  */
19326
19326
  function layoutParagraph(text, options) {
19327
19327
  const {
@@ -19356,8 +19356,8 @@ function layoutParagraph(text, options) {
19356
19356
  return layoutLines;
19357
19357
  }
19358
19358
 
19359
- /**
19360
- * Layout a single line of text (no wrapping)
19359
+ /**
19360
+ * Layout a single line of text (no wrapping)
19361
19361
  */
19362
19362
  function layoutSingleLine(text, options) {
19363
19363
  let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
@@ -19427,8 +19427,8 @@ function layoutSingleLine(text, options) {
19427
19427
  };
19428
19428
  }
19429
19429
 
19430
- /**
19431
- * Word-based wrapping algorithm
19430
+ /**
19431
+ * Word-based wrapping algorithm
19432
19432
  */
19433
19433
  function wrapByWords(text, maxWidth, options) {
19434
19434
  const lines = [];
@@ -19461,8 +19461,8 @@ function wrapByWords(text, maxWidth, options) {
19461
19461
  return lines.length > 0 ? lines : [''];
19462
19462
  }
19463
19463
 
19464
- /**
19465
- * Character-based wrapping algorithm
19464
+ /**
19465
+ * Character-based wrapping algorithm
19466
19466
  */
19467
19467
  function wrapByCharacters(text, maxWidth, options) {
19468
19468
  const lines = [];
@@ -19484,8 +19484,8 @@ function wrapByCharacters(text, maxWidth, options) {
19484
19484
  return lines.length > 0 ? lines : [''];
19485
19485
  }
19486
19486
 
19487
- /**
19488
- * Apply text alignment to lines
19487
+ /**
19488
+ * Apply text alignment to lines
19489
19489
  */
19490
19490
  function applyAlignment(lines, align, containerWidth, options) {
19491
19491
  return lines.map(line => {
@@ -19519,8 +19519,8 @@ function applyAlignment(lines, align, containerWidth, options) {
19519
19519
  });
19520
19520
  }
19521
19521
 
19522
- /**
19523
- * Apply justify alignment by expanding spaces
19522
+ /**
19523
+ * Apply justify alignment by expanding spaces
19524
19524
  */
19525
19525
  function applyJustification(line, containerWidth, options) {
19526
19526
  const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
@@ -19543,8 +19543,8 @@ function applyJustification(line, containerWidth, options) {
19543
19543
  return line;
19544
19544
  }
19545
19545
 
19546
- /**
19547
- * Calculate vertical alignment offset
19546
+ /**
19547
+ * Calculate vertical alignment offset
19548
19548
  */
19549
19549
  function calculateVerticalOffset(contentHeight, containerHeight, align) {
19550
19550
  switch (align) {
@@ -19558,8 +19558,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
19558
19558
  }
19559
19559
  }
19560
19560
 
19561
- /**
19562
- * Handle height overflow with ellipsis
19561
+ /**
19562
+ * Handle height overflow with ellipsis
19563
19563
  */
19564
19564
  function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
19565
19565
  // If ellipsis is enabled, try to fit part of the overflow line
@@ -19588,8 +19588,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
19588
19588
  };
19589
19589
  }
19590
19590
 
19591
- /**
19592
- * Create empty line for empty paragraphs
19591
+ /**
19592
+ * Create empty line for empty paragraphs
19593
19593
  */
19594
19594
  function createEmptyLine(options) {
19595
19595
  const height = options.fontSize * options.lineHeight;
@@ -19605,8 +19605,8 @@ function createEmptyLine(options) {
19605
19605
  };
19606
19606
  }
19607
19607
 
19608
- /**
19609
- * Measure width of a line of text
19608
+ /**
19609
+ * Measure width of a line of text
19610
19610
  */
19611
19611
  function measureLineWidth(text, options) {
19612
19612
  const graphemes = segmentGraphemes(text);
@@ -19623,8 +19623,8 @@ function measureLineWidth(text, options) {
19623
19623
  return width;
19624
19624
  }
19625
19625
 
19626
- /**
19627
- * Convert layout options to measurement options
19626
+ /**
19627
+ * Convert layout options to measurement options
19628
19628
  */
19629
19629
  function createMeasurementOptions(options) {
19630
19630
  return {
@@ -19867,15 +19867,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
19867
19867
  }
19868
19868
  }
19869
19869
 
19870
- /**
19871
- * Browser Line Break Extraction
19872
- *
19873
- * Captures exact line breaks as rendered by the browser to ensure
19874
- * pixel-perfect consistency between DOM editing and canvas rendering.
19870
+ /**
19871
+ * Browser Line Break Extraction
19872
+ *
19873
+ * Captures exact line breaks as rendered by the browser to ensure
19874
+ * pixel-perfect consistency between DOM editing and canvas rendering.
19875
19875
  */
19876
19876
 
19877
- /**
19878
- * Segment text into graphemes safely using Intl.Segmenter or fallback
19877
+ /**
19878
+ * Segment text into graphemes safely using Intl.Segmenter or fallback
19879
19879
  */
19880
19880
  function segmentIntoGraphemes(text) {
19881
19881
  if (typeof Intl !== 'undefined' && Intl.Segmenter) {
@@ -19889,9 +19889,9 @@ function segmentIntoGraphemes(text) {
19889
19889
  return Array.from(text);
19890
19890
  }
19891
19891
 
19892
- /**
19893
- * Extract line break information from a textarea by creating a mirror element
19894
- * with identical computed styles and measuring grapheme positions.
19892
+ /**
19893
+ * Extract line break information from a textarea by creating a mirror element
19894
+ * with identical computed styles and measuring grapheme positions.
19895
19895
  */
19896
19896
  function extractLinesFromDOM(textarea) {
19897
19897
  const text = textarea.value;
@@ -19986,16 +19986,16 @@ function extractLinesFromDOM(textarea) {
19986
19986
  }
19987
19987
  }
19988
19988
 
19989
- /**
19990
- * Create a hash of layout-affecting properties to detect when browser lines are still valid
19989
+ /**
19990
+ * Create a hash of layout-affecting properties to detect when browser lines are still valid
19991
19991
  */
19992
19992
  function createLayoutHash(target) {
19993
19993
  const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
19994
19994
  return properties.map(p => String(p)).join('|');
19995
19995
  }
19996
19996
 
19997
- /**
19998
- * Check if stored browser lines are still valid for the current target state
19997
+ /**
19998
+ * Check if stored browser lines are still valid for the current target state
19999
19999
  */
20000
20000
  function areBrowserLinesValid(target, storedHash) {
20001
20001
  if (!storedHash || !target.__lastBrowserLines) {
@@ -20005,24 +20005,24 @@ function areBrowserLinesValid(target, storedHash) {
20005
20005
  return currentHash === storedHash;
20006
20006
  }
20007
20007
 
20008
- /**
20009
- * Store browser lines on a target object with validity hash
20008
+ /**
20009
+ * Store browser lines on a target object with validity hash
20010
20010
  */
20011
20011
  function storeBrowserLines(target, lines, layoutHash) {
20012
20012
  target.__lastBrowserLines = lines;
20013
20013
  target.__lastBrowserLinesHash = createLayoutHash(target);
20014
20014
  }
20015
20015
 
20016
- /**
20017
- * Clear stored browser lines from a target object
20016
+ /**
20017
+ * Clear stored browser lines from a target object
20018
20018
  */
20019
20019
  function clearBrowserLines(target) {
20020
20020
  delete target.__lastBrowserLines;
20021
20021
  delete target.__lastBrowserLinesHash;
20022
20022
  }
20023
20023
 
20024
- /**
20025
- * Get stored browser lines if they're still valid
20024
+ /**
20025
+ * Get stored browser lines if they're still valid
20026
20026
  */
20027
20027
  function getBrowserLines(target) {
20028
20028
  const lines = target.__lastBrowserLines;
@@ -20035,9 +20035,9 @@ function getBrowserLines(target) {
20035
20035
 
20036
20036
  let measuringContext;
20037
20037
 
20038
- /**
20039
- * Return a context for measurement of text string.
20040
- * if created it gets stored for reuse
20038
+ /**
20039
+ * Return a context for measurement of text string.
20040
+ * if created it gets stored for reuse
20041
20041
  */
20042
20042
  function getMeasuringContext() {
20043
20043
  if (!measuringContext) {
@@ -20050,17 +20050,17 @@ function getMeasuringContext() {
20050
20050
  return measuringContext;
20051
20051
  }
20052
20052
 
20053
- /**
20054
- * Measure and return the info of a single grapheme.
20055
- * needs the the info of previous graphemes already filled
20056
- * Override to customize measuring
20053
+ /**
20054
+ * Measure and return the info of a single grapheme.
20055
+ * needs the the info of previous graphemes already filled
20056
+ * Override to customize measuring
20057
20057
  */
20058
20058
 
20059
20059
  // @TODO this is not complete
20060
20060
 
20061
- /**
20062
- * Text class
20063
- * @see {@link http://fabricjs.com/fabric-intro-part-2#text}
20061
+ /**
20062
+ * Text class
20063
+ * @see {@link http://fabricjs.com/fabric-intro-part-2#text}
20064
20064
  */
20065
20065
  class FabricText extends StyledText {
20066
20066
  static getDefaults() {
@@ -20071,11 +20071,11 @@ class FabricText extends StyledText {
20071
20071
  }
20072
20072
  constructor(text, options) {
20073
20073
  super();
20074
- /**
20075
- * contains characters bounding boxes
20076
- * This variable is considered to be protected.
20077
- * But for how mixins are implemented right now, we can't leave it private
20078
- * @protected
20074
+ /**
20075
+ * contains characters bounding boxes
20076
+ * This variable is considered to be protected.
20077
+ * But for how mixins are implemented right now, we can't leave it private
20078
+ * @protected
20079
20079
  */
20080
20080
  _defineProperty(this, "__charBounds", []);
20081
20081
  Object.assign(this, FabricText.ownDefaults);
@@ -20092,9 +20092,9 @@ class FabricText extends StyledText {
20092
20092
  this.setCoords();
20093
20093
  }
20094
20094
 
20095
- /**
20096
- * If text has a path, it will add the extra information needed
20097
- * for path and text calculations
20095
+ /**
20096
+ * If text has a path, it will add the extra information needed
20097
+ * for path and text calculations
20098
20098
  */
20099
20099
  setPathInfo() {
20100
20100
  const path = this.path;
@@ -20103,10 +20103,10 @@ class FabricText extends StyledText {
20103
20103
  }
20104
20104
  }
20105
20105
 
20106
- /**
20107
- * @private
20108
- * Divides text into lines of text and lines of graphemes.
20109
- * Uses browser lines when available for pixel-perfect consistency.
20106
+ /**
20107
+ * @private
20108
+ * Divides text into lines of text and lines of graphemes.
20109
+ * Uses browser lines when available for pixel-perfect consistency.
20110
20110
  */
20111
20111
  _splitText() {
20112
20112
  // Check if we have valid browser lines and should use them
@@ -20122,9 +20122,9 @@ class FabricText extends StyledText {
20122
20122
  return newLines;
20123
20123
  }
20124
20124
 
20125
- /**
20126
- * Create TextLinesInfo from browser-extracted lines
20127
- * @private
20125
+ /**
20126
+ * Create TextLinesInfo from browser-extracted lines
20127
+ * @private
20128
20128
  */
20129
20129
  _splitTextFromBrowserLines(browserLines) {
20130
20130
  const lines = [];
@@ -20158,10 +20158,10 @@ class FabricText extends StyledText {
20158
20158
  return result;
20159
20159
  }
20160
20160
 
20161
- /**
20162
- * Initialize or update text dimensions.
20163
- * Updates this.width and this.height with the proper values.
20164
- * Does not return dimensions.
20161
+ /**
20162
+ * Initialize or update text dimensions.
20163
+ * Updates this.width and this.height with the proper values.
20164
+ * Does not return dimensions.
20165
20165
  */
20166
20166
  initDimensions() {
20167
20167
  // Use advanced layout if enabled
@@ -20184,11 +20184,12 @@ class FabricText extends StyledText {
20184
20184
  }
20185
20185
  }
20186
20186
 
20187
- /**
20188
- * Enlarge space boxes and shift the others
20187
+ /**
20188
+ * Enlarge space boxes and shift the others
20189
20189
  */
20190
20190
  enlargeSpaces() {
20191
20191
  let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
20192
+ const isRtl = this.direction === 'rtl';
20192
20193
  for (let i = 0, len = this._textLines.length; i < len; i++) {
20193
20194
  if (this.textAlign !== JUSTIFY && (i === len - 1 || this.isEndOfWrapping(i))) {
20194
20195
  continue;
@@ -20199,33 +20200,62 @@ class FabricText extends StyledText {
20199
20200
  if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {
20200
20201
  numberOfSpaces = spaces.length;
20201
20202
  diffSpace = (this.width - currentLineWidth) / numberOfSpaces;
20202
- for (let j = 0; j <= line.length; j++) {
20203
- charBound = this.__charBounds[i][j];
20204
- if (this._reSpaceAndTab.test(line[j])) {
20205
- charBound.width += diffSpace;
20206
- charBound.kernedWidth += diffSpace;
20207
- charBound.left += accumulatedSpace;
20208
- accumulatedSpace += diffSpace;
20209
- } else {
20210
- charBound.left += accumulatedSpace;
20203
+ if (isRtl) {
20204
+ for (let j = 0; j < line.length; j++) {
20205
+ if (this._reSpaceAndTab.test(line[j])) ;
20206
+ }
20207
+
20208
+ // For RTL, we need to work backwards through the visual positions
20209
+ // but still update logical positions correctly
20210
+ let spaceCount = 0;
20211
+ for (let j = 0; j <= line.length; j++) {
20212
+ charBound = this.__charBounds[i][j];
20213
+ if (charBound) {
20214
+ if (this._reSpaceAndTab.test(line[j])) {
20215
+ charBound.width += diffSpace;
20216
+ charBound.kernedWidth += diffSpace;
20217
+ spaceCount++;
20218
+ }
20219
+
20220
+ // For RTL, shift all characters to the right by the total expansion
20221
+ // minus the expansion that comes after this character
20222
+ const remainingSpaces = numberOfSpaces - spaceCount;
20223
+ const shiftAmount = remainingSpaces * diffSpace;
20224
+ charBound.left += shiftAmount;
20225
+ }
20226
+ }
20227
+ } else {
20228
+ // LTR processing (original logic)
20229
+ for (let j = 0; j <= line.length; j++) {
20230
+ charBound = this.__charBounds[i][j];
20231
+ if (charBound) {
20232
+ if (this._reSpaceAndTab.test(line[j])) {
20233
+ charBound.width += diffSpace;
20234
+ charBound.kernedWidth += diffSpace;
20235
+ charBound.left += accumulatedSpace;
20236
+ accumulatedSpace += diffSpace;
20237
+ } else {
20238
+ charBound.left += accumulatedSpace;
20239
+ }
20240
+ }
20211
20241
  }
20212
20242
  }
20213
20243
  }
20214
20244
  }
20215
20245
  }
20216
20246
 
20217
- /**
20218
- * Advanced layout using new text engine (Konva-compatible)
20219
- * @private
20247
+ /**
20248
+ * Advanced layout using new text engine (Konva-compatible)
20249
+ * @private
20220
20250
  */
20221
20251
  _layoutTextAdvanced() {
20222
20252
  const options = this._getAdvancedLayoutOptions();
20223
20253
  return layoutText(options);
20224
20254
  }
20225
20255
 
20226
- /**
20227
- * Get advanced layout options from current text properties
20228
- * @private
20256
+ /**
20257
+ * Get advanced layout options from current text properties
20258
+ * @private
20229
20259
  */
20230
20260
  _getAdvancedLayoutOptions() {
20231
20261
  return {
@@ -20247,9 +20277,9 @@ class FabricText extends StyledText {
20247
20277
  };
20248
20278
  }
20249
20279
 
20250
- /**
20251
- * Map Fabric textAlign to Konva align format
20252
- * @private
20280
+ /**
20281
+ * Map Fabric textAlign to Konva align format
20282
+ * @private
20253
20283
  */
20254
20284
  _mapTextAlignToAlign(textAlign) {
20255
20285
  switch (textAlign) {
@@ -20270,8 +20300,8 @@ class FabricText extends StyledText {
20270
20300
  }
20271
20301
  }
20272
20302
 
20273
- /**
20274
- * Enhanced initDimensions that uses advanced layout when enabled
20303
+ /**
20304
+ * Enhanced initDimensions that uses advanced layout when enabled
20275
20305
  */
20276
20306
  initDimensionsAdvanced() {
20277
20307
  if (!this.enableAdvancedLayout) {
@@ -20288,9 +20318,9 @@ class FabricText extends StyledText {
20288
20318
  this.dirty = true;
20289
20319
  }
20290
20320
 
20291
- /**
20292
- * Convert new layout format to legacy _textLines and __charBounds format
20293
- * @private
20321
+ /**
20322
+ * Convert new layout format to legacy _textLines and __charBounds format
20323
+ * @private
20294
20324
  */
20295
20325
  _convertLayoutToLegacyFormat(layout) {
20296
20326
  this._textLines = layout.lines.map(line => line.graphemes);
@@ -20312,30 +20342,30 @@ class FabricText extends StyledText {
20312
20342
  }
20313
20343
  }
20314
20344
 
20315
- /**
20316
- * Detect if the text line is ended with an hard break
20317
- * text and itext do not have wrapping, return false
20318
- * @return {Boolean}
20345
+ /**
20346
+ * Detect if the text line is ended with an hard break
20347
+ * text and itext do not have wrapping, return false
20348
+ * @return {Boolean}
20319
20349
  */
20320
20350
  isEndOfWrapping(lineIndex) {
20321
20351
  return lineIndex === this._textLines.length - 1;
20322
20352
  }
20323
20353
 
20324
- /**
20325
- * Detect if a line has a linebreak and so we need to account for it when moving
20326
- * and counting style.
20327
- * It return always 1 for text and Itext. Textbox has its own implementation
20328
- * @return Number
20354
+ /**
20355
+ * Detect if a line has a linebreak and so we need to account for it when moving
20356
+ * and counting style.
20357
+ * It return always 1 for text and Itext. Textbox has its own implementation
20358
+ * @return Number
20329
20359
  */
20330
20360
 
20331
20361
  missingNewlineOffset(_lineIndex) {
20332
20362
  return 1;
20333
20363
  }
20334
20364
 
20335
- /**
20336
- * Returns 2d representation (lineIndex and charIndex) of cursor
20337
- * @param {Number} selectionStart
20338
- * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
20365
+ /**
20366
+ * Returns 2d representation (lineIndex and charIndex) of cursor
20367
+ * @param {Number} selectionStart
20368
+ * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
20339
20369
  */
20340
20370
  get2DCursorLocation(selectionStart, skipWrapping) {
20341
20371
  const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
@@ -20355,24 +20385,24 @@ class FabricText extends StyledText {
20355
20385
  };
20356
20386
  }
20357
20387
 
20358
- /**
20359
- * Returns string representation of an instance
20360
- * @return {String} String representation of text object
20388
+ /**
20389
+ * Returns string representation of an instance
20390
+ * @return {String} String representation of text object
20361
20391
  */
20362
20392
  toString() {
20363
20393
  return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
20364
20394
  }
20365
20395
 
20366
- /**
20367
- * Return the dimension and the zoom level needed to create a cache canvas
20368
- * big enough to host the object to be cached.
20369
- * @private
20370
- * @param {Object} dim.x width of object to be cached
20371
- * @param {Object} dim.y height of object to be cached
20372
- * @return {Object}.width width of canvas
20373
- * @return {Object}.height height of canvas
20374
- * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
20375
- * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
20396
+ /**
20397
+ * Return the dimension and the zoom level needed to create a cache canvas
20398
+ * big enough to host the object to be cached.
20399
+ * @private
20400
+ * @param {Object} dim.x width of object to be cached
20401
+ * @param {Object} dim.y height of object to be cached
20402
+ * @return {Object}.width width of canvas
20403
+ * @return {Object}.height height of canvas
20404
+ * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
20405
+ * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
20376
20406
  */
20377
20407
  _getCacheCanvasDimensions() {
20378
20408
  const dims = super._getCacheCanvasDimensions();
@@ -20382,9 +20412,9 @@ class FabricText extends StyledText {
20382
20412
  return dims;
20383
20413
  }
20384
20414
 
20385
- /**
20386
- * @private
20387
- * @param {CanvasRenderingContext2D} ctx Context to render on
20415
+ /**
20416
+ * @private
20417
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20388
20418
  */
20389
20419
  _render(ctx) {
20390
20420
  const path = this.path;
@@ -20397,9 +20427,9 @@ class FabricText extends StyledText {
20397
20427
  this._renderTextDecoration(ctx, 'linethrough');
20398
20428
  }
20399
20429
 
20400
- /**
20401
- * @private
20402
- * @param {CanvasRenderingContext2D} ctx Context to render on
20430
+ /**
20431
+ * @private
20432
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20403
20433
  */
20404
20434
  _renderText(ctx) {
20405
20435
  // Skip text rendering if in overlay editing mode
@@ -20415,15 +20445,15 @@ class FabricText extends StyledText {
20415
20445
  }
20416
20446
  }
20417
20447
 
20418
- /**
20419
- * Set the font parameter of the context with the object properties or with charStyle
20420
- * @private
20421
- * @param {CanvasRenderingContext2D} ctx Context to render on
20422
- * @param {Object} [charStyle] object with font style properties
20423
- * @param {String} [charStyle.fontFamily] Font Family
20424
- * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
20425
- * @param {String} [charStyle.fontWeight] Font weight
20426
- * @param {String} [charStyle.fontStyle] Font style (italic|normal)
20448
+ /**
20449
+ * Set the font parameter of the context with the object properties or with charStyle
20450
+ * @private
20451
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20452
+ * @param {Object} [charStyle] object with font style properties
20453
+ * @param {String} [charStyle.fontFamily] Font Family
20454
+ * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
20455
+ * @param {String} [charStyle.fontWeight] Font weight
20456
+ * @param {String} [charStyle.fontStyle] Font style (italic|normal)
20427
20457
  */
20428
20458
  _setTextStyles(ctx, charStyle, forMeasuring) {
20429
20459
  ctx.textBaseline = 'alphabetic';
@@ -20443,11 +20473,11 @@ class FabricText extends StyledText {
20443
20473
  ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
20444
20474
  }
20445
20475
 
20446
- /**
20447
- * calculate and return the text Width measuring each line.
20448
- * @private
20449
- * @param {CanvasRenderingContext2D} ctx Context to render on
20450
- * @return {Number} Maximum width of Text object
20476
+ /**
20477
+ * calculate and return the text Width measuring each line.
20478
+ * @private
20479
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20480
+ * @return {Number} Maximum width of Text object
20451
20481
  */
20452
20482
  calcTextWidth() {
20453
20483
  let maxWidth = this.getLineWidth(0);
@@ -20460,23 +20490,23 @@ class FabricText extends StyledText {
20460
20490
  return maxWidth;
20461
20491
  }
20462
20492
 
20463
- /**
20464
- * @private
20465
- * @param {String} method Method name ("fillText" or "strokeText")
20466
- * @param {CanvasRenderingContext2D} ctx Context to render on
20467
- * @param {String} line Text to render
20468
- * @param {Number} left Left position of text
20469
- * @param {Number} top Top position of text
20470
- * @param {Number} lineIndex Index of a line in a text
20493
+ /**
20494
+ * @private
20495
+ * @param {String} method Method name ("fillText" or "strokeText")
20496
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20497
+ * @param {String} line Text to render
20498
+ * @param {Number} left Left position of text
20499
+ * @param {Number} top Top position of text
20500
+ * @param {Number} lineIndex Index of a line in a text
20471
20501
  */
20472
20502
  _renderTextLine(method, ctx, line, left, top, lineIndex) {
20473
20503
  this._renderChars(method, ctx, line, left, top, lineIndex);
20474
20504
  }
20475
20505
 
20476
- /**
20477
- * Renders the text background for lines, taking care of style
20478
- * @private
20479
- * @param {CanvasRenderingContext2D} ctx Context to render on
20506
+ /**
20507
+ * Renders the text background for lines, taking care of style
20508
+ * @private
20509
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20480
20510
  */
20481
20511
  _renderTextLinesBackground(ctx) {
20482
20512
  if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
@@ -20539,15 +20569,15 @@ class FabricText extends StyledText {
20539
20569
  this._removeShadow(ctx);
20540
20570
  }
20541
20571
 
20542
- /**
20543
- * measure and return the width of a single character.
20544
- * possibly overridden to accommodate different measure logic or
20545
- * to hook some external lib for character measurement
20546
- * @private
20547
- * @param {String} _char, char to be measured
20548
- * @param {Object} charStyle style of char to be measured
20549
- * @param {String} [previousChar] previous char
20550
- * @param {Object} [prevCharStyle] style of previous char
20572
+ /**
20573
+ * measure and return the width of a single character.
20574
+ * possibly overridden to accommodate different measure logic or
20575
+ * to hook some external lib for character measurement
20576
+ * @private
20577
+ * @param {String} _char, char to be measured
20578
+ * @param {Object} charStyle style of char to be measured
20579
+ * @param {String} [previousChar] previous char
20580
+ * @param {Object} [prevCharStyle] style of previous char
20551
20581
  */
20552
20582
  _measureChar(_char, charStyle, previousChar, prevCharStyle) {
20553
20583
  const fontCache = cache.getFontCache(charStyle),
@@ -20592,19 +20622,19 @@ class FabricText extends StyledText {
20592
20622
  };
20593
20623
  }
20594
20624
 
20595
- /**
20596
- * Computes height of character at given position
20597
- * @param {Number} line the line index number
20598
- * @param {Number} _char the character index number
20599
- * @return {Number} fontSize of the character
20625
+ /**
20626
+ * Computes height of character at given position
20627
+ * @param {Number} line the line index number
20628
+ * @param {Number} _char the character index number
20629
+ * @return {Number} fontSize of the character
20600
20630
  */
20601
20631
  getHeightOfChar(line, _char) {
20602
20632
  return this.getValueOfPropertyAt(line, _char, 'fontSize');
20603
20633
  }
20604
20634
 
20605
- /**
20606
- * measure a text line measuring all characters.
20607
- * @param {Number} lineIndex line number
20635
+ /**
20636
+ * measure a text line measuring all characters.
20637
+ * @param {Number} lineIndex line number
20608
20638
  */
20609
20639
  measureLine(lineIndex) {
20610
20640
  const lineInfo = this._measureLine(lineIndex);
@@ -20617,11 +20647,11 @@ class FabricText extends StyledText {
20617
20647
  return lineInfo;
20618
20648
  }
20619
20649
 
20620
- /**
20621
- * measure every grapheme of a line, populating __charBounds
20622
- * @param {Number} lineIndex
20623
- * @return {Object} object.width total width of characters
20624
- * @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
20650
+ /**
20651
+ * measure every grapheme of a line, populating __charBounds
20652
+ * @param {Number} lineIndex
20653
+ * @return {Object} object.width total width of characters
20654
+ * @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
20625
20655
  */
20626
20656
  _measureLine(lineIndex) {
20627
20657
  let width = 0,
@@ -20684,13 +20714,13 @@ class FabricText extends StyledText {
20684
20714
  };
20685
20715
  }
20686
20716
 
20687
- /**
20688
- * Calculate the angle and the left,top position of the char that follow a path.
20689
- * It appends it to graphemeInfo to be reused later at rendering
20690
- * @private
20691
- * @param {Number} positionInPath to be measured
20692
- * @param {GraphemeBBox} graphemeInfo current grapheme box information
20693
- * @param {Object} startingPoint position of the point
20717
+ /**
20718
+ * Calculate the angle and the left,top position of the char that follow a path.
20719
+ * It appends it to graphemeInfo to be reused later at rendering
20720
+ * @private
20721
+ * @param {Number} positionInPath to be measured
20722
+ * @param {GraphemeBBox} graphemeInfo current grapheme box information
20723
+ * @param {Object} startingPoint position of the point
20694
20724
  */
20695
20725
  _setGraphemeOnPath(positionInPath, graphemeInfo) {
20696
20726
  const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
@@ -20703,13 +20733,13 @@ class FabricText extends StyledText {
20703
20733
  graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
20704
20734
  }
20705
20735
 
20706
- /**
20707
- *
20708
- * @param {String} grapheme to be measured
20709
- * @param {Number} lineIndex index of the line where the char is
20710
- * @param {Number} charIndex position in the line
20711
- * @param {String} [prevGrapheme] character preceding the one to be measured
20712
- * @returns {GraphemeBBox} grapheme bbox
20736
+ /**
20737
+ *
20738
+ * @param {String} grapheme to be measured
20739
+ * @param {Number} lineIndex index of the line where the char is
20740
+ * @param {Number} charIndex position in the line
20741
+ * @param {String} [prevGrapheme] character preceding the one to be measured
20742
+ * @returns {GraphemeBBox} grapheme bbox
20713
20743
  */
20714
20744
  _getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
20715
20745
  const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
@@ -20737,10 +20767,10 @@ class FabricText extends StyledText {
20737
20767
  return box;
20738
20768
  }
20739
20769
 
20740
- /**
20741
- * Calculate height of line at 'lineIndex'
20742
- * @param {Number} lineIndex index of line to calculate
20743
- * @return {Number}
20770
+ /**
20771
+ * Calculate height of line at 'lineIndex'
20772
+ * @param {Number} lineIndex index of line to calculate
20773
+ * @return {Number}
20744
20774
  */
20745
20775
  getHeightOfLine(lineIndex) {
20746
20776
  if (this.__lineHeights[lineIndex]) {
@@ -20756,8 +20786,8 @@ class FabricText extends StyledText {
20756
20786
  return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
20757
20787
  }
20758
20788
 
20759
- /**
20760
- * Calculate text box height
20789
+ /**
20790
+ * Calculate text box height
20761
20791
  */
20762
20792
  calcTextHeight() {
20763
20793
  let lineHeight,
@@ -20769,26 +20799,26 @@ class FabricText extends StyledText {
20769
20799
  return height;
20770
20800
  }
20771
20801
 
20772
- /**
20773
- * @private
20774
- * @return {Number} Left offset
20802
+ /**
20803
+ * @private
20804
+ * @return {Number} Left offset
20775
20805
  */
20776
20806
  _getLeftOffset() {
20777
20807
  return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
20778
20808
  }
20779
20809
 
20780
- /**
20781
- * @private
20782
- * @return {Number} Top offset
20810
+ /**
20811
+ * @private
20812
+ * @return {Number} Top offset
20783
20813
  */
20784
20814
  _getTopOffset() {
20785
20815
  return -this.height / 2;
20786
20816
  }
20787
20817
 
20788
- /**
20789
- * @private
20790
- * @param {CanvasRenderingContext2D} ctx Context to render on
20791
- * @param {String} method Method name ("fillText" or "strokeText")
20818
+ /**
20819
+ * @private
20820
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20821
+ * @param {String} method Method name ("fillText" or "strokeText")
20792
20822
  */
20793
20823
  _renderTextCommon(ctx, method) {
20794
20824
  ctx.save();
@@ -20805,9 +20835,9 @@ class FabricText extends StyledText {
20805
20835
  ctx.restore();
20806
20836
  }
20807
20837
 
20808
- /**
20809
- * @private
20810
- * @param {CanvasRenderingContext2D} ctx Context to render on
20838
+ /**
20839
+ * @private
20840
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20811
20841
  */
20812
20842
  _renderTextFill(ctx) {
20813
20843
  if (!this.fill && !this.styleHas(FILL)) {
@@ -20816,9 +20846,9 @@ class FabricText extends StyledText {
20816
20846
  this._renderTextCommon(ctx, 'fillText');
20817
20847
  }
20818
20848
 
20819
- /**
20820
- * @private
20821
- * @param {CanvasRenderingContext2D} ctx Context to render on
20849
+ /**
20850
+ * @private
20851
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20822
20852
  */
20823
20853
  _renderTextStroke(ctx) {
20824
20854
  if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
@@ -20835,14 +20865,14 @@ class FabricText extends StyledText {
20835
20865
  ctx.restore();
20836
20866
  }
20837
20867
 
20838
- /**
20839
- * @private
20840
- * @param {String} method fillText or strokeText.
20841
- * @param {CanvasRenderingContext2D} ctx Context to render on
20842
- * @param {Array} line Content of the line, splitted in an array by grapheme
20843
- * @param {Number} left
20844
- * @param {Number} top
20845
- * @param {Number} lineIndex
20868
+ /**
20869
+ * @private
20870
+ * @param {String} method fillText or strokeText.
20871
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20872
+ * @param {Array} line Content of the line, splitted in an array by grapheme
20873
+ * @param {Number} left
20874
+ * @param {Number} top
20875
+ * @param {Number} lineIndex
20846
20876
  */
20847
20877
  _renderChars(method, ctx, line, left, top, lineIndex) {
20848
20878
  const lineHeight = this.getHeightOfLine(lineIndex),
@@ -20865,7 +20895,15 @@ class FabricText extends StyledText {
20865
20895
  if (currentDirection !== this.direction) {
20866
20896
  ctx.canvas.setAttribute('dir', isLtr ? 'ltr' : 'rtl');
20867
20897
  ctx.direction = isLtr ? 'ltr' : 'rtl';
20868
- ctx.textAlign = isLtr ? LEFT : RIGHT;
20898
+
20899
+ // For justify alignments, we need to set the correct canvas text alignment
20900
+ // This is crucial for RTL text to render in the correct order
20901
+ if (isJustify) {
20902
+ // Justify uses LEFT alignment as a base, letting the character positioning handle justification
20903
+ ctx.textAlign = LEFT;
20904
+ } else {
20905
+ ctx.textAlign = isLtr ? LEFT : RIGHT;
20906
+ }
20869
20907
  }
20870
20908
  top -= lineHeight * this._fontSizeFraction / this.lineHeight;
20871
20909
  if (shortCut) {
@@ -20916,16 +20954,16 @@ class FabricText extends StyledText {
20916
20954
  ctx.restore();
20917
20955
  }
20918
20956
 
20919
- /**
20920
- * This function try to patch the missing gradientTransform on canvas gradients.
20921
- * transforming a context to transform the gradient, is going to transform the stroke too.
20922
- * we want to transform the gradient but not the stroke operation, so we create
20923
- * a transformed gradient on a pattern and then we use the pattern instead of the gradient.
20924
- * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
20925
- * is limited.
20926
- * @private
20927
- * @param {TFiller} filler a fabric gradient instance
20928
- * @return {CanvasPattern} a pattern to use as fill/stroke style
20957
+ /**
20958
+ * This function try to patch the missing gradientTransform on canvas gradients.
20959
+ * transforming a context to transform the gradient, is going to transform the stroke too.
20960
+ * we want to transform the gradient but not the stroke operation, so we create
20961
+ * a transformed gradient on a pattern and then we use the pattern instead of the gradient.
20962
+ * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
20963
+ * is limited.
20964
+ * @private
20965
+ * @param {TFiller} filler a fabric gradient instance
20966
+ * @return {CanvasPattern} a pattern to use as fill/stroke style
20929
20967
  */
20930
20968
  _applyPatternGradientTransformText(filler) {
20931
20969
  // TODO: verify compatibility with strokeUniform
@@ -20981,12 +21019,12 @@ class FabricText extends StyledText {
20981
21019
  };
20982
21020
  }
20983
21021
 
20984
- /**
20985
- * This function prepare the canvas for a stroke style, and stroke and strokeWidth
20986
- * need to be sent in as defined
20987
- * @param {CanvasRenderingContext2D} ctx
20988
- * @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
20989
- * @returns
21022
+ /**
21023
+ * This function prepare the canvas for a stroke style, and stroke and strokeWidth
21024
+ * need to be sent in as defined
21025
+ * @param {CanvasRenderingContext2D} ctx
21026
+ * @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
21027
+ * @returns
20990
21028
  */
20991
21029
  _setStrokeStyles(ctx, _ref) {
20992
21030
  let {
@@ -21001,12 +21039,12 @@ class FabricText extends StyledText {
21001
21039
  return this.handleFiller(ctx, 'strokeStyle', stroke);
21002
21040
  }
21003
21041
 
21004
- /**
21005
- * This function prepare the canvas for a ill style, and fill
21006
- * need to be sent in as defined
21007
- * @param {CanvasRenderingContext2D} ctx
21008
- * @param {CompleteTextStyleDeclaration} style with ill defined
21009
- * @returns
21042
+ /**
21043
+ * This function prepare the canvas for a ill style, and fill
21044
+ * need to be sent in as defined
21045
+ * @param {CanvasRenderingContext2D} ctx
21046
+ * @param {CompleteTextStyleDeclaration} style with ill defined
21047
+ * @returns
21010
21048
  */
21011
21049
  _setFillStyles(ctx, _ref2) {
21012
21050
  let {
@@ -21015,16 +21053,16 @@ class FabricText extends StyledText {
21015
21053
  return this.handleFiller(ctx, 'fillStyle', fill);
21016
21054
  }
21017
21055
 
21018
- /**
21019
- * @private
21020
- * @param {String} method
21021
- * @param {CanvasRenderingContext2D} ctx Context to render on
21022
- * @param {Number} lineIndex
21023
- * @param {Number} charIndex
21024
- * @param {String} _char
21025
- * @param {Number} left Left coordinate
21026
- * @param {Number} top Top coordinate
21027
- * @param {Number} lineHeight Height of the line
21056
+ /**
21057
+ * @private
21058
+ * @param {String} method
21059
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21060
+ * @param {Number} lineIndex
21061
+ * @param {Number} charIndex
21062
+ * @param {String} _char
21063
+ * @param {Number} left Left coordinate
21064
+ * @param {Number} top Top coordinate
21065
+ * @param {Number} lineHeight Height of the line
21028
21066
  */
21029
21067
  _renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
21030
21068
  const decl = this._getStyleDeclaration(lineIndex, charIndex),
@@ -21053,30 +21091,30 @@ class FabricText extends StyledText {
21053
21091
  ctx.restore();
21054
21092
  }
21055
21093
 
21056
- /**
21057
- * Turns the character into a 'superior figure' (i.e. 'superscript')
21058
- * @param {Number} start selection start
21059
- * @param {Number} end selection end
21094
+ /**
21095
+ * Turns the character into a 'superior figure' (i.e. 'superscript')
21096
+ * @param {Number} start selection start
21097
+ * @param {Number} end selection end
21060
21098
  */
21061
21099
  setSuperscript(start, end) {
21062
21100
  this._setScript(start, end, this.superscript);
21063
21101
  }
21064
21102
 
21065
- /**
21066
- * Turns the character into an 'inferior figure' (i.e. 'subscript')
21067
- * @param {Number} start selection start
21068
- * @param {Number} end selection end
21103
+ /**
21104
+ * Turns the character into an 'inferior figure' (i.e. 'subscript')
21105
+ * @param {Number} start selection start
21106
+ * @param {Number} end selection end
21069
21107
  */
21070
21108
  setSubscript(start, end) {
21071
21109
  this._setScript(start, end, this.subscript);
21072
21110
  }
21073
21111
 
21074
- /**
21075
- * Applies 'schema' at given position
21076
- * @private
21077
- * @param {Number} start selection start
21078
- * @param {Number} end selection end
21079
- * @param {Number} schema
21112
+ /**
21113
+ * Applies 'schema' at given position
21114
+ * @private
21115
+ * @param {Number} start selection start
21116
+ * @param {Number} end selection end
21117
+ * @param {Number} schema
21080
21118
  */
21081
21119
  _setScript(start, end, schema) {
21082
21120
  const loc = this.get2DCursorLocation(start, true),
@@ -21089,10 +21127,10 @@ class FabricText extends StyledText {
21089
21127
  this.setSelectionStyles(style, start, end);
21090
21128
  }
21091
21129
 
21092
- /**
21093
- * @private
21094
- * @param {Number} lineIndex index text line
21095
- * @return {Number} Line left offset
21130
+ /**
21131
+ * @private
21132
+ * @param {Number} lineIndex index text line
21133
+ * @return {Number} Line left offset
21096
21134
  */
21097
21135
  _getLineLeftOffset(lineIndex) {
21098
21136
  const lineWidth = this.getLineWidth(lineIndex),
@@ -21101,9 +21139,21 @@ class FabricText extends StyledText {
21101
21139
  direction = this.direction,
21102
21140
  isEndOfWrapping = this.isEndOfWrapping(lineIndex);
21103
21141
  let leftOffset = 0;
21104
- if (textAlign === JUSTIFY || textAlign === JUSTIFY_CENTER && !isEndOfWrapping || textAlign === JUSTIFY_RIGHT && !isEndOfWrapping || textAlign === JUSTIFY_LEFT && !isEndOfWrapping) {
21105
- return 0;
21142
+
21143
+ // Handle justify alignments (excluding last lines and wrapped line ends)
21144
+ const isJustifyLine = textAlign === JUSTIFY || textAlign === JUSTIFY_CENTER && !isEndOfWrapping || textAlign === JUSTIFY_RIGHT && !isEndOfWrapping || textAlign === JUSTIFY_LEFT && !isEndOfWrapping;
21145
+ if (isJustifyLine) {
21146
+ // Justify lines should start at the left edge for LTR and right edge for RTL
21147
+ // The space distribution is handled by enlargeSpaces()
21148
+ if (direction === 'rtl') {
21149
+ // For RTL justify, we need to account for the line being right-aligned
21150
+ return 0;
21151
+ } else {
21152
+ return 0;
21153
+ }
21106
21154
  }
21155
+
21156
+ // Handle non-justify alignments
21107
21157
  if (textAlign === CENTER) {
21108
21158
  leftOffset = lineDiff / 2;
21109
21159
  }
@@ -21116,6 +21166,8 @@ class FabricText extends StyledText {
21116
21166
  if (textAlign === JUSTIFY_RIGHT) {
21117
21167
  leftOffset = lineDiff;
21118
21168
  }
21169
+
21170
+ // Apply RTL adjustments for non-justify alignments
21119
21171
  if (direction === 'rtl') {
21120
21172
  if (textAlign === RIGHT || textAlign === JUSTIFY || textAlign === JUSTIFY_RIGHT) {
21121
21173
  leftOffset = 0;
@@ -21128,8 +21180,8 @@ class FabricText extends StyledText {
21128
21180
  return leftOffset;
21129
21181
  }
21130
21182
 
21131
- /**
21132
- * @private
21183
+ /**
21184
+ * @private
21133
21185
  */
21134
21186
  _clearCache() {
21135
21187
  this._forceClearCache = false;
@@ -21138,12 +21190,12 @@ class FabricText extends StyledText {
21138
21190
  this.__charBounds = [];
21139
21191
  }
21140
21192
 
21141
- /**
21142
- * Measure a single line given its index. Used to calculate the initial
21143
- * text bounding box. The values are calculated and stored in __lineWidths cache.
21144
- * @private
21145
- * @param {Number} lineIndex line number
21146
- * @return {Number} Line width
21193
+ /**
21194
+ * Measure a single line given its index. Used to calculate the initial
21195
+ * text bounding box. The values are calculated and stored in __lineWidths cache.
21196
+ * @private
21197
+ * @param {Number} lineIndex line number
21198
+ * @return {Number} Line width
21147
21199
  */
21148
21200
  getLineWidth(lineIndex) {
21149
21201
  if (this.__lineWidths[lineIndex] !== undefined) {
@@ -21162,12 +21214,12 @@ class FabricText extends StyledText {
21162
21214
  return 0;
21163
21215
  }
21164
21216
 
21165
- /**
21166
- * Retrieves the value of property at given character position
21167
- * @param {Number} lineIndex the line number
21168
- * @param {Number} charIndex the character number
21169
- * @param {String} property the property name
21170
- * @returns the value of 'property'
21217
+ /**
21218
+ * Retrieves the value of property at given character position
21219
+ * @param {Number} lineIndex the line number
21220
+ * @param {Number} charIndex the character number
21221
+ * @param {String} property the property name
21222
+ * @returns the value of 'property'
21171
21223
  */
21172
21224
  getValueOfPropertyAt(lineIndex, charIndex, property) {
21173
21225
  var _charStyle$property;
@@ -21175,9 +21227,9 @@ class FabricText extends StyledText {
21175
21227
  return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
21176
21228
  }
21177
21229
 
21178
- /**
21179
- * @private
21180
- * @param {CanvasRenderingContext2D} ctx Context to render on
21230
+ /**
21231
+ * @private
21232
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21181
21233
  */
21182
21234
  _renderTextDecoration(ctx, type) {
21183
21235
  if (!this[type] && !this.styleHas(type)) {
@@ -21261,10 +21313,10 @@ class FabricText extends StyledText {
21261
21313
  this._removeShadow(ctx);
21262
21314
  }
21263
21315
 
21264
- /**
21265
- * return font declaration string for canvas context
21266
- * @param {Object} [styleObject] object
21267
- * @returns {String} font declaration formatted for canvas context.
21316
+ /**
21317
+ * return font declaration string for canvas context
21318
+ * @param {Object} [styleObject] object
21319
+ * @returns {String} font declaration formatted for canvas context.
21268
21320
  */
21269
21321
  _getFontDeclaration() {
21270
21322
  let {
@@ -21278,9 +21330,9 @@ class FabricText extends StyledText {
21278
21330
  return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
21279
21331
  }
21280
21332
 
21281
- /**
21282
- * Renders text instance on a specified context
21283
- * @param {CanvasRenderingContext2D} ctx Context to render on
21333
+ /**
21334
+ * Renders text instance on a specified context
21335
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21284
21336
  */
21285
21337
  render(ctx) {
21286
21338
  if (!this.visible) {
@@ -21295,22 +21347,22 @@ class FabricText extends StyledText {
21295
21347
  super.render(ctx);
21296
21348
  }
21297
21349
 
21298
- /**
21299
- * Override this method to customize grapheme splitting
21300
- * @todo the util `graphemeSplit` needs to be injectable in some way.
21301
- * is more comfortable to inject the correct util rather than having to override text
21302
- * in the middle of the prototype chain
21303
- * @param {string} value
21304
- * @returns {string[]} array of graphemes
21350
+ /**
21351
+ * Override this method to customize grapheme splitting
21352
+ * @todo the util `graphemeSplit` needs to be injectable in some way.
21353
+ * is more comfortable to inject the correct util rather than having to override text
21354
+ * in the middle of the prototype chain
21355
+ * @param {string} value
21356
+ * @returns {string[]} array of graphemes
21305
21357
  */
21306
21358
  graphemeSplit(value) {
21307
21359
  return graphemeSplit(value);
21308
21360
  }
21309
21361
 
21310
- /**
21311
- * Returns the text as an array of lines.
21312
- * @param {String} text text to split
21313
- * @returns Lines in the text
21362
+ /**
21363
+ * Returns the text as an array of lines.
21364
+ * @param {String} text text to split
21365
+ * @returns Lines in the text
21314
21366
  */
21315
21367
  _splitTextIntoLines(text) {
21316
21368
  const lines = text.split(this._reNewline),
@@ -21330,10 +21382,10 @@ class FabricText extends StyledText {
21330
21382
  };
21331
21383
  }
21332
21384
 
21333
- /**
21334
- * Returns object representation of an instance
21335
- * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
21336
- * @return {Object} Object representation of an instance
21385
+ /**
21386
+ * Returns object representation of an instance
21387
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
21388
+ * @return {Object} Object representation of an instance
21337
21389
  */
21338
21390
  toObject() {
21339
21391
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -21376,23 +21428,23 @@ class FabricText extends StyledText {
21376
21428
  return this;
21377
21429
  }
21378
21430
 
21379
- /**
21380
- * Returns complexity of an instance
21381
- * @return {Number} complexity
21431
+ /**
21432
+ * Returns complexity of an instance
21433
+ * @return {Number} complexity
21382
21434
  */
21383
21435
  complexity() {
21384
21436
  return 1;
21385
21437
  }
21386
21438
 
21387
- /**
21388
- * List of generic font families
21389
- * @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
21439
+ /**
21440
+ * List of generic font families
21441
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
21390
21442
  */
21391
21443
 
21392
- /**
21393
- * Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
21394
- * @param {HTMLElement} element Element to parse
21395
- * @param {Object} [options] Options object
21444
+ /**
21445
+ * Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
21446
+ * @param {HTMLElement} element Element to parse
21447
+ * @param {Object} [options] Options object
21396
21448
  */
21397
21449
  static async fromElement(element, options, cssRules) {
21398
21450
  const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
@@ -21431,10 +21483,10 @@ class FabricText extends StyledText {
21431
21483
  scaledDiff = lineHeightDiff * textHeightScaleFactor,
21432
21484
  textHeight = text.getScaledHeight() + scaledDiff;
21433
21485
  let offX = 0;
21434
- /*
21435
- Adjust positioning:
21436
- x/y attributes in SVG correspond to the bottom-left corner of text bounding box
21437
- fabric output by default at top, left.
21486
+ /*
21487
+ Adjust positioning:
21488
+ x/y attributes in SVG correspond to the bottom-left corner of text bounding box
21489
+ fabric output by default at top, left.
21438
21490
  */
21439
21491
  if (textAnchor === CENTER) {
21440
21492
  offX = text.getScaledWidth() / 2;
@@ -21452,10 +21504,10 @@ class FabricText extends StyledText {
21452
21504
 
21453
21505
  /* _FROM_SVG_END_ */
21454
21506
 
21455
- /**
21456
- * Returns FabricText instance from an object representation
21457
- * @param {Object} object plain js Object to create an instance from
21458
- * @returns {Promise<FabricText>}
21507
+ /**
21508
+ * Returns FabricText instance from an object representation
21509
+ * @param {Object} object plain js Object to create an instance from
21510
+ * @returns {Promise<FabricText>}
21459
21511
  */
21460
21512
  static fromObject(object) {
21461
21513
  return this._fromObject({
@@ -21466,10 +21518,10 @@ class FabricText extends StyledText {
21466
21518
  });
21467
21519
  }
21468
21520
  }
21469
- /**
21470
- * Properties that requires a text layout recalculation when changed
21471
- * @type string[]
21472
- * @protected
21521
+ /**
21522
+ * Properties that requires a text layout recalculation when changed
21523
+ * @type string[]
21524
+ * @protected
21473
21525
  */
21474
21526
  _defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
21475
21527
  _defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
@@ -21477,9 +21529,9 @@ _defineProperty(FabricText, "ownDefaults", textDefaultValues);
21477
21529
  _defineProperty(FabricText, "type", 'Text');
21478
21530
  _defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
21479
21531
  /* _FROM_SVG_START_ */
21480
- /**
21481
- * List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
21482
- * @see: http://www.w3.org/TR/SVG/text.html#TextElement
21532
+ /**
21533
+ * List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
21534
+ * @see: http://www.w3.org/TR/SVG/text.html#TextElement
21483
21535
  */
21484
21536
  _defineProperty(FabricText, "ATTRIBUTE_NAMES", SHARED_ATTRIBUTES.concat('x', 'y', 'dx', 'dy', 'font-family', 'font-style', 'font-weight', 'font-size', 'letter-spacing', 'text-decoration', 'text-anchor'));
21485
21537
  applyMixins(FabricText, [TextSVGExportMixin]);
@@ -21866,8 +21918,8 @@ class OverlayEditor {
21866
21918
  // We don't need to save/restore them here as it would conflict with IText's restoration
21867
21919
  }
21868
21920
 
21869
- /**
21870
- * Get the container element for the overlay (parent of upperCanvasEl)
21921
+ /**
21922
+ * Get the container element for the overlay (parent of upperCanvasEl)
21871
21923
  */
21872
21924
  getCanvasContainer() {
21873
21925
  const upperCanvas = this.canvas.upperCanvasEl;
@@ -21881,8 +21933,8 @@ class OverlayEditor {
21881
21933
  return container;
21882
21934
  }
21883
21935
 
21884
- /**
21885
- * Create the overlay DOM structure
21936
+ /**
21937
+ * Create the overlay DOM structure
21886
21938
  */
21887
21939
  createOverlayDOM() {
21888
21940
  // Host div for positioning and overflow control
@@ -21937,8 +21989,8 @@ class OverlayEditor {
21937
21989
  document.body.appendChild(this.hostDiv);
21938
21990
  }
21939
21991
 
21940
- /**
21941
- * Attach all event listeners
21992
+ /**
21993
+ * Attach all event listeners
21942
21994
  */
21943
21995
  attachEventListeners() {
21944
21996
  // Textarea events
@@ -21958,8 +22010,8 @@ class OverlayEditor {
21958
22010
  this.setupViewportChangeDetection();
21959
22011
  }
21960
22012
 
21961
- /**
21962
- * Remove all event listeners
22013
+ /**
22014
+ * Remove all event listeners
21963
22015
  */
21964
22016
  removeEventListeners() {
21965
22017
  this.textarea.removeEventListener('input', this.boundHandlers.onInput);
@@ -21976,16 +22028,16 @@ class OverlayEditor {
21976
22028
  this.restoreViewportChangeDetection();
21977
22029
  }
21978
22030
 
21979
- /**
21980
- * Simple method to refresh positioning when canvas changes
22031
+ /**
22032
+ * Simple method to refresh positioning when canvas changes
21981
22033
  */
21982
22034
  updatePosition() {
21983
22035
  this.applyOverlayStyle();
21984
22036
  }
21985
22037
 
21986
- /**
21987
- * Update the Fabric object bounds to match current textarea size
21988
- * This ensures Fabric.js selection controls follow the growing textbox
22038
+ /**
22039
+ * Update the Fabric object bounds to match current textarea size
22040
+ * This ensures Fabric.js selection controls follow the growing textbox
21989
22041
  */
21990
22042
  updateObjectBounds() {
21991
22043
  if (this.isDestroyed) return;
@@ -22019,15 +22071,15 @@ class OverlayEditor {
22019
22071
  }
22020
22072
  }
22021
22073
 
22022
- /**
22023
- * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
22074
+ /**
22075
+ * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
22024
22076
  */
22025
22077
  letterSpacingPx(charSpacing, fontSize) {
22026
22078
  return charSpacing / 1000 * fontSize;
22027
22079
  }
22028
22080
 
22029
- /**
22030
- * Detect text direction using first strong directional character
22081
+ /**
22082
+ * Detect text direction using first strong directional character
22031
22083
  */
22032
22084
  firstStrongDir(text) {
22033
22085
  // Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
@@ -22111,13 +22163,86 @@ class OverlayEditor {
22111
22163
  this.textarea.style.fontFamily = target.fontFamily || 'Arial';
22112
22164
  this.textarea.style.fontWeight = String(target.fontWeight || 'normal');
22113
22165
  this.textarea.style.fontStyle = target.fontStyle || 'normal';
22114
- this.textarea.style.textAlign = target.textAlign || 'left';
22166
+ // Handle text alignment and justification
22167
+ const textAlign = target.textAlign || 'left';
22168
+ let cssTextAlign = textAlign;
22169
+
22170
+ // Detect text direction from content for proper justify handling
22171
+ const autoDetectedDirection = this.firstStrongDir(this.textarea.value || '');
22172
+
22173
+ // DEBUG: Log alignment details
22174
+ console.log('🔍 ALIGNMENT DEBUG:');
22175
+ console.log(' Fabric textAlign:', textAlign);
22176
+ console.log(' Fabric direction:', target.direction);
22177
+ console.log(' Text content:', JSON.stringify(target.text));
22178
+ console.log(' Detected direction:', autoDetectedDirection);
22179
+
22180
+ // Map fabric.js justify to CSS
22181
+ if (textAlign.includes('justify')) {
22182
+ // Try to match fabric.js justify behavior more precisely
22183
+ try {
22184
+ // For justify, we need to replicate fabric.js space expansion
22185
+ // Use CSS justify but with specific settings to match fabric.js better
22186
+ cssTextAlign = 'justify';
22187
+
22188
+ // Set text-align-last based on justify type and detected direction
22189
+ // Smart justify: respect detected direction even when fabric alignment doesn't match
22190
+ if (textAlign === 'justify') {
22191
+ this.textarea.style.textAlignLast = autoDetectedDirection === 'rtl' ? 'right' : 'left';
22192
+ } else if (textAlign === 'justify-left') {
22193
+ // If text is RTL but fabric says justify-left, override to justify-right for better UX
22194
+ if (autoDetectedDirection === 'rtl') {
22195
+ this.textarea.style.textAlignLast = 'right';
22196
+ console.log(' → Overrode justify-left to justify-right for RTL text');
22197
+ } else {
22198
+ this.textarea.style.textAlignLast = 'left';
22199
+ }
22200
+ } else if (textAlign === 'justify-right') {
22201
+ // If text is LTR but fabric says justify-right, override to justify-left for better UX
22202
+ if (autoDetectedDirection === 'ltr') {
22203
+ this.textarea.style.textAlignLast = 'left';
22204
+ console.log(' → Overrode justify-right to justify-left for LTR text');
22205
+ } else {
22206
+ this.textarea.style.textAlignLast = 'right';
22207
+ }
22208
+ } else if (textAlign === 'justify-center') {
22209
+ this.textarea.style.textAlignLast = 'center';
22210
+ }
22211
+
22212
+ // Enhanced justify settings for better fabric.js matching
22213
+ this.textarea.style.textJustify = 'inter-word';
22214
+ this.textarea.style.wordSpacing = 'normal';
22215
+
22216
+ // Additional CSS properties for better justify matching
22217
+ this.textarea.style.textAlign = 'justify';
22218
+ this.textarea.style.textAlignLast = this.textarea.style.textAlignLast;
22219
+
22220
+ // Try to force better justify behavior
22221
+ this.textarea.style.textJustifyTrim = 'none';
22222
+ this.textarea.style.textAutospace = 'none';
22223
+ console.log(' → Applied justify alignment:', textAlign, 'with last-line:', this.textarea.style.textAlignLast);
22224
+ } catch (error) {
22225
+ console.warn(' → Justify setup failed, falling back to standard alignment:', error);
22226
+ cssTextAlign = textAlign.replace('justify-', '').replace('justify', 'left');
22227
+ }
22228
+ } else {
22229
+ this.textarea.style.textAlignLast = 'auto';
22230
+ this.textarea.style.textJustify = 'auto';
22231
+ this.textarea.style.wordSpacing = 'normal';
22232
+ console.log(' → Applied standard alignment:', cssTextAlign);
22233
+ }
22234
+ this.textarea.style.textAlign = cssTextAlign;
22115
22235
  this.textarea.style.color = ((_target$fill = target.fill) === null || _target$fill === void 0 ? void 0 : _target$fill.toString()) || '#000';
22116
22236
  this.textarea.style.letterSpacing = `${letterSpacingPx}px`;
22117
- this.textarea.style.direction = target.direction || this.firstStrongDir(this.textarea.value || '');
22237
+
22238
+ // Use the already detected direction from above
22239
+ const fabricDirection = target.direction;
22240
+
22241
+ // Use auto-detected direction for better BiDi support, but respect fabric direction if it makes sense
22242
+ this.textarea.style.direction = autoDetectedDirection || fabricDirection || 'ltr';
22118
22243
  this.textarea.style.fontVariant = 'normal';
22119
22244
  this.textarea.style.fontStretch = 'normal';
22120
- this.textarea.style.textRendering = 'optimizeLegibility';
22245
+ this.textarea.style.textRendering = 'auto'; // Changed from 'optimizeLegibility' to match canvas
22121
22246
  this.textarea.style.fontKerning = 'normal';
22122
22247
  this.textarea.style.fontFeatureSettings = 'normal';
22123
22248
  this.textarea.style.fontVariationSettings = 'normal';
@@ -22128,20 +22253,64 @@ class OverlayEditor {
22128
22253
  this.textarea.style.overflowWrap = 'break-word';
22129
22254
  this.textarea.style.whiteSpace = 'pre-wrap';
22130
22255
  this.textarea.style.hyphens = 'none';
22131
- this.textarea.style.webkitFontSmoothing = 'antialiased';
22132
- this.textarea.style.mozOsxFontSmoothing = 'grayscale';
22133
22256
 
22134
- // Debug: Compare textarea and canvas object bounding boxes
22135
- this.debugBoundingBoxComparison();
22257
+ // DEBUG: Log final CSS properties
22258
+ console.log('🎨 FINAL TEXTAREA CSS:');
22259
+ console.log(' textAlign:', this.textarea.style.textAlign);
22260
+ console.log(' textAlignLast:', this.textarea.style.textAlignLast);
22261
+ console.log(' direction:', this.textarea.style.direction);
22262
+ console.log(' unicodeBidi:', this.textarea.style.unicodeBidi);
22263
+ console.log(' width:', this.textarea.style.width);
22264
+ console.log(' textJustify:', this.textarea.style.textJustify);
22265
+ console.log(' wordSpacing:', this.textarea.style.wordSpacing);
22266
+ console.log(' whiteSpace:', this.textarea.style.whiteSpace);
22267
+
22268
+ // If justify, log Fabric object dimensions for comparison
22269
+ if (textAlign.includes('justify')) {
22270
+ var _calcTextWidth, _ref;
22271
+ console.log('🔧 FABRIC OBJECT JUSTIFY INFO:');
22272
+ console.log(' Fabric width:', target.width);
22273
+ console.log(' Fabric calcTextWidth:', (_calcTextWidth = (_ref = target).calcTextWidth) === null || _calcTextWidth === void 0 ? void 0 : _calcTextWidth.call(_ref));
22274
+ console.log(' Fabric textAlign:', target.textAlign);
22275
+ console.log(' Text lines:', target.textLines);
22276
+ }
22277
+
22278
+ // Debug font properties matching
22279
+ console.log('🔤 FONT PROPERTIES COMPARISON:');
22280
+ console.log(' Fabric fontFamily:', target.fontFamily);
22281
+ console.log(' Fabric fontWeight:', target.fontWeight);
22282
+ console.log(' Fabric fontStyle:', target.fontStyle);
22283
+ console.log(' Fabric fontSize:', target.fontSize);
22284
+ console.log(' → Textarea fontFamily:', this.textarea.style.fontFamily);
22285
+ console.log(' → Textarea fontWeight:', this.textarea.style.fontWeight);
22286
+ console.log(' → Textarea fontStyle:', this.textarea.style.fontStyle);
22287
+ console.log(' → Textarea fontSize:', this.textarea.style.fontSize);
22288
+ console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
22136
22289
 
22137
- // Debug: Compare text wrapping behavior
22138
- this.debugTextWrapping();
22290
+ // Enhanced font rendering to better match fabric.js canvas rendering
22291
+ // Default to auto for more natural rendering
22292
+ this.textarea.style.webkitFontSmoothing = 'auto';
22293
+ this.textarea.style.mozOsxFontSmoothing = 'auto';
22294
+ this.textarea.style.fontSmooth = 'auto';
22295
+ this.textarea.style.textSizeAdjust = 'none';
22296
+
22297
+ // For bold fonts, use subpixel rendering to match canvas thickness better
22298
+ const fontWeight = String(target.fontWeight || 'normal');
22299
+ const isBold = fontWeight === 'bold' || fontWeight === '700' || parseInt(fontWeight) >= 600;
22300
+ if (isBold) {
22301
+ this.textarea.style.webkitFontSmoothing = 'subpixel-antialiased';
22302
+ this.textarea.style.mozOsxFontSmoothing = 'unset';
22303
+ console.log('🔤 Applied enhanced bold rendering for better thickness matching');
22304
+ }
22305
+ console.log('🎨 FONT SMOOTHING APPLIED:');
22306
+ console.log(' webkitFontSmoothing:', this.textarea.style.webkitFontSmoothing);
22307
+ console.log(' mozOsxFontSmoothing:', this.textarea.style.mozOsxFontSmoothing);
22139
22308
 
22140
22309
  // Initial bounds are set correctly by Fabric.js - don't force update here
22141
22310
  }
22142
22311
 
22143
- /**
22144
- * Debug method to compare textarea and canvas object bounding boxes
22312
+ /**
22313
+ * Debug method to compare textarea and canvas object bounding boxes
22145
22314
  */
22146
22315
  debugBoundingBoxComparison() {
22147
22316
  const target = this.target;
@@ -22211,8 +22380,8 @@ class OverlayEditor {
22211
22380
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
22212
22381
  }
22213
22382
 
22214
- /**
22215
- * Debug method to compare text wrapping between textarea and Fabric text object
22383
+ /**
22384
+ * Debug method to compare text wrapping between textarea and Fabric text object
22216
22385
  */
22217
22386
  debugTextWrapping() {
22218
22387
  const target = this.target;
@@ -22297,8 +22466,8 @@ class OverlayEditor {
22297
22466
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
22298
22467
  }
22299
22468
 
22300
- /**
22301
- * Focus the textarea and position cursor at end
22469
+ /**
22470
+ * Focus the textarea and position cursor at end
22302
22471
  */
22303
22472
  focusTextarea() {
22304
22473
  // For overlay editing, we want to keep the object in "selection mode" not "editing mode"
@@ -22333,8 +22502,8 @@ class OverlayEditor {
22333
22502
  this.canvas.requestRenderAll();
22334
22503
  }
22335
22504
 
22336
- /**
22337
- * Refresh overlay positioning and styling
22505
+ /**
22506
+ * Refresh overlay positioning and styling
22338
22507
  */
22339
22508
  refresh() {
22340
22509
  if (this.isDestroyed) return;
@@ -22342,8 +22511,8 @@ class OverlayEditor {
22342
22511
  // Don't update object bounds on every refresh - only when textarea actually resizes
22343
22512
  }
22344
22513
 
22345
- /**
22346
- * Destroy the overlay editor
22514
+ /**
22515
+ * Destroy the overlay editor
22347
22516
  */
22348
22517
  destroy() {
22349
22518
  let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
@@ -22370,6 +22539,23 @@ class OverlayEditor {
22370
22539
  // Handle commit/cancel after restoring visibility
22371
22540
  if (commit && !this.isComposing) {
22372
22541
  const finalText = this.textarea.value;
22542
+
22543
+ // Auto-detect text direction and update fabric object if needed
22544
+ const detectedDirection = this.firstStrongDir(finalText);
22545
+ const currentDirection = this.target.direction || 'ltr';
22546
+ if (detectedDirection && detectedDirection !== currentDirection) {
22547
+ console.log(`🔄 Overlay Exit: Auto-detected direction change from "${currentDirection}" to "${detectedDirection}"`);
22548
+ console.log(` Text content: "${finalText.substring(0, 50)}..."`);
22549
+
22550
+ // Update the fabric object's direction
22551
+ this.target.set('direction', detectedDirection);
22552
+
22553
+ // Force a re-render to apply the direction change
22554
+ this.canvas.requestRenderAll();
22555
+ console.log(`✅ Fabric object direction updated to: ${detectedDirection}`);
22556
+ } else {
22557
+ console.log(`📝 Overlay Exit: Direction unchanged (${currentDirection}), text: "${finalText.substring(0, 30)}..."`);
22558
+ }
22373
22559
  if (this.onCommit) {
22374
22560
  this.onCommit(finalText);
22375
22561
  }
@@ -22494,8 +22680,8 @@ class OverlayEditor {
22494
22680
  }
22495
22681
  }
22496
22682
 
22497
- /**
22498
- * Setup detection for viewport changes (zoom/pan)
22683
+ /**
22684
+ * Setup detection for viewport changes (zoom/pan)
22499
22685
  */
22500
22686
  setupViewportChangeDetection() {
22501
22687
  // Store original methods
@@ -22524,8 +22710,8 @@ class OverlayEditor {
22524
22710
  };
22525
22711
  }
22526
22712
 
22527
- /**
22528
- * Restore original viewport methods
22713
+ /**
22714
+ * Restore original viewport methods
22529
22715
  */
22530
22716
  restoreViewportChangeDetection() {
22531
22717
  if (this.canvas.__originalSetZoom) {
@@ -22540,8 +22726,8 @@ class OverlayEditor {
22540
22726
  }
22541
22727
  }
22542
22728
 
22543
- /**
22544
- * Enter overlay text editing mode for a text object
22729
+ /**
22730
+ * Enter overlay text editing mode for a text object
22545
22731
  */
22546
22732
  function enterTextOverlayEdit(canvas, target, options) {
22547
22733
  // If already in overlay editing, destroy existing editor first
@@ -22565,35 +22751,35 @@ function enterTextOverlayEdit(canvas, target, options) {
22565
22751
  return editor;
22566
22752
  }
22567
22753
 
22568
- /**
22569
- * extend this regex to support non english languages
22570
- *
22571
- * - ` ` Matches a SPACE character (char code 32).
22572
- * - `\n` Matches a LINE FEED character (char code 10).
22573
- * - `.` Matches a "." character (char code 46).
22574
- * - `,` Matches a "," character (char code 44).
22575
- * - `;` Matches a ";" character (char code 59).
22576
- * - `!` Matches a "!" character (char code 33).
22577
- * - `\?` Matches a "?" character (char code 63).
22578
- * - `\-` Matches a "-" character (char code 45).
22754
+ /**
22755
+ * extend this regex to support non english languages
22756
+ *
22757
+ * - ` ` Matches a SPACE character (char code 32).
22758
+ * - `\n` Matches a LINE FEED character (char code 10).
22759
+ * - `.` Matches a "." character (char code 46).
22760
+ * - `,` Matches a "," character (char code 44).
22761
+ * - `;` Matches a ";" character (char code 59).
22762
+ * - `!` Matches a "!" character (char code 33).
22763
+ * - `\?` Matches a "?" character (char code 63).
22764
+ * - `\-` Matches a "-" character (char code 45).
22579
22765
  */
22580
22766
  // eslint-disable-next-line no-useless-escape
22581
22767
  const reNonWord = /[ \n\.,;!\?\-]/;
22582
22768
  class ITextBehavior extends FabricText {
22583
22769
  constructor() {
22584
22770
  super(...arguments);
22585
- /**
22586
- * Helps determining when the text is in composition, so that the cursor
22587
- * rendering is altered.
22771
+ /**
22772
+ * Helps determining when the text is in composition, so that the cursor
22773
+ * rendering is altered.
22588
22774
  */
22589
22775
  _defineProperty(this, "_currentCursorOpacity", 1);
22590
22776
  }
22591
- /**
22592
- * Keeps track if the IText object was selected before the actual click.
22593
- * This because we want to delay enter editing by a click.
22777
+ /**
22778
+ * Keeps track if the IText object was selected before the actual click.
22779
+ * This because we want to delay enter editing by a click.
22594
22780
  */
22595
- /**
22596
- * Initializes all the interactive behavior of IText
22781
+ /**
22782
+ * Initializes all the interactive behavior of IText
22597
22783
  */
22598
22784
  initBehavior() {
22599
22785
  this._tick = this._tick.bind(this);
@@ -22606,8 +22792,8 @@ class ITextBehavior extends FabricText {
22606
22792
  return super.onDeselect(options);
22607
22793
  }
22608
22794
 
22609
- /**
22610
- * @private
22795
+ /**
22796
+ * @private
22611
22797
  */
22612
22798
  _animateCursor(_ref) {
22613
22799
  let {
@@ -22632,8 +22818,8 @@ class ITextBehavior extends FabricText {
22632
22818
  });
22633
22819
  }
22634
22820
 
22635
- /**
22636
- * changes the cursor from visible to invisible
22821
+ /**
22822
+ * changes the cursor from visible to invisible
22637
22823
  */
22638
22824
  _tick(delay) {
22639
22825
  this._currentTickState = this._animateCursor({
@@ -22644,8 +22830,8 @@ class ITextBehavior extends FabricText {
22644
22830
  });
22645
22831
  }
22646
22832
 
22647
- /**
22648
- * Changes the cursor from invisible to visible
22833
+ /**
22834
+ * Changes the cursor from invisible to visible
22649
22835
  */
22650
22836
  _onTickComplete() {
22651
22837
  var _this$_currentTickCom;
@@ -22657,16 +22843,16 @@ class ITextBehavior extends FabricText {
22657
22843
  });
22658
22844
  }
22659
22845
 
22660
- /**
22661
- * Initializes delayed cursor
22846
+ /**
22847
+ * Initializes delayed cursor
22662
22848
  */
22663
22849
  initDelayedCursor(restart) {
22664
22850
  this.abortCursorAnimation();
22665
22851
  this._tick(restart ? 0 : this.cursorDelay);
22666
22852
  }
22667
22853
 
22668
- /**
22669
- * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
22854
+ /**
22855
+ * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
22670
22856
  */
22671
22857
  abortCursorAnimation() {
22672
22858
  let shouldClear = false;
@@ -22684,9 +22870,9 @@ class ITextBehavior extends FabricText {
22684
22870
  }
22685
22871
  }
22686
22872
 
22687
- /**
22688
- * Restart tue cursor animation if either is in complete state ( between animations )
22689
- * or if it never started before
22873
+ /**
22874
+ * Restart tue cursor animation if either is in complete state ( between animations )
22875
+ * or if it never started before
22690
22876
  */
22691
22877
  restartCursorIfNeeded() {
22692
22878
  if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
@@ -22694,8 +22880,8 @@ class ITextBehavior extends FabricText {
22694
22880
  }
22695
22881
  }
22696
22882
 
22697
- /**
22698
- * Selects entire text
22883
+ /**
22884
+ * Selects entire text
22699
22885
  */
22700
22886
  selectAll() {
22701
22887
  this.selectionStart = 0;
@@ -22705,26 +22891,26 @@ class ITextBehavior extends FabricText {
22705
22891
  return this;
22706
22892
  }
22707
22893
 
22708
- /**
22709
- * Selects entire text and updates the visual state
22894
+ /**
22895
+ * Selects entire text and updates the visual state
22710
22896
  */
22711
22897
  cmdAll() {
22712
22898
  this.selectAll();
22713
22899
  this.renderCursorOrSelection();
22714
22900
  }
22715
22901
 
22716
- /**
22717
- * Returns selected text
22718
- * @return {String}
22902
+ /**
22903
+ * Returns selected text
22904
+ * @return {String}
22719
22905
  */
22720
22906
  getSelectedText() {
22721
22907
  return this._text.slice(this.selectionStart, this.selectionEnd).join('');
22722
22908
  }
22723
22909
 
22724
- /**
22725
- * Find new selection index representing start of current word according to current selection index
22726
- * @param {Number} startFrom Current selection index
22727
- * @return {Number} New selection index
22910
+ /**
22911
+ * Find new selection index representing start of current word according to current selection index
22912
+ * @param {Number} startFrom Current selection index
22913
+ * @return {Number} New selection index
22728
22914
  */
22729
22915
  findWordBoundaryLeft(startFrom) {
22730
22916
  let offset = 0,
@@ -22744,10 +22930,10 @@ class ITextBehavior extends FabricText {
22744
22930
  return startFrom - offset;
22745
22931
  }
22746
22932
 
22747
- /**
22748
- * Find new selection index representing end of current word according to current selection index
22749
- * @param {Number} startFrom Current selection index
22750
- * @return {Number} New selection index
22933
+ /**
22934
+ * Find new selection index representing end of current word according to current selection index
22935
+ * @param {Number} startFrom Current selection index
22936
+ * @return {Number} New selection index
22751
22937
  */
22752
22938
  findWordBoundaryRight(startFrom) {
22753
22939
  let offset = 0,
@@ -22767,10 +22953,10 @@ class ITextBehavior extends FabricText {
22767
22953
  return startFrom + offset;
22768
22954
  }
22769
22955
 
22770
- /**
22771
- * Find new selection index representing start of current line according to current selection index
22772
- * @param {Number} startFrom Current selection index
22773
- * @return {Number} New selection index
22956
+ /**
22957
+ * Find new selection index representing start of current line according to current selection index
22958
+ * @param {Number} startFrom Current selection index
22959
+ * @return {Number} New selection index
22774
22960
  */
22775
22961
  findLineBoundaryLeft(startFrom) {
22776
22962
  let offset = 0,
@@ -22782,10 +22968,10 @@ class ITextBehavior extends FabricText {
22782
22968
  return startFrom - offset;
22783
22969
  }
22784
22970
 
22785
- /**
22786
- * Find new selection index representing end of current line according to current selection index
22787
- * @param {Number} startFrom Current selection index
22788
- * @return {Number} New selection index
22971
+ /**
22972
+ * Find new selection index representing end of current line according to current selection index
22973
+ * @param {Number} startFrom Current selection index
22974
+ * @return {Number} New selection index
22789
22975
  */
22790
22976
  findLineBoundaryRight(startFrom) {
22791
22977
  let offset = 0,
@@ -22797,11 +22983,11 @@ class ITextBehavior extends FabricText {
22797
22983
  return startFrom + offset;
22798
22984
  }
22799
22985
 
22800
- /**
22801
- * Finds index corresponding to beginning or end of a word
22802
- * @param {Number} selectionStart Index of a character
22803
- * @param {Number} direction 1 or -1
22804
- * @return {Number} Index of the beginning or end of a word
22986
+ /**
22987
+ * Finds index corresponding to beginning or end of a word
22988
+ * @param {Number} selectionStart Index of a character
22989
+ * @param {Number} direction 1 or -1
22990
+ * @return {Number} Index of the beginning or end of a word
22805
22991
  */
22806
22992
  searchWordBoundary(selectionStart, direction) {
22807
22993
  const text = this._text;
@@ -22819,9 +23005,9 @@ class ITextBehavior extends FabricText {
22819
23005
  return index;
22820
23006
  }
22821
23007
 
22822
- /**
22823
- * Selects the word that contains the char at index selectionStart
22824
- * @param {Number} selectionStart Index of a character
23008
+ /**
23009
+ * Selects the word that contains the char at index selectionStart
23010
+ * @param {Number} selectionStart Index of a character
22825
23011
  */
22826
23012
  selectWord(selectionStart) {
22827
23013
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -22837,9 +23023,9 @@ class ITextBehavior extends FabricText {
22837
23023
  this.renderCursorOrSelection();
22838
23024
  }
22839
23025
 
22840
- /**
22841
- * Selects the line that contains selectionStart
22842
- * @param {Number} selectionStart Index of a character
23026
+ /**
23027
+ * Selects the line that contains selectionStart
23028
+ * @param {Number} selectionStart Index of a character
22843
23029
  */
22844
23030
  selectLine(selectionStart) {
22845
23031
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -22851,8 +23037,8 @@ class ITextBehavior extends FabricText {
22851
23037
  this._updateTextarea();
22852
23038
  }
22853
23039
 
22854
- /**
22855
- * Enters editing state
23040
+ /**
23041
+ * Enters editing state
22856
23042
  */
22857
23043
  enterEditing(e) {
22858
23044
  if (this.isEditing || !this.editable) {
@@ -22872,8 +23058,8 @@ class ITextBehavior extends FabricText {
22872
23058
  }
22873
23059
  }
22874
23060
 
22875
- /**
22876
- * runs the actual logic that enter from editing state, see {@link enterEditing}
23061
+ /**
23062
+ * runs the actual logic that enter from editing state, see {@link enterEditing}
22877
23063
  */
22878
23064
  enterEditingImpl() {
22879
23065
  if (this.canvas) {
@@ -22897,8 +23083,8 @@ class ITextBehavior extends FabricText {
22897
23083
  }
22898
23084
  }
22899
23085
 
22900
- /**
22901
- * Enter overlay editing mode using DOM textarea overlay
23086
+ /**
23087
+ * Enter overlay editing mode using DOM textarea overlay
22902
23088
  */
22903
23089
  enterOverlayEditing() {
22904
23090
  this._saveEditingProps();
@@ -22919,8 +23105,8 @@ class ITextBehavior extends FabricText {
22919
23105
  });
22920
23106
  }
22921
23107
 
22922
- /**
22923
- * Commit overlay editing changes
23108
+ /**
23109
+ * Commit overlay editing changes
22924
23110
  */
22925
23111
  commitOverlayEdit(text) {
22926
23112
  const overlayEditor = this.__overlayEditor;
@@ -22944,8 +23130,8 @@ class ITextBehavior extends FabricText {
22944
23130
  this.canvas && this.canvas.requestRenderAll();
22945
23131
  }
22946
23132
 
22947
- /**
22948
- * Cancel overlay editing without changes
23133
+ /**
23134
+ * Cancel overlay editing without changes
22949
23135
  */
22950
23136
  cancelOverlayEdit() {
22951
23137
  // Restore original text
@@ -22953,8 +23139,8 @@ class ITextBehavior extends FabricText {
22953
23139
  this.exitEditing();
22954
23140
  }
22955
23141
 
22956
- /**
22957
- * called by {@link Canvas#textEditingManager}
23142
+ /**
23143
+ * called by {@link Canvas#textEditingManager}
22958
23144
  */
22959
23145
  updateSelectionOnMouseMove(e) {
22960
23146
  if (this.getActiveControl()) {
@@ -22982,8 +23168,8 @@ class ITextBehavior extends FabricText {
22982
23168
  }
22983
23169
  }
22984
23170
 
22985
- /**
22986
- * @private
23171
+ /**
23172
+ * @private
22987
23173
  */
22988
23174
  _setEditingProps() {
22989
23175
  this.hoverCursor = 'text';
@@ -22995,8 +23181,8 @@ class ITextBehavior extends FabricText {
22995
23181
  this.lockMovementX = this.lockMovementY = true;
22996
23182
  }
22997
23183
 
22998
- /**
22999
- * convert from textarea to grapheme indexes
23184
+ /**
23185
+ * convert from textarea to grapheme indexes
23000
23186
  */
23001
23187
  fromStringToGraphemeSelection(start, end, text) {
23002
23188
  const smallerTextStart = text.slice(0, start),
@@ -23015,8 +23201,8 @@ class ITextBehavior extends FabricText {
23015
23201
  };
23016
23202
  }
23017
23203
 
23018
- /**
23019
- * convert from fabric to textarea values
23204
+ /**
23205
+ * convert from fabric to textarea values
23020
23206
  */
23021
23207
  fromGraphemeToStringSelection(start, end, graphemes) {
23022
23208
  const smallerTextStart = graphemes.slice(0, start),
@@ -23035,8 +23221,8 @@ class ITextBehavior extends FabricText {
23035
23221
  };
23036
23222
  }
23037
23223
 
23038
- /**
23039
- * @private
23224
+ /**
23225
+ * @private
23040
23226
  */
23041
23227
  _updateTextarea() {
23042
23228
  this.cursorOffsetCache = {};
@@ -23051,8 +23237,8 @@ class ITextBehavior extends FabricText {
23051
23237
  this.updateTextareaPosition();
23052
23238
  }
23053
23239
 
23054
- /**
23055
- * @private
23240
+ /**
23241
+ * @private
23056
23242
  */
23057
23243
  updateFromTextArea() {
23058
23244
  if (!this.hiddenTextarea) {
@@ -23072,8 +23258,8 @@ class ITextBehavior extends FabricText {
23072
23258
  this.updateTextareaPosition();
23073
23259
  }
23074
23260
 
23075
- /**
23076
- * @private
23261
+ /**
23262
+ * @private
23077
23263
  */
23078
23264
  updateTextareaPosition() {
23079
23265
  if (this.selectionStart === this.selectionEnd) {
@@ -23083,9 +23269,9 @@ class ITextBehavior extends FabricText {
23083
23269
  }
23084
23270
  }
23085
23271
 
23086
- /**
23087
- * @private
23088
- * @return {Object} style contains style for hiddenTextarea
23272
+ /**
23273
+ * @private
23274
+ * @return {Object} style contains style for hiddenTextarea
23089
23275
  */
23090
23276
  _calcTextareaPosition() {
23091
23277
  if (!this.canvas) {
@@ -23132,8 +23318,8 @@ class ITextBehavior extends FabricText {
23132
23318
  };
23133
23319
  }
23134
23320
 
23135
- /**
23136
- * @private
23321
+ /**
23322
+ * @private
23137
23323
  */
23138
23324
  _saveEditingProps() {
23139
23325
  this._savedProps = {
@@ -23150,8 +23336,8 @@ class ITextBehavior extends FabricText {
23150
23336
  };
23151
23337
  }
23152
23338
 
23153
- /**
23154
- * @private
23339
+ /**
23340
+ * @private
23155
23341
  */
23156
23342
  _restoreEditingProps() {
23157
23343
  if (!this._savedProps) {
@@ -23171,9 +23357,9 @@ class ITextBehavior extends FabricText {
23171
23357
  delete this._savedProps;
23172
23358
  }
23173
23359
 
23174
- /**
23175
- * runs the actual logic that exits from editing state, see {@link exitEditing}
23176
- * But it does not fire events
23360
+ /**
23361
+ * runs the actual logic that exits from editing state, see {@link exitEditing}
23362
+ * But it does not fire events
23177
23363
  */
23178
23364
  exitEditingImpl() {
23179
23365
  const hiddenTextarea = this.hiddenTextarea;
@@ -23194,8 +23380,8 @@ class ITextBehavior extends FabricText {
23194
23380
  }
23195
23381
  }
23196
23382
 
23197
- /**
23198
- * Exits from editing state and fires relevant events
23383
+ /**
23384
+ * Exits from editing state and fires relevant events
23199
23385
  */
23200
23386
  exitEditing() {
23201
23387
  const isTextChanged = this._textBeforeEdit !== this.text;
@@ -23214,8 +23400,8 @@ class ITextBehavior extends FabricText {
23214
23400
  return this;
23215
23401
  }
23216
23402
 
23217
- /**
23218
- * @private
23403
+ /**
23404
+ * @private
23219
23405
  */
23220
23406
  _removeExtraneousStyles() {
23221
23407
  for (const prop in this.styles) {
@@ -23225,10 +23411,10 @@ class ITextBehavior extends FabricText {
23225
23411
  }
23226
23412
  }
23227
23413
 
23228
- /**
23229
- * remove and reflow a style block from start to end.
23230
- * @param {Number} start linear start position for removal (included in removal)
23231
- * @param {Number} end linear end position for removal ( excluded from removal )
23414
+ /**
23415
+ * remove and reflow a style block from start to end.
23416
+ * @param {Number} start linear start position for removal (included in removal)
23417
+ * @param {Number} end linear end position for removal ( excluded from removal )
23232
23418
  */
23233
23419
  removeStyleFromTo(start, end) {
23234
23420
  const {
@@ -23281,10 +23467,10 @@ class ITextBehavior extends FabricText {
23281
23467
  }
23282
23468
  }
23283
23469
 
23284
- /**
23285
- * Shifts line styles up or down
23286
- * @param {Number} lineIndex Index of a line
23287
- * @param {Number} offset Can any number?
23470
+ /**
23471
+ * Shifts line styles up or down
23472
+ * @param {Number} lineIndex Index of a line
23473
+ * @param {Number} offset Can any number?
23288
23474
  */
23289
23475
  shiftLineStyles(lineIndex, offset) {
23290
23476
  const clonedStyles = Object.assign({}, this.styles);
@@ -23299,15 +23485,15 @@ class ITextBehavior extends FabricText {
23299
23485
  }
23300
23486
  }
23301
23487
 
23302
- /**
23303
- * Handle insertion of more consecutive style lines for when one or more
23304
- * newlines gets added to the text. Since current style needs to be shifted
23305
- * first we shift the current style of the number lines needed, then we add
23306
- * new lines from the last to the first.
23307
- * @param {Number} lineIndex Index of a line
23308
- * @param {Number} charIndex Index of a char
23309
- * @param {Number} qty number of lines to add
23310
- * @param {Array} copiedStyle Array of objects styles
23488
+ /**
23489
+ * Handle insertion of more consecutive style lines for when one or more
23490
+ * newlines gets added to the text. Since current style needs to be shifted
23491
+ * first we shift the current style of the number lines needed, then we add
23492
+ * new lines from the last to the first.
23493
+ * @param {Number} lineIndex Index of a line
23494
+ * @param {Number} charIndex Index of a char
23495
+ * @param {Number} qty number of lines to add
23496
+ * @param {Array} copiedStyle Array of objects styles
23311
23497
  */
23312
23498
  insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
23313
23499
  const newLineStyles = {};
@@ -23367,12 +23553,12 @@ class ITextBehavior extends FabricText {
23367
23553
  this._forceClearCache = true;
23368
23554
  }
23369
23555
 
23370
- /**
23371
- * Inserts style object for a given line/char index
23372
- * @param {Number} lineIndex Index of a line
23373
- * @param {Number} charIndex Index of a char
23374
- * @param {Number} quantity number Style object to insert, if given
23375
- * @param {Array} copiedStyle array of style objects
23556
+ /**
23557
+ * Inserts style object for a given line/char index
23558
+ * @param {Number} lineIndex Index of a line
23559
+ * @param {Number} charIndex Index of a char
23560
+ * @param {Number} quantity number Style object to insert, if given
23561
+ * @param {Array} copiedStyle array of style objects
23376
23562
  */
23377
23563
  insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
23378
23564
  if (!this.styles) {
@@ -23421,11 +23607,11 @@ class ITextBehavior extends FabricText {
23421
23607
  }
23422
23608
  }
23423
23609
 
23424
- /**
23425
- * Inserts style object(s)
23426
- * @param {Array} insertedText Characters at the location where style is inserted
23427
- * @param {Number} start cursor index for inserting style
23428
- * @param {Array} [copiedStyle] array of style objects to insert.
23610
+ /**
23611
+ * Inserts style object(s)
23612
+ * @param {Array} insertedText Characters at the location where style is inserted
23613
+ * @param {Number} start cursor index for inserting style
23614
+ * @param {Array} [copiedStyle] array of style objects to insert.
23429
23615
  */
23430
23616
  insertNewStyleBlock(insertedText, start, copiedStyle) {
23431
23617
  const cursorLoc = this.get2DCursorLocation(start, true),
@@ -23466,12 +23652,12 @@ class ITextBehavior extends FabricText {
23466
23652
  }
23467
23653
  }
23468
23654
 
23469
- /**
23470
- * Removes characters from start/end
23471
- * start/end ar per grapheme position in _text array.
23472
- *
23473
- * @param {Number} start
23474
- * @param {Number} end default to start + 1
23655
+ /**
23656
+ * Removes characters from start/end
23657
+ * start/end ar per grapheme position in _text array.
23658
+ *
23659
+ * @param {Number} start
23660
+ * @param {Number} end default to start + 1
23475
23661
  */
23476
23662
  removeChars(start) {
23477
23663
  let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
@@ -23484,17 +23670,17 @@ class ITextBehavior extends FabricText {
23484
23670
  this._removeExtraneousStyles();
23485
23671
  }
23486
23672
 
23487
- /**
23488
- * insert characters at start position, before start position.
23489
- * start equal 1 it means the text get inserted between actual grapheme 0 and 1
23490
- * if style array is provided, it must be as the same length of text in graphemes
23491
- * if end is provided and is bigger than start, old text is replaced.
23492
- * start/end ar per grapheme position in _text array.
23493
- *
23494
- * @param {String} text text to insert
23495
- * @param {Array} style array of style objects
23496
- * @param {Number} start
23497
- * @param {Number} end default to start + 1
23673
+ /**
23674
+ * insert characters at start position, before start position.
23675
+ * start equal 1 it means the text get inserted between actual grapheme 0 and 1
23676
+ * if style array is provided, it must be as the same length of text in graphemes
23677
+ * if end is provided and is bigger than start, old text is replaced.
23678
+ * start/end ar per grapheme position in _text array.
23679
+ *
23680
+ * @param {String} text text to insert
23681
+ * @param {Array} style array of style objects
23682
+ * @param {Number} start
23683
+ * @param {Number} end default to start + 1
23498
23684
  */
23499
23685
  insertChars(text, style, start) {
23500
23686
  let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
@@ -23511,9 +23697,9 @@ class ITextBehavior extends FabricText {
23511
23697
  this._removeExtraneousStyles();
23512
23698
  }
23513
23699
 
23514
- /**
23515
- * Set the selectionStart and selectionEnd according to the new position of cursor
23516
- * mimic the key - mouse navigation when shift is pressed.
23700
+ /**
23701
+ * Set the selectionStart and selectionEnd according to the new position of cursor
23702
+ * mimic the key - mouse navigation when shift is pressed.
23517
23703
  */
23518
23704
  setSelectionStartEndWithShift(start, end, newSelection) {
23519
23705
  if (newSelection <= start) {
@@ -24136,8 +24322,8 @@ class ITextKeyBehavior extends ITextBehavior {
24136
24322
  }
24137
24323
  }
24138
24324
 
24139
- /**
24140
- * `LEFT_CLICK === 0`
24325
+ /**
24326
+ * `LEFT_CLICK === 0`
24141
24327
  */
24142
24328
  const notALeftClick = e => !!e.button;
24143
24329
  class ITextClickBehavior extends ITextKeyBehavior {
@@ -24155,36 +24341,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
24155
24341
  super.initBehavior();
24156
24342
  }
24157
24343
 
24158
- /**
24159
- * If this method returns true a mouse move operation over a text selection
24160
- * will not prevent the native mouse event allowing the browser to start a drag operation.
24161
- * shouldStartDragging can be read 'do not prevent default for mouse move event'
24162
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24163
- * @returns
24344
+ /**
24345
+ * If this method returns true a mouse move operation over a text selection
24346
+ * will not prevent the native mouse event allowing the browser to start a drag operation.
24347
+ * shouldStartDragging can be read 'do not prevent default for mouse move event'
24348
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24349
+ * @returns
24164
24350
  */
24165
24351
  shouldStartDragging() {
24166
24352
  return this.draggableTextDelegate.isActive();
24167
24353
  }
24168
24354
 
24169
- /**
24170
- * @public override this method to control whether instance should/shouldn't become a drag source,
24171
- * @see also {@link DraggableTextDelegate#isActive}
24172
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24173
- * @returns {boolean} should handle event
24355
+ /**
24356
+ * @public override this method to control whether instance should/shouldn't become a drag source,
24357
+ * @see also {@link DraggableTextDelegate#isActive}
24358
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24359
+ * @returns {boolean} should handle event
24174
24360
  */
24175
24361
  onDragStart(e) {
24176
24362
  return this.draggableTextDelegate.onDragStart(e);
24177
24363
  }
24178
24364
 
24179
- /**
24180
- * @public override this method to control whether instance should/shouldn't become a drop target
24365
+ /**
24366
+ * @public override this method to control whether instance should/shouldn't become a drop target
24181
24367
  */
24182
24368
  canDrop(e) {
24183
24369
  return this.draggableTextDelegate.canDrop(e);
24184
24370
  }
24185
24371
 
24186
- /**
24187
- * Default handler for double click, select a word or enter overlay editing
24372
+ /**
24373
+ * Default handler for double click, select a word or enter overlay editing
24188
24374
  */
24189
24375
  doubleClickHandler(options) {
24190
24376
  // Check if we should enter overlay editing mode
@@ -24201,8 +24387,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
24201
24387
  this.renderCursorOrSelection();
24202
24388
  }
24203
24389
 
24204
- /**
24205
- * Default handler for triple click, select a line
24390
+ /**
24391
+ * Default handler for triple click, select a line
24206
24392
  */
24207
24393
  tripleClickHandler(options) {
24208
24394
  if (!this.isEditing) {
@@ -24212,13 +24398,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
24212
24398
  this.renderCursorOrSelection();
24213
24399
  }
24214
24400
 
24215
- /**
24216
- * Default event handler for the basic functionalities needed on _mouseDown
24217
- * can be overridden to do something different.
24218
- * Scope of this implementation is: find the click position, set selectionStart
24219
- * find selectionEnd, initialize the drawing of either cursor or selection area
24220
- * initializing a mousedDown on a text area will cancel fabricjs knowledge of
24221
- * current compositionMode. It will be set to false.
24401
+ /**
24402
+ * Default event handler for the basic functionalities needed on _mouseDown
24403
+ * can be overridden to do something different.
24404
+ * Scope of this implementation is: find the click position, set selectionStart
24405
+ * find selectionEnd, initialize the drawing of either cursor or selection area
24406
+ * initializing a mousedDown on a text area will cancel fabricjs knowledge of
24407
+ * current compositionMode. It will be set to false.
24222
24408
  */
24223
24409
  _mouseDownHandler(_ref) {
24224
24410
  let {
@@ -24246,9 +24432,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
24246
24432
  this.selected || (this.selected = alreadySelected || this.isEditing);
24247
24433
  }
24248
24434
 
24249
- /**
24250
- * standard handler for mouse up, overridable
24251
- * @private
24435
+ /**
24436
+ * standard handler for mouse up, overridable
24437
+ * @private
24252
24438
  */
24253
24439
  mouseUpHandler(_ref2) {
24254
24440
  let {
@@ -24279,9 +24465,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
24279
24465
  }
24280
24466
  }
24281
24467
 
24282
- /**
24283
- * Changes cursor location in a text depending on passed pointer (x/y) object
24284
- * @param {TPointerEvent} e Event object
24468
+ /**
24469
+ * Changes cursor location in a text depending on passed pointer (x/y) object
24470
+ * @param {TPointerEvent} e Event object
24285
24471
  */
24286
24472
  setCursorByClick(e) {
24287
24473
  const newSelection = this.getSelectionStartFromPointer(e),
@@ -24299,10 +24485,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
24299
24485
  }
24300
24486
  }
24301
24487
 
24302
- /**
24303
- * Returns index of a character corresponding to where an object was clicked
24304
- * @param {TPointerEvent} e Event object
24305
- * @return {Number} Index of a character
24488
+ /**
24489
+ * Returns index of a character corresponding to where an object was clicked
24490
+ * @param {TPointerEvent} e Event object
24491
+ * @return {Number} Index of a character
24306
24492
  */
24307
24493
  getSelectionStartFromPointer(e) {
24308
24494
  const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
@@ -24348,15 +24534,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
24348
24534
  }
24349
24535
  }
24350
24536
 
24351
- /**
24352
- * Hit Testing and Cursor Positioning System
24353
- *
24354
- * Maps pointer coordinates to text positions and provides cursor rectangles
24355
- * for interactive text editing with grapheme-aware boundaries.
24537
+ /**
24538
+ * Hit Testing and Cursor Positioning System
24539
+ *
24540
+ * Maps pointer coordinates to text positions and provides cursor rectangles
24541
+ * for interactive text editing with grapheme-aware boundaries.
24356
24542
  */
24357
24543
 
24358
- /**
24359
- * Hit test a point against laid out text to find insertion position
24544
+ /**
24545
+ * Hit test a point against laid out text to find insertion position
24360
24546
  */
24361
24547
  function hitTest(x, y, layout, options) {
24362
24548
  if (layout.lines.length === 0) {
@@ -24400,8 +24586,8 @@ function hitTest(x, y, layout, options) {
24400
24586
  };
24401
24587
  }
24402
24588
 
24403
- /**
24404
- * Get cursor rectangle for a given insertion index
24589
+ /**
24590
+ * Get cursor rectangle for a given insertion index
24405
24591
  */
24406
24592
  function getCursorRect(insertionIndex, layout, options) {
24407
24593
  if (layout.lines.length === 0) {
@@ -24448,8 +24634,8 @@ function getCursorRect(insertionIndex, layout, options) {
24448
24634
 
24449
24635
  // Private helper functions
24450
24636
 
24451
- /**
24452
- * Find which line contains the given Y coordinate
24637
+ /**
24638
+ * Find which line contains the given Y coordinate
24453
24639
  */
24454
24640
  function findLineAtY(y, lines) {
24455
24641
  var _lines;
@@ -24472,8 +24658,8 @@ function findLineAtY(y, lines) {
24472
24658
  };
24473
24659
  }
24474
24660
 
24475
- /**
24476
- * Find character position within a line at given X coordinate
24661
+ /**
24662
+ * Find character position within a line at given X coordinate
24477
24663
  */
24478
24664
  function findCharAtX(x, line, options) {
24479
24665
  if (line.bounds.length === 0) {
@@ -24579,8 +24765,8 @@ function findCharAtX(x, line, options) {
24579
24765
  };
24580
24766
  }
24581
24767
 
24582
- /**
24583
- * Calculate total insertion index from line and character indices
24768
+ /**
24769
+ * Calculate total insertion index from line and character indices
24584
24770
  */
24585
24771
  function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
24586
24772
  let insertionIndex = 0;
@@ -24599,8 +24785,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
24599
24785
  return insertionIndex;
24600
24786
  }
24601
24787
 
24602
- /**
24603
- * Find line and grapheme position from insertion index
24788
+ /**
24789
+ * Find line and grapheme position from insertion index
24604
24790
  */
24605
24791
  function findPositionFromIndex(insertionIndex, layout) {
24606
24792
  let currentIndex = 0;
@@ -24642,8 +24828,8 @@ function findPositionFromIndex(insertionIndex, layout) {
24642
24828
  };
24643
24829
  }
24644
24830
 
24645
- /**
24646
- * Calculate Y position of a line
24831
+ /**
24832
+ * Calculate Y position of a line
24647
24833
  */
24648
24834
  function calculateLineY(lineIndex, layout, options) {
24649
24835
  let y = 0;
@@ -24746,48 +24932,48 @@ const iTextDefaultValues = {
24746
24932
 
24747
24933
  // @TODO this is not complete
24748
24934
 
24749
- /**
24750
- * @fires changed
24751
- * @fires selection:changed
24752
- * @fires editing:entered
24753
- * @fires editing:exited
24754
- * @fires dragstart
24755
- * @fires drag drag event firing on the drag source
24756
- * @fires dragend
24757
- * @fires copy
24758
- * @fires cut
24759
- * @fires paste
24760
- *
24761
- * #### Supported key combinations
24762
- * ```
24763
- * Move cursor: left, right, up, down
24764
- * Select character: shift + left, shift + right
24765
- * Select text vertically: shift + up, shift + down
24766
- * Move cursor by word: alt + left, alt + right
24767
- * Select words: shift + alt + left, shift + alt + right
24768
- * Move cursor to line start/end: cmd + left, cmd + right or home, end
24769
- * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
24770
- * Jump to start/end of text: cmd + up, cmd + down
24771
- * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
24772
- * Delete character: backspace
24773
- * Delete word: alt + backspace
24774
- * Delete line: cmd + backspace
24775
- * Forward delete: delete
24776
- * Copy text: ctrl/cmd + c
24777
- * Paste text: ctrl/cmd + v
24778
- * Cut text: ctrl/cmd + x
24779
- * Select entire text: ctrl/cmd + a
24780
- * Quit editing tab or esc
24781
- * ```
24782
- *
24783
- * #### Supported mouse/touch combination
24784
- * ```
24785
- * Position cursor: click/touch
24786
- * Create selection: click/touch & drag
24787
- * Create selection: click & shift + click
24788
- * Select word: double click
24789
- * Select line: triple click
24790
- * ```
24935
+ /**
24936
+ * @fires changed
24937
+ * @fires selection:changed
24938
+ * @fires editing:entered
24939
+ * @fires editing:exited
24940
+ * @fires dragstart
24941
+ * @fires drag drag event firing on the drag source
24942
+ * @fires dragend
24943
+ * @fires copy
24944
+ * @fires cut
24945
+ * @fires paste
24946
+ *
24947
+ * #### Supported key combinations
24948
+ * ```
24949
+ * Move cursor: left, right, up, down
24950
+ * Select character: shift + left, shift + right
24951
+ * Select text vertically: shift + up, shift + down
24952
+ * Move cursor by word: alt + left, alt + right
24953
+ * Select words: shift + alt + left, shift + alt + right
24954
+ * Move cursor to line start/end: cmd + left, cmd + right or home, end
24955
+ * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
24956
+ * Jump to start/end of text: cmd + up, cmd + down
24957
+ * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
24958
+ * Delete character: backspace
24959
+ * Delete word: alt + backspace
24960
+ * Delete line: cmd + backspace
24961
+ * Forward delete: delete
24962
+ * Copy text: ctrl/cmd + c
24963
+ * Paste text: ctrl/cmd + v
24964
+ * Cut text: ctrl/cmd + x
24965
+ * Select entire text: ctrl/cmd + a
24966
+ * Quit editing tab or esc
24967
+ * ```
24968
+ *
24969
+ * #### Supported mouse/touch combination
24970
+ * ```
24971
+ * Position cursor: click/touch
24972
+ * Create selection: click/touch & drag
24973
+ * Create selection: click & shift + click
24974
+ * Select word: double click
24975
+ * Select line: triple click
24976
+ * ```
24791
24977
  */
24792
24978
  class IText extends ITextClickBehavior {
24793
24979
  static getDefaults() {
@@ -24802,10 +24988,10 @@ class IText extends ITextClickBehavior {
24802
24988
  return type === 'itext' ? 'i-text' : type;
24803
24989
  }
24804
24990
 
24805
- /**
24806
- * Constructor
24807
- * @param {String} text Text string
24808
- * @param {Object} [options] Options object
24991
+ /**
24992
+ * Constructor
24993
+ * @param {String} text Text string
24994
+ * @param {Object} [options] Options object
24809
24995
  */
24810
24996
  constructor(text, options) {
24811
24997
  super(text, {
@@ -24815,11 +25001,11 @@ class IText extends ITextClickBehavior {
24815
25001
  this.initBehavior();
24816
25002
  }
24817
25003
 
24818
- /**
24819
- * While editing handle differently
24820
- * @private
24821
- * @param {string} key
24822
- * @param {*} value
25004
+ /**
25005
+ * While editing handle differently
25006
+ * @private
25007
+ * @param {string} key
25008
+ * @param {*} value
24823
25009
  */
24824
25010
  _set(key, value) {
24825
25011
  if (this.isEditing && this._savedProps && key in this._savedProps) {
@@ -24834,28 +25020,28 @@ class IText extends ITextClickBehavior {
24834
25020
  return super._set(key, value);
24835
25021
  }
24836
25022
 
24837
- /**
24838
- * Sets selection start (left boundary of a selection)
24839
- * @param {Number} index Index to set selection start to
25023
+ /**
25024
+ * Sets selection start (left boundary of a selection)
25025
+ * @param {Number} index Index to set selection start to
24840
25026
  */
24841
25027
  setSelectionStart(index) {
24842
25028
  index = Math.max(index, 0);
24843
25029
  this._updateAndFire('selectionStart', index);
24844
25030
  }
24845
25031
 
24846
- /**
24847
- * Sets selection end (right boundary of a selection)
24848
- * @param {Number} index Index to set selection end to
25032
+ /**
25033
+ * Sets selection end (right boundary of a selection)
25034
+ * @param {Number} index Index to set selection end to
24849
25035
  */
24850
25036
  setSelectionEnd(index) {
24851
25037
  index = Math.min(index, this.text.length);
24852
25038
  this._updateAndFire('selectionEnd', index);
24853
25039
  }
24854
25040
 
24855
- /**
24856
- * @private
24857
- * @param {String} property 'selectionStart' or 'selectionEnd'
24858
- * @param {Number} index new position of property
25041
+ /**
25042
+ * @private
25043
+ * @param {String} property 'selectionStart' or 'selectionEnd'
25044
+ * @param {Number} index new position of property
24859
25045
  */
24860
25046
  _updateAndFire(property, index) {
24861
25047
  if (this[property] !== index) {
@@ -24865,9 +25051,9 @@ class IText extends ITextClickBehavior {
24865
25051
  this._updateTextarea();
24866
25052
  }
24867
25053
 
24868
- /**
24869
- * Fires the even of selection changed
24870
- * @private
25054
+ /**
25055
+ * Fires the even of selection changed
25056
+ * @private
24871
25057
  */
24872
25058
  _fireSelectionChanged() {
24873
25059
  this.fire('selection:changed');
@@ -24876,25 +25062,25 @@ class IText extends ITextClickBehavior {
24876
25062
  });
24877
25063
  }
24878
25064
 
24879
- /**
24880
- * Initialize text dimensions. Render all text on given context
24881
- * or on a offscreen canvas to get the text width with measureText.
24882
- * Updates this.width and this.height with the proper values.
24883
- * Does not return dimensions.
24884
- * @private
25065
+ /**
25066
+ * Initialize text dimensions. Render all text on given context
25067
+ * or on a offscreen canvas to get the text width with measureText.
25068
+ * Updates this.width and this.height with the proper values.
25069
+ * Does not return dimensions.
25070
+ * @private
24885
25071
  */
24886
25072
  initDimensions() {
24887
25073
  this.isEditing && this.initDelayedCursor();
24888
25074
  super.initDimensions();
24889
25075
  }
24890
25076
 
24891
- /**
24892
- * Gets style of a current selection/cursor (at the start position)
24893
- * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
24894
- * @param {Number} startIndex Start index to get styles at
24895
- * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
24896
- * @param {Boolean} [complete] get full style or not
24897
- * @return {Array} styles an array with one, zero or more Style objects
25077
+ /**
25078
+ * Gets style of a current selection/cursor (at the start position)
25079
+ * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
25080
+ * @param {Number} startIndex Start index to get styles at
25081
+ * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
25082
+ * @param {Boolean} [complete] get full style or not
25083
+ * @return {Array} styles an array with one, zero or more Style objects
24898
25084
  */
24899
25085
  getSelectionStyles() {
24900
25086
  let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
@@ -24903,11 +25089,11 @@ class IText extends ITextClickBehavior {
24903
25089
  return super.getSelectionStyles(startIndex, endIndex, complete);
24904
25090
  }
24905
25091
 
24906
- /**
24907
- * Sets style of a current selection, if no selection exist, do not set anything.
24908
- * @param {Object} [styles] Styles object
24909
- * @param {Number} [startIndex] Start index to get styles at
24910
- * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
25092
+ /**
25093
+ * Sets style of a current selection, if no selection exist, do not set anything.
25094
+ * @param {Object} [styles] Styles object
25095
+ * @param {Number} [startIndex] Start index to get styles at
25096
+ * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
24911
25097
  */
24912
25098
  setSelectionStyles(styles) {
24913
25099
  let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
@@ -24915,10 +25101,10 @@ class IText extends ITextClickBehavior {
24915
25101
  return super.setSelectionStyles(styles, startIndex, endIndex);
24916
25102
  }
24917
25103
 
24918
- /**
24919
- * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
24920
- * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
24921
- * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
25104
+ /**
25105
+ * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
25106
+ * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
25107
+ * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
24922
25108
  */
24923
25109
  get2DCursorLocation() {
24924
25110
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -24926,9 +25112,9 @@ class IText extends ITextClickBehavior {
24926
25112
  return super.get2DCursorLocation(selectionStart, skipWrapping);
24927
25113
  }
24928
25114
 
24929
- /**
24930
- * @private
24931
- * @param {CanvasRenderingContext2D} ctx Context to render on
25115
+ /**
25116
+ * @private
25117
+ * @param {CanvasRenderingContext2D} ctx Context to render on
24932
25118
  */
24933
25119
  render(ctx) {
24934
25120
  super.render(ctx);
@@ -24938,9 +25124,9 @@ class IText extends ITextClickBehavior {
24938
25124
  this.renderCursorOrSelection();
24939
25125
  }
24940
25126
 
24941
- /**
24942
- * @override block cursor/selection logic while rendering the exported canvas
24943
- * @todo this workaround should be replaced with a more robust solution
25127
+ /**
25128
+ * @override block cursor/selection logic while rendering the exported canvas
25129
+ * @todo this workaround should be replaced with a more robust solution
24944
25130
  */
24945
25131
  toCanvasElement(options) {
24946
25132
  const isEditing = this.isEditing;
@@ -24950,9 +25136,9 @@ class IText extends ITextClickBehavior {
24950
25136
  return canvas;
24951
25137
  }
24952
25138
 
24953
- /**
24954
- * Renders cursor or selection (depending on what exists)
24955
- * it does on the contextTop. If contextTop is not available, do nothing.
25139
+ /**
25140
+ * Renders cursor or selection (depending on what exists)
25141
+ * it does on the contextTop. If contextTop is not available, do nothing.
24956
25142
  */
24957
25143
  renderCursorOrSelection() {
24958
25144
  if (!this.isEditing || !this.canvas) {
@@ -25008,12 +25194,12 @@ class IText extends ITextClickBehavior {
25008
25194
  ctx.restore();
25009
25195
  }
25010
25196
 
25011
- /**
25012
- * Finds and returns an array of clip paths that are applied to the parent
25013
- * group(s) of the current FabricObject instance. The object's hierarchy is
25014
- * traversed upwards (from the current object towards the root of the canvas),
25015
- * checking each parent object for the presence of a `clipPath` that is not
25016
- * absolutely positioned.
25197
+ /**
25198
+ * Finds and returns an array of clip paths that are applied to the parent
25199
+ * group(s) of the current FabricObject instance. The object's hierarchy is
25200
+ * traversed upwards (from the current object towards the root of the canvas),
25201
+ * checking each parent object for the presence of a `clipPath` that is not
25202
+ * absolutely positioned.
25017
25203
  */
25018
25204
  findAncestorsWithClipPath() {
25019
25205
  const clipPathAncestors = [];
@@ -25028,13 +25214,13 @@ class IText extends ITextClickBehavior {
25028
25214
  return clipPathAncestors;
25029
25215
  }
25030
25216
 
25031
- /**
25032
- * Returns cursor boundaries (left, top, leftOffset, topOffset)
25033
- * left/top are left/top of entire text box
25034
- * leftOffset/topOffset are offset from that left/top point of a text box
25035
- * @private
25036
- * @param {number} [index] index from start
25037
- * @param {boolean} [skipCaching]
25217
+ /**
25218
+ * Returns cursor boundaries (left, top, leftOffset, topOffset)
25219
+ * left/top are left/top of entire text box
25220
+ * leftOffset/topOffset are offset from that left/top point of a text box
25221
+ * @private
25222
+ * @param {number} [index] index from start
25223
+ * @param {boolean} [skipCaching]
25038
25224
  */
25039
25225
  _getCursorBoundaries() {
25040
25226
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -25048,11 +25234,11 @@ class IText extends ITextClickBehavior {
25048
25234
  return this._getCursorBoundariesOriginal(index, skipCaching);
25049
25235
  }
25050
25236
 
25051
- /**
25052
- * Caches and returns cursor left/top offset relative to instance's center point
25053
- * @private
25054
- * @param {number} index index from start
25055
- * @param {boolean} [skipCaching]
25237
+ /**
25238
+ * Caches and returns cursor left/top offset relative to instance's center point
25239
+ * @private
25240
+ * @param {number} index index from start
25241
+ * @param {boolean} [skipCaching]
25056
25242
  */
25057
25243
  _getCursorBoundariesOffsets(index, skipCaching) {
25058
25244
  if (skipCaching) {
@@ -25064,9 +25250,9 @@ class IText extends ITextClickBehavior {
25064
25250
  return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
25065
25251
  }
25066
25252
 
25067
- /**
25068
- * Enhanced cursor boundaries using advanced hit testing when available
25069
- * @private
25253
+ /**
25254
+ * Enhanced cursor boundaries using advanced hit testing when available
25255
+ * @private
25070
25256
  */
25071
25257
  _getCursorBoundariesAdvanced(index) {
25072
25258
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -25082,9 +25268,9 @@ class IText extends ITextClickBehavior {
25082
25268
  };
25083
25269
  }
25084
25270
 
25085
- /**
25086
- * Enhanced selection start from pointer using BiDi-aware hit testing
25087
- * @override
25271
+ /**
25272
+ * Enhanced selection start from pointer using BiDi-aware hit testing
25273
+ * @override
25088
25274
  */
25089
25275
  getSelectionStartFromPointer(e) {
25090
25276
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -25098,9 +25284,9 @@ class IText extends ITextClickBehavior {
25098
25284
  return Math.min(hitResult.charIndex, this._text.length);
25099
25285
  }
25100
25286
 
25101
- /**
25102
- * Original cursor boundaries implementation
25103
- * @private
25287
+ /**
25288
+ * Original cursor boundaries implementation
25289
+ * @private
25104
25290
  */
25105
25291
  _getCursorBoundariesOriginal(index, skipCaching) {
25106
25292
  const left = this._getLeftOffset(),
@@ -25114,10 +25300,10 @@ class IText extends ITextClickBehavior {
25114
25300
  };
25115
25301
  }
25116
25302
 
25117
- /**
25118
- * Calculates cursor left/top offset relative to instance's center point
25119
- * @private
25120
- * @param {number} index index from start
25303
+ /**
25304
+ * Calculates cursor left/top offset relative to instance's center point
25305
+ * @private
25306
+ * @param {number} index index from start
25121
25307
  */
25122
25308
  __getCursorBoundariesOffsets(index) {
25123
25309
  let topOffset = 0,
@@ -25151,29 +25337,29 @@ class IText extends ITextClickBehavior {
25151
25337
  return boundaries;
25152
25338
  }
25153
25339
 
25154
- /**
25155
- * Renders cursor on context Top, outside the animation cycle, on request
25156
- * Used for the drag/drop effect.
25157
- * If contextTop is not available, do nothing.
25340
+ /**
25341
+ * Renders cursor on context Top, outside the animation cycle, on request
25342
+ * Used for the drag/drop effect.
25343
+ * If contextTop is not available, do nothing.
25158
25344
  */
25159
25345
  renderCursorAt(selectionStart) {
25160
25346
  this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
25161
25347
  }
25162
25348
 
25163
- /**
25164
- * Renders cursor
25165
- * @param {Object} boundaries
25166
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25349
+ /**
25350
+ * Renders cursor
25351
+ * @param {Object} boundaries
25352
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25167
25353
  */
25168
25354
  renderCursor(ctx, boundaries) {
25169
25355
  this._renderCursor(ctx, boundaries, this.selectionStart);
25170
25356
  }
25171
25357
 
25172
- /**
25173
- * Return the data needed to render the cursor for given selection start
25174
- * The left,top are relative to the object, while width and height are prescaled
25175
- * to look think with canvas zoom and object scaling,
25176
- * so they depend on canvas and object scaling
25358
+ /**
25359
+ * Return the data needed to render the cursor for given selection start
25360
+ * The left,top are relative to the object, while width and height are prescaled
25361
+ * to look think with canvas zoom and object scaling,
25362
+ * so they depend on canvas and object scaling
25177
25363
  */
25178
25364
  getCursorRenderingData() {
25179
25365
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -25196,9 +25382,9 @@ class IText extends ITextClickBehavior {
25196
25382
  };
25197
25383
  }
25198
25384
 
25199
- /**
25200
- * Render the cursor at the given selectionStart.
25201
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25385
+ /**
25386
+ * Render the cursor at the given selectionStart.
25387
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25202
25388
  */
25203
25389
  _renderCursor(ctx, boundaries, selectionStart) {
25204
25390
  const {
@@ -25214,10 +25400,10 @@ class IText extends ITextClickBehavior {
25214
25400
  ctx.fillRect(left, top, width, height);
25215
25401
  }
25216
25402
 
25217
- /**
25218
- * Renders text selection
25219
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25220
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25403
+ /**
25404
+ * Renders text selection
25405
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25406
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25221
25407
  */
25222
25408
  renderSelection(ctx, boundaries) {
25223
25409
  const selection = {
@@ -25227,8 +25413,8 @@ class IText extends ITextClickBehavior {
25227
25413
  this._renderSelection(ctx, selection, boundaries);
25228
25414
  }
25229
25415
 
25230
- /**
25231
- * Renders drag start text selection
25416
+ /**
25417
+ * Renders drag start text selection
25232
25418
  */
25233
25419
  renderDragSourceEffect() {
25234
25420
  const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
@@ -25239,12 +25425,12 @@ class IText extends ITextClickBehavior {
25239
25425
  this.renderCursorAt(dragSelection);
25240
25426
  }
25241
25427
 
25242
- /**
25243
- * Renders text selection
25244
- * @private
25245
- * @param {{ selectionStart: number, selectionEnd: number }} selection
25246
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25247
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25428
+ /**
25429
+ * Renders text selection
25430
+ * @private
25431
+ * @param {{ selectionStart: number, selectionEnd: number }} selection
25432
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25433
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25248
25434
  */
25249
25435
  _renderSelection(ctx, selection, boundaries) {
25250
25436
  const selectionStart = selection.selectionStart,
@@ -25306,34 +25492,34 @@ class IText extends ITextClickBehavior {
25306
25492
  }
25307
25493
  }
25308
25494
 
25309
- /**
25310
- * High level function to know the height of the cursor.
25311
- * the currentChar is the one that precedes the cursor
25312
- * Returns fontSize of char at the current cursor
25313
- * Unused from the library, is for the end user
25314
- * @return {Number} Character font size
25495
+ /**
25496
+ * High level function to know the height of the cursor.
25497
+ * the currentChar is the one that precedes the cursor
25498
+ * Returns fontSize of char at the current cursor
25499
+ * Unused from the library, is for the end user
25500
+ * @return {Number} Character font size
25315
25501
  */
25316
25502
  getCurrentCharFontSize() {
25317
25503
  const cp = this._getCurrentCharIndex();
25318
25504
  return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
25319
25505
  }
25320
25506
 
25321
- /**
25322
- * High level function to know the color of the cursor.
25323
- * the currentChar is the one that precedes the cursor
25324
- * Returns color (fill) of char at the current cursor
25325
- * if the text object has a pattern or gradient for filler, it will return that.
25326
- * Unused by the library, is for the end user
25327
- * @return {String | TFiller} Character color (fill)
25507
+ /**
25508
+ * High level function to know the color of the cursor.
25509
+ * the currentChar is the one that precedes the cursor
25510
+ * Returns color (fill) of char at the current cursor
25511
+ * if the text object has a pattern or gradient for filler, it will return that.
25512
+ * Unused by the library, is for the end user
25513
+ * @return {String | TFiller} Character color (fill)
25328
25514
  */
25329
25515
  getCurrentCharColor() {
25330
25516
  const cp = this._getCurrentCharIndex();
25331
25517
  return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
25332
25518
  }
25333
25519
 
25334
- /**
25335
- * Returns the cursor position for the getCurrent.. functions
25336
- * @private
25520
+ /**
25521
+ * Returns the cursor position for the getCurrent.. functions
25522
+ * @private
25337
25523
  */
25338
25524
  _getCurrentCharIndex() {
25339
25525
  const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
@@ -25349,52 +25535,52 @@ class IText extends ITextClickBehavior {
25349
25535
  super.dispose();
25350
25536
  }
25351
25537
  }
25352
- /**
25353
- * Index where text selection starts (or where cursor is when there is no selection)
25354
- * @type Number
25538
+ /**
25539
+ * Index where text selection starts (or where cursor is when there is no selection)
25540
+ * @type Number
25355
25541
  */
25356
- /**
25357
- * Index where text selection ends
25358
- * @type Number
25542
+ /**
25543
+ * Index where text selection ends
25544
+ * @type Number
25359
25545
  */
25360
- /**
25361
- * Color of text selection
25362
- * @type String
25546
+ /**
25547
+ * Color of text selection
25548
+ * @type String
25363
25549
  */
25364
- /**
25365
- * Indicates whether text is in editing mode
25366
- * @type Boolean
25550
+ /**
25551
+ * Indicates whether text is in editing mode
25552
+ * @type Boolean
25367
25553
  */
25368
- /**
25369
- * Indicates whether a text can be edited
25370
- * @type Boolean
25554
+ /**
25555
+ * Indicates whether a text can be edited
25556
+ * @type Boolean
25371
25557
  */
25372
- /**
25373
- * Border color of text object while it's in editing mode
25374
- * @type String
25558
+ /**
25559
+ * Border color of text object while it's in editing mode
25560
+ * @type String
25375
25561
  */
25376
- /**
25377
- * Width of cursor (in px)
25378
- * @type Number
25562
+ /**
25563
+ * Width of cursor (in px)
25564
+ * @type Number
25379
25565
  */
25380
- /**
25381
- * Color of text cursor color in editing mode.
25382
- * if not set (default) will take color from the text.
25383
- * if set to a color value that fabric can understand, it will
25384
- * be used instead of the color of the text at the current position.
25385
- * @type String
25566
+ /**
25567
+ * Color of text cursor color in editing mode.
25568
+ * if not set (default) will take color from the text.
25569
+ * if set to a color value that fabric can understand, it will
25570
+ * be used instead of the color of the text at the current position.
25571
+ * @type String
25386
25572
  */
25387
- /**
25388
- * Delay between cursor blink (in ms)
25389
- * @type Number
25573
+ /**
25574
+ * Delay between cursor blink (in ms)
25575
+ * @type Number
25390
25576
  */
25391
- /**
25392
- * Duration of cursor fade in (in ms)
25393
- * @type Number
25577
+ /**
25578
+ * Duration of cursor fade in (in ms)
25579
+ * @type Number
25394
25580
  */
25395
- /**
25396
- * Indicates whether internal text char widths can be cached
25397
- * @type Boolean
25581
+ /**
25582
+ * Indicates whether internal text char widths can be cached
25583
+ * @type Boolean
25398
25584
  */
25399
25585
  _defineProperty(IText, "ownDefaults", iTextDefaultValues);
25400
25586
  _defineProperty(IText, "type", 'IText');
@@ -25416,11 +25602,11 @@ const textboxDefaultValues = {
25416
25602
 
25417
25603
  // @TODO this is not complete
25418
25604
 
25419
- /**
25420
- * Textbox class, based on IText, allows the user to resize the text rectangle
25421
- * and wraps lines automatically. Textboxes have their Y scaling locked, the
25422
- * user can only change width. Height is adjusted automatically based on the
25423
- * wrapping of lines.
25605
+ /**
25606
+ * Textbox class, based on IText, allows the user to resize the text rectangle
25607
+ * and wraps lines automatically. Textboxes have their Y scaling locked, the
25608
+ * user can only change width. Height is adjusted automatically based on the
25609
+ * wrapping of lines.
25424
25610
  */
25425
25611
  class Textbox extends IText {
25426
25612
  static getDefaults() {
@@ -25430,10 +25616,10 @@ class Textbox extends IText {
25430
25616
  };
25431
25617
  }
25432
25618
 
25433
- /**
25434
- * Constructor
25435
- * @param {String} text Text string
25436
- * @param {Object} [options] Options object
25619
+ /**
25620
+ * Constructor
25621
+ * @param {String} text Text string
25622
+ * @param {Object} [options] Options object
25437
25623
  */
25438
25624
  constructor(text, options) {
25439
25625
  super(text, {
@@ -25443,10 +25629,10 @@ class Textbox extends IText {
25443
25629
  this.initializeEventListeners();
25444
25630
  }
25445
25631
 
25446
- /**
25447
- * Creates the default control object.
25448
- * If you prefer to have on instance of controls shared among all objects
25449
- * make this function return an empty object and add controls to the ownDefaults object
25632
+ /**
25633
+ * Creates the default control object.
25634
+ * If you prefer to have on instance of controls shared among all objects
25635
+ * make this function return an empty object and add controls to the ownDefaults object
25450
25636
  */
25451
25637
  static createControls() {
25452
25638
  return {
@@ -25454,11 +25640,11 @@ class Textbox extends IText {
25454
25640
  };
25455
25641
  }
25456
25642
 
25457
- /**
25458
- * Unlike superclass's version of this function, Textbox does not update
25459
- * its width.
25460
- * @private
25461
- * @override
25643
+ /**
25644
+ * Unlike superclass's version of this function, Textbox does not update
25645
+ * its width.
25646
+ * @private
25647
+ * @override
25462
25648
  */
25463
25649
  initDimensions() {
25464
25650
  if (!this.initialized) {
@@ -25487,9 +25673,9 @@ class Textbox extends IText {
25487
25673
  this.height = this.calcTextHeight();
25488
25674
  }
25489
25675
 
25490
- /**
25491
- * Advanced dimensions calculation using new layout engine
25492
- * @private
25676
+ /**
25677
+ * Advanced dimensions calculation using new layout engine
25678
+ * @private
25493
25679
  */
25494
25680
  initDimensionsAdvanced() {
25495
25681
  if (!this.initialized) {
@@ -25544,9 +25730,9 @@ class Textbox extends IText {
25544
25730
  this.dirty = true;
25545
25731
  }
25546
25732
 
25547
- /**
25548
- * Generate style map from new layout format
25549
- * @private
25733
+ /**
25734
+ * Generate style map from new layout format
25735
+ * @private
25550
25736
  */
25551
25737
  _generateStyleMapFromLayout(layout) {
25552
25738
  const map = {};
@@ -25568,12 +25754,12 @@ class Textbox extends IText {
25568
25754
  return map;
25569
25755
  }
25570
25756
 
25571
- /**
25572
- * Generate an object that translates the style object so that it is
25573
- * broken up by visual lines (new lines and automatic wrapping).
25574
- * The original text styles object is broken up by actual lines (new lines only),
25575
- * which is only sufficient for Text / IText
25576
- * @private
25757
+ /**
25758
+ * Generate an object that translates the style object so that it is
25759
+ * broken up by visual lines (new lines and automatic wrapping).
25760
+ * The original text styles object is broken up by actual lines (new lines only),
25761
+ * which is only sufficient for Text / IText
25762
+ * @private
25577
25763
  */
25578
25764
  _generateStyleMap(textInfo) {
25579
25765
  let realLineCount = 0,
@@ -25600,10 +25786,10 @@ class Textbox extends IText {
25600
25786
  return map;
25601
25787
  }
25602
25788
 
25603
- /**
25604
- * Returns true if object has a style property or has it on a specified line
25605
- * @param {Number} lineIndex
25606
- * @return {Boolean}
25789
+ /**
25790
+ * Returns true if object has a style property or has it on a specified line
25791
+ * @param {Number} lineIndex
25792
+ * @return {Boolean}
25607
25793
  */
25608
25794
  styleHas(property, lineIndex) {
25609
25795
  if (this._styleMap && !this.isWrapping) {
@@ -25615,10 +25801,10 @@ class Textbox extends IText {
25615
25801
  return super.styleHas(property, lineIndex);
25616
25802
  }
25617
25803
 
25618
- /**
25619
- * Returns true if object has no styling or no styling in a line
25620
- * @param {Number} lineIndex , lineIndex is on wrapped lines.
25621
- * @return {Boolean}
25804
+ /**
25805
+ * Returns true if object has no styling or no styling in a line
25806
+ * @param {Number} lineIndex , lineIndex is on wrapped lines.
25807
+ * @return {Boolean}
25622
25808
  */
25623
25809
  isEmptyStyles(lineIndex) {
25624
25810
  if (!this.styles) {
@@ -25655,11 +25841,11 @@ class Textbox extends IText {
25655
25841
  return true;
25656
25842
  }
25657
25843
 
25658
- /**
25659
- * @protected
25660
- * @param {Number} lineIndex
25661
- * @param {Number} charIndex
25662
- * @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
25844
+ /**
25845
+ * @protected
25846
+ * @param {Number} lineIndex
25847
+ * @param {Number} charIndex
25848
+ * @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
25663
25849
  */
25664
25850
  _getStyleDeclaration(lineIndex, charIndex) {
25665
25851
  if (this._styleMap && !this.isWrapping) {
@@ -25673,59 +25859,59 @@ class Textbox extends IText {
25673
25859
  return super._getStyleDeclaration(lineIndex, charIndex);
25674
25860
  }
25675
25861
 
25676
- /**
25677
- * @param {Number} lineIndex
25678
- * @param {Number} charIndex
25679
- * @param {Object} style
25680
- * @private
25862
+ /**
25863
+ * @param {Number} lineIndex
25864
+ * @param {Number} charIndex
25865
+ * @param {Object} style
25866
+ * @private
25681
25867
  */
25682
25868
  _setStyleDeclaration(lineIndex, charIndex, style) {
25683
25869
  const map = this._styleMap[lineIndex];
25684
25870
  super._setStyleDeclaration(map.line, map.offset + charIndex, style);
25685
25871
  }
25686
25872
 
25687
- /**
25688
- * @param {Number} lineIndex
25689
- * @param {Number} charIndex
25690
- * @private
25873
+ /**
25874
+ * @param {Number} lineIndex
25875
+ * @param {Number} charIndex
25876
+ * @private
25691
25877
  */
25692
25878
  _deleteStyleDeclaration(lineIndex, charIndex) {
25693
25879
  const map = this._styleMap[lineIndex];
25694
25880
  super._deleteStyleDeclaration(map.line, map.offset + charIndex);
25695
25881
  }
25696
25882
 
25697
- /**
25698
- * probably broken need a fix
25699
- * Returns the real style line that correspond to the wrapped lineIndex line
25700
- * Used just to verify if the line does exist or not.
25701
- * @param {Number} lineIndex
25702
- * @returns {Boolean} if the line exists or not
25703
- * @private
25883
+ /**
25884
+ * probably broken need a fix
25885
+ * Returns the real style line that correspond to the wrapped lineIndex line
25886
+ * Used just to verify if the line does exist or not.
25887
+ * @param {Number} lineIndex
25888
+ * @returns {Boolean} if the line exists or not
25889
+ * @private
25704
25890
  */
25705
25891
  _getLineStyle(lineIndex) {
25706
25892
  const map = this._styleMap[lineIndex];
25707
25893
  return !!this.styles[map.line];
25708
25894
  }
25709
25895
 
25710
- /**
25711
- * Set the line style to an empty object so that is initialized
25712
- * @param {Number} lineIndex
25713
- * @param {Object} style
25714
- * @private
25896
+ /**
25897
+ * Set the line style to an empty object so that is initialized
25898
+ * @param {Number} lineIndex
25899
+ * @param {Object} style
25900
+ * @private
25715
25901
  */
25716
25902
  _setLineStyle(lineIndex) {
25717
25903
  const map = this._styleMap[lineIndex];
25718
25904
  super._setLineStyle(map.line);
25719
25905
  }
25720
25906
 
25721
- /**
25722
- * Wraps text using the 'width' property of Textbox. First this function
25723
- * splits text on newlines, so we preserve newlines entered by the user.
25724
- * Then it wraps each line using the width of the Textbox by calling
25725
- * _wrapLine().
25726
- * @param {Array} lines The string array of text that is split into lines
25727
- * @param {Number} desiredWidth width you want to wrap to
25728
- * @returns {Array} Array of lines
25907
+ /**
25908
+ * Wraps text using the 'width' property of Textbox. First this function
25909
+ * splits text on newlines, so we preserve newlines entered by the user.
25910
+ * Then it wraps each line using the width of the Textbox by calling
25911
+ * _wrapLine().
25912
+ * @param {Array} lines The string array of text that is split into lines
25913
+ * @param {Number} desiredWidth width you want to wrap to
25914
+ * @returns {Array} Array of lines
25729
25915
  */
25730
25916
  _wrapText(lines, desiredWidth) {
25731
25917
  this.isWrapping = true;
@@ -25739,12 +25925,12 @@ class Textbox extends IText {
25739
25925
  return wrapped;
25740
25926
  }
25741
25927
 
25742
- /**
25743
- * For each line of text terminated by an hard line stop,
25744
- * measure each word width and extract the largest word from all.
25745
- * The returned words here are the one that at the end will be rendered.
25746
- * @param {string[]} lines the lines we need to measure
25747
- *
25928
+ /**
25929
+ * For each line of text terminated by an hard line stop,
25930
+ * measure each word width and extract the largest word from all.
25931
+ * The returned words here are the one that at the end will be rendered.
25932
+ * @param {string[]} lines the lines we need to measure
25933
+ *
25748
25934
  */
25749
25935
  getGraphemeDataForRender(lines) {
25750
25936
  const splitByGrapheme = this.splitByGrapheme,
@@ -25777,17 +25963,17 @@ class Textbox extends IText {
25777
25963
  };
25778
25964
  }
25779
25965
 
25780
- /**
25781
- * Helper function to measure a string of text, given its lineIndex and charIndex offset
25782
- * It gets called when charBounds are not available yet.
25783
- * Override if necessary
25784
- * Use with {@link Textbox#wordSplit}
25785
- *
25786
- * @param {CanvasRenderingContext2D} ctx
25787
- * @param {String} text
25788
- * @param {number} lineIndex
25789
- * @param {number} charOffset
25790
- * @returns {number}
25966
+ /**
25967
+ * Helper function to measure a string of text, given its lineIndex and charIndex offset
25968
+ * It gets called when charBounds are not available yet.
25969
+ * Override if necessary
25970
+ * Use with {@link Textbox#wordSplit}
25971
+ *
25972
+ * @param {CanvasRenderingContext2D} ctx
25973
+ * @param {String} text
25974
+ * @param {number} lineIndex
25975
+ * @param {number} charOffset
25976
+ * @returns {number}
25791
25977
  */
25792
25978
  _measureWord(word, lineIndex) {
25793
25979
  let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
@@ -25802,26 +25988,26 @@ class Textbox extends IText {
25802
25988
  return width;
25803
25989
  }
25804
25990
 
25805
- /**
25806
- * Override this method to customize word splitting
25807
- * Use with {@link Textbox#_measureWord}
25808
- * @param {string} value
25809
- * @returns {string[]} array of words
25991
+ /**
25992
+ * Override this method to customize word splitting
25993
+ * Use with {@link Textbox#_measureWord}
25994
+ * @param {string} value
25995
+ * @returns {string[]} array of words
25810
25996
  */
25811
25997
  wordSplit(value) {
25812
25998
  return value.split(this._wordJoiners);
25813
25999
  }
25814
26000
 
25815
- /**
25816
- * Wraps a line of text using the width of the Textbox as desiredWidth
25817
- * and leveraging the known width o words from GraphemeData
25818
- * @private
25819
- * @param {Number} lineIndex
25820
- * @param {Number} desiredWidth width you want to wrap the line to
25821
- * @param {GraphemeData} graphemeData an object containing all the lines' words width.
25822
- * @param {Number} reservedSpace space to remove from wrapping for custom functionalities
25823
- * @returns {Array} Array of line(s) into which the given text is wrapped
25824
- * to.
26001
+ /**
26002
+ * Wraps a line of text using the width of the Textbox as desiredWidth
26003
+ * and leveraging the known width o words from GraphemeData
26004
+ * @private
26005
+ * @param {Number} lineIndex
26006
+ * @param {Number} desiredWidth width you want to wrap the line to
26007
+ * @param {GraphemeData} graphemeData an object containing all the lines' words width.
26008
+ * @param {Number} reservedSpace space to remove from wrapping for custom functionalities
26009
+ * @returns {Array} Array of line(s) into which the given text is wrapped
26010
+ * to.
25825
26011
  */
25826
26012
  _wrapLine(lineIndex, desiredWidth, _ref) {
25827
26013
  let {
@@ -25879,11 +26065,11 @@ class Textbox extends IText {
25879
26065
  return graphemeLines;
25880
26066
  }
25881
26067
 
25882
- /**
25883
- * Detect if the text line is ended with an hard break
25884
- * text and itext do not have wrapping, return false
25885
- * @param {Number} lineIndex text to split
25886
- * @return {Boolean}
26068
+ /**
26069
+ * Detect if the text line is ended with an hard break
26070
+ * text and itext do not have wrapping, return false
26071
+ * @param {Number} lineIndex text to split
26072
+ * @return {Boolean}
25887
26073
  */
25888
26074
  isEndOfWrapping(lineIndex) {
25889
26075
  if (!this._styleMap[lineIndex + 1]) {
@@ -25897,12 +26083,12 @@ class Textbox extends IText {
25897
26083
  return false;
25898
26084
  }
25899
26085
 
25900
- /**
25901
- * Detect if a line has a linebreak and so we need to account for it when moving
25902
- * and counting style.
25903
- * This is important only for splitByGrapheme at the end of wrapping.
25904
- * If we are not wrapping the offset is always 1
25905
- * @return Number
26086
+ /**
26087
+ * Detect if a line has a linebreak and so we need to account for it when moving
26088
+ * and counting style.
26089
+ * This is important only for splitByGrapheme at the end of wrapping.
26090
+ * If we are not wrapping the offset is always 1
26091
+ * @return Number
25906
26092
  */
25907
26093
  missingNewlineOffset(lineIndex, skipWrapping) {
25908
26094
  if (this.splitByGrapheme && !skipWrapping) {
@@ -25911,12 +26097,12 @@ class Textbox extends IText {
25911
26097
  return 1;
25912
26098
  }
25913
26099
 
25914
- /**
25915
- * Gets lines of text to render in the Textbox. This function calculates
25916
- * text wrapping on the fly every time it is called.
25917
- * @param {String} text text to split
25918
- * @returns {Array} Array of lines in the Textbox.
25919
- * @override
26100
+ /**
26101
+ * Gets lines of text to render in the Textbox. This function calculates
26102
+ * text wrapping on the fly every time it is called.
26103
+ * @param {String} text text to split
26104
+ * @returns {Array} Array of lines in the Textbox.
26105
+ * @override
25920
26106
  */
25921
26107
  _splitTextIntoLines(text) {
25922
26108
  const newText = super._splitTextIntoLines(text),
@@ -25948,9 +26134,9 @@ class Textbox extends IText {
25948
26134
  }
25949
26135
  }
25950
26136
 
25951
- /**
25952
- * Initialize event listeners for safety snap functionality
25953
- * @private
26137
+ /**
26138
+ * Initialize event listeners for safety snap functionality
26139
+ * @private
25954
26140
  */
25955
26141
  initializeEventListeners() {
25956
26142
  var _this$canvas;
@@ -25960,30 +26146,17 @@ class Textbox extends IText {
25960
26146
  // Detect resize origin during resizing
25961
26147
  this.on('resizing', e => {
25962
26148
  // Check transform origin to determine which side is being resized
25963
- console.log('🔍 Resize event data:', e);
25964
26149
  if (e.transform) {
25965
26150
  const {
25966
- originX,
25967
- originY
26151
+ originX
25968
26152
  } = e.transform;
25969
- console.log('🔍 Transform origins:', {
25970
- originX,
25971
- originY
25972
- });
25973
26153
  // originX tells us which side is the anchor - opposite side is being dragged
25974
26154
  resizeOrigin = originX === 'right' ? 'left' : originX === 'left' ? 'right' : null;
25975
- console.log('🎯 Setting resizeOrigin to:', resizeOrigin);
25976
26155
  } else if (e.originX) {
25977
26156
  const {
25978
- originX,
25979
- originY
26157
+ originX
25980
26158
  } = e;
25981
- console.log('🔍 Event origins:', {
25982
- originX,
25983
- originY
25984
- });
25985
26159
  resizeOrigin = originX === 'right' ? 'left' : originX === 'left' ? 'right' : null;
25986
- console.log('🎯 Setting resizeOrigin to:', resizeOrigin);
25987
26160
  }
25988
26161
  });
25989
26162
 
@@ -25991,9 +26164,6 @@ class Textbox extends IText {
25991
26164
  // Use 'modified' event which fires after user releases the mouse
25992
26165
  this.on('modified', () => {
25993
26166
  const currentResizeOrigin = resizeOrigin; // Capture the value before reset
25994
- console.log('✅ Modified event fired - resize complete, triggering safety snap', {
25995
- resizeOrigin: currentResizeOrigin
25996
- });
25997
26167
  // Small delay to ensure text layout is updated
25998
26168
  setTimeout(() => this.safetySnapWidth(currentResizeOrigin), 10);
25999
26169
  resizeOrigin = null; // Reset after capturing
@@ -26003,53 +26173,31 @@ class Textbox extends IText {
26003
26173
  (_this$canvas = this.canvas) === null || _this$canvas === void 0 || _this$canvas.on('object:modified', e => {
26004
26174
  if (e.target === this) {
26005
26175
  const currentResizeOrigin = resizeOrigin; // Capture the value before reset
26006
- console.log('✅ Canvas object:modified fired for this textbox');
26007
26176
  setTimeout(() => this.safetySnapWidth(currentResizeOrigin), 10);
26008
26177
  resizeOrigin = null; // Reset after capturing
26009
26178
  }
26010
26179
  });
26011
26180
  }
26012
26181
 
26013
- /**
26014
- * Safety snap to prevent glyph clipping after manual resize.
26015
- * Similar to Polotno - checks if any glyphs are too close to edges
26016
- * and automatically expands width if needed.
26017
- * @private
26018
- * @param resizeOrigin - Which side was used for resizing ('left' or 'right')
26182
+ /**
26183
+ * Safety snap to prevent glyph clipping after manual resize.
26184
+ * Similar to Polotno - checks if any glyphs are too close to edges
26185
+ * and automatically expands width if needed.
26186
+ * @private
26187
+ * @param resizeOrigin - Which side was used for resizing ('left' or 'right')
26019
26188
  */
26020
26189
  safetySnapWidth(resizeOrigin) {
26021
- var _this$_textLines;
26022
- console.log('🔍 safetySnapWidth called', {
26023
- isWrapping: this.isWrapping,
26024
- hasTextLines: !!this._textLines,
26025
- lineCount: ((_this$_textLines = this._textLines) === null || _this$_textLines === void 0 ? void 0 : _this$_textLines.length) || 0,
26026
- currentWidth: this.width,
26027
- type: this.type,
26028
- text: this.text
26029
- });
26030
-
26031
26190
  // For Textbox objects, we always want to check for clipping regardless of isWrapping flag
26032
26191
  if (!this._textLines || this.type.toLowerCase() !== 'textbox' || this._textLines.length === 0) {
26033
- var _this$_textLines2;
26034
- console.log('❌ Early return - missing requirements', {
26035
- hasTextLines: !!this._textLines,
26036
- typeMatch: this.type.toLowerCase() === 'textbox',
26037
- actualType: this.type,
26038
- hasLines: ((_this$_textLines2 = this._textLines) === null || _this$_textLines2 === void 0 ? void 0 : _this$_textLines2.length) > 0
26039
- });
26040
26192
  return;
26041
26193
  }
26042
26194
  const lineCount = this._textLines.length;
26043
26195
  if (lineCount === 0) return;
26044
-
26045
- // Check all lines, not just the last one
26046
- let maxActualLineWidth = 0; // Actual measured width without buffers
26047
26196
  let maxRequiredWidth = 0; // Width including RTL buffer
26048
26197
 
26049
26198
  for (let i = 0; i < lineCount; i++) {
26050
26199
  const lineText = this._textLines[i].join(''); // Convert grapheme array to string
26051
26200
  const lineWidth = this.getLineWidth(i);
26052
- maxActualLineWidth = Math.max(maxActualLineWidth, lineWidth);
26053
26201
 
26054
26202
  // RTL detection - regex for Arabic, Hebrew, and other RTL characters
26055
26203
  const rtlRegex = /[\u0590-\u05FF\u0600-\u06FF\u0750-\u077F\uFB50-\uFDFF\uFE70-\uFEFF]/;
@@ -26069,11 +26217,6 @@ class Textbox extends IText {
26069
26217
  var _this$canvas2;
26070
26218
  // Set width to exactly what's needed + minimal safety margin
26071
26219
  const newWidth = maxRequiredWidth + 1; // Add just 1px safety margin
26072
- console.log(`Safety snap: ${this.width.toFixed(0)}px -> ${newWidth.toFixed(0)}px`, {
26073
- maxActualLineWidth: maxActualLineWidth.toFixed(1),
26074
- maxRequiredWidth: maxRequiredWidth.toFixed(1),
26075
- difference: (newWidth - this.width).toFixed(1)
26076
- });
26077
26220
 
26078
26221
  // Store original position before width change
26079
26222
  const originalLeft = this.left;
@@ -26089,19 +26232,12 @@ class Textbox extends IText {
26089
26232
  // Only compensate position when resizing from left handle
26090
26233
  // Right handle resize doesn't shift the text position
26091
26234
  if (resizeOrigin === 'left') {
26092
- console.log('🔧 Compensating for left-side resize', {
26093
- originalLeft,
26094
- widthIncrease,
26095
- newLeft: originalLeft - widthIncrease
26096
- });
26097
26235
  // When resizing from left, the expansion pushes text right
26098
26236
  // Compensate by moving the textbox left by the width increase
26099
26237
  this.set({
26100
26238
  'left': originalLeft - widthIncrease,
26101
26239
  'top': originalTop
26102
26240
  });
26103
- } else {
26104
- console.log('✅ Right-side resize, no compensation needed');
26105
26241
  }
26106
26242
  this.setCoords();
26107
26243
 
@@ -26115,31 +26251,31 @@ class Textbox extends IText {
26115
26251
  }
26116
26252
  }
26117
26253
 
26118
- /**
26119
- * Returns object representation of an instance
26120
- * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
26121
- * @return {Object} object representation of an instance
26254
+ /**
26255
+ * Returns object representation of an instance
26256
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
26257
+ * @return {Object} object representation of an instance
26122
26258
  */
26123
26259
  toObject() {
26124
26260
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
26125
26261
  return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
26126
26262
  }
26127
26263
  }
26128
- /**
26129
- * Minimum width of textbox, in pixels.
26130
- * @type Number
26131
- */
26132
- /**
26133
- * Minimum calculated width of a textbox, in pixels.
26134
- * fixed to 2 so that an empty textbox cannot go to 0
26135
- * and is still selectable without text.
26136
- * @type Number
26137
- */
26138
- /**
26139
- * Use this boolean property in order to split strings that have no white space concept.
26140
- * this is a cheap way to help with chinese/japanese
26141
- * @type Boolean
26142
- * @since 2.6.0
26264
+ /**
26265
+ * Minimum width of textbox, in pixels.
26266
+ * @type Number
26267
+ */
26268
+ /**
26269
+ * Minimum calculated width of a textbox, in pixels.
26270
+ * fixed to 2 so that an empty textbox cannot go to 0
26271
+ * and is still selectable without text.
26272
+ * @type Number
26273
+ */
26274
+ /**
26275
+ * Use this boolean property in order to split strings that have no white space concept.
26276
+ * this is a cheap way to help with chinese/japanese
26277
+ * @type Boolean
26278
+ * @since 2.6.0
26143
26279
  */
26144
26280
  _defineProperty(Textbox, "type", 'Textbox');
26145
26281
  _defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);