fabric 7.3.1 → 7.4.0

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 (314) hide show
  1. package/CHANGELOG.md +40 -27
  2. package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/defineProperty.mjs +1 -1
  3. package/{dist-extensions/_virtual/_@oxc-project_runtime@0.122.0 → dist/_virtual/_@oxc-project_runtime@0.126.0}/helpers/toPrimitive.mjs +1 -1
  4. package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPropertyKey.mjs +1 -1
  5. package/{dist-extensions/_virtual/_@oxc-project_runtime@0.122.0 → dist/_virtual/_@oxc-project_runtime@0.126.0}/helpers/typeof.mjs +1 -1
  6. package/dist/index.js +88 -66
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.min.js +35 -35
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/index.min.mjs +37 -37
  11. package/dist/index.min.mjs.map +1 -1
  12. package/dist/index.mjs +88 -66
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/index.node.cjs +83 -62
  15. package/dist/index.node.cjs.map +1 -1
  16. package/dist/index.node.mjs +83 -62
  17. package/dist/index.node.mjs.map +1 -1
  18. package/dist/package.min.mjs +1 -1
  19. package/dist/package.mjs +1 -1
  20. package/dist/src/Collection.min.mjs +1 -1
  21. package/dist/src/Collection.mjs +1 -1
  22. package/dist/src/LayoutManager/LayoutManager.min.mjs +1 -1
  23. package/dist/src/LayoutManager/LayoutManager.mjs +1 -1
  24. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +1 -1
  25. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +1 -1
  26. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.min.mjs +1 -1
  27. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.mjs +1 -1
  28. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.min.mjs +1 -1
  29. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.mjs +1 -1
  30. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +1 -1
  31. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +1 -1
  32. package/dist/src/Observable.min.mjs +1 -1
  33. package/dist/src/Observable.mjs +1 -1
  34. package/dist/src/Pattern/Pattern.min.mjs +1 -1
  35. package/dist/src/Pattern/Pattern.mjs +1 -1
  36. package/dist/src/Shadow.min.mjs +1 -1
  37. package/dist/src/Shadow.mjs +1 -1
  38. package/dist/src/brushes/BaseBrush.min.mjs +1 -1
  39. package/dist/src/brushes/BaseBrush.mjs +1 -1
  40. package/dist/src/brushes/CircleBrush.min.mjs +1 -1
  41. package/dist/src/brushes/CircleBrush.mjs +1 -1
  42. package/dist/src/brushes/PencilBrush.min.mjs +1 -1
  43. package/dist/src/brushes/PencilBrush.mjs +1 -1
  44. package/dist/src/brushes/SprayBrush.min.mjs +1 -1
  45. package/dist/src/brushes/SprayBrush.mjs +1 -1
  46. package/dist/src/cache.min.mjs +1 -1
  47. package/dist/src/cache.mjs +1 -1
  48. package/dist/src/canvas/Canvas.min.mjs +1 -1
  49. package/dist/src/canvas/Canvas.mjs +1 -1
  50. package/dist/src/canvas/DOMManagers/CanvasDOMManager.min.mjs +1 -1
  51. package/dist/src/canvas/DOMManagers/CanvasDOMManager.mjs +1 -1
  52. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.min.mjs +1 -1
  53. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.mjs +1 -1
  54. package/dist/src/canvas/SelectableCanvas.min.mjs +1 -1
  55. package/dist/src/canvas/SelectableCanvas.mjs +1 -1
  56. package/dist/src/canvas/StaticCanvas.d.ts +1 -1
  57. package/dist/src/canvas/StaticCanvas.d.ts.map +1 -1
  58. package/dist/src/canvas/StaticCanvas.min.mjs +5 -5
  59. package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -1
  60. package/dist/src/canvas/StaticCanvas.mjs +4 -4
  61. package/dist/src/canvas/StaticCanvas.mjs.map +1 -1
  62. package/dist/src/canvas/TextEditingManager.min.mjs +1 -1
  63. package/dist/src/canvas/TextEditingManager.mjs +1 -1
  64. package/dist/src/color/Color.min.mjs +1 -1
  65. package/dist/src/color/Color.mjs +1 -1
  66. package/dist/src/config.min.mjs +1 -1
  67. package/dist/src/config.mjs +1 -1
  68. package/dist/src/controls/Control.min.mjs +1 -1
  69. package/dist/src/controls/Control.mjs +1 -1
  70. package/dist/src/filters/BaseFilter.min.mjs +1 -1
  71. package/dist/src/filters/BaseFilter.mjs +1 -1
  72. package/dist/src/filters/BlendColor.min.mjs +1 -1
  73. package/dist/src/filters/BlendColor.mjs +1 -1
  74. package/dist/src/filters/BlendImage.min.mjs +1 -1
  75. package/dist/src/filters/BlendImage.mjs +1 -1
  76. package/dist/src/filters/Blur.min.mjs +1 -1
  77. package/dist/src/filters/Blur.mjs +1 -1
  78. package/dist/src/filters/Brightness.min.mjs +1 -1
  79. package/dist/src/filters/Brightness.mjs +1 -1
  80. package/dist/src/filters/Canvas2dFilterBackend.min.mjs +1 -1
  81. package/dist/src/filters/Canvas2dFilterBackend.mjs +1 -1
  82. package/dist/src/filters/ColorMatrix.min.mjs +1 -1
  83. package/dist/src/filters/ColorMatrix.mjs +1 -1
  84. package/dist/src/filters/ColorMatrixFilters.min.mjs +1 -1
  85. package/dist/src/filters/ColorMatrixFilters.mjs +1 -1
  86. package/dist/src/filters/Composed.min.mjs +1 -1
  87. package/dist/src/filters/Composed.mjs +1 -1
  88. package/dist/src/filters/Contrast.min.mjs +1 -1
  89. package/dist/src/filters/Contrast.mjs +1 -1
  90. package/dist/src/filters/Convolute.min.mjs +1 -1
  91. package/dist/src/filters/Convolute.min.mjs.map +1 -1
  92. package/dist/src/filters/Convolute.mjs +1 -1
  93. package/dist/src/filters/Gamma.min.mjs +1 -1
  94. package/dist/src/filters/Gamma.mjs +1 -1
  95. package/dist/src/filters/Grayscale.min.mjs +1 -1
  96. package/dist/src/filters/Grayscale.mjs +1 -1
  97. package/dist/src/filters/HueRotation.min.mjs +1 -1
  98. package/dist/src/filters/HueRotation.mjs +1 -1
  99. package/dist/src/filters/Invert.min.mjs +1 -1
  100. package/dist/src/filters/Invert.mjs +1 -1
  101. package/dist/src/filters/Noise.min.mjs +1 -1
  102. package/dist/src/filters/Noise.mjs +1 -1
  103. package/dist/src/filters/Pixelate.min.mjs +1 -1
  104. package/dist/src/filters/Pixelate.mjs +1 -1
  105. package/dist/src/filters/RemoveColor.min.mjs +1 -1
  106. package/dist/src/filters/RemoveColor.mjs +1 -1
  107. package/dist/src/filters/Resize.min.mjs +2 -2
  108. package/dist/src/filters/Resize.min.mjs.map +1 -1
  109. package/dist/src/filters/Resize.mjs +2 -2
  110. package/dist/src/filters/Resize.mjs.map +1 -1
  111. package/dist/src/filters/Saturation.min.mjs +1 -1
  112. package/dist/src/filters/Saturation.mjs +1 -1
  113. package/dist/src/filters/Vibrance.min.mjs +1 -1
  114. package/dist/src/filters/Vibrance.mjs +1 -1
  115. package/dist/src/filters/WebGLFilterBackend.min.mjs +1 -1
  116. package/dist/src/filters/WebGLFilterBackend.mjs +1 -1
  117. package/dist/src/gradient/Gradient.d.ts.map +1 -1
  118. package/dist/src/gradient/Gradient.min.mjs +4 -4
  119. package/dist/src/gradient/Gradient.min.mjs.map +1 -1
  120. package/dist/src/gradient/Gradient.mjs +6 -2
  121. package/dist/src/gradient/Gradient.mjs.map +1 -1
  122. package/dist/src/gradient/typedefs.d.ts +7 -7
  123. package/dist/src/parser/applyViewboxTransform.d.ts.map +1 -1
  124. package/dist/src/parser/applyViewboxTransform.min.mjs +1 -1
  125. package/dist/src/parser/applyViewboxTransform.min.mjs.map +1 -1
  126. package/dist/src/parser/applyViewboxTransform.mjs +2 -4
  127. package/dist/src/parser/applyViewboxTransform.mjs.map +1 -1
  128. package/dist/src/shapes/ActiveSelection.min.mjs +1 -1
  129. package/dist/src/shapes/ActiveSelection.mjs +1 -1
  130. package/dist/src/shapes/Circle.min.mjs +2 -2
  131. package/dist/src/shapes/Circle.min.mjs.map +1 -1
  132. package/dist/src/shapes/Circle.mjs +1 -1
  133. package/dist/src/shapes/Ellipse.min.mjs +1 -1
  134. package/dist/src/shapes/Ellipse.mjs +1 -1
  135. package/dist/src/shapes/Group.min.mjs +1 -1
  136. package/dist/src/shapes/Group.mjs +1 -1
  137. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +1 -1
  138. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +1 -1
  139. package/dist/src/shapes/IText/IText.d.ts.map +1 -1
  140. package/dist/src/shapes/IText/IText.min.mjs +1 -1
  141. package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
  142. package/dist/src/shapes/IText/IText.mjs +3 -3
  143. package/dist/src/shapes/IText/IText.mjs.map +1 -1
  144. package/dist/src/shapes/IText/ITextBehavior.min.mjs +1 -1
  145. package/dist/src/shapes/IText/ITextBehavior.mjs +1 -1
  146. package/dist/src/shapes/IText/ITextClickBehavior.min.mjs +1 -1
  147. package/dist/src/shapes/IText/ITextClickBehavior.mjs +1 -1
  148. package/dist/src/shapes/Image.min.mjs +1 -1
  149. package/dist/src/shapes/Image.mjs +1 -1
  150. package/dist/src/shapes/Line.min.mjs +1 -1
  151. package/dist/src/shapes/Line.mjs +1 -1
  152. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
  153. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +2 -2
  154. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -1
  155. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +11 -26
  156. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -1
  157. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
  158. package/dist/src/shapes/Object/InteractiveObject.min.mjs +1 -1
  159. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -1
  160. package/dist/src/shapes/Object/InteractiveObject.mjs +7 -6
  161. package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -1
  162. package/dist/src/shapes/Object/Object.min.mjs +1 -1
  163. package/dist/src/shapes/Object/Object.mjs +1 -1
  164. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +1 -1
  165. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +1 -1
  166. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +1 -1
  167. package/dist/src/shapes/Object/ObjectGeometry.mjs +6 -2
  168. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +1 -1
  169. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +1 -1
  170. package/dist/src/shapes/Path.min.mjs +1 -1
  171. package/dist/src/shapes/Path.mjs +1 -1
  172. package/dist/src/shapes/Polygon.min.mjs +1 -1
  173. package/dist/src/shapes/Polygon.mjs +1 -1
  174. package/dist/src/shapes/Polyline.min.mjs +1 -1
  175. package/dist/src/shapes/Polyline.mjs +1 -1
  176. package/dist/src/shapes/Rect.min.mjs +1 -1
  177. package/dist/src/shapes/Rect.mjs +1 -1
  178. package/dist/src/shapes/Text/StyledText.min.mjs +1 -1
  179. package/dist/src/shapes/Text/StyledText.mjs +1 -1
  180. package/dist/src/shapes/Text/Text.d.ts +4 -4
  181. package/dist/src/shapes/Text/Text.min.mjs +1 -1
  182. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  183. package/dist/src/shapes/Text/Text.mjs +3 -3
  184. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  185. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -1
  186. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +2 -2
  187. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -1
  188. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +14 -7
  189. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -1
  190. package/dist/src/shapes/Textbox.d.ts.map +1 -1
  191. package/dist/src/shapes/Textbox.min.mjs +2 -2
  192. package/dist/src/shapes/Textbox.min.mjs.map +1 -1
  193. package/dist/src/shapes/Textbox.mjs +2 -3
  194. package/dist/src/shapes/Textbox.mjs.map +1 -1
  195. package/dist/src/shapes/Triangle.min.mjs +1 -1
  196. package/dist/src/shapes/Triangle.mjs +1 -1
  197. package/dist/src/util/animation/AnimationBase.min.mjs +1 -1
  198. package/dist/src/util/animation/AnimationBase.mjs +1 -1
  199. package/dist/src/util/animation/easing.min.mjs +1 -1
  200. package/dist/src/util/animation/easing.min.mjs.map +1 -1
  201. package/dist/src/util/animation/easing.mjs +1 -1
  202. package/dist/src/util/animation/easing.mjs.map +1 -1
  203. package/dist/src/util/internals/applyCanvasTransform.d.ts +1 -1
  204. package/dist/src/util/internals/applyCanvasTransform.min.mjs.map +1 -1
  205. package/dist/src/util/internals/applyCanvasTransform.mjs +1 -1
  206. package/dist/src/util/internals/applyCanvasTransform.mjs.map +1 -1
  207. package/dist/src/util/internals/svgExportCheck.d.ts +4 -0
  208. package/dist/src/util/internals/svgExportCheck.d.ts.map +1 -0
  209. package/dist/src/util/internals/svgExportCheck.min.mjs +2 -0
  210. package/dist/src/util/internals/svgExportCheck.min.mjs.map +1 -0
  211. package/dist/src/util/internals/svgExportCheck.mjs +12 -0
  212. package/dist/src/util/internals/svgExportCheck.mjs.map +1 -0
  213. package/dist/src/util/misc/matrix.d.ts +14 -0
  214. package/dist/src/util/misc/matrix.d.ts.map +1 -1
  215. package/dist/src/util/misc/matrix.min.mjs +1 -1
  216. package/dist/src/util/misc/matrix.min.mjs.map +1 -1
  217. package/dist/src/util/misc/matrix.mjs +15 -1
  218. package/dist/src/util/misc/matrix.mjs.map +1 -1
  219. package/dist/src/util/misc/mergeClipPaths.d.ts +1 -1
  220. package/dist/src/util/misc/mergeClipPaths.min.mjs.map +1 -1
  221. package/dist/src/util/misc/mergeClipPaths.mjs +1 -1
  222. package/dist/src/util/misc/mergeClipPaths.mjs.map +1 -1
  223. package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -1
  224. package/dist/src/util/misc/objectEnlive.mjs +1 -1
  225. package/dist/src/util/misc/objectEnlive.mjs.map +1 -1
  226. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs +1 -1
  227. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.min.mjs.map +1 -1
  228. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.mjs +1 -1
  229. package/dist/src/util/misc/svgParsing.d.ts +2 -2
  230. package/dist/src/util/misc/svgParsing.d.ts.map +1 -1
  231. package/dist/src/util/misc/svgParsing.min.mjs +1 -1
  232. package/dist/src/util/misc/svgParsing.min.mjs.map +1 -1
  233. package/dist/src/util/misc/svgParsing.mjs +8 -3
  234. package/dist/src/util/misc/svgParsing.mjs.map +1 -1
  235. package/dist/src/util/path/index.d.ts.map +1 -1
  236. package/dist/src/util/path/index.min.mjs +1 -1
  237. package/dist/src/util/path/index.min.mjs.map +1 -1
  238. package/dist/src/util/path/index.mjs +2 -1
  239. package/dist/src/util/path/index.mjs.map +1 -1
  240. package/dist/src/util/path/regex.min.mjs.map +1 -1
  241. package/dist/src/util/path/regex.mjs +1 -1
  242. package/dist/src/util/path/regex.mjs.map +1 -1
  243. package/dist-extensions/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/defineProperty.mjs +1 -1
  244. package/{dist/_virtual/_@oxc-project_runtime@0.122.0 → dist-extensions/_virtual/_@oxc-project_runtime@0.126.0}/helpers/toPrimitive.mjs +1 -1
  245. package/dist-extensions/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPropertyKey.mjs +1 -1
  246. package/{dist/_virtual/_@oxc-project_runtime@0.122.0 → dist-extensions/_virtual/_@oxc-project_runtime@0.126.0}/helpers/typeof.mjs +1 -1
  247. package/dist-extensions/aligning_guidelines/index.mjs +1 -1
  248. package/dist-extensions/cropping_controls/croppingHandlers.mjs +1 -7
  249. package/dist-extensions/cropping_controls/croppingHandlers.mjs.map +1 -1
  250. package/dist-extensions/extensions/cropping_controls/croppingHandlers.d.ts.map +1 -1
  251. package/dist-extensions/fabric-extensions.min.js +1 -1
  252. package/dist-extensions/fabric-extensions.min.js.map +1 -1
  253. package/dist-extensions/src/canvas/StaticCanvas.d.ts +1 -1
  254. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -1
  255. package/dist-extensions/src/gradient/Gradient.d.ts.map +1 -1
  256. package/dist-extensions/src/gradient/typedefs.d.ts +7 -7
  257. package/dist-extensions/src/parser/applyViewboxTransform.d.ts.map +1 -1
  258. package/dist-extensions/src/shapes/IText/IText.d.ts.map +1 -1
  259. package/dist-extensions/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
  260. package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
  261. package/dist-extensions/src/shapes/Object/ObjectGeometry.d.ts.map +1 -1
  262. package/dist-extensions/src/shapes/Object/types/FabricObjectProps.d.ts +1 -1
  263. package/dist-extensions/src/shapes/Text/Text.d.ts +4 -4
  264. package/dist-extensions/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -1
  265. package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -1
  266. package/dist-extensions/src/util/internals/applyCanvasTransform.d.ts +1 -1
  267. package/dist-extensions/src/util/internals/svgExportCheck.d.ts +4 -0
  268. package/dist-extensions/src/util/internals/svgExportCheck.d.ts.map +1 -0
  269. package/dist-extensions/src/util/misc/matrix.d.ts +14 -0
  270. package/dist-extensions/src/util/misc/matrix.d.ts.map +1 -1
  271. package/dist-extensions/src/util/misc/mergeClipPaths.d.ts +1 -1
  272. package/dist-extensions/src/util/misc/svgParsing.d.ts +2 -2
  273. package/dist-extensions/src/util/misc/svgParsing.d.ts.map +1 -1
  274. package/dist-extensions/src/util/path/index.d.ts.map +1 -1
  275. package/extensions/cropping_controls/croppingHandlers.ts +13 -19
  276. package/package.json +10 -10
  277. package/src/LayoutManager/README.md +3 -3
  278. package/src/canvas/StaticCanvas.spec.ts +19 -0
  279. package/src/canvas/StaticCanvas.ts +7 -3
  280. package/src/filters/Resize.ts +1 -1
  281. package/src/gradient/Gradient.spec.ts +60 -1
  282. package/src/gradient/Gradient.ts +9 -2
  283. package/src/gradient/typedefs.ts +7 -7
  284. package/src/parser/applyViewboxTransform.ts +2 -4
  285. package/src/shapes/IText/IText.ts +1 -2
  286. package/src/shapes/IText/ITextBehavior.test.ts +6 -6
  287. package/src/shapes/Object/FabricObject.spec.ts +3 -2
  288. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +47 -37
  289. package/src/shapes/Object/InteractiveObject.ts +13 -3
  290. package/src/shapes/Object/Object-interactivity.spec.ts +126 -7
  291. package/src/shapes/Object/ObjectGeometry.spec.ts +10 -1
  292. package/src/shapes/Object/ObjectGeometry.ts +10 -3
  293. package/src/shapes/Object/objectSvgExport.spec.ts +27 -0
  294. package/src/shapes/Object/types/FabricObjectProps.ts +1 -1
  295. package/src/shapes/Text/Text.spec.ts +25 -0
  296. package/src/shapes/Text/Text.ts +5 -5
  297. package/src/shapes/Text/TextSVGExportMixin.ts +25 -11
  298. package/src/shapes/Textbox.ts +1 -2
  299. package/src/util/animation/animations.spec.ts +1 -1
  300. package/src/util/animation/easing.ts +1 -1
  301. package/src/util/internals/applyCanvasTransform.ts +1 -1
  302. package/src/util/internals/svgExportCheck.ts +20 -0
  303. package/src/util/misc/matrix.spec.ts +52 -0
  304. package/src/util/misc/matrix.ts +16 -0
  305. package/src/util/misc/mergeClipPaths.ts +1 -1
  306. package/src/util/misc/objectEnlive.ts +1 -1
  307. package/src/util/misc/svgParsing.ts +22 -10
  308. package/src/util/path/index.ts +3 -2
  309. package/src/util/path/regex.ts +1 -1
  310. package/src/util/typeAssertions.spec.ts +1 -1
  311. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/defineProperty.min.mjs +0 -0
  312. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPrimitive.min.mjs +0 -0
  313. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/toPropertyKey.min.mjs +0 -0
  314. /package/dist/_virtual/{_@oxc-project_runtime@0.122.0 → _@oxc-project_runtime@0.126.0}/helpers/typeof.min.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveObject.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Object/InteractiveObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InteractiveObject.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Object/InteractiveObject.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectGeometry.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Object/ObjectGeometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObjectGeometry.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Object/ObjectGeometry.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface FabricObjectProps extends ObjectProps, ControlProps, BorderProp
