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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2543) hide show
  1. package/.babelrc +0 -0
  2. package/.babelrcAlt +0 -0
  3. package/.browserslistrc +0 -0
  4. package/.editorconfig +0 -0
  5. package/.gitattributes +0 -0
  6. package/.gitpod.yml +0 -0
  7. package/.playwright-mcp/after-justify-applied.png +0 -0
  8. package/.playwright-mcp/after-justify-click.png +0 -0
  9. package/.playwright-mcp/initial-state.png +0 -0
  10. package/.playwright-mcp/justify-fixed-final.png +0 -0
  11. package/.prettierignore +0 -0
  12. package/.prettierrc +0 -0
  13. package/0 +0 -0
  14. package/45.6875Textbox.ts +0 -0
  15. package/CHANGELOG.md +0 -0
  16. package/CODE_OF_CONDUCT.md +0 -0
  17. package/CONTRIBUTING.md +0 -0
  18. package/LICENSE +0 -0
  19. package/OVERLAY_EDITOR_MIGRATION.md +0 -0
  20. package/README.md +0 -0
  21. package/SECURITY.md +0 -0
  22. package/debug/{konva → konva-master}/CHANGELOG.md +2 -1
  23. package/debug/{konva → konva-master}/LICENSE +0 -0
  24. package/debug/{konva → konva-master}/README.md +7 -3
  25. package/debug/{konva → konva-master}/gulpfile.mjs +0 -0
  26. package/debug/{konva → konva-master}/package.json +1 -1
  27. package/debug/{konva → konva-master}/release.sh +1 -4
  28. package/debug/{konva → konva-master}/resources/doc-includes/ContainerParams.txt +0 -0
  29. package/debug/{konva → konva-master}/resources/doc-includes/NodeParams.txt +0 -0
  30. package/debug/{konva → konva-master}/resources/doc-includes/ShapeParams.txt +0 -0
  31. package/debug/{konva → konva-master}/resources/jsdoc.conf.json +0 -0
  32. package/debug/{konva → konva-master}/rollup.config.mjs +0 -0
  33. package/debug/{konva → konva-master}/src/Animation.ts +0 -0
  34. package/debug/{konva → konva-master}/src/BezierFunctions.ts +0 -0
  35. package/debug/{konva → konva-master}/src/Canvas.ts +37 -0
  36. package/debug/{konva → konva-master}/src/Container.ts +0 -0
  37. package/debug/{konva → konva-master}/src/Context.ts +0 -0
  38. package/debug/{konva → konva-master}/src/Core.ts +0 -0
  39. package/debug/{konva → konva-master}/src/DragAndDrop.ts +0 -0
  40. package/debug/{konva → konva-master}/src/Factory.ts +0 -0
  41. package/debug/{konva → konva-master}/src/FastLayer.ts +0 -0
  42. package/debug/{konva → konva-master}/src/Global.ts +0 -0
  43. package/debug/{konva → konva-master}/src/Group.ts +0 -0
  44. package/debug/{konva → konva-master}/src/Layer.ts +0 -0
  45. package/debug/{konva → konva-master}/src/Node.ts +0 -0
  46. package/debug/{konva → konva-master}/src/PointerEvents.ts +0 -0
  47. package/debug/{konva → konva-master}/src/Shape.ts +0 -0
  48. package/debug/{konva → konva-master}/src/Stage.ts +0 -0
  49. package/debug/{konva → konva-master}/src/Tween.ts +0 -0
  50. package/debug/{konva → konva-master}/src/Util.ts +0 -0
  51. package/debug/{konva → konva-master}/src/Validators.ts +0 -0
  52. package/debug/{konva → konva-master}/src/_CoreInternals.ts +0 -0
  53. package/debug/{konva → konva-master}/src/_FullInternals.ts +0 -0
  54. package/debug/{konva → konva-master}/src/canvas-backend.ts +0 -0
  55. package/debug/{konva → konva-master}/src/filters/Blur.ts +0 -0
  56. package/debug/{konva → konva-master}/src/filters/Brighten.ts +0 -0
  57. package/debug/{konva → konva-master}/src/filters/Brightness.ts +0 -0
  58. package/debug/{konva → konva-master}/src/filters/Contrast.ts +0 -0
  59. package/debug/{konva → konva-master}/src/filters/Emboss.ts +0 -0
  60. package/debug/{konva → konva-master}/src/filters/Enhance.ts +0 -0
  61. package/debug/{konva → konva-master}/src/filters/Grayscale.ts +0 -0
  62. package/debug/{konva → konva-master}/src/filters/HSL.ts +0 -0
  63. package/debug/{konva → konva-master}/src/filters/HSV.ts +0 -0
  64. package/debug/{konva → konva-master}/src/filters/Invert.ts +0 -0
  65. package/debug/{konva → konva-master}/src/filters/Kaleidoscope.ts +0 -0
  66. package/debug/{konva → konva-master}/src/filters/Mask.ts +0 -0
  67. package/debug/{konva → konva-master}/src/filters/Noise.ts +0 -0
  68. package/debug/{konva → konva-master}/src/filters/Pixelate.ts +0 -0
  69. package/debug/{konva → konva-master}/src/filters/Posterize.ts +0 -0
  70. package/debug/{konva → konva-master}/src/filters/RGB.ts +0 -0
  71. package/debug/{konva → konva-master}/src/filters/RGBA.ts +0 -0
  72. package/debug/{konva → konva-master}/src/filters/Sepia.ts +0 -0
  73. package/debug/{konva → konva-master}/src/filters/Solarize.ts +0 -0
  74. package/debug/{konva → konva-master}/src/filters/Threshold.ts +0 -0
  75. package/debug/{konva → konva-master}/src/index.ts +0 -0
  76. package/debug/{konva → konva-master}/src/shapes/Arc.ts +0 -0
  77. package/debug/{konva → konva-master}/src/shapes/Arrow.ts +0 -0
  78. package/debug/{konva → konva-master}/src/shapes/Circle.ts +0 -0
  79. package/debug/{konva → konva-master}/src/shapes/Ellipse.ts +0 -0
  80. package/debug/{konva → konva-master}/src/shapes/Image.ts +0 -0
  81. package/debug/{konva → konva-master}/src/shapes/Label.ts +0 -0
  82. package/debug/{konva → konva-master}/src/shapes/Line.ts +0 -0
  83. package/debug/{konva → konva-master}/src/shapes/Path.ts +0 -0
  84. package/debug/{konva → konva-master}/src/shapes/Rect.ts +0 -0
  85. package/debug/{konva → konva-master}/src/shapes/RegularPolygon.ts +0 -0
  86. package/debug/{konva → konva-master}/src/shapes/Ring.ts +0 -0
  87. package/debug/{konva → konva-master}/src/shapes/Sprite.ts +0 -0
  88. package/debug/{konva → konva-master}/src/shapes/Star.ts +0 -0
  89. package/debug/{konva → konva-master}/src/shapes/Text.ts +2 -2
  90. package/debug/{konva → konva-master}/src/shapes/TextPath.ts +0 -0
  91. package/debug/{konva → konva-master}/src/shapes/Transformer.ts +0 -0
  92. package/debug/{konva → konva-master}/src/shapes/Wedge.ts +0 -0
  93. package/debug/{konva → konva-master}/src/skia-backend.ts +0 -0
  94. package/debug/{konva → konva-master}/src/types.ts +0 -0
  95. package/debug/{konva → konva-master}/tsconfig.json +0 -0
  96. package/debug/{konva → konva-master}/tsconfig.test.json +0 -0
  97. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +0 -0
  98. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +0 -0
  99. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +0 -0
  100. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -0
  101. package/dist/extensions/aligning_guidelines/constant.d.ts +0 -0
  102. package/dist/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  103. package/dist/extensions/aligning_guidelines/index.d.ts +0 -0
  104. package/dist/extensions/aligning_guidelines/index.d.ts.map +0 -0
  105. package/dist/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  106. package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  107. package/dist/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  108. package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  109. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  110. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  111. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  112. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  113. package/dist/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  114. package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  115. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  116. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  117. package/dist/extensions/data_updaters/gradient/index.d.ts +0 -0
  118. package/dist/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  119. package/dist/extensions/data_updaters/origins/index.d.ts +0 -0
  120. package/dist/extensions/data_updaters/origins/index.d.ts.map +0 -0
  121. package/dist/extensions/index.d.ts +0 -0
  122. package/dist/extensions/index.d.ts.map +0 -0
  123. package/dist/fabric.d.ts +0 -0
  124. package/dist/fabric.d.ts.map +0 -0
  125. package/dist/fabric.min.mjs +0 -0
  126. package/dist/fabric.min.mjs.map +0 -0
  127. package/dist/fabric.mjs +0 -0
  128. package/dist/fabric.mjs.map +0 -0
  129. package/dist/index.d.ts +0 -0
  130. package/dist/index.d.ts.map +0 -0
  131. package/dist/index.js +747 -679
  132. package/dist/index.js.map +1 -1
  133. package/dist/index.min.js +1 -1
  134. package/dist/index.min.js.map +1 -1
  135. package/dist/index.min.mjs +1 -1
  136. package/dist/index.min.mjs.map +1 -1
  137. package/dist/index.mjs +747 -679
  138. package/dist/index.mjs.map +1 -1
  139. package/dist/index.node.cjs +747 -679
  140. package/dist/index.node.cjs.map +1 -1
  141. package/dist/index.node.d.ts +0 -0
  142. package/dist/index.node.d.ts.map +0 -0
  143. package/dist/index.node.mjs +747 -679
  144. package/dist/index.node.mjs.map +1 -1
  145. package/dist/package.json.min.mjs +1 -1
  146. package/dist/package.json.min.mjs.map +0 -0
  147. package/dist/package.json.mjs +1 -1
  148. package/dist/package.json.mjs.map +0 -0
  149. package/dist/src/ClassRegistry.d.ts +0 -0
  150. package/dist/src/ClassRegistry.d.ts.map +0 -0
  151. package/dist/src/ClassRegistry.min.mjs +0 -0
  152. package/dist/src/ClassRegistry.min.mjs.map +0 -0
  153. package/dist/src/ClassRegistry.mjs +0 -0
  154. package/dist/src/ClassRegistry.mjs.map +0 -0
  155. package/dist/src/Collection.d.ts +0 -0
  156. package/dist/src/Collection.d.ts.map +0 -0
  157. package/dist/src/Collection.min.mjs +0 -0
  158. package/dist/src/Collection.min.mjs.map +0 -0
  159. package/dist/src/Collection.mjs +0 -0
  160. package/dist/src/Collection.mjs.map +0 -0
  161. package/dist/src/CommonMethods.d.ts +0 -0
  162. package/dist/src/CommonMethods.d.ts.map +0 -0
  163. package/dist/src/CommonMethods.min.mjs +0 -0
  164. package/dist/src/CommonMethods.min.mjs.map +0 -0
  165. package/dist/src/CommonMethods.mjs +0 -0
  166. package/dist/src/CommonMethods.mjs.map +0 -0
  167. package/dist/src/EventTypeDefs.d.ts +0 -0
  168. package/dist/src/EventTypeDefs.d.ts.map +0 -0
  169. package/dist/src/Intersection.d.ts +0 -0
  170. package/dist/src/Intersection.d.ts.map +0 -0
  171. package/dist/src/Intersection.min.mjs +0 -0
  172. package/dist/src/Intersection.min.mjs.map +0 -0
  173. package/dist/src/Intersection.mjs +0 -0
  174. package/dist/src/Intersection.mjs.map +0 -0
  175. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  176. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  177. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +0 -0
  178. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +0 -0
  179. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -0
  180. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -0
  181. package/dist/src/LayoutManager/LayoutManager.d.ts +0 -0
  182. package/dist/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  183. package/dist/src/LayoutManager/LayoutManager.min.mjs +0 -0
  184. package/dist/src/LayoutManager/LayoutManager.min.mjs.map +0 -0
  185. package/dist/src/LayoutManager/LayoutManager.mjs +0 -0
  186. package/dist/src/LayoutManager/LayoutManager.mjs.map +0 -0
  187. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  188. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  189. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +0 -0
  190. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +0 -0
  191. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -0
  192. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -0
  193. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  194. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  195. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +0 -0
  196. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +0 -0
  197. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -0
  198. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -0
  199. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  200. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  201. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +0 -0
  202. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +0 -0
  203. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -0
  204. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -0
  205. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  206. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  207. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +0 -0
  208. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +0 -0
  209. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -0
  210. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -0
  211. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  212. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  213. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +0 -0
  214. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +0 -0
  215. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +0 -0
  216. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -0
  217. package/dist/src/LayoutManager/constants.d.ts +0 -0
  218. package/dist/src/LayoutManager/constants.d.ts.map +0 -0
  219. package/dist/src/LayoutManager/constants.min.mjs +0 -0
  220. package/dist/src/LayoutManager/constants.min.mjs.map +0 -0
  221. package/dist/src/LayoutManager/constants.mjs +0 -0
  222. package/dist/src/LayoutManager/constants.mjs.map +0 -0
  223. package/dist/src/LayoutManager/index.d.ts +0 -0
  224. package/dist/src/LayoutManager/index.d.ts.map +0 -0
  225. package/dist/src/LayoutManager/types.d.ts +0 -0
  226. package/dist/src/LayoutManager/types.d.ts.map +0 -0
  227. package/dist/src/Observable.d.ts +0 -0
  228. package/dist/src/Observable.d.ts.map +0 -0
  229. package/dist/src/Observable.min.mjs +0 -0
  230. package/dist/src/Observable.min.mjs.map +0 -0
  231. package/dist/src/Observable.mjs +0 -0
  232. package/dist/src/Observable.mjs.map +0 -0
  233. package/dist/src/Pattern/Pattern.d.ts +0 -0
  234. package/dist/src/Pattern/Pattern.d.ts.map +0 -0
  235. package/dist/src/Pattern/Pattern.min.mjs +0 -0
  236. package/dist/src/Pattern/Pattern.min.mjs.map +0 -0
  237. package/dist/src/Pattern/Pattern.mjs +0 -0
  238. package/dist/src/Pattern/Pattern.mjs.map +0 -0
  239. package/dist/src/Pattern/index.d.ts +0 -0
  240. package/dist/src/Pattern/index.d.ts.map +0 -0
  241. package/dist/src/Pattern/types.d.ts +0 -0
  242. package/dist/src/Pattern/types.d.ts.map +0 -0
  243. package/dist/src/Point.d.ts +0 -0
  244. package/dist/src/Point.d.ts.map +0 -0
  245. package/dist/src/Point.min.mjs +0 -0
  246. package/dist/src/Point.min.mjs.map +0 -0
  247. package/dist/src/Point.mjs +0 -0
  248. package/dist/src/Point.mjs.map +0 -0
  249. package/dist/src/Shadow.d.ts +0 -0
  250. package/dist/src/Shadow.d.ts.map +0 -0
  251. package/dist/src/Shadow.min.mjs +0 -0
  252. package/dist/src/Shadow.min.mjs.map +0 -0
  253. package/dist/src/Shadow.mjs +0 -0
  254. package/dist/src/Shadow.mjs.map +0 -0
  255. package/dist/src/brushes/BaseBrush.d.ts +0 -0
  256. package/dist/src/brushes/BaseBrush.d.ts.map +0 -0
  257. package/dist/src/brushes/BaseBrush.min.mjs +0 -0
  258. package/dist/src/brushes/BaseBrush.min.mjs.map +0 -0
  259. package/dist/src/brushes/BaseBrush.mjs +0 -0
  260. package/dist/src/brushes/BaseBrush.mjs.map +0 -0
  261. package/dist/src/brushes/CircleBrush.d.ts +0 -0
  262. package/dist/src/brushes/CircleBrush.d.ts.map +0 -0
  263. package/dist/src/brushes/CircleBrush.min.mjs +0 -0
  264. package/dist/src/brushes/CircleBrush.min.mjs.map +0 -0
  265. package/dist/src/brushes/CircleBrush.mjs +0 -0
  266. package/dist/src/brushes/CircleBrush.mjs.map +0 -0
  267. package/dist/src/brushes/PatternBrush.d.ts +0 -0
  268. package/dist/src/brushes/PatternBrush.d.ts.map +0 -0
  269. package/dist/src/brushes/PatternBrush.min.mjs +0 -0
  270. package/dist/src/brushes/PatternBrush.min.mjs.map +0 -0
  271. package/dist/src/brushes/PatternBrush.mjs +0 -0
  272. package/dist/src/brushes/PatternBrush.mjs.map +0 -0
  273. package/dist/src/brushes/PencilBrush.d.ts +0 -0
  274. package/dist/src/brushes/PencilBrush.d.ts.map +0 -0
  275. package/dist/src/brushes/PencilBrush.min.mjs +0 -0
  276. package/dist/src/brushes/PencilBrush.min.mjs.map +0 -0
  277. package/dist/src/brushes/PencilBrush.mjs +0 -0
  278. package/dist/src/brushes/PencilBrush.mjs.map +0 -0
  279. package/dist/src/brushes/SprayBrush.d.ts +0 -0
  280. package/dist/src/brushes/SprayBrush.d.ts.map +0 -0
  281. package/dist/src/brushes/SprayBrush.min.mjs +0 -0
  282. package/dist/src/brushes/SprayBrush.min.mjs.map +0 -0
  283. package/dist/src/brushes/SprayBrush.mjs +0 -0
  284. package/dist/src/brushes/SprayBrush.mjs.map +0 -0
  285. package/dist/src/brushes/typedefs.d.ts +0 -0
  286. package/dist/src/brushes/typedefs.d.ts.map +0 -0
  287. package/dist/src/cache.d.ts +0 -0
  288. package/dist/src/cache.d.ts.map +0 -0
  289. package/dist/src/cache.min.mjs +0 -0
  290. package/dist/src/cache.min.mjs.map +0 -0
  291. package/dist/src/cache.mjs +0 -0
  292. package/dist/src/cache.mjs.map +0 -0
  293. package/dist/src/canvas/Canvas.d.ts +0 -0
  294. package/dist/src/canvas/Canvas.d.ts.map +0 -0
  295. package/dist/src/canvas/Canvas.min.mjs +0 -0
  296. package/dist/src/canvas/Canvas.min.mjs.map +0 -0
  297. package/dist/src/canvas/Canvas.mjs +0 -0
  298. package/dist/src/canvas/Canvas.mjs.map +0 -0
  299. package/dist/src/canvas/CanvasOptions.d.ts +0 -0
  300. package/dist/src/canvas/CanvasOptions.d.ts.map +0 -0
  301. package/dist/src/canvas/CanvasOptions.min.mjs +0 -0
  302. package/dist/src/canvas/CanvasOptions.min.mjs.map +0 -0
  303. package/dist/src/canvas/CanvasOptions.mjs +0 -0
  304. package/dist/src/canvas/CanvasOptions.mjs.map +0 -0
  305. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  306. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  307. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +0 -0
  308. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +0 -0
  309. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -0
  310. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -0
  311. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  312. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  313. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +0 -0
  314. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +0 -0
  315. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -0
  316. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -0
  317. package/dist/src/canvas/DOMManagers/util.d.ts +0 -0
  318. package/dist/src/canvas/DOMManagers/util.d.ts.map +0 -0
  319. package/dist/src/canvas/DOMManagers/util.min.mjs +0 -0
  320. package/dist/src/canvas/DOMManagers/util.min.mjs.map +0 -0
  321. package/dist/src/canvas/DOMManagers/util.mjs +0 -0
  322. package/dist/src/canvas/DOMManagers/util.mjs.map +0 -0
  323. package/dist/src/canvas/SelectableCanvas.d.ts +0 -0
  324. package/dist/src/canvas/SelectableCanvas.d.ts.map +0 -0
  325. package/dist/src/canvas/SelectableCanvas.min.mjs +0 -0
  326. package/dist/src/canvas/SelectableCanvas.min.mjs.map +0 -0
  327. package/dist/src/canvas/SelectableCanvas.mjs +0 -0
  328. package/dist/src/canvas/SelectableCanvas.mjs.map +0 -0
  329. package/dist/src/canvas/StaticCanvas.d.ts +0 -0
  330. package/dist/src/canvas/StaticCanvas.d.ts.map +0 -0
  331. package/dist/src/canvas/StaticCanvas.min.mjs +0 -0
  332. package/dist/src/canvas/StaticCanvas.min.mjs.map +0 -0
  333. package/dist/src/canvas/StaticCanvas.mjs +0 -0
  334. package/dist/src/canvas/StaticCanvas.mjs.map +0 -0
  335. package/dist/src/canvas/StaticCanvasOptions.d.ts +0 -0
  336. package/dist/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  337. package/dist/src/canvas/StaticCanvasOptions.min.mjs +0 -0
  338. package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +0 -0
  339. package/dist/src/canvas/StaticCanvasOptions.mjs +0 -0
  340. package/dist/src/canvas/StaticCanvasOptions.mjs.map +0 -0
  341. package/dist/src/canvas/TextEditingManager.d.ts +0 -0
  342. package/dist/src/canvas/TextEditingManager.d.ts.map +0 -0
  343. package/dist/src/canvas/TextEditingManager.min.mjs +0 -0
  344. package/dist/src/canvas/TextEditingManager.min.mjs.map +0 -0
  345. package/dist/src/canvas/TextEditingManager.mjs +0 -0
  346. package/dist/src/canvas/TextEditingManager.mjs.map +0 -0
  347. package/dist/src/canvas/canvas_gestures.mixin.d.ts +0 -0
  348. package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +0 -0
  349. package/dist/src/color/Color.d.ts +0 -0
  350. package/dist/src/color/Color.d.ts.map +0 -0
  351. package/dist/src/color/Color.min.mjs +0 -0
  352. package/dist/src/color/Color.min.mjs.map +0 -0
  353. package/dist/src/color/Color.mjs +0 -0
  354. package/dist/src/color/Color.mjs.map +0 -0
  355. package/dist/src/color/color_map.d.ts +0 -0
  356. package/dist/src/color/color_map.d.ts.map +0 -0
  357. package/dist/src/color/color_map.min.mjs +0 -0
  358. package/dist/src/color/color_map.min.mjs.map +0 -0
  359. package/dist/src/color/color_map.mjs +0 -0
  360. package/dist/src/color/color_map.mjs.map +0 -0
  361. package/dist/src/color/constants.d.ts +0 -0
  362. package/dist/src/color/constants.d.ts.map +0 -0
  363. package/dist/src/color/constants.min.mjs +0 -0
  364. package/dist/src/color/constants.min.mjs.map +0 -0
  365. package/dist/src/color/constants.mjs +0 -0
  366. package/dist/src/color/constants.mjs.map +0 -0
  367. package/dist/src/color/typedefs.d.ts +0 -0
  368. package/dist/src/color/typedefs.d.ts.map +0 -0
  369. package/dist/src/color/util.d.ts +0 -0
  370. package/dist/src/color/util.d.ts.map +0 -0
  371. package/dist/src/color/util.min.mjs +0 -0
  372. package/dist/src/color/util.min.mjs.map +0 -0
  373. package/dist/src/color/util.mjs +0 -0
  374. package/dist/src/color/util.mjs.map +0 -0
  375. package/dist/src/config.d.ts +0 -0
  376. package/dist/src/config.d.ts.map +0 -0
  377. package/dist/src/config.min.mjs +0 -0
  378. package/dist/src/config.min.mjs.map +0 -0
  379. package/dist/src/config.mjs +0 -0
  380. package/dist/src/config.mjs.map +0 -0
  381. package/dist/src/constants.d.ts +0 -0
  382. package/dist/src/constants.d.ts.map +0 -0
  383. package/dist/src/constants.min.mjs +0 -0
  384. package/dist/src/constants.min.mjs.map +0 -0
  385. package/dist/src/constants.mjs +0 -0
  386. package/dist/src/constants.mjs.map +0 -0
  387. package/dist/src/controls/Control.d.ts +0 -0
  388. package/dist/src/controls/Control.d.ts.map +0 -0
  389. package/dist/src/controls/Control.min.mjs +0 -0
  390. package/dist/src/controls/Control.min.mjs.map +0 -0
  391. package/dist/src/controls/Control.mjs +0 -0
  392. package/dist/src/controls/Control.mjs.map +0 -0
  393. package/dist/src/controls/changeHeight.d.ts +0 -0
  394. package/dist/src/controls/changeHeight.d.ts.map +0 -0
  395. package/dist/src/controls/changeWidth.d.ts +0 -0
  396. package/dist/src/controls/changeWidth.d.ts.map +0 -0
  397. package/dist/src/controls/changeWidth.min.mjs +0 -0
  398. package/dist/src/controls/changeWidth.min.mjs.map +0 -0
  399. package/dist/src/controls/changeWidth.mjs +0 -0
  400. package/dist/src/controls/changeWidth.mjs.map +0 -0
  401. package/dist/src/controls/commonControls.d.ts +0 -0
  402. package/dist/src/controls/commonControls.d.ts.map +0 -0
  403. package/dist/src/controls/commonControls.min.mjs +0 -0
  404. package/dist/src/controls/commonControls.min.mjs.map +0 -0
  405. package/dist/src/controls/commonControls.mjs +0 -0
  406. package/dist/src/controls/commonControls.mjs.map +0 -0
  407. package/dist/src/controls/controlRendering.d.ts +0 -0
  408. package/dist/src/controls/controlRendering.d.ts.map +0 -0
  409. package/dist/src/controls/controlRendering.min.mjs +0 -0
  410. package/dist/src/controls/controlRendering.min.mjs.map +0 -0
  411. package/dist/src/controls/controlRendering.mjs +0 -0
  412. package/dist/src/controls/controlRendering.mjs.map +0 -0
  413. package/dist/src/controls/drag.d.ts +0 -0
  414. package/dist/src/controls/drag.d.ts.map +0 -0
  415. package/dist/src/controls/drag.min.mjs +0 -0
  416. package/dist/src/controls/drag.min.mjs.map +0 -0
  417. package/dist/src/controls/drag.mjs +0 -0
  418. package/dist/src/controls/drag.mjs.map +0 -0
  419. package/dist/src/controls/fireEvent.d.ts +0 -0
  420. package/dist/src/controls/fireEvent.d.ts.map +0 -0
  421. package/dist/src/controls/fireEvent.min.mjs +0 -0
  422. package/dist/src/controls/fireEvent.min.mjs.map +0 -0
  423. package/dist/src/controls/fireEvent.mjs +0 -0
  424. package/dist/src/controls/fireEvent.mjs.map +0 -0
  425. package/dist/src/controls/index.d.ts +0 -0
  426. package/dist/src/controls/index.d.ts.map +0 -0
  427. package/dist/src/controls/index.min.mjs +0 -0
  428. package/dist/src/controls/index.min.mjs.map +0 -0
  429. package/dist/src/controls/index.mjs +0 -0
  430. package/dist/src/controls/index.mjs.map +0 -0
  431. package/dist/src/controls/pathControl.d.ts +0 -0
  432. package/dist/src/controls/pathControl.d.ts.map +0 -0
  433. package/dist/src/controls/pathControl.min.mjs +0 -0
  434. package/dist/src/controls/pathControl.min.mjs.map +0 -0
  435. package/dist/src/controls/pathControl.mjs +0 -0
  436. package/dist/src/controls/pathControl.mjs.map +0 -0
  437. package/dist/src/controls/polyControl.d.ts +0 -0
  438. package/dist/src/controls/polyControl.d.ts.map +0 -0
  439. package/dist/src/controls/polyControl.min.mjs +0 -0
  440. package/dist/src/controls/polyControl.min.mjs.map +0 -0
  441. package/dist/src/controls/polyControl.mjs +0 -0
  442. package/dist/src/controls/polyControl.mjs.map +0 -0
  443. package/dist/src/controls/rotate.d.ts +0 -0
  444. package/dist/src/controls/rotate.d.ts.map +0 -0
  445. package/dist/src/controls/rotate.min.mjs +0 -0
  446. package/dist/src/controls/rotate.min.mjs.map +0 -0
  447. package/dist/src/controls/rotate.mjs +0 -0
  448. package/dist/src/controls/rotate.mjs.map +0 -0
  449. package/dist/src/controls/scale.d.ts +0 -0
  450. package/dist/src/controls/scale.d.ts.map +0 -0
  451. package/dist/src/controls/scale.min.mjs +0 -0
  452. package/dist/src/controls/scale.min.mjs.map +0 -0
  453. package/dist/src/controls/scale.mjs +0 -0
  454. package/dist/src/controls/scale.mjs.map +0 -0
  455. package/dist/src/controls/scaleSkew.d.ts +0 -0
  456. package/dist/src/controls/scaleSkew.d.ts.map +0 -0
  457. package/dist/src/controls/scaleSkew.min.mjs +0 -0
  458. package/dist/src/controls/scaleSkew.min.mjs.map +0 -0
  459. package/dist/src/controls/scaleSkew.mjs +0 -0
  460. package/dist/src/controls/scaleSkew.mjs.map +0 -0
  461. package/dist/src/controls/skew.d.ts +0 -0
  462. package/dist/src/controls/skew.d.ts.map +0 -0
  463. package/dist/src/controls/skew.min.mjs +0 -0
  464. package/dist/src/controls/skew.min.mjs.map +0 -0
  465. package/dist/src/controls/skew.mjs +0 -0
  466. package/dist/src/controls/skew.mjs.map +0 -0
  467. package/dist/src/controls/util.d.ts +0 -0
  468. package/dist/src/controls/util.d.ts.map +0 -0
  469. package/dist/src/controls/util.min.mjs +0 -0
  470. package/dist/src/controls/util.min.mjs.map +0 -0
  471. package/dist/src/controls/util.mjs +0 -0
  472. package/dist/src/controls/util.mjs.map +0 -0
  473. package/dist/src/controls/wrapWithFireEvent.d.ts +0 -0
  474. package/dist/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  475. package/dist/src/controls/wrapWithFireEvent.min.mjs +0 -0
  476. package/dist/src/controls/wrapWithFireEvent.min.mjs.map +0 -0
  477. package/dist/src/controls/wrapWithFireEvent.mjs +0 -0
  478. package/dist/src/controls/wrapWithFireEvent.mjs.map +0 -0
  479. package/dist/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  480. package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  481. package/dist/src/controls/wrapWithFixedAnchor.min.mjs +0 -0
  482. package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +0 -0
  483. package/dist/src/controls/wrapWithFixedAnchor.mjs +0 -0
  484. package/dist/src/controls/wrapWithFixedAnchor.mjs.map +0 -0
  485. package/dist/src/env/browser.d.ts +0 -0
  486. package/dist/src/env/browser.d.ts.map +0 -0
  487. package/dist/src/env/browser.min.mjs +0 -0
  488. package/dist/src/env/browser.min.mjs.map +0 -0
  489. package/dist/src/env/browser.mjs +0 -0
  490. package/dist/src/env/browser.mjs.map +0 -0
  491. package/dist/src/env/index.d.ts +0 -0
  492. package/dist/src/env/index.d.ts.map +0 -0
  493. package/dist/src/env/index.min.mjs +0 -0
  494. package/dist/src/env/index.min.mjs.map +0 -0
  495. package/dist/src/env/index.mjs +0 -0
  496. package/dist/src/env/index.mjs.map +0 -0
  497. package/dist/src/env/node.d.ts +0 -0
  498. package/dist/src/env/node.d.ts.map +0 -0
  499. package/dist/src/env/types.d.ts +0 -0
  500. package/dist/src/env/types.d.ts.map +0 -0
  501. package/dist/src/filters/BaseFilter.d.ts +0 -0
  502. package/dist/src/filters/BaseFilter.d.ts.map +0 -0
  503. package/dist/src/filters/BaseFilter.min.mjs +0 -0
  504. package/dist/src/filters/BaseFilter.min.mjs.map +0 -0
  505. package/dist/src/filters/BaseFilter.mjs +0 -0
  506. package/dist/src/filters/BaseFilter.mjs.map +0 -0
  507. package/dist/src/filters/BlendColor.d.ts +0 -0
  508. package/dist/src/filters/BlendColor.d.ts.map +0 -0
  509. package/dist/src/filters/BlendColor.min.mjs +0 -0
  510. package/dist/src/filters/BlendColor.min.mjs.map +0 -0
  511. package/dist/src/filters/BlendColor.mjs +0 -0
  512. package/dist/src/filters/BlendColor.mjs.map +0 -0
  513. package/dist/src/filters/BlendImage.d.ts +0 -0
  514. package/dist/src/filters/BlendImage.d.ts.map +0 -0
  515. package/dist/src/filters/BlendImage.min.mjs +0 -0
  516. package/dist/src/filters/BlendImage.min.mjs.map +0 -0
  517. package/dist/src/filters/BlendImage.mjs +0 -0
  518. package/dist/src/filters/BlendImage.mjs.map +0 -0
  519. package/dist/src/filters/Blur.d.ts +0 -0
  520. package/dist/src/filters/Blur.d.ts.map +0 -0
  521. package/dist/src/filters/Blur.min.mjs +0 -0
  522. package/dist/src/filters/Blur.min.mjs.map +0 -0
  523. package/dist/src/filters/Blur.mjs +0 -0
  524. package/dist/src/filters/Blur.mjs.map +0 -0
  525. package/dist/src/filters/Boilerplate.d.ts +0 -0
  526. package/dist/src/filters/Boilerplate.d.ts.map +0 -0
  527. package/dist/src/filters/Brightness.d.ts +0 -0
  528. package/dist/src/filters/Brightness.d.ts.map +0 -0
  529. package/dist/src/filters/Brightness.min.mjs +0 -0
  530. package/dist/src/filters/Brightness.min.mjs.map +0 -0
  531. package/dist/src/filters/Brightness.mjs +0 -0
  532. package/dist/src/filters/Brightness.mjs.map +0 -0
  533. package/dist/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  534. package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  535. package/dist/src/filters/Canvas2dFilterBackend.min.mjs +0 -0
  536. package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +0 -0
  537. package/dist/src/filters/Canvas2dFilterBackend.mjs +0 -0
  538. package/dist/src/filters/Canvas2dFilterBackend.mjs.map +0 -0
  539. package/dist/src/filters/ColorMatrix.d.ts +0 -0
  540. package/dist/src/filters/ColorMatrix.d.ts.map +0 -0
  541. package/dist/src/filters/ColorMatrix.min.mjs +0 -0
  542. package/dist/src/filters/ColorMatrix.min.mjs.map +0 -0
  543. package/dist/src/filters/ColorMatrix.mjs +0 -0
  544. package/dist/src/filters/ColorMatrix.mjs.map +0 -0
  545. package/dist/src/filters/ColorMatrixFilters.d.ts +0 -0
  546. package/dist/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  547. package/dist/src/filters/ColorMatrixFilters.min.mjs +0 -0
  548. package/dist/src/filters/ColorMatrixFilters.min.mjs.map +0 -0
  549. package/dist/src/filters/ColorMatrixFilters.mjs +0 -0
  550. package/dist/src/filters/ColorMatrixFilters.mjs.map +0 -0
  551. package/dist/src/filters/Composed.d.ts +0 -0
  552. package/dist/src/filters/Composed.d.ts.map +0 -0
  553. package/dist/src/filters/Composed.min.mjs +0 -0
  554. package/dist/src/filters/Composed.min.mjs.map +0 -0
  555. package/dist/src/filters/Composed.mjs +0 -0
  556. package/dist/src/filters/Composed.mjs.map +0 -0
  557. package/dist/src/filters/Contrast.d.ts +0 -0
  558. package/dist/src/filters/Contrast.d.ts.map +0 -0
  559. package/dist/src/filters/Contrast.min.mjs +0 -0
  560. package/dist/src/filters/Contrast.min.mjs.map +0 -0
  561. package/dist/src/filters/Contrast.mjs +0 -0
  562. package/dist/src/filters/Contrast.mjs.map +0 -0
  563. package/dist/src/filters/Convolute.d.ts +0 -0
  564. package/dist/src/filters/Convolute.d.ts.map +0 -0
  565. package/dist/src/filters/Convolute.min.mjs +0 -0
  566. package/dist/src/filters/Convolute.min.mjs.map +0 -0
  567. package/dist/src/filters/Convolute.mjs +0 -0
  568. package/dist/src/filters/Convolute.mjs.map +0 -0
  569. package/dist/src/filters/FilterBackend.d.ts +0 -0
  570. package/dist/src/filters/FilterBackend.d.ts.map +0 -0
  571. package/dist/src/filters/FilterBackend.min.mjs +0 -0
  572. package/dist/src/filters/FilterBackend.min.mjs.map +0 -0
  573. package/dist/src/filters/FilterBackend.mjs +0 -0
  574. package/dist/src/filters/FilterBackend.mjs.map +0 -0
  575. package/dist/src/filters/GLProbes/GLProbe.d.ts +0 -0
  576. package/dist/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  577. package/dist/src/filters/GLProbes/GLProbe.min.mjs +0 -0
  578. package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +0 -0
  579. package/dist/src/filters/GLProbes/GLProbe.mjs +0 -0
  580. package/dist/src/filters/GLProbes/GLProbe.mjs.map +0 -0
  581. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +0 -0
  582. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +0 -0
  583. package/dist/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  584. package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  585. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +0 -0
  586. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +0 -0
  587. package/dist/src/filters/GLProbes/WebGLProbe.mjs +0 -0
  588. package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +0 -0
  589. package/dist/src/filters/Gamma.d.ts +0 -0
  590. package/dist/src/filters/Gamma.d.ts.map +0 -0
  591. package/dist/src/filters/Gamma.min.mjs +0 -0
  592. package/dist/src/filters/Gamma.min.mjs.map +0 -0
  593. package/dist/src/filters/Gamma.mjs +0 -0
  594. package/dist/src/filters/Gamma.mjs.map +0 -0
  595. package/dist/src/filters/Grayscale.d.ts +0 -0
  596. package/dist/src/filters/Grayscale.d.ts.map +0 -0
  597. package/dist/src/filters/Grayscale.min.mjs +0 -0
  598. package/dist/src/filters/Grayscale.min.mjs.map +0 -0
  599. package/dist/src/filters/Grayscale.mjs +0 -0
  600. package/dist/src/filters/Grayscale.mjs.map +0 -0
  601. package/dist/src/filters/HueRotation.d.ts +0 -0
  602. package/dist/src/filters/HueRotation.d.ts.map +0 -0
  603. package/dist/src/filters/HueRotation.min.mjs +0 -0
  604. package/dist/src/filters/HueRotation.min.mjs.map +0 -0
  605. package/dist/src/filters/HueRotation.mjs +0 -0
  606. package/dist/src/filters/HueRotation.mjs.map +0 -0
  607. package/dist/src/filters/Invert.d.ts +0 -0
  608. package/dist/src/filters/Invert.d.ts.map +0 -0
  609. package/dist/src/filters/Invert.min.mjs +0 -0
  610. package/dist/src/filters/Invert.min.mjs.map +0 -0
  611. package/dist/src/filters/Invert.mjs +0 -0
  612. package/dist/src/filters/Invert.mjs.map +0 -0
  613. package/dist/src/filters/Noise.d.ts +0 -0
  614. package/dist/src/filters/Noise.d.ts.map +0 -0
  615. package/dist/src/filters/Noise.min.mjs +0 -0
  616. package/dist/src/filters/Noise.min.mjs.map +0 -0
  617. package/dist/src/filters/Noise.mjs +0 -0
  618. package/dist/src/filters/Noise.mjs.map +0 -0
  619. package/dist/src/filters/Pixelate.d.ts +0 -0
  620. package/dist/src/filters/Pixelate.d.ts.map +0 -0
  621. package/dist/src/filters/Pixelate.min.mjs +0 -0
  622. package/dist/src/filters/Pixelate.min.mjs.map +0 -0
  623. package/dist/src/filters/Pixelate.mjs +0 -0
  624. package/dist/src/filters/Pixelate.mjs.map +0 -0
  625. package/dist/src/filters/RemoveColor.d.ts +0 -0
  626. package/dist/src/filters/RemoveColor.d.ts.map +0 -0
  627. package/dist/src/filters/RemoveColor.min.mjs +0 -0
  628. package/dist/src/filters/RemoveColor.min.mjs.map +0 -0
  629. package/dist/src/filters/RemoveColor.mjs +0 -0
  630. package/dist/src/filters/RemoveColor.mjs.map +0 -0
  631. package/dist/src/filters/Resize.d.ts +0 -0
  632. package/dist/src/filters/Resize.d.ts.map +0 -0
  633. package/dist/src/filters/Resize.min.mjs +0 -0
  634. package/dist/src/filters/Resize.min.mjs.map +0 -0
  635. package/dist/src/filters/Resize.mjs +0 -0
  636. package/dist/src/filters/Resize.mjs.map +0 -0
  637. package/dist/src/filters/Saturation.d.ts +0 -0
  638. package/dist/src/filters/Saturation.d.ts.map +0 -0
  639. package/dist/src/filters/Saturation.min.mjs +0 -0
  640. package/dist/src/filters/Saturation.min.mjs.map +0 -0
  641. package/dist/src/filters/Saturation.mjs +0 -0
  642. package/dist/src/filters/Saturation.mjs.map +0 -0
  643. package/dist/src/filters/Vibrance.d.ts +0 -0
  644. package/dist/src/filters/Vibrance.d.ts.map +0 -0
  645. package/dist/src/filters/Vibrance.min.mjs +0 -0
  646. package/dist/src/filters/Vibrance.min.mjs.map +0 -0
  647. package/dist/src/filters/Vibrance.mjs +0 -0
  648. package/dist/src/filters/Vibrance.mjs.map +0 -0
  649. package/dist/src/filters/WebGLFilterBackend.d.ts +0 -0
  650. package/dist/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  651. package/dist/src/filters/WebGLFilterBackend.min.mjs +0 -0
  652. package/dist/src/filters/WebGLFilterBackend.min.mjs.map +0 -0
  653. package/dist/src/filters/WebGLFilterBackend.mjs +0 -0
  654. package/dist/src/filters/WebGLFilterBackend.mjs.map +0 -0
  655. package/dist/src/filters/filters.d.ts +0 -0
  656. package/dist/src/filters/filters.d.ts.map +0 -0
  657. package/dist/src/filters/filters.min.mjs +0 -0
  658. package/dist/src/filters/filters.min.mjs.map +0 -0
  659. package/dist/src/filters/filters.mjs +0 -0
  660. package/dist/src/filters/filters.mjs.map +0 -0
  661. package/dist/src/filters/index.d.ts +0 -0
  662. package/dist/src/filters/index.d.ts.map +0 -0
  663. package/dist/src/filters/shaders/baseFilter.d.ts +0 -0
  664. package/dist/src/filters/shaders/baseFilter.d.ts.map +0 -0
  665. package/dist/src/filters/shaders/baseFilter.min.mjs +0 -0
  666. package/dist/src/filters/shaders/baseFilter.min.mjs.map +0 -0
  667. package/dist/src/filters/shaders/baseFilter.mjs +0 -0
  668. package/dist/src/filters/shaders/baseFilter.mjs.map +0 -0
  669. package/dist/src/filters/shaders/blendColor.d.ts +0 -0
  670. package/dist/src/filters/shaders/blendColor.d.ts.map +0 -0
  671. package/dist/src/filters/shaders/blendColor.min.mjs +0 -0
  672. package/dist/src/filters/shaders/blendColor.min.mjs.map +0 -0
  673. package/dist/src/filters/shaders/blendColor.mjs +0 -0
  674. package/dist/src/filters/shaders/blendColor.mjs.map +0 -0
  675. package/dist/src/filters/shaders/blendImage.d.ts +0 -0
  676. package/dist/src/filters/shaders/blendImage.d.ts.map +0 -0
  677. package/dist/src/filters/shaders/blendImage.min.mjs +0 -0
  678. package/dist/src/filters/shaders/blendImage.min.mjs.map +0 -0
  679. package/dist/src/filters/shaders/blendImage.mjs +0 -0
  680. package/dist/src/filters/shaders/blendImage.mjs.map +0 -0
  681. package/dist/src/filters/shaders/blur.d.ts +0 -0
  682. package/dist/src/filters/shaders/blur.d.ts.map +0 -0
  683. package/dist/src/filters/shaders/blur.min.mjs +0 -0
  684. package/dist/src/filters/shaders/blur.min.mjs.map +0 -0
  685. package/dist/src/filters/shaders/blur.mjs +0 -0
  686. package/dist/src/filters/shaders/blur.mjs.map +0 -0
  687. package/dist/src/filters/shaders/brightness.d.ts +0 -0
  688. package/dist/src/filters/shaders/brightness.d.ts.map +0 -0
  689. package/dist/src/filters/shaders/brightness.min.mjs +0 -0
  690. package/dist/src/filters/shaders/brightness.min.mjs.map +0 -0
  691. package/dist/src/filters/shaders/brightness.mjs +0 -0
  692. package/dist/src/filters/shaders/brightness.mjs.map +0 -0
  693. package/dist/src/filters/shaders/colorMatrix.d.ts +0 -0
  694. package/dist/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  695. package/dist/src/filters/shaders/colorMatrix.min.mjs +0 -0
  696. package/dist/src/filters/shaders/colorMatrix.min.mjs.map +0 -0
  697. package/dist/src/filters/shaders/colorMatrix.mjs +0 -0
  698. package/dist/src/filters/shaders/colorMatrix.mjs.map +0 -0
  699. package/dist/src/filters/shaders/constrast.d.ts +0 -0
  700. package/dist/src/filters/shaders/constrast.d.ts.map +0 -0
  701. package/dist/src/filters/shaders/constrast.min.mjs +0 -0
  702. package/dist/src/filters/shaders/constrast.min.mjs.map +0 -0
  703. package/dist/src/filters/shaders/constrast.mjs +0 -0
  704. package/dist/src/filters/shaders/constrast.mjs.map +0 -0
  705. package/dist/src/filters/shaders/convolute.d.ts +0 -0
  706. package/dist/src/filters/shaders/convolute.d.ts.map +0 -0
  707. package/dist/src/filters/shaders/convolute.min.mjs +0 -0
  708. package/dist/src/filters/shaders/convolute.min.mjs.map +0 -0
  709. package/dist/src/filters/shaders/convolute.mjs +0 -0
  710. package/dist/src/filters/shaders/convolute.mjs.map +0 -0
  711. package/dist/src/filters/shaders/gamma.d.ts +0 -0
  712. package/dist/src/filters/shaders/gamma.d.ts.map +0 -0
  713. package/dist/src/filters/shaders/gamma.min.mjs +0 -0
  714. package/dist/src/filters/shaders/gamma.min.mjs.map +0 -0
  715. package/dist/src/filters/shaders/gamma.mjs +0 -0
  716. package/dist/src/filters/shaders/gamma.mjs.map +0 -0
  717. package/dist/src/filters/shaders/grayscale.d.ts +0 -0
  718. package/dist/src/filters/shaders/grayscale.d.ts.map +0 -0
  719. package/dist/src/filters/shaders/grayscale.min.mjs +0 -0
  720. package/dist/src/filters/shaders/grayscale.min.mjs.map +0 -0
  721. package/dist/src/filters/shaders/grayscale.mjs +0 -0
  722. package/dist/src/filters/shaders/grayscale.mjs.map +0 -0
  723. package/dist/src/filters/shaders/invert.d.ts +0 -0
  724. package/dist/src/filters/shaders/invert.d.ts.map +0 -0
  725. package/dist/src/filters/shaders/invert.min.mjs +0 -0
  726. package/dist/src/filters/shaders/invert.min.mjs.map +0 -0
  727. package/dist/src/filters/shaders/invert.mjs +0 -0
  728. package/dist/src/filters/shaders/invert.mjs.map +0 -0
  729. package/dist/src/filters/shaders/noise.d.ts +0 -0
  730. package/dist/src/filters/shaders/noise.d.ts.map +0 -0
  731. package/dist/src/filters/shaders/noise.min.mjs +0 -0
  732. package/dist/src/filters/shaders/noise.min.mjs.map +0 -0
  733. package/dist/src/filters/shaders/noise.mjs +0 -0
  734. package/dist/src/filters/shaders/noise.mjs.map +0 -0
  735. package/dist/src/filters/shaders/pixelate.d.ts +0 -0
  736. package/dist/src/filters/shaders/pixelate.d.ts.map +0 -0
  737. package/dist/src/filters/shaders/pixelate.min.mjs +0 -0
  738. package/dist/src/filters/shaders/pixelate.min.mjs.map +0 -0
  739. package/dist/src/filters/shaders/pixelate.mjs +0 -0
  740. package/dist/src/filters/shaders/pixelate.mjs.map +0 -0
  741. package/dist/src/filters/shaders/removeColor.d.ts +0 -0
  742. package/dist/src/filters/shaders/removeColor.d.ts.map +0 -0
  743. package/dist/src/filters/shaders/removeColor.min.mjs +0 -0
  744. package/dist/src/filters/shaders/removeColor.min.mjs.map +0 -0
  745. package/dist/src/filters/shaders/removeColor.mjs +0 -0
  746. package/dist/src/filters/shaders/removeColor.mjs.map +0 -0
  747. package/dist/src/filters/shaders/saturation.d.ts +0 -0
  748. package/dist/src/filters/shaders/saturation.d.ts.map +0 -0
  749. package/dist/src/filters/shaders/saturation.min.mjs +0 -0
  750. package/dist/src/filters/shaders/saturation.min.mjs.map +0 -0
  751. package/dist/src/filters/shaders/saturation.mjs +0 -0
  752. package/dist/src/filters/shaders/saturation.mjs.map +0 -0
  753. package/dist/src/filters/shaders/vibrance.d.ts +0 -0
  754. package/dist/src/filters/shaders/vibrance.d.ts.map +0 -0
  755. package/dist/src/filters/shaders/vibrance.min.mjs +0 -0
  756. package/dist/src/filters/shaders/vibrance.min.mjs.map +0 -0
  757. package/dist/src/filters/shaders/vibrance.mjs +0 -0
  758. package/dist/src/filters/shaders/vibrance.mjs.map +0 -0
  759. package/dist/src/filters/typedefs.d.ts +0 -0
  760. package/dist/src/filters/typedefs.d.ts.map +0 -0
  761. package/dist/src/filters/utils.d.ts +0 -0
  762. package/dist/src/filters/utils.d.ts.map +0 -0
  763. package/dist/src/filters/utils.min.mjs +0 -0
  764. package/dist/src/filters/utils.min.mjs.map +0 -0
  765. package/dist/src/filters/utils.mjs +0 -0
  766. package/dist/src/filters/utils.mjs.map +0 -0
  767. package/dist/src/gradient/Gradient.d.ts +0 -0
  768. package/dist/src/gradient/Gradient.d.ts.map +0 -0
  769. package/dist/src/gradient/Gradient.min.mjs +0 -0
  770. package/dist/src/gradient/Gradient.min.mjs.map +0 -0
  771. package/dist/src/gradient/Gradient.mjs +0 -0
  772. package/dist/src/gradient/Gradient.mjs.map +0 -0
  773. package/dist/src/gradient/constants.d.ts +0 -0
  774. package/dist/src/gradient/constants.d.ts.map +0 -0
  775. package/dist/src/gradient/constants.min.mjs +0 -0
  776. package/dist/src/gradient/constants.min.mjs.map +0 -0
  777. package/dist/src/gradient/constants.mjs +0 -0
  778. package/dist/src/gradient/constants.mjs.map +0 -0
  779. package/dist/src/gradient/index.d.ts +0 -0
  780. package/dist/src/gradient/index.d.ts.map +0 -0
  781. package/dist/src/gradient/parser/misc.d.ts +0 -0
  782. package/dist/src/gradient/parser/misc.d.ts.map +0 -0
  783. package/dist/src/gradient/parser/misc.min.mjs +0 -0
  784. package/dist/src/gradient/parser/misc.min.mjs.map +0 -0
  785. package/dist/src/gradient/parser/misc.mjs +0 -0
  786. package/dist/src/gradient/parser/misc.mjs.map +0 -0
  787. package/dist/src/gradient/parser/parseColorStops.d.ts +0 -0
  788. package/dist/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  789. package/dist/src/gradient/parser/parseColorStops.min.mjs +0 -0
  790. package/dist/src/gradient/parser/parseColorStops.min.mjs.map +0 -0
  791. package/dist/src/gradient/parser/parseColorStops.mjs +0 -0
  792. package/dist/src/gradient/parser/parseColorStops.mjs.map +0 -0
  793. package/dist/src/gradient/parser/parseCoords.d.ts +0 -0
  794. package/dist/src/gradient/parser/parseCoords.d.ts.map +0 -0
  795. package/dist/src/gradient/parser/parseCoords.min.mjs +0 -0
  796. package/dist/src/gradient/parser/parseCoords.min.mjs.map +0 -0
  797. package/dist/src/gradient/parser/parseCoords.mjs +0 -0
  798. package/dist/src/gradient/parser/parseCoords.mjs.map +0 -0
  799. package/dist/src/gradient/typedefs.d.ts +0 -0
  800. package/dist/src/gradient/typedefs.d.ts.map +0 -0
  801. package/dist/src/mixins/eraser_brush.mixin.d.ts +0 -0
  802. package/dist/src/mixins/eraser_brush.mixin.d.ts.map +0 -0
  803. package/dist/src/parkinglot/canvas_animation.mixin.d.ts +0 -0
  804. package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +0 -0
  805. package/dist/src/parkinglot/straighten.d.ts +0 -0
  806. package/dist/src/parkinglot/straighten.d.ts.map +0 -0
  807. package/dist/src/parser/applyViewboxTransform.d.ts +0 -0
  808. package/dist/src/parser/applyViewboxTransform.d.ts.map +0 -0
  809. package/dist/src/parser/applyViewboxTransform.min.mjs +0 -0
  810. package/dist/src/parser/applyViewboxTransform.min.mjs.map +0 -0
  811. package/dist/src/parser/applyViewboxTransform.mjs +0 -0
  812. package/dist/src/parser/applyViewboxTransform.mjs.map +0 -0
  813. package/dist/src/parser/attributes.d.ts +0 -0
  814. package/dist/src/parser/attributes.d.ts.map +0 -0
  815. package/dist/src/parser/attributes.min.mjs +0 -0
  816. package/dist/src/parser/attributes.min.mjs.map +0 -0
  817. package/dist/src/parser/attributes.mjs +0 -0
  818. package/dist/src/parser/attributes.mjs.map +0 -0
  819. package/dist/src/parser/constants.d.ts +0 -0
  820. package/dist/src/parser/constants.d.ts.map +0 -0
  821. package/dist/src/parser/constants.min.mjs +0 -0
  822. package/dist/src/parser/constants.min.mjs.map +0 -0
  823. package/dist/src/parser/constants.mjs +0 -0
  824. package/dist/src/parser/constants.mjs.map +0 -0
  825. package/dist/src/parser/doesSomeParentMatch.d.ts +0 -0
  826. package/dist/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  827. package/dist/src/parser/doesSomeParentMatch.min.mjs +0 -0
  828. package/dist/src/parser/doesSomeParentMatch.min.mjs.map +0 -0
  829. package/dist/src/parser/doesSomeParentMatch.mjs +0 -0
  830. package/dist/src/parser/doesSomeParentMatch.mjs.map +0 -0
  831. package/dist/src/parser/elementMatchesRule.d.ts +0 -0
  832. package/dist/src/parser/elementMatchesRule.d.ts.map +0 -0
  833. package/dist/src/parser/elementMatchesRule.min.mjs +0 -0
  834. package/dist/src/parser/elementMatchesRule.min.mjs.map +0 -0
  835. package/dist/src/parser/elementMatchesRule.mjs +0 -0
  836. package/dist/src/parser/elementMatchesRule.mjs.map +0 -0
  837. package/dist/src/parser/elements_parser.d.ts +0 -0
  838. package/dist/src/parser/elements_parser.d.ts.map +0 -0
  839. package/dist/src/parser/elements_parser.min.mjs +0 -0
  840. package/dist/src/parser/elements_parser.min.mjs.map +0 -0
  841. package/dist/src/parser/elements_parser.mjs +0 -0
  842. package/dist/src/parser/elements_parser.mjs.map +0 -0
  843. package/dist/src/parser/getCSSRules.d.ts +0 -0
  844. package/dist/src/parser/getCSSRules.d.ts.map +0 -0
  845. package/dist/src/parser/getCSSRules.min.mjs +0 -0
  846. package/dist/src/parser/getCSSRules.min.mjs.map +0 -0
  847. package/dist/src/parser/getCSSRules.mjs +0 -0
  848. package/dist/src/parser/getCSSRules.mjs.map +0 -0
  849. package/dist/src/parser/getGlobalStylesForElement.d.ts +0 -0
  850. package/dist/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  851. package/dist/src/parser/getGlobalStylesForElement.min.mjs +0 -0
  852. package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +0 -0
  853. package/dist/src/parser/getGlobalStylesForElement.mjs +0 -0
  854. package/dist/src/parser/getGlobalStylesForElement.mjs.map +0 -0
  855. package/dist/src/parser/getGradientDefs.d.ts +0 -0
  856. package/dist/src/parser/getGradientDefs.d.ts.map +0 -0
  857. package/dist/src/parser/getGradientDefs.min.mjs +0 -0
  858. package/dist/src/parser/getGradientDefs.min.mjs.map +0 -0
  859. package/dist/src/parser/getGradientDefs.mjs +0 -0
  860. package/dist/src/parser/getGradientDefs.mjs.map +0 -0
  861. package/dist/src/parser/getMultipleNodes.d.ts +0 -0
  862. package/dist/src/parser/getMultipleNodes.d.ts.map +0 -0
  863. package/dist/src/parser/getMultipleNodes.min.mjs +0 -0
  864. package/dist/src/parser/getMultipleNodes.min.mjs.map +0 -0
  865. package/dist/src/parser/getMultipleNodes.mjs +0 -0
  866. package/dist/src/parser/getMultipleNodes.mjs.map +0 -0
  867. package/dist/src/parser/getSvgRegex.d.ts +0 -0
  868. package/dist/src/parser/getSvgRegex.d.ts.map +0 -0
  869. package/dist/src/parser/getSvgRegex.min.mjs +0 -0
  870. package/dist/src/parser/getSvgRegex.min.mjs.map +0 -0
  871. package/dist/src/parser/getSvgRegex.mjs +0 -0
  872. package/dist/src/parser/getSvgRegex.mjs.map +0 -0
  873. package/dist/src/parser/getTagName.d.ts +0 -0
  874. package/dist/src/parser/getTagName.d.ts.map +0 -0
  875. package/dist/src/parser/getTagName.min.mjs +0 -0
  876. package/dist/src/parser/getTagName.min.mjs.map +0 -0
  877. package/dist/src/parser/getTagName.mjs +0 -0
  878. package/dist/src/parser/getTagName.mjs.map +0 -0
  879. package/dist/src/parser/hasInvalidAncestor.d.ts +0 -0
  880. package/dist/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  881. package/dist/src/parser/hasInvalidAncestor.min.mjs +0 -0
  882. package/dist/src/parser/hasInvalidAncestor.min.mjs.map +0 -0
  883. package/dist/src/parser/hasInvalidAncestor.mjs +0 -0
  884. package/dist/src/parser/hasInvalidAncestor.mjs.map +0 -0
  885. package/dist/src/parser/loadSVGFromString.d.ts +0 -0
  886. package/dist/src/parser/loadSVGFromString.d.ts.map +0 -0
  887. package/dist/src/parser/loadSVGFromString.min.mjs +0 -0
  888. package/dist/src/parser/loadSVGFromString.min.mjs.map +0 -0
  889. package/dist/src/parser/loadSVGFromString.mjs +0 -0
  890. package/dist/src/parser/loadSVGFromString.mjs.map +0 -0
  891. package/dist/src/parser/loadSVGFromURL.d.ts +0 -0
  892. package/dist/src/parser/loadSVGFromURL.d.ts.map +0 -0
  893. package/dist/src/parser/loadSVGFromURL.min.mjs +0 -0
  894. package/dist/src/parser/loadSVGFromURL.min.mjs.map +0 -0
  895. package/dist/src/parser/loadSVGFromURL.mjs +0 -0
  896. package/dist/src/parser/loadSVGFromURL.mjs.map +0 -0
  897. package/dist/src/parser/normalizeAttr.d.ts +0 -0
  898. package/dist/src/parser/normalizeAttr.d.ts.map +0 -0
  899. package/dist/src/parser/normalizeAttr.min.mjs +0 -0
  900. package/dist/src/parser/normalizeAttr.min.mjs.map +0 -0
  901. package/dist/src/parser/normalizeAttr.mjs +0 -0
  902. package/dist/src/parser/normalizeAttr.mjs.map +0 -0
  903. package/dist/src/parser/normalizeValue.d.ts +0 -0
  904. package/dist/src/parser/normalizeValue.d.ts.map +0 -0
  905. package/dist/src/parser/normalizeValue.min.mjs +0 -0
  906. package/dist/src/parser/normalizeValue.min.mjs.map +0 -0
  907. package/dist/src/parser/normalizeValue.mjs +0 -0
  908. package/dist/src/parser/normalizeValue.mjs.map +0 -0
  909. package/dist/src/parser/parseAttributes.d.ts +0 -0
  910. package/dist/src/parser/parseAttributes.d.ts.map +0 -0
  911. package/dist/src/parser/parseAttributes.min.mjs +0 -0
  912. package/dist/src/parser/parseAttributes.min.mjs.map +0 -0
  913. package/dist/src/parser/parseAttributes.mjs +0 -0
  914. package/dist/src/parser/parseAttributes.mjs.map +0 -0
  915. package/dist/src/parser/parseFontDeclaration.d.ts +0 -0
  916. package/dist/src/parser/parseFontDeclaration.d.ts.map +0 -0
  917. package/dist/src/parser/parseFontDeclaration.min.mjs +0 -0
  918. package/dist/src/parser/parseFontDeclaration.min.mjs.map +0 -0
  919. package/dist/src/parser/parseFontDeclaration.mjs +0 -0
  920. package/dist/src/parser/parseFontDeclaration.mjs.map +0 -0
  921. package/dist/src/parser/parsePointsAttribute.d.ts +0 -0
  922. package/dist/src/parser/parsePointsAttribute.d.ts.map +0 -0
  923. package/dist/src/parser/parsePointsAttribute.min.mjs +0 -0
  924. package/dist/src/parser/parsePointsAttribute.min.mjs.map +0 -0
  925. package/dist/src/parser/parsePointsAttribute.mjs +0 -0
  926. package/dist/src/parser/parsePointsAttribute.mjs.map +0 -0
  927. package/dist/src/parser/parseSVGDocument.d.ts +0 -0
  928. package/dist/src/parser/parseSVGDocument.d.ts.map +0 -0
  929. package/dist/src/parser/parseSVGDocument.min.mjs +0 -0
  930. package/dist/src/parser/parseSVGDocument.min.mjs.map +0 -0
  931. package/dist/src/parser/parseSVGDocument.mjs +0 -0
  932. package/dist/src/parser/parseSVGDocument.mjs.map +0 -0
  933. package/dist/src/parser/parseStyleAttribute.d.ts +0 -0
  934. package/dist/src/parser/parseStyleAttribute.d.ts.map +0 -0
  935. package/dist/src/parser/parseStyleAttribute.min.mjs +0 -0
  936. package/dist/src/parser/parseStyleAttribute.min.mjs.map +0 -0
  937. package/dist/src/parser/parseStyleAttribute.mjs +0 -0
  938. package/dist/src/parser/parseStyleAttribute.mjs.map +0 -0
  939. package/dist/src/parser/parseStyleObject.d.ts +0 -0
  940. package/dist/src/parser/parseStyleObject.d.ts.map +0 -0
  941. package/dist/src/parser/parseStyleObject.min.mjs +0 -0
  942. package/dist/src/parser/parseStyleObject.min.mjs.map +0 -0
  943. package/dist/src/parser/parseStyleObject.mjs +0 -0
  944. package/dist/src/parser/parseStyleObject.mjs.map +0 -0
  945. package/dist/src/parser/parseStyleString.d.ts +0 -0
  946. package/dist/src/parser/parseStyleString.d.ts.map +0 -0
  947. package/dist/src/parser/parseStyleString.min.mjs +0 -0
  948. package/dist/src/parser/parseStyleString.min.mjs.map +0 -0
  949. package/dist/src/parser/parseStyleString.mjs +0 -0
  950. package/dist/src/parser/parseStyleString.mjs.map +0 -0
  951. package/dist/src/parser/parseTransformAttribute.d.ts +0 -0
  952. package/dist/src/parser/parseTransformAttribute.d.ts.map +0 -0
  953. package/dist/src/parser/parseTransformAttribute.min.mjs +0 -0
  954. package/dist/src/parser/parseTransformAttribute.min.mjs.map +0 -0
  955. package/dist/src/parser/parseTransformAttribute.mjs +0 -0
  956. package/dist/src/parser/parseTransformAttribute.mjs.map +0 -0
  957. package/dist/src/parser/parseUseDirectives.d.ts +0 -0
  958. package/dist/src/parser/parseUseDirectives.d.ts.map +0 -0
  959. package/dist/src/parser/parseUseDirectives.min.mjs +0 -0
  960. package/dist/src/parser/parseUseDirectives.min.mjs.map +0 -0
  961. package/dist/src/parser/parseUseDirectives.mjs +0 -0
  962. package/dist/src/parser/parseUseDirectives.mjs.map +0 -0
  963. package/dist/src/parser/percent.d.ts +0 -0
  964. package/dist/src/parser/percent.d.ts.map +0 -0
  965. package/dist/src/parser/percent.min.mjs +0 -0
  966. package/dist/src/parser/percent.min.mjs.map +0 -0
  967. package/dist/src/parser/percent.mjs +0 -0
  968. package/dist/src/parser/percent.mjs.map +0 -0
  969. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  970. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  971. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +0 -0
  972. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +0 -0
  973. package/dist/src/parser/recursivelyParseGradientsXlink.mjs +0 -0
  974. package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +0 -0
  975. package/dist/src/parser/selectorMatches.d.ts +0 -0
  976. package/dist/src/parser/selectorMatches.d.ts.map +0 -0
  977. package/dist/src/parser/selectorMatches.min.mjs +0 -0
  978. package/dist/src/parser/selectorMatches.min.mjs.map +0 -0
  979. package/dist/src/parser/selectorMatches.mjs +0 -0
  980. package/dist/src/parser/selectorMatches.mjs.map +0 -0
  981. package/dist/src/parser/setStrokeFillOpacity.d.ts +0 -0
  982. package/dist/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  983. package/dist/src/parser/setStrokeFillOpacity.min.mjs +0 -0
  984. package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +0 -0
  985. package/dist/src/parser/setStrokeFillOpacity.mjs +0 -0
  986. package/dist/src/parser/setStrokeFillOpacity.mjs.map +0 -0
  987. package/dist/src/parser/typedefs.d.ts +0 -0
  988. package/dist/src/parser/typedefs.d.ts.map +0 -0
  989. package/dist/src/shapes/ActiveSelection.d.ts +0 -0
  990. package/dist/src/shapes/ActiveSelection.d.ts.map +0 -0
  991. package/dist/src/shapes/ActiveSelection.min.mjs +0 -0
  992. package/dist/src/shapes/ActiveSelection.min.mjs.map +0 -0
  993. package/dist/src/shapes/ActiveSelection.mjs +0 -0
  994. package/dist/src/shapes/ActiveSelection.mjs.map +0 -0
  995. package/dist/src/shapes/Circle.d.ts +0 -0
  996. package/dist/src/shapes/Circle.d.ts.map +0 -0
  997. package/dist/src/shapes/Circle.min.mjs +0 -0
  998. package/dist/src/shapes/Circle.min.mjs.map +0 -0
  999. package/dist/src/shapes/Circle.mjs +0 -0
  1000. package/dist/src/shapes/Circle.mjs.map +0 -0
  1001. package/dist/src/shapes/Ellipse.d.ts +0 -0
  1002. package/dist/src/shapes/Ellipse.d.ts.map +0 -0
  1003. package/dist/src/shapes/Ellipse.min.mjs +0 -0
  1004. package/dist/src/shapes/Ellipse.min.mjs.map +0 -0
  1005. package/dist/src/shapes/Ellipse.mjs +0 -0
  1006. package/dist/src/shapes/Ellipse.mjs.map +0 -0
  1007. package/dist/src/shapes/Group.d.ts +0 -0
  1008. package/dist/src/shapes/Group.d.ts.map +0 -0
  1009. package/dist/src/shapes/Group.min.mjs +0 -0
  1010. package/dist/src/shapes/Group.min.mjs.map +0 -0
  1011. package/dist/src/shapes/Group.mjs +0 -0
  1012. package/dist/src/shapes/Group.mjs.map +0 -0
  1013. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  1014. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  1015. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +0 -0
  1016. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +0 -0
  1017. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +0 -0
  1018. package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -0
  1019. package/dist/src/shapes/IText/IText.d.ts +0 -0
  1020. package/dist/src/shapes/IText/IText.d.ts.map +0 -0
  1021. package/dist/src/shapes/IText/IText.min.mjs +0 -0
  1022. package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
  1023. package/dist/src/shapes/IText/IText.mjs +206 -206
  1024. package/dist/src/shapes/IText/IText.mjs.map +1 -1
  1025. package/dist/src/shapes/IText/ITextBehavior.d.ts +0 -0
  1026. package/dist/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
  1027. package/dist/src/shapes/IText/ITextBehavior.min.mjs +0 -0
  1028. package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
  1029. package/dist/src/shapes/IText/ITextBehavior.mjs +152 -152
  1030. package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
  1031. package/dist/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  1032. package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  1033. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +0 -0
  1034. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -1
  1035. package/dist/src/shapes/IText/ITextClickBehavior.mjs +36 -36
  1036. package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -1
  1037. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  1038. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  1039. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +0 -0
  1040. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -1
  1041. package/dist/src/shapes/IText/ITextKeyBehavior.mjs +115 -115
  1042. package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -1
  1043. package/dist/src/shapes/IText/constants.d.ts +0 -0
  1044. package/dist/src/shapes/IText/constants.d.ts.map +0 -0
  1045. package/dist/src/shapes/IText/constants.min.mjs +0 -0
  1046. package/dist/src/shapes/IText/constants.min.mjs.map +0 -0
  1047. package/dist/src/shapes/IText/constants.mjs +0 -0
  1048. package/dist/src/shapes/IText/constants.mjs.map +0 -0
  1049. package/dist/src/shapes/Image.d.ts +0 -0
  1050. package/dist/src/shapes/Image.d.ts.map +0 -0
  1051. package/dist/src/shapes/Image.min.mjs +0 -0
  1052. package/dist/src/shapes/Image.min.mjs.map +0 -0
  1053. package/dist/src/shapes/Image.mjs +0 -0
  1054. package/dist/src/shapes/Image.mjs.map +0 -0
  1055. package/dist/src/shapes/Line.d.ts +0 -0
  1056. package/dist/src/shapes/Line.d.ts.map +0 -0
  1057. package/dist/src/shapes/Line.min.mjs +0 -0
  1058. package/dist/src/shapes/Line.min.mjs.map +0 -0
  1059. package/dist/src/shapes/Line.mjs +0 -0
  1060. package/dist/src/shapes/Line.mjs.map +0 -0
  1061. package/dist/src/shapes/Object/FabricObject.d.ts +0 -0
  1062. package/dist/src/shapes/Object/FabricObject.d.ts.map +0 -0
  1063. package/dist/src/shapes/Object/FabricObject.min.mjs +0 -0
  1064. package/dist/src/shapes/Object/FabricObject.min.mjs.map +0 -0
  1065. package/dist/src/shapes/Object/FabricObject.mjs +0 -0
  1066. package/dist/src/shapes/Object/FabricObject.mjs.map +0 -0
  1067. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  1068. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  1069. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +0 -0
  1070. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +0 -0
  1071. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +0 -0
  1072. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +0 -0
  1073. package/dist/src/shapes/Object/InteractiveObject.d.ts +0 -0
  1074. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  1075. package/dist/src/shapes/Object/InteractiveObject.min.mjs +0 -0
  1076. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +0 -0
  1077. package/dist/src/shapes/Object/InteractiveObject.mjs +0 -0
  1078. package/dist/src/shapes/Object/InteractiveObject.mjs.map +0 -0
  1079. package/dist/src/shapes/Object/Object.d.ts +0 -0
  1080. package/dist/src/shapes/Object/Object.d.ts.map +0 -0
  1081. package/dist/src/shapes/Object/Object.min.mjs +0 -0
  1082. package/dist/src/shapes/Object/Object.min.mjs.map +0 -0
  1083. package/dist/src/shapes/Object/Object.mjs +0 -0
  1084. package/dist/src/shapes/Object/Object.mjs.map +0 -0
  1085. package/dist/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1086. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1087. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +0 -0
  1088. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +0 -0
  1089. package/dist/src/shapes/Object/ObjectGeometry.mjs +0 -0
  1090. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +0 -0
  1091. package/dist/src/shapes/Object/defaultValues.d.ts +0 -0
  1092. package/dist/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1093. package/dist/src/shapes/Object/defaultValues.min.mjs +0 -0
  1094. package/dist/src/shapes/Object/defaultValues.min.mjs.map +0 -0
  1095. package/dist/src/shapes/Object/defaultValues.mjs +0 -0
  1096. package/dist/src/shapes/Object/defaultValues.mjs.map +0 -0
  1097. package/dist/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1098. package/dist/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1099. package/dist/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1100. package/dist/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1101. package/dist/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1102. package/dist/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1103. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1104. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1105. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1106. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1107. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1108. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1109. package/dist/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1110. package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1111. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1112. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1113. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1114. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1115. package/dist/src/shapes/Object/types/index.d.ts +0 -0
  1116. package/dist/src/shapes/Object/types/index.d.ts.map +0 -0
  1117. package/dist/src/shapes/Path.d.ts +0 -0
  1118. package/dist/src/shapes/Path.d.ts.map +0 -0
  1119. package/dist/src/shapes/Path.min.mjs +0 -0
  1120. package/dist/src/shapes/Path.min.mjs.map +0 -0
  1121. package/dist/src/shapes/Path.mjs +0 -0
  1122. package/dist/src/shapes/Path.mjs.map +0 -0
  1123. package/dist/src/shapes/Polygon.d.ts +0 -0
  1124. package/dist/src/shapes/Polygon.d.ts.map +0 -0
  1125. package/dist/src/shapes/Polygon.min.mjs +0 -0
  1126. package/dist/src/shapes/Polygon.min.mjs.map +0 -0
  1127. package/dist/src/shapes/Polygon.mjs +0 -0
  1128. package/dist/src/shapes/Polygon.mjs.map +0 -0
  1129. package/dist/src/shapes/Polyline.d.ts +0 -0
  1130. package/dist/src/shapes/Polyline.d.ts.map +0 -0
  1131. package/dist/src/shapes/Polyline.min.mjs +0 -0
  1132. package/dist/src/shapes/Polyline.min.mjs.map +0 -0
  1133. package/dist/src/shapes/Polyline.mjs +0 -0
  1134. package/dist/src/shapes/Polyline.mjs.map +0 -0
  1135. package/dist/src/shapes/Rect.d.ts +0 -0
  1136. package/dist/src/shapes/Rect.d.ts.map +0 -0
  1137. package/dist/src/shapes/Rect.min.mjs +0 -0
  1138. package/dist/src/shapes/Rect.min.mjs.map +0 -0
  1139. package/dist/src/shapes/Rect.mjs +0 -0
  1140. package/dist/src/shapes/Rect.mjs.map +0 -0
  1141. package/dist/src/shapes/Text/StyledText.d.ts +0 -0
  1142. package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
  1143. package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
  1144. package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
  1145. package/dist/src/shapes/Text/StyledText.mjs +0 -0
  1146. package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
  1147. package/dist/src/shapes/Text/Text.d.ts +0 -0
  1148. package/dist/src/shapes/Text/Text.d.ts.map +1 -1
  1149. package/dist/src/shapes/Text/Text.min.mjs +1 -1
  1150. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  1151. package/dist/src/shapes/Text/Text.mjs +5 -1
  1152. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  1153. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1154. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1155. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +0 -0
  1156. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +0 -0
  1157. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +0 -0
  1158. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -0
  1159. package/dist/src/shapes/Text/constants.d.ts +1 -1
  1160. package/dist/src/shapes/Text/constants.d.ts.map +1 -1
  1161. package/dist/src/shapes/Text/constants.min.mjs +1 -1
  1162. package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
  1163. package/dist/src/shapes/Text/constants.mjs +1 -1
  1164. package/dist/src/shapes/Text/constants.mjs.map +1 -1
  1165. package/dist/src/shapes/Textbox.d.ts +0 -0
  1166. package/dist/src/shapes/Textbox.d.ts.map +1 -1
  1167. package/dist/src/shapes/Textbox.min.mjs +1 -1
  1168. package/dist/src/shapes/Textbox.min.mjs.map +1 -1
  1169. package/dist/src/shapes/Textbox.mjs +77 -13
  1170. package/dist/src/shapes/Textbox.mjs.map +1 -1
  1171. package/dist/src/shapes/Triangle.d.ts +0 -0
  1172. package/dist/src/shapes/Triangle.d.ts.map +0 -0
  1173. package/dist/src/shapes/Triangle.min.mjs +0 -0
  1174. package/dist/src/shapes/Triangle.min.mjs.map +0 -0
  1175. package/dist/src/shapes/Triangle.mjs +0 -0
  1176. package/dist/src/shapes/Triangle.mjs.map +0 -0
  1177. package/dist/src/text/browserLines.d.ts +0 -0
  1178. package/dist/src/text/browserLines.d.ts.map +0 -0
  1179. package/dist/src/text/browserLines.min.mjs +0 -0
  1180. package/dist/src/text/browserLines.min.mjs.map +1 -1
  1181. package/dist/src/text/browserLines.mjs +20 -20
  1182. package/dist/src/text/browserLines.mjs.map +1 -1
  1183. package/dist/src/text/ellipsis.d.ts +0 -0
  1184. package/dist/src/text/ellipsis.d.ts.map +0 -0
  1185. package/dist/src/text/ellipsis.min.mjs +0 -0
  1186. package/dist/src/text/ellipsis.min.mjs.map +1 -1
  1187. package/dist/src/text/ellipsis.mjs +11 -11
  1188. package/dist/src/text/ellipsis.mjs.map +1 -1
  1189. package/dist/src/text/examples/arabicTextExample.d.ts +60 -0
  1190. package/dist/src/text/examples/arabicTextExample.d.ts.map +1 -0
  1191. package/dist/src/text/hitTest.d.ts +0 -0
  1192. package/dist/src/text/hitTest.d.ts.map +0 -0
  1193. package/dist/src/text/hitTest.min.mjs +0 -0
  1194. package/dist/src/text/hitTest.min.mjs.map +1 -1
  1195. package/dist/src/text/hitTest.mjs +19 -19
  1196. package/dist/src/text/hitTest.mjs.map +1 -1
  1197. package/dist/src/text/layout.d.ts +0 -0
  1198. package/dist/src/text/layout.d.ts.map +0 -0
  1199. package/dist/src/text/layout.min.mjs +0 -0
  1200. package/dist/src/text/layout.min.mjs.map +1 -1
  1201. package/dist/src/text/layout.mjs +33 -33
  1202. package/dist/src/text/layout.mjs.map +1 -1
  1203. package/dist/src/text/measure.d.ts +0 -0
  1204. package/dist/src/text/measure.d.ts.map +0 -0
  1205. package/dist/src/text/measure.min.mjs +0 -0
  1206. package/dist/src/text/measure.min.mjs.map +1 -1
  1207. package/dist/src/text/measure.mjs +30 -30
  1208. package/dist/src/text/measure.mjs.map +1 -1
  1209. package/dist/src/text/overlayEditor.d.ts +0 -0
  1210. package/dist/src/text/overlayEditor.d.ts.map +0 -0
  1211. package/dist/src/text/overlayEditor.min.mjs +0 -0
  1212. package/dist/src/text/overlayEditor.min.mjs.map +1 -1
  1213. package/dist/src/text/overlayEditor.mjs +33 -33
  1214. package/dist/src/text/overlayEditor.mjs.map +1 -1
  1215. package/dist/src/text/scriptUtils.d.ts +142 -0
  1216. package/dist/src/text/scriptUtils.d.ts.map +1 -0
  1217. package/dist/src/text/scriptUtils.min.mjs +2 -0
  1218. package/dist/src/text/scriptUtils.min.mjs.map +1 -0
  1219. package/dist/src/text/scriptUtils.mjs +212 -0
  1220. package/dist/src/text/scriptUtils.mjs.map +1 -0
  1221. package/dist/src/text/unicode.d.ts +0 -0
  1222. package/dist/src/text/unicode.d.ts.map +0 -0
  1223. package/dist/src/text/unicode.min.mjs +0 -0
  1224. package/dist/src/text/unicode.min.mjs.map +1 -1
  1225. package/dist/src/text/unicode.mjs +8 -8
  1226. package/dist/src/text/unicode.mjs.map +1 -1
  1227. package/dist/src/typedefs.d.ts +0 -0
  1228. package/dist/src/typedefs.d.ts.map +0 -0
  1229. package/dist/src/util/animation/AnimationBase.d.ts +0 -0
  1230. package/dist/src/util/animation/AnimationBase.d.ts.map +0 -0
  1231. package/dist/src/util/animation/AnimationBase.min.mjs +0 -0
  1232. package/dist/src/util/animation/AnimationBase.min.mjs.map +0 -0
  1233. package/dist/src/util/animation/AnimationBase.mjs +0 -0
  1234. package/dist/src/util/animation/AnimationBase.mjs.map +0 -0
  1235. package/dist/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1236. package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1237. package/dist/src/util/animation/AnimationFrameProvider.min.mjs +0 -0
  1238. package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +0 -0
  1239. package/dist/src/util/animation/AnimationFrameProvider.mjs +0 -0
  1240. package/dist/src/util/animation/AnimationFrameProvider.mjs.map +0 -0
  1241. package/dist/src/util/animation/AnimationRegistry.d.ts +0 -0
  1242. package/dist/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  1243. package/dist/src/util/animation/AnimationRegistry.min.mjs +0 -0
  1244. package/dist/src/util/animation/AnimationRegistry.min.mjs.map +0 -0
  1245. package/dist/src/util/animation/AnimationRegistry.mjs +0 -0
  1246. package/dist/src/util/animation/AnimationRegistry.mjs.map +0 -0
  1247. package/dist/src/util/animation/ArrayAnimation.d.ts +0 -0
  1248. package/dist/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  1249. package/dist/src/util/animation/ArrayAnimation.min.mjs +0 -0
  1250. package/dist/src/util/animation/ArrayAnimation.min.mjs.map +0 -0
  1251. package/dist/src/util/animation/ArrayAnimation.mjs +0 -0
  1252. package/dist/src/util/animation/ArrayAnimation.mjs.map +0 -0
  1253. package/dist/src/util/animation/ColorAnimation.d.ts +0 -0
  1254. package/dist/src/util/animation/ColorAnimation.d.ts.map +0 -0
  1255. package/dist/src/util/animation/ColorAnimation.min.mjs +0 -0
  1256. package/dist/src/util/animation/ColorAnimation.min.mjs.map +0 -0
  1257. package/dist/src/util/animation/ColorAnimation.mjs +0 -0
  1258. package/dist/src/util/animation/ColorAnimation.mjs.map +0 -0
  1259. package/dist/src/util/animation/ValueAnimation.d.ts +0 -0
  1260. package/dist/src/util/animation/ValueAnimation.d.ts.map +0 -0
  1261. package/dist/src/util/animation/ValueAnimation.min.mjs +0 -0
  1262. package/dist/src/util/animation/ValueAnimation.min.mjs.map +0 -0
  1263. package/dist/src/util/animation/ValueAnimation.mjs +0 -0
  1264. package/dist/src/util/animation/ValueAnimation.mjs.map +0 -0
  1265. package/dist/src/util/animation/animate.d.ts +0 -0
  1266. package/dist/src/util/animation/animate.d.ts.map +0 -0
  1267. package/dist/src/util/animation/animate.min.mjs +0 -0
  1268. package/dist/src/util/animation/animate.min.mjs.map +0 -0
  1269. package/dist/src/util/animation/animate.mjs +0 -0
  1270. package/dist/src/util/animation/animate.mjs.map +0 -0
  1271. package/dist/src/util/animation/easing.d.ts +0 -0
  1272. package/dist/src/util/animation/easing.d.ts.map +0 -0
  1273. package/dist/src/util/animation/easing.min.mjs +0 -0
  1274. package/dist/src/util/animation/easing.min.mjs.map +0 -0
  1275. package/dist/src/util/animation/easing.mjs +0 -0
  1276. package/dist/src/util/animation/easing.mjs.map +0 -0
  1277. package/dist/src/util/animation/index.d.ts +0 -0
  1278. package/dist/src/util/animation/index.d.ts.map +0 -0
  1279. package/dist/src/util/animation/types.d.ts +0 -0
  1280. package/dist/src/util/animation/types.d.ts.map +0 -0
  1281. package/dist/src/util/applyMixins.d.ts +0 -0
  1282. package/dist/src/util/applyMixins.d.ts.map +0 -0
  1283. package/dist/src/util/applyMixins.min.mjs +0 -0
  1284. package/dist/src/util/applyMixins.min.mjs.map +0 -0
  1285. package/dist/src/util/applyMixins.mjs +0 -0
  1286. package/dist/src/util/applyMixins.mjs.map +0 -0
  1287. package/dist/src/util/dom_event.d.ts +0 -0
  1288. package/dist/src/util/dom_event.d.ts.map +0 -0
  1289. package/dist/src/util/dom_event.min.mjs +0 -0
  1290. package/dist/src/util/dom_event.min.mjs.map +0 -0
  1291. package/dist/src/util/dom_event.mjs +0 -0
  1292. package/dist/src/util/dom_event.mjs.map +0 -0
  1293. package/dist/src/util/dom_misc.d.ts +0 -0
  1294. package/dist/src/util/dom_misc.d.ts.map +0 -0
  1295. package/dist/src/util/dom_misc.min.mjs +0 -0
  1296. package/dist/src/util/dom_misc.min.mjs.map +0 -0
  1297. package/dist/src/util/dom_misc.mjs +0 -0
  1298. package/dist/src/util/dom_misc.mjs.map +0 -0
  1299. package/dist/src/util/index.d.ts +0 -0
  1300. package/dist/src/util/index.d.ts.map +0 -0
  1301. package/dist/src/util/index.min.mjs +0 -0
  1302. package/dist/src/util/index.min.mjs.map +0 -0
  1303. package/dist/src/util/index.mjs +0 -0
  1304. package/dist/src/util/index.mjs.map +0 -0
  1305. package/dist/src/util/internals/applyCanvasTransform.d.ts +0 -0
  1306. package/dist/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  1307. package/dist/src/util/internals/applyCanvasTransform.min.mjs +0 -0
  1308. package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +0 -0
  1309. package/dist/src/util/internals/applyCanvasTransform.mjs +0 -0
  1310. package/dist/src/util/internals/applyCanvasTransform.mjs.map +0 -0
  1311. package/dist/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  1312. package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  1313. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +0 -0
  1314. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +0 -0
  1315. package/dist/src/util/internals/cleanupSvgAttribute.mjs +0 -0
  1316. package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +0 -0
  1317. package/dist/src/util/internals/cloneStyles.d.ts +0 -0
  1318. package/dist/src/util/internals/cloneStyles.d.ts.map +0 -0
  1319. package/dist/src/util/internals/cloneStyles.min.mjs +0 -0
  1320. package/dist/src/util/internals/cloneStyles.min.mjs.map +0 -0
  1321. package/dist/src/util/internals/cloneStyles.mjs +0 -0
  1322. package/dist/src/util/internals/cloneStyles.mjs.map +0 -0
  1323. package/dist/src/util/internals/console.d.ts +0 -0
  1324. package/dist/src/util/internals/console.d.ts.map +0 -0
  1325. package/dist/src/util/internals/console.min.mjs +0 -0
  1326. package/dist/src/util/internals/console.min.mjs.map +0 -0
  1327. package/dist/src/util/internals/console.mjs +0 -0
  1328. package/dist/src/util/internals/console.mjs.map +0 -0
  1329. package/dist/src/util/internals/dom_style.d.ts +0 -0
  1330. package/dist/src/util/internals/dom_style.d.ts.map +0 -0
  1331. package/dist/src/util/internals/dom_style.min.mjs +0 -0
  1332. package/dist/src/util/internals/dom_style.min.mjs.map +0 -0
  1333. package/dist/src/util/internals/dom_style.mjs +0 -0
  1334. package/dist/src/util/internals/dom_style.mjs.map +0 -0
  1335. package/dist/src/util/internals/findRight.d.ts +0 -0
  1336. package/dist/src/util/internals/findRight.d.ts.map +0 -0
  1337. package/dist/src/util/internals/findRight.min.mjs +0 -0
  1338. package/dist/src/util/internals/findRight.min.mjs.map +0 -0
  1339. package/dist/src/util/internals/findRight.mjs +0 -0
  1340. package/dist/src/util/internals/findRight.mjs.map +0 -0
  1341. package/dist/src/util/internals/getRandomInt.d.ts +0 -0
  1342. package/dist/src/util/internals/getRandomInt.d.ts.map +0 -0
  1343. package/dist/src/util/internals/getRandomInt.min.mjs +0 -0
  1344. package/dist/src/util/internals/getRandomInt.min.mjs.map +0 -0
  1345. package/dist/src/util/internals/getRandomInt.mjs +0 -0
  1346. package/dist/src/util/internals/getRandomInt.mjs.map +0 -0
  1347. package/dist/src/util/internals/ifNaN.d.ts +0 -0
  1348. package/dist/src/util/internals/ifNaN.d.ts.map +0 -0
  1349. package/dist/src/util/internals/ifNaN.min.mjs +0 -0
  1350. package/dist/src/util/internals/ifNaN.min.mjs.map +0 -0
  1351. package/dist/src/util/internals/ifNaN.mjs +0 -0
  1352. package/dist/src/util/internals/ifNaN.mjs.map +0 -0
  1353. package/dist/src/util/internals/removeFromArray.d.ts +0 -0
  1354. package/dist/src/util/internals/removeFromArray.d.ts.map +0 -0
  1355. package/dist/src/util/internals/removeFromArray.min.mjs +0 -0
  1356. package/dist/src/util/internals/removeFromArray.min.mjs.map +0 -0
  1357. package/dist/src/util/internals/removeFromArray.mjs +0 -0
  1358. package/dist/src/util/internals/removeFromArray.mjs.map +0 -0
  1359. package/dist/src/util/internals/uid.d.ts +0 -0
  1360. package/dist/src/util/internals/uid.d.ts.map +0 -0
  1361. package/dist/src/util/internals/uid.min.mjs +0 -0
  1362. package/dist/src/util/internals/uid.min.mjs.map +0 -0
  1363. package/dist/src/util/internals/uid.mjs +0 -0
  1364. package/dist/src/util/internals/uid.mjs.map +0 -0
  1365. package/dist/src/util/lang_string.d.ts +0 -0
  1366. package/dist/src/util/lang_string.d.ts.map +0 -0
  1367. package/dist/src/util/lang_string.min.mjs +0 -0
  1368. package/dist/src/util/lang_string.min.mjs.map +0 -0
  1369. package/dist/src/util/lang_string.mjs +0 -0
  1370. package/dist/src/util/lang_string.mjs.map +0 -0
  1371. package/dist/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  1372. package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  1373. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +0 -0
  1374. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +0 -0
  1375. package/dist/src/util/misc/boundingBoxFromPoints.mjs +0 -0
  1376. package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +0 -0
  1377. package/dist/src/util/misc/capValue.d.ts +0 -0
  1378. package/dist/src/util/misc/capValue.d.ts.map +0 -0
  1379. package/dist/src/util/misc/capValue.min.mjs +0 -0
  1380. package/dist/src/util/misc/capValue.min.mjs.map +0 -0
  1381. package/dist/src/util/misc/capValue.mjs +0 -0
  1382. package/dist/src/util/misc/capValue.mjs.map +0 -0
  1383. package/dist/src/util/misc/cornerRadius.d.ts +0 -0
  1384. package/dist/src/util/misc/cornerRadius.d.ts.map +0 -0
  1385. package/dist/src/util/misc/cornerRadius.min.mjs +0 -0
  1386. package/dist/src/util/misc/cornerRadius.min.mjs.map +0 -0
  1387. package/dist/src/util/misc/cornerRadius.mjs +0 -0
  1388. package/dist/src/util/misc/cornerRadius.mjs.map +0 -0
  1389. package/dist/src/util/misc/cos.d.ts +0 -0
  1390. package/dist/src/util/misc/cos.d.ts.map +0 -0
  1391. package/dist/src/util/misc/cos.min.mjs +0 -0
  1392. package/dist/src/util/misc/cos.min.mjs.map +0 -0
  1393. package/dist/src/util/misc/cos.mjs +0 -0
  1394. package/dist/src/util/misc/cos.mjs.map +0 -0
  1395. package/dist/src/util/misc/dom.d.ts +0 -0
  1396. package/dist/src/util/misc/dom.d.ts.map +0 -0
  1397. package/dist/src/util/misc/dom.min.mjs +0 -0
  1398. package/dist/src/util/misc/dom.min.mjs.map +0 -0
  1399. package/dist/src/util/misc/dom.mjs +0 -0
  1400. package/dist/src/util/misc/dom.mjs.map +0 -0
  1401. package/dist/src/util/misc/findScaleTo.d.ts +0 -0
  1402. package/dist/src/util/misc/findScaleTo.d.ts.map +0 -0
  1403. package/dist/src/util/misc/findScaleTo.min.mjs +0 -0
  1404. package/dist/src/util/misc/findScaleTo.min.mjs.map +0 -0
  1405. package/dist/src/util/misc/findScaleTo.mjs +0 -0
  1406. package/dist/src/util/misc/findScaleTo.mjs.map +0 -0
  1407. package/dist/src/util/misc/groupSVGElements.d.ts +0 -0
  1408. package/dist/src/util/misc/groupSVGElements.d.ts.map +0 -0
  1409. package/dist/src/util/misc/groupSVGElements.min.mjs +0 -0
  1410. package/dist/src/util/misc/groupSVGElements.min.mjs.map +0 -0
  1411. package/dist/src/util/misc/groupSVGElements.mjs +0 -0
  1412. package/dist/src/util/misc/groupSVGElements.mjs.map +0 -0
  1413. package/dist/src/util/misc/isTransparent.d.ts +0 -0
  1414. package/dist/src/util/misc/isTransparent.d.ts.map +0 -0
  1415. package/dist/src/util/misc/isTransparent.min.mjs +0 -0
  1416. package/dist/src/util/misc/isTransparent.min.mjs.map +0 -0
  1417. package/dist/src/util/misc/isTransparent.mjs +0 -0
  1418. package/dist/src/util/misc/isTransparent.mjs.map +0 -0
  1419. package/dist/src/util/misc/matrix.d.ts +0 -0
  1420. package/dist/src/util/misc/matrix.d.ts.map +0 -0
  1421. package/dist/src/util/misc/matrix.min.mjs +0 -0
  1422. package/dist/src/util/misc/matrix.min.mjs.map +0 -0
  1423. package/dist/src/util/misc/matrix.mjs +0 -0
  1424. package/dist/src/util/misc/matrix.mjs.map +0 -0
  1425. package/dist/src/util/misc/mergeClipPaths.d.ts +0 -0
  1426. package/dist/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  1427. package/dist/src/util/misc/mergeClipPaths.min.mjs +0 -0
  1428. package/dist/src/util/misc/mergeClipPaths.min.mjs.map +0 -0
  1429. package/dist/src/util/misc/mergeClipPaths.mjs +0 -0
  1430. package/dist/src/util/misc/mergeClipPaths.mjs.map +0 -0
  1431. package/dist/src/util/misc/objectEnlive.d.ts +0 -0
  1432. package/dist/src/util/misc/objectEnlive.d.ts.map +0 -0
  1433. package/dist/src/util/misc/objectEnlive.min.mjs +0 -0
  1434. package/dist/src/util/misc/objectEnlive.min.mjs.map +0 -0
  1435. package/dist/src/util/misc/objectEnlive.mjs +0 -0
  1436. package/dist/src/util/misc/objectEnlive.mjs.map +0 -0
  1437. package/dist/src/util/misc/objectTransforms.d.ts +0 -0
  1438. package/dist/src/util/misc/objectTransforms.d.ts.map +0 -0
  1439. package/dist/src/util/misc/objectTransforms.min.mjs +0 -0
  1440. package/dist/src/util/misc/objectTransforms.min.mjs.map +0 -0
  1441. package/dist/src/util/misc/objectTransforms.mjs +0 -0
  1442. package/dist/src/util/misc/objectTransforms.mjs.map +0 -0
  1443. package/dist/src/util/misc/pick.d.ts +0 -0
  1444. package/dist/src/util/misc/pick.d.ts.map +0 -0
  1445. package/dist/src/util/misc/pick.min.mjs +0 -0
  1446. package/dist/src/util/misc/pick.min.mjs.map +0 -0
  1447. package/dist/src/util/misc/pick.mjs +0 -0
  1448. package/dist/src/util/misc/pick.mjs.map +0 -0
  1449. package/dist/src/util/misc/planeChange.d.ts +0 -0
  1450. package/dist/src/util/misc/planeChange.d.ts.map +0 -0
  1451. package/dist/src/util/misc/planeChange.min.mjs +0 -0
  1452. package/dist/src/util/misc/planeChange.min.mjs.map +0 -0
  1453. package/dist/src/util/misc/planeChange.mjs +0 -0
  1454. package/dist/src/util/misc/planeChange.mjs.map +0 -0
  1455. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  1456. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  1457. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +0 -0
  1458. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +0 -0
  1459. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -0
  1460. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -0
  1461. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  1462. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  1463. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +0 -0
  1464. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +0 -0
  1465. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -0
  1466. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -0
  1467. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  1468. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  1469. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +0 -0
  1470. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +0 -0
  1471. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -0
  1472. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -0
  1473. package/dist/src/util/misc/projectStroke/index.d.ts +0 -0
  1474. package/dist/src/util/misc/projectStroke/index.d.ts.map +0 -0
  1475. package/dist/src/util/misc/projectStroke/index.min.mjs +0 -0
  1476. package/dist/src/util/misc/projectStroke/index.min.mjs.map +0 -0
  1477. package/dist/src/util/misc/projectStroke/index.mjs +0 -0
  1478. package/dist/src/util/misc/projectStroke/index.mjs.map +0 -0
  1479. package/dist/src/util/misc/projectStroke/types.d.ts +0 -0
  1480. package/dist/src/util/misc/projectStroke/types.d.ts.map +0 -0
  1481. package/dist/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  1482. package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  1483. package/dist/src/util/misc/radiansDegreesConversion.min.mjs +0 -0
  1484. package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +0 -0
  1485. package/dist/src/util/misc/radiansDegreesConversion.mjs +0 -0
  1486. package/dist/src/util/misc/radiansDegreesConversion.mjs.map +0 -0
  1487. package/dist/src/util/misc/resolveOrigin.d.ts +0 -0
  1488. package/dist/src/util/misc/resolveOrigin.d.ts.map +0 -0
  1489. package/dist/src/util/misc/resolveOrigin.min.mjs +0 -0
  1490. package/dist/src/util/misc/resolveOrigin.min.mjs.map +0 -0
  1491. package/dist/src/util/misc/resolveOrigin.mjs +0 -0
  1492. package/dist/src/util/misc/resolveOrigin.mjs.map +0 -0
  1493. package/dist/src/util/misc/sin.d.ts +0 -0
  1494. package/dist/src/util/misc/sin.d.ts.map +0 -0
  1495. package/dist/src/util/misc/sin.min.mjs +0 -0
  1496. package/dist/src/util/misc/sin.min.mjs.map +0 -0
  1497. package/dist/src/util/misc/sin.mjs +0 -0
  1498. package/dist/src/util/misc/sin.mjs.map +0 -0
  1499. package/dist/src/util/misc/svgExport.d.ts +0 -0
  1500. package/dist/src/util/misc/svgExport.d.ts.map +0 -0
  1501. package/dist/src/util/misc/svgExport.min.mjs +0 -0
  1502. package/dist/src/util/misc/svgExport.min.mjs.map +0 -0
  1503. package/dist/src/util/misc/svgExport.mjs +0 -0
  1504. package/dist/src/util/misc/svgExport.mjs.map +0 -0
  1505. package/dist/src/util/misc/svgParsing.d.ts +0 -0
  1506. package/dist/src/util/misc/svgParsing.d.ts.map +0 -0
  1507. package/dist/src/util/misc/svgParsing.min.mjs +0 -0
  1508. package/dist/src/util/misc/svgParsing.min.mjs.map +0 -0
  1509. package/dist/src/util/misc/svgParsing.mjs +0 -0
  1510. package/dist/src/util/misc/svgParsing.mjs.map +0 -0
  1511. package/dist/src/util/misc/textStyles.d.ts +0 -0
  1512. package/dist/src/util/misc/textStyles.d.ts.map +0 -0
  1513. package/dist/src/util/misc/textStyles.min.mjs +0 -0
  1514. package/dist/src/util/misc/textStyles.min.mjs.map +0 -0
  1515. package/dist/src/util/misc/textStyles.mjs +0 -0
  1516. package/dist/src/util/misc/textStyles.mjs.map +0 -0
  1517. package/dist/src/util/misc/toFixed.d.ts +0 -0
  1518. package/dist/src/util/misc/toFixed.d.ts.map +0 -0
  1519. package/dist/src/util/misc/toFixed.min.mjs +0 -0
  1520. package/dist/src/util/misc/toFixed.min.mjs.map +0 -0
  1521. package/dist/src/util/misc/toFixed.mjs +0 -0
  1522. package/dist/src/util/misc/toFixed.mjs.map +0 -0
  1523. package/dist/src/util/misc/vectors.d.ts +0 -0
  1524. package/dist/src/util/misc/vectors.d.ts.map +0 -0
  1525. package/dist/src/util/misc/vectors.min.mjs +0 -0
  1526. package/dist/src/util/misc/vectors.min.mjs.map +0 -0
  1527. package/dist/src/util/misc/vectors.mjs +0 -0
  1528. package/dist/src/util/misc/vectors.mjs.map +0 -0
  1529. package/dist/src/util/path/index.d.ts +0 -0
  1530. package/dist/src/util/path/index.d.ts.map +0 -0
  1531. package/dist/src/util/path/index.min.mjs +0 -0
  1532. package/dist/src/util/path/index.min.mjs.map +0 -0
  1533. package/dist/src/util/path/index.mjs +0 -0
  1534. package/dist/src/util/path/index.mjs.map +0 -0
  1535. package/dist/src/util/path/regex.d.ts +0 -0
  1536. package/dist/src/util/path/regex.d.ts.map +0 -0
  1537. package/dist/src/util/path/regex.min.mjs +0 -0
  1538. package/dist/src/util/path/regex.min.mjs.map +0 -0
  1539. package/dist/src/util/path/regex.mjs +0 -0
  1540. package/dist/src/util/path/regex.mjs.map +0 -0
  1541. package/dist/src/util/path/typechecks.d.ts +0 -0
  1542. package/dist/src/util/path/typechecks.d.ts.map +0 -0
  1543. package/dist/src/util/path/typedefs.d.ts +0 -0
  1544. package/dist/src/util/path/typedefs.d.ts.map +0 -0
  1545. package/dist/src/util/transform_matrix_removal.d.ts +0 -0
  1546. package/dist/src/util/transform_matrix_removal.d.ts.map +0 -0
  1547. package/dist/src/util/transform_matrix_removal.min.mjs +0 -0
  1548. package/dist/src/util/transform_matrix_removal.min.mjs.map +0 -0
  1549. package/dist/src/util/transform_matrix_removal.mjs +0 -0
  1550. package/dist/src/util/transform_matrix_removal.mjs.map +0 -0
  1551. package/dist/src/util/typeAssertions.d.ts +0 -0
  1552. package/dist/src/util/typeAssertions.d.ts.map +0 -0
  1553. package/dist/src/util/typeAssertions.min.mjs +0 -0
  1554. package/dist/src/util/typeAssertions.min.mjs.map +0 -0
  1555. package/dist/src/util/typeAssertions.mjs +0 -0
  1556. package/dist/src/util/typeAssertions.mjs.map +0 -0
  1557. package/dist-extensions/aligning_guidelines/constant.mjs +0 -0
  1558. package/dist-extensions/aligning_guidelines/constant.mjs.map +0 -0
  1559. package/dist-extensions/aligning_guidelines/index.mjs +0 -0
  1560. package/dist-extensions/aligning_guidelines/index.mjs.map +0 -0
  1561. package/dist-extensions/aligning_guidelines/util/basic.mjs +0 -0
  1562. package/dist-extensions/aligning_guidelines/util/basic.mjs.map +0 -0
  1563. package/dist-extensions/aligning_guidelines/util/collect-line.mjs +0 -0
  1564. package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +0 -0
  1565. package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -0
  1566. package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -0
  1567. package/dist-extensions/aligning_guidelines/util/draw.mjs +0 -0
  1568. package/dist-extensions/aligning_guidelines/util/draw.mjs.map +0 -0
  1569. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -0
  1570. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -0
  1571. package/dist-extensions/data_updaters/gradient/index.mjs +0 -0
  1572. package/dist-extensions/data_updaters/gradient/index.mjs.map +0 -0
  1573. package/dist-extensions/data_updaters/origins/index.mjs +0 -0
  1574. package/dist-extensions/data_updaters/origins/index.mjs.map +0 -0
  1575. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +0 -0
  1576. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  1577. package/dist-extensions/extensions/aligning_guidelines/index.d.ts +0 -0
  1578. package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +0 -0
  1579. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  1580. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  1581. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  1582. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  1583. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  1584. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  1585. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  1586. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  1587. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  1588. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  1589. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  1590. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  1591. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +0 -0
  1592. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  1593. package/dist-extensions/extensions/data_updaters/origins/index.d.ts +0 -0
  1594. package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +0 -0
  1595. package/dist-extensions/extensions/index.d.ts +0 -0
  1596. package/dist-extensions/extensions/index.d.ts.map +0 -0
  1597. package/dist-extensions/fabric-extensions.min.js +0 -0
  1598. package/dist-extensions/fabric-extensions.min.js.map +0 -0
  1599. package/dist-extensions/fabric.d.ts +0 -0
  1600. package/dist-extensions/fabric.d.ts.map +0 -0
  1601. package/dist-extensions/index.d.ts +0 -0
  1602. package/dist-extensions/index.d.ts.map +0 -0
  1603. package/dist-extensions/index.mjs +0 -0
  1604. package/dist-extensions/index.mjs.map +0 -0
  1605. package/dist-extensions/src/ClassRegistry.d.ts +0 -0
  1606. package/dist-extensions/src/ClassRegistry.d.ts.map +0 -0
  1607. package/dist-extensions/src/Collection.d.ts +0 -0
  1608. package/dist-extensions/src/Collection.d.ts.map +0 -0
  1609. package/dist-extensions/src/CommonMethods.d.ts +0 -0
  1610. package/dist-extensions/src/CommonMethods.d.ts.map +0 -0
  1611. package/dist-extensions/src/EventTypeDefs.d.ts +0 -0
  1612. package/dist-extensions/src/EventTypeDefs.d.ts.map +0 -0
  1613. package/dist-extensions/src/Intersection.d.ts +0 -0
  1614. package/dist-extensions/src/Intersection.d.ts.map +0 -0
  1615. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  1616. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  1617. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +0 -0
  1618. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  1619. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  1620. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  1621. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  1622. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  1623. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  1624. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  1625. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  1626. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  1627. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  1628. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  1629. package/dist-extensions/src/LayoutManager/constants.d.ts +0 -0
  1630. package/dist-extensions/src/LayoutManager/constants.d.ts.map +0 -0
  1631. package/dist-extensions/src/LayoutManager/index.d.ts +0 -0
  1632. package/dist-extensions/src/LayoutManager/index.d.ts.map +0 -0
  1633. package/dist-extensions/src/LayoutManager/types.d.ts +0 -0
  1634. package/dist-extensions/src/LayoutManager/types.d.ts.map +0 -0
  1635. package/dist-extensions/src/Observable.d.ts +0 -0
  1636. package/dist-extensions/src/Observable.d.ts.map +0 -0
  1637. package/dist-extensions/src/Pattern/Pattern.d.ts +0 -0
  1638. package/dist-extensions/src/Pattern/Pattern.d.ts.map +0 -0
  1639. package/dist-extensions/src/Pattern/index.d.ts +0 -0
  1640. package/dist-extensions/src/Pattern/index.d.ts.map +0 -0
  1641. package/dist-extensions/src/Pattern/types.d.ts +0 -0
  1642. package/dist-extensions/src/Pattern/types.d.ts.map +0 -0
  1643. package/dist-extensions/src/Point.d.ts +0 -0
  1644. package/dist-extensions/src/Point.d.ts.map +0 -0
  1645. package/dist-extensions/src/Shadow.d.ts +0 -0
  1646. package/dist-extensions/src/Shadow.d.ts.map +0 -0
  1647. package/dist-extensions/src/brushes/BaseBrush.d.ts +0 -0
  1648. package/dist-extensions/src/brushes/BaseBrush.d.ts.map +0 -0
  1649. package/dist-extensions/src/brushes/CircleBrush.d.ts +0 -0
  1650. package/dist-extensions/src/brushes/CircleBrush.d.ts.map +0 -0
  1651. package/dist-extensions/src/brushes/PatternBrush.d.ts +0 -0
  1652. package/dist-extensions/src/brushes/PatternBrush.d.ts.map +0 -0
  1653. package/dist-extensions/src/brushes/PencilBrush.d.ts +0 -0
  1654. package/dist-extensions/src/brushes/PencilBrush.d.ts.map +0 -0
  1655. package/dist-extensions/src/brushes/SprayBrush.d.ts +0 -0
  1656. package/dist-extensions/src/brushes/SprayBrush.d.ts.map +0 -0
  1657. package/dist-extensions/src/brushes/typedefs.d.ts +0 -0
  1658. package/dist-extensions/src/brushes/typedefs.d.ts.map +0 -0
  1659. package/dist-extensions/src/cache.d.ts +0 -0
  1660. package/dist-extensions/src/cache.d.ts.map +0 -0
  1661. package/dist-extensions/src/canvas/Canvas.d.ts +0 -0
  1662. package/dist-extensions/src/canvas/Canvas.d.ts.map +0 -0
  1663. package/dist-extensions/src/canvas/CanvasOptions.d.ts +0 -0
  1664. package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +0 -0
  1665. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  1666. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  1667. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  1668. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  1669. package/dist-extensions/src/canvas/DOMManagers/util.d.ts +0 -0
  1670. package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +0 -0
  1671. package/dist-extensions/src/canvas/SelectableCanvas.d.ts +0 -0
  1672. package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +0 -0
  1673. package/dist-extensions/src/canvas/StaticCanvas.d.ts +0 -0
  1674. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +0 -0
  1675. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +0 -0
  1676. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  1677. package/dist-extensions/src/canvas/TextEditingManager.d.ts +0 -0
  1678. package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +0 -0
  1679. package/dist-extensions/src/color/Color.d.ts +0 -0
  1680. package/dist-extensions/src/color/Color.d.ts.map +0 -0
  1681. package/dist-extensions/src/color/color_map.d.ts +0 -0
  1682. package/dist-extensions/src/color/color_map.d.ts.map +0 -0
  1683. package/dist-extensions/src/color/constants.d.ts +0 -0
  1684. package/dist-extensions/src/color/constants.d.ts.map +0 -0
  1685. package/dist-extensions/src/color/typedefs.d.ts +0 -0
  1686. package/dist-extensions/src/color/typedefs.d.ts.map +0 -0
  1687. package/dist-extensions/src/color/util.d.ts +0 -0
  1688. package/dist-extensions/src/color/util.d.ts.map +0 -0
  1689. package/dist-extensions/src/config.d.ts +0 -0
  1690. package/dist-extensions/src/config.d.ts.map +0 -0
  1691. package/dist-extensions/src/constants.d.ts +0 -0
  1692. package/dist-extensions/src/constants.d.ts.map +0 -0
  1693. package/dist-extensions/src/controls/Control.d.ts +0 -0
  1694. package/dist-extensions/src/controls/Control.d.ts.map +0 -0
  1695. package/dist-extensions/src/controls/changeHeight.d.ts +0 -0
  1696. package/dist-extensions/src/controls/changeHeight.d.ts.map +0 -0
  1697. package/dist-extensions/src/controls/changeWidth.d.ts +0 -0
  1698. package/dist-extensions/src/controls/changeWidth.d.ts.map +0 -0
  1699. package/dist-extensions/src/controls/commonControls.d.ts +0 -0
  1700. package/dist-extensions/src/controls/commonControls.d.ts.map +0 -0
  1701. package/dist-extensions/src/controls/controlRendering.d.ts +0 -0
  1702. package/dist-extensions/src/controls/controlRendering.d.ts.map +0 -0
  1703. package/dist-extensions/src/controls/drag.d.ts +0 -0
  1704. package/dist-extensions/src/controls/drag.d.ts.map +0 -0
  1705. package/dist-extensions/src/controls/fireEvent.d.ts +0 -0
  1706. package/dist-extensions/src/controls/fireEvent.d.ts.map +0 -0
  1707. package/dist-extensions/src/controls/index.d.ts +0 -0
  1708. package/dist-extensions/src/controls/index.d.ts.map +0 -0
  1709. package/dist-extensions/src/controls/pathControl.d.ts +0 -0
  1710. package/dist-extensions/src/controls/pathControl.d.ts.map +0 -0
  1711. package/dist-extensions/src/controls/polyControl.d.ts +0 -0
  1712. package/dist-extensions/src/controls/polyControl.d.ts.map +0 -0
  1713. package/dist-extensions/src/controls/rotate.d.ts +0 -0
  1714. package/dist-extensions/src/controls/rotate.d.ts.map +0 -0
  1715. package/dist-extensions/src/controls/scale.d.ts +0 -0
  1716. package/dist-extensions/src/controls/scale.d.ts.map +0 -0
  1717. package/dist-extensions/src/controls/scaleSkew.d.ts +0 -0
  1718. package/dist-extensions/src/controls/scaleSkew.d.ts.map +0 -0
  1719. package/dist-extensions/src/controls/skew.d.ts +0 -0
  1720. package/dist-extensions/src/controls/skew.d.ts.map +0 -0
  1721. package/dist-extensions/src/controls/util.d.ts +0 -0
  1722. package/dist-extensions/src/controls/util.d.ts.map +0 -0
  1723. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +0 -0
  1724. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  1725. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  1726. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  1727. package/dist-extensions/src/env/browser.d.ts +0 -0
  1728. package/dist-extensions/src/env/browser.d.ts.map +0 -0
  1729. package/dist-extensions/src/env/index.d.ts +0 -0
  1730. package/dist-extensions/src/env/index.d.ts.map +0 -0
  1731. package/dist-extensions/src/env/types.d.ts +0 -0
  1732. package/dist-extensions/src/env/types.d.ts.map +0 -0
  1733. package/dist-extensions/src/filters/BaseFilter.d.ts +0 -0
  1734. package/dist-extensions/src/filters/BaseFilter.d.ts.map +0 -0
  1735. package/dist-extensions/src/filters/BlendColor.d.ts +0 -0
  1736. package/dist-extensions/src/filters/BlendColor.d.ts.map +0 -0
  1737. package/dist-extensions/src/filters/BlendImage.d.ts +0 -0
  1738. package/dist-extensions/src/filters/BlendImage.d.ts.map +0 -0
  1739. package/dist-extensions/src/filters/Blur.d.ts +0 -0
  1740. package/dist-extensions/src/filters/Blur.d.ts.map +0 -0
  1741. package/dist-extensions/src/filters/Brightness.d.ts +0 -0
  1742. package/dist-extensions/src/filters/Brightness.d.ts.map +0 -0
  1743. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  1744. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  1745. package/dist-extensions/src/filters/ColorMatrix.d.ts +0 -0
  1746. package/dist-extensions/src/filters/ColorMatrix.d.ts.map +0 -0
  1747. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +0 -0
  1748. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  1749. package/dist-extensions/src/filters/Composed.d.ts +0 -0
  1750. package/dist-extensions/src/filters/Composed.d.ts.map +0 -0
  1751. package/dist-extensions/src/filters/Contrast.d.ts +0 -0
  1752. package/dist-extensions/src/filters/Contrast.d.ts.map +0 -0
  1753. package/dist-extensions/src/filters/Convolute.d.ts +0 -0
  1754. package/dist-extensions/src/filters/Convolute.d.ts.map +0 -0
  1755. package/dist-extensions/src/filters/FilterBackend.d.ts +0 -0
  1756. package/dist-extensions/src/filters/FilterBackend.d.ts.map +0 -0
  1757. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +0 -0
  1758. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  1759. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  1760. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  1761. package/dist-extensions/src/filters/Gamma.d.ts +0 -0
  1762. package/dist-extensions/src/filters/Gamma.d.ts.map +0 -0
  1763. package/dist-extensions/src/filters/Grayscale.d.ts +0 -0
  1764. package/dist-extensions/src/filters/Grayscale.d.ts.map +0 -0
  1765. package/dist-extensions/src/filters/HueRotation.d.ts +0 -0
  1766. package/dist-extensions/src/filters/HueRotation.d.ts.map +0 -0
  1767. package/dist-extensions/src/filters/Invert.d.ts +0 -0
  1768. package/dist-extensions/src/filters/Invert.d.ts.map +0 -0
  1769. package/dist-extensions/src/filters/Noise.d.ts +0 -0
  1770. package/dist-extensions/src/filters/Noise.d.ts.map +0 -0
  1771. package/dist-extensions/src/filters/Pixelate.d.ts +0 -0
  1772. package/dist-extensions/src/filters/Pixelate.d.ts.map +0 -0
  1773. package/dist-extensions/src/filters/RemoveColor.d.ts +0 -0
  1774. package/dist-extensions/src/filters/RemoveColor.d.ts.map +0 -0
  1775. package/dist-extensions/src/filters/Resize.d.ts +0 -0
  1776. package/dist-extensions/src/filters/Resize.d.ts.map +0 -0
  1777. package/dist-extensions/src/filters/Saturation.d.ts +0 -0
  1778. package/dist-extensions/src/filters/Saturation.d.ts.map +0 -0
  1779. package/dist-extensions/src/filters/Vibrance.d.ts +0 -0
  1780. package/dist-extensions/src/filters/Vibrance.d.ts.map +0 -0
  1781. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +0 -0
  1782. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  1783. package/dist-extensions/src/filters/filters.d.ts +0 -0
  1784. package/dist-extensions/src/filters/filters.d.ts.map +0 -0
  1785. package/dist-extensions/src/filters/index.d.ts +0 -0
  1786. package/dist-extensions/src/filters/index.d.ts.map +0 -0
  1787. package/dist-extensions/src/filters/shaders/baseFilter.d.ts +0 -0
  1788. package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +0 -0
  1789. package/dist-extensions/src/filters/shaders/blendColor.d.ts +0 -0
  1790. package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +0 -0
  1791. package/dist-extensions/src/filters/shaders/blendImage.d.ts +0 -0
  1792. package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +0 -0
  1793. package/dist-extensions/src/filters/shaders/blur.d.ts +0 -0
  1794. package/dist-extensions/src/filters/shaders/blur.d.ts.map +0 -0
  1795. package/dist-extensions/src/filters/shaders/brightness.d.ts +0 -0
  1796. package/dist-extensions/src/filters/shaders/brightness.d.ts.map +0 -0
  1797. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +0 -0
  1798. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  1799. package/dist-extensions/src/filters/shaders/constrast.d.ts +0 -0
  1800. package/dist-extensions/src/filters/shaders/constrast.d.ts.map +0 -0
  1801. package/dist-extensions/src/filters/shaders/convolute.d.ts +0 -0
  1802. package/dist-extensions/src/filters/shaders/convolute.d.ts.map +0 -0
  1803. package/dist-extensions/src/filters/shaders/gamma.d.ts +0 -0
  1804. package/dist-extensions/src/filters/shaders/gamma.d.ts.map +0 -0
  1805. package/dist-extensions/src/filters/shaders/grayscale.d.ts +0 -0
  1806. package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +0 -0
  1807. package/dist-extensions/src/filters/shaders/invert.d.ts +0 -0
  1808. package/dist-extensions/src/filters/shaders/invert.d.ts.map +0 -0
  1809. package/dist-extensions/src/filters/shaders/noise.d.ts +0 -0
  1810. package/dist-extensions/src/filters/shaders/noise.d.ts.map +0 -0
  1811. package/dist-extensions/src/filters/shaders/pixelate.d.ts +0 -0
  1812. package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +0 -0
  1813. package/dist-extensions/src/filters/shaders/removeColor.d.ts +0 -0
  1814. package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +0 -0
  1815. package/dist-extensions/src/filters/shaders/saturation.d.ts +0 -0
  1816. package/dist-extensions/src/filters/shaders/saturation.d.ts.map +0 -0
  1817. package/dist-extensions/src/filters/shaders/vibrance.d.ts +0 -0
  1818. package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +0 -0
  1819. package/dist-extensions/src/filters/typedefs.d.ts +0 -0
  1820. package/dist-extensions/src/filters/typedefs.d.ts.map +0 -0
  1821. package/dist-extensions/src/filters/utils.d.ts +0 -0
  1822. package/dist-extensions/src/filters/utils.d.ts.map +0 -0
  1823. package/dist-extensions/src/gradient/Gradient.d.ts +0 -0
  1824. package/dist-extensions/src/gradient/Gradient.d.ts.map +0 -0
  1825. package/dist-extensions/src/gradient/constants.d.ts +0 -0
  1826. package/dist-extensions/src/gradient/constants.d.ts.map +0 -0
  1827. package/dist-extensions/src/gradient/index.d.ts +0 -0
  1828. package/dist-extensions/src/gradient/index.d.ts.map +0 -0
  1829. package/dist-extensions/src/gradient/parser/misc.d.ts +0 -0
  1830. package/dist-extensions/src/gradient/parser/misc.d.ts.map +0 -0
  1831. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +0 -0
  1832. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  1833. package/dist-extensions/src/gradient/parser/parseCoords.d.ts +0 -0
  1834. package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +0 -0
  1835. package/dist-extensions/src/gradient/typedefs.d.ts +0 -0
  1836. package/dist-extensions/src/gradient/typedefs.d.ts.map +0 -0
  1837. package/dist-extensions/src/parser/applyViewboxTransform.d.ts +0 -0
  1838. package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +0 -0
  1839. package/dist-extensions/src/parser/attributes.d.ts +0 -0
  1840. package/dist-extensions/src/parser/attributes.d.ts.map +0 -0
  1841. package/dist-extensions/src/parser/constants.d.ts +0 -0
  1842. package/dist-extensions/src/parser/constants.d.ts.map +0 -0
  1843. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +0 -0
  1844. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  1845. package/dist-extensions/src/parser/elementMatchesRule.d.ts +0 -0
  1846. package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +0 -0
  1847. package/dist-extensions/src/parser/elements_parser.d.ts +0 -0
  1848. package/dist-extensions/src/parser/elements_parser.d.ts.map +0 -0
  1849. package/dist-extensions/src/parser/getCSSRules.d.ts +0 -0
  1850. package/dist-extensions/src/parser/getCSSRules.d.ts.map +0 -0
  1851. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +0 -0
  1852. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  1853. package/dist-extensions/src/parser/getGradientDefs.d.ts +0 -0
  1854. package/dist-extensions/src/parser/getGradientDefs.d.ts.map +0 -0
  1855. package/dist-extensions/src/parser/getMultipleNodes.d.ts +0 -0
  1856. package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +0 -0
  1857. package/dist-extensions/src/parser/getSvgRegex.d.ts +0 -0
  1858. package/dist-extensions/src/parser/getSvgRegex.d.ts.map +0 -0
  1859. package/dist-extensions/src/parser/getTagName.d.ts +0 -0
  1860. package/dist-extensions/src/parser/getTagName.d.ts.map +0 -0
  1861. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +0 -0
  1862. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  1863. package/dist-extensions/src/parser/loadSVGFromString.d.ts +0 -0
  1864. package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +0 -0
  1865. package/dist-extensions/src/parser/loadSVGFromURL.d.ts +0 -0
  1866. package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +0 -0
  1867. package/dist-extensions/src/parser/normalizeAttr.d.ts +0 -0
  1868. package/dist-extensions/src/parser/normalizeAttr.d.ts.map +0 -0
  1869. package/dist-extensions/src/parser/normalizeValue.d.ts +0 -0
  1870. package/dist-extensions/src/parser/normalizeValue.d.ts.map +0 -0
  1871. package/dist-extensions/src/parser/parseAttributes.d.ts +0 -0
  1872. package/dist-extensions/src/parser/parseAttributes.d.ts.map +0 -0
  1873. package/dist-extensions/src/parser/parseFontDeclaration.d.ts +0 -0
  1874. package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +0 -0
  1875. package/dist-extensions/src/parser/parsePointsAttribute.d.ts +0 -0
  1876. package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +0 -0
  1877. package/dist-extensions/src/parser/parseSVGDocument.d.ts +0 -0
  1878. package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +0 -0
  1879. package/dist-extensions/src/parser/parseStyleAttribute.d.ts +0 -0
  1880. package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +0 -0
  1881. package/dist-extensions/src/parser/parseStyleObject.d.ts +0 -0
  1882. package/dist-extensions/src/parser/parseStyleObject.d.ts.map +0 -0
  1883. package/dist-extensions/src/parser/parseStyleString.d.ts +0 -0
  1884. package/dist-extensions/src/parser/parseStyleString.d.ts.map +0 -0
  1885. package/dist-extensions/src/parser/parseTransformAttribute.d.ts +0 -0
  1886. package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +0 -0
  1887. package/dist-extensions/src/parser/parseUseDirectives.d.ts +0 -0
  1888. package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +0 -0
  1889. package/dist-extensions/src/parser/percent.d.ts +0 -0
  1890. package/dist-extensions/src/parser/percent.d.ts.map +0 -0
  1891. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  1892. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  1893. package/dist-extensions/src/parser/selectorMatches.d.ts +0 -0
  1894. package/dist-extensions/src/parser/selectorMatches.d.ts.map +0 -0
  1895. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +0 -0
  1896. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  1897. package/dist-extensions/src/parser/typedefs.d.ts +0 -0
  1898. package/dist-extensions/src/parser/typedefs.d.ts.map +0 -0
  1899. package/dist-extensions/src/shapes/ActiveSelection.d.ts +0 -0
  1900. package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +0 -0
  1901. package/dist-extensions/src/shapes/Circle.d.ts +0 -0
  1902. package/dist-extensions/src/shapes/Circle.d.ts.map +0 -0
  1903. package/dist-extensions/src/shapes/CustomLine.d.ts +10 -0
  1904. package/dist-extensions/src/shapes/CustomLine.d.ts.map +1 -0
  1905. package/dist-extensions/src/shapes/Ellipse.d.ts +0 -0
  1906. package/dist-extensions/src/shapes/Ellipse.d.ts.map +0 -0
  1907. package/dist-extensions/src/shapes/Group.d.ts +0 -0
  1908. package/dist-extensions/src/shapes/Group.d.ts.map +0 -0
  1909. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  1910. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  1911. package/dist-extensions/src/shapes/IText/IText.d.ts +0 -0
  1912. package/dist-extensions/src/shapes/IText/IText.d.ts.map +0 -0
  1913. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +0 -0
  1914. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
  1915. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  1916. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  1917. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  1918. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  1919. package/dist-extensions/src/shapes/IText/constants.d.ts +0 -0
  1920. package/dist-extensions/src/shapes/IText/constants.d.ts.map +0 -0
  1921. package/dist-extensions/src/shapes/Image.d.ts +0 -0
  1922. package/dist-extensions/src/shapes/Image.d.ts.map +0 -0
  1923. package/dist-extensions/src/shapes/Line.d.ts +0 -0
  1924. package/dist-extensions/src/shapes/Line.d.ts.map +0 -0
  1925. package/dist-extensions/src/shapes/Object/FabricObject.d.ts +0 -0
  1926. package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +0 -0
  1927. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  1928. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  1929. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +0 -0
  1930. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  1931. package/dist-extensions/src/shapes/Object/Object.d.ts +0 -0
  1932. package/dist-extensions/src/shapes/Object/Object.d.ts.map +0 -0
  1933. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1934. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1935. package/dist-extensions/src/shapes/Object/defaultValues.d.ts +0 -0
  1936. package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1937. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1938. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1939. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1940. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1941. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1942. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1943. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1944. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1945. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1946. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1947. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1948. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1949. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1950. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1951. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1952. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1953. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1954. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1955. package/dist-extensions/src/shapes/Object/types/index.d.ts +0 -0
  1956. package/dist-extensions/src/shapes/Object/types/index.d.ts.map +0 -0
  1957. package/dist-extensions/src/shapes/Path.d.ts +0 -0
  1958. package/dist-extensions/src/shapes/Path.d.ts.map +0 -0
  1959. package/dist-extensions/src/shapes/Polygon.d.ts +0 -0
  1960. package/dist-extensions/src/shapes/Polygon.d.ts.map +0 -0
  1961. package/dist-extensions/src/shapes/Polyline.d.ts +0 -0
  1962. package/dist-extensions/src/shapes/Polyline.d.ts.map +0 -0
  1963. package/dist-extensions/src/shapes/Rect.d.ts +0 -0
  1964. package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
  1965. package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
  1966. package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
  1967. package/dist-extensions/src/shapes/Text/Text.d.ts +0 -0
  1968. package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
  1969. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1970. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1971. package/dist-extensions/src/shapes/Text/constants.d.ts +1 -1
  1972. package/dist-extensions/src/shapes/Text/constants.d.ts.map +1 -1
  1973. package/dist-extensions/src/shapes/Textbox.d.ts +0 -0
  1974. package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -1
  1975. package/dist-extensions/src/shapes/Triangle.d.ts +0 -0
  1976. package/dist-extensions/src/shapes/Triangle.d.ts.map +0 -0
  1977. package/dist-extensions/src/text/browserLines.d.ts +0 -0
  1978. package/dist-extensions/src/text/browserLines.d.ts.map +0 -0
  1979. package/dist-extensions/src/text/ellipsis.d.ts +0 -0
  1980. package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
  1981. package/dist-extensions/src/text/hitTest.d.ts +0 -0
  1982. package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
  1983. package/dist-extensions/src/text/layout.d.ts +0 -0
  1984. package/dist-extensions/src/text/layout.d.ts.map +0 -0
  1985. package/dist-extensions/src/text/measure.d.ts +0 -0
  1986. package/dist-extensions/src/text/measure.d.ts.map +0 -0
  1987. package/dist-extensions/src/text/overlayEditor.d.ts +0 -0
  1988. package/dist-extensions/src/text/overlayEditor.d.ts.map +0 -0
  1989. package/dist-extensions/src/text/scriptUtils.d.ts +142 -0
  1990. package/dist-extensions/src/text/scriptUtils.d.ts.map +1 -0
  1991. package/dist-extensions/src/text/unicode.d.ts +0 -0
  1992. package/dist-extensions/src/text/unicode.d.ts.map +0 -0
  1993. package/dist-extensions/src/typedefs.d.ts +0 -0
  1994. package/dist-extensions/src/typedefs.d.ts.map +0 -0
  1995. package/dist-extensions/src/util/animation/AnimationBase.d.ts +0 -0
  1996. package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +0 -0
  1997. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1998. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1999. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +0 -0
  2000. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  2001. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +0 -0
  2002. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  2003. package/dist-extensions/src/util/animation/ColorAnimation.d.ts +0 -0
  2004. package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +0 -0
  2005. package/dist-extensions/src/util/animation/ValueAnimation.d.ts +0 -0
  2006. package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +0 -0
  2007. package/dist-extensions/src/util/animation/animate.d.ts +0 -0
  2008. package/dist-extensions/src/util/animation/animate.d.ts.map +0 -0
  2009. package/dist-extensions/src/util/animation/easing.d.ts +0 -0
  2010. package/dist-extensions/src/util/animation/easing.d.ts.map +0 -0
  2011. package/dist-extensions/src/util/animation/index.d.ts +0 -0
  2012. package/dist-extensions/src/util/animation/index.d.ts.map +0 -0
  2013. package/dist-extensions/src/util/animation/types.d.ts +0 -0
  2014. package/dist-extensions/src/util/animation/types.d.ts.map +0 -0
  2015. package/dist-extensions/src/util/applyMixins.d.ts +0 -0
  2016. package/dist-extensions/src/util/applyMixins.d.ts.map +0 -0
  2017. package/dist-extensions/src/util/dom_event.d.ts +0 -0
  2018. package/dist-extensions/src/util/dom_event.d.ts.map +0 -0
  2019. package/dist-extensions/src/util/dom_misc.d.ts +0 -0
  2020. package/dist-extensions/src/util/dom_misc.d.ts.map +0 -0
  2021. package/dist-extensions/src/util/index.d.ts +0 -0
  2022. package/dist-extensions/src/util/index.d.ts.map +0 -0
  2023. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +0 -0
  2024. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  2025. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  2026. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  2027. package/dist-extensions/src/util/internals/cloneStyles.d.ts +0 -0
  2028. package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +0 -0
  2029. package/dist-extensions/src/util/internals/console.d.ts +0 -0
  2030. package/dist-extensions/src/util/internals/console.d.ts.map +0 -0
  2031. package/dist-extensions/src/util/internals/dom_style.d.ts +0 -0
  2032. package/dist-extensions/src/util/internals/dom_style.d.ts.map +0 -0
  2033. package/dist-extensions/src/util/internals/findRight.d.ts +0 -0
  2034. package/dist-extensions/src/util/internals/findRight.d.ts.map +0 -0
  2035. package/dist-extensions/src/util/internals/getRandomInt.d.ts +0 -0
  2036. package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +0 -0
  2037. package/dist-extensions/src/util/internals/ifNaN.d.ts +0 -0
  2038. package/dist-extensions/src/util/internals/ifNaN.d.ts.map +0 -0
  2039. package/dist-extensions/src/util/internals/removeFromArray.d.ts +0 -0
  2040. package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +0 -0
  2041. package/dist-extensions/src/util/internals/uid.d.ts +0 -0
  2042. package/dist-extensions/src/util/internals/uid.d.ts.map +0 -0
  2043. package/dist-extensions/src/util/lang_string.d.ts +0 -0
  2044. package/dist-extensions/src/util/lang_string.d.ts.map +0 -0
  2045. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  2046. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  2047. package/dist-extensions/src/util/misc/capValue.d.ts +0 -0
  2048. package/dist-extensions/src/util/misc/capValue.d.ts.map +0 -0
  2049. package/dist-extensions/src/util/misc/cornerRadius.d.ts +0 -0
  2050. package/dist-extensions/src/util/misc/cornerRadius.d.ts.map +0 -0
  2051. package/dist-extensions/src/util/misc/cos.d.ts +0 -0
  2052. package/dist-extensions/src/util/misc/cos.d.ts.map +0 -0
  2053. package/dist-extensions/src/util/misc/dom.d.ts +0 -0
  2054. package/dist-extensions/src/util/misc/dom.d.ts.map +0 -0
  2055. package/dist-extensions/src/util/misc/findScaleTo.d.ts +0 -0
  2056. package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +0 -0
  2057. package/dist-extensions/src/util/misc/groupSVGElements.d.ts +0 -0
  2058. package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +0 -0
  2059. package/dist-extensions/src/util/misc/isTransparent.d.ts +0 -0
  2060. package/dist-extensions/src/util/misc/isTransparent.d.ts.map +0 -0
  2061. package/dist-extensions/src/util/misc/matrix.d.ts +0 -0
  2062. package/dist-extensions/src/util/misc/matrix.d.ts.map +0 -0
  2063. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +0 -0
  2064. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  2065. package/dist-extensions/src/util/misc/objectEnlive.d.ts +0 -0
  2066. package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +0 -0
  2067. package/dist-extensions/src/util/misc/objectTransforms.d.ts +0 -0
  2068. package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +0 -0
  2069. package/dist-extensions/src/util/misc/pick.d.ts +0 -0
  2070. package/dist-extensions/src/util/misc/pick.d.ts.map +0 -0
  2071. package/dist-extensions/src/util/misc/planeChange.d.ts +0 -0
  2072. package/dist-extensions/src/util/misc/planeChange.d.ts.map +0 -0
  2073. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  2074. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  2075. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  2076. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  2077. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  2078. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  2079. package/dist-extensions/src/util/misc/projectStroke/index.d.ts +0 -0
  2080. package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +0 -0
  2081. package/dist-extensions/src/util/misc/projectStroke/types.d.ts +0 -0
  2082. package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +0 -0
  2083. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  2084. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  2085. package/dist-extensions/src/util/misc/resolveOrigin.d.ts +0 -0
  2086. package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +0 -0
  2087. package/dist-extensions/src/util/misc/sin.d.ts +0 -0
  2088. package/dist-extensions/src/util/misc/sin.d.ts.map +0 -0
  2089. package/dist-extensions/src/util/misc/svgExport.d.ts +0 -0
  2090. package/dist-extensions/src/util/misc/svgExport.d.ts.map +0 -0
  2091. package/dist-extensions/src/util/misc/svgParsing.d.ts +0 -0
  2092. package/dist-extensions/src/util/misc/svgParsing.d.ts.map +0 -0
  2093. package/dist-extensions/src/util/misc/textStyles.d.ts +0 -0
  2094. package/dist-extensions/src/util/misc/textStyles.d.ts.map +0 -0
  2095. package/dist-extensions/src/util/misc/toFixed.d.ts +0 -0
  2096. package/dist-extensions/src/util/misc/toFixed.d.ts.map +0 -0
  2097. package/dist-extensions/src/util/misc/vectors.d.ts +0 -0
  2098. package/dist-extensions/src/util/misc/vectors.d.ts.map +0 -0
  2099. package/dist-extensions/src/util/path/index.d.ts +0 -0
  2100. package/dist-extensions/src/util/path/index.d.ts.map +0 -0
  2101. package/dist-extensions/src/util/path/regex.d.ts +0 -0
  2102. package/dist-extensions/src/util/path/regex.d.ts.map +0 -0
  2103. package/dist-extensions/src/util/path/typedefs.d.ts +0 -0
  2104. package/dist-extensions/src/util/path/typedefs.d.ts.map +0 -0
  2105. package/dist-extensions/src/util/transform_matrix_removal.d.ts +0 -0
  2106. package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +0 -0
  2107. package/dist-extensions/src/util/typeAssertions.d.ts +0 -0
  2108. package/dist-extensions/src/util/typeAssertions.d.ts.map +0 -0
  2109. package/docs/fabric-konva-gap-analysis.md +0 -0
  2110. package/docs/konva-text-behavior-spec.md +0 -0
  2111. package/docs/text-engine-design.md +0 -0
  2112. package/eslint.config.mjs +0 -0
  2113. package/examples/overlay-edit.html +416 -416
  2114. package/extensions/README.MD +0 -0
  2115. package/extensions/aligning_guidelines/README.MD +0 -0
  2116. package/extensions/aligning_guidelines/constant.ts +0 -0
  2117. package/extensions/aligning_guidelines/index.ts +0 -0
  2118. package/extensions/aligning_guidelines/typedefs.ts +0 -0
  2119. package/extensions/aligning_guidelines/util/basic.spec.ts +0 -0
  2120. package/extensions/aligning_guidelines/util/basic.ts +0 -0
  2121. package/extensions/aligning_guidelines/util/collect-line.ts +0 -0
  2122. package/extensions/aligning_guidelines/util/collect-point.ts +0 -0
  2123. package/extensions/aligning_guidelines/util/draw.ts +0 -0
  2124. package/extensions/aligning_guidelines/util/get-objects-by-target.ts +0 -0
  2125. package/extensions/data_updaters/README.md +0 -0
  2126. package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +0 -0
  2127. package/extensions/data_updaters/gradient/index.spec.ts +0 -0
  2128. package/extensions/data_updaters/gradient/index.ts +0 -0
  2129. package/extensions/data_updaters/origins/README.md +0 -0
  2130. package/extensions/data_updaters/origins/index.spec.ts +0 -0
  2131. package/extensions/data_updaters/origins/index.ts +0 -0
  2132. package/extensions/index.ts +0 -0
  2133. package/fabric-test-editor.html +3552 -0
  2134. package/fabric-test2.html +647 -0
  2135. package/fabric.ts +182 -182
  2136. package/fonts/STV Bold.ttf +0 -0
  2137. package/fonts/STV Light.ttf +0 -0
  2138. package/fonts/STV Regular.ttf +0 -0
  2139. package/index.node.ts +0 -0
  2140. package/index.ts +0 -0
  2141. package/lib/aligning_guidelines.js +0 -0
  2142. package/lib/centering_guidelines.js +0 -0
  2143. package/lib/event.js +0 -0
  2144. package/package.json +164 -164
  2145. package/playwright.config.ts +0 -0
  2146. package/playwright.setup.ts +0 -0
  2147. package/publish-next.js +0 -0
  2148. package/publish.js +0 -0
  2149. package/rollup.config.mjs +0 -0
  2150. package/rtl-debug.html +745 -0
  2151. package/scripts/bench-text.js +591 -591
  2152. package/scripts/build.mjs +0 -0
  2153. package/scripts/buildLock.mjs +0 -0
  2154. package/scripts/buildReporter.mjs +0 -0
  2155. package/scripts/buildStats.mjs +0 -0
  2156. package/scripts/dirname.mjs +0 -0
  2157. package/scripts/git.mjs +0 -0
  2158. package/scripts/index.mjs +0 -0
  2159. package/scripts/sandbox.mjs +0 -0
  2160. package/src/ClassRegistry.spec.ts +0 -0
  2161. package/src/ClassRegistry.ts +0 -0
  2162. package/src/Collection.spec.ts +0 -0
  2163. package/src/Collection.ts +0 -0
  2164. package/src/CommonMethods.ts +0 -0
  2165. package/src/EventTypeDefs.ts +0 -0
  2166. package/src/Intersection.spec.ts +0 -0
  2167. package/src/Intersection.ts +0 -0
  2168. package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +0 -0
  2169. package/src/LayoutManager/ActiveSelectionLayoutManager.ts +0 -0
  2170. package/src/LayoutManager/LayoutManager.spec.ts +0 -0
  2171. package/src/LayoutManager/LayoutManager.ts +0 -0
  2172. package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +0 -0
  2173. package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +0 -0
  2174. package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +0 -0
  2175. package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +0 -0
  2176. package/src/LayoutManager/LayoutStrategies/utils.ts +0 -0
  2177. package/src/LayoutManager/README.md +0 -0
  2178. package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +0 -0
  2179. package/src/LayoutManager/constants.ts +0 -0
  2180. package/src/LayoutManager/index.ts +0 -0
  2181. package/src/LayoutManager/types.ts +0 -0
  2182. package/src/Observable.spec.ts +0 -0
  2183. package/src/Observable.ts +0 -0
  2184. package/src/Pattern/Pattern.spec.ts +0 -0
  2185. package/src/Pattern/Pattern.ts +0 -0
  2186. package/src/Pattern/index.ts +0 -0
  2187. package/src/Pattern/types.ts +0 -0
  2188. package/src/Point.spec.ts +0 -0
  2189. package/src/Point.ts +0 -0
  2190. package/src/Shadow.spec.ts +0 -0
  2191. package/src/Shadow.ts +0 -0
  2192. package/src/__snapshots__/Shadow.spec.ts.snap +0 -0
  2193. package/src/brushes/BaseBrush.spec.ts +0 -0
  2194. package/src/brushes/BaseBrush.ts +0 -0
  2195. package/src/brushes/CircleBrush.test.ts +0 -0
  2196. package/src/brushes/CircleBrush.ts +0 -0
  2197. package/src/brushes/PatternBrush.ts +0 -0
  2198. package/src/brushes/PencilBrush.spec.ts +0 -0
  2199. package/src/brushes/PencilBrush.ts +0 -0
  2200. package/src/brushes/SprayBrush.ts +0 -0
  2201. package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +0 -0
  2202. package/src/brushes/typedefs.ts +0 -0
  2203. package/src/cache.spec.ts +0 -0
  2204. package/src/cache.ts +0 -0
  2205. package/src/canvas/Canvas-dispose.spec.ts +0 -0
  2206. package/src/canvas/Canvas-events.spec.ts +0 -0
  2207. package/src/canvas/Canvas.spec.ts +0 -0
  2208. package/src/canvas/Canvas.ts +0 -0
  2209. package/src/canvas/CanvasOptions.ts +0 -0
  2210. package/src/canvas/DOMManagers/CanvasDOMManager.ts +0 -0
  2211. package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +0 -0
  2212. package/src/canvas/DOMManagers/util.spec.ts +0 -0
  2213. package/src/canvas/DOMManagers/util.ts +0 -0
  2214. package/src/canvas/SelectableCanvas.spec.ts +0 -0
  2215. package/src/canvas/SelectableCanvas.ts +0 -0
  2216. package/src/canvas/StaticCanvas.spec.ts +0 -0
  2217. package/src/canvas/StaticCanvas.ts +0 -0
  2218. package/src/canvas/StaticCanvasOptions.ts +0 -0
  2219. package/src/canvas/TextEditingManager.ts +0 -0
  2220. package/src/canvas/__tests__/SelectableCanvas.spec.ts +0 -0
  2221. package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +0 -0
  2222. package/src/canvas/__tests__/eventData.test.ts +0 -0
  2223. package/src/canvas/canvas_gestures.mixin.ts +0 -0
  2224. package/src/color/Color.ts +0 -0
  2225. package/src/color/color.test.ts +0 -0
  2226. package/src/color/color_map.ts +0 -0
  2227. package/src/color/constants.ts +0 -0
  2228. package/src/color/typedefs.ts +0 -0
  2229. package/src/color/util.ts +0 -0
  2230. package/src/config.ts +0 -0
  2231. package/src/constants.ts +0 -0
  2232. package/src/controls/Control-cursor.spec.ts +0 -0
  2233. package/src/controls/Control-handlers.spec.ts +0 -0
  2234. package/src/controls/Control.spec.ts +0 -0
  2235. package/src/controls/Control.ts +0 -0
  2236. package/src/controls/changeHeight.ts +0 -0
  2237. package/src/controls/changeWidth.test.ts +0 -0
  2238. package/src/controls/changeWidth.ts +0 -0
  2239. package/src/controls/commonControls.ts +0 -0
  2240. package/src/controls/controlRendering.ts +0 -0
  2241. package/src/controls/drag.ts +0 -0
  2242. package/src/controls/fireEvent.ts +0 -0
  2243. package/src/controls/index.ts +0 -0
  2244. package/src/controls/pathControl.spec.ts +0 -0
  2245. package/src/controls/pathControl.ts +0 -0
  2246. package/src/controls/polyControl.spec.ts +0 -0
  2247. package/src/controls/polyControl.ts +0 -0
  2248. package/src/controls/rotate.ts +0 -0
  2249. package/src/controls/scale.test.ts +0 -0
  2250. package/src/controls/scale.ts +0 -0
  2251. package/src/controls/scaleSkew.ts +0 -0
  2252. package/src/controls/skew.ts +0 -0
  2253. package/src/controls/util.ts +0 -0
  2254. package/src/controls/wrapWithFireEvent.ts +0 -0
  2255. package/src/controls/wrapWithFixedAnchor.spec.ts +0 -0
  2256. package/src/controls/wrapWithFixedAnchor.ts +0 -0
  2257. package/src/env/browser.ts +0 -0
  2258. package/src/env/env.spec.ts +0 -0
  2259. package/src/env/index.ts +0 -0
  2260. package/src/env/node.ts +0 -0
  2261. package/src/env/types.ts +0 -0
  2262. package/src/filters/BaseFilter.spec.ts +0 -0
  2263. package/src/filters/BaseFilter.ts +0 -0
  2264. package/src/filters/BlendColor.ts +0 -0
  2265. package/src/filters/BlendImage.ts +0 -0
  2266. package/src/filters/Blur.ts +0 -0
  2267. package/src/filters/Boilerplate.ts +0 -0
  2268. package/src/filters/Brightness.ts +0 -0
  2269. package/src/filters/Canvas2dFilterBackend.ts +0 -0
  2270. package/src/filters/ColorMatrix.spec.ts +0 -0
  2271. package/src/filters/ColorMatrix.ts +0 -0
  2272. package/src/filters/ColorMatrixFilters.ts +0 -0
  2273. package/src/filters/Composed.ts +0 -0
  2274. package/src/filters/Contrast.ts +0 -0
  2275. package/src/filters/Convolute.ts +0 -0
  2276. package/src/filters/FilterBackend.ts +0 -0
  2277. package/src/filters/GLProbes/GLProbe.ts +0 -0
  2278. package/src/filters/GLProbes/NodeGLProbe.ts +0 -0
  2279. package/src/filters/GLProbes/WebGLProbe.ts +0 -0
  2280. package/src/filters/Gamma.ts +0 -0
  2281. package/src/filters/Grayscale.ts +0 -0
  2282. package/src/filters/HueRotation.ts +0 -0
  2283. package/src/filters/Invert.ts +0 -0
  2284. package/src/filters/Noise.ts +0 -0
  2285. package/src/filters/Pixelate.ts +0 -0
  2286. package/src/filters/RemoveColor.ts +0 -0
  2287. package/src/filters/Resize.ts +0 -0
  2288. package/src/filters/Saturation.ts +0 -0
  2289. package/src/filters/Vibrance.ts +0 -0
  2290. package/src/filters/WebGLFilterBackend.spec.ts +0 -0
  2291. package/src/filters/WebGLFilterBackend.ts +0 -0
  2292. package/src/filters/filters.ts +0 -0
  2293. package/src/filters/index.ts +0 -0
  2294. package/src/filters/shaders/baseFilter.ts +0 -0
  2295. package/src/filters/shaders/blendColor.ts +0 -0
  2296. package/src/filters/shaders/blendImage.ts +0 -0
  2297. package/src/filters/shaders/blur.ts +0 -0
  2298. package/src/filters/shaders/brightness.ts +0 -0
  2299. package/src/filters/shaders/colorMatrix.ts +0 -0
  2300. package/src/filters/shaders/constrast.ts +0 -0
  2301. package/src/filters/shaders/convolute.ts +0 -0
  2302. package/src/filters/shaders/gamma.ts +0 -0
  2303. package/src/filters/shaders/grayscale.ts +0 -0
  2304. package/src/filters/shaders/invert.ts +0 -0
  2305. package/src/filters/shaders/noise.ts +0 -0
  2306. package/src/filters/shaders/pixelate.ts +0 -0
  2307. package/src/filters/shaders/removeColor.ts +0 -0
  2308. package/src/filters/shaders/saturation.ts +0 -0
  2309. package/src/filters/shaders/vibrance.ts +0 -0
  2310. package/src/filters/typedefs.ts +0 -0
  2311. package/src/filters/utils.ts +0 -0
  2312. package/src/gradient/Gradient.spec.ts +0 -0
  2313. package/src/gradient/Gradient.ts +0 -0
  2314. package/src/gradient/constants.ts +0 -0
  2315. package/src/gradient/index.ts +0 -0
  2316. package/src/gradient/parser/misc.ts +0 -0
  2317. package/src/gradient/parser/parseColorStops.ts +0 -0
  2318. package/src/gradient/parser/parseCoords.ts +0 -0
  2319. package/src/gradient/typedefs.ts +0 -0
  2320. package/src/mixins/eraser_brush.mixin.ts +0 -0
  2321. package/src/parkinglot/canvas_animation.mixin.ts +0 -0
  2322. package/src/parkinglot/straighten.ts +0 -0
  2323. package/src/parser/applyViewboxTransform.spec.ts +0 -0
  2324. package/src/parser/applyViewboxTransform.ts +0 -0
  2325. package/src/parser/attributes.ts +0 -0
  2326. package/src/parser/constants.spec.ts +0 -0
  2327. package/src/parser/constants.ts +0 -0
  2328. package/src/parser/doesSomeParentMatch.ts +0 -0
  2329. package/src/parser/elementMatchesRule.ts +0 -0
  2330. package/src/parser/elements_parser.ts +0 -0
  2331. package/src/parser/getCSSRules.spec.ts +0 -0
  2332. package/src/parser/getCSSRules.ts +0 -0
  2333. package/src/parser/getGlobalStylesForElement.ts +0 -0
  2334. package/src/parser/getGradientDefs.ts +0 -0
  2335. package/src/parser/getMultipleNodes.ts +0 -0
  2336. package/src/parser/getSvgRegex.ts +0 -0
  2337. package/src/parser/getTagName.ts +0 -0
  2338. package/src/parser/hasInvalidAncestor.ts +0 -0
  2339. package/src/parser/loadSVGFromString.test.ts +0 -0
  2340. package/src/parser/loadSVGFromString.ts +0 -0
  2341. package/src/parser/loadSVGFromURL.ts +0 -0
  2342. package/src/parser/normalizeAttr.ts +0 -0
  2343. package/src/parser/normalizeValue.ts +0 -0
  2344. package/src/parser/parseAttributes.ts +0 -0
  2345. package/src/parser/parseFontDeclaration.ts +0 -0
  2346. package/src/parser/parsePointsAttribute.ts +0 -0
  2347. package/src/parser/parseSVGDocument.ts +0 -0
  2348. package/src/parser/parseStyleAttribute.ts +0 -0
  2349. package/src/parser/parseStyleObject.ts +0 -0
  2350. package/src/parser/parseStyleString.ts +0 -0
  2351. package/src/parser/parseTransformAttribute.ts +0 -0
  2352. package/src/parser/parseUseDirectives.test.ts +0 -0
  2353. package/src/parser/parseUseDirectives.ts +0 -0
  2354. package/src/parser/parser.spec.ts +0 -0
  2355. package/src/parser/percent.ts +0 -0
  2356. package/src/parser/recursivelyParseGradientsXlink.ts +0 -0
  2357. package/src/parser/selectorMatches.ts +0 -0
  2358. package/src/parser/setStrokeFillOpacity.ts +0 -0
  2359. package/src/parser/typedefs.ts +0 -0
  2360. package/src/shapes/ActiveSelection.spec.ts +0 -0
  2361. package/src/shapes/ActiveSelection.ts +0 -0
  2362. package/src/shapes/Circle.spec.ts +0 -0
  2363. package/src/shapes/Circle.ts +0 -0
  2364. package/src/shapes/Ellipse.spec.ts +0 -0
  2365. package/src/shapes/Ellipse.ts +0 -0
  2366. package/src/shapes/Group.spec.ts +0 -0
  2367. package/src/shapes/Group.ts +0 -0
  2368. package/src/shapes/IText/DraggableTextDelegate.ts +0 -0
  2369. package/src/shapes/IText/IText-click-behavior.spec.ts +0 -0
  2370. package/src/shapes/IText/IText.test.ts +0 -0
  2371. package/src/shapes/IText/IText.ts +846 -846
  2372. package/src/shapes/IText/ITextBehavior.test.ts +0 -0
  2373. package/src/shapes/IText/ITextBehavior.ts +1187 -1187
  2374. package/src/shapes/IText/ITextClickBehavior.ts +254 -254
  2375. package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
  2376. package/src/shapes/IText/ITextKeyBehavior.ts +732 -732
  2377. package/src/shapes/IText/__snapshots__/IText.test.ts.snap +0 -0
  2378. package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +0 -0
  2379. package/src/shapes/IText/constants.ts +0 -0
  2380. package/src/shapes/Image-filters.spec.ts +0 -0
  2381. package/src/shapes/Image.spec.ts +0 -0
  2382. package/src/shapes/Image.ts +0 -0
  2383. package/src/shapes/Line.spec.ts +0 -0
  2384. package/src/shapes/Line.ts +0 -0
  2385. package/src/shapes/Object/FabricObject.spec.ts +0 -0
  2386. package/src/shapes/Object/FabricObject.ts +0 -0
  2387. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +0 -0
  2388. package/src/shapes/Object/InteractiveObject.spec.ts +0 -0
  2389. package/src/shapes/Object/InteractiveObject.ts +0 -0
  2390. package/src/shapes/Object/Object-clip-path.spec.ts +0 -0
  2391. package/src/shapes/Object/Object-interactivity.spec.ts +0 -0
  2392. package/src/shapes/Object/Object.spec.ts +0 -0
  2393. package/src/shapes/Object/Object.ts +0 -0
  2394. package/src/shapes/Object/ObjectGeometry.spec.ts +0 -0
  2395. package/src/shapes/Object/ObjectGeometry.ts +0 -0
  2396. package/src/shapes/Object/ObjectOrigin.spec.ts +0 -0
  2397. package/src/shapes/Object/ObjectSerialization.spec.ts +0 -0
  2398. package/src/shapes/Object/StackedObject.spec.ts +0 -0
  2399. package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +0 -0
  2400. package/src/shapes/Object/defaultValues.ts +0 -0
  2401. package/src/shapes/Object/types/BaseProps.ts +0 -0
  2402. package/src/shapes/Object/types/BorderProps.ts +0 -0
  2403. package/src/shapes/Object/types/ControlProps.ts +0 -0
  2404. package/src/shapes/Object/types/FabricObjectProps.ts +0 -0
  2405. package/src/shapes/Object/types/FillStrokeProps.ts +0 -0
  2406. package/src/shapes/Object/types/LockInteractionProps.ts +0 -0
  2407. package/src/shapes/Object/types/ObjectProps.ts +0 -0
  2408. package/src/shapes/Object/types/ObjectTransformProps.ts +0 -0
  2409. package/src/shapes/Object/types/SerializedObjectProps.ts +0 -0
  2410. package/src/shapes/Object/types/index.ts +0 -0
  2411. package/src/shapes/Path.spec.ts +0 -0
  2412. package/src/shapes/Path.ts +0 -0
  2413. package/src/shapes/Polygon.spec.ts +0 -0
  2414. package/src/shapes/Polygon.ts +0 -0
  2415. package/src/shapes/Polyline.spec.ts +0 -0
  2416. package/src/shapes/Polyline.ts +0 -0
  2417. package/src/shapes/Rect.spec.ts +0 -0
  2418. package/src/shapes/Rect.ts +0 -0
  2419. package/src/shapes/Text/StyledText.spec.ts +0 -0
  2420. package/src/shapes/Text/StyledText.ts +0 -0
  2421. package/src/shapes/Text/Text.spec.ts +0 -0
  2422. package/src/shapes/Text/Text.ts +5 -1
  2423. package/src/shapes/Text/TextSVGExportMixin.spec.ts +0 -0
  2424. package/src/shapes/Text/TextSVGExportMixin.ts +0 -0
  2425. package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +0 -0
  2426. package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +0 -0
  2427. package/src/shapes/Text/constants.ts +135 -134
  2428. package/src/shapes/Textbox.spec.ts +0 -0
  2429. package/src/shapes/Textbox.ts +74 -5
  2430. package/src/shapes/Triangle.spec.ts +0 -0
  2431. package/src/shapes/Triangle.ts +0 -0
  2432. package/src/shapes/__snapshots__/Image.spec.ts.snap +0 -0
  2433. package/src/shapes/__snapshots__/Textbox.spec.ts.snap +0 -0
  2434. package/src/text/browserLines.ts +233 -233
  2435. package/src/text/ellipsis.ts +516 -516
  2436. package/src/text/hitTest.ts +623 -623
  2437. package/src/text/layout.ts +586 -586
  2438. package/src/text/measure.ts +626 -626
  2439. package/src/text/overlayEditor.ts +1047 -1047
  2440. package/src/text/unicode.ts +454 -454
  2441. package/src/typedefs.ts +0 -0
  2442. package/src/util/__snapshots__/index.spec.ts.snap +0 -0
  2443. package/src/util/animation/AnimationBase.ts +0 -0
  2444. package/src/util/animation/AnimationFrameProvider.ts +0 -0
  2445. package/src/util/animation/AnimationRegistry.ts +0 -0
  2446. package/src/util/animation/ArrayAnimation.ts +0 -0
  2447. package/src/util/animation/ColorAnimation.ts +0 -0
  2448. package/src/util/animation/ValueAnimation.ts +0 -0
  2449. package/src/util/animation/__snapshots__/animations.spec.ts.snap +0 -0
  2450. package/src/util/animation/animate.ts +0 -0
  2451. package/src/util/animation/animations.spec.ts +0 -0
  2452. package/src/util/animation/easing.ts +0 -0
  2453. package/src/util/animation/index.ts +0 -0
  2454. package/src/util/animation/types.ts +0 -0
  2455. package/src/util/applyMixins.ts +0 -0
  2456. package/src/util/dom_event.spec.ts +0 -0
  2457. package/src/util/dom_event.ts +0 -0
  2458. package/src/util/dom_misc.ts +0 -0
  2459. package/src/util/index.spec.ts +0 -0
  2460. package/src/util/index.ts +0 -0
  2461. package/src/util/internals/applyCanvasTransform.ts +0 -0
  2462. package/src/util/internals/cleanupSvgAttribute.test.ts +0 -0
  2463. package/src/util/internals/cleanupSvgAttribute.ts +0 -0
  2464. package/src/util/internals/cloneStyles.spec.ts +0 -0
  2465. package/src/util/internals/cloneStyles.ts +0 -0
  2466. package/src/util/internals/console.ts +0 -0
  2467. package/src/util/internals/dom_style.spec.ts +0 -0
  2468. package/src/util/internals/dom_style.ts +0 -0
  2469. package/src/util/internals/findRight.ts +0 -0
  2470. package/src/util/internals/getRandomInt.test.ts +0 -0
  2471. package/src/util/internals/getRandomInt.ts +0 -0
  2472. package/src/util/internals/ifNaN.ts +0 -0
  2473. package/src/util/internals/removeFromArray.spec.ts +0 -0
  2474. package/src/util/internals/removeFromArray.ts +0 -0
  2475. package/src/util/internals/uid.ts +0 -0
  2476. package/src/util/lang_string.spec.ts +0 -0
  2477. package/src/util/lang_string.ts +0 -0
  2478. package/src/util/misc/boundingBoxFromPoints.spec.ts +0 -0
  2479. package/src/util/misc/boundingBoxFromPoints.ts +0 -0
  2480. package/src/util/misc/capValue.spec.ts +0 -0
  2481. package/src/util/misc/capValue.ts +0 -0
  2482. package/src/util/misc/cornerRadius.spec.ts +0 -0
  2483. package/src/util/misc/cornerRadius.ts +0 -0
  2484. package/src/util/misc/cos.spec.ts +0 -0
  2485. package/src/util/misc/cos.ts +0 -0
  2486. package/src/util/misc/dom.spec.ts +0 -0
  2487. package/src/util/misc/dom.ts +0 -0
  2488. package/src/util/misc/findScaleTo.spec.ts +0 -0
  2489. package/src/util/misc/findScaleTo.ts +0 -0
  2490. package/src/util/misc/groupSVGElements.spec.ts +0 -0
  2491. package/src/util/misc/groupSVGElements.ts +0 -0
  2492. package/src/util/misc/isTransparent.ts +0 -0
  2493. package/src/util/misc/matrix.spec.ts +0 -0
  2494. package/src/util/misc/matrix.ts +0 -0
  2495. package/src/util/misc/mergeClipPaths.spec.ts +0 -0
  2496. package/src/util/misc/mergeClipPaths.ts +0 -0
  2497. package/src/util/misc/objectEnlive.spec.ts +0 -0
  2498. package/src/util/misc/objectEnlive.ts +0 -0
  2499. package/src/util/misc/objectTransforms.spec.ts +0 -0
  2500. package/src/util/misc/objectTransforms.ts +0 -0
  2501. package/src/util/misc/pick.spec.ts +0 -0
  2502. package/src/util/misc/pick.ts +0 -0
  2503. package/src/util/misc/planeChange.spec.ts +0 -0
  2504. package/src/util/misc/planeChange.ts +0 -0
  2505. package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +0 -0
  2506. package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +0 -0
  2507. package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +0 -0
  2508. package/src/util/misc/projectStroke/index.ts +0 -0
  2509. package/src/util/misc/projectStroke/types.ts +0 -0
  2510. package/src/util/misc/radiansDegreesConversion.spec.ts +0 -0
  2511. package/src/util/misc/radiansDegreesConversion.ts +0 -0
  2512. package/src/util/misc/resolveOrigin.ts +0 -0
  2513. package/src/util/misc/sin.ts +0 -0
  2514. package/src/util/misc/svgExport.ts +0 -0
  2515. package/src/util/misc/svgParsing.spec.ts +0 -0
  2516. package/src/util/misc/svgParsing.ts +0 -0
  2517. package/src/util/misc/textStyles.ts +0 -0
  2518. package/src/util/misc/toFixed.spec.ts +0 -0
  2519. package/src/util/misc/toFixed.ts +0 -0
  2520. package/src/util/misc/vectors.spec.ts +0 -0
  2521. package/src/util/misc/vectors.ts +0 -0
  2522. package/src/util/path/__snapshots__/index.spec.ts.snap +0 -0
  2523. package/src/util/path/index.spec.ts +0 -0
  2524. package/src/util/path/index.ts +0 -0
  2525. package/src/util/path/regex.ts +0 -0
  2526. package/src/util/path/typechecks.ts +0 -0
  2527. package/src/util/path/typedefs.ts +0 -0
  2528. package/src/util/transform_matrix_removal.ts +0 -0
  2529. package/src/util/typeAssertions.spec.ts +0 -0
  2530. package/src/util/typeAssertions.ts +0 -0
  2531. package/tsconfig-extensions.json +0 -0
  2532. package/tsconfig.json +0 -0
  2533. package/tsconfig.spec.json +0 -0
  2534. package/typedoc.config.json +0 -0
  2535. package/vitest.config.ts +0 -0
  2536. package/vitest.d.ts +0 -0
  2537. package/vitest.env.d.ts +0 -0
  2538. package/vitest.extend.ts +0 -0
  2539. package/vitest.setup.ts +0 -0
  2540. package/dist/src/controls/changeHeight.min.mjs +0 -2
  2541. package/dist/src/controls/changeHeight.min.mjs.map +0 -1
  2542. package/dist/src/controls/changeHeight.mjs +0 -36
  2543. package/dist/src/controls/changeHeight.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ITextBehavior.mjs","sources":["../../../../src/shapes/IText/ITextBehavior.ts"],"sourcesContent":["import type { ObjectEvents, TPointerEvent } from '../../EventTypeDefs';\nimport { Point } from '../../Point';\nimport type { FabricObject } from '../Object/FabricObject';\nimport { FabricText } from '../Text/Text';\nimport { animate } from '../../util/animation/animate';\nimport type { TOnAnimationChangeCallback } from '../../util/animation/types';\nimport type { ValueAnimation } from '../../util/animation/ValueAnimation';\nimport type { TextStyleDeclaration } from '../Text/StyledText';\nimport type { SerializedTextProps, TextProps } from '../Text/Text';\nimport type { TOptions } from '../../typedefs';\nimport { getDocumentFromElement } from '../../util/dom_misc';\nimport { LEFT, MODIFIED, RIGHT, reNewline } from '../../constants';\nimport type { IText } from './IText';\nimport { enterTextOverlayEdit } from '../../text/overlayEditor';\nimport { extractLinesFromDOM, storeBrowserLines } from '../../text/browserLines';\n\n/**\n * extend this regex to support non english languages\n *\n * - ` ` Matches a SPACE character (char code 32).\n * - `\\n` Matches a LINE FEED character (char code 10).\n * - `.` Matches a \".\" character (char code 46).\n * - `,` Matches a \",\" character (char code 44).\n * - `;` Matches a \";\" character (char code 59).\n * - `!` Matches a \"!\" character (char code 33).\n * - `\\?` Matches a \"?\" character (char code 63).\n * - `\\-` Matches a \"-\" character (char code 45).\n */\n// eslint-disable-next-line no-useless-escape\nconst reNonWord = /[ \\n\\.,;!\\?\\-]/;\n\nexport type ITextEvents = ObjectEvents & {\n 'selection:changed': never;\n changed: never | { index: number; action: string };\n 'editing:entered': never | { e: TPointerEvent };\n 'editing:exited': never;\n};\n\nexport abstract class ITextBehavior<\n Props extends TOptions<TextProps> = Partial<TextProps>,\n SProps extends SerializedTextProps = SerializedTextProps,\n EventSpec extends ITextEvents = ITextEvents,\n> extends FabricText<Props, SProps, EventSpec> {\n declare abstract isEditing: boolean;\n declare abstract cursorDelay: number;\n declare abstract selectionStart: number;\n declare abstract selectionEnd: number;\n declare abstract cursorDuration: number;\n declare abstract editable: boolean;\n declare abstract editingBorderColor: string;\n\n declare abstract compositionStart: number;\n declare abstract compositionEnd: number;\n\n declare abstract hiddenTextarea: HTMLTextAreaElement | null;\n\n /**\n * Helps determining when the text is in composition, so that the cursor\n * rendering is altered.\n */\n declare protected inCompositionMode: boolean;\n\n declare protected _reSpace: RegExp;\n declare private _currentTickState?: ValueAnimation;\n declare private _currentTickCompleteState?: ValueAnimation;\n protected _currentCursorOpacity = 1;\n declare private _textBeforeEdit: string;\n declare protected __selectionStartOnMouseDown: number;\n\n /**\n * Keeps track if the IText object was selected before the actual click.\n * This because we want to delay enter editing by a click.\n */\n declare protected selected: boolean;\n declare protected cursorOffsetCache: { left?: number; top?: number };\n declare protected _savedProps?: {\n hasControls: boolean;\n borderColor: string;\n lockMovementX: boolean;\n lockMovementY: boolean;\n selectable: boolean;\n hoverCursor: CSSStyleDeclaration['cursor'] | null;\n defaultCursor?: CSSStyleDeclaration['cursor'];\n moveCursor?: CSSStyleDeclaration['cursor'];\n };\n declare protected _selectionDirection: 'left' | 'right' | null;\n\n abstract initHiddenTextarea(): void;\n abstract _fireSelectionChanged(): void;\n abstract renderCursorOrSelection(): void;\n abstract getSelectionStartFromPointer(e: TPointerEvent): number;\n abstract _getCursorBoundaries(\n index: number,\n skipCaching?: boolean,\n ): {\n left: number;\n top: number;\n leftOffset: number;\n topOffset: number;\n };\n\n /**\n * Initializes all the interactive behavior of IText\n */\n initBehavior() {\n this._tick = this._tick.bind(this);\n this._onTickComplete = this._onTickComplete.bind(this);\n this.updateSelectionOnMouseMove =\n this.updateSelectionOnMouseMove.bind(this);\n }\n\n onDeselect(options?: { e?: TPointerEvent; object?: FabricObject }) {\n this.isEditing && this.exitEditing();\n this.selected = false;\n return super.onDeselect(options);\n }\n\n /**\n * @private\n */\n _animateCursor({\n toValue,\n duration,\n delay,\n onComplete,\n }: {\n toValue: number;\n duration: number;\n delay?: number;\n onComplete?: TOnAnimationChangeCallback<number>;\n }) {\n return animate({\n startValue: this._currentCursorOpacity,\n endValue: toValue,\n duration,\n delay,\n onComplete,\n abort: () =>\n !this.canvas ||\n // we do not want to animate a selection, only cursor\n this.selectionStart !== this.selectionEnd,\n onChange: (value) => {\n this._currentCursorOpacity = value;\n this.renderCursorOrSelection();\n },\n });\n }\n\n /**\n * changes the cursor from visible to invisible\n */\n private _tick(delay?: number) {\n this._currentTickState = this._animateCursor({\n toValue: 0,\n duration: this.cursorDuration / 2,\n delay: Math.max(delay || 0, 100),\n onComplete: this._onTickComplete,\n });\n }\n\n /**\n * Changes the cursor from invisible to visible\n */\n private _onTickComplete() {\n this._currentTickCompleteState?.abort();\n this._currentTickCompleteState = this._animateCursor({\n toValue: 1,\n duration: this.cursorDuration,\n onComplete: this._tick,\n });\n }\n\n /**\n * Initializes delayed cursor\n */\n initDelayedCursor(restart?: boolean) {\n this.abortCursorAnimation();\n this._tick(restart ? 0 : this.cursorDelay);\n }\n\n /**\n * Aborts cursor animation, clears all timeouts and clear textarea context if necessary\n */\n abortCursorAnimation() {\n let shouldClear = false;\n [this._currentTickState, this._currentTickCompleteState].forEach(\n (cursorAnimation) => {\n if (cursorAnimation && !cursorAnimation.isDone()) {\n shouldClear = true;\n cursorAnimation.abort();\n }\n },\n );\n\n this._currentCursorOpacity = 1;\n\n // make sure we clear context even if instance is not editing\n if (shouldClear) {\n this.clearContextTop();\n }\n }\n\n /**\n * Restart tue cursor animation if either is in complete state ( between animations )\n * or if it never started before\n */\n restartCursorIfNeeded() {\n if (\n [this._currentTickState, this._currentTickCompleteState].some(\n (cursorAnimation) => !cursorAnimation || cursorAnimation.isDone(),\n )\n ) {\n this.initDelayedCursor();\n }\n }\n\n /**\n * Selects entire text\n */\n selectAll() {\n this.selectionStart = 0;\n this.selectionEnd = this._text.length;\n this._fireSelectionChanged();\n this._updateTextarea();\n return this;\n }\n\n /**\n * Selects entire text and updates the visual state\n */\n cmdAll() {\n this.selectAll();\n this.renderCursorOrSelection();\n }\n\n /**\n * Returns selected text\n * @return {String}\n */\n getSelectedText(): string {\n return this._text.slice(this.selectionStart, this.selectionEnd).join('');\n }\n\n /**\n * Find new selection index representing start of current word according to current selection index\n * @param {Number} startFrom Current selection index\n * @return {Number} New selection index\n */\n findWordBoundaryLeft(startFrom: number): number {\n let offset = 0,\n index = startFrom - 1;\n\n // remove space before cursor first\n if (this._reSpace.test(this._text[index])) {\n while (this._reSpace.test(this._text[index])) {\n offset++;\n index--;\n }\n }\n while (/S/.test(this._text[index]) && index > -1) {\n offset++;\n index--;\n }\n\n return startFrom - offset;\n }\n\n /**\n * Find new selection index representing end of current word according to current selection index\n * @param {Number} startFrom Current selection index\n * @return {Number} New selection index\n */\n findWordBoundaryRight(startFrom: number): number {\n let offset = 0,\n index = startFrom;\n\n // remove space after cursor first\n if (this._reSpace.test(this._text[index])) {\n while (this._reSpace.test(this._text[index])) {\n offset++;\n index++;\n }\n }\n while (/S/.test(this._text[index]) && index < this._text.length) {\n offset++;\n index++;\n }\n\n return startFrom + offset;\n }\n\n /**\n * Find new selection index representing start of current line according to current selection index\n * @param {Number} startFrom Current selection index\n * @return {Number} New selection index\n */\n findLineBoundaryLeft(startFrom: number): number {\n let offset = 0,\n index = startFrom - 1;\n\n while (!/\\n/.test(this._text[index]) && index > -1) {\n offset++;\n index--;\n }\n\n return startFrom - offset;\n }\n\n /**\n * Find new selection index representing end of current line according to current selection index\n * @param {Number} startFrom Current selection index\n * @return {Number} New selection index\n */\n findLineBoundaryRight(startFrom: number): number {\n let offset = 0,\n index = startFrom;\n\n while (!/\\n/.test(this._text[index]) && index < this._text.length) {\n offset++;\n index++;\n }\n\n return startFrom + offset;\n }\n\n /**\n * Finds index corresponding to beginning or end of a word\n * @param {Number} selectionStart Index of a character\n * @param {Number} direction 1 or -1\n * @return {Number} Index of the beginning or end of a word\n */\n searchWordBoundary(selectionStart: number, direction: 1 | -1): number {\n const text = this._text;\n // if we land on a space we move the cursor backwards\n // if we are searching boundary end we move the cursor backwards ONLY if we don't land on a line break\n let index =\n selectionStart > 0 &&\n this._reSpace.test(text[selectionStart]) &&\n (direction === -1 || !reNewline.test(text[selectionStart - 1]))\n ? selectionStart - 1\n : selectionStart,\n _char = text[index];\n while (index > 0 && index < text.length && !reNonWord.test(_char)) {\n index += direction;\n _char = text[index];\n }\n if (direction === -1 && reNonWord.test(_char)) {\n index++;\n }\n return index;\n }\n\n /**\n * Selects the word that contains the char at index selectionStart\n * @param {Number} selectionStart Index of a character\n */\n selectWord(selectionStart?: number) {\n selectionStart = selectionStart ?? this.selectionStart;\n // search backwards\n const newSelectionStart = this.searchWordBoundary(selectionStart, -1),\n // search forward\n newSelectionEnd = Math.max(\n newSelectionStart,\n this.searchWordBoundary(selectionStart, 1),\n );\n\n this.selectionStart = newSelectionStart;\n this.selectionEnd = newSelectionEnd;\n this._fireSelectionChanged();\n this._updateTextarea();\n // remove next major, for now it renders twice :(\n this.renderCursorOrSelection();\n }\n\n /**\n * Selects the line that contains selectionStart\n * @param {Number} selectionStart Index of a character\n */\n selectLine(selectionStart?: number) {\n selectionStart = selectionStart ?? this.selectionStart;\n const newSelectionStart = this.findLineBoundaryLeft(selectionStart),\n newSelectionEnd = this.findLineBoundaryRight(selectionStart);\n\n this.selectionStart = newSelectionStart;\n this.selectionEnd = newSelectionEnd;\n this._fireSelectionChanged();\n this._updateTextarea();\n }\n\n /**\n * Enters editing state\n */\n enterEditing(e?: TPointerEvent) {\n if (this.isEditing || !this.editable) {\n return;\n }\n this.enterEditingImpl();\n this.fire('editing:entered', e ? { e } : undefined);\n this._fireSelectionChanged();\n if (this.canvas) {\n this.canvas.fire('text:editing:entered', {\n target: this as unknown as IText,\n e,\n });\n this.canvas.requestRenderAll();\n }\n }\n\n /**\n * runs the actual logic that enter from editing state, see {@link enterEditing}\n */\n enterEditingImpl() {\n if (this.canvas) {\n this.canvas.calcOffset();\n this.canvas.textEditingManager.exitTextEditing();\n }\n\n this.isEditing = true;\n\n // Check if using overlay editing\n if ((this as any).useOverlayEditing) {\n this.enterOverlayEditing();\n } else {\n this.initHiddenTextarea();\n this.hiddenTextarea!.focus();\n this.hiddenTextarea!.value = this.text;\n this._updateTextarea();\n this._saveEditingProps();\n this._setEditingProps();\n this._textBeforeEdit = this.text;\n this._tick();\n }\n }\n\n /**\n * Enter overlay editing mode using DOM textarea overlay\n */\n private enterOverlayEditing() {\n this._saveEditingProps();\n this._setEditingProps();\n this._textBeforeEdit = this.text;\n\n if (!this.canvas) {\n return;\n }\n\n // Create overlay editor\n enterTextOverlayEdit(this.canvas, this as any, {\n onCommit: (text: string) => {\n this.commitOverlayEdit(text);\n },\n onCancel: () => {\n this.cancelOverlayEdit();\n }\n });\n }\n\n /**\n * Commit overlay editing changes\n */\n private commitOverlayEdit(text: string) {\n \n const overlayEditor = (this as any).__overlayEditor;\n \n if (overlayEditor) {\n // Extract browser lines for pixel-perfect rendering\n try {\n const result = extractLinesFromDOM(overlayEditor.textareaElement);\n storeBrowserLines(this, result.lines);\n } catch (error) {\n console.warn('Failed to extract browser lines:', error);\n }\n }\n\n // Update text content and trigger layout recalculation\n this.text = text;\n this.dirty = true;\n this.initDimensions();\n this.setCoords();\n this.exitEditing();\n this.fire('changed');\n this.canvas && this.canvas.requestRenderAll();\n }\n\n /**\n * Cancel overlay editing without changes\n */\n private cancelOverlayEdit() {\n // Restore original text\n this.text = this._textBeforeEdit || this.text;\n this.exitEditing();\n }\n\n /**\n * called by {@link Canvas#textEditingManager}\n */\n updateSelectionOnMouseMove(e: TPointerEvent) {\n if (this.getActiveControl()) {\n return;\n }\n\n const el = this.hiddenTextarea!;\n // regain focus\n getDocumentFromElement(el).activeElement !== el && el.focus();\n\n const newSelectionStart = this.getSelectionStartFromPointer(e),\n currentStart = this.selectionStart,\n currentEnd = this.selectionEnd;\n if (\n (newSelectionStart !== this.__selectionStartOnMouseDown ||\n currentStart === currentEnd) &&\n (currentStart === newSelectionStart || currentEnd === newSelectionStart)\n ) {\n return;\n }\n\n // Always ensure selectionStart <= selectionEnd for proper text selection\n const startIndex = Math.min(\n newSelectionStart,\n this.__selectionStartOnMouseDown,\n );\n const endIndex = Math.max(\n newSelectionStart,\n this.__selectionStartOnMouseDown,\n );\n\n this.selectionStart = startIndex;\n this.selectionEnd = endIndex;\n\n if (\n this.selectionStart !== currentStart ||\n this.selectionEnd !== currentEnd\n ) {\n this._fireSelectionChanged();\n this._updateTextarea();\n this.renderCursorOrSelection();\n }\n }\n\n /**\n * @private\n */\n _setEditingProps() {\n this.hoverCursor = 'text';\n\n if (this.canvas) {\n this.canvas.defaultCursor = this.canvas.moveCursor = 'text';\n }\n\n this.borderColor = this.editingBorderColor;\n this.hasControls = this.selectable = false;\n this.lockMovementX = this.lockMovementY = true;\n }\n\n /**\n * convert from textarea to grapheme indexes\n */\n fromStringToGraphemeSelection(start: number, end: number, text: string) {\n const smallerTextStart = text.slice(0, start),\n graphemeStart = this.graphemeSplit(smallerTextStart).length;\n if (start === end) {\n return { selectionStart: graphemeStart, selectionEnd: graphemeStart };\n }\n const smallerTextEnd = text.slice(start, end),\n graphemeEnd = this.graphemeSplit(smallerTextEnd).length;\n return {\n selectionStart: graphemeStart,\n selectionEnd: graphemeStart + graphemeEnd,\n };\n }\n\n /**\n * convert from fabric to textarea values\n */\n fromGraphemeToStringSelection(\n start: number,\n end: number,\n graphemes: string[],\n ) {\n const smallerTextStart = graphemes.slice(0, start),\n graphemeStart = smallerTextStart.join('').length;\n if (start === end) {\n return { selectionStart: graphemeStart, selectionEnd: graphemeStart };\n }\n const smallerTextEnd = graphemes.slice(start, end),\n graphemeEnd = smallerTextEnd.join('').length;\n return {\n selectionStart: graphemeStart,\n selectionEnd: graphemeStart + graphemeEnd,\n };\n }\n\n /**\n * @private\n */\n _updateTextarea() {\n console.log('🔤 _updateTextarea called with fabric text:', this.text);\n this.cursorOffsetCache = {};\n if (!this.hiddenTextarea) {\n return;\n }\n \n // Sync textarea content with fabric text to prevent double-keypress issues\n const currentFabricText = this.text;\n if (this.hiddenTextarea.value !== currentFabricText) {\n console.log('🔤 _updateTextarea: syncing textarea to fabric text');\n console.log('🔤 _updateTextarea: textarea was:', this.hiddenTextarea.value);\n console.log('🔤 _updateTextarea: fabric is:', currentFabricText);\n this.hiddenTextarea.value = currentFabricText;\n }\n \n if (!this.inCompositionMode) {\n const newSelection = this.fromGraphemeToStringSelection(\n this.selectionStart,\n this.selectionEnd,\n this._text,\n );\n this.hiddenTextarea.selectionStart = newSelection.selectionStart;\n this.hiddenTextarea.selectionEnd = newSelection.selectionEnd;\n }\n this.updateTextareaPosition();\n }\n\n /**\n * @private\n */\n updateFromTextArea() {\n if (!this.hiddenTextarea) {\n return;\n }\n this.cursorOffsetCache = {};\n const textarea = this.hiddenTextarea;\n this.text = textarea.value;\n this.set('dirty', true);\n this.initDimensions();\n this.setCoords();\n const newSelection = this.fromStringToGraphemeSelection(\n textarea.selectionStart,\n textarea.selectionEnd,\n textarea.value,\n );\n this.selectionEnd = this.selectionStart = newSelection.selectionEnd;\n if (!this.inCompositionMode) {\n this.selectionStart = newSelection.selectionStart;\n }\n this.updateTextareaPosition();\n }\n\n /**\n * @private\n */\n updateTextareaPosition() {\n if (this.selectionStart === this.selectionEnd) {\n const style = this._calcTextareaPosition();\n this.hiddenTextarea!.style.left = style.left;\n this.hiddenTextarea!.style.top = style.top;\n }\n }\n\n /**\n * @private\n * @return {Object} style contains style for hiddenTextarea\n */\n _calcTextareaPosition() {\n if (!this.canvas) {\n return { left: '1px', top: '1px' };\n }\n const desiredPosition = this.inCompositionMode\n ? this.compositionStart\n : this.selectionStart,\n boundaries = this._getCursorBoundaries(desiredPosition),\n cursorLocation = this.get2DCursorLocation(desiredPosition),\n lineIndex = cursorLocation.lineIndex,\n charIndex = cursorLocation.charIndex,\n charHeight =\n this.getValueOfPropertyAt(lineIndex, charIndex, 'fontSize') *\n this.lineHeight,\n leftOffset = boundaries.leftOffset,\n retinaScaling = this.getCanvasRetinaScaling(),\n upperCanvas = this.canvas.upperCanvasEl,\n upperCanvasWidth = upperCanvas.width / retinaScaling,\n upperCanvasHeight = upperCanvas.height / retinaScaling,\n maxWidth = upperCanvasWidth - charHeight,\n maxHeight = upperCanvasHeight - charHeight;\n\n const p = new Point(\n boundaries.left + leftOffset,\n boundaries.top + boundaries.topOffset + charHeight,\n )\n .transform(this.calcTransformMatrix())\n .transform(this.canvas.viewportTransform)\n .multiply(\n new Point(\n upperCanvas.clientWidth / upperCanvasWidth,\n upperCanvas.clientHeight / upperCanvasHeight,\n ),\n );\n\n if (p.x < 0) {\n p.x = 0;\n }\n if (p.x > maxWidth) {\n p.x = maxWidth;\n }\n if (p.y < 0) {\n p.y = 0;\n }\n if (p.y > maxHeight) {\n p.y = maxHeight;\n }\n\n // add canvas offset on document\n p.x += this.canvas._offset.left;\n p.y += this.canvas._offset.top;\n\n return {\n left: `${p.x}px`,\n top: `${p.y}px`,\n fontSize: `${charHeight}px`,\n charHeight: charHeight,\n };\n }\n\n /**\n * @private\n */\n _saveEditingProps() {\n this._savedProps = {\n hasControls: this.hasControls,\n borderColor: this.borderColor,\n lockMovementX: this.lockMovementX,\n lockMovementY: this.lockMovementY,\n // For textboxes, hoverCursor should be null when not editing (falls back to canvas hoverCursor = 'move')\n hoverCursor: null,\n selectable: this.selectable,\n // Always save known good defaults for canvas cursors instead of potentially corrupted current values\n defaultCursor: 'default',\n moveCursor: 'move',\n };\n }\n\n /**\n * @private\n */\n _restoreEditingProps() {\n if (!this._savedProps) {\n return;\n }\n\n this.hoverCursor = this._savedProps.hoverCursor;\n this.hasControls = this._savedProps.hasControls;\n this.borderColor = this._savedProps.borderColor;\n this.selectable = this._savedProps.selectable;\n this.lockMovementX = this._savedProps.lockMovementX;\n this.lockMovementY = this._savedProps.lockMovementY;\n\n if (this.canvas) {\n this.canvas.defaultCursor =\n this._savedProps.defaultCursor ?? 'default';\n this.canvas.moveCursor =\n this._savedProps.moveCursor ?? 'move';\n }\n\n delete this._savedProps;\n }\n\n /**\n * runs the actual logic that exits from editing state, see {@link exitEditing}\n * But it does not fire events\n */\n exitEditingImpl() {\n const hiddenTextarea = this.hiddenTextarea;\n this.selected = false;\n this.isEditing = false;\n\n if (hiddenTextarea) {\n hiddenTextarea.blur && hiddenTextarea.blur();\n hiddenTextarea.parentNode &&\n hiddenTextarea.parentNode.removeChild(hiddenTextarea);\n }\n this.hiddenTextarea = null;\n this.abortCursorAnimation();\n this.selectionStart !== this.selectionEnd && this.clearContextTop();\n this.selectionEnd = this.selectionStart;\n this._restoreEditingProps();\n if (this._forceClearCache) {\n this.initDimensions();\n this.setCoords();\n }\n }\n\n /**\n * Exits from editing state and fires relevant events\n */\n exitEditing() {\n const isTextChanged = this._textBeforeEdit !== this.text;\n this.exitEditingImpl();\n\n this.fire('editing:exited');\n isTextChanged && this.fire(MODIFIED);\n if (this.canvas) {\n this.canvas.fire('text:editing:exited', {\n target: this as unknown as IText,\n });\n // todo: evaluate add an action to this event\n isTextChanged && this.canvas.fire('object:modified', { target: this });\n }\n return this;\n }\n\n /**\n * @private\n */\n _removeExtraneousStyles() {\n for (const prop in this.styles) {\n if (!this._textLines[prop as unknown as number]) {\n delete this.styles[prop];\n }\n }\n }\n\n /**\n * remove and reflow a style block from start to end.\n * @param {Number} start linear start position for removal (included in removal)\n * @param {Number} end linear end position for removal ( excluded from removal )\n */\n removeStyleFromTo(start: number, end: number) {\n const { lineIndex: lineStart, charIndex: charStart } =\n this.get2DCursorLocation(start, true),\n { lineIndex: lineEnd, charIndex: charEnd } = this.get2DCursorLocation(\n end,\n true,\n );\n if (lineStart !== lineEnd) {\n // step1 remove the trailing of lineStart\n if (this.styles[lineStart]) {\n for (\n let i = charStart;\n i < this._unwrappedTextLines[lineStart].length;\n i++\n ) {\n delete this.styles[lineStart][i];\n }\n }\n // step2 move the trailing of lineEnd to lineStart if needed\n if (this.styles[lineEnd]) {\n for (\n let i = charEnd;\n i < this._unwrappedTextLines[lineEnd].length;\n i++\n ) {\n const styleObj = this.styles[lineEnd][i];\n if (styleObj) {\n this.styles[lineStart] || (this.styles[lineStart] = {});\n this.styles[lineStart][charStart + i - charEnd] = styleObj;\n }\n }\n }\n // step3 detects lines will be completely removed.\n for (let i = lineStart + 1; i <= lineEnd; i++) {\n delete this.styles[i];\n }\n // step4 shift remaining lines.\n this.shiftLineStyles(lineEnd, lineStart - lineEnd);\n } else {\n // remove and shift left on the same line\n if (this.styles[lineStart]) {\n const styleObj = this.styles[lineStart];\n const diff = charEnd - charStart;\n for (let i = charStart; i < charEnd; i++) {\n delete styleObj[i];\n }\n for (const char in this.styles[lineStart]) {\n const numericChar = parseInt(char, 10);\n if (numericChar >= charEnd) {\n styleObj[numericChar - diff] = styleObj[char];\n delete styleObj[char];\n }\n }\n }\n }\n }\n\n /**\n * Shifts line styles up or down\n * @param {Number} lineIndex Index of a line\n * @param {Number} offset Can any number?\n */\n shiftLineStyles(lineIndex: number, offset: number) {\n const clonedStyles = Object.assign({}, this.styles);\n for (const line in this.styles) {\n const numericLine = parseInt(line, 10);\n if (numericLine > lineIndex) {\n this.styles[numericLine + offset] = clonedStyles[numericLine];\n if (!clonedStyles[numericLine - offset]) {\n delete this.styles[numericLine];\n }\n }\n }\n }\n\n /**\n * Handle insertion of more consecutive style lines for when one or more\n * newlines gets added to the text. Since current style needs to be shifted\n * first we shift the current style of the number lines needed, then we add\n * new lines from the last to the first.\n * @param {Number} lineIndex Index of a line\n * @param {Number} charIndex Index of a char\n * @param {Number} qty number of lines to add\n * @param {Array} copiedStyle Array of objects styles\n */\n insertNewlineStyleObject(\n lineIndex: number,\n charIndex: number,\n qty: number,\n copiedStyle?: { [index: number]: TextStyleDeclaration },\n ) {\n const newLineStyles: { [index: number]: TextStyleDeclaration } = {};\n const originalLineLength = this._unwrappedTextLines[lineIndex].length;\n const isEndOfLine = originalLineLength === charIndex;\n\n let someStyleIsCarryingOver = false;\n qty || (qty = 1);\n this.shiftLineStyles(lineIndex, qty);\n const currentCharStyle = this.styles[lineIndex]\n ? this.styles[lineIndex][charIndex === 0 ? charIndex : charIndex - 1]\n : undefined;\n\n // we clone styles of all chars\n // after cursor onto the current line\n for (const index in this.styles[lineIndex]) {\n const numIndex = parseInt(index, 10);\n if (numIndex >= charIndex) {\n someStyleIsCarryingOver = true;\n newLineStyles[numIndex - charIndex] = this.styles[lineIndex][index];\n // remove lines from the previous line since they're on a new line now\n if (!(isEndOfLine && charIndex === 0)) {\n delete this.styles[lineIndex][index];\n }\n }\n }\n let styleCarriedOver = false;\n if (someStyleIsCarryingOver && !isEndOfLine) {\n // if is end of line, the extra style we copied\n // is probably not something we want\n this.styles[lineIndex + qty] = newLineStyles;\n styleCarriedOver = true;\n }\n if (styleCarriedOver || originalLineLength > charIndex) {\n // skip the last line of since we already prepared it.\n // or contains text without style that we don't want to style\n // just because it changed lines\n qty--;\n }\n // for the all the lines or all the other lines\n // we clone current char style onto the next (otherwise empty) line\n while (qty > 0) {\n if (copiedStyle && copiedStyle[qty - 1]) {\n this.styles[lineIndex + qty] = {\n 0: { ...copiedStyle[qty - 1] },\n };\n } else if (currentCharStyle) {\n this.styles[lineIndex + qty] = {\n 0: { ...currentCharStyle },\n };\n } else {\n delete this.styles[lineIndex + qty];\n }\n qty--;\n }\n this._forceClearCache = true;\n }\n\n /**\n * Inserts style object for a given line/char index\n * @param {Number} lineIndex Index of a line\n * @param {Number} charIndex Index of a char\n * @param {Number} quantity number Style object to insert, if given\n * @param {Array} copiedStyle array of style objects\n */\n insertCharStyleObject(\n lineIndex: number,\n charIndex: number,\n quantity: number,\n copiedStyle?: TextStyleDeclaration[],\n ) {\n if (!this.styles) {\n this.styles = {};\n }\n const currentLineStyles = this.styles[lineIndex],\n currentLineStylesCloned = currentLineStyles\n ? { ...currentLineStyles }\n : {};\n\n quantity || (quantity = 1);\n // shift all char styles by quantity forward\n // 0,1,2,3 -> (charIndex=2) -> 0,1,3,4 -> (insert 2) -> 0,1,2,3,4\n for (const index in currentLineStylesCloned) {\n const numericIndex = parseInt(index, 10);\n if (numericIndex >= charIndex) {\n currentLineStyles[numericIndex + quantity] =\n currentLineStylesCloned[numericIndex];\n // only delete the style if there was nothing moved there\n if (!currentLineStylesCloned[numericIndex - quantity]) {\n delete currentLineStyles[numericIndex];\n }\n }\n }\n this._forceClearCache = true;\n if (copiedStyle) {\n while (quantity--) {\n if (!Object.keys(copiedStyle[quantity]).length) {\n continue;\n }\n if (!this.styles[lineIndex]) {\n this.styles[lineIndex] = {};\n }\n this.styles[lineIndex][charIndex + quantity] = {\n ...copiedStyle[quantity],\n };\n }\n return;\n }\n if (!currentLineStyles) {\n return;\n }\n const newStyle = currentLineStyles[charIndex ? charIndex - 1 : 1];\n while (newStyle && quantity--) {\n this.styles[lineIndex][charIndex + quantity] = { ...newStyle };\n }\n }\n\n /**\n * Inserts style object(s)\n * @param {Array} insertedText Characters at the location where style is inserted\n * @param {Number} start cursor index for inserting style\n * @param {Array} [copiedStyle] array of style objects to insert.\n */\n insertNewStyleBlock(\n insertedText: string[],\n start: number,\n copiedStyle?: TextStyleDeclaration[],\n ) {\n const cursorLoc = this.get2DCursorLocation(start, true),\n addedLines = [0];\n let linesLength = 0;\n // get an array of how many char per lines are being added.\n for (let i = 0; i < insertedText.length; i++) {\n if (insertedText[i] === '\\n') {\n linesLength++;\n addedLines[linesLength] = 0;\n } else {\n addedLines[linesLength]++;\n }\n }\n // for the first line copy the style from the current char position.\n if (addedLines[0] > 0) {\n this.insertCharStyleObject(\n cursorLoc.lineIndex,\n cursorLoc.charIndex,\n addedLines[0],\n copiedStyle,\n );\n copiedStyle = copiedStyle && copiedStyle.slice(addedLines[0] + 1);\n }\n linesLength &&\n this.insertNewlineStyleObject(\n cursorLoc.lineIndex,\n cursorLoc.charIndex + addedLines[0],\n linesLength,\n );\n let i;\n for (i = 1; i < linesLength; i++) {\n if (addedLines[i] > 0) {\n this.insertCharStyleObject(\n cursorLoc.lineIndex + i,\n 0,\n addedLines[i],\n copiedStyle,\n );\n } else if (copiedStyle) {\n // this test is required in order to close #6841\n // when a pasted buffer begins with a newline then\n // this.styles[cursorLoc.lineIndex + i] and copiedStyle[0]\n // may be undefined for some reason\n if (this.styles[cursorLoc.lineIndex + i] && copiedStyle[0]) {\n this.styles[cursorLoc.lineIndex + i][0] = copiedStyle[0];\n }\n }\n copiedStyle = copiedStyle && copiedStyle.slice(addedLines[i] + 1);\n }\n if (addedLines[i] > 0) {\n this.insertCharStyleObject(\n cursorLoc.lineIndex + i,\n 0,\n addedLines[i],\n copiedStyle,\n );\n }\n }\n\n /**\n * Removes characters from start/end\n * start/end ar per grapheme position in _text array.\n *\n * @param {Number} start\n * @param {Number} end default to start + 1\n */\n removeChars(start: number, end: number = start + 1) {\n this.removeStyleFromTo(start, end);\n this._text.splice(start, end - start);\n this.text = this._text.join('');\n this.set('dirty', true);\n this.initDimensions();\n this.setCoords();\n this._removeExtraneousStyles();\n }\n\n /**\n * insert characters at start position, before start position.\n * start equal 1 it means the text get inserted between actual grapheme 0 and 1\n * if style array is provided, it must be as the same length of text in graphemes\n * if end is provided and is bigger than start, old text is replaced.\n * start/end ar per grapheme position in _text array.\n *\n * @param {String} text text to insert\n * @param {Array} style array of style objects\n * @param {Number} start\n * @param {Number} end default to start + 1\n */\n insertChars(\n text: string,\n style: TextStyleDeclaration[] | undefined,\n start: number,\n end: number = start,\n ) {\n if (end > start) {\n this.removeStyleFromTo(start, end);\n }\n const graphemes = this.graphemeSplit(text);\n this.insertNewStyleBlock(graphemes, start, style);\n this._text = [\n ...this._text.slice(0, start),\n ...graphemes,\n ...this._text.slice(end),\n ];\n this.text = this._text.join('');\n this.set('dirty', true);\n this.initDimensions();\n this.setCoords();\n this._removeExtraneousStyles();\n }\n\n /**\n * Set the selectionStart and selectionEnd according to the new position of cursor\n * mimic the key - mouse navigation when shift is pressed.\n */\n setSelectionStartEndWithShift(\n start: number,\n end: number,\n newSelection: number,\n ) {\n if (newSelection <= start) {\n if (end === start) {\n this._selectionDirection = LEFT;\n } else if (this._selectionDirection === RIGHT) {\n this._selectionDirection = LEFT;\n this.selectionEnd = start;\n }\n this.selectionStart = newSelection;\n } else if (newSelection > start && newSelection < end) {\n if (this._selectionDirection === RIGHT) {\n this.selectionEnd = newSelection;\n } else {\n this.selectionStart = newSelection;\n }\n } else {\n // newSelection is > selection start and end\n if (end === start) {\n this._selectionDirection = RIGHT;\n } else if (this._selectionDirection === LEFT) {\n this._selectionDirection = RIGHT;\n this.selectionStart = end;\n }\n this.selectionEnd = newSelection;\n }\n }\n}"],"names":["reNonWord","ITextBehavior","FabricText","constructor","arguments","_defineProperty","initBehavior","_tick","bind","_onTickComplete","updateSelectionOnMouseMove","onDeselect","options","isEditing","exitEditing","selected","_animateCursor","_ref","toValue","duration","delay","onComplete","animate","startValue","_currentCursorOpacity","endValue","abort","canvas","selectionStart","selectionEnd","onChange","value","renderCursorOrSelection","_currentTickState","cursorDuration","Math","max","_this$_currentTickCom","_currentTickCompleteState","initDelayedCursor","restart","abortCursorAnimation","cursorDelay","shouldClear","forEach","cursorAnimation","isDone","clearContextTop","restartCursorIfNeeded","some","selectAll","_text","length","_fireSelectionChanged","_updateTextarea","cmdAll","getSelectedText","slice","join","findWordBoundaryLeft","startFrom","offset","index","_reSpace","test","findWordBoundaryRight","findLineBoundaryLeft","findLineBoundaryRight","searchWordBoundary","direction","text","reNewline","_char","selectWord","newSelectionStart","newSelectionEnd","selectLine","enterEditing","e","editable","enterEditingImpl","fire","undefined","target","requestRenderAll","calcOffset","textEditingManager","exitTextEditing","useOverlayEditing","enterOverlayEditing","initHiddenTextarea","hiddenTextarea","focus","_saveEditingProps","_setEditingProps","_textBeforeEdit","enterTextOverlayEdit","onCommit","commitOverlayEdit","onCancel","cancelOverlayEdit","overlayEditor","__overlayEditor","result","extractLinesFromDOM","textareaElement","storeBrowserLines","lines","error","console","warn","dirty","initDimensions","setCoords","getActiveControl","el","getDocumentFromElement","activeElement","getSelectionStartFromPointer","currentStart","currentEnd","__selectionStartOnMouseDown","startIndex","min","endIndex","hoverCursor","defaultCursor","moveCursor","borderColor","editingBorderColor","hasControls","selectable","lockMovementX","lockMovementY","fromStringToGraphemeSelection","start","end","smallerTextStart","graphemeStart","graphemeSplit","smallerTextEnd","graphemeEnd","fromGraphemeToStringSelection","graphemes","log","cursorOffsetCache","currentFabricText","inCompositionMode","newSelection","updateTextareaPosition","updateFromTextArea","textarea","set","style","_calcTextareaPosition","left","top","desiredPosition","compositionStart","boundaries","_getCursorBoundaries","cursorLocation","get2DCursorLocation","lineIndex","charIndex","charHeight","getValueOfPropertyAt","lineHeight","leftOffset","retinaScaling","getCanvasRetinaScaling","upperCanvas","upperCanvasEl","upperCanvasWidth","width","upperCanvasHeight","height","maxWidth","maxHeight","p","Point","topOffset","transform","calcTransformMatrix","viewportTransform","multiply","clientWidth","clientHeight","x","y","_offset","fontSize","_savedProps","_restoreEditingProps","_this$_savedProps$def","_this$_savedProps$mov","exitEditingImpl","blur","parentNode","removeChild","_forceClearCache","isTextChanged","MODIFIED","_removeExtraneousStyles","prop","styles","_textLines","removeStyleFromTo","lineStart","charStart","lineEnd","charEnd","i","_unwrappedTextLines","styleObj","shiftLineStyles","diff","char","numericChar","parseInt","clonedStyles","Object","assign","line","numericLine","insertNewlineStyleObject","qty","copiedStyle","newLineStyles","originalLineLength","isEndOfLine","someStyleIsCarryingOver","currentCharStyle","numIndex","styleCarriedOver","insertCharStyleObject","quantity","currentLineStyles","currentLineStylesCloned","numericIndex","keys","newStyle","insertNewStyleBlock","insertedText","cursorLoc","addedLines","linesLength","removeChars","splice","insertChars","setSelectionStartEndWithShift","_selectionDirection","LEFT","RIGHT"],"mappings":"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"}
