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

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 (2524) hide show
  1. package/.babelrc +0 -0
  2. package/.babelrcAlt +0 -0
  3. package/.browserslistrc +0 -0
  4. package/.editorconfig +0 -0
  5. package/.gitattributes +0 -0
  6. package/.gitpod.yml +0 -0
  7. package/.prettierignore +0 -0
  8. package/.prettierrc +0 -0
  9. package/0 +0 -0
  10. package/CHANGELOG.md +0 -0
  11. package/CODE_OF_CONDUCT.md +0 -0
  12. package/CONTRIBUTING.md +0 -0
  13. package/LICENSE +0 -0
  14. package/OVERLAY_EDITOR_MIGRATION.md +0 -0
  15. package/README.md +0 -0
  16. package/SECURITY.md +0 -0
  17. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs +0 -0
  18. package/dist/_virtual/_rollupPluginBabelHelpers.min.mjs.map +0 -0
  19. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +0 -0
  20. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -0
  21. package/dist/extensions/aligning_guidelines/constant.d.ts +0 -0
  22. package/dist/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  23. package/dist/extensions/aligning_guidelines/index.d.ts +0 -0
  24. package/dist/extensions/aligning_guidelines/index.d.ts.map +0 -0
  25. package/dist/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  26. package/dist/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  27. package/dist/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  28. package/dist/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  29. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  30. package/dist/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  31. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  32. package/dist/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  33. package/dist/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  34. package/dist/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  35. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  36. package/dist/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  37. package/dist/extensions/data_updaters/gradient/index.d.ts +0 -0
  38. package/dist/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  39. package/dist/extensions/data_updaters/origins/index.d.ts +0 -0
  40. package/dist/extensions/data_updaters/origins/index.d.ts.map +0 -0
  41. package/dist/extensions/index.d.ts +0 -0
  42. package/dist/extensions/index.d.ts.map +0 -0
  43. package/dist/fabric.d.ts +0 -0
  44. package/dist/fabric.d.ts.map +0 -0
  45. package/dist/fabric.min.mjs +0 -0
  46. package/dist/fabric.min.mjs.map +0 -0
  47. package/dist/fabric.mjs +0 -0
  48. package/dist/fabric.mjs.map +0 -0
  49. package/dist/index.d.ts +0 -0
  50. package/dist/index.d.ts.map +0 -0
  51. package/dist/index.js +1585 -1151
  52. package/dist/index.js.map +1 -1
  53. package/dist/index.min.js +1 -1
  54. package/dist/index.min.js.map +1 -1
  55. package/dist/index.min.mjs +1 -1
  56. package/dist/index.min.mjs.map +1 -1
  57. package/dist/index.mjs +1585 -1151
  58. package/dist/index.mjs.map +1 -1
  59. package/dist/index.node.cjs +1585 -1151
  60. package/dist/index.node.cjs.map +1 -1
  61. package/dist/index.node.d.ts +0 -0
  62. package/dist/index.node.d.ts.map +0 -0
  63. package/dist/index.node.mjs +1585 -1151
  64. package/dist/index.node.mjs.map +1 -1
  65. package/dist/package.json.min.mjs +1 -1
  66. package/dist/package.json.min.mjs.map +0 -0
  67. package/dist/package.json.mjs +1 -1
  68. package/dist/package.json.mjs.map +0 -0
  69. package/dist/src/ClassRegistry.d.ts +0 -0
  70. package/dist/src/ClassRegistry.d.ts.map +0 -0
  71. package/dist/src/ClassRegistry.min.mjs +0 -0
  72. package/dist/src/ClassRegistry.min.mjs.map +0 -0
  73. package/dist/src/ClassRegistry.mjs +0 -0
  74. package/dist/src/ClassRegistry.mjs.map +0 -0
  75. package/dist/src/Collection.d.ts +0 -0
  76. package/dist/src/Collection.d.ts.map +0 -0
  77. package/dist/src/Collection.min.mjs +0 -0
  78. package/dist/src/Collection.min.mjs.map +0 -0
  79. package/dist/src/Collection.mjs +0 -0
  80. package/dist/src/Collection.mjs.map +0 -0
  81. package/dist/src/CommonMethods.d.ts +0 -0
  82. package/dist/src/CommonMethods.d.ts.map +0 -0
  83. package/dist/src/CommonMethods.min.mjs +0 -0
  84. package/dist/src/CommonMethods.min.mjs.map +0 -0
  85. package/dist/src/CommonMethods.mjs +0 -0
  86. package/dist/src/CommonMethods.mjs.map +0 -0
  87. package/dist/src/EventTypeDefs.d.ts +0 -0
  88. package/dist/src/EventTypeDefs.d.ts.map +0 -0
  89. package/dist/src/Intersection.d.ts +0 -0
  90. package/dist/src/Intersection.d.ts.map +0 -0
  91. package/dist/src/Intersection.min.mjs +0 -0
  92. package/dist/src/Intersection.min.mjs.map +0 -0
  93. package/dist/src/Intersection.mjs +0 -0
  94. package/dist/src/Intersection.mjs.map +0 -0
  95. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  96. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  97. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs +0 -0
  98. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.min.mjs.map +0 -0
  99. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs +0 -0
  100. package/dist/src/LayoutManager/ActiveSelectionLayoutManager.mjs.map +0 -0
  101. package/dist/src/LayoutManager/LayoutManager.d.ts +0 -0
  102. package/dist/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  103. package/dist/src/LayoutManager/LayoutManager.min.mjs +0 -0
  104. package/dist/src/LayoutManager/LayoutManager.min.mjs.map +0 -0
  105. package/dist/src/LayoutManager/LayoutManager.mjs +0 -0
  106. package/dist/src/LayoutManager/LayoutManager.mjs.map +0 -0
  107. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  108. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  109. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +0 -0
  110. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +0 -0
  111. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +0 -0
  112. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +0 -0
  113. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  114. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  115. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +0 -0
  116. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs.map +0 -0
  117. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +0 -0
  118. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs.map +0 -0
  119. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  120. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  121. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +0 -0
  122. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs.map +0 -0
  123. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +0 -0
  124. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs.map +0 -0
  125. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  126. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  127. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +0 -0
  128. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +0 -0
  129. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +0 -0
  130. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +0 -0
  131. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  132. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  133. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs +0 -0
  134. package/dist/src/LayoutManager/LayoutStrategies/utils.min.mjs.map +0 -0
  135. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs +0 -0
  136. package/dist/src/LayoutManager/LayoutStrategies/utils.mjs.map +0 -0
  137. package/dist/src/LayoutManager/constants.d.ts +0 -0
  138. package/dist/src/LayoutManager/constants.d.ts.map +0 -0
  139. package/dist/src/LayoutManager/constants.min.mjs +0 -0
  140. package/dist/src/LayoutManager/constants.min.mjs.map +0 -0
  141. package/dist/src/LayoutManager/constants.mjs +0 -0
  142. package/dist/src/LayoutManager/constants.mjs.map +0 -0
  143. package/dist/src/LayoutManager/index.d.ts +0 -0
  144. package/dist/src/LayoutManager/index.d.ts.map +0 -0
  145. package/dist/src/LayoutManager/types.d.ts +0 -0
  146. package/dist/src/LayoutManager/types.d.ts.map +0 -0
  147. package/dist/src/Observable.d.ts +0 -0
  148. package/dist/src/Observable.d.ts.map +0 -0
  149. package/dist/src/Observable.min.mjs +0 -0
  150. package/dist/src/Observable.min.mjs.map +0 -0
  151. package/dist/src/Observable.mjs +0 -0
  152. package/dist/src/Observable.mjs.map +0 -0
  153. package/dist/src/Pattern/Pattern.d.ts +0 -0
  154. package/dist/src/Pattern/Pattern.d.ts.map +0 -0
  155. package/dist/src/Pattern/Pattern.min.mjs +0 -0
  156. package/dist/src/Pattern/Pattern.min.mjs.map +0 -0
  157. package/dist/src/Pattern/Pattern.mjs +0 -0
  158. package/dist/src/Pattern/Pattern.mjs.map +0 -0
  159. package/dist/src/Pattern/index.d.ts +0 -0
  160. package/dist/src/Pattern/index.d.ts.map +0 -0
  161. package/dist/src/Pattern/types.d.ts +0 -0
  162. package/dist/src/Pattern/types.d.ts.map +0 -0
  163. package/dist/src/Point.d.ts +0 -0
  164. package/dist/src/Point.d.ts.map +0 -0
  165. package/dist/src/Point.min.mjs +0 -0
  166. package/dist/src/Point.min.mjs.map +0 -0
  167. package/dist/src/Point.mjs +0 -0
  168. package/dist/src/Point.mjs.map +0 -0
  169. package/dist/src/Shadow.d.ts +0 -0
  170. package/dist/src/Shadow.d.ts.map +0 -0
  171. package/dist/src/Shadow.min.mjs +0 -0
  172. package/dist/src/Shadow.min.mjs.map +0 -0
  173. package/dist/src/Shadow.mjs +0 -0
  174. package/dist/src/Shadow.mjs.map +0 -0
  175. package/dist/src/brushes/BaseBrush.d.ts +0 -0
  176. package/dist/src/brushes/BaseBrush.d.ts.map +0 -0
  177. package/dist/src/brushes/BaseBrush.min.mjs +0 -0
  178. package/dist/src/brushes/BaseBrush.min.mjs.map +0 -0
  179. package/dist/src/brushes/BaseBrush.mjs +0 -0
  180. package/dist/src/brushes/BaseBrush.mjs.map +0 -0
  181. package/dist/src/brushes/CircleBrush.d.ts +0 -0
  182. package/dist/src/brushes/CircleBrush.d.ts.map +0 -0
  183. package/dist/src/brushes/CircleBrush.min.mjs +0 -0
  184. package/dist/src/brushes/CircleBrush.min.mjs.map +0 -0
  185. package/dist/src/brushes/CircleBrush.mjs +0 -0
  186. package/dist/src/brushes/CircleBrush.mjs.map +0 -0
  187. package/dist/src/brushes/PatternBrush.d.ts +0 -0
  188. package/dist/src/brushes/PatternBrush.d.ts.map +0 -0
  189. package/dist/src/brushes/PatternBrush.min.mjs +0 -0
  190. package/dist/src/brushes/PatternBrush.min.mjs.map +0 -0
  191. package/dist/src/brushes/PatternBrush.mjs +0 -0
  192. package/dist/src/brushes/PatternBrush.mjs.map +0 -0
  193. package/dist/src/brushes/PencilBrush.d.ts +0 -0
  194. package/dist/src/brushes/PencilBrush.d.ts.map +0 -0
  195. package/dist/src/brushes/PencilBrush.min.mjs +0 -0
  196. package/dist/src/brushes/PencilBrush.min.mjs.map +0 -0
  197. package/dist/src/brushes/PencilBrush.mjs +0 -0
  198. package/dist/src/brushes/PencilBrush.mjs.map +0 -0
  199. package/dist/src/brushes/SprayBrush.d.ts +0 -0
  200. package/dist/src/brushes/SprayBrush.d.ts.map +0 -0
  201. package/dist/src/brushes/SprayBrush.min.mjs +0 -0
  202. package/dist/src/brushes/SprayBrush.min.mjs.map +0 -0
  203. package/dist/src/brushes/SprayBrush.mjs +0 -0
  204. package/dist/src/brushes/SprayBrush.mjs.map +0 -0
  205. package/dist/src/brushes/typedefs.d.ts +0 -0
  206. package/dist/src/brushes/typedefs.d.ts.map +0 -0
  207. package/dist/src/cache.d.ts +0 -0
  208. package/dist/src/cache.d.ts.map +0 -0
  209. package/dist/src/cache.min.mjs +0 -0
  210. package/dist/src/cache.min.mjs.map +0 -0
  211. package/dist/src/cache.mjs +0 -0
  212. package/dist/src/cache.mjs.map +0 -0
  213. package/dist/src/canvas/Canvas.d.ts +0 -0
  214. package/dist/src/canvas/Canvas.d.ts.map +0 -0
  215. package/dist/src/canvas/Canvas.min.mjs +0 -0
  216. package/dist/src/canvas/Canvas.min.mjs.map +0 -0
  217. package/dist/src/canvas/Canvas.mjs +0 -0
  218. package/dist/src/canvas/Canvas.mjs.map +0 -0
  219. package/dist/src/canvas/CanvasOptions.d.ts +0 -0
  220. package/dist/src/canvas/CanvasOptions.d.ts.map +0 -0
  221. package/dist/src/canvas/CanvasOptions.min.mjs +0 -0
  222. package/dist/src/canvas/CanvasOptions.min.mjs.map +0 -0
  223. package/dist/src/canvas/CanvasOptions.mjs +0 -0
  224. package/dist/src/canvas/CanvasOptions.mjs.map +0 -0
  225. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  226. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  227. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +0 -0
  228. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs.map +0 -0
  229. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +0 -0
  230. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs.map +0 -0
  231. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  232. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  233. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +0 -0
  234. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs.map +0 -0
  235. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +0 -0
  236. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs.map +0 -0
  237. package/dist/src/canvas/DOMManagers/util.d.ts +0 -0
  238. package/dist/src/canvas/DOMManagers/util.d.ts.map +0 -0
  239. package/dist/src/canvas/DOMManagers/util.min.mjs +0 -0
  240. package/dist/src/canvas/DOMManagers/util.min.mjs.map +0 -0
  241. package/dist/src/canvas/DOMManagers/util.mjs +0 -0
  242. package/dist/src/canvas/DOMManagers/util.mjs.map +0 -0
  243. package/dist/src/canvas/SelectableCanvas.d.ts +0 -0
  244. package/dist/src/canvas/SelectableCanvas.d.ts.map +0 -0
  245. package/dist/src/canvas/SelectableCanvas.min.mjs +0 -0
  246. package/dist/src/canvas/SelectableCanvas.min.mjs.map +0 -0
  247. package/dist/src/canvas/SelectableCanvas.mjs +0 -0
  248. package/dist/src/canvas/SelectableCanvas.mjs.map +0 -0
  249. package/dist/src/canvas/StaticCanvas.d.ts +0 -0
  250. package/dist/src/canvas/StaticCanvas.d.ts.map +0 -0
  251. package/dist/src/canvas/StaticCanvas.min.mjs +0 -0
  252. package/dist/src/canvas/StaticCanvas.min.mjs.map +0 -0
  253. package/dist/src/canvas/StaticCanvas.mjs +0 -0
  254. package/dist/src/canvas/StaticCanvas.mjs.map +0 -0
  255. package/dist/src/canvas/StaticCanvasOptions.d.ts +0 -0
  256. package/dist/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  257. package/dist/src/canvas/StaticCanvasOptions.min.mjs +0 -0
  258. package/dist/src/canvas/StaticCanvasOptions.min.mjs.map +0 -0
  259. package/dist/src/canvas/StaticCanvasOptions.mjs +0 -0
  260. package/dist/src/canvas/StaticCanvasOptions.mjs.map +0 -0
  261. package/dist/src/canvas/TextEditingManager.d.ts +0 -0
  262. package/dist/src/canvas/TextEditingManager.d.ts.map +0 -0
  263. package/dist/src/canvas/TextEditingManager.min.mjs +0 -0
  264. package/dist/src/canvas/TextEditingManager.min.mjs.map +0 -0
  265. package/dist/src/canvas/TextEditingManager.mjs +0 -0
  266. package/dist/src/canvas/TextEditingManager.mjs.map +0 -0
  267. package/dist/src/canvas/canvas_gestures.mixin.d.ts +0 -0
  268. package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +0 -0
  269. package/dist/src/color/Color.d.ts +0 -0
  270. package/dist/src/color/Color.d.ts.map +0 -0
  271. package/dist/src/color/Color.min.mjs +0 -0
  272. package/dist/src/color/Color.min.mjs.map +0 -0
  273. package/dist/src/color/Color.mjs +0 -0
  274. package/dist/src/color/Color.mjs.map +0 -0
  275. package/dist/src/color/color_map.d.ts +0 -0
  276. package/dist/src/color/color_map.d.ts.map +0 -0
  277. package/dist/src/color/color_map.min.mjs +0 -0
  278. package/dist/src/color/color_map.min.mjs.map +0 -0
  279. package/dist/src/color/color_map.mjs +0 -0
  280. package/dist/src/color/color_map.mjs.map +0 -0
  281. package/dist/src/color/constants.d.ts +0 -0
  282. package/dist/src/color/constants.d.ts.map +0 -0
  283. package/dist/src/color/constants.min.mjs +0 -0
  284. package/dist/src/color/constants.min.mjs.map +0 -0
  285. package/dist/src/color/constants.mjs +0 -0
  286. package/dist/src/color/constants.mjs.map +0 -0
  287. package/dist/src/color/typedefs.d.ts +0 -0
  288. package/dist/src/color/typedefs.d.ts.map +0 -0
  289. package/dist/src/color/util.d.ts +0 -0
  290. package/dist/src/color/util.d.ts.map +0 -0
  291. package/dist/src/color/util.min.mjs +0 -0
  292. package/dist/src/color/util.min.mjs.map +0 -0
  293. package/dist/src/color/util.mjs +0 -0
  294. package/dist/src/color/util.mjs.map +0 -0
  295. package/dist/src/config.d.ts +0 -0
  296. package/dist/src/config.d.ts.map +0 -0
  297. package/dist/src/config.min.mjs +0 -0
  298. package/dist/src/config.min.mjs.map +0 -0
  299. package/dist/src/config.mjs +0 -0
  300. package/dist/src/config.mjs.map +0 -0
  301. package/dist/src/constants.d.ts +0 -0
  302. package/dist/src/constants.d.ts.map +0 -0
  303. package/dist/src/constants.min.mjs +0 -0
  304. package/dist/src/constants.min.mjs.map +0 -0
  305. package/dist/src/constants.mjs +0 -0
  306. package/dist/src/constants.mjs.map +0 -0
  307. package/dist/src/controls/Control.d.ts +0 -0
  308. package/dist/src/controls/Control.d.ts.map +0 -0
  309. package/dist/src/controls/Control.min.mjs +0 -0
  310. package/dist/src/controls/Control.min.mjs.map +0 -0
  311. package/dist/src/controls/Control.mjs +0 -0
  312. package/dist/src/controls/Control.mjs.map +0 -0
  313. package/dist/src/controls/changeHeight.d.ts +0 -0
  314. package/dist/src/controls/changeHeight.d.ts.map +0 -0
  315. package/dist/src/controls/changeWidth.d.ts +0 -0
  316. package/dist/src/controls/changeWidth.d.ts.map +0 -0
  317. package/dist/src/controls/changeWidth.min.mjs +0 -0
  318. package/dist/src/controls/changeWidth.min.mjs.map +0 -0
  319. package/dist/src/controls/changeWidth.mjs +0 -0
  320. package/dist/src/controls/changeWidth.mjs.map +0 -0
  321. package/dist/src/controls/commonControls.d.ts +0 -0
  322. package/dist/src/controls/commonControls.d.ts.map +0 -0
  323. package/dist/src/controls/commonControls.min.mjs +0 -0
  324. package/dist/src/controls/commonControls.min.mjs.map +0 -0
  325. package/dist/src/controls/commonControls.mjs +0 -0
  326. package/dist/src/controls/commonControls.mjs.map +0 -0
  327. package/dist/src/controls/controlRendering.d.ts +0 -0
  328. package/dist/src/controls/controlRendering.d.ts.map +0 -0
  329. package/dist/src/controls/controlRendering.min.mjs +0 -0
  330. package/dist/src/controls/controlRendering.min.mjs.map +0 -0
  331. package/dist/src/controls/controlRendering.mjs +0 -0
  332. package/dist/src/controls/controlRendering.mjs.map +0 -0
  333. package/dist/src/controls/drag.d.ts +0 -0
  334. package/dist/src/controls/drag.d.ts.map +0 -0
  335. package/dist/src/controls/drag.min.mjs +0 -0
  336. package/dist/src/controls/drag.min.mjs.map +0 -0
  337. package/dist/src/controls/drag.mjs +0 -0
  338. package/dist/src/controls/drag.mjs.map +0 -0
  339. package/dist/src/controls/fireEvent.d.ts +0 -0
  340. package/dist/src/controls/fireEvent.d.ts.map +0 -0
  341. package/dist/src/controls/fireEvent.min.mjs +0 -0
  342. package/dist/src/controls/fireEvent.min.mjs.map +0 -0
  343. package/dist/src/controls/fireEvent.mjs +0 -0
  344. package/dist/src/controls/fireEvent.mjs.map +0 -0
  345. package/dist/src/controls/index.d.ts +0 -0
  346. package/dist/src/controls/index.d.ts.map +0 -0
  347. package/dist/src/controls/index.min.mjs +0 -0
  348. package/dist/src/controls/index.min.mjs.map +0 -0
  349. package/dist/src/controls/index.mjs +0 -0
  350. package/dist/src/controls/index.mjs.map +0 -0
  351. package/dist/src/controls/pathControl.d.ts +0 -0
  352. package/dist/src/controls/pathControl.d.ts.map +0 -0
  353. package/dist/src/controls/pathControl.min.mjs +0 -0
  354. package/dist/src/controls/pathControl.min.mjs.map +0 -0
  355. package/dist/src/controls/pathControl.mjs +0 -0
  356. package/dist/src/controls/pathControl.mjs.map +0 -0
  357. package/dist/src/controls/polyControl.d.ts +0 -0
  358. package/dist/src/controls/polyControl.d.ts.map +0 -0
  359. package/dist/src/controls/polyControl.min.mjs +0 -0
  360. package/dist/src/controls/polyControl.min.mjs.map +0 -0
  361. package/dist/src/controls/polyControl.mjs +0 -0
  362. package/dist/src/controls/polyControl.mjs.map +0 -0
  363. package/dist/src/controls/rotate.d.ts +0 -0
  364. package/dist/src/controls/rotate.d.ts.map +0 -0
  365. package/dist/src/controls/rotate.min.mjs +0 -0
  366. package/dist/src/controls/rotate.min.mjs.map +0 -0
  367. package/dist/src/controls/rotate.mjs +0 -0
  368. package/dist/src/controls/rotate.mjs.map +0 -0
  369. package/dist/src/controls/scale.d.ts +0 -0
  370. package/dist/src/controls/scale.d.ts.map +0 -0
  371. package/dist/src/controls/scale.min.mjs +0 -0
  372. package/dist/src/controls/scale.min.mjs.map +0 -0
  373. package/dist/src/controls/scale.mjs +0 -0
  374. package/dist/src/controls/scale.mjs.map +0 -0
  375. package/dist/src/controls/scaleSkew.d.ts +0 -0
  376. package/dist/src/controls/scaleSkew.d.ts.map +0 -0
  377. package/dist/src/controls/scaleSkew.min.mjs +0 -0
  378. package/dist/src/controls/scaleSkew.min.mjs.map +0 -0
  379. package/dist/src/controls/scaleSkew.mjs +0 -0
  380. package/dist/src/controls/scaleSkew.mjs.map +0 -0
  381. package/dist/src/controls/skew.d.ts +0 -0
  382. package/dist/src/controls/skew.d.ts.map +0 -0
  383. package/dist/src/controls/skew.min.mjs +0 -0
  384. package/dist/src/controls/skew.min.mjs.map +0 -0
  385. package/dist/src/controls/skew.mjs +0 -0
  386. package/dist/src/controls/skew.mjs.map +0 -0
  387. package/dist/src/controls/util.d.ts +0 -0
  388. package/dist/src/controls/util.d.ts.map +0 -0
  389. package/dist/src/controls/util.min.mjs +0 -0
  390. package/dist/src/controls/util.min.mjs.map +0 -0
  391. package/dist/src/controls/util.mjs +0 -0
  392. package/dist/src/controls/util.mjs.map +0 -0
  393. package/dist/src/controls/wrapWithFireEvent.d.ts +0 -0
  394. package/dist/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  395. package/dist/src/controls/wrapWithFireEvent.min.mjs +0 -0
  396. package/dist/src/controls/wrapWithFireEvent.min.mjs.map +0 -0
  397. package/dist/src/controls/wrapWithFireEvent.mjs +0 -0
  398. package/dist/src/controls/wrapWithFireEvent.mjs.map +0 -0
  399. package/dist/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  400. package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  401. package/dist/src/controls/wrapWithFixedAnchor.min.mjs +0 -0
  402. package/dist/src/controls/wrapWithFixedAnchor.min.mjs.map +0 -0
  403. package/dist/src/controls/wrapWithFixedAnchor.mjs +0 -0
  404. package/dist/src/controls/wrapWithFixedAnchor.mjs.map +0 -0
  405. package/dist/src/env/browser.d.ts +0 -0
  406. package/dist/src/env/browser.d.ts.map +0 -0
  407. package/dist/src/env/browser.min.mjs +0 -0
  408. package/dist/src/env/browser.min.mjs.map +0 -0
  409. package/dist/src/env/browser.mjs +0 -0
  410. package/dist/src/env/browser.mjs.map +0 -0
  411. package/dist/src/env/index.d.ts +0 -0
  412. package/dist/src/env/index.d.ts.map +0 -0
  413. package/dist/src/env/index.min.mjs +0 -0
  414. package/dist/src/env/index.min.mjs.map +0 -0
  415. package/dist/src/env/index.mjs +0 -0
  416. package/dist/src/env/index.mjs.map +0 -0
  417. package/dist/src/env/node.d.ts +0 -0
  418. package/dist/src/env/node.d.ts.map +0 -0
  419. package/dist/src/env/types.d.ts +0 -0
  420. package/dist/src/env/types.d.ts.map +0 -0
  421. package/dist/src/filters/BaseFilter.d.ts +0 -0
  422. package/dist/src/filters/BaseFilter.d.ts.map +0 -0
  423. package/dist/src/filters/BaseFilter.min.mjs +0 -0
  424. package/dist/src/filters/BaseFilter.min.mjs.map +0 -0
  425. package/dist/src/filters/BaseFilter.mjs +0 -0
  426. package/dist/src/filters/BaseFilter.mjs.map +0 -0
  427. package/dist/src/filters/BlendColor.d.ts +0 -0
  428. package/dist/src/filters/BlendColor.d.ts.map +0 -0
  429. package/dist/src/filters/BlendColor.min.mjs +0 -0
  430. package/dist/src/filters/BlendColor.min.mjs.map +0 -0
  431. package/dist/src/filters/BlendColor.mjs +0 -0
  432. package/dist/src/filters/BlendColor.mjs.map +0 -0
  433. package/dist/src/filters/BlendImage.d.ts +0 -0
  434. package/dist/src/filters/BlendImage.d.ts.map +0 -0
  435. package/dist/src/filters/BlendImage.min.mjs +0 -0
  436. package/dist/src/filters/BlendImage.min.mjs.map +0 -0
  437. package/dist/src/filters/BlendImage.mjs +0 -0
  438. package/dist/src/filters/BlendImage.mjs.map +0 -0
  439. package/dist/src/filters/Blur.d.ts +0 -0
  440. package/dist/src/filters/Blur.d.ts.map +0 -0
  441. package/dist/src/filters/Blur.min.mjs +0 -0
  442. package/dist/src/filters/Blur.min.mjs.map +0 -0
  443. package/dist/src/filters/Blur.mjs +0 -0
  444. package/dist/src/filters/Blur.mjs.map +0 -0
  445. package/dist/src/filters/Boilerplate.d.ts +0 -0
  446. package/dist/src/filters/Boilerplate.d.ts.map +0 -0
  447. package/dist/src/filters/Brightness.d.ts +0 -0
  448. package/dist/src/filters/Brightness.d.ts.map +0 -0
  449. package/dist/src/filters/Brightness.min.mjs +0 -0
  450. package/dist/src/filters/Brightness.min.mjs.map +0 -0
  451. package/dist/src/filters/Brightness.mjs +0 -0
  452. package/dist/src/filters/Brightness.mjs.map +0 -0
  453. package/dist/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  454. package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  455. package/dist/src/filters/Canvas2dFilterBackend.min.mjs +0 -0
  456. package/dist/src/filters/Canvas2dFilterBackend.min.mjs.map +0 -0
  457. package/dist/src/filters/Canvas2dFilterBackend.mjs +0 -0
  458. package/dist/src/filters/Canvas2dFilterBackend.mjs.map +0 -0
  459. package/dist/src/filters/ColorMatrix.d.ts +0 -0
  460. package/dist/src/filters/ColorMatrix.d.ts.map +0 -0
  461. package/dist/src/filters/ColorMatrix.min.mjs +0 -0
  462. package/dist/src/filters/ColorMatrix.min.mjs.map +0 -0
  463. package/dist/src/filters/ColorMatrix.mjs +0 -0
  464. package/dist/src/filters/ColorMatrix.mjs.map +0 -0
  465. package/dist/src/filters/ColorMatrixFilters.d.ts +0 -0
  466. package/dist/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  467. package/dist/src/filters/ColorMatrixFilters.min.mjs +0 -0
  468. package/dist/src/filters/ColorMatrixFilters.min.mjs.map +0 -0
  469. package/dist/src/filters/ColorMatrixFilters.mjs +0 -0
  470. package/dist/src/filters/ColorMatrixFilters.mjs.map +0 -0
  471. package/dist/src/filters/Composed.d.ts +0 -0
  472. package/dist/src/filters/Composed.d.ts.map +0 -0
  473. package/dist/src/filters/Composed.min.mjs +0 -0
  474. package/dist/src/filters/Composed.min.mjs.map +0 -0
  475. package/dist/src/filters/Composed.mjs +0 -0
  476. package/dist/src/filters/Composed.mjs.map +0 -0
  477. package/dist/src/filters/Contrast.d.ts +0 -0
  478. package/dist/src/filters/Contrast.d.ts.map +0 -0
  479. package/dist/src/filters/Contrast.min.mjs +0 -0
  480. package/dist/src/filters/Contrast.min.mjs.map +0 -0
  481. package/dist/src/filters/Contrast.mjs +0 -0
  482. package/dist/src/filters/Contrast.mjs.map +0 -0
  483. package/dist/src/filters/Convolute.d.ts +0 -0
  484. package/dist/src/filters/Convolute.d.ts.map +0 -0
  485. package/dist/src/filters/Convolute.min.mjs +0 -0
  486. package/dist/src/filters/Convolute.min.mjs.map +0 -0
  487. package/dist/src/filters/Convolute.mjs +0 -0
  488. package/dist/src/filters/Convolute.mjs.map +0 -0
  489. package/dist/src/filters/FilterBackend.d.ts +0 -0
  490. package/dist/src/filters/FilterBackend.d.ts.map +0 -0
  491. package/dist/src/filters/FilterBackend.min.mjs +0 -0
  492. package/dist/src/filters/FilterBackend.min.mjs.map +0 -0
  493. package/dist/src/filters/FilterBackend.mjs +0 -0
  494. package/dist/src/filters/FilterBackend.mjs.map +0 -0
  495. package/dist/src/filters/GLProbes/GLProbe.d.ts +0 -0
  496. package/dist/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  497. package/dist/src/filters/GLProbes/GLProbe.min.mjs +0 -0
  498. package/dist/src/filters/GLProbes/GLProbe.min.mjs.map +0 -0
  499. package/dist/src/filters/GLProbes/GLProbe.mjs +0 -0
  500. package/dist/src/filters/GLProbes/GLProbe.mjs.map +0 -0
  501. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +0 -0
  502. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +0 -0
  503. package/dist/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  504. package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  505. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs +0 -0
  506. package/dist/src/filters/GLProbes/WebGLProbe.min.mjs.map +0 -0
  507. package/dist/src/filters/GLProbes/WebGLProbe.mjs +0 -0
  508. package/dist/src/filters/GLProbes/WebGLProbe.mjs.map +0 -0
  509. package/dist/src/filters/Gamma.d.ts +0 -0
  510. package/dist/src/filters/Gamma.d.ts.map +0 -0
  511. package/dist/src/filters/Gamma.min.mjs +0 -0
  512. package/dist/src/filters/Gamma.min.mjs.map +0 -0
  513. package/dist/src/filters/Gamma.mjs +0 -0
  514. package/dist/src/filters/Gamma.mjs.map +0 -0
  515. package/dist/src/filters/Grayscale.d.ts +0 -0
  516. package/dist/src/filters/Grayscale.d.ts.map +0 -0
  517. package/dist/src/filters/Grayscale.min.mjs +0 -0
  518. package/dist/src/filters/Grayscale.min.mjs.map +0 -0
  519. package/dist/src/filters/Grayscale.mjs +0 -0
  520. package/dist/src/filters/Grayscale.mjs.map +0 -0
  521. package/dist/src/filters/HueRotation.d.ts +0 -0
  522. package/dist/src/filters/HueRotation.d.ts.map +0 -0
  523. package/dist/src/filters/HueRotation.min.mjs +0 -0
  524. package/dist/src/filters/HueRotation.min.mjs.map +0 -0
  525. package/dist/src/filters/HueRotation.mjs +0 -0
  526. package/dist/src/filters/HueRotation.mjs.map +0 -0
  527. package/dist/src/filters/Invert.d.ts +0 -0
  528. package/dist/src/filters/Invert.d.ts.map +0 -0
  529. package/dist/src/filters/Invert.min.mjs +0 -0
  530. package/dist/src/filters/Invert.min.mjs.map +0 -0
  531. package/dist/src/filters/Invert.mjs +0 -0
  532. package/dist/src/filters/Invert.mjs.map +0 -0
  533. package/dist/src/filters/Noise.d.ts +0 -0
  534. package/dist/src/filters/Noise.d.ts.map +0 -0
  535. package/dist/src/filters/Noise.min.mjs +0 -0
  536. package/dist/src/filters/Noise.min.mjs.map +0 -0
  537. package/dist/src/filters/Noise.mjs +0 -0
  538. package/dist/src/filters/Noise.mjs.map +0 -0
  539. package/dist/src/filters/Pixelate.d.ts +0 -0
  540. package/dist/src/filters/Pixelate.d.ts.map +0 -0
  541. package/dist/src/filters/Pixelate.min.mjs +0 -0
  542. package/dist/src/filters/Pixelate.min.mjs.map +0 -0
  543. package/dist/src/filters/Pixelate.mjs +0 -0
  544. package/dist/src/filters/Pixelate.mjs.map +0 -0
  545. package/dist/src/filters/RemoveColor.d.ts +0 -0
  546. package/dist/src/filters/RemoveColor.d.ts.map +0 -0
  547. package/dist/src/filters/RemoveColor.min.mjs +0 -0
  548. package/dist/src/filters/RemoveColor.min.mjs.map +0 -0
  549. package/dist/src/filters/RemoveColor.mjs +0 -0
  550. package/dist/src/filters/RemoveColor.mjs.map +0 -0
  551. package/dist/src/filters/Resize.d.ts +0 -0
  552. package/dist/src/filters/Resize.d.ts.map +0 -0
  553. package/dist/src/filters/Resize.min.mjs +0 -0
  554. package/dist/src/filters/Resize.min.mjs.map +0 -0
  555. package/dist/src/filters/Resize.mjs +0 -0
  556. package/dist/src/filters/Resize.mjs.map +0 -0
  557. package/dist/src/filters/Saturation.d.ts +0 -0
  558. package/dist/src/filters/Saturation.d.ts.map +0 -0
  559. package/dist/src/filters/Saturation.min.mjs +0 -0
  560. package/dist/src/filters/Saturation.min.mjs.map +0 -0
  561. package/dist/src/filters/Saturation.mjs +0 -0
  562. package/dist/src/filters/Saturation.mjs.map +0 -0
  563. package/dist/src/filters/Vibrance.d.ts +0 -0
  564. package/dist/src/filters/Vibrance.d.ts.map +0 -0
  565. package/dist/src/filters/Vibrance.min.mjs +0 -0
  566. package/dist/src/filters/Vibrance.min.mjs.map +0 -0
  567. package/dist/src/filters/Vibrance.mjs +0 -0
  568. package/dist/src/filters/Vibrance.mjs.map +0 -0
  569. package/dist/src/filters/WebGLFilterBackend.d.ts +0 -0
  570. package/dist/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  571. package/dist/src/filters/WebGLFilterBackend.min.mjs +0 -0
  572. package/dist/src/filters/WebGLFilterBackend.min.mjs.map +0 -0
  573. package/dist/src/filters/WebGLFilterBackend.mjs +0 -0
  574. package/dist/src/filters/WebGLFilterBackend.mjs.map +0 -0
  575. package/dist/src/filters/filters.d.ts +0 -0
  576. package/dist/src/filters/filters.d.ts.map +0 -0
  577. package/dist/src/filters/filters.min.mjs +0 -0
  578. package/dist/src/filters/filters.min.mjs.map +0 -0
  579. package/dist/src/filters/filters.mjs +0 -0
  580. package/dist/src/filters/filters.mjs.map +0 -0
  581. package/dist/src/filters/index.d.ts +0 -0
  582. package/dist/src/filters/index.d.ts.map +0 -0
  583. package/dist/src/filters/shaders/baseFilter.d.ts +0 -0
  584. package/dist/src/filters/shaders/baseFilter.d.ts.map +0 -0
  585. package/dist/src/filters/shaders/baseFilter.min.mjs +0 -0
  586. package/dist/src/filters/shaders/baseFilter.min.mjs.map +0 -0
  587. package/dist/src/filters/shaders/baseFilter.mjs +0 -0
  588. package/dist/src/filters/shaders/baseFilter.mjs.map +0 -0
  589. package/dist/src/filters/shaders/blendColor.d.ts +0 -0
  590. package/dist/src/filters/shaders/blendColor.d.ts.map +0 -0
  591. package/dist/src/filters/shaders/blendColor.min.mjs +0 -0
  592. package/dist/src/filters/shaders/blendColor.min.mjs.map +0 -0
  593. package/dist/src/filters/shaders/blendColor.mjs +0 -0
  594. package/dist/src/filters/shaders/blendColor.mjs.map +0 -0
  595. package/dist/src/filters/shaders/blendImage.d.ts +0 -0
  596. package/dist/src/filters/shaders/blendImage.d.ts.map +0 -0
  597. package/dist/src/filters/shaders/blendImage.min.mjs +0 -0
  598. package/dist/src/filters/shaders/blendImage.min.mjs.map +0 -0
  599. package/dist/src/filters/shaders/blendImage.mjs +0 -0
  600. package/dist/src/filters/shaders/blendImage.mjs.map +0 -0
  601. package/dist/src/filters/shaders/blur.d.ts +0 -0
  602. package/dist/src/filters/shaders/blur.d.ts.map +0 -0
  603. package/dist/src/filters/shaders/blur.min.mjs +0 -0
  604. package/dist/src/filters/shaders/blur.min.mjs.map +0 -0
  605. package/dist/src/filters/shaders/blur.mjs +0 -0
  606. package/dist/src/filters/shaders/blur.mjs.map +0 -0
  607. package/dist/src/filters/shaders/brightness.d.ts +0 -0
  608. package/dist/src/filters/shaders/brightness.d.ts.map +0 -0
  609. package/dist/src/filters/shaders/brightness.min.mjs +0 -0
  610. package/dist/src/filters/shaders/brightness.min.mjs.map +0 -0
  611. package/dist/src/filters/shaders/brightness.mjs +0 -0
  612. package/dist/src/filters/shaders/brightness.mjs.map +0 -0
  613. package/dist/src/filters/shaders/colorMatrix.d.ts +0 -0
  614. package/dist/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  615. package/dist/src/filters/shaders/colorMatrix.min.mjs +0 -0
  616. package/dist/src/filters/shaders/colorMatrix.min.mjs.map +0 -0
  617. package/dist/src/filters/shaders/colorMatrix.mjs +0 -0
  618. package/dist/src/filters/shaders/colorMatrix.mjs.map +0 -0
  619. package/dist/src/filters/shaders/constrast.d.ts +0 -0
  620. package/dist/src/filters/shaders/constrast.d.ts.map +0 -0
  621. package/dist/src/filters/shaders/constrast.min.mjs +0 -0
  622. package/dist/src/filters/shaders/constrast.min.mjs.map +0 -0
  623. package/dist/src/filters/shaders/constrast.mjs +0 -0
  624. package/dist/src/filters/shaders/constrast.mjs.map +0 -0
  625. package/dist/src/filters/shaders/convolute.d.ts +0 -0
  626. package/dist/src/filters/shaders/convolute.d.ts.map +0 -0
  627. package/dist/src/filters/shaders/convolute.min.mjs +0 -0
  628. package/dist/src/filters/shaders/convolute.min.mjs.map +0 -0
  629. package/dist/src/filters/shaders/convolute.mjs +0 -0
  630. package/dist/src/filters/shaders/convolute.mjs.map +0 -0
  631. package/dist/src/filters/shaders/gamma.d.ts +0 -0
  632. package/dist/src/filters/shaders/gamma.d.ts.map +0 -0
  633. package/dist/src/filters/shaders/gamma.min.mjs +0 -0
  634. package/dist/src/filters/shaders/gamma.min.mjs.map +0 -0
  635. package/dist/src/filters/shaders/gamma.mjs +0 -0
  636. package/dist/src/filters/shaders/gamma.mjs.map +0 -0
  637. package/dist/src/filters/shaders/grayscale.d.ts +0 -0
  638. package/dist/src/filters/shaders/grayscale.d.ts.map +0 -0
  639. package/dist/src/filters/shaders/grayscale.min.mjs +0 -0
  640. package/dist/src/filters/shaders/grayscale.min.mjs.map +0 -0
  641. package/dist/src/filters/shaders/grayscale.mjs +0 -0
  642. package/dist/src/filters/shaders/grayscale.mjs.map +0 -0
  643. package/dist/src/filters/shaders/invert.d.ts +0 -0
  644. package/dist/src/filters/shaders/invert.d.ts.map +0 -0
  645. package/dist/src/filters/shaders/invert.min.mjs +0 -0
  646. package/dist/src/filters/shaders/invert.min.mjs.map +0 -0
  647. package/dist/src/filters/shaders/invert.mjs +0 -0
  648. package/dist/src/filters/shaders/invert.mjs.map +0 -0
  649. package/dist/src/filters/shaders/noise.d.ts +0 -0
  650. package/dist/src/filters/shaders/noise.d.ts.map +0 -0
  651. package/dist/src/filters/shaders/noise.min.mjs +0 -0
  652. package/dist/src/filters/shaders/noise.min.mjs.map +0 -0
  653. package/dist/src/filters/shaders/noise.mjs +0 -0
  654. package/dist/src/filters/shaders/noise.mjs.map +0 -0
  655. package/dist/src/filters/shaders/pixelate.d.ts +0 -0
  656. package/dist/src/filters/shaders/pixelate.d.ts.map +0 -0
  657. package/dist/src/filters/shaders/pixelate.min.mjs +0 -0
  658. package/dist/src/filters/shaders/pixelate.min.mjs.map +0 -0
  659. package/dist/src/filters/shaders/pixelate.mjs +0 -0
  660. package/dist/src/filters/shaders/pixelate.mjs.map +0 -0
  661. package/dist/src/filters/shaders/removeColor.d.ts +0 -0
  662. package/dist/src/filters/shaders/removeColor.d.ts.map +0 -0
  663. package/dist/src/filters/shaders/removeColor.min.mjs +0 -0
  664. package/dist/src/filters/shaders/removeColor.min.mjs.map +0 -0
  665. package/dist/src/filters/shaders/removeColor.mjs +0 -0
  666. package/dist/src/filters/shaders/removeColor.mjs.map +0 -0
  667. package/dist/src/filters/shaders/saturation.d.ts +0 -0
  668. package/dist/src/filters/shaders/saturation.d.ts.map +0 -0
  669. package/dist/src/filters/shaders/saturation.min.mjs +0 -0
  670. package/dist/src/filters/shaders/saturation.min.mjs.map +0 -0
  671. package/dist/src/filters/shaders/saturation.mjs +0 -0
  672. package/dist/src/filters/shaders/saturation.mjs.map +0 -0
  673. package/dist/src/filters/shaders/vibrance.d.ts +0 -0
  674. package/dist/src/filters/shaders/vibrance.d.ts.map +0 -0
  675. package/dist/src/filters/shaders/vibrance.min.mjs +0 -0
  676. package/dist/src/filters/shaders/vibrance.min.mjs.map +0 -0
  677. package/dist/src/filters/shaders/vibrance.mjs +0 -0
  678. package/dist/src/filters/shaders/vibrance.mjs.map +0 -0
  679. package/dist/src/filters/typedefs.d.ts +0 -0
  680. package/dist/src/filters/typedefs.d.ts.map +0 -0
  681. package/dist/src/filters/utils.d.ts +0 -0
  682. package/dist/src/filters/utils.d.ts.map +0 -0
  683. package/dist/src/filters/utils.min.mjs +0 -0
  684. package/dist/src/filters/utils.min.mjs.map +0 -0
  685. package/dist/src/filters/utils.mjs +0 -0
  686. package/dist/src/filters/utils.mjs.map +0 -0
  687. package/dist/src/gradient/Gradient.d.ts +0 -0
  688. package/dist/src/gradient/Gradient.d.ts.map +0 -0
  689. package/dist/src/gradient/Gradient.min.mjs +0 -0
  690. package/dist/src/gradient/Gradient.min.mjs.map +0 -0
  691. package/dist/src/gradient/Gradient.mjs +0 -0
  692. package/dist/src/gradient/Gradient.mjs.map +0 -0
  693. package/dist/src/gradient/constants.d.ts +0 -0
  694. package/dist/src/gradient/constants.d.ts.map +0 -0
  695. package/dist/src/gradient/constants.min.mjs +0 -0
  696. package/dist/src/gradient/constants.min.mjs.map +0 -0
  697. package/dist/src/gradient/constants.mjs +0 -0
  698. package/dist/src/gradient/constants.mjs.map +0 -0
  699. package/dist/src/gradient/index.d.ts +0 -0
  700. package/dist/src/gradient/index.d.ts.map +0 -0
  701. package/dist/src/gradient/parser/misc.d.ts +0 -0
  702. package/dist/src/gradient/parser/misc.d.ts.map +0 -0
  703. package/dist/src/gradient/parser/misc.min.mjs +0 -0
  704. package/dist/src/gradient/parser/misc.min.mjs.map +0 -0
  705. package/dist/src/gradient/parser/misc.mjs +0 -0
  706. package/dist/src/gradient/parser/misc.mjs.map +0 -0
  707. package/dist/src/gradient/parser/parseColorStops.d.ts +0 -0
  708. package/dist/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  709. package/dist/src/gradient/parser/parseColorStops.min.mjs +0 -0
  710. package/dist/src/gradient/parser/parseColorStops.min.mjs.map +0 -0
  711. package/dist/src/gradient/parser/parseColorStops.mjs +0 -0
  712. package/dist/src/gradient/parser/parseColorStops.mjs.map +0 -0
  713. package/dist/src/gradient/parser/parseCoords.d.ts +0 -0
  714. package/dist/src/gradient/parser/parseCoords.d.ts.map +0 -0
  715. package/dist/src/gradient/parser/parseCoords.min.mjs +0 -0
  716. package/dist/src/gradient/parser/parseCoords.min.mjs.map +0 -0
  717. package/dist/src/gradient/parser/parseCoords.mjs +0 -0
  718. package/dist/src/gradient/parser/parseCoords.mjs.map +0 -0
  719. package/dist/src/gradient/typedefs.d.ts +0 -0
  720. package/dist/src/gradient/typedefs.d.ts.map +0 -0
  721. package/dist/src/mixins/eraser_brush.mixin.d.ts +0 -0
  722. package/dist/src/mixins/eraser_brush.mixin.d.ts.map +0 -0
  723. package/dist/src/parkinglot/canvas_animation.mixin.d.ts +0 -0
  724. package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +0 -0
  725. package/dist/src/parkinglot/straighten.d.ts +0 -0
  726. package/dist/src/parkinglot/straighten.d.ts.map +0 -0
  727. package/dist/src/parser/applyViewboxTransform.d.ts +0 -0
  728. package/dist/src/parser/applyViewboxTransform.d.ts.map +0 -0
  729. package/dist/src/parser/applyViewboxTransform.min.mjs +0 -0
  730. package/dist/src/parser/applyViewboxTransform.min.mjs.map +0 -0
  731. package/dist/src/parser/applyViewboxTransform.mjs +0 -0
  732. package/dist/src/parser/applyViewboxTransform.mjs.map +0 -0
  733. package/dist/src/parser/attributes.d.ts +0 -0
  734. package/dist/src/parser/attributes.d.ts.map +0 -0
  735. package/dist/src/parser/attributes.min.mjs +0 -0
  736. package/dist/src/parser/attributes.min.mjs.map +0 -0
  737. package/dist/src/parser/attributes.mjs +0 -0
  738. package/dist/src/parser/attributes.mjs.map +0 -0
  739. package/dist/src/parser/constants.d.ts +0 -0
  740. package/dist/src/parser/constants.d.ts.map +0 -0
  741. package/dist/src/parser/constants.min.mjs +0 -0
  742. package/dist/src/parser/constants.min.mjs.map +0 -0
  743. package/dist/src/parser/constants.mjs +0 -0
  744. package/dist/src/parser/constants.mjs.map +0 -0
  745. package/dist/src/parser/doesSomeParentMatch.d.ts +0 -0
  746. package/dist/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  747. package/dist/src/parser/doesSomeParentMatch.min.mjs +0 -0
  748. package/dist/src/parser/doesSomeParentMatch.min.mjs.map +0 -0
  749. package/dist/src/parser/doesSomeParentMatch.mjs +0 -0
  750. package/dist/src/parser/doesSomeParentMatch.mjs.map +0 -0
  751. package/dist/src/parser/elementMatchesRule.d.ts +0 -0
  752. package/dist/src/parser/elementMatchesRule.d.ts.map +0 -0
  753. package/dist/src/parser/elementMatchesRule.min.mjs +0 -0
  754. package/dist/src/parser/elementMatchesRule.min.mjs.map +0 -0
  755. package/dist/src/parser/elementMatchesRule.mjs +0 -0
  756. package/dist/src/parser/elementMatchesRule.mjs.map +0 -0
  757. package/dist/src/parser/elements_parser.d.ts +0 -0
  758. package/dist/src/parser/elements_parser.d.ts.map +0 -0
  759. package/dist/src/parser/elements_parser.min.mjs +0 -0
  760. package/dist/src/parser/elements_parser.min.mjs.map +0 -0
  761. package/dist/src/parser/elements_parser.mjs +0 -0
  762. package/dist/src/parser/elements_parser.mjs.map +0 -0
  763. package/dist/src/parser/getCSSRules.d.ts +0 -0
  764. package/dist/src/parser/getCSSRules.d.ts.map +0 -0
  765. package/dist/src/parser/getCSSRules.min.mjs +0 -0
  766. package/dist/src/parser/getCSSRules.min.mjs.map +0 -0
  767. package/dist/src/parser/getCSSRules.mjs +0 -0
  768. package/dist/src/parser/getCSSRules.mjs.map +0 -0
  769. package/dist/src/parser/getGlobalStylesForElement.d.ts +0 -0
  770. package/dist/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  771. package/dist/src/parser/getGlobalStylesForElement.min.mjs +0 -0
  772. package/dist/src/parser/getGlobalStylesForElement.min.mjs.map +0 -0
  773. package/dist/src/parser/getGlobalStylesForElement.mjs +0 -0
  774. package/dist/src/parser/getGlobalStylesForElement.mjs.map +0 -0
  775. package/dist/src/parser/getGradientDefs.d.ts +0 -0
  776. package/dist/src/parser/getGradientDefs.d.ts.map +0 -0
  777. package/dist/src/parser/getGradientDefs.min.mjs +0 -0
  778. package/dist/src/parser/getGradientDefs.min.mjs.map +0 -0
  779. package/dist/src/parser/getGradientDefs.mjs +0 -0
  780. package/dist/src/parser/getGradientDefs.mjs.map +0 -0
  781. package/dist/src/parser/getMultipleNodes.d.ts +0 -0
  782. package/dist/src/parser/getMultipleNodes.d.ts.map +0 -0
  783. package/dist/src/parser/getMultipleNodes.min.mjs +0 -0
  784. package/dist/src/parser/getMultipleNodes.min.mjs.map +0 -0
  785. package/dist/src/parser/getMultipleNodes.mjs +0 -0
  786. package/dist/src/parser/getMultipleNodes.mjs.map +0 -0
  787. package/dist/src/parser/getSvgRegex.d.ts +0 -0
  788. package/dist/src/parser/getSvgRegex.d.ts.map +0 -0
  789. package/dist/src/parser/getSvgRegex.min.mjs +0 -0
  790. package/dist/src/parser/getSvgRegex.min.mjs.map +0 -0
  791. package/dist/src/parser/getSvgRegex.mjs +0 -0
  792. package/dist/src/parser/getSvgRegex.mjs.map +0 -0
  793. package/dist/src/parser/getTagName.d.ts +0 -0
  794. package/dist/src/parser/getTagName.d.ts.map +0 -0
  795. package/dist/src/parser/getTagName.min.mjs +0 -0
  796. package/dist/src/parser/getTagName.min.mjs.map +0 -0
  797. package/dist/src/parser/getTagName.mjs +0 -0
  798. package/dist/src/parser/getTagName.mjs.map +0 -0
  799. package/dist/src/parser/hasInvalidAncestor.d.ts +0 -0
  800. package/dist/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  801. package/dist/src/parser/hasInvalidAncestor.min.mjs +0 -0
  802. package/dist/src/parser/hasInvalidAncestor.min.mjs.map +0 -0
  803. package/dist/src/parser/hasInvalidAncestor.mjs +0 -0
  804. package/dist/src/parser/hasInvalidAncestor.mjs.map +0 -0
  805. package/dist/src/parser/loadSVGFromString.d.ts +0 -0
  806. package/dist/src/parser/loadSVGFromString.d.ts.map +0 -0
  807. package/dist/src/parser/loadSVGFromString.min.mjs +0 -0
  808. package/dist/src/parser/loadSVGFromString.min.mjs.map +0 -0
  809. package/dist/src/parser/loadSVGFromString.mjs +0 -0
  810. package/dist/src/parser/loadSVGFromString.mjs.map +0 -0
  811. package/dist/src/parser/loadSVGFromURL.d.ts +0 -0
  812. package/dist/src/parser/loadSVGFromURL.d.ts.map +0 -0
  813. package/dist/src/parser/loadSVGFromURL.min.mjs +0 -0
  814. package/dist/src/parser/loadSVGFromURL.min.mjs.map +0 -0
  815. package/dist/src/parser/loadSVGFromURL.mjs +0 -0
  816. package/dist/src/parser/loadSVGFromURL.mjs.map +0 -0
  817. package/dist/src/parser/normalizeAttr.d.ts +0 -0
  818. package/dist/src/parser/normalizeAttr.d.ts.map +0 -0
  819. package/dist/src/parser/normalizeAttr.min.mjs +0 -0
  820. package/dist/src/parser/normalizeAttr.min.mjs.map +0 -0
  821. package/dist/src/parser/normalizeAttr.mjs +0 -0
  822. package/dist/src/parser/normalizeAttr.mjs.map +0 -0
  823. package/dist/src/parser/normalizeValue.d.ts +0 -0
  824. package/dist/src/parser/normalizeValue.d.ts.map +0 -0
  825. package/dist/src/parser/normalizeValue.min.mjs +0 -0
  826. package/dist/src/parser/normalizeValue.min.mjs.map +0 -0
  827. package/dist/src/parser/normalizeValue.mjs +0 -0
  828. package/dist/src/parser/normalizeValue.mjs.map +0 -0
  829. package/dist/src/parser/parseAttributes.d.ts +0 -0
  830. package/dist/src/parser/parseAttributes.d.ts.map +0 -0
  831. package/dist/src/parser/parseAttributes.min.mjs +0 -0
  832. package/dist/src/parser/parseAttributes.min.mjs.map +0 -0
  833. package/dist/src/parser/parseAttributes.mjs +0 -0
  834. package/dist/src/parser/parseAttributes.mjs.map +0 -0
  835. package/dist/src/parser/parseFontDeclaration.d.ts +0 -0
  836. package/dist/src/parser/parseFontDeclaration.d.ts.map +0 -0
  837. package/dist/src/parser/parseFontDeclaration.min.mjs +0 -0
  838. package/dist/src/parser/parseFontDeclaration.min.mjs.map +0 -0
  839. package/dist/src/parser/parseFontDeclaration.mjs +0 -0
  840. package/dist/src/parser/parseFontDeclaration.mjs.map +0 -0
  841. package/dist/src/parser/parsePointsAttribute.d.ts +0 -0
  842. package/dist/src/parser/parsePointsAttribute.d.ts.map +0 -0
  843. package/dist/src/parser/parsePointsAttribute.min.mjs +0 -0
  844. package/dist/src/parser/parsePointsAttribute.min.mjs.map +0 -0
  845. package/dist/src/parser/parsePointsAttribute.mjs +0 -0
  846. package/dist/src/parser/parsePointsAttribute.mjs.map +0 -0
  847. package/dist/src/parser/parseSVGDocument.d.ts +0 -0
  848. package/dist/src/parser/parseSVGDocument.d.ts.map +0 -0
  849. package/dist/src/parser/parseSVGDocument.min.mjs +0 -0
  850. package/dist/src/parser/parseSVGDocument.min.mjs.map +0 -0
  851. package/dist/src/parser/parseSVGDocument.mjs +0 -0
  852. package/dist/src/parser/parseSVGDocument.mjs.map +0 -0
  853. package/dist/src/parser/parseStyleAttribute.d.ts +0 -0
  854. package/dist/src/parser/parseStyleAttribute.d.ts.map +0 -0
  855. package/dist/src/parser/parseStyleAttribute.min.mjs +0 -0
  856. package/dist/src/parser/parseStyleAttribute.min.mjs.map +0 -0
  857. package/dist/src/parser/parseStyleAttribute.mjs +0 -0
  858. package/dist/src/parser/parseStyleAttribute.mjs.map +0 -0
  859. package/dist/src/parser/parseStyleObject.d.ts +0 -0
  860. package/dist/src/parser/parseStyleObject.d.ts.map +0 -0
  861. package/dist/src/parser/parseStyleObject.min.mjs +0 -0
  862. package/dist/src/parser/parseStyleObject.min.mjs.map +0 -0
  863. package/dist/src/parser/parseStyleObject.mjs +0 -0
  864. package/dist/src/parser/parseStyleObject.mjs.map +0 -0
  865. package/dist/src/parser/parseStyleString.d.ts +0 -0
  866. package/dist/src/parser/parseStyleString.d.ts.map +0 -0
  867. package/dist/src/parser/parseStyleString.min.mjs +0 -0
  868. package/dist/src/parser/parseStyleString.min.mjs.map +0 -0
  869. package/dist/src/parser/parseStyleString.mjs +0 -0
  870. package/dist/src/parser/parseStyleString.mjs.map +0 -0
  871. package/dist/src/parser/parseTransformAttribute.d.ts +0 -0
  872. package/dist/src/parser/parseTransformAttribute.d.ts.map +0 -0
  873. package/dist/src/parser/parseTransformAttribute.min.mjs +0 -0
  874. package/dist/src/parser/parseTransformAttribute.min.mjs.map +0 -0
  875. package/dist/src/parser/parseTransformAttribute.mjs +0 -0
  876. package/dist/src/parser/parseTransformAttribute.mjs.map +0 -0
  877. package/dist/src/parser/parseUseDirectives.d.ts +0 -0
  878. package/dist/src/parser/parseUseDirectives.d.ts.map +0 -0
  879. package/dist/src/parser/parseUseDirectives.min.mjs +0 -0
  880. package/dist/src/parser/parseUseDirectives.min.mjs.map +0 -0
  881. package/dist/src/parser/parseUseDirectives.mjs +0 -0
  882. package/dist/src/parser/parseUseDirectives.mjs.map +0 -0
  883. package/dist/src/parser/percent.d.ts +0 -0
  884. package/dist/src/parser/percent.d.ts.map +0 -0
  885. package/dist/src/parser/percent.min.mjs +0 -0
  886. package/dist/src/parser/percent.min.mjs.map +0 -0
  887. package/dist/src/parser/percent.mjs +0 -0
  888. package/dist/src/parser/percent.mjs.map +0 -0
  889. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  890. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  891. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs +0 -0
  892. package/dist/src/parser/recursivelyParseGradientsXlink.min.mjs.map +0 -0
  893. package/dist/src/parser/recursivelyParseGradientsXlink.mjs +0 -0
  894. package/dist/src/parser/recursivelyParseGradientsXlink.mjs.map +0 -0
  895. package/dist/src/parser/selectorMatches.d.ts +0 -0
  896. package/dist/src/parser/selectorMatches.d.ts.map +0 -0
  897. package/dist/src/parser/selectorMatches.min.mjs +0 -0
  898. package/dist/src/parser/selectorMatches.min.mjs.map +0 -0
  899. package/dist/src/parser/selectorMatches.mjs +0 -0
  900. package/dist/src/parser/selectorMatches.mjs.map +0 -0
  901. package/dist/src/parser/setStrokeFillOpacity.d.ts +0 -0
  902. package/dist/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  903. package/dist/src/parser/setStrokeFillOpacity.min.mjs +0 -0
  904. package/dist/src/parser/setStrokeFillOpacity.min.mjs.map +0 -0
  905. package/dist/src/parser/setStrokeFillOpacity.mjs +0 -0
  906. package/dist/src/parser/setStrokeFillOpacity.mjs.map +0 -0
  907. package/dist/src/parser/typedefs.d.ts +0 -0
  908. package/dist/src/parser/typedefs.d.ts.map +0 -0
  909. package/dist/src/shapes/ActiveSelection.d.ts +0 -0
  910. package/dist/src/shapes/ActiveSelection.d.ts.map +0 -0
  911. package/dist/src/shapes/ActiveSelection.min.mjs +0 -0
  912. package/dist/src/shapes/ActiveSelection.min.mjs.map +0 -0
  913. package/dist/src/shapes/ActiveSelection.mjs +0 -0
  914. package/dist/src/shapes/ActiveSelection.mjs.map +0 -0
  915. package/dist/src/shapes/Circle.d.ts +0 -0
  916. package/dist/src/shapes/Circle.d.ts.map +0 -0
  917. package/dist/src/shapes/Circle.min.mjs +0 -0
  918. package/dist/src/shapes/Circle.min.mjs.map +0 -0
  919. package/dist/src/shapes/Circle.mjs +0 -0
  920. package/dist/src/shapes/Circle.mjs.map +0 -0
  921. package/dist/src/shapes/Ellipse.d.ts +0 -0
  922. package/dist/src/shapes/Ellipse.d.ts.map +0 -0
  923. package/dist/src/shapes/Ellipse.min.mjs +0 -0
  924. package/dist/src/shapes/Ellipse.min.mjs.map +0 -0
  925. package/dist/src/shapes/Ellipse.mjs +0 -0
  926. package/dist/src/shapes/Ellipse.mjs.map +0 -0
  927. package/dist/src/shapes/Group.d.ts +0 -0
  928. package/dist/src/shapes/Group.d.ts.map +0 -0
  929. package/dist/src/shapes/Group.min.mjs +0 -0
  930. package/dist/src/shapes/Group.min.mjs.map +0 -0
  931. package/dist/src/shapes/Group.mjs +0 -0
  932. package/dist/src/shapes/Group.mjs.map +0 -0
  933. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  934. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  935. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +0 -0
  936. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +0 -0
  937. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +0 -0
  938. package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +0 -0
  939. package/dist/src/shapes/IText/IText.d.ts +0 -0
  940. package/dist/src/shapes/IText/IText.d.ts.map +0 -0
  941. package/dist/src/shapes/IText/IText.min.mjs +0 -0
  942. package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
  943. package/dist/src/shapes/IText/IText.mjs +206 -206
  944. package/dist/src/shapes/IText/IText.mjs.map +1 -1
  945. package/dist/src/shapes/IText/ITextBehavior.d.ts +0 -0
  946. package/dist/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
  947. package/dist/src/shapes/IText/ITextBehavior.min.mjs +0 -0
  948. package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
  949. package/dist/src/shapes/IText/ITextBehavior.mjs +152 -152
  950. package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
  951. package/dist/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  952. package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  953. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +0 -0
  954. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs.map +1 -1
  955. package/dist/src/shapes/IText/ITextClickBehavior.mjs +36 -36
  956. package/dist/src/shapes/IText/ITextClickBehavior.mjs.map +1 -1
  957. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  958. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  959. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +0 -0
  960. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +0 -0
  961. package/dist/src/shapes/IText/ITextKeyBehavior.mjs +0 -0
  962. package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +0 -0
  963. package/dist/src/shapes/IText/constants.d.ts +0 -0
  964. package/dist/src/shapes/IText/constants.d.ts.map +0 -0
  965. package/dist/src/shapes/IText/constants.min.mjs +0 -0
  966. package/dist/src/shapes/IText/constants.min.mjs.map +0 -0
  967. package/dist/src/shapes/IText/constants.mjs +0 -0
  968. package/dist/src/shapes/IText/constants.mjs.map +0 -0
  969. package/dist/src/shapes/Image.d.ts +0 -0
  970. package/dist/src/shapes/Image.d.ts.map +0 -0
  971. package/dist/src/shapes/Image.min.mjs +0 -0
  972. package/dist/src/shapes/Image.min.mjs.map +0 -0
  973. package/dist/src/shapes/Image.mjs +0 -0
  974. package/dist/src/shapes/Image.mjs.map +0 -0
  975. package/dist/src/shapes/Line.d.ts +31 -86
  976. package/dist/src/shapes/Line.d.ts.map +1 -1
  977. package/dist/src/shapes/Line.min.mjs +1 -1
  978. package/dist/src/shapes/Line.min.mjs.map +1 -1
  979. package/dist/src/shapes/Line.mjs +323 -154
  980. package/dist/src/shapes/Line.mjs.map +1 -1
  981. package/dist/src/shapes/Object/FabricObject.d.ts +0 -0
  982. package/dist/src/shapes/Object/FabricObject.d.ts.map +0 -0
  983. package/dist/src/shapes/Object/FabricObject.min.mjs +0 -0
  984. package/dist/src/shapes/Object/FabricObject.min.mjs.map +0 -0
  985. package/dist/src/shapes/Object/FabricObject.mjs +0 -0
  986. package/dist/src/shapes/Object/FabricObject.mjs.map +0 -0
  987. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  988. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  989. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +0 -0
  990. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +0 -0
  991. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +0 -0
  992. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +0 -0
  993. package/dist/src/shapes/Object/InteractiveObject.d.ts +0 -0
  994. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  995. package/dist/src/shapes/Object/InteractiveObject.min.mjs +0 -0
  996. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +0 -0
  997. package/dist/src/shapes/Object/InteractiveObject.mjs +0 -0
  998. package/dist/src/shapes/Object/InteractiveObject.mjs.map +0 -0
  999. package/dist/src/shapes/Object/Object.d.ts +0 -0
  1000. package/dist/src/shapes/Object/Object.d.ts.map +0 -0
  1001. package/dist/src/shapes/Object/Object.min.mjs +0 -0
  1002. package/dist/src/shapes/Object/Object.min.mjs.map +0 -0
  1003. package/dist/src/shapes/Object/Object.mjs +0 -0
  1004. package/dist/src/shapes/Object/Object.mjs.map +0 -0
  1005. package/dist/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1006. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1007. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +0 -0
  1008. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +0 -0
  1009. package/dist/src/shapes/Object/ObjectGeometry.mjs +0 -0
  1010. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +0 -0
  1011. package/dist/src/shapes/Object/defaultValues.d.ts +0 -0
  1012. package/dist/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1013. package/dist/src/shapes/Object/defaultValues.min.mjs +0 -0
  1014. package/dist/src/shapes/Object/defaultValues.min.mjs.map +0 -0
  1015. package/dist/src/shapes/Object/defaultValues.mjs +0 -0
  1016. package/dist/src/shapes/Object/defaultValues.mjs.map +0 -0
  1017. package/dist/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1018. package/dist/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1019. package/dist/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1020. package/dist/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1021. package/dist/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1022. package/dist/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1023. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1024. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1025. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1026. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1027. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1028. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1029. package/dist/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1030. package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1031. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1032. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1033. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1034. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1035. package/dist/src/shapes/Object/types/index.d.ts +0 -0
  1036. package/dist/src/shapes/Object/types/index.d.ts.map +0 -0
  1037. package/dist/src/shapes/Path.d.ts +0 -0
  1038. package/dist/src/shapes/Path.d.ts.map +0 -0
  1039. package/dist/src/shapes/Path.min.mjs +0 -0
  1040. package/dist/src/shapes/Path.min.mjs.map +0 -0
  1041. package/dist/src/shapes/Path.mjs +0 -0
  1042. package/dist/src/shapes/Path.mjs.map +0 -0
  1043. package/dist/src/shapes/Polygon.d.ts +0 -0
  1044. package/dist/src/shapes/Polygon.d.ts.map +0 -0
  1045. package/dist/src/shapes/Polygon.min.mjs +0 -0
  1046. package/dist/src/shapes/Polygon.min.mjs.map +0 -0
  1047. package/dist/src/shapes/Polygon.mjs +0 -0
  1048. package/dist/src/shapes/Polygon.mjs.map +0 -0
  1049. package/dist/src/shapes/Polyline.d.ts +7 -0
  1050. package/dist/src/shapes/Polyline.d.ts.map +1 -1
  1051. package/dist/src/shapes/Polyline.min.mjs +1 -1
  1052. package/dist/src/shapes/Polyline.min.mjs.map +1 -1
  1053. package/dist/src/shapes/Polyline.mjs +48 -16
  1054. package/dist/src/shapes/Polyline.mjs.map +1 -1
  1055. package/dist/src/shapes/Rect.d.ts +0 -0
  1056. package/dist/src/shapes/Rect.d.ts.map +0 -0
  1057. package/dist/src/shapes/Rect.min.mjs +0 -0
  1058. package/dist/src/shapes/Rect.min.mjs.map +0 -0
  1059. package/dist/src/shapes/Rect.mjs +0 -0
  1060. package/dist/src/shapes/Rect.mjs.map +0 -0
  1061. package/dist/src/shapes/Text/StyledText.d.ts +0 -0
  1062. package/dist/src/shapes/Text/StyledText.d.ts.map +0 -0
  1063. package/dist/src/shapes/Text/StyledText.min.mjs +0 -0
  1064. package/dist/src/shapes/Text/StyledText.min.mjs.map +0 -0
  1065. package/dist/src/shapes/Text/StyledText.mjs +0 -0
  1066. package/dist/src/shapes/Text/StyledText.mjs.map +0 -0
  1067. package/dist/src/shapes/Text/Text.d.ts +0 -0
  1068. package/dist/src/shapes/Text/Text.d.ts.map +0 -0
  1069. package/dist/src/shapes/Text/Text.min.mjs +0 -0
  1070. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  1071. package/dist/src/shapes/Text/Text.mjs +283 -283
  1072. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  1073. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1074. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1075. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +0 -0
  1076. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +0 -0
  1077. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +0 -0
  1078. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +0 -0
  1079. package/dist/src/shapes/Text/constants.d.ts +0 -0
  1080. package/dist/src/shapes/Text/constants.d.ts.map +0 -0
  1081. package/dist/src/shapes/Text/constants.min.mjs +0 -0
  1082. package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
  1083. package/dist/src/shapes/Text/constants.mjs +0 -0
  1084. package/dist/src/shapes/Text/constants.mjs.map +1 -1
  1085. package/dist/src/shapes/Textbox.d.ts +0 -0
  1086. package/dist/src/shapes/Textbox.d.ts.map +0 -0
  1087. package/dist/src/shapes/Textbox.min.mjs +0 -0
  1088. package/dist/src/shapes/Textbox.min.mjs.map +1 -1
  1089. package/dist/src/shapes/Textbox.mjs +147 -147
  1090. package/dist/src/shapes/Textbox.mjs.map +1 -1
  1091. package/dist/src/shapes/Triangle.d.ts +27 -2
  1092. package/dist/src/shapes/Triangle.d.ts.map +1 -1
  1093. package/dist/src/shapes/Triangle.min.mjs +1 -1
  1094. package/dist/src/shapes/Triangle.min.mjs.map +1 -1
  1095. package/dist/src/shapes/Triangle.mjs +72 -12
  1096. package/dist/src/shapes/Triangle.mjs.map +1 -1
  1097. package/dist/src/text/browserLines.d.ts +0 -0
  1098. package/dist/src/text/browserLines.d.ts.map +0 -0
  1099. package/dist/src/text/browserLines.min.mjs +0 -0
  1100. package/dist/src/text/browserLines.min.mjs.map +1 -1
  1101. package/dist/src/text/browserLines.mjs +20 -20
  1102. package/dist/src/text/browserLines.mjs.map +1 -1
  1103. package/dist/src/text/ellipsis.d.ts +0 -0
  1104. package/dist/src/text/ellipsis.d.ts.map +0 -0
  1105. package/dist/src/text/ellipsis.min.mjs +0 -0
  1106. package/dist/src/text/ellipsis.min.mjs.map +1 -1
  1107. package/dist/src/text/ellipsis.mjs +11 -11
  1108. package/dist/src/text/ellipsis.mjs.map +1 -1
  1109. package/dist/src/text/hitTest.d.ts +0 -0
  1110. package/dist/src/text/hitTest.d.ts.map +0 -0
  1111. package/dist/src/text/hitTest.min.mjs +0 -0
  1112. package/dist/src/text/hitTest.min.mjs.map +1 -1
  1113. package/dist/src/text/hitTest.mjs +19 -19
  1114. package/dist/src/text/hitTest.mjs.map +1 -1
  1115. package/dist/src/text/layout.d.ts +0 -0
  1116. package/dist/src/text/layout.d.ts.map +0 -0
  1117. package/dist/src/text/layout.min.mjs +0 -0
  1118. package/dist/src/text/layout.min.mjs.map +1 -1
  1119. package/dist/src/text/layout.mjs +33 -33
  1120. package/dist/src/text/layout.mjs.map +1 -1
  1121. package/dist/src/text/measure.d.ts +0 -0
  1122. package/dist/src/text/measure.d.ts.map +0 -0
  1123. package/dist/src/text/measure.min.mjs +0 -0
  1124. package/dist/src/text/measure.min.mjs.map +1 -1
  1125. package/dist/src/text/measure.mjs +20 -20
  1126. package/dist/src/text/measure.mjs.map +1 -1
  1127. package/dist/src/text/overlayEditor.d.ts +0 -0
  1128. package/dist/src/text/overlayEditor.d.ts.map +0 -0
  1129. package/dist/src/text/overlayEditor.min.mjs +0 -0
  1130. package/dist/src/text/overlayEditor.min.mjs.map +1 -1
  1131. package/dist/src/text/overlayEditor.mjs +33 -33
  1132. package/dist/src/text/overlayEditor.mjs.map +1 -1
  1133. package/dist/src/text/unicode.d.ts +0 -0
  1134. package/dist/src/text/unicode.d.ts.map +0 -0
  1135. package/dist/src/text/unicode.min.mjs +0 -0
  1136. package/dist/src/text/unicode.min.mjs.map +1 -1
  1137. package/dist/src/text/unicode.mjs +8 -8
  1138. package/dist/src/text/unicode.mjs.map +1 -1
  1139. package/dist/src/typedefs.d.ts +0 -0
  1140. package/dist/src/typedefs.d.ts.map +0 -0
  1141. package/dist/src/util/animation/AnimationBase.d.ts +0 -0
  1142. package/dist/src/util/animation/AnimationBase.d.ts.map +0 -0
  1143. package/dist/src/util/animation/AnimationBase.min.mjs +0 -0
  1144. package/dist/src/util/animation/AnimationBase.min.mjs.map +0 -0
  1145. package/dist/src/util/animation/AnimationBase.mjs +0 -0
  1146. package/dist/src/util/animation/AnimationBase.mjs.map +0 -0
  1147. package/dist/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1148. package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1149. package/dist/src/util/animation/AnimationFrameProvider.min.mjs +0 -0
  1150. package/dist/src/util/animation/AnimationFrameProvider.min.mjs.map +0 -0
  1151. package/dist/src/util/animation/AnimationFrameProvider.mjs +0 -0
  1152. package/dist/src/util/animation/AnimationFrameProvider.mjs.map +0 -0
  1153. package/dist/src/util/animation/AnimationRegistry.d.ts +0 -0
  1154. package/dist/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  1155. package/dist/src/util/animation/AnimationRegistry.min.mjs +0 -0
  1156. package/dist/src/util/animation/AnimationRegistry.min.mjs.map +0 -0
  1157. package/dist/src/util/animation/AnimationRegistry.mjs +0 -0
  1158. package/dist/src/util/animation/AnimationRegistry.mjs.map +0 -0
  1159. package/dist/src/util/animation/ArrayAnimation.d.ts +0 -0
  1160. package/dist/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  1161. package/dist/src/util/animation/ArrayAnimation.min.mjs +0 -0
  1162. package/dist/src/util/animation/ArrayAnimation.min.mjs.map +0 -0
  1163. package/dist/src/util/animation/ArrayAnimation.mjs +0 -0
  1164. package/dist/src/util/animation/ArrayAnimation.mjs.map +0 -0
  1165. package/dist/src/util/animation/ColorAnimation.d.ts +0 -0
  1166. package/dist/src/util/animation/ColorAnimation.d.ts.map +0 -0
  1167. package/dist/src/util/animation/ColorAnimation.min.mjs +0 -0
  1168. package/dist/src/util/animation/ColorAnimation.min.mjs.map +0 -0
  1169. package/dist/src/util/animation/ColorAnimation.mjs +0 -0
  1170. package/dist/src/util/animation/ColorAnimation.mjs.map +0 -0
  1171. package/dist/src/util/animation/ValueAnimation.d.ts +0 -0
  1172. package/dist/src/util/animation/ValueAnimation.d.ts.map +0 -0
  1173. package/dist/src/util/animation/ValueAnimation.min.mjs +0 -0
  1174. package/dist/src/util/animation/ValueAnimation.min.mjs.map +0 -0
  1175. package/dist/src/util/animation/ValueAnimation.mjs +0 -0
  1176. package/dist/src/util/animation/ValueAnimation.mjs.map +0 -0
  1177. package/dist/src/util/animation/animate.d.ts +0 -0
  1178. package/dist/src/util/animation/animate.d.ts.map +0 -0
  1179. package/dist/src/util/animation/animate.min.mjs +0 -0
  1180. package/dist/src/util/animation/animate.min.mjs.map +0 -0
  1181. package/dist/src/util/animation/animate.mjs +0 -0
  1182. package/dist/src/util/animation/animate.mjs.map +0 -0
  1183. package/dist/src/util/animation/easing.d.ts +0 -0
  1184. package/dist/src/util/animation/easing.d.ts.map +0 -0
  1185. package/dist/src/util/animation/easing.min.mjs +0 -0
  1186. package/dist/src/util/animation/easing.min.mjs.map +0 -0
  1187. package/dist/src/util/animation/easing.mjs +0 -0
  1188. package/dist/src/util/animation/easing.mjs.map +0 -0
  1189. package/dist/src/util/animation/index.d.ts +0 -0
  1190. package/dist/src/util/animation/index.d.ts.map +0 -0
  1191. package/dist/src/util/animation/types.d.ts +0 -0
  1192. package/dist/src/util/animation/types.d.ts.map +0 -0
  1193. package/dist/src/util/applyMixins.d.ts +0 -0
  1194. package/dist/src/util/applyMixins.d.ts.map +0 -0
  1195. package/dist/src/util/applyMixins.min.mjs +0 -0
  1196. package/dist/src/util/applyMixins.min.mjs.map +0 -0
  1197. package/dist/src/util/applyMixins.mjs +0 -0
  1198. package/dist/src/util/applyMixins.mjs.map +0 -0
  1199. package/dist/src/util/dom_event.d.ts +0 -0
  1200. package/dist/src/util/dom_event.d.ts.map +0 -0
  1201. package/dist/src/util/dom_event.min.mjs +0 -0
  1202. package/dist/src/util/dom_event.min.mjs.map +0 -0
  1203. package/dist/src/util/dom_event.mjs +0 -0
  1204. package/dist/src/util/dom_event.mjs.map +0 -0
  1205. package/dist/src/util/dom_misc.d.ts +0 -0
  1206. package/dist/src/util/dom_misc.d.ts.map +0 -0
  1207. package/dist/src/util/dom_misc.min.mjs +0 -0
  1208. package/dist/src/util/dom_misc.min.mjs.map +0 -0
  1209. package/dist/src/util/dom_misc.mjs +0 -0
  1210. package/dist/src/util/dom_misc.mjs.map +0 -0
  1211. package/dist/src/util/index.d.ts +0 -0
  1212. package/dist/src/util/index.d.ts.map +0 -0
  1213. package/dist/src/util/index.min.mjs +0 -0
  1214. package/dist/src/util/index.min.mjs.map +0 -0
  1215. package/dist/src/util/index.mjs +0 -0
  1216. package/dist/src/util/index.mjs.map +0 -0
  1217. package/dist/src/util/internals/applyCanvasTransform.d.ts +0 -0
  1218. package/dist/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  1219. package/dist/src/util/internals/applyCanvasTransform.min.mjs +0 -0
  1220. package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +0 -0
  1221. package/dist/src/util/internals/applyCanvasTransform.mjs +0 -0
  1222. package/dist/src/util/internals/applyCanvasTransform.mjs.map +0 -0
  1223. package/dist/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  1224. package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  1225. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs +0 -0
  1226. package/dist/src/util/internals/cleanupSvgAttribute.min.mjs.map +0 -0
  1227. package/dist/src/util/internals/cleanupSvgAttribute.mjs +0 -0
  1228. package/dist/src/util/internals/cleanupSvgAttribute.mjs.map +0 -0
  1229. package/dist/src/util/internals/cloneStyles.d.ts +0 -0
  1230. package/dist/src/util/internals/cloneStyles.d.ts.map +0 -0
  1231. package/dist/src/util/internals/cloneStyles.min.mjs +0 -0
  1232. package/dist/src/util/internals/cloneStyles.min.mjs.map +0 -0
  1233. package/dist/src/util/internals/cloneStyles.mjs +0 -0
  1234. package/dist/src/util/internals/cloneStyles.mjs.map +0 -0
  1235. package/dist/src/util/internals/console.d.ts +0 -0
  1236. package/dist/src/util/internals/console.d.ts.map +0 -0
  1237. package/dist/src/util/internals/console.min.mjs +0 -0
  1238. package/dist/src/util/internals/console.min.mjs.map +0 -0
  1239. package/dist/src/util/internals/console.mjs +0 -0
  1240. package/dist/src/util/internals/console.mjs.map +0 -0
  1241. package/dist/src/util/internals/dom_style.d.ts +0 -0
  1242. package/dist/src/util/internals/dom_style.d.ts.map +0 -0
  1243. package/dist/src/util/internals/dom_style.min.mjs +0 -0
  1244. package/dist/src/util/internals/dom_style.min.mjs.map +0 -0
  1245. package/dist/src/util/internals/dom_style.mjs +0 -0
  1246. package/dist/src/util/internals/dom_style.mjs.map +0 -0
  1247. package/dist/src/util/internals/findRight.d.ts +0 -0
  1248. package/dist/src/util/internals/findRight.d.ts.map +0 -0
  1249. package/dist/src/util/internals/findRight.min.mjs +0 -0
  1250. package/dist/src/util/internals/findRight.min.mjs.map +0 -0
  1251. package/dist/src/util/internals/findRight.mjs +0 -0
  1252. package/dist/src/util/internals/findRight.mjs.map +0 -0
  1253. package/dist/src/util/internals/getRandomInt.d.ts +0 -0
  1254. package/dist/src/util/internals/getRandomInt.d.ts.map +0 -0
  1255. package/dist/src/util/internals/getRandomInt.min.mjs +0 -0
  1256. package/dist/src/util/internals/getRandomInt.min.mjs.map +0 -0
  1257. package/dist/src/util/internals/getRandomInt.mjs +0 -0
  1258. package/dist/src/util/internals/getRandomInt.mjs.map +0 -0
  1259. package/dist/src/util/internals/ifNaN.d.ts +0 -0
  1260. package/dist/src/util/internals/ifNaN.d.ts.map +0 -0
  1261. package/dist/src/util/internals/ifNaN.min.mjs +0 -0
  1262. package/dist/src/util/internals/ifNaN.min.mjs.map +0 -0
  1263. package/dist/src/util/internals/ifNaN.mjs +0 -0
  1264. package/dist/src/util/internals/ifNaN.mjs.map +0 -0
  1265. package/dist/src/util/internals/removeFromArray.d.ts +0 -0
  1266. package/dist/src/util/internals/removeFromArray.d.ts.map +0 -0
  1267. package/dist/src/util/internals/removeFromArray.min.mjs +0 -0
  1268. package/dist/src/util/internals/removeFromArray.min.mjs.map +0 -0
  1269. package/dist/src/util/internals/removeFromArray.mjs +0 -0
  1270. package/dist/src/util/internals/removeFromArray.mjs.map +0 -0
  1271. package/dist/src/util/internals/uid.d.ts +0 -0
  1272. package/dist/src/util/internals/uid.d.ts.map +0 -0
  1273. package/dist/src/util/internals/uid.min.mjs +0 -0
  1274. package/dist/src/util/internals/uid.min.mjs.map +0 -0
  1275. package/dist/src/util/internals/uid.mjs +0 -0
  1276. package/dist/src/util/internals/uid.mjs.map +0 -0
  1277. package/dist/src/util/lang_string.d.ts +0 -0
  1278. package/dist/src/util/lang_string.d.ts.map +0 -0
  1279. package/dist/src/util/lang_string.min.mjs +0 -0
  1280. package/dist/src/util/lang_string.min.mjs.map +0 -0
  1281. package/dist/src/util/lang_string.mjs +0 -0
  1282. package/dist/src/util/lang_string.mjs.map +0 -0
  1283. package/dist/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  1284. package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  1285. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs +0 -0
  1286. package/dist/src/util/misc/boundingBoxFromPoints.min.mjs.map +0 -0
  1287. package/dist/src/util/misc/boundingBoxFromPoints.mjs +0 -0
  1288. package/dist/src/util/misc/boundingBoxFromPoints.mjs.map +0 -0
  1289. package/dist/src/util/misc/capValue.d.ts +0 -0
  1290. package/dist/src/util/misc/capValue.d.ts.map +0 -0
  1291. package/dist/src/util/misc/capValue.min.mjs +0 -0
  1292. package/dist/src/util/misc/capValue.min.mjs.map +0 -0
  1293. package/dist/src/util/misc/capValue.mjs +0 -0
  1294. package/dist/src/util/misc/capValue.mjs.map +0 -0
  1295. package/dist/src/util/misc/cornerRadius.d.ts +70 -0
  1296. package/dist/src/util/misc/cornerRadius.d.ts.map +1 -0
  1297. package/dist/src/util/misc/cornerRadius.min.mjs +2 -0
  1298. package/dist/src/util/misc/cornerRadius.min.mjs.map +1 -0
  1299. package/dist/src/util/misc/cornerRadius.mjs +181 -0
  1300. package/dist/src/util/misc/cornerRadius.mjs.map +1 -0
  1301. package/dist/src/util/misc/cos.d.ts +0 -0
  1302. package/dist/src/util/misc/cos.d.ts.map +0 -0
  1303. package/dist/src/util/misc/cos.min.mjs +0 -0
  1304. package/dist/src/util/misc/cos.min.mjs.map +0 -0
  1305. package/dist/src/util/misc/cos.mjs +0 -0
  1306. package/dist/src/util/misc/cos.mjs.map +0 -0
  1307. package/dist/src/util/misc/dom.d.ts +0 -0
  1308. package/dist/src/util/misc/dom.d.ts.map +0 -0
  1309. package/dist/src/util/misc/dom.min.mjs +0 -0
  1310. package/dist/src/util/misc/dom.min.mjs.map +0 -0
  1311. package/dist/src/util/misc/dom.mjs +0 -0
  1312. package/dist/src/util/misc/dom.mjs.map +0 -0
  1313. package/dist/src/util/misc/findScaleTo.d.ts +0 -0
  1314. package/dist/src/util/misc/findScaleTo.d.ts.map +0 -0
  1315. package/dist/src/util/misc/findScaleTo.min.mjs +0 -0
  1316. package/dist/src/util/misc/findScaleTo.min.mjs.map +0 -0
  1317. package/dist/src/util/misc/findScaleTo.mjs +0 -0
  1318. package/dist/src/util/misc/findScaleTo.mjs.map +0 -0
  1319. package/dist/src/util/misc/groupSVGElements.d.ts +0 -0
  1320. package/dist/src/util/misc/groupSVGElements.d.ts.map +0 -0
  1321. package/dist/src/util/misc/groupSVGElements.min.mjs +0 -0
  1322. package/dist/src/util/misc/groupSVGElements.min.mjs.map +0 -0
  1323. package/dist/src/util/misc/groupSVGElements.mjs +0 -0
  1324. package/dist/src/util/misc/groupSVGElements.mjs.map +0 -0
  1325. package/dist/src/util/misc/isTransparent.d.ts +0 -0
  1326. package/dist/src/util/misc/isTransparent.d.ts.map +0 -0
  1327. package/dist/src/util/misc/isTransparent.min.mjs +0 -0
  1328. package/dist/src/util/misc/isTransparent.min.mjs.map +0 -0
  1329. package/dist/src/util/misc/isTransparent.mjs +0 -0
  1330. package/dist/src/util/misc/isTransparent.mjs.map +0 -0
  1331. package/dist/src/util/misc/matrix.d.ts +0 -0
  1332. package/dist/src/util/misc/matrix.d.ts.map +0 -0
  1333. package/dist/src/util/misc/matrix.min.mjs +0 -0
  1334. package/dist/src/util/misc/matrix.min.mjs.map +0 -0
  1335. package/dist/src/util/misc/matrix.mjs +0 -0
  1336. package/dist/src/util/misc/matrix.mjs.map +0 -0
  1337. package/dist/src/util/misc/mergeClipPaths.d.ts +0 -0
  1338. package/dist/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  1339. package/dist/src/util/misc/mergeClipPaths.min.mjs +0 -0
  1340. package/dist/src/util/misc/mergeClipPaths.min.mjs.map +0 -0
  1341. package/dist/src/util/misc/mergeClipPaths.mjs +0 -0
  1342. package/dist/src/util/misc/mergeClipPaths.mjs.map +0 -0
  1343. package/dist/src/util/misc/objectEnlive.d.ts +0 -0
  1344. package/dist/src/util/misc/objectEnlive.d.ts.map +0 -0
  1345. package/dist/src/util/misc/objectEnlive.min.mjs +0 -0
  1346. package/dist/src/util/misc/objectEnlive.min.mjs.map +0 -0
  1347. package/dist/src/util/misc/objectEnlive.mjs +0 -0
  1348. package/dist/src/util/misc/objectEnlive.mjs.map +0 -0
  1349. package/dist/src/util/misc/objectTransforms.d.ts +0 -0
  1350. package/dist/src/util/misc/objectTransforms.d.ts.map +0 -0
  1351. package/dist/src/util/misc/objectTransforms.min.mjs +0 -0
  1352. package/dist/src/util/misc/objectTransforms.min.mjs.map +0 -0
  1353. package/dist/src/util/misc/objectTransforms.mjs +0 -0
  1354. package/dist/src/util/misc/objectTransforms.mjs.map +0 -0
  1355. package/dist/src/util/misc/pick.d.ts +0 -0
  1356. package/dist/src/util/misc/pick.d.ts.map +0 -0
  1357. package/dist/src/util/misc/pick.min.mjs +0 -0
  1358. package/dist/src/util/misc/pick.min.mjs.map +0 -0
  1359. package/dist/src/util/misc/pick.mjs +0 -0
  1360. package/dist/src/util/misc/pick.mjs.map +0 -0
  1361. package/dist/src/util/misc/planeChange.d.ts +0 -0
  1362. package/dist/src/util/misc/planeChange.d.ts.map +0 -0
  1363. package/dist/src/util/misc/planeChange.min.mjs +0 -0
  1364. package/dist/src/util/misc/planeChange.min.mjs.map +0 -0
  1365. package/dist/src/util/misc/planeChange.mjs +0 -0
  1366. package/dist/src/util/misc/planeChange.mjs.map +0 -0
  1367. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  1368. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  1369. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs +0 -0
  1370. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.min.mjs.map +0 -0
  1371. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs +0 -0
  1372. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.mjs.map +0 -0
  1373. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  1374. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  1375. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +0 -0
  1376. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +0 -0
  1377. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +0 -0
  1378. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs.map +0 -0
  1379. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  1380. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  1381. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs +0 -0
  1382. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.min.mjs.map +0 -0
  1383. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs +0 -0
  1384. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.mjs.map +0 -0
  1385. package/dist/src/util/misc/projectStroke/index.d.ts +0 -0
  1386. package/dist/src/util/misc/projectStroke/index.d.ts.map +0 -0
  1387. package/dist/src/util/misc/projectStroke/index.min.mjs +0 -0
  1388. package/dist/src/util/misc/projectStroke/index.min.mjs.map +0 -0
  1389. package/dist/src/util/misc/projectStroke/index.mjs +0 -0
  1390. package/dist/src/util/misc/projectStroke/index.mjs.map +0 -0
  1391. package/dist/src/util/misc/projectStroke/types.d.ts +0 -0
  1392. package/dist/src/util/misc/projectStroke/types.d.ts.map +0 -0
  1393. package/dist/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  1394. package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  1395. package/dist/src/util/misc/radiansDegreesConversion.min.mjs +0 -0
  1396. package/dist/src/util/misc/radiansDegreesConversion.min.mjs.map +0 -0
  1397. package/dist/src/util/misc/radiansDegreesConversion.mjs +0 -0
  1398. package/dist/src/util/misc/radiansDegreesConversion.mjs.map +0 -0
  1399. package/dist/src/util/misc/resolveOrigin.d.ts +0 -0
  1400. package/dist/src/util/misc/resolveOrigin.d.ts.map +0 -0
  1401. package/dist/src/util/misc/resolveOrigin.min.mjs +0 -0
  1402. package/dist/src/util/misc/resolveOrigin.min.mjs.map +0 -0
  1403. package/dist/src/util/misc/resolveOrigin.mjs +0 -0
  1404. package/dist/src/util/misc/resolveOrigin.mjs.map +0 -0
  1405. package/dist/src/util/misc/sin.d.ts +0 -0
  1406. package/dist/src/util/misc/sin.d.ts.map +0 -0
  1407. package/dist/src/util/misc/sin.min.mjs +0 -0
  1408. package/dist/src/util/misc/sin.min.mjs.map +0 -0
  1409. package/dist/src/util/misc/sin.mjs +0 -0
  1410. package/dist/src/util/misc/sin.mjs.map +0 -0
  1411. package/dist/src/util/misc/svgExport.d.ts +0 -0
  1412. package/dist/src/util/misc/svgExport.d.ts.map +0 -0
  1413. package/dist/src/util/misc/svgExport.min.mjs +0 -0
  1414. package/dist/src/util/misc/svgExport.min.mjs.map +0 -0
  1415. package/dist/src/util/misc/svgExport.mjs +0 -0
  1416. package/dist/src/util/misc/svgExport.mjs.map +0 -0
  1417. package/dist/src/util/misc/svgParsing.d.ts +0 -0
  1418. package/dist/src/util/misc/svgParsing.d.ts.map +0 -0
  1419. package/dist/src/util/misc/svgParsing.min.mjs +0 -0
  1420. package/dist/src/util/misc/svgParsing.min.mjs.map +0 -0
  1421. package/dist/src/util/misc/svgParsing.mjs +0 -0
  1422. package/dist/src/util/misc/svgParsing.mjs.map +0 -0
  1423. package/dist/src/util/misc/textStyles.d.ts +0 -0
  1424. package/dist/src/util/misc/textStyles.d.ts.map +0 -0
  1425. package/dist/src/util/misc/textStyles.min.mjs +0 -0
  1426. package/dist/src/util/misc/textStyles.min.mjs.map +0 -0
  1427. package/dist/src/util/misc/textStyles.mjs +0 -0
  1428. package/dist/src/util/misc/textStyles.mjs.map +0 -0
  1429. package/dist/src/util/misc/toFixed.d.ts +0 -0
  1430. package/dist/src/util/misc/toFixed.d.ts.map +0 -0
  1431. package/dist/src/util/misc/toFixed.min.mjs +0 -0
  1432. package/dist/src/util/misc/toFixed.min.mjs.map +0 -0
  1433. package/dist/src/util/misc/toFixed.mjs +0 -0
  1434. package/dist/src/util/misc/toFixed.mjs.map +0 -0
  1435. package/dist/src/util/misc/vectors.d.ts +0 -0
  1436. package/dist/src/util/misc/vectors.d.ts.map +0 -0
  1437. package/dist/src/util/misc/vectors.min.mjs +0 -0
  1438. package/dist/src/util/misc/vectors.min.mjs.map +0 -0
  1439. package/dist/src/util/misc/vectors.mjs +0 -0
  1440. package/dist/src/util/misc/vectors.mjs.map +0 -0
  1441. package/dist/src/util/path/index.d.ts +0 -0
  1442. package/dist/src/util/path/index.d.ts.map +0 -0
  1443. package/dist/src/util/path/index.min.mjs +0 -0
  1444. package/dist/src/util/path/index.min.mjs.map +0 -0
  1445. package/dist/src/util/path/index.mjs +0 -0
  1446. package/dist/src/util/path/index.mjs.map +0 -0
  1447. package/dist/src/util/path/regex.d.ts +0 -0
  1448. package/dist/src/util/path/regex.d.ts.map +0 -0
  1449. package/dist/src/util/path/regex.min.mjs +0 -0
  1450. package/dist/src/util/path/regex.min.mjs.map +0 -0
  1451. package/dist/src/util/path/regex.mjs +0 -0
  1452. package/dist/src/util/path/regex.mjs.map +0 -0
  1453. package/dist/src/util/path/typechecks.d.ts +0 -0
  1454. package/dist/src/util/path/typechecks.d.ts.map +0 -0
  1455. package/dist/src/util/path/typedefs.d.ts +0 -0
  1456. package/dist/src/util/path/typedefs.d.ts.map +0 -0
  1457. package/dist/src/util/transform_matrix_removal.d.ts +0 -0
  1458. package/dist/src/util/transform_matrix_removal.d.ts.map +0 -0
  1459. package/dist/src/util/transform_matrix_removal.min.mjs +0 -0
  1460. package/dist/src/util/transform_matrix_removal.min.mjs.map +0 -0
  1461. package/dist/src/util/transform_matrix_removal.mjs +0 -0
  1462. package/dist/src/util/transform_matrix_removal.mjs.map +0 -0
  1463. package/dist/src/util/typeAssertions.d.ts +0 -0
  1464. package/dist/src/util/typeAssertions.d.ts.map +0 -0
  1465. package/dist/src/util/typeAssertions.min.mjs +0 -0
  1466. package/dist/src/util/typeAssertions.min.mjs.map +0 -0
  1467. package/dist/src/util/typeAssertions.mjs +0 -0
  1468. package/dist/src/util/typeAssertions.mjs.map +0 -0
  1469. package/dist-extensions/aligning_guidelines/constant.mjs +0 -0
  1470. package/dist-extensions/aligning_guidelines/constant.mjs.map +0 -0
  1471. package/dist-extensions/aligning_guidelines/index.mjs +0 -0
  1472. package/dist-extensions/aligning_guidelines/index.mjs.map +0 -0
  1473. package/dist-extensions/aligning_guidelines/util/basic.mjs +0 -0
  1474. package/dist-extensions/aligning_guidelines/util/basic.mjs.map +0 -0
  1475. package/dist-extensions/aligning_guidelines/util/collect-line.mjs +0 -0
  1476. package/dist-extensions/aligning_guidelines/util/collect-line.mjs.map +0 -0
  1477. package/dist-extensions/aligning_guidelines/util/collect-point.mjs +0 -0
  1478. package/dist-extensions/aligning_guidelines/util/collect-point.mjs.map +0 -0
  1479. package/dist-extensions/aligning_guidelines/util/draw.mjs +0 -0
  1480. package/dist-extensions/aligning_guidelines/util/draw.mjs.map +0 -0
  1481. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs +0 -0
  1482. package/dist-extensions/aligning_guidelines/util/get-objects-by-target.mjs.map +0 -0
  1483. package/dist-extensions/data_updaters/gradient/index.mjs +0 -0
  1484. package/dist-extensions/data_updaters/gradient/index.mjs.map +0 -0
  1485. package/dist-extensions/data_updaters/origins/index.mjs +0 -0
  1486. package/dist-extensions/data_updaters/origins/index.mjs.map +0 -0
  1487. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts +0 -0
  1488. package/dist-extensions/extensions/aligning_guidelines/constant.d.ts.map +0 -0
  1489. package/dist-extensions/extensions/aligning_guidelines/index.d.ts +0 -0
  1490. package/dist-extensions/extensions/aligning_guidelines/index.d.ts.map +0 -0
  1491. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts +0 -0
  1492. package/dist-extensions/extensions/aligning_guidelines/typedefs.d.ts.map +0 -0
  1493. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts +0 -0
  1494. package/dist-extensions/extensions/aligning_guidelines/util/basic.d.ts.map +0 -0
  1495. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts +0 -0
  1496. package/dist-extensions/extensions/aligning_guidelines/util/collect-line.d.ts.map +0 -0
  1497. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts +0 -0
  1498. package/dist-extensions/extensions/aligning_guidelines/util/collect-point.d.ts.map +0 -0
  1499. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts +0 -0
  1500. package/dist-extensions/extensions/aligning_guidelines/util/draw.d.ts.map +0 -0
  1501. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts +0 -0
  1502. package/dist-extensions/extensions/aligning_guidelines/util/get-objects-by-target.d.ts.map +0 -0
  1503. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts +0 -0
  1504. package/dist-extensions/extensions/data_updaters/gradient/index.d.ts.map +0 -0
  1505. package/dist-extensions/extensions/data_updaters/origins/index.d.ts +0 -0
  1506. package/dist-extensions/extensions/data_updaters/origins/index.d.ts.map +0 -0
  1507. package/dist-extensions/extensions/index.d.ts +0 -0
  1508. package/dist-extensions/extensions/index.d.ts.map +0 -0
  1509. package/dist-extensions/fabric-extensions.min.js +0 -0
  1510. package/dist-extensions/fabric-extensions.min.js.map +0 -0
  1511. package/dist-extensions/fabric.d.ts +0 -0
  1512. package/dist-extensions/fabric.d.ts.map +0 -0
  1513. package/dist-extensions/index.d.ts +0 -0
  1514. package/dist-extensions/index.d.ts.map +0 -0
  1515. package/dist-extensions/index.mjs +0 -0
  1516. package/dist-extensions/index.mjs.map +0 -0
  1517. package/dist-extensions/src/ClassRegistry.d.ts +0 -0
  1518. package/dist-extensions/src/ClassRegistry.d.ts.map +0 -0
  1519. package/dist-extensions/src/Collection.d.ts +0 -0
  1520. package/dist-extensions/src/Collection.d.ts.map +0 -0
  1521. package/dist-extensions/src/CommonMethods.d.ts +0 -0
  1522. package/dist-extensions/src/CommonMethods.d.ts.map +0 -0
  1523. package/dist-extensions/src/EventTypeDefs.d.ts +0 -0
  1524. package/dist-extensions/src/EventTypeDefs.d.ts.map +0 -0
  1525. package/dist-extensions/src/Intersection.d.ts +0 -0
  1526. package/dist-extensions/src/Intersection.d.ts.map +0 -0
  1527. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts +0 -0
  1528. package/dist-extensions/src/LayoutManager/ActiveSelectionLayoutManager.d.ts.map +0 -0
  1529. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts +0 -0
  1530. package/dist-extensions/src/LayoutManager/LayoutManager.d.ts.map +0 -0
  1531. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts +0 -0
  1532. package/dist-extensions/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +0 -0
  1533. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts +0 -0
  1534. package/dist-extensions/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +0 -0
  1535. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts +0 -0
  1536. package/dist-extensions/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +0 -0
  1537. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -0
  1538. package/dist-extensions/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +0 -0
  1539. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts +0 -0
  1540. package/dist-extensions/src/LayoutManager/LayoutStrategies/utils.d.ts.map +0 -0
  1541. package/dist-extensions/src/LayoutManager/constants.d.ts +0 -0
  1542. package/dist-extensions/src/LayoutManager/constants.d.ts.map +0 -0
  1543. package/dist-extensions/src/LayoutManager/index.d.ts +0 -0
  1544. package/dist-extensions/src/LayoutManager/index.d.ts.map +0 -0
  1545. package/dist-extensions/src/LayoutManager/types.d.ts +0 -0
  1546. package/dist-extensions/src/LayoutManager/types.d.ts.map +0 -0
  1547. package/dist-extensions/src/Observable.d.ts +0 -0
  1548. package/dist-extensions/src/Observable.d.ts.map +0 -0
  1549. package/dist-extensions/src/Pattern/Pattern.d.ts +0 -0
  1550. package/dist-extensions/src/Pattern/Pattern.d.ts.map +0 -0
  1551. package/dist-extensions/src/Pattern/index.d.ts +0 -0
  1552. package/dist-extensions/src/Pattern/index.d.ts.map +0 -0
  1553. package/dist-extensions/src/Pattern/types.d.ts +0 -0
  1554. package/dist-extensions/src/Pattern/types.d.ts.map +0 -0
  1555. package/dist-extensions/src/Point.d.ts +0 -0
  1556. package/dist-extensions/src/Point.d.ts.map +0 -0
  1557. package/dist-extensions/src/Shadow.d.ts +0 -0
  1558. package/dist-extensions/src/Shadow.d.ts.map +0 -0
  1559. package/dist-extensions/src/brushes/BaseBrush.d.ts +0 -0
  1560. package/dist-extensions/src/brushes/BaseBrush.d.ts.map +0 -0
  1561. package/dist-extensions/src/brushes/CircleBrush.d.ts +0 -0
  1562. package/dist-extensions/src/brushes/CircleBrush.d.ts.map +0 -0
  1563. package/dist-extensions/src/brushes/PatternBrush.d.ts +0 -0
  1564. package/dist-extensions/src/brushes/PatternBrush.d.ts.map +0 -0
  1565. package/dist-extensions/src/brushes/PencilBrush.d.ts +0 -0
  1566. package/dist-extensions/src/brushes/PencilBrush.d.ts.map +0 -0
  1567. package/dist-extensions/src/brushes/SprayBrush.d.ts +0 -0
  1568. package/dist-extensions/src/brushes/SprayBrush.d.ts.map +0 -0
  1569. package/dist-extensions/src/brushes/typedefs.d.ts +0 -0
  1570. package/dist-extensions/src/brushes/typedefs.d.ts.map +0 -0
  1571. package/dist-extensions/src/cache.d.ts +0 -0
  1572. package/dist-extensions/src/cache.d.ts.map +0 -0
  1573. package/dist-extensions/src/canvas/Canvas.d.ts +0 -0
  1574. package/dist-extensions/src/canvas/Canvas.d.ts.map +0 -0
  1575. package/dist-extensions/src/canvas/CanvasOptions.d.ts +0 -0
  1576. package/dist-extensions/src/canvas/CanvasOptions.d.ts.map +0 -0
  1577. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts +0 -0
  1578. package/dist-extensions/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +0 -0
  1579. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts +0 -0
  1580. package/dist-extensions/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +0 -0
  1581. package/dist-extensions/src/canvas/DOMManagers/util.d.ts +0 -0
  1582. package/dist-extensions/src/canvas/DOMManagers/util.d.ts.map +0 -0
  1583. package/dist-extensions/src/canvas/SelectableCanvas.d.ts +0 -0
  1584. package/dist-extensions/src/canvas/SelectableCanvas.d.ts.map +0 -0
  1585. package/dist-extensions/src/canvas/StaticCanvas.d.ts +0 -0
  1586. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +0 -0
  1587. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts +0 -0
  1588. package/dist-extensions/src/canvas/StaticCanvasOptions.d.ts.map +0 -0
  1589. package/dist-extensions/src/canvas/TextEditingManager.d.ts +0 -0
  1590. package/dist-extensions/src/canvas/TextEditingManager.d.ts.map +0 -0
  1591. package/dist-extensions/src/color/Color.d.ts +0 -0
  1592. package/dist-extensions/src/color/Color.d.ts.map +0 -0
  1593. package/dist-extensions/src/color/color_map.d.ts +0 -0
  1594. package/dist-extensions/src/color/color_map.d.ts.map +0 -0
  1595. package/dist-extensions/src/color/constants.d.ts +0 -0
  1596. package/dist-extensions/src/color/constants.d.ts.map +0 -0
  1597. package/dist-extensions/src/color/typedefs.d.ts +0 -0
  1598. package/dist-extensions/src/color/typedefs.d.ts.map +0 -0
  1599. package/dist-extensions/src/color/util.d.ts +0 -0
  1600. package/dist-extensions/src/color/util.d.ts.map +0 -0
  1601. package/dist-extensions/src/config.d.ts +0 -0
  1602. package/dist-extensions/src/config.d.ts.map +0 -0
  1603. package/dist-extensions/src/constants.d.ts +0 -0
  1604. package/dist-extensions/src/constants.d.ts.map +0 -0
  1605. package/dist-extensions/src/controls/Control.d.ts +0 -0
  1606. package/dist-extensions/src/controls/Control.d.ts.map +0 -0
  1607. package/dist-extensions/src/controls/changeHeight.d.ts +0 -0
  1608. package/dist-extensions/src/controls/changeHeight.d.ts.map +0 -0
  1609. package/dist-extensions/src/controls/changeWidth.d.ts +0 -0
  1610. package/dist-extensions/src/controls/changeWidth.d.ts.map +0 -0
  1611. package/dist-extensions/src/controls/commonControls.d.ts +0 -0
  1612. package/dist-extensions/src/controls/commonControls.d.ts.map +0 -0
  1613. package/dist-extensions/src/controls/controlRendering.d.ts +0 -0
  1614. package/dist-extensions/src/controls/controlRendering.d.ts.map +0 -0
  1615. package/dist-extensions/src/controls/drag.d.ts +0 -0
  1616. package/dist-extensions/src/controls/drag.d.ts.map +0 -0
  1617. package/dist-extensions/src/controls/fireEvent.d.ts +0 -0
  1618. package/dist-extensions/src/controls/fireEvent.d.ts.map +0 -0
  1619. package/dist-extensions/src/controls/index.d.ts +0 -0
  1620. package/dist-extensions/src/controls/index.d.ts.map +0 -0
  1621. package/dist-extensions/src/controls/pathControl.d.ts +0 -0
  1622. package/dist-extensions/src/controls/pathControl.d.ts.map +0 -0
  1623. package/dist-extensions/src/controls/polyControl.d.ts +0 -0
  1624. package/dist-extensions/src/controls/polyControl.d.ts.map +0 -0
  1625. package/dist-extensions/src/controls/rotate.d.ts +0 -0
  1626. package/dist-extensions/src/controls/rotate.d.ts.map +0 -0
  1627. package/dist-extensions/src/controls/scale.d.ts +0 -0
  1628. package/dist-extensions/src/controls/scale.d.ts.map +0 -0
  1629. package/dist-extensions/src/controls/scaleSkew.d.ts +0 -0
  1630. package/dist-extensions/src/controls/scaleSkew.d.ts.map +0 -0
  1631. package/dist-extensions/src/controls/skew.d.ts +0 -0
  1632. package/dist-extensions/src/controls/skew.d.ts.map +0 -0
  1633. package/dist-extensions/src/controls/util.d.ts +0 -0
  1634. package/dist-extensions/src/controls/util.d.ts.map +0 -0
  1635. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts +0 -0
  1636. package/dist-extensions/src/controls/wrapWithFireEvent.d.ts.map +0 -0
  1637. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts +0 -0
  1638. package/dist-extensions/src/controls/wrapWithFixedAnchor.d.ts.map +0 -0
  1639. package/dist-extensions/src/env/browser.d.ts +0 -0
  1640. package/dist-extensions/src/env/browser.d.ts.map +0 -0
  1641. package/dist-extensions/src/env/index.d.ts +0 -0
  1642. package/dist-extensions/src/env/index.d.ts.map +0 -0
  1643. package/dist-extensions/src/env/types.d.ts +0 -0
  1644. package/dist-extensions/src/env/types.d.ts.map +0 -0
  1645. package/dist-extensions/src/filters/BaseFilter.d.ts +0 -0
  1646. package/dist-extensions/src/filters/BaseFilter.d.ts.map +0 -0
  1647. package/dist-extensions/src/filters/BlendColor.d.ts +0 -0
  1648. package/dist-extensions/src/filters/BlendColor.d.ts.map +0 -0
  1649. package/dist-extensions/src/filters/BlendImage.d.ts +0 -0
  1650. package/dist-extensions/src/filters/BlendImage.d.ts.map +0 -0
  1651. package/dist-extensions/src/filters/Blur.d.ts +0 -0
  1652. package/dist-extensions/src/filters/Blur.d.ts.map +0 -0
  1653. package/dist-extensions/src/filters/Brightness.d.ts +0 -0
  1654. package/dist-extensions/src/filters/Brightness.d.ts.map +0 -0
  1655. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts +0 -0
  1656. package/dist-extensions/src/filters/Canvas2dFilterBackend.d.ts.map +0 -0
  1657. package/dist-extensions/src/filters/ColorMatrix.d.ts +0 -0
  1658. package/dist-extensions/src/filters/ColorMatrix.d.ts.map +0 -0
  1659. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts +0 -0
  1660. package/dist-extensions/src/filters/ColorMatrixFilters.d.ts.map +0 -0
  1661. package/dist-extensions/src/filters/Composed.d.ts +0 -0
  1662. package/dist-extensions/src/filters/Composed.d.ts.map +0 -0
  1663. package/dist-extensions/src/filters/Contrast.d.ts +0 -0
  1664. package/dist-extensions/src/filters/Contrast.d.ts.map +0 -0
  1665. package/dist-extensions/src/filters/Convolute.d.ts +0 -0
  1666. package/dist-extensions/src/filters/Convolute.d.ts.map +0 -0
  1667. package/dist-extensions/src/filters/FilterBackend.d.ts +0 -0
  1668. package/dist-extensions/src/filters/FilterBackend.d.ts.map +0 -0
  1669. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts +0 -0
  1670. package/dist-extensions/src/filters/GLProbes/GLProbe.d.ts.map +0 -0
  1671. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts +0 -0
  1672. package/dist-extensions/src/filters/GLProbes/WebGLProbe.d.ts.map +0 -0
  1673. package/dist-extensions/src/filters/Gamma.d.ts +0 -0
  1674. package/dist-extensions/src/filters/Gamma.d.ts.map +0 -0
  1675. package/dist-extensions/src/filters/Grayscale.d.ts +0 -0
  1676. package/dist-extensions/src/filters/Grayscale.d.ts.map +0 -0
  1677. package/dist-extensions/src/filters/HueRotation.d.ts +0 -0
  1678. package/dist-extensions/src/filters/HueRotation.d.ts.map +0 -0
  1679. package/dist-extensions/src/filters/Invert.d.ts +0 -0
  1680. package/dist-extensions/src/filters/Invert.d.ts.map +0 -0
  1681. package/dist-extensions/src/filters/Noise.d.ts +0 -0
  1682. package/dist-extensions/src/filters/Noise.d.ts.map +0 -0
  1683. package/dist-extensions/src/filters/Pixelate.d.ts +0 -0
  1684. package/dist-extensions/src/filters/Pixelate.d.ts.map +0 -0
  1685. package/dist-extensions/src/filters/RemoveColor.d.ts +0 -0
  1686. package/dist-extensions/src/filters/RemoveColor.d.ts.map +0 -0
  1687. package/dist-extensions/src/filters/Resize.d.ts +0 -0
  1688. package/dist-extensions/src/filters/Resize.d.ts.map +0 -0
  1689. package/dist-extensions/src/filters/Saturation.d.ts +0 -0
  1690. package/dist-extensions/src/filters/Saturation.d.ts.map +0 -0
  1691. package/dist-extensions/src/filters/Vibrance.d.ts +0 -0
  1692. package/dist-extensions/src/filters/Vibrance.d.ts.map +0 -0
  1693. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts +0 -0
  1694. package/dist-extensions/src/filters/WebGLFilterBackend.d.ts.map +0 -0
  1695. package/dist-extensions/src/filters/filters.d.ts +0 -0
  1696. package/dist-extensions/src/filters/filters.d.ts.map +0 -0
  1697. package/dist-extensions/src/filters/index.d.ts +0 -0
  1698. package/dist-extensions/src/filters/index.d.ts.map +0 -0
  1699. package/dist-extensions/src/filters/shaders/baseFilter.d.ts +0 -0
  1700. package/dist-extensions/src/filters/shaders/baseFilter.d.ts.map +0 -0
  1701. package/dist-extensions/src/filters/shaders/blendColor.d.ts +0 -0
  1702. package/dist-extensions/src/filters/shaders/blendColor.d.ts.map +0 -0
  1703. package/dist-extensions/src/filters/shaders/blendImage.d.ts +0 -0
  1704. package/dist-extensions/src/filters/shaders/blendImage.d.ts.map +0 -0
  1705. package/dist-extensions/src/filters/shaders/blur.d.ts +0 -0
  1706. package/dist-extensions/src/filters/shaders/blur.d.ts.map +0 -0
  1707. package/dist-extensions/src/filters/shaders/brightness.d.ts +0 -0
  1708. package/dist-extensions/src/filters/shaders/brightness.d.ts.map +0 -0
  1709. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts +0 -0
  1710. package/dist-extensions/src/filters/shaders/colorMatrix.d.ts.map +0 -0
  1711. package/dist-extensions/src/filters/shaders/constrast.d.ts +0 -0
  1712. package/dist-extensions/src/filters/shaders/constrast.d.ts.map +0 -0
  1713. package/dist-extensions/src/filters/shaders/convolute.d.ts +0 -0
  1714. package/dist-extensions/src/filters/shaders/convolute.d.ts.map +0 -0
  1715. package/dist-extensions/src/filters/shaders/gamma.d.ts +0 -0
  1716. package/dist-extensions/src/filters/shaders/gamma.d.ts.map +0 -0
  1717. package/dist-extensions/src/filters/shaders/grayscale.d.ts +0 -0
  1718. package/dist-extensions/src/filters/shaders/grayscale.d.ts.map +0 -0
  1719. package/dist-extensions/src/filters/shaders/invert.d.ts +0 -0
  1720. package/dist-extensions/src/filters/shaders/invert.d.ts.map +0 -0
  1721. package/dist-extensions/src/filters/shaders/noise.d.ts +0 -0
  1722. package/dist-extensions/src/filters/shaders/noise.d.ts.map +0 -0
  1723. package/dist-extensions/src/filters/shaders/pixelate.d.ts +0 -0
  1724. package/dist-extensions/src/filters/shaders/pixelate.d.ts.map +0 -0
  1725. package/dist-extensions/src/filters/shaders/removeColor.d.ts +0 -0
  1726. package/dist-extensions/src/filters/shaders/removeColor.d.ts.map +0 -0
  1727. package/dist-extensions/src/filters/shaders/saturation.d.ts +0 -0
  1728. package/dist-extensions/src/filters/shaders/saturation.d.ts.map +0 -0
  1729. package/dist-extensions/src/filters/shaders/vibrance.d.ts +0 -0
  1730. package/dist-extensions/src/filters/shaders/vibrance.d.ts.map +0 -0
  1731. package/dist-extensions/src/filters/typedefs.d.ts +0 -0
  1732. package/dist-extensions/src/filters/typedefs.d.ts.map +0 -0
  1733. package/dist-extensions/src/filters/utils.d.ts +0 -0
  1734. package/dist-extensions/src/filters/utils.d.ts.map +0 -0
  1735. package/dist-extensions/src/gradient/Gradient.d.ts +0 -0
  1736. package/dist-extensions/src/gradient/Gradient.d.ts.map +0 -0
  1737. package/dist-extensions/src/gradient/constants.d.ts +0 -0
  1738. package/dist-extensions/src/gradient/constants.d.ts.map +0 -0
  1739. package/dist-extensions/src/gradient/index.d.ts +0 -0
  1740. package/dist-extensions/src/gradient/index.d.ts.map +0 -0
  1741. package/dist-extensions/src/gradient/parser/misc.d.ts +0 -0
  1742. package/dist-extensions/src/gradient/parser/misc.d.ts.map +0 -0
  1743. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts +0 -0
  1744. package/dist-extensions/src/gradient/parser/parseColorStops.d.ts.map +0 -0
  1745. package/dist-extensions/src/gradient/parser/parseCoords.d.ts +0 -0
  1746. package/dist-extensions/src/gradient/parser/parseCoords.d.ts.map +0 -0
  1747. package/dist-extensions/src/gradient/typedefs.d.ts +0 -0
  1748. package/dist-extensions/src/gradient/typedefs.d.ts.map +0 -0
  1749. package/dist-extensions/src/parser/applyViewboxTransform.d.ts +0 -0
  1750. package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +0 -0
  1751. package/dist-extensions/src/parser/attributes.d.ts +0 -0
  1752. package/dist-extensions/src/parser/attributes.d.ts.map +0 -0
  1753. package/dist-extensions/src/parser/constants.d.ts +0 -0
  1754. package/dist-extensions/src/parser/constants.d.ts.map +0 -0
  1755. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts +0 -0
  1756. package/dist-extensions/src/parser/doesSomeParentMatch.d.ts.map +0 -0
  1757. package/dist-extensions/src/parser/elementMatchesRule.d.ts +0 -0
  1758. package/dist-extensions/src/parser/elementMatchesRule.d.ts.map +0 -0
  1759. package/dist-extensions/src/parser/elements_parser.d.ts +0 -0
  1760. package/dist-extensions/src/parser/elements_parser.d.ts.map +0 -0
  1761. package/dist-extensions/src/parser/getCSSRules.d.ts +0 -0
  1762. package/dist-extensions/src/parser/getCSSRules.d.ts.map +0 -0
  1763. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts +0 -0
  1764. package/dist-extensions/src/parser/getGlobalStylesForElement.d.ts.map +0 -0
  1765. package/dist-extensions/src/parser/getGradientDefs.d.ts +0 -0
  1766. package/dist-extensions/src/parser/getGradientDefs.d.ts.map +0 -0
  1767. package/dist-extensions/src/parser/getMultipleNodes.d.ts +0 -0
  1768. package/dist-extensions/src/parser/getMultipleNodes.d.ts.map +0 -0
  1769. package/dist-extensions/src/parser/getSvgRegex.d.ts +0 -0
  1770. package/dist-extensions/src/parser/getSvgRegex.d.ts.map +0 -0
  1771. package/dist-extensions/src/parser/getTagName.d.ts +0 -0
  1772. package/dist-extensions/src/parser/getTagName.d.ts.map +0 -0
  1773. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts +0 -0
  1774. package/dist-extensions/src/parser/hasInvalidAncestor.d.ts.map +0 -0
  1775. package/dist-extensions/src/parser/loadSVGFromString.d.ts +0 -0
  1776. package/dist-extensions/src/parser/loadSVGFromString.d.ts.map +0 -0
  1777. package/dist-extensions/src/parser/loadSVGFromURL.d.ts +0 -0
  1778. package/dist-extensions/src/parser/loadSVGFromURL.d.ts.map +0 -0
  1779. package/dist-extensions/src/parser/normalizeAttr.d.ts +0 -0
  1780. package/dist-extensions/src/parser/normalizeAttr.d.ts.map +0 -0
  1781. package/dist-extensions/src/parser/normalizeValue.d.ts +0 -0
  1782. package/dist-extensions/src/parser/normalizeValue.d.ts.map +0 -0
  1783. package/dist-extensions/src/parser/parseAttributes.d.ts +0 -0
  1784. package/dist-extensions/src/parser/parseAttributes.d.ts.map +0 -0
  1785. package/dist-extensions/src/parser/parseFontDeclaration.d.ts +0 -0
  1786. package/dist-extensions/src/parser/parseFontDeclaration.d.ts.map +0 -0
  1787. package/dist-extensions/src/parser/parsePointsAttribute.d.ts +0 -0
  1788. package/dist-extensions/src/parser/parsePointsAttribute.d.ts.map +0 -0
  1789. package/dist-extensions/src/parser/parseSVGDocument.d.ts +0 -0
  1790. package/dist-extensions/src/parser/parseSVGDocument.d.ts.map +0 -0
  1791. package/dist-extensions/src/parser/parseStyleAttribute.d.ts +0 -0
  1792. package/dist-extensions/src/parser/parseStyleAttribute.d.ts.map +0 -0
  1793. package/dist-extensions/src/parser/parseStyleObject.d.ts +0 -0
  1794. package/dist-extensions/src/parser/parseStyleObject.d.ts.map +0 -0
  1795. package/dist-extensions/src/parser/parseStyleString.d.ts +0 -0
  1796. package/dist-extensions/src/parser/parseStyleString.d.ts.map +0 -0
  1797. package/dist-extensions/src/parser/parseTransformAttribute.d.ts +0 -0
  1798. package/dist-extensions/src/parser/parseTransformAttribute.d.ts.map +0 -0
  1799. package/dist-extensions/src/parser/parseUseDirectives.d.ts +0 -0
  1800. package/dist-extensions/src/parser/parseUseDirectives.d.ts.map +0 -0
  1801. package/dist-extensions/src/parser/percent.d.ts +0 -0
  1802. package/dist-extensions/src/parser/percent.d.ts.map +0 -0
  1803. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts +0 -0
  1804. package/dist-extensions/src/parser/recursivelyParseGradientsXlink.d.ts.map +0 -0
  1805. package/dist-extensions/src/parser/selectorMatches.d.ts +0 -0
  1806. package/dist-extensions/src/parser/selectorMatches.d.ts.map +0 -0
  1807. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts +0 -0
  1808. package/dist-extensions/src/parser/setStrokeFillOpacity.d.ts.map +0 -0
  1809. package/dist-extensions/src/parser/typedefs.d.ts +0 -0
  1810. package/dist-extensions/src/parser/typedefs.d.ts.map +0 -0
  1811. package/dist-extensions/src/shapes/ActiveSelection.d.ts +0 -0
  1812. package/dist-extensions/src/shapes/ActiveSelection.d.ts.map +0 -0
  1813. package/dist-extensions/src/shapes/Circle.d.ts +0 -0
  1814. package/dist-extensions/src/shapes/Circle.d.ts.map +0 -0
  1815. package/dist-extensions/src/shapes/CustomLine.d.ts +10 -0
  1816. package/dist-extensions/src/shapes/CustomLine.d.ts.map +1 -0
  1817. package/dist-extensions/src/shapes/Ellipse.d.ts +0 -0
  1818. package/dist-extensions/src/shapes/Ellipse.d.ts.map +0 -0
  1819. package/dist-extensions/src/shapes/Group.d.ts +0 -0
  1820. package/dist-extensions/src/shapes/Group.d.ts.map +0 -0
  1821. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts +0 -0
  1822. package/dist-extensions/src/shapes/IText/DraggableTextDelegate.d.ts.map +0 -0
  1823. package/dist-extensions/src/shapes/IText/IText.d.ts +0 -0
  1824. package/dist-extensions/src/shapes/IText/IText.d.ts.map +0 -0
  1825. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts +0 -0
  1826. package/dist-extensions/src/shapes/IText/ITextBehavior.d.ts.map +0 -0
  1827. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts +0 -0
  1828. package/dist-extensions/src/shapes/IText/ITextClickBehavior.d.ts.map +0 -0
  1829. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts +0 -0
  1830. package/dist-extensions/src/shapes/IText/ITextKeyBehavior.d.ts.map +0 -0
  1831. package/dist-extensions/src/shapes/IText/constants.d.ts +0 -0
  1832. package/dist-extensions/src/shapes/IText/constants.d.ts.map +0 -0
  1833. package/dist-extensions/src/shapes/Image.d.ts +0 -0
  1834. package/dist-extensions/src/shapes/Image.d.ts.map +0 -0
  1835. package/dist-extensions/src/shapes/Line.d.ts +31 -86
  1836. package/dist-extensions/src/shapes/Line.d.ts.map +1 -1
  1837. package/dist-extensions/src/shapes/Object/FabricObject.d.ts +0 -0
  1838. package/dist-extensions/src/shapes/Object/FabricObject.d.ts.map +0 -0
  1839. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +0 -0
  1840. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +0 -0
  1841. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +0 -0
  1842. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +0 -0
  1843. package/dist-extensions/src/shapes/Object/Object.d.ts +0 -0
  1844. package/dist-extensions/src/shapes/Object/Object.d.ts.map +0 -0
  1845. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts +0 -0
  1846. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +0 -0
  1847. package/dist-extensions/src/shapes/Object/defaultValues.d.ts +0 -0
  1848. package/dist-extensions/src/shapes/Object/defaultValues.d.ts.map +0 -0
  1849. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts +0 -0
  1850. package/dist-extensions/src/shapes/Object/types/BaseProps.d.ts.map +0 -0
  1851. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +0 -0
  1852. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts.map +0 -0
  1853. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts +0 -0
  1854. package/dist-extensions/src/shapes/Object/types/ControlProps.d.ts.map +0 -0
  1855. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +0 -0
  1856. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts.map +0 -0
  1857. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts +0 -0
  1858. package/dist-extensions/src/shapes/Object/types/FillStrokeProps.d.ts.map +0 -0
  1859. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts +0 -0
  1860. package/dist-extensions/src/shapes/Object/types/LockInteractionProps.d.ts.map +0 -0
  1861. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts +0 -0
  1862. package/dist-extensions/src/shapes/Object/types/ObjectProps.d.ts.map +0 -0
  1863. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts +0 -0
  1864. package/dist-extensions/src/shapes/Object/types/ObjectTransformProps.d.ts.map +0 -0
  1865. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts +0 -0
  1866. package/dist-extensions/src/shapes/Object/types/SerializedObjectProps.d.ts.map +0 -0
  1867. package/dist-extensions/src/shapes/Object/types/index.d.ts +0 -0
  1868. package/dist-extensions/src/shapes/Object/types/index.d.ts.map +0 -0
  1869. package/dist-extensions/src/shapes/Path.d.ts +0 -0
  1870. package/dist-extensions/src/shapes/Path.d.ts.map +0 -0
  1871. package/dist-extensions/src/shapes/Polygon.d.ts +0 -0
  1872. package/dist-extensions/src/shapes/Polygon.d.ts.map +0 -0
  1873. package/dist-extensions/src/shapes/Polyline.d.ts +7 -0
  1874. package/dist-extensions/src/shapes/Polyline.d.ts.map +1 -1
  1875. package/dist-extensions/src/shapes/Rect.d.ts +0 -0
  1876. package/dist-extensions/src/shapes/Rect.d.ts.map +0 -0
  1877. package/dist-extensions/src/shapes/Text/StyledText.d.ts +0 -0
  1878. package/dist-extensions/src/shapes/Text/StyledText.d.ts.map +0 -0
  1879. package/dist-extensions/src/shapes/Text/Text.d.ts +0 -0
  1880. package/dist-extensions/src/shapes/Text/Text.d.ts.map +0 -0
  1881. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts +0 -0
  1882. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +0 -0
  1883. package/dist-extensions/src/shapes/Text/constants.d.ts +0 -0
  1884. package/dist-extensions/src/shapes/Text/constants.d.ts.map +0 -0
  1885. package/dist-extensions/src/shapes/Textbox.d.ts +0 -0
  1886. package/dist-extensions/src/shapes/Textbox.d.ts.map +0 -0
  1887. package/dist-extensions/src/shapes/Triangle.d.ts +27 -2
  1888. package/dist-extensions/src/shapes/Triangle.d.ts.map +1 -1
  1889. package/dist-extensions/src/text/browserLines.d.ts +0 -0
  1890. package/dist-extensions/src/text/browserLines.d.ts.map +0 -0
  1891. package/dist-extensions/src/text/ellipsis.d.ts +0 -0
  1892. package/dist-extensions/src/text/ellipsis.d.ts.map +0 -0
  1893. package/dist-extensions/src/text/hitTest.d.ts +0 -0
  1894. package/dist-extensions/src/text/hitTest.d.ts.map +0 -0
  1895. package/dist-extensions/src/text/layout.d.ts +0 -0
  1896. package/dist-extensions/src/text/layout.d.ts.map +0 -0
  1897. package/dist-extensions/src/text/measure.d.ts +0 -0
  1898. package/dist-extensions/src/text/measure.d.ts.map +0 -0
  1899. package/dist-extensions/src/text/overlayEditor.d.ts +0 -0
  1900. package/dist-extensions/src/text/overlayEditor.d.ts.map +0 -0
  1901. package/dist-extensions/src/text/unicode.d.ts +0 -0
  1902. package/dist-extensions/src/text/unicode.d.ts.map +0 -0
  1903. package/dist-extensions/src/typedefs.d.ts +0 -0
  1904. package/dist-extensions/src/typedefs.d.ts.map +0 -0
  1905. package/dist-extensions/src/util/animation/AnimationBase.d.ts +0 -0
  1906. package/dist-extensions/src/util/animation/AnimationBase.d.ts.map +0 -0
  1907. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts +0 -0
  1908. package/dist-extensions/src/util/animation/AnimationFrameProvider.d.ts.map +0 -0
  1909. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts +0 -0
  1910. package/dist-extensions/src/util/animation/AnimationRegistry.d.ts.map +0 -0
  1911. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts +0 -0
  1912. package/dist-extensions/src/util/animation/ArrayAnimation.d.ts.map +0 -0
  1913. package/dist-extensions/src/util/animation/ColorAnimation.d.ts +0 -0
  1914. package/dist-extensions/src/util/animation/ColorAnimation.d.ts.map +0 -0
  1915. package/dist-extensions/src/util/animation/ValueAnimation.d.ts +0 -0
  1916. package/dist-extensions/src/util/animation/ValueAnimation.d.ts.map +0 -0
  1917. package/dist-extensions/src/util/animation/animate.d.ts +0 -0
  1918. package/dist-extensions/src/util/animation/animate.d.ts.map +0 -0
  1919. package/dist-extensions/src/util/animation/easing.d.ts +0 -0
  1920. package/dist-extensions/src/util/animation/easing.d.ts.map +0 -0
  1921. package/dist-extensions/src/util/animation/index.d.ts +0 -0
  1922. package/dist-extensions/src/util/animation/index.d.ts.map +0 -0
  1923. package/dist-extensions/src/util/animation/types.d.ts +0 -0
  1924. package/dist-extensions/src/util/animation/types.d.ts.map +0 -0
  1925. package/dist-extensions/src/util/applyMixins.d.ts +0 -0
  1926. package/dist-extensions/src/util/applyMixins.d.ts.map +0 -0
  1927. package/dist-extensions/src/util/dom_event.d.ts +0 -0
  1928. package/dist-extensions/src/util/dom_event.d.ts.map +0 -0
  1929. package/dist-extensions/src/util/dom_misc.d.ts +0 -0
  1930. package/dist-extensions/src/util/dom_misc.d.ts.map +0 -0
  1931. package/dist-extensions/src/util/index.d.ts +0 -0
  1932. package/dist-extensions/src/util/index.d.ts.map +0 -0
  1933. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +0 -0
  1934. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts.map +0 -0
  1935. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts +0 -0
  1936. package/dist-extensions/src/util/internals/cleanupSvgAttribute.d.ts.map +0 -0
  1937. package/dist-extensions/src/util/internals/cloneStyles.d.ts +0 -0
  1938. package/dist-extensions/src/util/internals/cloneStyles.d.ts.map +0 -0
  1939. package/dist-extensions/src/util/internals/console.d.ts +0 -0
  1940. package/dist-extensions/src/util/internals/console.d.ts.map +0 -0
  1941. package/dist-extensions/src/util/internals/dom_style.d.ts +0 -0
  1942. package/dist-extensions/src/util/internals/dom_style.d.ts.map +0 -0
  1943. package/dist-extensions/src/util/internals/findRight.d.ts +0 -0
  1944. package/dist-extensions/src/util/internals/findRight.d.ts.map +0 -0
  1945. package/dist-extensions/src/util/internals/getRandomInt.d.ts +0 -0
  1946. package/dist-extensions/src/util/internals/getRandomInt.d.ts.map +0 -0
  1947. package/dist-extensions/src/util/internals/ifNaN.d.ts +0 -0
  1948. package/dist-extensions/src/util/internals/ifNaN.d.ts.map +0 -0
  1949. package/dist-extensions/src/util/internals/removeFromArray.d.ts +0 -0
  1950. package/dist-extensions/src/util/internals/removeFromArray.d.ts.map +0 -0
  1951. package/dist-extensions/src/util/internals/uid.d.ts +0 -0
  1952. package/dist-extensions/src/util/internals/uid.d.ts.map +0 -0
  1953. package/dist-extensions/src/util/lang_string.d.ts +0 -0
  1954. package/dist-extensions/src/util/lang_string.d.ts.map +0 -0
  1955. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts +0 -0
  1956. package/dist-extensions/src/util/misc/boundingBoxFromPoints.d.ts.map +0 -0
  1957. package/dist-extensions/src/util/misc/capValue.d.ts +0 -0
  1958. package/dist-extensions/src/util/misc/capValue.d.ts.map +0 -0
  1959. package/dist-extensions/src/util/misc/cornerRadius.d.ts +70 -0
  1960. package/dist-extensions/src/util/misc/cornerRadius.d.ts.map +1 -0
  1961. package/dist-extensions/src/util/misc/cos.d.ts +0 -0
  1962. package/dist-extensions/src/util/misc/cos.d.ts.map +0 -0
  1963. package/dist-extensions/src/util/misc/dom.d.ts +0 -0
  1964. package/dist-extensions/src/util/misc/dom.d.ts.map +0 -0
  1965. package/dist-extensions/src/util/misc/findScaleTo.d.ts +0 -0
  1966. package/dist-extensions/src/util/misc/findScaleTo.d.ts.map +0 -0
  1967. package/dist-extensions/src/util/misc/groupSVGElements.d.ts +0 -0
  1968. package/dist-extensions/src/util/misc/groupSVGElements.d.ts.map +0 -0
  1969. package/dist-extensions/src/util/misc/isTransparent.d.ts +0 -0
  1970. package/dist-extensions/src/util/misc/isTransparent.d.ts.map +0 -0
  1971. package/dist-extensions/src/util/misc/matrix.d.ts +0 -0
  1972. package/dist-extensions/src/util/misc/matrix.d.ts.map +0 -0
  1973. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +0 -0
  1974. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts.map +0 -0
  1975. package/dist-extensions/src/util/misc/objectEnlive.d.ts +0 -0
  1976. package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +0 -0
  1977. package/dist-extensions/src/util/misc/objectTransforms.d.ts +0 -0
  1978. package/dist-extensions/src/util/misc/objectTransforms.d.ts.map +0 -0
  1979. package/dist-extensions/src/util/misc/pick.d.ts +0 -0
  1980. package/dist-extensions/src/util/misc/pick.d.ts.map +0 -0
  1981. package/dist-extensions/src/util/misc/planeChange.d.ts +0 -0
  1982. package/dist-extensions/src/util/misc/planeChange.d.ts.map +0 -0
  1983. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +0 -0
  1984. package/dist-extensions/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +0 -0
  1985. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +0 -0
  1986. package/dist-extensions/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +0 -0
  1987. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +0 -0
  1988. package/dist-extensions/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +0 -0
  1989. package/dist-extensions/src/util/misc/projectStroke/index.d.ts +0 -0
  1990. package/dist-extensions/src/util/misc/projectStroke/index.d.ts.map +0 -0
  1991. package/dist-extensions/src/util/misc/projectStroke/types.d.ts +0 -0
  1992. package/dist-extensions/src/util/misc/projectStroke/types.d.ts.map +0 -0
  1993. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts +0 -0
  1994. package/dist-extensions/src/util/misc/radiansDegreesConversion.d.ts.map +0 -0
  1995. package/dist-extensions/src/util/misc/resolveOrigin.d.ts +0 -0
  1996. package/dist-extensions/src/util/misc/resolveOrigin.d.ts.map +0 -0
  1997. package/dist-extensions/src/util/misc/sin.d.ts +0 -0
  1998. package/dist-extensions/src/util/misc/sin.d.ts.map +0 -0
  1999. package/dist-extensions/src/util/misc/svgExport.d.ts +0 -0
  2000. package/dist-extensions/src/util/misc/svgExport.d.ts.map +0 -0
  2001. package/dist-extensions/src/util/misc/svgParsing.d.ts +0 -0
  2002. package/dist-extensions/src/util/misc/svgParsing.d.ts.map +0 -0
  2003. package/dist-extensions/src/util/misc/textStyles.d.ts +0 -0
  2004. package/dist-extensions/src/util/misc/textStyles.d.ts.map +0 -0
  2005. package/dist-extensions/src/util/misc/toFixed.d.ts +0 -0
  2006. package/dist-extensions/src/util/misc/toFixed.d.ts.map +0 -0
  2007. package/dist-extensions/src/util/misc/vectors.d.ts +0 -0
  2008. package/dist-extensions/src/util/misc/vectors.d.ts.map +0 -0
  2009. package/dist-extensions/src/util/path/index.d.ts +0 -0
  2010. package/dist-extensions/src/util/path/index.d.ts.map +0 -0
  2011. package/dist-extensions/src/util/path/regex.d.ts +0 -0
  2012. package/dist-extensions/src/util/path/regex.d.ts.map +0 -0
  2013. package/dist-extensions/src/util/path/typedefs.d.ts +0 -0
  2014. package/dist-extensions/src/util/path/typedefs.d.ts.map +0 -0
  2015. package/dist-extensions/src/util/transform_matrix_removal.d.ts +0 -0
  2016. package/dist-extensions/src/util/transform_matrix_removal.d.ts.map +0 -0
  2017. package/dist-extensions/src/util/typeAssertions.d.ts +0 -0
  2018. package/dist-extensions/src/util/typeAssertions.d.ts.map +0 -0
  2019. package/docs/fabric-konva-gap-analysis.md +274 -0
  2020. package/docs/konva-text-behavior-spec.md +265 -0
  2021. package/docs/text-engine-design.md +698 -0
  2022. package/eslint.config.mjs +0 -0
  2023. package/examples/overlay-edit.html +416 -416
  2024. package/extensions/README.MD +0 -0
  2025. package/extensions/aligning_guidelines/README.MD +0 -0
  2026. package/extensions/aligning_guidelines/constant.ts +0 -0
  2027. package/extensions/aligning_guidelines/index.ts +0 -0
  2028. package/extensions/aligning_guidelines/typedefs.ts +0 -0
  2029. package/extensions/aligning_guidelines/util/basic.spec.ts +0 -0
  2030. package/extensions/aligning_guidelines/util/basic.ts +0 -0
  2031. package/extensions/aligning_guidelines/util/collect-line.ts +0 -0
  2032. package/extensions/aligning_guidelines/util/collect-point.ts +0 -0
  2033. package/extensions/aligning_guidelines/util/draw.ts +0 -0
  2034. package/extensions/aligning_guidelines/util/get-objects-by-target.ts +0 -0
  2035. package/extensions/data_updaters/README.md +0 -0
  2036. package/extensions/data_updaters/gradient/__snapshots__/index.spec.ts.snap +0 -0
  2037. package/extensions/data_updaters/gradient/index.spec.ts +0 -0
  2038. package/extensions/data_updaters/gradient/index.ts +0 -0
  2039. package/extensions/data_updaters/origins/README.md +0 -0
  2040. package/extensions/data_updaters/origins/index.spec.ts +0 -0
  2041. package/extensions/data_updaters/origins/index.ts +0 -0
  2042. package/extensions/index.ts +0 -0
  2043. package/fabric-test-editor.html +1111 -505
  2044. package/fabric-test2.html +513 -0
  2045. package/fabric.ts +182 -182
  2046. package/index.node.ts +0 -0
  2047. package/index.ts +0 -0
  2048. package/lib/aligning_guidelines.js +0 -0
  2049. package/lib/centering_guidelines.js +0 -0
  2050. package/lib/event.js +0 -0
  2051. package/package.json +164 -164
  2052. package/playwright.config.ts +0 -0
  2053. package/playwright.setup.ts +0 -0
  2054. package/publish-next.js +0 -0
  2055. package/publish.js +0 -0
  2056. package/rollup.config.mjs +0 -0
  2057. package/scripts/bench-text.js +591 -591
  2058. package/scripts/build.mjs +0 -0
  2059. package/scripts/buildLock.mjs +0 -0
  2060. package/scripts/buildReporter.mjs +0 -0
  2061. package/scripts/buildStats.mjs +0 -0
  2062. package/scripts/dirname.mjs +0 -0
  2063. package/scripts/git.mjs +0 -0
  2064. package/scripts/index.mjs +0 -0
  2065. package/scripts/sandbox.mjs +0 -0
  2066. package/src/ClassRegistry.spec.ts +0 -0
  2067. package/src/ClassRegistry.ts +0 -0
  2068. package/src/Collection.spec.ts +0 -0
  2069. package/src/Collection.ts +0 -0
  2070. package/src/CommonMethods.ts +0 -0
  2071. package/src/EventTypeDefs.ts +0 -0
  2072. package/src/Intersection.spec.ts +0 -0
  2073. package/src/Intersection.ts +0 -0
  2074. package/src/LayoutManager/ActiveSelectionLayoutManager.spec.ts +0 -0
  2075. package/src/LayoutManager/ActiveSelectionLayoutManager.ts +0 -0
  2076. package/src/LayoutManager/LayoutManager.spec.ts +0 -0
  2077. package/src/LayoutManager/LayoutManager.ts +0 -0
  2078. package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +0 -0
  2079. package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +0 -0
  2080. package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +0 -0
  2081. package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +0 -0
  2082. package/src/LayoutManager/LayoutStrategies/utils.ts +0 -0
  2083. package/src/LayoutManager/README.md +0 -0
  2084. package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +0 -0
  2085. package/src/LayoutManager/constants.ts +0 -0
  2086. package/src/LayoutManager/index.ts +0 -0
  2087. package/src/LayoutManager/types.ts +0 -0
  2088. package/src/Observable.spec.ts +0 -0
  2089. package/src/Observable.ts +0 -0
  2090. package/src/Pattern/Pattern.spec.ts +0 -0
  2091. package/src/Pattern/Pattern.ts +0 -0
  2092. package/src/Pattern/index.ts +0 -0
  2093. package/src/Pattern/types.ts +0 -0
  2094. package/src/Point.spec.ts +0 -0
  2095. package/src/Point.ts +0 -0
  2096. package/src/Shadow.spec.ts +0 -0
  2097. package/src/Shadow.ts +0 -0
  2098. package/src/__snapshots__/Shadow.spec.ts.snap +0 -0
  2099. package/src/brushes/BaseBrush.spec.ts +0 -0
  2100. package/src/brushes/BaseBrush.ts +0 -0
  2101. package/src/brushes/CircleBrush.test.ts +0 -0
  2102. package/src/brushes/CircleBrush.ts +0 -0
  2103. package/src/brushes/PatternBrush.ts +0 -0
  2104. package/src/brushes/PencilBrush.spec.ts +0 -0
  2105. package/src/brushes/PencilBrush.ts +0 -0
  2106. package/src/brushes/SprayBrush.ts +0 -0
  2107. package/src/brushes/__snapshots__/PencilBrush.spec.ts.snap +0 -0
  2108. package/src/brushes/typedefs.ts +0 -0
  2109. package/src/cache.spec.ts +0 -0
  2110. package/src/cache.ts +0 -0
  2111. package/src/canvas/Canvas-dispose.spec.ts +0 -0
  2112. package/src/canvas/Canvas-events.spec.ts +0 -0
  2113. package/src/canvas/Canvas.spec.ts +0 -0
  2114. package/src/canvas/Canvas.ts +0 -0
  2115. package/src/canvas/CanvasOptions.ts +0 -0
  2116. package/src/canvas/DOMManagers/CanvasDOMManager.ts +0 -0
  2117. package/src/canvas/DOMManagers/StaticCanvasDOMManager.ts +0 -0
  2118. package/src/canvas/DOMManagers/util.spec.ts +0 -0
  2119. package/src/canvas/DOMManagers/util.ts +0 -0
  2120. package/src/canvas/SelectableCanvas.spec.ts +0 -0
  2121. package/src/canvas/SelectableCanvas.ts +0 -0
  2122. package/src/canvas/StaticCanvas.spec.ts +0 -0
  2123. package/src/canvas/StaticCanvas.ts +0 -0
  2124. package/src/canvas/StaticCanvasOptions.ts +0 -0
  2125. package/src/canvas/TextEditingManager.ts +0 -0
  2126. package/src/canvas/__tests__/SelectableCanvas.spec.ts +0 -0
  2127. package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +0 -0
  2128. package/src/canvas/__tests__/eventData.test.ts +0 -0
  2129. package/src/canvas/canvas_gestures.mixin.ts +0 -0
  2130. package/src/color/Color.ts +0 -0
  2131. package/src/color/color.test.ts +0 -0
  2132. package/src/color/color_map.ts +0 -0
  2133. package/src/color/constants.ts +0 -0
  2134. package/src/color/typedefs.ts +0 -0
  2135. package/src/color/util.ts +0 -0
  2136. package/src/config.ts +0 -0
  2137. package/src/constants.ts +0 -0
  2138. package/src/controls/Control-cursor.spec.ts +0 -0
  2139. package/src/controls/Control-handlers.spec.ts +0 -0
  2140. package/src/controls/Control.spec.ts +0 -0
  2141. package/src/controls/Control.ts +0 -0
  2142. package/src/controls/changeHeight.ts +0 -0
  2143. package/src/controls/changeWidth.test.ts +0 -0
  2144. package/src/controls/changeWidth.ts +0 -0
  2145. package/src/controls/commonControls.ts +0 -0
  2146. package/src/controls/controlRendering.ts +0 -0
  2147. package/src/controls/drag.ts +0 -0
  2148. package/src/controls/fireEvent.ts +0 -0
  2149. package/src/controls/index.ts +0 -0
  2150. package/src/controls/pathControl.spec.ts +0 -0
  2151. package/src/controls/pathControl.ts +0 -0
  2152. package/src/controls/polyControl.spec.ts +0 -0
  2153. package/src/controls/polyControl.ts +0 -0
  2154. package/src/controls/rotate.ts +0 -0
  2155. package/src/controls/scale.test.ts +0 -0
  2156. package/src/controls/scale.ts +0 -0
  2157. package/src/controls/scaleSkew.ts +0 -0
  2158. package/src/controls/skew.ts +0 -0
  2159. package/src/controls/util.ts +0 -0
  2160. package/src/controls/wrapWithFireEvent.ts +0 -0
  2161. package/src/controls/wrapWithFixedAnchor.spec.ts +0 -0
  2162. package/src/controls/wrapWithFixedAnchor.ts +0 -0
  2163. package/src/env/browser.ts +0 -0
  2164. package/src/env/env.spec.ts +0 -0
  2165. package/src/env/index.ts +0 -0
  2166. package/src/env/node.ts +0 -0
  2167. package/src/env/types.ts +0 -0
  2168. package/src/filters/BaseFilter.spec.ts +0 -0
  2169. package/src/filters/BaseFilter.ts +0 -0
  2170. package/src/filters/BlendColor.ts +0 -0
  2171. package/src/filters/BlendImage.ts +0 -0
  2172. package/src/filters/Blur.ts +0 -0
  2173. package/src/filters/Boilerplate.ts +0 -0
  2174. package/src/filters/Brightness.ts +0 -0
  2175. package/src/filters/Canvas2dFilterBackend.ts +0 -0
  2176. package/src/filters/ColorMatrix.spec.ts +0 -0
  2177. package/src/filters/ColorMatrix.ts +0 -0
  2178. package/src/filters/ColorMatrixFilters.ts +0 -0
  2179. package/src/filters/Composed.ts +0 -0
  2180. package/src/filters/Contrast.ts +0 -0
  2181. package/src/filters/Convolute.ts +0 -0
  2182. package/src/filters/FilterBackend.ts +0 -0
  2183. package/src/filters/GLProbes/GLProbe.ts +0 -0
  2184. package/src/filters/GLProbes/NodeGLProbe.ts +0 -0
  2185. package/src/filters/GLProbes/WebGLProbe.ts +0 -0
  2186. package/src/filters/Gamma.ts +0 -0
  2187. package/src/filters/Grayscale.ts +0 -0
  2188. package/src/filters/HueRotation.ts +0 -0
  2189. package/src/filters/Invert.ts +0 -0
  2190. package/src/filters/Noise.ts +0 -0
  2191. package/src/filters/Pixelate.ts +0 -0
  2192. package/src/filters/RemoveColor.ts +0 -0
  2193. package/src/filters/Resize.ts +0 -0
  2194. package/src/filters/Saturation.ts +0 -0
  2195. package/src/filters/Vibrance.ts +0 -0
  2196. package/src/filters/WebGLFilterBackend.spec.ts +0 -0
  2197. package/src/filters/WebGLFilterBackend.ts +0 -0
  2198. package/src/filters/filters.ts +0 -0
  2199. package/src/filters/index.ts +0 -0
  2200. package/src/filters/shaders/baseFilter.ts +0 -0
  2201. package/src/filters/shaders/blendColor.ts +0 -0
  2202. package/src/filters/shaders/blendImage.ts +0 -0
  2203. package/src/filters/shaders/blur.ts +0 -0
  2204. package/src/filters/shaders/brightness.ts +0 -0
  2205. package/src/filters/shaders/colorMatrix.ts +0 -0
  2206. package/src/filters/shaders/constrast.ts +0 -0
  2207. package/src/filters/shaders/convolute.ts +0 -0
  2208. package/src/filters/shaders/gamma.ts +0 -0
  2209. package/src/filters/shaders/grayscale.ts +0 -0
  2210. package/src/filters/shaders/invert.ts +0 -0
  2211. package/src/filters/shaders/noise.ts +0 -0
  2212. package/src/filters/shaders/pixelate.ts +0 -0
  2213. package/src/filters/shaders/removeColor.ts +0 -0
  2214. package/src/filters/shaders/saturation.ts +0 -0
  2215. package/src/filters/shaders/vibrance.ts +0 -0
  2216. package/src/filters/typedefs.ts +0 -0
  2217. package/src/filters/utils.ts +0 -0
  2218. package/src/gradient/Gradient.spec.ts +0 -0
  2219. package/src/gradient/Gradient.ts +0 -0
  2220. package/src/gradient/constants.ts +0 -0
  2221. package/src/gradient/index.ts +0 -0
  2222. package/src/gradient/parser/misc.ts +0 -0
  2223. package/src/gradient/parser/parseColorStops.ts +0 -0
  2224. package/src/gradient/parser/parseCoords.ts +0 -0
  2225. package/src/gradient/typedefs.ts +0 -0
  2226. package/src/mixins/eraser_brush.mixin.ts +0 -0
  2227. package/src/parkinglot/canvas_animation.mixin.ts +0 -0
  2228. package/src/parkinglot/straighten.ts +0 -0
  2229. package/src/parser/applyViewboxTransform.spec.ts +0 -0
  2230. package/src/parser/applyViewboxTransform.ts +0 -0
  2231. package/src/parser/attributes.ts +0 -0
  2232. package/src/parser/constants.spec.ts +0 -0
  2233. package/src/parser/constants.ts +0 -0
  2234. package/src/parser/doesSomeParentMatch.ts +0 -0
  2235. package/src/parser/elementMatchesRule.ts +0 -0
  2236. package/src/parser/elements_parser.ts +0 -0
  2237. package/src/parser/getCSSRules.spec.ts +0 -0
  2238. package/src/parser/getCSSRules.ts +0 -0
  2239. package/src/parser/getGlobalStylesForElement.ts +0 -0
  2240. package/src/parser/getGradientDefs.ts +0 -0
  2241. package/src/parser/getMultipleNodes.ts +0 -0
  2242. package/src/parser/getSvgRegex.ts +0 -0
  2243. package/src/parser/getTagName.ts +0 -0
  2244. package/src/parser/hasInvalidAncestor.ts +0 -0
  2245. package/src/parser/loadSVGFromString.test.ts +0 -0
  2246. package/src/parser/loadSVGFromString.ts +0 -0
  2247. package/src/parser/loadSVGFromURL.ts +0 -0
  2248. package/src/parser/normalizeAttr.ts +0 -0
  2249. package/src/parser/normalizeValue.ts +0 -0
  2250. package/src/parser/parseAttributes.ts +0 -0
  2251. package/src/parser/parseFontDeclaration.ts +0 -0
  2252. package/src/parser/parsePointsAttribute.ts +0 -0
  2253. package/src/parser/parseSVGDocument.ts +0 -0
  2254. package/src/parser/parseStyleAttribute.ts +0 -0
  2255. package/src/parser/parseStyleObject.ts +0 -0
  2256. package/src/parser/parseStyleString.ts +0 -0
  2257. package/src/parser/parseTransformAttribute.ts +0 -0
  2258. package/src/parser/parseUseDirectives.test.ts +0 -0
  2259. package/src/parser/parseUseDirectives.ts +0 -0
  2260. package/src/parser/parser.spec.ts +0 -0
  2261. package/src/parser/percent.ts +0 -0
  2262. package/src/parser/recursivelyParseGradientsXlink.ts +0 -0
  2263. package/src/parser/selectorMatches.ts +0 -0
  2264. package/src/parser/setStrokeFillOpacity.ts +0 -0
  2265. package/src/parser/typedefs.ts +0 -0
  2266. package/src/shapes/ActiveSelection.spec.ts +0 -0
  2267. package/src/shapes/ActiveSelection.ts +0 -0
  2268. package/src/shapes/Circle.spec.ts +0 -0
  2269. package/src/shapes/Circle.ts +0 -0
  2270. package/src/shapes/Ellipse.spec.ts +0 -0
  2271. package/src/shapes/Ellipse.ts +0 -0
  2272. package/src/shapes/Group.spec.ts +0 -0
  2273. package/src/shapes/Group.ts +0 -0
  2274. package/src/shapes/IText/DraggableTextDelegate.ts +0 -0
  2275. package/src/shapes/IText/IText-click-behavior.spec.ts +0 -0
  2276. package/src/shapes/IText/IText.test.ts +0 -0
  2277. package/src/shapes/IText/IText.ts +846 -846
  2278. package/src/shapes/IText/ITextBehavior.test.ts +0 -0
  2279. package/src/shapes/IText/ITextBehavior.ts +1176 -1176
  2280. package/src/shapes/IText/ITextClickBehavior.ts +254 -254
  2281. package/src/shapes/IText/ITextKeyBehavior.test.ts +0 -0
  2282. package/src/shapes/IText/ITextKeyBehavior.ts +0 -0
  2283. package/src/shapes/IText/__snapshots__/IText.test.ts.snap +0 -0
  2284. package/src/shapes/IText/__snapshots__/ITextBehavior.test.ts.snap +0 -0
  2285. package/src/shapes/IText/constants.ts +0 -0
  2286. package/src/shapes/Image-filters.spec.ts +0 -0
  2287. package/src/shapes/Image.spec.ts +0 -0
  2288. package/src/shapes/Image.ts +0 -0
  2289. package/src/shapes/Line.spec.ts +0 -0
  2290. package/src/shapes/Line.ts +372 -158
  2291. package/src/shapes/Object/FabricObject.spec.ts +0 -0
  2292. package/src/shapes/Object/FabricObject.ts +0 -0
  2293. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +0 -0
  2294. package/src/shapes/Object/InteractiveObject.spec.ts +0 -0
  2295. package/src/shapes/Object/InteractiveObject.ts +0 -0
  2296. package/src/shapes/Object/Object-clip-path.spec.ts +0 -0
  2297. package/src/shapes/Object/Object-interactivity.spec.ts +0 -0
  2298. package/src/shapes/Object/Object.spec.ts +0 -0
  2299. package/src/shapes/Object/Object.ts +0 -0
  2300. package/src/shapes/Object/ObjectGeometry.spec.ts +0 -0
  2301. package/src/shapes/Object/ObjectGeometry.ts +0 -0
  2302. package/src/shapes/Object/ObjectOrigin.spec.ts +0 -0
  2303. package/src/shapes/Object/ObjectSerialization.spec.ts +0 -0
  2304. package/src/shapes/Object/StackedObject.spec.ts +0 -0
  2305. package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +0 -0
  2306. package/src/shapes/Object/defaultValues.ts +0 -0
  2307. package/src/shapes/Object/types/BaseProps.ts +0 -0
  2308. package/src/shapes/Object/types/BorderProps.ts +0 -0
  2309. package/src/shapes/Object/types/ControlProps.ts +0 -0
  2310. package/src/shapes/Object/types/FabricObjectProps.ts +0 -0
  2311. package/src/shapes/Object/types/FillStrokeProps.ts +0 -0
  2312. package/src/shapes/Object/types/LockInteractionProps.ts +0 -0
  2313. package/src/shapes/Object/types/ObjectProps.ts +0 -0
  2314. package/src/shapes/Object/types/ObjectTransformProps.ts +0 -0
  2315. package/src/shapes/Object/types/SerializedObjectProps.ts +0 -0
  2316. package/src/shapes/Object/types/index.ts +0 -0
  2317. package/src/shapes/Path.spec.ts +0 -0
  2318. package/src/shapes/Path.ts +0 -0
  2319. package/src/shapes/Polygon.spec.ts +0 -0
  2320. package/src/shapes/Polygon.ts +0 -0
  2321. package/src/shapes/Polyline.spec.ts +0 -0
  2322. package/src/shapes/Polyline.ts +70 -29
  2323. package/src/shapes/Rect.spec.ts +0 -0
  2324. package/src/shapes/Rect.ts +0 -0
  2325. package/src/shapes/Text/StyledText.spec.ts +0 -0
  2326. package/src/shapes/Text/StyledText.ts +0 -0
  2327. package/src/shapes/Text/Text.spec.ts +0 -0
  2328. package/src/shapes/Text/Text.ts +2226 -2226
  2329. package/src/shapes/Text/TextSVGExportMixin.spec.ts +0 -0
  2330. package/src/shapes/Text/TextSVGExportMixin.ts +0 -0
  2331. package/src/shapes/Text/__snapshots__/Text.spec.ts.snap +0 -0
  2332. package/src/shapes/Text/__snapshots__/TextSVGExportMixin.spec.ts.snap +0 -0
  2333. package/src/shapes/Text/constants.ts +134 -134
  2334. package/src/shapes/Textbox.spec.ts +0 -0
  2335. package/src/shapes/Textbox.ts +788 -788
  2336. package/src/shapes/Triangle.spec.ts +76 -0
  2337. package/src/shapes/Triangle.ts +85 -15
  2338. package/src/shapes/__snapshots__/Image.spec.ts.snap +0 -0
  2339. package/src/shapes/__snapshots__/Textbox.spec.ts.snap +0 -0
  2340. package/src/text/browserLines.ts +233 -233
  2341. package/src/text/ellipsis.ts +516 -516
  2342. package/src/text/hitTest.ts +623 -623
  2343. package/src/text/layout.ts +586 -586
  2344. package/src/text/measure.ts +475 -475
  2345. package/src/text/overlayEditor.ts +1035 -1035
  2346. package/src/text/unicode.ts +454 -454
  2347. package/src/typedefs.ts +0 -0
  2348. package/src/util/__snapshots__/index.spec.ts.snap +0 -0
  2349. package/src/util/animation/AnimationBase.ts +0 -0
  2350. package/src/util/animation/AnimationFrameProvider.ts +0 -0
  2351. package/src/util/animation/AnimationRegistry.ts +0 -0
  2352. package/src/util/animation/ArrayAnimation.ts +0 -0
  2353. package/src/util/animation/ColorAnimation.ts +0 -0
  2354. package/src/util/animation/ValueAnimation.ts +0 -0
  2355. package/src/util/animation/__snapshots__/animations.spec.ts.snap +0 -0
  2356. package/src/util/animation/animate.ts +0 -0
  2357. package/src/util/animation/animations.spec.ts +0 -0
  2358. package/src/util/animation/easing.ts +0 -0
  2359. package/src/util/animation/index.ts +0 -0
  2360. package/src/util/animation/types.ts +0 -0
  2361. package/src/util/applyMixins.ts +0 -0
  2362. package/src/util/dom_event.spec.ts +0 -0
  2363. package/src/util/dom_event.ts +0 -0
  2364. package/src/util/dom_misc.ts +0 -0
  2365. package/src/util/index.spec.ts +0 -0
  2366. package/src/util/index.ts +0 -0
  2367. package/src/util/internals/applyCanvasTransform.ts +0 -0
  2368. package/src/util/internals/cleanupSvgAttribute.test.ts +0 -0
  2369. package/src/util/internals/cleanupSvgAttribute.ts +0 -0
  2370. package/src/util/internals/cloneStyles.spec.ts +0 -0
  2371. package/src/util/internals/cloneStyles.ts +0 -0
  2372. package/src/util/internals/console.ts +0 -0
  2373. package/src/util/internals/dom_style.spec.ts +0 -0
  2374. package/src/util/internals/dom_style.ts +0 -0
  2375. package/src/util/internals/findRight.ts +0 -0
  2376. package/src/util/internals/getRandomInt.test.ts +0 -0
  2377. package/src/util/internals/getRandomInt.ts +0 -0
  2378. package/src/util/internals/ifNaN.ts +0 -0
  2379. package/src/util/internals/removeFromArray.spec.ts +0 -0
  2380. package/src/util/internals/removeFromArray.ts +0 -0
  2381. package/src/util/internals/uid.ts +0 -0
  2382. package/src/util/lang_string.spec.ts +0 -0
  2383. package/src/util/lang_string.ts +0 -0
  2384. package/src/util/misc/boundingBoxFromPoints.spec.ts +0 -0
  2385. package/src/util/misc/boundingBoxFromPoints.ts +0 -0
  2386. package/src/util/misc/capValue.spec.ts +0 -0
  2387. package/src/util/misc/capValue.ts +0 -0
  2388. package/src/util/misc/cornerRadius.spec.ts +141 -0
  2389. package/src/util/misc/cornerRadius.ts +269 -0
  2390. package/src/util/misc/cos.spec.ts +0 -0
  2391. package/src/util/misc/cos.ts +0 -0
  2392. package/src/util/misc/dom.spec.ts +0 -0
  2393. package/src/util/misc/dom.ts +0 -0
  2394. package/src/util/misc/findScaleTo.spec.ts +0 -0
  2395. package/src/util/misc/findScaleTo.ts +0 -0
  2396. package/src/util/misc/groupSVGElements.spec.ts +0 -0
  2397. package/src/util/misc/groupSVGElements.ts +0 -0
  2398. package/src/util/misc/isTransparent.ts +0 -0
  2399. package/src/util/misc/matrix.spec.ts +0 -0
  2400. package/src/util/misc/matrix.ts +0 -0
  2401. package/src/util/misc/mergeClipPaths.spec.ts +0 -0
  2402. package/src/util/misc/mergeClipPaths.ts +0 -0
  2403. package/src/util/misc/objectEnlive.spec.ts +0 -0
  2404. package/src/util/misc/objectEnlive.ts +0 -0
  2405. package/src/util/misc/objectTransforms.spec.ts +0 -0
  2406. package/src/util/misc/objectTransforms.ts +0 -0
  2407. package/src/util/misc/pick.spec.ts +0 -0
  2408. package/src/util/misc/pick.ts +0 -0
  2409. package/src/util/misc/planeChange.spec.ts +0 -0
  2410. package/src/util/misc/planeChange.ts +0 -0
  2411. package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +0 -0
  2412. package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +0 -0
  2413. package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +0 -0
  2414. package/src/util/misc/projectStroke/index.ts +0 -0
  2415. package/src/util/misc/projectStroke/types.ts +0 -0
  2416. package/src/util/misc/radiansDegreesConversion.spec.ts +0 -0
  2417. package/src/util/misc/radiansDegreesConversion.ts +0 -0
  2418. package/src/util/misc/resolveOrigin.ts +0 -0
  2419. package/src/util/misc/sin.ts +0 -0
  2420. package/src/util/misc/svgExport.ts +0 -0
  2421. package/src/util/misc/svgParsing.spec.ts +0 -0
  2422. package/src/util/misc/svgParsing.ts +0 -0
  2423. package/src/util/misc/textStyles.ts +0 -0
  2424. package/src/util/misc/toFixed.spec.ts +0 -0
  2425. package/src/util/misc/toFixed.ts +0 -0
  2426. package/src/util/misc/vectors.spec.ts +0 -0
  2427. package/src/util/misc/vectors.ts +0 -0
  2428. package/src/util/path/__snapshots__/index.spec.ts.snap +0 -0
  2429. package/src/util/path/index.spec.ts +0 -0
  2430. package/src/util/path/index.ts +0 -0
  2431. package/src/util/path/regex.ts +0 -0
  2432. package/src/util/path/typechecks.ts +0 -0
  2433. package/src/util/path/typedefs.ts +0 -0
  2434. package/src/util/transform_matrix_removal.ts +0 -0
  2435. package/src/util/typeAssertions.spec.ts +0 -0
  2436. package/src/util/typeAssertions.ts +0 -0
  2437. package/tsconfig-extensions.json +0 -0
  2438. package/tsconfig.json +0 -0
  2439. package/tsconfig.spec.json +0 -0
  2440. package/typedoc.config.json +0 -0
  2441. package/vitest.config.ts +0 -0
  2442. package/vitest.d.ts +0 -0
  2443. package/vitest.env.d.ts +0 -0
  2444. package/vitest.extend.ts +0 -0
  2445. package/vitest.setup.ts +0 -0
  2446. package/debug/konva/CHANGELOG.md +0 -1474
  2447. package/debug/konva/LICENSE +0 -22
  2448. package/debug/konva/README.md +0 -205
  2449. package/debug/konva/gulpfile.mjs +0 -110
  2450. package/debug/konva/package.json +0 -139
  2451. package/debug/konva/release.sh +0 -65
  2452. package/debug/konva/resources/doc-includes/ContainerParams.txt +0 -6
  2453. package/debug/konva/resources/doc-includes/NodeParams.txt +0 -20
  2454. package/debug/konva/resources/doc-includes/ShapeParams.txt +0 -53
  2455. package/debug/konva/resources/jsdoc.conf.json +0 -28
  2456. package/debug/konva/rollup.config.mjs +0 -32
  2457. package/debug/konva/src/Animation.ts +0 -237
  2458. package/debug/konva/src/BezierFunctions.ts +0 -826
  2459. package/debug/konva/src/Canvas.ts +0 -193
  2460. package/debug/konva/src/Container.ts +0 -649
  2461. package/debug/konva/src/Context.ts +0 -1017
  2462. package/debug/konva/src/Core.ts +0 -5
  2463. package/debug/konva/src/DragAndDrop.ts +0 -173
  2464. package/debug/konva/src/Factory.ts +0 -246
  2465. package/debug/konva/src/FastLayer.ts +0 -29
  2466. package/debug/konva/src/Global.ts +0 -210
  2467. package/debug/konva/src/Group.ts +0 -31
  2468. package/debug/konva/src/Layer.ts +0 -546
  2469. package/debug/konva/src/Node.ts +0 -3477
  2470. package/debug/konva/src/PointerEvents.ts +0 -67
  2471. package/debug/konva/src/Shape.ts +0 -2081
  2472. package/debug/konva/src/Stage.ts +0 -1000
  2473. package/debug/konva/src/Tween.ts +0 -811
  2474. package/debug/konva/src/Util.ts +0 -1123
  2475. package/debug/konva/src/Validators.ts +0 -210
  2476. package/debug/konva/src/_CoreInternals.ts +0 -85
  2477. package/debug/konva/src/_FullInternals.ts +0 -171
  2478. package/debug/konva/src/canvas-backend.ts +0 -36
  2479. package/debug/konva/src/filters/Blur.ts +0 -388
  2480. package/debug/konva/src/filters/Brighten.ts +0 -48
  2481. package/debug/konva/src/filters/Brightness.ts +0 -30
  2482. package/debug/konva/src/filters/Contrast.ts +0 -75
  2483. package/debug/konva/src/filters/Emboss.ts +0 -207
  2484. package/debug/konva/src/filters/Enhance.ts +0 -154
  2485. package/debug/konva/src/filters/Grayscale.ts +0 -25
  2486. package/debug/konva/src/filters/HSL.ts +0 -108
  2487. package/debug/konva/src/filters/HSV.ts +0 -106
  2488. package/debug/konva/src/filters/Invert.ts +0 -23
  2489. package/debug/konva/src/filters/Kaleidoscope.ts +0 -274
  2490. package/debug/konva/src/filters/Mask.ts +0 -220
  2491. package/debug/konva/src/filters/Noise.ts +0 -44
  2492. package/debug/konva/src/filters/Pixelate.ts +0 -107
  2493. package/debug/konva/src/filters/Posterize.ts +0 -46
  2494. package/debug/konva/src/filters/RGB.ts +0 -82
  2495. package/debug/konva/src/filters/RGBA.ts +0 -103
  2496. package/debug/konva/src/filters/Sepia.ts +0 -27
  2497. package/debug/konva/src/filters/Solarize.ts +0 -29
  2498. package/debug/konva/src/filters/Threshold.ts +0 -44
  2499. package/debug/konva/src/index.ts +0 -3
  2500. package/debug/konva/src/shapes/Arc.ts +0 -176
  2501. package/debug/konva/src/shapes/Arrow.ts +0 -231
  2502. package/debug/konva/src/shapes/Circle.ts +0 -76
  2503. package/debug/konva/src/shapes/Ellipse.ts +0 -121
  2504. package/debug/konva/src/shapes/Image.ts +0 -319
  2505. package/debug/konva/src/shapes/Label.ts +0 -386
  2506. package/debug/konva/src/shapes/Line.ts +0 -364
  2507. package/debug/konva/src/shapes/Path.ts +0 -1013
  2508. package/debug/konva/src/shapes/Rect.ts +0 -79
  2509. package/debug/konva/src/shapes/RegularPolygon.ts +0 -167
  2510. package/debug/konva/src/shapes/Ring.ts +0 -94
  2511. package/debug/konva/src/shapes/Sprite.ts +0 -370
  2512. package/debug/konva/src/shapes/Star.ts +0 -125
  2513. package/debug/konva/src/shapes/Text.ts +0 -1065
  2514. package/debug/konva/src/shapes/TextPath.ts +0 -583
  2515. package/debug/konva/src/shapes/Transformer.ts +0 -1889
  2516. package/debug/konva/src/shapes/Wedge.ts +0 -129
  2517. package/debug/konva/src/skia-backend.ts +0 -35
  2518. package/debug/konva/src/types.ts +0 -84
  2519. package/debug/konva/tsconfig.json +0 -31
  2520. package/debug/konva/tsconfig.test.json +0 -7
  2521. package/dist/src/controls/changeHeight.min.mjs +0 -2
  2522. package/dist/src/controls/changeHeight.min.mjs.map +0 -1
  2523. package/dist/src/controls/changeHeight.mjs +0 -36
  2524. package/dist/src/controls/changeHeight.mjs.map +0 -1
@@ -410,7 +410,7 @@ class Cache {
410
410
  }
411
411
  const cache = new Cache();
412
412
 
413
- var version = "7.0.1-beta1";
413
+ var version = "7.0.1-beta3";
414
414
 
415
415
  // use this syntax so babel plugin see this import here
416
416
  const VERSION = version;
@@ -17627,33 +17627,29 @@ class PatternBrush extends PencilBrush {
17627
17627
  }
17628
17628
  }
17629
17629
 
17630
- // @TODO this code is terrible and Line should be a special case of polyline.
17631
-
17632
17630
  const coordProps = ['x1', 'x2', 'y1', 'y2'];
17633
- /**
17634
- * A Class to draw a line
17635
- * A bunch of methods will be added to Polyline to handle the line case
17636
- * The line class is very strange to work with, is all special, it hardly aligns
17637
- * to what a developer want everytime there is an angle
17638
- * @deprecated
17639
- */
17640
17631
  class Line extends FabricObject {
17641
- /**
17642
- * Constructor
17643
- * @param {Array} [points] Array of points
17644
- * @param {Object} [options] Options object
17645
- * @return {Line} thisArg
17646
- */
17647
17632
  constructor() {
17648
- let [x1, y1, x2, y2] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [0, 0, 0, 0];
17633
+ let [x1, y1, x2, y2] = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [0, 0, 100, 0];
17649
17634
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17650
17635
  super();
17651
- Object.assign(this, Line.ownDefaults);
17636
+ _defineProperty(this, "hitStrokeWidth", 'auto');
17637
+ _defineProperty(this, "_updatingEndpoints", false);
17638
+ _defineProperty(this, "_useEndpointCoords", true);
17652
17639
  this.setOptions(options);
17653
17640
  this.x1 = x1;
17654
17641
  this.x2 = x2;
17655
17642
  this.y1 = y1;
17656
17643
  this.y2 = y2;
17644
+ if (options.hitStrokeWidth !== undefined) {
17645
+ this.hitStrokeWidth = options.hitStrokeWidth;
17646
+ }
17647
+ this.hasBorders = false;
17648
+ this.hasControls = true;
17649
+ this.selectable = true;
17650
+ this.hoverCursor = 'move';
17651
+ this.perPixelTargetFind = false;
17652
+ this.strokeLineCap = 'butt';
17657
17653
  this._setWidthHeight();
17658
17654
  const {
17659
17655
  left,
@@ -17661,96 +17657,323 @@ class Line extends FabricObject {
17661
17657
  } = options;
17662
17658
  typeof left === 'number' && this.set(LEFT, left);
17663
17659
  typeof top === 'number' && this.set(TOP, top);
17660
+ this._setupLineControls();
17661
+ }
17662
+ _setupLineControls() {
17663
+ this.controls = {
17664
+ p1: new Control({
17665
+ x: 0,
17666
+ y: 0,
17667
+ cursorStyle: 'move',
17668
+ actionHandler: this._endpointActionHandler.bind(this),
17669
+ positionHandler: this._p1PositionHandler.bind(this),
17670
+ render: this._renderEndpointControl.bind(this),
17671
+ sizeX: 12,
17672
+ sizeY: 12
17673
+ }),
17674
+ p2: new Control({
17675
+ x: 0,
17676
+ y: 0,
17677
+ cursorStyle: 'move',
17678
+ actionHandler: this._endpointActionHandler.bind(this),
17679
+ positionHandler: this._p2PositionHandler.bind(this),
17680
+ render: this._renderEndpointControl.bind(this),
17681
+ sizeX: 12,
17682
+ sizeY: 12
17683
+ })
17684
+ };
17685
+ }
17686
+ _p1PositionHandler() {
17687
+ var _this$canvas;
17688
+ const vpt = ((_this$canvas = this.canvas) === null || _this$canvas === void 0 ? void 0 : _this$canvas.viewportTransform) || [1, 0, 0, 1, 0, 0];
17689
+ return new Point(this.x1, this.y1).transform(vpt);
17690
+ }
17691
+ _p2PositionHandler() {
17692
+ var _this$canvas2;
17693
+ const vpt = ((_this$canvas2 = this.canvas) === null || _this$canvas2 === void 0 ? void 0 : _this$canvas2.viewportTransform) || [1, 0, 0, 1, 0, 0];
17694
+ return new Point(this.x2, this.y2).transform(vpt);
17695
+ }
17696
+ _renderEndpointControl(ctx, left, top) {
17697
+ const size = 12;
17698
+ ctx.save();
17699
+ ctx.fillStyle = '#007bff';
17700
+ ctx.strokeStyle = '#ffffff';
17701
+ ctx.lineWidth = 2;
17702
+ ctx.beginPath();
17703
+ ctx.arc(left, top, size / 2, 0, 2 * Math.PI);
17704
+ ctx.fill();
17705
+ ctx.stroke();
17706
+ ctx.restore();
17707
+ }
17708
+ drawBorders(ctx) {
17709
+ let styleOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17710
+ if (this._useEndpointCoords) {
17711
+ this._drawLineBorders(ctx, styleOverride);
17712
+ return this;
17713
+ }
17714
+ return super.drawBorders(ctx, styleOverride, {});
17715
+ }
17716
+ _drawLineBorders(ctx) {
17717
+ var _this$canvas3;
17718
+ let styleOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17719
+ const vpt = ((_this$canvas3 = this.canvas) === null || _this$canvas3 === void 0 ? void 0 : _this$canvas3.viewportTransform) || [1, 0, 0, 1, 0, 0];
17720
+ ctx.save();
17721
+ ctx.setTransform(vpt[0], vpt[1], vpt[2], vpt[3], vpt[4], vpt[5]);
17722
+ ctx.strokeStyle = styleOverride.borderColor || this.borderColor || 'rgba(100, 200, 200, 0.5)';
17723
+ ctx.lineWidth = (this.strokeWidth || 1) + 5;
17724
+ ctx.lineCap = this.strokeLineCap || 'butt';
17725
+ ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;
17726
+ ctx.beginPath();
17727
+ ctx.moveTo(this.x1, this.y1);
17728
+ ctx.lineTo(this.x2, this.y2);
17729
+ ctx.stroke();
17730
+ ctx.restore();
17731
+ }
17732
+ _renderControls(ctx) {
17733
+ let styleOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17734
+ ctx.save();
17735
+ ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;
17736
+ this.drawControls(ctx, styleOverride);
17737
+ ctx.restore();
17738
+ }
17739
+ getBoundingRect() {
17740
+ if (this._useEndpointCoords) {
17741
+ const {
17742
+ x1,
17743
+ y1,
17744
+ x2,
17745
+ y2
17746
+ } = this;
17747
+ const effectiveStrokeWidth = this.hitStrokeWidth === 'auto' ? this.strokeWidth : this.hitStrokeWidth;
17748
+ const padding = Math.max(effectiveStrokeWidth / 2 + 5, 10);
17749
+ return {
17750
+ left: Math.min(x1, x2) - padding,
17751
+ top: Math.min(y1, y2) - padding,
17752
+ width: Math.abs(x2 - x1) + padding * 2 || padding * 2,
17753
+ height: Math.abs(y2 - y1) + padding * 2 || padding * 2
17754
+ };
17755
+ }
17756
+ return super.getBoundingRect();
17757
+ }
17758
+ setCoords() {
17759
+ if (this._useEndpointCoords) {
17760
+ const minX = Math.min(this.x1, this.x2);
17761
+ const maxX = Math.max(this.x1, this.x2);
17762
+ const minY = Math.min(this.y1, this.y2);
17763
+ const maxY = Math.max(this.y1, this.y2);
17764
+ const effectiveStrokeWidth = this.hitStrokeWidth === 'auto' ? this.strokeWidth : this.hitStrokeWidth;
17765
+ const hitPadding = Math.max(effectiveStrokeWidth / 2 + 5, 10);
17766
+ this.left = minX - hitPadding + (maxX - minX + hitPadding * 2) / 2;
17767
+ this.top = minY - hitPadding + (maxY - minY + hitPadding * 2) / 2;
17768
+ this.width = Math.abs(this.x2 - this.x1) + hitPadding * 2;
17769
+ this.height = Math.abs(this.y2 - this.y1) + hitPadding * 2;
17770
+ }
17771
+ super.setCoords();
17772
+ }
17773
+ getCoords() {
17774
+ if (this._useEndpointCoords) {
17775
+ const deltaX = this.x2 - this.x1;
17776
+ const deltaY = this.y2 - this.y1;
17777
+ const length = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
17778
+ if (length === 0) {
17779
+ return super.getCoords();
17780
+ }
17781
+ const effectiveStrokeWidth = this.hitStrokeWidth === 'auto' ? this.strokeWidth : this.hitStrokeWidth;
17782
+ const halfWidth = Math.max(effectiveStrokeWidth / 2 + 2, 5);
17783
+
17784
+ // Unit vector perpendicular to line
17785
+ const perpX = -deltaY / length;
17786
+ const perpY = deltaX / length;
17787
+
17788
+ // Four corners of oriented rectangle
17789
+ return [new Point(this.x1 + perpX * halfWidth, this.y1 + perpY * halfWidth), new Point(this.x2 + perpX * halfWidth, this.y2 + perpY * halfWidth), new Point(this.x2 - perpX * halfWidth, this.y2 - perpY * halfWidth), new Point(this.x1 - perpX * halfWidth, this.y1 - perpY * halfWidth)];
17790
+ }
17791
+ return super.getCoords();
17664
17792
  }
17793
+ containsPoint(point) {
17794
+ if (this._useEndpointCoords) {
17795
+ var _this$canvas4;
17796
+ if (((_this$canvas4 = this.canvas) === null || _this$canvas4 === void 0 ? void 0 : _this$canvas4.getActiveObject()) === this) {
17797
+ return super.containsPoint(point);
17798
+ }
17799
+ const distance = this._distanceToLineSegment(point.x, point.y);
17800
+ const effectiveStrokeWidth = this.hitStrokeWidth === 'auto' ? this.strokeWidth : this.hitStrokeWidth || 1;
17801
+ const tolerance = Math.max(effectiveStrokeWidth / 2 + 2, 5);
17802
+ return distance <= tolerance;
17803
+ }
17804
+ return super.containsPoint(point);
17805
+ }
17806
+ _distanceToLineSegment(px, py) {
17807
+ const x1 = this.x1,
17808
+ y1 = this.y1,
17809
+ x2 = this.x2,
17810
+ y2 = this.y2;
17811
+ const pd2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
17812
+ if (pd2 === 0) {
17813
+ return Math.sqrt((px - x1) * (px - x1) + (py - y1) * (py - y1));
17814
+ }
17815
+ const u = ((px - x1) * (x2 - x1) + (py - y1) * (y2 - y1)) / pd2;
17816
+ let closestX, closestY;
17817
+ if (u < 0) {
17818
+ closestX = x1;
17819
+ closestY = y1;
17820
+ } else if (u > 1) {
17821
+ closestX = x2;
17822
+ closestY = y2;
17823
+ } else {
17824
+ closestX = x1 + u * (x2 - x1);
17825
+ closestY = y1 + u * (y2 - y1);
17826
+ }
17827
+ return Math.sqrt((px - closestX) * (px - closestX) + (py - closestY) * (py - closestY));
17828
+ }
17829
+ _endpointActionHandler(eventData, transformData, x, y) {
17830
+ var _this$canvas6;
17831
+ const controlKey = transformData.corner;
17832
+ const pointer = new Point(x, y);
17833
+ let newX = pointer.x;
17834
+ let newY = pointer.y;
17835
+ if (eventData.shiftKey) {
17836
+ const otherControl = controlKey === 'p1' ? 'p2' : 'p1';
17837
+ const otherX = this[otherControl === 'p1' ? 'x1' : 'x2'];
17838
+ const otherY = this[otherControl === 'p1' ? 'y1' : 'y2'];
17839
+ const snapped = this._snapToAngle(otherX, otherY, newX, newY);
17840
+ newX = snapped.x;
17841
+ newY = snapped.y;
17842
+ }
17843
+ if (this._useEndpointCoords) {
17844
+ var _this$canvas5;
17845
+ if (controlKey === 'p1') {
17846
+ this.x1 = newX;
17847
+ this.y1 = newY;
17848
+ } else if (controlKey === 'p2') {
17849
+ this.x2 = newX;
17850
+ this.y2 = newY;
17851
+ }
17852
+ this.dirty = true;
17853
+ this.setCoords();
17854
+ (_this$canvas5 = this.canvas) === null || _this$canvas5 === void 0 || _this$canvas5.requestRenderAll();
17855
+ return true;
17856
+ }
17665
17857
 
17666
- /**
17667
- * @private
17668
- * @param {Object} [options] Options
17669
- */
17858
+ // Fallback for old system
17859
+ this._updatingEndpoints = true;
17860
+ if (controlKey === 'p1') {
17861
+ this.x1 = newX;
17862
+ this.y1 = newY;
17863
+ } else if (controlKey === 'p2') {
17864
+ this.x2 = newX;
17865
+ this.y2 = newY;
17866
+ }
17867
+ this._setWidthHeight();
17868
+ this.dirty = true;
17869
+ this._updatingEndpoints = false;
17870
+ (_this$canvas6 = this.canvas) === null || _this$canvas6 === void 0 || _this$canvas6.requestRenderAll();
17871
+ this.fire('modified', {
17872
+ transform: transformData,
17873
+ target: this,
17874
+ e: eventData
17875
+ });
17876
+ return true;
17877
+ }
17878
+ _snapToAngle(fromX, fromY, toX, toY) {
17879
+ const deltaX = toX - fromX;
17880
+ const deltaY = toY - fromY;
17881
+ const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
17882
+ if (distance === 0) return {
17883
+ x: toX,
17884
+ y: toY
17885
+ };
17886
+ let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI);
17887
+ const snapIncrement = 15;
17888
+ const snappedAngle = Math.round(angle / snapIncrement) * snapIncrement;
17889
+ const snappedRadians = snappedAngle * (Math.PI / 180);
17890
+ return {
17891
+ x: fromX + Math.cos(snappedRadians) * distance,
17892
+ y: fromY + Math.sin(snappedRadians) * distance
17893
+ };
17894
+ }
17670
17895
  _setWidthHeight() {
17671
- const {
17672
- x1,
17673
- y1,
17674
- x2,
17675
- y2
17676
- } = this;
17677
- this.width = Math.abs(x2 - x1);
17678
- this.height = Math.abs(y2 - y1);
17679
- const {
17680
- left,
17681
- top,
17682
- width,
17683
- height
17684
- } = makeBoundingBoxFromPoints([{
17685
- x: x1,
17686
- y: y1
17687
- }, {
17688
- x: x2,
17689
- y: y2
17690
- }]);
17691
- const position = new Point(left + width / 2, top + height / 2);
17692
- this.setPositionByOrigin(position, CENTER, CENTER);
17896
+ let skipReposition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
17897
+ this.width = Math.abs(this.x2 - this.x1) || 1;
17898
+ this.height = Math.abs(this.y2 - this.y1) || 1;
17899
+ if (!skipReposition && !this._updatingEndpoints) {
17900
+ const {
17901
+ left,
17902
+ top,
17903
+ width,
17904
+ height
17905
+ } = makeBoundingBoxFromPoints([{
17906
+ x: this.x1,
17907
+ y: this.y1
17908
+ }, {
17909
+ x: this.x2,
17910
+ y: this.y2
17911
+ }]);
17912
+ this.setPositionByOrigin(new Point(left + width / 2, top + height / 2), CENTER, CENTER);
17913
+ }
17693
17914
  }
17694
-
17695
- /**
17696
- * @private
17697
- * @param {String} key
17698
- * @param {*} value
17699
- */
17700
17915
  _set(key, value) {
17916
+ const oldLeft = this.left;
17917
+ const oldTop = this.top;
17701
17918
  super._set(key, value);
17702
17919
  if (coordProps.includes(key)) {
17703
- // this doesn't make sense very much, since setting x1 when top or left
17704
- // are already set, is just going to show a strange result since the
17705
- // line will move way more than the developer expect.
17706
- // in fabric5 it worked only when the line didn't have extra transformations,
17707
- // in fabric6 too. With extra transform they behave bad in different ways.
17708
- // This needs probably a good rework or a tutorial if you have to create a dynamic line
17709
17920
  this._setWidthHeight();
17921
+ this.dirty = true;
17922
+ }
17923
+ if ((key === 'left' || key === 'top') && this.canvas && !this._updatingEndpoints) {
17924
+ const deltaX = this.left - oldLeft;
17925
+ const deltaY = this.top - oldTop;
17926
+ if (deltaX !== 0 || deltaY !== 0) {
17927
+ this._updatingEndpoints = true;
17928
+ this.x1 += deltaX;
17929
+ this.y1 += deltaY;
17930
+ this.x2 += deltaX;
17931
+ this.y2 += deltaY;
17932
+ this._updatingEndpoints = false;
17933
+ }
17710
17934
  }
17711
17935
  return this;
17712
17936
  }
17713
-
17714
- /**
17715
- * @private
17716
- * @param {CanvasRenderingContext2D} ctx Context to render on
17717
- */
17937
+ render(ctx) {
17938
+ if (this._useEndpointCoords) {
17939
+ this._renderDirectly(ctx);
17940
+ return;
17941
+ }
17942
+ super.render(ctx);
17943
+ }
17944
+ _renderDirectly(ctx) {
17945
+ var _this$canvas7, _this$stroke;
17946
+ if (!this.visible) return;
17947
+ ctx.save();
17948
+ const vpt = ((_this$canvas7 = this.canvas) === null || _this$canvas7 === void 0 ? void 0 : _this$canvas7.viewportTransform) || [1, 0, 0, 1, 0, 0];
17949
+ ctx.transform(vpt[0], vpt[1], vpt[2], vpt[3], vpt[4], vpt[5]);
17950
+ ctx.globalAlpha = this.opacity;
17951
+ ctx.strokeStyle = ((_this$stroke = this.stroke) === null || _this$stroke === void 0 ? void 0 : _this$stroke.toString()) || '#000';
17952
+ ctx.lineWidth = this.strokeWidth;
17953
+ ctx.lineCap = this.strokeLineCap || 'butt';
17954
+ ctx.beginPath();
17955
+ ctx.moveTo(this.x1, this.y1);
17956
+ ctx.lineTo(this.x2, this.y2);
17957
+ ctx.stroke();
17958
+ ctx.restore();
17959
+ }
17718
17960
  _render(ctx) {
17961
+ if (this._useEndpointCoords) return;
17719
17962
  ctx.beginPath();
17720
17963
  const p = this.calcLinePoints();
17721
17964
  ctx.moveTo(p.x1, p.y1);
17722
17965
  ctx.lineTo(p.x2, p.y2);
17723
17966
  ctx.lineWidth = this.strokeWidth;
17724
-
17725
- // TODO: test this
17726
- // make sure setting "fill" changes color of a line
17727
- // (by copying fillStyle to strokeStyle, since line is stroked, not filled)
17728
17967
  const origStrokeStyle = ctx.strokeStyle;
17729
17968
  if (isFiller(this.stroke)) {
17730
17969
  ctx.strokeStyle = this.stroke.toLive(ctx);
17731
- } else {
17732
- var _this$stroke;
17733
- ctx.strokeStyle = (_this$stroke = this.stroke) !== null && _this$stroke !== void 0 ? _this$stroke : ctx.fillStyle;
17734
17970
  }
17735
17971
  this.stroke && this._renderStroke(ctx);
17736
17972
  ctx.strokeStyle = origStrokeStyle;
17737
17973
  }
17738
-
17739
- /**
17740
- * This function is an helper for svg import. it returns the center of the object in the svg
17741
- * untransformed coordinates
17742
- * @private
17743
- * @return {Point} center point from element coordinates
17744
- */
17745
17974
  _findCenterFromElement() {
17746
17975
  return new Point((this.x1 + this.x2) / 2, (this.y1 + this.y2) / 2);
17747
17976
  }
17748
-
17749
- /**
17750
- * Returns object representation of an instance
17751
- * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
17752
- * @return {Object} object representation of an instance
17753
- */
17754
17977
  toObject() {
17755
17978
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
17756
17979
  return {
@@ -17758,32 +17981,25 @@ class Line extends FabricObject {
17758
17981
  ...this.calcLinePoints()
17759
17982
  };
17760
17983
  }
17761
-
17762
- /*
17763
- * Calculate object dimensions from its properties
17764
- * @private
17765
- */
17766
17984
  _getNonTransformedDimensions() {
17767
17985
  const dim = super._getNonTransformedDimensions();
17768
- if (this.strokeLineCap === 'butt') {
17769
- if (this.width === 0) {
17770
- dim.y -= this.strokeWidth;
17771
- }
17772
- if (this.height === 0) {
17773
- dim.x -= this.strokeWidth;
17774
- }
17986
+ if (this.strokeLineCap === 'round') {
17987
+ dim.x += this.strokeWidth;
17988
+ dim.y += this.strokeWidth;
17775
17989
  }
17776
17990
  return dim;
17777
17991
  }
17778
-
17779
- /**
17780
- * Recalculates line points given width and height
17781
- * Those points are simply placed around the center,
17782
- * This is not useful outside internal render functions and svg output
17783
- * Is not meant to be for the developer.
17784
- * @private
17785
- */
17786
17992
  calcLinePoints() {
17993
+ if (this._updatingEndpoints) {
17994
+ const centerX = (this.x1 + this.x2) / 2;
17995
+ const centerY = (this.y1 + this.y2) / 2;
17996
+ return {
17997
+ x1: this.x1 - centerX,
17998
+ y1: this.y1 - centerY,
17999
+ x2: this.x2 - centerX,
18000
+ y2: this.y2 - centerY
18001
+ };
18002
+ }
17787
18003
  const {
17788
18004
  x1: _x1,
17789
18005
  x2: _x2,
@@ -17792,27 +18008,15 @@ class Line extends FabricObject {
17792
18008
  width,
17793
18009
  height
17794
18010
  } = this;
17795
- const xMult = _x1 <= _x2 ? -1 : 1,
17796
- yMult = _y1 <= _y2 ? -1 : 1,
17797
- x1 = xMult * width / 2,
17798
- y1 = yMult * height / 2,
17799
- x2 = xMult * -width / 2,
17800
- y2 = yMult * -height / 2;
18011
+ const xMult = _x1 <= _x2 ? -1 : 1;
18012
+ const yMult = _y1 <= _y2 ? -1 : 1;
17801
18013
  return {
17802
- x1,
17803
- x2,
17804
- y1,
17805
- y2
18014
+ x1: xMult * width / 2,
18015
+ y1: yMult * height / 2,
18016
+ x2: xMult * -width / 2,
18017
+ y2: yMult * -height / 2
17806
18018
  };
17807
18019
  }
17808
-
17809
- /* _FROM_SVG_START_ */
17810
-
17811
- /**
17812
- * Returns svg representation of an instance
17813
- * @return {Array} an array of strings with the specific svg representation
17814
- * of the instance
17815
- */
17816
18020
  _toSVG() {
17817
18021
  const {
17818
18022
  x1,
@@ -17822,18 +18026,6 @@ class Line extends FabricObject {
17822
18026
  } = this.calcLinePoints();
17823
18027
  return ['<line ', 'COMMON_PARTS', `x1="${x1}" y1="${y1}" x2="${x2}" y2="${y2}" />\n`];
17824
18028
  }
17825
-
17826
- /**
17827
- * List of attribute names to account for when parsing SVG element (used by {@link Line.fromElement})
17828
- * @see http://www.w3.org/TR/SVG/shapes.html#LineElement
17829
- */
17830
-
17831
- /**
17832
- * Returns Line instance from an SVG element
17833
- * @param {HTMLElement} element Element to parse
17834
- * @param {Object} [options] Options object
17835
- * @param {Function} [callback] callback function invoked after parsing
17836
- */
17837
18029
  static async fromElement(element, options, cssRules) {
17838
18030
  const {
17839
18031
  x1 = 0,
@@ -17844,14 +18036,6 @@ class Line extends FabricObject {
17844
18036
  } = parseAttributes(element, this.ATTRIBUTE_NAMES, cssRules);
17845
18037
  return new this([x1, y1, x2, y2], parsedAttributes);
17846
18038
  }
17847
-
17848
- /* _FROM_SVG_END_ */
17849
-
17850
- /**
17851
- * Returns Line instance from an object representation
17852
- * @param {Object} object Object to create an instance from
17853
- * @returns {Promise<Line>}
17854
- */
17855
18039
  static fromObject(_ref) {
17856
18040
  let {
17857
18041
  x1,
@@ -17868,32 +18052,195 @@ class Line extends FabricObject {
17868
18052
  });
17869
18053
  }
17870
18054
  }
18055
+ _defineProperty(Line, "type", 'Line');
18056
+ _defineProperty(Line, "cacheProperties", [...cacheProperties, ...coordProps]);
18057
+ _defineProperty(Line, "ATTRIBUTE_NAMES", SHARED_ATTRIBUTES.concat(coordProps));
18058
+ classRegistry.setClass(Line);
18059
+ classRegistry.setSVGClass(Line);
18060
+
17871
18061
  /**
17872
- * x value or first line edge
17873
- * @type number
18062
+ * Calculate the distance between two points
17874
18063
  */
18064
+ function pointDistance(p1, p2) {
18065
+ return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
18066
+ }
18067
+
17875
18068
  /**
17876
- * y value or first line edge
17877
- * @type number
18069
+ * Normalize a vector
17878
18070
  */
18071
+ function normalizeVector(vector) {
18072
+ const length = Math.sqrt(vector.x * vector.x + vector.y * vector.y);
18073
+ if (length === 0) return {
18074
+ x: 0,
18075
+ y: 0
18076
+ };
18077
+ return {
18078
+ x: vector.x / length,
18079
+ y: vector.y / length
18080
+ };
18081
+ }
18082
+
17879
18083
  /**
17880
- * x value or second line edge
17881
- * @type number
18084
+ * Get the maximum allowed radius for a corner based on adjacent edge lengths
17882
18085
  */
18086
+ function getMaxRadius(prevPoint, currentPoint, nextPoint) {
18087
+ const dist1 = pointDistance(prevPoint, currentPoint);
18088
+ const dist2 = pointDistance(currentPoint, nextPoint);
18089
+ return Math.min(dist1, dist2) / 2;
18090
+ }
18091
+
17883
18092
  /**
17884
- * y value or second line edge
17885
- * @type number
18093
+ * Calculate rounded corner data for a single corner
17886
18094
  */
17887
- _defineProperty(Line, "type", 'Line');
17888
- _defineProperty(Line, "cacheProperties", [...cacheProperties, ...coordProps]);
17889
- _defineProperty(Line, "ATTRIBUTE_NAMES", SHARED_ATTRIBUTES.concat(coordProps));
17890
- classRegistry.setClass(Line);
17891
- classRegistry.setSVGClass(Line);
18095
+ function calculateRoundedCorner(prevPoint, currentPoint, nextPoint, radius) {
18096
+ // Calculate edge vectors
18097
+ const edge1 = {
18098
+ x: currentPoint.x - prevPoint.x,
18099
+ y: currentPoint.y - prevPoint.y
18100
+ };
18101
+ const edge2 = {
18102
+ x: nextPoint.x - currentPoint.x,
18103
+ y: nextPoint.y - currentPoint.y
18104
+ };
18105
+
18106
+ // Normalize edge vectors
18107
+ const norm1 = normalizeVector(edge1);
18108
+ const norm2 = normalizeVector(edge2);
18109
+
18110
+ // Calculate the maximum allowed radius
18111
+ const maxRadius = getMaxRadius(prevPoint, currentPoint, nextPoint);
18112
+ const actualRadius = Math.min(radius, maxRadius);
18113
+
18114
+ // Calculate start and end points of the rounded corner
18115
+ const startPoint = {
18116
+ x: currentPoint.x - norm1.x * actualRadius,
18117
+ y: currentPoint.y - norm1.y * actualRadius
18118
+ };
18119
+ const endPoint = {
18120
+ x: currentPoint.x + norm2.x * actualRadius,
18121
+ y: currentPoint.y + norm2.y * actualRadius
18122
+ };
18123
+
18124
+ // Calculate control points for bezier curve
18125
+ // Using the magic number kRect for optimal circular approximation
18126
+ const controlOffset = actualRadius * kRect;
18127
+ const cp1 = {
18128
+ x: startPoint.x + norm1.x * controlOffset,
18129
+ y: startPoint.y + norm1.y * controlOffset
18130
+ };
18131
+ const cp2 = {
18132
+ x: endPoint.x - norm2.x * controlOffset,
18133
+ y: endPoint.y - norm2.y * controlOffset
18134
+ };
18135
+ return {
18136
+ corner: currentPoint,
18137
+ start: startPoint,
18138
+ end: endPoint,
18139
+ cp1,
18140
+ cp2,
18141
+ actualRadius
18142
+ };
18143
+ }
18144
+
18145
+ /**
18146
+ * Apply corner radius to a polygon defined by points
18147
+ */
18148
+ function applyCornerRadiusToPolygon(points, radius) {
18149
+ let radiusAsPercentage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
18150
+ if (points.length < 3) {
18151
+ throw new Error('Polygon must have at least 3 points');
18152
+ }
18153
+
18154
+ // Calculate bounding box if radius is percentage-based
18155
+ let actualRadius = radius;
18156
+ if (radiusAsPercentage) {
18157
+ const minX = Math.min(...points.map(p => p.x));
18158
+ const maxX = Math.max(...points.map(p => p.x));
18159
+ const minY = Math.min(...points.map(p => p.y));
18160
+ const maxY = Math.max(...points.map(p => p.y));
18161
+ const width = maxX - minX;
18162
+ const height = maxY - minY;
18163
+ const minDimension = Math.min(width, height);
18164
+ actualRadius = radius / 100 * minDimension;
18165
+ }
18166
+ const roundedCorners = [];
18167
+ for (let i = 0; i < points.length; i++) {
18168
+ const prevIndex = (i - 1 + points.length) % points.length;
18169
+ const nextIndex = (i + 1) % points.length;
18170
+ const prevPoint = points[prevIndex];
18171
+ const currentPoint = points[i];
18172
+ const nextPoint = points[nextIndex];
18173
+ const roundedCorner = calculateRoundedCorner(prevPoint, currentPoint, nextPoint, actualRadius);
18174
+ roundedCorners.push(roundedCorner);
18175
+ }
18176
+ return roundedCorners;
18177
+ }
18178
+
18179
+ /**
18180
+ * Render a rounded polygon to a canvas context
18181
+ */
18182
+ function renderRoundedPolygon(ctx, roundedCorners) {
18183
+ let closed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
18184
+ if (roundedCorners.length === 0) return;
18185
+ ctx.beginPath();
18186
+
18187
+ // Start at the first corner's start point
18188
+ const firstCorner = roundedCorners[0];
18189
+ ctx.moveTo(firstCorner.start.x, firstCorner.start.y);
18190
+ for (let i = 0; i < roundedCorners.length; i++) {
18191
+ const corner = roundedCorners[i];
18192
+ const nextIndex = (i + 1) % roundedCorners.length;
18193
+ const nextCorner = roundedCorners[nextIndex];
18194
+
18195
+ // Draw the rounded corner using bezier curve
18196
+ ctx.bezierCurveTo(corner.cp1.x, corner.cp1.y, corner.cp2.x, corner.cp2.y, corner.end.x, corner.end.y);
18197
+
18198
+ // Draw line to next corner's start point (if not the last segment in open path)
18199
+ if (i < roundedCorners.length - 1 || closed) {
18200
+ ctx.lineTo(nextCorner.start.x, nextCorner.start.y);
18201
+ }
18202
+ }
18203
+ if (closed) {
18204
+ ctx.closePath();
18205
+ }
18206
+ }
18207
+
18208
+ /**
18209
+ * Generate SVG path data for a rounded polygon
18210
+ */
18211
+ function generateRoundedPolygonPath(roundedCorners) {
18212
+ let closed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
18213
+ if (roundedCorners.length === 0) return '';
18214
+ const pathData = [];
18215
+ const firstCorner = roundedCorners[0];
18216
+
18217
+ // Move to first corner's start point
18218
+ pathData.push(`M ${firstCorner.start.x} ${firstCorner.start.y}`);
18219
+ for (let i = 0; i < roundedCorners.length; i++) {
18220
+ const corner = roundedCorners[i];
18221
+ const nextIndex = (i + 1) % roundedCorners.length;
18222
+ const nextCorner = roundedCorners[nextIndex];
18223
+
18224
+ // Add bezier curve for the rounded corner
18225
+ pathData.push(`C ${corner.cp1.x} ${corner.cp1.y} ${corner.cp2.x} ${corner.cp2.y} ${corner.end.x} ${corner.end.y}`);
18226
+
18227
+ // Add line to next corner's start point (if not the last segment in open path)
18228
+ if (i < roundedCorners.length - 1 || closed) {
18229
+ pathData.push(`L ${nextCorner.start.x} ${nextCorner.start.y}`);
18230
+ }
18231
+ }
18232
+ if (closed) {
18233
+ pathData.push('Z');
18234
+ }
18235
+ return pathData.join(' ');
18236
+ }
17892
18237
 
17893
18238
  const triangleDefaultValues = {
17894
18239
  width: 100,
17895
- height: 100
18240
+ height: 100,
18241
+ cornerRadius: 0
17896
18242
  };
18243
+ const TRIANGLE_PROPS = ['cornerRadius'];
17897
18244
  class Triangle extends FabricObject {
17898
18245
  static getDefaults() {
17899
18246
  return {
@@ -17912,34 +18259,90 @@ class Triangle extends FabricObject {
17912
18259
  this.setOptions(options);
17913
18260
  }
17914
18261
 
18262
+ /**
18263
+ * Get triangle points as an array of XY coordinates
18264
+ * @private
18265
+ */
18266
+ _getTrianglePoints() {
18267
+ const widthBy2 = this.width / 2;
18268
+ const heightBy2 = this.height / 2;
18269
+ return [{
18270
+ x: -widthBy2,
18271
+ y: heightBy2
18272
+ },
18273
+ // bottom left
18274
+ {
18275
+ x: 0,
18276
+ y: -heightBy2
18277
+ },
18278
+ // top center
18279
+ {
18280
+ x: widthBy2,
18281
+ y: heightBy2
18282
+ } // bottom right
18283
+ ];
18284
+ }
18285
+
17915
18286
  /**
17916
18287
  * @private
17917
18288
  * @param {CanvasRenderingContext2D} ctx Context to render on
17918
18289
  */
17919
18290
  _render(ctx) {
17920
- const widthBy2 = this.width / 2,
17921
- heightBy2 = this.height / 2;
17922
- ctx.beginPath();
17923
- ctx.moveTo(-widthBy2, heightBy2);
17924
- ctx.lineTo(0, -heightBy2);
17925
- ctx.lineTo(widthBy2, heightBy2);
17926
- ctx.closePath();
18291
+ if (this.cornerRadius > 0) {
18292
+ // Render rounded triangle
18293
+ const points = this._getTrianglePoints();
18294
+ const roundedCorners = applyCornerRadiusToPolygon(points, this.cornerRadius);
18295
+ renderRoundedPolygon(ctx, roundedCorners, true);
18296
+ } else {
18297
+ // Render sharp triangle (original implementation)
18298
+ const widthBy2 = this.width / 2;
18299
+ const heightBy2 = this.height / 2;
18300
+ ctx.beginPath();
18301
+ ctx.moveTo(-widthBy2, heightBy2);
18302
+ ctx.lineTo(0, -heightBy2);
18303
+ ctx.lineTo(widthBy2, heightBy2);
18304
+ ctx.closePath();
18305
+ }
17927
18306
  this._renderPaintInOrder(ctx);
17928
18307
  }
17929
18308
 
18309
+ /**
18310
+ * Returns object representation of an instance
18311
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
18312
+ * @return {Object} object representation of an instance
18313
+ */
18314
+ toObject() {
18315
+ let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
18316
+ return super.toObject([...TRIANGLE_PROPS, ...propertiesToInclude]);
18317
+ }
18318
+
17930
18319
  /**
17931
18320
  * Returns svg representation of an instance
17932
18321
  * @return {Array} an array of strings with the specific svg representation
17933
18322
  * of the instance
17934
18323
  */
17935
18324
  _toSVG() {
17936
- const widthBy2 = this.width / 2,
17937
- heightBy2 = this.height / 2,
17938
- points = `${-widthBy2} ${heightBy2},0 ${-heightBy2},${widthBy2} ${heightBy2}`;
17939
- return ['<polygon ', 'COMMON_PARTS', 'points="', points, '" />'];
18325
+ if (this.cornerRadius > 0) {
18326
+ // Generate rounded triangle as path
18327
+ const points = this._getTrianglePoints();
18328
+ const roundedCorners = applyCornerRadiusToPolygon(points, this.cornerRadius);
18329
+ const pathData = generateRoundedPolygonPath(roundedCorners, true);
18330
+ return ['<path ', 'COMMON_PARTS', `d="${pathData}" />`];
18331
+ } else {
18332
+ // Original sharp triangle implementation
18333
+ const widthBy2 = this.width / 2;
18334
+ const heightBy2 = this.height / 2;
18335
+ const points = `${-widthBy2} ${heightBy2},0 ${-heightBy2},${widthBy2} ${heightBy2}`;
18336
+ return ['<polygon ', 'COMMON_PARTS', 'points="', points, '" />'];
18337
+ }
17940
18338
  }
17941
18339
  }
18340
+ /**
18341
+ * Corner radius for rounded triangle corners
18342
+ * @type Number
18343
+ */
17942
18344
  _defineProperty(Triangle, "type", 'Triangle');
18345
+ _defineProperty(Triangle, "cacheProperties", [...cacheProperties, ...TRIANGLE_PROPS]);
17943
18346
  _defineProperty(Triangle, "ownDefaults", triangleDefaultValues);
17944
18347
  classRegistry.setClass(Triangle);
17945
18348
  classRegistry.setSVGClass(Triangle);
@@ -18104,7 +18507,8 @@ const polylineDefaultValues = {
18104
18507
  /**
18105
18508
  * @deprecated transient option soon to be removed in favor of a different design
18106
18509
  */
18107
- exactBoundingBox: false
18510
+ exactBoundingBox: false,
18511
+ cornerRadius: 0
18108
18512
  };
18109
18513
  class Polyline extends FabricObject {
18110
18514
  static getDefaults() {
@@ -18318,7 +18722,7 @@ class Polyline extends FabricObject {
18318
18722
  toObject() {
18319
18723
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
18320
18724
  return {
18321
- ...super.toObject(propertiesToInclude),
18725
+ ...super.toObject(['cornerRadius', ...propertiesToInclude]),
18322
18726
  points: this.points.map(_ref => {
18323
18727
  let {
18324
18728
  x,
@@ -18338,14 +18742,28 @@ class Polyline extends FabricObject {
18338
18742
  * of the instance
18339
18743
  */
18340
18744
  _toSVG() {
18341
- const points = [],
18342
- diffX = this.pathOffset.x,
18343
- diffY = this.pathOffset.y,
18344
- NUM_FRACTION_DIGITS = config.NUM_FRACTION_DIGITS;
18345
- for (let i = 0, len = this.points.length; i < len; i++) {
18346
- points.push(toFixed(this.points[i].x - diffX, NUM_FRACTION_DIGITS), ',', toFixed(this.points[i].y - diffY, NUM_FRACTION_DIGITS), ' ');
18745
+ if (this.cornerRadius > 0 && this.points.length >= 3) {
18746
+ // Generate rounded polygon/polyline as path
18747
+ const diffX = this.pathOffset.x;
18748
+ const diffY = this.pathOffset.y;
18749
+ const adjustedPoints = this.points.map(point => ({
18750
+ x: point.x - diffX,
18751
+ y: point.y - diffY
18752
+ }));
18753
+ const roundedCorners = applyCornerRadiusToPolygon(adjustedPoints, this.cornerRadius);
18754
+ const pathData = generateRoundedPolygonPath(roundedCorners, !this.isOpen());
18755
+ return ['<path ', 'COMMON_PARTS', `d="${pathData}" />\n`];
18756
+ } else {
18757
+ // Original sharp corners implementation
18758
+ const points = [];
18759
+ const diffX = this.pathOffset.x;
18760
+ const diffY = this.pathOffset.y;
18761
+ const NUM_FRACTION_DIGITS = config.NUM_FRACTION_DIGITS;
18762
+ for (let i = 0, len = this.points.length; i < len; i++) {
18763
+ points.push(toFixed(this.points[i].x - diffX, NUM_FRACTION_DIGITS), ',', toFixed(this.points[i].y - diffY, NUM_FRACTION_DIGITS), ' ');
18764
+ }
18765
+ return [`<${this.constructor.type.toLowerCase()} `, 'COMMON_PARTS', `points="${points.join('')}" />\n`];
18347
18766
  }
18348
- return [`<${this.constructor.type.toLowerCase()} `, 'COMMON_PARTS', `points="${points.join('')}" />\n`];
18349
18767
  }
18350
18768
 
18351
18769
  /**
@@ -18361,13 +18779,24 @@ class Polyline extends FabricObject {
18361
18779
  // NaN comes from parseFloat of a empty string in parser
18362
18780
  return;
18363
18781
  }
18364
- ctx.beginPath();
18365
- ctx.moveTo(this.points[0].x - x, this.points[0].y - y);
18366
- for (let i = 0; i < len; i++) {
18367
- const point = this.points[i];
18368
- ctx.lineTo(point.x - x, point.y - y);
18782
+ if (this.cornerRadius > 0 && len >= 3) {
18783
+ // Render with rounded corners
18784
+ const adjustedPoints = this.points.map(point => ({
18785
+ x: point.x - x,
18786
+ y: point.y - y
18787
+ }));
18788
+ const roundedCorners = applyCornerRadiusToPolygon(adjustedPoints, this.cornerRadius);
18789
+ renderRoundedPolygon(ctx, roundedCorners, !this.isOpen());
18790
+ } else {
18791
+ // Original sharp corners implementation
18792
+ ctx.beginPath();
18793
+ ctx.moveTo(this.points[0].x - x, this.points[0].y - y);
18794
+ for (let i = 0; i < len; i++) {
18795
+ const point = this.points[i];
18796
+ ctx.lineTo(point.x - x, point.y - y);
18797
+ }
18798
+ !this.isOpen() && ctx.closePath();
18369
18799
  }
18370
- !this.isOpen() && ctx.closePath();
18371
18800
  this._renderPaintInOrder(ctx);
18372
18801
  }
18373
18802
 
@@ -18432,10 +18861,15 @@ class Polyline extends FabricObject {
18432
18861
  * @type Boolean
18433
18862
  * @default false
18434
18863
  */
18864
+ /**
18865
+ * Corner radius for rounded corners
18866
+ * @type Number
18867
+ * @default 0
18868
+ */
18435
18869
  _defineProperty(Polyline, "ownDefaults", polylineDefaultValues);
18436
18870
  _defineProperty(Polyline, "type", 'Polyline');
18437
18871
  _defineProperty(Polyline, "layoutProperties", [SKEW_X, SKEW_Y, 'strokeLineCap', 'strokeLineJoin', 'strokeMiterLimit', 'strokeWidth', 'strokeUniform', 'points']);
18438
- _defineProperty(Polyline, "cacheProperties", [...cacheProperties, 'points']);
18872
+ _defineProperty(Polyline, "cacheProperties", [...cacheProperties, 'points', 'cornerRadius']);
18439
18873
  _defineProperty(Polyline, "ATTRIBUTE_NAMES", [...SHARED_ATTRIBUTES]);
18440
18874
  classRegistry.setClass(Polyline);
18441
18875
  classRegistry.setSVGClass(Polyline);
@@ -18729,8 +19163,8 @@ _defineProperty(StyledText, "_styleProperties", styleProperties);
18729
19163
  // Global measurement context - reused for performance
18730
19164
  let measurementContext = null;
18731
19165
 
18732
- /**
18733
- * Get or create the shared measurement context
19166
+ /**
19167
+ * Get or create the shared measurement context
18734
19168
  */
18735
19169
  function getMeasurementContext() {
18736
19170
  if (!measurementContext) {
@@ -18743,8 +19177,8 @@ function getMeasurementContext() {
18743
19177
  return measurementContext;
18744
19178
  }
18745
19179
 
18746
- /**
18747
- * Measure a single grapheme
19180
+ /**
19181
+ * Measure a single grapheme
18748
19182
  */
18749
19183
  function measureGrapheme(grapheme, options, ctx) {
18750
19184
  // Check cache first
@@ -18777,8 +19211,8 @@ function measureGrapheme(grapheme, options, ctx) {
18777
19211
  return measurement;
18778
19212
  }
18779
19213
 
18780
- /**
18781
- * Measure a grapheme with kerning relative to previous character
19214
+ /**
19215
+ * Measure a grapheme with kerning relative to previous character
18782
19216
  */
18783
19217
  function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
18784
19218
  // Get individual measurement
@@ -18819,8 +19253,8 @@ function measureGraphemeWithKerning(grapheme, previousGrapheme, options, ctx) {
18819
19253
  };
18820
19254
  }
18821
19255
 
18822
- /**
18823
- * Get font metrics for layout calculations
19256
+ /**
19257
+ * Get font metrics for layout calculations
18824
19258
  */
18825
19259
  function getFontMetrics(options) {
18826
19260
  var _metrics$fontBounding, _metrics$fontBounding2, _metrics$actualBoundi, _metrics$actualBoundi2;
@@ -18855,8 +19289,8 @@ function getFontMetrics(options) {
18855
19289
  return result;
18856
19290
  }
18857
19291
 
18858
- /**
18859
- * Apply font styling to canvas context
19292
+ /**
19293
+ * Apply font styling to canvas context
18860
19294
  */
18861
19295
  function applyFontStyle(ctx, options) {
18862
19296
  const fontDeclaration = getFontDeclaration(options);
@@ -18873,8 +19307,8 @@ function applyFontStyle(ctx, options) {
18873
19307
  ctx.textBaseline = 'alphabetic';
18874
19308
  }
18875
19309
 
18876
- /**
18877
- * Generate font declaration string
19310
+ /**
19311
+ * Generate font declaration string
18878
19312
  */
18879
19313
  function getFontDeclaration(options) {
18880
19314
  const {
@@ -18889,8 +19323,8 @@ function getFontDeclaration(options) {
18889
19323
  return `${fontStyle} ${fontWeight} ${fontSize}px ${normalizedFamily}`;
18890
19324
  }
18891
19325
 
18892
- /**
18893
- * LRU Cache implementation for measurements
19326
+ /**
19327
+ * LRU Cache implementation for measurements
18894
19328
  */
18895
19329
  class LRUCache {
18896
19330
  constructor() {
@@ -18952,8 +19386,8 @@ class LRUCache {
18952
19386
  }
18953
19387
  }
18954
19388
 
18955
- /**
18956
- * Advanced measurement cache with font-aware keys
19389
+ /**
19390
+ * Advanced measurement cache with font-aware keys
18957
19391
  */
18958
19392
  class MeasurementCache {
18959
19393
  constructor() {
@@ -18980,8 +19414,8 @@ class MeasurementCache {
18980
19414
  }
18981
19415
  }
18982
19416
 
18983
- /**
18984
- * Kerning cache for character pairs
19417
+ /**
19418
+ * Kerning cache for character pairs
18985
19419
  */
18986
19420
  class KerningCache {
18987
19421
  constructor() {
@@ -19009,8 +19443,8 @@ class KerningCache {
19009
19443
  }
19010
19444
  }
19011
19445
 
19012
- /**
19013
- * Font metrics cache
19446
+ /**
19447
+ * Font metrics cache
19014
19448
  */
19015
19449
  class FontMetricsCache {
19016
19450
  constructor() {
@@ -19037,17 +19471,17 @@ const measurementCache = new MeasurementCache();
19037
19471
  const kerningCache = new KerningCache();
19038
19472
  const fontMetricsCache = new FontMetricsCache();
19039
19473
 
19040
- /**
19041
- * Unicode and Internationalization Support
19042
- *
19043
- * Enhanced Unicode handling for complex scripts, RTL/LTR text,
19044
- * and grapheme cluster boundary detection.
19474
+ /**
19475
+ * Unicode and Internationalization Support
19476
+ *
19477
+ * Enhanced Unicode handling for complex scripts, RTL/LTR text,
19478
+ * and grapheme cluster boundary detection.
19045
19479
  */
19046
19480
 
19047
19481
 
19048
- /**
19049
- * Enhanced grapheme segmentation using Intl.Segmenter when available
19050
- * with fallback to existing graphemeSplit implementation
19482
+ /**
19483
+ * Enhanced grapheme segmentation using Intl.Segmenter when available
19484
+ * with fallback to existing graphemeSplit implementation
19051
19485
  */
19052
19486
  function segmentGraphemes(text) {
19053
19487
  // Use native Intl.Segmenter if available
@@ -19067,15 +19501,15 @@ function segmentGraphemes(text) {
19067
19501
  return graphemeSplit(text);
19068
19502
  }
19069
19503
 
19070
- /**
19071
- * Ellipsis Text Truncation System
19072
- *
19073
- * Implements text truncation with ellipsis when content exceeds bounds,
19074
- * using binary search for optimal truncation points.
19504
+ /**
19505
+ * Ellipsis Text Truncation System
19506
+ *
19507
+ * Implements text truncation with ellipsis when content exceeds bounds,
19508
+ * using binary search for optimal truncation points.
19075
19509
  */
19076
19510
 
19077
- /**
19078
- * Apply ellipsis truncation to text based on width/height constraints
19511
+ /**
19512
+ * Apply ellipsis truncation to text based on width/height constraints
19079
19513
  */
19080
19514
  function applyEllipsis(text, options) {
19081
19515
  const {
@@ -19145,8 +19579,8 @@ function applyEllipsis(text, options) {
19145
19579
  };
19146
19580
  }
19147
19581
 
19148
- /**
19149
- * Truncate text based on width constraint using binary search
19582
+ /**
19583
+ * Truncate text based on width constraint using binary search
19150
19584
  */
19151
19585
  function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn) {
19152
19586
  const graphemes = segmentGraphemes(text);
@@ -19196,8 +19630,8 @@ function truncateByWidth(text, maxWidth, ellipsisChar, ellipsisWidth, measureFn)
19196
19630
  };
19197
19631
  }
19198
19632
 
19199
- /**
19200
- * Truncate text based on height constraint
19633
+ /**
19634
+ * Truncate text based on height constraint
19201
19635
  */
19202
19636
  function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19203
19637
  var _measureFn;
@@ -19245,19 +19679,19 @@ function truncateByHeight(text, maxHeight, ellipsisChar, measureFn) {
19245
19679
  return truncateByWidth(lines[0], firstLineWidth, ellipsisChar, 0, measureFn);
19246
19680
  }
19247
19681
 
19248
- /**
19249
- * Core Text Layout Engine
19250
- *
19251
- * Implements Konva-compatible text layout with support for:
19252
- * - Multiple wrap modes (word/char/none)
19253
- * - Ellipsis truncation
19254
- * - Justify alignment with proper space distribution
19255
- * - RTL/LTR text direction
19256
- * - Advanced grapheme handling
19682
+ /**
19683
+ * Core Text Layout Engine
19684
+ *
19685
+ * Implements Konva-compatible text layout with support for:
19686
+ * - Multiple wrap modes (word/char/none)
19687
+ * - Ellipsis truncation
19688
+ * - Justify alignment with proper space distribution
19689
+ * - RTL/LTR text direction
19690
+ * - Advanced grapheme handling
19257
19691
  */
19258
19692
 
19259
- /**
19260
- * Main text layout function - converts text and options into positioned layout
19693
+ /**
19694
+ * Main text layout function - converts text and options into positioned layout
19261
19695
  */
19262
19696
  function layoutText(options) {
19263
19697
  var _ellipsisResult;
@@ -19376,8 +19810,8 @@ function layoutText(options) {
19376
19810
  };
19377
19811
  }
19378
19812
 
19379
- /**
19380
- * Layout a single paragraph with wrapping
19813
+ /**
19814
+ * Layout a single paragraph with wrapping
19381
19815
  */
19382
19816
  function layoutParagraph(text, options) {
19383
19817
  const {
@@ -19412,8 +19846,8 @@ function layoutParagraph(text, options) {
19412
19846
  return layoutLines;
19413
19847
  }
19414
19848
 
19415
- /**
19416
- * Layout a single line of text (no wrapping)
19849
+ /**
19850
+ * Layout a single line of text (no wrapping)
19417
19851
  */
19418
19852
  function layoutSingleLine(text, options) {
19419
19853
  let textOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
@@ -19483,8 +19917,8 @@ function layoutSingleLine(text, options) {
19483
19917
  };
19484
19918
  }
19485
19919
 
19486
- /**
19487
- * Word-based wrapping algorithm
19920
+ /**
19921
+ * Word-based wrapping algorithm
19488
19922
  */
19489
19923
  function wrapByWords(text, maxWidth, options) {
19490
19924
  const lines = [];
@@ -19517,8 +19951,8 @@ function wrapByWords(text, maxWidth, options) {
19517
19951
  return lines.length > 0 ? lines : [''];
19518
19952
  }
19519
19953
 
19520
- /**
19521
- * Character-based wrapping algorithm
19954
+ /**
19955
+ * Character-based wrapping algorithm
19522
19956
  */
19523
19957
  function wrapByCharacters(text, maxWidth, options) {
19524
19958
  const lines = [];
@@ -19540,8 +19974,8 @@ function wrapByCharacters(text, maxWidth, options) {
19540
19974
  return lines.length > 0 ? lines : [''];
19541
19975
  }
19542
19976
 
19543
- /**
19544
- * Apply text alignment to lines
19977
+ /**
19978
+ * Apply text alignment to lines
19545
19979
  */
19546
19980
  function applyAlignment(lines, align, containerWidth, options) {
19547
19981
  return lines.map(line => {
@@ -19575,8 +20009,8 @@ function applyAlignment(lines, align, containerWidth, options) {
19575
20009
  });
19576
20010
  }
19577
20011
 
19578
- /**
19579
- * Apply justify alignment by expanding spaces
20012
+ /**
20013
+ * Apply justify alignment by expanding spaces
19580
20014
  */
19581
20015
  function applyJustification(line, containerWidth, options) {
19582
20016
  const spaces = line.graphemes.filter(g => /\s/.test(g)).length;
@@ -19599,8 +20033,8 @@ function applyJustification(line, containerWidth, options) {
19599
20033
  return line;
19600
20034
  }
19601
20035
 
19602
- /**
19603
- * Calculate vertical alignment offset
20036
+ /**
20037
+ * Calculate vertical alignment offset
19604
20038
  */
19605
20039
  function calculateVerticalOffset(contentHeight, containerHeight, align) {
19606
20040
  switch (align) {
@@ -19614,8 +20048,8 @@ function calculateVerticalOffset(contentHeight, containerHeight, align) {
19614
20048
  }
19615
20049
  }
19616
20050
 
19617
- /**
19618
- * Handle height overflow with ellipsis
20051
+ /**
20052
+ * Handle height overflow with ellipsis
19619
20053
  */
19620
20054
  function handleHeightOverflow(existingLines, overflowLine, remainingHeight, options) {
19621
20055
  // If ellipsis is enabled, try to fit part of the overflow line
@@ -19644,8 +20078,8 @@ function handleHeightOverflow(existingLines, overflowLine, remainingHeight, opti
19644
20078
  };
19645
20079
  }
19646
20080
 
19647
- /**
19648
- * Create empty line for empty paragraphs
20081
+ /**
20082
+ * Create empty line for empty paragraphs
19649
20083
  */
19650
20084
  function createEmptyLine(options) {
19651
20085
  const height = options.fontSize * options.lineHeight;
@@ -19661,8 +20095,8 @@ function createEmptyLine(options) {
19661
20095
  };
19662
20096
  }
19663
20097
 
19664
- /**
19665
- * Measure width of a line of text
20098
+ /**
20099
+ * Measure width of a line of text
19666
20100
  */
19667
20101
  function measureLineWidth(text, options) {
19668
20102
  const graphemes = segmentGraphemes(text);
@@ -19679,8 +20113,8 @@ function measureLineWidth(text, options) {
19679
20113
  return width;
19680
20114
  }
19681
20115
 
19682
- /**
19683
- * Convert layout options to measurement options
20116
+ /**
20117
+ * Convert layout options to measurement options
19684
20118
  */
19685
20119
  function createMeasurementOptions(options) {
19686
20120
  return {
@@ -19923,15 +20357,15 @@ class TextSVGExportMixin extends FabricObjectSVGExportMixin {
19923
20357
  }
19924
20358
  }
19925
20359
 
19926
- /**
19927
- * Browser Line Break Extraction
19928
- *
19929
- * Captures exact line breaks as rendered by the browser to ensure
19930
- * pixel-perfect consistency between DOM editing and canvas rendering.
20360
+ /**
20361
+ * Browser Line Break Extraction
20362
+ *
20363
+ * Captures exact line breaks as rendered by the browser to ensure
20364
+ * pixel-perfect consistency between DOM editing and canvas rendering.
19931
20365
  */
19932
20366
 
19933
- /**
19934
- * Segment text into graphemes safely using Intl.Segmenter or fallback
20367
+ /**
20368
+ * Segment text into graphemes safely using Intl.Segmenter or fallback
19935
20369
  */
19936
20370
  function segmentIntoGraphemes(text) {
19937
20371
  if (typeof Intl !== 'undefined' && Intl.Segmenter) {
@@ -19945,9 +20379,9 @@ function segmentIntoGraphemes(text) {
19945
20379
  return Array.from(text);
19946
20380
  }
19947
20381
 
19948
- /**
19949
- * Extract line break information from a textarea by creating a mirror element
19950
- * with identical computed styles and measuring grapheme positions.
20382
+ /**
20383
+ * Extract line break information from a textarea by creating a mirror element
20384
+ * with identical computed styles and measuring grapheme positions.
19951
20385
  */
19952
20386
  function extractLinesFromDOM(textarea) {
19953
20387
  const text = textarea.value;
@@ -20042,16 +20476,16 @@ function extractLinesFromDOM(textarea) {
20042
20476
  }
20043
20477
  }
20044
20478
 
20045
- /**
20046
- * Create a hash of layout-affecting properties to detect when browser lines are still valid
20479
+ /**
20480
+ * Create a hash of layout-affecting properties to detect when browser lines are still valid
20047
20481
  */
20048
20482
  function createLayoutHash(target) {
20049
20483
  const properties = [target.text, target.width, target.height, target.fontFamily, target.fontSize, target.fontWeight, target.fontStyle, target.lineHeight, target.charSpacing, target.textAlign, target.direction];
20050
20484
  return properties.map(p => String(p)).join('|');
20051
20485
  }
20052
20486
 
20053
- /**
20054
- * Check if stored browser lines are still valid for the current target state
20487
+ /**
20488
+ * Check if stored browser lines are still valid for the current target state
20055
20489
  */
20056
20490
  function areBrowserLinesValid(target, storedHash) {
20057
20491
  if (!storedHash || !target.__lastBrowserLines) {
@@ -20061,24 +20495,24 @@ function areBrowserLinesValid(target, storedHash) {
20061
20495
  return currentHash === storedHash;
20062
20496
  }
20063
20497
 
20064
- /**
20065
- * Store browser lines on a target object with validity hash
20498
+ /**
20499
+ * Store browser lines on a target object with validity hash
20066
20500
  */
20067
20501
  function storeBrowserLines(target, lines, layoutHash) {
20068
20502
  target.__lastBrowserLines = lines;
20069
20503
  target.__lastBrowserLinesHash = createLayoutHash(target);
20070
20504
  }
20071
20505
 
20072
- /**
20073
- * Clear stored browser lines from a target object
20506
+ /**
20507
+ * Clear stored browser lines from a target object
20074
20508
  */
20075
20509
  function clearBrowserLines(target) {
20076
20510
  delete target.__lastBrowserLines;
20077
20511
  delete target.__lastBrowserLinesHash;
20078
20512
  }
20079
20513
 
20080
- /**
20081
- * Get stored browser lines if they're still valid
20514
+ /**
20515
+ * Get stored browser lines if they're still valid
20082
20516
  */
20083
20517
  function getBrowserLines(target) {
20084
20518
  const lines = target.__lastBrowserLines;
@@ -20091,9 +20525,9 @@ function getBrowserLines(target) {
20091
20525
 
20092
20526
  let measuringContext;
20093
20527
 
20094
- /**
20095
- * Return a context for measurement of text string.
20096
- * if created it gets stored for reuse
20528
+ /**
20529
+ * Return a context for measurement of text string.
20530
+ * if created it gets stored for reuse
20097
20531
  */
20098
20532
  function getMeasuringContext() {
20099
20533
  if (!measuringContext) {
@@ -20106,17 +20540,17 @@ function getMeasuringContext() {
20106
20540
  return measuringContext;
20107
20541
  }
20108
20542
 
20109
- /**
20110
- * Measure and return the info of a single grapheme.
20111
- * needs the the info of previous graphemes already filled
20112
- * Override to customize measuring
20543
+ /**
20544
+ * Measure and return the info of a single grapheme.
20545
+ * needs the the info of previous graphemes already filled
20546
+ * Override to customize measuring
20113
20547
  */
20114
20548
 
20115
20549
  // @TODO this is not complete
20116
20550
 
20117
- /**
20118
- * Text class
20119
- * @see {@link http://fabricjs.com/fabric-intro-part-2#text}
20551
+ /**
20552
+ * Text class
20553
+ * @see {@link http://fabricjs.com/fabric-intro-part-2#text}
20120
20554
  */
20121
20555
  class FabricText extends StyledText {
20122
20556
  static getDefaults() {
@@ -20127,11 +20561,11 @@ class FabricText extends StyledText {
20127
20561
  }
20128
20562
  constructor(text, options) {
20129
20563
  super();
20130
- /**
20131
- * contains characters bounding boxes
20132
- * This variable is considered to be protected.
20133
- * But for how mixins are implemented right now, we can't leave it private
20134
- * @protected
20564
+ /**
20565
+ * contains characters bounding boxes
20566
+ * This variable is considered to be protected.
20567
+ * But for how mixins are implemented right now, we can't leave it private
20568
+ * @protected
20135
20569
  */
20136
20570
  _defineProperty(this, "__charBounds", []);
20137
20571
  Object.assign(this, FabricText.ownDefaults);
@@ -20148,9 +20582,9 @@ class FabricText extends StyledText {
20148
20582
  this.setCoords();
20149
20583
  }
20150
20584
 
20151
- /**
20152
- * If text has a path, it will add the extra information needed
20153
- * for path and text calculations
20585
+ /**
20586
+ * If text has a path, it will add the extra information needed
20587
+ * for path and text calculations
20154
20588
  */
20155
20589
  setPathInfo() {
20156
20590
  const path = this.path;
@@ -20159,10 +20593,10 @@ class FabricText extends StyledText {
20159
20593
  }
20160
20594
  }
20161
20595
 
20162
- /**
20163
- * @private
20164
- * Divides text into lines of text and lines of graphemes.
20165
- * Uses browser lines when available for pixel-perfect consistency.
20596
+ /**
20597
+ * @private
20598
+ * Divides text into lines of text and lines of graphemes.
20599
+ * Uses browser lines when available for pixel-perfect consistency.
20166
20600
  */
20167
20601
  _splitText() {
20168
20602
  // Check if we have valid browser lines and should use them
@@ -20178,9 +20612,9 @@ class FabricText extends StyledText {
20178
20612
  return newLines;
20179
20613
  }
20180
20614
 
20181
- /**
20182
- * Create TextLinesInfo from browser-extracted lines
20183
- * @private
20615
+ /**
20616
+ * Create TextLinesInfo from browser-extracted lines
20617
+ * @private
20184
20618
  */
20185
20619
  _splitTextFromBrowserLines(browserLines) {
20186
20620
  const lines = [];
@@ -20214,10 +20648,10 @@ class FabricText extends StyledText {
20214
20648
  return result;
20215
20649
  }
20216
20650
 
20217
- /**
20218
- * Initialize or update text dimensions.
20219
- * Updates this.width and this.height with the proper values.
20220
- * Does not return dimensions.
20651
+ /**
20652
+ * Initialize or update text dimensions.
20653
+ * Updates this.width and this.height with the proper values.
20654
+ * Does not return dimensions.
20221
20655
  */
20222
20656
  initDimensions() {
20223
20657
  // Use advanced layout if enabled
@@ -20240,8 +20674,8 @@ class FabricText extends StyledText {
20240
20674
  }
20241
20675
  }
20242
20676
 
20243
- /**
20244
- * Enlarge space boxes and shift the others
20677
+ /**
20678
+ * Enlarge space boxes and shift the others
20245
20679
  */
20246
20680
  enlargeSpaces() {
20247
20681
  let diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;
@@ -20300,18 +20734,18 @@ class FabricText extends StyledText {
20300
20734
  }
20301
20735
  }
20302
20736
 
20303
- /**
20304
- * Advanced layout using new text engine (Konva-compatible)
20305
- * @private
20737
+ /**
20738
+ * Advanced layout using new text engine (Konva-compatible)
20739
+ * @private
20306
20740
  */
20307
20741
  _layoutTextAdvanced() {
20308
20742
  const options = this._getAdvancedLayoutOptions();
20309
20743
  return layoutText(options);
20310
20744
  }
20311
20745
 
20312
- /**
20313
- * Get advanced layout options from current text properties
20314
- * @private
20746
+ /**
20747
+ * Get advanced layout options from current text properties
20748
+ * @private
20315
20749
  */
20316
20750
  _getAdvancedLayoutOptions() {
20317
20751
  return {
@@ -20333,9 +20767,9 @@ class FabricText extends StyledText {
20333
20767
  };
20334
20768
  }
20335
20769
 
20336
- /**
20337
- * Map Fabric textAlign to Konva align format
20338
- * @private
20770
+ /**
20771
+ * Map Fabric textAlign to Konva align format
20772
+ * @private
20339
20773
  */
20340
20774
  _mapTextAlignToAlign(textAlign) {
20341
20775
  switch (textAlign) {
@@ -20356,8 +20790,8 @@ class FabricText extends StyledText {
20356
20790
  }
20357
20791
  }
20358
20792
 
20359
- /**
20360
- * Enhanced initDimensions that uses advanced layout when enabled
20793
+ /**
20794
+ * Enhanced initDimensions that uses advanced layout when enabled
20361
20795
  */
20362
20796
  initDimensionsAdvanced() {
20363
20797
  if (!this.enableAdvancedLayout) {
@@ -20374,9 +20808,9 @@ class FabricText extends StyledText {
20374
20808
  this.dirty = true;
20375
20809
  }
20376
20810
 
20377
- /**
20378
- * Convert new layout format to legacy _textLines and __charBounds format
20379
- * @private
20811
+ /**
20812
+ * Convert new layout format to legacy _textLines and __charBounds format
20813
+ * @private
20380
20814
  */
20381
20815
  _convertLayoutToLegacyFormat(layout) {
20382
20816
  this._textLines = layout.lines.map(line => line.graphemes);
@@ -20398,30 +20832,30 @@ class FabricText extends StyledText {
20398
20832
  }
20399
20833
  }
20400
20834
 
20401
- /**
20402
- * Detect if the text line is ended with an hard break
20403
- * text and itext do not have wrapping, return false
20404
- * @return {Boolean}
20835
+ /**
20836
+ * Detect if the text line is ended with an hard break
20837
+ * text and itext do not have wrapping, return false
20838
+ * @return {Boolean}
20405
20839
  */
20406
20840
  isEndOfWrapping(lineIndex) {
20407
20841
  return lineIndex === this._textLines.length - 1;
20408
20842
  }
20409
20843
 
20410
- /**
20411
- * Detect if a line has a linebreak and so we need to account for it when moving
20412
- * and counting style.
20413
- * It return always 1 for text and Itext. Textbox has its own implementation
20414
- * @return Number
20844
+ /**
20845
+ * Detect if a line has a linebreak and so we need to account for it when moving
20846
+ * and counting style.
20847
+ * It return always 1 for text and Itext. Textbox has its own implementation
20848
+ * @return Number
20415
20849
  */
20416
20850
 
20417
20851
  missingNewlineOffset(_lineIndex) {
20418
20852
  return 1;
20419
20853
  }
20420
20854
 
20421
- /**
20422
- * Returns 2d representation (lineIndex and charIndex) of cursor
20423
- * @param {Number} selectionStart
20424
- * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
20855
+ /**
20856
+ * Returns 2d representation (lineIndex and charIndex) of cursor
20857
+ * @param {Number} selectionStart
20858
+ * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
20425
20859
  */
20426
20860
  get2DCursorLocation(selectionStart, skipWrapping) {
20427
20861
  const lines = skipWrapping ? this._unwrappedTextLines : this._textLines;
@@ -20441,24 +20875,24 @@ class FabricText extends StyledText {
20441
20875
  };
20442
20876
  }
20443
20877
 
20444
- /**
20445
- * Returns string representation of an instance
20446
- * @return {String} String representation of text object
20878
+ /**
20879
+ * Returns string representation of an instance
20880
+ * @return {String} String representation of text object
20447
20881
  */
20448
20882
  toString() {
20449
20883
  return `#<Text (${this.complexity()}): { "text": "${this.text}", "fontFamily": "${this.fontFamily}" }>`;
20450
20884
  }
20451
20885
 
20452
- /**
20453
- * Return the dimension and the zoom level needed to create a cache canvas
20454
- * big enough to host the object to be cached.
20455
- * @private
20456
- * @param {Object} dim.x width of object to be cached
20457
- * @param {Object} dim.y height of object to be cached
20458
- * @return {Object}.width width of canvas
20459
- * @return {Object}.height height of canvas
20460
- * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
20461
- * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
20886
+ /**
20887
+ * Return the dimension and the zoom level needed to create a cache canvas
20888
+ * big enough to host the object to be cached.
20889
+ * @private
20890
+ * @param {Object} dim.x width of object to be cached
20891
+ * @param {Object} dim.y height of object to be cached
20892
+ * @return {Object}.width width of canvas
20893
+ * @return {Object}.height height of canvas
20894
+ * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache
20895
+ * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache
20462
20896
  */
20463
20897
  _getCacheCanvasDimensions() {
20464
20898
  const dims = super._getCacheCanvasDimensions();
@@ -20468,9 +20902,9 @@ class FabricText extends StyledText {
20468
20902
  return dims;
20469
20903
  }
20470
20904
 
20471
- /**
20472
- * @private
20473
- * @param {CanvasRenderingContext2D} ctx Context to render on
20905
+ /**
20906
+ * @private
20907
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20474
20908
  */
20475
20909
  _render(ctx) {
20476
20910
  const path = this.path;
@@ -20483,9 +20917,9 @@ class FabricText extends StyledText {
20483
20917
  this._renderTextDecoration(ctx, 'linethrough');
20484
20918
  }
20485
20919
 
20486
- /**
20487
- * @private
20488
- * @param {CanvasRenderingContext2D} ctx Context to render on
20920
+ /**
20921
+ * @private
20922
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20489
20923
  */
20490
20924
  _renderText(ctx) {
20491
20925
  // Skip text rendering if in overlay editing mode
@@ -20501,15 +20935,15 @@ class FabricText extends StyledText {
20501
20935
  }
20502
20936
  }
20503
20937
 
20504
- /**
20505
- * Set the font parameter of the context with the object properties or with charStyle
20506
- * @private
20507
- * @param {CanvasRenderingContext2D} ctx Context to render on
20508
- * @param {Object} [charStyle] object with font style properties
20509
- * @param {String} [charStyle.fontFamily] Font Family
20510
- * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
20511
- * @param {String} [charStyle.fontWeight] Font weight
20512
- * @param {String} [charStyle.fontStyle] Font style (italic|normal)
20938
+ /**
20939
+ * Set the font parameter of the context with the object properties or with charStyle
20940
+ * @private
20941
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20942
+ * @param {Object} [charStyle] object with font style properties
20943
+ * @param {String} [charStyle.fontFamily] Font Family
20944
+ * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )
20945
+ * @param {String} [charStyle.fontWeight] Font weight
20946
+ * @param {String} [charStyle.fontStyle] Font style (italic|normal)
20513
20947
  */
20514
20948
  _setTextStyles(ctx, charStyle, forMeasuring) {
20515
20949
  ctx.textBaseline = 'alphabetic';
@@ -20529,11 +20963,11 @@ class FabricText extends StyledText {
20529
20963
  ctx.font = this._getFontDeclaration(charStyle, forMeasuring);
20530
20964
  }
20531
20965
 
20532
- /**
20533
- * calculate and return the text Width measuring each line.
20534
- * @private
20535
- * @param {CanvasRenderingContext2D} ctx Context to render on
20536
- * @return {Number} Maximum width of Text object
20966
+ /**
20967
+ * calculate and return the text Width measuring each line.
20968
+ * @private
20969
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20970
+ * @return {Number} Maximum width of Text object
20537
20971
  */
20538
20972
  calcTextWidth() {
20539
20973
  let maxWidth = this.getLineWidth(0);
@@ -20546,23 +20980,23 @@ class FabricText extends StyledText {
20546
20980
  return maxWidth;
20547
20981
  }
20548
20982
 
20549
- /**
20550
- * @private
20551
- * @param {String} method Method name ("fillText" or "strokeText")
20552
- * @param {CanvasRenderingContext2D} ctx Context to render on
20553
- * @param {String} line Text to render
20554
- * @param {Number} left Left position of text
20555
- * @param {Number} top Top position of text
20556
- * @param {Number} lineIndex Index of a line in a text
20983
+ /**
20984
+ * @private
20985
+ * @param {String} method Method name ("fillText" or "strokeText")
20986
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20987
+ * @param {String} line Text to render
20988
+ * @param {Number} left Left position of text
20989
+ * @param {Number} top Top position of text
20990
+ * @param {Number} lineIndex Index of a line in a text
20557
20991
  */
20558
20992
  _renderTextLine(method, ctx, line, left, top, lineIndex) {
20559
20993
  this._renderChars(method, ctx, line, left, top, lineIndex);
20560
20994
  }
20561
20995
 
20562
- /**
20563
- * Renders the text background for lines, taking care of style
20564
- * @private
20565
- * @param {CanvasRenderingContext2D} ctx Context to render on
20996
+ /**
20997
+ * Renders the text background for lines, taking care of style
20998
+ * @private
20999
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20566
21000
  */
20567
21001
  _renderTextLinesBackground(ctx) {
20568
21002
  if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {
@@ -20625,15 +21059,15 @@ class FabricText extends StyledText {
20625
21059
  this._removeShadow(ctx);
20626
21060
  }
20627
21061
 
20628
- /**
20629
- * measure and return the width of a single character.
20630
- * possibly overridden to accommodate different measure logic or
20631
- * to hook some external lib for character measurement
20632
- * @private
20633
- * @param {String} _char, char to be measured
20634
- * @param {Object} charStyle style of char to be measured
20635
- * @param {String} [previousChar] previous char
20636
- * @param {Object} [prevCharStyle] style of previous char
21062
+ /**
21063
+ * measure and return the width of a single character.
21064
+ * possibly overridden to accommodate different measure logic or
21065
+ * to hook some external lib for character measurement
21066
+ * @private
21067
+ * @param {String} _char, char to be measured
21068
+ * @param {Object} charStyle style of char to be measured
21069
+ * @param {String} [previousChar] previous char
21070
+ * @param {Object} [prevCharStyle] style of previous char
20637
21071
  */
20638
21072
  _measureChar(_char, charStyle, previousChar, prevCharStyle) {
20639
21073
  const fontCache = cache.getFontCache(charStyle),
@@ -20678,19 +21112,19 @@ class FabricText extends StyledText {
20678
21112
  };
20679
21113
  }
20680
21114
 
20681
- /**
20682
- * Computes height of character at given position
20683
- * @param {Number} line the line index number
20684
- * @param {Number} _char the character index number
20685
- * @return {Number} fontSize of the character
21115
+ /**
21116
+ * Computes height of character at given position
21117
+ * @param {Number} line the line index number
21118
+ * @param {Number} _char the character index number
21119
+ * @return {Number} fontSize of the character
20686
21120
  */
20687
21121
  getHeightOfChar(line, _char) {
20688
21122
  return this.getValueOfPropertyAt(line, _char, 'fontSize');
20689
21123
  }
20690
21124
 
20691
- /**
20692
- * measure a text line measuring all characters.
20693
- * @param {Number} lineIndex line number
21125
+ /**
21126
+ * measure a text line measuring all characters.
21127
+ * @param {Number} lineIndex line number
20694
21128
  */
20695
21129
  measureLine(lineIndex) {
20696
21130
  const lineInfo = this._measureLine(lineIndex);
@@ -20703,11 +21137,11 @@ class FabricText extends StyledText {
20703
21137
  return lineInfo;
20704
21138
  }
20705
21139
 
20706
- /**
20707
- * measure every grapheme of a line, populating __charBounds
20708
- * @param {Number} lineIndex
20709
- * @return {Object} object.width total width of characters
20710
- * @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
21140
+ /**
21141
+ * measure every grapheme of a line, populating __charBounds
21142
+ * @param {Number} lineIndex
21143
+ * @return {Object} object.width total width of characters
21144
+ * @return {Object} object.numOfSpaces length of chars that match this._reSpacesAndTabs
20711
21145
  */
20712
21146
  _measureLine(lineIndex) {
20713
21147
  let width = 0,
@@ -20770,13 +21204,13 @@ class FabricText extends StyledText {
20770
21204
  };
20771
21205
  }
20772
21206
 
20773
- /**
20774
- * Calculate the angle and the left,top position of the char that follow a path.
20775
- * It appends it to graphemeInfo to be reused later at rendering
20776
- * @private
20777
- * @param {Number} positionInPath to be measured
20778
- * @param {GraphemeBBox} graphemeInfo current grapheme box information
20779
- * @param {Object} startingPoint position of the point
21207
+ /**
21208
+ * Calculate the angle and the left,top position of the char that follow a path.
21209
+ * It appends it to graphemeInfo to be reused later at rendering
21210
+ * @private
21211
+ * @param {Number} positionInPath to be measured
21212
+ * @param {GraphemeBBox} graphemeInfo current grapheme box information
21213
+ * @param {Object} startingPoint position of the point
20780
21214
  */
20781
21215
  _setGraphemeOnPath(positionInPath, graphemeInfo) {
20782
21216
  const centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,
@@ -20789,13 +21223,13 @@ class FabricText extends StyledText {
20789
21223
  graphemeInfo.angle = info.angle + (this.pathSide === RIGHT ? Math.PI : 0);
20790
21224
  }
20791
21225
 
20792
- /**
20793
- *
20794
- * @param {String} grapheme to be measured
20795
- * @param {Number} lineIndex index of the line where the char is
20796
- * @param {Number} charIndex position in the line
20797
- * @param {String} [prevGrapheme] character preceding the one to be measured
20798
- * @returns {GraphemeBBox} grapheme bbox
21226
+ /**
21227
+ *
21228
+ * @param {String} grapheme to be measured
21229
+ * @param {Number} lineIndex index of the line where the char is
21230
+ * @param {Number} charIndex position in the line
21231
+ * @param {String} [prevGrapheme] character preceding the one to be measured
21232
+ * @returns {GraphemeBBox} grapheme bbox
20799
21233
  */
20800
21234
  _getGraphemeBox(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {
20801
21235
  const style = this.getCompleteStyleDeclaration(lineIndex, charIndex),
@@ -20823,10 +21257,10 @@ class FabricText extends StyledText {
20823
21257
  return box;
20824
21258
  }
20825
21259
 
20826
- /**
20827
- * Calculate height of line at 'lineIndex'
20828
- * @param {Number} lineIndex index of line to calculate
20829
- * @return {Number}
21260
+ /**
21261
+ * Calculate height of line at 'lineIndex'
21262
+ * @param {Number} lineIndex index of line to calculate
21263
+ * @return {Number}
20830
21264
  */
20831
21265
  getHeightOfLine(lineIndex) {
20832
21266
  if (this.__lineHeights[lineIndex]) {
@@ -20842,8 +21276,8 @@ class FabricText extends StyledText {
20842
21276
  return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
20843
21277
  }
20844
21278
 
20845
- /**
20846
- * Calculate text box height
21279
+ /**
21280
+ * Calculate text box height
20847
21281
  */
20848
21282
  calcTextHeight() {
20849
21283
  let lineHeight,
@@ -20855,26 +21289,26 @@ class FabricText extends StyledText {
20855
21289
  return height;
20856
21290
  }
20857
21291
 
20858
- /**
20859
- * @private
20860
- * @return {Number} Left offset
21292
+ /**
21293
+ * @private
21294
+ * @return {Number} Left offset
20861
21295
  */
20862
21296
  _getLeftOffset() {
20863
21297
  return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;
20864
21298
  }
20865
21299
 
20866
- /**
20867
- * @private
20868
- * @return {Number} Top offset
21300
+ /**
21301
+ * @private
21302
+ * @return {Number} Top offset
20869
21303
  */
20870
21304
  _getTopOffset() {
20871
21305
  return -this.height / 2;
20872
21306
  }
20873
21307
 
20874
- /**
20875
- * @private
20876
- * @param {CanvasRenderingContext2D} ctx Context to render on
20877
- * @param {String} method Method name ("fillText" or "strokeText")
21308
+ /**
21309
+ * @private
21310
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21311
+ * @param {String} method Method name ("fillText" or "strokeText")
20878
21312
  */
20879
21313
  _renderTextCommon(ctx, method) {
20880
21314
  ctx.save();
@@ -20891,9 +21325,9 @@ class FabricText extends StyledText {
20891
21325
  ctx.restore();
20892
21326
  }
20893
21327
 
20894
- /**
20895
- * @private
20896
- * @param {CanvasRenderingContext2D} ctx Context to render on
21328
+ /**
21329
+ * @private
21330
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20897
21331
  */
20898
21332
  _renderTextFill(ctx) {
20899
21333
  if (!this.fill && !this.styleHas(FILL)) {
@@ -20902,9 +21336,9 @@ class FabricText extends StyledText {
20902
21336
  this._renderTextCommon(ctx, 'fillText');
20903
21337
  }
20904
21338
 
20905
- /**
20906
- * @private
20907
- * @param {CanvasRenderingContext2D} ctx Context to render on
21339
+ /**
21340
+ * @private
21341
+ * @param {CanvasRenderingContext2D} ctx Context to render on
20908
21342
  */
20909
21343
  _renderTextStroke(ctx) {
20910
21344
  if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {
@@ -20921,14 +21355,14 @@ class FabricText extends StyledText {
20921
21355
  ctx.restore();
20922
21356
  }
20923
21357
 
20924
- /**
20925
- * @private
20926
- * @param {String} method fillText or strokeText.
20927
- * @param {CanvasRenderingContext2D} ctx Context to render on
20928
- * @param {Array} line Content of the line, splitted in an array by grapheme
20929
- * @param {Number} left
20930
- * @param {Number} top
20931
- * @param {Number} lineIndex
21358
+ /**
21359
+ * @private
21360
+ * @param {String} method fillText or strokeText.
21361
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21362
+ * @param {Array} line Content of the line, splitted in an array by grapheme
21363
+ * @param {Number} left
21364
+ * @param {Number} top
21365
+ * @param {Number} lineIndex
20932
21366
  */
20933
21367
  _renderChars(method, ctx, line, left, top, lineIndex) {
20934
21368
  const lineHeight = this.getHeightOfLine(lineIndex),
@@ -21010,16 +21444,16 @@ class FabricText extends StyledText {
21010
21444
  ctx.restore();
21011
21445
  }
21012
21446
 
21013
- /**
21014
- * This function try to patch the missing gradientTransform on canvas gradients.
21015
- * transforming a context to transform the gradient, is going to transform the stroke too.
21016
- * we want to transform the gradient but not the stroke operation, so we create
21017
- * a transformed gradient on a pattern and then we use the pattern instead of the gradient.
21018
- * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
21019
- * is limited.
21020
- * @private
21021
- * @param {TFiller} filler a fabric gradient instance
21022
- * @return {CanvasPattern} a pattern to use as fill/stroke style
21447
+ /**
21448
+ * This function try to patch the missing gradientTransform on canvas gradients.
21449
+ * transforming a context to transform the gradient, is going to transform the stroke too.
21450
+ * we want to transform the gradient but not the stroke operation, so we create
21451
+ * a transformed gradient on a pattern and then we use the pattern instead of the gradient.
21452
+ * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size
21453
+ * is limited.
21454
+ * @private
21455
+ * @param {TFiller} filler a fabric gradient instance
21456
+ * @return {CanvasPattern} a pattern to use as fill/stroke style
21023
21457
  */
21024
21458
  _applyPatternGradientTransformText(filler) {
21025
21459
  // TODO: verify compatibility with strokeUniform
@@ -21075,12 +21509,12 @@ class FabricText extends StyledText {
21075
21509
  };
21076
21510
  }
21077
21511
 
21078
- /**
21079
- * This function prepare the canvas for a stroke style, and stroke and strokeWidth
21080
- * need to be sent in as defined
21081
- * @param {CanvasRenderingContext2D} ctx
21082
- * @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
21083
- * @returns
21512
+ /**
21513
+ * This function prepare the canvas for a stroke style, and stroke and strokeWidth
21514
+ * need to be sent in as defined
21515
+ * @param {CanvasRenderingContext2D} ctx
21516
+ * @param {CompleteTextStyleDeclaration} style with stroke and strokeWidth defined
21517
+ * @returns
21084
21518
  */
21085
21519
  _setStrokeStyles(ctx, _ref) {
21086
21520
  let {
@@ -21095,12 +21529,12 @@ class FabricText extends StyledText {
21095
21529
  return this.handleFiller(ctx, 'strokeStyle', stroke);
21096
21530
  }
21097
21531
 
21098
- /**
21099
- * This function prepare the canvas for a ill style, and fill
21100
- * need to be sent in as defined
21101
- * @param {CanvasRenderingContext2D} ctx
21102
- * @param {CompleteTextStyleDeclaration} style with ill defined
21103
- * @returns
21532
+ /**
21533
+ * This function prepare the canvas for a ill style, and fill
21534
+ * need to be sent in as defined
21535
+ * @param {CanvasRenderingContext2D} ctx
21536
+ * @param {CompleteTextStyleDeclaration} style with ill defined
21537
+ * @returns
21104
21538
  */
21105
21539
  _setFillStyles(ctx, _ref2) {
21106
21540
  let {
@@ -21109,16 +21543,16 @@ class FabricText extends StyledText {
21109
21543
  return this.handleFiller(ctx, 'fillStyle', fill);
21110
21544
  }
21111
21545
 
21112
- /**
21113
- * @private
21114
- * @param {String} method
21115
- * @param {CanvasRenderingContext2D} ctx Context to render on
21116
- * @param {Number} lineIndex
21117
- * @param {Number} charIndex
21118
- * @param {String} _char
21119
- * @param {Number} left Left coordinate
21120
- * @param {Number} top Top coordinate
21121
- * @param {Number} lineHeight Height of the line
21546
+ /**
21547
+ * @private
21548
+ * @param {String} method
21549
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21550
+ * @param {Number} lineIndex
21551
+ * @param {Number} charIndex
21552
+ * @param {String} _char
21553
+ * @param {Number} left Left coordinate
21554
+ * @param {Number} top Top coordinate
21555
+ * @param {Number} lineHeight Height of the line
21122
21556
  */
21123
21557
  _renderChar(method, ctx, lineIndex, charIndex, _char, left, top) {
21124
21558
  const decl = this._getStyleDeclaration(lineIndex, charIndex),
@@ -21147,30 +21581,30 @@ class FabricText extends StyledText {
21147
21581
  ctx.restore();
21148
21582
  }
21149
21583
 
21150
- /**
21151
- * Turns the character into a 'superior figure' (i.e. 'superscript')
21152
- * @param {Number} start selection start
21153
- * @param {Number} end selection end
21584
+ /**
21585
+ * Turns the character into a 'superior figure' (i.e. 'superscript')
21586
+ * @param {Number} start selection start
21587
+ * @param {Number} end selection end
21154
21588
  */
21155
21589
  setSuperscript(start, end) {
21156
21590
  this._setScript(start, end, this.superscript);
21157
21591
  }
21158
21592
 
21159
- /**
21160
- * Turns the character into an 'inferior figure' (i.e. 'subscript')
21161
- * @param {Number} start selection start
21162
- * @param {Number} end selection end
21593
+ /**
21594
+ * Turns the character into an 'inferior figure' (i.e. 'subscript')
21595
+ * @param {Number} start selection start
21596
+ * @param {Number} end selection end
21163
21597
  */
21164
21598
  setSubscript(start, end) {
21165
21599
  this._setScript(start, end, this.subscript);
21166
21600
  }
21167
21601
 
21168
- /**
21169
- * Applies 'schema' at given position
21170
- * @private
21171
- * @param {Number} start selection start
21172
- * @param {Number} end selection end
21173
- * @param {Number} schema
21602
+ /**
21603
+ * Applies 'schema' at given position
21604
+ * @private
21605
+ * @param {Number} start selection start
21606
+ * @param {Number} end selection end
21607
+ * @param {Number} schema
21174
21608
  */
21175
21609
  _setScript(start, end, schema) {
21176
21610
  const loc = this.get2DCursorLocation(start, true),
@@ -21183,10 +21617,10 @@ class FabricText extends StyledText {
21183
21617
  this.setSelectionStyles(style, start, end);
21184
21618
  }
21185
21619
 
21186
- /**
21187
- * @private
21188
- * @param {Number} lineIndex index text line
21189
- * @return {Number} Line left offset
21620
+ /**
21621
+ * @private
21622
+ * @param {Number} lineIndex index text line
21623
+ * @return {Number} Line left offset
21190
21624
  */
21191
21625
  _getLineLeftOffset(lineIndex) {
21192
21626
  const lineWidth = this.getLineWidth(lineIndex),
@@ -21236,8 +21670,8 @@ class FabricText extends StyledText {
21236
21670
  return leftOffset;
21237
21671
  }
21238
21672
 
21239
- /**
21240
- * @private
21673
+ /**
21674
+ * @private
21241
21675
  */
21242
21676
  _clearCache() {
21243
21677
  this._forceClearCache = false;
@@ -21246,12 +21680,12 @@ class FabricText extends StyledText {
21246
21680
  this.__charBounds = [];
21247
21681
  }
21248
21682
 
21249
- /**
21250
- * Measure a single line given its index. Used to calculate the initial
21251
- * text bounding box. The values are calculated and stored in __lineWidths cache.
21252
- * @private
21253
- * @param {Number} lineIndex line number
21254
- * @return {Number} Line width
21683
+ /**
21684
+ * Measure a single line given its index. Used to calculate the initial
21685
+ * text bounding box. The values are calculated and stored in __lineWidths cache.
21686
+ * @private
21687
+ * @param {Number} lineIndex line number
21688
+ * @return {Number} Line width
21255
21689
  */
21256
21690
  getLineWidth(lineIndex) {
21257
21691
  if (this.__lineWidths[lineIndex] !== undefined) {
@@ -21270,12 +21704,12 @@ class FabricText extends StyledText {
21270
21704
  return 0;
21271
21705
  }
21272
21706
 
21273
- /**
21274
- * Retrieves the value of property at given character position
21275
- * @param {Number} lineIndex the line number
21276
- * @param {Number} charIndex the character number
21277
- * @param {String} property the property name
21278
- * @returns the value of 'property'
21707
+ /**
21708
+ * Retrieves the value of property at given character position
21709
+ * @param {Number} lineIndex the line number
21710
+ * @param {Number} charIndex the character number
21711
+ * @param {String} property the property name
21712
+ * @returns the value of 'property'
21279
21713
  */
21280
21714
  getValueOfPropertyAt(lineIndex, charIndex, property) {
21281
21715
  var _charStyle$property;
@@ -21283,9 +21717,9 @@ class FabricText extends StyledText {
21283
21717
  return (_charStyle$property = charStyle[property]) !== null && _charStyle$property !== void 0 ? _charStyle$property : this[property];
21284
21718
  }
21285
21719
 
21286
- /**
21287
- * @private
21288
- * @param {CanvasRenderingContext2D} ctx Context to render on
21720
+ /**
21721
+ * @private
21722
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21289
21723
  */
21290
21724
  _renderTextDecoration(ctx, type) {
21291
21725
  if (!this[type] && !this.styleHas(type)) {
@@ -21369,10 +21803,10 @@ class FabricText extends StyledText {
21369
21803
  this._removeShadow(ctx);
21370
21804
  }
21371
21805
 
21372
- /**
21373
- * return font declaration string for canvas context
21374
- * @param {Object} [styleObject] object
21375
- * @returns {String} font declaration formatted for canvas context.
21806
+ /**
21807
+ * return font declaration string for canvas context
21808
+ * @param {Object} [styleObject] object
21809
+ * @returns {String} font declaration formatted for canvas context.
21376
21810
  */
21377
21811
  _getFontDeclaration() {
21378
21812
  let {
@@ -21386,9 +21820,9 @@ class FabricText extends StyledText {
21386
21820
  return [fontStyle, fontWeight, `${forMeasuring ? this.CACHE_FONT_SIZE : fontSize}px`, parsedFontFamily].join(' ');
21387
21821
  }
21388
21822
 
21389
- /**
21390
- * Renders text instance on a specified context
21391
- * @param {CanvasRenderingContext2D} ctx Context to render on
21823
+ /**
21824
+ * Renders text instance on a specified context
21825
+ * @param {CanvasRenderingContext2D} ctx Context to render on
21392
21826
  */
21393
21827
  render(ctx) {
21394
21828
  if (!this.visible) {
@@ -21403,22 +21837,22 @@ class FabricText extends StyledText {
21403
21837
  super.render(ctx);
21404
21838
  }
21405
21839
 
21406
- /**
21407
- * Override this method to customize grapheme splitting
21408
- * @todo the util `graphemeSplit` needs to be injectable in some way.
21409
- * is more comfortable to inject the correct util rather than having to override text
21410
- * in the middle of the prototype chain
21411
- * @param {string} value
21412
- * @returns {string[]} array of graphemes
21840
+ /**
21841
+ * Override this method to customize grapheme splitting
21842
+ * @todo the util `graphemeSplit` needs to be injectable in some way.
21843
+ * is more comfortable to inject the correct util rather than having to override text
21844
+ * in the middle of the prototype chain
21845
+ * @param {string} value
21846
+ * @returns {string[]} array of graphemes
21413
21847
  */
21414
21848
  graphemeSplit(value) {
21415
21849
  return graphemeSplit(value);
21416
21850
  }
21417
21851
 
21418
- /**
21419
- * Returns the text as an array of lines.
21420
- * @param {String} text text to split
21421
- * @returns Lines in the text
21852
+ /**
21853
+ * Returns the text as an array of lines.
21854
+ * @param {String} text text to split
21855
+ * @returns Lines in the text
21422
21856
  */
21423
21857
  _splitTextIntoLines(text) {
21424
21858
  const lines = text.split(this._reNewline),
@@ -21438,10 +21872,10 @@ class FabricText extends StyledText {
21438
21872
  };
21439
21873
  }
21440
21874
 
21441
- /**
21442
- * Returns object representation of an instance
21443
- * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
21444
- * @return {Object} Object representation of an instance
21875
+ /**
21876
+ * Returns object representation of an instance
21877
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
21878
+ * @return {Object} Object representation of an instance
21445
21879
  */
21446
21880
  toObject() {
21447
21881
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -21484,23 +21918,23 @@ class FabricText extends StyledText {
21484
21918
  return this;
21485
21919
  }
21486
21920
 
21487
- /**
21488
- * Returns complexity of an instance
21489
- * @return {Number} complexity
21921
+ /**
21922
+ * Returns complexity of an instance
21923
+ * @return {Number} complexity
21490
21924
  */
21491
21925
  complexity() {
21492
21926
  return 1;
21493
21927
  }
21494
21928
 
21495
- /**
21496
- * List of generic font families
21497
- * @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
21929
+ /**
21930
+ * List of generic font families
21931
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#generic-name
21498
21932
  */
21499
-
21500
- /**
21501
- * Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
21502
- * @param {HTMLElement} element Element to parse
21503
- * @param {Object} [options] Options object
21933
+
21934
+ /**
21935
+ * Returns FabricText instance from an SVG element (<b>not yet implemented</b>)
21936
+ * @param {HTMLElement} element Element to parse
21937
+ * @param {Object} [options] Options object
21504
21938
  */
21505
21939
  static async fromElement(element, options, cssRules) {
21506
21940
  const parsedAttributes = parseAttributes(element, FabricText.ATTRIBUTE_NAMES, cssRules);
@@ -21539,10 +21973,10 @@ class FabricText extends StyledText {
21539
21973
  scaledDiff = lineHeightDiff * textHeightScaleFactor,
21540
21974
  textHeight = text.getScaledHeight() + scaledDiff;
21541
21975
  let offX = 0;
21542
- /*
21543
- Adjust positioning:
21544
- x/y attributes in SVG correspond to the bottom-left corner of text bounding box
21545
- fabric output by default at top, left.
21976
+ /*
21977
+ Adjust positioning:
21978
+ x/y attributes in SVG correspond to the bottom-left corner of text bounding box
21979
+ fabric output by default at top, left.
21546
21980
  */
21547
21981
  if (textAnchor === CENTER) {
21548
21982
  offX = text.getScaledWidth() / 2;
@@ -21560,10 +21994,10 @@ class FabricText extends StyledText {
21560
21994
 
21561
21995
  /* _FROM_SVG_END_ */
21562
21996
 
21563
- /**
21564
- * Returns FabricText instance from an object representation
21565
- * @param {Object} object plain js Object to create an instance from
21566
- * @returns {Promise<FabricText>}
21997
+ /**
21998
+ * Returns FabricText instance from an object representation
21999
+ * @param {Object} object plain js Object to create an instance from
22000
+ * @returns {Promise<FabricText>}
21567
22001
  */
21568
22002
  static fromObject(object) {
21569
22003
  return this._fromObject({
@@ -21574,10 +22008,10 @@ class FabricText extends StyledText {
21574
22008
  });
21575
22009
  }
21576
22010
  }
21577
- /**
21578
- * Properties that requires a text layout recalculation when changed
21579
- * @type string[]
21580
- * @protected
22011
+ /**
22012
+ * Properties that requires a text layout recalculation when changed
22013
+ * @type string[]
22014
+ * @protected
21581
22015
  */
21582
22016
  _defineProperty(FabricText, "textLayoutProperties", textLayoutProperties);
21583
22017
  _defineProperty(FabricText, "cacheProperties", [...cacheProperties, ...additionalProps]);
@@ -21585,9 +22019,9 @@ _defineProperty(FabricText, "ownDefaults", textDefaultValues);
21585
22019
  _defineProperty(FabricText, "type", 'Text');
21586
22020
  _defineProperty(FabricText, "genericFonts", ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy', 'system-ui', 'ui-serif', 'ui-sans-serif', 'ui-monospace', 'ui-rounded', 'math', 'emoji', 'fangsong']);
21587
22021
  /* _FROM_SVG_START_ */
21588
- /**
21589
- * List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
21590
- * @see: http://www.w3.org/TR/SVG/text.html#TextElement
22022
+ /**
22023
+ * List of attribute names to account for when parsing SVG element (used by {@link FabricText.fromElement})
22024
+ * @see: http://www.w3.org/TR/SVG/text.html#TextElement
21591
22025
  */
21592
22026
  _defineProperty(FabricText, "ATTRIBUTE_NAMES", SHARED_ATTRIBUTES.concat('x', 'y', 'dx', 'dy', 'font-family', 'font-style', 'font-weight', 'font-size', 'letter-spacing', 'text-decoration', 'text-anchor'));
21593
22027
  applyMixins(FabricText, [TextSVGExportMixin]);
@@ -21974,8 +22408,8 @@ class OverlayEditor {
21974
22408
  // We don't need to save/restore them here as it would conflict with IText's restoration
21975
22409
  }
21976
22410
 
21977
- /**
21978
- * Get the container element for the overlay (parent of upperCanvasEl)
22411
+ /**
22412
+ * Get the container element for the overlay (parent of upperCanvasEl)
21979
22413
  */
21980
22414
  getCanvasContainer() {
21981
22415
  const upperCanvas = this.canvas.upperCanvasEl;
@@ -21989,8 +22423,8 @@ class OverlayEditor {
21989
22423
  return container;
21990
22424
  }
21991
22425
 
21992
- /**
21993
- * Create the overlay DOM structure
22426
+ /**
22427
+ * Create the overlay DOM structure
21994
22428
  */
21995
22429
  createOverlayDOM() {
21996
22430
  // Host div for positioning and overflow control
@@ -22045,8 +22479,8 @@ class OverlayEditor {
22045
22479
  document.body.appendChild(this.hostDiv);
22046
22480
  }
22047
22481
 
22048
- /**
22049
- * Attach all event listeners
22482
+ /**
22483
+ * Attach all event listeners
22050
22484
  */
22051
22485
  attachEventListeners() {
22052
22486
  // Textarea events
@@ -22066,8 +22500,8 @@ class OverlayEditor {
22066
22500
  this.setupViewportChangeDetection();
22067
22501
  }
22068
22502
 
22069
- /**
22070
- * Remove all event listeners
22503
+ /**
22504
+ * Remove all event listeners
22071
22505
  */
22072
22506
  removeEventListeners() {
22073
22507
  this.textarea.removeEventListener('input', this.boundHandlers.onInput);
@@ -22084,16 +22518,16 @@ class OverlayEditor {
22084
22518
  this.restoreViewportChangeDetection();
22085
22519
  }
22086
22520
 
22087
- /**
22088
- * Simple method to refresh positioning when canvas changes
22521
+ /**
22522
+ * Simple method to refresh positioning when canvas changes
22089
22523
  */
22090
22524
  updatePosition() {
22091
22525
  this.applyOverlayStyle();
22092
22526
  }
22093
22527
 
22094
- /**
22095
- * Update the Fabric object bounds to match current textarea size
22096
- * This ensures Fabric.js selection controls follow the growing textbox
22528
+ /**
22529
+ * Update the Fabric object bounds to match current textarea size
22530
+ * This ensures Fabric.js selection controls follow the growing textbox
22097
22531
  */
22098
22532
  updateObjectBounds() {
22099
22533
  if (this.isDestroyed) return;
@@ -22127,15 +22561,15 @@ class OverlayEditor {
22127
22561
  }
22128
22562
  }
22129
22563
 
22130
- /**
22131
- * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
22564
+ /**
22565
+ * Convert Fabric charSpacing (1/1000 em) to CSS letter-spacing (px)
22132
22566
  */
22133
22567
  letterSpacingPx(charSpacing, fontSize) {
22134
22568
  return charSpacing / 1000 * fontSize;
22135
22569
  }
22136
22570
 
22137
- /**
22138
- * Detect text direction using first strong directional character
22571
+ /**
22572
+ * Detect text direction using first strong directional character
22139
22573
  */
22140
22574
  firstStrongDir(text) {
22141
22575
  // Hebrew: \u0590-\u05FF, Arabic: \u0600-\u06FF, \u0750-\u077F, \uFB50-\uFDFF, \uFE70-\uFEFF
@@ -22365,8 +22799,8 @@ class OverlayEditor {
22365
22799
  // Initial bounds are set correctly by Fabric.js - don't force update here
22366
22800
  }
22367
22801
 
22368
- /**
22369
- * Debug method to compare textarea and canvas object bounding boxes
22802
+ /**
22803
+ * Debug method to compare textarea and canvas object bounding boxes
22370
22804
  */
22371
22805
  debugBoundingBoxComparison() {
22372
22806
  const target = this.target;
@@ -22436,8 +22870,8 @@ class OverlayEditor {
22436
22870
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
22437
22871
  }
22438
22872
 
22439
- /**
22440
- * Debug method to compare text wrapping between textarea and Fabric text object
22873
+ /**
22874
+ * Debug method to compare text wrapping between textarea and Fabric text object
22441
22875
  */
22442
22876
  debugTextWrapping() {
22443
22877
  const target = this.target;
@@ -22522,8 +22956,8 @@ class OverlayEditor {
22522
22956
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
22523
22957
  }
22524
22958
 
22525
- /**
22526
- * Focus the textarea and position cursor at end
22959
+ /**
22960
+ * Focus the textarea and position cursor at end
22527
22961
  */
22528
22962
  focusTextarea() {
22529
22963
  // For overlay editing, we want to keep the object in "selection mode" not "editing mode"
@@ -22558,8 +22992,8 @@ class OverlayEditor {
22558
22992
  this.canvas.requestRenderAll();
22559
22993
  }
22560
22994
 
22561
- /**
22562
- * Refresh overlay positioning and styling
22995
+ /**
22996
+ * Refresh overlay positioning and styling
22563
22997
  */
22564
22998
  refresh() {
22565
22999
  if (this.isDestroyed) return;
@@ -22567,8 +23001,8 @@ class OverlayEditor {
22567
23001
  // Don't update object bounds on every refresh - only when textarea actually resizes
22568
23002
  }
22569
23003
 
22570
- /**
22571
- * Destroy the overlay editor
23004
+ /**
23005
+ * Destroy the overlay editor
22572
23006
  */
22573
23007
  destroy() {
22574
23008
  let commit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
@@ -22736,8 +23170,8 @@ class OverlayEditor {
22736
23170
  }
22737
23171
  }
22738
23172
 
22739
- /**
22740
- * Setup detection for viewport changes (zoom/pan)
23173
+ /**
23174
+ * Setup detection for viewport changes (zoom/pan)
22741
23175
  */
22742
23176
  setupViewportChangeDetection() {
22743
23177
  // Store original methods
@@ -22766,8 +23200,8 @@ class OverlayEditor {
22766
23200
  };
22767
23201
  }
22768
23202
 
22769
- /**
22770
- * Restore original viewport methods
23203
+ /**
23204
+ * Restore original viewport methods
22771
23205
  */
22772
23206
  restoreViewportChangeDetection() {
22773
23207
  if (this.canvas.__originalSetZoom) {
@@ -22782,8 +23216,8 @@ class OverlayEditor {
22782
23216
  }
22783
23217
  }
22784
23218
 
22785
- /**
22786
- * Enter overlay text editing mode for a text object
23219
+ /**
23220
+ * Enter overlay text editing mode for a text object
22787
23221
  */
22788
23222
  function enterTextOverlayEdit(canvas, target, options) {
22789
23223
  // If already in overlay editing, destroy existing editor first
@@ -22807,35 +23241,35 @@ function enterTextOverlayEdit(canvas, target, options) {
22807
23241
  return editor;
22808
23242
  }
22809
23243
 
22810
- /**
22811
- * extend this regex to support non english languages
22812
- *
22813
- * - ` ` Matches a SPACE character (char code 32).
22814
- * - `\n` Matches a LINE FEED character (char code 10).
22815
- * - `.` Matches a "." character (char code 46).
22816
- * - `,` Matches a "," character (char code 44).
22817
- * - `;` Matches a ";" character (char code 59).
22818
- * - `!` Matches a "!" character (char code 33).
22819
- * - `\?` Matches a "?" character (char code 63).
22820
- * - `\-` Matches a "-" character (char code 45).
23244
+ /**
23245
+ * extend this regex to support non english languages
23246
+ *
23247
+ * - ` ` Matches a SPACE character (char code 32).
23248
+ * - `\n` Matches a LINE FEED character (char code 10).
23249
+ * - `.` Matches a "." character (char code 46).
23250
+ * - `,` Matches a "," character (char code 44).
23251
+ * - `;` Matches a ";" character (char code 59).
23252
+ * - `!` Matches a "!" character (char code 33).
23253
+ * - `\?` Matches a "?" character (char code 63).
23254
+ * - `\-` Matches a "-" character (char code 45).
22821
23255
  */
22822
23256
  // eslint-disable-next-line no-useless-escape
22823
23257
  const reNonWord = /[ \n\.,;!\?\-]/;
22824
23258
  class ITextBehavior extends FabricText {
22825
23259
  constructor() {
22826
23260
  super(...arguments);
22827
- /**
22828
- * Helps determining when the text is in composition, so that the cursor
22829
- * rendering is altered.
23261
+ /**
23262
+ * Helps determining when the text is in composition, so that the cursor
23263
+ * rendering is altered.
22830
23264
  */
22831
23265
  _defineProperty(this, "_currentCursorOpacity", 1);
22832
23266
  }
22833
- /**
22834
- * Keeps track if the IText object was selected before the actual click.
22835
- * This because we want to delay enter editing by a click.
23267
+ /**
23268
+ * Keeps track if the IText object was selected before the actual click.
23269
+ * This because we want to delay enter editing by a click.
22836
23270
  */
22837
- /**
22838
- * Initializes all the interactive behavior of IText
23271
+ /**
23272
+ * Initializes all the interactive behavior of IText
22839
23273
  */
22840
23274
  initBehavior() {
22841
23275
  this._tick = this._tick.bind(this);
@@ -22848,8 +23282,8 @@ class ITextBehavior extends FabricText {
22848
23282
  return super.onDeselect(options);
22849
23283
  }
22850
23284
 
22851
- /**
22852
- * @private
23285
+ /**
23286
+ * @private
22853
23287
  */
22854
23288
  _animateCursor(_ref) {
22855
23289
  let {
@@ -22874,8 +23308,8 @@ class ITextBehavior extends FabricText {
22874
23308
  });
22875
23309
  }
22876
23310
 
22877
- /**
22878
- * changes the cursor from visible to invisible
23311
+ /**
23312
+ * changes the cursor from visible to invisible
22879
23313
  */
22880
23314
  _tick(delay) {
22881
23315
  this._currentTickState = this._animateCursor({
@@ -22886,8 +23320,8 @@ class ITextBehavior extends FabricText {
22886
23320
  });
22887
23321
  }
22888
23322
 
22889
- /**
22890
- * Changes the cursor from invisible to visible
23323
+ /**
23324
+ * Changes the cursor from invisible to visible
22891
23325
  */
22892
23326
  _onTickComplete() {
22893
23327
  var _this$_currentTickCom;
@@ -22899,16 +23333,16 @@ class ITextBehavior extends FabricText {
22899
23333
  });
22900
23334
  }
22901
23335
 
22902
- /**
22903
- * Initializes delayed cursor
23336
+ /**
23337
+ * Initializes delayed cursor
22904
23338
  */
22905
23339
  initDelayedCursor(restart) {
22906
23340
  this.abortCursorAnimation();
22907
23341
  this._tick(restart ? 0 : this.cursorDelay);
22908
23342
  }
22909
23343
 
22910
- /**
22911
- * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
23344
+ /**
23345
+ * Aborts cursor animation, clears all timeouts and clear textarea context if necessary
22912
23346
  */
22913
23347
  abortCursorAnimation() {
22914
23348
  let shouldClear = false;
@@ -22926,9 +23360,9 @@ class ITextBehavior extends FabricText {
22926
23360
  }
22927
23361
  }
22928
23362
 
22929
- /**
22930
- * Restart tue cursor animation if either is in complete state ( between animations )
22931
- * or if it never started before
23363
+ /**
23364
+ * Restart tue cursor animation if either is in complete state ( between animations )
23365
+ * or if it never started before
22932
23366
  */
22933
23367
  restartCursorIfNeeded() {
22934
23368
  if ([this._currentTickState, this._currentTickCompleteState].some(cursorAnimation => !cursorAnimation || cursorAnimation.isDone())) {
@@ -22936,8 +23370,8 @@ class ITextBehavior extends FabricText {
22936
23370
  }
22937
23371
  }
22938
23372
 
22939
- /**
22940
- * Selects entire text
23373
+ /**
23374
+ * Selects entire text
22941
23375
  */
22942
23376
  selectAll() {
22943
23377
  this.selectionStart = 0;
@@ -22947,26 +23381,26 @@ class ITextBehavior extends FabricText {
22947
23381
  return this;
22948
23382
  }
22949
23383
 
22950
- /**
22951
- * Selects entire text and updates the visual state
23384
+ /**
23385
+ * Selects entire text and updates the visual state
22952
23386
  */
22953
23387
  cmdAll() {
22954
23388
  this.selectAll();
22955
23389
  this.renderCursorOrSelection();
22956
23390
  }
22957
23391
 
22958
- /**
22959
- * Returns selected text
22960
- * @return {String}
23392
+ /**
23393
+ * Returns selected text
23394
+ * @return {String}
22961
23395
  */
22962
23396
  getSelectedText() {
22963
23397
  return this._text.slice(this.selectionStart, this.selectionEnd).join('');
22964
23398
  }
22965
23399
 
22966
- /**
22967
- * Find new selection index representing start of current word according to current selection index
22968
- * @param {Number} startFrom Current selection index
22969
- * @return {Number} New selection index
23400
+ /**
23401
+ * Find new selection index representing start of current word according to current selection index
23402
+ * @param {Number} startFrom Current selection index
23403
+ * @return {Number} New selection index
22970
23404
  */
22971
23405
  findWordBoundaryLeft(startFrom) {
22972
23406
  let offset = 0,
@@ -22986,10 +23420,10 @@ class ITextBehavior extends FabricText {
22986
23420
  return startFrom - offset;
22987
23421
  }
22988
23422
 
22989
- /**
22990
- * Find new selection index representing end of current word according to current selection index
22991
- * @param {Number} startFrom Current selection index
22992
- * @return {Number} New selection index
23423
+ /**
23424
+ * Find new selection index representing end of current word according to current selection index
23425
+ * @param {Number} startFrom Current selection index
23426
+ * @return {Number} New selection index
22993
23427
  */
22994
23428
  findWordBoundaryRight(startFrom) {
22995
23429
  let offset = 0,
@@ -23009,10 +23443,10 @@ class ITextBehavior extends FabricText {
23009
23443
  return startFrom + offset;
23010
23444
  }
23011
23445
 
23012
- /**
23013
- * Find new selection index representing start of current line according to current selection index
23014
- * @param {Number} startFrom Current selection index
23015
- * @return {Number} New selection index
23446
+ /**
23447
+ * Find new selection index representing start of current line according to current selection index
23448
+ * @param {Number} startFrom Current selection index
23449
+ * @return {Number} New selection index
23016
23450
  */
23017
23451
  findLineBoundaryLeft(startFrom) {
23018
23452
  let offset = 0,
@@ -23024,10 +23458,10 @@ class ITextBehavior extends FabricText {
23024
23458
  return startFrom - offset;
23025
23459
  }
23026
23460
 
23027
- /**
23028
- * Find new selection index representing end of current line according to current selection index
23029
- * @param {Number} startFrom Current selection index
23030
- * @return {Number} New selection index
23461
+ /**
23462
+ * Find new selection index representing end of current line according to current selection index
23463
+ * @param {Number} startFrom Current selection index
23464
+ * @return {Number} New selection index
23031
23465
  */
23032
23466
  findLineBoundaryRight(startFrom) {
23033
23467
  let offset = 0,
@@ -23039,11 +23473,11 @@ class ITextBehavior extends FabricText {
23039
23473
  return startFrom + offset;
23040
23474
  }
23041
23475
 
23042
- /**
23043
- * Finds index corresponding to beginning or end of a word
23044
- * @param {Number} selectionStart Index of a character
23045
- * @param {Number} direction 1 or -1
23046
- * @return {Number} Index of the beginning or end of a word
23476
+ /**
23477
+ * Finds index corresponding to beginning or end of a word
23478
+ * @param {Number} selectionStart Index of a character
23479
+ * @param {Number} direction 1 or -1
23480
+ * @return {Number} Index of the beginning or end of a word
23047
23481
  */
23048
23482
  searchWordBoundary(selectionStart, direction) {
23049
23483
  const text = this._text;
@@ -23061,9 +23495,9 @@ class ITextBehavior extends FabricText {
23061
23495
  return index;
23062
23496
  }
23063
23497
 
23064
- /**
23065
- * Selects the word that contains the char at index selectionStart
23066
- * @param {Number} selectionStart Index of a character
23498
+ /**
23499
+ * Selects the word that contains the char at index selectionStart
23500
+ * @param {Number} selectionStart Index of a character
23067
23501
  */
23068
23502
  selectWord(selectionStart) {
23069
23503
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -23079,9 +23513,9 @@ class ITextBehavior extends FabricText {
23079
23513
  this.renderCursorOrSelection();
23080
23514
  }
23081
23515
 
23082
- /**
23083
- * Selects the line that contains selectionStart
23084
- * @param {Number} selectionStart Index of a character
23516
+ /**
23517
+ * Selects the line that contains selectionStart
23518
+ * @param {Number} selectionStart Index of a character
23085
23519
  */
23086
23520
  selectLine(selectionStart) {
23087
23521
  selectionStart = selectionStart !== null && selectionStart !== void 0 ? selectionStart : this.selectionStart;
@@ -23093,8 +23527,8 @@ class ITextBehavior extends FabricText {
23093
23527
  this._updateTextarea();
23094
23528
  }
23095
23529
 
23096
- /**
23097
- * Enters editing state
23530
+ /**
23531
+ * Enters editing state
23098
23532
  */
23099
23533
  enterEditing(e) {
23100
23534
  if (this.isEditing || !this.editable) {
@@ -23114,8 +23548,8 @@ class ITextBehavior extends FabricText {
23114
23548
  }
23115
23549
  }
23116
23550
 
23117
- /**
23118
- * runs the actual logic that enter from editing state, see {@link enterEditing}
23551
+ /**
23552
+ * runs the actual logic that enter from editing state, see {@link enterEditing}
23119
23553
  */
23120
23554
  enterEditingImpl() {
23121
23555
  if (this.canvas) {
@@ -23139,8 +23573,8 @@ class ITextBehavior extends FabricText {
23139
23573
  }
23140
23574
  }
23141
23575
 
23142
- /**
23143
- * Enter overlay editing mode using DOM textarea overlay
23576
+ /**
23577
+ * Enter overlay editing mode using DOM textarea overlay
23144
23578
  */
23145
23579
  enterOverlayEditing() {
23146
23580
  this._saveEditingProps();
@@ -23161,8 +23595,8 @@ class ITextBehavior extends FabricText {
23161
23595
  });
23162
23596
  }
23163
23597
 
23164
- /**
23165
- * Commit overlay editing changes
23598
+ /**
23599
+ * Commit overlay editing changes
23166
23600
  */
23167
23601
  commitOverlayEdit(text) {
23168
23602
  const overlayEditor = this.__overlayEditor;
@@ -23186,8 +23620,8 @@ class ITextBehavior extends FabricText {
23186
23620
  this.canvas && this.canvas.requestRenderAll();
23187
23621
  }
23188
23622
 
23189
- /**
23190
- * Cancel overlay editing without changes
23623
+ /**
23624
+ * Cancel overlay editing without changes
23191
23625
  */
23192
23626
  cancelOverlayEdit() {
23193
23627
  // Restore original text
@@ -23195,8 +23629,8 @@ class ITextBehavior extends FabricText {
23195
23629
  this.exitEditing();
23196
23630
  }
23197
23631
 
23198
- /**
23199
- * called by {@link Canvas#textEditingManager}
23632
+ /**
23633
+ * called by {@link Canvas#textEditingManager}
23200
23634
  */
23201
23635
  updateSelectionOnMouseMove(e) {
23202
23636
  if (this.getActiveControl()) {
@@ -23224,8 +23658,8 @@ class ITextBehavior extends FabricText {
23224
23658
  }
23225
23659
  }
23226
23660
 
23227
- /**
23228
- * @private
23661
+ /**
23662
+ * @private
23229
23663
  */
23230
23664
  _setEditingProps() {
23231
23665
  this.hoverCursor = 'text';
@@ -23237,8 +23671,8 @@ class ITextBehavior extends FabricText {
23237
23671
  this.lockMovementX = this.lockMovementY = true;
23238
23672
  }
23239
23673
 
23240
- /**
23241
- * convert from textarea to grapheme indexes
23674
+ /**
23675
+ * convert from textarea to grapheme indexes
23242
23676
  */
23243
23677
  fromStringToGraphemeSelection(start, end, text) {
23244
23678
  const smallerTextStart = text.slice(0, start),
@@ -23257,8 +23691,8 @@ class ITextBehavior extends FabricText {
23257
23691
  };
23258
23692
  }
23259
23693
 
23260
- /**
23261
- * convert from fabric to textarea values
23694
+ /**
23695
+ * convert from fabric to textarea values
23262
23696
  */
23263
23697
  fromGraphemeToStringSelection(start, end, graphemes) {
23264
23698
  const smallerTextStart = graphemes.slice(0, start),
@@ -23277,8 +23711,8 @@ class ITextBehavior extends FabricText {
23277
23711
  };
23278
23712
  }
23279
23713
 
23280
- /**
23281
- * @private
23714
+ /**
23715
+ * @private
23282
23716
  */
23283
23717
  _updateTextarea() {
23284
23718
  this.cursorOffsetCache = {};
@@ -23293,8 +23727,8 @@ class ITextBehavior extends FabricText {
23293
23727
  this.updateTextareaPosition();
23294
23728
  }
23295
23729
 
23296
- /**
23297
- * @private
23730
+ /**
23731
+ * @private
23298
23732
  */
23299
23733
  updateFromTextArea() {
23300
23734
  if (!this.hiddenTextarea) {
@@ -23314,8 +23748,8 @@ class ITextBehavior extends FabricText {
23314
23748
  this.updateTextareaPosition();
23315
23749
  }
23316
23750
 
23317
- /**
23318
- * @private
23751
+ /**
23752
+ * @private
23319
23753
  */
23320
23754
  updateTextareaPosition() {
23321
23755
  if (this.selectionStart === this.selectionEnd) {
@@ -23325,9 +23759,9 @@ class ITextBehavior extends FabricText {
23325
23759
  }
23326
23760
  }
23327
23761
 
23328
- /**
23329
- * @private
23330
- * @return {Object} style contains style for hiddenTextarea
23762
+ /**
23763
+ * @private
23764
+ * @return {Object} style contains style for hiddenTextarea
23331
23765
  */
23332
23766
  _calcTextareaPosition() {
23333
23767
  if (!this.canvas) {
@@ -23374,8 +23808,8 @@ class ITextBehavior extends FabricText {
23374
23808
  };
23375
23809
  }
23376
23810
 
23377
- /**
23378
- * @private
23811
+ /**
23812
+ * @private
23379
23813
  */
23380
23814
  _saveEditingProps() {
23381
23815
  this._savedProps = {
@@ -23392,8 +23826,8 @@ class ITextBehavior extends FabricText {
23392
23826
  };
23393
23827
  }
23394
23828
 
23395
- /**
23396
- * @private
23829
+ /**
23830
+ * @private
23397
23831
  */
23398
23832
  _restoreEditingProps() {
23399
23833
  if (!this._savedProps) {
@@ -23413,9 +23847,9 @@ class ITextBehavior extends FabricText {
23413
23847
  delete this._savedProps;
23414
23848
  }
23415
23849
 
23416
- /**
23417
- * runs the actual logic that exits from editing state, see {@link exitEditing}
23418
- * But it does not fire events
23850
+ /**
23851
+ * runs the actual logic that exits from editing state, see {@link exitEditing}
23852
+ * But it does not fire events
23419
23853
  */
23420
23854
  exitEditingImpl() {
23421
23855
  const hiddenTextarea = this.hiddenTextarea;
@@ -23436,8 +23870,8 @@ class ITextBehavior extends FabricText {
23436
23870
  }
23437
23871
  }
23438
23872
 
23439
- /**
23440
- * Exits from editing state and fires relevant events
23873
+ /**
23874
+ * Exits from editing state and fires relevant events
23441
23875
  */
23442
23876
  exitEditing() {
23443
23877
  const isTextChanged = this._textBeforeEdit !== this.text;
@@ -23456,8 +23890,8 @@ class ITextBehavior extends FabricText {
23456
23890
  return this;
23457
23891
  }
23458
23892
 
23459
- /**
23460
- * @private
23893
+ /**
23894
+ * @private
23461
23895
  */
23462
23896
  _removeExtraneousStyles() {
23463
23897
  for (const prop in this.styles) {
@@ -23467,10 +23901,10 @@ class ITextBehavior extends FabricText {
23467
23901
  }
23468
23902
  }
23469
23903
 
23470
- /**
23471
- * remove and reflow a style block from start to end.
23472
- * @param {Number} start linear start position for removal (included in removal)
23473
- * @param {Number} end linear end position for removal ( excluded from removal )
23904
+ /**
23905
+ * remove and reflow a style block from start to end.
23906
+ * @param {Number} start linear start position for removal (included in removal)
23907
+ * @param {Number} end linear end position for removal ( excluded from removal )
23474
23908
  */
23475
23909
  removeStyleFromTo(start, end) {
23476
23910
  const {
@@ -23523,10 +23957,10 @@ class ITextBehavior extends FabricText {
23523
23957
  }
23524
23958
  }
23525
23959
 
23526
- /**
23527
- * Shifts line styles up or down
23528
- * @param {Number} lineIndex Index of a line
23529
- * @param {Number} offset Can any number?
23960
+ /**
23961
+ * Shifts line styles up or down
23962
+ * @param {Number} lineIndex Index of a line
23963
+ * @param {Number} offset Can any number?
23530
23964
  */
23531
23965
  shiftLineStyles(lineIndex, offset) {
23532
23966
  const clonedStyles = Object.assign({}, this.styles);
@@ -23541,15 +23975,15 @@ class ITextBehavior extends FabricText {
23541
23975
  }
23542
23976
  }
23543
23977
 
23544
- /**
23545
- * Handle insertion of more consecutive style lines for when one or more
23546
- * newlines gets added to the text. Since current style needs to be shifted
23547
- * first we shift the current style of the number lines needed, then we add
23548
- * new lines from the last to the first.
23549
- * @param {Number} lineIndex Index of a line
23550
- * @param {Number} charIndex Index of a char
23551
- * @param {Number} qty number of lines to add
23552
- * @param {Array} copiedStyle Array of objects styles
23978
+ /**
23979
+ * Handle insertion of more consecutive style lines for when one or more
23980
+ * newlines gets added to the text. Since current style needs to be shifted
23981
+ * first we shift the current style of the number lines needed, then we add
23982
+ * new lines from the last to the first.
23983
+ * @param {Number} lineIndex Index of a line
23984
+ * @param {Number} charIndex Index of a char
23985
+ * @param {Number} qty number of lines to add
23986
+ * @param {Array} copiedStyle Array of objects styles
23553
23987
  */
23554
23988
  insertNewlineStyleObject(lineIndex, charIndex, qty, copiedStyle) {
23555
23989
  const newLineStyles = {};
@@ -23609,12 +24043,12 @@ class ITextBehavior extends FabricText {
23609
24043
  this._forceClearCache = true;
23610
24044
  }
23611
24045
 
23612
- /**
23613
- * Inserts style object for a given line/char index
23614
- * @param {Number} lineIndex Index of a line
23615
- * @param {Number} charIndex Index of a char
23616
- * @param {Number} quantity number Style object to insert, if given
23617
- * @param {Array} copiedStyle array of style objects
24046
+ /**
24047
+ * Inserts style object for a given line/char index
24048
+ * @param {Number} lineIndex Index of a line
24049
+ * @param {Number} charIndex Index of a char
24050
+ * @param {Number} quantity number Style object to insert, if given
24051
+ * @param {Array} copiedStyle array of style objects
23618
24052
  */
23619
24053
  insertCharStyleObject(lineIndex, charIndex, quantity, copiedStyle) {
23620
24054
  if (!this.styles) {
@@ -23663,11 +24097,11 @@ class ITextBehavior extends FabricText {
23663
24097
  }
23664
24098
  }
23665
24099
 
23666
- /**
23667
- * Inserts style object(s)
23668
- * @param {Array} insertedText Characters at the location where style is inserted
23669
- * @param {Number} start cursor index for inserting style
23670
- * @param {Array} [copiedStyle] array of style objects to insert.
24100
+ /**
24101
+ * Inserts style object(s)
24102
+ * @param {Array} insertedText Characters at the location where style is inserted
24103
+ * @param {Number} start cursor index for inserting style
24104
+ * @param {Array} [copiedStyle] array of style objects to insert.
23671
24105
  */
23672
24106
  insertNewStyleBlock(insertedText, start, copiedStyle) {
23673
24107
  const cursorLoc = this.get2DCursorLocation(start, true),
@@ -23708,12 +24142,12 @@ class ITextBehavior extends FabricText {
23708
24142
  }
23709
24143
  }
23710
24144
 
23711
- /**
23712
- * Removes characters from start/end
23713
- * start/end ar per grapheme position in _text array.
23714
- *
23715
- * @param {Number} start
23716
- * @param {Number} end default to start + 1
24145
+ /**
24146
+ * Removes characters from start/end
24147
+ * start/end ar per grapheme position in _text array.
24148
+ *
24149
+ * @param {Number} start
24150
+ * @param {Number} end default to start + 1
23717
24151
  */
23718
24152
  removeChars(start) {
23719
24153
  let end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start + 1;
@@ -23726,17 +24160,17 @@ class ITextBehavior extends FabricText {
23726
24160
  this._removeExtraneousStyles();
23727
24161
  }
23728
24162
 
23729
- /**
23730
- * insert characters at start position, before start position.
23731
- * start equal 1 it means the text get inserted between actual grapheme 0 and 1
23732
- * if style array is provided, it must be as the same length of text in graphemes
23733
- * if end is provided and is bigger than start, old text is replaced.
23734
- * start/end ar per grapheme position in _text array.
23735
- *
23736
- * @param {String} text text to insert
23737
- * @param {Array} style array of style objects
23738
- * @param {Number} start
23739
- * @param {Number} end default to start + 1
24163
+ /**
24164
+ * insert characters at start position, before start position.
24165
+ * start equal 1 it means the text get inserted between actual grapheme 0 and 1
24166
+ * if style array is provided, it must be as the same length of text in graphemes
24167
+ * if end is provided and is bigger than start, old text is replaced.
24168
+ * start/end ar per grapheme position in _text array.
24169
+ *
24170
+ * @param {String} text text to insert
24171
+ * @param {Array} style array of style objects
24172
+ * @param {Number} start
24173
+ * @param {Number} end default to start + 1
23740
24174
  */
23741
24175
  insertChars(text, style, start) {
23742
24176
  let end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : start;
@@ -23753,9 +24187,9 @@ class ITextBehavior extends FabricText {
23753
24187
  this._removeExtraneousStyles();
23754
24188
  }
23755
24189
 
23756
- /**
23757
- * Set the selectionStart and selectionEnd according to the new position of cursor
23758
- * mimic the key - mouse navigation when shift is pressed.
24190
+ /**
24191
+ * Set the selectionStart and selectionEnd according to the new position of cursor
24192
+ * mimic the key - mouse navigation when shift is pressed.
23759
24193
  */
23760
24194
  setSelectionStartEndWithShift(start, end, newSelection) {
23761
24195
  if (newSelection <= start) {
@@ -24378,8 +24812,8 @@ class ITextKeyBehavior extends ITextBehavior {
24378
24812
  }
24379
24813
  }
24380
24814
 
24381
- /**
24382
- * `LEFT_CLICK === 0`
24815
+ /**
24816
+ * `LEFT_CLICK === 0`
24383
24817
  */
24384
24818
  const notALeftClick = e => !!e.button;
24385
24819
  class ITextClickBehavior extends ITextKeyBehavior {
@@ -24397,36 +24831,36 @@ class ITextClickBehavior extends ITextKeyBehavior {
24397
24831
  super.initBehavior();
24398
24832
  }
24399
24833
 
24400
- /**
24401
- * If this method returns true a mouse move operation over a text selection
24402
- * will not prevent the native mouse event allowing the browser to start a drag operation.
24403
- * shouldStartDragging can be read 'do not prevent default for mouse move event'
24404
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24405
- * @returns
24834
+ /**
24835
+ * If this method returns true a mouse move operation over a text selection
24836
+ * will not prevent the native mouse event allowing the browser to start a drag operation.
24837
+ * shouldStartDragging can be read 'do not prevent default for mouse move event'
24838
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24839
+ * @returns
24406
24840
  */
24407
24841
  shouldStartDragging() {
24408
24842
  return this.draggableTextDelegate.isActive();
24409
24843
  }
24410
24844
 
24411
- /**
24412
- * @public override this method to control whether instance should/shouldn't become a drag source,
24413
- * @see also {@link DraggableTextDelegate#isActive}
24414
- * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24415
- * @returns {boolean} should handle event
24845
+ /**
24846
+ * @public override this method to control whether instance should/shouldn't become a drag source,
24847
+ * @see also {@link DraggableTextDelegate#isActive}
24848
+ * To prevent drag and drop between objects both shouldStartDragging and onDragStart should return false
24849
+ * @returns {boolean} should handle event
24416
24850
  */
24417
24851
  onDragStart(e) {
24418
24852
  return this.draggableTextDelegate.onDragStart(e);
24419
24853
  }
24420
24854
 
24421
- /**
24422
- * @public override this method to control whether instance should/shouldn't become a drop target
24855
+ /**
24856
+ * @public override this method to control whether instance should/shouldn't become a drop target
24423
24857
  */
24424
24858
  canDrop(e) {
24425
24859
  return this.draggableTextDelegate.canDrop(e);
24426
24860
  }
24427
24861
 
24428
- /**
24429
- * Default handler for double click, select a word or enter overlay editing
24862
+ /**
24863
+ * Default handler for double click, select a word or enter overlay editing
24430
24864
  */
24431
24865
  doubleClickHandler(options) {
24432
24866
  // Check if we should enter overlay editing mode
@@ -24443,8 +24877,8 @@ class ITextClickBehavior extends ITextKeyBehavior {
24443
24877
  this.renderCursorOrSelection();
24444
24878
  }
24445
24879
 
24446
- /**
24447
- * Default handler for triple click, select a line
24880
+ /**
24881
+ * Default handler for triple click, select a line
24448
24882
  */
24449
24883
  tripleClickHandler(options) {
24450
24884
  if (!this.isEditing) {
@@ -24454,13 +24888,13 @@ class ITextClickBehavior extends ITextKeyBehavior {
24454
24888
  this.renderCursorOrSelection();
24455
24889
  }
24456
24890
 
24457
- /**
24458
- * Default event handler for the basic functionalities needed on _mouseDown
24459
- * can be overridden to do something different.
24460
- * Scope of this implementation is: find the click position, set selectionStart
24461
- * find selectionEnd, initialize the drawing of either cursor or selection area
24462
- * initializing a mousedDown on a text area will cancel fabricjs knowledge of
24463
- * current compositionMode. It will be set to false.
24891
+ /**
24892
+ * Default event handler for the basic functionalities needed on _mouseDown
24893
+ * can be overridden to do something different.
24894
+ * Scope of this implementation is: find the click position, set selectionStart
24895
+ * find selectionEnd, initialize the drawing of either cursor or selection area
24896
+ * initializing a mousedDown on a text area will cancel fabricjs knowledge of
24897
+ * current compositionMode. It will be set to false.
24464
24898
  */
24465
24899
  _mouseDownHandler(_ref) {
24466
24900
  let {
@@ -24488,9 +24922,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
24488
24922
  this.selected || (this.selected = alreadySelected || this.isEditing);
24489
24923
  }
24490
24924
 
24491
- /**
24492
- * standard handler for mouse up, overridable
24493
- * @private
24925
+ /**
24926
+ * standard handler for mouse up, overridable
24927
+ * @private
24494
24928
  */
24495
24929
  mouseUpHandler(_ref2) {
24496
24930
  let {
@@ -24521,9 +24955,9 @@ class ITextClickBehavior extends ITextKeyBehavior {
24521
24955
  }
24522
24956
  }
24523
24957
 
24524
- /**
24525
- * Changes cursor location in a text depending on passed pointer (x/y) object
24526
- * @param {TPointerEvent} e Event object
24958
+ /**
24959
+ * Changes cursor location in a text depending on passed pointer (x/y) object
24960
+ * @param {TPointerEvent} e Event object
24527
24961
  */
24528
24962
  setCursorByClick(e) {
24529
24963
  const newSelection = this.getSelectionStartFromPointer(e),
@@ -24541,10 +24975,10 @@ class ITextClickBehavior extends ITextKeyBehavior {
24541
24975
  }
24542
24976
  }
24543
24977
 
24544
- /**
24545
- * Returns index of a character corresponding to where an object was clicked
24546
- * @param {TPointerEvent} e Event object
24547
- * @return {Number} Index of a character
24978
+ /**
24979
+ * Returns index of a character corresponding to where an object was clicked
24980
+ * @param {TPointerEvent} e Event object
24981
+ * @return {Number} Index of a character
24548
24982
  */
24549
24983
  getSelectionStartFromPointer(e) {
24550
24984
  const mouseOffset = this.canvas.getScenePoint(e).transform(invertTransform(this.calcTransformMatrix())).add(new Point(-this._getLeftOffset(), -this._getTopOffset()));
@@ -24590,15 +25024,15 @@ class ITextClickBehavior extends ITextKeyBehavior {
24590
25024
  }
24591
25025
  }
24592
25026
 
24593
- /**
24594
- * Hit Testing and Cursor Positioning System
24595
- *
24596
- * Maps pointer coordinates to text positions and provides cursor rectangles
24597
- * for interactive text editing with grapheme-aware boundaries.
25027
+ /**
25028
+ * Hit Testing and Cursor Positioning System
25029
+ *
25030
+ * Maps pointer coordinates to text positions and provides cursor rectangles
25031
+ * for interactive text editing with grapheme-aware boundaries.
24598
25032
  */
24599
25033
 
24600
- /**
24601
- * Hit test a point against laid out text to find insertion position
25034
+ /**
25035
+ * Hit test a point against laid out text to find insertion position
24602
25036
  */
24603
25037
  function hitTest(x, y, layout, options) {
24604
25038
  if (layout.lines.length === 0) {
@@ -24642,8 +25076,8 @@ function hitTest(x, y, layout, options) {
24642
25076
  };
24643
25077
  }
24644
25078
 
24645
- /**
24646
- * Get cursor rectangle for a given insertion index
25079
+ /**
25080
+ * Get cursor rectangle for a given insertion index
24647
25081
  */
24648
25082
  function getCursorRect(insertionIndex, layout, options) {
24649
25083
  if (layout.lines.length === 0) {
@@ -24690,8 +25124,8 @@ function getCursorRect(insertionIndex, layout, options) {
24690
25124
 
24691
25125
  // Private helper functions
24692
25126
 
24693
- /**
24694
- * Find which line contains the given Y coordinate
25127
+ /**
25128
+ * Find which line contains the given Y coordinate
24695
25129
  */
24696
25130
  function findLineAtY(y, lines) {
24697
25131
  var _lines;
@@ -24714,8 +25148,8 @@ function findLineAtY(y, lines) {
24714
25148
  };
24715
25149
  }
24716
25150
 
24717
- /**
24718
- * Find character position within a line at given X coordinate
25151
+ /**
25152
+ * Find character position within a line at given X coordinate
24719
25153
  */
24720
25154
  function findCharAtX(x, line, options) {
24721
25155
  if (line.bounds.length === 0) {
@@ -24821,8 +25255,8 @@ function findCharAtX(x, line, options) {
24821
25255
  };
24822
25256
  }
24823
25257
 
24824
- /**
24825
- * Calculate total insertion index from line and character indices
25258
+ /**
25259
+ * Calculate total insertion index from line and character indices
24826
25260
  */
24827
25261
  function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
24828
25262
  let insertionIndex = 0;
@@ -24841,8 +25275,8 @@ function calculateInsertionIndex(lineIndex, graphemeIndex, layout) {
24841
25275
  return insertionIndex;
24842
25276
  }
24843
25277
 
24844
- /**
24845
- * Find line and grapheme position from insertion index
25278
+ /**
25279
+ * Find line and grapheme position from insertion index
24846
25280
  */
24847
25281
  function findPositionFromIndex(insertionIndex, layout) {
24848
25282
  let currentIndex = 0;
@@ -24884,8 +25318,8 @@ function findPositionFromIndex(insertionIndex, layout) {
24884
25318
  };
24885
25319
  }
24886
25320
 
24887
- /**
24888
- * Calculate Y position of a line
25321
+ /**
25322
+ * Calculate Y position of a line
24889
25323
  */
24890
25324
  function calculateLineY(lineIndex, layout, options) {
24891
25325
  let y = 0;
@@ -24988,48 +25422,48 @@ const iTextDefaultValues = {
24988
25422
 
24989
25423
  // @TODO this is not complete
24990
25424
 
24991
- /**
24992
- * @fires changed
24993
- * @fires selection:changed
24994
- * @fires editing:entered
24995
- * @fires editing:exited
24996
- * @fires dragstart
24997
- * @fires drag drag event firing on the drag source
24998
- * @fires dragend
24999
- * @fires copy
25000
- * @fires cut
25001
- * @fires paste
25002
- *
25003
- * #### Supported key combinations
25004
- * ```
25005
- * Move cursor: left, right, up, down
25006
- * Select character: shift + left, shift + right
25007
- * Select text vertically: shift + up, shift + down
25008
- * Move cursor by word: alt + left, alt + right
25009
- * Select words: shift + alt + left, shift + alt + right
25010
- * Move cursor to line start/end: cmd + left, cmd + right or home, end
25011
- * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
25012
- * Jump to start/end of text: cmd + up, cmd + down
25013
- * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
25014
- * Delete character: backspace
25015
- * Delete word: alt + backspace
25016
- * Delete line: cmd + backspace
25017
- * Forward delete: delete
25018
- * Copy text: ctrl/cmd + c
25019
- * Paste text: ctrl/cmd + v
25020
- * Cut text: ctrl/cmd + x
25021
- * Select entire text: ctrl/cmd + a
25022
- * Quit editing tab or esc
25023
- * ```
25024
- *
25025
- * #### Supported mouse/touch combination
25026
- * ```
25027
- * Position cursor: click/touch
25028
- * Create selection: click/touch & drag
25029
- * Create selection: click & shift + click
25030
- * Select word: double click
25031
- * Select line: triple click
25032
- * ```
25425
+ /**
25426
+ * @fires changed
25427
+ * @fires selection:changed
25428
+ * @fires editing:entered
25429
+ * @fires editing:exited
25430
+ * @fires dragstart
25431
+ * @fires drag drag event firing on the drag source
25432
+ * @fires dragend
25433
+ * @fires copy
25434
+ * @fires cut
25435
+ * @fires paste
25436
+ *
25437
+ * #### Supported key combinations
25438
+ * ```
25439
+ * Move cursor: left, right, up, down
25440
+ * Select character: shift + left, shift + right
25441
+ * Select text vertically: shift + up, shift + down
25442
+ * Move cursor by word: alt + left, alt + right
25443
+ * Select words: shift + alt + left, shift + alt + right
25444
+ * Move cursor to line start/end: cmd + left, cmd + right or home, end
25445
+ * Select till start/end of line: cmd + shift + left, cmd + shift + right or shift + home, shift + end
25446
+ * Jump to start/end of text: cmd + up, cmd + down
25447
+ * Select till start/end of text: cmd + shift + up, cmd + shift + down or shift + pgUp, shift + pgDown
25448
+ * Delete character: backspace
25449
+ * Delete word: alt + backspace
25450
+ * Delete line: cmd + backspace
25451
+ * Forward delete: delete
25452
+ * Copy text: ctrl/cmd + c
25453
+ * Paste text: ctrl/cmd + v
25454
+ * Cut text: ctrl/cmd + x
25455
+ * Select entire text: ctrl/cmd + a
25456
+ * Quit editing tab or esc
25457
+ * ```
25458
+ *
25459
+ * #### Supported mouse/touch combination
25460
+ * ```
25461
+ * Position cursor: click/touch
25462
+ * Create selection: click/touch & drag
25463
+ * Create selection: click & shift + click
25464
+ * Select word: double click
25465
+ * Select line: triple click
25466
+ * ```
25033
25467
  */
25034
25468
  class IText extends ITextClickBehavior {
25035
25469
  static getDefaults() {
@@ -25044,10 +25478,10 @@ class IText extends ITextClickBehavior {
25044
25478
  return type === 'itext' ? 'i-text' : type;
25045
25479
  }
25046
25480
 
25047
- /**
25048
- * Constructor
25049
- * @param {String} text Text string
25050
- * @param {Object} [options] Options object
25481
+ /**
25482
+ * Constructor
25483
+ * @param {String} text Text string
25484
+ * @param {Object} [options] Options object
25051
25485
  */
25052
25486
  constructor(text, options) {
25053
25487
  super(text, {
@@ -25057,11 +25491,11 @@ class IText extends ITextClickBehavior {
25057
25491
  this.initBehavior();
25058
25492
  }
25059
25493
 
25060
- /**
25061
- * While editing handle differently
25062
- * @private
25063
- * @param {string} key
25064
- * @param {*} value
25494
+ /**
25495
+ * While editing handle differently
25496
+ * @private
25497
+ * @param {string} key
25498
+ * @param {*} value
25065
25499
  */
25066
25500
  _set(key, value) {
25067
25501
  if (this.isEditing && this._savedProps && key in this._savedProps) {
@@ -25076,28 +25510,28 @@ class IText extends ITextClickBehavior {
25076
25510
  return super._set(key, value);
25077
25511
  }
25078
25512
 
25079
- /**
25080
- * Sets selection start (left boundary of a selection)
25081
- * @param {Number} index Index to set selection start to
25513
+ /**
25514
+ * Sets selection start (left boundary of a selection)
25515
+ * @param {Number} index Index to set selection start to
25082
25516
  */
25083
25517
  setSelectionStart(index) {
25084
25518
  index = Math.max(index, 0);
25085
25519
  this._updateAndFire('selectionStart', index);
25086
25520
  }
25087
25521
 
25088
- /**
25089
- * Sets selection end (right boundary of a selection)
25090
- * @param {Number} index Index to set selection end to
25522
+ /**
25523
+ * Sets selection end (right boundary of a selection)
25524
+ * @param {Number} index Index to set selection end to
25091
25525
  */
25092
25526
  setSelectionEnd(index) {
25093
25527
  index = Math.min(index, this.text.length);
25094
25528
  this._updateAndFire('selectionEnd', index);
25095
25529
  }
25096
25530
 
25097
- /**
25098
- * @private
25099
- * @param {String} property 'selectionStart' or 'selectionEnd'
25100
- * @param {Number} index new position of property
25531
+ /**
25532
+ * @private
25533
+ * @param {String} property 'selectionStart' or 'selectionEnd'
25534
+ * @param {Number} index new position of property
25101
25535
  */
25102
25536
  _updateAndFire(property, index) {
25103
25537
  if (this[property] !== index) {
@@ -25107,9 +25541,9 @@ class IText extends ITextClickBehavior {
25107
25541
  this._updateTextarea();
25108
25542
  }
25109
25543
 
25110
- /**
25111
- * Fires the even of selection changed
25112
- * @private
25544
+ /**
25545
+ * Fires the even of selection changed
25546
+ * @private
25113
25547
  */
25114
25548
  _fireSelectionChanged() {
25115
25549
  this.fire('selection:changed');
@@ -25118,25 +25552,25 @@ class IText extends ITextClickBehavior {
25118
25552
  });
25119
25553
  }
25120
25554
 
25121
- /**
25122
- * Initialize text dimensions. Render all text on given context
25123
- * or on a offscreen canvas to get the text width with measureText.
25124
- * Updates this.width and this.height with the proper values.
25125
- * Does not return dimensions.
25126
- * @private
25555
+ /**
25556
+ * Initialize text dimensions. Render all text on given context
25557
+ * or on a offscreen canvas to get the text width with measureText.
25558
+ * Updates this.width and this.height with the proper values.
25559
+ * Does not return dimensions.
25560
+ * @private
25127
25561
  */
25128
25562
  initDimensions() {
25129
25563
  this.isEditing && this.initDelayedCursor();
25130
25564
  super.initDimensions();
25131
25565
  }
25132
25566
 
25133
- /**
25134
- * Gets style of a current selection/cursor (at the start position)
25135
- * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
25136
- * @param {Number} startIndex Start index to get styles at
25137
- * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
25138
- * @param {Boolean} [complete] get full style or not
25139
- * @return {Array} styles an array with one, zero or more Style objects
25567
+ /**
25568
+ * Gets style of a current selection/cursor (at the start position)
25569
+ * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.
25570
+ * @param {Number} startIndex Start index to get styles at
25571
+ * @param {Number} endIndex End index to get styles at, if not specified selectionEnd or startIndex + 1
25572
+ * @param {Boolean} [complete] get full style or not
25573
+ * @return {Array} styles an array with one, zero or more Style objects
25140
25574
  */
25141
25575
  getSelectionStyles() {
25142
25576
  let startIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart || 0;
@@ -25145,11 +25579,11 @@ class IText extends ITextClickBehavior {
25145
25579
  return super.getSelectionStyles(startIndex, endIndex, complete);
25146
25580
  }
25147
25581
 
25148
- /**
25149
- * Sets style of a current selection, if no selection exist, do not set anything.
25150
- * @param {Object} [styles] Styles object
25151
- * @param {Number} [startIndex] Start index to get styles at
25152
- * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
25582
+ /**
25583
+ * Sets style of a current selection, if no selection exist, do not set anything.
25584
+ * @param {Object} [styles] Styles object
25585
+ * @param {Number} [startIndex] Start index to get styles at
25586
+ * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1
25153
25587
  */
25154
25588
  setSelectionStyles(styles) {
25155
25589
  let startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.selectionStart || 0;
@@ -25157,10 +25591,10 @@ class IText extends ITextClickBehavior {
25157
25591
  return super.setSelectionStyles(styles, startIndex, endIndex);
25158
25592
  }
25159
25593
 
25160
- /**
25161
- * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
25162
- * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
25163
- * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
25594
+ /**
25595
+ * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)
25596
+ * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.
25597
+ * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.
25164
25598
  */
25165
25599
  get2DCursorLocation() {
25166
25600
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -25168,9 +25602,9 @@ class IText extends ITextClickBehavior {
25168
25602
  return super.get2DCursorLocation(selectionStart, skipWrapping);
25169
25603
  }
25170
25604
 
25171
- /**
25172
- * @private
25173
- * @param {CanvasRenderingContext2D} ctx Context to render on
25605
+ /**
25606
+ * @private
25607
+ * @param {CanvasRenderingContext2D} ctx Context to render on
25174
25608
  */
25175
25609
  render(ctx) {
25176
25610
  super.render(ctx);
@@ -25180,9 +25614,9 @@ class IText extends ITextClickBehavior {
25180
25614
  this.renderCursorOrSelection();
25181
25615
  }
25182
25616
 
25183
- /**
25184
- * @override block cursor/selection logic while rendering the exported canvas
25185
- * @todo this workaround should be replaced with a more robust solution
25617
+ /**
25618
+ * @override block cursor/selection logic while rendering the exported canvas
25619
+ * @todo this workaround should be replaced with a more robust solution
25186
25620
  */
25187
25621
  toCanvasElement(options) {
25188
25622
  const isEditing = this.isEditing;
@@ -25192,9 +25626,9 @@ class IText extends ITextClickBehavior {
25192
25626
  return canvas;
25193
25627
  }
25194
25628
 
25195
- /**
25196
- * Renders cursor or selection (depending on what exists)
25197
- * it does on the contextTop. If contextTop is not available, do nothing.
25629
+ /**
25630
+ * Renders cursor or selection (depending on what exists)
25631
+ * it does on the contextTop. If contextTop is not available, do nothing.
25198
25632
  */
25199
25633
  renderCursorOrSelection() {
25200
25634
  if (!this.isEditing || !this.canvas) {
@@ -25250,12 +25684,12 @@ class IText extends ITextClickBehavior {
25250
25684
  ctx.restore();
25251
25685
  }
25252
25686
 
25253
- /**
25254
- * Finds and returns an array of clip paths that are applied to the parent
25255
- * group(s) of the current FabricObject instance. The object's hierarchy is
25256
- * traversed upwards (from the current object towards the root of the canvas),
25257
- * checking each parent object for the presence of a `clipPath` that is not
25258
- * absolutely positioned.
25687
+ /**
25688
+ * Finds and returns an array of clip paths that are applied to the parent
25689
+ * group(s) of the current FabricObject instance. The object's hierarchy is
25690
+ * traversed upwards (from the current object towards the root of the canvas),
25691
+ * checking each parent object for the presence of a `clipPath` that is not
25692
+ * absolutely positioned.
25259
25693
  */
25260
25694
  findAncestorsWithClipPath() {
25261
25695
  const clipPathAncestors = [];
@@ -25270,13 +25704,13 @@ class IText extends ITextClickBehavior {
25270
25704
  return clipPathAncestors;
25271
25705
  }
25272
25706
 
25273
- /**
25274
- * Returns cursor boundaries (left, top, leftOffset, topOffset)
25275
- * left/top are left/top of entire text box
25276
- * leftOffset/topOffset are offset from that left/top point of a text box
25277
- * @private
25278
- * @param {number} [index] index from start
25279
- * @param {boolean} [skipCaching]
25707
+ /**
25708
+ * Returns cursor boundaries (left, top, leftOffset, topOffset)
25709
+ * left/top are left/top of entire text box
25710
+ * leftOffset/topOffset are offset from that left/top point of a text box
25711
+ * @private
25712
+ * @param {number} [index] index from start
25713
+ * @param {boolean} [skipCaching]
25280
25714
  */
25281
25715
  _getCursorBoundaries() {
25282
25716
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -25290,11 +25724,11 @@ class IText extends ITextClickBehavior {
25290
25724
  return this._getCursorBoundariesOriginal(index, skipCaching);
25291
25725
  }
25292
25726
 
25293
- /**
25294
- * Caches and returns cursor left/top offset relative to instance's center point
25295
- * @private
25296
- * @param {number} index index from start
25297
- * @param {boolean} [skipCaching]
25727
+ /**
25728
+ * Caches and returns cursor left/top offset relative to instance's center point
25729
+ * @private
25730
+ * @param {number} index index from start
25731
+ * @param {boolean} [skipCaching]
25298
25732
  */
25299
25733
  _getCursorBoundariesOffsets(index, skipCaching) {
25300
25734
  if (skipCaching) {
@@ -25306,9 +25740,9 @@ class IText extends ITextClickBehavior {
25306
25740
  return this.cursorOffsetCache = this.__getCursorBoundariesOffsets(index);
25307
25741
  }
25308
25742
 
25309
- /**
25310
- * Enhanced cursor boundaries using advanced hit testing when available
25311
- * @private
25743
+ /**
25744
+ * Enhanced cursor boundaries using advanced hit testing when available
25745
+ * @private
25312
25746
  */
25313
25747
  _getCursorBoundariesAdvanced(index) {
25314
25748
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -25324,9 +25758,9 @@ class IText extends ITextClickBehavior {
25324
25758
  };
25325
25759
  }
25326
25760
 
25327
- /**
25328
- * Enhanced selection start from pointer using BiDi-aware hit testing
25329
- * @override
25761
+ /**
25762
+ * Enhanced selection start from pointer using BiDi-aware hit testing
25763
+ * @override
25330
25764
  */
25331
25765
  getSelectionStartFromPointer(e) {
25332
25766
  if (!this.enableAdvancedLayout || !this._layoutTextAdvanced) {
@@ -25340,9 +25774,9 @@ class IText extends ITextClickBehavior {
25340
25774
  return Math.min(hitResult.charIndex, this._text.length);
25341
25775
  }
25342
25776
 
25343
- /**
25344
- * Original cursor boundaries implementation
25345
- * @private
25777
+ /**
25778
+ * Original cursor boundaries implementation
25779
+ * @private
25346
25780
  */
25347
25781
  _getCursorBoundariesOriginal(index, skipCaching) {
25348
25782
  const left = this._getLeftOffset(),
@@ -25356,10 +25790,10 @@ class IText extends ITextClickBehavior {
25356
25790
  };
25357
25791
  }
25358
25792
 
25359
- /**
25360
- * Calculates cursor left/top offset relative to instance's center point
25361
- * @private
25362
- * @param {number} index index from start
25793
+ /**
25794
+ * Calculates cursor left/top offset relative to instance's center point
25795
+ * @private
25796
+ * @param {number} index index from start
25363
25797
  */
25364
25798
  __getCursorBoundariesOffsets(index) {
25365
25799
  let topOffset = 0,
@@ -25393,29 +25827,29 @@ class IText extends ITextClickBehavior {
25393
25827
  return boundaries;
25394
25828
  }
25395
25829
 
25396
- /**
25397
- * Renders cursor on context Top, outside the animation cycle, on request
25398
- * Used for the drag/drop effect.
25399
- * If contextTop is not available, do nothing.
25830
+ /**
25831
+ * Renders cursor on context Top, outside the animation cycle, on request
25832
+ * Used for the drag/drop effect.
25833
+ * If contextTop is not available, do nothing.
25400
25834
  */
25401
25835
  renderCursorAt(selectionStart) {
25402
25836
  this._renderCursor(this.canvas.contextTop, this._getCursorBoundaries(selectionStart, true), selectionStart);
25403
25837
  }
25404
25838
 
25405
- /**
25406
- * Renders cursor
25407
- * @param {Object} boundaries
25408
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25839
+ /**
25840
+ * Renders cursor
25841
+ * @param {Object} boundaries
25842
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25409
25843
  */
25410
25844
  renderCursor(ctx, boundaries) {
25411
25845
  this._renderCursor(ctx, boundaries, this.selectionStart);
25412
25846
  }
25413
25847
 
25414
- /**
25415
- * Return the data needed to render the cursor for given selection start
25416
- * The left,top are relative to the object, while width and height are prescaled
25417
- * to look think with canvas zoom and object scaling,
25418
- * so they depend on canvas and object scaling
25848
+ /**
25849
+ * Return the data needed to render the cursor for given selection start
25850
+ * The left,top are relative to the object, while width and height are prescaled
25851
+ * to look think with canvas zoom and object scaling,
25852
+ * so they depend on canvas and object scaling
25419
25853
  */
25420
25854
  getCursorRenderingData() {
25421
25855
  let selectionStart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.selectionStart;
@@ -25438,9 +25872,9 @@ class IText extends ITextClickBehavior {
25438
25872
  };
25439
25873
  }
25440
25874
 
25441
- /**
25442
- * Render the cursor at the given selectionStart.
25443
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25875
+ /**
25876
+ * Render the cursor at the given selectionStart.
25877
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25444
25878
  */
25445
25879
  _renderCursor(ctx, boundaries, selectionStart) {
25446
25880
  const {
@@ -25456,10 +25890,10 @@ class IText extends ITextClickBehavior {
25456
25890
  ctx.fillRect(left, top, width, height);
25457
25891
  }
25458
25892
 
25459
- /**
25460
- * Renders text selection
25461
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25462
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25893
+ /**
25894
+ * Renders text selection
25895
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25896
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25463
25897
  */
25464
25898
  renderSelection(ctx, boundaries) {
25465
25899
  const selection = {
@@ -25469,8 +25903,8 @@ class IText extends ITextClickBehavior {
25469
25903
  this._renderSelection(ctx, selection, boundaries);
25470
25904
  }
25471
25905
 
25472
- /**
25473
- * Renders drag start text selection
25906
+ /**
25907
+ * Renders drag start text selection
25474
25908
  */
25475
25909
  renderDragSourceEffect() {
25476
25910
  const dragStartSelection = this.draggableTextDelegate.getDragStartSelection();
@@ -25481,12 +25915,12 @@ class IText extends ITextClickBehavior {
25481
25915
  this.renderCursorAt(dragSelection);
25482
25916
  }
25483
25917
 
25484
- /**
25485
- * Renders text selection
25486
- * @private
25487
- * @param {{ selectionStart: number, selectionEnd: number }} selection
25488
- * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25489
- * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25918
+ /**
25919
+ * Renders text selection
25920
+ * @private
25921
+ * @param {{ selectionStart: number, selectionEnd: number }} selection
25922
+ * @param {Object} boundaries Object with left/top/leftOffset/topOffset
25923
+ * @param {CanvasRenderingContext2D} ctx transformed context to draw on
25490
25924
  */
25491
25925
  _renderSelection(ctx, selection, boundaries) {
25492
25926
  const selectionStart = selection.selectionStart,
@@ -25548,34 +25982,34 @@ class IText extends ITextClickBehavior {
25548
25982
  }
25549
25983
  }
25550
25984
 
25551
- /**
25552
- * High level function to know the height of the cursor.
25553
- * the currentChar is the one that precedes the cursor
25554
- * Returns fontSize of char at the current cursor
25555
- * Unused from the library, is for the end user
25556
- * @return {Number} Character font size
25985
+ /**
25986
+ * High level function to know the height of the cursor.
25987
+ * the currentChar is the one that precedes the cursor
25988
+ * Returns fontSize of char at the current cursor
25989
+ * Unused from the library, is for the end user
25990
+ * @return {Number} Character font size
25557
25991
  */
25558
25992
  getCurrentCharFontSize() {
25559
25993
  const cp = this._getCurrentCharIndex();
25560
25994
  return this.getValueOfPropertyAt(cp.l, cp.c, 'fontSize');
25561
25995
  }
25562
25996
 
25563
- /**
25564
- * High level function to know the color of the cursor.
25565
- * the currentChar is the one that precedes the cursor
25566
- * Returns color (fill) of char at the current cursor
25567
- * if the text object has a pattern or gradient for filler, it will return that.
25568
- * Unused by the library, is for the end user
25569
- * @return {String | TFiller} Character color (fill)
25997
+ /**
25998
+ * High level function to know the color of the cursor.
25999
+ * the currentChar is the one that precedes the cursor
26000
+ * Returns color (fill) of char at the current cursor
26001
+ * if the text object has a pattern or gradient for filler, it will return that.
26002
+ * Unused by the library, is for the end user
26003
+ * @return {String | TFiller} Character color (fill)
25570
26004
  */
25571
26005
  getCurrentCharColor() {
25572
26006
  const cp = this._getCurrentCharIndex();
25573
26007
  return this.getValueOfPropertyAt(cp.l, cp.c, FILL);
25574
26008
  }
25575
26009
 
25576
- /**
25577
- * Returns the cursor position for the getCurrent.. functions
25578
- * @private
26010
+ /**
26011
+ * Returns the cursor position for the getCurrent.. functions
26012
+ * @private
25579
26013
  */
25580
26014
  _getCurrentCharIndex() {
25581
26015
  const cursorPosition = this.get2DCursorLocation(this.selectionStart, true),
@@ -25591,52 +26025,52 @@ class IText extends ITextClickBehavior {
25591
26025
  super.dispose();
25592
26026
  }
25593
26027
  }
25594
- /**
25595
- * Index where text selection starts (or where cursor is when there is no selection)
25596
- * @type Number
26028
+ /**
26029
+ * Index where text selection starts (or where cursor is when there is no selection)
26030
+ * @type Number
25597
26031
  */
25598
- /**
25599
- * Index where text selection ends
25600
- * @type Number
26032
+ /**
26033
+ * Index where text selection ends
26034
+ * @type Number
25601
26035
  */
25602
- /**
25603
- * Color of text selection
25604
- * @type String
26036
+ /**
26037
+ * Color of text selection
26038
+ * @type String
25605
26039
  */
25606
- /**
25607
- * Indicates whether text is in editing mode
25608
- * @type Boolean
26040
+ /**
26041
+ * Indicates whether text is in editing mode
26042
+ * @type Boolean
25609
26043
  */
25610
- /**
25611
- * Indicates whether a text can be edited
25612
- * @type Boolean
26044
+ /**
26045
+ * Indicates whether a text can be edited
26046
+ * @type Boolean
25613
26047
  */
25614
- /**
25615
- * Border color of text object while it's in editing mode
25616
- * @type String
26048
+ /**
26049
+ * Border color of text object while it's in editing mode
26050
+ * @type String
25617
26051
  */
25618
- /**
25619
- * Width of cursor (in px)
25620
- * @type Number
26052
+ /**
26053
+ * Width of cursor (in px)
26054
+ * @type Number
25621
26055
  */
25622
- /**
25623
- * Color of text cursor color in editing mode.
25624
- * if not set (default) will take color from the text.
25625
- * if set to a color value that fabric can understand, it will
25626
- * be used instead of the color of the text at the current position.
25627
- * @type String
26056
+ /**
26057
+ * Color of text cursor color in editing mode.
26058
+ * if not set (default) will take color from the text.
26059
+ * if set to a color value that fabric can understand, it will
26060
+ * be used instead of the color of the text at the current position.
26061
+ * @type String
25628
26062
  */
25629
- /**
25630
- * Delay between cursor blink (in ms)
25631
- * @type Number
26063
+ /**
26064
+ * Delay between cursor blink (in ms)
26065
+ * @type Number
25632
26066
  */
25633
- /**
25634
- * Duration of cursor fade in (in ms)
25635
- * @type Number
26067
+ /**
26068
+ * Duration of cursor fade in (in ms)
26069
+ * @type Number
25636
26070
  */
25637
- /**
25638
- * Indicates whether internal text char widths can be cached
25639
- * @type Boolean
26071
+ /**
26072
+ * Indicates whether internal text char widths can be cached
26073
+ * @type Boolean
25640
26074
  */
25641
26075
  _defineProperty(IText, "ownDefaults", iTextDefaultValues);
25642
26076
  _defineProperty(IText, "type", 'IText');
@@ -25658,11 +26092,11 @@ const textboxDefaultValues = {
25658
26092
 
25659
26093
  // @TODO this is not complete
25660
26094
 
25661
- /**
25662
- * Textbox class, based on IText, allows the user to resize the text rectangle
25663
- * and wraps lines automatically. Textboxes have their Y scaling locked, the
25664
- * user can only change width. Height is adjusted automatically based on the
25665
- * wrapping of lines.
26095
+ /**
26096
+ * Textbox class, based on IText, allows the user to resize the text rectangle
26097
+ * and wraps lines automatically. Textboxes have their Y scaling locked, the
26098
+ * user can only change width. Height is adjusted automatically based on the
26099
+ * wrapping of lines.
25666
26100
  */
25667
26101
  class Textbox extends IText {
25668
26102
  static getDefaults() {
@@ -25672,10 +26106,10 @@ class Textbox extends IText {
25672
26106
  };
25673
26107
  }
25674
26108
 
25675
- /**
25676
- * Constructor
25677
- * @param {String} text Text string
25678
- * @param {Object} [options] Options object
26109
+ /**
26110
+ * Constructor
26111
+ * @param {String} text Text string
26112
+ * @param {Object} [options] Options object
25679
26113
  */
25680
26114
  constructor(text, options) {
25681
26115
  super(text, {
@@ -25685,10 +26119,10 @@ class Textbox extends IText {
25685
26119
  this.initializeEventListeners();
25686
26120
  }
25687
26121
 
25688
- /**
25689
- * Creates the default control object.
25690
- * If you prefer to have on instance of controls shared among all objects
25691
- * make this function return an empty object and add controls to the ownDefaults object
26122
+ /**
26123
+ * Creates the default control object.
26124
+ * If you prefer to have on instance of controls shared among all objects
26125
+ * make this function return an empty object and add controls to the ownDefaults object
25692
26126
  */
25693
26127
  static createControls() {
25694
26128
  return {
@@ -25696,11 +26130,11 @@ class Textbox extends IText {
25696
26130
  };
25697
26131
  }
25698
26132
 
25699
- /**
25700
- * Unlike superclass's version of this function, Textbox does not update
25701
- * its width.
25702
- * @private
25703
- * @override
26133
+ /**
26134
+ * Unlike superclass's version of this function, Textbox does not update
26135
+ * its width.
26136
+ * @private
26137
+ * @override
25704
26138
  */
25705
26139
  initDimensions() {
25706
26140
  if (!this.initialized) {
@@ -25729,9 +26163,9 @@ class Textbox extends IText {
25729
26163
  this.height = this.calcTextHeight();
25730
26164
  }
25731
26165
 
25732
- /**
25733
- * Advanced dimensions calculation using new layout engine
25734
- * @private
26166
+ /**
26167
+ * Advanced dimensions calculation using new layout engine
26168
+ * @private
25735
26169
  */
25736
26170
  initDimensionsAdvanced() {
25737
26171
  if (!this.initialized) {
@@ -25786,9 +26220,9 @@ class Textbox extends IText {
25786
26220
  this.dirty = true;
25787
26221
  }
25788
26222
 
25789
- /**
25790
- * Generate style map from new layout format
25791
- * @private
26223
+ /**
26224
+ * Generate style map from new layout format
26225
+ * @private
25792
26226
  */
25793
26227
  _generateStyleMapFromLayout(layout) {
25794
26228
  const map = {};
@@ -25810,12 +26244,12 @@ class Textbox extends IText {
25810
26244
  return map;
25811
26245
  }
25812
26246
 
25813
- /**
25814
- * Generate an object that translates the style object so that it is
25815
- * broken up by visual lines (new lines and automatic wrapping).
25816
- * The original text styles object is broken up by actual lines (new lines only),
25817
- * which is only sufficient for Text / IText
25818
- * @private
26247
+ /**
26248
+ * Generate an object that translates the style object so that it is
26249
+ * broken up by visual lines (new lines and automatic wrapping).
26250
+ * The original text styles object is broken up by actual lines (new lines only),
26251
+ * which is only sufficient for Text / IText
26252
+ * @private
25819
26253
  */
25820
26254
  _generateStyleMap(textInfo) {
25821
26255
  let realLineCount = 0,
@@ -25842,10 +26276,10 @@ class Textbox extends IText {
25842
26276
  return map;
25843
26277
  }
25844
26278
 
25845
- /**
25846
- * Returns true if object has a style property or has it on a specified line
25847
- * @param {Number} lineIndex
25848
- * @return {Boolean}
26279
+ /**
26280
+ * Returns true if object has a style property or has it on a specified line
26281
+ * @param {Number} lineIndex
26282
+ * @return {Boolean}
25849
26283
  */
25850
26284
  styleHas(property, lineIndex) {
25851
26285
  if (this._styleMap && !this.isWrapping) {
@@ -25857,10 +26291,10 @@ class Textbox extends IText {
25857
26291
  return super.styleHas(property, lineIndex);
25858
26292
  }
25859
26293
 
25860
- /**
25861
- * Returns true if object has no styling or no styling in a line
25862
- * @param {Number} lineIndex , lineIndex is on wrapped lines.
25863
- * @return {Boolean}
26294
+ /**
26295
+ * Returns true if object has no styling or no styling in a line
26296
+ * @param {Number} lineIndex , lineIndex is on wrapped lines.
26297
+ * @return {Boolean}
25864
26298
  */
25865
26299
  isEmptyStyles(lineIndex) {
25866
26300
  if (!this.styles) {
@@ -25897,11 +26331,11 @@ class Textbox extends IText {
25897
26331
  return true;
25898
26332
  }
25899
26333
 
25900
- /**
25901
- * @protected
25902
- * @param {Number} lineIndex
25903
- * @param {Number} charIndex
25904
- * @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
26334
+ /**
26335
+ * @protected
26336
+ * @param {Number} lineIndex
26337
+ * @param {Number} charIndex
26338
+ * @return {TextStyleDeclaration} a style object reference to the existing one or a new empty object when undefined
25905
26339
  */
25906
26340
  _getStyleDeclaration(lineIndex, charIndex) {
25907
26341
  if (this._styleMap && !this.isWrapping) {
@@ -25915,59 +26349,59 @@ class Textbox extends IText {
25915
26349
  return super._getStyleDeclaration(lineIndex, charIndex);
25916
26350
  }
25917
26351
 
25918
- /**
25919
- * @param {Number} lineIndex
25920
- * @param {Number} charIndex
25921
- * @param {Object} style
25922
- * @private
26352
+ /**
26353
+ * @param {Number} lineIndex
26354
+ * @param {Number} charIndex
26355
+ * @param {Object} style
26356
+ * @private
25923
26357
  */
25924
26358
  _setStyleDeclaration(lineIndex, charIndex, style) {
25925
26359
  const map = this._styleMap[lineIndex];
25926
26360
  super._setStyleDeclaration(map.line, map.offset + charIndex, style);
25927
26361
  }
25928
26362
 
25929
- /**
25930
- * @param {Number} lineIndex
25931
- * @param {Number} charIndex
25932
- * @private
26363
+ /**
26364
+ * @param {Number} lineIndex
26365
+ * @param {Number} charIndex
26366
+ * @private
25933
26367
  */
25934
26368
  _deleteStyleDeclaration(lineIndex, charIndex) {
25935
26369
  const map = this._styleMap[lineIndex];
25936
26370
  super._deleteStyleDeclaration(map.line, map.offset + charIndex);
25937
26371
  }
25938
26372
 
25939
- /**
25940
- * probably broken need a fix
25941
- * Returns the real style line that correspond to the wrapped lineIndex line
25942
- * Used just to verify if the line does exist or not.
25943
- * @param {Number} lineIndex
25944
- * @returns {Boolean} if the line exists or not
25945
- * @private
26373
+ /**
26374
+ * probably broken need a fix
26375
+ * Returns the real style line that correspond to the wrapped lineIndex line
26376
+ * Used just to verify if the line does exist or not.
26377
+ * @param {Number} lineIndex
26378
+ * @returns {Boolean} if the line exists or not
26379
+ * @private
25946
26380
  */
25947
26381
  _getLineStyle(lineIndex) {
25948
26382
  const map = this._styleMap[lineIndex];
25949
26383
  return !!this.styles[map.line];
25950
26384
  }
25951
26385
 
25952
- /**
25953
- * Set the line style to an empty object so that is initialized
25954
- * @param {Number} lineIndex
25955
- * @param {Object} style
25956
- * @private
26386
+ /**
26387
+ * Set the line style to an empty object so that is initialized
26388
+ * @param {Number} lineIndex
26389
+ * @param {Object} style
26390
+ * @private
25957
26391
  */
25958
26392
  _setLineStyle(lineIndex) {
25959
26393
  const map = this._styleMap[lineIndex];
25960
26394
  super._setLineStyle(map.line);
25961
26395
  }
25962
26396
 
25963
- /**
25964
- * Wraps text using the 'width' property of Textbox. First this function
25965
- * splits text on newlines, so we preserve newlines entered by the user.
25966
- * Then it wraps each line using the width of the Textbox by calling
25967
- * _wrapLine().
25968
- * @param {Array} lines The string array of text that is split into lines
25969
- * @param {Number} desiredWidth width you want to wrap to
25970
- * @returns {Array} Array of lines
26397
+ /**
26398
+ * Wraps text using the 'width' property of Textbox. First this function
26399
+ * splits text on newlines, so we preserve newlines entered by the user.
26400
+ * Then it wraps each line using the width of the Textbox by calling
26401
+ * _wrapLine().
26402
+ * @param {Array} lines The string array of text that is split into lines
26403
+ * @param {Number} desiredWidth width you want to wrap to
26404
+ * @returns {Array} Array of lines
25971
26405
  */
25972
26406
  _wrapText(lines, desiredWidth) {
25973
26407
  this.isWrapping = true;
@@ -25981,12 +26415,12 @@ class Textbox extends IText {
25981
26415
  return wrapped;
25982
26416
  }
25983
26417
 
25984
- /**
25985
- * For each line of text terminated by an hard line stop,
25986
- * measure each word width and extract the largest word from all.
25987
- * The returned words here are the one that at the end will be rendered.
25988
- * @param {string[]} lines the lines we need to measure
25989
- *
26418
+ /**
26419
+ * For each line of text terminated by an hard line stop,
26420
+ * measure each word width and extract the largest word from all.
26421
+ * The returned words here are the one that at the end will be rendered.
26422
+ * @param {string[]} lines the lines we need to measure
26423
+ *
25990
26424
  */
25991
26425
  getGraphemeDataForRender(lines) {
25992
26426
  const splitByGrapheme = this.splitByGrapheme,
@@ -26019,17 +26453,17 @@ class Textbox extends IText {
26019
26453
  };
26020
26454
  }
26021
26455
 
26022
- /**
26023
- * Helper function to measure a string of text, given its lineIndex and charIndex offset
26024
- * It gets called when charBounds are not available yet.
26025
- * Override if necessary
26026
- * Use with {@link Textbox#wordSplit}
26027
- *
26028
- * @param {CanvasRenderingContext2D} ctx
26029
- * @param {String} text
26030
- * @param {number} lineIndex
26031
- * @param {number} charOffset
26032
- * @returns {number}
26456
+ /**
26457
+ * Helper function to measure a string of text, given its lineIndex and charIndex offset
26458
+ * It gets called when charBounds are not available yet.
26459
+ * Override if necessary
26460
+ * Use with {@link Textbox#wordSplit}
26461
+ *
26462
+ * @param {CanvasRenderingContext2D} ctx
26463
+ * @param {String} text
26464
+ * @param {number} lineIndex
26465
+ * @param {number} charOffset
26466
+ * @returns {number}
26033
26467
  */
26034
26468
  _measureWord(word, lineIndex) {
26035
26469
  let charOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
@@ -26044,26 +26478,26 @@ class Textbox extends IText {
26044
26478
  return width;
26045
26479
  }
26046
26480
 
26047
- /**
26048
- * Override this method to customize word splitting
26049
- * Use with {@link Textbox#_measureWord}
26050
- * @param {string} value
26051
- * @returns {string[]} array of words
26481
+ /**
26482
+ * Override this method to customize word splitting
26483
+ * Use with {@link Textbox#_measureWord}
26484
+ * @param {string} value
26485
+ * @returns {string[]} array of words
26052
26486
  */
26053
26487
  wordSplit(value) {
26054
26488
  return value.split(this._wordJoiners);
26055
26489
  }
26056
26490
 
26057
- /**
26058
- * Wraps a line of text using the width of the Textbox as desiredWidth
26059
- * and leveraging the known width o words from GraphemeData
26060
- * @private
26061
- * @param {Number} lineIndex
26062
- * @param {Number} desiredWidth width you want to wrap the line to
26063
- * @param {GraphemeData} graphemeData an object containing all the lines' words width.
26064
- * @param {Number} reservedSpace space to remove from wrapping for custom functionalities
26065
- * @returns {Array} Array of line(s) into which the given text is wrapped
26066
- * to.
26491
+ /**
26492
+ * Wraps a line of text using the width of the Textbox as desiredWidth
26493
+ * and leveraging the known width o words from GraphemeData
26494
+ * @private
26495
+ * @param {Number} lineIndex
26496
+ * @param {Number} desiredWidth width you want to wrap the line to
26497
+ * @param {GraphemeData} graphemeData an object containing all the lines' words width.
26498
+ * @param {Number} reservedSpace space to remove from wrapping for custom functionalities
26499
+ * @returns {Array} Array of line(s) into which the given text is wrapped
26500
+ * to.
26067
26501
  */
26068
26502
  _wrapLine(lineIndex, desiredWidth, _ref) {
26069
26503
  let {
@@ -26121,11 +26555,11 @@ class Textbox extends IText {
26121
26555
  return graphemeLines;
26122
26556
  }
26123
26557
 
26124
- /**
26125
- * Detect if the text line is ended with an hard break
26126
- * text and itext do not have wrapping, return false
26127
- * @param {Number} lineIndex text to split
26128
- * @return {Boolean}
26558
+ /**
26559
+ * Detect if the text line is ended with an hard break
26560
+ * text and itext do not have wrapping, return false
26561
+ * @param {Number} lineIndex text to split
26562
+ * @return {Boolean}
26129
26563
  */
26130
26564
  isEndOfWrapping(lineIndex) {
26131
26565
  if (!this._styleMap[lineIndex + 1]) {
@@ -26139,12 +26573,12 @@ class Textbox extends IText {
26139
26573
  return false;
26140
26574
  }
26141
26575
 
26142
- /**
26143
- * Detect if a line has a linebreak and so we need to account for it when moving
26144
- * and counting style.
26145
- * This is important only for splitByGrapheme at the end of wrapping.
26146
- * If we are not wrapping the offset is always 1
26147
- * @return Number
26576
+ /**
26577
+ * Detect if a line has a linebreak and so we need to account for it when moving
26578
+ * and counting style.
26579
+ * This is important only for splitByGrapheme at the end of wrapping.
26580
+ * If we are not wrapping the offset is always 1
26581
+ * @return Number
26148
26582
  */
26149
26583
  missingNewlineOffset(lineIndex, skipWrapping) {
26150
26584
  if (this.splitByGrapheme && !skipWrapping) {
@@ -26153,12 +26587,12 @@ class Textbox extends IText {
26153
26587
  return 1;
26154
26588
  }
26155
26589
 
26156
- /**
26157
- * Gets lines of text to render in the Textbox. This function calculates
26158
- * text wrapping on the fly every time it is called.
26159
- * @param {String} text text to split
26160
- * @returns {Array} Array of lines in the Textbox.
26161
- * @override
26590
+ /**
26591
+ * Gets lines of text to render in the Textbox. This function calculates
26592
+ * text wrapping on the fly every time it is called.
26593
+ * @param {String} text text to split
26594
+ * @returns {Array} Array of lines in the Textbox.
26595
+ * @override
26162
26596
  */
26163
26597
  _splitTextIntoLines(text) {
26164
26598
  const newText = super._splitTextIntoLines(text),
@@ -26190,9 +26624,9 @@ class Textbox extends IText {
26190
26624
  }
26191
26625
  }
26192
26626
 
26193
- /**
26194
- * Initialize event listeners for safety snap functionality
26195
- * @private
26627
+ /**
26628
+ * Initialize event listeners for safety snap functionality
26629
+ * @private
26196
26630
  */
26197
26631
  initializeEventListeners() {
26198
26632
  var _this$canvas;
@@ -26235,12 +26669,12 @@ class Textbox extends IText {
26235
26669
  });
26236
26670
  }
26237
26671
 
26238
- /**
26239
- * Safety snap to prevent glyph clipping after manual resize.
26240
- * Similar to Polotno - checks if any glyphs are too close to edges
26241
- * and automatically expands width if needed.
26242
- * @private
26243
- * @param resizeOrigin - Which side was used for resizing ('left' or 'right')
26672
+ /**
26673
+ * Safety snap to prevent glyph clipping after manual resize.
26674
+ * Similar to Polotno - checks if any glyphs are too close to edges
26675
+ * and automatically expands width if needed.
26676
+ * @private
26677
+ * @param resizeOrigin - Which side was used for resizing ('left' or 'right')
26244
26678
  */
26245
26679
  safetySnapWidth(resizeOrigin) {
26246
26680
  // For Textbox objects, we always want to check for clipping regardless of isWrapping flag
@@ -26307,31 +26741,31 @@ class Textbox extends IText {
26307
26741
  }
26308
26742
  }
26309
26743
 
26310
- /**
26311
- * Returns object representation of an instance
26312
- * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
26313
- * @return {Object} object representation of an instance
26744
+ /**
26745
+ * Returns object representation of an instance
26746
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
26747
+ * @return {Object} object representation of an instance
26314
26748
  */
26315
26749
  toObject() {
26316
26750
  let propertiesToInclude = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
26317
26751
  return super.toObject(['minWidth', 'splitByGrapheme', ...propertiesToInclude]);
26318
26752
  }
26319
26753
  }
26320
- /**
26321
- * Minimum width of textbox, in pixels.
26322
- * @type Number
26323
- */
26324
- /**
26325
- * Minimum calculated width of a textbox, in pixels.
26326
- * fixed to 2 so that an empty textbox cannot go to 0
26327
- * and is still selectable without text.
26328
- * @type Number
26329
- */
26330
- /**
26331
- * Use this boolean property in order to split strings that have no white space concept.
26332
- * this is a cheap way to help with chinese/japanese
26333
- * @type Boolean
26334
- * @since 2.6.0
26754
+ /**
26755
+ * Minimum width of textbox, in pixels.
26756
+ * @type Number
26757
+ */
26758
+ /**
26759
+ * Minimum calculated width of a textbox, in pixels.
26760
+ * fixed to 2 so that an empty textbox cannot go to 0
26761
+ * and is still selectable without text.
26762
+ * @type Number
26763
+ */
26764
+ /**
26765
+ * Use this boolean property in order to split strings that have no white space concept.
26766
+ * this is a cheap way to help with chinese/japanese
26767
+ * @type Boolean
26768
+ * @since 2.6.0
26335
26769
  */
26336
26770
  _defineProperty(Textbox, "type", 'Textbox');
26337
26771
  _defineProperty(Textbox, "textLayoutProperties", [...IText.textLayoutProperties, 'width']);