6
6
  /**
7
7
  * When `true`, cache does not get updated during scaling. The picture will get blocky if scaled
8
8
  * too much and will be redrawn with correct details at the end of scaling.
9
- * this setting is performance and application dependant.
9
+ * this setting is performance and application dependent.
10
10
  * default to true
11
11
  * since 1.7.0
12
12
  * @type Boolean
@@ -198,11 +198,11 @@ export declare class FabricText<Props extends TOptions<TextProps> = Partial<Text
198
198
  */
199
199
  path?: Path;
200
200
  /**
201
- * The text decoration tickness for underline, overline and strikethrough
202
- * The tickness is expressed in thousandths of fontSize ( em ).
201
+ * The text decoration thickness for underline, overline and strikethrough
202
+ * The thickness is expressed in thousandths of fontSize ( em ).
203
203
  * The original value was 1/15 that translates to 66.6667 thousandths.
204
204
  * The choice of unit of measure is to align with charSpacing.
205
- * You can slim the tickness without issues, while large underline or overline may end up
205
+ * You can slim the thickness without issues, while large underline or overline may end up
206
206
  * outside the bounding box of the text. In order to fix that a bigger refactor of the code
207
207
  * is needed and is out of scope for now. If you need such large overline on the first line
208
208
  * of text or large underline on the last line of text, consider disabling caching as a
@@ -524,7 +524,7 @@ export declare class FabricText<Props extends TOptions<TextProps> = Partial<Text
524
524
  * @private
525
525
  * @param {String} method fillText or strokeText.
526
526
  * @param {CanvasRenderingContext2D} ctx Context to render on
527
- * @param {Array} line Content of the line, splitted in an array by grapheme
527
+ * @param {Array} line Content of the line, split in an array by grapheme
528
528
  * @param {Number} left
529
529
  * @param {Number} top
530
530
  * @param {Number} lineIndex
@@ -1 +1 @@
1
- {"version":3,"file":"TextSVGExportMixin.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Text/TextSVGExportMixin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAMzD,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,QAAQ,CAAC;AAoBvD,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,GAAG,MAAM,EAAE;IAMvD,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAoB3E,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,iBAAiB;IA+BzB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,mBAAmB;IAiE3B,OAAO,CAAC,iBAAiB;IA8CzB;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO;IAOxE;;;;;OAKG;IACH,gBAAgB,CACd,IAAI,EAAE,kBAAkB,GAAG,UAAU,EACrC,KAAK,EAAE,oBAAoB,EAC3B,aAAa,CAAC,EAAE,OAAO;IAkDzB;;;;OAIG;IACH,oBAAoB,CAClB,IAAI,EAAE,kBAAkB,GAAG,UAAU,EACrC,KAAK,EAAE,oBAAoB;CAc9B"}
1
+ {"version":3,"file":"TextSVGExportMixin.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Text/TextSVGExportMixin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAMzD,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,QAAQ,CAAC;AAyBvD,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,GAAG,MAAM,EAAE;IAMvD,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAoB3E,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,iBAAiB;IA+BzB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAmDxB,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,mBAAmB;IAiE3B,OAAO,CAAC,iBAAiB;IA8CzB;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO;IASxE;;;;;OAKG;IACH,gBAAgB,CACd,IAAI,EAAE,kBAAkB,GAAG,UAAU,EACrC,KAAK,EAAE,oBAAoB,EAC3B,aAAa,CAAC,EAAE,OAAO;IAyDzB;;;;OAIG;IACH,oBAAoB,CAClB,IAAI,EAAE,kBAAkB,GAAG,UAAU,EACrC,KAAK,EAAE,oBAAoB;CAc9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Textbox.d.ts","sourceRoot":"","sources":["../../../src/shapes/Textbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Textbox.d.ts","sourceRoot":"","sources":["../../../src/shapes/Textbox.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { StaticCanvas } from '../../canvas/StaticCanvas';
3
3
  * Set the transform of the passed context to the same of a specific Canvas or StaticCanvas.
4
4
  * setTransform is used since this utility will RESET the ctx transform to the basic value
5
5
  * of retina scaling and viewport transform
6
- * It is not meant to be added to other transforms, it is used internally to preapre canvases to draw
6
+ * It is not meant to be added to other transforms, it is used internally to prepare canvases to draw
7
7
  * @param ctx
8
8
  * @param canvas
9
9
  */