1
+ {"version":3,"file":"ITextBehavior.mjs","sources":["../../../../src/shapes/IText/ITextBehavior.ts"],"sourcesContent":["import type { ObjectEvents, TPointerEvent } from '../../EventTypeDefs';\r\nimport { Point } from '../../Point';\r\nimport type { FabricObject } from '../Object/FabricObject';\r\nimport { FabricText } from '../Text/Text';\r\nimport { animate } from '../../util/animation/animate';\r\nimport type { TOnAnimationChangeCallback } from '../../util/animation/types';\r\nimport type { ValueAnimation } from '../../util/animation/ValueAnimation';\r\nimport type { TextStyleDeclaration } from '../Text/StyledText';\r\nimport type { SerializedTextProps, TextProps } from '../Text/Text';\r\nimport type { TOptions } from '../../typedefs';\r\nimport { getDocumentFromElement } from '../../util/dom_misc';\r\nimport { LEFT, MODIFIED, RIGHT, reNewline } from '../../constants';\r\nimport type { IText } from './IText';\r\nimport { enterTextOverlayEdit } from '../../text/overlayEditor';\r\nimport { extractLinesFromDOM, storeBrowserLines } from '../../text/browserLines';\r\n\r\n/**\r\n * extend this regex to support non english languages\r\n *\r\n * - ` ` Matches a SPACE character (char code 32).\r\n * - `\\n` Matches a LINE FEED character (char code 10).\r\n * - `.` Matches a \".\" character (char code 46).\r\n * - `,` Matches a \",\" character (char code 44).\r\n * - `;` Matches a \";\" character (char code 59).\r\n * - `!` Matches a \"!\" character (char code 33).\r\n * - `\\?` Matches a \"?\" character (char code 63).\r\n * - `\\-` Matches a \"-\" character (char code 45).\r\n */\r\n// eslint-disable-next-line no-useless-escape\r\nconst reNonWord = /[ \\n\\.,;!\\?\\-]/;\r\n\r\nexport type ITextEvents = ObjectEvents & {\r\n 'selection:changed': never;\r\n changed: never | { index: number; action: string };\r\n 'editing:entered': never | { e: TPointerEvent };\r\n 'editing:exited': never;\r\n};\r\n\r\nexport abstract class ITextBehavior<\r\n Props extends TOptions<TextProps> = Partial<TextProps>,\r\n SProps extends SerializedTextProps = SerializedTextProps,\r\n EventSpec extends ITextEvents = ITextEvents,\r\n> extends FabricText<Props, SProps, EventSpec> {\r\n declare abstract isEditing: boolean;\r\n declare abstract cursorDelay: number;\r\n declare abstract selectionStart: number;\r\n declare abstract selectionEnd: number;\r\n declare abstract cursorDuration: number;\r\n declare abstract editable: boolean;\r\n declare abstract editingBorderColor: string;\r\n\r\n declare abstract compositionStart: number;\r\n declare abstract compositionEnd: number;\r\n\r\n declare abstract hiddenTextarea: HTMLTextAreaElement | null;\r\n\r\n /**\r\n * Helps determining when the text is in composition, so that the cursor\r\n * rendering is altered.\r\n */\r\n declare protected inCompositionMode: boolean;\r\n\r\n declare protected _reSpace: RegExp;\r\n declare private _currentTickState?: ValueAnimation;\r\n declare private _currentTickCompleteState?: ValueAnimation;\r\n protected _currentCursorOpacity = 1;\r\n declare private _textBeforeEdit: string;\r\n declare protected __selectionStartOnMouseDown: number;\r\n\r\n /**\r\n * Keeps track if the IText object was selected before the actual click.\r\n * This because we want to delay enter editing by a click.\r\n */\r\n declare protected selected: boolean;\r\n declare protected cursorOffsetCache: { left?: number; top?: number };\r\n declare protected _savedProps?: {\r\n hasControls: boolean;\r\n borderColor: string;\r\n lockMovementX: boolean;\r\n lockMovementY: boolean;\r\n selectable: boolean;\r\n hoverCursor: CSSStyleDeclaration['cursor'] | null;\r\n defaultCursor?: CSSStyleDeclaration['cursor'];\r\n moveCursor?: CSSStyleDeclaration['cursor'];\r\n };\r\n declare protected _selectionDirection: 'left' | 'right' | null;\r\n\r\n abstract initHiddenTextarea(): void;\r\n abstract _fireSelectionChanged(): void;\r\n abstract renderCursorOrSelection(): void;\r\n abstract getSelectionStartFromPointer(e: TPointerEvent): number;\r\n abstract _getCursorBoundaries(\r\n index: number,\r\n skipCaching?: boolean,\r\n ): {\r\n left: number;\r\n top: number;\r\n leftOffset: number;\r\n topOffset: number;\r\n };\r\n\r\n /**\r\n * Initializes all the interactive behavior of IText\r\n */\r\n initBehavior() {\r\n this._tick = this._tick.bind(this);\r\n this._onTickComplete = this._onTickComplete.bind(this);\r\n this.updateSelectionOnMouseMove =\r\n this.updateSelectionOnMouseMove.bind(this);\r\n }\r\n\r\n onDeselect(options?: { e?: TPointerEvent; object?: FabricObject }) {\r\n this.isEditing && this.exitEditing();\r\n this.selected = false;\r\n return super.onDeselect(options);\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n _animateCursor({\r\n toValue,\r\n duration,\r\n delay,\r\n onComplete,\r\n }: {\r\n toValue: number;\r\n duration: number;\r\n delay?: number;\r\n onComplete?: TOnAnimationChangeCallback<number>;\r\n }) {\r\n return animate({\r\n startValue: this._currentCursorOpacity,\r\n endValue: toValue,\r\n duration,\r\n delay,\r\n onComplete,\r\n abort: () =>\r\n !this.canvas ||\r\n // we do not want to animate a selection, only cursor\r\n this.selectionStart !== this.selectionEnd,\r\n onChange: (value) => {\r\n this._currentCursorOpacity = value;\r\n this.renderCursorOrSelection();\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * changes the cursor from visible to invisible\r\n */\r\n private _tick(delay?: number) {\r\n this._currentTickState = this._animateCursor({\r\n toValue: 0,\r\n duration: this.cursorDuration / 2,\r\n delay: Math.max(delay || 0, 100),\r\n onComplete: this._onTickComplete,\r\n });\r\n }\r\n\r\n /**\r\n * Changes the cursor from invisible to visible\r\n */\r\n private _onTickComplete() {\r\n this._currentTickCompleteState?.abort();\r\n this._currentTickCompleteState = this._animateCursor({\r\n toValue: 1,\r\n duration: this.cursorDuration,\r\n onComplete: this._tick,\r\n });\r\n }\r\n\r\n /**\r\n * Initializes delayed cursor\r\n */\r\n initDelayedCursor(restart?: boolean) {\r\n this.abortCursorAnimation();\r\n this._tick(restart ? 0 : this.cursorDelay);\r\n }\r\n\r\n /**\r\n * Aborts cursor animation, clears all timeouts and clear textarea context if necessary\r\n */\r\n abortCursorAnimation() {\r\n let shouldClear = false;\r\n [this._currentTickState, this._currentTickCompleteState].forEach(\r\n (cursorAnimation) => {\r\n if (cursorAnimation && !cursorAnimation.isDone()) {\r\n shouldClear = true;\r\n cursorAnimation.abort();\r\n }\r\n },\r\n );\r\n\r\n this._currentCursorOpacity = 1;\r\n\r\n // make sure we clear context even if instance is not editing\r\n if (shouldClear) {\r\n this.clearContextTop();\r\n }\r\n }\r\n\r\n /**\r\n * Restart tue cursor animation if either is in complete state ( between animations )\r\n * or if it never started before\r\n */\r\n restartCursorIfNeeded() {\r\n if (\r\n [this._currentTickState, this._currentTickCompleteState].some(\r\n (cursorAnimation) => !cursorAnimation || cursorAnimation.isDone(),\r\n )\r\n ) {\r\n this.initDelayedCursor();\r\n }\r\n }\r\n\r\n /**\r\n * Selects entire text\r\n */\r\n selectAll() {\r\n this.selectionStart = 0;\r\n this.selectionEnd = this._text.length;\r\n this._fireSelectionChanged();\r\n this._updateTextarea();\r\n return this;\r\n }\r\n\r\n /**\r\n * Selects entire text and updates the visual state\r\n */\r\n cmdAll() {\r\n this.selectAll();\r\n this.renderCursorOrSelection();\r\n }\r\n\r\n /**\r\n * Returns selected text\r\n * @return {String}\r\n */\r\n getSelectedText(): string {\r\n return this._text.slice(this.selectionStart, this.selectionEnd).join('');\r\n }\r\n\r\n /**\r\n * Find new selection index representing start of current word according to current selection index\r\n * @param {Number} startFrom Current selection index\r\n * @return {Number} New selection index\r\n */\r\n findWordBoundaryLeft(startFrom: number): number {\r\n let offset = 0,\r\n index = startFrom - 1;\r\n\r\n // remove space before cursor first\r\n if (this._reSpace.test(this._text[index])) {\r\n while (this._reSpace.test(this._text[index])) {\r\n offset++;\r\n index--;\r\n }\r\n }\r\n while (/S/.test(this._text[index]) && index > -1) {\r\n offset++;\r\n index--;\r\n }\r\n\r\n return startFrom - offset;\r\n }\r\n\r\n /**\r\n * Find new selection index representing end of current word according to current selection index\r\n * @param {Number} startFrom Current selection index\r\n * @return {Number} New selection index\r\n */\r\n findWordBoundaryRight(startFrom: number): number {\r\n let offset = 0,\r\n index = startFrom;\r\n\r\n // remove space after cursor first\r\n if (this._reSpace.test(this._text[index])) {\r\n while (this._reSpace.test(this._text[index])) {\r\n offset++;\r\n index++;\r\n }\r\n }\r\n while (/S/.test(this._text[index]) && index < this._text.length) {\r\n offset++;\r\n index++;\r\n }\r\n\r\n return startFrom + offset;\r\n }\r\n\r\n /**\r\n * Find new selection index representing start of current line according to current selection index\r\n * @param {Number} startFrom Current selection index\r\n * @return {Number} New selection index\r\n */\r\n findLineBoundaryLeft(startFrom: number): number {\r\n let offset = 0,\r\n index = startFrom - 1;\r\n\r\n while (!/\\n/.test(this._text[index]) && index > -1) {\r\n offset++;\r\n index--;\r\n }\r\n\r\n return startFrom - offset;\r\n }\r\n\r\n /**\r\n * Find new selection index representing end of current line according to current selection index\r\n * @param {Number} startFrom Current selection index\r\n * @return {Number} New selection index\r\n */\r\n findLineBoundaryRight(startFrom: number): number {\r\n let offset = 0,\r\n index = startFrom;\r\n\r\n while (!/\\n/.test(this._text[index]) && index < this._text.length) {\r\n offset++;\r\n index++;\r\n }\r\n\r\n return startFrom + offset;\r\n }\r\n\r\n /**\r\n * Finds index corresponding to beginning or end of a word\r\n * @param {Number} selectionStart Index of a character\r\n * @param {Number} direction 1 or -1\r\n * @return {Number} Index of the beginning or end of a word\r\n */\r\n searchWordBoundary(selectionStart: number, direction: 1 | -1): number {\r\n const text = this._text;\r\n // if we land on a space we move the cursor backwards\r\n // if we are searching boundary end we move the cursor backwards ONLY if we don't land on a line break\r\n let index =\r\n selectionStart > 0 &&\r\n this._reSpace.test(text[selectionStart]) &&\r\n (direction === -1 || !reNewline.test(text[selectionStart - 1]))\r\n ? selectionStart - 1\r\n : selectionStart,\r\n _char = text[index];\r\n while (index > 0 && index < text.length && !reNonWord.test(_char)) {\r\n index += direction;\r\n _char = text[index];\r\n }\r\n if (direction === -1 && reNonWord.test(_char)) {\r\n index++;\r\n }\r\n return index;\r\n }\r\n\r\n /**\r\n * Selects the word that contains the char at index selectionStart\r\n * @param {Number} selectionStart Index of a character\r\n */\r\n selectWord(selectionStart?: number) {\r\n selectionStart = selectionStart ?? this.selectionStart;\r\n // search backwards\r\n const newSelectionStart = this.searchWordBoundary(selectionStart, -1),\r\n // search forward\r\n newSelectionEnd = Math.max(\r\n newSelectionStart,\r\n this.searchWordBoundary(selectionStart, 1),\r\n );\r\n\r\n this.selectionStart = newSelectionStart;\r\n this.selectionEnd = newSelectionEnd;\r\n this._fireSelectionChanged();\r\n this._updateTextarea();\r\n // remove next major, for now it renders twice :(\r\n this.renderCursorOrSelection();\r\n }\r\n\r\n /**\r\n * Selects the line that contains selectionStart\r\n * @param {Number} selectionStart Index of a character\r\n */\r\n selectLine(selectionStart?: number) {\r\n selectionStart = selectionStart ?? this.selectionStart;\r\n const newSelectionStart = this.findLineBoundaryLeft(selectionStart),\r\n newSelectionEnd = this.findLineBoundaryRight(selectionStart);\r\n\r\n this.selectionStart = newSelectionStart;\r\n this.selectionEnd = newSelectionEnd;\r\n this._fireSelectionChanged();\r\n this._updateTextarea();\r\n }\r\n\r\n /**\r\n * Enters editing state\r\n */\r\n enterEditing(e?: TPointerEvent) {\r\n if (this.isEditing || !this.editable) {\r\n return;\r\n }\r\n this.enterEditingImpl();\r\n this.fire('editing:entered', e ? { e } : undefined);\r\n this._fireSelectionChanged();\r\n if (this.canvas) {\r\n this.canvas.fire('text:editing:entered', {\r\n target: this as unknown as IText,\r\n e,\r\n });\r\n this.canvas.requestRenderAll();\r\n }\r\n }\r\n\r\n /**\r\n * runs the actual logic that enter from editing state, see {@link enterEditing}\r\n */\r\n enterEditingImpl() {\r\n if (this.canvas) {\r\n this.canvas.calcOffset();\r\n this.canvas.textEditingManager.exitTextEditing();\r\n }\r\n\r\n this.isEditing = true;\r\n\r\n // Check if using overlay editing\r\n if ((this as any).useOverlayEditing) {\r\n this.enterOverlayEditing();\r\n } else {\r\n this.initHiddenTextarea();\r\n this.hiddenTextarea!.focus();\r\n this.hiddenTextarea!.value = this.text;\r\n this._updateTextarea();\r\n this._saveEditingProps();\r\n this._setEditingProps();\r\n this._textBeforeEdit = this.text;\r\n this._tick();\r\n }\r\n }\r\n\r\n /**\r\n * Enter overlay editing mode using DOM textarea overlay\r\n */\r\n private enterOverlayEditing() {\r\n this._saveEditingProps();\r\n this._setEditingProps();\r\n this._textBeforeEdit = this.text;\r\n\r\n if (!this.canvas) {\r\n return;\r\n }\r\n\r\n // Create overlay editor\r\n enterTextOverlayEdit(this.canvas, this as any, {\r\n onCommit: (text: string) => {\r\n this.commitOverlayEdit(text);\r\n },\r\n onCancel: () => {\r\n this.cancelOverlayEdit();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Commit overlay editing changes\r\n */\r\n private commitOverlayEdit(text: string) {\r\n \r\n const overlayEditor = (this as any).__overlayEditor;\r\n \r\n if (overlayEditor) {\r\n // Extract browser lines for pixel-perfect rendering\r\n try {\r\n const result = extractLinesFromDOM(overlayEditor.textareaElement);\r\n storeBrowserLines(this, result.lines);\r\n } catch (error) {\r\n console.warn('Failed to extract browser lines:', error);\r\n }\r\n }\r\n\r\n // Update text content and trigger layout recalculation\r\n this.text = text;\r\n this.dirty = true;\r\n this.initDimensions();\r\n this.setCoords();\r\n this.exitEditing();\r\n this.fire('changed');\r\n this.canvas && this.canvas.requestRenderAll();\r\n }\r\n\r\n /**\r\n * Cancel overlay editing without changes\r\n */\r\n private cancelOverlayEdit() {\r\n // Restore original text\r\n this.text = this._textBeforeEdit || this.text;\r\n this.exitEditing();\r\n }\r\n\r\n /**\r\n * called by {@link Canvas#textEditingManager}\r\n */\r\n updateSelectionOnMouseMove(e: TPointerEvent) {\r\n if (this.getActiveControl()) {\r\n return;\r\n }\r\n\r\n const el = this.hiddenTextarea!;\r\n // regain focus\r\n getDocumentFromElement(el).activeElement !== el && el.focus();\r\n\r\n const newSelectionStart = this.getSelectionStartFromPointer(e),\r\n currentStart = this.selectionStart,\r\n currentEnd = this.selectionEnd;\r\n if (\r\n (newSelectionStart !== this.__selectionStartOnMouseDown ||\r\n currentStart === currentEnd) &&\r\n (currentStart === newSelectionStart || currentEnd === newSelectionStart)\r\n ) {\r\n return;\r\n }\r\n\r\n // Always ensure selectionStart <= selectionEnd for proper text selection\r\n const startIndex = Math.min(\r\n newSelectionStart,\r\n this.__selectionStartOnMouseDown,\r\n );\r\n const endIndex = Math.max(\r\n newSelectionStart,\r\n this.__selectionStartOnMouseDown,\r\n );\r\n\r\n this.selectionStart = startIndex;\r\n this.selectionEnd = endIndex;\r\n\r\n if (\r\n this.selectionStart !== currentStart ||\r\n this.selectionEnd !== currentEnd\r\n ) {\r\n this._fireSelectionChanged();\r\n this._updateTextarea();\r\n this.renderCursorOrSelection();\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n _setEditingProps() {\r\n this.hoverCursor = 'text';\r\n\r\n if (this.canvas) {\r\n this.canvas.defaultCursor = this.canvas.moveCursor = 'text';\r\n }\r\n\r\n this.borderColor = this.editingBorderColor;\r\n this.hasControls = this.selectable = false;\r\n this.lockMovementX = this.lockMovementY = true;\r\n }\r\n\r\n /**\r\n * convert from textarea to grapheme indexes\r\n */\r\n fromStringToGraphemeSelection(start: number, end: number, text: string) {\r\n const smallerTextStart = text.slice(0, start),\r\n graphemeStart = this.graphemeSplit(smallerTextStart).length;\r\n if (start === end) {\r\n return { selectionStart: graphemeStart, selectionEnd: graphemeStart };\r\n }\r\n const smallerTextEnd = text.slice(start, end),\r\n graphemeEnd = this.graphemeSplit(smallerTextEnd).length;\r\n return {\r\n selectionStart: graphemeStart,\r\n selectionEnd: graphemeStart + graphemeEnd,\r\n };\r\n }\r\n\r\n /**\r\n * convert from fabric to textarea values\r\n */\r\n fromGraphemeToStringSelection(\r\n start: number,\r\n end: number,\r\n graphemes: string[],\r\n ) {\r\n const smallerTextStart = graphemes.slice(0, start),\r\n graphemeStart = smallerTextStart.join('').length;\r\n if (start === end) {\r\n return { selectionStart: graphemeStart, selectionEnd: graphemeStart };\r\n }\r\n const smallerTextEnd = graphemes.slice(start, end),\r\n graphemeEnd = smallerTextEnd.join('').length;\r\n return {\r\n selectionStart: graphemeStart,\r\n selectionEnd: graphemeStart + graphemeEnd,\r\n };\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n _updateTextarea() {\r\n console.log('🔤 _updateTextarea called with fabric text:', this.text);\r\n this.cursorOffsetCache = {};\r\n if (!this.hiddenTextarea) {\r\n return;\r\n }\r\n \r\n // Sync textarea content with fabric text to prevent double-keypress issues\r\n const currentFabricText = this.text;\r\n if (this.hiddenTextarea.value !== currentFabricText) {\r\n console.log('🔤 _updateTextarea: syncing textarea to fabric text');\r\n console.log('🔤 _updateTextarea: textarea was:', this.hiddenTextarea.value);\r\n console.log('🔤 _updateTextarea: fabric is:', currentFabricText);\r\n this.hiddenTextarea.value = currentFabricText;\r\n }\r\n \r\n if (!this.inCompositionMode) {\r\n const newSelection = this.fromGraphemeToStringSelection(\r\n this.selectionStart,\r\n this.selectionEnd,\r\n this._text,\r\n );\r\n this.hiddenTextarea.selectionStart = newSelection.selectionStart;\r\n this.hiddenTextarea.selectionEnd = newSelection.selectionEnd;\r\n }\r\n this.updateTextareaPosition();\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n updateFromTextArea() {\r\n if (!this.hiddenTextarea) {\r\n return;\r\n }\r\n this.cursorOffsetCache = {};\r\n const textarea = this.hiddenTextarea;\r\n this.text = textarea.value;\r\n this.set('dirty', true);\r\n this.initDimensions();\r\n this.setCoords();\r\n const newSelection = this.fromStringToGraphemeSelection(\r\n textarea.selectionStart,\r\n textarea.selectionEnd,\r\n textarea.value,\r\n );\r\n this.selectionEnd = this.selectionStart = newSelection.selectionEnd;\r\n if (!this.inCompositionMode) {\r\n this.selectionStart = newSelection.selectionStart;\r\n }\r\n this.updateTextareaPosition();\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n updateTextareaPosition() {\r\n if (this.selectionStart === this.selectionEnd) {\r\n const style = this._calcTextareaPosition();\r\n this.hiddenTextarea!.style.left = style.left;\r\n this.hiddenTextarea!.style.top = style.top;\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * @return {Object} style contains style for hiddenTextarea\r\n */\r\n _calcTextareaPosition() {\r\n if (!this.canvas) {\r\n return { left: '1px', top: '1px' };\r\n }\r\n const desiredPosition = this.inCompositionMode\r\n ? this.compositionStart\r\n : this.selectionStart,\r\n boundaries = this._getCursorBoundaries(desiredPosition),\r\n cursorLocation = this.get2DCursorLocation(desiredPosition),\r\n lineIndex = cursorLocation.lineIndex,\r\n charIndex = cursorLocation.charIndex,\r\n charHeight =\r\n this.getValueOfPropertyAt(lineIndex, charIndex, 'fontSize') *\r\n this.lineHeight,\r\n leftOffset = boundaries.leftOffset,\r\n retinaScaling = this.getCanvasRetinaScaling(),\r\n upperCanvas = this.canvas.upperCanvasEl,\r\n upperCanvasWidth = upperCanvas.width / retinaScaling,\r\n upperCanvasHeight = upperCanvas.height / retinaScaling,\r\n maxWidth = upperCanvasWidth - charHeight,\r\n maxHeight = upperCanvasHeight - charHeight;\r\n\r\n const p = new Point(\r\n boundaries.left + leftOffset,\r\n boundaries.top + boundaries.topOffset + charHeight,\r\n )\r\n .transform(this.calcTransformMatrix())\r\n .transform(this.canvas.viewportTransform)\r\n .multiply(\r\n new Point(\r\n upperCanvas.clientWidth / upperCanvasWidth,\r\n upperCanvas.clientHeight / upperCanvasHeight,\r\n ),\r\n );\r\n\r\n if (p.x < 0) {\r\n p.x = 0;\r\n }\r\n if (p.x > maxWidth) {\r\n p.x = maxWidth;\r\n }\r\n if (p.y < 0) {\r\n p.y = 0;\r\n }\r\n if (p.y > maxHeight) {\r\n p.y = maxHeight;\r\n }\r\n\r\n // add canvas offset on document\r\n p.x += this.canvas._offset.left;\r\n p.y += this.canvas._offset.top;\r\n\r\n return {\r\n left: `${p.x}px`,\r\n top: `${p.y}px`,\r\n fontSize: `${charHeight}px`,\r\n charHeight: charHeight,\r\n };\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n _saveEditingProps() {\r\n this._savedProps = {\r\n hasControls: this.hasControls,\r\n borderColor: this.borderColor,\r\n lockMovementX: this.lockMovementX,\r\n lockMovementY: this.lockMovementY,\r\n // For textboxes, hoverCursor should be null when not editing (falls back to canvas hoverCursor = 'move')\r\n hoverCursor: null,\r\n selectable: this.selectable,\r\n // Always save known good defaults for canvas cursors instead of potentially corrupted current values\r\n defaultCursor: 'default',\r\n moveCursor: 'move',\r\n };\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n _restoreEditingProps() {\r\n if (!this._savedProps) {\r\n return;\r\n }\r\n\r\n this.hoverCursor = this._savedProps.hoverCursor;\r\n this.hasControls = this._savedProps.hasControls;\r\n this.borderColor = this._savedProps.borderColor;\r\n this.selectable = this._savedProps.selectable;\r\n this.lockMovementX = this._savedProps.lockMovementX;\r\n this.lockMovementY = this._savedProps.lockMovementY;\r\n\r\n if (this.canvas) {\r\n this.canvas.defaultCursor =\r\n this._savedProps.defaultCursor ?? 'default';\r\n this.canvas.moveCursor =\r\n this._savedProps.moveCursor ?? 'move';\r\n }\r\n\r\n delete this._savedProps;\r\n }\r\n\r\n /**\r\n * runs the actual logic that exits from editing state, see {@link exitEditing}\r\n * But it does not fire events\r\n */\r\n exitEditingImpl() {\r\n const hiddenTextarea = this.hiddenTextarea;\r\n this.selected = false;\r\n this.isEditing = false;\r\n\r\n if (hiddenTextarea) {\r\n hiddenTextarea.blur && hiddenTextarea.blur();\r\n hiddenTextarea.parentNode &&\r\n hiddenTextarea.parentNode.removeChild(hiddenTextarea);\r\n }\r\n this.hiddenTextarea = null;\r\n this.abortCursorAnimation();\r\n this.selectionStart !== this.selectionEnd && this.clearContextTop();\r\n this.selectionEnd = this.selectionStart;\r\n this._restoreEditingProps();\r\n if (this._forceClearCache) {\r\n this.initDimensions();\r\n this.setCoords();\r\n }\r\n }\r\n\r\n /**\r\n * Exits from editing state and fires relevant events\r\n */\r\n exitEditing() {\r\n const isTextChanged = this._textBeforeEdit !== this.text;\r\n this.exitEditingImpl();\r\n\r\n this.fire('editing:exited');\r\n isTextChanged && this.fire(MODIFIED);\r\n if (this.canvas) {\r\n this.canvas.fire('text:editing:exited', {\r\n target: this as unknown as IText,\r\n });\r\n // todo: evaluate add an action to this event\r\n isTextChanged && this.canvas.fire('object:modified', { target: this });\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @private\r\n */\r\n _removeExtraneousStyles() {\r\n for (const prop in this.styles) {\r\n if (!this._textLines[prop as unknown as number]) {\r\n delete this.styles[prop];\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * remove and reflow a style block from start to end.\r\n * @param {Number} start linear start position for removal (included in removal)\r\n * @param {Number} end linear end position for removal ( excluded from removal )\r\n */\r\n removeStyleFromTo(start: number, end: number) {\r\n const { lineIndex: lineStart, charIndex: charStart } =\r\n this.get2DCursorLocation(start, true),\r\n { lineIndex: lineEnd, charIndex: charEnd } = this.get2DCursorLocation(\r\n end,\r\n true,\r\n );\r\n if (lineStart !== lineEnd) {\r\n // step1 remove the trailing of lineStart\r\n if (this.styles[lineStart]) {\r\n for (\r\n let i = charStart;\r\n i < this._unwrappedTextLines[lineStart].length;\r\n i++\r\n ) {\r\n delete this.styles[lineStart][i];\r\n }\r\n }\r\n // step2 move the trailing of lineEnd to lineStart if needed\r\n if (this.styles[lineEnd]) {\r\n for (\r\n let i = charEnd;\r\n i < this._unwrappedTextLines[lineEnd].length;\r\n i++\r\n ) {\r\n const styleObj = this.styles[lineEnd][i];\r\n if (styleObj) {\r\n this.styles[lineStart] || (this.styles[lineStart] = {});\r\n this.styles[lineStart][charStart + i - charEnd] = styleObj;\r\n }\r\n }\r\n }\r\n // step3 detects lines will be completely removed.\r\n for (let i = lineStart + 1; i <= lineEnd; i++) {\r\n delete this.styles[i];\r\n }\r\n // step4 shift remaining lines.\r\n this.shiftLineStyles(lineEnd, lineStart - lineEnd);\r\n } else {\r\n // remove and shift left on the same line\r\n if (this.styles[lineStart]) {\r\n const styleObj = this.styles[lineStart];\r\n const diff = charEnd - charStart;\r\n for (let i = charStart; i < charEnd; i++) {\r\n delete styleObj[i];\r\n }\r\n for (const char in this.styles[lineStart]) {\r\n const numericChar = parseInt(char, 10);\r\n if (numericChar >= charEnd) {\r\n styleObj[numericChar - diff] = styleObj[char];\r\n delete styleObj[char];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Shifts line styles up or down\r\n * @param {Number} lineIndex Index of a line\r\n * @param {Number} offset Can any number?\r\n */\r\n shiftLineStyles(lineIndex: number, offset: number) {\r\n const clonedStyles = Object.assign({}, this.styles);\r\n for (const line in this.styles) {\r\n const numericLine = parseInt(line, 10);\r\n if (numericLine > lineIndex) {\r\n this.styles[numericLine + offset] = clonedStyles[numericLine];\r\n if (!clonedStyles[numericLine - offset]) {\r\n delete this.styles[numericLine];\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Handle insertion of more consecutive style lines for when one or more\r\n * newlines gets added to the text. Since current style needs to be shifted\r\n * first we shift the current style of the number lines needed, then we add\r\n * new lines from the last to the first.\r\n * @param {Number} lineIndex Index of a line\r\n * @param {Number} charIndex Index of a char\r\n * @param {Number} qty number of lines to add\r\n * @param {Array} copiedStyle Array of objects styles\r\n */\r\n insertNewlineStyleObject(\r\n lineIndex: number,\r\n charIndex: number,\r\n qty: number,\r\n copiedStyle?: { [index: number]: TextStyleDeclaration },\r\n ) {\r\n const newLineStyles: { [index: number]: TextStyleDeclaration } = {};\r\n const originalLineLength = this._unwrappedTextLines[lineIndex].length;\r\n const isEndOfLine = originalLineLength === charIndex;\r\n\r\n let someStyleIsCarryingOver = false;\r\n qty || (qty = 1);\r\n this.shiftLineStyles(lineIndex, qty);\r\n const currentCharStyle = this.styles[lineIndex]\r\n ? this.styles[lineIndex][charIndex === 0 ? charIndex : charIndex - 1]\r\n : undefined;\r\n\r\n // we clone styles of all chars\r\n // after cursor onto the current line\r\n for (const index in this.styles[lineIndex]) {\r\n const numIndex = parseInt(index, 10);\r\n if (numIndex >= charIndex) {\r\n someStyleIsCarryingOver = true;\r\n newLineStyles[numIndex - charIndex] = this.styles[lineIndex][index];\r\n // remove lines from the previous line since they're on a new line now\r\n if (!(isEndOfLine && charIndex === 0)) {\r\n delete this.styles[lineIndex][index];\r\n }\r\n }\r\n }\r\n let styleCarriedOver = false;\r\n if (someStyleIsCarryingOver && !isEndOfLine) {\r\n // if is end of line, the extra style we copied\r\n // is probably not something we want\r\n this.styles[lineIndex + qty] = newLineStyles;\r\n styleCarriedOver = true;\r\n }\r\n if (styleCarriedOver || originalLineLength > charIndex) {\r\n // skip the last line of since we already prepared it.\r\n // or contains text without style that we don't want to style\r\n // just because it changed lines\r\n qty--;\r\n }\r\n // for the all the lines or all the other lines\r\n // we clone current char style onto the next (otherwise empty) line\r\n while (qty > 0) {\r\n if (copiedStyle && copiedStyle[qty - 1]) {\r\n this.styles[lineIndex + qty] = {\r\n 0: { ...copiedStyle[qty - 1] },\r\n };\r\n } else if (currentCharStyle) {\r\n this.styles[lineIndex + qty] = {\r\n 0: { ...currentCharStyle },\r\n };\r\n } else {\r\n delete this.styles[lineIndex + qty];\r\n }\r\n qty--;\r\n }\r\n this._forceClearCache = true;\r\n }\r\n\r\n /**\r\n * Inserts style object for a given line/char index\r\n * @param {Number} lineIndex Index of a line\r\n * @param {Number} charIndex Index of a char\r\n * @param {Number} quantity number Style object to insert, if given\r\n * @param {Array} copiedStyle array of style objects\r\n */\r\n insertCharStyleObject(\r\n lineIndex: number,\r\n charIndex: number,\r\n quantity: number,\r\n copiedStyle?: TextStyleDeclaration[],\r\n ) {\r\n if (!this.styles) {\r\n this.styles = {};\r\n }\r\n const currentLineStyles = this.styles[lineIndex],\r\n currentLineStylesCloned = currentLineStyles\r\n ? { ...currentLineStyles }\r\n : {};\r\n\r\n quantity || (quantity = 1);\r\n // shift all char styles by quantity forward\r\n // 0,1,2,3 -> (charIndex=2) -> 0,1,3,4 -> (insert 2) -> 0,1,2,3,4\r\n for (const index in currentLineStylesCloned) {\r\n const numericIndex = parseInt(index, 10);\r\n if (numericIndex >= charIndex) {\r\n currentLineStyles[numericIndex + quantity] =\r\n currentLineStylesCloned[numericIndex];\r\n // only delete the style if there was nothing moved there\r\n if (!currentLineStylesCloned[numericIndex - quantity]) {\r\n delete currentLineStyles[numericIndex];\r\n }\r\n }\r\n }\r\n this._forceClearCache = true;\r\n if (copiedStyle) {\r\n while (quantity--) {\r\n if (!Object.keys(copiedStyle[quantity]).length) {\r\n continue;\r\n }\r\n if (!this.styles[lineIndex]) {\r\n this.styles[lineIndex] = {};\r\n }\r\n this.styles[lineIndex][charIndex + quantity] = {\r\n ...copiedStyle[quantity],\r\n };\r\n }\r\n return;\r\n }\r\n if (!currentLineStyles) {\r\n return;\r\n }\r\n const newStyle = currentLineStyles[charIndex ? charIndex - 1 : 1];\r\n while (newStyle && quantity--) {\r\n this.styles[lineIndex][charIndex + quantity] = { ...newStyle };\r\n }\r\n }\r\n\r\n /**\r\n * Inserts style object(s)\r\n * @param {Array} insertedText Characters at the location where style is inserted\r\n * @param {Number} start cursor index for inserting style\r\n * @param {Array} [copiedStyle] array of style objects to insert.\r\n */\r\n insertNewStyleBlock(\r\n insertedText: string[],\r\n start: number,\r\n copiedStyle?: TextStyleDeclaration[],\r\n ) {\r\n const cursorLoc = this.get2DCursorLocation(start, true),\r\n addedLines = [0];\r\n let linesLength = 0;\r\n // get an array of how many char per lines are being added.\r\n for (let i = 0; i < insertedText.length; i++) {\r\n if (insertedText[i] === '\\n') {\r\n linesLength++;\r\n addedLines[linesLength] = 0;\r\n } else {\r\n addedLines[linesLength]++;\r\n }\r\n }\r\n // for the first line copy the style from the current char position.\r\n if (addedLines[0] > 0) {\r\n this.insertCharStyleObject(\r\n cursorLoc.lineIndex,\r\n cursorLoc.charIndex,\r\n addedLines[0],\r\n copiedStyle,\r\n );\r\n copiedStyle = copiedStyle && copiedStyle.slice(addedLines[0] + 1);\r\n }\r\n linesLength &&\r\n this.insertNewlineStyleObject(\r\n cursorLoc.lineIndex,\r\n cursorLoc.charIndex + addedLines[0],\r\n linesLength,\r\n );\r\n let i;\r\n for (i = 1; i < linesLength; i++) {\r\n if (addedLines[i] > 0) {\r\n this.insertCharStyleObject(\r\n cursorLoc.lineIndex + i,\r\n 0,\r\n addedLines[i],\r\n copiedStyle,\r\n );\r\n } else if (copiedStyle) {\r\n // this test is required in order to close #6841\r\n // when a pasted buffer begins with a newline then\r\n // this.styles[cursorLoc.lineIndex + i] and copiedStyle[0]\r\n // may be undefined for some reason\r\n if (this.styles[cursorLoc.lineIndex + i] && copiedStyle[0]) {\r\n this.styles[cursorLoc.lineIndex + i][0] = copiedStyle[0];\r\n }\r\n }\r\n copiedStyle = copiedStyle && copiedStyle.slice(addedLines[i] + 1);\r\n }\r\n if (addedLines[i] > 0) {\r\n this.insertCharStyleObject(\r\n cursorLoc.lineIndex + i,\r\n 0,\r\n addedLines[i],\r\n copiedStyle,\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Removes characters from start/end\r\n * start/end ar per grapheme position in _text array.\r\n *\r\n * @param {Number} start\r\n * @param {Number} end default to start + 1\r\n */\r\n removeChars(start: number, end: number = start + 1) {\r\n this.removeStyleFromTo(start, end);\r\n this._text.splice(start, end - start);\r\n this.text = this._text.join('');\r\n this.set('dirty', true);\r\n this.initDimensions();\r\n this.setCoords();\r\n this._removeExtraneousStyles();\r\n }\r\n\r\n /**\r\n * insert characters at start position, before start position.\r\n * start equal 1 it means the text get inserted between actual grapheme 0 and 1\r\n * if style array is provided, it must be as the same length of text in graphemes\r\n * if end is provided and is bigger than start, old text is replaced.\r\n * start/end ar per grapheme position in _text array.\r\n *\r\n * @param {String} text text to insert\r\n * @param {Array} style array of style objects\r\n * @param {Number} start\r\n * @param {Number} end default to start + 1\r\n */\r\n insertChars(\r\n text: string,\r\n style: TextStyleDeclaration[] | undefined,\r\n start: number,\r\n end: number = start,\r\n ) {\r\n if (end > start) {\r\n this.removeStyleFromTo(start, end);\r\n }\r\n const graphemes = this.graphemeSplit(text);\r\n this.insertNewStyleBlock(graphemes, start, style);\r\n this._text = [\r\n ...this._text.slice(0, start),\r\n ...graphemes,\r\n ...this._text.slice(end),\r\n ];\r\n this.text = this._text.join('');\r\n this.set('dirty', true);\r\n this.initDimensions();\r\n this.setCoords();\r\n this._removeExtraneousStyles();\r\n }\r\n\r\n /**\r\n * Set the selectionStart and selectionEnd according to the new position of cursor\r\n * mimic the key - mouse navigation when shift is pressed.\r\n */\r\n setSelectionStartEndWithShift(\r\n start: number,\r\n end: number,\r\n newSelection: number,\r\n ) {\r\n if (newSelection <= start) {\r\n if (end === start) {\r\n this._selectionDirection = LEFT;\r\n } else if (this._selectionDirection === RIGHT) {\r\n this._selectionDirection = LEFT;\r\n this.selectionEnd = start;\r\n }\r\n this.selectionStart = newSelection;\r\n } else if (newSelection > start && newSelection < end) {\r\n if (this._selectionDirection === RIGHT) {\r\n this.selectionEnd = newSelection;\r\n } else {\r\n this.selectionStart = newSelection;\r\n }\r\n } else {\r\n // newSelection is > selection start and end\r\n if (end === start) {\r\n this._selectionDirection = RIGHT;\r\n } else if (this._selectionDirection === LEFT) {\r\n this._selectionDirection = RIGHT;\r\n this.selectionStart = end;\r\n }\r\n this.selectionEnd = newSelection;\r\n }\r\n }\r\n}"],"names":["reNonWord","ITextBehavior","FabricText","constructor","arguments","_defineProperty","initBehavior","_tick","bind","_onTickComplete","updateSelectionOnMouseMove","onDeselect","options","isEditing","exitEditing","selected","_animateCursor","_ref","toValue","duration","delay","onComplete","animate","startValue","_currentCursorOpacity","endValue","abort","canvas","selectionStart","selectionEnd","onChange","value","renderCursorOrSelection","_currentTickState","cursorDuration","Math","max","_this$_currentTickCom","_currentTickCompleteState","initDelayedCursor","restart","abortCursorAnimation","cursorDelay","shouldClear","forEach","cursorAnimation","isDone","clearContextTop","restartCursorIfNeeded","some","selectAll","_text","length","_fireSelectionChanged","_updateTextarea","cmdAll","getSelectedText","slice","join","findWordBoundaryLeft","startFrom","offset","index","_reSpace","test","findWordBoundaryRight","findLineBoundaryLeft","findLineBoundaryRight","searchWordBoundary","direction","text","reNewline","_char","selectWord","newSelectionStart","newSelectionEnd","selectLine","enterEditing","e","editable","enterEditingImpl","fire","undefined","target","requestRenderAll","calcOffset","textEditingManager","exitTextEditing","useOverlayEditing","enterOverlayEditing","initHiddenTextarea","hiddenTextarea","focus","_saveEditingProps","_setEditingProps","_textBeforeEdit","enterTextOverlayEdit","onCommit","commitOverlayEdit","onCancel","cancelOverlayEdit","overlayEditor","__overlayEditor","result","extractLinesFromDOM","textareaElement","storeBrowserLines","lines","error","console","warn","dirty","initDimensions","setCoords","getActiveControl","el","getDocumentFromElement","activeElement","getSelectionStartFromPointer","currentStart","currentEnd","__selectionStartOnMouseDown","startIndex","min","endIndex","hoverCursor","defaultCursor","moveCursor","borderColor","editingBorderColor","hasControls","selectable","lockMovementX","lockMovementY","fromStringToGraphemeSelection","start","end","smallerTextStart","graphemeStart","graphemeSplit","smallerTextEnd","graphemeEnd","fromGraphemeToStringSelection","graphemes","log","cursorOffsetCache","currentFabricText","inCompositionMode","newSelection","updateTextareaPosition","updateFromTextArea","textarea","set","style","_calcTextareaPosition","left","top","desiredPosition","compositionStart","boundaries","_getCursorBoundaries","cursorLocation","get2DCursorLocation","lineIndex","charIndex","charHeight","getValueOfPropertyAt","lineHeight","leftOffset","retinaScaling","getCanvasRetinaScaling","upperCanvas","upperCanvasEl","upperCanvasWidth","width","upperCanvasHeight","height","maxWidth","maxHeight","p","Point","topOffset","transform","calcTransformMatrix","viewportTransform","multiply","clientWidth","clientHeight","x","y","_offset","fontSize","_savedProps","_restoreEditingProps","_this$_savedProps$def","_this$_savedProps$mov","exitEditingImpl","blur","parentNode","removeChild","_forceClearCache","isTextChanged","MODIFIED","_removeExtraneousStyles","prop","styles","_textLines","removeStyleFromTo","lineStart","charStart","lineEnd","charEnd","i","_unwrappedTextLines","styleObj","shiftLineStyles","diff","char","numericChar","parseInt","clonedStyles","Object","assign","line","numericLine","insertNewlineStyleObject","qty","copiedStyle","newLineStyles","originalLineLength","isEndOfLine","someStyleIsCarryingOver","currentCharStyle","numIndex","styleCarriedOver","insertCharStyleObject","quantity","currentLineStyles","currentLineStylesCloned","numericIndex","keys","newStyle","insertNewStyleBlock","insertedText","cursorLoc","addedLines","linesLength","removeChars","splice","insertChars","setSelectionStartEndWithShift","_selectionDirection","LEFT","RIGHT"],"mappings":"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"}
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"ITextClickBehavior.min.mjs","sources":["../../../../src/shapes/IText/ITextClickBehavior.ts"],"sourcesContent":["import type {\n ObjectPointerEvents,\n TPointerEvent,\n TPointerEventInfo,\n} from '../../EventTypeDefs';\nimport { Point } from '../../Point';\nimport { invertTransform } from '../../util/misc/matrix';\nimport { DraggableTextDelegate } from './DraggableTextDelegate';\nimport type { ITextEvents } from './ITextBehavior';\nimport { ITextKeyBehavior } from './ITextKeyBehavior';\nimport type { TOptions } from '../../typedefs';\nimport type { TextProps, SerializedTextProps } from '../Text/Text';\nimport type { IText } from './IText';\n/**\n * `LEFT_CLICK === 0`\n */\nconst notALeftClick = (e: Event) => !!(e as MouseEvent).button;\n\nexport abstract class ITextClickBehavior<\n Props extends TOptions<TextProps> = Partial<TextProps>,\n SProps extends SerializedTextProps = SerializedTextProps,\n EventSpec extends ITextEvents = ITextEvents,\n> extends ITextKeyBehavior<Props, SProps, EventSpec> {\n protected draggableTextDelegate: DraggableTextDelegate;\n\n initBehavior() {\n // Initializes event handlers related to cursor or selection\n this.on('mousedown', this._mouseDownHandler);\n this.on('mouseup', this.mouseUpHandler);\n this.on('mousedblclick', this.doubleClickHandler);\n this.on('mousetripleclick', this.tripleClickHandler);\n\n this.draggableTextDelegate = new DraggableTextDelegate(\n this as unknown as IText,\n );\n\n super.initBehavior();\n }\n\n /**\n * If this method returns true a mouse move operation over a text selection\n * will not prevent the native mouse event allowing the browser to start a drag operation.\n * shouldStartDragging can be read 'do not prevent default for mouse move event'\n * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false\n * @returns\n */\n shouldStartDragging() {\n return this.draggableTextDelegate.isActive();\n }\n\n /**\n * @public override this method to control whether instance should/shouldn't become a drag source,\n * @see also {@link DraggableTextDelegate#isActive}\n * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false\n * @returns {boolean} should handle event\n */\n onDragStart(e: DragEvent) {\n return this.draggableTextDelegate.onDragStart(e);\n }\n\n /**\n * @public override this method to control whether instance should/shouldn't become a drop target\n */\n canDrop(e: DragEvent) {\n return this.draggableTextDelegate.canDrop(e);\n }\n\n /**\n * Default handler for double click, select a word or enter overlay editing\n */\n doubleClickHandler(options: TPointerEventInfo) {\n // Check if we should enter overlay editing mode\n if (!this.isEditing && (this as any).useOverlayEditing && this.editable) {\n this.enterEditing(options.e);\n return;\n }\n \n // Default behavior: select word if already editing\n if (!this.isEditing) {\n return;\n }\n this.selectWord(this.getSelectionStartFromPointer(options.e));\n this.renderCursorOrSelection();\n }\n\n /**\n * Default handler for triple click, select a line\n */\n tripleClickHandler(options: TPointerEventInfo) {\n if (!this.isEditing) {\n return;\n }\n this.selectLine(this.getSelectionStartFromPointer(options.e));\n this.renderCursorOrSelection();\n }\n\n /**\n * Default event handler for the basic functionalities needed on _mouseDown\n * can be overridden to do something different.\n * Scope of this implementation is: find the click position, set selectionStart\n * find selectionEnd, initialize the drawing of either cursor or selection area\n * initializing a mousedDown on a text area will cancel fabricjs knowledge of\n * current compositionMode. It will be set to false.\n */\n _mouseDownHandler({ e, alreadySelected }: ObjectPointerEvents['mousedown']) {\n if (\n !this.canvas ||\n !this.editable ||\n notALeftClick(e) ||\n this.getActiveControl()\n ) {\n return;\n }\n\n if (this.draggableTextDelegate.start(e)) {\n return;\n }\n\n this.canvas.textEditingManager.register(this);\n\n if (alreadySelected) {\n this.inCompositionMode = false;\n this.setCursorByClick(e);\n }\n\n if (this.isEditing) {\n this.__selectionStartOnMouseDown = this.selectionStart;\n if (this.selectionStart === this.selectionEnd) {\n this.abortCursorAnimation();\n }\n this.renderCursorOrSelection();\n }\n this.selected ||= alreadySelected || this.isEditing;\n }\n\n /**\n * standard handler for mouse up, overridable\n * @private\n */\n mouseUpHandler({ e, transform }: ObjectPointerEvents['mouseup']) {\n const didDrag = this.draggableTextDelegate.end(e);\n\n if (this.canvas) {\n this.canvas.textEditingManager.unregister(this);\n\n const activeObject = this.canvas._activeObject;\n if (activeObject && activeObject !== this) {\n // avoid running this logic when there is an active object\n // this because is possible with shift click and fast clicks,\n // to rapidly deselect and reselect this object and trigger an enterEdit\n return;\n }\n }\n\n if (\n !this.editable ||\n (this.group && !this.group.interactive) ||\n (transform && transform.actionPerformed) ||\n notALeftClick(e) ||\n didDrag\n ) {\n return;\n }\n\n if (this.selected && !this.getActiveControl()) {\n this.enterEditing(e);\n if (this.selectionStart === this.selectionEnd) {\n this.initDelayedCursor(true);\n } else {\n this.renderCursorOrSelection();\n }\n }\n }\n\n /**\n * Changes cursor location in a text depending on passed pointer (x/y) object\n * @param {TPointerEvent} e Event object\n */\n setCursorByClick(e: TPointerEvent) {\n const newSelection = this.getSelectionStartFromPointer(e),\n start = this.selectionStart,\n end = this.selectionEnd;\n if (e.shiftKey) {\n this.setSelectionStartEndWithShift(start, end, newSelection);\n } else {\n this.selectionStart = newSelection;\n this.selectionEnd = newSelection;\n }\n if (this.isEditing) {\n this._fireSelectionChanged();\n this._updateTextarea();\n }\n }\n\n /**\n * Returns index of a character corresponding to where an object was clicked\n * @param {TPointerEvent} e Event object\n * @return {Number} Index of a character\n */\n getSelectionStartFromPointer(e: TPointerEvent): number {\n const mouseOffset = this.canvas!.getScenePoint(e)\n .transform(invertTransform(this.calcTransformMatrix()))\n .add(new Point(-this._getLeftOffset(), -this._getTopOffset()));\n\n if (this.direction === 'rtl') {\n mouseOffset.x *= -1;\n }\n\n let height = 0,\n charIndex = 0,\n lineIndex = 0;\n\n for (let i = 0; i < this._textLines.length; i++) {\n if (height <= mouseOffset.y) {\n height += this.getHeightOfLine(i);\n lineIndex = i;\n if (i > 0) {\n charIndex +=\n this._textLines[i - 1].length + this.missingNewlineOffset(i - 1);\n }\n } else {\n break;\n }\n }\n\n const lineLeftOffset = this._getLineLeftOffset(lineIndex);\n const charLength = this._textLines[lineIndex].length;\n const chars = this.__charBounds[lineIndex];\n\n const lineStartIndex = charIndex;\n // use character left positions which are always increasing even with RTL segments\n\n for (let j = 0; j < charLength; j++) {\n const charStart = lineLeftOffset + chars[j].left;\n const charEnd = lineLeftOffset + chars[j + 1].left;\n const charMiddle = (charStart + charEnd) / 2;\n if (mouseOffset.x <= charMiddle) {\n charIndex = lineStartIndex + j;\n break;\n } else if (mouseOffset.x <= charEnd) {\n charIndex = lineStartIndex + j + 1;\n break;\n }\n charIndex = lineStartIndex + charLength;\n }\n\n const lineCharIndex = charIndex - lineStartIndex;\n const result = this.flipX\n ? lineStartIndex + (charLength - lineCharIndex)\n : charIndex;\n\n return Math.min(result, this._text.length);\n }\n}\n"],"names":["notALeftClick","e","button","ITextClickBehavior","ITextKeyBehavior","constructor","super","arguments","_defineProperty","this","initBehavior","on","_mouseDownHandler","mouseUpHandler","doubleClickHandler","tripleClickHandler","draggableTextDelegate","DraggableTextDelegate","shouldStartDragging","isActive","onDragStart","canDrop","options","isEditing","useOverlayEditing","editable","enterEditing","selectWord","getSelectionStartFromPointer","renderCursorOrSelection","selectLine","_ref","alreadySelected","canvas","getActiveControl","start","textEditingManager","register","inCompositionMode","setCursorByClick","__selectionStartOnMouseDown","selectionStart","selectionEnd","abortCursorAnimation","selected","_ref2","transform","didDrag","end","unregister","activeObject","_activeObject","group","interactive","actionPerformed","initDelayedCursor","newSelection","shiftKey","setSelectionStartEndWithShift","_fireSelectionChanged","_updateTextarea","mouseOffset","getScenePoint","invertTransform","calcTransformMatrix","add","Point","_getLeftOffset","_getTopOffset","direction","x","height","charIndex","lineIndex","i","_textLines","length","y","getHeightOfLine","missingNewlineOffset","lineLeftOffset","_getLineLeftOffset","charLength","chars","__charBounds","lineStartIndex","j","charStart","left","charEnd","charMiddle","lineCharIndex","result","flipX","Math","min","_text"],"mappings":"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"}
1
+ {"version":3,"file":"ITextClickBehavior.min.mjs","sources":["../../../../src/shapes/IText/ITextClickBehavior.ts"],"sourcesContent":["import type {\r\n ObjectPointerEvents,\r\n TPointerEvent,\r\n TPointerEventInfo,\r\n} from '../../EventTypeDefs';\r\nimport { Point } from '../../Point';\r\nimport { invertTransform } from '../../util/misc/matrix';\r\nimport { DraggableTextDelegate } from './DraggableTextDelegate';\r\nimport type { ITextEvents } from './ITextBehavior';\r\nimport { ITextKeyBehavior } from './ITextKeyBehavior';\r\nimport type { TOptions } from '../../typedefs';\r\nimport type { TextProps, SerializedTextProps } from '../Text/Text';\r\nimport type { IText } from './IText';\r\n/**\r\n * `LEFT_CLICK === 0`\r\n */\r\nconst notALeftClick = (e: Event) => !!(e as MouseEvent).button;\r\n\r\nexport abstract class ITextClickBehavior<\r\n Props extends TOptions<TextProps> = Partial<TextProps>,\r\n SProps extends SerializedTextProps = SerializedTextProps,\r\n EventSpec extends ITextEvents = ITextEvents,\r\n> extends ITextKeyBehavior<Props, SProps, EventSpec> {\r\n protected draggableTextDelegate: DraggableTextDelegate;\r\n\r\n initBehavior() {\r\n // Initializes event handlers related to cursor or selection\r\n this.on('mousedown', this._mouseDownHandler);\r\n this.on('mouseup', this.mouseUpHandler);\r\n this.on('mousedblclick', this.doubleClickHandler);\r\n this.on('mousetripleclick', this.tripleClickHandler);\r\n\r\n this.draggableTextDelegate = new DraggableTextDelegate(\r\n this as unknown as IText,\r\n );\r\n\r\n super.initBehavior();\r\n }\r\n\r\n /**\r\n * If this method returns true a mouse move operation over a text selection\r\n * will not prevent the native mouse event allowing the browser to start a drag operation.\r\n * shouldStartDragging can be read 'do not prevent default for mouse move event'\r\n * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false\r\n * @returns\r\n */\r\n shouldStartDragging() {\r\n return this.draggableTextDelegate.isActive();\r\n }\r\n\r\n /**\r\n * @public override this method to control whether instance should/shouldn't become a drag source,\r\n * @see also {@link DraggableTextDelegate#isActive}\r\n * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false\r\n * @returns {boolean} should handle event\r\n */\r\n onDragStart(e: DragEvent) {\r\n return this.draggableTextDelegate.onDragStart(e);\r\n }\r\n\r\n /**\r\n * @public override this method to control whether instance should/shouldn't become a drop target\r\n */\r\n canDrop(e: DragEvent) {\r\n return this.draggableTextDelegate.canDrop(e);\r\n }\r\n\r\n /**\r\n * Default handler for double click, select a word or enter overlay editing\r\n */\r\n doubleClickHandler(options: TPointerEventInfo) {\r\n // Check if we should enter overlay editing mode\r\n if (!this.isEditing && (this as any).useOverlayEditing && this.editable) {\r\n this.enterEditing(options.e);\r\n return;\r\n }\r\n \r\n // Default behavior: select word if already editing\r\n if (!this.isEditing) {\r\n return;\r\n }\r\n this.selectWord(this.getSelectionStartFromPointer(options.e));\r\n this.renderCursorOrSelection();\r\n }\r\n\r\n /**\r\n * Default handler for triple click, select a line\r\n */\r\n tripleClickHandler(options: TPointerEventInfo) {\r\n if (!this.isEditing) {\r\n return;\r\n }\r\n this.selectLine(this.getSelectionStartFromPointer(options.e));\r\n this.renderCursorOrSelection();\r\n }\r\n\r\n /**\r\n * Default event handler for the basic functionalities needed on _mouseDown\r\n * can be overridden to do something different.\r\n * Scope of this implementation is: find the click position, set selectionStart\r\n * find selectionEnd, initialize the drawing of either cursor or selection area\r\n * initializing a mousedDown on a text area will cancel fabricjs knowledge of\r\n * current compositionMode. It will be set to false.\r\n */\r\n _mouseDownHandler({ e, alreadySelected }: ObjectPointerEvents['mousedown']) {\r\n if (\r\n !this.canvas ||\r\n !this.editable ||\r\n notALeftClick(e) ||\r\n this.getActiveControl()\r\n ) {\r\n return;\r\n }\r\n\r\n if (this.draggableTextDelegate.start(e)) {\r\n return;\r\n }\r\n\r\n this.canvas.textEditingManager.register(this);\r\n\r\n if (alreadySelected) {\r\n this.inCompositionMode = false;\r\n this.setCursorByClick(e);\r\n }\r\n\r\n if (this.isEditing) {\r\n this.__selectionStartOnMouseDown = this.selectionStart;\r\n if (this.selectionStart === this.selectionEnd) {\r\n this.abortCursorAnimation();\r\n }\r\n this.renderCursorOrSelection();\r\n }\r\n this.selected ||= alreadySelected || this.isEditing;\r\n }\r\n\r\n /**\r\n * standard handler for mouse up, overridable\r\n * @private\r\n */\r\n mouseUpHandler({ e, transform }: ObjectPointerEvents['mouseup']) {\r\n const didDrag = this.draggableTextDelegate.end(e);\r\n\r\n if (this.canvas) {\r\n this.canvas.textEditingManager.unregister(this);\r\n\r\n const activeObject = this.canvas._activeObject;\r\n if (activeObject && activeObject !== this) {\r\n // avoid running this logic when there is an active object\r\n // this because is possible with shift click and fast clicks,\r\n // to rapidly deselect and reselect this object and trigger an enterEdit\r\n return;\r\n }\r\n }\r\n\r\n if (\r\n !this.editable ||\r\n (this.group && !this.group.interactive) ||\r\n (transform && transform.actionPerformed) ||\r\n notALeftClick(e) ||\r\n didDrag\r\n ) {\r\n return;\r\n }\r\n\r\n if (this.selected && !this.getActiveControl()) {\r\n this.enterEditing(e);\r\n if (this.selectionStart === this.selectionEnd) {\r\n this.initDelayedCursor(true);\r\n } else {\r\n this.renderCursorOrSelection();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Changes cursor location in a text depending on passed pointer (x/y) object\r\n * @param {TPointerEvent} e Event object\r\n */\r\n setCursorByClick(e: TPointerEvent) {\r\n const newSelection = this.getSelectionStartFromPointer(e),\r\n start = this.selectionStart,\r\n end = this.selectionEnd;\r\n if (e.shiftKey) {\r\n this.setSelectionStartEndWithShift(start, end, newSelection);\r\n } else {\r\n this.selectionStart = newSelection;\r\n this.selectionEnd = newSelection;\r\n }\r\n if (this.isEditing) {\r\n this._fireSelectionChanged();\r\n this._updateTextarea();\r\n }\r\n }\r\n\r\n /**\r\n * Returns index of a character corresponding to where an object was clicked\r\n * @param {TPointerEvent} e Event object\r\n * @return {Number} Index of a character\r\n */\r\n getSelectionStartFromPointer(e: TPointerEvent): number {\r\n const mouseOffset = this.canvas!.getScenePoint(e)\r\n .transform(invertTransform(this.calcTransformMatrix()))\r\n .add(new Point(-this._getLeftOffset(), -this._getTopOffset()));\r\n\r\n if (this.direction === 'rtl') {\r\n mouseOffset.x *= -1;\r\n }\r\n\r\n let height = 0,\r\n charIndex = 0,\r\n lineIndex = 0;\r\n\r\n for (let i = 0; i < this._textLines.length; i++) {\r\n if (height <= mouseOffset.y) {\r\n height += this.getHeightOfLine(i);\r\n lineIndex = i;\r\n if (i > 0) {\r\n charIndex +=\r\n this._textLines[i - 1].length + this.missingNewlineOffset(i - 1);\r\n }\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n const lineLeftOffset = this._getLineLeftOffset(lineIndex);\r\n const charLength = this._textLines[lineIndex].length;\r\n const chars = this.__charBounds[lineIndex];\r\n\r\n const lineStartIndex = charIndex;\r\n // use character left positions which are always increasing even with RTL segments\r\n\r\n for (let j = 0; j < charLength; j++) {\r\n const charStart = lineLeftOffset + chars[j].left;\r\n const charEnd = lineLeftOffset + chars[j + 1].left;\r\n const charMiddle = (charStart + charEnd) / 2;\r\n if (mouseOffset.x <= charMiddle) {\r\n charIndex = lineStartIndex + j;\r\n break;\r\n } else if (mouseOffset.x <= charEnd) {\r\n charIndex = lineStartIndex + j + 1;\r\n break;\r\n }\r\n charIndex = lineStartIndex + charLength;\r\n }\r\n\r\n const lineCharIndex = charIndex - lineStartIndex;\r\n const result = this.flipX\r\n ? lineStartIndex + (charLength - lineCharIndex)\r\n : charIndex;\r\n\r\n return Math.min(result, this._text.length);\r\n }\r\n}\r\n"],"names":["notALeftClick","e","button","ITextClickBehavior","ITextKeyBehavior","constructor","super","arguments","_defineProperty","this","initBehavior","on","_mouseDownHandler","mouseUpHandler","doubleClickHandler","tripleClickHandler","draggableTextDelegate","DraggableTextDelegate","shouldStartDragging","isActive","onDragStart","canDrop","options","isEditing","useOverlayEditing","editable","enterEditing","selectWord","getSelectionStartFromPointer","renderCursorOrSelection","selectLine","_ref","alreadySelected","canvas","getActiveControl","start","textEditingManager","register","inCompositionMode","setCursorByClick","__selectionStartOnMouseDown","selectionStart","selectionEnd","abortCursorAnimation","selected","_ref2","transform","didDrag","end","unregister","activeObject","_activeObject","group","interactive","actionPerformed","initDelayedCursor","newSelection","shiftKey","setSelectionStartEndWithShift","_fireSelectionChanged","_updateTextarea","mouseOffset","getScenePoint","invertTransform","calcTransformMatrix","add","Point","_getLeftOffset","_getTopOffset","direction","x","height","charIndex","lineIndex","i","_textLines","length","y","getHeightOfLine","missingNewlineOffset","lineLeftOffset","_getLineLeftOffset","charLength","chars","__charBounds","lineStartIndex","j","charStart","left","charEnd","charMiddle","lineCharIndex","result","flipX","Math","min","_text"],"mappings":"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"}
@@ -4,8 +4,8 @@ import { invertTransform } from '../../util/misc/matrix.mjs';
4
4
  import { DraggableTextDelegate } from './DraggableTextDelegate.mjs';
