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