@@ -0,0 +1,4 @@
1
+ export declare const isSafeSvgStyleValue: (value: unknown) => value is string;
2
+ export declare const getSafeSvgStyleNumber: (value: unknown, fallback?: string) => string;
3
+ export declare const getSafeSvgStyleToken: (value: unknown, fallback?: string) => string;
4
+ //# sourceMappingURL=svgExportCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgExportCheck.d.ts","sourceRoot":"","sources":["../../../../src/util/internals/svgExportCheck.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAGvB,CAAC;AAExC,eAAO,MAAM,qBAAqB,GAChC,OAAO,OAAO,EACd,iBAAa,KACZ,MAGF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,EAAE,iBAAa,KAAG,MACO,CAAC"}
@@ -53,6 +53,20 @@ export declare const multiplyTransformMatrices: (a: TMat2D, b: TMat2D, is2x2?: b
53
53
  */
54
54
  export declare const multiplyTransformMatrixArray: (matrices: (TMat2D | undefined | null | false)[], is2x2?: boolean) => TMat2D;
55
55
  export declare const calcPlaneRotation: ([a, b]: TMat2D) => TRadian;
56
+ /**
57
+ * Returns the uniform scale (zoom) magnitude of a 2D affine matrix,
58
+ * computed as the length of the image of the unit X basis vector.
59
+ */
60
+ export declare const calcPlaneZoom: ([a, b]: TMat2D) => number;
61
+ /**
62
+ * Returns the Y-axis scale magnitude of a 2D affine matrix,
63
+ * computed as the length of the image of the unit Y basis vector.
64
+ * We do not support non uniform zooming on the viewport but to make things work
65
+ * we need to have a function that can return the value on Y axis.
66
+ * Bug reports and features will be planned with zoom being just a number
67
+ * that is the same for both axis
68
+ */
69
+ export declare const calcPlaneScaleY: ([, , c, d]: TMat2D) => number;
56
70
  /**
57
71
  * Decomposes standard 2x3 matrix into transform components
58
72
  * @param {TMat2D} a transformMatrix
@@ -1 +1 @@
1
- {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../../src/util/misc/matrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAK/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GACnD,iBAAiB,GACjB,gBAAgB,CAAC;AAEnB,MAAM,MAAM,eAAe,GAAG,QAAQ,CACpC,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,CAC5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,YACW,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,GAAG,EAAE,EACL,GAAG,MAAM,EACT,eAAe,OAAO,KACrB,KAAgD,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,GAAG,MAAM,KAAG,MAO3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,GAAG,MAAM,EACT,GAAG,MAAM,EACT,QAAQ,OAAO,KACd,MAQU,CAAC;AAEd;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,GACvC,UAAU,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,EAC/C,QAAQ,OAAO,WAQM,CAAC;AAExB,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,KAC1B,OAAO,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,eAevC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,GAAI,GAAG,MAAM,EAAE,UAAK,KAAG,MAOxD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,KAAS,EAAE,GAAE,iBAAsB,EACrC,EAAE,CAAK,EAAE,CAAK,EAAE,GAAE,OAAO,CAAC,EAAE,CAAM,GACjC,MAAM,CAYR;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,MAAM,EAAE,IAAG,MAAU,KAAG,MAO5D,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,WACP,CAAC;AAEpC,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,YACN,CAAC;AAErC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,OAAO,KAAG,MAOtD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,OAAO,KAAG,MAOtD,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAAI,iDAOlC,gBAAgB,WAYlB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,kBAAkB,KAAG,MAW3D,CAAC"}
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../../../src/util/misc/matrix.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Group } from '../../shapes/Group';
4
4
  * Merges 2 clip paths into one visually equal clip path
5
5
  *
6
6
  * **IMPORTANT**:\
7
- * Does **NOT** clone the arguments, clone them proir if necessary.
7
+ * Does **NOT** clone the arguments, clone them prior if necessary.
8
8
  *
9
9
  * Creates a wrapper (group) that contains one clip path and is clipped by the other so content is kept where both overlap.
10
10
  * Use this method if both the clip paths may have nested clip paths of their own, so assigning one to the other's clip path property is not possible.
@@ -1,4 +1,4 @@
1
- import type { TBBox, SVGElementName } from '../../typedefs';
1
+ import type { TBBox, SVGElementName, TFiller } from '../../typedefs';
2
2
  /**
3
3
  * Returns array of attributes for given svg that fabric parses
4
4
  * @param {SVGElementName} type Type of svg element (eg. 'circle')
@@ -35,6 +35,6 @@ export declare const parsePreserveAspectRatioAttribute: (attribute: string) => T
35
35
  * @param {boolean} inlineStyle The default is inline style, the separator used is ":", The other is "="
36
36
  * @returns
37
37
  */
38
- export declare const colorPropToSVG: (prop: string, value?: any, inlineStyle?: boolean) => string;
38
+ export declare const colorPropToSVG: (prop: string, value?: string | TFiller | null, inlineStyle?: boolean) => string;
39
39
  export declare const createSVGRect: (color: string, { left, top, width, height }: TBBox, precision?: number) => string;
40
40
  //# sourceMappingURL=svgParsing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"svgParsing.d.ts","sourceRoot":"","sources":["../../../../src/util/misc/svgParsing.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAoB,MAAM,gBAAgB,CAAC;AAI9E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,cAAc,aA2BpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,iBAAgC,WA0BxE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAaF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,GAC5C,WAAW,MAAM,KAChB,iBAWF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,QAAQ,GAAG,EACX,qBAAkB,WA0BnB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EACb,8BAA8B,KAAK,EACnC,kBAAsC,WAOvC,CAAC"}
1
+ {"version":3,"file":"svgParsing.d.ts","sourceRoot":"","sources":["../../../../src/util/misc/svgParsing.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EAEd,OAAO,EACR,MAAM,gBAAgB,CAAC;AAKxB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,cAAc,aA2BpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,iBAAgC,WA0BxE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAaF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,GAC5C,WAAW,MAAM,KAChB,iBAWF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,QAAQ,MAAM,GAAG,OAAO,GAAG,IAAI,EAC/B,qBAAkB,WAgCnB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EACb,8BAA8B,KAAK,EACnC,kBAAsC,WAOvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/path/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAW,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKnE,OAAO,KAAK,EAEV,gBAAgB,EAChB,gCAAgC,EAChC,gBAAgB,EAChB,WAAW,EAEX,eAAe,EAKf,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAsLpC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,WAAW,CAoFb;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,MAAM,EACV,IAAI,MAAM,EACV,wCAAwC,iBAAiB,KACxD,gCAAgC,EAYlC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,gBAAgB,KAAG,eA4JxD,CAAC;AA0KF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,eAAe,KACpB,gBAAgB,EAkGlB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,eAAe,EACrB,UAAU,MAAM,EAChB,QAAO,gBAAgB,EAA8B,KACpD,WAAW,GAAG,SAoChB,CAAC;AAgBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,GAAI,YAAY,MAAM,KAAG,gBA4C9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,KAAK,EAAE,EACf,mBAAc,KACb,eA0CF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,eAAe,EACrB,WAAW,MAAM,EACjB,YAAY,KAAK,KAChB,eA2BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,QAAQ,MAAM,KACb,eAgBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAU,eAAe,EAAE,iBAAiB,MAAM,WAY7D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/path/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAW,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKnE,OAAO,KAAK,EAEV,gBAAgB,EAChB,gCAAgC,EAChC,gBAAgB,EAChB,WAAW,EAEX,eAAe,EAKf,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAsLpC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,WAAW,CAoFb;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,MAAM,EACV,IAAI,MAAM,EACV,wCAAwC,iBAAiB,KACxD,gCAAgC,EAYlC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,gBAAgB,KAAG,eA4JxD,CAAC;AA0KF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,eAAe,KACpB,gBAAgB,EAkGlB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,eAAe,EACrB,UAAU,MAAM,EAChB,QAAO,gBAAgB,EAA8B,KACpD,WAAW,GAAG,SAoChB,CAAC;AAgBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,GAAI,YAAY,MAAM,KAAG,gBA6C9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,KAAK,EAAE,EACf,mBAAc,KACb,eA0CF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,eAAe,EACrB,WAAW,MAAM,EACjB,YAAY,KAAK,KAChB,eA2BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,QAAQ,MAAM,KACb,eAgBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAU,eAAe,EAAE,iBAAiB,MAAM,WAY7D,CAAC"}
@@ -224,25 +224,19 @@ export function ghostScalePositionHandler(
224
224
  const vpt = fabricObject.getViewportTransform();
225
225
  const _finalMatrix = util.multiplyTransformMatrices(vpt, matrix);
226
226
 
227
- let x = 0;
228
- let y = 0;
229
- if (this.x < 0) {
230
- x = -fabricObject.width / 2 - fabricObject.cropX;
231
- } else {
232
- x =
233
- fabricObject.getElement().width -
234
- fabricObject.width / 2 -
235
- fabricObject.cropX;
236
- }
237
-
238
- if (this.y < 0) {
239
- y = -fabricObject.height / 2 - fabricObject.cropY;
240
- } else {
241
- y =
242
- fabricObject.getElement().height -
243
- fabricObject.height / 2 -
244
- fabricObject.cropY;
245
- }
227
+ const x =
228
+ this.x < 0
229
+ ? -fabricObject.width / 2 - fabricObject.cropX
230
+ : fabricObject.getElement().width -
231
+ fabricObject.width / 2 -
232
+ fabricObject.cropX;
233
+
234
+ const y =
235
+ this.y < 0
236
+ ? -fabricObject.height / 2 - fabricObject.cropY
237
+ : fabricObject.getElement().height -
238
+ fabricObject.height / 2 -
239
+ fabricObject.cropY;
246
240
  return new Point(x, y).transform(_finalMatrix);
247
241
  }
248
242
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "fabric",
3
3
  "description": "Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.",
4
4
  "homepage": "http://fabricjs.com/",
5
- "version": "7.3.1",
5
+ "version": "7.4.0",
6
6
  "author": "Juriy Zaytsev <kangax@gmail.com>",
7
7
  "contributors": [
8
8
  {
@@ -65,30 +65,30 @@
65
65
  "prepare": "husky install"
66
66
  },
67
67
  "devDependencies": {
68
- "@eslint/js": "^9.37.0",
68
+ "@eslint/js": "^10.0.1",
69
69
  "@playwright/test": "^1.58.2",
70
70
  "@rollup/plugin-terser": "^1.0.0",
71
71
  "@types/jsdom": "^21.1.7",
72
72
  "@types/micromatch": "^4.0.10",
73
73
  "@types/node": "^24.7.0",
74
- "@vitest/browser-playwright": "4.1.3",
75
- "@vitest/coverage-v8": "4.1.3",
76
- "@vitest/ui": "4.1.3",
74
+ "@vitest/browser-playwright": "4.1.5",
75
+ "@vitest/coverage-v8": "4.1.5",
76
+ "@vitest/ui": "4.1.5",
77
77
  "commander": "^14.0.3",
78
- "es-toolkit": "1.45.1",
78
+ "es-toolkit": "1.46.0",
79
79
  "eslint-config-prettier": "^10.1.8",
80
80
  "husky": "^9.1.7",
81
81
  "inquirer": "^13.3.2",
82
82
  "lint-staged": "^16.4.0",
83
83
  "micromatch": "^4.0.8",
84
- "oxfmt": "^0.42.0",
84
+ "oxfmt": "^0.45.0",
85
85
  "ps-list": "^9.0.0",
86
86
  "rolldown": "^1.0.0-rc.12",
87
87
  "serve": "^14.2.6",
88
88
  "tsc-files": "^1.1.4",
89
- "typescript": "^6.0.2",
90
- "typescript-eslint": "^8.58.0",
91
- "vitest": "4.1.3",
89
+ "typescript": "^6.0.3",
90
+ "typescript-eslint": "^8.58.2",
91
+ "vitest": "4.1.5",
92
92
  "westures": "^1.1.1"
93
93
  },
94
94
  "engines": {
@@ -6,7 +6,7 @@ Layout manager exposes a main public method that performs group layout given a t
6
6
 
7
7
  The layout manager will calculate the size and position of the group when is created or updated
8
8
  The FitContent strategy is the classic fabric 5.x group and will grow or shrink when objects are added or removed.
9
- In general the expectation is that wrapping objects in a group without specifying a new postion or transformations wont change the object visual position, the position of the objects will be the same that those object would have had on the canvas if they weren't on the group. Theyr coordinates will change to adapt to the group structure.
9
+ In general the expectation is that wrapping objects in a group without specifying a new position or transformations won't change the object visual position, the position of the objects will be the same that those object would have had on the canvas if they weren't on the group. Their coordinates will change to adapt to the group structure.
10
10
  This is a legacy behaviour that carries over this new code.
11
11
  The behaviour is not important if you are building a group from scratch and you are adding it in a specific position or requesting a specific transform ( scaleX, angle, etc ). In that case the original position is meaningless and is overridden with your transform.
12
12
 
@@ -28,7 +28,7 @@ When larger or smaller than the actual boundingbox the group is centered on the
28
28
 
29
29
  The Fixed layout strategy is the only strategy in which the developer can change the width and height of the group at will without having it reset when adding or removing objects.
30
30
 
31
- It must be clear that is also possible change width and height of the group in the other cases, but that is an ephemeral change that gets resetted at the next performLayout
31
+ It must be clear that is also possible change width and height of the group in the other cases, but that is an ephemeral change that gets reset at the next performLayout
32
32
 
33
33
  ### Clippath layout strategy
34
34
 
@@ -60,7 +60,7 @@ performLayout -> onBeforeLayout -> getLayoutResult -> commitLayout -> onAfterLay
60
60
  The flow has the following goals/features:
61
61
 
62
62
  - alerting the user a layout ends and finish
63
- - subscribe to object events in order to preform layout on change
63
+ - subscribe to object events in order to perform layout on change
64
64
  - calculate group new size and position
65
65
  - move the objects to their new position relative to the group center.
66
66
 
@@ -1947,6 +1947,25 @@ describe('StaticCanvas', () => {
1947
1947
  canvas.viewportTransform = StaticCanvas.getDefaults().viewportTransform;
1948
1948
  });
1949
1949
 
1950
+ it('returns the scale magnitude when viewport transform encodes rotation', () => {
1951
+ const cos = Math.SQRT1_2,
1952
+ sin = Math.SQRT1_2;
1953
+ canvas.setViewportTransform([cos, sin, -sin, cos, 0, 0] as TMat2D);
1954
+ expect(canvas.getZoom()).toBeCloseTo(1);
1955
+
1956
+ canvas.setViewportTransform([
1957
+ 2 * cos,
1958
+ 2 * sin,
1959
+ -2 * sin,
1960
+ 2 * cos,
1961
+ 0,
1962
+ 0,
1963
+ ] as TMat2D);
1964
+ expect(canvas.getZoom()).toBeCloseTo(2);
1965
+
1966
+ canvas.viewportTransform = StaticCanvas.getDefaults().viewportTransform;
1967
+ });
1968
+
1950
1969
  it('sets zoom level correctly', () => {
1951
1970
  expect(canvas.setZoom).toBeTypeOf('function');
1952
1971
 
@@ -27,7 +27,11 @@ import {
27
27
  import { runningAnimations } from '../util/animation/AnimationRegistry';
28
28
  import { uid } from '../util/internals/uid';
29
29
  import { createCanvasElementFor, toBlob, toDataURL } from '../util/misc/dom';
30
- import { invertTransform, transformPoint } from '../util/misc/matrix';
30
+ import {
31
+ calcPlaneZoom,
32
+ invertTransform,
33
+ transformPoint,
34
+ } from '../util/misc/matrix';
31
35
  import type { EnlivenObjectOptions } from '../util/misc/objectEnlive';
32
36
  import {
33
37
  enlivenObjectEnlivables,
@@ -347,11 +351,11 @@ export class StaticCanvas<
347
351
  }
348
352
 
349
353
  /**
350
- * Returns canvas zoom level
354
+ * Returns the canvas zoom level as the magnitude of the viewport scale.
351
355
  * @return {Number}
352
356
  */
353
357
  getZoom() {
354
- return this.viewportTransform[0];
358
+ return calcPlaneZoom(this.viewportTransform);
355
359
  }
356
360
 
357
361
  /**
@@ -494,7 +494,7 @@ export class Resize extends BaseFilter<'Resize', ResizeOwnProps> {
494
494
  for (let j = 0; j < dH; j++) {
495
495
  for (let i = 0; i < dW; i++) {
496
496
  const x2 = (i + j * dW) * 4;
497
- let weight = 0;
497
+ let weight: number;
498
498
  let weights = 0;
499
499
  let weightsAlpha = 0;
500
500
  let gxR = 0;
@@ -232,6 +232,34 @@ describe('Gradient', () => {
232
232
  const obj = new FabricObject({ width: 100, height: 100 });
233
233
  expect(gradient.toSVG(obj)).toEqualSVG(SVG_RADIAL_PERCENTAGE);
234
234
  });
235
+
236
+ test('toSVG preserves safe modern CSS stop colors', () => {
237
+ const gradient = new Gradient({
238
+ type: 'linear',
239
+ colorStops: [
240
+ { offset: 0, color: 'currentColor' },
241
+ { offset: 0.5, color: 'var(--theme-primary)' },
242
+ { offset: 1, color: 'oklch(62% 0.25 29)' },
243
+ ],
244
+ });
245
+ const obj = new FabricObject({ width: 100, height: 100 });
246
+ const svg = gradient.toSVG(obj);
247
+
248
+ expect(svg).toContain('style="stop-color:currentColor;"');
249
+ expect(svg).toContain('style="stop-color:var(--theme-primary);"');
250
+ expect(svg).toContain('style="stop-color:oklch(62% 0.25 29);"');
251
+ });
252
+
253
+ test('toSVG escapes safe stop colors in XML attributes', () => {
254
+ const gradient = new Gradient({
255
+ type: 'linear',
256
+ colorStops: [{ offset: 0, color: 'red&blue' }],
257
+ });
258
+ const obj = new FabricObject({ width: 100, height: 100 });
259
+ const svg = gradient.toSVG(obj);
260
+
261
+ expect(svg).toContain('style="stop-color:red&amp;blue;"');
262
+ });
235
263
  });
236
264
 
237
265
  test('properties radialGradient', () => {
@@ -781,8 +809,39 @@ describe('Gradient', () => {
781
809
  describe('Attrivbute injection', () => {
782
810
  it('id injection', () => {
783
811
  const gradient = new Gradient({ id: 'malicious"><script>' });
784
- const svg = gradient.toSVG({} as any);
812
+ const svg = gradient.toSVG(new FabricObject({ width: 100, height: 100 }));
785
813
  expect(svg).toContain('id="SVGID_malicious&quot;&gt;&lt;script&gt;');
786
814
  });
815
+
816
+ it('stop color HTML injection', () => {
817
+ const gradient = new Gradient({
818
+ colorStops: [
819
+ { offset: 0, color: 'red"><img src="x" onerror="alert(1)">' },
820
+ ],
821
+ });
822
+ const svg = gradient.toSVG(new FabricObject({ width: 100, height: 100 }));
823
+ expect(svg).not.toContain('<img');
824
+ expect(svg).not.toContain('onerror=');
825
+ expect(svg).not.toContain('red"><img src="x" onerror="alert(1)">');
826
+ expect(svg).toContain('style="stop-color:rgba(0,0,0,1);"');
827
+ });
828
+
829
+ it('stop color CSS declaration injection', () => {
830
+ const gradient = new Gradient({
831
+ colorStops: [{ offset: 0, color: 'red;stop-opacity:0' }],
832
+ });
833
+ const svg = gradient.toSVG(new FabricObject({ width: 100, height: 100 }));
834
+ expect(svg).not.toContain('stop-opacity:0');
835
+ expect(svg).toContain('style="stop-color:rgba(0,0,0,1);"');
836
+ });
837
+
838
+ it('stop color rejects url-based payloads', () => {
839
+ const gradient = new Gradient({
840
+ colorStops: [{ offset: 0, color: 'url(javascript:alert(1))' }],
841
+ });
842
+ const svg = gradient.toSVG(new FabricObject({ width: 100, height: 100 }));
843
+ expect(svg).not.toContain('javascript:');
844
+ expect(svg).toContain('style="stop-color:rgba(0,0,0,1);"');
845
+ });
787
846
  });
788
847
  });
@@ -3,6 +3,7 @@ import { parseTransformAttribute } from '../parser/parseTransformAttribute';
3
3
  import type { FabricObject } from '../shapes/Object/FabricObject';
4
4
  import type { TMat2D } from '../typedefs';
5
5
  import { uid } from '../util/internals/uid';
6
+ import { isSafeSvgStyleValue } from '../util/internals/svgExportCheck';
6
7
  import { pick } from '../util/misc/pick';
7
8
  import { matrixToSVG } from '../util/misc/svgExport';
8
9
  import { linearDefaultCoords, radialDefaultCoords } from './constants';
@@ -19,6 +20,7 @@ import type {
19
20
  SerializedGradientProps,
20
21
  } from './typedefs';
21
22
  import { classRegistry } from '../ClassRegistry';
23
+ import { Color } from '../color/Color';
22
24
  import { isPath } from '../util/typeAssertions';
23
25
  import { escapeXml } from '../util/lang_string';
24
26
 
@@ -282,10 +284,15 @@ export class Gradient<
282
284
  });
283
285
  }
284
286
  }
285
- // todo make a malicious script tag injection test with color and also apply a fix with escapeXml
286
287
  colorStops.forEach(({ color, offset }) => {
288
+ const rawColor = String(color);
289
+ // `escapeXml` protects the SVG attribute, but the value is also embedded in
290
+ // a CSS declaration, so reject tokens that can break either context.
291
+ const serializedColor = isSafeSvgStyleValue(rawColor)
292
+ ? rawColor
293
+ : new Color(rawColor).toRgba();
287
294
  markup.push(
288
- `<stop offset="${offset * 100}%" style="stop-color:${color};"/>\n`,
295
+ `<stop offset="${offset * 100}%" style="stop-color:${escapeXml(serializedColor)};"/>\n`,
289
296
  );
290
297
  });
291
298
 
@@ -13,19 +13,19 @@ export type ColorStop = {
13
13
 
14
14
  export type LinearGradientCoords<T extends GradientCoordValue> = {
15
15
  /**
16
- * X coordiante of the first point
16
+ * X coordinate of the first point
17
17
  */
18
18
  x1: T;
19
19
  /**
20
- * Y coordiante of the first point
20
+ * Y coordinate of the first point
21
21
  */
22
22
  y1: T;
23
23
  /**
24
- * X coordiante of the second point
24
+ * X coordinate of the second point
25
25
  */
26
26
  x2: T;
27
27
  /**
28
- * Y coordiante of the second point
28
+ * Y coordinate of the second point
29
29
  */
30
30
  y2: T;
31
31
  };
@@ -36,15 +36,15 @@ export type RadialGradientCoords<T extends GradientCoordValue> = {
36
36
  */
37
37
  x1: T;
38
38
  /**
39
- * Y coordiante of the first focal point
39
+ * Y coordinate of the first focal point
40
40
  */
41
41
  y1: T;
42
42
  /**
43
- * X coordiante of the second focal point
43
+ * X coordinate of the second focal point
44
44
  */
45
45
  x2: T;
46
46
  /**
47
- * Y coordiante of the second focal point
47
+ * Y coordinate of the second focal point
48
48
  */
49
49
  y2: T;
50
50
  /**
@@ -27,8 +27,6 @@ export function applyViewboxTransform(
27
27
  const viewBoxAttr: string | null = element.getAttribute('viewBox');
28
28
  let scaleX = 1;
29
29
  let scaleY = 1;
30
- let minX = 0;
31
- let minY = 0;
32
30
  let matrix;
33
31
  let el;
34
32
  const widthAttr = element.getAttribute('width');
@@ -79,8 +77,8 @@ export function applyViewboxTransform(
79
77
  }
80
78
 
81
79
  const pasedViewBox = viewBoxAttr.match(reViewBoxAttrValue)!;
82
- minX = -parseFloat(pasedViewBox[1]);
83
- minY = -parseFloat(pasedViewBox[2]);
80
+ const minX = -parseFloat(pasedViewBox[1]);
81
+ const minY = -parseFloat(pasedViewBox[2]);
84
82
  const viewBoxWidth = parseFloat(pasedViewBox[3]);
85
83
  const viewBoxHeight = parseFloat(pasedViewBox[4]);
86
84
  parsedDim.minX = minX;
@@ -671,7 +671,6 @@ export class IText<
671
671
  for (let i = startLine; i <= endLine; i++) {
672
672
  const lineOffset = this._getLineLeftOffset(i) || 0;
673
673
  let lineHeight = this.getHeightOfLine(i),
674
- realLineHeight = 0,
675
674
  boxStart = 0,
676
675
  boxEnd = 0;
677
676
 
@@ -694,7 +693,7 @@ export class IText<
694
693
  charSpacing;
695
694
  }
696
695
  }
697
- realLineHeight = lineHeight;
696
+ const realLineHeight = lineHeight;
698
697
  if (this.lineHeight < 1 || (i === endLine && this.lineHeight > 1)) {
699
698
  lineHeight /= this.lineHeight;
700
699
  }
@@ -142,21 +142,21 @@ describe('IText cursor animation snapshot', () => {
142
142
  vi.useRealTimers();
143
143
  });
144
144
  test('initDelayedCursor false - with delay', () => {
145
- const iText = new IText('', { canvas: {} });
145
+ const iText = new IText('', { canvas: { getZoom: () => 1 } });
146
146
  iText.initDelayedCursor();
147
147
  vi.advanceTimersByTime(2000);
148
148
  expect(currentAnimation).toMatchSnapshot();
149
149
  iText.abortCursorAnimation();
150
150
  });
151
151
  test('initDelayedCursor true - with NO delay', () => {
152
- const iText = new IText('', { canvas: {} });
152
+ const iText = new IText('', { canvas: { getZoom: () => 1 } });
153
153
  iText.initDelayedCursor(true);
154
154
  vi.advanceTimersByTime(2000);
155
155
  expect(currentAnimation).toMatchSnapshot();
156
156
  iText.abortCursorAnimation();
157
157
  });
158
158
  test('selectionStart/selection end will abort animation', () => {
159
- const iText = new IText('asd', { canvas: {} });
159
+ const iText = new IText('asd', { canvas: { getZoom: () => 1 } });
160
160
  iText.initDelayedCursor(true);
161
161
  vi.advanceTimersByTime(160);
162
162
  iText.selectionStart = 0;
@@ -166,7 +166,7 @@ describe('IText cursor animation snapshot', () => {
166
166
  iText.abortCursorAnimation();
167
167
  });
168
168
  test('exiting from a canvas will abort animation', () => {
169
- const iText = new IText('asd', { canvas: {} });
169
+ const iText = new IText('asd', { canvas: { getZoom: () => 1 } });
170
170
  iText.initDelayedCursor(true);
171
171
  vi.advanceTimersByTime(160);
172
172
  iText.canvas = undefined;
@@ -175,7 +175,7 @@ describe('IText cursor animation snapshot', () => {
175
175
  iText.abortCursorAnimation();
176
176
  });
177
177
  test('Animation is configurable - fast cursor with delay', () => {
178
- const iText = new IText('', { canvas: {} });
178
+ const iText = new IText('', { canvas: { getZoom: () => 1 } });
179
179
  iText.cursorDelay = 200;
180
180
  iText.cursorDuration = 80;
181
181
  iText.initDelayedCursor();
@@ -184,7 +184,7 @@ describe('IText cursor animation snapshot', () => {
184
184
  iText.abortCursorAnimation();
185
185
  });
186
186
  test('Animation is configurable - fast cursor with no delay', () => {
187
- const iText = new IText('', { canvas: {} });
187
+ const iText = new IText('', { canvas: { getZoom: () => 1 } });
188
188
  iText.cursorDelay = 200;
189
189
  iText.cursorDuration = 80;
190
190
  iText.initDelayedCursor(true);