5
5
  import { ITextKeyBehavior } from './ITextKeyBehavior.mjs';
6
6
 
7
- /**
8
- * `LEFT_CLICK === 0`
7
+ /**
8
+ * `LEFT_CLICK === 0`
9
9
  */
10
10
  const notALeftClick = e => !!e.button;
11
11
  class ITextClickBehavior extends ITextKeyBehavior {
@@ -23,36 +23,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
23
23
  super.initBehavior();
24
24
  }
25
25
 
26
- /**
27
- * If this method returns true a mouse move operation over a text selection
28
- * will not prevent the native mouse event allowing the browser to start a drag operation.
29
- * shouldStartDragging can be read 'do not prevent default for mouse move event'
30
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
31
- * @returns
26
+ /**
27
+ * If this method returns true a mouse move operation over a text selection
28
+ * will not prevent the native mouse event allowing the browser to start a drag operation.
29
+ * shouldStartDragging can be read 'do not prevent default for mouse move event'
30
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
31
+ * @returns
32
32
  */
33
33
  shouldStartDragging() {
34
34
  return this.draggableTextDelegate.isActive();
35
35
  }
36
36
 
37
- /**
38
- * @public override this method to control whether instance should/shouldn't become a drag source,
39
- * @see also {@link DraggableTextDelegate#isActive}
40
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
41
- * @returns {boolean} should handle event
37
+ /**
38
+ * @public override this method to control whether instance should/shouldn't become a drag source,
39
+ * @see also {@link DraggableTextDelegate#isActive}
40
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
41
+ * @returns {boolean} should handle event
42
42
  */
43
43
  onDragStart(e) {
44
44
  return this.draggableTextDelegate.onDragStart(e);
45
45
  }
46
46
 
47
- /**
48
- * @public override this method to control whether instance should/shouldn't become a drop target
47
+ /**
48
+ * @public override this method to control whether instance should/shouldn't become a drop target
49
49
  */
50
50
  canDrop(e) {
51
51
  return this.draggableTextDelegate.canDrop(e);
52
52
  }
53
53
 
54
- /**
55
- * Default handler for double click, select a word or enter overlay editing
54
+ /**
55
+ * Default handler for double click, select a word or enter overlay editing
56
56
  */
57
57
  doubleClickHandler(options) {
58
58
  // Check if we should enter overlay editing mode
@@ -69,8 +69,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
69
69
  this.renderCursorOrSelection();
70
70
  }
71
71
 
72
- /**
73
- * Default handler for triple click, select a line
72
+ /**
73
+ * Default handler for triple click, select a line
74
74
  */
75
75
  tripleClickHandler(options) {
76
76
  if (!this.isEditing) {
@@ -80,13 +80,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
80
80
  this.renderCursorOrSelection();
81
81
  }
82
82
 
83
- /**
84
- * Default event handler for the basic functionalities needed on _mouseDown
85
- * can be overridden to do something different.
86
- * Scope of this implementation is: find the click position, set selectionStart
87
- * find selectionEnd, initialize the drawing of either cursor or selection area
88
- * initializing a mousedDown on a text area will cancel fabricjs knowledge of
89
- * current compositionMode. It will be set to false.
83
+ /**
84
+ * Default event handler for the basic functionalities needed on _mouseDown
85
+ * can be overridden to do something different.
86
+ * Scope of this implementation is: find the click position, set selectionStart
87
+ * find selectionEnd, initialize the drawing of either cursor or selection area
88
+ * initializing a mousedDown on a text area will cancel fabricjs knowledge of
89
+ * current compositionMode. It will be set to false.
90
90
  */
91
91
  _mouseDownHandler(_ref) {
92
92
  let {
@@ -114,9 +114,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
114
114
  this.selected || (this.selected = alreadySelected || this.isEditing);
115
115
  }
116
116
 
117
- /**
118
- * standard handler for mouse up, overridable
119
- * @private
117
+ /**
118
+ * standard handler for mouse up, overridable
119
+ * @private
120
120
  */
121
121
  mouseUpHandler(_ref2) {
122
122
  let {
@@ -147,9 +147,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
147
147
  }
148
148
  }
149
149
 
150
- /**
151
- * Changes cursor location in a text depending on passed pointer (x/y) object
152
- * @param {TPointerEvent} e Event object
150
+ /**
151
+ * Changes cursor location in a text depending on passed pointer (x/y) object
152
+ * @param {TPointerEvent} e Event object
153
153
  */
154
154
  setCursorByClick(e) {
155
155
  const newSelection = this.getSelectionStartFromPointer(e),
@@ -167,10 +167,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
167
167
  }
168
168
  }
169
169
 
170
- /**
171
- * Returns index of a character corresponding to where an object was clicked
172
- * @param {TPointerEvent} e Event object
173
- * @return {Number} Index of a character
170
+ /**
171
+ * Returns index of a character corresponding to where an object was clicked
172
+ * @param {TPointerEvent} e Event object
173
+ * @return {Number} Index of a character
174
174
  */
175
175
  getSelectionStartFromPointer(e) {
176
176
  const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));